@charset "utf-8";

/* common
---------------------------------------------------------------------------*/
@import url("../css/easing.css");

:root {
	--color-text: #63481E;
	--color-text-brown-dark: #5F4C2F;
	--color-text-gold: #B6A57C;
	--color-bg: #FDFCF7;
	--color-bg-dark: #F7F5EC;
	--color-border: #D2D0C9;

	--bg-grade: url(../img/recruit/bg-noise.png) left top / 318px auto repeat, linear-gradient(75.81deg, #F9A040 5.35%, #F97F67 89.91%) left top / cover no-repeat;
	--bg-grade-blend: overlay;

	--font-gothic-jp: "中ゴシックBBB", '游ゴシック Medium', 'Yu Gothic Medium', '游ゴシック体', YuGothic, 'Hiragino Sans', 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, sans-serif;
	--font-serif-jp: "リュウミン R-KL", '游明朝体', '游明朝', YuMincho, 'ヒラギノ明朝 ProN', 'Hiragino Mincho ProN', 'ＭＳ Ｐ明朝', 'MS PMincho', serif;
	--font-gothic-jp-device: '游ゴシック Medium', 'Yu Gothic Medium', '游ゴシック体', YuGothic, 'Hiragino Sans', 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, sans-serif;
	--font-gothic-en: "Lato", sans-serif;

	--base-font: 16;
  --base-width: 1320px;
  --scale-rate-wide: 0.25;
  --scale-rate-narrow: 0.55;
}

html {
	font-size: calc(100% * (1 + ((100vw - var(--base-width)) / var(--base-width)) * var(--scale-rate-narrow)) / var(--base-font));
}

@media (min-width: 1320px) {
	html {
		font-size: calc(100% * (1 + ((100vw - var(--base-width)) / var(--base-width)) * var(--scale-rate-wide)) / var(--base-font));
	}
}

body {
	overflow-y: scroll;
	background-color: var(--color-bg);
	color: var(--color-text);
	font-size: 15rem;
	font-family: var(--font-gothic-jp);
	line-height: 1;
	font-feature-settings: 'palt' 1;
	-webkit-text-size-adjust: none !important;
}

body.noscroll { position: fixed; width: 100%; }

::-moz-selection { background: rgba(0,0,0,0.1); color: #000000; }
::selection { background: rgba(0,0,0,0.1); color: #000000; }

p { font-size: 15rem; line-height: 2; letter-spacing: 0.1em; margin-bottom: 1em; }
p:last-child { margin-bottom: 0 !important; }
h1,h2,h3,h4,h5,h6 { line-height: 1.6; }
address,i { font-style: normal; }
figure img { width: 100%; }

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

/* link
------------------------------------*/
a { color: var(--color-text); text-decoration: none; transition: .15s ease-out; -webkit-transform: translateZ(0); }
.hover { cursor: pointer; transition: .15s ease-out; }
a:hover,.hover:hover { text-decoration: none; opacity: 0.6; }
p a { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 0.1em; }


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


/* header
---------------------------------------------------------------------------*/
#recruitContents header {
	background-color: var(--color-bg);
	padding: 37rem 3.5% 55rem;
	text-align: right;
}

#recruitContents header h1 {
	line-height: 0;
}

#recruitContents header h1 em {
	display: block;
	margin-bottom: 19rem;
}

#recruitContents header h1 em img {
	width: 265rem;
}

#recruitContents header h1 strong {
	margin: 0 -1rem 20rem 0;
	font-family: var(--font-serif-jp);
	font-size: 14rem;
	letter-spacing: 0.14em;
}


/* footer
---------------------------------------------------------------------------*/
body.recruit footer {
	position: relative;
	margin: 230rem 0 0;
	padding: 125rem 0 0;
}

body.recruit footer,
body.recruit footer * {
	color: #FFFFFF;
}

body.recruit footer:before {
	display: block;
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	background: linear-gradient(180deg, #FDFCF7 0%, #FFEACA 100%);
	width: 100%;
	height: 125rem;
}

body.recruit footer h2 {
	position: absolute;
	bottom: 114rem;
	left: 70rem;
	transition: .15s ease-out;
}

body.recruit footer h2:hover {
	opacity: 0.7;
}

body.recruit footer h2 a {
	display: inline-block;
	margin: -10rem;
	padding: 10rem;
}

body.recruit footer h2 img {
	width: 265rem;
}

body.recruit footer h3 {
	position: absolute;
	bottom: 164rem;
	left: 71rem;
	font-family: var(--font-gothic-en);
	font-size: 10rem;
	line-height: 2.2;
	letter-spacing: 0.08em;
}

body.recruit footer .copyright {
	position: absolute;
	bottom: 80rem;
	left: 69rem;
	font-family: var(--font-gothic-en);
	font-size: 10rem;
	letter-spacing: 0.08em;
}


/* contents
---------------------------------------------------------------------------*/
#mainContents {
	display: block;
	width: 100%;
	margin: 0;
	padding: 0;
	text-align: left;
}

