/* ==========================================================
   PC版レイアウト
========================================================== */

/* 見出しの下の文 */
.form_title_text {
  max-width: 100rem;
  margin: 0 auto 3.5rem auto;
  font-size: 1.6rem;
  color: #333333;
  text-align: center;
}

/* 見出しの下の文の改行（PC版では非表示） */
.linefeed {
  display: none;
}

/* 必須マーク */
.required_mark {
  width: 3rem;
  height: 2rem;
  font-size: 1.2rem;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-left: 0.5rem;
  color: #ffffff;
  background-color: #db9281;
}

/* フォーム：全体 */
.form_item {
  display: flex;
  flex-wrap: wrap;
  max-width: 100rem;
  margin-inline: auto;
  column-gap: 0.5rem;
}

/* フォーム：ラベル部分 */
.form_label {
  width: 30%;
  margin-bottom: 0.1rem;
  padding: 2rem;
  font-size: 1.6rem;
  font-weight: 500;
  color: #333333;
  background-color: #eeeeee;
  display: flex;
  align-items: center;
}

/* ラベルの中身を横並びにする */
.form_label label {
  display: flex;
  align-items: center;
}

/* 最後のラベル項目のみ文字上揃え */
.form_item .form_label:last-of-type {
  align-items: flex-start;
}

/* フォーム：入力欄 */
.form_content {
  width: calc(70% - 0.5rem);
  height: auto;
  margin: 0.5rem 0;
  padding: 0.5rem 0;
  align-items: center;
}

/* フォーム：入力欄(サイズ固定) */
.form_content textarea {
  resize: none;
  height: 20rem;
  overflow-y: auto;
  /* 縦方向のみスクロール可 */
}

/*  入力パーツ */
.form_content input,
.form_content textarea,
.form_content select {
  width: 100%;
  padding: 1.5rem;
  font-size: 1.6rem;
  border: 0.2rem solid #595959;
  border-radius: 0.5rem;
  box-sizing: border-box;
}

.subject_menu{
  position: relative;
}

.subject_form span::after{
  content: '▼';
  font-size: 2rem;
  display: inline-block;
  color: #333333;
  position: absolute;
  top: 0;
  right: 1rem;
  pointer-events: none;
}

/* 入力パーツ：エラーの場合 */
.wpcf7-not-valid {
  border: 0.2rem solid #dc3232 !important;
  background-color: #F2B5B5;
}

/* 送信ボタン */
.submit_btn {
  width: 40rem;
  height: 6rem;
  display: block;
  text-align: center;
  justify-content: center;
  align-items: center;
  margin: 2rem auto 0 auto;
  font-size: 1.6rem;
  color: #ffffff;
  background-color: #595959;
  cursor: pointer;
  border-radius: 0.5rem;
}

/* フォームのメッセージ部分 */
.wpcf7 {
  max-width: 100rem;
  margin-inline: auto;
}

.wpcf7-response-output {
  width: max-content;
  padding: 1.5rem 3rem !important;
  margin: 2rem auto !important;
  text-align: center;
  border-radius: 1rem;
  position: relative;
}

.wpcf7-response-output::before {
  content: '';
  display: block;
  width: 5rem;
  height: 1.5rem;
  clip-path: polygon(0 0, 100% 0%, 50% 100%);
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  margin-inline: auto;
}

.wpcf7 form.sent>.wpcf7-response-output {
  background-color: #46b450;
  border-color: #46b450 !important;
  color: #ffffff !important;
}

.wpcf7 form.sent>.wpcf7-response-output::before {
  background-color: #46b450;
}

.wpcf7 form.invalid>.wpcf7-response-output {
  background-color: #dc3223;
  border-color: #dc3232 !important;
  color: #ffffff !important;
}

.wpcf7 form.invalid>.wpcf7-response-output::before {
  background-color: #dc3223;
}

/* ==========================================================
   SP版レイアウト
========================================================== */

@media screen and (max-width: 768px) {

  /* コンテンツタイトルの文字サイズ調整 */
  .contact_title {
    font-size: 2.8rem;
  }

  /* 見出しの下の文：中央寄せと余白 */
  .form_title_text {
    margin-bottom: 1rem;
    text-align: center;
    font-size: 1.4rem;
  }

  /* 見出しの下の文の改行（SP版では改行） */
  .linefeed {
    display: block;
  }

  /* フォーム：全体　縦並び */
  .form_item {
    display: flex;
    flex-direction: column;
    column-gap: 0;
    /* PC版の左右のすき間をリセット */
    row-gap: 0;
    /* PC版の上下のすき間を一度リセット */
  }

  /* 全体的に幅100% */
  .form_label,
  .form_content,
  .submit_btn {
    width: 100%;
    margin: 0 auto;
  }

  /* 入力欄の下の余白 */
  .form_content {
    margin-bottom: 2.5rem;
    padding: 0;
  }

  .wpcf7-response-output {
    width: auto;
    word-break: keep-all;
  }
}