/* 見出しは直線的なゴシック、本文は親しみのある丸ゴシックで読み分ける。 */
body,
.feature-card h3,
.intro-body,
.promise-content > p:not(.eyebrow),
.join > p:not(.eyebrow) {
  font-family: "Zen Maru Gothic", sans-serif;
}

.brand,
.header nav a,
.header-cta,
.button,
.text-link,
.arrow-link,
.hero h1,
.join h2,
.intro h2,
.section-head h2,
.promise h2 {
  font-family: "Zen Maru Gothic", sans-serif;
}

.hero h1,
.join h2 {
  font-weight: 900;
  letter-spacing: .075em;
}

.intro h2,
.section-head h2,
.promise h2 {
  font-weight: 700;
  letter-spacing: .07em;
}

.hero h1 em,
.join h2 em,
.promise h2 em,
.intro h2 strong,
.section-head h2 span {
  font-family: "Zen Kurenaido", sans-serif;
  font-weight: 400;
  letter-spacing: .04em;
}

.eyebrow,
.availability,
.section-number,
.card-index,
.brand small,
footer p,
footer > a {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  font-weight: 500;
}

.feature-card h3 { font-weight: 700; }

.detail-links { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 28px; }
.detail-links a { color: #111b3d; text-decoration: none; border: 1px solid #d8c1a5; border-radius: 24px; padding: 10px 14px; font-size: 12px; background: #fffdfa; }
.detail-links span { margin-left: 8px; font-size: 16px; color: #6c65ec; }

@media (max-width: 800px) {
  .hero h1,
  .join h2 { letter-spacing: .04em; }
}
