:root{
  --navy:#0c315f; --navy2:#082544; --blue:#2b65a3; --gold:#b9903d;
  --ink:#182337; --muted:#667386; --bg:#f5f7fa; --line:#dde4ec; --white:#fff;
}
*{box-sizing:border-box} html{scroll-behavior:smooth}
body{margin:0;font-family:"Noto Sans JP",system-ui,sans-serif;color:var(--ink);background:white;line-height:1.8}
a{color:inherit;text-decoration:none}.container{width:min(1120px,calc(100% - 40px));margin:auto}
.site-header{height:78px;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);position:sticky;top:0;z-index:30;border-bottom:1px solid rgba(12,49,95,.08)}
.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between}
.brand{display:flex;align-items:center;gap:10px;color:var(--navy)}
.brand-mark{font-size:34px;font-weight:700;line-height:1;color:var(--gold)}
.brand b{display:block;font-size:15px;letter-spacing:.05em}.brand small{display:block;font-size:9px;letter-spacing:.16em;color:#7b8797}
.nav{display:flex;align-items:center;gap:28px;font-size:13px;font-weight:600;color:#34465d}
.nav a:hover{color:var(--blue)}.nav-cta{background:var(--navy);color:white!important;padding:11px 18px;border-radius:4px}
.nav-toggle{display:none;border:0;background:none;font-size:25px;color:var(--navy)}
.hero{min-height:720px;position:relative;display:flex;align-items:center;color:white;overflow:hidden}
.hero-media{position:absolute;inset:0;background:url("assets/campus-hero.jpg") center/cover no-repeat;transform:scale(1.01)}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,29,58,.88) 0%,rgba(6,29,58,.64) 45%,rgba(6,29,58,.12) 82%)}
.hero-content{position:relative;padding-top:40px}
.eyebrow,.section-kicker{font-size:12px;font-weight:700;letter-spacing:.18em;color:var(--gold);margin:0 0 14px}
.hero h1{font-family:"Noto Serif JP",serif;font-size:58px;line-height:1.35;margin:0 0 20px;letter-spacing:.03em}
.hero-lead{font-size:17px;line-height:2;margin-bottom:32px}.hero-actions{display:flex;gap:14px}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:13px 22px;border-radius:4px;font-weight:700;font-size:14px;transition:.2s}
.btn.primary{background:var(--gold);color:white}.btn.ghost{border:1px solid rgba(255,255,255,.7);color:white;background:rgba(255,255,255,.06)}
.btn:hover{transform:translateY(-1px);opacity:.92}
.section{padding:92px 0}.section.alt{background:var(--bg)}
.split{display:grid;grid-template-columns:1fr 1.45fr;gap:70px;align-items:start}
.section h2{font-family:"Noto Serif JP",serif;font-size:38px;line-height:1.5;color:var(--navy);margin:0 0 20px}
.intro-copy p,.about p{font-size:16px;color:#445166;margin:0 0 18px}
.center{text-align:center}.section-lead{max-width:740px;margin:0 auto 42px;color:var(--muted)}
.cards{display:grid;gap:18px}.cards.four{grid-template-columns:repeat(4,1fr)}
.card{background:white;border:1px solid var(--line);padding:30px 24px;min-height:260px;position:relative;box-shadow:0 8px 25px rgba(13,42,76,.045)}
.card .icon{font-family:Georgia,serif;color:var(--gold);font-size:28px;font-weight:700;margin-bottom:30px}
.card h3{color:var(--navy);font-size:18px;margin:0 0 12px}.card p{color:#627084;font-size:14px;margin:0}
.partnership{padding:0}.partnership-grid{display:grid;grid-template-columns:1fr 1fr;min-height:650px}
.partnership-photo{background:url("assets/campus-secondary.jpg") center/cover no-repeat;min-height:560px}
.partnership-copy{padding:80px 7vw;background:linear-gradient(135deg,#fff 0,#f4f7fb 100%);display:flex;flex-direction:column;justify-content:center}
.partnership-copy p{color:#5d6979}.benefits{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:26px 0}
.benefits div{border-left:3px solid var(--gold);padding:8px 12px;background:white}
.benefits b,.benefits span{display:block}.benefits b{color:var(--navy);font-size:14px}.benefits span{font-size:12px;color:#7b8796}
.text-link{color:var(--navy);font-weight:700}.text-link span{color:var(--gold);margin-left:8px}
.flow-section{background:#fff}.flow{display:grid;grid-template-columns:1fr auto 1.2fr auto 1fr auto 1fr;gap:14px;align-items:center;margin-top:42px}
.flow-item{border:1px solid var(--line);text-align:center;padding:24px 14px;background:#fff}.flow-item.featured{background:var(--navy);color:white;border-color:var(--navy)}
.flow-item span,.flow-item small{display:block}.flow-item span{font-weight:700;font-size:18px}.flow-item small{font-size:12px;margin-top:4px;color:#778395}.flow-item.featured small{color:#c9d7e6}
.flow-arrow{font-size:28px;color:var(--gold)}
.representative{display:grid;grid-template-columns:.8fr 1.5fr;gap:70px}.rep-name{font-size:24px;color:var(--navy);font-weight:700}.rep-name span{font-size:12px;color:#8b96a5;margin-left:12px;font-weight:500}
.rep-content>p{font-size:15px;color:#4f5d70}.rep-meta{margin-top:28px;border-top:1px solid var(--line)}
.rep-meta div{display:grid;grid-template-columns:110px 1fr;gap:20px;padding:18px 0;border-bottom:1px solid var(--line)}
.rep-meta b{color:var(--navy)}.rep-meta span{color:#667386;font-size:14px}
.cta{background:linear-gradient(120deg,var(--navy2),var(--navy));color:white}.cta-inner{display:flex;justify-content:space-between;align-items:center;gap:30px}
.cta h2{color:white}.cta p{color:#d5e0ec}.section-kicker.light{color:#e1be74}.btn.gold{background:var(--gold);color:white;min-width:190px}
footer{background:#071c34;color:white;padding:44px 0}.footer-inner{display:grid;grid-template-columns:1fr auto;align-items:center;gap:30px}.footer-brand{color:white}
.footer-links{display:flex;gap:22px;font-size:12px;color:#bfcbd7}.copyright{grid-column:1/-1;color:#77879a;font-size:11px;border-top:1px solid rgba(255,255,255,.1);padding-top:20px;margin:0}
@media(max-width:900px){
 .nav-toggle{display:block}.nav{display:none;position:absolute;top:78px;left:0;right:0;background:white;padding:24px 20px;flex-direction:column;align-items:flex-start;border-bottom:1px solid var(--line)}
 .nav.open{display:flex}.hero{min-height:620px}.hero h1{font-size:42px}.desktop{display:none}
 .split,.partnership-grid,.representative{grid-template-columns:1fr}.cards.four{grid-template-columns:1fr 1fr}.partnership-photo{min-height:360px}
 .flow{grid-template-columns:1fr}.flow-arrow{transform:rotate(90deg);text-align:center}.cta-inner{align-items:flex-start;flex-direction:column}
}
@media(max-width:560px){
 .container{width:min(100% - 28px,1120px)}.site-header{height:68px}.nav{top:68px}.brand b{font-size:13px}
 .hero{min-height:600px}.hero h1{font-size:34px}.hero-lead{font-size:14px}.hero-actions{flex-direction:column;align-items:flex-start}
 .section{padding:68px 0}.section h2{font-size:30px}.cards.four{grid-template-columns:1fr}.benefits{grid-template-columns:1fr}
 .partnership-copy{padding:55px 22px}.rep-meta div{grid-template-columns:1fr;gap:5px}.footer-inner{grid-template-columns:1fr}.footer-links{flex-wrap:wrap}
}