BODY {
  margin: 0;
  font-size: 14px !important;
}

.accordion-title {
  border: solid 1px gray;
  margin-bottom: 1px;
  background-color: whitesmoke;
  color: black;

  padding-left: 36px;
  padding-top: 6px;
  padding-bottom: 6px;
  position: relative;
  cursor: pointer;
}

.accordion-title:hover {
  background-color: darkorange;
  color: white;
}

.accordion-title::before {
  content: "";
  border-right: solid 2px black;
  border-top: solid 2px black;
  position: absolute;

  left: 12px;
  height: 8px;
  width: 8px;
  top: 10px;

  transform: rotate(135deg);
  transition: transform 0.4s ease-in-out, top 0.4s ease-in-out;
}
.accordion-title:hover::before {
  border-right: solid 2px white;
  border-top: solid 2px white;
}

.accordion-title.open::before {
  transform: rotate(-45deg);
}
.accordion-title::after {
  content: "  ※タップで非表示";
}
.accordion-title.open::after {
  content: "  ※タップで表示";
}

.ui-tabs {
  position: relative;
  padding: 0;
}
.ui-tabs .ui-tabs-panel {
  display: block;
  padding: 0;
}
.top-table {
  display: block;
  height: calc(45vh - 64px);
}
.tab-pane {
  display: block;
  height: calc(55vh - 55px);
}
.tab-pane-full {
  height: calc(100vh - 121px);
}

.ui-iggrid-groupbyarea {
  min-height: 3em;
}
.ui-iggrid-groupbyareatext {
  font-size: 78%;
}
.header {
  margin: 0;
  padding: 0;
  height: 42px;
  background-color: #fff;
}
.header > DIV {
  margin: 0;
  padding: 0;
  display: inline-block;
  height: 42px;
  float: left;
}
.header .ig-logo {
  padding: 10px 10px 0 10px;
  display: inline-block;
  vertical-align: sub;
}

#gridEntries,
#gridEntries_headers {
  min-width: 960px;
}
#gridCp,
#gridCp_headers {
  min-width: 960px;
}

#tabRank {
  width: calc(100% - 2px);
}
#chartRank {
  display: inline-block;
  width: calc(100% - 200px) !important;
}
#legendRank {
  right: 0;
  width: 180px;
  height: 100%;
  display: inline-block;
}
@media screen and (max-width: 767px) {
  #chartRank {
    width: 100% !important;
    height: 70% !important;
    display: block;
  }
  #legendRank {
    width: 100% !important;
    height: 30% !important;
    overflow-y: auto;
    display: block;
  }
}

[data-letters]:before {
  content: attr(data-letters);
  display: inline-block;
  font-size: 1em;
  width: 2.5em;
  height: 2.5em;
  line-height: 2.5em;
  text-align: center;
  border-radius: 50%;
  background: #9e9e9e;
  vertical-align: middle;
  margin-right: 0.6em;
  color: white;
}
[data-brush="0"]:before {
  background-color: #f44336;
}
[data-brush="1"]:before {
  background-color: #e91e63;
}
[data-brush="2"]:before {
  background-color: #9c27b0;
}
[data-brush="3"]:before {
  background-color: #673ab7;
}
[data-brush="4"]:before {
  background-color: #3f51b5;
}
[data-brush="5"]:before {
  background-color: #2196f3;
}
[data-brush="6"]:before {
  background-color: #00bcd4;
}
[data-brush="7"]:before {
  background-color: #009688;
}
[data-brush="8"]:before {
  background-color: #4caf50;
}
[data-brush="9"]:before {
  background-color: #8bc34a;
}
[data-brush="10"]:before {
  background-color: #cddc39;
}
[data-brush="11"]:before {
  background-color: #efd815;
}
[data-brush="12"]:before {
  background-color: #ffc107;
}
[data-brush="13"]:before {
  background-color: #ff9800;
}
[data-brush="14"]:before {
  background-color: #795548;
}
[data-brush="15"]:before {
  background-color: #607d8b;
}
.rank-up {
  color: #f33;
  font-weight: 100;
}
.rank-down {
  color: #3498db;
  font-weight: 100;
}
.rank-st {
  color: #888;
  font-weight: 100;
}
