/**
 * 自分で稼ぐ力 LP — jibun_de_kasegu_chikara.css
 *
 * 設計思想:
 *   - #jdkc-root 配下のみ完全独立デザイン（スコープ型リセット）
 *   - Cocoon / entry-content / article 干渉を完全排除
 *   - CSS カスタムプロパティで全色・全値を管理
 *   - モバイルファースト + clamp() 流体タイポグラフィ
 *   - アニメーションは opacity / transform / filter のみ
 *   - カラーコンセプト: ダークグリーン × オリーブ × セージ × ゴールド × アイボリー
 *   - ターゲット: 20代女性副業実践者向け、上品・洗練・信頼感
 *
 * @package cocoon-child-master
 */

/* ================================================================
   1. COCOON 干渉リセット — all:unset 廃止・具体的プロパティで制御
   ================================================================ */

.jibun-de-kasegu-chikara .article,
.jibun-de-kasegu-chikara .entry-content,
.jibun-de-kasegu-chikara .main,
.jibun-de-kasegu-chikara .content,
.jibun-de-kasegu-chikara .wrap,
.jibun-de-kasegu-chikara #main,
.jibun-de-kasegu-chikara #body-in,
.jibun-de-kasegu-chikara #container,
.jibun-de-kasegu-chikara #container-in,
.jibun-de-kasegu-chikara #contents,
.jibun-de-kasegu-chikara #contents-in {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  float: none !important;
  position: static !important;
  overflow: visible !important;
  height: auto !important;
  min-height: 0 !important;
  flex: none !important;
}

/* Cocoon サイドバー非表示 */
.jibun-de-kasegu-chikara #sidebar,
.jibun-de-kasegu-chikara .sidebar,
.jibun-de-kasegu-chikara #sidebar-scroll,
.jibun-de-kasegu-chikara .sidebar-top,
.jibun-de-kasegu-chikara .sidebar-bottom {
  display: none !important;
}

/* Cocoon 標準フッター非表示（footer_tp で代替） */
.jibun-de-kasegu-chikara #footer:not(.tp-footer),
.jibun-de-kasegu-chikara .site-footer:not(.tp-footer),
.jibun-de-kasegu-chikara .footer:not(.tp-footer) {
  display: none !important;
}


/* ================================================================
   2. CSS カスタムプロパティ（全色・全値）
   ================================================================ */
#jdkc-root {

  /* ─ ベースカラー : ウォームホワイト × アイボリー ─ */
  --jdkc-bg-base:         #faf8f3;
  --jdkc-bg-alt:          #f3f0e8;
  --jdkc-bg-card:         #ffffff;
  --jdkc-bg-card-subtle:  #fdf9f4;

  /* ─ グリーン系 : ダークグリーン → オリーブ → セージ ─ */
  --jdkc-green-deep:      #1e3220;
  --jdkc-green-dark:      #2a4a27;
  --jdkc-green-mid:       #3d6b3a;
  --jdkc-green-light:     #5a8857;
  --jdkc-green-pale:      #8eb68b;
  --jdkc-green-mist:      #d6e6d5;

  /* ─ ゴールド系 ─ */
  --jdkc-gold-deep:       #7a5c10;
  --jdkc-gold:            #b5893e;
  --jdkc-gold-light:      #d4aa68;
  --jdkc-gold-pale:       #f0dbb0;

  /* ─ アクセント（データビジュアライゼーション用） ─ */
  --jdkc-accent-warm:     #c4683a;  /* テラコッタ — 危機感・変化① */
  --jdkc-accent-blue:     #3a6b9e;  /* スモーキーブルー — 変化② */
  --jdkc-accent-purple:   #6b5aad;  /* スモーキーパープル */
  --jdkc-accent-sage-bar: #5a8857;  /* バーグラフ用セージ */

  /* ─ テキスト ─ */
  --jdkc-text-primary:    #1c1c1a;
  --jdkc-text-secondary:  #4a4a44;
  --jdkc-text-tertiary:   #8a8a80;
  --jdkc-text-muted:      #b0b0a6;

  /* ─ ボーダー ─ */
  --jdkc-border-light:    rgba(42, 74, 39, 0.11);
  --jdkc-border-mid:      rgba(42, 74, 39, 0.20);
  --jdkc-border-gold:     rgba(181, 137, 62, 0.28);

  /* ─ タイポグラフィ ─ */
  --jdkc-font-sans:       'Noto Sans JP', 'Hiragino Kaku Gothic ProN', 'Hiragino Sans', sans-serif;
  --jdkc-font-serif:      'Noto Serif JP', 'Hiragino Mincho ProN', 'Yu Mincho', 'YuMincho', serif;
  --jdkc-font-display:    'Cormorant Garamond', 'Times New Roman', serif;

  /* ─ スペーシング ─ */
  --jdkc-section-py:      clamp(3.5rem, 8vw, 6.5rem);
  --jdkc-container-max:   840px;
  --jdkc-radius-sm:       6px;
  --jdkc-radius-md:       10px;
  --jdkc-radius-lg:       16px;

  /* ─ トランジション ─ */
  --jdkc-ease:            cubic-bezier(0.25, 0.46, 0.45, 0.94);
  --jdkc-transition:      0.38s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  --jdkc-transition-slow: 0.72s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}


