/* v6：参考 rdlp.jp 型。紺×オレンジ×黄、太いゴシック、マーカー強調、バッジ、斜めの区切り、スクロールで動く */
:root{
  --navy:#0b2a66;
  --navy-2:#0f3d99;
  --blue:#1d64d8;
  --orange:#ff9a1a;
  --orange-2:#ff5f00;
  --yellow:#ffe14a;
  --green:#14a06b;
  --green-2:#0b7a50;
  --ink:#1d2330;
  --ink-2:#5b6272;
  --line:#dde2ea;
  --bg:#f2f4f7;
  --white:#fff;
  --sand:var(--yellow);
  --clay:var(--orange-2);
  --f-body:"Noto Sans JP","Hiragino Sans","Yu Gothic",sans-serif;
  --f-head:"Noto Sans JP","Hiragino Sans","Yu Gothic",sans-serif;
  --f-accent:"Zen Old Mincho","Hiragino Mincho ProN","Yu Mincho",serif;
  --f-num:"Montserrat","Noto Sans JP",sans-serif;
  --grad-o:linear-gradient(180deg,var(--orange),var(--orange-2));
  --grad-b:linear-gradient(90deg,var(--navy-2),var(--blue));
  --shadow:0 10px 30px rgba(15,35,80,.10);
  color-scheme:light;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth}
body{margin:0;background:var(--white);color:var(--ink);font-family:var(--f-body);font-size:16px;line-height:1.85;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit}
:focus-visible{outline:3px solid var(--orange);outline-offset:3px}
p{margin:0}
h1,h2,h3{margin:0;text-wrap:balance}
.wrap{max-width:720px;margin:0 auto;padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px))}
section{padding-block:76px;position:relative}
.stack{display:flex;flex-direction:column;gap:24px}
.num{font-family:var(--f-num);font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:-.01em}
.note{font-size:11px;color:var(--ink-2);line-height:1.65}

