:root{--color-primary:#16a34a;--color-primary-hover:#15803d;--color-primary-soft:#dcfce7;--color-accent:#ef4444;--color-accent-soft:#fee2e2;--color-blue:#0ea5e9;--color-blue-soft:#e0f2fe;--color-dark:#0f172a;--color-dark-soft:#1e293b;--color-text:#1e293b;--color-text-muted:#64748b;--color-border:#e2e8f0;--color-light:#f8fafc;--color-white:#fff;--shadow-sm:0 1px 2px #0f172a0a, 0 4px 12px #0f172a0a;--shadow-md:0 12px 36px #0f172a17;--radius-sm:.75rem;--radius-md:1.25rem;--radius-lg:2rem;--container:1180px;--transition:.18s ease}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:5rem}body{color:var(--color-text);background:var(--color-white);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;margin:0;font-family:Noto Sans JP,-apple-system,BlinkMacSystemFont,Segoe UI,Hiragino Sans,Hiragino Kaku Gothic ProN,Yu Gothic,Meiryo,sans-serif;font-size:1rem;line-height:1.8}h1,h2,h3{word-break:keep-all;overflow-wrap:break-word}img,svg{max-width:100%;display:block}img{height:auto}button,input,textarea,select{font:inherit}a{color:inherit}code,pre{font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace}code{font-size:.9em}::selection{color:var(--color-dark);background:#bbf7d0}.skip-link{z-index:999;color:var(--color-white);background:var(--color-dark);border-radius:.5rem;padding:.75rem 1rem;position:fixed;top:.5rem;left:.5rem;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}.visually-hidden{clip:rect(0 0 0 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}:focus-visible{outline-offset:4px;outline:3px solid #38bdf8}.container{width:min(calc(100% - 2rem), var(--container));margin-inline:auto}.narrow-container{max-width:1000px}.section{padding-block:5rem}.section-soft{background:var(--color-light)}.section-dark{color:#e2e8f0;background:radial-gradient(circle at 20% 0%, #16a34a24, transparent 30rem), var(--color-dark)}.section-header{text-align:center;max-width:760px;margin:0 auto 3rem}.section-header h2,.story-section h2,.final-cta h2{color:var(--color-dark);letter-spacing:-.035em;margin:0;font-size:clamp(1.75rem,4vw,2.75rem);line-height:1.2}.section-header p:not(.section-kicker){max-width:680px;color:var(--color-text-muted);margin:1.25rem auto 0;font-size:1.05rem}.section-kicker{color:var(--color-primary);letter-spacing:.15em;text-transform:uppercase;margin:0 0 .6rem;font-size:.78rem;font-weight:800}.section-header-dark h2{color:var(--color-white)}.section-header-dark p:not(.section-kicker){color:#94a3b8}.site-header{z-index:100;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffeb;border-bottom:1px solid #e2e8f0d9;position:sticky;top:0}.header-inner{justify-content:space-between;align-items:center;gap:1.5rem;min-height:4.5rem;display:flex}.brand{color:var(--color-dark);flex-shrink:0;align-items:center;gap:.7rem;text-decoration:none;display:inline-flex}.brand-mark{width:2.4rem;height:2.4rem;color:var(--color-white);background:linear-gradient(135deg, var(--color-primary), #22c55e);border-radius:.75rem;place-items:center;font-size:1.25rem;font-weight:900;display:grid}.brand-text{flex-direction:column;line-height:1.05;display:flex}.brand-text strong{letter-spacing:-.03em;font-size:1rem}.brand-text small{color:var(--color-text-muted);letter-spacing:.12em;text-transform:uppercase;margin-top:.15rem;font-size:.62rem;font-weight:700}.global-nav{display:none}.button{text-align:center;min-height:3rem;transition:transform var(--transition), border-color var(--transition), background-color var(--transition), box-shadow var(--transition);border:1px solid #0000;border-radius:.8rem;justify-content:center;align-items:center;gap:.65rem;padding:.75rem 1.2rem;font-weight:750;line-height:1.3;text-decoration:none;display:inline-flex}.button:hover{transform:translateY(-2px)}.button-primary{color:var(--color-white);background:var(--color-primary);box-shadow:0 8px 24px #16a34a38}.button-primary:hover{background:var(--color-primary-hover)}.button-secondary{color:var(--color-dark);background:var(--color-white);border-color:var(--color-border)}.button-secondary:hover{border-color:#94a3b8}.button-white{color:var(--color-primary-hover);background:var(--color-white);box-shadow:0 12px 32px #0f172a26}.button-large{min-height:3.5rem;padding:.9rem 1.4rem}.button-full{width:100%}.text-link{color:var(--color-primary-hover);align-items:center;gap:.45rem;margin-top:1rem;font-weight:750;text-decoration:none;display:inline-flex}.text-link:hover{text-underline-offset:.25rem;text-decoration:underline}.hero{background:radial-gradient(circle at 100% 0,#0ea5e929,#0000 32rem),radial-gradient(circle at 0 40%,#16a34a1a,#0000 30rem),linear-gradient(#fff,#f8fafc);padding-block:4rem 4.5rem;position:relative;overflow:hidden}.hero:before{content:"";pointer-events:none;border:1px solid #0ea5e91f;border-radius:50%;width:20rem;height:20rem;position:absolute;top:-8rem;right:-8rem}.hero-grid{z-index:1;gap:3rem;display:grid;position:relative}.hero-copy{max-width:680px}.eyebrow{color:var(--color-primary-hover);background:var(--color-primary-soft);letter-spacing:.08em;border:1px solid #bbf7d0;border-radius:999px;margin:0 0 1.25rem;padding:.4rem .7rem;font-size:.72rem;font-weight:800;display:inline-flex}.hero h1{color:var(--color-dark);letter-spacing:-.055em;margin:0;font-size:clamp(2rem,5vw,3.5rem);line-height:1.08}.hero h1 span{background:linear-gradient(110deg, var(--color-primary-hover), #0ea5e9);color:#0000;-webkit-background-clip:text;background-clip:text}.hero-lead{color:#475569;max-width:640px;margin:1.5rem 0 0;font-size:clamp(1rem,3vw,1.16rem)}.hero-lead strong{color:var(--color-dark)}.hero-actions{flex-direction:column;gap:.75rem;margin-top:2rem;display:flex}.hero-points{color:var(--color-text-muted);flex-wrap:wrap;gap:.65rem 1.25rem;margin:1.4rem 0 0;padding:0;font-size:.84rem;font-weight:650;list-style:none;display:flex}.hero-points li:before{content:"✓";color:var(--color-primary);margin-right:.4rem;font-weight:900}.hero-visual{margin:0;position:relative}.hero-visual:before{content:"";z-index:-1;border-radius:calc(var(--radius-lg) + .6rem);background:linear-gradient(135deg,#0ea5e924,#16a34a1a);position:absolute;inset:-.6rem;transform:rotate(1.5deg)}.hero-visual img{border-radius:var(--radius-lg);border:1px solid #ffffffd9;width:100%;box-shadow:0 30px 60px #0f172a24}.database-strip{border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);background:var(--color-white);padding-block:1.7rem}.database-strip .container{flex-direction:column;gap:1rem;display:flex}.database-strip-label{color:var(--color-text-muted);margin:0;font-size:.78rem;font-weight:700}.database-list{flex-wrap:wrap;gap:.7rem 1.25rem;margin:0;padding:0;list-style:none;display:flex}.database-list li{color:#334155;align-items:center;gap:.4rem;font-size:.88rem;font-weight:750;display:flex}.db-dot{background:var(--color-primary);border-radius:50%;width:.5rem;height:.5rem}.problem-grid{gap:1rem;display:grid}.problem-card{background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:1.5rem;position:relative}.problem-number{color:var(--color-primary);letter-spacing:.12em;margin-bottom:1rem;font-size:.78rem;font-weight:900;display:block}.problem-card h3{color:var(--color-dark);margin:0;font-size:1.25rem}.problem-card p{color:var(--color-text-muted);margin:.7rem 0 0}.problem-card code{color:#0f766e;background:#f0fdfa;border-radius:.3rem;padding:.15rem .35rem}.problem-answer{background:linear-gradient(135deg, var(--color-primary-soft), #ecfeff);border-radius:var(--radius-md);border:1px solid #bbf7d0;margin-top:1.5rem;padding:1.5rem}.problem-answer-label{color:var(--color-primary-hover);letter-spacing:.05em;font-size:.78rem;font-weight:900}.problem-answer p{color:#334155;margin:.5rem 0 0;font-weight:650}.feature-grid{gap:1rem;display:grid}.feature-card{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-white);box-shadow:var(--shadow-sm);padding:1.6rem}.feature-card-highlight{background:linear-gradient(145deg,#fff,#f0fdf4);border-color:#bbf7d0}.feature-icon{width:3rem;height:3rem;color:var(--color-primary-hover);background:var(--color-primary-soft);border-radius:.9rem;place-items:center;margin-bottom:1.25rem;font-family:SFMono-Regular,Consolas,monospace;font-size:.82rem;font-weight:900;display:grid}.feature-icon-miria{color:#b91c1c;background:var(--color-accent-soft)}.feature-label{color:var(--color-text-muted);letter-spacing:.12em;text-transform:uppercase;margin:0 0 .35rem;font-size:.68rem;font-weight:850}.feature-card h3{color:var(--color-dark);margin:0;font-size:1.32rem;line-height:1.45}.feature-card>p:not(.feature-label){color:var(--color-text-muted);margin:.8rem 0 0}.table-scroll{border-radius:var(--radius-md);background:var(--color-dark-soft);border:1px solid #334155;overflow-x:auto;box-shadow:0 24px 60px #00000029}.dialect-table{border-collapse:collapse;width:100%;min-width:820px}.dialect-table caption{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.dialect-table th,.dialect-table td{text-align:left;vertical-align:middle;border-bottom:1px solid #334155;padding:1rem}.dialect-table thead th{color:#86efac;letter-spacing:.04em;background:#172033;font-size:.76rem}.dialect-table tbody th{color:var(--color-white);white-space:nowrap}.dialect-table td{color:#cbd5e1}.dialect-table code{color:#bae6fd;white-space:nowrap;background:#0f172acc;border-radius:.35rem;padding:.2rem .4rem}.dialect-table tbody tr:last-child th,.dialect-table tbody tr:last-child td{border-bottom:0}.technical-note{color:#94a3b8;margin:1.25rem 0 0;font-size:.79rem}.technical-note code{color:#bae6fd}.dialect-links{gap:.75rem;margin-top:2rem;display:grid}.dark-link-card{color:#e2e8f0;transition:background-color var(--transition), border-color var(--transition);background:#ffffff0a;border:1px solid #334155;border-radius:.8rem;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.2rem;font-weight:700;text-decoration:none;display:flex}.dark-link-card:hover{background:#ffffff14;border-color:#64748b}.story-section{background:radial-gradient(circle at 100% 50%, #ef444414, transparent 28rem), var(--color-white);overflow:hidden}.story-grid{gap:3rem;display:grid}.story-copy{margin-top:1.5rem}.story-copy p{color:var(--color-text-muted)}.miria-dialog{border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);background:linear-gradient(150deg,#fff,#f8fafc);padding:1.5rem;position:relative}.miria-dialog:before{content:"";background:var(--color-white);border-top:1px solid var(--color-border);border-left:1px solid var(--color-border);width:.9rem;height:.9rem;position:absolute;top:-.45rem;left:2rem;transform:rotate(45deg)}.miria-name{color:#b91c1c;background:var(--color-accent-soft);letter-spacing:.08em;border-radius:999px;margin:0;padding:.3rem .65rem;font-size:.72rem;font-weight:900;display:inline-flex}.miria-dialog blockquote{margin:1rem 0}.miria-dialog blockquote p{color:var(--color-dark);margin:0;font-size:1.15rem;font-weight:750}.miria-hint{color:var(--color-primary);text-align:center;margin:.5rem 0}.miria-dialog pre{color:#e2e8f0;background:var(--color-dark);border-radius:var(--radius-sm);margin:0 0 1.2rem;padding:1.2rem;font-size:.82rem;line-height:1.7;overflow-x:auto}.curriculum-list{gap:0;max-width:900px;margin:0 auto;padding:0;list-style:none;display:grid}.curriculum-item{grid-template-columns:3rem 1fr;gap:1rem;padding:1.5rem 0;display:grid;position:relative}.curriculum-item:not(:last-child):after{content:"";background:#cbd5e1;width:1px;position:absolute;top:4.5rem;bottom:-.5rem;left:1.45rem}.curriculum-number{z-index:1;width:3rem;height:3rem;color:var(--color-primary-hover);background:var(--color-white);border:2px solid #bbf7d0;border-radius:50%;place-items:center;font-weight:900;display:grid;position:relative}.curriculum-item-accent .curriculum-number{color:var(--color-white);background:var(--color-primary);border-color:var(--color-primary)}.curriculum-label{color:var(--color-primary);letter-spacing:.1em;text-transform:uppercase;margin:0;font-size:.68rem;font-weight:850}.curriculum-item h3{color:var(--color-dark);margin:.2rem 0 0;font-size:1.3rem}.curriculum-item p:last-child{color:var(--color-text-muted);margin:.5rem 0 0}.screen-feature{gap:1.8rem;margin-top:4rem;display:grid}.screen-feature:first-of-type{margin-top:0}.screen-media{aspect-ratio:16/10;background:var(--color-light);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);overflow:hidden}.screen-media img{object-fit:contain;width:100%;height:100%}.screen-copy{align-self:center}.screen-number{color:var(--color-primary);letter-spacing:.1em;margin-bottom:.75rem;font-size:.75rem;font-weight:900;display:block}.screen-copy h3{color:var(--color-dark);letter-spacing:-.025em;margin:0;font-size:clamp(1.5rem,4vw,2.2rem);line-height:1.3}.screen-copy p{color:var(--color-text-muted);margin:1rem 0 0}.section-guides{background:linear-gradient(#f8fafc,#fff)}.guide-grid{gap:1rem;display:grid}.guide-card{background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:1.5rem}.guide-type{color:var(--color-primary);letter-spacing:.12em;margin:0;font-size:.66rem;font-weight:850}.guide-card h3{color:var(--color-dark);margin:.6rem 0 0;font-size:1.35rem}.guide-card h3 a{text-decoration:none}.guide-card h3 a:hover{text-underline-offset:.25rem;text-decoration:underline}.guide-card>p:not(.guide-type){color:var(--color-text-muted);margin:.8rem 0 0}.faq-container{max-width:900px}.faq-list{border-top:1px solid var(--color-border)}.faq-item{border-bottom:1px solid var(--color-border)}.faq-item summary{color:var(--color-dark);cursor:pointer;padding:1.35rem 2.7rem 1.35rem 0;font-weight:750;list-style:none;position:relative}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:after{content:"+";width:2rem;height:2rem;color:var(--color-primary);background:var(--color-primary-soft);border-radius:50%;place-items:center;font-size:1.2rem;display:grid;position:absolute;top:50%;right:0;transform:translateY(-50%)}.faq-item[open] summary:after{content:"−"}.faq-answer{padding:0 2.5rem 1.35rem 0}.faq-answer p{color:var(--color-text-muted);margin:0}.final-cta{color:var(--color-white);text-align:center;background:radial-gradient(circle at 80% 0,#0ea5e961,#0000 25rem),linear-gradient(135deg,#15803d,#16a34a);padding-block:5rem;position:relative;overflow:hidden}.final-cta:before,.final-cta:after{content:"";pointer-events:none;border:1px solid #ffffff29;border-radius:50%;position:absolute}.final-cta:before{width:18rem;height:18rem;top:-9rem;left:-6rem}.final-cta:after{width:22rem;height:22rem;bottom:-10rem;right:-4rem}.final-cta-inner{z-index:1;max-width:800px;position:relative}.final-cta-character{color:#dcfce7;letter-spacing:.12em;text-transform:uppercase;margin:0 0 .8rem;font-size:.75rem;font-weight:850}.final-cta h2{color:var(--color-white)}.final-cta>.container>p:not(.final-cta-character,.final-cta-note){color:#dcfce7;margin:1.3rem 0 0;font-size:1.05rem}.final-cta-actions{margin-top:2rem}.final-cta-note{color:#dcfce7;margin:1rem 0 0;font-size:.76rem}.site-footer{color:#94a3b8;background:#020617;padding-block:3.5rem 2rem}.footer-grid{gap:2.5rem;display:grid}.site-footer .brand{color:var(--color-white)}.footer-brand p{max-width:320px;margin:1rem 0 0;font-size:.86rem}.footer-nav{grid-template-columns:repeat(2,1fr);gap:2rem;display:grid}.footer-nav div{flex-direction:column;gap:.55rem;display:flex}.footer-nav h2{color:#e2e8f0;letter-spacing:.08em;text-transform:uppercase;margin:0 0 .25rem;font-size:.75rem}.footer-nav a{font-size:.84rem;text-decoration:none}.footer-nav a:hover{color:var(--color-white)}.footer-bottom{border-top:1px solid #1e293b;flex-direction:column;gap:.5rem;margin-top:3rem;padding-top:1.5rem;display:flex}.footer-bottom p{margin:0}.footer-note{max-width:620px}@media (width>=640px){.container{width:min(calc(100% - 3rem), var(--container))}.hero-actions{flex-direction:row;align-items:center}.database-strip .container{flex-direction:row;justify-content:center;align-items:center}.problem-grid,.guide-grid{grid-template-columns:repeat(3,1fr)}.feature-grid{grid-template-columns:repeat(2,1fr)}.dialect-links,.footer-nav{grid-template-columns:repeat(3,1fr)}.footer-bottom{flex-direction:row;justify-content:space-between;align-items:flex-start}}@media (width>=900px){.section{padding-block:7rem}.global-nav{align-items:center;gap:1.3rem;display:flex}.global-nav>a{color:#475569;font-size:.82rem;font-weight:650;text-decoration:none}.global-nav>a:hover{color:var(--color-dark)}.global-nav .nav-cta{color:var(--color-white);background:var(--color-primary);border-radius:.65rem;padding:.55rem .9rem}.global-nav .nav-cta:hover{color:var(--color-white);background:var(--color-primary-hover)}.hero{align-items:center;min-height:calc(100svh - 4.5rem);padding-block:5rem;display:flex}.hero-grid{grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);align-items:center;gap:4rem}.hero-visual{margin-right:-5vw}.story-grid{grid-template-columns:minmax(0,1fr) minmax(360px,.72fr);align-items:center;gap:5rem}.miria-dialog{padding:2rem}.screen-feature{grid-template-columns:minmax(0,1.4fr) minmax(300px,.75fr);align-items:center;gap:4rem;margin-top:7rem}.screen-feature-reverse .screen-media{order:2}.screen-feature-reverse .screen-copy{order:1}.footer-grid{grid-template-columns:1fr 1.7fr;gap:5rem}}@media (width>=1200px){.hero-visual{margin-right:-7rem}.feature-card{padding:2rem}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.brand-logo{object-fit:contain;width:2.4rem;height:2.4rem}.site-footer .brand-logo{filter:drop-shadow(1px 1px #fff)drop-shadow(-1px -1px #fff)drop-shadow(1px -1px #fff)drop-shadow(-1px 1px #fff)}.guide-ad-section{background-color:var(--color-bg-soft,#f8fafc);padding:40px 0 60px}.guide-ad-card{border:1px solid var(--border-color,#e2e8f0);background-color:#fff;border-radius:12px;padding:32px 28px 24px;position:relative;box-shadow:0 4px 12px #0000000a}.guide-ad-label{color:var(--color-text-muted,#94a3b8);letter-spacing:.05em;font-size:10px;font-weight:700;position:absolute;top:12px;right:16px}.guide-ad-content{align-items:center;gap:24px;display:flex}.guide-ad-image-wrap{text-align:center;flex-shrink:0;width:90px}.guide-ad-image-wrap img{width:100%;height:auto;display:block}.guide-ad-text{flex:1}.guide-ad-title{color:var(--color-text-main,#0f172a);margin:0 0 8px;font-size:18px;font-weight:800}.guide-ad-desc{color:var(--color-text-sub,#64748b);margin:0 0 16px;font-size:14px;line-height:1.6}@media screen and (width<=768px){.guide-ad-content{text-align:center;flex-direction:column;gap:16px}.guide-ad-image-wrap{width:80px;margin:0 auto}.guide-ad-title{font-size:16px}}
