/* VIXEN ワイナリーの記録 : cellar.css */
:root{
  --wine:#4b1220;
  --wine-deep:#2a0912;
  --wine-soft:#6d2433;
  --paper:#f7f0e2;
  --paper-2:#fbf6ea;
  --cream:#f2e8d5;
  --gold:#b08a4f;
  --gold-soft:#cdb083;
  --ink:#2b1c17;
  --muted:#6f5a4c;
  --line:rgba(75,18,32,.18);
  --serif:"Cormorant Garamond","Noto Serif JP",serif;
  --jp:"Noto Serif JP","Hiragino Mincho ProN","Yu Mincho",serif;
  --mono:"IBM Plex Mono","SFMono-Regular",monospace;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;
  color:var(--ink);
  background:
    radial-gradient(1200px 500px at 15% -10%,rgba(176,138,79,.10),transparent 60%),
    radial-gradient(900px 420px at 100% 8%,rgba(75,18,32,.06),transparent 55%),
    repeating-linear-gradient(0deg,rgba(75,18,32,.018) 0 1px,transparent 1px 4px),
    var(--paper);
  font-family:var(--jp);
  font-size:16px;
  line-height:1.9;
  font-weight:400;
}
img{max-width:100%;display:block}
figure{margin:0}
a{color:inherit;text-decoration:none}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.wrap{width:100%;max-width:1240px;margin:0 auto;padding:0 28px}
.nw{white-space:nowrap}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* masthead */
.masthead{border-bottom:1px solid var(--gold);background:linear-gradient(180deg,rgba(251,246,234,.92),rgba(247,240,226,.6))}
.masthead .wrap{display:grid;grid-template-columns:300px minmax(0,1fr) auto;gap:26px;align-items:center;padding-top:18px;padding-bottom:14px}
.brand{display:flex;align-items:center;gap:14px;min-width:0}
.crest{width:64px;height:64px;flex:0 0 64px;border-radius:50%;border:1px solid var(--gold);position:relative;display:grid;place-items:center;background:var(--wine);color:var(--cream)}
.crest::before{content:"";position:absolute;inset:5px;border:1px solid rgba(205,176,131,.65);border-radius:50%}
.crest b{font-family:var(--serif);font-size:32px;font-weight:400;line-height:1;letter-spacing:.04em}
.brand-txt{display:flex;flex-direction:column;line-height:1.25;min-width:0}
.brand-txt b{font-family:var(--serif);font-size:27px;font-weight:500;letter-spacing:.16em}
.brand-txt span{font-family:var(--mono);font-size:9.5px;letter-spacing:.14em;color:var(--wine);text-transform:uppercase;margin-top:5px}
.brand-txt em{font-style:normal;font-size:11px;color:var(--muted);letter-spacing:.06em;margin-top:2px}

.nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px 18px;border-left:1px solid var(--line);padding-left:26px}
.nav a{display:flex;align-items:baseline;gap:8px;padding:3px 0;font-size:13.5px;color:#3a2a22;border-bottom:1px solid transparent;transition:color .15s,border-color .15s;white-space:nowrap;width:max-content;max-width:100%}
.nav a i{font-family:var(--mono);font-style:normal;font-size:9.5px;color:var(--gold);letter-spacing:.05em}
.nav a:hover{color:var(--wine);border-color:var(--gold)}
.nav a.on{color:var(--wine);border-color:var(--wine)}
.mast-cta{display:flex;flex-direction:column;align-items:flex-end;gap:4px}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 22px;background:var(--wine);color:var(--cream);border:1px solid var(--wine);font-family:var(--jp);font-size:13.5px;letter-spacing:.14em;transition:background .15s,color .15s}
.btn:hover{background:var(--wine-deep);border-color:var(--wine-deep)}
.btn.ghost{background:transparent;color:var(--wine);border-color:var(--wine)}
.btn.ghost:hover{background:var(--wine);color:var(--cream)}
.mast-cta small{font-family:var(--mono);font-size:9px;color:var(--muted);letter-spacing:.1em}

