@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:2;color:#222;height:100%;position:relative;letter-spacing:0.05em;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:#222;position:relative;letter-spacing:0.05em;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 -----*/
body.logged-in #header_wrap{top: 32px;}
:root{
	--vw-100:100vw;
	--vw-50:calc(var(--vw-100) / 2);
	--font_Montserrat:'Montserrat',sans-serif;
}

html{
	visibility:hidden;
	overflow-y:scroll;
}
html.wf-active, html.wf-inactive{visibility:visible;}

#wrapper{overflow:hidden;}
#wrapper.fixed{
	position:fixed;
	top:0;
	right:0;
	bottom:0;
	left:0;
}
#header_wrap.scroll{box-shadow:0px 3px 6px rgba(0,0,0,0.16);}

.tab_size{display:none !important;}
.sp_size{display:none !important;}

/*----- header -----*/
#header_wrap{
	position:fixed;
	top:0;
	right:0;
	left:0;
	display:flex;
	align-items:center;
	justify-content:space-between;
	width:100%;
	height: 90px;
	padding: 0 30px;
	background: #fff;
	z-index: 20;
	transition:box-shadow 0.3s, transform 0.3s;
}
.logo_link, .logo_img{
	display:block;
	width:100%;
}
#toggle{display:none;}
#menu{
	display:flex;
	align-items:center;
	gap: 30px;
}
.menu_list{
	display:flex;
	gap: 22px;
	padding:0;
	margin: 0;
}
.menu_item{
	line-height: 2.4rem;
	margin: 0 !important;
	list-style:none;
}
.menu_link{
	font-size: 1.5rem;
	letter-spacing: 0.75px;
	color:#222 !important;
	padding: 10px 0;
	text-decoration:none;
	transition: color 0.3s;
}
.menu_link:hover,
.menu_item.on .menu_link{
	color: #E03028 !important;
}
.menu_link.has_child{
	position: relative;
	padding-right: 15px;
}
.menu_link.has_child::before,
.menu_link.has_child::after{
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	margin: auto;
	background: #FF463E;
}
.menu_link.has_child::before{
	width: 11px;
	height: 1px;
}
.menu_link.has_child::after{
	width: 1px;
	height: 11px;
	transform: translateX(-5px);
	transition: opacity 0.3s;
}
.menu_item.active .menu_link.has_child::after{opacity: 0}
.sub_menu{
	display:flex;
	align-items:center;
	gap: 30px;
}
.instagram_link{
	display: block;
	background: none !important;
	transition: transform 0.3s;
}
.hirose_link{
	display: block;
	max-width:132px;
	background: none !important;
	transition: transform 0.3s;
}
.instagram_link:hover, .hirose_link:hover{
	transform: scale(1.05);
}
.instagram_link img, .hirose_link img{
	display: block;
	width: 100%;
}
.child_list{display: none;}
.dd_box{
	position:absolute;
	z-index:5;
	top:100%;
	left: calc(50% - var(--vw-50));
	width: var(--vw-100);
	background:#F5F7F8;
	opacity:0;
	visibility:hidden;
	box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
	transition:all 0.3s;
}
.dd_active .dd_box{
	opacity:1;
	visibility:visible;
}
.dd_box_in{
	position:absolute;
	display: flex;
	gap: 20px;
	top:0;
	right:0;
	left:0;
	max-width:1260px;
	padding: 10px 30px;
	margin:auto;
	opacity:0;
	visibility:hidden;
	transition:opacity 0.3s, visibility 0.3s;
}
.dd_active[data-menu-cate="recruit"] .dd_box_in.is_recruit{
	opacity:1;
	visibility:visible;
}
.dd_list{
	display:flex;
	justify-content: center;
	gap: 26px;
	width: 100%;
	padding: 0;
	margin:0;
}
.dd_item{
	font-size:1.4rem;
	letter-spacing:0.7px;
	line-height:3.1rem;
	margin-bottom: 0;
	list-style:none;
}
.dd_link{
	display:inline-block;
	color:#222 !important;
	text-decoration: none;
	transition: color 0.3s;
}
.dd_link:hover{color: #E03028 !important;}
.dd_item.c_on .dd_link{color: #E03028 !important;}

/*----- footer -----*/
.footer_area{
	position: relative;
	max-width: 1240px;
	padding: 0 30px;
	margin: 0 auto;
}
.footer_area::before{
	content:'';
	position:absolute;
	top:0;
	left: calc(50% - var(--vw-50));
	display: block;
	width: var(--vw-100);
	height: 100%;
	background: linear-gradient(
		to bottom,
		#fff 0,
		rgba(255, 255, 255, 0) 26.3%
		),
		url(/img/common/bg_footer.jpg) no-repeat center top / cover;
	z-index: -2;
	pointer-events: none;
}
.footer_top{
	padding: 80px 0 0;
	text-align: center;
}
.f_logo{
	display: block;
	margin: 0 auto 18px;
}
.f_top_copy img{margin: 0 auto 25px;}
.f_top_txt{
	font-family: var(--font_Montserrat);
	font-weight: 300;
	font-size: 1.7rem;
	line-height: 2.4rem;
	letter-spacing: 0;
	color: #89959F;
	margin: 0;
}
.footer_box{
	position: relative;
	display: flex;
	justify-content: space-between;
	padding: 65px 0 75px;
}
.f_info{
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}
.f_info_link{
	display: inline-block;
	width: 190px;
	margin-bottom: 13px;
}
.f_info p{
	font-size: 1.5rem;
	line-height: 2.7rem;
	letter-spacing: 0.75px;
	margin-bottom: 0;
}
.f_address_info .tel{color: #222 !important;}
.f_nintei{
	display: flex;
	gap: 20px;
}
.f_nintei_img{height: 63px;}
.f_hirose_link{
	display: block;
	max-width: 190px;
	transition: transform 0.3s;
}
.f_hirose_link:hover{transform: scale(1.05);}
.f_menu{
	display: flex;
	justify-content: space-between;
	width: 325px;
}
.f_menu_in{
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}
.f_menu_list{
	width: 130px;
	padding: 0;
	margin: 0;
}
.f_menu_item{
	line-height: 2.4rem;
	margin: 0 0 13px 0;
	list-style: none;
}
.f_menu_item:last-child{margin-bottom: 0;}
.f_menu_link{
	font-weight: 500;
	font-size: 1.5rem;
	letter-spacing: 0.75px;
	color: #222 !important;
	text-decoration: none;
}
.f_menu_link:hover{text-decoration: underline;}
.f_child_list{
	padding: 8px 0 0 10px;
	margin: 0;
}
.f_child_item{
	line-height: 2.1rem;
	padding: 0;
	margin-bottom: 8px;
	list-style: none;
}
.f_child_item:last-child{margin-bottom: 0;}
.f_child_item.f_child_top{display: none;}
.f_child_link{
	font-weight: 500;
	font-size: 1.3rem;
	letter-spacing: 0.65px;
	color: #222 !important;
	text-decoration: none;
}
.f_child_link:hover{text-decoration: underline;}
.f_submenu{
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 25px 0 28px;
	border-top: 1px solid #ddd;
}
.f_submenu_list{
	display: flex;
	gap: 20px;
	padding: 0;
	margin: 0;
}
.f_submenu_item{
	line-height: 1.9rem;
	margin: 0;
	list-style: none;
}
.f_submenu_link{
	font-weight: 500;
	font-size: 1.2rem;
	letter-spacing: 0.6px;
	color: #222 !important;
	text-decoration: none;
}
.f_submenu_link:hover{text-decoration: underline;}
.copyright{
	font-size: 1.2rem;
	line-height: 1.2rem;
	letter-spacing: 0.6px;
	opacity: 0.88;
}

/*----- main -----*/
#index_wrap, #content_wrap{margin-top: 90px;}
a{
	color:#222;
	text-decoration:underline;
}
a:visited{color: #9E088F;}
a:hover{text-decoration:none;}
a[target="_blank"]{
	padding-left:20px;
	background:url(/img/common/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;
}
[href^="tel:"]{
	color:#222 !important;
	pointer-events:none;
	text-decoration: none !important;
}
img{
	display:block;
	width:auto;
	max-width:100%;
	height:auto;
	-webkit-backface-visibility:hidden;
	backface-visibility:hidden;
}
a img{pointer-events:none;}
.link_btn{
	position: relative;
	display: inline-block;
	font-weight: 500;
	font-size: 1.6rem;
	line-height: 6.4rem;
	letter-spacing: 0.8px;
	color: #222 !important;
	padding-right: 84px;
	text-decoration: none;
	transition: color 0.3s;
}
.link_btn:hover{color: #E03028 !important;}
.link_btn::before,
.link_btn::after{
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	display: block;
	width: 64px;
	height: 64px;
	margin: auto;
	border-radius: 50%;
	z-index: 1;
}
.link_btn::before{
	background: #fff;
	border: 1px solid #ddd;
}
.link_btn::after{
	background: #FF463E;
	border: 1px solid #FF463E;
	transform: scale(0);
	filter: blur(8px); 
	opacity: 0;
	transform-origin: center;
	transition:	transform 0.3s cubic-bezier(.19,1,.22,1), filter 0.3s, opacity 0.3s;
}
.link_btn:hover::after{
	transform: scale(1.01);
	filter: blur(0px);
	opacity: 1;
}
.link_btn_txt::before,
.link_btn_txt::after{
	content: '';
	position: absolute;
	top: 0;
	right: 24px;
	bottom: 0;
	margin: auto;
	width: 16px;
	height: 16px;
	transition: opacity 0.3s;
	z-index: 2;
}
.link_btn_txt::before{background: url(/img/common/arrow_r_red.svg) no-repeat;}
.link_btn_txt::after{
	background: url(/img/common/arrow_r_white.svg) no-repeat;
	opacity: 0;
}
.link_btn:hover .link_btn_txt::before{opacity: 0;}
.link_btn:hover .link_btn_txt::after{opacity: 1;}

@media screen and (max-width:1024px){
.tab_size{display: block !important;}
/*----- header -----*/
#header_wrap{
	height: 70px;
	padding: 0 0 0 20px;
}
.logo_link, .logo_img{max-width: 140px;}
#toggle{display:block;}
.toggle_btn{
	position:relative;
	display:flex;
	align-items:center;
	justify-content:center;
	width:82px;
	height:70px;
	font-size:0;
	padding: 0;
	text-decoration:none;
	cursor: pointer;
}
.toggle_btn::before, .toggle_btn::after{
	content:'';
	position:absolute;
	top: 50%;
	transform: translateY(-50%);
	right: 0;
	left:0;
	width:42px;
	height:2px;
	margin: auto;
	transition: all 0.3s;
	z-index:10;
	background:#222;
}
.toggle_btn::before{top: calc(50% - 4px);}
.toggle_btn::after{top: calc(50% + 4px);}
.toggle_btn.open::before{
	top: 50%;
	transform: translateY(-50%) rotate(160deg);
}
.toggle_btn.open::after{
	top: 50%;
	transform: translateY(-50%) rotate(-160deg);
}
.menu_bg{
	position:fixed;
	top:0;
	left:0;
	width:var(--vw-100);
	height:100%;
	background:#000;
	opacity:0;
	z-index:5;
	visibility:hidden;
	cursor: pointer;
}
#wrapper.fixed .menu_bg{
	opacity:0.8;
	visibility:visible;
}
#menu{
	position: fixed;
	top: 70px;
	right: 0;
	left: 0;
	display: block;
	width: 100%;
	max-height: calc(100dvh - 70px);
	background: #fff;
	border-top: 1px solid #ddd;
	overflow: auto;
	z-index: 10;
	-webkit-overflow-scrolling: touch;
}
.menu_dis{display:none !important;}
.menu_list{display:block;}
.menu_item{
	line-height: 2.2rem;
	border-bottom:1px solid #ddd;
}
.menu_link{
	position: relative;
	display: block;
	font-weight: 500;
	font-size:1.4rem;
	letter-spacing: 0.7px;
	color:#222 !important;
	padding:17px 20px;
}
.menu_link.has_child::before, .menu_link.has_child::after{
	content:'';
	position:absolute;
	top:0;
	right:20px;
	bottom:0;
	width:14px;
	height:2px;
	margin:auto;
	background:#FF463E;
}
.menu_link.has_child::after{
	transform:rotate(90deg);
	transition:opacity 0.3s;
}
.menu_link.open::after{opacity:0;}
.child_list{
	padding: 0 20px;
	margin: 0;
	background: #FFF7F7;
	border-top: 1px solid #ddd;
}
.child_item{
	line-height: 2.6rem;
	margin: 0 !important;
	list-style: none;
	border-bottom: 1px solid #ddd;
}
.child_item:last-child{border-bottom:none;}
.child_link{
	position: relative;
	display: block;
	font-weight: 500;
	font-size: 1.3rem;
	letter-spacing: 0.65px;
	color: #222 !important;
	padding: 12px 20px 12px 22px;
	text-decoration: none;
}
.child_item.c_on .child_link{color: #E03028 !important;}
.child_link:not(.child_top .child_link)::before{
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	left: 10px;
	width: 5px;
	height: 1px;
	margin: auto;
	background: #222;
}
.child_item.c_on .child_link::before{background: #E03028;}
.child_top .child_link{padding: 13px 10px;}
.sub_menu{
	flex-direction: column;
	align-items: center;
	padding: 30px 0 40px;
}
.instagram_link{
	width: 30px;
	height: 30px;
}
.hirose_link{max-width: 154px;}
.dd_box{display: none;}

/*----- footer -----*/
.footer_area{padding: 0;}
.footer_top{padding: 45px 30px 0;}
.f_logo{max-width: 120px;}
.f_top_copy img{
	max-width: 570px;
	margin: 0 auto 27px;
}
.f_top_txt{
	font-size: 1.1rem;
	line-height: 1.1rem;
}
.footer_box{padding: 50px 30px;}
.f_info p{
	font-size: 1.4rem;
	line-height: 2.5rem;
	letter-spacing: 0.7px;
}
.f_nintei{gap: 15px;}
.f_nintei_img{height: 50px;}
.f_menu{width: 280px;}
.f_menu_list{width: 120px;}
.f_menu_item{margin: 0 0 9px 0;}
.f_menu_link{
	font-size: 1.4rem;
	letter-spacing: 0.7px;
}
.f_child_list{padding: 7px 0 0 10px;}
.f_child_item{margin-bottom: 5px;}
.f_child_link{
	font-size: 1.2rem;
	letter-spacing: 0.6px;
}
.f_submenu{padding: 25px 30px 28px;}
/*----- main -----*/
#index_wrap, #content_wrap{margin-top: 70px;}
.link_btn{
	font-size: 1.5rem;
	line-height: 5.4rem;
	letter-spacing: 0.75px;
	padding-right: 68px;
}
.link_btn::before,
.link_btn::after{
	width: 54px;
	height: 54px;
}
.link_btn_txt::before,
.link_btn_txt::after{
	right: 19px;
}
}

@media screen and (max-width:767px){
#wrapper.fixed{
	position:fixed;
	top:0;
	right:0;
	bottom:0;
	left:0;
}
.pc_size{display:none !important;}
.sp_size{display:block !important;}

/*----- footer -----*/
.footer_area::before{
	height: 453px;
	background: linear-gradient(
		to bottom,
		#fff 0,
		rgba(255,255,255,0) 26.3%,
		rgba(255,255,255,0) calc(100% - 26.3%),
		#fff 100%
	),
	url(/img/common/bg_footer.jpg) no-repeat center top / cover;
}
.footer_top{padding: 46px 20px 0;}
.f_logo{max-width: 120px;}
.f_top_copy img{margin: 0 auto 20px;}
.f_top_txt{
	font-size: 1.1rem;
	line-height: 1.9rem;
}
.footer_box{
	flex-direction: column;
	padding: 38px 0 73px;
}
.f_info{
	gap: 30px;
	padding: 0 20px 30px;
	text-align: center;
}
.f_info_link{margin-bottom:15px;}
.f_info p{
	font-size: 1.3rem;
	line-height: 2.3rem;
	letter-spacing: 0.65px;
	text-align: center;
}
.f_address_info .tel{color: #222 !important;}
.f_nintei{justify-content: center;}
.f_hirose_link{
	position: absolute;
	bottom: 0;
	max-width: 154px;
}
.f_menu{
	flex-direction: column;
	width: 100%;
	border-top: 1px solid #ddd;
}
.f_menu_in{display: contents;}
.f_menu_list{width: 100%;}
.f_menu_list--main{order: 1;}
.f_menu_list--sub{order: 3;}
.f_menu_list--recruit{order: 2;}
.f_menu_item{
	line-height: 2.2rem;
	margin: 0 !important;
	border-bottom: 1px solid #ddd;
}
.f_menu_link{
	position: relative;
	display: block;
	width: 100%;
	font-size: 1.4rem;
	letter-spacing: 0.7px;
	padding: 14px 20px;
}
.f_menu_link.has_child::before, .f_menu_link.has_child::after{
	content:'';
	position:absolute;
	top:0;
	right:20px;
	bottom:0;
	left: auto;
	width:14px;
	height:2px;
	margin:auto;
	background:#FF463E;
}
.f_menu_link.has_child::before{
	transform:rotate(90deg);
	transition:opacity 0.3s;
}
.f_menu_link.has_child.open::before{opacity: 0;}
.f_child_list{
	padding: 0;
	background: #FFF7F7;
	border-top: 1px solid #ddd;
}
.f_child_item{
	margin: 0 !important;
	border-bottom: 1px solid #ddd;
}
.f_child_item:last-child{border-bottom: none;}
.f_child_item.f_child_top{display: block;}
.f_child_link{
	position: relative;
	display: block;
	width: 100%;
	font-size: 1.3rem;
	letter-spacing: 0.65px;
	padding: 14px 30px 15px 42px;
}
.f_child_link:not(.f_child_top .f_child_link)::before{
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	left: 30px;
    width: 6px;
    height: 1px;
	margin: auto;
    background: #222;
}
.f_child_item.f_child_top .f_child_link{padding: 15px 30px;}
.f_submenu{
	flex-direction: column;
	align-items: flex-start;
	padding: 0;
	border: none;
}
.f_submenu_list{
	flex-direction: column;
	gap: 10px;
	width: 100%;
	padding: 32px 20px 45px;
	border-bottom: 1px solid #ddd;
}
.copyright{
	width: 100%;
	padding: 28px 0;
	text-align: center;
}

/*----- main -----*/
[href^="tel:"]{
	text-decoration:underline !important;
	pointer-events:auto;
}
.link_btn{
	font-size: 1.4rem;
	line-height: 5.4rem;
	letter-spacing: 0.7px;
}
}

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