/* v08-stripe : Stripe風 - 斜めグラデ・多層シャドウ・強い文字階層 */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@500;600;700;800&family=Noto+Sans+JP:wght@400;500;700;900&display=swap');
:root{
  --ink:#0A2540; --ink-2:#2F4663; --sub:#4F6179; --mute:#6B7C93;
  --line:#E3E8EE; --line-2:#CFD7E3; --surface:#F6F9FC; --surface-2:#EDF2F8;
  --blue:#5046E5; --blue-d:#3B32C4; --blue-soft:#EEEDFF;
  --cta:#E8590C; --cta-d:#C94A06; --cta-soft:#FFF1E8;
  --r-s:6px; --r:10px; --r-l:16px;
  --sh-1:0 1px 1px rgba(10,37,64,.04),0 2px 5px rgba(50,50,93,.06);
  --sh-2:0 13px 27px -5px rgba(50,50,93,.18),0 8px 16px -8px rgba(0,0,0,.18);
  --sh-3:0 30px 60px -12px rgba(50,50,93,.25),0 18px 36px -18px rgba(0,0,0,.3);
  --grad:linear-gradient(135deg,#7A73FF 0%,#5046E5 45%,#0A9BC4 100%);
  --font:'Noto Sans JP','Hiragino Kaku Gothic ProN',Meiryo,system-ui,sans-serif;
  --serif:'Noto Sans JP','Hiragino Kaku Gothic ProN',sans-serif;
  --paper:#F6F9FC; --paper-2:#EDF2F8;
}
body{background:#fff;color:var(--ink);line-height:1.85}
a{color:var(--blue)}
:focus-visible{outline-color:var(--blue)}
h1,h2,h3{letter-spacing:-.005em}

/* header */
.hd{background:rgba(255,255,255,.82);border-bottom:1px solid rgba(10,37,64,.07);backdrop-filter:saturate(1.8) blur(16px)}
.hd nav a{font-weight:700;color:var(--ink-2)}
.hd nav a:hover{color:var(--blue)}

/* buttons */
.btn{border-radius:999px;letter-spacing:.03em}
.btn-cta{background:linear-gradient(180deg,#F4701F,#E8590C);color:#fff;box-shadow:0 1px 0 rgba(255,255,255,.3) inset,0 10px 24px -6px rgba(232,89,12,.55),0 2px 4px rgba(232,89,12,.3)}
.btn-cta:hover{background:linear-gradient(180deg,#EE6513,#D24D07);transform:translateY(-1px);box-shadow:0 1px 0 rgba(255,255,255,.3) inset,0 16px 30px -8px rgba(232,89,12,.6)}
.btn-line{background:#fff;border-color:transparent;box-shadow:0 0 0 1px var(--line-2),var(--sh-1);color:var(--ink)}
.btn-line:hover{box-shadow:0 0 0 1px var(--blue),var(--sh-2);border-color:transparent}
.btn-dark{background:var(--ink);box-shadow:var(--sh-1)}
.btn-dark:hover{background:#12335A}
.btn-ghost-w{border-color:rgba(255,255,255,.4)}

/* hero */
.hero2{background:#fff;isolation:isolate}
.hero2::before{display:block;content:"";position:absolute;inset:-30% -10% auto -10%;width:auto;height:115%;background:linear-gradient(160deg,#EEF0FF 0%,#E3F4FB 45%,#FFF1E8 100%);transform:skewY(-9deg);transform-origin:top left;z-index:-1}
.hero2::after{content:"";position:absolute;right:-8%;top:-14%;width:60%;height:75%;background:radial-gradient(closest-side,rgba(122,115,255,.30),transparent 70%);z-index:-1;pointer-events:none}
.hero2 h1{font-family:var(--font);font-weight:900;letter-spacing:-.01em;color:var(--ink)}
.hero2 .sub{color:var(--ink-2)}
.who-line b{color:var(--ink)}
.who-line img{box-shadow:0 0 0 2px #fff,0 4px 12px rgba(50,50,93,.2)}
.speed2{border-top:0;padding-top:0;margin-top:30px;display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.speed2 div,.speed2 div:first-child{background:#fff;border:0;border-radius:12px;padding:12px 14px;box-shadow:var(--sh-1),0 0 0 1px rgba(10,37,64,.05)}
.speed2 dd{font-family:'Inter','Noto Sans JP',sans-serif;font-weight:800}
.hero2 .stage{background:transparent}
.sheet{border:0;box-shadow:0 0 0 1px rgba(10,37,64,.06),var(--sh-3);border-radius:12px}
.paper{box-shadow:0 0 0 1px rgba(10,37,64,.08),0 24px 40px -12px rgba(10,37,64,.45)}
.arrow2{background:var(--grad);box-shadow:0 0 0 5px #fff,var(--sh-2)}
.hero2 .tag.a{background:var(--grad)}
.feed{background:linear-gradient(160deg,#0A2540,#1B2E78);border-radius:14px;box-shadow:var(--sh-3)}
.link2{color:var(--blue);text-decoration-color:rgba(80,70,229,.4);font-weight:700}

/* sections */
.sec{padding:96px 0;position:relative}
@media (max-width:700px){.sec{padding:68px 0}}
.sec.alt{background:linear-gradient(180deg,#F6F9FC,#F1F5FB)}
.sec.dark{background:linear-gradient(160deg,#0A2540 0%,#14246B 55%,#2A2788 100%);overflow:hidden}
.sec.dark::after{content:"";position:absolute;right:-10%;top:-30%;width:60%;height:100%;background:radial-gradient(closest-side,rgba(0,184,217,.25),transparent 70%);pointer-events:none}
.sec.dark>.wrap{position:relative;z-index:1}
.kicker{color:var(--blue);font-weight:800;letter-spacing:.1em;font-size:13px}
.kicker .q{background:var(--grad);color:#fff;border-radius:999px;width:26px;height:26px}
.sec.dark .kicker{color:#B4BFFF}.sec.dark .kicker .q{background:rgba(255,255,255,.16);color:#fff}
.h2{font-weight:900;font-size:clamp(27px,4.8vw,42px);line-height:1.35;letter-spacing:-.01em}
.lead{color:var(--sub)}
.sec.dark .lead{color:#C4CEF0}

/* generic cards */
.card,.pain,.why,.ind,.case,.ai-box,.step,.burden div,.custom-order,.faq details,.quiz,.facts div,.works div,.ind-pains div,.build-steps li{border:0;box-shadow:0 0 0 1px rgba(10,37,64,.06),var(--sh-1);border-radius:var(--r-l)}
.card{border-radius:14px;transition:box-shadow .25s,transform .25s}
.ind{transition:box-shadow .25s,transform .25s}
.card:hover,.ind:hover{box-shadow:0 0 0 1px rgba(80,70,229,.25),var(--sh-2);transform:translateY(-3px)}
.card h3{font-weight:800}
.card .meta .no{border-radius:999px;padding:0 8px}
.tags span{border-radius:999px;background:var(--blue-soft);color:var(--blue-d);font-weight:700}
.tags span.tool{background:#fff;color:var(--ink-2);border:0;box-shadow:0 0 0 1px var(--line-2)}
.card .more{border:0;border-radius:999px;background:var(--surface-2);color:var(--ink)}
.card .more:hover{background:var(--blue);color:#fff}
.shelf-tabs button{border:0;box-shadow:0 0 0 1px var(--line-2);border-radius:999px;background:#fff}
.shelf-tabs button[aria-pressed="true"]{background:var(--ink);box-shadow:var(--sh-2)}
.custom-order{background:linear-gradient(135deg,#F3F2FF,#EAF7FC);box-shadow:0 0 0 1px rgba(80,70,229,.15)}

/* pains */
.pain{padding:22px}
.pain .n{color:#fff;background:var(--grad);width:30px;height:30px;border-radius:999px;display:grid;place-items:center;font-size:13px;line-height:1;align-self:start;margin-top:2px}
.pain .to{color:var(--blue-d)}
.why{background:linear-gradient(135deg,#fff,#F6F5FF)}
.why li::before{background:var(--grad);border-radius:999px}

/* demo */
.demo-tabs button{border-color:rgba(255,255,255,.28);color:#DCE3FA}
.demo-tabs button[aria-selected="true"]{background:#fff;color:var(--ink);box-shadow:var(--sh-2)}
.demo{background:#0A1B33;border:1px solid rgba(255,255,255,.1);border-radius:18px;box-shadow:0 40px 80px -20px rgba(0,0,0,.6)}
.demo-bar{background:linear-gradient(180deg,#112A4C,#0E2342);border-bottom-color:rgba(255,255,255,.1)}
.run{border-radius:999px;background:linear-gradient(180deg,#F4701F,#E8590C);box-shadow:0 6px 16px -4px rgba(232,89,12,.6)}
.reset{border-radius:999px}

/* quiz */
.quiz{box-shadow:0 0 0 1px rgba(10,37,64,.05),var(--sh-3);padding:30px 24px}
.quiz-progress i.on{background:var(--grad)}
.choices button{border:0;box-shadow:0 0 0 1px var(--line-2),var(--sh-1);border-radius:12px;transition:box-shadow .2s,transform .2s}
.choices button:hover{box-shadow:0 0 0 2px var(--blue),var(--sh-2);background:#fff;transform:translateY(-2px)}

/* industries */
.ind .ic{background:var(--blue-soft);color:var(--blue);border-radius:12px}
.ind em{color:var(--blue-d)}

/* cases */
.case{border-radius:20px;box-shadow:0 0 0 1px rgba(10,37,64,.05),var(--sh-2)}
.case .lbl span{border-radius:999px;background:var(--blue-soft);color:var(--blue-d)}
.case .lbl span.img{background:var(--cta-soft);color:var(--cta-d)}
.case h3{font-weight:800}

/* ai */
.ai-box{padding:28px;position:relative;overflow:hidden}
.ai-box::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:linear-gradient(90deg,#11845B,#0A9BC4)}
.ai-box.cannot::before{background:linear-gradient(90deg,#C2410C,#E8590C)}
.note-box{border-left:0;background:var(--blue-soft);border-radius:12px;color:var(--ink)}

/* steps */
.step .n{background:var(--grad);border-radius:999px;box-shadow:0 6px 14px -4px rgba(80,70,229,.5)}
.step .free{border-radius:999px}
@media (min-width:980px){.steps::before{border-top:2px dashed #C3C8F5}}
.build-steps i{background:var(--grad);border-radius:14px;box-shadow:0 8px 18px -6px rgba(80,70,229,.5)}
.build-steps li:nth-child(4) i{background:linear-gradient(180deg,#F4701F,#E8590C)}
.analysis{border:0;background:linear-gradient(135deg,#FFF3EA 0%,#F4F2FF 100%);box-shadow:0 0 0 1px rgba(232,89,12,.15),var(--sh-2);border-radius:20px}

/* reasons (dark) */
.reason{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);border-radius:18px}
.reason h3 svg{color:#B4BFFF}
.reason p{color:#D3DBF7}
.stack{box-shadow:var(--sh-3)}
.stack li{background:var(--surface);border-radius:999px;padding:8px 14px}
.stack-note{color:#BCC7EA}

/* profile */
.prof-id img{box-shadow:0 0 0 4px #fff,0 0 0 6px #C9CCFA,var(--sh-2)!important}
.facts div{background:#fff}
.facts b{color:var(--blue)}
.career li::before{background:var(--blue)}

/* cta band */
.cta-band{background:linear-gradient(135deg,#0A2540 0%,#2A2788 60%,#4A40D8 100%);border-radius:20px;box-shadow:var(--sh-3)}
.cta-band p small{color:#C9D2F2}

/* form */
form.f input,form.f select,form.f textarea{border:0;box-shadow:0 0 0 1px var(--line-2),var(--sh-1);border-radius:10px}
form.f input:focus,form.f select:focus,form.f textarea:focus{box-shadow:0 0 0 2px var(--blue),0 0 0 6px rgba(80,70,229,.15)}
form.f label.check{background:var(--surface);border-radius:12px}
.mtg-slots{border:0;box-shadow:0 0 0 1px var(--line-2);border-radius:12px}
.mtg-quick-row button{border-radius:12px}

/* faq */
.faq details{box-shadow:0 0 0 1px rgba(10,37,64,.06),var(--sh-1)}
.faq details[open]{box-shadow:0 0 0 1px rgba(80,70,229,.25),var(--sh-2)}
.faq summary::before{color:#fff;background:var(--grad);width:26px;height:26px;border-radius:999px;display:grid;place-items:center;font-size:13px;flex:none}

/* footer & fixbar */
.ft{background:linear-gradient(160deg,#0A2540,#10205F)}
.ft small{color:#B2BFDD}
.fixbar{background:rgba(255,255,255,.92);border-top:1px solid rgba(10,37,64,.08);box-shadow:0 -10px 30px -10px rgba(50,50,93,.2)}
.trust{background:#fff;border-color:rgba(10,37,64,.06)}
