/* =====================================================================
   carheart.jp サービス紹介ページ（コーティング各種）
   css/ch-works.css の共通部品（.chw-*）の上に重ねる。白地・墨・ワインの細い線
   ===================================================================== */

/* AFFINGER の section の下余白を外す */
.chw .chsv-sec,.chw .chsv-contact{ margin:0 !important; }
.chw .chsv p{ margin:0; }

/* ---------- タイトル ---------- */
.chsv-ttl{ padding-block:32px 40px; max-width:860px; gap:18px; }
.chsv-lead{ font-size:14px; line-height:2.05; color:var(--chw-sub); letter-spacing:.04em; max-width:42em; }
.chw .chsv-facts{ display:flex; flex-wrap:wrap; gap:8px; margin-top:6px; }
.chsv-facts li{ font-size:12px; letter-spacing:.06em; color:var(--chw-sub); padding:5px 12px; border:1px solid var(--chw-line); border-radius:2px; }
.chsv-facts li b{ font-weight:400; color:var(--chw-fg); margin-left:6px; }

/* ---------- メイン画像 ---------- */
.chsv-hero{ position:relative; aspect-ratio:4 / 3; background:var(--chw-ph); overflow:hidden; }
.chsv-hero img{ width:100% !important; height:100% !important; object-fit:cover; display:block; }
.chsv-hero figcaption{ position:absolute; left:0; right:0; bottom:0; padding:28px 20px 14px; font-size:11px; letter-spacing:.06em; color:rgba(255,255,255,.85); background:linear-gradient(to top, rgba(22,24,26,.55), rgba(22,24,26,0)); }

/* ---------- セクション ---------- */
.chsv-sec{ padding-block:64px; border-top:1px solid var(--chw-line); scroll-margin-top:calc(var(--chw-head) + 8px); }
.chsv-sec--surf{ background:var(--chw-surf); }
.chsv-sec--dark{ background:var(--chw-dark); color:var(--chw-dark-fg); border-top:0; }
.chsv-sec--dark .chw-en{ color:var(--chw-rose); }
.chsv-sec--dark h2,.chsv-sec--dark h3{ color:var(--chw-dark-fg) !important; }
.chsv-sec--dark p{ color:var(--chw-dark-sub); }
.chsv-sec-tx{ font-size:14px; line-height:2; color:var(--chw-sub); max-width:34em; }
.chw .chsv h3{ font-size:17px !important; font-weight:500 !important; letter-spacing:.04em !important; line-height:1.6 !important; margin:0 !important; }
.chsv-tx{ font-size:14px; line-height:2.05; color:var(--chw-sub); letter-spacing:.02em; }
.chsv-tx + .chsv-tx{ margin-top:1em; }
.chsv-tx b{ font-weight:500; color:var(--chw-fg); }
.chsv-note{ font-size:12px; line-height:1.9; color:var(--chw-grey); }
.chsv-note a,.chsv-tx a,.chsv-feat p a,.chsv-box p a,.chsv-flow p a{ color:var(--chw-wine) !important; border-bottom:1px solid currentColor !important; }

/* 文章と写真の2段組 */
.chw .chsv-split__tx h2{ font-size:24px !important; font-weight:400 !important; letter-spacing:.04em !important; line-height:1.5 !important; margin:0 !important; text-wrap:balance; }
.chsv-split__tx .chw-en + h2{ margin-top:-4px !important; }
.chsv-split{ display:grid; grid-template-columns:1fr; gap:28px; align-items:start; }
.chsv-split__tx{ display:flex; flex-direction:column; gap:16px; }
.chsv-split__ph{ aspect-ratio:3 / 2; background:var(--chw-ph); overflow:hidden; }
.chsv-split__ph img{ width:100% !important; height:100% !important; object-fit:cover; display:block; }
.chsv-split__ph figcaption{ font-size:11px; letter-spacing:.06em; color:var(--chw-grey); padding-top:8px; }
.chsv-split__ph--cap{ aspect-ratio:auto; background:none; }
.chsv-split__ph--cap > span{ display:block; aspect-ratio:3 / 2; background:var(--chw-ph); overflow:hidden; }
.chsv-split + .chsv-split{ margin-top:48px; }

