/* =====================================================
   normalize-lite.css - プロジェクト用に調整された基本リセット
   (フォーム要素等のブラウザデフォルトスタイル解除強化版)
===================================================== */
@charset "UTF-8";

*, *::before, *::after {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  -webkit-tap-highlight-color: transparent; /* iOS/Android タップハイライト無効化 */
}

body {
  margin: 0;
}

h1, h2, h3, h4, h5, h6, p {
  margin: 0;
  font-weight: inherit; /* ★ style.css で h1-h6 の font-weight:bold を再設定前提 */
}

a {
  color: inherit;
  text-decoration: none;
  /* -webkit-tap-highlight-color: transparent; */ /* html要素に移動 */
}

img, svg {
  max-width: 100%;
  height: auto;
  vertical-align: middle; /* display:blockでも良いが、念のため */
  display: block;
}

figure { /* figure 要素のデフォルトマージン削除 */
  margin: 0;
}

fieldset { /* fieldset 要素のデフォルトスタイル削除 */
    border: 0;
    margin: 0;
    padding: 0;
}

legend { /* legend 要素のデフォルトスタイル調整 (必要に応じて) */
    padding: 0; /* padding削除 */
    display: table; /* レイアウト崩れ防止 */
}

/* フォーム要素の基本的なリセットとデフォルトスタイル解除 */
button,
input,
optgroup, /* optgroup も含める */
select,
textarea {
  font-family: inherit; /* フォントを継承 */
  font-size: 100%; /* フォントサイズを継承 */
  line-height: inherit; /* 行の高さを継承 */
  color: inherit; /* 文字色を継承 */
  margin: 0; /* デフォルトマージン削除 */
  padding: 0; /* デフォルトパディング削除 */
  border: none; /* デフォルトボーダー削除 */
  border-radius: 0; /* iOSなどのデフォルト角丸削除 */
  background: transparent; /* 背景を透過に */
  -webkit-appearance: none; /* iOSなどのデフォルトスタイル解除 */
  appearance: none; /* 標準のデフォルトスタイル解除 */
  vertical-align: middle; /* 要素の縦位置を中央揃えに */
}

/* ボタン要素の追加リセット */
button {
  cursor: pointer; /* カーソルをポインターに */
  background-color: transparent; /* 背景色透過 (上で指定済みだが明示) */
  text-align: inherit; /* テキスト寄せを継承 */
}
/* Firefoxでのボタン内側の不要なpadding/border削除 */
button::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/* 特定のinputタイプのappearance調整 */
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  height: auto; /* スピンボタンの高さを自動調整 (非表示にする場合は display: none;) */
  -webkit-appearance: none;
  margin: 0; /* スピンボタンのマージン削除 */
}
input[type="number"] {
  -moz-appearance: textfield; /* Firefoxでスピンボタン非表示 */
}
input[type="search"] {
  -webkit-appearance: textfield; /* Safariでのスタイルをリセット */
  outline-offset: -2px; /* フォーカス時のアウトライン調整 (必要に応じて) */
}
input[type="search"]::-webkit-search-decoration,
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-results-button,
input[type="search"]::-webkit-search-results-decoration {
  -webkit-appearance: none; /* 検索フィールドの装飾ボタン非表示 */
}

/* textarea のリセット */
textarea {
    vertical-align: top; /* 上揃え */
    overflow: auto; /* 内容がはみ出た場合にスクロールバー表示 (デフォルト) */
    resize: vertical; /* リサイズを縦方向のみに制限 (none, horizontal も可) */
}

/* select 要素のデフォルト矢印は消えるため、必要なら style.css で別途実装 */
select {
    /* -webkit-appearance: none; appearance: none; は上で指定済み */
}
/* IE での select の矢印非表示 (ほぼ不要だが参考) */
select::-ms-expand {
    display: none;
}

/* IE でのプレースホルダー色調整 (必要に応じて) */
/* input::placeholder,
textarea::placeholder {
    color: #aab2bd;
    opacity: 1;
} */
/* input::-ms-input-placeholder,
textarea::-ms-input-placeholder {
    color: #aab2bd;
} */

/* iOS で input[type="date"] などがタップできない問題の対策 (必要に応じて) */
/* input[type="date"],
input[type="time"],
input[type="datetime-local"],
input[type="month"] {
    min-height: 1.2em;
} */

/* 必要に応じて他のリセットを追加 */