/* 藍を主色に、色ガラスの重なりを添える。ロゴ領域は原色を保つ白地。 */
:root{--ink:#203d50;--blue:#234c65;--pale:#eaf1f2;--line:#c8d8dc;--paper:#fafcfb}
body{background:var(--paper)}.opening h1{font-size:clamp(42px,4.5vw,65px);letter-spacing:.025em}.opening h1 em:after{background:#abcfcf}.opening-photo:after{background:#dce9eb}.news-line{background:#edf3f3}.opening-photo>img{border-radius:145px 3px 3px 3px}.opening-copy{position:relative}.opening .eyebrow{color:#315d70}.glass-pieces{position:absolute;right:-2%;bottom:18px;width:180px;height:180px;pointer-events:none;z-index:1}.glass-pieces i{position:absolute;display:block;width:95px;height:115px;border:1px solid #ffffffb3;border-radius:55% 45% 61% 39% / 41% 60% 40% 59%;background:#408da342;box-shadow:inset 3px 3px 12px #ffffff80,inset -3px -4px 8px #244e6820;transform:rotate(22deg)}.glass-pieces i:nth-child(2){left:54px;top:45px;width:90px;height:105px;background:#88b8a74d;transform:rotate(-28deg)}.glass-pieces i:nth-child(3){left:23px;top:98px;width:45px;height:45px;background:#d5ba6345;transform:rotate(35deg)}.reading-progress{background:var(--blue)}.cover-sport{background:#dcebe7;color:var(--ink)}.cover-news{background:#e1e9ef;color:var(--ink)}.about{background:#eaf1f2;border-color:var(--line)}.footer{background:#e6eef0;border-color:var(--line)}.contact-box{background:#f0f5f5}.about-body .large-text{font-size:19px}.about-heading h2{font-size:36px}.about-footnote{border-color:#96b8bc}
.sponsors{padding:85px 0 55px;background:#f0f5f5;border-block:1px solid var(--line);overflow:hidden}.sponsors .section-heading{align-items:start}.sponsors h2{font-size:34px}.sponsor-intro{margin:25px 0 35px;font-size:14px}.sponsor-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.partner-card{min-width:0;display:flex;flex-direction:column;border-bottom:1px solid #9eb5bf;padding-bottom:22px}.partner-profile{display:flex;flex:1;flex-direction:column}.partner-brand{display:flex;align-items:center;justify-content:center;background:white;min-height:150px;padding:28px;text-align:center;font-size:22px;font-weight:700;letter-spacing:.03em;color:#203d50;border:1px solid #e1e9eb}.partner-brand img{width:100%;height:90px;object-fit:contain}.partner-location{font-size:11px;color:#4c6674;margin:20px 0 10px}.partner-card h3{font-size:20px;margin-bottom:14px}.partner-description{font-size:13px;line-height:2;margin-bottom:22px}.partner-read{margin-top:auto;padding-bottom:20px;font-size:12px;font-weight:700}.partner-profile:hover h3,.partner-profile:focus-visible h3{text-decoration:underline;text-underline-offset:5px}.partner-link{display:inline-block;font-size:12px;padding:12px 0;text-decoration:underline;text-underline-offset:5px;color:var(--blue)}.partner-link:hover{color:#367e8c}.sponsor-note{font-size:11px;color:#536b77;line-height:1.9;margin-top:24px}.ribbon-tools{display:flex;justify-content:space-between;align-items:center;margin-top:44px;margin-bottom:15px;font-size:11px}.ribbon-tools button{border:1px solid #a5bcc5;background:transparent;padding:7px 14px;font-size:11px;border-radius:20px}.sponsor-ribbon{overflow:hidden;border-block:1px solid #d3e1e5;background:#f8fbfa}.ribbon-track{display:flex;width:max-content;animation:partners-flow 38s linear infinite}.ribbon-group{display:flex;gap:65px;padding:26px 32px;min-width:100vw;justify-content:space-around;align-items:center;flex-shrink:0}.ribbon-group .partner-brand{min-height:70px;min-width:240px;padding:10px;background:transparent;border:0;font-size:24px;font-weight:500}.ribbon-group .partner-brand img{height:60px;width:200px}.sponsor-ribbon:hover .ribbon-track,.sponsor-ribbon.is-paused .ribbon-track{animation-play-state:paused}@keyframes partners-flow{to{transform:translateX(-50%)}}
.partner-detail{padding-block:70px 80px;min-height:65vh}.partner-detail h1{font-size:clamp(28px,4vw,48px);white-space:normal;overflow-wrap:anywhere}.profile-layout{display:grid;grid-template-columns:.85fr 1.2fr;gap:8%;margin-top:42px;align-items:start}.profile-layout .partner-brand{min-height:250px}.profile-layout .partner-brand img{height:140px}.profile-copy h2,.profile-links h2{font-size:23px;margin-bottom:20px}.profile-copy p{font-size:15px;line-height:2.1;margin-bottom:18px}.profile-links{border-top:1px solid var(--line);margin-top:35px;padding-top:30px}.profile-links .partner-link{border:1px solid #a9bec6;padding:15px 20px;margin:0 12px 12px 0;text-decoration:none;background:white}.profile-source{font-size:11px;margin-top:25px}.partner-page .header{border-bottom:1px solid var(--line)}
@media(max-width:1000px){.sponsors h2{font-size:29px}.sponsor-grid{gap:20px}.partner-brand{font-size:19px;padding:18px}.glass-pieces{right:-1%;width:135px;transform:scale(.8);transform-origin:right bottom}.about-heading h2{font-size:31px}.about-body .large-text{font-size:17px}}
@media(max-width:640px){.opening h1{font-size:clamp(29px,8.5vw,40px)}.opening-photo>img{border-radius:85px 0 0 0}.glass-pieces{bottom:15px;right:-2%;transform:scale(.65)}.opening-photo figcaption{right:28px}.opening-lead{font-size:12px}.sponsors{padding:52px 0 32px}.sponsors h2{font-size:26px}.sponsor-intro{font-size:13px;margin:20px 0 27px}.sponsor-grid{grid-template-columns:1fr;gap:30px}.partner-brand{min-height:145px;font-size:25px}.partner-location{margin-top:16px}.partner-card h3{font-size:21px}.ribbon-group{gap:30px;padding:20px}.ribbon-group .partner-brand{font-size:19px;min-width:190px}.ribbon-tools{margin-top:30px}.about-heading h2{font-size:28px}.about-body .large-text{font-size:16px}.profile-layout{grid-template-columns:1fr;gap:27px;margin-top:25px}.profile-layout .partner-brand{min-height:180px}.partner-detail{padding-block:40px 55px}.profile-links .partner-link{display:block;margin-right:0}.partner-page .header{gap:15px}.partner-page .header .under-link{font-size:10px}.sponsor-note{font-size:11px}}
@media(prefers-reduced-motion:reduce){.ribbon-track{animation:none;width:100%}.ribbon-group{min-width:0;width:100%;flex-wrap:wrap;gap:10px}.ribbon-group:nth-child(2){display:none}.ribbon-group .partner-brand{min-width:0;font-size:16px;padding:10px}.ribbon-tools button{display:none}}

/* Reference refinement: deep dyed indigo, faded blue, restrained glass reflections. */
:root{--blue:#17395f;--ink:#182e49;--pale:#e9eef3;--line:#c8d2dd;--paper:#fafbfc}
.opening .eyebrow{color:#365c80}.opening h1 em:after{background:#c1d0df}.opening-photo:after{background:#334f70}.opening-photo>img{border-radius:100px 3px 3px 3px}.opening-photo{isolation:isolate}.news-line{background:#e9eff5}.cover-sport{background:#d9e3ed;color:#1c3c5e}.cover-news{background:#e2e8f0;color:#1c3c5e}.sponsors{background:#eef2f6}.sponsor-ribbon{background:#f9fbfc}.contact-box{background:#edf2f7}.footer{background:#dfe7f0}.partner-brand{color:#193452}.partner-link:hover{color:#34618e}
.about{background:#142e50;color:#f0f4f8;position:relative;overflow:hidden;border-top:0}.about:before{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(90deg,transparent 0,transparent 79px,#b4c9df12 80px,transparent 81px)}.about .wrap{position:relative;z-index:1}.about .eyebrow,.about .under-link,.about-footnote>span{color:#c4d7ee}.about .under-link{border-color:#8caacc}.about-footnote{border-color:#6e8dae}.about-body .large-text{color:white}.about:after{content:"";position:absolute;right:-100px;top:0;width:370px;height:100%;background:linear-gradient(112deg,transparent 15%,#779cc610 39%,#b9d7f12b 40%,transparent 41%,transparent 62%,#8bb8d415 63%,transparent 67%);pointer-events:none}
.light-reflections{position:absolute;inset:0;overflow:hidden;border-radius:100px 3px 3px 3px;pointer-events:none;z-index:1}.light-reflections:before{content:"";position:absolute;inset:0;background:linear-gradient(116deg,transparent 39%,#ffffff00 45%,#d6eaff70 49.7%,#ffffffd0 50%,#c7e3ff28 50.5%,transparent 55%);transform:translateX(-130%)}.light-reflections i{position:absolute;width:4px;height:4px;background:#fff;border-radius:50%;box-shadow:0 0 5px 2px #e2f1ff70;opacity:.55}.light-reflections i:nth-child(1){top:20%;right:16%}.light-reflections i:nth-child(2){top:45%;right:9%;width:2px;height:2px}.light-reflections i:nth-child(3){bottom:27%;left:25%;width:3px;height:3px}
@media(prefers-reduced-motion:no-preference){.motion-ready .light-reflections:before{animation:glass-light-pass 3.8s 1s ease-in-out both}.motion-ready .light-reflections i{animation:glass-glint 3.8s 1s ease-in-out both}.motion-ready .light-reflections i:nth-child(2){animation-delay:1.7s}.motion-ready .light-reflections i:nth-child(3){animation-delay:2.3s}.opening-photo:hover .light-reflections{background:linear-gradient(120deg,transparent 48%,#d9edff13 49%,transparent 50%)}@keyframes glass-light-pass{0%{transform:translateX(-130%);opacity:0}20%{opacity:.65}70%{opacity:.55}100%{transform:translateX(130%);opacity:0}}@keyframes glass-glint{0%,100%{opacity:.2;transform:scale(.7)}50%{opacity:.85;transform:scale(1.25)}}}
@media(max-width:640px){.opening-photo>img,.light-reflections{border-radius:70px 0 0 0}.opening-photo figcaption{right:0}.about:after{width:220px;right:-70px}}
@media(prefers-reduced-motion:reduce){.light-reflections:before{display:none}.light-reflections i{opacity:.3}}

/* An animated infographic explains the purpose of support, not an outcome claim. */
.support-story{padding-block:30px 80px}.support-story h2{font-size:34px}.support-flow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:55px;position:relative;margin-top:46px}.flow-line{position:absolute;top:29px;left:30px;right:30px;height:1px;background:#c7d4e2;overflow:hidden}.flow-line:after{content:"";display:block;width:100%;height:100%;background:#17395f}.flow-step{position:relative}.flow-mark{display:grid;place-items:center;width:60px;height:60px;border:1px solid #90aac5;border-radius:50%;background:var(--paper);font-size:15px;letter-spacing:.12em;position:relative}.flow-step h3{font-size:21px;margin-top:22px}.flow-step p{font-size:14px;line-height:2;margin-top:13px;max-width:25em}.flow-bottom{display:flex;justify-content:space-between;gap:24px;align-items:center;border-top:1px solid var(--line);margin-top:35px;padding-top:23px}.flow-bottom p{font-size:12px}.flow-bottom button{font-size:11px;border:1px solid #a1b5ca;border-radius:22px;background:transparent;padding:9px 15px;white-space:nowrap}.support-story>.under-link{margin-top:20px}
@media(prefers-reduced-motion:no-preference){.support-story.flow-playing .flow-line:after{animation:draw-connection 2.6s ease-in-out both;transform-origin:left}.support-story.flow-playing .flow-mark{animation:mark-connection .9s ease-out both}.support-story.flow-playing .flow-step:nth-of-type(2) .flow-mark{animation-delay:.85s}.support-story.flow-playing .flow-step:nth-of-type(3) .flow-mark{animation-delay:1.7s}@keyframes draw-connection{from{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes mark-connection{0%{background:var(--paper);box-shadow:0 0 0 0 #17395f00}50%{background:#dae7f3;box-shadow:0 0 0 12px #17395f10}100%{background:var(--paper);box-shadow:0 0 0 0 #17395f00}}}
@media(max-width:640px){.support-story{padding-block:5px 50px}.support-story h2{font-size:27px}.support-flow{grid-template-columns:1fr;gap:32px;margin-top:30px}.flow-step{padding-left:69px;min-height:115px}.flow-mark{position:absolute;left:0;top:0;width:44px;height:44px;font-size:12px}.flow-step h3{margin-top:4px;font-size:20px}.flow-step p{font-size:13px;margin-top:10px}.flow-line{top:22px;bottom:85px;left:22px;right:auto;width:1px;height:auto}.flow-line:after{height:100%}.flow-bottom{flex-direction:column;align-items:start;gap:18px}.support-story.flow-playing .flow-line:after{animation-name:draw-connection-vertical;transform-origin:top}@keyframes draw-connection-vertical{from{transform:scaleY(0)}to{transform:scaleY(1)}}}
.public-art{min-height:510px;background:#142e50;overflow:hidden;border-radius:100px 3px 3px 3px;background-image:linear-gradient(112deg,transparent 42%,#a4bfd524 43%,transparent 44%),repeating-linear-gradient(92deg,#203e5b30 0 1px,transparent 1px 40px)}
.public-art:after{display:none}.public-art .light-reflections{z-index:1}.empty-state{grid-column:1/-1;padding:30px 0;font-size:14px}
@media(max-width:640px){.public-art{min-height:250px;border-radius:70px 0 0 0}}
