/* ============================================================
   IoTNEWS メルマガCTA スタイル（確定版・改変不可）
   ============================================================ */

.iotnews-cta-inline,
.iotnews-cta-card{
  /* ブランド変数（このスコープに限定） */
  --brand-blue: #0B6BCB;
  --brand-blue-dark: #0958A6;
  --brand-blue-deep: #073D75;
  --brand-blue-soft: #F2F6FC;
  --brand-blue-faint: #F7F9FD;
  --accent-orange: #F26B1F;
  --accent-orange-dark: #D85A12;
  --ink: #1A1A1A;
  --ink-soft: #4A4A4A;
  --ink-mute: #767676;
  --line: #E5E7EB;
  --line-soft: #EEF1F5;
  --white: #FFFFFF;
  --radius: 12px;
  --shadow-soft: 0 2px 12px rgba(15, 50, 100, 0.06);
  --shadow-card: 0 10px 36px rgba(15, 50, 100, 0.10);
  font-family: 'Noto Sans JP', -apple-system, system-ui, sans-serif;
}

/* ===== 中盤CTA ===== */
.iotnews-cta-inline{
  display:flex; align-items:center; gap:22px;
  background: var(--white);
  border-radius: var(--radius);
  padding: 24px 28px;
  margin: 36px 0;
  box-shadow: var(--shadow-soft);
}
.iotnews-cta-inline__icon{
  flex-shrink:0; width:60px; height:60px;
  background: linear-gradient(135deg, var(--brand-blue) 0%, var(--brand-blue-dark) 100%);
  border-radius: 50%;
  display:flex; align-items:center; justify-content:center;
  color:var(--white);
  box-shadow: 0 6px 16px rgba(11,107,203,0.28);
}
.iotnews-cta-inline__icon svg{width:30px; height:30px}
.iotnews-cta-inline__body{flex:1; min-width:0}
.iotnews-cta-inline__head{
  font-family:'Zen Kaku Gothic New', sans-serif;
  font-size:17px; font-weight:700; color:var(--ink);
  line-height:1.45; margin-bottom:6px;
  letter-spacing:0.01em;
  display:block;
}
.iotnews-cta-inline__sub{
  font-size:13px; color:var(--ink-soft); line-height:1.7;
  display:block;
}
.iotnews-cta-inline__btn{
  flex-shrink:0;
  display:inline-flex; align-items:center; gap:8px;
  background: var(--accent-orange);
  color: var(--white) !important;
  text-decoration:none;
  font-weight:700; font-size:14px;
  padding: 14px 22px;
  border-radius: 8px;
  transition: all .2s ease;
  white-space:nowrap;
  box-shadow: 0 4px 12px rgba(242,107,31,0.28);
}
.iotnews-cta-inline:hover .iotnews-cta-inline__btn{
  background: var(--accent-orange-dark);
  transform: translateY(-1px);
  box-shadow: 0 6px 16px rgba(242,107,31,0.36);
}
.iotnews-cta-inline__btn svg{width:14px; height:14px}

@media (max-width: 640px){
  .iotnews-cta-inline{
    flex-direction:column; align-items:flex-start;
    padding:22px; gap:16px;
  }
  .iotnews-cta-inline__icon{width:48px; height:48px}
  .iotnews-cta-inline__icon svg{width:24px; height:24px}
  .iotnews-cta-inline__head{font-size:16px}
  .iotnews-cta-inline__btn{
    width:100%; justify-content:center; padding:14px 20px;
  }
}

/* ===== 末尾CTA ===== */
.iotnews-cta-card{
  background: var(--white);
  border-radius: var(--radius);
  box-shadow: var(--shadow-card);
  margin: 48px 0;
  overflow:hidden;
}
.iotnews-cta-card__header{
  background: linear-gradient(135deg, var(--brand-blue) 0%, var(--brand-blue-deep) 100%);
  color:var(--white);
  padding: 36px 36px 32px;
  position:relative; overflow:hidden;
}
.iotnews-cta-card__header::before{
  content:''; position:absolute;
  top:-40px; right:-40px;
  width:240px; height:240px;
  background: radial-gradient(circle, rgba(255,255,255,0.10) 0%, transparent 60%);
  pointer-events:none;
}
.iotnews-cta-card__label{
  display:inline-block;
  font-family:'Zen Kaku Gothic New', sans-serif;
  font-size:11px; font-weight:700;
  letter-spacing:0.2em;
  color: rgba(255,255,255,0.85);
  padding-bottom:6px; margin-bottom:14px;
  position:relative;
}
.iotnews-cta-card__label::after{
  content:''; position:absolute;
  left:0; bottom:0;
  width:32px; height:2px;
  background: rgba(255,255,255,0.6);
}
.iotnews-cta-card__title{
  font-family:'Zen Kaku Gothic New', sans-serif;
  font-size:24px; font-weight:900; line-height:1.4;
  margin-bottom:12px; letter-spacing:0.01em;
  color: var(--white);
}
.iotnews-cta-card__subtitle{
  font-size:14px; line-height:1.75; opacity:0.92; font-weight:500;
}
.iotnews-cta-card__body{padding: 32px 36px 36px}
.iotnews-cta-card__lead{
  font-size:14px; line-height:1.9; color:var(--ink-soft);
  margin-bottom:28px;
}

