/* 作成者名　繁田 */

/* PC版 */

#form2 {
  display: none;
}

.contact_page_setting {
  max-width: 100%;
  font-family: 'Noto Sans CJK JP', sans-serif;
  font-weight: 400;
  background-color: #F1F7FA;
  margin-inline: auto;
  padding: 15rem 0 20rem 0;
  color: #1B1B1B;
}

/* H3へお問い合わせ */

.contact_title_font {
  font-family: var(--ZenOldMincho);
  font-weight: 700;
  font-size: 3.5rem;
  line-height: 1.886em;
  letter-spacing: 0.175em;
  text-align: center;
}

.contact_title_flex {
  display: flex;
  flex-direction: column;
  row-gap: 2.5rem;
}

.contact_introduction_font {
  font-size: 1.6rem;
  line-height: 2em;
  letter-spacing: calc(0.8px / 1000);
  text-align: center;
}

/* お問い合わせ内容の選択 */

.contact_content_wrapper {
  max-width: 100%;
  margin-inline: auto;
  padding: 10rem 0 0 0;
}

.contact_tab_flex {
  width: 88rem;
  display: flex;
  justify-content: center;
  margin-inline: auto;
  column-gap: 3.8rem;
}

.contact_tab_links {
  width: 42.9rem;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 1.4rem 0 1.5rem 0;
  font-size: 2rem;
  font-weight: 500;
  line-height: 3.3em;
  letter-spacing: calc(1px / 1000);
  color: #1B1B1B;
  text-align: center;
  border: 0.1rem solid #000000;
  border-radius: 1rem;
  background-color: #FFFFFF;
  cursor: pointer;
}

.contact_tab_links.active {
  background-color: #F5BB1B;
  box-shadow: inset 0.3rem 0.3rem 0.2rem #0000004D;
  cursor: auto;
}

.tab_button_other {
  line-height: 1.65em;
}

/* タブの切り替え */

.tab_content {
  display: none;
  text-align: center;
}

.tab_content.active {
  display: block;
}

.order_article_wrapper,
.other_article_wrapper {
  width: 88rem;
  margin-inline: auto;
}

/* お問い合わせフォーム共通 */

.contact_form_wrapper {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 5rem 6rem;
  border: 0.1rem solid #000000;
  border-radius: 2rem;
  background-color: #FFFFFF;
}

.contact_require_flex {
  display: flex;
  align-items: center;
  column-gap: 1rem;
}

.form_required_wrapper {
  height: 2.4rem;
  display: flex;
  align-items: center;
  padding: 0.4rem 1.9rem 0.3rem 1.9rem;
  border: 0.1rem solid #000000;
  border-radius: 1.2rem;
  background-color: #F5BB1B;
}

.form_required_font {
  font-size: 1.2rem;
  letter-spacing: calc(0.6px / 1000);
  text-align: center;
}

.form_title_font {
  font-size: 1.6rem;
  letter-spacing: calc(0.75px / 1000);
  text-align: left;
}


.form_label_wrapper,
.mail_label_wrapper {
  width: 21.5rem;
  display: flex;
  text-align: left;
}

.form_label_wrapper {
  align-items: center;
}

.mail_label_wrapper {
  align-items: flex-start;
  padding: 0.9rem 0 0.9rem 0;
}

.textarea_label_wrapper {
  display: block;
  width: 14.2rem;
}

.contact_input_wrapper {
  font-size: 1.5rem;
  font-weight: 400;
  letter-spacing: 0.00075em;
  line-height: 2.2em;
  letter-spacing: calc(0.75px / 1000);  
  color: #000000;
  border: 0.1rem solid #707070;
  border-radius: 1.9rem;
  width: 36.2rem;
  display: block;
  padding: 0.9rem 2rem 0.9rem 2rem;
}

.input_telephone_wrapper,
.input_postalcode_wrapper {
  width: 21.2rem;
  display: block;
  border: 0.1rem solid #707070;
  padding: 0.9rem 2rem 0.9rem 2rem;
  border-radius: 1.9rem;
  font-size: 1.5rem;
  font-weight: 400;
  letter-spacing: calc(0.75px / 1000);
  color: #000000;
}

.input_postalcode_wrapper.error {
  background-color: #ffd1d1;
}

.contact_input_wrapper::-webkit-input-placeholder,
.contact_textarea_wrapper::-webkit-input-placeholder,
.input_telephone_wrapper::-webkit-input-placeholder,
.input_postalcode_wrapper::-webkit-input-placeholder {
  font-size: 1.5rem;
  text-align: left;
  letter-spacing: calc(0.75px / 1000);
  color: #707070;
}

