@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600;700;800&family=Noto+Serif+JP:wght@500;600;700;800&display=swap');
:root{--ink:#171513;--cream:#f3efe5;--paper:#e8e0d1;--red:#9c2925;--gold:#bd9a5a}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:'Noto Sans JP',sans-serif}img{display:block;width:100%}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible{outline:3px solid var(--gold);outline-offset:4px}.wrap{width:min(1160px,calc(100% - 48px));margin:auto}.section-pad{padding:110px 0}.site-header{height:76px;display:flex;align-items:center;gap:36px;padding:0 max(24px,calc((100vw - 1280px)/2));background:#171513;color:#fff;position:relative;z-index:10}.brand{display:inline-flex;flex-direction:column;align-items:center;line-height:1.1;white-space:nowrap}.brand span{font-size:11px;letter-spacing:.3em}.brand strong{font-family:'Noto Serif JP',serif;font-size:24px;letter-spacing:.09em}.site-header nav{display:flex;gap:30px;margin-left:auto;font-size:13px;letter-spacing:.1em}.site-header nav a:hover,.text-link:hover{color:var(--gold)}.header-cta{background:var(--red);padding:15px 24px;font-size:13px;font-weight:700}.header-cta span{padding-left:14px}.hero{min-height:740px;height:min(850px,calc(100svh - 76px));position:relative;display:flex;align-items:center;color:#fff;overflow:hidden;background:#201a16}.hero-photo,.hero-overlay{position:absolute;inset:0}.hero-photo{background:url('assets/banquet.webp') center 47%/cover no-repeat;transform:scale(1.02)}.hero-overlay{background:linear-gradient(90deg,rgba(11,10,9,.86) 0%,rgba(13,11,10,.64) 42%,rgba(10,9,8,.15) 100%),linear-gradient(0deg,rgba(8,7,6,.48),transparent 45%)}.hero-content{position:relative;z-index:1;padding:50px 0 80px}.eyebrow,.section-index{font-family:Georgia,serif;letter-spacing:.22em;font-size:13px}.eyebrow{color:#e6cda2;margin:0 0 27px}.hero h1{font-family:'Noto Serif JP',serif;font-size:clamp(48px,6.7vw,98px);letter-spacing:.06em;line-height:1.35;margin:0 0 24px;text-shadow:0 3px 20px #0006;font-weight:800}.hero h1 em{font-style:normal;color:#fff0cf}.hero-lead{font-size:18px;line-height:2;letter-spacing:.08em;margin:0 0 39px}.hero-actions{display:flex;align-items:center;gap:30px}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:36px;min-height:60px;padding:16px 25px;font-weight:700;letter-spacing:.08em}.button-red{background:var(--red);color:white}.button-red:hover,.header-cta:hover{background:#bd3930}.text-link{font-size:14px;border-bottom:1px solid #fff8;padding-bottom:8px}.hero-side{position:absolute;right:27px;top:50%;writing-mode:vertical-rl;font-family:'Noto Serif JP',serif;letter-spacing:.3em;font-size:13px;color:#fffd}.hero-bottom{position:absolute;bottom:30px;left:50%;transform:translateX(-50%);font:11px Georgia,serif;letter-spacing:.18em;white-space:nowrap}.hero-bottom span{display:block;text-align:center;font:24px sans-serif;margin-top:4px}.intro{background:#eee8dc}.intro-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:110px}.section-index{color:var(--red);font-weight:700;margin:0 0 22px}.big-heading,.section-top h2,.party h2,.last-call h2{font-family:'Noto Serif JP',serif;line-height:1.55;letter-spacing:.055em;font-size:clamp(32px,3.7vw,53px);margin:0}.intro-copy{padding-top:28px;font-size:17px;line-height:2.15}.intro-copy p{margin:0 0 20px}.intro-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:30px}.intro-tags span{font-size:13px;border:1px solid #ab9c82;padding:8px 13px}.food{background:#171513;color:white}.section-top{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:42px}.section-top p:last-child{margin:0 0 8px;color:#81786b;font-size:14px}.food .section-top p:last-child{color:#bcb4a8}.food-grid{display:grid;grid-template-columns:1.24fr 1fr 1fr;gap:16px}.food-card{min-width:0;background:#26221d}.food-card img{height:360px;object-fit:cover}.food-card.food-main img{object-position:center 50%}.food-card:nth-child(2) img{object-position:center 48%}.food-caption{padding:22px 23px 28px}.food-caption span{font-size:12px;color:#cba963;letter-spacing:.15em}.food-caption h3{font-family:'Noto Serif JP',serif;font-size:28px;margin:7px 0}.food-caption p{font-size:14px;line-height:1.7;color:#cec7bc;margin:0}.party{background:#d9c7aa}.party-grid{display:grid;grid-template-columns:1fr .94fr;gap:8%;align-items:center}.party-photo{position:relative}.party-photo img{height:570px;object-fit:cover;object-position:50% 35%;box-shadow:18px 18px 0 #bda783}.photo-stamp{position:absolute;right:-35px;bottom:-35px;width:130px;height:130px;border-radius:50%;background:var(--red);color:white;display:grid;place-content:center;text-align:center;transform:rotate(10deg);font-family:'Noto Serif JP',serif;font-size:18px;line-height:1.5}.party-content>p:not(.section-index){font-size:16px;line-height:2;margin:28px 0}.seat-facts{display:flex;border-top:1px solid #9c896b;border-bottom:1px solid #9c896b;padding:23px 0;justify-content:space-around;gap:8px}.seat-facts div{display:flex;flex-direction:column;align-items:center;gap:8px}.seat-facts strong{font-family:Georgia,serif;font-size:43px;line-height:1}.seat-facts strong span{font-family:'Noto Sans JP',sans-serif;font-size:14px}.seat-facts div>span{font-size:13px}.party-content .party-small{font-size:13px!important;margin-top:18px!important}.courses{background:#f4f0e8}.course-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.course{border:1px solid #aa9d88;padding:36px 26px 28px;min-height:210px;position:relative}.course>span{font-size:13px;color:#64594b}.course h3{font-family:Georgia,serif;font-size:40px;margin:27px 0 9px}.course h3 span{font-family:'Noto Sans JP',sans-serif;font-size:17px;margin-left:3px}.course p{font-size:14px;margin:0}.course.featured{background:#8d2926;color:#fff;border-color:#8d2926}.course.featured>span{color:#f1d7c3}.course-label{position:absolute;right:0;top:0;background:#c4a76a;color:#1c1710!important;padding:5px 12px;font-weight:700}.course-note{font-size:13px;color:#6c6255;margin:24px 0 0}.access{background:#e8e0d1}.access-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.access figure{margin:0;position:relative;background:#24201d}.access figure img{height:500px;object-fit:cover}.access-main img{object-position:50% 54%}.access-inside img{object-position:50% 38%}.access figcaption{position:absolute;bottom:0;left:0;right:0;padding:35px 22px 18px;color:white;font-size:14px;background:linear-gradient(transparent,#0009)}.access-line{border-top:1px solid #ac9e88;border-bottom:1px solid #ac9e88;margin-top:35px;padding:23px 0;display:flex;justify-content:space-between;gap:24px;align-items:center}.access-line div{display:flex;flex-direction:column;gap:8px}.access-line strong{font-size:19px}.access-line span{font-size:14px}.access-line a{white-space:nowrap;border-bottom:1px solid;font-weight:700;padding-bottom:5px}.last-call{background:#211b18;color:#fff;text-align:center;padding:100px 0 110px}.last-call p{font:12px Georgia,serif;color:#d2a970;letter-spacing:.2em;margin:0 0 25px}.last-call h2{margin-bottom:25px}.last-call span{font-size:14px;color:#d7ccbf}footer{background:#11100e;color:#eee;padding:35px 0}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:24px}footer p{font-size:13px}footer small{font-size:12px;color:#999}
@media(max-width:800px){.site-header{height:66px;padding:0 20px}.site-header nav{display:none}.header-cta{margin-left:auto;padding:12px 15px}.brand strong{font-size:21px}.hero{height:690px;min-height:0}.hero-photo{background-position:50% 45%}.hero-overlay{background:linear-gradient(90deg,#100c0bbd,#100c0b50),linear-gradient(0deg,#0a090890,transparent 60%)}.hero-side{display:none}.hero-content{padding-bottom:45px}.hero h1{font-size:clamp(42px,9vw,67px)}.hero-lead{font-size:15px}.intro-grid,.party-grid{grid-template-columns:1fr;gap:35px}.intro-copy{padding-top:0}.food-grid{grid-template-columns:1fr 1fr}.food-main{grid-column:1/-1}.food-main img{height:390px}.food-card:not(.food-main) img{height:290px}.party-photo img{height:470px}.party-content{padding-top:35px}.course-grid{grid-template-columns:1fr 1fr}.course.featured{order:-1;grid-column:1/-1}.access figure img{height:400px}}
@media(max-width:560px){.wrap{width:calc(100% - 36px)}.section-pad{padding:73px 0}.hero{height:calc(100svh - 66px);min-height:620px;max-height:780px}.hero-photo{background-position:51% center}.hero-content{padding:40px 0 70px}.eyebrow{font-size:11px}.hero h1{font-size:clamp(41px,10.8vw,56px);line-height:1.38}.hero-lead{font-size:14px;line-height:1.9}.hero-actions{align-items:flex-start;flex-direction:column;gap:23px}.button{min-height:56px}.hero-bottom{bottom:14px;font-size:10px}.big-heading,.section-top h2,.party h2,.last-call h2{font-size:31px}.intro-copy{font-size:16px;line-height:2}.section-top{display:block;margin-bottom:28px}.section-top p:last-child{margin-top:15px}.food-grid{grid-template-columns:1fr;gap:12px}.food-main{grid-column:auto}.food-card img,.food-main img,.food-card:not(.food-main) img{height:290px}.food-caption{padding:18px 20px 23px}.food-caption h3{font-size:25px}.party-photo img{height:400px;box-shadow:10px 10px 0 #bda783}.photo-stamp{right:-5px;bottom:-30px;width:104px;height:104px;font-size:15px}.party-content{padding-top:30px}.seat-facts strong{font-size:34px}.seat-facts div>span{font-size:12px}.course-grid{grid-template-columns:1fr}.course.featured{grid-column:auto}.course{min-height:0;padding:24px}.course h3{margin:17px 0 7px;font-size:36px}.access-grid{grid-template-columns:1fr;gap:12px}.access figure img{height:350px}.access-line{align-items:flex-start;flex-direction:column}.last-call{padding:75px 0 80px}.last-call p{font-size:10px}.footer-inner{align-items:flex-start;flex-direction:column;gap:5px}footer p{margin:9px 0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.logo-mark{width:105px;height:auto;margin:32px 0 0 auto;mix-blend-mode:multiply}
.more-food{background:#f0e9dc}.table-photo{position:relative;margin:0 0 14px;background:#2b211b}.table-photo img{height:480px;object-fit:cover;object-position:center 48%}.table-photo figcaption{position:absolute;bottom:0;left:0;right:0;color:white;padding:45px 28px 22px;background:linear-gradient(transparent,#000a);font-family:'Noto Serif JP',serif;font-size:23px;letter-spacing:.08em}.dish-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.dish-gallery img{height:195px;object-fit:cover;background:#dfd4c1}.dish-gallery img:last-child{object-position:center 55%}.drinks{background:#2a211c;color:#fff}.drinks-layout{display:grid;grid-template-columns:.78fr 1.22fr;gap:8%;align-items:center}.drinks-copy h2{font-family:'Noto Serif JP',serif;line-height:1.55;letter-spacing:.055em;font-size:clamp(32px,3.7vw,53px);margin:0}.drinks-copy>p:last-child{font-size:16px;line-height:2.1;margin-top:28px;color:#ddd0c0}.drinks-photos{display:grid;grid-template-columns:1fr 1fr;gap:14px}.drinks-photos img{width:100%;aspect-ratio:1;object-fit:cover}
@media(max-width:800px){.table-photo img{height:400px}.dish-gallery{grid-template-columns:repeat(4,1fr)}.dish-gallery img{height:145px}.drinks-layout{grid-template-columns:1fr;gap:34px}.drinks-photos{max-width:650px}}
@media(max-width:560px){.table-photo img{height:290px}.table-photo figcaption{font-size:18px;padding:35px 16px 16px}.dish-gallery{grid-template-columns:repeat(3,1fr);gap:7px}.dish-gallery img{height:105px}.drinks-copy h2{font-size:31px}.drinks-photos{gap:8px}}
.karaoke{background:#19151e;color:#fff}.karaoke-grid{display:grid;grid-template-columns:1fr .94fr;gap:7%;align-items:center}.karaoke .section-index{color:#d6ad67}.karaoke-badge{display:inline-block;border:1px solid #a97d51;color:#f2d3a6;font-size:14px;letter-spacing:.08em;padding:8px 13px;margin-bottom:24px}.karaoke h2{font-family:'Noto Serif JP',serif;line-height:1.5;letter-spacing:.055em;font-size:clamp(32px,3.7vw,52px);margin:0}.karaoke-copy>p:not(.section-index):not(.karaoke-fee){line-height:2;font-size:16px;color:#dfd8d8;margin:24px 0}.karaoke-prices{display:grid;gap:10px;margin:30px 0 13px}.karaoke-prices div{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #766970;background:#2d242e;padding:15px 20px}.karaoke-prices span{font-size:14px;line-height:1.6}.karaoke-prices strong{font:700 34px Georgia,serif;color:#f4d394;white-space:nowrap}.karaoke-prices small{font:500 13px 'Noto Sans JP',sans-serif;color:#fff;margin-left:4px}.karaoke-fee{font-size:13px;color:#e6d3c6;line-height:1.7;margin:0}.karaoke-photo{margin:0;position:relative}.karaoke-photo img{height:620px;object-fit:cover;object-position:center 42%}.karaoke-photo figcaption{position:absolute;left:0;right:0;bottom:0;background:linear-gradient(transparent,#000c);padding:55px 20px 20px;font-family:'Noto Serif JP',serif;font-size:18px;text-align:center}
@media(max-width:800px){.karaoke-grid{grid-template-columns:1fr;gap:42px}.karaoke-photo img{height:510px;object-position:center 48%}}
@media(max-width:560px){.karaoke h2{font-size:31px}.karaoke-prices div{padding:13px 12px}.karaoke-prices strong{font-size:29px}.karaoke-prices span{font-size:13px}.karaoke-photo img{height:390px}.karaoke-photo figcaption{font-size:15px}}
.occasions{background:#e4d7c3}.occasions-grid{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:start}.occasions h2{font-family:'Noto Serif JP',serif;font-size:clamp(32px,3.7vw,52px);line-height:1.55;letter-spacing:.055em;margin:0}.occasions-grid p:last-child{font-size:16px;line-height:2;margin:25px 0 0}.occasion-list{list-style:none;margin:18px 0 0;padding:0;border-top:1px solid #9d8c73}.occasion-list li{font-family:'Noto Serif JP',serif;font-weight:700;font-size:23px;padding:16px 0;border-bottom:1px solid #9d8c73}.occasion-list li:before{content:'・';color:var(--red);margin-right:8px}.celebration{background:#822923;color:#fff;display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center;padding:35px 44px;margin-top:65px}.celebration span{font:12px Georgia,serif;letter-spacing:.16em;color:#ebcaa3}.celebration h3{font-family:'Noto Serif JP',serif;font-size:27px;line-height:1.55;margin:14px 0 0}.celebration p{font-size:16px;line-height:2}.store-details{display:grid;grid-template-columns:1.4fr 1.4fr 1fr;gap:22px;border-top:1px solid #ac9e88;margin-top:35px;padding:30px 0 0}.store-details>div{display:flex;flex-direction:column;gap:10px}.store-details span{font-size:13px;color:#7d3129;font-weight:700}.store-details strong,.store-details a{font-size:16px;line-height:1.8;font-weight:600}.store-details a{text-decoration:underline;text-underline-offset:4px}.store-details small{font-size:14px}.last-actions{display:flex;justify-content:center;align-items:center;gap:15px;margin-top:34px}.phone-button{min-height:60px;padding:17px 24px;border:1px solid #b7a495;display:inline-flex;align-items:center;font-weight:700}.phone-button:hover{background:#ffffff1a}.mobile-reserve{display:none}
@media(max-width:800px){.occasions-grid{grid-template-columns:1fr;gap:20px}.celebration{gap:5%;padding:28px}.store-details{grid-template-columns:1fr 1fr}.store-details>div:first-child{grid-column:1/-1}}
@media(max-width:560px){.occasions h2{font-size:31px}.occasion-list li{font-size:19px}.celebration{grid-template-columns:1fr;gap:8px;margin-top:45px;padding:28px 22px}.celebration h3{font-size:23px}.celebration p{margin-bottom:0}.store-details{grid-template-columns:1fr;gap:18px}.store-details>div:first-child{grid-column:auto}.access-line{margin-top:28px}.last-actions{flex-direction:column}.last-actions .button,.phone-button{width:100%;justify-content:center}.mobile-reserve{display:grid;grid-template-columns:1fr 1.4fr;position:fixed;bottom:0;left:0;right:0;z-index:20;background:#181411;padding:9px max(12px,env(safe-area-inset-left)) calc(9px + env(safe-area-inset-bottom));gap:8px;box-shadow:0 -5px 18px #0005}.mobile-reserve a{display:grid;place-items:center;min-height:45px;color:#fff;font-size:14px;font-weight:700;border:1px solid #8c786b}.mobile-reserve a:last-child{background:var(--red);border-color:var(--red)}footer{padding-bottom:calc(95px + env(safe-area-inset-bottom))}}

/* Signature dishes: keep supplied photos and tasting notes together. */
.food-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.food-card{display:flex;flex-direction:column}
.food-card.featured-dish img{height:380px}
.food-card.featured-dish .food-caption{padding:26px 27px 30px}
.food-card.featured-dish .food-caption p{font-size:16px;line-height:1.85}
@media(max-width:800px){.food-main{grid-column:auto}.food-card.featured-dish img{height:320px}}
@media(max-width:560px){.food-grid{grid-template-columns:1fr;gap:14px}.food-card.featured-dish img{height:280px}.food-card.featured-dish .food-caption{padding:20px 21px 24px}.food-card.featured-dish .food-caption p{font-size:15px}}
.food-video-area{border-top:1px solid #564b3e;margin-top:58px;padding-top:45px}.food-video-heading{text-align:center;margin-bottom:26px}.food-video-heading .section-index{color:#cba963;margin-bottom:9px}.food-video-heading h3{font:700 clamp(28px,3vw,38px) 'Noto Serif JP',serif;line-height:1.4;margin:0}.food-video-heading>p:last-child{font-size:15px;line-height:1.8;color:#d1c9bb;margin:12px 0 0}.food-videos{display:grid;grid-template-columns:repeat(2,minmax(0,360px));gap:24px;justify-content:center}.food-video-card{margin:0;background:#29241f}.food-video-card video{display:block;width:100%;height:460px;object-fit:contain;background:#100e0d}.food-video-card figcaption{padding:17px 20px;font:700 19px 'Noto Serif JP',serif}.food-video-card video:focus-visible{outline:3px solid #d3a563;outline-offset:3px}@media(max-width:620px){.food-video-area{margin-top:45px;padding-top:36px}.food-videos{grid-template-columns:minmax(0,360px);gap:20px}.food-video-card video{height:420px}}

/* Top photo rotation */
.hero-photo{background:none;overflow:hidden}
.hero-slide{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;animation:hero-cycle 25s infinite}
.hero-slide-1{background-image:url('/assets/banquet.webp');background-position:center 47%;animation-delay:0s}
.hero-slide-2{background-image:url('/assets/katsuo-waraki.jpeg');animation-delay:-20s}
.hero-slide-3{background-image:url('/assets/hakata-motsunabe.jpeg');animation-delay:-15s}
.hero-slide-4{background-image:url('/assets/table.webp');animation-delay:-10s}
.hero-slide-5{background-image:url('/assets/entrance.webp');animation-delay:-5s}
@keyframes hero-cycle{0%,16%{opacity:1}20%,96%{opacity:0}100%{opacity:1}}
@media(prefers-reduced-motion:reduce){.hero-slide{animation:none;opacity:0}.hero-slide-1{opacity:1}}
.footer-instagram{display:inline-flex;align-items:center;min-height:44px;padding:9px 14px;border:1px solid #aaa;color:#fff;font-size:13px;font-weight:700;white-space:nowrap}
.footer-instagram:hover{border-color:var(--gold);color:var(--gold)}

/* Instagram updates */
.instagram-news{background:#ece4d5}
.instagram-news .section-top{align-items:end}
.instagram-news-link{font-weight:700;font-size:15px;border-bottom:1px solid currentColor;padding-bottom:8px;white-space:nowrap}
.instagram-news-link:hover{color:var(--red)}
.instagram-feed{min-height:280px;max-width:100%;overflow:hidden;background:#fff;padding:18px}
@media(max-width:800px){.instagram-news .section-top{align-items:start;flex-direction:column;gap:15px}.instagram-news .section-top h2{font-size:clamp(28px,7vw,42px)}.instagram-feed{min-height:250px;padding:12px}}

.access-intro{font-size:16px;line-height:1.9;margin:-14px 0 35px;max-width:740px}.access-intro small{display:block;font-size:13px;color:#665e53;margin-top:7px}
@media(max-width:800px){.access-intro{margin:0 0 26px}}

/* Party plans and year-end early booking */
.course-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.girls-course{background:#eee3d6}
.girls-course h3{font-size:24px;line-height:1.4;margin:22px 0 9px}
.girls-course h3 strong{display:block;font:700 40px Georgia,serif;margin-top:5px}
.girls-course h3 span{font-size:14px;white-space:nowrap}
.girls-course p{font-size:16px;font-weight:700;color:#862e29}
.early-booking{margin-top:48px;padding:36px 42px;background:#27201c;color:#fff;border-top:5px solid #a4382f}
.early-booking-head p{color:#f2d7a4;font-size:15px;font-weight:700;letter-spacing:.08em;margin:0 0 12px}
.early-booking-head h3{font:700 clamp(28px,3vw,39px) 'Noto Serif JP',serif;line-height:1.4;margin:0 0 12px}
.early-booking-head>span{font-size:15px;color:#e5d9cc}
.early-booking-offers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:28px}
.early-booking-offers>div{border:1px solid #8c7764;padding:25px;background:#ffffff0d}
.early-booking-offers span{display:block;color:#f6d49a;font-size:16px;font-weight:700;margin-bottom:10px}
.early-booking-offers strong{display:block;font:700 clamp(21px,2vw,26px) 'Noto Serif JP',serif;line-height:1.45}
.early-booking-offers p{font-size:14px;line-height:1.8;color:#e5d9cc;margin:12px 0 0}
.early-booking>a{display:inline-block;border-bottom:1px solid #f0d6a7;color:#f0d6a7;font-weight:700;margin-top:26px;padding-bottom:6px}
@media(max-width:800px){.course.featured{grid-column:auto}.early-booking{padding:30px}}
@media(max-width:560px){.course-grid,.early-booking-offers{grid-template-columns:1fr}.girls-course h3 strong{font-size:37px}.early-booking{margin-top:35px;padding:26px 20px}.early-booking-head h3{font-size:28px}.early-booking-head>span{font-size:14px;line-height:1.7}.early-booking-offers{gap:12px;margin-top:23px}.early-booking-offers>div{padding:20px}.early-booking-offers strong{font-size:22px}}

/* Clear prices and a special occasion course */
.course p{line-height:1.75}
.girls-course h3{margin:20px 0 3px}
.girls-price,.fugu-price{display:flex;align-items:baseline;flex-wrap:wrap;column-gap:7px;font:700 42px Georgia,serif;line-height:1.2;margin:7px 0 16px}
.girls-price span,.fugu-price span{font:600 17px 'Noto Sans JP',sans-serif;white-space:nowrap}
.girls-course p{line-height:1.85}
.fugu-course{grid-column:1/-1;display:grid;grid-template-columns:1.15fr .85fr;align-items:center;gap:40px;background:#302722;color:#fff;border-color:#756252}
.fugu-course>div:first-child>span{font-size:14px;color:#e3c69e}
.fugu-course h3{font-size:31px;margin:15px 0}
.fugu-course .fugu-catch{font-size:16px;line-height:1.85;color:#f0e8dd;margin-bottom:20px}
.fugu-price{color:#f5d49e;margin:0 0 8px}
.fugu-drink{font-size:15px!important;font-weight:700;color:#f5d49e}
.fugu-menu{border-left:1px solid #8d7864;padding-left:32px}
.fugu-menu strong{font-size:16px;color:#f5d49e}
.fugu-menu ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 16px;list-style:none;padding:0;margin:18px 0 0}
.fugu-menu li{font-size:15px;line-height:1.5}
.fugu-menu li:before{content:'・';color:#f5d49e}
@media(max-width:700px){.fugu-course{grid-template-columns:1fr;gap:26px}.fugu-menu{border-left:0;border-top:1px solid #8d7864;padding:23px 0 0}}
@media(max-width:560px){.girls-price,.fugu-price{font-size:39px}.girls-price span,.fugu-price span{font-size:15px}.fugu-course h3{font-size:27px}.fugu-course .fugu-catch{font-size:15px}.fugu-menu ul{gap:11px 8px}.fugu-menu li{font-size:14px}}

/* Catering and kitchen car */
.catering{background:#211e1b;color:#fff}
.catering-grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:7%;align-items:center}
.catering-photo{margin:0;position:relative;overflow:hidden;background:#14110f}
.catering-photo img{height:610px;object-fit:cover;object-position:center}
.catering-photo figcaption{position:absolute;bottom:0;left:0;right:0;padding:48px 21px 20px;background:linear-gradient(transparent,#000c);font-family:'Noto Serif JP',serif;font-size:18px}
.catering .section-index{color:#e1b977}
.catering h2{font:700 clamp(32px,3.7vw,52px) 'Noto Serif JP',serif;line-height:1.5;letter-spacing:.04em;margin:0 0 22px}
.catering-lead{font-size:17px;line-height:1.9;color:#ebe0d1;margin:0 0 27px}
.catering-uses{display:flex;flex-wrap:wrap;gap:9px;list-style:none;padding:0;margin:0 0 25px}
.catering-uses li{border:1px solid #8b7968;padding:7px 12px;font-size:14px;color:#f4e8d8}
.catering-scale{font-size:16px;font-weight:700;line-height:1.75;color:#f1ce96;margin:0 0 24px}
.catering-dm{display:inline-flex;align-items:center;min-height:55px;padding:14px 20px;background:var(--red);font-weight:700;color:#fff}
.catering-dm:hover{background:#ba3831}
.catering-copy small{display:block;max-width:520px;margin-top:13px;color:#d2c4b6;font-size:13px;line-height:1.7}
@media(max-width:800px){.catering-grid{grid-template-columns:1fr;gap:30px}.catering-photo img{height:420px}.catering-photo{order:1}.catering-copy{order:0}}
@media(max-width:560px){.catering h2{font-size:clamp(27px,7.5vw,32px)}.catering-lead{font-size:16px;line-height:1.85}.catering-lead br{display:none}.catering-uses{gap:8px}.catering-uses li{font-size:13px;padding:7px 10px}.catering-photo img{height:320px}.catering-photo figcaption{font-size:15px}.catering-dm{width:100%;justify-content:center}}

/* Seasonal party message in the first view */
.hero-season{display:inline-block;max-width:100%;padding:9px 14px;border:1px solid #e4c198;background:#251715b8;color:#fff0d6;font-family:'Noto Sans JP',sans-serif;font-size:15px;font-weight:700;letter-spacing:.09em}
@media(max-width:560px){.hero-season{font-size:12px;line-height:1.5;letter-spacing:.04em;padding:8px 10px;margin-bottom:22px}.hero .hero-lead{font-size:14px;letter-spacing:0;line-height:1.8}}

/* Mobile reading rhythm and consultation details */
.keep-together{white-space:nowrap}
.intro-copy p,.occasions p,.access-intro,.karaoke-copy>p{text-wrap:pretty}
.big-heading,.occasions h2,.party-consultation h3{text-wrap:balance}
.mobile-break{display:none}
.hours-line{display:flex;flex-wrap:wrap;column-gap:10px;line-height:1.6}
.hours-line+.hours-line{margin-top:7px}
.party-consultation{margin-top:35px;padding:30px 36px;border:1px solid #a99173;background:#f2e9dc;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:38px;align-items:center}
.party-consultation h3{font-family:'Noto Serif JP',serif;font-size:24px;line-height:1.5;margin:0}
.party-consultation p{line-height:1.8;margin:0 0 10px}
.party-consultation p:last-child{margin-bottom:0}
.party-consultation a{text-decoration:underline;text-underline-offset:4px;font-weight:700}
@media(max-width:560px){
  .mobile-break{display:block}
  .big-heading,.section-top h2,.party h2,.drinks-copy h2,.karaoke h2,.occasions h2,.last-call h2{font-size:clamp(24px,7.5vw,30px);letter-spacing:.02em;line-height:1.5}
  .access .section-top h2{font-size:clamp(24px,7.2vw,29px)}
  .section-top p:last-child{font-size:15px;line-height:1.8}
  .intro-grid{gap:26px}
  .intro-copy{line-height:1.85;letter-spacing:0;overflow-wrap:anywhere}
  .intro-copy p{margin-bottom:18px}
  .intro-tags{margin-top:24px}
  .food-caption p,.food-card.featured-dish .food-caption p,.party-content>p:not(.section-index):not(.party-small),.drinks-copy>p:last-child,.karaoke-copy>p:not(.section-index):not(.karaoke-fee),.access-intro{font-size:16px;line-height:1.85;letter-spacing:0}
  .food-caption p br,.drinks-copy p br,.party-content>p br,.karaoke-copy>p br,.access-intro br{display:block;content:"";margin-bottom:5px}
  .occasions-grid p:last-child,.celebration p{line-height:1.85}
  .store-details strong{overflow-wrap:anywhere}
  .hours-line{gap:2px 9px}
  .party-consultation{grid-template-columns:1fr;gap:16px;margin-top:28px;padding:24px 21px}
  .party-consultation h3{font-size:21px}
  .party-consultation p{font-size:15px}
}
/* Four-seat private room in the seating section */
.private-room-feature{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1fr);align-items:center;gap:clamp(24px,5vw,76px);margin-top:85px;background:#eee5d4}
.private-room-feature img{width:100%;height:420px;object-fit:cover;object-position:center 58%}
.private-room-feature figcaption{padding:30px 50px 30px 0}
.private-room-feature .room-kicker{display:block;color:var(--red);font-size:13px;font-weight:700;letter-spacing:.12em;margin-bottom:17px}
.private-room-feature strong{display:block;font-family:'Noto Serif JP',serif;font-size:clamp(27px,3vw,40px);line-height:1.45;letter-spacing:.04em}
.private-room-feature p{font-size:15px;line-height:1.9;margin:20px 0 0}
@media(max-width:800px){.private-room-feature{grid-template-columns:1fr;gap:0;margin-top:55px}.private-room-feature img{height:420px}.private-room-feature figcaption{padding:24px 28px 30px}}
@media(max-width:560px){.private-room-feature img{height:330px}.private-room-feature strong{font-size:28px}.private-room-feature figcaption{padding:22px 22px 28px}}

/* Booking details near the room photos */
.visit-guide{margin-top:48px;border-top:1px solid #9c896b;padding-top:36px}
.visit-guide h3{font:700 26px/1.5 'Noto Serif JP',serif;margin:0 0 23px}
.visit-guide-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.visit-guide-grid>div{background:#eee5d4;padding:25px 23px;min-width:0}
.visit-guide-grid h4{font:700 20px/1.5 'Noto Serif JP',serif;margin:0 0 10px}
.visit-guide-grid p{font-size:15px;line-height:1.85;margin:0}
.visit-guide-grid a{display:inline-block;margin-top:16px;color:#862e29;font-size:14px;font-weight:700;text-decoration:underline;text-underline-offset:4px}
#early-booking{scroll-margin-top:26px}
@media(max-width:800px){.visit-guide-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.visit-guide{margin-top:35px;padding-top:29px}.visit-guide h3{font-size:23px}.visit-guide-grid{grid-template-columns:1fr;gap:10px}.visit-guide-grid>div{padding:21px}.visit-guide-grid h4{font-size:18px}.visit-guide-grid p{font-size:15px}}

/* Keep the year-end hero headline together on narrow phones. */
.hero-year-end .hero-title-first{white-space:nowrap}
@media(max-width:560px){.hero h1.hero-year-end{font-size:clamp(28px,8.5vw,39px);letter-spacing:.01em;line-height:1.5}}

/* Keep Japanese copy readable on compact phones. */
main p,main figcaption{ text-wrap:pretty }
main h1,main h2,main h3,main h4{ text-wrap:balance }
@media(max-width:560px){
  .private-room-feature strong{font-size:clamp(23px,6.5vw,27px)}
  .early-booking-offers strong{font-size:clamp(19px,5.3vw,21px)}
  .karaoke-prices span{line-height:1.5}
}

/* Limited-time notice: hidden automatically after October 5, 2026 (Japan time). */
.children-festival{background:#dff4ef;border-top:8px solid #ef3c91;border-bottom:8px solid #f1d54c}
.children-festival-layout{display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);gap:7%;align-items:center}
.children-festival-date{display:inline-block;margin:0 0 20px;padding:8px 13px;background:#ef3c91;color:#fff;font-size:16px;font-weight:800;letter-spacing:.08em}
.children-festival-copy h2{margin:0;font:800 clamp(34px,4vw,58px)/1.45 'Noto Serif JP',serif;letter-spacing:.04em;color:#33262c}
.children-festival-copy>p:not(.section-index):not(.children-festival-date){font-size:17px;line-height:2;margin:28px 0;color:#40363a}
.children-festival-copy dl{margin:30px 0 0;border-top:1px solid #78a9a0}
.children-festival-copy dl div{display:grid;grid-template-columns:70px 1fr;gap:15px;padding:14px 0;border-bottom:1px solid #78a9a0}
.children-festival-copy dt{font-weight:800;color:#087f79}
.children-festival-copy dd{margin:0;line-height:1.7;font-weight:600}
.children-festival-posters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start}
.children-festival-posters a{display:block;background:#fff;padding:7px;box-shadow:0 12px 30px #1a58502b;transition:transform .2s ease}
.children-festival-posters a:hover{transform:translateY(-4px)}
.children-festival-posters img{height:auto}
@media(max-width:800px){.children-festival-layout{grid-template-columns:1fr;gap:38px}.children-festival-copy,.children-festival-posters{max-width:680px}}
@media(max-width:560px){.children-festival{border-width:5px}.children-festival-date{font-size:14px;margin-bottom:16px}.children-festival-copy h2{font-size:clamp(28px,8.5vw,38px)}.children-festival-copy>p:not(.section-index):not(.children-festival-date){font-size:16px;line-height:1.85;margin:22px 0}.children-festival-copy dl{margin-top:22px}.children-festival-posters{grid-template-columns:1fr;gap:13px}.children-festival-posters a{padding:5px}}

/* Sister shops */
.sister-shops{background:#e8e0d1}
.sister-shops-heading{text-align:center;margin-bottom:38px}
.sister-shops-heading .section-index{margin-bottom:13px}
.sister-shops-heading h2{margin:0;font:700 clamp(31px,3.7vw,48px)/1.5 'Noto Serif JP',serif;letter-spacing:.05em}
.sister-shops-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;max-width:900px;margin:0 auto}
.sister-shop-card{display:flex;flex-direction:column;min-height:280px;padding:38px 36px;background:#1d1a17;color:#fff;border-top:5px solid #d7a840;transition:transform .2s ease,background .2s ease}
.sister-shop-card:hover{transform:translateY(-4px);background:#29241f}
.sister-shop-card>span{font-size:13px;letter-spacing:.12em;color:#e5c98e}
.sister-shop-card>strong{font:700 clamp(30px,3.5vw,43px)/1.4 'Noto Serif JP',serif;letter-spacing:.05em;margin:13px 0}
.sister-shop-card>small{font-size:15px;line-height:1.8;color:#ddd3c6}
.sister-shop-card>b{display:inline-block;margin-top:auto;padding-top:28px;font-size:14px;letter-spacing:.06em}
.sister-shop-lavita{background:#652a31;border-top-color:#b99758}
.sister-shop-lavita:hover{background:#7b343c}
@media(max-width:620px){.sister-shops-heading{margin-bottom:27px}.sister-shops-grid{grid-template-columns:1fr;gap:11px}.sister-shop-card{min-height:225px;padding:29px 25px}.sister-shop-card>strong{font-size:31px}.sister-shop-card>small{font-size:14px}}
.course.featured p+p{margin-top:14px;font-weight:700}
