@media screen and (min-width: 769px), print {
  .contact input[type="checkbox"] + label {
    padding-left: 45px;
  }
  .contact input[type="checkbox"] + label::before, .contact input[type="checkbox"] + label::after {
    top: 1px;
    width: 23px;
    height: 23px;
  }
  .contact input[type="checkbox"] + label:before {
    background: #f5f5f5;
  }
  .contact input[type="checkbox"] + label::after {
    -moz-background-size: 72% auto;
         background-size: 72% auto;
  }
  .contact button.back {
    margin-top: 15px;
    padding: 0;
    font-size: 1.4rem;
    line-height: 1.2;
    border: none;
    border-bottom: 1px solid #000;
    background: none;
    cursor: pointer;
    -webkit-transition: opacity .3s ease-out;
    -moz-transition: opacity .3s ease-out;
    transition: opacity .3s ease-out;
  }
  .contact button.back:hover {
    opacity: .7;
  }
  .confirm .form_text {
    margin-bottom: 20px;
  }
  .complete {
    text-align: center;
  }
  .complete p {
    font-size: 1.8rem;
  }
  .complete .lead {
    font-family: "Noto Serif JP", serif;
    font-size: 2rem;
    font-weight: 700;
  }
  .complete h3 {
    margin: 35px 0;
    color: #de0b0b;
    font-family: "Noto Serif JP", serif;
    font-size: 4.2rem;
    font-weight: 700;
  }
  .complete .btn_area {
    margin-top: 80px;
  }
  .complete .btn {
    display: -webkit-inline-box;
    display: -moz-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
  }
}

@media screen and (max-width: 768px) {
  .contact input[type="checkbox"] + label {
    padding-left: 7.16146vw;
  }
  .contact input[type="checkbox"] + label::before, .contact input[type="checkbox"] + label::after {
    top: 0.39062vw;
    width: 4.29688vw;
    height: 4.29688vw;
  }
  .contact input[type="checkbox"] + label:before {
    background: #f5f5f5;
  }
  .contact input[type="checkbox"] + label::after {
    background-position: 50% 46%;
    -moz-background-size: 72% auto;
         background-size: 72% auto;
  }
  .contact button.back {
    margin-top: 2.60417vw;
    padding: 0;
    font-size: 3.38542vw;
    line-height: 1.2;
    border: none;
    border-bottom: 1px solid #000;
    background: none;
    cursor: pointer;
  }
  .confirm .form_text {
    margin-bottom: 3.90625vw;
  }
  .complete {
    text-align: center;
  }
  .complete p {
    font-size: 3.64583vw;
  }
  .complete .lead {
    font-family: "Noto Serif JP", serif;
    font-size: 3.77604vw;
    font-weight: 700;
  }
  .complete h3 {
    margin: 5.20833vw 0;
    color: #de0b0b;
    font-family: "Noto Serif JP", serif;
    font-size: 6.77083vw;
    font-weight: 700;
  }
  .complete .btn_area {
    margin-top: 10.41667vw;
  }
  .complete .btn {
    display: -webkit-inline-box;
    display: -moz-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    width: 41.66667vw;
  }
}
