@charset "UTF-8";
:root{
	--h_main: 216;
	--s_main: 96%;
	--s_mono: 16%;

	--main_base: var(--h_main), var(--s_main);

	--darkmain: hsla(var(--main_base), 16%, 1);
	--deepmain: hsla(var(--main_base), 32%, 1);
	--main: hsla(var(--main_base), 48%, 1);
	--lightmain: hsla(var(--main_base), 64%, 1);
	--thinmain: hsla(var(--main_base), 80%, 1);

	--mono_base: var(--h_main), var(--s_mono);

	--black: hsla(var(--mono_base), 4%, 1);
	--darkgray: hsla(var(--mono_base), 16%, 1);
	--deepgray: hsla(var(--mono_base), 32%, 1);
	--gray: hsla(var(--mono_base), 48%, 1);
	--lightgray: hsla(var(--mono_base), 64%, 1);
	--thingray: hsla(var(--mono_base), 80%, 1);
	--white: hsla(var(--mono_base), 96%, 1);
	--purewhite: hsla(0, 0%, 100%, 1);

	--accent_base: 56, 96%;

	--lightaccent: hsla(var(--accent_base), 72%, 1);
	--accent: hsla(var(--accent_base), 56%, 1);

	--ls_regular: 0.04em;
	--ls_large: 0.08em;

	--landscape: 4 / 3;
	--wide: 16 / 9;
	--square: 1;

	--rem: 16px;
	--inner: 90vw;
	--jobinner: 1080px;
	--applyinner: 692px;

	--card04: 4;
	--card03: 3;

	--screen-height: 100vh;
}
@supports (height: 100dvh){
	:root{
		--screen-height: 100dvh;
	}
}
@media screen and (min-width: 1920px){
	:root{
		--inner: 1728px;
	}
}
@media screen and (max-width: 1200px){
	:root{
		--jobinner: 90vw;
		--card04: 2;
		--card03: 2;
	}
}
@media screen and (max-width: 768px){
	:root{
		--rem: 4.1vw;
		--applyinner: 90vw;
		--card04: 1;
		--card03: 1;
	}
}





html{
	font-size: var(--rem);
	/*scroll-behavior: smooth;*/
	scroll-behavior: auto;
	-webkit-text-size-adjust: 100%;
	background: var(--purewhite);
}
body{
	margin: 0;
	font-optical-sizing: auto;
	color: var(--black);
	font-style: normal;
	line-height: 2;
	background: var(--purewhite);
}
body{
	/**
	 * 半角英数字の際にGoogle Sans、
	 * それ意外は基本的にはLINE Seed JPが優先される
	 */
	font-family: 'Google Sans', 'LINE Seed JP', sans-serif;
	/* 400, 700 */
	font-weight: 400;
}





/**
 * font
 */
.line{
	font-family: 'LINE Seed JP', sans-serif!important;
	/* 100, 400, 700, 800 */
	font-weight: 400;
}
.gs{
	font-family: 'Google Sans', sans-serif!important;
	/* 400, 500, 600, 700 */
	font-weight: 400;
	font-variation-settings: 'GRAD' 0;
}





/**
 * utility
 */
.nonei{
	display: none!important;
}
.flex{
	display: flex;
	align-items: center;
	flex-wrap: wrap;
}
.fwn{
	flex-wrap: nowrap;
}
.extendview{
	-ms-overflow-style: none;
	scrollbar-width: none;
}
.jcsb{
	justify-content: space-between;
}
.jcc{
	justify-content: center;
}
.jce{
	justify-content: end;
}
.aifs{
	align-items: flex-start;
}
.aife{
	align-items: flex-end;
}
.ais{
	align-items: stretch;
}
.center{
	text-align: center;
}
.right{
	text-align: right;
}
.peni{
	pointer-events: none!important;
}
.peai{
	pointer-events: auto!important;
}
.vertical{
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
}
.text_ellipsis{
	display: -webkit-box;
	-webkit-box-orient: vertical;
	overflow: hidden;
	-webkit-line-clamp: 1;
}
.text_ellipsis3{
	-webkit-line-clamp: 3;
}
.pr{
	position: relative;
}
.ofh{
	overflow: hidden;
}
.ofxh{
	overflow-x: hidden;
}
.ofya{
	overflow-y: auto;
}
.ofxa{
	overflow-x: auto;
}
.ofv{
	overflow: visible;
}
.vh{
	visibility: hidden;
}
.wsn{
	white-space: nowrap;
}
.mbme{
	mix-blend-mode: exclusion;
}
.mbmo{
	mix-blend-mode: overlay;
}
.inner{
	width: var(--inner);
	margin: 0 auto;
}
.sp{
	display: none;
}
svg{
	overflow: visible;
}
.visually_hidden{
	position: absolute!important;
	width: 1px!important;
	height: 1px!important;
	padding: 0!important;
	margin: -1px!important;
	overflow: hidden!important;
	clip: rect(0 0 0 0)!important;
	clip-path: inset(50%)!important;
	white-space: nowrap!important;
	border: 0!important;
}
@media screen and (max-width: 768px){
	.pc{
		display: none;
	}
	.sp{
		display: block;
	}
	.spjcfs{
		justify-content: flex-start;
	}
	.spjce{
		justify-content: end;
	}
}





/**
 * z-index
 */
header.layout_video,
header.layout_job,
header.layout_preparation{
	z-index: 100;
}
@media screen and (max-width: 1200px){
	header section.site .menu_btn{
		z-index: 200;
	}
}





/**
 * transition
 */
.links .link span,
.truck_wrap .truck_btn .field a span{
	transition:
		color .4s;
}
.links .link svg path,
.truck_wrap .truck_btn .field svg.truck path,
.truck_wrap .truck_btn .field a svg.arrow path,
.recruit_navigation button .field svg path,
section.job .job_bg .sticky .cta a svg path,
section.apply .layout .form .btns button svg path{
	transition:
		fill .4s;
}
.bgs .sticky .layers .layer{
	transition:
		opacity .8s;
}
.cards_wrap .cards .card a .image .thm{
	transition:
		transform .8s;
}
.cards_wrap .cards.white .card a,
.recruit_navigation button,
section.form .fl_wrap ul.form_lists li.form_list .block .item,
section.form .fl_wrap ul.form_lists li.form_list button .item,
section.apply .layout .form .btns button{
	transition:
		background .4s;
}
section.message .contents .txts_wrap .txts.white p span.row span.txt,
section.service .contents .txts_wrap .txts.white p span.row span.txt,
section.greeting .contents .txts_wrap .txts.white p span.row span.txt{
	transition:
		transform .8s,
		opacity .8s;
}
section.job .job_bg .sticky .cta a{
	transition:
		background-position .4s;
}
section.apply .layout .form .al_wrap ul.apply_lists li.apply_list dl dd .inputs input[type="text"],
section.apply .layout .form .al_wrap ul.apply_lists li.apply_list dl dd .inputs input[type="tel"],
section.apply .layout .form .al_wrap ul.apply_lists li.apply_list dl dd .inputs input[type="email"],
section.apply .layout .form .al_wrap ul.apply_lists li.apply_list dl dd .inputs textarea,
section.apply .layout .form .al_wrap ul.apply_lists li.apply_list dl dd .inputs label{
	transition: 
		background .4s,
		outline .4s;
}
@media screen and (max-width: 1200px){
	header section.site .menu{
		transition:
			transform .8s;
	}
	header section.site .menu_btn:before,
	header section.site .menu_btn:after{
		transition:
			transform .4s,
			background .4s;
	}
}





/**
 * animation
 */
@keyframes rotate-tire{
	from{
		transform: rotate(0deg);
	}
	to{
		transform: rotate(-360deg);
	}
}
@keyframes vibrate-body01{
	0%{
		transform: translate(0, 0);
	}
	40%{
		transform: translate(0, 0);
	}
	50%{
		transform: translate(0, -4px);
	}
	60%{
		transform: translate(0, 0);
	}
	100%{
		transform: translate(0, 0);
	}
}
@keyframes vibrate-body02{
	0%{
		transform: translate(0, 0) rotate(0deg);
	}
	40%{
		transform: translate(0, 0) rotate(0deg);
	}
	45%{
		transform: translate(0, calc(-4px * (1/2))) rotate(0.4deg);
	}
	50%{
		transform: translate(0, -4px) rotate(0deg);
	}
	55%{
		transform: translate(0, calc(-4px * (1/2))) rotate(-0.4deg);
	}
	60%{
		transform: translate(0, 0) rotate(0deg);
	}
	100%{
		transform: translate(0, 0) rotate(0deg);
	}
}
@keyframes move-lift{
	0%{
		transform: translate(0, 0);
	}
	20%{
		transform: translate(0, -28px);
	}
	50%{
		transform: translate(0, -28px);
	}
	70%{
		transform: translate(0, 0);
	}
	100%{
		transform: translate(0, 0);
	}
}
@keyframes jump-palette{
	0%{
		transform: translate(0, 0);
	}
	45%{
		transform: translate(0, 0);
	}
	50%{
		transform: translate(0, -4px) rotate(-4deg);
	}
	55%{
		transform: translate(0, 0);
	}
	100%{
		transform: translate(0, 0);
	}
}
@keyframes jump-box{
	0%{
		transform: translate(0, 0);
	}
	5%{
		transform: translate(0, 0);
	}
	10%{
		transform: translate(0, -4px) rotate(4deg);
	}
	15%{
		transform: translate(0, 0);
	}
	100%{
		transform: translate(0, 0);
	}
}
@keyframes bound-down{
	0%{
		transform: translate(-50%, 0);
	}
	49%{
		transform: translate(-50%, 0);
	}
	50%{
		transform: translate(-50%, -4px);
	}
	99%{
		transform: translate(-50%, -4px);
	}
	100%{
		transform: translate(-50%, 0);
	}
}
@keyframes bound-up{
	0%{
		transform: translate(-50%, 0);
	}
	49%{
		transform: translate(-50%, 0);
	}
	50%{
		transform: translate(-50%, 4px);
	}
	99%{
		transform: translate(-50%, 4px);
	}
	100%{
		transform: translate(-50%, 0);
	}
}
@media screen and (max-width: 768px){
	@keyframes vibrate-body01{
		0%{
			transform: translate(0, 0);
		}
		40%{
			transform: translate(0, 0);
		}
		50%{
			transform: translate(0, -1.03vw);
		}
		60%{
			transform: translate(0, 0);
		}
		100%{
			transform: translate(0, 0);
		}
	}
	@keyframes vibrate-body02{
		0%{
			transform: translate(0, 0) rotate(0deg);
		}
		40%{
			transform: translate(0, 0) rotate(0deg);
		}
		45%{
			transform: translate(0, calc(-1.03vw * (1/2))) rotate(0.4deg);
		}
		50%{
			transform: translate(0, -1.03vw) rotate(0deg);
		}
		55%{
			transform: translate(0, calc(-1.03vw * (1/2))) rotate(-0.4deg);
		}
		60%{
			transform: translate(0, 0) rotate(0deg);
		}
		100%{
			transform: translate(0, 0) rotate(0deg);
		}
	}
	@keyframes move-lift{
		0%{
			transform: translate(0, 0);
		}
		20%{
			transform: translate(0, -7.18vw);
		}
		50%{
			transform: translate(0, -7.18vw);
		}
		70%{
			transform: translate(0, 0);
		}
		100%{
			transform: translate(0, 0);
		}
	}
	@keyframes jump-palette{
		0%{
			transform: translate(0, 0);
		}
		45%{
			transform: translate(0, 0);
		}
		50%{
			transform: translate(0, -1.03vw) rotate(-4deg);
		}
		55%{
			transform: translate(0, 0);
		}
		100%{
			transform: translate(0, 0);
		}
	}
	@keyframes jump-box{
		0%{
			transform: translate(0, 0);
		}
		5%{
			transform: translate(0, 0);
		}
		10%{
			transform: translate(0, -1.03vw) rotate(4deg);
		}
		15%{
			transform: translate(0, 0);
		}
		100%{
			transform: translate(0, 0);
		}
	}
	@keyframes bound-down{
		0%{
			transform: translate(-50%, 0);
		}
		49%{
			transform: translate(-50%, 0);
		}
		50%{
			transform: translate(-50%, -0.51vw);
		}
		99%{
			transform: translate(-50%, -0.51vw);
		}
		100%{
			transform: translate(-50%, 0);
		}
	}
	@keyframes bound-up{
		0%{
			transform: translate(-50%, 0);
		}
		49%{
			transform: translate(-50%, 0);
		}
		50%{
			transform: translate(-50%, 0.51vw);
		}
		99%{
			transform: translate(-50%, 0.51vw);
		}
		100%{
			transform: translate(-50%, 0);
		}
	}
}





/**
 * component
 * links
 */
