/* 新卒・中途ランディング共通スタイル */
/* app.css ul li { list-style: square } より後に読み込む前提で打ち消し */
.page-recruit-landing ul.section-rl-data__cards > li,
.page-recruit-landing ul.section-rl-interview__list > li,
.page-recruit-landing ol.section-rl-training__list > li,
.page-recruit-landing ol.section-rl-career__timeline > li {
  list-style: none;
}

.page-recruit-landing {
  --rl-vw: min(10px, calc(100vw / 1425 * 10));
  --rl-red: #e60012;
  --rl-red-grad: linear-gradient(90deg, #e60012 0%, #e85923 100%);
  --rl-gray: #f5f5f5;
  --rl-black: #000;
  --rl-max: calc(112 * var(--rl-vw));
  color: var(--rl-black);
  font-family: "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", "Noto Sans JP", sans-serif;
  overflow-x: hidden;
}

.page-recruit-landing .rl-label {
  margin: 0 0 calc(0.8 * var(--rl-vw));
  font-size: calc(1.4 * var(--rl-vw));
  font-weight: 700;
  letter-spacing: 0.08em;
  color: var(--rl-red);
}

.page-recruit-landing .rl-label--center {
  text-align: center;
}

.page-recruit-landing .rl-heading {
  margin: 0 0 calc(4 * var(--rl-vw));
  font-size: calc(3.2 * var(--rl-vw));
  font-weight: 700;
  line-height: 1.4;
}

.page-recruit-landing .rl-heading--center {
  text-align: center;
}

.page-recruit-landing .is-accent {
  color: var(--rl-red);
}

.page-recruit-landing .rl-btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: calc(30 * var(--rl-vw));
  min-width: calc(30 * var(--rl-vw));
  height: calc(5.6 * var(--rl-vw));
  padding: 0 calc(4 * var(--rl-vw)) 0 calc(2 * var(--rl-vw));
  border-radius: calc(5 * var(--rl-vw));
  font-size: calc(1.6 * var(--rl-vw));
  font-weight: 500;
  line-height: calc(2.4 * var(--rl-vw));
  text-decoration: none;
  box-sizing: border-box;
  transition: opacity 0.2s;
}

.page-recruit-landing .rl-btn:hover {
  opacity: 0.85;
  text-decoration: none;
}

