@import "https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,500;1,400&family=Noto+Sans+JP:wght@400;500;600&family=Noto+Serif+JP:wght@400;500&display=swap";:root{--ink:#213948;--muted:#5e6b71;--paper:#fcfbf8;--soft:#f1eee9;--line:#d8dcdb;--accent:#8b7154;--serif:"Noto Serif JP",serif;--sans:"Noto Sans JP",sans-serif;--english:"Playfair Display",serif;color:var(--ink);background:var(--paper);font-family:var(--sans);font-synthesis:none;font-size:16px;line-height:1.9}*{box-sizing:border-box}body{margin:0}a{color:inherit}button,input,textarea,select{font:inherit}a,button{-webkit-tap-highlight-color:transparent}img{max-width:100%;height:auto;display:block}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline-offset:5px;outline:3px solid #a16c2c}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400}p+p{margin-top:1.4em}h2{letter-spacing:.04em;font-size:clamp(1.65rem,3vw,2.55rem);line-height:1.8}h3{font-size:1.5rem;line-height:1.8}p{overflow-wrap:anywhere}.wrap{width:min(1160px,100% - 100px);margin-inline:auto}.section{padding-block:104px;scroll-margin-top:100px}.eyebrow{letter-spacing:.2em;margin-bottom:20px;font-size:.8rem;font-weight:500}.small{color:var(--muted);font-size:.875rem;line-height:1.9}.skip{z-index:20;background:#fff;padding:12px;position:absolute;top:-100px}.skip:focus{top:0}.header{background:var(--paper);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:28px;height:112px;padding:20px 4.5%;display:flex}.brand{justify-items:center;gap:4px;text-decoration:none;display:grid}.brand img{object-fit:contain;width:106px;height:48px}.brand span{letter-spacing:.13em;font-size:.65rem}.header nav{gap:30px;font-size:.875rem;display:flex}.header nav a{text-decoration:none}.header nav a:hover{text-underline-offset:6px;text-decoration:underline}.header-cta{border:1px solid var(--ink);align-items:center;gap:24px;padding:12px 22px;font-size:.875rem;text-decoration:none;display:flex}.hero{grid-template-columns:1.06fr 1fr;padding:44px 0 0 6%;display:grid;position:relative;overflow:hidden}.hero-copy{z-index:1;padding:52px 6% 50px 0}.hero h1{letter-spacing:.025em;margin-bottom:28px;font-size:clamp(1.4rem,2.35vw,2.35rem);line-height:2}.hero h1 span{white-space:nowrap}.hero-description{max-width:460px;color:var(--muted);margin-bottom:32px;font-size:1rem;line-height:2.2}.hero-visual{align-self:stretch;min-height:500px;padding-bottom:32px;position:relative}.hero-visual img{object-fit:cover;object-position:50% 50%;border-radius:180px 0 0;width:100%;height:100%;min-height:470px}.hero-caption{font-family:var(--english);color:var(--ink);background:var(--paper);padding-inline:20px;font-size:clamp(1.6rem,3vw,2.8rem);font-style:italic;position:absolute;bottom:1px;right:32px}.button{background:var(--ink);color:#fff;justify-content:space-between;align-items:center;gap:42px;min-height:56px;padding:17px 27px;font-size:.9rem;text-decoration:none;transition:background .2s;display:inline-flex}.button:hover{background:#345166}.hero-note{letter-spacing:.04em;color:var(--muted);margin-top:16px;font-size:.8rem}.hero-bottom{letter-spacing:.08em;grid-column:1/-1;justify-content:space-between;padding:26px 5% 26px 0;font-size:.8rem;display:flex}.hero-bottom a{font-size:.7rem;text-decoration:none}.hero-bottom a span{margin-left:16px}.notice{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:130px 1fr;align-items:center;gap:24px;margin-top:34px;padding:28px 0;display:grid}.notice .eyebrow{margin:0}.notice p{white-space:pre-line;font-size:.9rem}.concept{grid-template-columns:1fr 1fr;gap:80px;display:grid}.concept h2{font-size:clamp(1.6rem,2.6vw,2.2rem)}.concept h2 span{font-size:.85em}.concept-copy{color:var(--muted);padding-top:42px}.script-sign{font-family:var(--english);color:var(--accent);margin-top:32px;font-size:2.4rem;font-style:italic;display:block}.gallery-section{background:var(--soft)}.section-heading{justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:45px;display:flex}.section-heading>p{color:var(--muted);max-width:430px;font-size:.875rem}.gallery{grid-template-columns:repeat(3,1fr);gap:26px;display:grid}.gallery figure:nth-child(2){padding-top:45px}.gallery img{aspect-ratio:1;object-fit:cover;width:100%}.gallery figcaption{margin-top:15px;font-size:.875rem}.gallery figcaption span{font-family:var(--english);color:var(--accent);margin-right:16px;font-size:1.4rem}.gallery-note{margin-top:25px}.menu-feature{border-top:1px solid var(--line);grid-template-columns:1fr 1.1fr;gap:65px;padding:45px 0;display:grid}.number{letter-spacing:.14em;color:var(--muted);font-size:.8rem}.menu-feature h3{margin:10px 0 20px;font-size:1.9rem}.menu-feature p{color:var(--muted);font-size:.9rem}.price-list>div{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:18px;padding:19px 0;font-size:.9rem;display:flex}.price-list small{color:var(--muted);font-size:.8rem;font-weight:400;display:block}.price-list strong{white-space:nowrap;font-family:var(--english);font-size:1.6rem;font-weight:500;line-height:1.3}.price-list strong small{font-family:var(--sans)}details summary{cursor:pointer;justify-content:space-between;gap:20px;padding:22px 0;font-size:.9rem;list-style:none;display:flex}details summary::-webkit-details-marker{display:none}details[open]>summary span{transform:rotate(45deg)}details .small{margin-top:16px}.compact>div{font-size:.85rem}.compact strong{font-size:1.35rem}.set-feature{background:var(--ink);color:#fff;grid-template-columns:1fr 1fr;gap:70px;margin:0 0 36px;padding:50px;display:grid}.set-feature h3{margin-bottom:20px;font-size:1.8rem}.set-feature p{font-size:.9rem}.set-feature .eyebrow{color:#d6c5ad;font-size:.75rem}.set-name{border-bottom:1px solid #62727d;padding-bottom:15px}.set-name span{color:#d5dbde;font-size:.85rem;display:block}.set-price{justify-content:space-between;align-items:baseline;padding-top:18px;display:flex}.set-price>span{font-size:.9rem}.set-price strong{font-family:var(--english);font-size:2.3rem;font-weight:400;line-height:1.3}.set-feature .small{color:#d5dbde;margin-top:25px;font-size:.8rem}.other-menu{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.other-menu .price-list{padding:0 24px 24px}.profile{background:var(--soft)}.profile-inner{grid-template-columns:1fr 1fr;gap:85px;display:grid}.profile-title .script-sign{font-size:3.2rem}.profile-inner p{color:var(--muted);font-size:.95rem}.profile-inner .eyebrow{font-size:.8rem}.owner-name{margin:8px 0 25px;font-size:1.7rem}.owner-name small{font:400 .8rem var(--sans);margin-left:12px}.credentials{flex-wrap:wrap;gap:12px;margin-top:24px;display:flex}.credentials span{border-bottom:1px solid #b0b4b3;padding:6px 0;font-size:.8rem}.calendar-message{background:var(--soft);margin-bottom:30px;padding:17px 22px;font-size:.9rem}.calendar-grid{grid-template-columns:1fr 1fr;gap:40px;display:grid}.month-title{font-family:var(--english);margin-bottom:15px;font-size:2rem}.month-title span{font-family:var(--sans);margin-left:10px;font-size:.9rem}.month-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;display:grid}.weekday{text-align:center;padding:6px;font-size:.8rem}.day{border:1px solid var(--line);flex-direction:column;justify-content:center;align-items:center;min-height:70px;padding:7px 2px;line-height:1.4;display:flex}.day b{font-family:var(--english);font-size:1.3rem;font-weight:500}.day small{letter-spacing:-.02em;text-align:center;margin-top:4px;font-size:.7rem}.day.is-planned{background:#f0ede5;border-style:dashed}.day.is-open{background:#e1eae7;border-color:#93aca4}.day.is-special{background:#f5e8cd;border-color:#b49963}.day.is-closed{color:#707b80;background:#f7f7f5}.day.is-today{outline:2px solid var(--ink);outline-offset:-2px}.day.empty{border:0}.legend{flex-wrap:wrap;gap:22px;margin-top:24px;font-size:.8rem;display:flex}.legend>span{align-items:center;gap:6px;display:flex}.dot{width:12px;height:12px;display:inline-block}.dot.planned{background:#f0ede5;border:1px dashed #a19780}.dot.open{background:#e1eae7;border:1px solid #93aca4}.dot.special{background:#f5e8cd;border:1px solid #b49963}.access{background:var(--soft)}.access-inner{grid-template-columns:1fr 1fr;gap:90px;display:grid}.access-lead{font-family:var(--serif);margin-top:20px;font-size:1.2rem}dl{margin:28px 0}dl>div{border-bottom:1px solid var(--line);grid-template-columns:75px 1fr;gap:15px;padding:15px 0;font-size:.9rem;display:grid}dt{color:var(--muted)}dd{margin:0}.text-link{text-underline-offset:6px;font-size:.9rem}.directions{background:var(--paper);align-self:center;padding:45px}.directions h3{font-size:1.2rem}.directions ol{margin:24px 0;padding-left:20px}.directions li{padding:10px 0 10px 8px;font-size:.9rem}.directions p:last-child{color:var(--muted);font-size:.85rem}.contact{background:var(--ink);color:#fff}.contact-inner{grid-template-columns:1fr auto;align-items:center;gap:70px;display:grid}.contact .eyebrow{color:#d6c5ad}.contact h2{margin-bottom:23px}.contact p{color:#e0e5e6;font-size:.9rem}.contact .button{margin-top:30px}.button.light{background:var(--paper);color:var(--ink)}.button.light:hover{background:#e9e4da}.contact .small{margin-top:15px;font-size:.8rem}.qr{letter-spacing:.08em;justify-items:center;gap:18px;font-size:.8rem;display:grid}.qr img{background:#fff;width:190px;padding:10px}.footer{justify-content:space-between;align-items:center;gap:20px;padding-block:30px;font-size:.75rem;display:flex}.footer-brand{font:italic 2.2rem var(--english);text-decoration:none}.footer-brand span{font:400 .65rem var(--sans);letter-spacing:.15em;margin-left:12px}.mobile-cta,.mobile-only{display:none}html{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}@media (width>=1600px){.hero{padding-left:max(6%,50vw - 700px)}.hero-visual{max-height:720px}}@media (width<=1050px){.header nav{gap:16px}.header{gap:18px;padding-inline:4%}.header-cta{gap:14px;padding:10px 14px}.hero-copy{padding-top:24px}.hero-visual,.hero-visual img{min-height:420px}.hero h1{font-size:1.45rem}.wrap{width:calc(100% - 64px)}.concept,.profile-inner,.access-inner{gap:45px}.set-feature{gap:40px;padding:35px}.section-heading{display:block}.section-heading>p{margin-top:15px}.menu-feature{gap:35px}}@media (width<=700px){.wrap{width:calc(100% - 40px)}.header{height:84px;padding:12px 20px}.brand img{width:86px;height:38px}.brand span{font-size:.55rem}.header nav{display:none}.header-cta{gap:12px;padding:9px 12px;font-size:.75rem}.hero{flex-direction:column;padding:0;display:flex}.hero-copy{order:1;padding:36px 24px 30px}.hero .eyebrow{margin-bottom:16px;font-size:.65rem}.hero h1{margin-bottom:18px;font-size:clamp(1.2rem,5vw,1.6rem);line-height:2}.hero-description{margin-bottom:23px;font-size:.9rem;line-height:2}.hero-visual{order:2;min-height:0;margin-left:24px;padding-bottom:28px}.hero-visual img{aspect-ratio:1.5;object-fit:cover;border-top-left-radius:90px;height:auto;min-height:0}.hero-caption{padding-inline:12px;font-size:1.8rem;bottom:0;right:14px}.hero-bottom{order:3;padding:15px 24px;font-size:.7rem}.hero-bottom a{display:none}.hero-note{font-size:.75rem}.notice{grid-template-columns:1fr;gap:8px;margin-top:20px;padding-block:20px}.notice .eyebrow{font-size:.7rem}.notice p{font-size:.85rem}.section{padding-block:65px;scroll-margin-top:20px}.concept,.profile-inner,.access-inner,.contact-inner{grid-template-columns:1fr;gap:28px}.concept-copy{padding-top:0}.concept h2{font-size:1.65rem}.script-sign{margin-top:20px;font-size:2rem}.eyebrow{margin-bottom:14px;font-size:.7rem}h2{font-size:1.65rem}.section-heading{margin-bottom:28px}.gallery{grid-template-columns:1fr 1fr;gap:12px}.gallery figure:nth-child(2){padding-top:32px}.gallery figure:last-child{display:none}.gallery figcaption{font-size:.75rem;line-height:1.7}.gallery figcaption span{margin:0;font-size:1.2rem;display:block}.gallery-note{font-size:.75rem}.menu-feature{grid-template-columns:1fr;gap:10px;padding:28px 0}.menu-feature h3{margin-bottom:13px;font-size:1.5rem}.menu-feature p,.price-list>div{font-size:.85rem}.set-feature{grid-template-columns:1fr;gap:30px;padding:28px 22px}.set-feature h3{font-size:1.5rem}.set-price strong{font-size:2.1rem}.profile-title .script-sign{margin-top:20px;font-size:2.5rem}.calendar-grid{grid-template-columns:1fr;gap:28px}.calendar-message{padding:16px;font-size:.85rem}.day{min-height:64px}.legend{gap:12px;font-size:.75rem}.directions{padding:28px 24px}.contact-inner{gap:36px}.qr{text-align:left;justify-self:start;display:flex}.qr img{width:130px}.contact h2{font-size:1.65rem}.footer{flex-wrap:wrap;padding-bottom:96px}.footer p{margin:0}.mobile-cta{background:var(--ink);color:#fff;z-index:9;text-align:center;padding:17px 15px calc(17px + env(safe-area-inset-bottom));border-top:1px solid #657581;font-size:.9rem;text-decoration:none;display:block;position:fixed;bottom:0;left:0;right:0}.mobile-only{display:block}}.calendar-controls{flex-wrap:wrap;gap:10px;margin-bottom:20px;display:flex}.calendar-controls button{border:1px solid var(--ink);background:var(--paper);min-height:44px;color:var(--ink);cursor:pointer;padding:10px 18px;font-size:.875rem}.calendar-controls button[aria-pressed=true]{background:var(--ink);color:var(--paper)}
