@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:#222;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:#222;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_inter:'Inter', 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;}
.tab_size{display:none !important;}

/*----- header -----*/
#header_wrap{
	position:fixed;
	top:0;
	right:0;
	left:0;
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap: 36px;
	width:100%;
	height: 80px;
	padding: 0 10px 0 30px;
	background: #fff;
	z-index: 20;
	transition:box-shadow 0.3s, transform 0.3s;
}
#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;
	align-items:center;
}
.logo_link, .logo_img {
	display:block;
	width: 100%;
	max-width: 565px;
	margin: 0;
}
.header_link{
	display: block;
	width: 139px;
	font-weight: bold;
	font-size: 1.3rem;
	letter-spacing: 0.65px;
	line-height: 1.9rem;
	color: #CC0000 !important;
	padding: 7px 10px 8px;
	margin-right: 10px;
	text-decoration: none !important;
	text-align: center;
	border: solid 1px #E57E7E;
	border-radius: 5px;
	transition: color 0.3s, background 0.3s, border-color 0.3s;
}
.header_link:hover{
	color: #fff !important;
	background: #CC0000;
	border-color: #CC0000;
}
#toggle{display:block;}
.toggle_btn{
	position:relative;
	display:flex;
	align-items:center;
	justify-content:center;
	width:80px;
	height:80px;
	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:40px;
	height:2px;
	margin:auto;
	background:#CC0000;
	z-index:10;
	transition:all 0.3s;
}
.toggle_btn::before{top: calc(50% - 8px);}
.toggle_btn::after{top: calc(50% + 8px);}
.toggle_btn.open::before{
	top:40px;
	transform:rotate(150deg);
}
.toggle_btn.open::after{
	top:40px;
	transform:rotate(-150deg);
}
.open .toggle_txt::before{
	opacity:0;
	visibility:hidden;
}
.menu_bg{
	position:fixed;
	top:0;
	left:0;
	visibility:hidden;
	width:var(--vw-100);
	height:100%;
	background:#000;
	opacity:0;
	z-index:5;
	cursor: pointer;
}
#wrapper.fixed .menu_bg{
	opacity:0.8;
	visibility:visible;
}
.menu_dis{display:none !important;}
#menu_box{
	position:fixed;
	top:80px;
	right:0;
	left:0;
	display:block;
	width:100%;
	max-height: calc(100dvh - 80px);
	padding:30px 30px 46px;
	background:#fff;
	z-index:10;
	border-top: 1px solid #ddd;
	overflow-y:auto;
}
.menu_dis{display:none !important;}
.menu_block{
	display:grid;
	grid-template-columns:repeat(4, 1fr);
	gap:20px;
	max-width: 1200px;
	padding: 0 0 110px;
	margin:0 auto;
}
.menu_block_in{
	margin-bottom: 0;
	list-style:none;
}
.menu_head{
	font-weight:bold;
	font-size: 1.6rem;
	line-height: 2.56rem;
	padding-bottom: 10px;
	border-bottom: 1px solid #222;
}
.menu_list{
	display:block;
	padding:0;
	margin:0 auto;
}
.menu_item{
	line-height: 2.4rem;
	margin:0 !important;
	list-style:none;
}
.menu_link{
	display:block;
	font-weight: 500;
	font-size: 1.5rem;
	color:#222 !important;
	padding: 13px 40px 13px 10px;
	border-bottom: 1px solid #ddd;
	background: url(/ja/recruit/img/common/arrow_r_red.svg) no-repeat right 10px center;
	text-decoration:none;
	transition: color 0.3s;
}
.menu_link:hover,
.menu_item.on .menu_link{
	color: #CC0000 !important;
}
.sub_menu_list{
	display:flex;
	align-items: center;
	gap: 25px;
	max-width: 1200px;
	padding:0;
	margin: 0 auto;
}
.sub_menu_item{
	line-height: 2rem;
	margin: 0;
	list-style:none;
}
.sub_menu_link{
	display: inline-block;
	font-weight: 500;
	font-size: 1.2rem;
	color:#222 !important;
	text-decoration:none !important;
}
.sub_menu_link:hover{text-decoration:underline !important;}
.sub_menu_link.yt{/*CIS Edit*/
	padding-right: 35px;
	background: url(/ja/recruit/img/common/icon_youtube.svg) no-repeat center right !important;
}
/*.sub_menu_link.yt{
	padding-left: 35px;
	background: url(/ja/recruit/img/common/icon_youtube.svg) no-repeat center left !important;
}*/

