:root{--navy:#142b55;--navy2:#203c6c;--pink:#f8ebee;--pink-line:#d59aa8;--blue:#edf3fa;--mint:#edf6f2;--text:#243047;--muted:#687184;--line:#d7dde7;--white:#fff;--max:1180px;--serif:"Yu Mincho","Hiragino Mincho ProN","Noto Serif JP",serif;--sans:"Yu Gothic","Hiragino Kaku Gothic ProN","Noto Sans JP",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--text);background:#fff;font-family:var(--sans);font-size:16px;line-height:1.8}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.site-header{height:92px;display:flex;align-items:center;padding:0 clamp(24px,5vw,72px);border-bottom:1px solid #cfd5de;background:#fff;position:relative;z-index:10}.brand{width:min(390px,32vw)}.brand img{width:100%}.desktop-nav{margin-left:auto;display:flex;align-items:center;gap:30px;font-size:14px;font-weight:700;color:var(--navy)}.desktop-nav a{padding:12px 0;border-bottom:2px solid transparent}.desktop-nav a:hover{border-color:var(--pink-line)}.desktop-nav .nav-cta{padding:12px 20px;background:var(--navy);color:#fff;border:0}.menu-button,.mobile-nav{display:none}
.hero{max-width:1536px;margin:0 auto;min-height:680px;display:grid;grid-template-columns:1.02fr .98fr;background:linear-gradient(90deg,#fff 0 54%,#fdf7f8 54%)}.hero-copy{align-self:center;padding:72px clamp(36px,7vw,108px)}.hero h1{font:500 clamp(42px,4.2vw,68px)/1.42 var(--serif);letter-spacing:.035em;color:var(--navy);margin:0 0 30px}.hero-copy>p{font-size:17px;line-height:2.05;margin:0 0 36px}.hero-media{margin:0;position:relative;min-height:680px;overflow:hidden}.hero-media img{width:100%;height:100%;object-fit:cover}.hero-media figcaption{position:absolute;left:0;bottom:0;background:#fff;padding:10px 18px;font-size:12px;color:var(--muted)}.button-row{display:flex;gap:14px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:12px 25px;border:1px solid var(--navy);font-weight:700;font-size:14px;letter-spacing:.04em;transition:.25s}.button::after{content:"→";margin-left:28px}.button.primary{background:var(--navy);color:#fff}.button.secondary{background:#fff;color:var(--navy)}.button:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(20,43,85,.12)}
.section-pad{padding:110px clamp(24px,5vw,64px)}.section-pad>*{max-width:var(--max);margin-left:auto;margin-right:auto}.section-lead{margin:0 0 10px;color:#9d5367;font-size:13px;font-weight:700;letter-spacing:.16em}.promise{text-align:center;background:var(--pink);position:relative}.promise::before,.promise::after{content:"";position:absolute;width:120px;height:200px;opacity:.15;background:linear-gradient(135deg,transparent 50%,var(--pink-line) 50%);clip-path:polygon(0 0,12% 62%,40% 18%,24% 70%,72% 42%,38% 78%,100% 72%,40% 88%,80% 100%,22% 92%)}.promise::before{left:0;top:26px}.promise::after{right:0;bottom:20px;transform:scaleX(-1)}.promise h2,.section-heading h2,.methods h2,.family h2,.results h2,.closing h2{font:500 clamp(34px,3.4vw,52px)/1.5 var(--serif);color:var(--navy);letter-spacing:.035em;margin:0}.promise .intro{max-width:780px;margin:28px auto 50px}.promise-flow{max-width:1080px;display:grid;grid-template-columns:repeat(4,1fr);gap:0;list-style:none;padding:0;margin-top:0}.promise-flow li{padding:18px 22px;border-left:1px solid rgba(20,43,85,.25);display:flex;flex-direction:column;gap:8px}.promise-flow li:last-child{border-right:1px solid rgba(20,43,85,.25)}.promise-flow strong{font:500 22px var(--serif);color:var(--navy)}.promise-flow span{font-size:13px;color:var(--muted)}
.support{background:#fff}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:60px;margin-bottom:48px}.section-heading>p{max-width:360px;margin:0;color:var(--muted)}.year-tabs{display:flex;gap:0;margin-bottom:0;border-bottom:1px solid var(--navy)}.year-tabs button{flex:1;padding:18px 24px;border:0;background:#f6f7f9;color:var(--navy);font:700 16px var(--sans);cursor:pointer}.year-tabs button[aria-selected="true"]{background:var(--navy);color:#fff}.year-tabs button:focus-visible{outline:3px solid var(--pink-line);outline-offset:-4px}.year-panel{display:grid;grid-template-columns:1.1fr .9fr;min-height:470px}.year-panel[hidden]{display:none}.year-panel:not([hidden]){animation:year-panel-in .28s ease both}@keyframes year-panel-in{from{opacity:.35;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.year-copy{padding:58px 64px}.year-number{display:block;font:500 64px/1 var(--serif);color:var(--navy);opacity:.28}.year-copy h3{font:500 34px var(--serif);color:var(--navy);margin:10px 0 16px}.year-copy ul{margin:24px 0 0;padding:0;list-style:none}.year-copy li{padding:9px 0 9px 22px;border-bottom:1px dotted rgba(20,43,85,.25);position:relative}.year-copy li::before{content:"";position:absolute;left:3px;top:20px;width:6px;height:6px;border-radius:50%;background:var(--pink-line)}.year-panel>img{width:100%;height:100%;object-fit:cover}.tone-pink{background:var(--pink)}.tone-blue{background:var(--blue)}.tone-mint{background:var(--mint)}
.methods{background:#f8fafc}.methods-intro{max-width:660px;margin-left:0}.methods-intro>p:last-child{margin-top:24px}.routes{display:grid;grid-template-columns:repeat(4,1fr);margin-top:58px;border-top:1px solid var(--navy);border-bottom:1px solid var(--navy)}.routes article{padding:34px 26px 38px;border-left:1px solid var(--line)}.routes article:last-child{border-right:1px solid var(--line)}.routes span{font:500 15px var(--serif);color:#9d5367}.routes h3{font:500 21px var(--serif);color:var(--navy);margin:15px 0 10px}.routes p{margin:0;font-size:14px;color:var(--muted)}.method-list{display:flex;justify-content:center;gap:0;margin-top:34px}.method-list span{padding:8px 24px;border-right:1px solid var(--line);font-weight:700;color:var(--navy)}.method-list span:first-child{border-left:1px solid var(--line)}
.family{display:grid;grid-template-columns:1fr 1fr;gap:0;max-width:none;padding-left:0;padding-right:0;background:#fff}.family>*{max-width:none;margin:0}.family-photo img{width:100%;height:100%;min-height:560px;object-fit:cover}.family-copy{padding:90px clamp(36px,7vw,110px);align-self:center}.family-copy>p:not(.section-lead){margin:25px 0}.check-list{list-style:none;padding:0;margin:28px 0}.check-list li{padding:14px 0 14px 32px;border-bottom:1px solid var(--line);position:relative}.check-list li::before{content:"✓";position:absolute;left:3px;color:#a64e66;font-weight:700}
.results{background:#fff}.results-heading{align-items:start}.text-link{border-bottom:1px solid var(--navy);padding:12px 0;font-weight:700;color:var(--navy)}.text-link span{margin-left:24px}.result-groups{border-top:2px solid var(--navy)}.result-groups article{display:grid;grid-template-columns:250px 1fr;border-bottom:1px solid var(--line);padding:25px 0}.result-groups h3{font:500 22px var(--serif);color:var(--navy);margin:0;padding:8px 24px}.result-groups dl{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));margin:0}.result-groups dl div{padding:5px 18px;border-left:1px solid var(--line)}.result-groups dt{font-size:13px;min-height:48px}.result-groups dd{font:500 32px var(--serif);color:var(--navy);margin:0}.result-groups dd::after{content:"名";font:500 12px var(--sans);margin-left:4px}.result-note{text-align:right;font-size:12px;color:var(--muted);margin-top:12px}.outcomes{margin-top:80px;padding:50px;background:var(--blue);display:grid;grid-template-columns:360px 1fr;gap:60px}.outcomes h3,.admission-methods h3{font:500 28px/1.5 var(--serif);color:var(--navy);margin:6px 0 14px}.stacked-bar{display:flex;height:34px;margin:26px 0 24px}.stacked-bar span{flex:var(--size);min-width:5px}.c1{background:#8ba9dd}.c2{background:#95cab3}.c3{background:#e5c46a}.c4{background:#7fc2c2}.c5{background:#dfa7a5}.c6{background:#aaa7d0}.c7{background:#aab8ca}.outcome-legend{display:grid;grid-template-columns:repeat(4,1fr);gap:14px 24px;margin:0}.outcome-legend div{display:flex;justify-content:space-between;gap:8px;border-bottom:1px solid rgba(20,43,85,.18)}.outcome-legend dt{font-size:12px}.outcome-legend i{display:inline-block;width:9px;height:9px;margin-right:7px}.outcome-legend dd{font-weight:700;margin:0;color:var(--navy)}.admission-methods{margin-top:34px;padding:45px 50px;border:1px solid var(--line);display:grid;grid-template-columns:330px 1fr;gap:55px}.admission-methods dl{display:grid;grid-template-columns:repeat(5,1fr);margin:0}.admission-methods dl div{padding:0 16px;border-left:1px solid var(--line)}.admission-methods dt{font-size:13px;min-height:50px}.admission-methods dd{margin:0;color:var(--navy)}.admission-methods strong{font:500 34px var(--serif)}.admission-methods span{font-size:12px;color:var(--muted)}
.closing{max-width:none;background:var(--pink);display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;padding-top:80px;padding-bottom:80px}.closing>*{max-width:none;margin:0}.closing-copy{padding-left:max(24px,calc((100vw - var(--max))/2))}.closing-copy p{max-width:600px;margin:25px 0 32px}.closing>img{width:100%;height:430px;object-fit:cover}.closing .button-row{max-width:620px}
footer{padding:50px max(24px,calc((100vw - var(--max))/2));display:grid;grid-template-columns:360px 1fr auto;gap:40px;align-items:center;border-top:1px solid var(--line);background:#fff;color:var(--muted);font-size:12px}footer img{max-width:350px}.sample-label{color:#9d5367;font-weight:700}
@media(max-width:1000px){.desktop-nav{display:none}.menu-button{display:flex;margin-left:auto;width:42px;height:42px;border:0;background:transparent;flex-direction:column;justify-content:center;gap:5px}.menu-button span:not(.sr-only){display:block;width:26px;height:2px;background:var(--navy)}.mobile-nav{position:absolute;top:92px;left:0;right:0;background:#fff;padding:20px 28px;box-shadow:0 10px 25px rgba(20,43,85,.12)}.mobile-nav:not([hidden]){display:grid}.mobile-nav a{padding:12px;border-bottom:1px solid var(--line)}.hero{grid-template-columns:1fr;min-height:0}.hero-copy{order:2;padding:58px 8vw}.hero-media{min-height:480px;order:1}.promise-flow,.routes{grid-template-columns:repeat(2,1fr)}.promise-flow li:nth-child(3),.promise-flow li:nth-child(4){border-top:1px solid rgba(20,43,85,.25)}.year-panel{grid-template-columns:1fr}.year-panel>img{height:380px}.methods-intro{margin-left:auto}.family{grid-template-columns:1fr}.result-groups article{grid-template-columns:1fr}.result-groups dl{grid-template-columns:repeat(3,1fr)}.outcomes,.admission-methods{grid-template-columns:1fr}.admission-methods dl{grid-template-columns:repeat(3,1fr)}.closing{grid-template-columns:1fr}.closing-copy{padding:0 8vw}.closing>img{width:84%;margin-left:auto}footer{grid-template-columns:1fr 1fr}footer .sample-label{grid-column:1/-1}}
@media(max-width:640px){body{font-size:15px}.site-header{height:72px;padding:0 20px}.brand{width:260px;max-width:75vw}.mobile-nav{top:72px}.hero-media{min-height:360px}.hero h1{font-size:36px}.hero-copy{padding:46px 24px}.button-row{display:grid}.button{width:100%}.section-pad{padding:76px 20px}.promise h2,.section-heading h2,.methods h2,.family h2,.results h2,.closing h2{font-size:32px}.promise-flow,.routes{grid-template-columns:1fr}.promise-flow li{border-right:1px solid rgba(20,43,85,.25);border-top:1px solid rgba(20,43,85,.25)}.section-heading{display:block}.section-heading>p,.text-link{display:block;margin-top:20px}.year-tabs button{padding:14px 8px;font-size:13px}.year-copy{padding:38px 24px}.year-panel>img{height:260px}.routes article{border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.method-list{display:grid;grid-template-columns:1fr 1fr}.method-list span{border:1px solid var(--line);text-align:center;padding:8px}.family-copy{padding:60px 24px}.family-photo img{min-height:320px}.result-groups article{padding:22px 0}.result-groups dl{grid-template-columns:1fr 1fr}.result-groups dl div{padding:12px}.outcomes,.admission-methods{padding:30px 22px}.outcome-legend{grid-template-columns:1fr 1fr}.admission-methods dl{grid-template-columns:1fr 1fr}.closing{padding-left:0;padding-right:0}.closing-copy{padding:0 24px}.closing>img{width:100%;height:300px}footer{grid-template-columns:1fr;padding:36px 24px}footer img{max-width:290px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}.year-panel:not([hidden]){animation:none}}

/* 指定校推薦の公開情報を主役にする追加セクション */
.designated{background:var(--navy);color:#fff}.designated>*{max-width:var(--max)}.designated .section-lead{color:#f0bdc8}.designated-title{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:end}.designated-title .section-lead{grid-column:1/-1;margin-bottom:-65px}.designated h2{font:500 clamp(34px,3.4vw,52px)/1.5 var(--serif);letter-spacing:.035em;margin:0;color:#fff}.designated-title>p:last-child{margin:0;color:#d8dfeb}.designated-proof{display:grid;grid-template-columns:repeat(3,1fr);margin-top:60px;border-top:1px solid rgba(255,255,255,.34);border-bottom:1px solid rgba(255,255,255,.34)}.proof-number{padding:34px 22px;border-left:1px solid rgba(255,255,255,.22);display:flex;flex-direction:column}.proof-number:last-child{border-right:1px solid rgba(255,255,255,.22)}.proof-number strong{font:500 clamp(42px,4vw,58px)/1.1 var(--serif);color:#fff;white-space:nowrap}.proof-number em{font:500 16px var(--sans);font-style:normal;margin-left:3px}.proof-number span{font-weight:700;margin-top:8px}.proof-number small{color:#bec9da;margin-top:7px}.proof-number.accent{background:#fff;color:var(--navy)}.proof-number.accent strong{color:#9d5367}.proof-number.accent small{color:var(--muted)}.availability-note{width:100%;margin:18px auto 0;color:#d8dfeb;font-size:14px}.university-rail{margin-top:50px}.university-rail>div{display:grid;grid-template-columns:220px 1fr;gap:28px;padding:24px 0;border-bottom:1px solid rgba(255,255,255,.2)}.university-rail h3{font:500 21px var(--serif);margin:0;color:#f7c9d2}.university-rail p{margin:0;color:#e8edf5}.university-rail b{color:#fff}.designated-note{margin-top:45px;padding:30px 36px;background:rgba(255,255,255,.08);display:grid;grid-template-columns:300px 1fr;gap:40px}.designated-note h3{font:500 22px/1.6 var(--serif);margin:0;color:#fff}.designated-note p{margin:0;color:#d8dfeb}.method-highlight{font-size:13px;color:var(--muted);margin:14px 0 0}.method-highlight strong{font:700 15px var(--sans);color:#9d5367}

@media(max-width:1000px){.designated-title{grid-template-columns:1fr;gap:24px}.designated-title .section-lead{grid-column:auto;margin-bottom:0}.designated-proof{grid-template-columns:repeat(3,1fr)}.proof-number{border-right:1px solid rgba(255,255,255,.22);border-bottom:1px solid rgba(255,255,255,.22)}.designated-note{grid-template-columns:1fr}}
@media(max-width:640px){.designated-proof{grid-template-columns:1fr}.university-rail>div{grid-template-columns:1fr;gap:8px}.designated-note{padding:24px}}
@media(max-width:520px){.designated-proof{grid-template-columns:1fr}.proof-number strong{font-size:52px}}

/* 第一画面の見出しを2〜3行で安定させる */
.hero{grid-template-columns:1.08fr .92fr}.hero-copy{padding-left:clamp(36px,5vw,78px);padding-right:clamp(36px,5vw,78px)}.hero h1{font-size:clamp(40px,3.55vw,56px)}
@media(max-width:1000px){.hero{grid-template-columns:1fr}.hero h1{font-size:clamp(38px,6vw,56px)}}
