@charset "UTF-8";
/* 1079px以上 */
@media only screen and (min-width:1079px){
}

/* 900px以下から
------------------------------------------------------------*/
@media only screen and (max-width:900px){
  .wrapper {
    width: 100%;
    max-width: 100%;
  }
  .head-catch h1 {
    font-size: 18pt;
    font-weight: 600;
  }
  .crown {
    width: 140px;
  }
  .head-explain p {
    font-size: 24pt;
  }
  .form-required {
    font-size: 20pt;
  }
  .form-optional {
    font-size: 20pt;
  }
}

/* 640px以下から
------------------------------------------------------------*/
@media only screen and (max-width:640px){
  .head-catch h1 {
    font-size: 16pt;
    font-weight: 600;
  }
  .three-guarantee {
    background-color: #cf4e4f;
    text-align: center;
    padding: 30px 30px 90px 30px;
  }
  .recommend {
    background-color: #feefde;
    padding: 30px 30px;
  }
  .form-title {
    background-color: #cf4e4f;
    padding: 30px 30px;
  }
  .head-explain {
    padding: 30px;
  }
  .crown {
    width: 120px;
    margin: 0 auto 15px auto;
  }
  .head-explain p {
    font-size: 20pt;
  }
  .input-box {
    padding: 30px 15px;
  }
  .choice-group {
    gap: 15px;
    padding: 10px 10px 10px;
  }
  label {
    font-size: 16pt;
  }
  .choice img {
    width: 66px;
    height: auto;
  }
  .agreement input[type="checkbox"] {
    transform: scale(1);
  }
  .agreement label {
    font-size: 16pt !important;
    line-height: 120%;
  }
  button[type="submit"] {
    width: 400px;
    font-size: 16pt;
    cursor: pointer;
    margin: 15px auto 30px auto;
  }
  .agreement {
    width: 450px;
    max-width: 90%;
    margin: 0 auto 0 auto;
  }
  .confirm-section{flex-direction:column;}
  .confirm-section .label{min-width:auto;}
}

/* 450px以下から
------------------------------------------------------------*/
@media only screen and (max-width:450px){
  .head-catch h1 {
    font-size: 14pt;
  }
  .three-guarantee {
    background-color: #cf4e4f;
    text-align: center;
    padding: 15px 10px 30px 10px;
  }
  .three-guarantee h3 {
    margin-bottom: 20px;
  }
  .guarantee {
    margin-bottom: 20px;
  }
  .recommend {
    background-color: #feefde;
    padding: 10px 10px;
  }
  .form-title {
    font-size: 12pt;
    background-color: #cf4e4f;
    padding: 10px 10px;
  }
  .head-explain {
    padding: 10px;
  }
  .crown {
    width: 100px;
  }
  .head-explain p {
    font-size: 15pt;
    line-height: 140%;
  }
  .form-required {
    font-size: 11pt;
    background-size: auto 5px;
  }
  .form-optional {
    font-size: 11pt;
    background-size: auto 5px;
  }
  form#mail_form dl dt span.required ,
  form#mail_form dl dt span.optional {
    padding: 5px 5px;
  }
  .selected-info p {
    font-size: 90%;
  }
  .choice-group {
/*    width: calc(100% - 24px);*/
    width: 95%;
    margin: 0 auto 30px;
    gap: 10px;
    padding: 7px 7px 7px;
  }
  label {
    font-size: 13pt;
  }
  .choice img {
    width: 44px;
    height: auto;
  }
  .choice {
    padding: 20px 20px 45px;
  }
  .form-section {
    margin-bottom: 0px;
  }
  .agreement label {
    font-size: 12pt !important;
    line-height: 150%;
    padding-bottom: 5px;
  }
  button[type="submit"] {
    width: 80%;
    font-size: 14pt;
    cursor: pointer;
    margin: 15px auto 30px auto;
  }
  .selected-info {
    margin-bottom: 15px;
  }
  option {}
  .etc {
    display: block;
    padding-top: 20px;
  }
  .contents {
    background-color: #ffffff;
    padding: 60px 5% 60px;
  }
  .contents h1 {
    color: #d71736;
    text-align: center;
    font-size: 20pt;
    margin-bottom: 2rem;
  }
  .contents h2 {
    font-size: 15pt;
    font-weight: 400;
    border-left: 15px solid #d71736;
    padding: 10px 15px 10px;
    margin-top: 30px;
    margin-bottom: 15px;
  }
  .contents p {
    font-size: 12pt;
    line-height: 150%;
    margin: 10px 0 20px;
    text-align: justify;
  }
  button[type="submit"] ,
  input[type="button"]{
    width: 80%;
    font-size: 14pt;
  }
  form#mail_form dl dd span.error_blank,
  form#mail_form dl dd span.error_format,
  form#mail_form dl dd span.error_match {
    margin-bottom: 10px;
    font-size: 12pt;
    text-align: center;
    font-weight: 600;
  }
  .contact-tel {
    padding: 30px 20px 60px 20px;
  }
  .contact-tel h3 {
    font-size: 16pt;
    line-height: 150%;
    margin-bottom: 20px;
  }
  .recept-date {
    font-size: 14pt;
    margin-top: 20px;
  }
}
/* 320px以下から
------------------------------------------------------------*/
@media only screen and (max-width:320px){
}
