/* ============================================================
   アクセシビリティ上書き（WCAG 2.1.1 キーボード操作）
   テーマCSSの後に読み込む。見た目は変えず、操作性のみ補う。
   ------------------------------------------------------------
   問題: ハンバーガーメニュー(#accordion)・FAQ・お客様の声の
   開閉トグルが CSSチェックボックスハックで、theme側が
   input を display:none にしているためフォーカス/Tab/Space不可。
   対処: display:none を「可視外だがフォーカス可能」へ上書き。
   開閉は :has(input:checked) 方式なので Space でそのまま動く。
   ============================================================ */
input#accordion,
#faq dl > div dt > label input,
#voice ul li label input,
.voice-content label input {
  display: block !important;
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  padding: 0 !important;
  border: 0 !important;
  clip: rect(0 0 0 0) !important;
  clip-path: inset(50%) !important;
  overflow: hidden !important;
  white-space: nowrap !important;
}

/* フォーカス時に「操作対象の見える部分」へブランド色のリングを出す */
/* ハンバーガー: input#accordion は <header> の直前の兄弟、label[for=accordion] は header内 */
#accordion:focus-visible ~ header label[for="accordion"] {
  outline: 3px solid #e3a28f;
  outline-offset: 4px;
  border-radius: 6px;
}
/* FAQ: input は label の中（:focus-within で質問ラベル全体を縁取り） */
#faq dl > div dt > label:focus-within {
  outline: 3px solid #e3a28f;
  outline-offset: 3px;
  border-radius: 6px;
}

/* ============================================================
   横オーバーフロー防止（モバイルで縮小・パンすると崩れる対策）
   ページ全体が画面より横に広がるのを封じ、はみ出す表は親内スクロールへ。
   ============================================================ */
html,
body {
  overflow-x: clip; /* 横方向のページスクロールを禁止（position:sticky等は維持） */
  max-width: 100%;
}
/* 比較表・カリキュラム表などは親内で横スクロール（ページを広げない） */
.table-scrolled {
  overflow-x: auto !important;
  max-width: 100%;
}

/* 主要操作対象のフォーカス可視化（キーボード移動の現在地を明示） */
a.Advance-membership-reservation:focus-visible,
.fixed-header nav a:focus-visible,
#voice [data-voice-scroll]:focus-visible {
  outline: 3px solid #e3a28f;
  outline-offset: 3px;
  border-radius: 6px;
}

/* ============================================================
   サブページの固定ヘッダーオフセット（最初の見出しがヘッダーに潜る対策）
   ------------------------------------------------------------
   .fixed-header は position:fixed。テーマは2方式でオフセットする:
   ① .main-visual バナー有りページ → バナーに padding-top
   ② バナー無しページ（law/terms/privacy-policy/column）→
      `body#x { padding-top: var(--fixed-header-height) }`
   concept/first/price/age* は元々 .main-visual バナー前提で body 側
   オフセットを持たず、Next移行でバナーを落としたため最初の <section>
   見出しが固定ヘッダーに隠れる。テーマ②と同じ方式で補う（PC/SP共通・
   高さは --fixed-header-height で自動追従）。
   ============================================================ */
body#concept,
body#first,
body#price,
body#age20-30men,
body#age20-30women,
body#age40-50women,
body#age60-women {
  padding-top: var(--fixed-header-height);
}
