@charset "UTF-8";
:root{--ink:#101629;--body:#4f4f4f;--muted:#808080;--blue:#0085ff;--line:#dfe7ef;--paper:#f5f5f7;--spring:cubic-bezier(.2,.8,.2,1)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;color:var(--ink);background:#fff;font-family:"Noto Sans SC","PingFang SC","Microsoft YaHei",sans-serif;-webkit-font-smoothing:antialiased}button,a{-webkit-tap-highlight-color:transparent}button,input{font:inherit}button,a{touch-action:manipulation}a{color:inherit;text-decoration:none}button{cursor:pointer}button:disabled{cursor:default}img,video{max-width:100%;display:block}p{line-height:1.75}h1,h2,h3,h4,p{margin:0}h2{font-size:clamp(28px,2.5vw,48px);line-height:1.35;font-weight:700;letter-spacing:-.025em}h3{font-weight:500}.wrap{width:min(1280px,calc(100% - 96px));margin:auto}.section{padding:112px 0 144px}.heading{text-align:center;margin-bottom:88px}.heading>small{display:block;color:#0067d8;font-size:18px;margin-bottom:10px}.heading>p{color:#666;font-size:20px;margin-top:24px}.heading .intro{font-size:18px;text-align:center;line-height:1.65;margin-top:32px}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #0085ff;outline-offset:4px}.button{display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(100deg,#0298fc,#016ffd);color:white;border:0;border-radius:99px;padding:19px 40px;font-weight:650;min-height:56px;box-shadow:0 3px 6px #007aff14;transition:transform .25s var(--spring),box-shadow .25s}.button:hover{transform:translateY(-2px);box-shadow:0 8px 24px #007aff30}.button:active{transform:scale(.96)}.button.small{min-height:42px;padding:10px 27px;font-size:15px}.skip{position:fixed;left:20px;top:-100px;z-index:100;background:#fff;padding:12px}.skip:focus{top:12px}.nav{position:absolute;top:24px;left:50%;transform:translateX(-50%);width:min(1440px,calc(100% - 64px));height:80px;border:1px solid #e4e4e4;border-radius:48px;background:#ffffffd9;backdrop-filter:blur(18px);box-shadow:0 0 20px #00000010;display:flex;align-items:center;gap:32px;padding:12px 24px;z-index:20}.brand{display:inline-flex;align-items:center;gap:9px;flex-shrink:0}.brand img{width:44px;height:44px;object-fit:contain}.brand b{font-size:20px;color:#181c21}.brand small{font-size:11px;color:#888;display:block;letter-spacing:2px}.nav nav{display:flex;gap:36px;margin-left:auto;font-size:16px;font-weight:500}.nav nav a{position:relative;padding:12px 0}.nav nav a:hover{color:var(--blue)}.nav .menu{display:none}.hero{background:#f5f5f7;padding:180px 0 70px;min-height:840px}.hero-grid{display:grid;grid-template-columns:1fr 450px;align-items:center;gap:120px}.hero h1{font-size:clamp(58px,4.7vw,88px);line-height:1.25;letter-spacing:-.04em;color:#080a0e;font-weight:750}.hero-copy>p{max-width:590px;font-size:21px;color:#777;margin:28px 0 32px;line-height:1.65}.awards{display:flex;gap:24px;margin-top:30px;color:#a5a5a5;max-width:410px;font-size:15px;font-family:Georgia,serif}.media{position:relative;aspect-ratio:16/9;overflow:hidden;border-radius:24px;isolation:isolate;background:#fff}.media video{width:100%;height:100%;object-fit:cover}.hero-demo{width:450px;aspect-ratio:450/590;border-radius:38px;background:#fff;box-shadow:0 12px 22px #00000013}.hero-demo video{object-fit:contain}.replay{position:absolute;right:12px;bottom:12px;border:1px solid #ffffff80;width:35px;height:35px;border-radius:50%;background:#ffffffd9;backdrop-filter:blur(12px);color:#667;opacity:0;transition:opacity .2s;font-size:22px}.media:hover .replay,.media:focus-within .replay,.media.ended .replay{opacity:1}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:32px;padding:40px 0 64px}.stats article{border:1px solid #e3e3e5;border-radius:36px;padding:26px 10px;text-align:center}.stats img{height:30px;width:auto;max-width:100px;margin:0 auto 16px;opacity:.45}.stats strong{display:block;font-size:29px;line-height:1.6}.stats p{font-size:16px;color:#aaa}.feature-row{display:grid;grid-template-columns:1fr 1.12fr;align-items:center;gap:120px;margin:140px 0}.feature-row:last-child{margin-bottom:0}.feature-row:nth-of-type(2){grid-template-columns:1.12fr 1fr}.feature-row:nth-of-type(2) .media{grid-column:1;grid-row:1}.feature-row:nth-of-type(2) .feature-copy{grid-column:2;grid-row:1}.feature-copy h3{font-size:32px;line-height:1.45;margin-bottom:24px;white-space:pre-line}.feature-copy>p{font-size:18px;color:var(--body)}.methods,.quiz-section{background:var(--paper)}.methods .heading{margin-bottom:38px}.tabs{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-bottom:64px}.tabs button{padding:13px 24px;border:0;border-radius:99px;background:white;color:#999;min-height:48px;transition:all .28s var(--spring)}.tabs button[aria-selected=true]{background:var(--ink);color:white;font-weight:600}.tabs button:hover{transform:translateY(-2px)}.method-panel{display:grid;grid-template-columns:1fr 1.55fr;gap:40px;align-items:center;background:#fff;border-radius:26px;padding:28px 36px 28px 86px;min-height:450px;box-shadow:0 20px 40px #0000000f}.method-panel .media{width:100%;border-radius:20px;aspect-ratio:632/412}.method-panel video{object-fit:cover}.quiz-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.quiz-card{min-width:0;background:white;border:1px solid #e8e8ec;border-radius:24px;box-shadow:0 6px 1px #dedee1,0 12px 18px #00000008;padding:25px 20px;display:flex;flex-direction:column;min-height:600px}.quiz-card>h3{font-size:19px;font-weight:650;margin-bottom:28px}.quiz-body{flex:1;display:flex;flex-direction:column;justify-content:center;gap:24px}.jp{font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif}.sentence{font-size:18px;line-height:2.5}.blank{display:inline-block;min-width:85px;border-bottom:1px solid #778;color:#889;line-height:1.5;text-align:center}.blank.filled{color:#008fae;background:#e6f8fc;border:1px solid #00badf;border-radius:8px;box-shadow:0 3px #008dab;padding:4px 8px;animation:pop .5s var(--spring)}.word-options{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:30px 0 15px}.word-options button,.answers button{border:1px solid #e0e0e5;background:#fff;color:var(--ink);border-radius:10px;box-shadow:0 3px #dedee1;transition:transform .2s,background .2s}.word-options button{padding:10px 12px;font-size:13px}.word-options button.selected,.answers button.selected{background:#e3f8fc;border-color:#00bddb;box-shadow:0 3px #009cb4;color:#00849b;transform:translateY(-1px)}.word-options button:active,.answers button:active{transform:translateY(2px);box-shadow:0 1px #ccc}.check{border:0;border-radius:12px;background:#00c6e9;color:white;font-weight:600;padding:13px;box-shadow:0 4px #0099b6;margin-top:20px;width:100%}.check:disabled{background:#ccc;box-shadow:0 4px #bababa}.reading{justify-content:flex-start;gap:9px}.reading .jp{font-size:16px;line-height:1.9}.reading .jp span{color:#00aed0}.question{font-size:12px;color:#777;margin-top:12px}.answers{display:grid;gap:10px}.answers button{font-size:12px;text-align:left;padding:10px;line-height:1.6}.result{font-size:13px;color:#148f28;line-height:1.6;min-height:0}.result:not(:empty){padding-top:15px;animation:pop .45s var(--spring)}.result.wrong{color:#b65c19}.kana-label{display:flex;align-items:center;justify-content:space-around;margin:6px 0 12px}.kana-label span{text-align:center}.kana-label small{display:block;font-size:13px;color:#8b8c9d}.kana-label b{font-size:56px}.kana-label span:last-child b{color:#f7a010}.writing{position:relative;flex:1;min-height:250px;background:linear-gradient(90deg,transparent 49.7%,#efeff1 49.7%,#efeff1 50.2%,transparent 50.2%),linear-gradient(transparent 49.7%,#efeff1 49.7%,#efeff1 50.2%,transparent 50.2%)}.writing .ghost{position:absolute;inset:0;display:grid;place-items:center;color:#ededee;font-size:225px;line-height:1;pointer-events:none}.writing canvas{position:absolute;inset:0;width:100%;height:100%;touch-action:none}.clear{position:absolute;right:0;top:0;font-size:11px;border:1px solid #ddd;border-radius:8px;background:#fff;padding:6px;color:#666}.dark-button{display:table;background:#202020;color:white;border-radius:10px;padding:13px 22px;margin:100px auto 0;font-size:15px}.trust{background:#000;color:#fff}.trust-head{display:flex;align-items:center;justify-content:space-between;gap:40px;margin-bottom:64px}.trust-head small{color:var(--blue);font-size:18px}.trust-head h2{margin:14px 0 10px}.trust-head p{font-size:18px}.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}.trust-grid article{padding:30px 26px;background:#212121;border-radius:14px;min-height:320px;display:flex;flex-direction:column}.trust-grid img{width:68px;height:68px;object-fit:contain;opacity:.65;filter:grayscale(1);margin-bottom:60px}.trust-grid h3{font-size:20px;margin-bottom:14px}.trust-grid p{font-size:16px;color:#aaa}.pain-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.pain-card{border:1px solid var(--line);border-radius:24px;overflow:hidden}.pain-card>img{width:100%;aspect-ratio:408/258;object-fit:cover}.pain-card>div{padding:28px}.pain-card h3{font-size:22px;margin-bottom:18px}.pain-card p{font-size:16px;color:#808080;margin:14px 0}.pain-card .quote{color:#333}.pain-card strong{font-weight:500;color:#0085ff;font-size:16px;line-height:1.7}.advantage{grid-template-columns:1.1fr 1fr;gap:96px;margin:144px 0}.advantage:nth-of-type(even) img{grid-column:2;grid-row:1}.advantage:nth-of-type(even) .feature-copy{grid-column:1;grid-row:1}.editorial{width:100%;aspect-ratio:624/420;object-fit:cover;border-radius:24px}.feature-copy h4{font-weight:500;color:var(--blue);font-size:18px;margin-bottom:6px}.advantage .feature-copy>div{margin-top:24px;font-size:18px;line-height:1.65;color:#4f4f4f}.feature-copy .old{color:#808080}.feature-copy .old h4{color:#666}.story-window{width:min(1380px,100%);margin:auto;overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent)}.story-track{display:flex;gap:24px;overflow:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:6px calc((100% - 300px)/2) 20px}.story-track::-webkit-scrollbar{display:none}.story{scroll-snap-align:center;flex:0 0 300px;background:#f5f4f3;border-radius:20px;padding:32px;min-height:380px;display:flex;flex-direction:column;justify-content:space-between}.story>p{font-size:16px;line-height:1.8;color:#3e4655}.story footer{display:flex;gap:16px;align-items:center;margin-top:42px}.story footer img{width:56px;height:56px;object-fit:cover;border-radius:50%}.story footer b{font-weight:500;font-size:18px}.story footer small{font-size:11px;display:block;color:#8b8b8b;margin-top:7px}.carousel-nav{display:flex;gap:14px;align-items:center;justify-content:center;margin-top:42px}.carousel-nav button{width:5px;height:5px;border:0;padding:0;border-radius:50%;background:#bbb}.carousel-nav button[aria-current=true]{width:8px;height:8px;background:var(--ink)}.carousel-nav [data-story-dir]{width:34px;height:34px;background:white;border:1px solid var(--line);font-size:22px;margin:0 9px}.faq .heading{margin-bottom:55px}.faq details{border-bottom:1px solid var(--line);padding:24px}.faq summary{list-style:none;font-size:18px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:24px}.faq summary::-webkit-details-marker{display:none}.faq summary span{display:grid;place-items:center;flex-shrink:0;width:30px;height:30px;background:var(--blue);color:white;border-radius:50%;font-size:22px}.faq details[open] summary span{transform:rotate(45deg)}.faq details>p{font-size:16px;color:#6e6e73;max-width:1100px;padding-top:20px;animation:fade .3s}.cta{position:relative;background:#121820;color:white;min-height:560px;overflow:hidden}.cta-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.cta .wrap{position:relative;display:flex;justify-content:flex-end;min-height:560px;align-items:center}.cta .wrap>div{width:43%;padding:50px 0}.cta h2{font-size:48px;color:white}.cta p{margin:18px 0 28px;font-size:22px}.stores{display:flex;gap:14px;margin-top:28px}.stores button{border:0;padding:0;border-radius:7px;background:#000}.stores img{height:40px;width:auto;object-fit:contain}.site-footer{background:#1c2128;color:#fff;padding:55px 0}.footer-grid{display:grid;grid-template-columns:2fr repeat(4,1fr);gap:36px}.site-footer .brand b{color:white}.site-footer small{display:block;color:#858b94;margin-top:50px;font-size:12px}.site-footer h4{font-size:14px;margin-bottom:20px}.site-footer a:not(.brand){display:block;font-size:13px;color:#adb0b6;margin:12px 0}.site-footer a:hover{color:white}dialog{border:0;border-radius:24px;padding:44px;max-width:min(450px,calc(100% - 32px));box-shadow:0 30px 100px #0003}dialog::backdrop{background:#10162970;backdrop-filter:blur(6px)}dialog p{margin:24px 0;color:#666}.close{position:absolute;right:15px;top:10px;border:0;background:none;font-size:30px;color:#999}body.enhanced [data-reveal]{opacity:0;transform:translate3d(0,28px,0);transition:opacity .8s ease,transform .9s var(--spring)}body.enhanced [data-reveal].in-view{opacity:1;transform:translate3d(0,0,0)}.quiz-grid>[data-reveal]:nth-child(2),.trust-grid>[data-reveal]:nth-child(2){transition-delay:.08s}.quiz-grid>[data-reveal]:nth-child(3),.trust-grid>[data-reveal]:nth-child(3){transition-delay:.16s}.trust-grid>[data-reveal]:nth-child(4){transition-delay:.24s}@keyframes pop{0%{transform:translateY(8px) scale(.94);opacity:0}65%{transform:translateY(-2px) scale(1.025)}100%{transform:none;opacity:1}}@keyframes fade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@media(min-width:1921px){.hero{padding-top:180px}.feature-row .media{min-height:360px}}
@media(max-width:1100px){.wrap{width:calc(100% - 64px)}.nav nav{gap:20px;font-size:14px}.hero-grid{grid-template-columns:1fr 38%;gap:60px}.hero-demo{width:100%}.hero{min-height:710px;padding-top:160px}.hero h1{font-size:64px}.hero-copy>p{font-size:18px}.feature-row{gap:60px}.feature-copy h3{font-size:27px}.feature-copy>p{font-size:16px}.method-panel{padding:32px;grid-template-columns:1fr 1.3fr}.trust-grid{gap:16px}.trust-grid article{padding:24px 18px}.trust-grid p{font-size:14px}.quiz-card{padding:18px 14px}.reading .jp{font-size:14px}.sentence{font-size:15px}.pain-card>div{padding:22px}.pain-card p,.pain-card strong{font-size:14px}.advantage{gap:64px}.advantage .feature-copy>div{font-size:16px}.cta h2{font-size:38px}}
@media(max-width:700px){html{scroll-padding-top:90px}.wrap{width:calc(100% - 40px)}.section{padding:64px 0 72px}.heading{margin-bottom:36px}.heading h2{font-size:27px;line-height:1.4}.heading>small{font-size:12px}.heading>p{font-size:14px;line-height:1.8;margin-top:15px}.heading .intro{font-size:12px;line-height:1.9;text-align:left;margin-top:22px}.nav{height:48px;top:16px;width:calc(100% - 40px);padding:2px 8px 2px 12px;gap:8px;border:0}.brand{gap:6px}.brand img{width:31px;height:31px}.brand b{font-size:15px}.brand small{font-size:8px;letter-spacing:1px}.nav .button.small{margin-left:auto;background:#080a0e;font-size:12px;min-height:32px;padding:6px 18px}.nav .menu{display:block;background:none;border:0;width:38px;height:42px;font-size:20px}.nav nav{display:none;position:absolute;top:60px;left:0;width:100%;padding:18px;background:#fff;border-radius:22px;box-shadow:0 10px 30px #0002;flex-direction:column;gap:2px}.nav.open nav{display:flex}.hero{padding:108px 0 45px;min-height:0}.hero-grid{display:flex;flex-direction:column;gap:32px}.hero-copy{text-align:center}.hero h1{font-size:46px;line-height:1.18;letter-spacing:-.025em}.hero h1 br{display:none}.hero-copy>p{font-size:14px;line-height:1.85;margin:20px 0;max-width:340px}.hero .button{font-size:15px;padding:13px 25px;min-height:48px}.awards{justify-content:center;font-size:11px;gap:15px;margin:22px auto 0}.hero-demo{width:min(280px,85%);aspect-ratio:450/590;border-radius:28px}.replay{opacity:1;width:30px;height:30px;font-size:18px}.stats{grid-template-columns:repeat(2,1fr);gap:12px;padding:24px 0 12px}.stats article{padding:20px 8px;border-radius:20px}.stats strong{font-size:22px}.stats p{font-size:12px}.stats img{height:24px;margin-bottom:8px;max-width:80px}.feature-row,.feature-row:nth-of-type(2){display:flex;flex-direction:column;gap:24px;margin:62px 0;align-items:stretch}.feature-row .feature-copy{order:0}.feature-row .media{order:1}.feature-copy h3{font-size:23px;line-height:1.5;margin-bottom:14px}.feature-copy>p{font-size:14px}.media{border-radius:18px}.methods .heading{margin-bottom:24px}.tabs{gap:6px;margin-bottom:26px;flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start;scrollbar-width:none;padding:3px 0 7px}.tabs button{font-size:12px;white-space:nowrap;padding:9px 14px;min-height:36px}.method-panel{display:flex;flex-direction:column;padding:24px 20px;gap:26px;min-height:0;border-radius:20px}.method-panel .feature-copy{width:100%}.method-panel .feature-copy h3{font-size:21px}.method-panel .media{aspect-ratio:16/10}.quiz-grid{display:flex;flex-direction:column;gap:28px}.quiz-card{min-height:540px;padding:22px 18px}.quiz-card>h3{font-size:18px}.quiz-body{gap:20px}.sentence{font-size:17px}.reading .jp{font-size:16px}.answers button{font-size:13px;padding:12px}.quiz-body.reading{gap:12px}.question{font-size:13px}.word-options button{font-size:14px}.writing{min-height:280px}.dark-button{margin:48px auto 0}.trust-head{display:block;margin-bottom:32px}.trust-head h2{font-size:26px}.trust-head p{font-size:13px}.trust-head small{font-size:12px}.trust-head .button{margin-top:20px}.trust-grid{grid-template-columns:repeat(2,1fr);gap:12px}.trust-grid article{min-height:260px;padding:18px 15px;border-radius:12px}.trust-grid img{width:42px;height:42px;margin-bottom:40px}.trust-grid h3{font-size:15px;line-height:1.6}.trust-grid p{font-size:12px;line-height:1.8}.pain-grid{display:flex;flex-direction:column;gap:24px}.pain-card{border-radius:20px}.pain-card>div{padding:23px}.pain-card>img{aspect-ratio:1.62}.pain-card p,.pain-card strong{font-size:14px}.pain-card h3{font-size:21px}.advantage{margin:56px 0;gap:25px!important}.advantage .editorial{order:0;border-radius:18px}.advantage .feature-copy{order:1}.advantage .feature-copy>div{font-size:14px;margin-top:18px}.feature-copy h4{font-size:14px}.story{flex-basis:280px;min-height:355px;padding:26px}.story-track{gap:16px;padding:0 calc((100% - 280px)/2) 15px}.story-window{mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}.story>p{font-size:14px}.stories .heading{margin-bottom:28px}.carousel-nav{margin-top:24px}.faq summary{font-size:14px;line-height:1.7;gap:12px}.faq details{padding:20px 0}.faq details>p{font-size:13px;line-height:1.9}.faq summary span{width:24px;height:24px;font-size:18px}.cta,.cta .wrap{min-height:540px}.cta-photo{object-position:35% center}.cta:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 15%,#0009 65%,#000c)}.cta .wrap{z-index:1;align-items:flex-end}.cta .wrap>div{width:100%;padding:45px 0;text-align:center}.cta h2{font-size:32px}.cta p{font-size:14px;margin:15px 0 20px}.cta .button{min-height:44px;padding:12px 28px}.stores{justify-content:center;margin-top:20px}.stores img{height:35px}.footer-grid{grid-template-columns:repeat(2,1fr);gap:28px}.footer-grid>div:first-child{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between}.site-footer small{margin:0;font-size:10px}.site-footer{padding:35px 0}.site-footer a:not(.brand){font-size:12px}.site-footer h4{font-size:13px}body.enhanced [data-reveal]{transform:translate3d(0,18px,0)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}body.enhanced [data-reveal]{opacity:1;transform:none}}

.awards img{width:100%;height:auto}.awards{width:411px;max-width:100%}body.enhanced .media[data-reveal]{transform:translate3d(0,32px,0) scale(.975);transition-timing-function:ease,cubic-bezier(.22,1.1,.36,1)}body.enhanced .media[data-reveal].in-view{transform:none}@media(max-width:700px){.awards{width:270px}}@media(prefers-reduced-motion:reduce){body.enhanced .media[data-reveal]{transform:none}}

@media(min-width:701px) and (max-width:1000px){.nav{gap:16px}.nav .button.small{margin-left:auto}.nav .menu{display:block;background:none;border:0;width:38px;height:42px;font-size:20px}.nav nav{display:none;position:absolute;top:90px;left:0;width:100%;padding:22px;background:white;border-radius:24px;box-shadow:0 10px 30px #0002;flex-direction:column;gap:8px}.nav.open nav{display:flex}}
