@charset "utf-8";
/*------------------------------------------------------------
	facilities
------------------------------------------------------------*/
.pageTitle {
	margin-bottom: 10rem;
	background-image: url(../img/about/facilities/page_photo.jpg);
}	
#main .centerText {
	margin-bottom: 6rem;
	text-align: center;
	line-height: 2;
}
#main .introduct .greyBox {
	padding: 8rem 0 10rem;
	background-color: #EEE;
}
#main .introduct .greyBox .content {
	max-width: 110rem;
}
#main .introduct .greyBox .title {
	margin-bottom: 5rem;
	text-align: center;
	font-size: 3.2rem;
	font-weight: 700;
	line-height: 1.3;
	color: #000;
}
#main .introduct .greyBox .title .color {
	color: #CC0012;
}
#main .introduct .greyBox .equipBox {
	margin-bottom: 5rem;
	padding: 8rem 10rem;
	background-color: #FFF;
	border-radius: 2rem;
}
#main .introduct .greyBox .equipBox:last-of-type {
	margin-bottom: 0;
}
#main .introduct .greyBox .equipBox .text {
	margin-bottom: 4.1rem;
	line-height: 2;
	text-align: justify;
}
#main .introduct .greyBox .equipBox .photoUl {
	border-radius: 2rem;
	overflow: hidden;
}
#main .introduct .greyBox .equipBox .photoUl li {
	width: 50%;
}
#main .introduct .greyBox .equipBox .photoUl img {
	width: 100%;
}
#main .introduct .greyBox .innerBox {
	padding: 5rem 10rem;
	border-radius: 2rem;
	overflow: hidden;
	position: relative;
	background: linear-gradient(190deg, #333 0%, #555 100%);
}
#main .introduct .greyBox .innerBox::after {
	position: absolute;
	width: 19.1rem;
	top: 0;
	right: 0;
	bottom: 0;
	content: "";
	z-index: 1;
	pointer-events: none;
	background: url(../img/about/facilities/introduct_img01.png) no-repeat right top / 19.1rem;
}
#main .introduct .greyBox .innerBox p {
	color: #fff;
	font-size: 2rem;
	line-height: 2;
	font-weight: 700;
}
#main .access {
	padding-top: 8.9rem;
}
#main .access .content {
	max-width: 100rem;
}
#main .access .centerText {
	margin-bottom: 5rem;
}
#main .access .accessBox {
	margin-bottom: 5rem;
	padding: 6rem 8rem;
	background-color: #EEE;
	border-radius: 2rem;
}
#main .access .accessBox:last-of-type {
	margin-bottom: 0;
}
#main .access .accessBox .imgBox {
	margin-bottom: 5rem;
	align-items: flex-start;
}
#main .access .accessBox .imgBox .textBox {
	margin-right: 4rem;
	flex: 1;
}
#main .access .accessBox .imgBox .textBox .headLine03 {
	margin-bottom: 2.8rem;
	line-height: 1;
	letter-spacing: 0;
}
#main .access .accessBox .imgBox .textBox .text {
	margin-bottom: 1.6rem;
}
#main .access .accessBox .imgBox .textBox .text:last-of-type {
	margin-bottom: 0;
}
#main .access .accessBox .imgBox .btn {
	margin-top: 3rem;
	width: 25.3rem;
}
#main .access .accessBox .imgBox .btn a {
	padding: 1.2rem 2.1rem 1.2rem 2.9rem;
	text-align: center;
	display: block;
	color: #fff;
	font-weight: 700;
	border-radius: 2.5rem;
	background-color: #CC0012;
	border: 1px solid #CC0012;
}
#main .access .accessBox .imgBox .btn span {
	padding-right: 3.5rem;
	transition: .3s;
	background: url(../img/common/icon01_white.png) no-repeat right 1rem top calc(50% + 0.1rem) / 1.4rem;
}
#main .access .accessBox .imgBox .photoBox {
	width: 40rem;
	border-radius: 2rem;
	overflow: hidden;
}
#main .access .accessBox .mapBox {
	aspect-ratio: 840/472;
	line-height: 0;
}
#main .access .accessBox .mapBox iframe {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
#main .access .accessBox > .title {
	padding-bottom: 1.2rem;
	margin: 4.7rem 0 1.9rem;
	position: relative;
	color: #CC0012;
}
#main .access .accessBox > .title::after {
	position: absolute;
	bottom: 0;
	left: 0;
	z-index: 1;
	content: "";
	width: 2rem;
	height: 1px;
	background-color: #CC0012;
}
#main .access .accessBox > .text {
	line-height: 2;
}
@media all and (min-width: 897px) {
	#main .access .accessBox .imgBox .btn a:hover {
		background-color: #fff;
		color: #000;
		border-color: #000;
	}
	#main .access .accessBox .imgBox .btn a:hover span {
		background-image: url(../img/common/icon01.png);
		background-position: right top calc(50% + 0.1rem);
	}
}
@media all and (max-width: 896px) {
	.pageTitle {
		margin-bottom: 5rem;
		background-image: url(../img/about/facilities/page_photo_sp.jpg);
	}	
	#main .centerText {
		margin-bottom: 4.4rem;
		text-align: left;
	}
	#main .introduct .greyBox {
		padding: 5rem 0;
	}
	#main .introduct .greyBox .title {
		margin-bottom: 4rem;
		font-size: 2rem;
	}
	#main .introduct .greyBox .equipBox {
		padding: 4rem 3rem;
	}
	#main .introduct .greyBox .equipBox .text {
		margin-bottom: 3rem;
	}
	#main .introduct .greyBox .equipBox .photoUl {
		display: block;
	}
	#main .introduct .greyBox .equipBox .photoUl li {
		width: auto;
	}
	#main .introduct .greyBox .innerBox {
		padding: 3rem 3rem 2.4rem;
	}
	#main .introduct .greyBox .innerBox::after {
		width: 19.1rem;
		background-position: right -2.4rem bottom;
		background-size: 10.5rem auto;
		background-image: url(../img/about/facilities/introduct_img01_sp.png);
	}
	#main .introduct .greyBox .innerBox p {
		font-size: 1.4rem;
	}
	#main .access {
		padding-top: 4.5rem;
	}
	#main .access .centerText {
		margin-bottom: 3.3rem;
	}
	#main .access .accessBox {
		padding: 4rem 3rem;
	}
	#main .access .accessBox .imgBox {
		margin-bottom: 3rem;
		display: block;
	}
	#main .access .accessBox .imgBox .textBox {
		margin: 0 0 3rem;
	}
	#main .access .accessBox .imgBox .textBox .headLine03 {
		margin-bottom: 2.8rem;
		line-height: 1;
		letter-spacing: 0;
	}
	#main .access .accessBox .imgBox .textBox .text {
		margin-bottom: 1.6rem;
	}
	#main .access .accessBox .imgBox .textBox .text:last-of-type {
		margin-bottom: 0;
	}
	#main .access .accessBox .imgBox .btn {
		width: 17.7rem;
	}
	#main .access .accessBox .imgBox .btn a {
		padding: 0.8rem 2rem 0.8rem 1.9rem;
		font-size: 1.12rem;
	}
	#main .access .accessBox .imgBox .btn span {
		padding-right: 1.8rem;
		background-size: 1rem auto;
		background-position:  right center;
	}
	#main .access .accessBox .imgBox .photoBox {
		width: auto;
	}
	#main .access .accessBox .mapBox {
		aspect-ratio: 290/163;
	}
	#main .access .accessBox > .title {
		padding-bottom: 1.2rem;
		margin: 4.7rem 0 1.9rem;
		position: relative;
		color: #CC0012;
	}
	#main .access .accessBox > .title::after {
		position: absolute;
		bottom: 0;
		left: 0;
		z-index: 1;
		content: "";
		width: 2rem;
		height: 1px;
		background-color: #CC0012;
	}
	#main .access .accessBox > .text {
		line-height: 2;
	}
}