*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  background: #F5F2EA;
  color: #1C211E;
  font-family: 'Zen Kaku Gothic New', 'Hiragino Kaku Gothic ProN', 'Yu Gothic', sans-serif;
  font-size: 16px;
  line-height: 1.75;
}
img { max-width: 100%; }
a { color: #1E3B2F; }
a:hover { color: #142A21; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
  outline: 3px solid #B4561A;
  outline-offset: 2px;
}
section[id] { scroll-margin-top: 16px; }

.site-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 30px;
  font-size: 17px;
  font-weight: 700;
  letter-spacing: 0.02em;
}
.site-nav a { text-decoration: none; }
.site-nav a[aria-current="page"] { border-bottom: 2px solid #B4561A; }

@media (max-width: 720px) {
  .site-nav { gap: 6px 16px; font-size: 15px; }
}

.chip {
  min-height: 44px;
  padding: 0 18px;
  border-radius: 999px;
  border: 2px solid #C9C2B0;
  background: #FFFFFF;
  color: #1C211E;
  font: inherit;
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
}
.chip[aria-pressed="true"] { border-color: #1E3B2F; background: #1E3B2F; color: #FFFFFF; }

.tab {
  min-height: 52px;
  border: none;
  border-radius: 8px;
  background: transparent;
  color: #1C211E;
  font: inherit;
  font-size: 17px;
  font-weight: 700;
  cursor: pointer;
}
.tab[aria-pressed="true"] { background: #B4561A; color: #FFFFFF; font-weight: 900; }

.thumb-btn {
  padding: 0;
  border: 3px solid transparent;
  border-radius: 9px;
  background: transparent;
  cursor: pointer;
  opacity: 0.72;
}
.thumb-btn[aria-pressed="true"] { border-color: #B4561A; background: #FFFFFF; opacity: 1; }

.sr-only {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}

/* ヘッダー:1段目にロゴと電話・相談ボタン、2段目にメニュー */
.site-nav { flex: 1 1 100%; padding-top: 12px; border-top: 1px solid #DDD7C8; }