/* 地：白／三角模様のグレー／紺（斜めの区切り） */
section:not(.white):not(.dark){background-color:var(--bg);background-image:linear-gradient(60deg,rgba(255,255,255,.75) 25%,transparent 25.5%,transparent 75%,rgba(255,255,255,.75) 75.5%),linear-gradient(-60deg,rgba(255,255,255,.75) 25%,transparent 25.5%,transparent 75%,rgba(255,255,255,.75) 75.5%);background-size:56px 96px}
.white{background:var(--white)}
.dark{background:linear-gradient(160deg,var(--navy) 0%,var(--navy-2) 100%);color:#fff}
.dark::before{content:"";position:absolute;left:0;right:0;top:-38px;height:40px;background:var(--navy);clip-path:polygon(0 100%,100% 0,100% 100%)}
.dark .note{color:#b8c6e6}

/* 見出し：オレンジの番号＋黒い吹き出し＋太字。強調はスクロールで青い帯が走る */
.label{--pill:#1d2330;display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center}
.label .num{font-size:46px;line-height:1;font-style:italic;background:var(--grad-o);-webkit-background-clip:text;background-clip:text;color:transparent;padding-right:.12em}
.label .lbl-t{position:relative;font-size:13.5px;font-weight:900;letter-spacing:.08em;background:var(--pill);color:#fff;padding:6px 22px;border-radius:999px}
.label .lbl-t::after{content:"";position:absolute;left:50%;bottom:-7px;width:14px;height:8px;margin-left:-7px;background:var(--pill);clip-path:polygon(0 0,100% 0,50% 100%)}
.dark .label{--pill:#fff}
.dark .label .lbl-t{color:var(--navy)}
h2{font-family:var(--f-head);font-weight:900;font-size:clamp(25px,6.6vw,38px);line-height:1.5;letter-spacing:.02em;color:var(--navy);text-align:center}
.dark h2{color:#fff}
h2 em{font-style:normal;color:var(--navy);background:var(--grad-b) no-repeat 0 0/0% 100%;padding:0 .18em;margin:0 .04em;-webkit-box-decoration-break:clone;box-decoration-break:clone;transition:background-size .9s cubic-bezier(.6,0,.2,1),color .4s .35s}
h2.in em{background-size:100% 100%;color:#fff}
.dark h2 em{color:#fff;background-image:linear-gradient(90deg,var(--yellow),#ffd000)}
.dark h2.in em{color:var(--navy)}
.lede{font-size:15.5px;color:var(--ink-2)}
.dark .lede{color:#d4ddf2}

/* 上の帯・ヘッダー */
.topbar{background:var(--navy);color:#fff;font-size:12.5px;font-weight:700;text-align:center;padding:8px 12px;letter-spacing:.04em}
.topbar b{color:var(--yellow);font-family:var(--f-num);font-size:17px;margin:0 2px}
.site{position:relative;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:10px;background:#fff;padding:0 0 0 max(18px,env(safe-area-inset-left,0px));box-shadow:0 2px 12px rgba(15,35,80,.08);min-height:58px}
.site .brand{font-weight:900;font-size:16px;line-height:1.2;letter-spacing:.06em;color:var(--navy)}
.site .brand small{display:block;font-size:10px;font-weight:700;color:var(--ink-2);letter-spacing:.02em}
.site a{align-self:stretch;display:flex;align-items:center;font-size:13.5px;font-weight:900;color:#fff;text-decoration:none;background:var(--grad-b);padding:0 22px 0 26px;border-radius:0 0 0 22px;letter-spacing:.06em}

/* ボタン：オレンジのグラデーション・白フチ・光が走る */
.cta{position:relative;overflow:hidden;isolation:isolate;display:flex;align-items:center;justify-content:center;gap:12px;width:100%;min-height:74px;padding:12px 58px 12px 30px;border:3px solid #fff;border-radius:999px;background:var(--grad-o);color:#fff;font:900 18.5px/1.35 var(--f-body);text-decoration:none;cursor:pointer;text-align:center;letter-spacing:.03em;box-shadow:0 5px 0 #c44a00,0 14px 26px rgba(255,95,0,.32);transition:transform .12s,box-shadow .12s;text-shadow:0 1px 2px rgba(150,50,0,.35)}
.cta>span{display:flex;flex-direction:column-reverse}
.cta small{display:block;font-size:12px;font-weight:700;opacity:.95;letter-spacing:.04em}
.cta::after{content:"";position:absolute;right:18px;top:50%;width:28px;height:28px;margin-top:-14px;border-radius:50%;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 5l7 7-7 7' fill='none' stroke='%23ff5f00' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/16px no-repeat}
.cta::before{content:"";position:absolute;top:-10%;bottom:-10%;width:36%;left:-50%;z-index:-1;background:linear-gradient(100deg,transparent,rgba(255,255,255,.55),transparent);transform:skewX(-20deg);animation:shine 3.2s ease-in-out infinite}
@keyframes shine{0%,55%{left:-50%}100%{left:130%}}
.cta:hover{transform:translateY(-2px);box-shadow:0 7px 0 #c44a00,0 18px 30px rgba(255,95,0,.38)}
.cta:active{transform:translateY(4px);box-shadow:0 1px 0 #c44a00,0 6px 14px rgba(255,95,0,.3)}
.cta-wrap{display:flex;flex-direction:column;gap:14px}
.assure{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 8px;font-size:12.5px;font-weight:700;color:var(--navy)}
.assure span{display:inline-flex;align-items:center;gap:5px;background:#fff;border:1px solid var(--line);border-radius:999px;padding:3px 12px 3px 8px}
.assure span::before{content:"";width:15px;height:15px;border-radius:50%;background:var(--orange-2) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 12.5l4 4 8-9' fill='none' stroke='white' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/11px no-repeat}
.dark .assure span{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.3);color:#fff}

/* ファーストビュー：写真と文字は重ねない。写真は斜めに切り、数字は六角形のバッジ */
.fv{position:relative;display:flex;flex-direction:column;background-color:var(--bg);background-image:linear-gradient(60deg,rgba(255,255,255,.8) 25%,transparent 25.5%,transparent 75%,rgba(255,255,255,.8) 75.5%),linear-gradient(-60deg,rgba(255,255,255,.8) 25%,transparent 25.5%,transparent 75%,rgba(255,255,255,.8) 75.5%);background-size:56px 96px;overflow:hidden;color:var(--ink)}
.fv-bg{position:relative;width:100%;height:40svh;min-height:230px;max-height:400px;object-fit:cover;clip-path:polygon(0 0,100% 0,100% 86%,0 100%)}
.fv-cap{position:relative;align-self:flex-end;margin:-40px 14px 16px 0;font-size:10px;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.6);z-index:2}
.fv-in{position:relative;z-index:2;padding-block:22px 40px;display:flex;flex-direction:column;gap:18px;text-align:center;align-items:center}
.target{display:inline-block;font-size:13px;font-weight:900;letter-spacing:.06em;color:var(--navy);background:#fff;padding:6px 20px;border-radius:999px;box-shadow:0 0 0 2px #fff,0 0 0 4px var(--navy)}
.fv h1{font-family:var(--f-head);font-weight:900;font-size:clamp(30px,8.6vw,60px);line-height:1.38;letter-spacing:.02em;color:var(--navy);position:relative;padding-bottom:12px}
.fv h1::after{content:"";position:absolute;left:8%;right:8%;bottom:0;height:8px;border-radius:8px;background:linear-gradient(90deg,transparent,var(--yellow) 12%,var(--yellow) 88%,transparent);transform-origin:left;animation:draw 1s .5s both cubic-bezier(.6,0,.2,1)}
@keyframes draw{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.fv .sub{font-size:15.5px;line-height:1.85;color:var(--ink);font-weight:500}
.fv .sub b{font-weight:900;color:var(--navy);background:linear-gradient(transparent 58%,var(--yellow) 58%)}
.kpis{display:flex;justify-content:center;gap:6px;width:100%}
.kpi{width:112px;height:100px;flex:none;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;line-height:1.15;background:var(--grad-o);color:#fff;clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%);padding:0 12px;animation:bob 3.6s ease-in-out infinite}
.kpi:nth-child(2){animation-delay:.6s;background:var(--grad-b)}
.kpi:nth-child(3){animation-delay:1.2s}
@keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
.kpi .v{font-family:var(--f-num);font-size:30px;font-weight:800;line-height:1;color:#fff;white-space:nowrap}
.kpi .v small{font-family:var(--f-body);font-size:12px;font-weight:900;margin-left:1px}
.kpi .k{font-size:9.5px;font-weight:700;margin-top:4px;color:#fff;letter-spacing:-.02em}
.fv .note{color:var(--ink-2);text-align:left;max-width:34em}
.fv .cta-wrap{width:100%}

/* 写真が流れる帯 */
.marquee{overflow:hidden;background:var(--navy);padding:10px 0}
.mq-track{display:flex;gap:10px;width:max-content;animation:mq 46s linear infinite}
.mq-track img{width:180px;height:120px;object-fit:cover;border-radius:10px;flex:none}
@keyframes mq{to{transform:translateX(-50%)}}

/* オファー：白いカード */
.offer{background:#fff;border-radius:16px;box-shadow:var(--shadow);overflow:hidden}
.specs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:20px 14px;background:linear-gradient(180deg,#fff7ec,#fff)}
.spec{text-align:center;aspect-ratio:1;border-radius:50%;display:flex;flex-direction:column;justify-content:center;background:#fff;box-shadow:0 0 0 3px var(--orange),0 6px 14px rgba(255,95,0,.18);max-width:120px;margin:0 auto;width:100%}
.spec .v{font-family:var(--f-num);font-size:34px;font-weight:800;line-height:1;color:var(--orange-2)}
.spec .v small{font-family:var(--f-body);font-size:13px;font-weight:900;color:var(--ink)}
.spec .k{font-size:11.5px;font-weight:700;color:var(--ink-2);margin-top:4px}
.gets{margin:0;padding:4px 20px 10px;list-style:none}
.gets li{display:grid;grid-template-columns:26px 1fr;gap:10px;padding:14px 0;border-bottom:1px dashed var(--line);font-weight:700;line-height:1.55}
.gets li:last-child{border-bottom:0}
.gets li::before{content:"";width:24px;height:24px;margin-top:1px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect width='24' height='24' rx='6' fill='%231d64d8'/%3E%3Cpath d='M6 12.5l4 4 8-9' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat}

/* レポート見本：傾いた紙 */
.sheet{background:#fff;border-radius:12px;padding:22px 18px 18px;display:flex;flex-direction:column;gap:11px;position:relative;box-shadow:0 18px 40px rgba(15,35,80,.18);transform:rotate(-2deg);margin:10px 8px}
.sheet-h{display:flex;justify-content:space-between;align-items:baseline;font-size:11px;color:var(--ink-2);border-bottom:2px solid var(--navy);padding-bottom:8px}
.sheet-h b{font-size:16px;font-weight:900;color:var(--navy)}
.sheet-row{display:grid;grid-template-columns:7.2em 1fr 2.2em;gap:10px;align-items:center;font-size:12px;font-weight:700}
.sheet-row b{font-family:var(--f-num);font-size:17px;text-align:right;color:var(--navy)}
.bar{height:8px;background:#eef1f6;border-radius:8px;overflow:hidden}
.bar i{display:block;height:100%;background:var(--grad-b);border-radius:8px;transform-origin:left;transform:scaleX(0);transition:transform 1.1s .2s cubic-bezier(.6,0,.2,1)}
.sheet.in .bar i{transform:none}
.bar i.bad{background:var(--grad-o)}
.blur{filter:blur(3px);user-select:none;font-size:12px}
.stamp{position:absolute;right:-6px;top:-22px;width:68px;height:68px;border-radius:50%;display:grid;place-items:center;text-align:center;background:var(--yellow);color:var(--navy);font-size:11.5px;font-weight:900;line-height:1.25;padding:6px;transform:rotate(10deg);box-shadow:0 4px 10px rgba(0,0,0,.12)}

/* 悩みチェック：黒板のような濃い箱 */
.checks{background:#2a2e36;background-image:radial-gradient(rgba(255,255,255,.04) 1px,transparent 1px);background-size:6px 6px;border-radius:16px;padding:8px 18px;box-shadow:var(--shadow)}
.checks label{display:grid;grid-template-columns:26px 1fr;gap:14px;align-items:center;padding:15px 2px;border-bottom:1px solid rgba(255,255,255,.12);cursor:pointer;font-weight:700;line-height:1.55;color:#fff;transition:color .2s}
.checks label:last-child{border-bottom:0}
.checks input{appearance:none;width:24px;height:24px;border:2px solid rgba(255,255,255,.8);border-radius:6px;margin:0;display:grid;place-items:center;background:transparent;cursor:pointer}
.checks input:checked{background:var(--yellow);border-color:var(--yellow)}
.checks input:checked::after{content:"";width:6px;height:12px;border:solid var(--navy);border-width:0 3px 3px 0;transform:rotate(45deg) translate(-1px,-1px)}
.checks label:has(input:checked){color:var(--yellow)}
.check-result{position:relative;align-self:center;background:var(--ink);color:#fff;font-weight:900;font-size:16px;line-height:1.6;text-align:center;padding:14px 28px;border-radius:999px;box-shadow:var(--shadow)}
.check-result::after{content:"";position:absolute;left:50%;bottom:-9px;width:18px;height:10px;margin-left:-9px;background:var(--ink);clip-path:polygon(0 0,100% 0,50% 100%)}
.check-result .num{font-size:34px;color:var(--yellow);margin-right:4px;vertical-align:-3px}

/* シミュレーター（紺の上の白いカード） */
.sim{display:flex;flex-direction:column;gap:22px;background:#fff;color:var(--ink);border-radius:18px;padding:24px 20px;box-shadow:0 20px 40px rgba(0,0,0,.25)}
.sim .note{color:var(--ink-2)}
.field{display:flex;flex-direction:column;gap:6px}
.field-top{display:flex;justify-content:space-between;align-items:baseline;gap:8px;font-weight:900;font-size:14.5px;color:var(--navy)}
.field-top output{white-space:nowrap;font-family:var(--f-num);font-size:26px;font-weight:800;color:var(--blue)}
input[type=range]{width:100%;accent-color:var(--orange-2);height:30px}
.sim-out{background:var(--grad-b);color:#fff;border-radius:14px;padding:16px 18px;text-align:center}
.sim-out .lbl{font-size:13px;font-weight:700;color:#dbe6ff}
.sim-out .big{font-family:var(--f-num);font-size:clamp(60px,19vw,92px);font-weight:800;color:var(--yellow);line-height:1.05}
.sim-out .big small{font-family:var(--f-body);font-size:20px;font-weight:900;margin-left:4px;color:#fff}
.sim-gain{text-align:center;font-size:15px;font-weight:700;line-height:1.7}
.sim-gain .num{font-size:30px;color:var(--orange-2);background:linear-gradient(transparent 62%,var(--yellow) 62%);padding:0 4px}
.field-top .ex{display:inline-block;margin-left:8px;padding:1px 9px;border-radius:999px;background:var(--orange-2);color:#fff;font-size:11px;font-weight:700;letter-spacing:.04em;vertical-align:2px}

/* 写真の帯 */
.band{position:relative;margin:0}
.band img,.band .ph{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.band figcaption{position:absolute;left:16px;bottom:16px;color:var(--navy);background:#fff;padding:3px 14px;border-radius:999px;font-size:11.5px;letter-spacing:.08em;font-weight:900;z-index:2}
.band.over{color:#fff}
.band.over::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,42,102,.2),rgba(11,42,102,.82));z-index:1}
.band-over{position:absolute;left:0;right:0;bottom:0;padding:22px;display:flex;flex-direction:column;gap:8px;z-index:2}
.band-over .num{font-size:clamp(80px,24vw,120px);line-height:.85;color:var(--yellow);font-style:italic}
.band-over p{font-size:15px;font-weight:900;line-height:1.6;max-width:22em}
.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:6px;padding-inline:6px}
.wrap .gallery{padding-inline:0}
.gallery img{width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;display:block;border-radius:10px}
.gal-cap{font-size:12px;color:var(--ink-2);margin-top:-8px;text-align:center}
.img-note{font-size:10.5px;opacity:.85}
.band.tall img{aspect-ratio:4/5}

/* 実績の数字：白いカード＋大きなオレンジの数字 */
.figures{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.fig{background:#fff;border-radius:14px;padding:18px 12px 16px;text-align:center;box-shadow:var(--shadow);min-width:0;border-top:4px solid var(--orange)}
.fig:nth-child(even){border-top-color:var(--blue)}
.fig .k{font-size:12px;font-weight:900;color:var(--navy)}
.fig .v{font-family:var(--f-num);font-size:44px;font-weight:800;line-height:1.1;background:var(--grad-o);-webkit-background-clip:text;background-clip:text;color:transparent}
.fig .v small{font-family:var(--f-body);font-size:14px;font-weight:900;margin-left:2px}
.fig .d{font-size:10.5px;color:var(--ink-2);line-height:1.5}
.statement{font-weight:900;font-size:clamp(22px,6.2vw,34px);line-height:1.5;text-align:center;color:var(--navy);position:relative;padding:0 30px}
.statement::before,.statement::after{content:"";position:absolute;top:50%;width:18px;height:40px;margin-top:-20px;background:repeating-linear-gradient(90deg,var(--orange) 0 3px,transparent 3px 7px);transform:skewX(-22deg)}
.statement::before{left:0}
.statement::after{right:0;transform:skewX(22deg)}
.statement em{font-style:normal;color:var(--orange-2);background:linear-gradient(transparent 60%,var(--yellow) 60%)}
.voice{position:relative;background:#fff;border-radius:16px;padding:18px 20px;box-shadow:var(--shadow);text-align:center}
.voice::after{content:"";position:absolute;left:40px;bottom:-12px;width:22px;height:14px;background:#fff;clip-path:polygon(0 0,100% 0,20% 100%)}
.voice p{font-family:var(--f-accent);font-weight:900;font-size:19px;color:var(--navy)}
.voice small{display:block;font-size:11.5px;color:var(--ink-2)}

/* できること */
.one{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;text-align:center;padding:18px 14px;background:#fff;border-radius:16px;box-shadow:var(--shadow)}
.one .bad{font-size:12.5px;color:var(--ink-2);line-height:1.8;font-weight:700}
.one .bad s{text-decoration:line-through 2px var(--orange-2)}
.one .arrow{font-family:var(--f-num);font-size:30px;font-weight:800;color:var(--orange-2)}
.one .good{font-weight:900;font-size:19px;line-height:1.4;color:var(--navy)}
.one .good .num{display:block;font-size:60px;line-height:.95;background:var(--grad-o);-webkit-background-clip:text;background-clip:text;color:transparent}
.one .good small{display:block;font-size:12.5px;font-weight:700;color:var(--orange-2);margin-top:4px}
.one .bad:not(:has(s)){color:var(--ink);font-size:15px;line-height:1.6}
.svc{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;padding:0;list-style:none;counter-reset:s}
.svc li{counter-increment:s;background:#fff;border-radius:14px;padding:14px 12px 14px;box-shadow:0 4px 14px rgba(15,35,80,.07);border:1px solid var(--line);min-width:0;transition:transform .2s,box-shadow .2s}
.svc li:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.svc li::before{content:counter(s,decimal-leading-zero);display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--grad-b);color:#fff;font-family:var(--f-num);font-size:12px;font-weight:800;margin-bottom:6px}
.svc h3{font-size:15px;font-weight:900;line-height:1.4;color:var(--navy)}
.svc p{font-size:12px;color:var(--ink-2);line-height:1.55;margin-top:3px}
.ok-single{text-align:center;font-weight:700;font-size:15px}
.ok-single b{background:linear-gradient(transparent 60%,var(--yellow) 60%);font-weight:900}

/* 理由：大きなオレンジの番号＋青い帯の見出し */
.reasons{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:14px}
.reasons li{display:grid;grid-template-columns:64px 1fr;gap:10px;padding:18px 18px 18px 12px;background:#fff;border-radius:16px;box-shadow:var(--shadow)}
.reasons .num{font-size:52px;line-height:1;font-style:italic;background:var(--grad-o);-webkit-background-clip:text;background-clip:text;color:transparent;text-align:center}
.reasons h3{display:inline;font-size:17px;font-weight:900;line-height:1.7;color:#fff;background:var(--grad-b);padding:2px 8px;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.reasons p{font-size:14px;color:var(--ink-2);margin-top:8px}

/* 写真2枚 */
.pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.pair figure{margin:0;position:relative}
.pair img,.pair .ph{width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;border-radius:12px}
.pair figcaption{position:absolute;left:10px;top:10px;font-family:var(--f-num);font-size:12px;letter-spacing:.1em;font-weight:800;background:var(--ink);color:#fff;padding:2px 12px;border-radius:999px}
.pair figure:last-child figcaption{background:var(--orange-2)}

/* 比較表 */
.cmp{width:100%;border-collapse:separate;border-spacing:0;font-size:12.5px;text-align:center;background:#fff;border-radius:14px;overflow:hidden;box-shadow:var(--shadow)}
.cmp th,.cmp td{padding:13px 2px;border-bottom:1px solid var(--line)}
.cmp tr:last-child td{border-bottom:0}
.cmp thead th{font-size:10.5px;font-weight:900;color:#fff;line-height:1.35;background:#6b7385}
.cmp thead th:first-child{background:#6b7385}
.cmp th:first-child,.cmp td:first-child{text-align:left;font-weight:700;padding-left:10px}
.cmp td{font-size:16px;color:#9aa1b0;font-weight:900}
.cmp td:first-child{font-size:12px;color:var(--ink)}
.cmp .us{background:#fff6e6;color:var(--orange-2);font-size:20px}
.cmp thead .us{background:var(--grad-o);color:#fff;font-size:11.5px}

/* 代表 */
.ceo{display:grid;grid-template-columns:110px 1fr;gap:18px;align-items:end;background:#fff;border-radius:16px;padding:16px;box-shadow:var(--shadow)}
.ceo .ph{aspect-ratio:3/4;font-size:10px;border-radius:10px}
.ceo-name{font-size:12px;color:var(--ink-2);line-height:1.6}
.ceo-name b{display:block;font-size:22px;color:var(--navy);font-weight:900}
.quote{font-family:var(--f-accent);font-weight:900;font-size:clamp(22px,6.2vw,30px);line-height:1.65;color:var(--navy);text-align:center}

/* LP②：失敗・5ステップ・ポイント */
.fails{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:12px}
.fails li{padding:16px 18px;background:#fff;border-radius:14px;box-shadow:var(--shadow);border-left:5px solid #c9ced8}
.fails h3{font-size:16.5px;font-weight:900;display:flex;gap:10px;align-items:center;color:var(--ink)}
.fails h3::before{content:"×";display:grid;place-items:center;flex:none;width:26px;height:26px;border-radius:50%;background:#6b7385;color:#fff;font-family:var(--f-num);font-size:15px;line-height:1}
.fails p{font-size:14px;color:var(--ink-2);padding-left:36px;margin-top:4px}
.fails p b{color:var(--orange-2)}
.five{margin:0;padding:0;list-style:none;counter-reset:f;display:flex;flex-direction:column;gap:12px}
.five li{counter-increment:f;display:grid;grid-template-columns:58px 1fr;gap:10px;padding:16px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);border-radius:14px;position:relative}
.five li:not(:last-child)::after{content:"";position:absolute;left:44px;bottom:-12px;width:14px;height:12px;background:var(--yellow);clip-path:polygon(0 0,100% 0,50% 100%)}
.five li::before{content:counter(f,decimal-leading-zero);font-family:var(--f-num);font-size:40px;font-weight:800;font-style:italic;color:var(--yellow);line-height:1}
.five h3{font-size:17px;font-weight:900}
.five p{font-size:13.5px;color:#d4ddf2}
.points{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:10px}
.points li{padding:16px 18px;background:#fff;border-radius:14px;box-shadow:var(--shadow)}
.points h3{font-size:16.5px;font-weight:900;color:var(--navy);display:flex;gap:8px;align-items:center}
.points h3::before{content:"";flex:none;width:10px;height:10px;border-radius:50%;background:var(--orange-2);box-shadow:0 0 0 4px #ffe6d1}
.points p{font-size:14px;color:var(--ink-2);margin-top:4px}

/* 収支の中身 */
.pnl{width:100%;border-collapse:collapse;font-size:14px;background:#fff;border-radius:16px;overflow:hidden;box-shadow:var(--shadow)}
.pnl td{padding:14px 16px;border-bottom:1px solid var(--line);font-weight:700;vertical-align:bottom}
.pnl td small{display:block;font-size:10.5px;color:var(--ink-2);font-weight:500;line-height:1.45}
.pnl td:last-child{text-align:right;font-family:var(--f-num);font-size:24px;font-weight:800;white-space:nowrap;padding-left:10px;color:var(--navy)}
.pnl .minus td:last-child{color:#6b7385}
.pnl .total td{background:var(--grad-b);color:#fff;border-bottom:0;padding-top:16px}
.pnl .total td:first-child{font-size:18px;font-weight:900}
.pnl .total td:last-child{font-size:50px;color:var(--yellow);line-height:1}

/* 流れ：丸い番号を矢印でつなぐ */
.flow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:0;padding:0;list-style:none}
.flow li{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:2px;line-height:1.45;background:#fff;border-radius:14px;padding:16px 6px 14px;box-shadow:var(--shadow)}
.flow li:not(:last-child)::after{content:"";position:absolute;right:-12px;top:50%;width:10px;height:16px;margin-top:-8px;background:var(--orange-2);clip-path:polygon(0 0,100% 50%,0 100%);z-index:1}
.flow .t{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--grad-o);color:#fff;font-family:var(--f-num);font-size:17px;font-weight:800;margin-bottom:6px}
.flow b{font-size:14px;color:var(--navy);font-weight:900}
.flow small{font-size:11.5px;color:var(--ink-2)}

/* FAQ */
.faq{display:flex;flex-direction:column;gap:10px}
details{background:#fff;border-radius:14px;box-shadow:0 4px 14px rgba(15,35,80,.07);border:1px solid var(--line);overflow:hidden}
summary{cursor:pointer;font-weight:900;padding:14px 16px;list-style:none;display:grid;grid-template-columns:30px 1fr 20px;gap:10px;align-items:center;line-height:1.55;color:var(--navy)}
summary::-webkit-details-marker{display:none}
summary::before{content:"Q";display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--grad-b);color:#fff;font-family:var(--f-num);font-size:15px;font-weight:800}
summary::after{content:"+";font-family:var(--f-num);font-size:24px;font-weight:700;color:var(--orange-2);text-align:right;transition:transform .2s}
details[open] summary::after{transform:rotate(45deg)}
details p{position:relative;padding:0 16px 16px 56px;color:var(--ink-2);font-size:14.5px}
details p::before{content:"A";position:absolute;left:16px;top:-2px;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--grad-o);color:#fff;font-family:var(--f-num);font-size:15px;font-weight:800}

/* フォーム */
.slots{align-self:center;display:flex;align-items:baseline;gap:10px;font-size:14px;font-weight:900;background:rgba(255,255,255,.1);border:2px solid var(--yellow);border-radius:999px;padding:4px 26px}
.slots .num{font-size:52px;color:var(--yellow);line-height:1.1;animation:pulse 1.8s ease-in-out infinite}
@keyframes pulse{50%{transform:scale(1.12)}}
.form{background:#fff;color:var(--ink);padding:24px 18px;display:flex;flex-direction:column;gap:14px;border-radius:18px;box-shadow:0 20px 40px rgba(0,0,0,.25)}
.progress{height:8px;background:#eef1f6;border-radius:8px;overflow:hidden}
.progress i{display:block;height:100%;background:var(--grad-o);border-radius:8px;transition:width .3s}
.step-meta{font-family:var(--f-num);font-weight:800;font-size:14px;letter-spacing:.06em;color:var(--navy);display:flex;justify-content:space-between}
.step-meta span:last-child{font-family:var(--f-body);font-size:12px;color:var(--orange-2)}
.form fieldset{border:0;padding:0;margin:0;display:flex;flex-direction:column;gap:10px;min-width:0}
.form legend{font-weight:900;font-size:21px;padding:0;margin-bottom:12px;color:var(--navy)}
.choices{display:flex;flex-direction:column;gap:8px}
.choices.two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
.choice{display:flex;justify-content:space-between;align-items:center;width:100%;text-align:left;padding:15px 18px;border:2px solid var(--line);border-radius:999px;background:#fff;font:700 15.5px/1.4 var(--f-body);color:var(--ink);cursor:pointer;transition:border-color .15s,background .15s}
.choice::after{content:"›";font-family:var(--f-num);font-size:22px;font-weight:800;color:var(--orange-2);line-height:1}
.choices.two .choice{justify-content:center;padding:13px 6px;font-size:14px}
.choices.two .choice::after{content:none}
.choice:hover,.choice[aria-pressed=true]{border-color:var(--orange-2);background:#fff6ec}
.inp{display:flex;flex-direction:column;gap:6px;font-weight:900;font-size:14px;color:var(--navy)}
.inp input{font:500 16px var(--f-body);padding:14px 14px;border:2px solid var(--line);border-radius:10px;background:#f8f9fb;color:var(--ink);width:100%}
.inp input:focus{border-color:var(--blue);background:#fff;outline:none}
.inp em{font-style:normal;font-size:10.5px;color:#fff;background:var(--orange-2);border-radius:4px;padding:1px 6px;margin-left:8px;font-weight:700}
.meet{display:grid;grid-template-columns:24px 1fr;gap:12px;align-items:start;padding:14px;border:2px solid var(--line);border-radius:12px;background:#fff;cursor:pointer;line-height:1.5}
.meet:has(input:checked){border-color:var(--orange-2);background:#fff6ec}
.meet input{appearance:none;width:22px;height:22px;border:2px solid var(--navy);border-radius:5px;margin:1px 0 0;display:grid;place-items:center;cursor:pointer}
.meet input:checked{background:var(--orange-2);border-color:var(--orange-2)}
.meet input:checked::after{content:"";width:5px;height:11px;border:solid #fff;border-width:0 2.5px 2.5px 0;transform:rotate(45deg) translate(-1px,-1px)}
.meet b{display:block;font-size:15px;color:var(--navy)}
.meet small{display:block;font-size:12px;color:var(--ink-2)}
.privacy-consent a{color:var(--navy);text-decoration:underline;text-underline-offset:3px}
.privacy-consent em{font-style:normal;font-size:11px;color:#d93a00;margin-left:6px}
.hp-field{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.form button:disabled{opacity:.65;cursor:wait}
.err{color:#d93a00;font-size:13px;font-weight:700}
.back{background:none;border:0;color:var(--ink-2);font:500 13px var(--f-body);text-decoration:underline;cursor:pointer;align-self:center;padding:4px 0}
.thanks{text-align:center;display:flex;flex-direction:column;gap:10px;align-items:center;padding:12px 0}
.thanks .num{font-size:34px;background:var(--grad-o);-webkit-background-clip:text;background-clip:text;color:transparent;letter-spacing:.06em}
.thanks h3{font-weight:900;font-size:20px;color:var(--navy)}
.picked{border:2px dashed var(--line);border-radius:12px;background:#fff;padding:12px 14px;font-size:13.5px;line-height:1.6}
.picked b{display:block;font-size:12px;color:var(--ink-2);margin-bottom:4px}
.picked ul{margin:0;padding-left:1.2em}
.sub-routes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.sub-routes a{display:flex;justify-content:center;align-items:center;min-height:56px;border:3px solid #fff;border-radius:999px;font-weight:900;font-size:14px;text-decoration:none;color:#fff;background:linear-gradient(180deg,#22c483,var(--green-2));box-shadow:0 4px 0 #075c3c}
.sub-routes a+a{background:linear-gradient(180deg,#3d7ff0,var(--navy-2));box-shadow:0 4px 0 #082a6e}

footer{background:#081d4a;color:#a9b8d8;font-size:11.5px;padding-block:26px 120px;line-height:1.8}
footer b{color:#fff}

/* 下部固定CTA */
.dock{position:fixed;left:0;right:0;bottom:0;z-index:20;background:rgba(255,255,255,.94);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:0 -4px 20px rgba(15,35,80,.12);padding:8px max(12px,env(safe-area-inset-right,0px)) calc(8px + env(safe-area-inset-bottom,0px)) max(12px,env(safe-area-inset-left,0px));transform:translateY(110%);transition:transform .25s;display:flex;align-items:center;gap:10px}
.dock.show{transform:none}
.dock-note{flex:none;color:var(--navy);font-size:11px;font-weight:700;line-height:1.2;text-align:center;background:var(--yellow);border-radius:50%;width:58px;height:58px;display:flex;flex-direction:column;justify-content:center}
.dock-note b{display:block;font-family:var(--f-num);font-size:18px;color:var(--orange-2);font-weight:800}
.dock .cta{min-height:58px;font-size:15.5px;padding:8px 48px 8px 18px;box-shadow:0 4px 0 #c44a00}
.dock .cta::after{right:12px;width:24px;height:24px;margin-top:-12px}

/* 右端のタブ（PC） */
.side-tab{display:none}

/* 写真の差し替え枠 */
.ph{background:repeating-linear-gradient(135deg,#e3e7ee 0 10px,#eef1f5 10px 20px);display:flex;align-items:center;justify-content:center;text-align:center;font-size:12px;color:var(--ink-2);padding:10px;line-height:1.6}

/* LP② 建築会社向け・役割分担 */
.builder{background:#fff;border-radius:14px;padding:16px 18px;font-size:14px;line-height:1.75;box-shadow:var(--shadow);border-top:4px solid var(--green)}
.builder-h{font-weight:900;font-size:15.5px;margin-bottom:4px;color:var(--green-2)}
.roles{display:grid;grid-template-columns:1fr 1.6fr;gap:10px}
.roles div{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.25);border-radius:14px;padding:14px 12px;display:flex;flex-direction:column;gap:4px;font-size:12.5px;line-height:1.6;color:#d4ddf2}
.roles b{font-size:14.5px;color:#fff;font-weight:900}
.roles .me{background:#fff;border-color:#fff;color:var(--ink)}
.roles .me b{color:var(--orange-2)}
.roles-note{font-size:14px;font-weight:700;line-height:1.75}

/* スクロールで出てくる */
.rv{opacity:0;transform:translateY(28px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}
.rv.in{opacity:1;transform:none}

@media (min-width:760px){
  section{padding-block:104px}
  .band img,.band .ph{aspect-ratio:21/9}
  .band.tall img{aspect-ratio:16/9}
  .gallery{gap:10px;padding-inline:10px}
  .svc{grid-template-columns:repeat(3,minmax(0,1fr))}
  .figures{grid-template-columns:repeat(4,minmax(0,1fr))}
  .mq-track img{width:260px;height:170px}
  .kpi{width:140px;height:124px}
  .kpi .v{font-size:38px}
  .kpi .k{font-size:11.5px}
  .dock{justify-content:center}
  .dock .cta{max-width:520px}
  .sim,.form{padding:32px}
}
@media (min-width:960px){
  .fv{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);grid-template-rows:auto 1fr;min-height:min(calc(100svh - 40px),860px)}
  .site{grid-column:1/-1;grid-row:1}
  .fv::before{content:"";grid-column:2;grid-row:2;background:var(--grad-b);clip-path:polygon(10% 0,100% 0,100% 100%,0 100%)}
  .fv-bg{grid-column:2;grid-row:2;height:100%;max-height:none;min-height:0;clip-path:polygon(16% 0,100% 0,100% 100%,6% 100%)}
  .fv-cap{grid-column:2;grid-row:2;align-self:end;justify-self:end;margin:0 14px 12px 0}
  .fv-in{grid-column:1;grid-row:2;align-self:center;text-align:left;align-items:flex-start;max-width:none;margin:0;padding:48px 24px 56px max(40px,calc(50vw - 600px))}
  .fv h1{font-size:clamp(36px,3.5vw,52px)}
  .fv h1::after{left:0;right:12%}
  .kpis{justify-content:flex-start}
  .fv .assure{justify-content:flex-start}
  .side-tab{display:flex;position:fixed;right:0;top:50%;z-index:15;transform:translateY(-50%);writing-mode:vertical-rl;background:var(--ink);color:#fff;text-decoration:none;font-weight:900;font-size:14px;letter-spacing:.2em;padding:20px 12px;border-radius:12px 0 0 12px;box-shadow:var(--shadow)}
  .side-tab:hover{background:var(--orange-2)}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  .rv{opacity:1;transform:none}
  h2 em{background-size:100% 100%;color:#fff}
  .dark h2 em{color:var(--navy)}
}
@media (max-width:420px){.cta{font-size:16.5px;padding-left:22px;padding-right:50px}.cta::after{right:14px}}

/* 1画面目の写真：斜めに切らず、建物全体が見えるように元の比率で見せる */
.fv-ph{position:relative;margin:0;z-index:1}
.fv-bg{height:auto;min-height:0;max-height:none;aspect-ratio:16/9;clip-path:none;object-fit:cover;object-position:center}
.fv-ph .fv-cap{position:absolute;right:12px;bottom:8px;margin:0}
@media (min-width:960px){
  .fv::before{content:none}
  .fv{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);align-items:center}
  .fv-ph{grid-column:2;grid-row:2;align-self:center;margin:40px 40px 40px 0}
  .fv-bg{height:auto;aspect-ratio:16/9;border-radius:18px;box-shadow:0 24px 50px rgba(15,35,80,.22)}
  .fv-ph .fv-cap{right:16px;bottom:12px}
}

/* 口コミ：Googleマップの口コミを横に並べる（スマホは横スワイプ） */
.reviews{margin-top:6px}
.rv-head{display:flex;align-items:center;justify-content:center;gap:6px;flex-wrap:wrap;background:#fff;border-radius:999px;padding:10px 18px;box-shadow:var(--shadow);width:max-content;max-width:100%;margin:0 auto 14px}
.gpin{width:26px;height:26px;flex:none}
.gword{font-family:var(--f-num);font-size:22px;font-weight:800;color:var(--ink);letter-spacing:.01em}
.gword b{font-weight:800}
.rv-sub{font-size:17px;font-weight:900;color:var(--navy)}
.rv-track{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;margin-inline:-20px;padding:4px 20px 14px;scrollbar-width:none}
.rv-track::-webkit-scrollbar{display:none}
.rcard{flex:0 0 78%;scroll-snap-align:center;margin:0;background:#fff;border-radius:16px;padding:16px;box-shadow:0 6px 18px rgba(15,35,80,.1);border:1px solid var(--line);display:flex;flex-direction:column;gap:10px;min-height:150px}
.rc-top{display:flex;align-items:center;gap:10px}
.av{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,#4285f4,#34a853);flex:none}
.rc-meta{display:flex;flex-direction:column;line-height:1.35}
.rc-meta b{font-size:13px;color:var(--ink)}
.rc-meta small{font-size:11px;color:#1a73e8;font-weight:700}
.rc-body{font-family:var(--f-accent);font-weight:900;font-size:18px;line-height:1.6;color:var(--navy)}
.rcard.is-ph .rc-body{font-family:inherit;font-size:13px;font-weight:700;color:#9aa1b0;background:repeating-linear-gradient(180deg,#f2f4f7 0 14px,transparent 14px 26px);padding:2px 0 26px}
.rcard.is-ph .av{background:#dde2ea}
.rv-note{font-size:11px;color:var(--ink-2);text-align:center}
.swipe{color:var(--blue);font-weight:900;white-space:nowrap}
@media (min-width:760px){
  .rv-track{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));overflow:visible;margin-inline:0;padding-inline:0}
  .swipe{display:none}
}

/* +32%：何が32%なのかを数字の上下で言い切る */
.band-over .k{font-size:15px;font-weight:900;line-height:1.5}
.band-over .k b,.band-over p b{color:var(--yellow)}
.band-over .num small{font-size:.5em;margin-left:2px}
.band-over p{font-size:16px}

/* 06 本気のサウナ：写真を大きく見せる */
.sauna-catch{text-align:center;font-family:var(--f-accent);font-weight:900;font-size:clamp(22px,6.4vw,32px);color:var(--navy);margin-top:-6px}
.sauna-catch b{background:linear-gradient(transparent 60%,var(--yellow) 60%)}
.sauna-hero{position:relative;margin:4px -20px 0;overflow:hidden}
.sauna-hero img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;display:block;transform:scale(1.08);transition:transform 1.6s ease}
.sauna-hero.in img,.sauna-hero.rv.in img{transform:scale(1)}
.sauna-hero figcaption{position:absolute;left:16px;bottom:16px;color:var(--navy);background:#fff;padding:3px 14px;border-radius:999px;font-size:11.5px;font-weight:900}
.sauna-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-inline:-20px}
.sauna-grid img{width:100%;height:100%;aspect-ratio:3/4;object-fit:cover;display:block}
.sauna-grid img:first-child{grid-column:1/-1;aspect-ratio:16/10}
@media (min-width:760px){
  .sauna-hero,.sauna-grid{margin-inline:0;border-radius:18px}
  .sauna-hero img{aspect-ratio:16/9}
  .sauna-grid{grid-template-columns:1.4fr 1fr 1fr;overflow:hidden}
  .sauna-grid img:first-child{grid-column:auto;aspect-ratio:auto}
}

/* 比較表への吹き出し */
.look{text-align:center;margin-bottom:-4px}
.look span{position:relative;display:inline-block;background:var(--yellow);color:var(--navy);font-weight:900;font-size:17px;padding:10px 22px;border-radius:999px;box-shadow:0 6px 16px rgba(255,154,26,.35);animation:lookbob 1.6s ease-in-out infinite}
.look span::after{content:"";position:absolute;left:50%;bottom:-11px;width:20px;height:13px;margin-left:-10px;background:var(--yellow);clip-path:polygon(0 0,100% 0,50% 100%)}
@keyframes lookbob{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
@media (prefers-reduced-motion:reduce){.look span{animation:none}}

/* 代表：写真なし。言葉と名前を大きく */
.ceo{display:block;grid-template-columns:none;text-align:center;padding:30px 20px 24px;border-top:5px solid var(--orange)}
.ceo .quote{font-size:clamp(24px,7vw,34px);line-height:1.6}
.ceo .quote em{font-style:normal;background:linear-gradient(transparent 62%,var(--yellow) 62%)}
.ceo .ceo-name{margin-top:18px;padding-top:16px;border-top:1px solid var(--line);font-size:12.5px;color:var(--ink-2);line-height:1.5}
.ceo .ceo-name span{display:block;font-weight:700}
.ceo .ceo-name b{display:block;font-size:30px;letter-spacing:.12em;color:var(--navy);font-weight:900;margin-top:4px}
.rv-score{display:flex;align-items:center;gap:5px;padding-left:10px;margin-left:4px;border-left:1px solid var(--line)}
.rv-score b{font-family:var(--f-num);font-size:20px;font-weight:800;color:var(--ink)}
.rv-score i{font-style:normal;color:#fbbc05;font-size:15px;letter-spacing:-.04em}
.rv-score small{font-size:12px;color:var(--ink-2);font-weight:700}
.stars{color:#fbbc05;font-size:15px;letter-spacing:.04em;margin:-4px 0 -6px}
.rcard .rc-body{font-size:16px;line-height:1.75}

/* 1画面目（スマホ〜タブレット）：写真は高さを抑え、対象のバッジを写真に被せて余白をなくす */
@media (max-width:959px){
  .fv-bg{aspect-ratio:auto;height:min(56.25vw,42svh);min-height:200px;object-position:center 60%}
  .fv-in{padding-top:0;gap:14px}
  .fv-in .target{position:relative;z-index:3;margin-top:-20px;font-size:14px;padding:9px 24px;box-shadow:0 0 0 2px #fff,0 0 0 4px var(--navy),0 8px 20px rgba(15,35,80,.25)}
  .fv-ph .fv-cap{bottom:auto;top:8px}
}
@media (max-width:759px){
  .rv-head{border-radius:18px;row-gap:4px}
  .rv-score{flex-basis:100%;justify-content:center;border-left:0;margin-left:0;padding-left:0}
  .rcard{flex-basis:72%}
}
/* LP② 05：トップと同じ外観CGを小さめに */
.kominka-ph{position:relative;margin:0 auto;width:100%;max-width:440px}
.kominka-ph img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:14px;box-shadow:var(--shadow)}
.kominka-ph figcaption{position:absolute;right:10px;bottom:8px;font-size:10px;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.6)}
/* お渡しするレポートの見本（実物の画像） */
.report{margin:4px 0 0;display:flex;flex-direction:column;align-items:center;gap:8px}
.report img{width:100%;max-width:520px;height:auto;border-radius:12px;box-shadow:0 18px 40px rgba(15,35,80,.18)}
.report figcaption{font-size:11.5px;font-weight:700;color:var(--ink-2)}
