.menu { background: var(--surface); padding: 130px 0 140px; position: relative; z-index: 1; border-radius: 80px 80px 0 0; }
.menu .container { max-width: 1160px; padding: 0 40px; }
.menu__ttl { font-size: 13rem; margin-bottom: 60px; }
.menu__row { display: flex; align-items: flex-start; gap: 6vw; }
.menu__body { flex: 1; min-width: 0; }
.menu__text { margin-bottom: 36px; }
.menu__box { padding: 12px 36px; background: var(--soft); border-radius: 28px; }
.menu__box h4 { font-size: 1.3rem; line-height: 1.5; letter-spacing: .2em; font-weight: 500; padding: 22px 0 12px; color: var(--accent); }
.menu__list div { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; padding: 18px 0; border-top: 1px solid var(--sand); }
.menu__list dt { font-size: 1.7rem; }
.menu__list dd { font-family: var(--font-en); font-size: 2.4rem; letter-spacing: 1px; white-space: nowrap; line-height: 1.3; }
.menu__img { flex: 0 0 38%; position: relative; margin-top: -150px; border-radius: 24px; overflow: hidden; }
.menu__img img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; object-position: 70% 50%; }
@media (max-width: 767px) {
  .menu { padding: 80px 0 0; border-radius: 40px 40px 0 0; }
  .menu .container { padding: 0 24px; }
  .menu__ttl { font-size: 10rem; margin-bottom: 36px; }
  .menu__row { display: block; }
  .menu__body { margin-bottom: 40px; }
  .menu__box { padding: 6px 22px; border-radius: 22px; }
  .menu__list dt { font-size: 1.5rem; }
  .menu__list dd { font-size: 2rem; }
  .menu__img { margin: 0 0 0 auto; width: 80%; }
}