.contents-wrap {
	position: relative;
	z-index: 1;
	opacity: 0;
}

/* .dot-list
------------------------------------*/
.dot-list li {
	position: relative;
	margin: 0 0 6rem 3rem;
	padding-left: 15rem;
	font-size: 15rem;
	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: 0; left: 0; font-weight: bold; }

/* .title-sub
------------------------------------*/
.title-sub em {
	display: block;
	margin: 0 0 7rem -2rem;
	color: var(--color-text-gold);
	font-family: var(--font-gothic-en);
	font-size: 33rem;
	font-weight: 400;
	letter-spacing: 0.11em;
}

.title-sub strong {
	display: block;
	text-shadow: 0 0 0.5px var(--color-text);
	font-size: 16rem;
	letter-spacing: 0.2em;
}

/* .recruit-main
------------------------------------*/
.recruit-main {
	position: relative;
	width: 100%;
	height: 61.5vw;
	max-height: 100vh;
	z-index: 0;
}

.recruit-main figure {
	position: relative;
	width: 100%;
	height: 100%;
	z-index: 0;
	opacity: 0;
}

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

.recruit-main .en {
	position: absolute;
	left: 8.5%;
	bottom: 18.5%;
	color: #FFFFFF;
	z-index: 1;
	opacity: 0;
}

.recruit-main .en img {
	width: 297rem;
}

/* .scroll-line
------------------------------------*/
.scroll-line {
	position: relative;
	margin: 0 auto;
	width: 80rem;
	/*height: 106rem;*/
	height: 0;
	z-index: 2;
	opacity: 0;
}

.scroll-line.active {
	opacity: 1;
}

.scroll-line a {
	display: block;
	position: absolute;
	top: -54rem;
	left: 0;
	width: 100%;
	height: 106rem;
}

.scroll-line i {
	display: block;
	position: absolute;
	top: 0;
	left: 50%;
	background-color: #000000;
	width: 1px;
	height: 100%;
}

.scroll-line.active i {
	animation: anime_bar 5s var(--easeInOutQuart) infinite;
}

@keyframes anime_bar {
	0% { height: 0; bottom: initial; top: 0; }
	25% { height: 100%; bottom: initial; top: 0; }
	45% { height: 100%; bottom: 0; top: initial; }
	70% { height: 0; bottom: 0; top: initial; }
	100% { height: 0; bottom: 0; top: initial; }
}

/* .bnr-fix
------------------------------------*/
.bnr-fix {
	position: absolute;
	bottom: 5%;
	right: 3%;
	z-index: 999;
	transform-origin: center bottom;
	display: none;
	opacity: 0;
}

.recruit-main + .bnr-fix {
	display: none !important;
}

.bnr-fix-close {
	display: none !important;
}

