/* ==========================================================================
   Sol Home LP V2（/battery/・/solar/・/ecocute/）
   TOP と共通の部品（色の変数・.hv-btn・.hv-kicker・施工事例・工事の流れ・FAQ・保証の一覧・最終CTA・固定CTA）は home-v2.css。
   ここには LP のレイアウトだけを書く。前半が 3LP 共通、後半が商品ごとのセクション。
   白・薄いグレー・濃いグレー・オレンジ、罫線と余白で整理し、
   グラデーション・発光・絵文字・大きな角丸・同じ形のカードの羅列は使わない。
   背景: セクションごとに白と薄いグレー（--hv-bg）を交互にする。同じ色が続く所は罫線で区切る。
   ブレークポイント: 640 / 768 / 980px
   ========================================================================== */

.lpv {
  --lpv-rule-strong: #d9d9d6; /* 薄いグレーの背景の上でも見える罫線 */
  background: #fff;
}
.lpv section { border-bottom: 0; }

/* ── 共通：枠・見出し・本文・リンク・ボタン ───────────────────────────── */
.lpv-wrap {
  max-width: var(--hv-wrap);
  margin: 0 auto;
  padding: 0 20px;
}
.lpv-wrap--narrow { max-width: 800px; }
.lpv-sec { padding: 48px 0; }
.lpv-head { margin-bottom: 24px; }
.lpv-h2 {
  margin: 0 0 12px;
  font-size: clamp(22px, 5.6vw, 30px);
  font-weight: 800;
  line-height: 1.45;
  color: var(--hv-ink);
}
.lpv-lead,
.lpv-text {
  margin: 0;
  font-size: 15.5px;
  line-height: 1.9;
  color: var(--hv-ink-2);
}
.lpv-text { margin-bottom: 12px; }
.lpv-small {
  margin: 0 0 16px;
  font-size: 13.5px;
  line-height: 1.8;
  color: var(--hv-sub);
}
.lpv-link {
  font-size: 15px;
  font-weight: 700;
  color: var(--hv-ink);
  text-decoration: underline;
  text-underline-offset: 4px;
}
.lpv-link:hover { color: var(--sol-primary, #ff7a00); }
.lpv-btn--primary {
  border: 1px solid var(--sol-primary, #ff7a00);
  background: var(--sol-primary, #ff7a00);
  color: #fff;
}
.lpv-btn--primary:hover,
.lpv-btn--primary:focus-visible { background: #e86e00; border-color: #e86e00; color: #fff; }
/* 電話のボタン（途中の相談で電話も出す LP だけ。/ecocute/） */
.lpv-btn--tel {
  border: 2px solid var(--hv-ink);
  background: #fff;
  color: var(--hv-ink);
  font-weight: 700;
}
.lpv-btn--tel:hover,
.lpv-btn--tel:focus-visible { background: var(--hv-ink); color: #fff; }

/* 行の小見出し・本文（各セクションの一覧で共通） */
.lpv-check__text h3,
.lpv-symptom__list h3,
.lpv-combo__col h3,
.lpv-info__title,
.lpv-ba__title,
.lpv-roofwork__text h3 {
  margin: 0 0 6px;
  font-size: 17px;
  font-weight: 800;
  line-height: 1.5;
  color: var(--hv-ink);
}
.lpv-roofwork__text h3 { font-size: 18px; }
.lpv-check__text p,
.lpv-symptom__list p,
.lpv-combo__col p,
.lpv-roofwork__text p,
.lpv-ba__text,
.lpv-choose__dl dd,
.lpv-cost__note {
  margin: 0;
  font-size: 15px;
  line-height: 1.85;
  color: var(--hv-ink-2);
}

/* 施工写真（実写真。比率は 4:3、交換前／交換後だけ縦 3:4） */
.lpv-check__photo img,
.lpv-steps__photo img,
.lpv-roofwork__photo img,
.lpv-ba__fig img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: 2px;
}
.lpv-ba__fig img { aspect-ratio: 3 / 4; }

/* 罫線の一覧（先頭が太線、項目の間が細線） */
.lpv-check__list,
.lpv-choose__dl,
.lpv-symptom__list,
.lpv-combo__cols {
  margin: 0;
  padding: 0;
  list-style: none;
  border-top: 2px solid var(--hv-ink);
}

/* ── ① FV：実際の施工写真 ＋ h1 ＋ 相談ボタン（template-parts/lp/fv.php） ─── */
.lpv-fv {
  background: var(--hv-bg);
  padding: 0 0 32px;
}
.lpv-fv__wrap { display: grid; }
.lpv-fv__photo {
  position: relative;
  margin: 0;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background: #e5e5e2;
}
.lpv-fv__photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 55%;
}
.lpv-fv__photo figcaption {
  position: absolute;
  left: 0;
  bottom: 0;
  margin: 0;
  padding: 5px 10px;
  font-size: 11.5px;
  color: #fff;
  background: rgba(0, 0, 0, .5);
}
.lpv-fv__body { padding: 24px 20px 0; }
.lpv-fv__title {
  margin: 0 0 14px;
  font-size: clamp(24px, 6.6vw, 40px);
  font-weight: 800;
  line-height: 1.4;
  color: var(--hv-ink);
}
.lpv-fv__lead {
  margin: 0 0 20px;
  font-size: 15.5px;
  line-height: 1.85;
  color: var(--hv-ink-2);
}
.lpv-fv__cta {
  display: flex;
  gap: 10px;
  margin-bottom: 14px;
}
.lpv-fv__cta .hv-btn { flex: 1 1 0; min-height: 52px; font-size: 16px; }
.lpv-fv__note {
  margin: 0;
  font-size: 12.5px;
  line-height: 1.7;
  color: var(--hv-sub);
}
/* FV の電話（'tel' => true。急ぎのお客様が多い /ecocute/ で、ボタンより先に番号を大きく出す） */
.lpv-fv__tel {
  margin: 0 0 14px;
  padding: 14px 16px;
  border: 2px solid var(--hv-ink);
  border-radius: 6px;
  background: #fff;
}
.lpv-fv__tel-label {
  margin: 0 0 2px;
  font-size: 14px;
  font-weight: 700;
  color: var(--hv-ink);
}
.lpv-fv__tel-num {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  font-size: 30px;
  font-weight: 800;
  letter-spacing: .02em;
  color: var(--hv-ink);
  text-decoration: none;
}
.lpv-fv__tel-num:hover { color: var(--sol-primary, #ff7a00); }
.lpv-fv__tel-num:focus-visible { outline: 3px solid rgba(255, 122, 0, .5); outline-offset: 2px; }
.lpv-fv__tel-hours {
  margin: 0;
  font-size: 13px;
  color: var(--hv-sub);
}

/* ── こんな方へ（/battery/・/solar/）：罫線の一覧 ───────────────────────── */
.lpv-for { background: #fff; }
.lpv-for__list {
  list-style: none;
  margin: 8px 0 0;
  padding: 0;
  border-top: 1px solid var(--hv-rule);
}
.lpv-for__list li {
  position: relative;
  padding: 13px 0 13px 22px;
  border-bottom: 1px solid var(--hv-rule);
  font-size: 15.5px;
  line-height: 1.7;
  color: var(--hv-ink);
}
.lpv-for__list li::before {
  content: "";
  position: absolute;
  left: 2px;
  top: 1.35em;
  width: 10px;
  height: 2px;
  background: var(--sol-primary, #ff7a00);
}

/* ── 確認すること（/battery/ 後付け・/solar/ 屋根）：文章＋写真の行 ─────── */
.lpv-check { background: var(--hv-bg); }
.lpv-check__item {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
  padding: 20px 0;
  border-bottom: 1px solid var(--lpv-rule-strong);
}
.lpv-check__photo { margin: 0; max-width: 320px; } /* スマホで写真が大きくなりすぎないようにする */
.lpv-check__note {
  margin: 20px 0 0;
  font-size: 14.5px;
  line-height: 1.8;
  color: var(--hv-ink);
  font-weight: 700;
}

/* ── 選び方・確認すること：項目と説明の一覧（3LP） ──────────────────────── */
.lpv-choose { background: #fff; }
.lpv-choose--alt { background: var(--hv-bg); } /* 同じ一覧を薄いグレーの背景で使うとき（/ecocute/ 現地で確認すること） */
.lpv-choose__dl > div {
  display: grid;
  gap: 6px;
  padding: 16px 0;
  border-bottom: 1px solid var(--hv-rule);
}
.lpv-choose--alt .lpv-choose__dl > div { border-bottom-color: var(--lpv-rule-strong); }
.lpv-choose__dl dt {
  margin: 0;
  font-size: 16.5px;
  font-weight: 800;
  color: var(--hv-ink);
}

/* ── 施工事例（home-v2.css の .hv-cases）：白い背景が続くときの区切り ────── */
.lpv-cases { border-top: 1px solid var(--hv-rule); }

/* ── 費用について ＋ 横の補足（/battery/ の Anker SOLIX）＋ 途中の相談ボタン ─ */
.lpv-cost { background: var(--hv-bg); }
.lpv-aside {
  margin: 0 0 40px;
  padding: 20px 0 20px 18px;
  border-left: 3px solid var(--sol-primary, #ff7a00);
}
.lpv-aside__title {
  margin: 0 0 8px;
  font-size: 18px;
  font-weight: 800;
  color: var(--hv-ink);
}
.lpv-aside p {
  margin: 0 0 8px;
  font-size: 15px;
  line-height: 1.85;
  color: var(--hv-ink-2);
}
.lpv-aside strong { color: var(--hv-ink); }
.lpv-aside__link { margin-bottom: 0 !important; }
.lpv-cost__list {
  list-style: none;
  margin: 0 0 16px;
  padding: 0;
  border-top: 1px solid var(--lpv-rule-strong);
}
.lpv-cost__list li {
  position: relative;
  padding: 11px 0 11px 20px;
  border-bottom: 1px solid var(--lpv-rule-strong);
  font-size: 15px;
  line-height: 1.7;
  color: var(--hv-ink);
}
.lpv-cost__list li::before {
  content: "";
  position: absolute;
  left: 2px;
  top: 1.3em;
  width: 9px;
  height: 2px;
  background: var(--hv-ink);
}
.lpv-cost__note { margin-bottom: 20px; }
.lpv-cta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.lpv-cta .hv-btn { flex: 1 1 220px; min-height: 50px; }

/* ── 2つの考え方を並べる（/solar/ 蓄電池との組み合わせ・/ecocute/ ほかの給湯器から） ─ */
.lpv-combo { background: #fff; }
.lpv-combo__cols { display: grid; }
.lpv-combo__col {
  padding: 18px 0;
  border-bottom: 1px solid var(--hv-rule);
}
.lpv-combo__link { margin: 18px 0 0; }

/* ── 補助金 ─────────────────────────────────────────────────────────── */
.lpv-subsidy { background: #fff; }
.lpv-combo + .lpv-subsidy { border-top: 1px solid var(--hv-rule); } /* 白い背景が続くときの区切り */

/* ── 工事の流れ（home-v2.css の .hv-flow） ／ 保証・アフター ＋ FAQ ────────── */
.lpv-faq-wrap { background: #fff; }
.lpv-2col { display: grid; gap: 48px; }
.lpv-warranty .hv-company__dl { margin-top: 8px; }
.lpv-faq.hv-faq { padding: 0; background: none; }
.lpv-faq .hv-faq__list { margin-top: 8px; }

/* ── 固定CTA：TOP の top.css（位置の基本指定）を読み込まないため、ここで補う。見た目は home-v2.css ─ */
#sol-fixed-cta.sol-fixed-cta-menu {
  position: fixed;
  z-index: 1000;
}
/* 電話を先にする LP（'tel_first' => true。/ecocute/）では電話を濃い色で強調 */
#sol-fixed-cta .sol-fixed-cta-menu__item--tel {
  border-color: var(--hv-ink);
  background: var(--hv-ink);
  color: #fff;
}
#sol-fixed-cta .sol-fixed-cta-menu__item--tel:hover { background: #000; color: #fff; }

/* ==========================================================================
   商品ごとのセクション
   ========================================================================== */

/* ── /solar/ 屋根と施工：工程の実写真（スマホは横スクロール、PC は3列）＋ 屋根工事 ─ */
.lpv-work { background: var(--hv-bg); }
.lpv-steps {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: 72%;
  gap: 14px;
  margin: 8px 0 0;
  padding: 0 0 10px;
  list-style: none;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
}
.lpv-steps__item { scroll-snap-align: start; min-width: 0; }
.lpv-steps__photo { margin: 0 0 10px; }
.lpv-steps__label {
  display: flex;
  align-items: baseline;
  gap: 8px;
  margin: 0 0 4px;
  font-size: 16.5px;
  font-weight: 800;
  line-height: 1.5;
  color: var(--hv-ink);
}
.lpv-steps__num {
  font-size: 13px;
  font-weight: 800;
  color: var(--sol-primary, #ff7a00);
  letter-spacing: .04em;
}
.lpv-steps__text {
  margin: 0 0 4px;
  font-size: 15px;
  line-height: 1.8;
  color: var(--hv-ink-2);
}
.lpv-steps__cap {
  margin: 0;
  font-size: 12.5px;
  line-height: 1.6;
  color: var(--hv-sub);
}
.lpv-steps__hint {
  margin: 4px 0 0;
  font-size: 12px;
  color: var(--hv-sub);
}
.lpv-roofwork {
  display: grid;
  gap: 16px;
  margin-top: 40px;
  padding-top: 32px;
  border-top: 2px solid var(--hv-ink);
}
.lpv-roofwork__photo { margin: 0; max-width: 320px; }
.lpv-roofwork__text h3 { margin-bottom: 8px; }
.lpv-roofwork__text p { margin-bottom: 10px; }

/* ── /ecocute/ 症状（2列の罫線の一覧）＋ ご相談時に伝えてほしいこと ─────── */
.lpv-symptom { background: #fff; }
.lpv-symptom__list { display: grid; }
.lpv-symptom__list li {
  padding: 16px 0;
  border-bottom: 1px solid var(--hv-rule);
}
.lpv-symptom__list h3 { margin-bottom: 4px; }
.lpv-info {
  margin-top: 32px;
  padding: 20px 18px;
  background: var(--hv-bg);
  border-left: 3px solid var(--sol-primary, #ff7a00);
}
.lpv-info__title { margin-bottom: 12px; }
.lpv-info__list {
  display: grid;
  gap: 8px;
  margin: 0 0 12px;
  padding: 0 0 0 1.4em;
}
.lpv-info__list li {
  font-size: 15px;
  line-height: 1.7;
  color: var(--hv-ink-2);
}
.lpv-info__list strong { display: block; color: var(--hv-ink); }
.lpv-info__note {
  margin: 0;
  font-size: 14px;
  line-height: 1.8;
  color: var(--hv-ink);
}

/* ── /ecocute/ 交換前／交換後（同じ角度の実写真を左右に並べる） ─────────── */
.lpv-ba-sec { background: var(--hv-bg); }
.lpv-ba { display: grid; gap: 40px; }
.lpv-ba__pair {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin-bottom: 12px;
}
.lpv-ba__fig { position: relative; margin: 0; }
.lpv-ba__tag {
  position: absolute;
  left: 0;
  top: 0;
  margin: 0;
  padding: 4px 10px;
  font-size: 13px;
  font-weight: 700;
  color: #fff;
  background: rgba(30, 41, 59, .85);
}
.lpv-ba__fig.is-after .lpv-ba__tag { background: var(--sol-primary, #ff7a00); }
.lpv-ba__place {
  margin: 0;
  font-size: 13px;
  color: var(--hv-sub);
}
.lpv-ba__title { margin-top: 2px; }
.lpv-ba__text { margin-bottom: 8px; }
.lpv-ba__link { margin: 0; }

/* ── /anker/ Anker Solix XJ：施工写真がないため、正式ロゴ・数字・罫線・仕様表で見せる ─────────── */
/* FV の写真の代わり（'visual'）：Anker Home Partner ロゴ（加工しない。白い背景の上に置く）＋ 3容量 */
.lpv-fv__visual { background: #fff; }
.anx-fv {
  padding: 28px 20px 24px;
  border-bottom: 1px solid var(--hv-rule);
}
.anx-fv__logo { margin: 0 0 8px; }
.anx-fv__logo img {
  display: block;
  width: 100%;
  max-width: 300px;
  height: auto; /* 縦横比を保つ（1200×400） */
}
.anx-fv__cert {
  margin: 0 0 20px;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.7;
  color: var(--hv-ink);
}
.anx-fv__product {
  margin: 0 0 6px;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .02em;
  color: var(--hv-sub);
}
.anx-fv__caps {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin: 0;
  padding: 0;
  list-style: none;
  border-top: 2px solid var(--hv-ink);
}
.anx-fv__caps li {
  padding: 10px 0 0;
  border-right: 1px solid var(--hv-rule);
  text-align: center;
}
.anx-fv__caps li:last-child { border-right: 0; }
.anx-fv__num {
  font-size: clamp(24px, 7vw, 36px);
  font-weight: 800;
  line-height: 1.1;
  letter-spacing: .01em;
  color: var(--hv-ink);
}
.anx-fv__unit {
  margin-left: 2px;
  font-size: 13px;
  font-weight: 700;
  color: var(--hv-sub);
}

/* 共通の小さな部品 */
.anx-points {
  margin: 12px 0 0;
  padding: 0;
  list-style: none;
}
.anx-points li {
  position: relative;
  padding: 6px 0 6px 18px;
  font-size: 15px;
  line-height: 1.8;
  color: var(--hv-ink-2);
}
.anx-points li::before {
  content: "";
  position: absolute;
  left: 2px;
  top: 1.25em;
  width: 9px;
  height: 2px;
  background: var(--sol-primary, #ff7a00);
}
.anx-points strong { color: var(--hv-ink); }
.anx-note {
  margin: 12px 0 0;
  font-size: 14px;
  line-height: 1.8;
  color: var(--hv-ink-2);
}
.anx-source {
  margin: 20px 0 0;
  font-size: 12px;
  line-height: 1.7;
  color: var(--hv-sub);
}

/* ② Anker Solix XJ とは ／ Anker Home Partner について */
.anx-about { background: #fff; }
.anx-about__cols { display: grid; gap: 32px; }
.anx-partner {
  padding: 20px 0 20px 18px;
  border-left: 3px solid var(--sol-primary, #ff7a00);
}
.anx-partner__title {
  margin: 0 0 8px;
  font-size: 17px;
  font-weight: 800;
  color: var(--hv-ink);
}
.anx-partner p {
  margin: 0 0 8px;
  font-size: 15px;
  line-height: 1.85;
  color: var(--hv-ink-2);
}
.anx-partner .anx-partner__note {
  margin: 0;
  font-size: 13.5px;
  color: var(--hv-sub);
}

/* ③ 3モデル比較：項目名の行 ＋ 3つの値の行（スマホでも3列のまま比べられる） */
.anx-models { background: var(--hv-bg); }
.anx-table {
  width: 100%;
  margin: 0;
  border-collapse: collapse;
  table-layout: fixed;
  background: #fff;
}
.anx-table thead th {
  padding: 12px 4px;
  font-size: clamp(15px, 4.2vw, 20px);
  font-weight: 800;
  text-align: center;
  color: #fff;
  background: var(--hv-ink);
}
.anx-table__label th {
  padding: 10px 12px 2px;
  font-size: 12.5px;
  font-weight: 700;
  text-align: left;
  color: var(--hv-sub);
  background: #fff;
}
.anx-table__values td {
  padding: 2px 6px 12px;
  border-bottom: 1px solid var(--lpv-rule-strong);
  font-size: clamp(13px, 3.7vw, 16px);
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
  color: var(--hv-ink);
  word-break: break-word;
}
.anx-table__values.is-small td {
  font-size: 11.5px;
  font-weight: 500;
  color: var(--hv-ink-2);
}
.anx-common,
.anx-choose { margin-top: 24px; }
.anx-common__title,
.anx-choose__title {
  margin: 0 0 6px;
  font-size: 16px;
  font-weight: 800;
  color: var(--hv-ink);
}
.anx-common p {
  margin: 0;
  font-size: 14.5px;
  line-height: 1.85;
  color: var(--hv-ink-2);
}
.anx-choose__list { margin-top: 0; }

/* ④ 設置環境・⑪ 保証：左右に分けて並べる（メーカー／現地、メーカー／Sol Home） */
.anx-env { background: #fff; }
.anx-split { display: grid; gap: 32px; }
.anx-split__col {
  padding-top: 16px;
  border-top: 2px solid var(--hv-ink);
}
.anx-split__title {
  margin: 0 0 10px;
  font-size: 17px;
  font-weight: 800;
  color: var(--hv-ink);
}
.anx-spec { margin: 0; }
.anx-spec > div {
  display: grid;
  grid-template-columns: 9em 1fr;
  gap: 12px;
  padding: 10px 0;
  border-bottom: 1px solid var(--hv-rule);
}
.anx-spec dt {
  margin: 0;
  font-size: 14px;
  font-weight: 700;
  color: var(--hv-sub);
}
.anx-spec dd {
  margin: 0;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.7;
  color: var(--hv-ink);
}

/* ⑤ 停電時 */
.anx-outage { background: var(--hv-bg); }
.anx-important {
  margin: 20px 0 0;
  padding: 14px 16px;
  border-left: 3px solid var(--hv-ink);
  background: #fff;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.8;
  color: var(--hv-ink);
}

/* ⑪ 保証：メーカーの製品保証（左）と、Sol Home の施工保証・加入保険（右）を別の面にする */
.anx-wbox { display: grid; gap: 20px; }
.anx-wbox__col { padding: 20px 18px; }
.anx-wbox__col--maker {
  border: 1px solid var(--lpv-rule-strong);
  border-top: 3px solid var(--hv-ink);
  background: #fff;
}
.anx-wbox__col--solhome {
  border-top: 3px solid var(--sol-primary, #ff7a00);
  background: var(--hv-bg);
}
.anx-wbox__who {
  margin: 0 0 2px;
  font-size: 12.5px;
  font-weight: 700;
  color: var(--hv-sub);
}
.anx-wbox__title {
  margin: 0 0 10px;
  font-size: 18px;
  font-weight: 800;
  color: var(--hv-ink);
}
.anx-wbox__big {
  margin: 0 0 8px;
  font-size: 18px;
  font-weight: 800;
  color: var(--hv-ink);
}
.anx-wbox__num {
  margin-right: 2px;
  font-size: 44px;
  line-height: 1;
  color: var(--sol-primary, #ff7a00);
}
.anx-wbox__text {
  margin: 0;
  font-size: 15px;
  line-height: 1.85;
  color: var(--hv-ink-2);
}
.anx-wbox__ins {
  margin-top: 18px;
  padding-top: 14px;
  border-top: 1px solid var(--lpv-rule-strong);
}
.anx-wbox__ins-title {
  margin: 0 0 4px;
  font-size: 14px;
  font-weight: 700;
  color: var(--hv-ink);
}
.anx-wbox__ins-list {
  margin: 0;
  padding: 0 0 0 1.2em;
  font-size: 14px;
  line-height: 1.8;
  color: var(--hv-ink-2);
}
.anx-wbox__ins-list li { list-style: disc; }
.anx-wbox__ins-note {
  margin: 6px 0 0;
  font-size: 12.5px;
  line-height: 1.7;
  color: var(--hv-sub);
}
.anx-fv__cert-sub {
  display: block;
  margin-top: 2px;
  font-size: 12.5px;
  font-weight: 500;
  color: var(--hv-sub);
}

/* ⑦ 設置前に確認すること・⑫ FAQ：白い背景が続くときの区切り */
.lpv-combo + .anx-check,
.anx-warranty + .lpv-faq-wrap { border-top: 1px solid var(--hv-rule); }
.anx-check .anx-note .lpv-link { margin-left: 4px; }
.anx-warranty { background: #fff; }

/* ── /paint/ 外壁・屋根塗装：施工写真がないため、文字・罫線・余白で見せる ─────────────── */
/* FV の写真の代わり（'visual'）：ご相談いただける工事を罫線で並べる */
.pnt-fv {
  padding: 28px 20px 24px;
  border-bottom: 1px solid var(--hv-rule);
}
.pnt-fv__label {
  margin: 0 0 8px;
  font-size: 13px;
  font-weight: 700;
  color: var(--hv-sub);
}
.pnt-fv__list {
  margin: 0;
  padding: 0;
  list-style: none;
  border-top: 2px solid var(--hv-ink);
}
.pnt-fv__list li {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 2px 12px;
  padding: 12px 0;
  border-bottom: 1px solid var(--hv-rule);
}
.pnt-fv__name {
  font-size: clamp(18px, 5vw, 22px);
  font-weight: 800;
  line-height: 1.4;
  color: var(--hv-ink);
}
.pnt-fv__sub {
  font-size: 13px;
  color: var(--hv-sub);
}
.pnt-fv__facts {
  margin: 14px 0 0;
  font-size: 13.5px;
  font-weight: 700;
  color: var(--hv-ink);
}

/* ④ 外壁塗装・⑤ 屋根塗装 */
.pnt-work { background: #fff; }
.pnt-work--alt { background: var(--hv-bg); }
.pnt-work__grid { display: grid; gap: 8px; }
.pnt-work__title {
  margin: 0 0 4px;
  font-size: 16px;
  font-weight: 800;
  color: var(--hv-ink);
}
.pnt-work .anx-points { margin-top: 4px; border-top: 2px solid var(--hv-ink); }
.pnt-work .anx-points li { border-bottom: 1px solid var(--hv-rule); padding-top: 10px; padding-bottom: 10px; }
.pnt-work .anx-points li::before { top: 1.45em; }
.pnt-work--alt .anx-points li { border-bottom-color: var(--lpv-rule-strong); }

/* ⑥ 太陽光パネルが載っている屋根：取り外し → 屋根工事 → 再設置 の3段階 */
.pnt-pv { background: #fff; }
.pnt-pv__steps {
  display: grid;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
  border-top: 2px solid var(--hv-ink);
}
.pnt-pv__steps li {
  position: relative;
  padding: 16px 0 16px 48px;
  border-bottom: 1px solid var(--hv-rule);
}
.pnt-pv__num {
  position: absolute;
  left: 0;
  top: 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border: 2px solid var(--sol-primary, #ff7a00);
  border-radius: 50%;
  font-size: 15px;
  font-weight: 800;
  color: var(--sol-primary, #ff7a00);
}
.pnt-pv__steps h3 {
  margin: 0 0 4px;
  font-size: 17px;
  font-weight: 800;
  color: var(--hv-ink);
}
.pnt-pv__steps p {
  margin: 0;
  font-size: 15px;
  line-height: 1.8;
  color: var(--hv-ink-2);
}
.pnt-pv__scaffold {
  margin-top: 24px;
  padding: 18px 18px;
  border-left: 3px solid var(--sol-primary, #ff7a00);
  background: var(--hv-bg);
}
.pnt-pv__scaffold p {
  margin: 0;
  font-size: 15px;
  line-height: 1.8;
  color: var(--hv-ink-2);
}

/* ⑩ 保証・保険 → ⑪ FAQ：白い背景が続くときの区切り */
.pnt-warranty + .lpv-faq-wrap { border-top: 1px solid var(--hv-rule); }

/* ==========================================================================
   レスポンシブ
   ========================================================================== */
@media (min-width: 640px) {
  .lpv-check__item {
    grid-template-columns: 1fr 200px;
    align-items: start;
    gap: 24px;
  }
}

@media (min-width: 768px) {
  .lpv-wrap { padding: 0 32px; }
  .lpv-sec { padding: 64px 0; }
  .lpv-fv__body { padding: 32px 32px 0; max-width: 720px; }
  .lpv-fv__cta { max-width: 460px; }
  .lpv-choose__dl > div { grid-template-columns: 13em 1fr; gap: 24px; }
  .lpv-check__item { grid-template-columns: 1fr 220px; }
  .lpv-combo__cols,
  .lpv-symptom__list { grid-template-columns: 1fr 1fr; column-gap: 40px; }
  .lpv-steps { grid-auto-columns: 40%; }
  .lpv-roofwork { grid-template-columns: 260px 1fr; gap: 28px; align-items: start; }
  .lpv-info { padding: 24px 28px; }
  .lpv-info__list { grid-template-columns: 1fr 1fr; column-gap: 32px; }
  .lpv-ba { grid-template-columns: 1fr 1fr; gap: 40px; }
  .anx-split { grid-template-columns: 1fr 1fr; gap: 40px; }
  .pnt-fv { padding: 32px; }
  .pnt-work__grid { grid-template-columns: 5fr 7fr; gap: 40px; align-items: start; }
  .pnt-pv__steps { grid-template-columns: repeat(3, 1fr); border-top: 0; gap: 24px; }
  .pnt-pv__steps li { padding: 20px 0 0; border-top: 2px solid var(--hv-ink); border-bottom: 0; }
  .pnt-pv__num { position: static; margin-bottom: 10px; }
  .anx-wbox { grid-template-columns: 1fr 1fr; gap: 24px; align-items: stretch; }
  .anx-wbox__col { padding: 24px 28px; }
  .anx-fv { padding: 32px; }
}

@media (min-width: 980px) {
  .lpv-wrap { padding: 0 20px; }
  .lpv-sec { padding: 88px 0; }
  .lpv-fv { padding: 0; }
  .lpv-fv__wrap {
    max-width: var(--hv-wrap);
    margin: 0 auto;
    padding: 48px 20px;
    grid-template-columns: 5fr 6fr;
    gap: 56px;
    align-items: center;
  }
  .lpv-fv__photo { aspect-ratio: 4 / 5; }
  .lpv-fv__body { padding: 0; max-width: none; }
  .lpv-fv__title { font-size: 36px; }
  .lpv-fv__cta .hv-btn { flex: 0 0 auto; min-width: 190px; }
  /* 横長の施工写真の FV（'modifier' => 'wide'。/solar/）は写真側を広くし、文章側が狭いぶん h1 を少し小さくする */
  .lpv-fv--wide .lpv-fv__wrap { grid-template-columns: 6fr 5fr; gap: 48px; }
  .lpv-fv--wide .lpv-fv__photo { aspect-ratio: 4 / 3; }
  .lpv-fv--wide .lpv-fv__title { font-size: 34px; }
  /* 費用：横に補足を置くときだけ2列。補足がない LP は本文だけの幅 */
  .lpv-cost.has-aside .lpv-wrap {
    display: grid;
    grid-template-columns: 8fr 4fr;
    gap: 56px;
    align-items: start;
  }
  .lpv-cost.has-aside .lpv-aside { order: 2; margin: 0; }
  .lpv-cost.has-aside .lpv-cost__body { order: 1; }
  .lpv-cost:not(.has-aside) .lpv-wrap { max-width: 880px; }
  .lpv-2col { grid-template-columns: 5fr 7fr; gap: 64px; align-items: start; }
  .lpv-steps { grid-auto-flow: row; grid-template-columns: repeat(3, 1fr); gap: 32px 24px; overflow: visible; padding: 0; }
  .lpv-steps__hint { display: none; }
  .lpv-roofwork { grid-template-columns: 300px 1fr; gap: 40px; }
  /* /anker/ FV：左に正式ロゴと3容量の面、右に h1・相談ボタン */
  .lpv-fv--anker .lpv-fv__visual { border: 1px solid var(--hv-rule); }
  .lpv-fv--anker .anx-fv { padding: 40px 32px; border-bottom: 0; }
  .lpv-fv--paint .lpv-fv__visual { border: 1px solid var(--hv-rule); }
  .lpv-fv--paint .pnt-fv { padding: 40px 32px; border-bottom: 0; }
  .lpv-fv--anker .anx-fv__num { font-size: 26px; }
  .lpv-fv--anker .anx-fv__unit { font-size: 12px; }
  .anx-fv__logo img { max-width: 340px; }
  .anx-about__cols { grid-template-columns: 7fr 5fr; gap: 56px; align-items: start; }
  .anx-table thead th { padding: 14px 8px; }
  .anx-table__label th { padding: 12px 20px 2px; }
  .anx-table__values td { padding: 2px 10px 14px; }
}
