/* =========================
   採用情報ページ用
========================= */
.site-body {
	padding: 0 0 4rem !important;
}
.recruit-page {
	position: relative;
	overflow-x: clip;
	overflow-y: visible;
}

.js-scroll-reveal.is-revealed {
	z-index: -1;
}

.recruit-page__inner {
	position: relative;
	z-index: 2;
	max-width: 1140px;
	margin: 0 auto;
	padding: 0 20px;
}

.recruit-links {
	padding: 40px 0 120px;
}

.recruit-links__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 32px;
}

.recruit-link-card {
	display: flex;
	flex-direction: column;
	align-items: center;
	min-height: 320px;
	padding: 25px 0 25px;
	text-align: center;
	background: rgba(247, 250, 238, 0.9);
	border-radius: 12px;
}

.recruit-link-card:nth-child(even) {
	background: rgba(246, 251, 249, 0.92);
}

.recruit-link-card__en-title {
	margin: 0 0 12px;
	padding: .2em 0;
	color: var(--color-primary);
	font-size: var(--font-size-heading-xs);
	font-weight: 700;
	line-height: 1.25;
	border: none !important;
}

.recruit-link-card__en-title::before,
.recruit-link-card__en-title::after,
.recruit-section__en-title::before,
.recruit-section__en-title::after,
.recruit-banner-section__title::before,
.recruit-banner-section__title::after {
	display: none !important;
	content: none !important;
}

.recruit-link-card__title {
	margin: 0 0 15px;
	color: var(--color-text);
	font-size: var(--font-size-label);
	font-weight: 700;
	line-height: 1.5;
}

.recruit-link-card__text {
	margin: 0 0 30px;
	text-align: left;
	font-size: var(--font-size-body);
	font-weight: 500;
	line-height: 1.5;
	letter-spacing: 0.03em;
	width: 65%;
	max-width: 290px;
}

.recruit-link-card__note {
	margin: 0 0 24px;
	width: 100%;
	text-align: left;
	color: #e64b4b;
	font-size: var(--font-size-body);
	font-weight: 700;
	line-height: 1.6;
}

.recruit-link-card__button-wrap {
	margin: auto 0 0;
}

.recruit-button {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 290px;
	height: 48px;
	padding: 0 46px 0 28px;
	background: #004b8d;
	color: #fff !important;
	border-radius: 999px;
	text-decoration: none;
	font-size: 0.85rem;
	font-weight: 700;
	line-height: 1;
}

.recruit-button:hover {
	color: #fff !important;
	/* opacity: 0.88; */
}

.recruit-button__icon {
	position: absolute;
	top: 50%;
	right: 10px;
	width: 26px;
	height: 26px;
	background: #fff;
	border-radius: 50%;
	transform: translateY(-50%);
}

.recruit-button__icon::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 5px;
	width: 15px;
	height: 3px;
	border-radius: 2px;
	background: #004b8d;
	transform: translateY(-50%);
}

.recruit-button__icon::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 6px;
	width: 10px;
	height: 10px;
	border-top: 3px solid #004b8d;
	border-right: 3px solid #004b8d;
	border-radius: 2px;
	transform: translateY(-50%) rotate(45deg);
}

.recruit-interview {
	position: relative;
	padding: 120px 0 150px;
	overflow: visible;
	isolation: isolate;
}

.recruit-interview__header {
	position: relative;
	z-index: 5;
	max-width: 800px;
	margin: 0 auto 15px;
	text-align: center;
}

.recruit-section__en-title {
	margin: 0 0;
	padding: 0 0 .2em;
	color: var(--color-primary);
	font-size: var(--font-size-heading-md);
	font-weight: 700;
	line-height: 1.2;
	border: none !important;
}

.recruit-section__title {
	margin: 0 0 28px;
	color: var(--color-text);
	font-size: var(--font-size-label);
	font-weight: 700;
	line-height: 1.5;
}

.recruit-interview__text {
	margin: 0 auto;
	font-size: var(--font-size-body);
	font-weight: 500;
	line-height: 1.5;
	letter-spacing: 0.04em;
}

.recruit-interview .top-interview-slider {
	position: relative;
	z-index: 5;
}

.recruit-interview__button-wrap {
	width: fit-content;
	margin: 44px auto 0;
}
.recruit-interview__header,
.recruit-interview .top-interview-slider,
.recruit-interview__button-wrap {
	position: relative;
	z-index: 5;
}

