@charset "UTF-8";
/* =========================================================
   recruit.css - 採用情報ページ
   Figma 1440px 基準（1rem = Figmaのpx ÷ 10）
   ========================================================= */

/* ヘッダー（position:fixed）ぶんの余白 */
.p-recruit { padding-top: var(--header-h); overflow: hidden; }

/* =========================================================
   共通：セクション見出し
   ========================================================= */
.p-rcsec__head {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: .8rem;
	text-align: center;
}

.p-rcsec__en {
	font-family: var(--font-en);
	font-weight: 200;
	font-size: 3.2rem;
	line-height: 1.22;
	color: var(--c-main);
}

.p-rcsec__title {
	font-family: var(--font-gothic);
	font-weight: 700;
	font-size: 4rem;
	line-height: 1.45;
	background: linear-gradient(90deg, var(--c-accent) 0%, var(--c-blue-deep) 100%);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}

/* =========================================================
   MV
   ========================================================= */
.p-rchero {
	position: relative;
	height: 88.8rem;
	overflow: hidden;
	background: var(--c-main);
}

.p-rchero__bg { position: absolute; inset: 0; }
.p-rchero__bg picture { display: block; width: 100%; height: 100%; }

.p-rchero__bg > picture img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.p-rchero__shade {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, .2);
}

.p-rchero__motif {
	position: absolute;
	width: 133.28rem;
	opacity: .28;
	mix-blend-mode: soft-light;
}

.p-rchero__motif img { width: 100%; height: auto; }
.p-rchero__motif--l { left: calc(-11.3rem - var(--gutter)); top: 24.2rem; }
.p-rchero__motif--r { left: calc(160.68rem + var(--gutter)); top: 49.9rem; }

.p-rchero__stage {
	position: relative;
	z-index: 2;
	width: min(100%, 144rem);
	height: 100%;
	margin-inline: auto;
}

/* MVの写真は、ページの読み込みが終わってから1枚ずつゆっくり浮かび上がらせる。
   js-fade（IntersectionObserver）だと読み込み中に出きってしまうため、
   main.js が .p-rchero に .is-ready を付けたタイミングで動かす。 */
.p-rchero__sub {
	position: absolute;
	overflow: hidden;
	border-radius: 1rem;
	box-shadow: 0 1rem 3rem rgba(0, 17, 40, .18);
	opacity: 0;
	transform: scale(.94) translateY(1.6rem);
	transition:
		opacity 1.2s var(--ease-out),
		transform 1.4s var(--ease-out);
	transition-delay: calc(.35s + var(--sub-i, 0) * .32s);
}

.p-rchero.is-ready .p-rchero__sub { opacity: 1; transform: none; }

@media (prefers-reduced-motion: reduce) {
	.p-rchero__sub { opacity: 1; transform: none; transition: none; }
}

.p-rchero__sub picture { display: block; width: 100%; height: 100%; }
.p-rchero__sub img { display: block; width: 100%; height: 100%; object-fit: cover; }

/* 他の2枚と同じステージ基準にする。画面端に貼り付けると、余白が出る画面幅で
   この1枚だけが左へ離れ、MVの構図がFigmaと変わってしまうため */
.p-rchero__sub--01 { --sub-i: 0; left: 0; top: 22.9rem; width: 22.5rem; height: 18.3rem; }
.p-rchero__sub--02 { --sub-i: 1; left: 106.4rem; top: 7.4rem; width: 25.6rem; height: 16.9rem; }
.p-rchero__sub--03 { --sub-i: 2; left: 101.4rem; top: 53.7rem; width: 37.2rem; height: 24.4rem; }

/* Figma実測：枠は x581〜753 / ヘッダー下から659〜738（キャッチ2行目の右横） */
.p-rchero__label {
	position: absolute;
	left: 58.1rem;
	top: 65.9rem;
	padding: 1rem;
	border: 1px solid #fff;
	border-radius: 1rem;
	font-family: var(--font-en);
	font-weight: 200;
	font-size: 2.4rem;
	line-height: 1.2;
	color: #fff;
}

.p-rchero__catch span { display: block; }

.p-rchero__catch {
	position: absolute;
	left: 12rem;
	top: 55.9rem;
	font-family: var(--font-gothic);
	font-weight: 700;
	font-size: 6.4rem;
	line-height: 9.1rem;
	letter-spacing: .02em;
	color: #fff;
	text-shadow: 0 .2rem 2.4rem rgba(0, 17, 40, .35);
}