.page-recruit-landing .rl-btn--primary {
  background: linear-gradient(90deg, #ff0000 0%, #e85923 100%);
  color: #fff;
  border: none;
}

.page-recruit-landing .rl-btn--outline {
  background: linear-gradient(90deg, #ffffff 0%, #f5f5f5 100%);
  color: var(--rl-black);
  border: 1px solid #ff0000;
  border-radius: calc(5 * var(--rl-vw));
}

.page-recruit-landing .rl-btn__icon {
  position: absolute;
  right: calc(3 * var(--rl-vw));
  top: 50%;
  width: calc(1 * var(--rl-vw));
  height: calc(1.125 * var(--rl-vw));
  transform: translateY(-50%);
  transform-origin: center center;
  /* Figmaポリゴンは右向き。他CSSのrotateを打ち消す */
  rotate: none;
}

/* ----- MV ----- */
.section-rl-mv {
  position: relative;
  /* Figmaグラデ端色。画像左端のフェードと馴染ませる */
  background: #f5f5f5;
}

.section-rl-mv__inner {
  position: relative;
  display: flex;
  max-width: calc(142.5 * var(--rl-vw));
  margin: 0 auto;
  min-height: calc(74 * var(--rl-vw));
  height: calc(74 * var(--rl-vw));
}

.section-rl-mv__content {
  position: relative;
  z-index: 2;
  /* Figma: 左100 + ボタン2つ610（カード609より広い） */
  width: calc(72 * var(--rl-vw));
  max-width: 58%;
  padding: calc(10 * var(--rl-vw)) 0 calc(8 * var(--rl-vw)) calc(10 * var(--rl-vw));
  box-sizing: border-box;
}

/* グラデ焼き込み画像を右配置・MV高さに合わせる（幅は比率任せ） */
.section-rl-mv__photo {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 1;
  width: auto;
  height: 100%;
  overflow: hidden;
  pointer-events: none;
}

.section-rl-mv__photo img {
  display: block;
  width: auto;
  height: 100%;
  max-width: none;
  object-fit: contain;
  object-position: right center;
}

.section-rl-mv__title {
  margin: 0 0 calc(4 * var(--rl-vw));
  font-size: calc(4.8 * var(--rl-vw));
  font-weight: 700;
  line-height: calc(6 * var(--rl-vw));
}

.section-rl-mv__title .is-accent {
  font-size: calc(6.4 * var(--rl-vw));
  line-height: calc(8 * var(--rl-vw));
  color: #ff0000;
}

.section-rl-mv__lead {
  margin: 0 0 calc(1.6 * var(--rl-vw));
  font-size: calc(3 * var(--rl-vw));
  font-weight: 700;
  line-height: calc(3.8 * var(--rl-vw));
}

.section-rl-mv__text {
  margin: 0 0 calc(7.8 * var(--rl-vw));
  font-size: calc(1.8 * var(--rl-vw));
  font-weight: 500;
  line-height: calc(2.4 * var(--rl-vw));
}

.section-rl-mv__btns {
  display: flex;
  flex-wrap: nowrap;
  gap: calc(1 * var(--rl-vw));
  margin-bottom: calc(4 * var(--rl-vw));
}

.section-rl-mv__btns .rl-btn {
  flex: 0 0 calc(30 * var(--rl-vw));
}

.section-rl-mv__points {
  display: flex;
  gap: calc(1.2 * var(--rl-vw));
  margin: 0;
  padding: 0;
  list-style: none;
}

.section-rl-mv__points li {
  display: flex;
  align-items: center;
  gap: calc(1.8 * var(--rl-vw));
  width: calc(19.5 * var(--rl-vw));
  height: calc(10 * var(--rl-vw));
  padding: 0 calc(1.8 * var(--rl-vw)) 0 calc(2 * var(--rl-vw));
  background: #fff;
  border-radius: calc(0.5 * var(--rl-vw));
  box-shadow: 0 0 calc(2 * var(--rl-vw)) calc(0.1 * var(--rl-vw)) rgba(0, 0, 0, 0.1);
  box-sizing: border-box;
}

.section-rl-mv__point-icon {
  flex-shrink: 0;
  object-fit: contain;
}

.section-rl-mv__point-icon--timer {
  width: calc(3 * var(--rl-vw));
  height: calc(3.7 * var(--rl-vw));
}

.section-rl-mv__point-icon--chart {
  width: calc(3 * var(--rl-vw));
  height: calc(3 * var(--rl-vw));
}

.section-rl-mv__point-icon--location {
  width: calc(4 * var(--rl-vw));
  height: calc(4 * var(--rl-vw));
}

.section-rl-mv__points p {
  margin: 0;
  font-size: calc(1.6 * var(--rl-vw));
  font-weight: 500;
  line-height: calc(2.2 * var(--rl-vw));
}

.section-rl-mv__points .point-em {
  color: #ff0000;
}

.section-rl-mv__points .point-em__lg {
  font-size: calc(2.4 * var(--rl-vw));
  font-weight: 700;
  line-height: calc(2.2 * var(--rl-vw));
}

.section-rl-mv__points .point-em__sm {
  font-size: calc(1.6 * var(--rl-vw));
  font-weight: 700;
  line-height: calc(2.2 * var(--rl-vw));
}


/* 中途MV: Figma #127:105 — 本文→リード(24px)→ボタン→特徴4枚 */
.page-recruit-landing--mid-career .section-rl-mv__content {
  width: calc(92 * var(--rl-vw));
  max-width: none;
}

.page-recruit-landing--mid-career .section-rl-mv__title {
  /* Figma: y100 / 48px・lh60 → 本文 y220 */
  margin-bottom: calc(4 * var(--rl-vw));
}

.page-recruit-landing--mid-career .section-rl-mv__text {
  /* Figma: y220 / 18px Medium・lh24 → リード y308 */
  margin-bottom: calc(4 * var(--rl-vw));
  font-size: calc(1.8 * var(--rl-vw));
  font-weight: 500;
  line-height: calc(2.4 * var(--rl-vw));
}

.page-recruit-landing--mid-career .section-rl-mv__lead {
  /* Figma: y308 / 24px Bold・lh38 → ボタン y464 */
  margin-bottom: calc(8 * var(--rl-vw));
  font-size: calc(2.4 * var(--rl-vw));
  font-weight: 700;
  line-height: calc(3.8 * var(--rl-vw));
}

/* 中途MV: 特徴カード 195×100 / カード間12 / 左20・アイコン枠40・テキスト開始≈78 */
.section-rl-mv__points--four {
  flex-wrap: nowrap;
  gap: calc(1.2 * var(--rl-vw));
}

.section-rl-mv__points--four li {
  width: calc(19.5 * var(--rl-vw));
  height: calc(10 * var(--rl-vw));
  min-height: 0;
  /* Figma: 左余白20 + アイコン枠40 + gap18 → テキスト x+78 */
  padding: 0 calc(1.8 * var(--rl-vw)) 0 calc(2 * var(--rl-vw));
  gap: calc(1.8 * var(--rl-vw));
  align-items: center;
  box-sizing: border-box;
}

.section-rl-mv__points--four p {
  font-size: calc(1.6 * var(--rl-vw));
  font-weight: 500;
  line-height: calc(2.2 * var(--rl-vw));
}

.section-rl-mv__points--four .point-em__lg {
  font-size: calc(2.4 * var(--rl-vw));
  line-height: calc(2.2 * var(--rl-vw));
}

.section-rl-mv__points--four .point-em__sm {
  font-size: calc(1.6 * var(--rl-vw));
  line-height: calc(2.2 * var(--rl-vw));
}

/* Figma: 「以上」「歳」は黒・15px（赤の強調外） */
.section-rl-mv__points--four .point-plain {
  color: #000;
  font-size: calc(1.5 * var(--rl-vw));
  font-weight: 500;
  line-height: calc(2.4 * var(--rl-vw));
}

/* Figma: 各カード左に 40×40 のアイコン枠。実寸は object-fit で収める */
.section-rl-mv__points--four .section-rl-mv__point-icon {
  flex: 0 0 calc(4 * var(--rl-vw));
  width: calc(4 * var(--rl-vw));
  height: calc(4 * var(--rl-vw));
  object-fit: contain;
  object-position: center;
}

.section-rl-mv__point-icon--mid-01,
.section-rl-mv__point-icon--mid-02,
.section-rl-mv__point-icon--mid-03,
.section-rl-mv__point-icon--mid-04 {
  /* 枠サイズは親ルール側。個別上書き不要 */
  width: calc(4 * var(--rl-vw));
  height: calc(4 * var(--rl-vw));
}


/* ----- MESSAGE ----- */
/* Figma: 写真400×500 / 本文幅680（3行目が折り返さない幅） / 署名右端 */
/* セクション間余白（Figmaフレーム間隔）: MV→80 / →Reasons80 / →Training100 / →Interview120 / →Career120 / →Event67 */
.page-recruit-landing .section-rl-mv,
.page-recruit-landing .section-rl-message,
.page-recruit-landing .section-rl-reasons,
.page-recruit-landing .section-rl-training,
.page-recruit-landing .section-rl-interview,
.page-recruit-landing .section-rl-career,
.page-recruit-landing .section-rl-event,
.page-recruit-landing .section-rl-faq,
.page-recruit-landing .section-rl-guideline,
.page-recruit-landing .section-rl-entry {
  margin: 0;
}

.section-rl-message {
  /* Figma: MV→MESSAGE 80 / MESSAGE枠下→REASONS枠上 80 */
  padding: calc(8 * var(--rl-vw)) 0 calc(8 * var(--rl-vw));
}

.section-rl-message__inner {
  display: flex;
  gap: calc(7.8 * var(--rl-vw)); /* 478 - 400 */
  /* 400 + 78 + 680 = 1158。1120だと本文が狭く3行目が折れる */
  width: calc(115.8 * var(--rl-vw));
  max-width: calc(115.8 * var(--rl-vw));
  margin: 0 auto;
  padding: 0;
  align-items: stretch;
  min-height: calc(50 * var(--rl-vw));
  box-sizing: border-box;
}

.section-rl-message__photo {
  flex: 0 0 calc(40 * var(--rl-vw));
  width: calc(40 * var(--rl-vw));
  max-width: none;
  height: calc(50 * var(--rl-vw));
  overflow: hidden;
}

.section-rl-message__photo img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center top;
}

.section-rl-message__body {
  flex: 0 0 calc(68 * var(--rl-vw));
  width: calc(68 * var(--rl-vw));
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding-top: calc(4 * var(--rl-vw));
  box-sizing: border-box;
}

.section-rl-message .rl-label--message {
  margin: 0;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: calc(1.8 * var(--rl-vw));
  font-weight: 500;
  line-height: calc(1.8 * var(--rl-vw));
  letter-spacing: 0.1em;
}

.section-rl-message__title {
  margin: calc(1 * var(--rl-vw)) 0 calc(4 * var(--rl-vw));
  max-width: calc(42.8 * var(--rl-vw));
  font-size: calc(3.6 * var(--rl-vw));
  font-weight: 700;
  line-height: calc(5.25 * var(--rl-vw));
  letter-spacing: -0.0117em;
}

.page-recruit-landing--mid-career .section-rl-message__title {
  /* Figma #127:203: 見出し幅535（42.8だと2行目が途中で折れる） */
  max-width: calc(53.5 * var(--rl-vw));
}

.section-rl-message__text {
  margin: 0;
  width: 100%;
  font-size: calc(1.5 * var(--rl-vw));
  font-weight: 400;
  line-height: calc(2.7 * var(--rl-vw));
}

.section-rl-message__sign {
  margin: calc(3 * var(--rl-vw)) 0 0 auto;
  display: flex;
  justify-content: flex-end;
  align-items: baseline;
  gap: calc(1.5 * var(--rl-vw));
  width: auto;
  text-align: right;
  font-size: calc(1.2 * var(--rl-vw));
  font-weight: 500;
  line-height: calc(5.25 * var(--rl-vw));
  letter-spacing: -0.035em;
}

.section-rl-message__sign strong {
  font-size: calc(2 * var(--rl-vw));
  font-weight: 500;
  letter-spacing: -0.021em;
}

/* ----- REASONS ----- */
/* Figma: カード210×240 / radius10 / shadow 0 0 20 rgba(0,0,0,.1) / gap18 */
.section-rl-reasons {
  /* Figma reasons: ラベル y60 / カード下端→枠下 80 / 枠下→TRAINING 100は training の padT */
  padding: calc(6 * var(--rl-vw)) 0 calc(8 * var(--rl-vw));
  background: rgba(245, 245, 245, 0.55);
}

.section-rl-reasons__inner {
  max-width: calc(112 * var(--rl-vw));
  margin: 0 auto;
  padding: 0;
}

.section-rl-reasons .rl-label--center {
  margin-bottom: calc(1 * var(--rl-vw));
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: calc(1.8 * var(--rl-vw));
  font-weight: 500;
  letter-spacing: 0.1em;
  color: #ff0000;
}

.section-rl-reasons .rl-heading--center {
  margin-bottom: calc(6 * var(--rl-vw));
  font-size: calc(3.6 * var(--rl-vw));
  line-height: 1.4;
}

.section-rl-reasons__list {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  gap: calc(1.8 * var(--rl-vw));
  margin: 0;
  padding: 0;
  list-style: none;
}

/* app.css の ul li { list-style: square } を打ち消す（黒四角の原因） */
.page-recruit-landing .section-rl-reasons__list > li {
  list-style: none;
  margin: 0;
  width: calc(21 * var(--rl-vw));
  min-width: 0;
  padding: calc(3 * var(--rl-vw)) calc(2.5 * var(--rl-vw)) calc(2 * var(--rl-vw));
  background: #fff;
  border-radius: calc(1 * var(--rl-vw));
  box-shadow: 0 0 calc(2 * var(--rl-vw)) 0 rgba(0, 0, 0, 0.1);
  text-align: center;
  box-sizing: border-box;
}

.section-rl-reasons__list img {
  display: block;
  width: calc(4 * var(--rl-vw));
  height: auto;
  margin: 0 auto calc(2 * var(--rl-vw));
  object-fit: contain;
}

.section-rl-reasons__list h3 {
  margin: 0 -1em calc(1 * var(--rl-vw));
  font-size: calc(2 * var(--rl-vw));
  font-weight: 700;
  line-height: calc(2.9 * var(--rl-vw));
}

.section-rl-reasons__list p {
  margin: 0;
  font-size: calc(1.4 * var(--rl-vw));
  font-weight: 400;
  line-height: calc(2 * var(--rl-vw));
  text-align: left;
}


/* ----- DATA（中途） Figma #127:204 1425×1455 ----- */
/* label y60 / heading y88·36px / growth 498×84@482,206 / stores 160@1075,161 */
/* chart 1120×535@153,342 / cards 894×438@266,937 / 下余白80 */
.section-rl-data {
  padding: calc(6 * var(--rl-vw)) 0 calc(8 * var(--rl-vw));
  background: rgba(245, 245, 245, 0.55);
}

.section-rl-data__inner {
  max-width: none;
  margin: 0 auto;
  padding: 0;
  box-sizing: border-box;
}

.section-rl-data .rl-label--center {
  margin: 0 0 calc(1 * var(--rl-vw));
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: calc(1.8 * var(--rl-vw));
  font-weight: 500;
  line-height: calc(1.8 * var(--rl-vw));
  letter-spacing: 0.1em;
  color: #ff0000;
}

.section-rl-data .rl-heading--center {
  margin: 0 0 calc(2.1 * var(--rl-vw));
  font-size: calc(3.6 * var(--rl-vw));
  font-weight: 700;
  line-height: calc(5.2 * var(--rl-vw));
}

.section-rl-data__highlight {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: calc(112 * var(--rl-vw));
  max-width: 100%;
  margin: 0 auto calc(2.1 * var(--rl-vw));
  padding-left: calc(32.9 * var(--rl-vw));
  padding-right: calc(3.8 * var(--rl-vw));
  box-sizing: border-box;
}

.section-rl-data__growth {
  display: flex;
  align-items: flex-start;
  flex: 0 0 calc(49.75 * var(--rl-vw));
  max-width: calc(49.75 * var(--rl-vw));
  margin-top: calc(0.7 * var(--rl-vw));
}

.section-rl-data__growth-main {
  flex: 1;
  min-width: 0;
}

.section-rl-data__growth-top {
  display: flex;
  align-items: flex-start;
  gap: calc(0.5 * var(--rl-vw));
  padding-top: calc(1.6 * var(--rl-vw));
}

.section-rl-data__growth-num {
  flex-shrink: 0;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: calc(4.8 * var(--rl-vw));
  font-weight: 700;
  line-height: calc(5.9 * var(--rl-vw));
  background: linear-gradient(90deg, #ff0000 0%, #e85923 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.section-rl-data__growth-label {
  margin-top: calc(1.1 * var(--rl-vw));
  font-size: calc(3 * var(--rl-vw));
  font-weight: 700;
  line-height: calc(4.3 * var(--rl-vw));
  color: #000;
  white-space: nowrap;
}

.section-rl-data__growth-line {
  display: block;
  width: calc(44 * var(--rl-vw));
  height: 1px;
  margin-top: calc(0.9 * var(--rl-vw));
  background: linear-gradient(90deg, #ff0000 0%, #e85923 100%);
}

.section-rl-data__growth-arrow {
  display: block;
  flex: 0 0 calc(9.25 * var(--rl-vw));
  width: calc(9.25 * var(--rl-vw));
  height: auto;
  margin: 0 0 0 calc(0.5 * var(--rl-vw));
}

.section-rl-data__stores {
  position: relative;
  flex: 0 0 calc(16 * var(--rl-vw));
  width: calc(16 * var(--rl-vw));
  height: calc(16 * var(--rl-vw));
  border-radius: 50%;
  background: linear-gradient(90deg, #ff0000 0%, #e85923 100%);
  box-sizing: border-box;
}

.section-rl-data__stores-label {
  position: absolute;
  top: calc(3.2 * var(--rl-vw));
  left: 50%;
  width: calc(7.6 * var(--rl-vw));
  margin: 0;
  font-size: calc(1.8 * var(--rl-vw));
  font-weight: 700;
  line-height: calc(2.6 * var(--rl-vw));
  color: #fff;
  text-align: center;
  white-space: nowrap;
  transform: translateX(-50%);
}

.section-rl-data__stores-body {
  position: absolute;
  top: calc(5.1 * var(--rl-vw));
  left: 0;
  width: 100%;
  height: calc(6.4 * var(--rl-vw));
}

.section-rl-data__stores-num {
  position: absolute;
  top: 0;
  left: calc(1.2 * var(--rl-vw));
  width: calc(7.6 * var(--rl-vw));
  margin: 0;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: calc(6 * var(--rl-vw));
  font-weight: 700;
  line-height: calc(7.3 * var(--rl-vw));
  color: #fff;
  text-align: center;
}

.section-rl-data__stores-unit {
  position: absolute;
  top: calc(2.9 * var(--rl-vw));
  left: calc(7.2 * var(--rl-vw));
  width: calc(7.6 * var(--rl-vw));
  margin: 0;
  font-size: calc(2.4 * var(--rl-vw));
  font-weight: 900;
  line-height: calc(3.5 * var(--rl-vw));
  color: #fff;
  text-align: center;
  white-space: nowrap;
}

.section-rl-data__chart {
  width: calc(112 * var(--rl-vw));
  max-width: 100%;
  margin: 0 auto calc(6 * var(--rl-vw));
}

.section-rl-data__cards {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: calc(1.8 * var(--rl-vw));
  width: calc(89.4 * var(--rl-vw));
  max-width: 100%;
  margin: 0 auto;
  padding: 0;
  list-style: none;
}

/* app.css の ul li { list-style: square } を打ち消す（黒四角の原因） */
.page-recruit-landing .section-rl-data__cards > li {
  list-style: none;
  margin: 0;
  padding: 0;
}

.section-rl-data__card {
  position: relative;
  flex: 0 0 calc(21 * var(--rl-vw));
  width: calc(21 * var(--rl-vw));
  height: calc(21 * var(--rl-vw));
  box-sizing: border-box;
  background: #fff;
  border-radius: calc(1 * var(--rl-vw));
  box-shadow: 0 0 calc(2 * var(--rl-vw)) rgba(0, 0, 0, 0.1);
}

.section-rl-data__card-icon-wrap {
  position: absolute;
  top: calc(3 * var(--rl-vw));
  left: 50%;
  width: calc(5 * var(--rl-vw));
  height: calc(5 * var(--rl-vw));
  transform: translateX(-50%);
  display: flex;
  align-items: center;
  justify-content: center;
}

.section-rl-data__card-icon {
  display: block;
  width: auto;
  max-width: 100%;
  max-height: 100%;
  height: auto;
  object-fit: contain;
}

.section-rl-data__card-sub {
  position: absolute;
  top: calc(8.7 * var(--rl-vw));
  left: 0;
  right: 0;
  margin: 0;
  font-size: calc(1.6 * var(--rl-vw));
  font-weight: 700;
  line-height: calc(2 * var(--rl-vw));
  text-align: center;
}

.section-rl-data__card-value {
  position: absolute;
  top: calc(8.1 * var(--rl-vw));
  left: 0;
  right: 0;
  display: flex;
  align-items: baseline;
  justify-content: center;
  flex-wrap: nowrap;
  gap: 0;
  margin: 0;
  text-align: center;
  white-space: nowrap;
}

.section-rl-data__card-value--ratio {
  top: calc(8.1 * var(--rl-vw));
  align-items: center;
  gap: calc(0.8 * var(--rl-vw));
}

.section-rl-data__card-value--period {
  top: calc(11.7 * var(--rl-vw));
  flex-wrap: nowrap;
}

.section-rl-data__card--income .section-rl-data__card-sub {
  top: calc(8.7 * var(--rl-vw));
}

.section-rl-data__card--income .section-rl-data__card-value {
  top: calc(10.1 * var(--rl-vw));
}

.section-rl-data__card--income .section-rl-data__card-label {
  top: calc(16 * var(--rl-vw));
}

.section-rl-data__card--promotion .section-rl-data__card-label--top {
  top: calc(9.1 * var(--rl-vw));
}

.section-rl-data__card--promotion .section-rl-data__card-value--period {
  top: calc(11.7 * var(--rl-vw));
}

.section-rl-data__card-num {
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: calc(4.8 * var(--rl-vw));
  font-weight: 700;
  line-height: calc(5.9 * var(--rl-vw));
  color: #ff0000;
}

.section-rl-data__card-unit {
  font-size: calc(2 * var(--rl-vw));
  font-weight: 700;
  line-height: calc(2.9 * var(--rl-vw));
  color: #000;
}

.section-rl-data__card-unit--red {
  color: #ff0000;
}

.section-rl-data__card-label {
  position: absolute;
  top: calc(15 * var(--rl-vw));
  left: 0;
  right: 0;
  margin: 0;
  font-size: calc(1.6 * var(--rl-vw));
  font-weight: 700;
  line-height: calc(2 * var(--rl-vw));
  text-align: center;
}

.section-rl-data__card-label--top {
  top: calc(9.1 * var(--rl-vw));
  margin: 0;
}

.section-rl-data__card-ratio {
  display: inline-flex;
  align-items: baseline;
}

.section-rl-data__card-percent {
  font-size: calc(2 * var(--rl-vw));
  font-weight: 700;
  line-height: calc(2.9 * var(--rl-vw));
  color: #ff0000;
}

.section-rl-data__card-slash {
  font-size: calc(1.6 * var(--rl-vw));
  font-weight: 700;
  line-height: calc(2 * var(--rl-vw));
  color: #000;
}

.section-rl-data__chart img {
  display: block;
  width: 100%;
  height: auto;
}

/* ----- TRAINING ----- */
/* Figma: 行1120×193 / 写真200×133@x132 / 本文@x362 / STEP14+数字36 / 見出し24 / 本文14/20 */
.section-rl-training {
  padding: calc(10 * var(--rl-vw)) 0 0; /* REASONS→TRAINING = 100 */
}

.section-rl-training__inner {
  max-width: var(--rl-max);
  margin: 0 auto;
  padding: 0;
}

.section-rl-training .rl-label--center {
  margin-bottom: calc(1 * var(--rl-vw));
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: calc(1.8 * var(--rl-vw));
  font-weight: 500;
  letter-spacing: 0.1em;
  color: #ff0000;
}

.section-rl-training .rl-heading--center {
  margin-bottom: calc(6 * var(--rl-vw));
  font-size: calc(3.6 * var(--rl-vw));
  line-height: calc(5.2 * var(--rl-vw));
}

.section-rl-training__list {
  margin: 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid #000;
}

.page-recruit-landing .section-rl-training__list > li {
  list-style: none;
  margin: 0;
  display: flex;
  align-items: flex-start; /* Figma: 見出し+本文は上揃え（y40） */
  min-height: calc(19.3 * var(--rl-vw));
  padding: calc(3 * var(--rl-vw)) 0; /* 写真 y30 */
  gap: 0;
  border-bottom: 1px solid #000;
  box-sizing: border-box;
}

.section-rl-training__step {
  flex: 0 0 calc(13.2 * var(--rl-vw)); /* 写真開始 x132 */
  padding-top: calc(4.1 * var(--rl-vw)); /* STEP y71 - 写真y30 */
  text-align: center;
  box-sizing: border-box;
}

.section-rl-training__step span {
  display: block;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: calc(1.4 * var(--rl-vw));
  font-weight: 500;
  line-height: calc(1.8 * var(--rl-vw));
  letter-spacing: 0.13em;
  color: #ff0000;
}

.section-rl-training__step b {
  display: block;
  margin-top: calc(1 * var(--rl-vw));
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: calc(3.6 * var(--rl-vw));
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.05em;
  color: #ff0000;
}

.section-rl-training__photo {
  flex: 0 0 calc(20 * var(--rl-vw));
  width: calc(20 * var(--rl-vw));
  height: calc(13.3 * var(--rl-vw));
  margin-right: calc(3 * var(--rl-vw)); /* 362 - 332 */
  overflow: hidden;
}

.section-rl-training__photo img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.section-rl-training__body {
  flex: 1 1 auto;
  min-width: 0;
  padding-top: calc(1 * var(--rl-vw)); /* 見出し y40 - 写真y30 */
  box-sizing: border-box;
}

.section-rl-training__body h3 {
  margin: 0 0 calc(1 * var(--rl-vw));
  font-size: calc(2.4 * var(--rl-vw));
  font-weight: 700;
  line-height: calc(3.5 * var(--rl-vw));
}

.section-rl-training__body p {
  margin: 0;
  max-width: calc(74 * var(--rl-vw));
  font-size: calc(1.4 * var(--rl-vw));
  font-weight: 400;
  line-height: calc(2 * var(--rl-vw));
}

/* ----- INTERVIEW ----- */
/* Figma card 545×460: 写真 absolute(285,2,260×458) / テキストはカード全面z上で幅315/290 */
.section-rl-interview {
  padding: calc(12 * var(--rl-vw)) 0 0; /* TRAINING→INTERVIEW = 120 */
  background: #fff;
}

.section-rl-interview__inner {
  max-width: var(--rl-max);
  margin: 0 auto;
  padding: 0;
}

.section-rl-interview .rl-label--center {
  margin-bottom: calc(1 * var(--rl-vw));
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: calc(1.8 * var(--rl-vw));
  font-weight: 500;
  letter-spacing: 0.1em;
  color: #ff0000;
}

.section-rl-interview .rl-heading--center {
  margin-bottom: calc(6 * var(--rl-vw));
  font-size: calc(3.6 * var(--rl-vw));
  line-height: 1.4;
}

.section-rl-interview__list {
  display: grid;
  grid-template-columns: calc(54.5 * var(--rl-vw)) calc(54.5 * var(--rl-vw));
  gap: calc(3 * var(--rl-vw));
  margin: 0;
  padding: 0;
  list-style: none;
  justify-content: center;
}

.page-recruit-landing .section-rl-interview__list > li {
  list-style: none;
  margin: 0;
  position: relative;
  width: calc(54.5 * var(--rl-vw));
  height: calc(46 * var(--rl-vw));
  overflow: hidden;
  color: #fff;
  background: linear-gradient(180deg, #bab9b9 0%, #414141 100%);
  box-sizing: border-box;
}

/* 下赤帯 */
.page-recruit-landing .section-rl-interview__list > li::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 3;
  height: calc(0.8 * var(--rl-vw));
  background: #ff0000;
}

/* テキスト: Figmaどおりカード内 absolute（余白積み上げのズレを排除） */
.section-rl-interview__meta {
  position: absolute;
  inset: 0;
  z-index: 2;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

.section-rl-interview__meta > * {
  margin: 0;
  padding: 0;
}

/* badge (30, 28, 140×30) — flex（inline-flexはbaselineで+2pxずれ） */
.section-rl-interview__badge {
  position: absolute;
  left: calc(3 * var(--rl-vw));
  top: calc(2.8 * var(--rl-vw));
  display: flex;
  align-items: center;
  justify-content: center;
  width: calc(14 * var(--rl-vw));
  height: calc(3 * var(--rl-vw));
  border-radius: calc(1.5 * var(--rl-vw));
  background: linear-gradient(90deg, #ff0000 0%, #e85923 100%);
  color: #fff;
  font-size: calc(1.6 * var(--rl-vw));
  font-weight: 700;
  line-height: 1;
  box-sizing: border-box;
}

/* name (30, 68) / EN (188, 91) */
.section-rl-interview__name {
  position: absolute;
  left: calc(3 * var(--rl-vw));
  top: calc(6.8 * var(--rl-vw));
  width: calc(31.5 * var(--rl-vw));
  height: calc(4.6 * var(--rl-vw));
}

.section-rl-interview__name h3 {
  margin: 0;
  font-size: calc(3.2 * var(--rl-vw));
  font-weight: 700;
  line-height: calc(4.6 * var(--rl-vw));
  color: #fff;
}

.section-rl-interview__name .en {
  position: absolute;
  left: calc(15.8 * var(--rl-vw));
  top: calc(2.3 * var(--rl-vw));
  margin: 0;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: calc(1.2 * var(--rl-vw));
  font-weight: 500;
  line-height: calc(1.8 * var(--rl-vw));
  color: #ff0000;
  white-space: nowrap;
}

/* school (30, 124, 315×52) */
.section-rl-interview__meta .school {
  position: absolute;
  left: calc(3 * var(--rl-vw));
  top: calc(12.4 * var(--rl-vw));
  width: calc(31.5 * var(--rl-vw));
  font-size: calc(1.8 * var(--rl-vw));
  font-weight: 700;
  line-height: calc(2.6 * var(--rl-vw));
  color: #fff;
}

/* 経歴ラベル (30, 196) */
.section-rl-interview__meta .label {
  position: absolute;
  left: calc(3 * var(--rl-vw));
  top: calc(19.6 * var(--rl-vw));
  font-size: calc(1.5 * var(--rl-vw));
  font-weight: 700;
  line-height: calc(2.2 * var(--rl-vw));
  color: #fff;
}

/* 区切り線 (30, 227, w290) */
.section-rl-interview__meta::before {
  content: "";
  position: absolute;
  left: calc(3 * var(--rl-vw));
  top: calc(22.7 * var(--rl-vw));
  width: calc(29 * var(--rl-vw));
  border-top: 1px solid #fff;
}

/* path (30, 241, 290×44) */
.section-rl-interview__meta .path {
  position: absolute;
  left: calc(3 * var(--rl-vw));
  top: calc(24.1 * var(--rl-vw));
  width: calc(29 * var(--rl-vw));
  font-size: calc(1.5 * var(--rl-vw));
  font-weight: 700;
  line-height: calc(2.2 * var(--rl-vw));
  color: #fff;
  border: none;
}

.section-rl-interview__meta .path .path-arrow {
  display: inline-block;
  width: calc(0.9 * var(--rl-vw));
  height: calc(0.9 * var(--rl-vw));
  margin: 0 calc(0.6 * var(--rl-vw));
  vertical-align: middle;
  font-style: normal;
  background: #fff;
  opacity: 0.5;
  clip-path: polygon(0 0, 100% 50%, 0 100%);
  /* app.css 等の i 向け打ち消し */
  speak: never;
}

/* comment (30, 295, 290×132) */
.section-rl-interview__meta .comment {
  position: absolute;
  left: calc(3 * var(--rl-vw));
  top: calc(29.5 * var(--rl-vw));
  width: calc(29 * var(--rl-vw));
  font-size: calc(1.3 * var(--rl-vw));
  font-weight: 400;
  line-height: calc(1.9 * var(--rl-vw));
  color: #fff;
}

/* 写真マスク: Mask group相当の切り抜き透過PNG（背景なし）。カードグラデが透ける */
.section-rl-interview__photo {
  position: absolute;
  top: calc(0.2 * var(--rl-vw));
  z-index: 1;
  margin: 0;
  overflow: hidden;
  pointer-events: none;
  background: transparent;
}

/* 若杉・小林 (285, 2, 260×458) */
.section-rl-interview__photo--wakasugi,
.section-rl-interview__photo--kobayashi {
  left: calc(28.5 * var(--rl-vw));
  width: calc(26 * var(--rl-vw));
  height: calc(45.8 * var(--rl-vw));
}

/* 池田 (280, 2, 260×458) */
.section-rl-interview__photo--ikeda {
  left: calc(28 * var(--rl-vw));
  width: calc(26 * var(--rl-vw));
  height: calc(45.8 * var(--rl-vw));
}

/* 今田 (325, 2, 220×458) */
.section-rl-interview__photo--konta {
  left: calc(32.5 * var(--rl-vw));
  width: calc(22 * var(--rl-vw));
  height: calc(45.8 * var(--rl-vw));
}

.section-rl-interview__photo img {
  display: block;
  width: 100%;
  height: 100%;
  margin: 0;
  object-fit: cover;
  object-position: center top;
}


/* 中途インタビュー: デザインカード(1090×920)実測に合わせた位置調整 */
.section-rl-interview--mid .rl-heading--center {
  margin-bottom: calc(6 * var(--rl-vw));
}

/* 背景: デザイン実測 #b4b3b3 → #494949（新卒よりやや明るめのグラデ） */
.page-recruit-landing .section-rl-interview--mid .section-rl-interview__list > li {
  background: linear-gradient(180deg, #b4b3b3 0%, #7d7d7d 50%, #494949 100%);
}

.section-rl-interview--mid .section-rl-interview__meta::before {
  display: none;
}

/* テキスト＋見出し線を写真より前面に（線が画像に重なって見える） */
.section-rl-interview--mid .section-rl-interview__meta {
  z-index: 4;
}

.section-rl-interview--mid .section-rl-interview__badge {
  top: calc(2.8 * var(--rl-vw));
  width: auto;
  max-width: calc(26 * var(--rl-vw));
  height: auto;
  min-height: calc(3 * var(--rl-vw));
  padding: calc(0.55 * var(--rl-vw)) calc(1.5 * var(--rl-vw));
  box-sizing: border-box;
  white-space: nowrap;
  font-size: calc(1.4 * var(--rl-vw));
}

/* 氏名＋英字を横並び（デザインどおり・baseline寄せ） */
.section-rl-interview--mid .section-rl-interview__name {
  top: calc(7.8 * var(--rl-vw));
  display: flex;
  flex-wrap: nowrap;
  align-items: baseline;
  gap: calc(1.2 * var(--rl-vw));
  width: calc(28 * var(--rl-vw));
  height: auto;
}

.section-rl-interview--mid .section-rl-interview__name h3 {
  flex: 0 0 auto;
  font-size: calc(3.2 * var(--rl-vw));
  line-height: 1.2;
  white-space: nowrap;
}

.section-rl-interview--mid .section-rl-interview__name .en {
  position: static;
  left: auto;
  top: auto;
  flex: 0 1 auto;
  font-size: calc(1.2 * var(--rl-vw));
  font-weight: 500;
  line-height: 1.2;
  white-space: nowrap;
}

/* 経歴ラベル y≈340 / 区切り線 y≈388 */
.section-rl-interview--mid .section-rl-interview__meta .label {
  top: calc(17 * var(--rl-vw));
  font-size: calc(1.5 * var(--rl-vw));
  line-height: 1.2;
}

.section-rl-interview--mid .section-rl-interview__meta .path {
  top: calc(20 * var(--rl-vw));
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: calc(0.3 * var(--rl-vw));
  width: auto;
  font-size: calc(1.5 * var(--rl-vw));
  line-height: calc(2.4 * var(--rl-vw));
  border: none;
  white-space: normal;
}

/* デザインどおり: 1行目「…▶ 店長 ▶」／2行目に3段目 */
.section-rl-interview--mid .section-rl-interview__meta .path .path-row {
  display: block;
  white-space: nowrap;
}

.section-rl-interview--mid .section-rl-interview__meta .path .path-arrow {
  background: #fff;
  width: calc(0.85 * var(--rl-vw));
  height: calc(0.85 * var(--rl-vw));
  margin: 0 calc(0.5 * var(--rl-vw));
}

/* 見出し線: デザイン実測 w≈29vw。写真より前面にして画像との重なりを明示 */
.section-rl-interview--mid .section-rl-interview__meta .label,
.section-rl-interview--mid .section-rl-interview__meta .label--role {
  z-index: 4;
}

.section-rl-interview--mid .section-rl-interview__meta .label::after,
.section-rl-interview--mid .section-rl-interview__meta .label--role::after {
  content: "";
  position: absolute;
  left: 0;
  display: block;
  width: calc(30 * var(--rl-vw));
  margin-top: calc(0.35 * var(--rl-vw));
  border-top: 1px solid #fff;
}

/* 現在の役職ラベル y≈560 / 区切り線 y≈606 / 役職 y≈620 */
.section-rl-interview--mid .section-rl-interview__meta .label--role {
  top: calc(28 * var(--rl-vw));
}

.section-rl-interview--mid .section-rl-interview__meta .role {
  position: absolute;
  left: calc(3 * var(--rl-vw));
  top: calc(31 * var(--rl-vw));
  z-index: 4;
  width: calc(25 * var(--rl-vw));
  margin: 0;
  font-size: calc(1.5 * var(--rl-vw));
  font-weight: 700;
  line-height: calc(2.2 * var(--rl-vw));
  color: #fff;
  border: none;
}

/* CTA: 既存 btn-interview をカード内に配置 */
.section-rl-interview--mid .section-rl-interview__meta .btn-interview {
  position: absolute;
  left: calc(3 * var(--rl-vw));
  bottom: calc(4.35 * var(--rl-vw));
  z-index: 5;
  margin: 0;
  text-decoration: none;
}

/* 写真: 見出し線が袖〜胴に掛かる位置へ（metaより背面） */
.section-rl-interview__photo--ogane,
.section-rl-interview__photo--yoshizumi,
.section-rl-interview__photo--yada {
  left: calc(27.5 * var(--rl-vw));
  width: calc(27 * var(--rl-vw));
  height: calc(44 * var(--rl-vw));
  top: calc(1.5 * var(--rl-vw));
  z-index: 1;
}

.section-rl-interview--mid .section-rl-interview__photo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: right bottom;
}

/* ----- CAREER ----- */
/* Figma #113:535: 2カラム年表。写真60×80 / タグ#f5f5f5 / 赤縦線+番号円 / 年目+見出し横並び */
.section-rl-career {
  padding: calc(12 * var(--rl-vw)) 0 0; /* INTERVIEW→CAREER = 120 */
  background: #fff;
}

.section-rl-career__inner {
  max-width: calc(111.9 * var(--rl-vw));
  margin: 0 auto;
  padding: 0;
}

.section-rl-career .rl-label--center {
  margin-bottom: calc(1 * var(--rl-vw));
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: calc(1.8 * var(--rl-vw));
  font-weight: 500;
  letter-spacing: 0.1em;
  color: #ff0000;
}

.section-rl-career .rl-heading--center {
  margin-bottom: calc(6 * var(--rl-vw));
  font-size: calc(3.6 * var(--rl-vw));
  line-height: 1.4;
}


.section-rl-career__lead {
  margin: calc(-3 * var(--rl-vw)) auto calc(6 * var(--rl-vw));
  max-width: calc(112 * var(--rl-vw));
  text-align: center;
  font-size: calc(1.8 * var(--rl-vw));
  font-weight: 500;
  line-height: 1.6;
  color: #333;
}

/* 中途 CAREER: Figma #127:559 — リード文あり・タグなし */
.page-recruit-landing--mid-career .section-rl-career--mid .rl-heading--center {
  margin-bottom: calc(2 * var(--rl-vw));
}

.page-recruit-landing--mid-career .section-rl-career--mid .section-rl-career__lead {
  margin: 0 auto calc(5 * var(--rl-vw));
  font-size: calc(1.5 * var(--rl-vw));
  font-weight: 400;
  line-height: calc(2.7 * var(--rl-vw));
  color: #000;
}

.page-recruit-landing--mid-career .section-rl-career--mid .section-rl-career__head-body h3 {
  margin-bottom: 0;
}

/* Figma #127:559: 見出し下端 ≒ イラスト下端（2px上）→ 上マージンで下寄せ */
.page-recruit-landing--mid-career .section-rl-career--mid .section-rl-career__head {
  align-items: flex-start;
}

.page-recruit-landing--mid-career .section-rl-career--mid .section-rl-career__head-body {
  padding-top: calc(4 * var(--rl-vw));
}


.section-rl-career__cols {
  display: grid;
  grid-template-columns: calc(54.5 * var(--rl-vw)) calc(54.5 * var(--rl-vw));
  column-gap: calc(2.9 * var(--rl-vw));
  justify-content: space-between;
}

.section-rl-career__col {
  min-width: 0;
}

.section-rl-career__head {
  display: flex;
  align-items: flex-start;
  gap: calc(1 * var(--rl-vw));
  margin-bottom: calc(3 * var(--rl-vw));
}

.section-rl-career__portrait {
  flex: 0 0 calc(6 * var(--rl-vw));
  width: calc(6 * var(--rl-vw));
  height: calc(8 * var(--rl-vw));
  overflow: hidden;
  background: #d9d9d9;
}

.section-rl-career__portrait img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
}

.section-rl-career__head-body {
  flex: 1;
  min-width: 0;
  padding-top: calc(0.2 * var(--rl-vw));
}

.section-rl-career__head-body h3 {
  margin: 0 0 calc(1 * var(--rl-vw));
  font-size: calc(2.6 * var(--rl-vw));
  font-weight: 700;
  line-height: calc(3.8 * var(--rl-vw));
  color: #000;
}

.section-rl-career__head-body .tag {
  display: block;
  box-sizing: border-box;
  width: 100%;
  max-width: calc(46.3 * var(--rl-vw));
  margin: 0;
  padding: calc(0.6 * var(--rl-vw)) calc(1 * var(--rl-vw));
  background: #f5f5f5;
  color: #000;
  font-family: Inter, "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: calc(1.4 * var(--rl-vw));
  font-weight: 500;
  line-height: 1.2;
}

.page-recruit-landing .section-rl-career__timeline {
  position: relative;
  margin: 0;
  padding: 0 0 0 calc(5.5 * var(--rl-vw));
  list-style: none;
}

/* 赤縦線 */
.page-recruit-landing .section-rl-career__timeline::before {
  content: "";
  position: absolute;
  left: calc(1.4 * var(--rl-vw));
  top: calc(1.5 * var(--rl-vw));
  bottom: calc(2 * var(--rl-vw));
  width: 1px;
  background: #ff0000;
}

.page-recruit-landing .section-rl-career__timeline > li {
  list-style: none;
  margin: 0;
  position: relative;
  display: grid;
  /* Figma: 年目 x54.9 / 本文 x127.82 w415 → 年カラム73 + 本文415 */
  grid-template-columns: calc(7.3 * var(--rl-vw)) calc(41.5 * var(--rl-vw));
  column-gap: 0;
  align-items: start;
  margin: 0;
  padding: calc(2 * var(--rl-vw)) 0;
  border-top: 1px solid #000;
}

.page-recruit-landing .section-rl-career__timeline > li:last-child {
  border-bottom: 1px solid #000;
}

.section-rl-career__timeline .num {
  position: absolute;
  left: calc(-5.5 * var(--rl-vw));
  top: calc(2 * var(--rl-vw));
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  width: calc(3 * var(--rl-vw));
  height: calc(3 * var(--rl-vw));
  border-radius: 50%;
  background: #ff0000;
  color: #fff;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: calc(1.6 * var(--rl-vw));
  font-weight: 700;
  line-height: 1;
  box-sizing: border-box;
}

.section-rl-career__timeline .year {
  margin: 0;
  padding-top: calc(0.2 * var(--rl-vw));
  font-size: calc(1.8 * var(--rl-vw));
  font-weight: 500;
  line-height: calc(2.6 * var(--rl-vw));
  color: #ff0000;
  white-space: nowrap;
}

.section-rl-career__timeline .content {
  width: calc(41.5 * var(--rl-vw));
  min-width: 0;
}

.section-rl-career__timeline h4 {
  margin: 0 0 calc(1 * var(--rl-vw));
  width: 100%;
  font-size: calc(2 * var(--rl-vw));
  font-weight: 700;
  line-height: calc(2.9 * var(--rl-vw));
  color: #000;
}

.section-rl-career__timeline .content > p {
  margin: 0;
  width: 100%;
  font-size: calc(1.4 * var(--rl-vw));
  font-weight: 400;
  line-height: calc(2 * var(--rl-vw));
  color: #000;
}

.section-rl-career__br {
  display: inline;
}

.section-rl-career__note {
  margin: calc(2 * var(--rl-vw)) 0 0;
  font-size: calc(1.2 * var(--rl-vw));
  font-weight: 500;
  line-height: calc(2.7 * var(--rl-vw));
  color: #888;
  text-align: right;
}

/* ----- EVENT ----- */
/* Figma #113:57: 見出し下線 / カード283・影 / 黒ナビ重ね / CTAピル */
.section-rl-event {
  /* CAREER枠下→EVENT見出し = 67 + 見出しy100 */
  padding: calc(16.7 * var(--rl-vw)) 0 0;
  background: #fff;
}

.section-rl-event__inner {
  max-width: calc(128.25 * var(--rl-vw));
  margin: 0 auto;
  padding: 0;
}

.section-rl-event__heading {
  margin: 0 0 calc(4 * var(--rl-vw));
  padding-bottom: calc(1 * var(--rl-vw));
  border-bottom: 1px solid #000;
  font-size: calc(4.2 * var(--rl-vw));
  font-weight: 700;
  line-height: calc(4.83 * var(--rl-vw));
  color: #000;
}

.section-rl-event__heading .sub {
  font-size: 50%;
  font-weight: 700;
}

.section-rl-event__slider {
  position: relative;
  width: 100%;
  margin: 0 auto;
  padding: calc(0.5 * var(--rl-vw)) 0;
  box-sizing: border-box;
}

.section-rl-event__track-wrap {
  overflow: hidden;
  width: calc(120.25 * var(--rl-vw));
  max-width: calc(100% - calc(10 * var(--rl-vw)));
  margin: 0 auto;
}

.section-rl-event__track {
  display: flex;
  gap: calc(2 * var(--rl-vw));
  margin: 0;
  padding: 0 0 calc(2 * var(--rl-vw));
  list-style: none;
  transition: transform 0.35s ease;
  will-change: transform;
}

.page-recruit-landing .section-rl-event__track > li,
.section-rl-event__track > li {
  list-style: none;
  margin: 0;
  flex: 0 0 calc(28.3 * var(--rl-vw));
  width: calc(28.3 * var(--rl-vw));
  background: #fff;
  border-radius: calc(0.5 * var(--rl-vw));
  box-shadow: 0 calc(0.2 * var(--rl-vw)) calc(1.5 * var(--rl-vw)) rgba(0, 0, 0, 0.16);
  overflow: hidden;
  box-sizing: border-box;
}

.section-rl-event__track a {
  display: block;
  color: inherit;
  text-decoration: none;
  padding: calc(1 * var(--rl-vw));
  box-sizing: border-box;
}

.section-rl-event__photo {
  width: 100%;
  /* PCカード内写真 26.3:14.8 ≒ 16:9。height固定せず比率で揃える */
  aspect-ratio: 16 / 9;
  height: auto;
  margin: 0;
  background: #f5f5f5;
  overflow: hidden;
}

.section-rl-event__photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.section-rl-event__date {
  margin: calc(1 * var(--rl-vw)) 0 calc(0.5 * var(--rl-vw));
  font-size: calc(1.4 * var(--rl-vw));
  font-weight: 400;
  line-height: calc(2.1 * var(--rl-vw));
  color: #999;
}

.section-rl-event__title {
  margin: 0;
  font-size: calc(1.6 * var(--rl-vw));
  font-weight: 400;
  line-height: calc(2.4 * var(--rl-vw));
  color: #000;
}

.page-recruit-landing .section-rl-event__nav {
  position: absolute;
  top: 50%;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  width: calc(4.2 * var(--rl-vw));
  height: calc(4.4 * var(--rl-vw));
  margin: 0;
  padding: 0;
  border: 1px solid #000;
  border-radius: calc(0.5 * var(--rl-vw));
  background: #000;
  background-image: none;
  color: #fff;
  box-shadow: none;
  transform: translateY(-50%);
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
}

.section-rl-event__nav:disabled {
  opacity: 0.35;
  cursor: default;
}

.section-rl-event__nav--prev {
  left: calc(1 * var(--rl-vw));
}

.section-rl-event__nav--next {
  right: calc(1 * var(--rl-vw));
}

.section-rl-event__nav-icon {
  display: block;
  width: calc(1.4 * var(--rl-vw));
  height: calc(1.4 * var(--rl-vw));
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  box-sizing: border-box;
}

.section-rl-event__nav--prev .section-rl-event__nav-icon {
  margin-left: calc(0.4 * var(--rl-vw));
  transform: rotate(-135deg);
}

.section-rl-event__nav--next .section-rl-event__nav-icon {
  margin-right: calc(0.4 * var(--rl-vw));
  transform: rotate(45deg);
}

.section-rl-event__more {
  margin-top: calc(2 * var(--rl-vw));
  text-align: center;
}

.section-rl-event__more a {
  display: inline-block;
  padding: calc(1 * var(--rl-vw)) calc(4 * var(--rl-vw));
  border: 1px solid #000;
  border-radius: calc(3 * var(--rl-vw));
  color: #000;
  font-size: calc(1.8 * var(--rl-vw));
  font-weight: 700;
  line-height: calc(2.7 * var(--rl-vw));
  text-decoration: none;
  transition: opacity 0.3s;
}

.section-rl-event__more a:hover {
  opacity: 0.8;
}

.section-rl-event__track .is-empty {
  flex: 1 1 100%;
  width: 100%;
  box-shadow: none;
  padding: calc(4 * var(--rl-vw));
  text-align: center;
}

/* ----- VLOG ----- */
/* Figma #113:621: 灰BG / カード353×gap30 / 画像353×199 / 氏名20・役職14・線・説明14 */
.page-recruit-landing .section-rl-vlog {
  /* 白ギャップ EVENT→VLOG=80 は margin、グレー内はラベルy60 + 下80 */
  margin: calc(8 * var(--rl-vw)) 0 0;
  padding: calc(6 * var(--rl-vw)) 0 calc(8 * var(--rl-vw));
  background: rgba(245, 245, 245, 0.55);
}

.section-rl-vlog__inner {
  /* カード x153〜1273 = 1120 */
  max-width: calc(112 * var(--rl-vw));
  margin: 0 auto;
  padding: 0;
}

.section-rl-vlog__label {
  margin: 0 0 calc(1 * var(--rl-vw));
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: calc(1.8 * var(--rl-vw));
  font-weight: 500;
  line-height: calc(1.8 * var(--rl-vw));
  letter-spacing: 0.1em;
  color: #ff0000;
  text-align: center;
}

.section-rl-vlog__heading {
  margin: 0 0 calc(5 * var(--rl-vw));
  font-size: calc(3.6 * var(--rl-vw));
  font-weight: 700;
  line-height: 1.45;
  text-align: center;
  color: #000;
}

.section-rl-vlog__list {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  gap: calc(3 * var(--rl-vw)); /* 536-153-353=30 */
  margin: 0;
  padding: 0;
  list-style: none;
}

.page-recruit-landing .section-rl-vlog__list > li {
  list-style: none;
  margin: 0;
  flex: 0 0 calc(35.3 * var(--rl-vw));
  width: calc(35.3 * var(--rl-vw));
}

.section-rl-vlog__video {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  height: auto;
  margin: 0 0 calc(1 * var(--rl-vw));
  background: #000;
  overflow: hidden;
}

.section-rl-vlog__video iframe {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}

.section-rl-vlog__name {
  margin: 0 0 calc(1 * var(--rl-vw));
  font-size: calc(2 * var(--rl-vw));
  font-weight: 700;
  line-height: calc(2.6 * var(--rl-vw));
  color: #000;
}

.section-rl-vlog__role {
  margin: 0 0 calc(1 * var(--rl-vw));
  font-size: calc(1.4 * var(--rl-vw));
  font-weight: 500;
  line-height: calc(1.9 * var(--rl-vw));
  color: #000;
}

.section-rl-vlog__desc {
  margin: 0;
  padding-top: calc(1 * var(--rl-vw));
  border-top: 1px solid #000;
  font-size: calc(1.4 * var(--rl-vw));
  font-weight: 400;
  line-height: calc(2 * var(--rl-vw));
  color: #000;
}

/* ----- FAQ ----- */
/* Figma #113:649: 2列(01-05 / 06-10) gap32 / 黒線 / 番号24赤 / Q18 / A灰BG15 */
.section-rl-faq {
  /* VLOG→FAQ = 100 */
  padding: calc(10 * var(--rl-vw)) 0 0;
  background: #fff;
}

.section-rl-faq__inner {
  max-width: calc(112 * var(--rl-vw));
  margin: 0 auto;
  padding: 0;
}

.section-rl-faq__label {
  margin: 0 0 calc(1 * var(--rl-vw));
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: calc(1.8 * var(--rl-vw));
  font-weight: 500;
  line-height: calc(1.8 * var(--rl-vw));
  letter-spacing: 0.1em;
  color: #ff0000;
  text-align: center;
}

.section-rl-faq__heading {
  margin: 0 0 calc(6 * var(--rl-vw));
  font-size: calc(3.6 * var(--rl-vw));
  font-weight: 700;
  line-height: calc(5.2 * var(--rl-vw));
  text-align: center;
  color: #000;
}

.section-rl-faq__cols {
  display: flex;
  gap: calc(3.2 * var(--rl-vw)); /* 576 - 544 = 32 */
  align-items: flex-start;
}

.section-rl-faq__col {
  flex: 0 0 calc(54.4 * var(--rl-vw));
  width: calc(54.4 * var(--rl-vw));
}

.section-rl-faq__item {
  border-top: 1px solid #000;
}

.section-rl-faq__col .section-rl-faq__item:last-child {
  border-bottom: 1px solid #000;
}

.page-recruit-landing .section-rl-faq__q {
  display: flex;
  align-items: center;
  gap: calc(1 * var(--rl-vw));
  width: 100%;
  min-height: calc(7.2 * var(--rl-vw));
  margin: 0;
  padding: calc(2.4 * var(--rl-vw)) calc(3 * var(--rl-vw)) calc(2.4 * var(--rl-vw)) 0;
  border: none;
  border-radius: 0;
  background: #fff;
  background-image: none;
  color: #000;
  box-shadow: none;
  text-align: left;
  cursor: pointer;
  font: inherit;
  box-sizing: border-box;
  appearance: none;
  -webkit-appearance: none;
}

.page-recruit-landing .section-rl-faq__q:hover,
.page-recruit-landing .section-rl-faq__q:focus,
.page-recruit-landing .section-rl-faq__q:active {
  background: #fff;
  background-image: none;
  border: none;
  color: #000;
  box-shadow: none;
}

.section-rl-faq__q .num {
  flex: 0 0 auto;
  min-width: calc(3 * var(--rl-vw));
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: calc(2.4 * var(--rl-vw));
  font-weight: 500;
  line-height: calc(1.8 * var(--rl-vw));
  letter-spacing: 0.075em;
  color: #ff0000;
  white-space: nowrap;
}

.section-rl-faq__q .text {
  flex: 1;
  min-width: 0;
  max-width: calc(42.8 * var(--rl-vw)); /* Figma: 428 */
  font-size: calc(1.8 * var(--rl-vw));
  font-weight: 700;
  line-height: calc(2.4 * var(--rl-vw));
  color: #000;
}

.section-rl-faq__q .icon {
  position: relative;
  flex: 0 0 calc(2.5 * var(--rl-vw));
  width: calc(2.5 * var(--rl-vw));
  height: calc(2.5 * var(--rl-vw));
  margin-left: auto;
  background: none;
}

/* Figma plus: 25×25 / stroke 4 / #FF0000→#E85923 */
.section-rl-faq__q .icon::before,
.section-rl-faq__q .icon::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  border-radius: 0;
  pointer-events: none;
}

.section-rl-faq__q .icon::before {
  width: 100%;
  height: calc(0.4 * var(--rl-vw));
  background: linear-gradient(90deg, #ff0000 0%, #e85923 100%);
  transform: translate(-50%, -50%);
}

.section-rl-faq__q .icon::after {
  width: calc(0.4 * var(--rl-vw));
  height: 100%;
  background: linear-gradient(180deg, #e85923 0%, #ff0000 100%);
  transform: translate(-50%, -50%) rotate(0deg);
  transition: transform 0.35s ease;
}

.section-rl-faq__q.is-open .icon::after,
.section-rl-faq__item.is-open .section-rl-faq__q .icon::after {
  transform: translate(-50%, -50%) rotate(90deg);
}

.section-rl-faq__a {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.35s ease;
}

.section-rl-faq__item.is-open .section-rl-faq__a {
  grid-template-rows: 1fr;
}

.section-rl-faq__a-body {
  overflow: hidden;
  min-height: 0;
}

.section-rl-faq__a p {
  margin: 0;
  /* Figma: text x40 w494 → pad L40 R10 / top20 bottom~30 */
  padding: calc(2 * var(--rl-vw)) calc(1 * var(--rl-vw)) calc(3 * var(--rl-vw)) calc(4 * var(--rl-vw));
  max-width: none;
  box-sizing: border-box;
  background: #f5f5f5;
  font-size: calc(1.5 * var(--rl-vw));
  font-weight: 400;
  line-height: calc(2 * var(--rl-vw));
  color: #000;
}

/* ----- GUIDELINE ----- */
/* Figma #113:387: ラベル18 / 見出し36 / リード15・lh27 / 表1120・行68|90 / dd@x180 / 黒線 */
.section-rl-guideline {
  /* FAQ→GUIDELINE = 120 */
  padding: calc(12 * var(--rl-vw)) 0 0;
  background: #fff;
}

.section-rl-guideline__inner {
  max-width: calc(112 * var(--rl-vw));
  margin: 0 auto;
  padding: 0;
}

.section-rl-guideline .rl-label--center {
  margin: 0 0 calc(1 * var(--rl-vw));
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: calc(1.8 * var(--rl-vw));
  font-weight: 500;
  line-height: calc(1.8 * var(--rl-vw));
  letter-spacing: 0.1em;
  color: #ff0000;
}

.section-rl-guideline .rl-heading--center {
  margin: 0 0 calc(2 * var(--rl-vw)); /* heading y28 → lead y100 ≈ 余白はリード側で調整 */
  font-size: calc(3.6 * var(--rl-vw));
  font-weight: 700;
  line-height: calc(5.2 * var(--rl-vw));
  color: #000;
}

.section-rl-guideline__lead {
  margin: 0 auto calc(6 * var(--rl-vw)); /* lead終了〜table y187 = 60 */
  text-align: center;
  font-size: calc(1.5 * var(--rl-vw));
  font-weight: 400;
  line-height: calc(2.7 * var(--rl-vw));
  color: #000;
}

.section-rl-guideline__table {
  margin: 0;
}

.section-rl-guideline__table > div {
  display: grid;
  grid-template-columns: calc(18 * var(--rl-vw)) minmax(0, 1fr); /* dd @ x180 */
  align-items: center;
  min-height: calc(6.8 * var(--rl-vw)); /* 1行行 */
  padding: 0;
  border-top: 1px solid #000;
  box-sizing: border-box;
}

.section-rl-guideline__table > div:has(br) {
  min-height: calc(9 * var(--rl-vw)); /* 2行行 */
}

.section-rl-guideline__table > div:last-child {
  border-bottom: 1px solid #000;
}

.section-rl-guideline__table dt {
  margin: 0;
  font-size: calc(1.5 * var(--rl-vw));
  font-weight: 700;
  line-height: calc(2.2 * var(--rl-vw));
  color: #000;
}

.section-rl-guideline__table dd {
  margin: 0;
  max-width: calc(74 * var(--rl-vw)); /* Figma w740 */
  font-size: calc(1.5 * var(--rl-vw));
  font-weight: 500;
  line-height: calc(2 * var(--rl-vw));
  color: #000;
}

/* ----- BOSYUU CTA Figma #113:761 ----- */
/* GUIDELINE終了→bosyuu = 80 / 帯 1120×150 / 黒グラデ / 白文字 / 白ピル+赤枠 */
.section-rl-bosyuu {
  padding: calc(8 * var(--rl-vw)) 0 0;
  background: #fff;
}

.section-rl-bosyuu__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: calc(2.4 * var(--rl-vw));
  width: calc(112 * var(--rl-vw));
  max-width: 100%;
  min-height: calc(15 * var(--rl-vw));
  margin: 0 auto;
  padding: calc(4 * var(--rl-vw)) calc(7.6 * var(--rl-vw));
  box-sizing: border-box;
  background: linear-gradient(90deg, #000 0%, #3c3c3c 100%);
  border-radius: 0;
}

.section-rl-bosyuu__text {
  flex: 1;
  min-width: 0;
}

.section-rl-bosyuu__text h2 {
  margin: 0 0 calc(1 * var(--rl-vw));
  font-size: calc(2.6 * var(--rl-vw));
  font-weight: 700;
  line-height: calc(3.8 * var(--rl-vw));
  color: #fff;
}

.section-rl-bosyuu__text p {
  margin: 0;
  font-size: calc(1.5 * var(--rl-vw));
  font-weight: 400;
  line-height: calc(2.2 * var(--rl-vw));
  color: #fff;
}

.page-recruit-landing .section-rl-bosyuu__btn.rl-btn--outline {
  flex: 0 0 calc(36 * var(--rl-vw));
  width: calc(36 * var(--rl-vw));
  min-width: calc(36 * var(--rl-vw));
  height: calc(5.6 * var(--rl-vw));
  padding: 0 calc(4 * var(--rl-vw)) 0 calc(2 * var(--rl-vw));
  background: linear-gradient(90deg, #ffffff 0%, #f5f5f5 100%) !important;
  background-color: #fff !important;
  color: #000 !important;
  border: 1px solid #ff0000 !important;
  border-radius: calc(5 * var(--rl-vw));
  box-shadow: none !important;
}

.page-recruit-landing .section-rl-bosyuu__btn.rl-btn--outline:hover,
.page-recruit-landing .section-rl-bosyuu__btn.rl-btn--outline:focus,
.page-recruit-landing .section-rl-bosyuu__btn.rl-btn--outline:active {
  background: linear-gradient(90deg, #ffffff 0%, #f5f5f5 100%) !important;
  background-color: #fff !important;
  color: #000 !important;
  border: 1px solid #ff0000 !important;
  box-shadow: none !important;
  opacity: 0.9;
}

/* ----- ENTRY Figma #113:757 ----- */
/* bosyuu→entry = 120 / template-section-cta も同余白 */
.page-recruit-landing .section-cta {
  padding: calc(12 * var(--rl-vw)) 0 calc(8 * var(--rl-vw));
  margin-bottom: 0;
  background: #fff;
}

.section-rl-entry {
  padding: calc(12 * var(--rl-vw)) 0 calc(8 * var(--rl-vw));
  background: #fff;
}

.section-rl-entry__card {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: calc(80 * var(--rl-vw));
  min-height: calc(12 * var(--rl-vw));
  margin: 0 auto;
  padding: calc(2 * var(--rl-vw)) calc(8 * var(--rl-vw)) calc(2.4 * var(--rl-vw));
  box-sizing: border-box;
  background: linear-gradient(90deg, #ff0000 0%, #e85923 100%);
  border-radius: calc(1 * var(--rl-vw));
  text-decoration: none;
  color: #fff;
  transition: opacity 0.2s;
}

.section-rl-entry__card:hover {
  opacity: 0.9;
  text-decoration: none;
  color: #fff;
}

.section-rl-entry__title {
  display: block;
  font-size: calc(3 * var(--rl-vw));
  font-weight: 700;
  line-height: calc(4.3 * var(--rl-vw));
  text-align: center;
  color: #fff;
}

.section-rl-entry__sub {
  display: block;
  margin-top: calc(0.1 * var(--rl-vw));
  font-size: calc(2.2 * var(--rl-vw));
  font-weight: 700;
  line-height: calc(3.2 * var(--rl-vw));
  text-align: center;
  color: #fff;
}

.section-rl-entry__arrow {
  position: absolute;
  top: 50%;
  right: calc(5 * var(--rl-vw));
  width: calc(4 * var(--rl-vw));
  height: calc(4 * var(--rl-vw));
  transform: translateY(-50%);
  pointer-events: none;
}

/* ----- SP ----- */
@media screen and (max-width: 768px) {
  .page-recruit-landing {
    --rl-vw: calc(100vw / 375 * 10);
    padding-bottom: calc(10 * var(--rl-vw));
  }

  .page-recruit-landing .rl-heading {
    font-size: calc(2.4 * var(--rl-vw));
    margin-bottom: calc(2.8 * var(--rl-vw));
  }

  .page-recruit-landing .rl-btn {
    flex: none;
    width: 100%;
    min-width: 0;
    height: calc(5.6 * var(--rl-vw));
  }

  .section-rl-mv__inner {
    display: flex;
    flex-direction: column;
    min-height: 0;
    height: auto;
  }

  .section-rl-mv__photo {
    order: -1;
    position: relative;
    right: auto;
    width: 100%;
    max-width: 100%;
    height: calc(30 * var(--rl-vw));
  }

  .section-rl-mv__photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
  }

  .section-rl-mv__content {
    width: 100%;
    max-width: 100%;
    padding: calc(3.2 * var(--rl-vw)) calc(2 * var(--rl-vw)) calc(4 * var(--rl-vw));
    background: #f5f5f5;
  }

  .section-rl-mv__title {
    margin-bottom: calc(2 * var(--rl-vw));
    font-size: calc(2.8 * var(--rl-vw));
    line-height: 1.45;
  }

  .section-rl-mv__title .is-accent {
    font-size: calc(3.6 * var(--rl-vw));
    line-height: 1.2;
  }

  .section-rl-mv__lead {
    margin-bottom: calc(1.6 * var(--rl-vw));
    font-size: calc(1.8 * var(--rl-vw));
    line-height: 1.5;
  }

  .section-rl-mv__text {
    margin-bottom: calc(2.4 * var(--rl-vw));
    font-size: calc(1.4 * var(--rl-vw));
    line-height: 1.6;
  }

  .page-recruit-landing--mid-career .section-rl-mv__content {
    width: 100%;
  }

  .page-recruit-landing--mid-career .section-rl-mv__text {
    margin-bottom: calc(2.4 * var(--rl-vw));
    font-size: calc(1.4 * var(--rl-vw));
    line-height: 1.6;
  }

  .page-recruit-landing--mid-career .section-rl-mv__lead {
    margin-bottom: calc(3.2 * var(--rl-vw));
    font-size: calc(1.8 * var(--rl-vw));
    line-height: 1.5;
  }

  .section-rl-mv__text .pc-only {
    display: none;
  }

  .section-rl-mv__btns {
    flex-direction: column;
    align-items: center;
    gap: calc(1.2 * var(--rl-vw));
    margin-bottom: calc(3.2 * var(--rl-vw));
  }

  /* SP: コンテンツ幅より気持ち狭く中央寄せ（新卒・中途共通） */
  .section-rl-mv__btns .rl-btn {
    flex: none;
    width: 92%;
    max-width: 92%;
    height: calc(5.6 * var(--rl-vw));
  }

  /* SP: 特徴カード — アイコン/テキスト縦並び・中央揃え */
  .section-rl-mv__points {
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    gap: calc(1.2 * var(--rl-vw));
  }

  /* 新卒（3枚）: 3列 */
  .section-rl-mv__points li {
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: calc((100% - calc(2.4 * var(--rl-vw))) / 3);
    height: auto;
    min-height: calc(14 * var(--rl-vw));
    padding: calc(1.6 * var(--rl-vw)) calc(0.8 * var(--rl-vw));
    gap: calc(0.8 * var(--rl-vw));
    text-align: center;
  }

  /* 中途（4枚）: 2×2 */
  .section-rl-mv__points--four li {
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: calc((100% - calc(1.2 * var(--rl-vw))) / 2);
    height: auto;
    min-height: calc(14 * var(--rl-vw));
    padding: calc(1.6 * var(--rl-vw)) calc(0.8 * var(--rl-vw));
    gap: calc(0.8 * var(--rl-vw));
    text-align: center;
    box-sizing: border-box;
  }

  .section-rl-mv__points p,
  .section-rl-mv__points--four p {
    text-align: center;
    font-size: calc(1.2 * var(--rl-vw));
    line-height: 1.45;
  }

  .section-rl-mv__points .point-em__lg,
  .section-rl-mv__points--four .point-em__lg {
    font-size: calc(1.8 * var(--rl-vw));
    line-height: 1.3;
  }

  .section-rl-mv__points .point-em__sm,
  .section-rl-mv__points--four .point-em__sm {
    font-size: calc(1.2 * var(--rl-vw));
    line-height: 1.3;
  }

  .section-rl-mv__points--four {
    flex-wrap: wrap;
  }

  .section-rl-data {
    padding: calc(4.8 * var(--rl-vw)) 0 calc(6.4 * var(--rl-vw));
  }

  .section-rl-data .rl-label--center {
    font-size: calc(1.4 * var(--rl-vw));
  }

  .section-rl-data .rl-heading--center {
    margin-bottom: calc(2.4 * var(--rl-vw));
    font-size: calc(2.4 * var(--rl-vw));
    line-height: 1.4;
    padding: 0 calc(2 * var(--rl-vw));
  }

  .section-rl-data__highlight {
    flex-direction: row;
    align-items: center;
    justify-content: center;
    width: 100%;
    max-width: 100%;
    padding: 0 calc(2 * var(--rl-vw));
    gap: calc(0.8 * var(--rl-vw));
    margin-bottom: calc(3.2 * var(--rl-vw));
    box-sizing: border-box;
  }

  .section-rl-data__growth {
    flex: 0 1 auto;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    width: auto;
    min-width: 0;
    max-width: none;
    margin-top: 0;
    gap: calc(0.6 * var(--rl-vw));
  }

  .section-rl-data__growth-main {
    flex: 0 1 auto;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    min-width: 0;
  }

  .section-rl-data__growth-top {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: flex-start;
    gap: calc(0.6 * var(--rl-vw));
    padding-top: 0;
  }

  .section-rl-data__growth-num {
    font-size: calc(3.6 * var(--rl-vw));
    line-height: 1;
  }

  .section-rl-data__growth-label {
    margin-top: 0;
    max-width: none;
    font-size: calc(1.4 * var(--rl-vw));
    line-height: 1.3;
    white-space: normal;
    text-align: left;
  }

  .section-rl-data__growth-line {
    width: 100%;
    max-width: calc(22 * var(--rl-vw));
    margin-top: calc(0.6 * var(--rl-vw));
  }

  .section-rl-data__growth-arrow {
    flex: 0 0 calc(4.4 * var(--rl-vw));
    width: calc(4.4 * var(--rl-vw));
    margin: 0;
  }

  /* 店舗円: 成長ブロックと横並び（丸だけ小さく、文字サイズは据え置き） */
  .section-rl-data__stores {
    position: relative;
    flex: 0 0 calc(9 * var(--rl-vw));
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: calc(9 * var(--rl-vw));
    height: calc(9 * var(--rl-vw));
    max-width: none;
    margin: 0;
    gap: calc(0.1 * var(--rl-vw));
  }

  .section-rl-data__stores-label,
  .section-rl-data__stores-body,
  .section-rl-data__stores-num,
  .section-rl-data__stores-unit {
    position: static;
    left: auto;
    top: auto;
    width: auto;
    height: auto;
    transform: none;
  }

  .section-rl-data__stores-label {
    margin: 0;
    font-size: calc(1.1 * var(--rl-vw));
    line-height: 1.2;
  }

  .section-rl-data__stores-body {
    display: flex;
    align-items: baseline;
    justify-content: center;
    gap: calc(0.2 * var(--rl-vw));
  }

  .section-rl-data__stores-num {
    margin: 0;
    font-size: calc(3.2 * var(--rl-vw));
    line-height: 1;
  }

  .section-rl-data__stores-unit {
    margin: 0;
    font-size: calc(1.2 * var(--rl-vw));
    line-height: 1.2;
  }

  .section-rl-data__chart,
  .section-rl-data__cards {
    width: 100%;
    max-width: 100%;
    padding: 0 calc(2 * var(--rl-vw));
    box-sizing: border-box;
  }

  .section-rl-data__chart {
    margin-bottom: calc(3.2 * var(--rl-vw));
  }

  .section-rl-data__cards {
    justify-content: center;
    gap: calc(1.2 * var(--rl-vw));
  }

  .page-recruit-landing .section-rl-data__cards > li,
  .section-rl-data__card {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    flex: 0 0 calc((100% - calc(1.2 * var(--rl-vw))) / 2);
    width: calc((100% - calc(1.2 * var(--rl-vw))) / 2);
    max-width: calc((100% - calc(1.2 * var(--rl-vw))) / 2);
    height: auto;
    min-height: calc(18 * var(--rl-vw));
    padding: calc(1.6 * var(--rl-vw)) calc(0.8 * var(--rl-vw));
    box-sizing: border-box;
  }

  .section-rl-data__card-icon-wrap,
  .section-rl-data__card-value,
  .section-rl-data__card-label,
  .section-rl-data__card-sub,
  .section-rl-data__card-label--top {
    position: static;
    top: auto;
    left: auto;
    right: auto;
    transform: none;
  }

  .section-rl-data__card-icon-wrap {
    width: calc(4 * var(--rl-vw));
    height: calc(4 * var(--rl-vw));
    margin: 0 0 calc(0.8 * var(--rl-vw));
  }

  .section-rl-data__card-value {
    margin: 0 0 calc(0.4 * var(--rl-vw));
    flex-wrap: wrap;
  }

  .section-rl-data__card-value--ratio {
    gap: calc(0.4 * var(--rl-vw));
  }

  .section-rl-data__card-sub {
    margin: 0 0 calc(0.2 * var(--rl-vw));
    font-size: calc(1.2 * var(--rl-vw));
    line-height: 1.3;
  }

  .section-rl-data__card-num {
    font-size: calc(2.8 * var(--rl-vw));
    line-height: 1.1;
  }

  .section-rl-data__card-unit,
  .section-rl-data__card-percent {
    font-size: calc(1.4 * var(--rl-vw));
    line-height: 1.2;
  }

  .section-rl-data__card-label,
  .section-rl-data__card-label--top {
    margin: 0;
    font-size: calc(1.2 * var(--rl-vw));
    line-height: 1.4;
  }

  .section-rl-data__card-ratio .section-rl-data__card-num {
    font-size: calc(2.4 * var(--rl-vw));
  }

  .section-rl-data__card-slash {
    font-size: calc(1.4 * var(--rl-vw));
  }

  .section-rl-data__card--income .section-rl-data__card-sub,
  .section-rl-data__card--income .section-rl-data__card-value,
  .section-rl-data__card--income .section-rl-data__card-label,
  .section-rl-data__card--promotion .section-rl-data__card-label--top,
  .section-rl-data__card--promotion .section-rl-data__card-value--period {
    top: auto;
  }

  .section-rl-career__lead {
    margin: calc(-2 * var(--rl-vw)) auto calc(4 * var(--rl-vw));
    padding: 0 calc(2 * var(--rl-vw));
    font-size: calc(1.6 * var(--rl-vw));
  }

  .page-recruit-landing--mid-career .section-rl-career--mid .section-rl-career__lead {
    margin: 0 auto calc(4 * var(--rl-vw));
    font-size: calc(1.5 * var(--rl-vw));
    line-height: calc(2.7 * var(--rl-vw));
  }


  .section-rl-message {
    padding: calc(4.8 * var(--rl-vw)) 0 calc(4.8 * var(--rl-vw));
  }

  .section-rl-message__inner {
    flex-direction: column;
    gap: calc(2.4 * var(--rl-vw));
    min-height: 0;
    width: 100%;
    max-width: 100%;
    padding: 0 calc(2 * var(--rl-vw));
    box-sizing: border-box;
  }

  .section-rl-message__photo {
    flex: none;
    width: 100%;
    max-width: 100%;
    margin-left: 0;
    height: auto;
    background-color: #f4f2f1;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .section-rl-message__photo img {
    width: 50%;
    height: auto;
    object-fit: contain;
    object-position: center top;
  }

  .section-rl-message__body {
    flex: none;
    width: 100%;
    padding-top: 0;
  }

  .section-rl-message__text {
    white-space: normal;
  }

  .section-rl-message__title {
    font-size: calc(2.4 * var(--rl-vw));
    line-height: 1.45;
    margin-bottom: calc(2 * var(--rl-vw));
  }

  .section-rl-message__sign {
    justify-content: flex-end;
    line-height: 1.5;
  }

  /* SP: PC比（MESSAGE上下4.8 / REASONS 上3.6・下4.8） */
  .section-rl-reasons {
    padding: calc(3.6 * var(--rl-vw)) 0 calc(4.8 * var(--rl-vw));
  }

  .section-rl-training {
    padding: calc(6 * var(--rl-vw)) 0 0;
  }

  .section-rl-training .rl-heading--center {
    font-size: calc(2.4 * var(--rl-vw));
    line-height: 1.35;
    margin-bottom: calc(3.2 * var(--rl-vw));
    padding: 0 calc(2 * var(--rl-vw));
  }

  .section-rl-interview,
  .section-rl-career {
    padding: calc(7.2 * var(--rl-vw)) 0 0;
  }

  .section-rl-event {
    /* トップ .section-eventList に合わせる */
    margin: 12vw 0 0;
    padding: 0;
    overflow: hidden;
  }

  .section-rl-event__inner {
    max-width: none;
    /* トップ .eventList-container */
    padding: 0 5%;
  }

  .section-rl-event__heading {
    margin: 0 0 7vw;
    padding: 0 0 2vw;
    font-size: 7vw;
    line-height: 1.3;
  }

  .section-rl-event__slider {
    /* トップ .event-slider */
    width: calc(100% - 5vw);
    margin: auto;
    padding: 5px;
  }

  .section-rl-event__track-wrap {
    width: 100%;
    max-width: 100%;
    margin: 0;
    overflow: hidden;
  }

  .section-rl-event__nav--prev {
    left: -1vw;
  }

  .section-rl-event__nav--next {
    right: -1vw;
  }

  .page-recruit-landing .section-rl-vlog {
    margin: calc(4.8 * var(--rl-vw)) 0 0;
    padding: calc(3.6 * var(--rl-vw)) 0 calc(4.8 * var(--rl-vw));
  }

  .section-rl-faq,
  .section-rl-guideline {
    padding: calc(4.8 * var(--rl-vw)) 0 0;
  }

  .section-rl-reasons__list {
    flex-wrap: wrap;
    gap: calc(1.6 * var(--rl-vw));
    padding: 0 calc(2 * var(--rl-vw));
  }

  .page-recruit-landing .section-rl-reasons__list > li {
    width: 100%;
  }

  .page-recruit-landing .section-rl-training__list > li {
    flex-wrap: wrap;
    gap: calc(1.6 * var(--rl-vw));
    min-height: 0;
    padding: calc(2.4 * var(--rl-vw)) 0;
  }

  .section-rl-training__step {
    flex: 0 0 100%;
    padding-top: 0;
    text-align: left;
    display: flex;
    align-items: baseline;
    gap: calc(0.8 * var(--rl-vw));
  }

  .section-rl-training__step b {
    margin-top: 0;
  }

  .section-rl-training__photo {
    flex: 0 0 100%;
    width: 100%;
    height: calc(18 * var(--rl-vw));
    margin-right: 0;
  }

  .section-rl-training__body {
    padding-top: 0;
  }

  .section-rl-training__inner {
    padding: 0 calc(2 * var(--rl-vw));
  }

  .section-rl-interview__list {
    grid-template-columns: 1fr;
    gap: calc(2.4 * var(--rl-vw));
    padding: 0 calc(2 * var(--rl-vw));
  }

  .page-recruit-landing .section-rl-interview__list > li {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: auto;
    min-height: 0;
  }

  .section-rl-interview__photo,
  .section-rl-interview__photo--wakasugi,
  .section-rl-interview__photo--ikeda,
  .section-rl-interview__photo--kobayashi,
  .section-rl-interview__photo--konta,
  .section-rl-interview__photo--ogane,
  .section-rl-interview__photo--yoshizumi,
  .section-rl-interview__photo--yada {
    position: relative;
    left: auto;
    top: auto;
    order: -1;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    width: 100%;
    height: auto;
    overflow: visible;
  }

  /* SP: PC同様に全身が見えるよう contain + 高さは画像に追従 */
  .section-rl-interview__photo img {
    position: static;
    left: auto;
    top: auto;
    width: 50%;
    height: auto;
    transform: none;
    object-fit: contain;
    object-position: center bottom;
  }

  .section-rl-interview__meta {
    position: relative;
    inset: auto;
    height: auto;
    /* 画像直下にバッジが続くよう上余白なし */
    padding: 0 calc(2 * var(--rl-vw)) calc(3.2 * var(--rl-vw));
  }

  /* SPはフロー配置。線は path 上辺に移す（::before は先頭に出るため） */
  .section-rl-interview__meta::before {
    display: none;
  }

  .section-rl-interview__badge,
  .section-rl-interview__name,
  .section-rl-interview__meta .school,
  .section-rl-interview__meta .label,
  .section-rl-interview__meta .path,
  .section-rl-interview__meta .comment,
  .section-rl-interview__meta .role,
  .section-rl-interview__cta {
    position: static;
    left: auto;
    top: auto;
    bottom: auto;
    width: 100%;
    height: auto;
  }

  .section-rl-interview__badge {
    width: 100%;
    height: calc(3.2 * var(--rl-vw));
    margin: 0 0 calc(1.6 * var(--rl-vw));
    padding: 0;
  }

  /* 中途INTERVIEW SP: 新卒SPと同じサイズ感（PC用--mid上書きをリセット） */
  .section-rl-interview--mid .section-rl-interview__meta {
    z-index: auto;
  }

  .section-rl-interview--mid .section-rl-interview__badge {
    width: 100%;
    max-width: none;
    height: calc(3.2 * var(--rl-vw));
    min-height: 0;
    padding: 0;
    font-size: calc(1.6 * var(--rl-vw));
    white-space: nowrap;
  }

  .section-rl-interview--mid .section-rl-interview__name h3 {
    line-height: calc(4.6 * var(--rl-vw));
  }

  .section-rl-interview--mid .section-rl-interview__name {
    display: block;
    width: 100%;
    text-align: center;
  }

  .section-rl-interview--mid .section-rl-interview__name .en {
    display: block;
    position: static;
    margin-top: calc(0.4 * var(--rl-vw));
    text-align: center;
  }

  /* 切り抜きPNGは上余白なしのため、新卒SP（写真内グレー余白）に近い見え方へ */
  .section-rl-interview--mid .section-rl-interview__photo {
    padding-top: calc(3.2 * var(--rl-vw));
  }

  .section-rl-interview--mid .section-rl-interview__photo img {
    width: 50%;
    height: auto;
    object-fit: contain;
    object-position: center bottom;
  }

  .section-rl-interview__name {
    margin-bottom: calc(1.6 * var(--rl-vw));
    text-align: center;
  }

  .section-rl-interview__name h3 {
    text-align: center;
  }

  .section-rl-interview__name .en {
    position: static;
    display: block;
    margin-top: calc(0.4 * var(--rl-vw));
    text-align: center;
  }

  .section-rl-interview__meta .school {
    margin-top: calc(0.8 * var(--rl-vw));
    /* 卒業校と「経歴」の間を広げる */
    margin-bottom: calc(2.4 * var(--rl-vw));
    font-size: calc(1.4 * var(--rl-vw));
    line-height: 1.5;
    text-align: left;
  }

  .section-rl-interview__meta .label {
    margin-bottom: calc(0.8 * var(--rl-vw));
  }

  .section-rl-interview--mid .section-rl-interview__meta .label,
  .section-rl-interview--mid .section-rl-interview__meta .label--role,
  .section-rl-interview--mid .section-rl-interview__meta .path,
  .section-rl-interview--mid .section-rl-interview__meta .role {
    position: static;
    left: auto;
    top: auto;
    width: 100%;
  }

  .section-rl-interview--mid .section-rl-interview__meta .label::after,
  .section-rl-interview--mid .section-rl-interview__meta .label--role::after {
    display: none;
  }

  .section-rl-interview__meta .path {
    margin-bottom: calc(0.8 * var(--rl-vw));
    padding-top: calc(1.2 * var(--rl-vw));
    border-top: 1px solid #fff;
  }

  .section-rl-interview--mid .section-rl-interview__meta .path {
    font-size: calc(1.5 * var(--rl-vw));
    line-height: calc(2.2 * var(--rl-vw));
    white-space: normal;
  }

  .section-rl-interview--mid .section-rl-interview__meta .path .path-row {
    display: block;
  }

  .section-rl-interview--mid .section-rl-interview__meta .role {
    margin: 0 0 calc(1.6 * var(--rl-vw));
    padding-top: calc(1.2 * var(--rl-vw));
    border-top: 1px solid #fff;
    font-size: calc(1.5 * var(--rl-vw));
    font-weight: 700;
    line-height: calc(2.2 * var(--rl-vw));
    text-align: left;
  }

  /* CTA: SPはフロー配置・全幅 */
  .section-rl-interview--mid .section-rl-interview__meta .btn-interview {
    position: relative;
    left: auto;
    bottom: auto;
    z-index: auto;
    display: block;
    width: 100%;
    margin: calc(1.6 * var(--rl-vw)) 0 0;
    padding: calc(1.2 * var(--rl-vw)) calc(2 * var(--rl-vw));
    box-sizing: border-box;
    text-align: center;
  }

  .section-rl-interview__inner {
    padding: 0;
  }

  .section-rl-career__inner {
    padding: 0 calc(2 * var(--rl-vw));
  }

  .section-rl-career__head {
    gap: calc(1.6 * var(--rl-vw));
    margin-bottom: calc(2.4 * var(--rl-vw));
  }

  .section-rl-career__portrait {
    flex: 0 0 calc(8 * var(--rl-vw));
    width: calc(8 * var(--rl-vw));
    height: calc(10.6 * var(--rl-vw));
  }

  .section-rl-career__head-body h3 {
    font-size: calc(2.2 * var(--rl-vw));
    line-height: 1.4;
  }

  .page-recruit-landing--mid-career .section-rl-career--mid .section-rl-career__head-body {
    padding-top: calc(2.4 * var(--rl-vw));
  }

  .section-rl-career__cols {
    grid-template-columns: 1fr;
    gap: calc(4.8 * var(--rl-vw));
  }

  .section-rl-career__timeline {
    padding-left: calc(4.8 * var(--rl-vw));
  }

  .section-rl-career__timeline::before {
    left: calc(1.2 * var(--rl-vw));
  }

  .section-rl-career__timeline .num {
    left: calc(-4.8 * var(--rl-vw));
  }

  .page-recruit-landing .section-rl-career__timeline > li {
    grid-template-columns: 1fr;
    row-gap: calc(0.4 * var(--rl-vw));
  }

  .section-rl-career__timeline .content {
    width: 100%;
  }

  .section-rl-career__note {
    text-align: left;
  }

  .section-rl-event__track > li {
    flex: 0 0 100%;
    width: 100%;
    border-radius: 4px;
    box-shadow: 0 2px 15px rgba(0, 0, 0, 0.16);
  }

  .section-rl-event__track a {
    padding: 10px;
  }

  .section-rl-event__photo {
    /* トップ .eventList-image（スライダー時） */
    aspect-ratio: auto;
    height: 43vw;
  }

  .section-rl-event__date {
    /* トップ .eventList-date */
    font-size: 3vw;
    line-height: 1.5;
    margin-top: 2vw;
    margin-bottom: 1vw;
  }

  .section-rl-event__title {
    /* トップ .eventList-title */
    font-size: 3vw;
    line-height: 1.5;
  }

  .page-recruit-landing .section-rl-event__nav {
    width: 34px;
    height: 44px;
    border-radius: 0;
  }

  .section-rl-event__more {
    margin-top: 2vw;
  }

  .section-rl-event__more a {
    /* トップ .listBtn a */
    padding: 1.2vw 6vw;
    font-size: 3.6vw;
    line-height: 1.5;
    border-radius: 5vw;
  }

  .section-rl-vlog__list {
    flex-direction: column;
    align-items: center;
    gap: calc(4 * var(--rl-vw));
    padding: 0 calc(2 * var(--rl-vw));
  }

  .page-recruit-landing .section-rl-vlog__list > li {
    flex: none;
    width: 100%;
    max-width: calc(70 * var(--rl-vw));
  }

  .section-rl-vlog__video {
    aspect-ratio: 16 / 9;
    height: auto;
  }

  /* カード内テキストはPC比率（氏名20 / 役職・説明14）を維持 */
  .section-rl-vlog__name {
    font-size: calc(2 * var(--rl-vw));
    line-height: 1.4;
  }

  .section-rl-vlog__role,
  .section-rl-vlog__desc {
    font-size: calc(1.4 * var(--rl-vw));
    line-height: 1.5;
  }

  .section-rl-vlog__heading {
    font-size: calc(2.4 * var(--rl-vw));
    margin-bottom: calc(3.2 * var(--rl-vw));
    padding: 0 calc(2 * var(--rl-vw));
  }

  .section-rl-vlog__label {
    font-size: calc(1.4 * var(--rl-vw));
    line-height: 1.2;
  }

  .section-rl-faq__cols {
    flex-direction: column;
    gap: 0;
    padding: 0 calc(2 * var(--rl-vw));
  }

  .section-rl-faq__col {
    flex: none;
    width: 100%;
  }

  .section-rl-faq__col + .section-rl-faq__col .section-rl-faq__item:first-child {
    border-top: none;
  }

  .section-rl-faq__heading {
    font-size: calc(2.8 * var(--rl-vw));
    margin-bottom: calc(3.2 * var(--rl-vw));
  }

  .page-recruit-landing .section-rl-faq__q {
    min-height: calc(7.2 * var(--rl-vw));
    /* 右余白を詰めてプラスを右寄せ（PC側 calc(3*vw) より優先） */
    padding: calc(2 * var(--rl-vw)) calc(0.4 * var(--rl-vw)) calc(2 * var(--rl-vw)) 0;
  }

  .section-rl-faq__q .num {
    font-size: calc(2.4 * var(--rl-vw));
  }

  .section-rl-faq__q .text {
    font-size: calc(1.8 * var(--rl-vw));
    line-height: 1.4;
    max-width: none;
  }

  .section-rl-faq__q .icon {
    flex-basis: calc(1.8 * var(--rl-vw));
    width: calc(1.8 * var(--rl-vw));
    height: calc(1.8 * var(--rl-vw));
  }

  .section-rl-faq__q .icon::before {
    height: calc(0.3 * var(--rl-vw));
  }

  .section-rl-faq__q .icon::after {
    width: calc(0.3 * var(--rl-vw));
  }

  .section-rl-faq__a p {
    font-size: calc(1.5 * var(--rl-vw));
    line-height: 1.5;
  }

  .section-rl-guideline__inner {
    padding: 0 calc(2 * var(--rl-vw));
  }

  .section-rl-guideline .rl-heading--center {
    font-size: calc(2.8 * var(--rl-vw));
    line-height: 1.4;
  }

  .section-rl-guideline__table > div {
    grid-template-columns: 1fr;
    gap: calc(0.8 * var(--rl-vw));
    min-height: 0;
    padding: calc(2 * var(--rl-vw)) 0;
    align-items: start;
  }

  .section-rl-guideline__table > div:has(br) {
    min-height: 0;
  }

  .section-rl-guideline__table dd {
    max-width: none;
  }

  .section-rl-bosyuu {
    padding: calc(4.8 * var(--rl-vw)) calc(2 * var(--rl-vw)) 0;
  }

  .section-rl-bosyuu__inner {
    flex-direction: column;
    align-items: stretch;
    width: 100%;
    min-height: 0;
    padding: calc(2.4 * var(--rl-vw)) calc(2 * var(--rl-vw));
    text-align: center;
    gap: calc(1.6 * var(--rl-vw));
  }

  .section-rl-bosyuu__text h2 {
    margin-bottom: calc(0.8 * var(--rl-vw));
    font-size: calc(1.8 * var(--rl-vw));
    line-height: 1.4;
  }

  .section-rl-bosyuu__text p {
    font-size: calc(1.3 * var(--rl-vw));
    line-height: 1.5;
  }

  /* PCの width/height: 36*vw が SPで360px角になるのを打ち消し */
  .page-recruit-landing .section-rl-bosyuu__btn.rl-btn--outline {
    flex: none;
    align-self: center;
    width: auto;
    min-width: 0;
    max-width: 100%;
    height: calc(4.8 * var(--rl-vw));
    padding: 0 calc(3.2 * var(--rl-vw)) 0 calc(2 * var(--rl-vw));
    font-size: calc(1.4 * var(--rl-vw));
    line-height: 1.4;
  }

  .page-recruit-landing .rl-btn__icon {
    right: calc(1.6 * var(--rl-vw));
  }

  .page-recruit-landing .section-cta {
    padding: calc(6 * var(--rl-vw)) 0 calc(4.8 * var(--rl-vw));
    margin-bottom: 0;
  }

  .section-rl-entry {
    padding: calc(6 * var(--rl-vw)) calc(2 * var(--rl-vw)) calc(4.8 * var(--rl-vw));
  }

  .section-rl-entry__card {
    width: 100%;
    min-height: calc(16 * var(--rl-vw));
    padding: calc(2.4 * var(--rl-vw)) calc(6 * var(--rl-vw)) calc(2.4 * var(--rl-vw)) calc(2.4 * var(--rl-vw));
  }

  .section-rl-entry__title {
    font-size: calc(2.2 * var(--rl-vw));
    line-height: 1.4;
  }

  .section-rl-entry__sub {
    font-size: calc(1.8 * var(--rl-vw));
  }

  .section-rl-entry__arrow {
    right: calc(1.6 * var(--rl-vw));
    width: calc(3.2 * var(--rl-vw));
    height: calc(3.2 * var(--rl-vw));
  }
}
