@charset "UTF-8";

/* 1) box-sizing を統一 */
*, *::before, *::after {
  box-sizing: border-box;
}

/* 2) 余白の初期化 */
body, h1, h2, h3, h4, p, figure, blockquote, dl, dd {
  margin: 0;
}

/* 3) スクロール挙動（ユーザー設定に追従） */
html {
  -webkit-text-size-adjust: 100%; /* iOS ズーム対策 */
}

html:focus-within {
  scroll-behavior: smooth;
}

/* 4) ベース設定 */
body {
  min-height: 100vh;
  line-height: 1.5;
  /* text-rendering: optimizeSpeed;  ← 多くのケースで非推奨のため外す */
}

/* 5) メディア要素の扱いやすさ */
img, picture, video, canvas, svg {
  display: block;
  max-width: 100%;
}

img {
  height: auto;
}

/* 6) フォーム要素のフォント継承 */
input, button, textarea, select {
  font: inherit;
}

/* 7) リスト */
/* 本文のリストは標準スタイルを残す */
ul, ol {
  padding: 0;
  margin:0;
}

/* UI用リスト（ナビ等）は role="list" でリセット */
ul[role="list"], ol[role="list"] {
  list-style: none;
  margin: 0;
  padding: 0;
}

/* 8) リンク（下線維持＋フォーカス見える化） */
a {
  text-decoration: underline;
  text-decoration-skip-ink: auto;
  color: inherit; /* 必要に応じて上書き */

}

/* outline は消さない。フォーカスを見やすく */
a:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 2px;
}

/* 9) ボタンの初期化（必要最低限） */
button {
  cursor: pointer;

  /* デザインで上書きする前提なら以下を有効化
  background: none;
  border: none;
  */
}

/* 10) 見出しの初期化は必要時のみ*/
:where(h1, h2, h3, h4, h5, h6) {
  font-size: inherit;
  font-weight: inherit;
}

/* 11) 略語のアクセシビリティ */
abbr[title] {
  text-decoration: underline dotted;
}

/* 12) テーブルの基本 */
table {
  border-collapse: collapse;
  border-spacing: 0;
}

/* 13) 動きを減らす設定に対応 */
@media (prefers-reduced-motion: reduce) {
  html:focus-within {
    scroll-behavior: auto;
  }
  *, *::before, *::after {
    animation: none !important;
    transition: none !important;
  }
}