/*----- footer -----*/
#return {
	position: relative;
	z-index: 5;
}
.return_btn {
	position: fixed;
	right: 20px;
	bottom: 20px;
	display: block;
	font-size: 0;
	width: 50px;
	height: 50px;
	background: #fff;
	box-shadow: 0px 3px 6px #0000001F;
	border-radius: 5px;
	opacity: 0;
	visibility: hidden;
	text-decoration: none;
	transition: background 0.3s, opacity 0.3s, visibility 0.3s;
}
.return_btn:hover {background: #CC0000;}
.return_btn.display {
	opacity: 1;
	visibility: visible;
}
.return_btn::before,
.return_btn::after{
	content: '';
	position: absolute;
	display: block;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	width: 26px;
	height: 15px;
	margin: auto;
	transition: opacity 0.3s;
}
.return_btn::before{background: url(/ja/recruit/img/common/arrow_t_red.svg) no-repeat center center;}
.return_btn::after{
	background: url(/ja/recruit/img/common/arrow_t_white.svg) no-repeat center center;
	opacity: 0;
}
.return_btn:hover::before {opacity: 0;}
.return_btn:hover::after {opacity: 1;}
.return_btn.pos_end {
	position: absolute;
	opacity: 1;
	visibility: visible;
}
.entry_box{
	position: relative;
	max-width: 1060px;
	padding: 60px 30px 100px;
	margin: 0 auto;
}
.entry_box::before{
	content: '';
	position: absolute;
	top: 0;
	left: calc(50% - var(--vw-50));
	width: var(--vw-100);
	height: 100%;
	background:url(/ja/recruit/img/common/bg.jpg)no-repeat center top/ cover;
	z-index: -2;
	pointer-events: none;
}
.entry_box::after{
	content:'';
	position: absolute;
	bottom: 0;
	left: calc(50% - var(--vw-50));
	width: var(--vw-100);
	height: 60px;
	background: linear-gradient(180deg, #FFFFFF00 0%, #FFFFFF 100%);
	z-index: -1;
	pointer-events: none;
}
.entry_ttl{
	font-size: 2rem;
	line-height: 2.9rem;
	color: #CC0000;
	padding: 0;
	margin: 0 0 40px;
	text-align: center;
}
.entry_ttl::before, .entry_ttl::after{all: unset;}
.entry_ttl::before{
	content: attr(data-en);
	display: block;
	font-family: var(--font_inter);
	font-weight: bold;
	font-size: 5.4rem;
	line-height: 6.5rem;
	color: #222;
}
.entry_col{
	display: grid;
	grid-template-columns: repeat(2,1fr);
	align-items: center;
	gap: 20px;
}
.entry_link{
	position: relative;
	display: flex;
	align-items: center;
	height: 80px;
	font-weight: bold;
	font-size: 1.8rem;
	line-height: 2.88rem;
	color: #222 !important;
	padding: 0 80px 0 24px;
	background: #fff;
	box-shadow: 0px 5px 20px #002A4A0F;
	text-decoration: none;
	border-radius: 5px;
	transition: color 0.3s;
}
.entry_link:hover{color: #880000 !important;}
.entry_link::before,
.entry_link::after{
	content: '';
	position: absolute;
	top: 0;
	right: 24px;
	bottom: 0;
	display: block;
	width: 36px;
	height: 36px;
	margin: auto;
	border-radius: 50%;
	transition: opacity 0.3s;
}
.entry_link::before{
	background: #fff url(/ja/recruit/img/common/arrow_r_red.svg) no-repeat center center;
	border: 1px solid #E57E7E;
}
.entry_link::after{
	background: #CC0000 url(/ja/recruit/img/common/arrow_r_white.svg) no-repeat center center;
	border: 1px solid #CC0000;
	opacity: 0;
}
.entry_link:hover::before{opacity: 0;}
.entry_link:hover::after{opacity: 1;}
.footer_box{
	position: relative;
	max-width: 1160px;
	padding:50px 30px 30px;
	margin: auto;
}
.footer_box::before{
	content:'';
	position: absolute;
	top:0;
	left: calc(50% - var(--vw-50));
	width: var(--vw-100);
	height:100%;
	background: #F7F7F7;
	z-index: -1;
	pointer-events: none;
}
.f_menu_block{
	display:grid;
	grid-template-columns:repeat(4, 1fr);
	gap:20px;
	padding:0 0 70px;
	margin:0;
}
.f_menu_block_in{
	margin-bottom: 0;
	list-style: none;
}
.f_menu_head{
	font-weight: bold;
	font-size: 1.4rem;
	line-height: 2rem;
	padding-bottom: 10px;
	margin-bottom: 14px;
	border-bottom: 1px solid #222;
}
.f_menu_list{
	padding:0;
	margin:0;
}
.f_menu_item{
	line-height:1.9rem;
	margin-bottom:13px;
	list-style:none;
}
.f_menu_item:last-child{margin:0 !important;}
.f_menu_link{
	position:relative;
	display:inline-block;
	font-weight: 500;
	font-size:1.3rem;
	color:#222 !important;
	padding-left:13px;
	text-decoration:none !important;
}
.f_menu_link:hover{text-decoration:underline !important;}
.f_menu_link::before{
	position:absolute;
	content:'';
	top:9px;
	left:0;
	width:5px;
	height:1px;
	background:#222;
}
.f_menu_col{
	display:flex;
	gap: 20px;
}
.f_bottom{
	display:flex;
	align-items:center;
	justify-content:space-between;
}
.f_sub_list{
	display:flex;
	align-items:center;
	gap: 25px;
	padding:0;
	margin:0;
}
.f_sub_item{
	font-size: 1.2rem;
	line-height: 2rem;
	margin:0;
	list-style:none;
}
.f_sub_link{
	display: inline-block;
	font-weight: 500;
	font-size: 1.2rem;
	color:#222 !important;
	text-decoration:none !important;
}
.f_sub_link:hover{text-decoration:underline !important;}
.f_sub_link.yt{ /*CIS Edit*/
	padding-right: 35px;
	background: url(/ja/recruit/img/common/icon_youtube.svg) no-repeat center right !important;
}
/*.f_sub_link.yt{
	padding-left: 35px;
	background: url(/ja/recruit/img/common/icon_youtube.svg) no-repeat center left !important;
}*/
.f_sub_link.ig{ /*instagram*/
	padding-left: 28px;
	background: url(/ja/recruit/img/common/icon_instagram.svg) no-repeat center left !important;
}
.copyright{
	font-family: var(--font_inter);
	font-size: 1.1rem;
	line-height: 1.4rem;
	color: #888;
}
/*----- main -----*/
#index_wrap, #content_wrap{margin-top: 80px;}
a{
	color: #222;
	text-decoration:underline;
}
a:visited{color:#222;} /*CIS Edit*/
/*a:visited{color:#9E088F;}*/
a:hover{text-decoration:none;}
a[target="_blank"], a.ico-popup{ /*CIS Edit*/
	padding-right:20px;
	background:url(/ja/recruit/img/common/popup.svg) no-repeat center right;
}
/*a[target="_blank"]{
	padding-left:20px;
	background:url(/ja/recruit/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(/ja/recruit/img/common/icon_word.svg) no-repeat center left;
}
a[href$=".xls"], a[href$=".xlsx"]{
	padding-left:20px;
	background:url(/ja/recruit/img/common/icon_excel.svg) no-repeat center left;
}
a[href$=".pdf"]{
	padding-left:20px;
	background:url(/ja/recruit/img/common/icon_pdf.svg) no-repeat center left;
}
a[href$=".zip"]{
	padding-left:20px;
	background:url(/ja/recruit/img/common/icon_zip.svg) no-repeat center left;
}
a.none[href$=".pdf"]{
	padding-left:0;
	background:none;
}
[href^="tel:"]{
	color:#222 !important;
	pointer-events:none;
}
img{
	display:block;
	width:auto;
	height:auto;
	max-width:100%;
	-webkit-backface-visibility:hidden;
	backface-visibility:hidden;
	/*-----CIS Edit-----*/
	user-select: none;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	pointer-events: none;
	-webkit-pointer-events: none;
	-moz-pointer-events: none;
	-ms-pointer-events: none;
}
a img{pointer-events:none;}
.link_btn{
	position:relative;
	display:block;
	width:220px;
	font-weight: bold;
	font-size:1.4rem;
	line-height:2rem;
	color:#CC0000 !important;
	padding:12px 40px 12px 18px !important;
	margin: 30px auto 0;
	background:#fff !important;
	border:1px solid #E57E7E;
	border-radius: 5px;
	text-decoration:none !important;
	transition:background 0.3s, color 0.3s, border 0.3s;
}
.link_btn--wide{width: 270px;}
.link_btn:hover{
	color:#fff !important;
	background:#CC0000 !important;
	border: 1px solid #CC0000;
}
.link_btn::before, .link_btn::after{
	content:'';
	position:absolute;
	top: 0;
	bottom: 0;
	right: 20px;
	width: 6px;
	height:10px;
	margin: auto;
	transition:opacity 0.3s;
}
.link_btn::before{background: url(/ja/recruit/img/common/arrow_r_red.svg) no-repeat center center;}
.link_btn::after{
	background: url(/ja/recruit/img/common/arrow_r_white.svg) no-repeat center center;
	opacity:0;
}
.link_btn:hover::before{opacity:0;}
.link_btn:hover::after{opacity:1;}
.link_btn--popup::before, .link_btn--popup::after{
	width: 14px;
	height: 14px;
	right: 15px;
}
.link_btn--popup::before{background: url(/ja/recruit/img/common/popup.svg) no-repeat center center;}
.link_btn--popup::after{
	background: url(/ja/recruit/img/common/popup_white.svg) no-repeat center center;
	opacity:0;
}
.link_btn--popup:hover::before{opacity:0;}
.link_btn--popup:hover::after{opacity:1;}

@media screen and (max-width:1279px){
.header_link{
	width: 116px;
	font-size: 1.2rem;
	letter-spacing: 0.6px;
	line-height: 1.7rem;
	padding: 8px 10px 9px;
}
.header_link:last-of-type{margin-right:0;}
}

@media screen and (max-width:1024px){
.tab_size{display:block !important;}
/*----- header -----*/
#header_wrap{
	height: 60px;
	padding: 0 0 0 20px;
}
.logo_link, .logo_img{max-width: 278px;}
.header_link{display: none;}
.toggle_btn{
	width:74px;
	height:60px;
}
.toggle_btn::before, .toggle_btn::after, .toggle_txt::before{width:34px;}
.toggle_btn.open::before, .toggle_btn.open::after{top:30px;}
#menu_box{
	top:60px;
	max-height: calc(100dvh - 60px);
	padding:30px 30px 40px;
}
.menu_block{
	grid-template-columns:repeat(2, 1fr);
	gap:30px;
	padding-bottom: 60px;
}
.menu_head{
	font-size: 1.5rem;
	line-height: 2.1rem;
	padding-bottom: 10px;
}
.menu_item{line-height: 2rem;}
.menu_link{font-size: 1.4rem;}
.sub_menu_list{gap: 20px;}

/*----- footer -----*/
.return_btn {
	width: 42px;
	height: 42px;
}
.entry_box{padding: 40px 30px 70px;}
.entry_box::after{height: 40px;}
.entry_ttl{
	font-size: 1.5rem;
	line-height: 2.1rem;
	margin: 0 0 30px;
}
.entry_ttl::before{
	font-size: 4.1rem;
	line-height: 5rem;
}
.entry_col{gap: 12px;}
.entry_link{
	height: 66px;
	font-size: 1.6rem;
	line-height: 2.4rem;
	padding: 0 60px 0 20px;
}
.entry_link::before,
.entry_link::after{
	right: 15px;
	width: 32px;
	height: 32px;
}
.footer_box{padding:40px 30px 30px;}
.f_menu_block{
	grid-template-columns:repeat(2, 1fr);
	gap:30px;
	padding:0 0 60px;
}
.f_sub_list{gap: 20px;}

/*----- main -----*/
#index_wrap, #content_wrap{margin-top: 60px;}
}

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

/*----- header -----*/
#menu_box{padding: 30px 20px 85px;}
.menu_block{
	grid-template-columns:repeat(1, 1fr);
	padding-bottom: 40px;
}
.sub_menu_list{
	flex-direction: column;
	align-items: flex-start;
	gap: 13px;
}

/*----- footer -----*/
.entry_box{padding: 40px 20px 60px;}
.entry_box::after{height: 30px;}
.entry_ttl{margin: 0 0 24px;}
.entry_col{grid-template-columns: repeat(1,1fr);}
.footer_box{padding:40px 20px 25px;}
.f_menu_block{
	grid-template-columns:repeat(1, 1fr);
	padding:0 0 40px;
}
.f_menu_col{
	flex-direction: column;
	gap: 15px;
}
.f_bottom{
	flex-direction: column;
	align-items: flex-start;
	gap: 40px;
}
.f_sub_list{
	flex-direction: column;
	align-items: flex-start;
	gap: 14px;
}
.copyright{margin: 0 auto;}

/*----- main -----*/
.link_btn{margin: 20px auto 0;}

}