@charset "utf-8";
/* CSS Document */

header {
	grid-area: header-contents;
	text-align: right;
}

.footerFixed {
  display: grid;
  grid-template-rows: 1fr min-content;
  grid-template-columns: 100%;
  min-height: 100vh;
}

#left-contents {
	grid-area: left-contents;
	background: rgba(39,127,194,0.6);
}
#middle-contents {
	grid-area: middle-contents;
}
#right-contents {
	grid-area: right-contents;
	background: rgba(255,255,255,0.8);
}

footer {
	background: #003871;
	background-size: 120%;
	padding: 15px;
	text-align: center;
	clear: both;
	color: #FFF;
	font-size: 1.3rem;
	width: 100%;
}

footer a:link {
	color: #FFF;
}
footer a:visited {
	color: #FFF;
}
footer a:hover {
	color: #CCC;
}
footer a:active {
	color: #CCC;
}

footer hr.hr01 {
	border: 0;
	border-top: 1px solid #8c8b8b;
	margin: 1em;
}

footer address {
	display: flex;
	gap: 3rem;
	justify-content: center;
	text-align: left;
}

/* バナー表示 */
.bn_area {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: center;
	padding: 5px;
	gap: 10px;
}

.bn_area img {
	width: 100%;
	height: auto;
	max-width: 210px; /* バナーの最大幅 */
}
.bn_area a:hover img {
	opacity: 0.7;
	filter: alpha(opacity=70);
	-ms-filter: "alpha(opacity=70)";
}

/* SNS表示 */
.sns_area {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: center;
	padding: 5px;
	gap: 5px;
	text-align: center;
}
.sns_area a:hover img {
	opacity: 0.7;
	filter: alpha(opacity=70);
	-ms-filter: "alpha(opacity=70)";
}

.pagetop {
	display: none;
	position: fixed;
	bottom: 20px;
	right: 15px;
}
.pagetop a {
	display: block;
	background: #008388;
	text-align: center;
  color: #fff;
  font-size: 30px;
	text-decoration: none;
	padding: 10px 15px;
	filter:alpha(opacity=90);
	-moz-opacity: 0.9;
  opacity: 0.9;
  border-radius: 9999px;
  transition: all .5s ease;
  line-height: 1;
  z-index: 99;
}
.pagetop a:hover {
	display: block;
	background: #008388;
	text-align: center;
	text-decoration: none;
	filter:alpha(opacity=70);
	-moz-opacity: 0.7;
  opacity: 0.7;
}

/* 表示領域が991.98px以下の場合に適用するスタイル */
@media print, screen and (max-width: 991.98px) {
	footer {
		background-size: 1500px;
		background-position: bottom center;
	}
	footer .logo img {
		padding: 0 50px;
	}
  .pcOnly {
    display: none !important;
  }
	.fixed-bottom {
		position: static;
	}
}

/* 表示領域が767.98px以下の場合に適用するスタイル */
@media print, screen and (max-width: 767.98px) {
	footer address {
		flex-direction: column;
		gap: 1rem;
	}
}


/* 表示領域が992px以上の場合に適用するスタイル */
@media only screen and (min-width: 992px) {
	.spOnly { display: none !important; }
}
/* スマートフォンで見たときは"sp"のclassがついた画像が表示される */
@media only screen and (max-width: 767.98px) {
	.pcOnly2 { display: none !important; }
	.spOnly2 { display: block !important; }
}
/* スマートフォンで見たときは"pc"のclassがついた画像が表示される */
@media only screen and (min-width: 768px) {
	.pcOnly2 { display: block !important; }
	.spOnly2 { display: none !important; }
}

/* スマートフォンで見たときは"sp"のclassがついた画像が表示される */
@media only screen and (max-width: 575.98px) {
	.pcOnly3 { display: none !important; }
	.spOnly3 { display: block !important; }
}
/* スマートフォンで見たときは"pc"のclassがついた画像が表示される */
@media only screen and (min-width: 576px) {
	.pcOnly3 { display: block !important; }
	.spOnly3 { display: none !important; }
}