/* ============================================================
   アクセシビリティ上書き（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;
}
