/* 2026-10 店舗別再設計：共通の操作性 */
html{scroll-padding-top:110px;scroll-behavior:auto}
body{overflow-wrap:break-word}
h1,h2,h3{overflow-wrap:normal}
button,input,select,textarea{font-size:16px}
.head-inner{max-width:1360px;height:88px;padding-inline:40px}
.logo{flex-shrink:0;gap:5px}
.gnav a{font-size:13px;padding:10px 11px}
.gnav .cta a{min-height:44px;display:flex;align-items:center;justify-content:center}
.demo-note{padding:5px 16px;font-family:system-ui,sans-serif;font-size:10px;line-height:1.6;letter-spacing:.02em}
.eyebrow{font-family:var(--font-body);font-size:12px;font-weight:500;line-height:1.8;letter-spacing:.12em;margin:0 0 22px}
.section-space{width:min(1200px,calc(100% - 96px));margin-inline:auto;padding-block:100px}
.section-space>*{min-width:0}
.section-space h2{font-size:clamp(27px,2.6vw,38px);line-height:1.65}
.plain-link{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;min-height:44px;padding-block:8px;border-bottom:1px solid currentColor;text-decoration:none;font-size:14px;line-height:1.7}
.plain-link:hover{opacity:.7}
.btn{border-width:1px;min-height:54px;padding-inline:25px;gap:30px;font-size:14px;font-weight:500;line-height:1.7}
a,button,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}
.foot-grid{max-width:1200px}
.foot-bottom{max-width:1200px}
.foot .logo{display:inline-flex}
.foot .logo small{font-size:10px}
.foot .info dd{line-height:1.8}
.foot a:hover{text-decoration-thickness:2px}
.sec{padding-block:80px}
.page-head p{font-size:16px}
.price th{font-weight:500}
.price td.yen{font-size:18px}
.price th small{font-size:12px}
.field input,.field textarea,.field select{scroll-margin-top:120px}
.choice,.qty{min-width:0}
.choice b,.qty b{min-width:0}
.form{padding-top:24px}
.form .total{position:sticky;top:88px;z-index:5;border-bottom:1px solid var(--line)}
.form .total output{white-space:nowrap}
.booking-guide{padding:22px 26px;border-left:3px solid var(--accent);background:var(--tint);margin-bottom:28px}
.booking-guide p{margin:0 0 6px}
.booking-guide small{display:block;line-height:1.8}
.booking-steps{display:flex;flex-wrap:wrap;gap:8px 24px;list-style:none;margin:0 0 30px;padding:0;font-size:13px}
.booking-steps li{display:flex;gap:8px;align-items:center}
.booking-steps b{font-size:18px;font-family:Georgia,serif;font-weight:400;color:var(--accent)}
.sent{scroll-margin-top:110px}
@media(max-width:1120px){
 .head-inner{padding-inline:24px;gap:16px}
 .gnav a{padding-inline:8px;font-size:12px}
 .gnav .cta a{padding-inline:13px}
 .section-space{width:calc(100% - 64px);padding-block:80px}
}
@media(max-width:900px){
 html{scroll-padding-top:86px}
 .head-inner{height:72px;padding-inline:20px}
 .logo{max-width:calc(100% - 64px)}
 .menu-btn{flex-shrink:0;width:44px;height:44px}
 .gnav{inset:72px 0 auto;max-height:calc(100dvh - 72px);padding:12px 24px 24px}
 .gnav a{font-size:16px;min-height:52px;padding:12px 8px}
 .gnav .cta a{margin-top:16px}
 .section-space{width:calc(100% - 40px);padding-block:62px}
 .section-space h2{font-size:28px;line-height:1.6}
 .eyebrow{font-size:11px;margin-bottom:16px}
 .btn{min-height:52px}
 .plain-link{font-size:13px;max-width:100%}
 .foot{padding:48px 24px 32px}
 .foot-grid{gap:30px}
 .foot-bottom{margin-top:32px}
 .dock{padding-bottom:env(safe-area-inset-bottom);box-shadow:0 -2px 16px #00000008}
 .dock a{font-size:14px;min-height:58px}
 body{padding-bottom:calc(58px + env(safe-area-inset-bottom))}
 .sec{padding-block:56px}
 .form .total{top:72px}
 .page-head{padding:40px 20px}
 .page-head h1{font-size:30px}
 .booking-guide{padding:18px}
 .field .qty{padding:12px;gap:10px}
 .qty b{font-size:14px}
 .qty select{flex-shrink:0;width:4.5em!important}
 .choice{gap:10px;padding:12px}
 .choice b{font-size:14px}
 .choice span{font-size:13px}
}
@media(prefers-reduced-motion:no-preference){.btn,.plain-link{transition:background-color .18s,color .18s,opacity .18s}.ito-style img{transition:filter .3s}.ito-style:hover img{filter:brightness(.94)}}