.bnr-fix a {
	display: block;
	position: relative;
	background:-webkit-gradient(linear, left top, right bottom, color-stop(0, #E88370), color-stop(1, #FFAA4F));
	background-image: linear-gradient(-76deg, #FFAA4F 0%, #E88370 100%);
	border-radius: 4rem;
	padding: 18rem 18rem 16rem 20rem;
	color: #FFFFFF;
	font-family: var(--font-serif-jp);
	z-index: 1;
}

.bnr-fix a:hover {
	opacity: 1;
}

.bnr-fix h2 {
	font-size: 19rem;
	line-height: 1.7;
	letter-spacing: 0.12em;
	transition: .15s ease-out;
}

.bnr-fix a:hover h2 {
	opacity: 0.7;
}

.bnr-fix h2 span:last-of-type i {
	display: none;
}

/* .recruit-lead
------------------------------------*/
.recruit-lead {
	max-width: 1320rem;
	margin: 0 auto 80rem;
	padding: 0 8.8%;
}

.recruit-lead p {
	font-size: 15rem;
	line-height: 2;
	letter-spacing: 0.15em;
	white-space: nowrap;
}

.recruit-lead .lead1 {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	margin-bottom: 115rem;
}

.recruit-lead .lead1 h2 {
	margin-bottom: 28rem;
	font-family: var(--font-serif-jp);
	font-size: 29rem;
	line-height: 1.8;
	letter-spacing: 0.14em;
}

.recruit-lead .lead1 figure {
	display: flex;
	justify-content: space-between;
	width: 56%;
	min-width: 51%;
	margin: 0 1% -20rem 0;
}

.recruit-lead .lead1 figure img:nth-of-type(1) { width: 52.5%; }
.recruit-lead .lead1 figure img:nth-of-type(2) { width: 44%; transform: translateY(53%); }

.recruit-lead figure img {
	align-self: flex-start;
}

.recruit-lead .lead2 {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	flex-direction: row-reverse;
	margin: 0 0 0 -15rem;
}

.recruit-lead .lead2 .txt {
	padding: 16% 2.5% 0 8%;
}

.recruit-lead .lead2 .txt h2 {
	margin-bottom: 40rem;
}

.recruit-lead .lead2 figure {
	display: flex;
	justify-content: space-between;
	width: 55.7%;
	min-width: 55.7%;
}

.recruit-lead .lead2 figure img:nth-of-type(1) { width: 45.2%; }
.recruit-lead .lead2 figure img:nth-of-type(2) { width: 52.3%; margin: 17.5% 0 0; }

/* .recruit-message
------------------------------------*/
.recruit-message {
	max-width: 1320rem;
	margin: 0 auto 80rem;
	padding: 0 6.8%;
}

.recruit-message h2 {
	margin-bottom: 45rem;
}

.recruit-message .inner {
	position: relative;
	display: flex;
	justify-content: space-between;
	padding: 0 15.5% 0 9.7%;
}

.recruit-message .img {
	width: 47.2%;
	min-width: 47.2%;
}

.recruit-message .img h4 {
	position: relative;
	margin: 25rem 0 0;
	padding: 0 0 0 73rem;
	font-size: 16rem;
	letter-spacing: 0.12em;
}

.recruit-message .img h4 em {
	display: block;
	position: absolute;
	top: 0;
	left: 16rem;
}

.recruit-message .img h4 strong {
	display: block;
	margin-bottom: 4rem;
	letter-spacing: 0.06em;
}

.recruit-message .img h4 span {
	display: block;
	margin-left: 1rem;
	color: var(--color-text-gold);
	font-family: var(--font-gothic-en);
	font-size: 11rem;
	letter-spacing: 0.11em;
}

.recruit-message h3 {
	position: absolute;
	top: -45rem;
	right: 2.6%;
}

.recruit-message h3 img {
	width: 80rem;
}

.recruit-message .txt {
	padding: 14rem 0 0 8%;
	text-align: justify;
}

.recruit-message .txt p {
	margin-bottom: 14rem;
	line-height: 1.95;
	letter-spacing: 0.11em;
}

/* .recruit-data
------------------------------------*/
.recruit-data {
	background: var(--bg-grade);
	background-blend-mode: var(--bg-grade-blend);
	width: 100%;
	margin: 0 0 125rem;
	padding: 118rem 0 108rem;
}

.recruit-data-inner {
	max-width: 1320rem;
	margin: 0 auto;
	padding: 0 6.8%;
}

.recruit-data,
.recruit-data .title-sub em {
	color: #FFFFFF;
}

.recruit-data .title-sub em span {
	padding-left: 15rem;
	font-size: 13rem;
	letter-spacing: 0.16em;
}

.recruit-data .title-sub strong {
  text-shadow: 0 0 0.5px #FFFFFF;
}

.recruit-data1-inner,
.recruit-data2-inner {
	font-family: var(--font-serif-jp);
}

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

.recruit-data1-inner {
	display: flex;
	padding: 0 6.2% 0 7.5%;
}

.recruit-data1 .title-sub {
	margin-bottom: 65rem;
}

.recruit-data1 h3 {
	margin-bottom: 18rem;
	font-size: 16rem;
	line-height: 1.6;
	letter-spacing: 0.12em;
}

.recruit-data1 .graph {
	width: 280rem;
	min-width: 280rem;
	margin-right: 10.8%;
}

.recruit-data1 .graph .inner {
	opacity: 0;
}

.recruit-data1 .graph .inner:not(:last-child) {
	margin-bottom: 30rem;
}

.recruit-data1 .graph .inner1 figure { margin-bottom: 5rem; }
.recruit-data1 .graph .inner2 figure { margin-bottom: 30rem; }

.recruit-data1 .graph figure { position: relative; opacity: 0; }
.recruit-data1 .graph figure img { position: relative; z-index: 1; }

.recruit-data1 .graph figure:after {
	display: block;
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	border-radius: 50%;
	width: 100%;
	height: 100%;
	z-index: 0;
	background: #CA8269;
	filter: drop-shadow(7px 16px 3px rgba(0,0,0,0.08));
	transform: scale(0.8);
	transition: .6s var(--easeOutQuart) .3s;
}

.recruit-data1 .graph .inner.active figure:after {
	transform: scale(1);
}

.recruit-data1 .graph .inner p {
	font-size: 14rem;
	line-height: 1.8;
	text-align: center;
	white-space: nowrap;
}

.recruit-data1 .graph .inner1 p span {
	display: inline-block;
	margin-right: 8rem;
}

.recruit-data1 .graph .inner1 p span.size-l i {
	font-size: 30rem;
}

.recruit-data1 .graph .inner2 p {
	margin: 0 3rem;
	font-size: 14rem;
	line-height: 1.8;
	letter-spacing: 0.02em;
	text-align: justify;
	white-space: inherit;
}

.recruit-data1 .graph .inner p i {
	margin: 0;
	font-family: var(--font-gothic-en);
	font-size: 22rem;
}

.recruit-data1 .txt {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 55rem 9%;
}

.recruit-data1 .txt .inner {
	transform: translateY(40rem);
	opacity: 0;
	transition: .6s var(--easeOutCubic);
}

.recruit-data1 .txt .inner.active {
	transform: translateY(0);
	opacity: 1;
}

.recruit-data1 .txt h3 {
	margin-bottom: 0;
}

.recruit-data1 .txt h4 {
	margin: 0 0 24rem 14rem;
	font-family: var(--font-gothic-jp);
	font-size: 22rem;
	line-height: 1;
	letter-spacing: 0.04em;
	white-space: nowrap;
}

.recruit-data1 .txt h4 strong {
	display: inline-block;
	position: relative;
	overflow: hidden;
	padding: 0 5rem;
	font-family: var(--font-gothic-en);
	font-size: 65rem;
	letter-spacing: 0;
	transform: translateY(9rem);
}

.recruit-data1 .txt h4 strong i {
	display: inline-block;
	transform: translateY(65rem);
	transition: .6s var(--easeOutExpo);
}

.recruit-data1 .txt .inner h4 strong i.active {
	transform: translateY(0);
}

.recruit-data1 .txt h4 strong i.pd0 {
	margin: 0 2rem 0 -2rem;
}

.recruit-data1 .txt h4 span.size-s {
	padding-left: 8rem;
	font-size: 16rem;
}

.recruit-data1 .txt h4 span {
	font-family: var(--font-gothic-en);
}

.recruit-data1 .txt p {
	color: #F9F7F1;
	line-height: 1.9;
	letter-spacing: 0.09em;
	text-align: justify;
}

/* .recruit-data2
------------------------------------*/
.recruit-data2 {
	margin-bottom: 100rem;
}

.recruit-data2-inner {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0 50rem;
	margin-top: -20rem;
	padding: 0 4.5% 0 41.5%;
}

.recruit-data2 li {
	margin-bottom: 12rem;
	font-size: 18rem;
	line-height: 1.45;
	letter-spacing: 0.08em;
}

.recruit-data2 li span {
	font-size: 13rem;
}

.btn-interview-wrap { opacity: 0; }
.btn-interview { margin: 0 auto; }
.btn-interview img { width: 100%; }

/* .recruit-interview
------------------------------------*/
.recruit-interview {
	display: none;
	overflow: hidden;
	position: fixed;
	top: 0;
	left: 0;
	background: var(--bg-grade);
	background-blend-mode: var(--bg-grade-blend);
	width: 100%;
	height: 100vh;
	color: #FFFFFF;
	z-index: 11000;
	opacity: 0;
}

.recruit-interview-close {
	position: absolute;
	top: 0;
	right: 0;
	padding: 46rem 48rem;
}

.recruit-interview-close img {
	width: 57rem;
}

.recruit-interview .modal-title {
	position: absolute;
	top: 40rem;
	left: 33rem;
}

.recruit-interview .modal-title img {
	width: 238rem;
}

.recruit-interview-nav {
	position: absolute;
	bottom: 88rem;
	left: 10%;
}

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

.recruit-interview-nav h2 {
	margin-bottom: 36rem;
	font-family: var(--font-gothic-en);
	font-size: 12rem;
	letter-spacing: 0.18em;
}

.recruit-interview-nav li button {
	position: relative;
	padding: 0 20rem 13rem 32rem;
	font-size: 14rem;
	line-height: 1.6;
	letter-spacing: 0.12em;
	text-align: left;
	transition: .15s ease-out;
}

.recruit-interview-nav li button:hover {
	opacity: 0.8;
}

.recruit-interview-nav li i {
	display: block;
	position: absolute;
	top: 2rem;
	left: 0;
	font-family: var(--font-gothic-en);
	font-size: 12rem;
	letter-spacing: 0.18em;
}

.recruit-interview-nav li span {
	display: inline-block;
	position: relative;
	padding-bottom: 2px;
	line-height: 1;
	text-shadow: 0 0 0.5px #FFFFFF;
}

.recruit-interview-nav li span:after {
	display: block;
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	background-color: rgba(255,255,255,0.8);
	width: 0;
	height: 1px;
	transition: .25s var(--easeOutCubic);
}

.recruit-interview-nav li button:hover span:after,
.recruit-interview-nav li.current span:after {
	width: 100%;
}

.recruit-interview-title {
	position: absolute;
	top: 185rem;
	left: 10%;
	min-height: 180rem;
	padding-bottom: 85rem;
}

.recruit-interview-title h3 {
	display: none;
	position: relative;
	font-size: 25rem;
	line-height: 1.75;
	letter-spacing: 0.15em;
	text-shadow: 0 0 0.5px #FFFFFF;
	opacity: 0;
}

.recruit-interview-title h3:first-of-type {
	display: block;
	opacity: 1;
}

.recruit-interview-title h3 i {
	display: block;
	position: absolute;
	top: 6rem;
	left: -44rem;
	font-family: var(--font-gothic-en);
	font-size: 12rem;
	letter-spacing: 0.1em;
	text-shadow: none;
}

.recruit-interview-title nav {
	display: flex;
	position: absolute;
	bottom: 0;
	left: -40rem;
}

.recruit-interview-title nav button {
	position: relative;
	padding: 30rem 40rem;
}

.recruit-interview-title nav button.prev { padding-right: 10rem; }
.recruit-interview-title nav button.next { padding-left: 10rem; }

.recruit-interview-title nav button img {
	width: 10rem;
}

.recruit-interview-title nav button.prev img {
	transform: scaleX(-1);
}

.recruit-interview-txt {
	overflow-y: scroll;
	height: 100vh;
	padding: 238rem 13% 100rem 49%;
}

.recruit-interview-txt::-webkit-scrollbar { width: 1px; }
.recruit-interview-txt::-webkit-scrollbar-track { border-radius: 0; background: none; }
.recruit-interview-txt::-webkit-scrollbar-thumb { border-radius: 0; background: #FFFFFF; }

.recruit-interview-txt .inner {
	display: none;
	opacity: 0;
}

.recruit-interview-txt .inner:first-of-type {
	display: block;
	opacity: 1;
}

.recruit-interview-txt dl:not(:last-of-type) {
	margin-bottom: 52rem;
}

.recruit-interview-txt dt {
	font-size: 15rem;
	line-height: 1.8;
	letter-spacing: 0.15em;
	text-shadow: 0 0 0.5px #FFFFFF;
}

.recruit-interview-txt dd {
	margin-bottom: 6rem;
	font-size: 21rem;
	line-height: 1.7;
	letter-spacing: 0.15em;
	text-shadow: 0 0 0.5px #FFFFFF;
	text-align: justify;
}

/* .recruit-features
------------------------------------*/
.recruit-features {
	max-width: 1215rem;
	margin: 0 auto 110rem;
	padding: 0 40rem;
}

.recruit-features h2 {
	margin-bottom: 85rem;
}

.features-list {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 0 4.7%;
	margin: 0 3.2%;
}

.features-list figure {
	margin-bottom: 24rem;
}

.features-list h3 {
	margin-bottom: 22rem;
	font-size: 16rem;
	line-height: 1.9;
	letter-spacing: 0.14em;
	text-shadow: 0 0 0.5px var(--color-text);
}

.features-list p {
	letter-spacing: 0.08em;
	text-align: justify;
}

/* .recruit-img
------------------------------------*/
.recruit-img {
	display: flex;
	align-items: flex-start !important;
	width: 100%;
	margin: 0 auto;
}

.recruit-img1 { margin-bottom: 115rem; }
.recruit-img2 { margin-bottom: 180rem; }

.recruit-img1 .img1 { width: 380rem; margin: 27rem 72rem 0 0; }
.recruit-img1 .img2 { width: 429rem; margin: 62rem 72rem 0 0; }
.recruit-img1 .img3 { width: 289rem; margin: 0 79rem 0 0; }

.recruit-img2 .img1 { width: 410rem; margin: 14rem 92rem 0 0; }
.recruit-img2 .img2 { width: 304rem; margin: 138rem 93rem 0 0; }
.recruit-img2 .img3 { width: 446rem; margin: 0 99rem 0 0; }
.recruit-img2 .img4 { width: 381rem; margin: 67rem 96rem 0 0; }

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

/* .recruit-job
------------------------------------*/
.recruit-job {
	width: 100%;
	margin: 0 0 215rem;
	padding: 0 3.8%;
}

.recruit-job-wrap {
	position: relative;
	background-color: var(--color-bg-dark);
	padding: 235rem 6.2% 140rem;
}

.recruit-job h2 {
	position: absolute;
	top: 40rem;
	left: 44rem;
}

.recruit-job .situation {
	position: absolute;
	top: 60rem;
	right: 48rem;
	letter-spacing: 0.12em;
}

.recruit-job .situation:not(:has(span)),
.recruit-job .situation:has(+ .recruit-job-inner .not-entry) { display: none; }
.recruit-job .situation span:last-of-type i { display: none; }

.recruit-job-inner {
	display: flex;
	justify-content: space-between;
}

.recruit-job-nav {
	align-self: flex-start;
	position: sticky;
	top: 60rem;
	left: 0;
	width: 24%;
	min-width: 200rem;
	margin-bottom: -25rem;
	padding: 0 4.9% 0 0;
}

.recruit-job-nav li i {
	display: inline-block;
	position: relative;
	width: 56rem;
	margin-right: 14rem;
	padding: 0 0 0 2rem;
	font-size: 12rem;
	letter-spacing: 0.1em;
	text-align: center;
}

.recruit-job-nav li i:before,
.recruit-job-nav li i:after {
	display: block;
	content: '';
	position: absolute;
	top: 0;
	background-color: var(--color-text);
	width: 1px;
	height: 100%;
}

.recruit-job-nav li i:before { left: 0; }
.recruit-job-nav li i:after { right: 0; }

.recruit-job-nav li span i:before,
.recruit-job-nav li span i:after {
	background-color: #AAAAAA;
}

.recruit-job-nav li a,
.recruit-job-nav li span {
	display: inline-block;
	padding: 0 15rem 25rem 0;
}

.recruit-job-nav li span {
	color: #AAAAAA;
}

.recruit-job-nav li strong {
	font-size: 15rem;
	letter-spacing: 0.1em;
}

.recruit-job-nav li a strong {
	text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.1em;
}

.recruit-job-detail {
	width: 100%;
}

.recruit-job-detail article {
	margin-top: -60rem;
	padding-top: 60rem;
}

.recruit-job-detail article:not(:last-child) {
	margin-bottom: 140rem;
}

.recruit-job-detail article div {
	border-top: 1px solid var(--color-border);
}

.recruit-job-detail article dl {
	display: flex;
	border-bottom: 1px solid var(--color-border);
	padding: 25rem 20rem 23rem 0;
}

.recruit-job-detail article dt,
.recruit-job-detail article dd,
.recruit-job-detail article dd h3,
.recruit-job-detail article dd p {
	line-height: 1.8;
	font-size: 16rem;
	letter-spacing: 0.1em;
}

.recruit-job-detail article dt {
	width: 22%;
	min-width: 120rem;
	padding-right: 5%;
}

.recruit-job-detail article dd {
	width: 100%;
}

.recruit-job-detail article dd p {
	text-align: justify;
}

.recruit-job-detail .not-entry {
	margin-top: -8rem;
}

.recruit-job-detail .not-entry.margin {
	margin: -20rem 0rem -20rem -186rem;
}

.recruit-job-detail .not-entry p {
	font-size: 16rem;
}

/* .recruit-entry
------------------------------------*/
.recruit-entry {
	width: 100%;
	margin: 0;
	padding: 0 4%;
	opacity: 0;
}

.recruit-entry button {
	display: block;
	position: relative;
	background: linear-gradient(-140deg, #FFAA4F 5.35%, #E88370 89.91%);
	border-radius: 35rem;
	width: 100%;
	max-width: 1035rem;
	margin: 0 auto;
	padding: 41rem 11.2% 31rem;
	color: #FFFFFF;
	text-align: left;
	transition: .15s ease-out;
}

.recruit-entry button:hover {
	opacity: 0.85;
}

.modal-recruit-entry-close img {
	width: 55rem;
}

.recruit-entry h2 {
	position: relative;
	display: inline-block;
	margin-bottom: 28rem;
	opacity: 0;
}

.recruit-entry h2 em {
	display: block;
	margin: 0 0 9rem -1rem;
}

.recruit-entry h2 em img {
	width: 313rem;
}

.recruit-entry h2 strong {
	display: block;
	font-family: var(--font-serif-jp);
	font-size: 20rem;
	/* font-weight: 600; */
	letter-spacing: 0.16em;
	text-shadow: 0 0 0.5px #FFFFFF;
}

.recruit-entry h2 i {
	display: block;
	position: absolute;
	top: -6rem;
	right: -56rem;
}

.recruit-entry h2 i img {
	width: 34rem;
}

.recruit-entry p {
	margin-bottom: 0;
	font-size: 16rem;
	line-height: 1.9;
	letter-spacing: 0.14em;
	text-shadow: 0 0 0.5px #FFFFFF;
	opacity: 0;
}

.recruit-entry .img {
	display: block;
	position: absolute;
	border-radius: 6rem;
	opacity: 0;
}

.recruit-entry .img1 { top: -21%; right: 16.8%; width: 21.6%; }
.recruit-entry .img2 { bottom: -24.2%; left: -6.7%; width: 15.8%; }
.recruit-entry .img3 { bottom: -19.3%; right: 6.4%; width: 16.4%; }

/* .modal-recruit-entry
------------------------------------*/
.modal-recruit-entry {
	display: none;
	overflow: hidden;
	position: fixed;
	top: 0;
	left: 0;
	background: rgba(131,124,109,0.7);
	width: 100%;
	height: 100vh;
	z-index: 11000;
	opacity: 0;
}

.modal-recruit-entry-close {
	position: absolute;
	top: 0;
	right: 0;
	padding: 46rem 48rem;
	z-index: 2;
}

.modal-recruit-entry-inner {
	overflow-y: scroll;
	position: relative;
	background-color: #FFFFFF;
	width: 50%;
	min-width: 660rem;
	height: 100vh;
	margin: 0 0 0 min(50%, calc(100% - 660rem));
	padding: 145rem 50rem 100rem 80rem;
	z-index: 0;
}

.modal-recruit-entry-inner::-webkit-scrollbar { width: 1px; }
.modal-recruit-entry-inner::-webkit-scrollbar-track { background: #FFFFFF; }
.modal-recruit-entry-inner::-webkit-scrollbar-thumb { background: var(--color-text); }

.modal-recruit-entry .lead {
	margin-bottom: 50rem;
}

.modal-recruit-entry .lead h2 {
	margin-bottom: 18rem;
}

.modal-recruit-entry .lead h2 em {
	display: inline-block;
	position: absolute;
	top: 16rem;
	left: 22rem;
	color: var(--color-text-gold);
	font-family: var(--font-gothic-en);
	font-size: 21rem;
	letter-spacing: 0.08em;
}

.modal-recruit-entry .lead h2 strong {
	font-size: 19rem;
	letter-spacing: 0.14em;
	text-shadow: 0 0 0.5px var(--color-text);
}

.modal-recruit-entry .lead p {
	font-size: 13rem;
	line-height: 2.1;
	letter-spacing: 0.13em;
}

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

.form-wrap dt {
	position: relative;
	width: 150rem;
	min-width: 150rem;
	padding: 11rem 0 0;
}

.form-wrap dt:has(span) {
	padding-top: 4rem;
}

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

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

/*.form-wrap dt.must:before {
	display: block;
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	background-color: var(--color-text);
	border-radius: 50%;
	width: 4rem;
	height: 4rem;
}*/

.form-wrap dt span {
	display: block;
	font-size: 12rem;
	letter-spacing: 0.1em;
}

.form-wrap dd {
	width: 100%;
	min-height: 48rem;
}

.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 textarea {
  -webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
  border-radius: 0;
	font-family: var(--font-gothic-jp-device);
}

.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;
	background-color: #FFFFFF;
	border: 1px solid var(--color-border);
	border-radius: 0;
	width: 100%;
	height: 44rem;
	padding: 10rem 20rem;
	font-size: max(16rem, 16px);
	letter-spacing: 0.1em;
}

.form-wrap select {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	position: relative;
	cursor: pointer;
	z-index: 1;
}

.btn-select .wpcf7-form-control-wrap .customSelect {
	position: relative;
	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 textarea {
	display: block;
	height: 300rem;
	padding: 18rem 20rem;
	line-height: 1.8;
}

::-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 150rem;
}

.privacy-check .wpcf7-form-control-wrap {
	width: auto;
	margin-right: 16rem;
  transform-origin: left center;
}


@supports (-webkit-appearance: none) and (not (-webkit-touch-callout: none)) {
	.privacy-check .wpcf7-form-control-wrap {
		transform: scale(1.3) translateY(1rem);
	}
}

_::-webkit-full-page-media, _:future, :root .privacy-check .wpcf7-form-control-wrap {
	transform: scale(1.3) translateY(-1rem);
}

/* .btn-submit
------------------------------------*/
.btn-submit {
	display: inline-block;
	position: relative;
	margin: 35rem 0 0 150rem;
}

.btn-submit:before {
	display: block;
	content: '';
	position: absolute;
	top: 21rem;
	right: 20rem;
	background: #FFFFFF;
	width: 10rem;
	height: 10rem;
	clip-path: polygon(50% 0, 100% 100%, 0 100%);
	clip-path: polygon(0 0, 100% 50%, 0 100%);
	pointer-events: none;
	z-index: 1;
}

.btn-submit input {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	display: block;
	background: #513C25;
	border: none;
	border-radius: 0;
	margin: 0;
	padding: 14rem 65rem 14rem 30rem;
	color: #FFFFFF;
	font-size: 16rem;
	font-weight: 500;
	letter-spacing: 0.08em;
	text-align: left;
	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: 10rem 0 0;
	padding: 0;
	font-size: 12rem;
	line-height: 1.6;
	letter-spacing: 0.08em;
}

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

.txt-response,
.wpcf7-response-output {
	display: none;
	margin: 50rem 0 0;
	font-size: 14rem;
	line-height: 1.6;
	letter-spacing: 0.1em;
	text-align: left;
	margin-bottom: 20rem;
	font-size: 14rem;
	line-height: 1.8;
	text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.1em;
	text-shadow: 0 0 0.5px var(--color-text);
}

.wpcf7-response-output:first-child {
	display: block;
	margin: -25rem 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; }*/


/* media query
---------------------------------------------------------------------------*/
@media (max-width: 960px) {
	.recruit-message .inner {
		padding: 0 13% 0 4%;
	}
	.recruit-message .txt {
		padding-top: 0;
	}
	.recruit-message h3 {
		right: -1.5%;
	}
	.recruit-data1-inner {
		padding: 0;
	}
	.recruit-data1 .graph {
		width: 240rem;
		min-width: 240rem;
	}
	.recruit-data1 .txt h4 strong {
		font-size: 60rem;
	}
	.recruit-data2-inner {
		margin-top: 20rem;
		padding: 0 0 0 29%;
	}
	.recruit-interview-title h3 {
		font-size: 23rem;
		letter-spacing: 0.11em;
	}
	.recruit-interview-nav {
		bottom: 60rem;
	left: 6%;
	}
	.recruit-interview-txt {
		padding-right: 8%;
		padding-left: 52%;
	}
	.recruit-interview-txt dd {
		font-size: 19rem;
		letter-spacing: 0.1em;
	}
	.recruit-entry button {
		padding-left: 13%;
	}
	.recruit-entry .img3 {
		right: 4%;
	}
}

@media (max-height: 820px) {
	.recruit-interview-title {
		top: 170rem;
	}
	.recruit-interview-title h3 {
		font-size: 24rem;
	}
	.recruit-interview-nav {
		bottom: 55rem;
	}
	.recruit-interview-nav h2 {
		margin-bottom: 30rem;
	}
	.recruit-interview-nav li button {
		padding-bottom: 12rem;
	}
	.recruit-interview-txt {
		padding-top: 215rem;
	}
	.recruit-interview-txt dd {
		font-size: 20rem;
	}
}