/* ======================================
   Modern Reset CSS (2025)
   Based on normalize.css / modern-normalize
   For Chrome, Safari, Firefox, Edge (no IE)
   ====================================== */

/* Box sizing */
html {
  box-sizing: border-box;
  font-size: 62.5%;        /* 1rem = 10px 基準にしたい場合 */
  line-height: 1.5;
  -webkit-font-smoothing: antialiased; /* Webkit 系で文字をなめらかに */
  font-family: "Noto Sans JP", sans-serif;
  font-feature-settings: "palt";
  scroll-behavior: smooth;
}

*, ::before, ::after {
  box-sizing: inherit;
  margin: 0;
  padding: 0;
  background-repeat: no-repeat;
}

/* Typography */
body {
  font-size: 1.6rem;
  font-weight: 400;
  color: #000;
}

/* Headings, text */
h1, h2, h3, h4, h5, p, th, td, li, a {
  font-weight: 600;
  font-size: 1.6rem;
  line-height: 1.8;
  letter-spacing: 0.07em;
}

p {
  text-align: justify;
}

abbr[title] {
  text-decoration: underline dotted;
}

/* Links */
a {
  color: inherit;
  text-decoration: none;
  text-decoration-skip-ink: auto;
}

/* Lists */
ul, ol {
  list-style: none;
}

/* Images & media */
img, picture, video, canvas, svg {
  display: block;
  max-width: 100%;
  height: auto;
  border: 0;
}

/* Forms */
button, input, select, textarea {
  font: inherit;
  color: inherit;
  border: none;
  background: none;
}

button, [type="button"], [type="submit"], [type="reset"] {
  cursor: pointer;
}

[disabled] {
  cursor: default;
}

textarea {
  resize: vertical;
}

/* Accessibility helpers */
[hidden] {
  display: none !important;
}