@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ(City Indicators 用)
    Version: 1.5.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/
    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/

/* 自治体ページ: 投稿日・著者を出さない */
.ci-city .p-articleMetas,
.ci-city .c-postTitle__date,
.ci-city .p-articleFoot,
.ci-city .c-postThumb,
.ci-city .p-articleFoot .p-articleTags,
.ci-city .p-articleFoot .c-shareBtns { display: none; }

/* 要約の帯 */
.ci-summary { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 10px; margin: 0 0 1.5em; }
.ci-summary .ci-card { border: 1px solid #d9dee5; border-radius: 8px; padding: 10px 12px; background: #fff; }
.ci-summary .ci-card .l { font-size: .78em; color: #555; margin: 0; }
.ci-summary .ci-card .v { font-size: 1.5em; font-weight: 700; margin: 2px 0 0; line-height: 1.2; }
.ci-summary .ci-card .s { font-size: .78em; color: #666; margin: 0; }

/* 偏差値の帯 */
.ci-score { display: inline-block; min-width: 3.2em; text-align: center; padding: 1px 6px; border-radius: 4px; font-weight: 700; font-size: .92em; color: #fff; background: #7a8794; }
.ci-score.s70 { background: #1b6ca8; }
.ci-score.s60 { background: #2e8b57; }
.ci-score.s50 { background: #7a8794; }
.ci-score.s40 { background: #d08a1d; }
.ci-score.s30 { background: #b23a3a; }

/* 指標の表 */
.ci-table { width: 100%; border-collapse: collapse; font-size: .92em; margin: .5em 0 1.5em; }
.ci-table th, .ci-table td { border: 1px solid #dde2e8; padding: 6px 8px; vertical-align: middle; }
.ci-table th { background: #f3f5f8; font-weight: 600; text-align: left; white-space: nowrap; }
.ci-table td.n { text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
.ci-table td.c { text-align: center; white-space: nowrap; }
.ci-table tr.ci-sub th { padding-left: 1.6em; font-weight: 400; }
.ci-table .ci-spark { width: 96px; height: 24px; vertical-align: middle; }
.ci-table .ci-bar { display: inline-block; height: 10px; background: #8fb3d9; vertical-align: middle; }
@media (max-width: 599px) {
  .ci-table { font-size: .82em; }
  .ci-table th, .ci-table td { padding: 5px 5px; }
  .ci-table .ci-spark { width: 64px; }
}

/* 強み・課題 */
.ci-pm { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin: 0 0 1.5em; }
.ci-pm ul { margin: 0; padding-left: 1.2em; font-size: .92em; }
.ci-pm h3 { font-size: 1em; margin: 0 0 .4em; }
@media (max-width: 599px) { .ci-pm { grid-template-columns: 1fr; } }

/* 出典 */
.ci-credit, .ci-source { font-size: .82em; color: #555; border-top: 1px solid #e3e6ea; padding-top: .6em; }

/* 有料案内 */
.ci-offer { border: 2px solid #1b6ca8; border-radius: 8px; padding: 14px 16px; margin: 1.5em 0; background: #f6fafe; }
.ci-offer h3 { margin: 0 0 .4em; font-size: 1.05em; }
.ci-offer p { margin: 0 0 .5em; font-size: .95em; }

/* 一覧 */
.ci-list { columns: 2; column-gap: 24px; font-size: .95em; }
.ci-list li { break-inside: avoid; }
@media (min-width: 960px) { .ci-list { columns: 3; } }
@media (max-width: 599px) { .ci-list { columns: 1; } }

/* ランキング表 */
.ci-rank td.rank { text-align: center; width: 3em; }

/* トップの導入部 */
.ci-hero { background: linear-gradient(135deg, #04384c 0%, #0b5c78 100%); color: #fff; border-radius: 12px; padding: 36px 28px 28px; margin: 0 0 2em; text-align: center; }
.ci-hero__title { font-size: 1.9em; font-weight: 700; letter-spacing: .04em; margin: 0 0 .35em; line-height: 1.3; }
.ci-hero__lead { font-size: 1em; margin: 0 auto 1.2em; max-width: 36em; line-height: 1.8; opacity: .95; }
.ci-hero__search { display: flex; max-width: 520px; margin: 0 auto 1em; gap: 8px; }
.ci-hero__search input[type="search"] { flex: 1; min-width: 0; font-size: 16px; padding: 10px 14px; border: 0; border-radius: 6px; background: #fff; color: #333; }
.ci-hero__search button { font-size: 15px; font-weight: 700; padding: 10px 20px; border: 0; border-radius: 6px; background: #87e7ff; color: #04384c; cursor: pointer; white-space: nowrap; }
.ci-hero__search button:hover { background: #a8eeff; }
.ci-hero__links { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px 18px; margin: 0; font-size: .92em; }
.ci-hero__links a { color: #fff; text-decoration: underline; text-underline-offset: 3px; }
.ci-hero__links a:hover { color: #87e7ff; }
@media (max-width: 599px) {
  .ci-hero { padding: 26px 16px 20px; border-radius: 8px; }
  .ci-hero__title { font-size: 1.5em; }
  .ci-hero__search button { padding: 10px 14px; }
}

/* トップの日本地図(ブロック配置) */
.ci-map { margin: 0 0 1em; }
.ci-map__svg { display: block; width: 100%; height: auto; max-width: 800px; margin: 0 auto; font-family: inherit; }
.ci-map__pref { cursor: pointer; text-decoration: none; }
.ci-map__pref rect { stroke: #fff; stroke-width: 1; transition: fill .15s; }
.ci-map__pref text { fill: #1d2b36; font-weight: 600; pointer-events: none; }
.ci-map__pref.r1 rect { fill: #cfe4f2; }
.ci-map__pref.r2 rect { fill: #cfe9d8; }
.ci-map__pref.r3 rect { fill: #f3e6c3; }
.ci-map__pref.r4 rect { fill: #f6d6d0; }
.ci-map__pref.r5 rect { fill: #e2d9f0; }
.ci-map__pref.r6 rect { fill: #fbe1c6; }
.ci-map__pref:hover rect, .ci-map__pref:focus-visible rect { fill: #04384c; }
.ci-map__pref:hover text, .ci-map__pref:focus-visible text { fill: #fff; }
.ci-map__pref:focus { outline: none; }
.ci-map__legend { display: flex; flex-wrap: wrap; justify-content: center; gap: 4px 16px; margin: .6em 0 0; font-size: .82em; color: #555; }
.ci-map__legend span::before { content: ""; display: inline-block; width: .9em; height: .9em; border-radius: 3px; margin-right: .35em; vertical-align: -.1em; }
.ci-map__legend .r1::before { background: #cfe4f2; }
.ci-map__legend .r2::before { background: #cfe9d8; }
.ci-map__legend .r3::before { background: #f3e6c3; }
.ci-map__legend .r4::before { background: #f6d6d0; }
.ci-map__legend .r5::before { background: #e2d9f0; }
.ci-map__legend .r6::before { background: #fbe1c6; }
.ci-map__list { margin: 0 0 1.5em; font-size: .95em; }
.ci-map__list summary { cursor: pointer; color: #1176d4; }
.ci-map__list .ci-list { margin-top: .6em; }
.ci-map__sp { display: none; }
@media (max-width: 599px) {
  .ci-map, .ci-map__list { display: none; }
  .ci-map__sp { display: block; columns: 2; }
}

/* 幅の広い表(都道府県・選挙日程): 横スクロール */
.ci-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; margin: .5em 0 1.5em; }
.ci-scroll .ci-table { margin: 0; min-width: 640px; }
.ci-scroll .ci-table th { white-space: normal; line-height: 1.3; }
.ci-scroll .ci-table thead th { min-width: 4.5em; vertical-align: middle; }
.ci-scroll .ci-table tbody th { white-space: nowrap; }
/* 幅の広い表があるページ(サイドバーなし)は本文をコンテナ幅いっぱいに */
.l-content:has(.ci-scroll) > .l-mainContent.l-article { max-width: none; }
