/* 必須マーク共通 */
.req {
  color: #b02a37; /* bootstrap danger-700 相当 */
  font-weight: 600;
}

.card {
  border-radius: 0!important;
  border: none;
}

.card-body{
  padding: 1rem 2rem;
}

body {
  background-color: #f7f7f9;
}
.login-card {
  margin: 60px auto;
  border-radius: 0.75rem;
  box-shadow: 0 4px 16px rgba(0,0,0,0.1);
  border: solid 1px #ccc;
}
.login-card .card-body {
  padding: 2rem;
  border-radius: .75rem !important;
}

.register__space {
  margin: 0;
  height: 18px;
}

.row{
  margin-bottom: 2rem;
}
/* エラースクロール時の余白を少し */
html {
  scroll-padding-top: 90px;
}

label.form-label {
  margin: 0!important;
  font-size: 1rem;
  font-weight: bold;
}

.font-size__small {
  font-size: 0.85rem;
  color: #6c757d;
  margin-top: .3rem;
  margin-bottom: 0;
}

.input__width_30p{
  width: 80%;
}

.mb-3.form-check {
  width: 100%;
  max-width: 370px;
  margin: 0 auto;
}

p.small.agree_link_text__center {
  text-align: center;
  margin: 0 auto 3rem;
}

.justify-content-md-end {
  justify-content: none!important;
  width: 100%;
  max-width: 300px;
  margin: 0 auto;
}

button#confirmBtn {
  margin: 0 auto;
}

.any_check{
  color: rgb(5, 124, 5);
}

@media (min-width: 992px) {
  .container, .container-lg, .container-md, .container-sm {
    max-width: 820px;
  }
}

/* スマホ時、入力のタップ余白を少し広く */
@media (max-width: 575.98px) {
  .form-control,
  .form-select {
    min-height: 44px;
  }
}
