body {
  padding: 0;
  margin: 0;
}
.regist_form {
  padding: 20px 20px 0 20px;
  max-width:920px;
  margin:0 auto;
  /* overflow-x: hidden; */
}
.regist_form .step {
  text-align: center;
  margin-top: 20px;
  margin-bottom: 20px;
}
.regist_form .step img{
  max-width: 300px;
}
.regist_form h2 {
  text-align: center;
  font-size:20px;
  color: #000000;
  margin: 10px auto 10px auto;
}
.regist_form h3 {
  font-size:16px;
  color: #000000;
  margin-bottom: 0px;
}
.regist_form h3 .required {
  color: #FF3B8E;
  font-size: 12px;
}
.regist_form .input_block {
  margin-bottom: 5px;
}
 
input[type="text"],input[type="email"],input[type="tel"] {
  border: 1px solid #CCCCCC;
  border-radius: 5px;
  background-color: #FAFEFF;
  height: 46px;
  width: calc(100% - 40px);
  width: 100%;
  box-sizing: border-box;
  margin-bottom: 15px;
  margin-top: 5px;
  padding-top: 3px;
  padding-left: 15px;
  font-size: 16px;
}
::placeholder {
  color:#B9B9B9 !important;
}
select {
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
  border-radius: 0;
  border: 0;
  margin: 0;
  padding: 0;
  background: none transparent;
  vertical-align: middle;
  font-size: 16px;
  color: inherit;
  box-sizing: content-box;
  width: calc(100% - 20px);
  border: 1px solid #018ADE;
  border-radius: 5px;
  height: 46px;
  padding-left: 15px;
  padding-top: 2px;
  background-color: #FAFEFF;
  color: #018ADE;
  margin-top: 10px;
  margin-bottom: 20px;
}

/* ラジオボタン */
input[type=radio]{
  display: none;
}
input[type=radio] + .wpcf7-list-item-label {
  display: inline-block;
  width: 150px;
  padding: 15px 0;
  text-align: center;
  border-radius: 5px;
  background-color: #FAFEFF;
  border: 1px solid #018ADE;
  color: #018ADE;
  margin-top: 5px;
  margin-bottom: 10px;
}
input[type=radio] + .wpcf7-list-item-label:hover {
  background-color: #31BFFF;
  border-color: #31BFFF;
  color: #FFFFFF;
}
input[type=radio]:checked + .wpcf7-list-item-label {
  background-color: #018ADE;
  color: #FFFFFF;
}

/* 送信ボタン */
.submit {
  position: absolute;
  bottom: 0;
  left: 0;
  padding: 0 20px 0 20px;
  width: calc(100% - 40px);
  height: 100px;
  text-align: center;
  display: flex;
  justify-content: center;
}
.submit.single {
  display: block;
  width: 86%;
  margin-right: 5%;
  margin-left: 5%;
  /* padding: 0 20px 0 0; */
}
/* .regist_form input[type="text"]:nth-last-of-type(1){
  margin-bottom: 60px;
  padding-bottom: 200px;
} */
.submit p {
  width: 100%;
}
.submit > div {
  width: 50%;
  text-align: left;
}
input.wpcf7-submit,
input.wpcf7-previous {
  width: 100%;
  max-width: 920px;
  height: 60px;
  line-height: 60px;
  padding: 0;
  border: 0px;
  border-radius: 10px;
  color: #000000 !important;
  background-color: #FFDC00 !important;
  margin-top: 20px;
  font-size: 22px;
  font-weight: normal !important;
}
input.wpcf7-previous {
  color: #FFFFFF !important;
  background-color: #818181 !important;
  width: calc(100% - 20px);
}
input.wpcf7-previous:hover {
  background-color: #A6A6A6 !important;
}

/* 確認画面 */
.confirm_page {
  max-width: 600px;
  margin: 0 auto;
}
.confirm_page h2 {
  color: #333333;
  margin-bottom: 10px;
}
.confirm_page h3 {
  color: #018ADE;

}
.confirm_page .confirm_flex {
  display: flex;
}
.confirm_page .confirm_left {
  width: 50%;
  padding-right:10px;
  border-right: 1px solid #CCCCCC;
}
.confirm_page .confirm_right {
  width: 50%;
  padding-left: 10px;
}
.confirm_page .input_block {
   margin-bottom: 10px;
 }
 .confirm_page .input_block h3 {
   font-size: 14px;
   font-weight: normal;
   margin-bottom: 5px;
 }
 .confirm_page .input_block p {
   font-size: 16px;
   line-height: 20px;
 }

