@charset "UTF-8";
:root {
  --primary: #b94d59;
  --primary-dark: #8f4b53;
  --primary-deep: #44282b;
  --primary-light: #f8e3e6;
  --accent: #d25f69;
  --accent-dark: #b94d59;
  --accent-light: #f8e3e6;
  --leaf: #b57882;
  --leaf-light: #fff5f6;
  --cream: #fff8f9;
  --text: #56383a;
  --text-secondary: #765c5e;
  --text-muted: #967b7e;
  --border: #e9cdd1;
  --bg: #fffdfd;
  --surface: #fff5f6;
  --surface-warm: #fffafa;
  --font-display: "Noto Sans JP", sans-serif;
}
body { background: var(--bg); }
.header { border-bottom-color: rgba(143, 75, 83, .15); }
.btn-primary { box-shadow: 0 8px 20px rgba(143, 75, 83, .18); }
.btn-accent { box-shadow: 0 8px 20px rgba(210, 95, 105, .18); }
.info-note { border: 1px solid var(--border); border-radius: var(--radius-s); }
.cta-banner { background: linear-gradient(125deg, #b85662, #8d4850); }
.footer { color: var(--text-secondary); background: #f9ebed; }
.footer-title { color: var(--primary-deep); }
.footer-contact a { color: var(--accent-dark); }
.footer-links a:hover { color: var(--accent-dark); }
.footer-note { color: var(--text-muted); }
.footer-bottom { border-top-color: var(--border); color: var(--text-muted); }
.draft-notice {
  margin: 0;
  padding: 10px 20px;
  background: #fff3f5;
  color: #8f4b53;
  font-size: .82rem;
  text-align: center;
}

@media (max-width: 920px) {
  .nav:not(.active) { display: none; }
  .nav.active { display: block; transform: none; }
}

@media (max-width: 640px) {
  .footer-links { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 16px; }
  .footer-contact a { font-size: 1.35rem; }
}
