@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&family=Noto+Serif+JP:wght@500;600;700&display=swap');
/* ============================================================
   main.css — 廣貫堂ダイレクト デザイントークン & 共通上書きレイヤー
   ------------------------------------------------------------
   ・デフォルトテーマの util.css / bundle.css / theme.css /
     theme_customize.css は編集しない。上書きは全てこのファイルに集約。
   ・読み込み順（layouts で保証）:
     util → bundle → theme → theme_customize → v72 ← 最後
   ・実値の直書き禁止。必ず :root のトークンを参照すること。
   ============================================================ */

/* ─────────────────────────────
   1. デザイントークン
   （出典: プロトタイプ app-vps.jsx の C 定数）
   ───────────────────────────── */
:root {
  --t-bg:          #F9F9F9;  /* ページ背景（design00 foundation.css --bg 同値） */
  --t-bg-deep:     #EEEEEE;  /* 沈み背景・セクション帯（design00 --beige 同値） */
  --t-card:        #FFFFFF;  /* カード面 */
  --t-ink:         #000;  /* 本文・見出し（design00 --ink 同値） */
  --t-ink-soft:    #595959;  /* 準テキスト（design00 --gray 同値） */
  --t-ink-mute:    #7B7B7B;  /* 補足・キャプション（design00 --faint 同値） */
  --t-shu:         #E60012;  /* 朱 — 差し色・CTA・バッジ（design00 --red 同値） */
  --t-shu-soft:    #C50010;  /* 朱ホバー・淡用途（design00 --red-d 同値） */
  --t-hairline:    #E3E3E3;  /* design00 --line 同値 */
  --t-hairline-f:  #F0EEE8;  /* design00 foundation.cssに対応トークンなし。理由はledger参照 */

  /* design00 route/state CSSをverbatim移植する際の互換エイリアス(P3-C)。値は --t-* と同一、名前だけdesign00 foundation.css準拠 */
  --ink:   var(--t-ink);
  --gray:  var(--t-ink-soft);
  --faint: var(--t-ink-mute);
  --red:   var(--t-shu);
  --red-d: var(--t-shu-soft);
  --line:  var(--t-hairline);
  --bg:    var(--t-bg);
  --beige: var(--t-bg-deep);
  --gold:  #1A1A1A;
  --mute:  #696969;
  --wash:  #F5F5F5;
  --cream: #F6F6F6;

  --font-serif: 'Noto Serif JP', '游明朝', 'Yu Mincho', 'Hiragino Mincho ProN', serif;
  --font-sans:  'Noto Sans JP', '游ゴシック', 'Yu Gothic', 'Hiragino Kaku Gothic ProN', sans-serif;
}

/* ─────────────────────────────
   2. ベース
   ───────────────────────────── */
