@charset 'UTF-8';
@import url('https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New:wght@300;400;500;700;900&display=swap');

:root{
	--black:#0D0D0F;
}
.halogen{
	font-family: "halogen", sans-serif;
	font-weight: 700;
	font-style: normal;
	letter-spacing:0.1em;
}

body{
	font-family:"Zen Kaku Gothic New", sans-serif;
	overflow-x:unset !important;
	color:var(--black);
}
body.home .wrap, .wrap{
	max-width:1400px;
	padding:0 20px;
}

.recruit-header{
	position:fixed;
	z-index: 9;
	width:100%;
	top:0;
	left:0;
	display:flex;
	align-items:center;
	justify-content:space-between;
	padding:20px 30px 0;
}
.recruit-header__logo{
	width:276px;
}
.recruit-header__menus__ul{
	display:flex;
	align-items:center;
	gap:24px;
}
.recruit-header__menus__li a{
	position:relative;
	display:block;
	padding:0 26px;
	height:52px;
	outline:5px dashed var(--black);
	outline-offset:-4px;
	border-radius:51px;
	width:222px;
	transition:all .3s ease;
}
.recruit-header__menus__li a:hover{
	opacity:1;
}
.recruit-header__menus__white a{
	color:var(--black);
}
.recruit-header__menus__li a::before{
	content:'';
	position:absolute;
	width:100%;
	height:100%;
	background:#FFF;
	border-radius:51px;
	top:0;
	left:0;
	z-index:1;
	transition:all .3s ease;
}
.recruit-header__menus__white a::before{
	background:#FFF;
}
.recruit-header__menus__black a::before{
	background:var(--black);
}
.recruit-header__menus__black a{
	color:#FFF;
	background:var(--black);
}
.recruit-header__menus__white a:hover{
	color:#FFF;
}
.recruit-header__menus__white a:hover::before{
	background:var(--black);
}
.recruit-header__menus__black a:hover::before{
	background:var(--blue);
}
.recruit-header__menus__li__text{
	position:relative;
	z-index:2;
	width:100%;
	height:100%;
	display:flex;
	align-items:center;
	justify-content:space-between;
	font-size:18px;
	font-weight:bold;
}
.recruit-header__menus__li__text::after{
	content:'';
	display: block;
	width:17px;
	height:8px;
	background:no-repeat center/contain url('img/icon-arrow.svg');
	transition:all .2s ease;
}
.recruit-header__menus__white a:hover .recruit-header__menus__li__text::after,
.recruit-header__menus__black .recruit-header__menus__li__text::after{
	filter:brightness(0) invert(1);
}


.recruit-main{
	position: relative;
}

