/* ── オクトーバーフェスト：ページ共通 ── */
h1, h2, h3, h4 {
  all: unset;
  display: block;
  font-size: 1em;
  font-weight: normal;
  margin: 0;
  padding: 0;
  color: inherit;
}
h3 { display: none; }
.random_img { display: none; }

ul.wp-block-latest-posts__list.news_list.wp-block-latest-posts li {
  padding: 8px 0 2px;
  color: #7D4634;
  border-bottom: 1px dotted #7D4634;
}
.is-resized:hover { border: 2px solid blue; }

:root {
  --main-color: #B43E2A;
  --accent-color: #F5C542;
  --bg-color: #FFF8F0;
  --text-color: #333;
  --max-width: min(90%, 1200px);
}
body {
  font-family: "Noto Sans JP", sans-serif;
  margin: 0;
  background: var(--bg-color);
  color: var(--text-color);
  line-height: 1.6;
}
.page-title {
  font-family: "Merriweather", serif;
  font-size: clamp(2rem, 5vw, 3.5rem);
  font-weight: 700;
  text-align: center;
  color: white;
  text-shadow: 2px 2px 6px rgba(0,0,0,0.5);
  position: relative;
  padding: 0.5em 0;
}
.page-title::before, .page-title::after {
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  width: 60%;
  height: 4px;
  background: var(--accent-color);
}
.page-title::before { top: 0; }
.page-title::after  { bottom: 0; }

.section-title {
  font-family: "Merriweather", serif;
  font-size: clamp(1.5rem, 3vw, 2.2rem);
  font-weight: 700;
  color: var(--main-color);
  border-left: 6px solid var(--accent-color);
  padding-left: 0.6em;
  background: linear-gradient(to right, rgba(245,197,66,0.15), transparent);
  margin-bottom: 1rem;
}
header {
  background: url('https://kashiwa-village.com/wp-content/uploads/2025/08/IMG_8974-3-scaled-1.jpg') center/cover no-repeat;
  color: white;
  text-align: center;
  padding: clamp(2rem, 5vw, 6rem) 1rem;
  position: relative;
}
header::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.4);
}
header > * { position: relative; z-index: 1; }
header p { font-size: clamp(1rem, 2.5vw, 1.5rem); }

.cta-buttons {
  display: flex;
  gap: 1rem;
  justify-content: center;
  flex-wrap: wrap;
  margin-top: 1.5rem;
}
.cta-buttons a {
  background: var(--accent-color);
  color: #000;
  padding: 0.75em 1.5em;
  border-radius: 4px;
  font-weight: bold;
  text-decoration: none;
}
section {
  max-width: var(--max-width);
  margin: auto;
  padding: clamp(2rem, 4vw, 4rem) 1rem;
}
@media (max-width: 768px) {
  .video-text { grid-template-columns: 1fr; }
}
.highlights {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 1rem;
  text-align: center;
}
.highlight-icon { font-size: 2rem; }
.callout {
  background: var(--main-color);
  color: white;
  padding: 2rem 1rem;
  border-radius: 8px;
}
footer { background: #333; color: white; padding: 2rem 1rem; text-align: center; }
footer a { color: var(--accent-color); }

/* ── ステージ・企画タブ ── */
.card {
  background: #fdfdfd;
  border-radius: 10px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.08);
  margin-bottom: 40px;
  border: 1px solid #ccc;
  overflow: hidden;
  max-width: 960px;
  margin: 0 auto;
}
.card caption {
  font-size: 1.1em;
  font-weight: 600;
  background: #eaeaea;
  padding: 8px 12px;
  color: #444;
  text-align: left;
  border-bottom: 1px solid #ccc;
}
th, td {
  border: 2px solid #ddd;
  padding: 10px;
  text-align: center;
  font-size: 0.95em;
}
th { background: #f5f5f5; font-weight: bold; color: #333; }
td[rowspan] { background: #f9f9f9; vertical-align: top; font-size: 0.9em; line-height: 1.6; }
tr:hover { background-color: #f0f0f0; transition: background 0.3s ease; }
th:nth-child(1), td:nth-child(1) { width: 50px; }
th:nth-child(2), td:nth-child(2) { width: 240px; }
th:nth-child(3), td:nth-child(3) { width: 100px; }
th:nth-child(4), td:nth-child(4) { width: 300px; }

.tabs { max-width: 960px; margin: 0 auto; }
.tab-buttons {
  display: flex;
  list-style: none;
  padding: 0;
  margin-bottom: 16px;
  border-bottom: 1px solid #ccc;
}
.tab-buttons li {
  padding: 10px 20px;
  cursor: pointer;
  background: #f0f0f0;
  color: #333;
  border: 1px solid #ccc;
  border-bottom: none;
  margin-right: 4px;
  border-radius: 6px 6px 0 0;
  font-size: 0.95em;
}
.tab-buttons li.active { background: #fff; font-weight: bold; color: #000; }
.tab-content { display: none; }
.tab-content.active { display: block; }
.tab-buttons li[data-tab="tab-25"] { background: #fff8f0; color: #5a2e1f; }
.tab-buttons li[data-tab="tab-26"] { background: #f0f8f8; color: #1f3f3f; }
.tab-buttons li.active[data-tab="tab-25"] { background: #e6cfc2; border-bottom: 2px solid #b85c38; }
.tab-buttons li.active[data-tab="tab-26"] { background: #cce0e0; border-bottom: 2px solid #3b6e6e; }
#tab-25 .card caption { background: #f5e3da; color: #5a2e1f; }
#tab-26 .card caption { background: #e0f0f0; color: #1f3f3f; }
td:nth-child(2) { font-size: 1.1em; font-weight: 600; color: #222; }
td:nth-child(3) { font-size: 0.85em; color: #666; }
.hanabi-etc { font-size: 0.8em; font-weight: 300; }
