/*
 * 28卒向け 就活戦略面談 LP（SPEC-7K091M8JG1）。
 *
 * - 組み方（中央の列・カード・見出しの段・文字の大きさ）はトップLP（PR #2257）にそろえる。
 * - 配色は冬にする。寒色に寄せず、赤系で統一した暖かい冬にする（オーナー指示 2026-11-10。緑・青は使わない）:
 *   雪明かりのクリーム・学転の赤・濃い赤・淡い桃。強調の語・印は赤、ニット柄の帯、PC の左右は赤に降る雪。
 * - CTA は朱色のグラデーション。列の中で塗りつぶした赤のボタンは CTA だけにして、一番目に入るようにする（同日のオーナー指示）。
 *   白い文字を CTA に載せるので、文字は 19px 以上の太字に保つ（#FF5A3C と白で 3.1:1、#E8442E と白で 4.0:1）。
 * - 書体はヒラギノ角ゴ（同日のオーナー指示）。端末にある書体を使い、無い端末（Windows・Android）は近い角ゴシックで代える。
 *   見出しには palt（句読点・かなの詰め）を当てる。
 * - 見出しの 1 行は「決めた大きさ」と「器の幅 ÷ その行の幅（--n）」の小さいほう。改行は手動の位置だけ。
 * - 動きは CSS だけ（FV の順の表示・④の番号・流れる帯・PC の左右の雪）。prefers-reduced-motion: reduce ではすべて止める。
 */

