@charset "UTF-8";
@import url("https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.min.css");
html,
body {
  height: 100%;
  font-size: 14px;
  background-color: #F8F9FA;
}
html#admin-user #side-nav .admin-user,
body#admin-user #side-nav .admin-user {
  background-color: #373e44;
}
html#admin-user #side-nav .admin-user a,
body#admin-user #side-nav .admin-user a {
  color: #83d8ff;
}
html#admin-company #side-nav .admin-company,
body#admin-company #side-nav .admin-company {
  background-color: #373e44;
}
html#admin-company #side-nav .admin-company a,
body#admin-company #side-nav .admin-company a {
  color: #83d8ff;
}
html#admin-division #side-nav .admin-division,
body#admin-division #side-nav .admin-division {
  background-color: #373e44;
}
html#admin-division #side-nav .admin-division a,
body#admin-division #side-nav .admin-division a {
  color: #83d8ff;
}
html#dashboard #side-nav .dashboard,
body#dashboard #side-nav .dashboard {
  background-color: #373e44;
}
html#dashboard #side-nav .dashboard a,
body#dashboard #side-nav .dashboard a {
  color: #83d8ff;
}
html#user-list #side-nav .user-list,
body#user-list #side-nav .user-list {
  background-color: #373e44;
}
html#user-list #side-nav .user-list a,
body#user-list #side-nav .user-list a {
  color: #83d8ff;
}
html#user-list-not #side-nav .user-list-not,
body#user-list-not #side-nav .user-list-not {
  background-color: #373e44;
}
html#user-list-not #side-nav .user-list-not a,
body#user-list-not #side-nav .user-list-not a {
  color: #83d8ff;
}
html#survey-result #side-nav .survey-result,
body#survey-result #side-nav .survey-result {
  background-color: #373e44;
}
html#survey-result #side-nav .survey-result a,
body#survey-result #side-nav .survey-result a {
  color: #83d8ff;
}
html#survey-result-alt #side-nav .survey-result-alt,
body#survey-result-alt #side-nav .survey-result-alt {
  background-color: #373e44;
}
html#survey-result-alt #side-nav .survey-result-alt a,
body#survey-result-alt #side-nav .survey-result-alt a {
  color: #83d8ff;
}
html#survey-result-L3 #side-nav .survey-result-L3,
body#survey-result-L3 #side-nav .survey-result-L3 {
  background-color: #373e44;
}
html#survey-result-L3 #side-nav .survey-result-L3 a,
body#survey-result-L3 #side-nav .survey-result-L3 a {
  color: #83d8ff;
}
html#survey-result-L2 #side-nav .survey-result-L2,
body#survey-result-L2 #side-nav .survey-result-L2 {
  background-color: #373e44;
}
html#survey-result-L2 #side-nav .survey-result-L2 a,
body#survey-result-L2 #side-nav .survey-result-L2 a {
  color: #83d8ff;
}
html#survey-result-L1 #side-nav .survey-result-L1,
body#survey-result-L1 #side-nav .survey-result-L1 {
  background-color: #373e44;
}
html#survey-result-L1 #side-nav .survey-result-L1 a,
body#survey-result-L1 #side-nav .survey-result-L1 a {
  color: #83d8ff;
}
html#survey-result-low #side-nav .survey-result-low,
body#survey-result-low #side-nav .survey-result-low {
  background-color: #373e44;
}
html#survey-result-low #side-nav .survey-result-low a,
body#survey-result-low #side-nav .survey-result-low a {
  color: #83d8ff;
}

form .required::after {
  content: "*必須";
  color: #bd4141;
  margin-left: 0.5rem;
}

input.search {
  border-color: #6c757d;
}

input:-moz-read-only, textarea:-moz-read-only {
  background-color: #f0f0f0;
}

input:read-only,
textarea:read-only {
  background-color: #f0f0f0;
}

.select-label {
  background-color: #212529;
  color: white;
  border-color: #000;
}

