/* =========================================================
   BSC 共通リファイン（全ページ共有・各ページの <style> の後に読込）
   - 数字フォント A/Bミックス（見出し=Cormorant / 実用データ=すっきりNoto）
   - 脱pill：角丸を抑えた形状システム（pill多用のAI感を是正）
   - a11y：フォーカス可視化
   役員会議2026-06-01（天才Webデザイナー＋マーケター＋CXO＋CCO）の統合結果
   ========================================================= */

/* --- 数字の基線統一：Cormorantのオールドスタイル数字(3,4,7,9が下がる)を
       ライニング数字に切替。継承プロパティなので全要素に効く --- */
body { font-variant-numeric: lining-nums; }
.figc, .stat .n, .fstep .fn, .feat .n, .ac .y, .news a .d { font-feature-settings: "lnum" 1; }

/* --- 数字フォント：実用データ（料金・合計）は“すっきり”Noto・等幅数字 --- */
.fee b, .fee .row b, table td b, .simple .row b, .simc .total,
.ccard .cap .pr .p, .cl .pr .p, .fee-extra, .price .p .num {
  font-family: var(--sans);
  font-feature-settings: "tnum" 1, "lnum" 1;
  font-weight: 600;
}
/* 見出し・装飾の数字（ヒーローの3など）は Cormorant のまま */
.figc { font-family: var(--en); font-weight: 600; }

/* --- 脱pill：角丸 999px をやめ、控えめな矩形に統一 --- */
.nav .book, .hero .hcta a, .btn, .cta-band a, .midcta a, .ccta,
.dresult a, .sticky a, .dchip,
.ccard .ph .tag, .news a .cat { border-radius: 4px; }

/* タップ領域（a11y/CV） */
.nav .book, .midcta a, .cta-band a, .dresult a, .ccta {
  display: inline-flex; align-items: center; justify-content: center; min-height: 44px;
}

/* 回遊系は“脱ボタン”＝金の下線テキスト＋→ */
.util-btns a, .achv-more a, .news-more a, .ccard .more, .fee-note a {
  background: transparent; border: 0; border-bottom: 1px solid var(--gold-soft);
  border-radius: 0; padding: 6px 1px; min-height: 0;
  color: var(--blue); font-weight: 500; letter-spacing: .04em;
}
.util-btns a::after, .achv-more a::after, .news-more a::after, .ccard .more::after {
  content: " →"; font-family: var(--en); font-style: italic;
}
@media (hover:hover) {
  .util-btns a:hover, .achv-more a:hover, .news-more a:hover,
  .ccard .more:hover, .fee-note a:hover { border-bottom-color: var(--gold); }
}

/* a11y：フォーカス可視化（キーボード操作） */
a:focus-visible, button:focus-visible, summary:focus-visible {
  outline: none; box-shadow: 0 0 0 3px rgba(33,70,138,.45); border-radius: 4px;
}
@media (prefers-reduced-motion: reduce) {
  .nav .book, .midcta a, .cta-band a, .ccta { transition: none; }
}

