:root{--bg:#f5f5f7;--white:#fff;--ink:#1d1d1f;--sub:#6e6e73;--hair:#d2d2d7;--acc:#5856d6;--acc-d:#4b49c4;--blue:#0071e3;--r:22px;--font:"Inter","Noto Sans JP",-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text","Hiragino Sans","Hiragino Kaku Gothic ProN",Meiryo,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:76px;overflow-x:hidden;width:100%}
body.home{margin:0;width:100%;max-width:100vw;position:relative;word-break:break-word;overflow-wrap:anywhere;font-family:var(--font);background:var(--bg);color:var(--ink);line-height:1.6;-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;overflow-x:hidden;font-feature-settings:"palt"}
a{color:inherit;text-decoration:none}h1,h2,h3,p{margin:0}
.wrap{max-width:1040px;margin:0 auto;padding:0 24px}.wrap.narrow{max-width:760px}
.pc{display:inline}.sp{display:none}
/* nav */
.nav{position:sticky;top:0;z-index:30;background:rgba(245,245,247,.72);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid rgba(0,0,0,0);transition:border-color .3s,background .3s}
.nav.scrolled{border-bottom-color:rgba(0,0,0,.08);background:rgba(255,255,255,.72)}
.nav-in{max-width:1040px;margin:0 auto;padding:0 24px;height:66px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.brand{font-weight:700;font-size:20px;display:flex;align-items:center;gap:9px;letter-spacing:-.01em}
.mark{width:24px;height:24px;border-radius:7px;background:linear-gradient(135deg,#5856d6,#0a84ff);position:relative;display:inline-block}
.mark::after{content:"";position:absolute;inset:6px;border:2px solid #fff;border-radius:50%}
.nav-links{display:flex;gap:32px}.nav-links a{font-size:14.5px;font-weight:500;color:#1d1d1f;opacity:.8;transition:opacity .2s}.nav-links a:hover{opacity:1}
.nav-cta{display:flex;align-items:center;gap:18px}.nav-cta .txt{font-size:14.5px;font-weight:500;color:var(--blue)}
.pill{display:inline-flex;align-items:center;justify-content:center;gap:6px;background:var(--acc);color:#fff;border-radius:980px;padding:10px 20px;font-size:14px;font-weight:600;transition:background .2s,transform .2s,box-shadow .2s;white-space:nowrap}
.pill:hover{background:var(--acc-d);transform:translateY(-1px);box-shadow:0 8px 20px rgba(88,86,214,.3)}
.pill.lg{padding:14px 28px;font-size:16px;font-weight:600}
.link{color:var(--blue);font-size:16px;display:inline-flex;align-items:center;gap:2px}.link span{transition:transform .2s;font-size:20px;line-height:1}.link:hover span{transform:translateX(3px)}.link:hover{text-decoration:underline}
/* hero */
.hero{position:relative;text-align:center;padding:84px 24px 40px;max-width:1040px;margin:0 auto;overflow:hidden}
.glow{position:absolute;left:50%;top:36%;width:min(900px,120vw);height:min(600px,80vw);transform:translate(-50%,-50%);background:radial-gradient(closest-side,rgba(88,86,214,.18),rgba(10,132,255,.08) 55%,transparent 75%);filter:blur(30px);z-index:-1;animation:glow 10s ease-in-out infinite alternate}
@keyframes glow{to{transform:translate(-50%,-46%) scale(1.08)}}
.kicker{font-size:14px;font-weight:600;color:var(--acc);letter-spacing:.02em;margin-bottom:14px}
.hero h1{font-size:64px;line-height:1.08;font-weight:800;letter-spacing:-.035em;margin-bottom:22px}
.lead{font-size:21px;line-height:1.5;color:var(--sub);font-weight:500;margin-bottom:30px;letter-spacing:-.01em}
.cta{display:flex;align-items:center;justify-content:center;gap:26px;flex-wrap:wrap}
.note{font-size:12.5px;color:var(--sub);margin-top:16px}
/* device */
.device{margin:56px auto 0;display:flex;justify-content:center;perspective:1400px}
.phone{width:min(330px,88vw);height:min(660px,176vw);border-radius:52px;background:#1d1d1f;padding:12px;box-shadow:0 40px 90px rgba(0,0,0,.22),inset 0 0 0 2px #3a3a3c;position:relative;animation:hover 7s ease-in-out infinite;transform-origin:center}
@keyframes hover{50%{transform:translateY(-12px) rotateX(1.5deg)}}
.notch{position:absolute;top:22px;left:50%;transform:translateX(-50%);width:110px;height:30px;background:#1d1d1f;border-radius:20px;z-index:2}
.screen{width:100%;height:100%;border-radius:42px;background:#fff;overflow:hidden;position:relative;padding:62px 14px 14px;text-align:left}
.post-head{display:flex;gap:10px;align-items:center;font-size:12px}.post-head .muted{display:block;color:var(--sub);font-weight:400;font-size:11px}
.avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,#ff9f0a,#ff375f);flex:0 0 auto}
.post-text{font-size:13.5px;line-height:1.5;margin:10px 0 10px}
.post-acts{display:flex;justify-content:space-between;color:var(--sub);font-size:11.5px;margin-top:10px;padding:0 4px}
.lcard{border:1px solid var(--hair);border-radius:16px;overflow:hidden;background:#fff}
.lcard-img{aspect-ratio:1200/630;background:linear-gradient(135deg,#5856d6,#0a84ff 55%,#64d2ff);position:relative;overflow:hidden}
.sheen{position:absolute;inset:-60%;background:linear-gradient(115deg,transparent 42%,rgba(255,255,255,.4) 50%,transparent 58%);animation:sheen 5s ease-in-out infinite}
@keyframes sheen{0%{transform:translateX(-70%)}55%,100%{transform:translateX(70%)}}
.lcard-body{padding:9px 12px;display:flex;flex-direction:column;gap:1px}.lcard-host{font-size:10.5px;color:var(--sub)}.lcard-body b{font-size:13px;font-weight:600}.lcard-desc{font-size:11.5px;color:var(--sub)}
.toast{position:absolute;left:14px;right:14px;bottom:18px;background:rgba(29,29,31,.92);color:#fff;border-radius:14px;padding:10px 14px;font-size:12px;display:flex;align-items:center;gap:8px;transform:translateY(80px);opacity:0;transition:transform .5s cubic-bezier(.2,.8,.2,1),opacity .5s;backdrop-filter:blur(10px)}
.toast.show{transform:none;opacity:1}.toast .dot{width:7px;height:7px;border-radius:50%;background:#30d158}.toast em{margin-left:auto;font-style:normal;color:#30d158;font-weight:600}
/* sections */
.sec{padding:96px 0}.sec.white{background:var(--white)}
.sec h2{font-size:44px;line-height:1.12;font-weight:800;letter-spacing:-.03em;text-align:center}
.sub{text-align:center;color:var(--sub);font-size:18px;margin:12px 0 48px;font-weight:500}
/* stats */
.rt-title{display:flex;align-items:center;justify-content:center;gap:12px;font-size:13px;font-weight:600;color:var(--sub);margin-bottom:26px;letter-spacing:.02em}
.rt-title>span{width:80px;height:1px;background:var(--hair)}.rt-title i{width:7px;height:7px;border-radius:50%;background:#30d158;box-shadow:0 0 0 0 rgba(48,209,88,.5);animation:ping 1.8s infinite}
@keyframes ping{70%{box-shadow:0 0 0 8px rgba(48,209,88,0)}100%{box-shadow:0 0 0 0 rgba(48,209,88,0)}}
.rt{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.rt-card{background:#fff;border-radius:var(--r);padding:22px 24px 24px;box-shadow:0 2px 12px rgba(0,0,0,.05);position:relative;overflow:hidden;transition:transform .3s cubic-bezier(.2,.8,.2,1),box-shadow .3s}
.rt-card:hover{transform:translateY(-4px);box-shadow:0 14px 34px rgba(0,0,0,.08)}
.rt-card::before{content:"";position:absolute;top:0;left:0;right:0;height:4px}
.c1::before{background:linear-gradient(90deg,#5856d6,#8a88ff)}.c2::before{background:linear-gradient(90deg,#ff9f0a,#ff375f)}.c3::before{background:linear-gradient(90deg,#30d158,#64d2ff)}
.rt-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}
.tag{font-size:10.5px;font-weight:700;padding:4px 10px;border-radius:980px;display:inline-flex;align-items:center;gap:5px;letter-spacing:.04em}.tag::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.c1 .tag{background:#ececfb;color:#5856d6}.c2 .tag{background:#fff1dc;color:#d97c00}.c3 .tag{background:#e3f9ea;color:#1e9d48}
.rt-card .ico{width:42px;height:42px;border-radius:13px;display:flex;align-items:center;justify-content:center}
.rt-card .ico svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.c1 .ico{background:#f0f0fc;color:#5856d6}.c2 .ico{background:#fff4e8;color:#ff9f0a}.c3 .ico{background:#ebfaf0;color:#30a35a}
.rt-num{font-size:44px;font-weight:800;letter-spacing:-.03em;line-height:1.1;font-variant-numeric:tabular-nums}
.c1 .rt-num{color:#5856d6}.c2 .rt-num{color:#ff9500}.c3 .rt-num{color:#28a745}
.rt-lbl{font-size:13px;color:var(--sub);font-weight:500;margin-top:6px}
/* bento */
.bento{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:auto;gap:18px}
.b{background:var(--bg);border-radius:var(--r);padding:28px;transition:transform .3s cubic-bezier(.2,.8,.2,1),box-shadow .3s;position:relative;overflow:hidden}
.b:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(0,0,0,.08)}
.b.big{grid-column:span 2;display:grid;grid-template-columns:1.1fr 1fr;gap:20px;align-items:center;background:linear-gradient(135deg,#f5f5f7,#ededf7)}
.b h3{font-size:19px;font-weight:700;letter-spacing:-.01em;margin:14px 0 6px}.b p{font-size:14px;color:var(--sub)}
.b .ico{width:44px;height:44px;border-radius:13px;display:inline-flex;align-items:center;justify-content:center;color:#fff;transition:transform .3s}.b:hover .ico{transform:scale(1.08)}
.b .ico svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.i1{background:linear-gradient(135deg,#5856d6,#0a84ff)}.i2{background:linear-gradient(135deg,#0a84ff,#64d2ff)}.i3{background:linear-gradient(135deg,#ff375f,#ff9f0a)}.i4{background:linear-gradient(135deg,#30d158,#64d2ff)}.i5{background:linear-gradient(135deg,#ff9f0a,#ffd60a)}.i6{background:linear-gradient(135deg,#1d1d1f,#636366)}
.b-art{position:relative;height:170px}
.mini-card{position:absolute;width:62%;background:#fff;border-radius:14px;box-shadow:0 10px 30px rgba(0,0,0,.1);overflow:hidden;left:0;top:10px;transition:transform .4s cubic-bezier(.2,.8,.2,1)}
.mini-card.b2{left:auto;right:0;top:40px;transform:rotate(4deg)}.b:hover .mini-card{transform:translateY(-6px) rotate(-3deg)}.b:hover .mini-card.b2{transform:translateY(6px) rotate(6deg)}
.mc-img{aspect-ratio:1200/630;background:linear-gradient(135deg,#5856d6,#0a84ff)}.mc-img.g2{background:linear-gradient(135deg,#ff375f,#ff9f0a)}
.mc-t{padding:8px 10px;display:flex;flex-direction:column;gap:5px}.mc-t i{display:block;height:7px;border-radius:4px;background:#e5e5ea;width:80%}.mc-t i.s{width:55%;background:#f0f0f3}
/* steps */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.step{background:#fff;border-radius:var(--r);padding:30px 28px;box-shadow:0 2px 12px rgba(0,0,0,.05);transition:transform .3s cubic-bezier(.2,.8,.2,1),box-shadow .3s}
.step:hover{transform:translateY(-4px);box-shadow:0 14px 34px rgba(0,0,0,.08)}
.step .num{font-size:40px;font-weight:800;letter-spacing:-.03em;background:linear-gradient(135deg,#5856d6,#0a84ff);-webkit-background-clip:text;background-clip:text;color:transparent;line-height:1}
.step h3{font-size:19px;font-weight:700;margin:14px 0 6px}.step p{font-size:14px;color:var(--sub)}
/* compare */
.cmp{display:grid;grid-template-columns:1fr 60px 1fr;gap:18px;align-items:center}
.cmp-lbl{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.06em;color:var(--sub);background:var(--bg);border-radius:980px;padding:4px 12px;margin-bottom:12px}.cmp-lbl.on{background:#ececfb;color:var(--acc)}
.cmp-post{background:#fff;border:1px solid var(--hair);border-radius:18px;padding:18px;min-height:230px;box-shadow:0 2px 12px rgba(0,0,0,.04)}
.cmp-post p{font-size:14px;margin-bottom:10px}.raw{color:var(--blue);word-break:break-all;font-size:13px}
.cmp-arrow{display:flex;justify-content:center;color:var(--acc)}.cmp-arrow svg{width:36px;height:36px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;animation:nudge 1.6s ease-in-out infinite}
@keyframes nudge{50%{transform:translateX(6px)}}
/* faq (iOS grouped list) */
.faq{background:#fff;border-radius:var(--r);overflow:hidden;box-shadow:0 2px 12px rgba(0,0,0,.05)}
.faq details{border-bottom:1px solid #e5e5ea;padding:0 22px}.faq details:last-child{border-bottom:0}
.faq summary{list-style:none;cursor:pointer;padding:18px 0;font-size:16px;font-weight:600;display:flex;justify-content:space-between;align-items:center;gap:12px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";width:9px;height:9px;border-right:2px solid var(--hair);border-bottom:2px solid var(--hair);transform:rotate(45deg);transition:transform .25s;flex:0 0 auto;margin-right:4px}
.faq details[open] summary::after{transform:rotate(-135deg)}
.faq p{color:var(--sub);font-size:14.5px;padding:0 0 18px}
/* final */
.final{background:#fff;padding:110px 0;text-align:center}
.final h2{font-size:48px;font-weight:800;letter-spacing:-.03em;line-height:1.1;margin-bottom:12px}
.final p{color:var(--sub);font-size:18px;margin-bottom:28px}
.final .wrap{display:flex;flex-direction:column;align-items:center;gap:0}
.final .link{margin-top:16px}
/* footer */
.foot{padding:30px 0 40px;color:var(--sub);font-size:12px;border-top:1px solid var(--hair)}
.foot-row{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.foot .brand{font-size:14px;color:var(--ink)}
.foot-links{display:flex;gap:18px}.foot-links a:hover{color:var(--ink);text-decoration:underline}
.foot-note{margin-top:14px}
/* reveal */
.rv{opacity:0;transform:translateY(18px);filter:blur(4px);transition:opacity .8s cubic-bezier(.2,.8,.2,1),transform .8s cubic-bezier(.2,.8,.2,1),filter .8s}
.rv.in{opacity:1;transform:none;filter:none}
.rv.d1{transition-delay:.1s}.rv.d2{transition-delay:.2s}.rv.d3{transition-delay:.3s}.rv.d4{transition-delay:.4s}
@media (prefers-reduced-motion:reduce){.rv{opacity:1;transform:none;filter:none;transition:none}.phone,.glow,.sheen,.cmp-arrow svg,.rt-title i{animation:none}}
@media (max-width:900px){
  .nav-links{display:none}.nav-in{height:58px;padding:0 16px}.brand{font-size:18px}.pill{padding:8px 16px;font-size:13px}.nav-cta .txt{font-size:13.5px}
  .pc{display:none}.sp{display:inline}
  .hero{padding:56px 20px 30px}.hero h1{font-size:40px}.lead{font-size:17px}.cta{gap:16px}
  .phone{width:min(290px,86vw);height:min(580px,172vw);border-radius:44px}.screen{border-radius:36px;padding:56px 12px 12px}
  .sec{padding:64px 0}.sec h2{font-size:30px}.sub{font-size:15px;margin-bottom:30px}
  .rt{grid-template-columns:1fr;gap:14px}.rt-num{font-size:38px}
  .bento{grid-template-columns:1fr}.b.big{grid-column:span 1;grid-template-columns:1fr}.b-art{height:150px}
  .steps{grid-template-columns:1fr}
  .cmp{grid-template-columns:1fr}.cmp-arrow svg{transform:rotate(90deg);animation:none}
  .final{padding:70px 0}.final h2{font-size:32px}.final p{font-size:15px}
  .wrap{padding:0 16px}
}

.rt-card,.b,.step,.cmp-col,.cmp-post,.faq details,.wrap,.hero-in{min-width:0;max-width:100%}
img,svg,video{max-width:100%}
.lcard-body b,.lcard-desc,.post-text,.b p,.b h3{overflow-wrap:anywhere}
@media (max-width:380px){.hero h1{font-size:34px}.pill.lg{padding:12px 20px;font-size:15px;width:100%}.cta{flex-direction:column;gap:12px}.rt-num{font-size:34px}}

/* 画面の中身 */
.sb{position:absolute;top:14px;left:0;right:0;display:flex;justify-content:space-between;padding:0 26px;font-size:12px;font-weight:600;z-index:3}
.sb-r{display:flex;gap:4px;align-items:center}.sb i{display:inline-block;background:#1d1d1f;border-radius:2px}.sig{width:14px;height:9px;clip-path:polygon(0 100%,25% 100%,25% 60%,0 60%,30% 60%,55% 60%,55% 30%,30% 30%,30% 100%,60% 100%,60% 0,85% 0,85% 100%)}.wifi{width:12px;height:9px;border-radius:50% 50% 0 0}.bat{width:22px;height:10px;border-radius:3px;background:#1d1d1f}
.apphead{display:flex;align-items:center;justify-content:space-between;padding:0 2px 10px;border-bottom:1px solid #e5e5ea;margin-bottom:10px;font-size:14px}.spark{color:#1d1d1f;opacity:.5}
.avatar.xs{width:26px;height:26px}.avatar.a2{background:linear-gradient(135deg,#30d158,#64d2ff)}
.post.dim{opacity:.55;margin-top:12px;padding-top:12px;border-top:1px solid #e5e5ea}
.post-head b{display:block;font-size:12.5px}
/* bento 追加 */
.b.wide{grid-column:span 2;display:grid;grid-template-columns:1.3fr .7fr;gap:16px;align-items:center;background:#1d1d1f;color:#fff}
.b.wide p{color:#a1a1a6}.b.wide .ico{background:#fff;color:#1d1d1f}
.b-art.qr{height:140px;display:flex;align-items:center;justify-content:center}
.qrsvg{width:130px;height:130px;color:#fff;background:#fff;color:#1d1d1f;padding:8px;border-radius:14px;box-sizing:border-box;animation:qrpulse 3s ease-in-out infinite}
@keyframes qrpulse{50%{transform:scale(1.04)}}
.i7{background:linear-gradient(135deg,#30d158,#0a84ff)}
/* compare 高さ揃え */
.cmp{align-items:stretch}.cmp-col{display:flex;flex-direction:column}.cmp-post{flex:1;display:flex;flex-direction:column;justify-content:center;min-height:0}
.cmp-post .post-head{margin-bottom:10px}
/* 見出しの改行を整える */
.hero h1,.sec h2,.final h2{text-wrap:balance}
.nw{white-space:nowrap}
@media (max-width:900px){.b.wide{grid-column:span 1;grid-template-columns:1fr}.b-art.qr{height:120px}.lead{font-size:16px}.nw{white-space:normal}.lead br{display:none}}
