:root{--navy:#082f65;--blue:#0d74c8;--green:#168b4d;--orange:#ec6a1b;--pink:#d92c66;--gold:#c89217;--ink:#19334c;--muted:#5f7182;--canvas:#eef2f5;--paper:#fff}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--canvas);color:var(--ink);font-family:"Hiragino Sans","Yu Gothic",Meiryo,sans-serif;font-size:17px;line-height:1.8}img{max-width:100%}.site-header{position:sticky;top:0;z-index:20;height:84px;padding:7px clamp(18px,5vw,72px);display:flex;align-items:center;justify-content:space-between;background:rgba(255,255,255,.97);border-bottom:3px solid var(--gold);box-shadow:0 4px 20px rgba(8,47,101,.11)}.brand{line-height:0}.brand img{width:220px;max-height:67px;object-fit:contain}.site-header nav{display:flex;gap:28px}.site-header nav a{color:var(--navy);font-size:14px;font-weight:800;text-decoration:none}.hero{min-height:660px;background:linear-gradient(145deg,#fff 0 58%,#f3f8fc 58%);display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.72fr);align-items:stretch;border-bottom:8px solid var(--gold)}.hero-copy{padding:80px clamp(28px,8vw,120px);display:flex;flex-direction:column;justify-content:center}.hero-copy>img{width:min(420px,80%);height:auto}.eyebrow{margin:0 0 36px;color:var(--gold);font-size:14px;font-weight:900;letter-spacing:.08em}.hero h1{margin:34px 0 10px;color:var(--navy);font-family:Georgia,"Yu Mincho",serif;font-size:clamp(50px,7vw,86px);line-height:1.15;letter-spacing:.07em}.lead{margin:20px 0 0;color:#38526a;font-size:clamp(20px,2.3vw,30px);font-weight:800;line-height:1.65}.hero-message{padding:64px clamp(28px,6vw,82px);background:linear-gradient(150deg,rgba(8,47,101,.97),rgba(13,116,200,.88));color:#fff;display:flex;flex-direction:column;justify-content:flex-end}.hero-message strong{font-size:clamp(26px,3.4vw,46px);line-height:1.5}.hero-message span{margin-top:18px;color:#dfefff;font-weight:700}.section{width:min(1080px,calc(100% - 36px));margin:64px auto;padding:clamp(34px,6vw,72px);background:var(--paper);box-shadow:0 18px 48px rgba(24,46,69,.12);scroll-margin-top:105px}.section-heading{display:flex;align-items:center;gap:20px;margin-bottom:38px}.section-heading>span{color:var(--gold);font:700 50px/1 Georgia,serif}.section-heading p{margin:0;color:var(--gold);font-size:12px;font-weight:900;letter-spacing:.18em}.section-heading h2{margin:3px 0 0;color:var(--navy);font-size:clamp(28px,4vw,43px);line-height:1.3}.section-heading.compact{margin-bottom:24px}.intro-text{max-width:900px;margin:0 auto 38px;font-size:clamp(18px,2.2vw,24px);line-height:2;font-weight:700}.three-values{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.value{padding:28px 22px;border-radius:4px;text-align:center}.value>span{display:grid;width:62px;height:62px;margin:auto;border-radius:50%;place-items:center;color:#fff;font-weight:900}.value h3{margin:15px 0 6px;font-size:26px}.value p{margin:0;font-size:15px;line-height:1.7}.value.blue{background:#e9f4ff;color:#075caa}.value.blue>span{background:var(--blue)}.value.green{background:#eaf8ed;color:#16753e}.value.green>span{background:var(--green)}.value.orange{background:#fff1e7;color:#b54b0d}.value.orange>span{background:var(--orange)}blockquote{margin:38px 0 0;padding:20px 28px;border-left:6px solid var(--pink);background:#fff0f5;color:#a91d50;font-size:clamp(20px,2.5vw,30px);font-weight:900}.facility-map{position:relative;padding:36px;background:linear-gradient(135deg,#e4f3e8,#f5f0dc);border:1px solid #cadfcf;overflow:hidden}.map-core{width:280px;aspect-ratio:1;border:12px solid rgba(255,255,255,.8);border-radius:50%;margin:0 auto 34px;background:var(--navy);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;box-shadow:0 12px 30px rgba(8,47,101,.25)}.map-core p,.map-core small{margin:0}.map-core strong{font-size:28px}.facility-map ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.facility-map li{display:flex;align-items:center;gap:14px;padding:18px;background:rgba(255,255,255,.95);border-left:7px solid;border-radius:4px;box-shadow:0 7px 18px rgba(29,63,47,.1)}.facility-map li b{flex:0 0 38px;height:38px;border-radius:50%;display:grid;place-items:center;color:#fff}.facility-map li strong,.facility-map li span{display:block}.facility-map li span{font-size:14px;color:var(--muted)}.f1{border-color:var(--blue)!important}.f1 b{background:var(--blue)}.f2,.f4{border-color:var(--green)!important}.f2 b,.f4 b{background:var(--green)}.f3{border-color:var(--pink)!important}.f3 b{background:var(--pink)}.expansion{margin:24px 0 0;padding:15px;background:#fff;text-align:center;font-weight:800;color:var(--green)}.project-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.project-card{position:relative;overflow:hidden;border:1px solid #d7e0e8;background:#fff}.project-card>img{display:block;width:100%;height:210px;object-fit:cover}.card-number{position:absolute;top:16px;left:16px;width:48px;height:48px;display:grid;place-items:center;border-radius:50%;background:var(--navy);color:#fff;font-size:22px;font-weight:900;box-shadow:0 3px 12px rgba(0,0,0,.2)}.card-body{padding:30px}.card-body h3{margin:0 0 6px;font-size:24px;line-height:1.4}.card-body .sub{margin:0 0 18px;font-weight:800}.card-body ul{margin:0;padding-left:1.25em}.card-body li+li{margin-top:8px}.blue-card{border-top:7px solid var(--blue)}.blue-card .card-body h3{color:var(--blue)}.green-card{border-top:7px solid var(--green)}.green-card .card-body h3{color:var(--green)}.pink-card{border-top:7px solid var(--pink)}.pink-card .card-body h3{color:var(--pink)}.leaf-card{border-top:7px solid #3e9c42;background:linear-gradient(#fff,#f1f9ed)}.leaf-card .card-body h3{color:#247331}.athlete{display:grid;grid-template-columns:.72fr 1.28fr;padding:0;overflow:hidden}.athlete-photo img{width:100%;height:100%;min-height:680px;object-fit:cover;object-position:center}.athlete-copy{padding:clamp(34px,5vw,64px)}.athlete-copy>p{font-size:19px}.checks{list-style:none;margin:25px 0;padding:0}.checks li{position:relative;padding-left:34px;margin:11px 0}.checks li:before{content:"✓";position:absolute;left:0;top:2px;width:23px;height:23px;border-radius:50%;display:grid;place-items:center;background:var(--pink);color:#fff;font-size:14px;font-weight:900}.athlete blockquote{font-size:21px}.timeline{position:relative}.timeline:before{content:"";position:absolute;left:139px;top:35px;bottom:35px;width:3px;background:#d7e2eb}.timeline article{position:relative;display:grid;grid-template-columns:115px 1fr;gap:48px;align-items:center;margin:0 0 22px}.timeline article:after{content:"";position:absolute;left:130px;width:21px;height:21px;border:5px solid #fff;border-radius:50%;background:var(--blue);box-shadow:0 0 0 2px var(--blue)}.timeline time{color:var(--navy);font-size:18px;font-weight:900;text-align:right}.timeline article div{padding:22px 26px;background:#eef7ff;border-left:6px solid var(--blue)}.timeline h3,.timeline p{margin:0}.timeline h3{color:var(--blue)}.timeline-message,.impact-message{margin:34px 0 0;padding:18px 24px;background:linear-gradient(90deg,#eff9eb,#fff);color:var(--green);font-size:24px;font-weight:900;text-align:center}.impact-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.impact-grid article{display:flex;align-items:center;gap:18px;padding:20px;border:1px solid #dce5eb}.impact-grid article:last-child{grid-column:1/-1}.impact-grid b{flex:0 0 54px;height:54px;border-radius:50%;display:grid;place-items:center;background:var(--navy);color:#fff}.impact-grid h3,.impact-grid p{margin:0}.impact-grid h3{color:var(--navy);font-size:19px}.impact-grid p{color:var(--muted);font-size:14px}.about{background:linear-gradient(135deg,#fff,#f6f8fb)}.about-layout{display:grid;grid-template-columns:.72fr 1.28fr;gap:48px;align-items:center}.about-brand{padding:36px;background:#fff;border-top:5px solid var(--gold);box-shadow:0 12px 28px rgba(8,47,101,.09)}.about-brand img{width:100%;height:auto}.about-brand p{margin:24px 0 0;color:var(--navy);font-weight:800}.about dl{margin:0;border-top:2px solid var(--navy)}.about dl>div{display:grid;grid-template-columns:130px 1fr;border-bottom:1px solid #cfd9e2}.about dt,.about dd{margin:0;padding:16px}.about dt{background:#edf3f8;color:var(--navy);font-weight:900}.about dd{font-weight:700}.future{display:grid;grid-template-columns:1.35fr .65fr;padding:0;overflow:hidden}.future-copy{padding:clamp(38px,6vw,72px)}.future-copy>p{font-size:20px;font-weight:700}.future-copy ul{columns:2;padding-left:1.2em}.future-message{padding:50px 34px;background:linear-gradient(145deg,#e5f7df,#cdeebf);display:flex;flex-direction:column;justify-content:center}.future-message:before{content:"";width:90px;height:90px;margin:0 auto 28px;border-radius:50% 0 50% 50%;transform:rotate(-45deg);background:linear-gradient(145deg,#67c43e,#168b4d)}.future-message strong{color:var(--green);font-size:29px;text-align:center}.future-message p{font-weight:800}.section:last-of-type{margin-bottom:80px}footer{padding:28px clamp(18px,5vw,72px);display:flex;align-items:center;justify-content:space-between;background:#fff;border-top:3px solid var(--gold)}footer img{width:200px}footer p{margin:0;color:#73808c;font-size:12px}
@media(max-width:800px){body{font-size:16px}.site-header{height:74px}.brand img{width:180px}.site-header nav{display:none}.hero{min-height:0;grid-template-columns:1fr}.hero-copy{padding:52px 24px}.hero-message{padding:38px 24px}.section{width:calc(100% - 20px);margin:34px auto;padding:28px 22px}.three-values,.project-grid,.impact-grid,.future,.about-layout{grid-template-columns:1fr}.facility-map{padding:22px 14px}.facility-map ol{grid-template-columns:1fr}.map-core{width:220px}.athlete{grid-template-columns:1fr}.athlete-photo img{height:360px;min-height:0;object-position:center 22%}.impact-grid article:last-child{grid-column:auto}.about-layout{gap:26px}.about dl>div{grid-template-columns:105px 1fr}.about dt,.about dd{padding:13px 11px}.future-copy{padding:34px 24px}.future-message{padding:42px 28px}.future-copy ul{columns:1}.section-heading{gap:13px}.section-heading>span{font-size:39px}.timeline:before{left:7px}.timeline article{grid-template-columns:1fr;gap:8px;padding-left:30px}.timeline article:after{left:-1px;top:40px}.timeline time{text-align:left}.timeline article div{padding:18px}.project-card>img{height:auto;max-height:280px}.card-body{padding:25px 22px}footer{align-items:flex-start;flex-direction:column;gap:14px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.card-body h3,.card-body li{overflow-wrap:anywhere}.phone-link{color:var(--navy);text-decoration:none}.phone-link:hover,.phone-link:focus{text-decoration:underline}
.sports-promotion{display:grid;grid-template-columns:1.12fr .88fr;padding:0;overflow:hidden}.sports-copy{padding:clamp(34px,5vw,64px)}.sports-copy>p{font-size:19px}.sports-photo{position:relative;margin:0;min-height:650px;background:#0f6e37}.sports-photo img{display:block;width:100%;height:100%;min-height:650px;object-fit:cover;object-position:center}.sports-photo figcaption{position:absolute;right:12px;bottom:9px;padding:3px 8px;background:rgba(0,0,0,.6);color:#fff;font-size:11px;line-height:1.4}.sports-checks li:before{background:var(--green)}.sports-promotion blockquote{border-left-color:var(--green);background:#edf9f0;color:#176f3d}
.career-mission{scroll-margin-top:105px;padding:58px clamp(24px,8vw,110px);background:#071f43;color:#fff;text-align:center;border-bottom:8px solid var(--gold)}.career-label{margin:0 0 12px;color:#f0c557;font-size:13px;font-weight:900;letter-spacing:.22em}.career-mission h2{max-width:1000px;margin:0 auto;font-size:clamp(28px,4vw,48px);line-height:1.55}.career-mission h2 em{color:#f0c557;font-style:normal}.career-mission>p:not(.career-label){max-width:900px;margin:26px auto 0;color:#deebf8;font-size:18px;line-height:2}.career-path{max-width:920px;margin:36px auto 0;display:grid;grid-template-columns:repeat(4,1fr);border:1px solid rgba(255,255,255,.24)}.career-path span{padding:20px 12px;font-size:15px;font-weight:800;border-right:1px solid rgba(255,255,255,.24)}.career-path span:last-child{border-right:0}.career-path b{display:block;color:#f0c557;font:700 24px/1.2 Georgia,serif;margin-bottom:8px}
@media(max-width:800px){.career-mission{padding:42px 22px}.career-mission>p:not(.career-label){font-size:16px}.career-path{grid-template-columns:1fr 1fr}.career-path span{border-bottom:1px solid rgba(255,255,255,.24)}.career-path span:nth-child(2){border-right:0}.career-path span:nth-child(3),.career-path span:nth-child(4){border-bottom:0}.sports-promotion{grid-template-columns:1fr}.sports-copy{padding:34px 24px}.sports-photo{min-height:360px}.sports-photo img{height:360px;min-height:0}}
.three-values{grid-template-columns:repeat(4,1fr)}.value.gold{background:#fff8df;color:#8b6510}.value.gold>span{background:var(--gold)}.business-card{grid-column:1/-1;border-top:7px solid var(--gold);background:linear-gradient(120deg,#fff,#fff9e7)}.business-card .card-body h3{color:#8b6510}.business-card .card-body ul{columns:2;column-gap:42px}
@media(max-width:1000px){.three-values{grid-template-columns:repeat(2,1fr)}}
@media(max-width:800px){.three-values{grid-template-columns:1fr}.business-card{grid-column:auto}.business-card .card-body ul{columns:1}}
