@charset "utf-8";
/* ============================================
  FAQ・お問い合わせ
============================================ */

.page_header01::before {
  background-color: #00418F;
  background-image: url(../img/kv01.jpg);
}

/* ============================================
  FAQ
============================================ */

.section-faq {}

.faqList {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 65px auto 0;
}

.faqList::after {
  content: "";
  width: 298px;
}

.faqList_item {
  width: 298px;
}

.faqList_item>.item_inner {
  background: #F9F7DB;
  padding: 15px;
}

.faqList_item .section-question {}

.faqList_item .section-question .text01 {
  color: #00418E;
  margin-top: 5px;
  /* min-height: 80px; */
}

.faqList_item .section-answer {
  display: none;
}

.faqList_item .btn-more {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #00418E;
  color: #fff;
  font-size: 2rem;
  font-weight: bold;
  width: 100%;
  height: 35px;
  margin-top: 20px;
}

.faqList_item .btn-more::before {
  content: "見る";
}

.faqList_item .btn-more.active::before {
  content: "閉じる";
}

@media(min-width:768px) {
  .faqList_item:nth-of-type(n+4) {
    margin-top: 20px;
  }
}

@media(max-width:767px) {
  .faqList_item {
    width: 100%;
  }
  .faqList_item+.faqList_item {
    margin-top: calc(30/750*100vw);
  }
}

/* ============================================
  お問い合わせ
============================================ */

.section-inquiry {}

.formArea {
  background: #F8F9F9;
  margin: 35px auto 0;
  padding: 40px 55px 35px;
}

.formArea .table01 {
  border-top: 2px solid #fff;
  width: 100%;
}

.formArea .table01 .title, .formArea .table01 .data {
  border-bottom: 2px solid #fff;
}

.formArea .table01 .title {
  padding: 10px 0;
}

.formArea .table01 .data {
  padding: 5px 0;
}

.formArea .table01 .title {
  position: relative;
  width: 216px;
}

.formArea .table01 .title.is-required::after {
  content: "必須";
  position: absolute;
  top: 50%;
  right: 10px;
  transform: translateY(-50%);
  display: flex;
  align-items: center;
  justify-content: center;
  background: #DF2718;
  color: #fff;
  width: 50px;
  height: 26px;
}

@media(max-width:767px) {
  .formArea {
    margin: calc(60/750*100vw) auto 0;
    padding: calc(30/750*100vw) calc(30/750*100vw) calc(60/750*100vw);
  }
  .formArea .table01 .title {
    padding: calc(20/750*100vw) 0;
  }
  .formArea .table01 .data {
    padding: calc(20/750*100vw) 0;
  }
  .formArea .table01 .title {
    display: flex;
    align-items: center;
    width: 100%;
  }
  .formArea .table01 .title.is-required::after {
    position: static;
    transform: unset;
    width: calc(100/750*100vw);
    height: calc(52/750*100vw);
    margin-left: calc(15/750*100vw);
  }
}

/* Form Parts */

/* Width */

.formArea .width-s {
  width: calc(100%/3);
}

.formArea .width-m {
  width: calc(100%/2);
}

.formArea .width-l {
  width: 100%;
}

@media(max-width:767px) {
  .formArea .width-s, .formArea .width-m, .formArea .width-l {
    width: 100%;
  }
}

/* input-text */

.formArea .input-text {
  display: block;
  background: #fff;
  border: 1px solid #A3A8AA;
}

.formArea .input-text * {
  outline: none;
  width: 100%;
  padding: 1.5px 10px;
}

.formArea .input-text *:placeholder-shown {
  color: #A3A8AA;
}

/* textarea */

.formArea .input-text textarea {
  height: 150px;
}

/* select */

.formArea .selectMenu {
  position: relative;
}

.formArea .selectMenu .js-placeholder {
  color: #A3A8AA;
}

.formArea .selectMenu option[value=""] {
  display: none;
}

@media(max-width:767px) {
  .formArea .input-text * {
    font-size: 1.6rem;
    padding: calc(3/750*100vw) calc(20/750*100vw);
  }
  .formArea .input-text textarea {
    height: calc(300/750*100vw);
  }
}

/* 注意事項 */

.notesArea, .notesArea .text01+.text01 {
  margin-top: 1em;
}

.notesArea .check-agree {
  display: block;
  text-align: center;
  cursor: pointer;
  margin-top: 1.7em;
}

.notesArea .error {
  text-align: center;
}

.notesArea .check-agree input[type="checkbox"] {
  display: none;
}

.notesArea .check-agree>span {
  position: relative;
  display: inline-block;
  padding-left: 1.25em;
}

.notesArea .check-agree>span::before, .notesArea .check-agree>span::after {
  position: absolute;
  content: "";
}

.notesArea .check-agree>span::before {
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  border: 1px solid #000;
  width: 12px;
  height: 12px;
}

.notesArea .check-agree>span::after {
  top: 7px;
  left: 1px;
  transform: rotate(-45deg);
  opacity: 0;
  transition: all 200ms;
  border-bottom: 2px solid #000;
  border-left: 2px solid #000;
  width: 10px;
  height: 6px;
}

.notesArea .check-agree>input[type="checkbox"]:checked+span::after {
  opacity: 1;
}

@media(max-width:767px) {
  .notesArea .check-agree>span {
    padding-left: 2.5em;
  }
  .notesArea .check-agree>span::before {
    width: calc(48/750*100vw);
    height: calc(48/750*100vw);
  }
  .notesArea .check-agree>span::after {
    top: calc(10/750*100vw);
    left: calc(10/750*100vw);
    width: calc(30/750*100vw);
    height: calc(18/750*100vw);
  }
}

/* 送信 */

.submitArea {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: 25px auto 0;
}

.submitArea .btn-submit01 {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  background: #A3A8AA;
  font-size: 2.1rem;
  width: 225px;
  height: 50px;
}

.submitArea .btn-submit01:disabled {
  opacity: .3;
  pointer-events: none;
}

.submitArea>*+* {
  margin-left: 15px;
}

@media(max-width:767px) {
  .submitArea {
    flex-direction: column;
    margin: calc(60/750*100vw) auto 0;
  }
  .submitArea .btn-submit01 {
    width: 100%;
    height: calc(100/750*100vw);
  }
  .submitArea>*+* {
    margin: calc(30/750*100vw) 0 0;
  }
}

/* ============================================
  エラー表示
============================================ */

.errorArea {
  color: #DF2718;
  border: 2px solid #DF2718;
  margin-bottom: 30px;
  padding: 10px;
}

.errorArea .heading {
  font-weight: bold;
  margin-bottom: 5px;
}

.errorArea ul li::before {
  content: "・"
}

.formArea .error {
  color: #DF2718;
  margin-top: .25em;
}

@media(max-width:767px) {
  .errorArea {
    margin-bottom: calc(30/750*100vw);
    padding: calc(20/750*100vw);
  }
  .errorArea .heading {
    margin-bottom: calc(10/750*100vw);
  }
}

/* ============================================
  確認画面
============================================ */

.formArea-confirm .table01 .data {
  padding: 10px 0;
}

@media(max-width:767px) {
  .formArea-confirm .table01 .data {
    padding: calc(20/750*100vw) 0;
  }
}

/* ============================================
  送信完了
============================================ */

.section-inquiry-finish {
  padding-bottom: 150px;
}

@media(max-width:767px) {
  .section-inquiry-finish {
    padding-bottom: calc(60/750*100vw);
  }
}