.links{
	gap: 24px;
}
.links .link,
.links .link span,
.links .link svg{
	display: block;
}
.links .link:has(svg){
	padding-right: calc(16px + 8px);
}
.links .link span{
	font-size: 16px;
	letter-spacing: var(--ls_regular);
}
.links .link svg{
	position: absolute;
	top: 50%;
	right: 0;
	transform: translate(0, -50%);
	width: 16px;
	height: 16px;
}
@media screen and (max-width: 768px){
	.links{
		gap: 6.15vw;
	}
	.links .link:has(svg){
		padding-right: calc(3.33vw + 2.05vw);
	}
	.links .link span{
		font-size: 3.33vw;
	}
	.links .link svg{
		width: 3.33vw;
		height: 3.33vw;
	}
}





/**
 * component
 * links
 * color
 */
.links.black .link span{
	color: var(--black);
}
.links.black .link svg path{
	fill: var(--black);
}
.links.black .link:hover span{
	color: var(--main);
}
.links.black .link:hover svg path{
	fill: var(--main);
}
.links.white .link span{
	color: var(--white);
}
.links.white .link svg path{
	fill: var(--white);
}
.links.white .link:hover span{
	color: var(--accent);
}
.links.white .link:hover svg path{
	fill: var(--accent);
}





/**
 * component
 * truck_btn
 */
.truck_wrap .truck_btn .field{
	width: calc(372px * (432/372));
	height: calc(372px * (106/372));
}
.truck_wrap .truck_btn .field svg.truck,
.truck_wrap .truck_btn .field a,
.truck_wrap .truck_btn .field a span,
.truck_wrap .truck_btn .field a svg.arrow{
	display: block;
}
.truck_wrap .truck_btn .field svg.truck,
.truck_wrap .truck_btn .field a,
.truck_wrap .truck_btn .field a span,
.truck_wrap .truck_btn .field a svg.arrow{
	position: absolute;
}
.truck_wrap .truck_btn .field svg.truck,
.truck_wrap .truck_btn .field a{
	top: 0;
}
.truck_wrap .truck_btn .field svg.truck{
	left: 0;
	width: 372px;
	height: calc(372px * (106/372));
}
.truck_wrap .truck_btn .field svg.truck path.tire{
	transform-box: fill-box;
	transform-origin: center;
}
.truck_wrap .truck_btn .field:has(a:hover) svg.truck path.tire{
	animation: rotate-tire 1.6s linear infinite;
}
.truck_wrap .truck_btn .field a{
	left: calc(372px * (60/372));
	width: calc(372px * (312/372));
	height: calc(372px * (72/372));
}
.truck_wrap .truck_btn .field a span,
.truck_wrap .truck_btn .field a svg.arrow{
	top: 50%;
}
.truck_wrap .truck_btn .field a span{
	left: 50%;
	transform: translate(-50%, -50%);
	font-size: 16px;
	letter-spacing: var(--ls_regular);
	font-weight: 500;
}
.truck_wrap .truck_btn .field a svg.arrow{
	right: 16px;
	transform: translate(0, -50%);
	width: 16px;
	height: 16px;
}
@media screen and (max-width: 768px){
	.truck_wrap .truck_btn .field{
		width: calc((95.38vw * (3/4)) * (432/372));
		height: calc((95.38vw * (3/4)) * (106/372));
	}
	.truck_wrap .truck_btn .field svg.truck{
		width: calc(95.38vw * (3/4));
		height: calc((95.38vw * (3/4)) * (106/372));
	}
	.truck_wrap .truck_btn .field a{
		left: calc((95.38vw * (3/4)) * (60/372));
		width: calc((95.38vw * (3/4)) * (312/372));
		height: calc((95.38vw * (3/4)) * (72/372));
	}
	.truck_wrap .truck_btn .field a span{
		font-size: 3.33vw;
	}
	.truck_wrap .truck_btn .field a svg.arrow{
		right: 3.33vw;
		width: 3.33vw;
		height: 3.33vw;
	}
}





/**
 * component
 * truck_btn
 * color
 */
.truck_wrap .truck_btn.white .field svg.truck path,
.truck_wrap .truck_btn.white .field a svg.arrow path{
	fill: var(--white);
}
.truck_wrap .truck_btn.white .field a span{
	color: var(--white);
}
.truck_wrap .truck_btn.white .field:has(a:hover) svg.truck path,
.truck_wrap .truck_btn.white .field a:hover svg.arrow path{
	fill: var(--accent);
}
.truck_wrap .truck_btn.white .field a:hover span{
	color: var(--accent);
}
.truck_wrap .truck_btn.black .field svg.truck path,
.truck_wrap .truck_btn.black .field a svg.arrow path{
	fill: var(--black);
}
.truck_wrap .truck_btn.black .field a span{
	color: var(--black);
}
.truck_wrap .truck_btn.black .field:has(a:hover) svg.truck path,
.truck_wrap .truck_btn.black .field a:hover svg.arrow path{
	fill: var(--main);
}
.truck_wrap .truck_btn.black .field a:hover span{
	color: var(--main);
}





/**
 * component
 * truck_btn
 * margin
 */
.truck_wrap{
	margin-top: 80px;
}
section.backlists .truck_wrap{
	margin-top: 0;
}
@media screen and (max-width: 768px){
	.truck_wrap{
		margin-top: 20.51vw;
	}
}





/**
 * component
 * phrase
 */
.phrase{
	margin-bottom: 80px;
}
.phrase .jp .txt,
.phrase .en .txt{
	display: block;
	line-height: 1.25;
}
.phrase .jp .txt{
	font-size: 120px;
	font-weight: 700;
}
.phrase .en .txt{
	font-size: 28px;
	letter-spacing: var(--ls_regular);
	font-weight: 500;
}
.phrase .jp .txt span.ruby:before{
	position: absolute;
	top: 0;
	left: 0;
	transform: translate(0, -50%);
	width: 100%;
	font-size: 0.2em;
	line-height: 1;
	text-align: center;
}
@media screen and (max-width: 1200px){
	.phrase .jp .txt{
		font-size: 76px;
	}
}
@media screen and (max-width: 768px){
	.phrase{
		margin-bottom: 20.51vw;
	}
	.phrase .jp .txt{
		font-size: 16.41vw;
	}
	.phrase .en .txt{
		font-size: 4.1vw;
	}
}





/**
 * component
 * phrase
 * ruby
 */
.phrase .jp .txt span.ruby.butsu:before{
	content: 'ぶつ';
}
.phrase .jp .txt span.ruby.ryuu:before{
	content: 'りゅう';
}
.phrase .jp .txt span.ruby.gi:before{
	content: 'ぎ';
}
.phrase .jp .txt span.ruby.fu:before{
	content: 'ふ';
}
.phrase .jp .txt span.ruby.tsuu:before{
	content: 'つう';
}
.phrase .jp .txt span.ruby.yu:before{
	content: 'ゆ';
}
.phrase .jp .txt span.ruby.sou:before{
	content: 'そう';
}
.phrase .jp .txt span.ruby.bu:before{
	content: 'ぶ';
}
.phrase .jp .txt span.ruby.na:before{
	content: 'な';
}
.phrase .jp .txt span.ruby.go:before{
	content: 'ご';
}
.phrase .jp .txt span.ruby.ya:before{
	content: 'や';
}
.phrase .jp .txt span.ruby.ji:before{
	content: 'じ';
}
.phrase .jp .txt span.ruby.gyou:before{
	content: 'ぎょう';
}
.phrase .jp .txt span.ruby.sho:before{
	content: 'しょ';
}
.phrase .jp .txt span.ruby.sai:before{
	content: 'さい';
}
.phrase .jp .txt span.ruby.you:before{
	content: 'よう';
}
.phrase .jp .txt span.ruby.jou:before{
	content: 'じょう';
}
.phrase .jp .txt span.ruby.hou:before{
	content: 'ほう';
}
.phrase .jp .txt span.ruby.kashi:before{
	content: 'かし';
}
.phrase .jp .txt span.ruby.kiri:before{
	content: 'きり';
}
.phrase .jp .txt span.ruby.ka:before{
	content: 'か';
}
.phrase .jp .txt span.ruby.kou:before{
	content: 'こう';
}
.phrase .jp .txt span.ruby.ko:before{
	content: 'こ';
}
.phrase .jp .txt span.ruby.ho:before{
	content: 'ほ';
}
.phrase .jp .txt span.ruby.kan:before{
	content: 'かん';
}
.phrase .jp .txt span.ruby.kabu:before{
	content: 'かぶ';
}
.phrase .jp .txt span.ruby.shiki:before{
	content: 'しき';
}
.phrase .jp .txt span.ruby.gai:before{
	content: 'がい';
}
.phrase .jp .txt span.ruby.sha:before{
	content: 'しゃ';
}
.phrase .jp .txt span.ruby.kai:before{
	content: 'かい';
}
.phrase .jp .txt span.ruby.dai:before{
	content: 'だい';
}
.phrase .jp .txt span.ruby.hyou:before{
	content: 'ひょう';
}
.phrase .jp .txt span.ruby.ai:before{
	content: 'あい';
}
.phrase .jp .txt span.ruby.satsu:before{
	content: 'さつ';
}
.phrase .jp .txt span.ruby.jin:before{
	content: 'じん';
}
.phrase .jp .txt span.ruby.shin:before{
	content: 'しん';
}
.phrase .jp .txt span.ruby.to:before{
	content: 'と';
}
.phrase .jp .txt span.ruby.a:before{
	content: 'あ';
}
.phrase .jp .txt span.ruby.kaku:before{
	content: 'かく';
}
.phrase .jp .txt span.ruby.nin:before{
	content: 'にん';
}
.phrase .jp .txt span.ruby.ryou:before{
	content: 'りょう';
}
.phrase .jp .txt span.ruby.shixtu:before{
	content: 'しっ';
}
.phrase .jp .txt span.ruby.pai:before{
	content: 'ぱい';
}





/**
 * component
 * phrase
 * mini
 */
.phrase.mini{
	margin-bottom: 20px;
}
.phrase.mini .jp .txt{
	font-size: 64px;
}
@media screen and (max-width: 768px){
	.phrase.mini{
		margin-bottom: 5.13vw;
	}
	.phrase.mini .jp .txt{
		font-size: 12.31vw;
	}
}





/**
 * component
 * phrase
 * color
 */
.phrase.white .jp .txt,
.phrase.white .en .txt{
	color: var(--white);
}
.phrase.purewhite .jp .txt,
.phrase.purewhite .en .txt{
	color: var(--purewhite);
}
.phrase.black .jp .txt,
.phrase.black .en .txt{
	color: var(--black);
}
.phrase.accent .jp .txt,
.phrase.accent .en .txt{
	color: var(--accent);
}





/**
 * component
 * phrase
 * margin
 */
footer section.name .phrase,
section.about_mv .phrase,
section.recruit_mv .phrase,
section.privacypolicy_mv .phrase,
section.contact_mv .phrase,
section.notfound_mv .phrase{
	margin-bottom: 0;
}





/**
 * component
 * title
 */
.title{
	height: 96px;
	margin-bottom: 120px;
}
.title .area,
.title .jp{
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}
.title .area svg.forklift,
.title .jp span.txt{
	display: block;
	position: absolute;
}
.title .area svg.forklift{
	bottom: 0;
	left: calc(50% + (125px * (160/125)));
	width: 125px;
	height: calc(125px * (82/125));
}
.title .area svg.forklift path{
	fill: var(--white);
}
.title .jp span.txt{
	top: 0;
	transform: translate(-50%, 0);
	font-size: 64px;
	color: var(--purewhite);
	font-weight: 700;
	line-height: 1;
}
.title .jp span.txt:nth-child(1){
	left: calc(50% - ((64px * (1/2)) * 3));
}
.title .jp span.txt:nth-child(2){
	left: calc(50% - ((64px * (1/2)) * 1));
}
.title .jp span.txt:nth-child(3){
	left: calc(50% + ((64px * (1/2)) * 1));
}
.title .jp span.txt:nth-child(4){
	left: calc(50% + ((64px * (1/2)) * 3));
	transform: none;
	color: var(--accent);
}
@media screen and (max-width: 768px){
	.title{
		height: 18.46vw;
		margin-bottom: 30.77vw;
	}
	.title .area svg.forklift{
		left: calc(50% + 10.26vw);
		width: calc(32.05vw * (3/4));
		height: calc((32.05vw * (3/4)) * (82/125));
	}
	.title .jp span.txt{
		transform: translate(0, 0);
		font-size: 12.31vw;
	}
	.title .jp span.txt:nth-child(1){
		left: calc(5vw + (12.31vw * 0));
	}
	.title .jp span.txt:nth-child(2){
		left: calc(5vw + (12.31vw * 1));
	}
	.title .jp span.txt:nth-child(3){
		left: calc(5vw + (12.31vw * 2));
	}
	.title .jp span.txt:nth-child(4){
		left: calc(5vw + (12.31vw * 3));
	}
}





