@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500&family=Noto+Serif+JP:wght@400;500;600&display=swap');
:root{--bg:#faf7f2;--paper:#fffdf9;--ink:#30271f;--gold:#a47c3d;--line:#e5daca;--muted:#85786c}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:120px}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.9 'Noto Serif JP',serif;padding-bottom:72px}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button{cursor:pointer}a:focus-visible,button:focus-visible{outline:3px solid var(--gold);outline-offset:4px}.wrap{max-width:1160px;margin:auto;padding:0 28px}.site-header{background:#fffdf9f5;position:sticky;top:0;z-index:30;border-bottom:1px solid var(--line);backdrop-filter:blur(15px)}.header-top{display:flex;align-items:center;justify-content:space-between;min-height:92px}.brand{font:35px 'Cormorant Garamond',Georgia,serif;letter-spacing:4px;display:flex;align-items:center;gap:13px}.brand .crest{border:1px solid var(--gold);border-radius:50%;width:48px;height:48px;display:grid;place-items:center;color:var(--gold);font-size:30px;letter-spacing:0}.brand small{display:block;font:9px 'Noto Serif JP',serif;letter-spacing:4px;color:var(--muted);margin-top:5px}.header-contact{text-align:right;font-size:10px;color:var(--muted)}.header-contact a{display:block;font:25px Georgia,serif;letter-spacing:1px;color:var(--ink)}.site-nav{display:flex;justify-content:center;border-top:1px solid #eee7dd;gap:0}.site-nav a{flex:1;max-width:170px;text-align:center;padding:13px 12px;font-size:11px;letter-spacing:2px;white-space:nowrap}.site-nav a span{display:block;font:12px Georgia,serif;letter-spacing:1px;color:var(--gold)}.site-nav a.active,.site-nav a:hover{background:#f2ece1}.mobile-toggle{display:none;border:1px solid var(--line);background:transparent;padding:7px 12px;font-size:12px}.hero{position:relative;overflow:hidden;background:radial-gradient(ellipse at 77% 35%,#e7d3ac80,transparent 60%),linear-gradient(120deg,#fcfaf5,#f1e7d6);padding:70px 0 62px}.hero:after{content:'P';position:absolute;right:9%;top:-80px;font:420px Georgia,serif;color:#aa874c0b;pointer-events:none}.hero-content{position:relative;z-index:1;text-align:center}.eyebrow{color:var(--gold);font:12px Georgia,serif;letter-spacing:4px}.hero h1{font-size:34px;font-weight:400;letter-spacing:5px;line-height:1.8;margin:20px 0}.hero p{font-size:12px;letter-spacing:2px;color:var(--muted)}.hero-actions{display:flex;justify-content:center;gap:12px;margin-top:27px}.button{display:inline-block;padding:13px 28px;text-align:center;border:1px solid var(--gold);font-size:12px;letter-spacing:1px;background:transparent;color:var(--gold)}.button.dark{background:var(--ink);border-color:var(--ink);color:#e8d1a6}.button.gold{background:var(--gold);color:white}.button:hover{filter:brightness(1.08)}.hero-foot{display:flex;gap:24px;justify-content:center;font-size:11px;color:var(--muted);margin-top:24px}.event-banner{display:block;margin:28px auto 0;max-width:1104px;background:#2c251e;color:#e9d2a3;text-align:center;padding:25px}.event-banner strong{display:block;font-size:23px;font-weight:400;letter-spacing:2px}.event-banner img{width:100%;display:block;max-height:360px;object-fit:contain}.event-banner.has-image{padding:0}.event-banner p{margin:5px 0 0;font-size:12px}.section{padding:58px 0}.section.alt{background:#f2ece3}.section.dark{background:#2c251f;color:#f3e4c9}.section-head{text-align:center;margin-bottom:30px}.section-head .en{font:29px 'Cormorant Garamond',Georgia,serif;letter-spacing:3px;color:var(--gold)}.section-head h2{font-size:15px;letter-spacing:4px;font-weight:400;margin:6px 0}.section-head:after{content:'';display:block;width:40px;height:1px;background:var(--gold);margin:18px auto}.section-more{text-align:center;margin-top:28px}.news-list{border-top:1px solid var(--line);max-width:920px;margin:auto}.news-item{padding:18px 8px;border-bottom:1px solid var(--line);display:grid;grid-template-columns:95px 80px 1fr;gap:18px;font-size:12px;align-items:start}.news-item time{color:var(--muted);font:13px/2 Georgia,serif}.news-tag{font-size:10px;background:#ede5d8;text-align:center;padding:2px 6px;color:#826335}.news-item strong{font-weight:500}.news-item p{white-space:pre-line;margin:6px 0 0;color:var(--muted);font-size:12px}.staff-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:26px 20px}.staff-card{display:block;background:var(--paper);border:1px solid var(--line);transition:transform .2s}.staff-card:hover{transform:translateY(-4px)}.staff-photo{position:relative;aspect-ratio:3/4;overflow:hidden;background:linear-gradient(135deg,#eae1d2,#f7f2e9);display:grid;place-items:center;color:#ae9d83;font:42px Georgia,serif}.staff-photo img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.photo-badges{position:absolute;top:10px;left:10px;display:flex;gap:4px}.badge{font:9px/1.5 sans-serif;letter-spacing:1px;padding:5px 9px;background:#a78346;color:white}.badge.new{background:#6a867a}.staff-info{text-align:center;padding:15px 10px}.staff-name{font-size:18px;letter-spacing:3px}.staff-meta{font-size:11px;color:var(--muted);margin-top:4px}.staff-shift{font-size:12px;color:var(--gold);background:#f4ede1;padding:9px;margin-top:12px}.rank-no{position:absolute;bottom:0;left:0;background:#31271ee0;color:#e9d0a1;padding:4px 17px;font:20px/1.7 Georgia,serif}.empty{padding:36px 22px;background:#fffdf8;border:1px solid var(--line);text-align:center;color:var(--muted);font-size:13px}.reservation-strip{padding:30px;background:#e9ddc7;display:flex;align-items:center;justify-content:space-between;gap:22px}.reservation-strip h3{font-size:19px;font-weight:400;margin:0}.reservation-strip p{font-size:12px;color:var(--muted);margin:7px 0 0}.courses{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;background:#b8955740;border:1px solid #b8955740}.course{padding:33px 15px;text-align:center;background:#2c251f;position:relative}.course.pop:before{content:'おすすめ';position:absolute;top:0;left:0;right:0;background:var(--gold);font-size:9px;letter-spacing:2px;padding:2px}.course-min{font:40px Georgia,serif;color:#ecdbc0}.course-min small{font-size:14px}.course-price{font:24px Georgia,serif;color:#cda769;margin-top:10px}.price-notes{font-size:12px;line-height:2.2;text-align:center;color:#c4b59f;margin:24px 0}.options{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #b8955740;margin-top:20px}.option{display:flex;justify-content:space-between;padding:20px;border-bottom:1px solid #b8955740;gap:15px;font-size:12px}.terms{white-space:pre-line;font-size:13px;line-height:2.2;max-width:880px;margin:auto}.terms h3{font-size:16px;color:var(--gold);margin-top:28px}.shop-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px}.shop-dl{margin:0}.shop-dl>div{display:grid;grid-template-columns:110px 1fr;border-bottom:1px solid var(--line);padding:16px 0;font-size:12px}.shop-dl dt{color:var(--muted)}.shop-dl dd{margin:0;white-space:pre-line}.access-note{font-size:12px;line-height:2.1;color:var(--muted);white-space:pre-line}.access-map{width:100%;height:260px;border:0;background:#e8e3da}.page-head{text-align:center;padding:44px 20px 10px}.page-head p{font:28px Georgia,serif;color:var(--gold);letter-spacing:3px;margin:0}.page-head h1{font-size:18px;font-weight:400;letter-spacing:4px}.filters{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-bottom:28px}.filters button{padding:9px 18px;border:1px solid var(--line);background:var(--paper);color:var(--muted);font-size:12px}.filters button.active{background:var(--ink);color:#ebd1a3;border-color:var(--ink)}.date-tabs{display:flex;gap:7px;overflow:auto;padding-bottom:10px;margin-bottom:25px}.date-tabs button{flex:1;min-width:90px;padding:12px;border:1px solid var(--line);background:var(--paper);font-size:12px;color:var(--ink)}.date-tabs button.active{background:var(--ink);color:#e7c993}.profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:55px}.profile-main-photo{width:100%;aspect-ratio:3/4;object-fit:cover;background:#e8dfd1}.thumbnails{display:flex;gap:8px;margin-top:12px}.thumbnails button{width:65px;height:82px;padding:0;border:1px solid var(--line);background:transparent}.thumbnails img{width:100%;height:100%;object-fit:cover}.profile-info h1{font-size:30px;font-weight:400;letter-spacing:5px;margin:15px 0}.profile-comment{font-size:13px;line-height:2.2;white-space:pre-line;margin:30px 0;color:var(--muted)}.week-list{display:grid;grid-template-columns:repeat(7,1fr);border:1px solid var(--line);margin-top:25px}.week-day{padding:13px 3px;text-align:center;font-size:11px;border-right:1px solid var(--line)}.week-day:last-child{border:0}.week-day strong{display:block;color:var(--gold);margin-top:8px;font-size:10px;font-weight:400}.flow-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.flow-card{padding:25px;border:1px solid var(--line);background:var(--paper)}.flow-card span{font:28px Georgia,serif;color:var(--gold)}.flow-card h3{font-size:16px;font-weight:500}.flow-card p{font-size:12px;color:var(--muted)}.site-footer{text-align:center;background:#ede5d8;padding:45px 20px 35px}.site-footer .brand{justify-content:center}.footer-links{display:flex;justify-content:center;gap:18px;flex-wrap:wrap;margin:25px 0;font-size:11px}.site-footer small{color:var(--muted);font-size:10px}.bottom-bar{position:fixed;bottom:0;left:0;right:0;z-index:40;display:flex;background:#2c251f;box-shadow:0 -5px 25px #30271f12;padding-bottom:env(safe-area-inset-bottom)}.bottom-bar a,.bottom-bar button{flex:1;border:0;border-right:1px solid #ffffff24;display:flex;align-items:center;justify-content:center;gap:10px;padding:16px 8px;color:#ead8b8;font-size:12px;background:transparent;min-height:64px}.bottom-bar .reserve{background:var(--gold);color:#fff}.bottom-bar small{font-size:9px;display:block}.preview-bar,.site-warning{padding:9px 16px;background:#664d25;color:white;text-align:center;font:12px/1.5 sans-serif}.site-warning{background:#f0e5cf;color:#695334}.site-loading{min-height:60vh;display:grid;place-items:center;color:var(--muted)}.link-grid{display:flex;gap:18px;justify-content:center;flex-wrap:wrap}.link-grid a{font-size:12px;padding:15px;border:1px solid var(--line)}.link-grid img{max-width:160px;max-height:50px;display:block;margin:auto auto 8px}dialog{max-width:520px;width:calc(100% - 32px);border:1px solid var(--line);padding:30px;background:var(--bg);color:var(--ink)}dialog::backdrop{background:#251d14a0}dialog p{font-size:13px}dialog button{margin-top:15px}.alert-close{float:right;border:0;background:none;font-size:23px}.no-script{padding:50px;text-align:center}.muted{color:var(--muted);font-size:12px}.skip-link{position:absolute;left:10px;top:-80px;z-index:100;background:white;padding:10px}.skip-link:focus{top:10px}
@media(max-width:800px){.header-top{min-height:76px}.header-contact{display:none}.brand{font-size:26px;letter-spacing:3px}.brand .crest{width:37px;height:37px;font-size:25px}.brand small{font-size:8px;letter-spacing:2px}.mobile-toggle{display:block}.site-nav{display:none;grid-template-columns:repeat(3,1fr)}.site-nav.open{display:grid}.site-nav a{max-width:none;padding:12px 4px;letter-spacing:1px;font-size:10px}.wrap{padding:0 18px}.hero{padding:45px 0}.hero h1{font-size:25px;letter-spacing:2px}.hero p{font-size:11px;letter-spacing:1px}.hero-foot{gap:12px;font-size:10px}.hero-actions .button{padding:12px 17px}.hero:after{right:0;font-size:320px}.section{padding:40px 0}.staff-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:19px 12px}.staff-info{padding:12px 6px}.staff-name{font-size:17px}.staff-shift{font-size:10px;padding:7px 3px}.news-item{grid-template-columns:85px 1fr;gap:8px 12px}.news-item>div:last-child{grid-column:1/-1}.news-tag{justify-self:start}.shop-grid,.profile-grid{grid-template-columns:1fr;gap:30px}.courses{grid-template-columns:1fr 1fr}.reservation-strip{flex-direction:column;text-align:center;padding:25px 18px}.flow-grid{grid-template-columns:1fr;gap:12px}.flow-card{padding:20px}.options{grid-template-columns:1fr}.bottom-bar a,.bottom-bar button{font-size:10px;flex-direction:column;gap:0;padding:10px 4px;min-height:62px}.section-head .en{font-size:25px}.event-banner{margin:18px 18px 0;padding:20px 12px}.event-banner strong{font-size:20px}.profile-info h1{margin-top:0}.section-head{margin-bottom:23px}.week-day{font-size:10px}.week-day strong{font-size:9px}.button{padding:12px 22px}.page-head{padding:32px 18px 0}}
.hero h1{text-wrap:balance}.row-info{overflow-wrap:anywhere}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.diary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.diary-latest{grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}.diary-card{min-width:0;border:1px solid var(--line);background:var(--paper)}.diary-cover{display:grid;place-items:center;aspect-ratio:4/5;background:linear-gradient(135deg,#eee3d0,#faf7f2);overflow:hidden}.diary-cover img{width:100%;height:100%;object-fit:cover}.diary-cover span{font:28px Georgia,serif;color:var(--gold);text-align:center}.diary-cover small{display:block;font:9px/3 Georgia,serif;letter-spacing:2px}.diary-card-content{padding:16px;overflow-wrap:anywhere}.diary-card time,.diary-byline time{font:11px/2 sans-serif;color:var(--muted)}.diary-card h3{font-size:15px;font-weight:500;line-height:1.7;margin:8px 0}.diary-card p{font-size:11px;color:var(--muted);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;white-space:pre-line}.diary-author{font-size:12px;color:var(--gold)}.diary-toolbar{display:flex;align-items:center;gap:15px;margin-bottom:24px}.diary-toolbar select{padding:9px 16px;border:1px solid var(--line);background:var(--paper);max-width:65%}.diary-pagination{display:flex;justify-content:center;align-items:center;gap:20px;margin-top:30px;font-size:12px}.diary-article{max-width:740px;margin:auto;background:var(--paper);border:1px solid var(--line);padding:32px;overflow-wrap:anywhere}.diary-article h2{font-weight:500;font-size:23px;line-height:1.7}.diary-byline{display:flex;justify-content:space-between;gap:12px;font-size:13px;color:var(--gold)}.diary-photos{display:grid;gap:16px}.diary-photos img{display:block;max-width:100%;max-height:800px;object-fit:contain;margin:auto}.diary-body{white-space:pre-wrap;line-height:2.1;margin:28px 0}.diary-source{font-size:12px;color:var(--gold);text-decoration:underline}#diaryEntries{scroll-margin-top:170px}@media(max-width:1000px){.diary-latest{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:800px){.diary-grid,.diary-latest{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 12px}.diary-card-content{padding:12px}.diary-card h3{font-size:14px}.diary-article{padding:20px 16px}.diary-article h2{font-size:20px}.diary-byline{flex-wrap:wrap}.diary-pagination{gap:12px}.diary-pagination .button{padding:10px 16px}}
.home-heading{padding-top:18px;padding-bottom:18px;display:flex;justify-content:space-between;align-items:center;gap:12px}.home-heading h1{font-size:15px;letter-spacing:2px;font-weight:500;margin:0}.home-heading p{font-size:10px;color:var(--muted);margin:0}.banner-slider{position:relative;touch-action:pan-y;background:#f2e9dc}.banner-slide[hidden]{display:none}.banner-slide{position:relative;min-height:350px;overflow:hidden}.banner-theme-0{background:radial-gradient(ellipse at 80% 30%,#cfab6945,transparent 55%),linear-gradient(115deg,#fcfaf5,#eee1cc)}.banner-theme-1{background:radial-gradient(ellipse at 15% 50%,#b8926c30,transparent 55%),linear-gradient(115deg,#eee5db,#faf6ed)}.banner-theme-2{background:radial-gradient(ellipse at 80% 30%,#a4794930,transparent 60%),linear-gradient(120deg,#eee1d8,#faf7f2)}.banner-copy{text-align:center;padding-top:55px;padding-bottom:55px;position:relative;z-index:1}.banner-copy h2{font-weight:400;font-size:34px;line-height:1.8;letter-spacing:4px;margin:18px 0;text-wrap:balance;overflow-wrap:anywhere}.banner-copy>p:not(.eyebrow){color:var(--muted);font-size:12px;white-space:pre-line;overflow-wrap:anywhere}.banner-copy .button{margin-top:16px}.banner-image-slide{min-height:0}.banner-image-link{display:block;max-width:1440px;margin:auto}.banner-image-link img{display:block;width:100%;height:auto;aspect-ratio:18/7;object-fit:contain}.banner-controls{display:flex;justify-content:center;align-items:center;gap:16px;padding:12px 18px;background:#fffbf5;border-bottom:1px solid var(--line)}.banner-controls button{border:1px solid var(--line);background:transparent;color:var(--ink);min-width:36px;min-height:36px}.banner-dots{display:flex;gap:6px}.banner-dots button{min-width:30px;min-height:36px;border:0;position:relative}.banner-dots button:after{content:'';position:absolute;width:7px;height:7px;border-radius:50%;background:#d9cebd;left:50%;top:50%;transform:translate(-50%,-50%)}.banner-dots button[aria-current=true]:after{background:var(--gold);width:10px;height:10px}#bannerPause{font-size:11px;padding:4px 10px}.terms p{overflow-wrap:anywhere}.seo-fallback{max-width:900px;margin:auto;padding:35px 24px}.seo-fallback nav{display:flex;gap:16px;flex-wrap:wrap}.seo-fallback a{text-decoration:underline}@media(max-width:800px){.home-heading{display:block;text-align:center;padding-top:14px;padding-bottom:14px}.home-heading h1{font-size:14px;letter-spacing:1px}.home-heading p{font-size:9px;margin-top:4px}.banner-slide{min-height:330px}.banner-copy{padding-top:38px;padding-bottom:38px}.banner-copy h2{font-size:24px;letter-spacing:2px}.banner-image-slide{min-height:0}.banner-controls{gap:6px}.banner-copy>p:not(.eyebrow){font-size:11px}.banner-dots{gap:0}}
