@charset "UTF-8";

/* recruit
---------------------------------------------------------------------------*/
:root {
	--color-red: #B80000;
	--color-red-dark: #9D0000;
	--color-white: #FFF8E4;
	--color-line-white: rgba(255,248,228,0.75);
	--font-helvetica-hair: HelveticaNowDisplay-Hair, sans-serif;
	--font-helvetica-thin: HelveticaNowDisplay-Th, sans-serif;
	--font-dot-gothic: "DotGothic16", sans-serif;
	--width-min: 1240px;
	/*--width-min: 0px;*/
	--width-mid: 1440;
	--width-max: 1680px;
	/*--width-max: 9999px;*/
	--size-max-over: max(calc(100vw/var(--width-mid)), calc(var(--width-min)/var(--width-mid)));

	--easeInSine     : cubic-bezier(0.47, 0, 0.745, 0.715);
	--easeOutSine    : cubic-bezier(0.39, 0.575, 0.565, 1);
	--easeInOutSine  : cubic-bezier(0.445, 0.05, 0.55, 0.95);
	--easeInQuad     : cubic-bezier(0.55, 0.085, 0.68, 0.53);
	--easeOutQuad    : cubic-bezier(0.25, 0.46, 0.45, 0.94);
	--easeInOutQuad  : cubic-bezier(0.455, 0.03, 0.515, 0.955);
	--easeInCubic    : cubic-bezier(0.55, 0.055, 0.675, 0.19);
	--easeOutCubic   : cubic-bezier(0.215, 0.61, 0.355, 1);
	--easeInOutCubic : cubic-bezier(0.645, 0.045, 0.355, 1);
	--easeInQuart    : cubic-bezier(0.895, 0.03, 0.685, 0.22);
	--easeOutQuart   : cubic-bezier(0.165, 0.84, 0.44, 1);
	--easeInOutQuart : cubic-bezier(0.76, 0, 0.24, 1);
	--easeInQuint    : cubic-bezier(0.755, 0.05, 0.855, 0.06);
	--easeOutQuint   : cubic-bezier(0.23, 1, 0.32, 1);
	--easeInOutQuint : cubic-bezier(0.86, 0, 0.07, 1);
	--easeInExpo     : cubic-bezier(0.95, 0.05, 0.795, 0.035);
	--easeOutExpo    : cubic-bezier(0.19, 1, 0.22, 1);
	--easeInOutExpo  : cubic-bezier(1, 0, 0, 1);
	--easeInCirc     : cubic-bezier(0.6, 0.04, 0.98, 0.335);
	--easeOutCirc    : cubic-bezier(0.075, 0.82, 0.165, 1);
	--easeInOutCirc  : cubic-bezier(0.785, 0.135, 0.15, 0.86);
	--easeInBack     : cubic-bezier(0.6, -0.28, 0.735, 0.045);
	--easeOutBack    : cubic-bezier(0.175, 0.885, 0.32, 1.275);
	--easeInOutBack  : cubic-bezier(0.68, -0.55, 0.265, 1.55);
}

* {
	box-sizing: border-box;
}

html {
	font-size: clamp(calc(var(--width-min)/var(--width-mid)), calc(100vw/var(--width-mid)), calc(var(--width-max)/var(--width-mid)));
}

body {
	background-color: var(--color-red);
	color: var(--color-white);
}

.block { display: inline-block !important; }
.wide { display: inline-block !important; }
.narrow { display: none !important; }

::-moz-selection { background: var(--color-red-dark); color: var(--color-white); }
::selection { background: var(--color-red-dark); color: var(--color-white); }

p { font-size: 18rem; line-height: 2; letter-spacing: 0.1em; margin-bottom: 1em; }
p:last-child { margin-bottom: 0 !important; }

a { color: var(--color-white); }
a:hover { opacity: 0.7; }

figure img { max-width: 100%; }

#wrap {
	min-width: var(--width-min);
}

.recruit-inner {
	opacity: 0;
}

.recruit-main {
	max-width: 1800px;
	margin-right: auto;
	margin-left: auto;
}

@media (min-width: 1800px) {
	.recruit-nav-top {
		right: calc(50vw - 900px + 14px) !important;
	}
	.btn-entry-wrap {
		right: calc(50vw - 900px) !important;
	}
	.btn-entry-wrap.right {
		right: 0 !important;
	}
	.btn-entry .pic {
		opacity: 0;
	}
}

.recruit-first,
.recruit-about,
.recruit-number,
.recruit-welfare,
.recruit-staff,
.recruit-outline,
.recruit-entry {
	max-width: var(--width-max);
	margin-right: auto;
	margin-left: auto;
}

#recruit-first,
#recruit-about,
#recruit-number,
#recruit-welfare,
#recruit-staff,
#recruit-outline,
#recruit-entry {
	margin-top: -80rem;
	padding-top: 80rem;
}

.recruit-first .img-set,
.recruit-about,
.recruit-number .lead,
.recruit-welfare,
.recruit-staff,
.recruit-outline,
.recruit-entry {
	padding-left: 330rem;
}

.recruit-outline,
.recruit-entry {
	padding-right: 95rem;
}

/* .recruit-obj
------------------------------------*/
.recruit-obj {
	position: absolute;
	width: 42rem;
	height: 48rem;
	z-index: 2;
}

