/* 青塾 brand layer — load after rin-v3.css, body class="rin-public ao" */

/* 青塾 — separate brand: deep navy + warm white, brass only as a thin accent */
body.ao{--ao-deep:#061426;--ao:#0A1F38;--ao-2:#10283F;--ao-line:rgba(245,245,242,.18);--ao-mute:#AFBBCB;
 --rin-bg:#061426;--rin-surface:#0A1F38;--rin-surface-raised:#10283F;--rin-text:#F5F5F2;--rin-text-muted:#AFBBCB;--rin-border:rgba(245,245,242,.18);background:#061426}
body.ao .paper{background:#F5F5F2;color:#061426;--rin-text:#061426;--rin-text-muted:rgba(6,20,38,.68);--rin-border:rgba(6,20,38,.16)}
.ao .wrap{width:min(86vw,1280px);margin:0 auto}
.ao .lbl{font-size:13px;letter-spacing:.2em;color:var(--rin-brass-light)}
.ao .paper .lbl{color:#8E6326}
.ao .btn-ao{display:inline-flex;align-items:center;gap:14px;min-height:52px;padding:10px 26px;background:#F5F5F2;color:#061426;font-weight:600;font-size:15px;border:1px solid #F5F5F2}
.ao .paper .btn-ao{background:#061426;color:#F5F5F2;border-color:#061426}
.ao .btn-line{display:inline-flex;align-items:center;gap:12px;min-height:52px;padding:10px 24px;border:1px solid currentColor;font-size:15px}

/* header (warm white, 青塾 logotype + 英語のりん endorsement) */
.ao-hd{background:#F5F5F2;color:#061426;border-bottom:1px solid rgba(6,20,38,.12)}
.ao-hd .row{display:flex;align-items:center;gap:40px;height:96px}
.ao-logo{color:#0A1F38;line-height:1;white-space:nowrap}
.ao-logo small{display:block;font-size:10px;letter-spacing:.36em;margin-bottom:6px}
.ao-logo b{display:block;font-size:32px;font-weight:700;letter-spacing:.14em}
.ao-hd nav{display:flex;gap:30px;font-size:14.5px;margin-left:12px}
.ao-hd .end{margin-left:auto;display:flex;align-items:center;gap:22px;font-size:14px}
.endorse{display:inline-flex;align-items:center;gap:9px;padding-left:22px;border-left:1px solid rgba(6,20,38,.2);font-size:13px;white-space:nowrap}
.endorse img{height:18px}
.ao-hd .icon-button{color:#061426;display:none}
@media(width<1200px){.ao-hd nav{display:none}.ao-hd .icon-button{display:grid}.ao-hd .row{gap:16px}}
@media(width<768px){.ao-hd .row{height:72px}.ao-logo b{font-size:24px}.ao-hd .end .app{display:none}.endorse{padding-left:0;border:0}.endorse span{display:none}}

/* A01 intro */
.a-intro{background:linear-gradient(115deg,#061426 0%,#0A1F38 70%,#10283F 100%)}
.a-intro .grid{display:grid;grid-template-columns:45fr 55fr;gap:64px;align-items:center;min-height:680px;padding:72px 0}
.ao a{text-decoration:none}
.a-intro h1{font-size:clamp(34px,3.6vw,58px);line-height:1.28;font-weight:600;margin:26px 0 24px;letter-spacing:-.02em}
.a-intro p{font-size:18px;color:var(--ao-mute);max-width:460px}
.a-intro .acts{display:flex;gap:26px;align-items:center;margin-top:40px;flex-wrap:wrap}
.a-intro .acts a.t{border-bottom:1px solid currentColor;font-size:15px}
.fan{position:relative;height:560px;margin:30px 30px 0 0}
.fan:before{content:"";position:absolute;right:-30px;top:-30px;width:42%;height:52%;background:var(--rin-brass)}
.fan .bg{position:absolute;inset:0;background:#0F2640}
.fan img{position:absolute;background:#fff;box-shadow:0 30px 60px rgba(0,0,0,.45)}
.fan .i1{width:44%;left:7%;top:12%;transform:rotate(-5deg)}
.fan .i2{width:40%;left:44%;top:6%;transform:rotate(3deg)}
.fan .i3{width:34%;left:30%;top:40%;transform:rotate(-1deg)}
@media(width<1000px){.a-intro .grid{grid-template-columns:1fr;gap:40px;min-height:0;padding:56px 0}.fan{height:420px}}
@media(width<768px){.fan{height:320px;margin:18px 18px 0 0}.fan:before{right:-18px;top:-18px}}

/* A02 approach — vertical editorial list */
.a-appr{padding:120px 0}
.a-appr .grid{display:grid;grid-template-columns:38fr 62fr;gap:64px}
.a-appr h2{font-size:clamp(32px,3.4vw,52px);line-height:1.4;font-weight:400;margin-top:22px}
.a-appr ol{list-style:none;margin:0;padding:0}
.a-appr li{display:grid;grid-template-columns:120px 1fr;gap:24px;padding:36px 0;border-top:1px solid var(--rin-border)}
.a-appr li:last-child{border-bottom:1px solid var(--rin-border)}
.a-appr li b{font-size:64px;font-weight:300;line-height:1;color:#0A1F38}
.a-appr li h3{font-size:28px;font-weight:600}
.a-appr li p{margin-top:8px;font-size:17px;color:var(--rin-text-muted)}
@media(width<900px){.a-appr{padding:64px 0}.a-appr .grid{grid-template-columns:1fr;gap:28px}.a-appr li{grid-template-columns:72px 1fr}.a-appr li b{font-size:44px}}

/* A04 process — timeline */
.a-proc{background:#0A1F38;padding:104px 0}
.a-proc h2{font-size:clamp(30px,3vw,46px);font-weight:400;margin:20px 0 56px}
.tl{display:grid;grid-template-columns:repeat(4,1fr);position:relative}
.tl:before{content:"";position:absolute;left:0;right:0;top:7px;height:1px;background:var(--ao-line)}
.tl div{position:relative;padding:34px 24px 0 0}
.tl div:before{content:"";position:absolute;left:0;top:0;width:15px;height:15px;border-radius:50%;background:#0A1F38;border:1px solid #F5F5F2}
.tl div:first-child:before{background:var(--rin-brass);border-color:var(--rin-brass)}
.tl h3{font-size:22px;font-weight:600}
.tl p{margin-top:8px;font-size:15px;color:var(--ao-mute)}
@media(width<768px){.a-proc{padding:64px 0}.tl{grid-template-columns:1fr 1fr;gap:28px 16px}.tl:before{display:none}}

/* A05 instructor */
.a-inst{padding:120px 0}
.a-inst .grid{display:grid;grid-template-columns:40fr 60fr;gap:72px;align-items:center}
.photo-nv{position:relative;margin:0 0 30px 30px}
.photo-nv:before{content:"";position:absolute;left:-30px;bottom:-30px;width:56%;height:52%;background:#0A1F38}
.photo-nv img{position:relative;width:100%;aspect-ratio:3/4;object-fit:cover;object-position:top}
.a-inst h2{font-size:clamp(30px,3.2vw,48px);font-weight:400;margin:20px 0 10px}
.a-inst .nums{display:grid;grid-template-columns:repeat(4,1fr);margin-top:40px;border-top:1px solid var(--rin-border)}
.a-inst .nums div{padding:24px 14px 0 0}
.a-inst .nums div+div{border-left:1px solid var(--rin-border);padding-left:18px}
.a-inst .nums b{display:block;font-size:clamp(34px,3.4vw,52px);font-weight:300;line-height:1;color:#0A1F38;white-space:nowrap}
.a-inst .nums span{display:block;margin-top:10px;font-size:13px;color:var(--rin-text-muted)}
@media(width<900px){.a-inst{padding:64px 0}.a-inst .grid{grid-template-columns:1fr;gap:48px}.a-inst .nums{grid-template-columns:1fr 1fr;gap:18px 0}.a-inst .nums div:nth-child(3){border-left:0;padding-left:0}}

/* A06 workspace */
.a-work{background:#061426;padding:112px 0;text-align:center;overflow:hidden}
.a-work h2{font-size:clamp(30px,3.2vw,48px);font-weight:400;margin:20px 0 14px}
.a-work p{color:var(--ao-mute)}
.a-work .phones{display:flex;justify-content:center;gap:28px;margin-top:56px;height:380px;align-items:flex-start}
.a-work .phone{width:210px;border-bottom:0}
.a-work .phone:nth-child(2){transform:translateY(-30px)}
@media(width<768px){.a-work{padding:64px 0}.a-work .phones{height:260px;gap:12px}.a-work .phone{width:30%;border-width:4px;border-radius:16px}}

/* A07 plans — editorial rows */
.a-plans{padding:120px 0}
.a-plans h2{font-size:clamp(32px,3.4vw,52px);font-weight:400;margin:20px 0 48px}
.prow{display:grid;grid-template-columns:1.1fr .9fr 1.4fr;gap:32px;padding:34px 0;border-top:1px solid var(--rin-border);align-items:start}
.prow:last-of-type{border-bottom:1px solid var(--rin-border)}
.prow h3{font-size:26px;font-weight:600}
.prow .en{font-size:12px;letter-spacing:.22em;color:#8E6326;display:block;margin-bottom:8px}
.prow .yen{font-size:34px;line-height:1.2}
.prow .yen small{font-size:14px;color:var(--rin-text-muted);margin-left:4px}
.prow ul{list-style:none;margin:0;padding:0}
.prow li{padding:4px 0;font-size:16px}
.prow.feat{background:#0A1F38;color:#F5F5F2;padding:34px 32px;margin:0 -32px;border:0}
.prow.feat .yen small{color:var(--ao-mute)}
@media(width<900px){.a-plans{padding:64px 0}.prow{grid-template-columns:1fr;gap:12px}.prow.feat{margin:0 -20px;padding:28px 20px}}

/* A08 admissions */
.a-adm{background:linear-gradient(120deg,#0A1F38,#061426);padding:112px 0}
.a-adm .grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:end}
.a-adm h2{font-size:clamp(34px,4vw,60px);font-weight:400;line-height:1.3;margin-top:20px}
.a-adm ol{list-style:none;margin:0;padding:0;counter-reset:s}
.a-adm li{counter-increment:s;display:flex;gap:18px;padding:18px 0;border-top:1px solid var(--ao-line);font-size:18px}
.a-adm li:before{content:"0" counter(s);color:var(--rin-brass-light);min-width:34px}
.a-adm .acts{margin-top:34px}
@media(width<900px){.a-adm{padding:64px 0}.a-adm .grid{grid-template-columns:1fr;gap:34px}}

/* A09 faq */
.a-faq{padding:104px 0}
.a-faq h2{font-size:34px;font-weight:400;margin-bottom:26px}
.a-faq details{border-top:1px solid var(--rin-border)}
.a-faq details:last-of-type{border-bottom:1px solid var(--rin-border)}
.a-faq summary{list-style:none;display:flex;justify-content:space-between;gap:24px;padding:24px 0;font-size:19px;cursor:pointer}
.a-faq summary::-webkit-details-marker{display:none}
.a-faq summary:after{content:"＋";color:#0A1F38}
.a-faq details[open] summary:after{content:"−"}
.a-faq details p{padding:0 0 24px;color:var(--rin-text-muted);max-width:860px}

/* footer */
.ao-ft{background:#040E1C;padding:80px 0 56px}
.ao-ft .top{display:flex;justify-content:space-between;gap:40px;flex-wrap:wrap;align-items:flex-end}
.ao-ft .ao-logo{color:#F5F5F2}
.ao-ft .ao-logo b{font-size:52px}
.ao-ft .cols{display:flex;gap:64px;flex-wrap:wrap;font-size:14.5px}
.ao-ft .cols a{display:block;padding:5px 0;color:#D5DCE6}
.ao-ft .cols h3{font-size:14px;font-weight:600;margin-bottom:10px}
.ao-ft .bot{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-top:56px;padding-top:24px;border-top:1px solid var(--ao-line);font-size:13px;color:var(--ao-mute);align-items:center}
.ao-ft .by{display:inline-flex;align-items:center;gap:10px;color:#F5F5F2}
.ao-ft .by img{height:22px}

/* 受講生の実績 */
.a-res{background:linear-gradient(120deg,#061426,#0A1F38);padding:112px 0}
.a-res-head{display:flex;align-items:baseline;gap:28px;margin-bottom:48px}
.a-res-head .lbl{display:none}
.a-res h2{font-size:clamp(32px,3.4vw,52px);font-weight:400}
.a-res .ao-res{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(245,245,242,.2)}
.a-res .ao-res li{padding:32px 28px 30px 0;border-bottom:1px solid rgba(245,245,242,.14)}
.a-res .ao-res li:not(:nth-child(3n+1)){padding-left:28px;border-left:1px solid rgba(245,245,242,.14)}
.a-res .ao-res b{display:block;font-size:clamp(44px,4.6vw,72px);font-weight:300;line-height:1;color:#F5F5F2;white-space:nowrap}
.a-res .ao-res b small{font-size:.4em;margin-left:4px}
.a-res .ao-res span{display:block;margin-top:14px;font-size:16px;color:#BFCADA}
.a-emp{display:grid;grid-template-columns:200px 1fr;gap:32px;margin-top:56px;align-items:start}
.a-emp .lbl{margin-top:6px}
.a-emp .ao-emp{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:0}
.a-emp .ao-emp li{font-size:18px;line-height:1.5;padding:18px 18px 18px 0;border-top:1px solid rgba(245,245,242,.14);color:#F5F5F2}
.a-res-note{margin-top:30px;font-size:13px;color:#AFBBCB}
.ao .a-work.paper{background:#F5F5F2;color:#061426}
.ao .a-work.paper p{color:rgba(6,20,38,.68)}
@media(width<1000px){.a-emp{grid-template-columns:1fr;gap:12px}.a-emp .ao-emp{grid-template-columns:1fr 1fr}}
@media(width<768px){.a-res{padding:64px 0}.a-res .ao-res{grid-template-columns:1fr 1fr}.a-res .ao-res li,.a-res .ao-res li:not(:nth-child(3n+1)){padding:24px 12px 22px 0;border-left:0}.a-res .ao-res b{font-size:40px}.a-emp .ao-emp{grid-template-columns:1fr}}
.a-res .ao-res{gap:0}
.a-res .ao-res li:nth-child(3n+1){border-left:0;padding-left:0}
.a-emp .ao-emp{grid-template-columns:repeat(3,1fr)}
.a-emp .ao-emp li,.a-emp .ao-emp li:first-child{border-left:0;padding-left:0}
