/*
 * スポットLP量産ベース（page-spot-lp.php）共通スタイル — #spotlp スコープ。
 * css/wp-rescue.css（緊急復旧LP）から派生（#wprescue→#spotlp・.wr-→.sl- 機械変換＋量産用の追加）。
 * 全LP（サーバー移転／修正カスタマイズ等）で共用する。LP固有の見た目は data-* とコンテンツで出し分け、
 * このファイルにはLP固有セレクタを足さないこと（足したくなったら inc/spot-lp/ の設定側で解決する）。
 * 裸のグローバルセレクタ禁止ルール準拠（全て #spotlp 配下）。
 * バリエーション軸は #spotlp の data-* 属性で切替（既定: tone=navy/hero=split/cta=pill/symptom=grid/flow=timeline/fee=plain）。
 */

#spotlp{
  /* ---- tone tokens (default: alert-red) ---- */
  --red:#dc2626;--redd:#b91c1c;--redx:#991b1b;--redt:#fdecec;--redline:#f6c9c9;
  --ink:#171a21;--muted:#5c6373;--muted2:#717888;--line:#e6e3df;--bg:#f4f2ee;--card:#fff;
  --line-g:#06c755;--ok:#1c8a4a;--okt:#e7f6ec;
  --accent:var(--red);--accentd:var(--redd);--accentx:var(--redx);--accentt:var(--redt);--accentline:var(--redline);
  --heroink:#fff;--herobg:#a51d1d;
  box-sizing:border-box;background:var(--bg);color:var(--ink);
  font-family:"Hiragino Kaku Gothic ProN","Hiragino Sans","Noto Sans JP",Meiryo,sans-serif;
  line-height:1.85;-webkit-font-smoothing:antialiased;margin:0 calc(50% - 50vw);width:100vw;
  overflow-x:hidden;
}
#spotlp *{box-sizing:border-box;}
#spotlp .sl-wrap{max-width:1040px;margin:0 auto;padding:0 22px;}
#spotlp .sl-sec{padding:54px 0;}
#spotlp .sl-eyebrow{display:flex;align-items:center;justify-content:center;gap:9px;color:var(--accent);font-weight:800;font-size:13px;letter-spacing:.08em;margin:0 0 10px;}
#spotlp .sl-eyebrow::before,#spotlp .sl-eyebrow::after{content:"";width:26px;height:2px;background:var(--accentline);}
#spotlp .sl-h2{font-size:25px;font-weight:800;text-align:center;line-height:1.5;margin:0 0 10px;letter-spacing:.01em;}
#spotlp .sl-h2 .mk{color:var(--accent);}
#spotlp .sl-h2sub{text-align:center;color:var(--muted2);font-size:14.5px;margin:0 auto 34px;max-width:600px;}

/* ===== CTA buttons ===== */
#spotlp .sl-ctas{display:flex;flex-direction:column;gap:13px;max-width:580px;}
#spotlp .sl-ctas.center{margin:0 auto;}
#spotlp .sl-cbtn{display:flex;align-items:center;justify-content:center;gap:11px;text-decoration:none;
  font-weight:800;border-radius:8px;padding:17px 22px;font-size:18px;color:#fff;line-height:1.25;
  transition:transform .14s ease,box-shadow .14s ease,filter .14s ease;}
#spotlp .sl-cbtn small{display:block;font-size:11.5px;font-weight:600;opacity:.92;margin-top:2px;}
/* 電話番号は読みやすく：大きめ・太字・桁そろえ＋「TEL」付与 */
#spotlp .sl-cbtn small.tel-num{font-size:15px;font-weight:800;opacity:1;letter-spacing:.05em;font-variant-numeric:tabular-nums;margin-top:3px;}
#spotlp .sl-cbtn small.tel-num::before{content:"TEL ";font-size:11px;font-weight:700;letter-spacing:.08em;opacity:.85;}
#spotlp .sl-cbtn:hover{transform:translateY(-1px);box-shadow:0 6px 18px rgba(0,0,0,.16);}
#spotlp .sl-cbtn--tel{background:var(--accent);}
#spotlp .sl-cbtn--tel:hover{background:var(--accentd);}
/* 暗い背景セクション（ヒーロー/最終CTA）では電話ボタンが背景と同系色で同化するため、明るい縁取りで分離する */
#spotlp .sl-hero .sl-cbtn--tel,
#spotlp .sl-finalsec .sl-cbtn--tel{box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.32);}
#spotlp .sl-hero .sl-cbtn--tel:hover,
#spotlp .sl-finalsec .sl-cbtn--tel:hover{box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.5),0 6px 18px rgba(0,0,0,.16);}
#spotlp .sl-cbtn--line{background:var(--line-g);}
#spotlp .sl-cbtn--line:hover{filter:brightness(1.05);}
#spotlp .sl-cbtn--mail{background:transparent;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.55);}
#spotlp .sl-cbtn--mail:hover{background:rgba(255,255,255,.1);}
#spotlp .sl-cbtn .ic{font-size:21px;line-height:1;}
/* ヒーローCTAは従属化：追従バー(スマホ)／PC常設フォームが常時CTAを担うため、FVではバッジを主役にする（2026-07-25） */
#spotlp .sl-hero .sl-ctas{max-width:430px;gap:10px;}
#spotlp .sl-hero .sl-cbtn{padding:13px 18px;font-size:15px;}
#spotlp .sl-hero .sl-cbtn small{font-size:10.5px;}
#spotlp .sl-hero .sl-cbtn .ic{font-size:17px;}

/* ===== HERO (default: split) ===== */
#spotlp .sl-hero{position:relative;overflow:hidden;background:var(--herobg);color:var(--heroink);padding:58px 22px 60px;}
#spotlp .sl-hero .sl-wrap{position:relative;z-index:2;}
#spotlp .sl-alertstrip{display:inline-flex;align-items:center;flex-wrap:wrap;gap:8px 10px;color:#fff;font-size:14.5px;font-weight:800;letter-spacing:.02em;
  background:linear-gradient(180deg,rgba(57,211,83,.22),rgba(57,211,83,.12));border:1.5px solid rgba(57,211,83,.62);border-radius:999px;
  padding:9px 18px;margin-bottom:20px;box-shadow:0 0 0 4px rgba(57,211,83,.08),0 6px 18px rgba(0,0,0,.2);}
#spotlp .sl-alertstrip .al-live{font-size:15.5px;line-height:1;}
#spotlp .sl-alertstrip .al-sub{font-weight:700;color:rgba(255,255,255,.82);font-size:12.5px;}
#spotlp .sl-alertstrip .dot{position:relative;width:11px;height:11px;border-radius:50%;background:#39d353;flex-shrink:0;box-shadow:0 0 9px rgba(57,211,83,.95);}
#spotlp .sl-alertstrip .dot::after{content:"";position:absolute;inset:0;border-radius:50%;background:#39d353;animation:sllive 1.8s ease-out infinite;}
#spotlp .sl-alertstrip .sl-clock{font-weight:700;color:rgba(255,255,255,.7);font-size:12px;}
/* 受付時間外：琥珀のおだやかな表示へ自動切替（点滅も止める） */
#spotlp .sl-alertstrip.is-closed{background:linear-gradient(180deg,rgba(255,255,255,.12),rgba(255,255,255,.05));border-color:rgba(255,255,255,.32);box-shadow:none;}
#spotlp .sl-alertstrip.is-closed .dot{background:#f5b301;box-shadow:0 0 8px rgba(245,179,1,.7);}
#spotlp .sl-alertstrip.is-closed .dot::after{background:#f5b301;animation:none;}
@keyframes sllive{0%{transform:scale(1);opacity:.7;}70%{transform:scale(3);opacity:0;}100%{transform:scale(3);opacity:0;}}
@media(prefers-reduced-motion:reduce){#spotlp .sl-alertstrip .dot::after{animation:none;}}
/* メインキャッチ：全LP共通スケール（スマホ34px→PC54px・太さ800・clampで滑らか。2026-07-24統一） */
#spotlp .sl-h1{font-size:clamp(34px,5vw,54px);font-weight:800;line-height:1.34;margin:0 0 16px;letter-spacing:.005em;}
#spotlp .sl-h1 .hl{color:#ffe2b0;background:rgba(11,19,40,.5);padding:2px 8px 2px 0;border-radius:4px;box-decoration-break:clone;-webkit-box-decoration-break:clone;}
/* ヒーロー見出しの前置きラベル（検索キーワードは大きいまま／「WordPressの」等の弱い修飾語を小ラベルに降格。2026-07-15） */
/* eyebrow＝リード文（塗りチップにしない＝下の証拠タグ .sl-htags と見た目を分けて階層を作る。2026-07-18） */
#spotlp .sl-h1-eye{display:flex;align-items:center;gap:9px;width:fit-content;font-size:12.5px;font-weight:800;letter-spacing:.06em;line-height:1;
  color:var(--accent);background:none;border:0;border-radius:0;
  padding:0;margin:0 0 14px;}