.recruit-obj i {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: 100% auto;
	width: 100%;
	height: 100%;
	transform-origin: center center;
	z-index: 1;
	opacity: 0;
}

.recruit-obj i.current { opacity: 1; z-index: 2; }

.recruit-obj i:nth-of-type(1) { background-image: url(../img/recruit/obj1.svg); }
.recruit-obj i:nth-of-type(2) { background-image: url(../img/recruit/obj2.svg); }
.recruit-obj i:nth-of-type(3) { background-image: url(../img/recruit/obj3.svg); }
.recruit-obj i:nth-of-type(4) { background-image: url(../img/recruit/obj4.svg); }
.recruit-obj i:nth-of-type(5) { background-image: url(../img/recruit/obj5.svg); }
.recruit-obj i:nth-of-type(6) { background-image: url(../img/recruit/obj6.svg); }

.recruit-first .obj1 { bottom: 464rem; left: 310rem; }
.recruit-first .obj2 { bottom: 370rem; right: 160rem; }

.recruit-about .obj1 { top: 550rem; left: 228rem; }

.recruit-img-scroll .obj1 { top: -32rem; left: 284rem; }
.recruit-img-scroll .obj2 { bottom: -24rem; right: 180rem; }

.recruit-staff .obj1 { top: 88rem; left: -24rem; }
.recruit-staff .obj2 { top: 234rem; left: 300rem; }
.recruit-staff .obj3 { top: 30rem; right: 345rem; }
.recruit-staff .obj4 { top: 124rem; right: -19rem; }
.recruit-staff .obj5 { top: 370rem; right: -20rem; }

/* .dot-list
------------------------------------*/
.dot-list li {
	position: relative;
	margin: 0 0 4rem 2rem;
	padding-left: 15rem;
	font-size: 17rem;
	line-height: 1.8;
	letter-spacing: 0.1em;
}

.dot-list li:last-of-type { margin-bottom: 0; }

.dot-list li:before {
	display: block;
	content: '';
	position: absolute;
	top: 13rem;
	left: 0;
	background-color: var(--color-white);
	border-radius: 50%;
	width: 4rem;
	height: 4rem;
}

/* .btn-entry
------------------------------------*/
.btn-entry-wrap {
	overflow: hidden;
	position: absolute;
	/*top: 22rem;*/
	top: 320rem;
	right: 0;
	padding: 22rem 22rem 22rem 0;
	z-index: 10;
}

.btn-entry-wrap.top {
	position: fixed;
	top: 0;
}

.btn-entry-wrap.right {
	margin-right: 0;
	animation: btn_entry_right .3s var(--easeOutQuart) forwards;
}

@keyframes btn_entry_right {
	0% { margin-right: -120rem; }
	100% { margin-right: 0rem; }
}

.btn-entry {
	background-color: #000000;
	z-index: 10001;
}

.btn-entry a {
	display: block;
	position: relative;
	opacity: 1 !important;
}

.btn-entry .img {
	width: 92rem;
	transition: .15s ease-out;
}

.btn-entry a:hover .img {
	opacity: 0.7;
}

.btn-entry .pic {
	position: absolute;
	bottom: -3rem;
	right: -34rem;
	transform-origin: right bottom;
	transition: .15s var(--easeOutQuart);
}

.btn-entry a:hover .pic {
	transform: translate(-8rem,-8rem);
}

.btn-entry .pic img {
	width: 42rem;
}

/* .recruit-nav-top
------------------------------------*/
.recruit-nav-top {
	position: absolute;
	top: 28rem;
	right: 14rem;
	text-align: right;
	white-space: nowrap;
	z-index: 10;
}

.recruit-nav-top .title-en {
	display: none !important;
}

.recruit-nav-top li {
	margin-bottom: 2rem;
}

.recruit-nav-top li a {
	display: inline-block;
	padding: 10rem;
}

.recruit-nav-top li span {
	display: inline-block;
	border-bottom: 1rem solid var(--color-line-white);
}

.recruit-nav-top li img {
	height: 16rem;
}

.recruit-nav-top time {
	font-family: var(--font-dot-gothic);
	font-size: 11rem;
	letter-spacing: 0.1em;
	padding-right: 7rem;
	text-decoration: underline;
	text-decoration-color: var(--color-line-white);
	text-decoration-thickness: 1rem;
	text-underline-offset: 0.1em;
	opacity: 0;
}

/* .recruit-nav-btm
------------------------------------*/
.recruit-nav-btm {
	position: absolute;
	top: 2565rem;
	left: 25rem;
	padding-top: 55rem;
	white-space: nowrap;
	z-index: 1;
}

.recruit-nav-btm.top {
	position: fixed;
	top: 0;
}

.recruit-nav-btm li:not(:last-of-type) {
	margin-bottom: 9rem;
}

.recruit-nav-btm li a {
	display: inline-block;
	background: url(../img/recruit/ico-arrow-down-dot.svg) no-repeat left top 3rem / 5rem auto;
	padding: 0 0 10rem 15rem;
}

.recruit-nav-btm li a img {
	height: 15rem;
}

.recruit-nav-btm li time {
	display: none !important;
}

