.amg-guide{margin-top:2rem}.amg-official-note,.amg-state-note{padding:.75rem 1rem;background:#f6f8fa;border-left:4px solid #9aa4af}.amg-section{margin:1.5rem 0;padding-top:.5rem;border-top:1px solid #ddd}.amg-section h2{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.amg-badge{display:inline-block;padding:.15rem .5rem;border-radius:4px;font-size:.82rem;font-weight:600}.amg-badge--verified{background:#e5f7ed;color:#0a6b3a}.amg-badge--contact_required{background:#fff5d6;color:#7a4b00}.amg-badge--hidden{background:#eee;color:#555}.amg-section dl{display:grid;grid-template-columns:minmax(7rem,12rem) 1fr;gap:.5rem 1rem}.amg-section dt{font-weight:700}.amg-official-link a{font-weight:700}.amg-search__box{display:flex;gap:.5rem}.amg-search__box input{flex:1}.amg-link-list span{display:block;color:#666;font-size:.9rem}@media(max-width:640px){.amg-section dl{grid-template-columns:1fr}.amg-search__box{flex-direction:column}}


/* 自治体一覧：地方・都道府県ごとに整理し、自治体名だけを直接リンクにする */
.amg-directory{margin:2rem 0}
.amg-directory__region{margin:0 0 2.5rem}
.amg-directory__region-title{margin:0 0 1rem;padding:.65rem 1rem;border-left:6px solid currentColor;background:#f4f7f7;font-size:1.45rem}
.amg-directory__prefecture{margin:0 0 1.75rem}
.amg-directory__prefecture-title{margin:0 0 .75rem;padding-bottom:.4rem;border-bottom:2px solid #d9dfdf;font-size:1.15rem}
.amg-directory__list{display:grid;grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:.65rem;margin:0;padding:0;list-style:none}
.amg-directory__list li{margin:0}
.amg-directory__list a{display:block;padding:.75rem .9rem;border:1px solid #d8dede;border-radius:6px;background:#fff;font-weight:700;text-decoration:none;line-height:1.4}
.amg-directory__list a:hover,.amg-directory__list a:focus{background:#f3f7f7;text-decoration:underline}
@media(max-width:640px){.amg-directory__list{grid-template-columns:repeat(2,minmax(0,1fr))}.amg-directory__list a{padding:.65rem .7rem}}


/* フロントページ専用 */
.amg-front-directory{margin:0 auto;max-width:1000px}
.amg-front-directory__title{margin:0 0 1rem;font-size:1.65rem}
.amg-front-directory__subtitle{margin:2rem 0 1rem;font-size:1.45rem}
.home .entry-title,.home .date-tags,.home .sns-share,.home .sns-follow,.home .author-info,.home .footer-meta{display:none!important}
.home .entry-content{margin-top:0!important}
.amg-search{margin:0 0 1.5rem;padding:1rem;border:1px solid #d8dede;border-radius:8px;background:#f7f9f9}
.amg-search__label{display:block;margin-bottom:.5rem;font-weight:700}
.amg-search__box input{min-height:44px;padding:.65rem .75rem;border:1px solid #bfc8c8;border-radius:5px;font-size:16px}
.amg-search__box button{min-height:44px;padding:.65rem 1.2rem;border:0;border-radius:5px;font-weight:700;cursor:pointer}
@media(max-width:640px){.amg-front-directory__title{font-size:1.4rem}.amg-directory__list{grid-template-columns:1fr}.amg-directory__region-title{font-size:1.3rem}}


/* トップページの基本説明 */
.amg-basic-guide{margin:0 0 2rem;padding:1.25rem;border:1px solid #d8dede;border-radius:8px;background:#fff}
.amg-basic-guide__title{margin:0 0 .75rem;font-size:1.7rem;line-height:1.4}
.amg-basic-guide>p{line-height:1.85}
.amg-basic-guide__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:1.25rem 0}
.amg-basic-guide__item{padding:1rem;border:1px solid #dfe5e5;border-radius:7px;background:#f7f9f9}
.amg-basic-guide__item h2{margin:0 0 .55rem;font-size:1.1rem;line-height:1.5}
.amg-basic-guide__item p{margin:0;line-height:1.75}
.amg-basic-guide__notice{margin:1rem 0 0!important;padding:.8rem 1rem;border-left:4px solid #2f7772;background:#eef6f5;font-weight:600}
@media(max-width:760px){.amg-basic-guide{padding:1rem}.amg-basic-guide__title{font-size:1.45rem}.amg-basic-guide__grid{grid-template-columns:1fr}.amg-basic-guide__item{padding:.9rem}}

/* 0.3.4: Cocoonの自動目次をトップページでは表示しない */
.home .toc,.home .toc-content,.home #toc{display:none!important}
@media(max-width:900px){.amg-basic-guide__grid{grid-template-columns:1fr!important}}


/* 0.3.5: Cocoonの自動表示をガイド画面では出さない */
.home .toc,
.home .toc-content,
.home #toc,
.single-municipality .toc,
.single-municipality .toc-content,
.single-municipality #toc{display:none!important}

.home .sns-share,
.home .sns-follow,
.home .date-tags,
.home .post-date,
.home .author-info,
.home .footer-meta,
.single-municipality .sns-share,
.single-municipality .sns-follow,
.single-municipality .date-tags,
.single-municipality .post-date,
.single-municipality .author-info,
.single-municipality .footer-meta{display:none!important}

/* 0.3.7: スマホで基本説明が右にはみ出さないようにする */
.amg-front-directory,
.amg-basic-guide,
.amg-basic-guide__grid,
.amg-basic-guide__item,
.amg-basic-guide__item h2,
.amg-basic-guide__item p,
.amg-search,
.amg-directory,
.amg-directory__region,
.amg-directory__prefecture {
  box-sizing: border-box;
  min-width: 0;
  max-width: 100%;
}
.amg-front-directory,
.amg-basic-guide,
.amg-basic-guide__item,
.amg-basic-guide__item p,
.amg-basic-guide__item h2 {
  overflow-wrap: anywhere;
  word-break: normal;
}
@media (max-width: 760px) {
  .amg-front-directory {
    width: 100%;
    overflow-x: hidden;
  }
  .amg-basic-guide {
    width: 100%;
    margin-left: 0;
    margin-right: 0;
  }
  .amg-basic-guide__grid {
    display: block;
    width: 100%;
  }
  .amg-basic-guide__item {
    display: block;
    width: 100%;
    margin: 0 0 1rem;
  }
  .amg-basic-guide__item h2 {
    width: 100%;
    white-space: normal;
  }
  .amg-search__box,
  .amg-search__box input,
  .amg-search__box button {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
  }
}


/* 0.3.8: 自治体詳細ページのテーマ由来の不要要素を非表示 */
.single-municipality .related-entry-heading,
.single-municipality .related-list,
.single-municipality .related-entry-card,
.single-municipality .related-entries,
.single-municipality .entry-categories-tags,
.single-municipality .entry-categories,
.single-municipality .entry-tags,
.single-municipality .tag-link,
.single-municipality .post-navi,
.single-municipality .pager-post-navi {
  display: none !important;
}
.single-municipality .entry-content {
  margin-bottom: 0 !important;
}


/* 0.3.11: 自治体詳細ページの戻る・前後移動 */
.amg-municipality-nav{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
  align-items:stretch;
  gap:.75rem;
  margin:0 0 1.25rem;
}
.amg-municipality-nav--bottom{margin:1.5rem 0 0;padding-top:1rem;border-top:1px solid #d8dede}
.amg-municipality-nav__link{
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-height:52px;
  padding:.65rem .85rem;
  border:1px solid #cbd5d5;
  border-radius:7px;
  background:#fff;
  text-decoration:none;
  line-height:1.35;
  box-sizing:border-box;
}
.amg-municipality-nav__link:hover,.amg-municipality-nav__link:focus{background:#f3f7f7;text-decoration:none}
.amg-municipality-nav__link span{font-size:.82rem;font-weight:700}
.amg-municipality-nav__link strong{margin-top:.15rem;font-size:.95rem;overflow-wrap:anywhere}
.amg-municipality-nav__link--next{text-align:right;align-items:flex-end}
.amg-municipality-nav__link--directory{align-items:center;text-align:center;font-weight:700;background:#eef6f5}
.amg-municipality-nav__empty{display:block}
@media(max-width:640px){
  .amg-municipality-nav{grid-template-columns:1fr 1fr;gap:.55rem}
  .amg-municipality-nav__link--directory{grid-column:1/-1;grid-row:1}
  .amg-municipality-nav__empty{display:none}
  .amg-municipality-nav__link{min-height:48px;padding:.55rem .65rem}
}

.amg-official-box {
  margin-top: 1rem;
  padding: 1rem;
  border-left: 5px solid #2f776f;
  background: #f2f8f7;
}
.amg-official-box strong { display:block; margin-bottom:.35rem; }
.amg-official-box .amg-official-link { margin:0; }
.amg-sources { margin-top: 2rem; }
.amg-sources ul { margin: .75rem 0 0 1.25rem; }
.amg-sources li { margin: .55rem 0; }


/* 0.3.13: 自治体間移動を常時見える固定ナビにする */
.single-municipality .amg-municipality-nav--top{
  position:sticky;
  top:0;
  z-index:50;
  margin:0 0 1rem;
  padding:.5rem;
  background:rgba(255,255,255,.97);
  border:1px solid #d8e1e1;
  box-shadow:0 2px 8px rgba(0,0,0,.08);
}
.admin-bar.single-municipality .amg-municipality-nav--top{top:32px}
@media(max-width:782px){
  .admin-bar.single-municipality .amg-municipality-nav--top{top:46px}
}
.single-municipality .amg-municipality-nav--top .amg-municipality-nav__link{
  min-height:44px;
  padding:.45rem .65rem;
}
@media(max-width:640px){
  .single-municipality .amg-municipality-nav--top{
    grid-template-columns:1fr 1.2fr 1fr;
    gap:.35rem;
    padding:.4rem;
  }
  .single-municipality .amg-municipality-nav--top .amg-municipality-nav__link--directory{
    grid-column:auto;
    grid-row:auto;
  }
  .single-municipality .amg-municipality-nav--top .amg-municipality-nav__link{
    min-height:42px;
    padding:.35rem .4rem;
    font-size:.8rem;
  }
  .single-municipality .amg-municipality-nav--top .amg-municipality-nav__link strong{
    display:none;
  }
}

.amg-contact-action{margin:16px 0;padding:16px;border-left:5px solid #2f7b72;background:#f3f8f7}.amg-contact-action p{margin:6px 0}.amg-call-button{display:inline-block;padding:10px 16px;border-radius:5px;background:#2f7b72;color:#fff!important;text-decoration:none;font-weight:700}.amg-contact-action__link a{font-weight:700}


/* 0.3.16: 詳細ページから必ずトップの自治体一覧へ戻れる固定ボタン */
.single-municipality .amg-floating-directory-link{
  position:fixed;
  right:16px;
  bottom:16px;
  z-index:9999;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  padding:10px 16px;
  border:1px solid #1f625d;
  border-radius:999px;
  background:#2f7b72;
  color:#fff!important;
  text-decoration:none!important;
  font-weight:700;
  box-shadow:0 4px 14px rgba(0,0,0,.22);
}
.single-municipality .amg-floating-directory-link:hover,
.single-municipality .amg-floating-directory-link:focus{background:#245f59;color:#fff!important}
@media(max-width:640px){
  .single-municipality .amg-floating-directory-link{
    right:10px;
    bottom:72px;
    min-height:42px;
    padding:8px 13px;
    font-size:.88rem;
  }
}

/* 0.3.17: トップページを簡略地図＋折りたたみ一覧に変更 */
.home #sidebar,
.home .sidebar,
.home .sidebar-scroll,
.home .widget-area{display:none!important}
.home #main,
.home main.main,
.home .main{width:100%!important;max-width:none!important;margin:0!important}
.home .content-in{display:block!important}
.amg-map-guide{margin:.25rem 0 .85rem;font-weight:700}
.amg-japan-map{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin:0 0 1.25rem;padding:1rem;border:1px solid #d8dede;border-radius:10px;background:#f5f8f8}
.amg-japan-map__region{display:flex;flex-wrap:wrap;align-content:flex-start;gap:.35rem;padding:.7rem;border:1px solid #d8e1e1;border-radius:8px;background:#fff}
.amg-japan-map__region-name{display:block;width:100%;margin-bottom:.2rem;font-size:.95rem}
.amg-japan-map__pref{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:.35rem .55rem;border-radius:5px;background:#e8f2f1;color:#174f4b!important;text-decoration:none!important;font-size:.82rem;font-weight:700;line-height:1.2}
.amg-japan-map__pref:hover,.amg-japan-map__pref:focus{background:#2f7b72;color:#fff!important}
.amg-compact-directory__regions{display:grid;gap:.75rem}
.amg-compact-region,.amg-compact-prefecture{border:1px solid #d8dede;border-radius:8px;background:#fff;scroll-margin-top:90px}
.amg-compact-region>summary,.amg-compact-prefecture>summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.9rem 1rem;font-weight:700}
.amg-compact-region>summary::-webkit-details-marker,.amg-compact-prefecture>summary::-webkit-details-marker{display:none}
.amg-compact-region>summary{background:#eef6f5;font-size:1.15rem}
.amg-compact-prefecture{margin:.65rem}
.amg-compact-prefecture>summary{background:#f7f9f9;font-size:1rem}
.amg-compact-prefecture>summary span{color:#667;font-size:.82rem;font-weight:600}
.amg-compact-region>summary:after,.amg-compact-prefecture>summary:after{content:'＋';margin-left:auto;font-size:1.1rem}
.amg-compact-region[open]>summary:after,.amg-compact-prefecture[open]>summary:after{content:'−'}
.amg-compact-prefecture .amg-directory__list{padding:0 .8rem .9rem}
@media(max-width:900px){.amg-japan-map{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.amg-japan-map{grid-template-columns:1fr;padding:.75rem}.amg-japan-map__region{padding:.6rem}.amg-japan-map__pref{font-size:.8rem}.amg-compact-region>summary{font-size:1.05rem}.amg-compact-prefecture{margin:.5rem}.amg-compact-prefecture .amg-directory__list{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* 自治体詳細ページの検索意図を明確にする導入文 */
.amg-municipality-intro {
    margin: 1.25rem 0;
    padding: 1rem 1.1rem;
    border-left: 4px solid #477d78;
    background: #f3f8f7;
    line-height: 1.8;
}


.amg-popular-cities{margin:24px 0;padding:18px;border:1px solid #d9e2ea;border-radius:12px;background:#fff}
.amg-popular-cities h2{margin:0 0 12px;font-size:1.2rem}
.amg-popular-cities ul{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}
.amg-popular-cities a{display:inline-block;padding:8px 12px;border:1px solid #c8d5df;border-radius:999px;text-decoration:none;background:#f7fafc}
.amg-popular-cities a:hover,.amg-popular-cities a:focus{background:#eef5f9}

/* 0.3.21: トップの検索意図別ガイドと全国共通解説ページ */
.amg-situation-guides{margin:1.5rem 0;padding:1.15rem;border:1px solid #d7e1e0;border-radius:12px;background:#f7faf9}
.amg-situation-guides h2{margin:0 0 .35rem;font-size:1.35rem}
.amg-situation-guides>p{margin:.2rem 0 1rem}
.amg-situation-guides__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}
.amg-situation-guides__card{display:flex;flex-direction:column;gap:.35rem;min-height:96px;padding:1rem;border:1px solid #cbdad8;border-radius:9px;background:#fff;color:#174f4b!important;text-decoration:none!important;box-shadow:0 1px 2px rgba(0,0,0,.04)}
.amg-situation-guides__card:hover,.amg-situation-guides__card:focus{border-color:#2f7b72;background:#eef7f5;transform:translateY(-1px)}
.amg-situation-guides__card strong{font-size:1.02rem}
.amg-situation-guides__card span{color:#4d5c5a;font-size:.9rem;line-height:1.55}
.amg-guide-article{line-height:1.85}
.amg-guide-article h2{margin-top:2rem;padding-left:.7rem;border-left:4px solid #2f7b72}
.amg-guide-article__notice,.amg-guide-article__cta{margin:1.25rem 0;padding:1rem 1.1rem;border-radius:9px}
.amg-guide-article__notice{border:1px solid #e1d7ad;background:#fffbea}
.amg-guide-article__cta{border:1px solid #bfd6d2;background:#eef7f5}
.amg-guide-article__notice strong,.amg-guide-article__cta strong{display:block;margin-bottom:.35rem;font-size:1.05rem}
.amg-guide-article__notice p,.amg-guide-article__cta p{margin:.35rem 0}
.amg-guide-article__button{display:inline-block;margin-top:.35rem;padding:.7rem 1rem;border-radius:7px;background:#2f7b72;color:#fff!important;text-decoration:none!important;font-weight:700}
.amg-guide-article__button:hover,.amg-guide-article__button:focus{background:#235f59;color:#fff!important}
@media(max-width:800px){.amg-situation-guides__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.amg-situation-guides{padding:.85rem}.amg-situation-guides__grid{grid-template-columns:1fr}.amg-situation-guides__card{min-height:0}}

/* 0.3.26: SEO導線と固定ページの不要なテーマ部品を整理 */
body.home .sns-share,
body.home .sns-share-message,
body.home .date-tags,
body.home .post-date,
body.home .eye-catch-wrap,
body.amg-guide-page .sns-share,
body.amg-guide-page .sns-share-message,
body.amg-guide-page .sns-follow,
body.amg-guide-page .date-tags,
body.amg-guide-page .eye-catch-wrap {
  display: none !important;
}
.amg-related-guides {
  margin: 2rem 0;
  padding: 1.25rem;
  border: 1px solid #d6e4e1;
  border-radius: 12px;
  background: #f7fbfa;
}
.amg-related-guides h2 { margin-top: 0; }
.amg-related-guides ul {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .65rem 1rem;
  margin: 0;
  padding-left: 1.2rem;
}
@media (max-width: 640px) {
  .amg-related-guides ul { grid-template-columns: 1fr; }
}

/* 0.3.27: 自治体詳細ページからブログ向け部品を完全に除外 */
body.amg-municipality-page .sns-share,
body.amg-municipality-page .sns-share-message,
body.amg-municipality-page .sns-follow,
body.amg-municipality-page .footer-sns-share,
body.amg-municipality-page .share-menu-content,
body.amg-municipality-page .author-info,
body.amg-municipality-page .author-box,
body.amg-municipality-page .post-author,
body.amg-municipality-page .entry-categories-tags,
body.amg-municipality-page .entry-categories,
body.amg-municipality-page .entry-tags,
body.amg-municipality-page .category-and-date,
body.amg-municipality-page .date-tags,
body.amg-municipality-page .post-date,
body.amg-municipality-page .entry-date,
body.amg-municipality-page .related-entry-heading,
body.amg-municipality-page .related-list,
body.amg-municipality-page .related-entry-card,
body.amg-municipality-page .related-entries,
body.amg-municipality-page .post-navi,
body.amg-municipality-page .pager-post-navi,
body.amg-municipality-page #sidebar,
body.amg-municipality-page .sidebar,
body.amg-municipality-page .sidebar-scroll,
body.amg-municipality-page .widget-area,
body.amg-municipality-page aside[role="complementary"]{display:none!important}
body.amg-municipality-page .content-in,
body.amg-municipality-page #content-in{display:block!important}
body.amg-municipality-page #main,
body.amg-municipality-page main.main,
body.amg-municipality-page .main,
body.amg-municipality-page .content-main{width:100%!important;max-width:none!important;margin-left:0!important;margin-right:0!important;float:none!important}
