@font-face{font-family:HAKU Serif;src:url(fonts/NotoSerifJP.ttf) format('truetype');font-weight:200 900;font-display:swap}

@font-face{font-family:HAKU Klee;src:url(fonts/KleeOne-Regular.ttf) format('truetype');font-weight:400;font-display:swap}

@font-face{font-family:HAKU Klee;src:url(fonts/KleeOne-SemiBold.ttf) format('truetype');font-weight:600;font-display:swap}

:root{--ink:#41443b;--paper:#f8f8f3;--line:#d8d9d0;--heading:'HAKU Klee',serif;--body:'HAKU Serif',serif;--u:1px}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);background:var(--paper) url(paper-background.webp) top center/100% auto repeat-y;font-family:var(--body);font-weight:400;font-size:13px;line-height:1.9}
h1,h2,h3,p,ul,dl,dd,figure{margin:0}
h1,h2,h3{font-weight:400}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;cursor:pointer}
img{display:block;max-width:100%;object-fit:cover}
button,a{-webkit-tap-highlight-color:transparent}
a:hover{text-decoration:underline;text-underline-offset:5px}
a:focus-visible,button:focus-visible{outline:2px solid #7f7854;outline-offset:5px}
button:disabled,[aria-disabled=true]{opacity:.4;cursor:default}
h2{font-family:var(--heading)}
.pc-only,.desktop-nav{display:none}
.container{width:calc(100% - 48px);margin-inline:auto}
.skip-link{position:fixed;top:-100px;left:16px;background:white;padding:12px;z-index:1000}
.skip-link:focus{top:10px}
.site-header{height:84px;display:flex;align-items:flex-start;justify-content:space-between;padding:25px 24px 0}
.brand img{width:97px;height:28.5px;object-fit:contain}
.menu-toggle{width:42px;height:42px;border:1px solid #e2e3d9;border-radius:50%;background:transparent;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;margin-top:-7px}
.menu-toggle span{height:1px;width:18px;background:#9ea08e}
.masthead{height:251px;position:relative}
.breadcrumb{position:absolute;left:24px;top:38px;display:flex;gap:10px;font-size:10px;color:#777a6e}
.masthead h1{font-family:var(--heading);font-size:27px;letter-spacing:.22em;line-height:1.6;writing-mode:vertical-rl;position:absolute;top:88px;left:50%;transform:translateX(-50%)}
.map-block{height:225px;width:100%;background:#e7e7df}
.map-block iframe{display:block;border:0;width:100%;height:100%}
.site-footer{height:245px;padding:42px 24px 30px;display:flex;align-items:center;flex-direction:column}
.site-footer nav{margin-top:32px;display:grid;grid-template-columns:1fr 1fr;gap:18px 30px;font-size:12px}
.site-footer small{font-size:8px;margin-top:37px}
.gallery{position:relative}
.gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;width:calc(100% - 58px);margin:auto}
.gallery-grid a{border:3px solid #fff;box-shadow:0 0 0 1px #e1e1d8;display:block;aspect-ratio:1}
.gallery-grid img{width:100%;height:100%}
.gallery-lead{display:block;margin:0 24px 33px}
.gallery-lead img{width:100%;aspect-ratio:342/227}
.gallery-shop{padding-bottom:82px}
.gallery-home{padding:68px 0 93px}
.gallery-home h2{text-align:center;font-size:24px;margin-bottom:38px}
.gallery-home h2 span[lang]{display:none}
.shop-sign{width:100%;height:248px;object-position:50% 50%}
.shop-copy{padding:40px 24px 60px}
.shop-copy h2{text-align:center;font-size:27px;letter-spacing:.25em;margin-bottom:35px}
.shop-copy dl{display:grid;gap:20px;font-size:13px}
.shop-copy dl>div{display:grid;grid-template-columns:81px minmax(0,1fr);gap:0}
.shop-copy dt{font-size:11px}
.shop-copy dd{overflow-wrap:anywhere;line-height:25px}
.read-more{display:block;text-align:right;margin-top:25px;font-family:Georgia,serif;font-size:16px}
.read-more span{margin-left:18px}
.news-list{display:grid;gap:57px}
.news-list article>a{display:grid;grid-template-columns:132px minmax(0,1fr);gap:20px;min-height:114px}
.news-list img{width:132px;height:114px}
.news-list time{display:block;font-size:10px;margin-top:0;margin-bottom:8px;color:#838577}
.news-list h2{font:400 14px/25px var(--body);overflow-wrap:anywhere}
.pagination{text-align:center;padding:54px 24px 66px;font-size:13px}
.pagination>p{margin-bottom:28px}
.pagination>div{display:flex;justify-content:space-between;align-items:center;max-width:316px;margin:auto}
.pagination a,.pagination span{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:white}
.pagination a[aria-current]{background:transparent}
.news-detail{width:calc(100% - 48px);margin:auto;padding-bottom:57px}
.article-image{width:100%;aspect-ratio:342/228}
.news-detail>h2{margin-top:31px;font-size:19px;font-family:var(--body);line-height:30px}
.news-detail>p{margin-top:25px;font-size:14px;line-height:27px;overflow-wrap:anywhere}
.article-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin-top:48px}
.article-nav a,.article-nav span{height:46px;border-radius:30px;background:white;border:1px solid #eeeee6;display:flex;align-items:center;justify-content:center;font-family:Georgia,serif;font-size:12px;line-height:1}
.hero{position:relative;padding-top:16px}
.hero h1{font-size:20px;line-height:37px;text-align:center;padding:0 20px}
.hero-image{margin:24px 24px 0;width:calc(100% - 48px);height:354px;object-position:36% 50%}
.scroll-cue{display:block;margin-top:22px;margin-left:24px;font-family:Georgia,serif;font-size:11px;letter-spacing:.12em;height:35px}
.scroll-cue span{display:inline-block;width:60px;margin-left:15px}
.story{padding-top:42px}
.story>h2{text-align:center;font-size:25px;line-height:34px;margin:0 24px 26px}
.story .pouring{width:calc(100% - 48px);height:245px;margin:auto;object-position:65% 50%}
.story-copy{margin:48px 28px 0;min-height:432px;font-size:13px;line-height:27px}
.story-copy h3{font-size:17px;line-height:28px;margin-bottom:17px}
.story-copy p{margin-bottom:12px}
.story-copy .story-invitation{text-align:center;margin:30px 0 29px;line-height:30px}
.story .sake{margin:28px 24px 0;width:calc(100% - 48px);height:228px}
.home-menu{padding-top:64px}
.home-menu>h2{font-size:27px;text-align:center;line-height:34px;margin-bottom:26px}
.home-hotpot{width:calc(100% - 48px);margin:0 auto;height:230px}
.seasonal-menu{margin:50px 24px 0}
.seasonal-menu>div{min-height:122px}
.seasonal-menu h3{font-size:16px;line-height:28px}
.seasonal-menu p{font-size:13px;line-height:26px;margin-top:10px;padding-left:12px}
.home-news{padding:50px 24px 50px}
.home-news h2{text-align:center;font-size:27px;margin-bottom:42px}
.home-news ul{padding:0;list-style:none}
.home-news li{padding-bottom:26px;margin-bottom:22px;border-bottom:1px solid var(--line)}
.home-news a{display:grid;gap:10px}
.home-news time{font-size:10px}
.home-news span{line-height:25px;font-size:13px}
.menu-intro .menu-hero{height:240px;width:100%}
.menu-intro>p{text-align:center;font-size:13px;line-height:27px;margin:31px 20px 0}
.food-menu{margin-top:42px}
.menu-category h2{font-family:var(--heading);font-size:24px;line-height:32px;margin-bottom:25px}
.menu-category dl>div{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:15px;min-height:41px;align-items:start;font-size:14px;line-height:25px}
.menu-category dt{overflow-wrap:anywhere}
.menu-category dd{text-align:right;white-space:nowrap}
.menu-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
.menu-pair img{width:100%;height:132px}
.obanzai-photos{margin-top:35px;margin-bottom:45px}
.food-menu .hotpot{margin-bottom:28px}
.menu-pot{width:100%;height:208px;margin-bottom:44px}
.food-menu .sashimi{margin-bottom:44px}
.food-menu .grill{margin-bottom:0}
.course{position:relative;margin-top:73px;padding-top:0;padding-bottom:54px}
.course>h2{writing-mode:vertical-rl;font-size:29px;letter-spacing:.18em;position:absolute;left:0;top:0}
.course-photos{margin-left:74px;display:grid;grid-template-columns:109fr 150fr;gap:9px}
.course-photos img{width:100%;height:110px}
.course-main{grid-column:1/-1;height:175px!important}
.course ul{list-style:none;padding:0;margin-top:33px;line-height:29px;font-size:15px}
.course li::before{content:'・ '}
.course-price{display:flex;align-items:center;justify-content:space-between;margin-top:15px}
.course-price h3{font-size:22px}
.course-price p{font-size:23px;white-space:nowrap}
.drink-title{text-align:center;font-size:27px;margin-bottom:41px}
.drink-menu .menu-category{margin-bottom:45px}
.drink-menu .menu-category h2{font-size:23px}
.menu-note{font-size:11px;line-height:22px;margin:0 0 18px}
.drink-photos{margin-bottom:47px}
.drink-photos img{height:145px}
.drink-menu .wine h2{font-size:19px;letter-spacing:0;text-align:center;line-height:1.7}
.drink-menu .wine dt{font-size:12px}
.drink-menu .wine dl>div{min-height:43px}
.drink-menu .wine{margin-bottom:30px}
.wine-photo,.soft-photo{width:100%;height:190px;margin-bottom:44px}
.drink-menu .soft{margin-bottom:30px}
.drink-menu{padding-bottom:10px}
.dialog-open{overflow:hidden}
dialog{border:0;padding:0;color:var(--ink);max-width:100%;max-height:100%;background:var(--paper);font-family:var(--body)}
dialog:not([open]){display:none}
dialog::backdrop{background:#131810d9}
.close{position:absolute;right:24px;top:20px;border:1px solid #d9dacb;border-radius:50%;background:var(--paper);width:44px;height:44px;font-size:28px;line-height:1}
.menu-panel{min-height:100dvh;width:100vw;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:70px 24px;background:url(paper-background.webp) center/cover}
.menu-panel img{width:194px;height:57px;object-fit:contain}
.menu-panel nav{display:grid;text-align:center;gap:32px;margin:65px 0;font-family:var(--heading);font-size:26px}
.menu-phone{font-size:18px}
.lightbox-panel{position:relative;padding:72px 20px 20px;background:var(--paper);min-width:min(80vw,400px)}
.lightbox-panel img{max-width:90vw;max-height:75dvh;object-fit:contain;margin:auto}
.lightbox-panel p{text-align:center;font-size:13px;margin-top:15px;max-width:80vw}
.lightbox-panel .close{top:12px;right:12px}

@media(min-width:600px) and (max-width:1099px){main>.container,.gallery,.news-detail,.menu-intro,.hero,.story,.home-menu,.home-news{max-width:700px;margin-inline:auto}
.hero-image{height:auto;aspect-ratio:342/354}
.shop-info{max-width:700px;margin:auto}
.site-header{padding-inline:40px}
.news-list article>a{grid-template-columns:180px 1fr}
.news-list img{width:180px;height:155px}
.news-list h2{font-size:17px}
.gallery-grid{max-width:520px}
.gallery-lead img{max-height:450px}
}

@media(min-width:1100px){
:root{--u:calc(100vw / 1920)}
body{font-size:calc(18 * var(--u))}
.pc-only,.desktop-nav{display:block}
.sp-only{display:none}
.container{width:calc(1320 * var(--u))}
.site-header{height:calc(100 * var(--u));padding:calc(20 * var(--u)) calc(100 * var(--u)) 0}
.brand img{width:calc(194 * var(--u));height:calc(57 * var(--u))}
.desktop-nav{display:flex;gap:calc(90 * var(--u));padding-top:calc(14 * var(--u));margin-left:auto;margin-right:calc(110 * var(--u));font-size:calc(18 * var(--u))}
.menu-toggle{width:calc(74 * var(--u));height:calc(72 * var(--u));margin:calc(-5 * var(--u)) calc(14 * var(--u)) 0 0}
.menu-toggle span{width:calc(32 * var(--u))}
.masthead{height:calc(649 * var(--u))}
.breadcrumb{left:calc(303 * var(--u));top:calc(145 * var(--u));font-size:calc(16 * var(--u));gap:calc(12 * var(--u))}
.masthead h1{top:calc(220 * var(--u));font-size:calc(60 * var(--u));line-height:1.25;letter-spacing:.04em}
.map-block{height:calc(578 * var(--u))}
.site-footer{height:calc(226 * var(--u));position:relative;display:block;padding:calc(65 * var(--u)) calc(300 * var(--u))}
.site-footer .brand{position:absolute;left:calc(300 * var(--u));top:calc(65 * var(--u))}
.site-footer nav{margin:0;display:flex;justify-content:flex-end;gap:calc(70 * var(--u));font-size:calc(18 * var(--u))}
.site-footer small{display:block;text-align:right;font-size:calc(14 * var(--u));margin-top:calc(60 * var(--u))}
.gallery-grid{width:calc(1120 * var(--u));gap:calc(26 * var(--u)) calc(24 * var(--u));grid-template-columns:repeat(3,minmax(0,1fr))}
.gallery-grid a{border-width:calc(6 * var(--u))}
.gallery-home{padding:calc(137 * var(--u)) 0 calc(232 * var(--u));background:#eae9df66}
.gallery-home h2{margin:0;font-size:calc(55 * var(--u));letter-spacing:.15em}
.gallery-home h2 span{position:absolute;writing-mode:vertical-rl;right:calc(280 * var(--u));top:calc(518 * var(--u))}
.gallery-home h2 span[lang]{display:block;left:calc(300 * var(--u));right:auto;top:calc(137 * var(--u));font-family:Georgia,serif;font-size:calc(50 * var(--u))}
.gallery-lead{width:calc(1120 * var(--u));margin:0 auto calc(35 * var(--u))}
.gallery-lead img{width:100%;height:calc(742 * var(--u))}
.gallery-shop{background:#eae9df66;padding-top:calc(127 * var(--u));padding-bottom:calc(132 * var(--u))}
.shop-info{position:relative;min-height:calc(1005 * var(--u))}
.shop-sign{width:calc(1098 * var(--u));height:calc(1005 * var(--u));object-position:48% 50%;position:absolute;left:0;top:0}
.shop-copy{position:relative;margin-left:calc(960 * var(--u));padding:calc(348 * var(--u)) calc(300 * var(--u)) calc(95 * var(--u)) 0}
.shop-copy h2{font-size:calc(55 * var(--u));text-align:left;margin-bottom:calc(110 * var(--u));letter-spacing:.25em;line-height:1.2}
.shop-copy dl{gap:calc(22 * var(--u));font-size:calc(18 * var(--u))}
.shop-copy dl>div{grid-template-columns:calc(164 * var(--u)) minmax(0,1fr)}
.shop-copy dt{font-size:calc(18 * var(--u))}
.shop-copy dd{line-height:calc(28 * var(--u));min-width:calc(450 * var(--u))}
.read-more{font-size:calc(23 * var(--u));margin-top:calc(40 * var(--u))}
.news-list{gap:calc(95 * var(--u)) calc(32 * var(--u));grid-template-columns:repeat(3,minmax(0,1fr))}
.news-list article>a{display:block;min-height:0}
.news-list img{width:100%;height:calc(361 * var(--u))}
.news-list time{font-size:calc(16 * var(--u));margin-top:calc(26 * var(--u));margin-bottom:calc(7 * var(--u))}
.news-list h2{font:400 calc(18 * var(--u))/1.5 var(--body)}
.pagination{font-size:calc(20 * var(--u));padding:calc(105 * var(--u)) 0 calc(127 * var(--u))}
.pagination>p{margin-bottom:calc(36 * var(--u))}
.pagination>div{max-width:calc(350 * var(--u))}
.pagination a,.pagination span{width:calc(48 * var(--u));height:calc(48 * var(--u))}
.news-detail{width:calc(1120 * var(--u));padding-bottom:calc(112 * var(--u))}
.article-image{height:calc(684 * var(--u));aspect-ratio:auto}
.news-detail>h2{margin-top:calc(68 * var(--u));font-size:calc(25 * var(--u));line-height:1.5}
.news-detail>p{margin-top:calc(25 * var(--u));font-size:calc(18 * var(--u));line-height:calc(32 * var(--u))}
.article-nav{gap:calc(64 * var(--u));width:calc(956 * var(--u));margin:calc(110 * var(--u)) auto 0}
.article-nav a,.article-nav span{height:calc(76 * var(--u));border-radius:calc(50 * var(--u));font-size:calc(18 * var(--u))}
.hero{height:calc(860 * var(--u));padding:0}
.hero h1{position:absolute;writing-mode:vertical-rl;right:calc(90 * var(--u));top:calc(45 * var(--u));font-size:calc(52 * var(--u));line-height:1.55;text-align:left;letter-spacing:.1em;padding:0}
.hero-image{position:absolute;left:calc(300 * var(--u));top:0;margin:0;width:calc(1320 * var(--u));height:calc(743 * var(--u));object-position:50% 50%}
.scroll-cue{position:absolute;left:calc(140 * var(--u));top:calc(600 * var(--u));margin:0;font-size:calc(18 * var(--u));writing-mode:vertical-rl;height:calc(180 * var(--u))}
.scroll-cue span{writing-mode:horizontal-tb;transform:rotate(90deg);margin:calc(30 * var(--u)) 0 0 0}
.story{min-height:calc(1310 * var(--u));position:relative;padding:calc(110 * var(--u)) 0 0}
.story>h2{writing-mode:vertical-rl;line-height:1.5;letter-spacing:.08em;font-size:calc(60 * var(--u));margin:0 auto;height:calc(365 * var(--u));text-align:left}
.story .pouring{position:absolute;top:calc(66 * var(--u));right:0;width:calc(460 * var(--u));height:calc(606 * var(--u));object-position:65% 50%}
.story .sake{position:absolute;left:0;top:calc(496 * var(--u));width:calc(459 * var(--u));height:calc(606 * var(--u));margin:0}
.story-copy{width:calc(744 * var(--u));margin:calc(100 * var(--u)) auto 0;text-align:center;min-height:0;font-size:calc(18 * var(--u));line-height:calc(32 * var(--u))}
.story-copy h3{font-size:calc(25 * var(--u));line-height:1.5;margin-bottom:calc(15 * var(--u))}
.story-copy p{margin-bottom:calc(12 * var(--u))}
.story-copy .story-invitation{margin:calc(24 * var(--u)) 0 calc(22 * var(--u));line-height:calc(32 * var(--u))}
.home-menu{position:relative;min-height:calc(1077 * var(--u));padding:calc(74 * var(--u)) 0 calc(120 * var(--u));background:#e6e3dd55}
.home-menu>h2{writing-mode:vertical-rl;font-size:calc(60 * var(--u));letter-spacing:.04em;line-height:1.2;margin:0 auto;height:calc(300 * var(--u))}
.home-hotpot{position:absolute;right:calc(100 * var(--u));top:calc(430 * var(--u));width:calc(744 * var(--u));height:calc(495 * var(--u))}
.seasonal-menu{width:calc(730 * var(--u));margin:calc(55 * var(--u)) 0 0 calc(300 * var(--u))}
.seasonal-menu>div{min-height:0;margin-bottom:calc(21 * var(--u))}
.seasonal-menu h3{font-size:calc(25 * var(--u));line-height:calc(38 * var(--u))}
.seasonal-menu p{font-size:calc(18 * var(--u));line-height:calc(30 * var(--u));margin:0;padding-left:calc(25 * var(--u))}
.home-news{padding:calc(140 * var(--u)) 0 calc(120 * var(--u));min-height:calc(656 * var(--u))}
.home-news h2{font-size:calc(60 * var(--u));margin-bottom:calc(64 * var(--u));line-height:1.2}
.home-news ul{width:calc(800 * var(--u));margin:auto}
.home-news li{border:0;margin:0;padding:0 0 calc(30 * var(--u))}
.home-news a{grid-template-columns:calc(100 * var(--u)) 1fr;gap:calc(35 * var(--u))}
.home-news time,.home-news span{font-size:calc(18 * var(--u));line-height:calc(30 * var(--u))}
.page-menu .masthead{height:calc(749 * var(--u))}
.page-menu .masthead h1{left:calc(335 * var(--u));top:calc(220 * var(--u))}
.menu-intro{position:relative;height:0}
.menu-intro .menu-hero{position:absolute;right:calc(300 * var(--u));bottom:calc(58 * var(--u));width:calc(763 * var(--u));height:calc(604 * var(--u))}
.menu-intro>p{position:absolute;left:calc(300 * var(--u));bottom:calc(125 * var(--u));text-align:left;margin:0;font-size:calc(18 * var(--u));line-height:calc(32 * var(--u))}
.food-menu{margin-top:calc(85 * var(--u));display:grid;grid-template-columns:calc(620 * var(--u)) calc(540 * var(--u));column-gap:calc(160 * var(--u));grid-template-rows:auto auto auto;position:relative}
.menu-category h2{font-size:calc(28 * var(--u));line-height:1.5;margin-bottom:calc(56 * var(--u))}
.menu-category dl>div{font-size:calc(18 * var(--u));line-height:calc(28 * var(--u));min-height:calc(41 * var(--u));gap:calc(20 * var(--u))}
.food-menu .obanzai{grid-column:1;grid-row:1/4}
.food-menu .hotpot{grid-column:2;grid-row:1;margin:0 0 calc(60 * var(--u))}
.food-menu .sashimi{grid-column:2;grid-row:2;margin:0 0 calc(60 * var(--u))}
.food-menu .grill{grid-column:2;grid-row:3}
.obanzai-photos{position:absolute;top:calc(450 * var(--u));left:0;width:calc(620 * var(--u));gap:calc(16 * var(--u));margin:0}
.menu-pair img{height:calc(253 * var(--u))}
.menu-pot{position:absolute;left:0;top:calc(719 * var(--u));width:calc(620 * var(--u));height:calc(253 * var(--u));margin:0}
.course{margin-top:calc(235 * var(--u));min-height:calc(352 * var(--u));padding:0}
.course>h2{left:calc(520 * var(--u));font-size:calc(40 * var(--u));top:0}
.course ul{margin:0;writing-mode:vertical-rl;height:calc(320 * var(--u));font-size:calc(25 * var(--u));line-height:calc(45 * var(--u))}
.course-price{position:absolute;left:calc(200 * var(--u));top:calc(242 * var(--u));margin:0;width:calc(400 * var(--u));font-size:calc(30 * var(--u))}
.course-price h3{font-size:calc(25 * var(--u))}
.course-price p{font-size:calc(34 * var(--u))}
.course-photos{position:absolute;left:calc(660 * var(--u));top:0;width:calc(660 * var(--u));height:calc(352 * var(--u));grid-template-columns:352fr 302fr;grid-template-rows:1fr 1fr;gap:calc(9 * var(--u));margin:0}
.course-photos img{height:100%}
.course-main{grid-row:1/3;grid-column:1;height:100%!important}
.course-pot,.course-chicken{grid-column:2}
.drink-menu{display:grid;grid-template-columns:calc(540 * var(--u)) calc(540 * var(--u));column-gap:calc(240 * var(--u));margin-top:calc(108 * var(--u));padding-bottom:calc(119 * var(--u));position:relative}
.drink-title{grid-column:1/-1;font-size:calc(40 * var(--u));margin-bottom:calc(80 * var(--u))}
.drink-menu .menu-category{margin:0 0 calc(65 * var(--u))}
.drink-menu .menu-category h2{font-family:var(--body);font-size:calc(28 * var(--u));margin-bottom:calc(55 * var(--u))}
.drinks{grid-column:1;grid-row:2}
.shochu{grid-column:2;grid-row:2}
.sake-list{grid-column:1;grid-row:3}
.bottle{grid-column:2;grid-row:3}
.menu-note{font-size:calc(18 * var(--u));line-height:calc(28 * var(--u));margin-bottom:calc(15 * var(--u))}
.drink-photos{grid-column:1/-1;grid-row:4;gap:calc(30 * var(--u));margin:calc(15 * var(--u)) 0 calc(90 * var(--u))}
.drink-photos img{height:calc(358 * var(--u))}
.wine{grid-column:1;grid-row:5}
.soft{grid-column:2;grid-row:5}
.drink-menu .wine h2{text-align:left;font-size:calc(27 * var(--u));white-space:nowrap;letter-spacing:-.025em}
.drink-menu .wine dt{font-size:calc(18 * var(--u))}
.drink-menu .wine dl>div{min-height:calc(41 * var(--u))}
.wine-photo{grid-column:1;grid-row:6}
.soft-photo{grid-column:2;grid-row:6}
.wine-photo,.soft-photo{height:calc(358 * var(--u));width:calc(645 * var(--u));max-width:none;margin:calc(20 * var(--u)) 0 0}
.soft-photo{margin-left:calc(-105 * var(--u))}

}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}
}


[hidden]{display:none!important}
@media(min-width:1100px){.story>h2{height:calc(420 * var(--u))}
.story-copy{margin-top:calc(45 * var(--u))}
}

/* Reference-aligned spacing; content remains fluid at smaller widths. */
@media(max-width:599px){
.home-news{padding:25px 26px 0}
.home-news h2{line-height:34px;margin-bottom:38px}
.home-news a{gap:6px}
.home-news li{padding-bottom:16px;margin-bottom:22px}
.home-news time{line-height:19px}

.gallery-grid{width:calc(100% - 48px);gap:12px}
.gallery-grid a{border-width:5px}

.gallery-home{padding:45px 0 88px}
.gallery-home h2{display:flex;flex-direction:column-reverse;height:80px;margin:0;font-size:27px;justify-content:flex-end}
.gallery-home h2 span:not([lang]){line-height:43px}
.gallery-home h2 span[lang]{display:block;font:11px/21px var(--body);margin-bottom:16px}

.gallery-shop{padding-bottom:72px}
.shop-copy{padding-bottom:54px}
.page-top .shop-copy{padding-bottom:45px}

.pagination{padding-bottom:78px}
.news-detail>h2{margin-top:38px}

}

@media(min-width:1100px){.page-top .shop-info,.page-shop .shop-info{height:calc(993 * var(--u));min-height:0}
.page-menu .drink-menu{padding-bottom:calc(98 * var(--u))}
.page-news .pagination{padding-bottom:calc(109 * var(--u))}
.page-detail .article-nav{margin-top:calc(125.5 * var(--u))}
}

@media(max-width:599px){
.page-top .shop-copy{padding-bottom:40.3px}

.food-menu{margin-top:50px}
.obanzai-photos{margin-bottom:29px}
.food-menu .hotpot{margin-bottom:35px}
.menu-pot{margin-bottom:30px}
.food-menu .sashimi{margin-bottom:23px}
.course{margin-top:35px;padding-bottom:68px}
.course-price{margin-top:3px}

.drink-menu .drinks{margin-bottom:22px}
.drink-menu .sake-list{margin-bottom:35px}
.drink-photos{margin-bottom:33px}
.menu-category dl>div{padding-bottom:16px}

}

@media(min-width:1100px){
main{position:relative;isolation:isolate}
main::before{content:'';position:absolute;z-index:-1;pointer-events:none;left:calc(1 * var(--u));top:calc(860 * var(--u));width:calc(1901 * var(--u));height:calc(947 * var(--u));background:url(story-decoration.webp) center/contain no-repeat;opacity:.07}

.home-menu{isolation:isolate;overflow:hidden}
.home-menu::before{content:'';position:absolute;inset:calc(-130 * var(--u)) 0 calc(-75 * var(--u));z-index:-1;background:url(menu-decoration.webp) center/100% 100%;filter:grayscale(1);opacity:.08}

}

@media(max-width:599px){
.menu-category dl>div{grid-template-columns:minmax(0,250fr) minmax(0,77fr);border-bottom:1px solid #e5e4da;padding-bottom:15px}

.drink-menu .wine h2{font-size:16px;line-height:32px;white-space:nowrap;letter-spacing:0}
.drink-menu .wine dt{font-size:13px}
.drink-menu .soft h2{font-size:19px;white-space:nowrap}

.drink-menu .wine dl>div{min-height:41px}

}

@media(max-width:359px){.drink-menu .wine h2{font-size:13px}
.drink-menu .soft h2{font-size:16px}
}

@media(max-width:599px){.drink-menu .shochu,.drink-menu .bottle{margin-bottom:23px}
.bottle .menu-note,.wine .menu-note{line-height:21px}
.drink-menu .wine{margin-bottom:35px}
.wine-photo{margin-bottom:33px}
.drink-menu .soft{margin-bottom:35px}
}

/* Align subpage headings and shop details with the approved SP reference. */
@media(max-width:599px){.breadcrumb{top:22px}.masthead h1{top:72px}.shop-copy h2{line-height:35px}.shop-copy{padding-bottom:70.3px}.page-top .shop-copy{padding-top:44px;padding-bottom:52.6px}}
@media(min-width:1100px){
.home-menu>h2{height:calc(330 * var(--u));white-space:nowrap}.seasonal-menu{margin-top:calc(25 * var(--u))}
.shop-sign{object-position:59.22% 50%;clip-path:polygon(0 0,100% 0,100% 26.57%,76.87% 26.57%,76.87% 100%,0 100%)}
.shop-copy h2::after{content:'';position:absolute;top:calc(485 * var(--u));left:0;width:calc(660 * var(--u));height:1px;background:linear-gradient(to right,#b8ac78 0 calc(132 * var(--u)),#dadad2 calc(132 * var(--u)) 100%)}
}
@media(min-width:1100px){
.course-photos{grid-template-rows:repeat(2,minmax(0,1fr))}.course-photos img{min-height:0}
.course>h2{font-size:calc(45 * var(--u))}.course ul{width:calc(390 * var(--u));font-size:calc(30 * var(--u));line-height:calc(62 * var(--u))}
.course-price{display:contents}.course-price h3{position:absolute;left:0;top:calc(45 * var(--u));writing-mode:vertical-rl;font-size:calc(25 * var(--u));line-height:1.2}.course-price p{position:absolute;left:calc(467 * var(--u));top:calc(227 * var(--u));font-size:calc(35 * var(--u));line-height:1.2}
}

/* Native PSD effects: fill opacity 79/255; gallery inner frame 15px + 1px stroke. */
@media(min-width:1100px){
main::before{opacity:.3098039216}
.home-menu::before{filter:none;mix-blend-mode:luminosity;opacity:.5019607843}
.gallery-grid{width:calc(1121 * var(--u));margin-left:calc(402 * var(--u));margin-right:0;grid-template-columns:calc(359 * var(--u)) calc(358 * var(--u)) calc(358 * var(--u));gap:calc(26 * var(--u)) calc(23 * var(--u))}
.gallery-grid a{position:relative;border:0;box-shadow:none;height:calc(358 * var(--u));aspect-ratio:auto;overflow:hidden;background:white}
.gallery-grid a::after,.gallery-lead::after{content:'';position:absolute;inset:0;pointer-events:none;border:1px solid #181818;box-shadow:inset 0 0 0 calc(15 * var(--u)) white}
.gallery-grid img{position:absolute;max-width:none;object-fit:fill}
.gallery-grid a:nth-child(1) img{width:calc(532 * var(--u));height:calc(355 * var(--u));left:calc(-101 * var(--u));top:0}
.gallery-grid a:nth-child(2) img{width:calc(542 * var(--u));height:calc(361 * var(--u));left:calc(-32 * var(--u));top:calc(17 * var(--u))}
.gallery-grid a:nth-child(3) img{width:calc(505 * var(--u));height:calc(336 * var(--u));left:calc(-59 * var(--u));top:calc(9 * var(--u))}
.gallery-grid a:nth-child(4) img{width:calc(505 * var(--u));height:calc(336 * var(--u));left:calc(-88 * var(--u));top:calc(9 * var(--u))}
.gallery-grid a:nth-child(5) img{width:calc(542 * var(--u));height:calc(361 * var(--u));left:calc(-152 * var(--u));top:calc(17 * var(--u))}
.gallery-grid a:nth-child(6) img{width:calc(532 * var(--u));height:calc(355 * var(--u));left:calc(-72 * var(--u));top:0}
.gallery-lead{position:relative;width:calc(1118 * var(--u));margin-left:calc(403 * var(--u));margin-right:0}
}
.article-nav a[aria-label="前の記事"]::before{content:'‹';margin-right:18px}
.article-nav a[aria-label="次の記事"]::after{content:'›';margin-left:18px}
.article-nav a{position:relative}
.article-nav a[aria-label="前の記事"]::before{position:absolute;left:18px;margin:0}
.article-nav a[aria-label="次の記事"]::after{position:absolute;right:18px;margin:0}
@media(min-width:1100px){
.site-footer{height:calc(225 * var(--u))}
.gallery-home{padding-bottom:calc(230 * var(--u))}
.page-menu .drink-menu{padding-bottom:calc(99 * var(--u))}
.hero-image{top:calc(-2 * var(--u))}
.home-hotpot{left:calc(1075 * var(--u));right:auto;top:calc(435 * var(--u))}
}
@media(min-width:1100px){
main::after{content:'';position:absolute;z-index:-1;pointer-events:none;left:calc(968 * var(--u));top:calc(755 * var(--u));width:calc(786 * var(--u));height:calc(877 * var(--u));background:url(story-fade.png) center/100% 100% no-repeat;opacity:.6}
.home-menu{background:#f7f6f2}
.home-menu::before{filter:grayscale(1);mix-blend-mode:luminosity}
}
@media(max-width:1099px){.article-nav a[aria-label="前の記事"]::before,.article-nav a[aria-label="次の記事"]::after{content:none}}
