/* Mobile proportions from Figma 826:629; content is shared with desktop. */
@media(max-width:768px) {
 .program-band { background:white; }
 .program-section-title { gap:2.4vw;font-size:4.266667vw;line-height:1.625;margin-bottom:2.4vw; }
 .program-section-title>img { scale:.5; }
 .program-hero-inner { padding:24.266667vw 3.333333vw 0; }
 .program-name { font-size:3.466667vw;line-height:1.5;padding:.933333vw 1.733333vw;margin-left:1.866667vw; }
 .program-hero h1 { font-size:6.133333vw;line-height:1.304348;margin:2vw 1.466667vw 0; }
 .program-lead { font-size:4vw;line-height:1.733333;margin:2vw 1.466667vw 3.6vw; }
 .program-description { font-size:3.466667vw;line-height:1.384615;font-weight:600;margin:0 1.466667vw; }
 .program-hero-visual { width:89.733333vw;margin:4vw auto 0; }
 .program-price { padding:3.466667vw 0 12vw; }
 .price-strip { grid-template-columns:24% 26% 50%;gap:0;background:var(--light); }
 .price-person { display:flex;grid-column:1/-1;min-height:9.333333vw;font-size:3.466667vw;gap:.5vw; }
 .price-person strong { font-size:4.8vw; }
 .price-tag { font-size:2.666667vw;line-height:1.5;margin:3.2vw 1.6vw;padding:1.2vw .5vw;background:#fff; }
 .price-amount { grid-column:auto;display:block;padding:1vw 2vw 1vw 0;text-align:right;background:transparent; }
 .price-amount::before { content:none; }
 .price-amount strong { font-size:7.466667vw; }
 .price-amount span { font-size:2.933333vw; }
 .price-note { font-size:2.666667vw;line-height:1.6;margin:1.6vw 0 4vw; }
 .apply-button { width:90.666667vw;min-height:16vw;font-size:4vw;letter-spacing:0; }
 .apply-button>img { right:4vw;scale:.9; }
 .program-benefits { padding:0 0 16vw; }
 .program-benefits .program-section-title { font-size:4.266667vw;line-height:1.3125;margin-bottom:4vw; }
 .problem-cards { width:87.733333vw;margin-inline:auto;display:block;background:url('../image/0a16f.svg') center/100% 100% no-repeat; }
 .problem-card { width:100%;aspect-ratio:658/410; }
 .problem-card:last-child { aspect-ratio:658/504; }
 .problem-card-stage { width:658px;height:410px;transform:scale(calc(100cqw / 658px)); }
 .problem-card-background { display:none; }
 .problem-photo { left:53px;top:34px;width:540px;height:302px;-webkit-mask:none;mask:none;overflow:hidden; }
 .card-writing .problem-photo>img { width:559px;height:373px;left:-4px;top:-1px; }
 .card-documents .problem-photo>img { width:557px;height:372px;left:-7px;top:-27px; }
 .card-ideas .problem-photo>img { width:548px;height:821px;left:-8px;top:-246px; }
 .problem-card h3,.card-documents h3,.card-ideas h3 { left:56px;top:351px;width:540px;font-size:26px;line-height:32px; }
 .card-writing .problem-accent { left:204px;top:-21px; }
 .card-documents .problem-accent { left:491px;top:-7px; }
 .card-ideas .problem-accent { left:422px;top:-7px; }
 .benefit-halo { top:auto;bottom:-8vw;height:60.8vw; }
 .benefit-conclusion { margin-top:5.6vw; }
 .program-benefits .benefit-conclusion h2 { font-size:5.066667vw;line-height:1.263158; }
 .benefit-conclusion p { font-size:2.666667vw;line-height:1.4;margin-top:2vw; }
 .program-coach { padding:0 0 10vw; }
 .program-coach>.program-section-title { font-size:3.466667vw;line-height:2;margin-bottom:1.2vw; }
 .coach-layout { gap:4vw; }
 .coach-layout h2 { font-size:6.133333vw;line-height:1.217391;margin-bottom:2.533333vw; }
 .coach-layout p { font-size:3.466667vw;line-height:1.384615; }
 .program-video { padding:6.666667vw 0 8vw; }
 .program-video .program-section-title { font-size:4.266667vw;line-height:1.625;gap:1vw;justify-content:flex-start; }
 .program-video .video-frame { margin:3.333333vw 0; }
 .video-play { scale:.5; }
 .program-video .program-wrap>p { font-size:4vw;line-height:1.333333;max-width:88vw;margin-inline:auto; }
 .video-status { font-size:2.666667vw;margin-top:1.6vw; }
 .program-learning { padding:6vw 0 10vw; }
 .program-learning>.program-section-title { font-size:4.266667vw;line-height:1.625;margin-bottom:2.4vw; }
 .learning-subtitle { font-size:4.8vw;line-height:1.277778;margin-bottom:4vw; }
 .learning-steps>li { gap:2.8vw;margin-bottom:8vw; }
 .step-heading { grid-template-columns:17.733333vw minmax(0,1fr) 25.733333vw;gap:2.8vw;padding:2.133333vw 0;min-height:10.533333vw; }
 .step-heading h3 { font-size:3.733333vw;line-height:1.5;white-space:normal; }
 .step-heading .step-label { font-size:3.466667vw;line-height:1.615385; }
 .step-heading .step-duration { grid-column:auto;font-size:2.666667vw;line-height:2.1;white-space:nowrap; }
 .step-content>p { font-size:3.466667vw;line-height:1.384615; }
 .step-visual { display:contents; }
 .step-picture { order:2; }
 .step-next { display:block;position:static;order:4;justify-self:center;translate:none;rotate:180deg;margin:4vw 0 0; }
 .step-next img { transform:scale(.5);transform-origin:center; }
 .step-next picture { display:block;height:6.9vw; }
 .learning-steps>li:last-child .step-next { display:none; }
 .program-details .program-price { padding:8vw 0 6vw; }
 .program-included article { gap:3.866667vw;min-height:23.466667vw;padding:2.4vw 3.066667vw;margin:2.4vw 0;border:0; }
 .program-included .included-icon { display:block;position:relative;flex:none;width:14.266667vw;height:14.266667vw;container-type:inline-size; }
 .included-icon>img { position:absolute;left:0;top:50%;translate:0 -50%;transform:scale(calc(100cqw / var(--icon-width)));transform-origin:left center; }
 .program-included article:nth-of-type(1) { --icon-width:71px; }
 .program-included article:nth-of-type(2) { --icon-width:83px; }
 .program-included article:nth-of-type(3) { --icon-width:74px; }
 .program-included h3 { font-size:4vw;line-height:1.733333;margin:0 0 .266667vw; }
 .program-included p { font-size:3.466667vw;line-height:1.384615; }
 .program-conditions { margin-top:7vw; }
 .program-table-scroll,.program-flow-scroll { overflow-x:auto;overscroll-behavior-x:contain;scrollbar-color:#c8c8c8 #fff;scrollbar-width:auto;padding-bottom:2.4vw; }
 .program-table-scroll:focus-visible,.program-flow-scroll:focus-visible { outline:2px solid var(--blue);outline-offset:3px; }
 .program-conditions table { min-width:136.533333vw;table-layout:fixed;font-size:3.2vw;line-height:1.166667;margin:0; }
 .program-conditions th { width:27.866667vw; }
 .program-conditions th,.program-conditions td { padding:2.8vw 3.2vw;height:9.333333vw; }
 .program-flow { padding:6.666667vw 0 12vw; }
 .program-flow ol { grid-template-columns:repeat(4,37.733333vw);gap:5.333333vw;margin:0;width:max-content;padding-right:1vw; }
 .program-flow li { min-height:40.933333vw;padding:2vw 3.066667vw; }
 .flow-heading { height:17.2vw;margin-bottom:3vw; }
 .flow-heading>span { left:1.333333vw;top:.666667vw;font-size:3.466667vw;line-height:1.615385; }
 .program-flow h3 { font-size:4vw;line-height:1.533333; }
 .program-flow li:nth-child(3) h3 { font-size:3.2vw;white-space:normal;text-align:center;padding-top:3vw; }
 .program-flow p { font-size:3.466667vw;line-height:1.384615; }
 .flow-arrow { scale:1;right:-4.4vw; }
 .program-flow li:nth-child(2) .flow-arrow { display:block; }
 .program-faq { padding:6.666667vw 0 5vw; }
 .program-faq details { margin:2vw 0; }
 .program-faq summary { min-height:16vw;padding:3.2vw 14vw 3.2vw 3.2vw;gap:5.333333vw;font-size:3.466667vw;line-height:1.153846; }
 .program-faq summary>span,.faq-answer>span { font-size:5.6vw;line-height:1.5; }
 .program-faq summary>img { right:3.466667vw;scale:.65; }
 .faq-answer { gap:5.333333vw;padding:0 10.4vw 4vw 3.2vw;font-size:3.466667vw;line-height:1.384615; }
 .faq-answer p { padding-top:1.333333vw; }
 .program-application { padding:0 0 12vw; }
 .application-intro { font-size:3.466667vw;line-height:1.230769;margin-bottom:5.6vw; }
 .application-row { gap:2.933333vw;margin-bottom:5.066667vw; }
 .application-row>label { font-size:3.466667vw;line-height:1.5;gap:3.2vw; }
 .application-row .required,.application-row .optional { font-size:2.666667vw;width:10.4vw;line-height:5.2vw; }
 .application-row input,.application-row textarea { height:10.666667vw;padding:2.4vw 2.266667vw;font-size:3.466667vw; }
 .application-row textarea { height:56.933333vw; }
 .participants-field input { width:37.6vw;font-size:6.133333vw;text-align:center; }
 .application-total { padding:3.2vw 4.4vw;gap:3.2vw; }
 .application-total p { font-size:4vw;gap:1.2vw; }
 .application-total p:first-child>strong,.application-total p:last-child>strong { font-size:8.8vw;min-width:24vw; }
 .payment-method { font-size:2.666667vw;line-height:1.3;margin:2.4vw 0 6vw; }
 .consent { font-size:3.466667vw;line-height:1.5;margin:3.6vw 0; }
 .consent input { width:4vw;height:4vw;margin-top:.4vw; }
 .application-actions { margin-top:6.666667vw; }
}

@media(max-width:768px) {
 .program-table-scroll .scroll-hint-icon-wrap,.program-flow-scroll .scroll-hint-icon-wrap { z-index:2; }
 .program-table-scroll .scroll-hint-text,.program-flow-scroll .scroll-hint-text { font-size:12px;line-height:1.5; }
}
@media(prefers-reduced-motion:reduce) {
 .program-table-scroll .scroll-hint-icon::after,.program-flow-scroll .scroll-hint-icon::after { animation:none; }
}
