:root{
  --bg:#0c0b0d; --bg-2:#131117;
  --line:rgba(224,196,140,.18);
  --amber:#d9a441; --amber-lt:#f0c982;
  --text:#ece7e0; --muted:#9d958c;
  --serif-en:'Cormorant Garamond','Times New Roman',serif;
  --serif-jp:'Zen Old Mincho','Hiragino Mincho ProN','Yu Mincho',serif;
  --sans-jp:'Zen Kaku Gothic New','Hiragino Sans','Yu Gothic',sans-serif;
  --pad:clamp(20px,5vw,64px);
}
*,*::before,*::after{box-sizing:border-box;}
body{
  margin:0;background:var(--bg);color:var(--text);
  font-family:var(--sans-jp);font-size:15px;line-height:1.95;letter-spacing:.06em;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}

body::after{
  content:'';position:fixed;inset:0;z-index:9999;pointer-events:none;opacity:.28;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E");
}

/* ヘッダー */
.hd{
  position:sticky;top:0;z-index:100;
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:14px var(--pad);
  background:rgba(12,11,13,.9);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line);
}
.hd__logo{font-family:var(--serif-en);font-size:16px;letter-spacing:.3em;color:var(--amber-lt);white-space:nowrap;}
.hd__act{display:flex;gap:10px;align-items:center;}
.btn{
  font-size:11.5px;letter-spacing:.16em;padding:9px 18px;white-space:nowrap;
  border:1px solid var(--line);color:var(--muted);border-radius:2px;
  background:none;font-family:inherit;cursor:pointer;transition:border-color .3s,color .3s;
}
.btn:hover{border-color:var(--amber);color:var(--amber-lt);}
.btn--g{border-color:var(--amber);color:var(--amber-lt);}
.btn--g:hover{background:var(--amber);color:#17130c;}
/* 狭い画面ではボタンが3つ並びきらず、右端が切れていた。
   ロゴを1行目、ボタンを2行目に折り返す。 */
@media(max-width:640px){
  .hd{flex-wrap:wrap;gap:10px 12px;padding:12px var(--pad);}
  .hd__logo{font-size:13px;letter-spacing:.2em;}
  .hd__act{width:100%;gap:8px;}
  .hd__act .btn{flex:1 1 0;padding:9px 6px;font-size:11px;letter-spacing:.1em;text-align:center;}
}

/* 表紙 */
.cover{position:relative;padding:clamp(56px,10vw,110px) var(--pad) clamp(48px,8vw,88px);overflow:hidden;}
.cover__bg{position:absolute;inset:0;}
.cover__bg img{width:100%;height:100%;object-fit:cover;opacity:.30;}
.cover__bg::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(to bottom,rgba(12,11,13,.72),rgba(12,11,13,.90) 55%,var(--bg));
}
.cover__in{position:relative;z-index:2;max-width:920px;margin:0 auto;text-align:center;}
.cover__brand{font-family:var(--serif-en);font-size:13px;letter-spacing:.38em;color:var(--amber);margin:0 0 22px;}
.cover__ttl{
  font-family:var(--serif-en);font-weight:300;font-size:clamp(38px,8.5vw,76px);
  line-height:1;letter-spacing:.1em;margin:0;color:#fff;
}
.cover__jp{font-family:var(--serif-jp);font-size:clamp(13px,3vw,16px);letter-spacing:.3em;color:#ded6ca;margin:20px 0 0;}
.cover__rule{width:48px;height:1px;background:var(--amber);margin:30px auto;}
.cover__lead{font-size:13.5px;line-height:2.3;color:#c6bdb2;max-width:32em;margin:0 auto;}

/* 本文 */
.sheet{max-width:920px;margin:0 auto;padding:0 var(--pad) clamp(70px,10vw,120px);}
.grp{margin-top:clamp(56px,8vw,92px);}
.grp__hd{display:flex;align-items:baseline;gap:18px;border-bottom:1px solid var(--line);padding-bottom:14px;}
.grp__no{font-family:var(--serif-en);font-size:12px;letter-spacing:.3em;color:var(--amber);font-variant-numeric:lining-nums;}
.grp__jp{font-family:var(--serif-jp);font-size:clamp(19px,4vw,25px);font-weight:500;letter-spacing:.16em;margin:0;}
.grp__en{font-family:var(--serif-en);font-size:12px;letter-spacing:.28em;color:var(--muted);margin-left:auto;text-transform:uppercase;white-space:nowrap;}
@media(max-width:560px){ .grp__en{display:none;} }

.grp__note{font-size:12.5px;color:var(--muted);line-height:2.1;margin:16px 0 0;}

.list{list-style:none;margin:6px 0 0;padding:0;}
.d{padding:22px 0 20px;border-bottom:1px solid rgba(224,196,140,.09);display:flex;gap:20px;align-items:flex-start;}
.d:last-child{border-bottom:none;}
.d__mark{
  font-family:var(--serif-en);font-size:11px;letter-spacing:.14em;color:var(--amber);
  padding-top:5px;min-width:26px;font-variant-numeric:lining-nums;
}
.d__body{flex:1;min-width:0;}
.d__jp{font-family:var(--serif-jp);font-size:17px;letter-spacing:.1em;line-height:1.7;margin:0;}
.d__en{font-family:var(--serif-en);font-style:italic;font-size:13.5px;letter-spacing:.05em;color:var(--amber-lt);margin:5px 0 0;}
.d__note{font-size:12.5px;color:var(--muted);line-height:2;margin:9px 0 0;}
.d__tag{
  display:inline-block;margin:11px 6px 0 0;padding:4px 12px;
  border:1px solid var(--line);border-radius:999px;font-size:10.5px;letter-spacing:.12em;color:#ddd5c9;
}
/* 銘柄の写真。ボトルが手元にある銘柄だけ、右側に小さく添える */
.d__pic{margin:0;flex:0 0 92px;width:92px;}
.d__pic img{
  display:block;width:100%;aspect-ratio:3/4;object-fit:cover;
  border-radius:2px;border:1px solid var(--line);
}
\@media(max-width:560px){ .d__pic{flex-basis:66px;width:66px;} }
.d--star .d__mark{color:var(--amber-lt);}
.d--star .d__jp::after{content:'★';font-size:10px;color:var(--amber);margin-left:9px;vertical-align:middle;}

/* 価格帯 */
.pricebar{
  margin-top:clamp(56px,8vw,92px);border:1px solid var(--line);border-radius:3px;
  padding:clamp(26px,5vw,40px);text-align:center;
  background:linear-gradient(160deg,rgba(217,164,65,.07),transparent 58%);
}
.pricebar h2{font-family:var(--serif-jp);font-size:17px;font-weight:500;letter-spacing:.2em;margin:0 0 22px;}
.pricebar__row{display:flex;justify-content:center;gap:clamp(24px,6vw,60px);flex-wrap:wrap;}
.pricebar__i{text-align:center;}
.pricebar__i span{display:block;font-size:12px;color:var(--muted);letter-spacing:.14em;margin-bottom:8px;}
.pricebar__i b{
  font-family:var(--serif-en);font-size:clamp(32px,7vw,46px);font-weight:300;
  color:var(--amber-lt);line-height:1;font-variant-numeric:lining-nums;
}
.pricebar__i b small{font-size:.38em;color:var(--muted);font-family:var(--sans-jp);letter-spacing:.14em;margin-left:5px;}
.pricebar p{font-size:12px;color:var(--muted);margin:22px 0 0;line-height:2;}

.tbd{color:#6f6862;font-style:italic;}

.foot{border-top:1px solid var(--line);background:var(--bg-2);padding:52px var(--pad);text-align:center;}
.foot__logo{font-family:var(--serif-en);font-size:19px;letter-spacing:.32em;color:var(--amber-lt);margin:0 0 12px;}
.foot p{font-size:12px;color:var(--muted);margin:6px 0 0;line-height:2;}
.foot a.back{display:inline-block;margin-top:24px;font-size:11.5px;letter-spacing:.18em;color:var(--amber-lt);border-bottom:1px solid var(--line);padding-bottom:4px;}

/* ───────── 印刷（A4・紙の色） ───────── */
@media print{
  @page{ size:A4; margin:14mm 15mm; }
  html,body{background:#fff!important;color:#1c1815!important;font-size:10.5pt;line-height:1.75;}
  body::after{display:none!important;}
  .hd,.foot a.back{display:none!important;}
  .cover{padding:0 0 10mm;overflow:visible;}
  .cover__bg{display:none!important;}
  .cover__brand{color:#8a6a1f!important;font-size:9pt;margin-bottom:6mm;}
  .cover__ttl{color:#1c1815!important;font-size:32pt;}
  .cover__jp{color:#4a423a!important;font-size:10pt;}
  .cover__rule{background:#b08a2e!important;margin:6mm auto;}
  .cover__lead{color:#4a423a!important;font-size:9.5pt;line-height:1.9;}
  .sheet{padding:0;max-width:none;}
  .grp{margin-top:9mm;break-inside:avoid;}
  .grp__hd{border-bottom:1px solid #c8bda6!important;padding-bottom:2mm;}
  .grp__no,.grp__en{color:#8a6a1f!important;}
  .grp__jp{color:#1c1815!important;font-size:14pt;}
  .grp__note,.d__note,.pricebar p,.foot p{color:#5a5149!important;}
  .d{break-inside:avoid;padding:3.5mm 0;border-bottom:1px solid #e2dacb!important;}
  .d__mark{color:#8a6a1f!important;}
  .d__jp{color:#1c1815!important;font-size:11.5pt;}
  .d__en{color:#7a5f22!important;font-size:9.5pt;}
  .d__tag{border-color:#c8bda6!important;color:#5a5149!important;}
  .d--star .d__jp::after{color:#b08a2e!important;}
  .pricebar{background:none!important;border:1px solid #c8bda6!important;margin-top:8mm;break-inside:avoid;padding:6mm;}
  .pricebar h2{color:#1c1815!important;}
  .pricebar__i span{color:#5a5149!important;}
  .pricebar__i b{color:#8a6a1f!important;font-size:26pt;}
  .foot{background:none!important;border-top:1px solid #c8bda6!important;padding:6mm 0 0;margin-top:8mm;break-inside:avoid;}
  .foot__logo{color:#1c1815!important;}
  .tbd{color:#8a8079!important;}
}

/* ───────── 梅酒の飲み方ガイド ───────── */
.guide{
  margin-top:clamp(56px,8vw,92px);border:1px solid var(--line);border-radius:3px;
  background:linear-gradient(160deg,rgba(217,164,65,.06),transparent 60%);
  padding:clamp(28px,5vw,44px);
}
.guide h2{font-family:var(--serif-jp);font-size:clamp(19px,4vw,25px);font-weight:500;
  letter-spacing:.14em;margin:0 0 18px;}
.guide > p{font-size:13.5px;color:var(--muted);line-height:2.2;margin:0;max-width:40em;}
.ways{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(18px,3vw,30px);margin-top:32px;}
.way{border-top:1px solid var(--line);padding-top:20px;}
.way h3{font-family:var(--serif-jp);font-size:16px;font-weight:500;letter-spacing:.12em;margin:0 0 4px;}
.way .en{font-family:var(--serif-en);font-style:italic;font-size:12.5px;color:var(--amber-lt);margin:0 0 10px;}
.way p{font-size:12.5px;color:var(--muted);line-height:2.1;margin:0;}
@media(max-width:640px){ .ways{grid-template-columns:1fr;gap:26px;} }

@media print{
  .d__pic{flex-basis:24mm;width:24mm;}
  .d__pic img{border:1px solid #c8bda6!important;}
  .d{break-inside:avoid;}
  .guide{background:none!important;border:1px solid #c8bda6!important;margin-top:8mm;break-inside:avoid;padding:6mm;}
  .guide h2{color:#1c1815!important;font-size:14pt;}
  .guide > p,.way p{color:#5a5149!important;}
  .way{border-top:1px solid #c8bda6!important;}
  .way h3{color:#1c1815!important;}
  .way .en{color:#7a5f22!important;}
}

/* ───────── トップに戻る ───────── */
.totop{
  position:fixed;right:clamp(16px,3vw,28px);bottom:clamp(20px,3vw,32px);z-index:97;
  width:50px;height:50px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:rgba(12,11,13,.82);border:1px solid var(--line);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  color:var(--amber-lt);cursor:pointer;padding:0;
  opacity:0;visibility:hidden;transform:translateY(10px);
  transition:opacity .4s, transform .4s, visibility .4s, background .3s, border-color .3s;
}
.totop.show{opacity:1;visibility:visible;transform:none;}
.totop:hover{background:var(--amber);border-color:var(--amber);color:#17130c;}
.totop svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.6;}
a:focus-visible, button:focus-visible{outline:2px solid var(--amber);outline-offset:3px;}
@media print{ .totop{display:none!important;} }

/* パンフレットの下から、他のページへ */
.footnav{display:flex;flex-wrap:wrap;gap:8px 22px;justify-content:center;margin-top:26px;}
.footnav a{font-size:11.5px;letter-spacing:.14em;color:var(--muted);}
.footnav a:hover{color:var(--amber-lt);}
@media print{ .footnav{display:none!important;} }
