.hero{--navy:#2d4a8f;--navy-hover:#3a5ba8;--accent-h:#e0604c;--font-ui:var(--font-dm-sans),-apple-system,system-ui,sans-serif;--font-serif:var(--font-noto-serif-jp),Georgia,serif;--font-pixel:var(--font-press-start),"Press Start 2P",monospace;isolation:isolate;width:100%;height:62vh;min-height:520px;font-family:var(--font-ui);position:relative;overflow:hidden}.hero *,.hero :before,.hero :after{box-sizing:border-box}.hero-canvas{width:100%;height:100%;image-rendering:pixelated;image-rendering:crisp-edges;display:block;position:absolute;inset:0}.hero .scrim-top{z-index:2;pointer-events:none;background:linear-gradient(#070a1f8c,#070a1f00);height:38%;position:absolute;inset:0 0 auto}.hero .scrim-bottom{z-index:2;pointer-events:none;background:linear-gradient(#070a1f00,#070a1f59 52%,#070a1fd1 92%);height:62%;position:absolute;inset:auto 0 0}.hero .content{z-index:4;color:#fff;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"headline right";align-items:start;column-gap:clamp(22px,5vw,72px);padding:0 clamp(20px,6vw,96px);display:grid;position:absolute;inset:74% 0 auto}.hero .headline{grid-area:headline}.hero .col-right{text-align:right;flex-direction:column;grid-area:right;justify-content:flex-start;place-self:start end;align-items:stretch;gap:18px;display:flex}.hero .headline{font-family:var(--font-serif);letter-spacing:-.01em;text-shadow:0 2px 24px #00000073;margin:0;font-size:clamp(27px,3.4vw,44px);font-weight:700;line-height:1.08}.hero .headline .accent{color:var(--accent-h)}.hero .ctas{flex-wrap:nowrap;justify-content:flex-end;gap:12px;display:flex}.hero .btn{white-space:nowrap;font-family:var(--font-ui);cursor:pointer;border:1.5px solid #0000;border-radius:12px;align-items:center;gap:11px;padding:13px 22px;font-size:15px;font-weight:600;text-decoration:none;transition:transform .15s,background .15s,box-shadow .15s,border-color .15s;display:inline-flex}.hero .btn svg{flex:none;width:19px;height:19px}.hero .btn-primary{background:var(--navy);color:#fff;box-shadow:0 8px 28px #2d4a8f80,inset 0 1px #ffffff2e}.hero .btn-primary:hover{background:var(--navy-hover);transform:translateY(-2px);box-shadow:0 12px 34px #2d4a8f99}.hero .btn-ghost{color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff1a;border-color:#fff6}.hero .btn-ghost:hover{background:#fff3;border-color:#ffffffb3;transform:translateY(-2px)}.hero .btn .kbadge{font-family:var(--font-serif);opacity:.85;font-size:16px;font-weight:700}.hero .stats{color:#ffffffc7;justify-content:space-between;align-items:center;gap:clamp(14px,2.2vw,30px);font-size:14px;font-weight:500;display:flex}.hero .stats .stat{text-align:left}.hero .stats .stat b{font-family:var(--font-serif);color:#fff;font-size:23px;font-weight:700;line-height:1.1;display:block}.hero .stats .sep{background:#ffffff38;width:1px;height:30px}.hero .jlpt-note{color:#ffffff80;letter-spacing:.01em;margin:8px 0 0;font-size:12px}.hero .stroke-pill,.hero .stroke-pill:visited{white-space:nowrap;font-family:var(--font-ui);color:#ffe6b0;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#070a1f8c;border:1.5px solid #ffe6b073;border-radius:10px;align-items:center;gap:8px;padding:9px 14px;font-size:14px;font-weight:600;text-decoration:none;transition:background .15s,transform .15s;display:inline-flex}.hero .stroke-pill:hover{color:#ffe6b0;background:#ffe6b024;transform:translateY(-2px)}.hero .stroke-pill .kana{font-family:var(--font-serif);color:#fff;font-size:16px}.hero .stroke-pill svg{flex:none;width:15px;height:15px;transition:transform .15s}.hero .stroke-pill:hover svg{transform:translate(3px)}.hero .stroke-pill .short{display:none}.hero .stroke-pill--corner{z-index:4;position:absolute;top:20px;left:clamp(20px,6vw,96px)}.hero .stroke-pill--inline{display:none}@media (max-width:720px){.hero{min-height:560px}.hero .nav .nav-links{display:none}.hero .stats{gap:clamp(10px,3vw,20px)}.hero .stats .stat{font-size:13px}.hero .stroke-pill--corner{display:none}.hero .stroke-pill--inline{border-radius:12px;align-self:flex-start;gap:11px;margin-top:-4px;padding:13px 22px;font-size:15px;display:inline-flex}.hero .stroke-pill--inline svg{width:19px;height:19px}.hero .stroke-pill .long{display:none}.hero .stroke-pill .short{display:inline}.hero .content{grid-template-columns:1fr;grid-template-areas:"headline""right";row-gap:18px;top:auto;bottom:28px}.hero .col-right{text-align:left;place-self:start;align-items:flex-start;gap:16px}.hero .ctas{flex-wrap:wrap;justify-content:flex-start}}