/* .recruit-fix-txt
------------------------------------*/
.recruit-fix-txt {
	/*position: absolute;
	top: 932rem;*/
	position: fixed;
	bottom: 0;
	right: 27rem;
	padding: 0 0 27rem;
	z-index: 10;
}

/*.recruit-fix-txt.top {
	position: fixed;
}

.recruit-fix-txt.bottom {
	position: fixed;
	top: inherit;
	bottom: 0;
}*/

.recruit-fix-txt a img {
	width: 31rem;
}

.pic-finger {
	display: block;
	position: absolute;
	bottom: -10rem;
	right: 25rem;
	width: 46rem;
	z-index: 10;
}

/* .recruit-title-sec
------------------------------------*/
.recruit-title-sec em {
	display: block;
	margin: 0 0 35rem 1rem;
	font-size: 12rem;
	letter-spacing: 0.16em;
}

.recruit-welfare .recruit-title-sec strong img,
.recruit-staff .recruit-title-sec strong img,
.recruit-outline .recruit-title-sec strong img,
.recruit-entry .recruit-title-sec strong img {
	height: 32rem;
}

.title-sub-line {
	display: inline-block;
	border-bottom: 1.5rem solid var(--color-line-white);
	padding-bottom: 3rem;
}

/* .recruit-main
------------------------------------*/
.recruit-main {
	position: relative;
	margin-bottom: 190rem;
	padding: 126rem 278rem 22rem 0;
	white-space: nowrap;
}

.btn-entry-wrap,
.recruit-nav-top,
.recruit-fix-txt,
.recruit-main time,
.recruit-main .title-en,
.recruit-main .block-white,
.recruit-main .block,
.recruit-main h1,
.recruit-main h2 {
	opacity: 0;
}

.recruit-main .title-en {
	position: absolute;
	top: 22rem;
	left: 50%;
	transform: translateX(-50%) !important;
	font-size: 12rem;
	letter-spacing: 0.2em;
	text-align: center;
}

.recruit-main .title-en i {
	font-size: 14rem;
}

.recruit-main time {
	display: block;
	position: absolute;
	top: 20rem;
	left: 204rem;
	font-size: 12rem;
	letter-spacing: 0.14em;
}

.recruit-main time:before {
	display: block;
	content: '';
	position: absolute;
	top: -5rem;
	left: -9rem;
	background-color: var(--color-white);
	border-radius: 50%;
	width: 4rem;
	height: 4rem;
}

.recruit-main h1 {
	position: absolute;
	top: 138rem;
	left: 12rem;
	z-index: 3;
}

.recruit-main h1 img {
	width: 525rem;
}

.recruit-main .img {
	position: relative;
	z-index: 0;
}

.recruit-main figure.img .mask {
	position: absolute;
	top: 0;
	right: 0;
	background-color: var(--color-red);
	width: 100%;
	height: 100%;
}

.recruit-main .img h2 {
	position: absolute;
	bottom: -20rem;
	right: -37rem;
	z-index: 3;
}

.recruit-main .img h2 img {
	width: 910rem;
}

.recruit-main .block-white {
	position: absolute;
	top: 0;
	left: 0;
	width: 128rem;
	transform-origin: left top;
	z-index: 1;
}

.recruit-main .block-white i {
	display: block;
	background-color: #E8F1F3;
	width: 64rem;
}

.recruit-main .block-white i:nth-of-type(1) {
	height: 128rem;
}

.recruit-main .block-white i:nth-of-type(2) {
	position: absolute;
	top: 0;
	right: 0;
	width: 65rem;
	height: 54rem;
}

.recruit-main .block {
	position: absolute;
	background-color: var(--color-red);
	z-index: 1;
}

.recruit-main .block1 { top: 0; left: 0; width: 558rem; height: 64rem; transform-origin: left top; }
.recruit-main .block2 { top: 64rem; left: 0; width: 64rem; height: 154rem; transform-origin: left top; }
.recruit-main .block3 { top: 218rem; left: 70rem; width: 64rem; height: 220rem; transform-origin: left top; }
.recruit-main .block4 { top: 0; right: 0; width: 64rem; height: 380rem; transform-origin: right top; }
.recruit-main .block5 { bottom: -1rem; right: 0; width: 892rem; height: 39rem; transform-origin: right bottom; }

/* .recruit-first
------------------------------------*/
.recruit-first {
	position: relative;
	margin-bottom: 120rem;
}

.recruit-first .img1 {
	margin: 0 0 70rem 540rem;
}

.recruit-first .since1 {
	display: flex;
	justify-content: space-between;
	position: absolute;
	top: 510rem;
	left: 155rem;
	font-family: var(--font-helvetica-hair);
	font-size: 378rem;
	letter-spacing: -0.05em;
	opacity: 0;
}

.recruit-first .since1 i {
	display: inline-block;
	width: 200rem;
	margin-right: -10rem;
}

.recruit-first .since2 {
	position: absolute;
	top: 846rem;
	left: 384rem;
	font-family: var(--font-helvetica-thin);
	font-size: 42rem;
	letter-spacing: 0.05em;
	opacity: 0;
}

.recruit-first .since2 strong {
	margin-left: 10rem;
	font-size: 78rem;
	letter-spacing: 0.09em;
}

.recruit-first h2 {
	position: absolute;
	top: 37rem;
	left: 70rem;
}

