@charset "UTF-8";

/*!
Theme Name: Cocoon Child
Description: Cocoon専用の子テーマ
Theme URI: https://wp-cocoon.com/
Author: わいひら
Author URI: https://nelog.jp/
Template:   cocoon-master
Version:    1.1.3
*/

/************************************
** 子テーマ用のスタイルを書く
************************************/
/*必要ならばここにコードを書く*/

/* ============================================================
   mattress-affiliate.css
   マットレスアフィリエイトサイト 共通スタイル
   
   ・全セレクタを .entry-content でスコープ
     → Cocoon本体のスタイルと競合しない
   ・クラス名プレフィックス: ma- （mattress-affiliate）
   ・比較記事・レビュー記事・悩み特化記事すべてで共用
   ============================================================ */




/* ==========================================================
   1. ライティングメモボックス（制作用・公開時は非表示推奨）
   ========================================================== */
.entry-content .ma-memo {
  background: #fffbea;
  border-left: 5px solid #f0a500;
  border-radius: 4px;
  padding: 14px 18px;
  margin: 24px 0;
  font-size: 13.5px;
  line-height: 1.75;
  color: #5a3e00;
}
.entry-content .ma-memo strong {
  color: #c07000;
  display: block;
  margin-bottom: 6px;
  font-size: 14px;
}
.entry-content .ma-memo ul {
  padding-left: 18px;
  margin-top: 6px;
}
.entry-content .ma-memo li {
  margin-bottom: 5px;
}

/* 公開時にライティングメモを非表示にする場合はこちらを有効化
.entry-content .ma-memo { display: none; }
*/


/* ==========================================================
   2. スペック比較表（メイン・まとめ共通）
   ========================================================== */
.entry-content .ma-spec-table,
.entry-content .ma-summary-table {
  width: 100%;
  border-collapse: collapse;
  margin: 20px 0 28px;
  font-size: 14.5px;
}
.entry-content .ma-spec-table th,
.entry-content .ma-spec-table td,
.entry-content .ma-summary-table th,
.entry-content .ma-summary-table td {
  border: 1px solid #ddd;
  padding: 10px 12px;
  vertical-align: top;
}

/* ヘッダー行 */
.entry-content .ma-spec-table thead th {
  background: #1a56db !important;
  color: #fff !important;
  text-align: center;
  font-size: 15px;
  font-weight: bold;
}
.entry-content .ma-spec-table thead th:first-child {
  background: #444 !important;
}
.entry-content .ma-summary-table th {
  background: #444 !important;
  color: #fff !important;
  text-align: center;
}

/* 偶数行ストライプ */
.entry-content .ma-spec-table tbody tr:nth-child(even) {
  background: #f7f9ff;
}

/* ラベル列（左端） */
.entry-content .ma-spec-table .label-col,
.entry-content .ma-summary-table .label-col {
  background: #f0f0f0;
  font-weight: bold;
  color: #333;
  width: 30%;
}

/* NELL列・モットン列の背景色 */
.entry-content .ma-spec-table .nell-col {
  background: #eef3ff;
  text-align: center;
}
.entry-content .ma-spec-table .motton-col {
  background: #fff7f0;
  text-align: center;
}

/* 勝利セル（テキスト色） */
.entry-content .ma-spec-table .nell-win,
.entry-content .ma-summary-table .nell-win {
  color: #1a56db;
  font-weight: bold;
}
.entry-content .ma-spec-table .motton-win,
.entry-content .ma-summary-table .motton-win {
  color: #c05000;
  font-weight: bold;
}

/* まとめ表の勝利セル（背景色つき） */
.entry-content .ma-summary-table .win {
  color: #fff !important;
  font-weight: bold;
}
.entry-content .ma-summary-table .nell-win {
  background: #1a56db !important;
  color: #fff !important;
}
.entry-content .ma-summary-table .motton-win {
  background: #c05000;
  color: #fff !important;
}


/* ==========================================================
   3. CTAブロック・ボタン
   ========================================================== */
