:root{--blue:#048abf;--blue-light:#04b2d9;--black:#111;--white:#fff;--gray:#6b7280;--rule:#e5e7eb;--bg:#f3fafd;--dots:radial-gradient(#ffffff1a 2px, transparent 2.5px) 0 0 / 22px 22px;--en:var(--font-inter), sans-serif;--sans:var(--font-noto), sans-serif}*{box-sizing:border-box}body{background:var(--bg);color:var(--black);font-family:var(--sans);margin:0;line-height:1.9}a{color:inherit;text-decoration:none}.wrap{max-width:1040px;margin:0 auto;padding:0 24px}.narrow{max-width:720px}.empty{color:var(--gray)}.header{z-index:10;background:var(--blue);color:var(--white);position:sticky;top:0}.header .wrap{justify-content:space-between;align-items:center;height:64px;display:flex}.brand{font-family:var(--en);letter-spacing:.12em;font-size:17px;font-weight:700}.nav{font-family:var(--en);letter-spacing:.14em;gap:32px;font-size:13px;font-weight:500;display:flex}.nav a{opacity:.85}.nav a:hover,.nav a.on{opacity:1}.menu-btn{color:var(--white);font-family:var(--en);letter-spacing:.15em;cursor:pointer;background:0 0;border:none;padding:8px 0;font-size:12px;font-weight:600;display:none}.hero{background:var(--dots), var(--blue);color:var(--white);text-align:center;padding:64px 0 80px;overflow:hidden}.hero h1{font-family:var(--en);text-shadow:4px 4px 0 var(--blue-light);letter-spacing:.08em;margin:0 0 40px;font-size:clamp(36px,7vw,80px);font-weight:900;line-height:1.1}.photo-wrap{position:relative}.photo{aspect-ratio:16/9;background:var(--blue-light);border-radius:28px;position:relative;overflow:hidden}.deco-pennant{filter:drop-shadow(0 4px 8px #00000026);width:180px;position:absolute;top:-22px;left:-18px;transform:rotate(-10deg)}.deco-phones{width:76px;color:var(--white);position:absolute;bottom:-24px;left:-36px;transform:rotate(-12deg)}.deco-notes{width:56px;color:var(--white);position:absolute;top:36px;right:-76px;transform:rotate(10deg)}.checker{background:repeating-conic-gradient(var(--blue) 0 25%, var(--white) 0 50%) 0 0 / 16px 16px;height:16px}.photo img{object-fit:cover}.stage{margin-top:40px}.stage p{font-family:var(--en);letter-spacing:.25em;opacity:.9;margin:0 0 12px;font-size:12px}.countdown{background:#ffffff24;border-radius:999px;gap:28px;padding:14px 32px;display:inline-flex}.countdown b{font-family:var(--en);font-size:36px;font-weight:500;line-height:1.1;display:block}.countdown small{font-family:var(--en);letter-spacing:.2em;opacity:.85;font-size:10px}section{padding:88px 0}section h2{font-family:var(--en);letter-spacing:.1em;color:var(--blue);text-shadow:3px 3px #04b2d959;margin:0 0 32px;font-size:32px;font-weight:900}.blue h2{color:var(--white);text-shadow:3px 3px 0 var(--blue-light)}.blue{background:var(--dots), var(--blue);color:var(--white)}.blue .empty{color:var(--white);opacity:.85}.lead{white-space:pre-line;margin:0;font-size:16px;line-height:2.2}.more{font-family:var(--en);letter-spacing:.2em;border-bottom:1px solid;margin-top:32px;font-size:12px;font-weight:600;display:inline-block}.page-head{background:var(--dots), var(--blue);color:var(--white);padding:56px 0}.page-head h1{font-family:var(--en);text-shadow:4px 4px 0 var(--blue-light);letter-spacing:.12em;margin:0;font-size:clamp(32px,5vw,48px);font-weight:900}.members{grid-template-columns:repeat(3,1fr);gap:40px 24px;margin:0;padding:0;list-style:none;display:grid}.members .ph{aspect-ratio:4/5;background:var(--blue-light);border-radius:20px;position:relative;overflow:hidden}.members .ph img{object-fit:cover}.members .ph svg{fill:#ffffff4d;width:60%;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.members .name{margin:12px 0 0;font-weight:700}.members .en{font-family:var(--en);letter-spacing:.1em;opacity:.85;margin:0;font-size:12px}section:not(.blue) .members .ph{background:var(--blue)}.news{border-top:1px solid var(--rule);margin:0;padding:0;list-style:none}.news a{border-bottom:1px solid var(--rule);gap:32px;padding:20px 0;display:flex}.news.box{background:var(--white);border:1px solid var(--rule);border-radius:20px;padding:0 28px}.news.box li:last-child a{border-bottom:none}.news a:hover span{text-decoration:underline}.news time{font-family:var(--en);color:var(--gray);flex:none}.date{font-family:var(--en);color:var(--gray)}.title{font-family:var(--sans);letter-spacing:0;margin:8px 0 32px;font-size:clamp(22px,3vw,28px);line-height:1.5}.eyecatch{aspect-ratio:16/9;background:var(--blue);border-radius:20px;margin-bottom:32px;position:relative;overflow:hidden}.eyecatch img{object-fit:cover}.prose p{margin:0 0 1.4em}.prose h2,.prose h3{font-family:var(--sans);letter-spacing:0;margin:40px 0 16px;font-size:20px}.prose a{text-decoration:underline}.prose img{max-width:100%;height:auto}.footer{background:var(--black);color:var(--white);padding:48px 0}.footer .wrap{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px 32px;display:flex}.footer .logo{font-family:var(--en);letter-spacing:.12em;font-weight:700}.footer .sns{font-family:var(--en);letter-spacing:.1em;gap:20px;font-size:12px;display:flex}.footer .sns a{opacity:.7}.footer .sns a:hover{opacity:1}.footer small{font-family:var(--en);opacity:.5;font-size:11px}.badge{z-index:20;border-radius:50%;width:104px;height:104px;transition:transform .2s;position:fixed;bottom:20px;right:20px;box-shadow:0 6px 16px #048abf4d}.badge:hover{transform:scale(1.05)}.badge svg{width:100%;height:100%;display:block}.badge-ring{transform-origin:60px 60px;animation:20s linear infinite badge-spin}@keyframes badge-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.badge-ring{animation:none}}@media (max-width:760px){.wrap{padding:0 16px}.header .wrap{height:56px}.menu-btn{display:block}.nav{background:var(--blue);flex-direction:column;gap:0;padding:8px 16px 24px;display:none;position:absolute;top:56px;left:0;right:0}.nav.open{display:flex}.nav a{border-bottom:1px solid var(--blue-light);opacity:1;padding:14px 0;font-size:16px}.hero{padding:40px 0 56px}.hero h1{margin-bottom:28px}.countdown{gap:18px;padding:12px 22px}.photo{border-radius:18px}.deco-pennant{width:120px;top:-16px;left:-6px}.deco-phones{width:48px;bottom:-18px;left:-4px}.deco-notes{width:36px;top:auto;bottom:20px;right:-2px}.badge{width:76px;height:76px;bottom:12px;right:12px}.news.box{padding:0 18px}.countdown b{font-size:28px}section{padding:64px 0}.members{grid-template-columns:repeat(2,1fr);gap:28px 14px}.news a{flex-direction:column;gap:2px}.footer .wrap{flex-direction:column;align-items:flex-start}}
