:root{--ink:#12343b;--ink-soft:#4f676d;--teal:#14b8a6;--teal-light:#2dd4bf;--teal-dark:#0f766e;--navy:#164e63;--line:#d7f8f2;--radius:24px;--indoor:#2563eb;--outdoor:#16a34a}*{box-sizing:border-box;margin:0;padding:0}body{color:var(--ink);background:radial-gradient(circle at 0 0,#d8fff8,#fff 45%),linear-gradient(#f8fffe,#fff);font-family:Arial,Hiragino Kaku Gothic ProN,Noto Sans JP,sans-serif;line-height:1.6}a{color:var(--teal-dark)}img{max-width:100%}.site-header{z-index:50;backdrop-filter:blur(8px);border-bottom:1px solid var(--line);background:#ffffffe6;justify-content:space-between;align-items:center;gap:12px;padding:12px 20px;display:flex;position:sticky;top:0}.site-header .logo{color:var(--navy);font-weight:800;text-decoration:none}.site-header nav{align-items:center;gap:16px;display:flex}.site-header nav a{color:var(--navy);white-space:nowrap;font-size:.95rem;font-weight:700;text-decoration:none}.site-header .logo{white-space:nowrap}@media (width<=520px){.site-header{padding:10px 14px}.site-header .logo{font-size:.9rem}.site-header .logo-full{display:none}.site-header nav{gap:10px}}.lang-switch{gap:6px;display:flex}.lang-switch button{color:var(--navy);cursor:pointer;background:#fff;border:none;border-radius:999px;padding:6px 12px;font-weight:700;box-shadow:0 2px 8px #0000001f}.lang-switch button.active{background:var(--teal);color:#fff}.hero{text-align:center;color:#fff;justify-content:center;align-items:center;min-height:70vh;padding:40px;display:flex;position:relative;overflow:hidden}.hero-video{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.hero-overlay{background:linear-gradient(#00000059,#00000085);position:absolute;inset:0}.hero-content{z-index:2;max-width:900px;position:relative}.hero h1{margin-bottom:18px;font-size:clamp(2rem,6vw,3rem);line-height:1.2}.hero p{font-size:1.1rem;line-height:1.8}.container{max-width:1200px;margin:auto;padding:40px 20px}.narrow{max-width:760px}.section-title{color:var(--navy);margin-bottom:20px;font-size:1.5rem}.filters{flex-wrap:wrap;gap:8px;margin-bottom:28px;display:flex}.filters button{border:1px solid var(--line);color:var(--navy);cursor:pointer;background:#fff;border-radius:999px;padding:8px 16px;font-weight:700}.filters button.active{background:var(--teal);border-color:var(--teal);color:#fff}.filters-sep{background:var(--line);width:1px;margin:0 4px}.count{color:var(--ink-soft);margin-bottom:16px;font-size:.9rem}.court-map-wrap{margin-bottom:20px}.court-map{border-radius:var(--radius);z-index:0;height:440px;overflow:hidden;box-shadow:0 10px 30px #00000014}@media (width<=600px){.court-map{height:340px}}.map-legend{color:var(--ink-soft);flex-wrap:wrap;gap:16px;margin-top:10px;font-size:.85rem;display:flex}.map-legend>span{align-items:center;gap:6px;display:inline-flex}.legend-dot{border-radius:50%;width:12px;height:12px;display:inline-block}.legend-dot.indoor,.pin-indoor{background:var(--indoor)}.legend-dot.outdoor,.pin-outdoor{background:var(--outdoor)}.legend-dot.both,.pin-both{background:linear-gradient(90deg, var(--indoor) 50%, var(--outdoor) 50%)}.pin{border:3px solid #fff;border-radius:50% 50% 50% 0;width:26px;height:26px;display:block;transform:rotate(-45deg);box-shadow:0 3px 8px #00000059}.map-popup{min-width:180px}.map-popup-title{color:var(--navy);font-size:1rem;font-weight:800;text-decoration:none}.map-popup-meta{color:var(--ink-soft);margin:4px 0 8px;font-size:.8rem}.map-popup-links{flex-wrap:wrap;gap:10px;font-size:.85rem;font-weight:700;display:flex}.cards{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:28px;display:grid}.card{border-radius:var(--radius);background:#fff;flex-direction:column;height:100%;padding:20px;transition:all .25s;display:flex;box-shadow:0 10px 30px #00000014}.card:hover{transform:translateY(-6px)}.card[hidden]{display:none}.facility-image{object-fit:cover;border-radius:14px;width:100%;height:220px}.image-placeholder{background:linear-gradient(135deg,#ccfbf1,#e0f2fe);justify-content:center;align-items:center;font-size:3rem;display:flex}.card-body{flex-direction:column;flex:1;padding:20px 4px 4px;display:flex}.card h2,.card h3{color:var(--navy);font-size:1.2rem;line-height:1.4}.card h2 a,.card h3 a{color:inherit;text-decoration:none}.location{color:var(--teal-dark);flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;font-weight:600;display:flex}.tag{border-radius:999px;align-items:center;padding:5px 12px;font-size:.74rem;font-weight:700;display:inline-flex}.tag.tokyo{color:#4338ca;border:2px solid #6366f1}.tag.kanagawa{color:#0e7490;border:2px solid #0891b2}.tag.saitama,.tag.chiba{color:#7e22ce;border:2px solid #a855f7}.tag.indoor{background:var(--indoor);color:#fff}.tag.outdoor{background:var(--outdoor);color:#fff}.tag.category{color:var(--ink-soft);border:1px solid #cbd5e1}.new-label{color:#dc2626;letter-spacing:.05em;vertical-align:middle;margin-left:8px;font-size:.75rem;font-weight:800}.description{color:var(--ink-soft);flex-grow:1;margin-top:14px;font-size:.94rem}.button{text-align:center;color:#fff;background:linear-gradient(135deg, var(--teal-light), var(--teal));border-radius:16px;margin-top:18px;padding:14px;font-weight:700;text-decoration:none;display:block}.button.secondary,.map-button{text-align:center;color:var(--navy);border:1px solid var(--line);background:#fff;border-radius:16px;margin-top:10px;padding:13px;font-weight:600;text-decoration:none;display:block}.detail-hero{object-fit:cover;border-radius:var(--radius);width:100%;max-height:420px}.detail-hero.image-placeholder{height:260px;font-size:5rem}.facts{grid-template-columns:8em 1fr;gap:10px 16px;margin:24px 0;display:grid}.facts dt{color:var(--navy);font-weight:700}.prose{margin-top:24px}.prose p,.prose ul,.prose ol{margin:0 0 1em}.prose ul,.prose ol{padding-left:1.4em}.prose h2{color:var(--navy);margin:1.6em 0 .6em;font-size:1.35rem}.prose h3{color:var(--navy);margin:1.4em 0 .5em;font-size:1.1rem}.meta{color:var(--ink-soft);margin-top:8px;font-size:.85rem}.sources{color:var(--ink-soft);margin-top:32px;font-size:.85rem}.sources ul{padding-left:1.2em}.post-list{gap:16px;display:grid}.post-item{background:#fff;border-radius:18px;padding:20px;box-shadow:0 6px 20px #0000000f}.post-item a{color:var(--navy);font-size:1.1rem;font-weight:700;text-decoration:none}.footer{text-align:center;color:#5f7b83;padding:50px 20px;font-size:.9rem}
