@charset "UTF-8";
/*
  加盟事業所一覧ページ 追加CSS
  ----------------------------------------------------
  ファイル名 : jigyousho-list.css
  作成日　   : 2026.04.27 
  更新履歴   : v1.0 たたき台（しんらいバックナンバーと色を揃えて作成）
  ----------------------------------------------------
  ※事業所リストは新バージョンサイトにも必要なため参考として作りました。
  ※既存の bind.css の上から重ねて読み込みます。
  ※カラー変数は shinrai-backnumber.css と共通の和紙テイスト。
  ※法人格ごとに色を変えて、ぱっと見で分かるようにしています。
  ※この形を
  ----------------------------------------------------
*/

/* page setting
--------------------------------------------------------- */
#a-header,
#a-ghost_header,
#a-billboard,
#a-site_contents,
#a-footer {
  max-width: 960px;
}


/* ============================================== */
/*  1. カラー変数                                  */
/*  （色を変えるときはここだけ直してください）     */
/* ============================================== */
:root {
  --kh-bg: #fbf6ec;
  /* ページ背景：やわらかなクリーム色 */
  --kh-bg-soft: #fffaf1;
  /* カード背景：和紙のような温かい白 */
  --kh-ink: #3a342c;
  /* 本文の濃い焦げ茶 */
  --kh-ink-soft: #6a6258;
  /* 補助テキスト */
  --kh-line: #e8ddc7;
  /* 罫線・区切り */
  --kh-accent: #c8643a;
  /* テラコッタ（協議会のロゴ赤に寄せた色） */
  --kh-accent-d: #a44d28;
  /* アクセントの濃いめ */
  --kh-leaf: #5b8a4f;
  /* 介護・地域らしい葉のグリーン */
  --kh-sky: #4a7da0;
  /* 落ち着いた藍 */
  --kh-gold: #d9a441;
  /* 暖色アクセント */
  --kh-shadow: 0 6px 18px rgba(90, 60, 30, 0.12);
  --kh-shadow-h: 0 10px 28px rgba(90, 60, 30, 0.18);

  /* 法人格ごとの色 */
  --jg-shafuku: #5b8a4f;
  /* 社会福祉法人：グリーン */
  --jg-iryo: #4a7da0;
  /* 医療法人：藍 */
  --jg-kabushiki: #c8643a;
  /* 株式会社：テラコッタ */
  --jg-yugen: #d9a441;
  /* 有限会社：ゴールド */
  --jg-other: #8c6a4a;
  /* その他：落ち着いた茶 */
}


/* ---- ページ全体の地色 ---- */
#page .bg-document {
  background-color: #fbf6ec !important;
}

#page {
  background-color: #fbf6ec;
}

/* メイン領域の温かい紙のような地紋 */
#a-site_contents {
  background-color: #fbf6ec;
  background-image:
    radial-gradient(rgba(200, 100, 58, 0.06) 1px, transparent 1.4px),
    radial-gradient(rgba(91, 138, 79, 0.05) 1px, transparent 1.4px);
  background-size: 22px 22px, 32px 32px;
  background-position: 0 0, 11px 11px;
}


/* ============================================== */
/*  2. ヒーロー（ページ上部のタイトル）              */
/*  ※shinrai-backnumber と共通                     */
/* ============================================== */

