
section{
  padding:50px 0;

  }
  .wrap{
  width: 1000px;
  margin: 0 auto;
  }

  table{
  margin:2em auto 0 auto;
  width: 100%;
  max-width:600px;
  display:table;
  table-layout: fixed;
  order-collapse: separate;
  border-spacing: 2px 0;
  }
  table.first-ta{
  margin:0 auto 4em auto;
  max-width: 510px;
  }

  table tr td{
  width: 100%;
  padding:0;
  clear: both;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  font-size: 16px;
  font-weight: normal;
  display: block;
  padding-bottom: 0.5em;
  }
  table tr td:nth-of-type(2){
  padding-bottom: 1.5em;
  }
  table tr td p{
  line-height: 1.5;
  }
  table tr td i{
  font-size: 12px;
  margin-right: 1em;
  background-color:#C80F0F;
  padding:1px 0.5em;
  color: #fff;
  display: inline-block;
  }
  table tr td i.ninni{
  background-color: #666666;
  }

/*
  table tr td input[type=radio]{
  position: absolute;
  visibility: hidden;
  }
  table tr td label{
  margin-right: 2em;
  position: relative;
  padding-left: 24px;
  cursor: pointer;
  }

  table tr td label:before{
  content: "";
  width: 18px;
  height: 18px;
  display: block;
  background-image: url("../images/icon_chk.svg");
  background-size: cover;
  position: absolute;
  left: 0;
  top:1px;
  }

  table tr td input[type=radio]:checked + label:before{
  background-image: url("../images/icon_cheked.svg");
  }
*/
  table tr td em{
  font-size: 12px;
  padding-left:1em;
  }
  table tr td#history div{
  padding:0 0 1em 0;
  }
  table tr td#history div span{
  min-width: 8em;
  display:block;
  padding-bottom: 0.5em;
  }
  table tr td[colspan="2"]{
  text-align: center;
  width: 100%;
  padding:3em 0;
  }
  table tr td[colspan="2"].txtL{
  text-align: left;
  padding:0 0 2em 10em;
  }
  table tr td[colspan="2"].txtL p{
  margin-bottom:2em;
  }
  table tr td[colspan="2"].txtL p label{
  margin-right: 1em;
  }


    /*iPhoneセレクト拡大防止*/
    select,option,textarea,input{
    font-size:16px;
      padding: 0.5em 1em;
      border: 1px solid #666;
      border-radius: 5px;
      -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
      }
      input[type=text]{
      min-width: 350px;
    }
      textarea,
      input[type=email]{
      min-width:100%;
    }
      textarea{
      min-height:10em;
      line-height: 1.5;
      }
      input[type=file]{
      border: none;
      }
      input[type=text].short{
      min-width:inherit;
      width:8em;
    }
  textarea::placeholder ,
  input::placeholder {
    color:#999;
  }
  textarea:-ms-input-placeholder,
  input:-ms-input-placeholder {
    color:#999;
  }
  textarea::-ms-input-placeholder,
  input::-ms-input-placeholder {
    color:#999;
  }


  dl.formbox{
  padding:1em 0 4em 0;
  margin:0 auto;
  clear: both;
  }

  dl.formbox dt{
  font-size: 18px;
  font-weight: bold;
  text-align: center;
  margin:3em 0 1.5em 0 ;
  text-align: center;
  }
  dl.formbox dd.first{
    font-size: 22px;
    font-weight: bold;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: auto;
  }
  dl.formbox dd.first input[type="radio"]{
  visibility: hidden;
  position: absolute;
  }
  dl.formbox dd.first label{
  max-width: 234px;
  width:48%;
  height: 74px;
  display: flex;
    justify-content: center;
    align-items: center;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  border:2px solid #126bf3;
  background-color: #ffff;
  color: #126bf3;
  border-radius: 10px;
  font-weight: normal;
  margin: 0 1em;
  cursor: pointer;
  }
  dl.formbox dd.first input[type="radio"]:checked+label,
  dl.formbox dd.first label:hover{
  color: #fff;
  background-color: #126bf3;
  }
  dl.formbox dd.block{
  display: block;
  text-align: center;
  line-height: 1.5;
  }
  dl.formbox dd.block h3{
  font-size: 34px;
  color: #126bf3;
  }
  dl.formbox dd p.bold{
  margin-bottom: 2em;
  }
  dl.formbox dd p{
  font-size: 18px;
  }

  dl.formbox dd.first input[type="text"]{
  border-radius: 10px;
  border:2px solid #126bf3;
  border-radius: 10px;
  margin-right: 0.5em;
  min-width: inherit;
  max-width: 272px;
  }

  p.policy{
  margin:2em 0;
  font-size: 14px!important;
  font-weight: normal;
  }
  p.policy a{
  text-decoration: underline;
  }

  /* iOSでのデフォルトスタイルをリセット */
  button,
  input[type="submit"],
  input[type="button"] {
    border-radius: 0;
    -webkit-box-sizing: content-box;
    -webkit-appearance: button;
    appearance: button;
    border: none;
    box-sizing: border-box;
    cursor: pointer;
  }
  p.submitbtn{
  clear: both;
  margin:0 0 3em 0;
  text-align: center;
  }
  button{
  border: 1px solid #89c23a;
  background-color: #89c23a;
  max-width:437px;
  width: 100%;
  height: 48px;
  line-height:1;
  color: #fff;
  padding:0;
  font-size:24px;
  font-weight: bold;
  display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 auto;
  }
  button:hover{
  background-color:#fff;
  color: #89c23a;
  }

  a.btn{
  color: #126bf3;
  }
  p.thanks-read{
  padding: 5em 2em;
  line-height: 2.5;
  font-size: 16px;
  text-align: center;
  }

  @media screen and (max-width:1200px) {
  }
  @media screen and (max-width:1000px) {
  .wrap {
      width:90%;
      margin: 0 auto;
  }
      table{
      width: 100%;
      }
      table td{
      width: 100%;
      display: block;
      clear: both
      }
  table tr td:nth-of-type(1){
  width:100%;
  text-align: left;
  /*padding:2em 0 0 0;*/
  }
  table tr td:nth-of-type(2){
  width:100%;
  text-align: left;
  /*padding:0.5em 0 1em 0;*/
  }

      input[type="file"],
      button,
      textarea,
      input[type=text]{
      width: 100%;
      min-width: inherit;
      -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
      }

      #customer_birth select,
      #history select{
      width:20%;
      min-width: inherit;
      -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
      }
      #customer_birth select[id^="year"],
      #history select[id^="year"]{
      width:30%;
      }


  table tr td[colspan="2"].txtL {
      text-align: left;
      padding:2em 0;
  }
  table tr td[colspan="2"].txtL p {
      margin-bottom:1em;
      line-height: 1.5;
  }
  .formError {
    position: absolute;
    display: block;
    cursor: pointer;
    text-align: left;
    margin-left:0;
      left:40%!important;
  }
  p.thanks-read {
      padding: 5em 0;
      line-height: 2.5;
      font-size: 16px;
      text-align: center;
  }