/* --- 小サイズ英字ラベルのコントラスト確保(AA) --- */
.label, .ac .y, .campaign .pill, .tch .ro, .trow .ro, .access .info .k { color: #8a6d2a; }

/* --- ページ内アンカーがstickyナビ裏に着地する問題を一括是正 --- */
html { scroll-padding-top: 76px; }
@media (min-width: 820px) { html { scroll-padding-top: 86px; } }

/* --- フッターリンクのタップ領域確保（誤タップ低減・色や下線は不変） --- */
footer .links a { display: inline-block; padding: 4px 2px; }

/* --- 印刷(紙世代対応): 料金表・時間割・連絡先が必ず刷れるように --- */
@media print {
  .sticky, .curtain, .sprog, .scrolldown, .gallery, .gpause, iframe, .nav .book, .hero .hcta { display: none !important; }
  .reveal { opacity: 1 !important; transform: none !important; }
  .hero { height: auto; min-height: 0; }
  .hero img { display: none; }
  .hero .copy { position: static; color: #152e5c; text-shadow: none; padding: 24px 0; }
  .message, .cta-band, footer, footer.rich { background: #fff !important; color: #152e5c !important; }
  .message h2 b, .cta-band a { color: #152e5c !important; }
  body { background: #fff; }
}

/* =========================================================
   モバイルメニュー（JS不要・<details>式 / 820px未満で表示）2026-06-13追加
   - スマホでグローバルnavが消える穴を塞ぐ。紙地×ロイヤルブルー、角丸--r、ピル/金面塗りなし
   ========================================================= */
.nav .nr { display: flex; align-items: center; gap: 10px; }
.mnav { position: static; }
.mnav > summary {
  list-style: none; display: flex; align-items: center; justify-content: center;
  width: 42px; height: 42px; cursor: pointer; -webkit-tap-highlight-color: transparent;
}
.mnav > summary::-webkit-details-marker { display: none; }
.mnav > summary::before, .mnav > summary::after { content: none; }   /* 周辺ページのFAQ用 summary::before(＋/−) を無効化 */
.mnav .bars, .mnav .bars::before, .mnav .bars::after {
  display: block; width: 22px; height: 1.5px; background: var(--blue-deep); border-radius: 2px;
}
.mnav .bars { position: relative; transition: background .15s; }
.mnav .bars::before, .mnav .bars::after { content: ""; position: absolute; left: 0; transition: transform .2s; }
.mnav .bars::before { top: -7px; }
.mnav .bars::after { top: 7px; }
.mnav[open] .bars { background: transparent; }
.mnav[open] .bars::before { transform: translateY(7px) rotate(45deg); }
.mnav[open] .bars::after { transform: translateY(-7px) rotate(-45deg); }
.mnav .mpanel {
  position: absolute; top: 100%; left: 0; right: 0; z-index: 60;
  background: var(--paper); border-top: 1px solid var(--line); border-bottom: 1px solid var(--gold-soft);
  box-shadow: 0 14px 26px rgba(21,46,92,.08); padding: 4px 6vw 20px;
  display: flex; flex-direction: column;
}
.mnav .mpanel a {
  padding: 15px 2px; font-size: 15px; color: var(--ink);
  border-bottom: 1px solid var(--line); font-family: var(--min);
}
.mnav .mpanel a.mbook {
  margin-top: 12px; color: #fff; background: var(--blue-deep); text-align: center;
  padding: 15px; border-radius: var(--r); border-bottom: none;
  font-family: var(--sans); font-weight: 500; letter-spacing: .04em;
}
.nav .nr .book { display: none; }   /* モバイル: nav内CTAは隠す（下部sticky＋メニュー内「体験・見学を予約」で担保）→ ロゴ＋☰のみで収める */
@media (min-width: 1100px) { .mnav { display: none; } .nav .nr .book { display: inline-flex; } }
@media (prefers-reduced-motion: reduce) {
  .mnav .bars, .mnav .bars::before, .mnav .bars::after { transition: none; }
}

/* 読みもの(トップのブログ最新枠) */
#reading .reading{display:grid;gap:12px;grid-template-columns:1fr;max-width:780px;margin:0 auto}
@media(min-width:760px){#reading .reading{grid-template-columns:repeat(3,1fr)}}
#reading .reading a{display:block;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:16px 18px;transition:border-color .2s}
#reading .reading a:hover{border-color:var(--gold-soft)}
#reading .rd-date{display:block;font-size:11.5px;color:var(--ink-soft);letter-spacing:.06em;font-variant-numeric:lining-nums tabular-nums;margin-bottom:6px}
#reading .rd-title{font-family:"Shippori Mincho",serif;font-size:13.5px;font-weight:600;color:var(--blue-deep);line-height:1.7}