/**
 * component
 * bgs
 */
.bgs{
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	background: var(--main);
}
.bgs .sticky{
	position: sticky;
	top: 0;
	width: 100%;
	height: var(--screen-height);
}
.bgs .sticky .layers{
	width: 100%;
	height: 100%;
}
.bgs .sticky .layers .layer{
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	opacity: 0;
}
.bgs .sticky .layers .layer.act{
	opacity: 1;
}
.bgs .sticky .layers .layer video{
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}
.bgs .sticky .layers .layer .cover{
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, .8);
}
.bgs .sticky .layers .layer .main{
	position: absolute;
	inset: 0;
	background: var(--main);
}





/**
 * component
 * bgs
 * roadmarking
 */
.bgs .sticky .layers .layer .roadmarking{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 2400px;
	height: calc(2400px * (1080/2400));
}
.bgs .sticky .layers .layer .roadmarking svg{
	display: block;
	width: 100%;
	height: 100%;
}
.bgs .sticky .layers .layer .roadmarking svg path{
	fill: none;
	stroke-miterlimit: 10;
	stroke-width: 1px;
}
.bgs .sticky .layers .layer .roadmarking.purewhite svg path{
	stroke: var(--purewhite);
}
.bgs .sticky .layers .layer .roadmarking.lightgray svg path{
	stroke: var(--lightgray);
}
.bgs .sticky .layers .layer .roadmarking.gray svg path{
	stroke: var(--gray);
}
.bgs .sticky .layers .layer .roadmarking svg path.dash{
	stroke-dasharray: 8px 12px;
}
.bgs .sticky .layers .layer .roadmarking svg path.draw-mask{
	fill: none;
	stroke: var(--purewhite);
	stroke-width: 56px;
	stroke-linecap: round;
	visibility: hidden;
}
@media screen and (max-width: 768px){
	.bgs .sticky .layers .layer .roadmarking{
		top: auto;
		bottom: 0;
		transform: translate(-50%, 0);
		width: 120vw;
		height: 120vw;
	}
	.bgs .sticky .layers .layer .roadmarking svg path{
		stroke-width: 0.51vw;
	}
	.bgs .sticky .layers .layer .roadmarking svg path.dash{
		stroke-dasharray: 2.05vw 3.08vw;
	}
	.bgs .sticky .layers .layer .roadmarking svg path.draw-mask{
		stroke-width: 14.36vw;
	}
}





/**
 * component
 * txts
 */
.txts_wrap .txts,
.txts_wrap .txts p{
	gap: 8px;
}
.txts_wrap .txts p,
.txts_wrap .txts p span.row{
	width: 100%;
}
.txts_wrap .txts p span.row span.txt{
	display: block;
	font-size: 20px;
	letter-spacing: var(--ls_large);
}
@media screen and (max-width: 768px){
	.txts_wrap .txts,
	.txts_wrap .txts p{
		gap: 2.05vw;
	}
	.txts_wrap .txts p span.row span.txt{
		font-size: 3.33vw;
	}
}





/**
 * component
 * txts
 * color
 */
.txts_wrap .txts.white p span.row span.txt{
	color: var(--white);
}
.txts_wrap .txts.white p span.row span.txt span.accent{
	color: var(--accent);
}





/**
 * component
 * cards
 */
.cards_wrap .cards .card a{
	display: block;
	height: 100%;
	padding: 2px;
	border-radius: 24px;
}
.cards_wrap .cards .card a .image{
	width: 100%;
	height: 240px;
	border-radius: calc(24px - 2px) calc(24px - 2px) 0 0;
}
.cards_wrap .cards .card a .image .thm{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%) scale(1.04);
	width: 100%;
	height: 100%;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
}
.cards_wrap .cards .card a:hover .image .thm{
	transform: translate(-50%, -50%) scale(1.12);
}
.cards_wrap .cards .card a .job{
	padding: 24px calc(24px - 2px) calc(24px - 2px) calc(24px - 2px);
	border-radius: 0 0 calc(24px - 2px) calc(24px - 2px);
}
.cards_wrap .cards .card a .job .ttl{
	font-size: 32px;
	letter-spacing: var(--ls_regular);
	font-weight: 700;
	line-height: 1.25;
	margin-bottom: 16px;
}
.cards_wrap .cards .card a .job .job_txts{
	gap: 8px;
}
.cards_wrap .cards .card a .job .job_txts .job_txt{
	width: 100%;
}
.cards_wrap .cards .card a .job .job_txts .job_txt .field:has(svg){
	padding-left: calc(16px + 8px);
}
.cards_wrap .cards .card a .job .job_txts .job_txt .field svg,
.cards_wrap .cards .card a .job .job_txts .job_txt .field span.txt{
	display: block;
}
.cards_wrap .cards .card a .job .job_txts .job_txt .field svg{
	position: absolute;
	top: calc(((16px * 1.25) - 16px) / 2);
	left: 0;
	width: 16px;
	height: 16px;
}
.cards_wrap .cards .card a .job .job_txts .job_txt .field span.txt{
	font-size: 16px;
	letter-spacing: var(--ls_regular);
	line-height: 1.25;
}
@media screen and (max-width: 768px){
	.cards_wrap .cards .card a{
		padding: 2px;
		border-radius: 6.15vw;
	}
	.cards_wrap .cards .card a .image{
		height: 66.67vw;
		border-radius: calc(6.15vw - 2px) calc(6.15vw - 2px) 0 0;
	}
	.cards_wrap .cards .card a .job{
		padding: 6.15vw calc(6.15vw - 2px) calc(6.15vw - 2px) calc(6.15vw - 2px);
		border-radius: 0 0 calc(6.15vw - 2px) calc(6.15vw - 2px);
	}
	.cards_wrap .cards .card a .job .ttl{
		font-size: 5.13vw;
		margin-bottom: 4.1vw;
	}
	.cards_wrap .cards .card a .job .job_txts{
		gap: 2.05vw;
	}
	.cards_wrap .cards .card a .job .job_txts .job_txt .field:has(svg){
		padding-left: calc(3.33vw + 2.05vw);
	}
	.cards_wrap .cards .card a .job .job_txts .job_txt .field svg{
		top: calc(((3.33vw * 1.25) - 3.33vw) / 2);
		width: 3.33vw;
		height: 3.33vw;
	}
	.cards_wrap .cards .card a .job .job_txts .job_txt .field span.txt{
		font-size: 3.33vw;
	}
}





/**
 * component
 * cards
 * layout
 */
.cards_wrap .cards.cards_slider .card{
	width: calc(((var(--inner) - (20px * (var(--card03) - 1))) / var(--card03)) + (calc(20px / 2) * 2));
	padding: 0 calc(20px / 2);
}
.cards_wrap .cards.cards_grid{
	gap: 20px;
}
.cards_wrap .cards.cards_grid .card{
	width: calc((100% - (20px * (var(--card03) - 1))) / var(--card03));
}
@media screen and (max-width: 768px){
	.cards_wrap .cards.cards_slider .card{
		width: calc(((var(--inner) - (5.13vw * (var(--card03) - 1))) / var(--card03)) + (calc(5.13vw / 2) * 2));
		padding: 0 calc(5.13vw / 2);
	}
	.cards_wrap .cards.cards_grid{
		gap: 5.13vw;
	}
	.cards_wrap .cards.cards_grid .card{
		width: calc((100% - (5.13vw * (var(--card03) - 1))) / var(--card03));
	}
}





/**
 * component
 * cards
 * color
 */
.cards_wrap .cards.white .card a{
	background: var(--black);
}
.cards_wrap .cards.white .card a:hover{
	background: var(--main);
}
.cards_wrap .cards .card a .job{
	background: var(--white);
}
.cards_wrap .cards.white .card a .job .ttl{
	color: var(--black);
}
.cards_wrap .cards.white .card a .job .job_txts .job_txt .field svg path{
	fill: var(--main);
}
.cards_wrap .cards.white .card a .job .job_txts .job_txt .field span.txt{
	color: var(--black);
}





/**
 * contact
 */
.contact{
	margin-top: 12px;
}
.contact .address p{
	padding-right: 12px;
	margin-right: 12px;
}
.contact .address p:last-child{
	padding-right: 0;
	margin-right: 0;
}
.contact .address p:after{
	position: absolute;
	content: '';
	top: 50%;
	right: 0;
	transform: translate(50%, -50%) rotate(30deg);
	width: 1px;
	height: 20px;
	background: var(--white);
}
.contact .address p:last-child:after{
	display: none;
}
.contact .address p .item,
.contact .address p .item svg,
.contact .address p .item .txt{
	display: block;
}
.contact .address p .item{
	padding-left: calc(20px + 8px);
}
.contact .address p .item svg{
	position: absolute;
	top: 50%;
	left: 0;
	transform: translate(0, -50%);
	width: 20px;
	height: 20px;
}
.contact .address p .item svg path{
	fill: var(--purewhite);
}
.contact .address p .item .txt{
	font-size: 20px;
	color: var(--purewhite);
	letter-spacing: var(--ls_regular);
}
.contact .hours p{
	gap: 4px;
}
.contact .hours p .txt{
	display: block;
	font-size: 16px;
	color: var(--white);
	letter-spacing: var(--ls_regular);
}
@media screen and (max-width: 768px){
	.contact{
		margin-top: 2.05vw;
	}
	.contact .address p{
		padding-right: 3.08vw;
		margin-right: 3.08vw;
	}
	.contact .address p:after{
		height: 3.33vw;
	}
	.contact .address p .item{
		padding-left: calc(4.1vw + 2.05vw);
	}
	.contact .address p .item svg{
		width: 4.1vw;
		height: 4.1vw;
	}
	.contact .address p .item .txt{
		font-size: 3.33vw;
	}
	.contact .hours p{
		gap: 1.03vw;
	}
	.contact .hours p .txt{
		font-size: 3.33vw;
	}
}
section.apply .thanks .contact .address p:after,
section.apply .error .contact .address p:after,
section.preparation .contact .address p:after{
	background: var(--black);
}
section.apply .thanks .contact .address p .item svg path,
section.apply .error .contact .address p .item svg path,
section.preparation .contact .address p .item svg path{
	fill: var(--black);
}
section.apply .thanks .contact .address p .item .txt,
section.apply .thanks .contact .hours p .txt,
section.apply .error .contact .address p .item .txt,
section.apply .error .contact .hours p .txt,
section.preparation .contact .address p .item .txt,
section.preparation .contact .hours p .txt{
	color: var(--black);
}





/**
 * header
 */
header.layout_video,
header.layout_job{
	top: 0;
	left: 0;
	width: 100%;
}
header.layout_video{
	position: fixed;
}
header.layout_job{
	position: absolute;
}





/**
 * header
 * section
 * site
 */
header section.site{
	padding: 12px 0;
}
header section.site a.company{
	display: block;
	font-size: 28px;
	color: var(--white);
	letter-spacing: var(--ls_regular);
	font-weight: 500;
}
header.layout_job section.site a.company,
header.layout_preparation section.site a.company{
	color: var(--main);
}
header section.site .menu{
	position: absolute;
	top: 0;
	right: 0;
	background: var(--purewhite);
	padding: calc((((12px * 2) + (28px * 2)) - (16px * 2)) / 2) calc((100vw - var(--inner)) / 2) calc((((12px * 2) + (28px * 2)) - (16px * 2)) / 2) calc(24px * 2);
	border-radius: 0 0 0 calc((((12px * 2) + (28px * 2)) - (16px * 2)) / 2);
}
header section.site .menu svg.curve{
	position: absolute;
	top: 0;
	left: 0;
	transform: translate(calc(-100% + 1px), -1px);
	width: calc(((((12px * 2) + (28px * 2)) - (16px * 2)) / 2) + 1px);
	height: calc(((((12px * 2) + (28px * 2)) - (16px * 2)) / 2) + 1px);
}
header section.site .menu svg.curve path{
	fill: var(--purewhite);
}
header section.site .menu_btn{
	display: none;
}
@media screen and (max-width: 1200px){
	header section.site .menu{
		transform: translate(calc(100% + 24px), 0);
		padding: calc((12px * 2) + (28px * 2)) calc((100vw - var(--inner)) / 2) calc((((12px * 2) + (28px * 2)) - (16px * 2)) / 2) calc(24px * 2);
	}
	header section.site .menu.act{
		transform: translate(0, 0);
	}
	header section.site .menu ul.link_lists{
		flex-direction: column;
		align-items: flex-end;
		flex-wrap: nowrap;
		gap: 12px;
	}
	header section.site .menu_btn{
		display: block;
		width: calc(28px * 2);
		height: calc(28px * 2);
	}
	header section.site .menu_btn:before,
	header section.site .menu_btn:after{
		position: absolute;
		content: '';
		top: 50%;
		left: 50%;
		width: 100%;
		height: 1px;
		background: var(--lightmain);
	}
	header section.site .menu_btn.white:before,
	header section.site .menu_btn.white:after{
		background: var(--white);
	}
	header section.site .menu_btn:before{
		transform: translate(-50%, -6px);
	}
	header section.site .menu_btn:after{
		transform: translate(-50%, 6px);
	}
	header section.site .menu_btn.act:before{
		transform: translate(-50%, -50%) rotate(12deg);
	}
	header section.site .menu_btn.act:after{
		transform: translate(-50%, -50%) rotate(-12deg);
	}
	header section.site .menu_btn.act.white:before,
	header section.site .menu_btn.act.white:after{
		background: var(--black);
	}
}
@media screen and (max-width: 768px){
	header section.site{
		padding: 3.08vw 0;
	}
	header section.site a.company{
		font-size: 5.13vw;
	}
	header section.site .menu{
		transform: translate(calc(100% + 6.15vw), 0);
		padding: calc((3.08vw * 2) + (5.13vw * 2)) calc((100vw - var(--inner)) / 2) 6.15vw 6.15vw;
		border-radius: 0 0 0 6.15vw;
	}
	header section.site .menu svg.curve{
		transform: translate(calc(-100% + 1px), -1px);
		width: calc(6.15vw + 1px);
		height: calc(6.15vw + 1px);
	}
	header section.site .menu ul.link_lists{
		gap: 2.05vw;
	}
	header section.site .menu_btn{
		width: calc(5.13vw * 2);
		height: calc(5.13vw * 2);
	}
	header section.site .menu_btn:before{
		transform: translate(-50%, -1.03vw);
	}
	header section.site .menu_btn:after{
		transform: translate(-50%, 1.03vw);
	}
}