.recruit-sidemenu{
	top:215px;
	left:0;
	/*
	position:sticky;
	float:left;
	margin-bottom:-230px;
	*/
	position:fixed;
	background:linear-gradient(to right, #E8F1F8, #D2EAF9);
	padding:30px;
	border-top-right-radius:20px;
	border-bottom-right-radius:20px;
	z-index:4;
	width:calc((100% - 1400px) / 2);
	min-width:200px;
	height:230px;
	transition:all 0.3s ease;
}
.recruit-sidemenu.onscroll{
	transform:translateX(-101%);
}
.recruit-sidemenu__inner{
	display:flex;
	align-items:center;
	justify-content:flex-end;
	height: 100%;
    width: 100%;
}
.recruit-sidemenu__ul{
	font-size:14.88px;
	font-weight:bold;
}
.recruit-sidemenu__ul li{
	white-space:nowrap;
	line-height:1;
}
.recruit-sidemenu__ul li:not(:last-of-type){
	margin-bottom:30px;
}
.recruit-sidemenu__ul li a{
	color:var(--black);
	position:relative;
	display:flex;
	align-items:center;
	gap:6px;
}
.recruit-sidemenu__ul li a::before{
	content:'';
	width:6px;
	height:12px;
	background:no-repeat center/contain url('img/icon-angle.svg');
}

.bg-recruitgrad{
	background:linear-gradient(to right, #FFF, #D2EAF9);
}

.recruit__firstbox{
	clear:both;
	padding-top: 120px;
}
.recruit-mv__slider .slick-track{
	width:calc(232vw * 7) !important;
}
.recruit-mv__slide__img{
	padding-right:4vw;
}
.recruit-mv__slide__img img{
	width:228vw;
}

.recruit-concept{
	padding-top:100px;
}
.recruit-concept__title{
	font-size:50px;
	font-weight:bold;
	margin-bottom:1em;
}
.recruit-concept__text{
	font-size:22px;
	font-weight:bold;
	line-height:2.5;
}


.recruit-firstbox__flex{
	display:flex;
	align-items:center;
	justify-content:space-between;
}
.recruit-firstbox__flex.n2{
	flex-direction:row-reverse;
}
.recruit-firstbox__flex__content{
	width:640px;
}
.recruit-firstbox__flex__img{
	width:357px;
}

.recruit-aboutus{
	padding:180px 0 260px;
}

.recruit-commontitle{
	padding-bottom:40px;
}
.recruit-commontitle .en-title{
	display:block;
	font-size:65px;
	line-height:1;
	letter-spacing:0.1em;
}
.recruit-commontitle .jp-title{
	display:block;
	font-size: 18px;
	font-weight:bold;
	margin-top:18px;
}
.recruit-aboutus__content{
	max-width:578px;
	padding-top:40px;
	border-top:1px dashed #AAA;
}
.recruit-aboutus__content__text{
	font-size:22px;
	line-height:1.8;
}
.recruit-aboutus__link{
	margin-top:80px;
}
.recruit-aboutus__link a{
	display:inline-flex;
	align-items:center;
	gap:16px;
	padding:16px 24px;
	border-radius:50px;
	color:#FFF;
	background:var(--black);
	outline:5px dashed var(--black);
	outline-offset:-4px;
	font-size:18px;
	font-weight:bold;
	line-height:1;
}
.recruit-aboutus__link a::after{
	content:'';
	width:17px;
	height:8px;
	background:no-repeat center/contain url('img/icon-arrow.svg');
	filter:brightness(0) invert(1);
}

.recruit-message{
	position:relative;
	z-index:2;
	margin-top:-80px;
	padding-top:150px;
	background:#FFF;
	border-radius:80px;
}
.recruit-message__wrap{
	position:relative;
}
.recruit-message__hv{
	position:absolute;
}
.recruit-message__hv.hv01{
	top: -100px;
    left: -50px;
}
.recruit-message__hv.hv02{
	top: 240px;
    right: -100px;
}
.recruit-message__title{
	position:relative;
}
.recruit-message__title__bgimg{
	text-align:center;
}
.recruit-message__title__box{
	position:absolute;
	left:0;
	bottom:100px;
}
.recruit-message__names{
	margin-top:20px;
}
.recruit-message__names small{
	display:block;
	font-size: 16px;
	font-weight:500;
}
.recruit-message__names em{
	display:block;
	font-size:31px;
	font-weight:normal;
}
.recruit-message__texts{
	margin-top:140px;
	display:flex;
	justify-content:space-between;
}
.recruit-message__text{
	width:calc(50% - 45px);
	font-size:22px;
	line-height:2;
}
.recruit-message__bottomimg{
	text-align:center;
	margin-top:120px;
}

.recruit-secondbox{
	position:relative;
	z-index:1;
	margin-top:-80px;
	padding:80px 0;
}

.recruit-environment{
	padding:140px 0;
}
.recruit-environment__contents{
	margin-top:25px;
}
.recruit-environment__content{
	padding:85px 0 100px;
	border-top:1px dashed #AAA;
}
.recruit-environment__content:last-of-type{
	border-bottom:1px dashed #AAA;
}
.js-recruit-environment__toggler{
	position:relative;
	cursor:pointer;
	padding-right:126px;
}
.recruit-environment__content__toggler{
	display:block;
	position:absolute;
	width:126px;
	height:126px;
	border-radius:50%;
	border:1px dashed #AAA;
	right:0;
	top:calc(50% - 63px);
}
.recruit-environment__content__toggler::before{
	content:'';
	position:absolute;
	top:calc(50% - 0.5px);
	left:calc(50% - 15px);
	width:30px;
	height:1px;
	background:var(--black);
	transform:rotate(-90deg);
	opacity:1;
	transition:all 0.3s ease;
}
.recruit-environment__content__toggler::after{
	content:'';
	position:absolute;
	top:calc(50% - 0.5px);
	left:calc(50% - 15px);
	width:30px;
	height:1px;
	background:var(--black);
}
.js-recruit-environment__toggler.open .recruit-environment__content__toggler::before{
	transform:none;
	opacity:0;
}
.recruit-environment__content__title{
	display:flex;
	align-items:flex-start;
	gap:26px;
}
.recruit-environment__content__title span{
	display:flex;
	align-items:center;
	justify-content:center;
	width:48px;
	height:48px;
	font-size:16px;
	border:1px solid var(--black);
	border-radius:50%;
}
.recruit-environment__content__title__text{
	padding-top:13px;
}
.recruit-environment__content__title__text .en-title{
	display:block;
	line-height:1;
	font-size:32px;
	margin-bottom:0.4em;
}
.recruit-environment__content__title__text .jp-title{
	display:block;
	font-size:18px;
	font-weight:bold;
}
.recruit-envitonment__content__titletext{
	padding-left:74px;
	margin-top:40px;
	font-size:22px;
}
.recruit-environment__content dd{
	display:none;
	padding-top:50px;
	padding-left:74px;
}
.recruit-environment__content__ddtext{
	font-size:22px;
	line-height:1.8;
}


.recruit-jbtopimg{
	position:relative;
	z-index:2;
	overflow:hidden;
	border-radius:80px;
	margin-top:-80px;
}
.recruit-jbtopimg img{
	width:100%;
}

.recruit-requirement{
	padding-top:100px;
}
.recruit-requirement__dls>dl{
	display:flex;
	justify-content:space-between;
	padding:70px 0;
	border-top:1px dashed #AAA;
}
.recruit-requirement__dls>dl:last-of-type{
	border-bottom:1px dashed #AAA;
}
.recruit-requirement__dls>dl>dt{
	width:186px;
}
.recruit-requirement__dls>dl>dd{
	width:calc(100% - 260px);
	padding-top:17px;
}
.recruit-requirement__dt--title{
	display:flex;
	justify-content:center;
	align-items:center;
	font-size:18px;
	font-weight:bold;
	border:1px solid #AAA;
	padding:18px 10px;
	line-height:1;
}
.recruit-requirement__dd--title{
	font-size:31px;
	font-weight:bold;
	margin-bottom:1em;
	margin-top: -0.6em;
}
.recruit-requirement__dd--text{
	font-size:22px;
	line-height:2;
}
.recruit-requirement__dd--text:not(:last-child){
	margin-bottom:1em;
}
.recruit-requirement__dd--text a{
	color: var(--black);
	text-decoration:underline;
	text-underline-offset: 4px;
}

.recruit-entrybtn{
	margin-top:100px;
}
.recruit-entrybtn a{
	position:relative;
	display:block;
	overflow:hidden;
	border-radius:50px;
	color:#FFF;
	height:383px;
	padding:0 100px;
}
.recruit-entrybtn a::before{
	content:'';
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	z-index:-1;
	background:no-repeat center/cover url('img/img-entry-btn.webp');
	transition:all 0.4s ease;
}
.recruit-entrybtn a:hover{
	opacity:1;
}
.recruit-entrybtn a:hover::before{
	transform:scale(1.1);
}
.recruit-entrybtn__contents{
	position:relative;
	display:flex;
	align-items:center;
	width:100%;
	height:100%;
	padding-right:100px;
}
.recruit-entrybtn--title .en-title{
	display:block;
	font-size:65px;
}
.recruit-entrybtn--title .jp-title{
	display:block;
	font-size:18px;
	font-weight:bold;
}
.recruit-entrybtn__toggler{
	display:flex;
	align-items:center;
	justify-content:center;
	width:100px;
	height:100px;
	border:1px dashed #FFF;
	border-radius:50%;
	position:absolute;
	right:0;
	top:calc(50% - 50px);
}
.recruit-entrybtn__toggler::before{
	content:'';
	width:28px;
	height:14px;
	background:no-repeat center/contain url('img/icon-arrow.svg');
	filter:brightness(0) invert(1);
}

#footer .footer-link{
	display:none;
}



@media only screen and (max-width:1400px){
	/* HEADER */
	.recruit-header__logo {
	    width: 200px;
	}
	.recruit-header__menus__li a{
		height:40px;
		width:190px;
	}

	/* FB */
	.recruit__firstbox{
		padding-top:115px;
	}
}

@media only screen and (max-width:991px){
	body{
		overflow-x:hidden;
	}
	/* HEADER */
	.recruit-header{
		padding:20px 20px 0;
	}
	.recruit-header__menus__ul{
		gap:10px;
	}
	.recruit-header__menus__li a{
		width:160px;
	}
	.recruit-header__menus__li__text{
		font-size:16px;
	}

	/* SIDEMENU */
	.recruit-sidemenu{
		display:none;
	}

	/* COMMON */
	.recruit-commontitle .en-title{
		font-size:50px;
	}

	/* MV */
	.recruit-mv__slide__img img{
		width:300vw;
	}
	.recruit-mv__slider .slick-track{
		width:calc(304vw * 7) !important;
	}

	/* FB */
	.recruit-firstbox__flex{
		flex-wrap:wrap;
		gap:60px;
	}
	.recruit-firstbox__flex__content{
		width:100%;
	}
	.recruit-firstbox__flex__img{
		width:100%;
		text-align:center;
	}

	/* CONCEPT/ABOUTUS */
	.recruit-concept{
		padding-top:40px;
	}
	.recruit-concept__title{
		font-size:40px;
	}
	.recruit-concept__text{
		line-height:2;
	}
	.recruit-aboutus__content{
		max-width:100%;
	}
	.recruit-aboutus__link{
		margin-top:40px;
		text-align:center;
	}

	/* MESSAGE */
	.recruit-message__title__bgimg{
		text-align:right;
	}
	.recruit-message__hv.hv01 {
	    top: -120px;
	    left: -100px;
	}
    .recruit-message__hv.hv02 {
        top: -40px;
        right: unset;
        left: -30px;
    }
	.recruit-message__text {
	    width: calc(50% - 10px);
	    font-size: 19px;
	}

	/* ENVIRONMENT */
	.recruit-environment__content{
		padding:40px 0;
	}
	.js-recruit-environment__toggler{
		padding-right:80px;
	}
	.recruit-environment__content__toggler{
		width:80px;
		height:80px;
		top:calc(50% - 40px);
	}

	/* REQUIREMENT */
	.recruit-requirement__dls>dl>dt{
		width:150px;
	}
	.recruit-requirement__dls>dl>dd {
	    width: calc(100% - 200px);
	}
	.recruit-requirement__dd--title{
		font-size:24px;
	}
	.recruit-requirement__dd--text{
		font-size:19px;
	}

	.recruit-entrybtn a {
	    border-radius: 20px;
	    height: 280px;
	    padding: 0 40px;
	}
	.recruit-entrybtn--title .en-title{
		font-size:46px;
	}
}

@media only screen and (max-width:767px){
	.fadeinr{
		transform:translateX(0) translateY(15px);
	}
	/* HEADER */
	.recruit-header {
        padding: 10px 10px 0;
    }
	.recruit-header__logo {
        width: 160px;
    }
	.recruit-header__menus__ul {
        gap: 4px;
    }
	.recruit-header__menus__li a {
        width: 80px;
        height: 30px;
        padding: 0 10px;
    }
	.recruit-header__menus__li__text{
		font-size:12px;
		justify-content:center;
	}
	.recruit-header__menus__li__text::after{
		content:none;
	}

	/* COMMON */
	.recruit-commontitle .en-title{
		font-size:6vw;
	}
	.recruit-commontitle .jp-title{
		margin-top:10px;
	}

	/* MV */
    .recruit-mv__slider .slick-track {
        width: calc(604vw* 7) !important;
    }
    .recruit-mv__slide__img img {
        width: 600vw;
    }

	/* FB */
	.recruit__firstbox{
		padding-top:50px;
	}

	/* CONCEPT/ABOUTUS */
	.recruit-concept__title {
        font-size: 28px;
        margin-bottom: 0.4em;
    }
	.recruit-concept__text{
		font-size:14px;
	}
	.recruit-aboutus{
		padding:60px 0;
	}
	.recruit-aboutus__content__text{
		font-size:15px;
	}

	/* MESSAGE */
	.recruit-message {
	    margin-top: 0;
	    padding-top: 60px;
	    border-radius: 0;
	}
	.recruit-message__hv{
		display:none;
	}
	.recruit-message__title__box {
		position:relative;
	    bottom: 0;
	    margin-top: 40px;
	}
	.recruit-message__names{
		margin-top:0;
	}
	.recruit-message__names em{
		font-size:24px;
	}
	.recruit-message__texts {
	    margin-top: 30px;
	    flex-wrap: wrap;
	    gap: 0;
	}
	.recruit-message__text {
        width: 100%;
        font-size: 15px;
    }
    .recruit-message__bottomimg{
    	margin-top:40px;
    }

    /* SB */
    .recruit-secondbox{
    	margin-top:0;
    	padding:0;
    }

    /* ENVIRONMENT */
    .recruit-environment {
	    padding: 60px 0;
	}
	.recruit-environment__contents{
		margin-top:0;
	}
	.recruit-environment__content{
		padding:30px 0;
	}
	.js-recruit-environment__toggler {
        padding-right: 0;
        padding-bottom: 60px;
    }
	.recruit-environment__content__toggler {
        width: 40px;
        height: 40px;
        top: unset;
        bottom: 0;
        left: calc(50% - 20px);
    }
    .recruit-environment__content__title__text .en-title{
    	font-size:4vw;
    }
    .recruit-environment__content__title__text .jp-title{
    	font-size:15px;
    }
    .recruit-environment__content__title{
    	gap:12px;
    }
    .recruit-envitonment__content__titletext{
    	padding-left:60px;
    	margin-top:20px;
    	font-size:14px;
    }
    .recruit-environment__content dd{
    	padding-top:20px;
    	padding-left:60px;
    }
    .recruit-environment__content__ddtext{
    	font-size:14px;
    }
    .recruit-jbtopimg{
    	border-radius:0;
    	margin-top:0;
    }

    /* REQUIREMENT */
    .recruit-requirement{
    	padding-top:60px;
    }
    .recruit-requirement__dls>dl {
	    flex-wrap: wrap;
	    gap: 20px;
	    padding:20px 0;
	}
	.recruit-requirement__dls>dl>dt{
		width:100%;
	}
	.recruit-requirement__dt--title{
		font-size:16px;
		padding:12px 10px;
	}
	.recruit-requirement__dls>dl>dd {
        width: 100%;
        padding-top:0;
    }
    .recruit-requirement__dd--title {
        font-size: 20px;
        margin-top: 0;
    }
    .recruit-requirement__dd--text {
        font-size: 14px;
    }

    .recruit-entrybtn a {
        border-radius: 20px;
        height: 180px;
        padding: 0 20px;
    }
    .recruit-entrybtn--title .en-title {
        font-size: 4vw;
    }
    .recruit-entrybtn--title .jp-title{
    	font-size:20px;
    }
    .recruit-entrybtn__contents{
    	padding-right:40px;
    }
    .recruit-entrybtn__toggler {
	    width: 40px;
	    height: 40px;
	    top: calc(50% - 20px);
	}
	.recruit-entrybtn__toggler::before{
		width:20px;
		height:10px;
	}
}
