@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@700;800;900&display=swap');
/* Header, hero and chapters 01–03. */
body{font-size:16px}.header{height:92px;gap:35px}.header .brand img{width:155px}.header nav{font-size:15px;gap:32px}.header .btn{font-size:14px;padding:16px 20px}.header .btn small{font-size:11px;background:#ffffff25;padding:3px 6px;border-radius:2px}.hero{display:grid;grid-template-columns:1.08fr 1fr;min-height:690px;background:#102247;padding-bottom:58px}.hero-copy{padding:65px 0 65px var(--page)}.hero-label{font-size:14px;letter-spacing:.07em;border-bottom:1px solid #8199c7;padding-bottom:12px;margin:0 0 35px}.hero-pre{font-size:18px;margin:0 0 18px}.hero h1{font-family:'Noto Serif JP','Yu Mincho',serif;font-size:clamp(34px,3.6vw,59px);font-weight:800;line-height:1.7;letter-spacing:-.05em;position:relative;z-index:2}.hero h1 span{color:#d3e2ff}.hero-description{font-size:16px;color:#e0e7f4;margin:28px 0 32px}.hero-actions .btn{font-size:15px;min-height:62px}.hero-bottom{font-size:13px;gap:22px;margin-top:25px}.hero-person{margin:0;position:relative;overflow:hidden;min-height:570px}.hero-person img{width:100%;height:100%;position:absolute;object-fit:cover;object-position:67% center}.hero-person:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#102247,transparent 30%)}.hero-person figcaption{position:absolute;bottom:16px;right:20px;font-size:11px;color:#fff;z-index:2;text-shadow:0 1px 4px #000}.hero-ribbon{position:absolute;bottom:0;left:0;right:0;background:#dbe7ff;color:#183462;min-height:58px;display:flex;align-items:center;justify-content:center;gap:18px;font-size:15px;letter-spacing:.05em}.hero-ribbon span{font-weight:800}.section .eyebrow{font-size:14px;letter-spacing:.07em;font-weight:700}.section h2{font-size:clamp(32px,3.2vw,46px)}.schedule .section-heading{align-items:center}.schedule .section-intro{font-size:16px}.schedule-toolbar{font-size:13px}.event-grid{gap:25px}.event-card{display:flex;flex-direction:column;border:1.5px solid #20385f;border-radius:13px;box-shadow:3px 4px 0 #20385f18}.event-head{display:block;background:#19376b;color:white;padding:20px 20px;border:0}.event-date{font-size:clamp(27px,2.65vw,39px);color:white;letter-spacing:-1px;font-weight:900;white-space:nowrap;font-variant-numeric:tabular-nums;line-height:1.35}.event-date small{font-size:.68em;font-weight:700;letter-spacing:0}.event-date span{font-size:.42em;letter-spacing:0;margin-left:3px}.event-content{padding:23px;display:flex;flex-direction:column;flex:1}.event-type{align-self:start;font-size:12px;padding:4px 10px;border-radius:4px;font-weight:700}.event-meta{display:flex;gap:14px;flex-wrap:wrap;margin-top:13px}.event-meta p{display:flex;align-items:center;gap:7px;margin:0;font-size:15px;font-weight:700;white-space:nowrap}.event-meta p>span{font-size:22px;color:#3559a1}.event-meta svg{width:18px;height:20px;stroke:#3559a1;fill:none;stroke-width:1.8}.event-industries{font-size:12px;line-height:1.9;color:#626e80;min-height:48px;margin:15px 0 22px}.event-content .btn{font-size:15px;min-height:53px;margin-top:auto;padding:15px 18px;border-radius:6px}.schedule-note{font-size:12px;line-height:2}.about{display:block;background:#edf3fc;text-align:center;padding-top:95px;padding-bottom:95px}.about-title h2{font-size:clamp(31px,3.5vw,50px);line-height:1.65}.worry-bubbles{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin:40px auto 60px;max-width:1080px}.worry-bubbles p{position:relative;background:white;padding:27px 16px;border-radius:18px;font-size:17px;line-height:1.9;box-shadow:0 5px 0 #dce7f7;margin:0}.worry-bubbles p:after{content:'';position:absolute;bottom:-14px;left:47%;border-left:12px solid transparent;border-right:12px solid transparent;border-top:15px solid white}.worry-bubbles strong{font-size:20px;color:#254c9a}.about-answer{display:grid;grid-template-columns:1fr 1.1fr;text-align:left;align-items:center;background:white;border-radius:18px;overflow:hidden;max-width:1120px;margin:auto;box-shadow:0 15px 45px #18396e09}.about-answer figure{position:relative;margin:0;min-width:0;height:380px;overflow:hidden}.about-answer figure img{width:100%;height:100%;object-fit:cover;object-position:center top}.about-answer figcaption{position:absolute;bottom:0;left:0;right:0;background:#102247b3;color:white;padding:8px 15px;font-size:10px}.about-answer>div{padding:35px 38px}.answer-label{font-size:14px;color:#49699f;font-weight:700}.about-answer h3{font-family:'Noto Serif JP',serif;font-size:clamp(26px,2.6vw,38px);line-height:1.8;margin:14px 0 20px}.about-answer h3 em{font-style:normal;color:#3159bd;background:linear-gradient(transparent 75%,#e5edff 75%)}.about-answer p{font-size:16px;line-height:2}.about-answer .text-link{font-size:14px;margin-top:10px;color:#2e57b2}.reasons{background:white}.reasons .section-intro{font-size:16px}.feature-panels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}.feature-panel{border:1px solid #dce4f0;background:#f7f9fd;border-radius:16px;padding:26px 24px 29px;display:flex;flex-direction:column}.feature-title>span{font-size:15px;color:#4f72b0;font-weight:800;letter-spacing:1px}.feature-title h3{font-size:23px;line-height:1.7;margin:12px 0 25px}.feature-panel>p{font-size:15px;line-height:2;color:#52617a;margin:24px 0 0}.secret-diagram,.time-diagram,.feature-photo{height:190px;flex-shrink:0}.secret-diagram{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;background:#e5edfc;border-radius:8px;padding:12px}.secret-diagram>div{width:100%;background:white;border-radius:5px;padding:9px;text-align:center;display:grid;grid-template-columns:1fr 1.3fr;align-items:center;gap:3px}.secret-diagram small{font-size:11px;color:#6b7e9d}.secret-diagram strong{font-size:17px}.secret-diagram div span{grid-column:1/-1;font-size:11px;color:#637695}.secret-diagram>b{font-size:22px;line-height:1;transform:rotate(90deg);color:#5679b4}.feature-photo{position:relative;overflow:hidden;border-radius:8px}.feature-photo img{width:100%;height:100%;object-fit:cover;object-position:center top}.feature-photo>span{position:absolute;bottom:0;left:0;right:0;background:#11264bd9;color:white;font-size:12px;padding:9px;text-align:center}.time-diagram{background:#e5edfc;border-radius:8px;padding:25px 12px;display:flex;flex-direction:column;justify-content:center}.time-diagram>div:first-child{display:flex;justify-content:center;gap:12px;align-items:center;font-size:23px;letter-spacing:-1px}.time-diagram>div:first-child>span{font-size:20px;color:#7390c1}.company-boxes{display:flex;justify-content:center;gap:5px;margin-top:22px}.company-boxes>span{background:white;color:#244e9e;border:1px solid #a9bde1;border-radius:4px;min-width:43px;height:45px;display:flex;justify-content:center;align-items:center;flex-direction:column;font-size:13px;font-weight:700}.company-boxes>span:last-child{border-style:dashed;min-width:65px;background:transparent}.company-boxes small{font-size:8px;font-weight:400}.program-intro>p:not(.eyebrow),.timeline p,.access-info dd,.faq-list details p{font-size:15px}.timeline h3{font-size:18px}.faq-list summary{font-size:16px}.access-info dt{font-size:13px}
@media(max-width:1050px){.header{gap:22px}.header nav{font-size:14px;gap:20px}.header .brand img{width:130px}.header .btn{font-size:12px;padding:14px}.hero-pre{font-size:15px}.hero-description{font-size:14px}.hero-actions .btn{font-size:13px;padding:19px 17px}.event-grid{grid-template-columns:repeat(2,1fr)}.event-date{font-size:37px}.feature-panels{gap:15px}.feature-panel{padding:20px 16px}.feature-title h3{font-size:20px}.secret-diagram strong{font-size:14px}.time-diagram>div:first-child{font-size:19px;gap:8px}.company-boxes{gap:3px}.company-boxes>span{min-width:33px;font-size:11px}.company-boxes>span:last-child{min-width:53px}.about-answer>div{padding:25px}.worry-bubbles strong{font-size:17px}.worry-bubbles p{font-size:15px}}
@media(max-width:760px){.header{height:76px;gap:14px}.header .brand img{width:112px}.header .btn{font-size:11px;padding:12px;gap:10px}.header .btn small{font-size:9px}.hero{display:flex;flex-direction:column;padding-bottom:0}.hero-copy{padding:34px 24px 29px;order:1}.hero-label{font-size:11px;margin-bottom:25px;padding-bottom:10px}.hero-pre{font-size:14px;margin-bottom:13px}.hero h1{font-size:clamp(27px,7.5vw,46px);line-height:1.7;letter-spacing:-.055em}.hero-description{font-size:15px;line-height:2;margin:20px 0 24px}.hero-actions{width:100%}.hero-actions .btn{font-size:14px;min-height:56px;width:100%;padding:18px 20px}.hero-bottom{font-size:12px;margin-top:20px}.hero-person{order:2;min-height:0;height:300px;margin:0 24px 24px;border-radius:6px}.hero-person img{object-position:67% 27%;height:100%}.hero-person:after{display:none}.hero-person figcaption{font-size:10px;bottom:10px;right:12px;text-shadow:0 1px 5px #000}.hero-ribbon{position:static;order:3;flex-direction:column;gap:2px;padding:14px 20px;font-size:13px;line-height:1.8;min-height:65px}.hero-ribbon span{font-size:15px}.section .eyebrow{font-size:12px}.section h2{font-size:30px}.schedule .section-heading{align-items:flex-start}.schedule .section-intro{font-size:15px}.schedule-toolbar{font-size:11px;align-items:start;gap:15px}.event-grid{grid-template-columns:1fr;gap:22px}.event-card{display:flex;flex-direction:column;border-radius:12px}.event-head{border:0;padding:18px 22px;display:block}.event-date{font-size:36px;letter-spacing:-1.2px;white-space:nowrap}.event-date small{font-size:25px}.event-date span{font-size:16px}.event-content{padding:22px}.event-type{font-size:12px;width:auto;white-space:nowrap;margin:0;padding:4px 10px}.event-meta{gap:18px;margin-top:15px}.event-meta p{font-size:15px}.event-industries{font-size:12px;min-height:0;margin:13px 0 19px}.event-content .btn{font-size:16px;min-height:54px;padding:16px 19px}.schedule-note{font-size:11px}.about{padding-top:60px;padding-bottom:60px}.about-title h2{font-size:29px;line-height:1.8}.worry-bubbles{grid-template-columns:1fr;gap:20px;margin:29px 0 40px}.worry-bubbles p{padding:20px 18px;font-size:16px;text-align:left}.worry-bubbles p br{display:none}.worry-bubbles strong{font-size:18px}.worry-bubbles p:after{left:auto;right:25px;border-width:10px;border-bottom-width:0;bottom:-9px}.about-answer{grid-template-columns:1fr;border-radius:12px}.about-answer figure{height:265px}.about-answer figure img{object-position:center top}.about-answer>div{padding:27px 24px 30px}.answer-label{font-size:13px}.about-answer h3{font-size:30px;line-height:1.8;margin-top:12px}.about-answer p{font-size:15px}.about-answer .text-link{font-size:14px}.feature-panels{grid-template-columns:1fr;gap:25px}.feature-panel{padding:25px;border-radius:12px}.feature-title>span{font-size:15px}.feature-title h3{font-size:26px;margin:10px 0 22px}.feature-panel>p{font-size:15px;line-height:2;margin-top:22px}.reasons .section-intro{font-size:15px}.secret-diagram,.time-diagram,.feature-photo{height:210px}.secret-diagram{padding:15px}.secret-diagram small{font-size:12px}.secret-diagram strong{font-size:19px}.secret-diagram div span{font-size:12px}.time-diagram>div:first-child{font-size:28px;gap:17px}.company-boxes{gap:7px}.company-boxes>span{font-size:14px;min-width:45px;height:50px}.company-boxes>span:last-child{min-width:68px}.company-boxes small{font-size:9px}.feature-photo>span{font-size:13px}.program-intro>p:not(.eyebrow),.timeline p,.access-info dd,.faq-list details p{font-size:15px}.timeline h3{font-size:17px}.faq-list summary{font-size:15px}.access-info dt{font-size:12px}}
@media(prefers-reduced-motion:no-preference){.hero:before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 20% 15%,#3a62ad55,transparent 65%);pointer-events:none;animation:ambient-light 50s ease-in-out infinite alternate}.hero-person{z-index:1}.hero-ribbon{z-index:3}@keyframes ambient-light{to{transform:translate(-6%,8%);opacity:.4}}}

/* Chapter names establish the section hierarchy; editorial copy stays secondary. */
.section .chapter-title{display:table;position:relative;font-family:inherit;font-size:clamp(30px,3vw,44px);font-weight:800;line-height:1.4;letter-spacing:.025em;color:#142747;margin:0 0 25px;padding:0 0 17px;border-bottom:2px solid #cbd8ec;text-wrap:balance}
.section .chapter-title:after{content:"";position:absolute;left:0;bottom:-2px;width:52px;height:4px;background:#477fda}
.section .chapter-copy{font-size:clamp(24px,2.5vw,36px);font-weight:700;line-height:1.65;letter-spacing:-.025em;margin:0;color:#243b60;text-wrap:balance}
.about .chapter-title{margin-left:auto;margin-right:auto}.about .chapter-title:after{left:calc(50% - 26px)}
.reasons>.chapter-title{margin-bottom:27px}
.program .chapter-title{color:#fff;border-color:#536582}.program .chapter-title:after{background:#83adf5}
.program-intro>p.chapter-copy{font-size:clamp(24px,2.5vw,36px);color:#fff;line-height:1.65;margin:0}
.feature-title h3{margin-top:0}
.access-info .chapter-title{font-size:clamp(28px,2.7vw,40px)}
@media(max-width:760px){
.section .chapter-title,.access-info .chapter-title{font-size:29px;padding-bottom:14px;margin-bottom:21px;line-height:1.4;letter-spacing:0}
.section .chapter-copy,.program-intro>p.chapter-copy{font-size:24px;line-height:1.7;margin:0}
.section .chapter-title:after{width:42px}.about .chapter-title:after{left:calc(50% - 21px)}
.feature-title h3{margin-top:0}
}

/* Center the section introductions, while preserving left-aligned reading text. */
.section-heading{flex-direction:column;align-items:center!important;text-align:center;gap:22px}
.section-heading>div{max-width:100%;margin:auto}
.section .chapter-title,.access-info .chapter-title{margin-left:auto;margin-right:auto;text-align:center}
.section .chapter-copy,.section-intro,.program-intro,.access-info>.chapter-copy,.faq>div:first-child{text-align:center}
.reasons>.chapter-title{margin-bottom:28px}
.btn{position:relative;justify-content:center;text-align:center;padding-left:47px;padding-right:47px}
.btn>span[aria-hidden],.event-content .btn>span,.hero-cta .btn>span{position:absolute;right:17px;top:50%;transform:translateY(-50%);font-size:21px}
.header .btn{justify-content:center;padding-left:19px;padding-right:43px;gap:10px;white-space:nowrap}
.header .btn small{flex:none}
@media(hover:hover){.btn:hover>span[aria-hidden],.event-content .btn:hover>span{transform:translate(2px,calc(-50% - 2px))}}
.program-clock{display:flex;align-items:center;justify-content:center;gap:25px;margin-top:34px;color:#fff;font-size:inherit;letter-spacing:0}
.program-time{display:flex;flex-direction:column;align-items:flex-start;gap:7px}
.program-time>span{font-size:14px;color:#cfddf6;line-height:1.4;font-weight:600;letter-spacing:.04em}
.program-time>strong{font-family:Arial,sans-serif;font-size:clamp(35px,3.4vw,48px);font-weight:800;line-height:1.1;letter-spacing:-.03em}
.program-clock>.program-time-arrow{font-size:24px;color:#a7bfe9;margin-top:24px}

.header .btn{display:inline-flex;align-items:center;justify-content:center;line-height:1;min-height:48px;padding-top:0;padding-bottom:0}
.header .btn small{display:inline-flex;align-items:center;justify-content:center;line-height:1;padding:5px 6px;margin:0}
.feature-times{display:flex;align-items:center;justify-content:center;gap:14px!important;letter-spacing:0!important}
.feature-time{display:flex;flex-direction:column;align-items:flex-start;gap:7px;min-width:0}
.feature-time>span{font-size:11px;line-height:1.3;letter-spacing:.025em;color:#526a94;font-weight:600}
.feature-time>strong{font-family:Arial,sans-serif;font-size:clamp(23px,2.2vw,31px);line-height:1.1;letter-spacing:-.04em}
.feature-times>span{margin-top:19px}
@media(max-width:760px){.feature-time>span{font-size:12px}.feature-time>strong{font-size:30px}.header .btn{min-height:44px}}
