@import url('https://fonts.googleapis.com/css2?family=M+PLUS+Rounded+1c:wght@300;400&display=swap');

body,
.content-wrapper,
.main-header,
.main-sidebar {
  font-family: 'M PLUS Rounded 1c', sans-serif;
  font-size: 18px;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: 'M PLUS Rounded 1c', sans-serif;
}

/* ローディングアニメーション */
#loading-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  z-index: 9999;
  display: flex;
  justify-content: center;
  align-items: center;
}

.loading-spinner {
  width: 50px;
  height: 50px;
  border: 3px solid #f3f3f3;
  border-top: 3px solid #3498db;
  border-radius: 50%;
  animation: spin 1s linear infinite;
}

@keyframes spin {
  0% {
    transform: rotate(0deg);
  }

  100% {
    transform: rotate(360deg);
  }
}

/* ページネーション　*/
.pagination a {
  color: #7fbfff;
}

/* アクティブなページネーションリンクのスタイル */
.pagination .active .page-link {
  background-color: #7fbfff;
  color: #ffffff;
}

/* ページネーションリンクのホバー時のスタイル */
.pagination a:hover {
  background-color: #e0e0e0;
}

/* テーブル 縦スクロール固定 */
.sticky-table thead tr th {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  z-index: 10;
  border-bottom: 2px solid #dee2e6;
  background-color: #fff;
}

.sticky-table-wrapper {
  overflow-y: auto;
  height: 80vh;
}

.sticky-table {
  border-collapse: separate !important;
  border-spacing: 0;
}

/* ストライプの入力フィールド */
.stripe-input {
  width: 100%;
  padding: 8px;
  margin-bottom: 5px;
  border: 1px solid #BBBBBB;
  border-radius: 5px;
}

.modal-dialog.w-900 {
  max-width: 900px !important;
  width: 100%;
}