select {
  border-radius: 0.3rem;
}

select[multiple] option:checked {
  background-color: #005eca;
  color: #fff;
}

ul {
  margin: 0;
  padding: 0;
}

ul.pagination {
  list-style: none;
}
ul.pagination li {
  margin: 0 5px;
}
ul.pagination li span,
ul.pagination li a {
  display: block;
  padding: 3px 12px;
  border-radius: 5px;
}
ul.pagination li a {
  background-color: #EEE;
  color: #000;
  text-decoration: none;
}
ul.pagination li a:hover {
  background-color: #333;
  color: #FFF;
}
ul.pagination li.active a {
  font-weight: bold;
  background-color: #ccc;
}
ul.pagination li.active a:hover {
  background-color: #333;
  color: #FFF;
}

footer {
  margin-top: 2rem;
  color: #59636b;
  text-align: center;
}

table {
  width: 100%;
  font-size: 0.9rem;
}
table.table thead th {
  background-color: #212529;
  color: white;
  font-weight: normal;
  padding-top: 2px;
  padding-bottom: 2px;
}
table.table tbody td.current {
  background-color: #ffeaec;
}
table.table tbody.list a {
  text-decoration: none;
  background-color: #373e44;
  display: inline-block;
  padding: 1px 5px;
  color: white;
  border-radius: 3px;
}
table.table tbody.list a:hover {
  background-color: #59636b;
}
table#user-table {
  margin-bottom: 2px;
}
table#user-table th {
  font-size: 0.8rem;
  background-color: #eeeeee;
  padding-top: 3px;
  padding-bottom: 3px;
}
table#user-table td {
  font-size: 1.5rem;
}
table#user-table tr:last-child {
  border-bottom-color: white;
}
table#displayComment {
  margin-bottom: 3px;
}
table#displayComment tr:last-child {
  border-bottom-color: white;
}
table#score-transition {
  margin-bottom: 3px;
}
table thead th {
  font-size: 0.8rem;
}
table thead#transitionThead th {
  background-color: #eeeeee;
  text-align: center;
  color: #212529;
}
table tbody#transitionTbody th,
table tbody#transitionTbody td {
  text-align: center;
  padding-top: 3px;
  padding-bottom: 3px;
  vertical-align: middle;
}
table tbody#transitionTbody tr {
  border-bottom: 1px solid #d2d2d2;
}
table tbody#transitionTbody tr:last-child {
  border-bottom-color: white;
}
table tbody#transitionTbody tr td:last-child {
  border-bottom: none;
}
table.user-list thead th {
  text-align: center;
  border: 1px solid #dee2e6;
}
table.user-list tbody td .td-scroll {
  height: 50px;
  overflow-y: auto;
}
table th.sort {
  cursor: pointer;
}
table th.sort.desc::after {
  content: "▼";
  color: #bd4141;
  margin-left: 5px;
}
table th.sort.asc::after {
  content: "▲";
  color: #bd4141;
  margin-left: 5px;
}
table button.btn,
table a.btn {
  font-size: 0.9rem;
  padding: 2px 5px;
}

.h-table-chart {
  height: 100px;
}
.h-comment {
  height: 217px;
}

.w200 {
  width: 200px;
}

.w140 {
  width: 140px;
}

.w100 {
  width: 100px;
}

.w70 {
  width: 70px;
}

.w60 {
  width: 60px;
}

.mb-fixed {
  margin-bottom: 10px;
}

.form-signin {
  max-width: 330px;
  padding: 1rem;
}
.form-signin .form-floating:focus-within {
  z-index: 2;
}
.form-signin input.upper {
  margin-bottom: -1px;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}
.form-signin input.bottom {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}
.form-signin .login-logo {
  width: 8rem;
}

.btn-fixed {
  border-radius: 3px;
  text-decoration: none;
  background-color: #59636b;
  padding: 2px 5px;
  color: white;
}
.btn-fixed:hover {
  background-color: #373e44;
}

