@charset "utf-8";

/*----- reset -----*/
html{font-size:62.5%;height:100%;}
body{margin:0;padding:0;font-size:1.7rem;font-family:"Zen Old Mincho",serif;line-height:1.5;color:#212121;height:100%;position:relative;letter-spacing:0.1em;overflow-wrap:break-word;word-wrap:break-word;-webkit-text-size-adjust:100%;background:#fff;width:auto;}
header,main,article,section,nav,footer{display:block;}
div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,textarea,p,blockquote,th,td{margin:0;padding:0;font-size:100%;}
textarea,select{font-family:"Zen Old Mincho",serif;}
input{font-family:"Zen Old Mincho",serif;line-height:1.5;color:#212121;position:relative;letter-spacing:0.1em;overflow-wrap:break-word;word-wrap:break-word;}
table{border-collapse:collapse;border-spacing:0;}
fieldset,img{border:0;}
address,caption,cite,code,dfn,th,var{font-style:normal;font-weight:normal;}
em{font-style:normal;font-weight:bold;}
ol,ul{list-style:none;}
caption{text-align:left;}
h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal;}
q:before,q:after{content:'';}
abbr,acronym{border:0;}
input[type="text"],input[type="submit"],input[type="button"],input[type="email"],input[type="tel"],input[type="date"],select,button{-webkit-appearance:none;appearance:none;border-radius:0;border:none;background:none;}
select::-ms-expand{display:none;}

*,*::before,*::after{box-sizing:border-box;}
/*----- reset end -----*/
:root{
	--vw_100:100vw;
	--vw_50:calc(var(--vw_100) / 2);
	--font_zen:"Zen Old Mincho",serif;
	--font_cormorant:"Cormorant",serif;
}

html{
	scroll-padding-top:175px !important;
	visibility:hidden;
	overflow-y:scroll;
}
html.wf-active, html.wf-inactive{visibility:visible;}
body{opacity:0;}
body.is_ready{opacity:1;}

#wrapper{
	position:relative;
	overflow:hidden;
}
#wrapper.fixed{
	position:fixed;
	top:0;
	right:0;
	bottom:0;
	left:0;
}
.loading{
	position:absolute;
	z-index:10000;
	top:0;
	left:0;
	width:100%;
	height:100%;
	background:#fff;
	transition:opacity 1s, visibility 1s;
}
.loading.page_loaded{
	opacity:0;
	visibility:hidden;
}

.sp_size{display:none !important;}
.customize-support #header_wrap{top:32px;}


