/* 共通 ここから */
html,
body {
  height: 100%;
  /* htmlとbodyの高さを100% */
  margin: 0;
  /* デフォルトのマージンをリセット */
  display: flex;
  flex-direction: column;
  /* 縦方向のフレックスに設定 */
  min-height: 900px; /*1040px;*/
  min-width: 1900px;
  overflow: auto;
  font-family: 'Meiryo';
}

.flex-container {
  display: flex;
  flex: 1;
  /* 残りのスペースを占める */
  overflow: hidden;
  /* コンテンツがはみ出さないように隠す */
  justify-content: flex-start;
  /* 左寄せ */
  padding: 0;
}

.sidebar {
  background-color: #343a40;
  /* サイドバーの背景色 */
  color: white;
  /* サイドバーの文字色 */
  height: 100%;
  /* サイドバーの高さを100%に設定 */
  width: 250px;
  padding-top: 30px;
  /* サイドバーのパディング */
  padding-bottom: 15px;
  padding-left: 15px;
  padding-right: 0px;
}

.main-content {
  padding: 15px;
  /* メインコンテンツのパディング */
  height: 100%;
  /* メインコンテンツの高さを100%に設定 */
  width: 100%;
  background-color: #D9D9D9;
}

/* 文字色:白 */
text-white {
  color: #FFFFFF;
}

/* 共通 ここまで */

/* ヘッダー部 ここから  */
.navbar-brand,
.text-center {
  flex: 6;
  /* すべての要素をフレックスボックスで同じ比率にする */
}

/* 所属テキスト */
.navbar-upper-text {
  text-align: left;
  margin-top: 0px;
  margin-left: 200px;
  margin-right: 0px;
  margin-bottom: 0px;
  line-height: 1.1;
}

/* 氏名テキスト */
.navbar-lower-text {
  text-align: left;
  margin-top: 4px;
  margin-left: 200px;
  margin-right: 0px;
  margin-bottom: 0px;
  line-height: 1.1;
}

/* ヘッダー背景色 */
.bg-light {
  background-color: #050E4E !important;
}

/* ヘッダーの高さ */
.header-height {
  height: 80px;
}

/* ヘッダー部 ここまで  */

/* サイドメニュー部 ここから */
.submenu {
  display: none;
  /* 初めはサブメニューを非表示に */
}

.nav-item {
  margin-left: 0px;
  margin-right: 0px;
}


.nav-link {
  background-color: #14248B;
  height: 40px;
}

.nav-active {
  border-left: 20px solid aqua;
  background-color: #D9D9D9;
  padding-left: 2px;
  height: 48px;
  align-items: center;
}

.nav-passive {
  border-left: 20px solid #D9D9D9;
  padding-left: 2px;
  height: 48px;
  align-items: center;
}

.nav-portal {
  border-left: 20px solid #14248B;
  padding-left: 2px;
  height: 48px;
  align-items: center;
}

side-menu-item {
  margin-top: 10px;
  margin-bottom: 10px;
  padding-right: 0px;
  background-color: #050E4E;
}

.side-menu-icon {
  width: 32px;
  height: 32px;
  margin-bottom: 10px;
}

margin-top20px {
  margin-top: 20px !important;
}

/* サイドメニュー部 ここまで */

/* コンテンツ部 ここから  */

/* 検索条件表示エリア */
.search-conditions-area {
  background-color: #707070;
  margin-top: 0px;
  margin-bottom: 0px;
  margin-left: 20px;
  margin-right: 20px;
  width: 85%;
}

/* 検索条件入力フォーム全体 */
.search-conditions-form {
  padding-left: 30px;
  padding-right: 30px;
  padding-top: 0px;
  padding-bottom: 0px;
  margin-top: 5px;
  margin-bottom: 0px;
}

/* 検索条件入力フォーム 項目名 */
.search-conditions-item-name {
  width: 150px;
  margin-top: 5px;
  margin-bottom: 3px;
  padding: 0px;
}

/* 検索条件入力フォーム 入力欄 */
.search-conditions-item {
  margin-top: 5px;
  margin-bottom: 3px;
  padding: 0px;
}

.search-conditions-input {
  width: 90%;
  align-items: center;
}

.search-conditions-select {
  width: 150px;
  align-items: center;
}

/* 検索条件ボタン表示エリア */
.search-conditions-button-area {
  margin-top: 35px;
  margin-bottom: 35px;
}

/* padding、margin 指定0  */
.padding-margin-0px {
  padding: 0px;
  margin: 0px;
}

.button-mergin-left-100 {
  margin-left: 100px;
}

.button-mergin-right-100 {
  margin-right: 100px;
}

.table-container {
  max-height: 562px;
  /* スクロール領域の最大高さ */
  overflow-y: auto;
  /* 縦方向のオーバーフローをスクロール可能にする */
}

table {
	border-collapse:separate;
	border-spacing:0;
	width:auto;
}

thead th {
  position: sticky;
  /* ヘッダーを固定 */
  top: 0;
  /* 固定位置を設定 */
  background-color: #f8f9fa;
  /* 背景色を設定（オプション） */
  z-index: 10;
  /* ヘッダーを手前に表示 */
}