.kh-hero {
  position: relative;
  margin: 24px 16px 28px;
  padding: 36px 28px 30px;
  background: -webkit-linear-gradient(135deg, #ffffff 0%, #fff7e8 100%);
  background: linear-gradient(135deg, #ffffff 0%, #fff7e8 100%);
  border-radius: 18px;
  -webkit-box-shadow: 0 6px 18px rgba(90, 60, 30, 0.12);
  box-shadow: 0 6px 18px rgba(90, 60, 30, 0.12);
  overflow: hidden;
}

.kh-hero:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 6px;
  background: linear-gradient(90deg, #c8643a 0%, #d9a441 50%, #5b8a4f 100%);
}

.kh-hero__eyebrow {
  margin: 0 0 6px;
  color: #c8643a;
  font-size: 13px;
  letter-spacing: 0.15em;
  font-weight: 600;
}

.kh-hero__title {
  margin: 0 0 14px !important;
  color: #3a342c;
  font-size: 30px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.04em;
}

.kh-hero__title-jp {
  color: #c8643a;
  margin: 0 4px;
}

.kh-hero__lead {
  margin: 0;
  color: #6a6258;
  font-size: 15px;
  line-height: 1.9;
}

.kh-hero__lead strong {
  color: #a44d28;
  font-weight: 700;
}

.kh-hero__deco {
  position: absolute;
  right: 24px;
  bottom: 16px;
  display: flex;
  gap: 10px;
}

.kh-deco-dot {
  display: block;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  opacity: 0.7;
}

.kh-deco-dot--1 {
  background: #c8643a;
}

.kh-deco-dot--2 {
  background: #d9a441;
}

.kh-deco-dot--3 {
  background: #5b8a4f;
}


/* ============================================== */
/*  3. サマリー（法人格ごとの内訳）                */
/* ============================================== */

.jg-summary {
  margin: 0 16px 24px;
  padding: 24px 26px;
  background: #fffaf1;
  border-radius: 16px;
  box-shadow: 0 6px 18px rgba(90, 60, 30, 0.12);
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 24px;
  position: relative;
  overflow: hidden;
}

.jg-summary:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(90deg, #5b8a4f 0%, #4a7da0 25%, #c8643a 60%, #d9a441 85%, #8c6a4a 100%);
}

.jg-summary__total {
  display: flex;
  align-items: baseline;
  gap: 6px;
  padding-right: 24px;
  border-right: 2px dashed #e8ddc7;
  flex-shrink: 0;
}

.jg-summary__totalNum {
  font-size: 56px;
  font-weight: 800;
  color: #c8643a;
  line-height: 1;
  letter-spacing: -0.02em;
  text-shadow: 0 3px 8px rgba(200, 100, 58, 0.18);
}

.jg-summary__totalUnit {
  font-size: 22px;
  font-weight: bold;
  color: #3a342c;
  margin-right: 6px;
}

.jg-summary__totalLabel {
  font-size: 13px;
  color: #6a6258;
  letter-spacing: 0.06em;
}

.jg-summary__breakdown {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 14px 22px;
  flex: 1;
  min-width: 0;
}

.jg-stat {
  display: flex;
  align-items: baseline;
  gap: 6px;
  position: relative;
  padding-left: 14px;
}

.jg-stat:before {
  content: "";
  position: absolute;
  left: 0;
  top: 6px;
  width: 6px;
  height: 18px;
  border-radius: 2px;
  background: #ccc;
}

.jg-stat--shafuku:before {
  background: #5b8a4f;
}

.jg-stat--iryo:before {
  background: #4a7da0;
}

.jg-stat--kabushiki:before {
  background: #c8643a;
}

.jg-stat--yugen:before {
  background: #d9a441;
}

.jg-stat--other:before {
  background: #8c6a4a;
}

.jg-stat__num {
  font-size: 22px;
  font-weight: bold;
  color: #3a342c;
  letter-spacing: -0.01em;
}

.jg-stat__label {
  font-size: 12.5px;
  color: #6a6258;
  letter-spacing: 0.04em;
}


/* ============================================== */
/*  4. 検索＆フィルタ                              */
/* ============================================== */

.jg-controls {
  margin: 0 16px 22px;
  padding: 18px 22px 14px;
  background: #ffffff;
  border: 1px solid #e8ddc7;
  border-radius: 14px;
  box-shadow: 0 4px 12px rgba(90, 60, 30, 0.06);
}

/* 検索ボックス */
.jg-search {
  position: relative;
  display: flex;
  align-items: center;
  margin-bottom: 12px;
}

.jg-search__icon {
  position: absolute;
  left: 14px;
  top: 50%;
  transform: translateY(-50%);
  color: #c8643a;
  font-size: 18px;
  pointer-events: none;
}

.jg-search__input {
  width: 100%;
  padding: 11px 44px 11px 40px;
  font-size: 14px;
  color: #3a342c;
  background: #fffaf1;
  border: 1px solid #e8ddc7;
  border-radius: 999px;
  outline: none;
  transition: all 0.2s ease;
  box-sizing: border-box;
}

.jg-search__input::placeholder {
  color: #b8ad99;
}

.jg-search__input:focus {
  background: #ffffff;
  border-color: #c8643a;
  box-shadow: 0 0 0 3px rgba(200, 100, 58, 0.15);
}

.jg-search__clear {
  position: absolute;
  right: 8px;
  top: 50%;
  transform: translateY(-50%);
  display: none;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  font-size: 18px;
  color: #fff;
  background: #c8643a;
  border: none;
  border-radius: 50%;
  cursor: pointer;
  line-height: 1;
}

.jg-search__clear:hover {
  background: #a44d28;
}

/* チップ式フィルタ */
.jg-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 8px;
}

.jg-chip {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 7px 14px;
  font-size: 13px;
  font-weight: 600;
  color: #6a6258;
  background: #fffaf1;
  border: 1.5px solid #e8ddc7;
  border-radius: 999px;
  cursor: pointer;
  letter-spacing: 0.05em;
  transition: all 0.18s ease;
  font-family: inherit;
}

.jg-chip:hover {
  border-color: #c8643a;
  color: #a44d28;
  transform: translateY(-1px);
}

.jg-chip.is-active {
  color: #ffffff;
  background: #3a342c;
  border-color: #3a342c;
  box-shadow: 0 4px 10px rgba(58, 52, 44, 0.25);
}

.jg-chip__count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 22px;
  height: 18px;
  padding: 0 6px;
  font-size: 11px;
  font-weight: 700;
  color: #6a6258;
  background: #ffffff;
  border-radius: 999px;
  letter-spacing: 0;
}