/* 完了画面 */
.complete_page {
  line-height: 20px;
  max-width: 500px;
  margin: 0 auto;
}
.complete_page h2 {
  color: #018ADE;
  margin-bottom: 50px;
  line-height: 150% !important;
}
.complete_page h3 {
  color: #018ADE;
  margin-bottom: 50px;
}
.complete_page p {
  margin-bottom: 20px;
}

/* Contact Form 7 メッセージ */
.wpcf7-not-valid-tip {
  color: #FF3B8E;
  position: absolute;
  top: -40px;
  right: 0;
}
.wpcf7-not-valid-tip::before {
  content: "エラー：";
}
.wpcf7-response-output {
  display: none; /* 非表示 */
  background:#f7d7da;
  color:#711d26;
  border:1px solid #f4c6cb !important;
  padding:10px;
  line-height: 150%;
}
/* 今のところ不使用
.wpcf7-mail-sent-ok {
  background:#d5edda;
  color:#185626;
  border:1px solid #c4e5cc;
  padding:10px;
}
.wpcf7-mail-sent-ng {
  background:#f7d7da;
  color:#711d26;
  border:1px solid #f4c6cb;
  padding:10px;
}
.wpcf7-spam-blocked {
  background:#fff2cf;
  color:#846314;
  border:1px solid #feedbd;
  padding:10px;
}
*/

/* プライバシーポリシー */
div.q_privacy1 {
    font-size: 12px;
    overflow-y: scroll;
    height: 250px;
    width: calc(100% - 40px);
    background: #eee;
    margin-top: 10px;
    margin-bottom: 10px;
    border-radius: 5px;
    padding: 20px;
}
.priv {
    padding-bottom:10px;
    font-weight:900;
}
div.q_privacy1 h3 {
    font-size: 16px;
    font-weight: 600;
}
div.q_privacy1 h4 {
    font-size: 14px;
    font-weight: 600;
}

div.q_privacy1 p {
    font-size: 13px;
    line-height: 1.6;
    margin-bottom: 8px;

}
.agreement {
  font-weight: bold;
  /* background-color: #FFE9F2; */
  border-radius: 5px;
  padding: 10px 20px;
  line-height: 30px;
  width: 90%;
}
@media only screen and (max-width: 600px) {
    div.q_privacy1 {
        height: 250px;
        font-size: 10px;
    }
    .submit.single {
      margin: 0 20px;
      width: calc(100% - 40px);
    }
    input[type="text"],input[type="email"],input[type="tel"] {
      width: calc(100% - 20px);
      width: 100%;
    }
    .wpcf7-not-valid-tip {
      color: #FF3B8E;
      position: absolute;
      top: 36px;
      left: 0;
      right: auto;
    }
    .confirm_page .input_block p {
       line-height: 20px;
     }
}

@media screen and (max-width: 420px) {
   input[type=radio] + .wpcf7-list-item-label {
     width: 125px;
   }
   .agreement {
     padding: 0px;
     text-align: left;
     width: 100%;
   }
}
@media screen and (max-width: 300px) {
 input[type=radio] + .wpcf7-list-item-label {
   width: 110px;
 }
}
@media screen and (max-width: 280px) {
   input[type=radio] + .wpcf7-list-item-label {
     width: 80px;
   }
}
/*  2024.09.26 本田追加 */
.regist_form input.wpcf7-submit,
.regist_form input.wpcf7-previous{
  margin-top: 55px;
  margin-bottom: 45px;
}
@media screen and (max-width: 768px){
  .regist_form{
    position: relative;
    padding-bottom: 85px;
    margin-bottom: 50px;
    font-family: "Noto Sans JP", sans-serif;
  }
  .regist_form .step img{
    max-width: 260px;
  }
  .regist_form .input_block span.wpcf7-form-control.wpcf7-radio{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
  }
  .regist_form span.wpcf7-list-item {
    margin-left: 0;
  }
  .regist_form div.submit.single{
    padding: 0;
  }
  .regist_form input.wpcf7-form-control.has-spinner.wpcf7-submit{
    position: absolute;
    width: 80%;
    padding: 0;
    bottom: -15px;
    left: 25px;
  }
  .regist_form input[type="text"]:nth-last-of-type(1){
    margin-bottom: 8px;
  }
  .regist_form input.wpcf7-previous{
    margin-top: 80px;
    margin-left: 7px;
    margin-bottom: 0;
  }
  .regist_form span.wpcf7-list-item-label{
    margin-bottom: 8px;
  }
}

