@charset "utf-8";

.fixed_menu{
	position:fixed;
	z-index:2;
	bottom:0;
	left:0;
	width:200px;
	background:#F7F3F0;
	box-shadow:0px 3px 6px rgba(0,0,0,0.16);
	opacity:0;
	visibility:hidden;
	transition:opacity 0.3s, visibility 0.3s;
}
.fixed_menu.visible{
	opacity:1;
	visibility:visible;
}
.fixed_menu p{
	display:flex;
	align-items:center;
	position:relative;
	padding:11px 45px 11px 15px;
	margin:0;
	background:#49433F;
	color:#fff;
	font-size:1.2rem;
	letter-spacing:1.2px;
	line-height:1.7rem;
	cursor:pointer;
	transition:background 0.3s;
}
.fixed_menu p:hover{background:#625952;}
.fixed_menu p::before, .fixed_menu p::after{
	content:'';
	position:absolute;
	top:0;
	right:15px;
	bottom:0;
	width:15px;
	height:1px;
	margin:auto;
	background:#fff;
	transition:opacity 0.3s;
}
.fixed_menu p::after{transform:rotate(90deg);}
.fixed_menu p.open::after{opacity:0;}
.fixed_menu p span{
	margin-right:5px;
	font-family:var(--font_cormorant);
	font-size:2.2rem;
	font-weight:300;
	letter-spacing:1.1px;
	line-height:2.9rem;
}
.fixed_menu .page_link{
	display:block;
	padding:5px 15px 25px;
	margin:0;
}
.fixed_menu .page_link li{
	margin:0 0 5px;
	font-size:1.4rem;
	letter-spacing:1.4px;
	line-height:2rem;
}
.fixed_menu .page_link a{
	padding:10px 0 10px 22px;
	background:url(/img/common/arrow_r_black.svg) no-repeat top 17px left 2px;
}
.fixed_menu .page_link a::before, .fixed_menu .page_link a::after{
	left:0;
	width:100%;
}
.fixed_menu .page_link a::before{opacity:0.3;}
.fixed_menu .page_link a::after{background:#948D89;}

.column_2 > p, .column_2 > div:last-child{order:-1;}
.column_2 h4{margin-top:20px;}

.bg_box{
	padding:30px 30px 15px;
	margin-bottom:20px;
	background:#F7F3F0;
}
.bg_box h3{
	padding-bottom:20px;
	margin-top:0;
	text-align:center;
}
.bg_box h3::after{
	content:'';
	position:absolute;
	right:0;
	bottom:0;
	left:0;
	width:calc(100% - 16px);
	height:1px;
	margin:auto;
	background:#989898;
}
.bg_box h3 > span::before, .bg_box h3 > span::after{
	content:'';
	position:absolute;
	bottom:-1px;
	width:3px;
	height:3px;
	border-radius:50%;
	background:#989898;
}
.bg_box h3 > span::before{left:0;}
.bg_box h3 > span::after{right:0;}
.bg_box ul{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:25px 30px;
	padding:0 10px;
}
.bg_box li{
	list-style:none;
	margin:0;
}
.bg_box h4{
	padding-left:25px;
	margin:0 0 10px;
	font-size:1.8rem;
	letter-spacing:1.8px;
	line-height:2.6rem;
}
.bg_box h4::before{
	display:block;
	top:5px;
	width:18px;
	height:18px;
	background:#887239;
	border-radius:50%;
}
.bg_box h4::after{
	content:'';
	position:absolute;
	top:8px;
	left:7px;
	width:5px;
	height:10px;
	border-right:2px solid #fff;
	border-bottom:2px solid #fff;
	transform:rotate(45deg);
}
.bg_box p{
	font-size:1.5rem;
	letter-spacing:1.5px;
	line-height:2.6rem;
}
.bg_box li p{margin:0;}

.table_box{
	display:grid;
	grid-template-columns:1fr 1fr 1fr;
	gap:1px;
}
.table_box div{
	display:flex;
	flex-direction:column;
}
.table_box dt{
	flex-shrink:0;
	padding:20px 10px 19px;
	font-size:1.8rem;
	font-weight:600;
	letter-spacing:1.8px;
	line-height:2.6rem;
	text-align:center;
}
.table_box div:first-child dt{background:#F5E8C5;}
.table_box div:nth-child(2) dt{background:#F0DEAF;}
.table_box div:last-child dt{background:#EBD398;}
.table_box dd{
	height:100%;
	padding:25px 20px;
	background:#F7F3F0;
}
.table_box ul{margin:0;}
.table_box li{
	font-size:1.5rem;
	letter-spacing:1.5px;
	line-height:2.2rem;
}

.img_txt h4{margin-top:30px;}
.img_txt ul{margin:0;}
.img_txt li{
	font-size:1.5rem;
	letter-spacing:1.5px;
	line-height:2.2rem;
}

.staff_box{
	display:flex;
	flex-direction:row-reverse;
	padding:40px 30px;
	margin-bottom:30px;
	background:#fff;
	box-shadow:0 10px 40px rgba(222,213,208,0.7);
}
.staff_box h3{margin:0 0 10px;}
.staff_box div p{
	margin-bottom:20px;
	font-size:1.5rem;
	letter-spacing:0;
	line-height:2.2rem;
}
.staff_box div p:last-child{
	margin:0;
	letter-spacing:1.5px;
	line-height:2.7rem;
}
.staff_box > p{
	flex-shrink:0;
	max-width:325px;
	width:100%;
	margin:0 30px 0 0;
}

.faq_list{
	padding-top:30px;
	margin-bottom:60px;
	border-top:1px solid #E0E0E0;
}
.faq_list dt{
	position:relative;
	padding-left:35px;
	margin-bottom:25px;
	font-size:1.8rem;
	font-weight:bold;
	letter-spacing:1.8px;
	line-height:2.6rem;
}
.faq_list dt::before{
	content:'Q';
	display:flex;
	align-items:center;
	justify-content:center;
	position:absolute;
	top:1px;
	left:0;
	width:26px;
	height:26px;
	padding:0 0 3px 1px;
	background:#212121;
	border-radius:50%;
	color:#fff;
	font-size:1.5rem;
	letter-spacing:1.5px;
	line-height:2.1rem;
}
.faq_list dd{
	position:relative;
	padding:0 0 35px 35px;
	margin-bottom:30px;
	border-bottom:1px solid #E0E0E0;
	font-size:1.7rem;
	line-height:3rem;
}
.faq_list dd::before{
	content:'A';
	display:flex;
	align-items:center;
	justify-content:center;
	position:absolute;
	top:4px;
	left:0;
	width:26px;
	height:26px;
	padding:0 0 3px 1px;
	border:1px solid #212121;
	border-radius:50%;
	font-size:1.5rem;
	letter-spacing:1.5px;
	line-height:2.1rem;
}

.recruit .cta_box{
	padding:40px 30px;
	margin-top:60px;
	background:#fff;
	box-shadow:0 10px 40px rgba(222,213,208,0.7);
}
.recruit .cta_box::before{display:none;}
.recruit .cta_box h2{
	margin:0 0 10px;
	text-align:center;
}
.recruit .cta_box p{text-align:center;}
.recruit .cta_box h2 + p{
	font-size:1.5rem;
	letter-spacing:1.5px;
	line-height:3rem;
}
.recruit .cta_box p + p{
	margin-bottom:15px;
	font-size:1.4rem;
	letter-spacing:0;
	line-height:2rem;
}
.recruit .cta_box p:last-child{
	margin:-5px 0 0;
	font-size:1.3rem;
	letter-spacing:1.3px;
	line-height:1.9rem;
}
.recruit .cta_box p:last-child br{display:none;}
.recruit .cta_box a[href^="tel:"]{
	position:relative;
	top:2px;
	margin-left:5px;
	font-size:2.6rem;
	font-weight:500;
	letter-spacing:0;
	line-height:3.7rem;
}

.link_btn{margin:auto;}


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

.bg_box{padding:30px 20px 10px;}
.bg_box ul{padding:0;}

.table_box, .table_box div{display:block;}
.table_box dt{
	padding:18px 10px;
	font-size:1.6rem;
	letter-spacing:1.6px;
	line-height:2.4rem;
}
.table_box dd{padding:20px 15px;}
.staff_box{padding:30px 20px;}
.faq_list{margin-bottom:50px;}
.faq_list dt{
	margin-bottom:20px;
	font-size:1.7rem;
	letter-spacing:1.7px;
	line-height:2.5rem;
}
.faq_list dd{
	font-size:1.6rem;
	letter-spacing:1.6px;
	line-height:2.8rem;
}
.faq_list dd::before{top:3px;}

.recruit .cta_box{margin-top:50px;}
.recruit .cta_box h2{
	font-size:2.2rem;
	letter-spacing:2.2px;
}

}


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

.bg_box{padding:30px 20px 5px;}
.bg_box ul{display:block;}
.bg_box li{margin-bottom:25px;}
.bg_box h4{margin-bottom:15px;}

.table_box, .table_box div{display:block;}
.table_box dt{
	padding:15px 10px;
	font-size:1.4rem;
	letter-spacing:1.4px;
	line-height:2rem;
}
.table_box dd{padding:15px 10px 20px;}
.table_box li{
	font-size:1.4rem;
	letter-spacing:1.4px;
	line-height:2rem;
}

.img_txt li{
	font-size:1.4rem;
	letter-spacing:1.4px;
	line-height:2rem;
}

.staff_box{
	flex-direction:column-reverse;
	padding:25px 20px;
}
.staff_box h3{
	margin-top:10px;
	text-align:center;
}
.staff_box div p{
	margin-bottom:15px;
	text-align:center;
}
.staff_box div p:last-child{
	line-height:2.6rem;
	text-align:left;
}
.staff_box > p{margin:auto;}

.faq_list{
	padding-top:25px;
	margin-bottom:40px;
}
.faq_list dt{
	margin-bottom:15px;
	font-size:1.6rem;
	letter-spacing:1.6px;
	line-height:2.4rem;
}
.faq_list dt::before{top:0;}
.faq_list dd{
	padding-bottom:30px;
	margin-bottom:25px;
	font-size:1.5rem;
	letter-spacing:1.5px;
	line-height:2.6rem;
}
.faq_list dd::before{top:2px;}

.recruit .cta_box{
	padding:40px 20px;
	margin-top:40px;
}
.recruit .cta_box h2{
	font-size:2rem;
	letter-spacing:2px;
}
.recruit .cta_box h2 + p{
	font-size:1.4rem;
	letter-spacing:1.4px;
	line-height:2.5rem;
}
.recruit .cta_box p + p{margin-bottom:20px;}

}


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

.recruit .cta_box p:last-child br{display:block;}

}