/*----- header -----*/
#header_wrap{
	position:fixed;
	z-index:20;
	top:0;
	right:0;
	left:0;
	width:100%;
	padding:15px 30px 0;
	background:#fff;
	transition:background 0.3s, box-shadow 0.3s, transform 0.3s;
}
#header_wrap.scroll{box-shadow:0px 3px 6px rgba(0,0,0,0.16);}
#logo{
	position:relative;
	z-index:1;
	width:330px;
	margin-bottom:20px;
}
.logo_link, .logo_img{
	display:block;
	width:100%;
	height:100%;
}
.logo_white{display:none;}
#toggle{display:none;}
.menu_list, .menu_sub_list{
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	justify-content:flex-end;
	padding:0;
	margin:0;
}
.menu_list{
	margin-top:-1px;
	border-top:1px solid rgba(51,51,51,0.25);
}
.menu_sub_list{
	position:absolute;
	top:36px;
	right:30px;
}
.menu_item, .menu_sub_item{
	list-style:none;
	margin:0 0 0 30px;
	font-size:1.6rem;
	font-weight:500;
	letter-spacing:0.8px;
	line-height:2.4rem;
}
.menu_sub_item{
	margin:0 0 0 25px;
	font-size:1.2rem;
	letter-spacing:0.6px;
	line-height:1.7rem;
}
.menu_sub_list .menu_item{
	position:relative;
	margin-left:40px;
}
.menu_sub_list .menu_item::before{
	content:'';
	position:absolute;
	top:1px;
	bottom:0;
	left:-21px;
	width:1px;
	height:16px;
	margin:auto;
	background:#333;
	opacity:0.2;
}
.menu_link, .menu_sub_link{
	display:block;
	position:relative;
	padding:18px 0;
	color:#333 !important;
	text-decoration:none !important;
}
.menu_sub_link{padding:9px 0;}
.menu_sub_list .menu_link{padding:6px 0;}
.on .menu_link, .on .menu_sub_link{color:#C09012 !important;}
.menu_link::after, .menu_sub_link::after{
	content:'';
	position:absolute;
	bottom:0;
	left:0;
	width:0;
	background:#C09012;
	transition:width 0.3s;
}
.menu_link::after{height:3px;}
.menu_sub_list .menu_link::after, .menu_sub_link::after{height:2px;}
.menu_link:hover::after,
.menu_sub_link:hover::after,
.on .menu_link::after, .on .menu_sub_link::after{
	width:100%;
}
.header_tel, .h_tel_icon.icon_white{display:none;}

#header_wrap.header_special:not(.scroll){background:none;}
.header_special:not(.scroll) .logo_white, .header_special:not(.scroll) .icon_white{display:block;}
.header_special:not(.scroll) .logo_color, .header_special:not(.scroll) .icon_black{display:none;}
.header_special:not(.scroll) .menu_list{border-color:rgba(255,255,255,0.25);}
.header_special:not(.scroll) .menu_link, .header_special:not(.scroll) .menu_sub_link{color:#fff !important;}
.header_special:not(.scroll) .menu_item::before, .header_special:not(.scroll) .menu_link::after, .header_special:not(.scroll) .menu_sub_link::after{background:#fff;}


/*----- footer -----*/
#footer_wrap{
	position:relative;
	background:#49433F;
}
#return{
	position:relative;
	z-index:10;
}
.return_btn{
	position:fixed;
	right:20px;
	bottom:20px;
	width:70px;
	padding:15px 0 5px;
	background:url(/img/common/arrow_u_black.svg) no-repeat top center;
	border-bottom:1px solid rgba(148,141,137,0.5);
	opacity:0;
	visibility:hidden;
	color:#212121 !important;
	font-size:1.1rem;
	letter-spacing:0.55px;
	line-height:1.6rem;
	text-align:center;
	text-decoration:none !important;
	transition:opacity 0.3s, visibility 0.3s;
}
.return_btn.display{
	opacity:1;
	visibility:visible;
}
.return_btn.pos_end{
	position:absolute;
	opacity:1;
	visibility:visible;
}
.return_btn::after{
	content:'';
	position:absolute;
	bottom:-1px;
	left:0;
	width:100%;
	height:1px;
	background:#333;
	opacity:0;
	transform:scaleX(0.5);
	transform-origin:right;
	transition:transform 0.3s, opacity 0.3s;
}
.return_btn:hover::after{
	opacity:1;
	transform:scaleX(1);
	transform-origin:left;
}

.footer_area{
	max-width:1160px;
	padding:70px 30px 0;
	margin:auto;
}
.cta_box{
	position:relative;
	z-index:1;
	padding:35px 30px 50px;
	background:#49433F;
}
.cta_box::before{
	content:'';
	position:absolute;
	z-index:-1;
	top:0;
	left:0;
	width:100%;
	height:100%;
	background:rgba(120,115,112,0.2);
	mix-blend-mode:multiply;
}
.cta_head{
	padding:0;
	margin:0 0 5px;
	color:#fff;
	font-size:2.6rem;
	font-weight:500;
	letter-spacing:2.6px;
	line-height:3.7rem;
	text-align:center;
}
.cta_head::after{display:none;}
.cta_txt{
	margin-bottom:30px;
	color:#fff;
	font-weight:500;
	letter-spacing:0;
	line-height:2.5rem;
	text-align:center;
}
.cta_list{
	display:grid;
	grid-template-columns:1fr 1fr 1fr;
	gap:25px;
	max-width:845px;
	padding:0;
	margin:auto;
}
.cta_item{
	list-style:none;
	margin:0;
	background:#fff;
	font-weight:500;
	letter-spacing:0;
	line-height:2.5rem;
	text-align:center;
}
.cta_item:last-child{
	padding:6px 20px;
	font-size:1.4rem;
	line-height:2rem;
}
.cta_link{
	display:block;
	padding:20px;
	color:#333 !important;
	text-decoration:none !important;
	transition:background 0.3s;
}
.cta_link:hover{background-color:#F7E0A6 !important;}
.cta_tel{
	position:relative;
	top:2px;
	margin-left:10px;
	color:#333 !important;
	font-size:2rem;
	line-height:2.9rem;
}
.cta_item_in{
	display:block;
	margin-top:2px;
	font-size:1.2rem;
	line-height:1.7rem;
}

.footer_top{
	display:flex;
	justify-content:space-between;
	padding:55px 0 50px;
	border-bottom:1px solid #5C5653;
}
.f_logo{
	width:330px;
	height:50px;
	margin-bottom:15px;
}
.f_logo_link, .f_logo_img{
	display:block;
	width:100%;
	height:100%;
}
.f_address_txt{
	margin-bottom:18px;
	color:#fff;
	font-size:1.6rem;
	letter-spacing:0;
	line-height:2.4rem;
}
.f_sns{
	display:flex;
	align-items:center;
}
.f_sns_txt{
	margin-right:15px;
	color:#B6B4B2;
	font-family:var(--font_cormorant);
	font-size:1.2rem;
	font-weight:500;
	letter-spacing:0;
	line-height:1.4rem;
}
.f_sns_list{
	display:flex;
	padding:0;
	margin:0;
}
.f_sns_item{
	list-style:none;
	margin:0 10px 0 0;
	font-size:0;
}
.f_sns_link{
	display:block;
	position:relative;
	width:25px;
	height:25px;
	background:no-repeat center/cover !important;
	text-decoration:none !important;
}
.f_sns_link.facebook{background-image:url(/img/common/icon_facebook.svg) !important;}
.f_sns_link.x{background-image:url(/img/common/icon_x.svg) !important;}
.f_sns_link::after{
	content:'';
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	background:no-repeat center/cover;
	opacity:0;
	transition:opacity 0.3s;
}
.f_sns_link.facebook::after{background-image:url(/img/common/icon_facebook_hover.svg);}
.f_sns_link.x::after{background-image:url(/img/common/icon_x_hover.svg);}
.f_sns_link:hover::after{opacity:1;}

.footer_menu{
	display:flex;
	padding:0;
	margin-top:15px;
}
.f_menu_list{
	padding:0;
	margin:0 0 0 85px;
}
.f_menu_item{
	list-style:none;
	margin-bottom:15px;
	font-size:1.6rem;
	font-weight:500;
	letter-spacing:0;
	line-height:2.4rem;
}
.f_menu_link{
	color:#fff !important;
	text-decoration:none !important;
}
.f_menu_link:hover,
.f_sub_link:hover{
	text-decoration:underline !important;
}

.footer_bottom{
	display:flex;
	align-items:center;
	justify-content:space-between;
	padding:30px 0 35px;
}
.f_sub_list{
	display:flex;
	align-items:center;
	padding:0;
	margin:0;
}
.f_sub_item{
	list-style:none;
	font-size:1.2rem;
	font-weight:500;
	letter-spacing:0;
	line-height:1.7rem;
	margin:0 25px 0 0;
}
.f_sub_link{
	color:#B6B4B2 !important;
	text-decoration:none !important;
}
.copyright{
	margin:0;
	color:#B6B4B2;
	line-height:1.3rem;
}
.copy_txt{
	display:block;
	font-size:1rem;
	letter-spacing:0;
}


/*----- main -----*/
.header_common + #content_wrap{margin-top:145px;}
a{
	color:#212121;
	text-decoration:underline;
}
a:visited{color:#551A8B;}
a:hover{text-decoration:none;}
a[target="_blank"]{
	padding-left:20px;
	background:url(/img/common/icon_popup_black.svg) no-repeat center left 2px;
}
a.non{
	display:inline-block;
	transition:opacity 0.3s;
}
a.non[target="_blank"]{
	padding-left:0;
	background:none;
}
a.non:hover{opacity:0.5;}
a[href$=".doc"], a[href$=".docx"]{
	padding-left:20px;
	background:url(/img/common/icon_word.svg) no-repeat center left;
}
a[href$=".xls"], a[href$=".xlsx"], a[href$=".xlsm"]{
	padding-left:20px;
	background:url(/img/common/icon_excel.svg) no-repeat center left;
}
a[href$=".zip"]{
	padding-left:20px;
	background:url(/img/common/icon_zip.svg) no-repeat center left;
}
a[href$=".pdf"]{
	padding-left:20px;
	background:url(/img/common/icon_pdf.svg) no-repeat center left;
}
a.none[href$=".pdf"]{
	padding-left:0;
	background:none;
}
[href^="tel:"]{
	font-weight:normal;
	text-decoration:none !important;
	pointer-events:none;
}

img{
	display:block;
	max-width:100%;
	width:auto;
	height:auto;
	-webkit-backface-visibility:hidden;
	backface-visibility:hidden;
}
a img{pointer-events:none;}

.link_btn{
	display:block;
	max-width:400px;
	width:100%;
	padding:19px 45px 20px !important;
	background:#FBEFCE url(/img/common/arrow_r_black.svg) no-repeat center right 25px !important;
	color:#333 !important;
	font-size:1.8rem;
	font-weight:500;
	letter-spacing:0;
	line-height:2.6rem;
	text-align:center;
	text-decoration:none !important;
	transition:background 0.3s;
}
.link_btn[target="_blank"]{background-image:url(/img/common/icon_popup_black.svg) !important;}
.link_btn:hover{background-color:#F7E0A6 !important;}
.link_txt{
	display:inline-block;
	position:relative;
	min-width:150px;
	padding:0 30px 10px 0;
	background:url(/img/common/arrow_r_black.svg) no-repeat top 9px right 5px;
	border-bottom:1px solid rgba(148,141,137,0.5);
	color:#333 !important;
	font-size:1.8rem;
	font-weight:500;
	letter-spacing:0.9px;
	line-height:2.5rem;
	text-align:left;
	text-decoration:none !important;
}
.link_txt::after{
	content:'';
	position:absolute;
	bottom:-1px;
	left:0;
	width:100%;
	height:1px;
	background:#333;
	opacity:0;
	transform:scaleX(0.5);
	transform-origin:right;
	transition:transform 0.3s, opacity 0.3s;
}
.link_txt:hover::after{
	opacity:1;
	transform:scaleX(1);
	transform-origin:left;
}


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

html{scroll-padding-top:170px !important;}
#logo{width:264px;}
.menu_item{
	font-size:1.4rem;
	letter-spacing:0.7px;
}
.menu_item:first-child{margin-left:0;}
.menu_sub_list{top:28px;}
.menu_sub_item{margin-left:20px;}
.header_common + #content_wrap{margin-top:135px;}

}


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

html{scroll-padding-top:100px !important;}
/*----- header -----*/
#header_wrap{padding:15px 20px;}
#wrapper.fixed #header_wrap::before{
	content:'';
	position:fixed;
	z-index:-1;
	top:0;
	left:0;
	width:100%;
	height:100lvh;
	background:#49433F;
}
#logo{
	width:264px;
	margin:0;
}
#wrapper.fixed .logo_white{display:block !important;}
#wrapper.fixed .logo_color{display:none !important;}
#toggle{
	display:block;
	position:absolute;
	z-index:10;
	top:0;
	right:15px;
	bottom:0;
	width:50px;
	height:45px;
	margin:auto;
}
.toggle_btn{
	display:block;
	position:relative;
	width:100%;
	height:100%;
	padding:0;
	font-size:0;
	text-decoration:none;
	cursor:pointer;
}
.toggle_txt{
	position:relative;
	display:block;
	width:100%;
	height:100%;
}
.toggle_btn::before, .toggle_btn::after, .toggle_txt::before{
	content:'';
	position:absolute;
	z-index:10;
	left:0;
	right:0;
	margin:auto;
	width:28px;
	height:1px;
	background:#333;
	transition:all 0.3s;
}
.toggle_btn::before{top:16px;}
.toggle_btn::after{top:28px;}
.toggle_txt::before{top:22px;}
.toggle_btn.open::before{
	top:22px;
	background:#fff;
	transform:rotate(45deg);
}
.toggle_btn.open::after{
	top:22px;
	background:#fff;
	transform:rotate(-45deg);
}
.open .toggle_txt::before{
	opacity:0;
	visibility:hidden;
}
#menu{
	position:fixed;
	top:70px;
	left:0;
	width:100%;
	min-height:100%;
	height:100%;
	padding:0 20px 100px;
	-webkit-overflow-scrolling:touch;
	overflow:auto;
}
#menu.menu_dis{display:none;}
.menu_list{
	display:block;
	margin:0 0 15px;
	border-color:rgba(255,255,255,0.25);
}
.menu_item{
	margin:0;
	border-bottom:1px solid #5C5653;
	font-size:1.6rem;
	letter-spacing:0;
}
.menu_sub_list{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:15px;
	position:static;
}
.menu_sub_item, .menu_sub_list .menu_item{
	margin:0;
	border-bottom:1px solid #5C5653;
}
.menu_sub_list .menu_item{
	font-size:1.2rem;
	letter-spacing:0.6px;
	line-height:1.7rem;
}
.menu_sub_list .menu_item::before{display:none;}
.menu_link, .menu_sub_link{
	padding:15px 40px 15px 10px;
	background:url(/img/common/arrow_r_white.svg) no-repeat center right 15px;
	color:#fff !important;
	transition:background 0.3s;
}
.menu_link:hover,
.menu_sub_link:hover{
	background-color:#342B25;
	color:#fff !important;
}
.on .menu_link, .on .menu_sub_link{
	background-color:#342B25;
	color:#fff !important;
}
.menu_link::after, .menu_sub_link::after{display:none;}
.menu_sub_link, .menu_sub_list .menu_link{padding:10px 40px 10px 10px;}
.header_special:not(.scroll) .toggle_btn::before, .header_special:not(.scroll) .toggle_btn::after, .header_special:not(.scroll) .toggle_txt::before{background:#fff;}


/*----- footer -----*/
.footer_area{padding:40px 20px 0;}
.cta_box{padding:30px 20px 45px;}
.cta_head{
	font-size:2.2rem;
	letter-spacing:2.2px;
	line-height:3.2rem;
}
.cta_txt{
	font-size:1.6rem;
	line-height:2.3rem;
}
.cta_list{gap:20px;}
.cta_item{
	font-size:1.6rem;
	line-height:2.3rem;
}
.cta_item:last-child{
	padding:8px 20px 11px;
	font-size:1.3rem;
	line-height:1.9rem;
}
.cta_link{padding:21px 20px;}
.cta_tel{
	top:1px;
	margin-left:5px;
	font-size:1.8rem;
	line-height:2.7rem;
}
.footer_top{
	display:block;
	padding:40px 0 35px;
}
.f_address_txt{
	font-size:1.5rem;
	line-height:2.2rem;
}
.footer_menu{
	display:grid;
	grid-template-columns:1fr 1fr 1fr;
	gap:40px;
	margin-top:45px;
}
.f_menu_list{margin:0;}

/* main */
.header_common + #content_wrap{margin-top:70px;}
.link_btn{
	padding-top:20px !important;
	font-size:1.7rem;
	line-height:2.5rem;
}
.link_txt{
	min-width:140px;
	background-position:top 8px right 5px;
	font-size:1.7rem;
	letter-spacing:0.85px;
	line-height:2.3rem;
}

}


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

