@charset "UTF-8";
/* ==========================================================================
   reset.css — 最小限のリセット
   ========================================================================== */

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  scroll-behavior: smooth;
}

body,
h1, h2, h3, h4, h5, h6,
p, figure, blockquote,
dl, dd, ol, ul {
  margin: 0;
}

/* ⚠️ 2026-08-18 是正：このセレクタの詳細度は (0,1,1) で、レイアウト用の
      単一クラス（例 .l-container = (0,1,0)）に勝ってしまう。
      実際に <ul class="p-reasons__list l-container"> の左右余白が 0 になり、
      375px / 768px で文字が画面左端に張り付く事故が起きた。
      同種の再発を防ぐため、レイアウトのコンテナを兼ねるリストは除外する。 */
ul[class]:not(.l-container),
ol[class]:not(.l-container) {
  padding: 0;
}

ul[class],
ol[class] {
  list-style: none;
}

h1, h2, h3, h4, h5, h6 {
  font-size: inherit;
  font-weight: inherit;
}

a {
  color: inherit;
  text-decoration: none;
}

img,
picture,
svg,
video {
  display: block;
  max-width: 100%;
}

img {
  height: auto;
  border-style: none;
}

input,
button,
textarea,
select {
  font: inherit;
  color: inherit;
  margin: 0;
}

button {
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
}

textarea {
  resize: vertical;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

address {
  font-style: normal;
}

/* details のネイティブマーカーを消す（独自アイコンを使うため） */
summary {
  display: block;
  cursor: pointer;
  list-style: none;
}

summary::-webkit-details-marker {
  display: none;
}

/* dialog の既定余白をリセット */
dialog {
  padding: 0;
  border: none;
  background: none;
  color: inherit;
  max-width: none;
  max-height: none;
}

dialog::backdrop {
  background: rgba(10, 27, 44, .6);
}
