.notice-container-footer {
  width: 100%;
  position: fixed;
  bottom: 0;
  right: 0;
  padding: 0 12px;
}

.container-footer {
  width: 100%;
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 0 12px;
}

/* 
bodyのスクロールバーを非表示にする
*/
/* body::-webkit-scrollbar {
    display: none;
} */

/*
サブタイトルの点線枠
*/
.sub-title-border {
  border-style: dotted;
  border-color: silver;
  border-width: 1px;
}

/* 
formタグのデフォルトmarginをゼロにする
*/
form {
  margin-bottom: 0px;
}

/*
開始日と終了日のinputのレイアウト
*/
.form-date {
  display: inline-flex;
}

/*
tableの下にスクロールバーを表示
*/
.scroll-content {
  width: 100%;
  table-layout: inherit;
  white-space: inherit;
  -webkit-overflow-scrolling: touch;
  overflow: auto;
}

.scroll::-webkit-scrollbar {
  height: 10px;
  width: 10px;
}
.scroll::-webkit-scrollbar-track {
  background: #eee;
}
.scroll::-webkit-scrollbar-thumb {
  background: #bbb;
}

/* 
tableのthead要素を固定して表示する
*/
.thead-sticky {
  position: sticky;
  top: 0;
  z-index: 2;
}

/* 
inputタグの表示の重なり順を指定
*/
.input-group {
  z-index: 1; /* .thead-stickyよりも下に表示 */
}

/* 
table縦表示のレイアウト
*/
#table-vertical th {
  background-color: black;
  color: white;
  text-align: center;
  width: 30%;
}

/* 
modalの日時、氏名などのレイアウト
*/
.modal-div-item {
  text-align: left;
}

.modal-div-item > div {
  display: inline-block;
  margin-right: 20px;
}

/* 
text-nowrap要素を打ち消し
改行を有効にする
*/
.no-wrap {
  white-space: normal !important;
  word-break: break-all; /* 半角英字を改行させるために必要 */
}

/* 
tableの省略表示
　・tdに省略表示を適用する場合に使用する
　・td > div の構成の場合は以下の手順で省略表示する
    td に style="max-width: 0;"
    div に text-truncate
*/
.text-truncate-custome {
  max-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.vertical-truncate {
  max-height: 80px;
}

/* 
hoverされたら色を変える処理
*/
.hoverable:hover {
  background-color: #f2f2f2;
}

/* 
modalの外枠の影
*/
.modal-content {
  box-shadow: 0 0 1000px 1000px rgba(0, 0, 0, 0.3);
}

/* 
フラッシュメッセージ
*/
.flash-message {
  position: fixed;
  top: 30%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: #fff;
  padding: 10px;
  z-index: 9999;
  opacity: 0;
}

.flash-message.show {
  opacity: 1;
}

.flash-message.success {
  background-color: #28a745;
  border-color: #28a745;
  color: #fff;
}

.flash-message.failed {
  background-color: #dc3545;
  border-color: #dc3545;
  color: #fff;
}

/* 
ロード中
*/

#loading {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 99999;
}

#loading p {
  font-size: 24px;
  color: #fff;
}

/* 
クラスを指定したtableのtdのborderを非表示にする
*/
.table-no-border td {
  border: none;
}
