.menu-redesign{background:#faf9f5;color:#263c36}
.menu-shell{width:min(1280px,90%);margin-inline:auto}
.menu-intro{padding:35px 0 28px}.menu-intro .breadcrumbs{margin-bottom:30px}.menu-intro h1{font-size:clamp(30px,3.3vw,48px);line-height:1.55;letter-spacing:.035em;margin:15px 0 20px}.menu-intro>p{font-size:15px;line-height:1.9}
.menu-effective{padding:18px 22px;background:#edf1ed;border-left:4px solid #5d7a67;font-size:13px;margin-top:28px}.menu-effective strong,.menu-effective span{display:block}.menu-effective span{margin-top:4px}
.menu-first{display:grid;grid-template-columns:38% 1fr;margin-top:14px;margin-bottom:44px;background:#edf4f4;border:1px solid #d5e3e0;border-radius:12px;overflow:hidden}
.menu-first-photo{height:100%;object-fit:cover;object-position:center;min-height:410px}
.menu-first-copy{padding:32px 40px}.menu-first-copy h2{font-size:29px;line-height:1.6;margin:12px 0 20px}.menu-first-copy h3{font-size:17px;margin-bottom:8px}.menu-first-copy p{font-size:14px}.menu-first-price{display:flex;align-items:center;gap:24px;margin:16px 0 20px}.menu-first-price>span{background:#fff;padding:5px 18px;border-radius:5px;font-size:16px}.menu-first-price strong{font-size:44px;line-height:1.25;letter-spacing:-.025em;font-weight:600}.menu-first-price small{font-size:13px;font-weight:400;margin-left:6px}
.menu-first .actions{margin:0;flex-wrap:wrap}.menu-first .menu-caption{margin:16px 0 0;font-size:12px}
.menu-tag{font-size:12px;font-weight:500;display:inline-block;color:var(--tone,#236d68);background:var(--tint,#dcebe9);padding:5px 11px;border-radius:4px;line-height:1.6}
.tone-basic{--tone:#236d68;--tint:#e7f2ef;--edge:#c7dfd9}.tone-specialist{--tone:#975069;--tint:#faf0f3;--edge:#e9ccd6}.tone-children{--tone:#507449;--tint:#edf5e8;--edge:#cddfc4}
.menu-jump{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:28px}.menu-jump a{border-radius:8px;padding:18px 24px;background:var(--tint);border:1px solid var(--edge);border-left:5px solid var(--tone);text-decoration:none;color:var(--tone);font-size:19px;font-weight:500}.menu-jump span{display:block;font-size:12px;margin-top:3px}.menu-jump a:hover{box-shadow:0 3px 12px #263c3615}
.menu-categories{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;align-items:start;margin-bottom:46px}
.menu-category{scroll-margin-top:30px;min-width:0;border:1px solid var(--edge);border-radius:10px;background:var(--tint);overflow:hidden}
.menu-category>header{background:var(--tone);color:white;padding:24px 25px;min-height:175px;position:relative}.menu-category-index{position:absolute;right:22px;top:24px;font-size:13px;opacity:.75}.menu-category h2{font-family:'Noto Sans JP',sans-serif;font-weight:600;font-size:25px;letter-spacing:.04em;margin:0 0 10px}.menu-category header p{font-size:13px;line-height:1.8;margin:0;color:#fff}
.menu-card{background:white;margin:16px;border-radius:7px;overflow:hidden;box-shadow:0 2px 7px #263c3608;scroll-margin-top:30px}
.menu-card figure{margin:0}.menu-card figure img{width:100%;aspect-ratio:16/10;object-fit:cover;height:auto}.menu-card#child figure img{object-position:center 28%;aspect-ratio:16/10}
.menu-card-body{padding:22px}.menu-card h3{font-size:21px;line-height:1.55;margin:12px 0;font-weight:600;letter-spacing:0}.menu-card h3 small{font-size:15px}
.menu-desc{font-size:14px;line-height:1.95;margin-bottom:22px;min-height:5.85em}
.menu-cost{display:flex;gap:10px;align-items:center;justify-content:space-between;background:var(--tint);padding:12px 14px;border-radius:5px}.menu-duration{white-space:nowrap;font-size:15px;font-weight:500}.menu-cost strong{font-size:30px;font-weight:600;letter-spacing:-.035em;line-height:1.3}.menu-cost small{font-size:13px;margin-left:2px}.menu-age-label{font-size:12px}
.menu-detail{display:inline-block;color:var(--tone);font-size:13px;margin-top:18px;text-underline-offset:5px}.menu-child-prices{margin:8px 0 0}.menu-child-prices>div{display:flex;align-items:center;justify-content:space-between;padding:10px 2px;border-bottom:1px solid #e5ebdf;gap:8px}.menu-child-prices dt{font-size:13px}.menu-child-prices dd{font-size:22px;font-weight:600;margin:0}.menu-caption{font-size:11px;color:#596860;line-height:1.8;margin:14px 0 0}
.menu-extra{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:30px;background:#edf1f5;border-radius:10px;margin-bottom:36px}.menu-extra h2{font-size:24px;margin:0 0 8px}.menu-extra p{font-size:13px;margin-bottom:0}.menu-extra strong{font-size:32px;white-space:nowrap}.menu-extra small{font-size:12px;font-weight:400;margin-left:5px}
.menu-support{background:#f6f0e6;border-radius:10px;margin-bottom:28px}.menu-support .section{max-width:none;padding:36px}.menu-support h2{font-size:28px}.menu-support h3{font-size:18px}.menu-support p,.menu-support li{font-size:14px}
.menu-overview{border:1px solid #d9e1da;border-radius:8px;background:#fff;margin-bottom:32px}.menu-overview summary{padding:22px;font-weight:500;cursor:pointer}.menu-overview .price-section{max-width:none;padding:0 22px 24px}
.menu-safety .section{padding:24px 0 40px;max-width:none}.menu-safety h2{font-size:23px}.menu-safety p{font-size:13px;line-height:2}
.menu-mobile{display:none}
@media(max-width:1100px){.menu-categories{grid-template-columns:1fr}.menu-card-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;padding:18px}.menu-card{margin:0}.menu-category>header{min-height:0;padding:22px 28px}.menu-category header p br{display:none}.menu-category h2{font-size:25px}.menu-first-copy{padding:28px}.menu-first .actions{flex-direction:column;align-items:stretch}}
@media(max-width:650px){.menu-shell{width:90%}.menu-intro{padding-top:22px}.menu-intro h1{font-size:30px}.menu-intro>p{font-size:14px}.menu-mobile{display:block}.menu-effective{padding:15px;font-size:12px}
.menu-first{grid-template-columns:1fr;margin-bottom:25px}.menu-first-photo{height:210px;min-height:0;object-position:center 43%}.menu-first-copy{padding:24px 20px}.menu-first-copy h2{font-size:24px}.menu-first-copy h3{font-size:16px}.menu-first-price strong{font-size:40px}.menu-first .actions>a{min-width:0;width:100%}
.menu-jump{gap:8px;grid-template-columns:1fr;margin-bottom:22px}.menu-jump a{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:13px 15px;font-size:16px}.menu-jump span{font-size:10px;margin:0}
.menu-card-list{grid-template-columns:1fr;padding:14px;gap:14px}.menu-category>header{padding:22px}.menu-category h2{font-size:24px}.menu-card figure img{aspect-ratio:16/9}.menu-card-body{padding:20px}.menu-card h3{font-size:22px}.menu-desc{min-height:0;font-size:14px}.menu-cost strong{font-size:32px}.menu-categories{gap:25px}
.menu-extra{display:block;padding:24px}.menu-extra strong{display:block;margin-top:20px}.menu-support .section{padding:25px 20px}.menu-support h2{font-size:25px}.menu-support .price strong{font-size:36px}.menu-overview summary{font-size:14px;padding:20px 15px}.menu-overview .price-section{padding:0 12px 20px}.menu-overview .price-table{font-size:12px}.menu-overview .price-table th,.menu-overview .price-table td{padding:15px 5px}
}

.menu-ai-caption{font-size:11px;color:#58665e;background:#f6f6f1;padding:7px 12px;line-height:1.5}.menu-image-note{font-size:12px;line-height:1.9;color:#58665e;margin-top:-8px;margin-bottom:22px}.menu-card#child figure img{object-position:center;aspect-ratio:3/2}.menu-card figure img{aspect-ratio:3/2}
.menu-photo-caption{font-size:11px;color:#58665e;background:#f6f6f1;padding:7px 12px;line-height:1.5}

/* Hair mineral testing: actual materials photograph, without caption. */
.menu-extra{display:grid;grid-template-columns:minmax(240px,38%) minmax(0,1fr);gap:0;padding:0;overflow:hidden}.menu-extra-photo{display:block;width:100%;height:auto;align-self:center}.menu-extra-copy{padding:30px 36px}.menu-extra-copy>strong{display:block;margin-top:22px}.menu-extra-copy h2{line-height:1.5}
@media(max-width:650px){.menu-extra{grid-template-columns:1fr;padding:0}.menu-extra-copy{padding:24px}.menu-extra-copy>strong{margin-top:20px}}

/* Keep booking discount and prepaid pass terms in separate blocks. */
.menu-booking-support{background:#edf4f0}
