@charset "utf-8";
:root {
	--c_bk:#000000;
	--c_wh:#ffffff;
	--c_bl:#0057D9;
	--cb: cubic-bezier(.8,.1,0,.98);
}
.clr-bk {color: var(--c_bk)!important;}
.clr-wh {color: var(--c_wh)!important;}
.clr-bl {color: var(--c_bl)!important;}
.bg-bk {background-color: var(--c_bk)!important;}
.bg-wh {background-color: var(--c_wh)!important;}
.bg-bl {background-color: var(--c_bl)!important;}

.fo-neuzeit,.eng {
	font-family: "neuzeit-grotesk", sans-serif;
	font-weight: 400;
	font-style: normal;
}
.fo-futura {
	font-family: "futura-pt-bold", sans-serif;
	font-weight: 700;
	font-style: normal;
}
.bg {
	background: url(../img/bg01.jpg) center center no-repeat;
	background-size: cover;
}
.bg._02 {background-image: url(../img/bg02.jpg);}
.bg._03 {background-image: url(../img/bg03.jpg);}
.bg._04 {background-image: url(../img/bg04.jpg);}

/*lorder
---------------------------------------------------------*/
.loader-bg {
	width: 100vw;
	height: 100vh;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 99999;
	background-color: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
 }
 .loader-bg .logo {
	 max-width: 32rem;
	 margin-bottom: 2rem;
	 animation: blinking .8s infinite alternate;
 }
 @keyframes blinking {
	 0% {opacity: .2;}
	 100% {opacity: 1;}
 }