/* メルマガで届く内容（上部キャップスラベル＋細罫） */
.iotnews-cta-card__benefits{margin-bottom:28px; padding:0}
.iotnews-cta-card__benefits-head{
  font-family:'Zen Kaku Gothic New', sans-serif;
  font-size:11px; font-weight:700;
  color:var(--brand-blue);
  letter-spacing:0.22em;
  margin-bottom:10px;
  display:flex; align-items:center; gap:14px;
}
.iotnews-cta-card__benefits-head::after{
  content:''; flex:1; height:1px;
  background: linear-gradient(to right, var(--line) 0%, transparent 100%);
}
.iotnews-cta-card__benefits ul{
  list-style:none; padding:0; margin:0;
  font-size:13.5px; line-height:1.85; color:var(--ink-soft);
}
.iotnews-cta-card__benefits li{
  padding: 10px 0;
  border-bottom: 1px solid var(--line-soft);
  display:flex; gap:14px; align-items:flex-start;
}
.iotnews-cta-card__benefits li:last-child{border-bottom:none}
.iotnews-cta-card__benefits li .cat{
  flex-shrink:0;
  font-family:'Zen Kaku Gothic New', sans-serif;
  font-size:11px; font-weight:700;
  color:var(--brand-blue);
  letter-spacing:0.1em;
  padding: 3px 8px;
  background: var(--brand-blue-soft);
  border-radius:3px;
  min-width:58px; text-align:center;
  margin-top:1px;
}
.iotnews-cta-card__benefits li .txt{flex:1}

/* 特典ブロック */
.iotnews-cta-card__gift{
  display:flex; gap:16px; align-items:center;
  background: #FBF6EC;
  border-radius:8px;
  padding:18px 22px;
  margin-bottom:28px;
}
.iotnews-cta-card__gift-icon{
  flex-shrink:0; width:42px; height:42px;
  background:#F2B95A; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  color:#fff;
}
.iotnews-cta-card__gift-icon svg{width:22px; height:22px}
.iotnews-cta-card__gift-text{
  font-size:13px; color:#7A5A1E; font-weight:500; line-height:1.65;
}
.iotnews-cta-card__gift-text strong{
  display:block;
  font-family:'Zen Kaku Gothic New', sans-serif;
  font-weight:700; color:#5C3F0A;
  font-size:13.5px; margin-bottom:3px;
  letter-spacing:0.02em;
}

/* フォーム */
.iotnews-cta-card__form{
  display:grid; gap:14px; margin-bottom:18px;
}
.iotnews-cta-card__row{
  display:grid; grid-template-columns: 1fr 1fr; gap:14px;
}
.iotnews-cta-card__field label{
  display:block;
  font-size:12px; font-weight:700; color:var(--ink);
  margin-bottom:6px; letter-spacing:0.02em;
}
.iotnews-cta-card__field label .req{
  color:#D14; font-weight:700; margin-left:4px; font-size:11px;
}
.iotnews-cta-card__field label .opt{
  color:var(--ink-mute); font-weight:500; margin-left:4px; font-size:11px;
}
.iotnews-cta-card__field input,
.iotnews-cta-card__field select{
  width:100%;
  padding:11px 14px;
  font-size:14px; font-family:inherit;
  border:1px solid var(--line);
  border-radius:6px;
  background:var(--white); color:var(--ink);
  transition:border-color .15s ease, box-shadow .15s ease;
}
.iotnews-cta-card__field input:focus,
.iotnews-cta-card__field select:focus{
  outline:none;
  border-color:var(--brand-blue);
  box-shadow: 0 0 0 3px rgba(11,107,203,0.12);
}
.iotnews-cta-card__consent{
  display:flex; gap:10px; align-items:flex-start;
  font-size:12px; color:var(--ink-soft); line-height:1.7;
  margin-bottom:20px;
  padding:14px 16px;
  background:var(--brand-blue-faint);
  border-radius:6px;
}
.iotnews-cta-card__consent input[type="checkbox"]{
  flex-shrink:0; margin-top:3px;
  width:16px; height:16px;
  accent-color: var(--brand-blue);
}
.iotnews-cta-card__consent a{color:var(--brand-blue); text-decoration:underline}
.iotnews-cta-card__submit{
  display:flex; align-items:center; justify-content:center; gap:10px;
  width:100%;
  background: var(--accent-orange);
  color:var(--white); border:none;
  font-family:inherit; font-size:16px; font-weight:700;
  padding:16px;
  border-radius:8px;
  cursor:pointer;
  transition: all .2s ease;
  box-shadow: 0 6px 16px rgba(242,107,31,0.28);
  letter-spacing:0.02em;
}
.iotnews-cta-card__submit:hover{
  background: var(--accent-orange-dark);
  transform: translateY(-1px);
  box-shadow: 0 8px 22px rgba(242,107,31,0.36);
}
.iotnews-cta-card__submit svg{width:18px; height:18px}
.iotnews-cta-card__note{
  text-align:center;
  font-size:11px; color:var(--ink-mute);
  margin-top:14px; line-height:1.7;
}
.iotnews-cta-card__note a{color:var(--ink-mute); text-decoration:underline}