.recruit-first h2 strong img {
	width: 404rem;
}

.recruit-first h2 em {
	display: block;
	margin: 35rem 0 0 2rem;
	font-size: 17rem;
	line-height: 1.9;
	letter-spacing: 0.02em;
}

.recruit-first .txt {
	margin: 0 95rem 0 850rem;
}

.recruit-first p {
	margin-bottom: 12rem;
	letter-spacing: 0.09em;
	text-align: justify;
}

.recruit-first .img2 {
	width: 368rem;
	margin: 50rem 0 52rem 930rem;
}

.recruit-first .img3 {
	position: absolute;
	bottom: 508rem;
	left: 365rem;
	width: 420rem;
}

.recruit-first .img-set {
	display: flex;
	justify-content: space-between;
	margin-top: 130rem;
}

.recruit-first .img-set .img4 { width: 42.6%; }
.recruit-first .img-set .img5 { width: 56.85%; }

/* .recruit-about
------------------------------------*/
.recruit-about {
	position: relative;
	margin-bottom: 220rem;
}

.recruit-about .recruit-title-sec {
	margin-bottom: 95rem;
}

.recruit-about .recruit-title-sec strong img {
	width: 757rem;
}

.recruit-about dl {
	margin-left: 100rem;
}

.recruit-about dl:not(:last-of-type) {
	margin-bottom: 70rem;
}

.recruit-about dt {
	position: relative;
	margin-bottom: 16rem;
}

.recruit-about dt img {
	height: 29rem;
}

.recruit-about dl:first-of-type dt img {
	height: 30rem;
}

.recruit-about dt i {
	display: block;
	position: absolute;
	top: -24rem;
	left: -62rem;
}

.recruit-about dt i img {
	width: 42rem;
}

.recruit-about dd p {
	letter-spacing: 0.12em;
}

.recruit-about .img {
	position: absolute;
	z-index: -1;
}

.recruit-about .img1 { top: 167rem; right: 0; width: 388rem; }
.recruit-about .img2 { top: 575rem; left: 55rem; width: 250rem; z-index: 2; }
.recruit-about .img3 { bottom: -100rem; right: 78rem; width: 336rem; }

/* .recruit-img-scroll
------------------------------------*/
.recruit-img-scroll {
	position: relative;
	background-color: var(--color-red);
	width: 100%;
	margin-bottom: 100rem;
	z-index: 2;
}

.recruit-img-scroll .slide-wrap {
	overflow: hidden;
}

.recruit-img-scroll .slide {
	display: flex;
}

.recruit-img-scroll figure {
	min-width: 400rem;
	width: 400rem;
	margin-right: 8rem;
}

/* .recruit-number
------------------------------------*/
.recruit-number {
	margin-bottom: 120rem;
	white-space: nowrap;
}

.recruit-number .lead {
	margin-bottom: 100rem;
}

.recruit-number .recruit-title-sec {
	margin-bottom: 32rem;
}

.recruit-number .recruit-title-sec strong img {
	width: 594rem;
}

.recruit-number .lead p {
	font-size: 17rem;
	line-height: 1.9;
	letter-spacing: 0.12em;
}

.recruit-count {
	position: relative;
	display: flex;
	justify-content: space-between;
	white-space: nowrap;
	overflow: hidden;
	background-color: var(--color-red);
	padding: 24rem 12rem 24rem 10rem;
	z-index: 2;
}

.recruit-count figure {
	width: 135rem;
	min-width: 135rem;
}

.recruit-count figure img {
	border-radius: 10rem;
}

.recruit-count > div {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	width: 100%;
	margin: 0 22rem;
}

.recruit-count h3 {
	position: absolute;
	top: 2rem;
	left: 0;
}

.recruit-count h3 img {
	height: 17rem;
}

.recruit-count .count {
	position: relative;
	opacity: 0;
}

.recruit-count .count strong {
	display: inline-block;
	font-family: var(--font-helvetica-hair);
	font-size: 203rem;
	letter-spacing: -0.01em;
}

.recruit-count .recruit-count1 .count strong { width: 205rem; }
.recruit-count .recruit-count2 .count strong { width: 190rem; margin-left: -10rem; }
.recruit-count .recruit-count2 .count strong:has(i.one) { margin-left: 5rem; }
.recruit-count .recruit-count4 .count strong { width: 228rem; }

.recruit-count .count strong i { display: inline-block; }

.recruit-count .recruit-count1 .count strong i:nth-of-type(2) { margin-left: -9rem; }
.recruit-count .recruit-count2 .count strong i:nth-of-type(2) { width: 120rem; margin-left: -6rem; }
.recruit-count .recruit-count4 .count strong i:nth-of-type(2) { margin-left: 0; }

.recruit-count .count em { display: inline-block; opacity: 0; }

/* .recruit-count .recruit-count1
------------------------------------*/
.recruit-count .recruit-count1 .count {
	margin-left: -8rem;
}

.recruit-count .recruit-count1 .count em {
	margin-left: -10rem;
}

.recruit-count .recruit-count1 .count em img {
	width: 29rem;
}

/* .recruit-count .recruit-count2
------------------------------------*/
.recruit-count .recruit-count2 {
	margin-left: 24rem;
}

.recruit-count .recruit-count2 .since {
	position: absolute;
	top: -11rem;
	right: 70rem;
}

