
/* =========================================================================
   v2 書体：英字＝Barlow Condensed（C案の太い実在イタリック）× 和文＝Noto Sans JP（現行のまま）
   2026-09-26 かおりさん承認（「C の英字＋A の日本語」）。C案の検証済みCSSから和文見出しの Dela Gothic One を除いたもの
   ========================================================================= */
:root {
  --f-en: 'Barlow Condensed', 'Arial Narrow', sans-serif;
  --f-ja: 'Noto Sans JP', 'Hiragino Sans', 'Yu Gothic', sans-serif;
}

/* ---------- 和文（A案の組み方）：見出しは字詰め＋文節改行、本文は 500・15px・字間を少し開ける ---------- */
:root { --ink-soft: rgba(242, 239, 232, 0.74); }
.hero__title, .hero__sideJa, .mission__ja, .roles__title, .team__title, .members__title,
.dos__ja, .final__jaBig, .mslide__quote strong, .faq__q, .entry-dialog h2 {
  font-feature-settings: 'palt' 1; word-break: auto-phrase;
}
.hero__title { line-height: 1.2; letter-spacing: 0.01em; }
.hero__lead { font-weight: 500; font-size: clamp(14px, 1.1vw, 16px); line-height: 1.95; letter-spacing: 0.04em; word-break: auto-phrase; }
.mission__ja { line-height: 1.45; letter-spacing: 0.02em; }
.roles__title { letter-spacing: 0.01em; line-height: 1.36; }
.team__title { letter-spacing: 0.01em; line-height: 1.38; }
.final__jaBig { letter-spacing: 0.01em; line-height: 1.32; }
.dos__ja { letter-spacing: 0.02em; }
.mission__body p:not(.mission__ja), .roles__sub, .team__sub, .final__ja p:not(.final__jaBig), .faq__a p {
  font-weight: 500; font-size: 15px; line-height: 2; letter-spacing: 0.04em; word-break: auto-phrase; text-wrap: pretty;
}
.role__txt p { font-weight: 500; font-size: 14px; line-height: 1.8; letter-spacing: 0.03em; word-break: auto-phrase; }
.tcard p { font-size: 13px; letter-spacing: 0.04em; }
.step p { font-weight: 500; font-size: 14px; letter-spacing: 0.04em; }

