/* Shared visual rhythm: quiet surfaces, clear hierarchy, consistent spacing. */
:root{--card-radius:8px;--copy-leading:1.75}
.cta-message::before,.cta-message::after{content:none}
.cta-message{line-height:1.5;letter-spacing:.015em}
.cta-message p:first-child{font-weight:700}
.cta-message p:last-child{font-weight:500}
.cta-button,.button-link{box-shadow:none}
.cta-button:hover,.button-link:hover{box-shadow:none;background:#f3f7fc}
.cta-button:focus-visible,.button-link:focus-visible{outline:3px solid #168bd3;outline-offset:4px}
.director{box-shadow:none}
.director>div:nth-child(3){line-height:var(--copy-leading);font-weight:400}
.director>div:nth-child(3)>p{line-height:inherit;font-weight:inherit}
.roadmap-card{border-radius:0}
.roadmap-card>.flow-copy:nth-child(5){line-height:var(--copy-leading)}
.course div[data-name^="POINT"],.parents>.n730-2624>div{border-radius:var(--card-radius);box-shadow:none}
.course div[data-name^="POINT"]>p,.parents>.n730-2624>div>p{line-height:var(--copy-leading);font-weight:400}
.course>div[data-name="講師紹介 / 元資料の経歴"]{line-height:var(--copy-leading)}
.tuition>p,.comparison>p{line-height:var(--copy-leading)}
.comparison-table{font-variant-numeric:tabular-nums}
@media(min-width:1024px){
 .pc-coach .n636-1255,.pc-coach .n636-1280{border-radius:var(--card-radius)}
 .pc-coach .n802-1246,.pc-coach .n636-1288{line-height:1.65}
 .pc-coach .n636-1254{align-items:stretch}
 .roadmap-card{padding:40px;min-height:360px}
 .roadmap-card>.flow-copy:nth-child(4){line-height:1.45}
 .director>div:nth-child(3){font-size:13px}
 .cta-band>.cta{padding-block:56px}
 .fees>.tuition,.fees>.comparison{border-radius:var(--card-radius)}
 .curriculum-intro{gap:20px;padding-block:64px}
}
@media(max-width:767px){
 .mobile-fixed-cta{background:linear-gradient(to bottom,rgba(255,255,255,0),rgba(255,255,255,.98) 22px,#fff 100%)}
 .mobile-fixed-cta .cta-message{text-shadow:none;font-size:14px;line-height:1.5}
 .mobile-fixed-cta .cta-button{box-shadow:none;font-size:clamp(19px,5.65vw,22px)}
 .cta-band .cta{padding-block:40px}
 .director>div:nth-child(3){font-size:13px}
}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}
 .cta-button,.button-link{transition:none}
}
.cta-button>span:first-child{flex:1;text-align:center}
.pc-coach .n636-1281{text-wrap:balance}
.pc-coach .n636-1288,.parents>.n730-2624>div>p{text-wrap:pretty}
@media(min-width:1024px){
 .hero .n635-1239,.hero .n635-1240{font-size:20px;letter-spacing:2px}
}
/* Desktop support reads as two editorial columns rather than nested cards. */
@media(min-width:1024px){
 .pc-coach .n636-1254{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;align-items:start}
 .pc-coach .n636-1255,.pc-coach .n636-1280{
  width:100%;min-width:0;height:auto;min-height:0;
  padding:0;border:0;border-radius:0;background:transparent;gap:24px;
 }
 .pc-coach .n636-1258{padding:0;background:transparent;gap:12px;border-radius:0}
 .pc-coach .n636-1260{line-height:1.65}
 .pc-coach .n636-1260 p{line-height:inherit}
 .pc-coach .n636-1261{margin-top:8px}
 .pc-coach .n636-1262{gap:24px}
 .pc-coach .n636-1263,.pc-coach .n636-1272{padding:28px 20px;gap:16px;border-radius:8px}
 .pc-coach .n636-1281{line-height:1.45}
 .pc-coach .n802-1247{gap:16px}
}
/* Participation message sits directly on the navy section. */
.why .n800-4223,.why .n822-1290{background:transparent}
.why .n800-4224,.why .n822-1291{color:#fff}
/* Comfortable long-form reading on navy, with restrained emphasis. */
.why .n800-4223,.why .n822-1290{padding:0;border-radius:0}
.why .n800-4224,.why .n822-1291{font-size:16px;line-height:1.85;letter-spacing:.015em;white-space:normal}
.why .n800-4224 p,.why .n822-1291 p,
.why .n800-4224 span,.why .n822-1291 span{font-size:inherit;line-height:inherit}
.why .n800-4224 .message-emphasis,.why .n822-1291 .message-emphasis{font-size:1.1em;font-weight:700}
.why .message-paragraph-space{height:24px;font-size:0!important;line-height:0!important}
.why .message-letter{padding-top:24px}
.coach>.n730-2217,.coach>.n730-2218,.coach>.n730-2249{line-height:1.75}
.refund .n730-2308,.pc-value .n636-1335{line-height:1.65}
@media(min-width:1024px){
 .why .n822-1291{font-size:17px;line-height:1.85}
 .pc-why .n635-1269{gap:36px}
 .pc-coach .n802-1246,.pc-coach .n636-1288{line-height:1.75}
}
/* Page-wide editorial system: body, notes, headings and spacing. */
main .reading-copy{font-size:15px;line-height:1.8;letter-spacing:.015em;font-weight:400;text-wrap:pretty}
main .reading-copy p,main .reading-copy span{font-size:inherit;line-height:inherit}
main .reading-note{font-size:12px;line-height:1.75;letter-spacing:.01em;text-wrap:pretty}
main .reading-note p,main .reading-note span{font-size:inherit;line-height:inherit}
.renewal .reading-copy{max-width:760px;line-height:1.85}
.board>.n730-2062{line-height:1.8;font-weight:400}
.board .directors{gap:1px}
.board .director>div:nth-child(3),.board .director>div:nth-child(3)>p{line-height:1.85;font-weight:400}
.photo-section>div[data-name="文章"]{gap:24px}
.photo-section>div[data-name="文章"]>.reading-copy{max-width:900px}
.course div[data-name^="POINT"]{padding:24px;gap:14px}
.course div[data-name^="POINT"]>div{gap:14px;align-items:baseline}
.course div[data-name^="POINT"]>p{margin:0}
.course>div[data-name="講師紹介 / 元資料の経歴"]{padding-block:32px}
.course div[data-name="講師プロフィール"]{gap:12px}
.parents>.n730-2624>div{padding:24px;gap:20px}
.tuition,.comparison{gap:28px}
.comparison-table th,.comparison-table td{line-height:1.6;vertical-align:middle}
.next-step .reading-copy{max-width:760px;margin-inline:auto}
@media(min-width:1024px){
 main .reading-copy{font-size:17px;line-height:1.8}
 main .reading-note{font-size:13px;line-height:1.8}
 .renewal{padding-block:72px}
 .board>.n730-2062{max-width:960px}
 .board .directors{gap:24px}
 .board .director{padding:24px}
 .board .director>div:nth-child(3){font-size:14px}
 .board .members>.member{padding:24px 16px}
 .roadmap-intro{padding-block:64px;gap:24px}
 .roadmap-card{padding:40px}
 .roadmap-card>.reading-copy{font-size:16px;line-height:1.8}
 .photo-section>div[data-name="文章"]{padding-block:40px 48px}
 .course div[data-name^="POINT"]{padding:28px;gap:16px}
 .parents>.n730-2624{gap:24px}
 .parents>.n730-2624>div{padding:28px}
 .parents .reading-copy{font-size:16px}
 .next-step>div[data-name="文章"]{padding-bottom:32px}
}
@media(max-width:767px){
 .renewal{padding-top:40px;padding-bottom:48px}
 .board>.n730-2062{margin-block:24px 32px}
 .board>.n730-2719{display:none}
 .board .director{padding:24px 20px;gap:16px}
 .board .members>.member{padding-block:20px}
 .board .director>div:nth-child(3){font-size:13px}
 .roadmap-intro{padding:40px 24px;gap:24px}
 .roadmap-intro .n730-2180{width:100%;max-width:100%;margin-left:0}
 .roadmap-card>.reading-copy{font-size:14px;line-height:1.8}
 .roadmap-row:nth-child(3) .roadmap-photo{height:100%;top:0}
 .coach{padding-block:40px}
 .coach>.n730-2249{max-width:none}
 .photo-section>div[data-name="文章"]{padding-block:28px 32px}
 .curriculum-intro{padding-block:40px;gap:20px}
 .tuition,.comparison{padding-block:40px}
 .parents>.n730-2624{gap:16px;padding-bottom:40px}
}
@media(max-width:374px){
 .course div[data-name^="POINT"],.parents>.n730-2624>div{padding:20px}
 .roadmap-card>.reading-copy{font-size:13px}
 .board .director{padding:20px 16px}
}
/* Restrained product-page direction: neutral surfaces and clear typography. */
:root{--reading-ink:#273449;--quiet-surface:#f5f6f8}
.renewal h2,.roadmap h2,.coach h2,.pc-coach .n636-1281,
.photo-section h2,.curriculum-intro h2,.course h2,.tuition h2,.comparison h2{
 font-family:"Noto Sans JP",sans-serif;font-weight:700;letter-spacing:-.035em;line-height:1.4;
}
.renewal h2 span,.roadmap h2 span,.coach h2 span,
.photo-section h2 span,.course h2 span{line-height:inherit}
.renewal .reading-copy,.board>.reading-copy,.roadmap .reading-copy,
.coach>.reading-copy,.pc-coach .reading-copy,.course .reading-copy,
.parents .reading-copy,.tuition .reading-copy,.comparison .reading-copy{color:var(--reading-ink)}
.roadmap,.roadmap-intro,.parents,.fees{background:var(--quiet-surface)}
.course div[data-name^="POINT"],.pc-coach .n636-1263,.pc-coach .n636-1272{background:var(--quiet-surface);border-radius:16px}
.parents>.n730-2624>div{border-radius:16px}
.course>div[data-name="講師紹介 / 元資料の経歴"]{background:var(--quiet-surface)}
.renewal .n730-2027 span{font-size:inherit}
.renewal .n730-2027 span:nth-child(odd){font-weight:700}
@media(min-width:1024px){
 .renewal{padding-block:96px}
 .renewal h2{font-size:48px!important}
 .renewal .reading-copy{font-size:20px;max-width:800px}
 .pc-coach{padding-block:96px}
 .curriculum-intro{padding-block:80px}
 .curriculum-intro h2{font-size:44px}
 .photo-section>div[data-name="文章"]{padding-block:48px 56px}
 .photo-section>div[data-name="文章"]>h2{font-size:40px}
 .fees{padding-block:64px;gap:32px}
 .fees>.tuition,.fees>.comparison{background:white;padding:40px 32px;border-radius:16px}
 .parents>.n730-2624{padding-bottom:80px}
 .board{padding-bottom:80px}
}
@media(max-width:767px){
 .renewal{padding-block:48px}
 .renewal h2{font-size:32px!important;line-height:1.45}
 .curriculum-intro{padding-block:48px}
 .curriculum-intro h2{font-size:28px;line-height:1.45}
 .photo-section>div[data-name="文章"]>h2{font-size:28px;line-height:1.45;letter-spacing:-.03em}
 .course h2{font-size:26px;line-height:1.45}
 .tuition,.comparison{background:var(--quiet-surface)}
 .parents>.n730-2624{padding-bottom:48px}
}
.roadmap-card>.flow-copy:nth-child(4),.coach>.n730-2241,.why h2{
 font-family:"Noto Sans JP",sans-serif;font-weight:700;line-height:1.45;letter-spacing:-.035em;
}
@media(max-width:767px){
 .roadmap-intro .n730-2179>.heading-line:last-child{font-size:clamp(24px,7.5vw,32px);letter-spacing:-.035em}
 .curriculum-intro h2{font-size:clamp(18px,5.35vw,26px);white-space:nowrap;letter-spacing:-.035em}
 .next-step>div[data-name="文章"]>h2{font-size:clamp(19px,6vw,24px);letter-spacing:-.035em}
 .coach>.n730-2241{font-size:24px}
}
.value .n730-2304{border:0}
.refund .n730-2307{outline:0;border:0;border-top:1px solid rgba(255,255,255,.4);border-radius:0;padding:24px 0 0}
.pc-value .n636-1334{border:0;border-top:1px solid rgba(255,255,255,.4);border-radius:0;padding:24px 0 0}
.value .n730-2295,.pc-value .n636-1322{line-height:1.75;font-weight:400}
@media(min-width:1024px){
 .renewal>.flow-copy{max-width:800px}
 .photo-section>div[data-name="文章"]{max-width:1248px;margin-inline:auto}
 .photo-section>div[data-name="文章"]>.reading-copy{margin-left:0;margin-right:auto}
 .next-step>div[data-name="文章"]>.reading-copy{margin-inline:auto}
}

/* Keep the three curriculum introduction lines at one readable size. */
.roadmap-card .roadmap-extra:is(.n730-2193,.n730-2748,.n730-2749){font-size:14px;line-height:1.6;height:auto;white-space:normal}
@media(max-width:374px){
 .roadmap-card .roadmap-extra:is(.n730-2193,.n730-2748,.n730-2749){font-size:12px}
}

/* Director biographies share their parent's type size and leading. */
.board .director>div:nth-child(3)>p{font-size:inherit;line-height:inherit;letter-spacing:inherit;margin-block:0}

@media(min-width:1024px){
 .pc-why .n635-1261{gap:19px}
 .pc-why .n635-1268,.pc-why .n635-1267{width:414px;padding-left:0;margin-top:0}
}

/* Compact phone booking bar, with safe-area clearance retained. */
@media(max-width:767px){
 .mobile-fixed-cta{padding-top:12px;padding-bottom:calc(12px + env(safe-area-inset-bottom,0px));gap:10px}
 .mobile-fixed-cta .cta-message{font-size:13px;line-height:1.45;margin:0 auto}
 .mobile-fixed-cta .cta-button{min-height:52px;font-size:20px;margin-top:0}
}

@media(max-width:767px) and (orientation:portrait){
 .hero-art .n730-2684,.hero-art .n730-2687,.hero-art .n730-2690{translate:0 -18px}
 .mobile-fixed-cta .cta-button{margin-top:8px}
}
@media(max-width:767px) and (orientation:portrait){
 .hero-art .n730-2690{translate:0 -30px}
}
@media(max-width:767px) and (orientation:portrait){
 .hero-art .n730-2707,.hero-art .n730-2708{translate:0 -18px}
}

/* A contained translucent booking panel avoids the white gradient seam. */
@media(max-width:767px){
 .mobile-fixed-cta{
  inset:auto 12px 8px;width:calc(100% - 24px);padding:12px 14px calc(12px + env(safe-area-inset-bottom,0px));
  border:1px solid rgba(255,255,255,.7);border-radius:20px;
  background:rgba(255,255,255,.94);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:none;
 }
 .mobile-fixed-cta .cta-message{font-size:12px;line-height:1.5}
 .mobile-fixed-cta .cta-message p:first-child{font-weight:700}
 .mobile-fixed-cta .cta-message p:last-child{font-weight:400}
 .mobile-fixed-cta .cta-button{margin-top:10px;min-height:48px;font-size:19px;border-radius:24px;background:white}
}

/* Improve phone CTA readability without enlarging the panel padding. */
@media(max-width:767px){
 .mobile-fixed-cta .cta-message{font-size:14px;line-height:1.5}
 .mobile-fixed-cta .cta-button{font-size:20px}
}

.members img.shiina-updated{inset:0;width:100%;height:100%;object-fit:cover;transform:none}
.tuition-extra{display:flex;flex-direction:column;gap:20px;width:100%}
.tuition-extra h3{font-size:18px;line-height:1.6;margin:0}
.tuition-extra p{margin:0}
.comparison-table small{display:block;font-size:12px;line-height:1.6;margin-top:4px}

/* Separate the fund total from the contribution explanation above it. */
.value .n730-2299,.value .n730-2300,.value .n730-2301,.value .n730-2302,
.pc-value .n636-1326,.pc-value .n636-1327,.pc-value .n636-1328,.pc-value .n636-1329{translate:0 12px}
