/* 
 recruit
----------------------------------------------------------- */ 

/* fv */
.fv{
	height: 100vh;
	background-image: url("../img/recruit-top/fv-cloud-left.png"), url("../img/recruit-top/fv-cloud-right.png");
	background-position: top left, top right;
	background-repeat: no-repeat;
	background-size: clamp(150px, 25.5vw, 490px) auto;
	position: relative;
	display: flex;
	flex-direction: column;
}
.fv::before{
	content: "";
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	height: 100vh;
	background-image: linear-gradient(to bottom, #ADD8FA, #FFFFFF);
	z-index: -20;
}
.fv::after{
	content: "";
	position: fixed;
	left: 0;
	bottom: 0;
	width: clamp(350px, 37vw, 710px);
	height: 100vh;
	z-index: -10;
	background: url("../img/recruit-top/fv-mountain.png") left bottom / contain no-repeat;
}
.fv__loop{
	color: rgba(255,255,255,0.2);
	font-family: var(--font-en);
	font-style: italic;
	font-size: clamp(60px, 5.5vw, 105px);
	line-height: 1.35;
	position: absolute;
	left: 0;
	top: 30px;
	z-index: -12;
}
.fv__loop-left,
.fv__loop-right {
	display:flex;
	z-index: -1;
}
.fv__loop-left > li {
	animation:text-loop 240s linear 0s infinite;
	white-space: nowrap;
	flex-shrink: 0;
}
.fv__loop-left > li:nth-child(2) {
	animation:text-loop2 240s linear -120s infinite;
}
.fv__loop-right > li {
	animation:text-loop-right 240s linear 0s infinite;
	white-space: nowrap;
	flex-shrink: 0;
}
.fv__loop-right > li:nth-child(2) {
	animation:text-loop-right2 240s linear -120s infinite;
}
@keyframes text-loop {
	0% {
		transform:translateX(100%)
	}
	to {
		transform:translateX(-100%)
	}
}
@keyframes text-loop2 {
	0% {
		transform:translateX(0)
	}
	to {
		transform:translateX(-200%)
	}
}
@keyframes text-loop-right {
	0% {
		transform:translateX(-100%)
	}
	to {
		transform:translateX(100%)
	}
}
@keyframes text-loop-right2 {
	0% {
		transform:translateX(-200%)
	}
	to {
		transform:translateX(0)
	}
}
.fv-head {
	display: flex;
	flex-direction: column;
	align-items: center;
	width: min(90%,1200px);
	margin: 0 auto;
	color: var(--sub-color);
	padding-top: 80px;
	margin-bottom: clamp(20px, 2vw, 40px);
	position: relative;
	z-index: 1;
}
.fv-head__label {
	display: flex;
	justify-content: center;
	align-items: flex-end;
	margin: 0;
	font-size: var(--fontsize-28);
	-webkit-text-stroke: 10px #fff;
	paint-order: stroke fill;
	letter-spacing: 0.1em;
	margin-bottom: clamp(35px, 2.6vw, 50px);
	line-height: 1.3;
	font-weight: 900;
}
.fv-head__label-char {
	display: inline-block;
	transform: translateY(calc(var(--offset, 0) * var(--offset, 0) * 0.4px))
		rotate(calc(var(--offset, 0) * 1.6deg));
	transform-origin: center bottom;
}
.fv-head__main {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 15px;
	margin: 0;
	margin-bottom: 20px;
}
.fv-head__frame {
	position: relative;
	font-size: clamp(23px, 3.1vw, 60px);
	font-weight: 900;
	padding: 8px 16px;
	border: 5px solid var(--sub-color);
	background-color: #fff;
	box-shadow: 0 5px 0 var(--sub-color);
}
.fv-head__accent {
	color: var(--orange-color);
}
.fv-head__char {
	display: inline-block;
	opacity: 0;
	transform: translateY(18px) scale(0.6) rotate(8deg);
	transition: opacity 0.55s cubic-bezier(0.34, 1.56, 0.64, 1),
		transform 0.55s cubic-bezier(0.34, 1.56, 0.64, 1);
	line-height: 1.3;
}
.fv-head__char--accent {
	color: var(--orange-color);
}
.fv-head__frame--1 .fv-head__char {
	transition-delay: calc(0.85s + var(--idx-all, 0) * 0.035s);
}
.fv-head__frame--2 .fv-head__char {
	transition-delay: calc(1.85s + var(--idx, 0) * 0.04s);
}
.fv-head.is-active .fv-head__char {
	opacity: 1;
	transform: translateY(0) scale(1) rotate(0deg);
}
.fv-head.is-idle .fv-head__char {
	animation-name: fv-head-hop;
	animation-duration: 6.75s;
	animation-timing-function: ease;
	animation-iteration-count: infinite;
	animation-delay: calc(var(--idx-all, 0) * 0.16s);
}
@keyframes fv-head-hop {
	0% {
		transform: translate3d(0, 0, 0) rotate(0deg);
	}
	2.6% {
		transform: translate3d(0, 0, 0) rotate(0deg);
	}
	2.85% {
		transform: translate3d(0, -1rem, 0) rotate(20deg);
	}
	5.19% {
		transform: translate3d(0, -1rem, 0) rotate(20deg);
	}
	5.44% {
		transform: translate3d(0, -1rem, 0) rotate(0deg);
	}
	7.78% {
		transform: translate3d(0, -1rem, 0) rotate(0deg);
	}
	8.04% {
		transform: translate3d(0, 0, 0) rotate(0deg);
	}
	100% {
		transform: translate3d(0, 0, 0) rotate(0deg);
	}
}
.fv-head__sub {
	font-family: var(--font-en);
	color: var(--orange-color);
	font-weight: 900;
	font-style: italic;
	font-size: var(--fontsize-18);
}
@media (prefers-reduced-motion: reduce) {
	.fv-head__char {
		transition: none !important;
		animation: none !important;
		opacity: 1 !important;
		transform: none !important;
	}
}
.fv-illust__drone{
	position: absolute;
	left: clamp(50px, 8.3vw, 160px);
	top: clamp(70px, 5.7vw, 110px);
	height: clamp(110px, 10.9vw, 210px);
	width: auto;
	animation: fv-drone 18s infinite forwards ease-in-out;
	will-change: transform;
}
@keyframes fv-drone{
	0%{
		transform: translate3d(0, 0, 0) rotate(0deg);
	}
	11%{
		transform: translate3d(14px, -26px, 0) rotate(-2.2deg);
	}
	24%{
		transform: translate3d(-16px, 14px, 0) rotate(2deg);
	}
	37%{
		transform: translate3d(12px, 18px, 0) rotate(-1.4deg);
	}
	50%{
		transform: translate3d(-13px, -22px, 0) rotate(1.6deg);
	}
	61%{
		transform: translate3d(18px, -18px, 0) rotate(-2.6deg);
	}
	73%{
		transform: translate3d(-10px, 20px, 0) rotate(1.2deg);
	}
	85%{
		transform: translate3d(16px, 10px, 0) rotate(-1.8deg);
	}
	94%{
		transform: translate3d(-14px, -14px, 0) rotate(2.4deg);
	}
	100%{
		transform: translate3d(0, 0, 0) rotate(0deg);
	}
}
.fv-illust__cloud-l{
	position: absolute;
	left: 2.5%;
	top: clamp(180px, 17.7vw, 340px);
	height: clamp(65px, 4.4vw, 85px);
	width: auto;
	animation: fv-cloud 6s infinite forwards ease;
	will-change: transform;
}
.fv-illust__cloud-r{
	position: absolute;
	right: clamp(60px, 9.4vw, 180px);
	top: clamp(130px, 13.5vw, 260px);
	height: clamp(75px, 4.9vw, 95px);
	width: auto;
	animation: fv-cloud 7.2s 1.5s infinite forwards ease;
	will-change: transform;
}
@keyframes fv-cloud{
	40%{
		transform: translate3d(0, -30px, 0);
	}
}
@media (prefers-reduced-motion: reduce){
	.fv-illust__drone,
	.fv-illust__cloud-l,
	.fv-illust__cloud-r{
		animation: none;
	}
}
.fv-img{
	position: relative;
	z-index: -11;
	margin-bottom: 30px;
	flex: 1 1 auto;
	min-height: 0;
}
.fv-slider {
	width: 100%;
	height: 100%;
	overflow: inherit;
}
.fv-slider.swiper-container-coverflow {
	padding-top: 1vh;
	padding-bottom: 1vh;
}
.fv-slider.loading {
	opacity: 0;
	visibility: hidden;
}
.fv-slider__item {
	overflow: hidden;
	border: 4px solid var(--sub-color);
	border-radius: 8px;
}
.fv-slider__item picture {
	height: 100%;
}
.fv-slider__item img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: filter 0.3s ease;
}
.fv-slider__item:not(.swiper-slide-active) img {
	filter: blur(3px) brightness(1.1);
	background-color: rgba(255, 255, 255, 0);
}
.fv-people{
	position: absolute;
	right: calc(clamp(40px, 4.9vw, 95px) * -1);
	bottom: calc(clamp(50px, 5.2vw, 100px) * -1);
	width: clamp(200px, 22.9vw, 440px);
	height: auto;
	animation: fv-people-hop 8.4s ease-in-out infinite;
	will-change: transform;
}
@keyframes fv-people-hop{
	0%{ transform: translateY(0); }
	0.89%{ transform: translateY(-20px); }
	1.79%{ transform: translateY(0); }
	2.68%{ transform: translateY(-15px); }
	3.57%{ transform: translateY(0); }
	39.29%{ transform: translateY(0); }
	39.88%{ transform: translateY(-10px); }
	40.48%{ transform: translateY(0); }
	100%{ transform: translateY(0); }
}
@media (prefers-reduced-motion: reduce){
	.fv-people{
		animation: none;
	}
}