.recruit-count .recruit-count2 .since img {
	width: 52rem;
}

.recruit-count .recruit-count2 .year {
	position: absolute;
	top: -24rem;
	right: -2rem;
	font-family: var(--font-helvetica-thin);
	font-size: 32rem;
	letter-spacing: 0.08em;
}

.recruit-count .recruit-count2 .count em {
	margin-left: 20rem;
}

.recruit-count .recruit-count2 .count .count-up:has(i.one) + .year + .year + em {
	margin-left: 5rem;
}

/* .recruit-count .recruit-count3
------------------------------------*/
.recruit-count .recruit-count3 {
	margin-left: 22rem;
}

.recruit-count .recruit-count3 .count {
	margin-left: -6rem;
	padding-right: 20rem;
}

.recruit-count .recruit-count3 .count1 {
	transform: translateY(22rem);
}

.recruit-count .recruit-count3 .count2 {
	transform: translateY(10rem);
}

.recruit-count .recruit-count3 .count strong {
	display: flex;
	width: 122rem;
	font-family: var(--font-helvetica-thin);
	font-size: 104rem;
	text-align: right;
}

.recruit-count .recruit-count3 .count strong i {
	width: 60rem;
	margin-right: -2rem;
	text-align: center;
}

.recruit-count .recruit-count3 .count em {
	display: block;
	position: absolute;
	bottom: 12rem;
	right: 0;
}

.recruit-count .recruit-count3 .count em img {
	width: 17rem;
}

/* .recruit-count .recruit-count4
------------------------------------*/
.recruit-count .recruit-count4 {
	margin-left: 28rem;
}

.recruit-count .recruit-count4 .count {
	margin-left: -12rem;
}

.recruit-count .recruit-count4 .count em {
	margin-left: -6rem;
}

.recruit-count .recruit-count4 .count em img {
	width: 28rem;
}

/* .recruit-welfare
------------------------------------*/
.recruit-welfare {
	margin-bottom: 120rem;
}

.recruit-welfare .recruit-title-sec {
	margin-bottom: 32rem;
}

.recruit-welfare p {
	font-size: 17rem;
	line-height: 1.8;
}

.recruit-welfare .inner {
	display: flex;
}

.recruit-welfare .inner:first-of-type {
	margin-top: 65rem;
}

.recruit-welfare .inner:not(:last-child) {
	margin-bottom: 50rem;	
}

.recruit-welfare .inner h3 {
	margin-top: 7rem;
	width: 173rem;
	min-width: 173rem;
}

.recruit-welfare .inner h3 img {
	height: 17rem;
}

.recruit-welfare .inner .txt > .dot-list {
	margin-left: -18rem;
}

.recruit-welfare .inner .txt > .dot-list li {
	margin-bottom: 5rem;
	letter-spacing: 0.12em;
}

.recruit-welfare .inner .txt.even {
	display: flex;
}

.recruit-welfare .inner .txt.even > div {
	margin-right: 55rem;
}

.recruit-welfare .inner dl:not(:last-of-type) {
	margin-bottom: 18rem;
}

.recruit-welfare .inner dt {
	margin-bottom: 6rem;
	font-size: 19rem;
	line-height: 1.8;
	letter-spacing: 0.2em;
	text-decoration: underline;
	text-decoration-color: var(--color-line-white);
	text-decoration-thickness: 1rem;
	text-underline-offset: 0.1em;
}

.recruit-welfare .inner dd .dot-list {
	margin: 24rem 0 0 4rem;
}

/* .recruit-staff
------------------------------------*/
.recruit-staff {
	margin-bottom: 160rem;
	padding-right: 55rem;
}

.recruit-staff .recruit-title-sec {
	margin-bottom: 48rem;
}

.recruit-staff-list {
	position: relative;
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 0 50rem;
}

.recruit-staff-list .pic-eye {
	position: absolute;
	top: -70rem;
	right: 20rem;
}

.recruit-staff-list .pic-eye > img {
	width: 65rem;
}

.recruit-staff-list .pic-eye .eye {
	position: absolute;
	top: 0;
	width: 30rem;
	height: 39rem;
}

.recruit-staff-list .pic-eye .eye-left { left: 2rem; }
.recruit-staff-list .pic-eye .eye-right { right: 2rem; }

.recruit-staff-list .pic-eye .eye > div {
	display: block;
	position: absolute;
	top: 18rem;
	left: 3rem;
}

.recruit-staff-list .pic-eye .eye img {
	display: block;
	transform-origin: center bottom;
}

.recruit-staff-list .inner {
	position: relative;
}

.recruit-staff-list figure {
	border: 3rem solid #000000;
	margin-bottom: 35rem;
	cursor: pointer;
}

.recruit-staff-list h4 {
	margin-bottom: 15rem;
	font-size: 13rem;
	letter-spacing: 0.05em;
}

.recruit-staff-list h3 {
	position: relative;
	margin-bottom: 40rem;
}

.recruit-staff-list h3 strong {
	display: block;
	margin-bottom: 10rem;
	font-size: 24rem;
	letter-spacing: 0.14em;
}

.recruit-staff-list h3 em {
	font-size: 15rem;
	letter-spacing: 0.1em;
}

