/* =========================================================
   革図鑑 ページごとの見た目（共通部品は kz-theme.css）
   ========================================================= */

/* ---------- 共通：セクション見出しの行 ---------- */
.sec-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 32px; }
.sec-head__l { display: flex; flex-direction: column; gap: 20px; }
.sec-head__text { width: 460px; font-size: 16px; line-height: 2; color: var(--text); }
@media (max-width: 767px) {
  .sec-head { flex-direction: column; align-items: flex-start; gap: 20px; }
  .sec-head__l { gap: 14px; }
  .sec-head__text { width: auto; font-size: 15px; }
}

/* 写真がまだないときの印 */
.ph-mark { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; color: rgba(243,235,221,.55); font-size: 13px; z-index: -1; }
.ph-mark__shape { width: 45%; height: auto; max-width: 260px; color: rgba(243,235,221,.35); }

/* =========================================================
   01 トップ
   ========================================================= */
.top-hero { position: relative; min-height: 860px; display: flex; flex-direction: column; justify-content: space-between; padding-bottom: 56px; color: var(--cream); isolation: isolate; overflow: hidden; background: var(--ink); }
.top-hero__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; }
.top-hero::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(13,9,6,.92) 0%, rgba(13,9,6,.55) 55%, rgba(13,9,6,.1) 100%); }
.top-hero__body { display: flex; align-items: flex-end; justify-content: space-between; gap: 32px; }
.top-hero__main { width: 900px; max-width: 100%; display: flex; flex-direction: column; gap: 28px; }
.top-hero__issue { font-size: 24px; color: var(--cognac-2); }
.top-hero__lead { width: 640px; max-width: 100%; color: var(--cream-text); }
.top-hero__side { display: flex; flex-direction: column; align-items: flex-end; gap: 8px; text-align: right; color: var(--sub-2); white-space: nowrap; }
.top-hero__num { font-size: 72px; color: var(--cream); }
.top-hero__credit { color: var(--sub-2); }
@media (max-width: 767px) {
  .top-hero { min-height: 640px; min-height: min(100svh, 720px); padding-bottom: 32px; }
  .top-hero::after { background: linear-gradient(180deg, rgba(13,9,6,.35) 0%, rgba(13,9,6,.55) 40%, rgba(13,9,6,.92) 100%); }
  .top-hero__img { object-position: 70% 50%; }
  .top-hero__body { flex-direction: column; align-items: stretch; gap: 20px; }
  .top-hero__main { gap: 18px; }
  .top-hero__issue { font-size: 16px; }
  .top-hero__lead br { display: none; }
  .top-hero .btn-row .btn { flex: 1 1 140px; }
  .top-hero__side { flex-direction: row; align-items: baseline; gap: 8px; text-align: left; }
  .top-hero__num { font-size: 32px; }
  .top-hero__credit { margin-left: auto; }
}

/* 流れる帯 */
.marquee { display: flex; overflow: hidden; background: var(--cognac); color: var(--ink); padding-block: 18px; }
.marquee__track { display: flex; flex: none; gap: 28px; padding-right: 28px; animation: kz-marquee 40s linear infinite; }
.marquee__track li { display: flex; align-items: center; gap: 28px; font-family: var(--en); font-size: 30px; line-height: 1; white-space: nowrap; }
.marquee__track li::after { content: "✦"; font-family: var(--sans); font-size: 18px; }
@keyframes kz-marquee { to { transform: translateX(-100%); } }
@media (prefers-reduced-motion: reduce) { .marquee__track { animation: none; } }
@media (max-width: 767px) { .marquee { padding-block: 12px; } .marquee__track, .marquee__track li { gap: 18px; } .marquee__track { padding-right: 18px; } .marquee__track li { font-size: 20px; } .marquee__track li::after { font-size: 13px; } }

/* コンセプト */
.top-concept__in { display: flex; gap: 80px; }
.top-concept__head { width: 640px; flex: none; display: flex; flex-direction: column; gap: 28px; }
.top-concept__body { width: 592px; padding-top: 60px; display: flex; flex-direction: column; gap: 40px; }
.top-concept__text { font-size: 17px; line-height: 2.1; color: #3a2c22; }
.stats { display: grid; grid-template-columns: repeat(3, 197px); }
.stats__item { display: flex; flex-direction: column; gap: 6px; padding-top: 20px; border-top: 1px solid var(--line); }
.stats__item + .stats__item { padding-left: 24px; }
.stats dd { display: flex; align-items: flex-end; gap: 6px; }
.stats__num { font-size: 56px; color: var(--brown); }
.stats__unit { font-size: 13px; color: var(--sub); }
.stats__label { font-weight: 700; font-size: 13px; color: var(--sub); }
@media (max-width: 1200px) { .top-concept__in { flex-direction: column; gap: 32px; } .top-concept__head, .top-concept__body { width: auto; } .top-concept__body { padding-top: 0; } }
@media (max-width: 767px) {
  .top-concept__head { gap: 18px; }
  .top-concept__body { gap: 28px; }
  .top-concept__text { font-size: 15px; line-height: 2; }
  .stats { grid-template-columns: repeat(3, 1fr); }
  .stats__item + .stats__item { padding-left: 14px; }
  .stats__item { padding-top: 14px; }
  .stats__num { font-size: 38px; }
  .stats__unit, .stats__label { font-size: 12px; }
}

/* 形の図鑑（濃い背景のカード） */
.top-types .sec-head { margin-bottom: 56px; }
.top-types .more { color: var(--cream); }
.shape-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 2px; }
.shape-grid > li { display: flex; }
.shape-grid .shape-card { flex: 1; }
.shape-card { height: 420px; padding: 28px; display: flex; flex-direction: column; justify-content: space-between; background: var(--ink-2); transition: background-color .2s; }
.shape-card:hover { background: #2a2019; }
.shape-card .shape { align-self: center; }
.shape-card__top { display: flex; justify-content: space-between; align-items: flex-start; gap: 8px; white-space: nowrap; }
.shape-card__no { font-size: 44px; color: var(--cognac); }
.shape-card__en { font-size: 15px; color: var(--sub-2); }
.shape-card__bottom { display: flex; flex-direction: column; gap: 8px; line-height: 1.6; }
.shape-card__name { font-family: var(--serif); font-weight: 900; font-size: 24px; color: var(--cream); }
.shape-card__note { font-size: 13px; color: var(--sub-2); }
@media (max-width: 1100px) { .shape-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 767px) {
  .top-types .sec-head { margin-bottom: 28px; }
  .shape-card { height: auto; min-height: 236px; padding: 16px; gap: 6px; }
  .shape-card .shape { width: 92px; height: 92px; }
  .shape-card__no { font-size: 26px; }
  .shape-card__en { font-size: 11px; white-space: normal; text-align: right; }
  .shape-card__name { font-size: 15px; }
  .shape-card__note { font-size: 12px; }
}

/* 着比べ */
.top-fitting .sec-head { margin-bottom: 48px; }
.fit-pair { display: grid; grid-template-columns: repeat(2, minmax(0, 620px)); gap: 24px; }
.fit-pair__ph { height: 760px; display: flex; flex-direction: column; justify-content: flex-end; padding: 28px; --shade: linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,.6) 100%); }
.fit-pair figcaption { display: flex; flex-direction: column; }
.fit-pair__h { font-size: 48px; color: var(--cream); }
.fit-pair__size { font-size: 14px; color: var(--cream-text); line-height: 1.6; }
.fit-link { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-top: 48px; padding-top: 24px; border-top: 1px solid var(--line); }
.fit-link__t { font-family: var(--serif); font-weight: 900; font-size: 28px; line-height: 1.6; }
.fit-link:hover .fit-link__t { color: var(--cognac); }
@media (max-width: 767px) {
  .top-fitting .sec-head { margin-bottom: 28px; }
  .fit-pair { grid-template-columns: 1fr 1fr; gap: 10px; }
  .fit-pair__ph { height: auto; aspect-ratio: 4 / 5.6; padding: 14px; }
  .fit-pair__h { font-size: 28px; }
  .fit-pair__size { font-size: 11px; }
  .ph-mark { font-size: 11px; }
  .fit-link { flex-direction: column; align-items: flex-start; gap: 10px; margin-top: 28px; padding-top: 18px; }
  .fit-link__t { font-size: 18px; }
}

/* お店ガイド */
.top-shops { height: 640px; display: flex; align-items: flex-end; padding-block: 80px; }
.top-shops__in { display: flex; flex-direction: column; gap: 24px; }
.top-shops__title { width: 760px; max-width: 100%; font-family: var(--serif); font-weight: 900; font-size: 52px; line-height: 1.3; }
.top-shops .chip-row { width: 760px; max-width: 100%; }
@media (max-width: 767px) { .top-shops { height: auto; min-height: 520px; padding-block: 48px; } .top-shops__in { gap: 18px; } .top-shops__title { font-size: 26px; } }

/* 革ジャンの100年 */
.top-history__in { display: flex; align-items: center; gap: 72px; }
.top-history__img { width: 520px; height: 640px; object-fit: cover; flex: none; }
.top-history__body { width: 720px; display: flex; flex-direction: column; gap: 40px; }
.top-history__head { display: flex; flex-direction: column; gap: 20px; }
.top-history__title { font-family: var(--serif); font-weight: 900; font-size: 64px; line-height: 1.2; }
.timeline li { display: flex; gap: 32px; padding-block: 22px; border-top: 1px solid #c9b79e; }
.timeline__y { width: 120px; flex: none; font-size: 36px; color: var(--cognac); }
.timeline__b { display: flex; flex-direction: column; gap: 4px; line-height: 1.6; }
.timeline__t { font-family: var(--serif); font-weight: 900; font-size: 20px; }
.timeline__d { font-size: 14px; color: var(--text-2); }
@media (max-width: 1200px) { .top-history__in { flex-direction: column; align-items: stretch; gap: 32px; } .top-history__img { width: 100%; height: auto; aspect-ratio: 4 / 3; } .top-history__body { width: auto; } }
@media (max-width: 767px) {
  .top-history__body { gap: 24px; }
  .top-history__head { gap: 14px; }
  .top-history__title { font-size: 34px; }
  .timeline li { gap: 16px; padding-block: 16px; }
  .timeline__y { width: 72px; font-size: 24px; }
  .timeline__t { font-size: 17px; }
  .timeline__d { font-size: 13px; }
}

/* お店・ブランド向け */
.top-partner { display: flex; align-items: center; }
.top-partner__body { width: 760px; flex: none; padding: 96px var(--gutter); display: flex; flex-direction: column; gap: 24px; }
.top-partner__en { font-size: 22px; color: var(--cognac); }
.top-partner__title { width: 632px; max-width: 100%; font-family: var(--serif); font-weight: 900; font-size: 44px; line-height: 1.35; }
.top-partner__text { font-size: 15px; color: var(--sub-2); }
.top-partner__img { width: 680px; height: 520px; object-fit: cover; flex: 1 1 auto; min-width: 0; }
@media (max-width: 1200px) { .top-partner { flex-direction: column-reverse; align-items: stretch; } .top-partner__body { width: auto; } .top-partner__img { width: 100%; height: auto; aspect-ratio: 16 / 9; } }
@media (max-width: 767px) {
  .top-partner__body { padding-block: 48px 56px; gap: 16px; }
  .top-partner__en { font-size: 18px; }
  .top-partner__title { font-size: 25px; }
  .top-partner__text { font-size: 14px; }
}

/* =========================================================
   記事ページ（02 形の図鑑 ほか全記事の型）
   ========================================================= */
.art-hero { min-height: 720px; display: flex; flex-direction: column; justify-content: space-between; padding-bottom: 64px; }
.art-hero__body { display: flex; flex-direction: column; gap: 22px; }
.art-hero__en { font-size: 24px; color: var(--cognac-2); }
.art-hero__title { width: 1000px; max-width: 100%; }
.art-hero__sub { font-family: var(--serif); font-weight: 700; font-size: 24px; line-height: 1.6; color: var(--cream-text); }
.art-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 24px; font-size: 14px; color: var(--sub-2); }
.art-meta__by { display: flex; align-items: center; gap: 10px; font-weight: 700; color: var(--cream); }
.art-meta__icon { width: 36px; height: 36px; border-radius: 50%; background: var(--cognac); }
@media (max-width: 767px) {
  .art-hero { min-height: 520px; padding-bottom: 32px; }
  .art-hero__body { gap: 14px; }
  .art-hero__en { font-size: 15px; }
  .art-hero__sub { font-size: 16px; }
  .art-meta { font-size: 12px; gap: 6px 14px; }
  .art-meta__by { width: 100%; }
  .art-meta__icon { width: 28px; height: 28px; }
}
.art-sec { display: flex; flex-direction: column; gap: 28px; }
.art-sec--faq { gap: 0; }

