/*
Theme Name: Nakatsu Child
Template: astra
Author: Ninefold Design
Description: 中津街道Web用 Astra 子テーマ
Version: 1.0
*/
/* =========================
   カード一覧（トップ/アーカイブ）  
   ========================= */
.nogitaishi-card {
  background:#fff; border-radius:8px; overflow:hidden;
  box-shadow:0 6px 14px rgba(0,0,0,.06);
  display:flex; flex-direction:column;
  transition:transform .2s ease, box-shadow .2s ease;
}
.nogitaishi-card:hover {
  transform:translateY(-2px);
  box-shadow:0 12px 24px rgba(0,0,0,.10);
}
.card-thumb {
  width: 100%;
  aspect-ratio: 3/4;       /* 比率固定 */
  overflow: hidden;
  border-radius: 10px;     /* 角丸追加 */
}
.card-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  border-radius: 0;        /* img 側の角丸は打ち消し */
}
.card-body { padding:1rem; }
.card-body h2 { font-size:1.1rem; margin-bottom:.5rem; color:#333; line-height:1.4; }
.card-meta { font-size:.9rem; color:#777; margin-bottom:.5rem; }
.card-body p { font-size:.95rem; color:#555; line-height:1.5; margin-bottom:0; }

/* =========================
   フィルター（検索フォーム）
   ========================= */
.gita-filter-form {
  display:flex; align-items:center; justify-content:center;
  max-width:640px; margin:20px auto 28px; padding:0;
  gap:0;
}
form.gita-filter-form input[type="search"] {
  height: 48px !important;
  min-height: 0 !important;
}
.gita-filter-form input[type="search"] {
  flex: 1;
  height: 48px !important;       /* ← 好きな高さに */
  min-height: 0 !important;      /* ← Astra の min-height を打ち消し */
  padding: 0 20px !important;    /* ← 上下の余白をリセットして左右だけ */
  line-height: 48px !important;  /* ← 高さと合わせて中央揃え */
  border: 1px solid #e5e7eb;
  border-right: 0;
  border-radius: 8px 0 0 8px;
  font-size: 18px;
  color: #111827;
  background: #fff;
  box-shadow: inset 0 1px 1px rgba(0,0,0,.03);
  transition: border-color .18s, box-shadow .18s, background .18s;
  box-sizing: border-box !important; /* ← 高さの計算を安定させる */
}

.gita-filter-form input[type="search"]::placeholder { color:#9aa3af; }
.gita-filter-form input[type="search"]:focus {
  outline:none;
  border-color:#2563eb;
  box-shadow:0 0 0 3px rgba(37,99,235,.15);
}
.gita-filter-form button {
	height:48px;
	  padding:0 44px;  /* ← 左右対称にして文字が中央に */
  border:0; border-radius:0 9999px 9999px 0; /* pill型 */
  background:#2563eb; color:#fff; font-weight:700;
  font-size:16px; line-height:48px; white-space:nowrap;
  box-shadow:0 6px 14px rgba(37,99,235,.25);
  transition:transform .08s ease, box-shadow .18s ease, background .18s;
  cursor:pointer; position:relative;
}
.gita-filter-form button:hover { box-shadow:0 8px 18px rgba(37,99,235,.30); }
.gita-filter-form button:active { transform:translateY(1px); }
.gita-filter-form button::before {
  content:"";
  position:absolute; left:14px; top:50%;
  width:18px; height:18px; transform:translateY(-50%);
  background:currentColor;
  -webkit-mask:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="11" cy="11" r="7"/><line x1="21" y1="21" x2="16.65" y2="16.65"/></svg>') no-repeat center / contain;
          mask:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="11" cy="11" r="7"/><line x1="21" y1="21" x2="16.65" y2="16.65"/></svg>') no-repeat center / contain;
}
/* モバイル時は縦積み */
@media (max-width:640px){
  .gita-filter-form { flex-direction:column; gap:10px; }
  .gita-filter-form input[type="search"] { border-radius:0; border-right:1px solid #e5e7eb; width:100%; }
  .gita-filter-form button { border-radius:9999px; width:100%; }
}

/* =========================
   ヘッダー／ナビ（Astra 対応）
   ========================= */
.ast-mobile-menu-buttons, .menu-toggle,
.ast-off-canvas-overlay, .ast-mobile-popup-drawer { display:none !important; }
.ast-header-break-point .main-header-bar-navigation { display:block !important; }
.ast-header-break-point .main-header-menu {
  display:flex !important; flex-wrap:wrap; align-items:center; gap:10px; margin:0; padding:0;
}
.ast-header-break-point .main-header-menu .menu-item { display:block !important; }
.main-header-menu { margin-left:auto; }
.site-header, .main-header-bar, .ast-primary-header-bar, .ast-desktop-header-content {
  position:relative; z-index:10000; overflow:visible;
}
.gita-nav-menu { z-index:10001; }

@media (max-width:921px) {
  .gita-nav-avatar { display:flex !important; align-items:center; position:relative; }
  .gita-nav-avatar__btn { pointer-events:auto; }
  .gita-nav-menu {
    position:fixed; right:12px; top:64px; min-width:200px; display:none; z-index:10002;
    background:#fff; border:1px solid #e5e7eb; border-radius:10px;
    box-shadow:0 12px 28px rgba(0,0,0,.12); padding:6px 0;
  }
  .gita-nav-avatar.is-open .gita-nav-menu { display:block; }
  .gita-nav-avatar-img { width:28px; height:28px; border-radius:9999px; }
  .main-header-bar .main-header-container { overflow:visible !important; }
}

/* ====== フローティングアバター ====== */
.gita-fnav { position: fixed; top: calc(12px + env(safe-area-inset-top)); right: calc(12px + env(safe-area-inset-right)); z-index: 10050; }
body.admin-bar .gita-fnav { top: calc(12px + 32px + env(safe-area-inset-top)); }
@media (max-width:782px){ body.admin-bar .gita-fnav { top: calc(12px + 46px + env(safe-area-inset-top)); } }
.gita-fnav__btn { display:inline-flex; align-items:center; gap:8px; background:#fff; color:#111827; border:1px solid #e5e7eb; border-radius:9999px; padding:6px 10px; box-shadow:0 6px 20px rgba(0,0,0,.08); }
.gita-fnav__img { width:28px; height:28px; border-radius:9999px; display:block; }
.gita-fnav__img--guest { background:#e5e7eb; border:1px solid #d1d5db; }
.gita-fnav__name { font-size:.92rem; line-height:1; white-space:nowrap; }
.gita-fnav__menu { position:absolute; right:0; top:calc(100% + 8px); min-width:200px; background:#fff; border:1px solid #e5e7eb; border-radius:10px; box-shadow:0 12px 28px rgba(0,0,0,.1); padding:6px 0; display:none; z-index:10051; }
.gita-fnav.is-open .gita-fnav__menu { display:block; }
.gita-fnav__menu a { display:block; padding:9px 12px; text-decoration:none; color:#111827; }
.gita-fnav__menu a:hover { background:#f3f4f6; }
@media (max-width:921px){ .gita-fnav__menu{ position:fixed; right:calc(12px + env(safe-area-inset-right)); top:calc(56px + env(safe-area-inset-top)); } }

/* ==== カードレイアウト ==== */
.nogitaishi-grid, .gita-cards { display:grid; gap:16px; }
@media (max-width:640px){ .nogitaishi-grid, .gita-cards { grid-template-columns:repeat(2,1fr);} }
@media (min-width:641px) and (max-width:1023px){ .nogitaishi-grid, .gita-cards { grid-template-columns:repeat(auto-fit,minmax(220px,1fr));} }
@media (min-width:1024px){ .nogitaishi-grid, .gita-cards { grid-template-columns:repeat(3,1fr);} }
.nogitaishi-card .card-thumb, .gita-card__thumb { aspect-ratio:3/4; overflow:hidden; }
.nogitaishi-card .card-thumb img, .gita-card__img { width:100%; height:100%; object-fit:cover; display:block; }

/* === シングルページ === */
.nogitaishi-container{ max-width:1000px; margin:0 auto; padding:16px; }
.single-title{ margin:0rem 0 1rem; line-height:1; }
.single-meta{ display:flex; flex-wrap:wrap; gap:.5rem 8px; color:#111; margin-bottom:1rem; }
.single-meta .meta-sep{ opacity:.5; }
.nogitaishi-photo-gallery{
	display:grid; gap:10px; margin-bottom:0rem;
}
.nogitaishi-photo-gallery.count-1{ grid-template-columns:1fr; }

/* 値（右側）の左マージン/パディングをゼロにする */
.single-meta .meta-item .meta-value{
  margin-left: 0 !important;
  padding-left: 0 !important;
}

/* === シングル：投稿者/種類/建立年/碑幹/所在地の行 === */
.single-meta{
  color:#111 !important;     /* 全体の文字色を黒に統一 */
  margin-bottom:1rem;
}

/* 1行=ラベル列/値列 の2列グリッドに */
.single-meta .meta-item{
  display:grid !important;
  grid-template-columns: 5em 1fr;  /* ← ラベル幅。5.0〜6.0emで微調整可 */
  column-gap:.5em;
  align-items:start;
  line-height:1.6;
  margin:0;
  color:#111 !important;
}

/* ラベル（左列） */
.single-meta .meta-label{
  grid-column:1;
  width:auto !important;     /* 既存の width:4em/5em を打ち消す */
  white-space:nowrap;        /* 折り返し禁止でズレ防止 */
  text-align:right;          /* コロン位置を揃える */
  margin:0 !important;
  color:#111 !important;
}

/* 値（右列） */
.single-meta .meta-value{
  grid-column:2;
  margin:0 !important;
  padding:0 !important;
  color:#111 !important;
}



/* すべての画像を 3:4、中央に cover */
.aspect-ratio-box {
  position: relative;
  width: 100%;
  aspect-ratio: 3/4;         /* 比率固定 */
  border-radius: 10px;
  overflow: hidden;
}

.aspect-ratio-box > img.single-photo {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;          /* 中央トリミング */
  object-position: center;    /* 中央に寄せる */
  border-radius: 0;           /* 角丸は親divに任せる */
}

.single-dates{
	margin-top:0.3rem;
	margin-bottom: 0.3rem; /* デフォルト1rem程度 → 少し狭くする */
color:#6b7280; }

/* 単独画像の cover 表示を強制 */
.nogitaishi-photo-gallery.count-1 .aspect-ratio-box {
  aspect-ratio: 3 / 4;
  width: 100%;
  overflow: hidden;
  border-radius: 10px;
}

.nogitaishi-photo-gallery.count-1 .aspect-ratio-box img.single-photo {
  width: 100% !important;
  height: 100% !important;   /* ← 高さを埋める */
  object-fit: cover !important;
  object-position: center !important;
  display: block;
}


.swiper-button-prev, .swiper-button-next{ color:#111; text-shadow:0 0 6px rgba(255,255,255,.8); }
.swiper-pagination-bullet{ opacity:.5; }
.swiper-pagination-bullet-active{ opacity:1; }

/* === 地図 === */
#map, #gita-front-map, .front-map {
  width:100%; min-height:400px; height:400px;
}
#nogitaishi-single-map {
  width:100%; height:320px;
	border:1px solid #e5e7eb; border-radius:10px; margin-top:0rem;
	  margin-bottom: 0.5rem; /* 8pxくらい */
}

/* === マップ内ポップアップ === */
.leaflet-popup-content {
  margin: 8px 12px !important;
  min-width: 260px;       /* 少し広めに確保 */
  max-width: 360px;       /* 横並びが崩れないように制御 */
}

.leaflet-popup-content .popup-inner {
  display: flex;
  align-items: flex-start;
  gap: 10px;
}

.leaflet-popup-content .popup-inner img {
  width: 100px;
  aspect-ratio: 3/4;       /* 比率固定 */
  object-fit: cover;
  border-radius: 6px;      /* 角丸維持 */
  flex-shrink: 0;
}


.leaflet-popup-content .popup-text {
  flex: 1;
  font-size: 14px;
  color: #333;
  line-height: 1.5;
  overflow-wrap: break-word;
  word-break: break-word;
}

/* タイトルは必ず改行 */
.leaflet-popup-content .popup-title {
  display: block;
  font-weight: bold;
  color: #2563eb;
  margin-bottom: 2px;
  text-decoration: none;
}

/* 年も必ず改行 */
.leaflet-popup-content .popup-year {
  display: block;
  font-size: 13px;
  color: #666;
  margin-bottom: 2px;
}

/* ポップアップ内の住所を年と同じサイズにする */
.leaflet-popup-content .gita-pop__addr {
  display: block;
  font-size: 13px; /* .popup-year と同じ */
  color: #666;
  margin-bottom: 2px;
}

/* 概要も改行を保証 */
.leaflet-popup-content .gita-pop__excerpt {
  display: block;
  margin-bottom: 2px;
}

/* 旧クラスを無効化 */
.gita-pop__img, .gita-pop__excerpt { display:contents !important; }


/* === 新着投稿セクション === */
.gita-latest { margin:2rem 0; padding:1.5rem; border:1px solid #e5e7eb; border-radius:8px; background:#fafafa; }
.gita-latest h2 { font-size:1.2rem; font-weight:700; margin-bottom:1rem; color:#111827; border-left:4px solid #2563eb; padding-left:.5rem; }
.gita-latest ul { list-style:none; padding:0; margin:0; }
.gita-latest li { margin-bottom:.5rem; }
.gita-latest li:last-child { margin-bottom:0; }
.gita-latest a { text-decoration:none; color:#2563eb; font-weight:500; }
.gita-latest a:hover { text-decoration:underline; }

/* === ページネーション === */
.gita-pagination { display:flex; justify-content:center; margin:2rem 0; }
.gita-pagination .page-numbers {
  display:inline-block; min-width:36px; height:36px; line-height:36px; margin:0 2px;
  text-align:center; background:#f3f4f6; color:#374151; font-size:14px;
  border-radius:6px; transition:background .2s, color .2s, box-shadow .2s;
}
.gita-pagination .page-numbers:hover {
  background:#2563eb; color:#fff; box-shadow:0 2px 6px rgba(37,99,235,.4);
}
.gita-pagination .page-numbers.current {
  background:#2563eb; color:#fff; font-weight:bold;
  box-shadow:0 2px 6px rgba(37,99,235,.5);
}

/* === 投稿ボタン（pill型デザイン） === */
button.button-primary {
  width:100%; max-width:480px; margin:0 auto; position:relative;
  height:46px; padding:0 44px;
  border:0; border-radius:9999px;
  background:#2563eb !important; color:#fff !important;
  font-weight:700; font-size:16px; line-height:46px;
  box-shadow:0 6px 14px rgba(37,99,235,.25);
  transition:transform .08s ease, box-shadow .18s ease, background .18s;
  cursor:pointer; display:block;
}
button.button-primary:hover { box-shadow:0 8px 18px rgba(37,99,235,.30); }
button.button-primary:active { transform:translateY(1px); }
button.button-primary.new::before,
button.button-primary.update::before {
  content:""; position:absolute; left:14px; top:50%; width:18px; height:18px;
  transform:translateY(-50%); background:currentColor;
}
button.button-primary.new::before {
  -webkit-mask:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 20h9"/><path d="M16.5 3.5a2.121 2.121 0 0 1 3 3L7 19l-4 1 1-4 12.5-12.5z"/></svg>') no-repeat center / contain;
          mask:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 20h9"/><path d="M16.5 3.5a2.121 2.121 0 0 1 3 3L7 19l-4 1 1-4 12.5-12.5z"/></svg>') no-repeat center / contain;
}
button.button-primary.update::before {
  -webkit-mask:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" fill="none" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" viewBox="0 0 24 24"><polyline points="23 4 23 10 17 10"/><polyline points="1 20 1 14 7 14"/><path d="M3.51 9a9 9 0 0 1 14.13-3.36L23 10M1 14l5.36 5.36A9 9 0 0 0 20.49 15"/></svg>') no-repeat center / contain;
          mask:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" fill="none" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" viewBox="0 0 24 24"><polyline points="23 4 23 10 17 10"/><polyline points="1 20 1 14 7 14"/><path d="M3.51 9a9 9 0 0 1 14.13-3.36L23 10M1 14l5.36 5.36A9 9 0 0 0 20.49 15"/></svg>') no-repeat center / contain;
}
																																						
																																						/* ===== Footer compact (Astra) ===== */
.site-footer { margin-top: 12px; }               /* 本文との間隔を少しだけ */
.site-below-footer-wrap,
.site-footer .site-info,
.ast-footer-copyright {
  padding-top: 4px !important;
  padding-bottom: 4px !important;                /* 高さの主因をギュッと */
}

.site-footer .site-info,
.ast-footer-copyright {
  font-size: 0.92rem;                             /* ほんの少し小さめ */
  line-height: 1.2;
}

.site-footer p { margin: 0 !important; }         /* p の上下余白をゼロに */

.site-below-footer-wrap .ast-builder-grid-row-container-inner {
  padding-top: 0 !important;
  padding-bottom: 0 !important;                  /* Astra の内側パディングを除去 */
}

.site-below-footer-wrap .ast-builder-grid-row { row-gap: 0 !important; }

/* ページネーションの下の余白も少しだけ */
.gita-pagination { margin-bottom: 8px; }
																																						
																																						/* Back to Top ボタンを角丸に */
#ast-scroll-top {
  width: 60px;
  height: 60px;
  font-size: 28px;
  line-height: 60px;
  border-radius: 50%; /* ← これで円形になる */
  background: #2563eb; /* お好みで色も指定可能 */
  color: #fff;
}


#ast-scroll-top .ast-icon {
  font-size: 28px; /* 矢印アイコンの大きさ */
}

.gita-latest .post-date {
  font-size: 0.85rem;
  color: #6b7280; /* グレー */
  margin-left: 4px;
}

/* プロフィール編集フォームのボタンを縦並びに */
p > .button,
p > .button-primary {
  display: block;
  width: 100%;
  max-width: 480px;
  margin: 0 auto 12px; /* ボタン間の余白 */
  text-align: center;
}

/* モーダルオーバーレイを最前面に */
.gita-modal,
.gita-modal-overlay,
.fancybox-container,
.lightbox,
.lightboxOverlay {
  z-index: 99999 !important;
}

/* 画像を全画面で表示できるように */
.gita-modal img,
.fancybox-image,
.lightbox img {
  max-height: 100vh !important; /* スマホ画面の高さに収める */
  object-fit: cover;
}

/* ヘッダーがモーダルより前に出ないように調整 */
.site-header,
.main-header-bar,
.ast-primary-header-bar,
.ast-desktop-header-content{
  z-index: 1000 !important; /* モーダルより低くする */
}

/* フローティングナビを最前面に戻す */
.gita-fnav {
  z-index: 9990 !important; /* モーダル99999より小さい値に */
}

/* Back to Top ボタンを地図より前に表示 */
#ast-scroll-top {
  position: fixed; /* 念のため固定 */
  z-index: 10050 !important; /* Leaflet(通常400〜1000程度)より上 */
}

/* ==== ボタンの色を統一（形や幅はそのまま） ==== */
.button,
button,
.button-primary {
  background-color: #2563eb !important; /* 明るい青に統一 */
  color: #fff !important;
  border: none;
}

.button:hover,
button:hover,
.button-primary:hover {
  background-color: #1e4ed8 !important; /* ホバー時は少し濃く */
}

/* === ガイドページ専用スタイル（ID=291） === */
.page-id-291 .entry-content {
  max-width: 800px;
  margin: 0 auto;
  padding: 1rem 1.25rem;
  font-size: 1rem;
  line-height: 1.8;
  color: #374151; /* ダークグレー */
}

/* ガイドH2：左線だけ太く、下線は細め */
.page-id-291 .entry-content h2{
  --h2-left: 6px;        /* ← 左の帯の太さ */
  --h2-underline: 3px;   /* ← 下線の太さ */
  position: relative;
  font-size: 1.4rem;
  font-weight: 700;
  margin: 2rem 0 1.2rem;
  padding: .15em 0 .65em 1rem;  /* 下線との距離は .65em で調整 */
  line-height: 1.3;
  color: #111827;
  background:
    /* 左帯（太め） */
    linear-gradient(#2563eb,#2563eb) left center / var(--h2-left) 100% no-repeat,
    /* 下線（細め） */
    linear-gradient(#2563eb,#2563eb) left bottom / 100% var(--h2-underline) no-repeat;
  border: 0;
}

/* h3 は装飾なし */
.page-id-291 .entry-content h3{
  font-size: 1.2rem;
  font-weight: 600;
  margin: 1.8rem 0 1rem;
}



/* リスト（番号リストはアイコン化） */
.page-id-291 .entry-content ol {
  list-style: none; /* デフォルト番号を消す */
  margin-left: 0;
  padding-left: 0;
  margin-bottom: 1rem;
}
.page-id-291 .entry-content ol li {
  position: relative;
  padding-left: 1.8em; /* アイコン分の余白 */
  margin-bottom: .75rem;
}
.page-id-291 .entry-content ol li::before {
  content: "✔";
  position: absolute;
  left: 0;
  top: 0;
  color: #2563eb; /* 青色 */
  font-weight: bold;
  font-size: 1.1em;
}
.page-id-291 .entry-content ul {
  margin-left: 1.25rem;
  margin-bottom: 1rem;
  list-style: disc;
}
.page-id-291 .entry-content li {
  margin-bottom: .5rem;
}

/* 強調ボックス（注意事項など） */
.page-id-291 .entry-content .notice-box {
  background: #f9fafb;
  border-left: 4px solid #f59e0b; /* 黄色 */
  padding: 1rem;
  border-radius: 6px;
  margin: 1.5rem 0;
  font-size: .95rem;
  color: #444;
}

/* リンク */
.page-id-291 .entry-content a {
  color: #2563eb;
  text-decoration: none;
  border-bottom: 1px dotted #2563eb;
}
.page-id-291 .entry-content a:hover {
  text-decoration: underline;
}

/* === 検索結果メッセージ === */
.gita-search-result {
  max-width: 800px;
  margin: 1rem auto 1.5rem;
  padding: .75rem 1rem;
  background: #f9fafb;
  border-left: 4px solid #2563eb;
  border-radius: 6px;
  color: #374151;
  font-size: 1rem;
  line-height: 1.6;
}

/* Swiper ギャラリー */
.gita-swiper {
  width: 100%;
  max-width: 800px;
  margin: 0px auto;
}
.gita-swiper img {
  width: 100%;
  height: auto;
  object-fit: cover;
  border-radius: 10px;
}
.swiper-button-next,
.swiper-button-prev {
  color: #fff;
}
.swiper-pagination-bullet {
  background: #fff;
}

/* Fancybox モーダル時にフローティングナビを隠す */
.fancybox__container {
  z-index: 100000 !important; /* 最前面に */
}

.fancybox__container ~ .gita-fnav {
  display: none !important; /* モーダル中は非表示 */
}

/* 前後ナビゲーション */
.gita-post-nav {
    display: flex;
	justify-content: space-between;
  margin-top: 0.5rem !important;   /* 相殺させない */
  padding-top: 0.5rem;        /* 自前の余白を追加 */
}
.gita-post-nav a {
    display: inline-block;
    padding: 0.5rem 1rem;
    background: #2563eb;
    color: #fff;
    border-radius: 6px;
    text-decoration: none;
    font-weight: bold;
	transition: background 0.2s;
	  margin: 0 8px; /* ← 左右マージンを追加 */

}
.gita-post-nav a:hover {
    background: #1d4ed8;
}

/* シングルページのメタ情報の行間を狭く */
.single-meta {
  margin: 0 0 2px;   /* 下の余白を小さく */
  line-height: 1.4;  /* 行間をやや狭く */
  font-size: 0.95rem; /* 文字サイズも少し小さめに（任意） */
}

/* 所在地のあとだけ余白を広めに */
.single-meta:last-of-type {
  margin-bottom: 1rem; /* 例: 16pxくらいの余白 */
}

/* タイトルの左余白 */
.site-branding .site-title a {
  margin-left: 8px; /* 好きな値に調整 */
}

.nogitaishi-size {
  margin-top: 4px;
  font-size: 0.95rem;
  color: #374151; /* 灰色系 */
}
.nogitaishi-size strong {
  color: #111827; /* 濃い文字 */
}

.leaflet-popup-content .gita-pop__size{
  font-size:13px; color:#666; margin-bottom:2px;
}

body.single-nogitaishi h1.single-title.gita-title-has-edit{
  display:flex; align-items:center; gap:10px; flex-wrap:wrap;
}

/* 数字入りの青丸ステップ：このページ本文内の ol.steps のみ */
.entry-content ol.steps{
  counter-reset: step;
  margin: .4rem 0 1rem;
  padding-left: 0;
}
.entry-content ol.steps > li{
  list-style: none;            /* 既定のマーカーを消す */
  counter-increment: step;
  position: relative;
  margin: .45rem 0;
  padding-left: 1.9em;         /* 丸ぶんの余白 */
  line-height: 1.7;
}
.entry-content ol.steps > li::before{
  content: counter(step);      /* 数字を表示 */
  position: absolute;
  left: 0; top: .2em;
  width: 1.35em; height: 1.35em;
  border-radius: 50%;
  background: #2563eb;
  color: #fff;
  display: flex; align-items: center; justify-content: center;
  font-weight: 700;
  font-size: .85em;
  line-height: 1;
}
/* ── steps 内の入れ子 UL だけ黒丸を消す ＋ 青チェックを表示 ── */
.page-id-291 .entry-content ol.steps ul{
  list-style: none !important;   /* 黒丸を消す */
  margin: .25rem 0 .5rem;
  padding-left: 0;
}
.page-id-291 .entry-content ol.steps ul li{
  position: relative;
  padding-left: 1.6em;           /* チェック分の余白 */
  margin: .25rem 0;
}
.page-id-291 .entry-content ol.steps ul li::before{
  content: "✔";
  position: absolute;
  left: 0; top: .1em;
  color: #2563eb;                /* 青チェック */
  font-weight: 700;
}

/* ガイドページ：上部の大きいページタイトルを消す */
.page-id-291 .entry-header .entry-title,
.page-id-291 .entry-title,
.page-id-291 .ast-archive-title {
  display: none !important;
}

/* タイトルを消した分の余白を詰める（お好みで） */
.page-id-291 .site-content .entry-header {
  margin-bottom: 0 !important;
}

/* ── シングル：メタ行の左側の空きを詰める（強制） ───────────────── */
.nogitaishi-content-text .single-meta,
.nogitaishi-content-text .single-meta .meta-item{
  padding-left: 0 !important;   /* テーマの左パディングを打ち消す */
  margin-left: -7px !important;/* ← 詰める量。-6〜-12pxあたりで微調整 */
}

/* ラベル幅はそのまま固定（ズレ防止） */
.nogitaishi-content-text .single-meta .meta-label{
  width: 5em;
  white-space: nowrap;
}

/* 投稿者バッジ（小さめ・詰め気味） */
.gita-author-legend{
  display:flex; flex-wrap:wrap; gap:6px;
  margin:6px 0 12px;               /* 余白も少しだけ */
}
.gita-author-legend .badge{
  font-size:12px;                  /* ← 小さく */
  line-height:1;                   /* 背を低く */
  padding:4px 8px;                 /* ← 細めのpill */
  border-radius:9999px;
  color:#fff;                      /* 白抜き */
  font-weight:600;
  box-shadow:0 1px 0 rgba(0,0,0,.06);
}

/* さらに狭い画面では一段小さく */
@media (max-width:480px){
  .gita-author-legend .badge{
    font-size:11px;
    padding:3px 7px;
  }
}

/* 所在地の後ろに出す「Map」画像ボタン（小さめ） */
.meta-link-mapimg{
  display:inline-block;
  margin-left:4px;      /* 6px → 4px に */
  line-height:0;
  vertical-align:middle;
}
.meta-link-mapimg img{
  height:16px !important;  /* 20px → 16px に */
  width:auto !important;   /* 高さ基準で等倍縮小 */
  border-radius:4px;
  box-shadow:0 1px 2px rgba(0,0,0,.15);
}
.meta-link-mapimg:hover img{ filter:brightness(.95); }

/* シングルページの Map 画像ボタン（小さめ） */
.single-nogitaishi .meta-link-mapimg{
  display:inline-block;
  margin-left:4px;
  line-height:0;
  vertical-align:middle;
}
.single-nogitaishi .meta-link-mapimg img{
  height:14px !important;  /* ← ここでサイズ調整：12〜16px で好みに */
  width:auto !important;
  border-radius:4px;
  box-shadow:0 1px 2px rgba(0,0,0,.15);
}
.single-nogitaishi .meta-link-mapimg:hover img{ filter:brightness(.95); }

/* ── シングル（本文ブロック内の余白を統一） ── */
/* 見出し・本文のデフォルト余白を小さめにそろえる */
.nogitaishi-content-text h3{
  margin: 12px 0 6px !important;
}
.nogitaishi-content-text p{
  margin: 0 0 12px !important;
}

/* メタ情報（所在地など）の最後の行の下余白を地図前と同じに */
.nogitaishi-content-text .single-meta:last-of-type{
  margin-bottom: 12px !important;
}

/* 地図の前の余白を固定（概要があってもなくても変わらない） */
#nogitaishi-single-map{
  margin-top: 12px !important;
  margin-bottom: 8px;         /* ここはお好みで */
}

/* ====== unified search (pill) ====== */
.gita-search{ max-width:760px; margin:18px auto; padding:0 6px; }
.gita-search__inner{
  display:flex; align-items:center; gap:0;
  background:#fff; border:1px solid #e5e7eb;
  border-radius:9999px; overflow:hidden; /* ←一体化のキモ */
  box-shadow:0 8px 24px rgba(0,0,0,.05);
}
.gita-search__icon{
  flex:0 0 42px; height:42px; margin-left:6px;
  background-repeat:no-repeat; background-position:center; background-size:20px 20px;
  opacity:.55;
  /* 16pxの検索アイコン（SVG） */
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' fill='%238890a7'%3E%3Cpath d='M15.5 14h-.79l-.28-.27A6.471 6.471 0 0 0 16 9.5 6.5 6.5 0 1 0 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 5 1.5-1.5-5-5zM9.5 14C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z'/%3E%3C/svg%3E");
}
.gita-search__input{
  flex:1; height:48px; border:0; outline:0; background:transparent;
  font-size:16px; padding:0 10px;
}
.gita-search__input::placeholder{ color:#9aa3af; }
.gita-search__btn{
  height:48px; padding:0 22px; border:0; cursor:pointer;
  background:#2563eb; color:#fff; font-weight:700; letter-spacing:.06em;
  /* 右端だけ丸く、左端は角丸を潰して一体化 */
  border-top-left-radius:0; border-bottom-left-radius:0; border-radius:9999px;
  transition:filter .15s ease, transform .02s ease;
}
.gita-search__btn:hover{ filter:brightness(.96); }
.gita-search__btn:active{ transform:translateY(1px); }

/* 視覚的に非表示（アクセシビリティ用ラベル） */
.sr-only{ position:absolute !important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }

/* モバイル微調整 */
@media (max-width:480px){
  .gita-search{ margin:14px auto; }
  .gita-search__icon{ flex-basis:38px; height:38px; }
  .gita-search__input{ height:44px; font-size:15px; }
  .gita-search__btn{ height:44px; padding:0 18px; }
}

/* 既存フォームの見た目が残る場合のリセット（任意） */
.gita-filter-form{ display:none; } /* 旧フォームを残しているなら非表示に */
