@charset "UTF-8";



/* ------------------------------
	.head_ttl_box
------------------------------ */
.head_ttl_box{
	background: url(../img/facility/head_ttl_img.jpg) no-repeat center center;
	background-size: cover;
}


@media screen and (max-width: 768px) {
	.head_ttl_box{
		background: url(../img/facility/head_ttl_img_sp.jpg) no-repeat center center;
		background-size: cover;
	}
}



/* ------------------------------
	.facility
------------------------------ */
.facility{
	position: relative;
	padding: 100px 0;
}

.facility_ttl{
	position: relative;
	padding-bottom: 35px;
	margin-bottom: 20px;
	font-size: 2.1rem;
	text-align: center;
	line-height: 1.8;
}
.facility_ttl::before{
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
	content: "";
	display: block;
	width: 90px;
	border-bottom: 2px solid #253a62;
}

.facility_box{
	position: relative;
	display: flex;
	align-items: center;
	width: 100%;
	height: 52vw;
	max-width: 1400px;
	max-height: 700px;
	min-height: 650px;
	padding-top: 140px;
	margin: 100px auto 0;
	overflow: hidden;
}
.facility_box.long{
	height: 65vw;
	max-height: 750px;
}

.facility_box > .img,
.facility_box > .img img{
	width: 100%;
}
.facility_box > .img{
	position: absolute;
	z-index: 1;
	top: 0;
	left: 0;
	height: 100%;
}

@media screen and (min-width: 769px) {
	.facility_box > .img img{
		height: 100%;
		object-fit: cover;
	}

	.ie .facility_box{
		min-height: 0;
	}
	.ie .facility_box > .img img{
		height: auto;
	}
}

.facility_box .top_box{
	position: absolute;
	z-index: 3;
	top: 0;
	left: 0;
	display: flex;
	align-items: center;
	min-width: 290px;
	padding: 20px 35px 20px 17px;
	background: #fff;
}

.facility_box .top_box .logo{
	width: 80px;
	margin-right: 30px;
}

.facility_box .top_box .txt{
	font-size: 2.1rem;
	font-weight: bold;
	line-height: 1.8;
}

.facility_box .wrap{
	position: relative;
	z-index: 2;
}

.facility_box .txt_box .ttl{
	margin-bottom: 40px;
	font-size: 3.0rem;
	font-weight: bold;
	color: #fff;
	line-height: 1.6;
}

.facility_box .txt_box .txt{
	width: 360px;
	font-weight: bold;
	color: #fff;
	line-height: 2.2;
}

.facility_box .btn{
	margin-top: 40px;
}

.facility_box .btm_img_box{
	position: absolute;
	z-index: 2;
	right: 40px;
	bottom: 40px;
	display: flex;
}

.facility_box .btm_img_box .img + .img{
	margin-left: 25px;
}

.facility .ttl_wrap{
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 350px;
	margin-top: 100px;
	background: url(../img/facility/facility_bg01.jpg) no-repeat center center;
	background-size: cover;
}

.facility .ttl_wrap .str_ttl{
	color: #fff;
}


@media screen and (max-width: 768px){
	.facility{
		padding: 40px 0 50px;
	}

	.facility_ttl{
		padding-bottom: 15px;
		margin-bottom: 20px;
		font-size: 2.0rem;
	}
	.facility_ttl + .txt.center{
		text-align: left;
	}

	.facility_box{
		display: block;
		max-width: 100%;
		max-height: initial;
		min-height: 0;
		height: auto;
		padding: 0;
		margin-top: 50px;
	}
	.facility_box.long{
		max-height: initial;
		min-height: 0;
		height: auto;
	}

	.facility_box > .img{
		position: relative;
		height: auto;
		width: 100%;
		margin-bottom: 15px;
	}

	.facility_box .top_box{
		min-width: 0;
		padding: 10px 15px;
	}

	.facility_box .top_box .logo{
		width: 45px;
		margin-right: 15px;
	}

	.facility_box .top_box .txt{
		font-size: 1.5rem;
		line-height: 1.4;
	}

	.facility_box .txt_box .ttl{
		margin-bottom: 10px;
		color: #253a62;
		font-size: 1.8rem;
	}

	.facility_box .txt_box .txt{
		width: 100%;
		line-height: 1.8;
		color: #253a62;
		font-weight: normal;
	}

	.facility_box .btn{
		margin-top: 10px;
	}

	.btn.white{
		justify-content: center;
	}
	.btn.white a{
		color: #253a62;
	}

	.facility_box .btm_img_box{
		position: relative;
		right: 0;
		bottom: 0;
		justify-content: space-between;
		width: 92%;
		margin: 15px auto 0;
	}

	.facility_box .btm_img_box .img{
		width: 49%;
	}
	.facility_box .btm_img_box .img + .img{
		margin-left: 2%;
	}

	.facility .ttl_wrap{
		height: 150px;
		margin-top: 50px;
		background: url(../img/facility/facility_bg01_sp.jpg) no-repeat center center;
		background-size: cover;
	}
}