html {
  background-position: 0 12vw;
}

.inner_login {
  width: 460px;
  margin: 0 auto;
}

.contents_block .bg {
  padding-top: 35px;
}

.contents_block .box {
  padding: 32px 30px;
}

form p {
  font-size: 15px;
  margin-bottom: 4px;
  font-weight: 500;
  line-height: 1.6;
}

form input[type="password"] {
  font-size: 14px;
  width: 100%;
  background-color: #ebeff4;
  padding: 0.6em 1em;
  border-radius: 3px;
}

form input[type="password"]:placeholder {
  color: #a7a7a7;
}

form .password_field {
  position: relative;
}

form .password_field span {
  position: absolute;
  top: 0;
  right: 0;
  width: 37px;
  height: 37px;
  background-color: #29519c;
  border-radius: 0 3px 3px 0;
}

form .password_field span .close,
form .password_field span .open {
  position: absolute;
  right: 8px;
  width: 20px;
}

form .password_field span .close {
  top: 16px;
}

form .password_field span .open {
  top: 13px;
}

form .password_field span .open {
  display: none;
}

form .mt10 {
  margin-top: 10px;
}

form .flex {
  margin-top: 20px;
}

form .flex a,
form .flex input[type="submit"],
form .flex button {
  font-size: 17px;
  font-weight: bold;
  border-radius: 3px;
  text-align: center;
  width: 180px;
  color: #fff;
  padding: 7px 0;
  height: max-content;
  cursor: pointer;
}

form .flex a {
  background-color: #585858;
}

form .flex input[type="submit"],
form .flex button {
  background-color: #29519c;
}

form .flex button:disabled {
  background-color: #a8b7d2;
  cursor: none;
}

form .forget_link {
  margin-top: 20px;
  text-align: center;
  display: block;
  font-size: 13px;
  text-decoration: underline;
  color: #29519c;
}

form .warning_text {
  color: #a70404;
  font-size: 10px;
  line-height: 1.7;
  margin-top: 18px;
  margin-bottom: 0;
}

form .error_list {
  font-size: 12px;
}

form .mail_under_text {
  margin-bottom: 20px;
}

form .mail_lower_text {
  margin-top: 20px;
  margin-bottom: 0;
}

.count {
  display: block;
  font-size: 12px;
  margin-bottom: 0;
  margin-top: 2px;
}

.flex.center {
  justify-content: center;
}

.error_page .content {
  min-height: calc(100vh - (89px + 71px));
}

.error_page section:first-of-type {
  margin-top: 89px;
}

@media screen and (max-width: 600px) {
  .inner_login {
    width: 90%;
  }

  .contents_block .box {
    padding: 20px 10px;
  }

  .error_list br {
    display: none;
  }

  form .flex a,
  form .flex input[type="submit"] {
    width: 48%;
  }

  .error_page .content {
    min-height: calc(100vh - (54px + 59px));
  }

  .error_page section:first-of-type {
    margin-top: 54px;
  }

  .flex .flex-div {
    width: 48%;
  }

  .flex .flex-div button {
    width: 100%;
  }
}

.child-center {
  justify-content: center;
  align-items: center;
}

.error {
  font-size: 14px;
  color: #a70404;
}

@media (hover: hover) {
  form .flex a:hover {
    background-color: #29519c;
  }
  form .flex input[type="submit"]:hover,
  form .flex button:hover {
    background-color: #585858;
  }
}

@media (hover: none) {
  form .flex a:active {
    background-color: #29519c;
  }
  form .flex input[type="submit"]:active,
  form .flex button:active {
    background-color: #585858;
  }
}
