:root {
  --font-ui-ja: "BIZ UDGothic", "MS Gothic", monospace;
  --font-ui-en: Arial, "Helvetica Neue", sans-serif;
  --font-body: var(--font-ui-ja);
}

html:lang(en) {
  --font-body: var(--font-ui-en);
}

body,
button,
input,
select,
textarea {
  font-family: var(--font-body);
}

body {
  font-weight: 400;
  background: linear-gradient(to bottom, #e9e9e9, #d9d9d9);
  height: 100vh;
  line-height: 1;
}
h1 {
  font-size: 1.4em;
  height: 22.4px;
  line-height: 1.6;
  text-align: center;
  margin-bottom: 33px;
}
.login-wrapper {
  max-width: 320px;
  margin: 4rem auto 1.5rem auto;
  padding: 2.5rem 2rem;
  background: #fff;
  border: 1px solid #e4e4e4;
  border-radius: 8px;
  box-shadow: 0 4px 12px rgb(0 0 0 / 0.08);
}

input:focus {
  outline: none;
  border-color: #007508;
  box-shadow: 0 0 0 2px rgb(0 117 8 / 0.15);
}
form p {
  text-align: center;
}
form p label {
  width: 126px;
  display: inline-block;
  text-align: left;
}
/* エラーメッセージ */
.errorlist {
  margin: 0 0 1rem 0;
  padding: 0.8rem 1rem;
  list-style: none;
  background: #ffecec;
  border: 1px solid #f5c2c2;
  color: #cc0000;
  border-radius: 4px;
  font-size: 0.85rem;
}

#loginButton {
  margin: 1.5rem auto 0 auto;
  padding: 0.4rem 1.4rem;
  font-size: 0.8rem;
  font-weight: bold;
  border: none;
  border-bottom: solid 2px rgb(0, 68, 5);
  border-radius: 4px;
  cursor: pointer;
  background: linear-gradient(to bottom, #00aa0b, #00980a);
  color: #fff;
  transition: background 0.2s ease, transform 0.1s ease;
  display: block;
}
#loginButton:hover {
  background-image: linear-gradient(to bottom, #00980a, #006e07);
  background-color: #00aa0b;
}
#loginButton:active {
  transform: translateY(2px);
  -webkit-transform: translateY(2px);
  border-bottom: none;
}
.signup {
  color: #007508;
  text-decoration: none;
  font-size: 0.8rem;
}
.signup:hover {
  text-decoration: underline;
}
#back-button-container {
  text-align: center;
}
#backButton {
  padding: 0.4rem 1.4rem;
  font-size: 0.8rem;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  text-align: center;
  background-color: transparent;
  color: rgb(167, 0, 0);
  display: inline-block;
}
#backButton:hover {
  text-decoration: underline;
}
