
.l-header__memberlinks,
.l-header__topicons { display: none; }
@media (min-width: 768px) {
  .l-header__memberlinks { display: flex !important; }
  .l-header__topicons { display: flex !important; }
  .l-header__icons { display: none !important; }
  .l-catnav { display: none; }
}

.wl-eccube-blocks--header,
.wl-eccube-blocks--footer { display: none; }

/* --- 商品一覧サイドバー: チェック項目を <a>（サンプル）でなく <label>+checkbox で実装したための補正 --- */
label.l-filter__check { cursor: pointer; }
.l-filter__check input[type="checkbox"][hidden] { display: none; }
/* 子カテゴリ（3階層目以降）は2文字分インデント表示 */
.l-filter__check--sub { padding-left: 2em; }

.l-filter__swatch { flex: 0 0 auto; background: #ddd; } /* 未定義の色名はグレー玉でフォールバック */
.l-filter__swatch[data-color="ホワイト"] { background: #fff; }
.l-filter__swatch[data-color="ブラック"] { background: #1a1a1a; }
.l-filter__swatch[data-color="グレー"] { background: #8e8e8e; }
.l-filter__swatch[data-color="シルバー"] { background: linear-gradient(135deg, #e8e8e8, #9e9e9e); }
.l-filter__swatch[data-color="ブラウン"] { background: #7b4b2a; }
.l-filter__swatch[data-color="ベージュ"] { background: #d6b98c; }
.l-filter__swatch[data-color="グリーン"] { background: #23964f; }
.l-filter__swatch[data-color="ブルー"] { background: #2172b8; }
.l-filter__swatch[data-color="ネイビー"] { background: #223a70; }
.l-filter__swatch[data-color="パープル"] { background: #7d4f9e; }
.l-filter__swatch[data-color="イエロー"] { background: #e6b422; }
.l-filter__swatch[data-color="ピンク"] { background: #e2618d; }
.l-filter__swatch[data-color="レッド"] { background: #c22f42; }
.l-filter__swatch[data-color="オレンジ"] { background: #e17b34; }
.l-filter__swatch[data-color="ボルドー"] { background: #7d2b3a; }
.l-filter__swatch[data-color="ゴールド"] { background: linear-gradient(135deg, #e3c565, #b8892b); } /* 将来の追加に備え */
.l-filter__swatch[data-color="柄・その他"] { background: conic-gradient(#c22f42, #e17b34, #e6b422, #23964f, #2172b8, #7d4f9e, #c22f42); }
.wl-searchmodal .ec-checkbox-item .l-filter__swatch {
  display: inline-block; width: 16px; height: 16px;
  vertical-align: -3px; margin-right: 6px;
}


/* 見出し直後のスライダー section: 上 padding を除去（見出しと連続させる。下 padding は section 既定のまま） */
.p-top .wl-main--full > .sec-title + .wl-slider { padding-top: 0; }

/* ブロック外に出た見出し自体に旧 section の上余白を持たせる（sec-title 自身の padding には触れない） */
.p-top .wl-main--full > .sec-title { margin-top: 48px; }
@media (min-width: 768px) {
  .p-top .wl-main--full > .sec-title { margin-top: 96px; }
  /* ヒーローバナー直下（NEW ARRIVAL / RESTOCK）は旧 .wl-newarrival と同じ 56px */
  .p-top .wl-main--full > .wl-hero-banner--fixed + .sec-title { margin-top: 56px; }
}

@media (max-width: 767px) {
  .p-top .wl-main--full > .wl-hero-banner--fixed + .sec-title { display: none; }
  /* 見出し非表示時のバナー→スライダー間は旧 .wl-newarrival の padding-top: 8px を踏襲 */
  .p-top .wl-main--full > .wl-hero-banner--fixed + .sec-title + .wl-slider { padding-top: 8px; }
}

.wl-outlet .wl-slider { padding-block: 0; }

.wl-outlet__heading { padding-bottom: 14px; }
@media (min-width: 768px) {
  .wl-outlet__heading { padding-bottom: 24px; }
}

/* --- 商品詳細: レビュー（ProductReview42 オーバーライドの体裁。機能は従来のまま） --- */
#product_review_area { margin-top: 48px; padding: 0 14px; }
#product_review_area .ec-rectHeading { cursor: pointer; margin: 0; border-top: 1px solid #e5e5e5; border-bottom: 1px solid #e5e5e5; }
#product_review_area .wl-review__head { display: flex; align-items: baseline; gap: 10px; margin: 0; padding: 14px 20px; }
#product_review_area .wl-review__en { font-family: var(--wl-font-en); font-size: 18px; font-weight: 400; letter-spacing: .06em; color: #222; }
#product_review_area .wl-review__ja { font-size: 11px; font-weight: 400; color: #555; }
#product_review_area .recommend_average { color: #c9a227; font-size: 13px; letter-spacing: 2px; }
#product_review_area .wl-review__count { font-size: 12px; font-weight: 400; color: #888; }
#product_review_area .chevron { margin-left: auto; color: #888; transition: transform .2s; }
#product_review_area .ec-rectHeading.is_active .chevron { transform: rotate(180deg); }
#product_review_area .review_list { list-style: none; margin: 0; padding: 0; }
#product_review_area .review_list li { margin: 0; padding: 18px 20px; border-bottom: 1px solid #eee; }
#product_review_area .review_meta { display: flex; flex-wrap: wrap; align-items: baseline; gap: 10px; margin: 0; font-size: 11px; color: #888; }
#product_review_area .recommend_level { color: #c9a227; font-size: 13px; letter-spacing: 2px; }
#product_review_area .recommend_name a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
#product_review_area .review_title { display: block; margin-top: 8px; font-size: 13px; font-weight: 700; color: #222; }
#product_review_area .review_comment { margin: 4px 0 0; font-size: 12px; line-height: 1.7; color: #444; }
#product_review_area .no_review { padding: 18px 20px; font-size: 12px; color: #888; }
/* 投稿ボタン: VIEW ALL 等と同じアウトラインボタンに */
#product_review_area .wl-review__post { text-align: center; margin: 24px 0 8px; }
#product_review_area .wl-review__post .ec-inlineBtn--action {
  display: inline-block; min-width: 220px; padding: 14px 32px;
  background: #fff; border: 1px solid #222; border-radius: 0;
  color: #222; font-size: 12px; letter-spacing: .1em; text-decoration: none;
}
#product_review_area .wl-review__post .ec-inlineBtn--action:hover { background: #222; color: #fff; }
@media (min-width: 768px) {
  #product_review_area { margin-top: 64px; padding: 0; }
}

.wl-fullbleed .wl-slider,
.wl-slider.wl-fullbleed { padding-block: 48px; }
@media (min-width: 768px) {
  .wl-fullbleed .wl-slider,
  .wl-slider.wl-fullbleed { padding-block: 96px; }
}

.wl-na__ctrl { display: flex; align-items: center; justify-content: center; gap: 18px; margin-top: 24px; }
.wl-na__cnav {
  display: flex; align-items: center; justify-content: center;
  width: 44px; height: 44px; padding: 0; border: 0; border-radius: 50%; background: #fff;
  box-shadow: 0 1px 6px rgba(0,0,0,.14); color: #222; font-size: 16px; line-height: 1; cursor: pointer;
  transition: background .2s, color .2s;
}
.wl-na__cnav:hover { background: #222; color: #fff; }
.wl-na__cnav.swiper-button-disabled { opacity: .3; pointer-events: none; }
.wl-na__cnav.swiper-button-lock { display: none; }
.wl-na__ctrl:has(.swiper-pagination-lock) { display: none; }
.wl-na__pg.swiper-pagination-fraction {
  position: static; display: block; width: auto; min-width: 4em; margin: 0; text-align: center;
  font-family: var(--wl-font-en); font-size: 13px; letter-spacing: .12em; color: #222; font-variant-numeric: tabular-nums;
}
.wl-na__pg.swiper-pagination-fraction .swiper-pagination-total { color: #999; }
.wl-na__ctrl + .wl-na__viewall { margin-top: 24px; }
@media (min-width: 768px) {
  .wl-na__ctrl + .wl-na__viewall { margin-top: 32px; }
}

@media (min-width: 768px) {
  .form-row > p,
  .form-row > div:not(.form-row__label) { grid-column: 2; }
}

.wl-addrCard__top { background: #f3f3f3; }
.wl-addrCard__top::before { content: none; }
.wl-addrCard__name { color: #222; }
.wl-addrList { margin-top: 24px; }

.ec-productRole .product-detail-coupon-block { border-bottom: 0; padding: 4px 0 8px; }
.ec-productRole .product-detail-coupon-block .ec-heading-bold { font-size: 13px; font-weight: 700; letter-spacing: .04em; margin: 0 0 10px; }
.ec-productRole .product-detail-coupon-wrap { gap: 10px; align-items: stretch; }
.ec-productRole .product-detail-coupon-scroll { padding-bottom: 0; }
.ec-productRole .product-detail-coupon-box {
  background: #fff; border: 1px solid #e3e3e6; border-radius: 0; color: #1c1d22;
  min-width: 212px; padding: 0;
  display: flex; flex-direction: column;
  position: relative; overflow: hidden;
}
.ec-productRole .product-detail-coupon-box:nth-of-type(n + 2) { margin-left: 0; }
.ec-productRole .product-detail-coupon-box::before { content: none; }
.ec-productRole .product-detail-coupon-link {
  color: inherit; text-decoration: none;
  display: flex; flex-direction: column; height: 100%;
}
.ec-productRole .product-detail-coupon-box .coupon-name {
  background: #f6f6f7; color: #55565e;
  font-size: 13px; font-weight: 400; line-height: 1.6;
  text-align: left; white-space: normal; overflow: visible; text-overflow: clip;
  margin: 0; padding: 14px 14px 0;
}
.ec-productRole .product-detail-coupon-box .coupon-price {
  background: #f6f6f7; border-bottom: 1px solid #e3e3e6; color: #1c1d22;
  display: flex; align-items: baseline; flex-wrap: wrap;
  text-align: left; line-height: 1.2; margin: 0; padding: 5px 14px 13px;
}
.ec-productRole .product-detail-coupon-box .coupon-price .price-left { font-size: 27px; font-weight: 700; }
.ec-productRole .product-detail-coupon-box .coupon-price .price-middle { font-size: 14px; font-weight: 700; color: #1c1d22; }
.ec-productRole .product-detail-coupon-box .coupon-price .price-right {
  font-size: 15px; font-weight: 700; letter-spacing: .04em;
  margin-left: 6px; color: #4a3fa0;
}
.ec-productRole .product-detail-coupon__sub {
  background: #fff; border: 0; border-radius: 0;
  margin: 0; padding: 0 14px 5px; flex: 1 0 auto;
}
.ec-productRole .product-detail-coupon__sub dl {
  display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 4px 10px;
  border-bottom: 1px solid #eeeef0; margin: 0; padding: 10px 0;
  color: inherit; font-size: 12px; line-height: 1.6;
}
.ec-productRole .product-detail-coupon__sub dl:last-child { border-bottom: 0; }
.ec-productRole .product-detail-coupon__sub dl dt { flex: 0 0 auto; min-width: 0; color: #55565e; font-weight: 400; }
.ec-productRole .product-detail-coupon__sub dl dd { flex: 1 1 auto; margin: 0; text-align: right; }
.ec-productRole .product-detail-coupon__sub dl:not(:has(dd)) dt { color: #7c7d85; }
.ec-productRole .product-detail-coupon__sub .coupon-chip { padding: 3px 8px; font-size: 10px; }
.ec-productRole .coupon-box-another-tab .coupon-name { padding-right: 32px; }
.ec-productRole .coupon-box-another-tab .coupon-name::before {
  content: "\f08e"; font-family: "Font Awesome 6 Free"; font-weight: 900;
  background: none; width: auto; height: auto;
  font-size: 11px; color: #8a8b93;
  right: 14px; top: 18px; transform: none;
}
.ec-productRole .precautionary-text { font-size: 12px; color: #7c7d85; }

/* 商品詳細ギャラリー: サムネのアクティブ枠は黒（customize.css は主色=赤。ユーザー指定 2026-07-23） */
.detail-slide-nav-item.selected { border-color: var(--woollen-text); }

/* サムネ: 1カラム（〜991px）は1行横並び＋横スクロール、2カラム（992px〜）は折り返し（ユーザー指定 2026-09-02） */
.ec-productRole .detail-slide-nav { flex-wrap: nowrap; overflow-x: auto; overflow-y: hidden; -webkit-overflow-scrolling: touch; }
.ec-productRole .detail-slide-nav-item { flex: 0 0 calc(20% - 5px); }
@media (min-width: 992px) {
  .ec-productRole .detail-slide-nav { flex-wrap: wrap; overflow: visible; }
  .ec-productRole .detail-slide-nav-item { flex: 0 1 auto; }
}

.ec-productRole .ec-productRole__profile { display: flex; flex-direction: column; }
.ec-productRole .pd-summary { display: contents; }

/* 表示順（order）: 10s ヘッダ / 20s 価格 / 30s 選ぶ / 40 お気に入り / 50s 特典・お届け / 60s 詳しく */
.ec-productRole .breadcrumb                   { order: 10; }
.ec-productRole .pd-summary__badges           { order: 11; }
.ec-productRole ul.ec-productRole__tags       { order: 12; }
.ec-productRole .pd-summary__brand            { order: 13; }
.ec-productRole .pd-summary__name             { order: 14; }
.ec-productRole .ec-productRole__priceRegular { order: 20; }  /* 通常価格(取消)＋値引き前(PinpointSaleDx) */
.ec-productRole .ec-productRole__price        { order: 21; }  /* 販売価格＋OFF% */
.ec-productRole #ec-productRole__pinpoint_sale { order: 19; }
.pd-summary > #ec-productRole__pinpoint_sale .ec-productRole__pinpoint_sale_default {
  margin-top: 14px; font-size: 14px; color: var(--woollen-sub);
}
.ec-productRole .variation-list               { order: 30; }  /* カラー/サイズ サムネ(ProductVariation42) */
.ec-productRole #form1                        { order: 31; margin-top: 8px; }  /* SKUカード(KikakuLayout)＋数量＋カート */
.ec-productRole form:has(#favorite)           { order: 40; margin-top: 4px; }  /* お気に入り */
.ec-productRole .product-detail-coupon-block             { order: 50; }
.ec-productRole #AreaDelivery-product_area               { order: 51; }
.ec-productRole .delivery_duration_edit42__duration_name { order: 52; }  /* 発送目安 */
.ec-productRole .pd-summary__points           { order: 53; }
.ec-productRole .pd-tabs                      { order: 60; margin-top: 24px; }
.ec-productRole .pd-detail                    { order: 61; }  /* アイテム説明/サイズ の2パネル */
.ec-productRole .pd-tags                      { order: 62; }
.ec-productRole .pd-return-link               { order: 63; }  /* 返品特約リンク（pd-shareと同order・DOM順で先行表示） */
.ec-productRole .pd-share                     { order: 63; }

.ec-productRole .product-detail-coupon-block,
.ec-productRole .delivery_duration_edit42__duration_name,
.ec-productRole .pd-summary__points           { margin-top: 16px; }  /* 特典・お届けの各ブロック */

.ec-productRole ul.ec-productRole__tags { display: none; }

.ec-productRole .ec-sliderItemRole,
.ec-productRole .breadcrumb,
.ec-productRole .pd-summary__badges,
.ec-productRole ul.ec-productRole__tags,
.ec-productRole .pd-summary__brand,
.ec-productRole .pd-summary__name,
.ec-productRole .ec-productRole__priceRegular,
.ec-productRole .ec-productRole__price,
.ec-productRole .pd-summary__points,
.ec-productRole .product-detail-coupon-block,
.ec-productRole #AreaDelivery-product_area,
.ec-productRole .pd-detail,
.ec-productRole .pd-tags,
.ec-productRole .pd-share,
#product_review_area > .ec-role { padding-left: 0; padding-right: 0; }

/* 通常価格(取消)の上部padding（core 14px）は全幅で解除（SP/PC 共通・ユーザー指定） */
.ec-productRole .ec-productRole__priceRegular { padding-top: 0; }

/* 販売価格: core が ≥768px で付ける 下線(border-bottom:1px dotted) と 上部padding(14px) を解除（ユーザー指定） */
.ec-productRole .ec-productRole__price { border-bottom: 0; padding-top: 0; }

.ec-productRole .breadcrumb {
  text-align: left; white-space: nowrap; overflow-x: auto; overflow-y: hidden; min-width: 0;
  max-width: none; margin-left: 0; margin-right: 0;
  flex-wrap: nowrap; scrollbar-width: none;
}
.ec-productRole .breadcrumb > * { flex: 0 0 auto; }
.ec-productRole .breadcrumb::-webkit-scrollbar { display: none; }
/* パンくずの現在ページ（商品名）: リンクではないので淡色で表示 */
.ec-productRole .breadcrumb__current { color: #888; overflow-wrap: anywhere; }
/* SP はパンくず下の余白を詰める（2026-09-02指示） */
.ec-productRole .pd-summary .breadcrumb { display: none; padding: 0; }
.ec-productRole .wl-pd-crumb-sp .breadcrumb { padding: 10px 0; background: transparent; }
/* PC は折り返して全カテゴリを表示（2026-09-02指示。SP は1行横スクロールのまま） */
@media (min-width: 768px) {
  .ec-productRole .breadcrumb {
    white-space: normal; overflow: visible;
    flex-wrap: wrap; row-gap: 4px;
  }
  /* SP 用の flex:0 0 auto を解除しないと各段が max-content 幅のまま折り返さず、右カラムをはみ出す */
  .ec-productRole .breadcrumb > * { flex: 0 1 auto; min-width: 0; }
  .ec-productRole .pd-summary .breadcrumb { display: flex; margin-bottom: 16px; }
  .ec-productRole .wl-pd-crumb-sp { display: none; }
}

.ec-productRole .pd-summary__name { padding-bottom: 7px; }

@media (min-width: 992px) {
  .ec-productRole .ec-grid2 { column-gap: 30px; }
  .ec-productRole .ec-grid2 .ec-grid2__cell { width: calc(50% - 15px); }
  .ec-productRole .ec-productRole__profile { margin-left: 0; }
}

.ec-favoriteRole.is-favLoading { display: none; }

.ec-favoriteRole .ec-favoriteRole__itemClass { margin: 3px 0 0; font-size: 11px; color: #777; }

.ec-favoriteRole .ec-favoriteRole__item > a { flex: 1 0 auto; }

.ec-favoriteRole .ec-favoriteRole__notify {
  display: flex; flex-direction: column;
  margin-top: 8px; padding-top: 4px; border-top: 1px solid #eee;
}
.ec-favoriteRole .wl-toggle {
  display: flex; align-items: center; justify-content: space-between;
  gap: 12px; padding: 6px 0; font-size: 11.5px; color: #555; cursor: pointer;
}
.ec-favoriteRole .wl-toggle + .wl-toggle { border-top: 1px dashed #eee; }
.ec-favoriteRole .wl-toggle input { position: absolute; opacity: 0; pointer-events: none; }
.ec-favoriteRole .wl-toggle__track {
  width: 36px; height: 20px; border-radius: 999px; background: #d3d0cc;
  position: relative; flex: 0 0 auto; transition: background .18s;
}
.ec-favoriteRole .wl-toggle__track::after {
  content: ""; position: absolute; top: 2px; left: 2px; width: 16px; height: 16px;
  border-radius: 50%; background: #fff; box-shadow: 0 1px 2px rgba(0,0,0,.28); transition: transform .18s;
}
.ec-favoriteRole .wl-toggle input:checked + .wl-toggle__track { background: #222; }
.ec-favoriteRole .wl-toggle input:checked + .wl-toggle__track::after { transform: translateX(16px); }
.ec-favoriteRole .wl-toggle input:focus-visible + .wl-toggle__track { outline: 2px solid #2469ff; outline-offset: 2px; }

.wl-footer__contactLead { color: #cfcfcf; font-size: 12px; line-height: 1.6; margin: 4px 0 14px; }

.wl-footer__mailmagIcon { color: #333; }


/* --- 初めての方へ（ご利用ガイド）: 目次＋各ブロック --- */
.guide-section { max-width: 880px; margin: 0 auto; padding: 24px 14px; }
.guide-toc { display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 10px; padding: 14px; background: #f8f8f8; margin-bottom: 24px; }
.guide-toc a { display: flex; align-items: center; padding: 10px 14px; background: #fff; border: 1px solid #ddd; font-size: 14px; color: #333; transition: background .2s, color .2s, border-color .2s; }
.guide-toc a::before { content: "▶"; color: #222; margin-right: 8px; font-size: 10px; transition: color .2s; }
.guide-toc a:hover { background: #222; color: #fff; border-color: #222; }
.guide-toc a:hover::before { color: #fff; }
.guide-block { padding: 22px 0; border-bottom: 1px solid #eee; scroll-margin-top: 90px; }
.guide-block h2 { font-size: 19px; font-weight: 700; color: #222; background: #f3f3f3; padding: 16px 20px; margin: 0 0 16px; line-height: 1.55; }
.guide-block h3 { font-size: 16px; font-weight: 700; color: #222; padding: 8px 0 8px 12px; border-left: 4px solid #222; margin: 18px 0 10px; }
.guide-block p { font-size: 15px; line-height: 1.95; color: #444; margin-bottom: 8px; }
.guide-block ul { list-style: disc; padding-left: 1.4em; font-size: 15px; line-height: 1.95; margin: 8px 0; color: #444; }
.guide-block li { padding: 2px 0; }
.guide-block .btn { margin-top: 14px; }

/* --- 会社概要: info-table --- */
.about-section { max-width: 880px; margin: 0 auto; padding: 24px 14px; }
/* セクションの区切りは黒帯の h2 が担うため、薄い罫線は引かない（各セクションの中身が自前で線を閉じる） */
.about-block { padding: 30px 0; }
.about-block h2 { font-size: 19px; font-weight: 700; color: #222; background: #f3f3f3; text-align: center; padding: 16px 20px; margin: 0 0 18px; line-height: 1.55; }
.about-block p { font-size: 15px; line-height: 2; color: #444; }
.about-intro { max-width: 720px; margin: 0 auto; text-align: left; }
.about-intro p { margin: 0 0 1.5em; }
.about-intro p:last-child { margin-bottom: 0; }
.about-intro__lead { font-size: 17px; font-weight: 700; color: #222; letter-spacing: .03em; }
.about-intro strong { font-weight: 700; color: #222; }
.about-intro em { font-style: normal; font-weight: 700; color: #222; }
.about-intro__message { padding: 4px 0 4px 16px; border-left: 3px solid #222; color: #222; }
.info-table { width: fit-content; max-width: 760px; margin: 0 auto; border-collapse: collapse; font-size: 15px; }
.info-table th { background: #f5f5f5; padding: 14px 16px; text-align: left; width: 140px; vertical-align: top; font-weight: 700; border-bottom: 1px solid #ddd; }
.info-table td { padding: 14px 16px; border-bottom: 1px solid #eee; color: #444; }

.about-history { margin: 0; }
.about-history__row { padding: 12px 2px; border-bottom: 1px solid #eee; }
.about-history__date { margin: 0 0 4px; font-size: 14px; font-weight: 700; color: #222; }
.about-history__body { margin: 0; font-size: 15px; line-height: 1.9; color: #444; }
/* 同じ年月に複数の出来事がある場合のみ ul になる。行頭の短い罫線で箇条書きを示す */
.about-history__list { margin: 0; padding: 0; list-style: none; }
.about-history__list li { position: relative; padding-left: 13px; }
.about-history__list li + li { margin-top: 4px; }
.about-history__list li::before {
  content: ""; position: absolute; left: 0; top: .9em; width: 6px; height: 1px; background: #bbb;
}
@media (min-width: 768px) {
  .about-history__row { display: flex; gap: 16px; padding: 14px 2px; }
  .about-history__date { flex: 0 0 140px; margin: 0; padding-right: 8px; }
  .about-history__body { flex: 1 1 auto; }
}

.wl-aboutB { max-width: 760px; margin: 0 auto; text-align: center; }
.wl-aboutB .wl-aboutB__since { margin: 4px 0 12px; font-size: 14px; font-weight: 700; letter-spacing: .1em; text-indent: .1em; line-height: 1.8; color: #222; }
.wl-aboutB .wl-aboutB__lead { margin: 0 0 18px; font-size: 15px; font-weight: 700; line-height: 1.9; letter-spacing: .04em; color: #222; }
.wl-aboutB .wl-aboutB__body { margin: 0 auto; max-width: 640px; font-size: 15px; line-height: 2; color: #222; }

.wl-aboutB__message { margin: 26px 0; padding: 26px 18px; background: #f7f7f7; }
.wl-aboutB .wl-aboutB__messageMain { margin: 0 0 12px; font-size: 15px; font-weight: 700; line-height: 2; letter-spacing: .05em; color: #222; }
.wl-aboutB .wl-aboutB__messageSub { margin: 0 auto; max-width: 560px; font-size: 15px; line-height: 2; color: #222; }

.wl-aboutB__milestones { margin: 0 auto; max-width: 640px; text-align: left; }
.wl-aboutB__ms { display: flex; gap: 16px; padding: 12px 2px; border-bottom: 1px solid #eee; }
.wl-aboutB__ms:first-child { border-top: 1px solid #eee; }
.wl-aboutB__ms dt { flex: 0 0 64px; margin: 0; font-size: 14px; font-weight: 700; line-height: 1.9; color: #222; }
.wl-aboutB .wl-aboutB__ms dd { flex: 1 1 auto; margin: 0; font-size: 15px; line-height: 1.9; color: #222; }

@media (min-width: 768px) {
  .wl-aboutB .wl-aboutB__lead { font-size: 16px; }
  .wl-aboutB__message { margin: 28px 0; padding: 30px 22px; }
  .wl-aboutB .wl-aboutB__messageMain { font-size: 16px; }
}

/* --- よくある質問: カテゴリナビ＋アコーディオン（開閉は common.js の [data-accordion]） --- */
.faq-cats { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 10px; padding: 14px; max-width: 960px; margin: 0 auto; }
.faq-cats__item { padding: 14px; background: #fff; border: 1px solid #ddd; text-align: center; font-size: 14px; color: #333; transition: background .2s, color .2s, border-color .2s; }
.faq-cats__item:hover { background: #222; color: #fff; border-color: #222; }
.faq-cats__item.is-active { background: #222; border-color: #222; color: #fff; font-weight: 700; }
.faq-section { max-width: 960px; margin: 0 auto; padding: 0 14px 24px; scroll-margin-top: 90px; }
.faq-section__head { font-size: 19px; font-weight: 700; color: #222; background: #f3f3f3; padding: 16px 20px; margin: 28px 0 14px; line-height: 1.55; }
.faq-q { width: 100%; margin: 0; padding: 14px 16px; border: 0; border-bottom: 1px solid #eee; border-radius: 0; -webkit-appearance: none; appearance: none; font-family: inherit; font-size: 15px; color: #222; line-height: 1.7; cursor: pointer; display: flex; justify-content: flex-start; align-items: flex-start; background: #fff; text-align: left; }
.faq-q:focus-visible { outline: 2px solid #222; outline-offset: -2px; }
.faq-q::before { content: "Q. "; font-weight: 700; color: #222; margin-right: 6px; }
.faq-q::after { content: "+"; font-size: 18px; color: #222; margin-left: auto; padding-left: 12px; }
.faq-q.is-open::after { content: "−"; }
.faq-a { padding: 16px; background: #f8f8f8; font-size: 15px; line-height: 1.9; color: #222; border-bottom: 1px solid #eee; }
.faq-a::before { content: "A. "; font-weight: 700; color: #222; margin-right: 6px; }
.faq-a strong { display: inline-block; margin-top: 8px; }
.faq-q.is-filtered, .faq-a.is-filtered, .faq-section.is-filtered { display: none; }
.faq-intro { max-width: 960px; margin: 0 auto; padding: 16px 14px 0; }
.faq-intro__lead { font-size: 15px; line-height: 1.8; }
.faq-search { margin-top: 14px; }
.faq-search__label { display: block; font-size: 13px; font-weight: 700; margin-bottom: 6px; }
.faq-search__input { width: 100%; min-height: 48px; padding: 12px 14px; border: 1px solid #ddd; border-radius: 0; -webkit-appearance: none; appearance: none; font-family: inherit; font-size: 15px; color: #222; background: #fff; }
.faq-search__input:focus { outline: 2px solid #222; outline-offset: -2px; border-color: #222; }
.faq-search__result { margin-top: 8px; font-size: 13px; line-height: 1.7; }
.faq-cta { max-width: 960px; margin: 24px auto; padding: 20px 14px; background: #f3f3f3; text-align: center; }
.faq-cta__title { font-size: 15px; font-weight: 700; margin-bottom: 10px; }
.faq-cta__text { font-size: 13px; line-height: 1.8; }
.faq-cta__action { margin-top: 14px; }
.faq-cta__action .btn { max-width: 320px; margin: 0 auto; }


/* 本文カラム（説明文・同意欄などを中央寄せ） */
.wl-narrow { max-width: 720px; margin: 0 auto; padding: 0 14px; }
.wl-narrow--pad { padding: 16px 14px; }
/* PC: form-section の左右 padding(pc.css で 24px)と揃え、見出し帯・本文の幅を一致させる（2026-07-24） */
@media (min-width: 768px) {
  .wl-narrow { padding-left: 24px; padding-right: 24px; }
}
/* リード文 */
.wl-lead { font-size: 13px; line-height: 1.8; }
.wl-lead + .wl-lead { margin-top: 10px; }
/* フォームセクションを本文カラム幅に */
.form-section.wl-form--narrow { max-width: 720px; margin: 0 auto; }
.form-row > *:not(.form-row__label) ~ *:not(.form-row__label) { margin-top: 10px; }
/* 黒の主ボタン（サイト規約: CTA は黒）。.btn / .ec-blockBtn 双方に効く（wl-bridge が後読みで勝つ） */
.wl-btn--dark { background: #222; color: #fff; border-color: #222; }
.wl-btn--dark:hover { background: #000; color: #fff; border-color: #000; }
/* 同意チェック欄 */
.wl-agreeBox { max-width: 720px; margin: 16px auto 0; padding: 0 14px; }
.wl-agreeBox__inner { padding: 14px; background: #f5f5f5; font-size: 12px; color: #555; line-height: 1.8; }
@media (min-width: 768px) {
  .wl-agreeBox__inner { font-size: 13px; }  /* PC のみ 13px（2026-07-24 指示） */
}
.wl-agreeBox label { display: flex; align-items: flex-start; gap: 8px; }
.wl-agreeBox input { margin-top: 3px; }
.wl-agreeBox .req { color: #c83939; font-size: 11px; margin-left: 4px; white-space: nowrap; }
.wl-main--full > .wl-mypageActions,
.wl-main--full > form > .wl-mypageActions { padding-left: 14px; padding-right: 14px; }
.page-hero + .ec-registerRole,
.page-hero + .ec-registerCompleteRole,
.page-hero + .ec-forgetCompleteRole { padding-top: 32px; }
@media (min-width: 768px) {
  .page-hero--lh11 { background-position: top 31% center; }
}
/* SP専用改行（汎用）。PC(768px〜)では改行しない。common.css の .sp-only は空定義のため新設 */
@media (min-width: 768px) {
  .wl-br-sp { display: none; }
}
.wl-br-pc { display: none; }
@media (min-width: 768px) {
  .wl-br-pc { display: inline; }
}
/* ログイン(mypage_login): ヒーロー下・再設定案内の上のあいさつ見出し（2026-07-17 指示） */
.wl-login-greet { margin: 10px 0 26px; text-align: center; }
.wl-login-greet__title { font-size: 20px; font-weight: 700; color: #222; letter-spacing: .02em; line-height: 1.5; margin: 0 0 8px; }
.wl-login-greet__text { font-size: 13px; color: #555; line-height: 1.8; margin: 0; }
.wl-amzlink-page { padding-top: 24px; }
.wl-amzlink-note { margin: 14px 0 40px; color: #c83939; font-size: 13px; font-weight: 700; line-height: 1.8; }
.wl-amzlink-account { margin: 0 0 24px; padding: 14px; background: #f8f8f8; border: 1px solid #e6e6e6; }
.wl-amzlink-account__label { margin: 0 0 6px; font-size: 12px; font-weight: 700; letter-spacing: .06em; color: #222; }
.wl-amzlink-account__icon { margin-right: 6px; }
.wl-amzlink-account__value { margin: 0; font-size: 15px; font-weight: 700; line-height: 1.6; color: #222; }
.wl-amzlink-account__mail { display: block; margin-top: 3px; font-size: 13px; font-weight: 400; color: #444; word-break: break-all; }
.wl-amzlink-account--b { padding: 0 16px 16px; background: #fff; border: 0; border-bottom: 1px solid #ddd; text-align: center; }
.wl-amzlink-account--b .wl-amzlink-account__label { display: inline-block; margin: 0 0 8px; padding: 5px 12px; background: #ff9900; color: #fff; border-radius: 3px; }
.wl-amzlink-account--b .wl-amzlink-account__value { font-size: 17px; }
.wl-amzlink-account--b .wl-amzlink-account__mail { font-size: 13px; color: #222; }
.wl-login-greet .wl-amzlink-lead { font-size: 13px; font-weight: 700; color: #222; line-height: 1.8; }
.wl-amzlink { display: grid; gap: 16px; margin: 0 0 40px; }
.wl-amzlink__card { display: flex; flex-direction: column; border: 1px solid #e2e2e2; background: #fff; }
.wl-amzlink__head { margin: 0; padding: 12px 14px; background: #f3f3f3; color: #222; font-size: 15px; font-weight: 700; letter-spacing: .04em; text-align: center; }
.wl-amzlink__body { flex: 1 1 auto; display: flex; flex-direction: column; padding: 16px 14px 18px; }
.wl-amzlink__text { margin: 0 0 16px; font-size: 13px; line-height: 1.9; color: #444; }
.wl-amzlink__btn { display: block; margin-top: auto; padding: 14px 12px; border: 1px solid #222; font-size: 14px; font-weight: 700; letter-spacing: .04em; line-height: 1.4; text-align: center; text-decoration: none; transition: background .2s ease, color .2s ease; }
.wl-amzlink__btn:hover { text-decoration: none; }
.wl-amzlink__btn--primary { background: #222; color: #fff; }
.wl-amzlink__btn--primary:hover { background: #000; color: #fff; }
.wl-amzlink__btn--secondary { background: #fff; color: #222; }
.wl-amzlink__btn--secondary:hover { background: #f7f7f7; color: #222; }
@media (min-width: 768px) {
  .wl-amzlink-page { padding-top: 32px; }
  .wl-login-greet .wl-amzlink-lead { font-size: 14px; }
  .wl-amzlink-note { margin-bottom: 48px; font-size: 14px; }
  .wl-amzlink-account { margin-bottom: 32px; padding: 16px 20px; }
  .wl-amzlink-account--b { padding: 0 24px 20px; }
  .wl-amzlink-account--b .wl-amzlink-account__mail { font-size: 14px; }
  .wl-amzlink-account__value { font-size: 16px; }
  .wl-amzlink { gap: 20px; margin-bottom: 56px; }
  .wl-amzlink__head { padding: 14px 16px; font-size: 16px; }
  .wl-amzlink__body { padding: 20px 20px 22px; }
  .wl-amzlink__text { font-size: 14px; }
}
/* 確認画面（会員登録/メルマガ登録）: リード文（下記の内容で〜）の下余白（上は ↑ の 32px で確保） */
.wl-confirmLead { margin: 0 0 24px; line-height: 1.9; }
@media only screen and (min-width: 768px) {
  .wl-confirmDefs dl { padding: 14px 0; }
  .wl-confirmDefs dt { padding-top: 0; }
  .wl-confirmDefs dd { line-height: 1.8; }
}
@media only screen and (min-width: 768px) {
  .ec-borderedDefs dl:has(dd > .ec-radio:only-child),
  .ec-borderedDefs dl:has(dd > .ec-checkbox:only-child),
  .ec-borderedDefs dl:has(dd > .ec-select:only-child),
  .ec-borderedDefs dl:has(dd > .ec-birth:only-child) { align-items: center; }
  .ec-borderedDefs dl:has(dd > .ec-radio:only-child) dt,
  .ec-borderedDefs dl:has(dd > .ec-checkbox:only-child) dt,
  .ec-borderedDefs dl:has(dd > .ec-select:only-child) dt,
  .ec-borderedDefs dl:has(dd > .ec-birth:only-child) dt { padding-top: 0; }
}
/* PostCarrier43 のメルマガ行はラッパーが .ec-checkbox のためラジオ間隔が詰まる — .ec-radio と同間隔に */
.ec-borderedDefs dd > .ec-checkbox label { margin-right: 20px; }
.ec-borderedDefs dd > .ec-checkbox input { margin-right: 10px; }
#page_plugin_coupon_shopping .ec-borderedDefs dl { padding: 12px 0; }
@media only screen and (min-width: 768px) {
  #page_plugin_coupon_shopping .ec-borderedDefs dl { align-items: center; }
  #page_plugin_coupon_shopping .ec-borderedDefs dt { padding-top: 0; }
}
/* 完了・サンクス画面 */
.ec-reportHeading { border-top: 0; }
.wl-complete { max-width: 720px; margin: 0 auto; padding: 48px 14px; text-align: center; }
@media (min-width: 768px) {
  .wl-complete { padding-left: 24px; padding-right: 24px; }
}
.wl-complete__title { font-size: 18px; font-weight: 700; margin: 0 0 16px; }
.wl-complete__text { font-size: 13px; line-height: 1.9; color: #555; text-align: left; }
/* 数字ページャ（一覧共通。common.css の .pagination は SP 非表示のため独自クラスで用意） */
.wl-pager { display: flex; gap: 6px; justify-content: center; padding: 24px 0; }
.wl-pager a { min-width: 32px; height: 32px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid #ddd; font-size: 13px; color: #444; }
.wl-pager a.is-current { border-color: var(--woollen-primary); background: var(--woollen-primary); color: #fff; }

/* 商品一覧のページャ（SP。PC は pc.css の .pagination が担当） */
.l-listing__main .pagination {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: center;
  gap: 6px; margin: 24px 0 0;
}
.l-listing__main .pagination a {
  min-width: 32px; height: 32px; display: inline-flex;
  align-items: center; justify-content: center;
  border: 1px solid #ddd; font-size: 13px; color: #222;
}
.l-listing__main .pagination a.is-active { background: #222; color: #fff; border-color: #222; }

/* お知らせ詳細（News/detail）: シェア・前後リンク */
.wl-share {
  max-width: 880px; margin: 0 auto; padding: 20px 14px;
  border-top: 1px solid #eee; border-bottom: 1px solid #eee;
  display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px;
}
.wl-share__label { display: inline-flex; align-items: center; gap: 7px; font-size: 12px; letter-spacing: .04em; color: #555; }
.wl-share__labelIcon { width: 15px; height: 15px; flex: 0 0 auto; color: #888; }
.wl-share__icons { display: flex; gap: 10px; }
.wl-share__btn {
  width: 36px; height: 36px; border-radius: 50%;
  border: 1px solid #ddd; background: #fff; color: #222;
  display: inline-flex; align-items: center; justify-content: center;
  font-size: 14px; line-height: 1; text-decoration: none;
  transition: background .2s, color .2s, border-color .2s;
}
.wl-share__btn:hover { background: #222; border-color: #222; color: #fff; }

/* お知らせ詳細: 前後記事ナビ（chevron は lucide）。SP は縦積み、PC は左右2枚 */
.wl-adjacent {
  max-width: 880px; margin: 0 auto; padding: 24px 14px 8px;
  display: grid; grid-template-columns: 1fr; gap: 10px;
}
.wl-adjacent__item {
  display: block; padding: 14px 16px;
  background: #fff; border: 1px solid #e5e5e5;
  text-decoration: none; transition: border-color .2s;
}
.wl-adjacent__item:hover { border-color: #222; }
.wl-adjacent__item--empty { display: none; }
.wl-adjacent__label {
  display: inline-flex; align-items: center; gap: 4px;
  font-family: var(--wl-font-en); font-size: 11px; letter-spacing: .06em; color: #999;
}
.wl-adjacent__chev { width: 13px; height: 13px; flex: 0 0 auto; }
.wl-adjacent__title {
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
  margin-top: 5px; font-size: 13px; line-height: 1.6; color: #222; transition: color .2s;
}
.wl-adjacent__item:hover .wl-adjacent__title { color: var(--woollen-primary); }
.wl-adjacent__item--next { text-align: right; }
@media (min-width: 768px) {
  .wl-adjacent { grid-template-columns: 1fr 1fr; gap: 16px; padding: 32px 14px 8px; }
  .wl-adjacent__item { padding: 18px 20px; }
  .wl-adjacent__item--empty { display: block; border-color: transparent; }
  .wl-share { padding: 24px 14px; }
}

/* お知らせ一覧（News/index）: 空メッセージ等の中央寄せ小余白 */
.wl-emptyMsg { text-align: center; padding: 48px 14px; }

/* フォーム部品の幅・高さ微調整（form_widget の attr style を撤去してクラス化） */
.wl-w180 { max-width: 180px; }
.wl-w220 { max-width: 220px; }
.wl-textarea { min-height: 160px; }

/* お知らせ詳細: 記事メタの日付 */
.article-hero__date { font-size: 12px; color: #666; }
.article-hero { padding-top: 15px; padding-bottom: 9px; }
@media (min-width: 768px) {
  .article-hero { padding-top: 20px; padding-bottom: 10px; }
}

/* フォーム/一覧の細部（インライン style 撤去の続き） */
.wl-radioItem { display: inline-flex; align-items: center; gap: 6px; }   /* ラジオの input+label をまとめる */
.wl-formNote { padding: 14px; font-size: 13px; color: #666; }           /* フォーム冒頭の注記（マイページは .wl-mypageNote へ移行） */
.wl-plainVal { font-size: 14px; padding: 6px 0; }                       /* 変更不可の表示値（生年月日など） */
.wl-hidden { display: none; }                                          /* 保存用の非表示 widget 群 */
.wl-withdraw { margin: 32px 14px 0; padding-top: 24px; border-top: 1px solid #eee; text-align: center; }
.wl-withdraw .btn { max-width: 260px; margin: 0 auto; }
.wl-btn--inline { width: auto; min-height: auto; padding: 12px 20px; font-size: 13px; }  /* 幅なり小ボタン */
.wl-btn--danger { color: #c83939; border-color: #c83939; }             /* 削除など警告アウトライン */
a.coupon-card { color: inherit; text-decoration: none; }               /* リンク化したクーポンカード */
.wl-couponCaution { margin: 14px 0 0; font-size: 13px; color: #555; }  /* クーポン0件時の注記。冒頭の一言は .wl-mypageNote */

/* ラジオを横並び（性別・メルマガ希望など） */
.radio-list--row { flex-direction: row; flex-wrap: wrap; gap: 16px; }

/* 汎用 padding（一覧の見出し行など） */
.wl-pad14 { padding: 14px; }

/* 注文履歴カード内の規格・価格テキスト */
.order-card__variant { font-size: 12px; margin-top: 4px; }
.order-card__priceSm { font-size: 12px; }

.l-listing__sort { width: auto; min-width: 160px; max-width: 100%; text-align: center; }
@media (min-width: 768px) {
  .l-listing__sort { text-align: left; }
}

.l-drawer__authrow { grid-template-columns: repeat(3, 1fr); gap: 4px; }
.l-drawer__authbtn {
  flex-direction: column; gap: 4px; min-height: 0;
  padding: 10px 4px; font-size: 11px;
  border: 1px solid #eee; background: #fff; color: #333;
}
.l-drawer__authbtn--primary { background: #fff; color: #333; } /* 旧ダーク配色を無効化 */
.l-drawer__authbtn .ic {
  display: inline-flex; align-items: center; justify-content: center;
  width: 28px; height: 28px; color: #333;
}
.l-drawer__authbtn .ic svg { width: 100%; height: 100%; }

.l-drawer__quicknav-item .ic img { width: 100%; height: 100%; object-fit: contain; display: block; }

/* --- ドロワー「カテゴリーから探す」各アイテムに矢印（ブランド一覧 .l-drawer__brands と同じ ›）--- */
.l-drawer__cats li a { position: relative; padding-right: 22px; }
.l-drawer__cats li a::after {
  content: "›"; position: absolute; right: 8px; top: 50%;
  transform: translateY(-50%); color: #999; font-size: 16px;
}

/* --- ドロワー「カテゴリーから探す」: WOMEN/MEN 切替を廃止し2列で常時表示（見出しで区別）--- */
.l-drawer__catcols { display: grid; grid-template-columns: 1fr 1fr; gap: 0 10px; padding: 0 14px; }
.l-drawer__catcol-head {
  font-family: var(--wl-font-en); font-weight: 700; letter-spacing: .08em; font-size: 13px;
  padding: 12px 4px 6px; border-bottom: 1px solid #eee; color: #232120;
}
.l-drawer__catcols .l-drawer__cats { padding: 0; }

/* --- ドロワー「その他」見出しを追加したため、ガイド上の区切り線を除去 --- */
.l-drawer__guide { border-top: none; margin-top: 0; }

.wl-activefilters__chip--locked { cursor: default; }
.wl-activefilters__chip--locked:hover { border-color: #ccc; color: #333; }

.wl-brandlp .wl-na__viewall { display: none; }
/* ランディング全体（.wl-brandlp）と直下の絞り込みエリアの間隔を、内容（ランキング等）の有無に関わらず標準セクション余白(48/96px)ぶん確保 */
.wl-brandlp { margin-bottom: 48px; }
@media (min-width: 768px) { .wl-brandlp { margin-bottom: 96px; } }

/* --- アウトレット詳細タイプ: 全幅の赤 OUTLET 帯（左=アイコン＋OUTLET見出し / 右=リード文） --- */
.wl-outlet-band { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 8px 20px; padding: 16px; background: var(--woollen-primary); color: #fff; }
.wl-outlet-band__head { display: inline-flex; align-items: center; gap: 14px; }
.wl-outlet-band__seal { display: inline-flex; align-items: center; justify-content: center; width: 38px; height: 38px; }
.wl-outlet-band__seal img { width: 100%; height: 100%; display: block; }
.wl-outlet-band__label { font-family: var(--wl-font-en); font-weight: 700; font-size: 24px; letter-spacing: .12em; }
.wl-outlet-band__lead { font-size: 13px; line-height: 1.7; text-align: center; }
@media (min-width: 768px) {
  /* PC: 左に見出し・右に文言 */
  .wl-outlet-band { flex-wrap: nowrap; justify-content: center; gap: 2em; padding: 20px 40px; }
  .wl-outlet-band__head { gap: 18px; }
  .wl-outlet-band__seal { width: 44px; height: 44px; }
  .wl-outlet-band__label { font-size: 30px; }
  .wl-outlet-band__lead { font-size: 14px; text-align: left; }
}
.product_page .wl-brand-desc__logo { display: none; }

.wl-searchmodal { width: 100%; }
.wl-search-fancybox .fancybox__slide,
.fancybox__container:has(.wl-searchmodal) .fancybox__slide { padding: 16px 12px; }
.wl-search-fancybox .f-html,
.fancybox__container:has(.wl-searchmodal) .f-html {
  width: 100%; max-width: 900px; height: auto; max-height: 92vh; margin: 0 auto;
  overflow-y: auto; box-sizing: border-box; padding: 40px 28px 28px;
}
@media (max-width: 767px) {
  .wl-search-fancybox .fancybox__slide,
  .fancybox__container:has(.wl-searchmodal) .fancybox__slide { padding: 12px 8px; }
  .wl-search-fancybox .f-html,
  .fancybox__container:has(.wl-searchmodal) .f-html { padding: 40px 16px 24px; }
}
/* EC-CUBE ブロックの外枠（グリッド）パディングを解除して全幅で使う */
.wl-searchmodal .ec-contactRole,
.wl-searchmodal .ec-searchDetailRole,
.wl-searchmodal .ec-off1Grid,
.wl-searchmodal .ec-off1Grid__cell,
.wl-searchmodal .ec-off4Grid,
.wl-searchmodal .ec-off4Grid__cell {
  width: 100%; max-width: none; margin: 0; padding: 0;
}

/* EC-CUBE 既定の一番上の点線(border-top)は不要 */
.wl-searchmodal .ec-borderedDefs { display: flex; flex-direction: column; border-top: 0; margin-bottom: 0; }
.wl-searchmodal .ec-borderedDefs > dl { order: 1; border-bottom: 0; }  /* キーワード（常時表示）。直下dlの点線(詳細検索の上)は不要 */
.wl-searchmodal .ec-searchDetail__toggleArea { order: 3; padding-top: 14px; }
.wl-searchmodal .ec-searchDetai__togglelBtn { order: 2; margin: 8px 0 0; text-align: center; }
.wl-searchmodal .ec-searchDetai__togglelBtn > span {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  width: 100%; min-width: 0; padding: 14px 32px; cursor: pointer;
  background: #fff; border: 1px solid #222; border-radius: 999px;
  font-family: var(--wl-font-en); font-size: 13px; font-weight: 400; letter-spacing: .1em; color: #222;
  transition: background .2s, color .2s;
}
.wl-searchmodal .ec-searchDetai__togglelBtn > span:hover { background: #222; color: #fff; }
@media (min-width: 768px) {
  .wl-searchmodal .ec-searchDetai__togglelBtn > span { min-width: 220px; width: auto; }
}
.wl-searchmodal .ec-searchDetailClose { display: inline-flex; align-items: center; }
.wl-searchmodal .ec-searchDetailCloseBtn {
  width: auto; height: auto; border-radius: 0; background: none; color: inherit;
}
.wl-searchmodal .ec-searchDetai__togglelBtn:hover i { color: inherit; }

/* --- 各項目の見出し・入力 --- */
.wl-searchmodal .ec-borderedDefs dl { display: block; margin: 0 0 26px; padding: 0; border-bottom: 0; }
.wl-searchmodal .ec-borderedDefs dl:last-child { margin-bottom: 0; }
/* キーワード欄→「詳細検索」ボタンの間隔を詰める（2026-07-24 指示: 上部のマージンを少なく） */
.wl-searchmodal .ec-borderedDefs > dl:first-of-type { margin-bottom: 4px; }
/* キーワードの見出し（先頭 dl の dt）は削除（2026-07-24 指示。入力欄だけ残す） */
.wl-searchmodal .ec-borderedDefs > dl:first-of-type > dt { display: none; }
/* 「商品カテゴリ」の見出し帯も削除（2026-07-24 指示。BRAND 等のグループ帯が代替） */
.wl-searchmodal .ec-borderedDefs dl:has(.wl-catgroup) > dt { display: none; }
.wl-searchmodal .ec-borderedDefs dt {
  font-size: 13px; font-weight: 700; letter-spacing: .04em;
  color: #222; margin-bottom: 12px; line-height: 1.4;
  background: #f3f3f3; padding: 11px 14px 9px; /* 上をやや厚く（文字が帯上端に寄って見える対策・2026-07-24 指示） */
  width: 100%; display: block; text-align: center;
}
@media only screen and (min-width: 768px) {
  .wl-searchmodal .ec-borderedDefs dl:has(dd > .ec-radio:only-child) dt,
  .wl-searchmodal .ec-borderedDefs dl:has(dd > .ec-checkbox:only-child) dt,
  .wl-searchmodal .ec-borderedDefs dl:has(dd > .ec-select:only-child) dt,
  .wl-searchmodal .ec-borderedDefs dl:has(dd > .ec-birth:only-child) dt {
    padding-top: 11px;
  }
}
.wl-searchmodal .ec-searchDetail__toggleArea { margin-top: 20px; }
/* dd は PC で width:70% になる（style.css）。モーダルでは全幅にしてキーワード欄を横一杯に */
.wl-searchmodal .ec-borderedDefs dd { margin: 0; width: 100%; line-height: 1.6; }
.wl-searchmodal .ec-input { width: 100%; }
.wl-searchmodal input[type="search"],
.wl-searchmodal .ec-input input {
  width: 100%; padding: 10px 12px; font-size: 13px; box-sizing: border-box;
  background: #fff; border: 1px solid #d8d8d8;
}
.wl-searchmodal .ec-inputRange { display: flex; align-items: center; gap: 10px; }
.wl-searchmodal .ec-inputRange input {
  flex: 1 1 0; width: auto; min-width: 0; margin: 0;
  padding: 10px 12px; font-size: 13px; box-sizing: border-box;
  background: #fff; border: 1px solid #d8d8d8;
}
.wl-searchmodal .ec-inputRange input + span,
.wl-searchmodal .ec-inputRange span { flex: 0 0 auto; margin: 0; }
.wl-searchmodal .ec-checkbox { line-height: 1.5; }
.wl-searchmodal .ec-checkbox-item {
  display: flex; align-items: flex-start; margin: 0; padding: 4px 0;
  font-size: 13px; font-weight: 400; line-height: 1.5; color: #444; /* 検索エリアは 13px 統一（2026-07-24 指示） */
}
/* チェックボックスは薄グレー枠のカスタム描画（見出し下線と同色）。チェック時は赤＋白チェック */
.wl-searchmodal .ec-checkbox-item input[type="checkbox"] {
  display: inline-block; flex: 0 0 auto; width: 15px; height: 15px; margin: 2px 8px 0 0;
  appearance: none; -webkit-appearance: none;
  border: 1px solid #ddd; border-radius: 2px; background: #fff;
  cursor: pointer; vertical-align: middle;
}
.wl-searchmodal .ec-checkbox-item input[type="checkbox"]:checked {
  background: var(--woollen-primary, #c83939) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath fill='none' stroke='%23fff' stroke-width='2' d='M2 6.2l3 3L10 3'/%3E%3C/svg%3E") no-repeat center / 10px 10px;
  border-color: var(--woollen-primary, #c83939);
}
.wl-searchmodal .ec-checkbox-item label {
  display: inline; flex: 1 1 auto; min-width: 0;
  margin: 0; font-weight: 400; color: #444; vertical-align: middle; cursor: pointer;
}
.wl-searchmodal .ec-checkbox-item label:hover { color: var(--woollen-primary, #c83939); }
.wl-searchmodal .ec-checkbox-item span { font-weight: 400; }
.wl-searchmodal .ec-checkbox br { display: none; }
.wl-searchmodal .ec-checkbox hr { margin: 8px 0; }
.wl-searchmodal .ec-checkbox .wl-catgroup { break-inside: avoid; margin-bottom: 18px; }
.wl-searchmodal .ec-checkbox .wl-catgroup:last-child { margin-bottom: 0; }
.wl-searchmodal .ec-checkbox .wl-searchmodal__cattitle {
  margin: 0 0 12px; font-size: 13px; font-weight: 700; letter-spacing: .04em;
  color: #222; line-height: 1.4; text-align: center;
  background: #f3f3f3; padding: 11px 14px 9px; border-bottom: 0;
}
/* 子カテゴリ（3階層目以降）はぶら下げインデントで階層を表現 */
.wl-searchmodal .ec-checkbox-item.wl-catitem--sub { padding-left: 1.4em; }
/* PC: モーダルを広く使い、チェック群を複数列にして縦を詰める（横並び） */
@media (min-width: 768px) {
  .wl-searchmodal .ec-searchDetail__toggleArea .ec-checkbox { column-count: 4; column-gap: 28px; }
  .wl-searchmodal .ec-searchDetail__toggleArea .ec-checkbox-item { break-inside: avoid; }
  /* 複数列では区切り線(hr)が短い破線片になって散らかるため隠す（列自体が区切りになる） */
  .wl-searchmodal .ec-searchDetail__toggleArea .ec-checkbox hr { display: none; }
  /* 在庫など単一チェック(.ec-checkbox 直下に label)は複数列にしない（チェックとラベルの列跨ぎ防止） */
  .wl-searchmodal .ec-searchDetail__toggleArea .ec-checkbox:has(> label) { column-count: 1; }
  .wl-searchmodal .ec-searchDetail__toggleArea .ec-checkbox:has(.wl-catgroup) { column-count: auto; }
  .wl-searchmodal .ec-searchDetail__toggleArea .wl-catgroup { column-count: 4; column-gap: 28px; }
  .wl-searchmodal .ec-searchDetail__toggleArea .wl-searchmodal__cattitle { column-span: all; }
}
/* SP: チェック群は2列（2026-07-25 指示。従来1列）。構造は上のPC 4列ブロックと同じ */
@media (max-width: 767px) {
  .wl-searchmodal .ec-searchDetail__toggleArea .ec-checkbox { column-count: 2; column-gap: 18px; }
  .wl-searchmodal .ec-searchDetail__toggleArea .ec-checkbox-item { break-inside: avoid; }
  .wl-searchmodal .ec-searchDetail__toggleArea .ec-checkbox hr { display: none; }
  .wl-searchmodal .ec-searchDetail__toggleArea .ec-checkbox:has(> label) { column-count: 1; }
  .wl-searchmodal .ec-searchDetail__toggleArea .ec-checkbox:has(.wl-catgroup) { column-count: auto; }
  .wl-searchmodal .ec-searchDetail__toggleArea .wl-catgroup { column-count: 2; column-gap: 18px; }
  .wl-searchmodal .ec-searchDetail__toggleArea .wl-searchmodal__cattitle { column-span: all; }
}
/* 在庫「在庫あり」等、.ec-checkbox 直下のチェック＋ラベルもサイドバー風＆横並び固定 */
.wl-searchmodal .ec-checkbox > input[type="checkbox"] {
  display: inline-block; width: 14px; height: 14px; margin: 0 8px 0 0;
  accent-color: var(--woollen-primary, #c83939); vertical-align: middle;
}
.wl-searchmodal .ec-checkbox > label {
  display: inline-block; margin: 0; font-size: 12px; font-weight: 400; color: #444; vertical-align: middle;
}
/* 価格帯の入力スタイルは前方の .ec-inputRange flex ブロックに統合済み（2026-07-24） */
/* 検索ボタン（Woollen ダーク・丸ピル。EC-CUBE 既定の height/line-height を打ち消して文字を中央に） */
.wl-searchmodal .ec-blockBtn--cancel {
  display: block; width: 100%; max-width: 320px; margin: 30px auto 0;
  height: auto; min-height: 0; line-height: 1.4;
  padding: 12px 18px; background: #222; color: #fff; border: 1px solid #222;
  border-radius: 999px; font-weight: 700; text-align: center; cursor: pointer;
  transition: background .2s;
}
.wl-searchmodal .ec-blockBtn--cancel:hover { background: #000; }

.wl-feature__swiper { padding-left: 32px; padding-right: 32px; }
@media (min-width: 768px) { .wl-feature__swiper { padding-left: 64px; padding-right: 64px; } }

.wl-feature__nav {
  width: 42px; height: 42px; border-radius: 50%;
  background: transparent; border: 1.5px solid rgba(255,255,255,.9); color: #fff;
  transition: background .2s, color .2s, border-color .2s;
}
.wl-feature__nav:hover { background: #fff; border-color: #fff; color: #232120; }
/* font-weight は指定しない（fa-solid は 900 が必須。400 だと Free 版に無い regular を探して□×になる） */
.wl-feature__nav .fa-solid { font-size: 16px; }
.wl-feature__nav--prev { left: 38px; }   /* スライダー padding 32px ＋ カードに 6px 重ねる */
.wl-feature__nav--next { right: 38px; }
@media (min-width: 768px) {
  .wl-feature__nav { width: 50px; height: 50px; }
  .wl-feature__nav .fa-solid { font-size: 18px; }
  .wl-feature__nav--prev { left: 70px; } /* PC は padding 64px ＋ 6px */
  .wl-feature__nav--next { right: 70px; }
}
.wl-feature__nav.swiper-button-disabled,
.wl-feature__nav.swiper-button-lock { pointer-events: auto; }

.p-top .ec-layoutRole__contentTop .ec-contactRole,
.p-top .ec-layoutRole__mainTop .ec-contactRole,
.p-top .ec-layoutRole__mainBottom .ec-contactRole,
.p-top .ec-layoutRole__contentBottom .ec-contactRole { display: none; }

.wl-search-fancybox .fancybox__backdrop,
.fancybox__container:has(.wl-searchmodal) .fancybox__backdrop {
  background: url("../img/low_header06.jpeg") center / cover no-repeat;
}

/* 検索モーダル最上部の見出し（SEARCH / 検索） */
.wl-searchmodal__head { text-align: center; margin: 0 0 20px; }
.wl-searchmodal__head .en {
  display: block; font-family: var(--wl-font-en);
  font-size: 22px; font-weight: 400; letter-spacing: .12em; color: #222; line-height: 1.2;
}
.wl-searchmodal__head .ja {
  display: block; font-size: 11px; color: #666; margin-top: 5px; letter-spacing: .08em;
}

#kikaku_layout_area .ec-productRole__actions { display: none; }

.ec-productRole .kl-colorcard {
  display: flex; flex-direction: row; gap: 12px;
  margin: 0 0 12px; padding: 12px;
  border: 1px solid #e5e5e5; border-radius: 6px; background: #fff; line-height: 1.6;
}
/* 色は常に上端（サイズが多いと画像の上に空白ができるため）。align-items は色名の横中央寄せ */
.ec-productRole .kl-colorcard__color {
  flex: 0 0 85px; width: 85px;
  display: flex; flex-direction: column; align-items: center; justify-content: flex-start; gap: 6px;
}
.ec-productRole .kl-colorcard__img { flex: 0 0 auto; display: block; width: 85px; height: auto; }
.ec-productRole .kl-colorcard__name { min-width: 0; font-size: 12px; font-weight: 700; color: #222; line-height: 1.4; text-align: center; overflow-wrap: anywhere; }
/* サイズ行の横並び／縦積みはビューポートでなくこの枠の実幅で決める（2026-09-02指示） */
.ec-productRole .kl-colorcard__sizes {
  flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; justify-content: center;
  container-type: inline-size; container-name: klsizes;
}

#kikaku_layout_area .kl-colorcard__sizes > #option_detailclass1_item,
.ec-productRole .kl-colorcard__sizes > .kl-sizerow {
  display: flex; flex-direction: column; align-items: stretch; gap: 6px;
  margin: 0; padding: 10px 0; line-height: 1.6;
  border: 0; border-top: 1px solid #eee; border-radius: 0; background: none;
}
#kikaku_layout_area .kl-colorcard__sizes > #option_detailclass1_item:first-child,
.ec-productRole .kl-colorcard__sizes > .kl-sizerow:first-child { border-top: 0; padding-top: 0; }
#kikaku_layout_area .kl-colorcard__sizes > #option_detailclass1_item:last-child,
.ec-productRole .kl-colorcard__sizes > .kl-sizerow:last-child { padding-bottom: 0; }

.ec-productRole .kl-sizerow .kl-skucard__info { min-width: 0; }
.ec-productRole .kl-sizerow .kl-skucard__meta { min-width: 0; }
.ec-productRole .kl-sizerow .kl-skucard__cta { flex: 0 0 auto; display: flex; align-items: center; gap: 8px; }
.ec-productRole .kl-sizerow .kl-skucard__cta .favorite-class-btn { padding: 4px 6px; }

.ec-productRole .kl-sizerow__head {
  min-width: 0; display: flex; flex-wrap: wrap; align-items: baseline; column-gap: 8px; row-gap: 2px;
}
.ec-productRole .kl-sizerow .class_category_name { margin: 0; font-size: 14px; font-weight: 700; color: #222; }
.ec-productRole .kl-sizerow .item { margin: 0; font-size: 12px; color: #222; overflow-wrap: anywhere; }
.ec-productRole .kl-sizerow .kl-skucard__meta > .item { font-size: 11px; line-height: 1.5; }
/* 枠線付きバッジの直下が詰まって見えるので、head の次の行だけ少し離す（head が最終行のときは余白を出さない） */
.ec-productRole .kl-sizerow .kl-sizerow__head + .item { margin-top: 5px; }
/* 区切りは在庫テキスト（small）にだけ付ける。バッジの .item に付けると折り返しで「/」が行頭に取り残される */
.ec-productRole .kl-sizerow__head > .class_category_name ~ .item > small::before {
  content: "/"; margin-right: 8px; font-size: 12px; color: #ccc; font-weight: 400;
}
/* 狭い情報列でもサイズ名と1行に収まるよう、この文脈のバッジだけ詰める */
.ec-productRole .kl-sizerow .item .badge {
  margin: 0; padding: 3px 6px; letter-spacing: .02em; white-space: nowrap;
}
/* 品切れ行は opacity で淡くしない（ユーザー指定。判別は「品切れ中」テキスト＋淡グレーボタンで担保） */

#kikaku_layout_area .class-image-thumb {
  float: left;
  width: 90px !important; max-width: none !important; max-height: none !important; height: auto !important;
  margin: 0 14px 4px 0 !important;
}

.ec-productRole:has(#option_detailclass1_item) .ec-productRole__actions { display: none; }
.ec-productRole:has(#option_detailclass1_item) form:has(#favorite) { display: none; }
.ec-productRole:has(#option_detailclass1_item) #form1 .ec-productRole__btn { display: none; }
.ec-productRole:has(#option_detailclass1_item) .delivery_duration_edit42__duration_name { display: none; }

.ec-productRole .pd-solocard {
  order: 31;                 /* #form1 を包んだので、右カラム flex 内で買い場の位置(価格の下)に置く */
  display: flex; flex-wrap: nowrap; align-items: center; gap: 16px;
  border: 1px solid #e5e5e5; border-radius: 6px; background: #fff;
  padding: 14px 16px; margin-top: 8px; line-height: 1.6;
}
.ec-productRole .pd-solocard__info { flex: 1; min-width: 0; display: flex; align-items: center; gap: 14px; }
.ec-productRole .pd-solocard__img { flex: 0 0 auto; width: 90px; height: auto; }
.ec-productRole .pd-solocard__meta { min-width: 0; }
.ec-productRole .pd-solocard__line { margin: 0; font-size: 12px; color: #222; }
.ec-productRole .pd-solocard__line del { color: #bbb; }
.ec-productRole .pd-solocard__price { color: var(--woollen-primary); font-weight: 700; font-size: 15px; }
.ec-productRole .pd-solocard__soldtext small { color: var(--woollen-primary); font-weight: 700; }
.ec-productRole .pd-solocard__action { flex: 0 0 auto; display: flex; align-items: center; gap: 10px; }
.ec-cartRole .wl-cart-freeship {
  margin: 14px 0 0; font-size: 14px; font-weight: 400; color: #de5d50; text-align: center;
}
.ec-cartRole .wl-cart-freeship i { margin-right: 6px; font-size: 15px; }

/* 規格なしカードの在庫数（規格カードの .item と同トーン）。右にアキ追加（2026-07-24 指示） */
.ec-productRole .pd-solocard__stock { margin: 0 10px 0 0; font-size: 12px; color: #222; white-space: nowrap; }
/* カード内: 数量は隠す（規格ありに合わせる）。フォーム/ボタンの余白をリセットしカートをコンパクトに */
.ec-productRole .pd-solocard .ec-productRole__actions { display: none; }
.ec-productRole .pd-solocard form { margin: 0; }
.ec-productRole .pd-solocard .ec-productRole__btn { width: auto; min-width: 0; margin: 0; }
.ec-productRole .pd-solocard .ec-productRole__btn .ec-blockBtn--action {
  display: inline-flex; align-items: center; justify-content: center;
  width: auto; min-width: 150px; height: 46px; padding: 0 22px; margin: 0;
  border-radius: 0; font-size: 12px; letter-spacing: .08em; white-space: nowrap;
}
.ec-productRole .pd-solocard #form1 .ec-blockBtn--cancel {
  display: inline-flex; align-items: center; justify-content: center;
  width: auto; min-width: 150px; height: 46px; padding: 0 22px; margin: 0;
  border-radius: 0; font-size: 12px; letter-spacing: .08em; white-space: nowrap;
  background: #f4f4f4; border: 1px solid #e0e0e0; color: #666; cursor: not-allowed;
}
/* お気に入りをハートアイコン化（規格カードのハートに合わせる。商品お気に入り＝送信でリロード） */
.ec-productRole .pd-solocard #favorite {
  width: auto; min-width: 0; height: auto; margin: 0; padding: 4px 8px;
  background: none; border: none; font-size: 0; line-height: 1; cursor: pointer;
}
.ec-productRole .pd-solocard #favorite::before {
  content: "\f004"; /* fa-heart */
  font-family: "Font Awesome 6 Free"; font-weight: 900; /* solid=塗り */
  font-size: 20px; color: #ccc; transition: color .2s;
}
.ec-productRole .pd-solocard #favorite:hover::before { color: #ef4444; }
.ec-productRole .pd-solocard #favorite:disabled::before { color: #ef4444; }

.ec-productRole .pd-solocard__info { display: none; }
.ec-productRole .pd-solocard #kikaku_layout_area,
.ec-productRole .pd-solocard .delivery_duration_edit42__duration_name { display: none; }
.ec-productRole .pd-solocard__action { flex: 1 1 auto; }
.ec-productRole .pd-solocard #form1 { flex: 1; margin-top: 0; }
.ec-productRole .pd-solocard #form1 .ec-productRole__btn { width: 100%; display: flex; }
.ec-productRole .pd-solocard #form1 .ec-productRole__btn .ec-blockBtn--action { margin-top: 0; flex: 1 1 auto; }
.ec-productRole .pd-solocard #form1 .ec-blockBtn--action,
.ec-productRole .pd-solocard #form1 .ec-blockBtn--cancel { width: 100%; min-width: 0; }

@media (max-width: 767px) {
  .ec-productRole .pd-solocard { flex-direction: column; align-items: stretch; gap: 12px; }
  .ec-productRole .pd-solocard__action { justify-content: space-between; }
  .ec-productRole .pd-solocard .ec-productRole__btn .ec-blockBtn--action,
  .ec-productRole .pd-solocard #form1 .ec-blockBtn--cancel { width: 100%; }
}

/* 商品詳細: 完売（全在庫切れ）時の SKU 一覧 = Product/restock_list.twig の .restock-list */
.ec-productRole .pd-solocard--soldout {
  display: block; padding: 0; margin-top: 16px;
  border: 0; border-radius: 0; background: none;
}
.ec-productRole .pd-solocard--soldout .pd-solocard__action { display: block; }
.ec-productRole .pd-solocard--soldout #form1 { margin-top: 0; }
.ec-productRole .pd-solocard--soldout #form1 .ec-productRole__btn,
.ec-productRole #form1 .ec-productRole__btn:has(.restock-list) {
  display: block; width: 100%; min-width: 0; margin: 0;
}

.ec-productRole .restock-list { display: flex; flex-direction: column; gap: 12px; }
.ec-productRole #form1 .restock-list .kl-skucard__cta .ec-blockBtn--restock,
.ec-productRole #form1 .restock-list .kl-skucard__cta .ec-blockBtn--cancel {
  flex: 1 1 auto;
  display: inline-flex; align-items: center; justify-content: center;
  width: auto; min-width: 0; height: 46px; margin: 0; padding: 0 16px;
  border-radius: 0; font-size: 12px; letter-spacing: .08em; white-space: nowrap;
}
.ec-productRole #form1 .restock-list .kl-skucard__cta .ec-blockBtn--cancel {
  background: #f4f4f4; border: 1px solid #e0e0e0; color: #666; cursor: not-allowed;
}
.ec-productRole .restock-list .kl-skucard__cta .favorite-class-btn {
  flex: 0 0 auto; padding: 4px 8px; font-size: 20px;
}

@media (min-width: 768px) {
  .ec-productRole #form1 .restock-list .kl-skucard__cta .ec-blockBtn--restock,
  .ec-productRole #form1 .restock-list .kl-skucard__cta .ec-blockBtn--cancel {
    flex: 0 0 150px; width: 150px;
  }
}

/* カートボタン（サイト規約: 黒 CTA / 品切れは淡いグレー。幅・高さ・整列のみ調整） */
#kikaku_layout_area #option_detailclass1_item .ec-blockBtn--action,
#kikaku_layout_area #option_detailclass1_item .ec-blockBtn--cancel,
#kikaku_layout_area #option_detailclass1_item .ec-blockBtn--restock {
  display: inline-flex; align-items: center; justify-content: center;
  flex: 1 1 auto; width: auto; min-width: 0; height: 42px; margin: 0; padding: 0 12px;
  border-radius: 0; font-size: 11px; letter-spacing: .04em; white-space: nowrap;
}
#kikaku_layout_area #option_detailclass1_item .ec-blockBtn--action {
  background: #222; border: 1px solid #222; color: #fff; text-decoration: none;
}
#kikaku_layout_area #option_detailclass1_item .ec-blockBtn--action:hover { background: #000; color: #fff; }
#kikaku_layout_area #option_detailclass1_item .ec-blockBtn--cancel {
  background: #f4f4f4; border: 1px solid #e0e0e0; color: #666; cursor: not-allowed;
}
#kikaku_layout_area #option_detailclass1_item .kl-skucard__cta .favorite-class-btn { flex: 0 0 auto; }

/* 枠幅で2段階。310px 以上で横並び（2カラム時は枠が 315〜384px なので CTA をコンパクトに）、
   500px 以上（1カラム時は 582px〜）で通常寸法。310px 未満は素のルール（縦積み）（2026-09-02指示）。
   横持ちスマホ・小型タブレット（480〜767px）でも枠幅は 317px 以上あるので 480px から有効にする。
   色ブロックの寸法系は 768px のままにする（480px で 96px 化すると枠が 310px を割って縦積みに戻る） */
@media (min-width: 480px) {
  @container klsizes (min-width: 310px) {
    #kikaku_layout_area .kl-colorcard__sizes > #option_detailclass1_item,
    .ec-productRole .kl-colorcard__sizes > .kl-sizerow {
      flex-direction: row; flex-wrap: nowrap; align-items: center; gap: 12px; padding: 12px 0;
    }
    .ec-productRole .kl-sizerow .kl-skucard__info { flex: 1 1 auto; min-width: 0; }
    /* CTA 列は固定幅ではなく最小幅。中身が想定を超えても箱が広がるだけでハートがはみ出さない */
    .ec-productRole .kl-sizerow .kl-skucard__cta { flex: 0 0 auto; min-width: 160px; gap: 8px; }
    /* 再入荷一覧はボタンが 150px のため 150+8+ハート36=194 を最小幅にして行ごとの幅を揃える */
    .ec-productRole .restock-list .kl-skucard__cta { min-width: 194px; }
    #kikaku_layout_area #option_detailclass1_item .ec-blockBtn--action,
    #kikaku_layout_area #option_detailclass1_item .ec-blockBtn--cancel,
    #kikaku_layout_area #option_detailclass1_item .ec-blockBtn--restock {
      flex: 0 0 120px; width: 120px;
    }
  }
  @container klsizes (min-width: 500px) {
    .ec-productRole .kl-sizerow .kl-skucard__cta { min-width: 184px; }
    .ec-productRole .restock-list .kl-skucard__cta { min-width: 194px; }
    .ec-productRole .kl-sizerow .kl-skucard__cta .favorite-class-btn { padding: 4px 8px; }
    #kikaku_layout_area #option_detailclass1_item .ec-blockBtn--action,
    #kikaku_layout_area #option_detailclass1_item .ec-blockBtn--cancel,
    #kikaku_layout_area #option_detailclass1_item .ec-blockBtn--restock {
      flex: 0 0 140px; width: 140px; height: 46px; padding: 0 22px; font-size: 12px; letter-spacing: .08em;
    }
  }
}

@media (min-width: 768px) {
  .ec-productRole .kl-colorcard { gap: 16px; padding: 16px; }
  .ec-productRole .kl-colorcard__color { flex-basis: 96px; width: 96px; gap: 8px; }
  .ec-productRole .kl-colorcard__img { width: 96px; }
  .ec-productRole .kl-colorcard__name { font-size: 14px; }
  .ec-productRole .kl-sizerow .kl-skucard__meta > .item { font-size: 11px; }
}

.ec-productRole .variation-list { display: flex; flex-direction: column; flex-wrap: nowrap; gap: 10px; }
.ec-productRole .variation-list li { width: 100%; }
.ec-productRole .variation-list-link { display: flex; align-items: center; gap: 14px; }
.ec-productRole .variation-list-image { flex: 0 0 auto; width: 96px; aspect-ratio: 1; }
.ec-productRole .variation-list p {
  flex: 1; min-width: 0; margin-top: 0; text-align: left;
  font-size: 13px; line-height: 1.5; -webkit-line-clamp: 2;
}

:root { --wl-topband-h: 24px; } /* ← 帯バナーの高さ（SP 基準）。バナー画像もこの高さに合わせて用意してください */
@media (min-width: 768px) { :root { --wl-topband-h: 30px; } } /* PC はやや大きく */
#wl-imgslider-window_top_bnr {
  position: sticky; top: 0; z-index: 51;
  width: 100%; height: var(--wl-topband-h); overflow: hidden;
  background: #000; /* alt 未指定スライドのフォールバック色（両端まで塗る土台） */
  aspect-ratio: auto; /* ヒーロー用の縦横比（.hero-slider.swiper）を打ち消す */
}
#wl-imgslider-window_top_bnr .hero-slider__track { aspect-ratio: auto; height: 100%; max-height: none; }
#wl-imgslider-window_top_bnr .hero-slider__item {
  display: flex; justify-content: center; align-items: center;
  width: 100%; height: var(--wl-topband-h);
}
#wl-imgslider-window_top_bnr .hero-slider__link,
#wl-imgslider-window_top_bnr picture { display: block; height: 100%; width: auto; }
/* 画像は帯と同じ高さ・幅は自然比・中央。横が画面を超える時だけ max-width で収める */
#wl-imgslider-window_top_bnr img {
  height: var(--wl-topband-h); width: auto; max-width: 100%;
  object-fit: contain; display: block; margin: 0 auto;
}
/* ナビ矢印・ドットは不要（複数スライドでも自動送りのみ） */
#wl-imgslider-window_top_bnr .hero-slider__nav,
#wl-imgslider-window_top_bnr .hero-slider__dots { display: none; }
/* 帯があるページはヘッダーを帯の高さ分だけ下げる（sticky の重なり防止。帯が無い＝未登録時は影響なし） */
body:has(#wl-imgslider-window_top_bnr) .l-header { top: var(--wl-topband-h); }


.l-listing__sphead { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 12px 14px 0; }
.l-listing__count { font-size: 13px; color: #232120; white-space: nowrap; }
.l-listing__count span { color: #c83939; font-size: 16px; font-weight: 700; margin: 0 2px; }
.l-listing__sphead .l-filter__toggle { margin: 0; gap: 6px; justify-content: center; flex: 0 0 auto; }
@media (min-width: 768px) {
  .l-listing__sphead { display: none; }                 /* PC はサイドバーに件数あり＝不要 */
}
@media (max-width: 767px) {
  .l-listing__side .l-filter__badge { display: none; }  /* SP は sphead に件数を出すので重複を消す */
}

/* ブランド一覧 .brand-nav: SP は1列（customize.css の SP既定 2列を上書き。PC は customize.css のまま） */
@media (max-width: 767px) {
  .brand-nav { grid-template-columns: 1fr; }
}

.brand-nav a { position: relative; color: #222; border-color: #222; padding: 10px 36px; }
.brand-nav a::after {
  content: ""; position: absolute; right: 16px; top: 50%;
  width: 7px; height: 7px; margin-top: 0;
  border: solid currentColor; border-width: 1px 1px 0 0;   /* 右向きシェブロン（下向き三角を打ち消し） */
  transform: translateY(-50%) rotate(45deg);
}

@media (max-width: 767px) {
  .brand-intro__actions { grid-template-columns: 1fr; }
}

@media (max-width: 767px) {
  .wl-feature__all-sp,
  .wl-newsbar__all-sp {
    display: block; width: auto; margin: 24px 14px 8px; padding: 14px 32px;
    border: 1px solid #222; background: #fff;
    font-family: var(--wl-font-en); font-size: 13px; letter-spacing: .1em;
    color: #222; text-align: center; text-decoration: none;
    transition: background .2s, color .2s;
  }
  .wl-feature__all-sp:hover,
  .wl-newsbar__all-sp:hover { background: #222; color: #fff; }
}

/* outlet 一覧: OUTLET帯直下の outlet_hero に上マージン（帯との間隔） */
#wl-imgslider-outlet_hero { margin-top: 24px; }
@media (min-width: 768px) { #wl-imgslider-outlet_hero { margin-top: 40px; } }

.wl-brandslider { margin-top: 40px; }
.wl-brandslider .swiper { padding: 0 14px; }
.wl-brandslider__item { display: block; border: 1px solid #eee; }
.wl-brandslider__item img { width: 100%; height: auto; display: block; }
@media (min-width: 768px) {
  .wl-brandslider { margin-top: 56px; }
  .wl-brandslider .swiper { padding: 0 40px; }
}

/* SP商品一覧: 絞り込みボタンで開く絞り込みパネル(.l-listing__side)の上に間隔を追加 */
@media (max-width: 767px) {
  .l-listing__side--sp-accordion.is-open { margin-top: 12px; }
  .l-listing__side .l-filter__list--check { column-count: 2; column-gap: 18px; }
  .l-listing__side .l-filter__list--check li { break-inside: avoid; }
}

/* お問い合わせ等: page-hero 直後のリード文(.wl-narrow--pad 先頭の .wl-lead)の上に余白を追加 */
.wl-narrow--pad > .wl-lead:first-child,
.wl-narrow--pad > .wl-lead__title:first-child { margin-top: 24px; }
/* リード文の小見出し（お問い合わせ「注意事項」等）。帯にはせず本文寄りの見出しとして扱う */
.wl-lead__title { font-size: 15px; font-weight: 700; color: #222; letter-spacing: .04em; line-height: 1.6; margin: 0 0 10px; }

.wl-narrow--pad .form-section__head { margin: 24px 0 14px; }
/* お問い合わせフォーム先頭の見出し帯（form-section 内に置くのは Contact のみ） */
.form-section > .form-section__head { margin-bottom: 6px; }

/* パスワード再発行(forgot/index): page-hero 直後の説明文の上に余白を追加 */
.ec-forgotRole { margin-top: 24px; }
.ec-forgotRole,
.ec-registerRole,
.ec-registerCompleteRole,
.ec-mypageRole,
.ec-withdrawRole,
.ec-customerRole { font-size: 14px; line-height: 1.6; color: #222; }
.ec-forgotRole .ec-forgotRole__intro,
.ec-withdrawRole .ec-withdrawRole__description { font-size: 14px; }

@media (min-width: 768px) {
  .wl-infobar__text { font-size: 13px; }
  .wl-infobar__date { font-size: 12px; }
  .news-list--newsbar .news-list__title { font-size: 13px; }
  .news-list--newsbar .news-list__date { font-size: 12px; }
  .news-list .news-list__cat,
  .news-list .news-list__cat--important,
  .news-list .news-list__cat--info,
  .news-list .news-list__cat--campaign,
  .news-list .news-list__cat--restock { font-size: 12px; }
}

.ec-withdrawRole .ec-icon img,
.ec-withdrawConfirmRole .ec-icon img { margin: 0 auto; }
/* 退会完了: page-hero 直下の見出しに上余白 */
.ec-withdrawCompleteRole { margin-top: 24px; }

/* ログイン: サイト移行に伴うパスワード再設定の案内ボックス（移行完了後は login.twig ごと削除可） */
.wl-migrate-notice {
  margin: 0 0 40px; padding: 16px;
  border: 1px solid #222; background: #fff; text-align: center;
}
.wl-migrate-notice__title { margin: 0 0 8px; font-weight: 700; font-size: 15px; letter-spacing: .04em; color: #222; }
.wl-migrate-notice__text { margin: 0 0 16px; font-size: 13px; line-height: 1.9; color: #444; text-align: left; }
.wl-migrate-notice__btn {
  display: block; padding: 12px 32px; background: #222; color: #fff;
  font-size: 13px; letter-spacing: .08em; text-decoration: none; transition: background .2s;
}
.wl-migrate-notice__btn:hover { background: #000; }
@media (min-width: 768px) {
  .wl-migrate-notice { padding: 22px 24px; }
  .wl-migrate-notice__btn { display: inline-block; }
}
.wl-migrate-notice--top {
  width: calc(100% - 28px);   /* SP で画面端に付かないよう左右に余白 */
  max-width: 760px;
  margin: 40px auto 0;
}
@media (min-width: 768px) {
  .wl-migrate-notice--top { margin-top: 56px; }
}

.err-migrate { margin: 32px 0 0; text-align: left; }
.err-migrate .wl-migrate-notice__title { text-align: center; }
.err-migrate .wl-migrate-notice__text { margin-bottom: 0; }

.hero-slider__nav {
  width: 50px; height: 50px; border-radius: 50%;
  background: transparent; border: 1.5px solid rgba(255,255,255,.9); color: #fff;
  mix-blend-mode: normal;
  transition: background .2s, color .2s, border-color .2s;
}
.hero-slider__nav:hover { background: #fff; border-color: #fff; color: #232120; }
/* font-weight は指定しない（fa-solid は 900 が必須。400 にすると Free 版に無い regular を探して□×になる） */
.hero-slider__nav .fa-solid { font-size: 18px; }
@media (max-width: 767px) {
  .hero-slider__nav { width: 42px; height: 42px; }
  .hero-slider__nav .fa-solid { font-size: 16px; }
  .hero-slider__nav--prev { left: 10px; }
  .hero-slider__nav--next { right: 10px; }
}

/* form.ec-cartRole が外側 div.ec-cartRole と同じ左右 padding(20px) を持ち二重に効くので打ち消す */
#form_cart.ec-cartRole { padding-left: 0; padding-right: 0; }

/* テーブル土台を通常フローに。ヘッダー行(削除/商品内容/数量/小計)は新レイアウトでは不要なので隠す */
.ec-cartTable { display: block; border-top: 1px dotted #ccc; }
.ec-cartHeader { display: none; }

.ec-cartRow {
  display: grid;
  padding: 14px 0;
  border-bottom: 1px dotted #ccc;
}
.ec-cartRow > .ec-cartRow__contentColumn { display: contents; }
.ec-cartRow > .ec-cartRow__delColumn,
.ec-cartRow > .ec-cartRow__amountColumn { width: auto; border-bottom: none; padding-top: 0; padding-bottom: 0; }
.ec-cartRow .ec-cartRow__img { width: 100px; min-width: 100px; max-width: 100px; padding: 0; }
.ec-cartRow .ec-cartRow__summary { width: auto; margin: 0; }

/* 削除ボタン=「削除 ✕」表記。× 画像の左に 削除 ラベル、画像の真下で中央寄せ＋少し間隔 */
.ec-cartRow .ec-cartRow__delColumn { text-align: center; margin-top: 10px; }
.ec-cartRow .ec-cartRow__delColumn .ec-icon {
  display: inline-flex; align-items: center; gap: 4px;
  color: #666; font-size: 12px; line-height: 1;
}
.ec-cartRow .ec-cartRow__delColumn .ec-icon::before { content: "削除"; }
.ec-cartRow .ec-cartRow__delColumn .ec-icon img { width: 14px; height: 14px; }

/* 数量まわり: PC でも SP と同じ表記（「数量：N」＋横並びの −＋）に統一 */
.ec-cartRow .ec-cartRow__amountColumn .ec-cartRow__amount { display: none; }
.ec-cartRow .ec-cartRow__amountColumn .ec-cartRow__amountSP { display: block; margin-bottom: 10px; }
.ec-cartRow .ec-cartRow__amountColumn .ec-cartRow__amountUpDown { display: flex; }

/* 小計: 独立した小計列は使わず、商品テキスト内の「小計：」表記に統一 */
.ec-cartRow .ec-cartRow__subtotalColumn { display: none; }
.ec-cartRow .ec-cartRow__summary .ec-cartRow__sutbtotalSP { display: block; font-weight: normal; margin-top: 6px; }

/* 商品名は太字にしない（.ec-cartRow__summary の font-weight:bold を打ち消す） */
.ec-cartRow .ec-cartRow__summary .ec-cartRow__name,
.ec-cartRow .ec-cartRow__summary .ec-cartRow__name a { font-weight: normal; }

/* ---- PC (≥768px): 3 カラム（左=画像+削除 / 中=商品情報 / 右=数量）。商品情報・数量は上下中央 ---- */
@media (min-width: 768px) {
  .ec-cartRow {
    grid-template-columns: 160px 1fr 140px;
    grid-template-rows: auto auto;
    column-gap: 24px;
    align-items: center;
  }
  .ec-cartRow .ec-cartRow__img            { grid-column: 1; grid-row: 1; width: 160px; min-width: 160px; max-width: 160px; }
  .ec-cartRow > .ec-cartRow__delColumn    { grid-column: 1; grid-row: 2; align-self: start; }   /* 画像の真下 */
  .ec-cartRow .ec-cartRow__summary        { grid-column: 2; grid-row: 1 / 3; }                   /* 画像+削除の高さに対し中央 */
  .ec-cartRow > .ec-cartRow__amountColumn { grid-column: 3; grid-row: 1 / 3; text-align: center; }
  .ec-cartRow .ec-cartRow__amountColumn .ec-cartRow__amountUpDown { justify-content: center; }
}

@media (max-width: 767px) {
  .ec-cartRole__cart { padding: 0 8px; }
  .ec-cartRow {
    grid-template-columns: 100px 1fr;
    grid-template-rows: auto auto;
    column-gap: 14px;
    align-items: start;
  }
  .ec-cartRow .ec-cartRow__img            { grid-column: 1; grid-row: 1; }
  .ec-cartRow .ec-cartRow__summary        { grid-column: 2; grid-row: 1; align-self: start; }
  .ec-cartRow > .ec-cartRow__delColumn    { grid-column: 1; grid-row: 2; align-self: start; margin-top: 4px; }  /* 画像の下 */
  .ec-cartRow > .ec-cartRow__amountColumn { grid-column: 2; grid-row: 2; align-self: start; text-align: left; margin-top: 4px; }  /* 商品情報の下 */
  .ec-cartRow .ec-cartRow__amountColumn .ec-cartRow__amountUpDown { justify-content: flex-start; }
}

.ec-progress .ec-progress__label { text-wrap: balance; }

.badge--outofstock { background: #fff; color: #222; border: 1px solid #888; }

/* アウトレット商品バッジ（カテゴリ46配下）。CAMPAIGN と同じ白地＋赤枠。アウトレット時は SALE の代わりに表示 */
.badge--outlet { background: #fff; color: var(--woollen-primary); border: 1px solid var(--woollen-primary); }
.badge--timesale { background: #ffba17; color: #fff; }
.card__badges { flex-wrap: wrap; }

.card__thumbs { min-width: 0; }
.card__thumbs img { flex: 0 1 38px; min-width: 0; height: auto; aspect-ratio: 1; }
@media (min-width: 768px) {
  .card__sub { flex-wrap: wrap-reverse; row-gap: 6px; }
}

.err-header { border-bottom: 1px solid #eee; padding: 18px 14px; text-align: center; }
.err-header img { height: 28px; width: auto; }
.err-footer { border-top: 1px solid #eee; margin-top: 40px; padding: 24px 14px; text-align: center; }
.err-footer__links { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px 20px; list-style: none; margin: 0 0 14px; padding: 0; }
.err-footer__links a { font-size: 13px; color: #444; text-decoration: none; }
.err-footer__links a:hover { text-decoration: underline; }
.err-footer__copyright { font-size: 11px; color: #888; margin: 0; }
/* エラーコードの数字は黒。common.css は #c83939(赤=SALE/OUTLET用アクセント)なので上書きする */
.err-code { color: #222; }

.wl-mega { display: none; }

@media (min-width: 1200px) {
  .wl-megawrap { position: relative; display: flex; align-items: center; }

  .wl-mega {
    display: block;
    position: absolute; top: calc(100% + 12px); left: 50%;
    transform: translateX(-50%) translateY(4px);
    padding: 22px 26px;
    background: #fff; border: 1px solid #e6e6e6;
    box-shadow: 0 14px 34px rgba(0,0,0,.12);
    z-index: 60;  /* .l-header(sticky, z-index:50) の内側で本文より前面に */
    opacity: 0; visibility: hidden; pointer-events: none;
    transition: opacity .18s ease, transform .18s ease, visibility 0s linear .18s;
  }
  .wl-megawrap:hover .wl-mega,
  .wl-megawrap:focus-within .wl-mega {
    opacity: 1; visibility: visible; pointer-events: auto;
    transform: translateX(-50%) translateY(0);
    transition: opacity .18s ease, transform .18s ease, visibility 0s;
  }
  /* リンク下端とパネル上端の隙間でホバーが切れないよう透明の橋を渡す */
  .wl-mega::before { content: ""; position: absolute; left: 0; right: 0; top: -14px; height: 14px; }

  .wl-mega__cols { display: flex; gap: 44px; }
  .wl-mega__head {
    display: block; margin-bottom: 12px; padding-bottom: 8px;
    border-bottom: 1px solid #e6e6e6;
    font-family: var(--wl-font-en); font-size: 12px; font-weight: 700;
    letter-spacing: .12em; color: #222;
  }
  .wl-mega__list { margin: 0; padding: 0; list-style: none; }
  /* 行の縦 padding 8px = 当たり判定約37px（5px だと下段の項目が押しにくい指摘 2026-07-26） */
  .wl-mega__list a {
    display: block; padding: 8px 0;
    font-size: 13px; line-height: 1.6; color: #444;
    text-decoration: none; white-space: nowrap; transition: color .15s;
  }
  .wl-mega__list a:hover { color: var(--woollen-primary); }
  /* BRANDS は1列。項目数が多いので少し詰める */
  .wl-mega--brands { min-width: 210px; }
  /* 末尾の「ブランド一覧」は区切って強調 */
  .wl-mega--brands .wl-mega__list li:last-child {
    margin-top: 8px; padding-top: 10px; border-top: 1px solid #e6e6e6;
  }
  .wl-mega--brands .wl-mega__list li:last-child a { font-weight: 600; color: #222; }

  .l-header__mainnav .l-catnav__item { position: relative; padding-bottom: 16px !important; margin-bottom: -12px; }
  .l-header__mainnav .l-catnav__item::after {
    content: ""; position: absolute; left: 0; right: 0; bottom: 12px; height: 1px;
    background: currentColor; transform: scaleX(0); transition: transform .2s ease;
  }
  .l-header__mainnav .l-catnav__item:hover::after,
  .wl-megawrap:hover .l-catnav__item::after { transform: scaleX(1); }
}

/* ハンバーガーに「MENU」を添える（PC/SP）。三本線＋MENU を1つのユニットとして他アイコンと中央揃え（案B）。 */
.l-header__menulabel { font-size: 9px; line-height: 1; letter-spacing: .06em; color: #222; white-space: nowrap; }
/* PC（flex column）: MENU は flex item として三本線の下に。線は幅22px・中央寄せ。 */
.l-header__hamb-pc-btn { width: 24px; align-items: center; gap: 4px; }
.l-header__hamb-pc-btn span { width: 22px; }
.l-header__hamb-pc-btn .l-header__menulabel { flex: none; height: auto; width: auto; background: none; margin-top: 2px; }
.l-header__hamb { height: 35px; }
.l-header__hamb .l-header__menulabel {
  position: absolute; top: 23px; left: 50%; right: auto; transform: translateX(-50%);
  height: auto; width: auto; background: none;
}
/* ヘッダーのアイコン行を上下中央に揃える */
.l-header__topicons, .l-header__icons { align-items: center; }

/* 簡易ヘッダー(.p-simplenav) の SP: 検索アイコンは不要 */
.p-simplenav .l-header__icons [data-search-open] { display: none; }

@media (min-width: 768px) {
  .ec-login .ec-grid2 { display: block; }
  .ec-login .ec-grid2 .ec-grid2__cell { width: 100%; }
}

.ec-login { margin: 0 0 20px; padding: 24px 16px; }
@media (min-width: 768px) {
  .ec-login { margin-bottom: 0; padding: 30px 32px 40px; }
}
/* ログインボタンと下のリンク群(パスワード再発行/新規会員登録)が詰まっているので余白を追加 */
.ec-login .ec-login__actions { margin-bottom: 20px; }
/* 注記をエラーメッセージ内へ移したため、入力欄下の標準余白(style.css 40px)は不要（2026-08-26指示） */
.ec-login .ec-login__input { margin-bottom: 0; }
/* Amazonでログインボタン下の注記（AmazonPayV2プラグイン挿入・不可侵）: ボタンとの間に余白を追加（2026-08-26指示） */
.div_AmazonLogin p.small { margin-top: 8px; }
.ec-login .div_AmazonLogin { margin-bottom: 0; }
/* ゲスト購入ページの Amazon Pay ボタン（システム側スニペット挿入・不可侵）: SDK が inline で幅600pxを当てるため中央寄せ＋下に余白（2026-08-27指示） */
#AmazonPayButtonGuest { margin: 0 auto 24px; }
/* 縦積みにしたのでリンクの左インデント(標準 margin-left:20px)は不要 */
@media (min-width: 768px) {
  .ec-login .ec-login__link { margin-left: 0; }
}
/* ログイン: 自動ログインチェック・リンク群の文字を小さく（2026-07-24 指示で 13px。マイページ/カートフロー共通） */
.ec-login .ec-checkbox label { font-size: 13px; }
.ec-login .ec-login__link { font-size: 13px; }
.ec-login .ec-login__link .ec-link i { margin-right: 6px; }

.wl-signup { margin: 24px 0 0; padding: 24px 16px; background: #f3f4f4; }
.wl-signup__title { margin: 0 0 8px; font-size: 15px; font-weight: 700; letter-spacing: .04em; color: #222; text-align: center; }
.wl-signup__text { margin: 0 0 16px; font-size: 13px; line-height: 1.9; color: #222; }
.wl-signup__btn {
  display: flex; align-items: center; justify-content: center;
  width: 100%; height: 56px;
  background: #222; color: #fff;
  font-size: 14px; font-weight: 700; letter-spacing: .08em;
  text-decoration: none; transition: background .2s;
}
.wl-signup__btn:hover, .wl-signup__btn:focus { background: #000; color: #fff; text-decoration: none; }
.wl-signup__btn i { margin-right: 8px; font-size: 15px; }
@media (min-width: 768px) {
  .wl-signup { margin-top: 32px; padding: 30px 32px 40px; }
  .wl-signup__title { font-size: 16px; margin-bottom: 10px; }
  .wl-signup__text { font-size: 14px; margin-bottom: 20px; }
}
.ec-grid3__cell2 > .wl-signup { margin-bottom: 24px; }
@media (min-width: 768px) {
  .ec-grid3__cell2 > .wl-signup { margin-bottom: 0; }
}

.ec-guest { padding: 24px 16px; display: flex; align-items: center; }
.ec-guest .ec-guest__inner { display: block; width: 100%; }
@media (min-width: 768px) {
  .ec-guest { padding: 30px 32px 40px; }
}
/* ゲスト購入ボックスの説明文は左寄せ＋文節単位で改行（2026-08-27指示）。ボタンは中央寄せのまま */
.ec-guest .ec-guest__inner .wl-guest-lead { text-align: left; }
.wl-phrase { display: inline-block; }
.ec-guest .ec-guest__actions .ec-blockBtn--cancel {
  display: flex; align-items: center; justify-content: center;
  height: auto; min-height: 56px; line-height: 1.4; white-space: normal;
  font-size: 14px; font-weight: 400; letter-spacing: .02em;
  background: #fff; border-color: #ccc;
}
.ec-guest .ec-guest__actions .ec-blockBtn--cancel:hover {
  background: #f7f7f7; border-color: #999;
}
.ec-guest .wl-guest-notes { list-style: none; margin: 12px 0 0; padding: 0; text-align: left; font-size: 13px; line-height: 1.7; color: #222; }
.ec-guest .wl-guest-notes li { padding-left: 1.2em; text-indent: -1.2em; }
.ec-guest .wl-guest-notes li::before { content: '※'; }
@media (min-width: 768px) {
  .ec-grid3 .ec-grid3__cell2 { width: 60%; }
  .ec-grid3 .ec-grid3__cell { width: 40%; }
}
@media (min-width: 768px) {
  #page_shopping_login .ec-grid3 { display: grid; grid-template-columns: 3fr 2fr; grid-template-rows: auto 1fr; row-gap: 16px; }
  #page_shopping_login .ec-grid3__cell2 { display: contents; }
  #page_shopping_login #shopping_login { grid-column: 1; grid-row: 1 / 3; display: flex; flex-direction: column; }
  #page_shopping_login #shopping_login > .ec-login { flex: 1 1 auto; }
  #page_shopping_login .ec-grid3__cell2 > .wl-signup { grid-column: 2; grid-row: 1; margin: 0 16px; }
  #page_shopping_login .ec-grid3__cell { grid-column: 2; grid-row: 2; width: auto; }
}

#notification_default_index { display: none; }
#ltp_mypage_navi { display: none; }
.ec-welcomeMessage { display: grid; grid-template-columns: 1fr auto; align-items: center; row-gap: 4px; }
.ec-welcomeMessage p { grid-column: 1; margin: 0; }
.ec-welcomeMessage p,
.ec-welcomeMessage p + p { color: #222; }
/* 所持ポイント行は 14px（2026-08-06 指示）。customize.css の 13px を上書き */
.ec-welcomeMessage p + p { font-size: 14px; }
.wl-nobr { white-space: nowrap; }
.wl-pointIcon {
  width: 32px; height: 32px; vertical-align: -11px; margin-right: 7px;
  color: #f0a500;
}
/* ログアウトボタン（アウトライン。hover で反転）。ポイント非表示設定でも右端中央に収まるよう span 2 */
.wl-mypage-logout {
  grid-column: 2; grid-row: 1 / span 2; align-self: center; padding: 6px 20px; text-align: center;
  border: 1px solid #222; background: #fff; color: #222;
  font-size: 12px; letter-spacing: .04em; text-decoration: none; white-space: nowrap;
  transition: background .2s, color .2s;
}
.wl-mypage-logout:hover { background: #222; color: #fff; }
.wl-mypageNote { margin: 0 0 20px; font-size: 14px; line-height: 1.8; color: #666; }
@media (max-width: 767px) {
  .ec-navlistRole .ec-navlistRole__item a { font-size: 12px; padding: 13px 4px; }
}
.wl-pointHistory { padding: 14px; overflow-x: auto; }
.point-table { width: 100%; border-collapse: collapse; font-size: 13px; min-width: 520px; }
.point-table th { font-size: 11px; letter-spacing: .04em; color: #222; font-weight: 700; text-align: left; padding: 0 10px 10px; border-bottom: 2px solid #222; }
.point-table th.r { text-align: right; }
.point-table th.w-date { width: 100px; word-break: keep-all; } /* 「利用日/付与日」は <wbr>（/の直後）でのみ文節改行 */
.point-table th.w-amt { width: 90px; }
.point-table td { padding: 13px 10px; border-bottom: 1px solid #eee; vertical-align: top; }
.point-table tbody tr:last-child td { border-bottom: 0; }
.point-table .num { font-variant-numeric: tabular-nums; }
.point-table .date { color: #222; white-space: nowrap; }
.point-table .amt { text-align: right; font-weight: 700; white-space: nowrap; }
.point-table .bal { text-align: right; white-space: nowrap; }
.point-table .col-add { color: #1aa358; }
.point-table .col-use { color: #c83939; }
.point-table .col-expire { color: #c83939; } /* 失効もマイナス表記のため赤に統一（2026-07-17 指示。クラスは種別区別のため温存） */
/* SP: 横スクロールなしで収める（2026-07-25 指示）。min-width を解除し列を圧縮・内容列は折り返し */
@media (max-width: 767px) {
  .point-table { min-width: 0; font-size: 12px; }
  .point-table th, .point-table td { padding: 10px 6px; }
  .point-table th.w-date { width: auto; }
  .point-table th.w-amt { width: auto; }
  .point-table .date { font-size: 11.5px; }
}
.wl-ptsum {
  display: grid; grid-template-columns: 1fr; gap: 0;
  background: transparent; border: 0;
  border-top: 1px solid #e5e5e5; border-bottom: 1px solid #e5e5e5;
  margin: 0 0 28px;
}
.wl-ptsum__tile {
  background: transparent; padding: 12px 14px; text-align: left;
  border-top: 1px solid #e5e5e5;
  display: grid; grid-template-columns: auto auto; justify-content: start;
  column-gap: 14px; align-content: center;
}
.wl-ptsum__tile:first-child { border-top: 0; }
.wl-ptsum__tile--normal,
.wl-ptsum__tile--ltp { background: #f3f3f3; }
/* ラベルとポイント数の間はアキ無し（2026-08-06 指示） */
.wl-ptsum__label { grid-column: 2; font-size: 12px; color: #222; letter-spacing: .06em; margin-bottom: 0; }
.wl-ptsum__value { grid-column: 2; display: flex; flex-wrap: wrap; align-items: baseline; font-size: 27px; font-weight: 600; line-height: 1.2; color: #222; font-variant-numeric: tabular-nums; }
.wl-ptsum__value small { font-size: 12px; font-weight: 400; color: #222; margin-left: 2px; }
.wl-ptsum__note { margin-left: 12px; font-size: 12px; font-weight: 400; line-height: 1.4; color: #222; white-space: nowrap; font-variant-numeric: tabular-nums; }
.wl-ptsum__icon { grid-column: 1; grid-row: 1 / span 3; align-self: center; width: 34px; height: 34px; }
.wl-ptsum__tile--total .wl-ptsum__icon,
.wl-ptsum__tile--normal .wl-ptsum__icon { color: #f0a500; }
.wl-ptsum__tile--ltp .wl-ptsum__icon { color: #c83939; }
/* 期間限定タイル内の失効予定注記。値までは赤くしない（赤は失効の警告だけに絞る） */
.wl-ptsum__note--warn { color: var(--woollen-primary, #c83939); }
/* 旧・失効予定を独立タイルにしていた頃の指定（現在は未使用。復活時用に温存） */
.wl-ptsum__tile--warn .wl-ptsum__value,
.wl-ptsum__tile--warn .wl-ptsum__note { color: var(--woollen-primary, #c83939); }
/* 明細の上罫線は無し（2026-08-06 指示）。直上のサマリーが下罫線を持つため二重線になっていた */
.wl-ptledger { border-top: 0; }
/* SP は 1行目=日付（全幅）/ 2行目=内容+±pt。PC で 日付|内容|±pt の3列にする（下の min-width ブロック） */
.wl-ptledger__row {
  display: grid; grid-template-columns: minmax(0, 1fr) auto; /* 内容|±pt（チップは廃止 2026-07-25） */
  gap: 2px 10px; align-items: center;
  padding: 13px 2px; border-bottom: 1px solid #e9e7e4;
}
.wl-ptledger__date { grid-column: 1 / -1; font-size: 11.5px; white-space: nowrap; color: #222; font-variant-numeric: tabular-nums; }
.wl-ptledger__title { margin: 0; font-size: 14px; font-weight: 700; color: #222; line-height: 1.6; }
.wl-ptledger__meta {
  display: flex; flex-wrap: wrap; align-items: center; gap: 4px 14px;
  margin-top: 3px; font-size: 11.5px; color: #222; font-variant-numeric: tabular-nums;
}
.wl-spbr { display: inline; }
.wl-ptledger__due { display: block; margin-top: 6px; font-size: 10.5px; color: #222; white-space: nowrap; font-variant-numeric: tabular-nums; }
.wl-ptledger__amount { text-align: right; min-width: 74px; line-height: 1.2; }
.wl-ptledger__pt { display: block; font-size: 16px; font-weight: 600; color: #1aa358; letter-spacing: .02em; font-variant-numeric: tabular-nums; }
.wl-ptledger__pt small { font-size: 11px; font-weight: 400; margin-left: 1px; }
.wl-ptledger__row.is-use .wl-ptledger__pt,
.wl-ptledger__row.is-expired .wl-ptledger__pt { color: #c83939; }
/* ---- PC 拡張（サマリー / 明細） ---- */
@media (min-width: 768px) {
  /* サマリーは3枚を横並び・仕切りを横罫から縦罫へ・グループをタイル中央に・アイコンと数字を少し大きく */
  .wl-ptsum { grid-template-columns: repeat(3, 1fr); }
  .wl-ptsum__tile {
    padding: 14px 14px 13px; justify-content: center;
    border-top: 0; border-left: 1px solid #e5e5e5;
  }
  .wl-ptsum__tile:first-child { border-left: 0; }
  .wl-ptsum__icon { width: 40px; height: 40px; }
  .wl-ptsum__value { font-size: 30px; }
  /* 明細は 日付|内容|±pt の3列（SP は日付が1行目に全幅） */
  .wl-spbr { display: none; }
  .wl-ptledger__row { grid-template-columns: 118px minmax(0, 1fr) auto; gap: 8px 18px; padding: 15px 2px; }
  .wl-ptledger__date { grid-column: auto; font-size: 12.5px; }
  .wl-ptledger__amount { min-width: 92px; }
  .wl-ptledger__pt { font-size: 18px; }
}
/* 旧・暫定ホスト時代の見出し（現在は未使用。復活時用に温存） */
.wl-pointHistory--ltp, .wl-pointHistory--sample { margin-top: 24px; }
.wl-pointHistory__sub { font-size: 14px; font-weight: 700; margin: 0 0 8px; }

/* 一覧の上罫線は無し（2026-08-06 指示・.wl-ptledger と同じ扱い）。直上のサマリーが下罫線を持つため二重線になっていた */
.wl-ltplist { border-top: 0; }
/* SP は縦積み（名前・期限 → 残pt・通知トグル）。PC で左右2カラムにする（下の min-width ブロック） */
.wl-ltplist__row {
  display: flex; flex-direction: column; align-items: stretch; gap: 8px;
  padding: 13px 2px; border-bottom: 1px solid #e9e7e4;
}
.wl-ltplist__body { min-width: 0; }
.wl-ltplist__name { margin: 0; font-size: 14px; font-weight: 700; color: #222; line-height: 1.6; }
.wl-ltplist__due { margin: 3px 0 0; font-size: 11.5px; color: #222; font-variant-numeric: tabular-nums; }
.wl-ltplist__side {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between;
  gap: 22px; flex: 0 0 auto;
}
.wl-ltplist__pt {
  font-size: 16px; font-weight: 600; color: #222; letter-spacing: .02em;
  font-variant-numeric: tabular-nums; white-space: nowrap;
}
.wl-ltplist__pt small { font-size: 11px; font-weight: 400; color: #222; margin-left: 1px; }
.wl-ltplist .wl-toggle { display: flex; align-items: center; gap: 8px; font-size: 11.5px; color: #222; cursor: pointer; }
.wl-ltplist .wl-toggle input { position: absolute; opacity: 0; pointer-events: none; }
.wl-ltplist .wl-toggle__track {
  width: 36px; height: 20px; border-radius: 999px; background: #d3d0cc;
  position: relative; flex: 0 0 auto; transition: background .18s;
}
.wl-ltplist .wl-toggle__track::after {
  content: ""; position: absolute; top: 2px; left: 2px; width: 16px; height: 16px;
  border-radius: 50%; background: #fff; box-shadow: 0 1px 2px rgba(0,0,0,.28); transition: transform .18s;
}
.wl-ltplist .wl-toggle input:checked + .wl-toggle__track { background: #222; }
.wl-ltplist .wl-toggle input:checked + .wl-toggle__track::after { transform: translateX(16px); }
.wl-ltplist .wl-toggle input:focus-visible + .wl-toggle__track { outline: 2px solid #2469ff; outline-offset: 2px; }
@media (min-width: 768px) {
  .wl-ltplist__row { flex-direction: row; align-items: center; justify-content: space-between; gap: 10px 16px; padding: 15px 2px; }
  .wl-ltplist__side { justify-content: flex-start; }
  .wl-ltplist__pt { font-size: 18px; }
}

#couponNotificationPopup .coupon-notification-modal { border-radius: 0; }
#couponNotificationPopup .coupon-notification-title { color: #1c1d22; letter-spacing: .04em; }
#couponNotificationPopup .coupon-notification-card {
  position: relative; overflow: hidden;
  border: 1px solid #e3e3e6; border-radius: 0;
  background: #f6f6f7; padding: 20px 14px 16px;
}
#couponNotificationPopup .coupon-notification-card::before { content: none; }
#couponNotificationPopup .coupon-notification-card > * { position: relative; z-index: 1; }
#couponNotificationPopup .coupon-notification-coupon-name { margin: 0; font-size: 13px; font-weight: 400; color: #55565e; }
#couponNotificationPopup .coupon-notification-coupon-discount {
  margin: 8px 0 10px; font-size: 26px; font-weight: 700; color: #1c1d22;
  line-height: 1.25; word-break: break-word;
}
#couponNotificationPopup .coupon-notification-coupon-code { margin: 0 0 6px; font-size: 12px; color: #55565e; }
#couponNotificationPopup .coupon-notification-coupon-code span { font-weight: 700; letter-spacing: .05em; color: #1c1d22; }
#couponNotificationPopup .coupon-notification-coupon-period { margin: 0; font-size: 11px; color: #7c7d85; }
/* モーダルの金色アクセント（ドット・リンク・矢印）をクーポン配色へ */
#couponNotificationPopup .coupon-notification-dots button.is-active { background: #4a3fa0; }
#couponNotificationPopup .coupon-notification-prev,
#couponNotificationPopup .coupon-notification-next { border-color: #e3e3e6; color: #55565e; border-radius: 0; }
#couponNotificationPopup .coupon-notification-link { color: #1c1d22; text-underline-offset: 3px; }

.help-text { font-size: 12px; color: #222; }

.form-row { padding: 8px 0; }
@media (min-width: 768px) {
  .form-row { row-gap: 0; padding: 7px 0; }
  .form-row > *:not(.form-row__label) ~ *:not(.form-row__label) { margin-top: 10px; }
}
.form-row > *:has(+ .help-text) input,
.form-row > *:has(+ .help-text) select,
.form-row > *:has(+ .help-text) textarea { margin-bottom: 0; }
/* 上の縦積み一括指定と同詳細度(0,3,0)。後勝ちさせるため必ずこの位置（後ろ）に置く */
.form-row > .help-text:not(.form-row__label) { margin-top: 6px; }

.ec-orderCoupon .shopping-coupon-item label { font-size: 14px; }
.ec-orderCoupon .shopping-coupon-item .radio { top: 20px; }
.ec-orderCoupon .shopping-coupon-form { margin-top: 0; }
.ec-orderCoupon .coupon-name-textarea { margin-top: 0; }
.ec-orderCoupon .shopping-coupon-button { height: 40px; }

#AreaDelivery-product_area #delivery_date { font-size: 14px; color: #222; }

.ec-productRole #AreaDelivery-product_area {
  background: transparent; border-radius: 0; padding: 0; margin: 16px 0 0;
}
#AreaDelivery-product_area .area-delivery-label { font-size: 14px; color: #222; }
#AreaDelivery-product_area select.form-control {
  font-size: 13px; padding: 6px 12px; height: auto; line-height: 1.4;
}

/* 獲得ポイント: 黒・少し大きく（2026-07-24 指示）。customize.css の 12px/グレーを上書き */
.ec-productRole .pd-summary__points { font-size: 14px; color: #222; }

.ec-productRole .pd-detail { color: #222; }

.ec-productRole .pd-tags a { font-size: 14px; color: #222; }
.ec-productRole .pd-tags a::before {
  content: "\f02b"; /* fa-tag */
  font-family: "Font Awesome 6 Free"; font-weight: 900;
  font-size: 12px; margin-right: 6px;
}
.ec-productRole .pd-tags a:hover { color: var(--woollen-primary); }
/* チップ行の位置: 上マージン追加・内側パディング削除（2026-07-24 指示。customize の 12px 14px 4px を打ち消し） */
.ec-productRole .pd-tags { margin-top: 16px; padding: 0; }

/* 販売価格行（.ec-price.pd-summary__priceRow）: customize の margin-top 14px/4px を 0 に（2026-07-24 指示） */
.ec-productRole .ec-price.pd-summary__priceRow { margin-top: 0; }

@media (min-width: 768px) {
  .ec-productRole .ec-productRole__price { font-size: 20px; }
}

.ec-productRole .ec-productRole__priceRegular + .ec-productRole__price .pd-summary__price {
  color: var(--woollen-primary);
}
/* 割引時は(税込)も赤字に（2026-08-26指示。カード側の.card__price--sale smallと同方針） */
.ec-productRole .ec-productRole__priceRegular + .ec-productRole__price .pd-summary__price small {
  color: var(--woollen-primary);
}

/* 通常価格（取消線）行: customize の 14px を 13px に（2026-07-24 指示） */
.ec-productRole .pd-summary__priceDel { font-size: 13px; }

#ec-productRole__pinpoint_sale { display: none; }

.ec-productRole .ec-productRole__product-plus { margin-top: 8px; }
.ec-productRole .product-plus-table { width: 100%; border-collapse: collapse; }
.ec-productRole .product-plus-table th,
.ec-productRole .product-plus-table td {
  padding: 10px 14px; border-bottom: 1px solid #eee; vertical-align: top;
  font-size: 13px; line-height: 1.8; text-align: left; font-weight: 400;
}
.ec-productRole .product-plus-table th { color: #222; width: 110px; padding-left: 10px; padding-right: 10px; background: #f5f5f5; border-bottom-color: #ddd; }
.ec-productRole .product-plus-table td { color: #222; }
@media (min-width: 768px) {
  .ec-productRole .product-plus-table th { width: 200px; padding-left: 14px; padding-right: 14px; }
}

.ec-productRole .wl-sizeTable__title {
  margin: 0 0 8px; font-size: 14px; font-weight: 700; line-height: 1.6; color: #222;
}
.ec-productRole .wl-sizeTable__scroll { width: 100%; }
.ec-productRole .wl-sizeTable__table { width: 100%; }
.ec-productRole .wl-sizeTable__table th,
.ec-productRole .wl-sizeTable__table td {
  padding: 10px 6px; border-bottom: 1px solid #eee; vertical-align: middle;
  font-size: 13px; line-height: 1.8; font-weight: 400; text-align: center; color: #222;
}
.ec-productRole .wl-sizeTable__table th.wl-sizeTable__corner,
.ec-productRole .wl-sizeTable__table th.wl-sizeTable__item {
  width: 110px; min-width: 110px; padding-left: 10px; padding-right: 10px;
  background: #f5f5f5; text-align: left; white-space: normal;
}
.ec-productRole .wl-sizeTable__table th.wl-sizeTable__corner,
.ec-productRole .wl-sizeTable__table th.wl-sizeTable__size {
  background: #f5f5f5; border-bottom-color: #ddd; font-weight: 700;
}
.ec-productRole .wl-sizeTable__table th.wl-sizeTable__size,
.ec-productRole .wl-sizeTable__table td.wl-sizeTable__value { border-left: 1px solid #eee; }
.ec-productRole .wl-sizeTable + .ec-productRole__product-plus { margin-top: 16px; }
@media (min-width: 768px) {
  .ec-productRole .wl-sizeTable__table th,
  .ec-productRole .wl-sizeTable__table td { padding-left: 14px; padding-right: 14px; }
  .ec-productRole .wl-sizeTable__table th.wl-sizeTable__corner,
  .ec-productRole .wl-sizeTable__table th.wl-sizeTable__item {
    width: 200px; min-width: 200px; padding-left: 14px; padding-right: 14px;
  }
}

.ec-productRole .product-plus-note { margin: 14px 2px 0; font-size: 13px; line-height: 1.9; color: #222; }
.ec-productRole .product-plus-sizeLink {
  display: inline-flex; align-items: center; gap: 7px; margin-top: 14px; padding: 0;
  border: 0; background: none; color: #222; font-size: 13px; cursor: pointer;
}
.ec-productRole .product-plus-sizeLink i { font-size: 14px; color: #555; }
.ec-productRole .product-plus-sizeLink__label { text-decoration: underline; text-underline-offset: 3px; }
.ec-productRole .product-plus-sizeLink:hover { color: #888; }
.wl-sizemodal { width: 100%; background: #fff; }
.wl-size-fancybox .fancybox__slide,
.fancybox__container:has(.wl-sizemodal) .fancybox__slide { padding: 16px 12px; }
.wl-size-fancybox .f-html,
.fancybox__container:has(.wl-sizemodal) .f-html {
  width: 100%; max-width: 720px; height: auto; max-height: 92vh; margin: 0 auto;
  overflow-y: auto; box-sizing: border-box; padding: 44px 20px 20px; background: #fff;
}
@media (max-width: 767px) {
  .wl-size-fancybox .fancybox__slide,
  .fancybox__container:has(.wl-sizemodal) .fancybox__slide { padding: 12px 8px; }
}
.wl-sizemodal__body { display: flex; flex-direction: column; gap: 12px; }
.wl-sizemodal__img { display: block; width: 100%; height: auto; }

.wl-spmega { display: none; }

@media (max-width: 767.98px) {
  .wl-spmega {
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows .22s ease;
  }
  .wl-spmega.is-open { grid-template-rows: 1fr; }
  /* 閉状態はアニメ完了後に visibility:hidden でフォーカス順序からも除外する */
  .wl-spmega__clip {
    overflow: hidden; min-height: 0;
    visibility: hidden; transition: visibility 0s linear .22s;
  }
  .wl-spmega.is-open .wl-spmega__clip { visibility: visible; transition: visibility 0s; }
  /* padding は __body に持たせる（__clip に置くと閉時に padding 分の高さが残る） */
  .wl-spmega__body {
    padding: 14px 16px 16px;
    background: #fafafa; border-top: 1px solid #eee;
  }
  .wl-spmega__cols { display: grid; grid-template-columns: 1fr 1fr; gap: 0 20px; }
  .wl-spmega__head {
    display: block; margin-bottom: 8px; padding-bottom: 6px;
    border-bottom: 1px solid #e6e6e6;
    font-family: var(--wl-font-en); font-size: 12px; font-weight: 700;
    letter-spacing: .12em; color: #222;
  }
  .wl-spmega__list { margin: 0; padding: 0; list-style: none; }
  .wl-spmega__list a {
    display: block; padding: 8px 0;
    font-size: 13px; line-height: 1.5; color: #444; text-decoration: none;
  }
  .wl-spmega__list--brands { column-count: 2; column-gap: 20px; }
  .wl-spmega__list--brands li { break-inside: avoid; }
  .wl-spmega__all {
    display: block; margin-top: 12px; padding: 10px;
    border: 1px solid #ddd; background: #fff;
    text-align: center; font-size: 13px; color: #222; text-decoration: none;
  }
  /* 開いている側のトリガーの視覚フィードバック（パネル背景と地続きに見せる） */
  .l-catnav__item.is-open { background: #fafafa; }
}
.ec-productRole .product-plus-table .product-plus-image {
  max-width: 100%; height: auto; display: block; margin: 2px 0;
}

#AreaDelivery-product_area #delivery_date::before,
#AreaDelivery-product_area .area-delivery-label::before,
.ec-productRole .pd-summary__points::before {
  display: inline-block; width: 20px; text-align: center;
  margin-right: 6px; color: #555;
}
#AreaDelivery-product_area #delivery_date::before {
  content: "\f274";   font-family: "Font Awesome 6 Free"; font-weight: 400; font-size: 15px;
}
#AreaDelivery-product_area .area-delivery-label::before {
  content: "\f3c5"; /* fa-location-dot */
  font-family: "Font Awesome 6 Free"; font-weight: 900; font-size: 15px;
}
.ec-productRole .pd-summary__points::before {
  content: "\24C5"; /* Ⓟ */
  font-size: 16px; line-height: 1; font-weight: 400; vertical-align: -1px;
}
.ec-productRole .pd-summary__points { margin-top: 10px; }

.pd-share__icon {
  display: inline-flex; align-items: center; justify-content: center;
  width: 34px; height: 34px; font-size: 22px; border-radius: 4px; overflow: visible;
}
.pd-share__icon .fa-x-twitter  { color: #000; }
.pd-share__icon .fa-facebook-f { color: #1877f2; }
.pd-share__icon .fa-line       { color: #06c755; }
.pd-share { color: #222; }
/* 「この商品をシェアする」ラベル: common.css の 12px を 13px に（2026-08-26指示） */
.pd-share > span:not(.pd-share__icons) { font-size: 13px; display: inline-flex; align-items: center; gap: 6px; }

/* 返品・交換について（返品特約）リンク: 文字サイズをページ内の他の補足テキストに合わせ、上に余白を追加（2026-08-26指示） */
.pd-return-link { margin-top: 16px; font-size: 13px; color: #222; }
.pd-return-link a { display: inline-flex; align-items: center; gap: 6px; }

/* 商品カード: 商品名の上マージン（common.css の .card__name を .card 前置で上書き） */
.card .card__name { margin-top: 10px; }

.form-section__head,               /* common.css: 問い合わせ/会員登録/マイページ各フォームの節見出し */
.order-card__head,                 /* common.css: マイページ注文履歴カードの注文番号帯 */
.legal-chapter,                    /* customize.css: 利用規約/プライバシーの章見出し */
.ec-orderRole .ec-rectHeading h2 { /* customize.css: 注文詳細・カートフローの見出し帯 */
  background: #f3f3f3;
  color: #222;
}

@view-transition {
  navigation: auto;
}

/* ルート（＝ヘッダー以外のページ全体）のクロスフェードを少し上品に調整 */
::view-transition-old(root),
::view-transition-new(root) {
  animation-duration: 0.32s;
  animation-timing-function: ease;
}

.l-header {
  view-transition-name: wl-header;
}

@media (min-width: 768px) {
  .l-listing__side { view-transition-name: wl-filter; }
}
::view-transition-old(wl-filter),
::view-transition-new(wl-filter) { animation: none; }

/* OS/ブラウザの「視差効果を減らす」設定を尊重し、遷移アニメを無効化 */
@media (prefers-reduced-motion: reduce) {
  ::view-transition-group(*),
  ::view-transition-old(*),
  ::view-transition-new(*) {
    animation: none !important;
  }
}

.news-list .news-list__cat,
.news-list .news-list__cat--important,
.news-list .news-list__cat--info,
.news-list .news-list__cat--campaign,
.news-list .news-list__cat--restock,
.article-hero .news-list__cat,
.article-hero .news-list__cat--important,
.article-hero .news-list__cat--info,
.article-hero .news-list__cat--campaign,
.article-hero .news-list__cat--restock {
  width: 9.5em; padding: 2px 4px;
  border: 1px solid currentColor; background: #fff;
}
/* 一覧: .news-list--newsbar .news-list__date と同じ #888 */
.news-list .news-list__cat,
.news-list .news-list__cat--important,
.news-list .news-list__cat--info,
.news-list .news-list__cat--campaign,
.news-list .news-list__cat--restock { color: #888; }
/* 記事: .article-hero__date と同じ #666 */
.article-hero .news-list__cat,
.article-hero .news-list__cat--important,
.article-hero .news-list__cat--info,
.article-hero .news-list__cat--campaign,
.article-hero .news-list__cat--restock { color: #666; }

#AmazonBanner img { display: inline; }

.ec-featureRole { max-width: calc(1150px + 32px); padding-inline: 16px; margin-inline: auto; }

.ec-featureRole .ec-featureRole__content { font-weight: 400; }
body .article-body { font-weight: 400; }

.article-body ol,
.ec-featureRole__content ol { list-style: decimal; }
.article-body ul,
.ec-featureRole__content ul { list-style: disc; }
.article-body ol, .article-body ul,
.ec-featureRole__content ol, .ec-featureRole__content ul { padding-left: 1.6em; }
/* お知らせ本文は段落（common.css:744 の .article-body p）と同じ上下余白に揃える */
.article-body ol, .article-body ul { margin: 10px 0; }


.article-body a:not(.wp-element-button) { text-decoration: underline; }

.ec-featureRole__content .is-layout-flow > *,
.ec-featureRole__content .is-layout-constrained > * {
  margin-block-start: var(--wp--style--block-gap, 1.2rem);
  margin-block-end: 0;
}
.ec-featureRole__content .wp-block-columns-is-layout-flow > *,
.ec-featureRole__content .wp-block-columns-is-layout-constrained > * {
  margin-block-start: var(--wp--preset--spacing--50, 1.2rem);
  margin-block-end: 0;
}
.ec-featureRole__content .is-layout-flow > :first-child,
.ec-featureRole__content .is-layout-constrained > :first-child,
.ec-featureRole__content .wp-block-columns-is-layout-flow > :first-child,
.ec-featureRole__content .wp-block-columns-is-layout-constrained > :first-child { margin-block-start: 0; }
.ec-featureRole__content .is-layout-flow > :last-child,
.ec-featureRole__content .is-layout-constrained > :last-child,
.ec-featureRole__content .wp-block-columns-is-layout-flow > :last-child,
.ec-featureRole__content .wp-block-columns-is-layout-constrained > :last-child { margin-block-end: 0; }
.wl-featureProducts .p-grid { max-width: none; }
@media (min-width: 768px) {
  .wl-featureProducts .p-grid { padding-left: 40px; padding-right: 40px; }
}
.page-hero h1.page-hero__ja { margin: 0; font-weight: 500; }

.page-hero--article .page-hero__inner {
  width: 100%; max-width: 880px; margin: 0 auto;
  padding: 24px 14px; text-align: center;
}
@media (min-width: 768px) {
  .page-hero--article .page-hero__inner { padding: 24px; }
}

.wl-topbanner--outlet { text-decoration: none; color: inherit; }
.wl-outletbnr {
  position: relative; overflow: hidden;
  display: block; background: #f6f3ee;
}
.wl-outletbnr__loop {
  display: flex; align-items: center; justify-content: center; gap: 14px;
  padding: 18px 14px;
}
.wl-outletbnr__seal { flex: 0 0 auto; width: 34px; }
/* customize.css:499 の .wl-topbanner img{width:100%} を打ち消さずに枠内で効かせる */
.wl-topbanner--outlet .wl-outletbnr__seal img { width: 100%; height: auto; display: block; }
.wl-outletbnr__body { display: block; text-align: center; }
/* letter-spacing の末尾アキ分を text-indent で戻して光学的に中央へ */
.wl-outletbnr__ja {
  display: block; line-height: 1; color: #a5916e;
  font-size: 10px; letter-spacing: .32em; text-indent: .32em;
}
.wl-outletbnr__en {
  display: block; margin-top: 7px; line-height: 1; color: #353430;
  font-family: var(--wl-font-en); font-size: 27px; font-weight: 400;
  letter-spacing: .14em; text-indent: .14em;
}
/* 「― SALE ―」: 左右の細罫は擬似要素 */
.wl-outletbnr__sale { display: flex; align-items: center; justify-content: center; gap: 10px; margin-top: 9px; }
.wl-outletbnr__sale::before,
.wl-outletbnr__sale::after { content: ""; flex: 0 0 28px; height: 1px; background: #c7bfb2; }
.wl-outletbnr__saleTxt {
  line-height: 1; color: #a5916e;
  font-family: var(--wl-font-en); font-size: 10px; font-weight: 400;
  letter-spacing: .34em; text-indent: .34em;
}
/* リンクだと分かる右矢印（7/30 指示）。ループの外に置いて常時表示・位置は帯の右端中央 */
.wl-outletbnr__arrow {
  position: absolute; right: 12px; top: 50%; transform: translateY(-50%);
  line-height: 1; color: #a5916e; font-size: 14px;
}
/* PC: 文字サイズ・帯の高さは元画像（915x187 を 682px 幅で表示）に合わせて調整 */
@media (min-width: 768px) {
  .wl-outletbnr__loop { gap: 24px; padding: 30px 20px; }
  .wl-outletbnr__arrow { right: 20px; font-size: 17px; }
  .wl-outletbnr__seal { width: 44px; }
  .wl-outletbnr__ja { font-size: 11px; }
  .wl-outletbnr__en { margin-top: 9px; font-size: 44px; }
  .wl-outletbnr__sale { gap: 14px; margin-top: 12px; }
  .wl-outletbnr__sale::before,
  .wl-outletbnr__sale::after { flex-basis: 40px; }
  .wl-outletbnr__saleTxt { font-size: 12px; }
}


.wl-outletbnr { --wl-obnr-shift: 100px; }   /* SP: 帯の高さ ≒ 99px */
@media (min-width: 768px) {
  .wl-outletbnr { --wl-obnr-shift: 150px; } /* PC: 帯の高さ ≒ 148px */
}

.wl-topbanner--outlet.wl-anim .wl-outletbnr__seal,
.wl-topbanner--outlet.wl-anim .wl-outletbnr__body { transform: translateY(var(--wl-obnr-shift)); }
.wl-topbanner--outlet.is-anim .wl-outletbnr__seal,
.wl-topbanner--outlet.is-anim .wl-outletbnr__body {
  animation: wlOutletLoop 7s infinite both; will-change: transform;
}
/* 文字はシールより遅れて動き出す（抜け・入りとも同じズレ。周期が同じなのでズレは一定） */
.wl-topbanner--outlet.is-anim .wl-outletbnr__body { animation-delay: .22s; }
.wl-topbanner--outlet.is-anim .wl-outletbnr::after { animation: wlOutletShine 7s infinite both; }

@keyframes wlOutletLoop {
  0%   { transform: translateY(var(--wl-obnr-shift)); animation-timing-function: cubic-bezier(.16,.86,.3,1); }
  11%  { transform: translateY(0); animation-timing-function: linear; }
  86%  { transform: translateY(0); animation-timing-function: cubic-bezier(.6,0,.8,.2); }
  100% { transform: translateY(calc(var(--wl-obnr-shift) * -1)); }
}
/* 光沢: 静止区間の前半（1.4s〜2.7s あたり）で帯を左から右へ一度だけ通過 */
@keyframes wlOutletShine {
  0%, 20% { opacity: 0; transform: translateX(-150%) skewX(-16deg); }
  24%     { opacity: 1; }
  38%     { opacity: 0; transform: translateX(340%) skewX(-16deg); }
  100%    { opacity: 0; transform: translateX(340%) skewX(-16deg); }
}
.wl-outletbnr::after {
  content: ""; position: absolute; top: -10%; bottom: -10%; left: 0; width: 42%;
  background: linear-gradient(100deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.7) 50%, rgba(255,255,255,0) 100%);
  transform: translateX(-150%) skewX(-16deg); opacity: 0; pointer-events: none;
}
/* ※ ホバー時の動きは付けない（2026-07-30 指示「ホバーアニメーションは不要」） */
/* OS 側で「視差効果を減らす」が有効なら動きを止める（JS 側でも .wl-anim を付けない） */
@media (prefers-reduced-motion: reduce) {
  .wl-topbanner--outlet .wl-outletbnr__seal,
  .wl-topbanner--outlet .wl-outletbnr__body,
  .wl-topbanner--outlet .wl-outletbnr::after { animation: none !important; transition: none !important; }
  .wl-topbanner--outlet.wl-anim .wl-outletbnr__seal,
  .wl-topbanner--outlet.wl-anim .wl-outletbnr__body { transform: none; }
}


.hero-slider.swiper .hero-slider__track {
  aspect-ratio: auto; height: auto; max-height: none;
  transform: none;                     /* 初期位置。動かすのは Swiper のインライン style */
  transition-property: transform;
}
.hero-slider.swiper .hero-slider__item {
  position: relative; inset: auto;     /* SP のフェード式（absolute 重ね）を解除 */
  opacity: 1; pointer-events: auto;
  flex: 0 0 auto;                      /* 幅は Swiper がインラインで指定する */
  height: auto;
}
.hero-slider.swiper .hero-slider__link,
.hero-slider.swiper .hero-slider__item picture { height: auto; }
.hero-slider.swiper .hero-slider__item picture img,
.hero-slider.swiper .hero-slider__item > img {
  height: auto; object-fit: unset;     /* cover のトリミングをやめる */
}
@media (min-width: 768px) {
  .hero-slider.swiper[data-direction="horizontal"] .hero-slider__item { width: 80%; }
}

.hero-slider.swiper .hero-slider__dots {
  left: 50%; right: auto; width: auto; bottom: 14px;
  transform: translateX(-50%);
}
.hero-slider.swiper .hero-slider__dots .swiper-pagination-bullet {
  width: 8px; height: 8px; margin: 0; border-radius: 50%;
  background: rgba(255, 255, 255, .55); opacity: 1;
}
.hero-slider.swiper .hero-slider__dots .swiper-pagination-bullet-active { background: #fff; }
/* スライドが1枚でスワイプ不要なときは矢印を出さない（Swiper が付けるクラス） */
.hero-slider__nav.swiper-button-lock { display: none; }

.ec-modal .ec-modal-wrap {
  border-radius: 0; border-color: #e5e5e5;
  padding: 40px 0 32px; max-width: 480px;
}
.ec-modal #ec-modal-header {
  font-size: 14px; line-height: 1.7; color: #222; padding: 0 20px;
}
/* 縦積み＋等幅。PC は横並びで等分 */
.ec-modal .ec-modal-box .ec-role {
  display: flex; flex-direction: column; gap: 10px;
  margin-top: 24px; padding: 0 20px;
}
@media (min-width: 768px) {
  .ec-modal .ec-modal-box .ec-role { flex-direction: row; gap: 12px; }
  .ec-modal .ec-modal-box .ec-role > * { flex: 1 1 0; }
}
/* .btn / .btn--outline と同じ寸法・角なし。span 側にも cursor を残す */
.ec-modal .ec-inlineBtn--cancel,
.ec-modal .ec-inlineBtn--action {
  display: inline-flex; align-items: center; justify-content: center;
  width: 100%; min-height: 48px; padding: 12px 18px;
  font-size: 14px; font-weight: 400; letter-spacing: .04em;
  border-radius: 0; text-decoration: none; cursor: pointer;
}
.ec-modal .ec-inlineBtn--cancel {
  background: #fff; color: #222; border: 1px solid #222;
}
.ec-modal .ec-inlineBtn--cancel:hover {
  background: #f7f7f7; color: #222; border-color: #222;
}
.ec-modal .ec-inlineBtn--action {
  background: #222; color: #fff; border: 1px solid #222;
}
.ec-modal .ec-inlineBtn--action:hover {
  background: #000; color: #fff; border-color: #000;
}
.ec-modal .ec-modal-close {
  right: 8px; top: 8px; width: 40px; height: 40px;
  display: flex; align-items: center; justify-content: center;
}
.ec-modal .ec-modal-close .ec-icon img { width: 16px; height: 16px; }

.badge--catalog,
.badge--magazine,
.badge--setbuy,
.badge--weblimited,
.badge--limited,
.badge--target,
.badge--preorder,
.badge--coupon,
.badge--pricedown,
.badge--repricedown,
.badge--mens,
.badge--specialprice,
.badge--rangeplus,
.badge--pointup { background: #fff; color: #222; border: 1px solid #222; }

/* 強: 価格メリット系 = 黒ベタ。NEW と同色になるが、赤を割引価格に譲るため許容（指示） */
.badge--specialprice, /* SPECIAL PRICE  cat 71 */
.badge--pointup       /* POINT UP       判定基準未定＝現状 未出力。クラスのみ用意 */
{ background: #222; color: #fff; border-color: #222; }

.badge--sale { background: #222; color: #fff; }

/* 中: 販促・限定系 = 白地＋黒枠（上の共通指定と同じだが、系統を明示するため個別に書く） */
.badge--weblimited,   /* WEB限定        cat 64 */
.badge--limited,      /* 期間限定       cat 65 */
.badge--preorder,     /* 先行販売       cat 67 */
.badge--setbuy,       /* SET BUY        cat 63 */
.badge--rangeplus,    /* RANGE＋        cat 72 */
.badge--target,       /* 対象商品       cat 66（カテゴリ名は「○○対象商品」） */
.badge--coupon,       /* クーポン対象   cat 68 */
.badge--catalog,      /* カタログ掲載   cat 61 */
.badge--magazine      /* 雑誌掲載       cat 62 */
{ background: #fff; color: #222; border-color: #222; }

.badge--pricedown { background: #fff; color: #e8709a; border-color: #e8709a; }
.badge--repricedown { background: #e8709a; color: #fff; border-color: #e8709a; }
.badge--mens { background: #fff; color: #24548c; border-color: #24548c; }
.badge--restock { background: #fff; color: #43a047; border: 1px solid #43a047; }

/* 見た目ユーティリティ。管理画面「バッジのクラス名」にこの名前を入れると見た目が決まる。
   意味クラス（badge--mens 等）と半角スペース区切りで併記可。後勝ちでこちらが効く */
.badge--outline-black { background: #fff; color: #222; border: 1px solid #222; }
.badge--fill-black { background: #222; color: #fff; border: 1px solid #222; }
.badge--outline-pink { background: #fff; color: #e8709a; border: 1px solid #e8709a; }
.badge--fill-pink { background: #e8709a; color: #fff; border: 1px solid #e8709a; }
.badge--outline-blue { background: #fff; color: #24548c; border: 1px solid #24548c; }
.badge--outline-green { background: #fff; color: #43a047; border: 1px solid #43a047; }
.badge--outline-red { background: #fff; color: var(--woollen-primary); border: 1px solid var(--woollen-primary); }
.badge--fill-orange { background: #ffba17; color: #fff; border: 1px solid #ffba17; }
/* グレー文字は使わない方針のため、枠だけグレーで文字は #222 */
.badge--outline-gray { background: #fff; color: #222; border: 1px solid #888; }

/* 日本語ラベルのバッジに併記する。既定の英文フォントを本文フォントへ戻す */
.badge--jp { font-family: inherit; letter-spacing: .04em; }

/* 新着一覧の再入荷バッジを商品バッジの再入荷（badge--outline-green）と同じ緑に揃える（2026-09-02指示） */
.wl-na__badge--restock { background: #fff; color: #43a047; border: 1px solid #43a047; }


.badge--catalog,
.badge--magazine,
.badge--weblimited,
.badge--limited,
.badge--target,
.badge--preorder,
.badge--coupon,
.badge--pricedown,
.badge--repricedown { font-family: inherit; letter-spacing: .04em; }

#wl-receipt-box:has(#wl-receipt-addressee) {
  margin-top: 24px !important;
  padding: 16px !important;
  border: 1px solid #e0e0e0 !important;
  background: #fff !important;
}

/* 「領収書発行」の見出しは薄グレー帯に統一（箱の padding を負マージンで打ち消して全幅） */
#wl-receipt-box:has(#wl-receipt-addressee) > p:first-child {
  margin: -16px -16px 12px !important;
  padding: 10px 12px !important;
  background: #f3f3f3;
  color: #222;
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: .04em;
}

#wl-receipt-box #wl-receipt-addressee {
  padding: 10px !important;
  border: 1px solid #ccc !important;
  border-radius: 0 !important;
  font-size: 14px !important;
  margin-bottom: 12px !important;
}

/* 末尾の注記（※領収書は別窓〜） */
#wl-receipt-box:has(#wl-receipt-addressee) > p:last-of-type {
  font-size: 11px !important;
  line-height: 1.7;
  color: #777 !important;
}

/* 代引き注文の対象外注記は枠なしのまま行間だけ整える */
#wl-receipt-box:not(:has(#wl-receipt-addressee)) > p {
  font-size: 12px !important;
  line-height: 1.7;
}

/* 商品カード: 割引時は(税込)も赤字に（2026-08-26指示） */
.card__price--sale small { color: var(--woollen-primary); }
/* 商品カード: (税込)の左余白（2026-08-26指示。common.css の 2px を上書き） */
.card__price small { margin-left: 0.5em; }
.card__price del { display: inline-block; }
.card__amount { white-space: nowrap; }
/* 商品カード: %OFFバッジを商品詳細(.pd-summary__off)と同じ赤べた塗り+白文字に（2026-08-26指示） */
.card__off {
  display: inline-block;
  background: var(--woollen-primary);
  color: #fff;
  line-height: 1;
  padding: 3px 6px;
}


#page_shopping:not(:has(.ec-progress__item:nth-child(5))) .ec-orderRole .ec-orderAccount,
#page_shopping_confirm:not(:has(.ec-progress__item:nth-child(5))) .ec-orderRole .ec-orderAccount,
#page_amazon_pay_shopping:not(:has(.ec-progress__item:nth-child(5))) .ec-orderRole .ec-orderAccount,
#page_amazon_pay_shopping_confirm:not(:has(.ec-progress__item:nth-child(5))) .ec-orderRole .ec-orderAccount {
  display: none;
}

#page_shopping .ec-orderRole__detail,
#page_shopping_confirm .ec-orderRole__detail,
#page_amazon_pay_shopping_confirm .ec-orderRole__detail {
  display: flex;
  flex-direction: column;
}
#page_shopping .ec-orderDelivery:not(:has(.ec-orderDelivery__item ~ .ec-orderDelivery__item)),
#page_shopping_confirm .ec-orderDelivery:not(:has(.ec-orderDelivery__item ~ .ec-orderDelivery__item)),
#page_amazon_pay_shopping_confirm .ec-orderDelivery:not(:has(.ec-orderDelivery__item ~ .ec-orderDelivery__item)) {
  display: contents;
}
#page_shopping .ec-orderDelivery:not(:has(.ec-orderDelivery__item ~ .ec-orderDelivery__item)) > .ec-orderDelivery__item,
#page_shopping_confirm .ec-orderDelivery:not(:has(.ec-orderDelivery__item ~ .ec-orderDelivery__item)) > .ec-orderDelivery__item,
#page_amazon_pay_shopping_confirm .ec-orderDelivery:not(:has(.ec-orderDelivery__item ~ .ec-orderDelivery__item)) > .ec-orderDelivery__item {
  order: -1;
}
#page_shopping .ec-orderDelivery:not(:has(.ec-orderDelivery__item ~ .ec-orderDelivery__item)) > .ec-orderDelivery__item::before,
#page_shopping_confirm .ec-orderDelivery:not(:has(.ec-orderDelivery__item ~ .ec-orderDelivery__item)) > .ec-orderDelivery__item::before,
#page_amazon_pay_shopping_confirm .ec-orderDelivery:not(:has(.ec-orderDelivery__item ~ .ec-orderDelivery__item)) > .ec-orderDelivery__item::before {
  content: "商品一覧";
  display: block;
  margin-bottom: 14px;
  padding: 11px 14px 9px;
  background: #f3f3f3;
  color: #222;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: .04em;
}

#page_shopping .ec-orderDelivery__item .ec-imageGrid__content,
#page_shopping_confirm .ec-orderDelivery__item .ec-imageGrid__content,
#page_amazon_pay_shopping .ec-orderDelivery__item .ec-imageGrid__content,
#page_amazon_pay_shopping_confirm .ec-orderDelivery__item .ec-imageGrid__content {
  font-size: 13px;
  line-height: 1.7;
}
@media (min-width: 768px) {
  #page_shopping .ec-orderDelivery__item .ec-imageGrid__content,
  #page_shopping_confirm .ec-orderDelivery__item .ec-imageGrid__content,
  #page_amazon_pay_shopping .ec-orderDelivery__item .ec-imageGrid__content,
  #page_amazon_pay_shopping_confirm .ec-orderDelivery__item .ec-imageGrid__content {
    font-size: 16px;
    line-height: 1.4;
  }
}

#page_shopping .ec-orderRole .ec-orderConfirm:has(textarea),
#page_amazon_pay_shopping .ec-orderRole .ec-orderConfirm:has(textarea) {
  display: none;
}
#page_shopping_confirm .ec-orderRole__detail > .ec-orderConfirm:not(.ec-orderConfirm ~ .ec-orderConfirm),
#page_amazon_pay_shopping_confirm .ec-orderRole__detail > .ec-orderConfirm:not(.ec-orderConfirm ~ .ec-orderConfirm) {
  display: none;
}

.wl-ltpUse__total { margin: 0 0 12px; font-size: 14px; }
/* style.css の .ec-input p { line-height: 1.4 } に詳細度で負けるため .ec-input 込みで指定する */
.ec-input .wl-ltpUse__total { line-height: 1.7; }
.wl-ltpUse__total strong { font-size: 17px; font-weight: 700; }
.wl-ltpUse__list { margin: 0 0 12px; padding: 0; list-style: none; }
.wl-ltpUse__list > li {
  display: flex; flex-wrap: wrap; justify-content: space-between;
  gap: 4px 12px; padding: 9px 0; border-bottom: 1px dotted #ddd; font-size: 14px;
}
.wl-ltpUse__pt { font-weight: 700; }
.wl-ltpUse__expire { color: #767676; }
.wl-ltpUse__note { margin: 0 0 12px; font-size: 12px; line-height: 1.7; }

/* 注文完了: 案内文の行間 */
.wl-complete__lead { margin-bottom: 10px; }
.wl-complete__note { margin-bottom: 18px; }
.wl-complete__orderno { margin-bottom: 0; }
/* 注文完了: ボタンが注文番号に近すぎるため上に余白（2026-08-28指示） */
#page_shopping_complete .ec-cartCompleteRole .ec-off4Grid { margin-top: 32px; }
@media (min-width: 768px) {
  #page_shopping_complete .ec-cartCompleteRole .ec-off4Grid { margin-top: 44px; }
}

#page_mypage_history .ec-orderDelivery:not(:has(.ec-orderDelivery__title ~ .ec-orderDelivery__title)) {
  display: flex;
  flex-direction: column;
}
#page_mypage_history .ec-orderDelivery:not(:has(.ec-orderDelivery__title ~ .ec-orderDelivery__title)) > .ec-orderDelivery__item {
  order: -1;
}
#page_mypage_history .ec-orderDelivery:not(:has(.ec-orderDelivery__title ~ .ec-orderDelivery__title)) > .ec-orderDelivery__item:not(.ec-orderDelivery__item ~ .ec-orderDelivery__item) {
  margin-top: 4px;
}
#page_mypage_history .ec-orderDelivery .ec-orderDelivery__address { margin: 0; }
#page_mypage_history .ec-orderMails { margin-bottom: 32px; }

.wl-cancelReturn { margin-top: 4px; margin-bottom: 32px; }
.wl-cancelReturn__list { margin: 0 0 12px; padding: 0; font-size: 14px; line-height: 1.9; }
.wl-cancelReturn__list > li { padding-left: 1em; text-indent: -1em; margin-bottom: 4px; }
.wl-cancelReturn__list > li::before { content: "・"; }
.wl-cancelReturn__text { margin: 0 0 8px; font-size: 14px; line-height: 1.9; }
.wl-cancelReturn__text:last-child { margin-bottom: 0; }
.wl-cancelReturn__text a { text-decoration: underline; }
@media (min-width: 768px) {
  .wl-cancelReturn { margin-bottom: 0; }
}

/* クーポンカード（2026-09-02 指示の配色。紫 #4a3fa0 はアクセント1色のみ、他はグレースケール）
   上段=券面（#f6f6f7・左寄せ） 下段=白地のリスト（ラベル左／値右）。対象カテゴリはタグ表示 */
.coupon-card,
a.coupon-card { background: #fff; border-color: #e3e3e6; color: #1c1d22; }
.coupon-card__top {
  background: #f6f6f7; border-bottom: 1px solid #e3e3e6;
  text-align: left; padding: 18px 16px 14px;
}
.coupon-card__top::before { content: none; }
.coupon-card__title { font-size: 13px; font-weight: 400; line-height: 1.6; color: #55565e; }
.coupon-card__value {
  display: flex; align-items: baseline; flex-wrap: wrap; gap: 6px;
  font-size: 32px; line-height: 1.2; margin: 6px 0 8px; color: #1c1d22;
}
.coupon-card__value small {
  font-size: 15px; font-weight: 700; letter-spacing: .04em;
  margin-left: 0; color: #4a3fa0;
}
.coupon-card__expire { font-size: 12px; color: #7c7d85; }
.coupon-card__meta { background: #fff; padding: 0 16px 6px; }
.coupon-card__meta > div {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between;
  gap: 4px 12px; padding: 13px 0; border-bottom: 1px solid #eeeef0;
}
.coupon-card__meta > div:last-child { border-bottom: 0; }
.coupon-card__meta dt { flex: 0 0 auto; font-size: 12px; color: #55565e; }
.coupon-card__meta dd { flex: 1 1 auto; margin: 0; text-align: right; font-size: 12px; color: #8a8b93; }
.coupon-card__meta dd a:not(.coupon-chip) { color: #1c1d22; }
.coupon-card__chips { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 6px; }
.coupon-card__chips object { display: inline-block; }
.coupon-chip {
  display: inline-block; padding: 4px 10px;
  background: #f2f1f8; border: 1px solid #ddd9ee; color: #4a3fa0;
  font-size: 11px; line-height: 1.5; letter-spacing: .04em; text-decoration: none;
}
a.coupon-chip:hover { background: #4a3fa0; border-color: #4a3fa0; color: #fff; }
.coupon-chip--more { border-style: dashed; }
.coupon-chip--exclude { background: #fff; border-color: #e3e3e6; border-style: dashed; color: #55565e; }
.coupon-card--expired { opacity: 1; background: #fafafb; color: #8a8b93; }
.coupon-card--expired .coupon-card__top { background: #f2f2f4; }
.coupon-card--expired .coupon-card__meta { background: transparent; }
.coupon-card--expired .coupon-card__title,
.coupon-card--expired .coupon-card__value,
.coupon-card--expired .coupon-card__value small,
.coupon-card--expired .coupon-card__expire,
.coupon-card--expired .coupon-card__meta dt,
.coupon-card--expired .coupon-card__meta dd { color: #8a8b93; }
.coupon-card--expired .coupon-chip { background: #f2f2f4; border-color: #e3e3e6; color: #8a8b93; }
/* クーポンブロック（Block/coupon.twig・coupon.css の赤/丸角）もマイページと同配色に。
   coupon.css は block stylesheet で後読みされるため .ec-couponRole 前置で詳細度を上げる */
.ec-couponRole .coupon-wrap-list { background: #f6f6f7; border: 1px solid #e3e3e6; border-radius: 0; }
.ec-couponRole .coupon-wrap-list-link { color: #1c1d22; }
.ec-couponRole .coupon-wrap-list-main { background: #f6f6f7; }
.ec-couponRole .coupon-wrap-list-name { color: #55565e; font-size: 14px; font-weight: 400; }
.ec-couponRole .coupon-wrap-list-off { color: #1c1d22; }
.ec-couponRole .coupon-wrap-list-off-strong { font-size: 32px; }
.ec-couponRole .coupon-wrap-list-off-unit { font-size: 18px; }
.ec-couponRole .coupon-wrap-list-off-middle { font-size: 15px; color: #4a3fa0; }
.ec-couponRole .coupon-wrap-list-limit p { color: #7c7d85; }
.ec-couponRole .coupon-wrap-list-sub { background: #fff; border-top: 1px solid #e3e3e6; }
.ec-couponRole .coupon-wrap-list-sub-dl { border-bottom: 1px solid #eeeef0; padding: 8px 0; }
.ec-couponRole .coupon-wrap-list-sub-dl:last-child { border-bottom: 0; }
.ec-couponRole .coupon-wrap-list-sub-dl dt { color: #55565e; }
.ec-couponRole .coupon-wrap-list-sub-dl dd { color: #8a8b93; }
.ec-couponRole .coupon-wrap-list-sub-link { color: #4a3fa0; text-decoration: none; }

.ec-reportDescription { line-height: 2; }

/* 特集・キャンペーン一覧（Feature/list.twig）: TOP の FEATURES と同じスライドを Swiper なしで並べる。
   カード意匠は customize.css の .wl-feature__card をそのまま使い、器だけここで定義。
   列数・余白・最大幅は商品グリッド .p-grid（SP 2 / 768〜1023 3 / 1024〜 4列）に合わせる */
.wl-featureList {
  display: grid; grid-template-columns: repeat(2, 1fr); gap: 22px 10px;
  align-items: start; padding: 0 12px;
}
@media (min-width: 768px) {
  .wl-featureList {
    grid-template-columns: repeat(3, 1fr); gap: 36px 20px;
    max-width: 1280px; margin: 0 auto; padding: 0 24px;
  }
  body:not(.p-top) .wl-main--full .section:not(.section--gray):has(> .wl-featureList) { margin-top: 0; }
}
@media (min-width: 1024px) {
  .wl-featureList { grid-template-columns: repeat(4, 1fr); }
  /* 拡大率は .card:hover .wl-na__img--main と同じ 1.03 倍（カードは overflow:hidden 済み） */
  .wl-featureList .wl-feature__card img { transition: transform .4s ease; }
  .wl-featureList .wl-feature__card:hover img { transform: scale(1.03); }
}

/* 商品一覧: サイドバー付き2カラムは 1024px から。768〜1023px はサイドバーなしの1カラム */
@media (min-width: 768px) {
  .l-listing { display: contents !important; }
  .l-listing__side { display: none; }
  .l-listing__main { display: contents; }
  .l-listing__sphead { display: flex; }
  .l-filter__toggle { display: flex; }
  .l-listing__side--sp-accordion.is-open { display: block; padding: 0 14px 8px; }
  .l-listing__side .l-filter__badge { display: none; }
  .l-listing__title { justify-content: flex-end; padding: 10px 14px; margin-bottom: 0; border-bottom: 0; }
  .l-listing__title-text { display: none; }
  .l-listing__main .p-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    max-width: none !important; margin: 0 !important; padding: 0 12px !important;
  }
}
@media (min-width: 1024px) {
  .l-listing {
    display: grid !important; grid-template-columns: 220px 1fr; gap: 32px;
    max-width: none; margin: 0 auto; padding: 24px 40px 60px;
  }
  .l-listing__side { display: block; }
  .l-listing__main { display: block; }
  .l-listing__sphead { display: none; }
  .l-filter__toggle { display: none; }
  .l-listing__side--sp-accordion.is-open { padding: 0; }
  .l-listing__side .l-filter__badge { display: flex; }
  .l-listing__title { justify-content: space-between; padding: 0 0 10px; margin-bottom: 14px; border-bottom: 1px solid var(--woollen-line); }
  .l-listing__title-text { display: block; }
  .l-listing__main .p-grid {
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)) !important;
    max-width: none !important; margin: 0 !important; padding: 0 !important;
  }
}

/* --- 商品詳細 閲覧データ表（style.css から移設） --- */
.ec-productRole .ec-productRole__viewdata { margin-top: 24px; }
.ec-productRole .ec-productRole__viewdata table { width: 100%; border-collapse: collapse; font-size: 0.9rem; }
.ec-productRole .ec-productRole__viewdata table th,
.ec-productRole .ec-productRole__viewdata table td { padding: 8px 12px; border: 1px solid #ddd; text-align: left; vertical-align: top; }
.ec-productRole .ec-productRole__viewdata table th { background: #f5f5f5; white-space: nowrap; width: 30%; }

.wl-logo-h1 { display: contents; }
h1.l-listing__title-text { font-size: inherit; font-weight: inherit; line-height: inherit; }
.wl-footer__heading, .wl-footer__subheading { line-height: 1.2; }
h2.sec-title__en { line-height: inherit; }
.wl-feature__head h2.en { line-height: inherit; }
h3.wl-outlet__heading { font-size: inherit; font-weight: inherit; line-height: inherit; }
.ec-registerRole .ec-heading.h3 { margin: 24px 0; }
