@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:#333;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: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:#333;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: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;
	--font_saira:'Saira', 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;
}
.sp_size{display:none !important;}

/*----- header -----*/
#header_wrap{
	position:fixed;
	z-index: 20;
	width:100%;
	top:0;
	right:0;
	left:0;
	transition:box-shadow 0.3s, transform 0.3s, background-color 0.3s;
	background: #fff;
}
#header_wrap.at_top{background: transparent;}
#header_wrap.scroll{box-shadow:0px 3px 6px rgba(0,0,0,0.16);}
#header_wrap.hide{
	box-shadow:none;
	transform:translateY(-110%);
}
.header_box{
	display:flex;
	justify-content:space-between;
	align-items:center;
	z-index: 99;
	position: relative;
}
#logo{margin: 9px 0 0 30px;}
.logo_box{
	position: relative;
	width: 290px;
	height: 34px;
}
.logo_img{
	display:block;
	transition: opacity 0.3s;
	position: absolute;
	top: 0;
	left: 0;
}
#header_wrap.is_show .logo_img{transition: none;}
.logo_img--white{opacity: 0;}
.logo_img--black{opacity: 1;}
#header_wrap.at_top .logo_img--white{opacity: 1;}
#header_wrap.at_top .logo_img--black{opacity: 0;}
.logo_link{
	display:flex;
	align-items:baseline;
	gap: 29px;
	text-decoration: none;
}
.logo_txt{
	font-family:var(--font_poppins);
	font-size: 1.5rem;
	letter-spacing: 1.5px;
	color: #333;
	margin: 0;
	transition: color 0.3s;
}
#header_wrap.at_top .logo_txt{color:#fff;}
#header_wrap.is_show .logo_txt{transition: none;}
#toggle{display:block;}
.toggle_btn{
	position:relative;
	display:flex;
	align-items:center;
	justify-content:center;
	width:98px;
	height:74px;
	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:'';
	display:block;
	position:absolute;
	z-index:10;
	top: 50%;
	transform: translateY(-50%);
	left:0;
	right:0;
	margin:auto;
	width:38px;
	height:2px;
	background:#333;
	transition:all 0.3s;
}
#header_wrap.at_top .toggle_btn::before,
#header_wrap.at_top .toggle_btn::after,
#header_wrap.at_top .toggle_txt::before{
	background:#fff;
}
.toggle_btn::before{top: calc(50% - 8px);}
.toggle_btn::after{top: calc(50% + 8px);}
.toggle_btn.open::before{
	top:35px;
	transform:rotate(150deg);
}
.toggle_btn.open::after{
	top:35px;
	transform:rotate(-150deg);
}
.open .toggle_txt::before{
	opacity:0;
	visibility:hidden;
}
.menu_dis{display:none !important;}
#menu_box{
	display:block;
	position:fixed;
	z-index:10;
	inset: 0;
	width:100%;
	height:100%;
	background:#333;
	padding:115px 30px 60px;
	overflow-y:auto;
}
.menu_dis{display:none !important;}
.menu_nav{
	max-width: 1100px;
	margin: auto;
}
.menu_list{
	padding:0;
	display: grid;
	gap: 0 40px;
	grid-template-columns: repeat(3, 1fr);
}
.menu_item{
	margin:30px 0 0 0 !important;
	list-style:none;
	line-height: 2.4rem;
}
.menu_link{
	position:relative;
	display:block;
	font-weight: 500;
	font-size: 1.6rem;
	letter-spacing: 1.6px;
	color:#fff !important;
	text-decoration:none;
	transition:border .3s;
	padding: 16px 0;
	border-bottom: 1px solid #666;
	background: url(/recruit/img/common/arrow_r_white.svg) no-repeat right center;
}
.menu_link:hover{border-color: #fff;}
.menu_child_list{
	padding:25px 0 0;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
}
.menu_child_item{
	margin:0 0 13px 0 !important;
	list-style:none;
	line-height: 2.2rem;
}
.menu_child_item:nth-last-child(-n+2){margin-bottom: 0 !important;}
.menu_child_link{
	font-size: 1.4rem;
	letter-spacing: 1.4px;
	color: #fff !important;
	text-decoration: none;
	display: inline-block;
}
.menu_child_link:hover{text-decoration: underline;}

/*----- footer -----*/
#return {
	position: relative;
	z-index: 5;
}
.return_btn {
	display: block;
	position: fixed;
	right: 30px;
	bottom: 20px;
	width: 44px;
	height: 44px;
	background: #E5E5E5;
	opacity: 0;
	visibility: hidden;
	text-decoration: none;
	font-size: 0;
	transition: background 0.3s, opacity 0.3s, visibility 0.3s;
}
.return_btn:hover {background: #333;}
.return_btn.display {
	opacity: 1;
	visibility: visible;
}
.return_btn::after {
	content: '';
	display: block;
	position: absolute;
	top: 8px;
	right: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	width: 12px;
	height: 12px;
	border-top: 1px solid #333;
	border-right: 1px solid #333;
	transform: rotate(-45deg);
	transition: border .3s;
}
.return_btn:hover::after{border-color: #fff;}
.return_btn.pos_end {
	position: absolute;
	opacity: 1;
	visibility: visible;
}
.entry_area{
	padding: 60px 30px 70px;
	max-width: 1220px;
	margin: auto;
	position: relative;
	display: grid;
    grid-template-columns: 1fr 1fr;
	gap: 65px;
}
.entry_area::before{
	content: '';
	position: absolute;
	width:var(--vw-100);
	left:calc(50% - var(--vw-50));
	background: #333;
	height: 100%;
	z-index: -1;
}
.entry_copy{
	color: #fff;
	font-size: 3.2rem;
	letter-spacing: 3.2px;
	line-height: 4.6rem;
	margin-bottom: 25px;
}
.entry_copy strong{font-weight: 400;}
.entry_txt{
	color: #fff;
	font-size: 1.6rem;
	letter-spacing: 1.6px;
	margin-bottom: 0;
}
.entry_action{margin: 10px auto 0;}
.entry_link{margin-bottom: 23px;}
.entry_link_btn{
	display: block;
	width: 385px;
	padding: 24px 50px 24px 30px !important;
	background: #B30023 !important;
	color: #fff !important;
	font-size: 2rem;
	letter-spacing: 2px;
	text-decoration: none;
	transition: background 0.3s, color 0.3s;
	position: relative;
}
.entry_link_btn:hover{
	background:#fff !important;
	color:#333 !important;
}
.entry_link_btn::before, .entry_link_btn::after{
	content:'';
	position:absolute;
	top:0;
	right:30px;
	bottom:0;
	width:12px;
	height:12px;
	margin:auto;
	background:no-repeat center/cover;
	transition:opacity 0.3s;
}
.entry_link_btn::before{background-image:url(/recruit/img/common/popup_white.svg);}
.entry_link_btn:hover::before{opacity:0;}
.entry_link_btn::after{
	background-image:url(/recruit/img/common/popup_black.svg);
	opacity:0;
}
.entry_link_btn:hover::after{opacity:1;}
.entry_tel{
	font-weight: 500;
	font-size: 2rem;
	letter-spacing: 2px;
	line-height: 2.9rem;
	color: #fff;
	margin: 0;
}
.entry_tel a{color: #fff !important;}
.footer_menu{
	display: flex;
	justify-content: space-between;
	align-items: center;
	max-width: 1220px;
	margin: auto;
	padding: 15px 30px;
}
.f_list{
	display: flex;
	gap: 30px;
	padding: 0;
}
.f_item{
	margin: 0;
	list-style: none;
	line-height: 1.7rem;
}
.f_link{
	font-size: 1.2rem;
	letter-spacing: 1.2px;
	color: #333 !important;
	text-decoration: none;
	background: none !important;
	padding: 0 !important;
}
.f_link span{
	background-size: 10px;
	padding-right: 15px;
	background:url(/recruit/img/common/popup_black.svg) no-repeat right 5px/10px;
}
.f_link:hover{text-decoration: underline;}
.copyright{margin: 0;}
.copy_txt{
	font-size: 1.2rem;
	letter-spacing: 1.2px;
	line-height: 1.7rem;
}

/*----- main -----*/
a{
	color: #333;
	text-decoration:underline;
}
a:visited{color:#9E088F;}
a:hover{text-decoration:none;}
a[target="_blank"]{
	padding-right:20px;
	background:url(/recruit/img/common/popup_black.svg) no-repeat center right;
}
a.none[target="_blank"]{
	padding-left:0;
	background:none;
}
a[href$=".doc"], a[href$=".docx"]{
	padding-right:20px;
	background:url(/recruit/img/common/icon_word.svg) no-repeat center right;
}
a[href$=".xls"], a[href$=".xlsx"]{
	padding-right:20px;
	background:url(/recruit/img/common/icon_excel.svg) no-repeat center right;
}
a[href$=".pdf"]{
	padding-right:20px;
	background:url(/recruit/img/common/icon_pdf.svg) no-repeat center right;
}
a[href$=".zip"]{
	padding-right:20px;
	background:url(/recruit/img/common/icon_zip.svg) no-repeat center right;
}
a.none[href$=".pdf"]{
	padding-right:0;
	background:none;
}
[href^="tel:"]{
	color:#333 !important;
	pointer-events:none;
	text-decoration: none !important;
}
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;
	position:relative;
	width:292px;
	padding:13px 45px 13px 30px !important;
	background:#fff !important;
	border:1px solid #333;
	color:#333 !important;
	font-size:1.6rem;
	letter-spacing:1.6px;
	line-height:3.2rem;
	text-decoration:none !important;
	transition:background 0.3s, color 0.3s;
}
.link_btn:hover{
	background:#333 !important;
	color:#fff !important;
}
.link_btn::before, .link_btn::after{
	content:'';
	position:absolute;
	top:0;
	right:17px;
	bottom:0;
	width:15px;
	height:7px;
	margin:auto;
	background:no-repeat center/cover;
	transition:opacity 0.3s;
}
.link_btn::before{background-image:url(/recruit/img/common/arrow_r_black.svg);}
.link_btn:hover::before{opacity:0;}
.link_btn::after{
	background-image:url(/recruit/img/common/arrow_r_white.svg);
	opacity:0;
}
.link_btn:hover::after{opacity:1;}
.link_btn[target="_blank"]::before{background-image:url(/recruit/img/common/icon_popup.svg);}
.link_btn[target="_blank"]::after{background-image:url(/recruit/img/common/icon_popup_white.svg);}

@media screen and (max-width:1024px) {
.entry_area{gap: 50px;}
.entry_copy{
	font-size: 2.4rem;
	letter-spacing: 2.4px;
	line-height: 3.6rem;
	margin-bottom: 18px;
}
.entry_copy br{display:none;}
.entry_txt{
	font-size: 1.4rem;
	letter-spacing: 1.4px;
	line-height: 2.7rem;
}
.entry_link_btn{
	width: 315px;
	padding: 16px 40px 16px 20px !important;
	font-size: 1.4rem;
	letter-spacing: 1.4px;
	line-height: 3.2rem;
}
.entry_link_btn::before, .entry_link_btn::after{right:20px;}
.entry_tel{
	font-size: 1.6rem;
	letter-spacing: 1.6px;
	line-height: 2.4rem;
}
}

@media screen and (max-width:820px){
#logo{margin: 0 0 0 20px;}
.logo_link{gap: 20px;}
.logo_box{
	width: 205px;
	height: 24px;
}
.logo_txt{
	font-size: 1.2rem;
	letter-spacing: 1.2px;
}
.link_btn{
	width:264px;
	padding:10px 40px 10px 20px !important;
	font-size:1.4rem;
	letter-spacing:1.4px;
}
}

@media screen and (max-width:767px){
#wrapper.fixed .header_box{background: #333;}
#logo{margin: 0 0 0 15px;}
.logo_link{
	align-items: flex-start;
	flex-direction: column;
	gap: 4px;
}
.logo_box{width: 209px;}
.logo_txt{
	margin: 0 0 0 45px;
	line-height: 1.7rem;
}
.toggle_btn{
	width:78px;
	height:60px;
}
.toggle_btn.open::before, .toggle_btn.open::after{top:30px;}
#menu_box{padding:70px 20px 50px;}
.menu_list{
	grid-template-columns: 1fr;
	gap: 0;
}
.menu_item{
	line-height: 2.1rem;
	margin: 11px 0 0 0 !important;
}
.menu_link{
	font-size: 1.5rem;
	letter-spacing: 1.5px;
	padding: 17px 0;
}
.menu_child_list{
	padding:0 0 0 20px;
	grid-template-columns: repeat(1, 1fr);
}
.menu_child_item{
	margin:11px 0 0 0 !important;
	line-height: 2.2rem;
}
.menu_child_link{
	display: block;
	border-bottom: 1px dotted #666;
	font-size: 1.3rem;
	letter-spacing: 1.3px;
	padding: 10px 0;
	margin-bottom: 0;
	background: url(/recruit/img/common/arrow_r_white.svg) no-repeat right center;
}
.menu_child_link:hover{text-decoration: underline;}

.return_btn {right: 20px;}
.entry_area{
	padding: 43px 20px 45px;
	grid-template-columns: 1fr;
	gap: 20px;
}
.entry_copy{text-align: center;}
.entry_txt{text-align: center;}
.entry_copy br{display: block;}
.footer_menu{
	flex-direction: column;
	padding: 0;
}
.f_list{
	gap: 0;
	width: 100%;
	border-bottom: 1px solid #ccc;
}
.f_item{width: 50%;}
.f_item:first-child{border-right: 1px solid #ccc;}
.f_link{
	display: block;
	text-align: center;
	padding: 16px !important;
}
.copyright{margin: 13px 0;}
[href^="tel:"]{
	text-decoration:underline !important;
	pointer-events:auto;
}
.pc_size{display: none;}
}