/* =====================================================================
   carheart.jp 料金表・キャンペーン割引（page-ch-price.php / page-ch-discount.php）
   色・文字・共通部品は ch-works.css（.chw-*）を使い、このページだけの部品をここに足す
   ===================================================================== */

.chp-br-pc{ display:none; }
.chp-nw{ display:inline-block; }
.chw .chp-sec{ margin:0 !important; }

/* タイトル */
.chp-ttl{ padding-block:32px 48px; max-width:760px; }
.chp-lead{ font-size:14px; line-height:2.05; color:var(--chw-sub); letter-spacing:.04em; max-width:38em; }

/* セクション */
.chp-sec{ padding-block:64px; border-top:1px solid var(--chw-line); }
.chp-sec--compact{ padding-block:48px; }
.chp-sec--first{ border-top:0; }

/* 割引のご案内（料金表ページ） */
.chp-offers{ display:grid; grid-template-columns:1fr; gap:1px; background:var(--chw-line); border:1px solid var(--chw-line); }
.chp-offers a{ display:flex; flex-direction:column; gap:6px; padding:24px; background:var(--chw-bg); color:var(--chw-fg); transition:background .2s; }
.chp-offers a:hover{ background:var(--chw-surf); }
.chp-offers__pct,.chp-disc__pct{ font-family:var(--chw-en); font-stretch:112%; font-weight:400; color:var(--chw-wine); line-height:1.1; }
.chp-offers__pct{ font-size:34px; letter-spacing:.01em; }
.chp-offers__pct em,.chp-disc__pct em{ font-family:var(--chw-jp); font-style:normal; font-stretch:100%; font-size:13px; letter-spacing:.08em; margin-right:6px; vertical-align:.4em; }
.chp-offers__pct small,.chp-disc__pct small{ font-stretch:125%; font-weight:600; letter-spacing:.14em; font-size:12px; margin-left:6px; }
.chp-offers__nm{ font-size:15px; font-weight:500; letter-spacing:.04em; }
.chp-offers__tx{ font-size:12px; line-height:1.8; color:var(--chw-sub); }

/* 項目と内容の表（料金について・割引の条件） */
.chp-dl{ margin:0; border-top:1px solid var(--chw-line); }
.chp-dl > div{ display:grid; grid-template-columns:1fr; gap:4px; padding:18px 0; border-bottom:1px solid var(--chw-line); }
.chp-dl dt{ font-size:12px; letter-spacing:.08em; color:var(--chw-grey); font-weight:400; }
.chp-dl dd{ margin:0; font-size:14px; line-height:1.95; color:var(--chw-fg); }
.chp-dl dd a{ color:var(--chw-wine) !important; border-bottom:1px solid currentColor !important; }
.chp-hl{ color:var(--chw-wine); }

/* 施工ごとの料金表 */
.chp-menus{ border-top:1px solid var(--chw-fg); }
.chw .chp-menu{ display:grid; grid-template-columns:1fr auto; gap:8px 24px; align-items:center; padding:26px 0; border-bottom:1px solid var(--chw-line); color:var(--chw-fg) !important; transition:background .2s; }
.chw .chp-menu:hover{ background:var(--chw-surf); }
.chp-menu__t{ display:flex; flex-direction:column; gap:4px; }
.chp-menu__nm{ font-size:18px; letter-spacing:.04em; line-height:1.5; }
.chp-menu__host{ font-family:var(--chw-en); font-stretch:112%; font-size:11px; letter-spacing:.08em; color:var(--chw-grey); }
.chp-menu__tx{ grid-column:1; font-size:13px; line-height:1.9; color:var(--chw-sub); max-width:40em; }
.chp-menu__go{ grid-column:2; grid-row:1 / span 2; font-family:var(--chw-en); font-size:16px; color:var(--chw-wine); transition:transform .2s; }
.chp-menu.is-ext .chp-menu__go{ font-size:14px; }
.chp-menu:hover .chp-menu__go{ transform:translateX(4px); }

/* 更新のお知らせ */
.chw .chp-update{ display:flex; gap:16px; align-items:baseline; margin:0 0 8px !important; padding:16px 0; border-top:1px solid var(--chw-line); border-bottom:1px solid var(--chw-line); font-size:13px; color:var(--chw-sub); }
.chp-update time{ flex:none; font-family:var(--chw-en); font-stretch:112%; font-size:12px; letter-spacing:.12em; color:var(--chw-grey); }

