@charset "UTF-8";

/*******************************
 お問い合わせ かんたんシミュレーター
********************************/

/* 共通 */
html {
  scroll-behavior: smooth;
  scroll-padding: 80px;
}

.contact-simulator {
  width: 96%;
  margin: 0 auto 120px;
}

.wpcf7-form-control-wrap {
  position: relative;
}

/* ラジオ・チェック非表示 */
.price_simulator input[type="radio"],
.price_simulator input[type="checkbox"] {
  opacity: 0;
  position: absolute;
}

/* textareaの高さ指定 */
.price_simulator .other-textarea {
  height: 8rem;
}

/* 選択肢ラップ */
.price_simulator .wpcf7-radio,
.price_simulator .wpcf7-checkbox {
  display: flex;
  width: 100%;
  gap: 20px;
  flex-wrap: wrap;
}

.price_simulator .wpcf7-not-valid-tip {
  margin-top: 10px;
}

/* テキスト入力 */
.form_box_table_item_input_text {
  box-sizing: border-box;
  width: 90%;
  border: none;
  padding: 8px 15px;
  outline: 1px solid #3e3a39;
  line-height: 1.6;
}

.price_simulator .wpcf7-list-item {
  width: 22%;
  margin: 0;
}

/* ブロック */
.form_box_wrap.price_simulator {
  margin-bottom: 40px;
  opacity: 0.4;
  pointer-events: none;
  transition: opacity 0.3s ease;
}

/* Q1のみ最初に解放 */
.form_box_wrap.price_simulator:first-of-type {
  opacity: 1;
  pointer-events: auto;
}

.form_box {
  border-top: 1px solid #3e3a39;
}

.form_box_table {
  width: 100%;
  display: table;
}

.price_simulator .form_box_table_item_title {
  display: block;
  width: 100%;
  padding: 25px 0;
}

.price_simulator .form_box_table_item_title_body {
  font-size: 20px;
  color: #2f2e90;
  line-height: 1.4;
  font-weight: bold;
}

.price_simulator .form_box_table_item_input_wrap {
  display: block;
  width: 100%;
}

/* ラベル */
.price_simulator label {
  border: 1px solid #2f2e90;
  color: #2f2e90;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  line-height: 1.4;
  padding: 10px 0;
  text-align: center;
  transition: 0.4s;
  font-weight: bold;
}

/* 選択時スタイル */
.price_simulator label.selected {
  background: #2f2e90;
  color: #fff;
}

/* JS制御状態 */
.form_box_wrap.price_simulator.active,
.form_box_wrap.price_simulator.is-completed-step-questions {
  opacity: 1;
  pointer-events: auto;
}

/* 矢印 */
.simulator_arrow_wrap {
  opacity: 0.4;
  pointer-events: none;
  transition: opacity 0.3s ease;
  padding: 0px 0 60px;
  text-align: center;
  display: block;
}

.is-completed-step-questions + .simulator_arrow_wrap {
  opacity: 1;
  pointer-events: auto;
}

.simulator_arrow {
  border-style: solid;
  border-width: 30px 20px 0;
  border-color: #2f2e90 transparent transparent;
  display: inline-block;
  height: 0;
  width: 0;
}

/* その他入力 */
.other-wrap {
  margin-top: 16px;
  text-align: left;
  display: none;
}

.other-note {
  font-size: 13px;
  line-height: 1.4;
  font-weight: bold;
  padding-bottom: 5px;
}

/* シミュレーター モバイル */
@media screen and (max-width: 768px) {
  .form_box {
    display: block;
    padding-bottom: 12px;
  }

  .form_box_table_item_input_wrap {
    display: block;
  }

  .form_box_table_item_input {
    display: block;
    width: 100%;
  }

  .price_simulator .wpcf7-radio,
  .price_simulator .wpcf7-checkbox {
    flex-direction: column;
  }

  .price_simulator .wpcf7-list-item {
    width: 100%;
  }

  .form_box_table_item_input_text {
    width: 100%;
  }
}

/* 連絡先入力欄 */
.send_contents_area {
  padding: 30px 40px;
}

.send_contents_simulator_title {
  font-size: clamp(1.438rem, 1.35rem + 0.44vw, 1.875rem);
  text-align: center;
  letter-spacing: 2px;
  line-height: 1.4;
  margin-bottom: 25px;
}

.send_contents_simulator_read {
  font-size: clamp(0.625rem, 0.575rem + 0.25vw, 0.875rem);
  letter-spacing: 1px;
  line-height: 1.7;
  margin-bottom: 24px;
  text-align: center;
}

@media screen and (max-width: 768px) {
  .send_contents_area {
    padding: 30px 0;
  }
}
