.reserveApp{--booking-max-width:1320px;--booking-gutter:36px;--booking-sidebar-width:320px;--booking-column-gap:24px;--milk:#a67652;--milk-dark:#7a4b2e;--ivory:#fbf7f1;--card:#fffdfa;--line:#e6d5c8;--line-strong:#b78a6b;--ink:#3f2d24;--muted:#7d6b60;--soft:#f7efe7;--lavender:#f4edf8;min-height:100vh;color:var(--ink);background:radial-gradient(circle at 12% 8%, #ffffffd9, transparent 34%), linear-gradient(180deg, #fffaf5 0%, var(--ivory) 100%);font-family:var(--font-geist-sans), "Yu Gothic", "Hiragino Kaku Gothic ProN", sans-serif}.reserveHeader,.reserveMain{width:min(calc(100% - var(--booking-gutter) * 2), var(--booking-max-width));margin-inline:auto}.reserveHeader{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;min-height:98px;display:flex}.reserveBrand{color:inherit;align-items:center;gap:18px;text-decoration:none;display:flex}.reserveBrand img{object-fit:contain;width:58px;height:58px}.reserveBrand strong{letter-spacing:0;font-size:clamp(24px,3vw,34px);font-weight:800}.reserveHeaderNav{gap:12px;display:flex}.reserveHeaderNav a,.reserveMiniButton,.reserveSecondaryButton,.reserveScheduleToolbar button{border:1px solid var(--line);min-height:44px;color:var(--milk-dark);font:inherit;cursor:pointer;background:#fff;border-radius:8px;padding:10px 16px;font-weight:800;text-decoration:none}.reserveMenuButton{background:0 0;border:0;width:52px;height:52px;padding:8px;display:none}.reserveMenuButton span{background:var(--milk-dark);border-radius:999px;height:4px;margin:7px 0;display:block}.reserveStepper{width:min(calc(100% - var(--booking-gutter) * 2), var(--booking-max-width));grid-template-columns:repeat(5,1fr);margin:28px auto 0;display:grid}.reserveStep{color:#9c8f87;justify-items:center;gap:10px;font-size:14px;font-weight:800;text-decoration:none;display:grid;position:relative}.reserveStep:before{content:"";z-index:0;background:#ded5ce;width:100%;height:2px;position:absolute;top:21px;right:50%}.reserveStep:first-child:before{display:none}.reserveStep span{z-index:1;color:#6d5d53;background:#e8e3df;border-radius:50%;place-items:center;width:42px;height:42px;font-size:18px;display:grid;position:relative}.reserveStep.isActive,.reserveStep.isCompleted{color:var(--milk-dark)}.reserveStep.isActive span,.reserveStep.isCompleted span{background:var(--milk);color:#fff}.reserveStep.isClickable{cursor:pointer}.reserveStep.isClickable:hover b{text-underline-offset:4px;text-decoration:underline}.reserveMain{margin-top:32px;padding-bottom:44px}.reservePageSection{display:block}.reserveIntro{text-align:center;color:var(--milk-dark);margin:0 0 24px;font-weight:800}.reserveTwoColumn{grid-template-columns:minmax(0, 1fr) var(--booking-sidebar-width);gap:var(--booking-column-gap);align-items:start;display:grid}.reserveMainColumn{gap:18px;min-width:0;display:grid}.reserveCard,.reserveSummaryCard{border:1px solid var(--line);background:#ffffffeb;border-radius:14px;min-width:0;padding:24px;box-shadow:0 10px 28px #50341f12}.reserveSummaryColumn{gap:18px;display:grid;position:sticky;top:18px}.reserveCardTitle{align-items:center;gap:12px;margin-bottom:18px;display:flex}.reserveCardTitle h1,.reserveCardTitle h2{margin:0;font-size:clamp(22px,2vw,28px);line-height:1.25}.reserveCardTitle .reserveMiniButton{margin-left:auto}.reserveIcon{width:32px;height:32px;color:var(--milk-dark);place-items:center;font-weight:900;display:grid}.reserveConditionFields{grid-template-columns:minmax(0,.95fr) minmax(0,1fr) minmax(260px,.95fr);align-items:end;gap:22px;display:grid}.reserveField{gap:9px;display:grid}.reserveField>span,.reserveControlLabel{color:var(--ink);font-size:15px;font-weight:900}.reserveField b{border:1px solid var(--line);color:var(--milk-dark);border-radius:5px;margin-left:8px;padding:2px 6px;font-size:12px}.reserveField select,.reserveField input{box-sizing:border-box;border:1px solid var(--line);width:100%;min-height:58px;color:var(--ink);font:inherit;background:#fff;border-radius:8px;padding:0 16px;font-size:16px;font-weight:800}.reserveExtensionOption{border:1px solid var(--line);cursor:pointer;background:#fffaf5;border-radius:8px;align-items:center;gap:12px;min-height:58px;padding:12px 16px;display:flex}.reserveExtensionOption input{width:22px;height:22px;accent-color:var(--milk)}.reserveExtensionOption span{flex-wrap:wrap;align-items:baseline;gap:6px 10px;display:flex}.reserveExtensionOption small,.reserveExtensionOption em{color:var(--muted);font-style:normal}.reserveExtensionOption em{grid-column:2;font-size:13px}.reserveNoOption,.reserveInfoStrip,.reserveInlineAlert,.reserveEmpty,.reserveNotice{border:1px solid var(--line);background:var(--soft);color:var(--muted);border-radius:8px;padding:14px 16px;font-weight:800;line-height:1.55}.reserveNotice{margin-bottom:18px}.reserveNotice.isError,.reserveInlineAlert{color:#8d3f3f;background:#fff4f4;border-color:#d9a6a6}.reserveVisitFee{max-width:360px;margin-top:18px}.reserveMethodGrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.reserveMethodCard{border:2px solid var(--line);min-height:150px;color:var(--ink);text-align:left;font:inherit;cursor:pointer;background:#fff;border-radius:10px;padding:22px 46px 20px 20px;position:relative}.reserveMethodCard strong,.reserveMethodCard small{display:block}.reserveMethodCard strong{margin-top:12px;font-size:18px}.reserveMethodCard small{color:var(--muted);margin-top:8px;line-height:1.6}.reserveMethodIcon{color:var(--milk-dark);font-size:26px;font-weight:900}.reserveMethodCard i{color:#fff;border:2px solid #b7aaa0;border-radius:50%;place-items:center;width:34px;height:34px;font-style:normal;font-weight:900;display:grid;position:absolute;top:18px;right:18px}.reserveMethodCard.isSelected{border-color:var(--milk-dark);background:#fff8ef;box-shadow:0 0 0 2px #7a4b2e14}.reserveMethodCard.isSelected i{border-color:var(--milk);background:var(--milk)}.reserveInfoStrip{margin-top:14px}.reserveTherapistList,.reserveCandidateGrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:18px;display:grid}.reserveTherapistList button,.reserveCandidateCard,.reserveAutoCandidate{border:1px solid var(--line);color:var(--ink);text-align:left;font:inherit;cursor:pointer;background:#fff;border-radius:10px;padding:14px}.reserveTherapistList button,.reserveCandidateCard{grid-template-columns:64px 1fr;align-items:center;gap:12px;display:grid}.reserveTherapistList img,.reserveCandidateCard img{aspect-ratio:1;object-fit:cover;background:var(--soft);border-radius:10px;flex:none;width:64px;min-width:64px;height:64px;display:block}.reserveTherapistList span,.reserveCandidateCard span{gap:4px;display:grid}.reserveTherapistList small,.reserveCandidateCard small,.reserveAutoCandidate small{color:var(--muted);line-height:1.45}.reserveCandidateCard em,.reserveAutoCandidate span{border:1px solid var(--line-strong);color:var(--milk-dark);text-align:center;border-radius:7px;grid-column:1/-1;margin-top:8px;padding:9px 12px;font-style:normal;font-weight:900;display:block}.reserveAutoCandidate{background:#fff9f2;align-content:space-between;display:grid}.reserveTherapistList .isSelected,.reserveCandidateCard.isSelected,.reserveAutoCandidate.isSelected{border-color:var(--milk-dark);box-shadow:inset 4px 0 var(--milk);background:#fff4e9}.reserveSummaryCard dl,.reserveCompactConditions dl{border:1px solid var(--line);border-radius:8px;margin:0;display:grid;overflow:hidden}.reserveSummaryCard dl div,.reserveCompactConditions dl div{border-bottom:1px dashed var(--line);grid-template-columns:minmax(110px,.45fr) minmax(0,1fr);display:grid}.reserveSummaryCard dl div:last-child,.reserveCompactConditions dl div:last-child{border-bottom:0}.reserveSummaryCard dt,.reserveSummaryCard dd,.reserveCompactConditions dt,.reserveCompactConditions dd{margin:0;padding:13px 14px}.reserveSummaryCard dt,.reserveCompactConditions dt{color:var(--ink);background:#fff8f0;font-weight:900}.reserveSummaryCard dd,.reserveCompactConditions dd{overflow-wrap:anywhere;font-weight:700}.reservePriceRow{background:var(--soft);border-radius:8px;justify-content:space-between;align-items:center;gap:12px;margin-top:18px;padding:14px 16px;display:flex}.reservePriceRow span{font-weight:900}.reservePriceRow strong{font-size:22px}.reservePrimaryButton,.reserveSecondaryButton{width:100%;min-height:56px;font:inherit;cursor:pointer;border-radius:8px;font-size:17px;font-weight:900}.reservePrimaryButton{border:1px solid var(--milk-dark);color:#fff;background:linear-gradient(135deg,#b27c55,#814b2d)}.reservePrimaryButton:disabled{cursor:not-allowed;opacity:.45}.reserveSecondaryButton{border:1px solid var(--line-strong);color:var(--milk-dark);background:#fff}.reserveScheduleToolbar{grid-template-columns:120px 1fr 120px;align-items:center;gap:12px;margin-bottom:12px;display:grid}.reservePublishBox{background:linear-gradient(135deg, #fffaf4, var(--lavender));border:1px solid #e6d7e9;border-radius:10px;justify-content:space-between;align-items:center;gap:14px;margin:0 0 14px;padding:14px 16px;display:flex}.reservePublishBox div{gap:4px;display:grid}.reservePublishBox strong{color:var(--milk-dark)}.reservePublishBox span{color:var(--muted);font-size:14px;line-height:1.5}.reservePublishBox a{color:#7c4d8d;background:#fff;border:1px solid #b884c9;border-radius:8px;flex:none;padding:10px 14px;font-weight:900;text-decoration:none}.reserveScheduleToolbar strong{text-align:center;font-size:18px}.reserveCalendarScroll{overscroll-behavior-inline:contain;border:1px solid var(--line);border-radius:10px;width:100%;max-width:100%;overflow-x:auto}.reserveCalendar{border-collapse:separate;border-spacing:0;table-layout:fixed;width:100%;min-width:760px}.reserveCalendar th,.reserveCalendar td{text-align:center;border-bottom:1px solid #eee3db;border-right:1px solid #eee3db;height:54px}.reserveCalendar thead th{background:#fbf4ed;font-weight:900}.reserveCalendar thead th.isSaturday{color:#255f9f;background:#e7f1ff}.reserveCalendar thead th.isSunday{color:#b84f4f;background:#ffe9e9}.reserveCalendar tbody th{background:#fffaf6;width:80px;font-weight:900}.reserveCalendar thead th:first-child,.reserveCalendar tbody th{z-index:2;position:sticky;left:0}.reserveCalendar thead th:first-child{z-index:3}.reserveCalendar button{width:100%;height:100%;color:var(--milk-dark);font:inherit;cursor:pointer;background:#fff;border:0;font-size:20px}.reserveSlotMark{place-items:center;gap:1px;line-height:1;display:grid}.reserveSlotMark strong{font-size:24px}.reserveSlotMark small{color:var(--muted);font-size:12px;font-weight:900}.reserveCalendar button:disabled{color:#aaa09a;cursor:not-allowed;background:#fbfaf8}.reserveCalendar button.isSelected{background:var(--milk);color:#fff;font-weight:900}.reserveCalendar button.isSelected .reserveSlotMark small{color:#fff}.reserveCustomerForm{grid-template-columns:1fr 1fr;gap:18px;margin-top:26px;display:grid}.reserveCustomerForm label{gap:8px;display:grid}.reserveCustomerForm label>span,.reserveCustomerForm legend{color:var(--ink);font-weight:900}.reserveCustomerForm input,.reserveCustomerForm select,.reserveCustomerForm textarea{box-sizing:border-box;border:1px solid var(--line);width:100%;min-height:52px;color:var(--ink);font:inherit;background:#fff;border-radius:8px;padding:10px 13px}.reserveCustomerForm textarea{resize:vertical;min-height:130px;line-height:1.65}.reserveCustomerForm .isWide{grid-column:1/-1}.reserveCustomerForm fieldset{border:1px solid var(--line);border-radius:8px;margin:0;padding:16px}.reserveRadioGroup,.reserveConsentList{gap:12px;display:grid}.reserveConsentList{margin-top:22px}.reservePolicyPanel{border:1px solid var(--line);background:#fffaf5;border-radius:10px;gap:10px;margin-top:22px;padding:18px;display:grid}.reservePolicyPanel h2,.reservePolicyPanel p{margin:0}.reservePolicyPanel h2{font-size:20px}.reservePolicyPanel p{color:var(--muted);line-height:1.7}.reservePolicyPanel div{flex-wrap:wrap;gap:10px;display:flex}.reservePolicyPanel a,.reserveFooter a{color:var(--milk-dark);font-weight:900;text-decoration:none}.reservePolicyPanel a{border:1px solid var(--line);background:#fff;border-radius:8px;padding:9px 12px}.reserveRadioGroup label,.reserveConsentList>label{border:1px solid var(--line);background:#fff;border-radius:9px;align-items:flex-start;gap:10px;padding:13px 14px;line-height:1.65;display:flex}.reserveRadioGroup input,.reserveConsentList input{width:18px;height:18px;accent-color:var(--milk)}.reserveConfirmList{border-top:1px solid var(--line);border-left:1px solid var(--line);grid-template-columns:1fr 1fr;margin:26px 0 0;display:grid}.reserveConfirmList div{border-right:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:120px 1fr;display:grid}.reserveConfirmList dt{color:var(--ink);background:#f7f0e8;padding:14px;font-weight:900}.reserveConfirmList dd{overflow-wrap:anywhere;margin:0;padding:14px}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible{outline-offset:2px;outline:3px solid #d7b4e6}.reserveFooter{width:min(calc(100% - var(--booking-gutter) * 2), var(--booking-max-width));border-top:1px solid var(--line);flex-wrap:wrap;justify-content:center;gap:12px 24px;margin:0 auto;padding:20px 0 28px;display:flex}@media (max-width:1279px){.reserveApp{--booking-sidebar-width:320px;--booking-column-gap:18px}.reserveMethodGrid,.reserveConditionFields{grid-template-columns:1fr}.reserveTherapistList,.reserveCandidateGrid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:1023px){.reserveTwoColumn{grid-template-columns:1fr}.reserveSummaryColumn{position:static}.reserveHeaderNav{display:none}.reserveMenuButton{display:block}}@media (max-width:767px){.reserveApp{--booking-gutter:18px}.reserveHeader{min-height:86px}.reserveBrand img{width:54px;height:54px}.reserveBrand strong{font-size:24px}.reserveStepper{width:calc(100% - 24px);margin-top:22px}.reserveStep{font-size:13px}.reserveStep span{width:42px;height:42px}.reserveStep b{text-align:center;max-width:76px;line-height:1.3}.reserveMain{margin-top:26px}.reserveIntro{display:none}.reserveCard,.reserveSummaryCard{border-radius:12px;padding:18px}.reserveMethodGrid,.reserveTherapistList,.reserveCandidateGrid{grid-template-columns:1fr}.reserveMethodCard{min-height:86px;padding:16px 48px 16px 16px}.reserveMethodCard strong{margin-top:0}.reserveScheduleToolbar{grid-template-columns:1fr 1fr}.reserveScheduleToolbar strong{grid-area:1/1/auto/-1}.reservePublishBox{flex-direction:column;align-items:stretch}.reservePublishBox a{text-align:center}.reserveCalendar{min-width:560px}.reserveCalendar th,.reserveCalendar td{height:50px}.reserveCalendar tbody th{width:58px;font-size:13px}.reserveSummaryCard dl div,.reserveCompactConditions dl div{grid-template-columns:110px 1fr}.reserveCustomerForm,.reserveConfirmList{grid-template-columns:1fr}.reserveCustomerForm .isWide{grid-column:auto}}@media (max-width:430px){.reserveBrand{gap:12px}.reserveBrand strong{font-size:21px}.reserveMenuButton{width:46px}.reserveStep{font-size:12px}.reserveStep span{width:38px;height:38px}}