#spotlp .sl-h1-eye::before{content:"";flex:none;width:22px;height:2px;background:currentColor;border-radius:2px;}
/* 強調行（差別化ポイント）は少し上に間を空けて塊で立たせる */
#spotlp .sl-h1 .hl{margin-top:2px;}
/* キーワード行の改行制御：スマホは「・」で2行（はみ出し防止）／PCは1行（.brkを無効化） */
@media(min-width:760px){#spotlp .sl-h1 .brk{display:none;}}
/* 語の途中で折り返さない（スマホでの「真っ/白」「しま/す」分断を防止。区切りは・と、でのみ） */
#spotlp .sl-h1 .nbk{white-space:nowrap;}
#spotlp .sl-hlead{font-size:15px;color:rgba(255,255,255,.86);margin:0 0 28px;max-width:580px;}
#spotlp .sl-hnote{font-size:12.5px;color:rgba(255,255,255,.7);margin:18px 0 0;}

/* hero capability tags */
#spotlp .sl-htags{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 24px;}
#spotlp .sl-htags span{font-size:15px;font-weight:800;color:#fff;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.32);padding:10px 16px;border-radius:9px;line-height:1.05;white-space:nowrap;}
#spotlp[data-hero="center"] .sl-htags{justify-content:center;}
/* hero trust stat bar */
#spotlp .sl-hstats{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.16);border-radius:8px;overflow:hidden;margin:26px 0 0;}
#spotlp .sl-hstats div{background:rgba(0,0,0,.16);padding:13px 10px;text-align:center;}
#spotlp .sl-hstats b{display:block;font-size:19px;font-weight:800;color:#fff;line-height:1.2;letter-spacing:.01em;}
#spotlp .sl-hstats b em{font-style:normal;color:#ffe2b0;}
#spotlp .sl-hstats span{display:block;font-size:11px;color:rgba(255,255,255,.72);margin-top:3px;font-weight:600;}
/* hero trust signal line */
/* 信頼ライン：区切り線をやめ、各項目に✓を付けた“信頼リスト”。折り返しても破綻しない */
#spotlp .sl-htrust{display:flex;flex-wrap:wrap;gap:7px 18px;margin:16px 0 0;font-size:12px;font-weight:700;color:rgba(255,255,255,.88);}
#spotlp .sl-htrust span{position:relative;padding-left:18px;white-space:nowrap;line-height:1.3;}
#spotlp .sl-htrust span::before{content:"";position:absolute;left:1px;top:50%;width:10px;height:6px;
  border-left:2px solid #ffe2b0;border-bottom:2px solid #ffe2b0;transform:translate(0,-70%) rotate(-45deg);}

@media(prefers-reduced-motion:reduce){#spotlp .sl-alertstrip .dot{animation:none;}}

@media(min-width:760px){
  #spotlp .sl-sec{padding:74px 0;}
  #spotlp .sl-hero{padding:80px 22px 84px;}
  /* H1サイズは .sl-h1 の clamp(34px,5vw,54px) で全幅対応（固定breakpoint廃止・2026-07-24統一） */
  #spotlp .sl-h2{font-size:30px;}
  #spotlp .sl-ctas{flex-direction:row;}
  #spotlp .sl-cbtn{flex:1;}
  #spotlp .sl-hstats b{font-size:21px;}
}
/* スマホ：ヒーローだけ左右の外余白をなくす（本文セクションは22pxのまま） */
@media(max-width:600px){
  #spotlp .sl-hero .sl-wrap{padding-left:0;padding-right:0;}
}
/* ===== scroll reveal (subtle) ===== */
#spotlp [data-reveal]{opacity:0;transform:translateY(16px);transition:opacity .6s ease,transform .6s ease;}
#spotlp [data-reveal].is-in{opacity:1;transform:none;}
@media(prefers-reduced-motion:reduce){#spotlp [data-reveal]{opacity:1;transform:none;}}

/* ===== 症状チェック (default: grid) ===== */
#spotlp .sl-sx{display:flex;flex-direction:column;gap:13px;}
#spotlp .sl-sxcard{background:var(--card);border:1px solid var(--line);border-radius:7px;padding:17px 18px 17px 60px;
  position:relative;font-size:17.5px;font-weight:800;line-height:1.5;letter-spacing:.005em;transition:border-color .14s ease;}
#spotlp .sl-sxcard:hover{border-color:var(--accent);}
#spotlp .sl-sxcard .sxic{position:absolute;left:16px;top:16px;width:30px;height:30px;display:flex;align-items:center;justify-content:center;color:var(--accent);}
#spotlp .sl-sxcard .sxic svg{width:27px;height:27px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
#spotlp .sl-sxcard span{display:block;font-size:12.5px;font-weight:500;color:var(--muted);margin-top:3px;}
#spotlp .sl-sxnote{text-align:center;font-weight:800;color:var(--accent);margin:28px 0 0;font-size:15px;}

/* ===== 症状チェック：アイコンカードのグリッド（写真なし・フラットUIで統一）===== */
@media(min-width:560px){#spotlp[data-symptom] .sl-sx{display:grid;grid-template-columns:1fr 1fr;gap:13px;}}
@media(min-width:920px){#spotlp[data-symptom] .sl-sx{grid-template-columns:repeat(3,1fr);}}
/* カードが4枚ちょうどのときは2×2で均等に（3列だと3+1で1枚余るため。:has で枚数判定・全スポットLP共通。2026-07-18） */
#spotlp[data-symptom] .sl-sx:has(> :nth-child(4):last-child){grid-template-columns:repeat(2,1fr);max-width:820px;margin-left:auto;margin-right:auto;}

/* ===== 悩み→解決ブリッジ（問いへの答え・一体化）===== */
#spotlp .sl-solve{margin:30px 0 0;padding:24px 4px 0;border-top:1px dashed var(--line);}
#spotlp .sl-solve h3{font-size:20px;font-weight:800;margin:0 0 18px;line-height:1.5;text-align:center;letter-spacing:.01em;}
@media(min-width:760px){#spotlp .sl-solve h3{font-size:25px;}}
#spotlp .sl-solve h3 .mk{color:var(--accent);}
#spotlp .sl-solve .lead{display:none;}
#spotlp .sl-solvelist{list-style:none;padding:0;margin:0 auto;max-width:540px;display:grid;grid-template-columns:1fr;gap:13px;}
#spotlp .sl-solvelist li{position:relative;padding-left:34px;font-size:14.5px;line-height:1.75;}
#spotlp .sl-solvelist li b{font-weight:800;}
#spotlp .sl-solvelist li::before{content:"";position:absolute;left:2px;top:2px;width:21px;height:21px;border-radius:50%;
  background:var(--accent) url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23fff'%20stroke-width='3.2'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M5%2012.5l4.5%204.5L19%207.5'/%3E%3C/svg%3E") center/13px 13px no-repeat;}
#spotlp .sl-solvelist li::after{content:none;}
/* 解決リストは1カラムで統一（2カラムだと幅が足りず文が中途半端に折り返して読みにくいため） */

/* ===== 対応の流れ (default: cards) ===== */
#spotlp .sl-flow{display:flex;flex-direction:column;gap:14px;counter-reset:st;}
#spotlp .sl-step{background:var(--card);border:1px solid var(--line);border-radius:7px;padding:22px 22px 22px 66px;position:relative;transition:box-shadow .14s ease;}
#spotlp .sl-step:hover{box-shadow:0 4px 16px rgba(0,0,0,.05);}
#spotlp .sl-step::before{counter-increment:st;content:counter(st);position:absolute;left:18px;top:20px;
  width:34px;height:34px;border-radius:7px;background:var(--accent);color:#fff;font-weight:800;
  display:flex;align-items:center;justify-content:center;font-size:16px;}
#spotlp .sl-step h3{font-size:16.5px;font-weight:800;margin:0 0 5px;}
#spotlp .sl-step .stime{display:inline-block;white-space:nowrap;font-size:11.5px;font-weight:800;color:var(--accent);background:var(--accentt);border-radius:999px;padding:3px 11px;margin-left:9px;vertical-align:middle;}
#spotlp .sl-step p{font-size:13.5px;color:var(--muted);margin:0;}
#spotlp .sl-step.free h3::after{content:"無料";font-size:11px;background:var(--okt);color:var(--ok);font-weight:800;padding:2px 9px;border-radius:999px;margin-left:9px;vertical-align:middle;}

/* ===== 対応者 ===== */
#spotlp .sl-person{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:30px 26px;}
#spotlp .sl-phead{display:flex;align-items:center;gap:16px;margin-bottom:18px;}
#spotlp .sl-pav{width:64px;height:64px;border-radius:50%;overflow:hidden;background:repeating-linear-gradient(45deg,#e3dfd6 0 8px,#efece4 8px 16px);color:#9b9384;
  display:flex;align-items:center;justify-content:center;font:600 10px ui-monospace,Menlo,monospace;flex-shrink:0;border:1px solid var(--line);}
#spotlp .sl-pav img{width:100%;height:100%;object-fit:cover;}
#spotlp .sl-pbadge{width:58px;height:58px;flex-shrink:0;margin-left:-4px;}
#spotlp .sl-pbadge img{width:100%;height:100%;object-fit:contain;display:block;}
#spotlp .sl-pname{font-size:19px;font-weight:800;margin:0;}
#spotlp .sl-prole{font-size:13px;color:var(--muted2);margin:3px 0 0;}
#spotlp .sl-pcreds{list-style:none;padding:0;margin:0 0 15px;display:flex;flex-wrap:wrap;gap:8px;}
#spotlp .sl-pcreds li{font-size:12px;background:var(--accentt);color:var(--accentx);padding:5px 13px;border-radius:999px;font-weight:700;}
#spotlp .sl-person p{font-size:14px;color:#3c4452;margin:0;}
#spotlp .sl-pedge{margin-top:20px;padding-top:18px;border-top:1px solid var(--line);font-size:13.5px;line-height:1.85;color:#3c4452;}
#spotlp .sl-pedge .el{display:block;font-size:12px;font-weight:800;color:var(--accent);letter-spacing:.05em;margin-bottom:6px;}
#spotlp .sl-pedge b{color:var(--accent);font-weight:800;}

/* ===== 料金（2プラン）(default container: plain) ===== */
#spotlp .sl-fee{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:32px 26px;text-align:center;}
#spotlp .sl-plans{display:grid;grid-template-columns:1fr;gap:16px;text-align:left;}
@media(min-width:740px){#spotlp .sl-plans{grid-template-columns:1fr 1fr;align-items:stretch;}}
#spotlp .sl-plan{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:26px 24px;display:flex;flex-direction:column;box-shadow:0 3px 16px rgba(0,0,0,.05);}
#spotlp .sl-plan--b{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);}
#spotlp .sl-plan .ptag{align-self:flex-start;font-size:12px;font-weight:800;color:#fff;background:var(--muted2);border-radius:6px;padding:6px 13px;margin-bottom:14px;line-height:1.2;}
#spotlp .sl-plan--b .ptag{background:var(--accent);}
#spotlp .sl-plan h3{font-size:19px;font-weight:800;margin:0 0 5px;line-height:1.4;}
#spotlp .sl-plan .pdesc{font-size:12.5px;color:var(--muted);margin:0 0 16px;line-height:1.6;}
/* margin-top:auto でカードの高さを揃えたうえ、価格を各カードの下端に揃える（「こんな方に」の文量差を上側で吸収） */
#spotlp .sl-plan .pprice{font-size:42px;font-weight:800;color:var(--accent);line-height:1;margin:auto 0 0;letter-spacing:.005em;}
#spotlp .sl-plan .pprice small{font-size:16px;font-weight:700;}
#spotlp .sl-plan .pnote{font-size:11.5px;color:var(--muted2);margin:6px 0 0;}
#spotlp .sl-plan ul{list-style:none;padding:16px 0 0;margin:18px 0 0;display:flex;flex-direction:column;gap:11px;border-top:1px solid var(--line);}
#spotlp .sl-plan li{position:relative;padding-left:28px;font-size:13.5px;line-height:1.5;}
#spotlp .sl-plan li::before{content:"";position:absolute;left:1px;top:2px;width:18px;height:18px;border-radius:50%;background:var(--accent);}
#spotlp .sl-plan li::after{content:"";position:absolute;left:6px;top:6px;width:8px;height:4px;border:solid #fff;border-width:0 0 2px 2px;transform:rotate(-45deg);}
#spotlp .sl-plan li.no{color:var(--muted2);}
#spotlp .sl-plan li.no::before{background:#e1ddd6;}
#spotlp .sl-plan li.no::after{left:5px;top:8px;width:8px;height:0;border-width:0 0 2px 0;border-color:#fff;transform:none;}
/* 共通のお約束：濃紺帯。見出し＝パッと見る／説明＝小さく読む、にコンパクト階層化 */
#spotlp .sl-feebar{margin:24px 0 0;padding:16px 18px 15px;background:var(--herobg);text-align:left;}
#spotlp .sl-feebar .fbhead{margin:0 0 3px;font-size:11px;font-weight:800;color:#ffe2b0;letter-spacing:.06em;}
#spotlp .sl-feebar span{display:block;padding:11px 0 0;margin-top:11px;border-top:1px solid rgba(255,255,255,.16);}
#spotlp .sl-feebar span b{display:block;font-size:14px;font-weight:800;color:#ffe2b0;line-height:1.4;}
#spotlp .sl-feebar span i{display:block;font-style:normal;font-size:11.5px;font-weight:600;color:rgba(255,255,255,.66);line-height:1.55;margin-top:3px;}

/* ===== ご依頼にあたってのお願い ===== */
#spotlp .sl-precautions{max-width:760px;margin:0 auto;}
#spotlp .sl-pc-section{margin-bottom:0;padding:26px;border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,.06);border-left:4px solid rgba(30,58,138,.4);background:linear-gradient(135deg,rgba(30,58,138,.06) 0%,rgba(147,197,253,.08) 100%);}
#spotlp .sl-pc-section h3{font-size:17px;font-weight:800;margin:0 0 16px;color:var(--ink);line-height:1.4;display:flex;align-items:center;gap:10px;}
#spotlp .sl-pc-section h3::before{content:"📋";display:inline-block;width:28px;height:28px;background:rgba(30,58,138,.12);border-radius:50%;font-size:14px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
#spotlp .sl-pc-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:13px;}
#spotlp .sl-pc-list li{position:relative;padding-left:32px;font-size:13.5px;line-height:1.7;color:var(--muted);font-weight:600;}
#spotlp .sl-pc-list li::before{content:"✓";position:absolute;left:6px;top:0;font-weight:800;color:#1e3a8a;font-size:18px;}
#spotlp .sl-pc-section .sl-pc-note{font-size:12.5px;color:var(--muted2);margin:16px 0 0;padding:14px 16px;background:rgba(255,255,255,.5);border-radius:8px;border-left:3px solid rgba(30,58,138,.3);}

/* ===== FAQ ===== */
#spotlp .sl-faq details{background:var(--card);border:1px solid var(--line);border-radius:7px;margin-bottom:11px;overflow:hidden;}
#spotlp .sl-faq summary{list-style:none;cursor:pointer;padding:18px 48px 18px 22px;font-size:14.5px;font-weight:700;position:relative;}
#spotlp .sl-faq summary::-webkit-details-marker{display:none;}
#spotlp .sl-faq summary::after{content:"";position:absolute;right:22px;top:22px;width:9px;height:9px;border:solid var(--accent);border-width:0 2px 2px 0;transform:rotate(45deg);transition:transform .2s;}
#spotlp .sl-faq details[open] summary::after{transform:rotate(-135deg);}
#spotlp .sl-faq .a{padding:0 22px 19px;font-size:13.5px;color:#3c4452;}

/* ===== 保守導線（編集的な横組み）===== */
#spotlp .sl-up{display:flex;flex-wrap:wrap;align-items:center;gap:18px 36px;padding:30px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
#spotlp .sl-up .uptxt{flex:1;min-width:260px;}
#spotlp .sl-up .uplabel{font-size:12px;font-weight:800;color:var(--accent);letter-spacing:.05em;margin:0 0 7px;}
#spotlp .sl-up h3{font-size:19px;font-weight:800;margin:0 0 7px;color:var(--ink);line-height:1.5;}
#spotlp .sl-up p{font-size:13.5px;color:var(--muted);margin:0;line-height:1.75;}
#spotlp .sl-up a{flex-shrink:0;text-decoration:none;font-weight:800;font-size:14px;color:var(--accent);border-bottom:2px solid var(--accentline);padding-bottom:3px;white-space:nowrap;transition:border-color .14s ease;}
#spotlp .sl-up a::after{content:"\00a0\2192";}
#spotlp .sl-up a:hover{border-color:var(--accent);}
#spotlp .sl-up .upprice{flex-shrink:0;text-align:right;line-height:1.3;}
#spotlp .sl-up .upprice b{display:block;font-size:26px;font-weight:800;color:var(--accent);letter-spacing:.01em;}
#spotlp .sl-up .upprice b small{font-size:14px;font-weight:700;}
#spotlp .sl-up .upprice span{font-size:11.5px;color:var(--muted2);font-weight:700;}
@media(max-width:560px){#spotlp .sl-up .upprice{text-align:left;}}

/* ===== final CTA（全幅の締めバンド）===== */
#spotlp .sl-finalsec{background:var(--herobg);}
#spotlp .sl-final{text-align:center;}
#spotlp .sl-final h2{color:#fff;font-size:24px;font-weight:800;margin:0 0 8px;line-height:1.45;}
#spotlp .sl-final p{color:rgba(255,255,255,.85);font-size:14px;margin:0 0 26px;}

/* ===== 会社情報フッター ===== */
#spotlp .sl-foot{text-align:center;font-size:12.5px;color:var(--muted2);line-height:1.95;}
#spotlp .sl-foot .fn{font-weight:800;color:var(--ink);font-size:15px;margin:0 0 6px;letter-spacing:.02em;}
#spotlp .sl-foot p{margin:0;}

/* ===== メール相談フォーム（表示見本） ===== */
#spotlp .sl-form{max-width:560px;margin:0 auto;}
#spotlp .sl-field{margin-bottom:15px;}
#spotlp .sl-field label{display:block;font-size:13px;font-weight:800;margin:0 0 7px;}
#spotlp .sl-field label .opt{font-weight:600;color:var(--muted2);font-size:11.5px;margin-left:6px;}
/* CF7：必須フィールドのラベルに赤い「必須」バッジを自動付与（:has で必須コントロールを検出。任意は既存の補足テキストで区別） */
#spotlp .sl-form .sl-field:has(.wpcf7-validates-as-required) label::after{content:"必須";display:inline-block;margin-left:7px;font-size:10.5px;font-weight:800;color:#fff;background:#dc2626;padding:2px 7px;border-radius:4px;vertical-align:2px;letter-spacing:.04em;line-height:1.3;}
#spotlp .sl-field input,#spotlp .sl-field textarea{width:100%;border:1px solid var(--line);border-radius:8px;padding:13px 14px;font-size:15px;font-family:inherit;background:var(--bg);color:var(--ink);}
#spotlp .sl-field textarea{resize:vertical;}
#spotlp .sl-field input:focus,#spotlp .sl-field textarea:focus{outline:none;border-color:var(--accent);background:var(--card);}
/* セレクトボックス（ご相談内容など）：入力欄と同じ体裁＋カスタム矢印（ネイティブ矢印は消す） */
#spotlp .sl-field select{width:100%;border:1px solid var(--line);border-radius:8px;padding:13px 40px 13px 14px;font-size:15px;font-family:inherit;color:var(--ink);cursor:pointer;
  appearance:none;-webkit-appearance:none;-moz-appearance:none;
  background-color:var(--bg);background-repeat:no-repeat;background-position:right 14px center;background-size:12px;
  background-image:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%235c6373'%20stroke-width='2.5'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M6%209l6%206%206-6'/%3E%3C/svg%3E");}
#spotlp .sl-field select:focus{outline:none;border-color:var(--accent);background-color:var(--card);}
#spotlp .sl-formbtn{width:100%;border:none;cursor:pointer;background:var(--accent);color:#fff;font-weight:800;font-size:16px;border-radius:8px;padding:16px;font-family:inherit;transition:background .14s ease;margin-top:4px;}
#spotlp .sl-formbtn:hover{background:var(--accentd);}
#spotlp .sl-formnote{font-size:11.5px;color:var(--muted2);margin:13px 0 0;text-align:center;line-height:1.75;}
/* フォーム内のLINE導線：CF7の上に併設する代替経路（申込フォーム＝aside/sheet両方に出る） */
#spotlp .sl-form-line{margin:0 0 4px;}
#spotlp .sl-form-or{display:flex;align-items:center;gap:12px;font-size:11.5px;font-weight:800;color:var(--muted2);letter-spacing:.03em;margin:16px 0 12px;}
#spotlp .sl-form-or::before,#spotlp .sl-form-or::after{content:"";flex:1;height:1px;background:var(--line);}
#spotlp .sl-form-linebtn{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:2px 8px;text-decoration:none;
  background:var(--line-g);color:#fff;font-weight:800;font-size:15px;border-radius:8px;padding:14px;line-height:1.35;text-align:center;transition:filter .14s ease;}
#spotlp .sl-form-linebtn:hover{filter:brightness(.94);}
#spotlp .sl-form-linebtn small{flex-basis:100%;font-size:11px;font-weight:600;opacity:.92;}

/* ===== 取引実績 ===== */
#spotlp .sl-clients{text-align:center;}
#spotlp .sl-clients .cl-lead{font-size:12.5px;color:var(--muted2);font-weight:800;letter-spacing:.04em;margin:0 0 20px;}
/* 実績：数字を主役にしたスタッツバンド（チップ廃止） */
#spotlp .sl-stats{display:grid;grid-template-columns:1fr 1fr;gap:22px 8px;max-width:680px;margin:0 auto;background:var(--accentt);padding:24px 12px;}
@media(min-width:760px){#spotlp .sl-stats{grid-template-columns:repeat(4,1fr);gap:0;padding:26px 16px;}}
#spotlp .sl-stat{position:relative;text-align:center;padding:4px 16px;}
@media(min-width:760px){#spotlp .sl-stat + .sl-stat::before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:1px;height:48px;background:rgba(30,58,138,.18);}}
#spotlp .sl-stat b{display:block;font-size:31px;font-weight:800;color:var(--accent);line-height:1.2;letter-spacing:.01em;font-variant-numeric:tabular-nums;}
#spotlp .sl-stat b small{font-size:15px;font-weight:700;}
#spotlp .sl-stat span{display:block;font-size:12.5px;color:var(--muted2);margin-top:7px;line-height:1.55;font-weight:600;}

/* ===== 選ばれる理由 ===== */
/* 選ばれる理由：番号×タイポの編集型（アイコンなし・ルール区切り） */
#spotlp .sl-why{display:grid;grid-template-columns:1fr;gap:0;}
@media(min-width:740px){#spotlp .sl-why{grid-template-columns:1fr 1fr;column-gap:52px;}}
#spotlp .sl-whyitem{display:flex;align-items:flex-start;gap:18px;padding:22px 2px;border-top:1px solid var(--line);}
#spotlp .sl-whynum{flex-shrink:0;font-size:30px;font-weight:800;line-height:1.05;color:var(--accent);letter-spacing:.01em;font-variant-numeric:tabular-nums;min-width:1.4em;}
#spotlp .sl-whytx h3{font-size:18px;font-weight:800;margin:0 0 7px;line-height:1.5;letter-spacing:.01em;}
#spotlp .sl-whytx p{font-size:13.5px;color:var(--muted);margin:0;line-height:1.85;}
@media(min-width:740px){#spotlp .sl-whynum{font-size:34px;}}

/* ===== 事例カード内テキスト（症状→対応→結果） ===== */
#spotlp .csym{font-size:15.5px;font-weight:800;line-height:1.6;margin:4px 0 14px;}
#spotlp .cstep{display:flex;align-items:flex-start;gap:9px;font-size:13px;line-height:1.7;margin:0 0 10px;}
#spotlp .cstep:last-child{margin-bottom:0;}
#spotlp .cl{flex-shrink:0;display:inline-block;font-size:11px;font-weight:800;color:#fff;background:var(--muted2);border-radius:5px;padding:3px 9px;margin-top:2px;}
#spotlp .cl.res{background:var(--ok);}

/* ===== LP視覚強化（流れの縦線・業者比較・再発防止サイクル・マーカー） ===== */
/* ④ 対応の流れ：番号を縦線でつないでタイムライン化（カードの隙間に線が見える） */
#spotlp .sl-flow{position:relative;}
#spotlp .sl-flow::before{content:"";position:absolute;left:34px;top:30px;bottom:30px;width:2px;background:var(--accentline);}


/* ⑥ 再発防止サイクル（保守導線の上に表示） */
#spotlp .sl-cycle{margin-bottom:26px;}
#spotlp .sl-cyclelead{font-size:13px;font-weight:800;color:var(--accent);text-align:center;margin:0 0 14px;}
#spotlp .sl-cyclerow{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px 6px;}
#spotlp .sl-cyclerow .cyn{background:var(--card);border:1px solid var(--line);border-radius:999px;padding:9px 16px;font-size:13px;font-weight:800;color:var(--ink);}
#spotlp .sl-cyclerow .cyar{color:var(--accent);font-weight:800;font-size:15px;}
#spotlp .sl-cyclerow .cyloop{font-size:19px;}

/* C キーフレーズの蛍光マーカー */
#spotlp .hl{background:linear-gradient(transparent 56%,var(--accentt) 56%);font-weight:800;padding:0 2px;}

/* ===== 復旧の対応事例：結果カードの「復旧完了」バッジ ===== */
/* 復旧完了：空のチェックボックス＋枠からはみ出すチェック（チェックリスト感） */
#spotlp .sl-cabadge{position:relative;display:inline-flex;align-items:center;gap:11px;font-size:13.5px;font-weight:800;color:var(--ok);margin-bottom:13px;}
#spotlp .sl-cabadge::before{content:"";width:19px;height:19px;flex-shrink:0;border:2px solid var(--ok);border-radius:4px;background:#fff;}
#spotlp .sl-cabadge::after{content:"";position:absolute;left:-6px;top:50%;transform:translateY(-56%);width:32px;height:32px;z-index:1;pointer-events:none;background:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%231c8a4a'%20stroke-width='3.2'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M4%2012.5l5%205L22%203.5'/%3E%3C/svg%3E") center/contain no-repeat;}

/* ===== 保有資格の実物（賞状） ===== */
#spotlp .sl-certwrap{margin-top:20px;padding-top:18px;border-top:1px solid var(--line);}
/* フラット版：プロフィールバナー直下用（上罫線なし・バナー幅に合わせ中央寄せ） */
#spotlp .sl-certwrap--flat{max-width:1000px;margin:0 auto;padding-top:0;border-top:0;}
#spotlp .sl-certwrap--flat .sl-certlabel{text-align:center;}
#spotlp .sl-certwrap--flat .sl-certs{justify-content:center;}
#spotlp .sl-certlabel{font-size:12px;font-weight:800;color:var(--accent);letter-spacing:.05em;margin:0 0 14px;}
#spotlp .sl-certs{display:flex;flex-wrap:wrap;gap:14px;}
#spotlp .sl-cert{margin:0;flex:1 1 140px;max-width:190px;}
#spotlp .sl-cert a{display:block;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#fff;transition:box-shadow .14s ease;}
#spotlp .sl-cert a:hover{box-shadow:0 6px 18px rgba(0,0,0,.12);}
#spotlp .sl-cert img{width:100%;height:210px;object-fit:contain;background:#fff;display:block;padding:6px;box-sizing:border-box;}
#spotlp .sl-cert figcaption{font-size:11.5px;color:var(--ink);margin-top:9px;line-height:1.5;font-weight:800;}
#spotlp .sl-cert figcaption span{display:block;color:var(--muted2);font-weight:600;font-size:10.5px;margin-top:2px;}
/* 狭いスマホ（〜600px）は必ず2列に（rescueと同仕様） */
@media(max-width:600px){#spotlp .sl-cert{flex:1 1 calc(50% - 7px);max-width:none;}}

/* ===== sticky mobile CTA bar ===== */
#spotlp .sl-sticky{position:fixed;left:0;right:0;bottom:0;z-index:60;display:flex;flex-direction:column;gap:7px;padding:8px 12px 9px;
  background:rgba(255,255,255,.96);backdrop-filter:blur(8px);border-top:1px solid var(--line);
  box-shadow:0 -6px 20px rgba(0,0,0,.08);transform:translateY(120%);transition:transform .3s ease;}
#spotlp .sl-sticky.show{transform:none;}
#spotlp .sl-stlive{display:flex;align-items:center;justify-content:center;gap:7px;font-size:11.5px;font-weight:800;color:var(--ok);}
#spotlp .sl-stlive .dot{position:relative;width:8px;height:8px;border-radius:50%;background:#1c8a4a;}
#spotlp .sl-stlive .dot::after{content:"";position:absolute;inset:0;border-radius:50%;background:#1c8a4a;animation:sllive 1.8s ease-out infinite;}
#spotlp .sl-stlive.is-closed{color:var(--muted2);}
#spotlp .sl-stlive.is-closed .dot{background:#b9912a;}
#spotlp .sl-stlive.is-closed .dot::after{animation:none;}
#spotlp .sl-strow{display:flex;gap:8px;}
#spotlp .sl-sticky a{flex:1;display:flex;align-items:center;justify-content:center;gap:7px;text-decoration:none;color:#fff;font-weight:800;font-size:15px;border-radius:11px;padding:13px 10px;}
#spotlp .sl-sticky .s-tel{background:var(--accent);}
#spotlp .sl-sticky .s-line{background:var(--line-g);}
#spotlp .sl-sticky .sl-strow a{flex:1;}
#spotlp .sl-st-mail{display:block;width:100%;border:none;cursor:pointer;background:var(--accent);color:#fff;font-weight:800;font-size:16px;border-radius:11px;padding:14px;font-family:inherit;line-height:1.2;}
#spotlp .sl-st-mail:hover{background:var(--accentd);}
/* 追従バー：主ボタンをstrow内に入れ「主=flex1／LINE(電話)=compact」の1行横並びに（2段→1段・wk-sticky型。アラート行は上に残る。2026-07-24） */
#spotlp .sl-strow .sl-st-mail{flex:1;width:auto;min-width:0;}
#spotlp .sl-sticky .sl-strow a{flex:0 0 auto;}
#spotlp .sl-sticky .s-line{padding-left:22px;padding-right:22px;}
@media(min-width:1080px){#spotlp .sl-sticky{display:none;}}

/* ===== 常設フォーム：PC右サイド（≥1080px）＋スマホ下シート ===== */
/* PC: 右に幅392pxのフォームを固定し、本文は左に寄せる（box-sizing:border-boxなので全幅のまま本文だけ縮む） */
@media(min-width:1080px){#spotlp{padding-right:392px;}}
#spotlp .sl-aside{display:none;}
@media(min-width:1080px){
  #spotlp .sl-aside{display:block;position:fixed;top:0;right:0;width:392px;height:100vh;overflow-y:auto;z-index:50;
    background:var(--card);border-left:1px solid var(--line);box-shadow:-8px 0 24px rgba(0,0,0,.06);}
  #spotlp .sl-aside-in{padding:24px 24px 40px;}
  #spotlp .sl-aside-ttl{font-size:20px;font-weight:800;margin:0 0 4px;text-align:center;}
  #spotlp .sl-aside-sub{font-size:12.5px;color:var(--muted2);text-align:center;margin:0 0 16px;line-height:1.65;}
  #spotlp .sl-aside-quick{display:flex;gap:10px;margin:0 0 18px;}
  #spotlp .sl-aside-q{flex:1;text-align:center;text-decoration:none;font-weight:800;font-size:14px;border-radius:8px;padding:11px 8px;color:#fff;line-height:1.2;}
  #spotlp .sl-aside-q--tel{background:var(--accent);}
  #spotlp .sl-aside-q--line{background:var(--line-g);}
  #spotlp .sl-aside .sl-form{max-width:none;margin:0;}
}
/* サイドバー：症状/緊急度を撤去し相談テキストに集約したぶん、ゆとりを持たせる（PC固定フォーム限定） */
@media(min-width:1080px){
  #spotlp .sl-aside-in{padding:24px 22px 30px;}
  #spotlp .sl-aside-ttl{font-size:19px;margin:0 0 20px;}
  #spotlp .sl-aside-sub{margin:0 0 16px;}
  #spotlp .sl-aside-quick{margin:0 0 18px;}
  #spotlp .sl-aside .sl-field{margin-bottom:15px;}
  #spotlp .sl-aside .sl-field input,#spotlp .sl-aside .sl-field textarea{padding:12px 13px;}
  #spotlp .sl-aside .sl-field textarea{min-height:112px;}
}
/* スマホ: ボトムシート */
#spotlp .sl-sheet-ov{position:fixed;inset:0;z-index:79;background:rgba(10,14,25,.55);opacity:0;pointer-events:none;transition:opacity .28s ease;}
#spotlp .sl-sheet-ov.open{opacity:1;pointer-events:auto;}
#spotlp .sl-sheet{position:fixed;left:0;right:0;bottom:0;z-index:80;max-height:90vh;display:flex;flex-direction:column;
  background:var(--bg);border-radius:18px 18px 0 0;box-shadow:0 -10px 30px rgba(0,0,0,.22);
  transform:translateY(101%);transition:transform .3s cubic-bezier(.22,1,.36,1);}
#spotlp .sl-sheet.open{transform:none;}
#spotlp .sl-sheet-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:16px 18px 6px;flex-shrink:0;border-bottom:1px solid var(--line);}
#spotlp .sl-sheet-ttl{font-size:17px;font-weight:800;margin:0;}
#spotlp .sl-sheet-close{border:none;background:transparent;font-size:28px;line-height:1;color:var(--muted2);cursor:pointer;padding:0 4px;}
#spotlp .sl-sheet-body{overflow-y:auto;-webkit-overflow-scrolling:touch;padding:14px 18px calc(20px + env(safe-area-inset-bottom));}
#spotlp .sl-sheet-sub{font-size:12.5px;color:var(--muted2);margin:0 0 14px;line-height:1.65;}
@media(prefers-reduced-motion:reduce){#spotlp .sl-sheet{transition:none;}}
@media(min-width:1080px){#spotlp .sl-sheet,#spotlp .sl-sheet-ov{display:none;}}
/* PCは右に常設フォームがあるため、最終CTAの「メールで相談」(シート起動)は隠す */
@media(min-width:1080px){#spotlp .sl-mail-cta{display:none;}}

/* ===== 画像プレースホルダー（写真を差し込む枠）=====
   各 .sl-ph は写真の差し込み位置。SWELLでは中身に <img> を入れるか、
   style の background に画像を center / cover で指定してください。 */
#spotlp .sl-ph{position:relative;overflow:hidden;background:repeating-linear-gradient(45deg,#eceae4 0 11px,#f5f3ed 11px 22px);border:1px solid var(--line);border-radius:8px;display:flex;align-items:center;justify-content:center;text-align:center;padding:16px;}
#spotlp .sl-ph span{font:600 12px/1.5 ui-monospace,SFMono-Regular,Menlo,monospace;color:#8a8270;background:rgba(255,255,255,.8);padding:5px 11px;border-radius:5px;}
#spotlp .sl-ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}

/* hero 背景写真 */
/* hero背景画像はLPごとに異なるため、テンプレート側が inline style で background-image を指定する */
#spotlp .sl-heromedia{position:absolute;inset:0;z-index:0;background-size:cover;background-position:right center;background-image:var(--hero-img);}
#spotlp .sl-heroveil{position:absolute;inset:0;z-index:1;background:linear-gradient(95deg,rgba(12,20,42,.94) 0%,rgba(12,20,42,.84) 30%,rgba(12,20,42,.52) 54%,rgba(12,20,42,.16) 78%,rgba(12,20,42,0) 100%);}
@media(max-width:760px){#spotlp .sl-heromedia{background-position:72% center;}#spotlp .sl-heroveil{background:linear-gradient(180deg,rgba(12,20,42,.62) 0%,rgba(12,20,42,.82) 55%);}}
#spotlp .sl-heromark{position:absolute;z-index:2;right:14px;bottom:12px;font:600 11px ui-monospace,Menlo,monospace;color:rgba(255,255,255,.62);background:rgba(0,0,0,.3);padding:5px 10px;border-radius:5px;max-width:62%;text-align:right;}
@media(max-width:600px){#spotlp .sl-heromark{display:none;}}

/* split：中央寄せコンテナ（最大1040px）内でテキストを左半に集め、右の人物を見せる */
@media(min-width:760px){
  #spotlp[data-hero="split"] .sl-hero{min-height:580px;display:flex;align-items:center;}
  #spotlp[data-hero="split"] .sl-hero .sl-wrap{width:100%;max-width:1040px;margin:0 auto;padding-left:22px;padding-right:22px;}
  #spotlp[data-hero="split"] .sl-hero .sl-alertstrip,
  #spotlp[data-hero="split"] .sl-hero .sl-h1,
  #spotlp[data-hero="split"] .sl-hero .sl-htags,
  #spotlp[data-hero="split"] .sl-hero .sl-ctas,
  #spotlp[data-hero="split"] .sl-hero .sl-hnote,
  #spotlp[data-hero="split"] .sl-hero .sl-hstats,
  #spotlp[data-hero="split"] .sl-hero .sl-htrust{max-width:584px;}
}

/* 症状の実例スクショ */
#spotlp .sl-shots-lead{text-align:center;font-size:13px;font-weight:800;color:var(--muted2);letter-spacing:.05em;margin:40px 0 0;position:relative;padding-bottom:14px;}
#spotlp .sl-shots-lead::after{content:"";position:absolute;left:50%;bottom:0;transform:translateX(-50%);width:34px;height:2px;background:var(--accentline);}
#spotlp .sl-shots{display:grid;grid-template-columns:1fr;gap:12px;margin-top:16px;}
@media(min-width:680px){#spotlp .sl-shots{grid-template-columns:repeat(3,1fr);}}
#spotlp .sl-shot{margin:0;}
#spotlp .sl-shot figcaption{font-size:12.5px;color:var(--muted);margin-top:7px;text-align:center;}

/* 復旧の対応事例（結果カード） */
#spotlp .sl-ba{display:flex;flex-direction:column;gap:18px;}
#spotlp .sl-bacard{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:20px;}

/* @@SECTION-CSS@@ */
/* =========================================================
   VARIATION AXES — switched via data-* on #spotlp
   既定の組み合わせは #spotlp タグの data-* 属性。
   貼り付け時はお好みの値に書き換えるだけでOK。
========================================================= */

/* ---- TONE ---- */
#spotlp[data-tone="navy"]{--accent:#1e3a8a;--accentd:#172e6e;--accentx:#13224f;--accentt:#e9edf8;--accentline:#c3cfee;--herobg:#1b2f5c;}
#spotlp[data-tone="ink"]{--bg:#f3f2f0;--herobg:#17191e;}

/* ---- HERO ---- */
#spotlp[data-hero="center"] .sl-hero{text-align:center;}
#spotlp[data-hero="center"] .sl-alertstrip{display:inline-flex;}
#spotlp[data-hero="center"] .sl-hlead,
#spotlp[data-hero="center"] .sl-ctas{margin-left:auto;margin-right:auto;}
#spotlp[data-hero="siren"] .sl-hero::before{content:"";position:absolute;inset:0;z-index:1;
  background:repeating-linear-gradient(45deg,rgba(255,255,255,.045) 0 26px,transparent 26px 52px);}
#spotlp[data-hero="siren"] .sl-alertstrip{font-size:13px;padding:10px 17px;background:rgba(0,0,0,.3);}
#spotlp[data-hero="siren"] .sl-h1{font-size:31px;}
@media(min-width:760px){#spotlp[data-hero="siren"] .sl-h1{font-size:46px;}}

/* ---- CTA ---- */
#spotlp[data-cta="pill"] .sl-cbtn{border-radius:999px;}
#spotlp[data-cta="block"] .sl-cbtn{border-radius:8px;padding:21px 22px;font-size:19px;}
#spotlp[data-cta="pulse"] .sl-cbtn--tel{animation:slbtnpulse 1.7s infinite;}
@keyframes slbtnpulse{0%{box-shadow:0 0 0 0 rgba(220,38,38,.5);}70%{box-shadow:0 0 0 15px rgba(220,38,38,0);}100%{box-shadow:0 0 0 0 rgba(220,38,38,0);}}
@media(prefers-reduced-motion:reduce){#spotlp[data-cta="pulse"] .sl-cbtn--tel{animation:none;}}

/* ---- SYMPTOM ---- */
@media(min-width:760px){
  #spotlp[data-symptom="tiles"] .sl-sx{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
}
#spotlp[data-symptom="list"] .sl-sx{max-width:680px;margin:0 auto;}
#spotlp[data-symptom="tiles"] .sl-sxcard{padding:46px 16px 18px;text-align:center;}
#spotlp[data-symptom="tiles"] .sl-sxcard::before{left:50%;top:14px;transform:translateX(-50%);}
#spotlp[data-symptom="tiles"] .sl-sxcard .sxic{left:50%;top:12px;transform:translateX(-50%);}

/* ---- FLOW ---- */
@media(min-width:760px){#spotlp[data-flow="cards"] .sl-flow{max-width:760px;margin:0 auto;}}
#spotlp[data-flow="timeline"] .sl-flow{position:relative;padding-left:4px;}
#spotlp[data-flow="timeline"] .sl-flow::before{content:"";position:absolute;left:26px;top:14px;bottom:14px;width:2px;background:var(--accentline);}
#spotlp[data-flow="timeline"] .sl-step{background:transparent;border:none;border-radius:0;padding:4px 6px 22px 62px;}
#spotlp[data-flow="timeline"] .sl-step:hover{transform:none;box-shadow:none;}
#spotlp[data-flow="timeline"] .sl-step::before{top:2px;left:6px;box-shadow:0 0 0 5px var(--bg);}
@media(min-width:760px){
  #spotlp[data-flow="rail"] .sl-flow{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;}
  #spotlp[data-flow="rail"] .sl-step{padding:50px 14px 18px;}
  #spotlp[data-flow="rail"] .sl-step::before{top:14px;left:14px;}
}

/* ---- FEE ---- */
#spotlp[data-fee="plain"] .sl-fee{background:transparent;border:none;padding:8px 0;}
#spotlp[data-fee="band"] .sl-fee{background:var(--accentd);border:none;color:#fff;}
#spotlp[data-fee="band"] .sl-feebar span{color:#fff;border-color:rgba(255,255,255,.22);}
#spotlp[data-fee="band"] .sl-feebar .fbhead,#spotlp[data-fee="band"] .sl-feebar span b{color:#ffe2b0;}
#spotlp[data-fee="band"] .sl-feenote{color:rgba(255,255,255,.82);}
#spotlp[data-fee="band"] .sl-feenote b{color:#fff;}

/* @@VARIANT-CSS@@ */

/* =========================================================
   Contact Form 7（緊急復旧相談フォーム）— #spotlp スコープ
   CF7の素の出力をLPの .sl-field / .sl-formbtn 体裁に馴染ませる。
========================================================= */
/* CF7ラッパーが余計な余白を作らないように */
#spotlp .sl-form .wpcf7{margin:0;}
#spotlp .sl-form .wpcf7-form p{margin:0;}
#spotlp .sl-form .sl-field .wpcf7-form-control-wrap{display:block;}

/* チェックボックス／ラジオを2カラムのカード風に */
/* ラジオ/チェックは縦1列（右サイド幅では2カラムだと長い選択肢が折れてカード高さが崩れるため）。2026-07-13 */
#spotlp .sl-form .wpcf7-checkbox,
#spotlp .sl-form .wpcf7-radio{display:grid;grid-template-columns:1fr;gap:9px;margin-top:2px;}
#spotlp .sl-form .wpcf7-list-item{margin:0;}
#spotlp .sl-form .wpcf7-list-item label{display:flex;align-items:flex-start;gap:8px;cursor:pointer;word-break:keep-all;
  font-size:13.5px;font-weight:600;line-height:1.45;color:var(--ink);
  background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:11px 13px;transition:border-color .14s ease,background .14s ease;}
#spotlp .sl-form .wpcf7-list-item label:hover{border-color:var(--accent);}
#spotlp .sl-form .wpcf7-list-item input[type="checkbox"],
#spotlp .sl-form .wpcf7-list-item input[type="radio"]{width:auto;flex-shrink:0;margin:2px 0 0;accent-color:var(--accent);}
#spotlp .sl-form .wpcf7-list-item .wpcf7-list-item-label{flex:1;}
@media(max-width:520px){
  #spotlp .sl-form .wpcf7-checkbox,
  #spotlp .sl-form .wpcf7-radio{grid-template-columns:1fr;}
}

/* バリデーション・応答メッセージ */
#spotlp .sl-form .wpcf7-not-valid-tip{color:var(--accent);font-size:12px;font-weight:700;margin-top:6px;}
#spotlp .sl-form .wpcf7-not-valid{border-color:var(--accent)!important;}
#spotlp .sl-form .wpcf7-response-output{margin:16px 0 0!important;border-radius:8px;padding:13px 15px;font-size:13.5px;line-height:1.6;
  border:1px solid var(--line);background:var(--card);}
#spotlp .sl-form .wpcf7 form.invalid .wpcf7-response-output,
#spotlp .sl-form .wpcf7 form.unaccepted .wpcf7-response-output,
#spotlp .sl-form .wpcf7 form.payment-required .wpcf7-response-output{border-color:var(--accentline);background:var(--accentt);color:var(--accentx);}
/* 送信完了メッセージ：下に埋もれても送信できたと分かるよう、緑チェック＋中央・大きめで明確に見せる（JSで画面内へスクロールも行う） */
#spotlp .sl-form .wpcf7 form.sent .wpcf7-response-output{border-color:#bfe6cd;background:var(--okt);color:var(--ok);text-align:center;font-size:15px;font-weight:800;padding:20px 16px;}
#spotlp .sl-form .wpcf7 form.sent .wpcf7-response-output::before{content:"";display:block;width:46px;height:46px;margin:0 auto 12px;border-radius:50%;
  background:var(--ok) url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23fff'%20stroke-width='3'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M5%2012.5l4.5%204.5L19%207.5'/%3E%3C/svg%3E") center/24px no-repeat;}

/* 送信中スピナー */
#spotlp .sl-form .wpcf7-spinner{margin:14px auto 0;display:block;}
/* 送信中オーバーレイ：CF7送信〜サーバー応答のラグ中、フォームを覆って回転リングを表示（JSで .is-sending 付与） */
#spotlp .sl-form .wpcf7-form{position:relative;}
#spotlp .sl-form .wpcf7-form.is-sending::after{content:"";position:absolute;inset:0;z-index:5;background:rgba(255,255,255,.72);border-radius:8px;}
#spotlp .sl-form .wpcf7-form.is-sending::before{content:"";position:absolute;z-index:6;left:50%;top:50%;width:42px;height:42px;margin:-21px 0 0 -21px;
  border-radius:50%;border:3px solid var(--line);border-top-color:var(--accent);animation:sl-spin .7s linear infinite;}
@keyframes sl-spin{to{transform:rotate(360deg);}}

/* 送信完了パネル：送信成功時、フォームをこの表示に差し替える（固定スクロール枠でも埋もれず必ず見える。JSで生成） */
#spotlp .sl-sent{text-align:center;padding:34px 22px;background:var(--okt);border:1px solid #bfe6cd;border-radius:10px;}
#spotlp .sl-sent-ic{width:58px;height:58px;margin:0 auto 16px;border-radius:50%;
  background:var(--ok) url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23fff'%20stroke-width='3'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M5%2012.5l4.5%204.5L19%207.5'/%3E%3C/svg%3E") center/28px no-repeat;}
#spotlp .sl-sent-h{font-size:20px;font-weight:800;color:var(--ok);margin:0 0 10px;line-height:1.4;}
#spotlp .sl-sent-p{font-size:13.5px;color:#3c4452;margin:0;line-height:1.85;}
#spotlp .sl-sent-note{font-size:12px;color:var(--muted2);line-height:1.75;margin:16px 0 0;padding-top:15px;border-top:1px solid #cfe8d8;}
#spotlp .sl-sent-note b{color:var(--ink);font-weight:700;word-break:break-all;}
#spotlp .sl-sent-line{display:inline-flex;align-items:center;justify-content:center;margin:18px auto 0;text-decoration:none;
  background:var(--line-g);color:#fff;font-weight:800;font-size:14px;border-radius:8px;padding:12px 26px;}
#spotlp .sl-sent-line:hover{filter:brightness(1.03);}

/* =========================================================
   量産ベース追加スタイル（wp-rescue.cssには無い、スポットLP共通の部品）
========================================================= */

/* ===== 対応範囲（WordPress専用の明示＝広告の無駄クリック・無駄相談を弾く） ===== */
#spotlp .sl-fit{display:grid;grid-template-columns:1fr;gap:13px;max-width:760px;margin:0 auto;}
@media(min-width:640px){#spotlp .sl-fit{grid-template-columns:1fr 1fr;}}
#spotlp .sl-fitcol{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:26px 30px;}
#spotlp .sl-fitcol.ok{border-color:var(--accentline);}
#spotlp .sl-fitcol h3{font-size:15.5px;font-weight:800;margin:0 0 14px;display:flex;align-items:center;gap:8px;}
#spotlp .sl-fitcol.ok h3{color:var(--accent);}
#spotlp .sl-fitcol.ng h3{color:var(--muted2);}
#spotlp .sl-fitcol ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:13px;}
#spotlp .sl-fitcol li{position:relative;padding-left:31px;font-size:15.5px;line-height:1.65;}
@media(max-width:600px){#spotlp .sl-fitcol li{font-size:14px;padding-left:28px;}}
#spotlp .sl-fitcol.ok li::before{content:"";position:absolute;left:1px;top:3px;width:20px;height:20px;border-radius:50%;
  background:var(--accent) url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23fff'%20stroke-width='3.2'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M5%2012.5l4.5%204.5L19%207.5'/%3E%3C/svg%3E") center/11px 11px no-repeat;}
#spotlp .sl-fitcol.ng li{color:var(--muted);}
#spotlp .sl-fitcol.ng li::before{content:"";position:absolute;left:4px;top:9px;width:11px;height:2px;background:#c9c4bb;border-radius:2px;}
#spotlp .sl-fitnote{text-align:center;font-size:12.5px;color:var(--muted2);margin:16px auto 0;max-width:640px;line-height:1.8;}

/* ===== 相場比較（一般的な相場を見せて、当社価格→無料見積りへ流す） ===== */
#spotlp .sl-market{max-width:680px;margin:0 auto 30px;}
#spotlp .sl-market-lead{text-align:center;font-size:13px;font-weight:800;color:var(--muted2);letter-spacing:.04em;margin:0 0 14px;}
#spotlp .sl-mrow{display:flex;align-items:center;gap:12px;background:var(--card);border:1px solid var(--line);border-radius:9px;padding:14px 18px;margin-bottom:9px;}
#spotlp .sl-mrow .ml{flex:1;min-width:0;}
#spotlp .sl-mrow .ml b{display:block;font-size:14px;font-weight:800;line-height:1.4;}
#spotlp .sl-mrow .ml span{display:block;font-size:11.5px;color:var(--muted2);margin-top:2px;line-height:1.5;}
#spotlp .sl-mrow .mp{flex-shrink:0;font-size:16px;font-weight:800;color:var(--muted);letter-spacing:.01em;font-variant-numeric:tabular-nums;white-space:nowrap;}
#spotlp .sl-mrow .mp small{font-size:11px;font-weight:700;}
#spotlp .sl-mrow.us{border:2px solid var(--accent);background:var(--accentt);position:relative;}
#spotlp .sl-mrow.us .ml b{color:var(--accentx);}
#spotlp .sl-mrow.us .mp{font-size:22px;color:var(--accent);}
#spotlp .sl-mrow.us .mtag{flex-shrink:0;font-size:10.5px;font-weight:800;color:#fff;background:var(--accent);border-radius:5px;padding:3px 9px;align-self:center;}
@media(max-width:520px){
  #spotlp .sl-mrow{flex-wrap:wrap;gap:6px 12px;}
  #spotlp .sl-mrow .ml{flex:1 1 100%;}
  #spotlp .sl-mrow .mp{margin-left:auto;}
}
#spotlp .sl-mnote{font-size:11.5px;color:var(--muted2);text-align:center;margin:12px 0 0;line-height:1.7;}

/* ===== 料金の目安：価格は箱に入れず、下の目安表を率いる"見出しの数字"として置く。
   枠・角丸・アクセントバー等の装飾は付けず、表と左右幅(680)・左端だけ合わせて一続きに読ませる ===== */
#spotlp .sl-price-card{max-width:680px;margin:0 auto 14px;padding:0;background:none;border:none;border-radius:0;text-align:center;}
#spotlp .sl-pc-price{display:inline;font-size:56px;font-weight:900;color:var(--accent);margin:0;line-height:1;letter-spacing:-.01em;font-variant-numeric:tabular-nums;}
#spotlp .sl-pc-unit{display:inline;font-size:15px;color:var(--muted);margin:0 0 0 8px;font-weight:700;}
#spotlp .sl-pc-note{font-size:12.5px;color:var(--muted2);margin:14px 0 0;line-height:1.7;}
@media(min-width:760px){#spotlp .sl-pc-price{font-size:76px;}}
/* 料金の例（合計の目安）ボックス */
#spotlp .sl-market-ex{max-width:680px;margin:18px auto 0;background:var(--accentt);border:1px solid var(--accent);border-radius:11px;padding:16px 20px;}
#spotlp .sl-mex-h{text-align:center;font-size:13px;font-weight:800;color:var(--accentx);letter-spacing:.03em;margin:0 0 10px;}
#spotlp .sl-mex-row{display:flex;align-items:baseline;justify-content:space-between;gap:14px;padding:10px 0;border-bottom:1px dashed rgba(30,58,138,.22);}
#spotlp .sl-mex-row:last-of-type{border-bottom:0;}
#spotlp .sl-mex-row .l{font-size:13.5px;font-weight:700;color:var(--ink);line-height:1.5;}
#spotlp .sl-mex-row .p{flex-shrink:0;font-size:21px;font-weight:900;color:var(--accent);font-variant-numeric:tabular-nums;white-space:nowrap;}
#spotlp .sl-mex-note{font-size:12px;color:var(--muted);margin:12px 0 0;line-height:1.7;text-align:center;}

/* ===== 作業事例プレビュー（市場表下・グラデ省略） ===== */
#spotlp .sl-case-preview{max-width:680px;margin:30px auto 0;}
#spotlp .sl-cp-head{text-align:center;margin-bottom:16px;}
#spotlp .sl-cp-head h3{font-size:14px;font-weight:800;color:var(--muted2);margin:0;letter-spacing:.05em;}
#spotlp .sl-cp-scroll{position:relative;margin-bottom:12px;}
#spotlp .sl-cp-list{max-height:240px;overflow:hidden;transition:max-height .4s ease;}
#spotlp .sl-cp-list.expanded{max-height:none;}
#spotlp .sl-cp-item{background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:12px 14px;margin-bottom:9px;font-size:12.5px;}
#spotlp .sl-cp-item:last-child{margin-bottom:0;}
#spotlp .sl-cp-sym{font-weight:800;color:var(--accent);margin:0 0 6px;line-height:1.4;}
#spotlp .sl-cp-meta{display:flex;gap:12px;align-items:flex-start;font-size:12px;color:var(--muted2);}
#spotlp .sl-cp-work{flex:1;}
#spotlp .sl-cp-time{flex-shrink:0;font-weight:800;color:var(--accent);}
#spotlp .sl-cp-fade{position:absolute;bottom:0;left:0;right:0;height:60px;background:linear-gradient(180deg,rgba(255,255,255,0),var(--card));pointer-events:none;transition:opacity .4s ease;}
#spotlp .sl-cp-list.expanded ~ .sl-cp-fade{opacity:0;}
#spotlp .sl-cp-toggle{display:block;width:100%;border:1px solid var(--line);background:var(--card);cursor:pointer;padding:10px;border-radius:8px;font-size:13px;font-weight:800;color:var(--accent);transition:all .2s;}
#spotlp .sl-cp-toggle:hover{background:var(--bg);box-shadow:0 2px 8px rgba(0,0,0,.05);}
#spotlp .sl-cp-toggle span{display:inline-block;margin-left:6px;transition:transform .3s;}
#spotlp .sl-cp-toggle.expanded span{transform:rotate(180deg);}

/* ===== 修理事例セクション（折りたたみ+タブUI） ===== */
#spotlp .sl-repair-cases{margin:0;}
#spotlp .sl-repair-cases summary{list-style:none;cursor:pointer;padding:12px 16px;user-select:none;
  background:var(--card);border:1px solid var(--line);border-radius:8px;
  display:flex;align-items:center;justify-content:space-between;gap:20px;transition:all .2s;margin-bottom:0;}
#spotlp .sl-repair-cases summary:hover{border-color:var(--muted2);}
#spotlp .sl-repair-cases summary .sl-h2{margin-bottom:0;display:block;text-align:left;font-size:18px;}
#spotlp .sl-repair-cases summary .sl-rc-hint{font-size:13px;font-weight:800;color:var(--muted2);white-space:nowrap;flex-shrink:0;display:flex;align-items:center;gap:8px;}
#spotlp .sl-repair-cases summary .sl-rc-hint::after{content:"▼";display:inline-block;transition:transform .3s;}
#spotlp .sl-repair-cases[open] summary .sl-rc-hint::after{transform:rotate(180deg);}
@media(min-width:760px){#spotlp .sl-repair-cases summary .sl-h2{font-size:20px;}}
#spotlp .sl-rc-body{margin-top:24px;}
#spotlp .sl-rc-lead{text-align:center;font-size:13px;color:var(--muted2);margin:0 0 20px;}

/* タブUI */
#spotlp .sl-tabs{margin-top:0;}
#spotlp .sl-tab-labels{display:flex;gap:8px;flex-wrap:wrap;border-bottom:2px solid var(--line);margin-bottom:20px;padding:0;}
#spotlp .sl-tab-label{background:transparent;border:none;cursor:pointer;padding:12px 16px;font-weight:800;font-size:14px;color:var(--muted);border-bottom:3px solid transparent;transition:all .2s;margin:0;}
#spotlp .sl-tab-label:hover{color:var(--accent);}
#spotlp .sl-tab-label.active{color:var(--accent);border-bottom-color:var(--accent);}

/* 事例カード */
#spotlp .sl-cases{display:grid;grid-template-columns:1fr;gap:12px;margin:0;}
@media(min-width:760px){#spotlp .sl-cases{grid-template-columns:repeat(2,1fr);}}

#spotlp .sl-case{background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:16px;font-size:13px;line-height:1.6;}
#spotlp .sl-case-sym{margin:0 0 10px;font-size:14px;}
#spotlp .sl-case-sym b{color:var(--accent);}
#spotlp .sl-case-work,#spotlp .sl-case-time{margin:0 0 6px;display:flex;gap:12px;align-items:flex-start;}
#spotlp .sl-case-work span,#spotlp .sl-case-time span{flex-shrink:0;font-weight:800;color:var(--muted2);font-size:12px;min-width:60px;}
#spotlp .sl-case-time{margin-bottom:0;}
#spotlp .sl-case-time span{color:var(--accent);}

/* タブコンテンツの切替 */
#spotlp .sl-tab-content{display:none;}
#spotlp .sl-tab-content.active{display:block;animation:fadeIn .3s ease;}
@keyframes fadeIn{from{opacity:0;transform:translateY(-4px);}to{opacity:1;transform:none;}}

/* ===== アイコンなしの困りごとカード（量産時はSVG必須にしない） ===== */
#spotlp .sl-sxcard.no-ic{padding-left:18px;}

/* ===== プランが1つだけのLP：半端な2カラムにせず中央1枚に ===== */
#spotlp .sl-plans:has(> :only-child){grid-template-columns:1fr;max-width:560px;margin:0 auto;}

/* ===== 料金表の拡張部品（2026-07-12 伊藤さん料金表構成案）===== */

/* プランが3枚のLP：広い画面では3カラム */
@media(min-width:960px){#spotlp .sl-plans:has(> :nth-child(3)){grid-template-columns:repeat(3,1fr);}}

/* 啓蒙セクション（価格勝負→知識勝負にずらす前置き） */
#spotlp .sl-preface{max-width:680px;margin:0 auto 34px;text-align:center;background:var(--accentt);border-radius:10px;padding:22px 24px;}
#spotlp .sl-preface h3{font-size:17px;font-weight:800;color:var(--accentx);margin:0 0 8px;line-height:1.6;}
#spotlp .sl-preface p{font-size:13px;color:#3c4452;margin:0;line-height:1.9;text-align:left;}
@media(min-width:760px){#spotlp .sl-preface h3{font-size:19px;}}

/* プラン内「こんな方に」 */
#spotlp .sl-plan .pfor{font-size:12.5px;line-height:1.7;color:#3c4452;background:var(--bg);border-radius:7px;padding:10px 13px;margin:0 0 14px;}
#spotlp .sl-plan .pfor b{display:block;font-size:10.5px;font-weight:800;color:var(--accent);letter-spacing:.05em;margin-bottom:3px;}

/* プラン下の注意書き（プランB→Cの誘導など） */
#spotlp .sl-plansnote{font-size:12px;color:var(--muted);text-align:center;margin:16px auto 0;max-width:640px;line-height:1.8;}

/* 基本プランの適用条件（安請け合い防止・明朗会計の根拠） */
#spotlp .sl-conds{max-width:760px;margin:30px auto 0;background:var(--card);border:1px solid var(--line);border-radius:10px;padding:24px 26px;text-align:left;}
#spotlp .sl-conds h3{font-size:16px;font-weight:800;margin:0 0 8px;}
#spotlp .sl-conds .lead{font-size:12.5px;color:var(--muted);margin:0 0 14px;line-height:1.8;}
#spotlp .sl-conds ul{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr;gap:8px;}
@media(min-width:640px){#spotlp .sl-conds ul{grid-template-columns:1fr 1fr;}}
#spotlp .sl-conds li{position:relative;padding-left:24px;font-size:13px;line-height:1.6;}
#spotlp .sl-conds li::before{content:"";position:absolute;left:1px;top:3px;width:15px;height:15px;border-radius:50%;
  background:var(--accent) url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23fff'%20stroke-width='3.2'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M5%2012.5l4.5%204.5L19%207.5'/%3E%3C/svg%3E") center/9px 9px no-repeat;}
#spotlp .sl-conds .note{font-size:12px;color:var(--muted2);margin:14px 0 0;line-height:1.8;border-top:1px dashed var(--line);padding-top:12px;}

/* 加算オプション表 */
#spotlp .sl-opts{max-width:760px;margin:30px auto 0;text-align:left;}
#spotlp .sl-opts h3{font-size:16px;font-weight:800;margin:0 0 8px;text-align:center;}
#spotlp .sl-opts .lead{font-size:12.5px;color:var(--muted);margin:0 0 14px;text-align:center;line-height:1.8;}
/* 適用条件表・加算オプション表も、横スクロール可能な端に影（比較表と統一）。2026-07-13 */
#spotlp .sl-optwrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--line);border-radius:9px;
  background:
    linear-gradient(to right, var(--card) 34%, rgba(255,255,255,0)) left center,
    linear-gradient(to left, var(--card) 34%, rgba(255,255,255,0)) right center,
    radial-gradient(farthest-side at 0 50%, rgba(0,0,0,.13), rgba(0,0,0,0)) left center,
    radial-gradient(farthest-side at 100% 50%, rgba(0,0,0,.13), rgba(0,0,0,0)) right center;
  background-repeat:no-repeat;
  background-size:34px 100%, 34px 100%, 15px 100%, 15px 100%;
  background-attachment:local, local, scroll, scroll;
  background-color:var(--card);}
#spotlp .sl-opttable{width:100%;min-width:480px;border-collapse:collapse;font-size:13px;line-height:1.6;}
#spotlp .sl-opttable thead th{background:var(--bg);font-size:11.5px;font-weight:800;color:var(--muted);letter-spacing:.04em;padding:10px 14px;text-align:left;border-bottom:1px solid var(--line);}
#spotlp .sl-opttable tbody th{font-weight:800;padding:11px 14px;text-align:left;white-space:nowrap;border-bottom:1px solid var(--line);vertical-align:top;}
#spotlp .sl-opttable tbody td{padding:11px 14px;color:#3c4452;border-bottom:1px solid var(--line);vertical-align:top;}
#spotlp .sl-opttable tbody td.pr{font-weight:800;color:var(--accent);white-space:nowrap;font-variant-numeric:tabular-nums;}
#spotlp .sl-opttable tbody tr:last-child th,#spotlp .sl-opttable tbody tr:last-child td{border-bottom:none;}

/* 「要見積もり」となるケース例 */
#spotlp .sl-qcases{max-width:760px;margin:30px auto 0;text-align:left;}
#spotlp .sl-qcases h3{font-size:16px;font-weight:800;margin:0 0 8px;text-align:center;}
#spotlp .sl-qcases .lead{font-size:12.5px;color:var(--muted);margin:0 0 14px;text-align:center;line-height:1.8;}
#spotlp .sl-qcases ol{list-style:none;counter-reset:qc;padding:0;margin:0;display:grid;grid-template-columns:1fr;gap:10px;}
@media(min-width:640px){#spotlp .sl-qcases ol{grid-template-columns:1fr 1fr;}}
#spotlp .sl-qcases li{counter-increment:qc;position:relative;background:var(--card);border:1px solid var(--line);border-radius:9px;padding:14px 16px 14px 46px;}
#spotlp .sl-qcases li::before{content:counter(qc);position:absolute;left:14px;top:15px;width:22px;height:22px;border-radius:6px;background:var(--muted2);color:#fff;font-size:12px;font-weight:800;display:flex;align-items:center;justify-content:center;}
#spotlp .sl-qcases li b{display:block;font-size:13.5px;font-weight:800;line-height:1.5;margin-bottom:3px;}
#spotlp .sl-qcases li span{display:block;font-size:12px;color:var(--muted);line-height:1.7;}

/* 対応範囲が「おまかせください」1枚だけのLP：中央1カラム・広め＋大きめフォント */
#spotlp .sl-fit:has(> :only-child){grid-template-columns:1fr;max-width:880px;}

/* PCでメールCTAを押したとき、右サイドフォームを一瞬光らせて誘導する */
#spotlp .sl-aside.flash{animation:slaflash 1.4s ease;}
@keyframes slaflash{
  0%,100%{box-shadow:-8px 0 24px rgba(0,0,0,.06);}
  25%,65%{box-shadow:-8px 0 24px rgba(0,0,0,.06),inset 0 0 0 3px var(--accent);}
}
@media(prefers-reduced-motion:reduce){#spotlp .sl-aside.flash{animation:none;}}

/* ===== ミニマム担当者ブロック（fit節内・実績数字が主役） ===== */
#spotlp .sl-pmini{max-width:760px;margin:26px auto 0;background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:20px 22px;}
#spotlp .sl-pmini-head{display:flex;align-items:center;gap:14px;}
#spotlp .sl-pmini-head .av{width:56px;height:56px;border-radius:50%;overflow:hidden;flex-shrink:0;border:1px solid var(--line);background:#fff;}
#spotlp .sl-pmini-head .av img{width:100%;height:100%;object-fit:cover;display:block;}
#spotlp .sl-pmini-head .t{font-size:16px;font-weight:800;margin:0;line-height:1.4;}
#spotlp .sl-pmini-head .n{font-size:13px;font-weight:800;margin:3px 0 0;color:var(--ink);}
#spotlp .sl-pmini-head .n span{display:block;font-size:11.5px;font-weight:600;color:var(--muted2);margin-top:1px;}
#spotlp .sl-pmini .lead{font-size:12.5px;color:var(--muted);margin:12px 0 0;line-height:1.75;}
#spotlp .sl-pmini-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin:16px 0 0;background:var(--card);border:1px solid var(--line);border-radius:9px;overflow:hidden;}
#spotlp .sl-pmini-stats div{position:relative;text-align:center;padding:14px 8px 12px;}
#spotlp .sl-pmini-stats div + div::before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:1px;height:40px;background:var(--line);}
#spotlp .sl-pmini-stats b{display:block;font-size:30px;font-weight:800;color:var(--accent);line-height:1.1;letter-spacing:.01em;font-variant-numeric:tabular-nums;}
#spotlp .sl-pmini-stats b small{font-size:12.5px;font-weight:700;margin-left:1px;}
#spotlp .sl-pmini-stats span{display:block;font-size:11px;color:var(--muted2);margin-top:4px;font-weight:700;}
@media(min-width:760px){#spotlp .sl-pmini-stats b{font-size:34px;}}
#spotlp .sl-pmini-chips{display:flex;flex-wrap:wrap;gap:7px;margin:12px 0 0;}
#spotlp .sl-pmini-chips span{font-size:11px;font-weight:700;color:var(--accentx);background:var(--accentt);border-radius:999px;padding:4px 11px;}
@media(min-width:640px){
  #spotlp .sl-pmini-head .t{font-size:17px;}
}

/* ミニ担当者のバナー画像版（person-banner.* ドロップインで自動切替）。幅はおまかせカードと揃える */
#spotlp .sl-pmini-img{max-width:1000px;margin:26px auto 28px;}
#spotlp .sl-pmini-img img{display:block;width:100%;height:auto;border-radius:10px;border:1px solid var(--line);}

/* プロフィール直下：代表インタビュー（person_mini['says']）。“本人に聞いた”体裁でAIっぽい引用カード感を回避 */
#spotlp .sl-intv{max-width:1000px;margin:40px auto 0;background:var(--bg);border:1px solid var(--line);
  border-radius:14px;padding:20px 22px 18px;box-shadow:0 10px 30px rgba(12,20,42,.06);}
/* 見出しラベル：INTERVIEW ＋ 補足 */
#spotlp .sl-intv-label{display:block;font-size:11.5px;font-weight:800;letter-spacing:.16em;color:var(--accent);line-height:1.2;}
#spotlp .sl-intv-label i{display:block;font-style:normal;font-size:12.5px;font-weight:700;letter-spacing:.02em;color:var(--muted);margin-top:5px;}
/* Q：インタビュアーの問い（区切り線つき） */
#spotlp .sl-intv-q{display:flex;gap:9px;margin:14px 0 16px;padding-bottom:16px;border-bottom:1px dashed var(--line);
  font-size:15px;font-weight:800;color:var(--ink);line-height:1.6;}
#spotlp .sl-intv-q b{flex-shrink:0;color:var(--accent);font-size:16px;line-height:1.5;}
/* A：代表の答え（顔写真＋本文で“本人が答えている”体裁） */
#spotlp .sl-intv-a{display:flex;gap:14px;align-items:flex-start;}
#spotlp .sl-intv-face{width:56px;height:56px;border-radius:50%;object-fit:cover;flex-shrink:0;
  border:2px solid #fff;box-shadow:0 0 0 1px var(--line),0 4px 10px rgba(12,20,42,.12);}
#spotlp .sl-intv-abody{flex:1;min-width:0;}
#spotlp .sl-intv-ah{font-size:15.5px;font-weight:800;color:var(--accentx);margin:2px 0 9px;line-height:1.65;}
#spotlp .sl-intv-ap{font-size:13px;color:#3c4452;margin:0;line-height:1.95;}
#spotlp .sl-intv-sign{margin:14px 0 0;font-size:12.5px;color:var(--muted);}
#spotlp .sl-intv-sign b{font-weight:800;color:var(--ink);font-size:13.5px;}
#spotlp .sl-intv-sign span{display:block;font-size:11px;color:var(--muted2);margin-top:2px;font-weight:600;line-height:1.5;}
@media(min-width:760px){
  #spotlp .sl-intv{padding:26px 30px 24px;}
  #spotlp .sl-intv-q{font-size:16.5px;}
  #spotlp .sl-intv-face{width:64px;height:64px;}
  #spotlp .sl-intv-ah{font-size:18px;}
}

/* ===== お悩み吹き出し（/wp-keep/ のvoicesと同型・イラストアバター＋吹き出し） ===== */
#spotlp .sl-voices{display:grid;grid-template-columns:1fr 1fr;gap:18px 22px;margin-top:8px;}
@media(max-width:720px){#spotlp .sl-voices{grid-template-columns:1fr;}}
#spotlp .sl-voice{display:flex;gap:14px;align-items:flex-start;}
#spotlp .sl-voice .vavatar{width:128px;height:128px;flex-shrink:0;border-radius:50%;object-fit:cover;background:var(--accentt);}
/* スマホはアバターを小さめにして、吹き出しテキストの横幅を確保する（2026-07-13） */
@media(max-width:720px){
  #spotlp .sl-voice{gap:11px;}
  #spotlp .sl-voice .vavatar{width:70px;height:70px;}
  #spotlp .sl-voice .bubble{padding:14px 16px;}
  #spotlp .sl-voice .bubble h3{font-size:15px;}
}
#spotlp .sl-voice .bubble{position:relative;flex:1;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:18px 22px;}
#spotlp .sl-voice .bubble::before{content:"";position:absolute;left:-7px;top:18px;width:12px;height:12px;background:var(--card);
  border-left:1px solid var(--line);border-bottom:1px solid var(--line);transform:rotate(45deg);}
#spotlp .sl-voice .bubble h3{font-size:15.5px;font-weight:800;line-height:1.75;color:var(--ink);margin:0;}
@media(min-width:760px){#spotlp .sl-voice .bubble h3{font-size:16.5px;}}
#spotlp .sl-voice .bubble p{font-size:12.5px;color:var(--muted);margin:8px 0 0;line-height:1.85;}

/* 適用条件テーブル下の注記（.sl-conds は旧カード版・未使用残置） */
#spotlp .sl-opts .note{font-size:12px;color:var(--muted2);margin:12px 0 0;text-align:center;line-height:1.8;}

/* ===== ヒーローの明トーン（data-herotone="light"）＝白グラデ＋ネイビー文字。/wp-keep/ と同じ安心感の見せ方 ===== */
#spotlp[data-herotone="light"] .sl-hero{background:#eef1f6;color:var(--ink);}
#spotlp[data-herotone="light"] .sl-heroveil{background:linear-gradient(95deg,rgba(255,255,255,.97) 0%,rgba(255,255,255,.90) 32%,rgba(255,255,255,.55) 58%,rgba(255,255,255,.08) 82%,rgba(255,255,255,0) 100%);}
/* スマホFV（2026-07-14）：横グラデの明トーンを縦にするとほぼ白一色になり、写真が飛んで文字だけ浮く。
   → 上はクリーンな面にテキスト、写真はFV下部に“帯”として意図的に見せる（PCの「文字領域＋写真アクセント」を縦で再現）。 */
@media(max-width:760px){
  /* SPもPCと同様、写真を背面フルブリードで見せる（下部帯はやめる）。SP専用クロップ（hero-bg-sp）があれば人物が収まるそれを使う */
  #spotlp[data-herotone="light"] .sl-heromedia{background-image:var(--hero-img-sp,var(--hero-img));background-position:center;}
  #spotlp[data-herotone="light"] .sl-heroveil{background:linear-gradient(180deg,rgba(238,241,246,.93) 0%,rgba(238,241,246,.8) 42%,rgba(238,241,246,.5) 74%,rgba(238,241,246,.4) 100%);}
}
/* 背景写真を左右反転（page設定 hero.flip=true のときのみ）。人物がテキスト側を向く構図にする */
#spotlp .sl-heromedia--flip{transform:scaleX(-1);}
#spotlp[data-herotone="light"] .sl-h1{color:var(--ink);}
/* 差別化ポイントの強調を強く：色を濃いアクセントに・太さ900・マーカーを厚めの塗りに（2026-07-15） */
#spotlp[data-herotone="light"] .sl-h1 .hl{color:var(--accentx);font-weight:900;
  background:linear-gradient(transparent 42%,color-mix(in srgb,var(--accent) 20%,#fff) 42%);
  padding:0 3px;border-radius:0;box-decoration-break:clone;-webkit-box-decoration-break:clone;}
#spotlp[data-herotone="light"] .sl-htags span{color:var(--accentx);background:var(--accentt);border:1px solid var(--accentline);}
#spotlp[data-herotone="light"] .sl-hnote{color:var(--muted);}
#spotlp[data-herotone="light"] .sl-hero .sl-cbtn--tel{box-shadow:0 8px 22px rgba(30,58,138,.24);}
#spotlp[data-herotone="light"] .sl-hero .sl-cbtn--tel:hover{box-shadow:0 8px 22px rgba(30,58,138,.34);}

/* ===== プラン比較テーブル（含まれる作業の✓/−） ===== */
#spotlp .sl-cmptable{min-width:640px;}
#spotlp .sl-cmptable thead th.c{text-align:center;white-space:nowrap;}
#spotlp .sl-cmptable tbody th{white-space:normal;font-weight:700;}
#spotlp .sl-cmptable td.y,#spotlp .sl-cmptable td.n{text-align:center;font-weight:800;white-space:nowrap;}
#spotlp .sl-cmptable td.y{color:var(--accent);font-size:15px;}
#spotlp .sl-cmptable td.n{color:#c9c4bb;}

/* 比較表の作業名に添える小さな補足（専門作業をまとめた説明） */
#spotlp .sl-cmptable tbody th .rsub{display:block;font-size:11.5px;font-weight:500;color:var(--muted2);margin-top:4px;line-height:1.6;}

/* ===== 料金の詳細（適用条件・加算オプション）を折りたたむアコーディオン ===== */
#spotlp .sl-detns{max-width:760px;margin:24px auto 0;border:1px solid var(--line);border-radius:10px;background:var(--card);overflow:hidden;}
/* 料金セクションの「詳しい条件・オプション」〜CTAボタンの間隔を確保（2026-07-14 伊藤さん指示） */
#spotlp #pricing .sl-ctas{margin-top:48px;}
@media(min-width:760px){#spotlp #pricing .sl-ctas{margin-top:60px;}}
#spotlp .sl-detns summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px;
  padding:16px 20px;font-size:14px;font-weight:800;color:var(--accent);text-align:center;}
#spotlp .sl-detns summary::-webkit-details-marker{display:none;}
#spotlp .sl-detns summary::after{content:"";width:9px;height:9px;border:solid var(--accent);border-width:0 2px 2px 0;transform:rotate(45deg);transition:transform .2s;flex-shrink:0;margin-top:-3px;}
#spotlp .sl-detns[open] summary::after{transform:rotate(-135deg);margin-top:3px;}
#spotlp .sl-detns[open] summary{border-bottom:1px solid var(--line);}
#spotlp .sl-detns-body{padding:6px 20px 24px;}
/* 折りたたみ内は各表の上マージンを詰める（.sl-opts の margin-top を打ち消す） */
#spotlp .sl-detns-body .sl-opts{margin-top:22px;}
#spotlp .sl-detns-body .sl-market{margin:0 auto;}

/* 比較表の右上に小さく「スクロールできます →」（スマホのみ・表が横にはみ出す幅で表示）。2026-07-13 */
#spotlp .sl-scrollnote{display:none;}
@media(max-width:680px){
  #spotlp .sl-scrollnote{display:flex;align-items:center;justify-content:flex-end;gap:5px;
    font-size:11px;font-weight:700;color:var(--muted2);margin:0 2px 6px 0;}
  #spotlp .sl-scrollnote span{display:inline-block;animation:slscrollnote 1.3s ease-in-out infinite;}
}
@keyframes slscrollnote{0%,100%{transform:translateX(0);}50%{transform:translateX(3px);}}
@media(prefers-reduced-motion:reduce){#spotlp .sl-scrollnote span{animation:none;}}

/* 比較表：横スクロール可能な端にだけ影を出す（スクロールし終わると自然に消える）。2026-07-13 */
#spotlp .sl-cmptable-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--line);border-radius:9px;
  background:
    linear-gradient(to right, var(--card) 34%, rgba(255,255,255,0)) left center,
    linear-gradient(to left, var(--card) 34%, rgba(255,255,255,0)) right center,
    radial-gradient(farthest-side at 0 50%, rgba(0,0,0,.13), rgba(0,0,0,0)) left center,
    radial-gradient(farthest-side at 100% 50%, rgba(0,0,0,.13), rgba(0,0,0,0)) right center;
  background-repeat:no-repeat;
  background-size:34px 100%, 34px 100%, 15px 100%, 15px 100%;
  background-attachment:local, local, scroll, scroll;
  background-color:var(--card);}
#spotlp .sl-cmptable-wrap .sl-cmptable{min-width:640px;}

/* フッターの法務リンク（プライバシー/特商法/利用規約）＝Google広告の審査要件。2026-07-14 */
#spotlp .sl-foot-links{margin:14px 0 0;display:flex;flex-wrap:wrap;justify-content:center;gap:8px 18px;}
#spotlp .sl-foot-links a{color:var(--muted2);text-decoration:underline;font-size:12px;}
#spotlp .sl-foot-links a:hover{color:var(--accent);}

/* インタビュー直後にCTAが来る場合の余白（cta_note非表示LP用。sxnoteがある場合は非適用・2026-07-15） */
#spotlp .sl-intv + .sl-ctas{margin-top:38px;}

/* 直近のご相談ログ（inquiries設定があるLPのみ・2026-07-15） */
#spotlp .sl-inqlog{max-width:900px;margin:34px auto 0;}
#spotlp .sl-inqlog-head{font-size:13px;font-weight:800;letter-spacing:.08em;color:var(--muted2);text-align:center;margin:0 0 12px;}
#spotlp .sl-inqlog-scroll{max-height:242px;overflow-y:auto;background:var(--card);border:1px solid var(--line);border-radius:9px;-webkit-overflow-scrolling:touch;}
#spotlp .sl-inqlog-scroll::-webkit-scrollbar{width:8px;}
#spotlp .sl-inqlog-scroll::-webkit-scrollbar-track{background:transparent;}
#spotlp .sl-inqlog-scroll::-webkit-scrollbar-thumb{background:var(--line);border-radius:4px;}
#spotlp .sl-inqlog ul{list-style:none;margin:0;padding:4px 18px;}
#spotlp .sl-inqlog li{display:flex;align-items:baseline;gap:11px;padding:12px 2px;border-bottom:1px dashed var(--line);}
#spotlp .sl-inqlog li:last-child{border-bottom:none;}
#spotlp .sl-inqlog time{flex-shrink:0;font-weight:800;color:var(--ink);font-size:12.5px;min-width:42px;font-variant-numeric:tabular-nums;}
#spotlp .sl-inqlog .tag{flex-shrink:0;font-size:10.5px;font-weight:800;color:var(--accent);background:var(--accentt);border-radius:999px;padding:3px 10px;line-height:1.3;}
#spotlp .sl-inqlog li p{margin:0;font-size:13px;line-height:1.7;color:#3c4452;min-width:0;}
#spotlp .sl-inqlog li p i{font-style:normal;color:var(--muted2);font-size:11.5px;margin-left:8px;white-space:nowrap;}
#spotlp .sl-inqlog-note{margin:10px 0 0;font-size:11px;color:var(--muted2);text-align:center;}
@media(max-width:759px){
  #spotlp .sl-inqlog li{flex-wrap:wrap;gap:8px;}
  #spotlp .sl-inqlog li p{flex:1 1 100%;}
  #spotlp .sl-inqlog li p i{display:block;margin:3px 0 0;white-space:normal;}
}

/* ご相談実績: 月別サマリー形式（inquiries.months・2026-07-15） */
#spotlp .sl-inqlog--months .sl-inqbox{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:26px 30px 24px;box-shadow:0 6px 20px rgba(12,20,42,.06);}
#spotlp .sl-inqlog--months .sl-inqlog-h3{display:flex;align-items:center;gap:10px;font-size:15.5px;font-weight:800;color:var(--ink);margin:0 0 18px;letter-spacing:.04em;}
#spotlp .sl-inqlog--months .sl-inqlog-h3::before{content:"\2713";flex-shrink:0;width:22px;height:22px;border:2px solid var(--accent);border-radius:50%;color:var(--accent);font-size:12px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;}
/* 相談実績ティッカー：JS発火時のみ窓の高さを固定してクリップ（未発火/低モーション/JS無効時は全件静的表示） */
#spotlp .sl-inqlog--months .inqtick{overflow:hidden;}
#spotlp .sl-inqlog--months .inqtick.is-ticking dl{will-change:transform;}
#spotlp .sl-inqlog--months dl{margin:0;display:grid;gap:11px;}
#spotlp .sl-inqlog--months dl>div{display:flex;align-items:baseline;gap:22px;}
#spotlp .sl-inqlog--months dt{flex-shrink:0;font-size:13.5px;font-weight:800;color:var(--accent);min-width:140px;}
#spotlp .sl-inqlog--months dd{margin:0;font-size:13.5px;line-height:1.7;color:#3c4452;}
@media(max-width:759px){
  #spotlp .sl-inqlog--months .sl-inqbox{padding:22px 20px 20px;}
  #spotlp .sl-inqlog--months dl>div{flex-direction:column;gap:2px;}
  #spotlp .sl-inqlog--months dt{min-width:0;}
}

/* ご相談実績直後にCTAが来る場合の余白（sl-intv+sl-ctasと同趣旨・2026-07-15） */
#spotlp .sl-inqlog + .sl-ctas{margin-top:38px;}

/* ===== プロフィール直下「4つの強み」（横型カード・画像左。2026-07-26 縦幅圧縮） ===== */
#spotlp .cb-strengths-h{max-width:1000px;margin:40px auto 0;text-align:center;font-size:26px;font-weight:800;color:var(--ink);line-height:1.45;}
#spotlp .cb-strengths{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin:16px auto 40px;max-width:1000px;}
#spotlp .cb-strength{display:flex;flex-direction:row;align-items:stretch;background:var(--card);border:1px solid var(--line);border-radius:12px;overflow:hidden;box-shadow:0 5px 16px rgba(12,20,42,.06);}
#spotlp .cb-strength-img{position:relative;flex:0 0 28%;max-width:140px;background:#eceae6;}
#spotlp .cb-strength-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;}
#spotlp .cb-strength-ph{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;text-align:center;color:#9aa0ad;font-weight:800;font-size:12.5px;background:repeating-linear-gradient(45deg,#e7e4df 0 14px,#eceae6 14px 28px);}
#spotlp .cb-strength-ph small{font-size:10px;font-weight:600;opacity:.85;}
#spotlp .cb-strength-body{flex:1;min-width:0;padding:13px 15px;display:flex;flex-direction:column;justify-content:center;}
#spotlp .cb-strength-badge{display:flex;align-items:center;gap:8px;font-size:15.5px;font-weight:800;color:var(--ink);margin:0 0 6px;line-height:1.3;}
#spotlp .cb-strength-badge i{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:23px;height:23px;border-radius:7px;background:#1e3a8a;color:#fff;font-size:11px;font-style:normal;font-weight:800;letter-spacing:.02em;}
#spotlp .cb-strength-p{font-size:12.5px;line-height:1.75;color:var(--muted);margin:0;}
#spotlp .cb-strength-note{font-size:11px;color:var(--muted2);margin:6px 0 0;line-height:1.55;}
@media(max-width:640px){#spotlp .cb-strengths-h{margin-top:28px;font-size:20px;}#spotlp .cb-strengths{grid-template-columns:1fr;gap:11px;margin:14px auto 30px;}#spotlp .cb-strength-img{flex-basis:36%;max-width:130px;}#spotlp .cb-strength-body{padding:11px 13px;}#spotlp .cb-strength-p{font-size:12px;line-height:1.7;}}

/* ご相談実績セクション（FV直後）：小カードに合わせ上下余白を圧縮（2026-07-26） */
#spotlp .sl-inqsec{padding:32px 0;}
#spotlp .sl-inqsec .sl-inqlog{margin-top:0;}
@media(min-width:760px){#spotlp .sl-inqsec{padding:46px 0;}}
