/* 1. ボックスモデルの定義を直感的にする（サイズにパディングを含める） */
*, *::before, *::after {
  box-sizing: border-box;
}

/* 2. デフォルトの余白を消去 */
body, h1, h2, h3, h4, p, figure, blockquote, dl, dd {
  margin: 0;
}

/* 3. リストの記号（点）を消す（必要に応じて） */
ul, ol {
  list-style: none;
  padding: 0;
}

/* 4. bodyの基本設定 */
body {
  min-height: 100vh;      /* 前述のフッター固定に必須 */
  line-height: 1.5;       /* 行間を読みやすく */
  text-rendering: optimizeSpeed;
  -webkit-font-smoothing: antialiased; /* 文字を滑らかに */
}

/* 5. 画像をレスポンシブに対応させる（親要素からはみ出さない） */
img, picture {
  max-width: 100%;
  display: block;
}

/* 6. フォーム要素のフォントを継承させる（デフォルトだと独自のフォントになるため） */
input, button, textarea, select {
  font: inherit;
}

/* 7. リンクの装飾をリセット */
a {
  text-decoration: none;
  color: inherit;
}

/* 8. ボタンのデフォルトスタイルを解除 */
button {
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
}