.contact_input_wrapper::-moz-placeholder,
.contact_textarea_wrapper::-moz-placeholder,
.input_telephone_wrapper::-moz-placeholder,
.input_postalcode_wrapper::-moz-placeholder {
  font-size: 1.5rem;
  text-align: left;
  letter-spacing: calc(0.75px / 1000);
  color: #707070;
}

.contact_input_wrapper::-ms-input-placeholder,
.contact_textarea_wrapper::-ms-input-placeholder,
.input_telephone_wrapper::-ms-input-placeholder,
.input_postalcode_wrapper::-ms-input-placeholder {
  font-size: 1.5rem;
  text-align: left;
  letter-spacing: calc(0.75px / 1000);
  color: #707070;
}

.dl_contact_flex {
  display: flex;
  column-gap: 1.4rem;
  padding: 2.5rem 0 0 0;
}

/* お問い合わせフォーム（お仕事の依頼） */

.order_form_wrapper {
  margin: 8rem 0 0 0;
}

.contact_content_flex {
  width: 76rem;
  display: flex;
  flex-wrap: wrap;
  column-gap: 6rem;
  row-gap: 2.6rem;
  padding: 2.5rem 0 4rem 0;
}

/* チェックボックス共通 */

.common_checkbox_font {
  font-weight: 400;
  font-size: 1.5rem;
  letter-spacing: calc(0.75px / 1000);
  text-align: left;
  cursor: pointer;
}

.common_checkbox_font {
  position: relative;
  padding-left: 3rem;
  /* チェックマーク表示領域 */
  user-select: none;
  /* テキスト選択防止 */
  display: flex;
  align-items: center;
}

/* デフォルトチェックボックスを非表示 */
.contact_common_checkbox {
  position: absolute;
  opacity: 0;
  /* 完全に見えなくする */
  cursor: pointer;
  height: 0;
  width: 0;
}

/* チェックマークの表示領域 */
.common_checkbox_span {
  position: absolute;
  top: 0.3rem;
  left: 0;
  height: 1.5rem;
  width: 1.5rem;
  background-color: #FFFFFF;
  border: 0.1rem solid #000000;
}

/* チェック状態のスタイル */
.contact_common_checkbox:checked+.common_checkbox_span {
  background-color: #FFFFFF;
  border: 0.1rem solid #000000;
}

/* チェックマークの表示 (::after疑似要素を使用) */
.contact_common_checkbox:checked+.common_checkbox_span::after {
  content: "";
  position: absolute;
  display: block;
  left: 0;
  top: 0;
  width: auto;
  height: 1rem;
  border-width: 0;
}

/* 3. 画像を使用する場合:
::after 疑似要素で background-image を指定します。 */
.contact_common_checkbox:checked+.common_checkbox_span::after {
  content: "";
  position: absolute;
  display: block;
  left: -0.3rem;
  top: -0.5rem;
  width: 2.596rem;
  height: 1.829rem;
  background-image: url("../img/check.svg");
  /* チェックマーク画像のパス */
  background-size: cover;
  /* 画像を要素内に収める */
}

.checkbox_content_flex {
  display: flex;
  flex-direction: row;
}

.checkbox_content {
  display: flex;
}

.checkbox_top {
  margin-right: 13.9rem;
}

.checkbox_bottom {
  margin-right: 6rem;
}

.other_checkbox_top {
  margin-right: calc(38.7rem - 15.4rem);
}

.other_checkbox_bottom {
  margin-right: calc(27.7rem - 9.2rem);
}

.input_title_font {
  font-size: 1.6rem;
  line-height: 3.3em;
  letter-spacing: calc(0.8px / 1000);
  text-align: left;
}

.input_contact_wrapper {
  font-weight: 400;
  font-size: 1.5rem;
  letter-spacing: calc(0.75px / 1000);
  color: #1B1B1B;
  border-top: 0.1rem solid #707070;
  padding: 4rem 0 4rem 0;
}

.input_content_flex {
  display: flex;
  column-gap: 1rem;
  align-items: center;
}

.input_footnote_font,
.mail_footnote_font {
  font-size: 1.2rem;
  text-align: left;
  letter-spacing: calc(0.6px / 1000);
}

.mail_footnote_font {
  line-height: 1.083em;
}

.dl_address_flex {
  display: flex;
  padding: 2.5rem 0 0 0;
  column-gap: 1.4rem;
}