/**
 * section
 * mv
 */
section.mv{
	padding: calc(var(--screen-height) - (
		(120px * 1.25 * 2) + 
		(28px * 1.25 * 1) + 
		(80px * (1/2))
	)) 0 160px 0;
}
section.mv .company .name{
	padding: 0 8px 28px 0;
}
section.mv .company .group{
	padding: 28px 0 0 8px;
}
section.mv .company .name:after{
	position: absolute;
	content: '';
	top: 50%;
	right: 0;
	transform: translate(50%, -50%) rotate(30deg);
	width: 1px;
	height: 80px;
	background: var(--white);
}
section.mv .company .name .txt,
section.mv .company .group .txt{
	display: block;
	font-size: 28px;
	color: var(--white);
	letter-spacing: var(--ls_large);
}
@media screen and (max-width: 1200px){
	section.mv{
		padding: calc(var(--screen-height) - (
			(76px * 1.25 * 2) + 
			(28px * 1.25 * 1) + 
			(80px * (1/2))
		)) 0 160px 0;
	}
}
@media screen and (max-width: 768px){
	section.mv{
		padding: calc(var(--screen-height) - (
			(16.41vw * 1.25 * 3) + 
			(4.1vw * 1.25 * 1) + 
			(20.51vw * (1/2))
		)) 0 30.77vw 0;
	}
	section.mv .company .name{
		padding: 0 2.05vw 3.33vw 0;
	}
	section.mv .company .group{
		padding: 3.33vw 0 0 2.05vw;
	}
	section.mv .company .name:after{
		height: 12.31vw;
	}
	section.mv .company .name .txt,
	section.mv .company .group .txt{
		font-size: 3.33vw;
	}
}
section.mv.about_mv,
section.mv.recruit_mv,
section.mv.privacypolicy_mv,
section.mv.contact_mv,
section.mv.notfound_mv{
	padding: calc(var(--screen-height) - (
		(120px * 1.25 * 1) + 
		(28px * 1.25 * 1) + 
		(80px * (1/2))
	)) 0 160px 0;
}
@media screen and (max-width: 1200px){
	section.mv.about_mv,
	section.mv.recruit_mv,
	section.mv.privacypolicy_mv,
	section.mv.contact_mv,
	section.mv.notfound_mv{
		padding: calc(var(--screen-height) - (
			(76px * 1.25 * 1) + 
			(28px * 1.25 * 1) + 
			(80px * (1/2))
		)) 0 160px 0;
	}
}
@media screen and (max-width: 768px){
	section.mv.about_mv,
	section.mv.privacypolicy_mv,
	section.mv.contact_mv{
		padding: calc(var(--screen-height) - (
			(16.41vw * 1.25 * 2) + 
			(4.1vw * 1.25 * 1) + 
			(20.51vw * (1/2))
		)) 0 30.77vw 0;
	}
	section.mv.recruit_mv,
	section.mv.notfound_mv{
		padding: calc(var(--screen-height) - (
			(16.41vw * 1.25 * 1) + 
			(4.1vw * 1.25 * 1) + 
			(20.51vw * (1/2))
		)) 0 30.77vw 0;
	}
}





/**
 * section
 * message
 */
section.message{
	padding: 160px 0;
}
@media screen and (max-width: 768px){
	section.message{
		padding: 30.77vw 0;
	}
}





/**
 * section
 * service
 */
section.service{
	padding: 160px 0;
}
section.service .contents{
	gap: 120px;
}
section.service .contents .content ul.service_lists{
	gap: 80px;
}
section.service .contents .content,
section.service .contents .content ul.service_lists li.service_list{
	width: 100%;
}
section.service .contents .content ul.service_lists li.service_list .svg{
	margin-bottom: 20px;
}
section.service .contents .content ul.service_lists li.service_list .svg svg{
	display: block;
}
section.service .contents .content ul.service_lists li.service_list .svg svg.truck{
	width: 372px;
	height: calc(372px * (106/372));
}
section.service .contents .content ul.service_lists li.service_list .svg svg.palette{
	width: 145px;
	height: calc(145px * (74/145));
}
section.service .contents .content ul.service_lists li.service_list .svg svg.forklift{
	width: 125px;
	height: calc(125px * (82/125));
}
section.service .contents .content ul.service_lists li.service_list .svg svg path{
	transform-box: fill-box;
	transform-origin: center;
	fill: var(--accent);
}
section.service .contents .content ul.service_lists li.service_list .svg svg.truck path.body{
	animation: vibrate-body02 1.6s linear infinite;
}
section.service .contents .content ul.service_lists li.service_list .svg svg.forklift path.body{
	animation: vibrate-body01 1.6s linear infinite;
}
section.service .contents .content ul.service_lists li.service_list .svg svg.truck path.tire,
section.service .contents .content ul.service_lists li.service_list .svg svg.forklift path.tire{
	animation: rotate-tire 1.6s linear infinite;
}
section.service .contents .content ul.service_lists li.service_list .svg svg.forklift path.lift{
	animation: move-lift 4.8s linear infinite;
}
section.service .contents .content ul.service_lists li.service_list .svg svg.palette path.jump_palette{
	animation: jump-palette 3.2s linear infinite;
}
section.service .contents .content ul.service_lists li.service_list .svg svg.palette path.jump_box{
	animation: jump-box 3.2s linear infinite;
}
@media screen and (max-width: 768px){
	section.service{
		padding: 30.77vw 0;
	}
	section.service .contents{
		gap: 30.77vw;
	}
	section.service .contents .content ul.service_lists{
		gap: 20.51vw;
	}
	section.service .contents .content ul.service_lists li.service_list .svg{
		margin-bottom: 5.13vw;
	}
	section.service .contents .content ul.service_lists li.service_list .svg svg.truck{
		width: calc(95.38vw * (3/4));
		height: calc((95.38vw * (3/4)) * (106/372));
	}
	section.service .contents .content ul.service_lists li.service_list .svg svg.palette{
		width: calc(37.18vw * (3/4));
		height: calc((37.18vw * (3/4)) * (74/145));
	}
	section.service .contents .content ul.service_lists li.service_list .svg svg.forklift{
		width: calc(32.05vw * (3/4));
		height: calc((32.05vw * (3/4)) * (82/125));
	}
}





/**
 * section
 * recruit
 */
section.recruit{
	padding: 160px 0;
}
@media screen and (max-width: 768px){
	section.recruit{
		padding: 30.77vw 0;
	}
}





/**
 * swiper
 * css
 * overwrite
 */
.cards_wrap .swiper-pagination{
	position: relative;
	padding-top: 16px;
	gap: 16px;
	transition: opacity 0s;
	z-index: 0;
}
.cards_wrap .swiper-pagination-bullets.swiper-pagination-horizontal{
	inset: auto;
}
.cards_wrap .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet{
	margin: 0;
}
.cards_wrap .swiper-pagination-bullet{
	display: block;
	width: 12px;
	height: 12px;
	border-radius: calc(12px * (1/2));
	opacity: 1;
}
.cards_wrap .swiper-pagination-bullet-active{
	opacity: 1;
}
.recruit_navigation{
	padding-top: 16px;
	gap: 8px;
}
.recruit_navigation button,
.recruit_navigation button .field,
.recruit_navigation button .field svg{
	display: block;
}
.recruit_navigation button,
.recruit_navigation button .field{
	border-radius: 100%;
}
.recruit_navigation button{
	padding: 2px;
}
.recruit_navigation button .field{
	padding: 16px;
}
.recruit_navigation button .field svg{
	width: 16px;
	height: 16px;
}
@media screen and (max-width: 768px){
	.cards_wrap .swiper-pagination{
		padding-top: 4.1vw;
		gap: 4.1vw;
	}
	.cards_wrap .swiper-pagination-bullet{
		width: 2.05vw;
		height: 2.05vw;
		border-radius: calc(2.05vw * (1/2));
	}
	.recruit_navigation{
		padding-top: 4.1vw;
		gap: 2.05vw;
	}
	.recruit_navigation button .field{
		padding: 4.1vw;
	}
	.recruit_navigation button .field svg{
		width: 4.1vw;
		height: 4.1vw;
	}
}





/**
 * swiper
 * css
 * overwrite
 * color
 */
.cards_wrap .swiper-pagination-bullet{
	background: var(--white);
}
.cards_wrap .swiper-pagination-bullet-active{
	background: var(--accent);
}
.recruit_navigation button{
	background: var(--black);
}
.recruit_navigation button .field{
	background: var(--white);
}
.recruit_navigation button .field svg path{
	fill: var(--black);
}
.recruit_navigation button:hover{
	background: var(--main);
}
.recruit_navigation button:hover .field svg path{
	fill: var(--main);
}
.recruit_navigation button.swiper-button-disabled{
	background: var(--lightgray);
}
.recruit_navigation button.swiper-button-disabled .field svg path{
	fill: var(--lightgray);
}





/**
 * footer
 */
.sections section:last-child{
	padding-bottom: var(--screen-height);
}
footer.layout_video{
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	padding-top: calc(
		var(--screen-height) - 
		((16px * 2) + (20px * 2)) - 
		((12px * 2) + (8px * 2)) - 
		(120px * 1.25)
	);
}
@media screen and (max-width: 1200px){
	footer.layout_video{
		padding-top: calc(
			var(--screen-height) - 
			((16px * 2) + (20px * 2)) - 
			((12px * 2) + (8px * 2)) - 
			(76px * 1.25)
		);
	}
}
@media screen and (max-width: 768px){
	footer.layout_video{
		padding-top: calc(
			var(--screen-height) - 
			((3.33vw * 2 * 6) + (5.13vw * 2) + (2.05vw * (6 - 1))) - 
			((3.08vw * 2) + (2.05vw * 2)) - 
			(16.41vw * 1.25 * 2)
		);
	}
}





/**
 * footer
 * section
 * nav
 */
footer section.nav{
	padding: 20px 0;
	/*background: var(--main);*/
}
@media screen and (max-width: 768px){
	footer section.nav{
		padding: 5.13vw 0;
	}
	footer section.nav ul.link_lists{
		flex-direction: column;
		align-items: flex-end;
		flex-wrap: nowrap;
		gap: 2.05vw;
	}
}





/**
 * footer
 * section
 * copyright
 */
footer section.copyright{
	padding: 8px 0;
	background: var(--black);
}
footer section.copyright p{
	gap: 8px;
}
footer section.copyright p span.mark,
footer section.copyright p span.txt{
	display: block;
	color: var(--white);
	letter-spacing: var(--ls_regular);
}
footer section.copyright p span.mark{
	font-size: calc(12px * 2);
	line-height: 1;
}
footer section.copyright p span.txt{
	font-size: 12px;
}
@media screen and (max-width: 768px){
	footer section.copyright{
		padding: 2.05vw 0;
	}
	footer section.copyright p{
		gap: 2.05vw;
	}
	footer section.copyright p span.mark{
		font-size: calc(3.08vw * 2);
	}
	footer section.copyright p span.txt{
		font-size: 3.08vw;
	}
}





/**
 * section
 * company
 */
