*,
*:before,
*:after {
  -webkit-box-sizing: inherit;
  box-sizing: inherit;
}

html {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.error {
  color: red;
}

.cagetrap {
  margin: 0 auto;
  text-align: center;
  width: 90%;
}

/* ボタン */
.cagetrap-button {
  border: none;
  border-radius: 10px;
  color: #fff;
  font-size: x-large;
  outline: none;
  min-height: 30px;
  width: 80%;
  max-width: 400px;
  flex-wrap: wrap;
  display: inline-block;
  vertical-align: middle;
}

.cagetrap-open-noresponding {
  background: #87ceeb;
}

.cagetrap-close-responding {
  background: #ff0000;
}

.cagetrap-close-noresponding {
  background: #ffa500;
}

.cagetrap-open-responding {
  background: #ee8ea0;
}

.cagetrap-mente {
  background: #696969;
}

/* 凡例 */
.cagetrap-legend {
  margin: 20px auto 20px auto;
  vertical-align: middle;
  text-align: left;
  font-size: 100%;
}

.cagetrap-legend.tr {
  width: 50%;
  height: 50px;
}

.cagetrap-legend-button {
  margin: 0 10px 0 20px;
  border: none;
  border-radius: 5px;
  outline: none;
  min-height: 40px;
  min-width: 20px;
  width: 40px;
  flex-wrap: wrap;
  display: inline-block;
  vertical-align: middle;
}

.navbar-brand {
  font-size: 24pt;
}

.table {
  width: 75%;
}
.wide-table {
  width: 100%;
}

.div005 {
  display: flex;
  justify-content: space-around;
  align-items: flex-start;
}

.button005 a {
  border-radius: 3px;
  display: flex;
  justify-content: space-around;
  align-items: flex-start;
  max-width: 220px;
  margin: 0 auto;
  padding: 10px 25px;
  color: #fff;
  font-weight: 600;
  background: #0dcaf0;
}

.button005 a:hover {
  background: rgb(80, 120, 255);
}

.menu h3 {
  display: flex;
  justify-content: flex-start;
}

.btn-info {
  color: #fff;
  font-size: 1rem;
}
.btn-secondary {
  color: #fff;
  font-size: 1rem;
}
.btn-warning {
  color: #fff !important;
  font-size: 1rem;
}
.btn-warning:hover,
.btn-warning:active {
  color: #fff !important;
}
.btn-danger {
  font-size: 1rem;
}
.heading {
  font-size: calc((100vw - 360px) / 135 + 20px);
  text-align: center;
  padding-top: 0.5em;
  padding-bottom: 0.5em;
  padding-left: 0.5em;
  background-color: #ebf4f6;
  border-left: 5px solid #17a2b8;
  border-right: 5px solid #17a2b8;
  border-bottom: 2px solid #cccccc;
  color: #17a2b8; /* フォント色 */
  margin-left: 5%;
  margin-right: 5%;
  word-break: break-word;
}

table {
  border-collapse: collapse;
  width: 100%;
}
.tb_entity th,
.tb_entity td {
  padding: 10px;
  border: solid 1px #ccc;
  text-align: center;
  box-sizing: border-box;
  
}
.tb_entity th {
  width: 30%;
  background: #17a2b8;
  color: #fff;
}
.tb_entity_sens th {
  background: linear-gradient(to left, #17a2b8 98%, #ffc107 2%);
  color: #fff;
}
.tb_entity_sens td{
  word-break: break-all
}

@media screen and (max-width: 640px) {
  .tb_entity {
    width: 100%;
  }
  table.tb_entity th,
  table.tb_entity td {
    display: block;
    width: 100%;
  }
  table.tb_entity td {
    font-size: 80%;
  }
  table.tb_entity td input,
  table.tb_entity td select {
    font-size: 90%;
  }
  .tb_entity tr:last-child {
    border-bottom: solid 1px #ccc;
  }

  .tb_entity th,
  .tb_entity td {
    padding: 5px;
  }
}
.checkbox {
  display: flex;
  justify-content: space-around;
}

.tb_history th,
.tb_history td {
  padding: 10px;
  border: solid 1px #ccc;
  text-align: center;
  box-sizing: border-box;
}

.senser-badge {
  position: absolute;
  padding: 1px 3px;
  margin-right: 10px;
  margin-left: 1px;
  color: white;
  font-size: 50%;
  border-radius: 6px;
  box-shadow: 0 0 3px #ddd;
  white-space: nowrap;
  background-color: #fd7e14;
}

.border-left {
  background: linear-gradient(to left, transparent 98%, #f8f9fa 2%);
}

.hide-content {
  display: none;
}

/* メール通知設定 */
a#id-collapse[aria-expanded="false"]:after{
  margin-left: 0.5em;
  content: "▲";
}
a#id-collapse[aria-expanded="true"]:after{
  margin-left: 0.5em;
  content: "▽";
}
.tb_mailConfig th {
  background: #489578;
  width: 20%;
}
.tb_mailConfig_sub th {
  background: #406e5d;
}
.table-content
{
  padding-left: 5%;
  padding-right: 5%;
}

#defaultlist th,#defaultlist td,
#generallist th,#generallist td{
  border:1px solid lightgray;
}
#defaultlist th,
#generallist th{
  position: sticky;
  top: -1px;
  z-index: 10;
}
#defaultlist td:nth-child(1),
#generallist td:nth-child(1) {
  position: sticky;
  left: -1px;
  z-index: 11;
  background: lightcyan;
  text-align:center;
}
#generallist td:nth-child(2) {
  position: sticky;
  z-index: 11;
  background: lightyellow;
}

#defaultlist th:nth-child(1),
#generallist th:nth-child(1),
#generallist th:nth-child(2){
  position: sticky;  
  left: -1px;
  z-index: 12;
}
#generallist th:nth-child(2),
#generallist td:nth-child(2) {
  left: 83px;
}

#defaultlist th:nth-child(1),#defaultlist td:nth-child(1),
#generallist th:nth-child(1),#generallist td:nth-child(1),
#generallist th:nth-child(2),#generallist td:nth-child(2) {
  min-width: 85px;
}
#generallist td:nth-child(1),
#generallist td:nth-child(2) {
  text-align:center;
}

@media (min-width: 768px){
  .pc-text{
    display: block;
  }
  .sp-icon{
    display:none;
  }
}
@media (max-width: 767px){
  .pc-text{
    display: none;
  }
  .sp-icon{
    display: block;
  }
  #generallist th:nth-child(1),
  #generallist td:nth-child(1),
  #generallist th:nth-child(2),
  #generallist td:nth-child(2){
    min-width: 62px;
  }

  #generallist td:nth-child(1),
  #generallist td:nth-child(2) {
    padding-left: 0px;
    padding-right: 0px;
  }
  #generallist th:nth-child(2),
  #generallist td:nth-child(2){
    min-width: 62px;
    left: 60px;
  }
}