.entry-content .ma-cta-block {
  background: #fff8f0;
  border: 2px solid #f0a500;
  border-radius: 8px;
  padding: 20px 20px 16px;
  margin: 30px 0;
  text-align: center;
}
.entry-content .ma-cta-block p {
  font-size: 14px;
  margin-bottom: 12px;
  color: #444;
}
.entry-content .ma-cta-btn {
  display: inline-block;
  background: #e05a00;
  color: #fff !important;
  text-decoration: none !important;
  font-weight: bold;
  font-size: 15px;
  padding: 13px 28px;
  border-radius: 50px;
  margin: 5px 4px;
  line-height: 1.4;
  transition: opacity 0.2s;
}
.entry-content .ma-cta-btn:hover {
  opacity: 0.85;
}
/* 商品別カラー */
.entry-content .ma-cta-btn.nell   { background: #1a56db; }
.entry-content .ma-cta-btn.motton { background: #c05000; }

.entry-content .ma-cta-sub {
  font-size: 12px;
  color: #888;
  margin-top: 8px !important;
}


/* ==========================================================
   4. 比較H3（ポイントバッジつき見出し）
   ========================================================== */
.entry-content .ma-point-h3 {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  font-size: 16px;
  font-weight: bold;
  background: #fafafa;
  border: 1px solid #ddd;
  border-radius: 6px;
  padding: 10px 16px;
  margin: 28px 0 16px;
  color: #222;
}
.entry-content .ma-point-badge {
  background: #1a56db !important;
  color: #fff !important;
  font-size: 13px;
  font-weight: bold;
  border-radius: 4px;
  padding: 2px 10px;
  white-space: nowrap;
}

/* 結論バッジ */
.entry-content .ma-verdict {
  display: inline-block;
  font-size: 12px;
  font-weight: bold;
  border-radius: 4px;
  padding: 3px 10px;
  vertical-align: middle;
}
.entry-content .ma-verdict.nell   { background: #1a56db; color: #fff; }
.entry-content .ma-verdict.motton { background: #c05000; color: #fff; }
.entry-content .ma-verdict.tie    { background: #555;    color: #fff; }


/* ==========================================================
   5. 体重別フローチャート
   ========================================================== */
.entry-content .ma-weight-chart {
  border: 1px solid #ddd;
  border-radius: 8px;
  overflow: hidden;
  margin: 20px 0;
  font-size: 14.5px;
}
.entry-content .ma-weight-row {
  display: flex;
  align-items: stretch;
  border-bottom: 1px solid #ddd;
}
.entry-content .ma-weight-row:last-child {
  border-bottom: none;
}
.entry-content .ma-wt-label {
  background: #444 !important;
  color: #fff !important;
  font-weight: bold;
  padding: 12px 16px;
  min-width: 130px;
  display: flex;
  align-items: center;
  flex-shrink: 0;
}
.entry-content .ma-wt-body {
  padding: 12px 16px;
  flex: 1;
  background: #fafafa;
  line-height: 1.75;
}
.entry-content .ma-wt-body strong {
  color: #1a56db;
}


/* ==========================================================
   6. 口コミ引用ボックス
   ========================================================== */
.entry-content .ma-review-box {
  background: #f8f8f8;
  border-left: 4px solid #aaa;
  padding: 14px 16px;
  margin: 14px 0;
  border-radius: 0 6px 6px 0;
  font-size: 14.5px;
  line-height: 1.75;
}
.entry-content .ma-review-box.good {
  border-left-color: #27ae60;
  background: #f0fff5;
}
.entry-content .ma-review-box.bad {
  border-left-color: #c0392b;
  background: #fff0f0;
}
.entry-content .ma-review-label {
  font-size: 11px;
  font-weight: bold;
  margin-bottom: 6px;
  color: #555;
}
.entry-content .ma-review-label.good { color: #27ae60; }
.entry-content .ma-review-label.bad  { color: #c0392b; }


/* ==========================================================
   7. おすすめな人ボックス（2カラム）
   ========================================================== */
.entry-content .ma-recommend-wrap {
  display: flex;
  gap: 16px;
  margin: 20px 0;
  flex-wrap: wrap;
}
.entry-content .ma-recommend-box {
  flex: 1;
  min-width: 240px;
  border-radius: 8px;
  padding: 18px 18px 14px;
  font-size: 14px;
}
.entry-content .ma-recommend-box.nell {
  background: #eef3ff;
  border: 2px solid #1a56db;
}
.entry-content .ma-recommend-box.motton {
  background: #fff7f0;
  border: 2px solid #c05000;
}
/* ボックス内h3はCocoonのh3スタイルをリセット */
.entry-content .ma-recommend-box h3 {
  border: none;
  border-bottom-width: 2px;
  border-bottom-style: solid;
  padding-bottom: 6px;
  margin: 0 0 10px;
  font-size: 15px;
  background: transparent;
}
.entry-content .ma-recommend-box.nell h3 {
  color: #1a56db;
  border-bottom-color: #1a56db;
}
.entry-content .ma-recommend-box.motton h3 {
  color: #c05000;
  border-bottom-color: #c05000;
}
.entry-content .ma-recommend-box ul {
  padding-left: 18px;
  margin: 0;
}
.entry-content .ma-recommend-box li {
  margin-bottom: 6px;
  line-height: 1.6;
}


/* ==========================================================
   8. 内部リンクバナー
   ========================================================== */
.entry-content .ma-internal-link {
  display: block;
  background: #f0f4ff;
  border: 1px solid #b0c4f8;
  border-radius: 6px;
  padding: 12px 16px;
  text-decoration: none !important;
  color: #1a56db !important;
  font-size: 14px;
  margin: 14px 0;
  transition: background 0.2s;
}
.entry-content .ma-internal-link:hover {
  background: #dde8ff;
}
.entry-content .ma-internal-link::before {
  content: "▶ ";
}


/* ==========================================================
   9. FAQアコーディオン
   ========================================================== */
.entry-content .ma-faq-item {
  border: 1px solid #e0e0e0;
  border-radius: 6px;
  margin: 10px 0;
  overflow: hidden;
}
.entry-content .ma-faq-q {
  background: #f5f5f5;
  padding: 13px 16px;
  font-weight: bold;
  font-size: 15px;
  color: #1a1a1a;
}
.entry-content .ma-faq-q::before {
  content: "Q. ";
  color: #1a56db;
}
.entry-content .ma-faq-a {
  padding: 14px 16px;
  font-size: 14.5px;
  background: #fff;
  line-height: 1.8;
}
.entry-content .ma-faq-a::before {
  content: "A. ";
  font-weight: bold;
  color: #c05000;
}


/* ==========================================================
   10. レスポンシブ対応
   ========================================================== */
@media (max-width: 600px) {
  .entry-content .ma-recommend-wrap {
    flex-direction: column;
  }
  .entry-content .ma-spec-table,
  .entry-content .ma-summary-table {
    font-size: 12.5px;
  }
  .entry-content .ma-spec-table th,
  .entry-content .ma-spec-table td,
  .entry-content .ma-summary-table th,
  .entry-content .ma-summary-table td {
    padding: 8px 8px;
  }
  .entry-content .ma-wt-label {
    min-width: 90px;
    font-size: 13px;
  }
  .entry-content .ma-cta-btn {
    display: block;
    margin: 6px auto;
    max-width: 320px;
    text-align: center;
  }
  .entry-content .ma-point-h3 {
    font-size: 14px;
  }
}


/* ===== ブランドカラー変数（デフォルト値） ===== */
:root {
  --color-a: #1a56db;   /* ブランドAのメインカラー（デフォルト：青） */
  --color-b: #c05000;   /* ブランドBのメインカラー（デフォルト：橙） */
  --color-a-bg: #eef3ff;
  --color-b-bg: #fff7f0;
}

/* ===== スペック比較表 ===== */
.ma-col-a  { background: var(--color-a-bg); text-align: center; }
.ma-col-b  { background: var(--color-b-bg); text-align: center; }
.ma-win-a  { color: var(--color-a); font-weight: bold; }
.ma-win-b  { color: var(--color-b); font-weight: bold; }

.ma-spec-table thead th.ma-col-a { background: var(--color-a); color: #fff; }
.ma-spec-table thead th.ma-col-b { background: var(--color-b); color: #fff; }

/* ===== おすすめボックス ===== */
.ma-recommend-box.a { background: var(--color-a-bg); border: 2px solid var(--color-a); }
.ma-recommend-box.b { background: var(--color-b-bg); border: 2px solid var(--color-b); }
.ma-recommend-box.a h3 { color: var(--color-a); border-bottom: 2px solid var(--color-a); padding-bottom: 6px; }
.ma-recommend-box.b h3 { color: var(--color-b); border-bottom: 2px solid var(--color-b); padding-bottom: 6px; }

/* ===== CTAボタン ===== */
.ma-cta-btn.a { background: var(--color-a); }
.ma-cta-btn.b { background: var(--color-b); }

/* ===== verdictバッジ ===== */
.ma-verdict.a { background: var(--color-a); color: #fff; }
.ma-verdict.b { background: var(--color-b); color: #fff; }

/* ===== まとめ表 ===== */
.ma-summary-table .win-a { background: var(--color-a); color: #fff; font-weight: bold; }
.ma-summary-table .win-b { background: var(--color-b); color: #fff; font-weight: bold; }


  /* ===== ライティング解説ボックス ===== */
  .memo {
    background: #fffbea;
    border-left: 5px solid #f0a500;
    border-radius: 4px;
    padding: 14px 18px;
    margin: 24px 0;
    font-size: 13.5px;
    line-height: 1.75;
    color: #5a3e00;
  }
  .memo strong { color: #c07000; display: block; margin-bottom: 6px; font-size: 14px; }
  .memo ul { padding-left: 18px; margin-top: 6px; }
  .memo li { margin-bottom: 5px; }
 
  /* ===== 記事コンテンツ ===== */
  h1 {
    font-size: 22px;
    font-weight: bold;
    line-height: 1.5;
    margin: 24px 0 16px;
    color: #1a1a1a;
  }
  h2 {
    font-size: 19px;
    font-weight: bold;
    border-left: 5px solid #1a56db;
    padding: 10px 14px;
    background: #f0f4ff;
    margin: 44px 0 20px;
    line-height: 1.5;
    color: #1a1a1a;
  }
  h3 {
    font-size: 16px;
    font-weight: bold;
    border-bottom: 2px solid #ccd;
    padding-bottom: 6px;
    margin: 30px 0 14px;
    color: #222;
  }
  p { margin-bottom: 16px; }
  strong { color: #c0392b; }
 
  /* ===== スペック表 ===== */
  .spec-table {
    width: 100%;
    border-collapse: collapse;
    margin: 20px 0 28px;
    font-size: 14.5px;
  }
  .spec-table th, .spec-table td {
    border: 1px solid #ddd;
    padding: 10px 12px;
    vertical-align: top;
  }
  .spec-table thead th {
    background: #1a56db;
    color: #fff;
    text-align: center;
    font-size: 15px;
    font-weight: bold;
  }
  .spec-table tbody tr:nth-child(even) { background: #f7f9ff; }
  .spec-table .label-col { background: #f0f0f0; font-weight: bold; color: #333; width: 35%; }
 
  /* ===== CTA ボタン ===== */
  .cta-block {
    background: #f0f4ff;
    border: 2px solid #1a56db;
    border-radius: 8px;
    padding: 20px 20px 16px;
    margin: 30px 0;
    text-align: center;
  }
  .cta-block p { font-size: 14px; margin-bottom: 12px; color: #444; }
  .cta-btn {
    display: inline-block;
    background: #1a56db;
    color: #fff !important;
    text-decoration: none;
    font-weight: bold;
    font-size: 15px;
    padding: 13px 28px;
    border-radius: 50px;
    margin: 5px 4px;
    line-height: 1.4;
    transition: opacity 0.2s;
  }
  .cta-btn:hover { opacity: 0.85; }
  .cta-sub { font-size: 12px; color: #888; margin-top: 8px !important; }
 
  /* ===== 口コミ引用 ===== */
  .review-box {
    background: #f8f8f8;
    border-left: 4px solid #aaa;
    padding: 14px 16px;
    margin: 14px 0;
    border-radius: 0 6px 6px 0;
    font-size: 14.5px;
  }
  .review-box.good { border-left-color: #27ae60; background: #f0fff5; }
  .review-box.bad { border-left-color: #c0392b; background: #fff0f0; }
  .review-label { font-size: 11px; font-weight: bold; text-transform: uppercase; margin-bottom: 6px; color: #555; }
  .review-label.good { color: #27ae60; }
  .review-label.bad { color: #c0392b; }
  .review-source { font-size: 12px; color: #888; margin-top: 6px; }
 
  /* ===== おすすめ人ボックス ===== */
  .recommend-wrap { display: flex; gap: 16px; margin: 20px 0; flex-wrap: wrap; }
  .recommend-box {
    flex: 1;
    min-width: 240px;
    border-radius: 8px;
    padding: 18px 18px 14px;
    font-size: 14px;
  }
  .recommend-box.yes { background: #eef3ff; border: 2px solid #1a56db; }
  .recommend-box.no { background: #fff0f0; border: 2px solid #c0392b; }
  .recommend-box h3 { border: none; margin-bottom: 10px; font-size: 15px; }
  .recommend-box.yes h3 { color: #1a56db; border-bottom: 2px solid #1a56db; padding-bottom: 6px; }
  .recommend-box.no h3 { color: #c0392b; border-bottom: 2px solid #c0392b; padding-bottom: 6px; }
  .recommend-box ul { padding-left: 18px; }
  .recommend-box li { margin-bottom: 6px; line-height: 1.6; }
 
  /* ===== メリデメボックス ===== */
  .merit-demerit { display: flex; gap: 16px; margin: 20px 0; flex-wrap: wrap; }
  .merit-box, .demerit-box {
    flex: 1;
    min-width: 240px;
    border-radius: 8px;
    padding: 16px;
    font-size: 14px;
  }
  .merit-box { background: #eef3ff; border: 1px solid #b0c4f8; }
  .demerit-box { background: #fff5f5; border: 1px solid #f0b0b0; }
  .merit-box h4 { color: #1a56db; margin-bottom: 10px; font-size: 15px; }
  .demerit-box h4 { color: #c0392b; margin-bottom: 10px; font-size: 15px; }
  .merit-box ul, .demerit-box ul { padding-left: 16px; }
  .merit-box li, .demerit-box li { margin-bottom: 5px; line-height: 1.6; }
 
  /* ===== 内部リンクバナー ===== */
  .internal-link {
    display: block;
    background: #f0f4ff;
    border: 1px solid #b0c4f8;
    border-radius: 6px;
    padding: 12px 16px;
    text-decoration: none;
    color: #1a56db;
    font-size: 14px;
    margin: 14px 0;
    transition: background 0.2s;
  }
  .internal-link:hover { background: #dde8ff; }
  .internal-link::before { content: "▶ "; }
 
  /* ===== FAQアコーディオン ===== */
  .faq-item {
    border: 1px solid #e0e0e0;
    border-radius: 6px;
    margin: 10px 0;
    overflow: hidden;
  }
  .faq-q {
    background: #f5f5f5;
    padding: 13px 16px;
    font-weight: bold;
    font-size: 15px;
    color: #1a1a1a;
  }
  .faq-q::before { content: "Q. "; color: #1a56db; }
  .faq-a {
    padding: 14px 16px;
    font-size: 14.5px;
    background: #fff;
  }
  .faq-a::before { content: "A. "; font-weight: bold; color: #c05000; }
 
  /* ===== 目次 ===== */
  .toc {
    background: #f5f5f5;
    border: 1px solid #ddd;
    border-radius: 6px;
    padding: 16px 20px;
    margin: 24px 0 32px;
    font-size: 14px;
  }
  .toc-title { font-weight: bold; font-size: 15px; margin-bottom: 10px; }
  .toc ol { padding-left: 20px; }
  .toc li { margin: 5px 0; }
  .toc a { color: #1a56db; text-decoration: none; }
  .toc a:hover { text-decoration: underline; }
 
  /* ===== 価格表 ===== */
  .price-table {
    width: 100%;
    border-collapse: collapse;
    margin: 16px 0 24px;
    font-size: 14px;
  }
  .price-table th, .price-table td {
    border: 1px solid #ddd;
    padding: 10px 12px;
    text-align: center;
  }
  .price-table th { background: #1a56db; color: #fff; }
  .price-table .highlight { background: #fff8e0; font-weight: bold; }
 
  /* ===== 特徴セクション ===== */
  .feature-card {
    background: #fafafa;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    padding: 18px;
    margin: 16px 0;
  }
  .feature-card h4 {
    color: #1a56db;
    font-size: 15px;
    margin-bottom: 8px;
  }
 
  @media (max-width: 600px) {
    h1 { font-size: 19px; }
    h2 { font-size: 17px; }
    .recommend-wrap, .merit-demerit { flex-direction: column; }
    .spec-table { font-size: 12.5px; }
  }


/* ============================================================
   エアウィーヴ愛用者記事 共通スタイル
   ファイル名: airweave-celebrity.css
   適用範囲: /column/ 配下のエアウィーヴ愛用者記事全般
   プレフィックス: aw-
   
   ■ 登録方法（Cocoon）
   外観 → テーマファイルエディター → style.css
   または Cocoon設定 → CSS に追記
   
   ■ 使い方
   各記事の <style> タグは不要。
   記事固有の要素（バッジ等）がある場合のみ、
   記事内 <style> で追加定義する。
   ============================================================ */

/* === CSS変数 === */
:root {
  --aw-navy:    #1a237e;
  --aw-navy-bg: #e8eaf6;
  --aw-gold:    #f9a825;
  --aw-border:  #e0e0e0;
  --aw-green:   #2e7d32;
}

/* === 導入ボックス === */
.aw-lead-box {
  background: #fff8e1;
  border-left: 5px solid var(--aw-gold);
  padding: 18px 20px;
  border-radius: 4px;
  margin: 20px 0;
  font-size: 15px;
  line-height: 1.8;
}
.aw-lead-box ul { margin: 8px 0 0 0; padding-left: 20px; }
.aw-lead-box li { margin-bottom: 4px; }

/* === スペック表（モデル比較等） === */
.aw-spec-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
  margin: 20px 0;
}
.aw-spec-table th,
.aw-spec-table td {
  border: 1px solid var(--aw-border);
  padding: 10px 14px;
  text-align: left;
  vertical-align: top;
}
.aw-spec-table thead th {
  background: var(--aw-navy) !important;
  color: #fff !important;
  font-weight: bold;
  text-align: center;
}
.aw-spec-table tbody tr:nth-child(odd) { background: #fafafa; }
.aw-spec-table .aw-label {
  font-weight: bold;
  width: 36%;
  background: #f5f5f5;
}

/* === 口コミボックス === */
.aw-review-box {
  border-radius: 8px;
  padding: 16px 20px;
  margin: 14px 0;
}
.aw-review-box.good { background: #f1f8e9; border: 1px solid #8bc34a; }
.aw-review-box.bad  { background: #fff3e0; border: 1px solid #ff9800; }
.aw-review-label {
  font-size: 12px;
  font-weight: bold;
  margin-bottom: 6px;
  display: block;
}
.aw-review-box.good .aw-review-label { color: #558b2f; }
.aw-review-box.bad  .aw-review-label { color: #e65100; }
.aw-review-text { font-size: 14.5px; line-height: 1.75; margin: 0; }
.aw-review-attr { font-size: 12px; color: #777; text-align: right; margin-top: 8px; }

/* === デメリットボックス === */
.aw-demerit-box {
  background: #fce4ec;
  border: 2px solid #e91e63;
  border-radius: 8px;
  padding: 18px 22px;
  margin: 24px 0;
}
.aw-demerit-box h4 { color: var(--aw-navy); font-size: 16px; margin: 0 0 10px 0; }
.aw-demerit-box ul { margin: 0; padding-left: 22px; }
.aw-demerit-box li { margin-bottom: 8px; font-size: 14.5px; line-height: 1.7; }

/* === 代替品カード（NELL・モットン等） === */
.aw-alt-card {
  border: 2px solid var(--aw-navy);
  border-radius: 10px;
  padding: 20px 24px;
  margin: 20px 0;
}
.aw-alt-card h3 {
  color: var(--aw-navy);
  font-size: 17px;
  margin: 0 0 12px 0;
  border-bottom: 2px solid var(--aw-navy);
  padding-bottom: 8px;
}
.aw-alt-card table { width: 100%; border-collapse: collapse; font-size: 13.5px; }
.aw-alt-card table th,
.aw-alt-card table td {
  border: 1px solid var(--aw-border);
  padding: 8px 12px;
  text-align: left;
  vertical-align: top;
}
.aw-alt-card table th {
  background: var(--aw-navy-bg) !important;
  font-weight: bold;
  width: 35%;
}

/* === CTAブロック === */
.aw-cta-block {
  background: #fafafa;
  border: 1px solid var(--aw-border);
  border-radius: 10px;
  padding: 24px 28px;
  margin: 32px 0;
  text-align: center;
}
.aw-cta-title {
  font-size: 16px;
  font-weight: bold;
  margin-bottom: 16px;
  color: #333;
}
.aw-cta-btn {
  display: inline-block;
  padding: 14px 28px;
  border-radius: 6px;
  font-size: 15px;
  font-weight: bold;
  color: #fff !important;
  text-decoration: none;
  margin: 6px;
  transition: opacity 0.2s;
}
.aw-cta-btn:hover { opacity: 0.85; color: #fff !important; }
.aw-cta-btn.navy  { background: var(--aw-navy); }
.aw-cta-btn.green { background: var(--aw-green); }
.aw-cta-btn.teal  { background: #00796b; }
.aw-cta-sub {
  font-size: 12px;
  color: #888;
  margin-top: 12px;
  line-height: 1.6;
}

/* === FAQブロック === */
.aw-faq-item {
  border: 1px solid var(--aw-border);
  border-radius: 8px;
  margin: 16px 0;
  overflow: hidden;
}
.aw-faq-q {
  background: var(--aw-navy-bg);
  padding: 14px 18px;
  font-weight: bold;
  font-size: 15px;
  color: var(--aw-navy);
}
.aw-faq-q::before { content: "Q. "; }
.aw-faq-a {
  padding: 14px 18px;
  font-size: 14.5px;
  line-height: 1.75;
  background: #fff;
}
.aw-faq-a::before { content: "A. "; font-weight: bold; color: var(--aw-navy); }

/* === まとめ比較表 === */
.aw-summary-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
  margin: 20px 0;
}
.aw-summary-table th,
.aw-summary-table td {
  border: 1px solid var(--aw-border);
  padding: 10px 14px;
  vertical-align: top;
}
.aw-summary-table thead th {
  background: #444 !important;
  color: #fff !important;
  text-align: center;
  font-weight: bold;
}
.aw-summary-table .aw-win {
  background: #fff9c4;
  font-weight: bold;
}

/* === 関連記事リンク === */
.aw-related-links {
  background: #f5f5f5;
  border-radius: 8px;
  padding: 18px 22px;
  margin: 32px 0;
}
.aw-related-links h4 { font-size: 15px; color: #444; margin: 0 0 10px 0; }
.aw-related-links ul { margin: 0; padding-left: 22px; }
.aw-related-links li { margin-bottom: 6px; font-size: 14px; }

/* === ライティングメモ（wp_body版のみ使用。publish版では不要） === */
.ma-memo {
  background: #fffde7;
  border: 2px dashed #f9a825;
  border-radius: 6px;
  padding: 14px 18px;
  margin: 12px 0;
  font-size: 13px;
  color: #5d4037;
  line-height: 1.7;
}
.ma-memo strong { color: #e65100; }

/* === レスポンシブ === */
@media (max-width: 600px) {
  .aw-spec-table { font-size: 12.5px; }
  .aw-alt-card { padding: 14px 16px; }
  .aw-cta-block { padding: 16px 14px; }
  .aw-cta-btn { display: block; margin: 8px 0; }
}

/************************************
** レスポンシブデザイン用のメディアクエリ
************************************/
/*1023px以下*/
@media screen and (max-width: 1023px){
  /*必要ならばここにコードを書く*/
}

/*834px以下*/
@media screen and (max-width: 834px){
  /*必要ならばここにコードを書く*/
}

/*480px以下*/
@media screen and (max-width: 480px){
  /*必要ならばここにコードを書く*/
}
