main {
  padding: 50px 0;
}

.login {
  height: 100vh;
  background-color: #93cada;
}

.login-frame {
  position: relative;
  background-color: #ffffff;
  width: 23rem;
  padding: 2.5rem;

  border-radius: 10px;
  box-shadow: 0px 5px 15px #0000001a;
}

.information-frame {
  position: relative;
  background-color: #ffffff;
  width: 23rem;
  padding: 1.5rem 1.5rem;

  border-radius: 10px;
  box-shadow: 0px 5px 15px #0000001a;
}

.information {
  min-height: 4rem;
  overflow-y: auto;
  word-break: break-all;
}

.student .information {
  max-height: 332px;
}

.staff .information {
  max-height: 449px;
}

.login-icon {
  height: 7.5rem;
}

.login-input-frame {
  margin-left: auto;
  margin-right: auto;
}

.login-input-frame input {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  height: 45px;
}

.login-input-text {
  text-align: left;
  font-weight: bold;
  color: #333333;
}

.login-btn-base {
  height: 3.5rem;
  width: 100%;
  border: 2px solid #2dc59e;
  border-radius: 60px;

  font-weight: bold;
  color: #fff;
  background-color: #2dc59e;

  transition: 0.4s cubic-bezier(0.37, 0, 0.63, 1);
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  cursor: pointer;
}

.login-btn-base:hover {
  color: #2dc59e;
  background-color: #fff;
  letter-spacing: 0.15em;
}

.password-frame {
  position: relative;
}

.annotation-frame {
  width: 100%;
  font-size: 0.9rem;
}

.annotation-box {
  font-size: 14px;
  display: table;
}

.annotation-frame a {
  color: #333333;
  text-decoration: underline;
}

.login-footer {
  position: fixed;
  width: 100%;
  bottom: 0;
  background-color: var(--background-color);
  color: #333333;
  pointer-events: none;
}

.login-footer .picture-frame {
  position: relative;
  width: 100%;
  height: 9vw;
}

.login-footer .picture-frame .bottom-left-image {
  position: absolute;
}

.login-footer .picture-frame .top-right-image {
  position: fixed;
}

.login-footer .picture-frame .bottom-right-image {
  position: absolute;
}

.login-footer .company-name {
  font-size: 10px;
  text-align: center;
  padding-bottom: max(12px, env(safe-area-inset-bottom));
}

/* ログインエラー */
.login-error-frame {
  width: 80%;
  margin-left: auto;
  margin-right: auto;
  border-radius: 4px;
  padding: 0.8rem 0.5rem;
  font-weight: bold;
  font-size: 0.8rem;
  font-weight: bold;
  color: #ff0000;
}

.login-error-icon {
  font-size: 1rem;
  animation: error_animation 1s ease-in-out 1 forwards;
}
