/*
  1. box-sizingをborder-boxに統一
  （パディングやボーダーを含めてサイズ計算するようにする）
*/
*, *::before, *::after {
  box-sizing: border-box;
}

/*
  2. ブラウザ固有の余白（margin/padding）をリセット
*/
* {
  margin: 0;
  padding: 0;
}

/*
  3. テキストのレンダリングを最適化し、スクロールを滑らかに
*/
html {
  -webkit-text-size-adjust: none; /* iOSでのフォントサイズ自動調整を防止 */
  scroll-behavior: smooth;
}

/*
  4. bodyの基本設定：最小の高さを確保
*/
body {
  min-height: 100vh;
  text-rendering: optimizeSpeed;
  line-height: 1.5;
}

/*
  5. リストの記号（点）をリセット
*/


/*
  6. 画像を扱いやすくする
  （画像の下にできる隙間を消し、親要素からはみ出さないように）
*/
img, picture, video, canvas, svg {
  display: block;
  max-width: 100%;
}

/*
  7. フォーム要素のフォントを親要素から継承させる
*/
input, button, textarea, select {
  font: inherit;
}

/*
  8. リンクの装飾（下線）をリセット
*/
a {
  text-decoration: none;
  color: inherit;
}

/*
  9. テーブルの隙間をリセット
*/
table {
  border-collapse: collapse;
  border-spacing: 0;
}