:root{--color-bg: #ffffff;--color-fg: #1a1a1a;--color-muted: #707070;--color-line: #e6e6e6;--color-primary: #dc1c24;--color-primary-dark: #a01018;--color-accent: #ffd700;--color-dark: #111418;--max-w: 1200px;--radius: 10px;--shadow: 0 4px 18px rgba(0,0,0,.08);--shadow-hover: 0 8px 28px rgba(0,0,0,.16);--font-sans: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Hiragino Sans", "Yu Gothic UI", "Meiryo", system-ui, sans-serif;--font-display: "Helvetica Neue", "Hiragino Sans", system-ui, sans-serif}*{box-sizing:border-box}html,body{margin:0;padding:0;font-family:var(--font-sans);color:var(--color-fg);background:var(--color-bg);-webkit-font-smoothing:antialiased;line-height:1.6}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto;display:block}.container{max-width:var(--max-w);margin:0 auto;padding:0 20px}.site-header{position:sticky;top:0;z-index:50;background:#fffffff2;backdrop-filter:saturate(180%) blur(8px);border-bottom:1px solid var(--color-line)}.site-header__inner{display:flex;align-items:center;justify-content:space-between;height:64px;gap:24px}.brand{display:flex;align-items:center;gap:12px}.brand__logo{height:44px;width:auto;display:block;transition:transform .2s}.brand:hover .brand__logo{transform:scale(1.04)}.brand__sub{font-size:11px;color:var(--color-muted);letter-spacing:.18em;font-weight:600;padding-left:12px;border-left:1px solid var(--color-line)}.nav{display:flex;gap:24px;font-size:14px;font-weight:600}.nav a{color:var(--color-fg);padding:8px 0;border-bottom:2px solid transparent;transition:border-color .15s}.nav a:hover,.nav a.active{border-bottom-color:var(--color-primary)}@media(max-width:820px){.site-header__inner{height:auto;flex-wrap:wrap;gap:8px;padding:10px 0}.brand__logo{height:38px}.brand__sub{display:none}.nav{width:100%;gap:18px;font-size:13px;flex-wrap:nowrap;white-space:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:2px;scrollbar-width:none}.nav::-webkit-scrollbar{display:none}.nav a{flex:0 0 auto;padding:4px 0}}.hero{background:url(/brand/soccer-watermark.svg) 0 0 / 120px 120px repeat,#fff;color:var(--color-fg);padding:48px 0 0;position:relative;overflow:hidden}.hero:before{content:"";position:absolute;top:50%;left:50%;width:720px;height:720px;max-width:120%;transform:translate(-50%,-52%);background:url(/brand/soccer-watermark.svg) center / contain no-repeat;opacity:.5;pointer-events:none}.hero:after{content:"";position:absolute;left:0;right:0;bottom:0;height:100px;background:linear-gradient(to top,#ffffff,transparent);pointer-events:none}.hero__inner{position:relative;z-index:1;text-align:center;display:flex;flex-direction:column;align-items:center}.hero__logo{position:relative;z-index:1;width:min(560px,82%);height:auto;filter:drop-shadow(0 6px 16px rgba(0,0,0,.18));animation:hero-pop .7s cubic-bezier(.2,.8,.2,1) both}@keyframes hero-pop{0%{opacity:0;transform:translateY(14px) scale(.96)}to{opacity:1;transform:none}}.hero__tag{position:relative;z-index:1;font-size:clamp(18px,2.6vw,28px);font-weight:900;margin:18px 0 10px;letter-spacing:.02em;color:var(--color-fg)}.hero__sub{position:relative;z-index:1;color:#555;margin:0 auto 26px;font-size:16px;max-width:640px}.hero__actions{position:relative;z-index:1;display:flex;gap:12px;flex-wrap:wrap;justify-content:center}.hero__stage{position:relative;z-index:1;margin-top:28px;width:100%;display:flex;align-items:flex-end;justify-content:center;gap:clamp(4px,3vw,36px)}.hero__char{width:clamp(120px,17vw,230px);height:auto;filter:drop-shadow(0 14px 26px rgba(0,0,0,.5));transition:transform .35s ease}.hero__char--girl{transform:translateY(8px) rotate(-3deg)}.hero__char--boy{transform:translateY(8px) rotate(3deg)}.hero__stage:hover .hero__char--girl{transform:translateY(0) rotate(-5deg)}.hero__stage:hover .hero__char--boy{transform:translateY(0) rotate(5deg)}.hero__cover-link{position:relative;display:block;flex:0 0 auto}.hero__label{position:absolute;top:-14px;left:50%;transform:translate(-50%);white-space:nowrap;padding:6px 16px;background:var(--color-primary);color:#fff;font-size:12px;font-weight:700;letter-spacing:.12em;border-radius:99px;box-shadow:0 4px 14px #dc1c2480;z-index:2}.hero__cover{border-radius:8px;box-shadow:0 18px 44px #00000038;max-height:420px;width:auto;border:1px solid var(--color-line);background:#fff;transition:transform .3s}.hero__cover-link:hover .hero__cover{transform:translateY(-6px) scale(1.02)}.hero__cover-title{display:block;margin-top:12px;font-size:14px;font-weight:700;color:var(--color-fg)}.hero__ball{position:absolute;top:-40px;z-index:0;line-height:1;opacity:.85;animation:ball-fall linear infinite;pointer-events:none;filter:drop-shadow(0 4px 6px rgba(0,0,0,.12))}.hero__ball--1{left:8%;font-size:26px;animation-duration:8s;animation-delay:0s}.hero__ball--2{left:28%;font-size:18px;animation-duration:11s;animation-delay:2.5s}.hero__ball--3{left:50%;font-size:32px;animation-duration:9s;animation-delay:1.2s}.hero__ball--4{left:71%;font-size:20px;animation-duration:12s;animation-delay:4s}.hero__ball--5{left:90%;font-size:28px;animation-duration:10s;animation-delay:6s}@keyframes ball-fall{0%{transform:translateY(-10px) rotate(0);opacity:0}10%{opacity:.85}90%{opacity:.85}to{transform:translateY(560px) rotate(540deg);opacity:0}}@media(prefers-reduced-motion:reduce){.hero__logo{animation:none}.hero__ball{display:none}}@media(max-width:820px){.hero{padding:32px 0 0}.hero__sub{font-size:15px}.hero__stage{gap:2px}.hero__char{width:clamp(82px,24vw,130px)}.hero__cover{max-height:300px}}@media(max-width:520px){.hero__char--girl{margin-right:-14px}.hero__char--boy{margin-left:-14px}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 22px;border-radius:6px;font-weight:700;font-size:14px;border:2px solid transparent;cursor:pointer;transition:all .15s;text-decoration:none}.btn--primary{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.btn--primary:hover{background:var(--color-primary-dark);border-color:var(--color-primary-dark)}.btn--outline{background:transparent;color:#fff;border-color:#ffffff80}.btn--outline:hover{border-color:#fff;background:#ffffff1a}.btn--ghost{background:transparent;color:var(--color-fg);border-color:var(--color-line)}.btn--ghost:hover{border-color:var(--color-fg)}.section{padding:64px 0}.section--alt{background:url(/brand/soccer-watermark.svg) 0 0 / 150px 150px repeat,#fafafa;position:relative}.section__head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:32px;gap:16px;flex-wrap:wrap}.section__title{font-size:clamp(22px,3vw,32px);margin:0;font-weight:900;position:relative;padding-left:16px}.section__title:before{content:"";position:absolute;left:0;top:6px;bottom:6px;width:4px;background:var(--color-primary)}.section__lead{color:var(--color-muted);font-size:14px}.issue-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:28px}.issue-card{position:relative;display:block;background:#fff;border:1px solid var(--color-line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);transition:transform .2s,box-shadow .2s,border-color .2s;text-decoration:none;color:inherit}.issue-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--color-primary);transform:scaleX(0);transform-origin:left;transition:transform .25s ease;z-index:2}.issue-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-hover);border-color:#dc1c2459}.issue-card:hover:before{transform:scaleX(1)}.issue-card__title{transition:color .15s}.issue-card:hover .issue-card__title{color:var(--color-primary)}.issue-card__cover{background:#f5f5f5;position:relative;aspect-ratio:600 / 850;overflow:hidden}.issue-card__cover img{width:100%;height:100%;object-fit:cover;display:block}.issue-card__badge{position:absolute;top:10px;left:10px;background:var(--color-primary);color:#fff;font-size:11px;font-weight:700;padding:4px 10px;border-radius:3px;letter-spacing:.08em}.issue-card__body{padding:14px 16px 18px}.issue-card__title{font-size:16px;font-weight:800;margin:0 0 4px}.issue-card__meta{color:var(--color-muted);font-size:12px}.issue-card__meta:before{content:"⚽";margin-right:5px;font-size:11px}.site-footer{background:var(--color-dark);color:#c8ced4;padding:48px 0 28px;margin-top:80px;position:relative;overflow:hidden}.site-footer:before{content:"";position:absolute;inset:0;background:url(/brand/soccer-watermark.svg) 0 0 / 150px 150px repeat;opacity:.035;pointer-events:none;z-index:0}.site-footer>*{position:relative;z-index:1}.site-footer__inner{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px;margin-bottom:32px}.site-footer h3{color:#fff;font-size:14px;font-weight:700;letter-spacing:.08em;margin:0 0 14px;text-transform:uppercase}.site-footer ul{list-style:none;padding:0;margin:0;font-size:14px;line-height:2}.site-footer ul a{color:#c8ced4}.site-footer ul a:hover{color:#fff}.site-footer__logo{height:56px;width:auto;display:block;margin-bottom:14px}.site-footer__about{font-size:13px;line-height:1.7;color:#8b919a}.site-footer__bottom{border-top:1px solid #2a2f36;padding-top:20px;text-align:center;font-size:12px;color:#6f767f}.sns-icons{display:flex;gap:12px;margin-top:14px}.sns-icons a{width:36px;height:36px;border:1px solid #3a4049;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;transition:all .15s;font-size:13px;font-weight:700}.sns-icons a:hover{background:var(--color-primary);border-color:var(--color-primary);color:#fff}@media(max-width:720px){.site-footer__inner{grid-template-columns:1fr;gap:28px}}.page-hero{background:linear-gradient(135deg,#1a2530,#0f1419);color:#fff;padding:56px 0;text-align:center}.page-hero h1{font-size:clamp(28px,4vw,40px);margin:0 0 8px;font-weight:900}.page-hero p{color:#bcc4cc;margin:0}.prose{max-width:760px;margin:0 auto;padding:48px 20px;font-size:16px;line-height:1.85}.prose h2{font-size:22px;margin:36px 0 16px;font-weight:800;padding-left:14px;border-left:4px solid var(--color-primary)}.prose p{margin:0 0 14px}.prose ul{padding-left:1.4em}.prose li{margin:6px 0}.prose table{width:100%;border-collapse:collapse;font-size:14px;margin:16px 0}.prose th,.prose td{padding:10px 14px;border-bottom:1px solid var(--color-line);text-align:left}.prose th{background:#fafafa;font-weight:700}.form{display:flex;flex-direction:column;gap:16px;margin-top:24px}.form label{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:600}.form input,.form select,.form textarea{font:inherit;padding:12px 14px;border:1px solid var(--color-line);border-radius:6px;background:#fff}.form input:focus,.form textarea:focus,.form select:focus{outline:2px solid var(--color-primary);outline-offset:0;border-color:var(--color-primary)}.video-filter{background:#fff;border-radius:var(--radius);padding:16px 18px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:14px;margin-bottom:28px}.video-filter__row{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.video-filter__search{flex:1 1 280px;position:relative}.video-filter__search input{width:100%;font:inherit;padding:12px 16px 12px 42px;border:1px solid var(--color-line);border-radius:6px;background:#fafafa;transition:all .15s}.video-filter__search input:focus{outline:2px solid var(--color-primary);outline-offset:0;background:#fff;border-color:var(--color-primary)}.video-filter__search:before{content:"🔍";position:absolute;left:14px;top:50%;transform:translateY(-50%);font-size:14px;opacity:.55;pointer-events:none}.video-filter select{font:inherit;padding:12px 36px 12px 14px;border:1px solid var(--color-line);border-radius:6px;background:#fafafa url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'><path d='M1 1l4 4 4-4' stroke='%23666' stroke-width='1.5' fill='none' stroke-linecap='round'/></svg>") no-repeat right 14px center;appearance:none;-webkit-appearance:none;cursor:pointer}.video-filter select:focus{outline:2px solid var(--color-primary);outline-offset:0;background-color:#fff}.chip-row{display:flex;gap:8px;flex-wrap:wrap}.chip{font:inherit;font-size:13px;font-weight:600;padding:7px 14px;border-radius:99px;border:1px solid var(--color-line);background:#fff;color:var(--color-muted);cursor:pointer;transition:all .15s}.chip:hover{border-color:var(--color-fg);color:var(--color-fg)}.chip.active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.chip__count{display:inline-block;margin-left:4px;font-size:11px;opacity:.75}.video-filter__result{font-size:13px;color:var(--color-muted);display:flex;align-items:center;gap:12px}.video-filter__reset{font-size:12px;color:var(--color-primary);background:none;border:0;cursor:pointer;padding:4px 8px;text-decoration:underline}.video-filter__reset:hover{color:var(--color-primary-dark)}@media(max-width:540px){.video-filter__row{gap:8px}.video-filter select{flex:1}}mark.search-hit{background:#fff4a3;color:inherit;padding:0 2px;border-radius:2px}.video-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:24px}.video-card{background:#fff;border:1px solid var(--color-line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);transition:transform .2s,box-shadow .2s,border-color .2s;display:flex;flex-direction:column}.video-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-hover);border-color:#dc1c2459}.video-card__title a{transition:color .15s}.video-card__title a:hover{color:var(--color-primary)}.video-thumb{position:relative;aspect-ratio:16 / 9;background:#000;cursor:pointer;overflow:hidden}.video-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .3s}.video-thumb:hover img{transform:scale(1.04)}.video-thumb iframe{width:100%;height:100%;border:0;display:block}.video-play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:linear-gradient(transparent 40%,#00000073);transition:background .15s}.video-thumb:hover .video-play{background:linear-gradient(transparent 30%,#0000008c)}.video-play__btn{width:64px;height:64px;border-radius:50%;background:#dc1c24eb;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 24px #0006;transition:transform .15s}.video-thumb:hover .video-play__btn{transform:scale(1.1);background:#dc1c24}.video-play__btn:after{content:"";width:0;height:0;border-left:18px solid #fff;border-top:12px solid transparent;border-bottom:12px solid transparent;margin-left:5px}.video-card__body{padding:14px 16px 18px;flex:1;display:flex;flex-direction:column;gap:8px}.video-card__title{font-size:15px;font-weight:800;margin:0;line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.video-card__meta{font-size:12px;color:var(--color-muted);margin-top:auto}.channel-cta{background:linear-gradient(135deg,#c00,#a01018);color:#fff;border-radius:var(--radius);padding:28px 32px;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-bottom:40px}.channel-cta__title{font-size:20px;font-weight:900;margin:0 0 4px}.channel-cta__sub{font-size:14px;margin:0;opacity:.9}.channel-cta .btn{background:#fff;color:#c00;border-color:#fff;font-weight:800}.channel-cta .btn:hover{background:#fee;color:#a01018}.sns-icons a.yt:hover{background:#c00;border-color:#c00}.tourn-meta{display:flex;gap:14px;flex-wrap:wrap;font-size:13px;color:var(--color-muted);margin-top:8px}.tourn-meta span{display:inline-flex;align-items:center;gap:4px}.standings-table,.scorers-table{width:100%;border-collapse:collapse;background:#fff;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);font-size:14px}.standings-table th,.scorers-table th{background:var(--color-dark);color:#fff;font-weight:700;padding:12px 10px;text-align:left;font-size:12px;letter-spacing:.05em}.standings-table td,.scorers-table td{padding:12px 10px;border-bottom:1px solid var(--color-line)}.standings-table tr:last-child td,.scorers-table tr:last-child td{border-bottom:none}.standings-table tbody tr:hover,.scorers-table tbody tr:hover{background:#fafafa}.rank-cell{font-weight:900;font-size:16px;width:56px;text-align:center}.rank-1{color:#d4a017}.rank-2{color:#8e8e8e}.rank-3{color:#a0623d}.team-cell{font-weight:700}.num-cell{text-align:center;font-variant-numeric:tabular-nums;width:52px}.num-cell--strong{font-weight:700;background:#fff8e6}.scorers-table .goals-cell{font-weight:900;color:var(--color-primary);font-size:18px;text-align:center;width:80px}.tab-bar{display:flex;gap:4px;border-bottom:2px solid var(--color-line);margin-bottom:24px}.tab-bar a{padding:12px 20px;font-weight:700;font-size:14px;color:var(--color-muted);border-bottom:3px solid transparent;margin-bottom:-2px;transition:all .15s}.tab-bar a:hover{color:var(--color-fg)}.tab-bar a.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.tourn-card{display:block;padding:24px;border-radius:var(--radius);background:linear-gradient(135deg,#1a2530,#0f1419);color:#fff;text-decoration:none;position:relative;overflow:hidden;transition:transform .2s,box-shadow .2s;box-shadow:var(--shadow)}.tourn-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-hover)}.tourn-card:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 90% 10%,rgba(220,28,36,.25) 0%,transparent 50%);pointer-events:none}.tourn-card__year{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.15em;padding:4px 10px;background:var(--color-primary);border-radius:3px;margin-bottom:12px}.tourn-card__name{font-size:20px;font-weight:900;margin:0 0 6px;position:relative;z-index:1}.tourn-card__meta{font-size:13px;color:#bcc4cc;position:relative;z-index:1}.tourn-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}.notice{background:#fff8e1;border-left:4px solid #f0c040;padding:14px 18px;border-radius:6px;font-size:14px;color:#6b5a1f;margin:16px 0}.empty-card{background:#fafafa;border:1px dashed var(--color-line);border-radius:var(--radius);padding:48px 24px;text-align:center;color:var(--color-muted)}.empty-card__icon{font-size:44px;line-height:1;margin-bottom:14px;opacity:.55;animation:ball-bounce 1.8s ease-in-out infinite}@keyframes ball-bounce{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-10px) rotate(20deg)}}.empty-card__title{margin:0 0 6px;font-size:16px;font-weight:800;color:var(--color-fg)}.empty-card__text{margin:0;font-size:13px;color:var(--color-muted)}@media(prefers-reduced-motion:reduce){.empty-card__icon{animation:none}}@media(max-width:720px){.standings-table,.scorers-table{font-size:13px}.standings-table th,.standings-table td,.scorers-table th,.scorers-table td{padding:10px 6px}.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}}.viewer-wrap{background:#1a1d22;min-height:100vh;display:flex;flex-direction:column}.viewer-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 20px;background:#0f1216;color:#fff;border-bottom:1px solid #252a31}.viewer-bar__title{font-weight:700;font-size:15px}.viewer-bar__nav{display:flex;align-items:center;gap:10px}.viewer-bar button{background:#252a31;color:#fff;border:0;padding:8px 14px;border-radius:5px;font-weight:700;cursor:pointer;font-size:13px}.viewer-bar button:hover{background:#353c45}.viewer-bar button:disabled{opacity:.4;cursor:not-allowed}.viewer-bar .page-info{font-size:13px;color:#bcc4cc;min-width:60px;text-align:center}.viewer-frame{flex:1;display:flex;align-items:flex-start;justify-content:center;padding:24px 16px 80px;overflow:auto}.viewer-canvas{background:#fff;box-shadow:0 8px 30px #0006;max-width:100%;height:auto}.viewer-back{position:fixed;top:12px;left:12px;z-index:5}@media(max-width:720px){.viewer-bar{flex-wrap:wrap;padding:10px 12px}.viewer-bar__title{width:100%;text-align:center;font-size:13px}}
