*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:#1d2941;background:#f8f9ff;font-family:system-ui,-apple-system,"Hiragino Kaku Gothic ProN","Noto Sans JP",sans-serif;line-height:1.7}a{color:inherit}.shell{max-width:1200px;margin:auto;padding:0 22px}.topbar{background:#17203f;color:white;position:sticky;top:0;z-index:20;box-shadow:0 2px 20px #15204418}.topbar-inner{min-height:66px;display:flex;justify-content:space-between;align-items:center;gap:20px}.brand{display:flex;gap:9px;align-items:center;text-decoration:none;font-size:1.2rem;font-weight:900;white-space:nowrap}.brand-mark{color:#bfa0ff;font-size:1.7rem}.brand em{font-style:normal;font-size:.7rem;background:#7857d5;padding:4px 8px;border-radius:8px}.topbar nav{display:flex;gap:8px;overflow-x:auto}.topbar nav a{text-decoration:none;white-space:nowrap;font-size:.8rem;padding:8px 11px;border-radius:8px;color:#d7d9f7}.topbar nav a:hover,.topbar nav .active{background:#ffffff22;color:white}.hero{background:linear-gradient(105deg,#1d2750,#3e2c6b 56%,#304d74);color:white;overflow:hidden}.hero-inner{min-height:385px;display:grid;grid-template-columns:1fr .95fr;gap:24px;align-items:center;padding-top:30px;padding-bottom:30px}.hero h1{font-size:clamp(2.5rem,5vw,4.5rem);line-height:1.22;margin:10px 0;letter-spacing:-.045em}.hero h1 span{color:#d2b5ff}.hero p{font-size:1rem;color:#e3e6ff}.hero img{width:100%;height:330px;object-fit:cover;border-radius:25px;box-shadow:0 18px 45px #090c2c77}.eyebrow{font-size:.76rem;letter-spacing:.13em;font-weight:900;color:#8463dd}.hero .eyebrow{color:#d7c2ff}.hero-pills{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}.hero-pills span{background:#ffffff20;border:1px solid #ffffff55;padding:5px 10px;border-radius:100px;font-size:.77rem}.primary{display:inline-block;background:linear-gradient(120deg,#ca5df3,#625bea);padding:12px 23px;border-radius:100px;color:white;text-decoration:none;font-weight:900;box-shadow:0 8px 25px #1a0c5e44}.intro-strip{display:grid;grid-template-columns:repeat(4,1fr);background:white;border:1px solid #e5e8f5;border-radius:20px;margin-top:-20px;position:relative;box-shadow:0 12px 28px #303c6714;overflow:hidden}.intro-strip>div{padding:17px 12px;text-align:center;border-right:1px solid #e8e9f5}.intro-strip>div:last-child{border:0}.intro-strip b,.intro-strip small{display:block}.intro-strip b{font-size:.88rem}.intro-strip small{color:#68748d;font-size:.72rem}.curriculum{padding-top:42px}.heading h2{font-size:clamp(1.6rem,3vw,2.2rem);margin:4px 0}.heading p{margin:4px 0 22px;color:#64738b}.topic-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px}.topic{display:flex;align-items:flex-start;gap:10px;text-align:left;position:relative;min-height:137px;padding:18px 13px;background:white;border:1px solid #e3e6f3;border-radius:18px;box-shadow:0 8px 24px #1b27540b;cursor:pointer;color:#1e2c4c;font:inherit}.topic:hover,.topic[aria-pressed=true]{border-color:#a58cf6;background:linear-gradient(135deg,#fff,#f1edff)}.topic-icon{font-size:1.7rem;background:#eee8ff;border-radius:13px;width:43px;height:43px;display:grid;place-items:center;color:#7754d8;flex-shrink:0}.topic strong,.topic small{display:block}.topic strong{font-size:.93rem;line-height:1.4}.topic small{font-size:.75rem;line-height:1.55;color:#6b7689;margin-top:5px}.topic-arrow{position:absolute;right:10px;bottom:8px;color:#7854dd}.chapter-nav{margin:28px 0 14px;padding:12px 15px;background:#eef0fc;border-radius:16px}.chapter-nav>span{display:block;font-size:.72rem;font-weight:800;color:#6b6d8e;margin-bottom:8px}.chapter-nav>div{display:flex;gap:7px;overflow-x:auto}.tab{border:1px solid #d9d9ef;background:white;border-radius:9px;padding:9px 12px;white-space:nowrap;cursor:pointer;font:inherit;font-size:.79rem;font-weight:800;color:#51577c}.tab[aria-selected=true]{background:#443a95;color:white;border-color:#443a95}.chapter{background:white;border:1px solid #e5e8f2;border-radius:23px;padding:27px;margin-bottom:30px;box-shadow:0 12px 40px #2434510b;scroll-margin-top:130px}.chapter[hidden]{display:none!important}.chapter-head{display:grid;grid-template-columns:1.3fr .7fr;gap:20px;align-items:center;border-bottom:1px solid #edf0f6;padding-bottom:22px;margin-bottom:22px}.chapter-head h2{font-size:clamp(1.55rem,3vw,2.3rem);margin:5px 0}.chapter-head p{color:#627188;max-width:600px}.chapter-head img{width:100%;height:175px;object-fit:cover;border-radius:17px}.chapter h3{margin:25px 0 10px;font-size:1.1rem}.cards{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:19px 0}.mini-card{background:linear-gradient(130deg,#f7faff,#f9f5ff);border:1px solid #e7e8f6;border-radius:16px;padding:16px}.mini-icon{font-size:1.7rem;color:#7852e6}.mini-card h3{margin:6px 0 5px;font-size:1rem}.mini-card p{font-size:.87rem;margin:0;color:#62718a}.steps{list-style:none;counter-reset:step;padding:0;display:grid;gap:9px}.steps li{counter-increment:step;position:relative;padding:13px 15px 13px 57px;border:1px solid #e7eaf4;border-radius:13px;background:#fff}.steps li:before{content:counter(step);position:absolute;left:14px;top:14px;width:29px;height:29px;border-radius:50%;background:#e7e2ff;color:#6d49c4;display:grid;place-items:center;font-weight:900}.steps b{font-size:.93rem}.steps p{margin:4px 0 0;font-size:.85rem;color:#62728a}.flow,.architecture{display:flex;gap:8px;align-items:center;justify-content:center;margin:19px 0;flex-wrap:wrap}.flow>div,.architecture>div{flex:1;min-width:130px;text-align:center;background:#f4f3ff;border:1px solid #e5e1ff;border-radius:14px;padding:16px 10px}.flow strong,.flow small,.architecture b,.architecture small{display:block}.flow small,.architecture small{font-size:.74rem;color:#63718b;margin-top:6px}.flow i,.architecture i{font-style:normal;font-weight:900;color:#7754d5}.architecture>div span{display:block;font-size:1.65rem}.table-scroll{overflow-x:auto;margin:18px 0}table{width:100%;border-collapse:collapse;min-width:580px;font-size:.85rem}th,td{padding:13px 12px;border:1px solid #e5e7f1;text-align:left;vertical-align:top}th{background:#eae5ff;color:#342b73}tr:nth-child(even){background:#f9faff}.notice{border-left:4px solid #e4a52d;background:#fff8e8;padding:12px 16px;border-radius:10px;margin:20px 0}.notice b{color:#93631c}.notice p{margin:5px 0;color:#645e50;font-size:.87rem}.code-wrap{position:relative;background:#19233b;border-radius:15px;margin:12px 0 22px;overflow:hidden}.code-wrap pre{margin:0;padding:48px 18px 20px;color:#e7ecff;overflow:auto;font-size:.79rem;line-height:1.65;white-space:pre}.copy{position:absolute;right:10px;top:10px;border:1px solid #ffffff44;background:#343f65;color:white;padding:7px 11px;border-radius:8px;cursor:pointer}.official-links{display:flex;gap:9px;flex-wrap:wrap;margin:18px 0}.official-links a{display:inline-flex;gap:10px;text-decoration:none;border:1px solid #d6daf1;padding:10px 13px;border-radius:10px;font-size:.82rem;font-weight:800;color:#393a7e}.official-links a span{color:#7954d7}.affiliate-intro{font-size:.9rem;color:#586984}.partner-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:11px}.partner{padding:17px;border:1px solid #e3e5f4;border-radius:15px;background:#fcfcff}.partner-type{font-size:.72rem;color:#7756c7;font-weight:900}.partner h3{margin:5px 0}.partner p{font-size:.83rem;color:#62718a;min-height:64px}.partner a{display:block;text-decoration:none;background:#6652c7;color:white;text-align:center;border-radius:9px;padding:9px 6px;font-weight:800;font-size:.79rem}.partner small{display:block;color:#8490a1;font-size:.68rem;margin-top:7px}.revenue{background:linear-gradient(120deg,#f5ebff,#e9f7ff);padding:18px 22px;border-radius:17px;margin-top:22px}.revenue h3{margin:0 0 7px}.revenue p{margin:0;color:#5b6882}.next{padding:24px 0 60px}.next>div{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.next a{background:white;border:1px solid #e1e6f2;padding:14px;text-align:center;text-decoration:none;border-radius:12px;font-weight:800;font-size:.85rem}.footer{background:#1b2343;color:white;padding:24px 0;font-size:.8rem}.footer p{color:#c1c7e3}.footer a{color:#ded4ff}#toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);padding:10px 16px;border-radius:12px;background:#182c43;color:white;opacity:0;pointer-events:none;transition:opacity .2s;z-index:30}#toast.visible{opacity:1}@media(max-width:950px){.topic-grid{grid-template-columns:repeat(2,1fr)}.partner-grid{grid-template-columns:repeat(2,1fr)}.hero-inner{grid-template-columns:1fr 1fr}.topbar nav{max-width:60vw}}@media(max-width:650px){.shell{padding:0 14px}.topbar-inner{min-height:58px}.topbar nav{max-width:57vw}.topbar nav a{font-size:.72rem;padding:7px}.brand{font-size:.93rem}.hero-inner{grid-template-columns:1fr;gap:16px}.hero img{height:165px}.hero h1{font-size:2.45rem}.hero p{font-size:.9rem}.intro-strip{grid-template-columns:repeat(2,1fr)}.intro-strip>div{border-bottom:1px solid #e9eaf5}.topic-grid{grid-template-columns:repeat(2,1fr);gap:8px}.topic{padding:11px;min-height:135px;display:block}.topic-icon{width:36px;height:36px;font-size:1.35rem;margin-bottom:8px}.topic strong{font-size:.82rem}.topic small{font-size:.69rem}.chapter{padding:16px;border-radius:16px}.chapter-head{grid-template-columns:1fr}.chapter-head img{height:130px}.cards,.partner-grid,.next>div{grid-template-columns:1fr}.flow>div,.architecture>div{min-width:110px}.flow i,.architecture i{display:none}.flow,.architecture{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.chapter-nav{margin-top:20px}.partner p{min-height:0}}