:root{--primary: #2383E2;--primary-strong: #1a6fc4;--bg: #ffffff;--bg-subtle: #f7f7f5;--surface: #ffffff;--text: #37352f;--text-secondary: #787774;--text-subtle: #9b9b98;--border: #e8e8e6;--shadow: 0 1px 2px rgba(15, 15, 15, .04), 0 6px 24px rgba(15, 15, 15, .07);--badge-bg: #37352f;--badge-text: #ffffff;--plus-accent: #b8860b;color-scheme:light dark}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--primary: #529cea;--primary-strong: #6faded;--bg: #191919;--bg-subtle: #202020;--surface: #252525;--text: #f0f1f0;--text-secondary: #9b9b9b;--text-subtle: #6f6f6f;--border: #333333;--shadow: 0 1px 2px rgba(0, 0, 0, .4), 0 6px 24px rgba(0, 0, 0, .5);--badge-bg: #f0f1f0;--badge-text: #191919;--plus-accent: #ffd60a;color-scheme:dark}}:root[data-theme=light]{color-scheme:light}:root[data-theme=dark]{--primary: #529cea;--primary-strong: #6faded;--bg: #191919;--bg-subtle: #202020;--surface: #252525;--text: #f0f1f0;--text-secondary: #9b9b9b;--text-subtle: #6f6f6f;--border: #333333;--shadow: 0 1px 2px rgba(0, 0, 0, .4), 0 6px 24px rgba(0, 0, 0, .5);--badge-bg: #f0f1f0;--badge-text: #191919;--plus-accent: #ffd60a;color-scheme:dark}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Hiragino Kaku Gothic ProN,Hiragino Sans,Noto Sans JP,Meiryo,sans-serif;background:var(--bg);color:var(--text);line-height:1.7;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}img{max-width:100%;display:block}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}.container{max-width:1040px;margin:0 auto;padding:0 24px}.site-header{position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--bg) 82%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border)}.site-header .container{display:flex;align-items:center;gap:12px;height:60px}.brand{display:flex;align-items:center;gap:10px;font-weight:700;font-size:1.05rem;color:var(--text)}.brand:hover{text-decoration:none}.brand img{width:30px;height:30px;border-radius:7px;border:1px solid var(--border)}.brand .icon-dark{display:none;border:0}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .brand .icon-light{display:none}:root:not([data-theme=light]) .brand .icon-dark{display:block}}:root[data-theme=dark] .brand .icon-light{display:none}:root[data-theme=dark] .brand .icon-dark{display:block}.header-spacer{flex:1}.lang-switch{font-size:.85rem;color:var(--text-secondary);display:flex;gap:2px;align-items:center}.lang-switch a,.lang-switch span{padding:4px 8px;border-radius:6px;color:var(--text-secondary)}.lang-switch .active{background:var(--bg-subtle);color:var(--text);font-weight:600}.lang-switch a:hover{text-decoration:none;background:var(--bg-subtle)}.theme-toggle{border:0;background:none;font:inherit;font-size:.85rem;color:var(--text-secondary);padding:4px 10px;border-radius:6px;cursor:pointer;white-space:nowrap}.theme-toggle:hover{background:var(--bg-subtle);color:var(--text)}.btn{display:inline-block;background:var(--primary);color:#fff;font-weight:600;font-size:.9rem;padding:9px 18px;border-radius:8px;white-space:nowrap}.btn:hover{background:var(--primary-strong);text-decoration:none}.store-badges{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.store-badge{display:inline-flex;align-items:center;gap:10px;background:var(--badge-bg);color:var(--badge-text);border-radius:10px;padding:8px 18px 8px 14px;min-width:168px;opacity:.55;cursor:default}.store-badge svg{width:26px;height:26px;flex:none;fill:currentColor}.store-badge .badge-label{line-height:1.25;text-align:left}.store-badge .badge-label small{display:block;font-size:.62rem;letter-spacing:.02em;opacity:.8}.store-badge .badge-label strong{font-size:1.02rem;font-weight:600}.badges-note{font-size:.8rem;color:var(--text-subtle);margin-top:10px}.hero{padding:72px 0 40px;overflow:hidden}.hero .container{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:48px;align-items:center}.hero-copy h1{font-size:clamp(1.9rem,4.5vw,2.9rem);line-height:1.3;letter-spacing:-.02em;font-weight:800}.hero-copy .lead{margin:20px 0 32px;color:var(--text-secondary);font-size:1.05rem}.phone{width:290px;margin:0 auto;border:10px solid var(--text);border-radius:44px;background:var(--bg-subtle);box-shadow:var(--shadow);padding:26px 16px;position:relative}.phone:before{content:"";position:absolute;top:10px;left:50%;transform:translate(-50%);width:84px;height:8px;border-radius:4px;background:var(--text);opacity:.85}.flashcard{background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow);padding:34px 18px;text-align:center;position:relative}.flashcard+.flashcard{margin-top:10px}.flashcard .word{font-size:1.5rem;font-weight:700}.flashcard .hint{color:var(--text-subtle);font-size:.78rem;margin-top:8px}.flashcard .answer{color:var(--primary);font-size:1.05rem;font-weight:600;margin-top:6px}.card-stack{position:relative}.card-stack:before,.card-stack:after{content:"";position:absolute;left:10px;right:10px;height:14px;border:1px solid var(--border);border-radius:14px 14px 0 0;background:var(--surface)}.card-stack:before{top:-8px;opacity:.55}.card-stack:after{top:-15px;left:20px;right:20px;opacity:.3}.phone .meta-row{display:flex;justify-content:space-between;color:var(--text-subtle);font-size:.72rem;padding:14px 6px 0}.phone .progress{height:5px;border-radius:3px;background:var(--border);margin:8px 6px 0;overflow:hidden}.phone .progress i{display:block;height:100%;width:62%;background:var(--primary);border-radius:3px}section{padding:64px 0}section.alt{background:var(--bg-subtle)}.section-head{text-align:center;max-width:640px;margin:0 auto 48px}.section-head h2{font-size:clamp(1.5rem,3vw,2.1rem);letter-spacing:-.01em;line-height:1.4}.section-head p{color:var(--text-secondary);margin-top:12px}.eyebrow{display:inline-block;color:var(--primary);font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin-bottom:10px}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.card{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:28px 24px}section.alt .card{box-shadow:var(--shadow);border-color:transparent}.card .icon{width:44px;height:44px;border-radius:10px;background:color-mix(in srgb,var(--primary) 12%,transparent);color:var(--primary);display:flex;align-items:center;justify-content:center;font-size:1.3rem;margin-bottom:16px}.card h3{font-size:1.05rem;margin-bottom:8px}.card p{color:var(--text-secondary);font-size:.92rem}.shots{display:flex;gap:20px;overflow-x:auto;padding:8px 4px 20px;-webkit-overflow-scrolling:touch}.shot{flex:0 0 220px}.shot .frame{aspect-ratio:9 / 19;border:1px solid var(--border);border-radius:24px;background:linear-gradient(160deg,color-mix(in srgb,var(--primary) 10%,var(--bg-subtle)),var(--bg-subtle) 60%);display:flex;align-items:center;justify-content:center;color:var(--text-subtle);font-size:.78rem;box-shadow:var(--shadow);overflow:hidden}.shot .frame img{width:100%;height:100%;object-fit:cover;display:block}.hero-shot-frame{width:380px;max-width:100%;margin:0 auto;position:relative;line-height:0}.hero-shot{display:block}.hero-shot img{width:100%;height:auto;display:block}.hero-shot.dark{display:none;position:absolute;inset:0}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .hero-shot.light{display:none}:root:not([data-theme=light]) .hero-shot.dark{display:block;position:static}}:root[data-theme=dark] .hero-shot.light{display:none}:root[data-theme=dark] .hero-shot.dark{display:block;position:static}.plan-table-wrap{max-width:720px;margin:0 auto;overflow-x:auto}.plan-table{width:100%;border-collapse:collapse;font-size:.92rem}.plan-table th,.plan-table td{text-align:center;padding:13px 12px}.plan-table thead th{vertical-align:bottom;padding-bottom:18px}.plan-table .feature-col{width:46%}.plan-table tbody th{text-align:left;font-weight:500;color:var(--text)}.plan-table tbody tr{border-top:1px solid var(--border)}.plan-col-name{display:block;font-size:1.05rem;font-weight:700}.plan-col-price{display:block;font-size:.78rem;color:var(--text-secondary);margin-top:2px}.plan-col-tag{display:inline-block;background:var(--primary);color:#fff;font-size:.68rem;font-weight:700;padding:2px 10px;border-radius:999px;margin-bottom:6px}.plan-table .plus-col{background:color-mix(in srgb,var(--primary) 6%,transparent)}.plan-table thead .plus-col{border-radius:12px 12px 0 0}.plan-table tbody tr:last-child .plus-col{border-radius:0 0 12px 12px}.mark{font-size:.95rem}.mark.yes{color:var(--primary);font-weight:700}.mark.no{color:var(--text-subtle)}.mark.val{font-weight:600}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.pricing-note{text-align:center;color:var(--text-subtle);font-size:.8rem;margin-top:24px}.faq{max-width:720px;margin:0 auto}.faq details{border-bottom:1px solid var(--border);padding:4px 0}.faq summary{cursor:pointer;font-weight:600;padding:16px 32px 16px 4px;list-style:none;position:relative}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";position:absolute;right:8px;top:50%;transform:translateY(-50%);color:var(--text-subtle);font-size:1.2rem;font-weight:400}.faq details[open] summary:after{content:"–"}.faq details p{color:var(--text-secondary);font-size:.94rem;padding:0 4px 18px}.cta-final{text-align:center}.cta-final .store-badges{justify-content:center;margin-top:28px}.site-footer{border-top:1px solid var(--border);padding:40px 0 48px;font-size:.85rem;color:var(--text-secondary)}.site-footer .footer-links{display:flex;flex-wrap:wrap;gap:8px 24px;margin-bottom:20px}.site-footer a{color:var(--text-secondary)}.site-footer a:hover{color:var(--text)}.site-footer .disclaimer{font-size:.78rem;color:var(--text-subtle);max-width:640px}.site-footer .copyright{margin-top:12px;font-size:.78rem;color:var(--text-subtle)}.legal-page{padding:56px 0 80px}.legal-page .container{max-width:760px}.legal-page h1{font-size:1.8rem;margin-bottom:4px}.legal-page .updated,.legal-page h1+p{color:var(--text-subtle);font-size:.85rem;margin-bottom:32px}.legal-page blockquote{margin:0 0 24px;padding:10px 16px;border-left:3px solid var(--border);color:var(--text-secondary);font-size:.9rem}.legal-page blockquote p{margin:0;color:inherit;font-size:inherit}.legal-page h2{font-size:1.15rem;margin:36px 0 12px;padding-top:8px}.legal-page h3{font-size:1rem;margin:22px 0 8px}.legal-page p,.legal-page li{font-size:.94rem;color:var(--text)}.legal-page p{margin-bottom:12px}.legal-page ul{padding-left:22px;margin-bottom:12px}.legal-page li{margin-bottom:6px}.guide-page .container{max-width:900px}.step{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:40px;align-items:center;padding:36px 0;border-top:1px solid var(--border)}.step:first-of-type{border-top:0}.step-body{padding-top:4px;min-width:0}.step-num{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:var(--primary);color:#fff;font-size:.85rem;font-weight:700;margin-bottom:12px}.step-body h2{margin:0 0 10px;padding-top:0}.step-shot{border:1px solid var(--border);border-radius:22px;overflow:hidden;box-shadow:var(--shadow);line-height:0}.step-shot img{width:100%;height:auto;display:block}.guide-note{background:var(--bg-subtle);border:1px solid var(--border);border-radius:12px;padding:16px 20px;margin:8px 0 0}.guide-note p:last-child{margin-bottom:0}.faq-page .faq-section{padding:0;margin-bottom:36px}.faq-page .faq-section h2{font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-subtle);margin:0 0 4px;padding-top:0}.faq-item{border-bottom:1px solid var(--border)}.faq-item summary{cursor:pointer;font-weight:600;font-size:.96rem;padding:16px 34px 16px 0;list-style:none;position:relative}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:after{content:"+";position:absolute;right:6px;top:50%;transform:translateY(-50%);color:var(--text-subtle);font-size:1.2rem;font-weight:400}.faq-item[open] summary:after{content:"–"}.faq-answer{padding:0 0 18px}.faq-answer p{color:var(--text-secondary);font-size:.94rem;margin-bottom:10px}.faq-answer p:last-child{margin-bottom:0}@media(max-width:840px){.step{grid-template-columns:1fr;gap:24px}.step-shot{max-width:280px;margin:0 auto}.hero{padding-top:48px}.hero .container{grid-template-columns:1fr;gap:48px}.hero-copy{text-align:center}.hero-visual{min-width:0}.hero-shot-frame{width:290px}.hero-copy .store-badges{justify-content:center}.grid-3,.grid-2{grid-template-columns:1fr;max-width:480px;margin:0 auto}.plan-table{font-size:.82rem;table-layout:fixed}.plan-table th,.plan-table td{padding:11px 6px}.plan-table .feature-col{width:46%}.plan-table tbody th{word-break:break-word}.plan-col-name{font-size:.95rem}.plan-col-price{font-size:.7rem}.plan-col-tag{font-size:.62rem;padding:2px 7px}section{padding:48px 0}.header-cta{display:none}}