.p-rchero__tag {
	position: absolute;
	left: 12rem;
	top: 77.7rem;
	padding: .4rem 1rem;
	background: var(--c-blue);
	font-size: 2.4rem;
	line-height: 1.4;
	color: #fff;
}

/* =========================================================
   MESSAGE
   ========================================================= */
.p-rcmsg {
	position: relative;
	height: 70.6rem;
	overflow: hidden;
	background: var(--c-main);
}

.p-rcmsg__bg { position: absolute; inset: 0; }

.p-rcmsg__bg img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.p-rcmsg__stage {
	position: relative;
	z-index: 2;
	width: min(100%, 144rem);
	margin-inline: auto;
	padding-top: 10rem;
	text-align: center;
}

.p-rcmsg__en {
	font-family: var(--font-en);
	font-weight: 200;
	font-size: 6.4rem;
	line-height: 1.2;
	color: #fff;
}

.p-rcmsg__body {
	margin-top: 4rem;
	font-size: 1.6rem;
	line-height: 3;
	color: #fff;
}

/* top.css の .p-marquee（TOP用に top/margin-top を持つ）を打ち消してから下端に固定する */
.p-rcmsg .p-marquee {
	position: absolute;
	left: 0;
	right: 0;
	top: auto;
	bottom: 0;
	z-index: 2;
	margin-top: 0;
}

/* =========================================================
   大切にしている価値観
   ========================================================= */
.p-rcvalues {
	padding: 12rem 0 31.8rem;
	background: #edf2fb;
}

.p-rcvalues__list {
	display: grid;
	grid-template-columns: repeat(2, 52.8rem);
	justify-content: center;
	gap: 4.4rem;
	margin-top: 6rem;
}

.p-rcvalue {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 2.4rem;
	padding: 4rem;
	border: 1px solid var(--c-accent);
	border-radius: 1.8rem;
	background: var(--c-gray);
	/* Figmaのカード高 535px */
	min-height: 53.5rem;
}

.p-rcvalue__media {
	width: 100%;
	height: 25.3rem;
	border-radius: 1rem;
	overflow: hidden;
}

.p-rcvalue__media img { width: 100%; height: 100%; object-fit: cover; }

.p-rcvalue__title {
	width: 100%;
	font-family: var(--font-gothic);
	font-weight: 500;
	font-size: 2.4rem;
	line-height: 1.3;
	letter-spacing: .04em;
	text-align: center;
	background: linear-gradient(90deg, var(--c-accent) 0%, var(--c-blue-deep) 100%);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}

.p-rcvalue__text {
	width: 100%;
	font-size: 1.6rem;
	line-height: 1.9;
	color: var(--c-text);
}

/* =========================================================
   WorldShiftで働く3つの魅力（写真背景）
   ========================================================= */
.p-rcfeature {
	position: relative;
	padding: 34.8rem 0 15rem;
}

/* Figmaでは写真がセクションの外に出た分は切り取られている */
.p-rcfeature__bg {
	position: absolute;
	left: calc(-1 * var(--gutter));
	right: calc(-1 * var(--gutter));
	top: 0;
	bottom: 0;
	z-index: 0;
	overflow: hidden;
}

/* 書き出した画像がすでにセクションの見えている範囲そのもの */
.p-rcfeature__bg picture { display: block; width: 100%; height: 100%; }