.jg-chip.is-active .jg-chip__count {
  color: #3a342c;
  background: #ffffff;
}

/* チップに法人格カラーのアクセント（hover時） */
.jg-chip--shafuku:hover {
  border-color: #5b8a4f;
  color: #3f6536;
}

.jg-chip--iryo:hover {
  border-color: #4a7da0;
  color: #305a78;
}

.jg-chip--kabushiki:hover {
  border-color: #c8643a;
  color: #a44d28;
}

.jg-chip--yugen:hover {
  border-color: #c89234;
  color: #a8772a;
}

.jg-chip--other:hover {
  border-color: #8c6a4a;
  color: #6a4f36;
}

/* アクティブ時の色（法人格カラー） */
.jg-chip--shafuku.is-active {
  background: #5b8a4f;
  border-color: #5b8a4f;
  box-shadow: 0 4px 10px rgba(91, 138, 79, 0.3);
}

.jg-chip--iryo.is-active {
  background: #4a7da0;
  border-color: #4a7da0;
  box-shadow: 0 4px 10px rgba(74, 125, 160, 0.3);
}

.jg-chip--kabushiki.is-active {
  background: #c8643a;
  border-color: #c8643a;
  box-shadow: 0 4px 10px rgba(200, 100, 58, 0.3);
}

.jg-chip--yugen.is-active {
  background: #c89234;
  border-color: #c89234;
  box-shadow: 0 4px 10px rgba(200, 146, 52, 0.3);
  color: #fff;
}

.jg-chip--other.is-active {
  background: #8c6a4a;
  border-color: #8c6a4a;
  box-shadow: 0 4px 10px rgba(140, 106, 74, 0.3);
}

.jg-controls__hint {
  margin: 6px 0 0;
  font-size: 12px;
  color: #6a6258;
  letter-spacing: 0.05em;
  text-align: right;
}


/* ============================================== */
/*  4-2. 表示切替トグル（カード／一覧）2026.4追加 */
/* ============================================== */
.jg-viewToggle {
  display: inline-flex;
  margin: 6px 0 0;
  background: #fffaf1;
  border: 1px solid #e8ddc7;
  border-radius: 999px;
  padding: 3px;
  gap: 2px;
}

.jg-viewToggle__btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 14px;
  font-size: 12.5px;
  font-weight: 600;
  color: #6a6258;
  background: transparent;
  border: none;
  border-radius: 999px;
  cursor: pointer;
  -webkit-transition: all 0.18s ease;
          transition: all 0.18s ease;
  font-family: inherit;
  letter-spacing: 0.05em;
}

.jg-viewToggle__btn:hover {
  color: #a44d28;
}

.jg-viewToggle__btn.is-active {
  color: #ffffff;
  background: #3a342c;
  box-shadow: 0 2px 6px rgba(58, 52, 44, 0.25);
}

.jg-viewToggle__icon {
  font-size: 14px;
  line-height: 1;
}


/* ============================================== */
/*  5. 加盟事業所カード一覧                        */
/* ============================================== */

.jg-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 18px;
  margin: 0 16px 28px;
}

/* ---- 一覧表示モード（コンパクト） ----
   ※カードを横長の小さい行にして、一画面にたくさん入るようにします
   ※住所と飾りは省略して名前と法人格だけ見せる方針                 */
