.filter_category > div > div {
  display: flex;
  padding: 10px 0;
  border-bottom: 1px solid #D1D1D1;
}
@media screen and (max-width: 767px) {
  .filter_category > div > div {
    flex-direction: column;
  }
}
.filter_category > div > div:first-child {
  border-top: 1px solid #D1D1D1;
}
.filter_category > div > div > div:nth-child(1) {
  font-size: 3.8vw;
  font-weight: bold;
  color: #46A98B;
}
@media screen and (min-width: 768px), print {
  .filter_category > div > div > div:nth-child(1) {
    font-size: 100%;
  }
}
@media screen and (min-width: 768px), print {
  .filter_category > div > div > div:nth-child(1) {
    width: 25%;
    margin-right: 10px;
  }
}
.filter_category > div > div > div:nth-child(2) {
  font-size: 3.4vw;
}
@media screen and (min-width: 768px), print {
  .filter_category > div > div > div:nth-child(2) {
    font-size: 90%;
  }
}
@media screen and (min-width: 768px), print {
  .filter_category > div > div > div:nth-child(2) {
    width: 75%;
  }
}

.filter_func th, .filter_func td {
  padding: 5px;
  border: 1px solid #D1D1D1;
  vertical-align: middle;
}
@media screen and (min-width: 768px), print {
  .filter_func th, .filter_func td {
    padding: 10px;
  }
}
.filter_func td {
  font-size: 3.8vw;
}
@media screen and (min-width: 768px), print {
  .filter_func td {
    font-size: 100%;
  }
}
.filter_func tr.group > th {
  color: #FFF;
}
.filter_func tr.group > td {
  padding: 3px 0;
  background: #ECEFF1;
  vertical-align: top;
}
.filter_func tr.group .rotate {
  display: inline-block;
  color: #3D454A;
  font-weight: normal;
  writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  -webkit-writing-mode: vertical-rl;
}
.filter_func td > span {
  font-size: 4.3vw;
  display: block;
  font-weight: bold;
}
@media screen and (min-width: 768px), print {
  .filter_func td > span {
    font-size: 110%;
  }
}
.filter_func tr > *:not(:first-child) {
  text-align: center;
}

.filter_func th {
  background: #46A98B;
}
.filter_func td > span {
  color: #46A98B;
}