@charset "UTF-8";

/* ==========================================================================
   RESET & BASE STYLES
   ========================================================================== */
*, *::before, *::after {
  box-sizing: border-box;
}

body {
  margin: 0;
  padding: 0;
  font-family: 'Noto Sans JP', sans-serif;
  background: linear-gradient(135deg, #311b92, #6a1b9a, #880e4f);
  background-attachment: fixed;
  background-size: cover;
  color: #2c3e50;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}

img {
  max-width: 100%;
  height: auto;
  display: block;
}

a {
  text-decoration: none;
  color: inherit;
  transition: opacity 0.2s ease;
}
a:hover {
  opacity: 0.85;
}

/* フィルター非表示用の最優先クラス（ボタンのアニメーションを邪魔しない） */
.filter-hidden {
  display: none !important;
}

/* ==========================================================================
   LAYOUT CONTAINER
   ========================================================================== */
.app-container {
  width: 100%;
  max-width: 680px;
  margin: 0 auto;
  background: #ffffff;
  min-height: 100vh;
  box-shadow: 0 0 40px rgba(0, 0, 0, 0.3);
  display: flex;
  flex-direction: column;
  padding-bottom: 95px;
}

/* ==========================================================================
   HEADER & FOOTER
   ========================================================================== */
.site-header {
  background: #111111;
  color: #ffffff;
  text-align: center;
  padding: 12px;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.05em;
  margin: 0 !important;
}

.site-footer {
  margin: 0 !important;
  background: #111111;
  color: #85929e;
  padding: 24px 20px;
  text-align: center;
  font-size: 11px;
}

/* ==========================================================================
   HERO & INTRO
   ========================================================================== */
.hero-section {
  position: relative;
  background: #111;
}

.promo-badge {
  position: absolute;
  top: 10px;
  left: 10px;
  background: rgba(0, 0, 0, 0.6);
  backdrop-filter: blur(4px);
  color: #fff;
  font-size: 10px;
  padding: 3px 8px;
  border-radius: 4px;
}

.survey-date {
  position: absolute;
  bottom: 10px;
  right: 10px;
  background: #ff4757;
  color: #fff;
  font-size: 11px;
  font-weight: bold;
  padding: 4px 10px;
  border-radius: 20px;
}

.hero-intro {
  padding: 16px 20px;
  background: linear-gradient(180deg, #1e272e, #0a0f1d);
  color: #ffffff;
  font-size: 13.5px;
  border-bottom: 4px solid #ef5777;
}

.update-tag {
  color: #ffdd59;
  font-weight: 700;
  margin-right: 5px;
}

/* ==========================================================================
   絞り込み検索（フィルターパネル）
   ========================================================================== */
.filter-panel {
  background: #ffffff;
  border-radius: 16px;
  padding: 16px;
  margin-bottom: 24px;
  border: 2px dashed #ff7675;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.03);
}

.filter-title {
  font-size: 14px;
  font-weight: 700;
  color: #111111;
  margin-bottom: 14px;
  display: flex;
  align-items: center;
  gap: 6px;
}
.filter-title i {
  color: #ff4757;
}

.filter-group {
  margin-bottom: 12px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
@media (min-width: 480px) {
  .filter-group {
    flex-direction: row;
    align-items: center;
  }
}

.filter-label {
  font-size: 11.5px;
  font-weight: 700;
  color: #7f8c8d;
  background: #f1f2f6;
  padding: 2px 8px;
  border-radius: 4px;
  min-width: 90px;
  text-align: center;
}

.filter-options {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  flex: 1;
}

.filter-options label {
  font-size: 13px;
  font-weight: 700;
  color: #4b5563;
  cursor: pointer;
  padding: 4px 0;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

.filter-result-bar {
  margin-top: 14px;
  padding-top: 10px;
  border-top: 1px solid #f1f2f6;
  font-size: 12px;
  font-weight: 700;
  color: #2c3e50;
  text-align: right;
}
#match-count {
  color: #ff4757;
  font-size: 15px;
}

/* ==========================================================================
   案件カードデザイン
   ========================================================================== */
.main-content {
  padding: 20px 14px;
  background: #f4f6f9;
}

.ranking-item {
  position: relative;
  border-radius: 16px;
  padding: 18px 16px 16px;
  margin-bottom: 28px;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.05);
}

.item-odd { background: #ffffff; border: 1px solid #e2e8f0; }
.item-even { background: #fafbfc; border: 1px solid #dee2e6; }
.item-even .rank-badge { left: auto; right: 16px; }

.rank-badge {
  position: absolute;
  top: -14px;
  color: #ffffff;
  font-size: 14px;
  font-weight: 900;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 5;
}
/* 「rank-」から始まるクラス名を持つ要素すべてに一括適用 */
[class*="rank-"] {
  background: #ff4757;
  box-shadow: 0 3px 8px rgba(255, 71, 87, 0.3);
}

.catchphrase {
  font-size: 13px;
  background: #ffe6eb;
  color: #d63031;
  display: inline-block;
  padding: 4px 10px;
  border-radius: 6px;
  font-weight: 700;
  margin: 0 0 12px 0;
  width: 100%;
}

.item-flex-grid {
  display: flex;
  gap: 14px;
  align-items: center;
  margin-bottom: 12px;
}

.item-icon {
  flex: 0 0 70px;
  width: 70px;
}
.item-icon img {
  border-radius: 14px;
  box-shadow: 0 4px 10px rgba(0,0,0,0.08);
}

.item-meta-block {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 2px;
}

.app-title { margin: 0; }
.app-title a {
  font-size: 17px;
  color: #111111;
  font-weight: 700;
}

/* 星評価 */
.rating_pc, .rating_ios, .rating_android, .rating_line, .rating_livechat {
  display: flex;
  align-items: center;
  gap: 6px;
  margin: 0;
  padding: 0;
}
.star5_rating {
  position: relative;
  z-index: 0;
  display: inline-block;
  white-space: nowrap;
  color: #d1d8e0;
  font-size: 15px;
  letter-spacing: 1px;
}
.star5_rating::before, .star5_rating::after { content: '★★★★★'; }
.star5_rating::after {
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  overflow: hidden;
  white-space: nowrap;
  color: #ffa801;
}
.star5_rating[data-rate="5"]::after { width: 100%; }
.star5_rating[data-rate="4.5"]::after { width: 90%; }
.star5_rating[data-rate="4"]::after { width: 80%; }

.score { font-weight: 700; color: #ff5e57; font-size: 13px; }

/* ==========================================================================
   ★追加：テキスト装飾クラス（マーカー・赤太字・黒太字）
   ========================================================================== */
.marker {
  background: linear-gradient(transparent 60%, #fff200 60%);
  font-weight: 700;
}

.red {
  color: #ff4757;
  font-weight: 700;
}

.bold { /* HTMLのスペル「bodl」に合わせています */
  font-weight: 700;
  color: #111111;
}

/* ==========================================================================
   ★変更：「mlcom_box_tag」に完全連動するCSS設定
   ========================================================================== */
.mlcom_box_tag {
  list-style: none;
  padding: 0;
  margin: 6px 0 2px 0;
  display: block;
  width: 100%;
}
.mlcom_box_tag li.tag_base {
  display: inline-block;
  font-size: 10.5px;
  font-weight: 700;
  padding: 2px 7px;
  margin: 0 4px 4px 0;
  border-radius: 4px;
  color: #ffffff;
  text-align: center;
  vertical-align: middle;
}
/* 大人LP用カラーパレット */
.mlcom_box_tag li.tag1 { background-color: #ff7675; } /* 特典・無料系：コーラルピンク */
.mlcom_box_tag li.tag2 { background-color: #54a0ff; } /* 通話・生配信系：スカイブルー */
.mlcom_box_tag li.tag3 { background-color: #1dd1a1; } /* 環境・ウェブ系：ミントグリーン */
.mlcom_box_tag li.tag4 { background-color: #a55eea; } /* 環境・アプリ系：パープル */
.mlcom_box_tag li.tag5 { background-color: #ff9f43; } /* 年齢・素人系：オレンジ */
.mlcom_box_tag li.tag6 { background-color: #6c5ce7; } /* 年齢・熟女系：ディープパープル */

/* ==========================================================================
   DESCRIPTIONS & CARDS
   ========================================================================== */
.item-description { font-size: 13px; color: #4b5563; margin-bottom: 12px; }

.bmbiz_box_card { margin: 12px 0; border-radius: 10px; overflow: hidden; border: 1px solid #e2e8f0; }
.bmbiz_box_card img { width: 100%; height: auto; display: block; }

/* アコーディオン */
.modern-accordion { background: #f8f9fa; border-radius: 8px; margin: 12px 0; border: 1px solid #e9ecef; overflow: hidden; }
.accordion-trigger { padding: 10px 12px; font-size: 12.5px; font-weight: 700; color: #2c3e50; cursor: pointer; background: #e9ecef; outline: none; list-style: none; }
.accordion-trigger::-webkit-details-marker { display: none; }
.accordion-content { padding: 12px; font-size: 12.5px; border-top: 1px solid #e9ecef; }

/* ==========================================================================
   BUTTONS & GIFT BANNER
   ========================================================================== */
.gift-banner {
  border-radius: 6px;
  padding: 8px;
  text-align: center;
  font-size: 12.5px;
  font-weight: 700;
  margin-bottom: 10px;
  border: 1px solid #fecd9a;
  background: #fffaf0;
  color: #e67e22;
}

.action-button-wrap { text-align: center; }
.btn-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  max-width: 320px;
  background: linear-gradient(135deg, #ff4757, #ff6b81);
  color: #ffffff;
  font-size: 17px;
  font-weight: 700;
  padding: 12px 20px;
  border-radius: 50px;
  box-shadow: 0 5px 15px rgba(255, 71, 87, 0.3);
}
.r18-badge { font-size: 10px; margin-left: 5px; color: #fff0f2; }

/* ピコピコ動くCSS超軽量アニメーション（干渉なしで正常動作します） */
.pulse-anim { 
  animation: pulse 2.5s infinite; 
}
@keyframes pulse { 
  0% { transform: scale(1); } 
  50% { transform: scale(1.04); } 
  100% { transform: scale(1); } 
}

/* ==========================================================================
   複数登録促しセクション
   ========================================================================== */
.multi-register-section {
  background: #ffffff;
  border-radius: 14px;
  padding: 16px;
  margin: 10px 0 25px 0;
  border: 2px solid #6a1b9a;
  box-shadow: 0 8px 20px rgba(106, 27, 154, 0.08);
}

.multi-title {
  font-size: 15px;
  font-weight: 700;
  color: #111111;
  text-align: center;
  margin: 0 0 4px 0;
}

.multi-subtitle {
  font-size: 12px;
  color: #ad1457;
  text-align: center;
  font-weight: 700;
  margin-bottom: 14px;
}

.reason-compact-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
}
@media (min-width: 480px) {
  .reason-compact-grid { grid-template-columns: repeat(2, 1fr); }
}

.reason-mini-card {
  background: #f8f9fa;
  border-top: 3px solid #6a1b9a;
  padding: 10px 12px;
  border-radius: 4px;
}
.reason-mini-card strong { display: block; font-size: 13px; color: #111111; margin-bottom: 4px; }
.reason-mini-card p { margin: 0; font-size: 11.5px; color: #4b5563; line-height: 1.4; }

.conclusion-box {
  margin-top: 12px;
  background: #fff3f5;
  border: 1px dashed #ff4757;
  padding: 10px 12px;
  border-radius: 8px;
  font-size: 12px;
  color: #2c3e50;
  line-height: 1.4;
}

/* ==========================================================================
   画面下部固定ナビ
   ========================================================================== */
.sticky-multi-nav {
  position: fixed;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  max-width: 680px;
  background: rgba(17, 17, 17, 0.95);
  backdrop-filter: blur(8px);
  padding: 10px 12px 12px 12px;
  box-shadow: 0 -8px 30px rgba(0, 0, 0, 0.25);
  z-index: 999;
  border-top: 2px solid #ff4757;
}

.sticky-nav-title { font-size: 11px; color: #ffdd59; text-align: center; font-weight: 700; margin-bottom: 8px; }
.sticky-links-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.sticky-btn { display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; color: #ffffff; font-size: 12px; font-weight: 700; padding: 8px 4px; border-radius: 8px; }
.sticky-btn span { font-size: 9px; font-weight: 500; opacity: 0.9; margin-top: 2px; }

.st-1 { background: linear-gradient(135deg, #ff4757, #ee5253); }
.st-2 { background: linear-gradient(135deg, #1dd1a1, #10ac84); }
.st-3 { background: linear-gradient(135deg, #ff9f43, #f5cd79); color: #111; }
.st-3 span { color: #222; }

.banner-card { border-radius: 14px; padding: 16px; margin: 25px 0 5px 0; color: #fff; }
.yellow-gradient { background: linear-gradient(135deg, #fbc531, #e1b12c); color: #2f3640; }
.banner-title { font-size: 15px; font-weight: 700; margin-bottom: 6px; }
.banner-body { font-size: 13px; }

/* ==========================================================================
   POPUP MODAL STYLES
   ========================================================================== */
.popup.modalpopup {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 10000;
}

.popup .wrap {
  position: relative;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.popup .bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.75);
}

.popup .set {
  position: relative;
  background: #ffffff;
  width: 90%;
  max-width: 500px;
  max-height: 85vh;
  border-radius: 16px;
  overflow-y: auto;
  box-shadow: 0 15px 40px rgba(0,0,0,0.4);
  animation: modalShow 0.3s ease-out;
  z-index: 10001;
}

@keyframes modalShow {
  from { opacity: 0; transform: scale(0.9); }
  to { opacity: 1; transform: scale(1); }
}

.popup .close {
  position: absolute;
  top: 10px;
  right: 12px;
  z-index: 10;
}
.popup .closePopup {
  font-size: 24px;
  color: #94a3b8;
  cursor: pointer;
  display: inline-block;
  padding: 4px;
}
.popup .closePopup:hover {
  color: #475569;
}

.popup .inner {
  padding: 20px 16px;
}

.modal_title {
  width: 100%;
  height: auto;
  margin: 10px auto 16px;
  display: block;
}

.inner_box {
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  margin-bottom: 12px;
  padding: 12px;
  transition: background 0.2s;
}
.inner_box:hover {
  background: #f1f5f9;
}

.inner_box .flex {
  display: flex;
  gap: 12px;
  align-items: center;
}

.inner_thum {
  flex: 0 0 60px;
  width: 60px;
}
.inner_thum img {
  width: 100%;
  border-radius: 10px;
  box-shadow: 0 2px 5px rgba(0,0,0,0.1);
}

.section_box_right {
  flex: 1;
}

.inner_title {
  font-size: 11px;
  color: #ff4757;
  font-weight: bold;
  margin-bottom: 1px;
}

.section_box_name {
  font-size: 15px;
  font-weight: 700;
  color: #1e293b;
  margin: 0 0 4px 0;
}

.section_box_tag {
  list-style: none;
  padding: 0;
  margin: 0;
}

.tag_basis.tag6 {
  display: inline-block;
  font-size: 10.5px;
  font-weight: 700;
  color: #d97706;
  background: #fef3c7;
  padding: 2px 6px;
  border-radius: 4px;
  border: 1px solid #fde68a;
}
/* ==========================================================================
   ★修正＆追加：OS別アイコンの自動挿入（星評価セクション）
   ========================================================================== */
.rating_pc, .rating_ios, .rating_android, .rating_line, .rating_livechat {
  display: inline-flex; /* 縦横のズレを防ぐためflexに統一 */
  align-items: center;
  gap: 6px;
  margin: 0;
  padding: 0;
}

/* iOS（Apple）アイコンを星の前に自動表示 */
.rating_ios::before {
  font-family: "Font Awesome 6 Brands"; /* ブランドアイコン用フォント指定 */
  content: "\f179"; /* Appleロゴのアイコンコード */
  color: #111111;   /* スタイリッシュな黒系（お好みで #999999 等でもOK） */
  font-size: 16px;
  display: inline-block;
  margin-right: 2px;
}

/* Android（ドロイド君）アイコンを星の前に自動表示 */
.rating_android::before {
  font-family: "Font Awesome 6 Brands"; /* ブランドアイコン用フォント指定 */
  content: "\f17b"; /* Androidロゴのアイコンコード */
  color: #a4c639;   /* Android公式のライムグリーン */
  font-size: 16px;
  display: inline-block;
  margin-right: 2px;
}

/* ライブチャット（ビデオカメラ）アイコンを星の前に自動表示 */
.rating_livechat::before {
  font-family: "Font Awesome 6 Free"; /* 通常のアイコンフォント指定 */
  font-weight: 900;                 /* 塗りつぶしアイコンを適用 */
  content: "\f03d";                 /* ビデオカメラ（video）のアイコンコード */
  color: #ff4757;                   /* LPのメインカラーに合わせた鮮やかなレッド */
  font-size: 15px;
  display: inline-block;
  margin-right: 2px;
}

/* 以下は既存の星評価スタイルを維持 */
.star5_rating {
  position: relative;
  z-index: 0;
  display: inline-block;
  white-space: nowrap;
  color: #d1d8e0;
  font-size: 15px;
  letter-spacing: 1px;
}
.star5_rating::before, .star5_rating::after { content: '★★★★★'; }
.star5_rating::after {
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  overflow: hidden;
  white-space: nowrap;
  color: #ffa801;
}
.star5_rating[data-rate="5"]::after { width: 100%; }
.star5_rating[data-rate="4.5"]::after { width: 90%; }
.star5_rating[data-rate="4"]::after { width: 80%; }

.score { font-weight: 700; color: #ff5e57; font-size: 13px; }

/* モーダル全体 */
    #ageModal {
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      backdrop-filter: blur(10px); /* 背景にガウスぼかしを適用 */
      display: flex;
      align-items: center;
      justify-content: center;
      z-index: 1000;
		visibility: visible;
		opacity: 1;
		transition: visibility 0.3s, opacity 0.3s ease-in-out;
      /*visibility: hidden;
      opacity: 0;
      transition: visibility 0s, opacity 0.3s ease-in-out;*/
    }

#ageModal.hidden {
  visibility: hidden;
  opacity: 0;
}

    #ageModal.actives {
      visibility: visible;
      opacity: 1;
    }

    /* モーダルのコンテンツ */
    .modal-content {
      background: rgba(255, 255, 255, 0.95);
      padding: 30px;
      text-align: center;
      border-radius: 15px;
      box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2);
      max-width: 400px;
      width: 90%;
    }

    .modal-content h2 {
      margin-top: 0;
      color: #333;
      font-size: 22px;
      font-weight: bold;
    }

    .modal-content p {
      font-size: 16px;
      color: #555;
      line-height: 1.5;
    }

    /* ボタンのスタイル */
    .modal-content button {
      margin: 30px 10px 0;
      border: none;
      border-radius: 25px;
      font-size: 18px;
      cursor: pointer;
      transition: transform 0.2s ease, background-color 0.3s ease;
    }

    /* 「はい」ボタン */
    .btn-yes {
      padding: 20px 40px; /* サイズを大きく */
      background-color: #4caf50;
      color: white;
      font-size: 20px;
      animation: pulse 1.2s infinite; /* 新しいアニメーション */
		width: 90%;
    }

    .btn-yes:hover {
      background-color: #4caf50;
      transform: scale(1.1); /* ホバー時に拡大 */
    }

    /* 「いいえ」ボタン */
    .btn-no {
      padding: 10px 20px; /* サイズを小さく */
      background-color: gray;
      color: white;
      font-size: 16px; /* フォントサイズを小さく */
    }

    .btn-no:hover {
      background-color: gray;
    }

    /* インストールページ */
.bridge-main-content {
      padding: 24px 14px;
      background: #f4f6f9; /* style.css の .main-content と同色 */
      flex: 1;
    }
    .mlcom_box_bridge {
      background: #ffffff;
      border-radius: 16px;
      padding: 24px 16px;
      margin-bottom: 24px;
      border: 1px solid #e2e8f0;
      box-shadow: 0 10px 25px rgba(0, 0, 0, 0.05);
      text-align: center;
    }
    .link_icon_bridge {
      width: 80px;
      height: 80px;
      border-radius: 16px;
      object-fit: cover;
      margin: 0 auto 16px auto;
      box-shadow: 0 4px 10px rgba(0,0,0,0.08);
      display: block;
    }
    .mlcom_box_bottom_text_bridge {
      font-size: 13.5px;
      color: #4b5563;
      line-height: 1.6;
      margin: 0 0 20px 0;
    }
    /* 「比較ランキングへ戻る」ボタンの個別装飾 */
    .btn-back-action {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
      font-size: 14px;
      font-weight: 700;
      color: #2c3e50 !important;
      background: #ffffff !important;
      padding: 12px 32px;
      border-radius: 30px;
      border: 2px solid #2c3e50;
      box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05);
      text-decoration: none !important;
      transition: all 0.2s ease;
    }
    .btn-back-action:hover {
      background: #f1f2f6 !important;
      opacity: 0.85;
    }
/* style.css のトーンに合わせた中間ページ専用のレイアウト修正 */
    .bridge-main-content {
      padding: 24px 14px;
      background: #f4f6f9; /* style.css の .main-content と同色のグレー背景 */
      flex: 1;
      display: flex;
      flex-direction: column;
      align-items: center; /* 子要素を中央に集める */
    }

    /* カードコンテナ：横幅を綺麗に制限し、中央寄せにする */
    .mlcom_box_bridge {
      background: #ffffff;
      border-radius: 16px;
      padding: 24px 20px;
      margin-bottom: 24px;
      border: 1px solid #e2e8f0;
      box-shadow: 0 10px 25px rgba(0, 0, 0, 0.05);
      text-align: center;
      width: 100%;
      max-width: 500px; /* カードが広がりすぎないように制限 */
      box-sizing: border-box;
    }

    /* アイコン画像の調整 */
    .link_icon_bridge {
      width: 80px;
      height: 80px;
      border-radius: 16px;
      object-fit: cover;
      margin: 0 auto 16px auto;
      box-shadow: 0 4px 10px rgba(0,0,0,0.08);
      display: block;
    }

    /* 説明テキストの調整 */
    .mlcom_box_bottom_text_bridge {
      font-size: 13.5px;
      color: #4b5563;
      line-height: 1.6;
      margin: 0 0 20px 0;
    }

    /* ダウンロードボタンのサイズを綺麗に中央に収める */
    .mlcom_box_bridge .action-button-wrap {
      display: flex;
      justify-content: center;
      width: 100%;
    }
    .mlcom_box_bridge .btn-primary {
      margin: 0 auto;
      text-decoration: none !important;
    }

    /* 「比較ランキングへ戻る」ボタンの個別装飾（下線排除・中央寄せ） */
    .btn-back-action {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
      font-size: 14px;
      font-weight: 700;
      color: #2c3e50 !important;
      background: #ffffff !important;
      padding: 12px 32px;
      border-radius: 30px;
      border: 2px solid #2c3e50;
      box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05);
      text-decoration: none !important;
      transition: all 0.2s ease;
      margin: 0 auto;
    }
    .btn-back-action:hover {
      background: #f1f2f6 !important;
      opacity: 0.85;
    }
/* Google広告審査用のh1サイズ・余白調整 */
header.site-header h1.header-inner {
    margin: 0 !important;
    padding: 0 !important;
    font-size: 14px !important;
    font-weight: normal !important;
    display: inline-block;
}