/* ================================================================
   Kireidelab — キャンペーンLP（ブロックエディター本文）
   ================================================================ */

.camp-content { max-width: 860px; padding-top: 112px; padding-bottom: 96px; }

.camp-content > * + * { margin-top: 1.6em; }

.camp-content h1,
.camp-content h2,
.camp-content h3,
.camp-content h4 {
  font-family: var(--font-mincho);
  font-weight: 500;
  letter-spacing: 0.06em;
  line-height: 1.5;
  color: var(--color-text);
}
.camp-content h1 { font-size: clamp(28px, 4vw, 40px); }
.camp-content h2 { font-size: clamp(24px, 3.2vw, 32px); }
.camp-content h3 { font-size: clamp(20px, 2.6vw, 24px); }
.camp-content h4 { font-size: 18px; }

.camp-content p { line-height: 1.9; }

.camp-content ul,
.camp-content ol { padding-left: 1.4em; }
.camp-content li + li { margin-top: 0.4em; }

.camp-content figure { margin: 0; }
.camp-content img { max-width: 100%; height: auto; border-radius: 12px; }
.camp-content figcaption {
  margin-top: 8px;
  font-size: 13px;
  color: var(--color-text-light);
  text-align: center;
}

/* ボタン: コアの Buttons ブロックをサイトの .btn に寄せる */
.camp-content .wp-block-button__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 14px 32px;
  border-radius: 100px;
  font-family: var(--font-mincho);
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.08em;
  text-align: center;
  white-space: nowrap;
  background: var(--color-gold);
  color: var(--color-white);
  border: 1.5px solid var(--color-gold);
  transition: all var(--transition);
}
.camp-content .wp-block-button__link:hover {
  background: #b5923e;
  border-color: #b5923e;
  opacity: 1;
}
.camp-content .is-style-outline .wp-block-button__link {
  background: transparent;
  color: var(--color-text);
  border-color: var(--color-beige-mid);
}
.camp-content .is-style-outline .wp-block-button__link:hover {
  border-color: var(--color-gold);
  color: var(--color-gold);
  background: transparent;
}
.camp-content .wp-block-buttons { gap: 16px; }

@media (max-width: 600px) {
  .camp-content { padding-top: 96px; padding-bottom: 64px; }
}
