@charset "utf-8";

/* message */
.message .img_txt{
	display:flex;
	gap:85px;
	padding-top:50px;
}
.message .img_txt > p{
	position:relative;
	width:44%;
}
.message .img_txt > p::after{
	content:'Message';
	position:absolute;
	z-index:1;
	top:-35px;
	right:-180px;
	color:#2D4F7F;
	font-family:var(--font_lusitana);
	font-size:7.2rem;
	letter-spacing:1.44px;
	line-height:6.4rem;
}
.message .img_txt > div{
	width:56%;
	margin-top:95px;
}

/* outline */
.outline .img_txt{
	position:relative;
	padding-right:calc(40.5% + 50px);
}
.outline .img_txt p{margin-bottom:25px;}
.outline .img_txt p:nth-child(2){
	position:absolute;
	top:10px;
	right:0;
	width:40.5%;
}
.outline .img_txt strong{
	color:#2D4F7F;
	font-family:var(--font_serif);
	font-size:3.2rem;
	font-weight:500;
	letter-spacing:3.2px;
	line-height:4.7rem;
}
.policy_box{
	padding:75px 50px 30px;
	background:#F5F4EF;
	border-radius:5px;
}
.policy_box p{
	margin-bottom:80px;
	color:#2D4F7F;
	font-family:var(--font_serif);
	font-size:3.2rem;
	letter-spacing:3.2px;
	line-height:4.7rem;
	text-align:center;
}
.policy_box strong{font-weight:500;}
.policy_box ul{
	padding:50px 50px 30px 70px;
	background:#fff;
	border-radius:5px;
}
.access_box{
	display:grid;
	grid-template-columns:1fr 345px;
	gap:20px 30px;
}
.access_box .map{
	height:100%;
	padding:0;
}
.access_box p{margin:0;}
.access_box p:last-child{grid-column:1 / -1;}

/* staff */
.staff strong{
	color:#2D4F7F;
	font-family:var(--font_serif);
	font-size:3.2rem;
	font-weight:500;
	letter-spacing:3.2px;
	line-height:4.6rem;
}
.staff .img_txt{
	display:grid;
	grid-template-columns:1fr 1fr 1fr;
	gap:20px;
}
.staff .img_txt div{grid-column:2 / -1;}
.staff .img_txt > p{margin:0 !important;}
.staff_list{
	display:grid;
	grid-template-columns:1fr 1fr 1fr;
	gap:45px 20px;
	padding:0;
}
.staff_list li{
	list-style:none;
	margin:0;
}
.staff .img_txt p, .staff_list p:not(.staff_name){
	margin-bottom:5px;
	font-size:1.2rem;
	letter-spacing:1.2px;
	line-height:1.7rem;
}
.staff_list.has_image p:first-child{margin-bottom:25px;}
.staff .img_txt .staff_name, .staff_list p.staff_name{
	margin-bottom:12px !important;
	font-size:1.8rem;
	font-weight:bold;
	letter-spacing:1.8px;
	line-height:2.6rem;
}
.staff_name span{
	display:inline-block;
	margin-left:8px;
	color:#2D4F7F;
	font-size:1rem;
	font-weight:normal;
	letter-spacing:0.6px;
	line-height:1.5rem;
}
.staff .img_txt .staff_name ~ p, .staff_list p.staff_name + p{
	font-size:1.3rem;
	letter-spacing:0.78px;
	line-height:2.2rem;
}


@media screen and (min-width:768px) and (max-width:1024px){

/* message */
.message .img_txt{
	gap:40px;
	padding-top:35px;
}
.message .img_txt > p::after{
	right:-120px;
	font-size:6.2rem;
	letter-spacing:1.24px;
}
.message .img_txt > div{margin-top:65px;}

/* outline */
.outline .img_txt{padding-right:calc(40.5% + 40px);}
.outline .img_txt p{margin-bottom:20px;}
.outline .img_txt strong{
	font-size:2.3rem;
	letter-spacing:2.3px;
	line-height:3.3rem;
}
.policy_box{padding:55px 30px 30px;}
.policy_box p{
	margin-bottom:60px;
	font-size:2.5rem;
	letter-spacing:2.5px;
	line-height:3.6rem;
}
.policy_box ul{padding:40px 30px 25px 50px;}
.access_box{
	grid-template-columns:1fr 295px;
	gap:20px 25px;
}

/* staff */
.staff strong{
	font-size:2.6rem;
	letter-spacing:2.6px;
	line-height:3.8rem;
}
.staff .img_txt{gap:15px;}
.staff_list{gap:40px 15px;}
.staff_list.has_image p:first-child{margin-bottom:20px;}
.staff .img_txt .staff_name, .staff_list p.staff_name{
	font-size:1.7rem;
	letter-spacing:1.7px;
	line-height:2.5rem;
}

}


@media screen and (max-width:767px){

/* message */
.message .img_txt{
	gap:30px;
	padding-top:25px;
}
.message .img_txt > p::after{
	right:0;
	font-size:5.2rem;
	letter-spacing:1.04px;
}
.message .img_txt > div{margin:0;}

/* outline */
.outline .img_txt{padding-right:calc(40.5% + 30px);}
.outline .img_txt p{margin-bottom:15px;}
.outline .img_txt strong{
	font-size:1.8rem;
	letter-spacing:1.8px;
	line-height:3rem;
}
.policy_box{
	padding:35px 20px 25px;
	margin:0 -20px;
	border-radius:0;
}
.policy_box p{
	margin-bottom:40px;
	font-size:2rem;
	letter-spacing:2px;
	line-height:2.9rem;
}
.policy_box ul{padding:30px 20px 20px 30px;}
.access_box{
	grid-template-columns:1fr 245px;
	gap:20px;
}

/* staff */
.staff strong{
	font-size:1.8rem;
	letter-spacing:1.8px;
	line-height:3rem;
}
.staff .img_txt{
	grid-template-columns:1fr 1fr;
	gap:10px;
}
.staff_list{
	grid-template-columns:1fr 1fr;
	gap:35px 10px;
}
.staff_list.has_image p:first-child{margin-bottom:15px;}
.staff .img_txt .staff_name ~ p, .staff_list p.staff_name + p{
	font-size:1.4rem;
	letter-spacing:0.84px;
	line-height:2.6rem;
}

}


@media screen and (max-width:650px){

/* outline */
.outline .img_txt{padding:0;}
.outline .img_txt p:nth-child(2){
	position:static;
	width:auto;
}
.outline .img_txt p:last-child{text-align:center;}
.access_box{grid-template-columns:160px 1fr;}
.access_box > div{grid-column:1 / -1;}
.access_box p:last-child{grid-column:auto;}
.access_box .map{
	min-height:200px;
	height:0;
	padding-bottom:56.25%;
}

}


@media screen and (max-width:600px){

/* message */
.message .img_txt{display:block;}
.message .img_txt > p{
	max-width:415px;
	width:auto;
	margin:auto;
}
.message .img_txt > div{
	width:auto;
	margin-top:15px;
}

}


@media screen and (max-width:550px){

/* staff */
.staff .img_txt, .staff_list{display:block;}
.staff .img_txt > p{margin-bottom:15px !important;}
.staff_list li{margin-bottom:40px;}

}