/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.static{position:static}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.block{display:block}.table{display:table}}:root{--navy:#0b1f3a;--ink:#17243a;--blue:#204a72;--line:#dce2e8;--pale:#f4f6f8;--muted:#6c7786}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--ink);background:#fff;margin:0;font-family:-apple-system,BlinkMacSystemFont,Hiragino Kaku Gothic ProN,Yu Gothic,Noto Sans JP,sans-serif}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}.site-shell{background:linear-gradient(#fff 0 75%,#f7f8fa 100%);min-height:100vh}.site-header{border-bottom:1px solid var(--line);background:#fffffff5;justify-content:space-between;align-items:center;height:82px;padding:0 max(5vw,28px);display:flex}.brand{color:var(--navy);align-items:center;gap:13px;text-decoration:none;display:flex}.brand-mark{border:1px solid var(--navy);letter-spacing:.12em;place-items:center;width:44px;height:44px;font-family:Georgia,serif;font-size:12px;display:grid}.brand strong,.brand small{display:block}.brand strong{letter-spacing:.09em;font-family:Yu Mincho,Hiragino Mincho ProN,serif;font-size:20px}.brand small{color:var(--muted);letter-spacing:.15em;margin-top:2px;font-size:10px}.site-header nav{align-items:center;gap:30px;display:flex}.site-header nav a{color:var(--ink);font-size:13px;text-decoration:none}.header-cta{border:1px solid var(--navy);color:var(--navy);cursor:pointer;background:#fff;align-items:center;padding:11px 18px;text-decoration:none;display:inline-flex}main{min-height:calc(100vh - 155px)}.intro{max-width:1240px;margin:auto;padding:58px max(5vw,28px) 34px}.eyebrow{color:var(--blue);letter-spacing:.24em;margin:0 0 9px;font-family:Georgia,serif;font-size:11px}.intro h1{color:var(--navy);letter-spacing:.06em;margin:0;font-family:Yu Mincho,Hiragino Mincho ProN,serif;font-size:clamp(32px,4.2vw,48px);font-weight:500}.intro>p:not(.eyebrow){color:var(--muted);margin:15px 0 0;font-size:14px}.steps{align-items:center;max-width:720px;margin-top:34px;display:flex}.step-fragment{flex:1;align-items:center;display:flex}.steps span{color:#98a1ad;white-space:nowrap;align-items:center;gap:8px;font-size:12px;display:flex}.steps b{border:1px solid #b6bec8;border-radius:50%;place-items:center;width:24px;height:24px;font-size:11px;display:grid}.steps .active{color:var(--navy);font-weight:700}.steps .active b{color:#fff;border-color:var(--navy);background:var(--navy)}.steps .done{color:#46677e}.steps .done b{color:#fff;background:#46677e;border-color:#46677e}.steps i{background:var(--line);width:54px;height:1px;margin:0 12px}.booking-layout{grid-template-columns:minmax(0,1fr) 310px;align-items:start;gap:34px;max-width:1240px;margin:0 auto;padding:0 max(5vw,28px) 78px;display:grid}.booking-main-column{min-width:0}.interior-gallery{margin-top:44px}.interior-heading{text-align:center;color:var(--navy);margin-bottom:26px}.interior-heading>p{letter-spacing:.28em;align-items:center;gap:18px;margin:0 0 14px;font-family:Georgia,serif;font-size:.75rem;display:flex}.interior-heading>p:before,.interior-heading>p:after{content:"";background:var(--line);flex:1;height:1px}.interior-heading h2{letter-spacing:.12em;margin:0;font-family:Yu Mincho,Hiragino Mincho ProN,serif;font-size:clamp(24px,3vw,30px);font-weight:500}.interior-photo{border:1px solid var(--line);background:#fff;margin:0 0 26px}.interior-photo:last-child{margin-bottom:0}.interior-photo img{aspect-ratio:4/3;object-fit:cover;object-position:center 66%;width:100%;height:auto;display:block}.interior-photo-tiles img{object-position:center}.interior-photo figcaption{text-align:center;padding:20px 16px 22px}.interior-photo h3{color:var(--navy);letter-spacing:.12em;margin:0 0 8px;font-family:Yu Mincho,Hiragino Mincho ProN,serif;font-size:1.375rem;font-weight:500}.interior-photo p{color:var(--muted);margin:0;font-size:.875rem;line-height:1.7}.calendar-card,.info-card{border:1px solid var(--line);background:#fff}.calendar-card{padding:30px;box-shadow:0 18px 50px #0f233b0f}.calendar-heading{text-align:center;grid-template-columns:42px 1fr 42px;align-items:center;margin-bottom:24px;display:grid}.calendar-heading button{border:1px solid var(--line);width:42px;height:42px;color:var(--navy);cursor:pointer;background:#fff;font-size:24px}.calendar-heading button:hover{background:var(--pale)}.calendar-heading small{color:var(--muted);letter-spacing:.12em;font-size:11px;display:block}.calendar-heading h2{color:var(--navy);margin:1px 0 0;font-family:Georgia,Yu Mincho,serif;font-size:25px;font-weight:500}.calendar-grid{grid-template-columns:repeat(7,1fr);display:grid}.week-row{border-top:1px solid var(--navy);border-bottom:1px solid var(--line)}.week-row div{text-align:center;color:var(--muted);padding:11px 0;font-size:11px}.week-row div:first-child{color:#9b4f58}.week-row div:last-child{color:var(--blue)}.day-cell{min-height:76px;color:var(--ink);cursor:pointer;background:#fff;border:1px solid #edf0f3;border-top:0;border-left:0;flex-direction:column;justify-content:center;align-items:center;gap:7px;display:flex}.day-cell:nth-child(7n){border-right:0}.day-cell:hover:not(.blank):not(.full){box-shadow:inset 0 0 0 1px var(--blue);background:#f0f5f8}.day-cell span{font-family:Georgia,serif;font-size:15px}.day-cell small{color:#28604e;line-height:1}.day-cell .availability-mark{font-size:17px}.day-cell .private-vacancy{color:#62717f;letter-spacing:.02em;white-space:nowrap;font-size:8px;font-weight:600}.day-cell.few .availability-mark{color:#a5732d}.day-cell.full{color:#aeb5bd;cursor:not-allowed;background:#fafafa}.day-cell.full small{color:#b4bbc2}.day-cell.blank{cursor:default;background:#fbfbfc}.day-cell.disabled{color:#c7ccd1;cursor:not-allowed;background:#fafbfc}.day-cell.holiday span{color:#9b4f58}.calendar-heading button:disabled{opacity:.28;cursor:not-allowed}.legend{color:var(--muted);justify-content:center;gap:28px;padding-top:20px;font-size:11px;display:flex}.legend b{color:var(--navy);margin-right:5px;font-size:14px}.info-card{border-top:3px solid var(--navy);padding:30px 27px}.info-card h2{color:var(--navy);margin:0 0 24px;font-family:Yu Mincho,serif;font-size:22px;font-weight:500}.info-card dl{margin:0}.info-card dl div{border-top:1px solid var(--line);padding:15px 0}.info-card dt{color:var(--muted);margin-bottom:5px;font-size:11px}.info-card dd{margin:0;font-size:14px;line-height:1.65}.info-card a,.complete-note a{color:var(--navy);text-underline-offset:3px}.info-card .local-guide{color:var(--ink);margin:0 0 24px;font-size:1rem;line-height:1.8}.info-card .local-guide p{margin:0 0 12px}.info-pack-list{margin:0;padding:0;list-style:none}.info-pack-list li+li{border-top:1px dashed var(--line);margin-top:10px;padding-top:10px}.info-pack-list strong,.info-pack-list span{display:block}.info-pack-list strong{color:var(--navy);font-size:12px}.info-pack-list span{color:var(--muted);margin-top:3px;font-size:10px;line-height:1.5}.notice{background:var(--pale);color:var(--muted);margin:18px 0 0;padding:15px;font-size:11px;line-height:1.7}.future-note{border-top:1px solid var(--line);color:var(--muted);margin-top:14px;padding-top:15px;font-size:10px;line-height:1.7}.future-note span{color:var(--blue);letter-spacing:.15em;font-family:Georgia,serif;font-size:9px;display:block}.flow-wrap{max-width:1040px;margin:0 auto;padding:0 max(5vw,28px) 90px}.narrow-flow{max-width:860px}.text-button{border:1px solid var(--navy);color:var(--navy);cursor:pointer;background:#fff;align-items:center;gap:8px;margin:0 0 22px;padding:11px 16px;font-size:12px;font-weight:700;display:inline-flex;box-shadow:0 5px 16px #0b1f3a14}.text-button:hover{background:var(--navy);color:#fff;transform:translateY(-1px)}.selected-date-bar{border:1px solid var(--line);border-left:3px solid var(--navy);background:#fff;align-items:center;gap:22px;min-height:74px;margin-bottom:40px;padding:15px 22px;display:flex}.selected-date-bar span{color:var(--muted);font-size:11px}.selected-date-bar strong{font-family:Yu Mincho,serif;font-size:18px;font-weight:500}.selected-date-bar button{color:var(--blue);cursor:pointer;background:0 0;border:0;margin-left:auto;font-size:11px;text-decoration:underline}.section-heading{margin-bottom:25px}.section-heading h2{color:var(--navy);letter-spacing:.04em;margin:0;font-family:Yu Mincho,serif;font-size:26px;font-weight:500}.section-heading>p:last-child{color:var(--muted);margin:10px 0 0;font-size:12px;line-height:1.7}.section-heading>p strong{color:var(--navy)}.table-options{grid-template-columns:repeat(2,1fr);gap:18px;display:grid}.table-option{border:1px solid var(--line);min-height:285px;color:var(--ink);text-align:left;cursor:pointer;background:#fff;padding:34px 28px 28px;transition:border-color .2s,transform .2s,box-shadow .2s;position:relative}.table-option:hover:not(:disabled),.table-option.selected{border-color:var(--navy);transform:translateY(-2px);box-shadow:0 14px 40px #0b1f3a14}.table-option.selected{box-shadow:inset 0 0 0 1px var(--navy), 0 14px 40px #0b1f3a14}.table-option:disabled{opacity:.5;cursor:not-allowed;background:#fafafa}.option-number{color:#c1c8d0;font-family:Georgia,serif;font-size:11px;position:absolute;top:18px;right:20px}.table-icon{border:1px solid var(--navy);width:50px;height:50px;color:var(--navy);place-items:center;margin-bottom:22px;font-size:22px;display:grid}.table-option strong,.table-option small,.table-option b{display:block}.table-option strong{font-family:Yu Mincho,serif;font-size:23px;font-weight:500}.table-option small{color:var(--muted);margin:5px 0 20px;font-size:11px}.table-option b{font-family:Georgia,Yu Mincho,serif;font-size:20px;font-weight:500}.table-option b em{color:var(--muted);font-family:inherit;font-size:10px;font-style:normal}.stock{color:#28604e;font-size:11px;position:absolute;bottom:26px;right:23px}.stock.none{color:#929aa3}.table-option:has(.table-pack-list){min-height:390px}.table-pack-list{background:var(--pale);border-left:2px solid var(--blue);flex-direction:column;gap:6px;margin:16px 0 28px;padding:11px 12px;display:flex}.table-pack-list>span{justify-content:space-between;align-items:center;gap:10px;font-size:10px;display:flex}.table-pack-list>span:first-child{color:var(--blue);letter-spacing:.08em;font-size:8px;font-weight:700;display:block}.table-pack-list i{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-style:normal;overflow:hidden}.table-pack-list em{color:var(--navy);flex:none;font-size:9px;font-style:normal;font-weight:700}.flow-actions{flex-direction:column;align-items:center;margin-top:34px;display:flex}.primary-button{border:1px solid var(--navy);background:var(--navy);color:#fff;letter-spacing:.04em;cursor:pointer;min-width:280px;min-height:55px;padding:14px 28px;font-size:13px;transition:background .2s,transform .2s}.primary-button:hover:not(:disabled){background:#16375e;transform:translateY(-1px)}.primary-button:disabled{opacity:.42;cursor:not-allowed}.primary-button span{float:right;margin-left:30px}.summary-strip{border:1px solid var(--line);background:#f7f9fa;border-bottom:0;grid-template-columns:repeat(3,1fr);display:grid}.summary-strip div{border-right:1px solid var(--line);padding:14px 20px}.summary-strip div:last-child{border:0}.summary-strip span,.summary-strip strong{display:block}.summary-strip span{color:var(--muted);margin-bottom:4px;font-size:10px}.summary-strip strong{font-size:14px;font-weight:600}.form-card{border:1px solid var(--line);background:#fff;padding:40px;box-shadow:0 16px 50px #0f233b0d}.time-card{border-top:3px solid var(--navy)}.time-selects{background:var(--pale);grid-template-columns:1fr 42px 1fr;align-items:end;gap:13px;padding:28px;display:grid}.time-selects label span{color:var(--muted);margin-bottom:8px;font-size:11px;display:block}.time-selects select{width:100%;height:58px;color:var(--navy);background:#fff;border:1px solid #cbd3db;border-radius:0;padding:0 15px;font-family:Georgia,serif;font-size:21px}.time-arrow{color:var(--muted);text-align:center;padding-bottom:18px}.price-preview{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:1fr 1.5fr;margin-top:24px;padding:22px 25px;display:grid}.price-preview div:last-child{text-align:right}.price-preview span,.price-preview small{color:var(--muted);font-size:10px;display:block}.price-preview strong{font-family:Georgia,Yu Mincho,serif;font-size:24px;font-weight:500}.price-preview div:last-child strong{color:var(--navy);font-size:28px}.inline-notice{color:var(--muted);border-left:2px solid #9d7c48;margin:20px 0 0;padding-left:13px;font-size:11px;line-height:1.7}.customer-form{border-top:3px solid var(--navy)}.customer-form>label{margin-top:22px;display:block}.customer-form>label>span{margin-bottom:8px;font-size:12px;font-weight:600;display:block}.customer-form label b{background:var(--navy);color:#fff;margin-left:6px;padding:2px 5px;font-size:8px;font-weight:500}.customer-form label em{color:var(--muted);font-size:9px;font-style:normal;font-weight:400}.customer-form input,.customer-form textarea{width:100%;color:var(--ink);background:#fff;border:1px solid #cad2db;border-radius:0;padding:15px 16px;font-size:14px}.customer-form input:focus,.customer-form textarea:focus,.time-selects select:focus{border-color:var(--blue);outline:2px solid #204a722e}.customer-form textarea{resize:vertical}.customer-form .flow-actions{margin-bottom:-3px}.confirm-card{border:1px solid var(--line);border-top:3px solid var(--navy);background:#fff;padding:10px 40px 42px;box-shadow:0 16px 50px #0f233b0d}.confirm-section{border-bottom:1px solid var(--line);padding:30px 0}.confirm-title{align-items:center;margin-bottom:18px;display:flex}.confirm-title>span{color:var(--blue);margin-right:10px;font-family:Georgia,serif;font-size:11px}.confirm-title h2{margin:0;font-family:Yu Mincho,serif;font-size:20px;font-weight:500}.confirm-title button{color:var(--blue);cursor:pointer;background:0 0;border:0;margin-left:auto;font-size:10px;text-decoration:underline}.confirm-section dl{margin:0}.confirm-section dl>div{grid-template-columns:145px 1fr;padding:8px 0;display:grid}.confirm-section dt{color:var(--muted);font-size:11px}.confirm-section dd{word-break:break-word;margin:0;font-size:13px;line-height:1.65}.total-row{border-top:1px dashed var(--line);align-items:center;margin-top:8px;padding-top:18px!important}.total-row dd{color:var(--navy);font-family:Georgia,Yu Mincho,serif;font-size:25px!important}.total-row dd small{color:var(--muted);font-family:sans-serif;font-size:9px;display:block}.policy-box{background:var(--pale);margin-top:26px;padding:18px 20px}.policy-box h3{margin:0 0 7px;font-size:12px}.policy-box p{color:var(--muted);margin:0;font-size:10px;line-height:1.7}.agree-check{cursor:pointer;justify-content:center;align-items:center;gap:9px;margin-top:24px;font-size:12px;display:flex}.agree-check input{width:17px;height:17px;accent-color:var(--navy)}.reserve-button{min-width:350px}.flow-actions>small{color:var(--muted);margin-top:8px;font-size:9px}.complete-intro{text-align:center;padding-bottom:25px}.complete-wrap{text-align:center;max-width:700px}.complete-card{border:1px solid var(--line);border-top:3px solid var(--navy);background:#fff;padding:42px;box-shadow:0 18px 60px #0f233b12}.success-mark{background:var(--navy);color:#fff;border-radius:50%;place-items:center;width:52px;height:52px;margin:0 auto 20px;font-size:21px;display:grid}.complete-card>p{color:var(--muted);letter-spacing:.08em;margin:0 0 8px;font-size:10px}.reservation-code{color:var(--navy);letter-spacing:.2em;font-family:Georgia,serif;font-size:40px;display:block}.complete-card>small{color:var(--muted);margin:8px 0 24px;font-size:9px;display:block}.mail-status{color:#3d6657;background:#edf4f0;padding:13px;font-size:10px;line-height:1.6}.complete-card dl{text-align:left;margin:28px 0}.complete-card dl div{border-bottom:1px solid var(--line);grid-template-columns:130px 1fr;padding:12px 0;display:grid}.complete-card dt{color:var(--muted);font-size:10px}.complete-card dd{margin:0;font-size:13px;line-height:1.7}.complete-note{color:var(--muted);margin:22px 0 0;font-family:Yu Mincho,serif;font-size:12px;line-height:1.8}.mail-status.failed{color:#873b3b;background:#fff3f3}.mail-status.not_configured{color:#765f35;background:#f5f3ed}footer{background:var(--navy);color:#fff;justify-content:space-between;align-items:center;min-height:74px;padding:22px max(5vw,28px);display:flex}footer span{letter-spacing:.12em;font-family:Yu Mincho,serif}footer small{opacity:.55;letter-spacing:.14em;font-size:9px}.footer-meta{align-items:center;gap:18px;display:flex}.footer-admin-link{color:#ffffff94;font:inherit;letter-spacing:.06em;cursor:pointer;background:0 0;border:1px solid #ffffff5c;padding:8px 13px;font-size:8px;font-weight:700;text-decoration:none}:is(.footer-admin-link:hover,.footer-admin-link:focus-visible){color:#fff;background:#ffffff14;border-color:#ffffffd1}@media (max-width:800px){.site-header{height:70px;padding:0 20px}.site-header nav a{display:none}.site-header nav a.header-cta{display:inline-flex}.site-header nav{gap:0}.brand strong{font-size:17px}.brand-mark{width:38px;height:38px}.intro{padding:38px 20px 26px}.steps{padding-bottom:4px;overflow-x:auto}.steps i{min-width:28px;margin:0 7px}.steps span{font-size:10px}.booking-layout{grid-template-columns:1fr;padding:0 20px 48px}.calendar-card{padding:18px 12px}.day-cell{min-height:60px}.info-card{padding:26px 22px}}@media (max-width:480px){.header-cta{padding:9px 11px;font-size:11px}.brand small{display:none}.calendar-heading{margin-bottom:15px}.day-cell{gap:4px;min-height:62px}.day-cell span{font-size:13px}.day-cell .availability-mark{font-size:14px}.day-cell .private-vacancy{font-size:7px}.legend{flex-wrap:wrap;gap:14px}.steps span{font-size:0}.steps b{font-size:10px}.steps i{flex:1}}@media (max-width:800px){.flow-wrap{padding:0 20px 55px}.table-options{grid-template-columns:1fr}.table-option{min-height:235px}.form-card,.confirm-card,.complete-card{padding:28px 20px}.summary-strip div{padding:12px 10px}.time-selects{padding:18px 12px}.reserve-button{min-width:100%}.site-header nav a[href=\#guide]{display:none}}@media (max-width:480px){.site-header{padding:0 12px}.site-header nav{gap:6px}.header-cta{white-space:nowrap;padding:8px 9px;font-size:10px}.brand{gap:8px}.brand-mark{width:34px;height:34px;font-size:9px}.brand strong{font-size:14px}.selected-date-bar{gap:10px;padding:12px 14px}.selected-date-bar strong{font-size:15px}.summary-strip strong{font-size:11px}.time-selects{grid-template-columns:1fr 24px 1fr}.time-selects select{height:52px;padding:0 8px;font-size:18px}.price-preview{grid-template-columns:1fr 1.5fr;padding:18px 10px}.price-preview strong{font-size:19px}.price-preview div:last-child strong{font-size:22px}.confirm-section dl>div,.complete-card dl div{grid-template-columns:1fr;gap:4px}.complete-card{padding:30px 18px}.reservation-code{font-size:32px}.primary-button{min-width:100%}}.admin-shell{min-height:100vh;color:var(--ink);background:#f3f5f7}.admin-sidebar{background:var(--navy);color:#fff;flex-direction:column;width:236px;padding:28px 20px;display:flex;position:fixed;inset:0 auto 0 0}.admin-brand{color:#fff;border-bottom:1px solid #ffffff21;grid-template-columns:42px 1fr;align-items:center;column-gap:11px;padding:0 6px 29px;text-decoration:none;display:grid}.admin-brand>span{letter-spacing:.12em;border:1px solid #ffffff8c;grid-row:1/3;place-items:center;width:42px;height:42px;font-family:Georgia,serif;font-size:10px;display:grid}.admin-brand strong{letter-spacing:.07em;font-family:Yu Mincho,serif;font-size:16px}.admin-brand small{color:#ffffff8c;letter-spacing:.13em;font-size:9px}.admin-sidebar nav{flex-direction:column;gap:6px;margin-top:28px;display:flex}.admin-sidebar nav a{color:#ffffff9e;border-left:2px solid #0000;padding:13px 12px;font-size:11px;text-decoration:none}.admin-sidebar nav a i{opacity:.55;margin-right:11px;font-family:Georgia,serif;font-size:9px;font-style:normal}.admin-sidebar nav a.active,.admin-sidebar nav a:hover{color:#fff;background:#ffffff14;border-color:#fff}.admin-side-bottom{border-top:1px solid #ffffff21;margin-top:auto;padding:18px 8px 0}.admin-side-bottom a{color:#fff;margin-bottom:13px;font-size:10px;text-decoration:none;display:block}.admin-side-bottom span{color:#fff6;font-size:9px}.admin-main{min-height:100vh;margin-left:236px}.admin-topbar{background:#fff;border-bottom:1px solid #dce1e6;justify-content:space-between;align-items:center;height:78px;padding:0 36px;display:flex}.admin-topbar p{color:var(--blue);letter-spacing:.2em;margin:0;font-family:Georgia,serif;font-size:8px}.admin-topbar h1{margin:3px 0 0;font-family:Yu Mincho,serif;font-size:18px;font-weight:500}.admin-user{color:var(--muted);align-items:center;gap:12px;font-size:10px;display:flex}.admin-user b{background:var(--navy);color:#fff;border-radius:50%;place-items:center;width:34px;height:34px;font-family:Georgia,serif;display:grid}.admin-content{max-width:1280px;margin:auto;padding:34px 36px 60px}.admin-heading,.panel-heading{justify-content:space-between;align-items:center;display:flex}.admin-heading{margin-bottom:24px}.admin-heading h2,.panel-heading h2{color:var(--navy);margin:0;font-family:Yu Mincho,serif;font-weight:500}.admin-heading h2{font-size:25px}.admin-heading p,.panel-heading p{color:var(--muted);margin:5px 0 0;font-size:10px}.admin-heading>button{background:var(--navy);color:#fff;cursor:pointer;border:0;padding:12px 17px;font-size:10px}.stat-grid{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px;display:grid}.stat-grid article{background:#fff;border:1px solid #dfe4e8;padding:21px;position:relative}.stat-grid article>span{color:#c7cdd3;font-family:Georgia,serif;font-size:9px;position:absolute;top:12px;right:15px}.stat-grid p{color:var(--muted);margin:0 0 11px;font-size:10px}.stat-grid strong{color:var(--navy);font-family:Georgia,Yu Mincho,serif;font-size:28px;font-weight:500;display:block}.stat-grid strong small{margin-left:3px;font-family:sans-serif;font-size:10px}.stat-grid em{color:#7c8794;margin-top:7px;font-size:9px;font-style:normal;display:block}.admin-panel{background:#fff;border:1px solid #dfe4e8;margin-bottom:20px}.panel-heading{border-bottom:1px solid #e5e9ec;min-height:73px;padding:17px 20px}.panel-heading h2{font-size:16px}.panel-heading a{color:var(--blue);font-size:10px;text-decoration:none}.filter-buttons{gap:3px;display:flex}.filter-buttons button{color:var(--muted);cursor:pointer;background:#fff;border:1px solid #d7dde3;padding:7px 11px;font-size:9px}.filter-buttons button.active{border-color:var(--navy);background:var(--navy);color:#fff}.table-scroll{overflow-x:auto}.admin-panel table{border-collapse:collapse;width:100%;font-size:10px}.admin-panel th{color:var(--muted);text-align:left;white-space:nowrap;background:#f8f9fa;padding:10px 14px;font-size:9px;font-weight:500}.admin-panel td{white-space:nowrap;border-top:1px solid #edf0f2;padding:13px 14px}.admin-panel td>b{color:var(--navy);letter-spacing:.08em;font-family:Georgia,serif}.admin-panel td small{color:var(--muted);margin-top:3px;font-size:8px;display:block}.admin-panel td>button{color:var(--blue);cursor:pointer;background:#fff;border:1px solid #d6dce2;padding:5px 8px;font-size:8px}.status{padding:4px 7px;font-size:8px;display:inline-block}.status-確定{color:#31624e;background:#eaf2ee}.status-来店済{color:#596674;background:#eef1f4}.status-キャンセル{color:#855257;background:#f4ecec}.admin-bottom-grid{grid-template-columns:1.6fr 1fr;gap:20px;display:grid}.table-status-grid{grid-template-columns:repeat(5,1fr);gap:8px;padding:18px;display:grid}.table-status-grid div{text-align:center;border:1px solid #dfe4e8;padding:14px 10px}.table-status-grid span,.table-status-grid b,.table-status-grid small{display:block}.table-status-grid span{color:var(--muted);font-size:9px}.table-status-grid b{color:#28604e;margin:8px 0 3px;font-size:11px}.table-status-grid small{color:var(--muted);font-size:8px}.table-status-grid .using{background:var(--navy);border-color:var(--navy);color:#fff}.table-status-grid .using span,.table-status-grid .using small{color:#ffffff8c}.table-status-grid .using b{color:#fff}.system-panel ul{margin:0;padding:11px 20px 16px;list-style:none}.system-panel li{border-bottom:1px solid #edf0f2;justify-content:space-between;padding:10px 0;font-size:9px;display:flex}.system-panel li span{color:var(--muted)}.system-panel li b{color:#8a6a36;font-weight:500}.admin-side-bottom button{color:#fff;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;margin:0 0 13px;padding:0;font-size:10px;display:block}:is(.admin-side-bottom button:hover,.admin-side-bottom button:focus-visible){text-decoration:underline}.reservation-pagination{border-top:1px solid #e5e9ec;justify-content:space-between;align-items:center;gap:16px;padding:14px 20px;display:flex}.reservation-pagination>span{color:var(--muted);font-size:9px}.reservation-pagination>div{align-items:center;gap:4px;display:flex}.reservation-pagination button{min-width:30px;height:30px;color:var(--navy);cursor:pointer;background:#fff;border:1px solid #d7dde3;padding:0 9px;font-size:9px}.reservation-pagination button.active{border-color:var(--navy);background:var(--navy);color:#fff}.reservation-pagination button:disabled{opacity:.35;cursor:not-allowed}@media (max-width:1000px){.admin-sidebar{width:190px}.admin-main{margin-left:190px}.stat-grid{grid-template-columns:repeat(2,1fr)}.admin-bottom-grid{grid-template-columns:1fr}.table-status-grid{grid-template-columns:repeat(5,minmax(80px,1fr));overflow-x:auto}}@media (max-width:700px){.admin-sidebar{width:100%;height:auto;padding:16px 18px;position:static}.admin-brand{border-bottom:0;padding-bottom:14px}.admin-sidebar nav,.admin-side-bottom{display:none}.admin-main{margin-left:0}.admin-topbar{display:none}.admin-content{padding:25px 16px 45px}.admin-heading{align-items:flex-end}.admin-heading>button{padding:10px;font-size:8px}.stat-grid{gap:8px}.stat-grid article{padding:16px 14px}.stat-grid strong{font-size:23px}.panel-heading{align-items:flex-start;gap:12px}.admin-bottom-grid{gap:0}.reservation-pagination{flex-direction:column;align-items:flex-start}.reservation-pagination>div{max-width:100%;padding-bottom:3px;overflow-x:auto}}.admin-user a,.admin-user button{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;text-decoration:none}.admin-user a:hover,.admin-user button:hover{color:var(--navy);text-decoration:underline}.admin-access-page{background:var(--pale);place-items:center;min-height:100vh;padding:40px 20px;display:grid}.admin-access-page section{border:1px solid var(--line);border-top:3px solid var(--navy);text-align:center;background:#fff;width:min(560px,100%);padding:52px 42px;box-shadow:0 18px 60px #0f233b14}.admin-access-page h1{color:var(--navy);margin:6px 0 14px;font-family:Yu Mincho,serif;font-size:28px;font-weight:500}.admin-access-page section>p:not(.eyebrow){color:var(--muted);margin:0;font-size:12px;line-height:1.8}.admin-access-page section>div{justify-content:center;gap:10px;margin-top:28px;display:flex}.admin-access-page a{border:1px solid var(--navy);color:var(--navy);padding:12px 18px;font-size:11px;text-decoration:none}.admin-access-page a:last-child{background:var(--navy);color:#fff}.admin-login-page{background:linear-gradient(160deg,#edf1f4,#f8f6f0);place-items:center;min-height:100vh;padding:36px 18px;display:grid}.admin-login-card{border:1px solid var(--line);border-top:3px solid var(--navy);text-align:center;background:#fff;width:min(430px,100%);padding:42px 38px;box-shadow:0 20px 65px #0f233b1a}.admin-login-mark{border:1px solid var(--navy);width:56px;height:56px;color:var(--navy);letter-spacing:.14em;place-items:center;margin:14px auto 20px;font-family:Georgia,serif;font-size:11px;display:grid}.admin-login-card h1{color:var(--navy);margin:0 0 10px;font-family:Yu Mincho,serif;font-size:26px;font-weight:500}.admin-login-card>p:not(.eyebrow){color:var(--muted);margin:0;font-size:11px}.admin-login-card form{text-align:left;margin:28px 0 22px}.admin-login-card form>label:not(.admin-remember){margin-top:17px;display:block}.admin-login-card form>label>span{color:var(--muted);margin-bottom:7px;font-size:10px;display:block}.admin-login-card input:not([type=checkbox]){width:100%;height:48px;color:var(--ink);background:#fff;border:1px solid #cad2db;border-radius:0;padding:0 13px;font-size:15px}.admin-login-card input:focus{border-color:var(--blue);outline:2px solid #204a722e}.admin-login-card .admin-remember{color:var(--muted);cursor:pointer;align-items:center;gap:8px;margin:17px 0;font-size:10px;display:flex}.admin-login-card .admin-remember input{width:16px;height:16px;accent-color:var(--navy)}.admin-login-card .admin-remember span{margin:0}.admin-login-card form>button{background:var(--navy);color:#fff;cursor:pointer;border:0;width:100%;height:50px;font-size:12px}.admin-login-card form>button:disabled{opacity:.5;cursor:wait}.admin-login-card>a{color:var(--muted);font-size:10px;text-decoration:none}.admin-login-card>a:hover{text-decoration:underline}.form-error{color:#8b3838;text-align:center;background:#fff7f7;border:1px solid #e5caca;margin:16px 0 0;padding:12px 14px;font-size:11px;line-height:1.6}.admin-message{border:1px solid;margin:0 0 18px;padding:12px 15px;font-size:11px}.admin-message.success{color:#315f4b;background:#f2f8f5;border-color:#c9ddd3}.admin-message.error{color:#873b3b;background:#fff6f6;border-color:#e2c8c8}.admin-entry-panel{background:#fff;border:1px solid #cfd7df;margin-bottom:20px;box-shadow:0 12px 35px #0f233b12}.admin-entry-panel .panel-heading button{color:var(--blue);cursor:pointer;background:0 0;border:0;font-size:10px}.admin-reservation-form{padding:22px}.form-grid{grid-template-columns:repeat(3,1fr);gap:15px;margin-bottom:16px;display:grid}.form-grid.two{grid-template-columns:repeat(2,1fr)}.form-grid.three{grid-template-columns:repeat(3,1fr)}.admin-reservation-form label,.pricing-fields label{flex-direction:column;gap:7px;display:flex}.admin-reservation-form label>span,.pricing-fields label>span{color:var(--muted);font-size:9px}.admin-reservation-form input,.admin-reservation-form select,.admin-reservation-form textarea,.pricing-fields input{width:100%;color:var(--ink);font:inherit;background:#fff;border:1px solid #d6dde4;border-radius:0;padding:10px 11px;font-size:11px}.admin-reservation-form textarea{resize:vertical;line-height:1.6}.admin-reservation-form input:focus,.admin-reservation-form select:focus,.admin-reservation-form textarea:focus,.pricing-fields input:focus{outline:1px solid var(--blue);border-color:var(--blue)}.admin-quote{background:var(--pale);border-left:3px solid var(--navy);flex-direction:column;justify-content:center;min-height:60px;padding:10px 13px;display:flex}.admin-quote span,.admin-quote small{color:var(--muted);font-size:8px}.admin-quote strong{color:var(--navy);margin:4px 0;font-family:Georgia,Yu Mincho,serif;font-size:19px}.admin-form-footer,.pricing-footer{border-top:1px solid #e7ebee;justify-content:space-between;align-items:center;gap:20px;padding-top:18px;display:flex}.admin-form-footer p,.pricing-footer p{color:var(--muted);margin:0;font-size:9px;line-height:1.6}.admin-form-footer button,.pricing-footer button{background:var(--navy);color:#fff;white-space:nowrap;cursor:pointer;border:0;padding:12px 18px;font-size:10px}.admin-form-footer button:disabled,.pricing-footer button:disabled{opacity:.45;cursor:not-allowed}.admin-quote.manual-price>div{margin:4px 0;position:relative}.admin-quote.manual-price input{background:#fff;height:34px;padding:6px 30px 6px 9px;font-size:15px;font-weight:600}.admin-quote.manual-price em{color:var(--muted);font-size:9px;font-style:normal;position:absolute;top:50%;right:9px;transform:translateY(-50%)}.booking-type{color:#4d5d6b;background:#eef2f5;padding:4px 7px;font-size:8px;display:inline-block}.booking-type.type-owner_special{color:#74521d;background:#f3ead8;border:1px solid #dfc998}.owner-row{background:#fffaf0}.empty-table{color:var(--muted);text-align:center;padding:28px!important}.db-badge{color:#3a654e;letter-spacing:.12em;background:#edf4f0;padding:5px 8px;font-family:Georgia,serif;font-size:8px}.admin-form-actions{gap:8px;display:flex}.admin-form-actions .danger-button{color:#8b3838;background:#fff;border:1px solid #b86a6a}.cancelled-row{color:#8a8f95;background:#faf7f7}.cancelled-row td>b{color:#777f87}.pricing-form{padding:22px}.pricing-fields{grid-template-columns:repeat(5,1fr);gap:13px;margin-bottom:20px;display:grid}.pricing-fields label>div{position:relative}.pricing-fields input{padding-right:36px}.pricing-fields input[type=date]{padding-right:10px}.pricing-fields em{color:var(--muted);font-size:9px;font-style:normal;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.pricing-footer strong{color:var(--navy);margin-bottom:4px;font-size:10px;display:block}.pack-pricing-heading{background:#f8f9fa;border-top:1px solid #dfe4e8;justify-content:space-between;align-items:center;padding:20px 22px;display:flex}.pack-pricing-heading h3{color:var(--navy);margin:0;font-family:Yu Mincho,serif;font-size:16px;font-weight:500}.pack-pricing-heading p{color:var(--muted);margin:5px 0 0;font-size:9px}.pack-pricing-heading>button{background:var(--navy);color:#fff;cursor:pointer;border:0;padding:10px 14px;font-size:9px}.pack-form{background:#fff;border:1px solid #cfd7df;margin:0 22px 20px}.pack-form-title{background:var(--pale);border-bottom:1px solid #e4e8eb;justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.pack-form-title strong,.pack-form-title small{display:block}.pack-form-title strong{color:var(--navy);font-size:11px}.pack-form-title small{color:var(--muted);margin-top:3px;font-size:8px}.pack-form-title>button{color:var(--blue);cursor:pointer;background:0 0;border:0;font-size:9px}.pack-fields{grid-template-columns:repeat(5,1fr);gap:14px;padding:18px;display:grid}.pack-fields label{flex-direction:column;gap:7px;display:flex}.pack-fields label>span{color:var(--muted);font-size:9px}.pack-fields input,.pack-fields select{width:100%;color:var(--ink);font:inherit;background:#fff;border:1px solid #d6dde4;border-radius:0;padding:10px 11px;font-size:10px}.pack-fields input:focus,.pack-fields select:focus{outline:1px solid var(--blue);border-color:var(--blue)}.pack-fields select:disabled{color:#9aa1a8;background:#f1f3f4}.unit-input{position:relative}.unit-input input{padding-right:36px}.unit-input em{color:var(--muted);font-size:9px;font-style:normal;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.pack-fields .pack-active{flex-direction:row;justify-content:center;align-items:center;padding-top:18px}.pack-fields .pack-active input{width:16px;height:16px}.pack-fields .pack-active span{color:var(--ink)}.pack-form-footer{border-top:1px solid #e4e8eb;justify-content:flex-end;gap:8px;padding:14px 18px;display:flex}.pack-form-footer button{background:var(--navy);color:#fff;cursor:pointer;border:0;padding:10px 16px;font-size:9px}.pack-form-footer .delete-pack{color:#8b3838;background:#fff;border:1px solid #b86a6a;margin-right:auto}.pack-list{padding:0 22px 22px}.pack-list article{border:1px solid #e0e5e9;border-bottom:0;grid-template-columns:minmax(230px,1.4fr) minmax(100px,.5fr) minmax(180px,.8fr) auto;align-items:center;gap:18px;padding:15px 16px;display:grid}.pack-list article:last-child{border-bottom:1px solid #e0e5e9}.pack-list article.inactive{color:#858c93;background:#fafafa}.pack-card-main{align-items:center;gap:11px;display:flex}.pack-card-main h4{color:var(--navy);margin:0;font-family:Yu Mincho,serif;font-size:13px;font-weight:500}.pack-card-main p{color:var(--muted);margin:4px 0 0;font-size:8px}.pack-state{color:#835353;background:#f1eaea;flex:none;padding:4px 7px;font-size:8px}.pack-state.active{color:#31624e;background:#eaf2ee}.pack-card-price strong,.pack-card-price small,.pack-card-period span,.pack-card-period b{display:block}.pack-card-price strong{color:var(--navy);font-family:Georgia,Yu Mincho,serif;font-size:17px}.pack-card-price small,.pack-card-period span{color:var(--muted);margin-top:3px;font-size:8px}.pack-card-period b{margin-top:4px;font-size:9px;font-weight:500}.pack-card-actions{gap:5px;display:flex}.pack-card-actions button{color:var(--blue);cursor:pointer;background:#fff;border:1px solid #d4dbe1;padding:7px 9px;font-size:8px}.empty-packs{color:var(--muted);text-align:center;border:1px dashed #d6dce2;margin:0;padding:24px;font-size:10px}@media (max-width:1000px){.pricing-fields,.pack-fields{grid-template-columns:repeat(2,1fr)}.pack-list article{grid-template-columns:1fr 120px}.pack-card-period{grid-column:1}.pack-card-actions{grid-area:2/2}}@media (max-width:700px){.form-grid,.form-grid.two,.form-grid.three,.pricing-fields,.pack-fields{grid-template-columns:1fr}.admin-reservation-form,.pricing-form{padding:16px}.admin-form-footer,.pricing-footer{flex-direction:column;align-items:stretch}.admin-form-actions{flex-direction:column}.admin-form-footer button,.pricing-footer button{width:100%}.pack-pricing-heading{align-items:flex-start;gap:12px;padding:16px}.pack-form{margin:0 16px 16px}.pack-fields{padding:15px}.pack-fields .pack-active{justify-content:flex-start;padding-top:0}.pack-list{padding:0 16px 18px}.pack-list article{grid-template-columns:1fr;gap:12px}.pack-card-period,.pack-card-actions{grid-area:auto/1}.pack-form-footer{flex-direction:column}.pack-form-footer .delete-pack{margin-right:0}}@media (max-width:480px){footer{align-items:flex-start;gap:14px}.footer-meta{flex-direction:column;align-items:flex-end;gap:8px}.admin-login-card{padding:34px 22px}}.lookup-main{max-width:760px;margin:0 auto;padding:58px 24px 90px}.lookup-intro{text-align:center}.lookup-intro h1{color:var(--navy);margin:0;font-family:Yu Mincho,serif;font-size:clamp(30px,5vw,44px);font-weight:500}.lookup-intro>p:not(.eyebrow){color:var(--muted);margin:14px 0 0;font-size:13px}.lookup-card{border:1px solid var(--line);border-top:3px solid var(--navy);background:#fff;margin-top:34px;padding:34px;box-shadow:0 18px 50px #0f233b12}.lookup-card form{grid-template-columns:1fr 180px;align-items:end;gap:16px;display:grid}.lookup-card label{flex-direction:column;gap:7px;display:flex}.lookup-card label span{color:var(--muted);font-size:10px}.lookup-card input{width:100%;height:48px;color:var(--ink);font:inherit;background:#fff;border:1px solid #cfd7df;padding:10px 12px}.lookup-card label:nth-child(2) input{text-transform:uppercase;letter-spacing:.13em;font-family:Georgia,serif;font-size:18px}.lookup-card .primary-button{grid-column:1/-1;width:100%}.lookup-privacy{color:var(--muted);text-align:center;margin:14px 0 0;font-size:9px;line-height:1.7}.lookup-result{border-top:1px solid var(--line);margin-top:28px;padding-top:24px}.lookup-result-heading{background:var(--pale);justify-content:space-between;align-items:center;gap:20px;padding:18px;display:flex}.lookup-result-heading span,.lookup-result-heading strong{display:block}.lookup-result-heading span{color:var(--muted);font-size:9px}.lookup-result-heading strong{color:var(--navy);letter-spacing:.15em;margin-top:4px;font-family:Georgia,serif;font-size:25px}.lookup-status{color:#31624e;background:#eaf2ee;padding:7px 10px;font-size:9px}.lookup-status.cancelled{color:#855257;background:#f4ecec}.lookup-status.completed{color:#596674;background:#eef1f4}.lookup-result dl{margin:16px 0 0}.lookup-result dl div{border-bottom:1px solid var(--line);grid-template-columns:150px 1fr;padding:13px 4px;display:grid}.lookup-result dt{color:var(--muted);font-size:10px}.lookup-result dd{text-align:right;margin:0;font-size:13px}.lookup-result>p{color:var(--muted);text-align:center;margin:20px 0 0;font-size:11px}.lookup-result a{color:var(--navy);text-underline-offset:3px;font-weight:700}.lookup-back{color:var(--navy);text-align:center;text-underline-offset:4px;cursor:pointer;background:0 0;border:0;width:100%;margin-top:24px;font-size:12px;font-weight:700;text-decoration:underline;display:block}@media (max-width:600px){.lookup-main{padding:38px 18px 60px}.lookup-card{padding:25px 19px}.lookup-card form{grid-template-columns:1fr}.lookup-result dl div{grid-template-columns:1fr;gap:4px}.lookup-result dd{text-align:left}}