/* ================================================================
   3. ベーススタイル
   ================================================================ */
#jdkc-root {
  font-family:            var(--jdkc-font-sans);
  color:                  var(--jdkc-text-primary);
  background:             var(--jdkc-bg-base);
  line-height:            1.8;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  box-sizing:             border-box;
}

#jdkc-root *,
#jdkc-root *::before,
#jdkc-root *::after {
  box-sizing: inherit;
}

#jdkc-root h1,
#jdkc-root h2,
#jdkc-root h3 {
  font-family:    var(--jdkc-font-serif);
  font-weight:    500;
  letter-spacing: -0.01em;
  line-height:    1.3;
}

#jdkc-root a {
  color:           inherit;
  text-decoration: none;
}

#jdkc-root ul {
  list-style: none;
  padding:    0;
  margin:     0;
}

#jdkc-root table {
  border-collapse: collapse;
}

#jdkc-root p {
  margin: 0;
}


/* ================================================================
   4. コンテナ
   ================================================================ */
.jdkc-container {
  width:         100%;
  max-width:     var(--jdkc-container-max);
  margin-left:   auto;
  margin-right:  auto;
  padding-left:  clamp(1.25rem, 5vw, 2.5rem);
  padding-right: clamp(1.25rem, 5vw, 2.5rem);
}


/* ================================================================
   5. スクロールリビール
   ================================================================ */
.jdkc-reveal {
  opacity:    0;
  transform:  translateY(22px);
  transition:
    opacity   0.72s var(--jdkc-ease),
    transform 0.72s var(--jdkc-ease);
}

.jdkc-reveal.is-visible {
  opacity:   1;
  transform: translateY(0);
}

.jdkc-reveal--d1 { transition-delay: 0.12s; }
.jdkc-reveal--d2 { transition-delay: 0.24s; }
.jdkc-reveal--d3 { transition-delay: 0.36s; }


/* ================================================================
   6. HERO セクション
   ================================================================ */
.jdkc-hero {
  position:        relative;
  min-height:      100svh;
  display:         flex;
  flex-direction:  column;
  align-items:     center;
  justify-content: center;
  text-align:      center;
  overflow:        hidden;
  padding:
    clamp(5rem, 14vw, 10rem)
    clamp(1.25rem, 5vw, 2.5rem)
    clamp(4.5rem, 10vw, 7rem);
}

/* ─ 背景画像 ─ */
.jdkc-hero__bg {
  position: absolute;
  inset:    0;
  z-index:  0;
}

.jdkc-hero__bg-img {
  width:            100%;
  height:           100%;
  object-fit:       cover;
  object-position:  center 35%;
  filter:           saturate(0.8) brightness(0.68);
}

.jdkc-hero__bg-overlay {
  position:   absolute;
  inset:      0;
  background: linear-gradient(
    160deg,
    rgba(22, 38, 22, 0.52) 0%,
    rgba(22, 38, 22, 0.30) 45%,
    rgba(22, 38, 22, 0.72) 100%
  );
}