html{scroll-padding-top:95px !important;}
.pc_size{display:none !important;}
.sp_size{display:block !important;}

/*----- header -----*/
#logo{width:231px;}
#menu{top:65px;}
.header_tel{
	display:block;
	position:absolute;
	top:22px;
	right:75px;
}
#wrapper.fixed .icon_white{display:block !important;}
#wrapper.fixed .icon_black{display:none !important;}

/*----- footer -----*/
.cta_box{padding-bottom:5px;}
.cta_txt{
	font-size:1.5rem;
	line-height:2.1rem;
}
.cta_list{display:block;}
.cta_item{
	margin-bottom:15px;
	font-size:1.5rem;
	line-height:2.1rem;
}
.cta_item:last-child{
	padding:10px 20px 12px;
	font-size:1.2rem;
	line-height:1.7rem;
}
.cta_link{padding:22px 20px;}
.cta_tel{
	font-size:1.6rem;
	line-height:2.4rem;
}

.footer_top{padding:30px 0 25px;}
.f_logo{
	width:297px;
	height:45px;
}
.f_address_txt{
	font-size:1.4rem;
	line-height:2rem;
}
.footer_menu{
	display:block;
	margin-top:40px;
}
.f_menu_list{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:0 15px;
}
.f_menu_list:nth-child(2){margin-top:-39px;}
.f_menu_list:nth-child(2)::before{
	content:'';
	position:relative;
	z-index:-1;
}

