/* ===== WINERY JUN _base.css / BUILD: v1.9.37 ===== */
/*
Theme Name: WINERY JUN
Theme URI: https://winery-jun.jp/
Author: -
Description: 株式会社アイプロダクツ「WINERY JUN」オリジナルテーマ。WooCommerce（クラシックテンプレート）前提のクラシックテーマです。実スタイルは assets/css/main.css に記述しています。
Version: 0.1.0
Requires at least: 6.4
Tested up to: 6.8
Requires PHP: 8.0
Text Domain: winery-jun
Tags: e-commerce, custom-menu, translation-ready
WC requires at least: 8.0
WC tested up to: 9.9
*/

@charset "UTF-8";
/* =========================================================
   WINERY JUN — main.css
   Figma: 【共有用】アイプロダクツ様 / PC 1440 · SP 390
   デザイントークンはすべて Figma 実測値
   ========================================================= */

/* ---------- 1. Tokens ---------- */
:root {
  /* color */
  --wj-ink:        #22241e;
  --wj-paper:      #f4f1e8;
  --wj-paper-2:    #eae4d6;
  --wj-white:      #ffffff;
  --wj-forest:     #33402f;
  --wj-forest-dp:  #19241b;
  --wj-bar:        #121810;
  --wj-green:      #74854a;
  --wj-green-lt:   #8e9c63;
  --wj-gold:       #c9b07a;
  --wj-word-dark:  #33402f;  /* Collections / Gift / Cidre / Wine */
  --wj-word-olive: #9da963;  /* Choose */
  --wj-word-sage:  #65765f;  /* Story */

  /* 下層ページ（商品を探す 等）*/
  --wj-ink-2:      #26261f;
  --wj-muted-2:    #615d4c;
  --wj-muted-3:    #544f42;
  --wj-body-2:     #4a4638;
  --wj-green-2:    #5e6b3a;
  --wj-line-2:     #d8d1c0;
  --wj-line-3:     #cbc4b2;
  --wj-paper-4:    #faf7ef;
  --wj-placeholder:#757575;
  --wj-wm-2:       #ded6c4;
  --wj-muted:      #6e6b5e;
  --wj-line:       #d5d0bf;
  --wj-line-dk:    #33402f;
  --wj-legal:      #90907f;
  --wj-copy:       #a8a394;
  --wj-note:       #82826f;

  /* card media gradient */
  --wj-media: linear-gradient(165deg, #eae3d5 0%, #d5cdba 100%);

  /* type */
  --wj-serif:   "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", serif;
  --wj-display: "Fraunces", "Noto Serif JP", serif;
  --wj-num:     "Cormorant Garamond", "Noto Serif JP", serif;

  /* layout */
  --wj-wrap: 1096px;   /* TOP：1440 - 172*2 */
  --wj-wrap-2: 1160px; /* 下層：1440 - 140*2 */
  --wj-pad:  24px;
  --wj-header-h: 82px;

  /* コンポーネント用に追加 */
  --wj-page-bg: var(--wj-paper);
  --wj-side: 172px;
}

/* ---------- 2. Reset ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
/* アンカースクロール時、固定ヘッダー分のオフセット確保 */
:target { scroll-margin-top: 100px; }
[id] { scroll-margin-top: 90px; }
body {
  margin: 0;
  background: var(--wj-paper);
  color: var(--wj-ink);
  font-family: var(--wj-serif);
  font-weight: 400;
  font-size: 15px;
  line-height: 1.9;
  font-feature-settings: "palt" 1;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
img, svg { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
ul, ol { margin: 0; padding: 0; list-style: none; }
h1, h2, h3, h4, h5, p, figure { margin: 0; }
button { font: inherit; color: inherit; background: none; border: 0; cursor: pointer; }
:focus-visible { outline: 2px solid var(--wj-green-lt); outline-offset: 3px; }

/* コンテナ。これらのクラスを付けた要素に width を再指定しないこと（後勝ちで打ち消される） */
.wj-wrap { width: min(var(--wj-wrap), 100% - var(--wj-pad) * 2); margin-inline: auto; }
.wj-wrap-2 { width: min(var(--wj-wrap-2), 100% - var(--wj-pad) * 2); margin-inline: auto; }
.wj-sp-br { display: none; }
.wj-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* ---------- 3. Header ---------- */
/* === KILLED (旧コンポーネント：今回common-parts.cssへ移行) ===
/* KILLED2: .wj-header {
  position: fixed; inset: 0 0 auto 0; z-index: 100;
  height: var(--wj-header-h);
  display: flex; align-items: center;
  background: rgba(0, 0, 0, .4);
  transition: background .35s ease, backdrop-filter .35s ease;
}
*/
/* .wj-header.is-stuck の旧濃緑指定は無効化（下層はベージュ維持＋ブラーのみ） */
/* KILLED2: .wj-header__inner {
  width: 100%; height: 100%;
  padding-inline: 54px;
  display: flex; align-items: center; gap: 40px;
}
*/
/* KILLED2: .wj-logo { color: #fff; line-height: 1; }
*/
/* KILLED2: .wj-logo__main { display: block; font-size: 22.7px; font-weight: 500; letter-spacing: 4.544px; }
*/
/* KILLED2: .wj-logo__sub  { display: block; margin-top: 6px; font-size: 8.6px; font-weight: 600; letter-spacing: 2.938px; color: rgba(255,255,255,.82); }
*/
/* === /KILLED (旧コンポーネント：今回common-parts.cssへ移行) === */

/* === KILLED (旧コンポーネント：今回common-parts.cssへ移行) ===
/* KILLED2: .wj-gnav { margin-left: auto; }
*/
/* KILLED2: .wj-gnav__list { display: flex; align-items: center; gap: 26px; }
*/
/* KILLED2: .wj-gnav__list a { font-size: 12.8px; letter-spacing: .64px; color: #fff; position: relative; padding-block: 4px; }
*/
/* KILLED2: .wj-gnav__list a::after {
  content: ""; position: absolute; left: 0; bottom: 0; width: 100%; height: 1px;
  background: currentColor; transform: scaleX(0); transform-origin: right;
  transition: transform .35s cubic-bezier(.22,.61,.36,1);
}
*/
/* KILLED2: .wj-gnav__list a:hover::after { transform: scaleX(1); transform-origin: left; }
*/
/* === /KILLED (旧コンポーネント：今回common-parts.cssへ移行) === */

/* === KILLED (旧コンポーネント：今回common-parts.cssへ移行) ===
/* KILLED2: .wj-utils { display: flex; align-items: center; gap: 26px; margin-left: 40px; }
*/
/* KILLED2: .wj-utils__btn { color: #fff; display: grid; place-items: center; width: 19px; height: 19px; }
*/
/* KILLED2: .wj-utils__btn svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.4; }
*/
 .wj-cart { position: relative; }
/* KILLED2: .wj-cart__count {
  position: absolute; top: -7px; right: -9px;
  min-width: 15px; height: 15px; padding-inline: 3px;
  display: grid; place-items: center; border-radius: 7.5px;
  background: var(--wj-green); color: #fff;
  font-size: 9px; line-height: 1;
}
*/
/* KILLED2: .wj-burger { display: none; width: 26px; height: 16px; position: relative; }
*/
/* KILLED2: .wj-burger span { position: absolute; left: 0; width: 100%; height: 1px; background: #fff; transition: transform .3s, opacity .3s; }
*/
/* KILLED2: .wj-burger span:nth-child(1) { top: 0; }
*/
/* KILLED2: .wj-burger span:nth-child(2) { top: 50%; }
*/
/* KILLED2: .wj-burger span:nth-child(3) { bottom: 0; }
*/
/* KILLED2: .wj-burger.is-open span:nth-child(1) { top: 50%; transform: rotate(45deg); }
*/
/* KILLED2: .wj-burger.is-open span:nth-child(2) { opacity: 0; }
*/
/* KILLED2: .wj-burger.is-open span:nth-child(3) { bottom: auto; top: 50%; transform: rotate(-45deg); }
*/
/* === /KILLED (旧コンポーネント：今回common-parts.cssへ移行) === */

/* drawer (SP) */
/* === KILLED (旧コンポーネント：今回common-parts.cssへ移行) ===
/* KILLED2: .wj-drawer {
  position: fixed; inset: 0; z-index: 99;
  background: var(--wj-forest-dp);
  padding: calc(var(--wj-header-h) + 24px) 24px 48px;
  overflow-y: auto;
  opacity: 0; visibility: hidden; transform: translateY(-8px);
  transition: opacity .3s ease, transform .3s ease, visibility .3s;
}
*/
/* KILLED2: .wj-drawer.is-open { opacity: 1; visibility: visible; transform: none; }
*/
/* KILLED2: .wj-drawer a { display: block; color: #fff; font-size: 16px; padding: 18px 0; border-bottom: 1px solid rgba(255,255,255,.14); }
*/
/* === /KILLED (旧コンポーネント：今回common-parts.cssへ移行) === */

/* =========================================================
   4. First View  ─ design_area: fv
   ========================================================= */
.wj-fv {
  position: relative; overflow: hidden;
  background:
    radial-gradient(120% 60% at 50% 14%, rgba(255,247,212,.92) 0%, rgba(255,247,212,0) 46%),
    linear-gradient(180deg, #ecd9a6 0%, #cdba7c 16%, #9da963 40%, #76884a 66%, #516a37 100%);
}
.wj-fv__swiper { width: 100%; }
.wj-fv__slide { position: relative; display: flex; align-items: center; min-height: 760px; }
.wj-fv__image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.wj-fv__scrim {
  position: absolute; inset: 0; z-index: 1; pointer-events: none;
  background:
    linear-gradient(92deg, rgba(22,30,16,.5) 0%, rgba(22,30,16,.18) 44%, rgba(22,30,16,0) 70%),
    linear-gradient(0deg, rgba(20,28,14,.35) 0%, rgba(20,28,14,0) 30%);
}

/* 装飾（クリックを妨げない） */
/* Figma 173:335 — Fraunces Regular 240.1px / SOFT 0・WONK 1 / #74854A 13% */
.wj-fv__mark {
  position: absolute; right: -1px; top: 9%; z-index: 1;
  font-family: var(--wj-display); font-weight: 400;
  font-variation-settings: "SOFT" 0, "WONK" 1;
  font-size: 240.1px; line-height: .906; letter-spacing: -5.44px;
  text-align: right;
  color: #74854a; opacity: .13; mix-blend-mode: color-burn;
  pointer-events: none; user-select: none;
}
@supports not (mix-blend-mode: color-burn) {
  .wj-fv__mark { mix-blend-mode: normal; color: rgba(116, 133, 74, .13); opacity: 1; }
}
/* Figma 173:231 — Noto Serif JP Medium 13.4px / 1文字ピッチ20px
   文字ブロック（幅14px）の上下にだけ罫線を引く。
   縦書きは block 方向が右→左なので、外枠を grid にして中央に置かないと
   文字が右へ寄ってしまう。 */
.wj-fv__vertical {
  position: absolute; right: 175px; top: 50%; transform: translateY(-50%); z-index: 1;
  display: grid;
  justify-items: center;
  width: 14px;
  padding-block: 8px;
  border-top: 1px solid #fff;
  border-bottom: 1px solid #fff;
  pointer-events: none; user-select: none;
}
.wj-fv__vertical-in {
  display: block;
  writing-mode: vertical-rl;
  white-space: nowrap;
  /* 最後の1文字にも字送りが付くので、その分を詰めて上下対称にする */
  margin-block-end: -6.6px;
  font-family: var(--wj-serif);
  font-size: 13.4px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 6.6px;
  color: #fff;
}

/* 画像クリック用の透明オーバーレイ（aタグの入れ子を避ける） */
.wj-fv__overlay { position: absolute; inset: 0; z-index: 2; display: block; }

/* テキスト層：クリックはオーバーレイへ透過させる */
.wj-fv__body { position: relative; z-index: 3; width: 100%; pointer-events: none; }
.wj-fv__eyebrow { display: flex; align-items: center; gap: 20px; margin-bottom: 34px; }
.wj-fv__eyebrow::before { content: ""; width: 46px; height: 1px; background: rgba(255,255,255,.7); }
.wj-fv__eyebrow span { font-size: 11.8px; font-weight: 600; letter-spacing: 3.552px; color: rgba(255,255,255,.9); }
.wj-fv__title {
  font-size: 64px; font-weight: 600; line-height: 1.36; letter-spacing: 10px;
  color: #fff; text-shadow: 0 2px 18.3px #12180a;
}
.wj-fv__lead {
  margin-top: 34px; font-size: 15.7px; line-height: 2.05; color: rgba(255,255,255,.94);
  text-shadow: 0 1px 16px rgba(18,24,10,.35);
}
.wj-fv__lead p { margin: 0; }
.wj-fv__lead p + p { margin-top: .5em; }

/* ボタンだけクリックを受け取る */
.wj-fv__actions { display: flex; gap: 16px; margin-top: 40px; pointer-events: auto; }

/* ページネーション */
.wj-fv__pagination {
  position: absolute; left: 72px; bottom: 30px; z-index: 4;
  display: flex; gap: 11px; width: auto;
}
.wj-fv__pagination .swiper-pagination-bullet {
  width: 8px; height: 8px; margin: 0; border-radius: 4px; opacity: 1;
  background: rgba(255,255,255,.45);
  transition: width .3s ease, background .3s ease;
}
.wj-fv__pagination .swiper-pagination-bullet-active { width: 28px; border-radius: 5px; background: #fff; }

/* フェード切り替え中の下敷きを消す */
.wj-fv .swiper-slide { transition-property: opacity; }

/* ---------- 5. Buttons ---------- */
.wj-btn {
  display: inline-flex; align-items: center; gap: 22px;
  height: 33px; padding-inline: 24px; border-radius: 50px;
  font-size: 13.4px; font-weight: 500; letter-spacing: .806px;
  transition: background .3s, color .3s, border-color .3s;
}
.wj-btn::after { content: "→"; font-weight: 700; font-size: 12.2px; letter-spacing: 1.459px; }
.wj-btn--fill { background: var(--wj-ink); color: var(--wj-paper); box-shadow: 0 10px 15px rgba(36,48,18,.3); }
.wj-btn--fill:hover { background: var(--wj-forest); }
.wj-btn--ghost { background: rgba(34,36,30,.22); color: #fff; border: 1px solid rgba(255,255,255,.65); backdrop-filter: blur(2px); }
.wj-btn--ghost:hover { background: rgba(255,255,255,.16); }

.wj-btn-line {
  display: inline-flex; align-items: center; justify-content: center; gap: 26px;
  min-width: 209px; height: 41px; padding-inline: 26px;
  border: 1px solid var(--wj-ink); border-radius: 51px;
  font-size: 14px; font-weight: 500; letter-spacing: .806px; color: var(--wj-ink);
  transition: background .3s, color .3s;
}
.wj-btn-line::after { content: "→"; font-weight: 700; letter-spacing: 1.459px; }
.wj-btn-line:hover { background: var(--wj-ink); color: var(--wj-paper); }
.wj-btn-line--light { border-color: rgba(255,255,255,.7); color: #fff; }
.wj-btn-line--light:hover { background: #fff; color: var(--wj-forest); }
.wj-center { display: flex; justify-content: center; }

/* =========================================================
   5b. First View Under  ─ design_area: fv-under
   ========================================================= */
.wj-fv-under { background: var(--wj-paper); }
.wj-fv-under__swiper { position: relative; overflow: hidden; }
.wj-fv-under__list { display: flex; justify-content: center; }
.wj-fv-under__item { flex: 1 1 0; min-width: 0; max-width: 480px; }
.wj-fv-under__link {
  display: block; position: relative;
  aspect-ratio: 480 / 260; background: var(--wj-media); overflow: hidden;
}
.wj-fv-under__image { width: 100%; height: 100%; object-fit: cover; transition: transform .6s cubic-bezier(.22,.61,.36,1); }
.wj-fv-under__link:hover .wj-fv-under__image { transform: scale(1.03); }

/* カルーセル時（3件以上） */
.wj-fv-under--carousel .wj-fv-under__list { justify-content: flex-start; }
.wj-fv-under--carousel .wj-fv-under__item { flex: 0 0 auto; max-width: none; }
.wj-fv-under__nav {
  position: absolute; top: 50%; z-index: 3; transform: translateY(-50%);
  width: 44px; height: 44px; border-radius: 22px;
  display: grid; place-items: center;
  background: rgba(34,36,30,.55); color: #fff;
  transition: background .3s ease, opacity .3s ease;
}
.wj-fv-under__nav:hover { background: rgba(34,36,30,.85); }
.wj-fv-under__nav svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.6; }
.wj-fv-under__nav--prev { left: 16px; }
.wj-fv-under__nav--next { right: 16px; }
.wj-fv-under__nav.swiper-button-disabled { opacity: 0; pointer-events: none; }

/* ---------- 6. Section header ---------- */
.wj-section { position: relative; overflow: hidden; isolation: isolate; }
.wj-section--paper { background: var(--wj-paper); padding-block: 96px; }
.wj-section--paper2 { background: var(--wj-paper-2); padding-block: 96px; }
#collections.wj-section--paper { padding-top: 118px; }
#gift.wj-section--paper2 { padding-top: 118px; }
.wj-section--white { background: var(--wj-white); padding-block: 96px; }

.wj-head { display: flex; align-items: flex-end; gap: 34px; margin-bottom: 56px; }
.wj-head__num { font-family: var(--wj-num); font-size: 80px; font-weight: 500; line-height: .829; color: #8e9c63; }
.wj-head__body { padding-bottom: 4px; }
.wj-head__eyebrow { display: block; font-family: var(--wj-display); font-variation-settings: "SOFT" 0, "WONK" 1; font-size: 11.2px; line-height: 1.85; letter-spacing: 2.688px; text-transform: uppercase; color: #74854a; }
.wj-head__title { margin-top: 10px; font-size: 36px; font-weight: 600; letter-spacing: 1.72px; line-height: 1.338; color: #22241e; }
.wj-head__rule { flex: 1; height: 1px; margin-bottom: 18px; background: #d5d0bf; }


/* ---------- 6b. Decorative words ---------- */
/* Figma: Fraunces Regular 200px / SOFT 0・WONK 1
   ※ブレンドモードはワードごとに違うので個別指定 */
.wj-word {
  position: absolute; z-index: 0;
  font-family: var(--wj-display); font-weight: 400;
  font-size: 200px; line-height: .896; letter-spacing: -2.24px;
  font-variation-settings: "SOFT" 0, "WONK" 1;
  white-space: nowrap; pointer-events: none; user-select: none;
}
/* 01 Collections — #4A5945 / 不透明度100% / オーバーレイ */
.wj-word--collections {
  left: 0; top: 10px; color: #4a5945;
  letter-spacing: -2.4px; line-height: .96;
  mix-blend-mode: overlay;
}
/* 02 Gift — #33402F / 不透明度100% / スクリーン */
.wj-word--gift { right: 63px; top: 53px; color: #33402f; mix-blend-mode: overlay; }
/* 03 Cidre / Wine — #33402F をオーバーレイ合成した見え方を、単色で固定する。
   ※ この2つだけは .wj-taste__row.wj-reveal の内側にある。.wj-reveal は
     opacity:0 + transform を持つため、フェードイン中だけ新しい重なりコンテキストが
     でき、ブレンドの下地（セクション背景）に届かなくなる。その間だけ #33402F が
     ベタで出てしまい「リロード直後に一瞬濃い」状態になっていた。
     アニメーション完了で opacity:1 / transform:none になると文脈が解消され薄くなる
     ——これが「濃い→薄い」のちらつきの正体。
     ブレンドをやめ、下地（--wj-paper #F4F1E8）に overlay 合成した結果の色
     #EDEADA を直接指定することで、重なり文脈に一切依存せず常に同じ色になる。
   Figma: Cidre は画像の右上、Wine は本文の左下に食い込む位置 */
.wj-word--cidre { right: 22px; top: -110px; color: #edeada; }
.wj-word--wine  { left: 131px; top: 164px; color: #edeada; }
/* 04 Choose — #9DA963 を8%で（ブレンドなし） */
.wj-word--choose { left: 14px; top: 9px; color: rgba(157, 169, 99, .08); }
/* 05 Story — #65765F / 不透明度100% / オーバーレイ（濃緑の上） */
.wj-word--story {
  right: 43px; bottom: 124px; color: #65765f;
  letter-spacing: -2.88px; line-height: 1.152;
  mix-blend-mode: overlay;
}

/* ブレンドモード非対応環境向けのフォールバック
   （Cidre / Wine はブレンドを使わない単色指定に変更したため、ここでは対象外） */
@supports not (mix-blend-mode: overlay) {
  .wj-word--collections,
  .wj-word--gift { mix-blend-mode: normal; opacity: .10; }
  .wj-word--story { mix-blend-mode: normal; opacity: .35; }
}

/* ---------- 7. Category tabs ---------- */
/* Figma: 159×61 / gap 29px / 通常=白地、選択中=#33402F */
.wj-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 29px;
  margin-bottom: 48px;
}
.wj-tab {
  flex: 0 0 auto;
  width: 159px;
  height: 61px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2px;
  border: 0;
  background: #fff;
  text-align: center;
  transition: background .3s ease, color .3s ease;
}
.wj-tab__ja {
  font-family: var(--wj-serif);
  font-weight: 600;
  font-size: 16.6px;
  line-height: 1.854;
  letter-spacing: .998px;
  color: #22241e;
  transition: color .3s ease;
}
.wj-tab__en,
.wj-tab small {
  font-family: var(--wj-serif);
  font-weight: 500;
  font-size: 9.9px;
  line-height: 1.854;
  letter-spacing: 1.984px;
  text-transform: uppercase;
  color: #a8a394;
  transition: color .3s ease;
}
.wj-tab.is-active,
.wj-tab:hover { background: #33402f; }
.wj-tab.is-active .wj-tab__ja,
.wj-tab:hover .wj-tab__ja,
.wj-tab.is-active .wj-tab__en,
.wj-tab:hover .wj-tab__en,
.wj-tab.is-active small,
.wj-tab:hover small { color: #fff; }

/* ---------- 8. Product card ---------- */
.wj-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 26px; }
/* === KILLED (旧コンポーネント：今回common-parts.cssへ移行) ===
.wj-card { display: flex; flex-direction: column; }
.wj-card__media {
  position: relative; aspect-ratio: 254.56 / 339.41;
  background: var(--wj-media); overflow: hidden;
}
.wj-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s cubic-bezier(.22,.61,.36,1); }
.wj-card:hover .wj-card__media img { transform: scale(1.04); }
.wj-card__badge {
  position: absolute; top: 16px; right: 16px; z-index: 2;
  min-width: 46px; height: 28px; padding-inline: 8px;
  display: grid; place-items: center;
  background: var(--wj-ink); color: var(--wj-paper);
  font-size: 9.6px; font-weight: 600; letter-spacing: 1.152px;
}
.wj-card__price {
  position: absolute; left: 0; bottom: 0; z-index: 2;
  min-width: 105px; height: 57px; padding-inline: 7px;
  display: flex; align-items: baseline; gap: 6px;
  background: var(--wj-paper); color: var(--wj-ink);
}
.wj-card__price b { font-size: 16px; font-weight: 500; letter-spacing: .214px; }
.wj-card__price span { font-size: 11px; }
.wj-card__meta { margin-top: 20px; font-size: 14px; letter-spacing: 1.152px; color: var(--wj-green); }
.wj-card__title { margin-top: 8px; font-size: 16px; font-weight: 600; letter-spacing: .504px; line-height: 1.58; }
.wj-card__desc {
  margin-top: 8px; padding-bottom: 12px; border-bottom: 1px solid var(--wj-line);
  font-size: 14px; line-height: 1.44; color: var(--wj-muted);
}
.wj-card__cart {
  margin-top: 14px; display: inline-flex; align-items: center; gap: 10px;
  font-size: 14px; font-weight: 700; letter-spacing: 1.088px;
}
.wj-card__cart svg { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 1.5; }
.wj-card__cart:hover { color: var(--wj-green); }
/* === /KILLED (旧コンポーネント：今回common-parts.cssへ移行) === */
.wj-grid + .wj-center { margin-top: 56px; }

/* ---------- 9. Taste & Character ---------- */
.wj-taste__row { position: relative; display: grid; grid-template-columns: 511px 1fr; gap: 60px; align-items: center; }
.wj-taste__row + .wj-taste__row { margin-top: 110px; }
.wj-taste__row--rev { grid-template-columns: 1fr 511px; }
.wj-taste__row--rev .wj-taste__figure { order: 2; }
.wj-taste__figure { position: relative; }
/* 旧デザインの装飾四角は廃止（2枚目の写真に置き換え） */
.wj-taste__img { aspect-ratio: 511 / 359; background: var(--wj-media); overflow: hidden; }
.wj-taste__img img { width: 100%; height: 100%; object-fit: cover; }
.wj-taste__row--rev .wj-taste__body { position: relative; z-index: 1; }
.wj-taste__no { font-family: var(--wj-display); font-size: 13px; letter-spacing: .16em; color: var(--wj-green); }
.wj-taste__title { margin-top: 12px; font-size: 26px; font-weight: 600; letter-spacing: .06em; }
.wj-taste__text { margin-top: 20px; font-size: 14.5px; line-height: 2.05; color: var(--wj-muted); }
.wj-tags { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 26px; }
.wj-tag { padding: 5px 16px; border: 1px solid var(--wj-line); border-radius: 40px; font-size: 12px; letter-spacing: .08em; color: var(--wj-muted); }
.wj-taste__link { display: inline-flex; align-items: center; gap: 14px; margin-top: 32px; font-size: 14px; letter-spacing: .08em; border-bottom: 1px solid currentColor; padding-bottom: 4px; }
.wj-taste__link:hover { color: var(--wj-green); }

/* ---------- 10. Guide ---------- */
.wj-guide__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; border-top: 1px solid var(--wj-line); }
.wj-guide__item { padding: 34px 28px 40px; border-right: 1px solid var(--wj-line); }
.wj-guide__item:first-child { padding-left: 0; }
.wj-guide__item:last-child { border-right: 0; padding-right: 0; }
.wj-guide__num { font-family: var(--wj-num); font-size: 34px; font-weight: 500; color: var(--wj-green-lt); line-height: 1; }
.wj-guide__title { margin-top: 14px; font-size: 17px; font-weight: 600; letter-spacing: .06em; line-height: 1.6; }
.wj-guide__text { margin-top: 14px; font-size: 13.5px; line-height: 1.95; color: var(--wj-muted); }
.wj-guide__grid + .wj-center { margin-top: 52px; }

/* ---------- 11. Story ---------- */
.wj-story { position: relative; background: var(--wj-forest); color: #fff; padding-block: 110px; overflow: hidden; isolation: isolate; }
.wj-story__media { position: absolute; inset: 0; background-image: var(--wj-story-image, none); background-size: cover; background-position: center; opacity: .08; }
.wj-story__scrim { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(25,36,27,.86) 0%, rgba(25,36,27,.55) 60%, rgba(25,36,27,.35) 100%); }
.wj-story__inner { position: relative; z-index: 2; display: grid; grid-template-columns: 0.9fr 1.1fr; gap: 64px; align-items: start; }
/* 左側の画像ブロック（金色の枠が少しずれて重なる） */
.wj-story__figure { position: relative; aspect-ratio: 530 / 662; }
.wj-story__photo { position: absolute; inset: 0 20px 20px 0; background-image: var(--wj-story-image, linear-gradient(160deg, #4a5945, #2b352a)); background-size: cover; background-position: center; }
.wj-story__frame { position: absolute; inset: 20px 0 0 20px; border: 1px solid var(--wj-gold, #c9b07a); pointer-events: none; z-index: 1; }
/* Figma 173:362 — Noto Serif JP SemiBold 24px / 1文字ピッチ31px
   縦書きの字送り = 24 + 7 = 31px。折り返さないよう nowrap を指定する。 */
.wj-story__vertical-label { display: block; }
.wj-story__vertical-in {
  display: block;
  writing-mode: vertical-rl;
  white-space: nowrap;
  margin-block-end: -7px;
  font-family: var(--wj-serif);
  font-size: 24px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 7px;
  color: #fff;
}

.wj-story__aside { margin-top: 36px; }

/* Figma 173:357 — eyebrow/見出し/リード文（従来ここが未定義で素のテキストのまま出ていた） */
.wj-story__eyebrow {
  display: flex; align-items: center; gap: 12px;
  font-size: 12.5px; font-weight: 500; letter-spacing: 2.6px; text-transform: uppercase;
  color: var(--wj-gold);
}
.wj-story__eyebrow::before { content: ""; display: inline-block; width: 24px; height: 1px; background: currentColor; flex: 0 0 auto; }
.wj-story__title { margin-top: 18px; font-size: 34px; font-weight: 700; line-height: 1.4; letter-spacing: .5px; color: #fff; }
.wj-story__sub { margin-top: 22px; font-size: 15.5px; font-weight: 500; letter-spacing: .5px; color: var(--wj-gold); }
.wj-story__text { margin-top: 22px; max-width: 520px; font-size: 14px; line-height: 2; color: rgba(255, 255, 255, .82); }

/* Figma 173:386〜397 — 2列。番号は金色12.9px、本文は白14px、下線は #33402F */
.wj-story__list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 13px 24px;
}
.wj-story__list a {
  display: flex;
  align-items: baseline;
  gap: 8px;
  padding: 0 0 12px;
  border-bottom: 1px solid rgba(255, 255, 255, .18);
  font-family: var(--wj-serif);
  font-size: 14px;
  font-weight: 400;
  line-height: 1.776;
  letter-spacing: .403px;
  color: #fff;
  transition: border-color .3s ease, color .3s ease;
}
.wj-story__list a:hover { border-color: var(--wj-gold); color: var(--wj-gold); }
.wj-story__list em {
  flex: 0 0 auto;
  font-family: var(--wj-serif);
  font-style: normal;
  font-weight: 500;
  font-size: 12.9px;
  line-height: 1.927;
  letter-spacing: .403px;
  color: #c9b07a;
}

@media (max-width: 600px) {
  .wj-story__list { grid-template-columns: 1fr; gap: 10px; }
}
.wj-story__cta { margin-top: 40px; }

/* ---------- 12. Footer ---------- */
/* === KILLED (旧コンポーネント：今回common-parts.cssへ移行) ===
.wj-footer { position: relative; background: var(--wj-forest-dp); color: #fff; overflow: hidden; }
.wj-footer__mark {
  position: absolute; left: 50%; top: 190px; transform: translateX(-50%);
  font-family: var(--wj-num); font-size: 244.8px; font-weight: 500; letter-spacing: 9.792px;
  line-height: .8; white-space: nowrap; color: #fff; opacity: .04; pointer-events: none;
}
.wj-footer__inner { position: relative; z-index: 2; display: grid; grid-template-columns: 1fr 1.6fr; gap: 60px; padding-block: 100px 0; }
.wj-footer__logo { font-size: 25.6px; font-weight: 500; letter-spacing: 5.12px; line-height: 1.85; }
.wj-footer__sub { font-size: 9px; font-weight: 600; letter-spacing: 2.867px; }
.wj-footer__addr { margin-top: 42px; font-size: 12.5px; line-height: 2; }
.wj-footer__follow { margin-top: 40px; font-family: var(--wj-serif); font-size: 10.2px; font-weight: 600; letter-spacing: 2.048px; color: var(--wj-gold); }
/* === /KILLED (旧コンポーネント：今回common-parts.cssへ移行) === */
.wj-sns { display: flex; gap: 11px; margin-top: 14px; }
.wj-sns a { width: 38px; height: 38px; border: 1px solid var(--wj-line-dk); border-radius: 19px; display: grid; place-items: center; transition: background .3s, border-color .3s; }
.wj-sns a:hover { background: var(--wj-forest); border-color: var(--wj-gold); }
.wj-sns svg { width: 17px; height: 17px; fill: currentColor; }

.wj-fnav { display: grid; grid-template-columns: repeat(4, 1fr); gap: 34px 40px; }
.wj-fnav__title { padding-bottom: 12px; border-bottom: 1px solid rgba(255,255,255,.9); font-size: 14px; font-weight: 600; letter-spacing: .922px; }
.wj-fnav__list { margin-top: 16px; }
.wj-fnav__list li + li { margin-top: 16px; }
.wj-fnav__list a { font-size: 15px; letter-spacing: .243px; color: rgba(255,255,255,.88); transition: color .3s; }
.wj-fnav__list a:hover { color: var(--wj-gold); }
.wj-fnav__toggle { display: none; }

/* === KILLED (旧コンポーネント：今回common-parts.cssへ移行) ===
.wj-footer__legal {
  position: relative; z-index: 2;
  margin-top: 60px; padding-block: 26px;
  border-top: 1px solid var(--wj-line-dk);
  display: flex; align-items: center; gap: 32px; flex-wrap: wrap;
}
.wj-footer__legal a { font-size: 11.2px; color: var(--wj-legal); }
.wj-footer__legal a:hover { color: #fff; }
.wj-footer__copy { margin-left: auto; font-size: 12px; font-weight: 500; letter-spacing: .787px; color: var(--wj-copy); }
.wj-footer__age { position: relative; z-index: 2; background: var(--wj-bar); padding-block: 15px; text-align: center; font-size: 10.6px; letter-spacing: .845px; color: var(--wj-note); }
/* === /KILLED (旧コンポーネント：今回common-parts.cssへ移行) === */

/* ---------- 13. Motion ---------- */
.wj-reveal { opacity: 0; transform: translateY(24px); transition: opacity .9s cubic-bezier(.22,.61,.36,1), transform .9s cubic-bezier(.22,.61,.36,1); }
.wj-reveal.is-in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .001ms !important; transition-duration: .001ms !important; }
  .wj-reveal { opacity: 1; transform: none; }
}

/* =========================================================
   14. Responsive
   ========================================================= */
@media (max-width: 1280px) {
/* === KILLED (旧コンポーネント：今回common-parts.cssへ移行) ===
/* KILLED2:   .wj-header__inner { padding-inline: 32px; }
*/
/* KILLED2:   .wj-gnav__list { gap: 18px; }
*/
/* KILLED2:   .wj-gnav__list a { font-size: 12px; }
*/
/* === /KILLED (旧コンポーネント：今回common-parts.cssへ移行) === */
  .wj-fv__vertical { right: 40px; }
  .wj-fv__mark { font-size: 180px; }
  .wj-word { font-size: 150px; }
  .wj-word--gift { right: 24px; }
  .wj-word--story { right: 16px; bottom: 90px; }
  .wj-taste__row, .wj-taste__row--rev { grid-template-columns: 1fr 1fr; gap: 44px; }
  .wj-story__vertical { left: -40px; }
}

@media (max-width: 1024px) {
/* === KILLED (旧コンポーネント：今回common-parts.cssへ移行) ===
/* KILLED2:   .wj-gnav { display: none; }
*/
/* KILLED2:   .wj-burger { display: block; }
*/
/* KILLED2:   .wj-utils { margin-left: auto; gap: 20px; }
*/
/* === /KILLED (旧コンポーネント：今回common-parts.cssへ移行) === */
  .wj-grid { grid-template-columns: repeat(3, 1fr); }
  .wj-grid .wj-card:nth-child(4) { display: none; }
  .wj-guide__grid { grid-template-columns: repeat(2, 1fr); }
  .wj-guide__item { border-bottom: 1px solid var(--wj-line); padding-inline: 24px; }
  .wj-guide__item:nth-child(2n) { border-right: 0; padding-right: 0; }
  .wj-guide__item:nth-child(2n+1) { padding-left: 0; }
  .wj-story__inner { grid-template-columns: 1fr; gap: 48px; }
  .wj-story__figure { aspect-ratio: 3 / 2; max-height: 360px; }
  .wj-story__vertical { display: none; }
/* === KILLED (旧コンポーネント：今回common-parts.cssへ移行) ===
  .wj-footer__inner { grid-template-columns: 1fr; gap: 48px; }
/* === /KILLED (旧コンポーネント：今回common-parts.cssへ移行) === */
  .wj-fnav { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 767px) {
  :root { --wj-pad: 20px; --wj-header-h: 64px; }
  body { font-size: 14px; }

/* === KILLED (旧コンポーネント：今回common-parts.cssへ移行) ===
/* KILLED2:   .wj-header__inner { padding-inline: 20px; gap: 16px; }
*/
/* KILLED2:   .wj-logo__main { font-size: 18px; letter-spacing: 3.6px; }
*/
/* KILLED2:   .wj-logo__sub { font-size: 7.4px; letter-spacing: 2.4px; }
*/
/* === /KILLED (旧コンポーネント：今回common-parts.cssへ移行) === */



  .wj-fv__slide { min-height: 640px; padding-block: 120px 90px; }
  .wj-fv__mark { font-size: 96px; top: 12%; }
  .wj-fv__vertical { right: 16px; font-size: 12px; letter-spacing: 5.9px; }
  .wj-fv__title { font-size: 32px; letter-spacing: 5px; line-height: 1.5; }
  .wj-fv__lead { font-size: 13.5px; margin-top: 24px; }
  .wj-fv__actions { flex-direction: column; align-items: flex-start; gap: 12px; margin-top: 30px; }
  .wj-fv__pagination { left: 20px; bottom: 20px; }
  .wj-word { font-size: 78px; letter-spacing: -1px; }
  .wj-word--collections { top: 6px; }
  .wj-word--gift { right: 12px; top: 24px; }
  .wj-word--cidre, .wj-word--wine { top: -46px; }
  .wj-word--choose { left: 6px; top: 6px; }
  .wj-word--story { right: 12px; bottom: 40px; }
  .wj-fv-under__nav { width: 36px; height: 36px; }
  .wj-fv-under__nav--prev { left: 8px; }
  .wj-fv-under__nav--next { right: 8px; }

  .wj-section--paper, .wj-section--paper2, .wj-section--white { padding-block: 60px; }
  .wj-head { gap: 18px; margin-bottom: 32px; }
  .wj-head__num { font-size: 48px; }
  .wj-head__title { font-size: 23px; letter-spacing: 1px; margin-top: 6px; }
  .wj-head__rule { display: none; }

  .wj-tabs { margin-bottom: 32px; }
  .wj-tab { height: 52px; font-size: 13.5px; flex-direction: column; gap: 2px; }

  .wj-grid { grid-template-columns: repeat(2, 1fr); gap: 16px 14px; }
  .wj-grid .wj-card:nth-child(4) { display: flex; }
/* === KILLED (旧コンポーネント：今回common-parts.cssへ移行) ===
  .wj-card__meta { font-size: 11.5px; letter-spacing: .8px; margin-top: 14px; }
  .wj-card__title { font-size: 14px; }
  .wj-card__desc { font-size: 11.5px; }
  .wj-card__cart { font-size: 12.5px; }
  .wj-card__price { min-width: 88px; height: 46px; }
  .wj-card__price b { font-size: 14px; }
/* === /KILLED (旧コンポーネント：今回common-parts.cssへ移行) === */
  .wj-grid + .wj-center { margin-top: 36px; }

  .wj-taste__row, .wj-taste__row--rev { grid-template-columns: 1fr; gap: 28px; }
  .wj-taste__row + .wj-taste__row { margin-top: 64px; }
  .wj-taste__row--rev .wj-taste__figure { order: 0; }
    .wj-taste__title { font-size: 20px; }
  .wj-taste__text { font-size: 13.5px; }

    .wj-guide__grid { grid-template-columns: 1fr; }
  .wj-guide__item { padding: 24px 0; border-right: 0; }

  .wj-story { padding-block: 64px; }
  .wj-story__title { font-size: 24px; }
  .wj-story__inner { gap: 36px; }

/* === KILLED (旧コンポーネント：今回common-parts.cssへ移行) ===
  .wj-footer__inner { padding-top: 60px; }
  .wj-footer__mark { font-size: 110px; top: 120px; }
  .wj-footer__logo { font-size: 21px; letter-spacing: 4px; }
/* === /KILLED (旧コンポーネント：今回common-parts.cssへ移行) === */
  .wj-fnav { grid-template-columns: 1fr; gap: 0; }
  .wj-fnav__col { border-bottom: 1px solid rgba(255,255,255,.18); }
  .wj-fnav__title { display: flex; align-items: center; justify-content: space-between; width: 100%; padding: 20px 0; border-bottom: 0; text-align: left; }
  .wj-fnav__toggle { display: block; }
  .wj-fnav__toggle::after { content: "+"; font-size: 18px; font-weight: 400; transition: transform .3s; }
  .wj-fnav__col.is-open .wj-fnav__toggle::after { transform: rotate(45deg); }
  .wj-fnav__list { display: none; margin: 0 0 20px; }
  .wj-fnav__col.is-open .wj-fnav__list { display: block; }
/* === KILLED (旧コンポーネント：今回common-parts.cssへ移行) ===
  .wj-footer__legal { margin-top: 36px; gap: 16px; }
  .wj-footer__copy { margin-left: 0; width: 100%; }
  .wj-footer__age { font-size: 9.6px; line-height: 1.7; padding-inline: 16px; }
/* === /KILLED (旧コンポーネント：今回common-parts.cssへ移行) === */
}

/* =========================================================
   15. 下層ページ共通（ヘッダー / パンくず / ページヒーロー）
   ========================================================= */
/* === KILLED (旧コンポーネント：今回common-parts.cssへ移行) ===
/* KILLED2: .wj-header--solid {
  height: 85px;
  background: rgba(234, 228, 214, .92);
  backdrop-filter: blur(6px);
  border-bottom: 1px solid var(--wj-line-3);
}
*/
/* KILLED2: .wj-header--solid.is-stuck { backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); }
*/
/* KILLED2: .wj-header--solid .wj-logo { color: var(--wj-ink-2); }
*/
/* KILLED2: .wj-header--solid .wj-logo__main { font-size: 26px; letter-spacing: 5.72px; }
*/
/* KILLED2: .wj-header--solid .wj-logo__sub { font-size: 10px; letter-spacing: 3.4px; color: var(--wj-muted-2); }
*/
/* KILLED2: .wj-header--solid .wj-gnav__list a { font-size: 14px; letter-spacing: .56px; color: var(--wj-ink-2); }
*/
/* KILLED2: .wj-header--solid .wj-utils__btn { color: var(--wj-ink-2); }
*/
/* KILLED2: .wj-header--solid .wj-cart__count { background: var(--wj-forest-dp); color: #fff; }
*/
/* KILLED2: .wj-header--solid .wj-burger span { background: var(--wj-ink-2); }
*/
/* === /KILLED (旧コンポーネント：今回common-parts.cssへ移行) === */

body:not(.home) .wj-main { padding-top: 0; }

.wj-breadcrumb { padding-top: 4px; position: relative; z-index: 5; }
.wj-breadcrumb__list { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; font-size: 12px; }
.wj-breadcrumb__list li { color: var(--wj-muted-2); }
.wj-breadcrumb__list a { color: var(--wj-muted-2); position: relative; z-index: 5; pointer-events: auto; }
.wj-breadcrumb__list a:hover { color: var(--wj-ink-2); text-decoration: underline; }
.wj-breadcrumb__sep { color: var(--wj-line-3); }
.wj-breadcrumb__list li[aria-current] { color: var(--wj-muted-2); }

.wj-page-hero { position: relative; padding: 8px 0 40px; isolation: isolate; overflow: hidden; z-index: 0; }
.wj-page-hero__word {
  position: absolute; right: 0; top: -8px; z-index: 0;
  font-family: var(--wj-num); font-weight: 500; font-size: 203px; line-height: .9; letter-spacing: -2.3px;
  color: var(--wj-wm-2); opacity: .4;
  pointer-events: none; user-select: none; white-space: nowrap;
}
.wj-page-hero__inner { position: relative; z-index: 1; }
.wj-page-hero__eyebrow { font-size: 13.8px; font-weight: 500; letter-spacing: 2.7px; color: var(--wj-green-2); }
.wj-page-hero__title { margin-top: 16px; font-size: 50px; font-weight: 600; letter-spacing: 3px; line-height: 1.28; color: var(--wj-ink-2); }
.wj-page-hero__sub { margin-top: 18px; font-size: 16px; font-weight: 500; letter-spacing: .8px; color: var(--wj-ink-2); }
.wj-page-hero__text { margin-top: 20px; max-width: 46em; font-size: 14.5px; line-height: 1.85; color: var(--wj-body-2); }
.wj-separator { height: 1px; background: var(--wj-line-3); border: 0; margin: 0; }

/* =========================================================
   16. 商品一覧（archive-product）
   ========================================================= */
.wj-shop { padding: 48px 0 96px; }
.wj-shop__layout { display: grid; grid-template-columns: 246px 1fr; gap: 56px; align-items: start; }

/* --- 絞り込みサイドバー --- */
.wj-filter__toggle { display: none; }
.wj-filter__head {
  display: flex; align-items: baseline; justify-content: space-between;
  padding-bottom: 14px; border-bottom: 1px solid var(--wj-ink-2);
}
.wj-filter__title { font-size: 18px; font-weight: 600; letter-spacing: 1.44px; color: var(--wj-ink-2); }
.wj-filter__clear { font-size: 11px; letter-spacing: .55px; color: var(--wj-muted-2); }
.wj-filter__clear:hover { text-decoration: underline; }

.wj-filter__group { padding: 26px 0 30px; border-bottom: 1px solid var(--wj-line-2); }
.wj-filter__label { display: flex; align-items: baseline; gap: 14px; }
.wj-filter__label-en { font-size: 12px; font-weight: 500; letter-spacing: 1.04px; color: var(--wj-green-2); }
.wj-filter__label-ja { font-size: 14px; font-weight: 500; letter-spacing: .84px; color: var(--wj-ink-2); }
.wj-filter__list { margin-top: 22px; }
.wj-filter__item + .wj-filter__item { margin-top: 14px; }

.wj-check { display: flex; align-items: center; gap: 11px; cursor: pointer; }
.wj-check__input { position: absolute; opacity: 0; width: 0; height: 0; }
.wj-check__box {
  position: relative; flex: 0 0 auto; width: 15px; height: 15px;
  background: var(--wj-paper); border: 1px solid var(--wj-muted-2);
  transition: background .2s ease, border-color .2s ease;
}
.wj-check__box::after {
  content: ""; position: absolute; left: 4px; top: 1px;
  width: 4px; height: 8px; border: solid #fff; border-width: 0 1.5px 1.5px 0;
  transform: rotate(45deg) scale(0); transform-origin: center;
  transition: transform .2s ease;
}
.wj-check__input:checked + .wj-check__box { background: var(--wj-forest-dp); border-color: var(--wj-forest-dp); }
.wj-check__input:checked + .wj-check__box::after { transform: rotate(45deg) scale(1); }
.wj-check__input:focus-visible + .wj-check__box { outline: 2px solid var(--wj-green-lt); outline-offset: 2px; }
.wj-check__text { flex: 1 1 auto; font-size: 13.5px; line-height: 1.8; color: var(--wj-ink-2); }
.wj-check__count { font-size: 13px; font-weight: 500; letter-spacing: .52px; color: var(--wj-muted-2); }

.wj-filter__price { display: flex; align-items: center; gap: 8px; margin-top: 22px; }
.wj-filter__price-field { display: flex; align-items: center; gap: 6px; }
.wj-filter__input {
  width: 87px; height: 39px; padding-inline: 10px;
  background: var(--wj-paper); border: 1px solid var(--wj-line-3);
  font-family: inherit; font-size: 13px; color: var(--wj-ink-2);
}
.wj-filter__input::placeholder { color: var(--wj-placeholder); }
.wj-filter__unit { font-size: 12px; color: var(--wj-muted-2); }
.wj-filter__tilde { font-size: 15px; color: var(--wj-muted-2); }

.wj-filter__actions { margin-top: 24px; display: grid; gap: 9px; }
.wj-filter__submit,
.wj-filter__reset {
  height: 38px; border-radius: 45px;
  display: grid; place-items: center;
  font-size: 13.5px; letter-spacing: 1.08px;
  transition: background .3s ease, color .3s ease;
}
.wj-filter__submit { background: var(--wj-forest-dp); color: var(--wj-paper-4); }
.wj-filter__submit:hover { background: var(--wj-forest); }
.wj-filter__reset { border: 1px solid var(--wj-ink-2); color: var(--wj-ink-2); }
.wj-filter__reset:hover { background: var(--wj-ink-2); color: var(--wj-paper-4); }

/* --- ツールバー --- */
.wj-shop__toolbar {
  display: flex; align-items: center; justify-content: space-between; gap: 20px;
  padding-bottom: 16px; border-bottom: 1px solid var(--wj-line-3);
}
.wj-shop__count { font-size: 12.5px; letter-spacing: .5px; color: var(--wj-muted-2); }
.wj-shop__count b { font-size: 15px; font-weight: 500; color: var(--wj-ink-2); }
.wj-shop__sort { display: flex; align-items: center; gap: 12px; }
.wj-shop__sort-label { font-size: 11px; font-weight: 500; letter-spacing: 1.54px; color: var(--wj-muted-2); }
.wj-shop__select { position: relative; }
.wj-shop__select select {
  appearance: none; -webkit-appearance: none;
  height: 28px; min-width: 123px; padding: 0 30px 0 12px;
  background: transparent; border: 1px solid var(--wj-ink-2);
  font-family: inherit; font-size: 14px; letter-spacing: .7px; color: var(--wj-ink-2);
  cursor: pointer;
}
.wj-shop__select::after {
  content: ""; position: absolute; right: 12px; top: 50%;
  width: 7px; height: 7px; margin-top: -5px;
  border-right: 1px solid var(--wj-ink-2); border-bottom: 1px solid var(--wj-ink-2);
  transform: rotate(45deg); pointer-events: none;
}

/* --- 商品グリッド --- */
.wj-products { display: grid; grid-template-columns: repeat(3, 1fr); gap: 48px 30px; margin-top: 32px; }
.wj-product { display: flex; flex-direction: column; background: var(--wj-paper); }
.wj-product__media {
  position: relative; aspect-ratio: 266 / 354.66; overflow: hidden;
  background: linear-gradient(150deg, #dfe4d2 0%, #c9d3b6 60%, #b7c6a0 100%);
}
.wj-product__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s cubic-bezier(.22,.61,.36,1); }
.wj-product:hover .wj-product__media img { transform: scale(1.04); }
.wj-product__badge {
  position: absolute; top: 16px; right: 16px; z-index: 2;
  min-width: 68px; height: 38px; padding-inline: 16px;
  display: grid; place-items: center;
  background: var(--wj-forest); color: var(--wj-paper-4);
  font-size: 12px; font-weight: 500; letter-spacing: 1.92px; text-transform: uppercase;
}
.wj-product__price {
  position: absolute; left: 0; bottom: 0; z-index: 2;
  min-width: 143px; height: 52px; padding-inline: 18px;
  display: flex; align-items: baseline; gap: 8px;
  background: var(--wj-paper);
}
.wj-product__price b { font-size: 23px; font-weight: 500; letter-spacing: .46px; color: var(--wj-ink-2); }
.wj-product__price span { font-size: 11px; letter-spacing: .22px; color: var(--wj-muted-2); }
.wj-product__body { padding: 26px 22px 0; display: flex; flex-direction: column; flex: 1 1 auto; }
.wj-product__meta { font-size: 15px; font-weight: 500; letter-spacing: 2.4px; text-transform: uppercase; color: var(--wj-green-2); }
.wj-product__title { margin-top: 10px; font-size: 20px; font-weight: 600; letter-spacing: .8px; line-height: 1.55; color: var(--wj-ink-2); }
.wj-product__excerpt {
  margin-top: 10px; padding-bottom: 16px; flex: 1 1 auto;
  border-bottom: 1px solid var(--wj-line-2);
  font-size: 13px; line-height: 1.7; color: var(--wj-muted-2);
}
.wj-product__cart {
  margin-top: 12px; padding-bottom: 20px;
  display: inline-flex; align-items: center; gap: 12px;
  font-size: 13.5px; letter-spacing: .81px; color: var(--wj-ink-2);
}
.wj-product__arrow {
  position: relative; flex: 0 0 auto;
  width: 24px; height: 1px; background: var(--wj-ink-2);
  transition: width .3s ease;
}
.wj-product__arrow::after {
  content: ""; position: absolute; right: 0; top: 50%;
  width: 6px; height: 6px; margin-top: -3.5px;
  border-right: 1px solid var(--wj-ink-2); border-top: 1px solid var(--wj-ink-2);
  transform: rotate(45deg);
}
.wj-product__cart:hover .wj-product__arrow { width: 34px; }

/* --- ページ送り --- */
.wj-pagination { margin-top: 56px; }
.wj-pagination__list { display: flex; justify-content: center; gap: 8px; }
.wj-pagination__list a,
.wj-pagination__list span {
  width: 42px; height: 42px; display: grid; place-items: center;
  border: 1px solid var(--wj-line-3);
  font-size: 16px; font-weight: 500; color: var(--wj-ink-2);
  transition: background .3s ease, color .3s ease, border-color .3s ease;
}
.wj-pagination__list a:hover { border-color: var(--wj-ink-2); }
.wj-pagination__list .current {
  background: var(--wj-forest-dp); border-color: var(--wj-forest-dp); color: var(--wj-paper);
}
.wj-pagination__list .prev,
.wj-pagination__list .next { font-size: 14px; }
.wj-pagination__total { margin-top: 18px; text-align: right; font-size: 12.5px; color: var(--wj-muted-2); }

.wj-shop__empty { padding: 80px 0; text-align: center; color: var(--wj-muted-2); }

/* --- About Our Products --- */
.wj-about-products { background: #fff; border-top: 1px solid var(--wj-line-3); padding: 84px 0 96px; }
.wj-about-products__eyebrow { text-align: center; font-size: 12px; font-weight: 500; letter-spacing: 3.36px; color: var(--wj-muted-2); }
.wj-about-products__title { margin-top: 18px; text-align: center; font-size: 32px; font-weight: 600; letter-spacing: 2.56px; color: var(--wj-ink-2); }
.wj-about-products__grid { margin-top: 46px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
.wj-about-card { background: var(--wj-paper); padding: 30px 27px; display: flex; flex-direction: column; min-height: 268px; }
.wj-about-card__eyebrow { font-size: 13px; font-weight: 500; letter-spacing: 1.68px; color: var(--wj-green-2); }
.wj-about-card__title { margin-top: 14px; font-size: 17px; font-weight: 600; letter-spacing: .68px; color: var(--wj-ink-2); }
.wj-about-card__text { margin-top: 14px; flex: 1 1 auto; font-size: 12.5px; line-height: 1.85; color: var(--wj-muted-3); }
.wj-about-card__link { margin-top: 18px; font-size: 12.5px; color: var(--wj-forest); }
.wj-about-card__link:hover { text-decoration: underline; }

/* =========================================================
   17. 商品一覧のレスポンシブ
   ========================================================= */
@media (max-width: 1280px) {
  .wj-shop__layout { grid-template-columns: 220px 1fr; gap: 36px; }
  .wj-products { gap: 40px 22px; }
  .wj-page-hero__word { font-size: 150px; }
  .wj-about-products__grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 1024px) {
  .wj-shop__layout { grid-template-columns: 1fr; gap: 0; }
  .wj-filter { border: 1px solid var(--wj-line-3); margin-bottom: 28px; }
  .wj-filter__toggle {
    display: flex; align-items: center; justify-content: space-between; width: 100%;
    padding: 16px 18px; font-size: 15px; letter-spacing: .06em; color: var(--wj-ink-2);
  }
  .wj-filter__toggle::after { content: "＋"; font-size: 16px; transition: transform .3s ease; }
  .wj-filter.is-open .wj-filter__toggle::after { transform: rotate(45deg); }
  .wj-filter__panel { display: none; padding: 0 18px 20px; }
  .wj-filter.is-open .wj-filter__panel { display: block; }
  .wj-filter__head { display: none; }
  .wj-products { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 767px) {
  body:not(.home) .wj-main { padding-top: 0; }
/* === KILLED (旧コンポーネント：今回common-parts.cssへ移行) ===
/* KILLED2:   .wj-header--solid { height: 64px; }
*/
/* KILLED2:   .wj-header--solid .wj-logo__main { font-size: 19px; letter-spacing: 4px; }
*/
/* KILLED2:   .wj-header--solid .wj-logo__sub { font-size: 8px; letter-spacing: 2.4px; }
*/
/* === /KILLED (旧コンポーネント：今回common-parts.cssへ移行) === */

  .wj-breadcrumb__list { gap: 8px; font-size: 11px; }
  .wj-page-hero { padding: 28px 0 32px; }
  .wj-page-hero__word { font-size: 78px; top: 0; }
  .wj-page-hero__title { font-size: 30px; letter-spacing: 1.6px; margin-top: 12px; }
  .wj-page-hero__sub { font-size: 14px; margin-top: 12px; }
  .wj-page-hero__text { font-size: 13px; margin-top: 14px; }

  .wj-shop { padding: 28px 0 60px; }
  .wj-shop__toolbar { flex-wrap: wrap; gap: 12px; }
  .wj-products { grid-template-columns: repeat(2, 1fr); gap: 28px 14px; margin-top: 24px; }
  .wj-product__body { padding: 18px 14px 0; }
  .wj-product__meta { font-size: 11.5px; letter-spacing: 1.2px; }
  .wj-product__title { font-size: 15px; letter-spacing: .4px; margin-top: 6px; }
  .wj-product__excerpt { font-size: 11.5px; padding-bottom: 12px; }
  .wj-product__cart { font-size: 12.5px; padding-bottom: 16px; }
  .wj-product__price { min-width: 108px; height: 42px; padding-inline: 12px; }
  .wj-product__price b { font-size: 17px; }
  .wj-product__badge { min-width: 54px; height: 30px; padding-inline: 10px; font-size: 10px; letter-spacing: 1.2px; }

  .wj-pagination__list a, .wj-pagination__list span { width: 36px; height: 36px; font-size: 14px; }
  .wj-pagination__total { text-align: center; }

  .wj-about-products { padding: 52px 0 60px; }
  .wj-about-products__title { font-size: 22px; letter-spacing: 1.2px; }
  .wj-about-products__grid { grid-template-columns: 1fr; gap: 14px; }
  .wj-about-card { min-height: 0; padding: 24px 20px; }
}

/* =========================================================
   18. 商品詳細（single-product）
   ========================================================= */
.wj-single { position: relative; padding: 42px 0 96px; isolation: isolate; overflow: hidden; }
.wj-single__word {
  position: absolute; left: -23px; top: -10px; z-index: 0;
  font-family: var(--wj-num); font-weight: 500; font-size: 148px; line-height: 1.15;
  color: var(--wj-wm-2); pointer-events: none; user-select: none; white-space: nowrap;
}
.wj-single__layout { position: relative; z-index: 1; display: grid; grid-template-columns: 548px 1fr; gap: 64px; align-items: start; }

/* --- ギャラリー --- */
.wj-gallery__main {
  position: relative; aspect-ratio: 1 / 1; overflow: hidden;
  background: linear-gradient(150deg, #dfe4d2 0%, #c9d3b6 60%, #b7c6a0 100%);
}
.wj-gallery__main img { width: 100%; height: 100%; object-fit: cover; }
.wj-gallery__badge {
  position: absolute; left: 0; top: 0; z-index: 2;
  min-width: 49px; height: 34px; padding-inline: 10px;
  display: grid; place-items: center;
  background: var(--wj-paper); border: 1px solid var(--wj-green-2);
  font-size: 11px; font-weight: 500; letter-spacing: .08em; color: var(--wj-green-2);
}
.wj-gallery__thumbs { margin-top: 12px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.wj-gallery__thumb {
  aspect-ratio: 1 / 1; overflow: hidden; padding: 0;
  border: 1px solid var(--wj-line-3); background: var(--wj-media);
  transition: border-color .25s ease;
}
.wj-gallery__thumb img { width: 100%; height: 100%; object-fit: cover; }
.wj-gallery__thumb.is-active,
.wj-gallery__thumb:hover { border-color: var(--wj-forest); }

/* --- 商品情報 --- */
.wj-single__meta { font-size: 13.6px; font-weight: 500; letter-spacing: .9px; color: var(--wj-muted-2); }
.wj-single__title { margin-top: 8px; font-size: 38px; font-weight: 600; letter-spacing: 1.9px; line-height: 1.35; color: var(--wj-ink-2); }
.wj-single__price { margin-top: 18px; display: flex; align-items: baseline; gap: 10px; }
.wj-single__price .amount,
.wj-single__price > b { font-size: 38px; font-weight: 500; letter-spacing: .76px; color: var(--wj-ink-2); }
.wj-single__price del { font-size: 20px; color: var(--wj-muted-2); }
.wj-single__tax { font-size: 13px; letter-spacing: .76px; color: var(--wj-muted-2); }

.wj-single__rating {
  margin-top: 20px; padding-bottom: 18px; border-bottom: 1px solid var(--wj-line-3);
  display: flex; align-items: center; gap: 12px;
}
.wj-stars { display: inline-flex; gap: 3px; }
.wj-stars svg { width: 17px; height: 17px; }
.wj-stars--lg svg { width: 24px; height: 24px; }
.wj-stars__icon { fill: none; stroke: #b4923f; stroke-width: .85; }
.wj-stars__icon--on { fill: #b4923f; }
.wj-single__score { font-size: 18px; font-weight: 500; letter-spacing: .72px; color: var(--wj-ink-2); }
.wj-single__review-link {
  padding: 3px 10px; border: 1px solid var(--wj-line-3);
  font-size: 12px; color: var(--wj-muted-2);
}
.wj-single__review-link:hover { border-color: var(--wj-muted-2); }

/* --- スペック表 --- */
.wj-spec { margin-top: 26px; border-top: 1px solid var(--wj-line-2); border-bottom: 1px solid var(--wj-line-2); }
.wj-spec__row { display: grid; grid-template-columns: 150px 1fr; align-items: start; }
.wj-spec__row + .wj-spec__row { border-top: 1px solid var(--wj-line-2); }
.wj-spec__key { padding: 16px 4px 16px 4px; font-size: 13.5px; font-weight: 500; letter-spacing: .81px; color: var(--wj-forest); }
.wj-spec__val { padding: 16px 16px 16px 0; font-size: 13.5px; line-height: 1.75; color: var(--wj-ink-2); }
.wj-spec__val--long { font-size: 13px; color: #40402f; }
.wj-spec__val--long p { margin: 0; }
.wj-spec__val--long p + p { margin-top: .9em; }

/* --- ギフトオプション --- */
.wj-options { margin-top: 24px; padding: 19px 25px 25px; background: var(--wj-paper); border: 1px solid var(--wj-line-2); }
.wj-options__group + .wj-options__group { margin-top: 20px; padding-top: 20px; border-top: 1px solid var(--wj-line-2); }
.wj-options__label { font-size: 13.5px; font-weight: 500; letter-spacing: .81px; color: var(--wj-ink-2); }
.wj-options__required {
  display: inline-grid; place-items: center; margin-left: 6px; padding: 0 7px; height: 20px; border-radius: 2px;
  background: #9e5236; color: var(--wj-paper-4);
  font-family: "Noto Sans JP", var(--wj-serif); font-size: 10px; font-weight: 500; letter-spacing: .4px; vertical-align: middle;
}
.wj-options__list { margin-top: 14px; display: flex; flex-wrap: wrap; gap: 9px; }
/* Figma 173:1209 — 高さ63px／左寄せ／価格は枠付きのチップで右に置く */
.wj-opt { position: relative; }
.wj-opt input { position: absolute; opacity: 0; width: 0; height: 0; }
.wj-opt__box {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 114px;
  height: 63px;
  padding: 0 16px;
  background: #fff;
  border: 1px solid var(--wj-line-3);
  cursor: pointer;
  transition: background .25s ease, color .25s ease, border-color .25s ease;
}
.wj-opt__name {
  font-family: var(--wj-serif);
  font-weight: 400;
  font-size: 13px;
  line-height: 1.8;
  letter-spacing: .39px;
  color: var(--wj-ink-2);
  white-space: nowrap;
  transition: color .25s ease;
}
/* 追加金額のチップ */
.wj-opt__price {
  display: inline-flex;
  align-items: center;
  height: 43.4px;
  padding: 0 16px;
  border: 1px solid var(--wj-line-3);
  background: #fff;
  font-family: var(--wj-serif);
  font-style: normal;
  font-weight: 500;
  font-size: 13px;
  line-height: 1.8;
  letter-spacing: .39px;
  color: var(--wj-muted-2);
  white-space: nowrap;
  transition: border-color .25s ease, color .25s ease, background .25s ease;
}
.wj-opt__price .amount { font-size: inherit; color: inherit; }

/* 選択中 */
.wj-opt input:checked + .wj-opt__box {
  background: var(--wj-forest-dp);
  border-color: var(--wj-forest-dp);
}
.wj-opt input:checked + .wj-opt__box .wj-opt__name { color: var(--wj-paper); }
.wj-opt input:checked + .wj-opt__box .wj-opt__price {
  background: transparent;
  border-color: rgba(244, 241, 232, .45);
  color: rgba(244, 241, 232, .85);
}
.wj-opt input:focus-visible + .wj-opt__box { outline: 2px solid var(--wj-green-lt); outline-offset: 2px; }

.wj-options__list { gap: 10px; }

/* --- 熨斗（のし）追加オプション：あり選択時のテキスト欄 --- */
.wj-noshi-addon__text { margin-top: 14px; }
.wj-noshi-addon__label { display: block; margin-bottom: 8px; font-size: 12.5px; letter-spacing: .5px; color: var(--wj-muted-2); }
.wj-noshi-addon__textarea {
  width: 100%; padding: 12px 14px; border: 1px solid var(--wj-line-3); background: #fff;
  font-family: inherit; font-size: 13.5px; line-height: 1.7; color: var(--wj-ink-2); resize: vertical;
}
.wj-noshi-addon__textarea:focus { outline: 2px solid var(--wj-green-lt); outline-offset: 1px; }

@media (max-width: 767px) {
  .wj-opt__box { min-width: 0; height: 56px; padding-inline: 13px; gap: 8px; }
  .wj-opt__price { height: 38px; padding-inline: 12px; font-size: 12px; }
}

/* --- 数量・購入ボタン --- */
.wj-buy { margin-top: 26px; display: flex; align-items: stretch; gap: 16px; }
.wj-qty { display: flex; align-items: center; width: 146px; height: 54px; border: 1px solid var(--wj-ink-2); }
.wj-qty__btn { width: 46px; height: 100%; font-size: 22px; font-weight: 500; color: var(--wj-ink-2); }
.wj-qty__btn:hover { background: rgba(38,38,31,.06); }
.wj-qty input {
  width: 52px; height: 52px; padding: 0; text-align: center;
  border: 1px solid var(--wj-line-3); background: #fff;
  font-family: inherit; font-size: 15px; color: var(--wj-ink-2);
  -moz-appearance: textfield;
}
.wj-qty input::-webkit-outer-spin-button,
.wj-qty input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }

.wj-buy__submit {
  flex: 1 1 auto; height: 54px; border-radius: 52px;
  display: inline-flex; align-items: center; justify-content: center; gap: 24px;
  background: var(--wj-forest-dp); color: var(--wj-paper-4);
  font-size: 15px; letter-spacing: 2.1px;
  transition: background .3s ease;
}
.wj-buy__submit:hover { background: var(--wj-forest); }
.wj-buy__submit::after {
  content: ""; width: 24px; height: 1px; background: currentColor; position: relative;
}
.wj-single__note { margin-top: 20px; font-size: 12px; line-height: 1.8; color: var(--wj-muted-2); }

/* =========================================================
   19. レビュー
   ========================================================= */
.wj-reviews { border-top: 1px solid var(--wj-line-3); padding: 78px 0 88px; }
.wj-reviews__eyebrow { text-align: center; font-size: 12px; font-weight: 500; letter-spacing: 3.36px; color: var(--wj-muted-2); }
.wj-reviews__title { margin-top: 14px; text-align: center; font-size: 32px; font-weight: 600; letter-spacing: 2.56px; color: var(--wj-ink-2); }
.wj-reviews__layout { margin-top: 46px; display: grid; grid-template-columns: 497px 1fr; gap: 56px; align-items: start; }

.wj-rating-box { padding: 33px; background: var(--wj-paper); border: 1px solid var(--wj-line-2); }
.wj-rating-box__score { display: flex; align-items: baseline; gap: 8px; }
.wj-rating-box__score b { font-size: 60px; font-weight: 500; line-height: 1; color: var(--wj-ink-2); }
.wj-rating-box__score span { font-size: 12px; color: var(--wj-muted-2); }
.wj-rating-box__stars { margin-top: 22px; }
.wj-rating-box__caption { margin-top: 14px; font-size: 12.5px; letter-spacing: .38px; color: var(--wj-muted-2); }
.wj-rating-bars { margin-top: 26px; }
.wj-rating-bar { display: grid; grid-template-columns: 80px 1fr 24px; align-items: center; gap: 14px; }
.wj-rating-bar + .wj-rating-bar { margin-top: 20px; }
.wj-rating-bar__label { font-size: 12px; color: var(--wj-ink-2); line-height: 1.4; }
.wj-rating-bar__track { height: 5px; background: #e0dac9; }
.wj-rating-bar__fill { height: 100%; background: #b4923f; }
.wj-rating-bar__count { font-size: 12px; font-weight: 500; text-align: right; color: var(--wj-muted-2); }

.wj-review-form__label { display: block; font-size: 13px; font-weight: 500; color: var(--wj-ink-2); }
.wj-review-form__field + .wj-review-form__field { margin-top: 32px; }
.wj-review-form__input,
.wj-review-form__textarea {
  width: 100%; margin-top: 12px; padding: 12px 14px;
  background: #fff; border: 1px solid var(--wj-line-3);
  font-family: inherit; font-size: 14px; color: var(--wj-ink-2);
}
.wj-review-form__input { height: 48px; }
.wj-review-form__textarea { height: 120px; resize: vertical; }
.wj-review-form__input::placeholder,
.wj-review-form__textarea::placeholder { color: var(--wj-placeholder); }
.wj-review-form__submit {
  margin-top: 32px; width: 209px; height: 48px; border-radius: 47px;
  display: grid; place-items: center;
  background: var(--wj-forest-dp); color: var(--wj-paper-4);
  font-size: 14px; letter-spacing: 1.68px;
  transition: background .3s ease;
}
.wj-review-form__submit:hover { background: var(--wj-forest); }

/* 評価の星（ラジオ） */
.wj-rate { display: inline-flex; flex-direction: row-reverse; gap: 4px; margin-top: 12px; }
.wj-rate input { position: absolute; opacity: 0; width: 0; height: 0; }
.wj-rate label { cursor: pointer; line-height: 0; }
.wj-rate label svg { width: 24px; height: 24px; fill: none; stroke: #b4923f; stroke-width: .85; transition: fill .2s ease; }
.wj-rate input:checked ~ label svg,
.wj-rate label:hover svg,
.wj-rate label:hover ~ label svg { fill: #b4923f; }

/* 投稿済みレビュー */
.wj-review-list { margin-top: 48px; display: grid; gap: 24px; }
.wj-review-item { padding: 24px; background: var(--wj-paper); border: 1px solid var(--wj-line-2); }
.wj-review-item__head { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.wj-review-item__title { font-size: 15px; font-weight: 600; color: var(--wj-ink-2); }
.wj-review-item__author { font-size: 12px; color: var(--wj-muted-2); }
.wj-review-item__body { margin-top: 12px; font-size: 13.5px; line-height: 1.9; color: var(--wj-muted-3); }
.wj-review-item__body p { margin: 0; }

/* =========================================================
   20. 関連商品
   ========================================================= */
.wj-related { border-top: 1px solid var(--wj-line-3); padding: 78px 0 88px; }
.wj-related__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; }
.wj-related__eyebrow { font-size: 12px; font-weight: 500; letter-spacing: 3.36px; color: var(--wj-muted-2); }
.wj-related__title { margin-top: 12px; font-size: 32px; font-weight: 600; letter-spacing: 2.56px; color: var(--wj-ink-2); }
.wj-related__more { font-size: 13px; color: var(--wj-muted-2); }
.wj-related__more:hover { color: var(--wj-ink-2); text-decoration: underline; }
.wj-related__grid { margin-top: 40px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 26px; }

.wj-mini { display: flex; flex-direction: column; }
.wj-mini__media { aspect-ratio: 1 / 1; overflow: hidden; background: var(--wj-media); }
.wj-mini__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s cubic-bezier(.22,.61,.36,1); }
.wj-mini:hover .wj-mini__media img { transform: scale(1.04); }
.wj-mini__meta { margin-top: 14px; font-size: 10.7px; font-weight: 500; letter-spacing: .06em; color: var(--wj-muted-2); }
.wj-mini__title { margin-top: 8px; font-size: 15px; font-weight: 600; letter-spacing: .45px; line-height: 1.5; color: var(--wj-ink-2); }
.wj-mini__desc { margin-top: 8px; font-size: 11.5px; line-height: 1.6; color: var(--wj-muted-2); }
.wj-mini__foot { margin-top: 12px; display: flex; align-items: baseline; justify-content: space-between; gap: 10px; }
.wj-mini__price { display: flex; align-items: baseline; gap: 6px; }
.wj-mini__price b, .wj-mini__price .amount { font-size: 19px; font-weight: 500; color: var(--wj-ink-2); }
.wj-mini__price span { font-size: 10px; color: var(--wj-muted-2); }
.wj-mini__cart { display: inline-flex; align-items: center; gap: 5px; font-size: 12px; color: var(--wj-ink-2); }
.wj-mini__cart b { font-size: 15px; font-weight: 500; }
.wj-mini__cart:hover { color: var(--wj-green-2); }

/* =========================================================
   21. 商品詳細のレスポンシブ
   ========================================================= */
@media (max-width: 1280px) {
  .wj-single__layout { grid-template-columns: minmax(0, 460px) 1fr; gap: 40px; }
  .wj-reviews__layout { grid-template-columns: minmax(0, 400px) 1fr; gap: 36px; }
  .wj-single__word { font-size: 110px; }
}

@media (max-width: 1024px) {
  .wj-single__layout { grid-template-columns: 1fr; gap: 36px; }
  .wj-reviews__layout { grid-template-columns: 1fr; gap: 36px; }
  .wj-related__grid { grid-template-columns: repeat(2, 1fr); }
  .wj-single__title { font-size: 30px; letter-spacing: 1.2px; }
  .wj-single__price .amount, .wj-single__price > b { font-size: 30px; }
}

@media (max-width: 767px) {
  .wj-single { padding: 24px 0 60px; }
  .wj-single__word { font-size: 64px; left: -8px; }
  .wj-single__title { font-size: 22px; letter-spacing: .8px; }
  .wj-single__price .amount, .wj-single__price > b { font-size: 26px; }
  .wj-spec__row { grid-template-columns: 104px 1fr; }
  .wj-spec__key, .wj-spec__val { padding: 12px 4px; font-size: 12.5px; }
  .wj-options { padding: 16px 16px 20px; }
  .wj-buy { flex-wrap: wrap; }
  .wj-qty { width: 130px; height: 48px; }
  .wj-buy__submit { width: 100%; flex: 1 1 100%; height: 50px; }
  .wj-gallery__thumbs { gap: 8px; }

  .wj-reviews { padding: 52px 0 60px; }
  .wj-reviews__title, .wj-related__title { font-size: 22px; letter-spacing: 1.2px; }
  .wj-rating-box { padding: 22px; }
  .wj-rating-box__score b { font-size: 44px; }
  .wj-rating-bar { grid-template-columns: 68px 1fr 20px; gap: 10px; }
  .wj-review-form__submit { width: 100%; }

  .wj-related { padding: 52px 0 60px; }
  .wj-related__head { flex-direction: column; align-items: flex-start; gap: 10px; }
  .wj-related__grid { gap: 20px 14px; margin-top: 26px; }
  .wj-mini__title { font-size: 13.5px; }
  .wj-mini__foot { flex-direction: column; align-items: flex-start; gap: 6px; }
}

/* =========================================================
   22. ギフトで選ぶ
   ========================================================= */
.wj-gift-hero {
  position: relative; isolation: isolate; overflow: hidden; z-index: 0;
  min-height: 516px;            /* Figma 549px − ヘッダーとの重なり 33px */
  padding-bottom: 64px;
  background: var(--wj-paper-2);
}
/* ヒーロー内に置くパンくず（Figma では背景画像の上に重なる） */
.wj-gift-hero .wj-breadcrumb { position: relative; z-index: 5; }
.wj-gift-hero .wj-breadcrumb__list a { pointer-events: auto; }
.wj-gift-hero__media {
  position: absolute; inset: 0; z-index: 0;
  background-image: var(--wj-gift-hero-image, none);
  background-size: cover; background-position: center;
}
.wj-gift-hero__scrim {
  position: absolute; inset: 0; z-index: 1;
  background: linear-gradient(92deg, rgba(244,241,232,.92) 0%, rgba(244,241,232,.7) 42%, rgba(244,241,232,.15) 78%);
}
.wj-gift-hero__word {
  position: absolute; left: 33%; top: 60px; z-index: 2;
  font-family: var(--wj-num); font-weight: 500; font-size: 193px; line-height: 1.14;
  color: var(--wj-wm-2); opacity: .38;
  /* Figma: 暗さをプラス（Linear Burn）。CSS に該当値が無いため multiply で近似
     明るい背景では誤差1〜2、最も暗い部分でも最大16レベル（0〜255）の差 */
  mix-blend-mode: multiply;
  pointer-events: none; user-select: none;
}
.wj-gift-hero__inner { position: relative; z-index: 3; margin-top: 80px; }
.wj-gift-hero__eyebrow { font-size: 13.8px; font-weight: 500; letter-spacing: 2.7px; color: var(--wj-green-2); }
.wj-gift-hero__title { margin-top: 14px; font-size: 46px; font-weight: 600; letter-spacing: 2.76px; line-height: 1.42; color: var(--wj-ink-2); }
.wj-gift-hero__text { margin-top: 22px; max-width: 34em; font-size: 14.5px; line-height: 1.9; color: #45412f; }
.wj-gift-hero__actions { margin-top: 34px; display: flex; flex-wrap: wrap; gap: 16px; }

/* 共通ピルボタン */
.wj-pill {
  display: inline-flex; align-items: center; justify-content: center; gap: 16px;
  height: 38px; padding-inline: 26px; border-radius: 44px;
  font-size: 14px; letter-spacing: 1.12px;
  transition: background .3s ease, color .3s ease, border-color .3s ease;
}
.wj-pill--fill { background: var(--wj-forest-dp); color: var(--wj-paper-4); }
.wj-pill--fill::after { content: ""; width: 22px; height: 1px; background: currentColor; }
.wj-pill--fill:hover { background: var(--wj-forest); }
.wj-pill--line { border: 1px solid var(--wj-ink-2); color: var(--wj-ink-2); }
.wj-pill--line:hover { background: var(--wj-ink-2); color: var(--wj-paper-4); }

/* --- アンカーナビ --- */
.wj-anchor-nav {
  margin-top: 52px;
  display: grid; grid-template-columns: 1fr 1fr;
  border: 1px solid var(--wj-line-3);
}
.wj-anchor-nav__item {
  display: flex; align-items: center; gap: 16px;
  min-height: 96px; padding: 20px 30px;
  transition: background .3s ease;
}
.wj-anchor-nav__item + .wj-anchor-nav__item { border-left: 1px solid var(--wj-line-3); }
.wj-anchor-nav__item:hover { background: rgba(94,107,58,.06); }
.wj-anchor-nav__num { font-family: var(--wj-num); font-weight: 500; font-size: 24px; line-height: 1; color: var(--wj-green-2); }
.wj-anchor-nav__body { flex: 1 1 auto; }
.wj-anchor-nav__title { font-size: 16px; font-weight: 500; letter-spacing: .96px; color: var(--wj-ink-2); }
.wj-anchor-nav__en { margin-top: 6px; font-size: 11px; font-weight: 500; letter-spacing: 2.2px; color: var(--wj-muted-2); }
.wj-anchor-nav__arrow { font-size: 18px; font-weight: 500; color: var(--wj-muted-2); transition: transform .3s ease; }
.wj-anchor-nav__item:hover .wj-anchor-nav__arrow { transform: translateY(3px); }

/* --- セクション見出し --- */
.wj-gift-section { padding: 76px 0 0; }
.wj-gift-section:last-of-type { padding-bottom: 88px; }
.wj-gift-section__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; }
.wj-gift-section__eyebrow { font-size: 12px; font-weight: 500; letter-spacing: 3.36px; color: var(--wj-muted-2); }
.wj-gift-section__title { margin-top: 12px; font-size: 32px; font-weight: 600; letter-spacing: 2.24px; color: var(--wj-ink-2); }
.wj-gift-section__more { font-size: 13.5px; color: var(--wj-forest); white-space: nowrap; }
.wj-gift-section__more:hover { text-decoration: underline; }

/* --- 価格チップ --- */
.wj-chips { margin-top: 30px; display: flex; flex-wrap: wrap; gap: 14px; }
.wj-chip {
  display: inline-flex; align-items: center; justify-content: center;
  min-height: 51px; padding-inline: 23px;
  background: var(--wj-paper); border: 1px solid var(--wj-line-3);
  font-size: 15px; font-weight: 500; letter-spacing: .45px; color: var(--wj-ink-2);
  transition: background .3s ease, color .3s ease, border-color .3s ease;
}
.wj-chip:hover { border-color: var(--wj-ink-2); }
.wj-chip.is-active { background: var(--wj-forest-dp); border-color: var(--wj-forest-dp); color: var(--wj-paper); }

/* --- カルーセル --- */
.wj-carousel { position: relative; margin-top: 34px; }
.wj-carousel__viewport { overflow: hidden; }
.wj-carousel__track { display: flex; }
.wj-carousel__slide { flex: 0 0 auto; height: auto; }
.wj-carousel__nav {
  position: absolute; top: 168px; z-index: 3;
  width: 48px; height: 48px; border-radius: 24px;
  display: grid; place-items: center;
  background: rgba(251,249,242,.94); border: 1px solid var(--wj-line-3);
  font-size: 22px; font-weight: 500; color: var(--wj-ink-2);
  transition: background .3s ease, opacity .3s ease;
}
.wj-carousel__nav:hover { background: #fff; }
.wj-carousel__nav--prev { left: -16px; }
.wj-carousel__nav--next { right: -16px; }
.wj-carousel__nav.swiper-button-disabled { opacity: 0; pointer-events: none; }
.wj-carousel__foot { margin-top: 44px; display: flex; justify-content: center; }
.wj-carousel__more {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 300px; height: 39px; padding-inline: 26px; border-radius: 47px;
  border: 1px solid var(--wj-ink-2);
  font-size: 14px; letter-spacing: 1.4px; color: var(--wj-ink-2);
  transition: background .3s ease, color .3s ease;
}
.wj-carousel__more:hover { background: var(--wj-ink-2); color: var(--wj-paper-4); }
.wj-carousel__empty { padding: 60px 0; text-align: center; color: var(--wj-muted-2); }

/* --- ギフト箱・包装・のし --- */
.wj-wrapping {
  position: relative; isolation: isolate; overflow: hidden;
  padding: 88px 0 96px; background: var(--wj-forest); color: #fff;
}
.wj-wrapping__word {
  position: absolute; left: 50%; top: 62px; transform: translateX(-50%); z-index: 0;
  font-family: var(--wj-num); font-weight: 500; font-size: 158px; line-height: 1.14;
  color: #fff; opacity: .05; pointer-events: none; user-select: none;
}
.wj-wrapping__inner { position: relative; z-index: 1; }
.wj-wrapping__eyebrow { text-align: center; font-size: 12px; font-weight: 500; letter-spacing: 3.36px; color: #b6bd9f; }
.wj-wrapping__title { margin-top: 16px; text-align: center; font-size: 34px; font-weight: 600; letter-spacing: 2.72px; }
.wj-wrapping__grid { margin-top: 62px; display: grid; grid-template-columns: repeat(3, 1fr); }
.wj-wrapping__item { padding: 0 30px; text-align: center; }
.wj-wrapping__item + .wj-wrapping__item { border-left: 1px solid rgba(255,255,255,.35); }
.wj-wrapping__icon { display: grid; place-items: center; }
.wj-wrapping__icon svg { width: 52px; height: 52px; fill: none; stroke: #fff; stroke-width: 1.2; }
.wj-wrapping__name { margin-top: 30px; font-size: 18px; font-weight: 600; letter-spacing: 1.08px; }
.wj-wrapping__sub { margin-top: 14px; font-size: 13px; color: #fff; }
.wj-wrapping__note { margin-top: 6px; font-size: 13px; color: #c4c8b6; }

/* =========================================================
   23. ギフトページのレスポンシブ
   ========================================================= */
@media (max-width: 1280px) {
  .wj-gift-hero__word { font-size: 150px; left: 40%; }
  .wj-gift-hero__title { font-size: 38px; letter-spacing: 2px; }
  .wj-carousel__nav--prev { left: 4px; }
  .wj-carousel__nav--next { right: 4px; }
}

@media (max-width: 1024px) {
  .wj-gift-hero { min-height: 420px; }
  .wj-gift-hero__inner { margin-top: 56px; }
  .wj-gift-hero__word { font-size: 110px; left: auto; right: 4%; }
  .wj-anchor-nav { grid-template-columns: 1fr; }
  .wj-anchor-nav__item + .wj-anchor-nav__item { border-left: 0; border-top: 1px solid var(--wj-line-3); }
  .wj-wrapping__grid { grid-template-columns: 1fr; gap: 40px; }
  .wj-wrapping__item { padding: 0; }
  .wj-wrapping__item + .wj-wrapping__item { border-left: 0; border-top: 1px solid rgba(255,255,255,.28); padding-top: 40px; }
}

@media (max-width: 767px) {
  .wj-gift-hero { min-height: 0; padding-bottom: 44px; }
  .wj-gift-hero__inner { margin-top: 32px; }
  .wj-gift-hero__word { font-size: 72px; top: 20px; }
  .wj-gift-hero__title { font-size: 26px; letter-spacing: 1.2px; margin-top: 10px; }
  .wj-gift-hero__text { font-size: 13px; margin-top: 16px; }
  .wj-gift-hero__actions { margin-top: 24px; gap: 10px; }
  .wj-pill { height: 44px; padding-inline: 20px; font-size: 13px; }

  .wj-anchor-nav { margin-top: 32px; }
  .wj-anchor-nav__item { min-height: 72px; padding: 16px 18px; }

  .wj-gift-section { padding-top: 48px; }
  .wj-gift-section:last-of-type { padding-bottom: 56px; }
  .wj-gift-section__head { flex-direction: column; align-items: flex-start; gap: 8px; }
  .wj-gift-section__title { font-size: 22px; letter-spacing: 1.2px; }
  .wj-chips { margin-top: 20px; gap: 8px; }
  .wj-chip { min-height: 42px; padding-inline: 14px; font-size: 13px; }

  .wj-carousel { margin-top: 24px; }
  .wj-carousel__nav { display: none; }
  .wj-carousel__foot { margin-top: 28px; }
  .wj-carousel__more { min-width: 0; width: 100%; }

  .wj-wrapping { padding: 56px 0 60px; }
  .wj-wrapping__word { font-size: 72px; top: 40px; }
  .wj-wrapping__title { font-size: 22px; letter-spacing: 1.2px; }
  .wj-wrapping__grid { margin-top: 36px; gap: 32px; }
  .wj-wrapping__item + .wj-wrapping__item { padding-top: 32px; }
}

/* =========================================================
   24. お買い物カゴ（cart）
   ========================================================= */
.wj-page-hero--sm .wj-page-hero__title { font-size: 46px; letter-spacing: 2.76px; }

 .wj-cart { padding: 40px 0 96px; }
 .wj-cart__list { border-top: 0; }


/* 見出し行：左は空、右3列だけに罫線（Figma準拠） */
 .wj-cart__head,
 .wj-cart__item {
  display: grid; grid-template-columns: 1fr 523px; align-items: start;
}
 .wj-cart__head-spacer { min-height: 40px; }
 .wj-cart__head-cells {
  display: grid; grid-template-columns: repeat(3, 1fr);
  padding-bottom: 12px; border-bottom: 1px solid var(--wj-ink-2);
}
 .wj-cart__head-cells span {
  text-align: center; font-size: 12.5px; font-weight: 500; letter-spacing: 1.25px; color: var(--wj-muted-2);
}


 .wj-cart__item + .wj-cart__item { margin-top: 8px; }
 .wj-cart__product { display: grid; grid-template-columns: 210px 1fr; gap: 30px; padding: 4px 30px 24px 0; }
 .wj-cart__thumb { aspect-ratio: 1 / 1; overflow: hidden; background: var(--wj-media); }
 .wj-cart__thumb img { width: 100%; height: 100%; object-fit: cover; }
 .wj-cart__label { font-size: 13px; font-weight: 500; letter-spacing: .65px; color: var(--wj-muted-2); }
 .wj-cart__name { margin-top: 10px; font-size: 19px; font-weight: 600; letter-spacing: .76px; line-height: 1.5; color: var(--wj-ink-2); }
 .wj-cart__options { margin-top: 12px; font-size: 12.5px; line-height: 1.8; color: var(--wj-muted-2); }
 .wj-cart__options dl { display: flex; flex-wrap: wrap; gap: 0 6px; margin: 0; }
 .wj-cart__options dt { font-weight: 500; }
 .wj-cart__options dt::after { content: "："; }
 .wj-cart__options dd { margin: 0; }
 .wj-cart__remove {
  margin-top: 16px; display: inline-flex; align-items: center; gap: 6px;
  font-size: 12px; letter-spacing: .48px; color: var(--wj-muted-2);
}
 .wj-cart__remove::before { content: "×"; font-size: 14px; }
 .wj-cart__remove:hover { color: var(--wj-ink-2); text-decoration: underline; }


 .wj-cart__cells {
  display: grid; grid-template-columns: repeat(3, 1fr); align-items: center;
  min-height: 99px; border-bottom: 1px solid var(--wj-line-3);
}
 .wj-cart__cell { display: flex; align-items: baseline; justify-content: center; gap: 6px; }
 .wj-cart__cell--qty { align-items: center; }
 .wj-cart__price { font-size: 19px; font-weight: 500; letter-spacing: .38px; color: var(--wj-ink-2); }
 .wj-cart__tax { font-size: 10px; letter-spacing: .38px; color: var(--wj-muted-2); }
 .wj-cart__subtotal { font-size: 20px; font-weight: 500; letter-spacing: .4px; color: var(--wj-ink-2); }
 .wj-cart__mobile-label { display: none; }


/* 数量ステッパー（カート用・小さめ） */
.wj-qty--sm { width: 114px; height: 42px; }
.wj-qty--sm .wj-qty__btn { width: 36px; font-size: 18px; }
.wj-qty--sm input { width: 40px; height: 40px; font-size: 14px; }

/* 合計と決済ボタン */
 .wj-cart__foot { display: grid; grid-template-columns: 1fr 523px; }
 .wj-cart__summary { grid-column: 2; }
 .wj-cart__total { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; padding: 34px 4px 30px; }
 .wj-cart__total-label { font-size: 15px; font-weight: 600; letter-spacing: .9px; color: var(--wj-ink-2); }
 .wj-cart__total-value { font-size: 26px; font-weight: 500; letter-spacing: .52px; color: var(--wj-ink-2); }
 .wj-cart__checkout {
  width: 100%; height: 57px;
  display: inline-flex; align-items: center; justify-content: center; gap: 24px;
  background: var(--wj-forest-dp); color: var(--wj-paper-4);
  font-size: 15px; letter-spacing: 2.4px;
  transition: background .3s ease;
}
 .wj-cart__checkout::after { content: ""; width: 22px; height: 1px; background: currentColor; }
 .wj-cart__checkout:hover { background: var(--wj-forest); }
 .wj-cart__note { margin-top: 18px; font-size: 12px; line-height: 1.8; color: var(--wj-muted-2); }


/* 空のカート */
 .wj-cart__empty { padding: 80px 0 90px; text-align: center; }
 .wj-cart__empty p { font-size: 15px; color: var(--wj-muted-2); }
 .wj-cart__empty .wj-btn-line { margin-top: 28px; }


/* 更新ボタンは非表示（数量変更で自動送信） */
 .wj-cart__actions { display: flex; justify-content: flex-end; padding: 16px 0; }
 .wj-cart__update {
  display: inline-flex; align-items: center; justify-content: center;
  height: 44px; padding: 0 28px;
  background: transparent; color: var(--wj-ink-2, #26261f);
  border: 1px solid var(--wj-ink-2, #26261f);
  font-size: 13px; letter-spacing: 1px; cursor: pointer;
  transition: background .2s ease, color .2s ease;
}
 .wj-cart__update:hover { background: var(--wj-ink-2, #26261f); color: var(--wj-paper, #f4f1e8); }


@media (max-width: 1280px) {
   .wj-cart__head, .wj-cart__item, .wj-cart__foot { grid-template-columns: 1fr 440px; }
   .wj-cart__product { grid-template-columns: 160px 1fr; gap: 20px; }

}

@media (max-width: 1024px) {
   .wj-cart__head { display: none; }
   .wj-cart__item, .wj-cart__foot { grid-template-columns: 1fr; }
   .wj-cart__product { padding-right: 0; padding-bottom: 18px; }
   .wj-cart__cells { min-height: 0; padding-bottom: 22px; }
   .wj-cart__summary { grid-column: 1; }
   .wj-cart__total { padding-top: 26px; }

}

@media (max-width: 767px) {
   .wj-cart { padding: 24px 0 60px; }

  .wj-page-hero--sm .wj-page-hero__title { font-size: 28px; letter-spacing: 1.4px; }
   .wj-cart__product { grid-template-columns: 110px 1fr; gap: 14px; }
   .wj-cart__name { font-size: 15px; margin-top: 6px; }
   .wj-cart__label { font-size: 11.5px; }
   .wj-cart__cells { grid-template-columns: 1fr; gap: 12px; }
   .wj-cart__cell { justify-content: space-between; }
   .wj-cart__mobile-label { display: inline; font-size: 12px; color: var(--wj-muted-2); }
   .wj-cart__price { font-size: 16px; }
   .wj-cart__subtotal { font-size: 17px; }
   .wj-cart__total-value { font-size: 21px; }
   .wj-cart__checkout { height: 52px; font-size: 14px; letter-spacing: 1.6px; }

}

/* 固定ページ本文（ショートコード出力の受け皿） */
.wj-page-content { padding-bottom: 0; }
.wj-page-content > .woocommerce { display: block; }

/* =========================================================
   25. ご注文手続き（checkout）
   ========================================================= */
.wj-page-hero--center { text-align: center; }
.wj-page-hero--center .wj-page-hero__word { left: 50%; transform: translateX(-20%); right: auto; }
.wj-page-hero--center .wj-page-hero__title { font-size: 40px; letter-spacing: 3.2px; }
.wj-page-hero--center .wj-page-hero__eyebrow { letter-spacing: 2.7px; }

.wj-checkout { padding: 20px 0 96px; }
.wj-checkout__inner { width: min(760px, 100% - var(--wj-pad) * 2); margin-inline: auto; }

/* --- セクションカード --- */
.wj-fieldset {
  position: relative;
  margin: 0; padding: 44px 49px 49px;
  background: var(--wj-paper); border: 1px solid var(--wj-line-3);
}
.wj-fieldset + .wj-fieldset { margin-top: 44px; }
.wj-fieldset::before {
  content: ""; position: absolute; left: 50%; top: -1px; transform: translateX(-50%);
  width: 56px; height: 2px; background: var(--wj-forest-dp);
}
.wj-fieldset__head { text-align: center; margin-bottom: 40px; }
.wj-fieldset__eyebrow { font-size: 12.5px; font-weight: 500; letter-spacing: 1.82px; color: var(--wj-green-2); }
.wj-fieldset__title { margin-top: 8px; font-size: 20px; font-weight: 600; letter-spacing: 2.4px; color: var(--wj-ink-2); }

/* --- フォーム部品 --- */
.wj-fields { display: grid; grid-template-columns: repeat(2, 1fr); gap: 22px 24px; }
.wj-fields .form-row { margin: 0; padding: 0; grid-column: span 2; }
.wj-fields .form-row-first,
.wj-fields .form-row-last { grid-column: span 1; }

.wj-fields label {
  display: flex; align-items: center; gap: 8px;
  margin-bottom: 9px;
  font-size: 13.5px; font-weight: 500; letter-spacing: .68px; color: var(--wj-ink-2);
}
.wj-fields abbr.required,
.wj-fields .optional {
  font-size: 0; text-decoration: none; border: 0;
  display: inline-grid; place-items: center;
  min-width: 35px; height: 22px; padding-inline: 7px; border-radius: 2px;
}
.wj-fields abbr.required { background: #9e5236; }
.wj-fields .optional { background: var(--wj-line-3); }
.wj-fields abbr.required::after,
.wj-fields .optional::after {
  font-family: "Noto Sans JP", var(--wj-serif);
  font-size: 10px; font-weight: 500; letter-spacing: .6px; line-height: 1;
}
.wj-fields abbr.required::after { content: "必須"; color: var(--wj-paper-4); }
.wj-fields .optional::after { content: "任意"; color: var(--wj-ink-2); }

.wj-fields input[type="text"],
.wj-fields input[type="tel"],
.wj-fields input[type="email"],
.wj-fields input[type="number"],
.wj-fields input[type="password"],
.wj-fields textarea,
.wj-fields select,
.wj-fields .select2-container .select2-selection--single {
  width: 100%; height: 48px; padding: 0 15px;
  background: #fff; border: 1px solid var(--wj-line-3); border-radius: 0;
  font-family: inherit; font-size: 14px; color: var(--wj-ink-2);
}
.wj-fields textarea { height: 120px; padding-block: 12px; resize: vertical; }
.wj-fields select {
  height: 44px; appearance: none; -webkit-appearance: none;
  padding-right: 40px;
  background-image: linear-gradient(45deg, transparent 50%, var(--wj-ink-2) 50%), linear-gradient(135deg, var(--wj-ink-2) 50%, transparent 50%);
  background-position: calc(100% - 20px) 19px, calc(100% - 14px) 19px;
  background-size: 6px 6px, 6px 6px;
  background-repeat: no-repeat;
}
.wj-fields input::placeholder,
.wj-fields textarea::placeholder { color: #a89f8c; }
.wj-fields input:focus,
.wj-fields select:focus,
.wj-fields textarea:focus { outline: 2px solid var(--wj-green-lt); outline-offset: 1px; }

/* --- 会計情報 --- */
.wj-summary__head,
.wj-summary__row { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 20px; }
.wj-summary__head { padding-bottom: 12px; border-bottom: 1px solid var(--wj-ink-2); }
.wj-summary__head span { font-size: 12.5px; font-weight: 500; letter-spacing: 1.25px; color: var(--wj-muted-2); }
.wj-summary__item { padding: 20px 4px; border-bottom: 1px solid var(--wj-line-2); }
.wj-summary__name { font-size: 15px; font-weight: 600; letter-spacing: .45px; line-height: 1.5; color: var(--wj-ink-2); }
.wj-summary__meta { margin-top: 8px; font-size: 11.5px; line-height: 1.7; color: var(--wj-muted-2); }
.wj-summary__amount { font-size: 19px; font-weight: 500; letter-spacing: .38px; color: var(--wj-ink-2); white-space: nowrap; }
.wj-summary__row { padding: 22px 4px; border-bottom: 1px solid var(--wj-line-2); }
.wj-summary__key { font-size: 14px; font-weight: 500; letter-spacing: .84px; color: var(--wj-muted-2); }
.wj-summary__note { margin-left: 10px; font-size: 11.5px; letter-spacing: .38px; color: var(--wj-muted-2); }
.wj-summary__row--total { padding: 30px 4px; border-bottom: 0; border-top: 1px solid var(--wj-ink-2); }
.wj-summary__row--total .wj-summary__key { font-size: 16px; font-weight: 600; letter-spacing: 1.28px; color: var(--wj-ink-2); }
.wj-summary__total { display: flex; align-items: baseline; gap: 8px; }
.wj-summary__total b { font-size: 28px; font-weight: 500; letter-spacing: .56px; color: var(--wj-ink-2); }
.wj-summary__total span { font-size: 11px; letter-spacing: .56px; color: var(--wj-muted-2); }
.wj-summary__shipping ul { display: grid; gap: 8px; }
.wj-summary__shipping label { font-size: 13px; color: var(--wj-ink-2); }

/* --- お支払い方法 --- */
.wj-pay { border: 1px solid var(--wj-line-3); background: #fff; }
.wj-pay__method { position: relative; }
.wj-pay__method + .wj-pay__method { border-top: 1px solid var(--wj-line-3); }
.wj-pay__method > input[type="radio"] { position: absolute; opacity: 0; width: 0; height: 0; }
.wj-pay__label {
  display: grid; grid-template-columns: 18px 1fr; gap: 0 22px;
  padding: 22px 24px; cursor: pointer;
  transition: background .25s ease;
}
.wj-pay__mark {
  grid-row: span 2; align-self: center;
  width: 18px; height: 18px; border-radius: 9px;
  border: 1px solid var(--wj-muted-2);
  display: grid; place-items: center;
  transition: border-color .25s ease;
}
.wj-pay__mark::after {
  content: ""; width: 8px; height: 8px; border-radius: 4px;
  background: var(--wj-forest-dp);
  transform: scale(0); transition: transform .2s ease;
}
.wj-pay__title { font-size: 15px; letter-spacing: .45px; color: var(--wj-ink-2); }
.wj-pay__desc { margin-top: 6px; font-size: 11.5px; line-height: 1.7; color: var(--wj-muted-2); }
.wj-pay__method > input:checked + .wj-pay__label { background: var(--wj-paper); }
.wj-pay__method > input:checked + .wj-pay__label .wj-pay__mark { border-color: var(--wj-forest-dp); }
.wj-pay__method > input:checked + .wj-pay__label .wj-pay__mark::after { transform: scale(1); }
.wj-pay__method > input:focus-visible + .wj-pay__label { outline: 2px solid var(--wj-green-lt); outline-offset: -2px; }
.wj-pay__box { padding: 0 24px 22px 64px; font-size: 12.5px; line-height: 1.8; color: var(--wj-muted-2); }
.wj-pay__box p { margin: 0; }

/* --- 送信 --- */
.wj-checkout__actions { margin-top: 42px; text-align: center; }
.wj-checkout__submit {
  width: 320px; max-width: 100%; height: 55px;
  display: inline-flex; align-items: center; justify-content: center; gap: 24px;
  background: var(--wj-forest-dp); color: var(--wj-paper-4);
  border: 0; border-radius: 0;
  font-family: inherit; font-size: 15px; letter-spacing: 3px;
  transition: background .3s ease;
}
.wj-checkout__submit::after { content: ""; width: 22px; height: 1px; background: currentColor; }
.wj-checkout__submit:hover { background: var(--wj-forest); }
.wj-checkout__terms { margin-top: 26px; font-size: 11.5px; line-height: 1.9; color: var(--wj-muted-2); }
.wj-checkout__terms a { text-decoration: underline; }
.wj-checkout__terms a:hover { color: var(--wj-ink-2); }

/* 日本国内のみのため国選択は隠す */
.wj-fields .wj-hidden-field { display: none; }

/* --- 通知・エラー --- */
.wj-checkout .woocommerce-error,
.wj-checkout .woocommerce-info,
.wj-checkout .woocommerce-message {
  margin: 0 0 28px; padding: 16px 20px; list-style: none;
  border: 1px solid var(--wj-line-3); background: #fff;
  font-size: 13.5px; line-height: 1.8; color: var(--wj-ink-2);
}
.wj-checkout .woocommerce-error { border-color: #9e5236; color: #9e5236; }

@media (max-width: 767px) {
  .wj-checkout { padding: 8px 0 60px; }
  .wj-page-hero--center .wj-page-hero__title { font-size: 26px; letter-spacing: 1.6px; }
  .wj-fieldset { padding: 34px 20px 30px; }
  .wj-fieldset + .wj-fieldset { margin-top: 28px; }
  .wj-fieldset__head { margin-bottom: 28px; }
  .wj-fields { grid-template-columns: 1fr; gap: 18px; }
  .wj-fields .form-row-first, .wj-fields .form-row-last { grid-column: span 1; }
  .wj-summary__item, .wj-summary__row { padding-inline: 0; }
  .wj-summary__total b { font-size: 22px; }
  .wj-pay__label { padding: 18px 16px; gap: 0 14px; }
  .wj-pay__box { padding: 0 16px 18px 48px; }
  .wj-checkout__submit { width: 100%; height: 52px; letter-spacing: 2px; }
}

/* =========================================================
   26. 初めての方へ
   ========================================================= */
.wj-guide-hero { position: relative; isolation: isolate; overflow: hidden; padding-bottom: 56px; }
/* 「Guide」の文字：元の位置のまま、写真より前面に重ねて焼き込む。
   .wj-guide-hero__inner がposition:relative+z-index:2で独自のスタッキングコンテキストを作るため、
   その中の figure と直接比較しても意味がない。word はそのコンテキスト自体（inner, z-index:2）
   より上に来る必要があるので、word の z-index は inner より大きい値にする。 */
.wj-guide-hero__word {
  position: absolute; left: 22%; top: -6px; z-index: 3;
  font-family: var(--wj-num); font-weight: 500; font-size: 177px; line-height: 1.13;
  pointer-events: none; user-select: none;
}
.wj-guide-hero .wj-breadcrumb { position: relative; z-index: 3; }
.wj-guide-hero__inner {
  position: relative; z-index: 2;
  margin-top: 44px; min-height: 454px;
}
.wj-guide-hero__body { position: relative; z-index: 2; width: 436px; max-width: 100%; padding-top: 44px; }
.wj-guide-hero__eyebrow { font-size: 13.8px; font-weight: 500; letter-spacing: 2.7px; color: var(--wj-green-2); }
.wj-guide-hero__title { margin-top: 14px; font-size: 46px; font-weight: 600; letter-spacing: 3.68px; line-height: 1.4; color: var(--wj-ink-2); }
.wj-guide-hero__text { margin-top: 26px; max-width: 318px; font-size: 14.5px; line-height: 2; color: #45412f; }
.wj-guide-hero__cta { margin-top: 34px; }
.wj-guide-hero__cta .wj-pill { min-width: 295px; height: 57px; padding-inline: 44px; border-radius: 0; }
/* 画像はコンテナ外へ裁ち落とし（Figma：x578〜1451） */
.wj-guide-hero__figure {
  position: absolute; z-index: 1; top: 0; left: 438px; right: calc(50% - 50vw);
  height: 454px; overflow: hidden; background: var(--wj-media);
}
.wj-guide-hero__figure img { width: 100%; height: 100%; object-fit: cover; }

/* --- アンカーナビ --- */
.wj-guide-nav { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; }
.wj-guide-nav__item {
  display: flex; align-items: center; gap: 14px;
  min-height: 64px; padding: 12px 22px;
  background: var(--wj-paper-2); border: 1px solid var(--wj-line-3);
  transition: background .3s ease;
}
.wj-guide-nav__item + .wj-guide-nav__item { border-left: 0; }
.wj-guide-nav__item:hover { background: #e2dbc8; }
.wj-guide-nav__num { font-family: var(--wj-num); font-weight: 500; font-size: 24px; line-height: 1; color: var(--wj-green-2); }
.wj-guide-nav__label { font-size: 14px; font-weight: 500; letter-spacing: .56px; color: var(--wj-ink-2); }

/* --- 共通：中央見出し --- */
.wj-guide-section { padding: 76px 0 92px; }
.wj-guide-section--flush { padding-bottom: 0; }
.wj-guide-section--white { background: #fff; padding-block: 84px; }
.wj-guide-head { text-align: center; }
.wj-guide-head__eyebrow { font-size: 12px; font-weight: 500; letter-spacing: 3.36px; color: var(--wj-muted-2); }
.wj-guide-head__title { margin-top: 14px; font-size: 34px; font-weight: 600; letter-spacing: 2.72px; color: var(--wj-ink-2); }
.wj-guide-head__text { margin-top: 18px; font-size: 14.5px; line-height: 1.9; color: var(--wj-body-2); }
.wj-guide-head--gap { margin-top: 76px; }

/* --- 01 商品の選び方 --- */
.wj-choose-grid {
  margin-top: 46px;
  display: grid; grid-template-columns: repeat(2, 1fr);
  border: 1px solid var(--wj-line-3);
}
.wj-choose-cell {
  position: relative; isolation: isolate; overflow: hidden;
  min-height: 176px; padding: 40px 34px 34px 95px;
  border-right: 1px solid var(--wj-line-3); border-bottom: 1px solid var(--wj-line-3);
}
.wj-choose-cell:nth-child(2n) { border-right: 0; }
.wj-choose-cell:nth-last-child(-n+2) { border-bottom: 0; }
.wj-choose-cell__num {
  position: absolute; left: 12px; top: 10px; z-index: -1;
  font-family: var(--wj-num); font-weight: 500; font-size: 128px; line-height: 1;
  color: #cdc3a6; opacity: .14;
}
.wj-choose-cell__title { font-size: 17.5px; font-weight: 600; letter-spacing: .88px; line-height: 1.5; color: var(--wj-ink-2); }
.wj-choose-cell__text { margin-top: 14px; font-size: 13px; line-height: 1.9; color: #4c4738; }

/* --- 02 シードルの楽しみ方 --- */
.wj-cidre-intro { margin-top: 52px; display: grid; grid-template-columns: 488px 576px; justify-content: space-between; align-items: start; }
.wj-cidre-intro__figure { aspect-ratio: 488 / 583; overflow: hidden; background: var(--wj-media); }
.wj-cidre-intro__figure img { width: 100%; height: 100%; object-fit: cover; }
/* Figma：シードルとは？＝罫線で囲んだカード */
.wj-cidre-card { padding: 40px 44px; border: 1px solid var(--wj-line-3); background: #fff; }
.wj-cidre-intro__title {
  padding-bottom: 18px; border-bottom: 1px solid var(--wj-line-3);
  font-size: 26px; font-weight: 600; letter-spacing: 2.08px; color: var(--wj-ink-2);
}
.wj-cidre-intro__text { margin-top: 28px; font-size: 13.5px; line-height: 2.05; color: var(--wj-body-2); }
.wj-cidre-intro__text + .wj-cidre-intro__text { margin-top: 20px; }

.wj-cidre-lead { margin-top: 60px; text-align: center; font-size: 26px; font-weight: 600; letter-spacing: 1.5px; color: var(--wj-ink-2); }
.wj-cidre-eyebrow { display: none; }
.wj-cidre-points { margin-top: 30px; display: flex; align-items: flex-start; justify-content: space-between; }
.wj-cidre-point { flex: 1 1 auto; min-width: 0; padding: 0 12px; text-align: center; }
.wj-cidre-point:first-child { padding-left: 0; }
.wj-cidre-point:last-child { padding-right: 0; }
.wj-cidre-point + .wj-cidre-point { border-left: 1px solid var(--wj-ink-2); }
.wj-cidre-point__title {
  font-size: 17px; font-weight: 600; letter-spacing: 1.36px; color: var(--wj-ink-2);
  white-space: nowrap;   /* Figma：見出しは1行 */
}
.wj-cidre-point__title::after { content: ""; display: block; width: 26px; height: 1px; margin: 12px auto 0; background: #b4923f; }
.wj-cidre-point__text { margin-top: 14px; font-size: 12.5px; line-height: 1.8; color: var(--wj-green-2); }

.wj-drink-steps { margin-top: 46px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 57px; }
.wj-drink-step { min-height: 142px; padding: 26px 22px; background: #fff; border: 1px solid var(--wj-line-3); text-align: center; }
.wj-drink-step__title { font-size: 16.5px; font-weight: 600; letter-spacing: .99px; color: var(--wj-ink-2); }
.wj-drink-step__text { margin-top: 14px; font-size: 12.5px; line-height: 1.8; color: #4c4738; }

.wj-pairing { margin-top: 64px; display: grid; grid-template-columns: 480px 1fr; gap: 76px; align-items: start; }
.wj-pairing__label { font-size: 15px; font-weight: 600; letter-spacing: 2.1px; color: var(--wj-forest); }
/* 見出し下の線は左のテキスト列のみに出すため、ここでは引かない（.wj-food__item:first-child 側で対応） */
.wj-food { margin-top: 22px; }
.wj-food__item { display: grid; grid-template-columns: 1fr 256px; gap: 24px; align-items: center; }
/* 写真は縦に隙間なく連ねる（Figma準拠）。区切り線は左のテキスト列のみ。
   線は写真の上端・下端とぴったり揃える（bodyのpaddingを外し、高さを写真に合わせる）。 */
.wj-food__item { align-items: stretch; }
.wj-food__body {
  padding: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  border-top: 1px solid var(--wj-ink-2);
  border-bottom: 0;
}
.wj-food__item:last-child .wj-food__body { border-bottom: 1px solid var(--wj-ink-2); }
/* （旧ルールはすぐ上の .wj-food__body に統合済み） */
.wj-food__title { font-size: 15.5px; font-weight: 600; letter-spacing: .77px; color: var(--wj-ink-2); }
.wj-food__text { margin-top: 10px; font-size: 12.5px; line-height: 1.7; color: var(--wj-muted-2); }
.wj-food__figure { aspect-ratio: 256 / 130; overflow: hidden; background: var(--wj-media); }
.wj-food__figure img { width: 100%; height: 100%; object-fit: cover; }

.wj-scene { margin-top: 22px; display: grid; gap: 36px; }
.wj-scene__item { display: grid; grid-template-columns: 1fr 234px; gap: 24px; align-items: stretch; background: #fff; }
.wj-scene__body { padding: 28px 0 28px 31px; }
.wj-scene__title { font-size: 16px; font-weight: 600; letter-spacing: .96px; color: var(--wj-ink-2); }
.wj-scene__text { margin-top: 14px; font-size: 12.5px; line-height: 1.8; color: #4c4738; }
.wj-scene__tags { margin-top: 18px; display: flex; flex-wrap: wrap; gap: 8px; }
.wj-scene__tags li {
  padding: 6px 16px; border: 1px solid var(--wj-line-3); border-radius: 20px;
  font-size: 12px; color: var(--wj-ink-2);
}
.wj-scene__figure { overflow: hidden; background: var(--wj-media); }
.wj-scene__figure img { width: 100%; height: 100%; object-fit: cover; }

/* --- 03 ワインの選び方 --- */
.wj-wine-label { display: flex; align-items: center; gap: 28px; margin-top: 52px; }
.wj-wine-label span { flex: 0 0 auto; font-size: 17px; font-weight: 600; letter-spacing: .1em; color: var(--wj-ink-2); }
.wj-wine-label::after { content: ""; flex: 1 1 auto; height: 1px; background: var(--wj-line-3); }
.wj-wine-cards { margin-top: 30px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 26px; }
.wj-wine-card {
  min-height: 207px; padding: 32px 30px; border: 1px solid var(--wj-line-2);
  /* Figma：#F4F1E8 のベースに、透明→白のグラデーションが重なる */
  background-color: var(--wj-paper);
  background-image: linear-gradient(200deg, rgba(255,255,255,0) 25%, rgba(255,255,255,.95) 68%);
}
.wj-wine-card__title { padding-bottom: 16px; border-bottom: 1px solid var(--wj-line-2); font-size: 16px; font-weight: 600; letter-spacing: .96px; color: var(--wj-ink-2); }
.wj-wine-card__list { margin-top: 18px; }
.wj-wine-card__list li { font-size: 13px; line-height: 2.1; color: var(--wj-body-2); }

.wj-wine-flow { margin-top: 30px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 50px; }
.wj-wine-flow__item {
  position: relative; min-height: 142px; padding: 28px 16px;
  background: var(--wj-paper); border: 1px solid var(--wj-line-2);
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 16px;
}
.wj-wine-flow__item + .wj-wine-flow__item::before {
  content: "→"; position: absolute; left: -35px; top: 50%; transform: translateY(-50%);
  font-size: 20px; color: var(--wj-ink-2);
}
.wj-wine-flow__mark {
  width: 44px; height: 44px; border-radius: 22px; border: 1px solid #b4923f;
  display: grid; place-items: center;
  font-family: var(--wj-serif); font-weight: 500; font-size: 20px; line-height: 36px; letter-spacing: 0; color: #b4923f;
}
.wj-wine-flow__label { font-size: 14.5px; font-weight: 600; letter-spacing: .73px; text-align: center; color: var(--wj-ink-2); }

/* --- 04 よく選ばれている商品 --- */
.wj-bestsellers { padding: 76px 0 96px; }

@media (max-width: 1280px) {
  .wj-guide-hero__word { font-size: 130px; }
  .wj-guide-hero__body { width: 360px; }
  .wj-guide-hero__figure { left: 380px; }
  .wj-cidre-intro { grid-template-columns: 380px 1fr; column-gap: 48px; }
  .wj-cidre-point { padding: 0 8px; }
  .wj-cidre-point__title { font-size: 15.5px; letter-spacing: .6px; }
  .wj-pairing { grid-template-columns: 1fr 1fr; gap: 40px; }
  .wj-drink-steps { gap: 24px; }
}

@media (max-width: 1024px) {
  .wj-guide-hero__inner { min-height: 0; display: grid; gap: 32px; }
  .wj-guide-hero__body { width: 100%; padding-top: 0; }
  .wj-guide-hero__text { max-width: none; }
  .wj-guide-hero__figure { position: static; height: auto; aspect-ratio: 873 / 454; }
  .wj-guide-nav { grid-template-columns: repeat(2, 1fr); }
  .wj-guide-nav__item:nth-child(2n) { border-left: 0; }
  .wj-guide-nav__item:nth-child(n+3) { border-top: 0; }
  .wj-choose-grid { grid-template-columns: 1fr; }
  .wj-choose-cell { border-right: 0; }
  .wj-choose-cell:nth-last-child(-n+2) { border-bottom: 1px solid var(--wj-line-3); }
  .wj-choose-cell:last-child { border-bottom: 0; }
  .wj-cidre-intro { grid-template-columns: 1fr; gap: 32px; }
  .wj-guide-section { padding-bottom: 64px; }
  .wj-pairing { grid-template-columns: 1fr; gap: 48px; }
  .wj-wine-cards { grid-template-columns: 1fr; gap: 16px; }
  /* Figma SP：2×2・余白16px・矢印なし */
  .wj-wine-flow { grid-template-columns: repeat(2, 1fr); gap: 16px; }
  .wj-wine-flow__item + .wj-wine-flow__item::before { content: none; }
}

@media (max-width: 767px) {
  /* ヒーロー：右上に小さく画像、下に全幅ボタン（Figma SP 390） */
  .wj-guide-hero { padding-bottom: 30px; }
  .wj-guide-hero__inner { position: relative; margin-top: 22px; min-height: 0; display: block; }
  .wj-guide-hero__figure {
    position: absolute; z-index: 1; top: -46px; right: 0; left: auto;
    width: 163px; height: auto; aspect-ratio: 163 / 218;
  }
  .wj-guide-hero__body { position: relative; z-index: 2; width: 100%; padding-top: 0; }
  .wj-guide-hero__title { font-size: 30px; letter-spacing: 2.4px; }
  .wj-guide-hero__text { max-width: 218px; font-size: 14.5px; margin-top: 22px; }
  .wj-guide-hero__cta { margin-top: 30px; }
  .wj-guide-hero__cta .wj-pill { width: 100%; min-width: 0; height: 57px; }
  .wj-guide-hero__word { font-size: 83px; left: 40%; top: auto; bottom: -18px; }

  .wj-guide-nav { grid-template-columns: 1fr; background: #fff; }
  .wj-guide-nav__item { min-height: 65px; padding-inline: 22px; border-left: 1px solid var(--wj-line-3); }
  .wj-guide-nav__item + .wj-guide-nav__item { border-top: 0; }
  .wj-guide-nav__num { font-size: 24px; }

  .wj-guide-section { padding: 48px 0 52px; }
  .wj-guide-section--white { padding-block: 52px; }
  .wj-guide-head__title { font-size: 22px; letter-spacing: 1.2px; }
  .wj-guide-head__text { font-size: 13px; }

  .wj-choose-grid { margin-top: 28px; }
  .wj-choose-cell { padding: 28px 20px 24px 62px; min-height: 0; }
  .wj-choose-cell__num { font-size: 82px; left: 6px; top: 14px; }
  .wj-choose-cell__title { font-size: 15.5px; }
  .wj-choose-cell__text { font-size: 12.5px; margin-top: 10px; }

  .wj-cidre-intro { margin-top: 32px; }
  .wj-cidre-card { padding: 26px 22px; border: 0; background: #fff; }
  .wj-cidre-intro__title { font-size: 20px; letter-spacing: 1.2px; }
  .wj-cidre-eyebrow { display: block; margin-top: 44px; text-align: center; font-size: 12px; font-weight: 500; letter-spacing: 3.36px; color: #b6bd9f; }
  .wj-cidre-lead { margin-top: 14px; font-size: 24px; letter-spacing: 2.4px; }
  .wj-cidre-points { flex-direction: column; margin-top: 24px; }
  .wj-cidre-point { padding: 26px 0; border-bottom: 1px solid var(--wj-line-2); }
  .wj-cidre-point:first-child { padding-top: 0; }
  .wj-cidre-point:last-child { border-bottom: 0; padding-bottom: 0; }
  .wj-cidre-point + .wj-cidre-point { border-left: 0; }
  .wj-cidre-point__title { white-space: normal; font-size: 17px; letter-spacing: 1.36px; }
  .wj-cidre-point__text { font-size: 12.5px; }
  .wj-drink-steps { grid-template-columns: 1fr; gap: 14px; margin-top: 28px; }
  /* 「おすすめの飲み方」以降、水滴テクスチャをフェードインの背景として敷く（SP限定）
     画像URLは page-first.php 側で --wj-cidre-drops-bg として渡す */
  .wj-cidre-drops {
    position: relative;
    background-image: var(--wj-cidre-drops-bg);
    background-repeat: no-repeat;
    background-position: top center;
    background-size: 100% auto;
  }
  .wj-guide-head--gap { margin-top: 48px; }
  .wj-pairing { margin-top: 44px; gap: 40px; }
  .wj-pairing__scene { order: 1; }
  .wj-pairing__food { order: 2; }
  .wj-pairing__label { display: flex; align-items: center; gap: 16px; }
  .wj-pairing__label::after { content: ""; flex: 1 1 auto; height: 1px; background: var(--wj-line-3); }
  /* 「合う料理」見出しは横に線を並べず、下線区切りのみ（Figma参照） */
  .wj-pairing__food .wj-pairing__label::after { content: none; }
  .wj-food__item { grid-template-columns: 1fr 120px; gap: 14px; }
  .wj-scene__item { grid-template-columns: 1fr; }
  .wj-scene__body { padding: 22px 18px; }
  .wj-scene__figure { aspect-ratio: 16 / 9; }

  .wj-wine-label { margin-top: 36px; gap: 18px; }
  .wj-wine-label span { font-size: 15px; letter-spacing: 2.1px; color: var(--wj-forest); }
  .wj-wine-card { padding: 26px 30px; }
  .wj-wine-flow { grid-template-columns: repeat(2, 1fr); gap: 16px; }
  .wj-wine-flow__item { min-height: 142px; padding: 20px 10px; gap: 12px; }
  .wj-wine-flow__label { font-size: 13.5px; letter-spacing: .5px; }

  .wj-bestsellers { padding: 48px 0 60px; }
}

/* =========================================================
   27. WINERY JUNについて
   ========================================================= */
.wj-ab-hero {
  position: relative; isolation: isolate; overflow: hidden; z-index: 0;
  padding: 78px 0 82px; background: var(--wj-forest); color: #fff; text-align: center;
}
.wj-ab-hero__media { position: absolute; inset: 0; z-index: 0; }
.wj-ab-hero__media img { width: 100%; height: 100%; object-fit: cover; }
.wj-ab-hero__scrim { position: absolute; inset: 0; z-index: 1; background: rgba(51,64,47,.72); }
.wj-ab-hero__inner { position: relative; z-index: 2; }
/* ab-hero内のパンくずを最前面に（クリック可能に）*/
.wj-ab-hero .wj-breadcrumb { position: relative; z-index: 5; }
.wj-ab-hero .wj-breadcrumb__list a { color: rgba(255,255,255,.85); pointer-events: auto; }
.wj-ab-hero .wj-breadcrumb__list a:hover { color: #fff; }
.wj-ab-hero .wj-breadcrumb__list li,
.wj-ab-hero .wj-breadcrumb__sep { color: rgba(255,255,255,.6); }
.wj-ab-hero__eyebrow { font-size: 13.7px; font-weight: 500; letter-spacing: 2.7px; }
.wj-ab-hero__title { margin-top: 14px; font-size: 46px; font-weight: 600; letter-spacing: 4.6px; line-height: 1.4; }
.wj-ab-hero__lead { margin-top: 36px; font-size: 19px; letter-spacing: 4.18px; }
/* パンくずはダーク帯の上に置くため白系に */
.wj-ab-crumb .wj-breadcrumb__list li,
.wj-ab-crumb .wj-breadcrumb__list a { color: var(--wj-muted-2); }

.wj-ab-section { position: relative; isolation: isolate; overflow: hidden; padding: 92px 0; }
.wj-ab-word {
  position: absolute; z-index: 0; top: 10px; right: 0;
  font-family: var(--wj-num); font-weight: 500; font-size: 174px; line-height: 1.15;
  color: var(--wj-wm-2); opacity: .4; pointer-events: none; user-select: none; white-space: nowrap;
}
.wj-ab-word--left { right: auto; left: -43px; }
.wj-ab-word--center { right: auto; left: 50%; transform: translateX(-50%); }
.wj-ab-inner { position: relative; z-index: 1; }

.wj-ab-head { display: grid; gap: 0; }
.wj-ab-head__eyebrow { display: flex; align-items: center; gap: 14px; font-size: 13px; font-weight: 500; letter-spacing: 2.8px; color: var(--wj-green-2); }
.wj-ab-head__eyebrow::before { content: ""; width: 34px; height: 1px; background: currentColor; }
.wj-ab-head__title { margin-top: 20px; font-size: 34px; font-weight: 600; letter-spacing: 2.72px; line-height: 1.45; color: var(--wj-ink-2); }
.wj-ab-head__text { margin-top: 26px; font-size: 14.5px; line-height: 2.05; color: #3f3b2d; }
.wj-ab-head--center { text-align: center; justify-items: center; }
.wj-ab-head--center .wj-ab-head__eyebrow { justify-content: center; }
.wj-ab-head--center .wj-ab-head__text { max-width: 46em; }

/* タグ（枠付きピル） */
.wj-ab-tags { display: flex; flex-wrap: wrap; gap: 9px; }
.wj-ab-tags li {
  display: inline-flex; align-items: center; min-height: 38px; padding-inline: 16px;
  border: 1px solid var(--wj-line-3); font-size: 12px; letter-spacing: .96px; color: var(--wj-forest);
}
.wj-ab-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 12px;
  min-width: 229px; height: 55px; padding-inline: 28px;
  border: 1px solid var(--wj-ink-2); font-size: 14px; letter-spacing: 1.12px; color: var(--wj-ink-2);
  transition: background .3s ease, color .3s ease;
}
.wj-ab-btn:hover { background: var(--wj-ink-2); color: var(--wj-paper-4); }

/* --- Mission（ダーク帯・画像＋テキスト） --- */
.wj-ab-mission { background: var(--wj-forest); color: #fff; }
.wj-ab-mission .wj-ab-word { color: #fff; opacity: .05; right: auto; left: 50%; transform: translateX(-40%); top: auto; bottom: -20px; }
.wj-ab-mission__grid { display: grid; grid-template-columns: 510px 1fr; gap: 64px; align-items: center; }
.wj-ab-mission__figure { position: relative; aspect-ratio: 510 / 637; background: var(--wj-media); }
.wj-ab-mission__figure img { width: 100%; height: 100%; object-fit: cover; }
.wj-ab-mission__figure::after {
  content: ""; position: absolute; inset: 16px -16px -16px 16px;
  border: 1px solid #b4923f; pointer-events: none;
}
.wj-ab-mission .wj-ab-head__eyebrow { color: #b4923f; }
.wj-ab-mission .wj-ab-head__title { color: #fff; font-family: "Noto Sans JP", var(--wj-serif); font-size: 22.5px; font-weight: 700; letter-spacing: .08em; }
.wj-ab-mission .wj-ab-head__text { color: #c8ccba; font-size: 14px; }
.wj-ab-mission .wj-ab-tags { margin-top: 34px; }
.wj-ab-mission .wj-ab-tags li { border-color: #fff; color: #fff; }
.wj-ab-mission .wj-ab-btn { margin-top: 30px; min-width: 259px; border-color: #fff; color: #fff; }
.wj-ab-mission .wj-ab-btn:hover { background: #fff; color: var(--wj-forest); }

/* --- Products（3カード） --- */
.wj-ab-prod { margin-top: 56px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; }
.wj-ab-prod__card { background: var(--wj-paper); border: 1px solid var(--wj-line-2); display: flex; flex-direction: column; }
.wj-ab-prod__media { aspect-ratio: 1 / 1; overflow: hidden; background: var(--wj-media); }
.wj-ab-prod__media img { width: 100%; height: 100%; object-fit: cover; }
.wj-ab-prod__body { padding: 27px; display: flex; flex-direction: column; flex: 1 1 auto; }
.wj-ab-prod__cat { font-size: 12.5px; font-weight: 500; color: var(--wj-muted-2); }
.wj-ab-prod__name { margin-top: 10px; font-size: 19px; font-weight: 600; letter-spacing: .95px; color: var(--wj-ink-2); }
.wj-ab-prod__text { margin-top: 14px; flex: 1 1 auto; font-size: 12.5px; line-height: 1.95; color: #4c4738; }
.wj-ab-prod__tags { margin-top: 22px; display: flex; flex-wrap: wrap; gap: 7px; }
.wj-ab-prod__tags li {
  display: inline-flex; align-items: center; min-height: 29px; padding-inline: 16px;
  background: #fff; border: 1px solid var(--wj-line-3); border-radius: 999px;
  font-size: 11.5px; color: var(--wj-forest);
}

/* --- Label（帯＋テキスト＋画像） --- */
.wj-ab-label { background: #e3dbc9; border-block: 1px solid var(--wj-line-3); }
.wj-ab-label .wj-ab-word { color: #d6cdb8; opacity: .54; }
.wj-ab-label__grid { display: grid; grid-template-columns: 574px 1fr; gap: 64px; align-items: center; }
.wj-ab-label .wj-ab-head__title { font-family: var(--wj-serif); font-size: 22.5px; font-weight: 700; letter-spacing: .06em; }
.wj-ab-label__list { margin-top: 34px; }
.wj-ab-label__item { padding: 26px 0; border-bottom: 1px solid var(--wj-line-3); }
.wj-ab-label__item:last-child { border-bottom: 0; }
.wj-ab-label__name { font-size: 18px; font-weight: 600; letter-spacing: .06em; color: var(--wj-ink-2); }
.wj-ab-label__text { margin-top: 14px; font-size: 13px; line-height: 2; color: #4c4738; }
.wj-ab-label__figure { position: relative; aspect-ratio: 522 / 652; background: var(--wj-media); }
.wj-ab-label__figure img { width: 100%; height: 100%; object-fit: cover; }
.wj-ab-label__figure::after { content: ""; position: absolute; inset: 14px; border: 1px solid var(--wj-paper-4); pointer-events: none; }

/* --- Commitment（3分割の枠） --- */
.wj-ab-commit { margin-top: 56px; display: grid; grid-template-columns: repeat(3, 1fr); border: 1px solid var(--wj-line-3); }
.wj-ab-commit__item { padding: 44px 34px; }
.wj-ab-commit__item + .wj-ab-commit__item { border-left: 1px solid var(--wj-line-3); }
.wj-ab-commit__num { font-family: var(--wj-num); font-weight: 500; font-size: 47px; line-height: 1; color: #cdc3a6; }
.wj-ab-commit__title { margin-top: 22px; font-size: 16.5px; font-weight: 600; letter-spacing: .82px; color: var(--wj-ink-2); }
.wj-ab-commit__text { margin-top: 16px; font-size: 12.5px; line-height: 2; color: #4c4738; }

/* --- Experience --- */
.wj-ab-exp__grid { display: grid; grid-template-columns: 1fr 522px; gap: 64px; align-items: center; }
.wj-ab-exp__figure { aspect-ratio: 522 / 391; overflow: hidden; background: var(--wj-media); }
.wj-ab-exp__figure img { width: 100%; height: 100%; object-fit: cover; }
.wj-ab-exp .wj-ab-tags { margin-top: 34px; }
.wj-ab-exp .wj-ab-btn { margin-top: 30px; }

/* --- History（PC：横並び／SP：縦並び） --- */
.wj-ab-history__list {
  position: relative; margin-top: 56px;
  display: grid; grid-template-columns: repeat(5, 1fr); gap: 0;
  padding-top: 27px;
}
.wj-ab-history__list::before { content: ""; position: absolute; left: 0; top: 8px; width: 100%; height: 1px; background: #b4923f; }
.wj-ab-history__item { position: relative; padding-right: 24px; }
.wj-ab-history__mark {
  position: absolute; left: 0; top: -27px;
  width: 17px; height: 17px; background: var(--wj-paper-2); border: 1px solid #b4923f;
  display: grid; place-items: center;
}
.wj-ab-history__mark::after { content: ""; width: 7px; height: 7px; background: var(--wj-forest-dp); }
.wj-ab-history__year { font-size: 26px; font-weight: 500; letter-spacing: 1.04px; color: var(--wj-ink-2); }
.wj-ab-history__title { margin-top: 12px; font-size: 14.5px; font-weight: 600; letter-spacing: .44px; color: var(--wj-ink-2); }
.wj-ab-history__text { margin-top: 12px; font-size: 11.5px; line-height: 1.85; color: var(--wj-muted-2); }

/* --- CTA --- */
.wj-ab-cta { padding: 96px 0 100px; background: var(--wj-forest-dp); color: #fff; text-align: center; }
.wj-ab-cta__title { font-size: 34px; font-weight: 600; letter-spacing: 3.4px; }
.wj-ab-cta__text { margin-top: 24px; font-size: 14px; letter-spacing: .84px; color: #b9beac; }
.wj-ab-cta__actions { margin-top: 44px; display: flex; justify-content: center; gap: 18px; }
.wj-ab-cta__btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 14px;
  min-width: 187px; height: 60px; padding-inline: 28px;
  font-size: 14.5px; letter-spacing: 1.74px;
  transition: opacity .3s ease, background .3s ease, color .3s ease;
}
.wj-ab-cta__btn--fill { background: var(--wj-paper-4); color: var(--wj-forest-dp); }
.wj-ab-cta__btn--fill:hover { opacity: .85; }
.wj-ab-cta__btn--line { min-width: 205px; border: 1px solid #fff; color: #fff; }
.wj-ab-cta__btn--line:hover { background: #fff; color: var(--wj-forest-dp); }

/* =========================================================
   28. WINERY JUNについて レスポンシブ
   ========================================================= */
@media (max-width: 1280px) {
  .wj-ab-word { font-size: 130px; }
  .wj-ab-mission__grid { grid-template-columns: 400px 1fr; gap: 44px; }
  .wj-ab-label__grid { grid-template-columns: 1fr 380px; gap: 44px; }
  .wj-ab-exp__grid { grid-template-columns: 1fr 400px; gap: 44px; }
  .wj-ab-commit__item { padding: 34px 24px; }
}

@media (max-width: 1024px) {
  .wj-ab-section { padding: 68px 0; }
  .wj-ab-mission__grid,
  .wj-ab-label__grid,
  .wj-ab-exp__grid { grid-template-columns: 1fr; gap: 40px; }
  .wj-ab-mission__figure { order: -1; aspect-ratio: 350 / 438; }
  .wj-ab-mission__figure::after { inset: 12px -12px -12px 12px; }
  .wj-ab-label__figure { aspect-ratio: 350 / 438; }
  .wj-ab-exp__figure { aspect-ratio: 350 / 263; }
  .wj-ab-prod { grid-template-columns: 1fr; gap: 22px; }
  .wj-ab-commit { grid-template-columns: 1fr; }
  .wj-ab-commit__item + .wj-ab-commit__item { border-left: 0; border-top: 1px solid var(--wj-line-3); }

  /* History：縦タイムライン（Figma SP） */
  .wj-ab-history__list { grid-template-columns: 1fr; gap: 34px; padding: 0 0 0 34px; }
  .wj-ab-history__list::before { left: 8px; top: 8px; width: 1px; height: calc(100% - 16px); }
  .wj-ab-history__item { padding-right: 0; }
  .wj-ab-history__mark { left: -34px; top: 4px; }
}

@media (max-width: 767px) {
  .wj-ab-hero { padding: 44px 0 48px; }
  .wj-ab-hero__title { font-size: 30px; letter-spacing: 3px; }
  .wj-sp-br { display: inline; }
  .wj-ab-hero__lead { margin-top: 26px; font-size: 15px; letter-spacing: 3.3px; }

  .wj-ab-section { padding: 52px 0; }
  .wj-ab-word { font-size: 86px; }
  .wj-ab-word--left { left: -8px; }
  .wj-ab-head__title { font-size: 24px; letter-spacing: 1.9px; margin-top: 16px; }
  .wj-ab-head__text { font-size: 14px; margin-top: 20px; }
  .wj-ab-mission .wj-ab-head__title,
  .wj-ab-label .wj-ab-head__title { font-size: 21.8px; }

  .wj-ab-prod { margin-top: 34px; }
  .wj-ab-prod__body { padding: 22px; }
  .wj-ab-label__list { margin-top: 26px; }
  .wj-ab-commit { margin-top: 34px; }
  .wj-ab-commit__item { padding: 28px 22px; }
  .wj-ab-btn, .wj-ab-mission .wj-ab-btn { width: auto; min-width: 0; }

  .wj-ab-history__year { font-size: 22px; }
  .wj-ab-cta { padding: 56px 0 60px; }
  .wj-ab-cta__title { font-size: 24px; letter-spacing: 2.4px; }
  .wj-ab-cta__text { font-size: 13px; margin-top: 18px; }
  .wj-ab-cta__actions { flex-direction: column; gap: 12px; margin-top: 32px; }
  .wj-ab-cta__btn { width: 100%; min-width: 0; height: 58px; }
}

/* =========================================================
   29. 読みもの（お知らせ / ブログ）共通
   ========================================================= */
.wj-arch { padding-bottom: 96px; }
.wj-arch-hero { position: relative; isolation: isolate; overflow: hidden; z-index: 0; padding: 6px 0 40px; text-align: center; }
/* arch-hero内のパンくずを最前面に（クリック可能に）*/
.wj-arch-hero .wj-breadcrumb { position: relative; z-index: 5; }
.wj-arch-hero .wj-breadcrumb__list a { pointer-events: auto; }
.wj-arch-hero__word {
  position: absolute; z-index: 0; left: 50%; top: -12px; transform: translateX(-50%);
  font-family: var(--wj-num); font-weight: 500; font-size: 178px; line-height: 1.15;
  color: var(--wj-wm-2); opacity: .4; pointer-events: none; user-select: none; white-space: nowrap;
}
.wj-arch-hero__inner { position: relative; z-index: 1; }
.wj-arch-hero__eyebrow { font-size: 14.5px; font-weight: 500; letter-spacing: 2.7px; color: var(--wj-green-2); }
.wj-arch-hero__title { margin-top: 18px; font-size: 44px; font-weight: 600; letter-spacing: 5.3px; color: var(--wj-ink-2); }
.wj-arch-hero__text { margin-top: 30px; font-size: 14px; letter-spacing: .7px; color: var(--wj-body-2); }
/* お知らせのPCはアイブロウなし（Figma） */
.wj-arch-hero--news .wj-arch-hero__eyebrow { display: none; }

/* --- お知らせ一覧 --- */
.wj-news-list { max-width: 980px; margin: 0 auto; border-top: 1px solid var(--wj-line-3); }
.wj-news-item { border-bottom: 1px solid var(--wj-line-3); }
.wj-news-item__link {
  display: grid; grid-template-columns: 136px 126px 1fr 20px; align-items: center;
  min-height: 85px; padding: 16px 18px;
  transition: background .25s ease;
}
.wj-news-item__link:hover { background: var(--wj-paper); }
.wj-news-item__date { font-size: 16px; font-weight: 500; letter-spacing: 1px; color: var(--wj-muted-2); }
.wj-news-item__cat {
  display: inline-grid; place-items: center; min-width: 78px; height: 32px; padding-inline: 12px;
  background: #fff; border: 1px solid var(--wj-line-3);
  font-size: 11px; letter-spacing: .9px; color: var(--wj-forest);
}
.wj-news-item__cat--accent { border-color: #cba08d; color: #9e5236; }
.wj-news-item__title { font-size: 15.5px; font-weight: 500; letter-spacing: .6px; line-height: 1.6; color: var(--wj-ink-2); }
.wj-news-item__arrow { justify-self: end; font-size: 18px; font-weight: 500; color: var(--wj-muted-2); }
.wj-arch__empty { padding: 80px 0; text-align: center; color: var(--wj-muted-2); }

/* --- カテゴリチップ（ブログPC） --- */
.wj-cat-chips { margin: 0 auto 52px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px 77px; max-width: 1120px; }
.wj-cat-chip {
  display: grid; place-items: center; min-height: 44px; padding-inline: 20px; border-radius: 54px;
  background: var(--wj-ink-2); color: #fff;
  font-size: 16px; letter-spacing: 2px; text-align: center;
  transition: background .3s ease;
}
.wj-cat-chip:hover,
.wj-cat-chip.is-active { background: var(--wj-forest); }

/* --- ブログ一覧 --- */
.wj-blog-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 48px 34px; }
.wj-blog-card { display: flex; flex-direction: column; }
.wj-blog-card__media { aspect-ratio: 364 / 243; overflow: hidden; background: var(--wj-media); }
.wj-blog-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s cubic-bezier(.22,.61,.36,1); }
.wj-blog-card:hover .wj-blog-card__media img { transform: scale(1.04); }
.wj-blog-card__meta { margin-top: 19px; display: flex; align-items: center; gap: 10px; }
.wj-blog-card__date { font-size: 14px; font-weight: 500; letter-spacing: .8px; color: var(--wj-muted-2); }
.wj-blog-card__sep { font-size: 13px; color: var(--wj-line-3); }
.wj-blog-card__cat { font-size: 12px; font-weight: 500; letter-spacing: .8px; color: var(--wj-green-2); }
.wj-blog-card__title { margin-top: 14px; font-size: 18px; font-weight: 600; letter-spacing: .5px; line-height: 1.6; color: var(--wj-ink-2); }
.wj-blog-card__more { margin-top: 16px; display: inline-flex; align-items: center; gap: 12px; font-size: 12.5px; letter-spacing: .8px; color: var(--wj-ink-2); }
.wj-blog-card__more::after {
  content: ""; position: relative; width: 22px; height: 1px; background: currentColor;
  transition: width .3s ease;
}
.wj-blog-card:hover .wj-blog-card__more::after { width: 32px; }

/* =========================================================
   30. 読みもの レスポンシブ
   ========================================================= */
@media (max-width: 1280px) {
  .wj-arch-hero__word { font-size: 140px; }
  .wj-cat-chips { gap: 16px 30px; }
}

@media (max-width: 1024px) {
  .wj-blog-grid { grid-template-columns: repeat(2, 1fr); gap: 40px 24px; }
  .wj-cat-chips { grid-template-columns: repeat(3, 1fr); }
  .wj-news-item__link { grid-template-columns: 120px 110px 1fr 20px; }
}

@media (max-width: 767px) {
  .wj-arch { padding-bottom: 56px; }
  .wj-arch-hero { padding: 10px 0 30px; }
  .wj-arch-hero__word { font-size: 84px; top: -10px; }
  .wj-arch-hero__eyebrow { display: block; font-size: 14.8px; letter-spacing: 2.7px; }
  .wj-arch-hero--news .wj-arch-hero__eyebrow { display: block; }
  .wj-arch-hero__title { margin-top: 12px; font-size: 30px; letter-spacing: 3.6px; }
  .wj-arch-hero__text { margin-top: 20px; font-size: 13.5px; }

  /* お知らせ：日付＋カテゴリを1行目、タイトルを2行目に */
  .wj-news-item__link {
    grid-template-columns: auto auto 1fr; grid-template-rows: auto auto;
    align-items: center; min-height: 100px; padding: 20px 26px 20px 6px; gap: 6px 14px;
  }
  .wj-news-item__date { grid-column: 1; grid-row: 1; font-size: 14px; letter-spacing: .8px; }
  .wj-news-item__cat { grid-column: 2; grid-row: 1; min-width: 58px; height: 28px; font-size: 10px; letter-spacing: .8px; }
  .wj-news-item__title { grid-column: 1 / -1; grid-row: 2; font-size: 14.5px; }
  .wj-news-item__arrow { position: absolute; right: 6px; top: 50%; transform: translateY(-50%); }
  .wj-news-item { position: relative; }

  /* ブログ：カテゴリチップはSPデザインに無いため非表示 */
  .wj-cat-chips { display: none; }
  .wj-blog-grid { grid-template-columns: 1fr; gap: 39px; }
  .wj-blog-card__title { font-size: 16px; }
}

/* =========================================================
   31. 記事詳細（fukudaruma テーマの構成を踏襲）
   ========================================================= */
.wj-art { padding: 26px 0 90px; }
.wj-art__layout { display: grid; grid-template-columns: minmax(0, 769px) 310px; gap: 81px; align-items: start; }

/* 見出しの角マーク（カテゴリ・セクション共通） */
.wj-mark { display: inline-block; width: 11px; height: 11px; background: var(--wj-forest); flex: 0 0 auto; }

.wj-art__header { margin-bottom: 24px; }
.wj-art__category { display: flex; align-items: center; gap: 10px; font-size: 16px; font-weight: 600; color: var(--wj-forest); }
.wj-art__category a:hover { text-decoration: underline; }
.wj-art__title { margin-top: 14px; font-size: 30px; font-weight: 600; letter-spacing: .04em; line-height: 1.55; color: var(--wj-ink-2); }
.wj-art__meta { margin-top: 16px; display: flex; flex-direction: column; align-items: flex-start; gap: 12px; }
.wj-art__date { font-size: 13px; letter-spacing: .04em; color: var(--wj-muted-2); }
.wj-art__tags { display: flex; flex-wrap: wrap; gap: 10px; }
.wj-art__tags a {
  display: inline-grid; place-items: center; min-width: 65px; height: 22px; padding-inline: 12px;
  border: 1px solid var(--wj-forest); border-radius: 11px;
  font-size: 12px; color: var(--wj-forest);
}
.wj-art__tags a:hover { background: var(--wj-forest); color: #fff; }

.wj-art__thumb { margin: 0 0 32px; aspect-ratio: 769 / 427; overflow: hidden; background: var(--wj-media); }
.wj-art__thumb img { width: 100%; height: 100%; object-fit: cover; }

/* この記事でわかること（WINERY JUN デザイン固有・任意表示） */
.wj-art-points { position: relative; margin-bottom: 36px; padding: 36px 30px 26px; border: 2px solid var(--wj-ink-2); }
.wj-art-points__label {
  position: absolute; left: 15px; top: -16px;
  display: inline-grid; place-items: center; min-width: 271px; height: 32px; padding-inline: 16px;
  background: var(--wj-paper);
  font-size: 16px; font-weight: 500; letter-spacing: .35em; color: var(--wj-ink-2);
}
.wj-art-points__list li { position: relative; padding-left: 20px; font-size: 15px; line-height: 2.4; color: var(--wj-ink-2); }
.wj-art-points__list li::before { content: "・"; position: absolute; left: 0; }

/* 本文 */
.wj-art__body { font-size: 15px; line-height: 2; color: var(--wj-ink-2); }
.wj-art__body > * + * { margin-top: 1.6em; }
.wj-art__body h2 {
  margin-top: 2.4em; padding: .7em 1em; border-radius: 4px;
  background: var(--wj-forest); color: #fff;
  font-size: 20px; font-weight: 600; line-height: 1.5;
}
.wj-art__body h3 {
  margin-top: 2em; padding-bottom: .35em; border-bottom: 1px solid var(--wj-forest);
  font-size: 18px; font-weight: 600; line-height: 1.5; color: var(--wj-ink-2);
}
.wj-art__body h4 { margin-top: 1.8em; font-size: 17px; font-weight: 600; }
.wj-art__body p { margin: 0; line-height: 2; }
.wj-art__body a { color: var(--wj-forest); text-decoration: underline; }
.wj-art__body a:hover { text-decoration: none; }
.wj-art__body img { max-width: 100%; height: auto; border-radius: 4px; }
.wj-art__body figure { margin: 0; }
.wj-art__body figcaption { margin-top: 10px; font-size: 12.5px; color: var(--wj-muted-2); }
.wj-art__body ul,
.wj-art__body ol { padding-left: 1.4em; }
.wj-art__body ul { list-style: disc; }
.wj-art__body ol { list-style: decimal; }
.wj-art__body li + li { margin-top: .5em; }
.wj-art__body strong { font-weight: 700; }
.wj-art__body em { font-style: italic; }
.wj-art__body blockquote {
  padding: .4em 0 .4em 1.2em; border-left: 4px solid var(--wj-line-2); color: var(--wj-muted-2);
}
.wj-art__body table { width: 100%; border-collapse: collapse; font-size: 14px; }
.wj-art__body th,
.wj-art__body td { padding: 10px 14px; border: 1px solid var(--wj-line-2); text-align: left; }
.wj-art__body th { background: var(--wj-paper-2); font-weight: 600; }
.wj-art__pagelinks { margin-top: 2em; display: flex; gap: 8px; flex-wrap: wrap; }

/* 目次（本文の最初の h2 直前に差し込む / details で開閉） */
.wj-toc { margin: 32px 0; border: 2px solid var(--wj-ink-2); overflow: hidden; }
.wj-toc__summary {
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
  padding: 16px 22px; list-style: none; cursor: pointer;
  font-size: 17px; font-weight: 600; letter-spacing: .3em; color: var(--wj-ink-2);
}
.wj-toc__summary::-webkit-details-marker { display: none; }
.wj-toc__summary::after {
  content: ""; flex-shrink: 0; width: 11px; height: 11px;
  border-right: 2px solid var(--wj-ink-2); border-bottom: 2px solid var(--wj-ink-2);
  transform: rotate(-135deg) translateY(2px);
  transition: transform .3s ease;
}
.wj-toc[open] .wj-toc__summary { border-bottom: 2px solid var(--wj-ink-2); }
.wj-toc[open] .wj-toc__summary::after { transform: rotate(45deg) translateY(-2px); }
.wj-toc[open] .wj-toc__body { animation: wj-toc-open .28s ease; }
@keyframes wj-toc-open { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: none; } }
.wj-toc__body { padding: 20px 24px 22px; }
.wj-toc__list { counter-reset: wj-toc-n; }
.wj-toc__item { counter-increment: wj-toc-n; line-height: 2; }
.wj-toc__item--sub { padding-left: 1.4em; font-size: .95em; }
.wj-toc__link::before { content: counter(wj-toc-n) "."; margin-right: .2em; }
/* 本文側の装飾を打ち消す */
.wj-art__body .wj-toc ol { list-style: none; padding-left: 0; margin: 0; }
.wj-art__body .wj-toc li { margin: 0; }
.wj-art__body .wj-toc li + li { margin-top: 0; }
.wj-art__body .wj-toc a { color: var(--wj-ink-2); text-decoration: none; }
.wj-art__body .wj-toc a:hover { color: var(--wj-forest); text-decoration: underline; }

/* 記事下バナー */
.wj-art-banner {
  position: relative; display: grid; place-items: center; margin-top: 44px;
  min-height: 165px; padding: 28px; overflow: hidden; border-radius: 4px;
  background: var(--wj-forest); color: #fff; text-align: center;
}
.wj-art-banner img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .45; }
.wj-art-banner__inner { position: relative; z-index: 1; }
.wj-art-banner__title { display: block; font-size: 21px; font-weight: 600; line-height: 1.7; }
.wj-art-banner__text { display: block; margin-top: 10px; font-size: 13px; color: rgba(255,255,255,.85); }
.wj-art-banner__more { display: inline-block; margin-top: 16px; font-size: 14px; letter-spacing: .1em; border-bottom: 1px solid currentColor; }

.wj-art__back { margin-top: 56px; margin-bottom: 8px; text-align: center; }
.wj-art__back a {
  display: inline-flex; align-items: center; justify-content: center; gap: 14px;
  min-width: 280px; height: 58px; padding-inline: 32px; border-radius: 6px;
  background: var(--wj-forest); color: var(--wj-paper-4);
  font-size: 16px; font-weight: 500; letter-spacing: .12em;
  transition: background .3s ease;
}
.wj-art__back a:hover { background: var(--wj-forest-dp); }

/* セクション見出し */
.wj-sec-heading { display: flex; align-items: center; gap: 12px; font-size: 20px; font-weight: 600; color: var(--wj-ink-2); }
.wj-sec-heading--center { justify-content: center; }

/* 合わせて読みたい（カラム外・中央寄せ） */
.wj-art-related { max-width: 1080px; margin: 64px auto 0; }
.wj-art-related__blog { margin-top: 28px; }
/* 記事詳細ページ：関連記事の下に続くカテゴリー一覧（既存 .wj-cat-chips を再利用） */
.wj-art-related + .wj-cat-chips { margin-top: 56px; }
.wj-art-related__grid { margin-top: 28px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.wj-post-card__media { display: block; aspect-ratio: 16 / 10; overflow: hidden; background: var(--wj-media); border-radius: 4px; }
.wj-post-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s cubic-bezier(.22,.61,.36,1); }
.wj-post-card:hover .wj-post-card__media img { transform: scale(1.04); }
.wj-post-card__title { margin-top: 12px; font-size: 15px; font-weight: 600; line-height: 1.7; color: var(--wj-ink-2); }
.wj-post-card__date { margin-top: 8px; font-size: 12px; color: var(--wj-muted-2); }
.wj-post-card__tags { margin-top: 8px; display: flex; flex-wrap: wrap; gap: 6px; font-size: 11px; color: var(--wj-forest); }

/* サイドバー */
.wj-art__side { position: sticky; top: 105px; display: grid; gap: 40px; }
.wj-side-banner { display: block; aspect-ratio: 300 / 188; overflow: hidden; border-radius: 4px; background: var(--wj-media); }
.wj-side-banner img { width: 100%; height: 100%; object-fit: cover; }
.wj-side-list { margin-top: 18px; }
.wj-side-list .wj-post-card { display: grid; grid-template-columns: 96px 1fr; gap: 14px; align-items: start; padding-bottom: 16px; border-bottom: 1px solid var(--wj-forest); }
.wj-side-list .wj-post-card + .wj-post-card { margin-top: 16px; }
.wj-side-list .wj-post-card__media { aspect-ratio: 4 / 3; }
.wj-side-list .wj-post-card__title { margin-top: 0; font-size: 14px; }
.wj-side__more { margin-top: 20px; text-align: right; }
.wj-side__more a { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; color: var(--wj-ink-2); }
.wj-side__more a:hover { text-decoration: underline; }

/* =========================================================
   32. 記事詳細 レスポンシブ
   ========================================================= */
@media (max-width: 1280px) {
  .wj-art__layout { grid-template-columns: minmax(0, 1fr) 290px; gap: 48px; }
}

@media (max-width: 1024px) {
  .wj-art__layout { grid-template-columns: 1fr; gap: 56px; }
  .wj-art__side { position: static; }
  .wj-art__title { font-size: 26px; }
}

@media (max-width: 767px) {
  .wj-art { padding: 16px 0 56px; }
  .wj-art__title { font-size: 20px; line-height: 1.6; }
  .wj-art__category { font-size: 14px; }
  .wj-art__thumb { aspect-ratio: 350 / 200; margin-bottom: 24px; }

  .wj-art-points { padding: 28px 18px 20px; margin-bottom: 28px; }
  .wj-art-points__label { min-width: 0; height: 26px; top: -13px; left: 12px; font-size: 12px; letter-spacing: .2em; }
  .wj-art-points__list li { font-size: 13.5px; line-height: 2.2; }

  .wj-art__body { font-size: 14px; }
  .wj-art__body h2 { font-size: 16px; }
  .wj-art__body h3 { font-size: 15.5px; }
  .wj-toc__summary { padding: 13px 16px; font-size: 15px; letter-spacing: .2em; }
  .wj-toc__body { padding: 16px 18px 18px; }

  .wj-art-banner { min-height: 110px; padding: 20px; }
  .wj-art-banner__title { font-size: 16px; }
  .wj-art__back a { min-width: 0; width: 100%; }

  /* 合わせて読みたい：SPは横スクロール */
  .wj-art-related { margin-top: 44px; }
  .wj-art-related__grid {
    grid-template-columns: none; display: flex; gap: 16px;
    overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none;
    margin-inline: calc(var(--wj-pad) * -1); padding-inline: var(--wj-pad);
  }
  .wj-art-related__grid::-webkit-scrollbar { display: none; }
  .wj-art-related__grid > * { flex: 0 0 260px; scroll-snap-align: start; }

  .wj-side-list .wj-post-card { grid-template-columns: 80px 1fr; gap: 12px; }
}

/* =========================================================
   33. お取り扱い店
   ========================================================= */
.wj-stores { padding-bottom: 96px; }
.wj-stores .wj-arch-hero { padding-bottom: 56px; }
.wj-stores__inner { max-width: 1000px; margin: 0 auto; }

/* 見出し（横罫線＋英字ラベル） */
.wj-lead-head__eyebrow { display: flex; align-items: center; gap: 14px; font-size: 13.2px; font-weight: 500; letter-spacing: 2.8px; color: var(--wj-green-2); }
.wj-lead-head__eyebrow::before { content: ""; width: 34px; height: 1px; background: currentColor; }
.wj-lead-head__title { margin-top: 18px; font-size: 29px; font-weight: 600; letter-spacing: 2.6px; color: var(--wj-ink-2); }
.wj-lead-head--center { text-align: center; }
.wj-lead-head--center .wj-lead-head__eyebrow { justify-content: center; }

/* 店舗一覧 */
.wj-store-list { margin-top: 40px; border-top: 1px solid var(--wj-ink-2); }
.wj-store-list__head,
.wj-store-item {
  display: grid; grid-template-columns: 383px 156px 1fr; align-items: center; gap: 20px;
}
.wj-store-list__head { padding: 12px 8px; border-bottom: 1px solid var(--wj-ink-2); }
.wj-store-list__head span { font-size: 12.5px; font-weight: 500; letter-spacing: 1.3px; color: var(--wj-muted-2); }
.wj-store-item { min-height: 102px; padding: 20px 8px; border-bottom: 1px solid var(--wj-line-2); }
.wj-store-item__name { font-size: 16.5px; font-weight: 600; letter-spacing: .7px; line-height: 1.5; color: var(--wj-ink-2); }
.wj-store-item__area {
  justify-self: start;
  display: inline-grid; place-items: center; min-width: 69px; height: 29px; padding-inline: 14px;
  background: #fff; border: 1px solid var(--wj-line-3); border-radius: 20px;
  font-size: 12.5px; color: var(--wj-ink-2);
}
.wj-store-item__info { font-size: 13px; line-height: 1.85; color: var(--wj-body-2); }
.wj-store-item__info p { margin: 0; }
.wj-store-item__label { display: none; }
.wj-stores__empty { padding: 60px 0; text-align: center; color: var(--wj-muted-2); }

/* 取扱店募集 */
.wj-retail {
  margin-top: 96px; padding: 58px 24px 62px;
  background: var(--wj-paper-2); text-align: center;
}
.wj-retail__text { margin: 26px auto 0; max-width: 46em; font-size: 14px; line-height: 2.05; letter-spacing: .3px; color: #3f3b2d; }
.wj-retail__cta { margin-top: 40px; }
.wj-retail__cta a {
  display: inline-flex; align-items: center; justify-content: center; gap: 22px;
  min-width: 265px; height: 58px; padding-inline: 32px; border-radius: 67px;
  background: var(--wj-forest-dp); color: var(--wj-paper-4);
  font-size: 14.5px; letter-spacing: 2.3px;
  transition: background .3s ease;
}
.wj-retail__cta a::after { content: ""; width: 22px; height: 1px; background: currentColor; }
.wj-retail__cta a:hover { background: var(--wj-forest); }

@media (max-width: 1024px) {
  .wj-store-list__head,
  .wj-store-item { grid-template-columns: 1fr 140px; gap: 12px 16px; }
  .wj-store-list__head span:last-child,
  .wj-store-item__info { grid-column: 1 / -1; }
  .wj-store-list__head span:last-child { display: none; }
}

@media (max-width: 767px) {
  .wj-stores { padding-bottom: 0; }
  .wj-lead-head__title { font-size: 22px; letter-spacing: 2px; }
  .wj-store-list { margin-top: 26px; }
  .wj-store-list__head { display: none; }
  .wj-store-item {
    grid-template-columns: 1fr; gap: 10px;
    min-height: 169px; padding: 24px 4px; align-items: start;
  }
  .wj-store-item__area { justify-self: start; }
  .wj-store-item__info { grid-column: 1; }

  /* 募集セクションはSPで全幅（Figma） */
  .wj-retail {
    margin-top: 56px;
    margin-inline: calc(50% - 50vw); padding: 44px 20px 48px;
  }
  .wj-retail__inner { width: min(var(--wj-wrap-2), 100vw - var(--wj-pad) * 2); margin-inline: auto; }
  .wj-retail__text { font-size: 13.5px; margin-top: 20px; }
  .wj-retail__cta { margin-top: 30px; }
  .wj-retail__cta a { width: 100%; min-width: 0; }
}

/* =========================================================
   34. 汎用：帯セクション / フォーム
   ========================================================= */
.wj-band { margin-top: 96px; padding: 62px 24px 78px; background: var(--wj-paper-2); }
.wj-band__inner { max-width: 920px; margin-inline: auto; }
.wj-band + .wj-band { margin-top: 0; }

/* 枠付きの条件ボックス */
.wj-term-boxes { margin-top: 44px; display: grid; grid-template-columns: repeat(2, 1fr); gap: 26px; }
.wj-term-box { min-height: 210px; padding: 34px 34px 30px; border: 1px solid var(--wj-forest-dp); }
.wj-term-box__head { display: flex; align-items: baseline; gap: 14px; }
.wj-term-box__title { font-size: 17px; font-weight: 600; letter-spacing: 1px; color: var(--wj-ink-2); }
.wj-term-box__en { font-size: 11.2px; font-weight: 500; letter-spacing: 1.2px; color: var(--wj-green-2); }
.wj-term-box__list { margin-top: 18px; }
.wj-term-box__list li {
  position: relative; padding: 13px 0 13px 22px;
  font-size: 13.5px; line-height: 1.7; color: #3f3b2d;
}
.wj-term-box__list li + li { border-top: 1px solid var(--wj-line-2); }
.wj-term-box__list li::before {
  content: ""; position: absolute; left: 0; top: 20px;
  width: 7px; height: 7px; background: #b4923f;
}

/* お問い合わせフォーム（テーマ独自・プラグイン不要） */
.wj-form { max-width: 720px; margin: 44px auto 0; }
.wj-form__row + .wj-form__row { margin-top: 24px; }
.wj-form__label { display: flex; align-items: center; gap: 10px; margin-bottom: 10px; font-size: 13.5px; font-weight: 500; letter-spacing: .7px; color: var(--wj-ink-2); }
.wj-form__badge {
  display: inline-grid; place-items: center; min-width: 35px; height: 22px; padding-inline: 7px; border-radius: 2px;
  font-family: "Noto Sans JP", var(--wj-serif); font-size: 10px; font-weight: 500; letter-spacing: .6px;
}
.wj-form__badge--required { background: #9e5236; color: var(--wj-paper-4); }
.wj-form__badge--optional { border: 1px solid var(--wj-line-3); color: var(--wj-muted-2); }
.wj-form__input,
.wj-form__textarea {
  width: 100%; padding: 0 16px;
  background: #fff; border: 0; border-radius: 0;
  font-family: inherit; font-size: 14px; color: var(--wj-ink-2);
}
.wj-form__input { height: 50px; }
.wj-form__textarea { height: 150px; padding-block: 15px; line-height: 1.8; resize: vertical; }
.wj-form__input::placeholder,
.wj-form__textarea::placeholder { color: #a89f8c; }
.wj-form__input:focus,
.wj-form__textarea:focus { outline: 2px solid var(--wj-green-lt); outline-offset: 1px; }
.wj-form__hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.wj-form__actions { margin-top: 44px; text-align: center; }
.wj-form__submit {
  display: inline-flex; align-items: center; justify-content: center; gap: 22px;
  min-width: 300px; height: 55px; padding-inline: 32px; border: 0;
  background: var(--wj-forest-dp); color: var(--wj-paper-4);
  font-family: inherit; font-size: 15px; letter-spacing: 3px;
  transition: background .3s ease;
}
.wj-form__submit::after { content: ""; width: 22px; height: 1px; background: currentColor; }
.wj-form__submit:hover { background: var(--wj-forest); }

.wj-notice { margin: 0 auto 32px; max-width: 720px; padding: 16px 20px; border: 1px solid var(--wj-line-3); background: #fff; font-size: 13.5px; line-height: 1.8; }
.wj-notice--error { border-color: #9e5236; color: #9e5236; }
.wj-notice--success { border-color: var(--wj-green-2); color: var(--wj-forest); }
.wj-notice ul { margin: 8px 0 0; padding-left: 1.2em; }
.wj-notice li { list-style: disc; }

/* =========================================================
   35. 法人のお客様へ
   ========================================================= */
.wj-business { padding-bottom: 96px; }
.wj-business .wj-arch-hero { padding-bottom: 56px; }
.wj-business__intro { max-width: 920px; margin-inline: auto; }
.wj-business__text { margin-top: 26px; font-size: 14px; line-height: 2.05; color: #3f3b2d; }

@media (max-width: 1024px) {
  .wj-term-boxes { grid-template-columns: 1fr; gap: 18px; }
  .wj-term-box { min-height: 0; padding: 28px 26px 24px; }
}

@media (max-width: 767px) {
  .wj-band {
    margin-top: 56px; padding: 44px 20px 52px;
    margin-inline: calc(50% - 50vw);
  }
  .wj-band__inner { width: min(var(--wj-wrap-2), 100vw - var(--wj-pad) * 2); margin-inline: auto; max-width: none; }
  .wj-business__text { font-size: 13.5px; margin-top: 20px; }
  .wj-form { margin-top: 32px; }
  .wj-form__row + .wj-form__row { margin-top: 20px; }
  .wj-form__actions { margin-top: 32px; }
  .wj-form__submit { width: 100%; min-width: 0; letter-spacing: 2px; }
  .wj-notice { margin-bottom: 24px; }
}

/* =========================================================
   35b. ご利用ガイド
   ========================================================= */
.wj-usage { padding-bottom: 96px; }
.wj-usage .wj-arch-hero { padding-bottom: 56px; }
.wj-usage__section { margin-top: 64px; max-width: 960px; margin-inline: auto; }
.wj-usage__section:first-child { margin-top: 0; }
.wj-usage__text { margin-top: 26px; font-size: 14px; line-height: 2.05; color: #3f3b2d; }
.wj-usage .wj-band { margin-top: 96px; }
.wj-usage .wj-band__inner { max-width: 920px; }

/* --- ご注文の流れ（丸数字＋矢印。初めての方への「選び方の流れ」と同じ意匠） --- */
.wj-flow { margin: 30px 0 0; padding: 0; list-style: none; display: grid; grid-template-columns: repeat(5, 1fr); gap: 20px; }
.wj-flow__step {
  position: relative; min-height: 176px; padding: 28px 14px;
  background: var(--wj-paper); border: 1px solid var(--wj-line-2);
  display: flex; flex-direction: column; align-items: center; justify-content: flex-start; gap: 14px;
  text-align: center;
}
.wj-flow__step + .wj-flow__step::before {
  content: "→"; position: absolute; left: -18px; top: 50%; transform: translateY(-50%);
  font-size: 18px; color: var(--wj-ink-2);
}
.wj-flow__num {
  width: 44px; height: 44px; border-radius: 22px; border: 1px solid #b4923f;
  display: grid; place-items: center;
  font-family: var(--wj-serif); font-weight: 500; font-size: 20px; line-height: 36px; letter-spacing: 0; color: #b4923f;
}
.wj-flow__title { font-size: 15px; font-weight: 600; letter-spacing: .73px; color: var(--wj-ink-2); }
.wj-flow__text { font-size: 12px; line-height: 1.7; color: var(--wj-muted-2); }

/* --- お支払い方法（外枠1本＋内側2×2の罫線） --- */
.wj-pay-methods { margin-top: 30px; display: grid; grid-template-columns: repeat(2, 1fr); border: 1px solid var(--wj-line-2); }
.wj-pay-method { padding: 28px 32px; border-bottom: 1px solid var(--wj-line-2); border-right: 1px solid var(--wj-line-2); }
.wj-pay-method:nth-child(2n) { border-right: 0; }
.wj-pay-method:nth-last-child(-n+2) { border-bottom: 0; }
.wj-pay-method__title { display: flex; align-items: center; gap: 10px; font-size: 15px; font-weight: 600; letter-spacing: .73px; color: var(--wj-ink-2); }
.wj-pay-method__title::before { content: "◆"; font-size: 10px; color: #b4923f; }
.wj-pay-method__text { margin-top: 10px; padding-left: 20px; font-size: 13px; line-height: 1.8; color: var(--wj-muted-2); }

/* --- 年齢確認の注意ボックス --- */
.wj-notice-box { margin-top: 20px; padding: 20px 24px; background: #f9ece6; border: 1px solid #e3c4b4; font-size: 13px; line-height: 1.8; color: #9e5236; }

/* --- FAQ（アコーディオン。<details>/<summary>ベース） --- */
.wj-faq { margin-top: 24px; border-top: 1px solid var(--wj-line-2); }
.wj-faq__item { border-bottom: 1px solid var(--wj-line-2); }
.wj-faq__q { display: flex; align-items: center; gap: 14px; padding: 22px 4px; cursor: pointer; list-style: none; }
.wj-faq__q::-webkit-details-marker { display: none; }
.wj-faq__mark { flex: 0 0 auto; font-family: var(--wj-serif); font-weight: 600; font-size: 14px; color: var(--wj-forest); }
.wj-faq__text { flex: 1 1 auto; font-size: 14px; font-weight: 500; color: var(--wj-ink-2); }
.wj-faq__toggle { position: relative; width: 16px; height: 16px; flex: 0 0 auto; }
.wj-faq__toggle::before,
.wj-faq__toggle::after { content: ""; position: absolute; background: var(--wj-ink-2); }
.wj-faq__toggle::before { top: 50%; left: 0; width: 100%; height: 1px; transform: translateY(-50%); }
.wj-faq__toggle::after { left: 50%; top: 0; width: 1px; height: 100%; transform: translateX(-50%); transition: opacity .2s ease; }
.wj-faq__item[open] .wj-faq__toggle::after { opacity: 0; }
.wj-faq__a { display: flex; gap: 14px; padding: 0 4px 22px; }
.wj-faq__a-mark { flex: 0 0 auto; font-family: var(--wj-serif); font-weight: 600; font-size: 14px; color: #b4923f; }
.wj-faq__a-text { font-size: 13.5px; line-height: 1.8; color: var(--wj-muted-2); }

@media (max-width: 1024px) {
  .wj-flow { grid-template-columns: repeat(2, 1fr); gap: 16px; }
  .wj-flow__step + .wj-flow__step::before { content: none; }
}

@media (max-width: 767px) {
  .wj-usage { padding-bottom: 64px; }
  .wj-usage__section { margin-top: 48px; }
  .wj-usage__text { font-size: 13.5px; margin-top: 20px; }
  .wj-flow { grid-template-columns: 1fr; gap: 14px; margin-top: 24px; }
  .wj-flow__step { min-height: 0; padding: 26px 20px; }
  .wj-pay-methods { grid-template-columns: 1fr; margin-top: 24px; }
  .wj-pay-method { border-right: 0 !important; }
  .wj-pay-method:nth-last-child(-n+2) { border-bottom: 1px solid var(--wj-line-2); }
  .wj-pay-method:last-child { border-bottom: 0; }
  .wj-notice-box { font-size: 12.5px; }
}

/* =========================================================
   36. 会社情報
   ========================================================= */
.wj-company { padding-bottom: 0; }
.wj-company .wj-arch-hero { padding-bottom: 40px; }
.wj-company__section { max-width: 960px; margin: 0 auto; }
.wj-company__section + .wj-company__section { margin-top: 72px; }
.wj-company .wj-band__inner { max-width: 960px; }

/* 会社概要（定義リスト） */
/* Figma：外枠は上辺のみ（T1 R0 B0 L0） */
.wj-company-table { margin-top: 40px; border-top: 1px solid var(--wj-ink-2); }
.wj-company-table__row { display: grid; grid-template-columns: 224px 1fr; align-items: center; min-height: 66px; }
.wj-company-table__row { border-bottom: 1px solid var(--wj-line-2); }
.wj-company-table__key { padding: 14px 6px; font-size: 14px; font-weight: 600; letter-spacing: 1.1px; color: var(--wj-forest); }
.wj-company-table__val { padding: 14px 24px 14px 6px; font-size: 14px; line-height: 1.75; letter-spacing: .3px; color: var(--wj-ink-2); }

/* 代表メッセージ */
.wj-message { margin-top: 40px; display: grid; grid-template-columns: 378px 1fr; gap: 56px; align-items: center; }
.wj-message__figure { position: relative; aspect-ratio: 378 / 505; background: var(--wj-media); }
.wj-message__figure img { width: 100%; height: 100%; object-fit: cover; }
/* Figma：写真の右下にずらした金の枠（#B4923F） */
.wj-message__figure::after {
  content: ""; position: absolute; inset: 15px -15px -15px 15px;
  border: 1px solid #b4923f; pointer-events: none;
}
.wj-message__text { font-size: 14.5px; line-height: 2.05; letter-spacing: .3px; color: #3f3b2d; }
.wj-message__sign { margin-top: 34px; padding-top: 20px; border-top: 1px solid var(--wj-line-3); display: flex; align-items: baseline; gap: 14px; }
.wj-message__role { font-size: 12.5px; letter-spacing: .8px; color: var(--wj-muted-2); }
.wj-message__name { font-size: 19px; font-weight: 600; letter-spacing: 2.7px; color: var(--wj-ink-2); }

/* 事業内容 */
.wj-biz-boxes { margin-top: 40px; display: grid; grid-template-columns: repeat(2, 1fr); gap: 26px; }
.wj-biz-box { min-height: 217px; padding: 38px 36px 34px; border: 1px solid var(--wj-forest-dp); }
.wj-biz-box__no { font-size: 14.4px; font-weight: 500; letter-spacing: 1.5px; color: var(--wj-green-2); }
.wj-biz-box__title { margin-top: 14px; font-size: 19px; font-weight: 600; letter-spacing: 1.5px; color: var(--wj-ink-2); }
.wj-biz-box__text { margin-top: 20px; font-size: 13.5px; line-height: 1.95; color: #3f3b2d; }

/* アクセス */
.wj-access__map {
  margin-top: 42px; aspect-ratio: 960 / 420; overflow: hidden;
  background: var(--wj-media); border: 1px solid var(--wj-line-3);
}
.wj-access__map iframe { width: 100%; height: 100%; border: 0; display: block; }
.wj-access__map--empty { display: grid; place-items: center; font-size: 13.5px; letter-spacing: .1em; color: var(--wj-muted-2); }
.wj-access__note { position: relative; margin-top: 26px; padding-left: 22px; font-size: 13.5px; line-height: 1.85; letter-spacing: .4px; color: #3f3b2d; }
.wj-access__note::before { content: ""; position: absolute; left: 0; top: 8px; width: 8px; height: 8px; background: #b4923f; }

@media (max-width: 1024px) {
  .wj-message { grid-template-columns: 320px 1fr; gap: 36px; }
  .wj-biz-boxes { grid-template-columns: 1fr; gap: 18px; }
  .wj-biz-box { min-height: 0; padding: 30px 26px 26px; }
}

@media (max-width: 767px) {
  .wj-company .wj-arch-hero { padding-bottom: 24px; }
  .wj-company__section + .wj-company__section { margin-top: 48px; }
  .wj-company-table { margin-top: 26px; }
  .wj-company-table__row { grid-template-columns: 1fr; min-height: 0; padding: 16px 4px; gap: 6px; }
  .wj-company-table__key,
  .wj-company-table__val { padding: 0; }
  .wj-company-table__key { font-size: 13px; }
  .wj-company-table__val { font-size: 13.5px; }

  .wj-message { grid-template-columns: 1fr; gap: 26px; margin-top: 26px; }
  .wj-message__figure { aspect-ratio: 350 / 400; }
  .wj-message__figure::after { inset: 10px -10px -10px 10px; }
  .wj-message__text { font-size: 13.5px; }
  .wj-message__sign { margin-top: 26px; }

  .wj-biz-boxes { margin-top: 26px; }
  .wj-access__map { margin-top: 28px; aspect-ratio: 350 / 263; }
  .wj-access__note { margin-top: 20px; font-size: 13px; }
}


/* =========================================================
   37. 英字ラベルの大文字化
   Figma で textCase=UPPER が指定されている小見出しラベル。
   指定が無いもの（決済の Billing / 絞り込みの Category /
   商品紹介の Cidre / お取引の Terms 等）は含めないこと。
   ========================================================= */
.wj-head__eyebrow,
.wj-page-hero__eyebrow,
.wj-shop__sort-label,
.wj-about-products__eyebrow,
.wj-gift-hero__eyebrow,
.wj-gift-section__eyebrow,
.wj-anchor-nav__en,
.wj-wrapping__eyebrow,
.wj-reviews__eyebrow,
.wj-related__eyebrow,
.wj-guide-hero__eyebrow,
.wj-guide-head__eyebrow,
.wj-cidre-eyebrow,
.wj-ab-hero__eyebrow,
.wj-ab-head__eyebrow,
.wj-arch-hero__eyebrow,
.wj-lead-head__eyebrow {
  text-transform: uppercase;
}
/* KILLED: .wj-card__meta / .wj-footer__follow の uppercase は不要
.wj-card__meta,
.wj-footer__follow {
  text-transform: uppercase;
}
*/

/* ↓ プレビュー専用：画像未配置のため色面で代用（テーマ本体には含みません） */
.wj-demo-1 { background: linear-gradient(140deg, #b9c47e 0%, #6c8043 55%, #3f5530 100%); }
.wj-demo-2 { background: linear-gradient(140deg, #e8c98d 0%, #b98a4e 55%, #6d4a2a 100%); }
.wj-demo-3 { background: linear-gradient(140deg, #93b6c9 0%, #4d7386 55%, #2b4250 100%); }
.wj-demo-b1 { background: linear-gradient(120deg, #c2453c, #8d2b25); }
.wj-demo-b2 { background: linear-gradient(120deg, #cfd98a, #8ba14e); }
.wj-demo-b3 { background: linear-gradient(120deg, #d98ab4, #8e4d73); }
.wj-demo-b4 { background: linear-gradient(120deg, #7d6fa8, #43386b); }
.wj-demo-label { position: absolute; inset: 0; display: grid; place-items: center; color: rgba(255,255,255,.92); font-size: 15px; letter-spacing: .1em; }

/* レビュー個別アイテム */
.wj-reviews__list { list-style: none; margin: 32px 0 0; padding: 24px 0 0; border-top: 1px solid var(--wj-line-3, #cbc4b2); }
.wj-review-item + .wj-review-item { margin-top: 20px; padding-top: 20px; border-top: 1px solid var(--wj-line-3, #cbc4b2); }
.wj-review-item__head { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.wj-review-item__author { font-size: 13px; font-weight: 600; color: var(--wj-ink-2, #26261f); }
.wj-review-item__date { font-size: 11px; color: var(--wj-muted-2, #615d4c); }
.wj-review-item__body { margin-top: 10px; font-size: 14px; line-height: 1.8; color: var(--wj-ink-2, #26261f); }
/* 評価の星ラジオ（ホバー・選択で金色に） */
.wj-rate label { cursor: pointer; }
.wj-rate label svg { width: 26px; height: 26px; }
.wj-rate input:checked ~ label svg .wj-stars__icon,
.wj-rate label:hover svg .wj-stars__icon,
.wj-rate label:hover ~ label svg .wj-stars__icon { fill: #b4923f; }

/* =========================================================
   マイアカウント（デザイン版）
   ========================================================= */
.woocommerce-account .wj-main { padding-bottom: 80px; }
/* タブナビは全幅で中央寄せ（コンテンツ幅に縛られない） */
.wj-account-nav { margin: 0 auto 40px; max-width: 100%; }
.wj-account-nav__list { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 16px; justify-content: center; }
.wj-account-nav__item a {
  display: inline-flex; align-items: center; justify-content: center;
  height: 54px; padding: 0 32px; border-radius: 40px;
  background: var(--wj-forest-dp, #19241b); color: var(--wj-paper, #f4f1e8);
  font-size: 15px; letter-spacing: .08em; font-weight: 500;
  transition: background .25s ease, color .25s ease;
}
.wj-account-nav__item a:hover { background: var(--wj-forest, #33402f); }
.wj-account-nav__item.is-active a { background: var(--wj-green, #74854a); color: #fff; }
.wj-account-nav__item--logout a { background: transparent; color: var(--wj-muted-2, #615d4c); border: 1px solid var(--wj-line-3, #cbc4b2); }
.wj-account-nav__item--logout a:hover { background: var(--wj-paper-2, #eae4d6); color: var(--wj-ink-2, #26261f); }

/* マイアカウント本文 */
/* マイアカウント：WooCommerce標準の横並びfloatを解除し、タブ上・本文下の縦並びに */
.woocommerce-account .woocommerce { overflow: hidden; }
.woocommerce-account .woocommerce-MyAccount-navigation { float: none; width: 100%; margin: 0 0 32px; }
.woocommerce-account .woocommerce-MyAccount-content { float: none; width: 100%; max-width: 880px; margin: 0 auto; }
.woocommerce-MyAccount-content h2,
.woocommerce-MyAccount-content h3 { font-size: 20px; font-weight: 600; color: var(--wj-ink-2, #26261f); margin: 0 0 20px; }
.woocommerce-MyAccount-content p { color: var(--wj-ink-2, #26261f); line-height: 1.9; }

/* フォーム（アカウント情報・住所編集） */
.woocommerce-account form .form-row { margin-bottom: 24px; display: flex; flex-direction: column; }
.woocommerce-account form label { font-size: 13px; font-weight: 500; color: var(--wj-ink-2, #26261f); margin-bottom: 8px; }
.woocommerce-account form .required { color: var(--wj-green, #74854a); }
.woocommerce-account form input.input-text,
.woocommerce-account form input[type="text"],
.woocommerce-account form input[type="email"],
.woocommerce-account form input[type="password"],
.woocommerce-account form input[type="tel"],
.woocommerce-account form select,
.woocommerce-account form textarea {
  width: 100%; height: 48px; padding: 0 14px;
  background: #fff; border: 1px solid var(--wj-line-3, #cbc4b2);
  font-family: inherit; font-size: 14px; color: var(--wj-ink-2, #26261f);
}
.woocommerce-account form textarea { height: auto; padding: 12px 14px; }
.woocommerce-account fieldset { border: 1px solid var(--wj-line-3, #cbc4b2); padding: 24px; margin-top: 24px; }
.woocommerce-account fieldset legend { font-weight: 600; padding: 0 8px; }

/* ボタン（変更を保存など） */
.woocommerce-account button.button,
.woocommerce-account .woocommerce-Button {
  display: inline-flex; align-items: center; justify-content: center;
  height: 50px; padding: 0 40px; border: 0; border-radius: 40px; cursor: pointer;
  background: var(--wj-forest-dp, #19241b); color: var(--wj-paper, #f4f1e8);
  font-size: 14px; letter-spacing: .08em;
  transition: background .25s ease;
}
/* 保存ボタンの上に余白 */
.woocommerce-account .woocommerce-MyAccount-content form > p:last-child,
.woocommerce-account form.edit-account > p:last-child,
.woocommerce-account form.woocommerce-EditAccountForm > p:last-child { margin-top: 32px; }
.woocommerce-account button.button:hover { background: var(--wj-forest, #33402f); }

/* 注文テーブル */
.woocommerce-account .woocommerce-orders-table,
.woocommerce-account table.shop_table {
  width: 100%; border-collapse: collapse; margin-top: 8px;
}
.woocommerce-account table.shop_table th {
  text-align: left; padding: 14px 12px; font-size: 14px; font-weight: 600;
  color: var(--wj-ink-2, #26261f); border-bottom: 2px solid var(--wj-line-3, #cbc4b2);
}
.woocommerce-account table.shop_table td {
  padding: 16px 12px; font-size: 14px; color: var(--wj-ink-2, #26261f);
  border-bottom: 1px solid var(--wj-line-3, #cbc4b2);
}
.woocommerce-account table.shop_table a.button {
  height: 40px; padding: 0 22px; font-size: 13px;
}

/* 住所ブロック（請求先・お届け先を正しい2カラムに） */
.woocommerce-account .woocommerce-Addresses,
.woocommerce-account .addresses { display: grid !important; grid-template-columns: 1fr 1fr; gap: 40px; margin-top: 24px; float: none !important; width: 100% !important; text-align: left !important; }
.woocommerce-account .woocommerce-Addresses::before,
.woocommerce-account .woocommerce-Addresses::after { display: none !important; content: none !important; }
.woocommerce-account .woocommerce-Addresses .u-column1,
.woocommerce-account .woocommerce-Addresses .u-column2,
.woocommerce-account .woocommerce-Address { float: none !important; width: 100% !important; max-width: 100% !important; min-width: 0; margin: 0 !important; text-align: left !important; }
.woocommerce-account .woocommerce-Address address { font-style: normal; line-height: 1.9; color: var(--wj-ink-2, #26261f); margin-top: 8px; text-align: left; }
.woocommerce-account .woocommerce-Address header,
.woocommerce-account .woocommerce-Address-title { display: flex !important; align-items: baseline; justify-content: space-between; gap: 12px; margin-bottom: 12px; text-align: left; }
.woocommerce-account .woocommerce-Address-title h3,
.woocommerce-account .woocommerce-Address header h3 { margin: 0; white-space: nowrap; font-size: 18px; text-align: left; }
.woocommerce-account .woocommerce-Address-title .edit,
.woocommerce-account .woocommerce-Address header .edit { white-space: nowrap; color: var(--wj-green, #74854a); font-size: 13px; }

/* 通知メッセージ */
.woocommerce-account .woocommerce-message,
.woocommerce-account .woocommerce-info,
.woocommerce-account .woocommerce-error {
  padding: 16px 20px; margin-bottom: 24px; border-radius: 4px;
  background: var(--wj-paper-2, #eae4d6); color: var(--wj-ink-2, #26261f);
  border-left: 3px solid var(--wj-green, #74854a); list-style: none;
}

@media (max-width: 768px) {
  .woocommerce-account .woocommerce-Addresses { grid-template-columns: 1fr; gap: 24px; }
  .wj-account-nav__item a { height: 46px; padding: 0 20px; font-size: 13px; }
}

/* ログイン・登録ページ */
.woocommerce-account:not(.logged-in) .woocommerce { max-width: 980px; margin: 0 auto; }
.woocommerce-account:not(.logged-in) .u-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; }
.woocommerce-account .col-1 h2,
.woocommerce-account .col-2 h2 { font-size: 24px; margin-bottom: 24px; }
.woocommerce-account form.login,
.woocommerce-account form.register { border: 1px solid var(--wj-line-3, #cbc4b2); padding: 32px; }
.woocommerce-account .woocommerce-form-login__rememberme { flex-direction: row; align-items: center; gap: 8px; }
.woocommerce-account .woocommerce-form-login__submit,
.woocommerce-account .woocommerce-form-register__submit {
  background: var(--wj-forest-dp, #19241b) !important; color: var(--wj-paper, #f4f1e8) !important;
}
.woocommerce-account .lost_password a { color: var(--wj-green, #74854a); }

@media (max-width: 768px) {
  .woocommerce-account .u-columns { grid-template-columns: 1fr; gap: 32px; }
}

/* 汎用固定ページの本文エリア */
.wj-page-body { padding: 20px 0 80px; min-height: 40vh; }
.wj-page-body .wj-wrap-2 { max-width: var(--wj-wrap-2, 1160px); margin-inline: auto; }

/* =========================================================
   ページネーション（‹ 1 2 3 ›）
   ========================================================= */
.wj-pager { margin: 56px 0 0; display: flex; justify-content: center; }
.wj-pager ul,
.wj-pager .page-numbers { list-style: none; margin: 0; padding: 0; display: flex; align-items: center; gap: 8px; }
.wj-pager ul { display: flex; align-items: center; gap: 8px; }
.wj-pager li { margin: 0; }
.wj-pager a.page-numbers,
.wj-pager span.page-numbers,
.wj-pager .wj-pager__num {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 40px; height: 40px; padding: 0 6px;
  font-family: var(--wj-num, 'Cormorant Garamond', serif);
  font-size: 16px; color: var(--wj-ink-2, #26261f);
  border: 1px solid transparent; border-radius: 2px;
  transition: background .2s ease, color .2s ease, border-color .2s ease;
  text-decoration: none;
}
.wj-pager a.page-numbers:hover { border-color: var(--wj-line-3, #cbc4b2); background: var(--wj-paper-2, #eae4d6); }
/* 現在ページ */
.wj-pager span.page-numbers.current,
.wj-pager .wj-pager__num.is-current {
  background: var(--wj-forest-dp, #19241b); color: var(--wj-paper, #f4f1e8); border-color: var(--wj-forest-dp, #19241b);
}
/* 前後の矢印 */
.wj-pager a.page-numbers.prev,
.wj-pager a.page-numbers.next { font-size: 20px; color: var(--wj-muted-2, #615d4c); min-width: 40px; }
.wj-pager a.page-numbers.prev:hover,
.wj-pager a.page-numbers.next:hover { color: var(--wj-ink-2, #26261f); }
/* 省略記号 */
.wj-pager span.page-numbers.dots { min-width: 24px; border: 0; background: none; color: var(--wj-muted-2, #615d4c); }

/* =========================================================
 * サイト画像（管理画面から差し替えた画像の共通表示ルール）
 * 要素に class="wj-has-img" と style="--wj-img:url(...)" を付与すると
 * その要素の背景画像として表示される。未設定時は既存のデモ表示のまま。
 * ======================================================= */
.wj-has-img {
  background-image: var(--wj-img) !important;
  background-size: cover !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
}
/* 画像を敷いた枠には、プレースホルダー用の枠線・記号を出さない
   （.wj-wine-card と .wj-guide__item は例外：どちらも ::before/::after 自体に
     写真（.wj-guide__itemはホバー時フェードイン）を敷く実装のため対象外にする） */
.wj-has-img:not(.wj-wine-card):not(.wj-guide__item)::before,
.wj-has-img:not(.wj-wine-card):not(.wj-guide__item)::after { display: none !important; }

/* =========================================================
   v1.5.0 追加・修正
   ========================================================= */

/* ---------------------------------------------------------
   1. お知らせ一覧：カテゴリラベルと記事タイトルの余白
   グリッドの列幅いっぱいにラベルが伸びてタイトルと接していたため、
   ラベル自身の幅で止めて右側に余白ができるようにする。
   --------------------------------------------------------- */
.wj-news-item__cat {
  justify-self: start;
  margin-right: 24px;
  width: auto;
}
.wj-news-item__cat--empty { border-color: transparent; background: none; }

@media (max-width: 767px) {
  .wj-news-item__cat { margin-right: 0; }
}

/* ---------------------------------------------------------
   2. ブログ一覧：カードのリンク全体・本文まわり
   --------------------------------------------------------- */
.wj-blog-card__link { display: flex; flex-direction: column; height: 100%; }
.wj-blog-card__body { display: flex; flex-direction: column; flex: 1 1 auto; }
.wj-blog-card__more { margin-top: auto; padding-top: 16px; }
.wj-cat-chip { text-align: center; }

/* カテゴリチップは中身の数だけ並べる（固定4列だと隙間が空くため） */
.wj-cat-chips {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 20px 24px;
}
.wj-cat-chip { min-width: 180px; }

@media (max-width: 767px) {
  /* SPではカテゴリを横スクロールで見せる */
  .wj-cat-chips {
    display: flex;
    flex-wrap: nowrap;
    justify-content: flex-start;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    gap: 10px;
    margin-bottom: 32px;
    padding-bottom: 4px;
  }
  .wj-cat-chips::-webkit-scrollbar { display: none; }
  .wj-cat-chip {
    flex: 0 0 auto; min-width: 0; min-height: 38px;
    padding-inline: 18px; font-size: 13px; white-space: nowrap;
  }
}

/* ---------------------------------------------------------
   3. マイアカウント：通知内のボタンがボックスからはみ出す問題
   （「まだ、ご注文はありません。」＋「商品を見る」）
   --------------------------------------------------------- */
.woocommerce-account .woocommerce-message,
.woocommerce-account .woocommerce-info,
.woocommerce-account .woocommerce-error,
.woocommerce .woocommerce-info,
.woocommerce .woocommerce-message {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 16px 20px;
  padding: 20px 24px;
  overflow: hidden;
}
.woocommerce-account .woocommerce-info > .button,
.woocommerce-account .woocommerce-message > .button,
.woocommerce-account .woocommerce-info > .woocommerce-Button,
.woocommerce .woocommerce-info > .button,
.woocommerce .woocommerce-message > .button {
  order: 2;
  float: none;
  margin: 0;
  flex: 0 0 auto;
  height: 46px;
  padding: 0 32px;
  font-size: 13px;
}
/* テキスト側は残り幅を使う */
.woocommerce-account .woocommerce-info,
.woocommerce .woocommerce-info { line-height: 1.7; }

@media (max-width: 640px) {
  .woocommerce-account .woocommerce-info,
  .woocommerce .woocommerce-info,
  .woocommerce-account .woocommerce-message,
  .woocommerce .woocommerce-message { flex-direction: column; align-items: stretch; }
  .woocommerce-account .woocommerce-info > .button,
  .woocommerce .woocommerce-info > .button { width: 100%; }
}

/* ---------------------------------------------------------
   4. SP固定バー（商品詳細 / お買い物カゴ）
   PCでは非表示。SPのみ画面下部に固定する。
   --------------------------------------------------------- */
.wj-sticky-buy,
.wj-sticky-cart { display: none; }

@media (max-width: 767px) {

  .wj-sticky-buy,
  .wj-sticky-cart {
    display: block;
    position: fixed;
    left: 0; right: 0; bottom: 0;
    z-index: 90;
    background: rgba(244, 241, 232, .96);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    border-top: 1px solid var(--wj-line-3, #cbc4b2);
    padding: 10px 16px calc(10px + env(safe-area-inset-bottom));
    transition: transform .3s ease, opacity .3s ease;
  }

  .wj-sticky-buy.is-hidden {
    transform: translateY(110%);
    opacity: 0;
    pointer-events: none;
  }

  .wj-sticky-buy__inner,
  .wj-sticky-cart__inner {
    display: flex;
    align-items: center;
    gap: 12px;
    max-width: 560px;
    margin-inline: auto;
  }

  /* --- 商品詳細：カートに入れる / 購入に進む の2ボタン --- */
  .wj-sticky-buy__btn {
    flex: 1 1 50%;
    height: 52px;
    border: 0;
    border-radius: 40px;
    font-size: 14.5px;
    letter-spacing: .06em;
    cursor: pointer;
    transition: opacity .2s ease;
  }
  .wj-sticky-buy__btn--cart {
    border: 1px solid var(--wj-forest-dp, #19241b);
    background: transparent;
    color: var(--wj-ink-2, #26261f);
  }
  .wj-sticky-buy__btn--buy {
    background: var(--wj-forest-dp, #19241b);
    color: var(--wj-paper, #f4f1e8);
  }
  .wj-sticky-buy__btn:disabled,
  .wj-sticky-buy__btn.is-loading { opacity: .55; cursor: default; }

  /* --- お買い物カゴ --- */
  .wj-sticky-cart__update {
    flex: 0 0 40%;
    height: 52px;
    border: 1px solid var(--wj-line-3, #cbc4b2);
    border-radius: 40px;
    background: transparent;
    color: var(--wj-ink-2, #26261f);
    font-size: 13.5px;
    letter-spacing: .06em;
    cursor: pointer;
  }
  .wj-sticky-cart__checkout {
    flex: 1 1 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 52px;
    border-radius: 40px;
    background: var(--wj-forest-dp, #19241b);
    color: var(--wj-paper, #f4f1e8);
    font-size: 15px;
    letter-spacing: .08em;
  }

  /* 固定バーの高さぶんだけ本文下に余白を足し、フッターと重ならないようにする */
  body.single-product .wj-main,
  body.woocommerce-cart .wj-main { padding-bottom: 88px; }
}

/* =========================================================
   v1.6.0 追加・修正
   ========================================================= */

/* ---------------------------------------------------------
   1. 記事本文：見出しの下に余白を入れる
   （見出し直後の要素だけ間隔を詰めていたため、20pxに揃える）
   --------------------------------------------------------- */
.wj-art__body h2 + *,
.wj-art__body h3 + *,
.wj-art__body h4 + *,
.wj-art__body h5 + * { margin-top: 20px; }

/* 見出しが連続する場合は本来の間隔を保つ */
.wj-art__body h2 + h3,
.wj-art__body h2 + h4,
.wj-art__body h3 + h4 { margin-top: 1.6em; }

/* ---------------------------------------------------------
   2. 商品ステータスラベル（画像の左上）
   商品タグをそのまま表示。在庫切れ・入荷待ちは自動。
   --------------------------------------------------------- */
.wj-product__flags {
  position: absolute;
  top: 14px;
  left: 14px;
  z-index: 3;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 6px;
  max-width: calc(100% - 28px);
}
.wj-product__flag {
  display: inline-flex;
  align-items: center;
  height: 30px;
  padding-inline: 12px;
  background: var(--wj-forest, #33402f);
  color: var(--wj-paper-4, #faf7ef);
  font-size: 11.5px;
  font-weight: 500;
  letter-spacing: .12em;
  line-height: 1;
  white-space: nowrap;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
}
.wj-product__flag--new     { background: var(--wj-forest, #33402f); }
.wj-product__flag--limited { background: #9e5236; }
.wj-product__flag--sale    { background: #b3452f; }
.wj-product__flag--soldout { background: #6e6b5e; }
.wj-product__flag--backorder { background: #8a7f5f; }

/* 在庫切れの商品は画像を少し落ち着かせる */
.wj-product.outofstock .wj-product__media img { opacity: .55; filter: saturate(.7); }

@media (max-width: 767px) {
  .wj-product__flags { top: 10px; left: 10px; gap: 4px; }
  .wj-product__flag { height: 26px; padding-inline: 9px; font-size: 10px; letter-spacing: .08em; }
}

/* ---------------------------------------------------------
   3. 記事サイドバー／記事下のバナー
   （画像が設定されている時だけ表示される）
   --------------------------------------------------------- */
/* 画像バナーは横幅だけ固定し、高さは画像の縦横比に合わせる */
.wj-side-banner:has(img),
.wj-art-banner--image {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: auto;
  min-height: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: none;
  overflow: visible;
}
.wj-side-banner img,
.wj-art-banner--image img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: unset;
  opacity: 1;
}
.wj-art-banner--image { margin-block: 40px; }
.wj-side-banner + section { margin-top: 32px; }

/* =========================================================
   v1.7.0 Figma準拠の調整
   ========================================================= */

/* ---------------------------------------------------------
   1. FV見出しのハイライト
   管理画面の見出しで *恵み* のように書くとこの色になる。
   Figma: rgba(255,247,212,0.92)
   --------------------------------------------------------- */
.wj-fv__title-em { color: rgba(255, 247, 212, .92); }

/* ---------------------------------------------------------
   2. 「商品の選び方」カード（Figma 173:137〜152）
   --------------------------------------------------------- */
.wj-guide__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 22px;
  border-top: 0;
}
.wj-guide__item {
  padding: 22px 20px 24px;
  border: 1px solid #e3ddce;
  min-height: 256px;
}
.wj-guide__item:first-child,
.wj-guide__item:last-child { padding-inline: 20px; }
.wj-guide__num {
  font-family: var(--wj-num);
  font-size: 38px;
  font-weight: 500;
  line-height: 1.095;
  color: #8e9c63;
}
.wj-guide__title {
  margin-top: 24px;
  font-size: 16.6px;
  font-weight: 600;
  letter-spacing: .666px;
  line-height: 1.504;
  color: #22241e;
}
.wj-guide__text {
  margin-top: 30px;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.739;
  color: #22241e;
}

@media (max-width: 1024px) {
  .wj-guide__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
  .wj-guide__grid { grid-template-columns: 1fr; gap: 16px; }
  .wj-guide__item { min-height: 0; }
}

/* ---------------------------------------------------------
   3. 決済ページの「注文する」ボタン
   WooCommerce標準のマークアップにもテーマの見た目を当てる。
   --------------------------------------------------------- */
.woocommerce-checkout #place_order,
.woocommerce-checkout .woocommerce-checkout-payment #place_order,
.woocommerce-checkout button[name="woocommerce_checkout_place_order"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 24px;
  width: 320px;
  max-width: 100%;
  height: 55px;
  margin-top: 22px;
  padding: 0;
  float: none;
  background: var(--wj-forest-dp);
  color: var(--wj-paper-4);
  border: 0;
  border-radius: 0;
  font-family: var(--wj-serif);
  font-size: 15px;
  font-weight: 600;
  letter-spacing: 3px;
  line-height: 1;
  cursor: pointer;
  transition: background .3s ease;
}
.woocommerce-checkout #place_order::after {
  content: "";
  width: 22px;
  height: 1px;
  background: currentColor;
}
.woocommerce-checkout #place_order:hover { background: var(--wj-forest); }
.woocommerce-checkout #place_order:disabled { opacity: .5; cursor: default; }

/* 注文ボタンまわりの余白と配置 */
.woocommerce-checkout .place-order,
.woocommerce-checkout .form-row.place-order {
  margin-top: 26px;
  padding: 0;
  text-align: center;
}
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper {
  margin-bottom: 18px;
  font-size: 12.5px;
  line-height: 1.9;
  color: var(--wj-muted-2);
}
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper a { text-decoration: underline; }

@media (max-width: 767px) {
  .woocommerce-checkout #place_order { width: 100%; height: 52px; letter-spacing: 2px; }
}

/* =========================================================
   v1.8.0 TOPページのフォント／色味／オーバーレイをFigmaに揃える
   ========================================================= */

/* ---------------------------------------------------------
   1. 装飾ワードは Fraunces（SOFT 0 / WONK 1）で統一
   Fraunces未読込時に明朝へ落ちても崩れないようフォールバック指定。
   --------------------------------------------------------- */
.wj-word,
.wj-fv__mark,
.wj-page-hero__word,
.wj-single__word,
.wj-gift-hero__word,
.wj-arch-hero__word {
  font-family: var(--wj-display);
  font-weight: 400;
  font-variation-settings: "SOFT" 0, "WONK" 1;
  font-optical-sizing: auto;
}

/* ---------------------------------------------------------
   2. 日本語まわりは Noto Serif JP に統一
   （ブラウザ既定の明朝に落ちて字面が変わるのを防ぐ）
   --------------------------------------------------------- */
.wj-fv__eyebrow span,
.wj-fv__title,
.wj-fv__lead,
.wj-fv__vertical,
.wj-btn,
.wj-btn-line,
.wj-head__title,
.wj-tab__ja,
.wj-tab__en,
.wj-product__title,
.wj-product__meta,
.wj-product__spec,
.wj-product__cart,
.wj-product__flag,
.wj-guide__title,
.wj-guide__text,
.wj-story__eyebrow,
.wj-story__title,
.wj-story__sub,
.wj-story__text,
.wj-story__vertical-label,
.wj-news-item__title,
.wj-news-item__cat { font-family: var(--wj-serif); }

/* 数字だけは Cormorant Garamond */
.wj-head__num,
.wj-guide__num { font-family: var(--wj-num); }

/* ---------------------------------------------------------
   3. FV：Figma 173:310 の値に合わせた微調整
   --------------------------------------------------------- */
.wj-fv__title { line-height: 1.36; }
.wj-fv__lead { line-height: 2.047; }
.wj-fv__eyebrow span { line-height: 1.856; }

/* ---------------------------------------------------------
   4. Story：帯・縦書きのSP調整
   --------------------------------------------------------- */
@media (max-width: 1024px) {
  .wj-story__band { left: -14px; width: 48px; padding-left: 14px; }
  .wj-story__vertical-label { font-size: 20px; letter-spacing: 5.8px; }
}
@media (max-width: 767px) {
  .wj-story__band {
    top: 0; left: 0;
    width: 46px; height: auto; max-height: none; bottom: 20px;
    padding: 12px 0 0 12px;
  }
  .wj-story__vertical-label { font-size: 18px; letter-spacing: 5.2px; }
  .wj-story__title { font-size: 26px; letter-spacing: 1.2px; }
  .wj-story__sub { font-size: 15px; }
}

/* ---------------------------------------------------------
   5. オーバーレイが二重に効かないよう、重なり順を明示
   --------------------------------------------------------- */
/* 注意：ここに z-index を付けると .wj-wrap が新しい重なりコンテキストになり、
   その内側にある装飾ワード（Cidre / Wine）のブレンドモードが効かなくなる。
   （背景が透明な箱の中で合成されるため、色がそのまま出てしまう）
   重なり順は DOM の順序と各要素の指定で調整すること。 */
.wj-section > .wj-wrap,
.wj-story > .wj-wrap { position: relative; }

/* 装飾ワードより前面に出したい中身にだけ、個別に重なり順を与える */
.wj-taste__figure,
.wj-taste__body,
.wj-head,
.wj-tabs,
.wj-grid,
.wj-center { position: relative; z-index: 1; }
.wj-fv__slide { isolation: isolate; }

/* =========================================================
   v1.9.0 Figma指定の追い込み
   ========================================================= */

/* ---------------------------------------------------------
   1. Story：縦書きの帯（Figma 173:361）
   幅56.4 × 高さ496.5、写真の左上に食い込む位置に置く。
   --------------------------------------------------------- */
.wj-story__band {
  position: absolute;
  top: -10px;
  left: -26px;
  z-index: 2;
  width: 56.4px;
  height: auto;
  min-height: 496.5px;
  padding: 10px 0 26px 16px;
  background: linear-gradient(90deg, rgba(25, 36, 27, 0) 0%, rgba(25, 36, 27, .6) 40%);
  pointer-events: none;
}

/* ---------------------------------------------------------
   2. Taste：背面に敷く2枚目の写真
   画面の端から始まり、本編画像の手前に少し重なる。
   #E6EAD4 にオーバーレイで合成して、色を抜いた見え方にする。
   画像は「サイト画像」の「Taste — シードル／ワイン（背面の2枚目）」で設定。
   --------------------------------------------------------- */
.wj-taste__deco {
  position: absolute;
  z-index: 0;
  background-color: #e6ead4;
  overflow: hidden;
  pointer-events: none;
  /* ::before の overlay を必ずこの要素の背景色に対して合成させる（ちらつき防止） */
  isolation: isolate;
}
/* Figma準拠：#E6EAD4 の下地に写真を overlay で合成する。
   ※ ちらつき対策：.wj-taste__deco 自身に isolation:isolate を付けているため、
     ブレンドの相手は必ず「deco自身の background-color」に固定される。
     これにより .wj-reveal のフェードイン中に重なりコンテキストができても
     合成結果が変わらず、「リロード直後だけ濃い」現象が起きない。
     isolation を外すとちらつきが再発するので消さないこと。 */
.wj-taste__deco::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: var(--wj-img, none);
  background-size: cover;
  background-position: 50% 50%;
  background-repeat: no-repeat;
  opacity: 1;
  mix-blend-mode: overlay;
}
/* overlay 非対応環境向けのフォールバック（近い見え方をフィルタで再現） */
@supports not (mix-blend-mode: overlay) {
  .wj-taste__deco::before {
    mix-blend-mode: normal;
    opacity: .5;
    filter: saturate(.6) brightness(1.12);
  }
}
/* 画面の左端から始まり、右端が本編画像に70pxだけ重なる */
.wj-taste__deco--left {
  left: calc(50% - 50vw);
  right: calc(100% - 70px);
  bottom: -72px;
  height: 285px;
}
/* 反転レイアウトの行は左右を入れ替える */
.wj-taste__deco--right {
  right: calc(50% - 50vw);
  left: calc(100% - 70px);
  bottom: -56px;
  height: 268px;
}

@media (max-width: 1024px) {
  .wj-taste__deco--left  { right: calc(100% - 40px); bottom: -48px; height: 200px; }
  .wj-taste__deco--right { left: calc(100% - 40px); bottom: -40px; height: 190px; }
}

@media (max-width: 767px) {
  .wj-taste__deco { display: none; }
}

/* ---------------------------------------------------------
   3. 下線タイプのリンク（Figma 173:153「初めての方へ →」）
   --------------------------------------------------------- */
.wj-link-under {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  height: 28.3px;
  padding: 0 4px;
  border-bottom: 1px solid #d5d0bf;
  font-family: var(--wj-serif);
  font-size: 11.5px;
  font-weight: 600;
  line-height: 1.853;
  letter-spacing: 1.613px;
  text-transform: uppercase;
  color: #22241e;
  transition: border-color .3s ease, color .3s ease;
}
.wj-link-under::after {
  content: "→";
  font-weight: 700;
  font-size: 12.2px;
  letter-spacing: 1.459px;
}
.wj-link-under:hover { border-color: #22241e; }

/* ---------------------------------------------------------
   4. カテゴリなどの記号を ◆ にする
   --------------------------------------------------------- */
.wj-mark {
  display: inline-block;
  width: 11px;
  height: 11px;
  background: var(--wj-forest);
  flex: 0 0 auto;
  transform: rotate(45deg);
}

/* ---------------------------------------------------------
   5. 下層ページの大きな英字（Figma: Products）
   Cormorant Garamond Medium 202.9px / 行間230px / 字間-2.3px
   色 #DED6C4 を 40%
   --------------------------------------------------------- */
.wj-page-hero__word,
.wj-single__word,
.wj-gift-hero__word,
.wj-arch-hero__word {
  font-family: var(--wj-num);
  font-weight: 500;
  font-size: 202.9px;
  line-height: 1.133;
  letter-spacing: -2.3px;
  font-variation-settings: normal;
  color: rgba(222, 214, 196, .4);
  opacity: 1;
  mix-blend-mode: normal;
}

/* =========================================================
   v1.9.1 追加・修正
   ========================================================= */

/* ---------------------------------------------------------
   1. 「商品の選び方」カード：ホバーで背面に写真を薄く出す
   ::before を z-index:-1 に置くとカード自身の背景色に隠れてしまうため、
   通常の重なり順（0）で敷き、中身を前面に出す形にする。
   --------------------------------------------------------- */
.wj-guide__item { position: relative; overflow: hidden; }
.wj-guide__item > * { position: relative; z-index: 1; }
.wj-guide__item.wj-has-img::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background-image: var(--wj-img);
  background-size: cover;
  background-position: center;
  opacity: 0;
  transform: scale(1.06);
  transition: opacity .45s ease, transform .6s ease;
}
.wj-guide__item.wj-has-img:hover::before,
.wj-guide__item.wj-has-img:focus-within::before {
  opacity: .16;
  transform: scale(1);
}
/* カード自体には背景画像を出さない（::before で出すため） */
.wj-guide__item.wj-has-img { background-image: none !important; }

@media (hover: none) {
  .wj-guide__item.wj-has-img::before { opacity: .1; transform: none; }
}

/* ---------------------------------------------------------
   2. カテゴリタブ：6件で1行に収まるようにする
   件数が増えても折り返して等間隔に並ぶ。
   --------------------------------------------------------- */
.wj-tabs {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 29px;
  justify-content: center;
}
.wj-tab { width: auto; }

@media (max-width: 1200px) {
  .wj-tabs { grid-template-columns: repeat(4, 1fr); gap: 16px; }
}
@media (max-width: 900px) {
  .wj-tabs { grid-template-columns: repeat(3, 1fr); gap: 12px; }
}
@media (max-width: 600px) {
  .wj-tabs { grid-template-columns: repeat(2, 1fr); gap: 10px; }
  .wj-tab { height: 54px; }
  .wj-tab__ja { font-size: 14px; }
}

/* =========================================================
   v1.9.3 「WINERY JUNについて」をお手本デザインに合わせる
   ========================================================= */

/* ---------------------------------------------------------
   1. 角丸をなくす（このページのパーツはすべて直角）
   --------------------------------------------------------- */
.wj-ab-tags li,
.wj-ab-btn,
.wj-ab-commit,
.wj-ab-commit__item,
.wj-ab-mission__figure,
.wj-ab-label__figure,
.wj-ab-exp__figure,
.wj-ab-prod__media,
.wj-ab-hero__media { border-radius: 0; }

/* ---------------------------------------------------------
   2. 見出し横のダイヤ装飾を出さない
   ※ ただし「会津型 / 古代文字」の左のダイヤは出す指定に変わったため、
     .wj-ab-label__name::before はこの打ち消し対象から除外している。
     （ここに戻すとダイヤが消えるので注意）
   --------------------------------------------------------- */
.wj-ab-label__item::before,
.wj-ab-commit__title::before,
.wj-ab-label__name .wj-mark,
.wj-ab-section .wj-mark { display: none !important; }

/* ---------------------------------------------------------
   3. 画像の内側に引かれていた細い枠線を消す
   （Missionの金枠だけは「ずらし枠」として残す）
   --------------------------------------------------------- */
.wj-ab-label__figure::after,
.wj-ab-exp__figure::after,
.wj-ab-prod__media::after,
.wj-ab-hero__media::after { content: none !important; }

/* ---------------------------------------------------------
   4. Mission：画像＋金の細枠（右下にずらす）
   --------------------------------------------------------- */
.wj-ab-mission__figure { overflow: visible; }
.wj-ab-mission__figure::after {
  content: "";
  position: absolute;
  inset: 19px -19.6px -18.5px 20px;
  border: 1px solid #b4923f;
  pointer-events: none;
}

/* Missionの縦書き帯（TOPのStoryと同じ作り） */
.wj-ab-mission__band {
  position: absolute;
  top: -10px;
  left: -26px;
  z-index: 2;
  width: 56.4px;
  height: auto;
  min-height: 380px;
  padding: 10px 0 26px 16px;
  background: linear-gradient(90deg, rgba(25, 36, 27, 0) 0%, rgba(25, 36, 27, .6) 40%);
  pointer-events: none;
}
.wj-ab-mission__vertical {
  display: block;
  writing-mode: vertical-rl;
  white-space: nowrap;
  margin-block-end: -5px;
  font-family: var(--wj-serif);
  font-size: 15px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 5px;
  color: #fff;
}

/* ---------------------------------------------------------
   5. 3分割ブロックの両脇の線をなくす（中の仕切りだけ残す）
   --------------------------------------------------------- */
.wj-ab-commit {
  border: 0;
  border-top: 1px solid var(--wj-line-3);
  border-bottom: 1px solid var(--wj-line-3);
}

/* ---------------------------------------------------------
   6. ボタンは中身に合わせた幅にする（横に伸ばさない）
   --------------------------------------------------------- */
.wj-ab-btn,
.wj-ab-mission .wj-ab-btn {
  min-width: 0;
  width: auto;
  height: 52px;
  padding-inline: 34px;
  border-radius: 0;
}

/* ---------------------------------------------------------
   7. タグは角丸なし・細めの枠
   --------------------------------------------------------- */
.wj-ab-tags li {
  min-height: 34px;
  padding-inline: 14px;
  border-radius: 0;
  font-size: 12px;
}

@media (max-width: 900px) {
  .wj-ab-mission__band { left: -14px; width: 46px; padding-left: 12px; min-height: 260px; }
  .wj-ab-mission__vertical { font-size: 13px; letter-spacing: 4px; }
  .wj-ab-commit { grid-template-columns: 1fr; }
  .wj-ab-commit__item + .wj-ab-commit__item { border-left: 0; border-top: 1px solid var(--wj-line-3); }
}
@media (max-width: 640px) {
  .wj-ab-btn, .wj-ab-mission .wj-ab-btn { width: auto; min-width: 0; }
}

/* =========================================================
   v1.9.4 修正
   ========================================================= */

/* ---------------------------------------------------------
   1. ヘッダーのプルダウン
   ヘッダー文字色を継承していたため、TOPでは白文字になって読めなかった。
   色・背景・境界線を明示する。
   --------------------------------------------------------- */

/* ---------------------------------------------------------
   2. 「商品の選び方」カード：4枚目の右線が消えていた
   旧デザインの :last-child ルールが残っていたため。
   --------------------------------------------------------- */
.wj-guide__grid > .wj-guide__item:last-child {
  border-right: 1px solid #e3ddce;
  padding-right: 20px;
}
.wj-guide__grid > .wj-guide__item:first-child { padding-left: 20px; }

/* ---------------------------------------------------------
   3. 初めての方へ：FVの画像を上端まで見せる／Guideを画像の背面に
   Figma 372:7423 — Guide は Cormorant Garamond Medium 177.1px
   #DED6C4 / 焼き込み（color-burn）
   --------------------------------------------------------- */
.wj-guide-hero { padding-top: 0; }

/* 画像はパンくずの高さぶん上まで伸ばす */
.wj-guide-hero__figure {
  top: -84px;
  height: 538px;
  z-index: 1;
}

/* Guide の文字は写真より前面（z-index）に重ねて焼き込む。位置は元のまま（base側の left:22%; top:-6px;） */
.wj-guide-hero__word {
  font-family: var(--wj-num);
  font-weight: 500;
  font-size: 177.1px;
  line-height: 1.129;
  letter-spacing: 0;
  color: #ded6c4;
  mix-blend-mode: color-burn;
}
@supports not (mix-blend-mode: color-burn) {
  .wj-guide-hero__word { mix-blend-mode: normal; color: rgba(222, 214, 196, .55); }
}

/* テキストは画像より前面に */
.wj-guide-hero__body { z-index: 3; }
.wj-guide-hero .wj-breadcrumb { z-index: 4; }

@media (max-width: 1024px) {
  .wj-guide-hero__figure { top: -60px; height: 470px; }
}
@media (max-width: 767px) {
  .wj-guide-hero__figure { top: 0; height: auto; }
  .wj-guide-hero__word { mix-blend-mode: normal; color: rgba(222, 214, 196, .55); }
}

/* 取扱店の種別ラベル */
.wj-store-item__kind {
  display: block;
  margin-top: 4px;
  font-size: 10.5px;
  letter-spacing: .06em;
  color: var(--wj-muted-2);
}

/* ---------------------------------------------------------
   4. 初めての方へ：シードルの楽しみ方セクションの背景
   Figma では同じ写真を上下反転で2枚敷いている。
   ここでは1枚を繰り返して同じ見え方にする。
   --------------------------------------------------------- */
.wj-guide-section--bg {
  position: relative;
  isolation: isolate;
}
.wj-guide-section--bg::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background-image: var(--wj-cidre-bg, none);
  background-size: 100% auto;
  background-position: center top;
  /* リピートさせない（以前 repeat-y で水滴が繰り返し表示されていた） */
  background-repeat: no-repeat;
  pointer-events: none;
}
/* 中身は背景より前面に */
.wj-guide-section--bg > * { position: relative; z-index: 1; }

/* 合う料理・合うシーンの写真 */
.wj-food__figure img,
.wj-scene__figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.wj-scene__figure { min-height: 172px; }

/* =========================================================
   v1.9.6 取扱店：種別（飲食店／販売店）→ エリア の2段構成
   ========================================================= */
.wj-store-group { margin-top: 56px; }
.wj-store-group:first-of-type { margin-top: 36px; }

.wj-store-group__title {
  padding-bottom: 14px;
  border-bottom: 1px solid var(--wj-ink-2);
  font-family: var(--wj-serif);
  font-size: 22px;
  font-weight: 600;
  letter-spacing: 2px;
  color: var(--wj-ink-2);
}

.wj-store-area { margin-top: 34px; }
.wj-store-area__title {
  font-family: var(--wj-serif);
  font-size: 15px;
  font-weight: 600;
  letter-spacing: 1.6px;
  color: var(--wj-forest);
}

/* 一覧そのもの */
.wj-store-area .wj-store-list { margin-top: 14px; border-top: 1px solid var(--wj-line-2); }
.wj-store-list__head,
.wj-store-item { grid-template-columns: 1fr 260px 320px; }

.wj-store-item__items { display: flex; flex-wrap: wrap; gap: 6px; align-items: flex-start; }
.wj-store-item__tag {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding-inline: 12px;
  border: 1px solid var(--wj-line-3);
  background: #fff;
  font-size: 11.5px;
  letter-spacing: .06em;
  line-height: 1.5;
  color: var(--wj-forest);
}
.wj-store-item__note { margin-top: 4px; font-size: 12px; color: var(--wj-muted-2); }
.wj-store-item__name a { text-decoration: underline; text-underline-offset: 3px; }

@media (max-width: 1024px) {
  .wj-store-list__head,
  .wj-store-item { grid-template-columns: 1fr 200px; }
  .wj-store-list__head span:last-child,
  .wj-store-item__info { grid-column: 1 / -1; }
}
@media (max-width: 767px) {
  .wj-store-group { margin-top: 40px; }
  .wj-store-group__title { font-size: 19px; }
  .wj-store-list__head,
  .wj-store-item { display: block; }
  .wj-store-item__items { margin-top: 8px; }
  .wj-store-item__info { margin-top: 8px; }
}

/* ---------------------------------------------------------
   「美味しく飲むために」カードの背景写真
   Figma：写真を右側に敷き、左から白でフェードさせる
   --------------------------------------------------------- */
.wj-wine-card { position: relative; overflow: hidden; isolation: isolate; }
.wj-wine-card.wj-has-img::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -2;
  background-image: var(--wj-img);
  background-size: cover;
  background-position: center right;
}
.wj-wine-card.wj-has-img::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(90deg, #fff 32%, rgba(255, 255, 255, 0) 62%);
}
.wj-wine-card.wj-has-img { background-image: none !important; }

/* =========================================================
   v1.9.7 修正
   ========================================================= */

/* ---------------------------------------------------------
   1. 取扱店：種別（飲食店／販売店）を枠で囲んで区切りを明確にする
   --------------------------------------------------------- */
.wj-store-group {
  margin-top: 40px;
  padding: 30px 32px 36px;
  border: 1px solid var(--wj-line-2);
  background: #fff;
}
.wj-store-group:first-of-type { margin-top: 32px; }

.wj-store-group__title {
  display: inline-flex;
  align-items: center;
  min-height: 40px;
  margin-bottom: 6px;
  padding: 0 26px;
  border: 0;
  background: var(--wj-forest);
  font-size: 16px;
  letter-spacing: 2px;
  color: var(--wj-paper-4);
}
.wj-store-area:first-of-type { margin-top: 22px; }

@media (max-width: 767px) {
  .wj-store-group { padding: 22px 18px 26px; }
  .wj-store-group__title { font-size: 14.5px; padding-inline: 18px; min-height: 36px; }
}

/* ---------------------------------------------------------
   2. 「おすすめの飲み方」「合うシーン」のカード
   枠線をやめて影で浮かせる
   --------------------------------------------------------- */
.wj-drink-step,
.wj-scene__item {
  border: 0;
  border-radius: 0;
  background: #fff;
  box-shadow: 0 4px 7.3px rgba(0, 0, 0, .25);
}
.wj-scene__item { overflow: hidden; }

/* ---------------------------------------------------------
   3. カルーセル：無限ループ時は端で止まらないようにする
   --------------------------------------------------------- */
.wj-carousel--loop .wj-carousel__viewport { overflow: visible; }
.wj-carousel--loop .wj-carousel__track { align-items: stretch; }
.wj-carousel--loop .wj-carousel__slide { height: auto; }
.wj-carousel--loop .wj-carousel__slide > .wj-product { height: 100%; }

/* =========================================================
   v1.9.27 追加・修正
   ========================================================= */

/* ---------------------------------------------------------
   1. 期間限定ブロック（デザイン設定 → 期間限定ブロック）
   Missionと同じ「左に写真＋右にテキスト」構成。背景は薄茶色。
   --------------------------------------------------------- */
.wj-ab-limited { background: var(--wj-paper-2); color: var(--wj-ink-2); }
.wj-ab-limited__grid { display: grid; grid-template-columns: 510px 1fr; gap: 64px; align-items: center; }
.wj-ab-limited__figure {
  position: relative;
  aspect-ratio: 510 / 637;
  overflow: visible;
  background-color: var(--wj-media);
  background-image: var(--wj-img, none);
  background-size: cover;
  background-position: 50% 50%;
}
/* 金の細枠（Missionと同じ意匠） */
.wj-ab-limited__figure::after {
  content: "";
  position: absolute;
  inset: 19px -19.6px -18.5px 20px;
  border: 1px solid #b4923f;
  pointer-events: none;
}
.wj-ab-limited__band {
  position: absolute;
  top: -10px;
  left: -26px;
  z-index: 2;
  width: 56.4px;
  min-height: 380px;
  padding: 10px 0 26px 16px;
  background: linear-gradient(90deg, rgba(25, 36, 27, 0) 0%, rgba(25, 36, 27, .6) 40%);
  pointer-events: none;
}
.wj-ab-limited__vertical {
  display: block;
  writing-mode: vertical-rl;
  white-space: nowrap;
  margin-block-end: -5px;
  font-family: var(--wj-serif);
  font-size: 15px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 5px;
  color: #fff;
}
/* 薄茶背景なので、文字色は濃い方に寄せる */
.wj-ab-limited .wj-ab-head__eyebrow { color: #8a7b52; }
.wj-ab-limited .wj-ab-head__title { color: var(--wj-ink-2); }
.wj-ab-limited .wj-ab-head__text { color: #4c4738; }
.wj-ab-limited .wj-ab-tags li { border-color: var(--wj-line-3); color: #4c4738; }
.wj-ab-limited .wj-ab-btn { border-color: var(--wj-line-3); color: var(--wj-ink-2); }
.wj-ab-limited .wj-ab-btn:hover { background: var(--wj-forest); border-color: var(--wj-forest); color: var(--wj-paper-4); }

@media (max-width: 1024px) {
  .wj-ab-limited__grid { grid-template-columns: 400px 1fr; gap: 44px; }
}
@media (max-width: 767px) {
  .wj-ab-limited__grid { grid-template-columns: 1fr; gap: 36px; }
  .wj-ab-limited__figure { order: -1; aspect-ratio: 350 / 438; }
  .wj-ab-limited__figure::after { inset: 12px -12px -12px 12px; }
  .wj-ab-limited__band { left: -14px; width: 46px; padding-left: 12px; min-height: 260px; }
  .wj-ab-limited__vertical { font-size: 13px; letter-spacing: 4px; }
}

/* ---------------------------------------------------------
   2. 「喜多方の果実を、そのまま一本に。」のタグをピル型に
   （カード自体は角丸にしない）
   --------------------------------------------------------- */

/* ---------------------------------------------------------
   3. 「ラベルで彩る、喜多方への想い」小見出しの左にダイヤ
   --------------------------------------------------------- */
.wj-ab-label__name {
  display: flex;
  align-items: center;
  gap: 10px;
}
.wj-ab-label__name::before {
  content: "◆";
  flex: 0 0 auto;
  font-size: 11px;
  color: #b4923f;
}

/* ---------------------------------------------------------
   4. 「土地の物語を、味わう。」のボタンを角丸に
   --------------------------------------------------------- */
.wj-ab-cta__actions .wj-btn,
.wj-ab-cta__actions .wj-btn-line { border-radius: 999px; }

/* ---------------------------------------------------------
   5. 「シードルとは？」黒い四角枠＋左に斜めの引き出し線
   --------------------------------------------------------- */
.wj-cidre-card { position: relative; border: 1px solid #22241e; }
.wj-cidre-card::before {
  content: "";
  position: absolute;
  left: -54px;
  bottom: 42px;
  width: 62px;
  height: 1px;
  background: #22241e;
  transform: rotate(-35deg);
  transform-origin: right center;
  pointer-events: none;
}
@media (max-width: 767px) {
  /* SPは枠線なし・引き出し線なし（Figma準拠） */
  .wj-cidre-card { border: 0; }
  .wj-cidre-card::before { content: none; }
}

/* ---------------------------------------------------------
   6. 下層ページの背景英字が下で見切れるのを防ぐ
   .wj-arch-hero は overflow:hidden なので、透かし文字
   （202.9px × line-height 1.133 ≒ 230px、top:-12px）より
   枠が低いと下側が切り取られる。文字が収まる高さを確保する。
   --------------------------------------------------------- */
.wj-arch-hero { min-height: 236px; }

@media (max-width: 1024px) {
  /* 文字 140px 相当 */
  .wj-arch-hero { min-height: 176px; }
}
@media (max-width: 767px) {
  /* 文字 84px 相当 */
  .wj-arch-hero { min-height: 112px; }
}

/* =========================================================
   v1.9.33 — SP版をデザイン（スマホ版PDF）に合わせる
   ※ ここは基本的に max-width:767px の中だけで指定し、
     PC版の見た目を変えないこと。
   ========================================================= */

/* ギフトページのFVだけ背景を白に（PC・SP共通の指定） */
.wj-gift-hero { background: var(--wj-white, #fff); }

@media (max-width: 767px) {
  /* --- FV下カルーセル：中央寄せ --- */
  .wj-fv-under--carousel .wj-fv-under__list { justify-content: center; }

  /* --- 01 商品カテゴリ：横一列（はみ出す分は横スクロール） --- */
  .wj-tabs {
    display: flex;
    grid-template-columns: none;
    flex-wrap: nowrap;
    gap: 10px;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    /* 画面端まで流して、左右は本文と同じ余白から始める */
    margin-inline: calc(50% - 50vw);
    padding-inline: var(--wj-pad, 20px);
  }
  .wj-tabs::-webkit-scrollbar { display: none; }
  .wj-tabs > * { flex: 0 0 auto; }

  /* --- セクション見出しの番号（03 / 04）が下にずれる問題 ---
     .wj-head は align-items:flex-end のため、見出しが2行になると
     番号だけ下端に落ちてしまう。1行目の高さに揃える。 */
  .wj-head { align-items: flex-start; }
  .wj-head__num { margin-top: 24px; line-height: 1; }

  /* --- 03 Taste：背面の白ぶどう／葡萄の写真をSPでも出す --- */
  .wj-taste__deco { display: block; }
  .wj-taste__deco--left {
    right: auto; left: calc(50% - 50vw);
    bottom: auto; top: -24px;
    width: 128px; height: 168px;
  }
  .wj-taste__deco--right {
    left: auto; right: calc(50% - 50vw);
    bottom: -24px; top: auto;
    width: 128px; height: 168px;
  }

  /* --- 03/04 背面の英字の位置 --- */
  .wj-word--cidre { left: 0; right: auto; top: auto; bottom: -28px; }
  .wj-word--wine  { left: auto; right: 0; top: auto; bottom: -20px; }

  /* --- 04 選び方カード：タップ端末で画像を常時表示しない --- */
  .wj-guide__item.wj-has-img::before { opacity: 0 !important; }

  /* --- Story：縦書き帯つき写真の比率をPCと同じ縦長に戻す --- */
  .wj-story__figure { aspect-ratio: 530 / 662; max-height: none; }
}

/* タップ端末では、選び方カードの写真を出さない（デザイン準拠） */
@media (hover: none) {
  .wj-guide__item.wj-has-img::before { opacity: 0; transform: none; }
}

/* =========================================================
   v1.9.34 — SP版「商品を探す」ページをデザインに合わせる
   ※ 指定は max-width:767px の中だけ。PC版は変更しない。
   ========================================================= */

/* SPでだけ改行させるためのヘルパー（PCでは改行しない） */
.wj-br-sp { display: none; }

@media (max-width: 767px) {
  .wj-br-sp { display: inline; }

  /* --- 背面の英字「Products」が大きすぎるので縮める --- */
  .wj-page-hero__word { font-size: 56px; }

  /* --- ページネーションの文字を大きく --- */
  .wj-pagination__list a,
  .wj-pagination__list span { width: 42px; height: 42px; font-size: 16px; }
  .wj-pagination__list .prev,
  .wj-pagination__list .next { font-size: 16px; }
  .wj-pagination__total { font-size: 13.5px; }

  /* --- 「WINERY JUN の商品について」4項目にシャドウ --- */
  .wj-about-card {
    background: #fff;
    box-shadow: 0 2px 12px rgba(34, 36, 30, .10);
  }
}

/* =========================================================
   v1.9.35 — SP版「ギフトで選ぶ」ページをデザインに合わせる
   ※ 指定は max-width:767px の中だけ。PC版は変更しない。
   ========================================================= */
@media (max-width: 767px) {
  /* --- 背面の英字はどのページも小さめに揃える --- */
  .wj-page-hero__word,
  .wj-arch-hero__word,
  .wj-guide-hero__word,
  .wj-gift-hero__word { font-size: 56px; }
  /* 英字を小さくしたぶん、透かし用に確保していた高さも詰める */
  .wj-arch-hero { min-height: 92px; }

  /* --- ギフトFV：白地＋右下に写真をグラデーションで馴染ませる --- */
  .wj-gift-hero {
    min-height: 0;
    padding-bottom: 0;
    background: var(--wj-white, #fff);
  }
  /* 写真は右下だけに置き、上と左をぼかして白へ溶かす */
  .wj-gift-hero__media {
    inset: auto 0 0 auto;
    width: 82%;
    height: 62%;
    background-position: center bottom;
    -webkit-mask-image:
      linear-gradient(to bottom, transparent 0%, #000 34%),
      linear-gradient(to right, transparent 0%, #000 30%);
    -webkit-mask-composite: source-in;
    mask-image:
      linear-gradient(to bottom, transparent 0%, #000 34%),
      linear-gradient(to right, transparent 0%, #000 30%);
    mask-composite: intersect;
  }
  /* 全面スクリムは白地では不要 */
  .wj-gift-hero__scrim { display: none; }

  /* 英字はタイトルの右手に、写真とかぶる位置で */
  .wj-gift-hero__word {
    left: auto; right: 2%; top: 96px;
    mix-blend-mode: normal;
    opacity: .5;
  }

  .wj-gift-hero__inner { margin-top: 28px; padding-bottom: 210px; }

  /* ボタンは縦積み・左寄せ */
  .wj-gift-hero__actions {
    flex-direction: column;
    align-items: flex-start;
    flex-wrap: nowrap;
    gap: 12px;
  }
  .wj-gift-hero__actions .wj-pill { width: auto; min-width: 208px; }

  /* --- FV下のアンカーナビ：両脇の縦線を出さない --- */
  .wj-anchor-nav { border-left: 0; border-right: 0; }
  .wj-anchor-nav__item { border-left: 0; border-right: 0; }
  .wj-anchor-nav__item + .wj-anchor-nav__item { border-left: 0; }

  /* --- 「すべてのギフトを見る」は右寄せ --- */
  .wj-gift-section__head { align-items: stretch; }
  .wj-gift-section__more { align-self: flex-end; }

  /* --- 商品カルーセル：最後まで送っても右に余白が残らないよう
         画面幅いっぱいまで流す（切り取り位置を本文の端→画面の端に変える） --- */
  .wj-carousel__viewport {
    overflow: hidden;
    margin-inline: calc(50% - 50vw);
    padding-inline: var(--wj-pad, 20px);
  }
}


/* =========================================================
   v1.9.37 — 添付「デザイン スマホ版.pdf」との差分修正
   SPのみ。PCレイアウトは変更しない。
   ========================================================= */
.wj-store-item__area-pill { display: none; }

@media (max-width: 767px) {
  /* お取り扱い店：種別/地域の大枠を外し、PDF通りフラットな店舗一覧にする */
  .wj-stores .wj-arch-hero { padding-bottom: 32px; }
  .wj-stores__inner { padding-bottom: 34px; }
  .wj-store-group,
  .wj-store-group:first-of-type { margin-top: 0; padding: 0; border: 0; background: transparent; }
  .wj-store-group + .wj-store-group { margin-top: 0; }
  .wj-store-group__title,
  .wj-store-area__title { display: none; }
  .wj-store-area,
  .wj-store-area:first-of-type { margin-top: 0; }
  .wj-store-area .wj-store-list,
  .wj-store-list { margin-top: 0; border-top: 1px solid var(--wj-ink-2); }
  .wj-store-area + .wj-store-area .wj-store-list,
  .wj-store-group + .wj-store-group .wj-store-list { border-top: 0; }
  .wj-store-item { display: block; min-height: 0; padding: 20px 0 18px; border-bottom: 1px solid var(--wj-line-2); }
  .wj-store-item__name { font-size: 15px; line-height: 1.55; letter-spacing: .03em; }
  .wj-store-item__name a { text-decoration: none; }
  .wj-store-item__items { margin-top: 8px; }
  .wj-store-item__area-pill {
    display: inline-flex; align-items: center; justify-content: center;
    min-width: 48px; height: 22px; padding: 0 10px;
    border: 1px solid var(--wj-forest); border-radius: 999px;
    font-size: 10px; line-height: 1; color: var(--wj-forest); background: transparent;
  }
  .wj-store-item__tag { display: none; }
  .wj-store-item__info { margin-top: 8px; font-size: 11.5px; line-height: 1.8; }
  .wj-retail { margin-inline: calc(50% - 50vw); padding: 44px var(--wj-pad, 20px) 48px; background: var(--wj-paper-2); }
  .wj-retail__inner { max-width: none; }
  .wj-retail__cta a { width: 100%; }

}


/* =========================================================
   v1.9.38 — SPレイアウト再調整（TOP / ギフト / WINERY JUNについて / 初めての方へ）
   - 横カルーセル/横スクロールは画面幅いっぱいで見せる
   - 余白つきで中途半端に見切れる状態を解消
   - ループカルーセルの横はみ出しを防ぐ
   - ABOUTページの商品紹介ブロックの崩れを防ぐ
   ========================================================= */
@media (max-width: 767px) {
  /* 横スクロール系は本文幅ではなく画面幅いっぱいまで広げる */
  .wj-fv-under,
  .wj-bestsellers { overflow-x: clip; }

  /* TOP下バナー */
  .wj-fv-under__swiper {
    width: 100vw;
    margin-inline: calc(50% - 50vw);
    overflow: hidden;
  }
  .wj-fv-under__list { justify-content: flex-start; }
  .wj-fv-under__item { max-width: none; }
  .wj-fv-under__link {
    border-radius: 0;
  }

  /* 汎用カルーセル：両端まで広げる */
  .wj-carousel {
    width: 100vw;
    margin-inline: calc(50% - 50vw);
  }
  .wj-carousel__viewport {
    margin-inline: 0;
    padding-inline: 0;
    overflow: hidden;
  }
  .wj-carousel--loop .wj-carousel__viewport {
    overflow: hidden !important;
  }

  /* SPカルーセルは画面幅いっぱいまで使いつつ、左右20pxの余白を確保。
     次カードがしっかり見切れる1.25枚表示はJS側で指定。 */
  .wj-carousel__slide { box-sizing: border-box; }

  /* 横スクロールのタブ/チップ類も画面幅いっぱいで開始させる */
  .wj-tabs,
  .wj-chips {
    width: 100vw;
    margin-inline: calc(50% - 50vw);
    padding-inline: var(--wj-pad, 20px);
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    justify-content: flex-start;
    flex-wrap: nowrap;
    box-sizing: border-box;
  }
  .wj-tabs::-webkit-scrollbar,
  .wj-chips::-webkit-scrollbar { display: none; }
  .wj-tabs > *,
  .wj-chips > * { flex: 0 0 auto; }

  /* ギフトページ：価格帯タブは1行で流す */
  .wj-chip { white-space: nowrap; }

  /* 初めての方へ：ベストセラー帯の横はみ出し防止 */
  .wj-bestsellers { overflow: hidden; }

  /* 初めての方へ：4枚カードはPDFどおり縦1列 */
  .wj-choose-grid { grid-template-columns: 1fr; }

  /* WINERY JUNについて：CTAボタンを縦積みにして崩れを防ぐ */
  .wj-ab-cta__actions {
    flex-direction: column;
    gap: 12px;
  }
  .wj-ab-cta__btn {
    width: 100%;
    min-width: 0;
  }
}


/* =========================================================
   v1.9.41 — SP横カルーセルの見せ方を統一
   左右20pxの開始余白を残し、次カードを約20%見切れさせて
   横スワイプできることが直感的に分かる表示に統一。
   ========================================================= */
@media (max-width: 767px) {
  .wj-carousel__viewport,
  .wj-fv-under__swiper {
    overflow: hidden;
  }
}


/* =========================================================
   v1.9.42 — SP微調整（PDF差分追い込み）
   ========================================================= */
@media (max-width: 767px) {
  /* 商品カルーセル：左右に呼吸を残しつつ、次の商品が少し見える統一見せ */
  .wj-carousel { overflow: hidden; }
  .wj-carousel__viewport { margin-inline: 0; padding-inline: 0; overflow: hidden; }
  .wj-carousel__slide { width: min(278px, 76vw); }
  .wj-carousel .wj-product__body { padding: 18px 10px 0; }
  .wj-carousel .wj-product__cat { font-size: 11px; letter-spacing: .12em; }
  .wj-carousel .wj-product__title { font-size: 15px; line-height: 1.5; letter-spacing: .03em; }
  .wj-carousel .wj-product__spec { margin-top: 12px; padding-bottom: 12px; font-size: 12px; line-height: 1.62; }
  .wj-carousel .wj-product__cart { margin-top: 14px; font-size: 12.5px; }
  .wj-cat-panel + .wj-cat-panel { margin-top: 0; }

  /* 03 Taste：Cidre/Wineの位置関係をSP PDFに寄せる */
  .wj-taste__row { gap: 22px; }
  .wj-taste__row + .wj-taste__row { margin-top: 54px; }
  .wj-taste__figure { padding-left: 22px; }
  .wj-taste__row--rev .wj-taste__figure { order: -1; }
  .wj-taste__deco { display: block; }
  .wj-taste__deco--left {
    left: 0; right: auto; top: auto; bottom: -20px;
    width: 116px; height: 144px;
  }
  .wj-taste__deco--right {
    left: auto; right: 0; top: auto; bottom: -20px;
    width: 112px; height: 136px;
  }
  .wj-word--cidre { left: 30px; right: auto; top: 38px; bottom: auto; font-size: 74px; }
  .wj-word--wine  { left: auto; right: 10px; top: auto; bottom: 10px; font-size: 74px; }

  /* 04 Guide：カードの線・左余白を揃える */
  .wj-guide__grid { gap: 0; border-top: 1px solid #e3ddce; }
  .wj-guide__item { min-height: 0; padding: 24px 18px 26px 22px; border: 0; border-bottom: 1px solid #e3ddce; }
  .wj-guide__item:first-child,
  .wj-guide__item:last-child { padding-left: 18px; padding-right: 18px; }
  .wj-guide__item:last-child { border-bottom: 1px solid #e3ddce; }
  .wj-guide__num { font-size: 26px; }
  .wj-guide__title { margin-top: 16px; font-size: 15px; line-height: 1.55; }
  .wj-guide__text { margin-top: 12px; font-size: 12.5px; line-height: 1.85; }

  /* Story：縦書き帯の左余白と本文の重さを調整 */
  .wj-story__figure { padding-left: 10px; }
  .wj-story__band { left: 10px; width: 50px; padding: 12px 0 0 10px; }
  .wj-story__vertical-label { font-size: 18px; letter-spacing: 5.2px; }
  .wj-story__title { font-size: 25px; font-weight: 600; line-height: 1.48; }
  .wj-story__sub { margin-top: 18px; font-weight: 500; }
  .wj-story__text { margin-top: 18px; font-size: 13px; line-height: 1.95; }

  /* ギフトFV：右下画像の見切れを抑える */
  .wj-gift-hero__media { width: 78%; height: 54%; }
  .wj-gift-hero__inner { padding-bottom: 186px; }

  /* ギフト包装：文字の重さをPDF寄りに軽く */
  .wj-wrapping__name { margin-top: 24px; font-size: 16px; font-weight: 500; letter-spacing: .08em; }
  .wj-wrapping__sub,
  .wj-wrapping__note { font-size: 12.5px; line-height: 1.8; }
  .wj-wrapping__note { margin-top: 4px; color: #cfd4c4; }

  /* About：見出しの改行位置をSPでPDFに近づける */
  .wj-ab-head__title { line-height: 1.48; }
}

/* =========================================================
   v1.9.43 — SP版のみ PDF差分修正
   ※ PC版には一切影響させない
   ========================================================= */
@media (max-width: 767px) {
  /* ---------- 共通：商品カルーセル ----------
     左は本文と同じ20px位置から開始し、右側だけ画面端まで流す */
  .wj-carousel {
    width: calc(100% + var(--wj-pad, 20px));
    margin-left: 0;
    margin-right: calc(var(--wj-pad, 20px) * -1);
    overflow: hidden;
  }
  .wj-carousel__viewport {
    width: 100%;
    margin: 0;
    padding: 0;
    overflow: hidden;
  }
  .wj-carousel__slide { width: min(258px, 72vw); }

  /* ======================================================
     TOP
     ====================================================== */
  /* カテゴリータブ：左20pxは必ず残し、右方向にスクロール */
  body.home .wj-tabs {
    width: calc(100% + var(--wj-pad, 20px));
    margin-left: 0;
    margin-right: calc(var(--wj-pad, 20px) * -1);
    padding-left: 0;
    padding-right: var(--wj-pad, 20px);
    gap: 10px;
  }
  body.home .wj-tab { flex: 0 0 auto; }

  /* 商品カテゴリ / ギフトはPDFどおり4商品を2列で表示 */
  body.home #collections .wj-grid,
  body.home #gift .wj-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 28px 14px;
  }
  body.home #collections .wj-grid + .wj-center,
  body.home #gift .wj-grid + .wj-center { margin-top: 42px; }

  /* 03 Cidre / Wine：2枚目画像を主画像の下へ少しずらして重ねる */
  body.home #taste .wj-taste__row { gap: 26px; }
  body.home #taste .wj-taste__figure {
    width: calc(100% - 20px);
    padding: 0;
    margin-left: 20px;
  }
  body.home #taste .wj-taste__row--rev .wj-taste__figure {
    width: calc(100% - 20px);
    margin-left: 0;
    margin-right: 20px;
    padding: 0;
  }
  body.home #taste .wj-taste__deco {
    display: block;
    top: auto;
    z-index: 0;
    height: 116px;
  }
  body.home #taste .wj-taste__deco--left {
    left: 0;
    right: auto;
    bottom: -34px;
    width: calc(100% - 20px);
  }
  body.home #taste .wj-taste__deco--right {
    right: 0;
    left: auto;
    bottom: -34px;
    width: calc(100% - 20px);
  }
  body.home #taste .wj-taste__figure { z-index: 1; }
  body.home #taste .wj-taste__body { position: relative; z-index: 2; }

  /* Cidre は見出しの背面左側、Wine は本文背面右下 */
  body.home #taste .wj-word--cidre {
    left: -14px;
    right: auto;
    top: -106px;
    bottom: auto;
    z-index: 0;
    font-size: 86px;
  }
  body.home #taste .wj-word--wine {
    left: auto;
    right: -8px;
    top: auto;
    bottom: -16px;
    z-index: 0;
    font-size: 86px;
  }

  /* TOP 商品の選び方：PDFの2×2カード */
  body.home #guide .wj-guide__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    border-top: 0;
  }
  body.home #guide .wj-guide__item,
  body.home #guide .wj-guide__item:first-child,
  body.home #guide .wj-guide__item:last-child {
    min-height: 238px;
    padding: 20px 16px 22px;
    border: 1px solid #e3ddce;
  }
  body.home #guide .wj-guide__num { font-size: 28px; }
  body.home #guide .wj-guide__title {
    margin-top: 18px;
    font-size: 14.5px;
    line-height: 1.55;
  }
  body.home #guide .wj-guide__text {
    margin-top: 16px;
    font-size: 11.5px;
    line-height: 1.82;
  }

  /* Story：縦書きをPDFサイズへ */
  body.home .wj-story__vertical-label {
    font-size: 16px;
    line-height: 1;
    letter-spacing: 4.5px;
  }

  /* ======================================================
     ギフトで選ぶ
     ====================================================== */
  /* FV右下画像：中央を見せ、縦に伸ばしすぎない */
  .wj-gift-hero__media {
    width: 76%;
    height: 47%;
    background-position: center center;
  }
  .wj-gift-hero__inner { padding-bottom: 174px; }

  /* 「もっとギフトを見る」：全幅ではなくPDF程度の横幅 */
  .wj-carousel__foot { padding-right: var(--wj-pad, 20px); }
  .wj-carousel__more {
    width: calc(100% - 20px);
    max-width: 350px;
    min-width: 0;
    margin-inline: auto;
  }

  /* 包装3項目：1枚＋次項目が見える横カルーセル風 */
  .wj-wrapping__grid {
    display: flex;
    gap: 0;
    width: calc(100% + var(--wj-pad, 20px));
    margin-right: calc(var(--wj-pad, 20px) * -1);
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x proximity;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }
  .wj-wrapping__grid::-webkit-scrollbar { display: none; }
  .wj-wrapping__item {
    flex: 0 0 min(330px, 82vw);
    padding: 0 28px 8px;
    scroll-snap-align: start;
  }
  .wj-wrapping__item + .wj-wrapping__item {
    border-top: 0;
    border-left: 1px solid rgba(255,255,255,.28);
    padding-top: 0;
  }

  /* ======================================================
     WINERY JUNについて
     ====================================================== */
  .wj-ab-history__mark,
  .wj-ab-history__mark::after { border-radius: 50%; }
  .wj-ab-cta__btn { border-radius: 999px; }

  /* ======================================================
     初めての方へ
     ====================================================== */
  /* FV下4ボタン：白 → hoverでベージュ */
  .wj-guide-nav { background: transparent; }
  .wj-guide-nav__item {
    background: #fff;
    transition: background .25s ease;
  }
  .wj-guide-nav__item:hover,
  .wj-guide-nav__item:focus-visible { background: #e2dbc8; }

  /* Guide文字：画像より後ろ、CTA直下の右側へ */
  .wj-guide-hero__word {
    left: auto;
    right: 12px;
    top: auto;
    bottom: -16px;
    z-index: 0;
    font-size: 82px;
    color: rgba(222,214,196,.6);
    mix-blend-mode: normal;
  }
  .wj-guide-hero__figure { z-index: 1; }
  .wj-guide-hero__body { z-index: 2; }

  /* 商品の選び方：見出しを一段大きく */
  .wj-choose-cell__title {
    font-size: 18px;
    line-height: 1.55;
  }

  /* シードル3特徴：中央揃え、SPでは強制改行を外す */
  .wj-cidre-point { text-align: center; }
  .wj-cidre-point__text { text-align: center; }
  .wj-cidre-point__text br { display: none; }

  /* 夏/冬おすすめシーン：PDFどおり左テキスト＋右画像 */
  .wj-scene { gap: 22px; }
  .wj-scene__item {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 140px;
    min-height: 176px;
    gap: 0;
    background: #fff;
    overflow: hidden;
  }
  .wj-scene__body {
    position: relative;
    z-index: 2;
    padding: 24px 16px 20px 20px;
    background: #fff;
  }
  .wj-scene__figure {
    position: relative;
    z-index: 1;
    width: 140px;
    height: 100%;
    aspect-ratio: auto;
  }
  .wj-scene__figure img { width: 100%; height: 100%; object-fit: cover; }
  .wj-scene__title { font-size: 15.5px; }
  .wj-scene__text { font-size: 12px; line-height: 1.75; }
  .wj-scene__tags { gap: 6px; margin-top: 14px; }
  .wj-scene__tags li { font-size: 10px; padding: 4px 10px; }

  /* 「合う料理」右側にも横線 */
  .wj-pairing__food .wj-pairing__label::after {
    content: "";
    flex: 1 1 auto;
    height: 1px;
    background: var(--wj-line-3);
  }

  /* 選び方の流れ：数字は黒 */
  .wj-wine-flow__mark { color: var(--wj-ink-2); }
}


/* =========================================================
   v1.9.44 — SP版のみ追加調整
   ※ PC版には一切影響させない
   ========================================================= */
@media (max-width: 767px) {
  /* ======================================================
     TOP
     ====================================================== */
  /* FV直下バナーカルーセルは画面端まで。商品カルーセルの20px余白は維持 */
  body.home .wj-fv-under__swiper {
    width: 100vw;
    margin-inline: calc(50% - 50vw);
    padding-inline: 0;
  }

  /* 01 / 02 の番号を見出し上端へ揃える */
  body.home #collections .wj-head__num,
  body.home #gift .wj-head__num {
    margin-top: 2px;
    align-self: flex-start;
  }

  /* カテゴリボタン列：画面左右30pxの呼吸を確保 */
  body.home #collections .wj-tabs {
    width: calc(100% - 20px);
    margin-left: 10px;
    margin-right: 10px;
    padding-left: 0;
    padding-right: 0;
    box-sizing: border-box;
  }

  /* Cidre / Wine：副画像は主画像の下側に小さく重ねる */
  body.home #taste .wj-taste__row {
    padding-bottom: 54px;
  }
  body.home #taste .wj-taste__deco {
    z-index: 2;
    width: 112px;
    height: 132px;
    top: calc((100vw - 60px) * .702 - 42px);
    bottom: auto;
  }
  body.home #taste .wj-taste__deco--left {
    left: 0;
    right: auto;
  }
  body.home #taste .wj-taste__deco--right {
    left: auto;
    right: 0;
  }
  body.home #taste .wj-taste__figure {
    position: relative;
    z-index: 1;
  }
  body.home #taste .wj-word--cidre {
    left: 4px;
    right: auto;
    top: calc((100vw - 60px) * .702 - 4px);
    bottom: auto;
    z-index: 0;
    font-size: 78px;
  }

  /* Story縦書きはさらに一段小さく */
  body.home .wj-story__vertical-label {
    font-size: 14px;
    letter-spacing: 4px;
  }

  /* Storyの4導線：hover/focus時のみ文字に下線 */
  body.home .wj-story__list a:hover,
  body.home .wj-story__list a:focus-visible {
    text-decoration: underline;
    text-underline-offset: 4px;
  }

  /* ======================================================
     初めての方へ
     ====================================================== */
  /* FV下4ボタン：右線を全て消し、1つ目だけ左線を残す */
  .wj-guide-nav__item,
  .wj-guide-nav__item + .wj-guide-nav__item {
    border-left: 0;
    border-right: 0;
  }
  .wj-guide-nav__item:first-child {
    border-left: 1px solid var(--wj-line-3);
  }

  /* 商品の選び方1つ目の指定改行 */
  .wj-choose-cell__title { line-height: 1.55; }

  /* 辛口の3特徴：各要素内を完全に中央揃え */
  .wj-cidre-points {
    align-items: stretch;
  }
  .wj-cidre-point {
    width: 100%;
    padding-left: 0;
    padding-right: 0;
    text-align: center;
  }
  .wj-cidre-point__title,
  .wj-cidre-point__text {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
  }
  .wj-cidre-point__text br { display: none; }

  /* おすすめの飲み方〜合う料理：背景だけ画面端まで広げる */
  .wj-cidre-drops {
    width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    padding-left: var(--wj-pad, 20px);
    padding-right: var(--wj-pad, 20px);
    box-sizing: border-box;
    background-size: cover;
    background-position: top center;
  }

  /* 合う料理：左テキストを画像の上下中央に固定 */
  .wj-food__item {
    align-items: stretch;
  }
  .wj-food__body {
    min-height: 100%;
    padding-top: 0;
    padding-bottom: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-self: stretch;
  }
}


/* =========================================================
   v1.9.45 — 商品一覧 / レビュー / SPカルーセル追い込み
   ========================================================= */

/* 商品一覧：PDF準拠のページネーション（全デバイス） */
.wj-pager a.page-numbers,
.wj-pager span.page-numbers,
.wj-pager .wj-pager__num {
  font-family: "Noto Serif JP", var(--wj-serif), serif;
  font-size: 18px;
  border: 1px solid var(--wj-line-3, #cbc4b2);
  border-radius: 0;
}
.wj-pager span.page-numbers.dots { border: 0; }

/* 商品一覧下の4項目：PDFのベージュ背景 */
.wj-about-card { background: #F4F1E8; }

/* レビュー英字ラベル：PDFの細いトラッキングに統一 */
.wj-reviews__eyebrow,
.wj-related__eyebrow,
.wj-about-products__eyebrow {
  font-family: var(--wj-display);
  font-size: 11px;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: .28em;
}

@media (max-width: 767px) {
  /* 商品カルーセル：表示領域は画面幅いっぱい、初期位置だけ左20px */
  .wj-carousel {
    width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    overflow: hidden;
  }
  .wj-carousel__viewport { width: 100%; overflow: hidden; }
  .wj-carousel__slide { width: min(214px, 57vw); }

  /* 商品カード自体も約3/4サイズへ */
  .wj-carousel .wj-product__body { padding: 14px 8px 0; }
  .wj-carousel .wj-product__cat { font-size: 10px; }
  .wj-carousel .wj-product__title { font-size: 13.5px; }
  .wj-carousel .wj-product__spec { font-size: 11px; }
  .wj-carousel .wj-product__cart { font-size: 11.5px; }
  .wj-carousel .wj-product__price { min-width: 92px; height: 36px; padding-inline: 10px; }
  .wj-carousel .wj-product__price .amount { font-size: 14px; }
  .wj-carousel .wj-product__price .tax { font-size: 10px; }

  /* ページネーションはSPでも視認性を確保 */
  .wj-pager a.page-numbers,
  .wj-pager span.page-numbers,
  .wj-pager .wj-pager__num {
    min-width: 38px;
    height: 38px;
    font-size: 18px;
  }

  /* 商品詳細：価格下レビュー行 */
  .wj-single__rating {
    margin-top: 14px;
    padding-bottom: 14px;
    gap: 8px;
  }
  .wj-single__score { font-size: 14px; }
  .wj-single__review-link { font-size: 11.5px; padding: 3px 8px; }

  /* レビュー投稿ボタンを購入ボタンと同じトーンに */
  .wj-review-form__submit {
    width: 100%;
    height: 50px;
    border-radius: 52px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
    font-family: var(--wj-serif);
    font-size: 15px;
    font-weight: 400;
    letter-spacing: 2.1px;
  }
  .wj-review-form__submit::after {
    content: "";
    width: 24px;
    height: 1px;
    background: currentColor;
  }

  /* 各ページの大きな英字装飾をPDFのSP比率に調整 */
  .wj-page-hero__word { font-size: 72px; top: -2px; }
  .wj-single__word { font-size: 68px; left: -4px; top: -4px; }
  .wj-arch-hero__word { font-size: 72px; top: -6px; }
  .wj-guide-hero__word { font-size: 78px; }
  .wj-ab-word { font-size: 78px; }

  /* ギフトFV：Gift英字と右下画像 */
  .wj-gift-hero__word {
    font-size: 82px;
    right: 3%;
    top: 78px;
  }
  .wj-gift-hero__media {
    width: 78%;
    height: 54%;
    bottom: 18px;
    background-position: center center;
  }
}


/* =========================================================
   v1.9.46 — 追加SP調整 + 商品一覧共通調整
   ========================================================= */

/* 商品一覧ページ：PC/SPともページネーションはPDF同様に常時枠線 */
.wj-pager a.page-numbers,
.wj-pager span.page-numbers,
.wj-pager .wj-pager__num {
  font-family: "Noto Serif JP", var(--wj-serif), serif;
  font-size: 18px;
  border: 1px solid var(--wj-line-3, #cbc4b2);
  border-radius: 0;
}
.wj-pager span.page-numbers.dots { border: 0; }

/* WINERY JUNの商品について：4カードすべて指定ベージュ */
.wj-about-products .wj-about-card { background: #F4F1E8; }

/* レビュー投稿ボタン：商品購入ボタンと同じ明朝・トーン */
.wj-review-form__submit {
  border-radius: 52px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 24px;
  font-family: var(--wj-serif);
  font-size: 15px;
  font-weight: 400;
  letter-spacing: 2.1px;
}
.wj-review-form__submit::after {
  content: "";
  width: 24px;
  height: 1px;
  background: currentColor;
}

/* SP専用の一覧に戻るボタンはPCでは出さない */
.wj-art__back--sp { display: none; }

@media (max-width: 767px) {
  /* 記事詳細：横長バナー直下に一覧へ戻る。従来の下部ボタンは非表示 */
  .wj-art__article > .wj-art__back--sp {
    display: block;
    margin-top: 22px;
    margin-bottom: 0;
  }
  .wj-art__article > .wj-art__back--sp a {
    width: 100%;
    height: 48px;
    font-size: 13px;
  }
  .wj-art__layout + .wj-wrap-2 .wj-art__back,
  .wj-wrap-2 > .wj-art__back:not(.wj-art__back--sp) { display: none; }

  /* TOP：カテゴリボタン列を画面幅いっぱい、内側左右30px */
  body.home #collections .wj-tabs {
    width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    padding-left: 30px;
    padding-right: 30px;
    box-sizing: border-box;
  }

  /* TOP Taste：副画像を主画像より下層にし、画面端から入り込ませる */
  body.home #taste .wj-taste__row { padding-bottom: 48px; }
  body.home #taste .wj-taste__figure { position: relative; z-index: 2; }
  body.home #taste .wj-taste__deco {
    z-index: 1;
    top: auto;
    bottom: 0;
    width: 148px;
    height: 116px;
  }
  body.home #taste .wj-taste__deco--left {
    left: calc(50% - 50vw);
    right: auto;
  }
  body.home #taste .wj-taste__deco--right {
    right: calc(50% - 50vw);
    left: auto;
  }
  body.home #taste .wj-word--cidre {
    z-index: 0;
    left: 12px;
    top: auto;
    bottom: 26px;
    font-size: 82px;
  }

  /* Story縦書き：はみ出さないサイズへ */
  body.home .wj-story__vertical-label {
    font-size: 12px;
    letter-spacing: 3.2px;
    line-height: 1;
  }

  /* Story 4導線：通常は区切り線なし、hover/focus時のみ区切り線を表示 */
  body.home .wj-story__list a {
    text-decoration: none !important;
    border-bottom-color: transparent;
    transition: border-color .2s ease;
  }
  body.home .wj-story__list a:hover,
  body.home .wj-story__list a:focus-visible {
    text-decoration: none !important;
    border-bottom-color: rgba(255,255,255,.36);
  }

  /* 各下層FVの英字装飾：PDFの存在感に合わせて拡大 */
  .wj-page-hero__word { font-size: 104px; top: -10px; }
  .wj-arch-hero__word { font-size: 94px; top: -12px; }
  .wj-gift-hero__word { font-size: 96px; }
  .wj-guide-hero__word { font-size: 108px; }

  /* 初めての方へ：右上画像を画面端へ密着 */
  .wj-guide-hero__figure {
    right: calc(var(--wj-pad, 20px) * -1);
    top: -46px;
  }
  /* Guide英字は「商品を見る」ボタン下に薄く敷き、画像より背面 */
  .wj-guide-hero__word {
    left: 34%;
    right: auto;
    top: auto;
    bottom: -8px;
    z-index: 0;
    color: rgba(222,214,196,.55);
    mix-blend-mode: normal;
  }
  .wj-guide-hero__figure { z-index: 1; }
  .wj-guide-hero__body { z-index: 2; }

  /* FV下4ボタン：左右線なし、上下の区切り線だけ */
  .wj-guide-nav { border: 0; }
  .wj-guide-nav__item,
  .wj-guide-nav__item:first-child,
  .wj-guide-nav__item + .wj-guide-nav__item {
    border-left: 0 !important;
    border-right: 0 !important;
    border-top: 0;
    border-bottom: 1px solid var(--wj-line-3);
  }
  .wj-guide-nav__item:first-child { border-top: 1px solid var(--wj-line-3); }

  /* シードル背景：合う料理下の余白まで背景画像/背景色を継続 */
  #cidre.wj-guide-section { padding-bottom: 0; }
  #cidre .wj-cidre-drops {
    padding-bottom: 68px;
    margin-bottom: 0;
    background-color: var(--wj-paper, #f4f1e8);
    background-size: cover;
    background-position: top center;
  }
  #wine.wj-guide-section { margin-top: 0; }

  /* 商品一覧ページネーション：SPでも十分大きく */
  .wj-pager a.page-numbers,
  .wj-pager span.page-numbers,
  .wj-pager .wj-pager__num {
    min-width: 40px;
    height: 40px;
    font-size: 18px;
  }
}


/* =========================================================
   v1.9.47 — SP横スクロール領域の開始位置を統一
   表示領域は画面幅いっぱい、初期位置のみ左20px空ける。
   ========================================================= */
@media (max-width: 767px) {
  /* Swiper系：viewport自体は100vw。先頭20pxはJSのslidesOffsetBeforeで確保 */
  .wj-carousel,
  .wj-fv-under__swiper {
    width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    box-sizing: border-box;
    overflow: hidden;
  }

  /* ネイティブ横スクロール系：価格帯ボタンと同じ考え方 */
  .wj-tabs,
  .wj-chips,
  .wj-cat-chips {
    width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    padding-left: 20px;
    padding-right: 20px;
    box-sizing: border-box;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-padding-left: 20px;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }
  .wj-tabs::-webkit-scrollbar,
  .wj-chips::-webkit-scrollbar,
  .wj-cat-chips::-webkit-scrollbar { display: none; }

  /* TOPカテゴリも30px指定を上書きして20pxに統一 */
  body.home #collections .wj-tabs {
    width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    padding-left: 20px;
    padding-right: 20px;
  }
}

/* =========================================================
   v1.9.48 — 追加微調整（TOP / 初めての方へ / 記事詳細 / 下層FV / 法務ページ）
   ========================================================= */

/* ---------- 下層ページFV：英字と見出しの位置関係をPDF寄りに整理 ---------- */
.wj-page-hero,
.wj-arch-hero,
.wj-guide-hero {
  overflow: hidden;
}
.wj-page-hero__inner,
.wj-arch-hero__inner {
  position: relative;
}
.wj-page-hero__word {
  right: 0;
  top: 6px;
  line-height: .84;
}
.wj-arch-hero__word {
  top: 2px;
  line-height: .88;
}
.wj-page-hero__title,
.wj-arch-hero__title {
  position: relative;
  z-index: 1;
}

/* ---------- TOP Story：縦書きのサイズをさらに抑える ---------- */
body.home .wj-story__vertical-in {
  font-size: 21px;
  letter-spacing: 5.5px;
}

/* ---------- 記事詳細：サイド見出し / 戻るボタン ---------- */
.wj-sec-heading--en {
  font-size: 18px;
  letter-spacing: .08em;
}

/* ---------- ハンバーガーメニュー：マイページ / カートをより目立たせる ---------- */
.wj-drawer__foot {
  gap: 16px;
}
.wj-drawer__foot a:first-child {
  width: 100%;
  color: rgba(230, 227, 216, .82);
  font-size: 14px;
}
.wj-drawer__foot a:nth-child(2),
.wj-drawer__foot a:nth-child(3) {
  position: relative;
  flex: 1 1 calc(50% - 8px);
  min-height: 72px;
  padding: 0 20px;
  border: 1px solid rgba(255,255,255,.92);
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-size: 15px;
  letter-spacing: .08em;
  color: #fff;
  background: rgba(255,255,255,.02);
}
.wj-drawer__foot a:nth-child(2):hover,
.wj-drawer__foot a:nth-child(3):hover {
  background: rgba(255,255,255,.08);
}

/* ---------- ご利用ガイド：流れ / 支払い ---------- */
.wj-flow__step {
  background: #FBF9F2;
}
.wj-flow__num {
  color: #22241e;
}
.wj-pay-method__title {
  font-size: 17px;
}
.wj-pay-method__text {
  font-size: 14px;
  line-height: 1.9;
}

/* ---------- 法務ページ（Privacy / Legal / Terms） ---------- */
.wj-legal {
  padding-bottom: 96px;
}
.wj-legal .wj-arch-hero {
  padding-bottom: 52px;
}
.wj-legal__inner {
  max-width: 920px;
  margin-inline: auto;
}
.wj-legal__lead {
  margin: 0 auto 40px;
  max-width: 860px;
  font-size: 14px;
  line-height: 2;
  color: #45412f;
}
.wj-legal__body {
  padding: 38px 42px 44px;
  border: 1px solid var(--wj-line-2);
  background: #fff;
}
.wj-legal__body > * + * {
  margin-top: 14px;
}
.wj-legal__body h2 {
  margin-top: 40px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--wj-line-2);
  font-size: 22px;
  font-weight: 600;
  letter-spacing: .04em;
  color: var(--wj-ink-2);
}
.wj-legal__body h2:first-child {
  margin-top: 0;
}
.wj-legal__body p,
.wj-legal__body li {
  font-size: 14px;
  line-height: 2;
  color: #45412f;
}
.wj-legal__body ul,
.wj-legal__body ol {
  margin-top: 12px;
  padding-left: 1.4em;
  list-style: none;
}
.wj-legal__body ul li,
.wj-legal__body ol li {
  position: relative;
  padding-left: .2em;
}
.wj-legal__body ul li::before {
  content: "◆";
  position: absolute;
  left: -1.25em;
  top: 0;
  color: #b4923f;
  font-size: 10px;
  line-height: 2.8;
}
.wj-legal__body--table h2 {
  margin-top: 28px;
}
.wj-legal__updated {
  margin-top: 24px;
  text-align: right;
  font-size: 12px;
  color: var(--wj-muted-2);
}

@media (max-width: 1024px) {
  .wj-page-hero__word {
    font-size: 154px;
  }
  .wj-arch-hero__word {
    font-size: 132px;
  }
  .wj-legal__body {
    padding: 32px 28px 36px;
  }
}

@media (max-width: 767px) {
  /* ---------- TOP Taste：2枚目画像を主画像の下に重ねる / 端に密着 ---------- */
  body.home #taste .wj-taste__row {
    gap: 24px;
    padding-bottom: 64px;
  }
  body.home #taste .wj-taste__figure {
    position: relative;
    z-index: 2;
    width: calc(100% - 20px);
    margin-left: 20px;
  }
  body.home #taste .wj-taste__row--rev .wj-taste__figure {
    margin-left: 0;
    margin-right: 20px;
  }
  body.home #taste .wj-taste__deco {
    display: block;
    z-index: 1;
    top: auto;
    bottom: -30px;
    width: min(54vw, 208px);
    height: 118px;
  }
  body.home #taste .wj-taste__deco--left {
    left: calc(50% - 50vw);
    right: auto;
  }
  body.home #taste .wj-taste__deco--right {
    right: calc(50% - 50vw);
    left: auto;
  }
  body.home #taste .wj-word--cidre {
    left: 8px;
    right: auto;
    top: -60px;
    bottom: auto;
    z-index: 0;
    font-size: 72px;
  }
  body.home #taste .wj-word--wine {
    left: auto;
    right: 4px;
    top: auto;
    bottom: 6px;
    z-index: 0;
    font-size: 72px;
  }

  /* ---------- TOP Story：縦書きが画像高より小さく収まるように ---------- */
  body.home .wj-story__vertical-in {
    font-size: 16px;
    letter-spacing: 4px;
  }

  /* ---------- 初めての方へ：合う料理の中央寄せ / 画像サイズアップ ---------- */
  .wj-food__item {
    grid-template-columns: 1fr 144px;
    gap: 16px;
    min-height: 156px;
  }
  .wj-food__body {
    text-align: center;
    align-items: center;
  }
  .wj-food__title,
  .wj-food__text {
    text-align: center;
  }
  .wj-food__figure {
    aspect-ratio: 144 / 156;
  }

  /* ---------- 記事詳細：横長バナー下の一覧へ戻るボタンを確実に表示 ---------- */
  .wj-art__article > .wj-art__back--sp {
    display: block;
    margin-top: 20px;
    margin-bottom: 0;
    clear: both;
  }
  .wj-art__article > .wj-art__back--sp a {
    display: inline-flex;
    width: 100%;
    min-width: 0;
    height: 50px;
    font-size: 13px;
    letter-spacing: .1em;
  }

  /* ---------- ハンバーガーメニュー：下部ボタン強調 ---------- */
  .wj-drawer__foot {
    padding-top: 34px;
    gap: 14px;
  }
  .wj-drawer__foot a:nth-child(2),
  .wj-drawer__foot a:nth-child(3) {
    min-height: 68px;
    font-size: 14px;
  }

  /* ---------- 下層ページFV：SPもPDF寄りの重なりに ---------- */
  .wj-page-hero__word {
    right: 0;
    top: 2px;
    font-size: 92px;
    line-height: .86;
  }
  .wj-arch-hero__word {
    top: 0;
    font-size: 88px;
    line-height: .88;
  }
  .wj-page-hero__title,
  .wj-arch-hero__title {
    margin-top: 16px;
  }

  /* ---------- ご利用ガイド：SP ---------- */
  .wj-flow__step {
    padding: 28px 20px;
    background: #FBF9F2;
  }
  .wj-pay-method__title {
    font-size: 16px;
  }
  .wj-pay-method__text {
    font-size: 13.5px;
  }

  /* ---------- 法務ページ：SP ---------- */
  .wj-legal {
    padding-bottom: 64px;
  }
  .wj-legal .wj-arch-hero {
    padding-bottom: 34px;
  }
  .wj-legal__lead {
    margin-bottom: 28px;
    font-size: 13.5px;
  }
  .wj-legal__body {
    padding: 24px 20px 28px;
  }
  .wj-legal__body h2 {
    margin-top: 30px;
    padding-bottom: 12px;
    font-size: 18px;
  }
  .wj-legal__body p,
  .wj-legal__body li {
    font-size: 13.5px;
  }
}

/* ---------- 記事詳細：バナー直下の一覧へ戻るボタンを正規位置に ---------- */
.wj-art__article > .wj-art__back--inbody {
  display: block;
  margin-top: 22px;
}
.wj-art__article > .wj-art__back--inbody a {
  min-width: 260px;
}
.wj-art__layout + .wj-wrap-2 .wj-art__back {
  display: none;
}

@media (max-width: 767px) {
  .wj-art__article > .wj-art__back--inbody a {
    display: inline-flex;
    width: 100%;
    min-width: 0;
  }
}

/* =========================================================
   v1.9.49 — FV / legal / article / drawer follow-up
   ========================================================= */

/* --- 下層FV：PCは英字の下側に見出しが少し重なる構成 --- */
@media (min-width: 768px) {
  .wj-arch-hero {
    min-height: 260px;
    padding-top: 28px;
    padding-bottom: 50px;
  }
  .wj-arch-hero__word {
    left: 50%;
    right: auto;
    top: 8px;
    transform: translateX(-50%);
    font-size: 168px;
    line-height: .9;
    opacity: .34;
  }
  .wj-arch-hero__inner {
    padding-top: 100px;
  }
  .wj-arch-hero__title {
    margin-top: 0;
    font-size: 42px;
    line-height: 1.4;
  }
  .wj-arch-hero__text {
    margin-top: 24px;
  }

  .wj-page-hero {
    min-height: 300px;
    padding-top: 30px;
    padding-bottom: 54px;
  }
  .wj-page-hero__word {
    left: 50%;
    right: auto;
    top: 4px;
    transform: translateX(-50%);
    font-size: 182px;
    line-height: .88;
    opacity: .34;
  }
  .wj-page-hero__inner {
    padding-top: 88px;
  }
  .wj-page-hero__title {
    margin-top: 8px;
  }
}

/* --- 法務3ページ：PDFの素朴なベージュ基調へ --- */
.wj-legal {
  background: var(--wj-paper, #F4F1E8);
}
.wj-legal__inner {
  max-width: 900px;
  margin-inline: auto;
}
.wj-legal__lead {
  max-width: none;
  margin: 0 0 52px;
  font-size: 14px;
  line-height: 2.15;
}
.wj-legal__body {
  border: 0;
  background: transparent;
  padding: 0;
}
.wj-legal__body--numbered {
  counter-reset: wj-legal-sec;
}
.wj-legal__body--numbered h2 {
  counter-increment: wj-legal-sec;
  display: flex;
  align-items: baseline;
  gap: 12px;
  margin-top: 48px;
  padding-bottom: 12px;
  border-bottom: 1px solid #cbc4b2;
  font-size: 17px;
  font-weight: 600;
  letter-spacing: .04em;
}
.wj-legal__body--numbered h2::before {
  content: counter(wj-legal-sec, decimal-leading-zero);
  flex: 0 0 auto;
  font-family: var(--wj-num);
  font-size: 21px;
  font-weight: 500;
  color: #87935c;
  letter-spacing: 0;
}
.wj-legal__body--numbered h2:first-child {
  margin-top: 0;
}
.wj-legal__body--numbered p,
.wj-legal__body--numbered li {
  font-size: 14px;
  line-height: 2.1;
}
.wj-legal__body--numbered ul {
  margin: 14px 0 0;
  padding: 0;
}
.wj-legal__body--numbered ul li {
  padding-left: 18px;
}
.wj-legal__body--numbered ul li::before {
  left: 0;
  top: .65em;
  width: 5px;
  height: 5px;
  content: "";
  background: #b4923f;
  transform: rotate(45deg);
  line-height: 1;
}

/* 特商法：ラベル白 / 内容ベージュの縦カード */
.wj-legal__body--table {
  display: grid;
  grid-template-columns: 1fr;
  border-top: 1px solid #cbc4b2;
}
.wj-legal__body--table h2,
.wj-legal__body--table p,
.wj-legal__body--table ul {
  margin: 0;
}
.wj-legal__body--table h2 {
  padding: 15px 18px;
  border: 1px solid #cbc4b2;
  border-top: 0;
  background: #fff;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: .02em;
}
.wj-legal__body--table h2::before {
  content: none;
}
.wj-legal__body--table h2 + p,
.wj-legal__body--table h2 + ul {
  padding: 18px 18px 22px;
  border-left: 1px solid #cbc4b2;
  border-right: 1px solid #cbc4b2;
  border-bottom: 1px solid #cbc4b2;
  background: var(--wj-paper, #F4F1E8);
  font-size: 14px;
  line-height: 2;
}
.wj-legal__body--table p + ul,
.wj-legal__body--table ul + p,
.wj-legal__body--table p + p {
  margin-top: -1px;
  padding: 0 18px 20px;
  border-left: 1px solid #cbc4b2;
  border-right: 1px solid #cbc4b2;
  background: var(--wj-paper, #F4F1E8);
  font-size: 14px;
  line-height: 2;
}
.wj-legal__updated {
  margin-top: 30px;
  text-align: center;
  font-size: 12px;
}

@media (max-width: 767px) {
  /* ハンバーガー下部はマイページとカートのみ横並び */
  .wj-drawer__foot {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    width: 100%;
  }
  .wj-drawer__foot a,
  .wj-drawer__foot a:first-child,
  .wj-drawer__foot a:nth-child(2),
  .wj-drawer__foot a:nth-child(3) {
    width: auto;
    min-width: 0;
    min-height: 62px;
    padding: 0 14px;
    border: 1px solid rgba(255,255,255,.92);
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    color: #fff;
    text-align: center;
  }

  /* 初めての方へ：Guideを60px上へ。画像の背面に置く */
  .wj-guide-hero__word {
    bottom: 52px !important;
    z-index: 0;
  }
  .wj-guide-hero__figure { z-index: 1; }
  .wj-guide-hero__body { z-index: 2; }

  /* 合う料理：画像縦幅を少し詰める */
  .wj-food__item {
    grid-template-columns: 1fr 136px;
    min-height: 138px;
  }
  .wj-food__figure {
    height: 126px;
    aspect-ratio: auto;
    align-self: center;
  }

  /* 記事詳細：バナー直下の戻るボタンを強制表示 */
  .wj-art__article > .wj-art__back--inbody {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: relative;
    z-index: 20;
    clear: both;
    width: 100%;
    margin: 22px 0 0 !important;
  }
  .wj-art__article > .wj-art__back--inbody a {
    display: flex !important;
    width: 100% !important;
    height: 50px;
    min-width: 0 !important;
    align-items: center;
    justify-content: center;
  }

  /* 下層FV：英字 → 見出しの縦並び。SPは重ねすぎない */
  .wj-arch-hero {
    min-height: 178px;
    padding-top: 0;
    padding-bottom: 30px;
  }
  .wj-arch-hero__word {
    left: 50%;
    right: auto;
    top: 4px;
    transform: translateX(-50%);
    font-size: 76px;
    line-height: .95;
    opacity: .35;
  }
  .wj-arch-hero__inner {
    padding-top: 68px;
  }
  .wj-arch-hero__title {
    margin-top: 0;
    font-size: 29px;
    line-height: 1.45;
  }
  .wj-arch-hero__text {
    margin-top: 16px;
    font-size: 13px;
  }

  .wj-page-hero {
    min-height: 220px;
    padding-top: 0;
    padding-bottom: 32px;
  }
  .wj-page-hero__word {
    left: 50%;
    right: auto;
    top: 2px;
    transform: translateX(-50%);
    font-size: 86px;
    line-height: .9;
    opacity: .35;
  }
  .wj-page-hero__inner {
    padding-top: 66px;
  }
  .wj-page-hero__title {
    margin-top: 8px;
    font-size: 30px;
  }

  /* 法務ページ：PDFのSPレイアウト */
  .wj-legal .wj-arch-hero {
    min-height: 160px;
    padding-bottom: 24px;
  }
  .wj-legal .wj-arch-hero__word {
    top: 4px;
    font-size: 58px;
    white-space: nowrap;
  }
  .wj-legal .wj-arch-hero__inner {
    padding-top: 66px;
  }
  .wj-legal .wj-arch-hero__title {
    font-size: 25px;
    line-height: 1.55;
    letter-spacing: .05em;
  }
  .wj-legal__lead {
    margin-bottom: 38px;
    font-size: 13px;
    line-height: 2.15;
  }
  .wj-legal__body--numbered h2 {
    margin-top: 38px;
    gap: 8px;
    font-size: 14px;
    padding-bottom: 10px;
  }
  .wj-legal__body--numbered h2::before {
    font-size: 18px;
  }
  .wj-legal__body--numbered p,
  .wj-legal__body--numbered li {
    font-size: 12.5px;
    line-height: 2.05;
  }
  .wj-legal__body--table h2 {
    padding: 13px 10px;
    font-size: 12.5px;
  }
  .wj-legal__body--table h2 + p,
  .wj-legal__body--table h2 + ul {
    padding: 15px 10px 18px;
    font-size: 12.5px;
  }
  .wj-legal__body--table p + ul,
  .wj-legal__body--table ul + p,
  .wj-legal__body--table p + p {
    padding-left: 10px;
    padding-right: 10px;
    font-size: 12.5px;
  }
}
@media (max-width: 767px) {
  .wj-legal .wj-arch-hero__title {
    max-width: 300px;
    margin-inline: auto;
  }
}

/* =========================================================
   v1.9.50 — 記事詳細 / TOP / ドロワー / 自動目次 調整
   ========================================================= */

/* 自動目次：H2を親、H3を下層として表示 */
.wj-art__body .wj-toc {
  margin: 34px 0 42px;
  padding: 24px 28px 26px;
  border: 0;
  border-left: 4px solid #d77b72;
  background:
    repeating-linear-gradient(-45deg, rgba(215,123,114,.07) 0, rgba(215,123,114,.07) 7px, rgba(255,255,255,.58) 7px, rgba(255,255,255,.58) 14px),
    #fff9f6;
}
.wj-toc__head {
  display: flex;
  align-items: center;
  gap: 7px;
  margin-bottom: 12px;
  color: #d66f6a;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 15px;
  line-height: 1.5;
}
.wj-toc__icon { font-size: 13px; }
.wj-art__body .wj-toc__list {
  margin: 0;
  padding: 0;
  list-style: none;
  counter-reset: none;
}
.wj-art__body .wj-toc__item {
  margin: 0;
  padding: 0;
  counter-increment: none;
  line-height: 1.7;
}
.wj-art__body .wj-toc__item + .wj-toc__item { margin-top: 4px; }
.wj-art__body .wj-toc__item a {
  display: flex;
  gap: 7px;
  align-items: baseline;
  color: #4d4740;
  text-decoration: none;
}
.wj-art__body .wj-toc__item a::before { content: none; }
.wj-toc__item--h2 {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 14px;
  font-weight: 600;
}
.wj-toc__item--h3 {
  padding-left: 26px !important;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 12.5px;
  font-weight: 400;
}
.wj-toc__num { min-width: 18px; }
.wj-toc__bullet { min-width: 12px; font-size: 10px; }

/* TOP Storyの4導線：区切り線は通常消し、hover/focus時だけ表示（PC/SP共通） */
body.home .wj-story__list a {
  border-bottom-color: transparent;
}
body.home .wj-story__list a:hover,
body.home .wj-story__list a:focus-visible {
  border-bottom-color: var(--wj-gold);
}

/* SP用副画像はPCでは出さない */
.wj-taste__deco--sp { display: none; }

@media (max-width: 767px) {
  /* ハンバーガー：マイページ/カートを商品メニューより上、完全均等2分割 */
  .wj-drawer__foot {
    order: 0;
    margin-top: 8px;
    margin-bottom: 22px;
    padding-top: 0;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    width: 100%;
  }
  .wj-drawer__foot a,
  .wj-drawer__foot a:first-child,
  .wj-drawer__foot a:nth-child(2),
  .wj-drawer__foot a:nth-child(3) {
    width: 100%;
    min-width: 0;
    min-height: 58px;
    margin: 0;
    padding: 0 8px;
    border: 1px solid rgba(255,255,255,.9);
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 13px;
    letter-spacing: .06em;
    background: transparent;
  }
  .wj-drawer__nav { order: 1; }

  /* TOPカテゴリボタン：スクロール領域は全幅、各ボタン自体に左右30px */
  body.home #collections .wj-tabs {
    width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    padding-left: 20px;
    padding-right: 20px;
    gap: 10px;
  }
  body.home #collections .wj-tab {
    width: auto;
    min-width: max-content;
    padding-left: 30px;
    padding-right: 30px;
  }

  /* Taste副画像：主画像の下に重ね、画面端へ密着 */
  body.home #taste .wj-taste__deco--pc { display: none !important; }
  body.home #taste .wj-taste__deco--sp {
    display: block !important;
    position: absolute;
    z-index: 1;
    top: auto;
    bottom: -34px;
    width: min(50vw, 190px);
    height: 112px;
  }
  body.home #taste .wj-taste__img {
    position: relative;
    z-index: 2;
  }
  body.home #taste .wj-taste__figure { overflow: visible; }
  body.home #taste .wj-taste__figure .wj-taste__deco--left {
    left: calc((var(--wj-pad, 24px) + 20px) * -1);
    right: auto;
  }
  body.home #taste .wj-taste__row--rev .wj-taste__figure .wj-taste__deco--right {
    right: calc((var(--wj-pad, 24px) + 20px) * -1);
    left: auto;
  }
  body.home #taste .wj-taste__row { padding-bottom: 46px; }

  /* Story縦書き：半透明帯を文字の高さに合わせる */
  body.home .wj-story__band {
    width: 42px;
    height: auto;
    min-height: 0;
    padding: 10px 5px 14px 8px;
    background: rgba(25,36,27,.58);
  }
  body.home .wj-story__vertical-in {
    font-size: 15px;
    letter-spacing: 3.4px;
    line-height: 1;
  }

  /* 記事詳細：本文→バナー→一覧戻る→関連記事→サイドバー→カテゴリ */
  .wj-art__article > .wj-art__back--inbody {
    margin-top: 28px;
    margin-bottom: 0;
    position: relative;
    z-index: 2;
  }
  .wj-art-banner + .wj-art__back--inbody { margin-top: 28px; }
  .wj-art-related--sp {
    display: block;
    margin-top: 46px;
    padding-bottom: 4px;
  }
  .wj-art-related--sp .wj-sec-heading { font-size: 17px; }
  .wj-art-related--sp .wj-blog-grid,
  .wj-art-related--sp .wj-art-related__grid {
    display: flex;
    grid-template-columns: none;
    gap: 16px;
    width: 100vw;
    margin-left: calc(50% - 50vw);
    padding-left: 20px;
    padding-right: 20px;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x proximity;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }
  .wj-art-related--sp .wj-blog-grid::-webkit-scrollbar,
  .wj-art-related--sp .wj-art-related__grid::-webkit-scrollbar { display: none; }
  .wj-art-related--sp .wj-blog-card,
  .wj-art-related--sp .wj-post-card {
    flex: 0 0 230px;
    min-width: 230px;
    scroll-snap-align: start;
  }
  /* 下部のPC用関連記事はSPでは重複させない */
  .wj-wrap-2 > .wj-art-related:not(.wj-art-related--sp) { display: none; }
  .wj-art__side {
    margin-top: 46px;
  }
  .wj-art-after .wj-cat-chips,
  .wj-art > .wj-wrap-2 > .wj-cat-chips {
    margin-top: 46px;
  }

  /* 自動目次SP */
  .wj-art__body .wj-toc {
    margin: 28px 0 34px;
    padding: 20px 18px 22px;
  }
  .wj-toc__item--h2 { font-size: 13.5px; }
  .wj-toc__item--h3 { padding-left: 22px !important; font-size: 12px; }
}

@media (min-width: 768px) {
  /* SP用関連記事はPCでは非表示 */
  .wj-art-related--sp { display: none; }
}

/* =========================================================
   v1.9.51 — 目次 / 記事詳細 / 会社概要 / 特商法 微調整
   ========================================================= */

/* ---------- 自動目次：シンプルなアコーディオンデザイン ---------- */
.wj-art__body .wj-toc {
  margin: 32px 0 36px;
  border: 1px solid #46543f;
  background: transparent;
  overflow: hidden;
}
.wj-toc__summary {
  position: relative;
  padding: 18px 24px;
  font-family: var(--wj-serif);
  font-size: 18px;
  font-weight: 500;
  letter-spacing: .08em;
  color: var(--wj-ink-2);
  cursor: pointer;
  list-style: none;
  background: transparent;
}
.wj-toc__summary::-webkit-details-marker { display: none; }
.wj-toc__summary::after {
  content: "";
  position: absolute;
  right: 22px;
  top: 50%;
  width: 8px;
  height: 8px;
  margin-top: -6px;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: rotate(45deg);
  transition: transform .25s ease, margin-top .25s ease;
}
.wj-toc[open] .wj-toc__summary {
  border-bottom: 1px solid #46543f;
}
.wj-toc[open] .wj-toc__summary::after {
  margin-top: -2px;
  transform: rotate(225deg);
}
.wj-toc__body {
  padding: 18px 22px 18px;
}
.wj-art__body .wj-toc__list {
  margin: 0;
  padding: 0;
  list-style: none;
}
.wj-art__body .wj-toc__item {
  margin: 0;
  line-height: 1.9;
}
.wj-art__body .wj-toc__item + .wj-toc__item {
  margin-top: 6px;
}
.wj-art__body .wj-toc__item a {
  display: flex;
  align-items: flex-start;
  gap: 6px;
  color: var(--wj-ink-2);
  font-family: var(--wj-serif);
  text-decoration: none;
}
.wj-art__body .wj-toc__item a:hover {
  color: var(--wj-forest);
  text-decoration: none;
}
.wj-toc__item--h2 {
  font-size: 16px;
}
.wj-toc__item--h3 {
  padding-left: 24px;
  font-size: 14px;
  opacity: .92;
}
.wj-toc__num,
.wj-toc__bullet {
  flex: 0 0 auto;
  min-width: 1.6em;
}
.wj-toc__bullet {
  font-size: 10px;
  transform: translateY(.55em);
}
.wj-toc__text {
  flex: 1 1 auto;
}

/* ---------- 記事詳細：一覧に戻るボタンをシンプルに ---------- */
.wj-art__back {
  margin-top: 28px;
  margin-bottom: 0;
  text-align: center;
}
.wj-art__back a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  min-width: 320px;
  min-height: 62px;
  padding: 0 30px;
  border: 1px solid #46543f;
  border-radius: 6px;
  background: transparent;
  color: var(--wj-ink-2);
  font-family: var(--wj-serif);
  font-size: 16px;
  font-weight: 500;
  letter-spacing: .1em;
  transition: background .25s ease, color .25s ease, border-color .25s ease;
}
.wj-art__back a::after {
  content: "›";
  font-size: 18px;
  line-height: 1;
}
.wj-art__back a:hover {
  background: #f4f1e8;
  color: var(--wj-ink-2);
  border-color: #46543f;
}
.wj-art__article > .wj-art__back--inbody {
  position: static;
  z-index: auto;
  margin-top: 22px;
}
.wj-art-banner + .wj-art__back--inbody {
  margin-top: 22px;
}
.wj-art-banner + .wj-art__back--inbody a {
  position: relative;
}

/* ---------- 記事詳細：関連記事カード ---------- */
.wj-art-related--sp .wj-blog-card,
.wj-art-related--sp .wj-post-card {
  padding: 12px;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 8px 24px rgba(33, 37, 28, .08);
}
.wj-art-related--sp .wj-blog-card__media,
.wj-art-related--sp .wj-post-card__media {
  border-radius: 12px;
  overflow: hidden;
}
.wj-art-related--sp .wj-blog-card__title,
.wj-art-related--sp .wj-post-card__title {
  margin-top: 14px;
  font-size: 15px;
  line-height: 1.75;
}
.wj-art-related--sp .wj-blog-card__meta {
  margin-top: 10px;
}
.wj-art-related--sp .wj-blog-card__more {
  margin-top: 12px;
  padding-top: 0;
  font-size: 12px;
}
.wj-art-related--sp .wj-post-card__date,
.wj-art-related--sp .wj-blog-card__date {
  font-size: 12px;
}
.wj-art-related--sp .wj-post-card__body {
  display: block;
}

/* ---------- 会社概要：SPでも左ラベル / 右本文 ---------- */
@media (max-width: 767px) {
  .wj-company-table {
    margin-top: 26px;
  }
  .wj-company-table__row {
    grid-template-columns: 96px 1fr;
    align-items: start;
    gap: 0 14px;
    padding: 18px 0;
  }
  .wj-company-table__key,
  .wj-company-table__val {
    padding: 0;
  }
  .wj-company-table__key {
    font-size: 13.5px;
    line-height: 1.8;
  }
  .wj-company-table__val {
    font-size: 13.5px;
    line-height: 1.85;
  }
}

/* ---------- 特定商取引法：左見出し / 右本文の表レイアウト ---------- */
.wj-legal-table {
  margin-top: 34px;
  border-top: 1px solid var(--wj-line-2);
}
.wj-legal-table__row {
  display: grid;
  grid-template-columns: 240px 1fr;
  gap: 0 24px;
  align-items: start;
  padding: 24px 0;
  border-bottom: 1px solid var(--wj-line-2);
}
.wj-legal-table__key {
  padding-left: 4px;
  font-family: var(--wj-serif);
  font-size: 15px;
  font-weight: 600;
  line-height: 1.8;
  color: var(--wj-ink-2);
}
.wj-legal-table__val {
  font-size: 14px;
  line-height: 2;
  color: #3f3b2d;
}
.wj-legal-table__val > :first-child { margin-top: 0; }
.wj-legal-table__val > :last-child { margin-bottom: 0; }
.wj-legal-table__val p,
.wj-legal-table__val ul {
  margin: 0 0 12px;
}
.wj-legal-table__val ul {
  padding-left: 1.4em;
}
@media (max-width: 767px) {
  .wj-art__body .wj-toc {
    margin: 26px 0 32px;
  }
  .wj-toc__summary {
    padding: 15px 18px;
    font-size: 16px;
  }
  .wj-toc__body {
    padding: 14px 18px 16px;
  }
  .wj-toc__item--h2 {
    font-size: 14.5px;
  }
  .wj-toc__item--h3 {
    padding-left: 18px;
    font-size: 12.5px;
  }
  .wj-art__back a {
    min-width: 0;
    width: 100%;
    min-height: 58px;
    font-size: 15px;
  }
  .wj-legal-table {
    margin-top: 24px;
  }
  .wj-legal-table__row {
    grid-template-columns: 1fr;
    gap: 6px;
    padding: 18px 0;
  }
  .wj-legal-table__key {
    font-size: 13.5px;
  }
  .wj-legal-table__val {
    font-size: 13.5px;
  }
}

/* =========================================================
   v1.9.52 — SP崩れ修正 / 記事バナー / Checkout / Qty / TOP
   ========================================================= */

/* 記事画像バナー：旧absolute指定を完全に解除し、後続要素を必ず下へ流す */
.wj-art-banner--image,
.wj-art-banner--image img {
  position: static !important;
  inset: auto !important;
}
.wj-art-banner--image {
  display: block;
  margin: 40px 0 0 !important;
  width: 100%;
  height: auto;
  min-height: 0;
  overflow: hidden;
}
.wj-art-banner--image img {
  width: 100%;
  height: auto;
}
.wj-art-banner--image + .wj-art__back--inbody {
  margin-top: 26px !important;
  clear: both;
}

@media (max-width: 767px) {
  /* ページ全体の横はみ出しを禁止。横スクロールは関連記事の内部だけ */
  html,
  body.single-blog,
  body.single-news {
    max-width: 100%;
    overflow-x: hidden !important;
  }
  body.single-blog .wj-main,
  body.single-news .wj-main,
  body.single-blog .wj-art,
  body.single-news .wj-art,
  body.single-blog .wj-art__layout,
  body.single-news .wj-art__layout,
  body.single-blog .wj-art__content,
  body.single-news .wj-art__content,
  body.single-blog .wj-art__article,
  body.single-news .wj-art__article {
    min-width: 0;
    max-width: 100%;
  }
  .wj-art-related--sp {
    max-width: 100%;
    overflow: visible;
  }
  .wj-art-related--sp .wj-blog-grid,
  .wj-art-related--sp .wj-art-related__grid {
    width: 100vw;
    max-width: 100vw;
    box-sizing: border-box;
    margin-left: calc(50% - 50vw);
    margin-right: 0;
    padding-left: 20px;
    padding-right: 20px;
    overflow-x: auto;
    overflow-y: hidden;
    overscroll-behavior-x: contain;
  }

  /* 一覧に戻る：バナーの“下”の独立レイアウトにする */
  .wj-art__article > .wj-art__back--inbody {
    display: block;
    position: static !important;
    margin: 26px 0 0 !important;
    padding: 0;
    transform: none !important;
  }
  .wj-art__article > .wj-art__back--inbody a {
    position: static !important;
    width: 100%;
    min-height: 54px;
  }

  /* 目次：閉じている時の縦幅をコンパクトに */
  .wj-toc__summary {
    min-height: 0;
    padding-top: 11px;
    padding-bottom: 11px;
  }
  .wj-toc__summary::after { right: 18px; }

  /* 決済ページ：1カラム化した際にgrid-column:span 2が暗黙列を作る崩れを止める */
  .wj-checkout__inner {
    width: calc(100% - 32px);
    max-width: 100%;
  }
  .wj-fieldset {
    padding: 32px 20px 30px;
  }
  .wj-fields {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    width: 100%;
    gap: 18px;
  }
  .wj-fields .form-row,
  .wj-fields .form-row-first,
  .wj-fields .form-row-last {
    grid-column: 1 / -1 !important;
    float: none !important;
    width: 100% !important;
    min-width: 0;
  }
  .wj-fields label {
    width: 100%;
    flex-wrap: nowrap;
  }
  .wj-fields input[type="text"],
  .wj-fields input[type="tel"],
  .wj-fields input[type="email"],
  .wj-fields input[type="number"],
  .wj-fields input[type="password"],
  .wj-fields textarea,
  .wj-fields select,
  .wj-fields .select2-container,
  .wj-fields .select2-container .select2-selection--single {
    width: 100% !important;
    max-width: 100%;
    box-sizing: border-box;
  }

  /* ハンバーガー：マイページ / カートを常に1:1横並び */
  .wj-drawer__foot {
    display: grid !important;
    grid-template-columns: minmax(0,1fr) minmax(0,1fr) !important;
    gap: 12px !important;
    width: 100%;
  }
  .wj-drawer__foot > a,
  .wj-drawer__foot > a:first-child,
  .wj-drawer__foot > a:nth-child(2),
  .wj-drawer__foot > a:nth-child(3) {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    min-height: 58px;
    padding: 0 8px !important;
    margin: 0 !important;
    box-sizing: border-box;
  }

  /* TOP FV直下：画像同士の隙間・左右オフセットなし */
  body.home .wj-fv-under__swiper {
    width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
  }
  body.home .wj-fv-under__list { gap: 0 !important; }
  body.home .wj-fv-under__item { margin-right: 0 !important; }
  body.home .wj-fv-under__link { border-radius: 0; }

  /* TOP Taste：副画像は位置を維持したまま大きく */
  body.home #taste .wj-taste__deco--sp {
    width: min(74vw, 290px) !important;
    height: 190px !important;
    bottom: -82px !important;
  }
  body.home #taste .wj-taste__row {
    padding-bottom: 98px !important;
  }

  /* Story縦書き帯：画像左上に揃え、文字量に合う細い帯に */
  body.home .wj-story__band {
    top: 0 !important;
    left: 0 !important;
    width: 32px !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 8px 3px 10px 5px !important;
    box-sizing: border-box;
    background: rgba(25,36,27,.58) !important;
  }
  body.home .wj-story__vertical-in {
    font-size: 13px !important;
    letter-spacing: 3px !important;
    line-height: 1 !important;
  }

  /* 初めての方へ：おすすめの飲み方の上を広げる */
  .wj-guide-head--gap {
    margin-top: 76px !important;
  }

  /* 商品詳細：数量の− / 数字 / ＋を固定3分割にして＋の横伸びを防ぐ */
  .wj-single .wj-qty {
    display: grid !important;
    grid-template-columns: 40px 48px 40px !important;
    width: 130px !important;
    height: 48px !important;
    align-items: stretch;
    box-sizing: border-box;
  }
  .wj-single .wj-qty__btn {
    width: 40px !important;
    min-width: 40px !important;
    max-width: 40px !important;
    height: 46px !important;
    padding: 0 !important;
    box-sizing: border-box;
  }
  .wj-single .wj-qty .quantity {
    width: 48px !important;
    min-width: 48px !important;
    max-width: 48px !important;
    height: 46px !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  .wj-single .wj-qty .quantity input,
  .wj-single .wj-qty input.qty {
    width: 48px !important;
    min-width: 48px !important;
    max-width: 48px !important;
    height: 46px !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box;
  }
}


/* =========================================================
   v1.9.53 — SP固定ヘッダー / 関連記事余白 / 数量 / 目次 / タグ 微調整
   ========================================================= */
@media (max-width: 767px) {
  .wj-header,
  .wj-header--solid {
    position: fixed !important;
    top: 0 !important;
    left: 0;
    right: 0;
    width: 100%;
    z-index: 1000;
  }
  .wj-header--solid ~ .wj-main {
    padding-top: 67px;
  }

  body.single-blog .wj-art-related--sp,
  body.single-news .wj-art-related--sp {
    width: 100%;
    max-width: 100%;
    overflow: visible;
  }
  body.single-blog .wj-art-related--sp .wj-blog-grid,
  body.single-blog .wj-art-related--sp .wj-art-related__grid,
  body.single-news .wj-art-related--sp .wj-blog-grid,
  body.single-news .wj-art-related--sp .wj-art-related__grid {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: 0 !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
    box-sizing: border-box;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scroll-padding-left: 20px;
    overscroll-behavior-x: contain;
  }

  .wj-drawer__foot {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    gap: 12px !important;
    width: 100%;
  }
  .wj-drawer__foot > a {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    box-sizing: border-box;
  }
  .wj-drawer__foot-icon {
    width: 22px;
    height: 22px;
    flex: 0 0 22px;
  }

  body.home #taste .wj-taste__row--rev .wj-taste__body {
    position: relative;
    z-index: 5 !important;
  }
  body.home #taste .wj-taste__row--rev .wj-taste__figure {
    position: relative;
    z-index: 2 !important;
  }
  body.home #taste .wj-taste__row--rev .wj-taste__deco--sp {
    z-index: 1 !important;
  }

  body.home .wj-story__band {
    top: 0 !important;
    bottom: auto !important;
    left: 0 !important;
    width: fit-content !important;
    height: fit-content !important;
    min-height: 0 !important;
    max-height: none !important;
    padding: 8px 7px 10px 7px !important;
    display: inline-block !important;
    background: rgba(25,36,27,.58) !important;
  }
  body.home .wj-story__vertical-label,
  body.home .wj-story__vertical-in {
    width: fit-content !important;
    height: fit-content !important;
    min-height: 0 !important;
  }
  body.home .wj-story__vertical-in {
    margin: 0 !important;
    font-size: 13px !important;
    line-height: 1 !important;
    letter-spacing: 3px !important;
  }

  .woocommerce-cart .wj-qty,
  .wj-cart .wj-qty {
    display: grid !important;
    grid-template-columns: 36px 42px 36px !important;
    width: 116px !important;
    min-width: 116px !important;
    max-width: 116px !important;
    height: 42px !important;
    align-items: stretch !important;
    border: 1px solid var(--wj-ink-2) !important;
    box-sizing: border-box !important;
  }
  .woocommerce-cart .wj-qty__btn,
  .wj-cart .wj-qty__btn {
    width: 36px !important;
    min-width: 36px !important;
    max-width: 36px !important;
    height: 40px !important;
    padding: 0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    display: grid !important;
    place-items: center !important;
  }
  .woocommerce-cart .wj-qty .quantity,
  .wj-cart .wj-qty .quantity {
    width: 42px !important;
    min-width: 42px !important;
    max-width: 42px !important;
    height: 40px !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  .woocommerce-cart .wj-qty input.qty,
  .wj-cart .wj-qty input.qty,
  .woocommerce-cart .wj-qty .quantity input,
  .wj-cart .wj-qty .quantity input {
    width: 42px !important;
    min-width: 42px !important;
    max-width: 42px !important;
    height: 40px !important;
    margin: 0 !important;
    padding: 0 !important;
    border-top: 0 !important;
    border-bottom: 0 !important;
    box-sizing: border-box !important;
    text-align: center !important;
  }
  .wj-cart__cell--qty {
    align-items: center !important;
  }

  .wj-toc:not([open]) .wj-toc__summary {
    min-height: 0 !important;
    padding: 7px 18px !important;
    line-height: 1.45 !important;
  }
  .wj-toc:not([open]) .wj-toc__summary::after {
    right: 18px;
  }
}

.wj-art__tags a,
.wj-post-card__tags a,
.wj-blog-card__tags a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
  box-sizing: border-box;
}

@media (max-width: 767px) {
  .wj-art__tags a {
    min-width: 64px;
    height: 24px;
    padding: 1px 12px 0 !important;
  }
}

/* =========================================================
   v1.9.55 — PC指定 / 共通リンク・フォーム・サイドバナー調整
   ========================================================= */

/* 記事詳細サイドバー：指定画像をPC/SP共通で鮮明表示 */
.wj-side-banner--fixed {
  aspect-ratio: 568 / 376;
  border-radius: 0;
  background: none;
}
.wj-side-banner--fixed img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 1;
}

/* WINERY JUNについて：歩みのポチを丸に、CTAを角丸に（PC/SP共通） */
.wj-ab-history__mark,
.wj-ab-history__mark::after {
  border-radius: 50% !important;
}
.wj-ab-cta__btn {
  border-radius: 999px !important;
}

/* 初めての方へ：PCも白背景、hover時のみベージュ */
.wj-guide-nav__item {
  background: #fff;
  transition: background .25s ease;
}
.wj-guide-nav__item:hover,
.wj-guide-nav__item:focus-visible {
  background: #e2dbc8;
}

/* 選び方の流れ：数字を黒へ（PC/SP共通） */
.wj-wine-flow__mark {
  color: var(--wj-ink-2) !important;
}

/* 問い合わせフォーム送信結果 */
.wj-notice--success {
  background: rgba(116,133,74,.08);
}

/* Google Map */
.wj-access__map iframe {
  width: 100%;
  height: 100%;
}

/* =========================================================
   v1.9.56 — PC版PDF差分 / PC・SP共通指定
   ========================================================= */

/* TOP「Gift」透かし：#33402F / 100% / Screen */
.wj-word--gift {
  color: #33402f !important;
  opacity: 1 !important;
  mix-blend-mode: screen !important;
}

/* Gift一覧 / Cidre一覧 / Wine一覧：初めての方へと同じ下線リンクの見せ方 */
body.home #gift .wj-link-under,
body.home #taste .wj-taste__link {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
  height: 28.3px;
  padding: 0 4px;
  border: 0;
  border-bottom: 1px solid #d5d0bf;
  border-radius: 0;
  background: transparent;
  font-family: var(--wj-serif);
  font-size: 11.5px;
  font-weight: 600;
  line-height: 1.853;
  letter-spacing: 1.613px;
  color: #22241e;
  text-transform: none;
}
body.home #taste .wj-taste__link:hover,
body.home #gift .wj-link-under:hover {
  color: #22241e;
  border-bottom-color: #22241e;
  background: transparent;
}

/* ギフト包装：添付アイコンをそのまま使用 */
.wj-wrapping__icon img {
  width: 52px;
  height: 52px;
  object-fit: contain;
}

/* 下層ページの透かし英字：基本は #DED6C4 / 40% */
.wj-page-hero__word,
.wj-arch-hero__word {
  color: #ded6c4 !important;
  opacity: .4 !important;
}

@media (min-width: 768px) {
  /* 商品一覧 Products：PDFのように見出しの背後右側へ */
  body.woocommerce-shop .wj-page-hero__word,
  body.post-type-archive-product .wj-page-hero__word {
    right: 6.5vw !important;
    left: auto !important;
    top: 8px !important;
    font-size: 203px !important;
    line-height: .9 !important;
    transform: none !important;
  }

  /* 商品一覧 左フィルターを追従 */
  .wj-shop__layout > .wj-filter {
    position: sticky;
    top: 105px;
    align-self: start;
    max-height: calc(100vh - 125px);
    overflow-y: auto;
    overscroll-behavior: contain;
  }

  /* ギフトFV：#DED6C4 / 暗さをプラス38% */
  .wj-gift-hero__word {
    color: #ded6c4 !important;
    opacity: .38 !important;
    mix-blend-mode: multiply !important;
  }

  /* ギフトFV下アンカーナビ：左右の縦線を消す */
  .wj-anchor-nav {
    border-left: 0 !important;
    border-right: 0 !important;
  }

  /* Wrapping透かし：PDFの右側配置へ */
  .wj-wrapping__word {
    left: auto !important;
    right: -18px !important;
    top: 24px !important;
    transform: none !important;
    font-size: 170px !important;
    text-align: right;
  }

  /* 初めての方へ Guide：#DED6C4 100% / Color Burn、少し右へ */
  .wj-guide-hero__word {
    left: auto !important;
    right: 3.5vw !important;
    top: 18px !important;
    bottom: auto !important;
    color: #ded6c4 !important;
    opacity: 1 !important;
    mix-blend-mode: color-burn !important;
    transform: none !important;
  }

  /* 初めての方へ FV下4ボタン：左右端の縦線を消す */
  .wj-guide-nav__item:first-child {
    border-left: 0 !important;
  }
  .wj-guide-nav__item:last-child {
    border-right: 0 !important;
  }

  /* ABOUT Mission / Experience の透かし位置 */
  .wj-ab-mission .wj-ab-word {
    left: auto !important;
    right: -26px !important;
    top: auto !important;
    bottom: -30px !important;
    transform: none !important;
  }
  .wj-ab-exp .wj-ab-word,
  .wj-ab-section.wj-ab-exp > .wj-ab-word {
    left: auto !important;
    right: -24px !important;
    top: 12px !important;
    transform: none !important;
  }

  /* 記事詳細：関連記事見出しを中央寄せ */
  body.single-blog .wj-art-related:not(.wj-art-related--sp) .wj-sec-heading,
  body.single-news .wj-art-related:not(.wj-art-related--sp) .wj-sec-heading {
    justify-content: center;
    text-align: center;
  }
}


/* =========================================================
   v1.9.57 — Guide位置 / 問い合わせ運用調整
   ========================================================= */
@media (min-width: 768px) {
  .wj-guide-hero__word {
    left: 31% !important;
    right: auto !important;
    top: -2px !important;
    bottom: auto !important;
    font-size: 177px !important;
    line-height: 1.13 !important;
    transform: none !important;
  }
}


/* =========================================================
   v1.9.58 — WooCommerce実チェックアウト連動
   ========================================================= */
.wj-checkout--woocommerce .woocommerce {
  width: 100%;
}
.wj-checkout--woocommerce form.checkout {
  display: grid;
  gap: 44px;
}
.wj-checkout--woocommerce .col2-set {
  display: block;
  width: 100%;
}
.wj-checkout--woocommerce .col-1,
.wj-checkout--woocommerce .col-2 {
  float: none !important;
  width: 100% !important;
}
.wj-checkout--woocommerce .woocommerce-billing-fields,
.wj-checkout--woocommerce .woocommerce-shipping-fields,
.wj-checkout--woocommerce .woocommerce-additional-fields,
.wj-checkout--woocommerce #order_review,
.wj-checkout--woocommerce #payment {
  padding: 40px 44px 42px;
  border: 1px solid var(--wj-line-3);
  background: transparent;
}
.wj-checkout--woocommerce .woocommerce-billing-fields > h3,
.wj-checkout--woocommerce .woocommerce-shipping-fields > h3,
.wj-checkout--woocommerce #order_review_heading {
  margin: 0 0 32px;
  text-align: center;
  font-family: var(--wj-serif);
  font-size: 20px;
  font-weight: 600;
  letter-spacing: .12em;
  color: var(--wj-ink-2);
}
.wj-checkout--woocommerce .woocommerce-billing-fields > h3::before {
  content: "Billing";
  display: block;
  margin-bottom: 8px;
  font-family: var(--wj-display);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: .18em;
  color: var(--wj-green-2);
}
.wj-checkout--woocommerce #order_review_heading::before {
  content: "Summary";
  display: block;
  margin-bottom: 8px;
  font-family: var(--wj-display);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: .18em;
  color: var(--wj-green-2);
}
.wj-checkout--woocommerce .woocommerce-billing-fields__field-wrapper {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px 24px;
}
.wj-checkout--woocommerce .form-row {
  float: none !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}
.wj-checkout--woocommerce .form-row-wide {
  grid-column: 1 / -1;
}
.wj-checkout--woocommerce .form-row-first,
.wj-checkout--woocommerce .form-row-last {
  grid-column: span 1;
}
.wj-checkout--woocommerce .form-row label {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 28px;
  margin: 0 0 8px;
  font-family: var(--wj-serif);
  font-size: 13.5px;
  line-height: 1.5;
  color: var(--wj-ink-2);
}
.wj-checkout--woocommerce .form-row .required {
  position: static !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-width: 34px;
  height: 22px;
  margin: 0 !important;
  padding: 0 6px;
  overflow: hidden;
  border-radius: 2px;
  background: #9e5236;
  color: transparent !important;
  font-size: 0 !important;
  line-height: 1 !important;
  text-decoration: none !important;
}
.wj-checkout--woocommerce .form-row .required::after {
  content: "必須";
  color: #fff;
  font-family: var(--wj-serif);
  font-size: 10px;
  line-height: 1;
  letter-spacing: .04em;
}
.wj-checkout--woocommerce .form-row .optional {
  font-size: 11px;
  color: var(--wj-muted-2);
}
.wj-checkout--woocommerce input.input-text,
.wj-checkout--woocommerce textarea,
.wj-checkout--woocommerce select,
.wj-checkout--woocommerce .select2-container .select2-selection--single {
  width: 100%;
  min-height: 50px;
  padding: 0 16px;
  border: 1px solid var(--wj-line-3);
  border-radius: 0;
  background: #fff;
  box-sizing: border-box;
  font-family: var(--wj-serif);
  font-size: 14px;
  color: var(--wj-ink-2);
}
.wj-checkout--woocommerce textarea {
  min-height: 120px;
  padding-top: 12px;
}
.wj-checkout--woocommerce .select2-container .select2-selection--single {
  display: flex;
  align-items: center;
}
.wj-checkout--woocommerce .select2-container .select2-selection__rendered {
  padding: 0 !important;
  line-height: 48px !important;
}
.wj-checkout--woocommerce .select2-container .select2-selection__arrow {
  height: 48px !important;
}
.wj-checkout--woocommerce .woocommerce-checkout-review-order-table {
  width: 100%;
  border-collapse: collapse;
  margin: 0;
}
.wj-checkout--woocommerce .woocommerce-checkout-review-order-table th,
.wj-checkout--woocommerce .woocommerce-checkout-review-order-table td {
  padding: 16px 4px;
  border-bottom: 1px solid var(--wj-line-2);
  font-family: var(--wj-serif);
  font-size: 14px;
  text-align: left;
  vertical-align: top;
}
.wj-checkout--woocommerce .woocommerce-checkout-review-order-table th:last-child,
.wj-checkout--woocommerce .woocommerce-checkout-review-order-table td:last-child {
  text-align: right;
}
.wj-checkout--woocommerce .order-total th,
.wj-checkout--woocommerce .order-total td {
  padding-top: 24px;
  border-top: 1px solid var(--wj-ink-2);
  border-bottom: 0;
  font-size: 17px;
}
.wj-checkout--woocommerce .woocommerce-checkout-payment {
  margin-top: 44px;
  padding: 0 !important;
  border: 1px solid var(--wj-line-3);
  background: #fff !important;
}
.wj-checkout--woocommerce .wc_payment_methods {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none;
}
.wj-checkout--woocommerce .wc_payment_method {
  padding: 20px 24px;
  border-bottom: 1px solid var(--wj-line-3);
}
.wj-checkout--woocommerce .payment_box {
  margin: 12px 0 0 !important;
  padding: 12px 18px !important;
  background: var(--wj-paper) !important;
  font-size: 12.5px;
}
.wj-checkout--woocommerce .place-order {
  padding: 28px 24px !important;
}
.wj-checkout--woocommerce #place_order {
  width: 320px;
  max-width: 100%;
  height: 55px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  float: none !important;
  border: 0;
  border-radius: 0;
  background: var(--wj-forest-dp);
  color: var(--wj-paper-4);
  font-family: var(--wj-serif);
  font-size: 15px;
  letter-spacing: .18em;
}

/* WooCommerceの検証エラー表示 */
.wj-checkout--woocommerce .woocommerce-invalid input,
.wj-checkout--woocommerce .woocommerce-invalid select,
.wj-checkout--woocommerce .woocommerce-invalid .select2-selection {
  border-color: #9e5236 !important;
}
.wj-checkout--woocommerce .woocommerce-error {
  margin-bottom: 24px;
}

@media (max-width: 767px) {
  .wj-checkout--woocommerce form.checkout {
    gap: 28px;
  }
  .wj-checkout--woocommerce .woocommerce-billing-fields,
  .wj-checkout--woocommerce .woocommerce-shipping-fields,
  .wj-checkout--woocommerce .woocommerce-additional-fields,
  .wj-checkout--woocommerce #order_review {
    padding: 28px 20px 30px;
  }
  .wj-checkout--woocommerce .woocommerce-billing-fields__field-wrapper {
    grid-template-columns: 1fr;
    gap: 18px;
  }
  .wj-checkout--woocommerce .form-row-wide,
  .wj-checkout--woocommerce .form-row-first,
  .wj-checkout--woocommerce .form-row-last {
    grid-column: 1;
  }
  .wj-checkout--woocommerce #place_order {
    width: 100%;
  }
}

/* =========================================================
   v1.9.59 — 配達希望日時（WooCommerce実データ連動）
   ========================================================= */
.wj-delivery-box {
  position: relative;
  margin-top: 44px;
  padding: 44px 44px 42px;
  border: 1px solid var(--wj-line-3);
  background: transparent;
}
.wj-delivery-box::before {
  content: "";
  position: absolute;
  top: -1px;
  left: 50%;
  width: 54px;
  height: 2px;
  transform: translateX(-50%);
  background: var(--wj-forest-dp);
}
.wj-delivery-box__head {
  margin-bottom: 32px;
  text-align: center;
}
.wj-delivery-box__eyebrow {
  display: block;
  font-family: var(--wj-display);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: .18em;
  color: var(--wj-green-2);
}
.wj-delivery-box__title {
  margin-top: 8px;
  font-family: var(--wj-serif);
  font-size: 20px;
  font-weight: 600;
  letter-spacing: .12em;
  color: var(--wj-ink-2);
}
.wj-delivery-box .form-row + .form-row {
  margin-top: 22px !important;
}
.wj-delivery-box .form-row label {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 8px;
  font-family: var(--wj-serif);
  font-size: 13.5px;
}
.wj-delivery-box .required {
  position: static !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-width: 34px;
  height: 22px;
  padding: 0 6px;
  border-radius: 2px;
  background: #9e5236;
  color: transparent !important;
  font-size: 0 !important;
  line-height: 1 !important;
  text-decoration: none !important;
}
.wj-delivery-box .required::after {
  content: "必須";
  color: #fff;
  font-family: var(--wj-serif);
  font-size: 10px;
  line-height: 1;
}
.wj-delivery-box select {
  width: 100%;
  min-height: 50px;
  padding: 0 16px;
  border: 1px solid var(--wj-line-3);
  border-radius: 0;
  background: #fff;
  font-family: var(--wj-serif);
  font-size: 14px;
  color: var(--wj-ink-2);
}
.wj-order-delivery {
  margin-top: 32px;
  padding: 22px 24px;
  border: 1px solid var(--wj-line-3);
}
.wj-order-delivery h2 {
  margin-bottom: 12px;
  font-size: 18px;
}
.wj-order-delivery p + p { margin-top: 6px; }

@media (max-width: 767px) {
  .wj-delivery-box {
    margin-top: 28px;
    padding: 32px 20px 30px;
  }
  .wj-delivery-box__head { margin-bottom: 26px; }
  .wj-delivery-box__title { font-size: 18px; }
}


/* =========================================================
   v1.9.60 — Checkout fatal error follow-up / design recovery
   ========================================================= */

/* Woo標準のクーポンUIは今回のデザインには出さない */
body.woocommerce-checkout .woocommerce-form-coupon-toggle,
body.woocommerce-checkout form.checkout_coupon {
  display: none !important;
}

/* Checkoutページだけ、元デザインの横幅・余白感に戻す */
body.woocommerce-checkout .wj-page-hero--center {
  padding: 26px 0 36px;
  min-height: 0;
}
body.woocommerce-checkout .wj-page-hero--center .wj-page-hero__word {
  top: -6px;
  font-size: 118px;
  opacity: .28;
}
body.woocommerce-checkout .wj-page-hero--center .wj-page-hero__eyebrow {
  position: relative;
  z-index: 2;
  font-size: 12px;
}
body.woocommerce-checkout .wj-page-hero--center .wj-page-hero__title {
  position: relative;
  z-index: 2;
  margin-top: 8px;
  font-size: 34px;
}

body.woocommerce-checkout .wj-checkout {
  padding-top: 8px;
}
body.woocommerce-checkout .wj-checkout__inner {
  width: min(760px, calc(100% - 48px));
  max-width: 760px;
  margin-inline: auto;
}

/* 請求先 / 配達希望 / 会計情報を同じカード意匠に揃える */
body.woocommerce-checkout .wj-checkout--woocommerce .woocommerce-billing-fields,
body.woocommerce-checkout .wj-delivery-box,
body.woocommerce-checkout .wj-checkout--woocommerce #order_review {
  position: relative;
  margin-top: 0;
  padding: 44px 49px 49px;
  border: 1px solid var(--wj-line-3);
  background: var(--wj-paper);
}
body.woocommerce-checkout .wj-delivery-box,
body.woocommerce-checkout .wj-checkout--woocommerce #order_review_heading {
  margin-top: 44px;
}
body.woocommerce-checkout .wj-checkout--woocommerce .woocommerce-billing-fields::before,
body.woocommerce-checkout .wj-delivery-box::before,
body.woocommerce-checkout .wj-checkout--woocommerce #order_review::before {
  content: "";
  position: absolute;
  left: 50%;
  top: -1px;
  width: 56px;
  height: 2px;
  transform: translateX(-50%);
  background: var(--wj-forest-dp);
}

/* Woo側に別枠で出る見出しと内容の間隔を整理 */
body.woocommerce-checkout .wj-checkout--woocommerce #order_review_heading {
  padding: 0;
  border: 0;
  background: transparent;
  text-align: center;
}
body.woocommerce-checkout .wj-checkout--woocommerce #order_review {
  margin-top: 14px;
}

/* 支払い方法を会計情報の続きとして自然に表示 */
body.woocommerce-checkout .wj-checkout--woocommerce .woocommerce-checkout-payment {
  margin-top: 28px;
  border: 1px solid var(--wj-line-3);
}

/* 配達日時：Fatal発生前のデザインをそのまま維持 */
body.woocommerce-checkout .wj-delivery-box {
  margin-top: 44px;
}
body.woocommerce-checkout .wj-delivery-box select {
  height: 50px;
}

/* 769〜1100pxでPCナビが縦崩れしないようCheckoutだけメニュー表示を切替 */
@media (min-width: 768px) and (max-width: 1100px) {
  body.woocommerce-checkout .wj-header__nav {
    display: none !important;
  }
  body.woocommerce-checkout .wj-header__toggle {
    display: block !important;
    width: 24px;
    height: 18px;
  }
}

/* SP */
@media (max-width: 767px) {
  body.woocommerce-checkout .wj-page-hero--center {
    padding: 18px 0 24px;
  }
  body.woocommerce-checkout .wj-page-hero--center .wj-page-hero__word {
    font-size: 72px;
  }
  body.woocommerce-checkout .wj-page-hero--center .wj-page-hero__title {
    font-size: 26px;
  }
  body.woocommerce-checkout .wj-checkout__inner {
    width: calc(100% - 32px);
    max-width: none;
  }
  body.woocommerce-checkout .wj-checkout--woocommerce .woocommerce-billing-fields,
  body.woocommerce-checkout .wj-delivery-box,
  body.woocommerce-checkout .wj-checkout--woocommerce #order_review {
    padding: 34px 20px 30px;
  }
  body.woocommerce-checkout .wj-delivery-box {
    margin-top: 28px;
  }
}

/* =========================================================
   v1.9.61 — Checkout：注文処理中UIを見やすく
   ========================================================= */
body.woocommerce-checkout .blockUI.blockOverlay {
  background: rgba(244, 241, 232, .76) !important;
  opacity: 1 !important;
  cursor: wait !important;
}
body.woocommerce-checkout .blockUI.blockOverlay::before {
  content: "決済処理中…";
  position: fixed;
  left: 50%;
  top: 50%;
  z-index: 10001;
  width: auto;
  height: auto;
  margin: 0;
  padding: 14px 22px;
  transform: translate(-50%, -50%);
  border: 1px solid var(--wj-line-3);
  border-radius: 999px;
  background: #fff;
  color: var(--wj-ink-2);
  font-family: var(--wj-serif);
  font-size: 14px;
  letter-spacing: .08em;
  line-height: 1.4;
  box-shadow: 0 8px 30px rgba(34,36,30,.08);
}

/* =========================================================
   v1.9.62 — 運用機能 / 追従ナビ / 装飾 / 管理画面連動
   ========================================================= */

/* TOP FV 縦書き：上下の横棒を文字列の中央軸に揃える */
.wj-fv__vertical {
  border-top: 0 !important;
  border-bottom: 0 !important;
}
.wj-fv__vertical::before,
.wj-fv__vertical::after {
  content: "";
  position: absolute;
  left: 50%;
  width: 14px;
  height: 1px;
  transform: translateX(-50%);
  background: #fff;
}
.wj-fv__vertical::before { top: 0; }
.wj-fv__vertical::after { bottom: 0; }

/* 初めての方へ / ギフト：FV下ナビをヘッダー下20pxで追従 */
.wj-guide-nav,
.wj-anchor-nav {
  position: sticky;
  top: 102px;
  z-index: 70;
  background: #fff;
  box-shadow: 0 1px 0 rgba(34,36,30,.08);
}

/* Gift / Guide 装飾英字 */
.wj-gift-hero__word,
.wj-guide-hero__word {
  color: #DED6C4 !important;
  opacity: .4 !important;
  mix-blend-mode: plus-darker !important;
}
@supports not (mix-blend-mode: plus-darker) {
  .wj-gift-hero__word,
  .wj-guide-hero__word { mix-blend-mode: multiply !important; }
}

/* 会社情報 Access補足 */
.wj-access__info {
  margin-top: 26px;
  padding: 22px 26px;
  border-top: 1px solid var(--wj-line-3);
  border-bottom: 1px solid var(--wj-line-3);
  font-size: 13.5px;
  line-height: 1.9;
  color: #3f3b2d;
}
.wj-access__info p + p { margin-top: 4px; }
.wj-access__company { font-weight: 600; color: var(--wj-ink-2); }

/* 法務3ページ：セクション番号だけNoto Sans JP */
.wj-legal__body--numbered h2::before {
  font-family: "Noto Sans JP", sans-serif !important;
  font-weight: 400 !important;
  font-variant-numeric: tabular-nums;
}

/* ブログ一覧：カテゴリの下に#タグ */
.wj-blog-card__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 10px;
  margin-top: 8px;
  font-size: 10.5px;
  line-height: 1.5;
  color: var(--wj-green-2);
}

/* 期間限定：左画像＋右クラシックエディター内容 */
.wj-ab-limited__content {
  min-width: 0;
  font-size: 14px;
  line-height: 2;
  color: #3f3b2d;
}
.wj-ab-limited__content h2,
.wj-ab-limited__content h3 {
  margin: 0 0 20px;
  font-family: var(--wj-serif);
  color: var(--wj-ink-2);
}
.wj-ab-limited__content h2 { font-size: 28px; line-height: 1.5; }
.wj-ab-limited__content h3 { font-size: 20px; }
.wj-ab-limited__content p + p { margin-top: 16px; }
.wj-ab-limited__content img { max-width: 100%; height: auto; }
.wj-ab-limited__content a:not(.wj-ab-btn) { text-decoration: underline; text-underline-offset: 4px; }

/* 歴代限定ワイン：購入不能商品は履歴カードとして表示 */
body.wj-limited-archive .wj-product__cart { display: none; }

@media (max-width: 767px) {
  .wj-guide-nav,
  .wj-anchor-nav {
    top: 87px;
  }
  .wj-access__info {
    margin-top: 20px;
    padding: 18px 4px;
    font-size: 13px;
  }
  .wj-ab-limited__content h2 { font-size: 22px; }
}
@media (min-width: 0px) {
  .wj-guide-nav-wrap {
    position: sticky;
    top: 102px;
    z-index: 70;
  }
  .wj-guide-nav-wrap .wj-guide-nav {
    position: static;
    top: auto;
  }
}
@media (max-width: 767px) {
  .wj-guide-nav-wrap { top: 87px; }
}


/* =========================================================
   v1.9.63 — 標準ブログ導線 / 歴代商品アーカイブ
   ========================================================= */
.wj-limited-archive .wj-product,
.wj-limited-archive-main .wj-product { position: relative; }
.wj-limited-archive .wj-product.outofstock .wj-product__media img,
.wj-limited-archive-main .wj-product.outofstock .wj-product__media img {
  opacity: 1 !important;
  filter: none !important;
}
.wj-product--archive-history .wj-product__whole-link {
  position: absolute;
  inset: 0;
  z-index: 8;
  display: block;
}
.wj-product--archive-history .wj-product__media,
.wj-product--archive-history .wj-product__body { pointer-events: none; }
.wj-product--archive-history { cursor: pointer; }
.wj-product--archive-history:hover .wj-product__media img { transform: scale(1.03); }
/* 歴代商品は閲覧専用。購入UIは念のため完全非表示。 */
.wj-limited-archive .wj-product__cart,
.wj-limited-archive-main .wj-product__cart { display: none !important; }

/* =========================================================
   v1.9.64 — 過去商品アーカイブ / 商品説明 / ページネーション
   ========================================================= */
.wj-limited-archive-main .wj-product.outofstock .wj-product__media img,
.wj-limited-archive-main .wj-product.outofstock:hover .wj-product__media img {
  opacity: 1 !important;
  filter: none !important;
}
.wj-limited-archive-main .wj-product__badge--outofstock,
.wj-limited-archive-main .stock.out-of-stock {
  display: none !important;
}
.wj-product--archive-history {
  position: relative;
}
.wj-product--archive-history .wj-product__whole-link {
  position: absolute;
  inset: 0;
  z-index: 5;
}
.wj-product--archive-history .wj-product__media,
.wj-product--archive-history .wj-product__body {
  pointer-events: none;
}
.wj-product--archive-history .wj-product__cart {
  display: none !important;
}

/* 商品詳細説明はカード上では1行だけ表示 */
.wj-product__spec {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: normal;
  min-height: 1.7em;
  max-height: 1.7em;
}

/* 歴代限定ワインのページネーションを通常商品一覧と統一 */
.wj-pager--limited {
  margin-top: 56px;
}
.wj-pager--limited ul.page-numbers {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.wj-pager--limited li { margin: 0; }
.wj-pager--limited a.page-numbers,
.wj-pager--limited span.page-numbers {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border: 1px solid var(--wj-line-3);
  background: transparent;
  font-family: var(--wj-serif);
  font-size: 17px;
  line-height: 1;
  color: var(--wj-ink-2);
}
.wj-pager--limited span.current {
  background: var(--wj-forest-dp);
  border-color: var(--wj-forest-dp);
  color: #fff;
}
.wj-pager--limited span.dots { border: 0; }

@media (max-width: 767px) {
  .wj-pager--limited { margin-top: 38px; }
  .wj-pager--limited a.page-numbers,
  .wj-pager--limited span.page-numbers {
    width: 38px;
    height: 38px;
    font-size: 16px;
  }
}


/* =========================================================
   v1.9.65 — 歴代限定ワイン：画像・クリック・在庫表示を確実に補正
   ========================================================= */
.wj-limited-archive-main .wj-product.outofstock,
.wj-limited-archive-main .wj-product.outofstock:hover {
  opacity: 1 !important;
}
.wj-limited-archive-main .wj-product.outofstock .wj-product__media,
.wj-limited-archive-main .wj-product.outofstock .wj-product__media img,
.wj-limited-archive-main .wj-product.outofstock:hover .wj-product__media img {
  opacity: 1 !important;
  filter: none !important;
}
.wj-limited-archive-main .wj-product__badge--outofstock,
.wj-limited-archive-main .out-of-stock,
.wj-limited-archive-main .stock.out-of-stock,
.wj-limited-archive-main .wj-product__flag--outofstock {
  display: none !important;
}
.wj-limited-archive-main .wj-product--archive-history {
  cursor: pointer;
}
.wj-limited-archive-main .wj-product--archive-history .wj-product__media,
.wj-limited-archive-main .wj-product--archive-history .wj-product__body {
  pointer-events: auto !important;
}
.wj-limited-archive-main .wj-product--archive-history .wj-product__link-media,
.wj-limited-archive-main .wj-product--archive-history .wj-product__title a {
  position: relative;
  z-index: 3;
  pointer-events: auto !important;
}
.wj-limited-archive-main .wj-product__cart,
.wj-limited-archive-main .add_to_cart_button {
  display: none !important;
}


/* =========================================================
   v1.9.66 — ブログ固定導線 / 歴代限定商品カード完全リンク化
   ========================================================= */
.wj-limited-archive-main .wj-product-history-link {
  display: block;
  color: inherit;
  text-decoration: none;
}
.wj-limited-archive-main .wj-product-history-link .wj-product {
  cursor: pointer;
}
.wj-limited-archive-main .wj-product-history-link .wj-product__media img {
  opacity: 1 !important;
  filter: none !important;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.wj-limited-archive-main .wj-product-history-link:hover .wj-product__media img {
  transform: scale(1.03);
}
.wj-limited-archive-main .wj-product__badge--outofstock,
.wj-limited-archive-main .out-of-stock,
.wj-limited-archive-main .stock.out-of-stock,
.wj-limited-archive-main .wj-product__flag--outofstock { display:none !important; }


/* =========================================================
   v1.9.67 — 注文詳細住所 / 歴代商品カード
   ========================================================= */
body.woocommerce-order-received .woocommerce-customer-details,
body.woocommerce-view-order .woocommerce-customer-details {
  text-align: left !important;
}
body.woocommerce-order-received .woocommerce-customer-details .woocommerce-columns,
body.woocommerce-view-order .woocommerce-customer-details .woocommerce-columns {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 48px !important;
  align-items: start !important;
}
body.woocommerce-order-received .woocommerce-customer-details .woocommerce-column,
body.woocommerce-view-order .woocommerce-customer-details .woocommerce-column,
body.woocommerce-order-received .woocommerce-customer-details h2,
body.woocommerce-view-order .woocommerce-customer-details h2,
body.woocommerce-order-received .woocommerce-customer-details address,
body.woocommerce-view-order .woocommerce-customer-details address {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  text-align: left !important;
}
body.woocommerce-order-received .woocommerce-customer-details address,
body.woocommerce-view-order .woocommerce-customer-details address {
  font-style: normal;
  line-height: 1.9;
}

.wj-limited-archive-main .wj-product-history-link {
  display: block !important;
  color: inherit !important;
  text-decoration: none !important;
  cursor: pointer !important;
}
.wj-limited-archive-main .wj-product-history-link > .wj-product {
  height: 100%;
  pointer-events: none;
}
.wj-limited-archive-main .wj-product-history-link img {
  pointer-events: none;
}

@media (max-width: 767px) {
  body.woocommerce-order-received .woocommerce-customer-details .woocommerce-columns,
  body.woocommerce-view-order .woocommerce-customer-details .woocommerce-columns {
    grid-template-columns: 1fr !important;
    gap: 32px !important;
  }
}


/* =========================================================
   v1.9.70 — 最終SP調整 / 在庫切れ詳細
   ========================================================= */

/* 在庫切れ商品詳細：購入UIの代わりの案内だけ表示 */
.wj-single__soldout-note {
  margin-top: 28px;
  padding: 20px 22px;
  border-top: 1px solid var(--wj-line-3);
  border-bottom: 1px solid var(--wj-line-3);
  font-family: var(--wj-serif);
  font-size: 13px;
  line-height: 1.8;
  color: var(--wj-muted-3);
}

/* 歴代商品アーカイブではカート系UIを完全に消す */
.wj-limited-archive-main .wj-product__cart,
.wj-limited-archive-main .add_to_cart_button,
.wj-limited-archive-main .added_to_cart {
  display: none !important;
}

@media (max-width: 767px) {
  /* TOP Story：縦書きの文字と半透明帯を同じ寸法にする */
  body.home .wj-story__band {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 38px !important;
    height: 304px !important;
    min-height: 0 !important;
    max-height: 304px !important;
    padding: 8px 4px !important;
    display: flex !important;
    align-items: flex-start !important;
    justify-content: center !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
    background: rgba(25,36,27,.58) !important;
  }
  body.home .wj-story__vertical-label,
  body.home .wj-story__vertical-in {
    width: auto !important;
    height: 288px !important;
    min-height: 0 !important;
    max-height: 288px !important;
    margin: 0 !important;
  }
  body.home .wj-story__vertical-in {
    display: block !important;
    writing-mode: vertical-rl !important;
    white-space: nowrap !important;
    font-size: 13px !important;
    line-height: 1 !important;
    letter-spacing: 3px !important;
  }

  /* ABOUTの期間限定ブロック：SPはテキスト → 画像 */
  .wj-ab-limited__grid {
    display: flex !important;
    flex-direction: column !important;
    gap: 28px !important;
  }
  .wj-ab-limited__content {
    order: 1 !important;
  }
  .wj-ab-limited__figure {
    order: 2 !important;
    width: 100% !important;
    aspect-ratio: 350 / 438;
  }
  /* 以前の縦書き帯はSPでも表示しない */
  .wj-ab-limited__band,
  .wj-ab-limited__vertical {
    display: none !important;
  }

  /* 初めての方へ：右画像をヘッダー直下の右上から開始 */
  .wj-guide-hero {
    position: relative !important;
  }
  .wj-guide-hero__inner {
    position: static !important;
    margin-top: 22px !important;
  }
  .wj-guide-hero__figure {
    position: absolute !important;
    top: 0 !important;
    right: 0 !important;
    left: auto !important;
    width: 163px !important;
    height: 218px !important;
    aspect-ratio: auto !important;
    z-index: 1 !important;
  }
  .wj-guide-hero__body {
    position: relative !important;
    z-index: 2 !important;
  }

  /* WINERY JUNについて：画像はヘッダー直下から。
     パンくずは画像上に重ねて、見出しはヒーロー中央へ。 */
  body.page-template-page-about .wj-main > .wj-breadcrumb {
    position: relative !important;
    z-index: 5 !important;
    margin-bottom: -44px !important;
    background: transparent !important;
  }
  body.page-template-page-about .wj-ab-hero {
    margin-top: 0 !important;
    min-height: 330px !important;
    padding: 76px 0 56px !important;
    display: flex !important;
    align-items: center !important;
    box-sizing: border-box !important;
  }
  body.page-template-page-about .wj-ab-hero__inner {
    width: 100%;
  }
  body.page-template-page-about .wj-ab-hero__media {
    top: 0 !important;
  }
}


/* =========================================================
   v1.9.71 — SPヒーロー画像 / お問い合わせ完了ページ
   ========================================================= */
.wj-contact-complete__section { padding: 88px 0 120px; }
.wj-contact-complete__box {
  max-width: 760px;
  margin: 0 auto;
  padding: 64px 52px 68px;
  border: 1px solid var(--wj-line-3);
  text-align: center;
  background: var(--wj-paper);
}
.wj-contact-complete__en {
  font-family: var(--wj-display);
  font-size: 16px;
  letter-spacing: .18em;
  color: var(--wj-green-2);
}
.wj-contact-complete__title {
  margin-top: 16px;
  font-family: var(--wj-serif);
  font-size: 30px;
  font-weight: 600;
  letter-spacing: .08em;
  line-height: 1.55;
  color: var(--wj-ink-2);
}
.wj-contact-complete__text {
  margin-top: 30px;
  font-size: 14px;
  line-height: 2;
  color: #45412f;
}
.wj-contact-complete__note {
  margin-top: 20px;
  font-size: 12px;
  line-height: 1.8;
  color: var(--wj-muted-2);
}
.wj-contact-complete__actions { margin-top: 38px; }
.wj-contact-complete__actions .wj-pill { min-width: 260px; }

@media (max-width: 767px) {
  body.page-template-page-first .wj-guide-hero,
  body.page-template-page-about .wj-ab-hero {
    overflow: hidden !important;
  }

  body.page-template-page-first .wj-guide-hero {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }
  body.page-template-page-first .wj-guide-hero__figure {
    top: 0 !important;
    right: 0 !important;
    transform: none !important;
    margin-top: 0 !important;
    height: 218px !important;
    background-position: center center !important;
  }
  body.page-template-page-first .wj-guide-hero__inner {
    margin-top: 22px !important;
  }

  body.page-template-page-about .wj-main > .wj-breadcrumb {
    position: absolute !important;
    top: 67px !important;
    left: 0;
    right: 0;
    z-index: 6 !important;
    margin: 0 !important;
    background: transparent !important;
  }
  body.page-template-page-about .wj-ab-hero {
    position: relative !important;
    margin-top: 0 !important;
    padding-top: 0 !important;
    min-height: 330px !important;
  }
  body.page-template-page-about .wj-ab-hero__media,
  body.page-template-page-about .wj-ab-hero__scrim {
    top: 0 !important;
    bottom: 0 !important;
    transform: none !important;
    margin: 0 !important;
  }
  body.page-template-page-about .wj-ab-hero__media {
    background-position: center center !important;
  }
  body.page-template-page-about .wj-ab-hero__inner {
    min-height: 330px !important;
    display: flex !important;
    flex-direction: column;
    justify-content: center;
    box-sizing: border-box;
    padding-top: 38px;
    padding-bottom: 28px;
  }

  .wj-contact-complete__section { padding: 56px 0 80px; }
  .wj-contact-complete__box { padding: 42px 22px 46px; }
  .wj-contact-complete__title { font-size: 23px; }
  .wj-contact-complete__text { font-size: 13.5px; }
  .wj-contact-complete__actions .wj-pill {
    width: 100%;
    min-width: 0;
  }
}


/* =========================================================
   v1.9.72 — SP固定ヘッダー下のFV・パンくず位置を統一
   ========================================================= */
@media (max-width: 767px) {
  /*
   * SPは固定ヘッダー高を必ず本文側で確保。
   * headerのclass差分に依存せず全下層ページに効かせる。
   */
  body:not(.home) .wj-main {
    padding-top: 67px !important;
  }

  /* 各ページのパンくずは固定ヘッダーの下に通常フローで表示 */
  body:not(.home) .wj-breadcrumb {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    z-index: 8 !important;
    background: var(--wj-paper) !important;
  }
  body:not(.home) .wj-breadcrumb .wj-wrap-2 {
    min-height: 38px;
    display: flex;
    align-items: center;
  }

  /* 初めての方へ：FVそのものをヘッダー＋パンくずの下から開始 */
  .wj-guide-hero {
    margin-top: 0 !important;
    padding-top: 0 !important;
    overflow: hidden !important;
  }
  .wj-guide-hero .wj-breadcrumb {
    position: relative !important;
    z-index: 8 !important;
    background: var(--wj-paper) !important;
  }
  .wj-guide-hero__inner {
    position: relative !important;
    margin-top: 0 !important;
    padding-top: 22px !important;
  }
  .wj-guide-hero__figure {
    top: 0 !important;
    right: 0 !important;
    margin: 0 !important;
    transform: none !important;
    height: 218px !important;
    background-position: center center !important;
  }

  /*
   * WINERY JUNについて：
   * breadcrumbをabsoluteにしない。
   * パンくず → FVの順で並び、画像がヘッダー裏に潜らない。
   */
  .wj-main > .wj-breadcrumb + .wj-ab-hero {
    margin-top: 0 !important;
  }
  .wj-ab-hero {
    position: relative !important;
    margin-top: 0 !important;
    padding-top: 0 !important;
    min-height: 330px !important;
    overflow: hidden !important;
  }
  .wj-ab-hero__media,
  .wj-ab-hero__scrim {
    position: absolute !important;
    inset: 0 !important;
    margin: 0 !important;
    transform: none !important;
  }
  .wj-ab-hero__media {
    background-position: center center !important;
  }
  .wj-ab-hero__inner {
    min-height: 330px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    display: flex !important;
    flex-direction: column;
    justify-content: center !important;
    box-sizing: border-box;
  }

  /* ギフト：FVはヘッダー下から。写真の表示領域は中央基準 */
  .wj-gift-hero {
    margin-top: 0 !important;
    overflow: hidden !important;
  }
  .wj-gift-hero .wj-breadcrumb {
    position: relative !important;
    z-index: 8 !important;
    background: var(--wj-paper) !important;
  }
  .wj-gift-hero__media {
    background-position: center center !important;
  }
}


/* =========================================================
   v1.9.76 — 商品画像を元画像比率で表示 / 歴代商品ギャラリー
   ========================================================= */

/* 商品詳細：正方形固定を解除。画像ごとの本来の縦横比で高さが変わる */
.wj-gallery__main {
  aspect-ratio: auto !important;
  overflow: visible !important;
  background: transparent !important;
}
.wj-gallery__main img {
  display: block;
  width: 100% !important;
  height: auto !important;
  max-height: none !important;
  object-fit: contain !important;
}
.wj-gallery__thumbs {
  align-items: start;
}
.wj-gallery__thumb {
  cursor: pointer;
}

/* 歴代商品アーカイブ：メイン画像も正方形固定を解除 */
.wj-limited-archive-main .wj-product-history-link .wj-product__media {
  aspect-ratio: auto !important;
  overflow: visible !important;
  background: transparent !important;
}
.wj-limited-archive-main .wj-product-history-link .wj-product__media > img,
.wj-limited-archive-main .wj-product-history-link .wj-product__media > .wj-product__link-media > img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  max-height: none !important;
  object-fit: contain !important;
}

/* 歴代商品：登録されている残り画像も横並びで確認可能 */
.wj-product__archive-thumbs {
  display: flex;
  gap: 8px;
  margin-top: 10px;
  padding: 0 2px 2px;
  overflow-x: auto;
  overflow-y: hidden;
  scrollbar-width: thin;
}
.wj-product__archive-thumb {
  flex: 0 0 64px;
  width: 64px;
  height: 64px;
  border: 1px solid var(--wj-line-3);
  background: var(--wj-paper);
  overflow: hidden;
}
.wj-product__archive-thumb img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  opacity: 1 !important;
  filter: none !important;
}

@media (max-width: 767px) {
  .wj-gallery__thumbs {
    display: flex !important;
    gap: 8px !important;
    overflow-x: auto;
    scroll-snap-type: x proximity;
  }
  .wj-gallery__thumb {
    flex: 0 0 72px;
    width: 72px;
    scroll-snap-align: start;
  }
  .wj-product__archive-thumb {
    flex-basis: 58px;
    width: 58px;
    height: 58px;
  }
}


/* =========================================================
   v1.9.78 — My Account SP layout stability / anchor offset
   ========================================================= */

/* 固定ヘッダー追従時でもアンカー先見出しが隠れない */
#gift-category,
#gift-price,
#gift-wrapping,
#bestsellers {
  scroll-margin-top: 110px;
}

@media (max-width: 767px) {
  /* My Account全体を画面内に収める */
  .woocommerce-account .wj-main,
  .woocommerce-account .woocommerce,
  .woocommerce-account .woocommerce-MyAccount-content,
  .woocommerce-account .woocommerce-MyAccount-navigation {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  .woocommerce-account .woocommerce {
    padding-left: 20px;
    padding-right: 20px;
    overflow-x: hidden;
  }

  /* タブはSPで2列。文字が横にはみ出さない */
  .woocommerce-account .wj-account-nav {
    width: 100%;
    margin: 0 0 28px;
    overflow: visible;
  }
  .woocommerce-account .wj-account-nav__list {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    width: 100%;
  }
  .woocommerce-account .wj-account-nav__item {
    min-width: 0;
  }
  .woocommerce-account .wj-account-nav__item a {
    width: 100% !important;
    min-width: 0 !important;
    height: 44px !important;
    padding: 0 8px !important;
    justify-content: center !important;
    white-space: nowrap;
    font-size: 12px !important;
    box-sizing: border-box;
  }

  /* ログアウトは2列幅 */
  .woocommerce-account .wj-account-nav__item--logout {
    grid-column: 1 / -1;
  }

  /* フォーム・テーブル崩れ防止 */
  .woocommerce-account .woocommerce-MyAccount-content form,
  .woocommerce-account .woocommerce-MyAccount-content .woocommerce-address-fields,
  .woocommerce-account .woocommerce-MyAccount-content fieldset {
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
  }
  .woocommerce-account .woocommerce-MyAccount-content input,
  .woocommerce-account .woocommerce-MyAccount-content select,
  .woocommerce-account .woocommerce-MyAccount-content textarea {
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  .woocommerce-account table.shop_table {
    display: block;
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  .woocommerce-account .woocommerce-Addresses,
  .woocommerce-account .addresses {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 24px !important;
    width: 100% !important;
  }

  .woocommerce-account:not(.logged-in) .u-columns {
    grid-template-columns: 1fr !important;
  }
  .woocommerce-account form.login,
  .woocommerce-account form.register {
    padding: 22px 18px !important;
    width: 100%;
    box-sizing: border-box;
  }

  #gift-category,
  #gift-price,
  #gift-wrapping,
  #bestsellers {
    scroll-margin-top: 135px;
  }
}


/* =========================================================
   v1.9.79 — My Account PC layout restore
   SP（767px以下）のv1.9.78レイアウトはそのまま維持
   ========================================================= */
@media (min-width: 768px) {
  .woocommerce-account:not(.logged-in) .woocommerce {
    width: min(980px, calc(100% - 64px)) !important;
    max-width: 980px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    overflow: visible !important;
  }

  .woocommerce-account:not(.logged-in) .u-columns,
  .woocommerce-account:not(.logged-in) .woocommerce .u-columns {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 48px !important;
    align-items: start !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
  }

  .woocommerce-account:not(.logged-in) .u-column1,
  .woocommerce-account:not(.logged-in) .u-column2,
  .woocommerce-account:not(.logged-in) .col-1,
  .woocommerce-account:not(.logged-in) .col-2 {
    float: none !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }

  .woocommerce-account:not(.logged-in) .u-column1 > h2,
  .woocommerce-account:not(.logged-in) .u-column2 > h2,
  .woocommerce-account:not(.logged-in) .col-1 > h2,
  .woocommerce-account:not(.logged-in) .col-2 > h2 {
    margin: 0 0 24px !important;
    text-align: left !important;
  }

  .woocommerce-account:not(.logged-in) form.login,
  .woocommerce-account:not(.logged-in) form.register {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 32px !important;
    box-sizing: border-box !important;
  }

  .woocommerce-account:not(.logged-in) form.login .form-row,
  .woocommerce-account:not(.logged-in) form.register .form-row {
    width: 100% !important;
  }

  .woocommerce-account:not(.logged-in) form.login input.input-text,
  .woocommerce-account:not(.logged-in) form.register input.input-text {
    width: 100% !important;
    max-width: none !important;
    box-sizing: border-box !important;
  }
}


/* =========================================================
   v1.9.80 — My Account PC layout final restore
   PC only. SP v1.9.78 layout is unchanged.
   ========================================================= */
@media (min-width: 769px) {
  /* WooCommerce standard logged-out wrapper */
  body.woocommerce-account:not(.logged-in) .wj-page-body {
    padding-top: 26px !important;
  }

  body.woocommerce-account:not(.logged-in) .wj-page-body > .wj-wrap-2 {
    max-width: 1160px !important;
    width: calc(100% - 64px) !important;
    margin-inline: auto !important;
  }

  body.woocommerce-account:not(.logged-in) .woocommerce {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
  }

  /*
   * WooCommerceの #customer_login を直接2カラム固定。
   * Woo標準のfloatやcol2-set指定を完全に上書きする。
   */
  body.woocommerce-account:not(.logged-in) #customer_login,
  body.woocommerce-account:not(.logged-in) .woocommerce #customer_login,
  body.woocommerce-account:not(.logged-in) .u-columns.col2-set {
    display: flex !important;
    flex-direction: row !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 56px !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body.woocommerce-account:not(.logged-in) #customer_login::before,
  body.woocommerce-account:not(.logged-in) #customer_login::after,
  body.woocommerce-account:not(.logged-in) .u-columns.col2-set::before,
  body.woocommerce-account:not(.logged-in) .u-columns.col2-set::after {
    content: none !important;
    display: none !important;
  }

  body.woocommerce-account:not(.logged-in) #customer_login > .u-column1,
  body.woocommerce-account:not(.logged-in) #customer_login > .u-column2,
  body.woocommerce-account:not(.logged-in) #customer_login > .col-1,
  body.woocommerce-account:not(.logged-in) #customer_login > .col-2 {
    float: none !important;
    clear: none !important;
    position: static !important;
    inset: auto !important;
    flex: 1 1 0 !important;
    width: 0 !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
    box-sizing: border-box !important;
  }

  body.woocommerce-account:not(.logged-in) #customer_login h2 {
    margin: 0 0 22px !important;
    padding: 0 !important;
    text-align: left !important;
    font-size: 22px !important;
    line-height: 1.5 !important;
  }

  body.woocommerce-account:not(.logged-in) #customer_login form.login,
  body.woocommerce-account:not(.logged-in) #customer_login form.register {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 32px !important;
    box-sizing: border-box !important;
    border: 1px solid var(--wj-line-3, #cbc4b2) !important;
  }

  body.woocommerce-account:not(.logged-in) #customer_login .form-row {
    display: block !important;
    width: 100% !important;
    margin: 0 0 20px !important;
    padding: 0 !important;
  }

  body.woocommerce-account:not(.logged-in) #customer_login label {
    display: block !important;
    width: 100% !important;
    margin: 0 0 8px !important;
  }

  body.woocommerce-account:not(.logged-in) #customer_login input.input-text {
    width: 100% !important;
    max-width: none !important;
    height: 48px !important;
    box-sizing: border-box !important;
  }

  body.woocommerce-account:not(.logged-in) #customer_login .woocommerce-form-login__rememberme {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 8px !important;
    width: auto !important;
  }

  body.woocommerce-account:not(.logged-in) #customer_login button.button {
    width: 100% !important;
    max-width: none !important;
  }

  body.woocommerce-account:not(.logged-in) #customer_login .lost_password {
    margin-top: 18px !important;
  }
}


/* =========================================================
   v1.9.81 — Footer credit
   ========================================================= */
.wj-footer__credit {
  margin: 14px 0 0;
  padding: 0 20px 12px;
  text-align: center;
  font-family: var(--wj-sans, sans-serif);
  font-size: 10px;
  line-height: 1.6;
  letter-spacing: .06em;
  color: rgba(255,255,255,.28);
}
@media (max-width: 767px) {
  .wj-footer__credit {
    margin-top: 10px;
    padding-bottom: 10px;
    font-size: 9px;
    color: rgba(255,255,255,.24);
  }
}


/* =========================================================
   v1.9.82 — Footer credit inside footer-bottom
   ========================================================= */
.wj-footer__bottom .wj-footer__credit,
.wj-footer__credit {
  margin: 10px 0 8px;
  padding: 0;
  text-align: center;
  font-family: var(--wj-sans, sans-serif);
  font-size: 9px;
  line-height: 1.6;
  letter-spacing: .05em;
  color: rgba(223,214,196,.34);
}
@media (max-width: 767px) {
  .wj-footer__bottom .wj-footer__credit,
  .wj-footer__credit {
    margin: 8px 0 6px;
    font-size: 8px;
  }
}


/* v1.9.83 footer credit placement follows common-parts.css */
@media (min-width: 768px) {
  .wj-footer .wj-footer__credit {
    padding: 0 !important;
  }
}

/* =========================================================
   v1.9.85 — 歴代限定商品アーカイブのレイアウト回帰修正
   商品詳細の自然比率ギャラリーは維持し、アーカイブカードだけ固定整列
   ========================================================= */
.wj-limited-archive-main .wj-products {
  align-items: start !important;
}

/* アーカイブカードのメイン画像は一覧として高さを揃える */
.wj-limited-archive-main .wj-product-history-link .wj-product__media {
  position: relative !important;
  width: 100% !important;
  aspect-ratio: 1 / 1 !important;
  overflow: hidden !important;
  background: #fff !important;
}
.wj-limited-archive-main .wj-product-history-link .wj-product__media > img,
.wj-limited-archive-main .wj-product-history-link .wj-product__media > .wj-product__link-media > img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-height: none !important;
  object-fit: cover !important;
  opacity: 1 !important;
  filter: none !important;
}

/* 2枚目以降はカード下部の小さなサムネイルとしてだけ表示 */
.wj-limited-archive-main .wj-product__archive-thumbs {
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 8px !important;
  width: 100% !important;
  margin: 10px 0 0 !important;
  padding: 0 0 2px !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  box-sizing: border-box !important;
}
.wj-limited-archive-main .wj-product__archive-thumb {
  display: block !important;
  flex: 0 0 64px !important;
  width: 64px !important;
  height: 64px !important;
  min-width: 64px !important;
  max-width: 64px !important;
  min-height: 64px !important;
  max-height: 64px !important;
  overflow: hidden !important;
  border: 1px solid var(--wj-line-3) !important;
  background: #fff !important;
  box-sizing: border-box !important;
}
.wj-limited-archive-main .wj-product__archive-thumb img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  min-height: 0 !important;
  max-height: 100% !important;
  object-fit: cover !important;
  transform: none !important;
  opacity: 1 !important;
  filter: none !important;
}

/* カード全体のリンク化は維持 */
.wj-limited-archive-main .wj-product-history-link {
  display: block !important;
  width: 100% !important;
  color: inherit !important;
  text-decoration: none !important;
}

@media (max-width: 767px) {
  .wj-limited-archive-main .wj-product__archive-thumb {
    flex-basis: 56px !important;
    width: 56px !important;
    height: 56px !important;
    min-width: 56px !important;
    max-width: 56px !important;
    min-height: 56px !important;
    max-height: 56px !important;
  }
}


/* =========================================================
   v1.9.86 — 歴代商品アーカイブを1商品1画像に固定
   ========================================================= */

/* アーカイブでは2枚目以降を一切表示しない */
.wj-limited-archive-main .wj-product__archive-thumbs {
  display: none !important;
}

/* 1カード1画像・同じ比率に統一 */
.wj-limited-archive-main .wj-product-history-link .wj-product__media {
  aspect-ratio: 1 / 1 !important;
  overflow: hidden !important;
  background: #fff !important;
}
.wj-limited-archive-main .wj-product-history-link .wj-product__media img {
  width: 100% !important;
  height: 100% !important;
  max-height: none !important;
  object-fit: cover !important;
  opacity: 1 !important;
  filter: none !important;
}

/* カードのレイアウトを一覧用に安定化 */
.wj-limited-archive-main .wj-products {
  align-items: start !important;
}
.wj-limited-archive-main .wj-product-history-link {
  display: block !important;
  width: 100% !important;
}
.wj-limited-archive-main .wj-product-history-link .wj-product {
  display: block !important;
  width: 100% !important;
  height: auto !important;
}
