.reservation-app{display:flex;flex-direction:column;min-height:100vh;background-color:var(--color-white)}.reservation-app-container{display:flex;flex:1;flex-direction:column;max-width:100%}.reservation-app-header{min-height:68px;padding:var(--space-16);color:var(--color-white);background-color:var(--color-brand)}.reservation-app-header .reservation-app-header-container{display:flex;flex-direction:column;gap:var(--space-8);width:100%;max-width:768px;padding:0;margin:0 auto}.reservation-app-header .reservation-app-header-container *{min-width:0}@media(min-width:768px){.reservation-app-header .reservation-app-header-container{flex-direction:row;gap:var(--space-16);align-items:center;padding:0 var(--space-32)}}.reservation-app-header .reservation-app-header-logo>img{max-width:240px;height:auto}.reservation-app-header .detail{display:flex;flex:1;flex-flow:row wrap;gap:var(--space-4);justify-content:space-between}@media(min-width:768px){.reservation-app-header .detail{gap:var(--space-8);justify-content:flex-end}}.reservation-app-header .detail-info{display:flex;flex-direction:column;line-height:1.2}.reservation-app-header .detail-text{font-size:11px;font-weight:700}.reservation-app-header .detail-subtext small{font-size:11px}@media(min-width:768px){.reservation-app-header .detail-text{font-size:14px}.reservation-app-header .detail-subtext small{font-size:12px}}.reservation-app-header .detail-call{display:flex;gap:var(--space-2);align-items:center;line-height:1}.reservation-app-header .detail-call-icon{width:14px;height:14px;transform:translateY(2px)}.reservation-app-header .detail-call-number{font-size:14px;font-weight:700;letter-spacing:.025em}@media(min-width:768px){.reservation-app-header .detail-call-icon{width:20px;height:20px;transform:translateY(1px)}.reservation-app-header .detail-call-number{font-size:20px}}.reservation-app-main{display:flex;flex:1;flex-direction:column;width:100%;margin:0 auto}.reservation-app-footer{display:flex;align-items:center;justify-content:center;min-height:80px;padding:var(--space-16);padding-bottom:20px;color:var(--color-white);text-align:center;background-color:var(--color-brand)}.reservation-app-footer-text{font-size:var(--font-size-xs);color:var(--color-gray-600)}.section-title{display:flex;gap:var(--space-8);align-items:center;padding-bottom:.5em;margin-bottom:0;font-size:20px;font-weight:700;border-bottom:solid 1px var(--color-border-default)}@media(min-width:768px){.section-title{font-size:24px}}.section-divider{height:1px;margin-bottom:var(--space-16);background-color:var(--color-gray-300)}.form-fieldset{display:flex;flex-direction:column;gap:var(--space-12)}.form-field{display:flex;flex-direction:column;gap:var(--space-8)}.field-label{display:flex;gap:var(--space-4);align-items:center;font-size:var(--font-size-lg);font-weight:700;color:var(--color-gray-700)}.required-mark{font-size:var(--font-size-xs);font-weight:700;color:var(--color-alert)}.optional-mark{font-size:var(--font-size-xs);font-weight:700;color:var(--color-gray-600)}.text-input{width:100%;padding:var(--space-12) var(--space-16);background-color:var(--color-white);border:1px solid var(--color-border-default);border-radius:var(--radius-md)}.text-input[data-state=error]{border-color:var(--color-alert)}.text-input[data-state=readonly]{cursor:pointer;background-color:var(--color-gray-100)}.field-error{font-size:var(--font-size-sm);color:var(--color-alert)}.field-note{font-size:var(--font-size-sm);color:var(--color-gray-500)}.card-box{padding:var(--space-12);background-color:var(--color-white);border:1px solid var(--color-border-default);border-radius:var(--radius-md)}.note-box{padding:var(--space-12);font-size:var(--font-size-sm);color:var(--color-gray-700);background-color:var(--color-gray-100);border-radius:var(--radius-md)}.alert-banner{padding:var(--space-12);font-size:var(--font-size-sm);color:var(--color-alert);background-color:#fff4f4;border:1px solid #f1c0c0;border-radius:var(--radius-md)}.link-button{display:inline-flex;gap:var(--space-8);align-items:center;padding:var(--space-12) var(--space-16);font-weight:700;background-color:var(--color-white);border:1px solid var(--color-gray-700);border-radius:var(--radius-md)}.course-change-reset-dialog{display:flex;flex-direction:column;gap:var(--space-16)}.course-change-reset-dialog-text{margin-bottom:var(--space-8);font-size:var(--font-size-md);font-weight:700;text-align:center}.course-change-reset-dialog-actions{display:grid;flex-wrap:wrap;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:var(--space-16)}.course-change-reset-dialog-button{min-width:100%;height:56px;padding:0 var(--space-12);font-size:var(--font-size-sm);font-weight:700;border:1px solid transparent;border-radius:9999px}.course-change-reset-dialog-button[data-variant=secondary]{color:var(--color-brand);background-color:var(--color-white);border-color:var(--color-brand)}.course-change-reset-dialog-button[data-variant=danger]{color:var(--color-white);background-color:var(--color-red-600);border-color:var(--color-red-600)}.step-header{background-color:#fafafb;border-bottom:1px solid var(--border, #dbdfec)}.step-header-container{display:flex;gap:var(--space-12);align-items:center;width:100%;max-width:768px;padding:var(--space-16);margin:0 auto}@media(min-width:768px){.step-header-container{gap:var(--space-24);padding:var(--space-16) var(--space-32)}}.step-header-progress{flex-shrink:0;width:56px;height:56px}@media(min-width:768px){.step-header-progress{width:72px;height:72px}}.step-header-ring{flex-shrink:0;width:56px;height:56px}@media(min-width:768px){.step-header-ring{width:72px;height:72px}}.step-header-ring-base{fill:none;stroke:var(--color-gray-100);stroke-width:4}.step-header-ring-value{fill:none;stroke:var(--color-brand);stroke-width:4;stroke-linecap:square;transform:rotate(-90deg);transform-origin:center}.step-header-ring-text{font-size:12px;font-weight:700;letter-spacing:.075em;text-anchor:middle;fill:var(--color-brand)}.step-header-ring-text tspan{font-size:8px;font-weight:700;fill:var(--color-gray-500)}.step-header-title{display:flex;flex:1;flex-direction:column;gap:var(--space-4)}.step-header-step{font-size:var(--font-size-sm);color:var(--color-gray-500)}.step-header-current-label{font-size:20px;font-weight:700;color:var(--color-brand)}@media(min-width:768px){.step-header-current-label{font-size:24px}}.step-header-sub-label{font-size:14px;color:var(--color-gray-700);text-align:right}.modal-overlay{position:fixed;inset:0;z-index:20;display:flex;align-items:center;justify-content:center;padding:var(--space-16);background-color:#0006}.modal{width:100%;max-width:calc(100vw - 32px);height:100%;max-height:90vh;overflow:hidden;background-color:var(--color-white);border-radius:var(--radius-lg);box-shadow:0 8px 32px #0000001f}@media(min-width:768px){.modal{max-width:724px}}@media(min-width:1024px){.modal{max-width:910px}}.modal-body{max-height:calc(100% - 64px);padding:var(--space-12);overflow-y:auto}@media(min-width:768px){.modal-body{padding:var(--space-24)}}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-8) var(--space-12) var(--space-8) var(--space-12);border-bottom:1px solid var(--color-border-default)}@media(min-width:768px){.modal-header{padding:var(--space-12) var(--space-16) var(--space-12) var(--space-24)}}.modal-title{display:flex;gap:var(--space-8);font-size:16px;font-weight:700;color:var(--color-brand)}.modal-close{display:grid;place-items:center;width:32px;height:32px;background-color:transparent;border-radius:9999px}@media(any-hover:hover){.modal-close:hover{background-color:var(--color-gray-100)}}.modal[data-size=compact]{height:auto;max-height:80vh}@media(min-width:768px){.modal[data-size=compact]{max-width:560px}}.modal[data-size=compact] .modal-body{max-height:min(60vh,480px)}.footer-nav{position:sticky;bottom:0;padding:16px;background-color:#f7f7f7;border-top:1px solid var(--color-border-default)}@media(min-width:768px){.footer-nav{padding:24px 32px}}.footer-nav-container{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-12);max-width:620px;margin:auto auto 0}.footer-nav-container>*{min-width:0}.footer-nav-container[data-layout=single]{grid-template-columns:1fr}.footer-nav-button{display:flex;align-items:center;justify-content:center;width:100%;height:44px;padding:var(--space-12) 0;font-size:14px;font-weight:700;border:2px solid transparent;border-radius:9999px;transition:color .2s ease,background-color .2s ease,border-color .2s ease}@media(min-width:768px){.footer-nav-button{height:56px}}.footer-nav-button[data-variant=secondary]{color:var(--color-brand);background-color:var(--color-white);border-color:var(--color-brand)}.footer-nav-button[data-variant=primary]{color:var(--color-white);background:var(--color-brand);border-color:transparent}.footer-nav-button[data-variant=confirm]{color:var(--color-white);background-color:var(--color-brand);border-color:var(--color-brand)}@media(any-hover:hover){.footer-nav-button[data-variant=secondary]:hover{background-color:var(--color-gray-50)}.footer-nav-button[data-variant=primary]:hover,.footer-nav-button[data-variant=confirm]:hover{color:var(--color-white);background-color:var(--color-brand-700);border-color:var(--color-brand-700)}}.footer-nav-button:disabled{color:var(--color-white);pointer-events:none;cursor:default;background-color:#bcc3ce;border-color:#bcc3ce}.course-step{display:flex;flex:1;flex-direction:column;gap:var(--space-32);width:100%;max-width:768px;padding:32px var(--space-16) 48px;margin:0 auto}@media(min-width:768px){.course-step{padding:48px var(--space-32) 64px}}.course-card-divider{height:0;border:none;border-bottom:2px dashed var(--color-border-default)}.course-step-description{display:flex;flex-wrap:wrap;align-items:center}.course-step-description strong{font-size:var(--font-size-md)}.course-step-description small{margin-left:var(--space-4);font-size:var(--font-size-xs);color:var(--color-alert)}.course-step-list{display:flex;flex-direction:column;gap:var(--space-24)}.course-step-message{font-size:var(--font-size-sm);color:var(--color-gray-700)}.course-card{display:flex;flex:1;flex-direction:column;gap:var(--space-8);width:100%;padding:var(--space-16);text-align:left;cursor:pointer;background-color:var(--color-white);border:2px solid var(--color-border-default);border-radius:24px;transition:box-shadow .3s ease}@media(min-width:768px){.course-card{gap:var(--space-12);padding:var(--space-32);border-radius:32px}}@media(any-hover:hover){.course-card:hover{background-color:var(--color-gray-50)}}.course-card[data-state=selected]{background-color:var(--color-gray-50);border-color:var(--color-brand);box-shadow:inset 0 0 0 1px var(--color-brand)}.course-card-header{display:flex;flex-wrap:wrap;gap:4px var(--space-12);align-items:baseline;justify-content:space-between}.course-card-body{display:flex;flex-direction:column;gap:var(--space-8);padding:var(--space-8) 0 0}@media(min-width:768px){.course-card-body{gap:var(--space-12);padding:var(--space-12) 0 0}}.course-card-label{padding:var(--space-8) var(--space-12);margin:0 0 var(--space-4);font-size:var(--font-size-sm);font-weight:600;line-height:1.5;color:var(--color-white);white-space:nowrap;border-radius:var(--radius-lg)}@media(min-width:768px){.course-card-label{padding:var(--space-12) var(--space-24);margin:0 0 var(--space-12);font-size:var(--font-size-sm)}}.course-card-label[data-theme=dock]{background-color:#64a4de}.course-card-label[data-theme=checkup]{background-color:#2b9dc1}.course-card-label[data-theme=default]{background-color:var(--color-brand)}.course-card-name{font-size:20px;font-weight:700;line-height:1.5;color:var(--color-black)}@media(min-width:768px){.course-card-name{font-size:24px}}.course-card-price{font-size:20px;font-weight:700;white-space:nowrap}@media(min-width:768px){.course-card-price{font-size:24px}}.course-card-price small{margin-left:var(--space-4);font-size:12px;font-weight:600}@media(min-width:768px){.course-card-price small{font-size:14px}}.course-card-info{display:flex;flex-wrap:wrap;gap:var(--space-4) var(--space-16);align-items:center}@media(min-width:768px){.course-card-info{gap:var(--space-8) var(--space-24)}}.course-card-info-item{display:grid;grid-template-columns:minmax(100px,auto) 1fr;align-items:center}@media(min-width:768px){.course-card-info-item{grid-template-columns:auto 1fr;gap:var(--space-8)}}.course-card-info-item dt{display:flex;flex-shrink:0;gap:var(--space-4);align-items:center;min-width:0;height:18px;font-weight:700}.course-card-info-item dt img{flex-shrink:0;width:18px;height:18px;transform:translate(0)}.course-card-info-item dd{min-width:0}.course-card-detail{display:flex;gap:var(--space-4);align-items:center;max-width:100%;padding:var(--space-12) var(--space-24);margin:0 auto;font-size:var(--font-size-sm);font-weight:700;color:var(--color-brand);text-decoration:underline;text-underline-offset:.25em}@media(min-width:768px){.course-card-detail{max-width:fit-content;padding:0;margin:0 0 0 auto}}.course-detail{display:flex;flex-direction:column;gap:var(--space-12)}@media(min-width:768px){.course-detail{gap:var(--space-16)}}.course-detail-name{display:flex;font-size:20px;font-weight:700;color:var(--color-black)}@media(min-width:768px){.course-detail-name{font-size:28px}}.course-detail-label{display:flex;align-items:center;width:100%;max-width:fit-content;padding:var(--space-4) var(--space-12);margin-bottom:var(--space-4);font-size:var(--font-size-xs);font-weight:400;line-height:1.5;color:var(--color-white);white-space:nowrap;border-radius:var(--radius-lg)}.course-detail-label[data-theme=dock]{background-color:#64a4de}.course-detail-label[data-theme=checkup]{background-color:#0978a5}.course-detail-label[data-theme=default]{background-color:var(--color-brand)}.course-detail-price{font-size:18px;font-weight:700;white-space:nowrap}@media(min-width:768px){.course-detail-price{font-size:24px}}.course-detail-price small{margin-left:var(--space-4);font-size:12px;font-weight:600}@media(min-width:768px){.course-detail-price small{font-size:14px}}.course-detail-divider{height:0;border:none;border-bottom:2px dashed var(--color-border-default)}.course-detail-header{display:flex;flex-direction:column}.course-detail-section{display:flex;flex-direction:column;gap:var(--space-8)}.course-detail-heading{font-size:var(--font-size-md);font-weight:700}@media(min-width:768px){.course-detail-heading{font-size:18px}}.course-detail-list{display:flex;flex-direction:column;gap:var(--space-4)}.course-detail-list-item{position:relative;padding-left:var(--space-12);font-size:var(--font-size-sm);color:var(--color-gray-700)}.course-detail-list-item:before{position:absolute;left:0;content:"・"}.course-detail-table-deco{position:relative;z-index:3;overflow:clip;background:transparent;border:1px solid var(--color-border-default);border-radius:var(--radius-md)}.course-detail-table{width:100%}.course-detail-cell{padding:var(--space-8) var(--space-12);font-size:var(--font-size-xs);color:var(--color-black)}@media(min-width:768px){.course-detail-cell{padding:var(--space-12) var(--space-16);font-size:var(--font-size-sm)}}.course-detail-cell-head{width:100px;font-weight:700;line-height:1.4;text-align:left;background-color:var(--color-brand-50);border-right:1px solid var(--color-border-default)}.course-detail-cell-head-subcategory{min-width:50px;font-weight:700;line-height:1.4;text-align:left;background-color:var(--color-white);border-right:1px solid var(--color-border-default)}.course-detail-row+.course-detail-row{border-top:1px solid var(--color-border-default)}.course-detail-row:nth-child(odd){background-color:var(--color-white)}.course-detail-row:nth-child(2n){background-color:var(--color-gray-50)}.course-detail-row:nth-child(2n) .course-detail-cell-head-subcategory{background-color:var(--color-gray-50)}.course-detail-notes{display:flex;flex-direction:column;gap:var(--space-4);padding:0;margin:0;list-style:none}.course-detail-note{font-size:var(--font-size-xs);color:var(--color-gray-700)}@media(min-width:768px){.course-detail-note{font-size:var(--font-size-sm)}}.payment-aside{padding:16px;color:var(--color-info-text);background-color:var(--color-info-bg);border-radius:var(--radius-md)}@media(min-width:768px){.payment-aside{padding:24px 32px}}.payment-aside-title{margin-bottom:var(--space-8);font-size:var(--font-size-md);font-weight:700}.payment-aside-text{margin-bottom:var(--space-4);font-size:var(--font-size-md)}.payment-aside-note{font-size:var(--font-size-sm);color:var(--color-info-note)}.options-step{display:flex;flex:1;flex-direction:column;gap:var(--space-32);width:100%;max-width:768px;padding:32px var(--space-16) 48px;margin:0 auto}@media(min-width:768px){.options-step{padding:48px var(--space-32) 64px}}.options-step-lead{font-size:var(--font-size-md);font-weight:700}.options-accordion{display:flex;flex-direction:column;gap:var(--space-16)}.options-accordion-item{overflow:clip;background-color:var(--color-white);border:2px solid var(--color-border-default);border-radius:var(--radius-md)}.options-accordion-header{display:flex;align-items:center;justify-content:space-between;width:100%;padding:var(--space-16) var(--space-12);font-weight:700;border-radius:0}@media(min-width:768px){.options-accordion-header{padding:var(--space-16) var(--space-16)}}@media(any-hover:hover){.options-accordion-header:hover{background-color:var(--color-brand-50)}}.options-accordion-title{font-size:var(--font-size-lg)}@media(min-width:768px){.options-accordion-title{font-size:var(--font-size-xl)}}.options-accordion-icon{width:24px;height:24px}.options-accordion-panel{display:flex;flex-direction:column;gap:0;padding:0;background-color:var(--color-white);border-top:1px solid var(--color-border-default)}.option-card{display:grid;grid-template-columns:auto 1fr;gap:var(--space-8);padding:var(--space-12);cursor:pointer;background-color:var(--color-white)}@media(min-width:768px){.option-card{padding:var(--space-16)}}@media(any-hover:hover){.option-card:hover{background-color:var(--color-gray-50)}}.option-card+.option-card{border-top:1px solid var(--color-border-default)}.option-card-checkbox{display:grid;place-content:center;width:24px;height:24px;margin-top:var(--space-4);appearance:none;background-color:var(--color-white);border:2px solid var(--color-border-default);border-radius:var(--radius-sm);transition:background-color .2s ease,border-color .2s ease,box-shadow .2s ease}.option-card-checkbox:after{width:10px;height:6px;content:"";border-bottom:2px solid var(--color-white);border-left:2px solid var(--color-white);transform:rotate(-45deg) scale(0);transform-origin:center;transition:transform .15s ease}.option-card-checkbox:hover{border-color:var(--color-brand)}.option-card-checkbox:focus-visible{outline:none;box-shadow:0 0 0 3px #64a4de59}.option-card-checkbox:checked{background-color:var(--color-brand);border-color:var(--color-brand)}.option-card-checkbox:checked:after{transform:rotate(-45deg) scale(1)}.option-card-body{display:flex;flex-direction:column;gap:var(--space-8)}.option-card-name,.option-card-price{font-size:18px;font-weight:700}.option-card-notes{display:flex;flex-direction:column;gap:var(--space-2);font-size:var(--font-size-xs);color:var(--color-gray-500)}.option-card-note{position:relative;padding-left:var(--space-8)}.option-card-note:before{position:absolute;left:0;content:"・"}.confirm-step{display:flex;flex:1;flex-direction:column;gap:var(--space-32);width:100%;max-width:768px;padding:32px var(--space-16) 48px;margin:0 auto}@media(min-width:768px){.confirm-step{padding:48px var(--space-32) 64px}}.confirm-divider{height:0;border:none;border-bottom:1px solid var(--color-border-default)}.confirm-card{display:flex;flex-direction:column;gap:var(--space-24);padding:16px 18px;background-color:var(--color-white);border:1px solid var(--color-border-default);border-radius:var(--radius-md)}@media(min-width:768px){.confirm-card{padding:24px 32px}}.confirm-card-block{display:flex;flex-direction:column;gap:var(--space-12)}.confirm-card-header{display:flex;flex-wrap:wrap;gap:0;justify-content:space-between}@media(min-width:768px){.confirm-card-header{flex-flow:row nowrap;align-items:center}}.confirm-card-title{font-size:var(--font-size-lg);font-weight:700;color:var(--color-black)}.confirm-course{display:flex;flex-direction:column}@media(min-width:768px){.confirm-course{display:flex;justify-content:space-between}}.confirm-course-name,.confirm-course-price{font-weight:700}.confirm-list{display:flex;flex-direction:column;gap:var(--space-8)}.confirm-list-item{display:flex;flex-direction:column;gap:0;justify-content:space-between;font-size:var(--font-size-md)}@media(min-width:768px){.confirm-list-item{flex-flow:row wrap;gap:var(--space-8);align-items:center}}.confirm-list-item+.confirm-list-item{padding-top:8px;border-top:1px dashed var(--color-border-default)}.confirm-payment-text{font-size:var(--font-size-md)}.confirm-total{display:flex;gap:var(--space-8);align-items:baseline}.confirm-total-label{font-size:var(--font-size-xs);color:var(--color-gray-700)}.confirm-total-amount{font-weight:700}.confirm-empty{font-size:var(--font-size-sm);color:var(--color-gray-700)}.confirm-edit-button{display:flex;align-items:center;justify-content:center;width:100%;height:44px;padding:var(--space-12) 0;margin:var(--space-8) 0;font-size:14px;font-weight:700;color:var(--color-brand);background-color:var(--color-white);background-image:url(/images/icons/icon-arrow-left-alt.svg);background-repeat:no-repeat;background-position:left 16px center;border:1px solid transparent;border-color:var(--color-brand);border-radius:9999px;transition:background-color .2s ease}@media(any-hover:hover){.confirm-edit-button:hover{background-color:var(--color-gray-50)}}.confirm-payment-note{font-size:var(--font-size-sm);color:var(--color-alert)}.calendar-modal{display:flex;flex-direction:column;gap:var(--space-16)}.calendar-modal-nav{display:flex;gap:var(--space-12);align-items:center;justify-content:space-between}.calendar-modal-nav-button{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background-color:var(--color-white);border-radius:9999px}@media(any-hover:hover){.calendar-modal-nav-button:hover{background-color:var(--color-gray-100)}}.calendar-modal-nav-button:disabled{pointer-events:none;cursor:default;opacity:.3}.calendar-modal-month{font-size:var(--font-size-lg);font-weight:700}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:var(--space-4)}.calendar-grid-loading-message{display:flex;align-items:center;justify-content:center;aspect-ratio:16 / 9;padding:var(--space-16) 0;font-size:var(--font-size-md);font-weight:700;color:var(--color-gray-300);text-align:center}.calendar-grid-message{font-size:var(--font-size-sm);color:var(--color-gray-700)}.calendar-grid-message[data-status=error]{display:flex;gap:var(--space-4);align-items:center;font-size:var(--font-size-sm);color:var(--color-red-600)}.calendar-grid-message-icon{display:flex;flex-shrink:0;align-items:center;justify-content:center;width:16px;height:16px}.calendar-grid-message-icon>img{width:100%;height:100%}.calendar-grid-header-row{display:grid;grid-template-columns:repeat(7,1fr);gap:var(--space-4);padding-bottom:var(--space-8);border-bottom:1px solid var(--color-border-default)}.calendar-grid-header{font-size:var(--font-size-sm);color:var(--color-gray-700);text-align:center}.calendar-grid-header.saturday{color:var(--color-blue-600)}.calendar-grid-header.sunday{color:var(--color-red-600)}.calendar-grid-cell{position:relative;display:flex;flex-direction:column;gap:var(--space-4);align-items:center;justify-content:center;min-height:64px;padding:var(--space-8) 0;background-color:var(--color-white);border:0 solid var(--color-border-default);border-radius:var(--radius-sm)}.calendar-grid-cell[data-status=unavailable],.calendar-grid-cell[data-status=closed]{color:var(--color-gray-500);background-color:var(--color-gray-100);opacity:.8}.calendar-grid-cell:disabled{cursor:default}.calendar-grid-cell[data-selected=true]{background-color:var(--color-brand-50);border:2px solid var(--color-brand)}@media(any-hover:hover){.calendar-grid-cell:not([data-status=unavailable],[data-status=closed],:disabled):hover{cursor:pointer;background-color:var(--color-brand-50)}}.calendar-grid-date{font-weight:700}.calendar-grid-cell[data-variant=holiday] .calendar-grid-date{color:var(--color-red-600)}.calendar-grid-badge{position:absolute;top:-8px;right:-8px;z-index:10;display:flex;align-items:center;justify-content:center;width:18px;height:18px;font-size:11px;font-weight:700;color:var(--color-white);background-color:var(--color-brand);border-radius:9999px}.calendar-grid-status{font-size:var(--font-size-xs)}.calendar-legend{display:flex;flex-wrap:wrap;gap:var(--space-12);font-size:var(--font-size-xs);color:var(--color-gray-700)}.calendar-legend-item{display:flex;align-items:center}.calendar-close-button{width:100%;padding:var(--space-12);font-weight:700;color:var(--color-brand);border:2px solid var(--color-brand);border-radius:var(--radius-lg)}.calendar-clear-button{margin:var(--space-12) auto 0;font-weight:700;color:var(--color-gray-700);text-decoration:underline;text-underline-offset:.25em}.visit-dates-step{display:flex;flex:1;flex-direction:column;gap:var(--space-32);width:100%;max-width:768px;padding:32px var(--space-16) 48px;margin:0 auto}@media(min-width:768px){.visit-dates-step{padding:48px var(--space-32) 64px}}.visit-dates-fields{display:flex;flex-direction:column;gap:var(--space-16)}.visit-date-field{display:flex;flex-direction:column;gap:var(--space-8)}.visit-date-label{display:flex;gap:var(--space-8);align-items:center;font-size:var(--font-size-md);font-weight:700;color:var(--color-gray-700)}.visit-date-input{display:flex;align-items:center;width:100%;height:56px;padding:var(--space-12) var(--space-16);background-color:var(--color-white);border:1px solid var(--color-border-default);border-radius:var(--radius-md)}.visit-date-input[data-state=readonly]{cursor:pointer;background-color:var(--color-white)}.visit-date-text{flex:1;font-size:18px;color:var(--color-gray-700);text-align:left}.visit-date-icon{flex-shrink:0;width:24px;height:24px}.visit-dates-note{padding:24px;margin-top:var(--space-12);background-color:var(--color-info-bg);border-radius:var(--radius-sm)}@media(min-width:768px){.visit-dates-note{padding:24px 32px;border-radius:var(--radius-md)}}.customer-step{display:flex;flex:1;flex-direction:column;gap:var(--space-32);width:100%;max-width:768px;padding:32px var(--space-16) 48px;margin:0 auto}@media(min-width:768px){.customer-step{padding:48px var(--space-32) 64px}}.customer-section{display:flex;flex-direction:column;gap:var(--space-24);padding-bottom:var(--space-12)}.customer-section-title{display:flex;gap:var(--space-8);align-items:center;font-size:var(--font-size-xl);font-weight:700}.customer-section-title:before{display:block;flex-shrink:0;align-self:stretch;width:3px;margin:4px 0;content:"";background:var(--color-brand);border-radius:4px}.customer-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-12)}.customer-radio-group{display:flex;flex-direction:column;gap:var(--space-8)}.customer-radio{display:flex;gap:var(--space-8);align-items:center;cursor:pointer}.customer-radio-input{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;margin:0;appearance:none;background-color:var(--color-white);border:2px solid var(--color-border-default);border-radius:50%;transition:background-color .2s ease,border-color .2s ease,box-shadow .2s ease}.customer-radio-input:checked{background-color:var(--color-brand);border-color:var(--color-brand)}.customer-radio-input:checked:after{display:block;width:8px;height:8px;content:"";background-color:var(--color-white);border-radius:50%}.customer-radio-input:focus-visible{outline:none;box-shadow:0 0 0 3px #1a85ff33}.customer-radio-label{font-size:var(--font-size-md)}.customer-privacy-text{font-size:var(--font-size-md);color:var(--color-gray-700)}.customer-link{font-weight:700;color:var(--color-brand);text-decoration:underline}.customer-checkbox{display:flex;gap:var(--space-8);align-items:center;cursor:pointer}.customer-checkbox-input{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;margin:0;appearance:none;background-color:var(--color-white);border:2px solid var(--color-border-default);border-radius:var(--radius-sm);transition:background-color .2s ease,border-color .2s ease,box-shadow .2s ease}.customer-checkbox-input:checked{background-color:var(--color-brand);border-color:var(--color-brand)}.customer-checkbox-input:checked:after{display:block;width:6px;height:10px;content:"";border:solid var(--color-white);border-width:0 2px 2px 0;transform:rotate(45deg)}.customer-checkbox-input:focus-visible{outline:none;box-shadow:0 0 0 3px #1a85ff33}.customer-checkbox-label{font-size:var(--font-size-md);font-weight:700}.customer-no-address-detail-toggle{display:flex;justify-content:flex-end}.customer-section .text-input:disabled{color:var(--color-gray-500);cursor:not-allowed;background-color:var(--color-gray-100);border-color:var(--color-border-default);opacity:1}@media(max-width:640px){.customer-grid{grid-template-columns:1fr}}.complete-step{display:flex;flex:1;flex-direction:column;gap:var(--space-32);width:100%;max-width:768px;padding:32px var(--space-16) 48px;margin:0 auto}@media(min-width:768px){.complete-step{padding:48px var(--space-32) 64px}}.complete-message{display:flex;flex-direction:column;gap:var(--space-16)}.complete-message-title{display:flex;gap:var(--space-8);font-size:var(--font-size-lg);font-weight:700}.complete-message-title:before{display:block;flex-shrink:0;align-self:stretch;width:3px;margin:4px 0;content:"";background:var(--color-brand);border-radius:4px}.complete-message-text{font-size:var(--font-size-md)}.complete-note{display:flex;flex-direction:column;gap:var(--space-12);padding:16px;margin-top:var(--space-12);background-color:var(--color-gray-50);border-radius:var(--radius-sm)}@media(min-width:768px){.complete-note{padding:24px 32px;border-radius:var(--radius-md)}}.complete-note-title{font-weight:700}.complete-note-list{display:flex;flex-direction:column;gap:var(--space-4)}.complete-note-item{position:relative;padding-left:var(--space-12);font-size:var(--font-size-sm);color:var(--color-gray-700)}.complete-note-item:before{position:absolute;left:0;content:"・"}.complete-home-button{display:grid;grid-template-columns:minmax(0,24px) 1fr minmax(0,24px);gap:var(--space-4);align-items:center;width:100%;max-width:480px;min-height:56px;padding:var(--space-12) var(--space-24);color:var(--color-brand);background-color:var(--color-white);border:solid 2px var(--color-brand);border-radius:var(--radius-full);transition:background-color .2s ease}@media(min-width:768px){.complete-home-button{max-width:620px;margin:32px auto 0}}.complete-home-button>.button-icon{display:flex;flex:1;align-items:center}.complete-home-button>.button-label{font-size:var(--font-size-md);font-weight:var(--font-weight-bold);text-align:center}@media(any-hover:hover){.complete-home-button:hover{background-color:var(--color-gray-50)}}.complete-message-end-text{font-size:var(--font-size-md);font-weight:700;color:var(--color-gray-700);text-align:center}.error-step{display:flex;flex:1;flex-direction:column;gap:var(--space-32);width:100%;max-width:768px;padding:32px var(--space-16) 48px;margin:0 auto}@media(min-width:768px){.error-step{padding:48px var(--space-32) 64px}}.error-lead{font-size:var(--font-size-md)}.error-message{display:flex;flex-direction:column;gap:var(--space-16)}.error-note{display:flex;flex-direction:column;gap:var(--space-12);padding:16px;background-color:var(--color-gray-50);border-radius:var(--radius-sm)}@media(min-width:768px){.error-note{padding:24px 32px;border-radius:var(--radius-md)}}.error-note-title{font-weight:700}.error-actions{display:flex;flex-direction:column;gap:var(--space-12)}@media(min-width:768px){.error-actions{gap:var(--space-16)}}.error-primary-button,.error-home-button{display:grid;grid-template-columns:minmax(0,24px) 1fr minmax(0,24px);gap:var(--space-4);align-items:center;width:100%;max-width:480px;min-height:56px;padding:var(--space-12) var(--space-24);border-radius:var(--radius-full);transition:background-color .2s ease}@media(min-width:768px){.error-primary-button,.error-home-button{max-width:620px;margin:0 auto}}.error-primary-button>.button-icon,.error-home-button>.button-icon{display:flex;flex:1;align-items:center}.error-primary-button>.button-label,.error-home-button>.button-label{font-size:var(--font-size-md);font-weight:var(--font-weight-bold);text-align:center}.error-primary-button{color:var(--color-white);background-color:var(--color-brand);border:solid 2px var(--color-brand)}.error-home-button{color:var(--color-brand);background-color:var(--color-white);border:solid 2px var(--color-brand)}@media(any-hover:hover){.error-primary-button:hover{background-color:color-mix(in srgb,var(--color-brand) 90%,black 10%)}.error-home-button:hover{background-color:var(--color-gray-50)}}
