/* フォーム全体 */
.wp-reserve-form {
  display: flex;
  flex-direction: column;
  max-width: 600px;
  margin: 50px auto 100px;
  gap: 30px;
}

/* 1項目ごとのブロック */
.wp-reserve-form .form-row {
  display: flex;
  flex-direction: column;
  margin-bottom: 18px;
}
.wp-reserve-form .form-row .form-inline {
  display: flex;
  gap: 10px;
}

.wp-reserve-form .form-row .inner_wrap {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  gap: 20px;
}
.wp-reserve-form .form-row .inner_wrap .day_wrap,
.wp-reserve-form .form-row .inner_wrap .time_wrap {
  width: 100%;
}
.wp-reserve-form .form-row .inner_wrap .day_wrap input {
  width: 100%;
}

/* ラベル */
.wp-reserve-form .form-label {
  font-weight: 600;
  margin-bottom: 6px;
  font-size: 14px;
}
.wp-reserve-form label {
  display: flex;
  align-items: center;
}

/* 入力系 共通 */
.wp-reserve-form input[type="text"],
.wp-reserve-form input[type="email"],
.wp-reserve-form input,
.wp-reserve-form select,
.wp-reserve-form textarea {
  height: 50px;
  padding: 0 12px;
  font-size: 16px;
  box-sizing: border-box;
}

.wp-reserve-form select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;

  background-image: none;
}
/* select ラッパー */
.wp-reserve-form .select-wrap {
  position: relative;
  width: 100%;
}

/* 疑似矢印 */
.wp-reserve-form .select-wrap::after {
  content: "▼";
  position: absolute;
  right: 15px; /* ← 内側に寄せる */
  top: 50%;
  transform: translateY(-50%) scaleY(0.8);
  pointer-events: none;
  font-size: 12px;
  color: #666;
}

/* select 本体 */
.wp-reserve-form .select-wrap select {
  width: 100%;
  padding-right: 36px; /* ← 矢印分の余白 */
}

/*必須項目*/
.reserve-error {
  color: #d63638;
  font-size: 14px;
  margin-top: 6px;
}

/* テキストエリア */
.wp-reserve-form textarea {
  height: auto;
  min-height: 120px;
  padding: 10px 12px;
  resize: vertical;
}

.main_title {
  border-bottom: 1px solid #eee;
  padding-bottom: 10px;
  box-sizing: border-box;
  margin-top: 0;
}
.dohan_h {
  margin: 0 0 -40px;
}

/* ボタン周り */
button#add-companion {
  border: none;
  height: 50px;
  border-radius: 5px;
}
button.remove-companion {
  border: none;
  height: 40px;
  padding: 0 40px;
  box-sizing: border-box;
  border-radius: 5px;
  margin-bottom: 15px;
}
button.submit_btn {
  width: 200px;
  border: none;
  height: 50px;
  border-radius: 5px;
  margin: 0 auto;
  background-color: #555;
  color: #fff;
}
button.back_btn {
  width: 200px;
  border: none;
  height: 50px;
  border-radius: 5px;
}
button.send_btn {
  width: 200px;
  border: none;
  height: 50px;
  border-radius: 5px;
  background-color: #555;
  color: #fff;
}

@media screen and (max-width: 767px) {
  .plan_check {
    display: grid !important;
    grid-template-columns: 1fr 1fr 1fr !important;
  }
  .plan_check label {
    height: 30px;
  }
}
