@charset "UTF-8";
.error_area {
  color: #dc3545;
}

/* 通常のボタン色 */
.btn-std, a.btn-std, bg-std, span.bg-std,
.btn-std.disabled, .btn-std:disabled {
  color: #fff;
  background-color: #ada142;
  border-color: #ada142;
}

/* focusされた時の枠線の色 */
.btn-std:focus, .btn-std.focus,
.btn-std:not(:disabled):not(.disabled):active:focus, .btn-std:not(:disabled):not(.disabled).active:focus,
.show > .btn-std.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.1rem rgba(173, 161, 66, 0.5);
}

/* hover時（マウスカーソルを重ねた時）の色（通常より濃いor暗めの色を指定） */
.btn-std:hover {
  color: #fff;
  background-color: #aa8942;
  border-color: #aa8942;
}

/* active時の色（hover時と同等かさらに濃いor暗めの色を指定） */
.btn-std:not(:disabled):not(.disabled):active, .btn-std:not(:disabled):not(.disabled).active,
.show > .btn-std.dropdown-toggle {
  color: #fff;
  background-color: #a87141;
  border-color: #a87141;
}

.bg-std {
  background-color: #ada142;
  color: white;
}

.bg-std .btn {
  color: white;
}

.bg-std .btn:hover {
  color: black;
}

/* 改訂（会社規程一覧画面で「登録」ボタン（btn-std）と同じ行に並ぶため、幅は揃えつつ色だけ区別する。
   ユーザー要望。min-width指定グループには入れず、btn-stdと同様に内容に応じた幅にする） */
.btn-revise, a.btn-revise,
.btn-revise.disabled, .btn-revise:disabled {
  color: #fff;
  background-color: #5ca3cc;
  border-color: #5ca3cc;
}

.btn-revise:hover {
  color: #fff;
  background-color: #3c7ea3;
  border-color: #3c7ea3;
}

.btn-revise:not(:disabled):not(.disabled):active, .btn-revise:not(:disabled):not(.disabled).active {
  color: #fff;
  background-color: #326a8a;
  border-color: #326a8a;
}

/* 詳細（会社規程一覧画面で「登録」ボタン（btn-std）と同じ行に並ぶため、btn-showと同じ配色（白背景・
   金枠）を保ちつつ、min-width指定グループ（.btn-show含む）には入れずbtn-stdと同様に内容に応じた幅にする。
   ユーザー要望: btn-showのmin-widthのせいで「登録」ボタンと横に並んだ時にサイズがアンバランスだった） */
.btn-show-list, a.btn-show-list,
.btn-show-list.disabled, .btn-show-list:disabled {
  background-color: white;
  border: 1px solid #ada142;
  color: #ada142;
}

.btn-show-list:hover {
  background-color: #fcfcfc;
  border: 1px solid #aa8942;
  color: #ada142;
}

/* ボタン */
.btn_area {
  display: flex;
  justify-content: center;
  gap: 20px;
}
.btn_area.__L {
  justify-content: flex-end;
}

.btn-create, .btn-update, .btn-next, .btn-show, .btn-upload, .btn-back, .btn-cancel, .btn-delete {
  min-width: 110px;
}

/* 登録・更新・次へ */
.btn-create, .btn-update, .btn-next {
  background-color: #ada142;
  color: white;
}
.btn-create:hover, .btn-update:hover, .btn-next:hover {
  background-color: #aa8942;
  color: white;
}
.btn-create._on_bg, .btn-update._on_bg, .btn-next._on_bg {
  border: 1px solid white;
}

/* 表示 */
.btn-show {
  background-color: white;
  border: 1px solid #ada142;
  color: #ada142;
}
.btn-show:hover {
  background-color: #fcfcfc;
  border: 1px solid #aa8942;
  color: #ada142;
}

/* アップロード */
.btn-upload {
  background-color: #5ca3cc;
  color: white;
}
.btn-upload:hover {
  background-color: #3c7ea3;
  color: white;
}

/* キャンセル・戻る */
.btn-back, .btn-cancel {
  background-color: white;
  border: 1px solid #6c757d;
  color: #343a40;
}
.btn-back:hover, .btn-cancel:hover {
  background-color: #f9f9f9;
  border: 1px solid #555c62;
  color: #343a40;
}

/* 削除 */
/* min-width 統一幅グループ（.btn-create 等の110px）のボタンを、内容幅のボタン
   （btn-warning・btn-secondary 等）と同じ行に並べるときの打ち消しユーティリティ。
   備品詳細の「削除」・備品一覧の行内ボタンが「編集」と並んでサイズがアンバランスだった
   ため（Issue #524 人間フィードバック。.btn-show-list が新設された経緯と同じ理由）。
   ★110px グループの定義より後に置くこと（同特異度のため後勝ちで効かせている） */
.btn-fit {
  min-width: 0;
}

.btn-delete {
  background-color: white;
  border: 1px solid #dc3545;
  color: #dc3545;
}
.btn-delete:hover {
  background-color: #f9f9f9;
  border: 1px solid #c82333;
  color: #c82333;
}