.recruit-staff-list h3 i {
	display: block;
	position: absolute;
	top: 2rem;
	right: 1rem;
	border: 1rem solid var(--color-white);
	padding: 3rem 4rem 4rem 6rem;
	font-size: 13rem;
	letter-spacing: 0.1em;
	text-align: center;
	white-space: nowrap;
}

.recruit-staff-list h5 {
	margin-bottom: 9rem;
	font-size: 13rem;
	letter-spacing: 0.1em;
}

.recruit-staff-list p {
	font-size: 14rem;
	letter-spacing: 0.1em;
}

.recruit-staff-list .inner button {
	position: absolute;
	top: 322rem;
	left: -16rem;
	z-index: 1;
	pointer-events: none;
}

.recruit-staff-list .inner button img {
	width: 60rem;
}

/* .recruit-staff-modal
------------------------------------*/
.recruit-staff-modal {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	min-width: var(--width-min);
	background-color: var(--color-red);
	width: 100%;
	height: 100vh;
	z-index: 11000;
	opacity: 0;
}

.recruit-staff-modal .btn-modal-close {
	display: none;
	position: fixed;
	top: 0;
	right: 0;
	padding: 45rem 35rem;
	z-index: 100;
	opacity: 0;
}

.recruit-staff-modal .btn-modal-close img {
	display: block;
	transition: .15s ease-out;
}

.recruit-staff-modal .btn-modal-close:hover img {
	opacity: 0.7;
}

.recruit-staff-modal .btn-modal-close img {
	width: 67rem;
}

.recruit-staff-modal-inner {
	width: 100%;
	height: 100%;
}

.recruit-staff-modal .interview {
	display: none;
	position: relative;
	width: 100%;
	height: 100%;
	padding-left: 44%;
	opacity: 0;
}

.recruit-staff-modal .img {
	position: absolute;
	top: 0;
	left: 0;
	width: 44%;
	height: 100%;
	padding: 35rem;
}

.slider-interview {
	position: relative;
	background-color: #000;
	width: 100%;
	height: 100%;
}

.slider-interview .slick-list,
.slider-interview .slick-track {
	width: 100% !important;
	height: 100% !important;
}

.slider-interview figure {
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	border: 5rem solid #222222;
	width: 100% !important;
	height: 100% !important;
}

.slider-interview figure:first-of-type {
	position: relative !important;
}

.slider-interview img {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	object-fit: cover;
	width: 100%;
	height: 100%;
}

.recruit-staff-modal .txt {
	overflow-y: scroll;
	height: 100%;
	opacity: 0;
}

.recruit-staff-modal .txt::-webkit-scrollbar { width: 1px; }
.recruit-staff-modal .txt::-webkit-scrollbar-track { background: none; }
.recruit-staff-modal .txt::-webkit-scrollbar-thumb { background: none; }

.recruit-staff-modal .txt > div {
	padding: 120rem 68rem 120rem 82rem;
}

.recruit-staff-modal .profile {
	display: flex;
	align-items: flex-end;
	margin-bottom: 75rem;
	white-space: nowrap;
}

.recruit-staff-modal .profile > div:first-of-type {
	margin-right: 65rem;
}

.recruit-staff-modal .interview1 .profile > div:first-of-type { margin-right: 35rem; }

.recruit-staff-modal .profile h4 {
	margin-bottom: 38rem;
	font-size: 16rem;
	letter-spacing: 0.04em;
}

.recruit-staff-modal .profile h3 strong {
	display: inline-block;
	margin-right: 14rem;
	font-size: 27rem;
	letter-spacing: 0.14em;
}

.recruit-staff-modal .profile h3 em {
	display: block;
	margin: 18rem 0 0 3rem;
	font-size: 18rem;
	letter-spacing: 0.1em;
}

.recruit-staff-modal .profile h3 i {
	display: inline-block;
	border: 1rem solid var(--color-white);
	padding: 2rem 3rem 4rem 5rem;
	font-size: 16rem;
	letter-spacing: 0.1em;
	text-align: center;
	white-space: nowrap;
	transform: translateY(-5rem);
}

.recruit-staff-modal .profile h5 {
	margin-bottom: 9rem;
	font-size: 16rem;
	letter-spacing: 0.08em;
}

.recruit-staff-modal .profile p {
	font-size: 18rem;
	letter-spacing: 0.06em;
}

.recruit-staff-modal dl:not(:last-of-type) {
	margin-bottom: 50rem;
}

.recruit-staff-modal dt {
	position: relative;
	margin-bottom: 20rem;
}

.recruit-staff-modal dt i {
	display: block;
	position: absolute;
	top: 1rem;
	left: -40rem;
	background: url(../img/recruit/txt-q.svg) no-repeat left top / 100% auto;
	width: 22rem;
	height: 15rem;
}

.recruit-staff-modal dt img { height: 17rem; }
.recruit-staff-modal dl:nth-of-type(4) dt img { height: 51rem; }

.recruit-staff-modal dd p {
	font-size: 16rem;
	text-align: justify;
	letter-spacing: 0.09em;
}

/* .recruit-outline
------------------------------------*/
.recruit-outline {
	margin-bottom: 160rem;
}

.recruit-outline h2 + p {
	margin-top: 28rem;
}

.recruit-outline .sec-inner {
	display: flex;
	align-items: flex-start;
	margin: 45rem 0 0;
}