/* message */
.message{
	margin-top: clamp(90px, 9.9vw, 190px);
	padding-top: clamp(60px, 7.6vw, 145px);
	backdrop-filter: blur(5px);
	-webkit-backdrop-filter: blur(5px);
	background-color: rgba(255, 255, 255, 0);
	position: relative;
	z-index: 0;
}
.message .l-inner{
	position: relative;
	z-index: 1;
	padding-bottom: clamp(50px, 4.7vw, 90px);
}
.message .recruit-title{
	margin-bottom: clamp(40px, 4.1vw, 80px);
}
.message__text{
	line-height: 2.2;
	font-size: var(--fontsize-20);
	text-align: center;
	color: var(--sub-color);
}
.message__text + .message__text{
	margin-top: 2.2em;
}
.message__youtube{
	width: min(100%,600px);
	margin: clamp(40px, 4.7vw, 90px) auto 0;
}
.message-illust{
	position: relative;
	z-index: 0;
	pointer-events: none;
	margin-top: -140px;
}
.message-illust__cloud-l{
	position: absolute;
	left: 33%;
	top: clamp(120px, 11.2vw, 230px);
	height: clamp(75px, 4.9vw, 95px);
	width: auto;
	animation: fv-cloud 7.2s 1.5s infinite forwards ease;
	will-change: transform;
}
.message-illust__cloud-r{
	position: absolute;
	right: 30%;
	top: clamp(150px, 13vw, 250px);
	height: clamp(65px, 4.4vw, 85px);
	width: auto;
	animation: fv-cloud 6s infinite forwards ease;
	will-change: transform;
}
.message-illust__bird{
	position: absolute;
	right: 40%;
	top: clamp(200px, 15.6vw, 300px);
	height: clamp(80px, 5.5vw, 105px);
	width: auto;
	animation: message-bird-float 6s ease-in-out infinite;
	will-change: transform;
}
@keyframes message-bird-float{
	0%{
		transform: translate(0, 0) rotate(0deg);
	}
	25%{
		transform: translate(6px, -12px) rotate(2deg);
	}
	50%{
		transform: translate(0, -4px) rotate(0deg);
	}
	75%{
		transform: translate(-6px, -14px) rotate(-2deg);
	}
	100%{
		transform: translate(0, 0) rotate(0deg);
	}
}
@media (prefers-reduced-motion: reduce){
	.message-illust__bird{
		animation: none;
	}
}
.message-illust__bg{
	width: 100%;
	height: auto;
}
.message .u-text-loop{
	position: absolute;
	left: 0;
	top: clamp(20px, 4.4vw, 85px);
	z-index: -1;
	line-height: 1;
	font-family: var(--font-en);
	font-size: clamp(110px, 11.2vw, 230px);
	width: fit-content;
	color: rgba(255,255,255,1);
	-webkit-mask-image: linear-gradient(to bottom, rgba(0,0,0,0.7), rgba(0,0,0,0));
	mask-image: linear-gradient(to bottom, rgba(0,0,0,0.7), rgba(0,0,0,0));
}
.message .u-text-loop > div{
	padding-right: 0;
}

