/* 外構業者ずかん ディレクトリ */
.gk-dir { max-width: 860px; margin: 0 auto; padding: 0 16px 48px; line-height: 1.8; }
.gk-title { font-size: 1.6rem; line-height: 1.4; margin: 16px 0 12px; }
.gk-lead { margin: 0 0 12px; }
.gk-note { font-size: .88rem; color: #555; }
.gk-crumbs { font-size: .8rem; color: #666; margin: 12px 0; display: flex; flex-wrap: wrap; gap: 4px; }
.gk-crumbs a { color: #2a6b4f; }
.gk-pr { margin: 0 0 1.2em; font-size: 11px; line-height: 1.6; color: #8a8a8a; letter-spacing: .04em; }
.gk-pr__tag { display: inline-block; margin-right: .5em; padding: .1em .45em; border: 1px solid #c9c9c9; border-radius: 3px; font-size: 10px; color: #8a8a8a; }
.gk-section { margin: 32px 0; }
/* 見出し：業者ページも補助金ページも同じ見た目（補助金ページの本文は SWELL の本文の装飾が当たらず、地の文と同じ見た目になっていた 2026/9/29） */
.gk-dir h2 { font-size: 1.3rem; line-height: 1.5; font-weight: 700; color: #1f2a2e; background: #f3f6f4; border: 0; border-left: 6px solid #2a6b4f; padding: .55em .8em; margin: 2.4em 0 1em; border-radius: 0 6px 6px 0; }
.gk-dir h3 { font-size: 1.12rem; line-height: 1.5; font-weight: 700; color: #1f2a2e; border: 0; border-bottom: 2px solid #cfe0d6; padding: 0 0 .35em; margin: 1.8em 0 .8em; background: none; }
.gk-dir h4 { font-size: 1rem; font-weight: 700; color: #2a6b4f; margin: 1.3em 0 .4em; padding: 0 0 0 .7em; border-left: 3px solid #b08d57; background: none; }
.gk-dir h2::before, .gk-dir h2::after, .gk-dir h3::before, .gk-dir h3::after, .gk-dir h4::before, .gk-dir h4::after { content: none; }
.gk-body p { margin: 0 0 1em; }
.gk-body ul { list-style: disc; padding-left: 1.5em; margin: 0 0 1.2em; }
.gk-body li { margin: .2em 0; }
.gk-co .gk-card__name, .gk-card .gk-card__name { font-size: 1.12rem; border: 0; padding: 0; margin: 0 0 8px; background: none; }

/* 会社 */
.gk-co { border: 1px solid #dcdcdc; border-radius: 8px; padding: 16px; margin: 20px 0; background: #fff; }
.gk-co__shot { margin: 0 0 12px; }
.gk-co__shot img { width: 100%; height: auto; border: 1px solid #e5e5e5; display: block; }
.gk-co__shot figcaption { font-size: .75rem; color: #777; text-align: right; margin-top: 4px; }
.gk-card { border-bottom: 1px solid #e5e5e5; padding: 12px 0; }
.gk-card__name { font-size: 1.1rem; margin: 0 0 8px; }
.gk-co__note p { margin: 0 0 8px; }
.gk-card__meta { display: grid; grid-template-columns: 8.8em 1fr; gap: 4px 12px; font-size: .88rem; margin: 12px 0 0; }
.gk-card__meta dt { color: #555; font-weight: bold; }
.gk-card__meta dd { margin: 0; overflow-wrap: anywhere; }
.gk-hojo { border-left: 3px solid #2a6b4f; padding: 4px 12px; margin: 12px 0; background: #f7fbf8; }
.gk-hojo__name { font-weight: bold; margin: 0; }
.gk-hojo__co { margin: 4px 0 0; font-size: .9rem; }
.gk-hojo__co--none { color: #666; }
.gk-about { font-size: .78rem; color: #666; background: #f6f6f6; border: 1px solid #e3e3e3; border-radius: 6px; padding: 10px 14px; margin: 32px 0 16px; line-height: 1.7; }
.gk-about p { margin: 0 0 4px; }
.gk-about p:last-child { margin: 0; }
.gk-tag { display: inline-block; font-size: .72rem; background: #eef6f1; color: #2a6b4f; border-radius: 3px; padding: 0 6px; margin-left: 6px; }

/* タブ */
.gk-tabs { display: flex; gap: 8px; margin: 16px 0; }
.gk-tab { flex: 1; padding: 10px; border: 1px solid #2a6b4f; background: #fff; color: #2a6b4f; border-radius: 6px; cursor: pointer; font-size: .95rem; }
.gk-tab[aria-selected="true"] { background: #2a6b4f; color: #fff; }

/* 一覧 */
.gk-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 8px; margin: 16px 0; }
.gk-list a { display: flex; justify-content: space-between; border: 1px solid #dcdcdc; border-radius: 6px; padding: 8px 10px; text-decoration: none; color: #222; }
.gk-list__n { color: #777; font-size: .8rem; }
.gk-twin { margin: 24px 0; font-weight: bold; }
.gk-twin a::before { content: "→ "; }

/* 補助金ページの表（hojokin_render.py の出力） */
.gk-table { width: 100%; border-collapse: collapse; font-size: .9rem; margin: 8px 0 16px; }
.gk-table th, .gk-table td { border: 1px solid #dcdcdc; padding: 6px 8px; text-align: left; vertical-align: top; }
.gk-table th { background: #f4f7f5; }
.gk-meta { font-size: .88rem; color: #444; }
.gk-source { font-size: .8rem; color: #666; background: #fafafa; border: 1px solid #eee; padding: 8px 12px; margin: 12px 0 24px; overflow-wrap: anywhere; }
.gk-source ul { margin: 4px 0 0; padding-left: 1.2em; }

/* 一括見積への誘導（zika.jp の .zika-cta と同じ見た目） */
.gk-cta { margin: 2.5rem 0; padding: 0 0 1.4rem; border: 2px solid #2a6b4f; border-radius: 10px; overflow: hidden; background: #fff; }
.gk-cta__body { margin: 1rem 1.1rem 1.2rem; font-size: .95rem; line-height: 1.9; }
.gk-marker { font-weight: 700; background: linear-gradient(transparent 58%, #ffe680 58%); padding-bottom: .05em; }
.gk-cta__body .gk-marker { background: linear-gradient(transparent 56%, #ffd84d 56%); }
/* ボタンは SWELL のボタンブロックに任せる。色と余白だけ渡す（自前の background はエフェクトとずれる） */
.gk-cta .gk-cta__action { --the-btn-color: #f97316; --the-btn-radius: 8px; --the-min-width: 100%; margin: 0 1.1rem 0 !important; }
.gk-cta .gk-cta__action .swell-block-button__link { font-size: 1.26rem; line-height: 1.45; color: #fff !important; }
.gk-cta2__hero { display: flex; align-items: center; gap: 20px; padding: 26px 26px 18px; background: #f5f8f6; border-bottom: 1px solid #e5e7eb; }
.gk-cta2__txt { flex: 1 1 auto; min-width: 0; }
.gk-cta2__kicker { margin: 0 0 6px; font-size: .82rem; font-weight: 700; color: #2a6b4f; letter-spacing: .04em; word-break: keep-all; overflow-wrap: anywhere; }
.gk-cta2__title { margin: 0 0 10px; font-size: 1.55rem; line-height: 1.4; font-weight: 700; color: #1b3a2c; word-break: keep-all; }
.gk-cta2__title em { font-style: normal; color: #2a6b4f; }
.gk-cta2__sub { margin: 0; font-size: .95rem; line-height: 1.75; color: #374151; }
.gk-cta2__fig { flex: 0 0 150px; margin: 0; }
.gk-cta2__fig img { display: block; width: 150px; height: auto; border-radius: 8px; }
.gk-cta2__note { margin: .6rem 1.1rem 0; font-size: .8rem; color: #6b7280; text-align: center; }
.gk-cta__sp { display: none; }
@media (max-width: 600px) {
  /* minmax(0,1fr)：見出しが長くても列が右へ押し出されないように（1fr だと写真とサブが枠の外で切れた 2026/9/29） */
  .gk-cta2__hero { display: grid; grid-template-columns: minmax(0, 1fr) 104px; grid-template-areas: "kicker fig" "title fig" "sub sub"; column-gap: 12px; align-items: start; padding: 18px 16px 14px; }
  .gk-cta2__txt { display: contents; }
  .gk-cta2__kicker { grid-area: kicker; }
  .gk-cta2__title { grid-area: title; font-size: 1.18rem; margin-bottom: 8px; overflow-wrap: anywhere; }
  .gk-cta2__sub { grid-area: sub; font-size: .9rem; margin-top: 4px; }
  .gk-cta2__fig { grid-area: fig; align-self: center; }
  .gk-cta2__fig img { width: 104px; }
}
@media (max-width: 599px) {
  .gk-cta__pc { display: none; }
  .gk-cta__sp { display: inline; word-break: keep-all; overflow-wrap: normal; }
}

@media (max-width: 599px) {
  .gk-title { font-size: 1.3rem; }
  .gk-card__meta { grid-template-columns: 1fr; }
  .gk-card__meta dt { margin-top: 6px; }
  .gk-table { font-size: .82rem; }
}

/* SWELL のパンくずと二重になるので、このプラグインのページでは SWELL 側を隠す（SWELL はクラスを body ではなく #body_wrap に付ける） */
.single-gk_gyousha .p-breadcrumb, .single-gk_hojokin .p-breadcrumb,
.post-type-archive-gk_gyousha .p-breadcrumb, .post-type-archive-gk_hojokin .p-breadcrumb { display: none; }

/* 都道府県の地図タイル（zika.jp とは別のデザイン：チャコールの台紙・細枠の角丸タイル・深緑と真鍮） */
.gk-map { position: relative; margin: 16px 0 8px; padding: 22px; border-radius: 18px;
  background: radial-gradient(120% 90% at 85% 0%, #2c3b3f 0%, #1c2528 55%, #161d1f 100%);
  box-shadow: 0 18px 40px rgba(20, 28, 30, .28); }
.gk-map__grid { display: grid; grid-template-columns: repeat(13, minmax(0, 1fr)); gap: 6px; }
.gk-map__tile {
  aspect-ratio: 1 / 1; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px;
  border: 1px solid rgba(255, 255, 255, .07); border-radius: 9px; background: rgba(255, 255, 255, .025);
  color: rgba(255, 255, 255, .26); font-size: clamp(8px, 1.45vw, 12.5px); line-height: 1.1; text-decoration: none; letter-spacing: .02em;
}
.gk-map__tile.is-live {
  background: linear-gradient(150deg, #34805e 0%, #22573f 100%); color: #fff; border-color: rgba(217, 183, 126, .55);
  box-shadow: 0 6px 16px rgba(0, 0, 0, .35), inset 0 1px 0 rgba(255, 255, 255, .16);
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.gk-map__tile.is-live:hover, .gk-map__tile.is-live:focus-visible { transform: translateY(-3px); border-color: #d9b77e; box-shadow: 0 10px 22px rgba(0, 0, 0, .45); }
.gk-map__name { font-weight: 700; white-space: nowrap; }
.gk-map__n { color: #e2c48f; font-weight: 700; font-size: .92em; font-feature-settings: "tnum"; }
.gk-map__legend { position: absolute; top: 26px; left: 28px; width: 58%; color: rgba(255, 255, 255, .72); }
.gk-map__ttl { margin: 0 0 12px; font-size: .78rem; letter-spacing: .32em; color: #e2c48f; font-weight: 700; }
.gk-map__ttl span { display: block; margin-top: 4px; font-size: 1.25rem; letter-spacing: .08em; color: #fff; }
.gk-map__key { display: flex; align-items: center; gap: 8px; margin: 0 0 6px; font-size: .8rem; }
.gk-map__sw { flex: 0 0 auto; width: 14px; height: 14px; border-radius: 4px; border: 1px solid rgba(255, 255, 255, .15); background: rgba(255, 255, 255, .04); }
.gk-map__sw.is-live { background: linear-gradient(150deg, #34805e, #22573f); border-color: rgba(217, 183, 126, .7); }
@media (max-width: 599px) {
  .gk-map { padding: 14px 10px 12px; border-radius: 14px; }
  .gk-map__grid { gap: 3px; }
  .gk-map__legend { position: static; width: auto; margin: 0 4px 10px; }
  .gk-map__key { white-space: nowrap; }
  .gk-map__tile { border-radius: 6px; }
  .gk-map__n { display: none; }
  .gk-map__ttl { margin-bottom: 6px; font-size: .62rem; }
  .gk-map__ttl span { font-size: .95rem; }
  .gk-map__key { font-size: .64rem; gap: 5px; margin-bottom: 3px; }
  .gk-map__sw { width: 10px; height: 10px; }
}

/* トップページの見出しエリア */
.gk-hero { display: flex; align-items: center; gap: 28px; margin: 24px 0 8px; padding: 28px; border-radius: 18px; background: #f4f1ea; }
.gk-hero__txt { flex: 1 1 auto; min-width: 0; }
.gk-hero__kicker { margin: 0 0 6px; font-size: .82rem; font-weight: 700; letter-spacing: .12em; color: #8a6d3b; }
.gk-hero__title { margin: 0 0 12px; font-size: 2.2rem; line-height: 1.25; color: #1f2a2e; letter-spacing: .04em; }
.gk-hero__lead { margin: 0; font-size: .98rem; line-height: 1.9; color: #374151; }
.gk-hero__fig { flex: 0 0 220px; margin: 0; }
.gk-hero__fig img { display: block; width: 220px; height: auto; border-radius: 14px; box-shadow: 0 12px 28px rgba(0, 0, 0, .18); }
@media (max-width: 599px) {
  .gk-hero { flex-direction: column-reverse; align-items: stretch; padding: 18px 16px; gap: 14px; }
  .gk-hero__fig { flex: none; }
  .gk-hero__fig img { width: 100%; max-height: 200px; object-fit: cover; }
  .gk-hero__title { font-size: 1.6rem; }
}

/* SWELL の自動目次は出さない（見出しの少ないページで、見出しより先に目次だけが出てしまう 2026/9/29） */
.single-gk_gyousha .p-toc, .single-gk_hojokin .p-toc { display: none; }

/* 表の見出しの列が1文字ずつ折り返さないように（2026/9/29 目視で発見） */
.gk-table th { min-width: 6.5em; }
.gk-table thead th, .gk-table td:nth-child(n+4) { white-space: nowrap; }
@media (max-width: 599px) { .gk-table td:nth-child(n+4) { white-space: normal; } .gk-table th { min-width: 5em; } }

.gk-hojo-table td:nth-child(n+2) { white-space: normal; }
.gk-hojo-table td:first-child { width: 45%; }

/* 掲載は一部であることと、2社以上の比較の案内（CTA の上） */
.gk-guide { margin: 20px 0 0; padding: 14px 18px; border-radius: 8px; background: #f7f5ef; border-left: 4px solid #b08d57; }
.gk-guide p { margin: 0; font-size: .95rem; line-height: 1.9; }

/* 外構工事 補助金の締め切り逆算カレンダー（本文と見分けるため、濃い緑の枠に入れる 2026/9/30 ユーザー指示） */
.gk-sk { margin: 40px 0 24px; padding: 32px 36px; border-radius: 20px; background: #1f3a2f; color: #eef3ef; box-shadow: 0 10px 30px rgba(31, 58, 47, .18); }
.gk-sk__top { display: flex; gap: 24px; align-items: center; margin-bottom: 22px; }
.gk-sk__icon { flex: 0 0 auto; display: grid; place-items: center; width: 116px; height: 116px; border-radius: 50%; background: #2c5242; border: 3px solid #e8a33d; }
.gk-sk__icon svg { width: 64px; height: 64px; }
.gk-sk__intro { min-width: 0; }
.gk-sk__tag { display: inline-block; padding: 4px 12px; border-radius: 6px; background: #e8a33d; color: #1f2a2e; font-size: .78rem; font-weight: 700; letter-spacing: .06em; }
.gk-dir .gk-sk h2.gk-sk__ttl { margin: 10px 0 8px; padding: 0; border: 0; border-radius: 0; background: none; color: #fff; font-size: 1.55rem; line-height: 1.4; }
.gk-sk__desc { margin: 0 0 10px; line-height: 1.85; color: #e3ebe6; }
.gk-sk__stats { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 18px; margin: 0; padding: 0; list-style: none; font-size: .88rem; color: #e3ebe6; }
.gk-sk__stats li { margin: 0; padding-left: 14px; position: relative; line-height: 1.8; }
.gk-sk__stats li::before { content: ""; position: absolute; left: 0; top: .6em; width: 7px; height: 7px; border-radius: 50%; background: #8fcf9f; }
.gk-sk__stats b { color: #ffd27a; font-size: 1.15rem; margin: 0 1px; }
.gk-sk__form { margin: 0 0 8px; padding: 18px 20px; border-radius: 14px; background: #fff; }
.gk-sk__row { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.gk-sk__f { display: flex; flex-direction: column; gap: 6px; margin: 0; }
.gk-sk__lb { font-size: .85rem; font-weight: 700; color: #1f2a2e; display: flex; align-items: center; gap: 6px; }
.gk-sk__lb b { display: inline-grid; place-items: center; width: 1.5em; height: 1.5em; border-radius: 50%; background: #2a6b4f; color: #fff; font-size: .8rem; }
.gk-sk__f select, .gk-sk__f input { width: 100%; min-width: 0; padding: 10px 12px; font-size: 1rem; border: 1px solid #c9d6ce; border-radius: 10px; background: #fff; color: #1f2a2e; box-sizing: border-box; }
.gk-sk__out { margin: 16px 0 8px; color: #1f2a2e; }
.gk-sk__hint, .gk-sk__none { padding: 14px 18px; border-radius: 12px; background: #2c5242; border: 1px dashed #6f9483; color: #e3ebe6; }
.gk-sk__none p { margin: 0 0 6px; }
.gk-sk__none a { color: #ffd27a; }
.gk-sk__hint { margin: 0; }
.gk-sk__sum { font-weight: 700; margin: 0 0 12px; color: #fff; }
.gk-sk__card { margin: 0 0 16px; padding: 18px 20px; border-radius: 14px; background: #fff; border-top: 5px solid #2a6b4f; }
.gk-sk__card--ng { border-top-color: #b4462f; }
.gk-sk__card--info { border-top-color: #e8a33d; }
.gk-sk__head { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 12px; margin-bottom: 8px; }
.gk-sk__name { margin: 0; font-weight: 700; font-size: 1.05rem; flex: 1 1 100%; color: #1f2a2e; }
.gk-sk__kind { margin: 0; font-size: .82rem; color: #666; }
.gk-sk__badge { font-size: .78rem; font-weight: 700; padding: 3px 10px; border-radius: 99px; background: #e6f1eb; color: #2a6b4f; }
.gk-sk__card--ng .gk-sk__badge { background: #f8e6e1; color: #b4462f; }
.gk-sk__card--info .gk-sk__badge { background: #f6eedd; color: #8a6d3b; }
.gk-sk__warn { margin: 0 0 12px; padding: 10px 14px 10px 30px; border-radius: 10px; background: #fff8ee; font-size: .9rem; }
.gk-sk__warn li { margin: 2px 0; }
.gk-sk__tl { list-style: none; margin: 0; padding: 0 0 0 18px; border-left: 2px solid #dfe8e2; }
.gk-sk__ev { position: relative; margin: 0; padding: 6px 0 10px 14px; display: flex; flex-direction: column; }
.gk-sk__ev::before { content: ""; position: absolute; left: -25px; top: 11px; width: 12px; height: 12px; border-radius: 50%; background: #fff; border: 2px solid #9fb8aa; }
.gk-sk__ev--shime::before, .gk-sk__ev--kanryo::before { background: #b4462f; border-color: #b4462f; }
.gk-sk__ev--start::before { background: #2a6b4f; border-color: #2a6b4f; }
.gk-sk__ev--now::before { border-color: #1f2a2e; }
.gk-sk__d { font-size: .8rem; color: #666; font-variant-numeric: tabular-nums; }
.gk-sk__t { font-weight: 700; color: #1f2a2e; }
.gk-sk__ev--shime .gk-sk__t, .gk-sk__ev--kanryo .gk-sk__t { color: #b4462f; }
.gk-sk__s { font-size: .88rem; color: #374151; }
.gk-sk__links { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 10px; margin: 12px 0 0; }
.gk-sk__act { display: flex; flex-direction: column; gap: 3px; padding: 12px 14px 12px 40px; border-radius: 12px; border: 1px solid #c9d6ce; background: #f3f6f4; color: #1f2a2e !important; text-decoration: none !important; position: relative; }
.gk-sk__act::before { content: "›"; position: absolute; left: 14px; top: 50%; transform: translateY(-50%); width: 18px; height: 18px; border-radius: 50%; background: #2a6b4f; color: #fff; font-size: 14px; line-height: 17px; text-align: center; }
.gk-sk__act:hover { background: #e6f1eb; }
.gk-sk__act b { color: #2a6b4f; font-size: .95rem; }
.gk-sk__act span { font-size: .8rem; color: #555; line-height: 1.6; }
.gk-sk__howto { margin: 14px 0 6px; padding: 12px 18px; border-radius: 12px; background: #2c5242; }
.gk-sk__howto summary { cursor: pointer; font-weight: 700; color: #fff; }
.gk-sk__howto ul { margin: 10px 0 2px; padding-left: 1.2em; color: #e3ebe6; font-size: .92rem; }
.gk-sk__howto li { margin: 4px 0; }
.gk-sk__howto strong { color: #ffd27a; }
.gk-sk__note { margin: 8px 0 0; font-size: .8rem; color: #b9cbc1; }
.gk-sk__cta { margin: 20px 0 6px; padding: 22px 20px 16px; border-radius: 14px; background: #2c5242; border: 2px solid #e8a33d; text-align: center; animation: gk-sk-pop .5s cubic-bezier(.2, 1.4, .4, 1) both; }
.gk-sk__cta-lead { margin: 0 0 14px; color: #fff; font-weight: 700; line-height: 1.7; }
.gk-sk__btn { position: relative; display: inline-block; overflow: hidden; min-width: min(100%, 420px); padding: 16px 28px; border-radius: 99px; background: #f07d22; color: #fff !important; font-size: 1.1rem; font-weight: 700; text-decoration: none !important; box-shadow: 0 5px 0 #b95a10, 0 8px 20px rgba(0, 0, 0, .25); box-sizing: border-box; transition: transform .15s; }
.gk-sk__btn:hover { transform: translateY(2px); box-shadow: 0 3px 0 #b95a10, 0 6px 14px rgba(0, 0, 0, .25); }
.gk-sk__btn::after { content: ""; position: absolute; top: -50%; left: -60%; width: 40%; height: 200%; background: linear-gradient(90deg, rgba(255,255,255,0), rgba(255,255,255,.75), rgba(255,255,255,0)); transform: rotate(20deg); animation: gk-sk-shine 2.6s ease-in-out .6s infinite; }
.gk-sk__cta-note { margin: 10px 0 0; font-size: .72rem; color: #8fa89b; }
@keyframes gk-sk-pop { 0% { opacity: 0; transform: scale(.9); } 100% { opacity: 1; transform: scale(1); } }
@keyframes gk-sk-shine { 0% { left: -60%; } 45%, 100% { left: 130%; } }
@media (prefers-reduced-motion: reduce) { .gk-sk__cta, .gk-sk__btn::after { animation: none; } }
@media (max-width: 760px) {
  .gk-sk__btn { width: 100%; font-size: 1rem; padding: 15px 16px; }
  .gk-sk { padding: 22px 16px; border-radius: 16px; }
  .gk-sk__top { flex-direction: column; align-items: center; gap: 14px; }
  .gk-sk__intro { width: 100%; }
  .gk-sk__tag { display: table; margin: 0 auto; }
  .gk-dir .gk-sk h2.gk-sk__ttl { text-align: center; word-break: keep-all; }
  .gk-sk__icon { width: 84px; height: 84px; }
  .gk-sk__icon svg { width: 48px; height: 48px; }
  .gk-dir .gk-sk h2.gk-sk__ttl { font-size: 1.3rem; }
  .gk-sk__row { grid-template-columns: minmax(0, 1fr); }
  .gk-sk__form { padding: 14px; }
  .gk-sk__card { padding: 14px; }
}

/* スマホでは本文の下にサイドバーが来る。本文の終わりとバナーの間が広すぎたので詰める（2026/10/7 ユーザー指摘）。
   この CSS は業者ページ・補助金ページでしか読まないので、投稿ページの余白は変わらない。 */
@media screen and (max-width: 959px) {
  .gk-dir { padding-bottom: 8px; }
  #sidebar.l-sidebar { margin-top: 16px; }   /* SWELL の 3.6rem より強く当てるため id で書く */
}

/* 補助金ページの最初の見出しの上に入れる横長バナー（2026/10/7 ユーザー指示） */
.gk-ad { margin: 2em 0; text-align: center; }
.gk-ad img { max-width: 100%; height: auto; }
