@charset "UTF-8";
/*
Theme Name: NEXUS 2027
Theme URI: https://nexus2027.net/
Description: JAMEL Healthcare Innovation Nexus 2027 公式サイトのテーマ。Figma（P7MpxSJiMk8x7hfMujBAKD）02 Components を正とする。
Author: JAMEL / site build
Version: 0.2.0
Requires at least: 6.5
Requires PHP: 8.0
Text Domain: nexus2027
*/
/* ============================================================
   NEXUS 2027  共通スタイル
   トークンは DESIGN.md の確定値。色と級数はここ以外に書かない。
   配色は 2026-09-27 に KV（kv-2）に合わせ紫系へ変更。トークン名（navy/blue/teal/ink 等）は据え置きで値のみ差し替え。teal-* はマゼンタ系、ニュートラルは紫寄りのグレー。
   ============================================================ */
:root{
  --navy-900:#1C1640; --navy-800:#282050; --navy-700:#3B2F6E;
  --blue-600:#4E3A94; --blue-500:#6448B0; --blue-200:#D2C8EA; --blue-100:#ECE7F7;
  --teal-600:#8E2A6E; --teal-500:#A62D78; --teal-300:#F2A7C9;
  --pink-300:#FFB3C1; /* 2026-09-27 濃色地（KV・ページヘッダー）の差し色。kv-2 の光から採色。対 navy-900 10.07:1 */
  --gold-600:#A87F16; --gold-500:#C99A2E; --gold-300:#EBCB79;
  --teal-text:#8A2468; --gold-text:#7A5E10; --tbd-text:#585070; --on-dark-2:#C6BEDB;
  --paper:#F3F1F8; --surface:#FFFFFF; --surface-2:#FAF9FC;
  --ink:#1A1530; --ink-2:#3F3858; --muted:#625A78;
  --line:#DAD4E6; --line-soft:#EAE6F2;
  --on-teal:#FFFFFF;
  --f-black:"Archivo Black","Archivo","Arial Black",sans-serif;
  --f-en:"Archivo","Helvetica Neue",Arial,sans-serif;
  --f-jp:"Zen Kaku Gothic New","Noto Sans JP","Hiragino Sans",sans-serif;
  --f-body:"Noto Sans JP","Hiragino Sans",sans-serif;
  --f-mono:"IBM Plex Mono",ui-monospace,Menlo,monospace;
  --content:1080px; --gutter:30px;
  --z-header:100; --z-overlay:3; --z-raise:2;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;text-wrap:wrap;background:var(--paper);color:var(--ink);font-family:var(--f-body);
  font-size:16px;line-height:1.9;-webkit-font-smoothing:antialiased;
  font-feature-settings:"palt" 1}
img{max-width:100%;height:auto;display:block}
h1,h2,h3,h4{font-family:var(--f-jp);font-weight:700;line-height:1.4;margin:0}
p{margin:0}
a{color:var(--blue-600);text-underline-offset:3px}
a:hover{color:var(--teal-text)}
:focus-visible{outline:3px solid var(--teal-500);outline-offset:3px;border-radius:2px}
.l-inner{max-width:var(--content);margin-inline:auto;padding-inline:var(--gutter)}
@media (max-width:600px){:root{--gutter:18px} body{font-size:15px}}
.c-skip-link{position:absolute;left:-9999px}
.c-skip-link:focus{left:12px;top:12px;z-index:999;background:var(--surface);padding:10px 16px;border-radius:6px}

/* ---------- G-01 GlobalHeader（Figma 6:85 / SP 20:130） ----------
   ロゴ／ナビ／言語切替の3要素。参加申込の導線は置かない（G-03 FloatingCTA が担う）。
   翻訳でラベルが伸びると固定ブレークポイントでは溢れるため、nav.js が実測で
   .l-header--tight（詰める）→ .l-header--compact（ハンバーガー）を段階的に付ける。 */
.l-header{position:sticky;top:0;z-index:var(--z-header);background:var(--surface);border-bottom:1px solid var(--line)}
.l-header__inner{display:flex;align-items:center;gap:20px;max-width:var(--content);margin-inline:auto;padding:16px var(--gutter)}
.l-header__brand{display:flex;align-items:center;gap:14px;text-decoration:none;flex:0 0 auto}
.l-header__logo{display:block;height:34px;width:auto;flex:0 0 auto}
.l-header__tagline{font-family:var(--f-mono);font-weight:500;font-size:9.5px;letter-spacing:.13em;color:var(--teal-text);
  line-height:1.5;white-space:nowrap}
.l-header__nav{margin-left:auto;display:flex;align-items:center;gap:22px}
.l-header__nav > *{flex:0 0 auto}
.l-header__nav a{font-size:14px;line-height:1.85;color:var(--ink-2);text-decoration:none;white-space:nowrap}
.l-header__nav a:hover,.l-header__nav a[aria-current="page"]{color:var(--teal-text)}
.l-header__actions{display:flex;align-items:center;gap:12px;flex:0 0 auto}
/* G-02 LanguageSwitcher */
.c-lang-switch{display:flex;align-items:center;gap:8px;font-family:var(--f-mono);font-weight:500;font-size:11px;letter-spacing:.06em;
  border:1px solid var(--line);border-radius:999px;padding:6px 13px}
.c-lang-switch button{appearance:none;border:0;background:transparent;font:inherit;letter-spacing:inherit;cursor:pointer;
  padding:0;color:var(--muted);line-height:1.5}
