.booking{flex-direction:column;gap:clamp(2rem,4vw,3rem);max-width:720px;display:flex}.booking [hidden]{display:none!important}.booking__trap{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.booking__group{border:none;flex-direction:column;gap:1.1rem;margin:0;padding:0;display:flex}.booking__legend{font-family:var(--font-mincho);border-bottom:1px solid var(--hairline);width:100%;margin-bottom:.3em;padding:0 0 .7em;font-size:1.08rem;font-weight:600}.booking__row{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;display:grid}.booking__field{flex-direction:column;gap:.45em;min-width:0;display:flex}.booking__label{color:var(--ink-soft);align-items:center;gap:.6em;font-size:.85rem;display:flex}.booking__req{color:var(--green);border:1px solid var(--green);white-space:nowrap;border-radius:999px;padding:.15em .6em;font-size:.66rem}.booking input[type=text],.booking input[type=email],.booking input[type=tel],.booking input[type=date],.booking input[type=number],.booking select,.booking textarea{color:var(--ink);background:var(--paper);border:1px solid var(--hairline);width:100%;transition:border-color .25s var(--ease);padding:.7em .85em;font-family:inherit;font-size:.95rem}.booking input:focus,.booking select:focus,.booking textarea:focus{border-color:var(--green);outline:none}.booking textarea{resize:vertical;line-height:1.8}.booking__field--check{flex-direction:row;align-items:flex-start;gap:.7em;font-size:.9rem;line-height:1.7}.booking__field--check input{flex-shrink:0;margin-top:.35em}.booking__field--check small{color:var(--ink-soft);font-size:.78rem}.booking__hint{color:var(--ink-soft);font-size:.8rem;line-height:1.8}.booking__field-note{color:var(--green);font-size:.76rem;line-height:1.7}.booking__payment-note{border-left:2px solid var(--green);background:var(--green-tint);color:var(--ink-soft);flex-direction:column;gap:.8em;padding:1.1em 1.3em;font-size:.85rem;line-height:1.95;display:flex}.booking__payment-note strong{color:var(--ink);font-weight:600}.booking__agree{border:1px solid var(--green);background:var(--paper);padding:1.1em 1.3em}.booking__agree-label{cursor:pointer;align-items:flex-start;gap:.7em;font-size:.92rem;line-height:1.8;display:flex}.booking__agree-label input{width:1.05em;height:1.05em;accent-color:var(--green);flex-shrink:0;margin-top:.35em}.booking__stack{flex-direction:column;gap:1.1rem;display:flex}.booking__inline-choices{flex-wrap:wrap;gap:.5em 1.4em;display:flex}.booking__inline-choice{cursor:pointer;align-items:center;gap:.5em;font-size:.9rem;display:inline-flex}.booking__subgroup{border:1px solid var(--hairline);margin:0;padding:1rem 1.2rem 1.2rem}.booking__sublegend{color:var(--ink-soft);padding:0 .5em;font-size:.82rem}.booking__checks{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.6em 1.2em;display:grid}.booking__check{cursor:pointer;align-items:flex-start;gap:.5em;font-size:.86rem;line-height:1.6;display:inline-flex}.booking__check input{flex-shrink:0;margin-top:.25em}.booking__check-price{color:var(--green);font-size:.74rem;display:block}.booking__schedule{border:1px solid var(--hairline);background:var(--green-tint);padding:1em 1.2em}.booking__schedule-empty{color:var(--ink-soft);font-size:.85rem}.booking__schedule-range{font-family:var(--font-mincho);color:var(--green);border-bottom:1px solid var(--hairline);margin-bottom:.7em;padding-bottom:.6em;font-size:1rem;font-weight:600}.booking__schedule-list{flex-direction:column;gap:.5em;font-size:.85rem;line-height:1.7;display:flex}.booking__schedule-key{min-width:3.4em;color:var(--green);border:1px solid var(--green);text-align:center;border-radius:999px;margin-right:.7em;padding:.1em .6em;font-size:.74rem;display:inline-block}.booking__schedule-list small{color:var(--ink-soft);font-size:.78rem}.booking__schedule-closed{color:var(--ink-soft);border-top:1px dashed var(--hairline);padding-top:.5em;font-size:.78rem}.booking__note-inline{color:var(--ink-soft);border-left:2px solid var(--green);background:var(--green-tint);padding:.6em .9em;font-size:.82rem;line-height:1.7}.booking__note-inline strong{color:var(--green);font-weight:600}.booking__details{border:1px solid var(--hairline)}.booking__details[open]{padding-bottom:1.2rem}.booking__details-summary{cursor:pointer;transition:background .25s var(--ease);flex-wrap:wrap;align-items:baseline;gap:.4em .9em;padding:.9em 1.1em .9em 2.6em;font-size:.92rem;list-style:none;display:flex;position:relative}.booking__details-summary::-webkit-details-marker{display:none}.booking__details-summary:before{content:"+";width:1.15em;height:1.15em;color:var(--green);border:1px solid var(--green);border-radius:50%;justify-content:center;align-items:center;font-size:.95em;line-height:1;display:flex;position:absolute;top:50%;left:1.1em;transform:translateY(-50%)}.booking__details[open]>.booking__details-summary:before{content:"−"}.booking__details-summary:hover{background:var(--green-tint)}.booking__details[open]>.booking__details-summary{border-bottom:1px solid var(--hairline);margin-bottom:1rem}.booking__details-hint{color:var(--ink-soft);font-size:.76rem}.booking__details .booking__checks{padding:0 1.1em}.booking__equips{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:.2em 1.6em;padding:0 1.1em;display:grid}.booking__equip{border-bottom:1px dashed var(--hairline);justify-content:space-between;align-items:flex-start;gap:.9em;padding:.6em 0;display:flex}.booking__equip-check{flex:auto;min-width:0}.booking__equip-qty{flex:none}.booking .booking__equip-qty select{width:auto;min-width:5.2em;padding:.35em .5em;font-size:.85rem}.booking .booking__equip-qty select:disabled{opacity:.35;cursor:not-allowed}.booking__equip-note{padding:1em 1.1em 0}.booking__choices{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.7rem;display:grid}.booking__choice{border:1px solid var(--hairline);cursor:pointer;transition:border-color .25s var(--ease), background .25s var(--ease);align-items:flex-start;gap:.7em;padding:1em;display:flex}.booking__choice:hover{border-color:var(--green)}.booking__choice:has(input:checked){border-color:var(--green);background:var(--green-tint)}.booking__choice input{flex-shrink:0;margin-top:.25em}.booking__choice-body{flex-direction:column;gap:.3em;min-width:0;display:flex}.booking__choice-title{font-family:var(--font-mincho);font-size:.95rem;font-weight:600}.booking__choice-note{color:var(--ink-soft);font-size:.76rem}.booking__rooms{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:.6rem;display:grid}.booking__room{border:1px solid var(--hairline);cursor:pointer;transition:border-color .25s var(--ease), background .25s var(--ease);align-items:flex-start;gap:.7em;padding:.85em 1em;display:flex}.booking__room:hover{border-color:var(--green)}.booking__room:has(input:checked){border-color:var(--green);background:var(--green-tint)}.booking__room input{flex-shrink:0;margin-top:.3em}.booking__room-body{flex-direction:column;gap:.25em;min-width:0;display:flex}.booking__room-name{font-family:var(--font-mincho);font-size:.92rem;font-weight:600}.booking__room--stopped{opacity:.55;cursor:not-allowed}.booking__room--stopped:hover{border-color:var(--hairline)}.booking__room-stop{letter-spacing:.06em;white-space:nowrap;border:1px solid;border-radius:999px;margin-left:.6em;padding:.15em .7em;font-size:.68rem}.booking__room-stop-note{font-size:.74rem;line-height:1.7}.booking__room-note,.booking__room-price{color:var(--ink-soft);font-size:.74rem}.booking__quote{border:1px solid var(--green);background:var(--green-tint);flex-direction:column;gap:.9rem;padding:clamp(1.2rem,2.5vw,1.8rem);display:flex}.booking__quote-title{font-family:var(--font-mincho);font-size:1.02rem;font-weight:600}.booking__quote-choices{border-bottom:1px dashed var(--hairline);flex-direction:column;gap:.5em;padding-bottom:.8em;display:flex}.booking__quote-choices[hidden]{display:none}.booking__quote-choice{align-items:baseline;gap:.8em;font-size:.88rem;display:flex}.booking__quote-choice dt{min-width:8.5em;color:var(--ink-soft);flex:none;font-size:.78rem}.booking__quote-choice dd{min-width:0;margin:0}.booking__quote-list{flex-direction:column;gap:.6em;display:flex}.booking__quote-row{justify-content:space-between;align-items:baseline;gap:1em;font-size:.9rem;display:flex}.booking__quote-label{flex-direction:column;gap:.15em;min-width:0;display:flex}.booking__quote-label small{color:var(--ink-soft);font-size:.74rem}.booking__quote-amount{font-family:var(--font-cormorant);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:1rem}.booking__quote-total{border-top:1px solid var(--hairline);justify-content:space-between;align-items:baseline;gap:1em;padding-top:.8em;font-size:.92rem;display:flex}.booking__quote-total strong{font-family:var(--font-cormorant);font-variant-numeric:tabular-nums;color:var(--green);font-size:1.3rem;font-weight:600}.booking__quote-notes{color:var(--ink-soft);flex-direction:column;gap:.4em;font-size:.78rem;line-height:1.7;display:flex}.booking__quote-notes li:before{content:"・"}.booking__quote-caution{color:var(--ink-soft);border-top:1px dashed var(--hairline);padding-top:.5em;font-size:.78rem}.booking__errors{color:#7d3123;background:#a3402f0f;border:1px solid #a3402f;padding:1.1rem 1.3rem;font-size:.88rem;line-height:1.8}.booking__errors-title{margin-bottom:.4em;font-weight:600}.booking__errors ul{flex-direction:column;gap:.25em;display:flex}.booking__errors li:before{content:"・"}.booking__submit-row{flex-direction:column;align-items:center;gap:1rem;display:flex}.booking__submit{font-family:var(--font-mincho);color:#f4f1e6;background:var(--green);border:1px solid var(--green);cursor:pointer;transition:opacity .25s var(--ease);padding:1em 3.5em;font-size:1rem;font-weight:600}.booking__submit:hover:not(:disabled){opacity:.85}.booking__submit:disabled{opacity:.5;cursor:default}.booking__submit-note{color:var(--ink-soft);text-align:center;font-size:.8rem;line-height:1.8}.booking__done{border:1px solid var(--green);text-align:center;flex-direction:column;gap:.8rem;padding:clamp(1.6rem,3vw,2.4rem);display:flex}.booking__done-title{font-family:var(--font-mincho);color:var(--green);font-size:1.15rem;font-weight:600}.booking__done-text{font-size:.92rem;line-height:1.9}.apply-receipt{text-align:left;border:1px solid var(--hairline);background:var(--green-tint);flex-direction:column;gap:.7rem;margin-top:.6rem;padding:clamp(1rem,2.5vw,1.4rem);display:flex}.apply-receipt__title{font-family:var(--font-mincho);color:var(--green);letter-spacing:.04em;font-size:.95rem}.apply-receipt__list{grid-template-columns:minmax(6.5em,auto) minmax(0,1fr);gap:.35rem 1rem;margin:0;font-size:.86rem;line-height:1.8;display:grid}.apply-receipt__list dt{color:var(--ink-soft)}.apply-receipt__list dd{overflow-wrap:anywhere;margin:0}.apply-receipt__total{border-top:1px solid var(--hairline);padding-top:.6rem;font-size:.9rem;font-weight:600}.apply-receipt__time{color:var(--ink-soft);font-size:.78rem}.apply-receipt__save{color:var(--green);font-size:.86rem;line-height:1.9}@media (width<=30rem){.apply-receipt__list{grid-template-columns:minmax(0,1fr);gap:.1rem}.apply-receipt__list dt{font-size:.78rem}.apply-receipt__list dd:not(:last-child){margin-bottom:.5rem}}.booking__done--page{gap:1.1rem;max-width:38em;margin-inline:auto;padding-block:clamp(2rem,4vw,3rem)}.booking__done--page .booking__done-text{text-align:left}.booking__done-lead{font-family:var(--font-mincho);border-bottom:1px solid var(--hairline);padding-bottom:1rem;font-size:1rem;line-height:1.9}.booking__done-foot{padding-top:.6rem}@media (width<=560px){.booking__submit{width:100%;padding:1em}}.booking__event-head{border-top:1px solid var(--green);flex-direction:column;gap:.9rem;margin-bottom:2rem;padding-top:1.4rem;display:flex}.booking__event-title{font-family:var(--font-mincho);font-size:clamp(1.15rem,2.4vw,1.45rem);font-weight:600;line-height:1.6}.booking__event-meta{flex-wrap:wrap;gap:.4em 2em;font-size:.86rem;display:flex}.booking__event-meta li{gap:.8em;display:flex}.booking__event-meta span{color:var(--ink-soft)}.booking__notice{border:1px solid var(--hairline);background:var(--green-tint);margin-bottom:1.6rem;padding:1em 1.2em;font-size:.9rem;line-height:1.8}.booking__tickets{flex-direction:column;padding:0 1.1em;display:flex}.booking__ticket{border-bottom:1px dashed var(--hairline);justify-content:space-between;align-items:center;gap:1em;padding:.75em 0;display:flex}.booking__ticket:last-child{border-bottom:none}.booking__ticket-body{flex-direction:column;gap:.2em;min-width:0;display:flex}.booking__ticket-label{font-family:var(--font-mincho);font-size:.95rem;font-weight:600}.booking__ticket-price{color:var(--ink-soft);font-size:.78rem}.booking__ticket-qty{flex:none}.booking .booking__ticket-qty select{width:auto;min-width:5.4em;padding:.4em .6em;font-size:.88rem}.booking__choice-price{color:var(--green);font-size:.82rem}.booking__quote-empty{color:var(--ink-soft);font-size:.84rem;line-height:1.8}.booking__picker{border-top:1px solid var(--hairline);padding-top:1.6rem}.booking__picker-title{font-family:var(--font-mincho);margin-bottom:1.2rem;font-size:1.05rem;font-weight:600}.booking__picker-list{flex-direction:column;display:flex}.booking__picker-link{border-bottom:1px solid var(--hairline);transition:color .25s var(--ease);align-items:baseline;gap:1em;padding:1.1em .2em;display:flex}.booking__picker-link:hover{color:var(--green)}.booking__picker-name{font-family:var(--font-mincho);flex:auto;font-size:.98rem;font-weight:600}.booking__picker-when{color:var(--ink-soft);white-space:nowrap;font-size:.82rem}@media (width<=560px){.booking__picker-link{flex-wrap:wrap;gap:.3em 1em}.booking__picker-name{flex:100%}}.booking__slot-day+.booking__slot-day{margin-top:1.4rem}.booking__slot-date{font-family:var(--font-mincho);margin-bottom:.6em;padding-left:.1em;font-size:.92rem;font-weight:600}.booking__second{max-width:34em;margin-top:1.4rem}.booking__choices--plans{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.booking__costumes{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.9rem;display:grid}.booking__costume{border:1px solid var(--hairline);cursor:pointer;transition:border-color .25s var(--ease), background .25s var(--ease);flex-direction:column;gap:.55em;padding:.7em;display:flex}.booking__costume:hover{border-color:var(--green)}.booking__costume:has(input:checked){border-color:var(--green);background:var(--green-tint)}.booking__costume input{align-self:flex-start}.booking__costume-figure{aspect-ratio:3/4;background:var(--green-tint);display:block;overflow:hidden}.booking__costume-figure img{object-fit:cover;width:100%;height:100%;display:block}.booking__costume-body{flex-direction:column;gap:.25em;display:flex}.booking__costume-name{font-family:var(--font-mincho);font-size:.9rem;font-weight:600}.booking__costume-note{color:var(--ink-soft);font-size:.74rem;line-height:1.7}