.recruit-outline-nav {
	position: sticky;
	top: -70rem;
	width: 200rem;
	min-width: 200rem;
	padding: 120rem 45rem 0 0;
}

.recruit-outline-nav li:not(:last-of-type) {
	margin-bottom: 10rem;
}

.recruit-outline-nav li a {
	display: inline-block;
	background: url(../img/recruit/ico-arrow-down.svg) no-repeat left 3rem top 9rem / 12rem auto;
	padding: 0 0 5rem 27rem;
	font-size: 17rem;
	line-height: 1.6;
	letter-spacing: 0.04em;
	text-decoration: underline;
	text-decoration-color: var(--color-line-white);
	text-decoration-thickness: 1rem;
	text-underline-offset: 0.1em;
}

.recruit-outline-nav li a span {
	display: block;
	padding-top: 2rem;
	font-size: 14rem;
	text-decoration: none;
}

.recruit-outline-list {
	width: 100%;
}

.recruit-outline-list .inner {
	padding-top: 40rem;
}

.recruit-outline-list .inner:not(:last-of-type) {
	margin-bottom: 60rem;
}

.recruit-outline-list h3 {
	margin-bottom: 26rem;
	font-size: 28rem;
	line-height: 1.8;
	letter-spacing: 0.04em;
}

.recruit-outline-list h3 span {
	padding-left: 8rem;
	font-size: 18rem;
}

.recruit-outline-list dl {
	display: flex;
	border-bottom: 1rem solid var(--color-line-white);
	padding: 15rem 15rem 15rem 0;
}

.recruit-outline-list dl:first-of-type {
	border-top: 1rem solid var(--color-line-white);
}

.recruit-outline-list dt,
.recruit-outline-list dd,
.recruit-outline-list dd p {
	margin-bottom: 10rem;
	font-size: 18rem;
	line-height: 1.8;
	letter-spacing: 0.1em;
}

.recruit-outline-list dt {
	width: 145rem;
	min-width: 145rem;
}

.recruit-outline-list dd p.attention {
	margin-top: -7rem;
	font-size: 14rem;
}

/* .recruit-entry
------------------------------------*/
.recruit-entry .recruit-title-sec {
	margin-bottom: 34rem;
}

.recruit-entry > p.attention {
	font-size: 14rem;
}

/* .form-wrap
------------------------------------*/
.form-wrap {
	margin-top: 75rem;
}

.form-wrap dl, .form-wrap dl p { line-height: 1.6; }
.form-wrap dl div { display: flex; margin-bottom: 40rem; }
.form-wrap dl div:last-of-type { margin-bottom: 0; }

.form-wrap dt {
	position: relative;
	width: 270rem;
	min-width: 270rem;
	padding-top: 15rem;
}

.form-wrap dt.must:before {
	display: block;
	content: '';
	position: absolute;
	top: 12rem;
	left: -10rem;
	background: url(../img/recruit/ico-asterisk.svg) no-repeat left top / 100% auto;
	width: 6rem;
	height: 8rem;
}

.form-wrap dt,
.form-wrap dt p {
	font-size: 21rem;
	letter-spacing: 0.08em;
}

.form-wrap dl > div:last-of-type dt {
	padding-top: 10rem;
	align-self: flex-start;
}

.form-wrap dt span {
	display: inline-block;
	padding-left: 6rem;
	font-size: 14rem;
	letter-spacing: 0.1em;
	transform: translateY(-1rem);
}

.form-wrap dd {
  box-sizing: border-box;
	width: 100%;
	min-height: 67rem;
}

.form-wrap dd p {
	font-size: 12rem;
	line-height: 1.7;
	text-align: justify;
}

/* input
------------------------------------*/
.wpcf7-form-control-wrap {
	display: inline-block;
	position: relative;
	width: 100%;
}

.form-wrap input[type="text"],
.form-wrap input[type="email"],
.form-wrap input[type="tel"],
.form-wrap select,
.form-wrap textarea,
.form-wrap .btn-select .customSelect {
	display: inline-block;
	box-sizing: border-box;
	background-color: #FFFFFF;
	border: none;
	width: 100%;
	height: 67rem;
	padding: 0rem 24rem;
	font-size: 17rem;
	letter-spacing: 0.1em;
}

.form-wrap input[type="text"],
.form-wrap input[type="email"],
.form-wrap input[type="tel"],
.form-wrap textarea {
	background-color: var(--color-red-dark);
}

.form-wrap textarea {
	height: 470rem;
	padding: 18rem 20rem;
	line-height: 1.8;
}

.form-wrap select {
	appearance: none;
	position: relative;
	padding: 12rem 40rem 12rem 20rem;
	z-index: 0;
}

.btn-select .wpcf7-form-control-wrap:before {
	display: block;
	content: '';
	position: absolute;
	top: 29rem;
	right: 22rem;
	background-color: var(--color-text);
	width: 9rem;
	height: 8rem;
	clip-path: polygon(0 0, 100% 0%, 50% 100%);
	z-index: 1;
	pointer-events: none;
}

/* .form-wrap .wpcf7-radio
------------------------------------*/
.form-wrap .radio {
	padding-top: 17rem;
}

.form-wrap .radio .wpcf7-list-item {
	display: inline-block;
	margin-right: 22rem;
}

