.reservation{padding:32px 5% 36px;background:#fff7ed;color:#64351e;scroll-margin-top:18px}.reservation h2{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:clamp(27px,6vw,42px);line-height:1.5;margin:0 0 16px;text-wrap:balance}.reservation p{font-size:18px;line-height:1.8}.reservation-price strong{font-size:30px;color:#b34d1d}.reservation fieldset{min-width:0;margin:24px 0;padding:0;border:0}.reservation legend{font-weight:700;font-size:20px;margin-bottom:12px}.booking-dates{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.booking-dates label{min-width:0;position:relative}.booking-dates input{position:absolute;opacity:0;width:1px;height:1px}.booking-dates span{display:flex;align-items:center;justify-content:center;text-align:center;border:1px solid #b78b4a;border-radius:8px;padding:12px 3px;min-height:56px;font-size:16px;background:#fff;cursor:pointer}.booking-dates input:checked+span{background:#b64d21;color:#fff;border-color:#b64d21}.booking-dates input:focus-visible+span{outline:3px solid #64351e;outline-offset:3px}.booking-times{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.booking-time{border:1px solid #bd9151;background:#fff;color:#64351e;border-radius:8px;min-height:50px;font-size:18px;padding:10px 3px;cursor:pointer}.booking-time[aria-pressed=true]{background:#b64d21;color:#fff}.booking-time:disabled{color:#7a6a5f;background:#ece6dd;cursor:default;font-size:15px}.booking-time:focus-visible,.reservation input:focus-visible{outline:3px solid #64351e;outline-offset:3px}.booking-field{display:block;margin:16px 0;font-size:18px;font-weight:700}.booking-field input{display:block;width:100%;min-width:0;border:1px solid #b89a79;border-radius:6px;background:#fff;color:#33251d;padding:12px;font-size:18px;margin-top:6px}.booking-field input:disabled{background:#eee8df}.booking-agreement{display:flex;gap:12px;align-items:flex-start;font-size:16px;line-height:1.8}.booking-agreement input{width:22px;height:22px;flex-shrink:0;margin-top:4px}.booking-agreement a{color:#a34216;text-decoration:underline;text-underline-offset:3px}.reservation .booking-help{font-size:16px;line-height:1.8}.reservation .native-cta{width:100%;border:1px solid #df9e64;font-size:18px;cursor:pointer;gap:8px}.reservation .native-cta:disabled{opacity:.55;cursor:default}#booking-error,#reservation-result{padding:16px;border:1px solid #c79260;border-radius:8px;background:#fff;line-height:1.8;font-size:18px}#booking-error{color:#992c17}.campaign-hero-art{position:relative}.campaign-hero-art>img{display:block;width:100%;height:auto}.campaign-hero-art .poster-booking-cta{position:absolute;left:3%;top:90.3%;width:94%;height:8%;background:linear-gradient(#ee851c,#c84d0e);border:2px solid #e6a75d;border-radius:50px;display:flex;align-items:center;justify-content:center;text-align:center;text-decoration:none;color:white;font-family:-apple-system,"Hiragino Kaku Gothic ProN",sans-serif;font-size:clamp(17px,4.6vw,30px);font-weight:800;line-height:1.5;box-shadow:0 4px 10px #963a1329}.poster-booking-cta small{display:block;font-size:.8em}.poster-booking-cta:focus-visible{outline:4px solid #5b2b13;outline-offset:4px}.booking-artwork-cta{background:#b94f21!important;color:#fff;display:flex;align-items:center;justify-content:center;text-align:center;font-size:clamp(17px,4.5vw,29px);font-weight:700;text-decoration:none;border:2px solid #de9d65;line-height:1.4}.booking-artwork-cta small{display:block;font-size:.8em}.sticky-cta .native-cta{font-size:16px}.sticky-cta .native-cta small{font-size:14px}.reservation [hidden]{display:none!important}

@media(max-width:480px){.booking-dates{grid-template-columns:repeat(2,minmax(0,1fr))}}
.booking-dates span{white-space:nowrap}
.booking-time{text-align:center;line-height:1.35}

.booking-time small{display:block;font-size:13px;line-height:1.4;white-space:nowrap}
.booking-support{margin:28px 0 20px;padding:20px;border:1px solid #c79260;border-radius:8px;background:#fff}.booking-support h3{font-size:22px;line-height:1.5;margin:0 0 12px}.booking-support p{margin:12px 0}.booking-contact-link{display:block;border:1px solid #b64d21;border-radius:8px;padding:14px 12px;text-align:center;font-size:18px;font-weight:700;color:#a34216;text-decoration:underline;line-height:1.6}.booking-support code{display:block;overflow-wrap:anywhere;font-size:17px;line-height:1.8;user-select:all}.booking-support button{font:inherit;font-size:17px;border:1px solid #b78b4a;border-radius:6px;background:#fff7ed;color:#64351e;padding:10px 12px;cursor:pointer}.reservation .booking-policy-links{font-size:16px;line-height:1.9}.booking-policy-links a{color:#a34216;text-decoration:underline;overflow-wrap:anywhere}

.reservation .booking-privacy-notice{font-size:16px;line-height:1.8;margin:12px 0 0;overflow-wrap:anywhere}.booking-privacy-notice a{color:#a34216;text-decoration:underline;text-underline-offset:3px}