.c-lang-switch button:hover{color:var(--ink)}
/* 選択中の言語は色差だけでは判別しにくい（ユーザー指摘）ため、濃紺の塗りで明示する */
.c-lang-switch button[aria-current="true"]{color:#fff;background:var(--navy-800);border-radius:999px;padding:2px 9px;margin:-2px -3px}
/* ハンバーガー（44×44 タップ領域） */
.l-header__menu-btn{display:none;appearance:none;border:0;background:transparent;width:44px;height:44px;cursor:pointer;
  position:relative;padding:0;flex:0 0 auto;margin-right:-11px}
.l-header__menu-bar,.l-header__menu-bar::before,.l-header__menu-bar::after{position:absolute;left:11px;width:22px;height:2px;background:var(--ink);
  border-radius:1px;content:"";transition:transform .2s ease-out,opacity .2s ease-out}
.l-header__menu-bar{top:21px}
.l-header__menu-bar::before{left:0;top:-7px}
.l-header__menu-bar::after{left:0;top:7px}
.l-header--open .l-header__menu-bar{background:transparent}
.l-header--open .l-header__menu-bar::before{transform:translateY(7px) rotate(45deg)}
.l-header--open .l-header__menu-bar::after{transform:translateY(-7px) rotate(-45deg)}
/* 段階1：詰める */
.l-header--tight .l-header__tagline{display:none}
.l-header--tight .l-header__nav{gap:14px}
.l-header--tight .l-header__nav a{font-size:13px}
.l-header--tight .l-header__inner{gap:14px}
/* 段階2：ドロワー */
.l-header--compact .l-header__menu-btn{display:inline-flex}
.l-header--compact .l-header__tagline{display:none}
.l-header--compact .l-header__inner{gap:12px;padding-top:10px;padding-bottom:10px}
.l-header--compact .l-header__logo{height:29px}
.l-header--compact .l-header__actions{margin-left:auto}
.l-header--compact .c-lang-switch{padding:0 4px;gap:0}
.l-header--compact .c-lang-switch button{font-size:9.5px;letter-spacing:.13em;padding:14px 12px;margin:0;border-radius:0;background:transparent;color:var(--muted)}
.l-header--compact .c-lang-switch button[aria-current="true"]{color:#fff;position:relative;z-index:1}
.l-header--compact .c-lang-switch button[aria-current="true"]::before{content:"";position:absolute;inset:8px 4px;z-index:-1;background:var(--navy-800);border-radius:999px}
.l-header--compact .l-header__nav{position:fixed;left:0;right:0;top:var(--l-header-h,50px);bottom:0;z-index:var(--z-header);
  background:var(--surface);flex-direction:column;align-items:stretch;gap:0;margin:0;
  padding:8px var(--gutter) 32px;overflow-y:auto;
  /* 横に退避すると翻訳後の長いラベルがスクロール幅に加算されるため、縦方向にずらしてフェードする */
  transform:translateY(-10px);opacity:0;visibility:hidden;
  transition:transform .24s cubic-bezier(.2,.7,.2,1),opacity .2s ease-out,visibility 0s linear .24s}
.l-header--compact.l-header--open .l-header__nav{transform:none;opacity:1;visibility:visible;transition-delay:0s}
.l-header--compact .l-header__nav a{display:block;font-family:var(--f-jp);font-weight:700;font-size:16px;color:var(--ink);
  padding:16px 0;border-bottom:1px solid var(--line-soft);white-space:normal}
body.is-nav-open{overflow:hidden}
@media (prefers-reduced-motion:reduce){.l-header__nav,.l-header__menu-bar,.l-header__menu-bar::before,.l-header__menu-bar::after{transition:none}}

/* ---------- ボタン ---------- */
.c-button-1{display:inline-flex;align-items:center;gap:8px;font-family:var(--f-jp);font-weight:700;
  font-size:14px;padding:12px 24px;border-radius:999px;text-decoration:none;
  background:var(--teal-500);color:var(--on-teal);border:1px solid transparent}
.c-button-1:hover{background:var(--teal-600);color:#fff}
.c-button-1 small{font-family:var(--f-mono);font-size:9px;letter-spacing:.1em;opacity:.8}
.c-button-1--ghost{background:transparent;color:var(--ink);border-color:var(--line)}
.c-button-1--ghost:hover{background:var(--surface-2);color:var(--ink)}
.c-button-1--on-dark{border-color:rgba(255,255,255,.5);color:#fff;background:transparent}
.c-button-1--on-dark:hover{background:rgba(255,255,255,.12);color:#fff}
.c-button-1--sm{font-size:12px;padding:8px 16px}

/* ---------- G-06 PageHeader（Figma 9:122 / SP 20:142） ----------
   和文タイトル＋欧文サブの2行のみ。URL パスは出さない。
   地は MV と同じ kv-2 から切り出した帯（左=マゼンタ→右=インディゴ）。スクリムは文字が載る左側だけに掛ける。 */
.l-page-header{position:relative;isolation:isolate;overflow:hidden;background:var(--navy-800);color:#fff;
  min-height:220px;display:flex;align-items:center}
.l-page-header__bg{position:absolute;inset:0;z-index:0}
.l-page-header__bg img{width:100%;height:100%;object-fit:cover;object-position:center}
.l-page-header__scrim{position:absolute;inset:0;z-index:1;background:
  linear-gradient(90deg,rgba(20,15,46,.62) 0%,rgba(28,22,64,.48) 34%,rgba(40,32,80,.18) 62%,rgba(255,255,255,0) 88%)}
.l-page-header__inner{position:relative;z-index:var(--z-raise);width:100%;display:flex;flex-direction:column;gap:8px;padding-block:40px}
/* 見出しの塊は hgroup で束ねるが、並びは __inner の flex に任せたいので箱を作らない */
.l-page-header__heading{display:contents}
.l-page-header .c-breadcrumb{margin-bottom:4px}
.l-page-header .c-breadcrumb ol{color:var(--on-dark-2)}
.l-page-header .c-breadcrumb li{color:#fff}
.l-page-header .c-breadcrumb li + li::before{color:var(--on-dark-2)}
.l-page-header .c-breadcrumb a{color:var(--on-dark-2)}
.l-page-header .c-breadcrumb a:hover{color:#fff}
.l-page-header h1,.l-page-header .l-page-header__title{font-size:30px;line-height:1.35;letter-spacing:-.01em;color:#fff}
.l-page-header__en{font-family:var(--f-en);font-weight:600;font-size:11px;letter-spacing:.14em;line-height:1.5;
  text-transform:uppercase;color:var(--pink-300)}
@media (max-width:600px){
  .l-page-header{min-height:168px}
  .l-page-header__scrim{background:linear-gradient(90deg,rgba(20,15,46,.66) 0%,rgba(28,22,64,.56) 50%,rgba(40,32,80,.48) 100%)}
  .l-page-header__inner{gap:6px;padding-block:32px}
  .l-page-header h1,.l-page-header .l-page-header__title{font-size:24px;line-height:1.4}
  .l-page-header__en{font-family:var(--f-mono);font-weight:500;font-size:9.5px;letter-spacing:.13em}
}

/* ---------- 本文（法令ページ） ---------- */
.l-doc{padding:52px 0 96px}
.c-doc-card{background:var(--surface);border:1px solid var(--line);border-radius:10px;
  padding:44px 48px}
@media (max-width:600px){.c-doc-card{padding:26px 20px}}
.l-doc h2{font-size:17px;margin:34px 0 10px;padding-bottom:7px;border-bottom:1px solid var(--line-soft)}
.l-doc h2:first-child{margin-top:0}
.l-doc p{font-size:15px;color:var(--ink-2);margin:10px 0}
.l-doc ol,.l-doc ul{font-size:15px;color:var(--ink-2);padding-left:22px;margin:10px 0}
.l-doc li{margin:5px 0}
.c-doc-note{margin-top:32px;padding-top:16px;border-top:1px solid var(--line-soft);
  font-family:var(--f-mono);font-size:12px;color:var(--muted)}
/* C-21 ThemeStatement（Figma 234:480 ／ SP 234:483）。企画書 p.5 のメインテーマの帯 */
.c-theme{background:var(--blue-100);border-radius:8px;padding:28px 32px;margin:18px 0 8px;text-align:center}
.c-theme .c-theme__title{font-family:var(--f-jp);font-weight:700;font-size:24px;line-height:1.5;color:var(--blue-600);margin:0}
.c-theme .c-theme__sub{font-family:var(--f-jp);font-weight:700;font-size:16px;line-height:1.5;color:var(--blue-600);margin:8px 0 0}
@media (max-width:600px){.c-theme{padding:22px 18px}.c-theme .c-theme__title{font-size:19px}.c-theme .c-theme__sub{font-size:14px;margin-top:6px}}
.c-table-1{width:100%;border-collapse:collapse;font-size:15px;margin:14px 0;
  border:1px solid var(--line);border-radius:8px;overflow:hidden}
.c-table-1 th{background:var(--surface-2);text-align:left;font-family:var(--f-jp);font-weight:700;
  font-size:14px;color:var(--ink-2);padding:14px 16px;width:250px;vertical-align:top;
  border-bottom:1px solid var(--line-soft)}
.c-table-1 td{padding:14px 16px;color:var(--ink-2);vertical-align:top;border-bottom:1px solid var(--line-soft)}
.c-table-1 tr:last-child th,.c-table-1 tr:last-child td{border-bottom:0}
@media (max-width:700px){.c-table-1,.c-table-1 tbody,.c-table-1 tr,.c-table-1 th,.c-table-1 td{display:block;width:auto}
  .c-table-1 th{border-bottom:0}} /* SP：th の下余白・td の上余白は既定のまま（2026-09-10 ユーザー指定） */

/* 見出し行つきの定義表（2026-09-15 クライアント資料 p.3 の開催概要）。
   列見出しを両方入れたときだけこちらになる。色はスライドの青ではなくサイトのパレット。 */
.c-table-2{width:100%;border-collapse:collapse;font-size:15px;margin:14px 0;
  border:1px solid var(--line);border-radius:8px;overflow:hidden}
.c-table-2 thead th{background:var(--blue-600);color:#fff;text-align:center;
  font-family:var(--f-jp);font-weight:700;font-size:14px;line-height:1.5;padding:13px 16px;
  border-bottom:0}
.c-table-2 thead th:first-child{width:250px}
.c-table-2 thead th + th{border-left:1px solid rgba(255,255,255,.45)}
.c-table-2 tbody td{border-left:1px solid var(--line)}
.c-table-2 tbody th{background:var(--blue-100);text-align:center;font-family:var(--f-jp);font-weight:700;
  font-size:14px;color:var(--navy-800);padding:14px 16px;width:250px;vertical-align:middle;
  border-bottom:1px solid var(--surface)}
.c-table-2 tbody td{padding:14px 20px;color:var(--ink-2);vertical-align:middle;
  border-bottom:1px solid var(--line-soft)}
.c-table-2 tbody tr:nth-child(odd) td{background:var(--surface-2)}
.c-table-2 tbody tr:last-child th{border-bottom:0}
.c-table-2 tbody tr:last-child td{border-bottom:0}
@media (max-width:700px){
  .c-table-2 thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
  .c-table-2,.c-table-2 tbody,.c-table-2 tr,.c-table-2 tbody th,.c-table-2 tbody td{display:block;width:auto}
  .c-table-2 tbody th{text-align:left;border-bottom:0}
  .c-table-2 tbody td{border-left:0} /* 縦積みになるので列の縦罫は出さない */
}
/* 【要確認】: 金色の罫（高さ16px固定）を行の高さのスロットに入れて垂直中央へ。背景塗りは使わない（Figma state/pending） */
.c-todo{display:inline-flex;align-items:center;min-height:26px;vertical-align:top;color:var(--gold-text);
  font-weight:700;font-family:var(--f-jp);font-size:.94em;padding-left:9px;position:relative}
.c-todo::before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:2px;height:16px;
  background:var(--gold-500);border-radius:1px}

/* 旧カタログ由来の .p-top-sec / .p-top-sec__heading / .p-top-sec__title ルールは削除（2026-09-10）。TOP セクションは末尾の「TOP セクション」に集約 */
.c-stat-row{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
@media (max-width:640px){.c-stat-row{grid-template-columns:repeat(2,1fr)}}
.c-stat{background:var(--surface-2);border:1px solid var(--line);border-radius:8px;padding:20px;
  display:flex;flex-direction:column;gap:4px}
.c-stat b{font-family:var(--f-black);font-size:32px;color:var(--navy-800);line-height:1;
  font-variant-numeric:tabular-nums}
.c-stat span{font-size:12px;color:var(--muted)}
/* .c-news-list の見た目は末尾「C-15 NewsList」に集約（index.php と nexus/news-list で共用） */
.c-empty{padding:40px 0;text-align:center;display:flex;flex-direction:column;gap:14px;align-items:center}
.c-empty p{color:var(--muted);font-size:14px}
.c-quote{background:var(--surface-2);border-left:4px solid var(--teal-500);border-radius:0 8px 8px 0;
  padding:26px 30px;display:flex;flex-direction:column;gap:12px}
.c-quote blockquote{margin:0;font-family:var(--f-jp);font-weight:700;font-size:clamp(16px,2vw,19px);
  line-height:1.75;color:var(--ink)}
.c-quote cite{font-style:normal;font-size:13px;color:var(--muted)}

/* ---------- C-10 StatusBadge ---------- */
/* Figma 5:65 準拠：塗りなし・1px 罫・5px のドット・文字をすべて同色（色＋ドット＋文字の三重符号化） */
.c-badge{display:inline-flex;align-items:center;gap:6px;font-family:var(--f-mono);font-size:11px;
  font-weight:500;letter-spacing:.04em;line-height:1.5;padding:2px 9px;border-radius:4px;
  white-space:nowrap;border:1px solid currentColor;font-variant-numeric:tabular-nums}
.c-badge::before{content:"";flex:none;width:5px;height:5px;border-radius:50%;background:currentColor}
.c-badge--ok  {color:var(--teal-text)}
.c-badge--pend{color:var(--gold-text)}
.c-badge--tbd {color:var(--tbd-text)}

/* ---------- C-06 SpeakerCard ---------- */
.c-speaker-card{width:250px;background:var(--surface);border:1px solid var(--line);border-radius:8px;
  overflow:hidden;display:flex;flex-direction:column}
.c-speaker-card__photo{aspect-ratio:5/4;background:var(--line-soft)}
.c-speaker-card__body{padding:14px 16px 16px;display:flex;flex-direction:column;gap:5px}
.c-speaker-card__meta{display:flex;align-items:center;gap:8px}
.c-speaker-card__country{font-family:var(--f-mono);font-size:10px;letter-spacing:.08em;color:var(--muted);
  border:1px solid var(--line);border-radius:3px;padding:0 5px}
.c-speaker-card__name{font-size:15px;color:var(--ink)}
.c-speaker-card__org{font-size:12px;color:var(--muted);line-height:1.6}


/* ---------- C-03 Timeline（Figma 154:503 / SP 154:504） ----------
   2026-09-15 デザイン改訂（クライアント資料 p.13）：開催日の帯 ＋「アイコン＋時刻」と「内容」の 2 列。
   色はスライドの青ではなくサイトのパレット。時刻は等幅・右揃えで全行のコロンが縦に揃う。
   主要項目＝プログラム本体と開会式・閉会式（時刻側を濃紺、内容を太字）。 */
.c-timeline{display:flex;flex-direction:column;gap:18px}
.c-timeline .c-timeline__date{margin:0;padding:14px 18px;border-radius:8px;background:var(--blue-600);
  font-family:var(--f-jp);font-weight:700;font-size:16px;line-height:1.5;color:#fff;text-align:center}
.c-timeline .c-timeline__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:3px;
  border-radius:8px;overflow:hidden}
.c-timeline .c-timeline__item{display:grid;grid-template-columns:196px 1fr;align-items:stretch;margin:0}
.c-timeline .c-timeline__time{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin:0;
  padding:11px 16px;background:var(--blue-600);
  font-family:var(--f-mono);font-weight:500;font-size:13px;line-height:1.6;color:#fff;
  font-variant-numeric:tabular-nums}
.c-timeline .c-timeline__icon{flex:0 0 auto;margin-right:auto;width:17px;height:17px;display:block}
.c-timeline .c-timeline__label{display:flex;align-items:center;margin:0;padding:11px 20px;
  background:var(--surface-2);font-size:14px;line-height:1.7;color:var(--ink-2)}
.c-timeline .c-timeline__item:nth-child(even) .c-timeline__label{background:var(--surface)}
/* 主要項目は太字にするだけ。色は全行そろえる（2026-09-15 ユーザー指示） */
.c-timeline .c-timeline__item--main .c-timeline__label{font-family:var(--f-jp);font-weight:700;font-size:15px}
.c-timeline .c-timeline__note{margin:0;font-size:14px;line-height:1.85;color:var(--muted)}
@media (max-width:600px){
  .c-timeline{gap:14px}
  .c-timeline .c-timeline__date{padding:12px 14px;font-size:14px}
  .c-timeline .c-timeline__list{gap:8px}
  .c-timeline .c-timeline__item{grid-template-columns:1fr;border-radius:6px;overflow:hidden}
  .c-timeline .c-timeline__time{justify-content:flex-start;gap:8px;padding:8px 14px;font-size:12.5px}
  .c-timeline .c-timeline__icon{margin-right:0}
  .c-timeline .c-timeline__label{padding:11px 14px;font-size:13.5px}
}
/* モーション：行は 80ms stagger（原則2）、transform / opacity のみ（原則6）。
   data-anim は timeline.js が付ける。JS が動かなければ最初から最終状態。 */
.c-timeline .c-timeline__list[data-anim] .c-timeline__item{opacity:0;transform:translateY(6px)}
.c-timeline .c-timeline__list[data-anim].is-in .c-timeline__item{opacity:1;transform:none;
  transition:opacity .4s ease-out var(--d,0ms),transform .4s ease-out var(--d,0ms)}
@media (prefers-reduced-motion:reduce){
  .c-timeline .c-timeline__list[data-anim] .c-timeline__item{opacity:1;transform:none}
  .c-timeline .c-timeline__list[data-anim].is-in .c-timeline__item{transition:none}
}

/* ---------- G-04 GlobalFooter/2（Figma 42:212 / SP 42:1370） ----------
   団体情報（左）＋ SITE / JOIN の2列ナビ（右）＋ 法令行（プライバシー／特商法／運営会社＋©）。
   配色は 2026-09-10 採用の案C「全体を明るい青」：地 blue-100、罫線 blue-200、ロゴは明色地用。
   SP はナビを1行1項目の罫線リストにして 44px のタップ高さを確保する。 */
/* 案B：上帯（団体情報＋ナビ）は明るい青、法令行は白（2026-09-10 クライアント変更） */
.l-footer{background:var(--surface);color:var(--ink)}
.l-footer__band{background:var(--blue-100);padding:58px 0 40px}
.l-footer__top{display:flex;gap:58px;align-items:flex-start}
.l-footer__brand{width:420px;max-width:100%;display:flex;flex-direction:column;align-items:flex-start;gap:12px;flex:0 1 auto}
.l-footer__logo{display:block;height:42px;width:auto;flex:0 0 auto}
.l-footer__brand small{font-family:var(--f-mono);font-weight:500;font-size:9.5px;letter-spacing:.13em;line-height:1.5;color:var(--blue-600);white-space:nowrap}
.l-footer__brand address{font-style:normal;font-size:14px;line-height:1.85;color:var(--ink-2)}
.l-footer__brand address a{color:inherit;text-decoration:none}
.l-footer__nav-col{display:flex;flex-direction:column;gap:10px;flex:0 0 auto}
.l-footer__nav-col:first-of-type{margin-left:auto}
.l-footer__nav-col + .l-footer__nav-col{margin-left:58px}
.l-footer__nav-title{font-family:var(--f-en);font-weight:600;font-size:11px;letter-spacing:.14em;line-height:1.5;color:var(--blue-600)}
.l-footer__nav-col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.l-footer__nav-col li{margin:0;padding:0}
.l-footer__nav-col a{font-size:14px;line-height:1.85;color:var(--navy-800);text-decoration:none;white-space:nowrap}
.l-footer__nav-col a:hover,.l-footer__nav-col li.current-menu-item a{color:var(--blue-500)}
.l-footer__legal{padding:24px 0 32px;display:flex;gap:26px;flex-wrap:wrap;align-items:center}
.l-footer__legal a{font-size:14px;line-height:1.85;color:var(--blue-600);text-decoration:none;white-space:nowrap}
.l-footer__legal a:hover{text-decoration:underline}
.l-footer__copy{margin-left:auto;font-family:var(--f-mono);font-weight:500;font-size:11px;letter-spacing:.06em;color:var(--muted)}
@media (max-width:900px){
  .l-footer__top{flex-wrap:wrap;gap:32px}
  .l-footer__nav-col:first-of-type{margin-left:0}
  .l-footer__nav-col + .l-footer__nav-col{margin-left:0}
}
@media (max-width:600px){
  .l-footer__band{padding:40px 0 28px}
  .l-footer__top{flex-direction:column;gap:0;padding-bottom:0}
  .l-footer__brand{gap:11px;padding-bottom:26px;width:100%}
  .l-footer__logo{height:34px}
  .l-footer__brand small{white-space:normal}
  .l-footer__nav-col{width:100%;gap:0}
  .l-footer__nav-title{display:none}
  .l-footer__nav-col ul{gap:0}
  .l-footer__nav-col li{border-bottom:1px solid var(--blue-200)}
  .l-footer__nav-col a{display:block;padding:13px 0;white-space:normal}
  .l-footer__legal{padding:24px 0 28px;flex-direction:column;align-items:flex-start;gap:12px}
  .l-footer__legal a{white-space:normal;min-width:0}
  .l-footer__copy{margin-left:0}
}

/* ---------- G-03 FloatingCTA（Figma 44:265 / SP 20:134） ----------
   2026-10-01 改訂（クライアント参照 KOBE 2026）：PC は画面右端に縦書きタブ「イベント参加」「スポンサー」、SP は下部固定バーに 2 つ。
   「イベント参加」は区分選択の小窓（.c-entry-dialog）を開く。常時表示。
   イベント参加＝Star Gold 地＋Ink（7.6:1、従来の追従ボタンの色を継承）、スポンサー＝blue-600 地＋白（8.9:1）。 */
.c-floating-cta{position:fixed;right:0;top:132px;z-index:var(--z-header);display:flex;flex-direction:column;align-items:flex-end;gap:2px}
.c-floating-cta__tab{appearance:none;border:0;cursor:pointer;display:flex;align-items:center;justify-content:center;
  writing-mode:vertical-rl;text-orientation:upright;width:52px;padding:22px 0;border-radius:10px 0 0 10px;
  font-family:var(--f-jp);font-weight:700;font-size:15px;line-height:1;letter-spacing:.14em;text-decoration:none;
  box-shadow:0 6px 20px rgba(20,15,46,.22);transition:width .22s cubic-bezier(.2,.7,.2,1),background-color .16s ease-out}
.c-floating-cta__tab--entry{background:var(--gold-500);color:var(--ink)}
.c-floating-cta__tab--entry:hover,.c-floating-cta__tab--entry:focus-visible{background:var(--gold-300);color:var(--ink)}
.c-floating-cta__tab--sponsor{background:var(--blue-600);color:#fff}
.c-floating-cta__tab--sponsor:hover,.c-floating-cta__tab--sponsor:focus-visible{background:var(--blue-500);color:#fff}
/* hover：画面の右端から伸びる（右端に付いたまま幅だけ 52→66px。2026-10-01 ユーザー指示。左へ平行移動はしない） */
.c-floating-cta__tab:hover,.c-floating-cta__tab:focus-visible{width:66px}
/* 翻訳で英語・ベトナム語になったら縦書きのままだと読みにくいので横倒し（sideways） */
html[lang]:not([lang="ja"]) .c-floating-cta__tab,.translated-ltr .c-floating-cta__tab{text-orientation:mixed;letter-spacing:.04em}
@media (prefers-reduced-motion:reduce){.c-floating-cta__tab{transition:background-color .16s ease-out}}
@media (max-width:600px){
  .c-floating-cta{top:auto;left:0;right:0;bottom:0;flex-direction:row;gap:10px;padding:12px var(--gutter);
    background:var(--surface);border-top:1px solid var(--line);box-shadow:0 -2px 10px rgba(28,22,64,.1)}
  .c-floating-cta__tab{writing-mode:horizontal-tb;flex:1 1 0;width:auto;padding:14px 12px;border-radius:999px;box-shadow:none;letter-spacing:.06em}
  .c-floating-cta__tab:hover,.c-floating-cta__tab:focus-visible{width:auto}
  body{padding-bottom:70px} /* 下部固定バーぶん。CTA は常時表示なので無条件 */
}

/* 区分選択の小窓（<dialog>）。KOBE 参照：タイトル／案内文／区分ボタン縦並び／閉じる */
.c-entry-dialog{border:0;padding:0;border-radius:14px;width:min(420px,calc(100% - 32px));background:var(--surface);color:var(--ink);
  box-shadow:0 24px 60px rgba(20,15,46,.35)}
.c-entry-dialog::backdrop{background:rgba(20,15,46,.55)}
.c-entry-dialog__inner{padding:32px 32px 26px;display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center}
.c-entry-dialog__title{font-family:var(--f-jp);font-weight:700;font-size:19px;line-height:1.5}
.c-entry-dialog__lead{font-size:14px;color:var(--ink-2);margin-bottom:14px}
.c-entry-dialog__list{list-style:none;margin:0;padding:0;width:100%;display:flex;flex-direction:column;gap:12px}
.c-entry-dialog__opt{display:block;padding:14px 20px;border-radius:999px;font-family:var(--f-jp);font-weight:700;font-size:15px;line-height:1.5;
  color:#fff;text-decoration:none;transition:filter .16s ease-out}
.c-entry-dialog__opt--paid{background:var(--navy-800)} /* 有料区分（医師・医療関係者／一般企業・個人） */
.c-entry-dialog__opt--free{background:var(--blue-500)}
.c-entry-dialog__opt:hover{color:#fff;filter:brightness(1.15)}
.c-entry-dialog__foot{margin-top:18px}
.c-entry-dialog__close{appearance:none;cursor:pointer;background:transparent;border:1px solid var(--ink-2);border-radius:999px;
  padding:8px 28px;font-family:var(--f-jp);font-weight:700;font-size:13px;color:var(--ink)}
.c-entry-dialog__close:hover{background:var(--surface-2)}
@media (prefers-reduced-motion:no-preference){
  .c-entry-dialog[open]{animation:entry-in .2s ease-out}
  @keyframes entry-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
}

/* ---------- Google 翻訳：ウィジェット UI を出さず、Cookie 切替のみ使う ---------- */
#google_translate_element,.goog-te-banner-frame,.goog-te-balloon-frame,#goog-gt-tt,
.goog-tooltip,.goog-te-spinner-pos,.VIpgJd-ZVi9od-ORHb-OEVmcd,.VIpgJd-ZVi9od-aZ2wEe-wOHMyf{display:none!important}
body{top:0!important}
.skiptranslate{display:none!important}
font[style]{background:none!important;box-shadow:none!important}

/* ---------- 本文コンテンツ（エディタ出力） ---------- */
.c-doc-card > :first-child{margin-top:0}
.l-doc h3{font-size:15.5px;margin:22px 0 6px}
.l-doc img{border-radius:6px}
.l-doc .wp-block-table table{width:100%;border-collapse:collapse;font-size:15px}
.l-doc .wp-block-table td,.l-doc .wp-block-table th{border:1px solid var(--line);padding:10px 14px;text-align:left}
.l-doc blockquote{margin:14px 0;padding:14px 20px;border-left:4px solid var(--teal-500);background:var(--surface-2);border-radius:0 8px 8px 0}
.alignwide{max-width:none}
.aligncenter{margin-inline:auto}
.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.pagination .nav-links{display:flex;gap:8px;justify-content:center;margin-top:24px;font-family:var(--f-mono);font-size:13px}
.pagination .page-numbers{padding:6px 12px;border:1px solid var(--line);border-radius:6px;text-decoration:none}
.pagination .page-numbers.current{background:var(--navy-800);color:#fff;border-color:var(--navy-800)}

/* ---------- TOP セクション（Figma 03 Pages / PC「01 主催者コメント」「02 新着情報」） ----------
   nexus/section：地色＋背景装飾「オーロラ」。PC 余白 64 / SP 40（2026-09-10 縮小）。 */
.p-top-sec{position:relative;isolation:isolate;overflow:hidden;background:var(--surface);padding:64px 0} /* 上下余白 PC 64 / SP 40（2026-09-10 クライアント要望で 96 / 56 から縮小） */
.p-top-sec--surface{background:var(--surface)}
.p-top-sec--alt{background:var(--surface-2)}
/* 案C：写真＋白スクリム 80%。写真未設定は淡い青のベタ */
.p-top-sec--photo{background:var(--surface-2)}
.p-top-sec--photo-empty{background:var(--blue-100)}
.p-top-sec__bg{position:absolute;inset:0;z-index:0}
.p-top-sec__bg img{width:100%;height:100%;object-fit:cover;display:block}
.p-top-sec__scrim{position:absolute;inset:0;background:rgba(255,255,255,.8)}
.p-top-sec__inner{position:relative;z-index:var(--z-raise);display:flex;flex-direction:column;gap:40px}
/* ACF の InnerBlocks はフロントで .acf-innerblocks-container に包まれるので、その中も同じ縦積みにする */
.p-top-sec__inner > .acf-innerblocks-container{display:flex;flex-direction:column;gap:40px}
.p-top-sec__inner > .wp-block{margin:0}
.editor-styles-wrapper .p-top-sec__inner .block-editor-block-list__layout{display:flex;flex-direction:column;gap:40px}

/* S-01 SectionHeading（Figma 5:71） */
.c-title-1{display:flex;flex-direction:column;gap:6px}
.c-title-1__top{display:flex;gap:12px;align-items:baseline;margin:0;font-family:var(--f-mono);font-weight:500;font-size:11px;letter-spacing:.16em;line-height:1.5}
.c-title-1__top b{color:var(--teal-text);font-weight:500}
.c-title-1__top span{font-family:var(--f-en);font-weight:600;color:var(--muted)}
.c-title-1__ja{font-family:var(--f-jp);font-weight:700;font-size:32px;line-height:1.4;letter-spacing:.02em;margin:0} /* 見出しレベルが p でも h2 と同じ見た目になるよう、タイポグラフィをここで完結させる（2026-09-15） */

/* ==== 背景装飾「オーロラ」（DESIGN.md）：transform / opacity のみ。ブラーは静的。 ==== */
.c-aurora{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.c-aurora__orb{position:absolute;border-radius:50%;filter:blur(var(--blur,70px));opacity:var(--o,.2);
  will-change:transform,opacity;transform-origin:50% 50%;
  background:linear-gradient(90deg,transparent 0%,var(--c1) 35%,var(--c2) 70%,transparent 100%);
  animation:aurora-drift var(--dur,32s) ease-in-out var(--delay,0s) infinite alternate}
.c-aurora__orb--1{--c1:var(--teal-300);--c2:var(--blue-500);--o:.21;--r:-9deg;--dur:34s;left:-8%;top:8%;width:104%;height:240px}
.c-aurora__orb--2{--c1:var(--blue-600);--c2:var(--teal-500);--o:.15;--r:-12deg;--blur:80px;--dur:40s;--delay:-14s;left:30%;top:28%;width:84%;height:180px}
.c-aurora__orb--3{--c1:var(--gold-300);--c2:var(--teal-300);--o:.12;--r:-7deg;--dur:28s;--delay:-6s;left:48%;bottom:8%;width:62%;height:120px}
.c-aurora__orb--4{--c1:var(--teal-300);--c2:var(--blue-500);--o:.17;--r:-6deg;--blur:90px;--dur:36s;--delay:-22s;left:-14%;bottom:2%;width:90%;height:200px}
/* 薄いグレー地（02 新着情報）：青→ティールで逆向きに */
.p-top-sec--alt .c-aurora__orb--1{--c1:var(--blue-500);--c2:var(--teal-300);--o:.2;--r:-8deg;left:4%;top:auto;bottom:6%;height:220px}
.p-top-sec--alt .c-aurora__orb--2{--c1:var(--teal-500);--c2:var(--blue-600);--o:.14;--r:-11deg;left:34%;top:2%;width:76%;height:160px}
.p-top-sec--alt .c-aurora__orb--3{--c1:var(--gold-300);--c2:var(--blue-200);--o:.11;--r:-5deg;left:-7%;top:38%;width:56%;height:110px}
.p-top-sec--alt .c-aurora__orb--4{display:none}
@keyframes aurora-drift{
  0%  {transform:translate3d(-4%,0,0) rotate(var(--r)) scale(1);opacity:var(--o)}
  50% {transform:translate3d(2%,-3%,0) rotate(calc(var(--r) + 2deg)) scale(1.06);opacity:calc(var(--o) * 1.25)}
  100%{transform:translate3d(5%,2%,0) rotate(calc(var(--r) - 1deg)) scale(.97);opacity:calc(var(--o) * .8)}
}
@media (prefers-reduced-motion:reduce){.c-aurora__orb{animation:none;transform:rotate(var(--r))}}
.editor-styles-wrapper .c-aurora__orb{animation:none;transform:rotate(var(--r))}

/* S-04 OrganizerMessage（Figma 75:249 / SP 77:250） */
.p-top-message{display:grid;grid-template-columns:220px 1fr;gap:48px;align-items:start;background:transparent;border:0;border-radius:0;padding:0} /* 2026-09-11：枠・余白なし（クライアント要望）。2026-10-06 ユーザー指示：写真と文章は天地中央ではなく天揃え */
.p-top-message__person{display:flex;flex-direction:column;align-items:center;gap:0;text-align:center}
/* 2026-10-01 ユーザー指摘「氏名と肩書きの余白が広すぎ、肩書きが小さすぎ」：写真→氏名 16px、氏名→肩書き 4px、肩書き 12px */
.p-top-message__person p{margin:0}
.p-top-message__photo{width:200px;height:200px;border-radius:6px;object-fit:cover;display:block;margin-bottom:16px} /* 正方形 200px（2026-09-10 ユーザー指示。円形 120px から変更） */
.p-top-message__photo--empty{background:var(--surface-2);border:1px solid var(--line);display:grid;place-items:center;
  font-family:var(--f-mono);font-weight:500;font-size:10px;letter-spacing:.12em;color:var(--muted)}
.p-top-message__name{font-family:var(--f-body);font-weight:500;font-size:16px;line-height:1.5;color:var(--ink);margin:0}
.p-top-message__role{font-family:var(--f-mono);font-weight:500;font-size:12px;line-height:1.6;letter-spacing:.08em;color:var(--teal-text)}
.p-top-message .p-top-message__role,.l-doc .p-top-message .p-top-message__role{margin-top:4px;font-size:12px} /* 2026-10-01 ユーザー指摘：氏名→肩書き 4px、肩書き 12px（旧 9.5px・間 12px＋行高 1.85） */
.l-doc .p-top-message .p-top-message__name{font-size:16px}
.l-doc .p-top-message .p-top-message__role{color:var(--teal-text)} /* 本文カードの p の色（ink-2）に負けないように。Figma S-04 と同じ差し色 */
.l-doc .p-top-message .p-top-message__cite{color:var(--muted)}
.p-top-message__msg{display:flex;flex-direction:column;gap:14px;align-items:flex-start;min-width:0}
.p-top-message__head{font-family:var(--f-jp);font-weight:700;font-size:28px;line-height:1.4;color:var(--teal-text)} /* 表題は差し色（2026-09-10 ティール → 2026-09-27 マゼンタ）で大きく */
.p-top-message__sub{font-family:var(--f-body);font-weight:500;font-size:14px;line-height:1.8;color:var(--ink-2);margin:0} /* h3 */
.p-top-message__body{display:flex;flex-direction:column;gap:12px}
.p-top-message__body p,.p-top-message__text{margin:0;font-family:var(--f-body);font-weight:400;font-size:15px;line-height:1.9;color:var(--ink-2)} /* 本文は p（2026-09-15 に h4 から戻した） */
/* h4 は本文中の語句に付けるだけなので、見た目は本文と同じ（インライン） */
.p-top-message__key{display:inline;margin:0;font:inherit;color:inherit}
.p-top-message__msg p{margin:0}
.p-top-message__label{font-family:var(--f-mono);font-weight:500;font-size:11px;letter-spacing:.16em;color:var(--teal-text)}
.p-top-message__cite{font-family:var(--f-mono);font-weight:500;font-size:11px;letter-spacing:.04em;color:var(--muted)}
.p-top-message__more{background:rgba(255,255,255,.55);border-color:var(--teal-500);color:var(--teal-text);border-radius:999px}
.p-top-message__more:hover{background:#fff;color:var(--teal-text)}

/* C-15 NewsList（Figma 13:137 / SP 77:261） */
.c-news-list{list-style:none;margin:0;padding:8px 40px;background:var(--surface);border:1px solid var(--line);border-radius:10px} /* 案C（2026-09-10）：白カード */
.c-news-list__item{display:grid;grid-template-columns:96px minmax(120px,auto) 1fr;gap:24px;align-items:center;padding:18px 0;border-bottom:1px solid var(--line-soft)}
.c-news-list__item:last-child{border-bottom:0} /* タグ列は 104px を最小に、翻訳で長い語のときだけ広がる */
.c-news-list__date{font-family:var(--f-body);font-weight:500;font-size:14px;line-height:1.7;color:var(--ink);font-variant-numeric:tabular-nums}
.c-news-list .c-tag{background:var(--blue-100);border:0;border-radius:999px;color:var(--teal-text);padding:3px 12px} /* 塗りピル */
.c-tag{display:inline-flex;justify-content:center;align-items:center;padding:2px 8px;border:1px solid var(--line);border-radius:3px;background:rgba(255,255,255,.7);
  font-family:var(--f-mono);font-weight:500;font-size:10px;letter-spacing:.1em;line-height:1.6;color:var(--muted);white-space:nowrap}
.c-news-list__title{color:var(--ink);text-decoration:none;font-size:15px;line-height:1.7}
.c-news-list__title:hover{text-decoration:underline;text-underline-offset:4px}
.c-news-list__empty{display:flex;flex-direction:column;align-items:center;gap:16px;padding:32px 0 8px;text-align:center}
.c-news-list__empty p{margin:0;font-size:14px;color:var(--muted)}

/* ---------- TOP 2026-10-01 改訂：MV ＞ 01 メインテーマ ＞ 02 スケジュール ＞ 03 新着 ＞（スポンサー）＞ 04 アクセス ---------- */
/* 01 メインテーマ：C-21 ＋ 開催趣旨（企画書 p.5）。本文の級数は主催者挨拶ページの本文カードと同じ */
.p-top-sec .c-theme{margin:0}
.p-top-sec__inner .wp-block-heading{font-family:var(--f-jp);font-weight:700;font-size:20px;line-height:1.5;color:var(--ink);margin:0}
.p-top-sec__inner .wp-block-paragraph{font-size:15px;line-height:1.9;color:var(--ink-2);margin:0}
.p-top-sec__inner .wp-block-heading + .wp-block-paragraph{margin-top:-24px} /* 見出しと本文 1 段落目は詰める（セクション内の間隔 40px のまま離れないように） */
.p-top-sec__inner .wp-block-paragraph + .wp-block-paragraph{margin-top:-24px}
/* 02 スケジュール：/schedule/ と同じ C-03 を白カードに載せる（地は surface-2） */
.p-top-sec .c-timeline{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:44px 48px}

/* 主催者挨拶ページ（本文カード内）に置いた S-04：本文カードの h2／h3／p の既定（罫・級数・余白）を打ち消し、TOP と同じ見た目にする */
.l-doc .p-top-message :is(h2,h3,h4,h5,p){margin:0;padding:0;border:0}
.l-doc .p-top-message__head{font-size:28px}
.l-doc .p-top-message__sub{font-size:14px}
.l-doc .p-top-message__cite{font-size:11px}
.l-doc .p-top-message__key{display:inline;font:inherit;color:inherit}

/* ネクサスのストーリー：企画書 p.6 の 3×3 表。見出し行は淡い地＋ブランド色（スライドの青は使わない） */
.l-doc .wp-block-table.is-style-matrix{margin:14px 0 20px;overflow-x:auto}
.l-doc .is-style-matrix table{min-width:720px;table-layout:fixed}
.l-doc .is-style-matrix thead{border:0}
.l-doc .is-style-matrix th{background:var(--blue-100);color:var(--blue-600);font-family:var(--f-jp);font-weight:700;font-size:14px;border-color:var(--line)}
.l-doc .is-style-matrix td{font-size:13.5px;line-height:1.75;color:var(--ink-2);vertical-align:top}
.l-doc .is-style-matrix td strong{color:var(--ink);font-family:var(--f-jp);font-size:14px}

/* 外部リンク（新しいタブ）のボタンは右に外部リンクの印（2026-10-01 ユーザー指示） */
.c-button-1__ext{flex:0 0 auto;margin-left:2px}
/* UI-01 Button のブロック（nexus/button）：右に矢印、hover で矢印だけ 3px 右へ */
.c-button-row{margin:0;display:flex}
.c-button-row--center{justify-content:center}
.c-button-1--arrow{gap:10px;padding:14px 28px;font-size:15px}
.c-button-1__arrow{flex:0 0 auto;transition:transform .2s ease-out}
.c-button-1--arrow:hover .c-button-1__arrow{transform:translateX(3px)}
@media (prefers-reduced-motion:reduce){.c-button-1__arrow{transition:none}.c-button-1--arrow:hover .c-button-1__arrow{transform:none}}
/* セクション内：直前のブロックとの間隔は 40 → 28 に詰める */
.p-top-sec__inner .c-button-row{margin-top:-12px}

/* ---------- ネクサスのストーリー（企画書 p.6〜10）2026-10-01 ---------- */
/* スライドの「■ 見出し」：小見出しの前に blue-600 の四角。core/heading に is-style-square を付ける */
.l-doc .is-style-square,.c-icon-sec__title{display:flex;align-items:center;gap:8px}
.l-doc .is-style-square::before,.c-icon-sec__title::before{content:"";flex:0 0 auto;width:.72em;height:.72em;background:var(--blue-600)}
/* スライドのサブタイトル（青の太字）：段落に is-style-lead */
.l-doc .is-style-lead{font-family:var(--f-jp);font-weight:700;font-size:16px;color:var(--blue-600)}
/* C-21 の濃紺版（p.10 末尾の結びの一文） */
.c-theme--dark{background:var(--navy-800)}
.c-theme--dark .c-theme__title,.c-theme--dark .c-theme__sub{color:#fff}

/* C-01 NexusDiagram（p.8）：左に番号付きリスト、右に図。図の円の位置・大きさはスライドの比率（940×790）を % で持つ */
.c-nexus{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:40px;align-items:center;margin:18px 0 8px}
.c-nexus__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:22px}
.l-doc .c-nexus__list{padding:0;margin:0}
.c-nexus__item{display:grid;grid-template-columns:32px 1fr;gap:16px;align-items:center;margin:0}
.c-nexus__num{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--blue-600);color:#fff;
  font-family:var(--f-en);font-weight:600;font-size:14px;line-height:1}
.c-nexus__text{border-left:3px solid var(--blue-600);padding:2px 0 2px 16px;display:flex;flex-direction:column;gap:2px}
.l-doc .c-nexus__title{margin:0;font-family:var(--f-jp);font-weight:700;font-size:16px;line-height:1.55;color:var(--navy-800)}
.l-doc .c-nexus__note{margin:0;font-size:13px;line-height:1.7;color:var(--ink-2)}
.c-nexus__fig{margin:0;container-type:inline-size}
.c-nexus__canvas{position:relative;width:100%;aspect-ratio:1/.84}
/* 2026-10-01 修正：円は中心座標で置いて translate(-50%,-50%)。スライドの座標をそのまま使うと縦軸が中心からずれ、左右も非対称になったため、
   中心（50%,50%）からの距離で決める（幅 w に対して：中心円 r=.17w、周囲の円 r=.1234w、上下は中心円に .01w 重ね、左右は .02w 離す）。 */
.c-nexus__line{position:absolute;left:18.7%;right:18.7%;top:50%;height:2px;margin-top:-1px;background:var(--blue-600)}
.c-nexus__hub,.c-nexus__node{position:absolute;aspect-ratio:1;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;
  transform:translate(-50%,-50%)}
.c-nexus__hub{left:50%;top:50%;width:34%;background:var(--blue-600);color:#fff;z-index:1;
  font-family:var(--f-en);font-weight:400;font-size:max(12px,3.7cqw);line-height:1.3}
.c-nexus__hub-strong{font-weight:700}
.c-nexus__node{width:24.68%;background:var(--surface);border:max(2px,.45cqw) solid var(--blue-600);z-index:2;gap:.3cqw}
.c-nexus__node--top{left:50%;top:16.31%}
.c-nexus__node--bottom{left:50%;top:83.69%}
.c-nexus__node--left{left:18.7%;top:50%}
.c-nexus__node--right{left:81.3%;top:50%}
.c-nexus__icon{width:7.4cqw;height:7.4cqw;display:block;margin-bottom:.6cqw}
.c-nexus__label{font-family:var(--f-jp);font-weight:700;font-size:max(10.5px,3.1cqw);line-height:1.3;color:var(--navy-800)}
.c-nexus__en{font-family:var(--f-en);font-size:max(9px,2.2cqw);line-height:1.3;color:var(--ink-2)}
@media (max-width:600px){.c-nexus__br{display:none}}
@media (max-width:860px){.c-nexus{grid-template-columns:1fr;gap:28px}.c-nexus__fig{max-width:480px;width:100%;margin-inline:auto}}

/* C-23 IconSection（p.9・p.10）：左に塗りの円＋白アイコン、右に ■ 小見出しと本文。続けて置くと間に罫線 */
.c-icon-sec{display:grid;grid-template-columns:80px 1fr;gap:24px;align-items:start;padding:22px 0}
.c-icon-sec + .c-icon-sec{border-top:1px solid var(--line)}
.c-icon-sec__icon{display:grid;place-items:center;width:80px;height:80px;border-radius:50%;background:var(--blue-600)}
.c-icon-sec__icon img{width:44px;height:44px;display:block}
.l-doc .c-icon-sec__title{margin:4px 0 6px;padding:0;border:0;font-size:17px;color:var(--navy-800)}
.c-icon-sec__body > .acf-innerblocks-container > :first-child{margin-top:0}
.c-icon-sec__body p,.c-icon-sec__body ul{margin:6px 0}
@media (max-width:600px){
  .c-icon-sec{grid-template-columns:52px 1fr;gap:14px;padding:18px 0}
  .c-icon-sec__icon{width:52px;height:52px}
  .c-icon-sec__icon img{width:30px;height:30px}
  .l-doc .c-icon-sec__title{font-size:15.5px;margin-top:0}
}

/* S-05 CTABand（Figma 13:172、バナー版 S-05 CTABand / Link 239:620：PC 239:610 / SP 239:615）：帯全体が 1 つのリンク */
.c-cta-band{position:relative;display:flex;align-items:center;justify-content:space-between;gap:36px;
  padding:36px 48px;border-radius:10px;background:var(--navy-800);color:#fff;text-decoration:none;
  transition:background-color .2s ease-out}
a.c-cta-band:hover{background:var(--navy-700);color:#fff}
.c-cta-band__copy{display:flex;flex-direction:column;gap:6px;min-width:0}
.c-cta-band__eyebrow{font-family:var(--f-en);font-weight:600;font-size:11px;letter-spacing:.16em;color:var(--teal-300)}
.c-cta-band__title{font-family:var(--f-jp);font-weight:700;font-size:24px;line-height:1.45;color:#fff}
.c-cta-band__text{font-size:14px;line-height:1.8;color:var(--on-dark-2)}
.c-cta-band__btn{flex:0 0 auto}
.c-cta-band__arrow{flex:0 0 auto;display:grid;place-items:center;width:52px;height:52px;border-radius:50%;
  background:var(--teal-500);color:#fff;transition:transform .2s ease-out}
a.c-cta-band:hover .c-cta-band__arrow{transform:translateX(4px)}
@media (prefers-reduced-motion:reduce){.c-cta-band,.c-cta-band__arrow{transition:none}a.c-cta-band:hover .c-cta-band__arrow{transform:none}}
/* ページ（本文カードの下）に置いたとき */
.l-cta{padding:0 0 96px}
.l-doc:has(+ .l-cta){padding-bottom:40px}

/* C-17 AccessMap（Figma 239:621 / SP 239:635） */
.c-access{display:flex;flex-direction:column;gap:40px}
.c-access__photo{border-radius:10px;overflow:hidden} /* 2026-10-01 ユーザー「content 幅で良いかも」：画面幅いっぱい → コンテンツ幅（角丸 10）。支給写真が 1240px 幅なので拡大もされない */
.c-access__img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;display:block} /* 2026-10-01 ユーザー「入り口が見える方が／ビル全体が映るように」：写真（1920×1280）と同じ 3:2 で切らずに全体を見せる */
.c-access__img--empty{background:var(--blue-100);display:grid;place-items:center;
  font-family:var(--f-mono);font-weight:500;font-size:11px;letter-spacing:.14em;color:var(--muted)}
.c-access__body{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}
.c-access__map{aspect-ratio:4/3;border-radius:10px;overflow:hidden;border:1px solid var(--line);background:var(--surface-2)}
.c-access__map iframe{width:100%;height:100%;border:0;display:block}
.c-access__map-ph{height:100%;display:grid;place-items:center;font-family:var(--f-mono);font-size:11px;letter-spacing:.14em;color:var(--muted)}
.c-access__info{margin:0;display:flex;flex-direction:column}
.c-access__row{display:grid;grid-template-columns:72px 1fr;gap:16px;padding:18px 0;border-bottom:1px solid var(--line-soft)}
.c-access__row:first-child{padding-top:0}
.c-access__row dt{font-family:var(--f-jp);font-weight:700;font-size:14px;line-height:1.8;color:var(--muted)}
.c-access__row dd{margin:0;font-size:15px;line-height:1.8;color:var(--ink)}
.c-access__row:first-child dd{font-family:var(--f-jp);font-weight:700;font-size:18px;line-height:1.6}
.c-access__more{padding-top:24px}

@media (max-width:600px){
  .p-top-sec{padding:40px 0}
  .p-top-sec__inner,.p-top-sec__inner > .acf-innerblocks-container{gap:28px}
  .c-title-1__ja{font-size:28px}
  .c-aurora__orb{--blur:44px}
  .c-aurora__orb--1{height:110px;top:6%}
  .c-aurora__orb--2{height:90px}
  .c-aurora__orb--3{height:70px}
  .c-aurora__orb--4{display:none}
  .p-top-message{grid-template-columns:1fr;gap:20px;padding:0}
  .p-top-message__head{font-size:22px;text-align:center}
  .p-top-message__sub{text-align:center}
  .p-top-message__body p,.p-top-message__text{font-size:14px}
  .p-top-message__photo{width:200px;height:200px}
  .p-top-message__msg{align-items:center;text-align:center}
  .p-top-message__body{font-size:14px;text-align:left}
  .c-news-list{padding:4px 16px}
  .c-news-list__item{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;padding:16px 0} /* SP：日付の右にすぐカテゴリー、見出しは次の行（Figma C-15 / SP） */
  .c-news-list__title{flex-basis:100%}
  .c-news-list__title{font-size:14px}
  .p-top-sec__inner .wp-block-heading{font-size:18px}
  .p-top-sec__inner .wp-block-paragraph{font-size:14px}
  .p-top-sec__inner .wp-block-heading + .wp-block-paragraph,.p-top-sec__inner .wp-block-paragraph + .wp-block-paragraph{margin-top:-14px}
  .p-top-sec .c-timeline{padding:26px 20px}
  .c-cta-band{padding:24px 20px;gap:16px}
  .c-cta-band__title{font-size:18px}
  .c-cta-band__arrow{width:44px;height:44px}
  .l-cta{padding-bottom:64px}
  .c-access{gap:28px}
  .c-access__body{grid-template-columns:1fr;gap:24px}
  .c-access__row{grid-template-columns:56px 1fr;padding:14px 0}
  .c-access__row:first-child dd{font-size:16px}
  .c-access__more{padding-top:18px}
}

/* ---------- 新着情報 詳細（Figma「Page / 新着情報 詳細」）／一覧 ---------- */
.l-page-header__title{margin:0;font-family:var(--f-jp);font-weight:700;line-height:1.4}
.c-doc-card--article{width:840px;max-width:100%;margin-inline:auto} /* 記事の白カードは幅 840px 固定（本文量で変わらない） */
.l-doc--article .l-inner{display:flex;flex-direction:column;gap:32px}
/* C-20 ArticleMeta */
.c-article-meta{display:flex;flex-direction:column;gap:16px;margin-bottom:20px}
.c-breadcrumb ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px;font-family:var(--f-mono);font-weight:500;font-size:10px;letter-spacing:.08em;line-height:1.6}
.c-breadcrumb li{display:flex;gap:8px;align-items:center;color:var(--ink-2);min-width:0}
.c-breadcrumb li + li::before{content:"›";color:var(--muted)}
.c-breadcrumb a{color:var(--teal-text);text-decoration:none}
.c-breadcrumb a:hover{text-decoration:underline;text-underline-offset:3px}
.c-breadcrumb [aria-current]{min-width:0;overflow-wrap:anywhere} /* PC は折り返して全文 */
.c-article-meta__row{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center}
.c-article-meta__row .c-tag{background:var(--surface);padding:3px 10px;text-decoration:none}
a.c-tag:hover{border-color:var(--teal-500);color:var(--teal-text)}
.c-article-meta__date{display:inline-flex;gap:6px;align-items:baseline;font-family:var(--f-mono);font-weight:500;font-size:12px;letter-spacing:.06em;color:var(--ink-2);font-variant-numeric:tabular-nums}
.c-article-meta__key{font-size:10px;color:var(--muted)}
/* 記事本体 */
.p-news-single__title{font-size:28px;line-height:1.5;letter-spacing:.01em;margin:0 0 16px}
.p-news-single__lead{font-size:16px;line-height:1.9;color:var(--ink-2);margin:0 0 24px}
.p-news-single__hero{margin:0 0 28px}
.p-news-single__hero img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:8px}
.p-news-single__body > *{margin-top:0;margin-bottom:16px}
.p-news-single__body > :last-child{margin-bottom:0}
.p-news-single__body p,.p-news-single__body ul,.p-news-single__body ol{margin:0 0 16px} /* .l-doc p の 10px より優先 */
.p-news-single__body p{font-size:15px;line-height:1.9;color:var(--ink-2)}
.p-news-single__body h2{font-size:20px;line-height:1.5;margin:36px 0 12px;padding-bottom:8px;border-bottom:1px solid var(--line-soft)}
.p-news-single__body h3{font-size:16px;line-height:1.6;margin:28px 0 8px}
.p-news-single__body h2:first-child,.p-news-single__body h3:first-child{margin-top:0}
.p-news-single__body ul,.p-news-single__body ol{font-size:15px;line-height:1.9;color:var(--ink-2);padding-left:24px}
.p-news-single__body li{margin:4px 0}
.p-news-single__body a{color:var(--teal-text);text-underline-offset:3px}
.p-news-single__body .wp-block-image{margin:24px 0}
.p-news-single__body .wp-block-image img{display:block;width:100%;height:auto;border-radius:6px}
.p-news-single__body figcaption,.p-news-single__body .wp-element-caption{margin-top:8px;font-family:var(--f-mono);font-weight:500;font-size:10px;letter-spacing:.06em;line-height:1.6;color:var(--muted);text-align:left}
.p-news-single__body .wp-block-gallery{margin:24px 0;gap:12px}
.p-news-single__body .wp-block-gallery img{border-radius:6px}
.p-news-single__body blockquote{margin:20px 0;padding:14px 20px;border-left:4px solid var(--teal-500);background:var(--surface-2);border-radius:0 8px 8px 0}
.p-news-single__body blockquote p{margin:0}
.p-news-single__body blockquote cite{display:block;margin-top:8px;font-style:normal;font-family:var(--f-mono);font-size:10px;letter-spacing:.06em;color:var(--muted)}
.p-news-single__body .wp-block-table{margin:20px 0}
.p-news-single__body .wp-block-table table{width:100%;border-collapse:collapse;font-size:15px;line-height:1.7;border:1px solid var(--line);border-radius:6px;overflow:hidden}
.p-news-single__body .wp-block-table th,.p-news-single__body .wp-block-table td{padding:10px 14px;border-top:1px solid var(--line);text-align:left;vertical-align:top}
.p-news-single__body .wp-block-table tr:first-child th,.p-news-single__body .wp-block-table tr:first-child td{border-top:0}
.p-news-single__body .wp-block-table th,.p-news-single__body .wp-block-table td:first-child:not(:only-child){background:var(--surface-2);font-family:var(--f-body);font-weight:500;color:var(--ink);width:180px}
.p-news-single__body .wp-block-table td{color:var(--ink-2)}
.p-news-single__body .wp-block-separator{border:0;border-top:1px solid var(--line-soft);margin:32px 0;width:100%}
/* C-18 DocumentCard */
.c-download{display:flex;gap:20px;align-items:center;padding:18px 20px;border:1px solid var(--line);border-radius:8px;background:var(--surface-2);margin:20px 0}
.c-download__ext{flex:0 0 44px;display:grid;place-items:center;width:44px;height:52px;border:1px solid var(--line);border-radius:6px;background:var(--surface);
  font-family:var(--f-mono);font-weight:500;font-size:10px;letter-spacing:.08em;color:var(--teal-text)}
.c-download__body{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}
.c-download__title{margin:0;font-size:15px;font-weight:500;line-height:1.6;color:var(--ink)}
.c-download__meta{margin:0;font-family:var(--f-mono);font-weight:500;font-size:10px;letter-spacing:.08em;color:var(--muted)}
.c-download__btn{flex:0 0 auto;border-color:var(--teal-500);color:var(--teal-text);border-radius:999px}
.c-download__btn:hover{background:var(--surface);color:var(--teal-text)}
.u-sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
/* C-22 PostNav */
.c-post-nav{max-width:840px;margin-inline:auto;width:100%;display:flex;flex-direction:column;gap:24px;align-items:center}
.c-post-nav__pair{display:grid;grid-template-columns:1fr 1fr;gap:16px;width:100%}
.c-post-nav__link{display:flex;flex-direction:column;gap:6px;padding:16px 20px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink);text-decoration:none;
  transition:transform .2s ease,border-color .2s ease}
.c-post-nav__link:hover{transform:translateY(-2px);border-color:var(--teal-500)}
.c-post-nav__link--next{grid-column:2;align-items:flex-end;text-align:right}
.c-post-nav__dir{font-family:var(--f-mono);font-weight:500;font-size:10px;letter-spacing:.1em;color:var(--teal-text)}
.c-post-nav__date{font-family:var(--f-mono);font-weight:500;font-size:10px;letter-spacing:.06em;color:var(--muted)}
.c-post-nav__title{font-size:14px;font-weight:500;line-height:1.6}
.c-post-nav__back{margin:0}
.c-post-nav__back .c-button-1{border-color:var(--teal-500);color:var(--teal-text);border-radius:999px}
/* 一覧：絞り込みチップ・ページ送り */
.c-chip-list{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}
.c-chip{display:inline-flex;align-items:center;padding:6px 14px;border-radius:999px;border:1px solid var(--line);background:var(--surface);
  font-family:var(--f-mono);font-weight:500;font-size:10px;letter-spacing:.1em;color:var(--ink-2);text-decoration:none;transition:border-color .2s ease}
.c-chip:hover{border-color:var(--teal-500);color:var(--teal-text)}
.c-chip.is-current{background:var(--navy-800);border-color:var(--navy-800);color:#fff}
.c-pager{margin-top:28px}
.c-pager .nav-links{display:flex;justify-content:center;gap:6px}
.c-pager .page-numbers{display:inline-grid;place-items:center;min-width:36px;height:36px;padding:0 8px;border:1px solid var(--line);border-radius:6px;background:var(--surface);
  font-family:var(--f-mono);font-weight:500;font-size:12px;color:var(--ink-2);text-decoration:none}
.c-pager .page-numbers.current{background:var(--navy-800);border-color:var(--navy-800);color:#fff}
.c-pager .page-numbers.dots{border:0;background:transparent}
.c-pager .screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.editor-styles-wrapper .c-download{margin:20px 0}
@media (max-width:600px){
  .c-doc-card--article{padding:24px 20px}
  .l-doc--article .l-inner{gap:24px}
  .c-breadcrumb ol{flex-wrap:nowrap}
  .c-breadcrumb li{flex:0 0 auto}
  .c-breadcrumb [aria-current]{flex:0 1 auto;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap} /* SP は 1 行で「…」省略（ユーザー指示） */
  .c-breadcrumb [aria-current]::before{margin-right:8px} /* display:block にすると gap が効かないので区切りの後ろに余白 */
  .p-news-single__title{font-size:22px}
  .p-news-single__lead{font-size:14px}
  .p-news-single__body p,.p-news-single__body ul,.p-news-single__body ol{font-size:14px}
  .p-news-single__body h2{font-size:18px}
  .p-news-single__body .wp-block-table th,.p-news-single__body .wp-block-table td:first-child:not(:only-child){width:110px}
  .c-download{flex-wrap:wrap;gap:12px 12px;padding:16px}
  .c-download__body{flex-basis:calc(100% - 56px)}
  .c-download__btn{flex-basis:100%;justify-content:center}
  .c-post-nav__pair{grid-template-columns:1fr}
  .c-post-nav__link--next{grid-column:auto}
}

/* 先行公開モード：無効化したリンク（inc/launch.php）。テキストとして見せ、ボタンは押せない見た目に */
.is-link-off{cursor:default;text-decoration:none}
.is-link-off.c-button-1{opacity:.55;pointer-events:none}

/* 伏字（inc/legal.php）：テキストを画像で出す。行内でベースラインに揃える */
.c-blind{display:inline-block;vertical-align:-0.35em;height:1.85em;width:auto;max-width:100%}


/* ---------- C-09 OrgGroup（運営組織体制） ---------- */
/* 2026-09-15 デザイン改訂（クライアント資料 p.4）：左に矢羽根のグループ名、右に区分ごとの人物。
   色はスライドの青ではなくサイトのパレット。国は JP / VN のテキストラベル（国旗と赤は使わない）。 */
.c-org-group{display:grid;grid-template-columns:238px 1fr;align-items:stretch}
.c-org-group + .c-org-group{margin-top:20px}
.c-org-group--no-label{grid-template-columns:1fr}
/* ラベルは clip-path で矢羽根に削る。削られた先端の上下に隙間が出ないよう、
   本体を先端のぶんだけ負の margin で左に寄せてラベルの下に潜り込ませる。 */
.c-org-group .c-org-group__label{position:relative;z-index:var(--z-raise);
  display:flex;align-items:center;justify-content:center;padding:24px 44px 24px 22px;
  background:var(--blue-600);border-radius:6px 0 0 6px;
  clip-path:polygon(0 0,calc(100% - 26px) 0,100% 50%,calc(100% - 26px) 100%,0 100%)}
.c-org-group .c-org-group__label-inner{display:flex;flex-direction:column;gap:3px;text-align:center}
.c-org-group .c-org-group__ja{margin:0;padding:0;border:0;font-family:var(--f-jp);font-weight:700;
  font-size:16px;line-height:1.5;color:#fff}
.c-org-group .c-org-group__en{margin:0;font-family:var(--f-en);font-weight:600;font-size:11px;letter-spacing:.08em;
  line-height:1.5;color:var(--blue-100)}
.c-org-group .c-org-group__body{margin-left:-26px;border:1px solid var(--line);border-left:0;
  border-radius:0 6px 6px 0;background:var(--surface);padding:4px 26px 4px 66px}
.c-org-group.c-org-group--no-label .c-org-group__body{margin-left:0;border-left:1px solid var(--line);
  border-radius:6px;padding-left:26px}
.c-org-group .c-org-group__row{display:grid;grid-template-columns:120px 1fr;gap:6px 18px;padding:18px 0;
  border-bottom:1px dotted var(--line)}
.c-org-group .c-org-group__row:last-child{border-bottom:0}
.c-org-group .c-org-group__key{margin:0;font-family:var(--f-jp);font-weight:700;font-size:15px;line-height:1.7;
  color:var(--blue-600)}
.c-org-group .c-org-group__people{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:16px}
.c-org-group .c-org-group__people > li{margin:0}
.c-org-group .c-org-group__person{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;margin:0 0 5px;
  font-family:var(--f-jp);font-weight:700;font-size:16px;line-height:1.4;color:var(--ink)}
.c-org-group .c-org-group__country{font-family:var(--f-mono);font-weight:500;font-size:11px;letter-spacing:.06em;
  color:var(--muted)}
.c-org-group .c-org-group__titles{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}
.c-org-group .c-org-group__titles li{margin:0;font-size:14px;line-height:1.85;color:var(--ink-2)}
.c-org-group .c-org-group__note{margin:0;padding:14px 0 18px;font-size:14px;line-height:1.85;color:var(--muted)}
@media (max-width:820px){
  .c-org-group .c-org-group__row{grid-template-columns:1fr;gap:4px}
}
@media (max-width:700px){
  .c-org-group,.c-org-group--no-label{grid-template-columns:1fr}
  .c-org-group + .c-org-group{margin-top:26px}
  .c-org-group .c-org-group__label{padding:16px 20px 30px;border-radius:6px 6px 0 0;
    clip-path:polygon(0 0,100% 0,100% calc(100% - 14px),50% 100%,0 calc(100% - 14px))}
  .c-org-group .c-org-group__body,.c-org-group.c-org-group--no-label .c-org-group__body{margin:-14px 0 0;
    border-left:1px solid var(--line);border-top:0;border-radius:0 0 6px 6px;padding:4px 18px}
  .c-org-group .c-org-group__people{gap:14px}
  .c-org-group .c-org-group__person{font-size:15px}
}

/* ---------- 404（2026-09-29） ---------- */
.p-404__actions{margin-top:28px}

/* ---------- C-05 ProgramList（2026-10-06：スケジュール詳細ページ。Figma C-05 ProgramList ／ C-05/ProgramItem） ---------- */
.c-program__lead{padding-bottom:6px}
.c-program__time{margin:0 0 4px;font-family:var(--f-mono);font-weight:500;font-size:14px;color:var(--blue-600);font-variant-numeric:tabular-nums}
.l-doc .c-program__theme{margin:0;padding:0;border:0;font-family:var(--f-jp);font-weight:700;font-size:21px;line-height:1.5;color:var(--navy-800)}
.l-doc .c-program__list{list-style:none;margin:0 0 16px;padding:0;counter-reset:program}
.l-doc .c-program__item{margin:0;position:relative;counter-increment:program;padding:20px 0 20px 46px;border-bottom:1px dashed var(--line)}
.c-program__item::before{content:counter(program);position:absolute;left:0;top:20px;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;
  background:var(--blue-600);color:#fff;font-family:var(--f-mono);font-weight:500;font-size:14px;line-height:1}
.l-doc .c-program__title{margin:0;font-family:var(--f-jp);font-weight:700;font-size:17px;line-height:1.5;color:var(--navy-800)}
.l-doc .c-program__speaker{margin:6px 0 0;font-size:14px;line-height:1.7;color:var(--ink-2)}
.c-program__name{font-weight:500;color:var(--ink)}
.l-doc .c-program__body{margin:6px 0 0;font-size:14px;line-height:1.8;color:var(--ink-2)}
.l-doc .c-program__status{margin:8px 0 0}
.l-doc .c-program__note{margin:0;font-size:12px;line-height:1.7;color:var(--muted)}
@media (max-width:600px){
  .l-doc .c-program__theme{font-size:18px}
  .c-program__time{font-size:13px}
  .l-doc .c-program__item{padding:16px 0 16px 38px}
  .c-program__item::before{top:16px;width:26px;height:26px;font-size:13px}
  .l-doc .c-program__title{font-size:15.5px}
  .l-doc .c-program__speaker,.l-doc .c-program__body{font-size:13px}
}

/* ---------- C-04 SessionCard（2026-10-06：/schedule/ → 詳細ページ。Figma C-04 SessionCard） ---------- */
.l-doc .c-session-cards{list-style:none;margin:16px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 24px}
.l-doc .c-session-cards li{margin:0}
.c-session-card{display:flex;align-items:center;gap:14px;height:100%;padding:20px 20px 20px 22px;background:var(--surface);border:1px solid var(--line);border-radius:8px;
  color:inherit;text-decoration:none;transition:border-color .2s}
.c-session-card__body{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}
.c-session-card__time{font-family:var(--f-mono);font-weight:500;font-size:12px;color:var(--blue-600);font-variant-numeric:tabular-nums}
.c-session-card__title{font-family:var(--f-jp);font-weight:700;font-size:17px;line-height:1.5;color:var(--navy-800)}
.c-session-card__theme{font-size:13px;line-height:1.7;color:var(--muted)}
.c-session-card__arrow{width:28px;height:28px}
.c-session-card:hover{border-color:var(--blue-600)}
.c-session-card:hover .c-arrow{background:var(--blue-600);color:#fff;transform:translateX(3px)}
.c-session-card:focus-visible{outline:2px solid var(--blue-600);outline-offset:2px}
@media (max-width:600px){
  .l-doc .c-session-cards{grid-template-columns:1fr;gap:12px}
  .c-session-card{padding:16px 16px 16px 18px}
  .c-session-card__title{font-size:16px}
}
@media (prefers-reduced-motion:reduce){.c-session-card{transition:none}}

/* ---------- C-24 IconList（2026-10-06：企業展示ブース。Figma C-24 IconList ／ C-24/IconItem） ---------- */
.l-doc .c-icon-list{list-style:none;margin:16px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 24px}
.l-doc .c-icon-list__item{margin:0;display:flex;align-items:center;gap:14px}
.c-icon-list__icon{flex:none;display:grid;place-items:center;border-radius:50%}
.c-icon-list__icon::before{content:"";display:block;background:currentColor;-webkit-mask:var(--icon) center/contain no-repeat;mask:var(--icon) center/contain no-repeat}
.c-icon-list--strong .c-icon-list__icon{width:64px;height:64px;background:var(--blue-600);color:#fff}
.c-icon-list--strong .c-icon-list__icon::before{width:32px;height:32px}
.c-icon-list--soft .c-icon-list__icon{width:48px;height:48px;background:var(--blue-100);color:var(--blue-600)}
.c-icon-list--soft .c-icon-list__icon::before{width:24px;height:24px}
.c-icon-list__label{font-family:var(--f-jp);font-weight:700;font-size:15px;line-height:1.5;color:var(--navy-800)}
@media (max-width:600px){.l-doc .c-icon-list{grid-template-columns:1fr;gap:14px}}
.l-doc .c-doc-lead{margin:0 0 8px;font-family:var(--f-jp);font-weight:700;font-size:21px;line-height:1.5;color:var(--navy-800)} /* 2026-10-06 企業展示ブースのリード（スライド p.20 の副題） */
@media (max-width:600px){.l-doc .c-doc-lead{font-size:18px}}

/* ---------- リンクの矢印（2026-10-06：C-03 のリンク行・C-04 SessionCard 共通。blue-100 の円に blue-600 の矢印） ---------- */
.c-arrow{flex:none;display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--blue-100);color:var(--blue-600);
  font-family:var(--f-mono);font-weight:500;font-size:13px;line-height:1;transition:transform .2s,background-color .2s,color .2s}
@media (prefers-reduced-motion:reduce){.c-arrow{transition:none}}

/* C-03 TimelineItem 主要=リンク：内容を blue-600 に、右端に丸い矢印。行全体がクリック範囲（a::after で覆う） */
.c-timeline .c-timeline__item--link{position:relative}
.c-timeline .c-timeline__link{display:flex;align-items:center;justify-content:space-between;gap:12px;flex:1;color:var(--blue-600);text-decoration:none}
.c-timeline .c-timeline__link::after{content:"";position:absolute;inset:0}
.c-timeline .c-timeline__item--link:hover .c-timeline__link > span:first-child{text-decoration:underline;text-underline-offset:3px}
.c-timeline .c-timeline__item--link:hover .c-arrow{background:var(--blue-600);color:#fff;transform:translateX(3px)}
.c-timeline .c-timeline__link:focus-visible{outline:none}
.c-timeline .c-timeline__item--link:has(.c-timeline__link:focus-visible){outline:2px solid var(--blue-600);outline-offset:2px;border-radius:4px}

/* ============================================================
   フォーム（2026-10-16）：お問い合わせ／参加お申し込み／スポンサーお申し込み
   クライアント参考画像（NEXUS2027_contact.png／NEXUS2027参加登録.png／NEXUS2027sponsor.png）の構成を、色・書体はサイトのトークンで組んだもの。
   必須バッジ＝blue-500、任意＝line-soft、主ボタン＝blue-600、プランの選択ボタン＝navy-800。エラーは teal-text。
   ============================================================ */
.l-doc--stack + .l-doc--stack{padding-top:0}
.c-sponsor{padding-bottom:56px}
.l-form{scroll-margin-top:84px}
/* 本文カード用の .l-doc p / h2 / h3 / ul / li の既定（余白・罫・級数）をフォームとプランでは打ち消す */
:is(.l-form,.c-sponsor) :is(p,h2,h3,ul,ol,li,dl,dd){margin:0;padding:0;border:0}
:is(.l-form,.c-sponsor) :is(ul,ol){list-style:none}
:is(.l-form,.c-sponsor) p{font-size:inherit;color:inherit}
:is(.l-form,.c-sponsor) [hidden]{display:none !important} /* 区分で隠す行（form.js）。.c-form-row の display:grid に負けないように */

/* リード（スポンサー・参加お申し込み） */
.c-form-intro{text-align:center;margin-bottom:28px}
.l-doc .c-form-intro__lead{font-family:var(--f-jp);font-weight:700;font-size:24px;line-height:1.5;color:var(--navy-900)}
.l-doc .c-form-intro__sub{margin-top:6px !important;font-size:14px;color:var(--muted)}

/* 番号つき見出し（スポンサー「01 ── スポンサーパッケージ」） */
.c-num-title{margin:0 0 20px}
.l-doc .c-num-title__num{display:flex;align-items:center;gap:14px;font-family:var(--f-en);font-weight:600;font-size:15px;letter-spacing:.06em;line-height:1.5;color:var(--blue-600)}
.c-num-title__num::after{content:"";width:48px;height:1px;background:var(--blue-600)}
.l-doc .c-num-title__ja{font-family:var(--f-jp);font-weight:700;font-size:26px;line-height:1.4;color:var(--navy-900);margin-top:2px}

/* 白カード */
.c-form-card,.l-form--entry .c-form-panel{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:44px 48px}
.c-form-head{margin-bottom:28px}
.l-doc .c-form-head__lead{font-family:var(--f-jp);font-weight:700;font-size:18px;line-height:1.6;color:var(--ink)}
.l-doc .c-form-head__sub{margin-top:4px !important;font-size:13px;color:var(--muted)}
.l-doc h2.c-form-sec{font-family:var(--f-jp);font-weight:700;font-size:17px;color:var(--ink);margin:36px 0 10px;padding:0;border:0}

/* 必須／任意 */
.c-form-badge{display:inline-flex;align-items:center;flex:none;font-family:var(--f-jp);font-weight:700;font-size:11px;line-height:1;letter-spacing:.04em;
  padding:5px 9px;border-radius:3px;background:var(--line-soft);color:var(--muted)}
.c-form-badge--req{background:var(--blue-500);color:#fff}

/* 1 行：ラベル列（バッジは列の右端でそろえる）＋入力列 */
.c-form-rows{display:flex;flex-direction:column}
.c-form-row{display:grid;grid-template-columns:200px minmax(0,1fr);gap:8px 28px;align-items:start;padding:8px 0;margin:0;border:0;min-width:0}
.c-form-row__label{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:48px;
  font-family:var(--f-jp);font-weight:700;font-size:14.5px;line-height:1.5;color:var(--ink);padding:0;float:none;width:100%}
fieldset.c-form-row > legend.c-form-row__label{float:left} /* legend をグリッドの 1 列目に置く */
.c-form-row__body{min-width:0}
.c-form-row__note{margin-top:6px !important;font-size:12.5px !important;color:var(--muted) !important;line-height:1.6}
.c-form-row__error{margin-top:6px !important;font-size:13px !important;font-weight:700;color:var(--teal-text) !important;line-height:1.6}
/* ラベルを上、入力を下に積む行（お問い合わせ種別・お問い合わせ内容） */
.c-form-row--block{grid-template-columns:minmax(0,1fr);margin-top:28px}
.c-form-row--block > .c-form-row__label{justify-content:flex-start;gap:14px;min-height:0;font-size:17px;margin-bottom:6px}

.c-form-input{width:100%;min-height:48px;padding:10px 14px;border:1px solid var(--line);border-radius:6px;background:var(--surface);
  font-family:var(--f-body);font-size:15px;line-height:1.6;color:var(--ink)}
.c-form-input::placeholder{color:var(--muted);opacity:.7}
.c-form-input:focus{outline:none;border-color:var(--blue-500);box-shadow:0 0 0 3px var(--blue-100)}
.c-form-input[aria-invalid="true"]{border-color:var(--teal-500)}
.c-form-input--area{min-height:128px;resize:vertical;display:block}
.c-form-input--num{width:120px}
select.c-form-input{appearance:none;padding-right:40px;cursor:pointer;
  background:var(--surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='16' height='16'%3E%3Cpath d='M6 9l6 6 6-6' fill='none' stroke='%231A1530' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 14px center}
select.c-form-input:invalid,select.c-form-input:has(option[value=""]:checked){color:var(--muted)}

/* ラジオ・チェック */
.c-form-choices{display:flex;flex-wrap:wrap;gap:12px 36px;padding-top:11px}
.c-form-row--grid2 .c-form-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 24px}
.c-form-row--cols .c-form-choices{display:grid;grid-template-rows:repeat(4,auto);grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:10px 24px}
.c-form-choice,.c-form-check{display:inline-flex;align-items:center;gap:12px;cursor:pointer;font-size:15px;line-height:1.5;color:var(--ink)}
.c-form-choice input,.c-form-check input{appearance:none;flex:none;margin:0;width:24px;height:24px;border:1.5px solid var(--line);background:var(--surface);cursor:pointer;
  transition:border-color .15s,background-color .15s}
.c-form-choice input{border-radius:50%}
.c-form-choice input:checked{border-color:var(--blue-600);background:radial-gradient(circle,var(--blue-600) 0 5.5px,var(--surface) 6.5px)}
.c-form-check input{border-radius:4px}
.c-form-check input:checked{border-color:var(--blue-600);background:var(--blue-600) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/16px no-repeat}
.c-form-choice input:focus-visible,.c-form-check input:focus-visible{outline:3px solid var(--blue-200);outline-offset:2px}
.c-form-choice input[aria-invalid="true"],.c-form-check input[aria-invalid="true"]{border-color:var(--teal-500)}
@media (prefers-reduced-motion:reduce){.c-form-choice input,.c-form-check input{transition:none}}

/* 同意・ボタン */
.c-form-consent{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px 20px;margin-top:36px;font-size:15px}
.c-form-consent a{color:var(--blue-500)}
.c-form-consent .c-form-row__error{flex-basis:100%;text-align:center}
.c-form-actions{display:flex;justify-content:center;margin-top:24px !important}
.c-form-actions--two{gap:16px;flex-wrap:wrap}
.c-form-btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-width:340px;min-height:56px;padding:12px 32px;border:1px solid transparent;border-radius:6px;
  background:var(--blue-600);color:#fff;font-family:var(--f-jp);font-weight:700;font-size:16px;letter-spacing:.04em;line-height:1.4;text-decoration:none;cursor:pointer;
  transition:background-color .2s}
.c-form-btn:hover{background:var(--navy-700);color:#fff}
.c-form-btn svg{flex:none;transition:transform .2s ease-out}
.c-form-btn:hover svg{transform:translateX(3px)}
.c-form-btn[disabled]{opacity:.6;cursor:progress}
.c-form-btn--ghost{background:var(--surface);color:var(--ink);border-color:var(--line);min-width:220px}
.c-form-btn--ghost:hover{background:var(--surface-2);color:var(--ink)}
@media (prefers-reduced-motion:reduce){.c-form-btn,.c-form-btn svg{transition:none}.c-form-btn:hover svg{transform:none}}
.c-form-foot{margin-top:12px !important;text-align:center;font-size:12.5px !important;color:var(--muted) !important}
.c-form-alert{padding:12px 16px !important;border:1px solid var(--teal-500) !important;border-radius:6px;background:var(--surface-2);color:var(--teal-text) !important;font-size:14px !important;font-weight:700;margin-top:20px !important}
.c-form-trap{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* 確認・完了（F-04 ThanksBlock） */
.c-form-panel:focus{outline:none}
.c-form-panel,.c-stepper{scroll-margin-top:96px} /* 固定ヘッダーの下に隠れないように */
.l-doc .c-form-panel__title{font-family:var(--f-jp);font-weight:700;font-size:20px;line-height:1.5;color:var(--navy-900)}
.l-doc .c-form-panel__lead{margin-top:6px !important;font-size:14px;color:var(--ink-2)}
.c-form-review{display:grid;grid-template-columns:200px minmax(0,1fr);margin-top:24px !important;border-top:1px solid var(--line-soft) !important}
.c-form-review dt,.c-form-review dd{padding:14px 0;border-bottom:1px solid var(--line-soft)}
.c-form-review dt{font-family:var(--f-jp);font-weight:700;font-size:14px;color:var(--ink);padding-right:20px}
.c-form-review dd{font-size:15px;color:var(--ink-2);white-space:pre-wrap;overflow-wrap:anywhere;border-bottom:1px solid var(--line-soft) !important}
.c-form-review dd.is-empty{color:var(--muted)}
.c-form-panel--done{text-align:center;padding-block:20px}
.l-doc .c-thanks__icon{display:grid;place-items:center;width:64px;height:64px;margin:0 auto 16px !important;border-radius:50%;background:var(--blue-100);color:var(--blue-600)}
.l-form--entry .c-form-panel--done{padding:56px 48px}

/* C-08 RoadmapStepper（入力 → 確認 → 完了） */
.l-doc .c-stepper{display:flex;justify-content:center;align-items:center;margin:0 0 24px;padding:0;list-style:none}
.l-doc .c-stepper__item{display:flex;align-items:center;gap:10px;margin:0;font-family:var(--f-jp);font-size:14px;color:var(--muted)}
.c-stepper__item + .c-stepper__item::before{content:"";width:112px;height:1px;background:var(--line);margin:0 18px}
.c-stepper__no{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;border:1px solid var(--line);background:var(--surface);font-family:var(--f-en);font-weight:600;font-size:14px;color:var(--muted)}
.c-stepper__item[aria-current="step"]{color:var(--ink);font-weight:700}
.c-stepper__item[aria-current="step"] .c-stepper__no{background:var(--blue-600);border-color:var(--blue-600);color:#fff}

/* C-12 SponsorTier */
.l-doc .c-tier-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.l-doc .c-tier{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:20px 20px 18px}
.c-tier__head{padding-bottom:12px;border-bottom:1px solid var(--line-soft) !important}
.l-doc .c-tier__no{font-family:var(--f-en);font-weight:600;font-size:13px;line-height:1.4;color:var(--blue-600)}
.l-doc .c-tier__name{font-family:var(--f-jp);font-weight:700;font-size:17px;line-height:1.5;color:var(--navy-900);margin:2px 0 4px}
.l-doc .c-tier__price{display:flex;align-items:baseline;flex-wrap:wrap;color:var(--navy-900)}
.c-tier__price b{font-family:var(--f-en);font-weight:700;font-size:34px;line-height:1.15;letter-spacing:-.01em}
.c-tier__unit{font-family:var(--f-jp);font-weight:700;font-size:18px}
.c-tier__tax{font-size:13px;color:var(--muted);margin-left:2px}
.c-tier__body{display:flex;flex-direction:column;gap:12px;padding:12px 0 16px}
.l-doc .c-tier__items{display:flex;flex-direction:column;gap:2px}
.l-doc .c-tier__items li{position:relative;padding-left:16px;font-size:13.5px;line-height:1.7;color:var(--ink-2)}
.c-tier__items li::before{content:"";position:absolute;left:2px;top:.62em;width:6px;height:6px;border-radius:50%;background:var(--navy-800)}
.c-tier__limit{align-self:center;padding:3px 20px !important;border-radius:999px;background:var(--line-soft);font-size:12px !important;color:var(--ink-2) !important;line-height:1.6}
.c-tier__pick{margin-top:auto;display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:8px 16px;border-radius:5px;
  background:var(--navy-800);color:#fff;font-family:var(--f-jp);font-weight:700;font-size:13.5px;text-decoration:none;transition:background-color .2s}
.c-tier__pick:hover{background:var(--navy-700);color:#fff}
.c-tier__pick svg{transition:transform .2s ease-out}
.c-tier__pick:hover svg{transform:translateX(3px)}
@media (prefers-reduced-motion:reduce){.c-tier__pick,.c-tier__pick svg{transition:none}.c-tier__pick:hover svg{transform:none}}
/* 横長（サポーター）：見出し｜内容｜ボタン */
.l-doc .c-tier--wide{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr) 200px;align-items:center;gap:0 28px}
.c-tier--wide .c-tier__head{padding:0 28px 0 0;border-bottom:0 !important;border-right:1px solid var(--line-soft) !important;align-self:stretch}
.c-tier--wide .c-tier__body{padding:0}
.c-tier--wide .c-tier__limit{align-self:flex-start;margin-left:40px !important}
.c-tier--wide .c-tier__pick{margin-top:0}
.c-tier-note{margin-top:12px !important;font-size:12.5px !important;color:var(--muted) !important}

/* スポンサー：表組みの白カード（ラベル列｜縦罫｜入力列） */
.c-form-card--table{padding:24px 28px 40px}
.c-form-rows--ruled .c-form-row{grid-template-columns:230px minmax(0,1fr);gap:0;padding:12px 0;border-bottom:1px solid var(--line-soft)}
.c-form-rows--ruled .c-form-row:last-child{border-bottom:0}
.c-form-rows--ruled .c-form-row__label{padding:0 20px 0 8px;min-height:40px;font-size:14px}
.c-form-rows--ruled .c-form-row__body{padding-left:28px;border-left:1px solid var(--line-soft)}
.c-form-rows--ruled .c-form-input{min-height:40px;font-size:14px;padding:7px 12px}
.c-form-rows--ruled .c-form-input--area{min-height:96px}
.c-form-rows--ruled .c-form-choices{padding-top:6px}
.c-form-rows--ruled .c-form-choice{font-size:14px}
.c-form-row--inline-note .c-form-row__body{display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px}
.c-form-row--inline-note .c-form-row__note{margin-top:0 !important}
.c-form-row--inline-note .c-form-row__error{flex-basis:100%}
.l-doc h3.c-form-band{margin:18px 0 4px;padding:9px 18px;border-radius:4px;background:var(--blue-100);font-family:var(--f-jp);font-weight:700;font-size:15px;color:var(--navy-800)}

/* 参加お申し込み：区分カード（ラジオの label） */
.c-entry-cats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.c-entry-cat{display:flex;align-items:center;justify-content:center;gap:18px;padding:18px 20px;border:1px solid var(--line);border-radius:8px;background:var(--surface);cursor:pointer;
  transition:border-color .15s,box-shadow .15s}
.c-entry-cat:hover{border-color:var(--blue-200)}
.c-entry-cat.is-selected{border-color:var(--blue-500);box-shadow:0 0 0 1px var(--blue-500)}
.c-entry-cat__icon{flex:none;color:var(--blue-600)}
.c-entry-cat__text{display:flex;flex-direction:column}
.c-entry-cat__name{font-family:var(--f-jp);font-weight:700;font-size:16px;line-height:1.5;color:var(--navy-900)}
.c-entry-cat__fee{font-family:var(--f-jp);font-weight:700;font-size:14px;line-height:1.5;color:var(--navy-900)}
.c-entry-cat__fee b{font-family:var(--f-en);font-weight:700;font-size:20px}
.c-entry-cat__fee small{font-size:12px}
@media (prefers-reduced-motion:reduce){.c-entry-cat{transition:none}}
.c-entry-cats__note{margin:10px 0 24px !important;text-align:center;font-size:12.5px !important;color:var(--muted) !important}
.l-doc .c-form-step__note{margin:16px 0 0;font-size:14px;font-weight:700;color:var(--navy-800);line-height:1.7}

.c-form-card--entry{padding:28px 32px 36px}
.c-form-step{margin:0 0 28px;padding:0;border:0;min-width:0}
.l-doc .c-form-step__title{display:flex;align-items:center;gap:14px;width:100%;float:left;margin:0 0 6px;padding:10px 16px;border:0;border-radius:6px;background:var(--blue-100);
  font-family:var(--f-jp);font-weight:700;font-size:16px;line-height:1.5;color:var(--navy-900)}
.c-form-step__title + *{clear:both}
.c-form-step__no{font-family:var(--f-en);font-weight:700;font-size:16px;color:var(--blue-600)}
.c-form-step .c-form-choices--row{clear:both;padding:12px 16px 0;gap:12px 56px}
.c-form-step > .c-form-row__error{padding-left:16px}
.c-form-rows--compact{padding:4px 0 0}
.c-form-rows--compact .c-form-row{grid-template-columns:190px minmax(0,1fr);gap:6px 20px;padding:5px 0}
.c-form-rows--compact .c-form-row__label{min-height:42px;font-size:14px}
.c-form-rows--compact .c-form-input{min-height:42px;font-size:14px;padding:8px 12px}
.c-form-rows--compact .c-form-input--area{min-height:88px}
.c-form-rows--compact .c-form-choices{padding-top:8px}

/* 参加費 */
.c-fee{clear:both;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:0;background:var(--blue-100);border-radius:8px;padding:20px 28px;margin-top:8px}
.l-doc .c-fee__amount{display:flex;flex-wrap:wrap;align-items:baseline;padding-right:28px !important;font-family:var(--f-jp);font-weight:700;font-size:20px;color:var(--navy-900);line-height:1.2}
.c-fee__label{flex-basis:100%;font-size:14px;margin-bottom:4px}
.c-fee__amount b{font-family:var(--f-en);font-weight:700;font-size:40px;letter-spacing:-.01em}
.c-fee__amount small{font-size:13px}
.c-fee__text{padding-left:28px;border-left:1px solid var(--blue-200);display:flex;flex-direction:column;gap:4px;font-size:13.5px;line-height:1.75;color:var(--ink-2)}
.c-fee__strong{font-family:var(--f-jp);font-weight:700;font-size:14.5px !important;color:var(--navy-900) !important}
.c-fee--free{background:var(--surface-2);border:1px solid var(--line)}
.c-fee--free .c-fee__text{border-left-color:var(--line)}

/* 注意枠（当日の受付について／当日の持ち物） */
.c-form-notice{margin-top:14px;padding:16px 22px;border:1.5px solid var(--blue-500);border-radius:8px;background:var(--surface-2);display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 28px;align-items:center}
.l-doc .c-form-notice__title{display:flex;align-items:center;gap:12px;font-family:var(--f-jp);font-weight:700;font-size:18px;line-height:1.4;color:var(--navy-900);grid-row:span 2}
.c-form-notice__mark{display:grid;place-items:center;flex:none;width:32px;height:32px;border-radius:50%;background:var(--blue-600);color:#fff;font-family:var(--f-en);font-weight:700;font-size:18px}
.l-doc .c-form-notice__text{font-size:13.5px;line-height:1.75;color:var(--ink-2)}
.l-doc .c-form-notice__list{display:flex;flex-direction:column;font-size:14px;color:var(--ink)}
.c-form-notice__list li{position:relative;padding-left:16px}
.c-form-notice__list li::before{content:"";position:absolute;left:2px;top:.7em;width:6px;height:6px;border-radius:50%;background:var(--navy-800)}

/* お申し込みから参加までの流れ */
.l-doc h3.c-form-sub{margin:28px 0 12px;font-family:var(--f-jp);font-weight:700;font-size:16px;color:var(--navy-900)}
.l-doc .c-flow{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;counter-reset:none}
.l-doc .c-flow__item{display:flex;align-items:center;gap:16px;padding:14px 18px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}
.c-flow__no{display:grid;place-items:center;flex:none;width:38px;height:38px;border-radius:50%;background:var(--blue-600);color:#fff;font-family:var(--f-en);font-weight:700;font-size:16px}
.c-flow__text{display:flex;flex-direction:column;font-size:12.5px;line-height:1.65;color:var(--muted)}
.c-flow__text b{font-family:var(--f-jp);font-weight:700;font-size:14.5px;color:var(--ink)}

.c-form-submit-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px 24px;margin-top:8px;padding-top:24px;border-top:1px solid var(--line-soft)}
.c-form-submit-row .c-form-consent{margin-top:0;justify-content:flex-start}
.c-form-submit-row .c-form-actions{margin-top:0 !important}

@media (max-width:900px){
  .l-doc .c-tier-list{grid-template-columns:repeat(2,minmax(0,1fr))}
  .l-doc .c-tier--wide{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px 24px}
  .c-tier--wide .c-tier__pick{grid-column:1/-1}
  .c-entry-cat{flex-direction:column;text-align:center;gap:10px;padding:16px 12px}
}
@media (max-width:700px){
  .c-form-card,.l-form--entry .c-form-panel{padding:26px 20px}
  .c-form-card--entry,.c-form-card--table{padding:20px 16px 28px}
  .c-form-intro__lead{font-size:19px}
  .l-doc .c-num-title__ja{font-size:22px}
  .c-form-row,.c-form-rows--compact .c-form-row,.c-form-rows--ruled .c-form-row{grid-template-columns:minmax(0,1fr);gap:6px;padding:8px 0}
  .c-form-rows--ruled .c-form-row{padding:12px 0}
  .c-form-row__label,.c-form-rows--compact .c-form-row__label{min-height:0;justify-content:flex-start}
  .c-form-rows--ruled .c-form-row__label{padding:0}
  .c-form-rows--ruled .c-form-row__body{padding-left:0;border-left:0}
  .c-form-row--grid2 .c-form-choices,.c-form-row--cols .c-form-choices{grid-template-columns:minmax(0,1fr);grid-template-rows:none;grid-auto-flow:row}
  .c-form-choices{padding-top:2px}
  .c-form-step .c-form-choices--row{flex-direction:column;gap:12px;padding:10px 4px 0}
  .c-form-btn{min-width:0;width:100%}
  .c-form-actions--two{flex-direction:column-reverse}
  .c-form-review{grid-template-columns:minmax(0,1fr)}
  .c-form-review dt{padding:12px 0 0;border-bottom:0}
  .c-form-review dd{padding:2px 0 12px}
  .c-stepper__item + .c-stepper__item::before{width:28px;margin:0 10px}
  .l-doc .c-tier-list{grid-template-columns:minmax(0,1fr)}
  .l-doc .c-tier--wide{display:flex;flex-direction:column;align-items:stretch}
  .c-tier--wide .c-tier__head{padding:0 0 12px;border-right:0 !important;border-bottom:1px solid var(--line-soft) !important}
  .c-tier--wide .c-tier__body{padding:12px 0 16px}
  .c-tier--wide .c-tier__limit{align-self:center;margin-left:0 !important}
  .c-entry-cats{grid-template-columns:minmax(0,1fr);gap:10px}
  .c-entry-cat{flex-direction:row;justify-content:flex-start;text-align:left;padding:12px 16px}
  .c-entry-cat__icon{width:32px;height:32px}
  .c-fee{grid-template-columns:minmax(0,1fr);padding:18px 18px;gap:12px}
  .c-fee__amount{padding-right:0 !important}
  .c-fee__text{padding-left:0;border-left:0;padding-top:12px;border-top:1px solid var(--blue-200)}
  .c-fee--free .c-fee__text{border-top-color:var(--line)}
  .c-form-notice{grid-template-columns:minmax(0,1fr);padding:14px 16px}
  .c-form-notice__title{font-size:16px;grid-row:auto}
  .l-doc .c-flow{grid-template-columns:minmax(0,1fr)}
  .c-form-submit-row{flex-direction:column;align-items:stretch}
  .c-form-submit-row .c-form-consent{justify-content:center}
}
