:root{
  --cta-accent: #b89a5a; /* 上品なゴールド（必要に応じて変更） */
  --cta-text: #111;
  --cta-muted: #6b7280;
  --cta-bg: #fff;

  --cta-radius: 14px;
  --cta-shadow: 0 6px 20px rgba(0,0,0,.08);
}

/* ベースリセット（記事内に馴染む軽めの設計） */
.cta-wrap{font-family: inherit; color: var(--cta-text);}
.cta-wrap a{text-decoration: none;}

/* 1) インラインCTA（本文に自然に差し込む、軽量・高CTR） */
.cta-inline{display:inline-flex; align-items:center; gap:.5em; font-weight:600; border-bottom:2px solid var(--cta-accent); padding-bottom:2px; transition:opacity .2s ease, gap .2s ease;}
.cta-inline .arrow{font-size:1.1em; transition: transform .2s ease;}
.cta-inline:hover{opacity:.85; gap:.6em;}
.cta-inline:hover .arrow{transform: translateX(2px);} 

/* 2) ボタンCTA（本文末や見出し直下） */
.btn-cta{display:inline-flex; align-items:center; gap:.6em; padding:12px 18px; border-radius: var(--cta-radius); border:1.5px solid var(--cta-accent); font-weight:700; box-shadow: var(--cta-shadow);}
.btn-cta.is-primary{background:var(--cta-accent); color:#fff;}
.btn-cta.is-outline{color:var(--cta-accent); background:#fff;}
.btn-cta .sub{font-weight:600; opacity:.9;}
.btn-cta .arrow{font-size:1.1em;}
.btn-cta:hover{filter:brightness(.98);} 

/* 3) リンクボックス（カード型：写真なし） */
.cta-card{display:flex; flex-direction:column; gap:10px; padding:16px; background:var(--cta-bg); border:1px solid rgba(0,0,0,.06); border-radius: var(--cta-radius); box-shadow: var(--cta-shadow);}
.cta-card .label{font-size:.78rem; letter-spacing:.06em; color:#fff; background:var(--cta-accent); padding:4px 8px; border-radius:999px; width:max-content;}
.cta-card .title{font-size:1.05rem; font-weight:800;}
.cta-card .meta{font-size:.9rem; color:var(--cta-muted);} 
.cta-card .actions{margin-top:6px;}

/* 4) 画像カードCTA（推し） */
.cta-image{display:grid; grid-template-columns: 160px 1fr; gap:16px; align-items:center; padding:14px; background:var(--cta-bg); border:1px solid rgba(0,0,0,.06); border-radius: var(--cta-radius); box-shadow: var(--cta-shadow);} 
.cta-image img{width:100%; height:120px; object-fit:cover; border-radius: calc(var(--cta-radius) - 6px);} 
.cta-image .info .title{font-weight:800; font-size:1.05rem;}
.cta-image .info .meta{font-size:.9rem; color:var(--cta-muted); margin:.2rem 0 .5rem;}
.cta-image .info .tag{display:inline-block; font-size:.75rem; color:#fff; background:var(--cta-accent); border-radius:999px; padding:3px 8px; margin-right:6px;}
.cta-image .action{margin-top:4px;}

/* レスポンシブ */
@media (max-width: 640px){
  .cta-image{grid-template-columns: 1fr;}
  .cta-image img{height:180px;}
}

/* 小さな免責表示 */
.cta-disclaimer{margin-top:6px; font-size:.8rem; color:var(--cta-muted);} 

/* アフィリエイト免責表示（共通） */
.cta-disclaimer {
  margin: 12px 0;
  font-size: 10px;
  color: #6b7280;   /* グレー */
  line-height: 1.6;
  text-align: left; /* 必要に応じて center に変更可 */
}