.loader {
  width: 12rem;
  height: 2.2rem;
  border-radius: 4rem;
  margin: 0 auto;
  color: var(--c_bl);
  border: 2px solid var(--c_bl);
  position: relative;
}
.loader::before {
  content: "";
  position: absolute;
  margin: 2px;
  width: 33%;
  top: 0;
  bottom: 0;
  left: 0;
  border-radius: inherit;
	background: var(--c_bl);
	background: -webkit-gradient(linear, left top, right top, from(#0057D9), to(#00A7EA));
	background: -o-linear-gradient(left, #0057D9 0%, #00A7EA 100%);
	background: linear-gradient(90deg, #0057D9 0%, #00A7EA 100%);
	animation: l3 1s infinite linear;
}
@keyframes l3 {
	50% {left:100%;transform: translateX(calc(-100% - 4px))}
}
body {
	padding-top: 8rem;
}
.btn a {
	min-width: 34rem;
	height: 7rem;
	border-radius: 10rem;
	color: #fff;
	font-size: 2rem;
	font-weight: 500;
	letter-spacing: 0.05em;
	text-align: center;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	gap: 1rem;
	background: #FFAE00;
	background: -webkit-gradient(linear, left top, right top, from(#FFAE00), to(#F30));
	background: -o-linear-gradient(left, #FFAE00 0%, #F30 100%);
	background: linear-gradient(90deg, #FFAE00 0%, #F30 100%);
	background-size: 135% 100%;
	-webkit-animation: AnimationTitle 3.5s ease infinite;
	animation: AnimationTitle 3.5s ease infinite;
}
.btn a.blank::after {
	width: 1.2rem;
}
.btn :hover {
	transform: translateY(-.8rem);
	box-shadow: 0 .8rem 0 rgba(0,0,0,.3);
}

/*header
---------------------------------------------------------*/
#header {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 990;
	background: #fff;
}
#header.scrl {
	box-shadow: 0 0 .5rem rgba(0,0,0,.05);
}
.hWrap {
	padding: 1rem 0;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.hLogo {
	max-width: 27rem;
}
#nav {
	display: flex;
	align-items: flex-end;
}
.nav {
	display: flex;
	gap: 0 2.5rem;
	padding-bottom: .8rem;
	margin-right: 2.5rem;
}
.nav a {
	font-size: 1.4rem;
	font-weight: 500;
	white-space: nowrap;
	display: inline-block;
	position: relative;
	line-height: 1.1;
	z-index: 1;
}
.nav a::before {
	content: "";
	display: block;
	background: #4DE8C4; 
	background: -webkit-gradient(linear,left top, right top,from(#9fa7a5),to(#0F3BEC));
	background: -o-linear-gradient(left,#4DE8C4 0%,#0F3BEC 100%);
	background: linear-gradient(90deg,#4DE8C4 0%,#0F3BEC 100%); 	position: absolute;
	left: 0;
	right: 0;
	bottom: -.5rem;
	height: 0.2rem;
	z-index: -1;
	clip-path: inset(0 100% 0 0);
	transition: .3s ease-in;
}
.nav a:hover::before {
	clip-path: inset(0 0 0 0);
}
.navContact .btn a {
	min-width: 17rem;
	height: 3.4rem;
	font-size: 1.4rem;
	gap: .2rem;
}
.navContact .btn a:hover {
	box-shadow: none;
	transform: none;
	opacity: .7;
}
.hTel {
	font-size: 1.2rem;
	white-space: nowrap;
	margin-left: -10rem;
	margin-bottom: 0.5rem;
}
.menuIconWrap {
	display: none;
}

/*footer
---------------------------------------------------------*/
#footer {
	padding-bottom: 3rem;
}
.copyright {
	font-size: 1.2rem;
}
.fArea {
	padding: 6rem 0;
	display: flex;
	justify-content: space-between;
}
.fLft {
	text-align: left;
}
.fLogo {
	max-width: 36.3rem;
	margin-bottom: 3rem;
}
.policylink {
	display: inline-block;
	color: #7B7B7B;
	margin-top: 2rem;
}
.fRht {
	display: flex;
	gap: 2rem 9rem;
}
.fBtn li + li,
.fBnr li + li {
	margin-top: 1.5rem;
}
.fBtn a {
	font-weight: 500;
	border-radius: 10rem;
	display: flex;
	justify-content: center;
	align-items: center;
	color: var(--c_bl);
	border: 1px solid var(--c_bl);
	padding: 1.5rem 1rem;
	width: 28rem;
}
.fBtn ._02 a {
	background: var(--c_bl);
	background: -webkit-gradient(linear, left top, right top, from(#0057D9), to(#00A7EA));
	background: -o-linear-gradient(left, #0057D9 0%, #00A7EA 100%);
	background: linear-gradient(90deg, #0057D9 0%, #00A7EA 100%);
	background-size: 135% 100%;
	-webkit-animation: AnimationTitle 3.5s ease infinite;
	animation: AnimationTitle 3.5s ease infinite;	color: #fff;
	border-color: #fff;
}
.fBtn a:hover {
	transform: translateY(-.5rem);
	box-shadow: 0 .5rem 0 rgba(0,0,0,.1);
}
.pagetop {
	position: fixed;
	right: 2rem;
	bottom: -6rem;
	width: 6rem;
	transition: .2s;
	transform: rotate(-90deg);
	z-index: 990;
}
.pagetop img {
	display: block;
	width: 100%;
}
.pagetop.scrl {
	bottom: 2rem;
}

/*contents
---------------------------------------------------------*/
.mainArea {
	overflow: hidden;
	padding-bottom: 5rem;
}
.mainWrap {
	width: 90%;
	max-width: 175.5rem;
	margin: 0 auto;
	position: relative;
	z-index: 1;
}
.mainImg {
	display: flex;
	z-index: -1;
	margin-right: -20rem;
}
.mainImg li {
	transition: 1.5s .4s;
	opacity: 0;
	transform: translate(2.2rem,-3.5rem);
}
.act .mainImg li {
	opacity: 1;
	transform: translate(0,0);
}
.mainImg li:nth-of-type(1) {
	width: 43.2%;
}
.mainImg li:nth-of-type(2) {
	width: 43%;
	margin-left: -15.5%;
	transition-delay: .6s;
}
.mainImg li:nth-of-type(3) {
	width: 50.8%;
	margin-left: -17.5%;
	transition-delay: .8s;
}
h1 {
	width: 90%;
	max-width: 120rem;
	margin: 0 auto;
	font-size: 6rem;
	font-size: min(3.125vw,6rem);
	font-weight: 800;
	line-height: 1;
	text-align: left;
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: 10;
	display: flex;
	align-items: end;
}
h1 strong {
	display: inline-block;
	position: relative;
	font-size: 140%;
	background: #4DE8C4; 
	background: -webkit-gradient(linear,left top, right top,from(#9fa7a5),to(#0F3BEC));
	background: -o-linear-gradient(left,#4DE8C4 0%,#0F3BEC 100%);
	background: linear-gradient(90deg,#4DE8C4 0%,#0F3BEC 100%); 
	background-clip: text;
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;	margin-right: 0.2em;
	background-size: 200% 100%;
	-webkit-animation: AnimationTitle 5s ease infinite;
	animation: AnimationTitle 5s ease infinite;
	vertical-align: 1em;
}
@-webkit-keyframes AnimationTitle {
0%{background-position:0% 50%}
50%{background-position:100% 50%}
100%{background-position:0% 50%}
}
@keyframes AnimationTitle {
0%{background-position:0% 50%}
50%{background-position:100% 50%}
100%{background-position:0% 50%}
}
h1 strong::after {
  content: "";
  display: block;
	background: #0F3BEC;
	background: -webkit-gradient(linear, left top, right top, from(#4DE8C4), to(#0F3BEC));
	background: -o-linear-gradient(left,#4DE8C4 0%,#0F3BEC 100%);
	background: linear-gradient(90deg, #4DE8C4 0%, #0F3BEC 100%);
  height: 100%;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 1;
  clip-path: inset(0% 100% 0% 0%)
}
.act h1 strong::after {
  animation: mask 1.5s .1s var(--cb) forwards;
}
h1 strong .fo-futura {
	font-size: 200%;
	line-height: 0.7;
	vertical-align: -0.035em;
	margin-right: -0.075em;
}
@keyframes mask {
  0% {clip-path: inset(0% 100% 0% 0%)}
  50% {clip-path: inset(0% 0% 0% 0%)}
  100% {clip-path: inset(0% 0% 0% 100%)}
}
.mainBtm {
	color: #fff;
	font-size: 4.4rem;
	font-weight: 800;
	letter-spacing: 0.05em;
	padding: .7rem 2rem;
	background: #0F3BEC; 
	background: -webkit-gradient(linear,left top, right top,from(#4DE8C4),to(#0F3BEC));
	background: -o-linear-gradient(left,#4DE8C4 0%,#0F3BEC 100%);
	background: linear-gradient(90deg,#4DE8C4 0%,#0F3BEC 100%); 
	background-size: 200% 100%;
	-webkit-animation: AnimationTitle 5s ease infinite;
	animation: AnimationTitle 5s ease infinite;
}
.mainBtm span {
	color: #FFF100;
}
.message {
	width: fit-content;
	margin: 0 auto;
	text-align: justify;
	line-height: 1.8;
}
.message h2 {
	font-size: 2.8rem;
	margin-bottom: 3rem;
}
.gallery-wrap {
	overflow: hidden;
}

.gallery {
	display: inline-flex;
	align-items: flex-end;
	margin: 6rem 0 0;
	padding: 0;
	width: max-content;
	list-style: none;
	animation: infinity-scroll-left 50s linear infinite;
}
.gallery li {
	overflow: hidden;
	max-width: 24rem;
	padding: 0 1.5rem;
	flex: 0 0 auto;
	animation: main 5s linear infinite;
}
.gallery li._03 {
	max-width: 35rem;
}

.gallery li:nth-of-type(even) {
	animation: main 5s linear infinite 2.5s;
}

.gallery img + img {
	margin-top: 2rem;
}

@keyframes infinity-scroll-left {
	0%   { transform: translateX(0); }
	100% { transform: translateX(-50%); }
}

@keyframes main {
	0%   { transform: translateY(0px); }
	50%  { transform: translateY(-1rem); }
	100% { transform: translateY(0px); }
}

.entryTtl {
	font-size: 4.2rem;
	font-weight: 700;
	margin-bottom: 1rem;
	color: var(--c_bl);
}
.entryArea {
	background: url(../img/entry_bg.jpg) center center no-repeat;
	background-size: cover;
	color: #fff;
	padding: 6rem 0;
	clip-path: inset(0 100% 0 0);
	transition: 1s .6s var(--cb);
}
.entryArea.act {
	clip-path: inset(0 0 0 0);
}
.entryWrap {
	width: 90%;
	max-width: 100rem;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
	align-items: center;
	text-align: left;
	gap: 2rem;
}
.entryWrap dt {
	font-size: 3.2rem;
	font-weight: 700;
	margin-bottom: 1rem;
}
.entryWrap dt small {
	font-size: 82%;
}
.ttlBox {
	margin-bottom: 7rem;
}
.ttlBox h2 {
	font-size: 4.6rem;
}
.ttlBox .eng {
	font-size: 2rem;
	font-weight: 700;
	color: var(--c_bl);
}
.business li {
	display: flex;
	flex-direction: row-reverse;
	gap: 7rem;
}
.business li + li {
	padding-top: 5rem;
	margin-top: 5rem;
	border-top: 1px solid #E9E9E9;
}
.business li .img {
	width: 62rem;
}
.business li dl {
	flex: 1;
	text-align: justify;
}
.business dt {
	font-size: 1.8rem;
	color: var(--c_bl);
	font-weight: 500;
	margin-bottom: 3rem;
}
.business dt .eng {
	font-size: 122%;
	line-height: 1;
}
.business dt h3 {
	font-size: 4.6rem;
	margin-bottom: 0.5rem;
}
.business dt h3 .eng {
	font-size: 130%;
	font-weight: 700;
	vertical-align: -.05em;
}
.business dd h4 {
	font-size: 2.6rem;
	margin-bottom: 3rem;
}
.interview li {
	background: #fff;
	padding: 5rem;
	display: grid;
	grid-template-columns: 30rem 1fr;
	gap: 4rem;
	text-align: justify;
}
.interview li + li {
	margin-top: 5rem;
}
.interview .name {
	display: grid;
	grid-template-columns: 11rem 1fr;
	font-size: 2rem;
	font-weight: 700;
	margin-top: 1.5rem;
	text-align: left;
	gap: 0 1.5rem;
}
.interview .name span {
	display: block;
	background: var(--c_bl);
	text-align: center;
	color: #fff;
	font-weight: 500;
	font-size: 80%;
	padding-top: 0.2rem;
}
.interview dt {
	position: relative;
	font-size: 2rem;
	font-weight: 700;
	padding-left: 3rem;
	margin-bottom: 1rem;
}
.interview dt::before {
	content: "Q";
	font-size: 2.6rem;
	color: var(--c_bl);
	font-family: "neuzeit-grotesk", sans-serif;
	font-weight: 700;
	font-style: normal;
	line-height: 1.3;
	position: absolute;
	top: 0;
	left: 0;
}
.interview dd + dt {
	margin-top: 3rem;
}
#training {
	padding-bottom: 0;
}
.trainingArea {
	padding: 7rem 0 8rem;
}
.trainingArea h3 {
	font-size: 3.2rem;
	margin-bottom: 3rem;
}
.moviewBox {
	max-width: 70rem;
	margin: 0 auto;
}
video {
	max-width: 100%;
	height: auto;
}
.txtTtl {
	margin-bottom: 7rem;
}
.txtTtl h2 {
	font-size: 3.2rem;
	margin-bottom: .5rem;
}
.structure {
	display: grid;
	grid-template-columns: repeat(4,1fr);
	gap: 5rem 3.3rem;
	text-align: justify;
}
.structure h3 {
	font-size: 2.2rem;
	letter-spacing: 0.05em;
	padding: 1rem 0;
}
#number {
	background: #f8f8f8;
}
.number {
	display: grid;
	grid-template-columns: repeat(3,1fr);
	gap: 3rem;
}
.number li {
	background: #fff;
	aspect-ratio: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}
.number figure {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	max-width: 19.1rem;
	height: 13.9rem;
}
.number figure img {
	max-height: 100%;
	width: auto;
}
.number h3 {
	font-size: 2rem;
	text-align: left;
	line-height: 1.4;
	min-height: 5.6rem;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	margin-bottom: 1rem;
}
.number .year {
	font-size: 2.6rem;
	font-weight: 700;
	color: var(--c_bl);
	line-height: .7;
}
.number .year .eng {
	display: inline-block;
	font-size: 307%;
	font-weight: 700;
}
.number .note {
	font-size: 1.2rem;
	margin-top: 1.5rem;
	text-align: left;
}
#noskill {
	padding: 0;
}
#noskill .container {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 1rem;
}
.noskill {
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	text-align: left;
	font-size: 2rem;
	font-weight: 500;
	line-height: 1.8;
	background: #fff;
	padding: 2rem;
	padding-left: 0;
	z-index: 5;
}
.noskill h2 {
	font-size: 4.8rem;
	color: var(--c_bl);
	margin-bottom: 2rem;
}
.noskillImgs {
	width: 70.2%;
	display: flex;
	position: relative;
	z-index: 1;
}
.noskillImgs li {
	margin-right: -13rem;
	transition: 1.5s .6s;
	opacity: 0;
	transform: translate(2.2rem,-3.5rem);
}
.noskillImgs li:nth-of-type(2) {
	margin-left: -13rem;
	margin-top: 10rem;
	position: relative;
	z-index: -1;
	transform: translate(-2.2rem,3.5rem);
	transition-delay: .8s;
}
.act .noskillImgs li {
	opacity: 1;
	transform: translate(0,0);
}
.recruitment {
	background: #fff;
	text-align: left;
}
.recruitment th,
.recruitment td {
	border-top: 1px solid #9E9E9E;
	border-bottom: 1px solid #9E9E9E;
	padding: 2.5rem 5rem;
}
.recruitment th {
	background: #E6F1FF;
	border-right: 1px solid #9E9E9E;
	text-align: center;
	font-weight: 500;
}
.recruitment td dl {
	display: grid;
	grid-template-columns: 12rem 1fr;
}
.recruitment td dt,
.recruitment td dd {
	position: relative;
	padding: 1.5rem 1rem;
	border-top: 1px solid #e9e9e9;
}
.recruitment td dt {
	display: flex;
	align-items: center;
}
.recruitment td dt:first-of-type,
.recruitment td dd:first-of-type {
	border-top: none;
	padding-top: 0;
}
.recruitment td dt::after {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	right: 0;
	bottom: -1.5px;
	height: 3px;
	z-index: 1;
	background: var(--c_bl);
}
.recruitment td dt:last-of-type::after {
	display: none;
}
.recruitment td dd {
	padding-left: 3rem;
}
.recruitment td dd .txt {
	display: grid;
	grid-template-columns: 7.2rem 1fr;
}
.recruitment td dd .txt span {
	display: block;
	position: relative;
}
.recruitment td dd .txt span::after {
	content: "：";
	position: absolute;
	top: 0;
	right: 0;
}
.flow {
	display: grid;
	grid-template-columns: repeat(5,1fr);
	gap: 4.5rem;
	font-size: 1.8rem;
	font-weight: 700;
}
.flow li {
	opacity: 0;
	transform: translateX(-2rem);
	transition: 1.4s .2s;
}
.flow li:nth-of-type(2) {
	transition-delay: .4s;
}
.flow li:nth-of-type(3) {
	transition-delay: .6s;
}
.flow li:nth-of-type(4) {
	transition-delay: .8s;
}
.flow li:nth-of-type(5) {
	transition-delay: 1s;
}
.flow li.act {
	opacity: 1;
	transform: translateX(0);
}
.flow .img {
	background: var(--c_bl);
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	border-radius: 50%;
	position: relative;
	aspect-ratio: 1;
	color: #fff;
	margin-bottom: 1.5rem;
}
.flow .img::after {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	right: -3.15rem;
	transform: translateY(-50%);
	width: 1.8rem;
	aspect-ratio: 3/4;
	background-color: var(--c_bl);
	clip-path: polygon(100% 50%, 0% 0%, 0% 100%);
}
.flow li:last-of-type .img::after {
	display: none;
}
.flow .img figure {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	height: 8.1rem;
}
.flow .img figure img {
	width: auto;
	max-height: 100%;
}
.flow .img h3 {
	font-size: 2.5rem;
	font-weight: 700;
	line-height: 1;
	margin-bottom: .7rem;
}
.flow .txt {
	margin: 1.5rem -2rem 0;
}





/*ieハック*/
@media screen\0  {
}

/*********************************/
/* タブレット用のスタイル記述 */
/*********************************/
@media screen and (max-width: 1150px) {
	html {
		font-size: .8vw;
	}
}

/*********************************/
/* スマートフォン用のスタイル記述 */
/*********************************/
@media screen and (max-width: 780px) {
/*全体レイアウト
---------------------------------------------------------*/
	html {
		font-size: 2.7777777vw;
	}
	body {
		font-size: 1.4rem;
		line-height: 1.5;
		padding-top: 5rem;
	}
	body.active {
		overflow: hidden;
	}
	body::after {
		content: "";
		display: block;
		position: fixed;
		transition: .4s;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		background: rgba(0,0,0, 0.5);
		backdrop-filter: blur(5px);
		transition: .4s;
		opacity: 0;
		pointer-events: none;
	}
	body.active::after {
		opacity: 1;
		z-index: 900;
	}
	article > section {
		padding: 4rem 0;
	}

	/*header
	-------------------------------------------------------*/
	#header {
		position: absolute;
	}
	.hWrap {
		height: 5rem;
	}
	.hLogo {
		max-width: 22rem;
	}
	.menuIconWrap {
		display: block;
		position: fixed;
		top: 0;
		right: 0;
		width: 5rem;
		height: 5rem;
		z-index: 99999;
		cursor: pointer;
		background: var(--c_bl);
		background: -webkit-gradient(linear, left top, right top, from(#0057D9), to(#00A7EA));
		background: -o-linear-gradient(left, #0057D9 0%, #00A7EA 100%);
		background: linear-gradient(90deg, #0057D9 0%, #00A7EA 100%);
		background-size: 135% 100%;
		-webkit-animation: AnimationTitle 3.5s ease infinite;
		animation: AnimationTitle 3.5s ease infinite;	color: #fff;
	}
	.menuIcon span {
		position: absolute;
		left: 0;
		right: 0;
		margin: 0 auto;
		width: 2rem;
		height: 1px;
		background: #fff;
		z-index: 10;
		transition: .2s;
		transform-origin: center;
	}
	.menuIcon span:nth-of-type(1) {top: 1.6rem;}
	.menuIcon span:nth-of-type(2) {bottom: 2.4rem;}
	.menuIcon span:nth-of-type(3) {bottom: 1.6rem;}
	.menuIconWrap.active span:nth-of-type(1) {
		-webkit-transform: translateY(.85rem) rotate(45deg);
		transform: translateY(.85rem) rotate(45deg);
	}
	.menuIconWrap.active span:nth-of-type(2) {
		opacity: 0;
	}
	.menuIconWrap.active span:nth-of-type(3) {
		-webkit-transform: translateY(-.85rem) rotate(-45deg);
		transform: translateY(-.85rem) rotate(-45deg);
	}
	#nav {
		position: fixed;
		top: 0;
		bottom: 0;
		right: -3rem;
		z-index: 10;
		width: 90%;
		height: 100%;
		transition: all 0.3s ease-in-out;
		overflow-y: auto;
		overflow-x: hidden;
		-webkit-overflow-scrolling: touch;
		display: block;
		padding: 5rem 5rem 2rem 2rem;
		background: #f8f8f8;
		visibility: hidden;
		opacity: 0;
		pointer-events: none;
	}
	#nav.active {
		right: 0;
		opacity: 1;
		visibility: visible;
		pointer-events: all;
		z-index: 999999;
	}
	.nav {
		display: block;
		text-align: left;
		margin-right: 0;
	}
	.nav a {
		display: block;
		border-bottom: 1px solid rgba(0,0,0,.1);
		font-size: 1.4rem;
		padding: 1.5rem 1rem;
	}
	.nav a {
		position: relative;
	}
	.nav a::before {
		display: none;
	}
	.nav a::after {
		content: "";
		display: block;
		background: url(../img/arrow_bk.svg) center center no-repeat;
		background-size: contain;
		width: 1.2rem;
		aspect-ratio: 4/3;
		position: absolute;
		top: 40%;
		right: 0;
		z-index: 1;
		transition: .2s;
	}
	.navContact {
		display: flex;
		flex-direction: column-reverse;
		gap: 1rem;
		margin-top: 1.5rem;
	}
	.hTel {
		white-space: nowrap;
		margin:0;
		font-size: 1.4rem;
	}
	.hTel a {
		font-size: 112.5%;
	}
	.navContact .btn a {
		min-width: inherit;
		width: 100%;
		height: 5rem;
		font-size: 1.6rem;
	}

	/*footer
	-------------------------------------------------------*/
	.fArea {
		display: block;
		padding: 4rem 0;
	}
	.fLogo {
		max-width: 25rem;
		margin-bottom: 1.5rem;
	}
	.fArea address {
		font-size: 1.2rem;
	}
	.policylink {
		font-size: 1.2rem;
		margin-top: 1rem;
	}
	.fArea .policylink::after {
		width: 1rem;
	}
	.fRht {
		display: block;
		margin-top: 2rem;
	}
	.fBtn,
	.fBnr {
		display: grid;
		grid-template-columns: repeat(2,1fr);
		gap: .5rem;
		margin-top: 2rem;
	}
	.fBtn li + li,
	.fBnr li + li {
		margin-top: 0;
	}
	.fBtn a {
		font-size: 1rem;
		width: 100%;
		padding: 1.2rem 0;
		white-space: nowrap;
	}
	.fBtn a::after {
		width: .9rem;
	}
	.copyright {
		font-size: 1rem;
		text-align: left;
		padding: 0 2rem;
		color: #4d4d4d;
	}
	.pagetop {
		right: 1rem;
		bottom: -6rem;
		width: 4.5rem;
	}
	.pagetop.scrl {
		bottom: 1rem;
	}

	/*contents
	-------------------------------------------------------*/
	.mainArea {
		height: 33rem;
		padding-bottom: 2rem;
	}
	.mainWrap {
		height: 100%;
		width: 95%;
	}
	.mainImg {
		position: absolute;
		z-index: -1;
		margin: 0;
		left: 0;
		right: 0;
		top: 0;
	}
	.mainImg li {
		position: absolute;
		top: 0;
	}
	.mainImg li:nth-of-type(1) {
		width: 70%;
		left: -4rem;
	}
	.mainImg li:nth-of-type(2) {
		width: 77%;
		left: 44%;
	}
	.mainImg li:nth-of-type(3) {
		width: 82%;
		position: absolute;
		top: 10rem;
		right: -12rem;
	}
	h1 {
		width: 100%;
		font-size: 2.8rem;
		letter-spacing: 0.02em;
		display: flex;
		flex-direction: column;
		justify-content: flex-start;
		align-items: flex-start;
		gap: .3rem;
	}
	h1 strong .fo-futura {
		font-size: 180%;
	}
	.mainBtm {
		font-size: 2rem;
	}
	.message h2 {
		font-size: 1.8rem;
		white-space: nowrap;
	}
	.gallery {
		align-items: center;
		margin-top: 2rem;
		animation-duration: 25s;
	}
	.gallery li {
		padding: 0 1.5rem;
		max-width: 15rem;
	}
	.gallery li._03 {
    max-width: 20rem;
	}
	.entryTtl {
		font-size: 2rem;
	}
	.entryArea {
		padding: 4rem 0;
	}
	.entryWrap {
		flex-direction: column;
		gap: 3rem;
		align-items: inherit;
	}
	.entryWrap dt {
		font-size: 1.8rem;
	}
	.btn a {
		display: flex;
		width: 100%;
		min-width: inherit;
		font-size: 1.8rem;
		height: 5.5rem;
	}
	.ttlBox h2 {
		font-size: 2.4rem;
	}
	.business li {
		display: block;
	}
	.business li .img {
		width: 100%;
		margin-bottom: 2rem;
	}
	.business dt {
		font-size: 1.6rem;
		display: flex;
		align-items: flex-end;
		flex-wrap: wrap;
		gap: .5rem 1rem;
		margin-bottom: 1.5rem;
	}
	.business dt h3 {
		font-size: 2.8rem;
		line-height: 1;
		margin-bottom: -.2rem;
	}
	.business dd h4 {
		font-size: 1.8rem;
		margin-bottom: 1.5rem;
	}
	.business li + li {
    padding-top: 3rem;
    margin-top: 3rem;
	}
	.ttlBox {
		margin-bottom: 4rem;
	}
	.interview li {
		display: block;
		padding: 2rem;
	}
	.interview .name {
		font-size: 1.6rem;
		margin-bottom: 2rem;
	}
	.interview dt {
		font-size: 1.8rem;
	}
	.interview dt::before {
    font-size: 3rem;
		top: -.5rem;
	}
	.interview dd + dt {
    margin-top: 2rem;
	}
	.trainingArea h3 {
		font-size: 1.8rem;
		margin-bottom: 2rem;
	}
	.trainingArea {
		padding: 4rem 0;
	}
	.txtTtl {
		margin-bottom: 4rem;
	}
	.txtTtl h2 {
		font-size: 2.2rem;
	}
	.structure {
    grid-template-columns: repeat(2, 1fr);
    gap: 3rem 1.5rem;
		font-size: 85%;
	}
	.structure h3 {
		font-size: 1.5rem;
		letter-spacing: normal;
		padding-bottom: 0.5rem;
	}
	.number {
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
	}
	.number li {
		aspect-ratio: auto;
		padding: 1rem 0;
		justify-content: flex-start;
	}
	.number figure {
		max-width: 7rem;
		height: 6rem;
		margin-bottom: .5rem;
	}
	.number h3 {
		font-size: 1.4rem;
		white-space: nowrap;
		min-height: 4rem;
		margin-bottom: .5rem;
	}
	.number .year {
    font-size: 1.6rem;
	}
	.number .note {
		font-size: 1rem;
		letter-spacing: -0.04em;
		margin-top: 1rem;
	}
	.noskillImgs {
		width: 100%;
		padding-bottom: 8rem;
	}
	.noskill {
		font-size: 1.4rem;
		transform: none;
		top: 17rem;
		padding: 2rem 3rem 2rem 2rem;
		box-shadow: .7rem .7rem 0 rgba(0,0,0,.1);
	}
	.noskill h2 {
		font-size: 2rem;
		margin-bottom: .5rem;
	}
	.noskillImgs li {
    margin-right: -8rem;
		margin-left: -5rem;
	}
	.recruitment table {
		border: 1px solid #9E9E9E;
	}
	.recruitment th,
	.recruitment td {
		display: block;
		padding: 1.2rem 1.5rem;
		border: none;
	}
	.recruitment td dl {
		display: block;
	}
	.recruitment td dt,
	.recruitment td dd {
		padding: .5rem 0 .5rem 1.2rem!important;
		border: none;
	}
	.recruitment td dd {
		padding-bottom: 2rem!important;
	}
	.recruitment td dt {
		border-bottom: 1px solid #f2f2f2;
	}
	.recruitment td dt:last-of-type::after {
		display: block;
	}
	.recruitment td dt::after {
		width: 0.3rem;
		height: auto;
		top: 0;
		bottom: 0;
		left: 0;
	}
	.recruitment td dd .txt {
		display: block;
		padding: .2rem 0;
	}
	.recruitment td dd .txt span {
		padding-left: 1em;
	}
	.recruitment td dd .txt span::after {
		content: "・";
		right: auto;
		left: 0;
	}
	.flow {
		display: flex;
		flex-direction: column;
		gap: 2rem;
	}
	.flow li {
		display: flex;
		align-items: center;
		border: 1px solid #e5e5e5;
		border-radius: 10rem;
		position: relative;
		opacity: 1;
		transform: translateX(0);
		transition: 0s;
	}
	.flow li.act {
		opacity: 1;
		transform: translateX(0);
	}
	.flow li:not(:last-of-type)::after {
		content: "";
    display: block;
    position: absolute;
		background-color: var(--c_bl);
		clip-path: polygon(50% 100%, 0% 0%, 100% 0%);
		aspect-ratio: 5 / 3;
		transform: none;
		top: auto;
		bottom: -2rem;
		right: 0;
		left: 0;
		margin: 0 auto;
		width: 2.6rem;
	}
	.flow .img {
		width: 11rem;
		margin: 0;
		transform: translateX(7rem);
		opacity: 0;
		transition: 1s .4s var(--cb);
	}
	.flow li.act .img {
		transform: translateX(0);
		opacity: 1;
		transition: 1.2s .2s;
	}
	.flow .txt {
		flex: 1;
		margin: 0;
		font-size: 1.8rem;
		text-align: left;
		padding-left: 3rem;
		opacity: 0;
		transform: translateX(2rem);
		transition: 1s .6s;
	}
	.flow .act .txt {
		transform: translateX(0);
		opacity: 1;
	}
	.flow .txt.spsm {
		font-size: 1.6rem;
	}
	.flow .img::after {
		display: none;
	}
	.flow .img figure {
		height: 4rem;
	}
	.flow .img h3 {
		font-size: 2rem;
		margin-bottom: 0.5rem;
	}




















}















