<style>
  /* 全体のラッパー */
  #pricing-simulator {
    max-width: 800px;
    margin: 0 auto;
    font-family: 'Noto Sans JP', sans-serif; /* LPのフォントに合わせてください */
    color: #333;
  }

  /* タイトル */
  .sim-title {
    text-align: center;
    color: #192454; /* トイレ快援隊のメインカラー */
    font-size: 24px;
    font-weight: bold;
    margin-bottom: 20px;
  }

  /* 入力エリアのコンテナ */
  .sim-container {
    background-color: #F5F6F8;
    border: 1px solid #ccc;
    border-radius: 8px;
    padding: 30px;
    margin-bottom: 15px;
  }

  /* 行のレイアウト */
  .sim-row {
    display: flex;
    align-items: center;
    margin-bottom: 25px;
  }
  .sim-row:last-child {
    margin-bottom: 0;
  }

  /* 左側のラベル（トイレの室数など） */
  .sim-label {
    width: 150px;
    font-weight: bold;
    font-size: 16px;
    flex-shrink: 0;
  }

  /* 右側の操作エリア */
  .sim-controls {
    flex-grow: 1;
  }

  /* ラジオボタンのボタングループ */
  .radio-group {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
  }

  /* ラジオボタンを隠してボタン風にする設定 */
  .radio-label {
    position: relative;
    cursor: pointer;
  }
  .radio-label input[type="radio"] {
    display: none; /* デフォルトの丸いボタンを隠す */
  }
  .radio-button {
    display: inline-block;
    padding: 10px 20px;
    background-color: #fff;
    border: 1px solid #888;
    border-radius: 6px;
    font-size: 16px;
    text-align: center;
    min-width: 65px;
    transition: all 0.2s;
  }
  
  /* 選択されている時のスタイル */
  .radio-label input[type="radio"]:checked + .radio-button {
    background-color: #3A7CE1; /* 画像の青色 */
    color: #fff;
    border-color: #3A7CE1;
  }

  /* プルダウン（セレクトボックス） */
  .sim-select {
    width: 100%;
    padding: 12px;
    font-size: 16px;
    border: 1px solid #888;
    border-radius: 6px;
    background-color: #fff;
    cursor: pointer;
    appearance: none; /* デフォルトの矢印を消す */
    background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23333'%3E%3Cpath d='M7 10l5 5 5-5z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 10px center;
    background-size: 20px;
  }
  
  /* 注釈テキスト */
  .sim-note {
    font-size: 12px;
    margin-top: 5px;
    color: #555;
  }

  /* おすすめバッジ（赤背景の白文字で目立たせる） */
.recommend-badge {
    position: absolute;
    top: -15px; /* ボタンの少し上に被せる */
    left: 50%;
    transform: translateX(-50%);
    background-color: #D2132A; /* 赤背景 */
    color: #fff; /* 白文字 */
    font-size: 11px;
    font-weight: bold;
    padding: 3px 10px;
    border-radius: 20px; /* 角丸のカプセル型 */
    white-space: nowrap;
    box-shadow: 0 2px 4px rgba(210, 19, 42, 0.3); /* 赤い影をつけて浮き立たせる */
    z-index: 1;
  }

  /* おすすめボタン自体の強調（常に少し目立たせる） */
  .radio-label-recommend .radio-button {
    border: 2px solid #3A7CE1; /* 枠線を太くする */
    box-shadow: 0 4px 6px rgba(0,0,0,0.1); /* 影をつける */
    font-weight: bold;
  }

  /* 下矢印 */
  .sim-arrow-container {
    text-align: center;
    margin-bottom: 15px;
  }
  .sim-arrow {
    display: inline-block;
    width: 0;
    height: 0;
    border-left: 30px solid transparent;
    border-right: 30px solid transparent;
    border-top: 25px solid #3A7CE1;
  }

  /* 結果表示エリア */
  .sim-result {
    background-color: #3A7CE1;
    border-radius: 8px;
    padding: 20px 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
  }
  .result-text {
    color: #fff;
    font-size: 16px;
  }
  .result-price-box {
    background-color: #fff;
    padding: 10px 40px;
    border-radius: 6px;
    font-size: 28px;
    font-weight: bold;
    color: #333;
    display: flex;
    align-items: baseline;
    min-width: 200px;
    justify-content: center;
  }

  /* スマホ対応（画面幅が600px以下の場合） */
  @media (max-width: 600px) {
    .sim-row {
      flex-direction: column;
      align-items: flex-start;
    }
    .sim-label {
      margin-bottom: 10px;
    }
    .radio-button {
      padding: 10px 15px;
      min-width: 60px;
    }
    .sim-result {
      flex-direction: column;
      padding: 20px;
      gap: 10px;
    }
    .result-price-box {
      width: 100%;
      box-sizing: border-box;
    }
  }
</style>