/* 21の形の帯（明るいタイル） */
.shape-strip { display: flex; flex-direction: column; gap: 28px; }
.shape-strip__g { display: flex; flex-direction: column; gap: 10px; }
.shape-strip__h { font-weight: 700; font-size: 14px; line-height: 1.45; color: var(--cognac); }
.shape-tiles { display: flex; flex-wrap: wrap; gap: 2px; }
.shape-tiles li { width: 170px; height: 144px; padding-block: 18px; display: flex; flex-direction: column; align-items: center; gap: 8px; background: var(--cream-3); font-weight: 700; font-size: 13px; line-height: 1.45; text-align: center; }
.shape--s { width: 84px; height: 84px; color: var(--brown); }
@media (max-width: 767px) {
  .shape-tiles { display: grid; grid-template-columns: repeat(3, 1fr); }
  .shape-tiles li { width: auto; height: auto; min-height: 118px; padding: 12px 4px; font-size: 11px; gap: 4px; }
  .shape--s { width: 64px; height: 64px; }
}

/* 記事内の着比べ */
.art-fit { display: flex; flex-direction: column; gap: 16px; }
.art-fit__pair { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.art-fit__ph { height: 540px; padding: 20px; display: flex; flex-direction: column; justify-content: flex-end; }
.art-fit figcaption { display: flex; flex-direction: column; }
.art-fit__h { font-size: 32px; }
.art-fit__size { font-size: 13px; color: var(--cream-text); line-height: 1.6; }
@media (max-width: 767px) { .art-fit__pair { gap: 8px; } .art-fit__ph { height: auto; aspect-ratio: 4 / 5.2; padding: 12px; } .art-fit__h { font-size: 22px; } .art-fit__size { font-size: 11px; } }

/* 試着できるお店（PR枠） */
.shop-cta { display: flex; align-items: center; background: var(--ink); color: var(--cream); }
.shop-cta__img { width: 300px; height: 260px; object-fit: cover; flex: none; }
.shop-cta__body { padding: 32px 40px; display: flex; flex-direction: column; gap: 12px; min-width: 0; }
.shop-cta__top { display: flex; align-items: center; gap: 10px; }
.shop-cta__en { font-size: 18px; color: var(--cognac); }
.shop-cta__t { font-family: var(--serif); font-weight: 900; font-size: 26px; line-height: 1.6; }
.shop-cta__d { font-size: 14px; color: var(--sub-2); }
@media (max-width: 767px) { .shop-cta { flex-direction: column; align-items: stretch; } .shop-cta__img { width: 100%; height: 180px; } .shop-cta__body { padding: 22px 20px 26px; } .shop-cta__t { font-size: 20px; } .shop-cta__d { font-size: 13px; } }

.author__body { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.author__en { font-size: 16px; color: var(--cognac); }
.author__name { font-family: var(--serif); font-weight: 900; font-size: 20px; line-height: 1.6; }
.author__d { font-size: 14px; color: var(--text); }

/* サイドバー */
.side-fit { background: var(--ink); color: var(--cream); padding: 28px; display: flex; flex-direction: column; gap: 14px; }
.side-fit__en { font-size: 18px; color: var(--cognac); }
.side-fit__t { font-family: var(--serif); font-weight: 900; font-size: 22px; line-height: 1.6; }
.side-fit__ph { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.side-fit__ph .photo { height: 170px; display: flex; align-items: flex-end; padding: 10px; font-size: 22px; }
.side-fit__a { font-weight: 700; font-size: 14px; line-height: 1.6; }
.side-fit__a:hover { color: var(--cognac-2); }
.side-rank { border-top: 2px solid var(--ink); }
.side-rank__t { font-family: var(--serif); font-weight: 900; font-size: 18px; line-height: 1.6; }
.side-rank a { display: flex; align-items: center; gap: 16px; padding-block: 16px; border-bottom: 1px solid var(--line); font-weight: 500; font-size: 15px; }
.side-rank a:hover { color: var(--cognac); }
.side-rank .f-en { font-size: 28px; color: var(--cognac); min-width: 18px; }
.side-ad { height: 300px; padding: 20px; display: flex; flex-direction: column; justify-content: flex-end; align-items: flex-start; gap: 6px; }
.side-ad__t { font-weight: 700; font-size: 15px; }
@media (max-width: 1100px) { .kz-side { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 28px; } }
@media (max-width: 767px) { .kz-side { display: flex; } .side-fit { padding: 22px 20px; } .side-ad { height: 200px; } }
.art-hero__title { text-wrap: balance; }
@media (max-width: 767px) { .tbl { font-size: 13px; min-width: 560px; } .tbl th, .tbl td { padding: 12px; } .tbl td:first-child { white-space: nowrap; } }

/* =========================================================
   一覧ページ共通（03〜13）
   ========================================================= */
:root { --h76: 76px; }
.t-h56 { font-family: var(--serif); font-weight: 900; font-size: 56px; line-height: 1.2; }
@media (max-width: 767px) { :root { --h76: 38px; } .t-h56 { font-size: 30px; } }
.page-hero { display: flex; flex-direction: column; justify-content: space-between; padding-bottom: 64px; }
.page-hero--620 { min-height: 620px; }
.page-hero__body { display: flex; flex-direction: column; gap: 20px; }
.page-hero__en { font-size: 24px; color: var(--cognac-2); }
.page-hero__title { max-width: 1100px; }
.page-hero__lead { width: 820px; max-width: 100%; font-size: 18px; line-height: 1.8; color: var(--cream-text); }
@media (max-width: 767px) {
  .page-hero { padding-bottom: 32px; }
  .page-hero--620 { min-height: 440px; }
  .page-hero__body { gap: 12px; }
  .page-hero__en { font-size: 15px; }
  .page-hero__lead { font-size: 15px; }
}
.center { display: flex; justify-content: center; }
.more--s svg { width: 24px; height: 24px; }

/* 03 ガイドのカテゴリ */
.guide-cats { padding-block: 96px; display: flex; flex-direction: column; gap: 40px; }
.cat-grid { display: grid; grid-template-columns: 648px 320px 320px; grid-template-rows: 252px 252px; gap: 16px; }
.cat--big { grid-row: span 2; }
.cat { padding: 28px; display: flex; flex-direction: column; justify-content: flex-end; gap: 6px; --shade: linear-gradient(180deg, rgba(13,9,6,.05) 0%, rgba(13,9,6,.85) 100%); }
.cat__no { font-size: 40px; color: var(--cognac); }
.cat__t { font-family: var(--serif); font-weight: 900; font-size: 30px; line-height: 1.6; }
.cat__en { font-size: 16px; color: var(--sub-2); }
.cat__d { font-size: 14px; line-height: 1.6; color: var(--cream-text); }
.cat:hover .cat__t { color: var(--cognac-2); }
@media (max-width: 1100px) { .cat-grid { grid-template-columns: 1fr 1fr; grid-template-rows: auto; } .cat--big { grid-column: span 2; grid-row: auto; min-height: 320px; } .cat { min-height: 220px; } }
@media (max-width: 767px) {
  .guide-cats { padding-block: 56px; gap: 24px; }
  .cat-grid { gap: 8px; }
  .cat--big { min-height: 260px; }
  .cat { min-height: 180px; padding: 14px; gap: 2px; }
  .cat__no { font-size: 26px; } .cat__t { font-size: 17px; } .cat__en { font-size: 12px; } .cat__d { font-size: 12px; }
}

/* 03 まず読みたい */
.must { padding-block: 96px; }
.must__in { display: flex; gap: 64px; }
.must__head { width: 420px; flex: none; display: flex; flex-direction: column; gap: 20px; }
.must__t { font-family: var(--serif); font-weight: 900; font-size: 52px; line-height: 1.25; }
.must__d { width: 400px; max-width: 100%; font-size: 15px; line-height: 1.9; color: var(--sub-2); }
.must__list { flex: 1; min-width: 0; }
.must__list a { display: flex; align-items: center; gap: 28px; padding-block: 26px; border-bottom: 1px solid #3a2e25; }
.must__list .f-en { font-size: 48px; color: var(--cognac); width: 60px; }
.must__b { flex: 1; display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.must__lt { font-family: var(--serif); font-weight: 900; font-size: 22px; line-height: 1.6; }
.must__ld { font-size: 14px; line-height: 1.6; color: var(--sub-2); }
.must__list svg { width: 24px; height: 24px; flex: none; }
.must__list a:hover .must__lt { color: var(--cognac-2); }
@media (max-width: 1100px) { .must__in { flex-direction: column; gap: 32px; } .must__head { width: auto; } }
@media (max-width: 767px) {
  .must { padding-block: 56px; }
  .must__head { gap: 14px; }
  .must__t { font-size: 30px; }
  .must__list a { gap: 14px; padding-block: 16px; }
  .must__list .f-en { font-size: 28px; width: 36px; }
  .must__lt { font-size: 16px; } .must__ld { font-size: 12px; }
}

/* 03 形から探す */
.types-strip { padding-block: 96px; display: flex; flex-direction: column; gap: 32px; }
.tstrip { display: grid; grid-template-columns: repeat(8, 1fr); gap: 2px; }
.tstrip a { height: 220px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; background: var(--cream-3); font-weight: 700; font-size: 14px; line-height: 1.6; }
.tstrip li:nth-child(even) a { background: var(--cream-2); }
.tstrip .f-en { font-size: 20px; color: var(--cognac); font-weight: 400; margin-bottom: -6px; }
.tstrip a:hover { background: var(--cream); }
.shape--m { width: 90px; height: 90px; color: var(--brown); }
@media (max-width: 1100px) { .tstrip { grid-template-columns: repeat(4, 1fr); } }
@media (max-width: 767px) { .types-strip { padding-block: 56px; gap: 24px; } .tstrip a { height: 150px; gap: 6px; font-size: 12px; } .shape--m { width: 60px; height: 60px; } .tstrip .f-en { font-size: 15px; margin-bottom: -2px; } }

/* 04 着比べ一覧 */
.fit-hero { padding-top: 28px; }
.fit-hero .kz-header--over { padding-top: 0; }
.fit-hero__in { display: flex; align-items: flex-end; gap: 48px; margin-top: 48px; }
.fit-hero__txt { width: 560px; flex: none; padding-bottom: 64px; display: flex; flex-direction: column; gap: 20px; }
.fit-hero__ph { flex: 1; display: flex; align-items: flex-end; gap: 12px; }
.fit-hero__ph .photo { width: 340px; display: flex; align-items: flex-end; padding: 20px; font-size: 40px; --shade: linear-gradient(180deg, rgba(13,9,6,0) 0%, rgba(13,9,6,.5) 100%); }
.fit-hero__a { height: 460px; } .fit-hero__b { height: 400px; }
@media (max-width: 1100px) { .fit-hero__in { flex-direction: column; align-items: stretch; gap: 24px; } .fit-hero__txt { width: auto; padding-bottom: 0; } .fit-hero__ph .photo { width: auto; flex: 1; } }
@media (max-width: 767px) {
  .fit-hero { padding-top: 12px; }
  .fit-hero__in { margin-top: 32px; }
  .fit-hero__txt { gap: 12px; }
  .fit-hero__txt .page-hero__lead { width: auto !important; }
  .fit-hero__ph { gap: 8px; }
  .fit-hero__ph .photo { padding: 12px; font-size: 24px; }
  .fit-hero__a { height: 260px; } .fit-hero__b { height: 226px; }
}

.filters { padding-block: 40px; }
.filters__in { display: flex; flex-direction: column; gap: 16px; }
.filters__row { display: flex; align-items: center; gap: 24px; }
.filters__k { width: 60px; flex: none; font-weight: 700; font-size: 13px; color: var(--sub); }
.filters__opts { display: flex; flex-wrap: wrap; gap: 10px; }
.opt { min-height: 48px; padding: 12px 22px; border-radius: 99px; border: 1px solid var(--ink); background: transparent; color: var(--ink); font: 500 14px/1.6 var(--sans); cursor: pointer; }
.opt[aria-pressed="true"] { background: var(--ink); color: var(--cream); }
.opt:hover { border-color: var(--cognac); }
@media (max-width: 767px) {
  .filters { padding-block: 20px; }
  .filters__row { flex-direction: column; align-items: flex-start; gap: 8px; }
  .filters__opts { flex-wrap: nowrap; overflow-x: auto; width: calc(100% + var(--gutter) * 2); margin-inline: calc(var(--gutter) * -1); padding-inline: var(--gutter); scrollbar-width: none; gap: 8px; }
  .filters__opts::-webkit-scrollbar { display: none; }
  .opt { flex: none; min-height: 44px; padding: 10px 18px; font-size: 13px; }
}

.fit-list { padding-block: 72px 96px; display: flex; flex-direction: column; gap: 40px; }
.fcards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 48px 24px; }
.fcard { display: flex; flex-direction: column; gap: 14px; }
.fcard__ph { display: grid; grid-template-columns: 1fr 1fr; gap: 4px; }
.fcard__ph .photo { height: 280px; }
.fcard__ph .ph-mark__shape { width: 60%; }
.fcard__meta { display: flex; align-items: center; gap: 10px; font-size: 12px; color: var(--sub); line-height: 1.6; }
.tag { padding: 3px 10px; background: var(--cognac); color: var(--ink); font-weight: 700; font-size: 12px; line-height: 1.6; }
.fcard__no { font-size: 18px; color: var(--cognac); }
.fcard__t { font-family: var(--serif); font-weight: 900; font-size: 21px; line-height: 1.5; }
.fcard:hover .fcard__t { color: var(--cognac); }
@media (max-width: 1100px) { .fcards { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 767px) {
  .fit-list { padding-block: 48px 64px; gap: 24px; }
  .fcards { grid-template-columns: 1fr; gap: 32px; }
  .fcard { gap: 10px; }
  .fcard__ph .photo { height: auto; aspect-ratio: 3 / 4; }
  .fcard__t { font-size: 18px; }
}

.members { padding-block: 96px; }
.members__in { display: flex; align-items: center; gap: 48px; }
.members__head { width: 480px; flex: none; display: flex; flex-direction: column; gap: 20px; }
.member { width: 340px; display: flex; flex-direction: column; gap: 12px; }
.member__ph { height: 400px; }
.member__h { font-size: 28px; color: var(--cognac); }
.member__n { font-family: var(--serif); font-weight: 900; font-size: 18px; line-height: 1.6; }
.member__d { font-size: 13px; line-height: 1.6; color: var(--sub-2); }
@media (max-width: 1100px) { .members__in { flex-wrap: wrap; } .members__head { width: 100%; } }
@media (max-width: 767px) {
  .members { padding-block: 56px; }
  .members__in { display: grid; grid-template-columns: 1fr 1fr; gap: 24px 10px; }
  .members__head { grid-column: span 2; width: auto; gap: 14px; }
  .members__head .must__d { width: auto !important; }
  .member { width: auto; gap: 6px; }
  .member__ph { height: auto; aspect-ratio: 4 / 5; }
  .member__h { font-size: 22px; } .member__n { font-size: 15px; } .member__d { font-size: 12px; }
}

/* =========================================================
   05〜07 共通の部品
   ========================================================= */
/* 項目と中身の表（試着した一着・お店の基本情報） */
.spec { border-top: 2px solid var(--ink); }
.spec--flat { border-top: 0; }
.spec > div { display: flex; padding-block: 16px; border-bottom: 1px solid var(--line); }
.spec dt { width: var(--k, 180px); flex: none; font-weight: 700; font-size: 14px; line-height: 1.6; color: var(--sub); }
.spec dd { font-size: 15px; line-height: 1.6; color: var(--ink); min-width: 0; }
.spec dd a { text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 767px) { .spec > div { padding-block: 13px; } .spec dt { width: min(var(--k, 180px), 104px); font-size: 13px; } .spec dd { font-size: 14px; } }

/* 地図の置き場所（埋め込みまで） */
.map-ph { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; background: #d9ccb6; color: var(--sub); font-size: 13px; line-height: 1.6; text-align: center; }
.map-ph b { font-size: 15px; }

/* 濃い背景のセクション（モデルコース・編集部の試着メモ） */
.dsec { padding-block: 96px; }
.dsec__in { display: flex; flex-direction: column; gap: 40px; }
.dsec__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 32px; }
.dsec__l { display: flex; flex-direction: column; gap: 20px; }
.dsec__t { font-family: var(--serif); font-weight: 900; font-size: 48px; line-height: 1.6; }
.dsec__t--52 { font-size: 52px; line-height: 1.25; }
.dsec__note { font-size: 13px; line-height: 1.6; color: var(--sub-2); flex: none; }
@media (max-width: 767px) {
  .dsec { padding-block: 56px; }
  .dsec__in { gap: 28px; }
  .dsec__head { flex-direction: column; align-items: flex-start; gap: 12px; }
  .dsec__l { gap: 14px; }
  .dsec__t, .dsec__t--52 { font-size: 28px; line-height: 1.4; }
  .dsec__note { font-size: 12px; }
}

/* =========================================================
   05 着比べ記事
   ========================================================= */
.fa-hero > .kz-header { padding-bottom: 28px; }
.fa-hero__ph { display: grid; grid-template-columns: 1fr 1fr; }
.fa-hero__p { height: 820px; padding: 0 48px 48px; display: flex; flex-direction: column; justify-content: flex-end; }
.fa-hero__p figcaption { display: flex; flex-direction: column; gap: 6px; }
.fa-hero__size { font-size: 20px; color: var(--cognac-2); }
.fa-hero__h { display: flex; align-items: flex-end; gap: 8px; }
.fa-hero__num { font-size: 150px; line-height: .85; }
.fa-hero__unit { font-size: 32px; padding-bottom: 2px; }
.fa-hero__body { padding-block: 48px; display: flex; flex-direction: column; gap: 16px; }
.fa-hero__meta { display: flex; align-items: center; gap: 10px; }
.no-tag { padding: 4px 10px; background: var(--cognac); color: var(--ink); font-size: 16px; }
.fa-hero__title { font-family: var(--serif); font-weight: 900; font-size: 52px; line-height: 1.35; }
.fa-body { padding-block: 80px; display: flex; flex-direction: column; gap: 72px; }
.fa-row { display: flex; align-items: flex-start; gap: 64px; }
.fa-spec { width: 520px; flex: none; gap: 24px; }
.fa-bars-sec { flex: 1; min-width: 0; gap: 24px; }
.bars { display: flex; flex-direction: column; gap: 24px; }
.bars__item { display: flex; flex-direction: column; gap: 8px; }
.bars__head { display: flex; justify-content: space-between; align-items: baseline; font-size: 14px; line-height: 1.6; color: var(--ink); }
.bars__head span { font-size: 12px; color: var(--sub); }
.bars__row { display: flex; align-items: center; gap: 10px; }
.bars__h { width: 40px; flex: none; font-size: 18px; color: var(--cognac); }
.bars__h--b { color: var(--blue); }
.bars__track { width: 300px; height: 12px; border-radius: 6px; background: var(--line); overflow: hidden; }
.bars__track > span { display: block; height: 100%; border-radius: 6px; background: var(--cognac); }
.bars__track--b > span { background: var(--blue); }
.fa-views { display: grid; grid-template-columns: repeat(4, minmax(0, 303px)); gap: 12px; }
.fa-views .photo { height: 400px; padding: 14px; display: flex; align-items: flex-end; font-weight: 700; font-size: 12px; line-height: 1.6; --shade: linear-gradient(180deg, rgba(13,9,6,0) 60%, rgba(13,9,6,.45) 100%); }
.fa-views .ph-mark__shape { width: 60%; }
.voices { display: flex; align-items: flex-start; gap: 24px; }
.voice { width: 416px; padding: 28px; display: flex; flex-direction: column; gap: 14px; background: #fff; }
.voice__who { display: flex; align-items: center; gap: 14px; }
.voice__who > span:last-child { display: flex; flex-direction: column; gap: 2px; }
.voice__icon { width: 56px; height: 56px; flex: none; border-radius: 50%; background: var(--cognac); opacity: .85; }
.voice__icon--b { background: var(--blue); }
.voice__h { font-size: 22px; color: var(--cognac); }
.voice__h--b { color: var(--blue); }
.voice__s { font-size: 12px; line-height: 1.6; color: var(--sub); }
.voice__t { font-size: 15px; line-height: 1.9; color: var(--text); }
.voice--dark { background: var(--ink); color: var(--cream); }
.voice--dark .voice__t { color: var(--cream-text); }
.voice__en { font-size: 20px; color: var(--cognac); }
.voice__k { font-family: var(--serif); font-weight: 900; font-size: 22px; line-height: 1.6; }
.shop-cta--wide .shop-cta__img { width: 420px; height: 280px; }
.shop-cta--wide .shop-cta__body { padding: 32px 48px; }
.shop-cta--wide .shop-cta__t { font-size: 28px; }
.shop-cta--wide .btn-row { gap: 12px; }
@media (max-width: 1100px) {
  .fa-row { flex-direction: column; gap: 56px; } .fa-spec { width: 100%; }
  .voices { flex-direction: column; } .voice { width: 100%; }
  .bars__track { flex: 1; width: auto; }
}
@media (max-width: 767px) {
  .fa-hero > .kz-header { padding-bottom: 12px; }
  .fa-hero__p { height: auto; aspect-ratio: 3 / 4.6; padding: 0 14px 16px; }
  .fa-hero__size { font-size: 12px; }
  .fa-hero__h { gap: 4px; }
  .fa-hero__num { font-size: 60px; }
  .fa-hero__unit { font-size: 16px; padding-bottom: 0; }
  .fa-hero__body { padding-block: 28px 32px; gap: 12px; }
  .no-tag { font-size: 13px; padding: 3px 8px; }
  .fa-hero__meta .crumb { font-size: 12px; }
  .fa-hero__title { font-size: 25px; line-height: 1.45; }
  .fa-body { padding-block: 48px 56px; gap: 56px; }
  .bars__row { gap: 6px; }
  .bars__h { width: 30px; font-size: 15px; }
  .fa-views { grid-template-columns: 1fr 1fr; gap: 8px; }
  .fa-views .photo { height: auto; aspect-ratio: 3 / 4; padding: 10px; font-size: 11px; }
  .voices { gap: 14px; } .voice { padding: 22px 20px; gap: 12px; }
  .voice__icon { width: 44px; height: 44px; }
  .voice__t { font-size: 14px; }
  .shop-cta--wide .shop-cta__img { width: 100%; height: 180px; }
  .shop-cta--wide .shop-cta__body { padding: 22px 20px 26px; }
  .shop-cta--wide .shop-cta__t { font-size: 20px; }
  .shop-cta--wide .btn-row .btn { flex: 1; }
}

/* =========================================================
   06 専門店ガイド（エリア）
   ========================================================= */
.sa-hero { min-height: 760px; }
.sa-hero__in { display: flex; align-items: flex-end; justify-content: space-between; gap: 40px; }
.sa-hero__txt { width: 820px; max-width: 100%; }
.sa-hero__title { line-height: 1.22; }
.hstats { display: flex; gap: 40px; flex: none; }
.hstats > div { padding-top: 18px; border-top: 1px solid #5a4a3c; display: flex; flex-direction: column; gap: 2px; }
.hstats dd:first-of-type { display: flex; align-items: flex-end; gap: 6px; }
.hstats__n { font-size: 52px; }
.hstats__u, .hstats__l { font-size: 13px; line-height: 1.6; color: var(--sub-2); }
.sa-main { padding-block: 80px; display: flex; align-items: flex-start; gap: 48px; }
.sa-map { width: 560px; height: 640px; flex: none; border: 1px solid var(--line); position: sticky; top: 24px; }
.sa-list { flex: 1; min-width: 0; }
.shop-row { display: flex; align-items: center; gap: 20px; padding-block: 24px; border-bottom: 1px solid var(--line); }
.shop-row__k { width: 36px; flex: none; font-size: 40px; color: var(--cognac); }
.shop-row__img { width: 150px; height: 110px; flex: none; object-fit: cover; }
.shop-row__b { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; min-width: 0; }
.shop-row__n { display: flex; align-items: center; gap: 8px; font-family: var(--serif); font-weight: 900; font-size: 22px; line-height: 1.6; color: var(--ink); }
.shop-row:hover .shop-row__n { color: var(--cognac); }
.shop-row__d { font-size: 14px; line-height: 1.6; color: var(--text); }
.pr--sub { border-color: var(--sub); color: var(--sub); font-family: var(--sans); font-weight: 400; }
.tag--soft { background: var(--cream-2); color: var(--brown); padding: 2px 10px; }
.course { display: grid; grid-template-columns: repeat(5, 1fr); }
.course li { padding: 24px 20px 0 0; border-top: 2px solid var(--cognac); display: flex; flex-direction: column; gap: 10px; }
.course__time { font-size: 28px; color: var(--cognac); }
.course__n { font-family: var(--serif); font-weight: 900; font-size: 18px; line-height: 1.6; }
.course__d { font-size: 13px; line-height: 1.6; color: var(--sub-2); }
.sa-faq { padding-block: 80px; }
@media (max-width: 1100px) {
  .sa-hero__in { flex-direction: column; align-items: flex-start; }
  .sa-main { flex-direction: column; align-items: stretch; } .sa-map { width: 100%; height: 360px; position: static; }
  .course { grid-template-columns: repeat(3, 1fr); row-gap: 28px; }
}
@media (max-width: 767px) {
  .sa-hero { min-height: 600px; }
  .sa-hero__title { line-height: 1.3; font-size: 34px; }
  .sa-hero__in { gap: 28px; }
  .hstats { gap: 20px; width: 100%; } .hstats > div { flex: 1; padding-top: 12px; }
  .hstats__n { font-size: 36px; } .hstats__u, .hstats__l { font-size: 11px; }
  .sa-main { padding-block: 48px; gap: 36px; }
  .sa-map { height: 260px; }
  .shop-row { gap: 12px; padding-block: 18px; align-items: flex-start; }
  .shop-row__k { width: 20px; font-size: 28px; }
  .shop-row__img { width: 96px; height: 72px; }
  .shop-row__n { font-size: 17px; }
  .shop-row__d { font-size: 13px; }
  .course { grid-template-columns: 1fr; row-gap: 0; }
  .course li { display: grid; grid-template-columns: 72px 1fr; gap: 2px 12px; padding: 16px 0; border-top-width: 1px; }
  .course li:first-child { border-top-width: 2px; }
  .course__time { font-size: 22px; grid-row: span 2; }
  .course__n { font-size: 16px; }
  .course__d { font-size: 12px; }
  .sa-faq { padding-block: 48px 56px; }
}

/* =========================================================
   07 お店の個別ページ
   ========================================================= */
.sh-hero { min-height: 680px; }
.sh-hero__in { gap: 18px; }
.sh-hero__file { display: flex; align-items: center; gap: 12px; font-size: 22px; color: var(--cognac-2); }
.sh-hero__title { font-family: var(--serif); font-weight: 900; font-size: 88px; line-height: 1.1; }
.pills { display: flex; flex-wrap: wrap; gap: 10px; }
.pills li { padding: 8px 16px; border: 1px solid var(--cream); border-radius: 99px; font-weight: 500; font-size: 13px; line-height: 1.6; }
.sh-info { padding-block: 80px; display: flex; align-items: flex-start; gap: 56px; }
.sh-info__l { width: 720px; flex: none; gap: 24px; }
.sh-info__r { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 16px; }
.sh-map { height: 360px; }
.sh-info__r .btn-row { gap: 12px; }
.sh-photos { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.sh-photos figure { display: flex; flex-direction: column; gap: 10px; }
.sh-photos .photo { display: block; height: 520px; --shade: none; }
.sh-photos figcaption { font-size: 13px; line-height: 1.6; color: var(--sub-2); }
.memo { display: grid; grid-template-columns: repeat(2, minmax(0, 640px)); gap: 24px; align-items: start; }
.memo__box { background: var(--ink-2); padding: 28px; display: flex; flex-direction: column; gap: 10px; }
.memo__k { font-size: 24px; color: var(--cognac); }
.memo__k--note { color: var(--sub-2); }
.memo__l { font-size: 15px; line-height: 2; color: var(--cream-text); }
.memo__l li::before { content: "・"; }
.sh-brands { padding-block: 80px; display: flex; flex-direction: column; gap: 24px; }
.chip--l { min-height: 54px; padding: 14px 24px; color: var(--ink); }
.chip--l:hover { background: var(--ink); color: var(--cream); border-color: var(--ink); }
.sh-brands__note { font-size: 13px; line-height: 1.6; color: var(--sub); }
@media (max-width: 1100px) {
  .sh-info { flex-direction: column; align-items: stretch; } .sh-info__l { width: 100%; }
}
@media (max-width: 767px) {
  .sh-hero { min-height: 560px; }
  .sh-hero__in { gap: 12px; }
  .sh-hero__file { font-size: 16px; gap: 10px; }
  .sh-hero__title { font-size: 44px; }
  .pills { gap: 8px; } .pills li { padding: 6px 12px; font-size: 12px; }
  .sh-info { padding-block: 48px; gap: 28px; }
  .sh-map { height: 240px; }
  .sh-info__r .btn-row .btn { flex: 1; }
  .sh-photos { grid-template-columns: 1fr 1fr; gap: 10px 8px; }
  .sh-photos .photo { height: auto; aspect-ratio: 4 / 5; }
  .sh-photos figure:last-child { grid-column: span 2; }
  .sh-photos figure:last-child .photo { aspect-ratio: 16 / 9; }
  .sh-photos figcaption { font-size: 12px; }
  .memo { grid-template-columns: 1fr; gap: 12px; }
  .memo__box { padding: 22px 20px; }
  .memo__k { font-size: 20px; } .memo__l { font-size: 14px; line-height: 1.9; }
  .sh-brands { padding-block: 48px 56px; gap: 20px; }
  .chip--l { min-height: 46px; padding: 10px 18px; font-size: 14px; }
  .sh-brands__note { font-size: 12px; }
}
/* 見出しの最後の1〜2文字だけが次の行に落ちないように */
.h2n__t, .dsec__t, .shop-cta__t, .fa-hero__title, .sh-hero__title { text-wrap: balance; word-break: auto-phrase; }
@media (max-width: 1100px) { .fa-row { align-items: stretch; } }
@media (max-width: 767px) {
  .fa-hero__title br { display: none; }
  .fa-hero .ph-mark > span { display: none; }
  .fa-hero .ph-mark { padding-bottom: 30%; }
}

/* =========================================================
   08 ブランド一覧
   ========================================================= */
.br-hero { min-height: 600px; }
.abc { display: flex; flex-wrap: wrap; gap: 4px 14px; font-size: 20px; color: var(--brown); }
.abc a:hover { color: var(--cognac); }
.br-list { padding-block: 72px 96px; display: flex; flex-direction: column; gap: 32px; }
.br-list__l { gap: 16px; }
.br-list__t { font-family: var(--serif); font-weight: 900; font-size: 40px; line-height: 1.6; }
.br-list__note { color: var(--sub); }
.bcards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.bcard { display: flex; flex-direction: column; height: 100%; background: #fff; }
.bcard__ph { height: 260px; padding: 20px; display: flex; align-items: flex-end; --shade: linear-gradient(180deg, rgba(13,9,6,0) 40%, rgba(13,9,6,.5) 100%); }
.bcard__ph .ph-mark__shape { width: 34%; }
.bcard__k { font-size: 72px; }
.bcard__b { padding: 24px; display: flex; flex-direction: column; gap: 10px; }
.bcard__top { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; }
.bcard__n { font-family: var(--serif); font-weight: 900; font-size: 22px; line-height: 1.6; color: var(--ink); }
.bcard:hover .bcard__n { color: var(--cognac); }
.bcard__c { font-size: 12px; line-height: 1.6; color: var(--sub); flex: none; }
.bcard__d { font-size: 14px; line-height: 1.6; color: var(--text); }
.bcard__facts { display: flex; gap: 16px; padding-top: 12px; border-top: 1px solid var(--line); }
.bcard__facts > span { display: flex; flex-direction: column; gap: 2px; font-weight: 700; font-size: 13px; line-height: 1.6; color: var(--ink); }
.bcard__facts small { font-weight: 400; font-size: 11px; color: var(--sub); }
/* 写真＋文の濃い帯（特集・なめし） */
.feat { padding-block: 96px; }
.feat__in { display: flex; align-items: center; gap: 56px; }
.feat__img { width: 600px; height: 480px; flex: none; object-fit: cover; }
.feat__b { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 20px; }
.feat__t { font-family: var(--serif); font-weight: 900; font-size: 44px; line-height: 1.35; }
.feat__d { width: 600px; max-width: 100%; font-size: 15px; line-height: 1.9; color: var(--sub-2); }
@media (max-width: 1100px) { .bcards { grid-template-columns: repeat(2, 1fr); } .feat__in { flex-direction: column; align-items: stretch; } .feat__img { width: 100%; height: 420px; } }
@media (max-width: 767px) {
  .br-hero { min-height: 440px; }
  .abc { gap: 4px 12px; font-size: 17px; }
  .br-list { padding-block: 48px 64px; gap: 24px; }
  .br-list__t { font-size: 26px; line-height: 1.4; }
  .bcards { grid-template-columns: 1fr; gap: 16px; }
  .bcard__ph { height: 180px; padding: 14px; }
  .bcard__k { font-size: 52px; }
  .bcard__b { padding: 18px 20px 20px; gap: 8px; }
  .bcard__n { font-size: 19px; }
  .feat { padding-block: 56px; }
  .feat__in { gap: 28px; }
  .feat__img { height: 240px; }
  .feat__b { gap: 14px; }
  .feat__t { font-size: 28px; line-height: 1.4; }
  .feat__d { font-size: 14px; }
}

/* =========================================================
   09 ブランド個別
   ========================================================= */
.bf-hero { position: relative; display: grid; grid-template-columns: 1fr 1fr; min-height: 760px; }
.bf-hero > .kz-header { position: absolute; inset: 0 0 auto; }
.bf-hero__l { padding: 140px 64px 64px max(64px, calc((100vw - 1440px) / 2 + 64px)); display: flex; flex-direction: column; justify-content: flex-end; }
.bf-hero__txt { width: 560px; max-width: 100%; }
.bf-hero__en { font-size: 22px; color: var(--cognac-2); }
.bf-hero__title { font-family: var(--serif); font-weight: 900; font-size: 96px; line-height: 1.1; }
.bf-hero__lead { font-size: 17px; line-height: 1.8; color: var(--cream-text); }
.bf-facts { display: flex; width: 540px; max-width: 100%; }
.bf-facts > div { flex: 1; padding-top: 16px; border-top: 1px solid #5a4a3c; display: flex; flex-direction: column; gap: 4px; }
.bf-facts dt { font-size: 12px; line-height: 1.6; color: var(--sub-2); }
.bf-facts dd { font-family: var(--serif); font-weight: 900; font-size: 20px; line-height: 1.6; }
.bf-hero__ph { min-height: 100%; }
.bf-sec { padding-block: 96px; display: flex; flex-direction: column; gap: 32px; }
.models { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.models li { display: flex; flex-direction: column; gap: 12px; }
.models__ph { height: 480px; }
.models__ph .ph-mark__shape { width: 50%; }
.models__no { font-size: 22px; color: var(--cognac); }
.models__n { font-family: var(--serif); font-weight: 900; font-size: 22px; line-height: 1.6; }
.models__d { font-size: 14px; line-height: 1.6; color: var(--sub); }
.fits { display: grid; grid-template-columns: repeat(2, minmax(0, 632px)); gap: 24px; }
.fitc { display: flex; align-items: center; gap: 20px; padding: 20px; background: #fff; }
.fitc__ph { width: 220px; height: 290px; flex: none; }
.fitc__ph .ph-mark__shape { width: 70%; }
.fitc__b { display: flex; flex-direction: column; gap: 10px; min-width: 0; }
.fitc__h { font-size: 26px; color: var(--cognac); }
.fitc__s { display: flex; align-items: flex-end; gap: 8px; }
.fitc__s small { font-size: 12px; line-height: 1.6; color: var(--sub); }
.fitc__s .f-en { font-size: 40px; color: var(--ink); }
.fitc__t { font-size: 14px; line-height: 1.9; color: var(--text); }
.tbl--size { background: #fff; font-size: 14px; table-layout: fixed; }
.tbl--size th, .tbl--size td { padding: 14px; }
.tbl--size td { color: var(--ink); }
.tbl--size td:first-child { font-family: var(--sans); font-weight: 700; }
.bf-note { font-size: 12px; line-height: 1.6; color: var(--sub); }
.try { padding-block: 80px; display: flex; align-items: center; gap: 48px; }
.try__l { width: 600px; flex: none; display: flex; flex-direction: column; gap: 16px; }
.try__t { font-family: var(--serif); font-weight: 900; font-size: 40px; line-height: 1.35; }
.try__list { flex: 1; min-width: 0; }
.try__list a { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding-block: 20px; border-bottom: 1px solid #3a2e25; }
.try__n { display: flex; align-items: center; gap: 12px; font-family: var(--serif); font-weight: 900; font-size: 20px; line-height: 1.6; }
.try__n .pr { font-family: var(--sans); font-weight: 400; }
.try__list a:hover .try__n { color: var(--cognac-2); }
.try__a { font-size: 14px; line-height: 1.6; color: var(--sub-2); }
@media (max-width: 1100px) {
  .bf-hero { grid-template-columns: 1fr; }
  .bf-hero__ph { order: -1; min-height: 0; height: 420px; }
  .bf-hero__l { padding: 40px var(--gutter) 56px; }
  .fits { grid-template-columns: 1fr; }
  .try { flex-direction: column; align-items: stretch; } .try__l { width: auto; }
}
@media (max-width: 767px) {
  .bf-hero__ph { height: 300px; }
  .bf-hero__ph::after { background: linear-gradient(180deg, rgba(20,16,13,.6) 0%, rgba(20,16,13,0) 35%, rgba(20,16,13,.6) 100%); }
  .bf-hero__l { padding: 28px var(--gutter) 40px; }
  .bf-hero__en { font-size: 15px; }
  .bf-hero__title { font-size: 48px; }
  .bf-hero__lead { font-size: 15px; }
  .bf-facts dd { font-size: 16px; }
  .bf-sec { padding-block: 56px; gap: 24px; }
  .models { grid-template-columns: 1fr 1fr; gap: 20px 10px; }
  .models li:first-child { grid-column: span 2; }
  .models__ph { height: auto; aspect-ratio: 4 / 5; }
  .models li:first-child .models__ph { aspect-ratio: 16 / 11; }
  .models__no { font-size: 18px; } .models__n { font-size: 17px; } .models__d { font-size: 12px; }
  .models li { gap: 6px; }
  .fitc { gap: 14px; padding: 14px; align-items: flex-start; }
  .fitc__ph { width: 110px; height: 146px; }
  .fitc__h { font-size: 22px; } .fitc__s .f-en { font-size: 30px; } .fitc__t { font-size: 13px; line-height: 1.8; }
  .fitc__b { gap: 6px; }
  .tbl--size { min-width: 0; font-size: 13px; }
  .tbl--size th, .tbl--size td { padding: 12px 8px; }
  .try { padding-block: 56px; gap: 20px; }
  .try__t { font-size: 26px; }
  .try__n { font-size: 17px; }
  .try__a { font-size: 13px; }
}

/* =========================================================
   10 革の種類
   ========================================================= */
.lt-hero { min-height: 640px; }
.lt-hero .t-h1 { line-height: 1.15; }
.lcards { display: grid; grid-template-columns: repeat(5, 1fr); gap: 16px; align-items: start; }
.lcard { background: #fff; padding: 24px; display: flex; flex-direction: column; gap: 14px; }
.lcard__no { font-size: 36px; color: var(--cognac); }
.lcard__n { font-family: var(--serif); font-weight: 900; font-size: 28px; line-height: 1.6; }
.lcard__en { font-size: 16px; color: var(--sub); }
.lcard__d { font-size: 13px; line-height: 1.8; color: var(--text); }
.lcard__sc { display: flex; flex-direction: column; gap: 10px; padding-top: 14px; border-top: 1px solid var(--line); }
.lcard__sc > span { display: flex; align-items: center; justify-content: space-between; font-size: 12px; line-height: 1.6; color: var(--sub); }
.dots { display: flex; gap: 5px; }
.dots i { width: 12px; height: 12px; border-radius: 50%; background: var(--line); }
.dots i.on { background: var(--cognac); }
.feat--tan .feat__img { height: 520px; }
.feat--tan .feat__b { gap: 24px; }
.feat--tan .feat__t { font-size: 48px; line-height: 1.3; }
.tan { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.tan__box { background: var(--ink-2); padding: 24px; display: flex; flex-direction: column; gap: 10px; }
.tan__n { font-family: var(--serif); font-weight: 900; font-size: 20px; line-height: 1.6; }
.tan__d { font-size: 14px; line-height: 1.8; color: var(--sub-2); }
.aging { display: grid; grid-template-columns: repeat(4, minmax(0, 303px)); gap: 12px; }
.aging figure { display: flex; flex-direction: column; gap: 10px; }
.aging .photo { height: 380px; display: block; }
.aging .ph-mark__shape { width: 55%; }
.aging figcaption { font-family: var(--en); font-size: 22px; line-height: 1; color: var(--ink); }
.aging figcaption.is-now { color: var(--cognac); }
@media (max-width: 1100px) { .lcards { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 767px) {
  .lt-hero { min-height: 460px; }
  .lcards { grid-template-columns: 1fr 1fr; gap: 10px; }
  .lcard { padding: 16px 14px; gap: 8px; }
  .lcard__no { font-size: 26px; } .lcard__n { font-size: 20px; } .lcard__en { font-size: 13px; } .lcard__d { font-size: 12px; line-height: 1.7; }
  .lcard__sc { gap: 6px; padding-top: 10px; }
  .lcard__sc > span { font-size: 11px; }
  .dots { gap: 3px; } .dots i { width: 9px; height: 9px; }
  .feat--tan .feat__img { height: 240px; }
  .feat--tan .feat__b { gap: 16px; }
  .feat--tan .feat__t { font-size: 28px; }
  .tan { grid-template-columns: 1fr; gap: 10px; }
  .tan__box { padding: 18px 20px; gap: 6px; }
  .tan__n { font-size: 17px; } .tan__d { font-size: 13px; }
  .aging { grid-template-columns: 1fr 1fr; gap: 16px 8px; }
  .aging .photo { height: auto; aspect-ratio: 4 / 5; }
  .aging figcaption { font-size: 18px; }
}
.bf-hero > * { min-width: 0; }
@media (max-width: 1100px) { .bf-hero__txt { width: auto; } }
.bf-intro { font-size: 15px; line-height: 1.6; color: var(--text); }
@media (max-width: 767px) { .bf-intro { font-size: 14px; line-height: 1.8; } }
@media (max-width: 1100px) { .bf-hero { min-height: 0; } }

/* =========================================================
   11 革図鑑について
   ========================================================= */
.ab-hero { min-height: 760px; padding-bottom: 72px; }
.ab-hero__title { width: 1000px; max-width: 100%; line-height: 1.25; }
.ab-story { padding-block: 120px; display: flex; gap: 80px; }
.ab-story__l { width: 520px; flex: none; display: flex; flex-direction: column; gap: 20px; }
.ab-story__t { font-family: var(--serif); font-weight: 900; font-size: 40px; line-height: 1.4; }
.ab-story__r { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 24px; }
.eds { display: grid; grid-template-columns: repeat(2, minmax(0, 632px)); gap: 24px; }
.ed { display: flex; gap: 24px; background: #fff; }
.ed__ph { width: 260px; height: 340px; flex: none; }
.ed__ph .ph-mark__shape { width: 60%; }
.ed__b { padding: 28px 24px 24px 0; display: flex; flex-direction: column; gap: 10px; min-width: 0; }
.ed__h { font-size: 32px; color: var(--cognac); }
.ed__n { font-family: var(--serif); font-weight: 900; font-size: 22px; line-height: 1.6; }
.ed__r { font-weight: 700; font-size: 13px; line-height: 1.6; color: var(--sub); }
.ed__d { font-size: 14px; line-height: 1.9; color: var(--text); }
.promises { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.promises li { background: var(--ink-2); padding: 28px; display: flex; flex-direction: column; gap: 12px; }
.promises__no { font-size: 40px; color: var(--cognac); }
.promises__t { font-family: var(--serif); font-weight: 900; font-size: 20px; line-height: 1.6; }
.promises__d { font-size: 14px; line-height: 1.9; color: var(--sub-2); }
@media (max-width: 1100px) { .ab-story { flex-direction: column; gap: 32px; } .ab-story__l { width: auto; } .eds { grid-template-columns: 1fr; } .promises { grid-template-columns: 1fr 1fr; } }
@media (max-width: 767px) {
  .ab-hero { min-height: 520px; padding-bottom: 40px; }
  .ab-hero__title { font-size: 32px; line-height: 1.4; }
  .ab-story { padding-block: 56px; gap: 24px; }
  .ab-story__l { gap: 14px; }
  .ab-story__t { font-size: 26px; }
  .ab-story__r { gap: 16px; }
  .ed { gap: 14px; }
  .ed__ph { width: 120px; height: auto; min-height: 168px; }
  .ed__b { padding: 18px 16px 18px 0; gap: 6px; }
  .ed__h { font-size: 24px; } .ed__n { font-size: 18px; } .ed__d { font-size: 13px; line-height: 1.8; }
  .promises { grid-template-columns: 1fr; gap: 10px; }
  .promises li { padding: 20px; gap: 6px; display: grid; grid-template-columns: 44px 1fr; }
  .promises__no { font-size: 28px; grid-row: span 2; }
  .promises__t { font-size: 17px; } .promises__d { font-size: 13px; line-height: 1.8; }
}

/* =========================================================
   12 掲載のご相談
   ========================================================= */
.pt-hero { min-height: 720px; padding-bottom: 72px; }
.pt-hero__title { width: 1100px; max-width: 100%; font-family: var(--serif); font-weight: 900; font-size: 68px; line-height: 1.28; }
.pt-hero__btns { gap: 12px; }
.whys { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.whys li { background: #fff; padding: 32px; display: flex; flex-direction: column; gap: 14px; }
.whys__no { font-size: 48px; color: var(--cognac); }
.whys__t { font-family: var(--serif); font-weight: 900; font-size: 22px; line-height: 1.6; }
.whys__d { font-size: 15px; line-height: 1.9; color: var(--text); }
.plans { display: grid; grid-template-columns: repeat(2, minmax(0, 644px)); gap: 24px; }
.plan { background: #fff; border: 1px solid var(--line); padding: 36px; display: flex; flex-direction: column; gap: 16px; }
.plan[hidden] { display: none; }
.plan__en { font-size: 18px; color: var(--cognac); }
.plan__n { font-family: var(--serif); font-weight: 900; font-size: 28px; line-height: 1.6; color: var(--ink); }
.plan__p { display: flex; align-items: flex-end; gap: 6px; min-height: 48px; font-family: var(--serif); font-weight: 900; font-size: 30px; line-height: 1.6; color: var(--ink); }
.plan__p .f-en { font-size: 48px; }
.plan__p small { font-family: var(--sans); font-weight: 400; font-size: 13px; color: var(--sub); }
.plan__l { padding-top: 16px; border-top: 1px solid var(--line); display: flex; flex-direction: column; gap: 10px; font-size: 14px; line-height: 1.6; color: var(--text); flex: 1; }
.plan__l li::before { content: "・"; }
.plan--dark { background: var(--ink); border-color: var(--ink); }
.plan--dark .plan__en { color: var(--cognac-2); }
.plan--dark .plan__n, .plan--dark .plan__p { color: var(--cream); }
.plan--dark .plan__l { border-color: #3a2e25; color: var(--cream-text); }
.course--light { grid-template-columns: repeat(4, 1fr); }
.course--light li { padding-right: 24px; }
.course--light .course__time { font-size: 22px; }
.course--light .course__n { font-size: 22px; color: var(--ink); }
.course--light .course__d { font-size: 14px; color: var(--sub); }
.pt-cta { padding-block: 80px; display: flex; align-items: center; justify-content: space-between; gap: 40px; }
.pt-cta__t { font-family: var(--serif); font-weight: 900; font-size: 40px; line-height: 1.6; }
.pt-cta__d { margin-top: 10px; font-size: 15px; line-height: 1.6; color: var(--sub-2); }
.pt-cta .btn-row { gap: 12px; flex: none; }
@media (max-width: 1100px) { .whys { grid-template-columns: 1fr; } .plans { grid-template-columns: 1fr; } .pt-cta { flex-direction: column; align-items: flex-start; } }
@media (max-width: 767px) {
  .pt-hero { min-height: 560px; padding-bottom: 40px; }
  .pt-hero__title { font-size: 30px; line-height: 1.4; }
  .pt-hero__btns .btn { flex: 1; }
  .whys { gap: 12px; }
  .whys li { padding: 22px 20px; gap: 8px; }
  .whys__no { font-size: 32px; } .whys__t { font-size: 18px; } .whys__d { font-size: 14px; }
  .plans { gap: 14px; }
  .plan { padding: 26px 22px; gap: 12px; }
  .plan__n { font-size: 22px; } .plan__p { font-size: 22px; min-height: 0; }
  .course--light { grid-template-columns: 1fr; }
  .course--light li { padding-right: 0; grid-template-columns: 88px 1fr; }
  .course--light .course__time { font-size: 18px; } .course--light .course__n { font-size: 17px; } .course--light .course__d { font-size: 13px; }
  .pt-cta { padding-block: 56px; gap: 24px; }
  .pt-cta__t { font-size: 24px; line-height: 1.5; }
  .pt-cta .btn-row { width: 100%; } .pt-cta .btn-row .btn { flex: 1; }
}

/* =========================================================
   13 お問い合わせ
   ========================================================= */
.ct-hero { min-height: 440px; padding-bottom: 56px; }
.ct-hero__body { gap: 16px; }
.ct-hero__title { font-family: var(--serif); font-weight: 900; font-size: 68px; line-height: 1.6; }
.ct-main { padding-block: 80px; display: flex; align-items: flex-start; gap: 80px; }
.ct-side { width: 420px; flex: none; display: flex; flex-direction: column; gap: 20px; }
.ct-side__t { font-size: 16px; line-height: 2; color: var(--text); }
.ct-side__n { font-size: 14px; line-height: 1.6; color: var(--sub); }
.ct-side__box { background: var(--cream-2); padding: 24px; display: flex; flex-direction: column; gap: 6px; font-size: 14px; line-height: 1.6; color: var(--text); }
.ct-side__box a { text-decoration: underline; text-underline-offset: 3px; }
.ct-side__h { font-family: var(--serif); font-weight: 900; font-size: 18px; line-height: 1.6; color: var(--ink); }
.form { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 28px; }
.field { display: flex; flex-direction: column; gap: 8px; border: 0; padding: 0; margin: 0; min-width: 0; }
fieldset.field { gap: 10px; }
.field__k { display: flex; align-items: center; gap: 8px; font-weight: 700; font-size: 15px; line-height: 1.6; color: var(--ink); padding: 0; }
.req { padding: 2px 8px; background: var(--cognac); color: var(--ink); font-weight: 700; font-size: 11px; line-height: 1.6; }
.opt-l { font-weight: 400; font-size: 12px; color: var(--sub); }
.input { width: 100%; height: 56px; padding: 16px 18px; background: #fff; border: 1px solid var(--line); border-radius: 0; font: 400 15px/1.6 var(--sans); color: var(--ink); }
.input::placeholder { color: #8a7b6a; }
.input:focus { outline: 2px solid var(--cognac); outline-offset: -1px; border-color: var(--cognac); }
.input--area { height: 200px; resize: vertical; }
.radios { display: flex; flex-wrap: wrap; gap: 10px 24px; }
.radios label, .check { display: inline-flex; align-items: center; gap: 8px; font-size: 15px; line-height: 1.6; color: var(--ink); cursor: pointer; }
.check { gap: 10px; font-size: 14px; }
.check a { text-decoration: underline; text-underline-offset: 3px; }
.radios input, .check input { appearance: none; -webkit-appearance: none; margin: 0; width: 20px; height: 20px; flex: none; border: 1.5px solid var(--ink); border-radius: 50%; background: transparent; cursor: pointer; }
.radios input:checked { border-width: 6px; }
.check input { border-radius: 3px; display: grid; place-content: center; }
.check input:checked { background: var(--ink); }
.check input:checked::after { content: ""; width: 10px; height: 6px; border: 2px solid var(--cream); border-top: 0; border-right: 0; transform: rotate(-45deg) translate(1px, -1px); }
.radios input:focus-visible, .check input:focus-visible { outline: 2px solid var(--cognac); outline-offset: 2px; }
.btn--ink { background: var(--ink); color: var(--cream); border-color: var(--ink); cursor: pointer; font-family: var(--sans); }
.btn--ink:hover { background: var(--brown); }
@media (max-width: 1100px) { .ct-main { flex-direction: column; align-items: stretch; gap: 40px; } .ct-side { width: auto; } }
@media (max-width: 767px) {
  .ct-hero { min-height: 300px; padding-bottom: 32px; }
  .ct-hero__body { gap: 10px; }
  .ct-hero__title { font-size: 36px; line-height: 1.4; }
  .ct-main { padding-block: 40px 56px; gap: 32px; }
  .ct-side { gap: 14px; }
  .ct-side__t { font-size: 15px; }
  .ct-side__box { padding: 18px 20px; }
  .form { gap: 22px; }
  .radios { flex-direction: column; gap: 12px; }
  .input { font-size: 16px; } /* iPhoneで入力時に拡大されないように16px */
  .input--area { height: 180px; }
  .form .btn { width: 100%; }
}
fieldset.field .radios { margin-top: 10px; }
.pt-cta__t, .shop-cta__t, .side-fit__t, .plan__n, .plan__p, .fit-link__t { word-break: auto-phrase; text-wrap: balance; }

/* =========================================================
   14 わたしの一着（一覧）・15 投稿
   ========================================================= */
.mj-main { padding-block: 80px 96px; display: flex; flex-direction: column; gap: 56px; }
.mj-aging { display: flex; flex-direction: column; gap: 20px; }
.mj-eyebrow { display: flex; align-items: baseline; gap: 12px; color: var(--cognac); }
.mj-eyebrow .f-it { font-size: 20px; line-height: 1.6; }
.mj-eyebrow b { font-size: 12px; line-height: 1.6; }
.mj-aging__t { font-family: var(--serif); font-weight: 900; font-size: 44px; line-height: 1.3; }
.mj-aging__d { font-size: 16px; line-height: 1.6; color: var(--sub); }
.mj-ba { display: grid; grid-template-columns: 1fr 1fr; gap: 4px; }
.mj-ba .photo { height: 460px; padding: 24px; display: flex; align-items: flex-end; --shade: linear-gradient(180deg, rgba(13,9,6,0) 50%, rgba(13,9,6,.6) 100%); }
.mj-ba figcaption { display: flex; flex-direction: column; gap: 12px; }
.mj-ba b { font-size: 14px; line-height: 1.6; }
.mj-ba .f-en { font-size: 40px; line-height: 1.1; }
.mj-note { font-size: 13px; line-height: 1.6; color: var(--sub); }
.mj-note--s { font-size: 12px; }
.mj-filter { display: flex; flex-direction: column; gap: 12px; }
.mj-filter .filters__row { gap: 8px; }
.mj-filter .filters__k { width: 80px; }
.mj-filter .filters__opts { gap: 8px; }
.opt--s { min-height: 43px; padding: 10px 18px; border-color: var(--line); font-size: 13px; color: var(--text); font-weight: 400; }
.opt--s[aria-pressed="true"] { border-color: var(--ink); font-weight: 700; }
.mj-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; }
.mj-head__t { font-family: var(--serif); font-weight: 900; font-size: 28px; line-height: 1.6; }
.mj-head .mj-note { padding-bottom: 5px; }
.mjs { display: grid; grid-template-columns: repeat(3, 1fr); gap: 40px 24px; margin-bottom: 0; }
.mj { display: flex; flex-direction: column; gap: 12px; }
.mj__ph { height: 380px; padding: 20px; display: flex; align-items: flex-end; --shade: linear-gradient(180deg, rgba(13,9,6,0) 55%, rgba(13,9,6,.55) 100%); }
.mj__ph .ph-mark__shape { width: 40%; }
.mj__y { display: flex; align-items: flex-end; gap: 6px; font-weight: 700; font-size: 15px; line-height: 1.6; }
.mj__y .f-en { font-size: 52px; }
.mj__meta { display: flex; align-items: center; gap: 10px; font-size: 12px; line-height: 1.6; color: var(--sub); }
.mj__tag { padding: 4px 10px; border: 1px solid var(--cognac); color: var(--cognac); font-weight: 700; }
.mj__t { font-family: var(--serif); font-weight: 900; font-size: 19px; line-height: 1.5; color: var(--ink); }
.mj:hover .mj__t { color: var(--cognac); }
.mj-cta { background: var(--ink); color: var(--cream); padding: 56px; display: flex; align-items: center; justify-content: space-between; gap: 32px; }
.mj-cta__t { font-family: var(--serif); font-weight: 900; font-size: 30px; line-height: 1.4; word-break: auto-phrase; }
.mj-cta__d { margin-top: 10px; font-size: 14px; line-height: 1.6; color: var(--sub-2); }
.mj-cta__btn { flex: none; color: #fff; }
.drop { position: relative; height: 160px; display: flex; align-items: center; justify-content: center; padding: 16px 18px; background: #fff; border: 1px dashed var(--line); color: #8a7b6a; font-size: 15px; line-height: 1.6; text-align: center; cursor: pointer; }
.drop:hover, .drop:focus-within { border-color: var(--cognac); }
.drop input { position: absolute; inset: 0; opacity: 0; cursor: pointer; }
.checks { display: flex; flex-direction: column; gap: 28px; }
.soon { flex: 1; background: #fff; border: 1px solid var(--line); padding: 40px; display: flex; flex-direction: column; gap: 14px; }
.soon[hidden] { display: none; }
.soon__t { font-family: var(--serif); font-weight: 900; font-size: 26px; line-height: 1.5; }
.soon__d { font-size: 15px; line-height: 1.8; color: var(--text); }
@media (max-width: 1100px) { .mjs { grid-template-columns: repeat(2, 1fr); } .mj-cta { flex-direction: column; align-items: flex-start; } }
@media (max-width: 767px) {
  .mj-main { padding-block: 48px 64px; gap: 40px; }
  .mj-aging { gap: 14px; }
  .mj-aging__t { font-size: 26px; line-height: 1.4; }
  .mj-aging__d { font-size: 14px; line-height: 1.8; }
  .mj-ba .photo { height: auto; aspect-ratio: 3 / 4; padding: 12px; }
  .mj-ba figcaption { gap: 4px; } .mj-ba b { font-size: 12px; } .mj-ba .f-en { font-size: 22px; }
  .mj-filter .filters__k { width: auto; }
  .opt--s { min-height: 40px; padding: 8px 14px; }
  .mj-head { flex-direction: column; align-items: flex-start; gap: 4px; }
  .mj-head__t { font-size: 22px; }
  .mjs { grid-template-columns: 1fr 1fr; gap: 28px 10px; }
  .mj { gap: 8px; }
  .mj__ph { height: auto; aspect-ratio: 4 / 5; padding: 12px; }
  .mj__y { font-size: 12px; gap: 3px; } .mj__y .f-en { font-size: 34px; }
  .mj__meta { flex-direction: column; align-items: flex-start; gap: 4px; font-size: 11px; }
  .mj__tag { padding: 2px 8px; }
  .mj__t { font-size: 15px; }
  .mj-cta { padding: 32px 22px; gap: 20px; }
  .mj-cta__t { font-size: 22px; }
  .mj-cta__d { font-size: 13px; }
  .mj-cta__btn { width: 100%; }
  .drop { height: 140px; font-size: 14px; }
  .soon { padding: 26px 22px; } .soon__t { font-size: 20px; }
}

/* =========================================================
   16〜19（11/8追加の画面）共通
   ========================================================= */
:root { --v2-dark: #241d17; --v2-thumb: #ece2d1; --v2-line: #ccbda8; --v2-band: #e8dcc6; --v2-mute: #9e9487; }
.v2-band { background: var(--v2-band); }
.v2-dark { background: var(--ink); color: var(--cream); }
.v2-sec { padding-block: 96px; display: flex; flex-direction: column; gap: 48px; }
.h2r { display: flex; flex-direction: column; gap: 20px; }
.h2r::after { content: ""; height: 2px; background: var(--text); }
.h2r--light::after { background: var(--cream); }
.h2r__h { display: flex; align-items: center; flex-wrap: wrap; gap: 0 16px; }
.h2r__no { font-size: 56px; line-height: 1.1; color: var(--cognac); }
.h2r__t { font-family: var(--serif); font-weight: 900; font-size: 36px; line-height: 1.4; color: var(--ink); }
.h2r--light .h2r__t { color: var(--cream); }
.h2r__note { font-weight: 400; font-size: 14px; line-height: 1.75; color: var(--sub); padding-top: 6px; }
.crumb--v2 { color: var(--sub); line-height: 1.75; }
.v2-en { font-size: 24px; line-height: 1.4; color: var(--cognac); }
.v2-en--light { color: var(--cognac-2); }
.v2-h1 { font-family: var(--serif); font-weight: 900; font-size: 64px; line-height: 1.3; }
.v2-lead { width: 820px; max-width: 100%; font-size: 17px; line-height: 1.75; color: var(--text); }
.v2-lead--dark { width: 860px; color: var(--v2-line); }
.btn-v2 { display: inline-flex; align-items: center; justify-content: center; min-height: 54px; padding: 16px 28px; border-radius: 999px; border: 1px solid transparent; font-weight: 700; font-size: 16px; line-height: 1.4; white-space: nowrap; }
.btn-v2--ink { background: var(--ink); color: var(--cream); }
.btn-v2--ink:hover { background: var(--brown); }
.btn-v2--line { min-height: 56px; border-color: var(--ink); color: var(--ink); }
.btn-v2--line:hover { background: var(--ink); color: var(--cream); }
.btn-v2--l { min-height: 65px; padding: 20px 40px; font-size: 18px; }
.btn-v2--soft { min-height: 62px; padding: 20px 32px; background: var(--v2-thumb); color: var(--ink); }
.btn-v2--soft:hover { background: var(--line); }
.btn-v2--m { min-height: 40px; padding: 10px 20px; font-size: 14px; }
.btn-v2--s { min-height: 38px; padding: 8px 20px; font-size: 14px; border-color: var(--ink); color: var(--ink); }
.btn-v2--s:hover { background: var(--ink); color: var(--cream); }
.ad { display: inline-flex; padding: 1px 6px; border: 1px solid var(--sub); border-radius: 3px; font-weight: 500; font-size: 10px; line-height: 1.4; color: var(--sub); }
@media (max-width: 767px) {
  .v2-sec { padding-block: 56px; gap: 28px; }
  .h2r { gap: 12px; }
  .h2r__no { font-size: 36px; } .h2r__t { font-size: 22px; }
  .h2r__note { width: 100%; font-size: 12px; padding-top: 2px; }
  .v2-en { font-size: 17px; }
  .v2-h1 { font-size: 30px; line-height: 1.4; }
  .v2-lead { font-size: 15px; }
  .v2-lead br { display: none; }
  .btn-v2 { min-height: 50px; padding: 13px 22px; font-size: 15px; }
  .btn-v2--l { min-height: 56px; padding: 16px 24px; font-size: 16px; }
  .btn-v2--soft { min-height: 52px; padding: 14px 22px; }
  .btn-v2--m { min-height: 40px; font-size: 13px; }
  .btn-v2--s { min-height: 38px; }
}

/* ---------- 16 革ジャンを探す ---------- */
.srch-hero { background: var(--cream); }
.srch-hero__in { padding-block: 72px 80px; display: flex; flex-direction: column; gap: 20px; }
.srch-status { width: 929px; max-width: 100%; background: #fff; border-radius: 4px; padding: 24px 28px; display: flex; align-items: center; gap: 32px; }
.srch-status__n { display: flex; align-items: flex-end; gap: 6px; flex: none; font-weight: 700; font-size: 16px; line-height: 1.4; color: var(--ink); }
.srch-status__n .f-en { font-size: 48px; line-height: 1.1; color: var(--cognac); }
.srch-status__r { display: flex; flex-direction: column; gap: 10px; min-width: 0; font-size: 14px; line-height: 1.75; color: var(--sub); }
.srch-bar { display: block; width: 520px; max-width: 100%; height: 8px; border-radius: 4px; background: var(--v2-thumb); overflow: hidden; }
.srch-bar > span { display: block; height: 100%; border-radius: 4px; background: var(--cognac); }
.entries { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; align-items: start; }
.entry { background: #fff; border-radius: 4px; padding: 32px; display: flex; flex-direction: column; gap: 20px; }
.entry__en { font-size: 18px; line-height: 1.4; color: var(--cognac); }
.entry__t { font-family: var(--serif); font-weight: 900; font-size: 26px; line-height: 1.4; }
.entry__d { font-size: 14px; line-height: 1.75; color: var(--text); }
.entry__more { font-weight: 700; font-size: 14px; line-height: 1.4; color: var(--cognac); }
.entry__more:hover { text-decoration: underline; }
.entry__note { font-size: 13px; line-height: 1.75; color: var(--sub); }
.srch-ico { display: grid; grid-template-columns: repeat(3, 84px); gap: 12px; }
.srch-ico a { height: 89px; padding: 12px 4px; border-radius: 4px; background: var(--cream); display: flex; flex-direction: column; align-items: center; gap: 6px; font-weight: 500; font-size: 11px; line-height: 1.4; color: var(--text); }
.srch-ico a:hover { background: var(--cream-2); }
.srch-ico__i { width: 44px; height: 44px; color: var(--ink); }
.srch-ico__i path { stroke-width: 4.5; }
.qs { display: flex; flex-direction: column; gap: 20px; }
.q { display: flex; flex-direction: column; gap: 10px; }
.q__k { font-weight: 700; font-size: 15px; line-height: 1.4; color: var(--ink); }
.q__c { display: flex; flex-wrap: wrap; gap: 8px; }
.qchip { min-height: 32px; padding: 6px 14px; border-radius: 999px; border: 1px solid var(--v2-line); background: transparent; font: 500 13px/1.4 var(--sans); color: var(--text); cursor: pointer; }
.qchip[aria-pressed="true"] { background: var(--ink); border-color: var(--ink); color: var(--cream); }
.soon-chip { display: inline-flex; padding: 4px 10px; border-radius: 4px; background: var(--cognac); color: #fff; font-weight: 700; font-size: 12px; line-height: 1.4; }
.fprev > div { display: flex; justify-content: space-between; gap: 16px; padding-block: 12px; border-bottom: 1px solid var(--v2-line); color: var(--v2-mute); }
.fprev dt { font-weight: 700; font-size: 14px; line-height: 1.4; flex: none; }
.fprev dd { font-size: 13px; line-height: 1.75; text-align: right; min-width: 0; }
.zk-bar { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.zk-bar p { display: flex; align-items: baseline; gap: 8px; font-size: 13px; line-height: 1.75; color: var(--sub); }
.zk-bar b { font-size: 15px; line-height: 1.4; color: var(--ink); }
.zk-sort select { appearance: none; -webkit-appearance: none; min-height: 32px; width: 84px; padding: 6px 26px 6px 14px; border-radius: 999px; border: 1px solid var(--ink); background: transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0h10L5 6z' fill='%232e241c'/%3E%3C/svg%3E") no-repeat right 12px center; font: 500 13px/1.4 var(--sans); color: var(--text); cursor: pointer; }
.jcs { display: grid; grid-template-columns: repeat(4, 1fr); gap: 32px 24px; }
.jc { display: flex; flex-direction: column; height: 100%; background: #fff; border-radius: 4px; overflow: hidden; }
.jc__img { height: 330px; background: var(--v2-dark); display: flex; align-items: center; justify-content: center; }
.jc__shape { width: 180px; height: 180px; color: var(--cream-text); }
.jc__shape path { stroke-width: 2.4; }
.jc__badge { padding: 10px 20px 0; display: flex; }
.jc__badge span { padding: 2px 8px; border-radius: 4px; font-weight: 700; font-size: 11px; line-height: 1.4; }
.b-ink { background: var(--ink); color: var(--cream); }
.b-soft { background: var(--cream); color: var(--sub); }
.jc__b { padding: 12px 20px 24px; display: flex; flex-direction: column; gap: 6px; }
.jc__brand { font-size: 12px; line-height: 1.75; color: var(--sub); }
.jc__n { font-family: var(--serif); font-weight: 900; font-size: 18px; line-height: 1.4; color: var(--ink); }
.jc:hover .jc__n { color: var(--cognac); }
.jc__s { font-size: 13px; line-height: 1.75; color: var(--sub); }
.jc__p { font-weight: 700; font-size: 18px; line-height: 1.4; color: var(--ink); }
.jc__h { font-weight: 500; font-size: 13px; line-height: 1.4; color: var(--text); }
.jc__tags { display: flex; flex-wrap: wrap; gap: 6px; }
.jc__tags span, .it-tags span { padding: 2px 8px; border: 1px solid var(--cognac); border-radius: 4px; font-weight: 500; font-size: 11px; line-height: 1.4; color: var(--cognac); }
@media (max-width: 1100px) { .entries { grid-template-columns: 1fr 1fr; } .jcs { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 767px) {
  .srch-hero__in { padding-block: 32px 48px; gap: 14px; }
  .srch-status { flex-direction: column; align-items: flex-start; gap: 12px; padding: 18px 20px; }
  .srch-status__n .f-en { font-size: 38px; }
  .srch-status__r { font-size: 13px; width: 100%; } .srch-bar { width: 100%; }
  .entries { grid-template-columns: 1fr; gap: 14px; }
  .entry { padding: 24px 20px; gap: 14px; }
  .entry__t { font-size: 21px; }
  .srch-ico { grid-template-columns: repeat(4, 1fr); gap: 8px; }
  .srch-ico a { height: auto; padding: 10px 2px; }
  .zk-bar p { flex-direction: column; gap: 0; }
  .jcs { grid-template-columns: 1fr 1fr; gap: 16px 10px; }
  .jc__img { height: auto; aspect-ratio: 1 / 1; }
  .jc__shape { width: 62%; height: auto; }
  .jc__badge { padding: 8px 12px 0; }
  .jc__b { padding: 8px 12px 16px; gap: 4px; }
  .jc__n { font-size: 15px; } .jc__s { font-size: 11px; } .jc__p { font-size: 15px; } .jc__h { font-size: 11px; }
  .jc__tags span { font-size: 10px; padding: 1px 6px; }
}

/* ---------- 17 一着のページ ---------- */
.it-hero { background: var(--cream); }
.it-hero__in { padding-block: 48px 80px; display: flex; flex-direction: column; gap: 28px; }
.it-row { display: flex; align-items: flex-start; gap: 56px; }
.it-gal { width: 680px; flex: none; display: flex; flex-direction: column; gap: 12px; }
.it-main { position: relative; height: 720px; background: var(--v2-dark); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; padding-top: 32px; }
.it-main__shape { width: 380px; height: 380px; color: var(--cream-text); }
.it-main__shape path { stroke-width: 2.2; }
.it-main__cap { padding: 4px 10px; border-radius: 4px; background: var(--ink); color: var(--cream); font-weight: 500; font-size: 12px; line-height: 1.4; }
.it-thumbs { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.it-thumbs span { height: 200px; background: var(--v2-thumb); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; font-size: 11px; line-height: 1.75; color: var(--v2-mute); }
.it-thumbs b { font-size: 13px; line-height: 1.4; color: var(--sub); }
.it-info { flex: 1; min-width: 0; max-width: 560px; display: flex; flex-direction: column; gap: 20px; }
.it-brand { font-weight: 500; font-size: 14px; line-height: 1.4; color: var(--sub); }
.it-name { font-family: var(--serif); font-weight: 900; font-size: 44px; line-height: 1.3; }
.it-price { display: flex; align-items: flex-end; gap: 10px; }
.it-price .f-en { font-size: 40px; line-height: 1.1; color: var(--ink); }
.it-price small { font-size: 13px; line-height: 1.75; color: var(--sub); }
.it-tags { display: flex; flex-wrap: wrap; gap: 8px; }
.it-tags span { padding: 3px 10px; font-size: 12px; }
.it-spec { border-top: 2px solid var(--text); }
.it-spec > div { display: flex; gap: 24px; padding-block: 14px; border-bottom: 1px solid var(--v2-line); }
.it-spec dt { width: 120px; flex: none; font-weight: 700; font-size: 14px; line-height: 1.4; color: var(--sub); }
.it-spec dd { font-weight: 500; font-size: 15px; line-height: 1.4; color: var(--ink); min-width: 0; }
.buy { display: flex; align-items: flex-start; gap: 40px; }
.buy__stack { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 20px; }
.buy__k { display: flex; align-items: center; gap: 12px; font-weight: 700; font-size: 18px; line-height: 1.4; color: var(--ink); }
.buy__k .f-en { font-size: 28px; line-height: 1.1; color: var(--cognac); }
.buy__note { font-size: 13px; line-height: 1.75; color: var(--sub); }
.buy__note--s { font-size: 12px; }
.buy1 { background: #fff; border: 2px solid var(--ink); border-radius: 4px; padding: 36px; display: flex; flex-direction: column; gap: 18px; }
.buy1__n { display: flex; align-items: center; flex-wrap: wrap; gap: 4px 12px; }
.buy1__n .pr { border-radius: 4px; font-weight: 700; font-size: 12px; line-height: 1.4; color: var(--text); }
.buy1__name { font-family: var(--serif); font-weight: 900; font-size: 26px; line-height: 1.4; color: var(--ink); }
.buy1__a { font-size: 14px; line-height: 1.75; color: var(--sub); }
.buy1__d { font-size: 15px; line-height: 1.75; color: var(--text); }
.buy1__btns { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; }
.buy1__tel { font-weight: 700; font-size: 15px; line-height: 1.4; color: var(--ink); }
.buy1__tel:hover { color: var(--cognac); }
.buy1__note { align-self: flex-start; display: flex; flex-wrap: wrap; gap: 4px 24px; padding: 12px 16px; border-radius: 4px; background: var(--cream); font-weight: 700; font-size: 13px; line-height: 1.4; color: var(--ink); }
.buy1__note span { color: var(--cognac); }
.buy2 { background: #fff; border-radius: 4px; padding: 32px; display: flex; flex-direction: column; gap: 14px; }
.buy2 li { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding-block: 14px; border-top: 1px solid var(--v2-line); }
.buy2 li p { display: flex; align-items: baseline; flex-wrap: wrap; gap: 0 12px; }
.buy2 li b { font-size: 16px; line-height: 1.4; color: var(--ink); }
.buy2 li span { font-size: 13px; line-height: 1.75; color: var(--sub); }
.buy3 { border: 1px dashed var(--sub); border-radius: 4px; padding: 24px 32px; display: flex; flex-direction: column; gap: 12px; }
.buy3__d { font-size: 13px; line-height: 1.75; color: var(--text); }
.buy3__l { display: flex; flex-direction: column; gap: 12px; }
.buy3__l li { display: flex; align-items: center; gap: 12px; font-size: 13px; line-height: 1.75; color: var(--sub); }
.buy3__l a { font-weight: 500; line-height: 1.4; color: var(--ink); text-decoration: underline; text-underline-offset: 3px; }
.buy-note { width: 380px; flex: none; background: var(--ink); color: var(--cream); border-radius: 4px; padding: 32px; display: flex; flex-direction: column; gap: 16px; font-size: 14px; line-height: 1.75; }
.buy-note__en { font-size: 18px; line-height: 1.4; color: var(--cognac-2); }
.buy-note__t { font-family: var(--serif); font-weight: 900; font-size: 24px; line-height: 1.4; }
.reps { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; align-items: start; }
.rep { background: #fff; border-radius: 4px; padding: 28px; display: flex; flex-direction: column; gap: 14px; }
.rep__h { display: flex; align-items: flex-end; gap: 12px; font-weight: 700; font-size: 16px; line-height: 1.4; color: var(--ink); }
.rep__h .f-en { font-size: 36px; line-height: 1.1; color: var(--cognac); }
.rep__ph { display: flex; gap: 8px; }
.rep__ph span { width: 150px; height: 170px; background: var(--v2-thumb); display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 12px; line-height: 1.4; color: var(--sub); }
.rep__t { font-size: 15px; line-height: 1.75; color: var(--text); }
.rep__a { font-weight: 700; font-size: 14px; line-height: 1.4; color: var(--cognac); }
.rep__a:hover { text-decoration: underline; }
.sim { background: var(--v2-thumb); }
.sim__in { padding-block: 64px; display: flex; flex-direction: column; gap: 48px; }
.sim__h { display: flex; align-items: baseline; flex-wrap: wrap; gap: 4px 12px; font-size: 13px; line-height: 1.75; color: var(--sub); }
.sim__h b { font-family: var(--serif); font-weight: 900; font-size: 24px; line-height: 1.4; color: var(--ink); }
.sims { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.sims a { display: flex; align-items: center; gap: 16px; padding: 16px; background: #fff; border-radius: 4px; }
.sim__ico { width: 72px; height: 72px; flex: none; background: var(--v2-dark); display: flex; align-items: center; justify-content: center; }
.sim__ico .shape { width: 56px; height: 56px; }
.sim__ico .shape path { stroke-width: 4; }
.sims a > span:last-child { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.sim__n { font-weight: 500; font-size: 14px; line-height: 1.4; color: var(--ink); }
.sim__p { display: flex; align-items: center; gap: 8px; font-weight: 700; font-size: 14px; line-height: 1.4; color: var(--ink); }
@media (max-width: 1100px) {
  .it-row { flex-direction: column; gap: 32px; } .it-gal { width: 100%; } .it-info { max-width: none; }
  .buy { flex-direction: column; align-items: stretch; } .buy-note { width: auto; }
  .reps { grid-template-columns: 1fr; } .sims { grid-template-columns: 1fr; }
}
@media (max-width: 767px) {
  .it-hero__in { padding-block: 20px 48px; gap: 16px; }
  .it-hero .crumb { font-size: 11px; }
  .it-row { gap: 24px; }
  .it-main { height: auto; aspect-ratio: 1 / 1; padding-top: 16px; }
  .it-main__shape { width: 62%; height: auto; }
  .it-main__cap { font-size: 10px; margin-inline: 12px; text-align: center; }
  .it-thumbs { gap: 6px; }
  .it-thumbs span { height: 96px; font-size: 9px; gap: 4px; text-align: center; }
  .it-thumbs b { font-size: 10px; }
  .it-info { gap: 14px; }
  .it-name { font-size: 28px; }
  .it-price .f-en { font-size: 32px; }
  .it-spec dt { width: 92px; font-size: 13px; } .it-spec > div { gap: 12px; padding-block: 12px; } .it-spec dd { font-size: 14px; }
  .it-info .btn-v2 { width: 100%; }
  .buy1, .buy2 { padding: 22px 18px; gap: 14px; }
  .buy3 { padding: 20px 18px; }
  .buy1__name { font-size: 21px; }
  .buy1__d { font-size: 14px; }
  .buy1__btns .btn-v2 { width: 100%; }
  .buy1__tel { width: 100%; text-align: center; padding-block: 6px; }
  .buy1__note { flex-direction: column; gap: 2px; }
  .buy-note { padding: 24px 20px; font-size: 13px; gap: 12px; }
  .buy-note__t { font-size: 20px; }
  .rep { padding: 20px 18px; }
  .rep__ph { gap: 6px; } .rep__ph span { width: auto; flex: 1; height: auto; aspect-ratio: 15 / 17; }
  .rep__t { font-size: 14px; }
  .sim__in { padding-block: 48px; gap: 24px; }
  .sim__h b { font-size: 20px; }
  .sims { gap: 10px; }
}

/* ---------- 19 編集方針・PR表記 ---------- */
.pol-hero__in { padding-block: 80px 96px; display: flex; flex-direction: column; gap: 20px; }
.pol-hero .crumb { line-height: 1.75; }
.pol-std { padding-top: 0; }
.stds { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; align-items: start; }
.stds li { background: var(--v2-dark); border-radius: 4px; padding: 28px; display: flex; flex-direction: column; gap: 12px; }
.stds .f-en { font-size: 32px; line-height: 1.1; color: var(--cognac); }
.stds b { font-family: var(--serif); font-weight: 900; font-size: 20px; line-height: 1.4; }
.stds li > span:last-child { font-size: 14px; line-height: 1.75; color: var(--v2-line); }
.lbls > div { display: flex; align-items: center; gap: 32px; padding-block: 20px; border-bottom: 1px solid var(--v2-line); }
.lbls dt { width: 160px; flex: none; }
.lbls dd { font-size: 16px; line-height: 1.75; color: var(--text); min-width: 0; }
.lbl { display: inline-flex; padding: 3px 10px; border: 1px solid var(--ink); border-radius: 4px; font-weight: 700; font-size: 13px; line-height: 1.4; color: var(--ink); }
.lbl--ink { background: var(--ink); color: var(--cream); }
.lbls + .pol-note { margin-top: 0; }
.pol-note { font-size: 15px; line-height: 1.75; color: var(--sub); }
.dash-l { display: flex; flex-direction: column; gap: 14px; }
.dash-l li { display: flex; gap: 10px; font-size: 16px; line-height: 1.75; color: var(--text); }
.dash-l li::before { content: "—"; flex: none; font-weight: 700; color: var(--cognac); line-height: 1.6; }
.ops > div { display: flex; gap: 32px; padding-block: 16px; border-bottom: 1px solid var(--v2-line); }
.ops dt { width: 160px; flex: none; font-weight: 700; font-size: 14px; line-height: 1.4; color: var(--sub); }
.ops dd { font-weight: 500; font-size: 16px; line-height: 1.4; color: var(--ink); }
.ops a { text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 1100px) { .stds { grid-template-columns: 1fr 1fr; } }
@media (max-width: 767px) {
  .pol-hero__in { padding-block: 32px 48px; gap: 14px; }
  .pol-std { padding-top: 0; }
  .stds { grid-template-columns: 1fr; gap: 10px; }
  .stds li { padding: 20px; gap: 6px; }
  .stds .f-en { font-size: 24px; } .stds b { font-size: 17px; } .stds li > span:last-child { font-size: 13px; }
  .lbls > div { flex-direction: column; align-items: flex-start; gap: 8px; padding-block: 16px; }
  .lbls dt { width: auto; } .lbls dd { font-size: 14px; }
  .pol-note { font-size: 13px; }
  .dash-l li { font-size: 14px; }
  .ops > div { gap: 12px; padding-block: 13px; } .ops dt { width: 92px; font-size: 13px; } .ops dd { font-size: 14px; }
}

/* ===== WordPress：写真が入ったとき（撮影ルールを満たした写真だけ） ===== */
.jc__img img, .it-main img { width: 100%; height: 100%; object-fit: cover; display: block; }
.it-main:has(img) { padding: 0; }
/* お店ページ（WordPress） */
.sh-hero__lead { max-width: 760px; }
.sh-map--live { display: block; width: 100%; border: 0; background: var(--ink-2); }
.sh-coupon { margin-top: 24px; padding: 16px 20px; background: var(--cream-2); font-size: 14px; line-height: 1.75; }
.sh-coupon b { display: block; font-weight: 700; color: var(--cognac); }
.sh-body { max-width: 860px; color: var(--cream-text); font-size: 15px; line-height: 2; }
.sh-body p + p { margin-top: 1em; }
.it-body { max-width: 860px; margin-top: 40px; }
/* ブランドページ（WordPress） */
.bf-about { padding-bottom: 0; }
.bf-about__body { max-width: 860px; }
.bf-about__web { margin-top: 16px; font-size: 14px; color: var(--sub); }
.bf-about__web a, .fitc__t a { color: var(--cognac); text-decoration: underline; }
/* 検索（WordPress）：選んだ条件・ページ送り・0件 */
.zk-chips { display: flex; flex-wrap: wrap; gap: 8px; margin: -8px 0 24px; }
.zk-chips a { display: inline-block; padding: 4px 12px; border: 1px solid var(--ink); border-radius: 999px; font-size: 13px; }
.zk-pager { display: flex; gap: 8px; justify-content: center; margin-top: 40px; }
.zk-pager a, .zk-pager span { min-width: 40px; height: 40px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 20px; }
.zk-pager span { background: var(--ink); color: var(--cream); border-color: var(--ink); }
.zk-empty { padding: 40px; background: var(--cream-3); line-height: 2; }
.zk-empty a { color: var(--cognac); text-decoration: underline; }

/* ===== 記事の本文（ブロックエディタで書いたもの） ===== */
.kz-content { counter-reset: kzh2; display: flex; flex-direction: column; gap: 28px; font-size: 17px; line-height: 2.1; color: var(--text); }
.kz-content > * { margin: 0; }
.kz-content h2 { counter-increment: kzh2; display: flex; align-items: flex-end; gap: 20px; margin-top: 36px; padding-bottom: 18px; border-bottom: 2px solid var(--ink); font-family: var(--serif); font-weight: 900; font-size: 36px; line-height: 1.3; color: var(--ink); scroll-margin-top: 24px; }
.kz-content h2::before { content: counter(kzh2, decimal-leading-zero); font-family: var(--en); font-weight: 400; font-size: 56px; line-height: 1; color: var(--cognac); }
.kz-content h3 { font-family: var(--serif); font-weight: 900; font-size: 22px; line-height: 1.6; color: var(--ink); padding-left: 14px; border-left: 4px solid var(--cognac); }
.kz-content a { color: var(--cognac); text-decoration: underline; text-underline-offset: 3px; }
.kz-content ul, .kz-content ol { padding-left: 1.4em; }
.kz-content li + li { margin-top: 6px; }
.kz-content strong { font-weight: 700; background: linear-gradient(transparent 62%, rgba(194, 122, 58, .25) 62%); }
.kz-content blockquote { padding: 24px 28px; background: var(--cream-2); border-left: 4px solid var(--ink); }
.kz-content figure img, .kz-content img { max-width: 100%; height: auto; display: block; }
.kz-content figcaption { margin-top: 8px; font-size: 13px; line-height: 1.7; color: var(--sub); }
.kz-content .wp-block-table { overflow-x: auto; }
.kz-content table { width: 100%; min-width: 560px; border-collapse: collapse; font-size: 15px; line-height: 1.6; }
.kz-content th { background: var(--ink); color: var(--cream); font-weight: 700; text-align: left; padding: 16px; }
.kz-content td { padding: 16px; border-bottom: 1px solid var(--line); vertical-align: top; }
@media (max-width: 767px) {
  .kz-content { font-size: 15px; line-height: 2; gap: 22px; }
  .kz-content h2 { font-size: 22px; gap: 12px; padding-bottom: 12px; margin-top: 24px; }
  .kz-content h2::before { font-size: 36px; }
  .kz-content h3 { font-size: 18px; }
}
.kz-generic { padding: 80px 0 120px; }
.kz-generic__in { max-width: 860px; display: flex; flex-direction: column; gap: 28px; }
.kz-generic__list li { padding: 16px 0; border-bottom: 1px solid var(--line); font-family: var(--serif); font-weight: 700; font-size: 18px; }
/* 試着レポート（WordPress） */
.reps--one { grid-template-columns: minmax(0, 760px); margin-top: 32px; }
.rep-body { max-width: 760px; margin-top: 40px; }
.rep .it-spec { margin-top: 16px; }
.it-spec a { color: var(--cognac); text-decoration: underline; }
.kz-content ul { list-style: disc; } .kz-content ol { list-style: decimal; }
.kz-content li::marker { color: var(--cognac); }

/* お問い合わせ：エラー・確認・完了 */
.hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.form-alert { background: #f6e3df; border-left: 3px solid #a3352a; padding: 14px 18px; font-size: 14px; line-height: 1.6; color: #6e1f17; }
.field__err { margin: 0; font-size: 13px; line-height: 1.6; color: #a3352a; }
.input[aria-invalid="true"] { border-color: #a3352a; }
.form-confirm__lead { font-size: 15px; line-height: 1.8; color: var(--text); }
.form-confirm__dl { margin: 0; border-top: 1px solid var(--line); }
.form-confirm__dl > div { display: grid; grid-template-columns: 200px 1fr; gap: 16px; padding: 18px 0; border-bottom: 1px solid var(--line); }
.form-confirm__dl dt { font-weight: 700; font-size: 15px; color: var(--ink); }
.form-confirm__dl dd { margin: 0; font-size: 15px; line-height: 1.8; color: var(--text); overflow-wrap: anywhere; }
.form-done { gap: 18px; font-size: 15px; line-height: 1.9; color: var(--text); }
.form-done p { margin: 0; }
.form-done__en { font-size: 22px; color: var(--cognac); }
.form-done__t { font-family: var(--serif); font-weight: 900; font-size: 30px; line-height: 1.4; color: var(--ink); margin: 0; }
.form-done__n { font-size: 14px; color: var(--sub); }
@media (max-width: 767px) {
  .form-confirm__dl > div { grid-template-columns: 1fr; gap: 4px; padding: 14px 0; }
  .form-done__t { font-size: 24px; }
  .form-confirm__btns .btn { width: 100%; }
}
.form > .field__err { margin-top: -18px; }