.position-box:not(.bg-light, .bg-warning) .btn {
  color: white;
}

.position-box:not(.bg-light, .bg-warning) .btn:hover {
  color: black;
}

.nav-tabs .nav-link {
  color: #aa8942;
}

.nav-tabs .nav-link:hover {
  color: gray;
}

.nav-tabs .nav-link.active {
  background-color: #aa8942;
  color: white;
}

.nav-pills .nav-link:not(.active):hover {
  color: gray;
}

/* nav-pills */
.nav-pills .nav-link.active, .nav-pills .show > .nav-link {
  background-color: #aa8942;
}

.nav-pills .nav-link {
  color: #aa8942;
}

.table thead.table-head-dark th {
  background-color: #626262;
  color: white;
}

.table.table-head-fixed.table-fastball {
  border-collapse: separate;
  border-spacing: 0;
}

.table.table-head-fixed.table-fastball thead tr:nth-child(1) th {
  background-color: #626262;
  color: white;
}

.table.table-head-fixed.table-fastball thead th:first-child {
  position: sticky;
  position: -webkit-sticky;
  left: 0;
  z-index: 20;
}

.table.table-head-fixed.table-fastball th:first-child {
  position: sticky;
  position: -webkit-sticky;
  background-color: white;
  left: 0;
}

.table.table-head-fixed.table-fastball td:first-child {
  position: sticky;
  position: -webkit-sticky;
  background-color: white;
  left: 0;
}

/* 列数が可変のテーブル（グループ規程一覧・法令対応課題の対応状況等）向け。Bootstrapの.tableは
   既定でwidth: 100%のため列が多いと極端に潰れてしまい、単純にwidth: autoに上書きすると逆に
   列が少ない時に右側へ余白が空いてしまう（ユーザー指摘）。width: autoで内容に応じた幅を
   優先させつつ、min-width: 100%で親要素の幅より縮まないようにすることで両立する。
   Bootstrap標準ユーティリティにmin-width: 100%相当が無いため専用クラスとして追加する */
.table-fill-min {
  width: auto !important;
  min-width: 100%;
}

tr.tr-invalid {
  background-color: lightgray;
}

.card-body.p-0 .table tbody > tr.tr-invalid > td:first-of-type {
  background-color: lightgray;
}

.card-header {
  background-color: #aa8942;
  color: white;
}

/* 表のヘッダ（thead）がBootstrap標準のtable-light（薄いグレー）だと本文行と見分けにくいという
   指摘のため、btn-std/card-header等と同系色（#ada142系）を薄く敷いた専用クラスを用意する。
   table-light自体を上書きすると他の全一覧画面に影響するため、個別クラスとして追加する
   （法令対応課題一覧での指摘） */
.table-header-std {
  background-color: rgba(173, 161, 66, 0.18);
}

.card-std:not(.card-outline) > .card-header .btn-tool {
  color: white;
}

.card-std:not(.card-outline) > .card-header .btn-tool:hover {
  color: #495057;
}

.card-high > .card-header {
  background-color: #ada142;
  color: white;
}

.card-high:not(.card-outline) > .card-header .btn-tool {
  color: white;
}

.card-high:not(.card-outline) > .card-header .btn-tool:hover {
  color: #495057;
}

.card {
  margin-bottom: 1rem;
}

.mb-20 {
  margin-bottom: 20px !important;
}

.w-full {
  width: 100% !important;
}

.content-wrapper.__login {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: calc(100vh - 60px);
  background-image: url(/assets/bg-7db98870d01cf12da1317f7fea09a7824218ba4d5131bcb6822c3352ab2fa33b.svg);
  background-size: cover;
}

.login-box .card, .login-box .login-card-body {
  background: none !important;
  box-shadow: none !important;
}
.login-box .card-body {
  text-align: center;
}
.login-box .card-body img {
  width: 80%;
  margin-bottom: 16px;
}

.btn_size_large {
  padding: 16px 0 !important;
  background-color: #AB9363 !important;
  border-color: #AB9363 !important;
}

.form-control.__login {
  padding: 16px !important;
  height: initial !important;
  background-color: rgba(255, 255, 255, 0.2) !important;
  border: none !important;
  color: #fff !important;
}

.input-group-text.__login {
  background-color: rgba(255, 255, 255, 0.2) !important;
  border: none !important;
  color: rgba(255, 255, 255, 0.5) !important;
}

.icheck-primary {
  color: #fff !important;
}

[class*=icheck-] > label.user_remember_me {
  padding-left: 10px !important;
}

.sidebar-menu .menu-open > .nav-link i.right {
  transform: rotate(-180deg) !important;
  transition: transform 0.3s;
}

.sidebar-menu .nav-link.active:not([href="#"]) {
  background-color: #ada142 !important;
  color: #fff !important;
}

.sidebar-menu > .nav-item + .nav-item {
  border-top: 1px solid rgba(255, 255, 255, 0.35);
  margin-top: 0.25rem;
  padding-top: 0.25rem;
}

.sidebar-menu .nav-link {
  display: flex;
  align-items: center;
}
.sidebar-menu .nav-link p {
  width: 90%;
}

