:root{
  --bg:#fbfbfa; --panel:#fff; --ink:#1b1c1f; --mut:#5f626a; --faint:#8b8e96; --line:#e6e6e3;
  --acc:#2f4fd8; --acc-ink:#2440b8; --acc-soft:#eef1fd; --tint:#f3f5fd;
  --warn:#c8442c; --warn-soft:#fdf0ec; --ok:#1f8a5b; --ok-soft:#e6f5ee;
  --dark:#0b0c10;
  --shadow:0 1px 2px #2f4fd80f,0 18px 48px -18px #2f4fd847;
  --r:16px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:400 16px/1.8 "Noto Sans JP","Hiragino Sans",system-ui,sans-serif;font-feature-settings:"palt";overflow-x:hidden}
a{color:var(--acc-ink)}
img{max-width:100%}
.wrap{max-width:1120px;margin:0 auto;padding:0 24px}
.narrow{max-width:780px}
.sp{display:none}
b{font-weight:700}
.num,.fit-num b,.res-val b,.vs-val b,.mt-val b,.rc-total b{font-family:Inter,"Noto Sans JP",sans-serif;font-variant-numeric:tabular-nums}

.mockbar{background:#fff7d6;color:#5a4a00;font-size:12.5px;text-align:center;padding:6px 16px;border-bottom:1px solid #f0e2a0}
.mockbar a{color:inherit}

/* header */
.hd{position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.hd-in{display:flex;align-items:center;gap:24px;height:60px}
.logo{display:flex;align-items:center;gap:8px;font:800 15px/1 Inter,sans-serif;letter-spacing:.02em;color:var(--ink);text-decoration:none}
.logo small{font:500 11px/1 "Noto Sans JP";color:var(--faint);margin-left:2px}
.mark{width:26px;height:26px;border-radius:7px;background:var(--dark) url("https://yobitsugi.ai/brand/mark-tile.svg?v=4") center/cover;display:inline-block;flex:none}
.mark.sm{width:20px;height:20px;border-radius:5px}
.nav{display:flex;gap:22px;margin-left:auto;font-size:13.5px}
.nav a{color:var(--mut);text-decoration:none}.nav a:hover{color:var(--ink)}

.btn{display:inline-flex;align-items:center;gap:8px;justify-content:center;border-radius:999px;padding:14px 26px;font-weight:700;font-size:15px;text-decoration:none;transition:transform .14s,background-color .16s,box-shadow .2s;white-space:nowrap}
.btn:active{transform:scale(.97)}
.btn.sm{padding:9px 18px;font-size:13px}
.btn-pri{background:var(--acc);color:#fff;box-shadow:0 8px 24px -10px var(--acc)}
.btn-pri:hover{background:var(--acc-ink)}
.btn-sec{background:var(--panel);color:var(--ink);border:1px solid var(--line)}
.btn-sec:hover{border-color:#cfd0cc}
.btn-inv{background:#fff;color:var(--dark)}

/* hero */
.hero{padding:72px 0 0;background:radial-gradient(60% 70% at 85% 20%,#e9edff 0,transparent 70%)}
.hero-in{display:grid;grid-template-columns:1.15fr 1fr;gap:48px;align-items:center}
.eyebrow{display:inline-block;margin:0 0 18px;padding:5px 14px;border-radius:999px;background:var(--acc-soft);color:var(--acc-ink);font-size:13px;font-weight:700}
h1{font-size:clamp(2rem,3.7vw,3.1rem);line-height:1.28;letter-spacing:-.01em;margin:0 0 22px;font-weight:900}
.hl{background:linear-gradient(transparent 62%,#ffe27a 62%,#ffe27a 92%,transparent 92%);padding:0 .06em}
.lead{color:var(--mut);margin:0 0 30px;font-size:16px}
.lead b{color:var(--ink)}
.cta-row{display:flex;gap:12px;flex-wrap:wrap}
.note{font-size:12.5px;color:var(--faint);margin:14px 0 0}

.hero-vis{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:end}
.receipt{background:var(--panel);border:1px solid var(--line);border-radius:14px 14px 4px 4px;padding:20px 18px 16px;box-shadow:var(--shadow);position:relative;transform:rotate(-2deg)}
.receipt:after{content:"";position:absolute;left:0;right:0;bottom:-10px;height:10px;background:radial-gradient(circle at 6px 0,transparent 6px,var(--panel) 6.5px) 0 0/12px 10px repeat-x}
.rc-h{font-size:12.5px;font-weight:700;margin:0 0 10px;color:var(--mut)}
.rc-list{list-style:none;margin:0;padding:0;font-size:13px}
.rc-list li{display:flex;justify-content:space-between;gap:8px;padding:6px 0;border-bottom:1px dashed var(--line)}
.rc-list li span:last-child{font-family:Inter,sans-serif;font-variant-numeric:tabular-nums}
.rc-list li em{font-style:normal;font-size:11px;color:var(--faint);display:block;line-height:1.3}
.rc-total{display:flex;justify-content:space-between;align-items:baseline;margin:12px 0 2px;font-size:13px;font-weight:700}
.rc-total b{font-size:24px;color:var(--warn)}
.rc-foot{margin:0;font-size:11.5px;color:var(--faint)}
.meter{background:var(--dark);color:#eef0f7;border-radius:16px;padding:20px 18px;box-shadow:0 30px 60px -30px #0b0c10aa;transform:translateY(-28px) rotate(1.5deg)}
.mt-h{display:flex;align-items:center;gap:8px;margin:0;font-weight:700;font-size:13.5px}
.mt-sub{font-size:12px;color:#a8aec6;margin:8px 0 6px}
.mt-val{margin:0;display:flex;flex-direction:column;gap:0}
.mt-val small{font-size:12px;color:#a8aec6}
.mt-val b{font-size:26px;color:#fff;white-space:nowrap}
.mt-bar{height:8px;border-radius:9px;background:#262931;margin:10px 0 12px;overflow:hidden}
.mt-bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,#8b9dff,#7fd8bd);border-radius:9px;transition:width 1.2s cubic-bezier(.16,1,.3,1)}
.mt-foot{margin:0;font-size:11.5px;color:#a8aec6}

.trust{list-style:none;display:flex;flex-wrap:wrap;gap:10px 28px;justify-content:center;margin:64px auto 0;padding:20px 24px;border-top:1px solid var(--line);font-size:13.5px;font-weight:500}
.trust li:before{content:"✓";color:var(--acc);font-weight:900;margin-right:8px}

/* sections */
.sec{padding:96px 0}
.sec.alt{background:#f4f5f9}
.kicker{font:800 12px/1 Inter,"Noto Sans JP";letter-spacing:.12em;color:var(--acc);margin:0 0 14px}
h2{font-size:clamp(1.6rem,3vw,2.35rem);line-height:1.4;margin:0 0 16px;font-weight:900;letter-spacing:-.005em}
.sec-lead{color:var(--mut);max-width:760px;margin:0 0 40px}
.sec-lead b{color:var(--ink)}
.cap{font-size:12.5px;color:var(--faint);margin:16px 0 0}

/* plans */
.plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px}
.plan{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:20px 18px 16px;display:flex;flex-direction:column}
.plan-k{font-size:12px;color:var(--faint);margin:0;font-weight:700}
.plan-n{font-weight:900;font-size:17px;margin:2px 0 8px;line-height:1.4}
.plan-p{font:800 26px/1.1 Inter,"Noto Sans JP";margin:0 0 14px}
.plan-p small{font:500 12px/1 "Noto Sans JP";color:var(--mut);margin-left:4px}
.caps{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.caps li{display:flex;align-items:center;gap:4px;font-size:12.5px;padding:4px 9px 4px 7px;white-space:nowrap;border-radius:8px;background:#f6f6f4}
.caps li i{font-style:normal;font-weight:900;width:16px;text-align:center}
.caps li.y{background:var(--ok-soft)}.caps li.y i{color:var(--ok)}
.caps li.p{background:#fff6dc}.caps li.p i{color:#a07400}
.caps li.n{color:var(--faint)}.caps li.n i{color:var(--warn)}
.plan-m{font-size:12px;color:var(--mut);margin:12px 0 0;line-height:1.6;flex:1}
.callout{margin-top:28px;background:var(--acc);color:#fff;border-radius:20px;padding:28px 32px;display:grid;grid-template-columns:1.2fr 1fr;gap:24px;align-items:center}
.co-h{font-weight:900;font-size:20px;margin:0 0 6px}
.callout p{margin:0;color:#e5e9ff}
.co-chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.co-chips li{background:#ffffff1f;border:1px solid #ffffff40;border-radius:999px;padding:5px 14px;font-size:13.5px;font-weight:700}

/* fits */
.fits{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.fit{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:22px 20px;display:flex;flex-direction:column}
.fit-k{margin:0;font-size:13px;font-weight:700;color:var(--mut)}
.fit-big{margin:4px 0 10px;font-size:22px;font-weight:900}
.fit p{font-size:13.5px;color:var(--mut);margin:0 0 14px;flex:1}
.fit-num{display:flex;align-items:baseline;gap:6px;border-top:1px solid var(--line);padding-top:12px;margin:0!important;flex:0!important}
.fit-num b{font-size:24px;color:var(--acc-ink)}
.fit-num span{font-size:12px;color:var(--faint)}

/* sim */
.sim{display:grid;grid-template-columns:1.15fr 1fr;gap:24px;background:var(--panel);border:1px solid var(--line);border-radius:24px;padding:28px;box-shadow:var(--shadow)}
.lbl{font-size:12.5px;font-weight:700;color:var(--mut);margin:0 0 10px}
.lbl+div{margin-bottom:24px}
.roles{display:flex;flex-wrap:wrap;gap:8px}
.role{border:1px solid var(--line);background:var(--panel);border-radius:999px;padding:8px 16px;font:inherit;font-size:13.5px;cursor:pointer;color:var(--ink)}
.role:hover{border-color:#c8cad3}
.role[aria-pressed=true]{background:var(--dark);border-color:var(--dark);color:#fff}
.sl{display:grid;grid-template-columns:96px 1fr 84px;align-items:center;gap:12px;padding:8px 0;border-bottom:1px solid #f0f0ee}
.sl label{font-size:14px;font-weight:700}
.sl output{text-align:right;font:700 15px Inter,"Noto Sans JP";font-variant-numeric:tabular-nums}
.sl output small{font:500 11.5px "Noto Sans JP";color:var(--faint);margin-left:2px}
input[type=range]{width:100%;accent-color:var(--acc);height:28px}
.sim-r{display:flex;flex-direction:column;gap:14px}
.res{background:var(--dark);color:#eef0f7;border-radius:18px;padding:22px 22px 18px}
.res-h{margin:0;font-size:13px;color:#a8aec6;font-weight:700}
.res-val{margin:4px 0 0;display:flex;align-items:baseline;gap:6px;flex-wrap:wrap}
.res-val b{font-size:38px;color:#fff;line-height:1.1}
.res-val span{color:#a8aec6}
.res-val small{font-size:13px;color:#a8aec6}
.res-sub{font-size:11.5px;color:#838aa0;margin:2px 0 14px}
.vs{border-top:1px solid #2c2f34;padding-top:12px}
.vs-h{margin:0;font-size:12.5px;color:#a8aec6}
.vs-val{margin:2px 0 6px;display:flex;align-items:baseline;gap:6px}
.vs-val b{font-size:24px;color:#ffab91}
.vs-val small{font-size:12px;color:#a8aec6}
.vs-list{list-style:none;margin:0;padding:0;font-size:12.5px;color:#c9cdd9}
.vs-list li{display:flex;justify-content:space-between;gap:10px;padding:2px 0}
.verdict{margin:12px 0 0;padding:10px 12px;border-radius:10px;background:#1b2140;color:#dfe5ff;font-size:13px;line-height:1.65}
.verdict.warn{background:#3a2416;color:#ffd9c7}
.pick{border:1px solid var(--line);border-radius:18px;padding:18px 20px}
.pick-h{margin:0 0 8px;font-weight:700;font-size:14px}
.pick ul{list-style:none;margin:0;padding:0}
.pick li{display:grid;grid-template-columns:76px 1fr;gap:10px;padding:7px 0;border-bottom:1px solid #f0f0ee;font-size:13px}
.pick li:last-child{border:0}
.pick li span{font-size:11.5px;font-weight:700;color:var(--acc-ink);background:var(--acc-soft);border-radius:6px;padding:2px 6px;align-self:start;text-align:center}
.pick li b{display:block}
.pick li em{font-style:normal;color:var(--mut);font-size:12px}
.pick-n{font-size:11.5px;color:var(--faint);margin:8px 0 0}

/* how */
.steps{list-style:none;margin:0 0 28px;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.steps li{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:22px 22px}
.steps .n{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--acc);color:#fff;font:800 14px Inter}
.st-h{font-weight:900;margin:12px 0 4px;font-size:17px}
.steps p{margin:0;font-size:14px;color:var(--mut)}
.steps .st-h{color:var(--ink)}
.price-card{background:var(--panel);border:1px solid var(--line);border-radius:20px;padding:26px 28px;display:grid;grid-template-columns:1.4fr 1fr;gap:24px;align-items:center}
.pc-k{margin:0;font-size:12.5px;font-weight:700;color:var(--mut)}
.pc-big{margin:2px 0 6px;font-size:22px;font-weight:900}
.price-card p{margin:0;font-size:14px;color:var(--mut)}
.price-card .pc-big{color:var(--ink)}
.pc-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:8px}
.pc-list li{background:var(--tint);border-radius:10px;padding:10px 12px;font-size:13.5px;font-weight:700}

/* safe */
.safe{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.safe li{border-left:3px solid var(--acc);padding:4px 0 4px 16px;font-size:13.5px;color:var(--mut)}
.safe li b{display:block;color:var(--ink);font-size:16px;margin-bottom:4px}

/* faq */
details{background:var(--panel);border:1px solid var(--line);border-radius:14px;margin:0 0 10px;padding:0 20px}
summary{cursor:pointer;padding:16px 0;font-weight:700;list-style:none;display:flex;justify-content:space-between;gap:12px}
summary::-webkit-details-marker{display:none}
summary:after{content:"+";font:400 22px/1 Inter;color:var(--faint)}
details[open] summary:after{content:"−"}
details p{margin:0 0 18px;color:var(--mut);font-size:14.5px}

.final{background:var(--dark);color:#fff;padding:88px 0;text-align:center;background-image:radial-gradient(50% 80% at 50% 0,#2f4fd855,transparent 70%)}
.final h2{color:#fff}
.final p{color:#a8aec6;margin:0 0 28px}
.notes{padding:48px 0;font-size:12.5px;color:var(--mut)}
.notes h3{font-size:14px;margin:0 0 10px}
.notes ul{margin:0;padding-left:1.2em}
.notes li{margin:0 0 6px}
.ft{border-top:1px solid var(--line);padding:24px 0;font-size:12px;color:var(--faint)}

@media (max-width:960px){
  .hero-in{grid-template-columns:1fr;gap:40px}
  .fits{grid-template-columns:1fr 1fr}
  .sim{grid-template-columns:1fr}
  .safe{grid-template-columns:1fr 1fr}
  .nav{display:none}
  .hd .btn{margin-left:auto}
}
@media (max-width:640px){
  .wrap{padding:0 16px}
  .sp{display:inline}.pc{display:none}
  .hero{padding-top:44px}
  .hero-vis{grid-template-columns:1fr;gap:12px}
  .receipt,.meter{transform:none}
  .trust{justify-content:flex-start;margin-top:40px;padding:16px}
  .sec{padding:64px 0}
  .fits,.steps,.safe{grid-template-columns:1fr}
  .callout,.price-card{grid-template-columns:1fr;padding:22px}
  .sim{padding:18px;border-radius:18px}
  .sl{grid-template-columns:80px 1fr 72px;gap:8px}
  .pc-list{grid-template-columns:1fr}
  .logo small{display:none}
}