/* ─ コンテンツ ─ */
.jdkc-hero__content {
  position:  relative;
  z-index:   1;
  max-width: 700px;
}

.jdkc-eyebrow {
  font-family:    var(--jdkc-font-display);
  font-size:      clamp(10px, 1.6vw, 12px);
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color:          var(--jdkc-gold-light);
  margin-bottom:  1.5rem;
  display:        block;
}

.jdkc-hero__title {
  font-family:    var(--jdkc-font-serif);
  font-size:      clamp(2rem, 5.5vw, 3.5rem);
  font-weight:    500;
  line-height:    1.22;
  letter-spacing: -0.02em;
  color:          #faf8f3;
  margin-bottom:  1.5rem;
}

.jdkc-hero__title-em {
  font-style:  normal;
  color:       var(--jdkc-gold-light);
  position:    relative;
  display:     inline-block;
  padding-bottom: 2px;
}

.jdkc-hero__title-em::after {
  content:    '';
  position:   absolute;
  bottom:     0;
  left:       0;
  right:      0;
  height:     1px;
  background: var(--jdkc-gold-light);
  opacity:    0.45;
  transform:  scaleX(0.85);
}

.jdkc-hero__lead {
  font-size:     clamp(13px, 2.2vw, 16px);
  color:         rgba(250, 248, 243, 0.78);
  line-height:   1.95;
  margin-bottom: 2rem;
}

.jdkc-hero__tag {
  display:        inline-block;
  font-size:      12px;
  padding:        6px 18px;
  border:         1px solid rgba(212, 170, 104, 0.4);
  border-radius:  20px;
  color:          var(--jdkc-gold-pale);
  letter-spacing: 0.06em;
}

/* ─ スクロール誘導 ─ */
.jdkc-scroll-hint {
  position:       absolute;
  bottom:         clamp(1.5rem, 4vw, 2.5rem);
  left:           50%;
  transform:      translateX(-50%);
  z-index:        1;
  display:        flex;
  flex-direction: column;
  align-items:    center;
  gap:            8px;
  color:          rgba(250, 248, 243, 0.5);
  font-family:    var(--jdkc-font-display);
  font-size:      10px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  transition:     opacity var(--jdkc-transition);
}

.jdkc-scroll-hint:hover { opacity: 0.75; }

.jdkc-scroll-hint__label {
  display: block;
}

.jdkc-scroll-hint__line {
  width:      1px;
  height:     48px;
  background: rgba(250, 248, 243, 0.35);
  position:   relative;
  overflow:   hidden;
}

.jdkc-scroll-hint__line::after {
  content:    '';
  position:   absolute;
  top:        -100%;
  left:       0;
  width:      100%;
  height:     100%;
  background: rgba(250, 248, 243, 0.85);
  animation:  jdkc-scroll-pulse 2.2s ease-in-out infinite;
}

@keyframes jdkc-scroll-pulse {
  0%   { top: -100%; opacity: 0;   }
  20%  { opacity: 1; }
  80%  { opacity: 1; }
  100% { top: 200%;  opacity: 0;   }
}


/* ================================================================
   7. セクション共通
   ================================================================ */
.jdkc-section {
  padding-top:    var(--jdkc-section-py);
  padding-bottom: var(--jdkc-section-py);
  background:     var(--jdkc-bg-base);
}

.jdkc-section--alt {
  background: var(--jdkc-bg-alt);
}

.jdkc-section__label {
  font-family:    var(--jdkc-font-display);
  font-size:      11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color:          var(--jdkc-green-light);
  margin-bottom:  0.5rem;
}

.jdkc-section__label--inner {
  margin-top:    2rem;
  margin-bottom: 0.75rem;
}

.jdkc-section__title {
  font-size:     clamp(1.35rem, 3.5vw, 1.85rem);
  font-weight:   500;
  margin-bottom: 0.6rem;
  color:         var(--jdkc-green-deep);
}

.jdkc-section__sub {
  font-size:     clamp(13px, 2vw, 15px);
  color:         var(--jdkc-text-secondary);
  margin-bottom: 2rem;
  line-height:   1.8;
}


/* ================================================================
   8. 区切り線（グラデーションライン）
   ================================================================ */
