.reserve-page{--reserve-pink:#ff2b64;--reserve-blue:#0018ff;--reserve-lime:#baff00;--reserve-mint:#51dfaa;--reserve-ink:#060606;--reserve-muted:#5f626b;--reserve-line:rgba(6,6,6,.14);--reserve-round:"M PLUS Rounded 1c","Noto Sans JP",system-ui,sans-serif;--reserve-body:"Noto Sans JP","Yu Gothic","Meiryo",system-ui,sans-serif;position:relative;isolation:isolate;min-height:100vh;overflow:hidden;color:var(--reserve-ink);background:radial-gradient(circle at 4% 35%,rgba(0,24,255,.12),transparent 24%),radial-gradient(circle at 97% 74%,rgba(255,43,100,.13),transparent 25%),linear-gradient(180deg,#fff,#f8fbff 48%,#fff8fb);font-family:var(--reserve-body)}.reserve-page *,.reserve-page :after,.reserve-page :before{box-sizing:border-box}.reserve-page a{color:inherit;text-decoration:none}.reserve-page button,.reserve-page input,.reserve-page select,.reserve-page textarea{font:inherit}.reserve-page:before{content:"";position:fixed;inset:0;z-index:-3;pointer-events:none;opacity:.15;background-image:radial-gradient(rgba(6,6,6,.43) 1.1px,transparent 0);background-size:32px 32px;mask-image:linear-gradient(180deg,transparent,#000 10%,#000 90%,transparent)}.reserve-page .container{width:min(1240px,calc(100% - 88px));margin-inline:auto}.reserve-page .page-hero{position:relative;min-height:420px;display:grid;align-items:center;overflow:hidden;padding:84px 0 92px;border-bottom:2px solid var(--reserve-ink);background:linear-gradient(125deg,rgba(255,255,255,.97),rgba(255,255,255,.66)),radial-gradient(circle at 78% 34%,rgba(0,24,255,.2),transparent 32%),radial-gradient(circle at 16% 84%,rgba(255,43,100,.14),transparent 28%)}.reserve-page .page-hero:before{content:"○";position:absolute;top:-150px;right:-55px;width:430px;height:430px;display:grid;place-items:center;border-radius:46% 54% 58% 42%/48% 42% 58% 52%;color:#fff;background:var(--reserve-blue);font-family:var(--reserve-round);font-size:180px;font-weight:900;animation:reserve-blob 9s ease-in-out infinite alternate}.reserve-page .page-hero:after{content:"RESERVE  •  CALENDAR  •  BOOKING  •";position:absolute;left:-20px;bottom:8px;color:rgba(255,43,100,.075);font-family:var(--reserve-round);font-size:clamp(42px,7vw,104px);font-weight:900;white-space:nowrap;animation:reserve-marquee 24s linear infinite}.reserve-page .page-hero .container{position:relative;z-index:2}.reserve-page .breadcrumb{display:inline-flex;gap:8px;margin-bottom:28px;padding:8px 14px;border:1.5px solid var(--reserve-ink);border-radius:999px;background:#fff;box-shadow:4px 5px 0 rgba(0,0,0,.08);font-family:var(--reserve-round);font-size:11px;font-weight:900}.reserve-page .breadcrumb a{color:var(--reserve-pink)}.reserve-page .kicker{display:flex;align-items:center;gap:9px;margin:0 0 12px;color:var(--reserve-blue);font-family:var(--reserve-round);font-size:13px;font-weight:900;letter-spacing:.06em}.reserve-page .kicker:before{content:"";width:12px;height:12px;border-radius:50%;background:currentColor;animation:reserve-pulse 2.8s ease-in-out infinite}.reserve-page h1,.reserve-page h2,.reserve-page h3{font-family:var(--reserve-round);letter-spacing:-.035em}.reserve-page h1{margin:0 0 22px;font-size:clamp(52px,7vw,92px);line-height:1.02;font-weight:900}.reserve-page .page-hero p:last-child{max-width:770px;margin:0;color:#3e4049;font-size:15px;line-height:1.9;font-weight:700}.reserve-page .section{padding:126px 0 150px}.reserve-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:36px;margin-bottom:48px}.reserve-page .section-title{margin:0;font-size:clamp(38px,4vw,60px);line-height:1.16;font-weight:900}.reserve-page .section-lead{margin:22px 0 0;color:#41434c;font-size:14px;line-height:1.9;font-weight:700}.reserve-legend{display:flex;flex-wrap:wrap;gap:12px}.reserve-legend>span{display:inline-flex;align-items:center;gap:8px;padding:9px 13px;border:1.5px solid var(--reserve-ink);border-radius:999px;background:#fff;box-shadow:3px 4px 0 rgba(0,0,0,.06);font-family:var(--reserve-round);font-size:11px;font-weight:900}.reserve-dot{width:12px;height:12px;border-radius:50%}.reserve-dot-ok{background:var(--reserve-pink)}.reserve-dot-ng{background:#9497a1}.reserve-calendar-panel{position:relative;overflow:hidden;padding:clamp(24px,4vw,46px);border:2px solid var(--reserve-ink);border-radius:34px;background:rgba(255,255,255,.96);box-shadow:15px 18px 0 rgba(0,24,255,.11)}.reserve-calendar-panel:before{content:"";position:absolute;top:-90px;right:-70px;width:220px;height:220px;border-radius:50%;background:var(--reserve-lime);opacity:.36}.reserve-calendar-panel>*{position:relative;z-index:2}.reserve-month-nav{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:20px;margin-bottom:30px}.reserve-current-month{font-family:var(--reserve-round);font-size:clamp(24px,3vw,38px);font-weight:900;text-align:center}.reserve-calendar-grid,.reserve-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.reserve-weekdays{overflow:hidden;border:2px solid var(--reserve-ink);border-bottom:0;border-radius:18px 18px 0 0;background:var(--reserve-ink)}.reserve-weekdays>div{padding:12px 6px;color:#fff;font-family:var(--reserve-round);font-size:12px;font-weight:900;text-align:center}.reserve-weekdays>div:first-child{color:#ff8aaa}.reserve-weekdays>div:last-child{color:#8ea0ff}.reserve-calendar-grid{overflow:hidden;border-right:2px solid var(--reserve-ink);border-bottom:2px solid var(--reserve-ink);border-left:2px solid var(--reserve-ink);border-radius:0 0 18px 18px}.reserve-day{position:relative;min-height:118px;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start;gap:12px;padding:13px;border:0;border-right:1px solid var(--reserve-line);border-bottom:1px solid var(--reserve-line);background:#fff;color:var(--reserve-ink);text-align:left;transition:transform .2s ease,background .2s ease,box-shadow .2s ease}.reserve-day:nth-child(7n){border-right:0}.reserve-day:nth-last-child(-n+7){border-bottom:0}.reserve-day.is-outside{color:#b1b3ba;background:#f4f5f7}.reserve-day.is-disabled{cursor:not-allowed}.reserve-day.is-clickable{cursor:pointer}.reserve-day.is-clickable:hover{z-index:2;transform:translateY(-4px) scale(1.015);background:#fff9df;box-shadow:0 10px 24px rgba(0,0,0,.11)}.reserve-day.is-today{box-shadow:inset 0 0 0 3px var(--reserve-blue)}.reserve-day-number{font-size:17px}.reserve-day-number,.reserve-day-status{font-family:var(--reserve-round);font-weight:900}.reserve-day-status{width:36px;height:36px;display:grid;place-items:center;align-self:center;border-radius:50%;color:#fff;background:#9a9da6;font-size:22px;line-height:1}.reserve-day.is-clickable .reserve-day-status{border:2px solid var(--reserve-ink);background:var(--reserve-pink);box-shadow:3px 4px 0 rgba(0,0,0,.08)}.reserve-loading-box,.reserve-page .soft-panel{padding:48px 26px;border:2px solid var(--reserve-ink);border-radius:24px;background:#fff;box-shadow:10px 12px 0 rgba(0,0,0,.07);text-align:center;font-family:var(--reserve-round);font-weight:900}.reserve-loading{margin:0}.reserve-alert{margin:18px 0;padding:15px 18px;border:2px solid var(--reserve-ink);border-radius:14px;font-size:13px;line-height:1.7;font-weight:800}.reserve-alert-error{color:#8d0e32;background:#ffe4ed}.reserve-page .btn{min-height:52px;display:inline-flex;align-items:center;justify-content:center;padding:0 22px;border:2px solid var(--reserve-ink);border-radius:14px;box-shadow:6px 7px 0 rgba(0,0,0,.09);cursor:pointer;font-family:var(--reserve-round);font-size:13px;font-weight:900;transition:transform .22s ease,box-shadow .22s ease,background .22s ease}.reserve-page .btn-primary{color:#fff;background:var(--reserve-pink)}.reserve-page .btn-outline{background:#fff}.reserve-page .btn-small{min-height:44px;padding-inline:17px;font-size:12px}.reserve-page .btn:hover:not(:disabled){transform:translateY(-4px) rotate(-.35deg);box-shadow:9px 10px 0 rgba(0,0,0,.08)}.reserve-page .btn-outline:hover:not(:disabled){background:var(--reserve-lime)}.reserve-page .btn:disabled{opacity:.48;cursor:not-allowed}.reserve-booking-modal{position:fixed;inset:0;z-index:2147483000;display:grid;place-items:center;min-height:0;padding:22px;overflow:visible;isolation:isolate;background:transparent}.reserve-page.reserve-booking-modal:before{display:none}.reserve-booking-backdrop{position:absolute;inset:0;z-index:0;background:rgba(5,7,16,.72);backdrop-filter:blur(8px);animation:reserve-fade .22s ease both}.reserve-booking-panel{position:relative;z-index:2;width:min(1040px,100%);max-height:calc(100vh - 44px);overflow-y:auto;overscroll-behavior:contain;padding:clamp(24px,4vw,44px);border:2px solid var(--reserve-ink);border-radius:30px;background:radial-gradient(circle at 92% 5%,rgba(186,255,0,.24),transparent 23%),#fff;box-shadow:16px 19px 0 rgba(255,43,100,.2);animation:reserve-modal-in .28s ease both}.reserve-booking-panel::-webkit-scrollbar{width:10px}.reserve-booking-panel::-webkit-scrollbar-thumb{border:2px solid #fff;border-radius:999px;background:var(--reserve-blue)}.reserve-booking-header{display:flex;align-items:flex-start;justify-content:space-between;gap:26px;margin-bottom:34px}.reserve-booking-header h2{margin:0;font-size:clamp(26px,3.5vw,44px);line-height:1.25;font-weight:900}.reserve-booking-close{width:48px;height:48px;flex:0 0 auto;display:grid;place-items:center;border:2px solid var(--reserve-ink);border-radius:50%;color:#fff;background:var(--reserve-pink);box-shadow:4px 5px 0 rgba(0,0,0,.09);cursor:pointer;font-family:var(--reserve-round);font-size:25px;line-height:1;font-weight:900;transition:transform .2s ease,box-shadow .2s ease}.reserve-booking-close:hover{transform:rotate(8deg) scale(1.06);box-shadow:6px 7px 0 rgba(0,0,0,.08)}.reserve-today-contact{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:22px;padding:clamp(24px,4vw,38px);border:2px solid var(--reserve-ink);border-radius:22px;background:radial-gradient(circle at 92% 10%,rgba(186,255,0,.32),transparent 28%),linear-gradient(135deg,#fff8df,#fff);box-shadow:8px 10px 0 rgba(0,24,255,.1)}.reserve-today-contact-icon{width:84px;height:84px;display:grid;place-items:center;border:2px solid var(--reserve-ink);border-radius:50%;color:#fff;background:var(--reserve-pink);box-shadow:5px 6px 0 rgba(0,0,0,.08);font-family:var(--reserve-round);font-size:20px;font-weight:900;letter-spacing:.04em}.reserve-today-contact-copy strong{display:block;margin-bottom:8px;font-family:var(--reserve-round);font-size:clamp(20px,3vw,30px);font-weight:900}.reserve-today-contact-copy p{margin:0 0 16px;color:var(--reserve-muted);font-size:14px;line-height:1.8;font-weight:700}.reserve-today-phone{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:0 20px;border:2px solid var(--reserve-ink);border-radius:14px;color:#fff!important;background:var(--reserve-blue);box-shadow:5px 6px 0 rgba(0,0,0,.08);font-family:var(--reserve-round);font-size:clamp(20px,3vw,28px);font-weight:900;letter-spacing:.02em;text-decoration:none!important}.reserve-today-phone:hover{transform:translateY(-2px)}.reserve-privacy-box{padding:18px 20px;border:2px solid var(--reserve-ink);border-radius:16px;background:#fff;box-shadow:5px 6px 0 rgba(0,0,0,.055)}.reserve-privacy-check{display:flex;align-items:center;gap:12px;cursor:pointer}.reserve-page .reserve-privacy-checkbox{appearance:auto;width:20px;height:20px;min-height:0;flex:0 0 20px;margin:0;padding:0;border:0;border-radius:4px;box-shadow:none;accent-color:var(--reserve-blue);cursor:pointer;transform:none}.reserve-page .reserve-privacy-checkbox:focus{border:0;box-shadow:0 0 0 3px rgba(0,24,255,.15);transform:none}.reserve-privacy-text{min-width:0;color:var(--reserve-ink);font-family:var(--reserve-round);font-size:13px;line-height:1.7;font-weight:800}.reserve-page .reserve-privacy-link{color:var(--reserve-blue);font-weight:900;text-decoration:underline;text-underline-offset:3px}.reserve-form{display:grid;gap:32px}.reserve-slot-groups{display:grid;gap:24px}.reserve-slot-group{padding:26px;border:2px solid var(--reserve-ink);border-radius:22px;background:#fbfcff;box-shadow:7px 8px 0 rgba(0,24,255,.08)}.reserve-slot-group-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:22px}.reserve-slot-group-head h3{margin:0 0 8px;font-size:23px;line-height:1.35;font-weight:900}.reserve-slot-group-head p{margin:0;color:var(--reserve-muted);font-size:12px;line-height:1.7;font-weight:700}.reserve-selection-list{display:grid;gap:14px}.reserve-selection-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(130px,.28fr) auto;align-items:end;gap:14px;padding:18px;border:1.5px solid var(--reserve-ink);border-radius:16px;background:#fff}.reserve-selection-field,.reserve-selection-units{display:grid;gap:8px}.reserve-page .field label,.reserve-selection-field label,.reserve-selection-units label{font-family:var(--reserve-round);font-size:12px;font-weight:900}.reserve-selection-units p{margin:2px 0 0;color:var(--reserve-muted);font-size:10px;line-height:1.5}.reserve-page input,.reserve-page select,.reserve-page textarea{width:100%;border:2px solid var(--reserve-ink);border-radius:13px;color:var(--reserve-ink);background:#fff;outline:none;box-shadow:3px 4px 0 rgba(0,0,0,.05);transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.reserve-page input,.reserve-page select{min-height:52px;padding:0 14px}.reserve-page textarea{min-height:135px;resize:vertical;padding:14px;line-height:1.8}.reserve-page input:focus,.reserve-page select:focus,.reserve-page textarea:focus{border-color:var(--reserve-blue);box-shadow:5px 6px 0 rgba(0,24,255,.13);transform:translateY(-1px)}.reserve-delete-button{min-height:48px;padding:0 16px;border:2px solid var(--reserve-ink);border-radius:12px;color:#fff;background:#5a5d67;box-shadow:4px 5px 0 rgba(0,0,0,.07);cursor:pointer;font-family:var(--reserve-round);font-size:12px;font-weight:900;transition:transform .2s ease,background .2s ease}.reserve-delete-button:hover{transform:translateY(-3px);background:var(--reserve-pink)}.reserve-customer-box{padding:28px;border:2px solid var(--reserve-ink);border-radius:22px;background:linear-gradient(135deg,rgba(186,255,0,.18),rgba(255,255,255,.98) 52%,rgba(81,223,170,.13));box-shadow:7px 8px 0 rgba(0,0,0,.065)}.reserve-customer-box h3{margin:0 0 24px;font-size:25px;font-weight:900}.reserve-customer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.reserve-page .field{display:grid;gap:8px}.reserve-note-field{grid-column:1/-1}.reserve-page .req{display:inline-flex;margin-left:5px;padding:3px 7px;border-radius:999px;color:#fff;background:var(--reserve-pink);font-size:9px;vertical-align:middle}.reserve-submit-button{width:min(100%,420px);min-height:62px!important;justify-self:center;font-size:15px!important}.reserve-empty-text{margin:0;padding:20px;border:1.5px dashed var(--reserve-ink);border-radius:14px;background:#fff;color:var(--reserve-muted);font-size:12px;line-height:1.7;font-weight:700;text-align:center}@keyframes reserve-blob{to{transform:translate(-24px,18px) rotate(8deg) scale(1.05)}}@keyframes reserve-marquee{to{transform:translateX(-28%)}}@keyframes reserve-pulse{50%{transform:scale(1.22)}}@keyframes reserve-fade{0%{opacity:0}}@keyframes reserve-modal-in{0%{opacity:0;transform:translateY(24px) scale(.97)}}@media (max-width:900px){.reserve-page .container{width:min(100% - 40px,760px)}.reserve-page .page-hero{min-height:360px;padding:68px 0 76px}.reserve-page .page-hero:before{width:280px;height:280px;right:-115px;font-size:120px}.reserve-page .section{padding:90px 0 110px}.reserve-intro{align-items:flex-start;flex-direction:column}.reserve-day{min-height:96px}.reserve-selection-row{grid-template-columns:1fr 150px}.reserve-delete-button{grid-column:1/-1}}@media (max-width:680px){.reserve-page .container{width:min(100% - 28px,520px)}.reserve-page h1{font-size:clamp(44px,14vw,64px)}.reserve-calendar-panel{padding:18px 10px;border-radius:22px}.reserve-month-nav{grid-template-columns:1fr 1fr}.reserve-current-month{grid-column:1/-1;grid-row:1}.reserve-month-nav .btn:first-child{grid-column:1}.reserve-month-nav .btn:last-child{grid-column:2}.reserve-weekdays>div{padding:9px 2px;font-size:10px}.reserve-day{min-height:77px;padding:8px 4px}.reserve-day-number{font-size:13px}.reserve-day-status{width:28px;height:28px;font-size:17px}.reserve-booking-modal{padding:10px}.reserve-booking-panel{max-height:calc(100vh - 20px);padding:25px 15px;border-radius:22px}.reserve-slot-group{padding:20px 14px}.reserve-slot-group-head{flex-direction:column}.reserve-slot-group-head .btn{width:100%}.reserve-selection-row{grid-template-columns:1fr;padding:14px}.reserve-delete-button{grid-column:auto}.reserve-customer-box{padding:22px 14px}.reserve-customer-grid{grid-template-columns:1fr}.reserve-note-field{grid-column:auto}.reserve-submit-button{width:100%}.reserve-today-contact{grid-template-columns:1fr;gap:16px;padding:22px 16px;text-align:center}.reserve-today-contact-icon{width:68px;height:68px;margin-inline:auto;font-size:17px}.reserve-today-phone{width:100%}.reserve-privacy-box{padding:15px 14px}.reserve-privacy-check{align-items:flex-start}.reserve-page .reserve-privacy-checkbox{margin-top:2px}}@media (prefers-reduced-motion:reduce){.reserve-page *,.reserve-page :after,.reserve-page :before{animation:none!important;transition-duration:.01ms!important}}