.footer_bottom{
	display:block;
	padding:0;
}
.f_sub_list{
	display:block;
	padding:25px 0 15px;
	border-bottom:1px solid #5C5653;
}
.f_sub_item{margin:0 0 12px;}
.copyright{
	padding:25px 0 30px;
	text-align:center;
}


/*----- main -----*/
[href^="tel:"]{
	text-decoration:underline !important;
	pointer-events:auto;
}
[href^="tel:"]:hover{text-decoration:none !important;}

.link_btn{
	padding-top:18px !important;
	padding-bottom:19px !important;
	font-size:1.6rem;
	line-height:2.3rem;
}
.link_txt{
	min-width:120px;
	font-size:1.6rem;
	letter-spacing:0.8px;
	line-height:2.3rem;
}

}


/*----- print -----*/
@media print{
	:root{--vw_100:1200px;}
	body{
		width:1200px;
		transform:scale(1);
		-moz-transform:scale(1);
		-webkit-transform:scale(1);
		transform-origin:0 0;
		zoom:.91;
		margin:auto
	}
	@media all and (-ms-high-contrast:none){
		body{width:1200px}
	}
	@media (-ms-high-contrast:none),(-ms-high-contrast:active){
		body{width:1200px}
	}
	@media all and (-webkit-min-device-pixel-ratio:0) and (min-resolution:.001dpcm){
		body{
			width:1200px;
			transform:scale(.8);
			-moz-transform:scale(.8);
			-webkit-transform:scale(.8);
			transform-origin:0 0;
			margin:auto
		}
	}
}
/*----- print end -----*/