@charset "UTF-8";
/* Turnstile中央配置 */
.cf-turnstile {
  display: block;
  text-align: center;
  margin-block: 50px;
}

.wpcf7 {
  background-color: #fff !important;
  border: none !important;
}
.wpcf7 form {
  margin: 0 !important;
}

.form_table {
  width: 100%;
  margin: 0 auto 66px !important;
  max-width: 1080px;
  border-collapse: collapse;
}

.form_table tr,
.form_table td,
.form_table th {
  padding: 20px;
}

.form_table th,
.form_table td {
  padding: 0;
}

.form_table th {
  width: 25%;
  vertical-align: middle;
  font-weight: 500;
  text-align: left;
  line-height: 1.6;
  padding: 20px;
  font-size: 14px;
}

.form_table td {
  border-left: none !important;
  padding: 20px !important;
  font-size: 15px !important;
}

.annotation {
  line-height: 1.8;
  text-indent: -1em;
  margin-left: 1em;
  left: 1em;
  top: 1em;
  display: block;
  margin-top: 15px;
}

.annotation .br_pc {
  height: 0;
}

.form-control {
  width: 100%;
  max-width: 540px !important;
}

.form_table .address th {
  vertical-align: top;
}

.address_caption,
.tel_caption {
  font-size: 14px;
  display: block;
}

span.address_number_item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

/* チェックボックス  checkboxは他のCSSと被ったため*/
.checkbox label {
  font-weight: normal;
}

span#checkbox-item,
.checkbox-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  max-width: 536px;
}

.checkbox-item {
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  gap: 40px;
}

.wpcf7-list-item.first,
.wpcf7-list-item.last {
  padding: 0px 12px;
  border: 1px solid #9fa0a0;
  border-radius: 5px;
  margin-right: 10px;
}

.wpcf7-list-item.last {
  margin-right: 0;
}

.checkbox label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -ms-flex-line-pack: center;
      align-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
}

.checkbox input[type=checkbox] {
  margin: 0 10px 0 0;
}

.form_table::-moz-placeholder {
  color: #797979;
}

.form_table::-webkit-input-placeholder {
  color: #797979;
}

.form_table:-ms-input-placeholder {
  color: #797979;
}

.form_table::-ms-input-placeholder {
  color: #797979;
}

.form_table::placeholder {
  color: #797979;
}

.form_table .tel th {
  vertical-align: top;
}

.form__btn {
  text-align: center;
  margin-top: 20px;
}

.wpcf7 {
  background-color: white;
  border: none;
}

.wpcf7 p {
  /* font-size: 16px; */
  margin-bottom: 0;
}

.wpcf7 select,
.wpcf7 .wpcf7-list-item-label {
  font-size: 15px;
}

.single .entry-content .form_table,
.page .entry-content .form_table {
  display: table;
}

.wpcf7-textarea,
.wpcf7-text,
.wpcf7-select {
  width: 100%;
  border-radius: 5px;
  border: 1px solid #9fa0a0;
  padding-left: 10px;
}

.last-name,
.first-name,
.last-name-kana,
.first-name-kana,
.address-number,
.address-prefecture {
  width: 100%;
  margin-right: 10px;
}

.name td p {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 12px;
}

/* .name span {
  display: block;
} */
.address-number,
.address-prefecture {
  width: 66%;
}

.address-number,
.address-prefecture,
.address-city {
  margin-bottom: 10px;
}

.address_text {
  margin-top: 0px;
  display: block;
}

.your_message th {
  vertical-align: top;
}

.form_table > tbody > tr:nth-of-type(6) > td > p:first-child {
  margin-bottom: 12px;
}

span.wpcf7-list-item {
  max-width: 900px;
  margin: 0 auto;
}

.wpcf7-spinner {
  width: 0;
  margin: 0;
}

.form_btn {
  text-align: center;
}
.form_btn input {
  background-color: #d90000 !important;
}
@media (any-hover: hover) {
  .form_btn input:hover {
    opacity: 0.7;
  }
}

.confirmation {
  margin-top: 30px;
}

.policy {
  text-align: center;
}
.policy a {
  color: #c30d23;
  font-size: 16px;
  text-decoration: underline;
}
.policy .wpcf7-list-item {
  padding: 7px 30px 5px;
  border-radius: 5px;
  font-weight: 500;
}
.policy .policy-text {
  text-align: center;
  color: #c30d23;
  font-weight: 500;
  margin-bottom: 20px;
}
.policy .form_btn input {
  border-radius: 5px;
  width: 100%;
  max-width: 415px;
  margin: 0 auto;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  font-weight: 600;
  font-size: 44px;
  line-height: 1.6;
}

.form_btn input:hover {
  /* background-color: #ffffff !important; */
  /* color: #3e789b !important; */
  /* border: 1px solid #3e789b !important; */
}

/* 入力に不備があった場合 */
.wpcf7 form .wpcf7-response-output {
  border: none;
  padding: 0;
  color: #c30d23;
}