@media (max-width: 640px){
  .iotnews-cta-card__header{padding:26px 24px 24px}
  .iotnews-cta-card__title{font-size:20px}
  .iotnews-cta-card__subtitle{font-size:13px}
  .iotnews-cta-card__body{padding:24px}
  .iotnews-cta-card__benefits li{flex-direction:column; gap:6px}
  .iotnews-cta-card__row{grid-template-columns:1fr}
  .iotnews-cta-card__submit{font-size:15px; padding:15px}
}

/* ============================================================
   サイト運用者の指示による上書き（2026-05）
   - 文字サイズを記事本文に合わせる（em 基準）
   - 末尾CTAは青ヘッダーをやめ、グレーの太枠で全体を囲う
   - 余白を詰めて間延びを解消
   後勝ちで確定版の該当ルールを上書きする。
   ============================================================ */

/* --- 文字サイズを本文に追従（root は本文サイズを継承） --- */
.iotnews-cta-inline,
.iotnews-cta-card{
  font-size: inherit;
}

/* ===== 中盤CTA：構造はそのまま、文字サイズのみ本文基準 ===== */
.iotnews-cta-inline__head{ font-size: 1.1em; }
.iotnews-cta-inline__sub{ font-size: 0.9em; }
.iotnews-cta-inline__btn{ font-size: 0.95em; }

/* ===== 末尾CTA：グレー太枠で全体を囲う ===== */
.iotnews-cta-card{
  border: 2px solid #D0D5DB;          /* グレーの太枠 */
  border-radius: 10px;
  box-shadow: none;                    /* 強い影をやめて広告感を抑える */
  background: var(--white);
  margin: 32px 0;
}

/* ヘッダー：青グラデーションを廃し、本文と地続きのトーンに */
.iotnews-cta-card__header{
  background: #F4F5F7;                  /* ごく淡いグレー */
  color: var(--ink);
  padding: 14px 24px 14px;             /* 天地を圧縮 */
  border-bottom: 1px solid #E3E6EA;
}
.iotnews-cta-card__header::before{ content: none; }   /* 装飾グローを除去 */

.iotnews-cta-card__label{
  color: var(--ink-mute);
  letter-spacing: 0.16em;
  padding-bottom: 0;                    /* ラベル下の余白を詰める */
  margin-bottom: 6px;
  font-size: 0.72em;
}
.iotnews-cta-card__label::after{ background: #C4C9D0; bottom: -3px; }

.iotnews-cta-card__title{
  color: var(--ink);
  font-size: 1.25em;                    /* 本文比でやや大きい程度 */
  line-height: 1.4;
  margin-bottom: 4px;                   /* タイトル下の余白を詰める */
}
.iotnews-cta-card__subtitle{
  color: var(--ink-soft);
  opacity: 1;
  font-size: 0.95em;
  line-height: 1.6;
}

/* 本文側の余白を詰める */
.iotnews-cta-card__body{ padding: 22px 24px 24px; }
.iotnews-cta-card__lead{ font-size: 1em; line-height: 1.85; margin-bottom: 18px; }

.iotnews-cta-card__benefits{ margin-bottom: 18px; }
.iotnews-cta-card__benefits-head{ font-size: 0.78em; margin-bottom: 8px; }
.iotnews-cta-card__benefits ul{ font-size: 0.95em; }
.iotnews-cta-card__benefits li{ padding: 8px 0; }
.iotnews-cta-card__benefits li .cat{ font-size: 0.78em; }

.iotnews-cta-card__gift{ margin-bottom: 18px; padding: 14px 18px; }
.iotnews-cta-card__gift-text{ font-size: 0.9em; }
.iotnews-cta-card__gift-text strong{ font-size: 0.95em; }

/* フォーム：隙間を詰めて、入力欄は本文サイズ（スマホでズームしない） */
.iotnews-cta-card__form{ gap: 12px; margin-bottom: 14px; }
.iotnews-cta-card__row{ gap: 12px; }
.iotnews-cta-card__field label{ font-size: 0.85em; margin-bottom: 4px; }
.iotnews-cta-card__field input,
.iotnews-cta-card__field select{ font-size: 1em; padding: 10px 12px; }
.iotnews-cta-card__consent{ font-size: 0.85em; margin-bottom: 14px; padding: 12px 14px; }
.iotnews-cta-card__submit{ font-size: 1.05em; padding: 14px; }
.iotnews-cta-card__note{ font-size: 0.8em; margin-top: 12px; }

@media (max-width: 640px){
  .iotnews-cta-card__header{ padding: 13px 18px; }
  .iotnews-cta-card__title{ font-size: 1.2em; }
  .iotnews-cta-card__body{ padding: 18px; }
}
