:root{
--color-bg:#fbfaf6;
--color-text:#17171b;
--color-accent:#b5361b;
--font-sans:"Segoe UI","Hiragino Kaku Gothic ProN","Yu Gothic UI","Meiryo UI","Noto Sans JP","Noto Sans CJK JP",system-ui,sans-serif;
--font-display:"Gill Sans","Gill Sans Nova","Seravek","Segoe UI Semibold","Hiragino Sans","Yu Gothic","Meiryo",sans-serif;
--space-section:3.38rem;
--tk-washi:#ffffff;
--tk-kinu:#f3f1ea;
--tk-line:#e2ded3;
--tk-line-strong:#b9b3a5;
--tk-sumi:#55545c;
--tk-shu:#8f2810;
--tk-shu-pale:#fbe9e3;
--tk-ai:#26466a;
--tk-ai-pale:#e4ebf3;
--tk-matcha:#3d5a2a;
--tk-matcha-pale:#e6eedd;
--tk-fuji:#62385a;
--tk-fuji-pale:#f1e5ee;
--tk-kitsune:#7a560f;
--tk-kitsune-pale:#f6ecd3;
--tk-nezumi:#4f5157;
--tk-nezumi-pale:#ebebea;
--tk-yoru:#1d1c21;
--tk-yoru-ink:#d9d7d2;
--tk-k:var(--tk-nezumi);
--tk-k-pale:var(--tk-nezumi-pale);
--tk-round:2px
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:.8rem}
body{margin:0;background:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);font-size:1rem;line-height:1.66;overflow-wrap:anywhere;font-kerning:normal}
body:lang(ja){line-height:1.86;letter-spacing:.02em;line-break:strict}
header,nav,main,footer,section,article,aside,details{display:block}
h1,h2,h3{font-family:var(--font-display);font-weight:600;line-height:1.28;color:var(--color-text);margin:0 0 .65em;letter-spacing:.005em}
:lang(ja) h1,:lang(ja) h2,:lang(ja) h3{font-weight:700;letter-spacing:.04em;word-break:auto-phrase}
h1{font-size:clamp(1.75rem,1.25rem + 2.1vw,2.55rem)}
h2{font-size:clamp(1.24rem,1.08rem + .7vw,1.52rem);margin-top:2rem}
h3{font-size:1.1rem;margin-top:1.3rem}
p{margin:0 0 1rem}
ul,ol{margin:0 0 1.05rem;padding-left:1.3rem}
li{margin:.22rem 0}
dl{margin:0 0 1rem}
dt{font-size:.76rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--tk-sumi)}
:lang(ja) dt{text-transform:none;letter-spacing:.08em;font-size:.8rem}
dd{margin:0 0 .12rem}
blockquote{margin:0}
time{white-space:nowrap}
svg{max-width:100%}
table{width:100%;border-collapse:collapse;font-size:.9rem;background:var(--tk-washi)}
th,td{padding:.5rem .75rem;text-align:left;vertical-align:top;border-bottom:1px solid var(--tk-line)}
thead th{font-size:.74rem;font-weight:600;letter-spacing:.05em;color:var(--tk-sumi);background:var(--tk-kinu);border-bottom:1px solid var(--tk-line-strong);white-space:nowrap}
a{color:var(--color-accent);text-decoration:underline;text-decoration-color:rgba(181,54,27,.45);text-decoration-thickness:1px;text-underline-offset:.22em}
a:hover{color:var(--tk-shu);text-decoration-color:currentColor}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}
details{margin:1.6rem 0 0}
summary{cursor:pointer;font-weight:600;color:var(--color-text)}
summary::marker{color:var(--color-accent)}
.tk-sprite{display:none}
.tk-sprite symbol{stroke-width:1.6}
.tk-icon{display:inline-block;width:1.05em;height:1.05em;margin-right:.45em;vertical-align:-.15em;flex:none;fill:none;stroke:currentColor;overflow:visible}
.tk-skip{position:absolute;left:-300vw;top:.5rem;z-index:70;padding:.55rem .95rem;background:var(--tk-yoru);color:var(--tk-washi);font-weight:600}
.tk-skip:focus{left:.6rem;color:var(--tk-washi)}
.tk-wrap{width:100%;max-width:70rem;margin:0 auto;padding:0 1rem}
.tk-header{position:relative;z-index:30;background:var(--color-bg);border-top:4px solid var(--color-accent);border-bottom:1px solid var(--tk-line-strong)}
.tk-header>.tk-wrap{display:flex;flex-wrap:wrap;align-items:center;gap:.25rem 1.2rem;padding-top:.7rem}
.tk-brand{order:1;display:inline-flex;align-items:center;gap:.65rem;min-height:2.75rem;font-family:var(--font-display);font-size:1.3rem;font-weight:600;letter-spacing:.03em;color:var(--color-text);text-decoration:none;white-space:nowrap}
.tk-brand::before{content:"";display:inline-block;width:1.15rem;height:1.15rem;background:var(--color-accent);border-radius:1px;box-shadow:inset 0 0 0 2px var(--color-accent),inset 0 0 0 4px var(--color-bg),inset 0 0 0 9px var(--color-accent)}
.tk-brand:hover{color:var(--color-accent)}
.tk-langs{order:2;margin:0 0 0 auto;padding:0;list-style:none;display:flex;gap:0;font-size:.85rem;border:1px solid var(--tk-line-strong);border-radius:var(--tk-round)}
.tk-langs li{margin:0}
.tk-langs li+li{border-left:1px solid var(--tk-line-strong)}
.tk-langs a{display:inline-flex;align-items:center;min-height:2.35rem;padding:0 .7rem;color:var(--tk-sumi);text-decoration:none}
.tk-langs a:hover{color:var(--color-accent);background:var(--tk-kinu)}
.tk-langs [aria-current]{color:var(--color-text);background:var(--tk-kinu);font-weight:600;box-shadow:inset 0 -2px 0 var(--color-accent)}
.tk-nav{order:3;flex:1 1 100%}
.tk-nav>ul{display:flex;flex-wrap:wrap;margin:0 -.6rem;padding:0;list-style:none}
.tk-nav>ul>li{margin:0}
.tk-nav>ul>li>a{display:inline-flex;align-items:baseline;gap:.4rem;min-height:2.85rem;padding:.75rem .6rem .6rem;font-family:var(--font-display);font-weight:600;font-size:.95rem;color:var(--color-text);text-decoration:none;box-shadow:inset 0 -2px 0 transparent}
.tk-nav>ul>li>a:hover{color:var(--color-accent);box-shadow:inset 0 -2px 0 var(--tk-line-strong)}
.tk-nav>ul>li>a[aria-current]{color:var(--color-accent);box-shadow:inset 0 -3px 0 var(--color-accent)}
.tk-nav .tk-count{font-family:var(--font-sans);font-weight:400;font-size:.74rem;color:var(--tk-sumi)}
.tk-sub{display:none;position:absolute;left:0;right:0;top:100%;margin:0;padding:.8rem 1rem .95rem;list-style:none;flex-wrap:wrap;gap:.4rem;background:var(--tk-washi);border-top:1px solid var(--tk-line);border-bottom:2px solid var(--color-accent)}
.tk-sub li{margin:0}
.tk-sub a{display:inline-flex;align-items:baseline;gap:.4rem;min-height:2.35rem;padding:.42rem .8rem;font-size:.88rem;color:var(--color-text);text-decoration:none;background:var(--color-bg);border:1px solid var(--tk-line-strong);border-radius:var(--tk-round)}
.tk-sub a:hover{border-color:var(--color-accent);color:var(--color-accent)}
.tk-sub [aria-current]{background:var(--color-text);border-color:var(--color-text);color:var(--tk-washi)}
.tk-sub [aria-current] .tk-count{color:var(--tk-yoru-ink)}
.tk-has-sub:hover>.tk-sub,.tk-has-sub:focus-within>.tk-sub{display:flex}
.tk-main{padding:1.7rem 0 var(--space-section)}
.tk-main:focus{outline:none}
.tk-crumbs{margin:0 0 1.1rem;font-size:.83rem;color:var(--tk-sumi)}
.tk-crumbs ol{display:flex;flex-wrap:wrap;margin:0;padding:0;list-style:none}
.tk-crumbs li{margin:0}
.tk-crumbs li+li::before{content:"/";margin:0 .55rem;color:var(--tk-line-strong)}
.tk-crumbs a{color:var(--tk-sumi);text-decoration-color:var(--tk-line-strong)}
.tk-crumbs a:hover{color:var(--color-accent)}
.tk-hero{padding:.9rem 0 1.6rem 1.1rem;margin-bottom:.4rem;border-left:3px solid var(--color-accent)}
.tk-hero h1{margin-bottom:.6rem}
.tk-lead{font-size:1.08rem;line-height:1.75;margin:0}
.tk-intro{font-size:1.02rem}
.tk-count{font-family:var(--font-sans);font-size:.62em;font-weight:600;color:var(--tk-sumi);vertical-align:.18em}
h1 .tk-count{display:inline-block;margin-left:.4rem;padding:.05rem .45rem;font-size:.4em;vertical-align:.55em;color:var(--color-accent);border:1px solid var(--color-accent);border-radius:var(--tk-round)}
.tk-block{margin-top:var(--space-section)}
.tk-block>h2{display:flex;align-items:center;flex-wrap:wrap;gap:.2rem .5rem;margin:0 0 .4rem;padding-bottom:.5rem;border-bottom:1px solid var(--color-text)}
.tk-block>h2 .tk-icon{color:var(--color-accent)}
.tk-block>p{margin:0 0 .95rem}
.tk-see-all{font-size:.88rem;font-weight:600;text-decoration:none}
.tk-see-all:hover{text-decoration:underline}
.tk-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(15.5rem,1fr));gap:.75rem;margin:0 0 1.1rem;padding:0;list-style:none}
.tk-teaser{position:relative;display:flex;flex-direction:column;gap:.32rem;margin:0;padding:.95rem 1rem .85rem 1.15rem;background:var(--tk-washi);border:1px solid var(--tk-line);border-radius:var(--tk-round)}
.tk-teaser::before{content:"";position:absolute;left:0;top:.95rem;width:3px;height:1.35rem;background:var(--tk-k)}
.tk-teaser:hover{border-color:var(--tk-line-strong)}
.tk-teaser-name{font-family:var(--font-display);font-size:1.05rem;font-weight:600;line-height:1.38;color:var(--color-text);text-decoration:none}
.tk-teaser-name .tk-icon{color:var(--tk-k)}
.tk-teaser-name:hover{color:var(--color-accent);text-decoration:underline}
.tk-teaser-meta{font-size:.84rem;color:var(--tk-sumi)}
.tk-teaser-when{font-size:.88rem;font-weight:600;color:var(--color-text)}
.tk-teaser-cues{display:flex;flex-wrap:wrap;gap:.3rem}
.tk-teaser-chess{margin-top:auto;padding-top:.4rem;font-size:.79rem;color:var(--tk-sumi);border-top:1px solid var(--tk-kinu)}
.tk-badge{display:inline-block;padding:0 .4rem;font-size:.74rem;font-weight:600;line-height:1.6;color:var(--tk-k);background:var(--tk-k-pale);border-radius:var(--tk-round)}
.tk-kind-club{--tk-k:var(--color-accent);--tk-k-pale:var(--tk-shu-pale)}
.tk-kind-tournament{--tk-k:var(--tk-ai);--tk-k-pale:var(--tk-ai-pale)}
.tk-kind-academy,.tk-kind-coach{--tk-k:var(--tk-matcha);--tk-k-pale:var(--tk-matcha-pale)}
.tk-kind-cafe_bar{--tk-k:var(--tk-kitsune);--tk-k-pale:var(--tk-kitsune-pale)}
.tk-kind-outdoor_tables,.tk-kind-giant_chess{--tk-k:var(--tk-matcha);--tk-k-pale:var(--tk-matcha-pale)}
.tk-kind-group,.tk-kind-library_community{--tk-k:var(--tk-fuji);--tk-k-pale:var(--tk-fuji-pale)}
.tk-kind-shop,.tk-kind-hotel_mall,.tk-kind-other{--tk-k:var(--tk-nezumi);--tk-k-pale:var(--tk-nezumi-pale)}
.tk-cue{display:inline-block;margin:0;padding:.02rem .48rem;font-size:.74rem;line-height:1.55;color:var(--tk-nezumi);background:var(--tk-nezumi-pale);border-radius:var(--tk-round)}
.tk-cue-access,.tk-cue-free{color:var(--tk-matcha);background:var(--tk-matcha-pale)}
.tk-cue-kids,.tk-cue-beginners{color:var(--tk-fuji);background:var(--tk-fuji-pale)}
.tk-cue-closed,.tk-cue-register{color:var(--tk-shu);background:var(--tk-shu-pale)}
.tk-cue-format{color:var(--tk-ai);background:var(--tk-washi);border:1px solid var(--tk-ai-pale)}
.tk-ch-confirmed,.tk-ch-confirmed_undated{color:var(--tk-matcha)}
.tk-ch-scheduled{color:var(--tk-ai)}
.tk-ch-not_confirmed,.tk-ch-not_confirmed_nodate,.tk-ch-moved,.tk-ch-moved_unknown,.tk-ch-ended{color:var(--tk-sumi)}
.tk-is-past time{text-decoration:line-through;text-decoration-color:var(--tk-line-strong);color:var(--tk-sumi)}
.tk-past{display:inline-block;margin-left:.35rem;padding:0 .38rem;font-size:.69rem;font-weight:600;letter-spacing:.05em;color:var(--tk-sumi);border:1px solid var(--tk-line-strong);border-radius:var(--tk-round)}
.tk-facets{display:flex;flex-wrap:wrap;gap:.4rem;margin:0 0 1.5rem;padding:0;list-style:none}
.tk-facets li{margin:0}
.tk-facets a{display:inline-flex;align-items:baseline;gap:.38rem;min-height:2.35rem;padding:.42rem .82rem;font-size:.88rem;color:var(--color-text);text-decoration:none;background:var(--tk-washi);border:1px solid var(--tk-line-strong);border-radius:var(--tk-round)}
.tk-facets a:hover{border-color:var(--color-accent);color:var(--color-accent)}
.tk-facets [aria-current]{background:var(--color-accent);border-color:var(--color-accent);color:var(--tk-washi)}
.tk-facets [aria-current] .tk-count{color:var(--tk-shu-pale)}
.tk-facet .tk-count{font-size:.76rem;vertical-align:baseline}
.tk-group{margin-top:1.8rem}
.tk-group-h2{margin:0 0 .75rem;padding-left:.6rem;font-size:1.16rem;border-left:3px solid var(--tk-line-strong)}
.tk-about{margin-top:2rem;padding:.9rem 1.05rem;background:var(--tk-kinu);border-radius:var(--tk-round)}
.tk-about[open] summary{margin-bottom:.75rem}
.tk-slice-about p:last-child{margin-bottom:0}
.tk-c960{margin-top:var(--space-section);padding:1.35rem 1.35rem .55rem;background:var(--tk-washi);border:1px solid var(--tk-line);border-top:3px double var(--color-accent)}
.tk-c960 h2{margin-top:0}
.tk-about-list{margin-top:var(--space-section);padding-top:1.1rem;border-top:1px solid var(--tk-line-strong);color:var(--tk-sumi)}
.tk-about-list h2{color:var(--color-text)}
.tk-cta{margin-top:2.3rem;padding:1.35rem;background:var(--tk-kinu);border-left:4px solid var(--color-accent)}
.tk-cta h2{margin-top:0}
.tk-cta p:last-child{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:0}
.tk-btn{display:inline-flex;align-items:center;min-height:2.6rem;padding:.5rem 1.1rem;font-weight:600;font-size:.92rem;line-height:1.3;color:var(--tk-washi);background:var(--color-accent);border:1px solid var(--color-accent);border-radius:var(--tk-round);text-decoration:none;cursor:pointer}
.tk-btn:hover{color:var(--tk-washi);background:var(--tk-shu);border-color:var(--tk-shu)}
.tk-card-side .tk-btn{color:var(--color-text);background:var(--tk-washi);border-color:var(--tk-line-strong)}
.tk-card-side .tk-btn:hover{color:var(--color-accent);border-color:var(--color-accent);background:var(--tk-washi)}
.tk-card-head{padding-bottom:1.1rem;margin-bottom:1.3rem;border-bottom:1px solid var(--color-text)}
.tk-card-head h1 .tk-icon{color:var(--tk-k)}
.tk-name-local{margin:-.35rem 0 .45rem;font-size:1.02rem;color:var(--tk-sumi);letter-spacing:.02em}
.tk-kind-line{margin:0 0 .65rem;color:var(--tk-sumi)}
.tk-cues{display:flex;flex-wrap:wrap;gap:.35rem;margin:0 0 .85rem;padding:0;list-style:none}
.tk-status{display:grid;gap:.18rem;font-size:.92rem}
.tk-status-line{margin:0}
.tk-status-label{display:inline-block;min-width:4.8rem;font-weight:600;color:var(--color-text)}
.tk-st-open,.tk-st-operating{color:var(--tk-matcha)}
.tk-st-closed{color:var(--tk-shu)}
.tk-st-unknown,.tk-st-not_a_venue{color:var(--tk-sumi)}
.tk-stale{font-style:italic}
.tk-card{margin:0}
.tk-when,.tk-training,.tk-facts-sec,.tk-evidence,.tk-corrections{margin:0 0 1.8rem}
.tk-when h2 .tk-icon,.tk-location h2 .tk-icon{color:var(--color-accent)}
.tk-location .tk-facts{margin-bottom:.6rem}
.tk-location p{margin-bottom:.55rem}
.tk-contacts .tk-btn{overflow-wrap:anywhere}
.tk-card-body{display:grid;grid-template-columns:minmax(0,1fr);gap:1.7rem}
.tk-card-main>section:first-child h2,.tk-card-side>section:first-child h2{margin-top:0}
.tk-card-side{display:flex;flex-direction:column;gap:1rem}
.tk-card-side>section,.tk-report{padding:1rem 1.05rem;background:var(--tk-washi);border:1px solid var(--tk-line)}
.tk-card-side h2{font-size:1.1rem;margin-top:0}
.tk-report{margin:0}
.tk-facts{display:grid;grid-template-columns:repeat(auto-fill,minmax(12.5rem,1fr));gap:.75rem 1.25rem}
.tk-card-side .tk-facts{grid-template-columns:minmax(0,1fr)}
.tk-fact{padding-bottom:.45rem;border-bottom:1px solid var(--tk-kinu)}
.tk-unknown{color:var(--tk-sumi);font-style:italic}
:lang(ja) .tk-unknown,:lang(ja) .tk-stale{font-style:normal}
.tk-note{font-size:.83rem;color:var(--tk-sumi)}
.tk-table-wrap{overflow-x:auto;margin:0 0 1.05rem;border:1px solid var(--tk-line)}
.tk-sessions td:first-child{white-space:nowrap}
.tk-training ul,.tk-coaches{padding-left:1.15rem}
.tk-coach{margin:.3rem 0}
.tk-evidence-q{padding:.95rem 1.15rem;background:var(--tk-washi);border:1px solid var(--tk-line);border-left:3px solid var(--tk-ai)}
.tk-evidence-q footer{margin-top:.45rem;font-size:.81rem;color:var(--tk-sumi)}
.tk-src-ref{display:inline-block;min-width:1.25rem;margin-left:.15rem;padding:0 .22rem;font-size:.69rem;font-weight:600;line-height:1.5;text-align:center;vertical-align:.22em;text-decoration:none;border-radius:var(--tk-round)}
.tk-flag-official{color:var(--tk-matcha);background:var(--tk-matcha-pale)}
.tk-flag-secondary{color:var(--tk-ai);background:var(--tk-ai-pale)}
.tk-flag-unverified{color:var(--tk-kitsune);background:var(--tk-kitsune-pale)}
.tk-flag{padding:0 .3rem;font-size:.75rem;font-weight:600;border-radius:var(--tk-round)}
.tk-contact-list{margin:0;padding:0;list-style:none}
.tk-contact-list li{margin:0 0 .5rem}
.tk-sources{padding-left:1.45rem;font-size:.87rem}
.tk-src-group{margin:.65rem 0}
.tk-src-group ul{margin:.2rem 0 0;padding-left:.9rem;list-style:none}
.tk-src-link{font-weight:600;word-break:break-all}
.tk-src-item{margin:.25rem 0;color:var(--tk-sumi)}
.tk-src-time{color:var(--tk-sumi)}
.tk-src-quote{color:var(--color-text)}
.tk-not-opened{font-style:italic;color:var(--tk-shu)}
.tk-corrections ul{padding-left:1.15rem}
.tk-doc-section{margin-top:2.1rem;padding-top:.35rem;border-top:1px solid var(--tk-line-strong)}
.tk-doc-section h2{margin-top:.85rem}
.tk-form{max-width:45rem;margin:1.6rem 0 2.1rem}
.tk-fieldset{margin:0 0 1.15rem;padding:1rem 1.15rem .45rem;background:var(--tk-washi);border:1px solid var(--tk-line)}
.tk-fieldset legend{padding:0 .45rem;font-weight:600}
.tk-modes .tk-field{margin-bottom:.4rem}
.tk-field{display:flex;flex-direction:column;gap:.28rem;margin:0 0 1rem}
.tk-label{font-weight:600}
.tk-modes .tk-label{font-weight:400;display:flex;gap:.5rem;align-items:center}
.tk-hint{font-size:.83rem;color:var(--tk-sumi)}
.tk-input,.tk-textarea{width:100%;min-height:2.6rem;padding:.5rem .7rem;font:inherit;color:var(--color-text);background:var(--tk-washi);border:1px solid var(--tk-line-strong);border-radius:var(--tk-round)}
.tk-modes .tk-input{width:auto;min-height:0}
.tk-textarea{resize:vertical}
.tk-input:focus,.tk-textarea:focus{border-color:var(--color-accent)}
.tk-hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.tk-submit{font-size:1rem}
.tk-notice{margin-top:.85rem;font-weight:600}
.tk-notice-ok{color:var(--tk-matcha)}
.tk-notice-fail{color:var(--tk-shu)}
.tk-notice-sending{color:var(--tk-sumi)}
.tk-noscript{padding:.8rem 1rem;background:var(--tk-kitsune-pale);border-left:3px solid var(--tk-kitsune)}
.tk-log td{border-bottom:1px solid var(--tk-line)}
.tk-log-type{font-size:.79rem;font-weight:600;white-space:nowrap}
.tk-type-launch{color:var(--color-accent)}
.tk-type-data{color:var(--tk-ai)}
.tk-type-fix{color:var(--tk-matcha)}
.tk-type-copy{color:var(--tk-fuji)}
.tk-type-method{color:var(--tk-kitsune)}
.tk-notfound{padding:2.1rem 0}
.tk-footer{padding:2rem 0 2.4rem;font-size:.89rem;color:var(--tk-yoru-ink);background:var(--tk-yoru);border-top:4px solid var(--color-accent)}
.tk-footer a{color:#ffffff}
.tk-footer a:hover{color:#f4b8a6}
.tk-footer-nav{display:flex;flex-wrap:wrap;gap:.3rem 1.35rem;margin:0 0 1.05rem;padding:0;list-style:none}
.tk-footer-nav li{margin:0}
.tk-footer-nav a{display:inline-flex;align-items:center;min-height:2.4rem;font-weight:600}
.tk-footer-nav [aria-current]{text-decoration:none;color:#f4b8a6}
.tk-asof{font-size:.83rem;color:#b5b2ab}
@media (min-width:48rem){
.tk-wrap{padding:0 1.7rem}
.tk-card-body{grid-template-columns:minmax(0,1fr) 19rem;align-items:start}
.tk-lead{font-size:1.13rem}
}
@media (max-width:47.99rem){
.tk-card-body{display:flex;flex-direction:column}
.tk-card-side{order:-1}
.tk-nav>ul>li>a{padding:.6rem .5rem .5rem;font-size:.9rem}
.tk-hero{padding-left:.85rem}
}
@media print{
.tk-header,.tk-footer,.tk-cta,.tk-report{display:none}
body{background:#fff}
}
