/* Homepage-only video placements; no styles leak into shared components. */
.promo-figure{margin:0;min-width:0}
.promo-label{display:flex;align-items:center;gap:14px;margin:0 0 14px;color:var(--teal-700);font:700 12px Outfit,sans-serif;letter-spacing:.12em}
.promo-label span{font:500 11px "Noto Sans JP",sans-serif;letter-spacing:.03em;color:var(--text-muted)}
.promo-title{font-size:clamp(22px,2.4vw,32px);line-height:1.5;font-weight:900;color:var(--navy-800);margin:0 0 22px;letter-spacing:-.03em}
.promo-video{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;background:#06323a;border-radius:16px;box-shadow:0 18px 45px #06323a18}
.promo-figure figcaption{margin:14px 0 0;font-size:12px;line-height:1.8;color:var(--text-muted);text-align:left}
.hero-with-promo .hero-under{grid-column:1/-1;margin-top:24px}
.promo-pain-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:48px;align-items:start}
.promo-pain-copy{min-width:0;text-align:left;padding:0}
.promo-pain-copy p{font-size:16px;line-height:1.9;margin:0 0 22px}
.promo-pain-copy .promo-consult-lead{font-size:clamp(18px,1.65vw,22px);font-weight:700;line-height:1.65;letter-spacing:-.025em;margin:0 0 24px;color:var(--navy-800)}
.promo-consult-lead span,.promo-pain-copy .promo-terms span{display:block}
.promo-pain-copy .promo-benefits{list-style:none;padding:0;line-height:1.7;color:var(--navy-800);margin:0 0 24px;border-top:1px solid var(--line)}
.promo-pain-copy .promo-benefits li{margin:0;padding:10px 0;border-bottom:1px solid var(--line);font-size:15px}
.promo-pain-copy .btn{display:flex;width:100%;justify-content:center;white-space:normal;line-height:1.6;text-align:center;min-height:56px;padding:14px 16px;border-radius:12px;font-size:16px}
.promo-pain-copy .promo-terms{font-size:12px;line-height:1.8;color:var(--text-muted);margin:12px 0 0}
.promo-pain-copy .detail-link{display:inline-flex;align-items:center;min-height:44px;margin-top:8px;font-size:14px}
@media(min-width:768px) and (max-width:1023px){.promo-pain-layout{grid-template-columns:minmax(0,1fr);gap:28px;max-width:720px;margin:auto}}
#pain-points,#service-movie{scroll-margin-top:100px}
.hero-with-promo .hero-grid{grid-template-columns:minmax(0,1fr);gap:32px}
.hero-with-promo .hero-copy{text-align:center;max-width:1000px;margin:0 auto;width:100%}
.hero-with-promo .hero-rate,.hero-with-promo .hero-custom-title,.hero-with-promo .hero-cta{justify-content:center}
.hero-with-promo .hero-custom-title{font-size:clamp(25px,3vw,36px);margin-top:18px}
.hero-with-promo .promo-figure{width:100%;max-width:880px;margin:0 auto}
.hero-movie-heading{display:flex;justify-content:space-between;align-items:baseline;gap:10px 24px;flex-wrap:wrap;margin-bottom:12px}
.hero-movie-heading .promo-label{margin:0;font-size:10px;letter-spacing:.16em}
.hero-movie-heading .promo-title{margin:0;font-size:13px;font-weight:500;letter-spacing:0;color:var(--text-muted);line-height:1.6}
.hero-with-promo .promo-video{border:1px solid #06323a14;box-shadow:0 22px 60px #06323a1a}
.hero-with-promo .hero-under{margin-top:0}
.hero-with-promo .promo-figure figcaption{font-size:11px}
@media(min-width:768px){
 .hero-with-promo h1.hero-offer-title{display:flex;justify-content:center;align-items:center;gap:32px}
 .hero-with-promo .hero-unlimited{font-size:clamp(32px,4vw,52px)}
 .hero-with-promo .hero-rate{margin:0;padding-left:32px;border-left:1px solid #9cc3c480;gap:6px}
 .hero-with-promo .rate-number{font-size:clamp(66px,6.5vw,84px)}
 .hero-with-promo .rate-period{font-size:24px}
 .hero-with-promo .rate-unit{font-size:36px}
 .hero-with-promo .hero-copy .hero-call{min-height:60px;padding:10px 30px}
}
@media(max-width:767px){
 .promo-pain-layout{grid-template-columns:minmax(0,1fr);gap:28px}
 .promo-title{font-size:23px;margin-bottom:18px}
 .promo-title br{display:block}
 .promo-video{border-radius:12px}
 .promo-pain-copy .btn{width:100%}
 .promo-figure figcaption{font-size:11px}
 .hero-with-promo .hero-under{margin-top:12px}
 .hero-with-promo .hero-grid{gap:24px}
 .hero-movie-heading{display:block}
 .hero-movie-heading .promo-label{margin-bottom:5px}
 .hero-movie-heading .promo-title{font-size:12px}
}