.jdkc-divider {
  height: 1px;
  background: linear-gradient(
    to right,
    transparent 0%,
    var(--jdkc-border-mid)  18%,
    var(--jdkc-border-gold) 50%,
    var(--jdkc-border-mid)  82%,
    transparent 100%
  );
}


/* ================================================================
   9. セクション画像
   ================================================================ */
.jdkc-section-img {
  margin:        2rem 0 2.5rem;
  border-radius: var(--jdkc-radius-md);
  overflow:      hidden;
  border:        1px solid var(--jdkc-border-light);
  box-shadow:
    0 4px 28px rgba(30, 50, 32, 0.08),
    0 1px 4px  rgba(30, 50, 32, 0.04);
}

.jdkc-img-fluid {
  width:      100%;
  height:     auto;
  display:    block;
  transition:
    transform var(--jdkc-transition-slow),
    filter    var(--jdkc-transition-slow);
}

.jdkc-section-img:hover .jdkc-img-fluid {
  transform: scale(1.015);
  filter:    brightness(1.04);
}


/* ================================================================
   10. 統計グリッド
   ================================================================ */
.jdkc-stat-grid {
  display:               grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap:                   12px;
  margin:                2rem 0;
}

.jdkc-stat-card {
  background:    var(--jdkc-bg-card);
  border:        1px solid var(--jdkc-border-light);
  border-radius: var(--jdkc-radius-md);
  padding:       1.25rem 1.1rem;
  transition:
    border-color var(--jdkc-transition),
    box-shadow   var(--jdkc-transition);
}

.jdkc-stat-card:hover {
  border-color: var(--jdkc-border-gold);
  box-shadow:   0 2px 14px rgba(181, 137, 62, 0.09);
}

.jdkc-stat-card__label {
  font-size:      11px;
  color:          var(--jdkc-text-tertiary);
  letter-spacing: 0.04em;
  margin-bottom:  0.5rem;
  line-height:    1.5;
}

.jdkc-stat-card__num {
  font-family:    var(--jdkc-font-serif);
  font-size:      clamp(1.7rem, 4vw, 2.1rem);
  font-weight:    500;
  letter-spacing: -0.025em;
  color:          var(--jdkc-green-dark);
  line-height:    1.05;
}

.jdkc-stat-unit {
  font-size:   1rem;
  color:       var(--jdkc-green-mid);
  margin-left: 2px;
}

.jdkc-stat-card__src {
  font-size:   10.5px;
  color:       var(--jdkc-text-muted);
  margin-top:  0.35rem;
  line-height: 1.55;
}


/* ================================================================
   11. エビデンスリスト
   ================================================================ */
.jdkc-evidence-list {
  display:        flex;
  flex-direction: column;
  gap:            10px;
  margin:         1.5rem 0;
}

.jdkc-evidence-item {
  display:       flex;
  gap:           1rem;
  align-items:   flex-start;
  padding:       1.1rem;
  background:    var(--jdkc-bg-card);
  border:        1px solid var(--jdkc-border-light);
  border-radius: var(--jdkc-radius-md);
  transition:    border-color var(--jdkc-transition), box-shadow var(--jdkc-transition);
}

.jdkc-evidence-item:hover {
  border-color: var(--jdkc-border-gold);
  box-shadow:   0 1px 8px rgba(181, 137, 62, 0.07);
}

.jdkc-ev-icon {
  width:           36px;
  height:          36px;
  min-width:       36px;
  border-radius:   50%;
  display:         flex;
  align-items:     center;
  justify-content: center;
  font-size:       13px;
  font-weight:     600;
}

.jdkc-ev-icon--warm {
  background: rgba(196, 104, 58, 0.1);
  color:      var(--jdkc-accent-warm);
}

.jdkc-ev-title {
  font-size:     13px;
  font-weight:   600;
  margin-bottom: 4px;
  color:         var(--jdkc-text-primary);
}

.jdkc-ev-desc {
  font-size:   13px;
  color:       var(--jdkc-text-secondary);
  line-height: 1.75;
}

.jdkc-ev-source {
  font-size:      10.5px;
  color:          var(--jdkc-text-muted);
  margin-top:     5px;
  letter-spacing: 0.04em;
}