.wpcf7-response-output {
  max-width: 1080px;
  margin: 50px auto 0 !important;
  display: block;
  text-align: center;
}

/* プライバシーポリシー */
.consent-cont {
  width: 100%;
  max-width: 800px;
  height: 300px;
  border: solid 1px #e6e6e6;
  overflow-y: auto;
  padding: 30px;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .consent-cont {
    margin-top: 30px;
  }
}
.consent-cont .c-title {
  margin-bottom: 18px !important;
}
@media screen and (max-width: 768px) {
  .consent-cont .c-title {
    font-size: 14px !important;
  }
}
.consent-cont .c-text {
  margin-bottom: 20px !important;
}
@media screen and (max-width: 768px) {
  .consent-cont .c-text {
    font-size: 14px !important;
    margin-bottom: 1em !important;
  }
}
.consent-cont ul {
  list-style: none !important;
}

@media screen and (max-width: 768px) {
  .c-text {
    font-size: 14px !important;
  }
}

/* 確認画面 */
.form_btn_flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  width: 100%;
  margin: 0 auto;
  gap: 30px;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 30px;
}

.form_btn_flex input {
  width: 100%;
  max-width: none;
  margin-bottom: 30px;
}

/* 完了画面 */
.form_flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.required {
  background-color: #cc2344;
  color: #fff;
  padding: 3px 4px;
  display: inline-block;
  font-size: 12px;
  line-height: 1;
  max-width: 32px;
  font-weight: 500;
  -webkit-margin-start: 0.5rem;
          margin-inline-start: 0.5rem;
}

.c-align-center {
  text-align: center;
}

.c-bold {
  font-weight: 600;
}

/* @media screen and (max-width: 1080px) {	
.form_table {	
width: calc(100% - 40px);	
}	
} */
@media screen and (max-width: 768px) {
  .page-cont {
    width: 100% !important;
  }
  .required {
    margin-left: 10px;
  }
  .form_td_text {
    width: 100%;
    display: block;
    text-align: center;
  }
  .form_table th {
    width: 100% !important;
    text-align: center;
    margin-bottom: 35px !important;
  }
  .form_table th p {
    padding: 10px 0;
  }
  .form_table td {
    margin-bottom: 35px;
  }
  .form_table td p {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .form_table input,
  .form_table select {
    margin: 0 auto;
    max-width: auto !important;
    width: 100% !important;
  }
  input[type=checkbox] {
    width: auto;
    margin: 0 10px 0 0;
  }
  #request form input,
  #request form select {
    display: block;
  }
  #contact form input,
  #contact form select {
    display: block;
  }
  .checkbox input {
    margin: 0;
  }
  .checkbox input[type=checkbox] {
    width: auto;
  }
  input[type=checkbox] {
    margin: 0 10px 0 0;
  }
  .form-control {
    /* background-color: #f5f5f5; */
    border: 1px solid #f5f5f5;
  }
  .form_table {
    margin-bottom: 0px !important;
  }
  .form_table tr,
  .form_table td,
  .form_table th {
    display: block !important;
    width: auto !important;
    padding: 0 !important;
    border: none !important;
  }
  .name td p,
  .furigana td p {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 16px;
  }
  .address-number,
  .address-prefecture {
    width: 100%;
  }
  span#checkbox-item,
  .checkbox-item {
    margin: 0 auto;
  }
  .address_caption {
    margin-left: 1em;
    display: block;
  }
  .wpcf7 p {
    margin-bottom: 0 !important;
  }
  .wpcf7 textarea {
    width: 100%;
  }
  .wpcf7 textarea {
    height: 13.5em;
  }
  .your_message textarea {
    margin: 0 auto;
  }
  .form_btn .wpcf7 p {
    padding: 0;
  }
  .form_btn input {
    font-size: 32px;
  }
}
@media screen and (max-width: 480px) {
  input {
    padding: 6px 0;
  }
  .wpcf7-list-item.first,
  .wpcf7-list-item.last {
    padding: 6px 12px;
  }
  .page-cont {
    width: 100% !important;
  }
  form.wpcf7-form.init > p {
    padding-left: 0;
  }
  span#checkbox-item,
  .checkbox-item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    width: 40%;
  }
  .address_text p {
    margin-top: 0px;
  }
  .address_caption,
  .tel_caption {
    font-size: 11px;
  }
  .form_table .your_message td {
    margin-bottom: 0;
  }
  .address td input {
    margin-bottom: 14px;
  }
  .policy {
    margin-bottom: 10px;
  }
  .policy p {
    padding: 0;
  }
  .form_btn {
    width: calc(100% - 40px);
    margin: 0 auto;
  }
  .form_btn input {
    font-size: 28px;
  }
}
/* スマホ切り替え */
@media screen and (min-width: 481px) {
  .pc {
    display: block;
  }
  .sp {
    display: none;
  }
}
@media screen and (max-width: 480px) {
  .pc {
    display: none !important;
  }
  .sp {
    display: block !important;
  }
}