.p-rcfeature__bg img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.p-rcfeature__grad {
	position: absolute;
	left: 0;
	right: 0;
	top: 62.7rem;
	height: 68.5rem;
	background: linear-gradient(180deg, rgba(216, 227, 240, 0) 0%, #d8e3f0 100%);
}

.p-rcfeature .p-imgloop {
	position: absolute;
	left: calc(-1 * var(--gutter));
	right: calc(-1 * var(--gutter));
	top: -19.8rem;
	z-index: 2;
}

.p-rcfeature__inner {
	position: relative;
	z-index: 2;
	width: min(100%, 144rem);
	margin-inline: auto;
	padding: 0 17rem;
}

.p-rcfeature__list {
	display: grid;
	grid-template-columns: repeat(3, 34.5rem);
	justify-content: center;
	gap: 3.3rem;
	margin-top: 8rem;
}

/* ---------- カード（魅力／ツール共通） ---------- */
.p-rccard {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 1.6rem;
	padding: 2.8rem 2.6rem;
	border: 1px solid var(--c-border);
	border-radius: 1.8rem;
	background: #fff;
	overflow: hidden;
	/* Figmaのカード高 542px */
	min-height: 54.2rem;
}

.p-rccard__no {
	font-family: var(--font-en);
	font-weight: 200;
	font-size: 2rem;
	line-height: 1.2;
	color: #155ea2;
}

.p-rccard__icon { width: 23.1rem; height: 23.1rem; }
.p-rccard__icon img { width: 100%; height: 100%; object-fit: contain; }

.p-rccard__title {
	font-family: var(--font-gothic);
	font-weight: 700;
	font-size: 2.4rem;
	line-height: 1.5;
	color: var(--c-main);
	text-align: center;
}

.p-rccard__text {
	width: 100%;
	font-size: 1.6rem;
	line-height: 1.9;
	color: var(--c-text);
}

/* =========================================================
   最新のツールで、仕事の価値を変える
   ========================================================= */
.p-rcprocess {
	padding: 15rem 0;
	background: #d8e3f0;
}

.p-rcprocess__list {
	display: grid;
	grid-template-columns: repeat(3, 34.5rem);
	justify-content: center;
	gap: 3.25rem;
	margin-top: 8rem;
}

.p-rccard--process { gap: 0; padding: 2.8rem 2.6rem 0; min-height: 44.73rem; }
.p-rccard--process .p-rccard__no { margin-bottom: 1rem; }

.p-rccard__en {
	font-family: var(--font-en);
	font-weight: 200;
	font-size: 3.2rem;
	line-height: 1.2;
	color: var(--c-main);
}

.p-rccard__lead {
	margin-top: .5rem;
	font-size: 1.6rem;
	line-height: 1.4;
	color: var(--c-blue);
	text-align: center;
}

.p-rccard__icon--wide {
	width: 19.8rem;
	height: 18rem;
	margin-top: 1rem;
}

.p-rccard--process .p-rccard__text { margin-top: 1rem; padding-bottom: 2.8rem; }

/* =========================================================
   求める人物像
   ========================================================= */
.p-rcideal {
	padding: 15rem 0;
	background: #f5f5f5;
}

.p-rcideal__grid {
	display: grid;
	grid-template-columns: repeat(3, 36.7rem);
	justify-content: center;
	margin-top: 8rem;
}

.p-rcideal__cell {
	/* Figmaのセル高 546.5px */
	min-height: 54.65rem;
	padding: 3.1rem;
	border: 1px solid var(--c-border);
	margin: -0.5px;
}

.p-rcperson {
	display: flex;
	flex-direction: column;
	height: 100%;
	background: #fff;
	overflow: hidden;
}

.p-rcperson__media { height: 31.65rem; }
.p-rcperson__media img { width: 100%; height: 100%; object-fit: cover; }

.p-rcperson__body { padding: 2rem; }

.p-rcperson__title {
	font-family: var(--font-gothic);
	font-weight: 700;
	font-size: 2rem;
	line-height: 1.55;
	color: var(--c-blue);
	text-align: center;
}

.p-rcperson__text {
	margin-top: 1.6rem;
	font-size: 1.4rem;
	line-height: 1.8;
	color: var(--c-text);
}

/* =========================================================
   数字で見るワールドシフト
   ========================================================= */
.p-rcnum {
	position: relative;
	padding: 13.3rem 0 32.4rem;
	background: var(--c-main);
}

.p-rcnum__inner {
	width: min(100%, 144rem);
	margin-inline: auto;
}

.p-rcnum .p-rcsec__en,
.p-rcnum .p-rcsec__title {
	color: #fff;
	background: none;
	-webkit-background-clip: border-box;
	background-clip: border-box;
}

.p-rcnum__grid {
	display: grid;
	grid-template-columns: repeat(6, 18.33rem);
	justify-content: center;
	margin-top: 8rem;
}

.p-rcstat {
	position: relative;
	border: 1px solid var(--c-blue-deep);
	margin: -0.5px;
	overflow: hidden;
	text-align: center;
}

.p-rcstat--wide { grid-column: span 3; height: 36.7rem; }
.p-rcstat--tall { grid-column: span 2; height: 44rem; }

.p-rcstat__bg {
	position: absolute;
	inset: .9rem;
	opacity: .4;
}

.p-rcstat__bg::after {
	content: "";
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, .5);
}

.p-rcstat__bg img { width: 100%; height: 100%; object-fit: cover; }

/* 中身はFigmaの座標どおりに絶対配置する */
.p-rcstat__label,
.p-rcstat__figure,
.p-rcstat__sub,
.p-rcstat__text {
	position: absolute;
	left: 0;
	right: 0;
	z-index: 1;
}

