@import"https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600;700;800&display=swap";:root{--grad: linear-gradient(90deg, #3b6df7 0%, #7b5cf6 55%, #a855f7 100%);--grad-soft: linear-gradient(135deg, #5b7df8 0%, #8b5cf6 100%);--ink: #2b3653;--ink-2: #5a6781;--ink-3: #8a93ac;--line: #e6ebf3;--bg: #ffffff;--shadow-sm: 0 1px 3px rgba(40, 55, 90, .06);--radius: 14px}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:Noto Sans JP,Hiragino Sans,Yu Gothic UI,sans-serif;color:var(--ink);background:var(--bg);font-size:15px;line-height:1.7;-webkit-font-smoothing:antialiased}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}.container{max-width:1180px;margin:0 auto;padding:0 28px}.site-header{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid #eef1f7}.header-inner{display:flex;align-items:center;gap:32px;padding:14px 28px;max-width:1280px;margin:0 auto}.brand{display:flex;align-items:center;gap:8px;flex-shrink:0}.brand img{height:44px;width:auto}.nav{display:flex;gap:34px;margin-left:24px;font-size:14px;font-weight:500;color:var(--ink)}.nav a:hover,.nav button:hover{color:#5b7df8}.nav button{font-size:14px;font-weight:500;color:var(--ink);padding:0;cursor:pointer;background:none;border:none;font-family:inherit}.header-actions{margin-left:auto;display:flex;gap:10px;align-items:center}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:46px;padding:0 22px;border-radius:10px;font-weight:600;font-size:14px;white-space:nowrap;transition:transform .15s ease,box-shadow .15s ease,opacity .15s ease}.btn:hover{transform:translateY(-1px)}.btn-primary{background:var(--grad);color:#fff;box-shadow:0 6px 18px #5b6df859}.btn-primary:hover{box-shadow:0 10px 24px #5b6df873}.btn-outline{background:#fff;color:var(--ink);border:1px solid #d8dde9}.btn-outline:hover{border-color:#b9c3d6}.btn .arrow{width:22px;height:22px;display:inline-grid;place-items:center}.btn .arrow img{width:18px;height:18px}.hero{padding:64px 0 56px;background:radial-gradient(900px 600px at 80% 30%,#f1ecff 0%,transparent 60%),radial-gradient(700px 500px at 20% 90%,#eef2ff 0%,transparent 60%),#fff}.hero-inner{display:grid;grid-template-columns:1.05fr 1.1fr;align-items:center;gap:40px}.hero h1{font-size:44px;line-height:1.4;font-weight:800;letter-spacing:.01em;margin:0 0 22px}.hero h1 .ikki{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;border-bottom:3px solid;-o-border-image:var(--grad) 1;border-image:var(--grad) 1;padding-bottom:2px}.hero p.lead{font-size:15px;color:var(--ink-2);margin:0 0 30px;line-height:1.95;max-width:520px}.hero-ctas{display:flex;gap:14px;margin-bottom:34px}.hero-ctas .btn{height:54px;padding:0 28px;font-size:15px;min-width:200px}.chips{display:flex;flex-wrap:wrap;gap:10px;max-width:560px}.chip{display:inline-flex;align-items:center;gap:8px;background:#fff;border:1px solid #e6ebf3;border-radius:999px;padding:9px 18px 9px 12px;font-size:13.5px;font-weight:500;color:var(--ink);box-shadow:0 1px 2px #28375a08}.chip img{width:18px;height:18px}.hero-art{display:flex;justify-content:center;align-items:center}.hero-art img{max-width:560px;width:100%;height:auto}section{padding:64px 0}section[id]{scroll-margin-top:88px}.section-title{text-align:center;font-size:28px;font-weight:700;margin:0 0 36px;letter-spacing:.02em}.stage-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.stage-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:28px 28px 26px;display:flex;flex-direction:column;align-items:center;text-align:center;box-shadow:var(--shadow-sm)}.stage-card .icon{width:72px;height:72px;margin-bottom:12px}.stage-card .icon img{width:100%;height:100%;-o-object-fit:contain;object-fit:contain}.stage-card h3{font-size:17px;font-weight:700;margin:6px 0 12px}.stage-card p{font-size:13.5px;color:var(--ink-2);margin:0;line-height:1.85}.cap-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.cap-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:26px 22px;text-align:left;box-shadow:var(--shadow-sm)}.cap-card .row{display:flex;align-items:center;gap:14px;margin-bottom:14px}.cap-card .ic{width:60px;height:60px;flex-shrink:0}.cap-card .ic img{width:100%;height:100%;-o-object-fit:contain;object-fit:contain}.cap-card h3{font-size:17px;margin:0;font-weight:700;line-height:1.35}.cap-card p{font-size:13px;color:var(--ink-2);margin:0;line-height:1.85}.bg-soft{background:#fafbfd}.feat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.feat-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:30px 28px 28px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column}.feat-head{display:flex;align-items:flex-start;gap:14px;margin-bottom:14px}.feat-num{font-size:30px;font-weight:800;line-height:1;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;padding-top:2px}.feat-title{font-size:19px;font-weight:700;line-height:1.5;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}.feat-card p.feat-desc{font-size:13.5px;color:var(--ink-2);margin:0 0 22px;line-height:1.95}.feat-flow{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;align-items:center;gap:8px;margin-top:auto}.feat-flow-four{grid-template-columns:1fr auto 1fr auto 1fr auto 1fr}.flow-step{background:#f5f7fc;border:1px solid #ebeefa;border-radius:12px;padding:14px 8px 12px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;text-align:center;height:120px}.flow-step .ico{width:36px;height:36px;margin-bottom:8px;flex-shrink:0}.flow-step .ico img{width:100%;height:100%;-o-object-fit:contain;object-fit:contain}.flow-step .lbl{font-size:11.5px;font-weight:600;line-height:1.45;color:var(--ink);display:flex;align-items:center;justify-content:center;flex:1}.flow-arrow{width:18px;height:18px;display:grid;place-items:center}.flow-arrow img{width:100%;height:100%;-o-object-fit:contain;object-fit:contain;opacity:.9}.process-grid{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;align-items:stretch;gap:10px}.step-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:22px 22px 24px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column}.step-num{font-size:12px;font-weight:700;letter-spacing:.14em;color:#9aa3bb;margin-bottom:8px}.step-card h3{font-size:17px;font-weight:700;margin:0 0 12px;line-height:1.5}.tag{display:inline-flex;align-items:center;font-size:12px;font-weight:600;background:#eef0fb;color:#5b6ce0;padding:5px 12px;border-radius:999px;margin-bottom:14px;width:-moz-fit-content;width:fit-content}.step-card p{font-size:13px;color:var(--ink-2);margin:0;line-height:1.85}.process-arrow{display:grid;place-items:center;width:22px}.process-arrow img{width:22px;height:22px;opacity:.55}.faq-list{max-width:980px;margin:0 auto;border-top:1px solid #e6ebf3}.faq-item{border-bottom:1px solid #e6ebf3}.faq-q{width:100%;text-align:left;display:flex;align-items:center;justify-content:space-between;padding:20px 8px;font-size:15px;font-weight:500;color:var(--ink)}.faq-toggle{width:22px;height:22px;display:grid;place-items:center;color:#9aa3bb;font-size:20px;font-weight:300;transition:transform .25s ease}.faq-item.open .faq-toggle{transform:rotate(45deg);color:#7b5cf6}.faq-a{max-height:0;overflow:hidden;transition:max-height .3s ease;font-size:14px;color:var(--ink-2);line-height:1.95}.faq-a>div{padding:0 8px 22px}.faq-item.open .faq-a{max-height:300px}.cta-section{padding:40px 0 60px}.cta-banner{background:var(--grad-soft);border-radius:18px;padding:46px 56px;display:grid;grid-template-columns:1.2fr .9fr;gap:30px;align-items:center;color:#fff;position:relative;overflow:hidden}.cta-banner h2{font-size:26px;font-weight:700;margin:0 0 14px;line-height:1.55;color:#fff}.cta-banner p{color:#e6e7ff;font-size:14px;line-height:1.9;margin:0 0 24px;max-width:560px}.cta-banner .btns{display:flex;gap:14px;flex-wrap:wrap}.cta-banner .btn-primary{background:#fff;color:#5b6ce0;box-shadow:0 8px 20px #0000001f}.cta-banner .btn-outline{background:#ffffff1f;border:1px solid rgba(255,255,255,.5);color:#fff}.cta-banner .btn-outline:hover{background:#fff3}.cta-illust{display:flex;justify-content:flex-end;align-items:center}.cta-illust img{max-width:420px;width:100%;height:auto}.site-footer{border-top:1px solid #eef1f7;padding:26px 0;background:#fff}.footer-inner{display:flex;align-items:center;gap:30px;flex-wrap:wrap}.footer-brand{display:flex;align-items:center;gap:10px}.footer-brand img{height:36px;width:auto}.footer-nav{display:flex;gap:32px;font-size:13.5px;color:var(--ink-2)}.footer-nav a:hover,.footer-nav button:hover{color:var(--ink)}.footer-nav button{font-size:13.5px;color:var(--ink-2);padding:0;cursor:pointer;background:none;border:none;font-family:inherit}.footer-copy{margin-left:auto;font-size:12.5px;color:var(--ink-3)}.btn-primary .arrow img{filter:brightness(0) invert(1)}.cta-banner .btn-primary .arrow img{filter:none}.hamburger{display:none;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:40px;height:40px;padding:0;flex-shrink:0}.bar{display:block;width:22px;height:2px;background:var(--ink);border-radius:2px;transition:transform .25s ease,opacity .25s ease}.bar-top.open{transform:translateY(7px) rotate(45deg)}.bar-mid.open{opacity:0;transform:scaleX(0)}.bar-bot.open{transform:translateY(-7px) rotate(-45deg)}.mobile-menu{display:none;position:fixed;top:72px;left:0;right:0;bottom:0;background:#fff;z-index:100;flex-direction:column;padding:8px 0 40px;overflow-y:auto}.mobile-menu.is-open{display:flex}.mobile-overlay{display:none}.mobile-menu button,.mobile-menu>a{display:flex;align-items:center;width:100%;font-size:16px;font-weight:500;color:var(--ink);padding:18px 24px;border:none;border-bottom:1px solid #f0f2f7;text-align:left;background:none;font-family:inherit;cursor:pointer;text-decoration:none}.mobile-menu button:first-child{border-top:1px solid #f0f2f7}.mobile-menu .mobile-cta{margin:24px 24px 0;width:calc(100% - 48px);height:52px;border-radius:10px;font-size:15px;font-weight:600;justify-content:center;border:none}.mobile-menu .mobile-download{margin-top:12px;border:1px solid #d8dde9}@media (max-width: 980px){.nav,.sp-hide{display:none}.hamburger{display:flex}.hero{padding:40px 0 32px}.hero-inner{grid-template-columns:1fr;gap:32px}.hero h1{font-size:34px}.hero-ctas .btn{min-width:0}.hero-art img{max-width:480px;margin:0 auto}.stage-grid{grid-template-columns:1fr}.cap-grid{grid-template-columns:repeat(2,1fr)}.feat-grid,.process-grid{grid-template-columns:1fr}.process-arrow{display:grid;place-items:center;width:100%;height:24px;margin:0}.process-arrow img{transform:rotate(90deg)}.cta-banner{grid-template-columns:1fr;padding:36px 32px}.cta-illust{display:none}.footer-nav{flex-wrap:wrap;gap:12px 24px}.footer-copy{width:100%;margin-left:0}}@media (max-width: 640px){.container{padding:0 16px}.header-inner{padding:12px 16px}.brand img{height:36px}.header-actions .btn{display:none}.hero{padding:32px 0 28px}.hero h1{font-size:26px;line-height:1.5}.hero p.lead{font-size:14px;line-height:1.85}.hero-ctas{flex-direction:column;gap:10px}.hero-ctas .btn{width:100%;justify-content:center}.hero-art img{max-width:260px}.chips{gap:8px}.chip{font-size:12px;padding:7px 14px 7px 10px}section{padding:44px 0}.section-title{font-size:21px;margin-bottom:24px}.stage-grid,.cap-grid,.process-grid{grid-template-columns:1fr}.feat-flow,.feat-flow-four{grid-template-columns:1fr;gap:4px}.flow-arrow{display:grid;place-items:center;width:100%;height:22px}.flow-arrow img{width:18px;height:18px;transform:rotate(90deg);opacity:.7}.flow-step{height:auto;min-height:64px;padding:12px 14px;flex-direction:row;gap:12px;text-align:left}.flow-step .ico{width:32px;height:32px;margin-bottom:0;flex-shrink:0}.flow-step .lbl{font-size:12px;justify-content:flex-start;text-align:left}.step-card{padding:18px}.cta-section{padding:28px 0 44px}.cta-banner{padding:28px 20px;border-radius:14px}.cta-banner h2{font-size:19px}.cta-banner p{font-size:13px}.cta-banner .btns{flex-direction:column}.cta-banner .btns .btn{width:100%;justify-content:center}.footer-inner{flex-direction:column;align-items:flex-start;gap:14px}.footer-nav{display:none}.footer-copy{font-size:12px;margin-left:0}}@media (max-width: 375px){.hero h1{font-size:23px}.hero-art img{max-width:220px}}
