/* 案件固有のスタイル。型(styles.css)は編集禁止 — 上書きはすべてここに書く。
   読み込み順は styles.css → custom.css なので、同じセレクタ/変数はこちらが勝つ。 */



/* ルートAヒーロー(make_hero_bg.py の出力座標)はここに書く */
:root{--fw-display:550;--fw-body:450;--fw-strong:650;--ls-display:.03em;--ls-body:.01em;--ls-en:.04em;--lh-display:1.65;--lh-body:1.9;--font-display:"Vivace Serif",serif;--font-body:"Vivace Sans",sans-serif;--font-en:"Vivace Serif",serif;--font-label:"Vivace Sans",sans-serif;--font-number:"Vivace Serif",serif;--font-accent:"Vivace Serif",serif;--base:#f8f4ed;--main:#762a3c;--accent:#762a3c;--ink:#38291f;--paper:#f8f4ed;--bordeaux:#762a3c;--line:#d8cabb;--motion-ease-out:cubic-bezier(.16,1,.3,1);--motion-fast:180ms;--motion-slow:800ms}
html{scroll-behavior:smooth;scroll-padding-top:30px}.vivace{margin:0;color:var(--ink);background:var(--paper);font-family:var(--font-body);font-size:17px;line-height:1.9;overflow-x:clip}.vivace *{box-sizing:border-box}.vivace figure{margin:0}.vivace img{max-width:100%;height:auto}.vivace a{color:inherit}.vivace p{margin:0 0 1.3em}.vivace h1,.vivace h2,.vivace h3{font-family:var(--font-display);letter-spacing:.03em;font-weight:550;line-height:1.65;margin:0}.vivace h2{font-size:clamp(28px,3vw,44px);margin-bottom:30px}.vivace h3{font-size:24px;margin:24px 0 14px}.vivace a:focus-visible,.vivace button:focus-visible,.vivace summary:focus-visible{outline:3px solid #ba755b;outline-offset:6px}.v-skip{position:fixed;left:12px;top:-100px;z-index:1000;background:white;padding:10px}.v-skip:focus{top:10px}.v-progress{position:fixed;left:0;top:0;width:100%;height:3px;z-index:150;pointer-events:none}.v-progress span{display:block;background:var(--bordeaux);width:100%;height:100%;transform:scaleX(0);transform-origin:left}
.v-header{position:absolute;top:0;left:0;width:100%;z-index:30;display:flex;justify-content:space-between;align-items:flex-start;padding:2.2vw 4.8vw;color:#fff8ed}.v-brand{display:flex;flex-direction:column;text-decoration:none;font-family:var(--font-display);width:max-content;line-height:1}.v-brand-small{font-size:2.3vw;letter-spacing:.09em;line-height:1.4}.v-brand-large{font-size:6.2vw;letter-spacing:.04em;line-height:.95}.v-header .v-brand{text-shadow:0 1px 8px #24120966}.v-nav{display:flex;gap:3.4vw;padding-top:.3vw;font-family:var(--font-display);font-size:1.45vw;letter-spacing:.04em}.v-nav a{text-decoration:none;text-shadow:0 1px 8px #24120966}.v-nav a:hover{color:#f2d2b4}.v-toggle{display:none}.v-mobile-nav[hidden]{display:none}
.v-hero{width:100%;aspect-ratio:1536/1024;position:relative;background:#6b4529;isolation:isolate}.v-hero-bg{position:absolute;inset:0;width:100%;height:100%!important;max-width:none!important;object-fit:cover;z-index:-1}.v-hero .v-hero-copy{position:absolute;left:5%;top:26.3%;right:auto;bottom:auto;width:41%;display:block;transform:none;max-width:none;padding:0;align-items:initial;justify-content:initial}.v-hero h1{font-size:6.5vw;line-height:1.38;font-weight:550;letter-spacing:.025em;color:#381407}.v-line{display:block}.v-hero .v-hero-lead{position:absolute;top:20.6vw;left:0;width:44vw;font-family:var(--font-display);font-size:1.78vw;line-height:1.8;letter-spacing:.025em;color:#381407;margin:0}.v-hero-actions{position:absolute;top:25.5vw;left:0;display:flex;gap:1.8vw;align-items:stretch}.v-btn{display:flex;align-items:center;justify-content:center;gap:.55em;text-align:center;padding:14px 22px;min-height:58px;border:1px solid var(--bordeaux);border-radius:5px;color:var(--bordeaux)!important;text-decoration:none;font-family:var(--font-display);font-weight:550;line-height:1.45;background:#fff4df99;transition:background .25s,color .25s,box-shadow .25s}.v-btn-solid{background:var(--bordeaux);color:#fff8ed!important}.v-btn:hover{background:#eee1d2;box-shadow:0 3px 10px #32120c15}.v-btn-solid:hover{background:#5b1c2b}.v-btn:active{transform:translateY(1px)}.v-hero-actions .v-btn{padding:.5vw .8vw;min-height:5.1vw;min-width:16.8vw;font-size:1.65vw}.v-hero-actions .v-btn:nth-child(2){width:18.7vw;display:grid;grid-template-columns:24px 1fr;column-gap:8px;font-size:1.28vw}.v-hero-actions .v-btn:nth-child(2)>span:first-child{grid-row:1/3;font-size:1.7vw}.v-tel{display:block;letter-spacing:.025em}.v-hero-actions .v-tel{font-size:1.55vw;grid-column:2}.v-hero-badge{position:absolute;bottom:22%;right:2%;font-size:13px;padding:1px 12px;background:#fff9ed;color:#71263a;border-radius:20px}.v-preview-note{background:#eee7dc;color:#5d5044;padding:18px 24px;text-align:center;font-size:13px;line-height:1.8}.v-preview-note strong{margin-right:12px;font-weight:600}.v-only-mobile{display:none}
.v-section{max-width:1160px;margin:0 auto;padding:100px 36px}.vivace .section__head{display:block;margin-bottom:40px;max-width:none}.v-eyebrow{font-family:var(--font-display);font-size:16px;letter-spacing:.12em;color:var(--bordeaux);margin-bottom:20px!important}.v-intro{padding-top:105px;padding-bottom:110px}.v-intro-grid,.v-story-grid,.v-access-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.v-intro-grid .v-prose{line-height:2.25}.v-intro .section__head{margin-bottom:35px}.v-prose p:last-child{margin-bottom:0}.v-photo-wait{aspect-ratio:4/3;background:#e4ded5;border:1px solid #d3c9bd;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:15px;padding:25px;color:#66594b}.v-photo-wait span{font-size:12px;letter-spacing:.1em}.v-photo-wait strong{font-size:20px;font-family:var(--font-display);font-weight:500}.v-photo-wait small{font-size:13px}.v-band{background:#eee8de}.v-food-grid,.v-drink-grid{display:grid;grid-template-columns:1fr 1fr;gap:45px}.v-photo{position:relative;overflow:hidden;aspect-ratio:4/3}.v-photo img{display:block;width:100%;height:100%!important;object-fit:cover;transition:transform .8s}.v-photo:hover img{transform:scale(1.025)}.v-photo figcaption{position:absolute;right:12px;bottom:12px;background:#fff8ed;padding:2px 10px;border-radius:15px;font-size:12px;color:var(--bordeaux)}.v-food-grid article p,.v-drink-grid article p{font-size:16px}.v-pending{font-size:13px!important;color:#71604c;line-height:1.9}.v-small{font-size:14px;margin-top:25px!important}.v-menu-list{margin-top:45px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.v-menu-list summary{cursor:pointer;display:flex;justify-content:space-between;align-items:center;list-style:none;padding:25px 10px;font-family:var(--font-display);font-size:21px}.v-menu-list summary::-webkit-details-marker{display:none}.v-menu-list summary:hover{color:var(--bordeaux);background:#f8f4ed77}.v-menu-list[open] summary{border-bottom:1px solid var(--line)}.v-menu-list>div{padding:28px 12px 35px}.v-menu-columns{display:grid;grid-template-columns:1fr 1fr;gap:20px 45px}.v-menu-columns h3{font-size:20px}.v-menu-columns ul{list-style:none;padding:0;margin:0;font-size:15px;line-height:2.3}.v-drinks .section__head{max-width:700px}.v-hours-scroll{width:100%}.v-hours{border-collapse:collapse;width:100%;font-size:18px;background:transparent}.v-hours caption{text-align:left;font-family:var(--font-display);font-size:21px;margin:0 0 18px}.v-hours th,.v-hours td{padding:23px 20px;border-bottom:1px solid #cfc1af;text-align:left;font-weight:400;vertical-align:middle}.v-hours thead th{color:var(--bordeaux);font-size:15px}.v-hours small{display:block;font-size:13px;line-height:1.8;margin-top:5px}.v-hours-note{margin-top:30px!important;font-size:16px}.v-news{padding-top:20px}.v-news .section__head{margin-bottom:25px}.v-news>p{max-width:800px}.v-story-grid h2{font-size:34px}.v-access-grid h3{margin-top:0}.v-access-grid address{font-style:normal;line-height:2;margin:20px 0}.v-access-grid dl{margin:25px 0}.v-access-grid dl>div{display:grid;grid-template-columns:85px 1fr;gap:15px;border-bottom:1px solid var(--line);padding:12px 0;font-size:15px}.v-access-grid dt{color:#6b574a}.v-access-grid dd{margin:0}.v-text-link{display:inline-block;text-decoration:none;border-bottom:1px solid var(--bordeaux);padding:10px 0;margin-bottom:20px;color:var(--bordeaux)!important}.v-text-link:hover{border-bottom-color:transparent}.v-contact{padding:90px 25px;text-align:center;background:var(--bordeaux);color:#fff8ed}.v-contact h2{font-size:38px}.v-contact .v-eyebrow{color:#e5bdaf}.v-contact .v-btn{margin:30px auto 0;max-width:360px;background:var(--paper);color:var(--bordeaux)!important;flex-wrap:wrap;gap:4px 10px}.v-contact .v-btn:hover{background:white}.v-contact .v-tel{width:100%;font-size:27px}.v-contact .v-small{color:#ead6ce}.v-footer{background:#ede5d8;display:grid;grid-template-columns:1fr 1fr;gap:35px 70px;padding:65px max(36px,calc((100vw - 1088px)/2));font-size:14px}.v-footer .v-brand{color:var(--bordeaux);margin-bottom:25px}.v-footer .v-brand-small{font-size:22px}.v-footer .v-brand-large{font-size:54px}.v-footer p{line-height:2}.v-footer nav{display:grid;grid-template-columns:1fr 1fr;gap:15px 25px;align-content:start;padding-top:15px}.v-footer nav a{text-decoration:none}.v-footer nav a:hover{color:var(--bordeaux);text-decoration:underline}.v-footer-hours{margin:0!important}.v-footer small{grid-column:1/-1;padding-top:20px;border-top:1px solid var(--line);font-size:12px}.v-sticky{display:none}
@media(min-width:1800px){.v-header{padding-top:35px}.v-hero{max-height:none}}
@media(max-width:1000px){.v-section{padding:75px 30px}.v-intro-grid,.v-story-grid,.v-access-grid{gap:35px}.v-food-grid,.v-drink-grid{gap:30px}.v-nav{font-size:16px;gap:24px}.v-brand-small{font-size:23px}.v-brand-large{font-size:64px}.v-story-grid h2{font-size:29px}.v-hero .v-hero-copy{width:46%}.v-hero-badge{font-size:11px}.v-hours{font-size:16px}}
@media(max-width:700px){.vivace{font-size:16px;line-height:1.95}.v-header{padding:24px;align-items:flex-start}.v-header .v-brand-small{font-size:19px;line-height:1.4}.v-header .v-brand-large{font-size:53px}.v-nav{display:none}.v-toggle{display:flex;position:relative;width:44px;height:44px;border:1px solid #fff7eccc;background:#3b211c55;border-radius:4px;flex-direction:column;align-items:center;justify-content:center;gap:7px;cursor:pointer;z-index:51;padding:0}.v-toggle span{width:22px;height:1px;background:#fff8ed;transition:transform .3s}.v-toggle[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}.v-toggle[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}.v-mobile-nav{position:fixed;inset:0;background:#382016f5;z-index:40;color:#fff8ed;padding:125px 32px 40px}.v-mobile-nav nav{display:flex;flex-direction:column;gap:20px}.v-mobile-nav a{text-decoration:none;font-family:var(--font-display);font-size:23px;padding:8px 0;border-bottom:1px solid #fff3}.v-hero{aspect-ratio:auto;height:790px;min-height:720px;background:#8a512b;overflow:hidden}.v-hero-bg{object-fit:cover;object-position:62% center;opacity:.96}.v-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#2e170d30 0%,#f4d7a48c 28%,#f5d7aa9c 57%,#301a0b00 85%);z-index:-1;pointer-events:none}.v-hero .v-hero-copy{position:absolute;left:24px;top:215px;right:24px;bottom:auto;width:auto;max-width:none;display:block;padding:0;transform:none}.v-hero h1{font-size:clamp(46px,12vw,73px);line-height:1.55;letter-spacing:.025em}.v-hero .v-hero-lead{position:static;width:auto;max-width:340px;font-size:17px;line-height:2.1;letter-spacing:0;margin:34px 0 35px;text-wrap:pretty}.v-hero-actions{position:static;gap:12px;display:grid;grid-template-columns:1fr 1.12fr;max-width:420px}.v-hero-actions .v-btn{font-size:15px;padding:12px 8px;min-width:0;min-height:60px}.v-hero-actions .v-btn:nth-child(2){width:auto;font-size:12px;grid-template-columns:16px 1fr;gap:0 3px}.v-hero-actions .v-btn:nth-child(2)>span:first-child{font-size:18px}.v-hero-actions .v-tel{font-size:15px;letter-spacing:0}.v-hero-badge{bottom:18px;right:18px;font-size:11px}.v-preview-note{font-size:11px;text-align:left;padding:15px 20px}.v-only-mobile{display:block}.v-section{padding:65px 24px}.vivace h2{font-size:30px;line-height:1.8;margin-bottom:25px}.vivace h3{font-size:22px;line-height:1.7}.v-eyebrow{font-size:14px;margin-bottom:15px!important}.v-intro-grid,.v-story-grid,.v-access-grid{grid-template-columns:1fr;gap:32px}.v-intro-grid .v-prose{font-size:15px;line-height:2.2}.v-intro .section__head{margin-bottom:25px}.v-photo-wait{aspect-ratio:4/2.7}.v-food-grid,.v-drink-grid{grid-template-columns:1fr;gap:38px}.vivace .section__head{margin-bottom:28px}.v-food-grid article p,.v-drink-grid article p{font-size:15px}.v-menu-list{margin-top:30px}.v-menu-list summary{font-size:18px;padding:22px 0}.v-menu-columns{grid-template-columns:1fr;gap:12px}.v-menu-list>div{padding:20px 0}.v-menu-columns ul{font-size:14px}.v-hours{font-size:14px}.v-hours th,.v-hours td{padding:18px 6px}.v-hours th:first-child{width:30%}.v-hours thead th{font-size:13px}.v-hours small{font-size:11px}.v-hours-note{font-size:14px}.v-story-grid .v-photo-wait{order:2}.v-story-grid h2{font-size:28px}.v-news{padding-top:5px}.v-contact{padding:65px 24px}.v-contact h2{font-size:30px}.v-contact p{font-size:15px}.v-footer{grid-template-columns:1fr;padding:50px 24px 110px;gap:25px}.v-footer nav{gap:17px}.v-footer .v-brand-large{font-size:58px}.v-sticky{display:grid;position:fixed;bottom:0;left:0;width:100%;grid-template-columns:1fr 1fr;z-index:35;box-shadow:0 -2px 10px #24120922}.v-sticky a{text-align:center;background:#faf3e7;color:var(--bordeaux);text-decoration:none;font-family:var(--font-display);padding:14px 10px;font-size:16px}.v-sticky a:last-child{background:var(--bordeaux);color:white}.v-sticky a:hover{filter:brightness(.96)}[data-reveal="left"]{transform:translateX(-16px)}[data-reveal="right"]{transform:translateX(16px)}[data-reveal].is-visible{transform:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.v-progress{display:none}[data-reveal]{opacity:1!important;transform:none!important;clip-path:none!important}.v-photo img{transition:none}.v-photo:hover img{transform:none}}

/* Shared photo background also defines the header's inherited photographic plane. */
.v-header{background-image:url(../../shared/aabccd43660fc069a5b6.jpg);background-size:100vw auto;background-position:center top;background-repeat:no-repeat}
.v-hero{background-image:url(../../shared/aabccd43660fc069a5b6.jpg);background-size:cover;background-position:center}
.v-hero .v-hero-lead{top:19.6vw;font-weight:600}.v-hero h1{font-weight:600}
.v-hero-actions .v-btn{height:5.1vw;min-height:0}.v-hero-actions .v-btn:nth-child(2){grid-template-rows:1fr 1fr}
.v-brand-large{font-size:5.8vw;line-height:.95}.v-brand-small{font-size:2.3vw}
.v-pending,.v-small{font-size:15px!important}.v-preview-note{font-size:15px}.v-photo figcaption,.v-hero-badge{font-size:13px}
.v-menu-list:not([open])>div{display:none}.v-menu-group{padding:0}
@media(max-width:700px){
 .v-header{background-size:auto 790px;background-position:62% top}
 .v-hero{background-position:62% center}
 .v-hero .v-hero-lead{position:static;font-size:17px;font-weight:550}
 .v-hero-actions .v-btn{height:auto;min-height:60px}
 .v-sticky{display:block;position:static;box-shadow:none}
 .v-sticky a{position:fixed;bottom:0;left:0;width:50%;z-index:35;box-shadow:0 -2px 10px #24120915}
 .v-sticky a:last-child{left:50%}
 .v-preview-note{font-size:15px}
 .v-footer .v-brand-small{font-size:22px}.v-footer .v-brand-large{font-size:58px}
}

.v-hero-actions .v-phone-label{grid-column:2;grid-row:1;line-height:1.2}
.v-hero-actions .v-tel{grid-row:2;line-height:1.2}
@media(max-width:700px){.v-header{background-image:linear-gradient(#29140930,#29140900)}.v-hero .v-hero-lead{max-width:345px}.v-hero .v-hero-lead{font-size:17px}}

/* v9: three food photographs, secondary compact drinks. */
.v-food-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}
.v-food-grid h3{font-size:23px;line-height:1.7}
.v-drinks{padding-top:72px;padding-bottom:72px}
.v-drinks .section__head{margin-bottom:28px}
.v-drinks .section__head h2{font-size:32px;margin-bottom:20px}
.v-drink-grid{gap:38px}
.v-drink-grid article{display:grid;grid-template-columns:150px minmax(0,1fr);gap:12px 24px;align-content:start;align-items:start}
.v-drink-grid .v-photo{grid-column:1;grid-row:1/3;aspect-ratio:1}
.v-drink-grid h3{grid-column:2;margin:0;font-size:23px}
.v-drink-grid article>p{grid-column:2;margin:0}
@media(min-width:701px) and (max-width:1000px){.v-food-grid{gap:22px}.v-food-grid h3{font-size:21px}.v-drink-grid{gap:26px}.v-drink-grid article{grid-template-columns:110px minmax(0,1fr);gap:12px 16px}.v-drink-grid h3{font-size:21px}}
@media(max-width:700px){.v-food-grid{grid-template-columns:1fr;gap:38px}.v-food-grid h3{font-size:23px}.v-drinks{padding-top:55px;padding-bottom:55px}.v-drinks .section__head h2{font-size:28px}.v-drink-grid{grid-template-columns:1fr;gap:28px}.v-drink-grid article{grid-template-columns:100px minmax(0,1fr);gap:10px 18px}.v-drink-grid h3{font-size:21px}.v-drink-grid article>p{font-size:15px}.v-drink-grid figcaption{font-size:11px;padding:0 7px;right:5px;bottom:5px}}
@media(max-width:700px){.v-drink-grid figcaption{padding:6px 8px;font-size:12px;line-height:1.5;right:5px;bottom:5px}}

.v-phrase{display:inline-block}

/* v10: owner-approved reconstructed logo, header only. */
.v-header .v-brand{display:block;width:clamp(260px,23vw,360px);line-height:0}
.v-header .v-logo{display:block;width:100%;height:auto;filter:drop-shadow(0 1px 4px #28120955)}
@media(max-width:700px){.v-header .v-brand{width:230px;max-width:calc(100vw - 110px)}}

/* v11: supplied real photographs and three interior slots. */
.v-interior{margin:0;aspect-ratio:4/3;min-width:0}.v-interior-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;min-width:0}.v-interior-gallery>.v-interior{grid-column:1/-1}.v-interior-gallery .v-photo-wait{min-width:0;min-height:150px;aspect-ratio:4/3;padding:15px}.v-interior-gallery .v-photo-wait strong{font-size:18px}.v-interior-gallery .v-photo-wait small{font-size:13px}
.v-interior-gallery .v-photo-wait{aspect-ratio:auto;width:100%;box-sizing:border-box;overflow-wrap:anywhere}