#userTable {
  height: 73px;
}

#listClear {
  font-size: small;
}

.recordCountBox {
  display: block;
  padding-left: 5px;
  padding-right: 5px;
  border-radius: 5px;
  line-height: 27px;
  background-color: #212529;
  color: white;
  font-size: 0.8rem;
  height: 27px;
  min-width: 40px;
  text-align: center;
}

.pager {
  margin-bottom: 0.5rem;
}

.dropdown-item {
  font-size: 0.9rem;
}

.navbar-brand .logo {
  height: 30px;
}

.form-signin .logo {
  width: 150px;
}

.circle-width {
  width: 3rem;
  height: 3rem;
  line-height: 3rem;
  text-align: center;
  display: inline-block;
  font-family: Georgia, "Times New Roman", Times, serif;
}

#situationEngage,
#situationPrivate,
#situationRelationship,
#situationEnvironment {
  height: 150px;
}

#riskMark,
#situationTotal {
  height: 253px;
}
#riskMark .circle-width,
#situationTotal .circle-width {
  width: 5em;
  height: 5em;
  font-size: 2.4em;
  line-height: 5em;
}
#riskMarkEngage, #riskMarkRelationship, #riskMarkPersonal, #riskMarkEnvironment,
#situationTotalEngage,
#situationTotalRelationship,
#situationTotalPersonal,
#situationTotalEnvironment {
  font-size: 1.1em;
  text-align: center;
  border-bottom: 1px solid #d2d2d2;
  padding: 0.5em;
}
#riskMarkUser,
#situationTotalUser {
  font-size: 1.5em;
  font-weight: bold;
  border-bottom: 1px solid #d2d2d2;
  padding: 0.5em;
}

.arrow-size {
  font-size: 0.6em;
}

#monthDifference {
  text-align: center;
  font-weight: bold;
  font-size: 4rem;
}
#monthDifferenceEngage, #monthDifferenceRelationship, #monthDifferencePersonal, #monthDifferenceEnvironment {
  font-size: 2rem;
  text-align: center;
  font-weight: bold;
}

.form-label {
  margin-bottom: 0;
  font-size: 0.8rem;
}

.tooltip-multiline .tooltip-inner {
  text-align: left;
}

.text-bg-logo {
  color: white;
  background-color: #212529;
  font-size: 0.9rem;
  padding-top: 3px;
  padding-bottom: 3px;
}

.main {
  padding-top: 40px;
}

.i-bold .bi::before,
.i-bold [class*=" bi-"]::before,
.i-bold [class^=bi-]::before {
  font-weight: bold !important;
}

.risk {
  font-family: sans-serif;
  font-weight: bold;
  display: block;
}
.risk.risk-rem {
  font-size: 2rem;
}
.risk-a {
  color: #298de0;
}
.risk-b {
  color: #328754;
}
.risk-c {
  color: #fdc108;
}
.risk-d {
  color: #dc3545;
}

.survey-content {
  /* 質問ブロックの基本 */
  /* 注目（active）状態 */
  /* inactive の文字色を抑える */
  /* ラジオはクリックしてもカーソル変更なし */
}
.survey-content .section-line {
  border: 1px solid #adb5bd;
  transition: all 0.3s;
}
.survey-content .section-line-danger {
  border-color: #ff8e8e;
  background-color: #ffdfdf;
  transition: all 0.3s;
}
.survey-content .question {
  transition: all 0.3s ease;
  opacity: 0.4;
  transform: scale(0.6);
  cursor: pointer;
  position: relative;
}
.survey-content .question.active {
  opacity: 1;
  transform: scale(1);
}
.survey-content .question:not(.active) h5,
.survey-content .question:not(.active) h6 {
  color: #888;
}
.survey-content .question input[type=radio] {
  cursor: pointer;
}
.survey-content .question .answered-check {
  position: absolute;
  top: -20px;
  left: -20px;
  font-size: 40px;
}