/* 特長（番号つきの3〜4項目） */
.chsv-feats{ display:grid; grid-template-columns:1fr; border-top:1px solid var(--chw-line); }
.chsv-feat{ display:flex; flex-direction:column; gap:10px; padding:26px 0; border-bottom:1px solid var(--chw-line); }
.chsv-feat .n{ font-family:var(--chw-en); font-stretch:112%; font-size:12px; letter-spacing:.14em; color:var(--chw-wine); }
.chsv-feat p{ font-size:13px; line-height:1.95; color:var(--chw-sub); }

/* 施工前後 */
.chsv-ba{ display:grid; grid-template-columns:1fr; gap:36px; }
.chsv-ba__item{ display:flex; flex-direction:column; gap:12px; }
.chsv-ba__pair{ display:grid; grid-template-columns:1fr; gap:6px; }   /* 施工前・施工後は上下に並べて大きく見せる */
.chsv-ba__pair figure{ position:relative; aspect-ratio:3 / 2; background:var(--chw-ph); overflow:hidden; }
.chsv-ba__pair img{ width:100% !important; height:100% !important; object-fit:cover; display:block; }
.chsv-ba__pair figcaption{ position:absolute; left:8px; top:8px; padding:3px 8px; font-family:var(--chw-en); font-stretch:112%; font-size:10px; letter-spacing:.14em; text-transform:uppercase; color:var(--chw-fg); background:rgba(255,255,255,.9); }
.chsv-ba__cap{ display:flex; justify-content:space-between; align-items:baseline; gap:12px; }
.chsv-ba__cap b{ font-weight:500; font-size:14px; letter-spacing:.03em; }
.chsv-ba__cap .chw-cta{ min-height:28px; }
.chsv-ba__cap .chw-cta::after{ bottom:4px; }
.chsv-ba__tx{ font-size:13px; line-height:1.95; color:var(--chw-sub); }

/* 写真の並び（2〜3枚） */
.chsv-photos{ display:grid; grid-template-columns:1fr 1fr; gap:6px; }
.chsv-photos figure{ aspect-ratio:4 / 3; background:var(--chw-ph); overflow:hidden; position:relative; }
.chsv-photos img{ width:100% !important; height:100% !important; object-fit:cover; display:block; }
.chsv-photos figcaption{ position:absolute; left:0; right:0; bottom:0; padding:20px 10px 8px; font-size:11px; letter-spacing:.04em; color:#fff; background:linear-gradient(to top, rgba(22,24,26,.6), rgba(22,24,26,0)); }
.chsv-photos--3{ grid-template-columns:1fr 1fr; }
.chsv-photos--3 figure:first-child{ grid-column:1 / -1; aspect-ratio:3 / 2; }

/* メニュー（コーティングの種類） */
.chsv-menu{ display:grid; grid-template-columns:1fr; gap:16px; }
.chw .chsv-menu__card{ display:flex; flex-direction:column; border:1px solid var(--chw-line); background:var(--chw-bg); color:var(--chw-fg) !important; transition:border-color .2s; }
.chw .chsv-menu__card:hover{ border-color:var(--chw-fg); }
.chsv-menu__ph{ display:block; aspect-ratio:16 / 9; background:var(--chw-ph); overflow:hidden; }
.chsv-menu__ph img{ width:100% !important; height:100% !important; object-fit:cover; display:block; }
.chsv-menu__body{ display:flex; flex-direction:column; gap:8px; padding:22px 22px 20px; flex:1; }
.chsv-menu__br{ font-family:var(--chw-en); font-stretch:112%; font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--chw-grey); }
.chsv-menu__nm{ font-size:19px; letter-spacing:.03em; line-height:1.4; }
.chsv-menu__tg{ font-size:13px; color:var(--chw-wine); letter-spacing:.03em; }
.chsv-menu__tx{ font-size:13px; line-height:1.95; color:var(--chw-sub); }
.chsv-menu__sp{ display:flex; flex-direction:column; margin-top:6px; border-top:1px solid var(--chw-line); }
.chsv-menu__sp span{ display:flex; justify-content:space-between; gap:12px; font-size:12px; line-height:1.6; color:var(--chw-sub); padding:8px 0; border-bottom:1px solid var(--chw-line); }
.chsv-menu__sp span b{ font-weight:400; color:var(--chw-fg); white-space:nowrap; }
.chsv-menu__go{ margin-top:auto; padding-top:14px; font-family:var(--chw-en); font-stretch:125%; text-transform:uppercase; letter-spacing:.18em; font-size:11px; font-weight:600; color:var(--chw-wine); }
.chsv-menu__go .jp{ font-family:var(--chw-jp); font-stretch:100%; text-transform:none; letter-spacing:.08em; font-size:13px; font-weight:400; margin-left:8px; }

