/* --- 全体のコンテナ --- */
.all_sale_info_wrap {
  font-family:
    -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue",
    sans-serif;
  max-width: 600px;
  margin: 20px auto;
  border-radius: 12px;
  overflow: hidden;
  border: none;
  background: #ffffff;
  box-shadow: none;
  display: flex;
  flex-direction: column;
}

/* --- セール終了告知ボタン --- */
.sale_end {
  display: block;
  width: fit-content;
  margin: 15px auto 5px auto; /* 下の隙間を5pxに固定 */
  padding: 8px 24px;
  background: #fff3cd;
  border: 1px solid #ffeeba;
  border-radius: 50px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
  line-height: 1.5;
}

.sale_end p {
  margin: 0 !important;
  text-align: center;
  font-size: 0.9em;
  font-weight: bold;
}

/* PCではスマホ用改行を隠す */
.sp_only {
  display: none;
}

/* --- 価格テーブルエリア --- */
.sale_price_wrap {
  width: 100%;
  padding: 10px; /* 黒枠が外枠にぶつからないよう調整 */
  box-sizing: border-box;
}

.sale_price_table {
  display: flex;
  flex-direction: column;
  width: 100%;
  border: 2px solid #000000; /* 黒枠 */
  border-radius: 8px;
  overflow: hidden;
  box-sizing: border-box;
}

.sale_price_row {
  display: flex;
  align-items: center;
  padding: 12px 16px;
  background: #ffffff;
  border-bottom: 1px solid #b4b4b4; /* 区切り線 */
  transition: background-color 0.2s;
}

.sale_price_row:last-child {
  border-bottom: none;
}

.sale_price_row:hover {
  background-color: #f8fafc;
}

/* --- パーツ詳細 --- */
.sale_name {
  flex: 1;
  font-weight: 600;
  color: #1a202c;
  line-height: 1.4;
  font-size: 15px;
}

.sale_term {
  flex: 0 0 80px;
  color: #718096;
  font-size: 0.85em;
  text-align: center;
}

.erntn_price_wrap {
  flex: 0 0 auto;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  min-width: 110px;
}

.erntn_list_price {
  font-size: 0.75em;
  color: #a0aec0;
  text-decoration: line-through;
}

.erntn_sale_price {
  font-size: 1.3em;
  font-weight: 800;
  color: #e53e3e;
}

.erntn_sale_price a {
  color: inherit;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

/* --- スマホ最適化 (480px以下) --- */
@media (max-width: 480px) {
  /* スマホの時だけ改行を有効にする */
  .sp_only {
    display: inline;
  }

  .sale_end {
    border-radius: 15px; /* 改行時は角丸を少し緩く */
    padding: 10px 20px;
  }

  .sale_price_row {
    padding: 10px 12px;
    gap: 8px;
  }

  .sale_name {
    font-size: 14px;
  }

  .sale_term {
    flex: none;
    font-size: 10px;
    text-align: right;
    margin-bottom: -2px;
  }

  .erntn_price_wrap {
    min-width: 90px;
  }

  .erntn_list_price {
    font-size: 10px;
  }

  .erntn_sale_price {
    font-size: 16px;
  }
}
/* =========================
   AVアフィリエイトボタン【上下余白 視覚調整版】
========================= */

.entry-content .av-btn-wrap {
  margin: 24px 0 !important;
  text-align: center !important;
}

.entry-content .av-btn {
  display: inline-block !important;
  box-sizing: border-box !important;
  width: 100%;
  max-width: 480px;

  /* ▽ ここで「上の隙間」を削り、「下の隙間」を増やしてバランスをとる ▽ */
  padding: 17px 0 20px 0 !important;

  /* 行の高さを最小限にして、paddingの制御を優先させる */
  line-height: 0.6 !important;

  /* 文字デザイン（画像に合わせる） */
  font-size: 19px !important;
  font-weight: 800 !important;
  color: #ffffff !important;
  text-decoration: none !important;
  text-align: center;

  /* ボタン装飾（形は画像に合わせて角10px） */
  border-radius: 10px !important;
  background: linear-gradient(to bottom, #ff4500, #e60000) !important;
  box-shadow: 0 6px 15px rgba(0, 0, 0, 0.2) !important;
  border: none !important;
  cursor: pointer;
  transition: all 0.2s ease;
}

/* ホバー時（Cocoonの透過機能をOFF） */
.entry-content .av-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.3) !important;
  opacity: 1 !important;
  color: #ffffff !important;
}

/* スマホ用（480px以下） */
@media (max-width: 480px) {
  .entry-content .av-btn {
    /* 1. タップしやすさを考慮した高さ（48px以上を確保） */
    padding: 14px 0 16px 0 !important;

    /* 2. 文字の視認性調整 */
    font-size: 18px !important; /* 17pxより少し大きくしてインパクト重視 */
    line-height: 1.1 !important; /* スマホのフォントで文字が欠けない程度に緩和 */
    letter-spacing: 0.02em !important;

    /* 3. 画面端に少し余白を持たせて「ボタン感」を強調 */
    width: 92% !important;
    max-width: none !important;

    /* 4. 影を少し浅くしてフラットデザインに寄せる（スマホのトレンド） */
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2) !important;

    /* 5. 角丸を少し緩やかに（デバイスの角丸に合わせる） */
    border-radius: 8px !important;
  }
}
