/* Course campaign: LP4 banner + LP5 full explanation. Scoped to prevent conflicts with existing site. */
.course-campaign-insert{margin:50px 0 0; font-family:"Noto Sans JP",sans-serif; box-sizing:border-box;}
.course-campaign-insert *, .course-campaign-insert *::before,.course-campaign-insert *::after{box-sizing:border-box}
.course-campaign-insert .campaign-mv-badge{display:block;max-width:580px;width:calc(100% - 40px);margin:0 auto 35px;padding:24px 34px;text-decoration:none!important;color:#fff!important;border:1px solid rgba(255,215,91,.75);background:linear-gradient(120deg,#051a41,#004989);box-shadow:0 10px 30px rgba(0,0,0,.20);text-align:left;line-height:1.55}
.course-campaign-insert .campaign-mv-badge span{color:inherit}
.course-campaign-insert .campaign-mv-badge .campaign-kicker{display:block;margin-bottom:7px;color:#ffe38a;font-size:20px;font-weight:700;letter-spacing:.04em}
.course-campaign-insert .campaign-mv-badge .campaign-support{display:block;margin:8px 0 9px;font-size:18px;font-weight:500}
.course-campaign-insert .campaign-mv-badge strong{display:block;font-size:42px;line-height:1.25;letter-spacing:.01em}
.course-campaign-insert .campaign-mv-badge strong small{font-size:17px;font-weight:400}
.course-campaign-insert .campaign-mv-badge .campaign-meta{display:block;margin-top:9px;font-size:13px;line-height:1.6;white-space:nowrap}
.course-campaign-insert .campaign-mv-badge .latin-em{display:inline-block;font-size:1.12em;line-height:.9;vertical-align:-.03em}
.course-campaign-insert .campaign-section{width:100%;max-width:1150px;margin:0 auto 50px;padding:100px 4vw;color:#fff;text-align:center;background:radial-gradient(circle at 50% 0,#123c72 0,#061a36 42%,#020913 100%);border-top:1px solid #264d78;border-bottom:1px solid #264d78}
.course-campaign-insert .campaign-inner{width:min(920px,100%);margin:auto}
.course-campaign-insert .campaign-label{margin:0 0 18px;color:#e6c76b;font-size:14px;font-weight:700;letter-spacing:.28em}
.course-campaign-insert .campaign-section h2{margin:0 0 12px;color:#fff;font-family:"Zen Old Mincho",serif;font-size:48px;font-weight:400;line-height:1.45;letter-spacing:normal}
.course-campaign-insert .campaign-section h3{margin:0 0 50px;color:#f1d679;font-size:24px;font-weight:500;line-height:1.6}
.course-campaign-insert .campaign-copy{font-family:"Zen Old Mincho",serif;font-size:18px;line-height:2.1}
.course-campaign-insert .campaign-copy p{margin:0 0 24px;color:#fff;font-size:inherit;line-height:inherit}
.course-campaign-insert .campaign-price{width:min(650px,100%);margin:55px auto 35px;padding:38px 25px;border:1px solid rgba(230,199,107,.75);background:rgba(0,0,0,.22)}
.course-campaign-insert .campaign-normal{color:#fff;font-size:24px}
.course-campaign-insert .campaign-normal span,.course-campaign-insert .campaign-special span{display:block;margin-bottom:6px;font-size:14px}
.course-campaign-insert .campaign-normal small,.course-campaign-insert .campaign-special small{font-size:14px}
.course-campaign-insert .campaign-arrow{display:block;margin:8px 0;color:#e6c76b;font-size:28px}
.course-campaign-insert .campaign-special strong{display:block;color:#f5dc82;font-size:58px;line-height:1.15}
.course-campaign-insert .campaign-no-fee{display:inline-block;margin:22px 0 0;padding:7px 20px;color:#061a36;font-size:15px;font-weight:700;background:#f5dc82}
.course-campaign-insert .campaign-message{margin:0;color:#fff;font-family:"Zen Old Mincho",serif;font-size:23px;line-height:1.8}
.course-campaign-insert .campaign-deadline{display:inline-block;margin:28px 0 0;padding-top:12px;color:#f5dc82;font-size:15px;font-weight:700;border-top:1px solid rgba(245,220,130,.5)}
@media(min-width:768px) and (max-width:1024px){
.course-campaign-insert .campaign-section h2{font-size:34px;letter-spacing:.1em}
}
@media(max-width:767px){
.course-campaign-insert{margin-top:35px}
.course-campaign-insert .campaign-mv-badge{width:calc(100% - 24px);margin-bottom:20px;padding:14px 14px}
.course-campaign-insert .campaign-mv-badge .campaign-kicker{font-size:clamp(11px,3.1vw,17px)}
.course-campaign-insert .campaign-mv-badge .campaign-support{font-size:clamp(11px,3vw,16px)}
.course-campaign-insert .campaign-mv-badge strong{font-size:clamp(23px,6.4vw,38px)}
.course-campaign-insert .campaign-mv-badge strong small{font-size:12px}
.course-campaign-insert .campaign-mv-badge .campaign-meta{font-size:clamp(9px,2.5vw,13px);white-space:normal}
.course-campaign-insert .campaign-section{padding:16vw 5vw;margin-bottom:35px}
.course-campaign-insert .campaign-section h2{font-size:5vw;letter-spacing:0}
.course-campaign-insert .campaign-section h3{margin-bottom:8vw;font-size:4.6vw}
.course-campaign-insert .campaign-copy{font-size:3.7vw;line-height:2}
.course-campaign-insert .campaign-price{margin:9vw auto 6vw;padding:7vw 4vw}
.course-campaign-insert .campaign-special strong{font-size:10vw}
.course-campaign-insert .campaign-message{font-size:4.5vw}
.course-campaign-insert .campaign-deadline{font-size:3vw}
}

/* Match the existing .promise .inner h3 heading, overriding #price heading rules. */
#price .course-campaign-insert .campaign-section h2 {font-family:"Zen Old Mincho",serif !important;font-size:48px !important;font-weight:400 !important;letter-spacing:normal !important;line-height:1.45 !important;}
@media (max-width:1024px){#price .course-campaign-insert .campaign-section h2{font-size:34px !important;letter-spacing:.1em !important;}}
@media (max-width:767.98px){#price .course-campaign-insert .campaign-section h2{font-size:5vw !important;letter-spacing:0 !important;}}