.career-strategy_root__8Yee5 {
  --cta-1: #ff5a3c;
  --cta-2: #e8442e;
  --cta-shadow: rgba(232, 68, 46, 0.34);
  --ink: #2a211d;
  --body: #4a3f39;
  --sub: #6e625a;
  --accent: #c8352a;
  --accent-d: #a52a24;
  --accent-l: #f2a99e;
  --blush: #fdeae6;
  --red: #d9433a;
  --rose: #f7c3b9;
  --cream: #fff8ef;
  --cream-2: #fdf1e3;
  --paper: #fffcf8;
  --line: #efe4d8;
  --line-2: #e3d4c3;
  --rail-red: #c9352f;
  /* 赤の地に降る雪（白い粒）。 */
  --snow-dots:
    radial-gradient(circle at 12% 22%, rgba(255, 255, 255, 0.95) 0 2px, transparent 2.6px),
    radial-gradient(circle at 64% 12%, rgba(255, 255, 255, 0.9) 0 1.4px, transparent 2px),
    radial-gradient(circle at 38% 68%, rgba(255, 255, 255, 0.9) 0 1.8px, transparent 2.4px),
    radial-gradient(circle at 86% 54%, rgba(255, 255, 255, 0.95) 0 2.2px, transparent 2.8px),
    radial-gradient(circle at 24% 92%, rgba(255, 255, 255, 0.85) 0 1.2px, transparent 1.8px);
  /* クリームの地に舞う粉雪（淡い赤と桃の小さな粒）。 */
  --flurry:
    radial-gradient(circle at 14% 24%, rgba(217, 67, 58, 0.16) 0 1.8px, transparent 2.4px),
    radial-gradient(circle at 62% 14%, rgba(240, 138, 122, 0.3) 0 1.4px, transparent 2px),
    radial-gradient(circle at 40% 70%, rgba(240, 138, 122, 0.26) 0 1.8px, transparent 2.4px),
    radial-gradient(circle at 86% 56%, rgba(217, 67, 58, 0.14) 0 2px, transparent 2.6px),
    radial-gradient(circle at 26% 92%, rgba(217, 67, 58, 0.12) 0 1.4px, transparent 2px);
  --wash-card:
    radial-gradient(110% 80% at 0% 0%, rgba(255, 170, 140, 0.26), rgba(255, 170, 140, 0) 60%),
    radial-gradient(100% 80% at 100% 0%, rgba(255, 205, 170, 0.28), rgba(255, 205, 170, 0) 60%),
    radial-gradient(100% 80% at 100% 100%, rgba(255, 190, 180, 0.24), rgba(255, 190, 180, 0) 60%),
    radial-gradient(90% 70% at 0% 100%, rgba(255, 200, 170, 0.26), rgba(255, 200, 170, 0) 60%);
  /* ニット柄（フェアアイル風）の帯。赤の地に白の山形と点。 */
  --knit: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='16' viewBox='0 0 32 16'%3E%3Crect width='32' height='16' fill='%23d9433a'/%3E%3Cpath d='M0 11 4 7l4 4 4-4 4 4 4-4 4 4 4-4 4 4' fill='none' stroke='%23fff8ef' stroke-width='1.6'/%3E%3Ccircle cx='8' cy='3' r='1.2' fill='%23fff8ef'/%3E%3Ccircle cx='24' cy='3' r='1.2' fill='%23fff8ef'/%3E%3Ccircle cx='16' cy='14.5' r='1' fill='%23f7c3b9'/%3E%3Ccircle cx='0' cy='14.5' r='1' fill='%23f7c3b9'/%3E%3Ccircle cx='32' cy='14.5' r='1' fill='%23f7c3b9'/%3E%3C/svg%3E");
  --shadow: 0 12px 32px rgba(90, 50, 30, 0.09);
  --shadow-s: 0 6px 18px rgba(90, 50, 30, 0.07);
  --ease: cubic-bezier(0.22, 1, 0.36, 1);
  --sans: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴシック", "Noto Sans JP", "Noto Sans CJK JP",
    "Yu Gothic", YuGothic, Meiryo, system-ui, sans-serif;
  --col: 880px;
  --gutter: 40px;

  /* 文字の大きさ（PC）。タブレット・スマホは下の段で上書きする（トップLP と同じ段）。 */
  --fs-h1: 58px;
  --fs-h2: 36px;
  --fs-why: 50px;
  --fs-step-no: 112px;
  --fs-step-label: 19px;
  --fs-bridge: 24px;
  --fs-bridge-sub: 22px;
  --fs-card-title: 19px;
  --fs-offer: 17px;
  --fs-check: 16px;
  --fs-faq-q: 15.5px;
  --fs-faq-a: 14px;
  --fs-closing: 32px;
  --fs-marquee: 22px;
  --fs-body: 15px;
  --fs-cta: 19px;
  --sec-y: 88px;

  position: relative;
  width: 100%;
  min-height: 100%;
  background: var(--rail-red);
  color: var(--body);
  font-family: var(--sans);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

@media (max-width: 920px) {
  .career-strategy_root__8Yee5 {
    --gutter: 18px;
    --fs-h1: 44px;
    --fs-h2: 27px;
    --fs-why: 36px;
    --fs-step-no: 92px;
    --fs-step-label: 18px;
    --fs-bridge: 21px;
    --fs-bridge-sub: 18px;
    --fs-offer: 16px;
    --fs-faq-q: 14.5px;
    --fs-faq-a: 13.5px;
    --fs-closing: 24px;
    --sec-y: 64px;

    background: #ffffff;
  }
}

@media (max-width: 600px) {
  .career-strategy_root__8Yee5 {
    --fs-h2: 20px;
    --fs-why: 24px;
    --fs-step-no: 64px;
    --fs-step-label: 16px;
    --fs-bridge: 19px;
    --fs-bridge-sub: 15px;
    --fs-card-title: 16px;
    --fs-check: 15px;
    --fs-closing: 20px;
    --fs-marquee: 17px;
    --fs-body: 14px;
  }
}

.career-strategy_root__8Yee5 ::selection {
  background: var(--blush);
  color: var(--ink);
}

.career-strategy_root__8Yee5 a:focus-visible {
  outline: 3px solid rgba(200, 53, 42, 0.5);
  outline-offset: 3px;
}

/* ---------- 列と器 ---------- */

.career-strategy_col__eAoyR {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: var(--col);
  min-height: 100vh;
  margin: 0 auto;
  background: #ffffff;
  overflow-x: clip;
}

@media (min-width: 921px) {
  .career-strategy_col__eAoyR {
    box-shadow:
      0 0 0 1px rgba(255, 255, 255, 0.35),
      0 30px 90px rgba(80, 10, 10, 0.4);
  }
}

.career-strategy_inner__nqqdl {
  width: 100%;
  max-width: calc(720px + var(--gutter) * 2);
  margin: 0 auto;
  padding: 0 var(--gutter);
}

.career-strategy_sec__LdDEX {
  position: relative;
  padding: var(--sec-y) 0;
}

.career-strategy_secFrost__SFFQM {
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: linear-gradient(180deg, var(--cream), #ffffff);
}

/* ---------- 和文の組み ---------- */

/* 文節（<wbr> の位置）でだけ折り返す。長すぎる文節だけは最後に折る。 */
.career-strategy_ja__MLj99 {
  word-break: keep-all;
  overflow-wrap: anywhere;
  line-break: strict;
}

/* 読点で区切った 1 まとまり。入るならまとめて次の行へ送る。 */
.career-strategy_clause__P4jpb {
  display: inline-block;
}

.career-strategy_num__dMBRK {
  letter-spacing: 0.01em;
}

.career-strategy_em__t_QAk {
  color: var(--accent);
}

/* ---------- 見出し ---------- */

.career-strategy_fit__I7cM3 {
  container-type: inline-size;
  width: 100%;
  margin: 0;
}

.career-strategy_line__YwZ1U {
  display: block;
  white-space: nowrap;
  font-size: min(calc(100cqi / var(--n)), var(--size));
}

/* PC は 1 行、スマホは 2 行に組む行（②の締め）。 */
.career-strategy_splitPart__SqiQr {
  display: inline;
}

@media (max-width: 600px) {
  .career-strategy_splitLine__2__Hs {
    font-size: min(calc(100cqi / var(--n-sp)), var(--size));
  }

  .career-strategy_splitPart__SqiQr {
    display: block;
  }
}

/* 中央揃えの行の末尾が「、」「。」のとき、字面が中央に見えるよう空きの半分だけ右へずらす。 */
.career-strategy_hang__5dTTh,
.career-strategy_hangSplit__nyclF {
  position: relative;
  left: 0.26em;
}

/* スマホで分けた行は、句読点で終わる断片ごとにずらす。 */
@media (max-width: 600px) {
  .career-strategy_hangSplit__nyclF {
    left: 0;
  }

  .career-strategy_hangPart__zyzze {
    position: relative;
    left: 0.26em;
  }
}

.career-strategy_lineH1__7YVFd {
  --size: var(--fs-h1);
}

.career-strategy_lineH2__Xq8kN {
  --size: var(--fs-h2);
}

.career-strategy_lineWhy__DHC0A {
  --size: var(--fs-why);
}

.career-strategy_lineBridge___Xxmu {
  --size: var(--fs-bridge);
}

.career-strategy_lineBridgeSub__cIfC3 {
  --size: var(--fs-bridge-sub);
}

.career-strategy_lineClosing__KivDo {
  --size: var(--fs-closing);
}

.career-strategy_head__TOdmu {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin: 0 auto 40px;
  text-align: center;
}

@media (max-width: 920px) {
  .career-strategy_head__TOdmu {
    margin-bottom: 30px;
  }
}

.career-strategy_h1__IT8pE,
.career-strategy_h2__b3_PH,
.career-strategy_whyTitle__ze55M,
.career-strategy_closingTitle__Ff8xE,
.career-strategy_bridge__DD7uD .career-strategy_fit__I7cM3 {
  font-family: var(--sans);
  font-weight: 800;
  font-feature-settings: "palt";
  letter-spacing: 0.03em;
  color: var(--ink);
}

.career-strategy_h2__b3_PH {
  line-height: 1.45;
}

/* ---------- CTA（冬の寒色の中で一番目に入る暖色） ---------- */

.career-strategy_cta__HNDHI {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 64px;
  padding: 0 24px 0 30px;
  border-radius: 16px;
  background: linear-gradient(135deg, var(--cta-1), var(--cta-2));
  color: #ffffff;
  font: 800 var(--fs-cta) / 1.2 var(--sans);
  font-feature-settings: "palt";
  letter-spacing: 0.04em;
  text-decoration: none;
  white-space: nowrap;
  box-shadow:
    0 10px 22px var(--cta-shadow),
    inset 0 1px 0 rgba(255, 255, 255, 0.28);
  transition:
    transform 0.2s var(--ease),
    filter 0.2s,
    box-shadow 0.2s;
}

.career-strategy_cta__HNDHI svg {
  flex: none;
  width: 22px;
  height: 22px;
  transition: transform 0.2s var(--ease);
}

@media (hover: hover) and (pointer: fine) {
  .career-strategy_cta__HNDHI:hover {
    filter: saturate(1.08) brightness(0.96);
    transform: translateY(-2px);
    box-shadow:
      0 14px 26px rgba(232, 68, 46, 0.4),
      inset 0 1px 0 rgba(255, 255, 255, 0.28);
  }

  .career-strategy_cta__HNDHI:hover svg {
    transform: translateX(3px);
  }
}

.career-strategy_cta__HNDHI:active {
  transform: translateY(1px);
}

.career-strategy_ctaBlock__L7gxm {
  width: min(100%, 460px);
}

.career-strategy_ctaBlock__L7gxm .career-strategy_cta__HNDHI {
  width: 100%;
}

@media (max-width: 820px) {
  .career-strategy_ctaBlock__L7gxm {
    width: 100%;
  }

  .career-strategy_cta__HNDHI {
    min-height: 58px;
  }
}

/* チェック付きの短い注記（FV の下・最終CTA の下）。 */
.career-strategy_micro__X9MGV {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 16px;
  margin: 14px 0 0;
  padding: 0;
  list-style: none;
  font: 700 12.5px/1.6 var(--sans);
  color: var(--sub);
}

.career-strategy_micro__X9MGV li {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.career-strategy_micro__X9MGV li::before {
  content: "";
  flex: none;
  width: 15px;
  height: 15px;
  border-radius: 50%;
  background: var(--accent)
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 8.4 6.6 11.4 12.6 4.8'/%3E%3C/svg%3E")
    no-repeat center / 9px;
}

.career-strategy_microCenter__P5nVx {
  justify-content: center;
}

@media (max-width: 820px) {
  .career-strategy_micro__X9MGV {
    gap: 4px 12px;
    font-size: 12px;
  }
}

/* ---------- 写真（上田さん） ---------- */

/* 写真がまだ無い・読み込めないときは、淡い人の形を見せる（alt の文字は丸の中に出さない）。 */
.career-strategy_photo__m_rN8 {
  position: relative;
  display: block;
  overflow: hidden;
  border: 5px solid #ffffff;
  border-radius: 50%;
  background: var(--cream-2)
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Ccircle cx='50' cy='40' r='18' fill='%23ecd3b8'/%3E%3Cpath d='M18 92c4-20 18-30 32-30s28 10 32 30z' fill='%23ecd3b8'/%3E%3C/svg%3E")
    no-repeat center / 70%;
  box-shadow:
    0 0 0 2px #f1dcc4,
    0 16px 34px rgba(90, 50, 30, 0.16);
}

.career-strategy_photo__m_rN8 img {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  color: transparent;
}

/* 読み込めなかった画像にだけ描かれる疑似要素で、ブラウザの「壊れた画像」の印を隠す。 */
.career-strategy_photo__m_rN8 img::before {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--cream-2)
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Ccircle cx='50' cy='40' r='18' fill='%23ecd3b8'/%3E%3Cpath d='M18 92c4-20 18-30 32-30s28 10 32 30z' fill='%23ecd3b8'/%3E%3C/svg%3E")
    no-repeat center / 70%;
}

/* ---------- ① FV ---------- */

.career-strategy_fv___pYA7 {
  padding: 16px 14px 0;
}

@media (max-width: 920px) {
  .career-strategy_fv___pYA7 {
    padding: 12px 10px 0;
  }
}

.career-strategy_fvCard___kTJE {
  position: relative;
  overflow: hidden;
  border: 1px solid #f1e0cf;
  border-radius: 0;
  background:
    var(--flurry) 0 0 / 180px 180px,
    var(--wash-card),
    linear-gradient(180deg, var(--cream), var(--paper));
  box-shadow: var(--shadow);
}

.career-strategy_fvFlake__qoxRZ {
  position: absolute;
  color: rgba(217, 67, 58, 0.08);
  pointer-events: none;
}

.career-strategy_fvFlakeA__yqnRT {
  top: -26px;
  left: 46%;
  width: 132px;
  height: 132px;
  transform: rotate(12deg);
}

.career-strategy_fvFlakeB__z09lr {
  bottom: -18px;
  left: -14px;
  width: 92px;
  height: 92px;
}

.career-strategy_fvGrid__Ks5hy {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 28px;
  padding: 50px 40px 38px;
}

.career-strategy_fvText__jF8Xd {
  display: flex;
  min-width: 0;
  flex-direction: column;
}

@media (max-width: 820px) {
  .career-strategy_fvGrid__Ks5hy {
    grid-template-areas:
      "labels photo"
      "title title"
      "action action";
    align-items: start;
    gap: 0 12px;
    padding: 30px 16px 24px;
  }

  .career-strategy_fvText__jF8Xd {
    display: contents;
  }
}

.career-strategy_labels__6e17Y {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

@media (max-width: 820px) {
  .career-strategy_labels__6e17Y {
    grid-area: labels;
    align-content: center;
    gap: 6px;
    min-height: 84px;
  }
}

.career-strategy_label__Tn9t7 {
  display: inline-flex;
  align-items: center;
  height: 32px;
  padding: 0 14px;
  border: 1px solid #f3cdc6;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.85);
  font: 800 13.5px/1 var(--sans);
  font-feature-settings: "palt";
  letter-spacing: 0.06em;
  color: var(--accent-d);
}

/* 1 つ目（28卒限定）だけ濃い赤で塗る。 */
.career-strategy_label__Tn9t7:first-child {
  border-color: var(--accent-d);
  background: var(--accent-d);
  color: #ffffff;
}

@media (max-width: 820px) {
  .career-strategy_label__Tn9t7 {
    height: 28px;
    padding: 0 11px;
    font-size: 12.5px;
  }
}

.career-strategy_h1__IT8pE {
  margin: 18px 0 0;
  line-height: 1.28;
}

@media (max-width: 820px) {
  .career-strategy_h1__IT8pE {
    grid-area: title;
    margin-top: 14px;
  }
}

.career-strategy_fvAction__C04IY {
  margin-top: 30px;
}

@media (max-width: 820px) {
  .career-strategy_fvAction__C04IY {
    grid-area: action;
    margin-top: 20px;
  }

  .career-strategy_fvAction__C04IY .career-strategy_cta__HNDHI {
    width: 100%;
  }
}

@media (min-width: 821px) {
  .career-strategy_fvAction__C04IY .career-strategy_cta__HNDHI {
    min-width: 380px;
  }
}

.career-strategy_fvPhoto__Ba0sL {
  position: relative;
  margin: 0;
  width: 216px;
}

.career-strategy_fvPhoto__Ba0sL .career-strategy_photo__m_rN8 {
  width: 216px;
  height: 216px;
}

@media (max-width: 920px) {
  .career-strategy_fvPhoto__Ba0sL,
  .career-strategy_fvPhoto__Ba0sL .career-strategy_photo__m_rN8 {
    width: 176px;
  }

  .career-strategy_fvPhoto__Ba0sL .career-strategy_photo__m_rN8 {
    height: 176px;
  }
}

@media (max-width: 820px) {
  .career-strategy_fvPhoto__Ba0sL {
    grid-area: photo;
    width: 84px;
  }

  .career-strategy_fvPhoto__Ba0sL .career-strategy_photo__m_rN8 {
    width: 84px;
    height: 84px;
    border-width: 3px;
  }
}

.career-strategy_fvName__TMAqU {
  position: absolute;
  left: 50%;
  bottom: -6px;
  padding: 5px 14px;
  border-radius: 999px;
  background: var(--ink);
  font: 700 13px/1.2 var(--sans);
  letter-spacing: 0.08em;
  color: #ffffff;
  white-space: nowrap;
  transform: translateX(-50%);
}

@media (max-width: 820px) {
  .career-strategy_fvName__TMAqU {
    bottom: -8px;
    padding: 3px 10px;
    font-size: 11px;
  }
}

/* ニット柄の帯（飾り）。カードの端に沿って置く。 */
.career-strategy_knit__nERef {
  position: absolute;
  left: 0;
  right: 0;
  height: 14px;
  background: var(--knit) 0 0 / 32px 14px repeat-x;
  pointer-events: none;
}

.career-strategy_knitTop___L6GB {
  top: 0;
}

.career-strategy_knitBottom__jtowG {
  bottom: 0;
}

/* ---------- 流れる帯 ---------- */

.career-strategy_marquee__jovq3 {
  overflow: hidden;
  margin-top: 24px;
  background: #b8302a;
  color: var(--cream);
}

@media (max-width: 920px) {
  .career-strategy_marquee__jovq3 {
    margin-top: 16px;
  }
}

.career-strategy_marqueeTrack__6WScq {
  display: flex;
  width: max-content;
}

.career-strategy_marqueeRun__dBy5a {
  display: flex;
}

.career-strategy_marqueeItem__Jif6Z {
  display: inline-flex;
  align-items: center;
  gap: 24px;
  padding: 12px 24px 12px 0;
  font: 800 var(--fs-marquee) / 1 var(--sans);
  font-feature-settings: "palt";
  letter-spacing: 0.08em;
  white-space: nowrap;
}

.career-strategy_marqueeFlake__cs35Y {
  display: block;
  width: 18px;
  height: 18px;
  color: var(--rose);
}

@media (max-width: 600px) {
  .career-strategy_marqueeItem__Jif6Z {
    gap: 18px;
    padding: 10px 18px 10px 0;
  }

  .career-strategy_marqueeFlake__cs35Y {
    width: 15px;
    height: 15px;
  }
}

/* ---------- ② 共感（吹き出しのカード） ---------- */

.career-strategy_problems__KVJEo {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px 18px;
  margin: 0;
  padding: 0;
  list-style: none;
}

@media (max-width: 920px) {
  .career-strategy_problems__KVJEo {
    grid-template-columns: minmax(0, 1fr);
    gap: 22px;
  }
}

.career-strategy_problem__XTO_0 {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 20px 22px 22px;
  border: 1px solid var(--line);
  border-radius: 20px;
  background: #ffffff;
  box-shadow: var(--shadow-s);
}

.career-strategy_problem__XTO_0::after {
  content: "";
  position: absolute;
  left: 34px;
  bottom: -11px;
  width: 18px;
  height: 18px;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: #ffffff;
  transform: rotate(45deg);
}

.career-strategy_problemNo__3WqTu {
  font: 800 15px/1 var(--sans);
  letter-spacing: 0.04em;
  color: var(--accent);
}

.career-strategy_problemTitle__vUAtz {
  margin: 0;
  font: 800 var(--fs-card-title) / 1.5 var(--sans);
  font-feature-settings: "palt";
  letter-spacing: 0.03em;
  color: var(--ink);
}

.career-strategy_bridge__DD7uD {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  margin: 56px 0 0;
  text-align: center;
}

.career-strategy_bridge__DD7uD .career-strategy_fit__I7cM3 {
  line-height: 1.6;
}

.career-strategy_bridge__DD7uD .career-strategy_bridgeSub__ND9Co {
  color: var(--sub);
}

.career-strategy_bridge__DD7uD .career-strategy_bridgeMain__jHawq {
  color: var(--ink);
}

.career-strategy_arrowDown__y9WD9 {
  position: relative;
  display: block;
  width: 2px;
  height: 52px;
  margin: 22px auto 0;
  background: repeating-linear-gradient(to bottom, var(--accent) 0 4px, transparent 4px 9px);
  opacity: 0.6;
}

.career-strategy_arrowDown__y9WD9::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -8px;
  border: 6px solid transparent;
  border-top: 9px solid var(--accent);
  border-bottom: 0;
  transform: translateX(-50%);
}

/* ---------- ③ 相談する先輩（上田さん） ---------- */

/* 見出しの上のラベル（淡い桃の角丸の面に濃い赤の文字。ボタンに見えないよう塗りは淡くする）。 */
.career-strategy_secLabel__VzTK7 {
  display: inline-flex;
  align-items: center;
  height: 32px;
  margin: 0 0 14px;
  padding: 0 16px;
  border: 1px solid #f3cdc6;
  border-radius: 999px;
  background: var(--blush);
  font: 800 14px/1 var(--sans);
  font-feature-settings: "palt";
  letter-spacing: 0.08em;
  color: var(--accent-d);
}

@media (max-width: 920px) {
  .career-strategy_secLabel__VzTK7 {
    height: 28px;
    margin-bottom: 10px;
    padding: 0 13px;
    font-size: 12.5px;
  }
}

.career-strategy_mentorPhoto__r_Cie {
  width: 148px;
  height: 148px;
  margin-bottom: 18px;
}

@media (max-width: 920px) {
  .career-strategy_mentorPhoto__r_Cie {
    width: 120px;
    height: 120px;
    margin-bottom: 14px;
  }
}

.career-strategy_mentorTitle__6_myL {
  display: table;
  margin: -22px auto 0;
  padding: 7px 16px;
  border-radius: 999px;
  background: var(--blush);
  font: 700 13px/1.6 var(--sans);
  color: var(--accent-d);
  text-align: center;
}

@media (max-width: 920px) {
  .career-strategy_mentorTitle__6_myL {
    margin-top: -16px;
    font-size: 12.5px;
  }
}

.career-strategy_mentorCard__mhIbK {
  position: relative;
  max-width: 600px;
  margin: 28px auto 0;
  padding: 26px 30px 26px;
  border: 1px solid var(--line);
  border-radius: 22px;
  background: #ffffff;
  box-shadow: var(--shadow);
}

.career-strategy_mentorCard__mhIbK::before {
  content: "";
  position: absolute;
  left: 50%;
  top: -11px;
  width: 20px;
  height: 20px;
  border-top: 1px solid var(--line);
  border-left: 1px solid var(--line);
  background: #ffffff;
  transform: translateX(-50%) rotate(45deg);
}

@media (max-width: 920px) {
  .career-strategy_mentorCard__mhIbK {
    margin-top: 24px;
    padding: 20px 18px 20px;
  }
}

/* 上田さんの言葉（話し言葉なので、メッセージのように左揃えで 1 文ずつ置く）。 */
.career-strategy_body__IJPl5 {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin: 0;
  font: 500 var(--fs-body) / 1.9 var(--sans);
  color: var(--body);
  text-align: left;
}

.career-strategy_bodyLine___rR5c {
  display: block;
}

/* スマホは読点でまとめて送ると短い行が残るので、文節の区切りで折り返す。 */
@media (max-width: 600px) {
  .career-strategy_body__IJPl5 .career-strategy_clause__P4jpb {
    display: inline;
  }
}

/* 相談内容の一例（③の吹き出しの下）。 */
.career-strategy_topics__37X8D {
  max-width: 600px;
  margin: 26px auto 0;
  text-align: center;
}

.career-strategy_topicsLabel__el63K {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  margin: 0 0 14px;
  font: 800 14px/1.4 var(--sans);
  font-feature-settings: "palt";
  letter-spacing: 0.08em;
  color: var(--accent-d);
}

.career-strategy_topicsLabel__el63K::before,
.career-strategy_topicsLabel__el63K::after {
  content: "";
  width: 28px;
  height: 1px;
  background: var(--accent-l);
}

.career-strategy_topicList__oIzy_ {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.career-strategy_topic__gyqov {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 36px;
  padding: 6px 16px;
  border: 1px solid #f3cdc6;
  border-radius: 999px;
  background: #ffffff;
  font: 700 14px/1.4 var(--sans);
  font-feature-settings: "palt";
  letter-spacing: 0.03em;
  color: var(--ink);
  box-shadow: var(--shadow-s);
}

@media (max-width: 600px) {
  .career-strategy_topic__gyqov {
    min-height: 34px;
    padding: 5px 13px;
    font-size: 13px;
  }
}

/* ---------- ④ 60分でやること（REASON の型） ---------- */

.career-strategy_why__IuFyc {
  position: relative;
  padding: 72px 0 84px;
  border-bottom: 1px solid var(--line);
  background:
    var(--flurry) 0 0 / 220px 220px,
    var(--wash-card),
    linear-gradient(180deg, var(--cream-2), var(--paper));
  color: var(--ink);
  text-align: center;
}

@media (max-width: 920px) {
  .career-strategy_why__IuFyc {
    padding: 56px 0 64px;
  }
}

.career-strategy_whyTitle__ze55M {
  line-height: 1.35;
}

.career-strategy_steps__NU6yx {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  margin: 44px 0 0;
  padding: 0;
  list-style: none;
}

@media (max-width: 920px) {
  .career-strategy_steps__NU6yx {
    grid-template-columns: minmax(0, 1fr);
    gap: 26px;
    margin-top: 32px;
  }
}

.career-strategy_step__wdRRR {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.career-strategy_stepNoMask__YtlWR {
  display: block;
  overflow: hidden;
  padding: 0 0.04em 0.06em;
}

.career-strategy_stepNo__9EOkq {
  display: block;
  padding-right: 0.04em;
  background: linear-gradient(180deg, #ff7a5c, #c9352f);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  font: 800 var(--fs-step-no) / 0.86 var(--sans);
  letter-spacing: -0.02em;
}

.career-strategy_stepCard__Pq7qv {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
  width: 100%;
  margin-top: 30px;
  padding: 24px 12px 22px;
  border: 1px solid var(--line);
  border-radius: 22px;
  background: #ffffff;
  box-shadow: var(--shadow);
}

.career-strategy_stepCard__Pq7qv::before {
  content: "";
  position: absolute;
  left: 50%;
  top: -26px;
  width: 2px;
  height: 22px;
  background: repeating-linear-gradient(to bottom, var(--accent) 0 4px, transparent 4px 8px);
  opacity: 0.5;
}

@media (max-width: 920px) {
  .career-strategy_stepCard__Pq7qv {
    flex-direction: row;
    justify-content: center;
    gap: 14px;
    margin-top: 22px;
    padding: 18px 18px;
  }

  .career-strategy_stepCard__Pq7qv::before {
    top: -20px;
    height: 16px;
  }
}

.career-strategy_stepText__lzqHg {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
}

.career-strategy_stepNote__J08mu {
  font: 500 13px/1.75 var(--sans);
  color: var(--sub);
}

@media (max-width: 920px) {
  .career-strategy_stepCard__Pq7qv {
    justify-content: flex-start;
    text-align: left;
  }

  .career-strategy_stepText__lzqHg {
    align-items: flex-start;
    gap: 2px;
  }
}

.career-strategy_stepLabel__NrhHS {
  font: 800 var(--fs-step-label) / 1.45 var(--sans);
  font-feature-settings: "palt";
  letter-spacing: 0.03em;
  color: var(--ink);
  white-space: nowrap;
}

/* その手順に当たる 20 分（飾り）。 */
.career-strategy_clock__PpVW0 {
  flex: none;
  width: 52px;
  height: 52px;
}

@media (max-width: 920px) {
  .career-strategy_clock__PpVW0 {
    width: 40px;
    height: 40px;
  }
}

.career-strategy_clockFace__UDTb0 {
  fill: var(--cream-2);
  stroke: var(--line-2);
}

.career-strategy_clockSlice__IEyP5 {
  fill: var(--accent);
}

/* ---------- ⑤ 紹介 ---------- */

.career-strategy_offers__MXaUg {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin: 0;
  padding: 0;
  list-style: none;
}

@media (max-width: 920px) {
  .career-strategy_offers__MXaUg {
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
  }
}

.career-strategy_offer__HliPi {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  padding: 26px 20px 24px;
  border: 1px solid var(--line);
  border-radius: 20px;
  background: #ffffff;
  text-align: center;
  box-shadow: var(--shadow-s);
}

@media (max-width: 920px) {
  .career-strategy_offer__HliPi {
    display: grid;
    grid-template-columns: 52px minmax(0, 1fr);
    align-items: center;
    gap: 14px;
    padding: 18px 16px;
    text-align: left;
  }
}

.career-strategy_offerIcon__Vrfgz {
  display: grid;
  place-items: center;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: var(--blush);
  color: var(--accent-d);
}

@media (max-width: 920px) {
  .career-strategy_offerIcon__Vrfgz {
    width: 52px;
    height: 52px;
  }
}

.career-strategy_offerIcon__Vrfgz svg {
  width: 26px;
  height: 26px;
}

.career-strategy_offerTitle__84VP_ {
  margin: 0;
  font: 800 var(--fs-offer) / 1.55 var(--sans);
  font-feature-settings: "palt";
  letter-spacing: 0.03em;
  color: var(--ink);
}

.career-strategy_note__U6fsJ {
  margin: 16px 0 0;
  font: 700 12.5px/1.8 var(--sans);
  color: var(--sub);
  text-align: center;
}

.career-strategy_choice__YbVYq {
  margin: 4px 0 0;
  font: 700 13px/1.8 var(--sans);
  color: var(--accent-d);
  text-align: center;
}

.career-strategy_companiesCta__g534x {
  display: flex;
  justify-content: center;
  margin-top: 30px;
}

/* ---------- ⑥ おすすめ（チェックリストの窓） ---------- */

.career-strategy_win__R5gXJ {
  max-width: 520px;
  margin: 0 auto;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: #ffffff;
  box-shadow: 0 20px 48px rgba(90, 50, 30, 0.12);
}

.career-strategy_winBar__PwL71 {
  display: flex;
  align-items: center;
  gap: 6px;
  height: 40px;
  padding: 0 16px;
  border-bottom: 1px solid var(--line);
  background: var(--paper);
}

.career-strategy_winBar__PwL71 i {
  display: block;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--accent);
}

.career-strategy_winBar__PwL71 i:nth-child(2) {
  background: var(--accent-l);
}

.career-strategy_winBar__PwL71 i:nth-child(3) {
  background: var(--line-2);
}

.career-strategy_winBody__MDh0t {
  padding: 20px;
  background: linear-gradient(180deg, var(--cream-2), var(--cream));
}

@media (max-width: 920px) {
  .career-strategy_winBody__MDh0t {
    padding: 14px;
  }
}

.career-strategy_checks__A6UBd {
  display: flex;
  flex-direction: column;
  gap: 14px;
  margin: 0;
  padding: 18px 18px 20px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #ffffff;
  list-style: none;
}

.career-strategy_checkItem__DN7US {
  display: flex;
  align-items: center;
  gap: 12px;
  font: 800 var(--fs-check) / 1.45 var(--sans);
  font-feature-settings: "palt";
  letter-spacing: 0.03em;
  color: var(--ink);
}

.career-strategy_checkBox__3k1_r {
  display: grid;
  flex: none;
  place-items: center;
  width: 24px;
  height: 24px;
  border: 1.5px solid var(--line-2);
  border-radius: 6px;
  background: #ffffff;
}

.career-strategy_checkBox__3k1_r svg {
  width: 17px;
  height: 17px;
  fill: none;
  stroke: var(--accent);
  stroke-width: 2.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

/* ---------- ⑦ FAQ（すべて開いた状態） ---------- */

.career-strategy_faqTitle__tsn3N {
  letter-spacing: 0.06em;
}

.career-strategy_faqList__tI0o6 {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin: 0;
}

.career-strategy_faqItem__GGmH0 {
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: #ffffff;
  box-shadow: 0 7px 22px rgba(90, 50, 30, 0.06);
}

.career-strategy_faqQ__QyZ6C {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 64px;
  margin: 0;
  padding: 14px 16px 10px 14px;
  font: 800 var(--fs-faq-q) / 1.55 var(--sans);
  font-feature-settings: "palt";
  letter-spacing: 0.03em;
  color: var(--ink);
}

.career-strategy_faqMark__kcBuL {
  display: grid;
  flex: none;
  place-items: center;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: var(--accent);
  font: 800 16px/1 var(--sans);
  color: #ffffff;
}

.career-strategy_faqA__yw5hR {
  display: grid;
  grid-template-columns: 32px minmax(0, 1fr);
  align-items: center;
  gap: 12px;
  margin: 0 14px 14px;
  padding: 12px 16px 12px 12px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--paper);
  font: 500 var(--fs-faq-a) / 1.9 var(--sans);
  color: var(--body);
}

.career-strategy_faqAMark___BvHN {
  background: var(--blush);
  color: var(--accent-d);
}

/* ---------- ⑧ 最終CTA（クロージングのカード） ---------- */

.career-strategy_closing__Z1LN0 {
  padding: 24px 14px 56px;
}

@media (max-width: 920px) {
  .career-strategy_closing__Z1LN0 {
    padding: 16px 10px 40px;
  }
}

@media (max-width: 767px) {
  /* スマホ固定CTA の高さ分を空け、⑧の注記が隠れないようにする（REQ-04）。 */
  .career-strategy_closing__Z1LN0 {
    padding-bottom: calc(40px + 84px + env(safe-area-inset-bottom));
  }
}

.career-strategy_closingCard__IsCbd {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  overflow: hidden;
  padding: 60px 36px 52px;
  border: 1px solid #f1e0cf;
  border-radius: 0;
  background:
    var(--flurry) 0 0 / 180px 180px,
    var(--wash-card),
    linear-gradient(180deg, var(--cream), var(--paper));
  text-align: center;
  box-shadow: var(--shadow);
}

@media (max-width: 920px) {
  .career-strategy_closingCard__IsCbd {
    padding: 40px 16px 36px;
  }
}

.career-strategy_closingFlakeA__bfBZx {
  top: -20px;
  right: -10px;
  width: 120px;
  height: 120px;
  transform: rotate(18deg);
}

.career-strategy_closingFlakeB__3sZ2X {
  bottom: -16px;
  left: 6%;
  width: 72px;
  height: 72px;
}

.career-strategy_closingTitle__Ff8xE {
  position: relative;
  line-height: 1.6;
}

.career-strategy_closingGrid__vNMXj {
  position: relative;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  width: 100%;
  max-width: 680px;
  margin-top: 30px;
  text-align: left;
}

@media (max-width: 760px) {
  .career-strategy_closingGrid__vNMXj {
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
    margin-top: 22px;
  }
}

.career-strategy_closingBox__HxOkz {
  padding: 20px 20px 18px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: #ffffff;
  box-shadow: var(--shadow-s);
}

.career-strategy_closingBoxTitle__d6osC {
  margin: 0 0 12px;
  font: 800 14px/1.4 var(--sans);
  font-feature-settings: "palt";
  letter-spacing: 0.06em;
  color: var(--accent-d);
}

.career-strategy_gainList__Zxbej,
.career-strategy_flowList__OaRuF {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.career-strategy_gainItem__5WVP3,
.career-strategy_flowItem___hzLO {
  display: flex;
  align-items: center;
  gap: 10px;
  font: 800 15.5px/1.5 var(--sans);
  font-feature-settings: "palt";
  letter-spacing: 0.02em;
  color: var(--ink);
}

.career-strategy_flowNo__lB6GX {
  display: grid;
  flex: none;
  place-items: center;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: var(--accent-d);
  font: 800 13px/1 var(--sans);
  color: #ffffff;
}

.career-strategy_closingMentor__81RIn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 14px;
  font: 700 14px/1.5 var(--sans);
  color: var(--ink);
}

.career-strategy_closingAvatar__5Mdfk {
  width: 48px;
  height: 48px;
  border-width: 2px;
  box-shadow: 0 0 0 1px #f1dcc4;
}

.career-strategy_closingAction___gagU {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  margin-top: 30px;
}

@media (max-width: 920px) {
  .career-strategy_closingAction___gagU {
    margin-top: 22px;
  }
}

/* 320〜360px: ボタンが 1 行に入るよう、カードとボタンの左右の余白を詰める。 */
@media (max-width: 360px) {
  .career-strategy_fvGrid__Ks5hy {
    padding-inline: 12px;
  }

  .career-strategy_closingCard__IsCbd {
    padding-inline: 10px;
  }

  .career-strategy_cta__HNDHI {
    gap: 8px;
    padding: 0 14px 0 18px;
  }

  .career-strategy_cta__HNDHI svg {
    width: 20px;
    height: 20px;
  }
}

/* ---------- スマホ固定CTA（REQ-04） ---------- */

.career-strategy_sticky__eGDJR {
  position: fixed;
  inset-inline: 0;
  bottom: 0;
  z-index: 50;
  padding: 10px 18px calc(12px + env(safe-area-inset-bottom));
  border-top: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 -10px 24px rgba(90, 50, 30, 0.08);
  transform: translate3d(0, 110%, 0);
  visibility: hidden;
  transition:
    transform 0.35s var(--ease),
    visibility 0s linear 0.35s;
}

.career-strategy_sticky__eGDJR[data-visible="true"] {
  transform: none;
  visibility: visible;
  transition:
    transform 0.35s var(--ease),
    visibility 0s;
}

.career-strategy_sticky__eGDJR .career-strategy_cta__HNDHI {
  width: 100%;
  min-height: 54px;
}

.career-strategy_sticky__eGDJR .career-strategy_cta__HNDHI svg {
  width: 20px;
  height: 20px;
}

@media (min-width: 768px) {
  .career-strategy_sticky__eGDJR {
    display: none;
  }
}

/* ---------- PC の左右（学転の赤・暖かい光・降る雪） ---------- */

.career-strategy_backdrop__G39Ga {
  position: fixed;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  pointer-events: none;
  background: linear-gradient(
    180deg,
    #e85a48 0%,
    #d9433a calc(50% - 360px),
    var(--rail-red) calc(50% - 200px),
    var(--rail-red) calc(50% + 200px),
    #d9433a calc(50% + 360px),
    #e6553f 100%
  );
}

@media (max-width: 920px) {
  .career-strategy_backdrop__G39Ga {
    display: none;
  }
}

.career-strategy_bdLight__iM7GE {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(44% 30% at 0% 0%, rgba(255, 170, 120, 0.55), rgba(255, 170, 120, 0) 66%),
    radial-gradient(40% 28% at 100% 0%, rgba(255, 200, 120, 0.45), rgba(255, 200, 120, 0) 66%),
    radial-gradient(44% 30% at 100% 100%, rgba(255, 214, 120, 0.45), rgba(255, 214, 120, 0) 66%),
    radial-gradient(40% 28% at 0% 100%, rgba(255, 150, 120, 0.45), rgba(255, 150, 120, 0) 66%);
}

/* 降る雪。点の模様を縦に 1 枚分ずらし続ける（transform だけ）。 */
.career-strategy_bdSnow__BOQhY {
  position: absolute;
  top: -240px;
  right: 0;
  bottom: 0;
  left: 0;
  background-image: var(--snow-dots);
  background-size: 240px 240px;
  opacity: 0.85;
}

.career-strategy_bdSnowFar__J4RPB {
  top: -160px;
  background-size: 160px 160px;
  opacity: 0.4;
}


/* ---------- 1360px 以上の左右の柱 ---------- */

.career-strategy_rail__QcseX {
  display: none;
}

@media (min-width: 1360px) {
  .career-strategy_rail__QcseX {
    position: fixed;
    top: 0;
    bottom: 0;
    z-index: 3;
    display: flex;
    align-items: center;
    justify-content: center;
    width: calc((100% - var(--col)) / 2);
    padding: 0 28px;
  }

  .career-strategy_railLeft__rQqFw {
    left: 0;
  }

  .career-strategy_railRight__iVTnH {
    right: 0;
  }
}

.career-strategy_railInner__b40_5 {
  container-type: inline-size;
  display: flex;
  width: 100%;
  max-width: 260px;
  flex-direction: column;
  align-items: stretch;
  gap: 18px;
}

/* 長いほうの行（約 12.6 字分）が柱の幅に入る大きさまで縮める（最大 17px）。 */
.career-strategy_railCatch__bk0vZ {
  margin: 0;
  font: 800 min(17px, calc(100cqi / 12.6)) / 1.6 var(--sans);
  font-feature-settings: "palt";
  letter-spacing: 0.04em;
  color: #ffffff;
  text-align: center;
}

.career-strategy_railCatchLine__hwAQ2 {
  display: block;
  white-space: nowrap;
}

/* 柱は細い（中身 184〜260px）ので、ボタンの文言は文節で 2 行に折ってよい。
   赤の柱の上では、白地に濃い赤（#C8352A。白で 5.3:1）の文字にする。 */
.career-strategy_rail__QcseX .career-strategy_cta__HNDHI {
  background: #ffffff;
  color: #c8352a;
  box-shadow:
    0 16px 30px rgba(90, 10, 10, 0.3),
    0 3px 8px rgba(90, 10, 10, 0.16);
  width: 100%;
  min-height: 58px;
  padding: 12px 12px;
  font-size: 19px;
  white-space: normal;
  word-break: keep-all;
  line-height: 1.3;
  text-align: center;
}

/* 右の柱の目次（赤の柱の上なので白い文字。今読んでいる項目は番号を白で塗り、少し右へずらす）。 */
.career-strategy_railIndexTitle__xBN_X {
  margin: 0;
  font: 800 20px/1 var(--sans);
  font-feature-settings: "palt";
  letter-spacing: 0.14em;
  color: #ffffff;
}

.career-strategy_railIndex__S0FUX {
  display: flex;
  flex-direction: column;
  margin: -4px 0 0;
  padding: 0;
  list-style: none;
}

.career-strategy_railIndexLink__tyGhd {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 7px 0;
  border-radius: 6px;
  font: 700 15px/1.4 var(--sans);
  font-feature-settings: "palt";
  letter-spacing: 0.04em;
  color: #ffffff;
  text-decoration: none;
  white-space: nowrap;
}

.career-strategy_railIndexNo__sGl6c {
  display: inline-flex;
  flex: none;
  align-items: center;
  justify-content: center;
  min-width: 32px;
  height: 22px;
  padding: 0 6px;
  border: 1px solid rgba(255, 255, 255, 0.6);
  border-radius: 999px;
  font: 700 11.5px/1 var(--sans);
  letter-spacing: 0.04em;
}

.career-strategy_railIndexLink__tyGhd:hover,
.career-strategy_railIndexLink__tyGhd:focus-visible,
.career-strategy_railIndexLink__tyGhd[aria-current="location"] {
  transform: translateX(6px);
}

.career-strategy_railIndexLink__tyGhd:hover .career-strategy_railIndexNo__sGl6c,
.career-strategy_railIndexLink__tyGhd:focus-visible .career-strategy_railIndexNo__sGl6c {
  border-color: #ffffff;
  background: rgba(255, 255, 255, 0.2);
}

.career-strategy_railIndexLink__tyGhd:focus-visible {
  outline: 2px solid #ffffff;
  outline-offset: 4px;
}

.career-strategy_railIndexLink__tyGhd[aria-current="location"] {
  font-weight: 800;
}

.career-strategy_railIndexLink__tyGhd[aria-current="location"] .career-strategy_railIndexNo__sGl6c {
  border-color: #ffffff;
  background: #ffffff;
  color: #c8352a;
}

/* 目次で飛んだ先のセクションはフォーカスを受ける（読み上げの位置を移す）が、枠は描かない。 */
.career-strategy_anchor__i2Du1:focus {
  outline: none;
}

/* ---------- 動き（REQ-09） ---------- */

@keyframes career-strategy_cs-rise__0H4mM {
  from {
    opacity: 0;
    transform: translate3d(0, 16px, 0);
  }

  to {
    opacity: 1;
    transform: none;
  }
}

@keyframes career-strategy_cs-line__dEb63 {
  from {
    transform: translate3d(0, 110%, 0);
  }

  to {
    transform: none;
  }
}

@keyframes career-strategy_cs-slide__3sjmO {
  to {
    transform: translateX(-50%);
  }
}

@keyframes career-strategy_cs-snow__RQK2A {
  to {
    transform: translate3d(0, 240px, 0);
  }
}

@keyframes career-strategy_cs-snow-far__A8Ld1 {
  to {
    transform: translate3d(0, 160px, 0);
  }
}

@media (prefers-reduced-motion: no-preference) {
  /*
   * ① FV: ラベル → 見出し1行目 → 2行目 → CTA → 写真 を 100ms 間隔で。
   * 最後（4 番目）の開始は 40 + 4 × 100 = 440ms、長さ 640ms で 1.08 秒に終わる（1.2 秒以内）。
   * CSS だけで動き、終わりは必ず表示状態なので、JavaScript が無くても文字は消えたままにならない。
   */
  .career-strategy_rise__Z0XL4 {
    animation: career-strategy_cs-rise__0H4mM 640ms var(--ease) both;
    animation-delay: calc(40ms + var(--i) * 100ms);
  }

  /* 右の柱の目次: カーソル・現在地で少し右へずれる動き。 */
  .career-strategy_railIndexLink__tyGhd {
    transition: transform 300ms var(--ease);
  }

  .career-strategy_railIndexNo__sGl6c {
    transition:
      background-color 250ms var(--ease),
      color 250ms var(--ease),
      border-color 250ms var(--ease);
  }

  /*
   * ④: JavaScript が動いて「まだ画面の外にある」と分かったときだけ data-armed で隠し、
   * 画面に入ったら data-revealed で 1 回だけ出す。JavaScript が無いときは隠さない。
   */
  .career-strategy_steps__NU6yx[data-armed="true"] .career-strategy_stepNo__9EOkq {
    transform: translate3d(0, 110%, 0);
  }

  .career-strategy_steps__NU6yx[data-armed="true"] .career-strategy_stepCard__Pq7qv {
    opacity: 0;
    transform: translate3d(0, 16px, 0);
  }

  .career-strategy_steps__NU6yx[data-armed="true"][data-revealed="true"] .career-strategy_stepNo__9EOkq {
    animation: career-strategy_cs-line__dEb63 820ms var(--ease) both;
    animation-delay: calc(var(--i) * 160ms);
  }

  .career-strategy_steps__NU6yx[data-armed="true"][data-revealed="true"] .career-strategy_stepCard__Pq7qv {
    animation: career-strategy_cs-rise__0H4mM 640ms var(--ease) both;
    animation-delay: calc(200ms + var(--i) * 160ms);
  }

  /* 流れる帯（飾り。読み上げない）。 */
  .career-strategy_marqueeTrack__6WScq {
    animation: career-strategy_cs-slide__3sjmO 42s linear infinite;
  }

  /* PC の左右: 雪が降る。 */
  .career-strategy_bdSnow__BOQhY {
    animation: career-strategy_cs-snow__RQK2A 14s linear infinite;
  }

  .career-strategy_bdSnowFar__J4RPB {
    animation: career-strategy_cs-snow-far__A8Ld1 22s linear infinite;
  }
}

@media (prefers-reduced-motion: reduce) {
  .career-strategy_cta__HNDHI,
  .career-strategy_cta__HNDHI svg,
  .career-strategy_sticky__eGDJR,
  .career-strategy_sticky__eGDJR[data-visible="true"] {
    transition: none;
  }
}