/** テーブル ヘッダ 左端 */
.th-border-start {
  border-left: solid 1px #757575;
  border-top: solid 1px #757575;
  border-bottom: solid 1px #757575;
}

/** テーブル ヘッダ 中央 */
.th-border {
  border-left: solid 1px #757575;
  border-top: solid 1px #757575;
  border-bottom: solid 1px #757575;
}

/** テーブル ヘッダ 右端 */
.th-border-end {
  border-left: solid 1px #757575;
  border-top: solid 1px #757575;
  border-bottom: solid 1px #757575;
  border-right: solid 1px #757575
}

/** テーブル 左端 */
.td-border-start {
  border-left: solid 1px #757575;
  border-bottom: solid 1px #757575;
}

/** テーブル 中央 */
.td-border {
  border-left: solid 1px #757575;
  border-bottom: solid 1px #757575;
}

/** テーブル 右端 */
.td-border-end {
  border-left: solid 1px #757575;
  border-bottom: solid 1px #757575;
  border-right: solid 1px #757575
}

.text-gray {
  color: #7C7C7C !important;
}

.text-gray {
  color: #7C7C7C !important;
}

.text-user-list-header-center {
  text-align: center;
  padding: 4px !important;
  font-weight: normal;
}

.text-user-list-header-left {
  text-align: left;
  padding-left: 20px !important;
  padding-right: 4px !important;
  padding-top: 4px !important;
  padding-bottom: 4px !important;
  font-weight: normal;
}

.text-user-list-row-left {
  text-align: left;
  padding-left: 20px !important;
  padding-right: 4px !important;
  padding-top: 4px !important;
  padding-bottom: 4px !important;
}

.text-user-list-row-center {
  text-align: center;
  padding: 4px !important;
}

.text-user-list-row-right {
  text-align: right;
  padding-left: 4px !important;
  padding-right: 20px !important;
  padding-top: 4px !important;
  padding-bottom: 4px !important;
}

.text-user-list-row-color {
  background-color: #F7F7F7 !important;
}

.rounded-number {
  display: inline-block;
  border-radius: 50%;
  width: 24px;
  height: 24px;
  text-align: center;
  vertical-align: middle;
  line-height: 24px;
  /* 様々なフォントの配置に合わせるため */
  font-size: 14px;
  text-decoration: none;
  /* フォントサイズの調整 */
  margin-left: 4px;
  margin-right: 4px;
}

.rounded-number-text {
  background-color: #D9D9D9;
  color: #7C7C7C !important;
  border: 1px solid #7C7C7C;
}

.rounded-number-active {
  background-color: #7C7C7C;
  color: #FFFFFF !important;
  border: 1px solid #7C7C7C;
}

.search-result-area {
  background-color: #FFFFFF;
  margin: 20px;
  width: 85%;
}

.search-result-record-count-area {
  margin-left: 20px;
  margin-top: 20px;
  margin-bottom: 0px;
  padding-bottom: 0px;
}

.search-result-record-count-text-area {
  margin-bottom: 0px;
}

.search-result-delete-area {
  margin-left: 25px;
  margin-top: 16px;
  margin-bottom: 16px;
}

/* コンテンツ部 ここまで  */

/* モーダル部 ここから */
.custom-modal {
  max-width: 75%; /* 任意のサイズ */
}

.modal-header {
  border: none;
}

.modal-footer {
  border: none;
}

.modal-header h5 {
  text-align: center;
  /* 中央寄せのスタイル */
  width: 100%;
  /* 幅を100%に設定して中央に配置 */
}

.modal-dialog {
  display: flex;
  align-items: center; /* 上下中央に配置 */
  min-height: calc(100% - 1rem); /* 中央にするための最小高さ設定 */
  max-width: 80%;
  margin: auto; /* 余白を自動調整 */
  margin-left: 320px;
  margin-top: 16px;
}

.modal-text {
  color: #7C7C7C !important;
}

.alert-text {
  color: red !important;
}

.input-text {
  border: 1px solid #7C7C7C;
  color: #000000;
  border-radius: 10px;
  width: 400px;
}

.input-select {
  border: 1px solid #7C7C7C;
  color: #7C7C7C;
  border-radius: 10px;
  width: 150px;
  height: 36px;
}

.input-text-area {
  border: 1px solid #7C7C7C;
  border-radius: 10px;
  width: 400px;
}

.row-margin-4 {
  margin-top: 4px;
  margin-bottom: 4px;
}

.row-margin-6 {
  margin-top: 6px;
  margin-bottom: 6px;
}

.row-margin-8 {
  margin-top: 8px;
  margin-bottom: 8px;
}

.row-margin-12 {
  margin-top: 12px;
  margin-bottom: 12px;
}

.row-margin-24 {
  margin-top: 24px;
  margin-bottom: 24px;
}

.row-margin-48 {
  margin-top: 48px;
  margin-bottom: 18px;
}

.padding-left-48 {
  padding-left: 48px;
}

.padding-left-60 {
  padding-left: 60px;
}

.boundary-line {
  border-bottom: 4px;
  border-color: #7C7C7C;
  border-style: solid;
}

