:root{--w:#FFFFFF;--off:#F8F8FA;--ink:#0C0C0F;--ink2:#2A2A35;--mu:#63637A;--text-body:#1F1F36;--primary:#4C00FF;--g1:#4B2FFF;--g2:#C040E0;--g3:#FF4FA0;--g4:#FF8060;--accent-purple:#3C00FF;--accent-pink:#ED0F68;--accent-light-purple:#E8E1FF;--accent-light-pink:#FF579A;--grad:linear-gradient(135deg, var(--g1) 0%, var(--g2) 40%, var(--g3) 75%, var(--g4) 100%);--grad-120:linear-gradient(120deg, var(--g1) 0%, var(--g2) 40%, var(--g3) 75%, var(--g4) 100%);--grad2:linear-gradient(120deg, var(--g1) 0%, var(--g3) 100%);--grad-label:linear-gradient(106deg, var(--accent-purple) 8%, var(--accent-pink) 94%);--grad-label-w:linear-gradient(106deg, var(--accent-light-purple) 8%, var(--accent-light-pink) 94%);--grad-blue:linear-gradient(105deg, #2B8EFF 7%, #478AFF 35%, #6F5DFF 118%);--grad-triangle-left:linear-gradient(118deg, #201A4E 0%, #3F34A0 38%, #7B5CFF 72%, #C44DDB 100%);--grad-triangle-right:linear-gradient(110deg, #FF6FBA 0%, #FF4FA0 20%, #8A48E5 58%, var(--g1) 100%);--grad-triangle-attn:linear-gradient(135deg, #5A38FF 0%, #D947B8 100%);--btn-grad-on-dark:linear-gradient(107.45deg, #2BB8E8 7.0012%, #478AFF 35.071%, #B63FE3 117.89%);--primary-shadow:0 6px 28px rgba(75,47,255,.25);--radius-sm:6px;--line-soft:rgba(0,0,0,.05);--r:20px;--font-heading:'IBM Plex Sans', 'Noto Sans JP', sans-serif;--font-body:'Noto Sans JP', sans-serif;--font-mono:'DM Mono', monospace;--fs-micro:10px;--fs-xs:12px;--fs-sm:14px;--fs-md:16px;--fs-lg:18px;--fs-xl:20px;--fs-2xl:24px;--fs-h2:clamp(1.75rem, 4vw, 2.25rem);--lh-heading:1.4;--lh-body:1.8;--sp-1:8px;--sp-2:16px;--sp-3:24px;--sp-4:32px;--sp-5:40px;--sp-6:48px;--sp-7:56px;--sp-8:64px}*,::before,::after{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;background-color:#e8e4f0;position:relative}html::before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;background-image:url(../../img/academy/v2/bg.png);background-image:image-set(url(../../img/academy/v2/bg.webp)type("image/webp") 1x,url(../../img/academy/v2/bg.png)type("image/png") 1x);background-size:cover;background-position:center;background-repeat:no-repeat;opacity:.7;z-index:-1;pointer-events:none}@media (max-width:800px){html::before{width:100vh;height:100vw;background-size:cover;opacity:.8;transform:rotate(270deg);transform-origin:center center;top:50%;left:50%;margin-top:-50vw;margin-left:-50vh}}body{font-family:var(--font-body);font-size:16px;line-height:1.6;background:0 0;color:var(--text-body);overflow-x:hidden;-webkit-font-smoothing:antialiased}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading)}.text-grad{--text-grad-bg:var(--grad);background:var(--text-grad-bg);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.text-grad-main{background:var(--grad-120);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.text-grad-secondary{background:var(--grad-label);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.text-grad-blue{background:var(--grad-blue);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.text-grad--light{--text-grad-bg:linear-gradient(90deg,#fff,rgba(255,255,255,.6))}.flex-col{display:flex;flex-direction:column}.flex-col-4{display:flex;flex-direction:column;gap:4px}.flex-col-16{display:flex;flex-direction:column;gap:16px}.flex-col-24{display:flex;flex-direction:column;gap:24px}.flex-col-28{display:flex;flex-direction:column;gap:28px}nav{position:fixed;top:0;left:0;right:0;z-index:500;display:flex;align-items:center;justify-content:space-between;padding:0 48px;height:80px;background:rgba(255,255,255,.62);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line-soft);will-change:transform;transform:translateZ(0)}.logo{display:flex;align-items:center;height:32px}@media (max-width:600px){.logo{height:24px}}@media (max-width:359px){.logo{height:20px}}.logo img{height:100%;width:auto;object-fit:contain}.nav-links{display:flex;align-items:center;gap:36px}.nav-a{font-size:1rem;color:var(--mu);letter-spacing:0;text-decoration:none;transition:color .2s}.nav-a:hover{color:var(--ink)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:700;letter-spacing:.04em;text-decoration:none;border-radius:var(--radius-sm);border:1px solid transparent;white-space:nowrap;transition:opacity .2s,transform .2s,box-shadow .2s,background-color .2s,color .2s}.btn:hover{transform:translateY(-2px)}.btn svg path{stroke:currentColor}.btn--on-light{background:var(--primary);color:#fff;font-size:.88rem;padding:14px 30px;box-shadow:var(--primary-shadow)}.btn--on-light:hover{opacity:.92;box-shadow:0 12px 40px rgba(75,47,255,.4)}.btn--on-dark{background:var(--btn-grad-on-dark);color:#fff;font-size:.88rem;padding:14px 30px;box-shadow:0 6px 28px rgba(75,47,255,.25);border:0}.btn--on-dark:hover{opacity:.92;box-shadow:0 12px 40px rgba(75,47,255,.4)}.btn--header{font-size:.875rem;font-weight:700;letter-spacing:.06em;padding:8px 16px;background:var(--primary);color:#fff;box-shadow:var(--primary-shadow)}.btn--header:hover{opacity:.9;transform:translateY(-1px);box-shadow:0 10px 32px rgba(75,47,255,.35)}.btn--lg{font-size:1rem;padding:18px 44px}.btn--sp{min-height:46px}.sec{padding:100px 0}.sec-off{padding:100px 0;background:rgba(248,248,250,.42)}.sec-ink{padding:100px 0;background-color:#272259;background-image:url(../../img/academy/v2/bg-dark.png);background-image:image-set(url(../../img/academy/v2/bg-dark.webp)type("image/webp") 1x,url(../../img/academy/v2/bg-dark.png)type("image/png") 1x);background-size:cover;background-position:center top;background-repeat:no-repeat}.wrap{max-width:1080px;margin:0 auto;padding:0 60px}.wrap-sm{max-width:820px;margin:0 auto;padding:0 60px}.lbl{font-family:var(--font-heading);font-size:.625rem;letter-spacing:.2em;text-transform:uppercase;color:var(--mu);display:flex;align-items:center;gap:10px;margin-bottom:16px}.lbl::before,.lbl::after{content:"";width:20px;height:1px;background:currentColor;flex-shrink:0}.lbl-grad{color:transparent;--text-grad-bg:var(--grad-label)}.lbl-grad::before,.lbl-grad::after{background:var(--grad-label)}.lbl-w{color:transparent;--text-grad-bg:var(--grad-label-w)}.lbl-w::before,.lbl-w::after{background:var(--grad-label-w)}h2.sh{font-family:var(--font-heading);font-size:clamp(1.75rem,4vw,2.25rem);font-weight:700;line-height:1.4;letter-spacing:-.05em;margin-bottom:16px;text-align:center}h2.sh em{font-style:normal;--text-grad-bg:var(--grad-label)}h2.sh-w{color:#fff}h2.sh-w em{--text-grad-bg:var(--grad-label-w)}.section-title{display:flex;flex-direction:column;align-items:center;text-align:center;margin-bottom:40px}.section-title .lbl{margin-bottom:16px}.section-title .sh{margin-bottom:0}.section-chip-title{display:flex;align-items:center;background:rgba(236,225,255,.82);padding:8px 16px;border-radius:4px;font-family:var(--font-heading);font-size:24px;font-weight:700;line-height:1.4;color:#0c0c0f;white-space:nowrap;margin:0}.attn-title,.feature-header,.data-header,.about-card-title-wrap{margin-bottom:40px}.subsection-title{display:flex;flex-direction:column}.subsection-title .lbl{margin-bottom:16px}.line-btn-wrap{position:relative;display:inline-flex;padding-top:15px}.line-badge{position:absolute;top:0;left:50%;transform:translateX(-50%);display:inline-flex;align-items:center;gap:4px;height:29px;padding:0 14px;background:#fff;border:1px solid var(--primary);border-radius:4px;white-space:nowrap;font-size:14px;font-weight:500;color:#1f1f36;font-feature-settings:"palt"1;pointer-events:none;z-index:1}.line-badge__icon{display:block;width:23px;height:23px;flex-shrink:0}.cta-common{margin-top:40px}.cta-common__note{font-size:.8rem;color:var(--mu);margin-top:8px;letter-spacing:.06em}.cta-common--dark .cta-common__note{color:var(--w)}.cta-common--compact{margin-top:0}.logo,.lbl-grad,.lbl-w,h2.sh em,h2.sh-w em,.fqm,.grad{background:var(--text-grad-bg, var(--grad));background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}@media (max-width:900px){nav{padding:0 20px;height:64px}.nav-links--pc{display:none}.nav-links{gap:0}.btn--header{font-size:.78rem;padding:8px 12px}.section-title{margin-bottom:20px}.attn-title,.feature-header,.data-header,.about-card-title-wrap{margin-bottom:20px}.sec,.sec-off,.sec-ink{padding:40px 0}.wrap,.wrap-sm{padding:0 15px}.btn--sp{width:100%;max-width:none}.section-chip-title{font-size:20px}.data-cta .line-btn-wrap,.cta-common .line-btn-wrap{width:100%;max-width:none}}@media (max-width:600px){.section-chip-title{font-size:18px;white-space:normal}}