:root{--ink:#191918;--paper:#fcfbf6;--yellow:#f2c500;--muted:#68665e;--line:#dedbd1}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font-family:system-ui,-apple-system,'Hiragino Kaku Gothic ProN','Noto Sans JP',sans-serif;line-height:1.85}a{color:inherit;text-underline-offset:4px}button,input{font:inherit}:focus-visible{outline:3px solid #ba2639;outline-offset:4px}.wrap{max-width:1120px;margin:auto;padding-left:28px;padding-right:28px}.nav{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px max(28px,calc((100vw - 1064px)/2));background:var(--paper);border-bottom:1px solid var(--line)}.brand{font-size:22px;letter-spacing:-1px;font-weight:900;text-decoration:none;line-height:1.15}.brand span{display:block;font-size:10px;letter-spacing:1px;margin-top:6px}.nav nav{display:flex;gap:22px;font-size:13px;font-weight:700}.nav nav a{text-decoration:none}.hero{background:var(--yellow);padding:28px 0 64px;border-bottom:1px solid var(--ink)}.breadcrumb{font-size:12px;margin:0 0 50px}.eyebrow{font-size:11px;letter-spacing:.16em;font-weight:800;margin:0 0 16px}h1{font-size:clamp(34px,5.5vw,68px);line-height:1.35;letter-spacing:-.055em;margin:0 0 24px}h2{font-size:clamp(25px,3vw,36px);line-height:1.5;letter-spacing:-.04em;margin:0 0 20px}.hero-title{font-weight:800;font-size:20px;margin-bottom:12px}.lead{font-size:16px}.stats{display:flex;gap:60px;margin-top:36px}.stats div{display:flex;align-items:baseline;gap:12px}.stats strong{font-size:52px;letter-spacing:-.05em;line-height:1.2}.stats small{font-size:20px;margin-right:5px}.stats span{font-size:13px;font-weight:700}.hero-note,.small{font-size:12px;color:var(--muted)}.hero-note{margin-top:20px;color:#4a4223}.intro{display:grid;grid-template-columns:.9fr 1.3fr;gap:70px;padding-top:80px;padding-bottom:80px}.intro p{margin-top:0}.values{display:grid;gap:20px;margin-top:28px}.values b{font-size:15px}.values p{font-size:14px;margin:4px 0 0}.directory{padding-top:55px;padding-bottom:80px;border-top:1px solid var(--line)}.section-head{display:flex;justify-content:space-between;align-items:center;gap:20px}.edition{font-size:12px;white-space:nowrap}.directory-lead{color:var(--muted);font-size:14px}.filters{background:#f0ede3;padding:24px;border-radius:12px;margin-top:30px}.filters label{display:block;font-size:13px;font-weight:700;margin-bottom:8px}input{background:#fff;border:1px solid #bdb9ab;border-radius:6px;width:100%;padding:12px 15px;min-height:48px}.chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.chips button{cursor:pointer;background:transparent;border:1px solid #c6c1b2;padding:8px 14px;border-radius:99px;font-size:13px;min-height:42px}.chips button.active{background:var(--ink);color:#fff;border-color:var(--ink)}.result-count{font-size:13px;color:var(--muted);margin:24px 0 15px}.club-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;align-items:start}.club{border:1px solid var(--line);background:#fff;padding:28px;border-radius:10px;min-width:0}.club[hidden]{display:none}.club-top{display:flex;justify-content:space-between;align-items:center}.sport-label{font-size:11px;font-weight:700;background:#f9efbe;padding:3px 10px;border-radius:4px}.club-number{font-size:13px;color:#8e8a80}.club h3{font-size:21px;line-height:1.6;margin:17px 0 10px;overflow-wrap:anywhere}.place{font-size:12px;color:var(--muted);margin:0 0 20px}.club blockquote{font-size:14px;margin:0 0 22px;padding:0 0 0 15px;border-left:3px solid var(--yellow);line-height:1.9}.club details{border-top:1px solid var(--line)}summary{cursor:pointer;font-size:13px;font-weight:700;padding:16px 0;display:flex;justify-content:space-between;gap:12px;list-style:none}summary::-webkit-details-marker{display:none}details[open] summary span{transform:rotate(45deg)}dl{margin:0 0 18px}dl div{display:grid;grid-template-columns:86px 1fr;padding:10px 0;border-top:1px solid #edeae2;font-size:12px;gap:12px}dt{font-weight:700}dd{margin:0;overflow-wrap:anywhere}.source-link{font-size:11px;color:var(--muted)}.sources{border-top:1px solid var(--line);padding-top:60px;padding-bottom:70px}.sources>p{max-width:830px;font-size:14px}.official{display:inline-block;background:var(--ink);color:var(--yellow);padding:12px 22px;border-radius:99px;font-size:13px;text-decoration:none;margin:15px 0}.pdf-list{padding-left:20px;font-size:13px;line-height:2.4}footer{background:var(--ink);color:var(--paper);padding:40px 28px;text-align:center;font-size:12px}footer .brand{display:block;font-size:26px}footer .small{color:#aaa}.fc-feature{background:#f4f0e4;border-radius:14px;padding:38px;margin:0 auto 70px;border-top:5px solid var(--yellow)}.fc-feature .feature-layout{display:grid;grid-template-columns:1fr 1fr;gap:36px}.feature-points{padding:0;list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:12px}.feature-points li{background:var(--paper);padding:17px;font-size:13px;border-radius:7px}.feature-points b{display:block;font-size:17px;margin-bottom:6px}.fc-feature p{font-size:14px}.fc-feature .official{margin-bottom:0}@media(max-width:700px){.wrap{padding-left:20px;padding-right:20px}.nav{padding:14px 20px}.brand{font-size:18px}.nav nav{gap:14px;font-size:11px}.breadcrumb{margin-bottom:34px}.hero{padding-bottom:40px}.hero-title{font-size:17px}.lead{font-size:14px}.stats{gap:24px;justify-content:space-between}.stats div{flex-direction:column;gap:5px}.stats strong{font-size:40px}.stats span{font-size:12px}.intro{grid-template-columns:1fr;gap:15px;padding-top:50px;padding-bottom:50px}.section-head{align-items:start;flex-direction:column;gap:0}.directory{padding-top:40px}.filters{padding:18px}.club-grid{grid-template-columns:1fr}.club{padding:23px}.club h3{font-size:20px}.fc-feature{margin-left:20px;margin-right:20px;padding:24px}.fc-feature .feature-layout{grid-template-columns:1fr;gap:10px}.feature-points{gap:8px}.feature-points li{padding:12px}.feature-points b{font-size:15px}.sources{padding-top:40px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* Shared FC ASAKURA navigation and footer appearance. */
:root{--paper:#faf9f3;--yellow:#f3ce00}
.nav{position:fixed;top:0;left:0;right:0;z-index:100;background:#f3ce00ed;backdrop-filter:blur(16px);border-bottom:3px solid var(--ink);padding:12px 24px;display:flex;justify-content:space-between;align-items:center;gap:10px;box-shadow:none}
body{padding-top:72px}
.nav__logo{display:inline-flex;align-items:center;gap:9px;text-decoration:none;flex-shrink:0}
.nav__logo-img{width:36px;height:auto;display:block}
.nav .brand-wordmark{width:166px;height:auto;display:block}
.nav__pages{display:flex;gap:30px;margin-left:auto;margin-right:36px}
.nav__pages a{font-size:12px;font-weight:700;color:var(--ink);text-decoration:none;text-underline-offset:7px}
.nav__pages a:hover{text-decoration:underline}
.nav__cta{background:var(--ink);color:var(--yellow);padding:10px 22px;border-radius:3px;font-size:14px;font-weight:700;text-decoration:none;border:2px solid var(--ink);min-height:44px;display:flex;align-items:center;white-space:nowrap}
.nav__cta:hover{background:#34342c}
.nav__progress{position:absolute;left:0;bottom:-1px;width:100%;height:2px;background:#a51c30;transform:scaleX(0);transform-origin:left}
.footer{position:relative;background:var(--ink);color:var(--paper);padding:64px 24px 32px;text-align:center}
.footer__logo-img{display:block;width:96px;height:auto;margin:0 auto 24px;filter:none}
.footer__wordmark{display:block;width:min(100%,560px);height:auto;margin:0 auto 16px}
.footer__tagline{font-size:11px;letter-spacing:.1em;margin-top:16px;margin-bottom:30px;color:#ffffff99}
.footer__top{display:inline-block;margin-top:25px;color:#fff;font-size:12px;text-underline-offset:6px}
.footer__copy{border-top:1px solid #ffffff25;padding-top:25px;margin-top:40px;font-size:12px;color:#ffffff94}
.footer__credit{font-size:12px;color:#ffffff99;margin-bottom:8px}
.footer__credit a{color:var(--yellow);text-underline-offset:3px}
@media(max-width:1000px){.nav__pages{gap:18px;margin-right:24px}.nav__pages a{font-size:11px}}
@media(max-width:800px){.nav__pages{display:none}.nav__cta{padding:9px 15px;font-size:12px}}
@media(max-width:600px){.nav{padding:12px 18px}.footer__wordmark{width:min(100%,390px)}.footer__logo-img{width:68px}}
@media(max-width:400px){.nav .brand-wordmark{width:130px}.nav__logo-img{width:32px}.nav__cta{padding-inline:10px}}
/* Refined directory: generous editorial rhythm and clear information hierarchy. */
body{font-family:'Inter','Noto Sans JP',sans-serif;font-feature-settings:'palt';text-rendering:optimizeLegibility}
.nav{padding:12px max(18px,calc((100% - 1240px)/2));border-bottom:1px solid #19191829}
.nav__cta{border-width:1px}
.wrap{max-width:1232px;padding-inline:32px}
.hero{position:relative;overflow:hidden;padding-bottom:76px;border-bottom:0}
.hero .wrap{position:relative;z-index:1}
.hero:after{content:'';position:absolute;width:580px;height:580px;border:1px solid #19191818;border-radius:50%;right:-180px;top:70px;box-shadow:0 0 0 70px #19191805,0 0 0 140px #19191804;pointer-events:none}
.breadcrumb{margin-bottom:62px;color:#50461d;font-size:11px}
.eyebrow{letter-spacing:.18em;font-size:10px;color:#952b32}
.hero .eyebrow{color:#554a1d}
h1{font-size:clamp(38px,5.4vw,72px);line-height:1.25;font-weight:900;letter-spacing:-.055em;max-width:940px;margin-bottom:26px}
.title-about{display:inline-block;font-size:.43em;letter-spacing:-.025em;margin-left:14px;font-weight:700}
.lead{font-size:15px;line-height:2;max-width:680px}
.stats{border-top:1px solid #19191835;padding-top:25px;gap:58px;max-width:720px;margin-top:40px}
.stats strong{font-size:56px;font-weight:800}.hero-note{font-size:10px;letter-spacing:.03em}
.intro{padding-top:92px;padding-bottom:92px;gap:100px;grid-template-columns:1fr 1.25fr}
.intro h2{font-size:clamp(27px,3vw,39px);font-weight:800}.intro>div>p{font-size:15px;line-height:2.1}
.values{gap:0;margin-top:32px}.values>div{display:grid;grid-template-columns:145px 1fr;gap:20px;border-top:1px solid var(--line);padding:18px 0}.values b{font-size:13px}.values p{margin:0;font-size:13px}
.directory{padding-top:70px;padding-bottom:100px}.section-head h2{font-weight:800;font-size:clamp(26px,3vw,38px)}
.edition{border:1px solid #19191830;padding:7px 12px;font-size:10px;letter-spacing:.06em}
.directory-lead{max-width:800px;font-size:12px;line-height:2}.directory-lead a{color:var(--ink)}
.filters{background:#efede4;border-radius:3px;padding:28px;margin-top:36px;display:grid;grid-template-columns:230px 1fr;column-gap:28px}.filters label{align-self:center;margin:0;font-size:12px}.filters input{border:1px solid #ccc8b9;border-radius:3px;font-size:14px;background:#fffdf7}.chips{grid-column:1/-1;border-top:1px solid #d7d2c4;padding-top:20px;margin-top:24px;gap:9px}.chips button{background:#faf9f3;border-color:#d1ccbe;font-size:12px;padding:8px 17px;transition:background .15s,color .15s}.chips button:hover{background:#e6dca7}.chips button.active:hover{background:var(--ink)}
.result-count{font-size:11px;margin-top:30px;letter-spacing:.05em}
.club-grid{gap:24px}.club{border-radius:3px;border:1px solid #dcd8cb;padding:32px;background:#fffdf8;transition:border-color .2s}.club:hover{border-color:#aaa28e}.sport-label{background:transparent;border-bottom:2px solid var(--yellow);padding:0 0 5px;border-radius:0;font-size:11px;letter-spacing:.04em}.club-number{font-size:26px;line-height:1;font-weight:500;color:#c5c0b1;letter-spacing:-.06em}.club h3{font-size:22px;font-weight:800;line-height:1.65;letter-spacing:-.025em;margin-top:22px;max-width:470px}.place{font-size:11px;line-height:1.9;margin-bottom:24px}.club blockquote{font-size:13px;line-height:2.05;border-left:2px solid #dac671;padding-left:18px;color:#49473f;margin-bottom:26px}summary{font-size:12px;padding-block:19px}summary span{width:23px;height:23px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#efeadd;font-size:17px;flex-shrink:0}dl div{font-size:12px;line-height:1.9;padding-block:12px}dt{color:#716b5b}.fc-feature{border-radius:3px;padding:48px;border-top:3px solid var(--yellow);background:#eeeadf}.fc-feature h2{font-weight:800;font-size:38px}.feature-points li{border-radius:2px;border:1px solid #e3decf;background:#fffdf7}.feature-points b{font-size:16px}.official{border-radius:3px;padding:14px 22px}.sources{padding-block:70px 88px}.sources h2{font-size:28px}.sources>p{font-size:13px;line-height:2.1}.pdf-list{font-size:12px;display:grid;grid-template-columns:1fr 1fr;list-style:none;padding:0;gap:0 28px;max-width:900px}.pdf-list li{padding-block:11px;border-bottom:1px solid var(--line)}
@media(max-width:800px){.wrap{padding-inline:22px}.intro{grid-template-columns:1fr;gap:20px;padding-block:56px}.filters{grid-template-columns:1fr;padding:20px}.filters label{margin-bottom:10px}.values>div{grid-template-columns:120px 1fr;gap:12px}.hero{padding-bottom:44px}.hero:after{right:-430px}.breadcrumb{margin-bottom:38px}.stats{gap:24px}.stats strong{font-size:43px}.directory{padding-block:48px 64px}.club-grid{gap:17px}.club{padding:25px}.fc-feature{padding:28px;margin-inline:22px}.fc-feature h2{font-size:30px}.pdf-list{grid-template-columns:1fr}.sources{padding-block:48px 60px}.nav .brand-wordmark{width:140px}.title-about{display:block;font-size:20px;margin:12px 0 0}.hero h1{font-size:clamp(34px,7.2vw,54px)}.hero .lead{font-size:13px}.intro>div>p{font-size:14px}}
@media(max-width:400px){.nav .brand-wordmark{width:122px}.nav__logo-img{width:32px}}
/* Plain local club guide. */
.hero{background:#f0ede3;padding:24px 0 42px;border-bottom:1px solid var(--line)}
.hero:after{display:none}
.breadcrumb{margin-bottom:32px}
.hero h1{font-size:clamp(27px,3.4vw,42px);line-height:1.55;letter-spacing:-.025em;font-weight:700;margin-bottom:16px;max-width:none}
.hero .lead{font-size:14px;line-height:1.95}
.stats{margin-top:26px;padding-top:20px;gap:44px;max-width:640px}
.stats strong{font-size:36px;font-weight:700}.stats small{font-size:16px}
.hero-note{font-size:11px}
.intro{padding-block:48px;gap:50px;grid-template-columns:1fr 2fr}
.intro h2,.section-head h2,.fc-feature h2,.sources h2{font-size:26px;font-weight:700;letter-spacing:-.02em}
.intro>div>p{font-size:14px;line-height:2}.intro>div>p:last-child{margin-bottom:0}
.directory{padding-block:42px 60px}.edition{border:0;padding:0;font-size:12px}.filters{margin-top:24px}.club h3{font-size:19px;font-weight:700;line-height:1.65}.club{padding:26px}.club-grid{gap:18px}.sport-label{border:0;color:#746847;background:#f1ecdf;padding:3px 9px;font-weight:500}.club blockquote{border:0;padding:0;font-size:13px;color:#49473f}.place{margin-bottom:17px}.club h3{margin-top:15px}.fc-feature{padding:32px;border-top:1px solid #ccc6b7;background:#f0ede3;margin-bottom:50px}.feature-points li{background:transparent;border:0;border-top:1px solid #d2ccbe;padding:14px 0}.feature-points b{font-size:14px}.sources{padding-block:45px 55px}
@media(max-width:800px){.hero{padding-bottom:32px}.hero h1{font-size:28px}.breadcrumb{margin-bottom:24px}.stats strong{font-size:32px}.stats{gap:22px}.intro{grid-template-columns:1fr;gap:5px;padding-block:36px}.intro h2,.section-head h2,.fc-feature h2,.sources h2{font-size:23px}.directory{padding-top:32px}.fc-feature{padding:24px}.club{padding:23px}}
.extra-filters{grid-column:1/-1;display:flex;align-items:end;gap:16px;margin-top:18px;flex-wrap:wrap}.extra-filters label{display:flex;flex-direction:column;gap:7px;align-items:start;font-size:12px}.extra-filters select{font:inherit;min-height:44px;padding:8px 32px 8px 12px;border:1px solid #ccc8b9;border-radius:3px;background:#fffdf7;color:var(--ink);max-width:100%}.extra-filters button{min-height:44px;padding:8px 12px;border:0;background:none;color:var(--muted);cursor:pointer;font-size:12px;text-decoration:underline;text-underline-offset:4px}.filter-note{grid-column:1/-1;font-size:11px;color:var(--muted);margin:14px 0 0;line-height:1.8}@media(max-width:600px){.extra-filters{gap:12px}.extra-filters label{width:100%}.extra-filters select{width:100%}.extra-filters button{padding-left:0}}
.hero h1 span{display:inline-block}