.address_wrapper_flex {
  display: flex;
  flex-direction: column;
  row-gap: 3.4rem;
}

.contact_textarea_wrapper {
  display: block;
  width: 36.2rem;
  height: 20rem;
  padding: 0.9rem 2rem 0.9rem 2rem;
  border: 0.1rem solid #707070;
  border-radius: 1.9rem;
}

.privacy_wrapper_flex {
  display: flex;
  flex-direction: column;
  row-gap: 5rem;
  padding: 5rem 0 0 0;
}

.check_privacy_flex {
  display: flex;
  flex-direction: row-reverse;
  column-gap: 3rem;
  align-items: center;
  justify-content: center;
}

.form_submit_button {
  width: 17.3rem;
  margin-inline: auto;
  border: 0.1rem solid #000000;
  border-radius: 2.9rem;
  background-color: #4B7DBF;
  color: #FFFFFF;
  font-weight: 400;
  font-size: 1.6rem;
  text-align: center;
  letter-spacing: calc(0.8px / 1000);
  padding: 1.5rem 0;
}

.form_mail_flex {
  display: flex;
  flex-direction: column;
  row-gap: 0.5rem;
}

.about_tour_flex {
  width: 52.6rem;
  display: flex;
  flex-direction: column;
  row-gap: 0.5rem;
  margin: 0 0 4rem 0;
  padding: 1.8rem 2.5rem;
  border: 0.1rem solid #000000;
  border-radius: 1rem;
}

.about_title_font {
  font-size: 1.6rem;
  font-weight: 500;
  letter-spacing: calc(0.8px / 1000);
  text-align: left;
  color: #000000;
}

.about_text_font {
  font-size: 1.5rem;
  text-align: left;
  letter-spacing: calc(0.75px / 1000);
  line-height: 1.8em;
}

.dl_textarea_flex {
  display: flex;
  column-gap: 1.4rem;
  padding: 2.5rem 0 0 0;
}

.other_textarea_flex {
  display: flex;
  column-gap: 1.4rem;
  padding: 2.5rem 0 0 0;
}

.dl_center_flex {
  align-items: center;
}

.dl_start_flex {
  align-items: flex-start;
}

.address_label_wrapper {
  width: 21.5rem;
  text-align: left;
  display: flex;
  align-items: center;
  padding: 0.9rem 0 0.9rem 0;
}

.check_privacy_font {
  font-size: 1.6rem;
  letter-spacing: calc(0.8px / 1000);
}

.submit_button_wrapper {
  padding: 5rem 0 0 0;
  display: inline-block;
  padding-left: 8rem;
}

/* よくある質問 */

.page_title_wrapper {
  padding: 9rem 0 0 0;
}

.page_title_font {
  font-size: 3rem;
  font-weight: 700;
  letter-spacing: calc(1.5px / 1000);
  color: #1B1B1B;
  text-align: center;
  position: relative;
}

.page_title_font::after {
  content: '';
  width: 5rem;
  height: 0.3rem;
  background-color: #F5BB1B;
  position: absolute;
  bottom: 0;
  right: 0;
  left: 0;
  margin: 0 auto;
}

/* アコーディオンメニュー */

.faq_frame_flex {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  row-gap: 4rem;
  padding: 4rem 0 15rem 0;
}

.column_flex {
  width: 68rem;
  display: flex;
  column-gap: 2rem;
  margin-inline: auto;
}

.num_wrapper {
  width: 5rem;
  height: 5rem;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  border: 0.1rem solid #000000;
  background-color: #F5BB1B;
  font-size: 2rem;
  letter-spacing: calc(1px / 1000);
  padding: 1rem 0 1.1rem 0;
  border-radius: 1rem;
  color: #1B1B1B;
}

.faq_item {
  max-width: 72rem;
  display: flex;
  flex-direction: column;
  margin-inline: auto;
}

.faq_question_wrapper {
  width: 60rem;
  border-radius: 1rem;
  background: #FFFFFF;
  padding: 1.3rem 2rem 1.3rem 2rem;
  cursor: pointer;
  border: 0.1rem solid #000000;
  position: relative;
}

.faq_question_title {
  font-size: 1.6rem;
  font-weight: 500;
  letter-spacing: calc(0.8px / 1000);
  text-align: left;
  color: #1B1B1B;
}

.minus_icon {
  position: absolute;
  content: "";
  width: 2rem;
  height: 0.1rem;
  background: #000000;
  right: 2rem;
  top: 50%;
  transform: translateY(-50%);
  margin-left: 1rem;
  opacity: 1;
}