/* hero */
.hero{display:grid;grid-template-columns:minmax(0,.96fr) minmax(0,1.04fr);gap:52px;align-items:center;padding:30px 0 34px}
.kicker{font-family:var(--mono);font-size:9.5px;letter-spacing:.19em;color:var(--wine);margin:0 0 13px;text-transform:uppercase}
.hero h1{font-family:var(--serif);font-weight:300;font-size:clamp(40px,4.4vw,62px);line-height:1.12;letter-spacing:.01em;margin:0 0 22px;color:var(--wine-deep)}
.hero h1 span{display:block;font-size:10px;letter-spacing:.28em;color:var(--gold);margin-top:13px;font-family:var(--mono);font-weight:400;line-height:1.6}
.hero p{font-size:14.5px;line-height:1.88;margin:0 0 12px;color:#3b2b23;max-width:56ch}
.acts{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0 18px}
.taste{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--gold);border-bottom:1px solid var(--line);padding:10px 0}
.taste div{padding:0 12px;border-left:1px solid var(--line)}
.taste div:first-child{border-left:0;padding-left:0}
.taste b{display:block;font-family:var(--serif);font-size:22px;font-weight:500;color:var(--wine);line-height:1.3}
.taste span{font-family:var(--mono);font-size:9.5px;letter-spacing:.1em;color:var(--muted)}

.plate{position:relative;background:var(--paper-2);border:1px solid var(--gold);padding:13px;box-shadow:0 18px 40px -32px rgba(43,9,18,.55)}
.plate::before{content:"";position:absolute;inset:6px;border:1px solid rgba(176,138,79,.38);pointer-events:none}
.plate-img{position:relative;overflow:hidden;border-radius:70px 70px 3px 3px;background:var(--wine-deep)}
.plate-img img{width:100%;height:auto;aspect-ratio:1440/1000;object-fit:cover}
.seal{position:absolute;top:-22px;right:-16px;width:78px;height:78px;border-radius:50%;background:var(--wine);color:var(--cream);display:grid;place-items:center;border:1px solid var(--gold-soft);box-shadow:0 6px 18px -8px rgba(0,0,0,.5);z-index:2}
.seal::before{content:"";position:absolute;inset:5px;border:1px solid rgba(205,176,131,.6);border-radius:50%}
.seal b{font-family:var(--serif);font-size:30px;font-weight:400;line-height:1;margin-top:-4px}
.seal span{font-family:var(--mono);font-size:7px;letter-spacing:.12em;margin-top:2px}
figcaption{font-size:11.5px;line-height:1.75;color:var(--muted);padding:12px 4px 2px;border-top:1px solid var(--line);margin-top:13px}