.user-detail-item {
  height: 56px;
  padding-top: 8px;
}

/* モーダル部 ここまで */

.user-area2 {
  width: 100vh;
  height: 80vh;
  background-color: #ffffff;
  border-radius: 40px;
  margin-top: 48px;
  margin-bottom: 48px;
}

.user-area {
  width: 170vh;
  height: 82vh;
  background-color: #ffffff;
  border-radius: 40px;
  margin: 24px;
}

.user-login-area {
  width: 100vh;
  height: 70vh;
  background-color: #ffffff;
  border-radius: 40px;
  margin: 48px;
}

.custom-file-upload {
  display: inline-block;
  padding: 6px 12px;
  cursor: pointer;
  border-radius: .25rem;
}

.custom-file-input {
  display: none; /* 実際のファイル入力を非表示にする */
}

even-row {
  background-color: #F7F7F7; /* 偶数行の色 */
}

.input-text-min {
  width: 80px;
  display: inline-block;
}

.input-text-short {
  width: 160px;
  display: inline-block;
}

.input-text-long {
  width: 480px;
  display: inline-block;
}

.item-height {
  height: 38px;
}

.item-height-50 {
  height: 50px;
}

.maregin-left-48 {
  margin-left: 48px;
}

.padding-0 {
  padding: 0px;
}

/* モーダルの閉じるボタンの外側の円 */
.close-btn-container {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px; /* 円の幅 */
  height: 40px; /* 円の高さ */
  border-radius: 50%; /* 円形にする */
  background-color: #FFFFFF; /* 円の背景色 */
  border: 2px solid #7C7C7C; /* ボーダーの色とサイズ */
  cursor: pointer; /* ポインタを表示 */
  margin-left: auto; /* モーダルヘッダーの右に配置 */
}

.btn-rounded {
  background-color: #3F83F0;
  border-radius: 30px; /* 丸さを調整 */
  width: 150px;
  font-size: 18px; /* フォントサイズ調整 */
  font-weight: bold;
  border: 2px solid #EFEADF;
}

.btn-cancel {
  background-color: #E4E4E4;
  color: #8A8A8A;
  border-radius: 30px; /* 丸さを調整 */
  width: 150px;
  font-size: 18px; /* フォントサイズ調整 */
  font-weight: bold;
  border: 2px solid #8A8A8A;
}

/* bootstrap5の入力欄で自動入力（オートフィル）機能を使用すると入力欄の背景色が青色になるのを抑止する　ここから */
 /* Autofill用のスタイルをリセット */
 input:-webkit-autofill {
  -webkit-box-shadow: 0 0 0 30px white inset !important; /* 背景色を元に戻す */
  box-shadow: 0 0 0 30px white inset !important; /* 背景色を元に戻す */
  -webkit-text-fill-color: #000; /* テキストの色を設定 */
 }

 /* このスタイルを追加してオートフィルの選択状態を無効に */
 input:-internal-autofill-selected {
  background-color: white !important; /* 指定したい背景色に変更 */
  color: #000 !important;  /* 指定したいテキスト色に変更 */
 }

 /* 追加: フォーカス時のスタイル */
 input:focus {
  box-shadow: none; /* フォーカス時のシャドウを無効化 */
  border-color: #80bdff; /* フォーカス時のボーダー色を設定（必要に応じて変更） */
 }
 /* bootstrap5の入力欄で自動入力（オートフィル）機能を使用すると入力欄の背景色が青色になるのを抑止する　ここまで */


 /* 入力欄の非活性 ここから */
.transparent-mail-input {
  background-color: rgba(255, 255, 255, 0.5); /* 透過度 50% の背景色 */
  color: rgba(0, 0, 0, 0.5); 
  border: 1px solid rgba(124, 124, 124);
}

.transparent-input {
  background-color: rgba(255, 255, 255, 0.5); /* 透過度 50% の背景色 */
  color: rgba(0, 0, 0, 0.5); 
  border: 1px solid rgba(124, 124, 124);
}

.transparent-input::placeholder {
  color: rgba(124, 124, 124); /* プレースホルダーの色 CACACA*/
}

/*
.form-control:disabled {
  background-color: #D9D9D9; /* 背景色を指定 */ /*
}
*/

/*
.form-select:disabled {
  background-color: #D9D9D9; /* 背景色を指定 */ /*
}
*/


/* 入力欄の非活性 ここまで */

/* オーバーレイのスタイル */
.overlay {
  position: fixed; /* 固定位置 */
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5); /* 半透明の黒背景 */
  display: flex; /* フレックスボックス */
  justify-content: center; /* 中央揃え（横） */
  align-items: center; /* 中央揃え（縦） */
  z-index: 9999; /* 最前面に表示 */
  display: none; /* 初期状態では非表示 */
  flex-direction: column; /* 縦に並べる */
}

/* 点滅アニメーション */
.blinking {
  animation: blink 1s infinite; /* 1秒間隔で無限に点滅 */
}
@keyframes blink {
  0%, 100% {
    opacity: 1; /* 完全表示 */
  }
  50% {
    opacity: 0; /* 完全非表示 */
  }
}