.plus_icon {
  position: absolute;
  content: "";
  width: 2rem;
  height: 0.1rem;
  background: #000000;
  right: 2rem;
  top: 50%;
  transform: translateY(-50%) rotate(90deg);
  transition: ease all 0.5s;
  margin-left: 1rem;
  opacity: 1;
}

.plus_icon.active {
  opacity: 0;
}

.faq_answer_flex {
  width: 60rem;
  display: flex;
  flex-direction: column;
  border-radius: 1rem;
  background: #fff;
  padding: 0 2rem;
  height: 0;
  overflow: hidden;
  border: 0.1rem solid #000000;
  opacity: 0;
  transition: ease all 0.7s;
  /* 擬似要素のトランジションを追加 */
}

.faq_answer_flex.active {
  opacity: 1;
  height: auto;
  padding: 1.3rem 2rem 1.3rem 2rem;
  margin-top: 0.5rem;
}

.faq_answer_text {
  font-size: 1.6rem;
  text-align: left;
  font-weight: 500;
  letter-spacing: calc(0.8px / 1000);
  line-height: 2em;
  color: #000000;
  position: relative;
}

.contact_detail_link {
  font-weight: 500;
  font-size: 1.5rem;
  letter-spacing: calc(0.75px / 1000);
  color: #1B1B1B;
  background-color: #F5BB1B;
  border: 0.1rem solid #000000;
  border-radius: 1.7rem;
  width: 14.1rem;
  margin: 1rem 0 0 0;
  padding: 0.7rem 1.3rem 0.6rem 1.3rem;
}

/* 修正 */
.contact_common_checkbox {
  opacity: 1;
  width: 3rem;
  height: 3rem;
  border: 0.1rem solid #000000;
  appearance: auto;
  -webkit-appearance: auto;
}
.edit_checkbox{
  width: 1.5rem;
  height: 1.5rem;
  appearance: auto;
  -webkit-appearance: auto;
  accent-color: #fff;
  border: 0.1rem solid #000;
}
.checkbox_content{
  width: 37rem;
  align-items: center;
}
input[type="checkbox"] {
  width: 1.5rem;
  height: 1.5rem;
  appearance: auto;
  -webkit-appearance: auto;
  accent-color: #fff;
  border: 0.1rem solid #000;
}
span.wpcf7-list-item-label {
  font-weight: 400;
  font-size: 1.5rem;
  letter-spacing: calc(0.75px / 1000);
  text-align: left;
  cursor: pointer;
}
.wpcf7-list-item-label::before, .wpcf7-list-item-label::after {
  content: " ";
  width: 3rem;
  display: inline-block;
}
.wpcf7-list-item {
  display: inline-block;
  margin-bottom: 2.7rem;
  width: 34rem;
  text-align: left;
  margin-left: 0;
}
.wpcf7-form-control-wrap {
  position: relative;
  text-align: left;
}
.contact_content_flex {
  padding: 2.5rem 0 0 0;
}
span.wpcf7-list-item.first.last {
  width: fit-content;
}
/* .tour_form_none{
  display: none;
}
.tour_form_none.active{
  display: block;
} */
 /* .none_form_container{
  display: none;
} */
/* .order_form_container:nth-of-type(2){
   display: none;

 } */
/* SP版 */

