/* ラベル マージン*/
.form-label-custom {
    margin-bottom: 0; /* mb-0 */
    margin-right: 1rem; /* me-3 (1rem) */
}
/* ラベル 位置 垂直:中央 水平:左揃え*/
.flex-align-start {
    display: flex;
    align-items: center; /* 垂直方向の中央揃え */
    justify-content: flex-start; /* 水平方向の左揃え */
}

/* ラベル 位置 垂直:中央 水平:右揃え*/
.flex-align-end {
    display: flex;
    align-items: center; /* 垂直方向の中央揃え */
    justify-content: flex-end; /* 水平方向の右揃え */
}

/* ラベル 位置 垂直:中央 水平:中央揃え*/
.flex-align-center {
    display: flex;
    align-items: center; /* 垂直方向の中央揃え */
    justify-content: center; /* 水平方向の中央揃え */
}

/* カスタム大ボタン */
.btn-lg-custom {
  padding: 1rem 3rem;
  font-size: 1.25rem;
  border-radius: 0.3rem;
  background-color: #0d6efd;
  color: #fff;
  border: none;
  cursor: pointer;
  display: inline-block;
  text-align: center;
  transition: background-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

/* カスタム大ボタン ホバー時の色*/
.btn-lg-custom:hover {
  background-color: #0b5ed7;
  color: #fff;
}

/* カスタム大ボタン　フォーカス時のスタイル */
.btn-lg-custom:focus {
  outline: none;
  box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.5);
  background-color: #0d6efd; /* 背景色は変更しない */
  color: #fff; /* 文字色も変えずに維持 */
}

/* エラー対象項目 */
.error-item {
    background-color: #f8d7da;　/* 背景色 (Bootstrapのalert背景色(--bs-danger-bg-subtle)) */
}

/* ボタン非活性時の色設定 */
.btn-primary:disabled,
.btn-secondary:disabled,
.btn-outline-primary:disabled,
.btn-info:disabled {
  background-color: #e9ecef !important; /* --bs-pagination-disabled-color */
  border-color: #dee2e6 !important; /* --bs-border-color */
  color: rgba(33, 37, 41, 0.75) !important; /* --bs-secondary-color */
  opacity: 1;
}

/* 非表示項目 */
.display-hide {
  display: none;
}

/* 0px以上の画面サイズでの処理 */
@media (min-width: 0px) {
   /* 面会者編集一覧のメッセージ部分の幅調節に使用 */
  .visiting-edit-message-width {
    width: 100%;
  }
  /* 画面サイズによりラベル位置を調節 */
  .flex-align-responsive {
    display: flex;
    align-items: center; /* 垂直方向の中央揃え */
    justify-content: flex-start; /* 水平方向の左揃え */
  }
  /* 文字が折り返すようnowrap削除 */
  .custom-nowrap {
    white-space: normal;
  }
}

/* sm(576px)以上の画面サイズでの処理 */
@media (min-width: 576px) {
  /* 画面サイズによりラベル位置を調節 */
  .flex-align-responsive {
    display: flex;
    align-items: center; /* 垂直方向の中央揃え */
    justify-content: flex-end; /* 水平方向の右揃え */
  }
  /* 文字が折り返さないようnowrap設定 */
  .custom-nowrap {
    white-space: nowrap;
  }
}

/* md(768px)以上の画面サイズでの処理 */
@media (min-width: 768px) {
}

/* lg(992px)以上の画面サイズでの処理 */
@media (min-width: 992px) {
  /* 面会者編集一覧のメッセージ部分の幅調節に使用 */
  .visiting-edit-message-width {
    width: 50%;
  }
}

/* xl(1200px)以上の画面サイズでの処理 */
@media (min-width: 1200px) {
}

/* ログイン画面 divの縦幅指定 */
.custom-login-div {
   height: 90vh;
}