/* 英語のりん v5 page layer for /, /pro, /aojuku (loads after rin-v3.css / pro-v5.css / aojuku-v3.css). */

/* preview-only label for unresolved variables / missing approved assets */
.var-blocked{display:inline-block;padding:1px 8px;border:1px dashed #d98c5f;color:#f0b58f;background:rgba(217,140,95,.08);font-size:.85em;line-height:1.6}
.light .var-blocked,.paper .var-blocked{color:#9a4a1e;border-color:#c56a3a}
body[data-copy-mode="release"] .var-blocked{display:none}

/* header: text link + separate toggle for 学べること */
.nav-split{display:inline-flex;align-items:center;gap:2px}
.nav-toggle{background:none;border:0;padding:10px 4px;color:inherit;font-size:13px}
.main-nav>a,.main-nav>button,.nav-split>a{white-space:nowrap}
.mega-grid{display:grid;grid-template-columns:1fr auto;gap:40px}
.mega-links{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 32px}
.mega-links li a{display:block;padding:14px 0;border-bottom:1px solid var(--rin-border);text-decoration:none}
.mega-side{align-self:end}

/* S01 */
.board-pro .pro-body{margin-top:14px;color:var(--rin-text-muted);font-size:16px;max-width:30em}
.finder-choice p{margin:0 0 6px;font-size:15px}
.finder-choice a{font-size:14px}
.board-finder>p{font-size:14px;margin:8px 0 0}

/* S02 */
.feature-content>p{margin-top:18px;max-width:520px;font-size:17px}
.feature-content .fine{margin-top:14px}

/* S03 note */
.note-cover{display:flex;align-items:center;justify-content:center;background:radial-gradient(55% 60% at 60% 45%,rgba(221,187,132,.18),transparent 70%),#11100d}
.note-info h3{margin-top:10px}
.note-info .ext{margin-left:12px}
.note-access{margin-top:26px}
.note-tabs .tab-text{display:block}

/* S07 */
.device-lead{max-width:760px;margin:16px auto 48px}
.device-panel p{margin:18px 0}

/* footer */
.foot-lead{max-width:640px;margin:-24px 0 40px;color:var(--rin-text-muted)}
.foot-note p{font-size:14px;margin:6px 0 14px}
.foot-note .link{display:inline-block;margin-top:14px}
.footer[data-brand="aojuku"]{background:#040E1C}

/* search dialog */
.search-row{display:flex;gap:12px;align-items:center}
.search-row .search-input{margin:0}
.search-label{display:block;font-size:13px;margin-bottom:8px;color:var(--rin-text-muted)}
.search-heading{font-size:15px;margin:22px 0 6px}
.search-count{font-size:13px;color:var(--rin-text-muted)}
.sample-phone{display:flex;justify-content:center;background:#15130f;padding:26px 0}
.sample-phone .phone{width:220px}

/* ---------------- /pro ---------------- */
.p-intro .price-short{font-size:26px;margin:0}
.exp-lead{margin-top:16px;max-width:560px}
.exp .steps button{align-items:flex-start}
.exp .step-text{display:flex;flex-direction:column;gap:4px}
.exp .step-text strong{font-size:20px;font-weight:600}
.exp .step-body{font-size:15px}
.exp .step-missing{display:flex;align-items:center;justify-content:center;height:100%;padding:24px}
.feat-wrap{display:flex;flex-direction:column}
.feat-wrap .ftabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;order:2;margin-top:26px}
.feat-wrap .ftabs button{background:none;border:0;padding:0;text-align:left;color:var(--rin-text)}
.feat-wrap .ftabs i{display:block;height:4px;background:rgba(245,245,242,.4);margin-bottom:12px}
.feat-wrap .ftabs button[aria-selected=true] i{background:var(--rin-brass-light)}
.feat-wrap .ftabs button[aria-selected=true]{font-weight:700}
.feat .img-phone{display:flex;justify-content:center;align-items:flex-start;background:linear-gradient(160deg,#2a2317,#0d0c0a)}
.feat .img-phone .phone{width:34%;margin-top:44px}
.feat .info h3{font-size:clamp(24px,2.4vw,34px)}
.feat .info .actions{margin-top:auto;padding-top:24px}
.diff h2{margin-bottom:14px}
.diff>div>p{margin-bottom:26px}
.report-side h3{font-size:24px;margin-bottom:10px}
.report-side .shot{margin-top:20px;height:380px}
.bill-panel .price{margin:14px 0 6px}
.plan-copy .fine{margin:6px 0}
.p-start h2{margin-bottom:14px}
.p-start p{max-width:640px;margin:0 auto 30px}
@media(width<768px){.feat-wrap .ftabs{grid-template-columns:1fr 1fr;gap:16px}.report-side .shot{height:300px}}

/* ---------------- /aojuku ---------------- */
.ao .ao-hd{background:#F5F5F2;color:#061426;height:auto;padding:10px 32px 12px}
.ao .ao-hd .utility a,.ao .ao-hd .main-nav a,.ao .ao-hd .icon-button{color:#061426}
.ao .ao-hd .ao-logo{text-decoration:none}
.ao .ao-hd .ao-logo b{font-size:30px}
.ao .a-intro h1{font-size:clamp(34px,3.6vw,58px);line-height:1.32;margin:22px 0 22px;font-weight:600}
.ao .a-intro p{max-width:520px}
.ao .ao-bundle{margin-top:22px;color:#C9D6E6}
.ao .a-appr h2{font-size:clamp(30px,3.2vw,48px);line-height:1.45}
.a-lesson h2{font-size:clamp(30px,3vw,46px);font-weight:400;margin:0 0 40px}
.lesson-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center}
.lesson-visual{min-height:320px;display:flex;align-items:center;justify-content:center;background:#10283F;border:1px solid rgba(245,245,242,.14)}
.lesson-panel p{font-size:18px;line-height:1.8;color:#F5F5F2}
.lesson-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin-top:40px}
.lesson-tabs button{background:none;border:0;padding:0;text-align:left;color:#F5F5F2}
.lesson-tabs .tab-line{display:block;height:4px;background:rgba(245,245,242,.35);margin-bottom:14px}
.lesson-tabs button[aria-selected=true] .tab-line{background:var(--rin-brass-light)}
.lesson-tabs button[aria-selected=true]{font-weight:700}
.a-steps{padding:112px 0}
.a-steps h2{font-size:clamp(30px,3vw,46px);font-weight:400;margin-bottom:48px}
.tl4{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--rin-border)}
.tl4>div{padding:30px 24px 0 0}
.tl4>div+div{border-left:1px solid var(--rin-border);padding-left:24px}
.tl4 h3{font-size:21px;margin:0 0 8px}
.tl4 p{font-size:15.5px}
.ao .a-inst h2{font-size:clamp(28px,2.8vw,42px);line-height:1.45}
.inst-name{font-size:20px;font-weight:600;margin:18px 0 10px;color:#0A1F38}
.ao .a-inst .nums{grid-template-columns:repeat(3,1fr)}
.ao .a-work{text-align:left}
.ao .a-work h2{margin-bottom:16px}
.ao .a-work p{max-width:760px}
.ao .a-work .phones{justify-content:flex-start}
.plan-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:48px;margin-top:40px;border-top:1px solid var(--rin-border);padding-top:32px}
.plan-main p{margin:0 0 12px;font-size:17px}
.plan-main .yen{font-size:30px}
.plan-side{background:#0A1F38;color:#F5F5F2;padding:30px}
.plan-side .inc{font-size:18px}
.plan-side .fine{color:#AFBBCB;margin:14px 0 22px}
.ao .a-adm h2{font-size:clamp(30px,3.4vw,52px)}
.ao .a-adm .acts{display:flex;flex-direction:column;gap:16px;align-items:flex-start}
.ao .ao-cta p{color:#C9D6E6;max-width:620px;margin:0 auto 30px}
@media(width<900px){.lesson-grid,.plan-grid{grid-template-columns:1fr;gap:28px}.tl4{grid-template-columns:1fr 1fr}.tl4>div:nth-child(3){border-left:0;padding-left:0}}
@media(width<768px){.ao .ao-hd{padding:0 20px}.lesson-tabs{grid-template-columns:1fr;gap:14px}.tl4{grid-template-columns:1fr}.tl4>div+div{border-left:0;padding-left:0;border-top:1px solid var(--rin-border)}.ao .a-inst .nums{grid-template-columns:1fr 1fr 1fr}}
.reduce-motion *{transition:none!important;animation:none!important;scroll-behavior:auto!important}
/* fixes after first render */
.pro-art .phone{top:58%;width:30%;max-width:210px}
.media-tile .tile-copy{padding:22px 20px}
.media-tile .tile-copy h3{font-size:22px;line-height:1.55}
.foot-note .button{display:inline-flex;margin-top:4px}
.foot-note .link{display:block;margin-top:16px}
@media(width<768px){.media-tile .tile-copy h3{font-size:21px}}
.p-intro h1{font-size:clamp(34px,3.5vw,58px);line-height:1.3}
.cmp{table-layout:fixed;font-size:15px}
.cmp th:first-child,.cmp td:first-child{width:40%}
.cmp th:nth-child(2),.cmp td:nth-child(2){width:26%}
.plan-copy h2{font-size:clamp(28px,2.8vw,42px);line-height:1.4}
.ao .a-intro h1{font-size:clamp(30px,3.1vw,50px)}
.ao .plan-side p{color:#F5F5F2}
.ao .plan-side .fine{color:#AFBBCB}
.pro-art .phone{top:63%}
/* images: never let width/height attributes stretch them */
.rin-public img[height]{height:auto}
.phone img{height:auto;display:block}
.fan img{height:auto}
.pro-art .phone{top:66%;width:28%;max-width:200px}
/* hero headings: each registry line stays on one line; size follows the column width */
.hero-lines .ln{display:block;white-space:nowrap}
.board-intro h1.hero-lines{font-size:clamp(28px,min(3.1vw,8.2vw),50px)}
.p-intro h1.hero-lines{font-size:clamp(26px,7.4vw,58px);line-height:1.3}
.ao .a-intro h1.hero-lines{font-size:clamp(26px,7.2vw,50px)}
@media(width>=1200px){.board-intro h1.hero-lines{font-size:min(3.2vw,52px)}.p-intro h1.hero-lines{font-size:min(3.05vw,56px)}.ao .a-intro h1.hero-lines{font-size:min(2.95vw,48px)}}
@media(768px<=width<1200px){.p-intro h1.hero-lines{font-size:min(6.2vw,58px)}.ao .a-intro h1.hero-lines{font-size:min(5.6vw,50px)}}
/* narrow screens: header logo must shrink, plan image must not force width */
@media(width<768px){
  .header-main{gap:10px}
  .wordmark{flex:1 1 auto;min-width:0;font-size:21px;overflow:hidden}
  .wordmark>span{min-width:0;overflow:hidden;text-overflow:ellipsis}
  .wordmark small{font-size:9px;letter-spacing:.16em}
  .wordmark .mark{height:22px}
  .search-trigger{flex:none}
}
@media(width<1200px){.plan-visual>.asset{min-height:0;aspect-ratio:4/3}}
/* 青塾 closing CTA: room above and between */
.ao .ao-cta{padding:112px 0 120px}
.ao .ao-cta h2{margin:0 0 20px;line-height:1.45}
.ao .ao-cta p{margin:0 auto 34px}
@media(width<768px){.ao .ao-cta{padding:80px 0 88px}.ao .ao-cta h2{font-size:30px}}
.board-intro h1.hero-lines{font-size:clamp(22px,8vw,50px)}
@media(width>=1200px){.board-intro h1.hero-lines{font-size:min(3.2vw,52px)}}
/* no single-character orphans in headings */
.rin-public h1,.rin-public h2,.rin-public h3,.rin-public summary{text-wrap:balance}
.rin-public p{text-wrap:pretty}
.board-intro h1.hero-lines{font-size:clamp(20px,7.2vw,50px)}
@media(width>=1200px){.board-intro h1.hero-lines{font-size:min(3.2vw,52px)}}
@media(width<768px){.triptych .asset{min-height:0;width:100%}}
/* footer note button: base footer link rule strips padding */
.footer .footer-top .foot-note a.button{display:inline-flex;align-items:center;min-height:48px;padding:10px 26px;margin-top:6px}
.footer .footer-top .foot-note a.button{min-width:240px;justify-content:center;padding:12px 40px;gap:14px}
@media(width<768px){.footer .footer-top .foot-note a.button{min-width:0;width:100%}}
/* logo mark: keep fixed height (overrides img[height]{height:auto}) */
.rin-public .wordmark img.mark{height:30px;width:auto}
.rin-public .footer-logo img.mark{height:40px;width:auto}
@media(width<768px){.rin-public .wordmark img.mark{height:22px}}
/* logo: never underlined, never clipped */
.rin-public .wordmark,.rin-public .wordmark *,.rin-public .ao-logo,.rin-public .ao-logo *,.rin-public .footer-logo *{text-decoration:none!important}
.rin-public .wordmark:hover span,.rin-public .wordmark:focus-visible span{text-decoration:none}
.rin-public .wordmark>span{display:flex;flex-direction:column;line-height:1.25}
.rin-public .wordmark small{line-height:1.4;margin-top:2px}
@media(width<768px){.rin-public .wordmark{overflow:visible}.rin-public .wordmark>span{overflow:visible}}
/* header/nav/utility links: no permanent underline; brass underline only on hover/focus */
.rin-public .header a,.rin-public .utility a,.rin-public .main-nav a,.rin-public .drawer-links a,.rin-public .mega-links a{text-decoration:none;border-bottom:0}
.rin-public .main-nav a:hover,.rin-public .utility a:hover,.rin-public .main-nav a:focus-visible{text-decoration:underline;text-decoration-color:var(--rin-brass);text-underline-offset:6px}
body[data-copy-mode="release"] .lesson-visual{display:none}
body[data-copy-mode="release"] .lesson-grid{grid-template-columns:1fr}
body[data-copy-mode="release"] .note-cover .cover-missing{display:none}
.footer-top{grid-template-columns:1fr 1fr 1fr 1fr 1.3fr}
@media(width<1200px){.footer-top{grid-template-columns:1fr 1fr}}

/* ===== 2026-09-15 note見出し画像(記事のog:image) ===== 文字が切れないよう contain */
.rin-public .note-cover.has-image{display:block;align-self:center;width:100%;height:auto;min-height:0;aspect-ratio:1280/670;background:#F5F5F2;overflow:hidden}
.rin-public .note-cover.has-image img{display:block;width:100%;height:auto;aspect-ratio:1280/670;object-fit:contain}
.rin-public .board-pro .pro-bottom .button.secondary{margin-left:12px}
@media(width<520px){.rin-public .board-pro .pro-bottom .button.secondary{margin:10px 0 0}}

/* 2026-09-15 申込ボタン近くの無料期間の条件(1行) */
.rin-public .cta-trial-note{margin:10px 0 0;font-size:13px;line-height:1.7;opacity:.8}
