@charset "utf-8";

/*----- reset -----*/
html{font-size:62.5%;height:100%;}
body{margin:0;padding:0;font-size:1.6rem;font-family:YakuHanJP,'Noto Sans CJK JP','Noto Sans JP',sans-serif;line-height:1.6;color:#000;height:100%;position:relative;letter-spacing:0;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:YakuHanJP,'Noto Sans CJK JP','Noto Sans JP',sans-serif;}
input{font-family:YakuHanJP,'Noto Sans CJK JP','Noto Sans JP',sans-serif;line-height:1.6;color:#000;position:relative;letter-spacing:0;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:500;}
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="email"],input[type="tel"],select,button{-webkit-appearance:none;appearance:none;border-radius:0;border:none;background:none;font-family:'Noto Sans JP', sans-serif;}
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-poppins:'Poppins', sans-serif;
}
html{
	visibility:hidden;
	overflow-y:scroll;
}
html.wf-active, html.wf-inactive{visibility:visible;}
#wrapper{
	position: relative;
	overflow: hidden;
}
.sp_size{display:none !important;}

/*----- header -----*/
#header_wrap{
	position:fixed;
	z-index: 20;
	top:0;
	right:0;
	left:0;
	width:100%;
	height:70px;
	padding: 0 30px;
	background: #fff;
	transition: transform 0.3s;
}
#header_wrap.hide{
	box-shadow:none;
	transform:translateY(-110%);
}
#header_wrap.scroll{box-shadow: 0 0 8px 0 rgba(0, 0, 0, 0.15)}
.header_box{
	display: flex;
	justify-content: space-between;
	align-items: center;
	max-width: 1500px;
	height: 100%;
	margin: 0 auto;
}
.logo_link{
	display: block;
	width: 336px;
	text-decoration: none;
}
.menu_list{
	display: flex;
	align-items: center;
	gap: 28px;
	padding:0;
	margin: 0;
}
.menu_item{
	position: relative;
	font-weight: 700;
	font-size: 1.6rem;
	line-height: 2rem;
	letter-spacing: 1.28px;
	margin:0 !important;
	list-style:none;
}
.menu_link{
	position: relative;
	display:flex;
	align-items:center;
	color: #000 !important;
	text-decoration:none;
	transition: color 0.3s;
}
.menu_link:hover{color: #961E23 !important;}
.menu_link.has_child::after{
	content: '';
	position: relative;
	top: 2px;
	display: block;
	margin-left: 7px;
	width: 6px;
	height: 6px;
	background: #961E23;
	clip-path: polygon(50% 100%, 0 0, 100% 0);
}
.menu_link span{
	position: relative;
	padding: 14px 0;
}
.menu_link span::before{
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 2px;
	background: #961E23;
	opacity: 0;
	transition: background 0.3s, opacity 0.3s;
}
.menu_link:not(.menu_link.has_child):hover span::before,
.menu_item.on .menu_link span::before{
	opacity: 1;
}
.menu_child_list{
	position:absolute;
	top:calc(100% - 2px);
	right: 0;
	width:250px;
	padding:0;
	margin:0;
	background:#fff;
	border-top: 2px solid #961E23;
	box-shadow: 0 0 8px 0 rgba(0, 0, 0, 0.15);
	visibility:hidden;
	opacity:0;
	transition:opacity .3s,visibility .3s;
}
.menu_child_list.is-open{
	visibility:visible;
	opacity:1;
}
.is-show .menu_child_list{
	transform:translateY(0);
	visibility:visible;
	opacity:1;
}
.menu_child_item{
	font-weight:500;
	font-size:1.5rem;
	letter-spacing:0.6px;
	line-height: 2.4rem;
	padding:0;
	margin:0;
	border-bottom: 1px solid #ddd;
	list-style:none !important;
}
.menu_child_item:last-child{border-bottom: none;}
.menu_child_item.on{background:#F6EBEE;}
.menu_child_link{
	display: block;
	color:#000 !important;
	padding: 12px 35px 13px 16px;
	background: url(/img/common/arrow_r_red.svg) right 15px center no-repeat;
	text-decoration:none;
	transition: background-color 0.3s;
}
.menu_child_link:hover{background-color: #F6EBEE;}
.menu_child_top{display:none;}
#toggle {display: none;}

/*----- footer -----*/
.footer_box{
	width: 100%;
	max-width: 1500px;
	margin: 0 auto;
}
.footer_top{
	position: relative;
	display: flex;
	justify-content: space-between;
	gap: 60px;
	padding: 45px 30px 50px;
}
.footer_top::before{
	content: '';
	position: absolute;
	top: 0;
	left: calc(50% - var(--vw-50));
	width: var(--vw-100);
	height: 100%;
	background: #961E23;
	z-index: -1;
	pointer-events: none;
}
.f_logo_link{
	display: block;
	width: 336px;
	margin: 15px 0 18px;
	text-decoration: none;
}
.f_address p{
	font-size: 1.3rem;
	line-height: 2.2rem;
	letter-spacing: 1.04px;
	color: #fff;
	margin-bottom: 0;
}
.f_menu_box{
	display: grid;
	grid-template-columns: repeat(3,1fr);
	gap: 50px;
	width: 100%;
	max-width: 790px;
}
.f_menu_list{
	padding: 0;
	margin: 0;
}
.f_menu_item{
	font-weight: 700;
	letter-spacing: 1.28px;
	line-height: 1.9rem;
	margin: 0 0 12px !important;
	list-style: none;
}
.f_menu_link{
	display: block;
	color: #fff !important;
	padding: 16px 0;
	border-bottom: 1px solid rgba(255, 255, 255, 0.5);
	text-decoration: none;
	transition: border-color 0.3s;
}
.f_menu_link:hover{border-color: #fff;}
.f_menu_child_list{
	padding: 13px 0 0;
	margin: 0;
}
.f_menu_child_item{
	font-size:1.3rem;
	letter-spacing: 1.04px;
	line-height: 1.7rem;
	margin: 0 0 11px !important;
	list-style: none;
}
.f_menu_child_link{
	position:relative;
	display:inline-block;
	padding-left:10px;
	color: #fff !important;
	text-decoration:none !important;
}
.f_menu_child_link:hover{text-decoration:underline !important;}
.f_menu_child_link::before{
	position:absolute;
	content:'';
	top:9px;
	left:0;
	width:4px;
	height:1px;
	background:#fff;
}
.f_menu_child_top{display:none;}
.bnr_area{
	position: relative;
	padding: 40px 30px;
}
.bnr_area::before{
	content: '';
	position: absolute;
	bottom: 0;
	left: calc(50% - var(--vw-50));
	width: var(--vw-100);
	height: 1px;
	background: #D9D9D9;
	z-index: -1;
	pointer-events: none;
}
.bnr_list{
	display: flex;
	justify-content: center;
	gap: 19px;
	padding: 0;
	margin: 0 auto;
}
.bnr_list li{
	margin: 0 !important;
	list-style: none;
}
.bnr_link{
	position: relative;
	display: block;
	max-width: 234px;
	padding: 0 !important;
	background: none !important;
}
.bnr_link::before{
	content: '';
	position: absolute;
	top: 5px;
	right: 5px;
	width: 12px;
	height: 12px;
	background: url(/img/common/icon_popup.svg) no-repeat center/cover;
	z-index: 2;
	pointer-events: none;
}
.bnr_link::after{
	content: '';
	position: absolute;
	inset: 0;
	border: 2px solid #961E23;
	opacity: 0;
	z-index: 1;
	transition: opacity 0.3s;
	pointer-events: none;
}
.bnr_link:hover::after{opacity: 1;}
.footer_bottom{
	display: flex;
	justify-content: space-between;
	padding: 20px 30px 25px;
}
.f_sub_menu_list{
	display: flex;
	gap: 20px;
	padding: 0;
	margin: 0;
}
.f_sub_menu_item{
	font-size: 1.2rem;
	letter-spacing: 0.96px;
	line-height: 2.2rem;
	margin: 0 !important;
	list-style: none;
}
.f_sub_menu_link{
	color: #000 !important;
	text-decoration: none;
}
.f_sub_menu_link:hover{text-decoration: underline;}
.copyright{
	font-size: 1.2rem;
	line-height: 2.2rem;
	letter-spacing: 0.96px;
}
#return{
	position: relative;
	z-index: 5;
}
.return_btn{
	position: fixed;
	right: 20px;
	bottom: 20px;
	display: block;
	width: 50px;
	height: 50px;
	font-size: 0;
	background:#000 url(/img/common/arrow_t_white.svg) no-repeat center center;
	border-radius: 50%;
	opacity: 0;
	visibility: hidden;
	text-decoration: none;
	transition: background 0.3s, opacity 0.3s, visibility 0.3s;
}
.return_btn:hover{background-color: #961E23;}
.return_btn.display{
	opacity: 1;
	visibility: visible;
}
.return_btn.pos_end{
	position: absolute;
	opacity: 1;
	visibility: visible;
}

/*----- main -----*/
#index_wrap, #content_wrap{margin-top: 70px;}
a{
	color: #000;
	text-decoration:underline;
}
a:visited{color: #A93D5C;}
a:hover{text-decoration:none;}
a[target="_blank"]{
	padding-left:15px;
	background:url(/img/common/icon_popup.svg) no-repeat center left;
}
a.non[target="_blank"]{
	padding-left:0;
	background:none;
}
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"]{
	padding-left:20px;
	background:url(/img/common/icon_excel.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;
}
a[href$=".zip"]{
	padding-left:20px;
	background:url(/img/common/icon_zip.svg) no-repeat center left;
}
[href^="tel:"]{
	color:#000 !important;
	text-decoration: none;
	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{
	position:relative;
	display:block;
	width:250px;
	font-weight: 500;
	font-size:1.6rem;
	line-height:1.9rem;
	letter-spacing: 1.28px;
	color:#961E23 !important;
	padding:16px 50px 17px 22px !important;
	background: #fff;
	border: 1px solid #961E23;
	border-radius: 28px;
	text-decoration:none !important;
	transition: color 0.3s, background 0.3s;
}
.link_btn:hover{
	color: #fff !important;
	background:#961E23;
}
.link_btn::before, .link_btn::after{
	content: '';
	position: absolute;
	right: 22px;
	top: 50%;
	width: 6px;
	height: 13px;
	transform: translateY(-50%);
	transition: opacity .3s;
	z-index: 1;
}
.link_btn::before{
	background: url(/img/common/arrow_r_white.svg) no-repeat center/contain;
}
.link_btn::after{
	background: url(/img/common/arrow_r_red.svg) no-repeat center/contain;
	opacity: 0;
}
.link_btn:hover::before{opacity: 0;}
.link_btn:hover::after{opacity: 1;}
.link_btn_txt::before{
	content: '';
	position: absolute;
	right: 14px;
	top: 50%;
	display: inline-block; 
	width: 24px;
	height: 24px;
	background: #961E23;
	transform: translateY(-50%);
	border-radius: 50%;
	transition: background .3s;
}
.link_btn:hover .link_btn_txt::before{background: #fff;}

@media screen and (max-width:1024px){
#wrapper.fixed{
	position:fixed;
	top:0;
	right:0;
	bottom:0;
	left:0;
}
/*----- header -----*/
#header_wrap{
	height: 60px;
	padding: 0 0 0 25px;
}
.logo_link{max-width: 295px;}
#toggle{display:block;}
.toggle_btn{
	position:relative;
	display:flex;
	align-items:center;
	justify-content:center;
	width:60px;
	height:60px;
	font-size:0;
	padding: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;
	display:block;
	top: 50%;
	transform: translateY(-50%);
	right:0;
	left:0;
	width:26px;
	height:2px;
	margin:auto;
	background:#961E23;
	z-index:10;
	transition:all 0.3s;
}
.toggle_btn::before{top: calc(50% - 6px);}
.toggle_btn::after{top: calc(50% + 6px);}
.toggle_btn.open::before{
	top: 50%;
	transform:translateY(-50%)rotate(150deg);
}
.toggle_btn.open::after{
	top:50%;
	transform: translateY(-50%)rotate(-150deg);
}
.open .toggle_txt::before{
	opacity:0;
	visibility:hidden;
}
.menu_bg{
	position:fixed;
	top:0;
	left:0;
	width:var(--vw-100);
	height:100%;
	background:#000;
	opacity:0;
	z-index:6;
	visibility:hidden;
	cursor: pointer;
}
#wrapper.fixed .menu_bg{
	opacity:0.8;
	visibility:visible;
}
#menu_box{
	position: fixed;
	top: 60px;
	right: 0;
	left: 0;
	display: block;
	width: 100%;
	max-height: calc(100dvh - 60px);
	padding: 0;
	background: #fff;
	z-index: 10;
	border-top: 1px solid #ddd;
	overflow-y: auto;
}
.menu_dis{display:none !important;}
.menu_list{display:block;}
.menu_item{
	font-size:1.6rem;
	letter-spacing: 1.28px;
	line-height: 1.9rem;
}
.menu_link{
	display: block;
	width: 100%;
	padding:16px 20px;
	border-bottom: 1px solid #ccc;
}
.menu_link::before{
	content: '';
	position: absolute;
	top: 0;
	right: 22px;
	bottom: 0;
	left: auto;
	width: 6px;
	height: 13px;
	margin: auto;
	background: url(/img/common/arrow_r_red.svg) no-repeat;
	opacity: 1;
}
.menu_link.has_child::before, .menu_link.has_child::after{
	content: '';
	position: absolute;
	top: 0;
	right: 20px;
	bottom: 0;
	left: auto;
	width: 12px;
	height: 2px;
	margin: auto;
	background: #961E23 !important;
	clip-path: none;
	opacity: 1;
}
.menu_link.has_child::after{
	transform:rotate(90deg);
	transition:opacity 0.3s;
}
.menu_link.open::after{opacity:0;}
.menu_link span{padding: 5px 0;}
.menu_child_list{
	position: static;
	display:none;
	width: auto;
	padding:0 20px;
	margin:0;
	border-top: none;
	border-bottom: 1px solid #ccc;
	box-shadow: none;
	visibility: visible;
	opacity: 1;
}
.menu_child_item{
	font-weight: 700;
	font-size: 1.4rem;
	letter-spacing: 1.12px;
	line-height: 1.7rem;
	background: none !important;
}
.menu_child_link{
	padding: 16px 20px 17px;
	background-position: right 2px center;
}
.menu_child_link span{
	position: relative;
	padding: 5px 0;
}
.menu_child_link span::before{
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 2px;
	background: #961E23;
	opacity: 0;
	transition: opacity 0.3s;
}
.menu_child_item.on .menu_child_link span::before{opacity: 1;}
.menu_child_top{display: block;}
.menu_child_top .menu_child_link{
	padding-left: 0;
	border-top: none;
}

/*----- footer -----*/
.footer_top{
	flex-direction: column;
	gap: 25px;
	padding: 48px 20px 40px;
}
.f_menu_item{
	font-size:1.6rem;
	letter-spacing: 1.28px;
	line-height: 1.9rem;
}
.f_logo_link{margin: 0 0 20px;}
.f_menu_box{
	gap: 0 30px;
	max-width: 100%;
}
.bnr_area{padding: 30px 20px;}
.bnr_list{
	flex-wrap: wrap;
	gap: 13px;
	max-width: 728px;
}
.footer_bottom{padding: 14px 30px 20px;}

/*----- main -----*/
#index_wrap, #content_wrap{
	margin-top: 60px;
}
.link_btn{
	width:230px;
	font-size:1.4rem;
	line-height:1.6rem;
	letter-spacing: 1.12px;
	padding:16px 50px 16px 20px !important;
}
}

@media screen and (max-width:767px){
.pc_size{display:none !important;}
.sp_size{display:block !important;}

/*----- header -----*/
#header_wrap{
	height: 54px;
	padding: 0 0 0 15px;
}
.logo_link{max-width: 260px;}
.toggle_btn{
	width:54px;
	height:54px;
}
#menu_box{
	top: 54px;
	max-height: calc(100dvh - 54px);
}

/*----- footer -----*/
.footer_top{padding: 30px 20px 40px;}
.f_logo_link{
	max-width: 260px;
	margin-bottom: 14px;
}
.f_address p{
	font-size: 1.2rem;
	line-height: 2.2rem;
	letter-spacing: 0.96px;
}
.f_menu_box{
	grid-template-columns: repeat(1,1fr);
	gap: 0;
	border-top: 1px solid rgba(255, 255, 255, 0.5);
}
.f_menu_list{
	display:block;
	width: 100%;
}
.f_menu_item{margin:0 !important;}
.f_menu_link{
	position: relative;
	display: block;
	width: 100%;
	padding:17px 20px;
	border-left: none;
}
.f_menu_link::before{
	content: '';
	position: absolute;
	top: 0;
	right: 22px;
	bottom: 0;
	left: auto;
	width: 6px;
	height: 13px;
	margin: auto;
	background: url(/img/common/arrow_r_white.svg) no-repeat;
	opacity: 1;
}
.f_menu_link.has_child::before, .f_menu_link.has_child::after{
	content: '';
	position: absolute;
	top: 0;
	right: 20px;
	bottom: 0;
	left: auto;
	width: 12px;
	height: 2px;
	margin: auto;
	background: #fff !important;
	clip-path: none;
}
.f_menu_link.has_child::after{
	transform:rotate(90deg);
	transition:opacity 0.3s;
}
.f_menu_link.open::after{opacity:0;}
.f_menu_child_list{
	display:none;
	width: auto;
	padding:0 0 0 20px;
	margin:0;
	border-bottom: 1px solid rgba(255, 255, 255, 0.5);
}
.f_menu_child_item{
	font-weight: 700;
	font-size: 1.4rem;
	letter-spacing: 1.12px;
	line-height: 1.7rem;
	margin-bottom: 0 !important;
}
.f_menu_child_link{
	display: block;
	padding: 16px 40px 16px 20px;
	background: url(/img/common/arrow_r_white.svg) no-repeat right 22px center;
	border-bottom: 1px solid rgba(255, 255, 255, 0.5);
	text-decoration: none;
}
.f_menu_child_item:last-child .f_menu_child_link{border-bottom: none;}
.f_menu_child_link::before{display: none;}
.f_menu_child_top{display: block;}
.f_menu_child_top .f_menu_child_link{padding-left: 0;}
.bnr_area::before{
	left: 20px;
	width: calc(100vw - 40px);
}
.bnr_link{max-width: 160px;}
.footer_bottom{
	flex-direction: column;
	padding: 0;
}
.f_sub_menu_list{
	display: flex;
	justify-content: center;
	gap: 30px;
	padding: 14px 20px;
	margin: 0;
	border-bottom: 1px solid #D6D6D6;
}
.f_sub_menu_item{position: relative;}
.f_sub_menu_item::after{
	content:'';
	position:absolute;
	display:block;
	top: 50%;
	transform: translateY(-50%);
	right: -15px;
	width:1px;
	height:16px;
	background:#D9D9D9;
}
.f_sub_menu_item:last-child:after{display:none;}
.f_sub_menu_link{
	letter-spacing: 0;
	text-align: center;
}
.copyright{
	padding: 18px 20px 20px;
	text-align: center;
}
.return_btn{
	right: 10px;
	bottom: 10px;
}

/*----- main -----*/
#index_wrap, #content_wrap{margin-top: 54px;}
[href^="tel:"]{
	text-decoration:underline;
	pointer-events:auto;
}
}

/*----- 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 -----*/