/* ================================================================
   12. インサイトブロック
   ================================================================ */
.jdkc-insight {
  border-left:   2px solid var(--jdkc-gold);
  padding:       1rem 1.25rem;
  margin:        1.5rem 0 0;
  background:    rgba(181, 137, 62, 0.045);
  border-radius: 0 var(--jdkc-radius-sm) var(--jdkc-radius-sm) 0;
}

.jdkc-insight__text {
  font-family: var(--jdkc-font-serif);
  font-size:   15px;
  font-weight: 500;
  color:       var(--jdkc-green-dark);
  line-height: 1.75;
}


/* ================================================================
   13. 業種バーグラフ
   ================================================================ */
.jdkc-industry-grid {
  display:               grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap:                   10px;
  margin:                0 0 1.5rem;
}

.jdkc-ind-card {
  padding:       1rem;
  background:    var(--jdkc-bg-card);
  border:        1px solid var(--jdkc-border-light);
  border-radius: var(--jdkc-radius-sm);
  transition:    border-color var(--jdkc-transition);
}

.jdkc-ind-card:hover {
  border-color: var(--jdkc-border-mid);
}

.jdkc-ind-label {
  font-size:     12px;
  font-weight:   600;
  margin-bottom: 2px;
  color:         var(--jdkc-text-primary);
}

.jdkc-ind-bar-wrap {
  height:        4px;
  background:    var(--jdkc-green-mist);
  border-radius: 2px;
  margin:        8px 0 5px;
  overflow:      hidden;
}

