:root{
  --navy:#0e2436;
  --navy-2:#15314a;
  --steel:#3d5a73;
  --gold:#c4a35a;
  --gold-bright:#e0bd6e;
  --paper:#f5f3ee;
  --paper-2:#ebe7dd;
  --ink:#1b2733;
  --line:#d8d2c4;
  --green:#2f7d5b;
  --white:#fff;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  font-family:'Zen Kaku Gothic New',sans-serif;color:var(--ink);
  background:var(--paper);line-height:1.8;-webkit-font-smoothing:antialiased;
}
.mincho{font-family:'Shippori Mincho',serif}
.num{font-family:'Oswald',sans-serif}
.wrap{max-width:1200px;margin:0 auto;padding:0 28px}
a{color:inherit}

/* topbar */
.topbar{background:var(--navy);color:#aebfce;font-size:.78rem}
.topbar .wrap{display:flex;justify-content:space-between;align-items:center;height:38px}
.topbar .li{letter-spacing:.06em}

/* header */
header{position:sticky;top:0;z-index:50;background:rgba(245,243,238,.95);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;height:76px}
.logo{text-decoration:none}
.logo .mark{font-family:'Shippori Mincho',serif;font-weight:800;font-size:1.4rem;color:var(--navy);letter-spacing:.04em}
.logo .mark b{color:var(--gold)}
.logo .sub{display:block;font-size:.68rem;color:#8a9099;letter-spacing:.22em;margin-top:2px}
nav ul{display:flex;gap:15px;list-style:none}
nav a{text-decoration:none;color:var(--ink);font-size:.83rem;font-weight:500;position:relative;white-space:nowrap}
nav a::after{content:"";position:absolute;left:0;bottom:-7px;width:0;height:2px;background:var(--gold);transition:.25s}
nav a:hover::after,nav a.active::after{width:100%}
.cta-head{background:var(--gold);color:var(--navy);padding:11px 22px;border-radius:4px;font-size:.86rem;font-weight:700;text-decoration:none;white-space:nowrap}
.cta-head:hover{background:var(--gold-bright)}
.navtoggle{display:none;background:none;border:none;color:var(--navy);font-size:1.7rem;line-height:1;cursor:pointer;padding:6px 8px;-webkit-tap-highlight-color:transparent}

/* hero (home) */
.hero{position:relative;background:
    linear-gradient(115deg,rgba(14,36,54,.97) 40%,rgba(21,49,74,.82)),
    repeating-linear-gradient(45deg,#15314a 0 2px,transparent 2px 22px);
  color:#fff;overflow:hidden}
.hero-inner{max-width:1200px;margin:0 auto;padding:90px 28px 80px;display:grid;grid-template-columns:1.15fr .85fr;gap:50px;align-items:center}
.eyebrow{display:inline-block;border:1px solid var(--gold);color:var(--gold-bright);font-size:.74rem;letter-spacing:.24em;padding:6px 16px;border-radius:3px;margin-bottom:26px;font-weight:700}
.hero h1{font-family:'Shippori Mincho',serif;font-weight:800;font-size:2.9rem;line-height:1.45;letter-spacing:.02em;margin-bottom:24px}
.hero h1 b{color:var(--gold-bright)}
.hero p{font-size:1rem;color:#cdd9e3;max-width:32em;margin-bottom:36px}
.hero-cta{display:flex;gap:14px;flex-wrap:wrap}
.btn{display:inline-block;padding:15px 32px;border-radius:5px;text-decoration:none;font-weight:700;font-size:.94rem;transition:.2s;cursor:pointer;border:none;font-family:inherit}
.btn-gold{background:var(--gold);color:var(--navy)}
.btn-gold:hover{background:var(--gold-bright);transform:translateY(-2px)}
.btn-line{border:1.5px solid rgba(255,255,255,.55);color:#fff}
.btn-line:hover{background:rgba(255,255,255,.1)}
.btn-navy{background:var(--navy);color:#fff}
.btn-navy:hover{background:var(--navy-2)}

/* stat panel */
.panel{background:rgba(255,255,255,.05);border:1px solid rgba(196,163,90,.4);border-radius:10px;padding:30px}
.panel .ttl{font-size:.76rem;letter-spacing:.18em;color:var(--gold-bright);margin-bottom:20px;font-weight:700}
.stat{display:flex;justify-content:space-between;align-items:baseline;padding:14px 0;border-bottom:1px dashed rgba(255,255,255,.18)}
.stat:last-child{border-bottom:none}
.stat .k{font-size:.88rem;color:#cdd9e3}
.stat .v{font-family:'Oswald',sans-serif;font-weight:700;font-size:1.7rem;color:#fff}
.stat .v small{font-size:.8rem;color:var(--gold-bright);margin-left:3px}

/* page hero (sub pages) */
.phero{background:
    linear-gradient(115deg,rgba(14,36,54,.96),rgba(21,49,74,.86)),
    repeating-linear-gradient(45deg,#15314a 0 2px,transparent 2px 22px);
  color:#fff;padding:54px 0 48px}
.phero .en{display:block;font-size:.74rem;letter-spacing:.3em;color:var(--gold-bright);font-weight:700;margin-bottom:12px}
.phero h1{font-family:'Shippori Mincho',serif;font-size:2.1rem;letter-spacing:.04em}
.phero p{color:#cdd9e3;margin-top:12px;max-width:46em;font-size:.95rem}

/* breadcrumb */
.crumb{background:var(--paper-2);font-size:.78rem;color:#7a828c}
.crumb .wrap{padding:12px 28px}
.crumb a{text-decoration:none;color:var(--steel)}
.crumb a:hover{color:var(--gold)}
.crumb span{margin:0 8px;color:#b3ad9d}

/* trust strip */
.trust{background:var(--navy-2);color:#cdd9e3;padding:22px 0}
.trust .wrap{display:flex;justify-content:space-around;flex-wrap:wrap;gap:18px;text-align:center}
.trust .t .n{font-family:'Shippori Mincho',serif;font-size:1.6rem;color:var(--gold-bright);font-weight:700}
.trust .t .l{font-size:.76rem;letter-spacing:.08em}

/* search */
.search{background:#fff;border:1px solid var(--line);border-radius:10px;max-width:1080px;margin:-40px auto 0;padding:24px 28px;box-shadow:0 16px 40px rgba(14,36,54,.12);position:relative;z-index:5;display:grid;grid-template-columns:repeat(4,1fr) auto;gap:14px;align-items:end}
.search label{display:block;font-size:.72rem;color:#7a828c;margin-bottom:6px;font-weight:700}
.search .field{background:var(--paper);border:1px solid var(--line);border-radius:6px;padding:11px 12px;font-size:.9rem;width:100%;color:var(--ink)}
.search .go{background:var(--navy);color:#fff;border:none;border-radius:6px;padding:12px 28px;font-weight:700;font-size:.92rem;cursor:pointer;white-space:nowrap;font-family:inherit}
.search .go:hover{background:var(--navy-2)}

section.block{padding:80px 0}
section.block.tight{padding:56px 0}
.head{text-align:center;margin-bottom:48px}
.head .en{font-size:.74rem;letter-spacing:.3em;color:var(--gold);font-weight:700;display:block;margin-bottom:12px}
.head h2{font-family:'Shippori Mincho',serif;font-size:1.95rem;letter-spacing:.04em;color:var(--navy)}
.head p{color:#6b727b;font-size:.92rem;margin-top:10px}

/* listings */
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.pcard{background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden;transition:.22s;text-decoration:none;color:inherit;display:block}
.pcard:hover{transform:translateY(-5px);box-shadow:0 18px 38px rgba(14,36,54,.14);border-color:var(--gold)}
.pcard .top{background:var(--navy);color:#fff;padding:16px 18px;display:flex;justify-content:space-between;align-items:center}
.pcard .base{font-weight:700;font-size:.98rem}
.pcard .badge{background:var(--gold);color:var(--navy);font-size:.68rem;font-weight:700;padding:4px 10px;border-radius:3px}
.pcard .badge.ret{background:var(--green);color:#fff}
.pcard .badge.sold{background:#9a3b3b;color:#fff}
.pcard .body{padding:20px}
.pcard .price{font-family:'Oswald';font-size:2rem;font-weight:700;color:var(--navy);line-height:1}
.pcard .price small{font-size:.86rem;font-weight:500;color:#7a828c;margin-left:4px;font-family:'Zen Kaku Gothic New'}
.pcard .rows{margin-top:16px;border-top:1px solid var(--line)}
.prow{display:flex;justify-content:space-between;padding:9px 0;border-bottom:1px solid var(--line);font-size:.86rem}
.prow:last-child{border-bottom:none}
.prow .k{color:#7a828c}
.prow .v{font-weight:700}
.prow .v.hl{color:var(--gold);font-family:'Oswald';font-size:1.05rem}
.prow .v.yld{color:var(--green);font-family:'Oswald';font-size:1.05rem}
.more{text-align:center;margin-top:44px}

/* why / strengths */
.why{background:var(--navy);color:#fff}
.why .head h2{color:#fff}
.why .head .en{color:var(--gold-bright)}
.feat{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.fitem{background:var(--navy-2);border:1px solid rgba(196,163,90,.3);border-radius:10px;padding:30px 26px}
.fitem .ic{font-family:'Oswald';font-size:1rem;letter-spacing:.1em;color:var(--gold-bright);margin-bottom:14px}
.fitem h3{font-family:'Shippori Mincho',serif;font-size:1.18rem;margin-bottom:12px}
.fitem p{font-size:.9rem;color:#bcc8d2}

/* mechanism */
.mech{background:var(--paper)}
.calc{background:#fff;border:1px solid var(--line);border-radius:12px;max-width:760px;margin:0 auto;padding:36px 40px;text-align:center}
.calc .formula{font-family:'Shippori Mincho',serif;font-size:1.3rem;color:var(--navy);margin-bottom:8px;letter-spacing:.03em}
.calc .formula b{color:var(--gold)}
.calc .ex{font-size:.86rem;color:#6b727b}
.calc .ex .num{font-family:'Oswald';color:var(--navy);font-weight:600}

/* cta band */
.band{background:linear-gradient(120deg,var(--navy),var(--navy-2));color:#fff;text-align:center;padding:72px 28px;border-top:3px solid var(--gold)}
.band h2{font-family:'Shippori Mincho',serif;font-size:1.85rem;margin-bottom:14px}
.band p{color:#cdd9e3;margin-bottom:30px}

/* generic article / prose */
.prose{max-width:820px;margin:0 auto}
.prose h2{font-family:'Shippori Mincho',serif;font-size:1.5rem;color:var(--navy);margin:46px 0 16px;padding-bottom:10px;border-bottom:2px solid var(--gold)}
.prose h2:first-child{margin-top:0}
.prose h3{font-family:'Shippori Mincho',serif;font-size:1.15rem;color:var(--navy-2);margin:30px 0 10px}
.prose p{margin-bottom:16px;font-size:.96rem}
.prose ul{margin:0 0 18px 1.3em}
.prose li{margin-bottom:8px;font-size:.96rem}
.callout{background:#fff;border:1px solid var(--line);border-left:4px solid var(--gold);border-radius:8px;padding:22px 26px;margin:22px 0}
.callout .lab{font-size:.74rem;letter-spacing:.14em;color:var(--gold);font-weight:700;margin-bottom:6px}

/* comparison / data table */
.tbl{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);border-radius:8px;overflow:hidden;font-size:.92rem}
.tbl th,.tbl td{padding:14px 16px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.tbl th{background:var(--navy);color:#fff;font-weight:700;letter-spacing:.03em}
.tbl tr:last-child td{border-bottom:none}
.tbl .rowhead{background:var(--paper-2);font-weight:700;color:var(--navy);width:32%}
.tbl .num{font-family:'Oswald';font-weight:600}
.tbl .pos{color:var(--green);font-weight:700}
.tbl .neg{color:#9a3b3b;font-weight:700}

/* company info table */
.cinfo{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);font-size:.94rem}
.cinfo th,.cinfo td{padding:16px 18px;border-bottom:1px solid var(--line);text-align:left}
.cinfo th{background:var(--paper-2);color:var(--navy);width:30%;font-weight:700;white-space:nowrap}
.cinfo tr:last-child th,.cinfo tr:last-child td{border-bottom:none}

/* steps */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;counter-reset:s}
.steps.cols3{grid-template-columns:repeat(3,1fr)}
.step{background:#fff;border:1px solid var(--line);border-radius:10px;padding:26px 22px;position:relative}
.step .no{font-family:'Oswald';font-size:1rem;color:#fff;background:var(--gold);width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;margin-bottom:14px}
.step h3{font-family:'Shippori Mincho',serif;font-size:1.05rem;color:var(--navy);margin-bottom:8px}
.step p{font-size:.86rem;color:#6b727b}

/* detail page */
.detail{display:grid;grid-template-columns:1.4fr .9fr;gap:36px;align-items:start}
.detail .gallery{background:
   linear-gradient(135deg,var(--navy),var(--navy-2));border-radius:12px;aspect-ratio:4/3;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#7e93a6;font-size:.9rem;text-align:center;gap:8px;border:1px solid rgba(196,163,90,.3)}
.dmap{width:100%;height:300px;border:1px solid var(--line);border-radius:12px;margin-top:18px;background:
   repeating-linear-gradient(45deg,#e9e5da 0 14px,#eef0ea 14px 28px);display:flex;align-items:center;justify-content:center;color:#9aa0a8;font-size:.9rem}
.dbox{background:#fff;border:1px solid var(--line);border-radius:12px;padding:28px;position:sticky;top:96px}
.dbox .pricebig{font-family:'Oswald';font-size:2.6rem;color:var(--navy);font-weight:700;line-height:1}
.dbox .pricebig small{font-size:1rem;color:#7a828c;margin-left:5px;font-family:'Zen Kaku Gothic New'}
.dspec{width:100%;border-collapse:collapse;margin:20px 0;font-size:.9rem}
.dspec th,.dspec td{padding:11px 4px;border-bottom:1px solid var(--line);text-align:left}
.dspec th{color:#7a828c;font-weight:600;white-space:nowrap;width:42%}
.dspec td{font-weight:700;text-align:right}
.dspec .hl{color:var(--gold);font-family:'Oswald'}
.dspec .yld{color:var(--green);font-family:'Oswald'}

/* form */
.form{background:#fff;border:1px solid var(--line);border-radius:12px;max-width:760px;margin:0 auto;padding:38px 40px}
.fg{margin-bottom:22px}
.fg label{display:block;font-size:.86rem;font-weight:700;color:var(--navy);margin-bottom:8px}
.fg label .req{color:#9a3b3b;font-size:.74rem;margin-left:8px}
.fg input,.fg select,.fg textarea{width:100%;border:1px solid var(--line);border-radius:6px;padding:12px 14px;font-size:.94rem;font-family:inherit;background:var(--paper);color:var(--ink)}
.fg textarea{min-height:130px;resize:vertical}
.frow{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.formnote{font-size:.78rem;color:#7a828c;margin-top:6px}
.privacy{background:var(--paper-2);border-radius:8px;padding:14px 18px;font-size:.82rem;color:#6b727b;margin:8px 0 22px}

footer{background:#0a1a28;color:#94a3b0;padding:54px 0 28px;font-size:.86rem}
.foot-grid{display:flex;justify-content:space-between;flex-wrap:wrap;gap:30px;margin-bottom:32px}
footer .fmark{color:#fff;font-family:'Shippori Mincho',serif;font-weight:700;font-size:1.2rem;margin-bottom:10px}
footer .lic{font-size:.76rem;color:#6c7c89;max-width:26em;line-height:1.7}
footer ul{list-style:none}
footer li{margin-bottom:8px}
footer a{color:#94a3b0;text-decoration:none}
footer a:hover{color:#fff}
.copy{border-top:1px solid #1c2c3a;padding-top:18px;font-size:.74rem;color:#5d6d7a;text-align:center}
.disc{font-size:.72rem;color:#5d6d7a;max-width:60em;margin:0 auto 22px;line-height:1.7}

/* ===== price mechanism (expanded) ===== */
.formula-big{display:flex;align-items:center;justify-content:center;gap:18px;flex-wrap:wrap;margin:8px 0 6px}
.fbox{background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:16px 22px;text-align:center;min-width:150px}
.fbox .lab{font-size:.72rem;color:#7a828c;letter-spacing:.08em;margin-bottom:4px}
.fbox .val{font-family:'Shippori Mincho',serif;font-size:1.15rem;color:var(--navy);font-weight:700}
.fbox.gold{background:#fbf6ea;border-color:var(--gold)}
.fbox.gold .val{color:#9a7d2e}
.fop{font-family:'Oswald';font-size:1.8rem;color:var(--gold);font-weight:700}
.factors{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:14px}
.fcard{background:#fff;border:1px solid var(--line);border-top:3px solid var(--gold);border-radius:10px;padding:24px 20px}
.fcard .ig{font-family:'Oswald';font-size:.82rem;letter-spacing:.1em;color:var(--gold);font-weight:700;margin-bottom:8px}
.fcard h4{font-family:'Shippori Mincho',serif;font-size:1.05rem;color:var(--navy);margin-bottom:8px}
.fcard p{font-size:.84rem;color:#5b6671}
.fcard .ar{margin-top:12px;font-size:.78rem;font-weight:700}
.fcard .up{color:var(--green)}
.fcard .down{color:#9a3b3b}
.gauge{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:18px 22px;margin-top:20px}
.gauge .bar{flex:1;height:12px;border-radius:6px;background:linear-gradient(90deg,#7fae97,#e0bd6e,#c98b5a)}
.gauge .lo,.gauge .hi{font-size:.78rem;color:#7a828c;white-space:nowrap}

/* note / warning callout */
.note{background:#fff7e8;border:1px solid #e6cf9a;border-left:4px solid var(--gold);border-radius:8px;padding:20px 24px;margin:24px 0}
.note .lab{font-size:.74rem;letter-spacing:.12em;color:#9a7d2e;font-weight:700;margin-bottom:8px;display:flex;align-items:center;gap:8px}
.note p{font-size:.9rem;margin-bottom:8px}
.note p:last-child{margin-bottom:0}
.note b{color:var(--navy)}

/* compare two 倍率 */
.vs{display:grid;grid-template-columns:1fr auto 1fr;gap:0;align-items:stretch;margin:22px 0;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff}
.vs .col{padding:24px 26px}
.vs .col.a{background:#f3f6f5}
.vs .col.b{background:#faf6ee}
.vs .mid{display:flex;align-items:center;justify-content:center;background:var(--navy);color:#fff;font-family:'Shippori Mincho',serif;font-weight:700;padding:0 14px}
.vs .tag{display:inline-block;font-size:.72rem;font-weight:700;padding:4px 12px;border-radius:3px;margin-bottom:10px}
.vs .col.a .tag{background:#2f7d5b;color:#fff}
.vs .col.b .tag{background:var(--gold);color:var(--navy)}
.vs h4{font-family:'Shippori Mincho',serif;font-size:1.1rem;color:var(--navy);margin-bottom:10px}
.vs .eq{font-family:'Oswald';font-size:.95rem;color:var(--navy-2);background:#fff;border:1px dashed var(--line);border-radius:6px;padding:8px 10px;margin:10px 0;text-align:center}
.vs ul{margin:0 0 0 1.1em}
.vs li{font-size:.85rem;color:#5b6671;margin-bottom:5px}

/* base info */
.binfo{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:6px}
.bstat{background:var(--paper);border:1px solid var(--line);border-radius:8px;padding:16px 18px}
.bstat .k{font-size:.74rem;color:#7a828c;margin-bottom:4px}
.bstat .v{font-family:'Shippori Mincho',serif;font-weight:700;color:var(--navy);font-size:1.02rem}

/* trend chart */
.chartbox{background:#fff;border:1px solid var(--line);border-radius:12px;padding:24px 26px;margin-top:6px}
.chartbox .leg{font-size:.78rem;color:#7a828c;margin-top:10px;text-align:center}

/* simulator */
.sim{background:#fff;border:1px solid var(--line);border-radius:12px;padding:26px 28px}
.sim .row{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:16px}
.sim label{font-size:.88rem;color:var(--navy);font-weight:700}
.sim input[type=range]{flex:1;accent-color:var(--gold)}
.sim .ival{font-family:'Oswald';font-weight:700;color:var(--navy);min-width:96px;text-align:right}
.sim .out{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:18px;border-top:1px solid var(--line);padding-top:18px}
.sim .ocard{background:var(--paper);border-radius:8px;padding:16px 18px;text-align:center}
.sim .ocard .l{font-size:.74rem;color:#7a828c;margin-bottom:6px}
.sim .ocard .n{font-family:'Oswald';font-size:1.5rem;font-weight:700;color:var(--navy)}
.sim .ocard.hl{background:#fbf6ea;border:1px solid var(--gold)}
.sim .ocard.hl .n{color:#9a7d2e}

/* ===== base guide ===== */
.region{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:6px}
.rpanel{border-radius:12px;padding:26px 28px;border:1px solid var(--line)}
.rpanel.north{background:#f1f7f3;border-color:#cfe6da}
.rpanel.south{background:#fbf6ee;border-color:#e9d8b6}
.rpanel h3{font-family:'Shippori Mincho',serif;font-size:1.2rem;color:var(--navy);margin-bottom:6px;display:flex;align-items:center;gap:10px}
.rpanel .sub{font-size:.84rem;color:#6b727b;margin-bottom:12px}
.rpanel p{font-size:.9rem;color:#3a4654}
.rpill{display:inline-block;font-size:.74rem;font-weight:700;padding:3px 12px;border-radius:20px}
.rpill.no{background:#2f7d5b;color:#fff}
.rpill.yes{background:#9a3b3b;color:#fff}

.ctype{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.cc{background:#fff;border:1px solid var(--line);border-radius:12px;padding:24px 22px;border-top:3px solid var(--navy)}
.cc .who{font-family:'Shippori Mincho',serif;font-size:1.05rem;color:var(--navy);margin-bottom:6px}
.cc .rec{font-size:.78rem;color:var(--gold);font-weight:700;letter-spacing:.06em;margin-bottom:10px}
.cc p{font-size:.86rem;color:#5b6671}
.cc .pick{display:inline-block;margin-top:12px;font-size:.84rem;font-weight:700;color:var(--navy);background:#fbf6ea;border:1px solid var(--gold);border-radius:6px;padding:6px 12px}

.bcard{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;margin-bottom:22px}
.bcard .bhead{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding:18px 24px;background:var(--navy);color:#fff}
.bcard .bhead h3{font-family:'Shippori Mincho',serif;font-size:1.22rem}
.bcard .bhead .reg{font-size:.72rem;color:#aebfce;margin-left:8px}
.rtag{font-size:.74rem;font-weight:700;padding:5px 14px;border-radius:20px;white-space:nowrap}
.rtag.no{background:#2f7d5b;color:#fff}
.rtag.yes{background:#c0584f;color:#fff}
.rtag.part{background:#c89b3c;color:#fff}
.rtag.chk{background:#5b6671;color:#fff}
.bcard .bbody{padding:22px 24px}
.bcard .lead{font-size:.92rem;color:#3a4654;margin-bottom:8px}
.mdgrid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:14px 0 6px}
.mdbox{border-radius:8px;padding:14px 18px}
.mdbox.m{background:#f1f7f3;border:1px solid #cfe6da}
.mdbox.d{background:#fbf1f1;border:1px solid #e8cccc}
.mdbox h5{font-size:.84rem;font-weight:700;margin-bottom:8px}
.mdbox.m h5{color:#236a4a}
.mdbox.d h5{color:#9a3b3b}
.mdbox ul{margin:0 0 0 1.1em}
.mdbox li{font-size:.84rem;color:#3a4654;margin-bottom:5px}
.bfor{background:var(--paper-2);border-radius:8px;padding:12px 16px;font-size:.88rem;color:#3a4654;margin-top:8px}
.bfor b{color:var(--navy)}

.statkey{display:flex;gap:16px;flex-wrap:wrap;justify-content:center;margin-bottom:22px;font-size:.8rem;color:#6b727b}
.statkey span{display:inline-flex;align-items:center;gap:6px}
.dot{width:12px;height:12px;border-radius:50%;display:inline-block}
.dot.no{background:#2f7d5b}.dot.yes{background:#c0584f}.dot.part{background:#c89b3c}.dot.chk{background:#5b6671}

/* ===== LINE / guide download / cross links ===== */
.btn-ln{background:#06c755;color:#fff}
.btn-ln:hover{background:#05b34c;transform:translateY(-2px)}
.btn-ln .li-ic{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:5px;background:#fff;color:#06c755;font-weight:900;font-size:.7rem;margin-right:8px}
.cta2{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}

.dlrow{display:grid;grid-template-columns:1fr 1fr;gap:22px;max-width:960px;margin:0 auto}
.dlc{background:#fff;border:1px solid var(--line);border-radius:12px;padding:24px 26px;display:flex;gap:20px;align-items:center}
.dlc .cv{flex:0 0 96px;aspect-ratio:1/1.414;background:linear-gradient(150deg,var(--navy),var(--navy-2));border:1px solid var(--gold);border-radius:6px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#fff;padding:8px;gap:6px}
.dlc .cv .eb{font-size:.5rem;letter-spacing:.1em;border:1px solid var(--gold);color:var(--gold-bright);padding:3px 5px;border-radius:2px}
.dlc .cv .ti{font-family:'Shippori Mincho',serif;font-size:.74rem;line-height:1.4}
.dlc .cv .ico{font-size:1.4rem;line-height:1}
.dlc .cv.buyer{background:linear-gradient(150deg,#2f7d5b,#1d553c);border-color:#8fc4a8}
.dlc .cv.buyer .eb{border-color:#bfe0cd;color:#e2f3ea}
.dlc .cv.seller{background:linear-gradient(150deg,#0e2436,#1b3f5e);border-color:var(--gold)}
.dlc .meta h3{font-family:'Shippori Mincho',serif;font-size:1.12rem;color:var(--navy);margin-bottom:6px}
.dlc .meta p{font-size:.84rem;color:#5b6671;margin-bottom:12px}
.dlc .meta .links{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.dlc .meta .dl{display:inline-block;background:var(--gold);color:var(--navy);font-weight:700;font-size:.85rem;text-decoration:none;padding:9px 18px;border-radius:6px}
.dlc .meta .dl:hover{background:var(--gold-bright)}
.dlc .meta .lpln{font-size:.82rem;font-weight:700;color:var(--navy);text-decoration:none;border-bottom:1px solid var(--gold)}
.dlc .meta .note{font-size:.72rem;color:#9aa0a8;margin-top:8px}

/* LINE band on navy */
.band .btn-ln{box-shadow:0 8px 20px rgba(6,199,85,.3)}

/* floating LINE button */
.linefab{position:fixed;right:18px;bottom:18px;z-index:90;display:inline-flex;align-items:center;gap:8px;background:#06c755;color:#fff;text-decoration:none;font-weight:700;font-size:.86rem;padding:12px 18px;border-radius:30px;box-shadow:0 10px 26px rgba(6,199,85,.4)}
.linefab:hover{background:#05b34c}
.linefab .li-ic{width:20px;height:20px;border-radius:5px;background:#fff;color:#06c755;display:inline-flex;align-items:center;justify-content:center;font-weight:900;font-size:.7rem}

@media(max-width:880px){
  nav ul{gap:16px}
  .dlrow{grid-template-columns:1fr}
  .linefab{right:12px;bottom:12px;font-size:.8rem;padding:10px 14px}
  .region,.ctype{grid-template-columns:1fr}
  .mdgrid{grid-template-columns:1fr}
  .factors{grid-template-columns:1fr 1fr}
  .vs{grid-template-columns:1fr}
  .vs .mid{padding:10px}
  .binfo{grid-template-columns:1fr}
  .sim .out{grid-template-columns:1fr}
  .cta-head,.topbar{display:none}
  .navtoggle{display:block}
  nav ul{display:none;position:absolute;top:100%;left:0;right:0;background:var(--paper);border-bottom:1px solid var(--line);flex-direction:column;gap:0;padding:6px 0;box-shadow:0 14px 28px rgba(14,36,54,.14);z-index:60}
  header.nav-open nav ul{display:flex}
  nav ul li{width:100%}
  nav a{display:block;padding:13px 28px;font-size:1rem}
  nav a::after{display:none}
  .tbl{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}
  .tbl th,.tbl td{white-space:nowrap}
  .hero-inner{grid-template-columns:1fr;padding:60px 28px}
  .hero h1{font-size:2.1rem}
  .search{grid-template-columns:1fr 1fr;margin:-26px 20px 0}
  .grid,.feat,.steps,.steps.cols3{grid-template-columns:1fr}
  .trust .wrap{gap:24px}
  .detail{grid-template-columns:1fr}
  .dbox{position:static}
  .frow{grid-template-columns:1fr}
  .phero h1{font-size:1.7rem}
}

/* 成約事例カード（参考相場） */
.pcard.sold-card{cursor:default;opacity:.97}
.pcard.sold-card:hover{transform:none;box-shadow:0 6px 18px rgba(14,36,54,.08);border-color:var(--line)}
.pcard.sold-card .top{background:#4a5560}
.pcard.sold-card .p