/* PC 1440px / 自立から学びへZ_0928.
   The desktop and phone compositions have distinct hierarchies in the source.
   Body text remains HTML; only display lettering is exported. */
.pc-composition,.pc-hero{display:none}
.hero-title-art picture,.hero-title-art picture img{display:block;width:100%;height:auto}
@media(min-width:1024px){
 .hero{padding:0;background:#00114c}
 .hero-scale{width:1440px;max-width:none;height:820px!important;zoom:var(--pc-scale,1)}
 .hero-frame{width:1440px;height:820px;overflow:hidden}
 .hero-frame>.hero-art{display:none}
 .pc-hero{display:block;position:absolute;inset:0;width:1440px;height:820px;overflow:hidden}
 .pc-hero .n635-1223{z-index:1}
 .hero-copy{inset:0;width:1440px;max-width:none;display:block;z-index:2}
 .hero-title-art{position:absolute;left:416.576px;top:426px;width:627.693px;height:220.88px;aspect-ratio:auto;filter:none;text-shadow:none}
 .hero-copy>.cta{position:absolute;left:537.94px;top:663.98px;width:383.878px;margin:0;padding:0;font-size:17.959px;line-height:1.3;color:white}
 .hero-copy .cta-button{min-height:67.347px;margin-top:20px;font-size:25px;padding-inline:22px}
 .why,.coach,.value{display:block;width:100%;max-width:none;padding:0;margin:0;overflow:hidden}
 .why{background:#00114c}.coach{background:white}.value{background:#045fce}
 .mobile-composition{display:none!important}
 .pc-composition{display:flex;width:1440px;height:auto;margin-inline:auto;zoom:var(--pc-scale,1)}
 .pc-section-title{height:90px;width:1200px;display:flex;align-items:flex-start;justify-content:flex-end;padding-top:17.6px;font-size:0;line-height:0}
 .pc-section-title img{width:auto;height:68.4px;margin-right:3.5px;object-fit:contain}
 /* Give the message and credentials their natural height, without source clipping. */
 .pc-why .n635-1260{overflow:visible;align-items:center}
 .pc-why .n635-1269{overflow:visible}
 .pc-why .n635-1263{width:100%;min-width:0}
 .pc-why .n635-1261{height:auto;overflow:visible;gap:16px}
 .pc-why .n635-1264{height:566px;overflow:hidden}
 .pc-why .n635-1267,.pc-why .n826-1246,.pc-why .n635-1268{padding-left:16px}
 .pc-why .n635-1267{margin-top:8px}
 /* Equal cards with intrinsic text flow, retaining the source's 580px columns. */
 .pc-coach .n636-1254{overflow:visible;align-items:stretch}
 .pc-coach .n636-1255,.pc-coach .n636-1280{height:auto;min-height:661.25px;overflow:visible}
 .pc-coach .n636-1258{overflow:visible}
 .pc-coach .n636-1259,.pc-coach .n636-1260{width:100%}
 .pc-coach .n636-1262{align-items:stretch;overflow:visible}
 .pc-coach .n636-1263,.pc-coach .n636-1272{min-width:0;overflow:visible;padding-inline:14px}
 .pc-coach .n636-1270,.pc-coach .n636-1271,.pc-coach .n636-1278,.pc-coach .n636-1279{width:100%}
 .pc-coach .n636-1281,.pc-coach .n636-1288{width:100%;min-width:0}
 .pc-coach .n636-1282,.pc-coach .n636-1283{width:100%;height:auto;aspect-ratio:16/9}
 .pc-coach .n636-1283{position:relative}
 .pc-coach .n802-1248{min-width:0}
 /* Three aligned VALUE panels. Notes in the refund card grow in normal flow. */
 .pc-value .n636-1290{height:auto;overflow:visible;align-items:stretch}
 .pc-value .n636-1332{display:flex;flex-direction:column;gap:20px;padding:33.85px 24.615px;height:auto;min-height:620px;overflow:visible}
 .pc-value .n636-1332> *{position:relative;inset:auto;transform:none;width:100%;flex-shrink:0}
 .pc-value .n636-1333{margin-bottom:8px}
 .pc-value .n636-1334{overflow:visible}
 .pc-value .n636-1335{width:100%}
 .pc-value .n759-1270{order:2}
 .pc-value .n636-1336{order:3;margin-top:-8px}
 .pc-value .n636-1291,.pc-value .n636-1320{height:auto;min-height:620px}
 /* The fee comparison is one pair, with matching outer surfaces and heights. */
 .fees{align-items:stretch}
 .fees>.tuition,.fees>.comparison{height:auto;align-self:stretch;background:#e6edf7}
 .parents>.n730-2624{grid-auto-rows:1fr;align-items:stretch}
 .parents>.n730-2624>div{height:100%;align-self:stretch}
 .parents .n730-2633 p{display:inline}
}
@media(min-width:1024px){
 .pc-section-title{flex-direction:row}
 .pc-value .n827-1246{background:transparent;color:#f3f4f8;border-color:#f3f4f8}
}
/* FV follows the browser's visible viewport; photography preserves its ratio. */
.pc-header{display:none}
@media(min-width:1024px){
 .hero-scale{width:100%;max-width:none;height:var(--browser-height,100dvh)!important;zoom:1}
 .hero-frame{width:100%;height:100%}
 .pc-hero{left:50%;right:auto;transform:translateX(-50%) scale(var(--pc-art-scale,1));transform-origin:top center}
 .pc-header{display:flex;position:absolute;left:0;top:0;width:100%;z-index:3;padding-left:clamp(24px,4.444vw,64px)}
 .hero-copy{width:100%;height:100%}
 .hero-title-art{left:50%;top:auto;bottom:var(--pc-copy-bottom,176px);transform:translateX(-50%) scale(var(--pc-title-scale,1));transform-origin:bottom center}
 .hero-copy>.cta{left:50%;top:auto;bottom:var(--cta-browser-space,3dvh);transform:translateX(-50%) scale(var(--pc-copy-scale,1));transform-origin:bottom center}
}
@media(max-width:767px){
 .mobile-fixed-cta{padding-top:var(--cta-browser-space,3dvh);padding-bottom:calc(var(--cta-browser-space,3dvh) + env(safe-area-inset-bottom,0px))}
}

@media(min-width:1024px){
 .hero-title-art{width:941.54px;height:331.32px}
 .hero-copy>.cta{bottom:var(--pc-cta-bottom,6dvh)}
}
@media(min-width:1024px){
 .cta-band>.cta{padding-block:56px}
 .cta-band .cta-message{max-width:440px;font-size:20px;line-height:1.5}
 .cta-band .cta-message::before{left:4%}
 .cta-band .cta-message::after{right:4%}
 .cta-band .cta-message::before,.cta-band .cta-message::after{top:10px;height:40px}
}