.jdkc-ind-bar {
  height:        100%;
  border-radius: 2px;
  transition:    width 1.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.jdkc-ind-bar--warm   { background: var(--jdkc-accent-warm);   }
.jdkc-ind-bar--blue   { background: var(--jdkc-accent-blue);   }
.jdkc-ind-bar--green  { background: var(--jdkc-green-mid);     }
.jdkc-ind-bar--purple { background: var(--jdkc-accent-purple); }
.jdkc-ind-bar--sage   { background: var(--jdkc-green-light);   }
.jdkc-ind-bar--muted  { background: var(--jdkc-text-muted);    }

.jdkc-ind-rate {
  font-size: 11px;
  color:     var(--jdkc-text-tertiary);
}


/* ================================================================
   14. AIスプリット（第3章）
   ================================================================ */
.jdkc-ai-split {
  display:               grid;
  grid-template-columns: 1fr 1fr;
  gap:                   16px;
  margin:                2rem 0;
}

.jdkc-ai-col {
  padding:       1.25rem;
  border:        1px solid var(--jdkc-border-light);
  border-radius: var(--jdkc-radius-md);
}

.jdkc-ai-col__head {
  font-family:    var(--jdkc-font-display);
  font-size:      11px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding-bottom: 0.8rem;
  margin-bottom:  1rem;
  border-bottom:  1px solid var(--jdkc-border-light);
}

.jdkc-ai-col--fading {
  background: rgba(196, 104, 58, 0.04);
}

.jdkc-ai-col--fading .jdkc-ai-col__head {
  color: var(--jdkc-accent-warm);
}

.jdkc-ai-col--rising {
  background: rgba(61, 107, 58, 0.05);
}

.jdkc-ai-col--rising .jdkc-ai-col__head {
  color: var(--jdkc-green-mid);
}

.jdkc-ai-skill-list {
  display:        flex;
  flex-direction: column;
  gap:            10px;
}

.jdkc-ai-skill {
  display:     flex;
  align-items: center;
  gap:         8px;
  font-size:   14px;
  color:       var(--jdkc-text-secondary);
}

.jdkc-ai-skill::before {
  content:       '';
  width:         5px;
  height:        5px;
  border-radius: 50%;
  flex-shrink:   0;
  display:       block;
}

.jdkc-ai-col--fading .jdkc-ai-skill::before {
  background: var(--jdkc-accent-warm);
  opacity:    0.65;
}

.jdkc-ai-col--rising .jdkc-ai-skill::before {
  background: var(--jdkc-green-light);
}


/* ================================================================
   15. 移行ステップ（第4・5章）
   ================================================================ */
.jdkc-steps {
  display:        flex;
  flex-direction: column;
  gap:            2px;
  margin:         2rem 0;
}

.jdkc-step {
  display:     flex;
  gap:         1.5rem;
  align-items: stretch;
}

.jdkc-step__connector {
  display:        flex;
  flex-direction: column;
  align-items:    center;
  width:          44px;
  flex-shrink:    0;
}

.jdkc-step__dot {
  width:         12px;
  height:        12px;
  border-radius: 50%;
  flex-shrink:   0;
  margin-top:    5px;
}

.jdkc-step__dot--1 { background: var(--jdkc-text-muted);  }
.jdkc-step__dot--2 { background: var(--jdkc-green-mid);   }
.jdkc-step__dot--3 { background: var(--jdkc-gold);        }

.jdkc-step__line {
  width:      2px;
  flex:       1;
  margin-top: 4px;
}

.jdkc-step__line--1 {
  background: linear-gradient(
    to bottom,
    var(--jdkc-text-muted),
    var(--jdkc-green-mid)
  );
}

.jdkc-step__line--2 {
  background: linear-gradient(
    to bottom,
    var(--jdkc-green-mid),
    var(--jdkc-gold)
  );
}

.jdkc-step__body {
  flex:           1;
  padding-bottom: 2.75rem;
}

.jdkc-step__phase {
  font-family:    var(--jdkc-font-display);
  font-size:      11px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  margin-bottom:  4px;
}

.jdkc-step__phase--1 { color: var(--jdkc-text-tertiary); }
.jdkc-step__phase--2 { color: var(--jdkc-green-mid);     }
.jdkc-step__phase--3 { color: var(--jdkc-gold);          }

.jdkc-step__heading {
  font-family:   var(--jdkc-font-serif);
  font-size:     clamp(1.1rem, 2.5vw, 1.25rem);
  font-weight:   500;
  margin-bottom: 0.5rem;
  color:         var(--jdkc-green-deep);
}

.jdkc-step__desc {
  font-size:     14px;
  color:         var(--jdkc-text-secondary);
  line-height:   1.8;
  margin-bottom: 0.75rem;
}

.jdkc-step__table {
  width:      100%;
  font-size:  12px;
  margin-top: 0.5rem;
}

.jdkc-step__table th {
  text-align:     left;
  color:          var(--jdkc-text-tertiary);
  font-weight:    400;
  padding:        5px 0;
  border-bottom:  1px solid var(--jdkc-border-light);
  font-size:      10px;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.jdkc-step__table td {
  padding:        7px 0;
  border-bottom:  1px solid var(--jdkc-border-light);
  color:          var(--jdkc-text-secondary);
  vertical-align: top;
}

.jdkc-step__table td:first-child {
  font-weight: 600;
  color:       var(--jdkc-text-primary);
  width:       80px;
}


/* ================================================================
   16. 最終結論グリッド
   ================================================================ */
.jdkc-conclusion-grid {
  display:               grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap:                   12px;
  margin:                2rem 0;
}

.jdkc-conclusion-card {
  padding:       1.25rem;
  border-radius: 0 var(--jdkc-radius-md) var(--jdkc-radius-md) 0;
  background:    var(--jdkc-bg-card);
  border:        1px solid var(--jdkc-border-light);
  transition:    border-color var(--jdkc-transition), box-shadow var(--jdkc-transition);
}

.jdkc-conclusion-card:hover {
  box-shadow: 0 2px 10px rgba(30, 50, 32, 0.06);
}

.jdkc-conclusion-card--1 {
  border-left: 3px solid var(--jdkc-accent-warm);
}
.jdkc-conclusion-card--2 {
  border-left: 3px solid var(--jdkc-accent-blue);
}
.jdkc-conclusion-card--3 {
  border-left: 3px solid var(--jdkc-green-mid);
}

.jdkc-conclusion-card__num {
  font-size:      11px;
  font-weight:    600;
  margin-bottom:  6px;
  letter-spacing: 0.05em;
}

.jdkc-conclusion-card--1 .jdkc-conclusion-card__num { color: var(--jdkc-accent-warm); }
.jdkc-conclusion-card--2 .jdkc-conclusion-card__num { color: var(--jdkc-accent-blue);  }
.jdkc-conclusion-card--3 .jdkc-conclusion-card__num { color: var(--jdkc-green-mid);    }

.jdkc-conclusion-card__title {
  font-family:   var(--jdkc-font-serif);
  font-size:     clamp(13px, 2.2vw, 16px);
  font-weight:   500;
  line-height:   1.5;
  color:         var(--jdkc-green-deep);
  margin-bottom: 6px;
}

.jdkc-conclusion-card__sub {
  font-size: 11px;
  color:     var(--jdkc-text-tertiary);
}

/* ─ 結論サマリーパネル ─ */
.jdkc-conclusion-summary {
  padding:       2rem 2.25rem;
  background:    var(--jdkc-bg-card);
  border:        1px solid var(--jdkc-border-gold);
  border-radius: var(--jdkc-radius-md);
  text-align:    center;
  margin-bottom: 2rem;
  position:      relative;
  overflow:      hidden;
}

.jdkc-conclusion-summary::before {
  content:       '';
  position:      absolute;
  inset:         0;
  border-radius: inherit;
  background:    linear-gradient(
    135deg,
    rgba(181, 137, 62, 0.04) 0%,
    transparent 55%
  );
  pointer-events: none;
}

.jdkc-conclusion-summary__kicker {
  font-family:    var(--jdkc-font-display);
  font-size:      11px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color:          var(--jdkc-gold);
  margin-bottom:  0.85rem;
}

.jdkc-conclusion-summary__text {
  font-family: var(--jdkc-font-serif);
  font-size:   clamp(15px, 2.5vw, 18px);
  font-weight: 500;
  line-height: 1.75;
  color:       var(--jdkc-green-deep);
}

/* ─ 結論注記・タグ群 ─ */
.jdkc-conclusion-note {
  font-size:     14px;
  color:         var(--jdkc-text-secondary);
  line-height:   1.8;
  margin-bottom: 0.75rem;
}

.jdkc-tag-group {
  display:       flex;
  gap:           8px;
  flex-wrap:     wrap;
  margin-bottom: 0.5rem;
}

.jdkc-tag {
  padding:       5px 14px;
  background:    var(--jdkc-bg-card);
  border:        1px solid var(--jdkc-border-light);
  border-radius: 20px;
  font-size:     12px;
  color:         var(--jdkc-text-secondary);
  transition:    border-color var(--jdkc-transition);
}

.jdkc-tag--emphasis {
  border-color: var(--jdkc-border-gold);
  color:        var(--jdkc-green-dark);
  background:   rgba(181, 137, 62, 0.055);
  font-weight:  500;
}


/* ================================================================
   17. CTA セクション
   ================================================================ */
.jdkc-cta-section {
  position:   relative;
  background: var(--jdkc-bg-alt);
  overflow:   hidden;
}

/* ─ CTA直前画像 ─ */
.jdkc-cta__img-wrap {
  position:   relative;
  width:      100%;
  max-height: 480px;
  overflow:   hidden;
}

.jdkc-cta__img {
  width:            100%;
  height:           100%;
  min-height:       260px;
  object-fit:       cover;
  object-position:  center 40%;
  display:          block;
  filter:           saturate(0.75) brightness(0.72);
}

.jdkc-cta__img-overlay {
  position:   absolute;
  inset:      0;
  background: linear-gradient(
    to bottom,
    transparent 35%,
    var(--jdkc-bg-alt) 100%
  );
}

/* ─ CTAコンテンツ ─ */
.jdkc-cta__content {
  padding-top:    clamp(3rem, 6vw, 5rem);
  padding-bottom: clamp(3rem, 6vw, 5rem);
  text-align:     center;
}

.jdkc-cta__kicker {
  font-family:    var(--jdkc-font-display);
  font-size:      11px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color:          var(--jdkc-gold);
  margin-bottom:  1.25rem;
  display:        block;
}

.jdkc-cta__question {
  font-family:   var(--jdkc-font-serif);
  font-size:     clamp(1.25rem, 3.5vw, 1.65rem);
  font-weight:   500;
  line-height:   1.55;
  color:         var(--jdkc-green-deep);
  margin-bottom: 1.25rem;
}

.jdkc-cta__lead {
  font-size:     clamp(13px, 2vw, 15px);
  color:         var(--jdkc-text-secondary);
  line-height:   1.95;
  max-width:     520px;
  margin:        0 auto 2.5rem;
}

.jdkc-cta__btn-wrap {
  display:        flex;
  flex-direction: column;
  align-items:    center;
  gap:            0.8rem;
}

.jdkc-cta__btn {
  display:        inline-block;
  padding:        0.9rem 2.5rem;
  border-radius:  var(--jdkc-radius-lg);
  font-family:    var(--jdkc-font-sans);
  font-size:      15px;
  font-weight:    500;
  color:          #fff;
  letter-spacing: 0.01em;
  min-height:     48px;
  cursor:         pointer;
  transition:
    opacity   var(--jdkc-transition),
    transform var(--jdkc-transition);
}

.jdkc-cta__btn:hover {
  opacity:   0.87;
  transform: translateY(-1px);
}

.jdkc-cta__btn:active {
  transform: translateY(0);
}

.jdkc-cta__sub {
  font-size: 13px;
  color:     var(--jdkc-text-tertiary);
}

.jdkc-cta__share {
  margin-top:     2.5rem;
  font-size:      12px;
  color:          var(--jdkc-text-muted);
  letter-spacing: 0.04em;
}

/* ─ 末尾画像 ─ */
.jdkc-end-img {
  position:   relative;
  overflow:   hidden;
  max-height: 360px;
}

.jdkc-end-img__inner {
  width:            100%;
  height:           100%;
  object-fit:       cover;
  object-position:  center;
  display:          block;
  filter:           saturate(0.65) brightness(0.75);
  opacity:          0.65;
}


/* ================================================================
   18. 出典バー
   ================================================================ */
.jdkc-source-bar {
  padding-top:    1.25rem;
  padding-bottom: 1.75rem;
  border-top:     1px solid var(--jdkc-border-light);
  font-size:      10.5px;
  color:          var(--jdkc-text-muted);
  letter-spacing: 0.04em;
  line-height:    1.95;
  background:     var(--jdkc-bg-base);
}


/* ================================================================
   19. レスポンシブ — ブレークポイント
   ================================================================ */

/* ─ Tablet: 768px以上 ─ */
@media (min-width: 768px) {

  .jdkc-stat-grid {
    grid-template-columns: repeat(3, 1fr);
  }

  .jdkc-conclusion-grid {
    grid-template-columns: repeat(3, 1fr);
  }

  .jdkc-industry-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

/* ─ SP: 767px以下 ─ */
@media (max-width: 767px) {

  .jdkc-ai-split {
    grid-template-columns: 1fr;
  }

  .jdkc-stat-grid {
    grid-template-columns: 1fr 1fr;
  }

  .jdkc-step {
    gap: 0.875rem;
  }

  .jdkc-step__connector {
    width: 32px;
  }

  .jdkc-step__table {
    font-size: 11px;
  }

  .jdkc-step__table td:first-child {
    width: 68px;
  }

  .jdkc-industry-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .jdkc-conclusion-grid {
    grid-template-columns: 1fr;
  }

  .jdkc-cta__img-wrap {
    max-height: 240px;
  }

  .jdkc-end-img {
    max-height: 180px;
  }

  .jdkc-tag-group {
    gap: 6px;
  }

  .jdkc-tag {
    font-size: 11px;
    padding:   4px 12px;
  }
}


/* ================================================================
   20. アクセシビリティ — reduced-motion
   ================================================================ */
@media (prefers-reduced-motion: reduce) {

  .jdkc-reveal {
    opacity:    1;
    transform:  none;
    transition: none;
  }

  .jdkc-scroll-hint__line::after {
    animation: none;
    display:   none;
  }

  .jdkc-img-fluid {
    transition: none;
  }

  .jdkc-ind-bar {
    transition: none;
  }

  .jdkc-cta__btn {
    transition: opacity var(--jdkc-transition);
  }
}