.p-rcstat__label {
	top: 3.9rem;
	font-family: var(--font-gothic);
	font-weight: 500;
	font-size: 2.4rem;
	line-height: 1.3;
	letter-spacing: .04em;
	color: #ffeb7b;
}

.p-rcstat__figure {
	top: calc(50% - 1.85rem);
	display: flex;
	align-items: center;
	justify-content: center;
	gap: .6rem;
	transform: translateY(-50%);
}

.p-rcstat__pre {
	font-family: var(--font-gothic);
	font-weight: 500;
	font-size: 3.2rem;
	line-height: 1.2;
	letter-spacing: .04em;
	color: #fff;
	writing-mode: vertical-rl;
}

.p-rcstat__value,
.p-rcstat__unit {
	background: linear-gradient(180deg, #e3f1fe 30%, rgba(218, 235, 255, 0) 100%);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}

.p-rcstat__value {
	font-family: var(--font-en);
	font-weight: 700;
	font-size: 19.5rem;
	line-height: .8;
}

.p-rcstat__unit {
	align-self: flex-end;
	margin-bottom: 1.4rem;
	font-family: var(--font-gothic);
	font-weight: 900;
	font-size: 8.4rem;
	line-height: 1;
	letter-spacing: .04em;
}

.p-rcstat__text {
	top: 73.3%;
	width: 43.3rem;
	margin-inline: auto;
	font-size: 1.6rem;
	line-height: 1.8;
	color: #fff;
}

/* ---------- 縦型カード（366x440） ---------- */
.p-rcstat--tall .p-rcstat__label { top: 4.4rem; }
.p-rcstat--tall .p-rcstat__figure { top: calc(50% - 6.5rem); }
.p-rcstat--tall .p-rcstat__value { font-size: 14.65rem; }
.p-rcstat--tall .p-rcstat__unit { font-size: 9rem; margin-bottom: 1rem; }

.p-rcstat__sub {
	top: 22.4rem;
	font-family: var(--font-gothic);
	font-weight: 500;
	font-size: 4rem;
	line-height: 1.3;
	letter-spacing: .04em;
	color: #fff;
}

.p-rcstat--tall .p-rcstat__text { top: 71.14%; width: 30.3rem; }

.p-rcnum .p-imgloop {
	position: absolute;
	left: calc(-1 * var(--gutter));
	right: calc(-1 * var(--gutter));
	top: 159.2rem;
}

/* =========================================================
   募集要項
   ========================================================= */
.p-rcjob {
	padding: 28rem 0 0;
	background: #fff;
}

.p-rcjob__table {
	width: min(100% - 56rem, 88rem);
	margin: 6rem auto 0;
}

.p-rcjob__row {
	display: flex;
	align-items: flex-start;
	padding: 2rem 0;
	border-bottom: 1px solid var(--c-border);
	font-size: 1.6rem;
	line-height: 1.7;
}

.p-rcjob__row:first-child { border-top: 1px solid var(--c-border); }

.p-rcjob__row dt {
	flex-shrink: 0;
	width: 24rem;
	font-weight: 700;
	color: var(--c-main);
}

.p-rcjob__row dd { color: var(--c-text); }

/* =========================================================
   待遇・環境
   ========================================================= */
.p-rcbenefit {
	padding: 8rem 0 0;
	background: #fff;
}

.p-rcbenefit__panel {
	position: relative;
	display: flex;
	gap: 6rem;
	width: min(100% - 56rem, 88rem);
	margin-inline: auto;
	padding: 4rem;
	border-radius: 2rem;
	background: #fbfbfb;
}

.p-rcbenefit__head { flex-shrink: 0; width: 31.6rem; }

.p-rcbenefit__en {
	font-family: var(--font-en);
	font-weight: 200;
	font-size: 6.4rem;
	line-height: 1.2;
	color: #dbe7f4;
}

.p-rcbenefit__title {
	margin-top: .6rem;
	font-family: var(--font-gothic);
	font-weight: 500;
	font-size: 3.2rem;
	line-height: 1.3;
	letter-spacing: .08em;
	color: var(--c-blue);
}

.p-rcbenefit__list { display: flex; flex-direction: column; gap: 2.4rem; }

.p-rcbenefit__item h3 {
	font-family: var(--font-gothic);
	font-weight: 700;
	font-size: 1.8rem;
	line-height: 1.8;
	color: var(--c-blue);
}

.p-rcbenefit__item p {
	font-size: 1.6rem;
	line-height: 1.7;
	color: var(--c-text);
}

.p-rcbenefit__illust {
	position: absolute;
	right: -3.6rem;
	bottom: -1.6rem;
	width: 12.7rem;
}

.p-rcbenefit__illust img { width: 100%; height: auto; }

/* =========================================================
   選考について
   ========================================================= */
.p-rcstep {
	padding: 17.9rem 0 15rem;
	background: #fff;
}

.p-rcstep__list {
	position: relative;
	display: flex;
	justify-content: space-between;
	width: min(100% - 34rem, 110rem);
	margin: 6rem auto 0;
}

.p-rcstep__list::before {
	content: "";
	position: absolute;
	left: 9.2rem;
	right: 9.2rem;
	top: 50%;
	border-top: 1px dashed var(--c-accent);
}

.p-rcstep__item {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 1rem;
	width: 18.5rem;
	height: 18.5rem;
	border: 1px solid var(--c-accent);
	border-radius: 50%;
	background: #fff;
	text-align: center;
}

.p-rcstep__item--fill {
	border-color: transparent;
	background: linear-gradient(180deg, var(--c-blue) 0%, var(--c-blue-deep) 100%);
}

.p-rcstep__no {
	font-family: var(--font-en);
	font-weight: 200;
	font-size: 1.6rem;
	line-height: 1.2;
	color: var(--c-blue);
}

.p-rcstep__label {
	font-family: var(--font-gothic);
	font-weight: 500;
	font-size: 2rem;
	line-height: 1.55;
	color: var(--c-main);
}

.p-rcstep__item--fill .p-rcstep__no,
.p-rcstep__item--fill .p-rcstep__label { color: #fff; }

/* =========================================================
   エントリー
   ========================================================= */
.p-recruit .c-breadcrumb { padding-top: 12rem; }

.p-rcoutro {
	padding: 15rem 0;
	background: #001128;
	text-align: center;
}

.p-rcoutro__title {
	font-family: var(--font-mincho);
	font-weight: 500;
	font-size: 4rem;
	line-height: 2;
	letter-spacing: .06em;
	color: #fff;
}

.p-rcoutro__lead {
	margin-top: 2.2rem;
	font-size: 1.6rem;
	line-height: 2;
	color: #fff;
}

.p-rcoutro__btn {
	display: flex;
	justify-content: center;
	margin-top: 2.2rem;
}

/* =========================================================
   SP（FigmaのSPデザイン「採用情報_SP」390px 基準／1rem = 10px）
   ========================================================= */
@media screen and (max-width: 1023px) {

	/* ---------- 共通：セクション見出し ---------- */
	.p-rcsec__head { gap: .8rem; }
	.p-rcsec__en { font-size: 1.8rem; line-height: 1.2; }
	.p-rcsec__title { font-size: 2.4rem; line-height: 1.45; }

	/* ---------- 画像ループ（Figma: 幅182.73／背高216・背低125.45／間隔10.91） ---------- */
	.p-recruit .p-imgloop { height: 21.6rem; }
	.p-recruit .p-imgloop__group { height: 21.6rem; gap: 1.091rem; padding-right: 1.091rem; }
	.p-recruit .p-imgloop__item { width: 18.273rem; }
	.p-recruit .p-imgloop__item--tall { height: 21.6rem; }
	.p-recruit .p-imgloop__item--short { height: 12.545rem; }

	/* =========================================================
	   MV（Figma: 高さ700）
	   ========================================================= */
	.p-rchero { height: 70rem; padding-bottom: 0; }

	/* 写真は908x700を左に-259ずらした位置（Figmaどおりのトリミング）。
	   画面幅に対する比率で置くことで、どの幅でも同じ構図になる */
	.p-rchero__bg > picture img {
		position: absolute;
		left: -66.41%;
		top: 0;
		width: 232.85%;
		max-width: none;
		height: 100%;
	}

	/* モチーフは326.13x428.99を回転させて置く（回転後の位置はFigmaの実測値） */
	/* Figmaは写真にoverlayで重ねている（soft-lightだと沈んで見えない） */
	.p-rchero__motif { width: 83.62%; opacity: .7; mix-blend-mode: overlay; }
	.p-rchero__motif--l { left: -6.81%; top: 25.75rem; transform: rotate(-31.72deg); }
	.p-rchero__motif--r { left: 10.62%; top: -8.35rem; transform: rotate(148.28deg); }

	.p-rchero__stage { height: 100%; padding: 0; }

	.p-rchero__sub { display: block; border-radius: .42rem; box-shadow: 0 .6rem 1.8rem rgba(0, 17, 40, .18); }
	.p-rchero__sub--01 { left: 0; top: 2.1rem; width: 12.7rem; height: 9.6rem; }
	.p-rchero__sub--02 { left: auto; right: 0; top: 7.6rem; width: 10.9rem; height: 7.2rem; border-radius: 1rem; }
	.p-rchero__sub--03 { left: auto; right: 2.4rem; top: 57.5rem; width: 15.6rem; height: 9.8rem; }

	.p-rchero__label {
		display: block;
		left: auto;
		right: 2.4rem;
		top: 40.9rem;
		padding: .631rem;
		border-width: .631px;
		border-radius: .631rem;
		font-size: 1.514rem;
		line-height: 1.19;
	}

	/* キャッチは1行目28px・2行目36pxで級数が違う */
	.p-rchero__catch { left: 2.4rem; top: 39.7rem; letter-spacing: 0; }
	.p-rchero__catch span:nth-child(1) { font-size: 2.8rem; line-height: 4rem; }
	.p-rchero__catch span:nth-child(2) { font-size: 3.6rem; line-height: 4.25rem; }

	/* タグは2行がそれぞれ独立したチップ */
	.p-rchero__tag {
		left: 2.4rem;
		top: 50.4rem;
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		gap: .792rem;
		padding: 0;
		background: none;
	}

	.p-rchero__tag span {
		padding: .2rem .6rem;
		background: linear-gradient(90deg, var(--c-accent) 0%, var(--c-blue-deep) 100%);
		font-size: 1.488rem;
		line-height: 2.108rem;
	}

	/* =========================================================
	   MESSAGE（Figma: 高さ549）
	   ========================================================= */
	.p-rcmsg { height: 54.9rem; padding: 0; }

	/* 背景写真は1264.59x620を左に-437ずらした位置 */
	.p-rcmsg__bg {
		left: -112.05%;
		top: 0;
		right: auto;
		bottom: auto;
		width: 324.25%;
		height: 62rem;
	}

	.p-rcmsg__stage { padding: 6rem 2.4rem 0; }
	.p-rcmsg__en { font-size: 3.4rem; line-height: 1.2; }
	.p-rcmsg__body { margin-top: 3rem; font-size: 1.5rem; line-height: 1.8; }

	/* Figmaは段落の間に1行ぶんの空きが入る */
	.p-rcmsg__body p:nth-child(2),
	.p-rcmsg__body p:nth-child(3),
	.p-rcmsg__body p:nth-child(5) { margin-top: 2.7rem; }

	.p-rcmsg .p-marquee { height: 3.4rem; }
	.p-rcmsg .p-marquee__text { font-size: 4.35rem; line-height: .78; color: #d8e3f0; }
	.p-rcmsg .p-marquee__icon img { width: 4.364rem; height: 3.094rem; }

	/* =========================================================
	   大切にしている価値観
	   ========================================================= */
	.p-rcvalues { padding: 8rem 2.4rem 19.1rem; }

	.p-rcvalues__list {
		display: flex;
		flex-direction: column;
		gap: 1.6rem;
		margin-top: 4rem;
		max-width: none;
	}

	.p-rcvalue { gap: 2.4rem; padding: 3rem 2rem; min-height: 0; }
	.p-rcvalue__media { height: 19rem; }
	.p-rcvalue__title { font-size: 2rem; line-height: 1.3; }
	.p-rcvalue__text { font-size: 1.5rem; line-height: 1.5; }

	/* =========================================================
	   WorldShiftで働く3つの魅力
	   ========================================================= */
	.p-rcfeature { padding: 18.5rem 2.4rem 8rem; }
	.p-rcfeature__bg { left: 0; right: 0; }
	.p-rcfeature__bg img { object-position: bottom; }

	.p-rcfeature__grad {
		top: 54rem;
		bottom: 0;
		height: auto;
		background: linear-gradient(180deg, rgba(0, 70, 151, 0) 0%, rgba(0, 70, 151, .43) 79.5%);
	}

	.p-rcfeature .p-imgloop { left: 0; right: 0; top: -11.1rem; }
	.p-rcfeature__inner { padding: 0; }

	.p-rcfeature__list,
	.p-rcprocess__list {
		display: flex;
		flex-direction: column;
		gap: 1.6rem;
		max-width: none;
	}

	.p-rcfeature__list { margin-top: 4rem; }

	.p-rccard { gap: 1.6rem; padding: 2.8rem 2.6rem; min-height: 0; }
	.p-rccard__no { font-size: 2.4rem; }
	.p-rccard__title { font-size: 2rem; line-height: 1.45; }
	.p-rccard__text { font-size: 1.5rem; line-height: 1.5; }

	/* =========================================================
	   最新のツールで、仕事の価値を変える
	   ========================================================= */
	.p-rcprocess { padding: 8rem 2.4rem; }
	.p-rcprocess__list { margin-top: 3rem; }

	/* 中身の間隔はPC同様マージンで作るのでgapは0に戻す */
	.p-rccard--process { gap: 0; padding: 2.8rem 2.6rem; min-height: 0; }
	.p-rccard--process .p-rccard__no { font-size: 2rem; }
	.p-rccard__en { font-size: 3.2rem; }

	.p-rccard__lead {
		font-size: 2rem;
		line-height: 1.3;
		background: linear-gradient(90deg, var(--c-accent) 0%, var(--c-blue-deep) 100%);
		-webkit-background-clip: text;
		background-clip: text;
		color: transparent;
	}

	.p-rccard__icon--wide { width: 19.775rem; height: 18.033rem; }
	.p-rccard--process .p-rccard__text { padding-bottom: 0; }

	/* =========================================================
	   求める人物像（SPは2列）
	   ========================================================= */
	.p-rcideal { padding: 8rem 2.4rem; }

	.p-rcideal__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		margin-top: 3rem;
		max-width: none;
		background: #fff;
	}

	.p-rcideal__cell {
		min-height: 0;
		padding: 1.4rem 1rem;
		border-width: .467px;
		border-color: var(--c-accent);
		margin: 0;
	}

	.p-rcperson { align-items: center; }

	.p-rcperson__media {
		width: 83.4%;
		height: auto;
		aspect-ratio: 143 / 142;
		border-radius: .467rem;
		overflow: hidden;
	}

	.p-rcperson__body { padding: .935rem .4rem 0; }

	.p-rcperson__title {
		font-size: 1.8rem;
		line-height: 1.3;
		background: linear-gradient(90deg, var(--c-accent) 0%, var(--c-blue-deep) 100%);
		-webkit-background-clip: text;
		background-clip: text;
		color: transparent;
	}

	.p-rcperson__text { margin-top: .748rem; font-size: 1.4rem; line-height: 1.5; color: #000; }

	/* =========================================================
	   数字で見るワールドシフト（SPは1列・背景写真なし）
	   ========================================================= */
	.p-rcnum { padding: 8rem 2.4rem 18rem; }

	.p-rcnum__grid {
		display: flex;
		flex-direction: column;
		gap: 1.6rem;
		margin-top: 3rem;
		max-width: none;
	}

	.p-rcstat,
	.p-rcstat--wide,
	.p-rcstat--tall {
		position: static;
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: 1.4rem;
		grid-column: auto;
		height: auto;
		margin: 0;
		padding: 4rem 1.4rem;
	}

	.p-rcstat__bg { display: none; }

	.p-rcstat__label,
	.p-rcstat__figure,
	.p-rcstat__sub,
	.p-rcstat__text,
	.p-rcstat--tall .p-rcstat__label,
	.p-rcstat--tall .p-rcstat__figure,
	.p-rcstat--tall .p-rcstat__text {
		position: static;
		left: auto;
		right: auto;
		top: auto;
		transform: none;
	}

	.p-rcstat__label { font-size: 2rem; }
	.p-rcstat__figure { gap: .4rem; }
	.p-rcstat__pre { font-size: 1.99rem; }
	.p-rcstat__value { font-size: 12.126rem; line-height: .8; }
	.p-rcstat__unit { margin-bottom: 0; font-size: 5.223rem; }
	.p-rcstat--tall .p-rcstat__value { font-size: 13.693rem; }
	.p-rcstat--tall .p-rcstat__unit { margin-bottom: 0; font-size: 8.41rem; }
	.p-rcstat__sub { margin-top: -1.4rem; font-size: 3.2rem; }

	.p-rcstat__text,
	.p-rcstat--tall .p-rcstat__text {
		width: 100%;
		margin: 0;
		padding: 0;
		font-size: 1.5rem;
		line-height: 1.8;
		text-align: left;
	}

	/* 画像ループはセクションの下端をまたぐ */
	.p-rcnum .p-imgloop { left: 0; right: 0; top: auto; bottom: -11.5rem; margin-top: 0; }

	/* =========================================================
	   募集要項（SPは項目名を中央・内容を下に積む）
	   ========================================================= */
	.p-rcjob { padding: 19.5rem 2.4rem 0; }
	.p-rcjob__table { width: 100%; max-width: none; margin-top: 3rem; }

	.p-rcjob__row {
		flex-direction: column;
		align-items: stretch;
		gap: 2rem;
		font-size: 1.6rem;
		line-height: 1.7;
	}

	.p-rcjob__row dt {
		width: auto;
		font-family: var(--font-gothic);
		font-weight: 500;
		font-size: 2rem;
		text-align: center;
	}

	.p-rcjob__row dd { color: #707070; }

	/* =========================================================
	   待遇・環境
	   ========================================================= */
	.p-rcbenefit { padding: 3rem 2.4rem 8rem; }

	.p-rcbenefit__panel {
		flex-direction: column;
		gap: 2.8rem;
		width: 100%;
		max-width: none;
		padding: 6rem 1.7rem 6.8rem;
		border-radius: 0;
	}

	.p-rcbenefit__head { width: auto; text-align: center; }
	.p-rcbenefit__en { font-size: 1.8rem; line-height: 1.2; color: #d8e3f0; }

	.p-rcbenefit__title {
		margin-top: .288rem;
		font-size: 2.4rem;
		line-height: 1.3;
		background: linear-gradient(90deg, var(--c-accent) 0%, var(--c-blue-deep) 100%);
		-webkit-background-clip: text;
		background-clip: text;
		color: transparent;
	}

	.p-rcbenefit__list { gap: 1.6rem; }

	.p-rcbenefit__item h3 {
		font-size: 1.8rem;
		line-height: 1.32;
		background: linear-gradient(90deg, var(--c-accent) 0%, var(--c-blue-deep) 100%);
		-webkit-background-clip: text;
		background-clip: text;
		color: transparent;
	}

	.p-rcbenefit__item p { font-size: 1.5rem; line-height: 1.7; color: #707070; }
	.p-rcbenefit__illust { display: block; right: 1.956rem; bottom: -4.718rem; width: 9.144rem; }

	/* =========================================================
	   選考について（SPは縦一列）
	   ========================================================= */
	.p-rcstep { padding: 8rem 2.4rem; }

	.p-rcstep__list {
		flex-direction: column;
		align-items: center;
		gap: 3rem;
		width: 100%;
		margin-top: 3rem;
	}

	.p-rcstep__list::before {
		left: 50%;
		right: auto;
		top: 9.25rem;
		bottom: 9.25rem;
		width: 1px;
		border: 0;
		background: linear-gradient(180deg, var(--c-blue-deep) 0%, var(--c-accent) 100%);
		transform: translateX(-50%);
	}

	.p-rcstep__item { width: 18.5rem; height: 18.5rem; gap: 1rem; border-width: 2px; }
	.p-rcstep__no { font-size: 1.6rem; color: var(--c-main); }
	.p-rcstep__label { font-size: 2.4rem; line-height: 1.3; }

	/* SPは1・5番目が白丸、2〜4番目が塗り */
	.p-rcstep__item--fill { border-color: var(--c-accent); background: #fff; }
	.p-rcstep__item--fill .p-rcstep__no,
	.p-rcstep__item--fill .p-rcstep__label { color: var(--c-main); }

	.p-rcstep__item--spfill {
		border-color: transparent;
		background: linear-gradient(209.57deg, #5ea9e6 7.83%, #004697 92.17%);
	}

	.p-rcstep__item--spfill .p-rcstep__no,
	.p-rcstep__item--spfill .p-rcstep__label { color: #fff; }

	/* =========================================================
	   エントリー
	   ========================================================= */
	/* パンくずの上余白はSP共通（page.css の 3rem ≒ Figma 28px）に揃える */
	.p-recruit .c-breadcrumb { padding-top: 3rem; }

	.p-rcoutro { padding: 7.2rem 2.4rem; }
	.p-rcoutro__title { font-size: 4rem; line-height: 1.5; letter-spacing: 0; }
	.p-rcoutro__lead { margin-top: 2.2rem; font-size: 1.5rem; line-height: 2; opacity: .92; }
	.p-rcoutro__btn { margin-top: 2.2rem; }
}
