/* Generative AI program. Shared navigation and footer use the site's common parts. */
.program-page .desktop-only { display:block; }
.program-page .mobile-only { display:none; }
.program-wrap { width:calc(100% - 80px);max-width:1024px;margin-inline:auto; }
.program-section-title { display:flex;align-items:center;gap:14px;font-size:24px;font-weight:500;line-height:52px; }
.program-section-title>img { flex:none; }
.program-hero { color:white;position:relative;background:linear-gradient(#1e50a299,#1e50a299),url('../image/2a415.png') center -33px/100% auto;background-blend-mode:multiply; }
.program-hero-inner { min-height:570px;max-width:1044px;margin:auto;position:relative;padding-top:134px; }
.program-hero-copy { width:532px;position:relative;z-index:1; }
.program-eyebrow { font-family:Georgia,serif;font-size:20px;color:var(--light);margin-bottom:8px; }
.program-name { display:inline-block;background:var(--blue);padding:6px 20px;font-size:20px;line-height:32px;font-weight:600;white-space:nowrap; }
.program-hero h1 { font-size:38px;line-height:52px;font-weight:800;margin:16px 0 4px;letter-spacing:0; }
.program-lead { font-size:20px;line-height:1.65;font-weight:600;margin:8px 0 16px; }
.program-description { font-size:16px;line-height:26px; }
.program-hero-visual { position:absolute;left:547px;top:155px;width:598px;height:461px;object-fit:contain;z-index:2;max-width:none; }
.program-price { padding-top:80px;padding-bottom:48px; }
.program-price .program-section-title { margin-bottom:5px; }
.price-strip { display:grid;grid-template-columns:277px 210px 210px 1fr;background:var(--light);min-height:96px;align-items:center; }
.price-strip>p { text-align:center; }
.price-person { align-self:stretch;display:flex;justify-content:center;align-items:center;gap:5px;background:var(--blue);color:white;font-size:26px; }
.price-person strong { font-size:36px;font-weight:500; }
.price-tag { font-size:18px;color:var(--blue);white-space:nowrap; }
.price-amount { white-space:nowrap;font-size:20px; }
.price-amount strong { font-size:46px;line-height:1.3;color:var(--blue);font-weight:800; }
.price-amount span { font-size:20px; }
.price-note { margin:10px 0 22px;font-size:14px;line-height:1.8; }
.apply-button { width:360px;max-width:100%;min-height:60px;border-radius:5px;background:var(--blue);color:white;display:flex;align-items:center;justify-content:center;gap:20px;margin:0 auto;font-size:16px;font-weight:800;letter-spacing:1.6px;position:relative; }
.apply-button>img { position:absolute;right:14px; }
.program-band { position:relative;background:linear-gradient(#fff,#e6efff); }
.program-benefits { padding:64px 0 72px; }
.program-benefits h2 { font-size:36px;line-height:46px;color:var(--blue);font-weight:600; }
.benefits-intro { font-size:16px;line-height:28px;margin:10px 0 30px; }
.benefit-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px; }
.benefit-grid article { min-width:0; }
.benefit-icon { width:214px;height:214px;position:relative;margin:0 auto 14px;display:grid;place-items:center; }
.benefit-icon .icon-circle { position:absolute;left:0;top:0; }
.benefit-icon .icon-art { position:relative; }
.benefit-photo { display:none; }
.benefit-grid h3 { font-size:20px;line-height:1.65;font-weight:600;margin-bottom:15px; }
.benefit-grid p { font-size:14px;line-height:20px; }
.program-coach { padding:90px 0 30px; }
.program-coach>.program-section-title { display:none; }
.coach-layout { display:grid;grid-template-columns:505px minmax(0,1fr);gap:38px; }
.coach-layout h2 { font-size:36px;line-height:46px;font-weight:600;color:var(--blue);margin-bottom:28px; }
.coach-layout p { font-size:18px;line-height:36px; }
.coach-layout>div:first-child p+p { margin-top:8px; }
.desktop-coach-diagram { height:470px;width:488px;position:relative;margin-top:-45px;margin-left:-20px;color:var(--blue); }
.coach-circle { position:absolute;width:214px;height:214px;display:flex;align-items:center;justify-content:center;font-size:18px;text-align:center;font-weight:600;line-height:26px; }
.coach-circle-bg { position:absolute;left:0;top:0;z-index:0; }.coach-circle>span { position:relative;z-index:1; }
.coach-input { left:144px;top:0; }.coach-input>span { align-self:flex-start;margin-top:87px; }
.coach-review { left:0;top:239px; }.coach-rewrite { left:274px;top:242px; }
.coach-review>span,.coach-rewrite>span { margin-top:15px; }
.coach-ai { position:absolute;left:164px;top:147px;width:166px;height:167px; }
.coach-ai b { position:absolute;left:60px;top:60px;font-size:56px;font-weight:600;line-height:1; }
.coach-ai>img { position:absolute; }.ai-v1 { left:28px;top:22px; }.ai-v2 { left:6px;top:73px; }.ai-v3 { left:57px;top:106px; }.ai-v4 { left:89px;top:44px; }
.coach-arrow { position:absolute; }.arrow-one { left:62px;top:183px;rotate:95.02deg; }.arrow-two { left:173px;top:391px;rotate:-2.75deg; }.arrow-three { left:353px;top:168px;rotate:-104.11deg; }
.coach-layout .coach-caption { font-size:16px;line-height:22px;background:#f2f6fb;border-radius:10px;padding:19px 25px; }
.mobile-coach-diagram { display:none; }
.program-video { padding:0 0 50px; }
.program-video .program-wrap { max-width:851px; }
.program-video .video-frame { display:grid;place-items:center;background:#b5ccf2;width:100%;height:550px;color:white;font-size:24px;margin:5px 0 12px; }
.program-video .program-wrap>p { font-size:18px;line-height:36px; }
.program-learning { padding:35px 0 50px; }
.learning-steps { margin:12px 0 32px;padding:0;list-style:none; }
.learning-steps>li { display:grid;grid-template-columns:200px minmax(0,1fr);gap:20px;border-bottom:1px solid var(--blue);padding:20px 0 24px;position:relative; }
.learning-steps>li::after { content:'';height:3px;width:200px;background:var(--blue);position:absolute;bottom:-2px;left:0; }
.step-number { font-family:Georgia,serif;font-size:86px;line-height:1.4;color:var(--blue);text-align:center; }
.step-heading { display:flex;align-items:center;justify-content:space-between;gap:18px; }
.step-heading h3 { font-size:22px;line-height:52px;font-weight:500; }.step-heading>span { color:var(--blue);font-size:14px;background:var(--light);padding:2px 15px;white-space:nowrap; }
.step-content>p { font-size:16px;line-height:28px; }
.program-details { background:#f3f8ff;padding:0 0 26px; }
.program-details .program-price { padding-top:34px;padding-bottom:30px; }
.program-included article { display:flex;align-items:center;gap:40px;min-height:122px;background:white;border:1px solid #b5ccf2;padding:20px 35px;margin:12px 0 20px; }
.program-included article>img { flex:none; }.program-included article>div { min-width:0; }
.program-included h3 { font-size:22px;line-height:1.6;font-weight:500;margin-bottom:6px; }
.program-included p { font-size:16px;line-height:28px; }
.program-conditions { margin-top:30px; }.program-conditions table { width:100%;border-collapse:collapse;border:1px solid #8eadde;background:white;font-size:16px;line-height:24px;margin-top:6px; }
.program-conditions th,.program-conditions td { padding:12px 24px;border-bottom:1px solid #b5ccf2;text-align:left;font-weight:500; }.program-conditions th { width:200px; }.program-conditions thead { background:var(--light); }
.program-flow { padding:28px 0 0; }.program-flow ol { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;padding:0;margin:8px 0 0;list-style:none; }
.program-flow li { padding:16px;background:white;min-height:140px; }.program-flow li>span { font-family:Georgia,serif;font-size:22px;color:var(--blue); }.program-flow h3 { font-size:20px;line-height:1.8;color:var(--blue);font-weight:600; }.program-flow p { font-size:13px;line-height:1.7; }
.program-faq { padding:38px 0 52px; }.program-faq details { margin:12px 0;background:#f5f5f5; }.program-faq summary { display:flex;align-items:center;gap:28px;position:relative;list-style:none;cursor:pointer;padding:25px 76px 25px 24px;font-size:20px;line-height:30px; }.program-faq summary::-webkit-details-marker { display:none; }
.program-faq summary>span,.faq-answer>span { font-size:36px;color:var(--blue);font-weight:400;line-height:1.5;flex:none; }
.program-faq summary>img { position:absolute;right:30px; }.faq-minus { display:none; }details[open] .faq-plus { display:none; }details[open] .faq-minus { display:block; }
.faq-answer { display:flex;gap:28px;padding:0 76px 28px 24px;font-size:20px;line-height:30px; }.faq-answer p { padding-top:9px; }
.program-application { padding:10px 0 90px; }.application-intro { font-size:20px;line-height:32px;font-weight:600;margin-bottom:36px; }
#application-form { padding:0 96px 0 60px; }.application-row { display:grid;grid-template-columns:280px minmax(0,1fr);gap:0;align-items:center;margin-bottom:16px; }
.application-row>label { display:flex;align-items:center;justify-content:space-between;gap:8px;padding-right:44px;font-size:16px;line-height:26px; }
.application-row input,.application-row textarea { background:var(--light);border:1px solid transparent;border-radius:0;height:51px;padding:12px 30px;font:inherit;font-size:16px;width:100%;min-width:0;color:var(--ink); }
.application-row input::placeholder,.application-row textarea::placeholder { color:var(--line);opacity:1; }
.application-row textarea { height:165px;resize:vertical; }.participants-field { display:flex;align-items:center;gap:10px; }.participants-field input { width:120px; }
.application-side { margin-left:280px; }.application-total { border:1px solid var(--line);padding:18px 24px;display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:92px; }.application-total p { font-size:16px; }.application-total strong { font-size:36px;line-height:1.3;font-weight:800; }
.payment-method { font-size:14px;text-align:center;margin:6px 0 24px; }.consent { display:flex;align-items:flex-start;gap:12px;font-size:18px;line-height:26px;margin:12px 0;color:#111; }.consent input { appearance:auto;accent-color:var(--blue);width:20px;height:20px;margin:3px 0 0;flex:none; }.consent .required { margin-left:auto; }.consent a { color:var(--blue);text-decoration:underline;text-underline-offset:5px; }
.application-actions { display:flex;align-items:center;justify-content:center;gap:20px;flex-wrap:wrap;margin-top:32px; }.application-actions .apply-button { margin:0; }.application-actions button:disabled { opacity:.5;cursor:wait; }#application-edit { color:var(--blue);text-decoration:underline; }#application-status { margin-top:20px;font-size:16px;line-height:1.8; }
#application-confirmation h2 { font-size:26px;line-height:1.6;color:var(--blue);margin-bottom:20px; }#application-confirmation dl>div { display:grid;grid-template-columns:220px minmax(0,1fr);gap:16px;padding:16px 0;border-bottom:1px solid var(--line); }#application-confirmation dd { white-space:pre-wrap;overflow-wrap:anywhere; }#application-confirmation>p { margin-top:20px; }
@media(min-width:1441px) {
 .program-hero,.program-band { isolation:isolate; }
 .program-hero::before,.program-band::before { content:'';position:absolute;top:0;bottom:0;left:50%;width:var(--site-viewport-width,100vw);translate:-50% 0;background:inherit;z-index:-1; }
}
@media(min-width:769px) and (max-width:1250px) {
 .program-hero-inner { margin-inline:40px; }.program-hero-copy { width:50%; }.program-hero-visual { left:52%;width:48%;height:auto; }.program-hero h1 { font-size:2.7vw;line-height:1.5; }.program-name { font-size:1.4vw; }.program-lead { font-size:1.5vw; }.program-description { font-size:14px; }
 .price-strip { grid-template-columns:23% 22% 22% 33%; }.price-person { font-size:20px; }.price-tag { font-size:14px; }.price-amount strong { font-size:32px; }.price-amount span { font-size:15px; }
 .coach-layout { grid-template-columns:1fr 1fr;gap:25px; }.coach-layout h2 { font-size:30px; }.coach-layout p { font-size:16px;line-height:2; }.coach-visual { container-type:inline-size; }.desktop-coach-diagram { transform:scale(calc(100cqw / 488px));transform-origin:top left;margin:0;height:470px; }.coach-layout .coach-caption { margin-top:calc((100cqw / 488px - 1) * 470px); }
 #application-form { padding:0; }.application-row { grid-template-columns:260px minmax(0,1fr); }.application-side { margin-left:260px; }.application-total { padding:16px; }.application-total strong { font-size:30px; }
}
@media(max-width:768px) {
 .program-page .desktop-only { display:none; }.program-page .mobile-only { display:block; }
 .program-wrap { width:calc(100% - 6.666667vw);max-width:none; }
 .program-section-title { gap:12px;font-size:4.266667vw;line-height:1.6;margin-bottom:4vw; }
 .program-section-title>img { scale:.8;transform-origin:center; }
 .program-hero-inner { min-height:0;padding:22.4vw 3.333333vw 0;margin:0; }
 .program-hero-copy { width:100%; }.program-eyebrow { display:none; }.program-name { font-size:3.466667vw;line-height:1.8;padding:1.2vw 2vw;background:white;color:var(--blue);white-space:normal; }
 .program-hero h1 { font-size:6.133333vw;line-height:1.35;margin:3vw 1.4vw 1vw;white-space:normal; }.program-lead { font-size:4vw;line-height:1.7;margin:3vw 1.4vw; }.program-description { font-size:3.466667vw;line-height:1.7;margin:0 1.4vw; }
 .program-hero-visual { position:relative;left:auto;top:auto;width:100%;height:auto;margin:4vw 0 -2vw; }
 .program-price { padding:7vw 0 6vw; }.price-strip { grid-template-columns:1fr 1fr;background:transparent;gap:1px 0;min-height:0; }.price-person { display:none; }.price-tag { font-size:2.666667vw;background:var(--light);padding:2vw 0; }.price-amount { grid-column:1/-1;display:flex;gap:10px;justify-content:flex-end;align-items:baseline;background:var(--light);padding:2vw 3vw; }.price-amount::before { content:'1名あたり';font-size:3.466667vw;margin-right:auto;color:var(--blue); }.price-amount strong { font-size:6.133333vw; }.price-amount span { font-size:2.933333vw; }.price-note { font-size:2.666667vw;margin:1vw 0 4vw;line-height:1.8; }
 .apply-button { width:100%;min-height:13.333333vw;font-size:3.466667vw;letter-spacing:.08em; }.apply-button>img { right:4vw; }
 .program-benefits { padding:8vw 0 10vw; }.program-benefits h2 { font-size:4.266667vw;line-height:1.7; }.benefit-grid { grid-template-columns:1fr;gap:4vw;margin-top:4vw; }.benefit-icon { display:none; }.benefit-grid article { background:var(--light);padding:1vw 1vw 3vw; }.benefit-photo { display:block;width:100%;height:38vw;object-fit:cover;filter:grayscale(1); }.benefit-grid h3 { font-size:3.466667vw;line-height:1.7;margin:2vw 3vw 0; }.benefit-conclusion { text-align:center;margin-top:8vw; }.program-benefits .benefit-conclusion h2 { font-size:4.8vw;line-height:1.5; }.benefit-conclusion p { font-size:2.666667vw;margin-top:3vw;line-height:1.8; }
 .program-coach { padding:7vw 0 6vw; }.program-coach>.program-section-title { display:flex;font-size:3.466667vw; }.coach-layout { grid-template-columns:1fr;gap:2vw; }.coach-layout h2 { font-size:6.133333vw;line-height:1.35;margin-bottom:3vw; }.coach-layout p { font-size:3.466667vw;line-height:1.8; }.coach-visual { width:100%; }.desktop-coach-diagram { display:none; }.mobile-coach-diagram { display:block;width:100%;height:71.857143cqw;position:relative;container-type:inline-size; }.diagram-scaler { position:absolute;width:700px;height:503px;transform:scale(calc(100cqw / 700px));transform-origin:top left; }.diagram-canvas { position:absolute;width:750px;height:17808px;left:-25px;top:-3904.2px;pointer-events:none; }.coach-layout .coach-caption { font-size:3.2vw;line-height:1.8;padding:3vw;margin-top:4vw; }
 .program-video { padding:5vw 0; }.program-video .video-frame { height:auto;aspect-ratio:703/396;margin:0 0 2vw;background:var(--blue); }.video-frame>img { width:100%;height:auto; }.program-video .program-wrap>p { font-size:3.2vw;line-height:1.8; }
 .program-learning { padding:6vw 0 8vw; }.program-learning>.program-section-title { font-size:3.466667vw;margin:0 0 1vw; }.learning-subtitle { font-size:4.8vw;line-height:1.6;color:var(--blue); }.learning-steps { margin:4vw 0; }.learning-steps>li { grid-template-columns:1fr;gap:0;padding:3vw 0 5vw;margin-bottom:7vw; }.learning-steps>li::after { width:30%; }.step-number { display:none; }.step-heading { gap:2vw;flex-wrap:wrap; }.step-heading h3 { font-size:4vw;line-height:1.7; }.step-heading>span { font-size:2.666667vw;line-height:1.8;padding:.5vw 2vw; }.step-picture { width:100%;height:auto;margin:2vw 0; }.step-content>p { font-size:3.466667vw;line-height:1.8; }
 .program-details { padding-bottom:5vw; }.program-details .program-price { padding:6vw 0; }.program-included article { gap:4vw;padding:3vw;margin:2vw 0 3vw;min-height:0; }.program-included article>img { scale:.65;transform-origin:center; }.program-included h3 { font-size:3.466667vw;line-height:1.7; }.program-included p { font-size:3.2vw;line-height:1.8; }
 .program-conditions { margin-top:5vw; }.program-conditions table { font-size:3.2vw;line-height:1.5;table-layout:fixed; }.program-conditions th,.program-conditions td { padding:2vw 3vw;overflow-wrap:anywhere; }.program-conditions th { width:32%; }
 .program-flow { padding:6vw 0 0; }.program-flow ol { grid-template-columns:1fr 1fr;gap:3vw; }.program-flow li { min-height:30vw;padding:3vw; }.program-flow li>span { font-size:4vw; }.program-flow h3 { font-size:3.466667vw; }.program-flow p { font-size:2.933333vw;line-height:1.7; }
 .program-faq { padding:6vw 0; }.program-faq details { margin:2vw 0; }.program-faq summary { font-size:3.466667vw;line-height:1.7;gap:4vw;padding:4vw 11vw 4vw 3vw; }.program-faq summary>span,.faq-answer>span { font-size:5.6vw; }.program-faq summary>img { right:3vw;scale:.65;transform-origin:center; }.faq-answer { padding:0 9vw 4vw 3vw;gap:4vw;font-size:3.466667vw;line-height:1.8; }.faq-answer p { padding-top:1vw; }
 .program-application { padding:5vw 0 12vw; }.application-intro { font-size:3.466667vw;line-height:1.8;margin-bottom:6vw; }#application-form { padding:0; }.application-row { grid-template-columns:1fr;gap:2vw;margin-bottom:4vw; }.application-row>label { font-size:3.466667vw;justify-content:flex-start;padding:0;gap:3vw;line-height:1.7; }.application-row input,.application-row textarea { font-size:3.466667vw;padding:3vw 4vw;height:11vw; }.application-row textarea { height:28vw; }.participants-field input { width:22vw; }.participants-field { font-size:3.466667vw; }.application-side { margin:0; }.application-total { min-height:18vw;padding:3vw;gap:3vw; }.application-total p { font-size:3.2vw; }.application-total strong { font-size:6.133333vw; }.payment-method { font-size:3vw;margin:2vw 0 5vw; }.consent { font-size:3.2vw;line-height:1.8;gap:2vw; }.consent input { width:18px;height:18px; }.consent .required { font-size:10px;width:33px;line-height:18px; }.application-actions { margin-top:6vw; }.application-actions .apply-button { max-width:100%; }#application-status { font-size:3.466667vw; }#application-confirmation h2 { font-size:5vw; }#application-confirmation dl>div { grid-template-columns:1fr;gap:2vw;font-size:3.466667vw; }#application-confirmation>p { font-size:3.466667vw; }
}

@media(max-width:768px) { .mobile-coach-diagram { height:auto;aspect-ratio:700/503; } }

.program-flow li { position:relative; }
.flow-arrow { position:absolute;right:-22px;top:50%;translate:0 -50%;z-index:1; }
.program-flow li:last-child .flow-arrow { display:none; }
@media(max-width:768px) { .flow-arrow { scale:.7;right:-4.2vw; } .program-flow li:nth-child(2) .flow-arrow { display:none; } }

/* Revised program layout from Figma 694:2403. */
.program-hero-inner { padding-top:162px; }
.program-name { background:#fff;color:var(--blue);height:45px;padding:6px 13px;font-size:20px;line-height:33px; }
.program-hero h1 { margin:7px 0 0;font-size:38px;line-height:52px; }
.program-lead { margin:0;font-size:20px;line-height:52px; }
.program-description { margin-top:16px;font-weight:600; }
.program-price { padding-top:64px;padding-bottom:68px; }
.price-tag { margin-inline:12px;background:white;line-height:48px; }
.program-benefits { background:transparent;padding:15px 0 100px; }
.program-benefits>.program-wrap { position:relative;isolation:isolate; }
.program-benefits .program-section-title { font-size:24px;line-height:52px;color:var(--ink);font-weight:500;margin-bottom:12px; }
.problem-cards { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px; }
.problem-card { position:relative;aspect-ratio:320/312;container-type:inline-size; }
.problem-card-stage { position:absolute;width:320px;height:312px;left:0;top:0;transform:scale(calc(100cqw / 320px));transform-origin:top left; }
.problem-card-background { position:absolute;left:0;top:0; }
.card-ideas .problem-card-background { scale:-1 1; }
.problem-photo { position:absolute;left:17px;top:18px;width:286px;height:160px;overflow:hidden; }
.problem-photo>img { position:absolute;max-width:none;object-fit:cover; }
.card-writing .problem-photo>img { width:286px;height:190px;left:-1px;top:0; }
.card-documents .problem-photo>img { width:299px;height:199px;left:-7px;top:-27px; }
.card-ideas .problem-photo>img { width:290px;height:434px;left:-3px;top:-131px; }
.problem-card h3 { position:absolute;left:20px;top:188px;width:281px;font-size:17px;line-height:24px;font-weight:600;margin:0; }
.card-documents h3 { left:22px;width:286px;font-size:18px; }
.card-ideas h3 { left:28px;top:178px;font-size:18px;line-height:46px; }
.problem-accent { position:absolute; }
.card-writing .problem-accent { left:55px;top:8px;rotate:156.5deg;scale:1 -1; }
.card-documents .problem-accent { left:251px;top:4px; }
.card-ideas .problem-accent { left:188px;top:-18px; }
.benefit-halo { position:absolute;left:0;top:266px;width:100%;height:456px;z-index:-1;container-type:inline-size;pointer-events:none; }
.benefit-halo>img { transform:scale(calc(100cqw / 1024px));transform-origin:top left; }
.benefit-conclusion { text-align:center;margin-top:44px; }
.program-benefits .benefit-conclusion h2 { color:var(--blue);font-size:36px;line-height:46px;font-weight:600; }
.benefit-conclusion p { font-size:16px;line-height:28px;margin-top:16px; }
.program-coach { padding:12px 0 56px; }
.program-coach>.program-section-title { display:flex;font-size:16px;line-height:52px;margin-bottom:8px; }
.coach-layout { grid-template-columns:467px minmax(0,1fr);gap:9px; }
.coach-layout h2 { margin-bottom:24px; }
.coach-layout p { font-size:20px;line-height:40px; }
.coach-visual { width:656px;margin-top:-34px; }
.program-coach-diagram { width:100%;aspect-ratio:656/471;position:relative;container-type:inline-size; }
.coach-diagram-scaler { position:absolute;width:656px;height:471px;transform:scale(calc(100cqw / 656px));transform-origin:top left; }
.coach-diagram-canvas { position:absolute;width:1440px;height:8948px;left:-677px;top:-1648px;pointer-events:none; }
.program-video { background:linear-gradient(#1e50a299,#1e50a299),url('../image/2a415.png') center/100% auto;background-blend-mode:multiply;color:white;padding:22px 0 24px;position:relative;isolation:isolate; }
.program-video .program-wrap { max-width:1024px; }
.program-video .program-section-title { justify-content:center;font-size:24px; }
.program-video .video-frame { position:relative;width:min(760px,100%);height:auto;aspect-ratio:760/428;margin:18px auto 10px;background:transparent;display:block;overflow:hidden; }
.video-frame .video-poster { width:100%;height:100%;object-fit:cover; }
.video-play { position:absolute;left:50%;top:50%;width:132px;height:132px;translate:-50% -50%;color:var(--blue);cursor:default; }
.video-play-circle { position:absolute;left:0;top:0; }
.video-play-triangle { position:absolute;left:38px;top:27px;rotate:90deg; }
.video-play-label { position:absolute;left:0;right:0;top:75px;font-size:16px;line-height:52px;font-weight:800; }
.program-video .program-wrap>p { text-align:center;font-size:20px;line-height:36px; }
.video-status { display:block;text-align:center;font-size:12px;line-height:1.6;opacity:.9; }
.program-learning { padding:46px 0 50px; }
.learning-subtitle { font-size:36px;line-height:46px;color:var(--blue);font-weight:600;margin:0 0 24px; }
.learning-steps { margin:0;padding:0; }
.learning-steps>li { grid-template-columns:361px minmax(0,1fr);gap:37px;border:0;padding:0;margin-bottom:70px;align-items:start; }
.learning-steps>li:last-child { margin-bottom:0; }
.learning-steps>li::after { display:none; }
.step-visual { position:relative; }
.step-picture { width:100%;height:auto;aspect-ratio:361/203;object-fit:cover;border:1px solid var(--light); }
.step-next { position:absolute;left:50%;top:calc(100% + 19px);translate:-50% 0;rotate:180deg; }
.step-heading { min-height:64px;display:grid;grid-template-columns:103px minmax(0,1fr) 193px;gap:16px;border-block:1px solid var(--line); }
.step-heading h3 { font-size:22px;line-height:1.5;white-space:nowrap; }
.step-heading .step-label { color:white;background:var(--blue);font-size:20px;line-height:32px;padding:0;text-align:center; }
.step-heading .step-duration { color:var(--blue);background:white;border:1px solid var(--line);font-size:18px;line-height:30px;text-align:center;padding:0; }
.step-content>p { font-size:18px;line-height:30px;padding-top:16px; }
.program-details .program-price { padding:60px 0 34px; }
.program-included article { border:0; }
.program-conditions th,.program-conditions td { border:1px solid var(--line); }
.program-flow { padding:34px 0 60px; }
.program-flow li { min-height:207px;padding:15px 13px; }
.flow-heading { height:85px;background:var(--light);display:flex;align-items:center;justify-content:center;position:relative;margin-bottom:15px; }
.flow-heading>span { position:absolute;left:10px;top:5px;line-height:22px;text-align:left;color:var(--blue);font-size:18px;font-weight:800; }
.program-flow h3 { font-size:20px;line-height:46px;white-space:nowrap; }
.program-flow li:nth-child(3) h3 { font-size:16px; }
.program-flow p { font-size:16px;line-height:22px; }
.program-faq { padding-top:60px; }
.program-application { padding-top:6px; }
#application-form { padding:0 155px 0 0; }
.application-row { grid-template-columns:276px minmax(0,1fr); }
.application-row>label { padding-right:44px; }
.application-side { margin-left:276px; }
.application-total { display:flex;flex-direction:column;align-items:stretch;padding:16px 32px;gap:18px; }
.application-total p { display:flex;align-items:baseline;gap:16px; }
.application-total p>strong { margin-left:auto;min-width:130px;text-align:right; }
.application-total p:first-child { border-bottom:1px solid var(--line);padding-bottom:12px; }
.application-total p:first-child>strong { font-size:32px; }
.application-total p:last-child>strong { font-size:46px; }
.payment-method { margin:10px 0 24px; }
@media(min-width:1441px) { .program-video::before { content:'';position:absolute;top:0;bottom:0;left:50%;width:var(--site-viewport-width,100vw);translate:-50% 0;background:inherit;z-index:-1; } }
@media(min-width:769px) and (max-width:1250px) {
 .program-hero-inner { padding-top:150px; }.program-hero h1 { font-size:2.7vw;line-height:1.4; }.program-name { font-size:1.4vw;height:auto;line-height:1.7; }.program-lead { font-size:1.5vw;line-height:2.5; }
 .program-benefits .program-section-title { font-size:20px; }.problem-cards { gap:20px; }.benefit-conclusion { margin-top:20px; }.program-benefits .benefit-conclusion h2 { font-size:30px; }
 .coach-layout { grid-template-columns:46% 54%;gap:0; }.coach-visual { width:120%;margin-top:0; }.coach-layout p { font-size:16px;line-height:2; }.coach-layout h2 { font-size:30px;line-height:1.5; }
 .learning-steps>li { grid-template-columns:35% minmax(0,1fr);gap:24px; }.step-heading { grid-template-columns:80px minmax(0,1fr);gap:10px;padding:8px 0; }.step-heading .step-duration { grid-column:2;font-size:14px; }.step-heading .step-label { font-size:16px; }.step-heading h3 { font-size:18px; }.step-content>p { font-size:16px;line-height:1.8; }
 .program-flow h3 { font-size:16px; }.program-flow li:nth-child(3) h3 { font-size:13px; }.program-flow p { font-size:14px;line-height:1.6; }
 #application-form { padding:0; }.application-row { grid-template-columns:260px minmax(0,1fr); }.application-side { margin-left:260px; }
}
@media(max-width:768px) {
 .program-hero-inner { padding:22.4vw 3.333333vw 0; }.program-name { height:auto;padding:1.2vw 2vw;font-size:3.466667vw;line-height:1.8; }.program-hero h1 { margin:3vw 1.4vw 1vw;font-size:6.133333vw;line-height:1.35; }.program-lead { font-size:4vw;line-height:1.7;margin:3vw 1.4vw; }.program-description { margin:0 1.4vw;font-weight:400; }
 .program-price { padding:7vw 0 6vw; }.price-tag { margin:0;line-height:1.8; }
 .program-benefits { padding:7vw 0 8vw; }.program-benefits .program-section-title { font-size:4.266667vw;line-height:1.7; }.problem-cards { grid-template-columns:1fr;gap:3vw; }.problem-card { width:100%;aspect-ratio:320/270; }.benefit-halo { top:auto;bottom:-10vw; }.benefit-conclusion { margin-top:5vw; }.program-benefits .benefit-conclusion h2 { font-size:4.8vw;line-height:1.5; }.benefit-conclusion p { font-size:2.666667vw;line-height:1.8;margin-top:3vw; }
 .program-coach { padding:6vw 0 7vw; }.program-coach>.program-section-title { font-size:3.466667vw;line-height:1.7;margin-bottom:3vw; }.coach-layout { grid-template-columns:1fr;gap:3vw; }.coach-layout h2 { font-size:6.133333vw;line-height:1.35;margin-bottom:3vw; }.coach-layout p { font-size:3.466667vw;line-height:1.8; }.coach-visual { width:100%;margin:0; }
 .program-video { padding:5vw 0; }.program-video .program-section-title { font-size:3.5vw;line-height:1.7;gap:2vw; }.program-video .video-frame { margin:3vw 0 2vw;width:100%; }.video-play { scale:.6; }.program-video .program-wrap>p { font-size:3.2vw;line-height:1.8; }.video-status { font-size:2.666667vw; }
 .program-learning { padding:6vw 0 8vw; }.learning-subtitle { font-size:4.8vw;line-height:1.6;margin-bottom:4vw; }.learning-steps>li { grid-template-columns:1fr;gap:3vw;margin-bottom:10vw;padding:0; }.step-visual { order:2; }.step-content { display:contents; }.step-heading { order:1;grid-template-columns:75px minmax(0,1fr);gap:8px;min-height:0;padding:2vw 0; }.step-heading h3 { font-size:3.733333vw;line-height:1.5; }.step-heading .step-label { font-size:3.2vw;line-height:1.8; }.step-heading .step-duration { grid-column:2;font-size:2.933333vw;line-height:1.8; }.step-content>p { order:3;font-size:3.466667vw;line-height:1.8;padding:0; }.step-picture { margin:0; }.step-next { display:none; }
 .program-details .program-price { padding:6vw 0; }.program-flow { padding:6vw 0; }.program-flow li { min-height:38vw;padding:2vw; }.flow-heading { height:15vw;margin-bottom:3vw; }.flow-heading>span { font-size:3.2vw;line-height:1.8;top:1vw;left:2vw; }.program-flow h3 { font-size:3.466667vw;line-height:1.5; }.program-flow li:nth-child(3) h3 { font-size:2.666667vw; }.program-flow p { font-size:2.933333vw;line-height:1.7; }
 .program-faq { padding-top:6vw; }.program-application { padding-top:5vw; }#application-form { padding:0; }.application-row { grid-template-columns:1fr; }.application-row>label { padding:0; }.application-side { margin:0; }.application-total { padding:4vw;gap:3vw; }.application-total p { font-size:3.2vw;gap:3vw; }.application-total p:first-child>strong { font-size:5vw;min-width:20vw; }.application-total p:last-child>strong { font-size:6.133333vw;min-width:20vw; }
}
.program-coach-diagram { overflow:hidden;overflow-clip-margin:2px; }
@media(min-width:769px) and (max-width:1250px) { .coach-visual { width:100%; } }
@media(max-width:768px) {
 .problem-card { aspect-ratio:320/312; }
 .problem-card h3,.card-documents h3,.card-ideas h3 { font-size:13px;line-height:22px; }
}

@media(max-width:768px) { .price-tag { background:var(--light); } }

/* Orbit the blue marker around the existing learning-cycle ring. */
.coach-orbit-dot { transform-origin:150.5px 127.5px;animation:coach-marker-orbit 8s linear infinite; }
@keyframes coach-marker-orbit { from { transform:rotate(0deg); } to { transform:rotate(360deg); } }
@media(prefers-reduced-motion:reduce) { .coach-orbit-dot { animation:none; } }

.included-icon { display:contents; }

/* Invert program call-to-action buttons without shifting their size. */
.apply-button { border:1px solid var(--blue);transition:background-color .18s ease,color .18s ease; }
.apply-button:focus-visible:not(:disabled) { background:#fff;color:var(--blue);opacity:1; }
.apply-button:focus-visible:not(:disabled)>img { content:url('../image/bdb43.svg'); }
@media(hover:hover) {
 .apply-button:hover:not(:disabled) { background:#fff;color:var(--blue);opacity:1; }
 .apply-button:hover:not(:disabled)>img { content:url('../image/bdb43.svg'); }
}

/* Play the local PR video in the existing poster frame. */
.program-video-player { display:block;width:100%;height:100%;object-fit:contain;background:#000; }
.program-video-player[hidden],.video-frame .video-poster[hidden],.video-frame .video-play[hidden],.video-feedback[hidden] { display:none; }
.video-frame .video-play { cursor:pointer; }
.video-play-triangle { left:49px;top:33px;width:48.4974px;height:42px; }
.video-play-label { top:90px;line-height:26px;text-align:center; }
.program-video .video-feedback { font-size:14px;line-height:1.6;margin-top:12px; }

/* Keep the first view blue while its texture decodes, then reveal the foreground. */
.program-bg-pending .program-page .header:not(.is-scrolled) { opacity:0; }
.program-bg-ready .program-page .header:not(.is-scrolled) { animation:program-first-view-in .5s ease both; }
@media(prefers-reduced-motion:reduce) {
 .program-bg-ready .program-page .header:not(.is-scrolled) { animation:none; }
}
@media print {
 .program-bg-pending .program-hero-copy,.program-bg-pending .program-hero-visual,.program-bg-pending .program-page .header { opacity:1!important;animation:none!important; }
}

/* Coupon entry from the updated application form. */
.application-side .payment-method { text-align:left;margin:10px 0 18px; }
.coupon-field { margin-bottom:34px; }
.coupon-entry { display:grid;grid-template-columns:minmax(0,1fr) 112px;gap:16px; }
.coupon-entry input { min-width:0;width:100%;height:51px;border:1px solid var(--line);border-radius:0;background:#fff;padding:10px 26px;font:inherit;font-size:20px;color:var(--blue); }
.coupon-entry input::placeholder { color:var(--blue);opacity:1; }
.coupon-entry input:focus-visible { outline:2px solid var(--blue);outline-offset:2px; }
.coupon-entry input[aria-invalid="true"] { border-color:#c1001a; }
.coupon-entry button { height:51px;background:var(--blue);color:#fff;border:1px solid var(--blue);font-size:18px;transition:background-color .18s,color .18s; }
.coupon-entry button:hover,.coupon-entry button:focus-visible { background:#fff;color:var(--blue);opacity:1; }
#coupon-status { font-size:14px;line-height:1.6;color:var(--blue);margin-top:8px; }
#coupon-status:empty { display:none; }
#coupon-status.is-error { color:#c1001a; }
@media(max-width:768px) {
 .coupon-field { margin-bottom:7vw; }
 .coupon-entry { grid-template-columns:minmax(0,1fr) 22.4vw;gap:2.133333vw; }
 .coupon-entry input { height:10.666667vw;padding:2vw 3.2vw;font-size:3.733333vw; }
 .coupon-entry button { height:10.666667vw;font-size:3.733333vw; }
 #coupon-status { font-size:3.2vw;margin-top:2vw; }
 .application-side .payment-method { margin:2.4vw 0 4vw; }
}
