.theme-jp .dir-hero{background:#eef4ef;border-color:var(--g);background-image:radial-gradient(circle at 100% 0,rgba(188,0,45,.08) 0 90px,transparent 91px)}
.theme-jp .dir-hero h1{font-family:Georgia,"Hiragino Mincho ProN",serif}
.theme-jp h2{border-bottom:1px solid var(--g2)}
.map-wrap{margin-top:24px}.map-hint{font-family:Helvetica,Arial,sans-serif;font-size:.9rem;color:#555}
.map-box{position:relative;background:#f7fbf8;border:1px solid #cfe2d4;border-radius:10px;padding:10px;max-width:760px;margin:auto}
.jp-map{width:100%;height:auto;display:block}
/* Choropleth fills/hover/legend live in map-shared.css (cream + green accent) */
.jp-map{width:100%;height:auto;display:block}
/* map-label chrome overridden by map-shared; keep selector for older pages without shared */
.map-label{position:absolute;top:10px;left:12px;background:#fff;border:1px solid var(--g2);border-left:4px solid var(--g);border-radius:4px;padding:4px 10px;font-family:Helvetica,Arial,sans-serif;font-size:.95rem;color:var(--g)}
.reg-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}.reg-list ul{margin:.2em 0;padding-left:18px;font-family:Helvetica,Arial,sans-serif;font-size:.92rem}.reg-list h3{margin:.4em 0 .1em;font-size:1.05rem}.reg-list a{color:var(--g)}
.psec h2 small{font-size:.8rem;color:#666}.soon-box{background:#fff;border:1px dashed var(--g2);border-radius:6px;padding:10px 14px;font-family:Helvetica,Arial,sans-serif;font-size:.92rem}
.sp-slot{border:2px dashed #c9a227;border-radius:8px;padding:10px 14px;margin:14px 0;background:#fffdf3;font-family:Helvetica,Arial,sans-serif;font-size:.9rem}.sp-slot p{margin:.3em 0 0}
.aff-tag{background:#fdf0f2;color:#8a0020}
.theme-jp .mission{font-family:Georgia,serif}
@media(max-width:640px){.map-label{font-size:.85rem}.map-box{padding:2px}}
.theme-jp .dir-tools label{min-width:0}.theme-jp .dir-tools select,.theme-jp .dir-tools input{max-width:100%;min-width:0;width:100%;box-sizing:border-box}.map-hint a{color:var(--g)}
/* 2026-10-15 enrichment: icons, sticky jump bar, info blocks, featured badge, affiliate box, tap targets */
.ic{display:inline-block;margin-right:.15em}
.backmap{margin:.4em 0;font-family:Helvetica,Arial,sans-serif}.backmap a{display:inline-block;padding:8px 12px;border:1px solid var(--g2);border-radius:999px;color:var(--g);text-decoration:none;background:#fff}
.jumpbar{position:sticky;top:0;z-index:20;display:flex;gap:8px;overflow-x:auto;padding:10px 4px;margin:0 -4px 14px;background:rgba(255,255,255,.96);border-bottom:1px solid #dde6df;-webkit-overflow-scrolling:touch;scrollbar-width:thin}
.jumpbar a{flex:0 0 auto;padding:9px 14px;min-height:44px;box-sizing:border-box;display:inline-flex;align-items:center;border:1px solid var(--g2);border-radius:999px;background:#f4f8f5;color:var(--g);text-decoration:none;font-family:Helvetica,Arial,sans-serif;font-size:.9rem;white-space:nowrap}
.jumpbar a:hover,.jumpbar a:focus{background:var(--g);color:#fff}
.psec,.pinfo{scroll-margin-top:72px}
.pinfo .lead{font-size:1.1rem;line-height:1.6}
.info-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px;margin:12px 0}
.info{background:#fff;border:1px solid #dde6df;border-left:4px solid var(--g);border-radius:8px;padding:12px 14px}
.info h3{margin:0 0 .3em;font-size:1rem}.info p{margin:0;font-size:.95rem;line-height:1.5}
.dir-card{position:relative}.dir-card h3 a{text-decoration:none}
.dir-card.featured{border:2px solid #c9a227;background:#fffdf3}
.badge-feat{position:absolute;top:-10px;right:10px;background:#c9a227;color:#fff;font:700 .75rem Helvetica,Arial,sans-serif;padding:3px 9px;border-radius:999px}
.aff-box{border:1px solid #f0d2d8;background:#fdf6f7;border-radius:8px;padding:10px 14px;margin:14px 0;font-family:Helvetica,Arial,sans-serif;font-size:.95rem}.aff-box p{margin:.3em 0 0}
.theme-jp .chips a,.theme-jp .subnav a{min-height:40px;display:inline-flex;align-items:center}
@media(max-width:640px){.dir-card h3{font-size:1.05rem}.info-grid{grid-template-columns:1fr}.dir-card a,.btn{min-height:44px}.jumpbar a{font-size:.85rem;padding:8px 12px}.theme-jp .subnav{overflow-x:auto;white-space:nowrap;display:flex;flex-wrap:nowrap}}
.theme-jp .jumpbar{flex-wrap:nowrap!important}.pinfo .lead{text-align:left;max-width:none}

/* Meibutsu section + founder tip (Osaka) */
.founder-tip{background:#fff8f0;border:1px solid #e8d4b8;border-left:4px solid #bc002d;border-radius:8px;padding:12px 14px;margin:12px 0;font-family:Helvetica,Arial,sans-serif}
.founder-tip strong{display:block;color:#8a0020;margin-bottom:.25em;font-size:.9rem}
.founder-tip p{margin:0;font-size:1rem;line-height:1.55;color:#222}

/* SEO hub/spoke + evidence (2026-10-15) */
.evidence-box{background:#f7faf8;border:1px solid #c5d6cb;border-left:4px solid var(--g,#2f6b4f);border-radius:8px;padding:14px 16px;margin:18px 0;font-family:Helvetica,Arial,sans-serif}
.evidence-box h2{margin:0 0 .4em;font-size:1.15rem}
.evidence-box ul{margin:.4em 0 .6em;padding-left:1.2em}
.evidence-box li{margin:.25em 0}
.spoke-links{margin:20px 0;padding:14px 16px;background:#fff;border:1px solid #dde6df;border-radius:8px}
.spoke-links h2{margin:0 0 .5em;font-size:1.1rem}
.spoke-links ul{display:flex;flex-wrap:wrap;gap:8px 14px;list-style:none;margin:0;padding:0}
.spoke-links li a{display:inline-flex;align-items:center;min-height:44px;padding:6px 12px;border:1px solid var(--g2,#5a8f72);border-radius:999px;text-decoration:none;color:var(--g,#2f6b4f);font-family:Helvetica,Arial,sans-serif;font-size:.92rem}
.spoke-links li a:hover,.spoke-links li a:focus{background:var(--g,#2f6b4f);color:#fff}
.spoke-meta{margin:.75em 0 0;font-size:.92rem;line-height:1.5}
.hub-popular{margin:20px 0}
.hub-popular-row{display:flex;flex-wrap:wrap;gap:10px;list-style:none;margin:0;padding:0}
.hub-popular-row a{display:flex;flex-direction:column;gap:2px;min-width:140px;min-height:64px;padding:12px 14px;border:1px solid #c5d6cb;border-radius:10px;background:#fff;text-decoration:none;color:inherit;font-family:Helvetica,Arial,sans-serif}
.hub-popular-row a:hover,.hub-popular-row a:focus{border-color:var(--g,#2f6b4f);box-shadow:0 2px 8px rgba(47,107,79,.12)}
.hub-popular-row strong{color:var(--g,#2f6b4f)}
.hub-popular-row span{font-size:.85rem;color:#555}
.faq{margin:18px 0}
.faq details.card{padding:10px 14px}
