/* 共通のCSSデザイン */
body {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  font-family: "Noto Sans JP","Helvetica", "Arial", "Hiragino Kaku Gothic ProN", "Hiragino Sans", YuGothic, "Yu Gothic", "メイリオ", Meiryo, sans-serif;
  color: #222;
  word-break: break-all;
}

h1, h2, h3, h4, h5, h6 {
  font-weight: bold;
}

button, input[type="submit"], input[type="button"] {
  font-size: 0.95rem !important;
  font-weight: bold !important;
}

/* ヘッダーデザイン */
header .container {
  max-width: none;
  padding: 0 30px;
}

header table {
  font-size: 0.85rem;
}

/* サイドメニュー */
nav .btn {
  border-radius: 0;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}

#accordionMenu .accordion-body {
  display: flex;
  flex-direction: column;
  padding: 0;
}

.menu-btn {
  text-align: left;
  padding-left: 30px;
}

/* メインデザイン */
main {
  margin: 20px 0;
}

main .container {
  max-width: none;
  padding: 0 30px;
}

/* フッターデザイン */
footer {
  margin-top: auto;
}

footer .container {
  max-width: none;
  padding: 0;
}

.footer {
  height: 60px;
  line-height: 60px;
  color: white;
  background-color: #4D4D4D;
  text-align: center;
  font-size: 10px;
}

.footer p {
  margin: 0;
}

/* エラー表示のデザイン */
.errorsField ul {
  margin-bottom: 0;
}

/* 中央ぞろえ横幅400px */
.center-w400 {
  width: 400px;
  margin: 0 auto;
}

/* 中央ぞろえ横幅600px */
.center-w600 {
  width: 600px;
  margin: 0 auto;
}

/* 中央ぞろえ横幅700px */
.center-w700 {
  width: 700px;
  margin: 0 auto;
}

/* submitボタンクリック時に背景色変更とメッセージ表示する */
#submitLoad {
  display: none;
}

.load_background {
  position:fixed;
  top: 0;
  left: 0;
  z-index: 20;
  cursor: wait;
  background-color: #333333;
  height: 100%;
  width: 100%;
  opacity: 0.5;
}

.load_message {
  animation: sk-scaleout 1.0s infinite ease-in-out;
  position: fixed;
  top: 50%;
  left: 50%;
  margin-right: -50%;
  transform: translate(-50%, -50%);
  z-index: 201;
  text-align: center;
  background-color: #333;
  color: #ffffff;
  opacity: 1;
}

.load_message p {
  margin: .5em;
}

.load_message .loader {
  border: 12px solid #fafafa;
  border-radius: 50%;
  margin: .5em auto;
  border-top: 12px solid #3498db;
  width: 50px;
  height: 50px;
  animation: spin 1s linear infinite;
}
@keyframes spin{
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

/* パンくずリスト */
#breadcrumbs {
  background: var(--bs-gray-100);
  padding: .1em .5em;
}

#breadcrumbs .breadcrumb {
  margin: 0;
  font-weight: bold;
  font-size: 0.9em;
}

#breadcrumbs a {
  text-decoration: none;
}

/* 登録画面共通*/
.form-label {
  padding: 0.10em 0.25em;/*上下 左右の余白*/
  background: transparent;/*背景透明に*/
  border-left: solid 5px #4D4D4D;/*左線*/
}

/* 検索フォーム用設定 */
.form-search-control {
  display: initial;
  width: initial;
}

.form-search-label {
  font-size: 0.85em;
}

/* 評価対象シート一覧の編集可能行の色付け */
.editable-row,
table.dataTable>tbody>tr.editable-row {
  background-color: #DDFFFF;
}

/* 操作メニューのボタンの背景色を指定。hover時以外は背景白色にする。主に評価対象シート一覧のボタンに適用 */
.btn-outline-primary:not(:hover)
,.btn-outline-info:not(:hover)
,.btn-outline-danger:not(:hover)
,.btn-outline-success:not(:hover) {
  background: #FFFFFF;
}