.jg-list--compact {
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
}

.jg-list--compact .jg-card {
  flex-direction: row;
  align-items: center;
  gap: 10px;
  padding: 10px 14px 10px 18px;
  border-radius: 8px;
  box-shadow: 0 2px 6px rgba(90, 60, 30, 0.08);
}

.jg-list--compact .jg-card:before {
  width: 4px;
}

.jg-list--compact .jg-card:after {
  display: none;
}

.jg-list--compact .jg-card:hover {
  -webkit-transform: translateX(2px);
          transform: translateX(2px);
  box-shadow: 0 4px 10px rgba(90, 60, 30, 0.14);
}

.jg-list--compact .jg-card__num {
  position: static;
  font-size: 15px;
  min-width: 26px;
  flex-shrink: 0;
}

.jg-list--compact .jg-card__type {
  margin: 0;
  flex-shrink: 0;
}

.jg-list--compact .jg-typeChip {
  padding: 2px 7px;
  font-size: 10px;
  letter-spacing: 0.08em;
}

.jg-list--compact .jg-card__name {
  margin: 0 !important;
  padding-right: 0;
  font-size: 13.5px;
  line-height: 1.3;
  flex: 1;
  min-width: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.jg-list--compact .jg-card__sub2 {
  display: none;
}

.jg-list--compact .jg-card__addr {
  display: none;
}

.jg-list--compact .jg-card__action {
  display: none;
}

/* 1枚のカード */
.jg-card {
  position: relative;
  display: flex;
  flex-direction: column;
  padding: 22px 22px 18px 26px;
  background: #fffaf1;
  border-radius: 14px;
  box-shadow: 0 4px 14px rgba(90, 60, 30, 0.10);
  overflow: hidden;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.jg-card:before {
  /* 左の縦帯（法人格カラー） */
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 6px;
  background: #ccc;
}

.jg-card:after {
  /* 右上の薄い装飾円 */
  content: "";
  position: absolute;
  top: -40px;
  right: -40px;
  width: 130px;
  height: 130px;
  border-radius: 50%;
  background: rgba(200, 100, 58, 0.05);
  pointer-events: none;
}

.jg-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 10px 24px rgba(90, 60, 30, 0.16);
}

.jg-card--shafuku:before {
  background: linear-gradient(180deg, #7eaa6f 0%, #5b8a4f 60%, #3f6536 100%);
}

.jg-card--shafuku:after {
  background: rgba(91, 138, 79, 0.08);
}

.jg-card--iryo:before {
  background: linear-gradient(180deg, #6a99bd 0%, #4a7da0 60%, #305a78 100%);
}

.jg-card--iryo:after {
  background: rgba(74, 125, 160, 0.08);
}

.jg-card--kabushiki:before {
  background: linear-gradient(180deg, #d97a4a 0%, #c8643a 60%, #a44d28 100%);
}

.jg-card--kabushiki:after {
  background: rgba(200, 100, 58, 0.08);
}

.jg-card--yugen:before {
  background: linear-gradient(180deg, #e2b25c 0%, #d9a441 60%, #b3852a 100%);
}

.jg-card--yugen:after {
  background: rgba(217, 164, 65, 0.10);
}

.jg-card--other:before {
  background: linear-gradient(180deg, #a8866a 0%, #8c6a4a 60%, #6a4f36 100%);
}

.jg-card--other:after {
  background: rgba(140, 106, 74, 0.08);
}

/* 番号バッジ（右上） */
.jg-card__num {
  position: absolute;
  top: 16px;
  right: 18px;
  font-family: "Georgia", "Times New Roman", serif;
  font-size: 28px;
  font-weight: bold;
  font-style: italic;
  color: rgba(58, 52, 44, 0.18);
  letter-spacing: 0.04em;
  line-height: 1;
  z-index: 1;
}

/* 法人格チップ */
.jg-card__type {
  margin: 0 0 10px;
  position: relative;
  z-index: 1;
}

.jg-typeChip {
  display: inline-block;
  padding: 3px 12px;
  font-size: 11px;
  font-weight: bold;
  letter-spacing: 0.12em;
  color: #ffffff;
  border-radius: 4px;
  background: #999;
}

.jg-typeChip--shafuku {
  background: #5b8a4f;
}

.jg-typeChip--iryo {
  background: #4a7da0;
}

.jg-typeChip--kabushiki {
  background: #c8643a;
}

.jg-typeChip--yugen {
  background: #c89234;
}

/* ゴールドは白文字とのコントラスト確保のため少し暗め */
.jg-typeChip--other {
  background: #8c6a4a;
}

/* 法人名 */
.jg-card__name {
  margin: 0 0 12px !important;
  padding-right: 40px;
  /* 番号バッジと重ならないように */
  font-size: 19px;
  font-weight: bold;
  color: #3a342c;
  line-height: 1.4;
  letter-spacing: 0.02em;
  position: relative;
  z-index: 1;
}

.jg-card__sub2 {
  display: inline-block;
  margin-left: 4px;
  font-size: 13px;
  font-weight: 600;
  color: #6a6258;
  letter-spacing: 0.04em;
}

/* 住所 */
.jg-card__addr {
  margin: 0 0 14px;
  padding-left: 22px;
  position: relative;
  font-size: 13px;
  line-height: 1.7;
  color: #3a342c;
  z-index: 1;
}

.jg-card__addr:before {
  /* 地図ピンっぽいシンプルマーク */
  content: "";
  position: absolute;
  left: 2px;
  top: 4px;
  width: 12px;
  height: 12px;
  border-radius: 50% 50% 50% 0;
  background: #c8643a;
  transform: rotate(-45deg);
  box-shadow: 0 2px 4px rgba(200, 100, 58, 0.3);
}

.jg-card__addr:after {
  content: "";
  position: absolute;
  left: 6.5px;
  top: 8.5px;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: #fffaf1;
}

.jg-card__zip {
  display: block;
  font-size: 11.5px;
  color: #6a6258;
  letter-spacing: 0.06em;
  margin-bottom: 1px;
}

.jg-card__loc {
  display: block;
  font-weight: 500;
}

.jg-card__sub {
  display: inline-block;
  margin-top: 2px;
  font-size: 12px;
  color: #6a6258;
}

/* 法人格別の地図ピン色 */
.jg-card--shafuku .jg-card__addr:before {
  background: #5b8a4f;
  box-shadow: 0 2px 4px rgba(91, 138, 79, 0.3);
}

.jg-card--iryo .jg-card__addr:before {
  background: #4a7da0;
  box-shadow: 0 2px 4px rgba(74, 125, 160, 0.3);
}

.jg-card--kabushiki .jg-card__addr:before {
  background: #c8643a;
  box-shadow: 0 2px 4px rgba(200, 100, 58, 0.3);
}

.jg-card--yugen .jg-card__addr:before {
  background: #c89234;
  box-shadow: 0 2px 4px rgba(200, 146, 52, 0.3);
}

.jg-card--other .jg-card__addr:before {
  background: #8c6a4a;
  box-shadow: 0 2px 4px rgba(140, 106, 74, 0.3);
}

/* 「地図でみる」ボタン */
.jg-card__action {
  margin: auto 0 0;
  text-align: right;
  position: relative;
  z-index: 1;
}

.jg-mapLink {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 7px 14px 7px 12px;
  font-size: 12.5px;
  font-weight: bold;
  color: #a44d28 !important;
  text-decoration: none !important;
  background: #fff7e8;
  border: 1px solid #e8ddc7;
  border-radius: 999px;
  letter-spacing: 0.05em;
  transition: all 0.18s ease;
}

.jg-mapLink:hover {
  color: #ffffff !important;
  background: #c8643a;
  border-color: #c8643a;
  transform: translateY(-1px);
  box-shadow: 0 4px 10px rgba(200, 100, 58, 0.3);
}

.jg-mapLink__icon {
  display: inline-block;
  font-size: 11px;
  line-height: 1;
}

/* 各法人格カードでの「地図でみる」hoverカラーをそろえる */
.jg-card--shafuku .jg-mapLink:hover {
  background: #5b8a4f;
  border-color: #5b8a4f;
  box-shadow: 0 4px 10px rgba(91, 138, 79, 0.3);
}

.jg-card--iryo .jg-mapLink:hover {
  background: #4a7da0;
  border-color: #4a7da0;
  box-shadow: 0 4px 10px rgba(74, 125, 160, 0.3);
}

.jg-card--yugen .jg-mapLink:hover {
  background: #c89234;
  border-color: #c89234;
  box-shadow: 0 4px 10px rgba(200, 146, 52, 0.3);
}

.jg-card--other .jg-mapLink:hover {
  background: #8c6a4a;
  border-color: #8c6a4a;
  box-shadow: 0 4px 10px rgba(140, 106, 74, 0.3);
}


/* 検索結果ゼロ件 */
.jg-empty {
  margin: 0 16px 24px;
  padding: 32px 20px;
  text-align: center;
  color: #6a6258;
  font-size: 14px;
  background: #ffffff;
  border: 1px dashed #e8ddc7;
  border-radius: 12px;
}


/* ============================================== */
/*  6. 注意書きエリア（shinrai と共通）             */
/* ============================================== */

.kh-note {
  margin: 0 16px 32px;
  padding: 18px 20px;
  background: #ffffff;
  border: 1px solid #e8ddc7;
  border-radius: 12px;
  color: #6a6258;
  font-size: 13px;
  line-height: 1.8;
}

.kh-note p {
  margin: 0;
}

.kh-note p+p {
  margin-top: 8px;
}

.kh-note__icon {
  display: inline-block;
  margin-right: 6px;
  color: #4a7da0;
  font-weight: bold;
}

.kh-note__back {
  margin-top: 12px !important;
  padding-top: 10px;
  border-top: 1px dashed #e8ddc7;
}

.kh-note__back a {
  color: #c8643a;
  text-decoration: none;
  font-weight: bold;
}

.kh-note__back a:hover {
  text-decoration: underline;
}


/* ============================================== */
/*  7. スマホ用（641px以下）                        */
/* ============================================== */
@media (max-width: 641px) {

  /* 既存テンプレ由来のpadding解除 */
  #a-header,
  #a-ghost_header,
  #a-billboard,
  #a-main,
  #a-side-a,
  #a-side-b,
  #a-footer {
    padding: 0;
  }

  .kh-hero {
    margin: 16px 10px 20px;
    padding: 26px 18px 22px;
  }

  .kh-hero__title {
    font-size: 22px;
  }

  .kh-hero__lead {
    font-size: 13.5px;
    line-height: 1.85;
  }

  .kh-hero__lead br {
    display: none;
  }

  .kh-hero__deco {
    right: 14px;
    bottom: 10px;
  }

  /* サマリーは縦積みに */
  .jg-summary {
    margin: 0 10px 18px;
    padding: 18px 18px;
    flex-direction: column;
    align-items: flex-start;
    gap: 14px;
  }

  .jg-summary__total {
    padding: 0 0 12px;
    border-right: none;
    border-bottom: 2px dashed #e8ddc7;
    width: 100%;
  }

  .jg-summary__totalNum {
    font-size: 44px;
  }

  .jg-summary__totalUnit {
    font-size: 18px;
  }

  .jg-summary__breakdown {
    gap: 10px 16px;
    width: 100%;
  }

  .jg-stat__num {
    font-size: 18px;
  }

  /* コントロール */
  .jg-controls {
    margin: 0 10px 16px;
    padding: 14px 14px 12px;
  }

  .jg-search__input {
    font-size: 13px;
  }

  .jg-chip {
    font-size: 12px;
    padding: 6px 11px;
  }

  /* カードは1列に */
  .jg-list {
    grid-template-columns: 1fr;
    gap: 14px;
    margin: 0 10px 22px;
  }

  .jg-card {
    padding: 18px 18px 16px 22px;
  }

  .jg-card__name {
    font-size: 17px;
    padding-right: 36px;
  }

  .jg-card__num {
    font-size: 24px;
    top: 14px;
    right: 14px;
  }

  .jg-card__addr {
    font-size: 12.5px;
  }

  /* スマホでの一覧表示は2列（1列だと一覧の意味が薄れるので） */
  .jg-list--compact {
    grid-template-columns: repeat(2, 1fr);
    gap: 6px;
    margin: 0 10px 22px;
  }

  .jg-list--compact .jg-card {
    padding: 8px 10px 8px 14px;
    gap: 6px;
  }

  .jg-list--compact .jg-card__num {
    font-size: 13px;
    min-width: 22px;
  }

  .jg-list--compact .jg-card__name {
    font-size: 12.5px;
  }

  .jg-list--compact .jg-typeChip {
    font-size: 9.5px;
    padding: 2px 6px;
  }

  /* 切替ボタン自体もスマホで少し小さく */
  .jg-viewToggle__btn {
    font-size: 11.5px;
    padding: 5px 11px;
  }

  .kh-note {
    margin: 0 10px 24px;
  }
}

/* レイアウト崩れ防止（既存テンプレ由来のブロック幅指定の踏襲） */
@media (max-width: 641px) {

  #bk597.b-plain>.column,
  #bk597.b-plain>.g-column,
  #bk597.b-both_diff>.column,
  #bk597.b-both_diff>.g-column,
  #bk597.b-headlines>.column,
  #bk597.b-headlines>.g-column,
  #bk597.b-album>.column,
  #bk597.b-album>.g-column,
  #bk597.b-tab>.column,
  #bk597.b-tab>.g-column,
  #bk597.b-accordion>.column,
  #bk597.b-accordion>.g-column {
    margin: 0 auto;
    max-width: 100%;
  }

  #bk598.b-plain>.column,
  #bk598.b-plain>.g-column,
  #bk598.b-both_diff>.column,
  #bk598.b-both_diff>.g-column,
  #bk598.b-headlines>.column,
  #bk598.b-headlines>.g-column,
  #bk598.b-album>.column,
  #bk598.b-album>.g-column,
  #bk598.b-tab>.column,
  #bk598.b-tab>.g-column,
  #bk598.b-accordion>.column,
  #bk598.b-accordion>.g-column {
    margin: 0 auto;
    max-width: 100%;
  }

  #bk599.b-plain>.column,
  #bk599.b-plain>.g-column,
  #bk599.b-both_diff>.column,
  #bk599.b-both_diff>.g-column,
  #bk599.b-headlines>.column,
  #bk599.b-headlines>.g-column,
  #bk599.b-album>.column,
  #bk599.b-album>.g-column,
  #bk599.b-tab>.column,
  #bk599.b-tab>.g-column,
  #bk599.b-accordion>.column,
  #bk599.b-accordion>.g-column {
    margin: 0 auto;
    max-width: 100%;
  }

  #bk604.b-plain>.column,
  #bk604.b-plain>.g-column,
  #bk604.b-both_diff>.column,
  #bk604.b-both_diff>.g-column,
  #bk604.b-headlines>.column,
  #bk604.b-headlines>.g-column,
  #bk604.b-album>.column,
  #bk604.b-album>.g-column,
  #bk604.b-tab>.column,
  #bk604.b-tab>.g-column,
  #bk604.b-accordion>.column,
  #bk604.b-accordion>.g-column {
    margin: 0 auto;
    max-width: 100%;
  }

  #bk610.b-plain>.column,
  #bk610.b-plain>.g-column,
  #bk610.b-both_diff>.column,
  #bk610.b-both_diff>.g-column,
  #bk610.b-headlines>.column,
  #bk610.b-headlines>.g-column,
  #bk610.b-album>.column,
  #bk610.b-album>.g-column,
  #bk610.b-tab>.column,
  #bk610.b-tab>.g-column,
  #bk610.b-accordion>.column,
  #bk610.b-accordion>.g-column {
    margin: 0 auto;
    max-width: 100%;
  }

  #bk611.b-plain>.column,
  #bk611.b-plain>.g-column,
  #bk611.b-both_diff>.column,
  #bk611.b-both_diff>.g-column,
  #bk611.b-headlines>.column,
  #bk611.b-headlines>.g-column,
  #bk611.b-album>.column,
  #bk611.b-album>.g-column,
  #bk611.b-tab>.column,
  #bk611.b-tab>.g-column,
  #bk611.b-accordion>.column,
  #bk611.b-accordion>.g-column {
    margin: 0 auto;
    max-width: 100%;
  }

  #bk612.b-plain>.column,
  #bk612.b-plain>.g-column,
  #bk612.b-both_diff>.column,
  #bk612.b-both_diff>.g-column,
  #bk612.b-headlines>.column,
  #bk612.b-headlines>.g-column,
  #bk612.b-album>.column,
  #bk612.b-album>.g-column,
  #bk612.b-tab>.column,
  #bk612.b-tab>.g-column,
  #bk612.b-accordion>.column,
  #bk612.b-accordion>.g-column {
    margin: 0 auto;
    max-width: 100%;
  }
}


/* === ↓いつか整理する用メモ ↓ ===
   - 法人別の住所をクリック→詳細ページに飛ぶ構成も検討（要件次第）
   - 「地区別」（船津・歴木・吉野…等）の切り替えタブも追加できる
   - 法人ロゴを取得できたら表紙ぽく載せたい
   ============================ */