@media screen and (max-width: 699.98px) {

  .contact_page_setting {
    max-width: 100%;
    padding: 12rem 0 20rem 0;
  }

  /* H3へお問い合わせ */

  .contact_title_flex {
    width: 33.5rem;
    margin-inline: auto;
    row-gap: 1.5rem;
  }

  .contact_title_font {
    font-size: 2rem;
    letter-spacing: 0.1em;
  }

  .contact_introduction_font {
    font-weight: 500;
    font-size: 1.5rem;
    letter-spacing: 0.075em;
    text-align: left;
  }

  /* お問い合わせ内容の選択 */

  .contact_content_wrapper {
    padding: 7rem 0 0 0;
  }

  .contact_tab_flex {
    width: 100%;
    flex-direction: column;
    align-items: center;
    column-gap: 0;
    row-gap: 3rem;
  }

  .contact_tab_links {
    width: 33.5rem;
    padding: 1.4rem 0 1.5rem 0;
    font-size: 1.7rem;
    line-height: 3.882em;
      letter-spacing: calc(0.85px / 1000);
  }

  .order_article_wrapper,
  .other_article_wrapper {
    width: 33.5rem;
  }

  .page_title_wrapper {
    padding: 7rem 0 0 0;
  }

  .contact_form_wrapper {
    padding: 4.3rem 1rem 2rem 1rem;
  }

  .contact_content_flex {
    width: 31.5rem;
    column-gap: 0;
    row-gap: 1rem;
    padding: 2rem 0;
  }

  .contact_require_flex {
    column-gap: 0.8rem;
    align-items: center;
  }

  .form_required_wrapper {
    padding: 0.4rem 1.9rem 0.3rem 1.9rem;
  }

  .form_required_font {
    letter-spacing: calc(0.6px / 1000);
  }

  .form_title_font {
    font-size: 1.5rem;
    letter-spacing: calc(0.75px / 1000);
  }

  .input_title_font {
    font-size: 1.3rem;
    line-height: 2.538em;
    letter-spacing: calc(0.65px / 1000);
  }

  .checkbox_content_flex {
    display: flex;
    flex-direction: column;
    row-gap: 1rem;
  }

  .common_checkbox_font {

    font-size: 1.5rem;
    letter-spacing: calc(0.75px / 1000);
  }

  .checkbox_top,
  .checkbox_bottom {
    margin: 0;
  }

  .input_contact_wrapper {
    padding: 2.3rem 0 2rem 0;
  }

  .input_contact_wrapper:nth-of-type(2) {
    padding-bottom: 4rem;
  }

  .dl_contact_flex {
    flex-direction: column;
    padding: 1.2rem 0 0 0;
    row-gap: 0.5rem;
    column-gap: 0;
  }

  .dl_center_flex {
    align-items: flex-start;
  }

  .contact_input_wrapper {
    width: 31.5rem;
    padding: 0.9rem 1.5rem;
  }

  .input_telephone_wrapper,
  .input_postalcode_wrapper {
    padding: 0.9rem 1.5rem 0.9rem 1.5rem;
  }

  .input_content_flex {
    display: flex;
    column-gap: 0;
    row-gap: 0.5rem;
    align-items: flex-start;
    flex-direction: column;
  }

  .input_footnote_font,
  .mail_footnote_font {
    letter-spacing: calc(0.6px / 1000);
  }

  .mail_footnote_font {
    font-size: 1rem;
    line-height: 1.3em;
    letter-spacing: calc(0.5px / 1000);
    text-align: left;
  }

  .dl_address_flex {
    padding: 2.5rem 0 2rem 0;
    column-gap: 0;
    flex-direction: column;
  }

  .address_wrapper_flex {
    row-gap: 0.5rem;
  }

  .dl_textarea_flex {
    display: flex;
    row-gap: 2rem;
    padding: 1.7rem 0 0 0;
    flex-direction: column;
  }

  .other_textarea_flex {
    display: flex;
    flex-direction: column;
    column-gap: 0;
    row-gap: 2rem;
    margin-top: 4rem;
    padding: 4rem 0 0 0;
    border-top: 0.1rem solid #707070;
  }

  .contact_textarea_wrapper {
    width: 31.5rem;
    padding: 1rem 1rem 1rem 1rem;
  }

  .page_title_font {
    font-weight: 700;
    font-size: 2.5rem;
    text-align: center;
    letter-spacing: calc(1.25px / 1000);
    position: relative;
  }

  .page_title_font::after {
    bottom: 0.25rem;
  }

  .faq_frame_flex {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    row-gap: 3rem;
    padding: 9.1rem 0 10rem 0;
  }

  .column_flex {
    width: 33.5rem;
    row-gap: 1rem;
    column-gap: 0;
    flex-direction: column;
  }

  .faq_question_wrapper {
    width: 33.5rem;
    padding: 1.5rem 1rem 1.4rem 1rem;
  }

  .faq_question_title {
    font-size: 1.5rem;
    line-height: 2.133em;
    letter-spacing: calc(0.75px / 1000);
  }

  .faq_answer_flex {
    width: 33.5rem;
    padding: 0 2rem;
  }

  .faq_answer_flex.active {
    padding: 1rem;
    margin-top: 1rem;
  }

  .faq_answer_text {
    font-size: 1.3rem;
    letter-spacing: calc(0.65px / 1000);
    line-height: 2em;
    /* margin-right: 2rem; */
    color: #1B1B1B;
  }

  .other_checkbox_top,
  .other_checkbox_bottom {
    margin-right: 0;
  }

  .contact_content_flex {
    flex-direction: column;
  }

  .about_tour_flex {
    width: 31.5rem;
    margin: 0 0 4.35rem 0;
    padding: 1.5rem 1rem;
    border: 0.1rem solid #000000;
    border-radius: 1rem;
  }

}