@charset "utf-8";
/*------------------------------------------------------------
	about
------------------------------------------------------------*/
#main {
	overflow: hidden;
}
.comPageTitle .jp::before {
	background-color: #74D0F5;
}
/* protectBox */
#main .protectBox {
	padding: 18.6rem 12rem 14.7rem 0;
}
#main .protectBox .textBox {
	margin: 3rem 0 0 6.3rem;
	width: 61.3rem;
	font-size: 2.4rem;
	font-weight: 700;
	line-height: 2.08;
	letter-spacing: 0.03em;
}
#main .protectBox .textBox p {
	margin-bottom: 5.1rem;
}
@media all and (max-width: 896px) {
	#main .protectBox {
		padding: 7rem 0 6rem;
	}
	#main .protectBox .textBox {
		margin: 3rem 0 0;
		width: 100%;
		font-size: 2rem;
		line-height: 1.8;
	}
	#main .protectBox .textBox p {
		margin-bottom: 2rem;
	}
}
/* bigPhoto */
#main .bigPhoto {
	width: 112.3rem;
	border-radius: 0 10rem 10rem 0;
	border: 0.6rem solid #000;
	border-left: none;
	overflow: hidden;
	position: relative;
	z-index: 1;
}
#main .bigPhoto img {
	width: 100%;
	max-height: 86rem;
	object-fit: cover;
	object-position: center top;
}
@media all and (max-width: 896px) {
	#main .bigPhoto {
		width: 90vw;
		border-radius: 0 5rem 5rem 0;
		border-width: 0.4rem;
	}
	#main .bigPhoto img {
		max-height: inherit;
	}
}
/* experience */
#main .experience {
	margin: -43.7rem 0 22.6rem auto;
	padding: 59.5rem 2rem 1px 14rem;
	width: 120.3rem;
	border-radius: 10rem 0 0 10rem;
	border: 0.5rem solid #000;
	border-right: none;
	background: #fff;
}
#main .experience .innerBox {
	position: relative;
}
#main .experience .headLine01 {
	margin-bottom: 5.1rem;
}
#main .experience .text {
	max-width: 82rem;
	font-size: 1.8rem;
	font-weight: 500;
	line-height: 2.222;
	letter-spacing: 0.03em;
}
#main .experience .comPosText {
	top: -15.5rem;
	left: calc(50% - 29rem);
}
#main .experience .button a {
	margin: 10.3rem 0 -10.4rem -8.7rem;
	width: 90.5rem;
	height: 34.4rem;
	border-radius: 17rem;
	font-size: 2rem;
	color: #fff;
	font-weight: 700;
	letter-spacing: 0.12em;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	border: 0.5rem solid #000;
	background: url(../img/common/arrow_icon02.png) no-repeat center right 6rem / 7.2rem,url(../img/about/photo02.jpg) no-repeat center top / cover;
	position: relative;
	z-index: 1;
	overflow: hidden;
}
#main .experience .button a::before {
	content: "";
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	background: #fff;
	transition: 0.3s;
	opacity: 0;
	pointer-events: none;
}
#main .experience .button .en {
	margin: 3.2rem auto 1.8rem;
	width: 24.8rem;
}
#main .experience .button .jp {
	padding: 0.2rem 3.2rem;
	background: #000;
	border-radius: 2rem;
}
@media all and (min-width: 897px) {
	#main .experience .button a:hover::before {
		opacity: 0.3;
	}
}
@media all and (min-width: 1301px) {
	#main .bigPhoto {
		width: auto;
		margin-right: calc((100vw - 89.6rem) / 2);
	}
	#main .experience {
		margin-left: calc((100vw - 110rem) / 2);
		width: auto;
	}
}
@media all and (max-width: 896px) {
	#main .experience {
		margin: -28vw 0 20rem auto;
		padding: 44vw 2rem 1px;
		width: 90vw;
		border-width: 0.4rem;
	}
	#main .experience .comPosText {
		top: -7.5rem;
		left: calc(50% - 11rem);
		right: 0;
	}
	#main .experience .headLine01 {
		margin-bottom: 2rem;
	}
	#main .experience .text {
		font-size: 1.6rem;
		line-height: 1.9;
		max-width: inherit;
	}
	#main .experience .button a {
		margin: 5rem 1rem -5rem 0;
		width: 100%;
		height: 17.4rem;
		font-size: 1.3rem;
		background-size: 3rem,cover;
		background-position: right 1rem center,center top;
	}
	#main .experience .button .en {
		margin: 1rem auto;
		width: 15.3rem;
	}
	#main .experience .button .jp {
		padding: 0.2rem 2.2rem;
	}

}
/* facilities */
#main .facilities {
	padding-bottom: 17.2rem;
	position: relative;
}
#main .facilities .comPosText {
	top: 4.7rem;
	left: calc(50% - 67rem);
}
#main .facilities .headLine01 {
	margin-bottom: 6.6rem;
	position: relative;
	z-index: 1;
}
#main .facilities .linkList {
	gap: 3.6rem 4rem;
	position: relative;
	z-index: 1;
}
#main .facilities .linkList li {
	width: calc(50% - 2rem);
	text-align: center;
	font-weight: 700;
	font-size: 3rem;
	letter-spacing: 0.08em;
	border-radius: 3rem;
	overflow: hidden;
	border: 0.5rem solid #000;
}
#main .facilities .linkList .photo {
	margin: -0.5rem -0.5rem 0;
}
#main .facilities .linkList img {
	width: 100%;
}
#main .facilities .linkList p {
	padding: 3.2rem 2rem 3.8rem;
	background: #fff;
}
@media all and (max-width: 896px) {
	#main .facilities {
		padding-bottom: 7rem;
	}
	#main .facilities .linkList {
		display: block;
	}
	#main .facilities .linkList li {
		margin-bottom: 2rem;
		width: 100%;
		font-size: 2rem;
		border-width: 0.3rem;
	}
	#main .facilities .linkList li:last-child {
		margin-bottom: 0;
	}
	#main .facilities .linkList p {
		padding: 1.5rem;
	}
}