/* おすすめの施工（メーカー別。写真なしのカード） */
.chsv-recs{ display:grid; grid-template-columns:1fr; gap:12px; }
.chw .chsv-rec{ display:flex; flex-direction:column; gap:8px; padding:24px 22px 20px; border:1px solid var(--chw-line); background:var(--chw-bg); color:var(--chw-fg) !important; transition:border-color .2s; }
.chw .chsv-rec:hover{ border-color:var(--chw-fg); }
.chsv-rec__nm{ font-size:18px; letter-spacing:.03em; line-height:1.4; }
.chsv-rec__tg{ font-size:13px; color:var(--chw-wine); letter-spacing:.03em; }
.chsv-rec__tx{ font-size:13px; line-height:1.95; color:var(--chw-sub); }
.chsv-rec__go{ margin-top:auto; padding-top:12px; font-family:var(--chw-en); font-stretch:125%; text-transform:uppercase; letter-spacing:.18em; font-size:11px; font-weight:600; color:var(--chw-wine); }
.chsv-rec__go .jp{ font-family:var(--chw-jp); font-stretch:100%; text-transform:none; letter-spacing:.08em; font-size:13px; font-weight:400; margin-left:8px; }

/* 流れ（番号つき） */
.chsv-flow{ display:grid; grid-template-columns:1fr; border-top:1px solid var(--chw-line); }
.chsv-flow li{ display:grid; grid-template-columns:44px 1fr; gap:4px 12px; padding:22px 0; border-bottom:1px solid var(--chw-line); }
.chsv-flow .n{ grid-row:1 / 3; font-family:var(--chw-en); font-stretch:112%; font-size:20px; color:var(--chw-wine); line-height:1.4; }
.chsv-flow p{ font-size:13px; line-height:1.95; color:var(--chw-sub); }

/* 料金の目安 */
.chsv-price{ display:flex; flex-direction:column; border-top:1px solid var(--chw-fg); }
.chsv-price__row{ display:grid; grid-template-columns:1fr auto; gap:4px 16px; padding:16px 0; border-bottom:1px solid var(--chw-line); align-items:baseline; }
.chsv-price__nm{ font-size:14px; letter-spacing:.03em; }
.chsv-price__nm small{ display:block; font-size:12px; color:var(--chw-grey); margin-top:2px; }
.chsv-price__v{ font-family:var(--chw-en); font-stretch:112%; font-size:17px; white-space:nowrap; }
.chsv-price__v small{ font-family:var(--chw-jp); font-size:11px; color:var(--chw-grey); margin-left:4px; }
.chsv-price-foot{ display:flex; flex-direction:column; gap:14px; margin-top:20px; }
.chsv-price-foot .chw-cta{ align-self:flex-start; }

/* 施工実績（カード） */
.chsv-works{ display:grid; grid-template-columns:1fr 1fr; gap:24px 12px; }
.chw .chsv-work{ display:flex; flex-direction:column; gap:8px; color:var(--chw-fg) !important; transition:opacity .2s; }
.chw .chsv-work:hover{ opacity:.82; }
.chsv-work__ph{ display:block; aspect-ratio:3 / 2; background:var(--chw-ph); overflow:hidden; }
.chsv-work__ph img{ width:100% !important; height:100% !important; object-fit:cover; display:block; transition:transform .5s; }
.chsv-work:hover .chsv-work__ph img{ transform:scale(1.03); }
.chsv-work__nm{ font-size:13px; line-height:1.6; letter-spacing:.02em; }
.chsv-work__nm small{ display:block; font-size:11px; color:var(--chw-grey); margin-top:2px; }