html,
body {
  background: var(--t-bg);
}
body {
  font-family: var(--font-sans);
  color: var(--t-ink);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
::selection {
  background: rgba(217, 78, 31, 0.16);
}

/* リンク（デザイン上のリンク色は墨、ホバーで朱） */
a {
  color: var(--t-ink);
}
a:hover {
  color: var(--t-shu);
}

/* ─────────────────────────────
   3. タイポグラフィ
   theme_customize.css は !important で設定フォントを注入するため、
   後読み＋!important でゴシック（Noto Sans JP）に確定(d00実測: 見出し=Sans700。2026-08-06にSerif→Sans修正)。
   ───────────────────────────── */
h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6 {
  font-family: var(--font-sans);
  font-weight: 700;
}
.u-text--head,
.u-text--head--overlay,
.u-text--subhead,
.u-text--subhead--overlay,
.u-font--head,
.u-font--subhead {
  font-family: var(--font-sans) !important;
  font-weight: 700 !important;
  letter-spacing: 0.06em;
}
/* 英字セクション見出し（NEW ARRIVAL 等）はトラッキング広め */
.u-text--head {
  letter-spacing: 0.12em;
}
.u-text--body,
.u-text--strong,
.u-text--link,
.u-text--btn,
.u-text--btn--overlay,
.u-text--btn--reverse,
.u-text--btn--overlay--reverse,
.u-text--input,
.u-font--body {
  font-family: var(--font-sans) !important;
}

/* ─────────────────────────────
   4. ボタン・フォーム（角を立てる）
   ───────────────────────────── */
.u-color__btn--bg,
.u-color__btn--bg--overlay,
.u-text--btn,
.u-text--btn--overlay,
.u-text--btn--reverse,
.u-text--btn--overlay--reverse {
  border-radius: 0 !important;
  letter-spacing: 0.08em;
}
.u-color__btn--bg:hover,
.u-color__btn--bg--overlay:hover {
  background: var(--t-shu-soft) !important;
  transition: background 0.2s ease;
}
input[type="text"],
input[type="email"],
input[type="password"],
input[type="tel"],
input[type="number"],
select,
textarea {
  border-radius: 0;
}

/* ─────────────────────────────
   5. 罫線・カード
   ───────────────────────────── */
.u-color__border--border,
.u-color__border--main {
  border-color: var(--t-hairline-f) !important;
}




.t-wordmark__jp {
  font-family: var(--font-serif);
  font-size: 25px;
  font-weight: 600;
  letter-spacing: 0.22em;
  color: var(--t-ink);
  line-height: 1;
}
.t-wordmark__en {
  font-family: var(--font-sans);
  font-size: 12px;
  font-weight: 400;
  letter-spacing: 0.24em;
  color: var(--t-ink-mute);
  line-height: 1;
}
@media (max-width: 1023px) {
  .t-wordmark__jp { font-size: 21px; letter-spacing: 0.2em; }
  .t-wordmark__en { font-size: 10.5px; }
}


/* 上段ユーティリティバー（v4: ログイン/新規登録） */
.t-utilbar {
  background: var(--t-bg-deep);
  border-bottom: 0.5px solid var(--t-hairline-f);
}
.t-utilbar__inner {
  max-width: 1180px; margin: 0 auto; padding: 0 40px; height: 34px;
  display: flex; align-items: center; justify-content: flex-end; gap: 22px;
}
.t-utilbar__link {
  font-family: var(--font-sans); font-size: 11.5px; letter-spacing: 0.06em;
  color: var(--t-ink-mute) !important; text-decoration: none;
  display: inline-flex; align-items: center;
}
.t-utilbar__link:hover { color: var(--t-ink) !important; }
.t-utilbar__link--accent { color: var(--t-shu) !important; font-weight: 700; }
.t-utilbar__link--accent:hover { color: var(--t-shu-soft) !important; }
@media (max-width: 767px) {
  .t-utilbar__inner { padding: 0 16px; height: 30px; gap: 16px; }
  .t-utilbar__link { font-size: 10.5px; }
}

/* v4カード: 定期価格＋通常価格（取消線）＋カートCTA */
.t-price {
  display: flex; align-items: baseline; gap: 7px;
  margin-top: 8px;
  font-family: var(--font-sans);
}
.t-price__label {
  font-size: 9.5px; font-weight: 700; color: var(--t-shu);
  border: 1px solid currentColor; border-radius:0; padding: 1px 5px;
  align-self: center;
}
.t-price__subs { font-size: 16px; font-weight: 700; color: var(--t-ink); }
.t-price__origin { font-size: 11.5px; color: var(--t-ink-mute); text-decoration: line-through; }
.t-price__tax { font-size: 10px; color: var(--t-ink-mute); }
.t-cardcta { position: relative; z-index: 2; margin-top: 10px; }
.t-cardcta form { margin: 0; }
.t-cardcta__btn {
  display: block; width: 100%;
  background: var(--t-ink); color: #fff;
  border: none; border-radius: 999px;
  padding: 11px 0; cursor: pointer;
  font-family: var(--font-sans); font-size: 12.5px; font-weight: 700; letter-spacing: 0.06em;
  transition: background 0.15s ease;
}
.t-cardcta__btn:hover { background: var(--t-shu); }
@media (max-width: 767px) {
  .t-price__subs { font-size: 14.5px; }
  .t-cardcta__btn { padding: 10px 0; font-size: 12px; }
}



/* アクセント背景（検索の絞り込みボタン等）→ 朱 */
.u-color__bg--accent {
  background: var(--t-shu) !important;
}

/* ─────────────────────────────
   7. フッター（墨地は settings_data 側で設定済み）
   ───────────────────────────── */
.l-footer {
  border-top: none !important;
}
.l-footer .u-color__border--border {
  border-color: rgba(255, 255, 255, 0.14) !important;
}
/* 列見出し：サンセリフ小サイズ・強トラッキング（柿色は設定側） */
.l-footer .c-footer_menu__title {
  font-family: var(--font-sans) !important;
  white-space: nowrap;
  font-size: 10px !important;
  font-weight: 500 !important;
  letter-spacing: 0.32em;
  text-transform: uppercase;
}
/* リンク：明朝・字間 */
.l-footer .c-footer_menu__list__item__inner {
  font-family: var(--font-serif) !important;
  font-size: 13px !important;
  letter-spacing: 0.12em;
  line-height: 2;
}
.l-footer .c-footer_menu__list__item__inner:hover {
  color: var(--t-shu-soft) !important;
}
/* コピーライト */
.l-footer .l-footer__info__store .u-font--body {
  font-family: var(--font-sans) !important;
  font-size: 10px !important;
  letter-spacing: 0.18em;
}

/* ─────────────────────────────
   8. 商品カード（snippets/_product.html.liquid）
   ───────────────────────────── */
.c-product_item__inner__eyecatch {
  background: var(--t-bg-deep);
}
.c-product_item__inner__eyecatch__tags__new {
  background: var(--t-shu);
  color: #FFFFFF;
  font-family: var(--font-sans);
  font-size: 9px;
  font-weight: 500;
  letter-spacing: 0.14em;
  border-radius: 0;
}
.c-product_item__inner__eyecatch__tags__soldout {
  background: var(--t-ink);
  color: #FFFFFF;
  font-family: var(--font-sans);
  font-size: 9px;
  letter-spacing: 0.14em;
  border-radius: 0;
}
/* 商品名：明朝・墨 */
.c-product_item__inner__title {
  font-family: var(--font-serif) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  color: var(--t-ink) !important;
  letter-spacing: 0.05em;
  line-height: 1.6;
}
/* カテゴリ：小サイズ・薄墨 */
.c-product_item__inner__category {
  font-family: var(--font-sans) !important;
  font-size: 10px !important;
  color: var(--t-ink-mute) !important;
  letter-spacing: 0.1em;
}
/* 価格：サンセリフ・墨 */
.c-product_item__inner__price {
  font-family: var(--font-sans) !important;
  color: var(--t-ink) !important;
}
.c-product_item__inner__price .origin {
  color: var(--t-ink-mute);
  text-decoration: line-through;
}
.c-product_item__inner__price .sale {
  color: var(--t-shu) !important;
}

/* PICKUP・NEW ARRIVAL スライダー内のカートボタンをラベル付き全幅CTAに（v4「カートに入れる」） */
/* v72改修: Slick未初期化時のフォールバック（レンダラ/JS無効でも横並びグリッドで崩れない）。
   実サイトでSlick初期化(.slick-initialized付与)後は本ルールが外れ、Slickのレイアウトが有効。 */
.p-product_slider .p-product_slider__list:not(.slick-initialized) {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 30px;
  overflow: hidden;
  list-style: none;
  margin: 0;
  padding: 0;
}
.p-product_slider .p-product_slider__list:not(.slick-initialized) .p-product_slider__item:nth-child(n+5) { display: none; }
.p-product_slider .p-product_slider__list:not(.slick-initialized) .p-product_slider__item { width: auto !important; margin: 0 !important; float: none !important; }
.p-product_slider:has(.p-product_slider__list:not(.slick-initialized)) .p-product_slider__nav { display: none !important; }
@media (max-width: 767px) {
  .p-product_slider .p-product_slider__list:not(.slick-initialized) { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
}
.p-product_slider .c-product_item__actions {
  position: static !important;
  margin-top: 12px;
  display: flex; gap: 8px;
  opacity: 1 !important; visibility: visible !important; transform: none !important;
}
.p-product_slider .c-product_item__form--cart { flex: 1 1 auto; }
.p-product_slider .c-product_item__button--cart {
  width: 100% !important; height: 42px !important; border-radius: 999px !important;
  background: var(--t-shu) !important; color: #FFFFFF !important;
  display: inline-flex !important; align-items: center; justify-content: center; gap: 8px;
  font-family: var(--font-sans); font-size: 13px; font-weight: 700; letter-spacing: 0.04em;
}
.p-product_slider .c-product_item__button--cart:hover { background: var(--t-shu-soft) !important; }
.p-product_slider .c-product_item__button--cart::after { content: 'カートに入れる'; }
.p-product_slider .c-product_item__form--favorite { flex: 0 0 auto; }
.p-product_slider .c-product_item__button--favorite {
  width: 42px !important; height: 42px !important; border-radius: 999px !important;
  border: 1px solid var(--t-hairline-f) !important;
  display: inline-flex !important; align-items: center; justify-content: center;
}
.p-product_slider .c-product_item__inner__price .sale { font-weight: 700; }


#ecf_footer_section.kk-v71-retired.l-footer { margin-top: 64px !important; }






@media (min-width: 920px) {






  /* メガメニューパネルはJS制御。静的状態では非表示（JSのinline styleが勝つので実機のホバー表示は阻害しない） */
  /* ドロップダウンは bundle.js に任せる（display:none をやめた） */
}

/* 広い画面（1300px〜）ではナビ間隔をゆったりへ */
@media (min-width: 1300px) {

}

/* ─────────────────────────────
   10. フッター構造（マークアップ改修と対）
   ブランド列（ロゴ＋コピー）／ リンク列グリッド ／ 下段罫線
   ───────────────────────────── */
.l-footer {
  display: grid;
  grid-template-areas:
    "contact contact"
    "logo menu"
    "copy menu"
    "info info";
  grid-template-columns: minmax(200px, 1fr) 2.7fr;
  align-content: start;
  column-gap: 56px;
  padding: 72px max(48px, calc((100% - 1180px) / 2)) 40px;
  margin-top: 64px;
}
.l-footer__logo {
  grid-area: logo;
  margin: 0 0 8px;
  text-align: left;
}
/* v72改修: フッター文字ワードマーク */
.t-footer__wordmark {
  display: inline-flex; flex-direction: column; gap: 8px;
  text-decoration: none;
}
.t-footer__wordmark__jp {
  font-family: var(--font-serif);
  font-size: 26px; font-weight: 500; letter-spacing: 0.3em;
  color: var(--t-bg); line-height: 1;
}
.t-footer__wordmark__en {
  font-family: var(--font-sans);
  font-size: 9.5px; letter-spacing: 0.34em;
  color: rgba(250,250,248,0.55); line-height: 1;
}
/* bundle.css のリンク区切り「|」を除去（基準デザインに合わせる） */
.l-footer .c-footer_menu__list__item__inner::after { content: none !important; }
.t-footer__copy {
  grid-area: copy;
  font-family: var(--font-serif);
  font-size: 12px;
  line-height: 1.95;
  letter-spacing: 0.06em;
  color: rgba(250, 250, 248, 0.7);
  margin: 10px 0 0;
}
.l-footer__menu {
  grid-area: menu;
}
.l-footer .c-footer_menus {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 26px 36px;
  align-items: start;
}
.l-footer .c-footer_menu__list__item__inner {
  white-space: nowrap;
}
.l-footer .c-footer_menu {
  border: none !important;
  padding: 0;
  min-width: 140px;
  flex: 0 0 auto;
  display: block !important;
}
/* リンクリストは縦積み（bundle.css の display:flex を打ち消す）。
   これを外すと列が横に伸びて side-by-side に収まらず縦崩れする。 */
.l-footer .c-footer_menu__list {
  display: block !important;
}
.l-footer__info__store {
  grid-area: info;
  margin-top: 48px;
  padding-top: 22px;
  border-top: 0.5px solid rgba(255, 255, 255, 0.18);
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 14px;
}

@media (max-width: 767px) {
  .l-footer {
    display: block;
    padding: 48px 20px 32px;
  }
  .t-footer__copy {
    margin: 14px 0 28px;
  }
  .l-footer .c-footer_menus {
    display: block;
    grid-template-columns: none;
  }
  .l-footer .c-footer_menu {
    margin: 0 0 24px;
  }
  .l-footer .c-footer_menu:last-child {
    margin-bottom: 0;
  }
  /* v72改修: SPは折返し許可（SERVICE列のはみ出し防止） */
  .l-footer .c-footer_menu__list__item__inner {
    white-space: normal;
  }
}











/* 右上×ボタンと主要ナビ先頭の重なり回避（padding で確保） */
.t-drawer_nav { list-style: none; margin: 0; padding: 4px 4px 0; }
.t-drawer_nav__item { border-bottom: 0.5px solid var(--t-hairline); }
.t-drawer_nav__link {
  display: flex; flex-direction: column; gap: 8px;
  padding: 20px 4px;
  text-decoration: none;
}
.t-drawer_nav__romaji {
  font-family: var(--font-sans);
  font-size: 9.5px; letter-spacing: 0.28em; font-weight: 600;
  color: var(--t-ink-mute);
}
.t-drawer_nav__romaji--accent { color: var(--t-shu); }
.t-drawer_nav__kanji {
  font-family: var(--font-serif);
  font-size: 23px; letter-spacing: 0.14em; font-weight: 500;
  color: var(--t-ink); line-height: 1.2;
}
.t-drawer_nav__link:active .t-drawer_nav__kanji { color: var(--t-shu); }

.t-drawer_gnav__link {
  display: block; padding: 13px 2px;
  border-bottom: 1px solid var(--t-hairline-f);
  font-family: var(--font-sans); font-size: 13.5px; font-weight: 500;
  color: var(--t-ink) !important; text-decoration: none;
}
.t-drawer_gnav__link.--child { padding-left: 16px; font-size: 12.5px; color: var(--t-ink-soft) !important; }
.t-drawer_gnav__link:active { color: var(--t-shu) !important; }

/* SP header utilities move into the drawer when the right-side icon row is hidden. */
.t-drawer_utils { display: none; }
@media (max-width: 430px) {
  .t-drawer_utils {
    display: grid;
    gap: 0;
    margin: 0 0 14px;
    padding: 0 0 14px;
    border-bottom: 1px solid var(--t-hairline-f);
  }
  .t-drawer_utils--member { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .t-drawer_utils--guest { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .t-drawer_utils__link {
    box-sizing: border-box;
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 5px;
    min-width: 0;
    min-height: 64px;
    padding: 8px 2px;
    color: var(--t-ink-soft,#6F6D68) !important;
    font-family: var(--font-sans);
    font-size: 10px;
    line-height: 1.25;
    text-align: center;
    text-decoration: none;
  }
  .t-drawer_utils__link i {
    display: block;
    width: 22px;
    height: 22px;
    font-size: 22px;
    line-height: 22px;
    color: currentColor;
  }
  .t-drawer_utils__link:active { color: var(--t-shu,#E60012) !important; }
}

/* g166: touch drawer geometry is viewport-owned outside the sticky header. */
@media (hover: none) and (pointer: coarse) and (max-width: 1024px) {
  .c-gmenu {
    position: fixed;
    inset: 0 auto auto -100%;
    width: 100vw;
    height: 100vh;
    height: 100dvh;
    overflow: hidden;
    pointer-events: none;
  }
  .c-gmenu.is-active {
    left: 0;
    pointer-events: auto;
  }
  .c-gmenu__overlay {
    position: fixed;
    inset: 0;
    width: 100vw;
    height: 100vh;
    height: 100dvh;
  }
  .c-gmenu__container {
    width: min(86vw, 360px);
    height: 100vh;
    height: 100dvh;
    max-height: none;
    overflow: hidden;
  }
  .c-gmenu__container__inner {
    height: 100%;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    padding: 60px 24px 24px;
  }
  .l-header__inner__block__item--menu > button {
    box-sizing: border-box;
    display: grid;
    place-items: center;
    width: 48px;
    height: 48px;
    padding: 0;
  }
  .l-header__inner__block__item--menu > button > .l-header__inner__block__link {
    display: grid;
    place-items: center;
  }
  .c-gmenu__container__close {
    position: absolute;
    z-index: 2;
    min-width: 48px;
    min-height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    right: 8px;
    top: 8px;
  }
  .t-drawer_gnav__link {
    display: flex;
    align-items: center;
    min-height: 48px;
    padding: 10px 4px;
    font-size: 16px;
    line-height: 1.5;
  }
  .t-drawer_gnav__link.--child {
    padding-left: 24px;
    font-size: 16px;
    min-height: 48px;
  }
  .t-drawer_gnav__link.--minor {
    padding-left: 44px;
    font-size: 16px;
    min-height: 48px;
  }
}

/* Existing theme assets used by the touch-drawer tail. */
.t-drawer_subscription { display: block; margin-top: 20px; }
.t-drawer_subscription img {
  display: block; width: 100%; height: auto; max-width: 100%; object-fit: contain;
}
.t-drawer_brand {
  display: flex; align-items: center; justify-content: center;
  min-height: 48px; padding: 24px 12px 12px;
}
.t-drawer_brand img {
  display: block; width: min(100%, 240px); height: auto; max-height: 44px; object-fit: contain;
}

/* ============================================================
   PHASE 3 — TOPページ セクション
   ============================================================ */

/* ─────────────────────────────
   11. セクション見出しシステム（英字eyebrow＋漢字明朝）
   ───────────────────────────── */
.p-new_product__title__en,
.p-signup__title__en,
.p-news__inner__title__en,
.p-column__inner__title__en,
.p-category_panel__title__en,
.p-recommend_product__inner__title__en {
  font-family: var(--font-sans) !important;
  font-size: 10px !important;
  font-weight: 500 !important;
  letter-spacing: 0.34em;
  color: var(--t-shu) !important;
  margin-bottom: 8px;
}
.p-new_product__title__jp,
.p-signup__title__jp,
.p-news__inner__title__jp,
.p-column__inner__title__jp,
.p-category_panel__title__jp,
.p-recommend_product__inner__title__jp {
  font-family: var(--font-serif) !important;
  font-size: 22px !important;
  font-weight: 500 !important;
  letter-spacing: 0.14em;
  color: var(--t-ink) !important;
  display: block;
}
/* 汎用アイブロウ（concept 等のマークアップ改修と対） */
.t-eyebrow {
  font-family: var(--font-sans);
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 0.34em;
  color: var(--t-shu);
  margin-bottom: 14px;
}

/* 「もっと見る」→ 罫線ゴーストボタン */
.p-new_product__more__btn,
.p-news__inner__more__btn {
  background: transparent !important;
  color: var(--t-ink) !important;
  border: 0.5px solid var(--t-ink) !important;
  border-radius: 0 !important;
  font-family: var(--font-serif) !important;
  letter-spacing: 0.18em;
  transition: background 0.2s ease, color 0.2s ease;
}
.p-new_product__more__btn:hover,
.p-news__inner__more__btn:hover {
  background: var(--t-ink) !important;
  color: var(--t-bg) !important;
}

/* ─────────────────────────────
   12. ヒーロー（slideshow）
   ───────────────────────────── */
.p-kv_slider__track__list__item__inner {
  position: relative;
}
.p-kv_slider__track__list__item__inner::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(to right,
    rgba(26, 26, 26, 0.42) 0%,
    rgba(26, 26, 26, 0.12) 55%,
    rgba(26, 26, 26, 0) 78%);
  pointer-events: none;
}
.p-kv_slider__track__list__item__inner__info {
  position: relative;
  z-index: 1;
  text-align: left;
}
.p-kv_slider__track__list__item__inner__info__label {
  font-family: var(--font-sans) !important;
  font-size: 11px !important;
  letter-spacing: 0.32em;
  color: var(--t-bg) !important;
  margin-bottom: 16px;
}
.p-kv_slider__track__list__item__inner__info__title {
  font-family: var(--font-serif) !important;
  font-size: 38px !important;
  font-weight: 500 !important;
  line-height: 1.65;
  letter-spacing: 0.1em;
  color: var(--t-bg) !important;
}
.p-kv_slider__track__list__item__inner__info__btn {
  border-radius: 0 !important;
  font-family: var(--font-sans) !important;
  letter-spacing: 0.18em;
}
@media (max-width: 767px) {
  .p-kv_slider__track__list__item__inner__info__title {
    font-size: 25px !important;
  }
}

/* ─────────────────────────────
   13. BRAND STORY（concept）
   ───────────────────────────── */
.p-concept__inner {
  text-align: left;
}
.p-concept__title {
  font-family: var(--font-serif) !important;
  font-size: 28px !important;
  font-weight: 500 !important;
  line-height: 1.7;
  letter-spacing: 0.1em;
  color: var(--t-ink) !important;
}
.p-concept__text {
  font-family: var(--font-serif) !important;
  font-size: 13.5px !important;
  line-height: 2.05;
  letter-spacing: 0.06em;
  color: var(--t-ink-soft) !important;
}
@media (max-width: 767px) {
  .p-concept__title {
    font-size: 22px !important;
  }
}

/* ─────────────────────────────
   14. NEWS（information）
   ───────────────────────────── */
.c-news_item {
  border-color: var(--t-hairline-f) !important;
}
.c-news_item__inner__date {
  font-family: var(--font-sans) !important;
  font-size: 11px !important;
  letter-spacing: 0.14em;
  color: var(--t-ink-mute) !important;
}
.c-news_item__inner__title {
  font-family: var(--font-serif) !important;
  font-size: 14px !important;
  letter-spacing: 0.04em;
  color: var(--t-ink) !important;
}
.c-news_item__inner:hover .c-news_item__inner__title {
  color: var(--t-shu);
}

/* ─────────────────────────────
   15. SIGN UP（signup・画像帯）
   ───────────────────────────── */
.p-signup {
  position: relative;
}
.p-signup::after {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(26, 26, 26, 0.5);
  pointer-events: none;
}
.p-signup > * {
  position: relative;
  z-index: 1;
}
.p-signup .u-text--head--overlay {
  color: #F0A98F !important;
}
.p-signup .u-text--subhead--overlay,
.p-signup .u-text--body--overlay {
  color: var(--t-bg) !important;
}
.p-signup__lead {
  font-family: var(--font-serif) !important;
  line-height: 2 !important;
  letter-spacing: 0.06em;
}
.c-subscribe_form__input {
  border-radius: 0 !important;
}
.c-subscribe_form__btn {
  border-radius: 0 !important;
  letter-spacing: 0.14em;
}

/* ============================================================
   PHASE 4 — TOP を確定デザイン(v4 B案)へ整合
   ・不足セクションを custom_html で追加（.t-* クラス）
   ・ネイティブ見出しを「左アクセントバー＋太ゴシック」様式に統一
   ============================================================ */

/* 16. セクション見出し（v4 SecTitle 様式に統一） */
.p-new_product__title,
.p-category_panel__title,
.p-news__inner__title,
.p-column__inner__title,
.c-section_title {
  display: flex !important;
  align-items: center;
  justify-content: flex-start !important;
  gap: 12px;
  text-align: left !important;
  flex-wrap: nowrap;
}
.p-new_product__title::before,
.p-category_panel__title::before,
.p-news__inner__title::before,
.p-column__inner__title::before,
.c-section_title::before {
  content: '';
  width: 5px; height: 24px;
  background: var(--t-shu);
  border-radius: 2px;
  flex: 0 0 auto;
  order: 0;
}
.p-new_product__title__jp,
.p-category_panel__title__jp,
.p-news__inner__title__jp,
.p-column__inner__title__jp,
.c-section_title__head {
  order: 2;
  font-family: var(--font-sans) !important;
  font-size: 24px !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em !important;
  color: var(--t-ink) !important;
  margin: 0 !important;
}
.p-new_product__title__en,
.p-category_panel__title__en,
.p-news__inner__title__en,
.p-column__inner__title__en,
.c-section_title__subhead {
  order: 3;
  font-family: var(--font-sans) !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  letter-spacing: 0.18em !important;
  color: var(--t-ink-mute) !important;
  margin: 0 !important;
}

/* v72改修: カテゴリーパネル（グリッドカード：画像＋日本語ラベル） */
.p-category_panel { max-width: 1180px; margin: 0 auto; padding: 8px 40px 0; }
.p-category_panel__content {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 20px;
}
.p-category_panel__block {
  width: auto !important; margin: 0 !important; float: none !important;
  display: block;
}
.p-category_panel__image {
  margin: 0 0 12px; overflow: hidden; background: var(--t-bg-deep);
  aspect-ratio: 1 / 1;
}
.p-category_panel__image img {
  width: 100%; height: 100%; display: block;
  object-fit: cover; transition: transform .5s ease;
}
.p-category_panel__block:hover .p-category_panel__image img { transform: scale(1.04); }
.p-category_panel__name,
.p-category_panel__block__name {
  font-family: var(--font-serif) !important;
  font-size: 14px !important; letter-spacing: 0.08em;
  color: var(--t-ink) !important; text-align: center;
}
@media (max-width: 767px) {
  .p-category_panel { padding: 8px 16px 0; }
  .p-category_panel__content { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
}

main.l-container,
main.js-main-container,
#product-index-view.l-container {
  padding-top: 0 !important;
}
.p-kv_slider {
  max-width: 1180px;
  margin: 10px auto 0;
  border-radius:0;
  overflow: hidden;
}
/* v72改修: Hero を高さ固定（大きい画像でもバランスが崩れないように） */
.p-kv_slider,
.p-kv_slider__track,
.p-kv_slider__track__list,
.p-kv_slider__track__list__item {
  height: 460px;
}
.p-kv_slider__track__list__item__inner {
  height: 460px;
  background-size: cover !important;
  background-position: center !important;
  background-repeat: no-repeat;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}
@media (max-width: 767px) {
  .p-kv_slider { border-radius:0; margin: 8px 16px 0; }
  .p-kv_slider,
  .p-kv_slider__track,
  .p-kv_slider__track__list,
  .p-kv_slider__track__list__item,
  .p-kv_slider__track__list__item__inner { height: 420px; }
}

/* 18. 追加セクション共通レイアウト（custom_html / .t-*） */
.t-block { padding: 52px 0 8px; }
.t-block--soft { background: var(--t-bg-deep); padding: 52px 0; }
.t-wrap { max-width: 1180px; margin: 0 auto; padding: 0 40px; }
.t-sechead { display: flex; align-items: center; gap: 12px; margin-bottom: 22px; }
.t-bar { width: 5px; height: 24px; background: var(--t-shu); border-radius: 2px; flex: 0 0 auto; }
.t-jp { font-family: var(--font-sans); font-size: 24px; font-weight: 700; letter-spacing: 0.04em; color: var(--t-ink); margin: 0; }
.t-en { font-family: var(--font-sans); font-size: 10px; letter-spacing: 0.18em; color: var(--t-ink-mute); font-weight: 600; }
.t-chev { color: var(--t-ink-mute); font-size: 16px; line-height: 1; font-family: var(--font-sans); }
.t-chev--accent { color: var(--t-shu); }
.t-grid { display: grid; }

/* CONCERN */
.t-grid--concern { grid-template-columns: repeat(5, minmax(0,1fr)); gap: 14px; }
.t-concern { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 12px; padding: 22px 16px; border: 1px solid var(--t-hairline-f); border-radius:0; background: var(--t-card); text-decoration: none; }
.t-concern__ic { width: 56px; height: 56px; border-radius: 50%; flex: 0 0 auto; }
.t-concern__tx { min-width: 0; }
.t-concern__k { display: block; font-family: var(--font-sans); font-size: 14px; font-weight: 700; color: var(--t-ink); }
.t-concern__i { display: block; font-family: var(--font-sans); font-size: 10.5px; color: var(--t-ink-mute); margin-top: 4px; }
.t-grid--concern .t-chev { display: none; }

/* BRAND */
.t-grid--brand { grid-template-columns: repeat(4, 1fr); gap: 18px; }
.t-brand { border: 1px solid var(--t-hairline-f); border-radius:0; overflow: hidden; background: var(--t-card); }
.t-brand__img { display: block; width: 100%; aspect-ratio: 16/9; }
.t-brand__body { padding: 14px 16px 16px; }
.t-brand__name { font-family: var(--font-sans); font-size: 15px; font-weight: 700; color: var(--t-ink); margin-bottom: 4px; }
.t-brand__note { font-family: var(--font-sans); font-size: 11.5px; color: var(--t-ink-mute); line-height: 1.55; min-height: 34px; }
.t-brand__meta { display: flex; align-items: center; justify-content: space-between; margin-top: 10px; }
.t-brand__cnt { font-family: var(--font-sans); font-size: 11px; color: var(--t-ink-mute); }
.t-soon { font-family: var(--font-sans); font-size: 9px; color: var(--t-ink-mute); border: 1px solid var(--t-hairline-f); border-radius:0; padding: 2px 7px; }

/* SUBSCRIPTION */
.t-subs { background: var(--t-ink); color: #fff; border-radius:0; padding: 44px 48px; display: grid; grid-template-columns: 1.2fr 1fr; gap: 40px; align-items: center; }
.t-subs__ey { font-family: var(--font-sans); font-size: 11px; letter-spacing: 0.2em; color: #E8A598; font-weight: 700; margin-bottom: 10px; }
.t-subs__h { font-family: var(--font-serif); font-size: 30px; font-weight: 600; letter-spacing: 0.02em; margin: 0 0 10px; color: #fff; }
.t-subs__p { font-family: var(--font-sans); font-size: 13px; line-height: 1.8; color: rgba(255,255,255,0.72); margin: 0; }
.t-subs__chips { display: flex; gap: 12px; margin-bottom: 18px; }
.t-chip { flex: 1; background: rgba(255,255,255,0.08); border-radius:0; padding: 16px 8px; text-align: center; }
.t-chip b { display: block; font-family: var(--font-sans); font-size: 16px; font-weight: 700; color: #fff; }
.t-chip span { display: block; font-family: var(--font-sans); font-size: 10px; color: rgba(255,255,255,0.6); margin-top: 4px; }
.t-subs__btn { display: block; text-align: center; background: var(--t-shu); color: #fff !important; border-radius: 999px; padding: 14px 0; font-family: var(--font-sans); font-size: 14px; font-weight: 700; letter-spacing: 0.04em; text-decoration: none; }
.t-subs__btn:hover { background: var(--t-shu-soft); }

/* ABOUT hero */
.t-about { position: relative; border-radius:0; overflow: hidden; aspect-ratio: 21/7; }
.t-about__ov { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,0.12), rgba(0,0,0,0.5)); }
.t-about__tx { position: absolute; left: 48px; right: 48px; bottom: 40px; max-width: 560px; color: #fff; z-index: 1; }
.t-about__ey { font-family: var(--font-sans); font-size: 11px; letter-spacing: 0.2em; opacity: 0.85; font-weight: 600; margin-bottom: 8px; }
.t-about__h { font-family: var(--font-serif); font-size: 32px; font-weight: 600; line-height: 1.45; margin-bottom: 10px; }
.t-about__p { font-family: var(--font-sans); font-size: 13px; line-height: 1.7; opacity: 0.88; margin-bottom: 14px; }
.t-about__btn { display: inline-flex; align-items: center; gap: 6px; background: #fff; color: var(--t-ink) !important; border-radius: 999px; padding: 11px 22px; font-family: var(--font-sans); font-size: 13px; font-weight: 600; text-decoration: none; }

/* GUIDE */
.t-grid--guide { grid-template-columns: repeat(4, 1fr); gap: 14px; }
.t-guide { display: flex; align-items: center; justify-content: space-between; background: var(--t-bg-deep); border-radius:0; padding: 20px 22px; text-decoration: none; }
.t-guide__k { display: block; font-family: var(--font-sans); font-size: 14px; font-weight: 600; color: var(--t-ink); }
.t-guide__r { display: block; font-family: var(--font-sans); font-size: 8.5px; letter-spacing: 0.18em; color: var(--t-ink-mute); margin-top: 4px; font-weight: 600; }

@media (max-width: 767px) {
  .t-wrap { padding: 0 16px; }
  .t-block { padding: 26px 0 8px; }
  .t-block--soft { padding: 24px 0; }
  .t-grid--concern { grid-template-columns: 1fr 1fr; gap: 9px; }
  .t-concern { flex-direction: row; text-align: left; padding: 13px; gap: 11px; }
  .t-concern__ic { width: 40px; height: 40px; border-radius:0; }
  .t-grid--concern .t-chev { display: block; margin-left: auto; }
  .t-grid--brand { grid-template-columns: 1fr 1fr; gap: 10px; }
  .t-subs { grid-template-columns: 1fr; padding: 24px 20px; border-radius:0; gap: 20px; }
  .t-subs__h { font-size: 22px; }
  .t-about { aspect-ratio: 16/10; }
  .t-about__tx { left: 18px; right: 18px; bottom: 18px; }
  .t-about__h { font-size: 20px; }
  .t-grid--guide { grid-template-columns: 1fr; gap: 8px; }
}

/* ============================================================
   PHASE 5 — 共通プリミティブ（フォーム / ページ / アカウント / カート）
   購入フロー・カート・マイページ・認証・問い合わせ・静的で共有。
   マークアップ無改変・既存クラスへのCSS上書きのみ。全て :root トークン参照。
   ============================================================ */

/* v72改修: 超ワイド画面での破綻防止 — 主要コンテンツに幅上限を付与 */
.p-product_content__inner {
  max-width: 1120px;
  margin-left: auto;
  margin-right: auto;
}
main.l-container:not(#customers-sessions-sign-in-view):not(#customers-view) > .l-container__row,
main.l-container:not(#customers-sessions-sign-in-view):not(#customers-view) > #add_product_async_view {
  max-width: 1180px;
  margin-left: auto;
  margin-right: auto;
}

/* ── 5-1. コンテナ幅・余白 ───────────────────────────── */

/* ── 5-2. ページ見出し（p-page_header） ───────────────
   プロト: 朱の短い上罫 ＋ 明朝の大見出し（左寄せ）。 */
.p-page_header {
  margin-bottom: 34px;
}
.p-page_header__inner {
  text-align: left !important;
  border: none;
  padding: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.p-page_header__inner__title,
.p-page_header .u-text--head {
  position: relative;
  text-align: left !important;
  font-family: var(--font-serif) !important;
  font-weight: 500 !important;
  font-size: 30px !important;
  letter-spacing: 0.1em !important;
  color: var(--t-ink) !important;
  line-height: 1.4;
  padding-top: 20px;
}
.p-page_header__inner__title::before {
  content: '';
  position: absolute;
  top: 0; left: 2px;
  width: 30px; height: 2px;
  background: var(--t-shu);
}
/* v72改修: 明るい編集系ページのローマ字アイブロウ（お知らせ等） */
.t-page_eyebrow {
  display: flex; align-items: center; gap: 10px;
  font-family: var(--font-sans);
  font-size: 10px; font-weight: 600; letter-spacing: 0.28em;
  color: var(--t-shu); margin-bottom: 14px;
}
.t-page_eyebrow::before { content: ''; width: 24px; height: 1px; background: var(--t-shu); }
.p-page_header__inner:has(.t-page_eyebrow) .p-page_header__inner__title { padding-top: 0; }
.p-page_header__inner:has(.t-page_eyebrow) .p-page_header__inner__title::before { display: none; }
.p-page_header__inner__lead {
  text-align: left !important;
  font-family: var(--font-serif) !important;
  font-size: 13px !important;
  line-height: 2;
  letter-spacing: 0.04em;
  color: var(--t-ink-soft) !important;
  margin-top: 12px;
}
@media (max-width: 767px) {
  .p-page_header__inner__title,
  .p-page_header .u-text--head { font-size: 23px !important; }
}

/* ── 5-3. フォームテーブル（c-form_table） ─────────────
   th=ラベル（サンセリフ小・字間）/ td=入力。行はヘアラインで区切る。 */
.c-form_table {
  width: 100%;
  border-collapse: collapse;
  border-top: 0.5px solid var(--t-hairline);
}
.c-form_table th,
.c-form_table td {
  border-bottom: 0.5px solid var(--t-hairline-f);
  vertical-align: middle;
  padding: 18px 4px;
  text-align: left;
}
.c-form_table th {
  font-family: var(--font-sans) !important;
  font-size: 11.5px !important;
  font-weight: 500 !important;
  letter-spacing: 0.16em;
  color: var(--t-ink) !important;
  width: 30%;
  white-space: nowrap;
}
.c-form_table td {
  font-family: var(--font-sans);
  color: var(--t-ink-soft);
}
/* 必須マーク */
.c-form_table .u-color__text--alert,
.p-account__inner__content__form__text .u-color__text--alert {
  color: var(--t-shu) !important;
}
@media (max-width: 767px) {
  .c-form_table,
  .c-form_table tbody,
  .c-form_table tr,
  .c-form_table th,
  .c-form_table td { display: block; width: 100%; }
  .c-form_table th { border-bottom: none; padding: 16px 0 6px; }
  .c-form_table td { padding: 0 0 16px; border-bottom: 0.5px solid var(--t-hairline-f); }
}

/* ── 5-4. 入力欄（プロト: ヘアライン枠・白地・角なし） ─── */
.u-text--input,
.c-form_table input[type="text"],
.c-form_table input[type="email"],
.c-form_table input[type="password"],
.c-form_table input[type="tel"],
.c-form_table input[type="number"],
.c-form_table select,
.c-form_table textarea {
  width: 100%;
  box-sizing: border-box;
  padding: 12px 14px;
  border: 0.5px solid var(--t-hairline) !important;
  background: var(--t-card) !important;
  border-radius: 0 !important;
  font-family: var(--font-sans);
  font-size: 14px;
  color: var(--t-ink);
  line-height: 1.6;
}
.u-text--input:focus,
.c-form_table input:focus,
.c-form_table select:focus,
.c-form_table textarea:focus {
  outline: none;
  border-color: var(--t-shu) !important;
}

/* Buttons and account shell are route-owned by account.css / commerce.css / checkout.css / cart.css. */

/* Account / checkout / cart / history / auth route styles are owned by account.css, mypage.css, checkout.css, cart.css and commerce.css. */

/* ── 5-12. 静的ページ本文（p-page_content） ───────────── */
.p-page_content__inner {
  max-width: 780px;
  font-family: var(--font-serif);
  font-size: 14px;
  line-height: 2.05;
  letter-spacing: 0.03em;
  color: var(--t-ink-soft);
}
.p-page_content__inner h2 {
  font-family: var(--font-serif) !important;
  font-size: 19px !important;
  letter-spacing: 0.06em;
  color: var(--t-ink) !important;
  margin: 36px 0 14px;
  padding-bottom: 10px;
  border-bottom: 0.5px solid var(--t-hairline-f);
}
.p-page_content__inner h3 {
  font-family: var(--font-serif) !important;
  font-size: 15.5px !important;
  color: var(--t-ink) !important;
  margin: 24px 0 8px;
}
.p-page_content__inner p { margin: 0 0 16px; }
.p-page_content__inner a { color: var(--t-shu); }

/* ── 5-20. 商品詳細（PDP: c-product_info / c-product_img） ── */
.c-product_info__category {
  font-family: var(--font-sans) !important;
  font-size: 10.5px !important;
  letter-spacing: 0.22em;
  color: var(--t-shu) !important;
  font-weight: 500 !important;
  margin-bottom: 10px;
}
.c-product_info__title {
  font-family: var(--font-serif) !important;
  font-size: 27px !important;
  font-weight: 500 !important;
  letter-spacing: 0.08em;
  line-height: 1.45;
  color: var(--t-ink) !important;
  margin-bottom: 14px;
}
.c-product_info__price {
  font-family: var(--font-sans) !important;
  color: var(--t-ink) !important;
  font-size: 22px !important;
  letter-spacing: 0.02em;
}
.c-product_info__price .u-color__text--sub,
.c-product_info__price small { color: var(--t-ink-mute) !important; font-size: 13px !important; }
.c-product_info__description {
  font-family: var(--font-serif) !important;
  font-size: 13.5px !important;
  line-height: 2 !important;
  letter-spacing: 0.04em;
  color: var(--t-ink-soft) !important;
  margin: 18px 0;
}
.c-product_info__category,
.c-product_info__title,
.c-product_info__price,
.c-product_info__description { display: block; }

/* レビュー星 */
.c-product_info__average-star, .c-product_info__stars { color: var(--t-shu) !important; }
.c-product_info__review { font-family: var(--font-sans) !important; font-size: 11px !important; color: var(--t-ink-mute) !important; letter-spacing: 0.08em; }

/* 数量ステッパー */
.c-order_quantity {
  display: inline-flex !important;
  align-items: center;
  border: 0.5px solid var(--t-hairline) !important;
  border-radius: 0 !important;
  overflow: hidden;
}
.c-order_quantity__input {
  border: none !important;
  text-align: center;
  font-family: var(--font-sans) !important;
  background: var(--t-card) !important;
}

/* 詳細アコーディオン */
.c-product_info__details__summary {
  font-family: var(--font-serif) !important;
  font-size: 14px !important;
  color: var(--t-ink) !important;
  letter-spacing: 0.05em;
  padding: 16px 0;
  border-top: 0.5px solid var(--t-hairline-f);
  cursor: pointer;
}
.c-product_info__details__content {
  font-family: var(--font-serif) !important;
  font-size: 13px !important;
  line-height: 1.95;
  color: var(--t-ink-soft) !important;
}

/* バッジ */
.c-badge {
  font-family: var(--font-sans) !important;
  font-size: 9.5px !important;
  letter-spacing: 0.12em;
  border-radius: 0 !important;
}

/* 購入ボタン（朱・全幅） */
.c-product_info__form__submit:not(#btn-stock-waiting-list),
.c-product_info__shop-cart-form .u-color__btn--bg {
  width: 100% !important;
  min-height: 56px !important;
  border-radius: 0 !important;
  background: var(--t-shu) !important;
  color: #fff !important;
  font-family: var(--font-serif) !important;
  letter-spacing: 0.2em !important;
  font-weight: 500 !important;
  display: flex !important; align-items: center; justify-content: center; gap: 10px;
}
.c-product_info__form__submit:not(#btn-stock-waiting-list):hover { background: var(--t-shu-soft) !important; }
/* EC-FORCE stock-waiting hooks. The platform JS owns stock-state visibility and
   click behavior; these rules intentionally do not set display. */
#product-show-view :is(
  #btn-stock-waiting-list,
  .co-btn-stock-waiting-list,
  .js-variant-btn[data-type="stock-waiting-list"]
) {
  box-sizing: border-box;
  width: 100% !important;
  min-height: 56px !important;
  margin: 12px 0 0 !important;
  padding: 15px 22px !important;
  border: 1.5px solid var(--t-shu) !important;
  border-radius: 0 !important;
  background: #fff !important;
  color: var(--t-shu) !important;
  font-family: var(--font-serif) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  line-height: 1.8 !important;
  letter-spacing: .16em !important;
  text-align: center !important;
  text-decoration: none !important;
  cursor: pointer;
  transition: background-color .18s ease, color .18s ease, border-color .18s ease;
}
#product-show-view :is(
  #btn-stock-waiting-list,
  .co-btn-stock-waiting-list,
  .js-variant-btn[data-type="stock-waiting-list"]
):hover {
  border-color: var(--t-shu) !important;
  background: var(--t-shu) !important;
  color: #fff !important;
}
#product-show-view :is(
  #btn-stock-waiting-list,
  .co-btn-stock-waiting-list,
  .js-variant-btn[data-type="stock-waiting-list"]
):focus-visible {
  outline: 2px solid var(--t-shu) !important;
  outline-offset: 3px;
}
#product-show-view .js-variant-btn[data-type="stock-waiting-list"]:disabled {
  border-color: var(--t-hairline) !important;
  background: var(--t-bg-deep) !important;
  color: var(--t-ink-soft) !important;
  cursor: not-allowed;
  opacity: .7;
}
#product-show-view .kk-pdp-soldout-status {
  display: flex;
  align-items: center;
  margin: 10px 0 16px;
}
#product-show-view .kk-pdp-soldout-status .c-product_item__inner__eyecatch__tags__soldout {
  display: inline-block;
  margin: 0 !important;
  padding: 5px 12px !important;
  font-size: 11px !important;
  line-height: 1.4;
}

#product-show-view :is(#text-out-of-stock, .co-text-out-of-stock) {
  box-sizing: border-box;
  width: 100% !important;
  min-height: 44px;
  border: 1px solid var(--t-hairline) !important;
  border-radius: 0 !important;
  background: var(--t-bg-deep) !important;
  color: var(--t-ink-soft) !important;
  font-family: var(--font-sans) !important;
  font-size: 12px !important;
  letter-spacing: .08em;
  text-align: center;
}
@media (max-width: 640px) {
  #product-show-view :is(
    #btn-stock-waiting-list,
    .co-btn-stock-waiting-list,
    .js-variant-btn[data-type="stock-waiting-list"]
  ) {
    min-height: 52px !important;
    padding: 13px 16px !important;
    font-size: 12px !important;
    letter-spacing: .12em !important;
  }
}
.c-product_info__favorite__btn {
  border: 0.5px solid var(--t-hairline) !important;
  border-radius: 0 !important;
  background: var(--t-card) !important;
}
/* W-LIQ2 B: PDP購入パネル内のお気に入りボタンのみdesign05正(角丸54px枠+アイコン単体)へ。
   他画面(subs_orders/products/show等)は同じ.c-product_info__favorite__btnをテキスト付きで使うため対象外 */
.kk-buy-panel .c-product_info__favorite__btn {
  border: 1.5px solid var(--t-hairline) !important;
  border-radius: 6px !important;
  width: 54px !important;
  height: 54px !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
}
.kk-buy-panel .c-product_info__favorite__btn:hover { border-color: var(--t-shu) !important; }
.kk-buy-panel .c-product_info__favorite .favorite-text { display: none; }
.kk-buy-panel .c-product_info__favorite .favorite-icon { font-size: 20px; color: var(--t-ink); }
.kk-buy-panel .c-product_info__favorite__btn:hover .favorite-icon { color: var(--t-shu); }
.kk-buy-panel .js-favorite-async[data-is-favorite="true"] .favorite-icon { color: var(--t-shu) !important; }
.kk-buy-panel .js-favorite-async[data-is-favorite="true"] .favorite-icon.u-icon--heart--border::before { content: "\e90b"; color: var(--t-shu) !important; }
.c-product_info__point {
  font-family: var(--font-sans) !important;
  font-size: 11.5px !important;
  color: var(--t-ink-soft) !important;
  letter-spacing: 0.04em;
}

/* 画像ギャラリー */
.c-product_img__image, .c-product_img__item img, .c-product_img__slider--main img {
  width: 100%;
  display: block;
  background: var(--t-bg-deep);
}
/* v72改修: PDPメイン画像を正方形で堅牢化（基準デザインの正方形ビジュアル） */
.p-product_content__inner__img .c-product_img__list__vertical { grid-template-columns: 1fr; }
.p-product_content__inner__img .c-product_img__image {
  aspect-ratio: 1 / 1;
  height: auto;
  object-fit: cover;
}
.c-product_img__slider--thumbnail .c-product_img__item {
  border: 0.5px solid var(--t-hairline-f);
}
/* 2カラムの列間 */
.p-product_content__inner__info { padding-left: 8px; }

/* PDP 関連商品（products_show_recommend・slick未起動時はグリッド） */
.p-recommend_product {
  padding: 52px 0 8px !important;
  border-top: 0.5px solid var(--t-hairline-f);
  margin-top: 44px;
}
.p-recommend_product__inner__title { margin-bottom: 24px; }
/* W-LIQ3⑥: 列数はdata-slides由来のCSS変数--pslides(未指定時4件、既存挙動を維持)で決定 */
.p-recommend_product .p-product_slider__list {
  display: grid !important;
  grid-template-columns: repeat(var(--pslides, 4), minmax(0,1fr)) !important;
  gap: 32px 20px !important;
  list-style: none; margin: 0; padding: 0;
  width: 100% !important;
}
.p-recommend_product .p-product_slider__item { list-style: none; width: auto !important; margin: 0 !important; }
.p-recommend_product .p-product_slider__nav { display: none !important; }
/* PDP breadcrumb shell is owned by page-shell.css (single PC/TB/SP instance). */
.c-breadcrumbs { font-family: var(--font-sans) !important; font-size: 11px !important; letter-spacing: 0.06em; color: var(--t-ink-mute) !important; }
.c-breadcrumbs__item__inner { color: var(--t-ink-mute) !important; }
.c-breadcrumbs__item__inner:hover { color: var(--t-shu) !important; }
@media (max-width: 767px) {
  .p-recommend_product .p-product_slider__list { grid-template-columns: 1fr 1fr !important; }
}

/* ── 5-21. 商品一覧ヘッダ・ツールバー（p-list_header / c-list_tool） ── */
.p-list_header { margin-bottom: 20px; }
.p-list_header__inner__title {
  position: relative;
  font-family: var(--font-serif) !important;
  font-weight: 500 !important;
  font-size: 30px !important;
  letter-spacing: 0.1em !important;
  color: var(--t-ink) !important;
  padding-top: 20px;
  text-align: left !important;
}
.p-list_header__inner__title::before {
  content: '';
  position: absolute;
  top: 0; left: 2px;
  width: 30px; height: 2px;
  background: var(--t-shu);
}
.c-list_tool {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 12px 0;
  border-top: 0.5px solid var(--t-hairline-f);
  border-bottom: 0.5px solid var(--t-hairline-f);
  margin-bottom: 24px;
}
.c-list_tool__num {
  font-family: var(--font-sans) !important;
  font-size: 12px !important;
  letter-spacing: 0.08em;
  color: var(--t-ink-soft) !important;
}
.c-list_tool__sort, .c-list_tool select {
  font-family: var(--font-serif) !important;
  font-size: 13px !important;
  letter-spacing: 0.1em;
  color: var(--t-ink) !important;
}

/* NEW/SOLD バッジの折返し防止（商品カード共通） */
.c-product_item__inner__eyecatch__tags__new,
.c-product_item__inner__eyecatch__tags__soldout {
  white-space: nowrap !important;
  padding: 3px 8px !important;
  line-height: 1.3;
}

/* ── 5-22. 商品一覧（全幅・チップフィルタ）v72改修 ───────── */
.t-plp2 { max-width: 1180px; margin: 0 auto; padding: 8px 40px 0; box-sizing: border-box; }
.t-plp2__head { margin-bottom: 26px; }
.t-plp2__eyebrow {
  display: flex; align-items: center; gap: 10px;
  font-family: var(--font-sans);
  font-size: 10px; letter-spacing: 0.28em; font-weight: 600;
  color: var(--t-shu);
  margin-bottom: 14px;
}
.t-plp2__eyebrow::before { content: ''; width: 24px; height: 1px; background: var(--t-shu); }
.t-plp2__title {
  font-family: var(--font-serif) !important;
  font-weight: 500 !important;
  font-size: 42px !important;
  letter-spacing: 0.14em;
  color: var(--t-ink);
  margin: 0 0 12px;
  line-height: 1.2;
}
.t-plp2__sub {
  font-family: var(--font-serif);
  font-size: 13.5px; letter-spacing: 0.06em;
  color: var(--t-ink-soft);
  margin: 0;
}
.t-plp2__chips {
  display: flex; flex-wrap: wrap; gap: 10px;
  margin-bottom: 8px;
}
.t-plp2__chip {
  font-family: var(--font-sans);
  font-size: 12px; letter-spacing: 0.08em; font-weight: 500;
  color: var(--t-ink-soft) !important;
  text-decoration: none;
  white-space: nowrap;
  padding: 9px 18px;
  border: 0.5px solid var(--t-hairline);
  background: transparent;
  transition: background .15s ease, color .15s ease, border-color .15s ease;
}
.t-plp2__chip:hover { border-color: var(--t-ink); color: var(--t-ink) !important; }
.t-plp2__chip.is-current {
  background: var(--t-ink); color: #FFFFFF !important; border-color: var(--t-ink);
}
.t-plp2__main { min-width: 0; }

/* 件数＋ソート行 */
.p-list_header--tool { margin: 0 0 24px; border-top: 0.5px solid var(--t-hairline-f); border-bottom: 0.5px solid var(--t-hairline-f); }
.p-list_header--tool .p-list_header__inner {
  display: flex; align-items: center; justify-content: space-between; gap: 16px;
  padding: 13px 0;
}

/* W-LIQ5G: EC-Force基盤既定の.p-product_list{padding:0 40px/0 15px(SP)}が、
   既に自前で余白を持つ.l-container__row(20px)/.t-plp2(SP16px)と二重に効いてSPで
   カード幅を圧迫していた(390px viewportで実測: 16+15+18=49px×2が消費されカード内側が痩せる)。
   PLP側は.l-container__row/.t-plp2で余白を管理する方針のためここでは0にリセット */
#product-index-view .p-product_list{padding-left:0 !important;padding-right:0 !important}
/* PLP 商品グリッド（3列・クリーンカード） */
#product-index-view .p-product_list__list {
  display: grid !important;
  gap: 46px 30px;
  list-style: none; margin: 0; padding: 0;
}
#product-index-view .p-product_list__list:has(> .medium-up--one-2){grid-template-columns:repeat(2,minmax(0,1fr))}
#product-index-view .p-product_list__list:has(> .medium-up--one-3){grid-template-columns:repeat(3,minmax(0,1fr))}
#product-index-view .p-product_list__list:has(> .medium-up--one-4){grid-template-columns:repeat(4,minmax(0,1fr))}
#product-index-view .p-product_list__list:has(> .medium-up--one-5){grid-template-columns:repeat(5,minmax(0,1fr))}
#product-index-view .p-product_list__list__item { width: auto !important; margin: 0 !important; float: none !important; }
/* カード内のオーバーレイ操作ボタンは基準で非表示 */
#product-index-view .c-product_item__actions { display: none !important; }
/* W-LIQ5③: カテゴリタグは商品名と価格の間へ(旧: 商品名の上)。.c-product_item__inner__titleは
   cw-title-row配下に移設済みでflexの直接子ではなくなり同ルールのorder:2は不発、
   代わりにcw-title-row/cw-prices/cw-rbtnsが揃ってorder既定0のため、categoryのorderを0にして
   DOM順(cw-title-row→category→cw-prices)をそのまま反映させる */
#product-index-view .c-product_item__inner__content { display: flex; flex-direction: column; }
#product-index-view .c-product_item__inner__category { order: 0; margin-bottom: 5px; }
#product-index-view .c-product_item__inner__title { order: 2; margin-bottom: 5px; }
#product-index-view .c-product_item__inner__price { order: 3; }
@media (max-width: 767px) {
  #product-index-view .p-product_list__list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 16px; }
  .t-plp2 { padding-left: 16px; padding-right: 16px; }
  .t-plp2__title { font-size: 30px !important; }
}

/* ── 5-22b. 商品カード共通化（検索/カテゴリー/ランキング/セレクション）v72改修
   PLPと同じ 3列クリーンカードを全リスト系ページへ横展開 ── */
body.template-search .p-product_list__list,
body.template-collection .p-product_list__list,
body.template-list .p-product_list__list,
body.template-ranking .p-product_list__list {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 46px 30px;
  list-style: none; margin: 0; padding: 0;
}
body.template-search .p-product_list__list__item,
body.template-collection .p-product_list__list__item,
body.template-list .p-product_list__list__item,
body.template-ranking .p-product_list__list__item {
  width: auto !important; margin: 0 !important; float: none !important;
}
/* オーバーレイ操作ボタンは基準で非表示 */
body.template-search .c-product_item__actions,
body.template-collection .c-product_item__actions,
body.template-list .c-product_item__actions,
body.template-ranking .c-product_item__actions {
  display: none !important;
}
/* W-LIQ5③: カテゴリタグは商品名と価格の間へ(#product-index-viewと同じ理由でorder:0に) */
body.template-search .c-product_item__inner__content,
body.template-collection .c-product_item__inner__content,
body.template-list .c-product_item__inner__content,
body.template-ranking .c-product_item__inner__content {
  display: flex; flex-direction: column;
}
body.template-search .c-product_item__inner__category,
body.template-collection .c-product_item__inner__category,
body.template-list .c-product_item__inner__category,
body.template-ranking .c-product_item__inner__category { order: 0; margin-bottom: 5px; }
body.template-search .c-product_item__inner__title,
body.template-collection .c-product_item__inner__title,
body.template-list .c-product_item__inner__title,
body.template-ranking .c-product_item__inner__title { order: 2; margin-bottom: 5px; }
body.template-search .c-product_item__inner__price,
body.template-collection .c-product_item__inner__price,
body.template-list .c-product_item__inner__price,
body.template-ranking .c-product_item__inner__price { order: 3; }
@media (max-width: 767px) {
  body.template-search .p-product_list__list,
  body.template-collection .p-product_list__list,
  body.template-list .p-product_list__list,
  body.template-ranking .p-product_list__list {
    grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 16px;
  }
}

/* ── 5-13. 認証ページ見出し（プロト: 中央寄せ・朱アイブロウ罫・明朝タイトル） ── */
body.template-register .p-page_header,
body.template-password .p-page_header {
  margin-bottom: 30px;
  text-align: center;
}
body.template-register .p-page_header__inner,
body.template-password .p-page_header__inner {
  align-items: center;
  text-align: center !important;
}
body.template-register .p-page_header__inner__title,
body.template-password .p-page_header__inner__title {
  text-align: center !important;
  font-size: 24px !important;
  padding-top: 26px;
}
body.template-register .p-page_header__inner__title::before,
body.template-password .p-page_header__inner__title::before {
  left: 50%;
  transform: translateX(-50%);
  width: 22px;
}
/* Auth/register page styling is owned by commerce.css / mypage.css. */

/* ── 5-14. FAQ（p-faq・開いたQ&Aリスト） ───────────────── */
.p-faq__inner { max-width: 820px; margin: 0 auto; }
.p-faq__inner__list { border-top: 0.5px solid var(--t-hairline); }
.p-faq__inner__list__item {
  border-bottom: 0.5px solid var(--t-hairline-f) !important;
  padding: 4px 0;
}
.p-faq__inner__list__item__question {
  display: flex !important;
  position: relative;
  align-items: baseline;
  gap: 12px;
  padding: 18px 4px;
}
.p-faq__inner__list__item__question > * { position: static !important; }
.p-faq__inner__list__item__question .u-text--subhead {
  font-family: var(--font-serif) !important;
  font-size: 17px !important;
  color: var(--t-shu) !important;
  flex: 0 0 auto;
  line-height: 1.4;
}
.p-faq__inner__list__item__question pre {
  font-family: var(--font-serif) !important;
  font-size: 15px !important;
  font-weight: 500;
  color: var(--t-ink) !important;
  letter-spacing: 0.04em;
  line-height: 1.6;
  flex: 1;
}
.p-faq__inner__list__item__question .u-icon--plus,
.p-faq__inner__list__item__question .u-icon--minus { display: none !important; }
.p-faq__inner__list__item__answer {
  display: flex !important;
  gap: 12px;
  padding: 0 4px 20px;
  max-height: none !important;
  overflow: visible !important;
}
.p-faq__inner__list__item__answer > * { position: static !important; }
.p-faq__inner__list__item__answer .u-text--subhead {
  font-family: var(--font-serif) !important;
  font-size: 15px !important;
  color: var(--t-ink-mute) !important;
  flex: 0 0 auto;
}
.p-faq__inner__list__item__answer pre {
  font-family: var(--font-sans) !important;
  font-size: 13px !important;
  color: var(--t-ink-soft) !important;
  line-height: 1.9;
  letter-spacing: 0.02em;
  flex: 1;
}

/* ── 5-15. 定義表（c-table / p-page_table：特商法・ヘルプ） ── */
.p-page_table__inner { max-width: 860px; margin: 0 auto; }
.c-table { width: 100%; border-collapse: collapse; border-top: 0.5px solid var(--t-hairline); }
.c-table tr { border-bottom: 0.5px solid var(--t-hairline-f); }
.c-table th {
  text-align: left;
  vertical-align: top;
  width: 30%;
  padding: 16px 18px;
  background: var(--t-bg-deep);
  border-right: 0.5px solid var(--t-hairline-f);
  font-family: var(--font-sans) !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  letter-spacing: 0.1em;
  color: var(--t-ink) !important;
}
.c-table td {
  padding: 16px 18px;
  overflow-wrap: anywhere;
  font-family: var(--font-serif) !important;
  font-size: 13.5px !important;
  line-height: 1.9;
  letter-spacing: 0.03em;
  color: var(--t-ink-soft) !important;
}
@media (max-width: 767px) {
  .c-table, .c-table tbody, .c-table tr, .c-table th, .c-table td { display: block; width: 100%; }
  .c-table th { border-right: none; padding: 12px 14px 6px; }
  .c-table td { padding: 0 14px 14px; }
}

/* ── 5-16. お問い合わせヘッダ（p-contact__head） ────────── */
.p-contact__head { max-width: 640px; margin: 0 auto 8px; }
.p-contact__head__title {
  font-family: var(--font-serif) !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  letter-spacing: 0.06em;
  color: var(--t-ink) !important;
  margin-bottom: 10px;
}
.p-contact__head__notes,
.p-contact__link {
  font-family: var(--font-serif) !important;
  font-size: 12.5px !important;
  line-height: 1.95;
  letter-spacing: 0.03em;
  color: var(--t-ink-soft) !important;
}
/* Account form bottom CTA is owned by mypage.css. */

/* Account tables are owned by mypage.css. */

/* ── 5-25. お知らせ一覧（p-news / c-news_item） ────────── */
.p-news__inner { max-width: 860px; margin: 0 auto; }
.p-news__inner__list { border-top: 0.5px solid var(--t-hairline); }
.c-news_item { border-bottom: 0.5px solid var(--t-hairline-f) !important; }
.c-news_item__inner {
  display: flex;
  align-items: baseline;
  gap: 24px;
  padding: 18px 4px;
  text-decoration: none;
}
.c-news_item__inner__date {
  flex: 0 0 auto;
  font-family: var(--font-sans) !important;
  font-size: 11px !important;
  letter-spacing: 0.12em;
  color: var(--t-ink-mute) !important;
}
.c-news_item__inner__title {
  flex: 1;
  font-family: var(--font-serif) !important;
  font-size: 14px !important;
  letter-spacing: 0.04em;
  color: var(--t-ink) !important;
  line-height: 1.7;
}
.c-news_item__inner:hover .c-news_item__inner__title { color: var(--t-shu) !important; }
/* ページネーション */
.c-pagination { display: flex; justify-content: center; }
.c-pagination__list { display: flex; gap: 6px; list-style: none; margin: 0; padding: 0; border: none !important; }
.c-pagination__list__item { border: none !important; }
.c-pagination__list__item__page,
.c-pagination__list__item__prev,
.c-pagination__list__item__next {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 36px; height: 36px; padding: 0 8px;
  border: 0.5px solid var(--t-hairline) !important;
  font-family: var(--font-sans); font-size: 12px; color: var(--t-ink);
  text-decoration: none;
}
.c-pagination__list__item.is-active .c-pagination__list__item__page {
  background: var(--t-ink); color: #fff;
}
@media (max-width: 767px) {
  .c-news_item__inner { flex-direction: column; gap: 6px; }
}

/* ── 5-26. 売上ランキング 順位バッジ（c-product_ranking） ── */
.c-product_ranking {
  position: absolute; top: 8px; left: 8px; z-index: 2;
  width: 30px; height: 30px; border-radius: 50%;
  background: var(--t-ink); color: #fff;
  display: flex; align-items: center; justify-content: center;
  box-shadow: 0 2px 8px rgba(0,0,0,0.2);
}
.c-product_ranking[data-is-top-three] { background: var(--t-shu); }
.c-product_ranking__text { font-family: var(--font-serif); font-size: 14px; font-weight: 500; line-height: 1; }

/* ── 5-17. pre 要素リセット（フォーム内の pre 崩れ防止） ── */
.p-faq pre, .c-table pre, .p-page_content pre, .p-account pre, .p-checkout pre {
  font-family: inherit;
  white-space: pre-wrap;
  word-break: break-word;
  margin: 0;
}

/* ── 5-27. 法務3ページ（特商法/プライバシー/利用規約）v72改修 ──
   基準デザイン: 濃紺フルブリードのヒーロー＋朱ローマ字アイブロウ＋クリーム明朝タイトル。
   本文は max-width 820 中央・明朝・セクション罫。 */
.t-legal_hero {
  position: relative;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  background: var(--t-ink);
  padding: 58px 24px 48px;
  margin-top: 0;
  margin-bottom: 0;
}
.t-legal_hero__inner {
  max-width: 820px;
  margin: 0 auto;
  text-align: left !important;
  align-items: flex-start !important;
}
.t-legal_hero__eyebrow {
  display: flex; align-items: center; gap: 10px;
  font-family: var(--font-sans); font-size: 10px; font-weight: 600;
  letter-spacing: 0.3em; color: var(--t-shu); margin-bottom: 18px;
}
.t-legal_hero__eyebrow::before { content: ''; width: 20px; height: 1px; background: var(--t-shu); }
.t-legal_hero .t-legal_hero__title {
  font-family: var(--font-serif) !important; font-weight: 500 !important;
  font-size: 34px !important; letter-spacing: 0.08em; line-height: 1.4;
  color: var(--t-bg) !important; padding: 0 !important; margin: 0 !important;
  text-align: left !important;
}
.t-legal_hero .t-legal_hero__title::before { display: none !important; }

/* 法務ページ本文を中央820幅に */
main:has(.t-legal_hero) .p-page_table,
main:has(.t-legal_hero) .p-page_content,
main:has(.t-legal_hero) > .l-container__row {
  max-width: 820px;
  margin-left: auto;
  margin-right: auto;
}
main:has(.t-legal_hero) .p-page_content__inner h2,
main:has(.t-legal_hero) .p-page_content__inner .u-text--subhead {
  font-family: var(--font-serif) !important;
  font-size: 17px !important;
  font-weight: 500 !important;
  letter-spacing: 0.08em;
  color: var(--t-ink) !important;
  margin: 0 0 14px !important;
}
main:has(.t-legal_hero) .p-page_content__inner ul { list-style: none; margin: 0; padding: 0; }
main:has(.t-legal_hero) .p-page_content__inner ul > li {
  padding-bottom: 34px;
  margin-bottom: 34px;
  border-bottom: 0.5px solid var(--t-hairline-f);
}
main:has(.t-legal_hero) .p-page_content__inner ul > li:last-child { border-bottom: none; }
main:has(.t-legal_hero) .p-page_content__inner .u-text--body,
main:has(.t-legal_hero) .p-page_content__inner pre {
  font-family: var(--font-serif) !important;
  font-size: 13px !important;
  line-height: 2.05 !important;
  letter-spacing: 0.03em;
  color: var(--t-ink-soft) !important;
}
@media (max-width: 767px) {
  .t-legal_hero { padding: 40px 16px 32px; }
  .t-legal_hero__title { font-size: 25px !important; }
}

/* FAQ 問い合わせ導線（v72改修） */
.t-faq_cta {
  margin: 44px auto 0;
  max-width: 620px;
  background: var(--t-card);
  border: 0.5px solid var(--t-hairline);
  padding: 30px 26px;
  text-align: center;
}
.t-faq_cta__title {
  font-family: var(--font-serif); font-size: 15px; font-weight: 500;
  letter-spacing: 0.08em; color: var(--t-ink); margin-bottom: 8px;
}
.t-faq_cta__lead {
  font-family: var(--font-serif); font-size: 12.5px;
  color: var(--t-ink-soft); letter-spacing: 0.04em; margin-bottom: 20px;
}
.t-faq_cta__btn {
  display: inline-block; padding: 13px 34px;
  background: var(--t-ink); color: var(--t-bg) !important;
  font-family: var(--font-serif); font-size: 12.5px; letter-spacing: 0.22em;
  text-decoration: none; transition: background .15s ease;
}
.t-faq_cta__btn:hover { background: var(--t-shu); }

/* お問い合わせ: FAQ導線を控えめなアウトラインリンクへ（朱ベタ帯をやめる） */
.p-contact__link { text-align: right; margin-bottom: 18px; }
.p-contact__link .p-contact__link__btn {
  display: inline-flex !important; align-items: center; gap: 8px;
  width: auto !important; min-height: 0 !important;
  background: transparent !important;
  color: var(--t-ink) !important;
  border: 0.5px solid var(--t-hairline) !important;
  border-radius: 0 !important;
  padding: 9px 18px !important;
  font-family: var(--font-serif) !important; font-size: 12px !important;
  letter-spacing: 0.14em !important; font-weight: 500 !important;
  white-space: nowrap !important;
}
.p-contact__link .p-contact__link__btn:hover {
  border-color: var(--t-ink) !important; color: var(--t-shu) !important;
}
.p-contact__head__title {
  font-family: var(--font-sans) !important; font-size: 10px !important;
  font-weight: 600 !important; letter-spacing: 0.28em !important;
  color: var(--t-shu) !important; margin-bottom: 8px;
}

/* マイページ グリーティング（会員名を明朝で）v72改修 */
.p-mypage__name {
  font-family: var(--font-serif) !important;
  font-size: 22px !important;
  font-weight: 500 !important;
  letter-spacing: 0.12em;
  color: var(--t-ink) !important;
  margin-bottom: 30px;
  padding-bottom: 26px;
  border-bottom: 0.5px solid var(--t-hairline-f);
}

/* ── 5-28. セレクション（特集一覧）v72改修 ── */
.p-selection { max-width: 1120px; margin: 0 auto; padding: 8px 40px 80px; }
.p-selection__breadcrumbs { margin-bottom: 30px; }
.p-selection__text.--head {
  font-family: var(--font-serif) !important; font-weight: 500 !important;
  font-size: 34px !important; letter-spacing: 0.12em; color: var(--t-ink) !important;
  margin: 0 0 36px; padding: 0;
}
.p-selection__text.--head::before { display: none; }
.p-selection__list {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 44px 36px;
}
.p-selection__item.c-selection { display: flex; flex-direction: column; }
.c-selection__image { overflow: hidden; background: var(--t-bg-deep); }
.c-selection__image img { width: 100%; display: block; aspect-ratio: 16/9; object-fit: cover; transition: transform .5s ease; }
.c-selection__image a:hover img { transform: scale(1.03); }
.c-selection__note { padding: 18px 2px 0; }
.c-selection__text.--title {
  font-family: var(--font-serif) !important; font-weight: 500 !important;
  font-size: 18px !important; letter-spacing: 0.08em; line-height: 1.5;
  margin: 0 0 8px;
}
.c-selection__text.--title a { color: var(--t-ink) !important; text-decoration: none; }
.c-selection__text.--title a:hover { color: var(--t-shu) !important; }
.c-selection__text.--description {
  font-family: var(--font-serif) !important; font-size: 13px !important;
  line-height: 1.9; letter-spacing: 0.03em; color: var(--t-ink-soft) !important; margin: 0;
}
@media (max-width: 767px) {
  .p-selection { padding: 8px 16px 60px; }
  .p-selection__list { grid-template-columns: 1fr; gap: 32px; }
  .p-selection__text.--head { font-size: 26px !important; }
}


@media (max-width: 767px) {}
.l-footer__logo img { display: block; height: auto; }

/* ─────────────────────────────
   PDP Amazon型ギャラリー（v72-pdp.js と対）
   PC: 縦サムネレール＋メイン画像 / 画像カラムsticky（右カラム終端で自動解除）
   SP: 従来どおり（メイン＋横サムネstrip）
   ───────────────────────────── */
.t-pdp_rail { list-style: none; margin: 0; padding: 0; display: none; }
/* v72改修: デフォルトtheme.cssの .l-wrapper(-none){overflow:hidden} が sticky を無効化するため
   PDPでのみ v72-pdp.js が付与するクラスで解除 */
.t-pdp-overflow-fix { overflow: visible !important; }
/* v72改修: l-container__row(40px) と p-product_content(40px) のパディング二重を解消し、
   img 50% / info 40% の間の遊び10%を info に配分（PC余白の左右対称は維持） */
/* W-M: design00 routes/product.css の .pdp breakpoint(769px)へ合わせ、720px→769pxに変更
   (design00は<=768pxで1カラム積み、テーマは720pxから2カラム化していたため768px帯で構造差) */
@media (min-width: 769px) {
  .p-product_content { padding-left: 0; padding-right: 0; }
  .p-product_content__inner__img { width: 48%; }
  .p-product_content__inner__info { width: 47%; }
}
@media (min-width: 769px) {
  .p-product_content__inner { align-items: flex-start; }
  .p-product_content__inner__img {
    position: sticky;
    top: var(--t-pdp-sticky-top, 110px);
  }
  .c-product_img.t-pdp_gallery {
    display: grid !important;
    grid-template-columns: 44px minmax(0, 1fr);
    gap: 0 14px;
    align-items: start;
  }
  .c-product_img.t-pdp_gallery--single { grid-template-columns: minmax(0, 1fr); }
  .t-pdp_gallery .c-product_img__slider--main { grid-column: -2; grid-row: 1; width: 100%; }
  .t-pdp_gallery .c-product_img__slider--thumbnail { display: none !important; }
  .t-pdp_rail {
    display: flex; flex-direction: column; gap: 8px;
    grid-column: 1; grid-row: 1;
    max-height: 100%;
  }
  .t-pdp_rail__item button {
    display: block; width: 44px; height: 44px; padding: 0;
    border: 1px solid var(--t-hairline-f);
    background: var(--t-card);
    cursor: pointer;
    transition: border-color 0.15s ease;
  }
  .t-pdp_rail__item button:hover { border-color: var(--t-hairline); }
  .t-pdp_rail__item.is-current button {
    border: 1.5px solid var(--t-shu);
    outline: 1px solid rgba(192, 57, 43, 0.15);
    outline-offset: 1px;
  }
  .t-pdp_rail__item img {
    width: 100%; height: 100%;
    object-fit: cover; display: block;
    background: var(--t-bg-deep);
  }
}
/* W-M: bundle.cssの標準breakpointは<=719pxで積み(display:block)のため、720-768px帯は
   素のbundle.css flex(横並び)が残る。design00の.pdp @media(max-width:768px)に合わせ、
   その帯も明示的に積む。design00の.pdp-vis{position:static}相当としてimgをstaticへ */
@media (max-width: 768px) {
  .p-product_content__inner { display: block !important; }
  .p-product_content__inner__img,
  .p-product_content__inner__info { width: 100% !important; }
  .p-product_content__inner__img { position: static !important; }
}


/* ─────────────────────────────
   19. ⑤ストレート トンマナ適用 — カート / 会員登録 / マイページ
   （2026-07-24: 赤 #E60012・Zen Kaku Gothic・角丸6-8px・白カード）
   ───────────────────────────── */
/* 見出し: 赤の左バー＋左揃え（下層共通意匠） */
.p-page_header h1,
.p-page_header .u-text--head {
  text-align: left;
  padding-left: 16px;
  border-left: 5px solid var(--t-shu);
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.4;
}
/* 入力欄: 6px角丸・白地・フォーカスで赤枠 */
.c-form_table input[type="text"],
.c-form_table input[type="email"],
.c-form_table input[type="password"],
.c-form_table input[type="tel"],
.c-form_table input[type="number"],
.c-form_table select,
.c-form_table textarea,
.c-form_input,
.c-form_table__select {
  border-radius:0;
  background: #fff;
  border: 1.5px solid var(--t-hairline);
}
.c-form_table input:focus,
.c-form_table select:focus,
.c-form_table textarea:focus,
.c-form_input:focus {
  border-color: var(--t-shu);
  outline: none;
}
/* プライマリボタン（カート・ログイン・会員登録・購入） */
.u-color__btn--bg,
.u-color__btn--bg--overlay {
  background: var(--t-shu) !important;
  color: #fff !important;
  border: none;
  font-family: var(--font-sans);
  font-weight: 700;
  letter-spacing: .08em;
}
.u-color__btn--bg:hover,
.u-color__btn--bg--overlay:hover {
  background: var(--t-shu-soft) !important;
}
/* セカンダリボタン（枠線） */
.u-color__btn--border,
.c-btn--secondary {
  border: 1.5px solid var(--t-ink);
  color: var(--t-ink);
  background: #fff;
  border-radius:0;
  font-weight: 700;
}
.u-color__btn--border:hover,
.c-btn--secondary:hover {
  border-color: var(--t-shu);
  color: var(--t-shu);
}
/* バッジ（送料無料等） */
.c-badge {
  background: var(--t-shu);
  color: #fff;
  border-radius:0;
  font-weight: 700;
  letter-spacing: 0.1em;
}
/* テーブル見出し行の背景を③のwashに */
.c-form_table th {
  background: var(--t-bg-deep);
}


/* ── 20. ⑤ストレート 丸み（ボタン=ピル / カード=14px） ── */
.u-color__btn--bg,
.u-color__btn--bg--overlay,
.u-color__btn--border,
.c-btn--secondary {
  border-radius: 100px;
}
.c-badge {
  border-radius: 100px;
}
.c-form_table input[type="text"],
.c-form_table input[type="email"],
.c-form_table input[type="password"],
.c-form_table input[type="tel"],
.c-form_table input[type="number"],
.c-form_table select,
.c-form_table textarea,
.c-form_input,
.c-form_table__select,
.c-product_info .c-order_quantity__input {
  border-radius:0;
}





@media (min-width: 920px) {}



/* Header search geometry is owned by header.css. */
@media (min-width: 769px) {
  .t-sp-only { display: none !important; }
}






@media (max-width: 919px) {}



@media (max-width: 768px) {}



@media (max-width: 768px) {}
/* フッター：⑤のダーク面 */
#ecf_footer_section.kk-v71-retired.l-footer {
  background: #1A1A1A !important;
  color: #B9B5AD;
}
#ecf_footer_section.kk-v71-retired .footer_head { color: #FFFFFF !important; }
#ecf_footer_section.kk-v71-retired .footer_link { color: #8F8B83 !important; }
#ecf_footer_section.kk-v71-retired .footer_link:hover { color: #FFFFFF !important; }
#ecf_footer_section.kk-v71-retired .footer_body { color: #B9B5AD !important; }
#ecf_footer_section.kk-v71-retired .u-color__border--border { border-color: rgba(255,255,255,0.1) !important; }
#ecf_footer_section.kk-v71-retired .l-footer__logo img { filter: brightness(0) invert(1); opacity: 0.92; }
#ecf_footer_section.kk-v71-retired .t-footer__wordmark__jp,
#ecf_footer_section.kk-v71-retired .t-footer__wordmark__en { color: #F2EFE9; }
/* フッター: .l-footer は grid。.t-fcontact に grid-area を与えないと
   暗黙行の左1列に落ちる。最上段の全幅行に固定する。 */
#ecf_footer_section.kk-v71-retired.l-footer {
  grid-template-areas:
    "contact contact"
    "logo menu"
    "copy menu"
    "info info" !important;
}
#ecf_footer_section.kk-v71-retired > .t-fcontact {
  grid-area: contact;
  width: 100%;
  min-width: 0;
  margin: 0 0 48px;
}
@media (max-width: 767px) {
  #ecf_footer_section.kk-v71-retired > .t-fcontact { margin-bottom: 32px; }
}
/* お問い合わせ帯 */
/* W-LIQ4 C: grid-areaを明示指定しないと.l-footerのgrid auto-placementで暗黙の左1列(幅minmax(200px,1fr))に収まり、
   下のdisplay:flex;justify-content:centerがその狭い列内でしか効かず全体が左寄りに見えていた。
   専用の"contact"全幅行に配置してdesign05(中央揃え)通りにする */
.t-fcontact {
  grid-area: contact;
  width: 100%;
  min-width: 0;
  border-bottom: 1px solid rgba(255,255,255,0.1);
  padding: 36px 20px;
  display: flex;
  justify-content: center;
  gap: 80px;
  flex-wrap: wrap;
  text-align: center;
}
.t-fcontact h4 { font-size: 13px; margin: 0 0 12px; font-family: var(--font-serif); }
.t-fcontact p { font-size: 11px; margin: 10px 0 0; line-height: 2; }
.t-fmail {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: var(--t-shu);
  color: #fff !important;
  border-radius: 100px;
  font-size: 13px;
  font-weight: 500;
  padding: 12px 22px;
}
.t-fmail:hover { background: var(--t-shu-soft); }

/* STRAIGHT-UI-ADDITIONS */
/* 画面TOPに戻る */
.t-pagetop{position:fixed;right:20px;bottom:20px;z-index:60;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;width:52px;height:52px;border:1px solid var(--t-hairline);border-radius:50%;background:#fff;color:var(--t-ink);cursor:pointer;box-shadow:0 2px 12px rgba(0,0,0,.08);opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .25s,transform .25s,visibility .25s,background .2s,color .2s}
.t-pagetop.is-show{opacity:1;visibility:visible;transform:none}
.t-pagetop span{font-family:var(--font-sans);font-size:8.5px;font-weight:700;letter-spacing:.1em;line-height:1}
.t-pagetop:hover{background:var(--t-shu);color:#fff;border-color:var(--t-shu)}
@media (prefers-reduced-motion: reduce){.t-pagetop{transition:none}}
@media (max-width:767px){.t-pagetop{right:14px;bottom:14px;width:46px;height:46px}}

/* STRAIGHT-TOP-SECTIONS */
.cw{--red:#E60012;--red-d:#C50010;--gold:#1A1A1A;--beige:#EEEEEE;--cream:#F6F6F6;--ink:#000;--gray:#595959;--faint:#7B7B7B;--line:#E3E3E3;--bg:#F9F9F9}
.cw{font-family:"Noto Sans JP",sans-serif;color:var(--ink);line-height:1.9}
.cw .wrap{max-width:1200px;margin:0 auto;padding:0 20px}
.cw img{max-width:100%;height:auto}
.cw h1,.cw h2,.cw h3{font-family:"Noto Serif JP",serif}
.cw a{color:var(--ink);text-decoration:none;transition:color .2s}
.cw a:hover{color:var(--red)}
.cw h1,.cw h2,.cw h3{font-family:'Noto Serif JP',serif}
/* notice bar */
/* header */
.cw-head{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 1px 0 var(--line)}
.cw-h1{display:flex;align-items:center;gap:16px;padding:12px 0;transition:padding .25s}
/* スリム化：スクロール時はロゴ行＋検索のみ固定し、キーワード帯・ナビは畳む */
.cw-head.slim .cw-h1{padding:7px 0}
.cw-head.slim .cw-kwband{display:none}
.cw-head.slim .cw-nav a{padding-top:9px;padding-bottom:9px}
.cw-head.slim .cw-nav{border-bottom-width:1px}
.cw-logo img{height:44px;display:block;margin-left:-9px}
.cw-search{flex:1;max-width:400px;display:flex;border:2px solid var(--red);border-radius:100px;overflow:hidden;background:#fff}
.cw-search input{flex:1;border:none;outline:none;background:none;font-family:inherit;font-size:13px;padding:8px 18px;color:var(--ink);min-width:0}
.cw-search input::placeholder{color:#B8B4AC}
.cw-search button{border:none;background:var(--red);color:#fff;font-family:inherit;font-size:12.5px;font-weight:700;letter-spacing:.06em;padding:0 20px;cursor:pointer;display:flex;align-items:center;gap:6px}
.cw-search button:hover{background:var(--red-d)}
.cw-search button svg{width:14px;height:14px;stroke:#fff;stroke-width:2;fill:none;stroke-linecap:round}
.cw-icons{margin-left:auto;display:flex;align-items:center;gap:2px}
.cw-icons>a{display:flex;flex-direction:column;align-items:center;gap:2px;padding:4px 12px;font-size:9.5px;color:var(--gray)}
.cw-icons>a svg{width:20px;height:20px;stroke:currentColor;stroke-width:1.5;fill:none;stroke-linecap:round;stroke-linejoin:round}
.cw-icons .cart{position:relative}
.cw-icons .cart em{position:absolute;top:-2px;right:4px;font-style:normal;background:var(--red);color:#fff;font-size:9px;font-weight:700;width:16px;height:16px;border-radius:50%;display:flex;align-items:center;justify-content:center}
.cw-login{display:flex;align-items:center;gap:6px;margin-left:10px;font-size:11.5px;color:var(--gray);white-space:nowrap}
.cw-login:hover{color:var(--red)}
.cw-login svg{width:13px;height:13px;stroke:currentColor;stroke-width:1.6;fill:none;stroke-linecap:round}
.cw-kwband{background:var(--beige);border-top:1px solid var(--line)}
.cw-kw{display:flex;align-items:center;gap:8px;padding:7px 0;font-size:11px;color:var(--gray);flex-wrap:wrap}
.cw-kw>span{font-weight:700;color:var(--gray)}
.cw-kw a{background:#fff;border:1px solid var(--line);border-radius:100px;padding:2px 12px;color:var(--gray);font-size:11px;white-space:nowrap}
.cw-kw a:hover{border-color:var(--red);color:var(--red)}
.cw-nav{border-top:1px solid var(--line);border-bottom:4px solid var(--red)}
.cw-nav .wrap{display:flex;justify-content:flex-start}
.cw-nav .wrap>:first-child>a:first-child,.cw-nav .wrap>a:first-child{margin-left:-22px}
.cw-nav a{position:relative;padding:12px 22px;font-size:13.5px;font-weight:500;white-space:nowrap;transition:background .2s,color .2s}
.cw-nav a:hover{background:rgba(232,0,27,.07);color:var(--red)}
.cw-nav a.hl{color:var(--red);font-weight:700}
.cw-nav a.hl em{font-style:normal;background:var(--red);color:#fff;font-size:9.5px;font-weight:700;border-radius:100px;padding:1px 8px;margin-left:6px;vertical-align:2px}
.cw-burger{display:none;width:46px;height:46px;position:relative;cursor:pointer;flex:none}
.cw-burger i{position:absolute;left:11px;right:11px;height:2px;background:var(--ink)}
.cw-burger i:nth-child(1){top:10px}
.cw-burger i:nth-child(2){top:16px}
.cw-burger i:nth-child(3){top:22px}
.cw-burger span{position:absolute;left:0;right:0;bottom:4px;text-align:center;font-size:8.5px;letter-spacing:.1em;color:var(--gray)}
.cw-burger:hover i{background:var(--red)}
.cw-burger:hover span{color:var(--red)}
/* drawer */
.cw-drawer{position:fixed;inset:0;z-index:80;visibility:hidden}
.cw-drawer.open{visibility:visible}
.cw-drawer .dim{position:absolute;inset:0;background:rgba(31,30,28,.4);opacity:0;transition:opacity .3s}
.cw-drawer.open .dim{opacity:1}
.cw-drawer .panel{position:absolute;top:0;right:0;bottom:0;width:min(86vw,340px);background:#fff;transform:translateX(102%);transition:transform .32s cubic-bezier(.2,.7,.2,1);overflow-y:auto;padding:20px 24px 40px}
.cw-drawer.open .panel{transform:none}
.cw-dw-x{margin:0 0 14px auto;width:max-content;font-size:26px;line-height:1;cursor:pointer;color:var(--gray)}
.cw-drawer .cw-search{display:flex;margin:0 0 18px}
.cw-drawer nav a{display:block;padding:13px 2px;border-bottom:1px solid var(--line);font-size:13.5px;font-weight:500}
.cw-drawer .lg{display:block;text-align:center;background:var(--red);color:#fff !important;border-radius:100px;font-size:13px;font-weight:700;letter-spacing:.1em;padding:12px;margin:20px 0 0}
/* hero */
.cw-hero{position:relative;overflow:hidden}
.cw-slides{display:flex;transition:transform .55s cubic-bezier(.3,.7,.2,1)}
.cw-slide{flex:0 0 100%;min-width:100%}
.cw-slide .in{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;max-width:1200px;margin:0 auto;padding:56px 72px 64px}
.cw-slide.s1{background:linear-gradient(135deg,#FDFAF7,#F8F0E8)}
.cw-slide.s2{background:linear-gradient(135deg,#F5EDE6,#EDE0D4)}
.cw-badge{display:inline-block;font-size:11.5px;font-weight:500;color:var(--red);border:1px solid var(--red);border-radius:100px;padding:4px 14px;margin:0 0 18px;white-space:nowrap}
.cw-slide h2{font-size:clamp(28px,3.4vw,44px);font-weight:700;line-height:1.5;letter-spacing:.04em;margin:0 0 14px}
.cw-slide .sub{color:var(--gray);font-size:14px;margin:0 0 26px;max-width:34em}
.cw-btns{display:flex;gap:12px;flex-wrap:wrap}
.cw-btn{display:inline-flex;align-items:center;justify-content:center;border-radius:100px;font-size:13.5px;font-weight:700;letter-spacing:.04em;padding:13px 30px;transition:all .2s}
.cw-btn.solid{background:var(--red);color:#fff;box-shadow:0 4px 14px rgba(232,0,27,.25)}
.cw-btn.solid:hover{background:var(--red-d);color:#fff}
.cw-btn.line{border:2px solid var(--red);color:var(--red)}
.cw-btn.line:hover{background:var(--red);color:#fff}
.cw-card{position:relative;border-radius:0;overflow:hidden;box-shadow:0 24px 60px rgba(31,30,28,.18);background:#fff}
.cw-card .ph{height:340px;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 50% 42%,#fff 0%,#F4EEE6 100%)}
.cw-card .ph img{max-height:78%;max-width:70%;object-fit:contain;mix-blend-mode:multiply}
.cw-card .cap{position:absolute;left:0;right:0;bottom:0;background:linear-gradient(to top,rgba(0,0,0,.62),transparent);color:#fff;display:flex;align-items:flex-end;justify-content:space-between;padding:36px 20px 16px;gap:12px}
.cw-card .cap p{margin:0;font-size:11.5px;opacity:.85}
.cw-card .cap b{display:block;font-size:20px;letter-spacing:.02em}
.cw-card .cap em{font-style:normal;background:var(--gold);font-size:10.5px;font-weight:700;border-radius:100px;padding:4px 12px;white-space:nowrap}
.cw-ctl{position:absolute;bottom:16px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:10px;z-index:5}
.cw-har{position:absolute;top:50%;transform:translateY(-50%);z-index:6;width:44px;height:44px;border-radius:50%;border:none;cursor:pointer;background:rgba(255,255,255,.88);box-shadow:0 4px 14px rgba(0,0,0,.16);font-size:21px;color:var(--ink);display:flex;align-items:center;justify-content:center;font-family:inherit;padding:0;transition:all .2s}
.cw-har:hover{background:#fff;color:var(--red)}
.cw-har.prev{left:18px}
.cw-har.next{right:18px}
.cw-ctl button{border:none;cursor:pointer;padding:0}
.cw-ctl .ar{width:32px;height:32px;border-radius:50%;background:rgba(255,255,255,.85);box-shadow:0 2px 8px rgba(0,0,0,.12);font-size:15px;color:var(--ink);display:flex;align-items:center;justify-content:center;font-family:inherit}
.cw-ctl .ar:hover{background:#fff}
.cw-ctl .dot{width:10px;height:10px;border-radius:100px;background:#D5D1C9;transition:all .25s}
.cw-ctl .dot.on{width:24px;background:var(--red)}
/* W-LIQ5H: design05正はtext-align:centerかつ罫線は下側のみ(border-top:0/border-bottom:1px)だが、
   本ルールはtext-align指定がなく既定の左寄せのまま、罫線も上側のみで意図と逆だった */
.cw-official{background:#fff;border-top:0;border-bottom:1px solid var(--line);font-size:11.5px;color:var(--gray);padding:8px 0;text-align:center}
/* section head */
.cw-sh{display:flex;align-items:center;gap:12px;margin:0 0 24px}
.cw-sh .bar{width:4px;height:34px;border-radius:100px;background:var(--red);flex:none}
.cw-sh h2{font-size:22px;font-weight:700;margin:0;line-height:1.4}
.cw-sh small{display:block;font-family:'Noto Sans JP',sans-serif;font-size:10.5px;font-weight:400;letter-spacing:.18em;color:var(--faint)}
.cw-sh .more{margin-left:auto;font-size:12.5px;font-weight:500;color:var(--red);white-space:nowrap}
/* find */
.cw-find{background:var(--beige);padding:48px 0 52px}
.cw-find .grp{background:#fff;border:1px solid var(--line);border-radius:0;padding:20px 22px 22px;box-shadow:0 1px 4px rgba(31,30,28,.05)}
.cw-find .blk{margin:0 0 16px}
.cw-find .kwrow{margin:0 0 16px}
.cw-find .kwrow h3{font-family:'Noto Sans JP',sans-serif;font-size:14px;font-weight:700;letter-spacing:.06em;margin:0 0 14px;display:flex;align-items:center;gap:8px}
.cw-find .kwrow h3::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--red)}
.cw-find .kwrow .bar2{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.cw-find .kwrow .cw-search{flex:1 1 300px;max-width:480px}
.cw-find .kwrow .tags{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.cw-find .kwrow .tags .tlbl{font-size:11px;font-weight:700;color:var(--gray);white-space:nowrap}
.cw-find .kwrow .tags a{background:var(--cream);border:1px solid #EDE5D8;border-radius:100px;padding:4px 14px;font-size:11.5px;color:var(--gray);white-space:nowrap}
.cw-find .kwrow .tags a:hover{border-color:var(--red);color:var(--red)}
.cw-find .cols{display:grid;grid-template-columns:2fr 3fr;gap:16px;align-items:stretch}
.cw-find .col.stack{display:flex;flex-direction:column;gap:16px}
.cw-find .col.stack .grp{flex:1}
.cw-find .blk3{margin:16px 0 0}
.cw-find .grp>h3{font-family:'Noto Sans JP',sans-serif;font-size:14px;font-weight:700;letter-spacing:.06em;margin:0 0 14px;display:flex;align-items:center;gap:8px}
.cw-find .grp>h3::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--red)}
.cw-conc{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.cw-conc a{background:var(--cream);border:2px solid #EDE5D8;border-radius:0;padding:18px 12px 14px;text-align:center;transition:all .2s}
.cw-conc a:hover{border-color:var(--red);transform:translateY(-4px)}
.cw-conc .ic{font-size:24px;color:var(--red);line-height:1;font-weight:300;display:block;margin:0 0 10px}
.cw-conc b{display:block;font-size:12.5px;line-height:1.5}
.cw-conc small{font-size:10.5px;color:var(--faint)}
.cw-cats{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-content:flex-start}
.cw-cats a svg{width:30px;height:30px;stroke:var(--red);stroke-width:1.6;fill:none;stroke-linecap:round;stroke-linejoin:round}
.cw-cats a b{font-size:13.5px;font-weight:700}
.cw-cats a small{font-size:10.5px;color:var(--faint);line-height:1.6}
.cw-cats a:hover{border-color:var(--red);color:var(--red)}
.cw-bgrid2{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.cw-bwrap{position:relative}
.cw-bwrap.carousel .cw-bgrid2{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;gap:10px}
.cw-bwrap.carousel .cw-bgrid2::-webkit-scrollbar{display:none}
.cw-bwrap.carousel .cw-brand{flex:0 0 calc(25% - 8px);scroll-snap-align:start}
.cw-bar{position:absolute;top:50%;transform:translateY(-50%);z-index:5;width:34px;height:34px;border-radius:50%;border:1px solid var(--line);background:#fff;box-shadow:0 3px 10px rgba(31,30,28,.14);font-size:17px;color:var(--ink);cursor:pointer;display:none;align-items:center;justify-content:center;font-family:inherit;padding:0}
.cw-bwrap.carousel .cw-bar{display:flex}
.cw-bar:hover{color:var(--red);border-color:var(--red)}
.cw-bar.prev{left:-10px}
.cw-bar.next{right:-10px}
.cw-bgrid2 .cw-brand{padding:18px 14px 14px;gap:10px;border-radius:0}
.cw-bgrid2 .cw-brand p{font-size:11px;line-height:1.8}
.cw-bgrid2 .cw-brand .lg,.cw-bgrid2 .cw-brand .lk{min-height:96px}
.cw-bgrid2 .cw-brand .lg img{max-height:92px}
.cw-bgrid2 .cw-brand .lg img[src*="logo-totonou"]{max-height:110px}
/* お悩み写真カード */
.cw-needs{background:#fff;border-top:1px solid var(--line);padding:44px 0 50px}
.cw-find .cols .cw-ngrid{grid-template-columns:repeat(3,1fr)}
.cw-find .bar2.v{flex-direction:column;align-items:stretch}
.cw-find .bar2.v .cw-search{max-width:none}
.cw-ngrid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.cw-need{border:1px solid var(--line);border-radius:0;overflow:hidden;background:#fff;box-shadow:0 1px 4px rgba(31,30,28,.05);transition:all .25s;display:flex;flex-direction:column}
.cw-need:hover{transform:translateY(-4px);box-shadow:0 12px 28px rgba(31,30,28,.12)}
.cw-need .ph{aspect-ratio:16/9;overflow:hidden;background:var(--beige)}
.cw-need .ph img{width:100%;height:100%;object-fit:cover;transition:transform .5s;display:block}
.cw-need:hover .ph img{transform:scale(1.05)}
.cw-need .tx{padding:8px 10px 10px}
.cw-need b{display:block;font-size:12.5px;line-height:1.5}
.cw-need small{font-size:10.5px;color:var(--faint)}
/* brands */
.cw-brands{background:#fff;border-top:1px solid var(--line);padding:44px 0 50px}
.cw-bgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.cw-brand{border:2px solid var(--line);border-radius:0;padding:24px 20px 18px;text-align:center;display:flex;flex-direction:column;gap:10px;transition:all .2s}
.cw-brand:hover{transform:translateY(-4px)}
.cw-brand.b1,.cw-brand.b2,.cw-brand.b3,.cw-brand.b4{background:#fff}
.cw-brand.b1:hover{border-color:#DDBE8A}
.cw-brand.b2:hover{border-color:#B9B5AD}
.cw-brand.b3:hover{border-color:#9CC4EE}
.cw-brand.b4:hover{border-color:#EFA8CD}
.cw-brand h3{font-size:16px;font-weight:600;letter-spacing:.06em;margin:0;min-height:48px;display:flex;align-items:center;justify-content:center}
.cw-brand .lg{min-height:96px;flex:1;display:flex;align-items:center;justify-content:center}
.cw-brand .lg img{max-height:96px;max-width:96%;width:auto;object-fit:contain}
.cw-brand .lk{min-height:48px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}
.cw-brand.b2 .lk b{font-family:'Noto Serif JP',serif;font-size:19px;font-weight:600;letter-spacing:.04em;color:#3A3733}
.cw-brand.b2 .lk small{font-size:9px;letter-spacing:.34em;color:#8F8B83}
.cw-brand.b3 .lk b{font-size:17px;font-weight:700;letter-spacing:.1em;color:#1E5FA8}
.cw-brand.b3 .lk small{font-size:8.5px;letter-spacing:.3em;color:#5B8AC2;font-weight:700}
.cw-brand.b4 .lk b{font-family:'Noto Serif JP',serif;font-size:17px;font-weight:600;letter-spacing:.06em;color:#B54A82}
.cw-brand.b4 .lk small{font-size:8.5px;letter-spacing:.26em;color:#CB86AB}
.cw-brand p{font-size:11.5px;color:var(--gray);margin:0;flex:1}
.cw-brand span{font-size:11px;color:var(--faint)}
/* ranking */
:is(.cw-rank,.cw-osusume){background:#fff;padding:48px 0 52px}
:is(.cw-rgrid,.cw-osusume-grid){display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
:is(.cw-rcard,.cw-osusume-card){background:#fff;border:1px solid var(--line);border-radius:0;overflow:hidden;box-shadow:0 1px 4px rgba(31,30,28,.05);transition:all .25s;display:flex;flex-direction:column}
:is(.cw-rcard,.cw-osusume-card):hover{transform:translateY(-6px);box-shadow:0 14px 34px rgba(31,30,28,.12)}
:is(.cw-rimg,.cw-osusume-image){position:relative;height:180px;background:radial-gradient(circle at 50% 45%,#fff 0%,#F6F1EA 100%);display:flex;align-items:center;justify-content:center}
:is(.cw-rimg,.cw-osusume-image) img{max-height:80%;max-width:72%;object-fit:contain;mix-blend-mode:multiply}
.cw-rno{position:absolute;top:10px;left:10px;width:32px;height:32px;color:#fff;font-size:14px;font-weight:700;display:flex;align-items:center;justify-content:center;box-shadow:0 3px 8px rgba(0,0,0,.22);border-radius:0;background:#262626}
:is(.cw-rcard,.cw-osusume-card):nth-child(1) .cw-rno{background:#B08D32}
:is(.cw-rcard,.cw-osusume-card):nth-child(2) .cw-rno{background:#6F7478}
:is(.cw-rcard,.cw-osusume-card):nth-child(3) .cw-rno{background:#A66A47}
:is(.cw-rbadge,.cw-osusume-badge){border-radius:0 !important}
:is(.cw-rbadge,.cw-osusume-badge){position:absolute;top:12px;right:10px;font-size:10px;font-weight:700;border-radius:100px;padding:3px 10px}
:is(.cw-rbadge,.cw-osusume-badge).red{background:var(--red);color:#fff}
:is(.cw-rbadge,.cw-osusume-badge).gold{background:var(--gold);color:#fff}
.cw-rtag{position:absolute;bottom:10px;left:10px;font-size:10px;font-weight:700;border-radius:100px;padding:3px 10px}
.cw-rtag.blue{background:#DCEBFB;color:#2A66A8}
.cw-rtag.green{background:#DDF2E2;color:#2C7A44}
.cw-rtag.orange{background:#FCEBD9;color:#B26A18}
.cw-rtag.purple{background:#F0E6FA;color:#6E43A8}
:is(.cw-rbody,.cw-osusume-body){padding:14px 14px 16px;display:flex;flex-direction:column;flex:1}
:is(.cw-rbody,.cw-osusume-body) .br{font-size:10.5px;color:var(--faint);margin:0 0 2px}
:is(.cw-rbody,.cw-osusume-body) h3{font-family:'Noto Sans JP',sans-serif;font-size:13px;font-weight:500;line-height:1.6;margin:0 0 6px;flex:1}
:is(.cw-rbody,.cw-osusume-body) h3 a{display:block;padding:2px 0}
.cw-stars{font-size:11.5px;color:#E3A11C;letter-spacing:.05em;margin:0 0 8px}
.cw-stars small{color:var(--faint);font-size:11px;margin-left:4px}
.cw-prices{display:flex;align-items:flex-end;justify-content:space-between;gap:8px;margin:0 0 12px}
.cw-prices p{margin:0;line-height:1.4}
.cw-prices .lbl{font-size:10px;color:var(--faint)}
.cw-prices .v{font-size:16px;font-weight:700}
.cw-prices .v small{font-size:9.5px;font-weight:400;color:var(--faint)}
.cw-prices .tk{text-align:right}
.cw-prices .tk .lbl{color:var(--red);font-weight:500}
.cw-prices .tk .v{color:var(--red)}
.cw-rbtns{display:flex;gap:8px;position:relative;z-index:2}
/* W-LIQ5⑥⑦: 「定期購入」がPCでも(ボタン幅56px前後に対し4文字)折返して「通常購入」ボタンより背が高くなる
   段違いの原因だった。nowrap化しボタン高さを他ボタンと揃える */
.cw-rbtns a{flex:1;display:flex;align-items:center;justify-content:center;gap:5px;font-size:11.5px;font-weight:700;border-radius:0;padding:9px 4px;transition:all .2s;white-space:nowrap}
.cw-rbtns .buy{background:var(--red);color:#fff}
.cw-rbtns .buy:hover{background:var(--red-d);color:#fff}
.cw-rbtns .sub2{border:1.5px solid var(--red);color:var(--red)}
.cw-rbtns .sub2:hover{background:#FDECEA}
/* new_product.liquid(実カート投入)はaでなくform+buttonでCTAを組む(design05は静的aリンクのみ)ため、
   同一の見た目をbuttonにも適用(W-LIQ Phase2) */
.cw-rbtns form{flex:1;margin:0}
.cw-rbtns button{width:100%;display:flex;align-items:center;justify-content:center;gap:5px;font-size:11.5px;font-weight:700;border:none;border-radius:0;padding:9px 4px;transition:all .2s;cursor:pointer;font-family:inherit;white-space:nowrap}
.cw-rbtns button.buy{background:var(--red);color:#fff}
.cw-rbtns button.buy:hover{background:var(--red-d);color:#fff}
.cw-rbtns button.sub2{background:#fff;border:1.5px solid var(--red);color:var(--red)}
.cw-rbtns button.sub2:hover{background:#FDECEA}
/* sub-off-badge(design05基準): 定期価格ラベルに添える赤バッジ */
.sub-off-badge{display:inline-flex;align-items:center;justify-content:center;background:var(--red);color:#fff;font-size:8.5px;font-weight:700;line-height:1;letter-spacing:.02em;padding:3px 5px;white-space:nowrap}
.cw-prices .sub-off-badge{margin-left:4px;vertical-align:1px}
/* home route: remaining design00/assets/routes/home.css selectors not yet mirrored above (verbatim) */
.cw-slide .bn,.cw-hero-video{display:block;width:100%;height:100%}
.cw-slide .bn img,.cw-hero-video{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.cw-worry{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-content:stretch;flex:1}
.cw-worry a{display:flex;align-items:center;gap:14px;min-height:56px;background:#fff;border:1px solid var(--line);padding:8px 16px;font-size:13.5px;font-weight:700;color:var(--ink);transition:border-color .2s,color .2s}
.cw-worry a svg{width:32px;height:32px;flex:none;stroke:var(--red);stroke-width:1.3;fill:none;stroke-linecap:round;stroke-linejoin:round}
.cw-worry a:hover{border-color:var(--red);color:var(--red)}
@media (max-width:640px){.cw-worry{grid-template-columns:1fr}}
.cw-about-bnr{display:block;overflow:hidden;border-radius:4px}
.cw-about-bnr img{display:block;width:100%;height:auto}
.cw-fav{position:absolute;top:10px;right:10px;width:34px;height:34px;padding:0;border:1px solid var(--line);border-radius:50%;background:#fff;color:var(--red);font-family:inherit;font-size:21px;line-height:1;cursor:pointer;z-index:1;box-shadow:0 2px 6px rgba(31,30,28,.08);display:flex;align-items:center;justify-content:center}
.cw-fav:hover,.cw-fav.is-on{border-color:var(--red);background:#FDECEA}
.cw-fav.is-on{font-size:18px}
/* W-LIQ2: cw-favはaタグ(マイページお気に入りへのリンク)のため.cw a{color:var(--ink)}に負けないよう明示上書き */
a.cw-fav,a.cw-fav:hover{color:var(--red)}
/* W-LIQ3①②: 商品ループカード共通(ブランド行/商品名+ハート右端)。.cw-favは元々:is(.cw-rcard,.cw-osusume-card)等の絶対配置基準だが、
   ループカードは.c-product_item__inner__titleと同じ行にハートを並べるため.cw-title-row配下では相対配置へ上書き */
.cw-brand{font-size:10.5px;color:var(--faint);letter-spacing:.02em;margin:0 0 3px}
.cw-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}
.cw-title-row .c-product_item__inner__title{flex:1;margin:0;order:0 !important}/* #product-index-view等のIDスコープorder:2(旧カラム並び用)に勝つためimportant *//* bundle.cssの.c-product_item__inner__title{order:2}に勝ち、ハートを右端へ */
.cw-title-row form{margin:0;flex:none;order:1}
.cw-title-row .cw-fav{position:static;width:26px;height:26px;font-size:16px;box-shadow:none}
.cw-title-row .cw-fav.is-on{font-size:14px}
button.cw-fav{font-family:inherit}
.cw-sh .more.cw-cta{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:0 12px;border:1px solid var(--red);color:var(--red);font-weight:700;letter-spacing:.02em}
.cw-sh .more.cw-cta:hover{background:var(--red);color:#fff}
.cw-story{border-radius:0}
@media (max-width:640px){:is(.cw-rank,.cw-osusume){padding:24px 0 42px}.cw-rno{top:8px;left:8px;width:28px;height:28px;font-size:12px}:is(.cw-rbody,.cw-osusume-body){padding:12px 11px 13px}:is(.cw-rbody,.cw-osusume-body) .br{padding-right:48px}.cw-fav{top:8px;right:8px;width:44px;height:44px;font-size:26px}.cw-fav.is-on{font-size:22px}.cw-sh .more.cw-cta{white-space:normal;text-align:center;line-height:1.35}}
/* teiki banner */
.cw-teiki{display:block;background:linear-gradient(115deg,#C50010,#E60012 55%,#F5563B);color:#fff;overflow:hidden}
.cw-teiki .in{max-width:1200px;margin:0 auto;padding:40px 20px;display:grid;grid-template-columns:auto 1fr auto;gap:36px;align-items:center}
.cw-teiki .t em{font-style:normal;display:block;font-size:11px;letter-spacing:.3em;opacity:.8;margin:0 0 6px}
.cw-teiki .t b{font-family:'Noto Serif JP',serif;font-size:27px;font-weight:700;letter-spacing:.08em;line-height:1.5}
.cw-teiki ul{list-style:none;display:flex;gap:10px;margin:0;padding:0;flex-wrap:wrap}
.cw-teiki li{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.35);border-radius:100px;font-size:12px;font-weight:500;padding:7px 16px;white-space:nowrap}
.cw-teiki li b{font-weight:700}
.cw-teiki,.cw-teiki .t b,.cw-teiki li{color:#fff}
.cw-teiki:hover{color:#fff}
.cw-teiki .go{background:#fff;color:var(--red);border-radius:100px;font-size:13.5px;font-weight:700;letter-spacing:.06em;padding:14px 32px;white-space:nowrap;box-shadow:0 6px 18px rgba(0,0,0,.18)}
.cw-teiki .go:hover{color:var(--red-d)}
.cw-teiki-img{display:block;width:100%;max-width:none;margin:36px auto 4px;border-radius:8px;overflow:hidden;border:1px solid var(--line);box-shadow:0 4px 16px rgba(31,30,28,.1)}
.cw-teiki-img img{display:block;width:100%;height:auto}
/* column */
.cw-col{background:#fff;padding:48px 0 52px}
.cw-cgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;max-width:760px;margin:0}
.cw-ccard{background:#fff;border:1px solid var(--line);border-radius:0;overflow:hidden;box-shadow:0 1px 4px rgba(31,30,28,.05);transition:all .25s}
.cw-ccard:hover{transform:translateY(-4px);box-shadow:0 12px 28px rgba(31,30,28,.1)}
.cw-cimg{position:relative;height:170px;overflow:hidden}
.cw-cimg img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.cw-ccard:hover .cw-cimg img{transform:scale(1.06)}
.cw-cimg span{position:absolute;top:12px;left:12px;font-size:10px;font-weight:700;border-radius:100px;padding:3px 10px;background:#fff;color:var(--gray)}
.cw-cbody{padding:16px 16px 14px}
.cw-cbody h3{font-family:'Noto Sans JP',sans-serif;font-size:13.5px;font-weight:700;line-height:1.7;margin:0 0 8px}
.cw-ccard:hover h3{color:var(--red)}
.cw-cbody p{font-size:12px;color:var(--ink);margin:0 0 12px}
.cw-cmeta{display:flex;justify-content:space-between;font-size:10.5px;color:var(--faint)}
/* about */
.cw-about{background:var(--cream);border-top:1px solid #F0E4D0;padding:56px 0 60px}
.cw-ahead{display:flex;align-items:flex-end;gap:20px;margin:0 0 32px;flex-wrap:wrap}
.cw-ahead p{font-size:13.5px;color:var(--gray);margin:0 0 4px}
.cw-agrid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin:0 0 32px}
.cw-pillar{background:#fff;border:1px solid #F0E4D0;border-radius:0;padding:26px 22px;transition:box-shadow .25s}
.cw-pillar:hover{box-shadow:0 10px 26px rgba(31,30,28,.08)}
.cw-pillar .ic{width:44px;height:44px;border-radius:50%;background:rgba(232,0,27,.08);display:flex;align-items:center;justify-content:center;margin:0 0 16px}
.cw-pillar .ic svg{width:21px;height:21px;stroke:var(--red);stroke-width:1.6;fill:none;stroke-linecap:round;stroke-linejoin:round}
.cw-pillar h3{font-size:15.5px;font-weight:600;margin:0 0 8px}
.cw-pillar p{font-size:12px;color:var(--gray);margin:0}
.cw-abar{background:#fff;border:1px solid #F0E4D0;border-radius:0;padding:20px 26px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.cw-abar .l{display:flex;align-items:center;gap:18px;flex-wrap:wrap;font-size:12px;color:var(--gray)}
.cw-abar .l b{font-family:'Noto Serif JP',serif;font-size:15px;color:var(--ink)}
.cw-abar .l i{font-style:normal;color:#D5D1C9}
.cw-abar a{font-size:12px;font-weight:500;color:var(--red);white-space:nowrap}
/* news */
.cw-news{background:#fff;border-top:1px solid var(--line);padding:40px 0 48px}
.cw-news ul{list-style:none;margin:0;padding:0}
.cw-news li a{display:flex;align-items:baseline;gap:16px;padding:12px 8px;border-bottom:1px solid var(--line);border-radius:0}
.cw-news li a:hover{background:var(--bg)}
.cw-news time{font-size:11.5px;color:var(--gray);width:82px;flex:none}
.cw-news .tag{flex:none;font-size:10px;font-weight:700;border-radius:100px;padding:2px 10px}
.cw-news .tag.g{background:#EEEDEA;color:var(--gray)}
.cw-news .tag.n{background:#DDF2E2;color:#2C7A44}
.cw-news .tag.c{background:rgba(232,0,27,.09);color:var(--red)}
.cw-news .tx{font-size:13px}
/* footer */
.cw-foot{background:#1A1A1A;color:#B9B5AD}
.cw-foot a{color:#8F8B83}
.cw-foot a:hover{color:#fff}
.cw-contact{border-bottom:1px solid rgba(255,255,255,.1);padding:36px 0;display:flex;justify-content:center;gap:80px;flex-wrap:wrap;text-align:center}
.cw-contact h4{color:#fff;font-size:13px;margin:0 0 12px}
.cw-mail{display:inline-flex;align-items:center;gap:8px;background:var(--red);color:#fff !important;border-radius:0;font-size:13px;font-weight:500;padding:12px 22px}
.cw-mail:hover{background:var(--red-d)}
.cw-mail svg{width:15px;height:15px;stroke:#fff;stroke-width:1.6;fill:none;stroke-linecap:round;stroke-linejoin:round}
.cw-contact p{font-size:11px;color:#8F8B83;margin:10px 0 0;line-height:2}
.cw-contact .co p{font-size:12.5px;color:#B9B5AD;margin:0}
.cw-contact .co small{display:block;font-size:11px;color:#8F8B83;margin-top:4px}
.cw-contact .co a{display:inline-block;font-size:11px;color:var(--red);margin-top:6px}
.cw-links{display:grid;grid-template-columns:repeat(5,1fr);gap:24px;padding:32px 0 8px}
.cw-links h5{color:#fff;font-size:11px;letter-spacing:.14em;margin:0 0 12px}
.cw-links a{display:block;font-size:11.5px;margin:0 0 7px}
.cw-cr{border-top:1px solid rgba(255,255,255,.1);margin-top:24px;padding:22px 0 40px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.cw-cr img{height:46px;max-width:60vw;object-fit:contain;filter:brightness(0) invert(1);opacity:.92;margin-left:-9px}
.cw-cr p{font-size:11px;color:#8F8B83;margin:0}
/* top btn */
.cw-top{position:fixed;right:20px;bottom:84px;z-index:60;width:48px;height:48px;border-radius:50%;background:var(--red);color:#fff;border:none;cursor:pointer;box-shadow:0 8px 22px rgba(232,0,27,.4);display:flex;align-items:center;justify-content:center;opacity:0;transform:translateY(12px);pointer-events:none;transition:all .3s}
.cw-top.show{opacity:1;transform:none;pointer-events:auto}
.cw-top svg{width:18px;height:18px;stroke:#fff;stroke-width:2.2;fill:none;stroke-linecap:round;stroke-linejoin:round}
.cw-top:hover{background:var(--red-d)}
/* nav dropdown */
.cw-navdd{position:relative;display:inline-block}
.cw-navdd>a::after{content:"";display:inline-block;width:6px;height:6px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-3px);margin-left:8px}
.cw-navdd .dd{position:absolute;top:100%;left:0;padding-top:6px;opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .2s,transform .2s,visibility .2s;z-index:70}
.cw-navdd:hover .dd,.cw-navdd:focus-within .dd{opacity:1;visibility:visible;transform:none}
.cw-navdd .dd-in{display:block;background:#fff;border:1px solid var(--line);border-radius:0;box-shadow:0 14px 34px rgba(31,30,28,.16);min-width:220px;padding:8px 0}
.cw-navdd .dd-in a{display:block;padding:9px 22px;font-size:13px;font-weight:500;white-space:nowrap}
.cw-navdd .dd-in a:hover{color:var(--red);background:var(--cream)}
.cw-navdd{display:flex}
.cw-navdd>a{display:flex;align-items:center}
.cw-navdd>a::after{transform:rotate(45deg);margin-top:-2px}
@media (max-width:900px){
.cw-search,.cw-kwband,.cw-nav{display:none}
.cw-login{margin-left:6px}
.cw-login svg{display:none}
.cw-burger{display:block}
.cw-icons>a span{display:none}
.cw-icons>a{padding:4px 8px}
.cw-logo{flex:none}
.cw-logo img{height:38px;margin-left:-8px}
}
@media (max-width:900px){
.cw-har{width:36px;height:36px;font-size:17px}
.cw-har.prev{left:8px}
.cw-har.next{right:8px}
}
@media (max-width:900px){
.cw-slide .in{grid-template-columns:1fr;gap:28px;padding:36px 52px 72px}
.cw-card .ph{height:240px}
}
@media (max-width:900px){
.cw-ngrid{grid-template-columns:repeat(2,1fr)}
.cw-bgrid2{grid-template-columns:1fr 1fr}
}
@media (max-width:900px){
.cw-find .cols{grid-template-columns:1fr}
.cw-conc{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:900px){
.cw-bgrid{grid-template-columns:1fr 1fr}
}
@media (max-width:900px){
:is(.cw-rgrid,.cw-osusume-grid){grid-template-columns:1fr 1fr;gap:10px}
:is(.cw-rimg,.cw-osusume-image){height:140px}
}
@media (max-width:900px){
.cw-teiki .in{grid-template-columns:1fr;gap:18px;text-align:center}
.cw-teiki ul{justify-content:center}
.cw-teiki .go{justify-self:center}
}
@media (max-width:900px){
.cw-cgrid{grid-template-columns:1fr}
}
@media (max-width:900px){
.cw-agrid{grid-template-columns:1fr 1fr;gap:12px}
}
@media (max-width:900px){
.cw-links{grid-template-columns:1fr 1fr}
.cw-contact{gap:32px}
}
















@media (max-width:767px){}

@media (min-width:920px){}















@media (max-width:900px){}

@media (min-width:920px){}


/* ── ② 商品写真：スクエアを基本、縦長は高さ基準 ── */
.c-product_item__img,
.c-product_item__inner__img,
.c-product_item__image,
.p-product_slider__item .c-product_item__img,
.c-product_img__image{position:relative;aspect-ratio:1/1 !important;height:auto !important;min-height:0 !important;max-height:none !important;display:flex !important;align-items:center;justify-content:center;overflow:hidden;background:#fff;padding:8px}
.c-product_item__img img,
.c-product_item__inner__img img,
.c-product_item__image img,
.c-product_img__image img{width:auto !important;height:auto !important;max-width:100% !important;max-height:100% !important;object-fit:contain !important;mix-blend-mode:multiply}

/* ── ③ ランキング意匠：順位バッジとボタンを朱に ── */
[class*="c-product_item"] [class*="rank"],
.c-product_item__rank,
.c-rank_label,
[class*="__rank_label"]{background:var(--t-shu) !important;color:#fff !important;font-family:var(--font-sans) !important;font-weight:700 !important;border-radius:0 !important}
:is([data-section-id="kk_ranking"],[data-section-id="kk_osusume"]) .c-button,
:is([data-section-id="kk_ranking"],[data-section-id="kk_osusume"]) a[class*="button"],
:is([data-section-id="kk_ranking"],[data-section-id="kk_osusume"]) button[class*="button"],
:is([data-section-id="kk_ranking"],[data-section-id="kk_osusume"]) [class*="view_more"] a,
:is([data-section-id="kk_ranking"],[data-section-id="kk_osusume"]) [class*="view_more"] button{background:var(--t-shu) !important;border:1px solid var(--t-shu) !important;color:#fff !important;border-radius:100px !important;font-family:var(--font-sans) !important;font-weight:500 !important;letter-spacing:.08em !important;max-width:320px !important;margin-inline:auto !important}
:is([data-section-id="kk_ranking"],[data-section-id="kk_osusume"]) .c-button:hover,
:is([data-section-id="kk_ranking"],[data-section-id="kk_osusume"]) a[class*="button"]:hover{background:var(--t-shu-soft) !important;border-color:var(--t-shu-soft) !important}
/* カード間の余白を詰め、商品名の行高を揃える */
:is([data-section-id="kk_ranking"],[data-section-id="kk_osusume"]) [class*="__list"]{gap:24px !important}

/* ── ④ トップ各セクションの幅を統一（1200）、帯は全幅 ── */
.cw-official,.cw-find,.cw-about{margin-inline:calc(50% - 50vw) !important;padding-inline:calc(50vw - 50%) !important;width:auto !important;max-width:none !important}
.cw-official > .in,.cw-find > .in,.cw-about > .in,
.cw-official > .cw-abar,.cw-about > .cw-ahead,.cw-about > .cw-agrid{max-width:1200px !important;margin-inline:auto !important}
.cw-find,.cw-about{padding-block:56px}
#ecf_content_for_index{overflow-x:clip}
:is([data-section-id="kk_ranking"],[data-section-id="kk_osusume"]) > *,
[data-section-id="kk_column"] > *,
[data-section-id="kk_news"] > *,
[data-section-id="kk_teiki"] > *{max-width:1240px;margin-inline:auto;padding-inline:0;box-sizing:border-box}
[data-section-id="kk_column"],[data-section-id="kk_news"]{padding-block:0}



/* ── ⑦ 0件表示（コラム・お知らせ） ── */
.p-news__inner__list:not(:has(.c-news_item))::after,
.p-column__inner__list:not(:has(.c-column_item))::after,
.p-media__inner__list:not(:has(.c-media_item))::after{
  display:block;width:100%;grid-column:1/-1;
  font-family:var(--font-sans);font-size:13px;line-height:2;color:var(--t-ink-soft);
  text-align:center;padding:34px 20px;
  border:1px solid var(--t-hairline);background:#fff;box-sizing:border-box}
.p-news__inner__list:not(:has(.c-news_item))::after{content:'まだお知らせはありません。'}
.p-column__inner__list:not(:has(.c-column_item))::after{content:'まだコラムはありません。'}
.p-media__inner__list:not(:has(.c-media_item))::after{content:'まだ記事はありません。'}
.p-news__inner__list:not(:has(.c-news_item)),
.p-column__inner__list:not(:has(.c-column_item)),
.p-media__inner__list:not(:has(.c-media_item)){display:block !important;border:none !important;margin:0 !important;padding:0 !important;min-height:0 !important}
/* 0件のときは「もっと見る」を出しない */
.p-news__inner:has(.p-news__inner__list:not(:has(.c-news_item))) .p-news__inner__more,
.p-column__inner:has(.p-column__inner__list:not(:has(.c-column_item))) .p-column__inner__more,
.p-media__inner:has(.p-media__inner__list:not(:has(.c-media_item))) .p-news__inner__more{display:none !important}

/* ── ⑧ フッター：お問い合わせ帯の上の余白を詰める ── */
#ecf_footer_section.kk-v71-retired.l-footer{padding-top:0 !important}
#ecf_footer_section.kk-v71-retired > .t-fcontact{margin:0 0 44px !important;padding:38px 20px 34px !important}
@media (max-width:767px){#ecf_footer_section.kk-v71-retired > .t-fcontact{margin-bottom:30px !important;padding:28px 20px 26px !important}}

/* ── ⑥ 下層ページの見出しを1系統に（帯は全幅・ベージュ地） ── */
.l-container,.l-container__row{overflow-x:clip}
.l-container__row:has(> .p-page_header){margin-top:0 !important;margin-bottom:0 !important}
.p-page_header{background:var(--t-bg-deep) !important;border-bottom:1px solid var(--t-hairline) !important;padding:46px 0 42px !important;margin:0 !important;margin-inline:calc(50% - 50vw) !important;padding-inline:calc(50vw - 50%) !important;color:var(--t-ink) !important}
.p-page_header__inner{max-width:1200px !important;margin-inline:auto !important;padding-inline:20px !important;text-align:left !important}
.t-page_eyebrow,.t-legal_hero__eyebrow{display:flex !important;align-items:center;gap:10px;font-family:var(--font-sans) !important;font-size:10.5px !important;font-weight:700 !important;letter-spacing:.22em !important;color:var(--t-shu) !important;margin:0 0 12px !important}
.t-page_eyebrow::before,.t-legal_hero__eyebrow::before{content:'';width:22px;height:1px;background:var(--t-shu);flex:0 0 auto}
.p-page_header__inner__title{font-family:var(--font-serif) !important;font-size:29px !important;font-weight:500 !important;line-height:1.35 !important;color:var(--t-ink) !important;border-left:3px solid var(--t-shu) !important;padding-left:15px !important;margin:0 !important;letter-spacing:.09em !important;text-align:left !important}
/* 墓地版（.t-legal_hero）を打ち消す */
.t-legal_hero,.t-legal_hero__inner{background:transparent !important;color:var(--t-ink) !important}
.t-legal_hero__title{color:var(--t-ink) !important}
@media (max-width:767px){
  .p-page_header{padding:32px 0 28px !important}
  .p-page_header__inner__title{font-size:22px !important}
}

/* ── ⑤ PDPの表組（CMS生成 .kkd-*）に外枠と縦罫線を戻す ── */
.kkd-mod table,.kkd-spec{width:100% !important;border-collapse:collapse !important;border:1px solid rgba(20,20,20,.16) !important}
.kkd-mod table th,.kkd-spec th{background:#F7F5F0 !important;border-right:1px solid rgba(20,20,20,.16) !important;border-bottom:1px solid rgba(20,20,20,.16) !important;text-align:left !important;white-space:normal !important}
.kkd-mod table td,.kkd-spec td{border-bottom:1px solid rgba(20,20,20,.16) !important}
.kkd-mod table tr:last-child th,.kkd-mod table tr:last-child td,
.kkd-spec tr:last-child th,.kkd-spec tr:last-child td{border-bottom:none !important}


/* KK-CRUMBS */
.t-crumbs,.p-breadcrumbs{max-width:1200px;margin:0 auto !important;padding:16px 20px 14px !important}
.t-crumbs__list,.p-breadcrumbs .c-breadcrumbs{display:flex;flex-wrap:wrap;align-items:center;gap:0;margin:0;padding:0;list-style:none}
.c-breadcrumbs__item{display:flex;align-items:center;font-family:var(--font-sans);font-size:11.5px;letter-spacing:.03em;color:var(--t-ink-soft)}
.c-breadcrumbs__item + .c-breadcrumbs__item::before{content:'\203A';margin:0 9px;color:var(--t-hairline);font-size:12px}
.c-breadcrumbs__item__inner{color:var(--t-ink-soft) !important;text-decoration:none}
.c-breadcrumbs__item__inner:hover{color:var(--t-shu) !important}
.c-breadcrumbs__item__inner.is-current{color:var(--t-ink) !important;font-weight:500}
@media (max-width:767px){.t-crumbs,.p-breadcrumbs{padding:12px 16px 10px !important}.c-breadcrumbs__item{font-size:11px}}

/* 検索結果・一覧の見出しと件数 */
.p-list_header{padding:0 !important;margin:0 0 28px !important;border:none !important}
.p-list_header__inner{display:flex !important;align-items:flex-end;justify-content:space-between;gap:20px;max-width:1200px;margin-inline:auto;padding:26px 20px 0 !important;border:none !important}
.p-list_header__inner__title{font-family:var(--font-serif) !important;font-size:27px !important;font-weight:500 !important;letter-spacing:.09em !important;color:var(--t-ink) !important;border-left:3px solid var(--t-shu) !important;padding:0 0 0 15px !important;margin:0 !important;line-height:1.3 !important}
.p-list_header__inner__title::before,.p-list_header::before{content:none !important}
@media (max-width:767px){
  .p-list_header__inner{padding:18px 16px 0 !important;align-items:flex-end}
  .p-list_header__inner__title{font-size:21px !important}
}


/* KK-CATHEAD-CSS */
.t-cathead{display:grid !important;grid-template-columns:1fr;gap:0 !important;align-items:stretch;background:var(--t-bg-deep) !important;border:1px solid var(--t-hairline);overflow:hidden;max-width:1200px;margin:24px auto 0 !important;padding:0 !important;height:auto !important;min-height:0 !important}
.t-cathead.has-image{grid-template-columns:minmax(0,34%) minmax(0,1fr) !important}
.t-cathead__img{background-size:cover;background-position:center;background-repeat:no-repeat;min-height:230px}
.t-cathead__body{display:flex !important;flex-direction:column;justify-content:center;align-items:flex-start !important;gap:0;padding:34px 40px !important;text-align:left !important;position:static !important;background:transparent !important;height:auto !important;min-height:0 !important;transform:none !important;inset:auto !important}
.t-cathead__eyebrow{display:flex;align-items:center;gap:10px;font-family:var(--font-sans);font-size:10px;font-weight:700;letter-spacing:.22em;color:var(--t-shu);margin:0 0 11px}
.t-cathead__eyebrow::before{content:'';width:20px;height:1px;background:var(--t-shu);flex:0 0 auto}
.t-cathead__title{font-family:var(--font-serif) !important;font-size:27px !important;font-weight:500 !important;line-height:1.35 !important;letter-spacing:.09em !important;color:var(--t-ink) !important;text-shadow:none !important;border-left:3px solid var(--t-shu);padding:0 0 0 15px !important;margin:0 !important}
.t-cathead__lead{font-family:var(--font-sans) !important;font-size:13px !important;line-height:1.95 !important;color:var(--t-body,#4A4A48) !important;text-shadow:none !important;margin:14px 0 0 18px !important;max-width:44em;text-align:left !important}
@media (max-width:900px){
  .t-cathead,.t-cathead.has-image{grid-template-columns:1fr !important;margin-inline:16px !important}
  .t-cathead__img{min-height:0;aspect-ratio:16/9}
  .t-cathead__body{padding:24px 22px !important}
  .t-cathead__title{font-size:21px !important}
}
/* 見出しが空のときは件数だけを右に寄せ、空の行を作らない */
.p-list_header__inner__title:empty{display:none !important}
.p-list_header__inner:not(:has(.p-list_header__inner__title:not(:empty))){justify-content:flex-end;padding-top:18px !important}
.p-list_header__inner:not(:has(.p-list_header__inner__title:not(:empty))) + *{margin-top:0 !important}


/* Form ownership: common.css + mypage.css + commerce.css. */

/* KK-NEWS-COLUMN */
/* ── ① 一覧へのリンクを見出し行の右端へ ── */
.p-column__inner,.p-news__inner,.p-media__inner{display:grid !important;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"head more" "list list";align-items:end;column-gap:20px;row-gap:22px;max-width:1200px;margin-inline:auto;padding-inline:20px}
.p-column__inner__title,.p-news__inner__title,.p-media__inner__title{grid-area:head;margin:0 !important}
.p-column__inner__list,.p-news__inner__list,.p-media__inner__list{grid-area:list;margin:0 !important}
.p-column__inner__more,.p-news__inner__more,.p-media__inner__more{grid-area:more;display:flex;justify-content:flex-end;align-items:center;margin:0 !important;padding:0 !important}
.p-column__inner__more__btn,.p-news__inner__more__btn,.p-media__inner__more__btn{display:inline-flex !important;align-items:center;gap:7px;background:transparent !important;color:var(--t-ink) !important;border:none !important;border-radius:0 !important;box-shadow:none !important;width:auto !important;min-width:0 !important;max-width:none !important;height:auto !important;padding:0 0 2px !important;margin:0 !important;font-family:var(--font-sans) !important;font-size:12.5px !important;font-weight:500 !important;letter-spacing:.06em !important;text-decoration:none;border-bottom:1px solid var(--t-hairline) !important}
.p-column__inner__more__btn::after,.p-news__inner__more__btn::after,.p-media__inner__more__btn::after{content:'';width:6px;height:6px;border-right:1.4px solid currentColor;border-bottom:1.4px solid currentColor;transform:rotate(-45deg);margin-left:1px}
.p-column__inner__more__btn:hover,.p-news__inner__more__btn:hover,.p-media__inner__more__btn:hover{color:var(--t-shu) !important;border-bottom-color:var(--t-shu) !important;background:transparent !important}
@media (max-width:560px){
  .p-column__inner,.p-news__inner,.p-media__inner{grid-template-columns:minmax(0,1fr);grid-template-areas:"head" "list" "more";padding-inline:16px}
  .p-column__inner__more,.p-news__inner__more,.p-media__inner__more{justify-content:center}
}

/* ── ② サムネイル規定：1600 × 900 px（16:9）で統一 ── */
/* 一覧カード（表示 384 × 216） */
.c-column_item__inner__img,.c-media_item__img,.c-media_item__img__inner{aspect-ratio:16/9 !important;width:100% !important;height:auto !important;min-height:0 !important;max-height:none !important;background-size:cover !important;background-position:center !important;background-repeat:no-repeat;background-color:var(--t-bg-deep);border:1px solid var(--t-hairline);overflow:hidden}
.c-media_item__img{border:none}
.c-column_item__inner__title,.c-media_item__text{font-family:var(--font-serif) !important;font-size:15px !important;line-height:1.7 !important;letter-spacing:.04em;color:var(--t-ink) !important;margin:14px 0 0 !important}
.c-column_item__inner__date{font-family:var(--font-sans) !important;font-size:11.5px !important;color:var(--t-ink-soft) !important;margin:8px 0 0 !important;display:block}
.c-column_item__inner__more{font-family:var(--font-sans) !important;font-size:11px !important;font-weight:700 !important;letter-spacing:.12em;color:var(--t-shu) !important;margin:10px 0 0 !important;display:inline-flex;align-items:center;gap:6px}
.c-column_item__inner{display:block;text-decoration:none}
/* 詳細画面のヘッダ画像（表示最大 1200 × 675） */
.p-column_header__bg{aspect-ratio:16/9 !important;width:100% !important;max-width:1200px !important;height:auto !important;min-height:0 !important;max-height:none !important;margin:24px auto 0 !important;background-size:cover !important;background-position:center !important;background-repeat:no-repeat;background-color:var(--t-bg-deep);border:1px solid var(--t-hairline)}
.p-column_header__panel{margin-top:0 !important}
.p-column_header__panel__inner{max-width:820px !important;margin-inline:auto !important;padding:30px 20px 0 !important;background:transparent !important;box-shadow:none !important;transform:none !important}
.p-column_header__panel__inner__title{font-family:var(--font-serif) !important;font-size:25px !important;font-weight:500 !important;line-height:1.5 !important;letter-spacing:.06em !important;color:var(--t-ink) !important;border-left:3px solid var(--t-shu);padding-left:15px !important;margin:16px 0 0 !important}
.p-column_header__panel__inner__top{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.p-column_header__panel__inner__top__date{font-family:var(--font-sans) !important;font-size:11.5px !important;letter-spacing:.06em;color:var(--t-ink-soft) !important}
.p-page_article__inner{max-width:820px !important;margin-inline:auto !important;padding:26px 20px 0 !important;font-size:14.5px !important;line-height:2.05 !important}
@media (max-width:900px){
  .p-column_header__bg{margin-inline:16px !important}
  .p-column_header__panel__inner__title{font-size:20px !important}
}


/* KK-NEWS-ROW */
/* お知らせ1行：日付 ／ カテゴリ ／ 件名 */
.p-news__inner__list{display:block !important;border-top:1px solid var(--t-hairline)}
.c-news_item{border-bottom:1px solid var(--t-hairline) !important;border-top:none !important;border-inline:none !important;margin:0 !important;padding:0 !important}
.c-news_item__inner{display:grid !important;grid-template-columns:92px 104px minmax(0,1fr);align-items:center;gap:0 18px;padding:17px 4px !important;text-decoration:none;transition:background .15s}
.c-news_item__inner:hover{background:var(--t-bg-deep)}
.c-news_item__inner__date{font-family:var(--font-sans) !important;font-size:11.5px !important;letter-spacing:.06em;color:var(--t-ink-soft) !important;white-space:nowrap}
.kk-news_item__cat{display:inline-flex;align-items:center;justify-content:center;height:22px;padding:0 10px;border:1px solid var(--t-shu);border-radius:100px;font-family:var(--font-sans);font-size:10.5px;font-weight:500;letter-spacing:.06em;color:var(--t-shu);white-space:nowrap;max-width:100%;overflow:hidden}
.c-news_item__inner__title{font-family:var(--font-sans) !important;font-size:13.5px !important;line-height:1.75 !important;letter-spacing:.02em;color:var(--t-ink) !important;margin:0 !important}
.c-news_item__inner:hover .c-news_item__inner__title{color:var(--t-shu) !important}
@media (max-width:640px){
  .c-news_item__inner{grid-template-columns:auto 1fr;grid-template-areas:"date cat" "title title";gap:8px 12px;padding:15px 2px !important}
  .c-news_item__inner__date{grid-area:date}
  .kk-news_item__cat{grid-area:cat;justify-self:start}
  .c-news_item__inner__title{grid-area:title;font-size:13px !important}
}


/* KK-ABDEG */
/* ── A. セクション見出しを「和文主・英字副」に統一 ── */
[class$="__inner__title"],.p-category_ranking_section > [class$="__title"]{display:flex !important;flex-direction:row;align-items:baseline;flex-wrap:wrap;gap:4px 14px;margin:0 !important;padding:0 !important;border:none !important;text-align:left !important}
[class$="__title__jp"]{order:1;font-family:var(--font-serif) !important;font-size:22px !important;font-weight:600 !important;line-height:1.4 !important;letter-spacing:.08em !important;color:var(--t-ink) !important;border-left:3px solid var(--t-shu);padding-left:14px !important;margin:0 !important}
[class$="__title__en"]{order:2;font-family:var(--font-sans) !important;font-size:10.5px !important;font-weight:700 !important;letter-spacing:.2em !important;color:var(--t-ink-soft) !important;margin:0 !important;padding:0 !important;border:none !important;line-height:1.6 !important}
@media (max-width:640px){
  [class$="__title__jp"]{font-size:19px !important;padding-left:12px !important}
  [class$="__title__en"]{font-size:9.5px !important}
}

/* ── B. トップのセクション間余白を共通スケールに ── */
#ecf_content_for_index [data-section-id] .l-container__row{margin-top:0 !important;margin-bottom:0 !important}
:is([data-section-id="kk_ranking"],[data-section-id="kk_osusume"]),
[data-section-id="kk_column"],
[data-section-id="kk_news"],
[data-section-id="kk_banners"]{padding-block:64px !important}
.cw-find,.cw-about{padding-block:64px !important}
[data-section-id="kk_official"]{padding-block:0 !important}
[data-section-id="kk_teiki"]{padding-block:64px 0 !important}
[data-section-id="kk_hero"]{padding-block:0 !important}
[data-section-id="kk_news"]{padding-bottom:80px !important}
@media (max-width:767px){
  :is([data-section-id="kk_ranking"],[data-section-id="kk_osusume"]),[data-section-id="kk_column"],
  [data-section-id="kk_news"],[data-section-id="kk_banners"],
  .cw-find,.cw-about{padding-block:44px !important}
  [data-section-id="kk_teiki"]{padding-block:44px 0 !important}
}

/* ── D. お気に入りボタンを円形に ── */
.c-product_item__button--favorite{width:38px !important;height:38px !important;min-width:0 !important;padding:0 !important;border-radius:999px !important;background:#fff !important;border:1px solid var(--t-hairline) !important;box-shadow:0 1px 5px rgba(20,20,20,.12) !important;display:inline-flex !important;align-items:center;justify-content:center;transition:transform .15s,border-color .15s}
.c-product_item__button--favorite:hover{transform:scale(1.06);border-color:var(--t-shu) !important;background:#fff !important}
.c-product_item__button--favorite i,.c-product_item__button--favorite svg,.c-product_item__button--favorite::before{color:var(--t-shu) !important;fill:var(--t-shu) !important;font-size:15px !important;line-height:1 !important}
.c-product_item__form--favorite{margin:0 !important}

/* ── E. 価格表示を3段に ── */
.c-product_item__inner__price{display:flex !important;flex-direction:column;align-items:flex-start;gap:1px;font-family:var(--font-sans) !important;margin:8px 0 0 !important;line-height:1.5 !important}
.c-product_item__inner__price .price{order:1;font-size:11px !important;color:var(--t-ink-soft) !important;text-decoration:line-through;letter-spacing:.02em}
.c-product_item__inner__price .sale{order:2;font-size:17px !important;font-weight:700 !important;color:var(--t-shu) !important;letter-spacing:.01em}
.c-product_item__inner__price .sale ~ *,.c-product_item__inner__price small,.c-product_item__inner__price .tax{order:3;font-size:11px !important;color:var(--t-ink-soft) !important;font-weight:400 !important}
.c-product_item__inner__category{font-family:var(--font-sans) !important;font-size:10.5px !important;letter-spacing:.08em;color:var(--t-ink-soft) !important;margin:0 0 5px !important;display:block}
.c-product_item__inner__title{font-family:var(--font-sans) !important;font-size:13px !important;line-height:1.7 !important;color:var(--t-ink) !important;margin:0 !important}

/* ── G. ランキングの「もっと見る」を見出し行の右端へ ── */
.p-category_ranking_section{display:grid !important;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"head more" "tabs tabs" "list list";align-items:end;column-gap:20px;row-gap:20px;max-width:1200px;margin-inline:auto !important;padding-inline:20px}
.p-category_ranking_section > [class$="__title"]{grid-area:head}
.p-category_ranking_section__header{grid-area:tabs;margin:0 !important}
.p-category_ranking_section__content{grid-area:list;margin:0 !important}
.p-category_ranking_section__more{grid-area:more;display:flex !important;justify-content:flex-end;align-items:center;margin:0 !important;padding:0 !important}
:is([data-section-id="kk_ranking"],[data-section-id="kk_osusume"]) .p-category_ranking_section__more .c-button,
.p-category_ranking_section__more .c-button{display:inline-flex !important;align-items:center;gap:7px;background:transparent !important;color:var(--t-ink) !important;border:none !important;border-bottom:1px solid var(--t-hairline) !important;border-radius:0 !important;box-shadow:none !important;width:auto !important;min-width:0 !important;max-width:none !important;height:auto !important;padding:0 0 2px !important;margin:0 !important;font-family:var(--font-sans) !important;font-size:12.5px !important;font-weight:500 !important;letter-spacing:.06em !important;text-decoration:none}
.p-category_ranking_section__more .c-button::after{content:'';width:6px;height:6px;border-right:1.4px solid currentColor;border-bottom:1.4px solid currentColor;transform:rotate(-45deg);margin-left:1px}
.p-category_ranking_section__more .c-button:hover{color:var(--t-shu) !important;border-bottom-color:var(--t-shu) !important;background:transparent !important}
@media (max-width:560px){
  .p-category_ranking_section{grid-template-columns:minmax(0,1fr);grid-template-areas:"head" "tabs" "list" "more";padding-inline:16px}
  .p-category_ranking_section__more{justify-content:center}
}


/* KK-COLUMN-OFFICIAL */
/* ── C. コラム一覧：件数に応じて列数を変える ── */
.p-column__inner__list:has(.c-column_item){display:grid !important;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px 28px;list-style:none;margin:0 !important;padding:0 !important}
.p-column__inner__list:has(.c-column_item) > *{width:auto !important;max-width:none !important;margin:0 !important;padding:0 !important;float:none !important;list-style:none}
/* 2件：2列 */
.p-column__inner__list:has(> *:nth-child(2)):not(:has(> *:nth-child(3))){grid-template-columns:repeat(2,minmax(0,1fr)) !important}
/* TOPの2件：PCでも各カード1/3幅の3列契約を維持 */
@media (min-width:901px){
  [data-section-id="kk_column"] .p-column__inner__list:has(> *:nth-child(2)):not(:has(> *:nth-child(3))){grid-template-columns:repeat(3,minmax(0,1fr)) !important}
}
@media (max-width:560px){
  [data-section-id="kk_column"] .p-column__inner__list:has(> *:nth-child(2)):not(:has(> *:nth-child(3))){grid-template-columns:minmax(0,1fr) !important}
}
/* 1件：サムネ左・テキスト右の横並び */
.p-column__inner__list:has(.c-column_item):not(:has(> *:nth-child(2))){grid-template-columns:minmax(0,1fr) !important}
.p-column__inner__list:has(.c-column_item):not(:has(> *:nth-child(2))) .c-column_item__inner{display:grid !important;grid-template-columns:minmax(0,42%) minmax(0,1fr);align-items:center;gap:0 30px;border:1px solid var(--t-hairline);padding:0 30px 0 0;background:#fff}
.p-column__inner__list:has(.c-column_item):not(:has(> *:nth-child(2))) .c-column_item__inner__img{margin:0 !important;border:none !important;border-right:1px solid var(--t-hairline) !important}
.p-column__inner__list:has(.c-column_item):not(:has(> *:nth-child(2))) .c-column_item__inner__title{font-size:20px !important;line-height:1.6 !important;margin:0 !important;padding:26px 0 0}
.p-column__inner__list:has(.c-column_item):not(:has(> *:nth-child(2))) .c-column_item__inner__date{margin:12px 0 0 !important}
.p-column__inner__list:has(.c-column_item):not(:has(> *:nth-child(2))) .c-column_item__inner__more{margin:14px 0 26px !important}
@media (max-width:900px){
  .p-column__inner__list:has(.c-column_item){grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:26px 20px}
}
@media (max-width:640px){
  .p-column__inner__list:has(.c-column_item){grid-template-columns:minmax(0,1fr) !important}
  .p-column__inner__list:has(.c-column_item):not(:has(> *:nth-child(2))) .c-column_item__inner{grid-template-columns:minmax(0,1fr);padding:0 0 22px}
  .p-column__inner__list:has(.c-column_item):not(:has(> *:nth-child(2))) .c-column_item__inner__img{border-right:none !important;border-bottom:1px solid var(--t-hairline) !important}
  .p-column__inner__list:has(.c-column_item):not(:has(> *:nth-child(2))) .c-column_item__inner__title{font-size:17px !important;padding:20px 20px 0}
  .p-column__inner__list:has(.c-column_item):not(:has(> *:nth-child(2))) .c-column_item__inner__date,
  .p-column__inner__list:has(.c-column_item):not(:has(> *:nth-child(2))) .c-column_item__inner__more{margin-inline:20px !important}
}

/* ── F. 公式帯：信頼を担保する帯として組み直す ── */
.kk-official{background:var(--t-bg-deep) !important;border-top:1px solid var(--t-hairline);border-bottom:1px solid var(--t-hairline);padding:18px 20px !important;margin:0 !important;width:auto !important;max-width:none !important}
.kk-official .wrap{max-width:1200px;margin-inline:auto;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px 20px;text-align:center}
.kk-official__mark{display:inline-flex;align-items:center;gap:9px;flex:0 0 auto;font-family:var(--font-sans);font-size:10px;font-weight:700;letter-spacing:.22em;color:var(--t-shu)}
.kk-official__mark::before,.kk-official__mark::after{content:'';width:16px;height:1px;background:var(--t-shu)}
.kk-official__lead{font-family:var(--font-serif) !important;font-size:14px !important;font-weight:500;line-height:1.7 !important;letter-spacing:.05em;color:var(--t-ink) !important;margin:0 !important}
@media (max-width:900px){
  .kk-official{padding:15px 16px !important}
  .kk-official .wrap{flex-direction:column;gap:8px}
  .kk-official__lead{font-size:13px !important}
    }


/* KK-HERO-CTL */
/* Hero: トラックを全面に敷き、矢印＋ドットを下端中央の1列にまとめる */
[data-section-id="kk_hero"] .slick-slider{display:grid !important;grid-template-columns:1fr auto auto auto 1fr;grid-template-rows:minmax(0,1fr) auto;align-items:center;position:relative}
[data-section-id="kk_hero"] .slick-list{grid-column:1 / -1;grid-row:1 / -1;width:100%}
[data-section-id="kk_hero"] .slick-prev,
[data-section-id="kk_hero"] .slick-dots,
[data-section-id="kk_hero"] .slick-next{grid-row:2;position:relative !important;inset:auto !important;transform:none !important;z-index:5;margin:0 0 16px !important}
[data-section-id="kk_hero"] .slick-prev{grid-column:2}
[data-section-id="kk_hero"] .slick-dots{grid-column:3;display:flex !important;align-items:center;gap:10px;width:auto !important;padding:0 10px !important;list-style:none}
[data-section-id="kk_hero"] .slick-next{grid-column:4}
/* 矢印：32px の白丸＋影 */
[data-section-id="kk_hero"] .slick-prev,
[data-section-id="kk_hero"] .slick-next{width:32px !important;height:32px !important;border-radius:50% !important;background:rgba(255,255,255,.88) !important;border:none !important;box-shadow:0 2px 8px rgba(0,0,0,.12) !important;display:flex !important;align-items:center;justify-content:center;cursor:pointer;font-size:0 !important;color:var(--t-ink) !important;transition:background .15s}
[data-section-id="kk_hero"] .slick-prev:hover,
[data-section-id="kk_hero"] .slick-next:hover{background:#fff !important}
[data-section-id="kk_hero"] .slick-prev::before,
[data-section-id="kk_hero"] .slick-next::before{content:'' !important;width:8px;height:8px;border-top:1.6px solid var(--t-ink);border-right:1.6px solid var(--t-ink);opacity:1 !important;font-size:0 !important}
[data-section-id="kk_hero"] .slick-prev::before{transform:rotate(-135deg);margin-left:-2px}
[data-section-id="kk_hero"] .slick-next::before{transform:rotate(45deg);margin-right:-2px}
/* ドット：10px、現在位置は朱の横長 */
[data-section-id="kk_hero"] .slick-dots li{width:auto !important;height:auto !important;margin:0 !important;padding:0 !important}
[data-section-id="kk_hero"] .slick-dots li button{width:10px !important;height:10px !important;padding:0 !important;border:none !important;border-radius:100px !important;background:rgba(255,255,255,.55) !important;box-shadow:0 1px 3px rgba(0,0,0,.14);font-size:0 !important;transition:all .25s;cursor:pointer}
[data-section-id="kk_hero"] .slick-dots li button::before{display:none !important;content:none !important}
[data-section-id="kk_hero"] .slick-dots li.slick-active button{width:24px !important;background:var(--t-shu) !important}
@media (max-width:767px){
  [data-section-id="kk_hero"] .slick-prev,
  [data-section-id="kk_hero"] .slick-next{width:28px !important;height:28px !important}
  [data-section-id="kk_hero"] .slick-prev,
  [data-section-id="kk_hero"] .slick-dots,
  [data-section-id="kk_hero"] .slick-next{margin-bottom:12px !important}
}


/* KK-V24 */
/* ── ランキング：カテゴリ絞り込みタブは使わない ── */
.p-category_ranking_section__header{display:none !important}
.p-category_ranking_section{grid-template-areas:"head more" "list list" !important;grid-template-rows:auto auto !important}

/* ── 商品カード：カード内のカート投入は置かない（詳細で入れる） ── */
.c-product_item__form--cart,
.c-product_item__button--cart{display:none !important}
.c-product_item__actions{position:absolute !important;right:10px;bottom:10px;z-index:2;display:flex !important;gap:8px;margin:0 !important;padding:0 !important;opacity:1 !important;visibility:visible !important;transform:none !important;background:none !important;width:auto !important}
.c-product_item__inner__eyecatch{position:relative}
.c-product_item{position:relative}
.c-product_item__inner__content{padding:0 !important}

/* ── 並び替え（件数＋セレクト） ── */
.c-list_tool{display:flex !important;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;max-width:1200px;margin:0 auto 22px !important;padding:0 20px !important;border:none !important}
.c-list_tool__num{font-family:var(--font-sans) !important;font-size:12px !important;letter-spacing:.06em;color:var(--t-ink-soft) !important}
.c-list_tool__sort__label{font-family:var(--font-sans) !important;font-size:11.5px !important;letter-spacing:.08em;color:var(--t-ink-soft) !important;margin-right:9px}
.c-list_tool__sort__wrap{position:relative;display:inline-flex;align-items:center}
.c-list_tool__sort__wrap__select{appearance:none;-webkit-appearance:none;background:#fff !important;border:1px solid var(--t-hairline) !important;border-radius:100px !important;font-family:var(--font-sans) !important;font-size:12.5px !important;color:var(--t-ink) !important;padding:9px 34px 9px 16px !important;min-height:38px;cursor:pointer;box-shadow:none !important}
.c-list_tool__sort__wrap__select:focus{outline:none;border-color:var(--t-shu) !important;box-shadow:0 0 0 3px rgba(196,34,42,.10) !important}
.c-list_tool__sort__wrap::after{content:'';position:absolute;right:14px;top:50%;width:6px;height:6px;margin-top:-4px;border-right:1.5px solid var(--t-ink-soft);border-bottom:1.5px solid var(--t-ink-soft);transform:rotate(45deg);pointer-events:none}

/* ── ページネーション（SEOのため番号式を採用） ── */
.c-pagination{max-width:1200px;margin:52px auto 0 !important;padding:0 20px !important}
.c-pagination__list{display:flex !important;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;border:none !important;margin:0 !important;padding:0 !important;list-style:none}
.c-pagination__list__item{border:none !important;margin:0 !important;padding:0 !important}
.c-pagination__list__item__page,
.c-pagination__list__item__prev,
.c-pagination__list__item__next{display:inline-flex !important;align-items:center;justify-content:center;min-width:38px;height:38px;padding:0 12px;border:1px solid var(--t-hairline) !important;border-radius:100px !important;background:#fff !important;font-family:var(--font-sans) !important;font-size:12.5px !important;letter-spacing:.04em;color:var(--t-ink) !important;text-decoration:none;transition:border-color .15s,color .15s}
.c-pagination__list__item__page:hover,
.c-pagination__list__item__prev:hover,
.c-pagination__list__item__next:hover{border-color:var(--t-shu) !important;color:var(--t-shu) !important}
.c-pagination__list__item.is-active .c-pagination__list__item__page,
.c-pagination__list__item.is-active span{background:var(--t-shu) !important;border-color:var(--t-shu) !important;color:#fff !important}
@media (max-width:560px){.c-pagination__list{gap:6px}.c-pagination__list__item__page{min-width:34px;height:34px;font-size:12px !important}}

/* ── 絞り込み検索パネル ── */
.p-search_menu__container{background:var(--t-bg) !important;box-shadow:-6px 0 24px rgba(20,20,20,.10)}
.p-search_menu__container__inner{padding:26px 24px !important}
.p-search_menu__container__inner__heading{font-family:var(--font-serif) !important;font-size:18px !important;font-weight:600 !important;letter-spacing:.08em;color:var(--t-ink) !important;border-left:3px solid var(--t-shu);padding-left:13px !important;margin:0 0 20px !important}
.p-search_menu__container__inner__search{border:1px solid var(--t-hairline) !important;border-radius:0 !important;background:#fff;padding:4px 16px !important}
.p-search_menu__container__inner__search__part{display:grid !important;grid-template-columns:minmax(0,1fr);gap:8px;padding:16px 0 !important;border-bottom:1px solid var(--t-hairline)}
.p-search_menu__container__inner__search__part:last-child{border-bottom:none}
.p-search_menu__container__inner__search__part__label .label_title{font-family:var(--font-sans) !important;font-size:11.5px !important;font-weight:700 !important;letter-spacing:.1em;color:var(--t-ink-soft) !important}
.p-search_menu .input_wrap input,.p-search_menu select,.p-search_menu input[type="search"]{width:100%;background:#fff !important;border:1px solid var(--t-hairline) !important;border-radius:0 !important;font-family:var(--font-sans) !important;font-size:14px !important;padding:11px 14px !important;min-height:44px}
.p-search_menu .input_wrap input:focus,.p-search_menu select:focus{outline:none;border-color:var(--t-shu) !important;box-shadow:0 0 0 3px rgba(196,34,42,.10) !important}
.p-search_menu button[type="submit"],.p-search_menu .c-button{background:var(--t-shu) !important;color:#fff !important;border:1px solid var(--t-shu) !important;border-radius:100px !important;font-family:var(--font-sans) !important;font-size:13.5px !important;letter-spacing:.1em;padding:14px 20px !important;width:100%;margin-top:20px}
.p-search_menu__overlay{background:rgba(26,26,26,.5)}

/* ── レビュー ── */
.c-review_item_detail{display:grid !important;grid-template-columns:minmax(0,168px) minmax(0,1fr);gap:0 26px;padding:24px 0 !important;border-bottom:1px solid var(--t-hairline) !important;margin:0 !important}
.c-review_item_detail__left{display:flex;flex-direction:column;gap:6px}
.c-review_item_detail__star{color:var(--t-shu) !important;letter-spacing:.1em}
.c-review_item_detail__name{font-family:var(--font-sans) !important;font-size:12.5px !important;color:var(--t-ink) !important}
.c-review_item_detail__time{font-family:var(--font-sans) !important;font-size:11px !important;color:var(--t-ink-soft) !important}
.c-review_item_detail__title{font-family:var(--font-serif) !important;font-size:16px !important;font-weight:600 !important;line-height:1.6 !important;color:var(--t-ink) !important;margin:0 0 8px !important}
.c-review_item_detail__text,.c-review_item_detail__content{font-family:var(--font-sans) !important;font-size:13.5px !important;line-height:1.95 !important;color:var(--t-body,#4A4A48) !important}
.c-review_item_detail__reaction{margin-top:14px;display:flex;align-items:center;gap:10px}
.c-review_item_detail__button{background:#fff !important;border:1px solid var(--t-hairline) !important;border-radius:100px !important;font-family:var(--font-sans) !important;font-size:11.5px !important;color:var(--t-ink-soft) !important;padding:7px 15px !important;cursor:pointer}
.c-review_item_detail__button:hover{border-color:var(--t-shu) !important;color:var(--t-shu) !important}
@media (max-width:640px){.c-review_item_detail{grid-template-columns:minmax(0,1fr);gap:12px}}

/* ── 閲覧履歴（カードは共通意匠を継承） ── */
[data-section-id="browsing_history"],[data-section-id*="browsing"]{padding-block:56px !important}

/* ── SPパンくず（下部）も上部と同じ意匠で ── */
.p-breadcrumbs--sp{max-width:1200px;margin:44px auto 0 !important;padding:0 16px 8px !important}

/* Purchase-flow route styling is owned by cart.css and checkout.css. */

/* KK-V25-SELECTORS */
/* ── Hero: 実体は splide。矢印＋ドットは .p-kv_slider__nav に同居している ── */
[data-section-id="kk_hero"] .p-kv_slider{position:relative}
[data-section-id="kk_hero"] .p-kv_slider__nav{position:absolute !important;left:50% !important;right:auto !important;top:auto !important;bottom:16px !important;transform:translateX(-50%) !important;display:flex !important;align-items:center;justify-content:center;gap:10px;width:auto !important;height:auto !important;padding:0 !important;margin:0 !important;z-index:5}
[data-section-id="kk_hero"] .p-kv_slider__nav__arrow{position:static !important;inset:auto !important;transform:none !important;opacity:1 !important;width:32px !important;height:32px !important;min-width:0 !important;padding:0 !important;margin:0 !important;border:none !important;border-radius:50% !important;background:rgba(255,255,255,.88) !important;box-shadow:0 2px 8px rgba(0,0,0,.12) !important;display:flex !important;align-items:center;justify-content:center;cursor:pointer}
[data-section-id="kk_hero"] .p-kv_slider__nav__arrow:hover{background:#fff !important}
[data-section-id="kk_hero"] .p-kv_slider__nav__arrow i{color:var(--t-ink) !important;font-size:13px !important;line-height:1}
[data-section-id="kk_hero"] .p-kv_slider__nav__arrow--prev i{transform:rotate(180deg)}
[data-section-id="kk_hero"] .p-kv_slider__nav__pagination{position:static !important;display:flex !important;align-items:center;gap:10px;width:auto !important;margin:0 !important;padding:0 6px !important;list-style:none;transform:none !important}
[data-section-id="kk_hero"] .p-kv_slider__nav__pagination__dot{width:auto !important;height:auto !important;margin:0 !important;padding:0 !important;list-style:none}
[data-section-id="kk_hero"] .p-kv_slider__nav__pagination__dot button{width:10px !important;height:10px !important;padding:0 !important;margin:0 !important;border:none !important;border-radius:100px !important;background:rgba(255,255,255,.55) !important;box-shadow:0 1px 3px rgba(0,0,0,.16);font-size:0 !important;cursor:pointer;transition:all .25s}
[data-section-id="kk_hero"] .p-kv_slider__nav__pagination__dot.is-active button,
[data-section-id="kk_hero"] .p-kv_slider__nav__pagination__dot button.is-active,
[data-section-id="kk_hero"] .splide__pagination__page.is-active{width:24px !important;background:var(--t-shu) !important}
@media (max-width:767px){
  [data-section-id="kk_hero"] .p-kv_slider__nav{bottom:12px !important;gap:8px}
  [data-section-id="kk_hero"] .p-kv_slider__nav__arrow{width:28px !important;height:28px !important}
}

/* ── セクション見出し：.c-section_title 系も和文主・英字副に ── */
.c-section_title{display:flex !important;flex-direction:row;align-items:baseline;flex-wrap:wrap;gap:4px 14px;margin:0 !important;padding:0 !important;border:none !important;text-align:left !important}
.c-section_title__subhead{order:1 !important;font-family:var(--font-serif) !important;font-size:22px !important;font-weight:600 !important;line-height:1.4 !important;letter-spacing:.08em !important;color:var(--t-ink) !important;border-left:3px solid var(--t-shu);padding-left:14px !important;margin:0 !important}
.c-section_title__head{order:2 !important;font-family:var(--font-sans) !important;font-size:10.5px !important;font-weight:700 !important;letter-spacing:.2em !important;color:var(--t-ink-soft) !important;margin:0 !important;padding:0 !important;border:none !important;line-height:1.6 !important}
@media (max-width:640px){
  .c-section_title__subhead{font-size:19px !important;padding-left:12px !important}
  .c-section_title__head{font-size:9.5px !important}
}
/* ランキングのグリッド割りを実マークアップに合わせる */
.p-category_ranking_section{grid-template-areas:"head more" "list list" !important;grid-template-rows:auto auto !important}
.p-category_ranking_section > .c-section_title{grid-area:head}
.p-category_ranking_section__content{grid-area:list}
.p-category_ranking_section__more{grid-area:more}
@media (max-width:560px){
  .p-category_ranking_section{grid-template-areas:"head" "list" "more" !important}
}

/* ── 定期便バナー：実体は .p-banner__link / .p-banner__image ── */
[data-section-id="kk_teiki"] .l-container__row{margin:0 !important;padding:0 !important}
[data-section-id="kk_teiki"] .p-banner_section,
[data-section-id="kk_teiki"] .p-banner_section__content,
[data-section-id="kk_teiki"] .p-banner{max-width:none !important;width:100% !important;margin:0 !important;padding:0 !important}
[data-section-id="kk_teiki"] .p-banner_section__title:has(h2:empty){display:none !important}

/* ── 価格：取り消し線は .origin（.price ではない） ── */
.c-product_item__inner__price{display:flex !important;flex-direction:column;align-items:flex-start;gap:1px;font-family:var(--font-sans) !important;font-size:11px !important;color:var(--t-ink-soft) !important;margin:8px 0 0 !important;line-height:1.6 !important}
.c-product_item__inner__price .origin{order:1;font-size:11px !important;color:var(--t-ink-soft) !important;text-decoration:line-through}
.c-product_item__inner__price .sale{order:2;font-size:17px !important;font-weight:700 !important;color:var(--t-shu) !important;letter-spacing:.01em}
/* W-LIQ5③: カードの情報順：商品名 → カテゴリ → 価格(旧: カテゴリ→商品名→価格)。
   .c-product_item__inner__titleはcw-title-row配下へ移設済みで直接のflex子ではなくなりorder:2は不発。
   categoryをorder:0にしてDOM順(cw-title-row→category→cw-prices→cw-rbtns)通りに描画させる */
.c-product_item__inner__content{display:flex !important;flex-direction:column;align-items:flex-start;gap:0;padding:12px 0 0 !important}
.c-product_item__inner__category{order:0;margin:0 0 5px !important}
.c-product_item__inner__title{order:2;margin:0 !important}
.c-product_item__inner__price{order:3}
.c-product_item__link{display:block;text-decoration:none}


/* KK-V26-ALIGN */
/* ── コンテナ幅：デザインの 1200 / padding 20（本文幅 1160）に揃える
      テーマ既定の 1120 / 40（本文幅 1040）では自作セクションと左端が60pxずれる ── */
main.l-container:not(#customers-sessions-sign-in-view):not(#customers-view) > .l-container__row{max-width:1200px !important;padding-left:20px !important;padding-right:20px !important}
main.l-container:not(#customers-sessions-sign-in-view):not(#customers-view) > .l-container__row,main.l-container:not(#customers-sessions-sign-in-view):not(#customers-view) > #add_product_async_view{max-width:1200px !important}
@media (max-width:767px){.l-container__row{padding-left:18px !important;padding-right:18px !important}}
.cw .wrap{max-width:1200px;margin-inline:auto;padding-left:20px;padding-right:20px}

/* ── Heroの現在ドットは is-current（is-active ではない） ── */
[data-section-id="kk_hero"] .p-kv_slider__nav__pagination__dot.is-current button{width:24px !important;background:var(--t-shu) !important}

/* ── セクション見出し：デザインの .cw-sh と同一にする
      バーは4×34の丸角（border-left ではない）、見出しはゴシック700 ── */
.c-section_title,.p-column__inner__title,.p-news__inner__title{display:flex !important;align-items:center !important;flex-wrap:nowrap !important;gap:12px !important;margin:0 0 24px !important;padding:0 !important;border:none !important;text-align:left !important}
.c-section_title::before,.p-column__inner__title::before,.p-news__inner__title::before{content:'';flex:none;width:4px;height:34px;border-radius:100px;background:var(--t-shu)}
.c-section_title__subhead,.p-column__inner__title__jp,.p-news__inner__title__jp{order:1 !important;display:flex !important;flex-direction:column;font-family:var(--font-sans) !important;font-size:22px !important;font-weight:700 !important;line-height:1.4 !important;letter-spacing:.02em !important;color:var(--t-ink) !important;border:none !important;padding:0 !important;margin:0 !important}
.c-section_title__head,.p-column__inner__title__en,.p-news__inner__title__en{order:2 !important;display:block !important;font-family:var(--font-sans) !important;font-size:10.5px !important;font-weight:400 !important;letter-spacing:.18em !important;color:var(--t-ink-soft) !important;margin:0 !important;padding:0 !important;border:none !important;line-height:1.6 !important}
/* 英字は和文の真下（デザインの small 相当） */
.c-section_title{flex-wrap:wrap !important}
.c-section_title__head{width:100%;order:3 !important;margin-left:16px !important}
.p-column__inner__title__en,.p-news__inner__title__en{width:100%;order:3 !important;margin-left:16px !important}
@media (max-width:640px){
  .c-section_title__subhead,.p-column__inner__title__jp,.p-news__inner__title__jp{font-size:19px !important}
  .c-section_title::before,.p-column__inner__title::before,.p-news__inner__title::before{height:30px}
}

/* 「もっと見る」：デザインの .cw-sh .more（見出し行の右端・朱・罫なし） */
.p-column__inner,.p-news__inner{display:grid !important;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"head more" "list list";align-items:center;gap:0 20px;margin:0 !important;padding:0 !important}
.p-column__inner__title,.p-news__inner__title{grid-area:head}
.p-column__inner__list,.p-news__inner__list{grid-area:list;margin:0 !important;padding:0 !important}
.p-column__inner__more,.p-news__inner__more{grid-area:more;margin:0 0 24px !important;padding:0 !important;text-align:right}
.p-category_ranking_section__more{align-self:center;margin:0 0 24px !important}
.p-column__inner__more__btn,.p-news__inner__more__btn,.p-category_ranking_section__more__btn{display:inline-block !important;background:none !important;border:none !important;border-radius:0 !important;box-shadow:none !important;font-family:var(--font-sans) !important;font-size:12.5px !important;font-weight:500 !important;letter-spacing:.02em !important;color:var(--t-shu) !important;white-space:nowrap;padding:0 !important;min-height:0 !important;width:auto !important;text-decoration:none}
.p-column__inner__more__btn:hover,.p-news__inner__more__btn:hover,.p-category_ranking_section__more__btn:hover{opacity:.72}
@media (max-width:560px){
  .p-column__inner,.p-news__inner{grid-template-columns:minmax(0,1fr);grid-template-areas:"head" "list" "more"}
  .p-column__inner__more,.p-news__inner__more{text-align:left;margin:20px 0 0 !important}
}

/* ── コラムカード：デザインの .cw-ccard
      サムネイル規定 1200×750px（16:10）— 表示は高さ170pxで上下トリミング ── */
.p-column__inner__list{display:grid !important;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;list-style:none}
.p-column__inner__list__item{width:auto !important;margin:0 !important;padding:0 !important;list-style:none}
.c-column_item{margin:0 !important;padding:0 !important;background:#fff !important;border:1px solid var(--t-hairline) !important;border-radius:0 !important;overflow:hidden;box-shadow:0 1px 4px rgba(31,30,28,.05) !important;transition:box-shadow .25s,border-color .25s,transform .25s}
.c-column_item:hover{border-color:rgba(196,34,42,.34) !important;box-shadow:0 6px 18px rgba(31,30,28,.09) !important;transform:translateY(-2px)}
.c-column_item__inner{display:flex !important;flex-direction:column;gap:0;text-decoration:none;border:none !important;padding:0 !important;height:100%}
.c-column_item__inner__img{order:1;height:170px !important;width:100% !important;min-height:0 !important;aspect-ratio:auto !important;background-size:cover !important;background-position:center !important;background-repeat:no-repeat;border:none !important;margin:0 !important;transition:transform .5s}
.c-column_item__inner:hover .c-column_item__inner__img{transform:scale(1.06)}
.c-column_item__inner__title{order:2;font-family:var(--font-sans) !important;font-size:13.5px !important;font-weight:700 !important;line-height:1.7 !important;color:var(--t-ink) !important;margin:0 !important;padding:16px 16px 0 !important;text-wrap:pretty}
.c-column_item__inner__date{order:3;font-family:var(--font-sans) !important;font-size:10.5px !important;letter-spacing:.04em;color:var(--t-ink-soft) !important;margin:0 !important;padding:8px 16px 0 !important;display:block}
.c-column_item__inner__more{order:4;font-family:var(--font-sans) !important;font-size:10.5px !important;font-weight:700 !important;letter-spacing:.14em !important;color:var(--t-shu) !important;margin:0 !important;padding:6px 16px 14px !important;text-decoration:none !important}
@media (max-width:900px){.p-column__inner__list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.p-column__inner__list{grid-template-columns:minmax(0,1fr)}}

/* ── お知らせ：デザインの .cw-news（日付幅82px・塗りタグ・行全体がhover） ── */
.p-news__inner__list{border:none !important;margin:0 !important;padding:0 !important}
.c-news_item{margin:0 !important;padding:0 !important;border:none !important;background:none !important}
.c-news_item__inner{display:flex !important;align-items:baseline !important;gap:16px !important;padding:12px 8px !important;border:none !important;border-bottom:1px solid var(--t-hairline) !important;border-radius:0 !important;text-decoration:none;transition:background .18s}
.c-news_item__inner:hover{background:#F7F6F2 !important}
.c-news_item__inner__date{flex:none;width:82px;font-family:var(--font-sans) !important;font-size:11.5px !important;letter-spacing:.02em;color:var(--t-ink-soft) !important;margin:0 !important}
.kk-news_item__cat{flex:none;display:inline-block;border:none !important;border-radius:100px;padding:2px 10px !important;background:rgba(196,34,42,.09);font-family:var(--font-sans) !important;font-size:10px !important;font-weight:700 !important;letter-spacing:.04em;color:var(--t-shu) !important;line-height:1.7}
.c-news_item__inner__title{font-family:var(--font-sans) !important;font-size:13px !important;font-weight:400 !important;line-height:1.8 !important;color:var(--t-ink) !important;margin:0 !important}
@media (max-width:640px){
  .c-news_item__inner{flex-wrap:wrap;gap:8px 12px !important;padding:13px 8px !important}
  .c-news_item__inner__title{width:100%;font-size:13px !important}
}


/* KK-V28-CAT */
/* ── お知らせの分類タグ：分類ごとの色
      ニュース = 墨系、新着情報 = 朱系、メディア掲載 = 淡紅 ── */
.kk-news_item__cat[data-cat="news"]{background:#EEEDEA !important;color:#3A3936 !important}
.kk-news_item__cat[data-cat="updates"]{background:rgba(196,34,42,.09) !important;color:var(--t-shu) !important}
.kk-news_item__cat[data-cat="media"]{background:#FBEDF3 !important;color:#B0568A !important}

/* ── コラムカードの分類バッジは不採用
      EC-Forceの記事には自由タグがなく、分類は「健康コラム」1つの運用なので
      見出しと重語になる。liquid側の出力は毋し、表示のみ止める。
      将来サブ分類（column-xxx）を作るときはこの2行を戻すだけ ── */
.kk-col_cat{display:none !important}


/* KK-V30-PAGES */
/* ══ 共通：ページ見出し（design05 .plp-h / .bl-h / .gd h1）
      24px/700 ・左に5pxの朱罫 ・英字は 11px/.22em の蔼色を横に並べる ══ */
.p-page_header__inner{display:flex !important;align-items:baseline !important;flex-wrap:wrap;gap:6px 18px !important;text-align:left !important;padding:0 !important;margin-block:0 28px !important;margin-inline:auto !important;border:none !important;background:none !important}
.p-page_header__inner__title{font-family:var(--font-serif) !important;font-size:24px !important;font-weight:700 !important;letter-spacing:.1em !important;line-height:1.3 !important;color:var(--t-ink) !important;margin:0 !important;padding:0 0 0 16px !important;border:none !important;border-left:5px solid var(--t-shu) !important;text-align:left !important}
.p-page_header__inner__lead{font-family:var(--font-sans) !important;font-size:11px !important;font-weight:700 !important;letter-spacing:.22em !important;color:#B4AFA6 !important;margin:0 !important;padding:0 !important;text-align:left !important}
@media (max-width:640px){.p-page_header__inner__title{font-size:20px !important}}

/* ══ パンくず（.crumbs）══ */
.c-breadcrumbs,.p-breadcrumbs .c-breadcrumbs{display:flex !important;align-items:center;flex-wrap:wrap;gap:10px !important;margin:0 0 26px !important;padding:0 !important;font-family:var(--font-sans) !important;font-size:11px !important;letter-spacing:.08em !important;color:#B4AFA6 !important;list-style:none;border:none !important}
.c-breadcrumbs__item{margin:0 !important;padding:0 !important;display:flex;align-items:center;gap:10px;list-style:none}
.c-breadcrumbs__item + .c-breadcrumbs__item::before{content:'\203A';color:#CFCAC1}
.c-breadcrumbs__item__inner{color:#B4AFA6 !important;text-decoration:none}
.c-breadcrumbs__item__inner:hover{color:var(--t-shu) !important}
.c-breadcrumbs__item__inner.is-current{color:var(--t-ink) !important}

/* ══ 一覧：カテゴリチップ（.plp-filters button）══ */
.t-plp2__chips{display:flex !important;flex-wrap:wrap;gap:10px !important;margin:0 0 30px !important;padding:0 !important}
.t-plp2__chip{white-space:nowrap;border:1.5px solid var(--t-hairline) !important;border-radius:100px !important;background:#fff !important;font-family:var(--font-sans) !important;font-size:12.5px !important;font-weight:700 !important;letter-spacing:.08em !important;padding:8px 22px !important;color:var(--t-ink-soft) !important;text-decoration:none;transition:background .2s,border-color .2s,color .2s}
.t-plp2__chip:hover{border-color:var(--t-shu) !important;color:var(--t-shu) !important}
.t-plp2__chip.is-current{background:var(--t-shu) !important;border-color:var(--t-shu) !important;color:#fff !important}

/* ══ 商品カード（.st-prod）— 一覧・検索・ランキング共通 ══ */
/* W-LIQ5②: 親(grid/flex、既定align-items:stretch)側は行内で高さが揃っているが、
   .c-product_item自体がheight:100%を持たずコンテンツ高さのままだったため段違いに見えていた。
   .cw-rbtns{margin-top:auto}(既存、5613行付近)と組み合わせボタン群を下端で揃える */
.c-product_item{height:100% !important;border:1px solid var(--t-hairline) !important;border-radius:0 !important;background:#fff !important;padding:16px !important;display:flex !important;flex-direction:column;transition:border-color .2s,box-shadow .2s}
.c-product_item:hover{border-color:var(--t-shu) !important;box-shadow:0 8px 20px rgba(38,35,31,.07) !important}
.c-product_item__inner__eyecatch{height:140px !important;display:flex !important;align-items:center;justify-content:center;margin:0 0 10px !important;background:none !important;border:none !important;aspect-ratio:auto !important;overflow:visible}
.c-product_item__inner__eyecatch__image,.c-product_item__inner__eyecatch a{display:flex !important;align-items:center;justify-content:center;width:100%;height:100%}
.c-product_item__inner__eyecatch img{max-height:140px !important;max-width:82% !important;width:auto !important;height:auto !important;object-fit:contain !important;mix-blend-mode:multiply}
.c-product_item__inner__category{width:max-content;white-space:nowrap;font-family:var(--font-sans) !important;font-size:9.5px !important;font-weight:700 !important;letter-spacing:.14em !important;color:#1A1A1A !important;border:1px solid currentColor !important;border-radius:0 !important;padding:1px 8px !important;margin:0 0 8px !important;background:none !important}
.c-product_item__inner__title{font-family:var(--font-sans) !important;font-size:13.5px !important;font-weight:500 !important;letter-spacing:.03em !important;line-height:1.6 !important;color:var(--t-ink) !important;margin:0 0 6px !important;flex:1}
.c-product_item__inner__price{margin:2px 0 0 !important;font-size:18px !important;font-weight:700 !important;letter-spacing:.02em !important;color:var(--t-ink) !important}
.c-product_item__inner__price .sale{font-size:18px !important;font-weight:700 !important;color:var(--t-ink) !important}
.c-product_item__inner__price .origin{font-size:11px !important;color:var(--t-ink-soft) !important;text-decoration:line-through;font-weight:400 !important}
.c-product_item__inner__price small,.c-product_item__inner__price .tax{font-size:10.5px !important;color:var(--t-ink-soft) !important;font-weight:500 !important}
@media (max-width:640px){
  .c-product_item{padding:12px !important}
  .c-product_item__inner__eyecatch{height:104px !important}
  .c-product_item__inner__eyecatch img{max-height:104px !important}
}

/* ══ 商品詳細（.pdp）══ */
@media (min-width:900px){
  .p-product_content__inner{display:grid !important;grid-template-columns:440px minmax(0,1fr) !important;gap:48px !important;align-items:start !important}
  .p-product_content__inner__img,.p-product_content__inner__info{width:auto !important}
}
/* フチあり（全面に色の乗った）画像を使うので、枚の地色を見せず画像を全面に敷く */
.c-product_img__slider--main .c-product_img__image,.c-product_img__slider--main .c-product_img__item{background:#fff !important;border:1px solid var(--t-hairline) !important;border-radius:0 !important;aspect-ratio:1/1;display:block !important;overflow:hidden;padding:0 !important}
.c-product_img__slider--main img{width:100% !important;height:100% !important;max-width:none !important;max-height:none !important;object-fit:cover !important;object-position:center !important;mix-blend-mode:normal !important;display:block}
.c-product_img__slider--thumbnail .c-product_img__item{width:64px !important;height:64px !important;border:1.5px solid var(--t-hairline) !important;border-radius:0 !important;background:#fff !important;padding:0 !important;cursor:pointer;overflow:hidden}
.c-product_img__slider--thumbnail .c-product_img__item.is-active{border-color:var(--t-shu) !important;box-shadow:0 0 0 1px var(--t-shu)}
.c-product_img__slider--thumbnail img{width:100% !important;height:100% !important;object-fit:cover !important;object-position:center !important;mix-blend-mode:normal !important;display:block}
.c-product_info__category{display:inline-block !important;width:max-content;font-family:var(--font-sans) !important;font-size:10px !important;font-weight:700 !important;letter-spacing:.14em !important;color:#1A1A1A !important;border:1px solid currentColor !important;border-radius:0 !important;padding:2px 10px !important;margin:0 0 14px !important;background:none !important}
.c-product_info__title{font-family:var(--font-serif) !important;font-size:24px !important;font-weight:700 !important;letter-spacing:.04em !important;line-height:1.7 !important;color:var(--t-ink) !important;margin:0 0 12px !important;padding:0 !important;border:none !important}
.c-product_info__price{font-family:var(--font-sans) !important;font-size:30px !important;font-weight:700 !important;letter-spacing:.02em !important;color:var(--t-ink) !important;margin:0 0 2px !important}
.c-product_info__price small,.c-product_info__price .tax{font-size:12px !important;color:var(--t-ink-soft) !important;font-weight:500 !important}
.c-product_info__average-star{font-family:var(--font-sans) !important;font-size:12px !important;color:#D89A2B !important;letter-spacing:.06em !important;margin:0 0 4px !important}
.c-product_info__average-star small{color:var(--t-ink-soft) !important;font-size:11px !important}
.c-product_info__description{font-family:var(--font-sans) !important;font-size:12px !important;color:var(--t-ink-soft) !important;line-height:1.9 !important}
@media (max-width:900px){.c-product_info__title{font-size:20px !important}.c-product_info__price{font-size:26px !important}}
/* 購入ボタン・数量・お気に入り */
.p-product_content__inner__info .c-button.--primary{background:var(--t-shu) !important;color:#fff !important;border:none !important;border-radius:100px !important;font-family:var(--font-sans) !important;font-size:15px !important;font-weight:700 !important;letter-spacing:.14em !important;padding:16px 10px !important;min-height:0 !important}
.p-product_content__inner__info .c-button.--primary:hover{background:#C50010 !important}
.c-order_quantity__input{font-family:var(--font-sans) !important;font-size:14px !important;border:1.5px solid var(--t-hairline) !important;border-radius:0 !important;background:#fff !important;color:var(--t-ink) !important;text-align:center}

/* ══ 購入UI：タブ＋パネル型（基準 d00 .pdp-buy2 / .pdp-panelbox） ══ */
.kk-buy-tabs{display:grid;grid-template-columns:1fr 1fr;gap:0 10px;margin:14px 0 0;position:relative;z-index:2}
.kk-buy-tab{display:flex;align-items:center;gap:8px;border:1px solid var(--t-hairline);border-bottom:none;background:#FAFAF8;padding:13px 14px;font-family:var(--font-sans);font-size:13px;font-weight:700;color:var(--t-ink-soft)}
.kk-buy-tab::before{content:"";width:16px;height:16px;border:2px solid var(--t-hairline);border-radius:50%;flex:none;background:#fff;box-sizing:border-box}
.kk-buy-tab--teiki{border-color:#F2C4C8}
.kk-buy-tab.is-active{border:2px solid var(--t-shu);border-bottom:2px solid #fff;background:#fff;margin-bottom:-2px;padding:12px 13px;color:var(--t-shu)}
.kk-buy-tab.is-active::before{border-color:var(--t-shu);background:radial-gradient(circle,var(--t-shu) 0 4px,#fff 4.5px)}
.kk-buy-tab__badge{font-size:10px;font-weight:700;color:var(--t-shu);border:1px solid var(--t-shu);border-radius:100px;padding:1px 8px}
.kk-buy-panel{position:relative;z-index:1;border:2px solid var(--t-shu);background:#fff;padding:16px 18px 14px;margin:0 0 14px;display:flex;flex-wrap:wrap;align-items:center;gap:10px 24px}
.kk-buy-panel > *{flex-basis:100%;margin:0 !important}
.kk-buy-panel #price-group{order:1;flex-basis:auto}
.kk-buy-panel #quantity-group{order:2;flex-basis:auto}
.kk-buy-panel .c-product_info__favorite{order:3;flex-basis:auto}
.kk-buy-panel .c-product_info__form__buttons{order:5}
.kk-buy-panel > .kk-buy__btn{order:6}
@media (max-width:640px){
  .kk-buy-tab{font-size:12px;white-space:nowrap;flex-wrap:wrap;row-gap:4px}
  /* W-LIQ4 D: SPでは価格(24px大型)+数量+ハートの3つが1行に収まらずハートだけ次行へ段落ちしていた。
     価格を単独行にして、数量とハートを同一行に確保する(design05正: SPでも価格+数量+ハート同一段の見え方に近づける) */
  .kk-buy-panel{gap:10px 16px}
  .kk-buy-panel #price-group{flex-basis:100%}
}

/* W-LIQ2 B: 価格表示をdesign05正(税込価格1行大型表示)へ。id/DOMは温存し素テキスト行のみ非表示 */
/* W-LIQ3①: !important付き(.c-product_item__inner__price{display:flex/block !important}等)を確実に上書きするため!important化。
   同じ.c-product_item__inner__price単体セレクタ(同詳細度0,1,0)がこの後にも複数出現し、CSS適用順で後勝ちするため、
   カード文脈では詳細度0,2,0の複合セレクタで明示的に勝たせる */
.kk-price-hide{display:none!important}
.c-product_item__inner__price.kk-price-hide{display:none!important}
/* .u-text--subhead(theme_customize.css.liquidのfont_subhead設定)が!important付きfont-sizeを持つため、
   ID込みセレクタでも上書きには!important必須 */
#price-group .kk-price-big{font-family:var(--font-sans) !important;font-size:24px !important;font-weight:700 !important;color:var(--t-ink) !important}
#price-group .kk-price-big::after{content:" 税込";font-size:11px;font-weight:400;color:var(--t-ink-mute)}

/* ══ 記事（コラム詳細 .art）══ */
.p-page_article{max-width:760px !important;margin-inline:auto !important}
.p-page_article__inner{font-family:var(--font-sans) !important;font-size:13.5px !important;line-height:2.2 !important;color:var(--t-ink) !important}
.p-page_article__inner h2{font-family:var(--font-sans) !important;font-size:17px !important;font-weight:700 !important;letter-spacing:.06em !important;line-height:1.5 !important;margin:36px 0 14px !important;padding:0 0 0 14px !important;border:none !important;border-left:4px solid var(--t-shu) !important}
.p-page_article__inner h3{font-family:var(--font-sans) !important;font-size:13.5px !important;font-weight:700 !important;letter-spacing:.06em !important;margin:24px 0 8px !important;display:flex;align-items:center;gap:10px}
.p-page_article__inner h3::before{content:'';width:10px;height:2px;background:var(--t-shu);flex:none}
.p-page_article__inner p{margin:0 0 16px !important}
.p-page_article__inner img{border-radius:0;max-width:100%;height:auto}
.p-page_article__inner blockquote{background:#F7F6F2;border:1px solid var(--t-hairline);border-radius:0;font-size:12px;line-height:2;padding:14px 18px;margin:26px 0}
.p-column_header{max-width:760px;margin:0 auto 22px}
.p-column_header img{width:100%;height:auto;max-height:380px;object-fit:cover;border-radius:0;display:block}

/* ══ 記事下の戻る導線（.bl-back / .back）══ */
.c-article_nav__inner{display:flex !important;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;margin:40px 0 0 !important;padding:0 !important;border:none !important}
.c-article_nav__inner__back{display:block !important;width:max-content;font-family:var(--font-sans) !important;font-size:13.5px !important;font-weight:700 !important;letter-spacing:.14em !important;color:var(--t-ink) !important;border:1.5px solid var(--t-ink) !important;border-radius:100px !important;background:#fff !important;padding:13px 48px !important;text-decoration:none;transition:border-color .2s,color .2s}
.c-article_nav__inner__back:hover{border-color:var(--t-shu) !important;color:var(--t-shu) !important}
.c-article_nav__inner__prev,.c-article_nav__inner__next{background:#fff !important;color:var(--t-ink) !important;border:1.5px solid var(--t-hairline) !important;border-radius:100px !important;font-family:var(--font-sans) !important;font-size:12.5px !important;font-weight:700 !important;letter-spacing:.08em !important;padding:11px 24px !important;min-height:0 !important}
.c-article_nav__inner__prev:hover,.c-article_nav__inner__next:hover{border-color:var(--t-shu) !important;color:var(--t-shu) !important}
.c-article_nav__inner__prev.is-inactive,.c-article_nav__inner__next.is-inactive{opacity:.34;pointer-events:none}

/* ══ お知らせ一覧ページ（.nw-list — タグは罫線の角丸r3）══ */
.p-news:not([data-top]) .p-news__inner__list .c-news_item__inner{padding:15px 4px !important;font-size:13.5px !important;border-radius:0 !important}
.p-news__inner__list .c-news_item__inner__date{font-size:12px !important;font-weight:500 !important;white-space:nowrap}
.informations .kk-news_item__cat,body.informations .kk-news_item__cat{border-radius:0 !important;padding:1px 8px !important;background:none !important;border:1px solid currentColor !important;letter-spacing:.1em !important}

/* ══ ガイド / FAQ / 規約（.gd / .terms）══ */
.t-legal_hero__title{font-family:var(--font-serif) !important;font-size:24px !important;font-weight:700 !important;letter-spacing:.12em !important;line-height:1.7 !important;margin:0 0 8px !important;padding:0 0 0 16px !important;border:none !important;border-left:5px solid var(--t-shu) !important;text-align:left !important}
.t-legal_body,.t-legal_content{max-width:760px}
.t-legal_body h2,.t-legal_content h2{font-family:var(--font-sans) !important;font-size:16px !important;font-weight:700 !important;letter-spacing:.06em !important;line-height:1.5 !important;margin:34px 0 12px !important;padding:0 0 0 14px !important;border:none !important;border-left:4px solid var(--t-shu) !important}
.t-legal_body p,.t-legal_content p{font-family:var(--font-sans) !important;font-size:13px !important;line-height:2.1 !important;margin:0 0 12px !important}
.t-legal_body table,.t-legal_content table,.p-page_article__inner table{width:100%;border-collapse:collapse;font-family:var(--font-sans);font-size:12.5px;background:#fff;border:1px solid var(--t-hairline);margin:14px 0 6px}
.t-legal_body th,.t-legal_content th,.p-page_article__inner th{text-align:left;background:#F7F6F2;padding:11px 16px;font-weight:700;border-bottom:1px solid var(--t-hairline);white-space:nowrap;width:190px;vertical-align:top}
.t-legal_body td,.t-legal_content td,.p-page_article__inner td{padding:11px 16px;border-bottom:1px solid #EFECE6}
/* FAQ アコーディオン */
.t-faq details,.p-page_article__inner details{border:1px solid var(--t-hairline);border-radius:0;background:#fff;margin:0 0 10px;overflow:hidden}
.t-faq summary,.p-page_article__inner summary{list-style:none;cursor:pointer;display:flex;gap:10px;align-items:baseline;padding:13px 16px;font-family:var(--font-sans);font-size:13px;font-weight:700}
.t-faq summary::-webkit-details-marker,.p-page_article__inner summary::-webkit-details-marker{display:none}
.t-faq summary::before,.p-page_article__inner summary::before{content:'Q';color:var(--t-shu);font-weight:700}
.t-faq summary:hover,.p-page_article__inner summary:hover{color:var(--t-shu)}

/* ══ 法務ヘーロー（規約・特商法・プライバシー）
      旧版は濃地＋白文字だったが、ヘッダ帯を明るい地に統一した際に
      文字色が白のまま残る競合が発生していた。design05の下層ページと同一の
      「明るい帯＋墨の見出し＋左に5pxの朱罫」に揃える ══ */
.t-legal_hero{background:#F7F6F2 !important;padding:46px 24px 42px !important}
.t-legal_hero__inner{max-width:1160px !important;margin-inline:auto !important;padding-inline:0 !important}
.t-legal_hero .t-legal_hero__title{font-family:var(--font-serif) !important;font-size:24px !important;font-weight:700 !important;letter-spacing:.12em !important;line-height:1.5 !important;color:var(--t-ink) !important;margin:0 !important;padding:0 0 0 16px !important;border-left:5px solid var(--t-shu) !important;text-align:left !important}
.t-legal_hero__eyebrow{margin:0 0 14px !important;padding-left:0 !important}
@media (max-width:640px){
  .t-legal_hero{padding:32px 18px 28px !important}
  .t-legal_hero .t-legal_hero__title{font-size:20px !important}
}
/* 本文は760幅・左寄せ（design05 .terms） */
main:has(.t-legal_hero) .p-page_content__inner,main:has(.t-legal_hero) .p-page_table{max-width:760px !important;margin-inline:0 !important}

/* ══ 問い合わせフォーム（.ctf）══ */
.c-form_table{max-width:680px;margin:0}
.c-form_table__row,.c-form_table tr{margin:0 0 20px}
.c-form_table label,.c-form_table__row__title{display:flex !important;align-items:center;gap:8px;font-family:var(--font-sans) !important;font-size:13px !important;font-weight:700 !important;margin:0 0 8px !important;color:var(--t-ink) !important}
.c-form_table .c-required,.c-form_table__row__title__required{white-space:nowrap;flex:none;font-family:var(--font-sans) !important;font-size:9.5px !important;font-weight:700 !important;color:#fff !important;background:var(--t-shu) !important;border:none !important;border-radius:0 !important;padding:1px 7px !important;letter-spacing:.1em !important}
.c-form_table input[type="text"],.c-form_table input[type="email"],.c-form_table input[type="tel"],.c-form_table textarea,.c-form_table select{width:100%;font-family:var(--font-sans) !important;font-size:14px !important;color:var(--t-ink) !important;background:#fff !important;border:1.5px solid var(--t-hairline) !important;border-radius:0 !important;padding:12px 14px !important;outline:none}
.c-form_table input:focus,.c-form_table textarea:focus,.c-form_table select:focus{border-color:var(--t-shu) !important;box-shadow:none !important}
.c-form_table textarea{min-height:170px;resize:vertical}


/* KK-V34-LISTS */
/* ══ 商品カードの画像：フチあり前提なので枠に全面で合わせる ══ */
.c-product_item__inner__eyecatch{height:auto !important;aspect-ratio:1/1 !important;display:block !important;align-items:initial !important;justify-content:initial !important;margin:-16px -16px 12px !important;padding:0 !important;background:#fff !important;border:none !important;border-bottom:1px solid var(--t-hairline) !important;border-radius:0 12px 0 0 !important;overflow:hidden}
.c-product_item__inner__eyecatch__image,.c-product_item__inner__eyecatch a{display:block !important;width:100% !important;height:100% !important}
.c-product_item__inner__eyecatch img{width:100% !important;height:100% !important;max-width:none !important;max-height:none !important;object-fit:cover !important;object-position:center !important;mix-blend-mode:normal !important;display:block}
@media (max-width:640px){
  .c-product_item__inner__eyecatch{margin:-12px -12px 10px !important}
}

/* ══ コラム一覧：1件でも三分割の組を崩さない
      テーマは medium-up--one-N （N=表示件数）で列幅を決めてしまうため、
      グリッド側で列数を固定し、項目幅の指定を無効にする ══ */
.p-column__inner__list{display:grid !important;grid-template-columns:repeat(3,minmax(0,1fr)) !important;gap:18px !important;list-style:none}
.p-column__inner__list > li,.p-column__inner__list__item,
.p-column__inner__list > li[class*="medium-up--one-"]{width:auto !important;max-width:none !important;flex:none !important;margin:0 !important;padding:0 !important;list-style:none}
/* カード内は常に縦組み（画像→見出し→日付） */
.c-column_item__inner{display:flex !important;flex-direction:column !important;align-items:stretch !important;gap:0 !important;height:100%}
.c-column_item__inner__img{order:1;width:100% !important;height:170px !important;flex:none !important;aspect-ratio:auto !important;background-size:cover !important;background-position:center !important;margin:0 !important}
@media (max-width:900px){.p-column__inner__list{grid-template-columns:repeat(2,minmax(0,1fr)) !important}}
@media (max-width:560px){.p-column__inner__list{grid-template-columns:minmax(0,1fr) !important}}

/* ══ ページ見出し：design05 に帯はない。朱罫＋見出しだけに戻す ══ */
.p-page_header,.t-legal_hero{background:none !important;border:none !important;width:auto !important;margin-inline:0 !important;padding-inline:0 !important;padding-block:34px 0 !important;margin-block:0 !important}
.t-legal_hero__inner,.p-page_header__inner{max-width:none !important;margin-inline:0 !important;padding-inline:0 !important}
@media (max-width:640px){.p-page_header,.t-legal_hero{padding-block:26px 0 !important}}


/* KK-V35-CATFIX */
/* ══ カテゴリ見出し：基底テーマは「写真の上に白文字」前提で暗幕を敷く。
      ここは左に写真・右に説明の横並びなので暗幕を全部外す ══ */
.c-category_header::before,.c-category_header::after,
.c-category_header__inner::before,.c-category_header__inner::after{display:none !important;content:none !important;background:none !important}
.t-cathead{background:#fff !important}
.t-cathead__body{background:#fff !important}
.t-cathead__img{background-color:#F7F6F2}

/* ══ 商品カードの画像：実体は background-image の div（__img）。
      フチあり前提なので枠に全面で合わせる ══ */
.c-product_item__inner__eyecatch__img{display:block !important;width:100% !important;height:100% !important;min-height:0 !important;background-size:cover !important;background-position:center !important;background-repeat:no-repeat !important;background-color:#F7F6F2;margin:0 !important;padding:0 !important;aspect-ratio:auto !important}
.c-product_item__inner__eyecatch__img[style*="background-size:contain"],
.c-product_item__inner__eyecatch__img[style*="background-size: contain"]{background-size:cover !important}
/* タグ（NEW / SOLD OUT）は画像の上に重ならせる */
.c-product_item__inner__eyecatch{position:relative}
.c-product_item__inner__eyecatch__tags{position:absolute !important;top:10px;left:10px;z-index:2;display:flex;flex-direction:column;gap:5px;margin:0 !important;padding:0 !important}
.c-product_item__inner__eyecatch__tags > div{font-family:var(--font-sans) !important;font-size:9.5px !important;font-weight:700 !important;letter-spacing:.12em !important;border-radius:0 !important;padding:2px 8px !important;line-height:1.7}

/* ══ 商品説明の本文組み（詳細・カテゴリ説明） ══ */
.c-product_info__description,.c-product_info__details__content_inner,
.c-category_header__inner__lead,.t-cathead__lead{font-family:var(--font-sans) !important;font-size:13px !important;line-height:2 !important;letter-spacing:.04em !important;color:var(--t-body,#4A4A48) !important}
.c-product_info__description p,.c-product_info__details__content_inner p{margin:0 0 12px !important;font-size:13px !important;line-height:2 !important}
.c-product_info__description h2,.c-product_info__details__content_inner h2{font-family:var(--font-sans) !important;font-size:16px !important;font-weight:700 !important;letter-spacing:.06em !important;line-height:1.5 !important;margin:28px 0 12px !important;padding:0 0 0 14px !important;border:none !important;border-left:4px solid var(--t-shu) !important}
.c-product_info__description h3,.c-product_info__details__content_inner h3{font-family:var(--font-sans) !important;font-size:13.5px !important;font-weight:700 !important;letter-spacing:.06em !important;margin:22px 0 8px !important;display:flex;align-items:center;gap:10px}
.c-product_info__description h3::before,.c-product_info__details__content_inner h3::before{content:'';width:10px;height:2px;background:var(--t-shu);flex:none}
.c-product_info__description ul,.c-product_info__details__content_inner ul{margin:0 0 12px !important;padding-left:0 !important;list-style:none}
.c-product_info__description ul > li,.c-product_info__details__content_inner ul > li{position:relative;padding-left:16px;margin:0 0 6px;font-size:13px;line-height:1.95}
.c-product_info__description ul > li::before,.c-product_info__details__content_inner ul > li::before{content:'';position:absolute;left:2px;top:.85em;width:5px;height:5px;border-radius:50%;background:var(--t-shu)}
.c-product_info__description ol,.c-product_info__details__content_inner ol{margin:0 0 12px !important;padding-left:22px !important;font-size:13px;line-height:2}
.c-product_info__description table,.c-product_info__details__content_inner table{width:100%;border-collapse:collapse;font-family:var(--font-sans);font-size:12.5px;background:#fff;border:1px solid var(--t-hairline);margin:14px 0 6px}
.c-product_info__description th,.c-product_info__details__content_inner th{text-align:left;background:#F7F6F2;padding:11px 16px;font-weight:700;border-bottom:1px solid var(--t-hairline);white-space:nowrap;width:190px;vertical-align:top}
.c-product_info__description td,.c-product_info__details__content_inner td{padding:11px 16px;border-bottom:1px solid #EFECE6}
.c-product_info__description img,.c-product_info__details__content_inner img{max-width:100%;height:auto;border-radius:0}
.c-product_info__description a,.c-product_info__details__content_inner a{color:var(--t-shu) !important;border-bottom:1px solid rgba(196,34,42,.35);text-decoration:none}


/* KK-V36-CARDPRICE */
/* ══ 価格：包みは小さく、売価だけを大きく（税込表記は蔼色）══ */
.c-product_item__inner__price{display:block !important;font-family:var(--font-sans) !important;font-size:11px !important;font-weight:400 !important;letter-spacing:.02em !important;line-height:1.7 !important;color:var(--t-ink-soft) !important;margin:2px 0 0 !important}
.c-product_item__inner__price .origin{font-size:11px !important;font-weight:400 !important;color:var(--t-ink-soft) !important;text-decoration:line-through;margin-right:6px}
.c-product_item__inner__price .sale,.c-product_item__inner__price .price{font-size:18px !important;font-weight:700 !important;color:var(--t-ink) !important;letter-spacing:.02em !important}
.c-product_item__inner__price .sale.u-color__text--alert{color:var(--t-ink) !important}

/* ══ カード内の商品説明（同じクラスだが .word-break-all が付く）
      価格ではないので本文の字面に戻す。3行で止めて組の高さを揃える ══ */
.c-product_item__inner__price.word-break-all{font-family:var(--font-sans) !important;font-size:12px !important;font-weight:400 !important;line-height:1.9 !important;color:var(--t-ink-soft) !important;margin:8px 0 0 !important;display:-webkit-box !important;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}
.c-product_item__inner__price.word-break-all .origin,
.c-product_item__inner__price.word-break-all .sale{font-size:12px !important;font-weight:400 !important;text-decoration:none !important;color:inherit !important}

/* ══ カード内のカート・お気に入り：画像右下に重ならせる ══ */
.c-product_item__actions{position:absolute !important;right:10px;bottom:10px;z-index:3;display:flex !important;gap:8px;margin:0 !important;padding:0 !important}
.c-product_item__button{width:34px;height:34px;border:1px solid var(--t-hairline) !important;border-radius:50% !important;background:rgba(255,255,255,.94) !important;color:var(--t-ink) !important;display:flex !important;align-items:center;justify-content:center;padding:0 !important;min-height:0 !important;box-shadow:0 1px 4px rgba(31,30,28,.12);cursor:pointer}
.c-product_item__button:hover{border-color:var(--t-shu) !important;color:var(--t-shu) !important}
.c-product_item__button i{font-size:14px;line-height:1}
/* カート投入は詳細で行うのでカードには置かない（お気に入りだけ残す） */
.c-product_item__form--cart{display:none !important}


/* KK-V37-PAGECONTENT */
/* ══ 固定ページ本文（ガイド・規約・特商法・FAQ）
      本文幅は760px・左寄せ（design05 .terms / .gd）══ */
main:has(.t-legal_hero) .p-page_table,
main:has(.t-legal_hero) .p-page_content{max-width:760px !important;margin-left:0 !important;margin-right:0 !important}
main:has(.t-legal_hero) > .l-container__row{max-width:1200px !important;margin-inline:auto !important}

/* 見出し：ゴシック16px/700＋左に4pxの朱罫 */
main:has(.t-legal_hero) .p-page_content__inner h2,
main:has(.t-legal_hero) .p-page_content__inner .u-text--subhead{font-family:var(--font-sans) !important;font-size:16px !important;font-weight:700 !important;letter-spacing:.06em !important;line-height:1.5 !important;color:var(--t-ink) !important;margin:0 0 12px !important;padding:0 0 0 14px !important;border:none !important;border-left:4px solid var(--t-shu) !important}
main:has(.t-legal_hero) .p-page_content__inner h3{font-family:var(--font-sans) !important;font-size:13.5px !important;font-weight:700 !important;letter-spacing:.06em !important;margin:22px 0 8px !important;display:flex;align-items:center;gap:10px}
main:has(.t-legal_hero) .p-page_content__inner h3::before{content:'';width:10px;height:2px;background:var(--t-shu);flex:none}

/* 本文：ゴシック13px・行間2.1 */
main:has(.t-legal_hero) .p-page_content__inner,
main:has(.t-legal_hero) .p-page_content__inner .u-text--body,
main:has(.t-legal_hero) .p-page_content__inner p,
main:has(.t-legal_hero) .p-page_content__inner pre{font-family:var(--font-sans) !important;font-size:13px !important;line-height:2.1 !important;letter-spacing:.04em !important;color:var(--t-body,#4A4A48) !important}
main:has(.t-legal_hero) .p-page_content__inner p{margin:0 0 12px !important}
main:has(.t-legal_hero) .p-page_content__inner pre{white-space:pre-wrap;word-break:break-word;background:none;border:none;padding:0}
main:has(.t-legal_hero) .p-page_content__inner ol{margin:0 0 12px !important;padding-left:22px !important;font-size:13px;line-height:2.1}

/* 項目の区切り（管理画面の li が1項目） */
main:has(.t-legal_hero) .p-page_content__inner ul{list-style:none;margin:0;padding:0}
main:has(.t-legal_hero) .p-page_content__inner ul > li{padding:0 0 30px !important;margin:0 0 30px !important;border-bottom:1px solid var(--t-hairline) !important}
main:has(.t-legal_hero) .p-page_content__inner ul > li:last-child{border-bottom:none !important;padding-bottom:0 !important;margin-bottom:0 !important}
/* 本文中の箇条書きは朱の小円を付ける（外側の区切りliと区別） */
main:has(.t-legal_hero) .p-page_content__inner li ul > li,
main:has(.t-legal_hero) .p-page_content__inner .u-text--body ul > li{position:relative;padding:0 0 0 16px !important;margin:0 0 6px !important;border:none !important;font-size:13px;line-height:1.95}
main:has(.t-legal_hero) .p-page_content__inner li ul > li::before,
main:has(.t-legal_hero) .p-page_content__inner .u-text--body ul > li::before{content:'';position:absolute;left:2px;top:.85em;width:5px;height:5px;border-radius:50%;background:var(--t-shu)}

/* 表：thは190px・生成り地 */
main:has(.t-legal_hero) .p-page_content__inner table,
main:has(.t-legal_hero) .p-page_table table{width:100%;border-collapse:collapse;font-family:var(--font-sans);font-size:12.5px;background:#fff;border:1px solid var(--t-hairline);margin:14px 0 6px}
main:has(.t-legal_hero) .p-page_content__inner th,
main:has(.t-legal_hero) .p-page_table th{text-align:left;background:#F7F6F2;padding:11px 16px;font-weight:700;border-bottom:1px solid var(--t-hairline);white-space:nowrap;width:190px;vertical-align:top}
main:has(.t-legal_hero) .p-page_content__inner td,
main:has(.t-legal_hero) .p-page_table td{padding:11px 16px;border-bottom:1px solid #EFECE6}

/* FAQ：details で組んでも、Q→見出しで組んでも拾う */
main:has(.t-legal_hero) .p-page_content__inner details{border:1px solid var(--t-hairline);border-radius:0;background:#fff;margin:0 0 10px;overflow:hidden}
main:has(.t-legal_hero) .p-page_content__inner summary{list-style:none;cursor:pointer;display:flex;gap:10px;align-items:baseline;padding:13px 16px;font-family:var(--font-sans);font-size:13px;font-weight:700;color:var(--t-ink)}
main:has(.t-legal_hero) .p-page_content__inner summary::-webkit-details-marker{display:none}
main:has(.t-legal_hero) .p-page_content__inner summary::before{content:'Q';color:var(--t-shu);font-weight:700}
main:has(.t-legal_hero) .p-page_content__inner summary:hover{color:var(--t-shu)}
main:has(.t-legal_hero) .p-page_content__inner details > *:not(summary){padding:0 16px 14px 37px;font-size:12.5px;line-height:2}

/* 本文中のリンク */
main:has(.t-legal_hero) .p-page_content__inner a{color:var(--t-shu) !important;border-bottom:1px solid rgba(196,34,42,.35);text-decoration:none}
main:has(.t-legal_hero) .p-page_content__inner a:hover{border-color:var(--t-shu)}
/* 本文が未入力のときに空の罫を出さない */
main:has(.t-legal_hero) .p-page_content__inner ul:empty,
main:has(.t-legal_hero) .p-page_content__inner ul > li:empty{display:none !important}


/* KK-V38-TOPFIX */
/* ══ カード内の商品説明は出さない（詳細で読む）══ */
.c-product_item__inner__price.word-break-all{display:none !important}

/* ══ カートに入れるボタンは残す（画像右下にお気に入りと並べる）══ */
.c-product_item__form--cart{display:block !important}
.c-product_item__button--cart{background:var(--t-shu) !important;border-color:var(--t-shu) !important;color:#fff !important}
.c-product_item__button--cart:hover{background:#C50010 !important;border-color:#C50010 !important;color:#fff !important}

/* ══ コラム・お知らせ：見出しを折り返さない、左端を他セクションと揃える ══ */
[data-section-id="kk_column"] > .l-container__row,
[data-section-id="kk_news"] > .l-container__row{max-width:1200px !important;margin-inline:auto !important;padding-inline:20px !important}
@media (max-width:767px){
  [data-section-id="kk_column"] > .l-container__row,
  [data-section-id="kk_news"] > .l-container__row{padding-inline:18px !important}
}
.p-column,.p-news{max-width:none !important;margin:0 !important;padding:0 !important}
/* 見出し行：見出しは固定幅を取らず折らない */
.p-column__inner,.p-news__inner{grid-template-columns:auto minmax(0,1fr) !important;grid-template-areas:"head more" "list list" !important}
.p-column__inner__title,.p-news__inner__title{flex-wrap:nowrap !important;white-space:nowrap}
.p-column__inner__title__jp,.p-news__inner__title__jp{display:block !important;white-space:nowrap !important;flex:none !important;width:auto !important}
.p-column__inner__title__en,.p-news__inner__title__en{white-space:nowrap !important;flex:none !important;width:auto !important;order:2 !important;margin:0 0 0 14px !important}
.p-column__inner__more,.p-news__inner__more{justify-self:end}
@media (max-width:560px){
  .p-column__inner,.p-news__inner{grid-template-columns:minmax(0,1fr) !important;grid-template-areas:"head" "list" "more" !important}
  .p-column__inner__title,.p-news__inner__title{flex-wrap:wrap !important;white-space:normal}
}


/* KK-V39-HEROARROW */
/* ══ 矢印は画像の両サイド、ドットは下部中央 ══ */
[data-section-id="kk_hero"] .p-kv_slider__nav{position:absolute !important;inset:0 !important;left:0 !important;right:0 !important;top:0 !important;bottom:0 !important;transform:none !important;display:block !important;width:auto !important;height:auto !important;padding:0 !important;margin:0 !important;pointer-events:none;z-index:5}
[data-section-id="kk_hero"] .p-kv_slider__nav__arrow{position:absolute !important;top:50% !important;bottom:auto !important;transform:translateY(-50%) !important;pointer-events:auto;width:44px !important;height:44px !important;min-width:0 !important;padding:0 !important;margin:0 !important;border:none !important;border-radius:50% !important;background:rgba(255,255,255,.9) !important;box-shadow:0 2px 10px rgba(0,0,0,.16) !important;display:flex !important;align-items:center;justify-content:center;cursor:pointer;transition:background .18s}
[data-section-id="kk_hero"] .p-kv_slider__nav__arrow:hover{background:#fff !important}
[data-section-id="kk_hero"] .p-kv_slider__nav__arrow--prev{left:20px !important;right:auto !important}
[data-section-id="kk_hero"] .p-kv_slider__nav__arrow--next{right:20px !important;left:auto !important}
[data-section-id="kk_hero"] .p-kv_slider__nav__arrow i{color:var(--t-ink) !important;font-size:15px !important;line-height:1}
[data-section-id="kk_hero"] .p-kv_slider__nav__arrow--prev i{transform:rotate(180deg)}
[data-section-id="kk_hero"] .p-kv_slider__nav__pagination{position:absolute !important;left:50% !important;bottom:16px !important;top:auto !important;transform:translateX(-50%) !important;pointer-events:auto;display:flex !important;align-items:center;gap:10px;width:auto !important;margin:0 !important;padding:0 !important;list-style:none}
@media (max-width:767px){
  [data-section-id="kk_hero"] .p-kv_slider__nav__arrow{width:36px !important;height:36px !important}
  [data-section-id="kk_hero"] .p-kv_slider__nav__arrow--prev{left:10px !important}
  [data-section-id="kk_hero"] .p-kv_slider__nav__arrow--next{right:10px !important}
  [data-section-id="kk_hero"] .p-kv_slider__nav__pagination{bottom:12px !important}
}


/* KK-V40-SPACING */
/* ══ テーマの80pxマージンを止め、セクション側の padding で制御する ══ */
#ecf_content_for_index [data-section-id] > .l-container__row,
#ecf_content_for_index [data-section-id] .l-container__row{margin-top:0 !important;margin-bottom:0 !important}
#ecf_content_for_index [data-section-id] [class*="u-margin__top--"],
#ecf_content_for_index [data-section-id] [class*="u-margin__bottom--"],
#ecf_content_for_index [data-section-id] [class*="u-margin_sp__"]{margin-top:0 !important;margin-bottom:0 !important}

/* design05 の実寸 */
[data-section-id="kk_hero"]{padding-block:0 !important}
[data-section-id="kk_official"]{padding-block:9px !important;border-top:1px solid var(--t-hairline)}
:is([data-section-id="kk_ranking"],[data-section-id="kk_osusume"]){padding-block:48px 52px !important;background:#fff}
[data-section-id="kk_find"]{padding-block:0 !important}
[data-section-id="kk_teiki"]{padding-block:0 !important}
[data-section-id="kk_column"]{padding-block:48px 52px !important;background:#fff}
[data-section-id="kk_about"]{padding-block:0 !important}
[data-section-id="kk_news"]{padding-block:0 !important;background:#fff;border-top:1px solid var(--t-hairline)}
/* 自作セクションは自分で余白を持つ */
.cw-find{padding:48px 0 52px !important}
.cw-about{padding:56px 0 60px !important}

/* ══ 定期便バナー：上36 / 下4、幅70%中央（design05 .cw-teiki-img）══ */
[data-section-id="kk_teiki"] > .l-container__row{margin:36px auto 4px !important;padding:0 20px !important;max-width:1200px !important}
[data-section-id="kk_teiki"] .p-banner_section__content,
[data-section-id="kk_teiki"] .p-banner{width:100% !important;max-width:none !important;margin-inline:auto !important}
@media (max-width:767px){
  [data-section-id="kk_teiki"] > .l-container__row{margin:28px auto 4px !important;padding:0 18px !important}
  [data-section-id="kk_teiki"] .p-banner_section__content,
  [data-section-id="kk_teiki"] .p-banner{width:100% !important;max-width:none !important}
}

@media (max-width:767px){
  :is([data-section-id="kk_ranking"],[data-section-id="kk_osusume"]){padding-block:36px 40px !important}
  [data-section-id="kk_column"]{padding-block:36px 40px !important}
  [data-section-id="kk_news"]{padding-block:0 !important}

  .cw-about{padding:40px 0 44px !important}
}

/* ══ 要素間（design05）：見出し→中身 24px、カード間 18px、商品カード間 16px ══ */
.c-section_title,.p-column__inner__title,.p-news__inner__title{margin-bottom:24px !important}
.p-category_ranking_section__products,.p-product_list__list{gap:16px !important}
.p-column__inner__list{gap:18px !important}

/* ══ 下層ページ（上80/下100 → 上34/下64）══ */
main.l-container > .l-container__row.u-margin__top--80,
main.l-container > .l-container__row.u-margin__top--60{margin-top:34px !important}
main.l-container > .l-container__row.u-margin__bottom--100,
main.l-container > .l-container__row.u-margin__bottom--80{margin-bottom:64px !important}


/* KK-V41-LEGALFIX */
/* ══ 見出し：基底テーマの「濃地＋白文字」指定を完全に上書きする ══ */
header.p-page_header.t-legal_hero{background:none !important;border:none !important;width:auto !important;margin-inline:0 !important;padding-inline:0 !important;padding-block:34px 0 !important}
header.p-page_header.t-legal_hero .p-page_header__inner.t-legal_hero__inner{max-width:none !important;margin-inline:0 !important;padding-inline:0 !important;display:flex !important;flex-direction:column;align-items:flex-start !important;gap:0}
header.p-page_header.t-legal_hero h1.t-legal_hero__title,
header.p-page_header.t-legal_hero .p-page_header__inner__title{font-family:var(--font-serif) !important;font-size:24px !important;font-weight:700 !important;letter-spacing:.12em !important;line-height:1.5 !important;color:#1F1E1C !important;-webkit-text-fill-color:#1F1E1C !important;text-shadow:none !important;margin:0 !important;padding:0 0 0 16px !important;border:none !important;border-left:5px solid var(--t-shu) !important;text-align:left !important;order:2}
header.p-page_header.t-legal_hero .t-legal_hero__eyebrow{order:1;margin:0 0 14px !important;padding:0 !important}
@media (max-width:640px){
  header.p-page_header.t-legal_hero h1.t-legal_hero__title{font-size:20px !important}
}

/* ══ 条項（ユーザー入力）：見出しと同じ左端から始める ══ */
main:has(.t-legal_hero) > .l-container__row{max-width:1200px !important;margin-inline:auto !important;padding-inline:20px !important}
main:has(.t-legal_hero) .p-page_content,
main:has(.t-legal_hero) .p-page_table,
main:has(.t-legal_hero) .p-page_content__inner{max-width:760px !important;margin-left:0 !important;margin-right:0 !important;padding-left:0 !important;padding-right:0 !important}
@media (max-width:767px){
  main:has(.t-legal_hero) > .l-container__row{padding-inline:18px !important}
}
/* 字下げを止める（管理画面の入力に全角空白が入っていても左端を濁さない） */
main:has(.t-legal_hero) .p-page_content__inner,
main:has(.t-legal_hero) .p-page_content__inner *{text-indent:0 !important}
main:has(.t-legal_hero) .p-page_content__inner p,
main:has(.t-legal_hero) .p-page_content__inner .u-text--body,
main:has(.t-legal_hero) .p-page_content__inner pre{padding-left:0 !important;margin-left:0 !important}
main:has(.t-legal_hero) .p-page_content__inner ul,
main:has(.t-legal_hero) .p-page_content__inner ol{margin-left:0 !important}
/* 見出しと本文の左端を揃える（見出しの朱罫分 14px を本文にも揃える） */
main:has(.t-legal_hero) .p-page_content__inner h2,
main:has(.t-legal_hero) .p-page_content__inner .u-text--subhead{margin-left:0 !important}


/* KK-V44-BANNERFIT */
/* ══ バナー：幅に合わせて高さを縮小（トリミングしない）══ */
.p-banner__link,
[data-section-id="kk_teiki"] .p-banner__link{display:block !important;width:100% !important;max-width:none !important;height:auto !important;aspect-ratio:auto !important;margin:0 !important;overflow:visible !important}
.p-banner__image,
[data-section-id="kk_teiki"] .p-banner__image{display:block !important;width:100% !important;height:auto !important}
.p-banner__image img,
[data-section-id="kk_teiki"] .p-banner__image img{display:block !important;width:100% !important;height:auto !important;max-width:100% !important;max-height:none !important;object-fit:contain !important;object-position:center !important;border-radius:0 !important}
@media (max-width:900px){
  [data-section-id="kk_teiki"] .p-banner__link{aspect-ratio:auto !important}
}
/* 自作バナー枠も同じ律で */
.kk-bnr__frame{display:block;width:100%;height:auto;aspect-ratio:auto}
.kk-bnr__frame img{display:block;width:100%;height:auto;object-fit:contain}


/* KK-V45-FIXES */
/* ══ ① カードの操作ボタン：カートは朱の丸、お気に入りは白の丸 ══ */
.c-product_item{position:relative}
.c-product_item__inner__eyecatch{position:relative;z-index:1}
.c-product_item__actions{position:absolute !important;right:10px !important;bottom:auto !important;top:calc(100% / 1);z-index:4 !important;display:flex !important;flex-direction:row;gap:8px !important;margin:0 !important;padding:0 !important;opacity:1 !important;visibility:visible !important;transform:none !important;background:none !important;width:auto !important;pointer-events:auto}
/* 画像の右下に重ならせる（画像は1:1なので top ではなく画像高さ基準で置く） */
.c-product_item__inner__eyecatch + .c-product_item__actions,
.c-product_item__actions{top:auto !important;bottom:auto !important}
.c-product_item__inner__eyecatch{overflow:visible !important}
.c-product_item__inner__eyecatch > .c-product_item__actions{position:absolute !important;right:10px !important;bottom:10px !important;top:auto !important}
.c-product_item__form{margin:0 !important;padding:0 !important;display:block !important}
.c-product_item__form--cart,.c-product_item__form--favorite{display:block !important}
.c-product_item__button{width:36px !important;height:36px !important;min-width:0 !important;min-height:0 !important;padding:0 !important;border-radius:50% !important;display:flex !important;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 2px 6px rgba(31,30,28,.18) !important;line-height:1 !important;font-size:0 !important}
.c-product_item__button i{font-size:15px !important;line-height:1 !important;display:block}
.c-product_item__button--cart{background:var(--t-shu) !important;border:1px solid var(--t-shu) !important;color:#fff !important}
.c-product_item__button--cart i{color:#fff !important}
.c-product_item__button--cart:hover{background:#C50010 !important;border-color:#C50010 !important}
.c-product_item__button--favorite{background:#fff !important;border:1px solid var(--t-hairline) !important;color:var(--t-ink) !important}
.c-product_item__button--favorite i{color:var(--t-ink) !important}
.c-product_item__button--favorite:hover{border-color:var(--t-shu) !important}
.c-product_item__button--favorite:hover i,.c-product_item__button--favorite.is-active i{color:var(--t-shu) !important}
/* カード内の商品説明は出さない（クラスを問わず） */
.c-product_item__inner__price.word-break-all,
.c-product_item__inner__description,
.c-product_item__inner__content .word-break-all{display:none !important}

/* ══ ④ コラム一覧：件数によらず3列（見出し行がないページでも）══ */
.p-column > .p-column__inner:not(:has(.p-column__inner__title)){display:block !important}
.p-column__inner__list{display:grid !important;grid-template-columns:repeat(3,minmax(0,1fr)) !important;gap:18px !important;width:100% !important;max-width:none !important;list-style:none !important;margin:0 !important;padding:0 !important}
.p-column__inner__list > li{width:auto !important;max-width:none !important;min-width:0 !important;flex:none !important;float:none !important;display:block !important;margin:0 !important;padding:0 !important}
@media (max-width:900px){.p-column__inner__list{grid-template-columns:repeat(2,minmax(0,1fr)) !important}}
@media (max-width:560px){.p-column__inner__list{grid-template-columns:minmax(0,1fr) !important}}

/* ══ ② ログイン／会員登録：見出しとボタンを揃える ══ */
body.template-register .p-page_header__inner__title,
body.template-password .p-page_header__inner__title,
.p-account .p-page_header__inner__title,
.p-account__inner__title{font-family:var(--font-serif) !important;font-size:24px !important;font-weight:700 !important;letter-spacing:.1em !important;line-height:1.3 !important;color:var(--t-ink) !important;margin:0 0 28px !important;padding:0 0 0 16px !important;border:none !important;border-left:5px solid var(--t-shu) !important;text-align:left !important}
.p-account__inner{max-width:820px;margin-inline:auto;padding-inline:20px}
.p-account__inner__content__title,.p-account__inner__content h2{font-family:var(--font-sans) !important;font-size:16px !important;font-weight:700 !important;letter-spacing:.06em !important;color:var(--t-ink) !important;margin:0 0 14px !important;padding:0 0 0 14px !important;border:none !important;border-left:4px solid var(--t-shu) !important}
/* 主ボタン：朱の丸ボタン・罫なし */
.p-account__inner__content__form__bottom__btn,
.p-account button[type="submit"],
.p-account input[type="submit"],
body.template-register button[type="submit"],
body.template-register input[type="submit"]{background:var(--t-shu) !important;color:#fff !important;border:none !important;border-radius:100px !important;font-family:var(--font-sans) !important;font-size:14px !important;font-weight:700 !important;letter-spacing:.14em !important;padding:15px 60px !important;min-height:0 !important;width:max-content !important;max-width:100% !important;margin-inline:auto !important;display:block !important;box-shadow:none !important;cursor:pointer}
.p-account__inner__content__form__bottom__btn:hover,
.p-account button[type="submit"]:hover,
.p-account input[type="submit"]:hover{background:#C50010 !important;color:#fff !important}
/* 副ボタン（新規登録へ・パスワード再発行など）：墨の線の丸ボタン */
.p-account__inner__content__form__bottom__leave,
.p-account__inner__content__form__bottom__link{display:block !important;width:max-content !important;margin:16px auto 0 !important;background:#fff !important;color:var(--t-ink) !important;border:1.5px solid var(--t-ink) !important;border-radius:100px !important;font-family:var(--font-sans) !important;font-size:13px !important;font-weight:700 !important;letter-spacing:.1em !important;padding:12px 36px !important;text-decoration:none !important}
.p-account__inner__content__form__bottom__leave:hover,
.p-account__inner__content__form__bottom__link:hover{border-color:var(--t-shu) !important;color:var(--t-shu) !important}


/* ══ コラム一覧（3列）を念のため強めに押さえる ══ */
ul.p-column__inner__list{display:grid !important;grid-template-columns:repeat(3,minmax(0,1fr)) !important;gap:18px !important}
ul.p-column__inner__list > li.p-column__inner__list__item{width:auto !important;max-width:none !important;min-width:0 !important;flex:none !important;float:none !important;display:block !important;grid-column:auto !important}
@media (max-width:900px){ul.p-column__inner__list{grid-template-columns:repeat(2,minmax(0,1fr)) !important}}
@media (max-width:560px){ul.p-column__inner__list{grid-template-columns:minmax(0,1fr) !important}}


/* KK-V48-LEGALHERO */
/* ══ ページ見出しの箱：入れ子の位置で分ける
      ・ main 直下（法務・ガイド）  → 自分でコンテナ幅を持つ
      ・ .l-container__row の中 → 行側が幅を持っているので何もしない ══ */
main > .p-page_header,
main > header.p-page_header.t-legal_hero{position:static !important;background:none !important;border:none !important;width:auto !important;max-width:1200px !important;margin:0 auto !important;padding:34px 20px 0 !important;box-sizing:border-box}
.l-container__row > .p-page_header,
.l-container__row > header.p-page_header{position:static !important;background:none !important;border:none !important;width:auto !important;max-width:none !important;margin:0 !important;padding:0 !important}
.p-page_header .t-legal_hero__inner,
.p-page_header .p-page_header__inner{max-width:none !important;margin:0 !important;padding:0 !important}
@media (max-width:767px){
  main > .p-page_header,
  main > header.p-page_header.t-legal_hero{padding:26px 18px 0 !important}
}
/* 見出しの直後の行は二重の上余白を作らない */
main > .p-page_header + .l-container__row{margin-top:24px !important}








@media (max-width:1023px){}


/* KK-V51-OPSAFE */
.t-brand__meta:not(:has(*)){display:none !important}
.t-brand__meta{justify-content:flex-end !important}


/* KK-V52-HERO */
/* 見出し類は画像に入っているので、空の文字枚を出さない */
[data-section-id="kk_hero"] .p-kv_slider__track__list__item__inner__info:not(:has(*:not(:empty))){display:none !important}
[data-section-id="kk_hero"] .p-kv_slider__track__list__item__inner__info :empty{display:none !important}
/* 画像は幅に合わせて高さを縮小（上下を切らない） */
[data-section-id="kk_hero"] .p-kv_slider__track__list__item{height:auto !important;min-height:0 !important;aspect-ratio:auto !important}
[data-section-id="kk_hero"] .p-kv_slider__track__list__item img,
[data-section-id="kk_hero"] .p-kv_slider__track__list__item picture,
[data-section-id="kk_hero"] .p-kv_slider__track__list__item__inner{display:block !important;width:100% !important;height:auto !important;object-fit:contain !important;aspect-ratio:auto !important}
[data-section-id="kk_hero"] .p-kv_slider__track__list__item__inner__bg,
[data-section-id="kk_hero"] [class*="__bg"]{background-size:contain !important;background-position:center top !important}


/* KK-V55-BUY */
/* ══ カードの購入導線：単品（朱の丸ボタン）／定期（朱の線）══ */
.kk-buy{display:flex !important;flex-direction:column;gap:7px;margin:12px 0 0 !important;padding:0 !important}
.kk-buy__btn{display:flex !important;align-items:center;justify-content:center;width:100%;min-height:40px;padding:9px 12px !important;border-radius:100px !important;font-family:var(--font-sans) !important;font-size:12.5px !important;font-weight:700 !important;letter-spacing:.08em !important;line-height:1.4;text-align:center;text-decoration:none !important;transition:background .18s,border-color .18s,color .18s;position:relative;z-index:3}
.kk-buy__btn--cart{background:var(--t-shu) !important;border:1.5px solid var(--t-shu) !important;color:#fff !important}
.kk-buy__btn--cart:hover{background:#C50010 !important;border-color:#C50010 !important;color:#fff !important}
.kk-buy__btn--sub{background:#fff !important;border:1.5px solid var(--t-shu) !important;color:var(--t-shu) !important}
.kk-buy__btn--sub:hover{background:#FDECEA !important;color:var(--t-shu) !important}
/* カード全体を覆うリンクより上に出す */
.c-product_item__link{z-index:1}
.c-product_item{position:relative}
/* 画像右下の丸ボタンはお気に入りだけにする（カートは下の帯へ） */
.c-product_item__actions .c-product_item__form--cart,
.c-product_item__actions .btn-add-async{display:none !important}
/* 商品詳細の定期導線 */
.kk-buy__btn--pdp{max-width:420px;margin:12px auto 0 !important;min-height:52px;font-size:14px !important;letter-spacing:.12em !important}
@media (max-width:640px){
  .kk-buy__btn{font-size:12px !important;min-height:38px}
}


/* KK-V57-HEADERFIX */
/* ══ ロゴ列は縮まず、右列は縮む ══ */
@media (min-width:920px){

}







/* 狭い幅では検索窓をしまい、アイコンに切り替える */
@media (max-width:1079px){


}
@media (min-width:1080px){}


/* KK-V58 */
/* ① 検索窓は 940px 以上で出す */
@media (max-width:939px){


}
@media (min-width:940px){}

/* ② Hero は picture で端末別画像を選び、幅に合わせて全体を見せる */
[data-section-id="kk_hero"] .p-kv_slider__track__list__item{height:auto !important;min-height:0 !important}
[data-section-id="kk_hero"] .p-kv_slider__track__list__item__inner{height:auto !important;min-height:0 !important;padding-top:0 !important;aspect-ratio:auto !important;background-image:none !important}
[data-section-id="kk_hero"] .kk-kv-slide-picture,[data-section-id="kk_hero"] .kk-kv-slide-image{display:block !important;width:100% !important;height:auto !important;margin:0 !important}
[data-section-id="kk_hero"] .p-kv_slider,
[data-section-id="kk_hero"] .p-kv_slider__track,
[data-section-id="kk_hero"] .p-kv_slider__track__list,
[data-section-id="kk_hero"] .p-kv_slider__track__list__item,
[data-section-id="kk_hero"] .p-kv_slider__track__list__item__inner {
  height:auto !important;
  min-height:0 !important;
}












/* ④ カードの購入導線は常に最下部 */
.c-product_item{display:flex !important;flex-direction:column !important}
.c-product_item > .kk-buy{order:9;margin-top:auto !important;padding-top:12px !important}
.c-product_item__inner__eyecatch{order:1}
.c-product_item__inner__content{order:2}


/* KK-V59-CART retired: cart.css is the sole cart layout owner. */

/* ══ STRAIGHT ALIGN v61 — ⑤ストレート基準へのピクセル合わせ（対照ハーネス検証済み: PDP PC 0%→68%）
   検証: kokando/tools/theme-diff-harness.html / 基準値は⑤ストレート computed 実測 ══ */

/* [S1] 商品詳細コンテナ: 1120→1160px（X+28/幅-48の根本原因） */
.p-product_content__inner{max-width:1160px}
.p-product_content__inner__info{padding-left:0}
/* [S2] グローバル: 字間normal・本文色#1f1e1c */
body,.u-font__jp{letter-spacing:normal !important;color:#1f1e1c}
/* [S3] 商品説明エリア: 13.5px/2.1/normal/#1f1e1c */
.c-product_info__description{font-size:16px !important;line-height:1.9 !important;letter-spacing:normal !important;color:#1f1e1c !important}
/* [S4] kkd表ヘッダ背景 #f5f3ee、makerは透明 */
.kkd-mod table th,.kkd-spec th{background:#f5f3ee !important}
.c-product_info__description .kkd-maker th{background:transparent !important;border-right:none !important}
/* [S5] v72包括ルールに踏まれたkkdモジュールCSSの復元 */
/* R7(design05正): 製品仕様・販売者/製造所テーブルを黒文字+現行から+1〜2pxへ。見出しセル薄グレー(S4)/罫線グレー(kkd-mod table系)は既存流用 */
.c-product_info__description .kkd-spec th,.c-product_info__description .kkd-spec td{color:var(--t-ink) !important;font-size:15px !important}
.c-product_info__description .kkd-maker th,.c-product_info__description .kkd-maker td{color:var(--t-ink) !important;font-size:14px !important}
/* R6(design05正): セクション見出し(kkd-mod)をトップページ(.cw-sh)型へ。日本語見出しが主、英字ラベルは下に小さく(column+order:-1方式。
   column-reverseだと本文まで反転するため使わない) */
.c-product_info__description .kkd-mod{display:flex !important;flex-direction:column !important;margin:36px 0 0 !important;text-align:left !important}
.c-product_info__description .kkd-mod .kkd-h{order:-1 !important;margin:0 !important;padding-left:16px !important;border-left:4px solid var(--t-shu) !important;font-size:20px !important;font-weight:700 !important;letter-spacing:.06em !important;line-height:1.4 !important;color:var(--t-ink) !important;font-family:"Noto Sans JP",sans-serif !important}
.c-product_info__description .kkd-label{font-size:10.5px !important;line-height:2.1 !important;letter-spacing:.18em !important;color:var(--t-ink-mute) !important;margin:6px 0 0 16px !important}
.c-product_info__description .kkd-catch{font-size:13.5px !important;line-height:1.9 !important;letter-spacing:.03em !important}
.c-product_info__description .kkd-howto p{font-size:13.5px !important;line-height:1.9 !important}
.c-product_info__description .kkd-howto .kkd-sub{font-size:11.5px !important;line-height:1.8 !important}
.c-product_info__description .kkd-spec-note{font-size:11.5px !important;line-height:1.8 !important}
.c-product_info__description .kkd-notice li{font-size:12px !important;line-height:1.8 !important;letter-spacing:.02em !important}
.c-product_info__description .kkd-notice h4{font-size:12.5px !important;font-family:"Noto Sans JP",sans-serif !important;letter-spacing:.05em !important}


/* [P3] フッターリンク: ゴシック13.5px/1.9 (d05 .cw-links a準拠、NG-7) */
.c-footer_menu__list__item__inner,.c-footer_menu__list__item__inner.u-font--body{font-family:"Noto Sans JP",sans-serif !important;font-size:13.5px !important;line-height:1.9 !important;letter-spacing:normal !important}
/* [P4] フッター連絡先 */
#ecf_footer_section.kk-v71-retired .footer_body,.t-fcontact .footer_body{color:#8f8b83 !important}
.t-fcontact h4,.t-fcontact .footer_head{font-family:"Noto Sans JP",sans-serif !important;line-height:1.9 !important}
.t-fcontact__col{min-width:222px}
.t-fcontact__col:last-child .footer_body{line-height:1.9 !important}
.t-fmail{line-height:1.9 !important}









/* [P7] フッター連絡先帯: 内1160・横padなし */
#ecf_footer_section.kk-v71-retired > .t-fcontact,.t-fcontact{padding-left:0 !important;padding-right:0 !important;max-width:1160px;margin-left:auto !important;margin-right:auto !important}
/* [P8] フッター配置: 連絡先→リンク列(全幅)→ロゴ左/コピー右 */
#ecf_footer_section.kk-v71-retired.l-footer{grid-template-areas:"contact contact" "menu menu" "logo copy" "info info" !important;align-items:center}
.l-footer__menu{width:100% !important;display:flex !important;gap:24px !important}
.l-footer__menu .c-footer_menus{display:contents}
.l-footer__menu .c-footer_menu{flex:1 1 0;width:auto !important}
.t-footer__copy{text-align:right;justify-self:end}
/* ══ /STRAIGHT ALIGN v61 ══ */

/* === v63: PDP右カラムの基準補完要素（基準 product.html .pdp-maker/.pdp-note/.pdp-ship、実値展開: --mute=#6E6A63 --ink=#26231F --line=#E3E0DA --wash=#F7F6F2） === */
.kk-maker{font-size:12px;color:#6E6A63;margin:0 0 14px}
.kk-shipnote{font-size:12px;color:#6E6A63;margin:0 0 24px}
.kk-shipnote a{color:#6E6A63;text-decoration:underline}
.kk-ship{font-size:12px;color:#26231F;line-height:1.9;border:1px solid #E3E0DA;border-radius:0;background:#F7F6F2;padding:12px 16px;margin-top:16px}
/* R5(design05正 .pdp-ship b): 送料無料の強調は赤太字 */
.kk-ship b{color:#C4222A;font-weight:700}
/* R4(design05正 .pdp-sns/.sns-ico/.pdp-copy準拠): シェアUI(カラーSVGアイコン+URLコピー) */
.kk-share{display:flex;align-items:center;flex-wrap:wrap;gap:8px 16px;font-size:12.5px;color:var(--t-ink-mute);margin:16px 0 0}
.kk-share__label{font-weight:700;color:var(--t-ink)}
.kk-share__icons{display:flex;align-items:center;gap:8px}
.kk-share-ico{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;flex:none;transition:opacity .2s,transform .2s}
.kk-share-ico:hover{opacity:.84;transform:translateY(-1px)}
.kk-share-ico svg{width:15px;height:15px;fill:#fff}
.kk-share-fb{background:#1877F2}
.kk-share-x{background:#000}
.kk-share-line{background:#06C755}
.kk-share-copy{display:inline-flex;align-items:center;gap:6px;border:none;background:none;font:inherit;font-size:12.5px;color:var(--t-ink-mute);cursor:pointer;padding:0}
.kk-share-copy:hover{color:var(--t-shu)}
.kk-share-copy__ic{width:14px;height:14px;stroke:currentColor;stroke-width:1.6;fill:none;flex:none}
@media (max-width:640px){.kk-share{gap:8px 12px}}

/* Route: product — remaining design00/assets/routes/product.css selectors not yet mirrored
   above via kk-*, pdp-info, pdp-ship (verbatim; #pbSingle/#pbRec buy-panel markup unchanged
   per CSS-OWNERSHIP byte-identical/SKU-scoped-JS constraint, so these stay CSS-only additions). */
.pdp-vis{position:sticky;top:120px;display:grid;grid-template-columns:40px 1fr;gap:10px;align-items:start}
.pdp-vis .main{grid-row:1;grid-column:2;background:#F7F6F2;border:1px solid #E3E0DA;border-radius:8px;aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;overflow:hidden}
.pdp-vis .main img{max-width:92%;max-height:94%;object-fit:contain;mix-blend-mode:multiply}
.pdp-thumbs{grid-row:1;grid-column:1;display:flex;flex-direction:column;gap:10px;margin-top:0;max-height:460px;overflow:auto}
.pdp-thumbs button{width:40px;height:40px;border:1.5px solid #E3E0DA;border-radius:0;background:#fff;padding:2px;cursor:pointer}
.pdp-thumbs button.on{border-color:var(--red,#E60012)}
.pdp-thumbs img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}
.pdp-cta{display:flex;gap:12px;margin:0 0 14px}
.pdp-cta .buy{flex:1;display:flex;align-items:center;justify-content:center;background:var(--red,#E60012);color:#fff;font-size:15px;font-weight:700;letter-spacing:.14em;padding:16px 10px;border-radius:6px}
.pdp-cta .buy:hover{background:var(--red-d,#C50010);color:#fff}
.pdp-cta .fav{flex:none;width:54px;display:flex;align-items:center;justify-content:center;border:1.5px solid #E3E0DA;border-radius:6px;background:#fff}
.pdp-cta .fav svg{width:20px;height:20px;stroke:#26231F;stroke-width:1.4;fill:none;stroke-linecap:round;stroke-linejoin:round}
.pdp-cta .fav:hover{border-color:var(--red,#E60012)}
.pdp-cta .fav:hover svg{stroke:var(--red,#E60012)}
.pdp-desc{margin:36px 0 0}
.pdp-desc-h{display:flex;align-items:baseline;gap:18px;margin:0 0 24px}
.pdp-desc-h em{font-style:normal;font-size:19px;font-weight:700;letter-spacing:.1em;padding-left:14px;border-left:5px solid var(--red,#E60012)}
.pdp-desc-h i{flex:1;height:1px;background:#E3E0DA}
.pdp-qty{display:flex;align-items:center;gap:8px;font-size:12.5px;font-weight:700}
.pdp-qty select{font-family:inherit;font-size:14px;padding:12px 10px;border:1.5px solid #E3E0DA;border-radius:6px;background:#fff;color:#26231F}
.pdp-sns{display:flex;align-items:center;gap:8px;font-size:11px;color:#6E6A63;margin:0 0 14px}
.pdp-sns a{display:inline-flex;align-items:center;justify-content:center;border:1px solid #E3E0DA;border-radius:100px;padding:4px 14px;font-size:11px;font-weight:700;color:#6E6A63}
.pdp-sns a:hover{border-color:var(--red,#E60012);color:var(--red,#E60012)}
.pdp-buy2{display:grid;grid-template-columns:1fr 1fr;gap:0 10px;margin:8px 0 0;position:relative;z-index:2}
.pdp-plan{position:relative;border:1px solid #E3E0DA;border-bottom:none;background:#FAFAF8;padding:13px 14px;display:flex;align-items:center;gap:8px;cursor:pointer}
.pdp-plan input{position:absolute;opacity:0;pointer-events:none}
.pdp-plan .pl-h{font-size:13px;font-weight:700;display:flex;align-items:center;gap:8px}
.pdp-plan .pl-h::before{content:"";width:16px;height:16px;border:2px solid #E3E0DA;border-radius:50%;flex:none;background:#fff;box-sizing:border-box}
.pdp-plan .sub-off-badge{padding:2px 8px}
.pdp-plan.teiki{border-color:#F2C4C8}
.pdp-plan.sel{border:2px solid var(--red,#E60012);border-bottom:2px solid #fff;background:#fff;margin-bottom:-2px;padding:12px 13px}
.pdp-plan.sel .pl-h{color:var(--red,#E60012)}
.pdp-plan.sel .pl-h::before{border-color:var(--red,#E60012);background:radial-gradient(circle,var(--red,#E60012) 0 4px,#fff 4.5px)}
.pdp-panelbox{position:relative;z-index:1;border:2px solid var(--red,#E60012);background:#fff;padding:16px 18px 18px}
.pdp-panelbox .pl-price{font-size:24px;font-weight:700;display:block;margin:0 0 6px}
.pdp-panelbox .pl-price small{font-size:11px;font-weight:400;color:#6E6A63}
.pdp-panelbox .pl-ship{display:block;font-size:12px;color:#6E6A63}
.pdp-panelbox .pl-ship b{color:var(--red,#E60012)}
.pdp-panelbox .pl-note{font-size:10.5px;color:#B4AFA6;margin:4px 0 0}
.pdp-panelbox .pl-ship-note{display:block;font-size:12px;color:#26231F;line-height:1.7;border:1px solid #E3E0DA;border-radius:6px;background:#F7F6F2;padding:12px 16px;margin:14px 0 0}
.pdp-panelbox .pl-top{display:flex;align-items:center;justify-content:flex-start;gap:28px;flex-wrap:wrap}
.pdp-panelbox .pl-top .pl-price{margin:0}
.pdp-panelbox .pl-top .pdp-cta{margin:0}
.pdp-go{display:block;text-align:center;background:var(--red,#E60012);color:#fff;font-size:15px;font-weight:700;letter-spacing:.06em;padding:15px;border-radius:4px;margin:14px 0 0}
.pdp-go:hover{background:var(--red-d,#C50010)}
@media (max-width:768px){.pdp-vis{position:static;display:block}.pdp-thumbs{flex-direction:row;margin-top:12px;max-height:none}}
@media (max-width:640px){.pdp-plan .pl-h{font-size:12px}}
（design05 ab96a18でbody基準
   font-sizeが14px→16pxへ改訂され、design00 foundation.cssも追随済み。design/product.html
   .cw系 body規則の14pxはこの改訂前の値のまま残った旧参照のため採用しない）。
   色/字間は main.css [S2]（STRAIGHT ALIGN v61）で既に #1f1e1c・normal 化済みのため未変更
   （design00 --ink:#000とは完全一致しないが、⑤ストレート実測に基づく検証済み値のため
   本タスクでは据え置き。詳細はledger参照）。
   現状ライブは body に明示 font-size が無く既定値（≒16px）に流れているため、ここで確定させる。 */
body {
  font-size: 16px !important;
  line-height: 1.9 !important;
}
/* theme.css既定の .l-wrapper-none{line-height:1.5} がbody 1.9の継承を遮断していたため、
   design00(foundation.css body line-height:1.9)と同じ継承フローに戻す。theme.cssは編集禁止のためここで上書き。 */
.l-wrapper,
.l-wrapper-none {
  line-height: inherit;
}



/* ヘッダー本体: 基準 .cw-head{background:rgba(255,255,255,.96);backdrop-filter:blur(10px);
   box-shadow:0 1px 0 var(--line)}

/* ロゴ: 基準 .cw-logo img{height:44px;display:block;margin-left:-9px}

@media (max-width: 919px){}

/* ============================================================
   3. フッター共通（#ecf_footer_section.kk-v71-retired）
   ============================================================ */
/* 連絡先帯・リンク色・コピーライト色（.cw-contact / .cw-foot a / .cw-cr p 相当）は
   main.css 2960〜2992行・4880〜4899行で既に基準値と一致（padding/gap/色すべて確認済み）。
   ここでは未対応だった2点のみ追加する。 */

/* メール導線ボタン: 基準 .cw-mail{border-radius:0}。
   現状 .t-fmail は border-radius:100px（完全な丸ピル）のまま。 */
#ecf_footer_section.kk-v71-retired .t-fmail {
  border-radius:0 !important;
}
/* フッターロゴ: 基準 .cw-cr img{height:46px;max-width:60vw;margin-left:-9px}
  （filter/opacityは2948行で既に基準と一致、フチのサイズだけが未対応）。
   実DOMの img は style="max-width:180px" 属性が幅基準になっているため解除する。 */
#ecf_footer_section.kk-v71-retired .l-footer__logo img {
  height: 46px !important;
  width: auto !important;
  max-width: 60vw !important;
  margin-left: -9px !important;
}

/* ============================================================
   4. PDP残差（design/product.html <style> 基準）
   ============================================================ */
/* パンくず（.crumbs → .c-breadcrumbs）: main.css 4069行で
   margin/font-size/letter-spacing/color/gap すべて基準と既に一致（変更なし・notes参照）。
   kkd-*（CMS生成の商品説明モジュール）: design/product.html の <style> には kkd-* を
   直接規定する基準が存在しない（pdpBody は CMS/APIから注入される本文で、基準側は
   #pdpBody{font-size:13.5px;line-height:2.1} という器の指定のみ）ため、値を発明せず対応見送り。
   cw-rcard → c-product_item: main.css 4082行のコメント「一覧・検索・ランキング共通」が示す通り、
   ランキング/おすすめの実カード（.c-product_item、.st-prod基準と既に一致）へ統一する方針が
   既存実装で確定しており、cw-rcard特有の意匠（放射状グラデーション地・メダル型順位バッジ・
   2列価格・並列CTAボタン）はライブの商品カード部品（cart/favoriteボタンのみ）のDOM構造では
   再現不可能なため見送り（詳細はnotes参照）。
   左サイドバー（.st-side/.sd-blk等・大正製薬型）: ライブDOM・実ページ双方に該当要素が
   一切存在せず、テンプレート構造の追加が必要なためCSSのみでは対応不可、対象外。
   下記は実際に確認できた唯一の残差＝PDP下部「売れ筋ランキング／この商品を見た方におすすめ」の
   見出し（.p-new_product__title）。 */

/* 基準: design/product.html 486-490行
   .cw-sh{display:flex;align-items:center;gap:12px;margin:0 0 24px}
   .cw-sh .bar{width:4px;height:34px;border-radius:100px;background:var(--red)}
   .cw-sh h2{font-size:22px;font-weight:700;margin:0;line-height:1.4}
   .cw-sh small{font-size:10.5px;font-weight:400;letter-spacing:.18em;color:var(--faint)}
   main.css 3989-4014行で .c-section_title/.p-column__inner__title/.p-news__inner__title は
   既にこの cw-sh 基準へ統一済みだが、PDP下部のRANKING/RECOMMEND見出しに実際使われる
   .p-new_product__title はその統一グループに含まれておらず、941-990行台の旧v4見出し値
   （バー5×24・角丸なし／jp 24px letter.04em／en 10px letter.18em色var(--t-ink-mute)）の
   ままだった。cw-sh基準に合わせて上書きする（!importantは同ファイル内の既存!important宣言に
   勝つために付与）。 */
.p-new_product__title::before {
  width: 4px !important;
  height: 34px !important;
  border-radius: 100px !important;
}
.p-new_product__title__jp {
  font-size: 22px !important;
  font-weight: 700 !important;
  letter-spacing: normal !important; /* 基準 .cw-sh h2 は letter-spacing 未指定（normal） */
  line-height: 1.4 !important;
}
.p-new_product__title__en {
  font-size: 10.5px !important;
  font-weight: 400 !important;
  letter-spacing: .18em !important;
  color: var(--t-ink-mute) !important; /* = design00 foundation.css確定値 --faint:#7B7B7B と同値の既存トークン */
}

/* ============================================================
   5. PLP（design/products.html <style> 基準）
   ============================================================ */
/* カテゴリ絞り込みチップ（.plp-filters→.t-plp2__chip)は main.css 4076-4080行で
   border/radius/font/padding/色/hoverすべて基準と既に一致（変更なし）。
   カード本体（.c-product_item、.st-prod基準）も4082-4098行で完全一致（変更なし）。
   残差は (a) ページ見出し (b) 商品グリッドの列数/gap の2点。 */

/* 基準: design/products.html 243-245行
   .plp-h{display:flex;align-items:baseline;gap:18px;margin:0 0 28px}
   .plp-h h1{font-size:24px;font-weight:700;letter-spacing:.1em;margin:0;padding-left:16px;
             border-left:5px solid var(--red);line-height:1.3}（Noto Serif JP化はtonality overrides 440行）
   .plp-h span{font-size:11px;letter-spacing:.22em;color:#B4AFA6}
   ライブの .t-plp2__title/.t-plp2__eyebrow（shop_products.html 724-725行相当）は
   旧仕様（title:42px/500/letter.14em・罫線なし／eyebrow:10px/letter.28em・赤字＋装飾線）の
   ままで基準未反映だったため上書きする。margin-bottomは基準にない .t-plp2__sub（説明文）との
   行間確保のため据え置く。 */
.t-plp2__title {
  font-size: 24px !important;
  font-weight: 700 !important;
  letter-spacing: .1em !important;
  line-height: 1.3 !important;
  border-left: 5px solid var(--t-shu) !important;
  padding-left: 16px !important;
}
.t-plp2__eyebrow {
  font-size: 11px !important;
  font-weight: 400 !important;
  letter-spacing: .22em !important;
  color: #B4AFA6 !important; /* 基準 .plp-h span と同値（v72既存の他パンくず等でも同じ生値を使用） */
}
.t-plp2__eyebrow::before {
  content: none !important; /* 基準 span に装飾線なし */
}

/* 基準: design/products.html
   .st-prods{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}（104行・デフォルト）
   tablet [max-width:1100px and min-width:769px] → repeat(2,1fr)（187行、gapは16継承）
   SP [max-width:768px] → repeat(2,1fr);gap:10px（218行）
   ライブ #product-index-view .p-product_list__list（shop_products.html 1994-1998行）は
   3列・gap:46px 30pxの独自グリッド（コメント「クリーンカード」仕様）のまま基準未反映だった。
   769〜1100px と 768px以下は明示的に2列へ上書きし、SPルールを最後に置く。 */
#product-index-view .p-product_list__list {
  gap: 16px !important;
}
@media (max-width: 1100px) and (min-width: 769px) {
  #product-index-view .p-product_list__list {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 768px) {
  #product-index-view .p-product_list__list {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }
}

/* ============================================================
   6. 情報系（design/guide.html, faq.html, news.html, news-detail.html,
      column.html, column-detail.html, tokushoho.html, privacy.html,
      terms.html, contact.html <style> 基準）
   ============================================================ */
/* 本文組版の大半は既存実装で対応済み（変更なし・詳細はnotes参照）:
   ・ページ見出し（.bl-h/.plp-h/.gd h1 等 → .p-page_header__inner__title 系, v72 4061-4066行）
   ・パンくず（.crumbs → .c-breadcrumbs, 4069行）
   ・法務/ガイド/FAQ本文（.terms/.gd → main:has(.t-legal_hero) .p-page_content__inner 系,
     4279-4325行）: h2 16px/700/border-left4/margin0 0 12、p 13px/2.1/letter.04em、
     table/th/td、details/summary(FAQ)、ul>liの罫線区切り、a色 まで design/terms.html の
     .terms 基準と一致。max-width:760pxも design/terms.html 673行 .terms{max-width:760px}と一致。
   ・コラム/お知らせ 一覧カード（.c-column_item, 4017-4029行）・記事本文（.p-page_article__inner
     h2/h3/p/img/blockquote, 4124-4134行）も design/column.html・column-detail.html の
     .art h2/p や画像仕様と一致。
   ・guide.html の .gd 独自要素（.toc グリッド、h2の英字small等）はライブ側
     （shop_guide.html）の本文コンテンツが未投入（p-page_content__inner が空）のため、
     対応先の実要素がなく対象外。 */

/* 記事詳細タイトル（ニュース詳細/コラム詳細が共有する
   .p-column_header__panel__inner__title, shop_information_test003/004.html 共通）:
   基準はテンプレートにより不一致——
   column-detail.html .art h1: font-size26px/weight700/line-height1.7/letter.04em・罫線なし（674行）
   news-detail.html    .gd h1: font-size24px/weight700/line-height1.7/letter.12em・
                                border-left5px赤（459行）
   のため border-left の有無と letter-spacing/font-size は境界事例（要フォローアップ、notes参照）。
   ただし font-weight:700 と line-height:1.7 は両基準で完全一致しており、現状値
   （500/1.5）は明確な誤り。また両基準とも見出し直後に本文が続く構成で下マージンを
   取っており、現状 margin:16px 0 0（下マージン0）も誤りのため、この3点のみ確実な差分として補正する。 */
.p-column_header__panel__inner__title {
  font-weight: 700 !important;
  line-height: 1.7 !important;
  margin: 16px 0 10px !important;
}

/* ============================================================
   == wave3 == 全ページ横断の基礎補正
   ============================================================ */

/* 基準: design/*.html の .wrap{max-width:1200px;margin:0 auto;padding:0 20px} および
   各ページ末尾 main{max-width:1200px!important;padding-left/right:20px!important}。
   main.css 旧規則の1120px＋左右40px（内容1040px）を、基準の1200px＋左右20pxへ統一する。
   !important は main.css 3980-3981行の既存!important規則と同じ対象を確実に上書きするため。 */
main.l-container:not(#customers-sessions-sign-in-view):not(#customers-view) > .l-container__row,
main.l-container:not(#customers-sessions-sign-in-view):not(#customers-view) > #add_product_async_view {
  max-width: 1200px !important;
  margin-left: auto;
  margin-right: auto;
}
main.l-container:not(#customers-sessions-sign-in-view):not(#customers-view) > .l-container__row {
  padding-left: 20px !important;
  padding-right: 20px !important;
}

/* 基準: design/*.html body{font-family:'Noto Sans JP',sans-serif}。
   theme_customize.css の各ユーティリティに游ゴシック系が直指定されているため、同じ実DOMクラスで統一。
   !important は theme_customize.css 側の!important付きfont-size/colorとの複合ユーティリティを
   後続のテーマ更新から独立して固定するため（書体宣言のみ）。 */
.u-text--head,
.u-text--subhead,
.u-text--body,
.u-text--strong,
.u-text--link,
.u-text--head--overlay,
.u-text--subhead--overlay,
.u-text--body--overlay,
.u-text--btn,
.u-text--btn--overlay,
.u-text--btn--reverse,
.u-text--btn--overlay--reverse,
.u-text--input,
.u-font--head,
.u-font--subhead,
.u-font--body {
  font-family: "Noto Sans JP", sans-serif !important;
}

/* 基準: design/*.html body の letter-spacing 未指定（normal）。
   theme.css の最外周 .l-wrapper-none{letter-spacing:.05em} が全ページへ継承され、
   14px時の約0.7px（要素サイズにより0.8px/0.44px等）となる根本原因を除去する。 */
.l-wrapper-none {
  letter-spacing: normal;
}

/* === wave3b (opus): 見出し書体を基準の明朝に統一 === */
/* 基準: product.html 『.st-sh h2,.plp-h h1,.pdp-info h1{font-family:'Noto Serif JP',serif}』『.cw h1,h2,h3』→ liveの見出し相当（商品名/セクション題字/ページ題字） */
#product-name.c-product_info__title,.t-plp2__title,.p-information__title,.c-headline__title,.p-guide h1,.p-faq h1,h1.u-text--head:not(.p-page_header__inner__title),h2.u-text--head:not(.c-section_title__head){font-family:'Noto Serif JP',serif!important}



/* === wave4b (opus): 視覚不具合修正（ユーザー指搘2026-07-27） === */
/* 1) Hero左の"影"の正体: スライド暗幕グラデ(v72 807行)。入稿バナー運用では不要 */
.p-kv_slider__track__list__item__inner::before{display:none!important}
/* 2) Hero位置: margin 8px 16px 0 (v72) → 中央寄せ */
.p-kv_slider{margin:8px auto 0!important}
/* 3) ランキング上余白: u-margin__top--80 → 基準のセクション間隔(約40px) */
.l-container__row.u-margin__top--80:has(.p-category_ranking_section){margin-top:40px!important}
/* 4) 商品カード画像: 基準265x265スクエア・contain（縦長coverで切れていた） */
.c-product_item__inner__eyecatch__image{aspect-ratio:1/1!important;height:auto!important}
.c-product_item__inner__eyecatch__image img{width:100%!important;height:100%!important;object-fit:contain!important;background:#fff}
/* 5) TOPコラム一覧: 基準は3列（liveは1列） */
/* v72の「1件のとき1列フル幅」特例(:not(:has(>:nth-child(2))))を同特異度で打消し、1件でも3分割の組を保つ（基準・v34方針） */
@media(min-width:1024px){.p-column__inner__list:has(.c-column_item):not(:has(> :nth-child(2))){grid-template-columns:repeat(3,minmax(0,1fr))!important}}
/* 6) PDP数量欄: ±ボタン(absolute)が入力値に重なる → flexで11並びに整列 */
.c-order_quantity{display:inline-flex!important;align-items:center!important}
.c-order_quantity__input{order:2;width:80px!important;margin:0!important;text-align:center!important;border-left:1px solid #E3E0DA!important;border-right:1px solid #E3E0DA!important;border-radius:0!important}
.c-order_quantity button{position:static!important;inset:auto!important;transform:none!important;flex:none}
.c-order_quantity button:has(.u-icon--minus){order:1}
.c-order_quantity button:has(.u-icon--plus){order:3}
/* 7) ページ題字: 基準はSans 24px・左朱罪5pxのみ（wave3bの明朝適用を取消、浮いた赤線を除去） */
h1.p-page_header__inner__title.u-text--head,.p-page_header__inner__title{font-family:'Noto Sans JP',sans-serif!important;font-size:24px!important;line-height:1.7!important}
.p-page_header__inner__title::before{display:none!important}
/* 8) フッターロゴ: 基準は横長白ロゴ128x46（liveは正方形47px）。検証用はCDN絶対URL、v64焼き込み時は url(images/logo-direct-h.png) に相対化すること */
.l-footer__logo img{content:url(images/logo-direct-h.png);height:46px!important;width:auto!important;filter:brightness(0) invert(1)}



@media (min-width:920px){}








/* ③ カード全体リンク: 既存の空オーバーレイ(.c-product_item__link)をinset:0で有効化、操作系は前面に */
.c-product_item{position:relative}
.c-product_item__link{position:absolute;inset:0;z-index:1}
.c-product_item .kk-buy,.c-product_item [class*=favorite],.c-product_item button{position:relative;z-index:2}
/* ⑥ TOPコラムカード: 基準 .cw-ccard（白カードr14・画像上170px・バッジ・本斑13.5px） */
.c-column_item{background:#fff;border:1px solid var(--t-hairline);border-radius:0;overflow:hidden;box-shadow:0 1px 4px rgba(31,30,28,.05)}
.c-column_item__inner{display:block!important}
.c-column_item__inner__img{position:relative;width:100%!important;height:170px!important;background-size:cover!important;background-position:center!important;margin:0!important}
.kk-col_cat{position:absolute;top:12px;left:12px;font-size:10px;font-weight:700;border-radius:100px;padding:3px 10px;background:#fff;color:var(--t-ink-soft)}
.c-column_item__inner__title{padding:16px 16px 6px!important;font-family:'Noto Sans JP',sans-serif!important;font-size:13.5px!important;font-weight:700!important;line-height:1.7!important;margin:0!important}

/* ⑥追記: v72のコラム「1件横並び」特例(3765行〜)を打消し、1件でも基準の縦カード */
.p-column__inner__list:has(.c-column_item):not(:has(> *:nth-child(2))) .c-column_item__inner{display:block!important;border:none!important;padding:0!important}
.p-column__inner__list:has(.c-column_item):not(:has(> *:nth-child(2))) .c-column_item__inner__img{border-right:none!important;width:100%!important}
.p-column__inner__list:has(.c-column_item):not(:has(> *:nth-child(2))) .c-column_item__inner__title{font-size:13.5px!important;padding:16px 16px 6px!important}

/* ⑤ pdp-cms産の表組余白を基準に寄せる（事業者情報等をkkd-specで作った既存投入データも一括矯正） */
.kkd-spec th{width:160px!important;font-size:12px!important}
.kkd-spec td{line-height:1.7!important}
/* W-LIQ4 A: kkd表(製品仕様/販売者・製造所・お問い合わせ)のセル余白をdesign05実測値へ(#pdpBody table th/td 基準)。
   kkd-specは元8px 12px(横方向が詰まり罫線に密着)、kkd-makerはCMS投入データ側の.kkd-maker th/td{padding:8px 0}(横方向0)を上書き */
.kkd-spec th,.kkd-spec td,.kkd-maker th,.kkd-maker td{padding:12px 14px!important}
@media (max-width:640px){.kkd-spec th,.kkd-spec td,.kkd-maker th,.kkd-maker td{padding:9px 10px!important}}
/* W-LIQ5①: SPはラベル列/値列の2カラムが狭く原材料名等の長文セルが縦長になり読みにくいため、
   各行をラベル上(薄グレー帯)・値下の1カラムへ縦積みに変更(design05 #pdpBody table SP実装を移植) */
@media (max-width:640px){
  .kkd-spec,.kkd-maker,.kkd-spec tbody,.kkd-maker tbody,.kkd-spec tr,.kkd-maker tr,.kkd-spec th,.kkd-maker th,.kkd-spec td,.kkd-maker td{display:block!important;width:100%!important}
  .kkd-spec tr,.kkd-maker tr{border-bottom:1px solid rgba(20,20,20,.16)!important}
  .kkd-spec tr:last-child,.kkd-maker tr:last-child{border-bottom:none!important}
  .kkd-spec th,.kkd-maker th{background:#F5F3EE!important;font-weight:400!important;font-size:11px!important;letter-spacing:.06em!important;color:var(--t-ink-soft)!important;border:none!important;padding:8px 10px 4px!important}
  .kkd-spec td,.kkd-maker td{border:none!important;padding:4px 10px 12px!important}
}
/* ⑦ フッターCR行: 基準 .cw-cr（ロゴ46px・左-9px・CR右寄せ11px #8F8B83） */
.l-footer__logo img{margin-left:-9px!important;opacity:.92}


/* REV20260728 89d24e385ec36b62: 30dc30bf30f3306f2px3001691c7d227a9330fb30ad30fc30ef30fc30c930bf30b0306f7dad6301 */
button,input[type=submit],input[class*=btn],a[class*=btn],.p-previous_order__btn,.p-mypage__block__subscription__item__btn{border-radius:4px!important}

/* ===== STRAIGHT v67: 自由入力01を全画面幅でページ下部に ===== */
.kk-opt1-full{width:100vw;margin:56px calc(50% - 50vw) 64px;overflow-x:hidden}
.kk-opt1-full:empty{display:none}
.kk-opt1-full .c-product_info__option{max-width:none;margin:0;padding:0 max(20px,calc(50vw - 600px))}
.kk-opt1-full img{max-width:100%;height:auto;display:block}
@media (max-width:640px){.kk-opt1-full{margin-top:36px;margin-bottom:44px}}

/* PDP purchase ownership:
   旧EC FORCE併売DOM(.c-product_info__co_selling*)は描画しないため専用CSSを廃止。
   現行購入UIは .kk-buy-tabs / .kk-buy-panel が唯一の所有者。 */

/* ===== P3-A: design00/assets/utilities.css 移植 =====
   基準: input:focus-visible, select:focus-visible, textarea:focus-visible,
   button:focus-visible, a:focus-visible { outline: 2px solid var(--red); outline-offset: 2px; }
   theme_straight未対応(ログインボタン1箇所のみ個別対応済み、main.css:3016)だったため、
   design00の可視フォーカス層をサイト全体の対話要素へ汎用追加。トークンは --t-shu を使用
   (= design00 --red と同値)。既定の見た目には影響しない(:focus-visible時のみ発火)。 */
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
button:focus-visible,
a:focus-visible {
  outline: 2px solid var(--t-shu);
  outline-offset: 2px;
}





@media (max-width:640px){}
 /* r4: order/new等はヘッダー外にも同一帯が出るため全域非表示 */

/* index #aboutバナー化(design00 routes/home.css 139-142準拠)。既存.cw-about旧テキスト版の!important付き余白/背景を上書くため!important付与 */
.cw-about{position:relative;background:none !important;border-top:1px solid var(--line) !important;padding:44px 0 44px !important}
.cw-about .wrap{position:relative;isolation:isolate;overflow:hidden;padding:0 !important;background:none !important}
.cw-about .wrap>*{position:relative;z-index:2}
@media (max-width:900px){.cw-about{padding:28px 0 32px !important}}

/* indexおすすめ商品カード: design00 components.css 82/188/199/200の移植漏れ補完(verbatim) */
.cw-stars{display:none;font-size:11.5px;color:#E3A11C;letter-spacing:.05em;margin:0 0 8px}
:is(.cw-rank,.cw-osusume){padding:32px 0 52px}:is(.cw-rgrid,.cw-osusume-grid){align-items:stretch}:is(.cw-rcard,.cw-osusume-card){position:relative;height:100%}
.cw-rdesc{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;min-height:3.1em;margin:0 0 10px;color:var(--ink);font-size:11px;line-height:1.55}
@media (max-width:640px){.cw-rbtns{gap:6px}.cw-rbtns a,.cw-rbtns button{box-sizing:border-box;min-width:0;height:44px;padding:7px 2px;font-size:10.5px;white-space:nowrap}.cw-rdesc{font-size:10.5px;margin-bottom:8px}}
/* W-LIQ5⑦: 「定期購入」(4文字)がSPの2ボタン並び時に「定期購\入」と折返す実バグ。white-space:nowrapだけでは
   ボタンが狭いままだと文字が枠外へ溢れるため、G(カード左右padding是正)で確保した幅を使い切れるよう
   letter-spacingを詰めて実測確保(padding/heightは他ボタンと統一のまま据置き) */
@media (max-width:640px){.cw-rbtns a,.cw-rbtns button{letter-spacing:-.02em}}
/* 商品カード画像枠: design00 components.css 70行準拠(旧180px/140px固定+旧グラデ背景を上書くためheight:auto付与) */
:is(.cw-rimg,.cw-osusume-image){position:relative;aspect-ratio:1/1;height:auto;background:#fff;display:flex;align-items:center;justify-content:center}

/* design00 routes/home.css 194行の移植漏れ補完(verbatim) */
@media (max-width:900px){:is(.cw-rank,.cw-osusume){padding-top:28px}.cw-sh .more.cw-cta{min-height:32px;padding:0 9px;font-size:11px}}

/* design00 components.css 190行の移植漏れ補完(verbatim) */
:is(.cw-rbody,.cw-osusume-body){position:relative}:is(.cw-rbody,.cw-osusume-body) .br{padding-right:42px}:is(.cw-rbody,.cw-osusume-body) h3{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;min-height:3.2em;flex:0 0 auto}.cw-rbtns{margin-top:auto}

/* findセクション: design00 routes/home.css 46-101,111-112,159行の移植漏れ補完(verbatim、W-N検収残差対応) */
.cw-find{background:var(--beige);padding:48px 0 52px}
.cw-find .grp{background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px 22px 22px;box-shadow:0 1px 4px rgba(31,30,28,.05)}
.cw-find .blk{margin:0 0 16px}
.cw-find .kwrow{margin:0 0 16px}
.cw-find .kwrow h3{font-family:'Noto Sans JP',sans-serif;font-size:14px;font-weight:700;letter-spacing:.06em;margin:0 0 14px;display:flex;align-items:center;gap:8px}
.cw-find .kwrow h3::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--red)}
.cw-find .kwrow .bar2{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.cw-find .kwrow .cw-search{flex:1 1 300px;max-width:480px}
.cw-find .kwrow .tags{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.cw-find .kwrow .tags .tlbl{font-size:11px;font-weight:700;color:var(--gray);white-space:nowrap}
.cw-find .kwrow .tags a{background:var(--cream);border:1px solid #EDE5D8;border-radius:100px;padding:4px 14px;font-size:11.5px;color:var(--gray);white-space:nowrap}
.cw-find .kwrow .tags a:hover{border-color:var(--red);color:var(--red)}
.cw-find .cols{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:stretch}
.cw-find .cols .grp{display:flex;flex-direction:column}
.cw-worry{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-content:stretch;flex:1}
.cw-worry a{display:flex;align-items:center;gap:14px;min-height:56px;background:#fff;border:1px solid var(--line);padding:8px 16px;font-size:13.5px;font-weight:700;color:var(--ink);transition:border-color .2s,color .2s}
.cw-worry a svg{width:32px;height:32px;flex:none;stroke:var(--red);stroke-width:1.3;fill:none;stroke-linecap:round;stroke-linejoin:round}
.cw-worry a:hover{border-color:var(--red);color:var(--red)}
@media (max-width:640px){.cw-worry{grid-template-columns:1fr}}
.cw-find .col.stack{display:flex;flex-direction:column;gap:16px}
.cw-find .col.stack .grp{flex:1}
.cw-find .blk3{margin:16px 0 0}
.cw-find .grp>h3{font-family:'Noto Sans JP',sans-serif;font-size:14px;font-weight:700;letter-spacing:.06em;margin:0 0 14px;display:flex;align-items:center;gap:8px}
.cw-find .grp>h3::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--red)}
.cw-conc{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.cw-conc a{background:var(--cream);border:2px solid #EDE5D8;border-radius:14px;padding:18px 12px 14px;text-align:center;transition:all .2s}
.cw-conc a:hover{border-color:var(--red);transform:translateY(-4px)}
.cw-conc .ic{font-size:24px;color:var(--red);line-height:1;font-weight:300;display:block;margin:0 0 10px}
.cw-conc b{display:block;font-size:12.5px;line-height:1.5}
.cw-conc small{font-size:10.5px;color:var(--faint)}
.cw-cats{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-content:stretch;flex:1}
.cw-cats a{background:#fff;border:1px solid var(--line);padding:10px 16px;display:flex;align-items:center;gap:16px;color:var(--ink);transition:border-color .2s,color .2s;min-height:80px}
.cw-cats a .im{width:60px;height:60px;flex:none;display:flex;align-items:center;justify-content:center;background:var(--cream);border-radius:8px;overflow:hidden}
.cw-cats a .im img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}
.cw-cats a .im svg{width:34px;height:34px;stroke:var(--red);stroke-width:1.4;fill:none;stroke-linecap:round;stroke-linejoin:round}
.cw-cats a b{font-size:14.5px;font-weight:700}
.cw-cats a:hover{border-color:var(--red);color:var(--red)}
.cw-bgrid2{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.cw-bwrap{position:relative}
.cw-bwrap.carousel .cw-bgrid2{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;gap:10px}
.cw-bwrap.carousel .cw-bgrid2::-webkit-scrollbar{display:none}
.cw-bwrap.carousel .cw-brand{flex:0 0 calc(25% - 8px);scroll-snap-align:start}
.cw-bar{position:absolute;top:50%;transform:translateY(-50%);z-index:5;width:34px;height:34px;border-radius:50%;border:1px solid var(--line);background:#fff;box-shadow:0 3px 10px rgba(31,30,28,.14);font-size:17px;color:var(--ink);cursor:pointer;display:none;align-items:center;justify-content:center;font-family:inherit;padding:0}
.cw-bwrap.carousel .cw-bar{display:flex}
.cw-bar:hover{color:var(--red);border-color:var(--red)}
.cw-bar.prev{left:-10px}.cw-bar.next{right:-10px}
.cw-bgrid2 .cw-brand{padding:18px 14px 14px;gap:10px;border-radius:12px}
.cw-bgrid2 .cw-brand p{font-size:11px;line-height:1.8}
.cw-bgrid2 .cw-brand .lg,.cw-bgrid2 .cw-brand .lk{min-height:96px}
.cw-bgrid2 .cw-brand .lg img{max-height:92px}
.cw-bgrid2 .cw-brand .lg img[src*="logo-totonou"]{max-height:110px}
/* お悩み写真カード */
.cw-needs{background:#fff;border-top:1px solid var(--line);padding:44px 0 50px}
.cw-find .cols .cw-ngrid{grid-template-columns:repeat(3,1fr)}
.cw-find .bar2.v{flex-direction:column;align-items:stretch}
.cw-find .bar2.v .cw-search{max-width:none}
@media (max-width:900px){.cw-ngrid{grid-template-columns:repeat(2,1fr)}.cw-bgrid2{grid-template-columns:1fr 1fr}}
@media (max-width:900px){.cw-find .cols{grid-template-columns:1fr}.cw-conc{grid-template-columns:repeat(2,1fr)}}
.cw-btn,.cw-card,.cw-har,.cw-find .grp,.cw-cats a,.cw-need,.cw-brand,.cw-bgrid2 .cw-brand,.cw-news li a,.cw-news .tag,.cw-sh .bar,.cw-bar,.cw-story{border-radius:0}
/* d00 parity: design00のPDPに存在しない行(販売元/レビュー星/送料リンク注記)を非表示 */
.kk-maker, .c-product_info__review, .kk-shipnote { display: none !important; }
/* W-LIQ2 B: ネイティブ{{ sns }}出力(この商品をシェア)はkk-shareと重複するため非表示化(DOM温存) */
.c-product_info__share { display: none !important; }

/* d00 parity: heroを全幅化(d00はコンテナ外のfull-bleed。テーマの1200pxラッパーをhero含有時のみ解除) */
main.l-container > div:has(.cw-hero),main.l-container > #add_product_async_view:has(.cw-hero){max-width:none !important;width:100% !important;margin-inline:0 !important}
/* d00 parity: desktopヘッダー縦寸法整列(ロゴ行82px/nav行55px、d00実測値。TB=72px/SP=108は既存値維持) */
@media (min-width: 920px){


}

/* W-LIQ4 B: PDP下部の一覧戻り導線をdesign05正(.back実測)へ。罫線囲い・中央揃えのボタン風リンクに変更(旧: 左端の裸16pxリンク) */
.kk-pdp-back { display: block; width: max-content; margin: 34px auto 28px; font-family: var(--font-sans); font-size: 13.5px; font-weight: 700; letter-spacing: .14em; color: var(--t-ink); text-decoration: none; border: 1.5px solid var(--t-ink); border-radius: 6px; background: #fff; padding: 13px 48px; transition: border-color .2s, color .2s; }
.kk-pdp-back:hover { border-color: var(--t-shu); color: var(--t-shu); }

/* index下部の定期購入固定バー(d00 components.css 155-160 verbatim) */
.cw-stick{position:fixed;left:0;right:0;bottom:0;z-index:70;background:var(--red);color:#fff;box-shadow:0 -4px 14px rgba(0,0,0,.14)}
.cw-stick a{display:flex;align-items:center;justify-content:center;gap:8px;color:#fff;font-size:11.5px;font-weight:700;letter-spacing:.06em;padding:7px 44px}
.cw-stick a:hover{color:#fff;background:var(--red-d)}
.cw-stick a svg{width:12px;height:12px;stroke:#fff;stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round}
.cw-stick .x{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:28px;height:28px;border:none;background:none;color:#fff;font-size:18px;line-height:1;cursor:pointer;font-family:inherit;padding:0}
.cw-stick.hide{display:none}

/* ==== straight改修: バリエーション(#option_types)のテーマ統一スタイル。EC-Force products.jsが生成するBootstrap系markupを上書き ==== */
#option_types{margin:14px 0 2px;padding:0;border:none;background:transparent}
#option_types .option_type{display:flex;align-items:center;gap:12px;margin:0 0 10px;width:100%}
#option_types .option_type:last-child{margin-bottom:0}
#option_types .control-label{flex:none;width:auto;min-width:64px;padding:0;margin:0;font-family:var(--font-sans);font-size:13px;font-weight:700;color:var(--t-ink,#16191d);text-align:left}
#option_types .control-label::after{content:"必須";display:inline-block;margin-left:6px;font-size:10px;font-weight:700;color:#fff;background:var(--t-shu);border-radius:3px;padding:1px 6px;vertical-align:1px}
#option_types .option_type>div{flex:1;width:auto;padding:0;max-width:none;float:none}
#option_types select.input_option_type{appearance:none;-webkit-appearance:none;width:100%;height:44px;padding:0 40px 0 14px;border:1px solid var(--t-hairline);border-radius:0;background:#fff url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%2316191d' stroke-width='1.5'/%3E%3C/svg%3E") no-repeat right 14px center;font-family:var(--font-sans);font-size:14px;color:var(--t-ink,#16191d);box-shadow:none;line-height:normal}
#option_types select.input_option_type:focus{outline:none;border-color:var(--t-shu)}
#option_types select.input_option_type.kk-unselected{color:var(--t-ink-soft,#6b7076);border-color:var(--t-shu)}
@media (max-width:640px){
  #option_types .option_type{flex-direction:column;align-items:stretch;gap:6px}
  #option_types .control-label{min-width:0}
}
/* バリエーション未選択時: 0円価格を隠しヒントを出し、購入ボタンを非活性に見せる */
.kk-variant-wait #price-group{display:none}
.kk-price-hint{display:none;font-family:var(--font-sans);font-size:13px;color:var(--t-ink-soft,#6b7076);background:#FAFAF8;border:1px dashed var(--t-hairline);padding:10px 12px;margin:0 0 4px}
.kk-variant-wait .kk-price-hint{display:block}
.kk-variant-wait #btn-add{opacity:.4;pointer-events:none;cursor:not-allowed}
/* kk-buy-tabs wiring: button tab reset + single-tab layout */
.kk-buy-tabs--single{grid-template-columns:1fr}
button.kk-buy-tab{appearance:none;-webkit-appearance:none;cursor:pointer;text-align:left;width:100%;line-height:normal}
button.kk-buy-tab:hover{border-color:var(--t-shu)}

/* design05 TOP hero authority. The approved desktop hero is a 1200px canvas centered
   inside a neutral full-width band; mobile keeps the same aspect behavior naturally. */
#cwHero{background:#EEEEEE!important}
#cwHero .cw-slides{max-width:1200px!important;margin-left:auto!important;margin-right:auto!important}
#cwHero .cw-slide{aspect-ratio:2400/918!important;overflow:hidden!important}
#cwHero .cw-slide.s1,#cwHero .cw-slide.s2{background:none!important}
@media (max-width:900px){
  #cwHero .cw-slides{max-width:none!important}
  #cwHero .cw-slide{aspect-ratio:auto!important}
}

/* VQH-P27: remove duplicated outer spacing; design05 is authority */
[data-section-id="kk_official"],
:is([data-section-id="kk_ranking"],[data-section-id="kk_osusume"]) { padding-top:0 !important; padding-bottom:0 !important; }
[data-section-id="kk_official"] > .l-container__row,
:is([data-section-id="kk_ranking"],[data-section-id="kk_osusume"]) > .l-container__row { margin-top:0 !important; margin-bottom:0 !important; padding-top:0 !important; padding-bottom:0 !important; }
/* Theme reflection source: straight-preview Liquid design SSOT */
/* ========================================================================
   2026-08-19 PLP design05 canonical sync
   design05/products.html -> Liquid design SSOT -> theme environment
   ======================================================================== */
#product-index-view .c-product_item,
.p-product_list .c-product_item{
  height:100% !important;
  border:1px solid var(--line, var(--t-hairline)) !important;
  border-radius:8px !important;
  background:#fff !important;
  padding:16px !important;
  display:flex !important;
  flex-direction:column !important;
  box-sizing:border-box !important;
  transition:border-color .2s,box-shadow .2s !important;
}
#product-index-view .c-product_item:hover,
.p-product_list .c-product_item:hover{
  border-color:var(--red, var(--t-shu)) !important;
  box-shadow:0 8px 20px rgba(38,35,31,.07) !important;
}
#product-index-view .c-product_item__inner__eyecatch,
.p-product_list .c-product_item__inner__eyecatch{
  aspect-ratio:1/1 !important;
  height:auto !important;
  margin:0 0 10px !important;
  padding:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  overflow:hidden !important;
  background:#fff !important;
  border:0 !important;
  border-radius:0 !important;
}
#product-index-view .c-product_item__inner__eyecatch__img,
.p-product_list .c-product_item__inner__eyecatch__img{
  width:100% !important;height:100% !important;display:flex !important;
  align-items:center !important;justify-content:center !important;background:#fff !important;
}
#product-index-view .c-product_item__inner__eyecatch img,
.p-product_list .c-product_item__inner__eyecatch img{
  width:auto !important;height:auto !important;max-width:82% !important;max-height:88% !important;
  object-fit:contain !important;object-position:center !important;mix-blend-mode:multiply !important;
}
#product-index-view .c-product_item__inner__content,
.p-product_list .c-product_item__inner__content{
  display:flex !important;flex-direction:column !important;align-items:stretch !important;
  flex:1 1 auto !important;padding:0 !important;
}
#product-index-view .c-product_item__inner__category,
.p-product_list .c-product_item__inner__category{
  order:0 !important;width:max-content !important;white-space:nowrap !important;
  font-size:9.5px !important;font-weight:700 !important;letter-spacing:.14em !important;
  color:var(--gold, #8C6A22) !important;border:1px solid currentColor !important;
  border-radius:3px !important;padding:1px 8px !important;margin:0 0 8px !important;background:none !important;
}
#product-index-view .cw-title-row,
.p-product_list .cw-title-row{order:1 !important;display:flex !important;align-items:flex-start !important;gap:8px !important;}
#product-index-view .cw-title-row .c-product_item__inner__title,
.p-product_list .cw-title-row .c-product_item__inner__title{
  flex:1 1 auto !important;font-size:13.5px !important;font-weight:500 !important;
  letter-spacing:.03em !important;line-height:1.6 !important;margin:0 0 6px !important;color:var(--ink, var(--t-ink)) !important;
}
#product-index-view .cw-title-row .cw-fav,
.p-product_list .cw-title-row .cw-fav{
  position:relative !important;z-index:3 !important;width:26px !important;height:26px !important;flex:none !important;
  border:1px solid var(--line, var(--t-hairline)) !important;border-radius:50% !important;background:#fff !important;
  color:var(--red, var(--t-shu)) !important;box-shadow:none !important;cursor:pointer !important;
}
#product-index-view .c-product_item__inner__price.kk-price-hide,
.p-product_list .c-product_item__inner__price.kk-price-hide{display:none !important;}
#product-index-view .cw-prices,
.p-product_list .cw-prices{order:2 !important;margin:4px 0 10px !important;width:100% !important;}
#product-index-view .cw-prices p,
.p-product_list .cw-prices p{display:flex !important;align-items:center !important;justify-content:space-between !important;gap:8px !important;margin:0 0 4px !important;}
#product-index-view .cw-prices .lbl,
.p-product_list .cw-prices .lbl{font-size:10.5px !important;color:var(--mute,#8C8C88) !important;}
#product-index-view .cw-prices .v,
.p-product_list .cw-prices .v{font-size:18px !important;font-weight:700 !important;letter-spacing:.02em !important;color:var(--ink,var(--t-ink)) !important;}
#product-index-view .cw-prices .v small,
.p-product_list .cw-prices .v small{font-size:10.5px !important;color:var(--mute,#8C8C88) !important;font-weight:500 !important;}
#product-index-view .cw-prices .tk .lbl,
#product-index-view .cw-prices .tk .v,
.p-product_list .cw-prices .tk .lbl,
.p-product_list .cw-prices .tk .v{color:var(--red,var(--t-shu)) !important;}
#product-index-view .sub-off-badge,
.p-product_list .sub-off-badge{
  display:inline-flex !important;align-items:center !important;justify-content:center !important;
  background:var(--red,var(--t-shu)) !important;color:#fff !important;font-size:9px !important;font-weight:700 !important;
  line-height:1 !important;letter-spacing:.02em !important;padding:3px 6px !important;white-space:nowrap !important;
}
#product-index-view .cw-rbtns,
.p-product_list .cw-rbtns{order:3 !important;display:flex !important;gap:8px !important;width:100% !important;margin-top:auto !important;}
#product-index-view .cw-rbtns form,
.p-product_list .cw-rbtns form{flex:1 1 0 !important;margin:0 !important;position:relative !important;z-index:3 !important;}
#product-index-view .cw-rbtns button,
.p-product_list .cw-rbtns button{
  width:100% !important;min-height:38px !important;display:flex !important;align-items:center !important;justify-content:center !important;
  font-family:inherit !important;font-size:11.5px !important;font-weight:700 !important;border-radius:0 !important;padding:9px 4px !important;
  cursor:pointer !important;white-space:nowrap !important;
}
#product-index-view .cw-rbtns .buy,
.p-product_list .cw-rbtns .buy{background:var(--red,var(--t-shu)) !important;color:#fff !important;border:1.5px solid var(--red,var(--t-shu)) !important;}
#product-index-view .cw-rbtns .sub2,
.p-product_list .cw-rbtns .sub2{background:#fff !important;color:var(--red,var(--t-shu)) !important;border:1.5px solid var(--red,var(--t-shu)) !important;}
#product-index-view .c-product_item__actions,
.p-product_list .c-product_item__actions{display:none !important;}
#product-index-view .c-product_item__link,
.p-product_list .c-product_item__link{position:absolute !important;inset:0 !important;z-index:1 !important;}
@media(max-width:640px){
  #product-index-view .c-product_item,.p-product_list .c-product_item{padding:12px !important;}
  #product-index-view .cw-rbtns,.p-product_list .cw-rbtns{gap:6px !important;}
  #product-index-view .cw-rbtns button,.p-product_list .cw-rbtns button{font-size:10.5px !important;height:44px !important;padding:7px 2px !important;}
}



.cw-find{background:#F5F5F5}
#ecf_footer_section.cw-foot{background:#262626;color:#B9B5AD;padding-bottom:88px}
#ecf_footer_section .cw-contact{padding:36px 0;gap:80px}
#ecf_footer_section .cw-cr img{height:58px;margin-left:-7px}
#ecf_footer_section .cw-cr p{font-size:13px}
@media(max-width:640px){#ecf_footer_section.cw-foot{padding-bottom:76px}#ecf_footer_section .cw-contact{justify-content:flex-start;text-align:left;padding:28px 0;gap:26px}#ecf_footer_section .cw-links{grid-template-columns:1fr;gap:18px;padding-top:28px}#ecf_footer_section .cw-cr{align-items:flex-start;flex-direction:column;margin-top:20px;padding-bottom:32px}}




/* 2026-08-19 PLP regression fix: filter/count row + maker label isolation */
#product-index-view .t-plp2__filterbar{display:flex;align-items:center;justify-content:space-between;gap:16px;max-width:1200px;margin:0 auto 28px;padding:0 20px}
#product-index-view .t-plp2__filterbar .t-plp2__chips{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:0;padding:0}
#product-index-view .t-plp2__count{margin-left:auto;white-space:nowrap;font-family:var(--font-sans);font-size:12px;color:var(--t-ink-mute)}
#product-index-view .cw-product-brand{display:inline-flex;align-items:center;width:auto;min-height:0;margin:0 0 8px;padding:3px 9px;border:1px solid var(--t-hairline);border-radius:999px;background:transparent;color:var(--t-ink-mute);font-family:var(--font-sans);font-size:10.5px;line-height:1.35;text-decoration:none;letter-spacing:.04em}
#product-index-view .cw-product-brand:hover{border-color:var(--t-shu);color:var(--t-shu)}
@media(max-width:767px){#product-index-view .t-plp2__filterbar{align-items:flex-start;padding:0 16px;gap:10px}#product-index-view .t-plp2__count{padding-top:8px}}


/* 2026-08-19 authoritative breadcrumb cascade: legal/PLP/category share one visual rule */
.p-breadcrumbs.t-crumbs,.p-breadcrumbs{max-width:1200px;margin:0 auto!important;padding:16px 20px 14px!important;background:transparent!important;border:0!important}
.p-breadcrumbs .c-breadcrumbs,.t-crumbs__list.c-breadcrumbs{display:flex!important;align-items:center!important;flex-wrap:wrap!important;gap:0!important;margin:0!important;padding:0!important;list-style:none!important;border:0!important;font-family:var(--font-sans)!important;font-size:11px!important;line-height:1.6!important;letter-spacing:.05em!important;color:var(--t-ink-mute)!important}
.p-breadcrumbs .c-breadcrumbs__item{display:flex!important;align-items:center!important;gap:0!important;margin:0!important;padding:0!important;list-style:none!important}
.p-breadcrumbs .c-breadcrumbs__item:not(:last-child)::after{content:none!important}
.p-breadcrumbs .c-breadcrumbs__item + .c-breadcrumbs__item::before{content:'›'!important;display:inline-block!important;margin:0 9px!important;color:#CFCAC1!important;font-size:12px!important}
.p-breadcrumbs .c-breadcrumbs__item__inner{font-size:11px!important;line-height:1.6!important;color:var(--t-ink-mute)!important;text-decoration:none!important}
.p-breadcrumbs .c-breadcrumbs__item__inner.is-current{color:var(--t-ink)!important;font-weight:500!important}
.p-breadcrumbs .c-breadcrumbs__item__inner:hover{color:var(--t-shu)!important}
@media(max-width:767px){.p-breadcrumbs.t-crumbs,.p-breadcrumbs{padding:12px 16px 10px!important}}































@media(max-width:1023px){}
@media(max-width:919px){}
@media(max-width:430px){}

/* design05 parity: footer link typography */
#ecf_footer_section .cw-links a{font-family:"Noto Sans JP",sans-serif !important;font-size:13.5px !important;line-height:1.9 !important;letter-spacing:normal !important}

/* design05 parity: purchase-panel shipping note */
.kk-buy-panel .pl-ship-note{display:block;font-family:"Noto Sans JP",sans-serif;font-size:12px;font-weight:400;color:#26231F;line-height:1.7;border:1px solid #E3E0DA;border-radius:6px;background:#F7F6F2;padding:12px 16px;margin:14px 0 0}
.kk-buy-panel .pl-ship-note b{color:#C4222A;font-weight:700}

/* 2026-08-19 PLP interaction/spacing refactor */
#product-index-view .kk-plp-breadcrumbs{margin-bottom:8px!important}
#product-index-view .kk-product-tool-row{margin-top:18px!important}
#product-index-view .kk-product-grid-row{margin-top:24px!important}
#product-index-view .cw-product-image-link{display:block;position:relative;z-index:1;text-decoration:none;color:inherit}
#product-index-view .cw-product-title-link{color:inherit;text-decoration:none}
#product-index-view .cw-product-title-link:hover{color:var(--t-shu)}
#product-index-view .cw-rbtns{position:relative;z-index:3;pointer-events:auto}
#product-index-view .cw-rbtns form,#product-index-view .cw-rbtns button{position:relative;z-index:3;pointer-events:auto}
#product-index-view .c-product_item__link{display:none!important;pointer-events:none!important}

/* 2026-08-19 footer container alignment with header/design05 */
#ecf_footer_section.cw-foot>.wrap{max-width:1200px;margin:0 auto;padding-left:20px;padding-right:20px}
@media(max-width:640px){#ecf_footer_section.cw-foot>.wrap{padding-left:16px;padding-right:16px}}

/* 2026-08-19 single-SKU purchase state contract. ECforce may apply inline display:none during variant bootstrap; server-confirmed in-stock/unlimited single SKU remains purchasable. */
#add-shop-cart-form.kk-single-sku-purchasable #price-group{display:block!important}
#add-shop-cart-form.kk-single-sku-purchasable #quantity-group{display:flex!important}
#add-shop-cart-form.kk-single-sku-purchasable #pre_order_message{display:block!important}
#add-shop-cart-form.kk-single-sku-purchasable #btn-add{display:flex!important;opacity:1!important;pointer-events:auto!important}
#add-shop-cart-form.kk-single-sku-purchasable #btn-stock-waiting-list{display:none!important}

/* 2026-08-19 PDP quantity stepper geometry */
#product-show-view .c-order_quantity{box-sizing:border-box;display:grid!important;grid-template-columns:36px 102px 36px;align-items:stretch;width:174px;height:46px;border:1px solid var(--t-hairline,#E3E0DA)!important;overflow:hidden;background:#fff}
#product-show-view .c-order_quantity #btn-minus,#product-show-view .c-order_quantity #btn-plus{box-sizing:border-box;position:static!important;inset:auto!important;transform:none!important;display:flex!important;align-items:center!important;justify-content:center!important;width:36px!important;height:44px!important;margin:0!important;padding:0!important;border:0!important;background:#fff!important;color:var(--t-ink,#26231F)!important;font-size:18px!important;line-height:1!important;cursor:pointer}
#product-show-view .c-order_quantity__input{box-sizing:border-box;width:102px!important;height:44px!important;min-width:0!important;margin:0!important;padding:0 8px!important;border:0!important;border-left:1px solid var(--t-hairline,#E3E0DA)!important;border-right:1px solid var(--t-hairline,#E3E0DA)!important;background:#fff!important;text-align:center!important;font-size:14px!important;line-height:44px!important;appearance:textfield}
#product-show-view .c-order_quantity__input::-webkit-inner-spin-button,#product-show-view .c-order_quantity__input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
#product-show-view .c-order_quantity #btn-minus{grid-column:1}#product-show-view .c-order_quantity__input{grid-column:2}#product-show-view .c-order_quantity #btn-plus{grid-column:3}

/* KCC-20260819-011: TOP recommended favorite control geometry. */
:is(.cw-rbody,.cw-osusume-body)>.cw-fav-form{position:absolute;top:12px;right:12px;z-index:3;margin:0;padding:0}
:is(.cw-rbody,.cw-osusume-body)>.cw-fav-form .cw-fav{position:static!important;box-sizing:border-box;width:30px!important;height:30px!important;margin:0!important;padding:0!important;border:1px solid var(--line)!important;border-radius:50%!important;background:#fff!important;box-shadow:none!important;font-size:18px!important;line-height:1!important}
:is(.cw-rbody,.cw-osusume-body)>.cw-fav-form .cw-fav.is-on{font-size:16px!important;background:#fff!important}
:is(.cw-rbody,.cw-osusume-body)>.br{padding-right:40px!important}

/* 2026-08-21 unified product-card contract */
.c-product_item{position:relative!important}
.c-product_item>.c-product_item__link{display:none!important}
.c-product_item .c-product_item__form--favorite{position:absolute!important;top:12px!important;right:12px!important;z-index:8!important;margin:0!important}
.c-product_item .cw-fav{width:38px!important;height:38px!important;border-radius:50%!important;background:#fff!important;border:1px solid var(--t-hairline,#E3E0DA)!important;color:var(--t-shu,#E60012)!important;display:flex!important;align-items:center!important;justify-content:center!important;font-size:22px!important;line-height:1!important;padding:0!important}
.c-product_item .cw-product-image-link,.c-product_item .cw-product-title-link{color:inherit!important;text-decoration:none!important}
.c-product_item .cw-product-image-link{display:block!important}
.c-product_item .cw-prices{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;align-items:end!important;gap:8px!important;width:100%!important}
.c-product_item .cw-prices p{display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:flex-end!important;gap:3px!important;min-width:0!important;margin:0!important}
.c-product_item .cw-rbtns{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;width:100%!important}
.c-product_item .cw-rbtns form[hidden],.c-product_item .cw-prices [hidden]{display:none!important}
.c-product_item .cw-rbtns form:only-child{grid-column:1/-1}
@media(max-width:640px){
 .c-product_item .c-product_item__form--favorite{top:8px!important;right:8px!important}
 .c-product_item .cw-fav{width:34px!important;height:34px!important;font-size:20px!important}
 .c-product_item .cw-prices{grid-template-columns:1fr!important;gap:6px!important}
 .c-product_item .cw-prices .tk{align-items:flex-start!important;text-align:left!important}
 .c-product_item .cw-prices .lbl{font-size:9.5px!important;white-space:normal!important}
 .c-product_item .cw-prices .v{font-size:15px!important;white-space:nowrap!important}
 .c-product_item .cw-rbtns{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important}
 .c-product_item .cw-rbtns form{min-width:0!important}
 .c-product_item .cw-rbtns button{min-height:42px!important;padding:8px 4px!important;font-size:11.5px!important}
}
.c-product_item .cw-fav-form{position:absolute!important;top:12px!important;right:12px!important;z-index:8!important;margin:0!important}
@media(max-width:640px){.c-product_item .cw-fav-form{top:8px!important;right:8px!important}}

/* 2026-08-21 TOP recommended card: same contract as listing cards */
.cw-osusume-card{position:relative!important}
.cw-osusume-card>.cw-osusume-body{position:static!important}
.cw-osusume-card .cw-fav-form{position:absolute!important;top:12px!important;right:12px!important;z-index:8!important;margin:0!important}
.cw-osusume-card .cw-prices{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;align-items:end!important;gap:8px!important;width:100%!important}
.cw-osusume-card .cw-prices p{min-width:0!important;margin:0!important}
.cw-osusume-card .cw-rbtns{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;width:100%!important;margin-top:auto!important}
.cw-osusume-card .cw-rbtns form[hidden],.cw-osusume-card .cw-prices [hidden]{display:none!important}
.cw-osusume-card .cw-rbtns form:only-child{grid-column:1/-1}
@media(max-width:640px){
 .cw-osusume-card .cw-fav-form{top:8px!important;right:8px!important}
 .cw-osusume-card .cw-prices{grid-template-columns:minmax(0,1fr)!important;gap:6px!important}
 .cw-osusume-card .cw-prices p.tk{align-items:flex-start!important;text-align:left!important}
 .cw-osusume-card .cw-prices .lbl{font-size:9.5px!important;white-space:normal!important}
 .cw-osusume-card .cw-prices .v{font-size:15px!important;white-space:nowrap!important}
 .cw-osusume-card .cw-rbtns{gap:6px!important}
 .cw-osusume-card .cw-rbtns button{min-height:42px!important;padding:8px 4px!important;font-size:11.5px!important}
}

/* 2026-08-21 dynamic catalog cards: match TOP/listing card contract */
.kk-selection-product{position:relative!important;height:100%!important}
.kk-selection-product>.cw-fav-form{position:absolute!important;top:12px!important;right:12px!important;z-index:8!important;margin:0!important}
.kk-selection-product>.cw-fav-form .cw-fav{box-sizing:border-box;width:34px!important;height:34px!important;margin:0!important;padding:0!important;border:1px solid var(--line,#e3e0da)!important;border-radius:50%!important;background:#fff!important;color:var(--red,var(--t-shu,#e60012))!important;font-size:20px!important;line-height:1!important;display:flex!important;align-items:center!important;justify-content:center!important}
.kk-selection-product__image{display:flex!important;text-decoration:none!important}
.kk-selection-product__body h3 a{color:inherit!important;text-decoration:none!important}
.kk-selection-product .cw-prices{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;align-items:end!important;gap:8px!important;width:100%!important}
.kk-selection-product .cw-rbtns{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;width:100%!important;margin-top:auto!important}
.kk-selection-product .cw-rbtns form:only-child{grid-column:1/-1}
@media(max-width:640px){.kk-selection-product>.cw-fav-form{top:8px!important;right:8px!important}.kk-selection-product .cw-prices{grid-template-columns:minmax(0,1fr)!important;gap:6px!important}.kk-selection-product .cw-rbtns{gap:6px!important}.kk-selection-product .cw-prices .v{font-size:15px!important;white-space:nowrap!important}}


/* 2026-08-21: category panel / category-detail product image rules */
/* トップ: 登録カテゴリはLiquid側でID昇順。件数上限に依存せず折り返す。 */
#index-view .p-category_panel__content{
  grid-template-columns:repeat(5,minmax(0,1fr)) !important;
}
#index-view .p-category_panel__block--all{min-width:0 !important;}

/* カテゴリ詳細: 商品写真はトリミングせず全体を見せ、画像枠の高さを少し圧縮する。 */
#product-index-view .c-product_item__inner__eyecatch{
  aspect-ratio:4 / 3 !important;
  overflow:hidden !important;
}
#product-index-view .c-product_item__inner__eyecatch__img{
  background-size:contain !important;
  background-position:center !important;
  background-repeat:no-repeat !important;
}
#product-index-view .c-product_item__inner__eyecatch img{
  width:auto !important;
  height:auto !important;
  max-width:78% !important;
  max-height:88% !important;
  object-fit:contain !important;
  object-position:center !important;
}
@media (max-width:767px){
  #index-view .p-category_panel__content{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
  #product-index-view .c-product_item__inner__eyecatch{aspect-ratio:1 / 1 !important;}
}
/* 2026-08-21 PLP image centering: favorite overlay must not affect product image geometry. */
#product-index-view .c-product_item__inner__eyecatch>.cw-product-image-link{
  box-sizing:border-box !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:100% !important;
  height:100% !important;
  min-width:0 !important;
  margin:0 auto !important;
}
#product-index-view .c-product_item__inner__eyecatch>.cw-product-image-link>.c-product_item__inner__eyecatch__img{
  box-sizing:border-box !important;
  width:100% !important;
  height:100% !important;
  margin:0 auto !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}
#product-index-view .c-product_item__inner__eyecatch>.cw-product-image-link img{
  display:block !important;
  margin:auto !important;
}

/* 2026-08-21 category hero grid: square artwork, shorter header, PLP-aligned left edge. */
#product-index-view .kk-category-hero-row{
  box-sizing:border-box !important;
  padding-left:0 !important;
  padding-right:0 !important;
}
#product-index-view .t-cathead{
  box-sizing:border-box !important;
  width:100% !important;
  max-width:1200px !important;
  margin:20px auto 0 !important;
}
#product-index-view .t-cathead.has-image{
  grid-template-columns:200px minmax(0,1fr) !important;
  min-height:200px !important;
}
#product-index-view .t-cathead__img{
  box-sizing:border-box !important;
  width:200px !important;
  height:200px !important;
  min-height:0 !important;
  aspect-ratio:1 / 1 !important;
  align-self:start !important;
  background-size:cover !important;
  background-position:center top !important;
  background-repeat:no-repeat !important;
}
#product-index-view .t-cathead__body{
  min-height:200px !important;
  padding:26px 32px !important;
}
@media(max-width:719px){
  #product-index-view .kk-category-hero-row{
    padding-left:0 !important;
    padding-right:0 !important;
  }
  #product-index-view .t-cathead,
  #product-index-view .t-cathead.has-image{
    grid-template-columns:1fr !important;
    margin:16px 16px 0 !important;
    width:auto !important;
  }
  #product-index-view .t-cathead__img{
    width:100% !important;
    height:auto !important;
    aspect-ratio:16 / 9 !important;
    background-position:center 18% !important;
  }
  #product-index-view .t-cathead__body{
    min-height:0 !important;
    padding:20px 20px !important;
  }
}

/* 2026-08-21 TOP recommended price stack: label row + price row. */
.cw-osusume-card .cw-prices p{
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  justify-content:flex-end !important;
  gap:3px !important;
  line-height:1.35 !important;
}
.cw-osusume-card .cw-prices p.tk{
  align-items:flex-end !important;
  text-align:right !important;
}
.cw-osusume-card .cw-prices .lbl,
.cw-osusume-card .cw-prices .v{
  display:block !important;
  width:100% !important;
}

/* KKTOP-20260823-FINDER-IMAGES: category thumbnails are EC FORCE-managed; concern cards use approved photos at identical geometry. */
.cw-find .cw-cats a .im img[data-kokando-category-thumb]{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  mix-blend-mode:normal!important;
}
.cw-find .cw-cats > a,
.cw-find .cw-worry > a{
  min-height:80px!important;
  height:80px!important;
  box-sizing:border-box!important;
}
.cw-find .cw-worry a .cw-worry__thumb{
  display:block!important;
  width:60px!important;
  height:60px!important;
  min-width:60px!important;
  flex:0 0 60px!important;
  object-fit:cover!important;
  object-position:center!important;
  border-radius:8px!important;
}

/* SP finder: reserve room for the five-character label in each 80px card. */
@media (max-width:640px){
  #find .cw-cats{grid-template-columns:repeat(2,minmax(0,1fr));}
  #find .cw-cats > a{
    min-width:0;
    flex-direction:row;
    flex-wrap:nowrap;
    padding:10px 6px;
    gap:4px;
  }
  #find .cw-cats > a .im{
    width:28px;
    height:28px;
    flex:0 0 28px;
  }
  #find .cw-cats > a b{
    font-size:12px;
    line-height:1.5;
    letter-spacing:0;
    writing-mode:horizontal-tb;
    white-space:nowrap;
    flex:none;
  }
}
/* KKTOP-20260823-HERO-LINK: image-only managed slides use the whole visual as the CTA. */
.p-kv_slider .kk-kv-slide-link{display:block;color:inherit;text-decoration:none;cursor:pointer;}

/* KK-FOOTER-20260824-OFFICIAL-LINK-CONTRAST: readable shared footer external-company link. */
#ecf_footer_section .cw-contact .co a{
  color:#B9B5AD!important;
}
#ecf_footer_section .cw-contact .co a:hover,
#ecf_footer_section .cw-contact .co a:focus-visible{
  color:#FFFFFF!important;
}


/* KCC-G182-R81 urgent UI fixes */
/* Hero arrows: white circular control stays, glyph is visible gray on white. */
[data-section-id="kk_hero"] .p-kv_slider__nav__arrow i,
[data-section-id="kk_hero"] .p-kv_slider__nav__arrow i::before{
  color:#666 !important;
}

/* PDP SP: keep quantity + favorite on one row by reducing only the quantity control footprint. */
@media (max-width:640px){
  .kk-buy-panel #quantity-group{
    flex:0 1 150px !important;
    max-width:150px !important;
    min-width:0 !important;
  }
  .kk-buy-panel #quantity-group .c-product_info__form__quantity__label{
    padding-right:6px !important;
    flex:0 0 auto !important;
  }
  .kk-buy-panel #quantity-group .c-product_info__form__quantity__wrap{
    flex:0 0 116px !important;
    width:116px !important;
    min-width:116px !important;
  }
  .kk-buy-panel #quantity-group .c-order_quantity{
    width:116px !important;
    max-width:116px !important;
    grid-template-columns:34px 48px 34px !important;
  }
  .kk-buy-panel #quantity-group .c-order_quantity__input{
    width:48px !important;
    min-width:48px !important;
    padding:0 4px !important;
  }
  .kk-buy-panel #quantity-group #btn-minus,
  .kk-buy-panel #quantity-group #btn-plus{
    width:34px !important;
  }
  .kk-buy-panel .c-product_info__favorite{
    flex:0 0 54px !important;
  }
}
