/* 地名の由来特集のみ。既存の地図・自治体ページには影響しない。 */
.toponym-vocab{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:20px 0 23px}
.toponym-vocab>div{background:#eaf6fa;border:1px solid #d0e5ed;border-radius:14px;padding:18px 14px}
.toponym-vocab span{font-size:.83rem;letter-spacing:.025em;color:#2a7190;display:block;font-weight:800}
.toponym-vocab strong{font-size:1.45rem;display:block;color:#173e54;margin:3px 0}
.toponym-vocab small{color:#456879;display:block;font-size:.77rem;line-height:1.6}
.toponym-contrast,.toponym-places{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:18px 0 22px}
.toponym-contrast>div{padding:17px;background:#eaf7fb;border:1px solid #d0e5ec;border-radius:14px}
.toponym-contrast>div+div{background:#fff8e9;border-color:#efe2c8}
.toponym-contrast span,.toponym-places>div>span{display:block;color:#56788b;font-weight:800;font-size:.78rem}
.toponym-contrast strong{display:block;font-size:1.1rem;margin:8px 0}
.toponym-contrast p{font-size:.87rem;margin:0}
.toponym-places>div{background:white;border:1px solid #d8e9ef;padding:18px;border-radius:15px;min-width:0}
.toponym-places h3{margin:7px 0 9px}
.toponym-places .source{font-size:.73rem}
.toponym-places .fact-bridge{margin:8px 0}
.toponym-two-links,.toponym-town-links{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0 20px}
.toponym-two-links a,.toponym-town-links a{padding:10px 14px;border-radius:12px;background:#edf7fb;border:1px solid #d3e8f1;font-weight:800;text-decoration:none}
.toponym-timeline{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:20px 0}
.toponym-timeline>div{border-left:4px solid #4f94b1;border-radius:0 11px 11px 0;background:#edf7fb;padding:13px 12px;min-width:0}
.toponym-timeline small,.toponym-timeline span{font-size:.75rem;display:block;color:#527183}
.toponym-timeline strong{display:block;font-size:1rem;margin:6px 0}
.toponym-howto{display:grid;gap:10px;margin:20px 0}
.toponym-howto>div{display:flex;gap:14px;align-items:flex-start;border:1px solid #d7e8ef;border-radius:13px;padding:14px;background:white}
.toponym-howto b{color:#247d9f;flex:0 0 2.2rem;font-size:1.4rem}
.toponym-howto p{margin:0}
.toponym-quizzes{display:grid;gap:11px;margin:19px 0 27px}
.toponym-quizzes details{background:white;border:1px solid #cddfe6;border-radius:13px;overflow:hidden}
.toponym-quizzes summary{cursor:pointer;padding:16px 18px;font-weight:800;line-height:1.65}
.toponym-quizzes summary span{color:#247c9f;margin-right:9px}
.toponym-quizzes details>div{padding:14px 18px 17px;border-top:1px solid #deebef;background:#f1f8fb}
.toponym-quizzes details>div p{margin:8px 0 0}
.toponym-town-links a{font-size:.91rem}
.article-content section[id]{scroll-margin-top:25px}
@media(max-width:700px){.toponym-vocab,.toponym-contrast,.toponym-places,.toponym-timeline{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
