body {
 font-family: "Noto Sans JP", sans-serif;
 background: #f8f3eb;
 color: #5a4636;
 margin: 0;
 overflow-x: hidden;
}

html {
 scroll-behavior: smooth;
}

img {
 max-width: 100%;
 display: block;
}

a {
 text-decoration: none;
 color: inherit;
}

* {
 box-sizing: border-box;
}

.container {
 width: min(1200px, 92%);
 margin-inline: auto;
}

.logo-color {
 color: #2ca8b5;
 letter-spacing: 0.7em;
}
@media (max-width: 1024px) {
 h1 {
  font-size: 56px !important;
  line-height: 1.25 !important;
 }
}

@media (max-width: 768px) {
 h1 {
  font-size: 42px !important;
  line-height: 1.35 !important;
 }

 h2 {
  font-size: 32px !important;
 }

 p {
  line-height: 1.9 !important;
 }

 header nav {
  display: none !important;
 }

 .hero-buttons {
  flex-direction: column;
  align-items: stretch;
 }

 .hero-icons {
  justify-content: center;
 }
}

/* Mobile Menu */
#mobileMenu {
 position: fixed;
 inset: 0;
 z-index: 40;
}

#menuOverlay {
 opacity: 0;
 transition: opacity 0.3s ease;
}

#mobileMenu.is-open #menuOverlay {
 opacity: 1;
}

#menuPanel {
 transform: translateX(100%);
 transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

#mobileMenu.is-open #menuPanel {
 transform: translateX(0);
}

/* Hamburger Button (SVG) */
#menuBtn .bar-top,
#menuBtn .bar-bot {
 transform-origin: center;
 transform-box: fill-box;
 transition: transform 0.3s ease;
}

#menuBtn .bar-mid {
 transition: opacity 0.2s ease;
}

#menuBtn.is-open .bar-top {
 transform: translateY(6px) rotate(45deg);
}

#menuBtn.is-open .bar-mid {
 opacity: 0;
}

#menuBtn.is-open .bar-bot {
 transform: translateY(-6px) rotate(-45deg);
}

@media (max-width: 480px) {
 h1 {
  font-size: 34px !important;
 }

 h2 {
  font-size: 28px !important;
 }

 .hero-icons {
  gap: 12px;
 }

 .hero-icons > div {
  width: 92px !important;
  height: 92px !important;
 }
}
