:root {
  --body: #000;
  --link: #000;
}

/*--------------------------------------------
SIGNUP
---------------------------------------------*/

#signup .lede {
  letter-spacing: 0.1em;
  font-weight: 700;
}

#signup dt label {
  display: block;
  font-weight: 700;
  letter-spacing: 0.075em;
  font-weight: 700;
}

#signup input[type=text],
#signup input[type=email],
#signup input[type=password] {
  width: 100%;
  border-style: solid;
  border-color: currentColor;
  text-align: left;
  letter-spacing: 0.1em;
  color: #000;
  font-weight: 300;
}

#signup input[type=text]:-ms-input-placeholder, #signup input[type=email]:-ms-input-placeholder, #signup input[type=password]:-ms-input-placeholder {
  color: #b1b1b1;
}

#signup input[type=text]:-ms-input-placeholder,
#signup input[type=email]:-ms-input-placeholder,
#signup input[type=password]:-ms-input-placeholder,
#signup input[type=text]::placeholder,
#signup input[type=email]::placeholder,
#signup input[type=password]::placeholder {
  color: #b1b1b1;
}

#signup .check {
  display: block;
}

#signup .check input {
  display: none;
}

#signup .check span {
  display: flex;
  align-items: flex-start;
  letter-spacing: 0.071em;
  font-weight: 600;
  position: relative;
  cursor: pointer;
}

#signup .check span:before {
  content: "";
  display: block;
  flex-shrink: 0;
  background-color: #fff;
  border-style: solid;
  border-color: #000;
  border-width: 1px;
  font-size: 0;
  line-height: 1;
}

#signup .check span:after {
  position: absolute;
  display: block;
  background: url("/images/ui/icon/check.svg") center/contain no-repeat;
  font-size: 0;
  line-height: 1;
}

#signup .check input:checked + span:after {
  content: "";
}

#signup input[type=submit] {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  border-style: solid;
  border-color: currentColor;
  color: #000;
  text-align: center;
  letter-spacing: 0.15em;
  text-indent: 0.15em;
  font-weight: 700;
  background-color: #fff;
}

#signup .fieldset02 p {
  letter-spacing: 0.071em;
  font-weight: 700;
}

@media screen and (max-width: 799px) {
  #signup .wrap {
    padding-top: calc( ( 74.7 - 6.5 ) * 100vw / 375 );
    padding-bottom: calc( ( 70.3 - 3.5 ) * 100vw / 375 );
  }

  #signup .lede {
    font-size: 1.4rem;
    line-height: 1.9286;
  }

  #signup form {
    margin-top: calc( ( 78.4 - 6.5 ) * 100vw / 375 );
  }

  #signup dt label {
    font-size: 1.2rem;
  }

  #signup dd {
    margin-top: calc( 5.9 * 100vw / 375 );
  }

  #signup dd + dt {
    margin-top: calc( 40.7 * 100vw / 375 );
  }

  #signup input[type=text],
  #signup input[type=email],
  #signup input[type=password] {
    height: calc( 31 * 100vw / 375 );
    border-radius: calc( 5 * 100vw / 375 );
    border-width: calc( 1 * 100vw / 375 );
    font-size: 1rem;
    padding-left: calc( 12 * 100% / 325 );
    padding-right: calc( 12 * 100% / 325 );
  }

  #signup .fieldset02 {
    margin-top: calc( 63 * 100vw / 375 );
  }

  #signup .check span {
    font-size: 1rem;
    line-height: 1.9;
  }

  #signup .check span:before {
    width: calc( 15 * 100vw / 375 );
    height: calc( 15 * 100vw / 375 );
    border-width: calc( 1 * 100vw / 375 );
    border-radius: calc( 3 * 100vw / 375 );
    margin-right: calc( 5 * 100vw / 375 );
    margin-top: calc( 3 * 100vw / 375 );
  }

  #signup .check span:after {
    width: calc( 16 * 100vw / 375 );
    height: calc( 16 * 100vw / 375 );
    top: 0;
    left: calc( 1 * 100vw / 375 );
  }

  #signup input[type=submit] {
    margin-top: calc( ( 40.2 - 4.5 ) * 100vw / 375 );
    width: 100%;
    height: calc( 46 * 100vw / 375 );
    border-width: calc( 2 * 100vw / 375 );
    border-radius: calc( 7 * 100vw / 375 );
    font-size: 1.8rem;
  }

  #signup .fieldset02 p {
    margin-top: calc( ( 14.2 - 3.5 ) * 100vw / 375 );
    font-size: calc( 8 * 100vw / 375 );
    line-height: 1.875;
  }
}

@media print, screen and (min-width: 800px) {
  #signup .wrap {
    padding-top: calc( 138px - 10px );
    padding-bottom: calc( 109px - 4.5px );
  }

  #signup .lede {
    font-size: 1.7rem;
    line-height: 2.1765;
  }

  #signup form {
    margin-top: calc( 114px - 10px );
  }

  #signup .fieldset01 {
    margin-left: auto;
    margin-right: auto;
    width: 377px;
  }

  #signup dt label {
    font-size: 1.4rem;
  }

  #signup dd {
    margin-top: 7px;
  }

  #signup dd + dt {
    margin-top: 33px;
  }

  #signup input[type=text],
  #signup input[type=email],
  #signup input[type=password] {
    height: 31px;
    border-radius: 5px;
    border-width: 1px;
    font-size: 1rem;
    padding-left: 13px;
    padding-right: 13px;
  }

  #signup .fieldset02 {
    width: 325px;
    margin-top: 107px;
    margin-left: auto;
    margin-right: auto;
  }

  #signup .check span {
    font-size: 1rem;
    line-height: 1.9;
  }

  #signup .check span:before {
    width: 15px;
    height: 15px;
    border-width: 1px;
    border-radius: 3px;
    margin-right: 5px;
    margin-top: 3px;
  }

  #signup .check span:after {
    width: 16px;
    height: 16px;
    top: 0;
    left: 1px;
  }

  #signup input[type=submit] {
    margin-top: calc( 45px - 4.5px );
    width: 100%;
    height: 46px;
    border-width: 2px;
    border-radius: 7px;
    font-size: 1.8rem;
  }

  #signup .fieldset02 p {
    margin-top: calc( 15.5px - 4.5px );
    font-size: 1rem;
    line-height: 1.9;
  }
}

.validation {
  padding-top: 0.5vh;
  color: #FF0000;
}

