:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP",sans-serif;color:#243b50;background:#f6fafc;font-synthesis:none}*{box-sizing:border-box}body{margin:0}header{max-width:1020px;margin:auto;padding:28px 30px;display:flex;align-items:center;gap:12px}.name{font-size:21px;font-weight:750;letter-spacing:-.5px}.badge{font-size:12px;background:#e5f1f8;color:#48718c;padding:5px 10px;border-radius:6px}main{max-width:900px;margin:auto;padding:24px 28px 40px}.intro{text-align:center;margin-bottom:34px}.eyebrow{font-size:14px;color:#337ca6;font-weight:650}h1{font-size:clamp(25px,3.5vw,36px);line-height:1.6;letter-spacing:.02em;margin:12px 0}p{line-height:1.9}.intro p{color:#627586;font-size:15px}.reader{background:white;border:1px solid #dfebf2;border-radius:20px;padding:28px;box-shadow:0 12px 40px #214b7010}.label-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}label,legend{font-weight:650;font-size:15px}button{font:inherit;border:1px solid #d5e3ec;border-radius:10px;background:white;color:#344f63;min-height:48px;padding:10px 18px;cursor:pointer;touch-action:manipulation}button:hover:enabled{background:#edf6fc}button:disabled{opacity:.42;cursor:default}button:focus-visible,textarea:focus-visible{outline:3px solid #72b9e2;outline-offset:3px}.text-button{border:0;padding:8px 12px;color:#627586;font-size:14px}textarea{display:block;width:100%;min-height:280px;resize:vertical;border:1px solid #d4e2ec;border-radius:12px;padding:20px;font:inherit;font-size:17px;line-height:1.9;color:#243b50;background:#fcfdfe}textarea::placeholder{color:#8b9ca9}textarea:read-only{background:#f4f8fb}.count-row{display:flex;justify-content:space-between;gap:12px;margin:12px 0 24px;font-size:12px;color:#7b8c99}output{font-size:14px;color:#47677e;white-space:nowrap}fieldset{padding:0;border:0;margin:0 0 22px}legend{margin-bottom:12px}.speeds{display:flex;gap:8px}.speeds button{flex:1;padding:8px 4px;min-width:0;font-size:14px}.speeds button[aria-pressed=true]{background:#e6f3fc;color:#156eac;border-color:#72b5df;font-weight:700}.hint{font-size:12px;color:#7b8c99;margin:10px 0 0}.controls{display:grid;grid-template-columns:2fr 1fr 1fr;gap:12px}.primary{background:#287eb7;color:white;border-color:#287eb7;font-weight:700;min-height:56px}.primary:hover:enabled{background:#1d699c}.status-box{display:flex;align-items:center;gap:9px;margin-top:20px;font-size:13px;min-height:28px;color:#607a8e}.dot{width:8px;height:8px;background:#b9cbd7;border-radius:50%;flex-shrink:0}.dot.active{background:#2983bb}#progress{margin-left:auto;white-space:nowrap}#error{color:#9d3535;background:#fff2f2;padding:12px;border-radius:8px;font-size:14px}.footnote{text-align:center;font-size:12px;color:#7b8c99;margin-top:24px}footer{text-align:center;color:#8a9ca8;font-size:11px;padding:12px 20px 28px}@media(max-width:600px){header{padding:20px}main{padding:12px 16px 24px}.intro{margin-bottom:24px}h1{font-size:24px}.intro p{font-size:13px}br{display:initial}.reader{padding:18px;border-radius:16px}textarea{min-height:300px;padding:14px;font-size:16px}.count-row>span{max-width:65%}.speeds{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.controls{grid-template-columns:1fr 1fr;gap:12px}.primary{grid-column:1/-1}.status-box{flex-wrap:wrap}#progress{font-size:12px}.footnote{font-size:11px}}
[hidden]{display:none!important}.mode-options{display:flex;gap:12px;flex-wrap:wrap}.mode-options label{display:flex;align-items:center;gap:8px;min-height:48px;border:1px solid #d5e3ec;border-radius:10px;padding:10px 14px;cursor:pointer;font-weight:500;font-size:14px}.mode-options label:has(input:checked){background:#e6f3fc;border-color:#72b5df;color:#156eac}.mode-options input{accent-color:#287eb7;width:18px;height:18px;flex-shrink:0}.voice-row{display:flex;align-items:center;gap:16px;margin-bottom:20px}.voice-row select{font:inherit;font-size:16px;min-height:48px;border:1px solid #d5e3ec;border-radius:10px;padding:8px 14px;color:#344f63;background:white;flex:1;min-width:0}.fallback{width:100%;border-color:#72b5df;color:#156eac;margin-top:4px}.privacy{padding-top:16px;margin-top:16px;border-top:1px solid #edf2f6}.ai-speeds button{font-size:13px}select:focus-visible,input:focus-visible{outline:3px solid #72b9e2;outline-offset:3px}@media(max-width:600px){.mode-options{display:grid;grid-template-columns:1fr;gap:8px}.ai-speeds{grid-template-columns:1fr;gap:8px}.ai-speeds button{font-size:14px}.mode-options label{font-size:15px}}
/* Forest theme: quiet illustration around the functional reader. */
:root{color:#304838;background:#f8f7ef}header .badge{background:#eaf0df;color:#607b4d}header{max-width:1020px}.intro{text-align:left;position:relative;padding:38px 36px;min-height:270px;border-radius:24px;background:#f8f7ef url('assets/forest-fox.png') right center/cover no-repeat}.intro h1{color:#28492d;line-height:1.5}.intro p{color:#60725b;max-width:65%}.eyebrow{color:#688459}.reader{background:#fffefa;border-color:#e1e7d7;box-shadow:0 12px 40px #48603c0c}textarea{color:#304838;background:#fff;border-color:#d8e1ce}button{color:#42603b;border-color:#d8e1ce}button:hover:enabled{background:#edf2e5}.primary{background:#4b793f;border-color:#4b793f;color:white}.primary:hover:enabled{background:#3a6330}.speeds button[aria-pressed=true]{background:#eaf0df;color:#365e2c;border-color:#9bb78b}.mode-options label:has(input:checked){background:#eaf0df;border-color:#9bb78b;color:#365e2c}.mode-options input{accent-color:#4b793f}.voice-row select{color:#42603b;border-color:#d8e1ce}.status-box{background:#f0f3e8;padding:14px;border-radius:12px;color:#60725b}.dot.active{background:#4b793f}.hint,.footnote,footer,.count-row{color:#75816d}output{color:#58764b}.footnote a{color:#426f3c;text-underline-offset:4px}.privacy{border-color:#e5e9db}button:focus-visible,textarea:focus-visible,select:focus-visible,input:focus-visible{outline-color:#8dae79}.fallback{color:#426f3c;border-color:#9bb78b}textarea:read-only{background:#f3f5ee}@media(max-width:600px){.intro{padding:24px 18px 170px;min-height:0;background-size:auto 260px;background-position:right bottom;background-repeat:no-repeat}.intro h1{font-size:28px}.intro h1 br{display:none}.intro p{max-width:100%;font-size:14px}.intro p br{display:none}.reader{padding:20px 18px}.badge{font-size:11px}.status-box{font-size:13px}}
@media(max-width:600px){.intro{padding-bottom:190px;background-size:auto 180px}.intro h1 br{display:initial}.intro h1{font-size:28px}}
header nav{margin-left:auto;flex-shrink:0}.header-link{display:inline-flex;align-items:center;min-height:44px;padding:8px 12px;color:#426f3c;font-size:14px;font-weight:650;text-decoration:none;border-radius:10px}.header-link:hover{background:#eaf0df}.header-link:focus-visible{outline:3px solid #8dae79;outline-offset:3px}@media(max-width:600px){header{flex-wrap:wrap;gap:6px 10px}.header-link{font-size:14px;padding:8px}.badge{order:3;flex-basis:auto}header nav{order:2}}
.sample-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:8px}.sample-row button{background:#edf2e5}.sample-row span{font-size:13px;color:#60725b}#sample-text{margin-bottom:22px}
.input-tabs{display:flex;gap:10px;margin-bottom:22px}.input-tabs button{flex:1}.input-tabs [aria-selected=true]{background:#eaf0df;border-color:#9bb78b;font-weight:700}#pdf-panel{margin-bottom:24px}#pdf-drop{padding:22px;border:2px dashed #b3c5a3;border-radius:16px;text-align:center;background:#f5f7ef}#pdf-drop.dragging{background:#e4eed9}.pdf-choose{display:inline-flex;align-items:center;min-height:48px;padding:12px 18px;background:#4b793f;color:white;border-radius:10px;cursor:pointer}#pdf-file{display:block;width:100%;font:inherit;font-size:14px;margin-top:16px}#pdf-info,#pdf-result{overflow-wrap:anywhere;font-size:14px}#pdf-status{font-size:14px}#pdf-error{background:#fff2f2;color:#9d3535;border-radius:10px;padding:12px;font-size:14px}.pdf-actions{display:flex;gap:12px;flex-wrap:wrap}.pdf-actions button{flex:1;min-width:140px}#pdf-progress{width:100%;margin-top:16px;accent-color:#4b793f}@media(max-width:600px){#pdf-drop{padding:18px 12px}.input-tabs button{padding:10px 6px;font-size:15px}}
#pdf-file{position:absolute;width:1px;height:1px;padding:0;margin:0;overflow:hidden;clip-path:inset(50%)}#pdf-drop:focus-within .pdf-choose{outline:3px solid #8dae79;outline-offset:3px}
@media(max-width:600px){.intro{min-height:310px;padding:22px 18px;background-image:linear-gradient(to right,#f8f7eff0 0%,#f8f7efbb 48%,#f8f7ef00 76%),url("assets/forest-fox.png");background-size:cover;background-position:right center}.intro h1{font-size:26px;max-width:65%;margin:12px 0}.intro p{font-size:13px;line-height:1.9;max-width:58%;margin-bottom:0}.intro .eyebrow{display:block;font-size:12px;max-width:64%}}
/* Sentence reading view: matches the forest theme and keeps the text column readable. */
.view-options,.sentence-controls{display:flex;gap:12px;margin:16px 0;flex-wrap:wrap}
.view-options button,.sentence-controls button{flex:1;min-height:44px}
.resume-last{width:100%;margin-top:12px;background:#f0f3e8;border-color:#b7c7aa;color:#365e2c;font-weight:700}
.view-options [aria-pressed="true"]{background:#eaf0df;border-color:#94ae85;color:#345d2b}
.reading-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px}
.reading-toolbar button{font-size:14px;min-height:44px;padding:8px 14px}
#reading-position{color:#526b48;font-size:14px}
#reading-view{max-width:42em;margin:0 auto;max-height:440px;min-height:260px;overflow-y:auto;overscroll-behavior:contain;border:1px solid #d6ddcd;border-radius:18px;padding:16px;background:#fff;scroll-padding:28px}
.reading-sentence{display:block;width:100%;text-align:left;background:transparent;border:1px solid transparent;border-radius:10px;white-space:pre-wrap;overflow-wrap:anywhere;min-height:44px;padding:10px 12px;margin:2px 0;color:#344534;font-size:18px;line-height:1.9;font-weight:400;font-family:inherit}
.reading-sentence:hover{background:#f2f5eb}
.reading-sentence.current{background:#fff3c9;border-color:#e2cc82}
.reading-sentence:focus-visible{outline:3px solid #6c8a57;outline-offset:2px}
@media(max-width:600px){#reading-view{max-height:46vh;padding:8px;min-height:240px}.reading-sentence{font-size:17px;padding:8px 10px}.view-options button{font-size:14px;padding:10px 8px}.sentence-controls button{font-size:15px}}
.audio-save{border-top:1px solid #e5e9db;margin-top:20px;padding-top:18px;display:flex;gap:12px;flex-wrap:wrap}.audio-save p{flex-basis:100%;margin:0;font-size:14px}.audio-save a{display:inline-flex;align-items:center;min-height:48px;padding:10px 18px;border-radius:10px;background:#4b793f;color:white;font-weight:650;text-decoration:none}.audio-save a:focus-visible{outline:3px solid #8dae79;outline-offset:3px}
.account-bar{max-width:780px;margin:18px auto;padding:14px 18px;border:1px solid #d9dfd0;border-radius:16px;background:#fff;display:flex;align-items:center;justify-content:space-between;gap:16px}.account-bar>div{display:grid;gap:3px}.account-bar strong{color:#345d2b}.account-bar>div span{font-size:13px;color:#71806c}.account-bar details{position:relative}.account-bar summary{cursor:pointer;color:#345d2b;font-weight:650;min-height:44px;display:flex;align-items:center}.account-form{position:absolute;z-index:10;right:0;width:min(360px,calc(100vw - 40px));padding:18px;background:#fff;border:1px solid #cad4c2;border-radius:14px;box-shadow:0 14px 38px #32452f24}.account-form label{display:grid;gap:5px;margin:10px 0;font-size:14px}.account-form input{min-height:44px;border:1px solid #cfd7c7;border-radius:9px;padding:8px 10px;font:inherit}.account-form>div{display:flex;gap:8px;flex-wrap:wrap}.account-form button{min-height:42px;flex:1}.account-form #account-message{margin:10px 0 0;color:#526b48;font-size:14px}@media(max-width:600px){.account-bar{margin:14px 0;align-items:flex-start}.account-bar>div{max-width:58%}.account-form{position:fixed;left:20px;right:20px;top:18vh;width:auto}.account-bar summary{font-size:14px}}
#ocr-panel{margin-bottom:24px}#ocr-drop{padding:22px;border:2px dashed #b3c5a3;border-radius:16px;text-align:center;background:#f5f7ef}#ocr-file{display:block;width:100%;font:inherit;font-size:14px;margin-top:16px}#ocr-preview{display:block;max-width:100%;max-height:320px;margin:16px auto;border-radius:12px}#ocr-info,#ocr-status{overflow-wrap:anywhere;font-size:14px}#ocr-error{background:#fff2f2;color:#9d3535;border-radius:10px;padding:12px;font-size:14px}@media(max-width:600px){#ocr-drop{padding:18px 12px}.input-tabs button{font-size:13px}}
.site-name{color:#28492d;text-decoration:none}.subpage main{max-width:1040px}.page-heading{text-align:center;margin:22px auto 36px;max-width:680px}.page-heading h1{color:#28492d}.page-heading p{color:#60725b}.plan-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;align-items:stretch}.plan-card{display:flex;flex-direction:column;background:#fffefa;border:1px solid #dbe2d3;border-radius:20px;padding:24px;box-shadow:0 10px 30px #48603c0b}.plan-card.recommended{border:2px solid #7ca169;transform:translateY(-8px)}.plan-label{align-self:flex-start;margin:0;color:#557449;background:#edf3e7;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:700}.plan-card h2{margin:16px 0 2px;color:#28492d}.price{margin:0 0 14px;color:#3c6533}.price strong{font-size:40px}.price span{font-size:14px}.plan-card ul{padding-left:1.3em;line-height:2;color:#4d6049}.plan-note{font-size:12px;color:#75816d;margin-top:auto}.plan-button{display:flex;align-items:center;justify-content:center;min-height:52px;margin-top:16px;border-radius:11px;background:#4b793f;color:#fff;text-decoration:none;font-weight:700}.plan-button.secondary{background:#fff;color:#42603b;border:1px solid #9bb78b}.coupon-note,.account-page-card,.usage-card,.contract-card{background:#fffefa;border:1px solid #dbe2d3;border-radius:20px;padding:24px;margin:28px auto}.coupon-note{max-width:780px}.coupon-note h2,.contract-card h2{color:#345d2b;font-size:20px}.center-note{text-align:center;color:#75816d;font-size:13px}.narrow-page{max-width:720px!important}.account-page-card{max-width:560px}.account-switch{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:22px}.account-switch [aria-selected=true]{background:#eaf0df;border-color:#9bb78b;font-weight:700}.account-page-card form label{display:grid;gap:7px;margin:16px 0}.account-page-card input{min-height:50px;border:1px solid #cfd7c7;border-radius:10px;padding:10px 12px;font:inherit}.account-page-card .primary{width:100%;margin-top:18px}.small{font-size:12px}.usage-card{margin-top:0}.usage-heading{display:flex;justify-content:space-between;align-items:center;gap:16px}.usage-heading>div{display:grid;gap:5px}.usage-heading span{font-size:13px;color:#75816d}.usage-heading strong{font-size:24px;color:#345d2b}.usage-heading a{color:#426f3c}.usage-total{margin-top:26px;padding:18px;border-radius:14px;background:#edf3e7;display:flex;justify-content:space-between;align-items:center}.usage-total strong{font-size:24px;color:#345d2b}.usage-total.ocr{margin-top:30px}.usage-breakdown,.contract-card dl{margin:14px 0}.usage-breakdown>div,.contract-card dl>div{display:flex;justify-content:space-between;gap:16px;padding:10px 2px;border-bottom:1px solid #e8ecdf}.usage-breakdown dt,.contract-card dt{color:#65745f}.usage-breakdown dd,.contract-card dd{margin:0;font-weight:700}.expiry{text-align:right;font-size:12px;color:#75816d}.contract-card button{margin-top:10px}#my-page-error{color:#9d3535;text-align:center}@media(max-width:760px){.plan-grid{grid-template-columns:1fr}.plan-card.recommended{transform:none}.page-heading{text-align:left}.subpage header nav{flex-basis:100%;display:flex;overflow-x:auto}.subpage .header-link{white-space:nowrap}.usage-total{align-items:flex-start;gap:10px}.usage-total strong{font-size:21px}.usage-breakdown>div{font-size:14px}}
/* みみまなび brand */
.brand-logo{display:inline-flex;align-items:center;flex:0 0 auto;text-decoration:none}.brand-logo img{display:block;width:auto;height:58px;max-width:220px;object-fit:contain}.brand-logo-static{pointer-events:none}@media(max-width:600px){.brand-logo img{height:46px;max-width:176px}}

.intro .intro-copy{margin-left:2em}.intro-copy-mobile{display:none}@media(max-width:600px){.intro .intro-copy{margin-left:0;max-width:100%}.intro-copy-desktop{display:none}.intro .intro-copy-mobile{display:block}.intro .intro-copy br{display:initial}}