/*データテーブルタイトル*/
.content .bg-info {
  background-color: #5aa4af !important;
}
.content .bg-success {
  background-color: #5ba86b !important;
}
.content .bg-warning {
  background-color: #bfb085 !important;
}
.content .bg-danger {
  background-color: #ad6e74 !important;
}

/*データボックス*/
.card-info:not(.card-outline) > .card-header {
  background-color: #51878f !important;
}

.card-success:not(.card-outline) > .card-header {
  background-color: #3d6546 !important;
}

.card-warning:not(.card-outline) > .card-header {
  background-color: #9b8d61 !important;
}

.card-danger:not(.card-outline) > .card-header {
  background-color: #ad6e74 !important;
}

.app-sidebar {
  display: flex !important;
  flex-direction: column !important;
}

.sidebar-wrapper {
  flex: 1 1 auto !important;
  height: auto !important;
  overflow-y: auto !important;
  min-height: 0;
}

.sidebar-logout {
  flex-shrink: 0;
  padding: 0.5rem 1.2rem;
  border-top: 1px solid rgba(255, 255, 255, 0.15);
}
.sidebar-logout .nav-link:hover {
  background-color: rgba(255, 255, 255, 0.08);
  border-radius: 0.375rem;
}

.sidebar-mini.sidebar-collapse .sidebar-logout span {
  display: inline-block;
  width: 0;
  overflow: hidden;
  white-space: nowrap;
}

.sidebar-mini.sidebar-collapse:not(.sidebar-without-hover) .app-sidebar:hover .sidebar-logout span {
  width: auto;
  overflow: visible;
}

.breadcrumbs {
  display: flex;
  align-items: center;
  gap: 10px;
  position: fixed;
}
.breadcrumbs li {
  display: flex !important;
  align-items: center;
  gap: 5px;
  list-style-type: none !important;
}
.breadcrumbs li::before {
  font-family: "Font Awesome 6 Free";
  content: "\f105";
  display: block;
  color: rgba(255, 255, 255, 0.75);
  font-size: 16px;
  font-weight: 900;
}
@media print, screen and (max-width: 992px) {
  .breadcrumbs li.d-sm-inline-block {
    position: absolute;
    left: 10px;
    top: -48px;
  }
  .breadcrumbs li.d-sm-inline-block .select2 {
    width: 280px;
  }
}
.breadcrumbs li.d-sm-inline-block::before {
  display: none !important;
}
.breadcrumbs li a {
  color: rgba(255, 255, 255, 0.75);
}
.breadcrumbs li.nav-item:first-of-type::before {
  display: none !important;
}
.breadcrumbs .nav-link {
  margin-left: 0px !important;
  padding: 0;
}
.breadcrumbs .ms-4 {
  margin-left: 0px !important;
}
@media print, screen and (min-width: 993px) {
  .breadcrumbs {
    top: 0;
    left: 300px;
    min-height: 57px;
    z-index: 9999;
  }
  .breadcrumbs .nav-link {
    margin-left: 10px !important;
  }
}
@media print, screen and (max-width: 992px) {
  .breadcrumbs {
    top: 56px;
    padding-left: 16px;
    width: 100%;
    background: white;
    z-index: 1037;
  }
  .breadcrumbs li {
    gap: 0;
  }
  .breadcrumbs li::before {
    margin-right: 10px;
    color: #212529;
  }
  .breadcrumbs li a {
    color: #212529;
    white-space: nowrap;
  }
}

@media print, screen and (max-width: 992px) {
  .navbar-nav.__adjust {
    width: 100%;
    justify-content: flex-end;
  }
}

.fa-bars:before {
  font-size: 24px;
}

.page-link {
  color: #ada142;
}

label.required {
  color: #aa8942;
}

.over_target {
  background-color: antiquewhite;
}

.admin_showt_img {
  max-width: 400px;
  max-height: 400px;
}

.admin_card_img {
  max-width: 200px;
  max-height: 200px;
}

nav.pagination {
  justify-content: center;
}

nav.pagination > span {
  margin: 10px;
}

.card-body.p-0 .table {
  margin-bottom: 0;
}

.js-clickable-row {
  cursor: pointer;
}

.building-color-1 {
  background-color: #1f3864;
  color: #ffffff;
}

.building-color-2 {
  background-color: #8fd0d0;
  color: #212529;
}

.building-color-3 {
  background-color: #7a1f3d;
  color: #ffffff;
}

.building-color-4 {
  background-color: #e0b878;
  color: #212529;
}

.building-color-5 {
  background-color: #14532d;
  color: #ffffff;
}

.building-color-6 {
  background-color: #a8c98f;
  color: #212529;
}

.building-color-7 {
  background-color: #7c3210;
  color: #ffffff;
}

.building-color-8 {
  background-color: #e0c1b4;
  color: #212529;
}

.building-color-none {
  background-color: #adb5bd;
  color: #212529;
}

.building-color-bar {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 4px;
}

.building-color-bar + .d-flex {
  padding-left: 4px;
}
