@charset "UTF-8";
.wrapRadio label {
  cursor: pointer;
}

.wrapRadio label:not(:last-of-type) {
  margin-right: 3.15rem;
}

.wrapRadio label input {
  position: absolute;
  width: 0;
  height: 0;
  opacity: 0;
}

.wrapRadio label input:checked + span::before {
  background: -webkit-radial-gradient(circle, #ff6302 0%, #ff6302 50%, white 50%, white 100%);
  background: -moz- oldradial-gradient(circle, #ff6302 0%, #ff6302 50%, white 50%, white 100%);
  background: radial-gradient(circle, #ff6302 0%, #ff6302 50%, white 50%, white 100%);
}

.wrapRadio label span {
  display: inline-block;
  position: relative;
  -webkit-transform: translateZ(0);
     -moz-transform: translateZ(0);
          transform: translateZ(0);
  font-size: 1.6rem;
  line-height: 2.4rem;
  color: #010D38;
  padding: 0 0 0 2.84rem;
}

.wrapRadio label span::before {
  position: absolute;
  content: "";
  width: 1.9rem;
  height: 1.9rem;
  border: 1px solid #D5D5D5;
  background: #EFEFEF;
  -moz-border-radius: 50%;
       border-radius: 50%;
  left: 0;
  top: 0rem;
}

.wrapFile {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
     -moz-box-orient: vertical;
     -moz-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
     -moz-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  padding-top: 1.15rem;
}

.wrapFile input {
  display: none;
}

.wrapFile label {
  cursor: pointer;
  font-size: 1.6rem;
  line-height: 3.3rem;
  color: #000000;
  position: relative;
  -webkit-transform: translateZ(0);
     -moz-transform: translateZ(0);
          transform: translateZ(0);
  padding: 0 0 0 15.1rem;
  display: inline-block;
}

.wrapFile label:not(:last-of-type) {
  margin-bottom: 0.9rem;
}

.wrapFile label::before {
  position: absolute;
  content: "ファイルを選択";
  display: -webkit-inline-box;
  display: -moz-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
     -moz-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
     -moz-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 13.5rem;
  height: 3.1rem;
  -moz-border-radius: 0.5rem;
       border-radius: 0.5rem;
  background: #EFEFEF;
  border: 1px solid #D5D5D5;
  font-size: 1.6rem;
  line-height: 1;
  left: 0;
  top: 0;
}

.contact-form .form-group.required.any {
  -webkit-box-align: start;
     -moz-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}

.contact-form .form-group.required.any .linkBlank {
  color: #007FFF;
  font-size: 1.4rem;
  line-height: 1;
  display: -webkit-inline-box;
  display: -moz-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  border-bottom: 1px solid #007FFF;
}

.contact-form .form-group.required.any .linkBlank::after {
  content: "";
  width: 1.6rem;
  height: 1.6rem;
  background: url("../images/iconBlank.svg") 0 0 no-repeat;
  -moz-background-size: contain;
       background-size: contain;
}

.contact-form .form-group.required.any .labels::after {
  background: #5D5754;
  content: "任意";
}

@media screen and (max-width: 991px) {
  .contact-form .form-group {
    margin-bottom: 2.1rem;
  }
  .contact-form .form-group .labels {
    font-size: 1.6rem;
  }
  .contact-form .form-group.required .labels::after {
    font-size: 1.2rem;
    line-height: 1.8rem;
    -moz-border-radius: 0.9rem;
         border-radius: 0.9rem;
  }
  .contact-form .form-group select, .contact-form .form-group textarea, .contact-form .form-group input[type="text"], .contact-form .form-group input[type="email"] {
    height: 5rem;
  }
  .contact-form .more-box button::after {
    -moz-background-size: contain;
         background-size: contain;
  }
}