/* partners */
.partners{background:var(--wine-deep);color:var(--cream);border-top:1px solid var(--gold);border-bottom:1px solid rgba(176,138,79,.45);padding:26px 0 30px}
.partners .phead{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:16px}
.partners h2{font-family:var(--serif);font-size:19px;font-weight:500;letter-spacing:.34em;margin:0;color:var(--cream)}
.partners .phead span{font-family:var(--mono);font-size:9.5px;letter-spacing:.16em;color:var(--gold-soft)}
.pgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}
.pgrid a{display:flex;align-items:center;justify-content:center;height:100px;background:#19050b;border:1px solid rgba(176,138,79,.34);transition:border-color .15s,background .15s}
.pgrid a:hover{border-color:var(--gold);background:#220810}
.pgrid img{height:60px;width:auto;max-width:88%;object-fit:contain}

/* chapters */
.chapter{padding:52px 0;border-top:1px solid var(--line)}
.chapter:first-of-type{border-top:0}
.ch-head{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;margin-bottom:10px}
.ch-no{font-family:var(--mono);font-size:11px;letter-spacing:.12em;color:var(--gold)}
.ch-head h2{font-family:var(--jp);font-weight:500;font-size:27px;letter-spacing:.1em;margin:0;color:var(--wine-deep)}
.ch-en{font-family:var(--mono);font-size:9.5px;letter-spacing:.22em;color:var(--muted);text-transform:uppercase;margin-left:auto}
.lede{font-size:15px;line-height:2;color:#3b2b23;max-width:82ch;margin:0 0 26px}
.chapter p{font-size:14.5px;line-height:2;color:#43322a;max-width:82ch}

.spec{border-top:1px solid var(--wine);border-bottom:1px solid var(--wine);margin:26px 0 0}
.spec div{display:grid;grid-template-columns:150px minmax(0,1fr) auto;gap:16px;align-items:baseline;padding:13px 2px;border-bottom:1px solid var(--line)}
.spec div:last-child{border-bottom:0}
.spec dt{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;color:var(--muted);text-transform:uppercase}
.spec dd{margin:0;font-family:var(--jp);font-size:15.5px;color:#33241d}
.spec em{font-style:normal;font-family:var(--mono);font-size:11px;color:var(--gold);letter-spacing:.08em}

.inlets{border-top:1px solid var(--wine)}
.inlet{display:grid;grid-template-columns:66px 210px minmax(0,1fr) 110px;gap:20px;align-items:start;padding:24px 0;border-bottom:1px solid var(--line)}
.inlet .no{font-family:var(--serif);font-size:40px;line-height:1;color:var(--gold-soft);font-weight:300}
.inlet h3{font-family:var(--serif);font-size:22px;font-weight:500;line-height:1.3;margin:0;color:var(--wine)}
.inlet h3 span{display:block;font-family:var(--mono);font-size:9px;letter-spacing:.16em;color:var(--muted);margin-top:5px}
.inlet p{margin:0;font-size:14px;line-height:1.95;color:#43322a}
.inlet .fig{text-align:right;font-family:var(--mono);font-size:11px;color:var(--wine);letter-spacing:.04em}
.inlet .fig b{display:block;font-family:var(--serif);font-size:27px;font-weight:500;line-height:1.2;color:var(--wine-deep)}

.regions{border-top:1px solid var(--wine)}
.region{display:grid;grid-template-columns:190px 120px minmax(0,1fr);gap:24px;align-items:start;padding:20px 0;border-bottom:1px solid var(--line)}
.region h3{font-family:var(--jp);font-size:20px;font-weight:500;margin:0;color:var(--wine-deep)}
.region h3 span{display:block;font-family:var(--mono);font-size:9px;letter-spacing:.16em;color:var(--muted);margin-top:4px}
.region .count{font-family:var(--mono);font-size:11px;color:var(--gold);letter-spacing:.04em}
.region .count b{display:block;font-family:var(--serif);font-size:25px;font-weight:500;color:var(--wine);line-height:1.2}
.region p{margin:0;font-size:14px;line-height:1.95;color:#43322a}

.steps{margin-top:8px}
.step{display:grid;grid-template-columns:84px minmax(0,1fr);gap:24px;padding:22px 0 26px;border-bottom:1px solid var(--line);position:relative}
.step .n{font-family:var(--mono);font-size:38px;font-weight:400;line-height:1;color:var(--gold-soft);letter-spacing:-.04em}
.step h3{font-family:var(--jp);font-size:18px;font-weight:500;margin:0 0 8px;color:var(--wine-deep)}
.step p{margin:0;font-size:14px;line-height:1.95;color:#43322a}

/* price band */
.cellar{background:var(--wine-deep);color:var(--cream);border-top:1px solid var(--gold);border-bottom:1px solid var(--gold);padding:52px 0 56px;margin:0}
.cellar .ch-head h2{color:var(--cream)}
.cellar .ch-no{color:var(--gold-soft)}
.cellar .ch-en{color:rgba(242,232,213,.55)}
.cellar .lede{color:rgba(242,232,213,.8)}
.plist{margin:24px 0 18px;border-top:1px solid rgba(176,138,79,.6)}
.prow{display:grid;grid-template-columns:1.5fr .72fr 1.05fr .7fr;gap:16px;align-items:baseline;padding:15px 10px;border-bottom:1px solid rgba(242,232,213,.16)}
.prow.head{padding-top:0;padding-bottom:9px;border-bottom:1px solid rgba(176,138,79,.5);font-family:var(--mono);font-size:9.5px;letter-spacing:.14em;color:var(--gold-soft)}
.prow.hot{background:rgba(176,138,79,.09);box-shadow:inset 2px 0 0 var(--gold)}
.pc{min-width:0}
.pn{display:block;font-family:var(--jp);font-size:16px;letter-spacing:.04em;color:var(--cream)}
.pd{display:block;font-size:11.5px;color:rgba(242,232,213,.6);margin-top:2px}
.price{font-family:var(--serif);font-size:30px;font-weight:400;color:var(--cream);text-align:right;line-height:1.2}
.per{text-align:right;font-family:var(--mono);font-size:10.5px;color:rgba(242,232,213,.78);letter-spacing:.02em}
.pnote{font-size:12px;line-height:1.9;color:rgba(242,232,213,.65);max-width:88ch;margin:0}
.pnote b{color:var(--gold-soft);font-weight:400}

.memo{display:grid;grid-template-columns:220px minmax(0,1fr);gap:34px;align-items:start;padding:48px 0 56px}
.memo .tag{font-family:var(--mono);font-size:10px;letter-spacing:.16em;color:var(--gold);text-transform:uppercase;border-top:1px solid var(--gold);padding-top:10px}
.memo p{font-size:14.5px;line-height:2;color:#43322a;margin:0 0 14px}
.memo a{color:var(--wine);border-bottom:1px solid var(--gold-soft)}
.memo a:hover{border-color:var(--wine)}

/* page head */
.page-head{padding:46px 0 30px;border-bottom:1px solid var(--line)}
.page-head .kicker{margin-bottom:12px}
.page-head h1{font-family:var(--serif);font-weight:300;font-size:clamp(36px,4.6vw,56px);line-height:1.18;margin:0 0 14px;color:var(--wine-deep)}
.page-head p{font-size:14.5px;line-height:2;max-width:78ch;color:#43322a;margin:0}
.page-head .en{font-family:var(--mono);font-size:9.5px;letter-spacing:.17em;color:var(--gold);margin-top:14px;max-width:none}

/* labels */
.label-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;padding:40px 0 54px}
.label-card{position:relative;background:var(--paper-2);border:1px solid var(--gold);padding:22px 22px 18px;min-width:0;display:flex;flex-direction:column}
.label-card::before{content:"";position:absolute;inset:5px;border:1px solid rgba(176,138,79,.3);pointer-events:none}
.lot{display:flex;justify-content:space-between;gap:10px;font-family:var(--mono);font-size:9px;letter-spacing:.12em;color:var(--muted);border-bottom:1px solid var(--line);padding-bottom:9px;margin-bottom:14px}
.lot b{color:var(--wine);font-weight:400}
.label-card h2{font-family:var(--serif);font-size:22px;font-weight:500;line-height:1.32;margin:0 0 8px;color:var(--wine-deep);overflow-wrap:break-word}
.cast{font-family:var(--mono);font-size:10px;letter-spacing:.06em;color:var(--wine);text-transform:uppercase;margin:0 0 12px;line-height:1.7}
.label-card .note{font-size:13.5px;line-height:1.9;color:#43322a;margin:0 0 14px}
.meta{display:grid;margin-top:auto;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line);padding-top:10px;gap:8px}
.meta div{font-family:var(--mono);font-size:9px;letter-spacing:.08em;color:var(--muted)}
.meta b{display:block;font-family:var(--serif);font-size:18px;font-weight:500;color:var(--wine);letter-spacing:.02em;margin-top:3px;line-height:1.2}
.meta .score b{color:var(--gold)}

/* regions page */
.region-block{display:grid;grid-template-columns:300px minmax(0,1fr);gap:0;border:1px solid var(--gold);margin:0 0 20px;background:var(--paper-2)}
.rb-label{background:var(--wine-deep);color:var(--cream);padding:26px 24px;display:flex;flex-direction:column;justify-content:space-between;min-height:210px}
.rb-label .rn{font-family:var(--mono);font-size:10px;letter-spacing:.18em;color:var(--gold-soft)}
.rb-label h2{font-family:var(--jp);font-size:24px;font-weight:500;line-height:1.4;margin:8px 0 0;color:var(--cream)}
.rb-label .ren{font-family:var(--serif);font-size:15px;letter-spacing:.08em;color:rgba(242,232,213,.6);margin-top:2px}
.rb-label .rc{font-family:var(--mono);font-size:10px;letter-spacing:.1em;color:var(--gold-soft);margin-top:22px}
.rb-label .rc b{display:block;font-family:var(--serif);font-size:36px;font-weight:300;line-height:1.1;color:var(--cream)}
.rb-body{padding:26px 28px}
.rb-body p{font-size:14px;line-height:2;margin:0 0 12px;color:#43322a}
.rb-body .use{font-size:12.5px;color:var(--muted);border-top:1px solid var(--line);padding-top:10px;margin:0}
.rb-body .use b{font-family:var(--mono);font-size:9px;letter-spacing:.14em;color:var(--gold);font-weight:400}

/* guide */
.article{padding:38px 0 56px}
.article .chapter{padding:38px 0}
.article h2{font-family:var(--jp);font-size:24px;font-weight:500;letter-spacing:.06em;color:var(--wine-deep);margin:0 0 14px}
.article h2 .n{font-family:var(--mono);font-size:11px;color:var(--gold);margin-right:10px;letter-spacing:.1em}
.article p{font-size:14.5px;line-height:2.05;margin:0 0 14px;color:#3d2c24;max-width:80ch}
.article .figure{border:1px solid var(--gold);padding:12px;background:var(--paper-2);margin:22px 0 8px}
.article .figure img{width:100%;height:auto}
.article .figure figcaption{border-top:1px solid var(--line);margin-top:10px;padding-top:9px}
.pull{border-left:2px solid var(--gold);padding:4px 0 4px 18px;margin:22px 0;font-family:var(--jp);font-size:15px;line-height:1.95;color:var(--wine)}
.mini{width:100%;border-collapse:collapse;margin:18px 0;font-size:13px}
.mini th,.mini td{text-align:left;padding:9px 12px;border-bottom:1px solid var(--line)}
.mini th{font-family:var(--mono);font-size:9.5px;letter-spacing:.1em;color:var(--muted);font-weight:400;border-bottom:1px solid var(--wine)}
.mini td.n{font-family:var(--mono);font-size:12px;color:var(--wine);white-space:nowrap}

/* faq */
.faq{padding:34px 0 54px;max-width:980px}
.faq details{border-bottom:1px solid var(--line);padding:0}
.faq summary{list-style:none;cursor:pointer;display:flex;align-items:baseline;gap:16px;padding:20px 30px 20px 0;position:relative;font-family:var(--jp);font-size:18px;line-height:1.65;color:var(--wine-deep)}
.faq summary::-webkit-details-marker{display:none}
.faq summary .q{font-family:var(--mono);font-size:10px;color:var(--gold);letter-spacing:.1em;flex:0 0 30px}
.faq summary::after{content:"+";position:absolute;right:4px;top:16px;font-family:var(--mono);font-size:20px;color:var(--gold);line-height:1}
.faq details[open] summary::after{content:"-"}
.faq .a{padding:0 30px 22px 46px;font-size:14px;line-height:2;color:#43322a}
.faq .a p{margin:0 0 8px}
.faq .a a{color:var(--wine);border-bottom:1px solid var(--gold-soft)}

/* about */
.about{padding:36px 0 56px;max-width:980px}
.about h2{font-family:var(--jp);font-size:22px;font-weight:500;color:var(--wine-deep);margin:34px 0 12px;padding-top:16px;border-top:1px solid var(--line)}
.about h2:first-of-type{border-top:0;padding-top:0;margin-top:0}
.about p{font-size:14.5px;line-height:2.05;color:#3d2c24;margin:0 0 14px;max-width:82ch}
.about .ledger{width:100%;border-collapse:collapse;margin:14px 0 18px;font-size:13px;table-layout:fixed}
.about .ledger th,.about .ledger td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:top}
.about .ledger th{font-family:var(--mono);font-size:9.5px;letter-spacing:.1em;color:var(--muted);font-weight:400;border-bottom:1px solid var(--wine)}

/* 404 */
.lost{min-height:62vh;display:grid;place-items:center;text-align:center;padding:60px 0 70px}
.lost .code{font-family:var(--serif);font-size:clamp(90px,16vw,170px);font-weight:300;line-height:.9;color:var(--wine);letter-spacing:.04em}
.lost h1{font-family:var(--jp);font-size:24px;font-weight:500;color:var(--wine-deep);margin:18px 0 12px}
.lost p{font-size:14px;line-height:1.95;color:var(--muted);max-width:52ch;margin:0 auto 26px}
.lost .links{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}
.lost .links a{border:1px solid var(--gold);padding:8px 16px;font-size:12.5px;color:var(--wine);background:rgba(251,246,234,.6)}
.lost .links a:hover{background:var(--wine);color:var(--cream);border-color:var(--wine)}

/* footer */
footer{background:var(--wine-deep);color:rgba(242,232,213,.78);border-top:1px solid var(--gold);padding:40px 0 26px;margin-top:10px}
.fgrid{display:grid;grid-template-columns:1.3fr .8fr .8fr 1.1fr;gap:30px}
.fbrand b{display:block;font-family:var(--serif);font-size:24px;letter-spacing:.2em;color:var(--cream);font-weight:400}
.fbrand span{display:block;font-family:var(--mono);font-size:9px;letter-spacing:.14em;color:var(--gold-soft);margin:6px 0 12px}
.fbrand p{font-size:11.5px;line-height:1.9;color:rgba(242,232,213,.55);margin:0;max-width:34ch}
.fcol h3{font-family:var(--mono);font-size:9px;letter-spacing:.2em;font-weight:400;color:var(--gold-soft);margin:0 0 10px}
.fcol a{display:block;font-size:12px;padding:2px 0;color:rgba(242,232,213,.75)}
.fcol a:hover{color:var(--cream)}
.fnote{font-size:11px;line-height:1.85;color:rgba(242,232,213,.5)}
.fnote .adult{display:inline-block;border:1px solid var(--gold-soft);color:var(--gold-soft);font-family:var(--mono);font-size:9px;padding:2px 6px;margin-bottom:7px;letter-spacing:.08em}
.copy{border-top:1px solid rgba(242,232,213,.14);margin-top:28px;padding-top:14px;display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;font-family:var(--mono);font-size:9px;letter-spacing:.06em;color:rgba(242,232,213,.4)}

@media (max-width:1000px){
  .masthead .wrap{grid-template-columns:1fr auto;gap:12px 18px}
  .brand{grid-column:1}
  .mast-cta{grid-column:2;grid-row:1}
  .nav{grid-column:1 / -1;grid-row:2;border-left:0;padding-left:0;padding-top:8px;border-top:1px solid var(--line)}
  .hero{grid-template-columns:1fr;gap:32px;padding-top:30px}
  .hero p{max-width:none}
  .plate{max-width:720px}
  .label-grid{grid-template-columns:1fr}
  .fgrid{grid-template-columns:1fr 1fr}
  .region-block{grid-template-columns:240px minmax(0,1fr)}
}
@media (max-width:760px){
  body{font-size:15px}
  .wrap{padding:0 16px}
  .masthead .wrap{padding-top:12px;padding-bottom:10px}
  .crest{width:50px;height:50px;flex-basis:50px}
  .crest b{font-size:26px}
  .brand-txt b{font-size:22px;letter-spacing:.12em}
  .brand-txt span{font-size:8px}
  .brand-txt em{font-size:10px}
  .mast-cta .btn{min-height:38px;padding:0 12px;font-size:11.5px;letter-spacing:.06em}
  .mast-cta small{display:none}
  .nav{gap:2px 10px}
  .nav a{font-size:12px;gap:5px;padding:4px 0}
  .nav a i{font-size:8.5px}
  .hero{padding:24px 0 32px;gap:0;display:flex;flex-direction:column}
  .hero-copy{display:contents}
  .hero .kicker{order:1}
  .hero h1{order:2}
  .hero .plate{order:3;margin:20px 0 22px}
  .hero-copy > p:nth-of-type(2){order:4}
  .hero-copy > p:nth-of-type(3){order:5}
  .hero .acts{order:6}
  .hero .taste{order:7;margin-top:4px}
  .hero h1{font-size:37px;line-height:1.16;margin-bottom:16px}
  .hero h1 span{font-size:9px;letter-spacing:.12em;margin-top:10px}
  .hero p{font-size:14px;line-height:1.9;margin-bottom:12px}
  .acts{margin:18px 0 16px}
  .btn{min-height:42px;padding:0 16px;font-size:12.5px}
  .taste b{font-size:19px}
  .taste span{font-size:8.5px}
  .plate{padding:9px}
  .plate-img{border-radius:40px 40px 3px 3px}
  .seal{width:62px;height:62px;top:-14px;right:-6px}
  .seal b{font-size:24px}
  figcaption{font-size:10.5px}
  .partners{padding:20px 0 24px}
  .partners h2{font-size:16px}
  .partners .phead span{font-size:8px}
  .pgrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
  .pgrid a{height:84px}
  .pgrid img{height:60px}
  .chapter{padding:36px 0}
  .ch-head h2{font-size:22px}
  .ch-en{display:none}
  .lede{font-size:14px;margin-bottom:18px}
  .spec div{grid-template-columns:105px minmax(0,1fr);gap:10px}
  .spec em{display:none}
  .spec dd{font-size:14px}
  .inlet{grid-template-columns:44px minmax(0,1fr);gap:6px 14px;padding:20px 0}
  .inlet .no{font-size:32px;grid-row:1 / span 2}
  .inlet h3{font-size:20px}
  .inlet p{grid-column:2}
  .inlet .fig{grid-column:1 / -1;text-align:left;margin-top:6px;font-size:10px}
  .inlet .fig b{display:inline;font-size:17px;margin-right:4px}
  .region{grid-template-columns:1fr auto;gap:2px 12px;padding:16px 0}
  .region h3{font-size:18px}
  .region .count{grid-column:2;grid-row:1;text-align:right}
  .region .count b{font-size:20px}
  .region p{grid-column:1 / -1;margin-top:6px;font-size:13.5px}
  .step{grid-template-columns:52px minmax(0,1fr);gap:14px;padding:18px 0 20px}
  .step .n{font-size:30px}
  .step h3{font-size:17px}
  .cellar{padding:38px 0 42px}
  .prow{grid-template-columns:minmax(0,1fr) auto;gap:3px 12px;padding:14px 2px}
  .prow.head{display:none}
  .prow .pc{grid-column:1;grid-row:1 / span 3}
  .prow .pn{font-size:14px;white-space:nowrap}
  .prow .pd{font-size:10px}
  .prow .price{grid-column:2;grid-row:1;font-size:23px}
  .prow .per{grid-column:2;text-align:right;font-size:9.5px}
  .prow .per.upd{grid-row:2}
  .prow .per.day{grid-row:3}
  .prow .per.day.na{display:none}
  .prow .per.upd::before{content:"更新 ";color:var(--gold-soft)}
  .prow .per.day::before{content:"1日 ";color:var(--gold-soft)}
  .memo{grid-template-columns:1fr;gap:14px;padding:36px 0 42px}
  .page-head{padding:32px 0 22px}
  .page-head h1{font-size:34px}
  .label-grid{padding:26px 0 40px;gap:16px}
  .label-card{padding:18px 16px 14px}
  .label-card h2{font-size:20px}
  .meta b{font-size:16px}
  .region-block{grid-template-columns:1fr}
  .rb-label{min-height:0;padding:18px 18px 16px;display:block}
  .rb-label h2{font-size:21px}
  .rb-label .rc{margin-top:10px;display:flex;align-items:baseline;gap:8px}
  .rb-label .rc b{font-size:26px}
  .rb-body{padding:18px}
  .article{padding:26px 0 40px}
  .article h2{font-size:20px}
  .article p{font-size:14px}
  .mini,.mini tbody,.mini tr,.mini td{display:block;width:auto}
  .mini thead{display:none}
  .mini tr{padding:12px 0;border-bottom:1px solid var(--line)}
  .mini td{border:0;padding:1px 0}
  .mini td:first-child{font-size:14px;line-height:1.6;margin-bottom:2px}
  .mini td.n{display:inline;font-size:13px}
  .mini td:nth-child(3),.mini td:nth-child(4){display:inline;font-size:10.5px;color:var(--muted);margin-left:12px}
  .mini td:nth-child(3)::before{content:"更新 ";color:var(--gold)}
  .mini td:nth-child(4)::before{content:"1日 ";color:var(--gold)}
  .faq{padding:24px 0 40px}
  .faq summary{font-size:15.5px;padding:16px 26px 16px 0;gap:10px}
  .faq summary .q{flex-basis:24px;font-size:9px}
  .faq .a{padding:0 10px 18px 34px;font-size:13.5px}
  .about{padding:26px 0 40px}
  .about h2{font-size:19px;margin-top:26px}
  .about p{font-size:14px}
  .about .ledger,.about .ledger tbody,.about .ledger tr,.about .ledger td{display:block;width:auto}
  .about .ledger thead{display:none}
  .about .ledger tr{padding:10px 0;border-bottom:1px solid var(--line)}
  .about .ledger td{border:0;padding:1px 0;font-size:12px}
  .about .ledger td:first-child{font-size:14px;line-height:1.6;margin-bottom:2px}
  .about .ledger td:nth-child(2),.about .ledger td:nth-child(3),.about .ledger td:nth-child(4){display:inline;color:var(--muted)}
  .about .ledger td:nth-child(2)::before{content:"本文 ";color:var(--gold)}
  .about .ledger td:nth-child(3)::before{content:"別 ";color:var(--gold)}
  .about .ledger td:nth-child(4)::before{content:"取り方 ";color:var(--gold)}
  .about .ledger td:nth-child(2)::after,.about .ledger td:nth-child(3)::after{content:"  ・  "}
  .fgrid{grid-template-columns:1fr 1fr;gap:22px}
  .fbrand{grid-column:1 / -1}
  .fnote{grid-column:1 / -1}
  .lost{padding:46px 0 54px}
  .lost h1{font-size:20px}
  .lost p{font-size:13px}
  .copy{font-size:8px}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