.yn-textbox {
  display: none;
}

.drop-zone {
  border: 2px dashed rgba(0, 0, 0, 0.15);
  border-radius: 0.5rem;
  padding: 1.25rem;
  text-align: center;
  cursor: pointer;
  transition: background 0.15s ease, border-color 0.15s ease;
  background-clip: padding-box;
}

.drop-zone.dragover {
  background: rgba(13, 110, 253, 0.03);
  border-color: rgba(13, 110, 253, 0.5);
  box-shadow: 0 0 0 0.15rem rgba(13, 110, 253, 0.08);
}

.thumbnail {
  max-width: 80px;
  max-height: 80px;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 0.25rem;
  border: 1px solid rgba(0, 0, 0, 0.08);
}

@media screen and (max-width: 991px) {
  .contents {
    padding-left: 1rem;
    padding-right: 1rem;
    width: 100%;
  }
  .contents.fixd {
    width: 100%;
  }
  #side-nav {
    display: none;
  }
  .navbar-nav .dropdown-menu {
    position: absolute;
    top: 100%;
    /* 親リンクの下に配置 */
    right: 4px;
    /* 右端から20px離す */
    left: auto;
    /* left をリセット */
    min-width: 150px;
    /* 必要に応じて調整 */
  }
}
@media screen and (min-width: 992px) {
  .navbar-expand-md .navbar-nav .dropdown-menu {
    position: absolute;
    top: 100%;
    /* 親リンクの下に配置 */
    right: 4px;
    /* 右端から20px離す */
    left: auto;
    /* left をリセット */
    min-width: 150px;
    /* 必要に応じて調整 */
  }
  #side-nav {
    position: relative;
    background-color: #212529;
    white-space: nowrap;
    width: 200px;
    min-width: 150px;
  }
  #side-nav h3 {
    text-align: center;
    color: #a1a1a1;
    background-color: #000;
    font-size: 0.8rem;
    padding: 0.5rem 0rem;
  }
  #side-nav ul {
    margin-bottom: 1rem;
  }
  #side-nav .parent::after {
    content: "▼";
    margin-left: 0.5rem;
    font-size: 0.8rem;
  }
  #side-nav .parent:has(+ .show)::after {
    content: "▲";
  }
  #side-nav .sub {
    display: none;
  }
  #side-nav .sub.show {
    display: block;
  }
  #side-nav a {
    display: block;
    color: white;
    line-height: 25px;
    padding-left: 5px;
    text-decoration: none;
  }
  #side-nav a:hover {
    color: white;
    background-color: #3a3f45;
  }
  #side-nav a.link::before {
    content: "";
    margin-right: 0.5rem;
  }
  #side-nav a.child {
    padding-left: 28px;
    position: relative;
  }
  #side-nav a.child::before {
    position: absolute;
    content: "";
    left: 15px;
    top: 8px;
    width: 8px;
    height: 8px;
    border-left: 2px solid #ffffff;
    border-bottom: 2px solid #ffffff;
  }
  #side-nav a.child2 {
    padding-left: 43px;
    position: relative;
  }
  #side-nav a.child2::before {
    position: absolute;
    content: "";
    left: 30px;
    top: 8px;
    width: 8px;
    height: 8px;
    border-left: 2px solid #ffffff;
    border-bottom: 2px solid #ffffff;
  }
  .swal2-modal {
    width: 800px !important;
    /* Limit the maximum width on larger screens */
  }
  .contents {
    padding-left: 1rem;
    padding-right: 1rem;
    overflow-x: auto;
    width: 100%;
  }
  .contents.fixd {
    width: 1340px;
    min-width: 1060px;
  }
  .d-half {
    height: 127px;
  }
  .d-half-user {
    height: 124px;
  }
  .d-single {
    height: 288px;
  }
  .d-single-h {
    height: 300px;
  }
  .d-triple {
    height: 71px;
  }
}