@charset "UTF-8";

/* リンクバナー用 */
.btn-banner {
  /* 見た目 */
  background-color: #ff8800;
  color: #ffffff;
  border: 1px solid #000000;
  border-radius: 20px;
  box-shadow: 0 4px 10px rgba(0,0,0,0.25);
  text-decoration: none;
  font-weight: bold;
  font-size: 18px;
  transition: background-color .3s ease, box-shadow .3s ease;

  /* レイアウト（ここがポイント） */
  display: block;            /* 中央寄せに効かせるため block に */
  width: fit-content;        /* ← 内容の幅にフィット */
  margin: 40px auto;         /* ← 自動で中央寄せ */
  padding: 18px 32px;        /* ← バナー“風”の厚みを作る */
  box-sizing: border-box;
  white-space: nowrap;       /* ← 1行で伸縮させたい場合は付ける */
}

.btn-banner:hover {
  background-color: #e67600;
  box-shadow: 0 6px 14px rgba(0,0,0,0.35);
}

/* スマホは画面幅に合わせたい場合（任意） */
@media (max-width: 768px) {
  .btn-banner {
    max-width: 90%;      /* 画面からはみ出さないように */
    white-space: normal; /* スマホでは折り返し許可（任意） */
    text-align: center;
  }
}

/* 特典用CSS */
/* セクション全体（背景なしで中央揃え） */
.benefits-section {
  background: none;
  padding: 60px 20px;
}

/* 3枚のカードを横並び */
.benefits-grid {
  max-width: 1100px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
}

/* 各カード */
.benefit-card {
  background: #ffffff;
  border-radius: 18px;
  padding: 36px 24px;
  text-align: center;
  box-shadow:
    0 10px 24px rgba(0, 0, 0, 0.1),
    0 0 0 1px rgba(0, 0, 0, 0.05);
}

/* 🔸 特典1/2/3（赤文字・大きめ） */
.benefit-label {
  color: #e53935;
  font-weight: 900;
  font-size: clamp(22px, 3.5vw, 32px); 
  letter-spacing: 0.03em;
  margin-bottom: 12px;
}

/* 🔸 内容テキスト（黒文字・さらに大きく） */
.benefit-title {
  color: #1f2937;
  font-weight: 900;
  font-size: clamp(25px, 3vw, 35px);
  line-height: 1.25;
  margin: 0;
}


/* スマホ対応 */
@media (max-width: 900px) {
  .benefits-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  .benefit-card {
    padding: 28px 18px;
  }
  .benefit-label {
    font-size: clamp(22px, 5vw, 30px);
  }
  .benefit-title {
    font-size: clamp(28px, 7vw, 40px);
  }
}

/* ===== テーブル全体を横スクロール対応にする ===== */
.table-scroll {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  margin: 20px 0;
}

/* ===== 表のデザイン（中央揃え＋文字サイズアップ） ===== */
.price-table {
  border-collapse: collapse;
  width: 100%;
  min-width: 700px; 
  background: #fff;
  font-size: 16px; 
  line-height: 1.6;
  text-align: center; 
}

.price-table th {
  background: #f8f6f2;
  color: #333;
  font-weight: bold;
  padding: 12px;
  border-bottom: 1px solid #ddd;
  white-space: nowrap;
}

.price-table td {
  padding: 12px;
  border-bottom: 1px solid #eee;
  vertical-align: middle;
  white-space: nowrap;
}

.price-table tr:nth-child(even) td {
  background: #fafafa;
}

.price-table small {
  color: #666;
  font-size: 13px; 
  display: block; 
}

/* ===== スマホ調整 ===== */
@media (max-width: 768px) {
  .price-table {
    font-size: 15px; 
    min-width: 600px;
  }
}

/* ===== テーブルスクロールエリア（共通） ===== */
.table-scroll {
  position: relative;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  margin: 20px 0;
}

.table-scroll {
  position: relative;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

/* wrapper：矢印を出す領域（疑似要素はここに出す） */
.table-wrap {
  position: relative;
  margin: 20px 0;
}

/* 実際に横スクロールするエリア */
.table-scroll {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

/* テーブルデザイン（既存のものと統合してOK） */
.price-table {
  border-collapse: collapse;
  width: 100%;
  min-width: 700px;
  background: #fff;
  font-size: 16px;
  text-align: center;
  line-height: 1.6;
}

/* スクロールを促すアニメーション矢印（ラッパに付ける） */
.table-wrap::after {
  content: "⇢";
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 22px;
  color: rgba(0,0,0,0.35);
  pointer-events: none;
  opacity: 0;
  animation: swipe-hint 1.8s infinite;
  z-index: 10;
}

/* アニメーション */
@keyframes swipe-hint {
  0%   { opacity: 0; transform: translate(0, -50%) scale(0.95); }
  25%  { opacity: 1; transform: translate(6px, -50%) scale(1); }
  55%  { opacity: 0; transform: translate(12px, -50%) scale(1.03); }
  100% { opacity: 0; transform: translate(12px, -50%) scale(1.03); }
}

/* ===== オプション：スマホだけに表示する場合（有効にするならアンコメント） ===== */
/*
@media (min-width: 769px) {
  .table-wrap::after { display: none; }
}
*/

/* ===== もし矢印がテーブルの右端に重なってしまうなら、余白を少し追加 ===== */
.table-wrap { padding-right: 40px; } /* 矢印の分だけ余白を確保 */