/*
  label{
  display: block;
  float: left;
  min-width:40%;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  margin-bottom: 1em;
  }
*/
  a.btn{
  color: #126bf3;
  padding-bottom: 2em;
  display: block;
  }

  button{
  font-size:16px;
  }
  dl.formbox dt {
  font-size: 16px;
  }
  dl.formbox dd {
  font-size: 16px;
  }
  dl.formbox dd.first label{
  font-size: 16px;
  height: 50px;
  margin: 0 0.5em;
  }
  dl.formbox dd.first input[type="radio"]:checked+label,
  dl.formbox dd.first label:hover{
  color: #fff;
  background-color: #126bf3;
  }

  dl.formbox dd.first input[type="text"]{
  border-radius: 10px;
  border:2px solid #126bf3;
  border-radius: 10px;
  margin-right: 0.5em;
  min-width: inherit;
  max-width: 200px;
  }
  table tr td label:before {
  top: 3px;
  }

  }
  @media screen and (max-width:768px) {
  }
  @media screen and (max-width:640px) {
  }
  @media screen and (max-width:480px) {
  }
  @media screen and (max-width:320px) {
  }

  .invalid-feedback {
    width: 100%;
    margin-top: 0.5rem;
    font-size: 80%;
    color: #dc3545;
  }

  .result_os{
  max-width: 234px;
  width:48%;
  height: 50px;
  display: flex;
  justify-content: center;
  align-items: center;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  border:2px solid #126bf3;
  background-color: #126bf3;
  color: #fff;
  border-radius: 10px;
  font-weight: normal;
  font-size: max(15px, 1.5vw);
  margin: 0 1em;
  cursor: pointer;
  }
  .total{
  font-size: 20px;
  font-weight: bold;
  }

.checkbox-btn>label{
    display: inline-block;
    padding: 5px;
    cursor: pointer;
}
.checkbox-btn>label:hover{
    color: #cc6666;
}
.checkbox-btn>label>input{
    margin-right: 5px;
    cursor: pointer;
}
h3 {
    background-color: #126bf3;
    font-size: max(15px, 2vw);
    color: #fff;
    font-weight: bold;
    padding: 10px 0;
    text-align: center;
    letter-spacing: 10px;
    margin: 0;
}