section.company{
	padding: 160px 0;
}
section.company .cl_wrap ul.company_lists li.company_list dl dt{
	width: 160px;
}
section.company .cl_wrap ul.company_lists li.company_list dl dd{
	width: calc(100% - 160px);
}
section.company .cl_wrap ul.company_lists{
	gap: 12px;
}
section.company .cl_wrap ul.company_lists li.company_list dl dd ul.txt_lists{
	gap: 12px;
}
section.company .cl_wrap ul.company_lists li.company_list dl dd ul.txt_lists li.txt_list .txt_layout{
	gap: 4px 20px;
}
section.company .cl_wrap ul.company_lists li.company_list dl dt h3,
section.company .cl_wrap ul.company_lists li.company_list dl dd ul.txt_lists li.txt_list h4,
section.company .cl_wrap ul.company_lists li.company_list dl dd ul.txt_lists li.txt_list p,
section.company .cl_wrap ul.company_lists li.company_list dl dd p.supplement{
	gap: 4px;
}
section.company .cl_wrap ul.company_lists li.company_list dl dd p.supplement{
	margin-top: 4px;
}
section.company .cl_wrap ul.company_lists li.company_list,
section.company .cl_wrap ul.company_lists li.company_list dl dd ul.txt_lists li.txt_list{
	width: 100%;
}
section.company .cl_wrap ul.company_lists li.company_list dl dt h3 .txt,
section.company .cl_wrap ul.company_lists li.company_list dl dd ul.txt_lists li.txt_list h4 .txt,
section.company .cl_wrap ul.company_lists li.company_list dl dd ul.txt_lists li.txt_list p .txt,
section.company .cl_wrap ul.company_lists li.company_list dl dd ul.word_lists li.word_list p .txt,
section.company .cl_wrap ul.company_lists li.company_list dl dd p.supplement span.txt{
	display: block;
	color: var(--white);
	letter-spacing: var(--ls_large);
}
section.company .cl_wrap ul.company_lists li.company_list dl dt h3 .txt,
section.company .cl_wrap ul.company_lists li.company_list dl dd ul.txt_lists li.txt_list p .txt,
section.company .cl_wrap ul.company_lists li.company_list dl dd ul.word_lists li.word_list p .txt{
	font-size: 20px;
}
section.company .cl_wrap ul.company_lists li.company_list dl dd ul.txt_lists li.txt_list h4 .txt{
	font-size: 16px;
	padding: 4px calc(((16px * 2) + (4px * 2)) / 2);
	outline: 1px solid var(--white);
	outline-offset: -1px;
	border-radius: calc(((16px * 2) + (4px * 2)) / 2);
}
section.company .cl_wrap ul.company_lists li.company_list dl dd p.supplement span.txt{
	font-size: 16px;
	color: var(--lightgray);
}
section.company .cl_wrap ul.company_lists li.company_list dl dd ul.word_lists li.word_list{
	padding-right: 12px;
	margin-right: 12px;
}
section.company .cl_wrap ul.company_lists li.company_list dl dd ul.word_lists li.word_list:last-child{
	padding-right: 0;
	margin-right: 0;
}
section.company .cl_wrap ul.company_lists li.company_list dl dd ul.word_lists li.word_list:after{
	position: absolute;
	content: '';
	top: 50%;
	right: 0;
	transform: translate(50%, -50%) rotate(30deg);
	width: 1px;
	height: 20px;
	background: var(--white);
}
section.company .cl_wrap ul.company_lists li.company_list dl dd ul.word_lists li.word_list:last-child:after{
	display: none;
}
@media screen and (max-width: 768px){
	section.company{
		padding: 30.77vw 0;
	}
	section.company .cl_wrap ul.company_lists li.company_list dl dt,
	section.company .cl_wrap ul.company_lists li.company_list dl dd{
		width: 100%;
	}
	section.company .cl_wrap ul.company_lists{
		gap: 10.26vw;
	}
	section.company .cl_wrap ul.company_lists li.company_list dl{
		gap: 2.05vw;
	}
	section.company .cl_wrap ul.company_lists li.company_list dl dd ul.txt_lists{
		gap: 1.03vw;
	}
	section.company .cl_wrap ul.company_lists li.company_list dl dd ul.txt_lists li.txt_list .txt_layout{
		/*gap: 1.03vw 3.08vw;*/
		gap: 1.03vw;
	}
	section.company .cl_wrap ul.company_lists li.company_list dl dt h3,
	section.company .cl_wrap ul.company_lists li.company_list dl dd ul.txt_lists li.txt_list h4,
	section.company .cl_wrap ul.company_lists li.company_list dl dd ul.txt_lists li.txt_list p,
	section.company .cl_wrap ul.company_lists li.company_list dl dd p.supplement{
		gap: 1.03vw;
	}
	section.company .cl_wrap ul.company_lists li.company_list dl dd p.supplement{
		margin-top: 1.03vw;
	}
	section.company .cl_wrap ul.company_lists li.company_list dl dt h3 .txt,
	section.company .cl_wrap ul.company_lists li.company_list dl dd ul.txt_lists li.txt_list p .txt,
	section.company .cl_wrap ul.company_lists li.company_list dl dd ul.word_lists li.word_list p .txt{
		font-size: 3.33vw;
	}
	section.company .cl_wrap ul.company_lists li.company_list dl dd ul.txt_lists li.txt_list h4 .txt{
		font-size: 3.08vw;
		padding: calc(3.33vw - 3.08vw) calc(((3.08vw * 2) + ((3.33vw - 3.08vw) * 2)) / 2);
		border-radius: calc(((3.08vw * 2) + ((3.33vw - 3.08vw) * 2)) / 2);
	}
	section.company .cl_wrap ul.company_lists li.company_list dl dd p.supplement span.txt{
		font-size: 3.08vw;
	}
	section.company .cl_wrap ul.company_lists li.company_list dl dd ul.word_lists li.word_list{
		padding-right: 3.08vw;
		margin-right: 3.08vw;
	}
	section.company .cl_wrap ul.company_lists li.company_list dl dd ul.word_lists li.word_list:after{
		height: 3.33vw;
	}
}





/**
 * section
 * greeting
 */
section.greeting{
	padding: 160px 0;
}
section.greeting .writed{
	margin-top: 40px;
}
section.greeting .writed p.position{
	gap: 8px;
	margin-bottom: 8px;
}
section.greeting .writed p.name{
	gap: 20px;
}
section.greeting .writed p.position span.txt,
section.greeting .writed p.name span.txt{
	display: block;
	color: var(--white);
}
section.greeting .writed p.position span.txt{
	font-size: 20px;
	letter-spacing: var(--ls_large);
}
section.greeting .writed p.name span.txt{
	font-size: 64px;
	font-weight: 700;
	line-height: 1.25;
}
@media screen and (max-width: 768px){
	section.greeting{
		padding: 30.77vw 0;
	}
	section.greeting .writed{
		margin-top: 10.26vw;
	}
	section.greeting .writed p.position{
		gap: 2.05vw;
		margin-bottom: 2.05vw;
	}
	section.greeting .writed p.name{
		gap: 4.1vw;
	}
	section.greeting .writed p.position span.txt{
		font-size: 3.33vw;
	}
	section.greeting .writed p.name span.txt{
		font-size: 12.31vw;
	}
}





/**
 * illustration
 */