/* キャンペーン */
.chp-empty{ display:flex; flex-direction:column; gap:8px; padding:32px 28px; background:var(--chw-surf); }
.chp-empty p{ font-size:14px; line-height:2; color:var(--chw-sub); }
.chp-empty p:first-child{ font-size:15px; color:var(--chw-fg); }
.chp-empty a{ color:var(--chw-wine) !important; border-bottom:1px solid currentColor !important; }
.chp-campaign{ max-width:760px; }
.chp-campaign p{ font-size:15px; line-height:2; margin:0 0 1em !important; }
.chp-campaign img{ display:block; width:100%; height:auto; margin:24px 0; }
.chp-campaign a{ color:var(--chw-wine) !important; border-bottom:1px solid currentColor !important; }

/* 割引 */
.chp-disc{ display:grid; grid-template-columns:1fr; gap:28px; padding-block:40px; border-top:1px solid var(--chw-fg); }
.chp-disc + .chp-disc{ border-top:1px solid var(--chw-line); }
.chp-disc__head{ display:flex; flex-direction:column; gap:10px; }
.chp-disc__pct{ font-size:56px; line-height:1; letter-spacing:-.01em; }
.chp-disc__pct small{ font-size:14px; margin-left:8px; vertical-align:.5em; }
.chw .chp-disc__head h3{ font-size:22px !important; font-weight:400 !important; letter-spacing:.04em; line-height:1.5 !important; margin:0 !important; }
.chp-disc__head p{ font-size:13px; line-height:1.9; color:var(--chw-sub); }

/* ご質問 */
.chp-faq details{ border-bottom:1px solid var(--chw-line); }
.chp-faq details:first-child{ border-top:1px solid var(--chw-line); }
.chp-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; }
.chp-faq summary::-webkit-details-marker{ display:none; }
.chp-faq summary::after{ content:"+"; flex:none; font-family:var(--chw-en); font-size:18px; color:var(--chw-grey); }
.chp-faq details[open] summary::after{ content:"−"; }
.chp-faq summary:hover{ color:var(--chw-wine); }
.chp-faq details p{ padding:0 0 22px; font-size:14px; line-height:2; color:var(--chw-sub); max-width:42em; }

/* 料金へのリンク */
.chp-next{ display:grid; grid-template-columns:1fr; border-top:1px solid var(--chw-line); }
.chp-next a{ display:flex; justify-content:space-between; align-items:center; gap:16px; padding:22px 0; border-bottom:1px solid var(--chw-line); transition:color .2s; }
.chp-next a:hover{ color:var(--chw-wine); }
.chp-next a::after{ content:"→"; font-family:var(--chw-en); color:var(--chw-grey); }
.chp-next span{ display:flex; flex-direction:column; gap:2px; font-size:15px; }
.chp-next small{ font-size:12px; color:var(--chw-grey); }

/* AFFINGER が section に付ける下余白を消す */
.chp .chw-contact{ margin:0 !important; }

/* ====================== PC ====================== */
@media (min-width:960px){
  .chp-br-pc{ display:inline; }
  .chp-ttl{ padding-block:48px 64px; }
  .chp-lead{ font-size:15px; max-width:46em; }
  .chp-sec{ padding-block:112px; }
  .chp-sec--compact{ padding-block:80px; }
  .chp-offers{ grid-template-columns:1fr 1fr; }
  .chp-offers a{ padding:32px 36px; }
  .chp-dl > div{ grid-template-columns:200px 1fr; gap:32px; padding:22px 0; }
  .chw .chp-menu{ grid-template-columns:260px minmax(0,1fr) auto; gap:32px; padding:32px 0; }
  .chp-menu__tx{ grid-column:2; }
  .chp-menu__go{ grid-column:3; grid-row:auto; padding-right:8px; }
  .chp-menu__nm{ font-size:20px; }
  .chp-disc{ grid-template-columns:360px minmax(0,1fr); gap:64px; padding-block:56px; }
  .chp-disc__pct{ font-size:72px; }
  .chp-dl--terms > div{ grid-template-columns:180px 1fr; gap:24px; }
  .chp-next{ grid-template-columns:1fr 1fr; column-gap:48px; }
}