/* ---------- 写真に重なる文字：地の色をふんわりにじませて読みやすく（2026-09-26 承認「影」） ---------- */
.mslide__name, .mslide__no, .mslide__quote { text-shadow: 0 0 14px var(--bg), 0 0 6px var(--bg), 0 0 2px var(--bg); }
.hero__eyebrow, .hero__title, .hero__lead, .hero__side p, .hero__motto, .hero__words { text-shadow: 0 0 14px #050505, 0 0 6px #050505, 0 0 2px #050505; }
.final__ja p, .final__links a { text-shadow: 0 0 14px #0A0A0A, 0 0 6px #0A0A0A; }

/* ---------- 英字：小さな欄外・ラベル・ナビ（スタジアム表示の字間） ---------- */
.anno { font-family: var(--f-en); font-weight: 700; font-size: 13px; line-height: 1.22; letter-spacing: 0.12em; }
.label { font-family: var(--f-en); font-weight: 700; font-size: 13px; letter-spacing: 0.2em; }
.label b { font-weight: 900; font-size: 28px; letter-spacing: 0; }
.nav__links { font-family: var(--f-en); font-weight: 700; font-size: 14px; letter-spacing: 0.16em; }
.nav__entry { font-family: var(--f-en); font-weight: 900; font-style: italic; font-size: 16px; letter-spacing: 0.14em; }
.arrow-link, .final__links { font-family: var(--f-en); font-weight: 700; font-size: 13px; letter-spacing: 0.2em; }
.hero__scroll { font-weight: 700; font-size: 12px; letter-spacing: 0.3em; }

/* ---------- 英字：押す・進む（実在イタリック＝キャラ選択の名札） ---------- */
.hero__eyebrow { font-weight: 900; font-style: italic; font-size: 19px; letter-spacing: 0.1em; }
.btn { font-weight: 900; font-style: italic; font-size: 21px; letter-spacing: 0.05em; }
.btn b { font-weight: 900; }
.circle-link { font-weight: 900; font-style: italic; font-size: 19px; letter-spacing: 0.03em; white-space: nowrap; }
.final__btn { font-weight: 900; font-style: italic; font-size: clamp(28px, 2.6vw, 44px); letter-spacing: 0.02em; }
.drawer a { font-weight: 900; font-style: italic; }
.role__more { font-weight: 900; font-style: italic; font-size: 14px; letter-spacing: 0.14em; }
.role__more b { font-weight: 900; }
.mslide__role { font-weight: 900; font-style: italic; font-size: 16px; letter-spacing: 0.14em; }

/* ---------- 英字：背番号（数字はすべて 900・等幅数字） ---------- */
.label b, .role__no, .roles__count, .team__progress, .members__count, .mslide__no,
.step__no, .tcard__no, .dos__idx { font-variant-numeric: tabular-nums; }
.role__no { font-weight: 900; font-size: 26px; }
.roles__count, .team__progress, .members__count { font-weight: 700; font-size: 16px; }
.roles__now, .team__now, .members__now { font-weight: 900; font-size: 36px; }
.mslide__no { font-weight: 900; font-size: 28px; }
.step__no { font-weight: 900; font-size: 17px; }
.tcard__no { font-weight: 900; font-size: 15px; }
.dos__idx { font-weight: 900; font-size: 17px; }

/* ---------- 英字：大見出し（セクションごとに正体／斜体・サイズを変える） ---------- */
/* FV：ゲームタイトルのロゴのように実在イタリックで。Anton 用の scaleY(1.18) は字形が潰れるので打ち消し、その分サイズで高さを出す */
.hero__type { font-weight: 900; font-style: italic; font-size: clamp(120px, min(21.5vw, 36vh), 380px); line-height: 0.8; letter-spacing: 0; }
.hero__typeInner { scale: 1 0.8475; }
.hero__sideEn { font-weight: 900; font-size: clamp(24px, 2.1vw, 34px); line-height: 0.94; }

/* Barlow は Anton より1emあたり約8%広い。本文の段へ食い込まないよう字間を詰め、サイズは本文段の手前で止める */
.mission__title { font-weight: 900; font-size: clamp(72px, 9.4vw, 150px); line-height: 0.84; letter-spacing: -0.015em; }

.dos__line { font-weight: 900; font-style: italic; font-size: clamp(84px, 14.6vw, 246px); }
.dos__ghost { font-weight: 900; }

.role__name { font-weight: 900; font-style: italic; font-size: clamp(38px, 3.3vw, 56px); line-height: 0.95; }
.tcard h3 { font-weight: 900; font-style: italic; font-size: clamp(22px, 2vw, 32px); }
.tcard__v { font-weight: 900; font-size: clamp(22px, 1.8vw, 31px); letter-spacing: 0.06em; }

.mslide__giant { font-weight: 900; }
.mslide__name { font-weight: 900; font-style: italic; font-size: clamp(70px, 8vw, 134px); line-height: 0.88; }
.mslide__name span { font-style: normal; }
.mslide__chip figcaption { font-weight: 700; font-size: 13px; }

.flow__title { font-weight: 900; font-size: clamp(60px, 9vw, 150px); line-height: 0.88; }
.step h3 { font-weight: 900; font-style: italic; font-size: clamp(26px, 2.4vw, 40px); }
.faq__title { font-weight: 900; font-size: 22px; letter-spacing: 0.12em; }

/* FINAL：skewX の擬似斜体をやめ、実在イタリックで前へ出る */
.final__title em { font-style: inherit; }
.final__title { transform: none; font-weight: 900; font-style: italic; font-size: clamp(80px, 12vw, 204px); line-height: 0.86; letter-spacing: 0; }
.fdo { font-weight: 900; font-style: italic; }

/* =========================================================================
   SP
   ========================================================================= */
@media (max-width: 899px) {
  .hero__title { font-size: 34px; line-height: 1.22; }
  .hero__lead { font-size: 14px; }
  .btn { font-size: 18px; }
  .hero__type { font-size: 30vw; }
  .mission__title { font-size: 18.5vw; }
  .dos__line { font-size: 21.5vw; }
  .flow__title { font-size: 12.5vw; }
  .tcard h3 { font-size: 28px; }
  .mslide__name { font-size: 70px; }
  .final__title { font-size: 18.5vw; }
}

/* ---------- FV の大見出し「ARE YOU / READY?」（2026-09-26 ユーザー指示） ----------
   人物の頭の左端（おおよそ 83vw - 60vh）より手前に収まる幅から文字の大きさを逆算する。
   1行目「ARE YOU」の幅 ≒ 3.3em。高さは下の日本語見出しに届かないよう 22vh で頭打ち */
/* 高さの上限：下の見出しブロック（約340px）と上の余白を除いた高さを 2行（1.72em）で割る */
.hero__type { font-size: clamp(64px, min(calc((69vw - 60vh) / 3.3), calc((89vh - 460px) / 1.72)), 230px); line-height: 0.86; }
.hero__typeInner { display: block; }
.hero__typeLn { display: block; white-space: nowrap; }
.hero__typeLn + .hero__typeLn { padding-left: 0.32em; }
@media (max-width: 899px) {
  .hero__type { font-size: 24vw; line-height: 0.86; }
}