/* we are creator非表示 */
.top-recruit::before {
	display: none;
}
/* 採用情報ページ：社員インタビュー背景波の位置調整 */
.recruit-interview .wave-recruit {
	top: -210px;
	height: calc(105% + 210px);
}
.recruit-interview .wave-recruit::before {
	top: 12%;
}
.recruit-interview .wave-recruit::after {
	top: 36%;
	background: linear-gradient(to bottom, #F9F3C8 0%, #f7f6ee 60%, #FFFFFF 50%);
	height: calc(95% - 105px);
}
.recruit-interview .wave-recruit_bottom {
	top: 73%;
}
.top-section {
	margin-bottom: 0;
}
.recruit-banner-section {
	text-align: center;
	margin-top: -170px;
}

.recruit-page__inner--banner {
	max-width: 780px;
}

.recruit-banner-section__title {
	margin: 0;
	padding: 25px 0 0;
	color: var(--color-primary);
	font-size: var(--font-size-label);
	font-weight: 700;
	line-height: 1.55;
	border: none !important;
}

.recruit-banner-section__text {
	margin: 0 0;
	font-size: var(--font-size-body-small);
	font-weight: 500;
	line-height: 1.8;
}

.recruit-banner-section__image {
	max-width: 680px;
	margin: 0 auto;
}

.recruit-banner-section__image img {
	display: block;
	width: 100%;
	height: auto;
}

.sexuhara_textBox_wrapper {
	position: relative;
    z-index: 1;
}
.sexuhara_textBox {
    font-weight: 600;
	font-size: 12px;
    text-align: center;
    margin: 38px auto -80px;
    max-width: 680px;
    padding-bottom: 16px;
    border: solid 3px #2d2d2d;
    background-color: #FFF;
    padding: 18px 16px;
    border-radius: 18px;
    margin-bottom: 15px;
}
.recruit-harassment__text {
	margin-bottom: 0;
}
.sexuhara_mailAddress {
    color: #59a101;
    text-decoration-line: underline;
}

@media (max-width: 767px) {

	.page-id-135 .lower-header-deco-wrap .lower-common-header-deco-01 {
		top: -202px !important;
	}
	.page-id-135 .lower-header-deco-wrap .lower-common-header-deco-02 {
		top: -292px !important;
	}

	.recruit-page {
		overflow: hidden;
	}

	.recruit-links {
		padding: 24px 0 80px;
	}

	.recruit-links__grid {
		grid-template-columns: 1fr;
		gap: 24px;
	}

	.recruit-link-card {
		min-height: auto;
		padding: 18px 0 18px;
	}

	.recruit-link-card__title {
		margin-bottom: 24px;
	}

	.recruit-link-card__text {
		width: 290px;
	}

	.recruit-interview {
		padding: 88px 0 110px;
	}

	.recruit-interview__text {
		width: 85%;
	}

	.recruit-wave--top {
		--wave-display-height: 520px;
	}

	.recruit-banner-section {
		padding: 64px 0 10px;
	}

	.sexuhara_textBox {
		padding: 10px 10px;
		margin: 38px auto 5px;
		max-width: fit-content;
	}
}

@media (max-width: 425px) {
	.recruit-harassment__text {
		font-size: 10px;
	}
}

@media (max-width: 350px) {
	.recruit-button {
		width: 85vw;
	}
}

/* ========================================
   lower-recruit-deco-06
   1920px基準の位置・サイズで固定
======================================== */
.recruit-page .lower-recruit-deco-06 {
	/*
	 * 1920px時の設定
	 * 幅：1920 × 38% = 729.6px
	 */
	width: 729.6px !important;
	max-width: none !important;
	--deco-w: 729.6px !important;

	/*
	 * 1920px画面での左端位置を固定
	 *
	 * 右基準 + --deco-x:-15vw の場合、
	 * 1920px時の基準位置は画面中央から右へ672px。
	 */
	left: calc(50% + 672px) !important;
	right: auto !important;

	/*
	 * 共通CSS側のtranslateXへ渡される移動量を無効化
	 */
	--deco-x: 0px !important;

	/*
	 * 縦位置や回転は現在値を維持
	 */
	--deco-y: 32% !important;
	--deco-rotate: -15deg !important;
	--deco-scale-x: 1 !important;
	--deco-scale-y: -1 !important;

	transform-origin: center center;
}