.form-wrap .radio input[type="radio"] {
	-webkit-appearance: none;
	display: block;
	content: '';
	position: absolute;
	top: 6rem;
	left: 0;
	box-sizing: border-box;
	background-color: var(--color-white);
	border: none;
	border-radius: 50%;
	width: 18rem;
	height: 18rem;
	cursor: pointer;
}

.form-wrap .radio input[type="radio"]:before {
	display: block;
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	background-color: var(--color-red-dark);
	border-radius: 50%;
	width: 10rem;
	height: 10rem;
	opacity: 0;
	transition: .1s ease-out;
}

.form-wrap .radio input[type="radio"]:checked:before {
  opacity: 1;
}

.form-wrap .radio label {
	display: inline-block;
	position: relative;
	padding: 0 0 0 27rem;
	font-size: 17rem;
	letter-spacing: 0.12em;
	white-space: nowrap;
	cursor: pointer;
}

/* .form-wrap .file
------------------------------------*/
.form-wrap .file {
	padding-top: 16rem;
}

.form-wrap .file input {
	position: relative;
	-webkit-appearance: none;
	cursor: pointer;
	padding-left: 10rem;
	font-size: 17rem;
}

.form-wrap .file input:before {
	display: block;
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	background-color: var(--color-red);
	width: 146rem;
	height: 100%;
	z-index: 1;
}

.form-wrap .file input:after {
	display: block;
	content: 'ファイルを選択';
	position: absolute;
	top: 0;
	left: 0;
	box-sizing: border-box;
	background-color: #DEDEDE;
	border-radius: 2rem;
	width: 134rem;
	height: 100%;
	padding: 6rem 14rem 5rem;
	color: #595454;
	font-size: 17rem;
	line-height: 1;
	letter-spacing: 0.04em;
	white-space: nowrap;
	z-index: 2;
}

::-webkit-input-placeholder { display: none; font-size: 0; }
:-moz-placeholder { display: none; font-size: 0; }
::-moz-placeholder { display: none; font-size: 0; }
:placeholder-shown { display: none; font-size: 0; }

/* .privacy-check
------------------------------------*/
.privacy-check {
	margin: 40rem 0 0 200rem;
}

.privacy-check .wpcf7-form-control-wrap {
	width: auto;
}

/* .btn-submit
------------------------------------*/
.btn-submit {
	position: relative;
	display: block;
	margin: 40rem 0 0 270rem;
}

.btn-submit input {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	display: block;
	background: #222222 url(../img/recruit/txt-btn-entry.svg) no-repeat center top 33rem / 395rem auto;
	box-sizing: border-box;
	border: none;
	width: 100%;
	height: 86rem;
	margin: 0;
	color: var(--color-white);
	text-indent: -9999rem;
	white-space: nowrap;
	transition: .15s ease-out;
}

.btn-submit input:hover { opacity: 0.7; }

/* error
------------------------------------*/
.form-wrap .txt-error,
.wpcf7-not-valid-tip,
.txt-response,
.wpcf7-response-output { display: block; }

.form-wrap .txt-error,
.wpcf7-not-valid-tip {
	margin: 5rem 0 0;
	padding: 0;
	font-size: 15rem;
	line-height: 1.6;
	letter-spacing: 0.1em;
}

.screen-reader-response { display: none; }

.txt-response,
.wpcf7-response-output {
	margin: 30rem 0 0 270rem;
	font-size: 18rem;
	line-height: 1.6;
	letter-spacing: 0.12em;
}

.wpcf7-response-output:first-child {
	margin: -45rem 0 45rem;
	padding-top: 45rem;
}

.wpcf7-response-output:empty {
	margin: 0;
	padding-top: 0;
}

.hidden-fields-container {
	border: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

/* recaptcha
------------------------------------*/
.grecaptcha-badge { pointer-events: none; z-index: -999; opacity: 0; transition: .15s ease-out; }
body#recruit .grecaptcha-badge { pointer-events: auto; z-index: 0; opacity: 1; }

/* .recruit-footer
------------------------------------*/
.recruit-footer {
	margin-top: 200rem;
	padding: 0 0 45rem 45rem;
	white-space: nowrap;
}

.recruit-footer-sns-list {
	margin: 0 0 10rem -5rem;
}

.recruit-footer-sns-list li {
	display: inline-block;
}

.recruit-footer-sns-list li a {
	display: block;
	padding: 5rem;
}

.recruit-footer-sns-list li img {
	width: 26rem;
	height: 26rem;
}

.recruit-footer .logo {
	margin: 0 0 18rem -3rem;
}

.recruit-footer .logo a {
	display: inline-block;
	position: relative;
}

.recruit-footer .logo em {
	display: block;
	position: absolute;
	top: 16rem;
	left: 1rem;
	font-size: 11rem;
	letter-spacing: 0.18em;
}

.recruit-footer .logo img {
	width: 328rem;
}

.recruit-footer address {
	font-size: 15rem;
	line-height: 1.75;
	letter-spacing: 0.13em;
}

.recruit-footer address:not(:last-of-type) {
	margin-bottom: 2rem;
}

.recruit-footer address span {
	display: block;
	margin-bottom: -3rem;
}

.recruit-footer address a {
	pointer-events: none;
}