.illustration{
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}
.illustration .item{
	position: absolute;
	transform: translate(-50%, 0);
}
.illustration .item svg,
.illustration .item img{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.illustration .item svg path{
	filter: drop-shadow(0 0 24px rgba(0, 0, 0, .48));
}
@media screen and (max-width: 768px){
	.illustration .item svg path{
		filter: drop-shadow(0 0 6.15vw rgba(0, 0, 0, .48));
	}
}





/**
 * illustration
 * item
 * size
 */
.illustration .item.office01{
	width: calc(176px * (1/2));
	height: calc((176px * (1/2)) * (124/176));
}
.illustration .item.office02{
	width: calc(208px * (1/2));
	height: calc((208px * (1/2)) * (100/208));
}
.illustration .item.office03{
	width: calc(84px * (1/2));
	height: calc((84px * (1/2)) * (148/84));
}
.illustration .item.truck01{
	width: calc(164px * (1/2));
	height: calc((164px * (1/2)) * (100/164));
}
.illustration .item.truck02{
	width: calc(180px * (1/2));
	height: calc((180px * (1/2)) * (88/180));
}
.illustration .item.staff01{
	width: calc(96px * (1/2));
	height: calc((96px * (1/2)) * (116/96));
}
.illustration .item.staff02{
	width: calc(76px * (1/2));
	height: calc((76px * (1/2)) * (120/76));
}
@media screen and (max-width: 768px){
	.illustration .item.office01{
		width: calc(45.13vw * (1/3));
		height: calc((45.13vw * (1/3)) * (124/176));
	}
	.illustration .item.office02{
		width: calc(53.33vw * (1/3));
		height: calc((53.33vw * (1/3)) * (100/208));
	}
	.illustration .item.office03{
		width: calc(21.54vw * (1/3));
		height: calc((21.54vw * (1/3)) * (148/84));
	}
	.illustration .item.truck01{
		width: calc(42.05vw * (1/3));
		height: calc((42.05vw * (1/3)) * (100/164));
	}
	.illustration .item.truck02{
		width: calc(46.15vw * (1/3));
		height: calc((46.15vw * (1/3)) * (88/180));
	}
	.illustration .item.staff01{
		width: calc(24.62vw * (1/3));
		height: calc((24.62vw * (1/3)) * (116/96));
	}
	.illustration .item.staff02{
		width: calc(19.49vw * (1/3));
		height: calc((19.49vw * (1/3)) * (120/76));
	}
}





/**
 * illustration
 * item
 * position
 */
section.message .illustration .item.office01{
	top: 48px;
	left: calc(50% + 24px);
	animation: bound-down 1.6s linear infinite;
}
section.message .illustration .item.office02{
	top: 56px;
	left: calc(50% + 96px);
	animation: bound-up 1.6s linear infinite;
}
section.message .illustration .item.office03{
	top: 40px;
	left: calc(50% - 96px);
	animation: bound-up 1.6s linear infinite;
}
section.recruit .illustration .item.truck01{
	top: 352px;
	left: calc(50% + 12px);
	animation: bound-down 1.6s linear infinite;
}
section.recruit .illustration .item.staff01{
	top: 344px;
	left: calc(50% - 64px);
	animation: bound-up 1.6s linear infinite;
}
section.recruit .illustration .item.staff02{
	top: 344px;
	left: calc(50% + 64px);
	animation: bound-up 1.6s linear infinite;
}
section.company .illustration .item.office01{
	top: 48px;
	left: calc(50% - 32px);
	animation: bound-up 1.6s linear infinite;
}
section.company .illustration .item.truck02{
	top: 80px;
	left: calc(50% + 32px);
	animation: bound-down 1.6s linear infinite;
}
@media screen and (max-width: 1200px){
	section.recruit .illustration .item.truck01{
		top: 300px;
	}
	section.recruit .illustration .item.staff01{
		top: 292px;
	}
	section.recruit .illustration .item.staff02{
		top: 292px;
	}
}
@media screen and (max-width: 768px){
	section.message .illustration .item.office01{
		top: 12.31vw;
		left: calc(50% - 10.26vw);
	}
	section.message .illustration .item.office02{
		top: 14.36vw;
		left: calc(50% + 3.08vw);
	}
	section.message .illustration .item.office03{
		top: 10.26vw;
		left: calc(50% - 37.95vw);
	}
	section.recruit .illustration .item.truck01{
		top: 63.59vw;
		left: calc(50% + 2.05vw);
	}
	section.recruit .illustration .item.staff01{
		top: 61.54vw;
		left: calc(50% - 10.26vw);
	}
	section.recruit .illustration .item.staff02{
		top: 61.54vw;
		left: calc(50% + 10.26vw);
	}
	section.company .illustration .item.office01{
		top: 8.21vw;
		left: calc(50% - 36.92vw);
	}
	section.company .illustration .item.truck02{
		top: 16.41vw;
		left: calc(50% - 24.62vw);
	}
}





/**
 * js-scroll
 * done
 */
html.scroll-animation-ready section.message .contents .txts_wrap .txts.white p span.row span.txt,
html.scroll-animation-ready section.service .contents .txts_wrap .txts.white p span.row span.txt,
html.scroll-animation-ready section.greeting .contents .txts_wrap .txts.white p span.row span.txt{
	transform: translate(0, 16px);
	opacity: 0;
}
html.scroll-animation-ready section.message .contents .txts_wrap .txts.white p span.row span.txt.done,
html.scroll-animation-ready section.service .contents .txts_wrap .txts.white p span.row span.txt.done,
html.scroll-animation-ready section.greeting .contents .txts_wrap .txts.white p span.row span.txt.done{
	transform: translate(0, 0);
	opacity: 1;
}
@media screen and (max-width: 768px){
	html.scroll-animation-ready section.message .contents .txts_wrap .txts.white p span.row span.txt,
	html.scroll-animation-ready section.service .contents .txts_wrap .txts.white p span.row span.txt,
	html.scroll-animation-ready section.greeting .contents .txts_wrap .txts.white p span.row span.txt{
		transform: translate(0, 4.1vw);
	}
}





/**
 * section
 * privacypolicy
 */
section.privacypolicy{
	padding: 160px 0;
}
section.privacypolicy .pl_wrap ul.privacypolicy_lists{
	gap: 48px;
}
section.privacypolicy .pl_wrap ul.privacypolicy_lists li.privacypolicy_list{
	width: 100%;
}
section.privacypolicy .pl_wrap ul.privacypolicy_lists li.privacypolicy_list dl{
	gap: 12px;
}
section.privacypolicy .pl_wrap ul.privacypolicy_lists li.privacypolicy_list dl dt,
section.privacypolicy .pl_wrap ul.privacypolicy_lists li.privacypolicy_list dl dd{
	width: 100%;
}
section.privacypolicy .pl_wrap ul.privacypolicy_lists li.privacypolicy_list dl dd{
	padding-left: calc(20px * 1.08 * 2);
}
section.privacypolicy .pl_wrap ul.privacypolicy_lists li.privacypolicy_list dl dt h2 .txt,
section.privacypolicy .pl_wrap ul.privacypolicy_lists li.privacypolicy_list dl dd p .txt{
	display: block;
	font-size: 20px;
	color: var(--white);
	letter-spacing: var(--ls_large);
}
section.privacypolicy .pl_wrap ul.privacypolicy_lists li.privacypolicy_list dl dd ul li{
	padding-left: calc(20px * 1.08 * 1);
}
section.privacypolicy .pl_wrap ul.privacypolicy_lists li.privacypolicy_list dl dd ul li:before{
	position: absolute;
	content: '';
	top: calc(((20px * 2) - 4px) / 2);
	left: calc((20px * 1.08 * 1) / 2);
	transform: translate(-50%, -50%);
	width: 4px;
	height: 4px;
	background: var(--white);
	border-radius: 100%;
}
@media screen and (max-width: 768px){
	section.privacypolicy{
		padding: 30.77vw 0;
	}
	section.privacypolicy .pl_wrap ul.privacypolicy_lists{
		gap: 8.21vw;
	}
	section.privacypolicy .pl_wrap ul.privacypolicy_lists li.privacypolicy_list dl{
		gap: 2.05vw;
	}
	section.privacypolicy .pl_wrap ul.privacypolicy_lists li.privacypolicy_list dl dd{
		padding-left: calc(3.33vw * 1.08 * 2);
	}
	section.privacypolicy .pl_wrap ul.privacypolicy_lists li.privacypolicy_list dl dt h2 .txt,
	section.privacypolicy .pl_wrap ul.privacypolicy_lists li.privacypolicy_list dl dd p .txt{
		font-size: 3.33vw;
	}
	section.privacypolicy .pl_wrap ul.privacypolicy_lists li.privacypolicy_list dl dd ul li{
		padding-left: calc(3.33vw * 1.08 * 1);
	}
	section.privacypolicy .pl_wrap ul.privacypolicy_lists li.privacypolicy_list dl dd ul li:before{
		top: calc(((3.33vw * 2) - 0.51vw) / 2);
		left: calc((3.33vw * 1.08 * 1) / 2);
		width: 0.51vw;
		height: 0.51vw;
	}
}





/**
 * section
 * form
 */
section.form{
	padding: 160px 0;
}
section.form .fl_wrap ul.form_lists{
	gap: 12px;
}
section.form .fl_wrap ul.form_lists li.form_list{
	width: 100%;
	gap: 12px;
}
section.form .fl_wrap ul.form_lists li.form_list .block,
section.form .fl_wrap ul.form_lists li.form_list button{
	display: block;
	max-width: 100%;
	padding: 2px;
	background: var(--black);
	border-radius: 24px;
}
section.form .fl_wrap ul.form_lists li.form_list .block .item,
section.form .fl_wrap ul.form_lists li.form_list button .item{
	padding: calc(24px - 2px);
	border-radius: calc(24px - 2px);
}
section.form .fl_wrap ul.form_lists li.form_list .block .item{
	background: var(--white);
}
section.form .fl_wrap ul.form_lists li.form_list .block .item.act,
section.form .fl_wrap ul.form_lists li.form_list .block .item:has(input[type="text"]:focus),
section.form .fl_wrap ul.form_lists li.form_list .block .item:has(input[type="tel"]:focus),
section.form .fl_wrap ul.form_lists li.form_list .block .item:has(input[type="email"]:focus),
section.form .fl_wrap ul.form_lists li.form_list .block .item:has(textarea:focus),
section.form .fl_wrap ul.form_lists li.form_list .block .item:has(input[type="radio"]:checked){
	background: var(--accent);
}
section.form .fl_wrap ul.form_lists li.form_list button .item{
	background: var(--accent);
}
section.form .fl_wrap ul.form_lists li.form_list button.back .item{
	background: var(--white);
}
section.form .fl_wrap ul.form_lists li.form_list button.peni .item{
	background: var(--white);
}
section.form .fl_wrap ul.form_lists li.form_list .block .item p span{
	display: block;
	min-width: 0;
	font-size: 20px;
	color: var(--black);
	letter-spacing: var(--ls_large);
	overflow-wrap: anywhere;
}
section.form .fl_wrap ul.form_lists li.form_list .block .item input[type="text"],
section.form .fl_wrap ul.form_lists li.form_list .block .item input[type="tel"],
section.form .fl_wrap ul.form_lists li.form_list .block .item input[type="email"],
section.form .fl_wrap ul.form_lists li.form_list .block .item textarea{
	display: block;
	width: 480px;
	font-size: 20px;
	color: var(--black);
	letter-spacing: var(--ls_large);
	outline: none;
	resize: none;
}
section.form .fl_wrap ul.form_lists li.form_list .block .item input[type="text"]::placeholder,
section.form .fl_wrap ul.form_lists li.form_list .block .item input[type="tel"]::placeholder,
section.form .fl_wrap ul.form_lists li.form_list .block .item input[type="email"]::placeholder,
section.form .fl_wrap ul.form_lists li.form_list .block .item textarea::placeholder{
	color: var(--thingray);
}
section.form .fl_wrap ul.form_lists li.form_list button .item p{
	padding-right: calc(20px + 8px);
}
section.form .fl_wrap ul.form_lists li.form_list button.back .item p{
	padding-right: 0;
	padding-left: calc(20px + 8px);
}
section.form .fl_wrap ul.form_lists li.form_list button .item p svg{
	display: block;
	position: absolute;
	top: 50%;
	right: 0;
	transform: translate(0, -50%);
	width: 20px;
	height: 20px;
}
section.form .fl_wrap ul.form_lists li.form_list button.back .item p svg{
	right: auto;
	left: 0;
}
section.form .fl_wrap ul.form_lists li.form_list button .item p svg path{
	fill: var(--black);
}
section.form .fl_wrap ul.form_lists li.form_list button .item p span{
	display: block;
	font-size: 20px;
	color: var(--black);
	letter-spacing: var(--ls_large);
}
@media screen and (max-width: 768px){
	section.form{
		padding: 30.77vw 0;
	}
	section.form .fl_wrap ul.form_lists,
	section.form .fl_wrap ul.form_lists li.form_list{
		gap: 2.05vw;
	}
	section.form .fl_wrap ul.form_lists li.form_list .block,
	section.form .fl_wrap ul.form_lists li.form_list button{
		border-radius: 6.15vw;
	}
	section.form .fl_wrap ul.form_lists li.form_list .block .item,
	section.form .fl_wrap ul.form_lists li.form_list button .item{
		padding: calc(6.15vw - 2px);
		border-radius: calc(6.15vw - 2px);
	}
	section.form .fl_wrap ul.form_lists li.form_list .block .item p span{
		font-size: 16px;
	}
	section.form .fl_wrap ul.form_lists li.form_list .block .item input[type="text"],
	section.form .fl_wrap ul.form_lists li.form_list .block .item input[type="tel"],
	section.form .fl_wrap ul.form_lists li.form_list .block .item input[type="email"],
	section.form .fl_wrap ul.form_lists li.form_list .block .item textarea{
		width: 61.54vw;
		font-size: 16px;
	}
	section.form .fl_wrap ul.form_lists li.form_list button .item p{
		padding-right: calc(16px + 8px);
	}
	section.form .fl_wrap ul.form_lists li.form_list button.back .item p{
		padding-left: calc(16px + 8px);
	}
	section.form .fl_wrap ul.form_lists li.form_list button .item p svg{
		width: 16px;
		height: 16px;
	}
	section.form .fl_wrap ul.form_lists li.form_list button .item p span{
		font-size: 16px;
	}
}
section.form .form_txts{
	margin-bottom: 12px;
}
section.form .form_txts .block{
	padding: 2px;
	background: var(--black);
	border-radius: 24px;
}
section.form .form_txts .block .item{
	padding: calc(24px - 2px);
	background: var(--white);
	border-radius: calc(24px - 2px);
}
section.form .form_txts .block .item p{
	font-size: 16px;
	color: var(--black);
	letter-spacing: var(--ls_large);
}
@media screen and (max-width: 768px){
	section.form .form_txts{
		margin-bottom: 2.05vw;
	}
	section.form .form_txts .block{
		border-radius: 6.15vw;
	}
	section.form .form_txts .block .item{
		padding: calc(6.15vw - 2px);
		border-radius: calc(6.15vw - 2px);
	}
	section.form .form_txts .block .item p{
		font-size: 3.33vw;
	}
}





/**
 * section
 * thanks
 * error
 * notfound
 */
section.thanks,
section.error,
section.notfound{
	padding: 160px 0;
}
@media screen and (max-width: 768px){
	section.thanks,
	section.error,
	section.notfound{
		padding: 30.77vw 0;
	}
}





/**
 * section
 * job
 */
section.job{
	padding: calc(
		(28px * 2) + 
		(12px * 2)
	) 0 calc(
		(
			(160px * (20/80)) + 
			(24px * 2) + 
			(8px * 2)
		) + 
		80px
	) 0;
}
section.job .inner{
	width: var(--jobinner);
}
section.job .secs{
	gap: 80px;
}
section.job .secs .sec.detail .layout{
	gap: 40px;
}
section.job .secs .sec.detail .layout .dl_wrap ul.detail_lists{
	gap: calc(40px + 1px);
}
section.job .secs .sec.detail .layout .dl_wrap ul.detail_lists li.detail_list dl dd .items{
	gap: 20px;
}
section.job .secs .sec,
section.job .secs .sec.detail .layout h2,
section.job .secs .sec.detail .layout .dl_wrap,
section.job .secs .sec.detail .layout .dl_wrap ul.detail_lists li.detail_list,
section.job .secs .sec.detail .layout .dl_wrap ul.detail_lists li.detail_list dl dd .items .item{
	width: 100%;
}
section.job .secs .sec.image .thm{
	width: 480px;
	height: calc(480px * (270/480));
	border-radius: 24px;
}
section.job .secs .sec.image .thm img{
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 100%;
	height: 100%;
}
section.job .secs .sec.jobttl h1 span{
	display: block;
	font-size: 40px;
	color: var(--black);
	letter-spacing: var(--ls_regular);
	font-weight: 700;
	line-height: 1.25;
}
section.job .secs .sec.detail .layout h2 span{
	display: block;
	font-size: 20px;
	color: var(--black);
	letter-spacing: var(--ls_regular);
}
section.job .secs .sec.detail .layout .dl_wrap ul.detail_lists li.detail_list dl dt{
	width: 240px;
}
section.job .secs .sec.detail .layout .dl_wrap ul.detail_lists li.detail_list dl dd{
	width: calc(100% - 240px);
}
section.job .secs .sec.detail .layout .dl_wrap ul.detail_lists li.detail_list dl dt h3{
	position: sticky;
	top: calc(
		(28px * 2) + 
		(12px * 2)
	);
}
section.job .secs .sec.detail .layout .dl_wrap ul.detail_lists li.detail_list dl dt h3 span.txt{
	display: block;
	font-size: 16px;
	color: var(--black);
	letter-spacing: var(--ls_regular);
}
section.job .secs .sec.detail .layout .dl_wrap ul.detail_lists li.detail_list dl dd .items .item p.nml{
	font-size: 16px;
	color: var(--black);
	letter-spacing: var(--ls_regular);
}
section.job .secs .sec.detail .layout .dl_wrap ul.detail_lists li.detail_list dl dd .items .item p.nml span.main{
	color: var(--main);
}
section.job .secs .sec.detail .layout .dl_wrap ul.detail_lists li.detail_list dl dd .items .item p.notes{
	font-size: 14px;
	color: var(--gray);
	line-height: 1.5;
	padding-left: 14px;
}
section.job .secs .sec.detail .layout .dl_wrap ul.detail_lists li.detail_list dl dd .items .item p.notes:before{
	position: absolute;
	content: '※';
	top: 0;
	left: 0;
}
section.job .secs .sec.detail .layout .dl_wrap ul.detail_lists li.detail_list dl dd .items .item ul.tag_lists{
	gap: 4px;
}
section.job .secs .sec.detail .layout .dl_wrap ul.detail_lists li.detail_list dl dd .items .item ul.tag_lists li.tag_list p{
	font-size: 14px;
	color: var(--white);
	letter-spacing: var(--ls_regular);
	padding: 0 calc((14px * 2) / 2);
	background: var(--main);
	border-radius: calc((14px * 2) / 2);
}
section.job .secs .sec.detail .layout .dl_wrap ul.detail_lists li.detail_list dl dd .items .item ul.bullet_points li.bullet_point{
	padding-left: calc(16px * 1.04);
}
section.job .secs .sec.detail .layout .dl_wrap ul.detail_lists li.detail_list dl dd .items .item ul.bullet_points li.bullet_point:before{
	position: absolute;
	content: '';
	top: calc(((16px * 2) - 2px) / 2);
	left: calc((16px - 2px) / 2);
	width: 2px;
	height: 2px;
	background: var(--black);
	border-radius: 100%;
}
section.job .secs .sec.detail .layout .dl_wrap ul.detail_lists li.detail_list:after{
	position: absolute;
	content: '';
	bottom: calc((40px * (1/2)) * -1);
	left: 0;
	transform: translate(0, 100%);
	width: 100%;
	height: 1px;
	background-image:
		linear-gradient(
			to right,
			var(--lightgray) 0 4px,
			transparent 4px 8px
		);
	background-size: 8px 1px;
	background-repeat: repeat-x;
}
section.job .secs .sec.detail .layout .dl_wrap ul.detail_lists li.detail_list:last-child:after{
	display: none;
}
section.job .job_bg{
	position: absolute;
	inset: 0;
}
section.job .job_bg .sticky{
	position: sticky;
	top: 0;
	width: 100%;
	height: var(--screen-height);
}
section.job .job_bg .sticky .cta{
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	padding: 8px 0;
	background: var(--white);
}
section.job .job_bg .sticky .cta a{
	display: block;
	padding: 24px calc(24px + 200px);
	background: var(--main);
	background-image: url('../illustration/staff01_96_116.png'), url('../illustration/staff02_76_120.png'), url('../illustration/truck02_180_88.png');
	background-size: calc(96px * (1/2)), calc(76px * (1/2)), calc(180px * (1/2));
	background-position: calc(50% - 128px) calc(100% + 8px), calc(50% - 176px) calc(100% + 12px), calc(50% + 160px) calc(100% - 4px);
	background-repeat: no-repeat, no-repeat, no-repeat;
	border-radius: 24px;
}
section.job .job_bg .sticky .cta a:hover{
	background-position: calc(50% - 128px) calc((100% + 8px) + 4px), calc(50% - 176px) calc((100% + 12px) + 4px),  calc(50% + 160px) calc((100% - 4px) + 4px);
}
section.job .job_bg .sticky .cta a svg{
	display: block;
	width: 160px;
	height: calc(160px * (20/80));
}
section.job .job_bg .sticky .cta a svg path{
	fill: var(--white);
}
section.job .job_bg .sticky .cta a:hover svg path{
	fill: var(--accent);
}
@media screen and (max-width: 768px){
	section.job{
		padding: calc(
			(5.13vw * 2) + 
			(3.08vw * 2)
		) 0 calc(
			(
				(20.51vw * (20/80)) + 
				(6.15vw * 2) + 
				(2.05vw * 2)
			) + 
			16.41vw
		) 0;
	}
	section.job .secs{
		gap: 16.41vw;
	}
	section.job .secs .sec.detail .layout{
		gap: 10.26vw;
	}
	section.job .secs .sec.detail .layout .dl_wrap ul.detail_lists{
		gap: calc(10.26vw + 1px);
	}
	section.job .secs .sec.detail .layout .dl_wrap ul.detail_lists li.detail_list dl{
		gap: 4.1vw;
	}
	section.job .secs .sec.detail .layout .dl_wrap ul.detail_lists li.detail_list dl dd .items{
		gap: 3.08vw;
	}
	section.job .secs .sec.image .thm{
		width: 90vw;
		height: calc(90vw * (270/480));
		border-radius: 6.15vw;
	}
	section.job .secs .sec.jobttl h1 span{
		font-size: 5.13vw;
	}
	section.job .secs .sec.detail .layout h2 span{
		font-size: 4.1vw;
	}
	section.job .secs .sec.detail .layout .dl_wrap ul.detail_lists li.detail_list dl dt,
	section.job .secs .sec.detail .layout .dl_wrap ul.detail_lists li.detail_list dl dd{
		width: 100%;
	}
	section.job .secs .sec.detail .layout .dl_wrap ul.detail_lists li.detail_list dl dt h3{
		position: relative;
		top: auto;
	}
	section.job .secs .sec.detail .layout .dl_wrap ul.detail_lists li.detail_list dl dt h3 span.txt{
		font-size: 3.33vw;
	}
	section.job .secs .sec.detail .layout .dl_wrap ul.detail_lists li.detail_list dl dd .items .item p.nml{
		font-size: 3.33vw;
	}
	section.job .secs .sec.detail .layout .dl_wrap ul.detail_lists li.detail_list dl dd .items .item p.notes{
		font-size: 3.08vw;
		padding-left: 3.08vw;
	}
	section.job .secs .sec.detail .layout .dl_wrap ul.detail_lists li.detail_list dl dd .items .item ul.tag_lists{
		gap: 1.03vw;
	}
	section.job .secs .sec.detail .layout .dl_wrap ul.detail_lists li.detail_list dl dd .items .item ul.tag_lists li.tag_list p{
		font-size: 3.08vw;
		padding: 0 calc((3.08vw * 2) / 2);
		border-radius: calc((3.08vw * 2) / 2);
	}
	section.job .secs .sec.detail .layout .dl_wrap ul.detail_lists li.detail_list dl dd .items .item ul.bullet_points li.bullet_point{
		padding-left: calc(3.33vw * 1.04);
	}
	section.job .secs .sec.detail .layout .dl_wrap ul.detail_lists li.detail_list dl dd .items .item ul.bullet_points li.bullet_point:before{
		top: calc(((3.33vw * 2) - 2px) / 2);
		left: calc((3.33vw - 2px) / 2);
	}
	section.job .secs .sec.detail .layout .dl_wrap ul.detail_lists li.detail_list:after{
		bottom: calc((10.26vw * (1/2)) * -1);
		background-image:
			linear-gradient(
				to right,
				var(--lightgray) 0 0.51vw,
				transparent 0.51vw 1.03vw
			);
		background-size: 1.03vw 1px;
	}
	section.job .job_bg .sticky .cta{
		padding: 2.05vw 0;
	}
	section.job .job_bg .sticky .cta a{
		padding: 6.15vw calc((90vw - 20.51vw) / 2);
		background-size: calc(24.62vw * (1/3)), calc(19.49vw * (1/3)), calc(46.15vw * (1/3));
		background-position: calc(50% - 20.51vw) calc(100% + 1.03vw), calc(50% - 29.74vw) calc(100% + 1.03vw), calc(50% + 24.62vw) calc(100% - 1.03vw);
		border-radius: 6.15vw;
	}
	section.job .job_bg .sticky .cta a:hover{
		background-position: calc(50% - 20.51vw) calc((100% + 1.03vw) + 1.03vw), calc(50% - 29.74vw) calc((100% + 1.03vw) + 1.03vw), calc(50% + 24.62vw) calc((100% - 1.03vw) + 1.03vw);
	}
	section.job .job_bg .sticky .cta a svg{
		width: 20.51vw;
		height: calc(20.51vw * (20/80));
	}
}





/**
 * section
 * backlists
 */
section.backlists{
	padding: 40px 0;
}
@media screen and (max-width: 768px){
	section.backlists{
		padding: 10.26vw 0;
	}
}





/**
 * section
 * apply
 */
section.apply{
	padding: calc(
		(28px * 2) + 
		(12px * 2) + 
		40px
	) 0 160px 0;
}
section.apply .inner{
	width: var(--applyinner);
}
section.apply .layout,
section.apply .layout .form,
section.apply .layout .form .al_wrap ul.apply_lists{
	gap: 20px;
}
section.apply .layout h1,
section.apply .layout form,
section.apply .layout .form .al_wrap,
section.apply .layout .form .btns,
section.apply .layout .form .al_wrap ul.apply_lists li.apply_list{
	width: 100%;
}
section.apply .layout h1{
	gap: 4px;
}
section.apply .layout h1 span.txt{
	display: block;
	font-size: 20px;
	color: var(--black);
	letter-spacing: var(--ls_regular);
	font-weight: 700;
	line-height: 1.25;
}
section.apply .layout .form .al_wrap ul.apply_lists li.apply_list dl dt{
	width: 240px;
}
section.apply .layout .form .al_wrap ul.apply_lists li.apply_list dl dd{
	width: calc(100% - 240px);
}
section.apply .layout .form .al_wrap ul.apply_lists li.apply_list dl dt p{
	gap: 8px;
}
section.apply .layout .form .al_wrap ul.apply_lists li.apply_list dl dt p span.txt{
	display: block;
	font-size: 16px;
	color: var(--black);
	letter-spacing: var(--ls_regular);
	padding: 4px 0;
}
section.apply .layout .form .al_wrap ul.apply_lists li.apply_list dl dt p span.type{
	display: block;
	padding: calc((((16px * 2) + (4px * 2)) - (14px * 2)) / 2) 0;
}
section.apply .layout .form .al_wrap ul.apply_lists li.apply_list dl dt p span.type span.must,
section.apply .layout .form .al_wrap ul.apply_lists li.apply_list dl dt p span.type span.any{
	display: block;
	font-size: 14px;
	padding: 0 calc((14px * 2) / 2);
	border-radius: calc((14px * 2) / 2);
}
section.apply .layout .form .al_wrap ul.apply_lists li.apply_list dl dt p span.type span.must{
	color: var(--white);
	background: var(--main);
}
section.apply .layout .form .al_wrap ul.apply_lists li.apply_list dl dt p span.type span.any{
	color: var(--deepgray);
	background: var(--thingray);
}
section.apply .layout .form .al_wrap ul.apply_lists li.apply_list dl dd .inputs{
	gap: 8px;
}
section.apply .layout .form .al_wrap ul.apply_lists li.apply_list dl dd .inputs input[type="text"],
section.apply .layout .form .al_wrap ul.apply_lists li.apply_list dl dd .inputs input[type="tel"],
section.apply .layout .form .al_wrap ul.apply_lists li.apply_list dl dd .inputs input[type="email"],
section.apply .layout .form .al_wrap ul.apply_lists li.apply_list dl dd .inputs textarea{
	display: block;
	font-size: 16px;
	color: var(--black);
	padding: 4px calc(((16px * 2) + (4px * 2)) / 2);
	background: var(--white);
	outline: 2px solid var(--white);
	outline-offset: -2px;
	border-radius: calc(((16px * 2) + (4px * 2)) / 2);
	resize: none;
}
section.apply .layout .form .al_wrap ul.apply_lists li.apply_list dl dd .inputs input[type="text"]::placeholder,
section.apply .layout .form .al_wrap ul.apply_lists li.apply_list dl dd .inputs input[type="tel"]::placeholder,
section.apply .layout .form .al_wrap ul.apply_lists li.apply_list dl dd .inputs input[type="email"]::placeholder,
section.apply .layout .form .al_wrap ul.apply_lists li.apply_list dl dd .inputs textarea::placeholder{
	color: var(--thingray);
}
section.apply .layout .form .al_wrap ul.apply_lists li.apply_list dl dd .inputs input[type="text"]:focus,
section.apply .layout .form .al_wrap ul.apply_lists li.apply_list dl dd .inputs input[type="text"].act,
section.apply .layout .form .al_wrap ul.apply_lists li.apply_list dl dd .inputs input[type="tel"]:focus,
section.apply .layout .form .al_wrap ul.apply_lists li.apply_list dl dd .inputs input[type="tel"].act,
section.apply .layout .form .al_wrap ul.apply_lists li.apply_list dl dd .inputs input[type="email"]:focus,
section.apply .layout .form .al_wrap ul.apply_lists li.apply_list dl dd .inputs input[type="email"].act,
section.apply .layout .form .al_wrap ul.apply_lists li.apply_list dl dd .inputs textarea:focus,
section.apply .layout .form .al_wrap ul.apply_lists li.apply_list dl dd .inputs textarea.act,
section.apply .layout .form .al_wrap ul.apply_lists li.apply_list dl dd .inputs label:has(input[type="radio"]:focus-visible),
section.apply .layout .form .al_wrap ul.apply_lists li.apply_list dl dd .inputs label:has(input[type="radio"]:checked){
	background: var(--purewhite);
	outline: 2px solid var(--accent);
}
section.apply .layout .form .al_wrap ul.apply_lists li.apply_list dl dd .inputs .full,
section.apply .layout .form .al_wrap ul.apply_lists li.apply_list dl dd .inputs .full input[type="text"],
section.apply .layout .form .al_wrap ul.apply_lists li.apply_list dl dd .inputs .full input[type="tel"],
section.apply .layout .form .al_wrap ul.apply_lists li.apply_list dl dd .inputs .full input[type="email"],
section.apply .layout .form .al_wrap ul.apply_lists li.apply_list dl dd .inputs .full textarea{
	width: 100%;
}
section.apply .layout .form .al_wrap ul.apply_lists li.apply_list dl dd .inputs .split{
	width: 120px;
	gap: 4px;
}
section.apply .layout .form .al_wrap ul.apply_lists li.apply_list dl dd .inputs .split input[type="text"],
section.apply .layout .form .al_wrap ul.apply_lists li.apply_list dl dd .inputs .split input[type="tel"],
section.apply .layout .form .al_wrap ul.apply_lists li.apply_list dl dd .inputs .split input[type="email"]{
	width: calc(120px - (16px + 4px));
}
section.apply .layout .form .al_wrap ul.apply_lists li.apply_list dl dd .inputs p.txt{
	width: 16px;
	font-size: 16px;
	padding: 4px 0;
}
section.apply .layout .form .al_wrap ul.apply_lists li.apply_list dl dd .inputs label:has(input[type="radio"]){
	padding: 4px 0;
	background: var(--white);
	outline: 2px solid var(--white);
	outline-offset: -2px;
	border-radius: calc(((16px * 2) + (4px * 2)) / 2);
}
section.apply .layout .form .al_wrap ul.apply_lists li.apply_list dl dd .inputs p.choices{
	font-size: 16px;
	color: var(--black);
}
section.apply .layout .form .btns button{
	display: block;
	width: calc(100% - 240px);
	padding: calc((((16px * 2) + (4px * 2)) - (80px * (20/80))) / 2) 0;
	background: var(--main);
	border-radius: calc(((16px * 2) + (4px * 2)) / 2);
}
section.apply .layout .form .btns button:disabled{
	background: var(--gray);
}
section.apply .layout .form .btns button svg{
	display: block;
	width: 80px;
	height: calc(80px * (20/80));
}
section.apply .layout .form .btns button svg path{
	fill: var(--white);
}
section.apply .layout .form .btns button:hover svg path{
	fill: var(--accent);
}
@media screen and (max-width: 768px){
	section.apply{
		padding: calc(
			(5.13vw * 2) + 
			(3.08vw * 2) + 
			10.26vw
		) 0 41.03vw 0;
	}
	section.apply .layout,
	section.apply .layout .form,
	section.apply .layout .form .al_wrap ul.apply_lists{
		gap: 5.13vw;
	}
	section.apply .layout h1{
		gap: 1.03vw;
	}
	section.apply .layout h1 span.txt{
		font-size: 3.59vw;
	}
	section.apply .layout .form .al_wrap ul.apply_lists li.apply_list dl{
		gap: 2.05vw;
	}
	section.apply .layout .form .al_wrap ul.apply_lists li.apply_list dl dt,
	section.apply .layout .form .al_wrap ul.apply_lists li.apply_list dl dd{
		width: 100%;
	}
	section.apply .layout .form .al_wrap ul.apply_lists li.apply_list dl dt p{
		gap: 2.05vw;
	}
	section.apply .layout .form .al_wrap ul.apply_lists li.apply_list dl dt p span.txt{
		font-size: 3.59vw;
		padding: 0;
	}
	section.apply .layout .form .al_wrap ul.apply_lists li.apply_list dl dt p span.type{
		padding: calc(((3.59vw * 2) - (3.33vw * 2)) / 2) 0;
	}
	section.apply .layout .form .al_wrap ul.apply_lists li.apply_list dl dt p span.type span.must,
	section.apply .layout .form .al_wrap ul.apply_lists li.apply_list dl dt p span.type span.any{
		font-size: 3.33vw;
		padding: 0 calc((3.33vw * 2) / 2);
		border-radius: calc((3.33vw * 2) / 2);
	}
	section.apply .layout .form .al_wrap ul.apply_lists li.apply_list dl dd .inputs{
		gap: 2.05vw;
	}
	section.apply .layout .form .al_wrap ul.apply_lists li.apply_list dl dd .inputs input[type="text"],
	section.apply .layout .form .al_wrap ul.apply_lists li.apply_list dl dd .inputs input[type="tel"],
	section.apply .layout .form .al_wrap ul.apply_lists li.apply_list dl dd .inputs input[type="email"],
	section.apply .layout .form .al_wrap ul.apply_lists li.apply_list dl dd .inputs textarea{
		font-size: 16px;
		padding: 1.03vw calc(((16px * 2) + (1.03vw * 2)) / 2);
		border-radius: calc(((16px * 2) + (1.03vw * 2)) / 2);
	}
	section.apply .layout .form .al_wrap ul.apply_lists li.apply_list dl dd .inputs .split{
		width: 25.64vw;
		gap: 1.03vw;
	}
	section.apply .layout .form .al_wrap ul.apply_lists li.apply_list dl dd .inputs .split input[type="text"],
	section.apply .layout .form .al_wrap ul.apply_lists li.apply_list dl dd .inputs .split input[type="tel"],
	section.apply .layout .form .al_wrap ul.apply_lists li.apply_list dl dd .inputs .split input[type="email"]{
		width: calc(25.64vw - (3.59vw + 1.03vw));
	}
	section.apply .layout .form .al_wrap ul.apply_lists li.apply_list dl dd .inputs p.txt{
		width: 3.59vw;
		font-size: 3.59vw;
		padding: calc((((16px * 2) + (1.03vw * 2)) - (3.59vw * 2)) / 2) 0;
	}
	section.apply .layout .form .al_wrap ul.apply_lists li.apply_list dl dd .inputs label:has(input[type="radio"]){
		padding: 1.03vw 0;
		border-radius: calc(((16px * 2) + (1.03vw * 2)) / 2);
	}
	section.apply .layout .form .al_wrap ul.apply_lists li.apply_list dl dd .inputs p.choices{
		font-size: 16px;
	}
	section.apply .layout .form .btns button{
		width: 100%;
		padding: calc((((16px * 2) + (1.03vw * 2)) - (20.51vw * (20/80))) / 2) 0;
		border-radius: calc(((16px * 2) + (1.03vw * 2)) / 2);
	}
	section.apply .layout .form .btns button svg{
		width: 20.51vw;
		height: calc(20.51vw * (20/80));
	}
}





/**
 * section
 * apply
 * thanks
 * error
 */
section.apply .thanks .txts,
section.apply .error .txts{
	gap: 20px;
}
section.apply .thanks .txts h1,
section.apply .thanks .txts .message,
section.apply .error .txts h1,
section.apply .error .txts .message{
	width: 100%;
}
section.apply .thanks .txts h1 span.txt,
section.apply .error .txts h1 span.txt{
	display: block;
	font-size: 20px;
	color: var(--black);
	letter-spacing: var(--ls_regular);
	font-weight: 700;
	line-height: 1.25;
}
section.apply .thanks .txts h1 span.txt:before,
section.apply .thanks .txts h1 span.txt:after,
section.apply .error .txts h1 span.txt:after{
	position: absolute;
	content: '';
	bottom: 0;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
}
section.apply .thanks .txts h1 span.txt:before{
	left: 0;
	transform: translate(-100%, 0);
	width: calc(96px * (1 / 2));
	height: calc((96px * (1 / 2)) * (116 / 96));
	background-image: url('../illustration/staff01_96_116.png');
}
section.apply .thanks .txts h1 span.txt:after{
	right: 0;
	transform: translate(100%, 0) scale(-1, 1);
	width: calc(76px * (1 / 2));
	height: calc((76px * (1 / 2)) * (120 / 76));
	background-image: url('../illustration/staff02_76_120.png');
}
section.apply .error .txts h1 span.txt:after{
	right: 0;
	transform: translate(100%, 0);
	width: calc(164px * (1 / 2));
	height: calc((164px * (1 / 2)) * (108 / 164));
	background-image: url('../illustration/truck03_164_108.png');
}
section.apply .thanks .txts .message,
section.apply .error .txts .message{
	gap: 8px;
}
section.apply .thanks .txts .message p,
section.apply .error .txts .message p{
	gap: 4px;
}
section.apply .thanks .txts .message p,
section.apply .thanks .txts .message p span.row,
section.apply .error .txts .message p,
section.apply .error .txts .message p span.row{
	width: 100%;
}
section.apply .thanks .txts .message p span.row span.txt,
section.apply .error .txts .message p span.row span.txt{
	display: block;
	font-size: 14px;
	color: var(--black);
	letter-spacing: var(--ls_regular);
}
@media screen and (max-width: 768px){
	section.apply .thanks .txts,
	section.apply .error .txts{
		gap: 5.13vw;
	}
	section.apply .thanks .txts h1 span.txt,
	section.apply .error .txts h1 span.txt{
		font-size: 3.59vw;
	}
	section.apply .thanks .txts h1 span.txt:before{
		width: calc(24.62vw * (1/3));
		height: calc((24.62vw * (1/3)) * (116/96));
	}
	section.apply .thanks .txts h1 span.txt:after{
		width: calc(19.49vw * (1/3));
		height: calc((19.49vw * (1/3)) * (120/76));
	}
	section.apply .error .txts h1 span.txt:after{
		width: calc(42.05vw * (1 / 3));
		height: calc((42.05vw * (1 / 3)) * (108 / 164));
	}
	section.apply .thanks .txts .message,
	section.apply .error .txts .message{
		gap: 2.05vw;
	}
	section.apply .thanks .txts .message p,
	section.apply .error .txts .message p{
		gap: 1.03vw;
	}
	section.apply .thanks .txts .message p span.row span.txt,
	section.apply .error .txts .message p span.row span.txt{
		font-size: 3.33vw;
	}
}





/**
 * section
 * preparation
 */
section.preparation{
	padding: 40px 0 80px 0;
}
section.preparation .txts{
	gap: 40px;
}
section.preparation .txts .message{
	gap: 20px;
}
section.preparation .txts .message p{
	gap: 4px;
}
section.preparation .txts h1,
section.preparation .txts .message,
section.preparation .txts .message p,
section.preparation .txts .message p span.row{
	width: 100%;
}
section.preparation .txts h1 span.txt{
	display: block;
	font-size: 20px;
	color: var(--black);
	letter-spacing: var(--ls_regular);
	font-weight: 700;
	line-height: 1.25;
}
section.preparation .txts h1 span.txt:before,
section.preparation .txts h1 span.txt:after{
	position: absolute;
	content: '';
	bottom: 0;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
}
section.preparation .txts h1 span.txt:before{
	left: 0;
	transform: translate(-100%, 0);
	width: calc(96px * (1/2));
	height: calc((96px * (1/2)) * (116/96));
	background-image: url('../illustration/staff01_96_116.png');
}
section.preparation .txts h1 span.txt:after{
	right: 0;
	transform: translate(100%, 0);
	width: calc(164px * (1/2));
	height: calc((164px * (1/2)) * (108/164));
	background-image: url('../illustration/truck03_164_108.png');
}
section.preparation .txts .message p span.row span.txt{
	display: block;
	font-size: 14px;
	color: var(--black);
	letter-spacing: var(--ls_regular);
}
@media screen and (max-width: 768px){
	section.preparation{
		padding: 10.26vw 0 20.51vw 0;
	}
	section.preparation .txts{
		gap: 10.26vw;
	}
	section.preparation .txts .message{
		gap: 5.13vw;
	}
	section.preparation .txts .message p{
		gap: 1.03vw;
	}
	section.preparation .txts h1 span.txt{
		font-size: 3.59vw;
	}
	section.preparation .txts h1 span.txt:before{
		width: calc(24.62vw * (1/3));
		height: calc((24.62vw * (1/3)) * (116/96));
	}
	section.preparation .txts h1 span.txt:after{
		width: calc(42.05vw * (1/3));
		height: calc((42.05vw * (1/3)) * (108/164));
	}
	section.preparation .txts .message p span.row span.txt{
		font-size: 3.33vw;
	}
}





/**
 * 追加
 */
.cards_wrap .cards .card a .job{
	height: calc(100% - 240px);/* .cards_wrap .cards .card a .image */
}
@media screen and (max-width: 768px){
	.cards_wrap .cards .card a .job{
		height: auto;
	}
}





/**
 * prefers-reduced-motion
 */
@media (prefers-reduced-motion: reduce){

	html{
		scroll-behavior: auto;
	}

	*,
	*:before,
	*:after{
		animation: none!important;
		transition-duration: 0.01ms!important;
		animation-duration: 0.01ms!important;
		animation-iteration-count: 1!important;
	}

}