/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){:root,:host{--shimmer-angle:20deg}*,:before,:after,::backdrop{--scroll-fade-t:0px;--scroll-fade-b:0px;--scroll-fade-s:0px;--scroll-fade-e:0px;--scroll-fade-mask:initial;--shimmer-image:initial;--shimmer-text-fill:initial}}}@property --scroll-fade-t{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --scroll-fade-b{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --scroll-fade-s{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --scroll-fade-e{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --scroll-fade-mask{syntax:"*";inherits:false}@property --shimmer-angle{syntax:"<angle>";inherits:true;initial-value:20deg}@property --shimmer-image{syntax:"*";inherits:false}@property --shimmer-text-fill{syntax:"*";inherits:false}@media (prefers-reduced-motion:reduce){.shimmer{-webkit-text-fill-color:currentColor;background-image:none;animation:none}}:root{--navy:#102f45;--navy2:#174a68;--blue:#0879b4;--sky:#eaf6fb;--gold:#e9a800;--ink:#17303d;--muted:#647985;--line:#dbe6eb;--white:#fff}.hero-background{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.hero-buttons{flex-wrap:wrap}.consent span{flex:1;min-width:0;width:auto!important}.consent input{flex-shrink:0}.operations-fieldset{border:0;min-width:0;margin:0;padding:0}.admin-notice{color:#704d00;background:#fff7df;border-radius:5px;padding:12px}.admin-notice button{color:inherit;cursor:pointer;background:0 0;border:0;text-decoration:underline}.photo-preview{margin:16px 0}.photo-preview img{object-fit:contain;max-width:100%;max-height:600px;display:block}.photo-preview figcaption{overflow-wrap:anywhere}.admin-shell button:disabled,.admin-shell select:disabled{opacity:.55;cursor:not-allowed}.booking-detail,.operation-card,.field-grid label{min-width:0}.booking-detail dd{overflow-wrap:anywhere}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--ink);background:#fff;margin:0;font-family:Noto Sans JP,Hiragino Kaku Gothic ProN,sans-serif;line-height:1.75}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.site-header{z-index:20;background:#fff;border-bottom:1px solid #edf2f4;justify-content:space-between;align-items:center;height:84px;padding:0 max(28px,50vw - 590px);display:flex;position:relative}.brand{align-items:center;gap:12px;display:flex}.brand img{object-fit:cover;border-radius:50%}.brand>span{white-space:nowrap;font-family:serif;font-size:19px;font-weight:800;line-height:1.2}.brand small{letter-spacing:1.5px;color:#78909c;margin-top:5px;font-family:sans-serif;font-size:9px;display:block}.site-header nav{gap:32px;font-size:14px;font-weight:700;display:flex}.site-header nav a:hover{color:var(--blue)}.header-phone{color:var(--navy);font-size:17px;font-weight:800;line-height:1.2}.header-phone small{color:#78909c;font-size:10px;font-weight:500;display:block}.hero{align-items:center;height:650px;display:flex;position:relative;overflow:hidden}.hero>img{object-fit:cover}.hero-overlay{background:linear-gradient(90deg,#072435f2,#0b3349c4 36%,#0a2b3d0d 68%);position:absolute;inset:0}.hero-copy{z-index:2;color:#fff;width:1180px;max-width:calc(100% - 56px);margin:auto;position:relative}.kicker{letter-spacing:2px;color:#a8def0;font-size:13px;font-weight:700}.hero h1{margin:16px 0 22px;font-family:serif;font-size:clamp(40px,5vw,68px);line-height:1.3}.hero h1 em{color:#c8effc;font-style:normal}.hero-copy>p:not(.kicker){color:#e6eef2;max-width:570px;font-size:17px}.hero-buttons{gap:12px;margin-top:16px;display:flex}.btn{text-align:center;border-radius:5px;min-width:168px;padding:14px 25px;font-weight:800}.btn-gold{background:var(--gold);color:#fff}.btn-line{border:1px solid #ffffffb3}.hero ul{gap:24px;padding:0;font-size:13px;list-style:none;display:flex}.hero li:before{content:"✓";color:#7ad2ef;margin-right:7px}.hero-price{color:#fff;background:linear-gradient(135deg,#e9a80057,#de7e1433);border:1px solid #ffc341b8;align-items:center;gap:14px;margin-top:18px;padding:8px 14px;display:inline-flex}.hero-price small{letter-spacing:.5px;font-size:12px}.hero-price strong{font-size:25px;line-height:1.2}.hero-price em{color:#ffe7a3;margin-right:5px;font-family:sans-serif;font-size:11px;font-style:normal}.section{max-width:1180px;margin:auto;padding:100px 28px}.section-title{text-align:center;margin-bottom:46px}.section-title>span,.booking-intro>span{letter-spacing:3px;color:var(--blue);font-size:12px;font-weight:800}.section-title h2,.booking-intro h2{margin:5px 0 8px;font-family:serif;font-size:clamp(30px,4vw,46px)}.section-title p{color:var(--muted);font-size:15px}.service-grid{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.service-grid article{border:1px solid var(--line);background:#fff;overflow:hidden}.service-image{object-fit:cover;width:100%;height:220px;display:block}.service-content{padding:24px 28px 28px}.service-grid h3{margin:0 0 10px;font-family:serif;font-size:21px}.service-grid p{color:var(--muted);margin:0;font-size:14px}.price-section{background:var(--navy);color:#fff;padding:100px max(28px,50vw - 590px)}.section-title.light>span{color:#8fd3ec}.section-title.light p{color:#bed0d9}.price-tabs-card{max-width:920px;margin:auto}.price-tabs{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px;display:grid}.price-tabs button{color:#fff;cursor:pointer;background:#ffffff14;border:1px solid #ffffff6b;padding:15px 20px;font-size:16px;font-weight:800}.price-tabs button.active{background:var(--gold);border-color:var(--gold);color:#fff}.price-tab-panel{color:var(--ink);background:#fff;padding:32px 42px 30px}.price-tab-panel h3{margin:0 0 8px;font-family:serif;font-size:22px}.price-grid{grid-template-columns:1fr 1fr;padding:0;display:grid}.price-grid>div{border-bottom:1px solid var(--line);justify-content:space-between;gap:20px;padding:17px 12px;display:flex}.price-grid strong{color:var(--blue);white-space:nowrap}.price-tab-panel>small{color:var(--muted);margin-top:24px;font-size:12px;display:block}.booking-section{background:#f5fafc;grid-template-columns:.82fr 1.18fr;gap:80px;padding:110px max(28px,50vw - 590px);display:grid}.booking-intro{align-self:start;position:sticky;top:40px}.booking-intro h2{margin-bottom:20px}.booking-intro>p{color:var(--muted);font-size:15px}.booking-intro ol{margin-top:35px;padding:0;list-style:none}.booking-intro li{align-items:center;gap:14px;margin:18px 0;font-weight:700;display:flex}.booking-intro li b{background:var(--navy);color:#fff;border-radius:50%;place-items:center;width:34px;height:34px;font-size:12px;display:grid}.booking-form{border-top:5px solid var(--blue);background:#fff;gap:20px;padding:38px;display:grid;box-shadow:0 12px 38px #102f4517}.booking-form label{gap:7px;font-size:14px;font-weight:700;display:grid}.booking-form .field-label{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.booking-form .required-badge{color:#fff;background:#a52b2b;border-radius:3px;padding:1px 6px;font-size:12px;font-weight:700;line-height:1.6}.booking-form .field-help{color:var(--muted);font-size:14px;font-weight:400;line-height:1.6}.booking-form .field-error{color:#a52b2b;font-size:14px;font-weight:500;line-height:1.6}.booking-form .form-required-note{color:var(--muted);margin:0;font-size:14px}.booking-form input[aria-invalid=true]{background:#fff8f8;border-color:#a52b2b}.booking-form label,.booking-form input,.booking-form select{min-width:0}.form-row{grid-template-columns:1fr 1fr;gap:18px;display:grid}.booking-form input,.booking-form select,.booking-form textarea{width:100%;color:var(--ink);background:#fff;border:1px solid #cbd9df;border-radius:5px;padding:12px 13px;font-size:16px}.booking-form input:focus,.booking-form select:focus,.booking-form textarea:focus{border-color:var(--blue);outline:3px solid #ccecf9}.consent{color:var(--muted);grid-template-columns:22px 1fr;align-items:start;line-height:1.55;font-weight:500!important;display:flex!important}.consent input{width:20px;height:20px;margin:2px 0}.consent span{color:var(--muted)!important;background:0 0!important;padding:0!important;font-size:13px!important}.submit-button{background:var(--blue);color:#fff;cursor:pointer;border:0;border-radius:5px;padding:16px;font-weight:800}.submit-button:disabled{opacity:.55}.form-note{text-align:center;color:var(--muted);margin:0;font-size:12px}.form-message{border-radius:5px;padding:15px;font-size:14px}.form-message strong{margin-top:5px;display:block}.form-message.success{color:#12673e;background:#e8f7ef}.form-message.error{color:#a52b2b;background:#fff0f0}.contact-strip{text-align:center;background:var(--blue);color:#fff;padding:75px 24px}.contact-strip p{letter-spacing:2px;font-size:13px}.contact-strip a{font-family:serif;font-size:40px;font-weight:800;display:block}.contact-strip small{font-size:12px}footer{color:#fff;background:#092534;grid-template-columns:1fr auto;align-items:center;padding:45px max(28px,50vw - 590px);display:grid}.footer-brand{grid-row:span 2}.footer-brand>span{font-size:18px}footer>p,footer>small{color:#a8bdc7;text-align:right;margin:2px;font-size:12px}.mobile-actions{display:none}.admin-page{background:#f3f7f9;min-height:100vh}.admin-header{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;height:78px;padding:0 max(24px,50vw - 620px);display:flex}.admin-header>a:last-child{color:var(--blue);font-size:14px;font-weight:700}.admin-login{place-items:center;min-height:calc(100vh - 78px);padding:30px;display:grid}.admin-login>div{border-top:5px solid var(--blue);background:#fff;width:min(460px,100%);padding:42px;box-shadow:0 15px 45px #102f451a}.admin-login>div>span{color:var(--blue);letter-spacing:3px;font-size:12px;font-weight:800}.admin-login h1{margin:6px 0 10px;font-family:serif;font-size:32px}.admin-login p{color:var(--muted);font-size:14px}.admin-login input{border:1px solid #cbd9df;border-radius:5px;width:100%;margin:16px 0 10px;padding:13px}.admin-login button,.admin-toolbar button{background:var(--blue);color:#fff;border:0;border-radius:5px;padding:12px 20px;font-weight:800}.admin-error{color:#a52b2b;background:#fff0f0;border-radius:5px;padding:12px}.admin-shell{max-width:1240px;margin:auto;padding:38px 24px 70px}.admin-toolbar{background:#fff;align-items:end;gap:26px;margin-bottom:20px;padding:20px 24px;display:flex}.admin-toolbar>div span{color:var(--muted);font-size:12px;display:block}.admin-toolbar>div strong{font-size:28px}.admin-toolbar label{color:var(--muted);margin-left:auto;font-size:12px}.admin-toolbar select{border:1px solid var(--line);background:#fff;padding:8px 36px 8px 10px;display:block}.admin-layout{grid-template-columns:350px 1fr;gap:20px;display:grid}.booking-list{flex-direction:column;gap:8px;display:flex}.booking-list>button{border:1px solid var(--line);text-align:left;cursor:pointer;background:#fff;gap:5px;padding:17px;display:grid}.booking-list>button.active{border-color:var(--blue);box-shadow:inset 4px 0 var(--blue)}.booking-list strong{font-size:16px}.booking-list small{color:var(--muted)}.booking-list em{color:#8ba0aa;font-size:11px;font-style:normal}.status{background:#eef3f5;border-radius:20px;width:max-content;padding:2px 8px;font-size:11px}.status.new{color:#825d00;background:#fff2c8}.status.confirmed{color:#17613e;background:#e6f7ed}.status.cancelled{color:#8d2e2e;background:#f4e9e9}.booking-detail{background:#fff;padding:30px}.detail-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:start;padding-bottom:20px;display:flex}.detail-head>div>span{color:var(--blue);font-size:12px;font-weight:700}.detail-head h2{margin:4px 0;font-family:serif;font-size:28px}.detail-head small{color:var(--muted)}.detail-head select{border:1px solid var(--line);background:#fff;padding:10px}.booking-detail dl{grid-template-columns:1fr 1fr;margin:22px 0;display:grid}.booking-detail dl>div{border-bottom:1px solid var(--line);padding:14px}.booking-detail .wide{grid-column:1/-1}.booking-detail dt{color:var(--muted);font-size:11px}.booking-detail dd{margin:3px 0;font-size:15px}.booking-detail dd a{color:var(--blue);font-weight:800}.notes{white-space:pre-wrap}.photo-list{padding-top:10px}.photo-list button{border:1px solid var(--line);background:var(--sky);color:var(--blue);cursor:pointer;margin:7px 0;padding:9px 12px;display:block}@media (width<=820px){.site-header{height:70px;padding:0 16px}.brand img{width:48px;height:48px}.brand>span{font-size:14px}.site-header nav,.header-phone{display:none}.hero{align-items:flex-end;height:700px}.hero>img{object-position:62% center}.hero-overlay{background:linear-gradient(#07243505 12%,#072435b8 48%,#072435fa)}.hero-copy{max-width:none;padding:245px 22px 74px}.hero h1{font-size:39px}.hero-copy>p:not(.kicker){font-size:15px}.hero ul{flex-wrap:wrap;gap:9px}.hero-price{gap:10px;margin-top:12px;padding:7px 12px}.hero-price strong{font-size:21px}.section,.price-section{padding:75px 22px}.service-grid,.booking-section{grid-template-columns:1fr}.price-tabs button{padding:13px 8px;font-size:14px}.price-tab-panel{padding:26px 20px}.price-tab-panel h3{font-size:20px}.price-grid{grid-template-columns:1fr}.price-grid>div{padding:14px 6px}.booking-section{gap:38px;padding:75px 18px}.booking-intro{position:static}.booking-form{padding:25px 20px}.form-row{grid-template-columns:1fr}.contact-strip a{font-size:31px}footer{text-align:center;grid-template-columns:1fr;justify-items:center;gap:18px;padding-bottom:90px}.footer-brand{text-align:center;flex-direction:column;grid-row:auto}footer>p,footer>small{text-align:center}.mobile-actions{z-index:30;grid-template-columns:1fr 1fr;display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 20px #0000002e}.mobile-actions a{text-align:center;color:var(--navy);background:#fff;padding:15px;font-weight:800}.mobile-actions a:last-child{background:var(--gold);color:#fff}.admin-header .brand>span{font-size:14px}.admin-shell{padding:20px 12px}.admin-toolbar{flex-wrap:wrap;align-items:stretch}.admin-toolbar label{margin-left:0}.admin-layout{grid-template-columns:1fr}.booking-detail{padding:20px}.booking-detail dl{grid-template-columns:1fr}.booking-detail .wide{grid-column:auto}.detail-head{gap:15px}.detail-head h2{font-size:23px}}.admin-summary{grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px;display:grid}.admin-summary>div{border:1px solid var(--line);background:#fff;padding:16px 18px}.admin-summary span{color:var(--muted);font-size:12px;display:block}.admin-summary strong{margin-top:3px;font-size:24px;display:block}.admin-toolbar{align-items:center}.admin-toolbar label{margin-left:auto}.view-switch{gap:6px;display:flex!important}.view-switch button{color:var(--navy);background:#eaf1f4}.view-switch button.active{background:var(--navy);color:#fff}.refresh-button{margin-left:0}.admin-success{color:#12673e;background:#e8f7ef;border-radius:5px;padding:12px}.operations-grid{grid-template-columns:1fr 1fr;gap:16px;margin-top:22px;display:grid}.operation-card{border:1px solid var(--line);background:#f8fbfc;padding:20px}.operation-card h3{margin:0 0 15px;font-family:serif}.field-grid{grid-template-columns:1fr 1fr;gap:13px;display:grid}.field-grid label{color:var(--muted);font-size:12px;font-weight:700}.field-grid .full{grid-column:1/-1}.field-grid input,.field-grid select{width:100%;color:var(--ink);background:#fff;border:1px solid #cbd9df;margin-top:5px;padding:9px;display:block}.calculate-button{border:1px solid var(--blue);color:var(--blue);background:#fff;margin-top:12px;padding:8px 12px;font-weight:700}.save-operations{background:var(--blue);color:#fff;cursor:pointer;border:0;width:100%;margin-top:16px;padding:14px;font-weight:800}.save-operations:disabled{opacity:.55}.calendar-card{border:1px solid var(--line);background:#fff;padding:24px}.calendar-head{justify-content:space-between;align-items:center;display:flex}.calendar-head h2{margin:0;font-family:serif}.calendar-head button{border:1px solid var(--line);color:var(--blue);background:#fff;padding:8px 12px;font-weight:700}.calendar-week,.calendar-grid{grid-template-columns:repeat(7,1fr);display:grid}.calendar-week span{text-align:center;color:var(--muted);padding:14px 0 8px;font-size:12px}.calendar-grid>div{border-top:1px solid var(--line);border-left:1px solid var(--line);min-height:112px;padding:7px}.calendar-grid>div:nth-child(7n){border-right:1px solid var(--line)}.calendar-grid>div:nth-last-child(-n+7){border-bottom:1px solid var(--line)}.calendar-grid b{color:var(--muted);margin-bottom:5px;font-size:12px;display:block}.calendar-grid button{color:#0b5f86;text-align:left;cursor:pointer;background:#dff3fb;border:0;width:100%;margin:3px 0;padding:5px;font-size:11px;display:block}.calendar-grid button.tentative{color:#765600;background:#fff9df;border:1px dashed #e0a51d}.calendar-note{color:var(--muted);margin:14px 0 0;font-size:12px}@media (width<=820px){.admin-summary{grid-template-columns:1fr 1fr}.admin-summary strong{font-size:20px}.admin-toolbar{grid-template-columns:1fr auto;display:grid}.admin-toolbar label{grid-column:1/-1}.admin-toolbar select{width:100%}.view-switch{grid-column:1/-1}.view-switch button{flex:1}.operations-grid{grid-template-columns:1fr}.field-grid{grid-template-columns:1fr 1fr}.calendar-card{padding:12px;overflow-x:auto}.calendar-week,.calendar-grid{min-width:680px}.calendar-grid>div{min-height:95px}.detail-head{flex-direction:column}.detail-head select{width:100%}}