/* よくあるご質問 */
.chsv-faq{ border-top:1px solid var(--chw-line); }
.chsv-faq details{ border-bottom:1px solid var(--chw-line); }
.chsv-faq summary{ display:flex; justify-content:space-between; align-items:center; gap:16px; padding:20px 0; list-style:none; cursor:pointer; font-size:15px; letter-spacing:.03em; line-height:1.6; transition:color .2s; }
.chsv-faq summary::-webkit-details-marker{ display:none; }
.chsv-faq summary::after{ content:"+"; flex:none; font-family:var(--chw-en); font-size:18px; color:var(--chw-grey); }
.chsv-faq details[open] summary::after{ content:"−"; }
.chsv-faq summary:hover{ color:var(--chw-wine); }
.chsv-faq details p{ padding:0 0 22px; font-size:14px; line-height:2; color:var(--chw-sub); max-width:42em; }

/* 注意書きの箱 */
.chsv-box{ display:flex; flex-direction:column; gap:10px; padding:22px 22px; border:1px solid var(--chw-line); }
.chsv-box p{ font-size:13px; line-height:1.95; color:var(--chw-sub); }
.chsv-box .chw-en{ font-size:10px; }

/* ご利用について（クリーニングのページ） */
.chsv-box--policy{ gap:18px; padding:28px 22px; border-color:var(--chw-fg); }
.chw .chsv-box--policy h2{ font-size:22px !important; font-weight:400 !important; letter-spacing:.04em !important; line-height:1.5 !important; margin:0 !important; }
.chsv-box--policy .chsv-feats{ border-top:1px solid var(--chw-line); }
.chsv-box--policy .chsv-feat:last-child{ border-bottom:0; }

/* 専用サイトへの大きなリンク（フィルムのページ） */
.chw .chsv-xsite{ display:grid; grid-template-columns:1fr auto; gap:20px; align-items:center; padding:28px 24px; border:1px solid var(--chw-fg); color:var(--chw-fg) !important; transition:background .2s,color .2s; }
.chsv-xsite__tx{ display:flex; flex-direction:column; gap:10px; }
.chsv-xsite__h{ font-size:20px; letter-spacing:.04em; line-height:1.5; }
.chsv-xsite__p{ font-size:13px; line-height:1.95; color:var(--chw-sub); }
.chsv-xsite__go{ font-family:var(--chw-en); font-size:28px; line-height:1; }
.chw .chsv-xsite:hover{ background:var(--chw-fg); color:var(--chw-bg) !important; }
.chw .chsv-xsite:hover .chsv-xsite__p{ color:var(--chw-dark-sub); }
.chw .chsv-xsite:hover .chw-en{ color:var(--chw-rose); }

/* ほかのコーティング */
.chsv-others__list{ display:grid; grid-template-columns:1fr; border-top:1px solid var(--chw-line); }
.chw .chsv-others__list a{ display:grid; grid-template-columns:1fr auto; grid-template-rows:auto auto; column-gap:16px; padding:18px 0; border-bottom:1px solid var(--chw-line); color:var(--chw-fg) !important; transition:color .2s; }
.chsv-others__list .chw-en{ grid-column:1; }
.chsv-others__nm{ grid-column:1; font-size:16px; letter-spacing:.03em; margin-top:4px; }
.chsv-others__nm small{ font-size:12px; color:var(--chw-grey); margin-left:10px; }
.chsv-others__go{ grid-column:2; grid-row:1 / 3; align-self:center; font-family:var(--chw-en); color:var(--chw-grey); transition:transform .2s,color .2s; }
.chw .chsv-others__list a:hover{ color:var(--chw-wine) !important; }
.chw .chsv-others__list a:hover .chsv-others__go{ transform:translateX(4px); color:var(--chw-wine); }