/* about */
.about{
	margin-top: -65px;
	position: relative;
	z-index: 1;
}
.about-wave img{
	width: 100%;
	height: auto;
}
.about .recruit-inner{
	padding-block: clamp(50px, 6.2vw, 120px) clamp(40px, 4.9vw, 95px);
	background-image: linear-gradient(to bottom, #133B8B, #1E5FEC);
	position: relative;
	z-index: 0;
}
.about .recruit-inner::before{
	content: "";
	position: absolute;
	right: min(5%,128px);
	top: clamp(30px, 3.4vw, 65px);
	width: clamp(250px, 31.2vw, 600px);
	height: clamp(250px, 25.5vw, 490px);
	background: url("../img/common/blur-bg-logo.png") right top / contain no-repeat;
	z-index: -1;
}
.about .recruit-title > span{
	font-family: var(--font-text);
}
.about__text{
	color: #fff;
	margin-block: clamp(20px, 2vw, 40px) clamp(30px, 3.4vw, 65px);
}
.about-imgs{
	margin-bottom: clamp(40px, 4.1vw, 80px);
	margin-inline: calc(50% - 50vw);
	width: 100vw;
}
.about-imgs__img{
	margin-bottom: clamp(30px, 2vw, 40px);
	overflow: hidden;
}
.about-imgs__slider{
	display: flex;
	gap: clamp(30px, 2vw, 40px);
	width: max-content;
	animation: companyMainSlider 60s linear infinite;
}
.about-imgs__slider img{
	border-radius: 10px;
	height: clamp(230px, 13.8vw, 265px);
	width: auto;
}
@keyframes companyMainSlider{
	from{
		transform: translateX(0);
	}
	to{
		transform: translateX(-50%);
	}
}
.about-list__item:not(:last-child){
	margin-bottom: clamp(30px, 2.6vw, 50px);
}
.about-list__item{
	background-color: #fff;
	padding: clamp(20px, 2vw, 40px);
	border-radius: 20px;
	border: 2px solid var(--sub-color);
	color: var(--sub-color);
	box-shadow: 0 6px 0 var(--sub-color);
}
.about-list__head{
	display: flex;
	justify-content: space-between;
	gap: 30px;
	margin-bottom: 24px;
	align-items: flex-start;
	flex-wrap: wrap;
}
.about-list__num{
	display: block;
	padding: 2px 10px;
	width: 115px;
	border-radius: 15px;
	background-color: var(--sub-color);
	color: #fff;
	text-align: center;
	font-size: var(--fontsize-14);
	line-height: 1.3;
	margin-top: 7px;
}
.about-list__title{
	flex: 1;
	font-size: var(--fontsize-22);
	font-weight: 700;
}
.about-list__grid{
	display: grid;
	gap: clamp(30px, 2.6vw, 50px);
	grid-template-columns: repeat(2, 1fr);
}
.about-list__grid-item{
	display: flex;
	flex-direction: column;
}
.about-list__grid-title{
	font-size: var(--fontsize-22);
	margin-bottom: 16px;
}
.about-list__grid-img{
	margin-bottom: 20px;
	position: relative;
	z-index: 0;
}
.about-list__grid-img img{
	width: 100%;
	height: auto;
	border: 2px solid var(19,59,139,0.2);
	border-radius: 10px;
}
.about-list__grid .about-list__text{
	margin-bottom: 24px;
}
.about-list__cta{
	margin-top: auto;
}
.about-list__box{
	margin-block: clamp(35px, 2.9vw, 55px) 30px;
	border: 2px dashed var(--sub-color);
	padding: clamp(20px, 2vw, 40px);
	border-radius: 20px;
	position: relative;
	z-index: 0;
}
.about-list__box + .about-list__cta .recruit-more{
	margin-inline: auto;
}
.about-list__box-title{
	position: absolute;
	left: 50%;
	top: -20px;
	transform: translateX(-50%);
	background-color: #fff;
	color: var(--sub-color);
	font-size: var(--fontsize-22);
	padding: 3px;
}
.about-list__box .about-list__grid-img{
	margin-bottom: 20px;
}
.about-list__box .about-list__grid-title{
	margin-bottom: 12px;
}
.about-list__box .about-list__grid .about-list__text{
	margin-bottom: 0;
}
.about-list__link-text{
	line-height: 1.8;
}
.about-list__item--01{
	background-image: url("../img/recruit-top/about01-bg.png");
	background-position: right bottom;
	background-size: 45% auto;
	background-repeat: no-repeat;
}
.about-list__item--01 .about-list__text{
	width: 55%;
}
.about-list__grid-item--surveying .about-list__grid-img img,
.about-list__grid-item--design .about-list__grid-img img{
	width: 88%;
	object-fit: cover;
}
.about-list__grid-item--surveying .about-list__grid-img::before,
.about-list__grid-item--design .about-list__grid-img::before{
	content: "";
	position: absolute;
	right: 0;
	bottom: -25px;
	background-position: center center;
	background-size: contain;
	background-repeat: no-repeat;
	height: 100%;
}
.about-list__grid-item--surveying .about-list__grid-img::before{
	width: clamp(80px, 8vw, 155px);
	background-image: url("../img/recruit-top/fv-illust-people.png");
}
.about-list__grid-item--design .about-list__grid-img::before{
	width: clamp(90px, 8.3vw, 160px);
	background-image: url("../img/recruit-top/illust-design.png");
}
.about-list__link{
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 10px;
	background-color: var(--sub-color);
	border-radius: 10px;
	color: #fff;
	padding: 20px 30px;
	transition: opacity var(--trans-base);
	background-image: url("../img/common/blur-bg-logo.png");
	background-position: center right clamp(30px, 3.4vw, 65px);
	background-size: clamp(250px, 22.4vw, 430px) auto;
	background-repeat: no-repeat;
	margin-bottom: 24px;
}
.about-list__link:hover{
	opacity: 0.7;
}
.about-list__link-more{
	display: block;
	margin-right: 32px;
	padding: 4px 24px;
	background-color: rgba(255,255,255,0.15);
	border-radius: 20px;
	line-height: 1.6;
	position: relative;
	z-index: 0;
	margin-left: auto;
}
.about-list__link-more::before{
	content: "";
	position: absolute;
	right: -32px;
	top: 50%;
	transform: translateY(-50%);
	width: 16px;
	height: 20px;
	background: url("../img/recruit/recruit-header-arrow.svg") center center / contain no-repeat;
}
.about-list-slider__wrap{
	position: relative;
	z-index: 0;
}
.about-list-slider{
	padding-bottom: 32px;
}
.about-list-slider__list{
	display: flex;
}
.about-list-slider__item{
	background-color: #fff;
	border: 2px solid var(--sub-color);
	border-radius: 10px;
	padding: 20px 30px;
	box-sizing: border-box;
	height: auto;
	display: flex;
	flex-direction: column;
}
.about-list-slider__text{
	line-height: 1.8;
	flex: 1;
}
.about-list-slider__pagination{
	display: flex;
	align-items: center;
	justify-content: center;
	position: absolute;
	bottom: 0 !important;
}
.about-list-slider__pagination .swiper-pagination-bullet{
	background: rgba(19,59,139,0.2);
	opacity: 1;
	margin: 0 8px !important;
	width: 10px !important;
	height: 10px !important;
	border-radius: 5px !important;
}
.about-list-slider__pagination .swiper-pagination-bullet-active{
	background: var(--sub-color);
}
.about-list-slider__nav-prev,
.about-list-slider__nav-next{
	position: absolute;
	top: calc((50% - 16px) - 14px);
	cursor: pointer;
	z-index: 10;
	width: 29px;
	height: 29px;
}
.about-list-slider__nav-prev{
	left: -15px;
	background: url("../img/recruit/recruit-slider-prev.svg") center center / contain no-repeat;
}
.about-list-slider__nav-next{
	right: -15px;
	background: url("../img/recruit/recruit-slider-next.svg") center center / contain no-repeat;
}

/* interview */
.interview{
	background-color: var(--bg-color);
	background-image: url("../img/recruit-top/interview-bg.png");
	background-position: center center;
	background-repeat: no-repeat;
	background-size: 100% auto;
}
.interview-wave img{
	width: 100%;
	height: auto;
	margin-top: -1px;
}
.interview .recruit-inner{
	padding-block: clamp(40px, 4.9vw, 95px);
}
.interview__head{
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 20px;
}
.interview__head .recruit-more{
	width: 270px;
}
.interview-slider__wrap{
	margin-right: calc(50% - 50vw);
	overflow: hidden;
	padding-top: clamp(30px, 4.1vw, 80px);
}
.interview-slider{
	overflow: inherit;
}
.interview-slider__item{
	width: 390px;
	flex-shrink: 0;
}
.interview-slider__item--mt{
	padding-top: clamp(30px, 3.1vw, 60px);
}
.interview-slider__item--mb{
	padding-bottom: clamp(30px, 3.1vw, 60px);
}
.interview-slider__img{
	margin-bottom: 24px;
}
.interview-slider__img img{
	width: 100%;
	transition: transform 0.8s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.interview-slider__item.interview-slider__item--mt:hover .interview-slider__img img{
	transform: scale(1.08) rotate(8deg);
}
.interview-slider__item.interview-slider__item--mb:hover .interview-slider__img img{
	transform: rotateY(360deg);
}
.interview-slider__contents{
	padding-left: clamp(15px, 3.4vw, 65px);
}
.interview-slider__catch{
	margin-bottom: 16px;
}
.interview-slider__catch span{
	display: block;
	padding: 10px;
	font-size: var(--fontsize-18);
	background-color: #fff;
	border: 2px solid var(--sub-color);
	width: fit-content;
	box-shadow: 3px 3px 0 var(--sub-color);
	line-height: 1.8;
}
.interview-slider__title{
	font-size: clamp(23px, 2vw, 40px);
	color: var(--sub-color);
	margin-bottom: 4px;
	transition: color var(--trans-base);
}
.interview-slider__item:hover .interview-slider__title{
	color: var(--orange-color);
}
.interview-slider__year{
	color: var(--gray-color);
}
.interview-slider__more{
	margin-top: 24px;
	width: fit-content;
	display: block;
	padding: 2px 24px;
	background-color: var(--sub-color);
	color: #fff;
	border-radius: 20px;
	font-size: var(--fontsize-14);
	transition: background-color var(--trans-base);
}
.interview-slider__item:hover .interview-slider__more{
	background-color: var(--orange-color);
}

/* data */
.data{
	backdrop-filter: blur(5px);
	-webkit-backdrop-filter: blur(5px);
	background-color: rgba(255, 255, 255, 0);
	padding-bottom: clamp(50px, 5.2vw, 100px);
}
.data .recruit-inner{
	padding-block: clamp(40px, 4.9vw, 95px) clamp(100px, 8.3vw, 160px);
}
.data .recruit-title{
	margin-bottom: clamp(20px, 2vw, 40px);
}
.data-wave img{
	width: 100%;
	height: auto;
	margin-top: -1px;
	filter: drop-shadow(0 15px 15px rgba(19,59,139,0.04));
}
.data-slider__wrap{
	overflow: hidden;
	margin-right: calc(50% - 50vw);
	position: relative;
	z-index: 0;
}
.data-slider{
	overflow: inherit;
	padding-bottom: clamp(25px, 2.6vw, 50px);
	padding-top: 40px;
}
.data-slider__item{
	background-color: #fff;
	border: 3px solid var(--sub-color);
	border-radius: 30px;
	padding: 30px;
	box-shadow: 0 3px 0 var(--sub-color);
	width: fit-content;
	height: auto;
	display: flex;
	flex-direction: column;
	justify-content: center;
	z-index: 0;
}
.data-slider__item--orange{
	border-color: var(--orange-color);
	box-shadow: 0 3px 0 var(--orange-color);
}
.data-slider__item > img,
.data-slider__item > picture > img{
	margin-inline: auto;
}
.data-slider__title{
	font-size: var(--fontsize-20);
	color: var(--sub-color);
	margin-bottom: 24px;
}
.data-slider__num{
	font-size: clamp(130px, 7.3vw, 140px);
	font-family: var(--font-en);
	line-height: 1;
	color: var(--orange-color);
	text-align: center;
}
.data-slider__unit{
	font-size: var(--fontsize-33);
	font-family: var(--font-text);
	color: var(--sub-color);
	margin-left: 16px;
}
.data-slider__num-mini p{
	text-align: center;
}
.data-slider__num-mini .data-slider__num{
	font-size: clamp(80px, 4.7vw, 90px);
}
.data-slider__num-mini .data-slider__unit{
	font-size: var(--fontsize-20);
}
.data-slider__num + .data-slider__num{
	padding-top: 10px;
	margin-top: 10px;
	border-top: 1px dashed var(--sub-color);
}
.data-ranking li:not(:last-child){
	margin-bottom: 20px;
}
.data-ranking li{
	line-height: 1.6;
	font-size: var(--fontsize-18);
	display: flex;
	align-items: center;
	gap: 20px;
}
.data-ranking li::before{
	content: "";
	width: 40px;
	height: 45px;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: contain;
}
.data-ranking li:nth-child(1)::before{
	background-image: url("../img/recruit-top/ranking1.png");
}
.data-ranking li:nth-child(2)::before{
	background-image: url("../img/recruit-top/ranking2.png");
}
.data-ranking li:nth-child(3)::before{
	background-image: url("../img/recruit-top/ranking3.png");
}
.data-ranking__wrap{
	flex: 1;
}
.data-ranking__orange{
	color: var(--orange-color);
	font-size: var(--fontsize-18);
}
.data-ranking__text{
	font-size: var(--fontsize-16);
}
.data-ranking__small{
	font-size: var(--fontsize-14);
}
.data-maru{
	padding-top: 20px;
	margin-top: 20px;
	border-top: 1px dashed var(--sub-color);
}
.data-maru li:not(:last-child){
	margin-bottom: 24px;
}
.data-maru li{
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	gap 5px;
}
.data-maru__title{
	flex: 1;
	padding-left: 25px;
	position: relative;
	z-index: 0;
}
.data-maru__title::before{
	content: "";
	position: absolute;
	left: 0;
	top: 10px;
	width: 13px;
	height: 13px;
	border-radius: 7px;
	background-color: var(--orange-color);
}
.data-maru__content{
	color: var(--sub-color)
}
.data-slider__item--holiday{
	background-image: url("../img/recruit-top/data-holiday-bg.png");
	background-position: center center;
	background-repeat: no-repeat;
	background-size: auto;
	width: 370px;
}
.data-slider__item--kurume{
	background-image: url("../img/recruit-top/data-kurume-bg.png");
	background-position: center center;
	background-repeat: no-repeat;
	background-size: auto;
	width: 420px;
}
.data-slider__item--kurume::before{
	content: "";
	position: absolute;
	right: 0;
	top: -39px;
	width: clamp(70px, 7.3vw, 140px);
	height: 140px;
	background: url("../img/recruit-top/data-kurume-illust.png") center top / contain no-repeat;
}
.data-slider__item--birthday{
	background-image: url("../img/recruit-top/data-birthday-bg.png");
	background-position: center top;
	background-repeat: no-repeat;
	background-size: 100% auto;
	width: 340px;
}
.data-slider__item--qualification{
	background-image: url("../img/recruit-top/data-qualification-bg.png");
	background-position: center center;
	background-repeat: no-repeat;
	background-size: auto;
	width: 520px;
}
.data-slider__item--qualification::before{
	content: "";
	position: absolute;
	right: 0;
	top: -30px;
	width: 110px;
	height: 213px;
	background: url("../img/recruit-top/data-qualification-illust.png") center top / contain no-repeat;
}
.data-slider__item--year{
	background-image: url("../img/recruit-top/data-year-bg.png");
	background-position: center center;
	background-repeat: no-repeat;
	background-size: auto;
	width: 350px;
}
.data-slider__item--year .data-slider__num-mini{
	width: fit-content;
	margin-inline: auto;
}
.data-slider__item--year .data-slider__unit{
	margin-inline: 8px;
}
.data-slider__item--like,
.data-slider__item--spend{
	background-image: url("../img/recruit-top/data-like-bg.png");
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	width: 610px;
}
.data-slider__item--like::before{
	content: "";
	position: absolute;
	right: 0;
	top: -39px;
	width: clamp(130px, 8.3vw, 160px);
	height: 120px;
	background: url("../img/recruit-top/data-like-illust.png") center top / contain no-repeat;
}
.data-slider__item--spend::before{
	content: "";
	position: absolute;
	right: 0;
	top: -39px;
	width: clamp(130px, 8.3vw, 160px);
	height: 117px;
	background: url("../img/recruit-top/data-spend-illust.png") center top / contain no-repeat;
}
.data-slider__item--overtime{
	background-image: url("../img/recruit-top/data-overtime-bg.png");
	background-position: center center;
	background-repeat: no-repeat;
	background-size: auto;
	width: 320px;
}
.data-slider__item--environment{
	background-image: url("../img/recruit-top/data-environment-bg.png");
	background-position: center center;
	background-repeat: no-repeat;
	background-size: auto;
	width: 360px;
}
.data-slider__item--environment .data-slider__title{
	margin-bottom: 0;
}
.data-slider__item--sales{
	background-image: url("../img/recruit-top/data-sales-bg.png");
	background-position: center center;
	background-repeat: no-repeat;
	background-size: auto;
	width: 760px;
}
.data-slider__item--sales .data-slider__title{
	margin-bottom: 6px;
}
.data-slider__btn{
	display: flex;
	align-items: center;
	gap: clamp(25px, 2.6vw, 50px);
	flex-wrap: wrap;
}
.data-slider__pagination{
	display: flex;
	align-items: center;
	position: relative;
	bottom: auto !important;
	left: auto !important;
	top: auto !important;
	width: fit-content !important;
}
.data-slider__arrows{
	display: flex;
	gap: 18px;
	align-items: center;
}
.data-slider__pagination .swiper-pagination-bullet{
	background: rgba(19,59,139,0.2);
	opacity: 1;
	margin: 0 8px !important;
	width: 10px !important;
	height: 10px !important;
	border-radius: 5px !important;
}
.data-slider__pagination .swiper-pagination-bullet-active{
	background: var(--sub-color);
}
.data-slider__nav-prev,
.data-slider__nav-next{
	position: relative;
	top: auto;
	left: auto;
	right: auto;
	cursor: pointer;
	z-index: 10;
	width: 44px;
	height: 44px;
}
.data-slider__nav-prev{
	background: url("../img/recruit/recruit-slider-prev.svg") center center / contain no-repeat;
}
.data-slider__nav-next{
	background: url("../img/recruit/recruit-slider-next.svg") center center / contain no-repeat;
}

/* process */
.beige-bg{
	border-radius: clamp(50px, 5.2vw, 100px) clamp(50px, 5.2vw, 100px) 0 0;
	background-image: url("../img/recruit-top/process-bg.jpg");
	margin-top: calc(clamp(50px, 5.2vw, 100px) * -1);
	position: relative;
	z-index: 1;
}
.process{
	padding-block: clamp(60px, 7.6vw, 145px) clamp(70px, 8.3vw, 160px);
}
.process .recruit-title{
	margin-bottom: clamp(40px, 4.1vw, 80px);
}
.c-tab{
	display: grid;
	gap: 20px;
	grid-template-columns: repeat(2, 1fr);
	margin-bottom: clamp(20px, 2vw, 40px);
}
.c-tab__btn{
	background-color: #fff;
	border: 2px solid var(--sub-color);
	border-radius: 10px;
	padding: 12px;
	text-align: center;
	color: var(--sub-color);
	transition: background-color var(--trans-base), color var(--trans-base), transform var(--trans-base), box-shadow var(--trans-base);
	box-shadow: 0 3px 0 var(--sub-color);
	line-height: 1.6;
}
.c-tab__btn:hover,
.c-tab__btn.is-active{
	background-color: var(--sub-color);
	color: #fff;
	transform: translateY(3px);
	box-shadow: none;
}
.process-list__item:not(:last-child){
	margin-bottom: clamp(40px, 3.4vw, 65px);
}
.process-list__item:not(:last-child)::after{
	content: "";
	position: absolute;
	left: 50%;
	transform: translateX(-50%) rotate(90deg);
	bottom: calc(clamp(30px, 2.3vw, 45px) * -1);
	width: 15px;
	height: 17px;
	background: url("../img/recruit/recruit-header-arrow.svg") center center / contain no-repeat;
}
.process-list__item{
	position: relative;
	z-index: 0;
	border: 1px solid var(--border-dark);
	padding: clamp(20px, 2.6vw, 50px);
	display: flex;
	justify-content: space-between;
	gap: clamp(20px, 2.9vw, 55px);
	flex-wrap: wrap;
}
.process-list__head{
	width: 320px;
	display: flex;
	gap: clamp(15px, 1.6vw, 30px);
	align-items: flex-start;
	flex-wrap: wrap;
}
.process-list__step{
	display: block;
	padding: 2px 10px;
	width: 115px;
	border-radius: 15px;
	background-color: var(--sub-color);
	color: #fff;
	text-align: center;
	font-size: var(--fontsize-14);
	line-height: 1.3;
	margin-top: 7px;
}
.process-list__title{
	flex: 1;
	font-size: var(--fontsize-22);
}
.process-list__content{
	flex: 1;
}
.process-list__text{
	line-height: 1.8;
}
.c-modal__content{
	width: fit-content;
}
.c-modal__body img{
	height:80vh;
	width: auto;
}
.process-list__flex{
	display: flex;
	gap: 30px;
	flex-wrap: wrap;
	align-items: flex-start;
}
.process-list__flex-img{
	width: clamp(250px, 15.6vw, 300px);
	position: relative;
	z-index: 0;
	transition: opacity var(--trans-base);
}
.process-list__flex-img:hover{
	opacity: 0.7;
}
.process-list__flex-img::before{
	content: "";
	width: 28px;
	height: 28px;
	position: absolute;
	right: 8px;
	bottom: 8px;
	background: url("../img/recruit-top/img-modal-icon.png") center center / contain no-repeat;
}
.process-list__flex-img img{
	border-radius: 4px;
	width: 100%;
	height: auto;
}
.process-list__flex-content{
	flex: 1;
}
.process-link-list{
	margin-top: 28px;
}
.process-new-list{
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	margin-top: 28px;
}
.process-new-list a{
	transition: opacity var(--trans-base);
	height: 60px;
	width: auto;
	display: block;
}
.process-new-list a:hover{
	opacity: 0.7;
}
.process-new-list a img{
	height: 100%;
	width: auto;
}
.process-list__box{
	margin-top: 30px;
	border: 1px solid var(--sub-color);
	border-radius: 10px;
	padding: 24px 32px;
	background-color: #fff;
}
.process-list__box-title{
	display: flex;
	column-gap: clamp(20px, 2vw, 40px);
	flex-wrap: wrap;
	margin-bottom: 20px;
	line-height: 1.8;
}
.process-list__box-title span{
	display: block;
	color: var(--sub-color);
}
.process-list__box-body{
	background-color: var(--bg-color);
	padding: 20px 24px;
	border-radius: 10px;
}
.process-list__box-body p{
	line-height: 1.8;
	text-align: left;
}
.process-list__box-body p span{
	color: var(--sub-color);
}
.process-list__cta{
	margin-block: 24px 32px;
}
.process-list__blue{
	color: var(--sub-color);
}
.process-career-list{
	display: grid;
	grid-column-gap: 20px;
	grid-row-gap: 16px;
	grid-template-columns: repeat(2, 1fr);
	margin-top: 20px;
}
.process-career-list li a{
	padding: 5px;
	transition: opacity var(--trans-base);
	background-color: #fff;
	border: 1px solid var(--border-dark);
	border-radius: 10px;
	height: 46px;
	width: 100%;
	display: grid;
	place-content: center;
	place-items: center center;
}
.process-career-list li a img{
	max-height: 37px;
	max-width: calc(100% - 30px);
	object-fit: contain;
	object-position: center center;
}

/* job */
.job{
	padding-bottom: clamp(50px, 6.8vw, 130px);
}
.job .recruit-title{
	margin-bottom: clamp(30px, 3.9vw, 75px);
}
.job__box{
	border: 2px solid var(--sub-color);
	padding: clamp(20px, 3.4vw, 65px);
	border-radius: 20px;
	margin-bottom: 30px;
	box-shadow: 0 6px 0 var(--sub-color);
	background-color: #fff;
}
.job-list__row{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 5px;
	border-bottom: 1px solid rgba(19,59,139,0.2);
	position: relative;
	z-index: 0;
	padding-bottom: 20px;
	margin-bottom: 20px;
	line-height: 1.8;
}
.job-list__row:last-of-type{
	margin-bottom: 0;
}
.job-list__term{
	width: clamp(120px, 9.9vw, 190px);
	color: var(--sub-color);
}
.job-list__description{
	flex: 1;
	text-align: left;
}
.job .c-accordion__item{
	background-color: #fff;
	border: 2px solid var(--sub-color);
	box-shadow: 0 6px 0 var(--sub-color);
	border-radius: 20px;
	line-height: 1.8;
}
.job .c-accordion__item:not(:last-child){
	margin-bottom: 30px;
}
.job .c-accordion__trigger{
	padding: 16px clamp(16px, 2vw, 40px);
	position: relative;
	z-index: 0;
}
.job .c-accordion__icon{
	right: clamp(16px, 2vw, 40px);
	top: 50%;
	transform: translateY(-50%);
}
.job .c-accordion__icon::before,
.job .c-accordion__icon::after{
	height: 3px;
	background-color: var(--sub-color);
	border-radius: 3px;
}
.job .c-accordion__panel{
	position: relative;
	z-index: 0;
	padding: 20px clamp(16px, 2vw, 40px) clamp(16px, 2vw, 40px);
}
.job .c-accordion__panel::before{
	content: "";
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	top: 0;
	width: calc(100% - clamp(16px, 2vw, 40px) - clamp(16px, 2vw, 40px));
	height: 100%;
	background-image: radial-gradient(circle, var(--sub-color) 1.5px, transparent 1.6px);
	background-position: top left;
	background-repeat: repeat-x;
	background-size: 10px 10px;
	pointer-events: none;
}
.job-accordion__title{
	font-size: var(--fontsize-18);
	color: var(--sub-color);
}
.job-qualification__sub,
.job-school__title{
	color: var(--sub-color);
	margin-bottom: 12px;
}
.job-school__list + .job-school__title{
	margin-top: 24px;
}
.job-qualification__list{
	display: grid;
	gap: 12px;
	grid-template-columns: repeat(2, 1fr);
}
.job-school__list{
	display: grid;
	gap: 12px;
	grid-template-columns: repeat(4, 1fr);
}

/* entry */
.entry{
	padding-block: clamp(60px, 7.6vw, 145px);
	background-color: #fff;
	background-image: url("../img/recruit-top/entry-bg.png");
	background-position: center bottom;
	background-repeat: no-repeat;
	background-size: 100% auto;
}

@media screen and (max-width: 1440px) {
	.process-list__head{
		width: 300px;
	}
}
@media screen and (max-width: 1280px) {
	.about-list__head{
		margin-bottom: 15px;
		gap: 10px;
	}
	.process-list__head{
		width: 100%;
		gap: 10px;
	}
	.process-list__title{
		width: 100%;
		flex: 1;
	}
	.process-list__item{
		gap: 15px;
	}
}
@media screen and (max-width: 1024px){
	.fv-head__label {
		-webkit-text-stroke: 7px #fff;
	}
	.fv-head {
		padding-top: 70px;
		margin-bottom: 20px;
	}
	.fv-head__main {
		gap: 15px;
		margin-bottom: 20px;
	}
	.fv-head__break {
		display: block;
	}
	.fv-illust__drone{
		left: 10px;
		top: 70px;
		height: 95px;
	}
	.fv-illust__cloud-l{
		top: 180px;
		height:50px;
	}
	.fv-illust__cloud-r{
		right: 15px;
		top: 130px;
		height: 65px;
	}
	.fv__loop{
		line-height: 1.2;
	}
	.message-illust__cloud-l{
		height: 55px;
		left: 25%;
	}
	.message-illust__cloud-r{
		height: 45px;
	}
	.message-illust__bird{
		top: 100px;
		height: 70px;
	}
}
@media screen and (max-width: 767px){
	.message__text{
		text-align: justify;
		line-height: 2;
	}
	.message-illust__cloud-l{
		left: 80px;
	}
	.message-illust__cloud-r{
		right: 100px;
	}
	.message-illust__bird{
		right: 140px;
	}
	.about-list__title{
		flex: auto;
		width: 100%;
	}
	.about-list__item--01 .about-list__text{
		width: 100%;
	}
	.about-list__grid{
		grid-template-columns: repeat(1, 1fr);
	}
	.about-list__grid-title{
		margin-bottom: 10px;
	}
	.about-list__grid-img{
		margin-bottom: 25px;
	}
	.about-list__grid .about-list__text{
		margin-bottom: 14px;
	}
	.about-list__grid-item--surveying .about-list__grid-img::before{
		height: 100%;
	}
	.about-list__grid-item--design .about-list__grid-img::before{
		height: 100%;
	}
	.about-list__box .about-list__grid-img{
		margin-bottom: 15px;
	}
	.about-list__box .about-list__grid-title{
		margin-bottom: 8px;
	}
	.about-list__cta .recruit-more{
		margin-inline: auto;
	}
	.about-list__link{
		padding: 20px;
	}
	.about-list-slider__item{
		padding: 20px;
	}
	.process-list__flex{
		gap: 15px;
	}
	.process-list__flex-img{
		width: 100%;
	}
	.process-list__flex-content{
		flex: auto;
		width: 100%;
	}
	.process-new-list{
		margin-top: 20px;
	}
	.process-list__box {
		margin-top: 20px;
		padding: 20px 24px;
	}
	.process-list__box-title{
		margin-bottom: 15px;
	}
	.process-career-list{
		gap: 15px;
	}
	.job-list__term{
		width: 100%;
	}
	.job-list__description{
		flex: auto;
		width: 100%;
	}
	.job-qualification__list{
		grid-template-columns: repeat(1, 1fr);
	}
	.job-school__list{
		grid-template-columns: repeat(2, 1fr);
	}
	.entry{
		background-image: url("../img/recruit-top/entry-bg-sp.png");
	}
	.interview{
		background-image: url("../img/recruit-top/interview-bg-sp.png");
	}
	.interview-slider__img{
		margin-bottom: 15px;
	}
	.interview-slider__catch{
		margin-bottom: 10px;
	}
	.interview-slider__catch span{
		padding: 8px;
		line-height: 1.6;
	}
	.interview-slider__more{
		margin-top: 14px;
	}
}
@media screen and (max-width: 480px){
	.fv-img{
		margin-bottom: 110px;
	}
	.fv-head__label{
		font-size: 18px;
		letter-spacing: 0.05em;
	}
	.fv-head__frame {
		padding: 5px 10px;
		border-width: 3px;
	}
	.message-illust__cloud-l{
		height: 45px;
	}
	.message-illust__cloud-r{
		height: 35px;
	}
	.message-illust__bird{
		height: 60px;
	}
	.interview-slider__item{
		width: 320px;
	}
	.process-list__box {
		padding: 20px;
	}
	.process-list__box-body{
		padding: 20px;
	}
	.process-list__title{
		width: 100%;
		flex: auto;
	}
	.about-list-slider__item{
		padding: 15px;
	}
	.process-list__title,
	.about-list__title{
		font-size: 18px;
	}
	.data-slider__wrap{
		margin-right: 0;
	}
}