:root {
  color-scheme: dark;
  font-family: system-ui, "Noto Sans JP", sans-serif;
  color: #f5f4ed;
  background: #111714;
  line-height: 1.8;
}
main { max-width: 44rem; margin: 0 auto; padding: clamp(1.5rem, 5vw, 4rem); }
header { margin: 0 0 2rem; }
h1, h2 { line-height: 1.3; }
h1 { font-size: clamp(2rem, 7vw, 4rem); margin: .25rem 0 1rem; }
h2 { font-size: 1.35rem; }
section { border-top: 1px solid #476053; margin-top: 1.5rem; padding-top: 1.15rem; }
p { margin: .6rem 0 1rem; }
.label { color: #b3d9c5; font-weight: 650; }
a { color: #bdedcc; text-decoration-thickness: .08em; text-underline-offset: .17em; }
footer { border-top: 1px solid #476053; margin-top: 2rem; padding-top: 1rem; display: flex; flex-wrap: wrap; gap: .65rem 1.1rem; }
