/*　追従CTAの非表示
  -------------------------------------------- */
.l-follow-cta {
  display: none!important;
}

/*　各種スタイル
  -------------------------------------------- */
.l-contents.contact {
  float: none;
  width: 100%;
  max-width: 780px;
  margin: 0 auto;
}

.l-contents.contact h1:not([class]) {
  text-align: center;
}

@media screen and (max-width: 500px) {
  
  .l-contents.contact h1:not([class]) {
    font-size: 24px;
  }
}

/*　レイアウト
  --------------------- */
.contact-ttl {
  font-size: 20px;
  margin-bottom: 1em;
}
.table-contact {
  width: 100%;
  margin-bottom: 20px;
  border-top: 1px solid #ccc;
  table-layout: fixed;
}
.table-contact tr {
  border-bottom: 1px solid #ccc;
}
.table-contact th {
  width: 30%;
  padding: 20px;
  text-align: left;
}
.table-contact td {
  position: relative;
  padding: 20px;
  input,textarea {
    max-width: 100%;
  }
  .mwform-tel-field {
    input {
      width: 6em;
    }
  }
}

/*　必須
  --------------------- */
.table-contact .require {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center
}
.table-contact .require::after,
.table-contact .table-contact__privacy .mwform-checkbox-field-text::before,
.table-contact__privacy .table-contact .mwform-checkbox-field-text::before {
  content: '必須';
  -ms-flex-negative: 0;
  flex-shrink: 0;
  display: inline-block;
  margin-left: 1rem;
  padding: 0px .7rem;
  font-size: 12px;
  font-size: .75rem;
  color: white;
  background-color: #C45252;
  border-radius: 1rem
}

.horizontal-item {
  display: inline-block;
  margin: 0 10px 10px 0;
}

.mw_wp_form .horizontal-item + .horizontal-item {
  margin-left: 0!important;
}

/*　送信ボタン
  --------------------- */
.table-contact__submit {
  text-align: center;
}

/*　プライバシーポリシー
  --------------------- */
.table-contact__privacy {
  
}
.table-contact__privacy th {
  
}
.table-contact__privacy td {
  
}
.table-contact__privacy label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 100%
}
.table-contact__privacy .error {
  text-align: center
}

.table-contact__privacy .mwform-checkbox-field-text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center
}
.table-contact__privacy .mwform-checkbox-field-text::before {
  margin-right: .5rem;
  margin-left: .5rem
}

.mw_wp_form_confirm .table-contact__privacy {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row
}

.content-shortcode-output-privacy-policy {
  max-height: 230px;
  padding: 1.5rem;
  overflow-y: auto;
  border: 1px solid #ccc
}
.content-shortcode-output-privacy-policy__inner {
  width: 100%
}

.mw_wp_form_confirm .require::after,
.mw_wp_form_confirm .table-contact__privacy .mwform-checkbox-field-text::before,
.table-contact__privacy .mw_wp_form_confirm .mwform-checkbox-field-text::before {
  display: none
}

.mw_wp_form_confirm .table-contact__privacy br {
  display: none
}

.mw_wp_form_confirm .content-shortcode-output-privacy-policy {
  display: none
}

/*　入力欄
  --------------------- */
.table-contact input[type="text"],
.table-contact input[type="tel"],
.table-contact input[type="email"],
.table-contact input[type="number"], 
.table-contact textarea {
  display: inline-block;
  padding: 10px 15px;
  font-size: 16px;
  line-height: normal;
  border: 1px solid #D4DDE0;
  border-radius: 4px;
  background-color: #F2F8FA;
}
.table-contact input::placeholder,
.table-contact textarea::placeholder {
  color: #A6BFC7;
} 

/*　ボタン
  --------------------- */
.btn__main {
  cursor: pointer
}
.btn__main.deselect {
  color: #000;
  background-color: #eee;
  border: 1px solid #ccc
}


@media screen and (max-width: 500px) {
  .table-contact,
  .table-contact tbody {
    display: block;
    width: 100%;
  }
  .table-contact tr {
    display: block;
    width: 100%;
    padding: 20px 0;
  }
  .table-contact th {
    display: block;
    width: 100%;
    margin-bottom: 10px;
    padding: 0;
  }
  .table-contact td {
    display: block;
    width: 100%;
    padding: 0;
  }
  
  .table-contact .require {
    width: 100%;
  }
  
  .table-contact input[type="text"],
  .table-contact input[type="email"],
  .table-contact input[type="number"],
  .table-contact textarea {
    width: 100%
  }
  .mwform-tel-field input[type="text"],
  .mwform-zip-field input[type="text"] {
    width: auto !important
  }
  .mw_wp_form_confirm .table-contact__submit .btn__main {
    width: calc((100% / 2) - ((1rem * (2 - 1)) / 2));
    min-width: 0px
  }
  .mw_wp_form_confirm .table-contact__privacy {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column
  }
  .mw_wp_form_confirm .table-contact__privacy th {
    width: 100%
  }
}

/*　表示・非表示等のスタイル
  -------------------------------------------- */
.open-area {
  display: none;
}
.open-area.show {
  display: table-row;
}

@media screen and (max-width: 500px) {
  .table-contact tr.open-area {
    display: none;
  }
  .table-contact tr.open-area.show {
    display: block!important;
  }
}
