/* ご当地イベント（v3.2.4）。文字はテーマ本文と同じ大きさ。要素名つきで書く（詳細度で負けないように） */
div.gtd-gev [hidden], span.gtd-gev [hidden], div.gtd-gev[hidden] { display: none !important; }

/* 開催中・開催予定のカード */
div.gtd-gev-now div.gtd-gev-card { border: 1px solid #e3c4d2; border-left: 6px solid #d6336c; border-radius: 6px; padding: 10px 12px; margin: 0 0 12px; background: #fff; }
div.gtd-gev-now div.gtd-gev-sec[data-sec="pre"] div.gtd-gev-card { border-left-color: #f0a6c0; background: #fffafc; }
/* 「開催中」「開催予定」の小見出し（3.2.2 から p。目次に載せないため）。
   値はサイトの H3（Cocoon：22px・太字・下線 約2.7px #202020・余白 6px 15px）を写したもの。テーマの見出しを変えたらここも */
div.gtd-gev-now p.gtd-gev-sh { font-weight: 700; color: #333; line-height: 1.25; margin: 45px 0 1.62em; }
div.gtd-gev-now p.gtd-gev-sh-h3 { font-size: 1.2222em; padding: 6px 15px; border-bottom: 2.6667px solid #202020; }
div.gtd-gev-now p.gtd-gev-sh-h4 { font-size: 1.1em; padding: 4px 10px; border-left: 4px solid #202020; margin-top: 30px; }
div.gtd-gev-now p.gtd-gev-sh-h5 { font-size: 1em; margin: 20px 0 .8em; }
div.gtd-gev-now p.gtd-gev-ttl { margin: 0 0 4px; font-weight: 700; display: flex; flex-wrap: wrap; gap: 4px 10px; align-items: baseline; }
/* 3.2.4 母艦（split）：名前はカードの外の本物の見出し（テーマの H3 の見た目のまま）。リンクの色だけ見出しの色に */
div.gtd-gev-now .gtd-gev-name a { color: inherit; text-decoration: none; }
div.gtd-gev-now .gtd-gev-name a:hover { text-decoration: underline; }
div.gtd-gev-now div.gtd-gev-item div.gtd-gev-card { margin-bottom: 20px; }
div.gtd-gev-now .gtd-gev-name span.gtd-gev-left { font-size: .75em; font-weight: 700; vertical-align: middle; margin-left: .3em; padding: 2px 12px; white-space: nowrap; }   /* 3.2.10 前のカードの日数と同じくらいの大きさ */
div.gtd-gev-now span.gtd-gev-gleft { display: inline-block; margin-left: .6em; font-size: .9em; font-weight: 700; color: #fff; background: #d6336c; border-radius: 999px; padding: 0 10px; white-space: nowrap; }   /* 3.2.11 現地開催までの日数 */
div.gtd-gev-now span.gtd-gev-gleft:empty { display: none; }
div.gtd-gev-now p.gtd-gev-secempty { margin: 0 0 16px; }
div.gtd-gev-now span.gtd-gev-left { font-size: .9em; color: #fff; background: #d6336c; border-radius: 999px; padding: 0 10px; }
div.gtd-gev-now span.gtd-gev-left:empty { display: none; }
div.gtd-gev-now p.gtd-gev-st { margin: 0 0 6px; font-weight: 700; color: #a61e4d; }
div.gtd-gev-now p.gtd-gev-st:empty { display: none; }
div.gtd-gev-now dl.gtd-gev-dl { display: grid; grid-template-columns: auto 1fr; gap: 2px 10px; margin: 0; }
div.gtd-gev-now dl.gtd-gev-dl dt { color: #666; white-space: nowrap; }
div.gtd-gev-now dl.gtd-gev-dl dd { margin: 0; }
div.gtd-gev-now p.gtd-gev-map { margin: 6px 0 0; text-align: right; }
div.gtd-gev-now p.gtd-gev-empty, div.gtd-gev-now p.gtd-gev-one { margin: 0 0 12px; }
div.gtd-gev-now span.gtd-gev-usual { color: #666; font-size: .9em; }

/* 3.2.1 カードの画像（「◯◯とは」の最初の画像／アイキャッチ） */
div.gtd-gev-now div.gtd-gev-card.is-side { display: flex; gap: 12px; align-items: flex-start; }
div.gtd-gev-now div.gtd-gev-card.is-side a.gtd-gev-img { flex: 0 0 30%; max-width: 180px; }
div.gtd-gev-now div.gtd-gev-card.is-side div.gtd-gev-main { flex: 1 1 auto; min-width: 0; }
div.gtd-gev-now div.gtd-gev-card a.gtd-gev-img { display: block; line-height: 0; }
div.gtd-gev-now div.gtd-gev-card a.gtd-gev-img img { width: 100%; height: auto; max-height: 220px; object-fit: contain; border-radius: 4px; }
div.gtd-gev-now div.gtd-gev-card.is-wide a.gtd-gev-img { margin: 0 0 8px; }
div.gtd-gev-now div.gtd-gev-card.is-wide a.gtd-gev-img img { max-height: 160px; }
@media (max-width: 480px) { div.gtd-gev-now div.gtd-gev-card.is-side dl.gtd-gev-dl { grid-template-columns: 1fr; } div.gtd-gev-now div.gtd-gev-card.is-side dl.gtd-gev-dl dt { margin-top: 2px; } }

/* 各記事の冒頭の帯 */
div.gtd-gev-nav { margin: 0 0 16px; }
div.gtd-gev-nav p.gtd-gev-band { margin: 0 0 6px; padding: 8px 12px; border-radius: 6px; background: #f3f3f3; }
div.gtd-gev-nav p.gtd-gev-band.is-now { background: #fde8ef; border-left: 6px solid #d6336c; }
div.gtd-gev-nav p.gtd-gev-band.is-pre { background: #fff4f8; border-left: 6px solid #f0a6c0; }
div.gtd-gev-nav p.gtd-gev-band.is-end { background: #f3f3f3; border-left: 6px solid #aaa; }
div.gtd-gev-nav p.gtd-gev-about { margin: 0; font-size: .9em; color: #555; }

/* 表（横にはみ出すときは表だけが動く） */
div.gtd-gev-tbl div.gtd-gev-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; }
div.gtd-gev-tbl table { border-collapse: collapse; min-width: 100%; }
div.gtd-gev-tbl table th { background: #333; color: #fff; white-space: nowrap; }
div.gtd-gev-tbl table th, div.gtd-gev-tbl table td { border: 1px solid #ccc; padding: 6px 8px; vertical-align: top; }
div.gtd-gev-tbl table td.gtd-gev-c { text-align: center; }

/* 管理者だけの赤字 */
div.gtd-gev div.gtd-gev-adm { color: #a00; font-weight: 700; border: 2px solid #a00; padding: 8px; margin: 8px 0; font-size: .9em; }

/* 3.2.12 各記事の末尾「ほかの開催中・開催予定のご当地イベント」（題は見出しタグにしない＝目次に載せない） */
div.gtd-gev-more { margin: 32px 0 24px; padding: 14px 16px 4px; border: 1px solid #e3c4d2; border-radius: 8px; background: #fff7fa; }
div.gtd-gev-more p.gtd-gev-moreh { margin: 0 0 10px; font-size: 1.15em; font-weight: 700; color: #a61e4d; }
div.gtd-gev-more p.gtd-gev-moresh { margin: 0 0 6px; font-weight: 700; color: #666; font-size: .9em; }
div.gtd-gev-more p.gtd-gev-hub { margin: 0 0 10px; text-align: right; font-weight: 700; }
div.gtd-gev-more:has(> p.gtd-gev-one:not([hidden])) { padding-bottom: 0; background: none; border: 0; margin: 16px 0; }

/* 3.3.0 近くのご当地スポット */
div.gtd-gev-near { margin: 16px 0 24px; padding: 12px 14px; border: 1px solid #d9d2c4; border-radius: 8px; background: #fbf9f4; }
div.gtd-gev-near p.gtd-gev-nearh { margin: 0 0 8px; font-weight: 700; font-size: 1.1em; }
div.gtd-gev-near span.gtd-gev-nearsub { font-weight: 400; font-size: .85em; color: #666; margin-left: .3em; }
div.gtd-gev-near p.gtd-gev-neartabs { margin: 0 0 8px; display: flex; gap: 6px; }
div.gtd-gev-near p.gtd-gev-neartabs[hidden] { display: none; }
div.gtd-gev-near p.gtd-gev-neartabs button { font: inherit; font-size: .9em; padding: 2px 12px; border: 1px solid #b9ad94; border-radius: 999px; background: #fff; color: #555; cursor: pointer; }
div.gtd-gev-near p.gtd-gev-neartabs button.is-on { background: #6b5a3a; border-color: #6b5a3a; color: #fff; }
div.gtd-gev-near ol.gtd-gev-nearlist { margin: 0 0 6px; padding-left: 1.6em; }
div.gtd-gev-near ol.gtd-gev-nearlist li { margin: 0 0 4px; }
div.gtd-gev-near ol.gtd-gev-nearlist li a { font-weight: 700; }
div.gtd-gev-near span.gtd-gev-nearcat { margin-left: .5em; font-size: .85em; color: #666; }
div.gtd-gev-near span.gtd-gev-neark { margin-left: .5em; font-size: .9em; }
div.gtd-gev-near span.gtd-gev-nearv { margin-left: .5em; font-size: .8em; color: #2b8a3e; border: 1px solid #2b8a3e; border-radius: 4px; padding: 0 5px; white-space: nowrap; }
div.gtd-gev-near p.gtd-gev-nearnone { margin: 0 0 6px; }
div.gtd-gev-near p.gtd-gev-nearnote { margin: 0; font-size: .8em; color: #777; }

/* 3.4.0 鉄道コラボ：駅ごと（押して開く） */
div.gtd-gev-near details.gtd-gev-nearst { margin: 0 0 6px; border-top: 1px dashed #d9d2c4; padding-top: 6px; }
div.gtd-gev-near details.gtd-gev-nearst summary { cursor: pointer; font-weight: 700; padding: 2px 0; }
div.gtd-gev-near details.gtd-gev-nearst[open] summary { margin-bottom: 4px; }

/* ===== 3.6.26 [gotouti_kotoshi] 各記事の「今年の開催」（帯＋表＋場所の画像） ===== */
div.gtd-gev-kotoshi { margin: 0 0 1.6em; }
div.gtd-gev-kotoshi div.gtd-gev-nav { margin: 0 0 10px; }
div.gtd-gev-kotoshi p.gtd-gev-knext { margin: 0 0 10px; font-weight: 700; color: #a61e4d; }
div.gtd-gev-kotoshi div.gtd-gev-kbody { border: 1px solid #e3c4d2; border-left: 6px solid #f0a6c0; border-radius: 6px; padding: 10px 12px; margin: 0 0 12px; background: #fffafc; }
div.gtd-gev-kotoshi[data-st="now"] div.gtd-gev-kbody { border-left-color: #d6336c; background: #fff; }
div.gtd-gev-kotoshi[data-st="end"] div.gtd-gev-kbody { border-left-color: #c5ccd3; background: #f8f9fa; }
div.gtd-gev-kotoshi dl.gtd-gev-dl { display: grid; grid-template-columns: auto 1fr; gap: 2px 10px; margin: 0; }
div.gtd-gev-kotoshi dl.gtd-gev-dl dt { color: #666; white-space: nowrap; }
div.gtd-gev-kotoshi dl.gtd-gev-dl dd { margin: 0; }
div.gtd-gev-kotoshi span.gtd-gev-gleft { display: inline-block; margin-left: .6em; font-size: .9em; font-weight: 700; color: #fff; background: #d6336c; border-radius: 999px; padding: 0 10px; white-space: nowrap; }
div.gtd-gev-kotoshi span.gtd-gev-gleft:empty { display: none; }
/* 場所の画像：地理院タイルを並べた小さな地図。全体が出陣マップへのリンク */
div.gtd-gev-mm { margin: 0 0 4px; }
div.gtd-gev-mm a.gtd-gev-mmlink { display: block; position: relative; height: 220px; overflow: hidden; border: 1px solid #ccd2da; border-radius: 8px; background: #eef1f4; text-decoration: none; color: inherit; }
div.gtd-gev-mm span.gtd-gev-mmc { position: absolute; left: 50%; top: 50%; width: 0; height: 0; }
div.gtd-gev-mm span.gtd-gev-mmc img { position: absolute; width: 256px !important; height: 256px !important; max-width: none !important; margin: 0 !important; border: 0 !important; box-shadow: none !important; border-radius: 0 !important; }
div.gtd-gev-mm span.gtd-gev-mmpin { position: absolute; transform: translate(-50%, -50%); display: flex; align-items: center; gap: 3px; white-space: nowrap; pointer-events: none; }
div.gtd-gev-mm b.gtd-gev-mmsq { display: inline-block; min-width: 20px; height: 20px; padding: 0 3px; box-sizing: border-box; border: 2px solid #fff; border-radius: 4px; color: #fff; font-size: 11px; line-height: 16px; text-align: center; font-weight: 700; box-shadow: 0 1px 3px rgba(0,0,0,.35); }
div.gtd-gev-mm span.gtd-gev-mmpin.is-ev { z-index: 2; transform: translate(-11px, -100%); align-items: flex-start; }
div.gtd-gev-mm b.gtd-gev-mmtri { display: block; width: 0; height: 0; border-left: 11px solid transparent; border-right: 11px solid transparent; border-top: 22px solid #be185d; filter: drop-shadow(0 1px 2px rgba(0,0,0,.4)); }
div.gtd-gev-mm span.gtd-gev-mmlb { background: rgba(255,255,255,.95); border: 1px solid #be185d; border-radius: 4px; padding: 1px 6px; font-size: 12px; font-weight: 700; color: #1f2430; box-shadow: 0 1px 3px rgba(0,0,0,.18); }
div.gtd-gev-mm i.gtd-gev-mmmore { font-style: normal; font-size: 11px; font-weight: 700; color: #39424d; background: rgba(255,255,255,.92); border-radius: 3px; padding: 0 3px; margin-left: 3px; }
div.gtd-gev-mm span.gtd-gev-mmgo { position: absolute; right: 8px; bottom: 8px; z-index: 3; background: #1e3a8a; color: #fff; font-weight: 700; font-size: 13px; padding: 6px 12px; border-radius: 8px; box-shadow: 0 1px 4px rgba(0,0,0,.3); }
div.gtd-gev-mm a.gtd-gev-mmlink:hover span.gtd-gev-mmgo { background: #172e6e; }
div.gtd-gev-mm p.gtd-gev-mmsrc { margin: 2px 0 0; font-size: 11px; color: #6b7280; text-align: right; }
/* v3.6.29 見出しにした近くのご当地スポット：見出しの下の箱は上の余白を詰める。箱の中の「（◯◯から）」だけの行 */
div.gtd-gev-near p.gtd-gev-nearh:empty { display: none; }
.gtd-gev-nearhx + div.gtd-gev-near p.gtd-gev-nearh { margin-bottom: 6px; }
.gtd-gev-nearhx + div.gtd-gev-near span.gtd-gev-nearsub { margin-left: 0; }
/* v3.6.32 「今年の開催」：帯の代わりに表の箱の中へ（開催中の状態・本文の開催概要へのリンク） */
div.gtd-gev-kotoshi p.gtd-gev-kst { margin: 0 0 6px; font-weight: 700; color: #a61e4d; }
div.gtd-gev-kotoshi p.gtd-gev-kmore { margin: 6px 0 0; text-align: right; }
/* v3.6.36 [gotouti_more level="h3"]：本物の見出しの下。外側のピンクの箱はやめ、カードだけ並べる */
div.gtd-gev-more.is-hd { margin: 0 0 24px; padding: 0; border: 0; background: none; }
div.gtd-gev-more.is-hd p.gtd-gev-one { margin: 0 0 16px; text-align: left; font-weight: 400; }
div.gtd-gev-more.is-hd span.gtd-gev-morenone { display: block; margin-bottom: 4px; }
div.gtd-gev-more.is-hd p.gtd-gev-one a { font-weight: 700; }
/* v3.6.37 母艦（まとめ記事）への導入のカード。Cocoon のブログカードに近い形（画像＋タイトル） */
a.gtd-gev-mcard { display: flex; gap: 12px; align-items: center; margin: 0 0 28px; padding: 10px; border: 1px solid #d6dbe0; border-radius: 8px; background: #fff; color: inherit !important; text-decoration: none !important; box-shadow: 0 1px 3px rgba(0,0,0,.08); }
a.gtd-gev-mcard:hover { background: #f8f9fb; }
a.gtd-gev-mcard span.gtd-gev-mcimg { flex: 0 0 160px; }
a.gtd-gev-mcard span.gtd-gev-mcimg img { display: block; width: 160px; height: 90px; object-fit: cover; border-radius: 4px; margin: 0; }
a.gtd-gev-mcard span.gtd-gev-mctxt { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
a.gtd-gev-mcard span.gtd-gev-mctxt b { line-height: 1.5; }
a.gtd-gev-mcard span.gtd-gev-mcgo { color: #1e3a8a; font-weight: 700; font-size: .9em; }
@media (max-width: 480px) { a.gtd-gev-mcard span.gtd-gev-mcimg { flex-basis: 110px; } a.gtd-gev-mcard span.gtd-gev-mcimg img { width: 110px; height: 62px; } }
/* v3.6.39 周辺のご当地スポット：そこで手に入る武将（名城・古戦場・名湯）。名前の下の行に小さく */
div.gtd-gev-near span.gtd-gev-nearbu { display: block; font-size: .88em; color: #4b535e; }
div.gtd-gev-near ol.gtd-gev-nearlist li a.gtd-gev-nearbua { font-weight: 400; }
/* v3.6.44 名城・古戦場・名湯・街道・武将の記事の「近くで開催中・開催予定のご当地イベント」 */
div.gtd-gev-nearev { margin: 0 0 20px; padding: 10px 14px; border: 1px solid #e3c4d2; border-left: 6px solid #d6336c; border-radius: 6px; background: #fff7fa; }
div.gtd-gev-nearev p.gtd-gev-nearevh { margin: 0 0 6px; font-weight: 700; color: #a61e4d; }
div.gtd-gev-nearev ul { margin: 0; padding: 0; list-style: none; }
div.gtd-gev-nearev li { margin: 0 0 4px; line-height: 1.6; }
div.gtd-gev-nearev li > a { font-weight: 700; margin-right: .5em; }
div.gtd-gev-nearev span.gtd-gev-nearevw { margin-right: .5em; }
div.gtd-gev-nearev span.gtd-gev-nearevw b { display: inline-block; font-size: .85em; color: #fff; background: #f0a6c0; border-radius: 4px; padding: 0 6px; margin-right: .3em; }
div.gtd-gev-nearev span.gtd-gev-nearevw b.is-now { background: #d6336c; }
div.gtd-gev-nearev span.gtd-gev-nearevd { font-size: .88em; color: #5a6673; }
