/* ============================================================
   NextScale 業界別AI活用事例集 — 共通スタイル（v3・Web優先）
   ============================================================ */
:root{
  --navy:#0e254d; --navy-2:#1f3f70; --navy-3:#4a6a99; --navy-4:#8ea3c0; --navy-soft:#e9eef6;
  --amber:#eaa418; --orange:#e8531f; --amber-soft:#fdf3e0;
  --ink:#111318; --body:#3d4854; --muted:#8b949e; --faint:#c3c9d1; --line:#e3e7ed;
  --bg:#f2f3f5; --white:#fff;
  --pos:#2f7d5a; --pos-soft:#e9f3ee; --neg:#c0453a; --neg-soft:#fbeeeb;
  --w:1120px;
}
*{ box-sizing:border-box; margin:0; padding:0; }
html{ scroll-behavior:smooth; }
body{ font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Hiragino Sans","Yu Gothic",Meiryo,system-ui,sans-serif; font-feature-settings:"palt" 1; color:var(--body); background:var(--bg); -webkit-font-smoothing:antialiased; line-height:1.8; }
img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
b,strong{ font-weight:700; }
ul,ol{ list-style:none; }
table{ border-collapse:collapse; }
.wrap{ width:min(var(--w),calc(100% - 48px)); margin:0 auto; }
.num{ font-variant-numeric:tabular-nums; letter-spacing:-.01em; }
section[id]{ scroll-margin-top:64px; }
.print-only{ display:none; }

/* ---------- ヘッダー（維持） ---------- */
.topbar{ position:sticky; top:0; z-index:50; background:rgba(255,255,255,.94); backdrop-filter:saturate(1.4) blur(8px); border-bottom:1px solid var(--line); }
.topbar .wrap{ display:flex; align-items:center; justify-content:space-between; height:56px; }
.topbar .lg{ height:18px; }
.topbar .cta{ font-size:12.5px; font-weight:700; color:#fff; background:linear-gradient(90deg,var(--orange),var(--amber)); padding:9px 18px; border-radius:999px; box-shadow:0 4px 14px rgba(232,83,31,.25); }
.progress{ position:absolute; left:0; bottom:-1px; height:2px; width:0; background:linear-gradient(90deg,var(--navy),var(--amber)); }

/* ---------- 表紙（白黒） ---------- */
.hero{ background:#fff; color:var(--ink); border-bottom:1px solid #111; }
.hero .wrap{ padding:72px 0 56px; }
.hero .top{ display:flex; gap:10px; flex-wrap:wrap; align-items:center; font-size:12px; font-weight:700; letter-spacing:.08em; color:#111; }
.hero .top span{ padding:5px 12px; border:1px solid #111; border-radius:999px; }
.hero .top span.r{ margin-left:auto; border:none; padding:0; color:#666; font-weight:500; }
.hero .grid{ margin-top:56px; display:grid; grid-template-columns:1fr auto; align-items:end; gap:32px; }
.hero h1{ font-size:clamp(40px,6vw,76px); font-weight:900; line-height:1.18; letter-spacing:.01em; color:#111; }
.hero .sub{ margin-top:26px; font-size:clamp(14px,1.5vw,17px); line-height:1.95; color:#333; max-width:640px; }
.hero .big{ font-size:clamp(120px,22vw,300px); font-weight:900; line-height:.85; color:transparent; -webkit-text-stroke:2px #111; letter-spacing:-.04em; }
.hero .rule{ margin-top:40px; height:2px; background:#111; }
.hero .meta{ margin-top:26px; display:grid; grid-template-columns:repeat(4,auto); gap:32px; justify-content:start; }
.hero .meta .l{ font-size:11px; font-weight:700; letter-spacing:.12em; color:#666; }
.hero .meta .v{ font-size:32px; font-weight:900; color:#111; line-height:1.15; margin-top:4px; }
.hero .meta .v span{ font-size:13px; margin:0 2px; font-weight:700; color:#444; }
.hero .meta .v.sm{ font-size:15px; font-weight:700; margin-top:14px; }
.hero .who{ margin-top:48px; display:flex; align-items:center; gap:14px; font-size:12.5px; color:#333; letter-spacing:.06em; }
.hero .who img{ height:16px; filter:grayscale(1) contrast(1.2); }

/* ---------- セクション共通 ---------- */
section.sec{ padding:72px 0; }
section.sec.alt{ background:var(--white); }
.sh{ display:flex; align-items:flex-end; justify-content:space-between; gap:24px; flex-wrap:wrap; margin-bottom:34px; }
.sh h2{ font-size:clamp(24px,2.8vw,32px); font-weight:700; color:var(--navy); line-height:1.4; letter-spacing:.02em; padding-left:16px; border-left:5px solid var(--amber); }
.sh p{ max-width:560px; font-size:14.5px; color:var(--muted); line-height:1.85; }
.card{ background:var(--white); border-radius:14px; padding:26px 28px; }
.card.navy{ background:var(--navy); color:#fff; }
.chip{ display:inline-block; background:var(--navy); color:#fff; font-size:12px; font-weight:700; letter-spacing:.06em; padding:4px 12px; border-radius:5px; }
.chip.amber{ background:var(--amber); color:#3d2b00; }
.chip.soft{ background:var(--navy-soft); color:var(--navy); }
.bh{ display:flex; align-items:center; gap:10px; }
.bh .tag{ background:var(--navy); color:#fff; font-size:11px; font-weight:700; padding:3px 10px; border-radius:4px; letter-spacing:.06em; white-space:nowrap; }
.bh .t{ font-size:14px; font-weight:700; color:var(--navy); }

/* ---------- 事例一覧 ---------- */
.idx{ display:grid; grid-template-columns:repeat(2,1fr); gap:12px; }
.idx a{ display:flex; align-items:center; gap:16px; background:var(--bg); border-radius:12px; padding:16px 20px; border:1px solid transparent; transition:.2s; }
.idx a:hover{ border-color:var(--navy-4); transform:translateY(-2px); box-shadow:0 8px 24px rgba(14,37,77,.08); background:#fff; }
.idx .no{ flex:0 0 auto; width:40px; font-size:22px; font-weight:700; color:var(--faint); }
.idx .t{ flex:1; font-size:15px; font-weight:700; color:var(--ink); line-height:1.5; }
.idx .t small{ display:block; font-size:11.5px; font-weight:500; color:var(--muted); margin-top:2px; }
.idx .m{ flex:0 0 auto; text-align:right; font-size:11px; font-weight:700; color:var(--muted); line-height:1.3; }
.idx .m b{ display:block; font-size:19px; font-weight:700; color:var(--orange); }
.idx .m b small{ font-size:11px; color:var(--orange); }

/* ---------- 事例 ---------- */
.case{ padding:64px 0 48px; border-top:1px solid var(--line); }
.case:nth-of-type(even){ background:var(--white); }
.case .head{ display:grid; grid-template-columns:1fr auto; gap:24px 40px; align-items:end; }
.case .no{ font-size:13px; font-weight:700; letter-spacing:.1em; color:var(--navy-3); }
.case .no b{ font-size:34px; color:var(--navy); letter-spacing:0; margin-left:6px; vertical-align:-4px; }
.case .tags{ margin-top:10px; display:flex; flex-wrap:wrap; gap:6px; }
.case h3{ margin-top:14px; font-size:clamp(22px,2.6vw,30px); font-weight:700; color:var(--ink); line-height:1.45; letter-spacing:.02em; }
.case h3 .o{ color:var(--orange); }
.case .hl{ background:var(--navy); color:#fff; border-radius:14px; padding:20px 26px; min-width:280px; text-align:right; }
.case .hl .l{ font-size:11px; font-weight:700; letter-spacing:.12em; color:#8ea3c0; }
.case .hl .v{ font-size:44px; font-weight:700; color:var(--amber); line-height:1.1; margin-top:6px; white-space:nowrap; }
.case .hl .v small{ font-size:16px; color:#fff; margin-left:2px; font-weight:700; }
.case .hl .s{ font-size:11.5px; color:#c9d6e8; margin-top:8px; line-height:1.6; }
.case .cont{ font-size:13px; font-weight:700; color:var(--navy-3); padding-bottom:10px; border-bottom:1px solid var(--line); margin-bottom:16px; }

.case .rowa{ margin-top:26px; display:grid; grid-template-columns:1.25fr .75fr; gap:16px; align-items:stretch; }
.mockbox,.flowbox,.fig{ background:var(--white); border-radius:16px; padding:18px 20px; display:flex; flex-direction:column; }
.case:nth-of-type(even) .mockbox,.case:nth-of-type(even) .flowbox,.case:nth-of-type(even) .fig{ background:var(--bg); }
.mockbox .dev{ margin-top:14px; flex:1; }

/* デバイス枠 */
.dev{ border-radius:14px; overflow:hidden; box-shadow:0 10px 30px rgba(14,37,77,.14); background:#fff; font-size:12.5px; line-height:1.6; }
.dev.phone{ max-width:400px; margin:14px auto 0; border:6px solid #111; border-radius:26px; background:#eef2f7; }
.dev .sbar{ display:flex; justify-content:space-between; padding:6px 16px 0; font-size:10px; font-weight:700; color:#111; background:#eef2f7; }
.dev .abar{ padding:8px 14px 10px; background:#eef2f7; border-bottom:1px solid #d9e0ea; }
.dev .abar b{ display:block; font-size:13px; color:#111; }
.dev .abar small{ font-size:10.5px; color:#6b7682; }
.dev .chatbody{ padding:12px 12px 8px; background:#7d95b9; display:flex; flex-direction:column; gap:9px; min-height:300px; }
.dev.call .chatbody{ background:#eef2f7; }
.dev .msg{ display:flex; gap:6px; align-items:flex-end; max-width:86%; }
.dev .msg.ai{ align-self:flex-end; flex-direction:row-reverse; }
.dev .msg .av{ flex:0 0 auto; width:24px; height:24px; border-radius:50%; background:var(--navy); color:var(--amber); font-size:9px; font-weight:700; display:flex; align-items:center; justify-content:center; }
.dev .msg .av.c{ background:#6b7682; color:#fff; }
.dev .mb{ display:flex; flex-direction:column; gap:6px; }
.dev .msg.ai .mb{ align-items:flex-end; }
.dev .bub{ background:#fff; border-radius:14px; padding:8px 12px; font-size:12px; color:#111; line-height:1.6; }
.dev .msg.ai .bub{ background:#8de26e; }
.dev.call .msg.ai .bub{ background:var(--navy); color:#fff; }
.dev .bub ol{ list-style:decimal; padding-left:18px; }
.dev .tm{ font-size:9.5px; color:#dfe7f2; }
.dev.call .tm{ color:#8b949e; }
.dev .sys{ align-self:center; font-size:10.5px; color:#fff; background:rgba(0,0,0,.28); padding:3px 10px; border-radius:999px; }
.dev .cards{ display:flex; gap:6px; }
.dev .pc{ width:106px; background:#fff; border-radius:10px; overflow:hidden; font-size:10px; }
.dev .pc .ph{ height:52px; background:linear-gradient(135deg,#c7d3e3,#8ea3c0); }
.dev .pc .ph.p1{ background:linear-gradient(135deg,#dfd6c6,#a89c86); } .dev .pc .ph.p2{ background:linear-gradient(135deg,#cfd9d2,#8fa79b); }
.dev .pc .pn{ padding:5px 7px 0; font-weight:700; color:#111; line-height:1.35; }
.dev .pc .pp{ padding:2px 7px 0; color:var(--orange); font-weight:700; font-size:11.5px; }
.dev .pc .pm{ padding:0 7px 6px; color:#6b7682; }
.dev .chips{ display:flex; flex-wrap:wrap; gap:5px; justify-content:flex-end; }
.dev .chips span{ background:#fff; border:1px solid var(--navy-4); color:var(--navy); font-size:10.5px; font-weight:700; padding:3px 9px; border-radius:999px; }
.dev .meter{ padding:8px 14px; background:var(--navy); color:var(--amber); font-size:11px; font-weight:700; text-align:center; }
.dev .cmeta{ display:flex; gap:6px; padding:10px 12px; background:#fff; border-top:1px solid #d9e0ea; }
.dev .cmeta div{ flex:1; text-align:center; background:var(--navy-soft); border-radius:8px; padding:6px 4px; }
.dev .cmeta span{ display:block; font-size:9.5px; color:var(--navy-3); font-weight:700; }
.dev .cmeta b{ font-size:13px; color:var(--navy); }
/* ウィンドウ枠 */
.dev.win{ border:1px solid #d9dee6; }
.dev .wbar{ display:flex; align-items:center; gap:6px; padding:9px 12px; background:#eceff3; border-bottom:1px solid #d9dee6; font-size:11px; color:#6b7682; }
.dev .wbar i{ width:9px; height:9px; border-radius:50%; background:#d0d5dc; }
.dev .wbar i:first-child{ background:#ef6b5e; } .dev .wbar i:nth-child(2){ background:#f5bf4f; } .dev .wbar i:nth-child(3){ background:#62c554; }
.dev .wbar span{ margin-left:8px; background:#fff; border-radius:5px; padding:2px 10px; flex:1; }
/* メール */
.mailgrid{ display:grid; grid-template-columns:1fr 200px; }
.mail{ padding:14px 16px; }
.mail .mh div{ display:flex; gap:10px; font-size:11.5px; color:#111; padding:4px 0; border-bottom:1px solid #eef0f3; }
.mail .mh span{ flex:0 0 44px; color:#8b949e; font-weight:700; }
.mail .mbody{ padding:12px 0 6px; }
.mail .mbody p{ font-size:12px; color:#111; line-height:1.75; margin-bottom:8px; }
.mail .tag{ display:inline-block; font-size:10.5px; font-weight:700; color:var(--navy); background:var(--navy-soft); padding:3px 9px; border-radius:4px; }
.side{ background:#f6f8fb; border-left:1px solid #e3e7ed; padding:12px; }
.side .st{ font-size:11px; font-weight:700; color:var(--navy); margin-bottom:8px; }
.side .sr{ display:grid; grid-template-columns:8px 1fr; column-gap:8px; align-items:center; padding:6px 0; border-bottom:1px solid #e9edf2; font-size:11px; }
.side .sr i{ width:8px; height:8px; border-radius:50%; grid-row:span 2; }
.side .sr i.hot{ background:var(--orange); } .side .sr i.warm{ background:var(--amber); } .side .sr i.cold{ background:#c3c9d1; }
.side .sr b{ color:#111; } .side .sr span{ color:#6b7682; font-size:10.5px; }
/* 査定ページ */
.webgrid{ display:grid; grid-template-columns:1fr 1.1fr; }
.form{ padding:16px; border-right:1px solid #eef0f3; }
.form .ft{ font-size:13px; font-weight:700; color:var(--navy); margin-bottom:8px; }
.form label{ display:block; margin-bottom:7px; }
.form label span{ display:block; font-size:10.5px; color:#8b949e; font-weight:700; }
.form .in{ border:1px solid #d9dee6; border-radius:6px; padding:5px 9px; font-size:12px; color:#111; background:#fff; }
.form .go{ margin-top:10px; background:var(--navy); color:#fff; text-align:center; font-weight:700; border-radius:6px; padding:8px; font-size:12px; }
.res{ padding:16px; background:#f6f8fb; }
.res .rl{ font-size:11px; font-weight:700; color:var(--navy-3); }
.res .rp{ font-size:34px; font-weight:900; color:var(--navy); line-height:1.15; margin-top:4px; }
.res .rr{ font-size:12px; color:#111; font-weight:700; margin-top:2px; }
.res .rn{ font-size:10.5px; color:#8b949e; margin-top:6px; }
.res .rb{ margin-top:10px; background:linear-gradient(90deg,var(--orange),var(--amber)); color:#fff; font-weight:700; text-align:center; border-radius:6px; padding:8px; font-size:12px; }
.res .rb.g{ background:#fff; color:var(--navy); border:1px solid var(--navy-4); margin-top:6px; }
/* 提案書 */
.prop{ padding:14px 16px; }
.prop .pt2{ display:flex; justify-content:space-between; align-items:baseline; font-size:12px; color:#8b949e; }
.prop .pt2 b{ font-size:13.5px; color:#111; }
.pcards{ margin-top:10px; display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
.pk{ border:1px solid #e3e7ed; border-radius:10px; overflow:hidden; }
.room{ position:relative; height:90px; overflow:hidden; }
.room.a{ background:linear-gradient(180deg,#e9e4da 60%,#c9b79a 60%); }
.room.b{ background:linear-gradient(180deg,#eef1ee 60%,#b7a68c 60%); }
.room.c{ background:linear-gradient(180deg,#f2f0ea 60%,#8e7b62 60%); }
.room i{ position:absolute; display:block; }
.room .win{ left:12%; top:14%; width:30%; height:34%; background:linear-gradient(180deg,#cfe3f5,#9fc4e6); border:3px solid #fff; }
.room .floor{ left:0; right:0; bottom:0; height:12%; background:rgba(0,0,0,.08); }
.room .sofa{ right:10%; bottom:16%; width:38%; height:24%; background:#5e6b7a; border-radius:5px 5px 2px 2px; }
.room.a .sofa{ background:#9aa3ad; } .room.c .sofa{ background:#3f4a58; }
.pk .pkn{ padding:7px 10px 0; font-size:11px; font-weight:700; color:#111; }
.pk .pkc{ padding:0 10px; font-size:17px; font-weight:900; color:var(--navy); }
.pk .pkm{ padding:0 10px 8px; font-size:10px; color:#6b7682; }
.prop .pf{ margin-top:10px; font-size:10.5px; color:#8b949e; }
/* 物件資料 */
.fly{ display:grid; grid-template-columns:.9fr 1.1fr; }
.fph{ position:relative; min-height:230px; background:linear-gradient(160deg,#dfe6ef 0%,#9db0c9 55%,#5f7796 100%); }
.fph::after{ content:""; position:absolute; left:10%; right:10%; bottom:0; height:55%; background:linear-gradient(180deg,#f2f4f7,#cfd6df); clip-path:polygon(0 30%,50% 0,100% 30%,100% 100%,0 100%); }
.fph .bd{ position:absolute; left:10px; top:10px; z-index:1; background:var(--navy); color:var(--amber); font-size:10.5px; font-weight:700; padding:3px 9px; border-radius:4px; }
.fin{ padding:14px 16px; }
.fin .fn2{ font-size:13px; font-weight:700; color:#111; }
.fin .fp{ font-size:26px; font-weight:900; color:var(--orange); line-height:1.2; }
.fin .ftags{ display:flex; flex-wrap:wrap; gap:4px; margin-top:4px; }
.fin .ftags span{ font-size:10px; font-weight:700; background:var(--navy-soft); color:var(--navy); padding:2px 7px; border-radius:4px; }
.fin .fcopy{ margin-top:8px; font-size:11.5px; color:#111; line-height:1.65; background:#f6f8fb; border-left:3px solid var(--amber); padding:6px 9px; border-radius:0 6px 6px 0; }
.fin .fcopy i{ display:block; font-style:normal; font-size:9.5px; color:#8a5a00; font-weight:700; }
.fin table{ width:100%; margin-top:8px; font-size:10.5px; }
.fin th{ text-align:left; color:#8b949e; font-weight:700; padding:2px 6px 2px 0; width:52px; } .fin td{ color:#111; padding:2px 0; border-bottom:1px solid #eef0f3; }
/* 重説 */
.docgrid{ display:grid; grid-template-columns:1.05fr .95fr; }
.paper{ padding:16px 18px; background:#fff; border-right:1px solid #eef0f3; }
.paper .pt3{ font-size:12.5px; font-weight:700; color:#111; text-align:center; margin-bottom:8px; }
.paper .ln{ font-size:11px; color:#111; padding:5px 8px; border-bottom:1px dashed #e3e7ed; line-height:1.6; }
.paper .ln.ng{ background:var(--neg-soft); border-left:3px solid var(--neg); }
.paper .ln.warn{ background:var(--amber-soft); border-left:3px solid var(--amber); }
.chk{ padding:16px; background:#f6f8fb; }
.chk .ct{ font-size:11.5px; font-weight:700; color:var(--navy); margin-bottom:8px; }
.chk .ck{ display:flex; gap:8px; align-items:flex-start; font-size:11px; color:#111; padding:6px 8px; background:#fff; border-radius:6px; margin-bottom:6px; line-height:1.5; }
.chk .ck span{ flex:0 0 auto; width:18px; height:18px; border-radius:50%; display:flex; align-items:center; justify-content:center; }
.chk .ck span svg{ width:12px; height:12px; fill:none; stroke:#fff; stroke-width:2.4; stroke-linecap:round; stroke-linejoin:round; }
.chk .ck.ng span{ background:var(--neg); } .chk .ck.warn span{ background:var(--amber); } .chk .ck.ok span{ background:var(--pos); }
.chk .cf{ font-size:10px; color:#8b949e; margin-top:4px; }
/* 紹介文 */
.lst{ padding:14px 16px; }
.lst .lt{ font-size:12.5px; font-weight:700; color:#111; }
.lst .tabs{ display:flex; gap:4px; margin-top:8px; border-bottom:2px solid #e3e7ed; }
.lst .tabs span{ font-size:11px; font-weight:700; padding:5px 12px; color:#8b949e; border-bottom:2px solid transparent; margin-bottom:-2px; }
.lst .tabs span.on{ color:var(--navy); border-bottom-color:var(--navy); }
.lst .ta{ margin-top:10px; border:1px solid #d9dee6; border-radius:8px; padding:10px 12px; font-size:12px; color:#111; line-height:1.75; background:#fff; min-height:88px; }
.lst .lchecks{ margin-top:10px; display:grid; gap:5px; }
.lst .lchecks div{ display:flex; gap:7px; align-items:center; font-size:11px; color:#111; }
.lst .lchecks span{ width:16px; height:16px; border-radius:50%; background:var(--pos); display:flex; align-items:center; justify-content:center; }
.lst .lchecks svg{ width:10px; height:10px; fill:none; stroke:#fff; stroke-width:2.6; stroke-linecap:round; stroke-linejoin:round; }
.lst .ltime{ margin-top:8px; font-size:10.5px; color:var(--navy); font-weight:700; }
/* Slack */
.sl{ display:grid; grid-template-columns:130px 1fr; min-height:260px; }
.sside{ background:#3f0e40; color:#fff; padding:12px 10px; font-size:11px; }
.sside b{ display:block; font-size:12px; margin-bottom:8px; }
.sside span{ display:block; padding:3px 6px; border-radius:4px; color:#cfc3d0; }
.sside span.on{ background:#1164a3; color:#fff; }
.smain{ padding:12px 14px; }
.smsg{ display:flex; gap:8px; }
.smsg .bot{ flex:0 0 auto; width:30px; height:30px; border-radius:6px; background:var(--navy); color:var(--amber); font-weight:900; display:flex; align-items:center; justify-content:center; }
.smsg .bn{ font-size:12px; font-weight:700; color:#111; } .smsg .bn small{ font-weight:500; color:#8b949e; margin-left:6px; }
.smsg .bt{ font-size:11.5px; color:#111; }
.smsg table{ margin-top:6px; font-size:11px; width:100%; }
.smsg th{ background:#f6f8fb; text-align:left; padding:4px 8px; color:#6b7682; font-weight:700; border:1px solid #e3e7ed; }
.smsg td{ padding:4px 8px; border:1px solid #e3e7ed; color:#111; }
.smsg td.num{ text-align:right; }
.smsg .alert{ margin-top:8px; border-left:3px solid var(--orange); background:#fff5f0; padding:6px 10px; font-size:11px; color:#111; }
.smsg .alert b{ display:block; color:var(--orange); }
.smsg .alert li{ padding-left:10px; position:relative; color:#3d4854; }
.smsg .alert li::before{ content:"・"; position:absolute; left:0; }

/* 仕組み図解（縦） */
.flow{ margin-top:14px; display:grid; gap:4px; flex:1; }
.fnode{ border-radius:10px; padding:11px 12px; background:var(--navy-soft); }
.case:nth-of-type(even) .fnode{ background:#fff; }
.fnode.ai{ background:var(--navy); color:#fff; }
.fnode .fh{ display:flex; align-items:center; gap:7px; }
.fnode .ico{ width:24px; height:24px; border-radius:50%; background:#fff; display:flex; align-items:center; justify-content:center; flex:0 0 auto; }
.fnode .ico svg{ width:15px; height:15px; fill:none; stroke:var(--navy); stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.fnode.ai .ico{ background:var(--amber); }
.fnode .fk{ font-size:11px; font-weight:700; letter-spacing:.1em; color:var(--navy-3); }
.fnode.ai .fk{ color:var(--amber); }
.fnode .ft2{ margin-top:6px; font-size:12px; line-height:1.6; color:var(--body); }
.fnode .ft2 b{ display:block; font-size:12.5px; color:var(--ink); line-height:1.5; }
.fnode .ft2 span{ display:block; margin-top:2px; font-size:11px; color:var(--muted); }
.fnode.ai .ft2, .fnode.ai .ft2 b{ color:#fff; }
.fnode.ai ul{ margin-top:5px; }
.fnode.ai li{ position:relative; padding-left:12px; font-size:11.5px; line-height:1.55; color:#d6e0ee; margin-top:3px; }
.fnode.ai li::before{ content:""; position:absolute; left:0; top:.6em; width:5px; height:5px; border-radius:50%; background:var(--amber); }
.fnode .tools{ margin-top:8px; display:flex; flex-wrap:wrap; gap:4px; }
.fnode .tools i{ font-style:normal; font-size:10px; font-weight:700; padding:2px 7px; border-radius:4px; background:rgba(255,255,255,.12); color:#fff; border:1px solid rgba(255,255,255,.22); }
.flow .fa{ text-align:center; font-size:14px; font-weight:700; color:var(--navy-4); line-height:1; }

/* 課題・打ち手・結果 */
.case .steps{ display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-top:16px; }
.case .st{ background:var(--white); border-radius:12px; padding:18px 20px; border-top:5px solid var(--navy-4); }
.case:nth-of-type(even) .st{ background:var(--bg); }
.case .st.p{ border-top-color:var(--neg); } .case .st.a{ border-top-color:var(--navy); } .case .st.r{ border-top-color:var(--pos); }
.case .st .lb{ display:inline-block; font-size:11.5px; font-weight:700; letter-spacing:.1em; padding:2px 10px; border-radius:4px; }
.case .st.p .lb{ background:var(--neg-soft); color:var(--neg); } .case .st.a .lb{ background:var(--navy-soft); color:var(--navy); } .case .st.r .lb{ background:var(--pos-soft); color:var(--pos); }
.case .st h4{ margin-top:8px; font-size:15.5px; font-weight:700; color:var(--ink); line-height:1.5; }
.case .st ul{ margin-top:8px; }
.case .st li{ position:relative; padding-left:14px; font-size:13px; line-height:1.7; color:var(--body); }
.case .st li::before{ content:""; position:absolute; left:1px; top:.68em; width:6px; height:6px; border-radius:50%; background:var(--navy-4); }

/* 図表・計算式・導入・ポイント */
.case .rowc{ margin-top:16px; display:grid; grid-template-columns:1.1fr .9fr; gap:16px; }
.case .col{ display:flex; flex-direction:column; gap:14px; }
.fig .fb{ flex:1; margin-top:12px; display:flex; flex-direction:column; justify-content:center; gap:12px; }
.fig .fn{ margin-top:10px; font-size:11px; color:var(--muted); line-height:1.7; }
.ba .mn{ font-size:12.5px; font-weight:700; color:var(--ink); margin-bottom:5px; }
.ba .r{ display:grid; grid-template-columns:52px 1fr 84px; align-items:center; gap:10px; margin-top:5px; }
.ba .l{ font-size:11px; font-weight:700; }
.ba .r.b .l{ color:var(--neg); } .ba .r.a .l{ color:var(--pos); }
.ba .tr{ height:22px; background:#e7e9ed; border-radius:5px; overflow:hidden; }
.ba .fl{ height:100%; border-radius:5px; width:0; transition:width 1.1s cubic-bezier(.2,.7,.2,1); }
.ba .fl.in{ width:var(--w); }
.ba .r.b .fl{ background:var(--neg); opacity:.75; } .ba .r.a .fl{ background:var(--pos); }
.ba .v{ font-size:16px; font-weight:700; color:var(--ink); text-align:right; white-space:nowrap; }
.ba .v small{ font-size:10.5px; color:var(--muted); font-weight:700; margin-left:2px; }
.fun{ display:grid; gap:8px; }
.fun .fr{ display:grid; grid-template-columns:60px 1fr 84px; align-items:center; gap:10px; }
.fun .fl{ font-size:11px; font-weight:700; color:var(--navy-3); }
.fun .ft{ height:24px; display:flex; justify-content:center; }
.fun .ff{ height:100%; width:0; border-radius:5px; background:linear-gradient(90deg,var(--navy-3),var(--navy)); transition:width 1.1s cubic-bezier(.2,.7,.2,1); }
.fun .fr:last-child .ff{ background:linear-gradient(90deg,var(--orange),var(--amber)); }
.fun .ff.in{ width:var(--w); }
.fun .fv{ font-size:16px; font-weight:700; color:var(--ink); text-align:right; white-space:nowrap; }
.fun .fv small{ font-size:10.5px; color:var(--muted); font-weight:700; margin-left:2px; }
.calcwrap{ display:flex; align-items:stretch; gap:10px; }
.calcwrap .cl{ flex:0 0 auto; writing-mode:vertical-rl; font-size:11px; font-weight:700; letter-spacing:.2em; color:#fff; background:var(--navy-3); border-radius:8px; padding:8px 5px; display:flex; align-items:center; justify-content:center; }
.calc{ flex:1; display:flex; align-items:stretch; gap:6px; flex-wrap:wrap; }
.calc .c{ flex:1 1 0; min-width:78px; background:var(--white); border:1px solid var(--line); border-radius:10px; padding:8px 8px; text-align:center; }
.calc .c .l{ font-size:10px; color:var(--muted); font-weight:700; }
.calc .c .v{ font-size:16px; font-weight:700; color:var(--navy); margin-top:1px; white-space:nowrap; }
.calc .c .v small{ font-size:10px; color:var(--muted); margin-left:1px; }
.calc .c.res{ background:var(--navy); border-color:var(--navy); }
.calc .c.res .l{ color:#8ea3c0; } .calc .c.res .v{ color:var(--amber); } .calc .c.res .v small{ color:#fff; }
.calc .op{ align-self:center; font-size:16px; font-weight:700; color:var(--faint); flex:0 0 auto; }
.tl{ background:var(--white); border-radius:12px; padding:14px 20px; }
.case:nth-of-type(even) .tl{ background:var(--bg); }
.tl .lb,.pt .lb{ font-size:11.5px; font-weight:700; letter-spacing:.1em; color:var(--navy-3); }
.tl .row{ margin-top:8px; display:grid; grid-template-columns:repeat(2,1fr); gap:6px; }
.tl .s{ background:var(--navy-soft); border-radius:8px; padding:8px 10px; }
.tl .s:last-child{ background:var(--navy); }
.tl .s .w{ font-size:10px; font-weight:700; color:var(--navy-3); letter-spacing:.06em; }
.tl .s:last-child .w{ color:var(--amber); }
.tl .s .t{ font-size:12px; font-weight:700; color:var(--navy); margin-top:2px; line-height:1.45; }
.tl .s:last-child .t{ color:#fff; }
.pt{ background:var(--amber-soft); border-radius:12px; padding:14px 20px; border-left:5px solid var(--amber); flex:1; }
.pt .lb{ color:#8a5a00; }
.pt p{ margin-top:5px; font-size:13.5px; line-height:1.8; color:var(--ink); font-weight:500; }

/* ---------- まとめ・進め方・会社紹介・CTA ---------- */
.tblwrap{ overflow-x:auto; border-radius:14px; }
.sumtbl{ width:100%; background:var(--white); border-radius:14px; overflow:hidden; }
.sumtbl th,.sumtbl td{ padding:12px 16px; text-align:left; font-size:13.5px; border-bottom:1px solid var(--line); vertical-align:middle; }
.sumtbl th{ background:var(--navy); color:#fff; font-size:12px; font-weight:700; letter-spacing:.06em; }
.sumtbl td.no{ font-weight:700; color:var(--faint); width:48px; }
.sumtbl td.t{ font-weight:700; color:var(--ink); }
.sumtbl td.m{ text-align:right; font-weight:700; color:var(--orange); white-space:nowrap; }
.sumtbl td.m small{ color:var(--muted); font-weight:700; font-size:11px; }
.sumtbl td.k{ color:var(--muted); font-size:12.5px; white-space:nowrap; }
.sumtbl tr.tot td{ background:var(--navy-soft); font-weight:700; color:var(--navy); border-bottom:none; }
.sumtbl tr.tot td.m{ font-size:20px; }
.assum{ margin-top:18px; background:var(--white); border-radius:14px; padding:16px 24px; }
.assum h4{ font-size:12px; font-weight:700; color:var(--navy); letter-spacing:.08em; }
.assum ul{ margin-top:6px; display:grid; grid-template-columns:repeat(2,1fr); gap:2px 24px; }
.assum li{ font-size:11px; color:var(--muted); line-height:1.7; padding-left:12px; position:relative; }
.assum li::before{ content:""; position:absolute; left:0; top:.65em; width:5px; height:5px; border-radius:50%; background:var(--amber); }
.steps-grid{ display:grid; grid-template-columns:1.1fr .9fr; gap:22px; }
.plist{ display:grid; gap:12px; }
.plist .row{ background:var(--bg); border-radius:999px; padding:15px 26px; display:flex; align-items:center; gap:18px; }
.plist .row.on{ background:var(--navy); }
.plist .n{ flex:0 0 auto; width:28px; height:28px; border-radius:50%; background:var(--navy); color:#fff; font-size:13px; font-weight:700; display:flex; align-items:center; justify-content:center; }
.plist .row.on .n{ background:var(--amber); color:var(--navy); }
.plist .t{ font-size:16px; font-weight:700; color:var(--ink); }
.plist .row.on .t{ color:#fff; }
.plist .d{ margin-left:auto; font-size:12.5px; color:var(--muted); text-align:right; }
.plist .row.on .d{ color:#c9d6e8; }
.kpis{ display:grid; grid-template-columns:1fr; gap:14px; align-content:start; }
.kpi{ background:var(--bg); border-radius:14px; padding:22px 16px; text-align:center; }
.kpi .lb{ font-size:12.5px; font-weight:700; color:var(--navy-3); }
.kpi .v{ font-size:42px; font-weight:700; color:var(--navy); line-height:1.05; margin:8px 0 6px; }
.kpi .v.o{ color:var(--orange); }
.kpi .v .u{ font-size:16px; font-weight:700; margin-left:1px; }
.kpi .nt{ font-size:11px; color:var(--muted); line-height:1.6; }
.about{ display:grid; grid-template-columns:1.2fr .8fr; gap:22px; align-items:stretch; }
.rsn{ display:flex; gap:14px; align-items:flex-start; padding:12px 0; border-bottom:1px solid var(--line); }
.rsn:last-child{ border-bottom:none; }
.rsn .n{ flex:0 0 auto; font-size:12px; font-weight:700; color:var(--amber); letter-spacing:.1em; margin-top:4px; }
.rsn h4{ font-size:15.5px; font-weight:700; color:var(--ink); }
.rsn p{ margin-top:3px; font-size:13px; line-height:1.75; color:var(--body); }
.msg .who{ display:flex; gap:18px; align-items:center; }
.msg .photo{ flex:0 0 auto; width:120px; height:150px; border-radius:12px; overflow:hidden; background:#e6e9ee; }
.msg .photo img{ width:100%; height:100%; object-fit:cover; object-position:50% 12%; }
.msg .lb{ font-size:10.5px; font-weight:700; letter-spacing:.16em; color:var(--amber); }
.msg .nm{ font-size:20px; font-weight:700; color:#fff; margin-top:6px; }
.msg .ttl{ font-size:11.5px; color:#8ea3c0; margin-top:2px; }
.msg p{ margin-top:18px; font-size:13.5px; line-height:1.9; color:#c9d6e8; }
.msg p b{ color:#fff; }
.cta{ background:var(--navy); color:#fff; }
.ctabox{ position:relative; overflow:hidden; padding:76px 0 64px; background:linear-gradient(180deg,#123061 0%,var(--navy) 100%); }
.ctabox::before{ content:""; position:absolute; inset:0; background:radial-gradient(700px 400px at 90% 0%, rgba(74,106,153,.5), transparent 60%); }
.ctabox .wrap{ position:relative; text-align:center; }
.ctabox h2{ font-size:clamp(24px,3.2vw,36px); font-weight:700; line-height:1.5; }
.ctabox h2 .k{ color:var(--amber); }
.ctabox .ld{ margin:18px auto 0; font-size:15px; line-height:1.9; color:#c9d6e8; max-width:720px; }
.ctabox .btns{ margin-top:28px; display:flex; gap:14px; flex-wrap:wrap; justify-content:center; }
.ctabox .btn{ display:inline-flex; align-items:center; justify-content:center; gap:10px; min-width:300px; padding:17px 28px; border-radius:6px; font-size:16px; font-weight:700; }
.ctabox .btn.p{ background:linear-gradient(90deg,var(--orange),var(--amber)); color:#fff; box-shadow:0 6px 18px rgba(232,83,31,.3); }
.ctabox .btn.g{ background:#fff; color:#4a4a4a; }
.ctabox .nt{ margin-top:16px; font-size:12px; color:#c9d6e8; }
.sitefoot{ background:var(--navy); padding:44px 0 0; border-top:1px solid rgba(255,255,255,.1); }
.sitefoot .fcols{ display:grid; grid-template-columns:260px 1fr; gap:40px; }
.sitefoot .fco img{ height:20px; margin-bottom:16px; }
.sitefoot .fco p{ font-size:13px; color:#fff; line-height:1.9; }
.sitefoot .fco p.pale{ color:#c9d6e8; }
.sitefoot .fmenu{ display:grid; grid-template-columns:repeat(5,auto); gap:24px; justify-content:space-between; }
.sitefoot .fmenu h5{ font-size:13px; font-weight:700; color:#fff; padding-bottom:6px; margin-bottom:8px; border-bottom:1px solid rgba(255,255,255,.35); white-space:nowrap; }
.sitefoot .fmenu a,.sitefoot .fmenu span{ display:block; font-size:12.5px; color:#fff; line-height:2; white-space:nowrap; }
.sitefoot .copy{ margin-top:36px; padding:16px 0; border-top:1px solid rgba(255,255,255,.1); text-align:center; font-size:12px; color:#c9d6e8; }

.rv{ opacity:0; transform:translateY(14px); transition:opacity .6s ease, transform .6s ease; }
.rv.in{ opacity:1; transform:none; }

/* ---------- レスポンシブ（画面のみ） ---------- */
@media screen and (max-width:900px){
  .idx,.about,.steps-grid,.case .head,.case .steps,.case .rowa,.case .rowc{ grid-template-columns:1fr; }
  .hero .grid{ grid-template-columns:1fr; }
  .hero .big{ font-size:120px; }
  .hero .meta{ grid-template-columns:1fr 1fr; }
  .case .hl{ text-align:left; }
  .assum ul{ grid-template-columns:1fr; }
  .calcwrap{ flex-direction:column; }
  .calcwrap .cl{ writing-mode:horizontal-tb; padding:6px 10px; }
  .mailgrid,.webgrid,.docgrid,.fly,.sl{ grid-template-columns:1fr; }
  .side{ border-left:none; border-top:1px solid #e3e7ed; }
  .sside{ display:none; }
  .pcards{ grid-template-columns:1fr; }
  .sitefoot .fcols{ grid-template-columns:1fr; }
  .sitefoot .fmenu{ grid-template-columns:repeat(2,1fr); }
  .ctabox .btn{ min-width:0; width:100%; }
}

/* ============================================================
   印刷（PDF）: A4横。事例は 2ページ（画面イメージ＋仕組み ／ 課題・結果・図表）
   ============================================================ */
@page{ size:A4 landscape; margin:0; }
@media print{
  html,body{ background:#fff; }
  body{ width:297mm; }
  .topbar,.progress,.web-only{ display:none !important; }
  .print-only{ display:block; }
  .rv{ opacity:1 !important; transform:none !important; transition:none !important; }
  .ba .fl,.fun .ff{ width:var(--w) !important; transition:none !important; }
  .pg{ width:297mm; height:210mm; overflow:hidden; break-after:page; page-break-after:always; position:relative; display:flex; flex-direction:column; justify-content:center; }
  .pg .wrap,.hero .wrap{ width:1340px; zoom:.78; }
  section.sec{ padding:0; }
  section.sec .sh{ margin-bottom:22px; }
  .hero{ border-bottom:none; }
  .hero .wrap{ padding:0; }
  .case{ padding:0; border-top:none; background:#fff !important; }
  .case .pg{ background:#fff; }
  .case h3{ font-size:26px; }
  .case .rowa{ margin-top:16px; }
  .dev.phone{ max-width:380px; }
  .dev .chatbody{ min-height:0; }
  .case .steps{ margin-top:0; }
  .case .st{ padding:12px 16px; }
  .case .st li{ font-size:12.5px; line-height:1.6; }
  .case .rowc{ margin-top:12px; }
  .pfoot{ position:absolute; left:15mm; right:15mm; bottom:7mm; display:flex; justify-content:space-between; font-size:9px; color:var(--faint); letter-spacing:.06em; }
  .pfoot .n{ font-weight:700; color:var(--navy-4); font-size:10.5px; }
  .cta{ display:flex; flex-direction:column; }
  .ctabox{ flex:1; display:flex; align-items:center; padding:0; }
  .ctabox .wrap{ zoom:.85; }
  .sitefoot{ padding-top:26px; }
  .sitefoot .wrap{ zoom:.72; }
  .sitefoot .copy{ margin-top:20px; padding:12px 0; }
}
@media screen{ .pfoot{ display:none; } }

/* ---------- v3.1: ウィンドウ型の画面イメージを仕組み図解と同じ高さに ---------- */
.mockbox .dev.win{ display:flex; flex-direction:column; }
.mockbox .dev.win > :nth-child(2){ flex:1; }
.mailgrid,.webgrid,.docgrid,.fly,.sl{ min-height:100%; }
.mail,.side,.form,.res,.prop,.fin,.paper,.chk,.lst,.smain{ display:flex; flex-direction:column; }
.mail .mbody,.prop .pcards,.lst .ta,.paper{ flex:1; }
.side .sr:last-child{ border-bottom:none; }
.hero .grid{ align-items:center; }
.hero .big{ margin-right:10px; }

/* ============================================================
   v4: 表紙画像・CTA配色・カード・画面イメージの写真対応
   ============================================================ */
.hero{ background:#fff; border-bottom:1px solid var(--line); }
.hero .coverwrap{ background:#fff; }
.hero .cover{ width:100%; max-width:1680px; margin:0 auto; display:block; }
.hero .wrap{ padding:22px 0 26px; }
.hero .meta{ margin:0; display:flex; flex-wrap:wrap; gap:0 36px; align-items:flex-end; }
.hero .meta > div{ padding:6px 0; }
.hero .meta .l{ font-size:11px; font-weight:700; letter-spacing:.12em; color:#6b7682; }
.hero .meta .v{ font-size:28px; font-weight:900; color:#111; line-height:1.15; margin-top:2px; }
.hero .meta .v span{ font-size:12px; margin:0 2px; font-weight:700; color:#444; }
.hero .meta .v.sm{ font-size:14px; font-weight:700; margin-top:10px; }
.hero .meta .who{ margin-left:auto; display:flex; align-items:center; gap:12px; font-size:12px; color:#6b7682; }
.hero .meta .who img{ height:16px; }
.hero .top,.hero .grid,.hero .rule,.hero .sub,.hero .big{ display:none; }

/* 事例番号を表紙の「10」と揃えたアウトライン数字に */
.case .no b{ font-size:44px; font-weight:900; color:transparent; -webkit-text-stroke:1.5px var(--navy); letter-spacing:-.02em; vertical-align:-8px; }

/* カードの質感を統一（薄い罫線＋控えめの影） */
.mockbox,.flowbox,.fig,.tl,.case .st,.card{ border:1px solid #e6e9ef; }
.case:nth-of-type(even) .mockbox,.case:nth-of-type(even) .flowbox,.case:nth-of-type(even) .fig,.case:nth-of-type(even) .tl,.case:nth-of-type(even) .st{ background:#fff; }
.case:nth-of-type(even){ background:#f7f8fa; }
.case:nth-of-type(even) .fnode{ background:var(--navy-soft); }
.case:nth-of-type(even) .fnode.ai{ background:var(--navy); }
.case .rowa,.case .rowc{ gap:18px; }
.case .steps{ gap:18px; }
.idx a{ background:#fff; border:1px solid #e6e9ef; }
.plist .row{ background:#f7f8fa; border:1px solid #e6e9ef; }
.plist .row.on{ border-color:var(--navy); }
.kpi{ background:#fff; border:1px solid #e6e9ef; }

/* 画面イメージの写真 */
.dev .pc .ph{ background-size:cover; background-position:center; }
.room{ height:150px; background-size:cover; background-position:center; background-color:#e6e9ee; }
.room i{ display:none; }
.pk .pkn{ padding-top:9px; font-size:12px; }
.pk .pkc{ font-size:19px; }
.pk .pkm{ padding-bottom:10px; font-size:10.5px; }
.fph{ background-size:cover; background-position:center; }
.fph[style]::after{ display:none; }

/* CTA: 白地に切り替え（フッターのネイビーと分ける） */
.cta{ background:#fff; color:var(--ink); }
.ctabox{ background:linear-gradient(180deg,#fff 0%,#f4f6f9 100%); padding:80px 0 72px; }
.ctabox::before{ display:none; }
.ctabox h2{ color:var(--navy); }
.ctabox h2 .k{ color:var(--orange); }
.ctabox .ld{ color:var(--body); }
.ctabox .btn.g{ background:#fff; color:var(--navy); border:1.5px solid var(--navy); }
.ctabox .nt{ color:var(--muted); }
.sitefoot{ border-top:none; }
@media print{
  .hero .coverwrap{ padding:0; }
  .hero .cover{ width:100%; max-width:none; }
  .hero .wrap{ padding:14px 0 0; }
  .hero .meta .v{ font-size:24px; }
  .cta{ background:#fff; }
  .ctabox{ padding:0; }
}

/* 表示時アニメーション: 静止状態で全て見える（サムネイル・JS無効でも欠けない） */
.rv{ opacity:1; transform:none; transition:none; }
.rv.in{ animation:fadeUp .6s ease both; }
@keyframes fadeUp{ from{ opacity:0; transform:translateY(12px); } to{ opacity:1; transform:none; } }
@media (prefers-reduced-motion:reduce){ .rv.in{ animation:none; } .ba .fl,.fun .ff{ transition:none; } }

/* ============================================================
   v5: 触れるAI査定 ／ 現況→プラン比較 ／ 物件資料（マイソク）
   ============================================================ */
.satei .form .ft small{ display:block; font-size:10.5px; font-weight:500; color:#8b949e; margin-top:2px; }
.satei .form label span{ display:flex; justify-content:space-between; font-size:11px; }
.satei .form label span b{ color:var(--navy); font-size:12px; }
.satei .form select{ width:100%; border:1px solid #d9dee6; border-radius:6px; padding:6px 8px; font-size:12px; color:#111; background:#fff; font-family:inherit; }
.satei .form input[type=range]{ width:100%; accent-color:var(--navy); margin:4px 0 2px; }
.satei .res .rp{ font-size:38px; }
.satei .rbars{ margin-top:10px; display:grid; gap:6px; }
.satei .rbars div{ display:grid; grid-template-columns:96px 1fr 44px; align-items:center; gap:8px; font-size:10.5px; color:#6b7682; }
.satei .rbars i{ display:block; height:8px; border-radius:4px; background:linear-gradient(90deg,var(--navy-3),var(--navy)); width:40%; transition:width .4s ease; }
.satei .rbars b{ text-align:right; color:#111; font-size:11px; }
/* 比較スライダー */
.cmp{ position:relative; height:260px; border-radius:10px; overflow:hidden; margin-top:10px; background:#e6e9ee; }
.cmp .after,.cmp .before{ position:absolute; inset:0; background-size:cover; background-position:center; }
.cmp .before{ width:50%; right:auto; border-right:2px solid #fff; }
.cmp .lb{ position:absolute; top:10px; font-size:11px; font-weight:700; padding:3px 9px; border-radius:4px; background:rgba(17,19,24,.72); color:#fff; }
.cmp .lb.l{ left:10px; } .cmp .lb.r{ right:10px; background:var(--navy); color:var(--amber); }
.cmp .handle{ position:absolute; top:50%; left:50%; width:34px; height:34px; margin:-17px 0 0 -17px; border-radius:50%; background:#fff; box-shadow:0 2px 10px rgba(0,0,0,.3); pointer-events:none; }
.cmp .handle::before{ content:"◀ ▶"; position:absolute; inset:0; display:flex; align-items:center; justify-content:center; font-size:9px; color:var(--navy); font-weight:700; letter-spacing:-1px; }
.cmp input{ position:absolute; inset:0; width:100%; height:100%; opacity:0; cursor:ew-resize; margin:0; }
.prop2 .pcards{ grid-template-columns:repeat(3,1fr); gap:10px; }
.prop2 .pk{ display:flex; flex-direction:column; }
.prop2 .room{ height:110px; }
.prop2 .pkb{ padding:8px 10px 10px; display:flex; flex-direction:column; flex:1; }
.prop2 .pkn{ padding:0; font-size:12px; font-weight:700; color:#111; }
.prop2 ul{ margin-top:4px; }
.prop2 li{ font-size:10.5px; color:#3d4854; line-height:1.55; padding-left:9px; position:relative; }
.prop2 li::before{ content:""; position:absolute; left:0; top:.6em; width:4px; height:4px; border-radius:50%; background:var(--navy-4); }
.prop2 .pkr{ margin-top:auto; padding-top:6px; border-top:1px solid #eef0f3; display:grid; grid-template-columns:1.2fr 1fr .8fr; gap:4px; }
.prop2 .pkr span{ display:block; font-size:9px; color:#8b949e; }
.prop2 .pkr b{ font-size:12.5px; color:var(--navy); }
/* マイソク */
.my{ padding:0; background:#fff; }
.myh{ display:flex; justify-content:space-between; align-items:flex-end; gap:12px; padding:12px 16px; background:var(--navy); color:#fff; }
.myk{ font-size:10px; font-weight:700; letter-spacing:.1em; color:var(--amber); }
.myn{ font-size:16px; font-weight:700; margin-top:2px; }
.mya{ font-size:10.5px; color:#c9d6e8; margin-top:2px; }
.myp{ text-align:right; white-space:nowrap; }
.myp span{ display:block; font-size:10px; color:#c9d6e8; }
.myp b{ font-size:24px; font-weight:900; color:var(--amber); line-height:1.1; }
.myg{ display:grid; grid-template-columns:1.05fr .95fr; gap:12px; padding:12px 14px; }
.mph{ height:150px; border-radius:6px; background-size:cover; background-position:center; background-color:#e6e9ee; }
.mps{ display:grid; grid-template-columns:1fr 1fr; gap:6px; margin-top:6px; }
.mps div{ height:72px; border-radius:6px; background-size:cover; background-position:center; background-color:#e6e9ee; }
.mycopy{ margin-top:8px; font-size:11px; line-height:1.65; color:#111; }
.myfac{ margin-top:6px; display:flex; flex-wrap:wrap; gap:4px; }
.myfac span{ font-size:9.5px; font-weight:700; background:var(--navy-soft); color:var(--navy); padding:2px 7px; border-radius:4px; }
.mplan{ border:1px solid #e6e9ef; border-radius:6px; overflow:hidden; background:#fff; }
.mplan img{ width:100%; height:150px; object-fit:contain; display:block; background:#fff; }
.myr table{ width:100%; margin-top:8px; font-size:10px; }
.myr th{ text-align:left; color:#8b949e; font-weight:700; padding:2px 6px 2px 0; width:58px; white-space:nowrap; border-bottom:1px solid #eef0f3; }
.myr td{ color:#111; padding:2px 0; border-bottom:1px solid #eef0f3; }
.myf{ display:flex; justify-content:space-between; align-items:center; padding:8px 16px; background:#f6f8fb; border-top:1px solid #e6e9ef; font-size:10px; color:#6b7682; }
.myf b{ color:#111; margin-right:8px; }
/* 経営判断のポイント削除に伴う調整 */
.case .rowc{ align-items:start; }
.tl .row{ grid-template-columns:1fr; }
@media screen and (max-width:900px){ .myg{ grid-template-columns:1fr; } .prop2 .pcards{ grid-template-columns:1fr; } }
@media print{ .cmp{ height:220px; } .cmp .before{ width:50% !important; } }
.case .rowc{ grid-template-columns:1.15fr .85fr; align-items:stretch; }
.case .calcwrap{ margin-top:16px; }
.tl{ display:flex; flex-direction:column; }
.tl .row{ flex:1; grid-template-columns:1fr; align-content:stretch; }
.tl .s{ display:flex; flex-direction:column; justify-content:center; }
.mplan img{ height:190px; }
.mph{ height:160px; }
@media print{
  .mph{ height:120px; } .mps div{ height:60px; } .mplan img{ height:150px; }
  .myr table{ font-size:9.5px; } .myr th,.myr td{ padding:1px 0; }
  .myh{ padding:9px 14px; } .myg{ padding:10px 12px; }
  .cmp{ height:200px; } .prop2 .room{ height:90px; }
}

/* ============================================================
   v6: 実システム風の画面（CRM／重説エディタ／掲載管理）
   ============================================================ */
.dev .ch{ display:flex; justify-content:space-between; align-items:center; font-size:11px; color:#8b949e; margin-bottom:8px; }
.dev .ch b{ font-size:12px; color:#111; }
/* CRM */
.crm{ display:grid; grid-template-columns:118px 1fr; min-height:100%; }
.cnav{ background:#0f1b33; color:#c9d6e8; padding:12px 10px; font-size:11px; }
.cnav b{ display:block; color:#fff; font-size:12px; margin-bottom:10px; letter-spacing:.1em; }
.cnav span{ display:block; padding:5px 8px; border-radius:5px; }
.cnav span.on{ background:#1f3f70; color:#fff; }
.cmain{ padding:12px 14px; display:flex; flex-direction:column; gap:10px; }
.crec{ display:flex; align-items:center; gap:10px; padding:10px 12px; background:#f6f8fb; border-radius:8px; }
.crec .av{ width:30px; height:30px; border-radius:50%; background:var(--navy); color:#fff; display:flex; align-items:center; justify-content:center; font-weight:700; font-size:13px; flex:0 0 auto; }
.crec b{ font-size:13px; color:#111; display:block; }
.crec small{ font-size:10.5px; color:#6b7682; display:block; line-height:1.5; }
.crec .st{ margin-left:auto; font-size:10.5px; font-weight:700; color:#fff; background:var(--orange); padding:3px 9px; border-radius:999px; white-space:nowrap; }
.cgrid{ display:grid; grid-template-columns:1.3fr .7fr; gap:10px; flex:1; }
.cmail{ border:1px solid #e6e9ef; border-radius:8px; padding:10px 12px; display:flex; flex-direction:column; }
.cmail .mh div{ display:flex; gap:8px; font-size:11px; color:#111; padding:3px 0; border-bottom:1px solid #eef0f3; }
.cmail .mh span{ flex:0 0 40px; color:#8b949e; font-weight:700; }
.cmail .mbody{ padding:8px 0 4px; flex:1; }
.cmail .mbody p{ font-size:11.5px; color:#111; line-height:1.7; margin-bottom:6px; }
.props{ display:grid; gap:6px; margin:6px 0; }
.props > div{ display:flex; gap:8px; align-items:center; border:1px solid #e6e9ef; border-radius:6px; padding:5px; }
.props i{ width:52px; height:38px; border-radius:4px; background-size:cover; background-position:center; flex:0 0 auto; }
.props b{ font-size:11px; color:var(--navy); display:block; }
.props span{ font-size:10px; color:#6b7682; }
.sig{ font-size:10px; color:#6b7682; line-height:1.6; border-top:1px solid #eef0f3; padding-top:6px; margin-top:4px; }
.cmail .cf{ display:flex; gap:10px; font-size:10px; color:var(--navy); font-weight:700; padding-top:6px; border-top:1px solid #eef0f3; }
.ctl{ border:1px solid #e6e9ef; border-radius:8px; padding:10px 12px; background:#f6f8fb; display:flex; flex-direction:column; }
.ctl .sr{ display:flex; align-items:center; gap:8px; padding:6px 0; border-bottom:1px solid #e9edf2; font-size:11px; }
.ctl .sr i{ width:8px; height:8px; border-radius:50%; flex:0 0 auto; }
.ctl .sr i.hot{ background:var(--orange); } .ctl .sr i.warm{ background:var(--amber); } .ctl .sr i.cold{ background:#c3c9d1; }
.ctl .sr b{ display:block; color:#111; } .ctl .sr span{ display:block; color:#6b7682; font-size:10px; }
.ctl .sr em{ margin-left:auto; font-style:normal; font-size:10px; color:#8b949e; }
.ctl .next{ margin-top:auto; background:var(--navy); color:#fff; border-radius:8px; padding:8px 10px; }
.ctl .next span{ display:block; font-size:9.5px; color:var(--amber); font-weight:700; }
.ctl .next b{ display:block; font-size:12px; margin-top:2px; }
.ctl .next em{ font-style:normal; font-size:10px; color:#c9d6e8; }
/* 重説エディタ */
.docx{ display:flex; flex-direction:column; }
.dxtool{ display:flex; gap:6px; align-items:center; padding:8px 12px; background:#f6f8fb; border-bottom:1px solid #e6e9ef; font-size:10.5px; }
.dxtool span{ padding:3px 9px; border-radius:999px; font-weight:700; }
.dxtool .c1{ background:#e6e9ef; color:#3d4854; } .dxtool .c2{ background:var(--navy-soft); color:var(--navy); } .dxtool .c3{ background:var(--amber-soft); color:#8a5a00; }
.dxtool em{ font-style:normal; margin-left:auto; border:1px solid #d9dee6; border-radius:5px; padding:3px 10px; color:#3d4854; background:#fff; }
.dxtool em + em{ margin-left:0; }
.dxg{ display:grid; grid-template-columns:1.1fr .9fr; flex:1; }
.paper2{ padding:14px 16px; border-right:1px solid #eef0f3; background:#fff; }
.paper2 .ph2{ text-align:center; margin-bottom:8px; }
.paper2 .ph2 b{ display:block; font-size:13px; color:#111; }
.paper2 .ph2 small{ font-size:9.5px; color:#8b949e; }
.paper2 table{ width:100%; font-size:10.5px; border:1px solid #d9dee6; }
.paper2 th{ width:72px; text-align:left; background:#f6f8fb; color:#3d4854; font-weight:700; padding:4px 8px; border:1px solid #e6e9ef; }
.paper2 td{ padding:4px 8px; border:1px solid #e6e9ef; color:#111; }
.paper2 tr.ng td{ background:var(--neg-soft); box-shadow:inset 3px 0 0 var(--neg); }
.paper2 tr.warn td{ background:var(--amber-soft); box-shadow:inset 3px 0 0 var(--amber); }
.stamp{ margin-top:10px; display:flex; gap:12px; align-items:center; justify-content:flex-end; font-size:10px; }
.stamp span{ display:block; color:#8b949e; } .stamp b{ color:#111; }
.stamp .seal{ width:30px; height:30px; border:1.5px solid var(--neg); color:var(--neg); border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:11px; font-weight:700; }
.dxchk{ padding:12px 14px; background:#f6f8fb; display:flex; flex-direction:column; }
.dxchk .bar{ height:6px; border-radius:3px; background:#e3e7ed; margin-bottom:10px; overflow:hidden; }
.dxchk .bar i{ display:block; height:100%; background:var(--pos); }
.dxchk .ck{ display:flex; gap:8px; align-items:flex-start; background:#fff; border-radius:6px; padding:7px 8px; margin-bottom:6px; font-size:11px; color:#111; border:1px solid #e6e9ef; }
.dxchk .ck span{ flex:0 0 auto; width:18px; height:18px; border-radius:50%; display:flex; align-items:center; justify-content:center; }
.dxchk .ck span svg{ width:12px; height:12px; fill:none; stroke:#fff; stroke-width:2.4; stroke-linecap:round; stroke-linejoin:round; }
.dxchk .ck.ng span{ background:var(--neg); } .dxchk .ck.warn span{ background:var(--amber); } .dxchk .ck.ok span{ background:var(--pos); }
.dxchk .ck b{ display:block; font-weight:700; } .dxchk .ck small{ display:block; color:#6b7682; font-size:10px; margin-top:1px; }
.dxchk .send{ margin-top:auto; background:var(--navy); color:#fff; text-align:center; font-weight:700; font-size:11px; border-radius:6px; padding:8px; }
/* 掲載管理 */
.lm{ display:grid; grid-template-columns:110px 1fr; min-height:100%; }
.lnav{ background:#0f1b33; color:#c9d6e8; padding:12px 10px; font-size:11px; }
.lnav b{ display:block; color:#fff; font-size:12px; margin-bottom:10px; }
.lnav span{ display:block; padding:5px 8px; border-radius:5px; }
.lnav span.on{ background:#1f3f70; color:#fff; }
.lmain{ padding:12px 14px; display:flex; flex-direction:column; gap:10px; }
.lhead{ display:flex; align-items:center; gap:10px; }
.lhead i{ width:56px; height:42px; border-radius:6px; background-size:cover; background-position:center; flex:0 0 auto; }
.lhead b{ display:block; font-size:12.5px; color:#111; }
.lhead small{ font-size:10px; color:#6b7682; }
.lhead .chips{ margin-left:auto; display:flex; gap:4px; }
.lhead .chips span{ font-size:9.5px; font-weight:700; padding:2px 7px; border-radius:999px; background:#e6e9ef; color:#3d4854; }
.lhead .chips span.on{ background:var(--pos); color:#fff; }
.lgrid{ display:grid; grid-template-columns:1.25fr .75fr; gap:10px; flex:1; }
.lgen{ border:1px solid #e6e9ef; border-radius:8px; padding:10px 12px; display:flex; flex-direction:column; }
.lgen .tabs{ display:flex; gap:4px; border-bottom:2px solid #e3e7ed; }
.lgen .tabs span{ font-size:11px; font-weight:700; padding:4px 10px; color:#8b949e; border-bottom:2px solid transparent; margin-bottom:-2px; }
.lgen .tabs span.on{ color:var(--navy); border-bottom-color:var(--navy); }
.lgen .ta{ margin-top:8px; border:1px solid #d9dee6; border-radius:6px; padding:8px 10px; font-size:11.5px; color:#111; line-height:1.7; background:#fff; flex:1; min-height:0; }
.lfoot{ display:flex; gap:6px; align-items:center; margin-top:6px; font-size:10px; color:#8b949e; }
.lfoot em{ font-style:normal; border:1px solid #d9dee6; border-radius:5px; padding:3px 10px; color:#3d4854; background:#fff; font-weight:700; }
.lfoot em:first-of-type{ margin-left:auto; }
.lfoot em.p{ background:var(--navy); color:#fff; border-color:var(--navy); }
.lgen .lchecks{ margin-top:8px; display:grid; gap:4px; }
.lgen .lchecks div{ display:flex; gap:6px; align-items:center; font-size:10.5px; color:#111; }
.lgen .lchecks span{ width:15px; height:15px; border-radius:50%; background:var(--pos); display:flex; align-items:center; justify-content:center; }
.lgen .lchecks svg{ width:9px; height:9px; fill:none; stroke:#fff; stroke-width:2.6; stroke-linecap:round; stroke-linejoin:round; }
.lprev{ display:flex; flex-direction:column; gap:8px; }
.pcard{ border:1px solid #e6e9ef; border-radius:8px; overflow:hidden; background:#fff; }
.pcard i{ display:block; height:84px; background-size:cover; background-position:center; }
.pcard .pp{ padding:6px 10px 0; font-size:18px; font-weight:900; color:var(--orange); }
.pcard .pp small{ font-size:10px; margin-left:1px; } .pcard .pp em{ font-style:normal; font-size:9.5px; color:#8b949e; margin-left:6px; font-weight:500; }
.pcard .pn{ padding:0 10px; font-size:11px; color:#111; font-weight:700; }
.pcard .pa{ padding:0 10px; font-size:10px; color:#6b7682; }
.pcard .ptags{ padding:4px 10px 8px; display:flex; gap:4px; flex-wrap:wrap; }
.pcard .ptags span{ font-size:9px; background:var(--navy-soft); color:var(--navy); padding:1px 6px; border-radius:3px; font-weight:700; }
.lstat{ display:grid; grid-template-columns:1fr 1fr; gap:6px; }
.lstat div{ background:#f6f8fb; border-radius:6px; padding:6px 8px; }
.lstat span{ display:block; font-size:9.5px; color:#6b7682; }
.lstat b{ font-size:16px; color:var(--navy); } .lstat b small{ font-size:9px; } .lstat em{ font-style:normal; font-size:10px; color:var(--pos); font-weight:700; margin-left:4px; }
@media screen and (max-width:900px){ .crm,.lm,.dxg,.cgrid,.lgrid{ grid-template-columns:1fr; } .cnav,.lnav{ display:none; } }
@media print{ .cmail .mbody p{ font-size:11px; } }

/* v6: SEO用の見出し・FAQ */
.hero .intro{ padding:26px 0 6px; max-width:860px; }
.hero .intro h1{ font-size:clamp(22px,2.6vw,30px); font-weight:900; color:#111; line-height:1.4; letter-spacing:.01em; }
.hero .intro h1 span{ display:block; font-size:14px; font-weight:700; color:#6b7682; margin-top:6px; letter-spacing:.04em; }
.hero .intro p{ margin-top:12px; font-size:14px; line-height:1.9; color:#3d4854; }
.hero .meta{ margin-top:14px; padding-top:16px; border-top:1px solid var(--line); }
.case h2.ct{ margin-top:14px; font-size:clamp(22px,2.6vw,30px); font-weight:700; color:var(--ink); line-height:1.45; letter-spacing:.02em; padding:0; border:0; }
.case h2.ct .o{ color:var(--orange); }
.faq{ display:grid; gap:10px; }
.faq details{ background:var(--bg); border:1px solid #e6e9ef; border-radius:12px; padding:0 20px; }
.faq summary{ cursor:pointer; list-style:none; font-size:15.5px; font-weight:700; color:var(--navy); padding:16px 0; position:relative; padding-right:28px; }
.faq summary::-webkit-details-marker{ display:none; }
.faq summary::after{ content:"＋"; position:absolute; right:0; top:14px; color:var(--amber); font-weight:700; }
.faq details[open] summary::after{ content:"−"; }
.faq p{ font-size:14px; line-height:1.85; color:var(--body); padding:0 0 16px; }
@media print{ .hero .intro{ padding:14px 0 0; } .hero .intro p{ font-size:12.5px; } .faq details{ padding:0 16px; } .faq summary{ padding:10px 0; font-size:14px; } .faq p{ font-size:12.5px; padding-bottom:10px; } .faq details:not([open]) p{ display:block; } .faq summary::after{ display:none; } }
@media print{ .hero .intro{ display:none; } .hero .cover{ max-height:150mm; object-fit:cover; } }

/* ============================================================
   v7: 公式サイトと同一のヘッダー・CTA・フッター
   ============================================================ */
.topbar{ display:none !important; }
.sitehead{ position:sticky; top:0; z-index:50; background:#fff; box-shadow:0 1px 4px rgba(0,0,0,.12); font-family:Figtree,"Noto Sans JP","Hiragino Kaku Gothic ProN",sans-serif; }
.hin{ max-width:1408px; margin:0 auto; padding:0 48px; height:72px; display:flex; align-items:center; }
.hlogo img{ height:40px; width:auto; display:block; }
.hnav{ margin-left:auto; display:flex; align-items:center; }
.hnav a{ padding:0 12px; font-size:16px; color:#1a1a1a; letter-spacing:.02em; }
.hnav a:hover{ color:var(--orange); }
.hbtns{ display:flex; gap:8px; margin-left:12px; }
.hb{ height:54px; display:inline-flex; align-items:center; gap:14px; padding:0 23px; font-size:16px; color:#fff; white-space:nowrap; }
.hb.p{ background:linear-gradient(#eaa418 0%,#d81e18 100%); }
.hb.n{ background:#0e254d; }
.hb span{ font-size:14px; }
section[id]{ scroll-margin-top:80px; }
/* CTAバンド */
.cta{ background:#1a1a1a; }
.ctaband{ position:relative; padding:96px 0; background:#0e254d url(assets/cta-bg.jpg) center/cover no-repeat; text-align:center; color:#fff; }
.ctaband::before{ content:""; position:absolute; inset:0; background:rgba(4,13,29,.7); }
.ctaband .wrap{ position:relative; }
.ctaband h2{ font-size:clamp(24px,3vw,34px); font-weight:700; line-height:1.55; color:#fff; }
.ctaband h2 .k{ color:var(--amber); }
.ctaband .ld{ margin:22px auto 0; font-size:15px; line-height:1.95; color:#fff; letter-spacing:.06em; max-width:760px; }
.ctaband .btns{ margin-top:28px; display:flex; justify-content:center; }
.ctaband .btn{ display:inline-flex; align-items:center; gap:14px; height:51px; padding:0 28px; font-size:15px; font-weight:700; color:#fff; background:linear-gradient(#eaa418 0%,#d81e18 100%); border-radius:0; }
.ctaband .nt{ margin-top:22px; font-size:13px; color:#fff; letter-spacing:.08em; }
.ctabox{ display:none; }
/* フッター（#1a1a1a・96px・5列178px） */
.sitefoot{ background:#1a1a1a; padding:96px 0 0; border:0; }
.sitefoot .fin{ max-width:1408px; margin:0 auto; padding:0 48px; }
.sitefoot .fcols{ display:grid; grid-template-columns:260px 1fr; gap:40px; }
.sitefoot .fco img{ height:43px; width:auto; margin-bottom:20px; }
.sitefoot .fco p{ font-size:14px; color:#fff; line-height:1.8; }
.sitefoot .fco p.pale{ color:#e6e6e6; }
.sitefoot .fmenu{ display:grid; grid-template-columns:repeat(5,178px); gap:16px; justify-content:end; }
.sitefoot .fmenu h5{ font-size:16px; font-weight:700; color:#fff; padding-bottom:0; margin-bottom:16px; border-bottom:.5px solid #e6e6e6; white-space:nowrap; }
.sitefoot .fmenu a,.sitefoot .fmenu span{ display:block; font-size:14px; color:#fff; line-height:1.8; white-space:nowrap; }
.sitefoot .copy{ margin-top:96px; padding:16px 0; text-align:center; font-size:12px; color:#fff; border:0; }
@media screen and (max-width:1100px){ .hnav{ display:none; } .hb.n{ display:none; } .sitefoot .fmenu{ grid-template-columns:repeat(3,1fr); justify-content:start; } }
@media screen and (max-width:900px){ .hin{ padding:0 20px; height:64px; } .hlogo img{ height:32px; } .hb{ height:44px; padding:0 16px; font-size:14px; } .sitefoot{ padding-top:48px; } .sitefoot .fcols{ grid-template-columns:1fr; } .sitefoot .fmenu{ grid-template-columns:repeat(2,1fr); } .sitefoot .copy{ margin-top:40px; } .ctaband{ padding:64px 0; } }
@media print{ .sitehead{ display:none !important; } .ctaband{ padding:40px 0; } .sitefoot{ padding-top:30px; } .sitefoot .copy{ margin-top:24px; } .sitefoot .fin{ zoom:.72; } }

/* ============================================================
   v7: LINE公式アカウント管理画面 ／ 物確AIコンソール ／ Slack
   ============================================================ */
.lo{ display:grid; grid-template-columns:190px 1fr 190px; min-height:100%; }
.lolist{ border-right:1px solid #e6e9ef; background:#fff; display:flex; flex-direction:column; }
.loh{ display:flex; justify-content:space-between; align-items:center; padding:10px 12px 6px; font-size:12px; }
.loh b{ color:#111; } .loh span{ font-size:10px; color:#fff; background:var(--orange); padding:1px 7px; border-radius:999px; font-weight:700; }
.lolist .search{ margin:0 10px 6px; border:1px solid #e6e9ef; border-radius:6px; padding:4px 8px; font-size:10px; color:#8b949e; background:#f6f8fb; }
.lolist .li{ display:flex; gap:8px; align-items:center; padding:8px 10px; border-top:1px solid #f0f2f5; font-size:10.5px; }
.lolist .li.on{ background:#eef4ff; }
.lolist .av{ width:26px; height:26px; border-radius:50%; background:#c9d6e8; color:var(--navy); font-weight:700; font-size:11px; display:flex; align-items:center; justify-content:center; flex:0 0 auto; }
.lolist .li > div{ flex:1; min-width:0; }
.lolist .li b{ display:flex; justify-content:space-between; color:#111; }
.lolist .li b em{ font-style:normal; font-weight:500; color:#8b949e; font-size:9.5px; }
.lolist .li small{ display:block; color:#6b7682; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; font-size:10px; }
.lolist .li i{ font-style:normal; font-size:8.5px; font-weight:700; padding:1px 5px; border-radius:3px; background:#e6e9ef; color:#3d4854; flex:0 0 auto; }
.lolist .li i.ai{ background:var(--navy-soft); color:var(--navy); } .lolist .li i.hot{ background:#fdece8; color:var(--orange); }
.lochat{ display:flex; flex-direction:column; min-width:0; }
.lch{ display:flex; align-items:center; gap:10px; padding:8px 12px; border-bottom:1px solid #e6e9ef; background:#fff; }
.lch b{ display:block; font-size:12px; color:#111; } .lch small{ font-size:9.5px; color:#8b949e; }
.lch .tags{ display:flex; gap:4px; flex-wrap:wrap; }
.lch .tags span{ font-size:9px; font-weight:700; background:var(--navy-soft); color:var(--navy); padding:1px 6px; border-radius:3px; }
.lch .tgl{ margin-left:auto; font-size:9.5px; color:#3d4854; display:flex; align-items:center; gap:4px; white-space:nowrap; }
.lch .tgl i{ width:26px; height:14px; border-radius:7px; background:#06c755; position:relative; display:inline-block; }
.lch .tgl i::after{ content:""; position:absolute; right:2px; top:2px; width:10px; height:10px; border-radius:50%; background:#fff; }
.lom .chatbody{ background:#7d95b9; flex:1; padding:12px; gap:8px; min-height:0; }
.lom .msg .who{ font-size:9px; color:#dfe7f2; margin-bottom:2px; }
.lom .msg.ai .who{ text-align:right; }
.lom .msg .av.c{ background:#c9d6e8; color:var(--navy); }
.comp{ display:flex; align-items:center; gap:8px; padding:8px 12px; border-top:1px solid #e6e9ef; background:#fff; }
.comp span{ flex:1; border:1px solid #e6e9ef; border-radius:6px; padding:5px 10px; font-size:10.5px; color:#8b949e; }
.comp em{ font-style:normal; font-size:10.5px; font-weight:700; color:#fff; background:#06c755; padding:5px 12px; border-radius:6px; }
.loinfo{ border-left:1px solid #e6e9ef; background:#f6f8fb; padding:10px 12px; display:flex; flex-direction:column; gap:6px; }
.ict{ font-size:11px; font-weight:700; color:#111; margin-bottom:4px; }
.ir{ font-size:10px; padding:4px 0; border-bottom:1px solid #e9edf2; }
.ir span{ display:block; color:#8b949e; font-size:9px; } .ir b{ color:#111; font-weight:600; line-height:1.4; }
.icard{ margin-top:6px; background:#fff; border:1px solid #e6e9ef; border-radius:8px; padding:8px 10px; }
.icard .ict{ color:var(--navy); }
.ibtn{ margin-top:auto; background:var(--navy); color:#fff; text-align:center; font-size:10.5px; font-weight:700; padding:7px; border-radius:6px; }
/* 物確コンソール */
.cc{ display:grid; grid-template-columns:200px 1fr 210px; min-height:100%; }
.cclist{ border-right:1px solid #e6e9ef; background:#fff; }
.cclist .ci{ display:flex; gap:8px; align-items:center; padding:7px 10px; border-top:1px solid #f0f2f5; font-size:10px; }
.cclist .ci.on{ background:#eef4ff; }
.cclist .ci > span{ color:#8b949e; flex:0 0 32px; font-variant-numeric:tabular-nums; }
.cclist .ci > div{ flex:1; min-width:0; } .cclist .ci b{ display:block; color:#111; } .cclist .ci small{ color:#6b7682; font-size:9.5px; }
.cclist .ci i{ font-style:normal; font-size:8.5px; font-weight:700; padding:1px 5px; border-radius:3px; background:#e6e9ef; color:#3d4854; }
.cclist .ci i.ai{ background:var(--navy-soft); color:var(--navy); } .cclist .ci i.hot{ background:#fdece8; color:var(--orange); } .cclist .ci i.live{ background:#e9f3ee; color:var(--pos); }
.cclive{ display:flex; flex-direction:column; }
.cch{ display:flex; align-items:center; gap:10px; padding:8px 12px; border-bottom:1px solid #e6e9ef; }
.cch .dot{ width:8px; height:8px; border-radius:50%; background:var(--pos); box-shadow:0 0 0 3px #e9f3ee; }
.cch b{ display:block; font-size:12px; color:#111; } .cch small{ font-size:9.5px; color:#8b949e; }
.cch .wave{ margin-left:auto; display:flex; gap:2px; align-items:flex-end; height:16px; }
.cch .wave i{ width:3px; background:var(--pos); border-radius:2px; height:40%; animation:wave 1s infinite ease-in-out; }
.cch .wave i:nth-child(2n){ height:90%; animation-delay:.15s; } .cch .wave i:nth-child(3n){ height:60%; animation-delay:.3s; }
@keyframes wave{ 0%,100%{ transform:scaleY(.5); } 50%{ transform:scaleY(1); } }
.cch em{ font-style:normal; font-size:11px; font-weight:700; color:#111; font-variant-numeric:tabular-nums; }
.trans{ flex:1; padding:10px 12px; display:flex; flex-direction:column; gap:8px; background:#fafbfc; }
.tl2{ display:flex; gap:8px; font-size:11px; }
.tl2 .sp{ flex:0 0 30px; font-size:9px; font-weight:700; color:#fff; background:#8b949e; border-radius:3px; text-align:center; padding:2px 0; height:fit-content; }
.tl2.ai .sp{ background:var(--navy); }
.tl2 .tt{ color:#111; line-height:1.55; } .tl2 .tm{ font-size:9px; color:#8b949e; font-variant-numeric:tabular-nums; }
.ccbtns{ display:flex; gap:6px; padding:8px 12px; border-top:1px solid #e6e9ef; }
.ccbtns span{ flex:1; text-align:center; font-size:10.5px; font-weight:700; border:1px solid #d9dee6; border-radius:6px; padding:6px; color:#3d4854; background:#fff; }
.ccbtns span.p{ background:var(--navy); color:#fff; border-color:var(--navy); }
.ccinfo{ border-left:1px solid #e6e9ef; background:#f6f8fb; padding:10px 12px; }
.ccinfo .prop{ display:flex; gap:8px; align-items:center; background:#fff; border:1px solid #e6e9ef; border-radius:6px; padding:5px; margin-bottom:6px; }
.ccinfo .prop i{ width:46px; height:34px; border-radius:4px; background-size:cover; background-position:center; }
.ccinfo .prop b{ display:block; font-size:10.5px; color:#111; } .ccinfo .prop small{ font-size:9px; color:var(--pos); font-weight:700; }
.fee{ width:100%; font-size:9.5px; background:#fff; border:1px solid #e6e9ef; }
.fee th{ text-align:left; font-weight:500; color:#6b7682; padding:2px 6px; border-bottom:1px solid #eef0f3; }
.fee td{ text-align:right; color:#111; padding:2px 6px; border-bottom:1px solid #eef0f3; font-variant-numeric:tabular-nums; }
.fee tr.tot th,.fee tr.tot td{ font-weight:700; color:var(--navy); background:var(--navy-soft); }
.sms{ margin-top:6px; font-size:9.5px; color:var(--pos); font-weight:700; }
/* Slack */
.slack2 .sl{ grid-template-columns:150px 1fr; }
.slack2 .sside{ background:#19171d; color:#c9c3cc; padding:10px 8px; font-size:11px; }
.slack2 .sside b{ display:block; color:#fff; font-size:12px; margin-bottom:10px; padding:0 6px; }
.slack2 .sside .h{ color:#8f8a93; font-size:10px; margin-top:6px; }
.slack2 .sside span{ display:flex; align-items:center; gap:6px; padding:3px 6px; border-radius:4px; }
.slack2 .sside span.on{ background:#1164a3; color:#fff; }
.slack2 .sside i{ width:7px; height:7px; border-radius:50%; background:#2bac76; display:inline-block; }
.slack2 .smain{ padding:0; display:flex; flex-direction:column; }
.sch{ padding:8px 14px; border-bottom:1px solid #e6e9ef; }
.sch b{ font-size:12.5px; color:#111; display:block; } .sch small{ font-size:9.5px; color:#8b949e; }
.smsgs{ padding:10px 14px; display:flex; flex-direction:column; gap:12px; flex:1; }
.slack2 .smsg .bn i{ font-style:normal; font-size:8.5px; background:#e6e9ef; color:#3d4854; padding:0 4px; border-radius:2px; margin-left:4px; }
.slack2 .smsg .av{ flex:0 0 auto; width:30px; height:30px; border-radius:6px; background:#c9d6e8; color:var(--navy); font-weight:700; display:flex; align-items:center; justify-content:center; }
.slack2 .smsg .av.k{ background:var(--amber); color:#3d2b00; }
.reacts{ display:flex; gap:4px; margin-top:6px; }
.reacts span{ font-size:9.5px; background:#f6f8fb; border:1px solid #e6e9ef; border-radius:999px; padding:1px 7px; color:#3d4854; }
.scomp{ margin:0 14px 12px; border:1px solid #d9dee6; border-radius:6px; padding:7px 10px; font-size:10.5px; color:#8b949e; }
@media screen and (max-width:900px){ .lo,.cc{ grid-template-columns:1fr; } .lolist,.loinfo,.cclist,.ccinfo{ display:none; } .slack2 .sl{ grid-template-columns:1fr; } }
@media print{ .lom .chatbody{ min-height:0; } .cch .wave i{ animation:none; } }
@media print{ .lom .chatbody{ max-height:285px; overflow:hidden; } .lolist .li:nth-child(n+7){ display:none; } .trans{ max-height:260px; overflow:hidden; } .smsgs{ max-height:300px; overflow:hidden; } }
.ctaband .ld br{ display:none; }
.msg p + p{ margin-top:10px; }
@media print{ .msg p{ font-size:12.5px; line-height:1.8; } .msg p + p{ margin-top:8px; } }

/* ============================================================
   v8: 汎用テンプレート（実績バンド・示唆・導入パターン・算出の前提・中間CTA・ダッシュボード）
   ============================================================ */
.proof{ background:#fff; border-bottom:1px solid var(--line); }
.proof .wrap{ padding:22px 0; }
.pband{ display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }
.pband div{ background:#f7f8fa; border:1px solid #e6e9ef; border-radius:10px; padding:12px 16px; }
.pband span{ display:block; font-size:11px; font-weight:700; color:#6b7682; letter-spacing:.06em; }
.pband b{ display:block; font-size:24px; font-weight:900; color:var(--navy); margin-top:2px; }
.pind{ margin-top:10px; font-size:13px; color:var(--body); }
.pind::before{ content:"実績"; display:inline-block; background:var(--amber); color:#3d2b00; font-size:10.5px; font-weight:700; padding:1px 8px; border-radius:4px; margin-right:8px; }
.insight{ background:var(--navy); color:#fff; }
.insight .sh h2{ color:#fff; border-left-color:var(--amber); }
.insight .sh p{ color:#c9d6e8; }
.ins{ display:grid; grid-template-columns:1.1fr .9fr; gap:24px; align-items:center; }
.instats{ display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.instats div{ background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.14); border-radius:12px; padding:18px 14px; text-align:center; }
.instats b{ display:block; font-size:34px; font-weight:900; color:var(--amber); line-height:1.1; }
.instats span{ display:block; margin-top:8px; font-size:12px; color:#c9d6e8; line-height:1.6; }
.instext p{ font-size:15px; line-height:1.95; color:#fff; }
.inslink{ display:inline-block; margin-top:14px; font-size:13px; font-weight:700; color:var(--amber); }
.pat{ margin-top:14px; display:flex; flex-wrap:wrap; align-items:center; gap:8px 12px; background:#fff; border:1px solid #e6e9ef; border-left:5px solid var(--navy); border-radius:10px; padding:10px 16px; }
.case:nth-of-type(even) .pat{ background:#f7f8fa; }
.pat .pl{ font-size:10.5px; font-weight:700; color:#fff; background:var(--navy); padding:2px 8px; border-radius:4px; letter-spacing:.06em; }
.pat b{ font-size:15px; color:var(--navy); }
.pat .pm{ font-size:12px; color:#3d4854; padding-left:12px; border-left:1px solid #e6e9ef; }
.src{ margin-top:12px; border:1px dashed #d9dee6; border-radius:10px; padding:0 16px; background:transparent; }
.src summary{ cursor:pointer; list-style:none; font-size:12px; font-weight:700; color:#6b7682; padding:9px 0; }
.src summary::-webkit-details-marker{ display:none; }
.src summary::before{ content:"＋ "; color:var(--amber); }
.src[open] summary::before{ content:"− "; }
.src ul{ padding:0 0 10px; }
.src li{ font-size:12px; color:#6b7682; line-height:1.7; padding-left:12px; position:relative; }
.src li::before{ content:""; position:absolute; left:0; top:.7em; width:4px; height:4px; border-radius:50%; background:#c3c9d1; }
.midcta{ background:var(--amber-soft); border-top:1px solid #f3e4bf; border-bottom:1px solid #f3e4bf; }
.midcta .wrap{ display:flex; align-items:center; justify-content:space-between; gap:20px; padding:22px 0; flex-wrap:wrap; }
.midcta b{ display:block; font-size:17px; color:var(--navy); }
.midcta span{ display:block; font-size:13px; color:#3d4854; margin-top:2px; }
.midcta a{ display:inline-flex; align-items:center; height:48px; padding:0 26px; background:linear-gradient(#eaa418 0%,#d81e18 100%); color:#fff; font-weight:700; font-size:15px; white-space:nowrap; }
.est .dev{ max-width:none; }
.estw .res .rp{ font-size:40px; }
.props i.noimg,.lhead i.noimg,.ccinfo .prop i.noimg{ background:linear-gradient(135deg,#dfe6ef,#9db0c9); }
/* dash */
.dashw .lm{ grid-template-columns:110px 1fr; }
.dh{ display:flex; align-items:baseline; gap:10px; }
.dh b{ font-size:13px; color:#111; } .dh small{ font-size:10px; color:#8b949e; }
.dk{ display:grid; grid-template-columns:repeat(4,1fr); gap:8px; }
.dk div{ background:#f6f8fb; border:1px solid #e6e9ef; border-radius:8px; padding:8px 10px; }
.dk span{ display:block; font-size:9.5px; color:#6b7682; }
.dk b{ font-size:18px; color:var(--navy); } .dk b small{ font-size:9px; margin-left:1px; }
.dk em{ font-style:normal; font-size:10px; font-weight:700; margin-left:6px; } .dk em.up{ color:var(--pos); } .dk em.dn{ color:var(--neg); }
.dgrid{ display:grid; grid-template-columns:1.4fr .6fr; gap:8px; flex:1; }
.dt table{ width:100%; font-size:10.5px; border:1px solid #e6e9ef; }
.dt th{ background:#f6f8fb; text-align:left; padding:4px 8px; color:#6b7682; font-weight:700; border-bottom:1px solid #e6e9ef; }
.dt td{ padding:4px 8px; border-bottom:1px solid #eef0f3; color:#111; }
.stc{ font-style:normal; font-size:9px; font-weight:700; padding:1px 6px; border-radius:3px; background:#e6e9ef; color:#3d4854; }
.stc.hot{ background:#fdece8; color:var(--orange); } .stc.ok{ background:#e9f3ee; color:var(--pos); } .stc.ai{ background:var(--navy-soft); color:var(--navy); }
.da .al{ font-size:10.5px; color:#111; background:#fff5f0; border-left:3px solid var(--orange); padding:5px 8px; border-radius:0 4px 4px 0; margin-bottom:5px; line-height:1.5; }
@media screen and (max-width:900px){ .pband{ grid-template-columns:1fr 1fr; } .ins{ grid-template-columns:1fr; } .instats{ grid-template-columns:1fr; } .dk{ grid-template-columns:1fr 1fr; } .dgrid{ grid-template-columns:1fr; } .midcta .wrap{ flex-direction:column; align-items:flex-start; } }
@media print{ .proof{ display:none; } .midcta{ display:none; } .src{ display:none; } .insight .wrap{ zoom:.78; } }

/* v8: 表紙（HTML＋背景画像・レスポンシブ） */
.hero .coverwrap{ display:none; }
.hv{ position:relative; background:#fff; overflow:hidden; min-height:520px; }
.hvbg{ position:absolute; right:0; top:0; bottom:0; width:48%; }
.hvbg img{ width:100%; height:100%; object-fit:cover; object-position:left center; display:block; filter:grayscale(1); }
.hvbg::before{ content:""; position:absolute; inset:0; background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.6) 22%,rgba(255,255,255,0) 55%); z-index:1; }
.hvin{ position:relative; z-index:2; padding:64px 0 56px; }
.hvk{ display:flex; gap:10px; flex-wrap:wrap; }
.hvk span{ font-size:13px; font-weight:700; color:#111; padding:5px 12px; border:1px solid #111; border-radius:999px; }
.hvk span:empty{ display:none; }
.hvt{ margin-top:34px; display:flex; align-items:flex-end; gap:18px; }
.hvh{ font-size:clamp(38px,5.4vw,72px); font-weight:900; line-height:1.15; color:#111; letter-spacing:.01em; }
.hvh span{ display:block; }
.hvn{ font-family:"Times New Roman",Georgia,serif; font-size:clamp(120px,15vw,210px); font-weight:400; line-height:.8; color:transparent; -webkit-text-stroke:2px #111; letter-spacing:-.04em; }
.hvs{ margin-top:22px; font-size:clamp(15px,1.6vw,19px); color:#111; letter-spacing:.02em; }
.hvrule{ margin-top:18px; height:2px; width:min(640px,80%); background:var(--amber); }
@media screen and (max-width:900px){ .hv{ min-height:0; } .hvbg{ position:relative; width:100%; height:200px; } .hvbg::before{ background:linear-gradient(180deg,rgba(255,255,255,.1),rgba(255,255,255,0)); } .hvbg img{ object-position:center; } .hvin{ padding:28px 0 32px; } .hvt{ gap:12px; } .hvn{ font-size:96px; } }
@media print{ .hv{ min-height:0; height:150mm; } .hvin{ padding:40px 0; } }
/* パターン枠＋独自指標 */
.pat{ display:block; padding:12px 16px; }
.patl{ display:flex; flex-wrap:wrap; align-items:center; gap:8px 12px; }
.grade{ margin-top:10px; padding-top:10px; border-top:1px dashed #e6e9ef; display:grid; grid-template-columns:auto auto auto 1fr; gap:10px 22px; align-items:center; }
.grade div span{ display:block; font-size:10.5px; color:#8b949e; font-weight:700; letter-spacing:.04em; }
.grade div b{ font-size:14px; color:var(--navy); }
.grade b.lv-高{ color:var(--pos); } .grade b.lv-中{ color:#8a5a00; } .grade b.lv-低{ color:var(--navy-3); }
.grade .fit b{ font-size:12.5px; font-weight:600; color:#3d4854; }
@media screen and (max-width:900px){ .grade{ grid-template-columns:1fr 1fr; } .grade .fit{ grid-column:span 2; } }
/* 追従CTA（PCのみ） */
.fixcta{ position:fixed; right:24px; bottom:24px; width:340px; z-index:60; background:#fff; box-shadow:0 8px 30px rgba(0,0,0,.25); border-radius:6px; overflow:hidden; font-size:13px; }
.fch{ background:#0e254d; color:#fff; font-weight:700; font-size:13px; padding:9px 14px; display:flex; justify-content:space-between; align-items:center; }
.fch button{ background:none; border:0; color:#fff; font-size:18px; cursor:pointer; line-height:1; }
.fcb{ padding:14px 16px 12px; }
.fcb b{ display:block; font-size:16px; color:#111; }
.fcb p{ font-size:12px; color:#3d4854; margin-top:4px; line-height:1.6; }
.fcb a{ display:block; margin-top:10px; text-align:center; padding:11px; background:linear-gradient(#eaa418 0%,#d81e18 100%); color:#fff; font-weight:700; }
.fcb small{ display:block; margin-top:8px; font-size:10.5px; color:#6b7682; text-align:center; }
@media screen and (max-width:900px){ .fixcta{ display:none; } }
@media print{ .fixcta{ display:none !important; } }
@media screen and (max-width:900px){ .hero .meta{ flex-direction:column; gap:12px; } .hero .meta > div{ width:100%; } .hero .meta .who{ margin-left:0; } .hero .meta .v{ font-size:24px; } .hvbg{ height:170px; } }
.hvbg img{ object-position:center; }
@media screen and (max-width:480px){ .hvt{ flex-direction:column; align-items:flex-start; gap:0; } .hvh{ font-size:34px; } .hvn{ font-size:64px; line-height:1; align-self:flex-end; margin-top:-6px; } }