/* ====================== PC ====================== */
@media (min-width:960px){
  .chsv-ttl{ padding-block:48px 64px; gap:22px; }
  .chsv-lead{ font-size:15px; }
  .chw .chsv-hero{ aspect-ratio:21 / 9; width:calc(100% - 10px); max-width:1050px; margin-inline:auto; }
  .chsv-hero figcaption{ padding:40px 24px 18px; }
  .chsv-sec{ padding-block:112px; }
  .chsv-split{ grid-template-columns:5fr 6fr; gap:64px; align-items:center; }
  .chw .chsv-split__tx h2{ font-size:30px !important; }
  .chsv-split--rev .chsv-split__tx{ order:2; }
  .chsv-split--rev .chsv-split__ph{ order:1; }
  .chsv-split + .chsv-split{ margin-top:96px; }
  .chsv-feats{ grid-template-columns:repeat(3,minmax(0,1fr)); gap:0 48px; }
  .chsv-feats--4{ grid-template-columns:repeat(4,minmax(0,1fr)); gap:0 36px; }
  .chsv-feats--2{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 64px; }
  .chsv-feat{ padding:36px 0; }
  .chsv-ba{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:48px 40px; }
  .chsv-ba__pair{ gap:8px; }
  .chsv-photos{ gap:8px; }
  .chsv-photos--3{ grid-template-columns:2fr 1fr; grid-template-rows:1fr 1fr; }
  .chsv-photos--3 figure:first-child{ grid-column:1; grid-row:1 / 3; aspect-ratio:auto; }
  .chsv-menu{ grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
  .chsv-menu--4{ grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; }
  .chsv-menu--4 .chsv-menu__nm{ font-size:17px; }
  .chsv-recs{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
  .chw .chsv-rec{ padding:28px 28px 24px; }
  .chsv-flow{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 64px; }
  .chsv-price__row{ padding:20px 0; }
  .chsv-price__v{ font-size:19px; }
  .chsv-price-foot{ flex-direction:row; justify-content:space-between; align-items:flex-start; gap:40px; }
  .chsv-price-foot .chsv-note{ max-width:40em; }
  .chsv-works{ grid-template-columns:repeat(4,minmax(0,1fr)); gap:28px 24px; }
  .chsv-works--3{ grid-template-columns:repeat(3,minmax(0,1fr)); }
  .chsv-others__list{ grid-template-columns:1fr 1fr; column-gap:64px; }
  .chsv-box{ padding:28px 32px; }
  .chsv-box--policy{ padding:40px 48px; }
  .chw .chsv-xsite{ padding:40px 48px; gap:48px; }
  .chsv-xsite__h{ font-size:26px; }
  .chw .chsv-box--policy h2{ font-size:28px !important; }
}

/* ====================== 追加（2026-10-09 サービス7本・ご利用案内・会社案内） ====================== */
/* 流れ（番号つき）の見出し */
.chw .chsv-flow h3{ font-size:16px !important; }
.chsv-flow li > *:not(.n){ grid-column:2; }

/* ご利用案内のメニュー（6項目） */
.chsv-guide{ display:grid; grid-template-columns:1fr; gap:10px; }
.chw .chsv-guide a{ display:flex; flex-direction:column; gap:6px; padding:18px 20px; border:1px solid var(--chw-line); background:var(--chw-bg); color:var(--chw-fg) !important; transition:border-color .2s; }
.chw .chsv-guide a:hover{ border-color:var(--chw-fg); }
.chw .chsv-guide a.is-current{ border-color:var(--chw-fg); background:var(--chw-surf); }
.chsv-guide__en{ font-family:var(--chw-en); font-stretch:112%; font-size:10px; letter-spacing:.14em; text-transform:uppercase; color:var(--chw-grey); }
.chsv-guide__nm{ font-size:14px; letter-spacing:.03em; line-height:1.5; }
.chsv-guide__tx{ font-size:12px; line-height:1.8; color:var(--chw-sub); }

/* 連絡方法（LINE・メール） */
.chsv-inq{ display:grid; grid-template-columns:1fr; gap:14px; }
.chsv-inq__card{ display:flex; flex-direction:column; gap:12px; padding:26px 24px; border:1px solid var(--chw-line); background:var(--chw-bg); }
.chsv-inq__card h3{ display:flex; align-items:baseline; gap:12px; }
.chsv-inq__card h3 .mk{ font-family:var(--chw-en); font-stretch:112%; font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:var(--chw-wine); }
.chsv-inq__card p{ font-size:13px; line-height:1.95; color:var(--chw-sub); }
.chsv-inq__addr{ font-family:var(--chw-en); font-stretch:100%; font-size:16px; letter-spacing:.02em; color:var(--chw-fg) !important; word-break:break-all; border-bottom:1px solid var(--chw-line) !important; align-self:flex-start; }
.chsv-inq__card .chw-btn{ align-self:flex-start; margin-top:auto; }
.chsv-inq__qr{ width:120px; height:120px; border:1px solid var(--chw-line); }

/* 問い合わせ文の下書き */
.chsv-draft{ display:grid; grid-template-columns:1fr; gap:14px; }
.chsv-draft label{ display:flex; flex-direction:column; gap:6px; margin:0; font-size:12px; letter-spacing:.04em; color:var(--chw-sub); }
.chsv-draft input,.chsv-draft textarea,.chsv-draft select{ width:100%; padding:12px 14px; font:inherit; font-size:14px; color:var(--chw-fg); background:var(--chw-bg); border:1px solid var(--chw-line); border-radius:0; }
.chsv-draft input:focus,.chsv-draft textarea:focus,.chsv-draft select:focus{ outline:none; border-color:var(--chw-fg); }
.chsv-draft textarea{ min-height:96px; resize:vertical; }
.chsv-draft__out{ grid-column:1 / -1; white-space:pre-wrap; padding:18px 20px; font-size:13px; line-height:1.95; color:var(--chw-sub); background:var(--chw-surf); border:1px solid var(--chw-line); min-height:120px; }
.chsv-draft__btns{ grid-column:1 / -1; display:flex; flex-wrap:wrap; gap:10px 12px; align-items:center; }
.chsv-draft__btns .chsv-draft__ok{ font-size:12px; color:var(--chw-wine); }

/* 会社概要・車両情報などの表 */
.chsv-spec{ display:grid; grid-template-columns:1fr; margin:0; border-top:1px solid var(--chw-fg); }
.chsv-spec > div{ display:grid; grid-template-columns:1fr; gap:4px; padding:14px 0; border-bottom:1px solid var(--chw-line); }
.chsv-spec dt{ font-size:12px; letter-spacing:.06em; color:var(--chw-grey); }
.chsv-spec dd{ margin:0; font-size:14px; line-height:1.8; color:var(--chw-fg); }
.chsv-spec dd small{ display:block; font-size:12px; color:var(--chw-sub); }
.chsv-spec--sm dd{ font-size:13px; }

/* 代車 */
.chsv-cars{ display:grid; grid-template-columns:1fr; gap:14px; }
.chsv-car{ display:flex; flex-direction:column; gap:10px; padding:22px 22px 20px; border:1px solid var(--chw-line); background:var(--chw-bg); }
.chsv-car .n{ font-family:var(--chw-en); font-stretch:112%; font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--chw-grey); }
.chsv-car ul{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; }
.chsv-car li{ display:flex; justify-content:space-between; gap:12px; font-size:12px; line-height:1.6; color:var(--chw-sub); padding:7px 0; border-bottom:1px solid var(--chw-line); margin:0; }
.chsv-car li b{ font-weight:400; color:var(--chw-fg); text-align:right; }

/* 比較（よくある施工との違い） */
.chsv-vs{ display:grid; grid-template-columns:1fr; gap:14px; }
.chsv-vs__col{ padding:24px 22px; border:1px solid var(--chw-line); background:var(--chw-bg); }
.chsv-vs__col--us{ border-color:var(--chw-fg); }
.chsv-vs__col h3{ margin-bottom:12px !important; }
.chsv-vs__col ul{ list-style:none; margin:0; padding:0; }
.chsv-vs__col li{ position:relative; padding:8px 0 8px 18px; font-size:13px; line-height:1.8; color:var(--chw-sub); border-bottom:1px solid var(--chw-line); margin:0; }
.chsv-vs__col li::before{ content:""; position:absolute; left:0; top:17px; width:8px; height:1px; background:var(--chw-grey); }
.chsv-vs__col--us li::before{ background:var(--chw-wine); }

/* 入口ページで下部のお問い合わせを出さないときの余白 */
.chsv .chsv-sec:last-child{ padding-bottom:88px; }

@media (min-width: 768px) {
  .chsv-guide{ grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
  .chsv-inq{ grid-template-columns:1fr 1fr; gap:20px; }
  .chsv-draft{ grid-template-columns:1fr 1fr; gap:16px 20px; }
  .chsv-draft label.is-wide{ grid-column:1 / -1; }
  .chsv-spec > div{ grid-template-columns:160px 1fr; gap:16px; padding:16px 0; }
  .chsv-cars{ grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
  .chsv-vs{ grid-template-columns:1fr 1fr; gap:20px; }
}
.chsv-draft__btns button.chw-btn{ background:transparent; font-family:inherit; cursor:pointer; appearance:none; }
.chsv-car li.is-col{ flex-direction:column; gap:2px; }
.chsv-car li.is-col b{ text-align:left; }

/* ---------- 添付ファイル（画像）ページ ---------- */
.chatt-ttl .chsv-lead a{ color:var(--chw-wine) !important; border-bottom:1px solid currentColor !important; }
.chatt-photo{ margin:8px 0 0; }
.chatt-photo img{ display:block; width:100% !important; height:auto !important; max-height:82vh; object-fit:contain; background:var(--chw-surf); }
.chatt-photo figcaption{ padding-top:10px; font-size:12px; letter-spacing:.04em; color:var(--chw-grey); }
.chatt-nav{ display:flex; justify-content:space-between; gap:16px; padding:20px 0 56px; }
.chw .chatt-post{ display:flex; flex-direction:column; border:1px solid var(--chw-line); background:var(--chw-bg); color:var(--chw-fg) !important; transition:border-color .2s; }
.chw .chatt-post:hover{ border-color:var(--chw-fg); }
.chatt-post__ph{ display:block; aspect-ratio:3 / 2; background:var(--chw-ph); overflow:hidden; }
.chatt-post__ph img{ width:100% !important; height:100% !important; object-fit:cover; display:block; }
.chatt-post__body{ display:flex; flex-direction:column; gap:8px; padding:22px; }
.chatt-post__nm{ font-size:18px; letter-spacing:.03em; line-height:1.5; }
.chatt-post__tx{ font-size:13px; line-height:1.95; color:var(--chw-sub); }
.chatt-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:6px; }
.chw .chatt-grid a{ display:block; aspect-ratio:3 / 2; background:var(--chw-ph); overflow:hidden; border:0 !important; opacity:.92; transition:opacity .2s; }
.chw .chatt-grid a:hover{ opacity:1; }
.chw .chatt-grid a.is-current{ outline:2px solid var(--chw-fg); outline-offset:-2px; opacity:1; }
.chatt-grid img{ width:100% !important; height:100% !important; object-fit:cover; display:block; }
@media (min-width: 768px) {
  .chw .chatt-post{ flex-direction:row; }
  .chatt-post__ph{ flex:0 0 42%; aspect-ratio:auto; }
  .chatt-post__body{ padding:28px 32px; justify-content:center; }
  .chatt-grid{ grid-template-columns:repeat(6,1fr); gap:8px; }
}
/* アクセス一覧の地図 */
.chsv-map{ aspect-ratio:4 / 3; background:var(--chw-ph); }
.chsv-map iframe{ display:block; width:100%; height:100%; border:0; filter:grayscale(.2); }
