/* JBG CTA-TEST v4 (2026-05-16)
 * Scope: post 2586 のみ (theme functions.php の wp_enqueue_scripts hook 経由・他記事影響ゼロ)
 * Rule: .jbg-cta-test-v2 wrapper class 配下のみに適用
 * 旧 hubspot_full_scoped.css の中身は v4 で完全置換
 */

.jbg-cta-test-v2 {
  font-family: 'Zen Kaku Gothic New', 'Hiragino Sans', sans-serif !important;
  color: #1f1f1f !important;
  line-height: 1.85 !important;
}
.jbg-cta-test-v2 h1 {
  font-family: 'Zen Kaku Gothic New', sans-serif !important;
  font-size: 38px !important;
  font-weight: 700 !important;
  color: #1f1f1f !important;
  line-height: 1.30 !important;
  margin: 0 0 28px !important;
  padding: 0 !important;
  letter-spacing: 0.01em !important;
  border: none !important;
  background: none !important;
  background-color: transparent !important;
  background-image: none !important;
}
.jbg-cta-test-v2 h2 {
  font-size: 26px !important;
  font-weight: 700 !important;
  color: #1f1f1f !important;
  line-height: 1.45 !important;
  margin: 64px 0 24px !important;
  padding: 16px 0 16px 22px !important;
  border: none !important;
  border-left: 6px solid #cb4d97 !important;
  background-color: #fdf6fb !important;
  background-image: linear-gradient(90deg, #fdf6fb 0%, rgba(253,246,251,0) 100%) !important;
  border-radius: 0 4px 4px 0 !important;
}
.jbg-cta-test-v2 h3 {
  font-size: 19px !important;
  font-weight: 700 !important;
  color: #1f1f1f !important;
  margin: 40px 0 16px !important;
  padding: 0 0 0 14px !important;
  border: none !important;
  border-left: 4px solid #cb4d97 !important;
  background: none !important;
  background-color: transparent !important;
  background-image: none !important;
}
.jbg-cta-test-v2 p {
  font-size: 16px !important;
  line-height: 1.9 !important;
  margin: 0 0 20px !important;
  color: #1f1f1f !important;
}
.jbg-cta-test-v2 a { color: #cb4d97; }
.jbg-cta-test-v2 a:hover { color: #8e2a6b; }

/* リスト ─ テーマglobal `ol, ul { list-style: none; }` (style.css line 94-96) を完全 override */
.jbg-cta-test-v2 ul,
.jbg-cta-test-v2 ol {
  font-size: 16px !important;
  line-height: 1.95 !important;
  margin: 0 0 32px !important;
  padding-left: 1.8em !important;
  list-style-position: outside !important;
}
.jbg-cta-test-v2 ul { list-style-type: disc !important; }
.jbg-cta-test-v2 ol { list-style-type: decimal !important; }
.jbg-cta-test-v2 ul > li {
  list-style-type: disc !important;
  display: list-item !important;
  margin-bottom: 6px !important;
  padding-left: 4px !important;
}
.jbg-cta-test-v2 ol > li {
  list-style-type: decimal !important;
  display: list-item !important;
  margin-bottom: 6px !important;
  padding-left: 4px !important;
}
.jbg-cta-test-v2 li::marker {
  color: #6b7280;
  font-weight: 500;
}

/* Inline elements */
.jbg-cta-test-v2 strong { font-weight: 700 !important; }
.jbg-cta-test-v2 em { font-style: italic; }

/* テーブル */
.jbg-cta-test-v2 table {
  width: 100% !important;
  border-collapse: collapse !important;
  margin: 0 0 28px !important;
  font-size: 14.5px !important;
  background-color: #ffffff !important;
}
.jbg-cta-test-v2 thead tr { background-color: #f3f4f6 !important; }
.jbg-cta-test-v2 th {
  padding: 12px 14px !important;
  text-align: left !important;
  border: none !important;
  border-bottom: 2px solid #cb4d97 !important;
  font-weight: 700 !important;
  background-color: #f3f4f6 !important;
  color: #1f1f1f !important;
}
.jbg-cta-test-v2 td {
  padding: 10px 14px !important;
  border: none !important;
  border-bottom: 1px solid #e5e7eb !important;
  background-color: transparent !important;
}
.jbg-cta-test-v2 tbody tr:nth-child(even) td { background-color: #fafafa !important; }
.jbg-cta-test-v2 .jbg-highlight-mid {
  font-weight: 700 !important;
  color: #cb4d97 !important;
}

/* リード文 */
.jbg-cta-test-v2 .jbg-lead { margin: 0 0 20px !important; }
.jbg-cta-test-v2 .jbg-lead-last { margin: 0 0 36px !important; }

/* Answer Placement カード ─ 背景色を強制 */
.jbg-cta-test-v2 .jbg-answer-placement {
  margin: 0 0 40px !important;
  padding: 24px 28px !important;
  background-color: #fdf6fb !important;
  background-image: none !important;
  border: none !important;
  border-left: 5px solid #cb4d97 !important;
  border-radius: 6px !important;
  box-shadow: 0 2px 8px rgba(0,0,0,0.04) !important;
}
.jbg-cta-test-v2 .jbg-answer-placement p { margin: 0 !important; }
.jbg-cta-test-v2 .jbg-answer-label {
  margin: 0 0 8px !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  color: #cb4d97 !important;
  letter-spacing: 0.10em !important;
}
.jbg-cta-test-v2 .jbg-answer-text {
  margin: 0 !important;
  font-size: 15.5px !important;
  line-height: 1.85 !important;
  color: #1f1f1f !important;
}

/* TOC */
.jbg-cta-test-v2 .jbg-toc {
  margin: 0 0 48px !important;
  padding: 22px 26px !important;
  background-color: #f8f9fa !important;
  background-image: none !important;
  border-radius: 6px !important;
  border: 1px solid #ececec !important;
}
.jbg-cta-test-v2 .jbg-toc p { margin: 0 0 12px !important; }
.jbg-cta-test-v2 .jbg-toc-label {
  margin: 0 0 12px !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  color: #4b5563 !important;
  letter-spacing: 0.05em !important;
}
.jbg-cta-test-v2 .jbg-toc ol {
  margin: 0 !important;
  padding-left: 1.8em !important;
  font-size: 14.5px !important;
  line-height: 2.0 !important;
  list-style-type: decimal !important;
}
.jbg-cta-test-v2 .jbg-toc li { margin-bottom: 0 !important; }
.jbg-cta-test-v2 .jbg-toc a {
  color: #1f1f1f !important;
  text-decoration: none !important;
  border-bottom: 1px dotted #9ca3af !important;
  transition: color 0.18s ease, border-color 0.18s ease !important;
}
.jbg-cta-test-v2 .jbg-toc a:hover {
  color: #cb4d97 !important;
  border-bottom-color: #cb4d97 !important;
}

/* 文中CTAカード ─ デザイン強化 + ショルダーコピーを目立たせる */
.jbg-cta-test-v2 .jbg-inline-cta {
  margin: 48px 0 !important;
  padding: 28px 28px 26px !important;
  background-color: #fdf6fb !important;
  background-image: linear-gradient(135deg, #fdf6fb 0%, #fef3f8 100%) !important;
  border: 1.5px solid #f0c7e0 !important;
  border-radius: 14px !important;
  box-shadow: 0 6px 20px rgba(203,77,151,0.12) !important;
}
.jbg-cta-test-v2 .jbg-inline-cta p { color: #1f1f1f !important; }
.jbg-cta-test-v2 .jbg-inline-cta-shoulder {
  margin: 0 0 14px !important;
  font-size: 17px !important;
  font-weight: 700 !important;
  color: #8e2a6b !important;
  letter-spacing: 0.02em !important;
  line-height: 1.5 !important;
}
.jbg-cta-test-v2 .jbg-inline-cta-desc {
  margin: 0 0 22px !important;
  font-size: 15px !important;
  line-height: 1.85 !important;
  color: #1f1f1f !important;
}
.jbg-cta-test-v2 .jbg-inline-cta-btn-wrap {
  text-align: center !important;
  margin: 0 !important;
}

/* CTAボタン共通 ─ グラデ強制 + box-shadow */
.jbg-cta-test-v2 .jbg-cta-button {
  display: inline-block !important;
  padding: 16px 36px !important;
  background-color: #cb4d97 !important;
  background-image: linear-gradient(135deg, #cb4d97 0%, #a13a78 100%) !important;
  color: #ffffff !important;
  font-weight: 700 !important;
  font-size: 15px !important;
  text-decoration: none !important;
  border: none !important;
  border-radius: 10px !important;
  box-shadow: 0 6px 16px rgba(203,77,151,0.32) !important;
  letter-spacing: 0.02em !important;
  transition: transform 0.18s ease, box-shadow 0.18s ease !important;
  line-height: 1.4 !important;
}
.jbg-cta-test-v2 .jbg-cta-button:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 12px 28px rgba(203,77,151,0.42) !important;
  color: #ffffff !important;
}
.jbg-cta-test-v2 .jbg-cta-button:visited { color: #ffffff !important; }
.jbg-cta-test-v2 .jbg-cta-button:active { color: #ffffff !important; }

/* FAQ */
.jbg-cta-test-v2 .jbg-faq-item { margin: 0 0 24px !important; }
.jbg-cta-test-v2 .jbg-faq-q {
  font-size: 16.5px !important;
  font-weight: 700 !important;
  color: #1f1f1f !important;
  margin: 0 0 10px !important;
}
.jbg-cta-test-v2 .jbg-faq-a {
  font-size: 16px !important;
  line-height: 1.9 !important;
  margin: 0 !important;
  color: #1f1f1f !important;
}

/* 末尾CTAカード ─ モック完全準拠・グラデ強制 */
.jbg-cta-test-v2 .jbg-footer-cta-wrap { margin: 72px 0 24px !important; }
.jbg-cta-test-v2 .jbg-footer-cta-card {
  max-width: 680px !important;
  margin: 0 auto !important;
  border-radius: 14px !important;
  overflow: hidden !important;
  box-shadow: 0 14px 40px rgba(0,0,0,0.10) !important;
  border: 1px solid #f0d4e6 !important;
  background-color: #ffffff !important;
}
.jbg-cta-test-v2 .jbg-footer-cta-hero {
  background-color: #cb4d97 !important;
  background-image: linear-gradient(135deg, #cb4d97 0%, #8e2a6b 100%) !important;
  padding: 26px 26px 22px !important;
}
.jbg-cta-test-v2 .jbg-footer-cta-badge {
  display: inline-block !important;
  padding: 4px 10px !important;
  background-color: rgba(255,255,255,0.22) !important;
  background-image: none !important;
  border: none !important;
  border-radius: 4px !important;
  font-size: 11px !important;
  letter-spacing: 0.12em !important;
  color: #ffffff !important;
  font-weight: 700 !important;
}
.jbg-cta-test-v2 .jbg-footer-cta-title {
  font-family: 'Zen Kaku Gothic New', sans-serif !important;
  font-size: 23px !important;
  font-weight: 700 !important;
  color: #ffffff !important;
  line-height: 1.40 !important;
  margin: 14px 0 10px !important;
  padding: 0 !important;
  border: none !important;
  background: none !important;
  background-color: transparent !important;
  background-image: none !important;
  display: block !important;
}
.jbg-cta-test-v2 .jbg-footer-cta-desc {
  font-family: 'Zen Kaku Gothic New', sans-serif !important;
  font-size: 14px !important;
  color: rgba(255,255,255,0.96) !important;
  line-height: 1.75 !important;
  margin: 0 !important;
}
.jbg-cta-test-v2 .jbg-footer-cta-body {
  background-color: #ffffff !important;
  padding: 20px 26px 24px !important;
}
.jbg-cta-test-v2 .jbg-footer-cta-checks {
  margin: 0 0 20px !important;
  padding: 0 !important;
  list-style: none !important;
  list-style-type: none !important;
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 8px 16px !important;
}
.jbg-cta-test-v2 .jbg-footer-cta-checks li {
  font-size: 13.5px !important;
  color: #1f1f1f !important;
  line-height: 1.65 !important;
  padding-left: 0 !important;
  margin: 0 !important;
  list-style-type: none !important;
  display: block !important;
}
.jbg-cta-test-v2 .jbg-footer-cta-checks li::marker { content: '' !important; }
.jbg-cta-test-v2 .jbg-footer-cta-btn-wrap {
  text-align: center !important;
  margin: 0 !important;
}
.jbg-cta-test-v2 .jbg-cta-button-lg {
  padding: 16px 40px !important;
  font-size: 15.5px !important;
  border-radius: 10px !important;
  box-shadow: 0 8px 20px rgba(203,77,151,0.40) !important;
}
.jbg-cta-test-v2 .jbg-cta-button-lg:hover {
  box-shadow: 0 14px 32px rgba(203,77,151,0.50) !important;
}

/* モバイル */
@media (max-width: 640px) {
  .jbg-cta-test-v2 h1 { font-size: 26px !important; line-height: 1.35 !important; }
  .jbg-cta-test-v2 h2 { font-size: 20px !important; margin: 48px 0 20px !important; padding: 14px 0 14px 18px !important; }
  .jbg-cta-test-v2 h3 { font-size: 17px !important; margin: 32px 0 14px !important; }
  .jbg-cta-test-v2 p { font-size: 15.5px !important; }
  .jbg-cta-test-v2 table { font-size: 13px !important; }
  .jbg-cta-test-v2 th, .jbg-cta-test-v2 td { padding: 9px 10px !important; }
  .jbg-cta-test-v2 .jbg-inline-cta { padding: 22px 20px 20px !important; }
  .jbg-cta-test-v2 .jbg-inline-cta-shoulder { font-size: 15.5px !important; }
  .jbg-cta-test-v2 .jbg-footer-cta-hero { padding: 22px 18px 18px !important; }
  .jbg-cta-test-v2 .jbg-footer-cta-title { font-size: 20px !important; }
  .jbg-cta-test-v2 .jbg-footer-cta-body { padding: 18px 18px 20px !important; }
  .jbg-cta-test-v2 .jbg-footer-cta-checks { grid-template-columns: 1fr !important; }
  .jbg-cta-test-v2 .jbg-cta-button-lg { padding: 14px 30px !important; font-size: 14.5px !important; }
}
