.p-service_performance-ranking .bold {
  font-weight: bold;
}
.p-service_performance-ranking th {
  font-size: 16px;
  text-align: center;
  vertical-align: middle;
  font-weight: bold;
  background-color: #fff;
  height: 40px;
  border-top: 1px solid #bababa;
  border-bottom: 2px solid #bababa;
}
.p-service_performance-ranking .main {
  width: 100%;
  margin: 106px auto 70px;
}
.p-service_performance-ranking .p-service_performance-ranking-top {
  width: 70%;
  margin: 0 auto;
  line-height: 1.2;
}
.p-service_performance-ranking .p-service_performance-ranking-top tr {
  height: 40px;
}
@media screen and (max-width: 768px) {
  .p-service_performance-ranking .p-service_performance-ranking-top {
    width: 90%;
  }
}
.p-service_performance-ranking .p-service_performance-ranking-title,
.p-service_performance-ranking .p-service_performance-ranking-note {
  font-size: 35px;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  .p-service_performance-ranking .p-service_performance-ranking-title,
  .p-service_performance-ranking .p-service_performance-ranking-note {
    font-size: 28px;
  }
}
.p-service_performance-ranking .p-service_performance-ranking-note {
  text-align: right;
  border-bottom: 0.5px solid #000;
  font-size: 30px;
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  .p-service_performance-ranking .p-service_performance-ranking-note {
    font-size: 26px;
  }
}
.p-service_performance-ranking .p-service_performance-ranking-tab {
  width: 90%;
  margin: 100px auto 0;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-service_performance-ranking .p-service_performance-ranking-tab {
    width: 100%;
    margin: 60px auto 0;
  }
}
.p-service_performance-ranking .p-service_performance-ranking-tab .tab {
  display: inline-flex;
  width: 28%;
  margin: 0 1%;
  justify-content: space-evenly;
  background-color: #ebebeb;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  .p-service_performance-ranking .p-service_performance-ranking-tab .tab {
    width: 32%;
    margin: auto 0;
    height: 70px;
    align-items: center;
  }
}
.p-service_performance-ranking .p-service_performance-ranking-tab .tab:hover {
  background-color: #fff;
}
.p-service_performance-ranking .p-service_performance-ranking-tab input {
  display: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
.p-service_performance-ranking .p-service_performance-ranking-tab .waku {
  border: 3px solid #ebebeb;
  border-width: 4px 4px 0 4px;
}
@media screen and (max-width: 768px) {
  .p-service_performance-ranking .p-service_performance-ranking-tab .waku {
    border: 1px solid #bababa;
    border-width: 1px 1px 0 1px;
  }
}
.p-service_performance-ranking .p-service_performance-ranking-tab input:checked+.tab {
  background-color: #fff;
  position: relative;
  z-index: 10;
}
.p-service_performance-ranking .p-service_performance-ranking-tab .p-1 {
  margin: 5% auto;
}
@media screen and (max-width: 768px) {
  .p-service_performance-ranking .p-service_performance-ranking-tab .p-1 {
    margin: 0;
  }
}
.p-service_performance-ranking .p-service_performance-ranking-tab .tabcontent1,
.p-service_performance-ranking .p-service_performance-ranking-tab .tabcontent2,
.p-service_performance-ranking .p-service_performance-ranking-tab .tabcontent3 {
  display: none;
  margin-top: 1px;
  position: relative;
  z-index: 0;
  background-color: #fff;
  padding: 5px;
}
@media screen and (max-width: 768px) {
  .p-service_performance-ranking .p-service_performance-ranking-tab .tabcontent1,
  .p-service_performance-ranking .p-service_performance-ranking-tab .tabcontent2,
  .p-service_performance-ranking .p-service_performance-ranking-tab .tabcontent3 {
    padding: 6px 0 6px 12px;
  }
}
.p-service_performance-ranking .p-service_performance-ranking-tab .sen-gray {
  border: 2px solid #ebebeb;
  width: 95%;
  margin: -10px auto 60px;
}
@media screen and (max-width: 768px) {
  .p-service_performance-ranking .p-service_performance-ranking-tab .sen-gray {
    border: none;
    margin: 0;
  }
}
.p-service_performance-ranking .p-service_performance-ranking-tab #tabcheck1:checked~.tabcontent1,
.p-service_performance-ranking .p-service_performance-ranking-tab #tabcheck2:checked~.tabcontent2,
.p-service_performance-ranking .p-service_performance-ranking-tab #tabcheck3:checked~.tabcontent3 {
  display: block;
  position: relative;
  z-index: 1;
}
.p-service_performance-ranking .p-service_performance-ranking-tab .tab_content {
  display: none;
  clear: both;
  overflow: hidden;
}
.p-service_performance-ranking .p-service_performance-ranking-tab #all-1:checked~#all-1_content,
.p-service_performance-ranking .p-service_performance-ranking-tab #all-2:checked~#all-2_content,
.p-service_performance-ranking .p-service_performance-ranking-tab #all:checked~#all_content,
.p-service_performance-ranking .p-service_performance-ranking-tab #programming-1:checked~#programming-1_content,
.p-service_performance-ranking .p-service_performance-ranking-tab #programming-2:checked~#programming-2_content,
.p-service_performance-ranking .p-service_performance-ranking-tab #programming:checked~#programming_content {
  display: block;
}
.p-service_performance-ranking .p-service_performance-ranking-tab .top50ranking {
  margin: 0 auto;
}
.p-service_performance-ranking .p-service_performance-ranking-tab .ranking {
  width: 100%;
  margin: 0 auto;
}
.p-service_performance-ranking .p-service_performance-ranking-tab .tabs input:checked+.tab_item {
  color: #000;
  font-weight: bold;
}
.p-service_performance-ranking .p-service_performance-ranking-tab .tab_item {
  color: #bababa;
  font-size: 15px;
  text-align: center;
  margin: 1%;
  line-height: 2;
}
.p-service_performance-ranking .p-service_performance-ranking-tab .mr-5pa {
  margin: 3% 5% 0 10px;
  text-align: right;
  font-size: 15px;
}
.p-service_performance-ranking .p-service_performance-ranking-tab .wight-1 {
  width: 10%;
}
.p-service_performance-ranking .p-service_performance-ranking-tab .wight-2 {
  width: 28.5714285714%;
}
@media screen and (max-width: 768px) {
  .p-service_performance-ranking .p-service_performance-ranking-tab .wight-2 {
    width: 25%;
  }
}
.p-service_performance-ranking .p-service_performance-ranking-tab .w-100 {
  width: 90%;
  table-layout: fixed;
  margin: 1% auto;
}
@media screen and (max-width: 768px) {
  .p-service_performance-ranking .p-service_performance-ranking-tab .w-100 {
    width: 200%;
  }
}
.p-service_performance-ranking .p-service_performance-ranking-tab td {
  vertical-align: middle;
}
.p-service_performance-ranking .p-service_performance-ranking-tab .bg-gray {
  height: 50px;
}
@media screen and (max-width: 768px) {
  .p-service_performance-ranking .p-service_performance-ranking-tab .bg-gray {
    height: 35px;
  }
}
.p-service_performance-ranking .p-service_performance-ranking-tab .bg-gray td {
  background-color: #f6f6f6;
}
.p-service_performance-ranking .p-service_performance-ranking-tab .bg-white {
  background-color: #fff;
  height: 50px;
}
@media screen and (max-width: 768px) {
  .p-service_performance-ranking .p-service_performance-ranking-tab .bg-white {
    height: 35px;
  }
}
.p-service_performance-ranking .p-service_performance-ranking-tab .bg-white td {
  background-color: #fff;
}
.p-service_performance-ranking .p-service_performance-ranking-tab .pc-td a {
  color: #c82506;
  text-decoration: underline;
}
.p-service_performance-ranking .p-service_performance-ranking-tab .margin-5 {
  margin: 2% 0 0 5%;
  font-size: 16px;
  line-height: 1.5;
  text-align: left;
}
@media screen and (max-width: 768px) {
  .p-service_performance-ranking .p-service_performance-ranking-tab .margin-5 {
    margin: 20px 0 0;
  }
}
.p-service_performance-ranking .p-service_performance-ranking-tab .p-service_performance-ranking-table-body-detail .h3 {
  text-align: left;
  font-size: 25px;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  .p-service_performance-ranking .p-service_performance-ranking-tab .p-service_performance-ranking-table-body-detail .h3 {
    font-size: 20px;
  }
}
.p-service_performance-ranking .p-service_performance-ranking-tab .p-service_performance-ranking-table-body-detail .group {
  width: 90%;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .p-service_performance-ranking .p-service_performance-ranking-tab .p-service_performance-ranking-table-body-detail .group {
    margin: 0;
  }
}
.p-service_performance-ranking .p-service_performance-ranking-tab .p-service_performance-ranking-table-body-detail .flex {
  justify-content: space-between;
  margin: 0 auto;
}
.p-service_performance-ranking .p-service_performance-ranking-tab .p-service_performance-ranking-table-body-detail .kategori {
  width: 30%;
}
@media screen and (max-width: 768px) {
  .p-service_performance-ranking .p-service_performance-ranking-tab .p-service_performance-ranking-table-body-detail .kategori {
    width: 100%;
    margin-top: 10px;
  }
}
.p-service_performance-ranking .p-service_performance-ranking-tab .p-service_performance-ranking-table-body-detail .kategori h4 {
  font-size: 20px;
  margin: 10px 0 5px;
  text-align: left;
}
@media screen and (max-width: 768px) {
  .p-service_performance-ranking .p-service_performance-ranking-tab .p-service_performance-ranking-table-body-detail .kategori h4 {
    font-size: 16px;
  }
}
.p-service_performance-ranking .p-service_performance-ranking-tab .p-service_performance-ranking-table-body-detail .group_0 table,
.p-service_performance-ranking .p-service_performance-ranking-tab .p-service_performance-ranking-table-body-detail .group_1st table {
  width: 100%;
}
.p-service_performance-ranking .p-service_performance-ranking-tab .p-service_performance-ranking-table-body-detail .kategori-ori {
  height: 30px;
}
.p-service_performance-ranking .p-service_performance-ranking-tab .p-service_performance-ranking-table-body-detail .h40 {
  height: 40px;
}
.p-service_performance-ranking .p-service_performance-ranking-tab .p-service_performance-ranking-table-body-detail .sen-2 {
  border-top: 2px solid #bababa;
  border-bottom: 2px solid #bababa;
}
.p-service_performance-ranking .p-service_performance-ranking-tab .p-service_performance-ranking-table-body-detail .border-bottom-1px {
  border-bottom: 1px solid #bababa;
}
.p-service_performance-ranking .p-service_performance-ranking-tab .p-service_performance-ranking-table-body-detail .group_3rd .h3 {
  margin-top: 60px;
  margin-bottom: 10px;
}
.p-service_performance-ranking .p-service_performance-ranking-tab .p-service_performance-ranking-table-body-detail .group_3rd table {
  width: 100%;
}
@media screen and (max-width: 768px) {
  .p-service_performance-ranking .p-service_performance-ranking-tab .p-service_performance-ranking-table-body-detail .group_3rd table {
    width: 230%;
  }
}
.p-service_performance-ranking .p-service_performance-ranking-tab .p-service_performance-ranking-table-body-detail .group_3rd .left {
  text-align: left;
  margin-top: 2%;
}
.p-service_performance-ranking .p-service_performance-ranking-tab .p-service_performance-ranking-tab-contents {
  text-align: left;
  width: 60%;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .p-service_performance-ranking .p-service_performance-ranking-tab .p-service_performance-ranking-tab-contents {
    width: 95%;
    margin-left: 0;
  }
}
.p-service_performance-ranking .p-service_performance-ranking-tab .p-service_performance-ranking-tab-contents .background-black {
  background-color: #000;
  padding: 1%;
  padding-left: 10px;
  margin-bottom: 20px;
  color: #fff;
  font-size: 20px;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  .p-service_performance-ranking .p-service_performance-ranking-tab .p-service_performance-ranking-tab-contents .background-black {
    padding: 2%;
  }
}
.p-service_performance-ranking .p-service_performance-ranking-tab .p-service_performance-ranking-tab-contents .syuhou {
  width: 97%;
  margin: 0 auto;
  line-height: 1.5;
  font-size: 16px;
  margin-bottom: 80px;
}
.p-service_performance-ranking .p-service_performance-ranking-tab .p-service_performance-ranking-tab-contents .pc-td {
  font-size: 16px;
  text-align: center;
  vertical-align: middle;
}
@media screen and (max-width: 768px) {
  .p-service_performance-ranking .p-service_performance-ranking-tab .p-service_performance-ranking-tab-contents .pc-td {
    width: 130%;
  }
}
.p-service_performance-ranking .p-service_performance-ranking-tab .p-service_performance-ranking-check-base .is-category {
  width: 20%;
}
.p-service_performance-ranking .p-service_performance-ranking-tab .p-service_performance-ranking-check-base td {
  border: 1px solid #bababa;
}
.p-service_performance-ranking .p-service_performance-ranking-tab .p-service_performance-ranking-check-base .p-5 {
  padding: 10px;
  line-height: 1.5;
}
.p-service_performance-ranking .p-service_performance-ranking-tab .p-service_performance-ranking-check-detail {
  margin-top: 20px;
}
.p-service_performance-ranking .p-service_performance-ranking-tab .p-service_performance-ranking-check-graph {
  margin: 20px auto 60px;
  justify-content: space-between;
}
.p-service_performance-ranking .p-service_performance-ranking-tab .p-service_performance-ranking-check-graph table {
  width: 55%;
  border: 1px solid #bababa;
}
@media screen and (max-width: 768px) {
  .p-service_performance-ranking .p-service_performance-ranking-tab .p-service_performance-ranking-check-graph table {
    width: 100% !important;
  }
}
.p-service_performance-ranking .p-service_performance-ranking-tab .p-service_performance-ranking-check-graph .img-w-40 {
  width: 40%;
}
@media screen and (max-width: 768px) {
  .p-service_performance-ranking .p-service_performance-ranking-tab .p-service_performance-ranking-check-graph .img-w-40 {
    width: 100%;
    margin-top: 20px;
  }
}
.p-service_performance-ranking .p-service_performance-ranking-tab .p-service_performance-ranking-check-graph tr {
  line-height: 1.5;
  height: 40px;
  border: 1px dotted #bababa;
}
.p-service_performance-ranking .lh-15 {
  line-height: 1.5;
  font-size: 16px;
}
.p-service_performance-ranking .pl-10 {
  padding-left: 10px;
}
.p-service_performance-ranking .pl-20 {
  padding-left: 20px;
}
.p-service_performance-ranking .mb-40 {
  margin-bottom: 40px;
}
.p-service_performance-ranking .pl-5 {
  padding: 10px 0 10px 10px;
}
.p-service_performance-ranking .left {
  text-align: left;
}
.p-service_performance-ranking .pl-5 {
  padding: 10px 0 10px 10px;
}
@media screen and (max-width: 768px) {
  .p-service_performance-ranking .scroll {
    overflow-x: scroll;
    margin-top: 10px;
  }
}
@media screen and (max-width: 768px) {
  .p-service_performance-ranking .sp-kotei1 {
    position: sticky;
    left: 0;
    z-index: 1;
  }
}
@media screen and (max-width: 768px) {
  .p-service_performance-ranking .sp-kotei2 {
    position: sticky;
    left: 20%;
    z-index: 1;
    white-space: nowrap;
  }
}
@media screen and (max-width: 768px) {
  .p-service_performance-ranking .sp-kotei2:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-right: 1px solid #bababa;
  }
}
@media screen and (max-width: 768px) {
  .p-service_performance-ranking .p-service_performance-ranking-sp-button {
    width: 90%;
    background-color: #f6f6f6;
    padding: 2%;
    border: 1px solid #f6f6f6;
    border-radius: 30px;
    margin: 20px auto;
    text-align: center;
    line-height: 1.6;
  }
}
.p-service_performance-ranking .p-service_performance-ranking-sp-button .img-ori {
  width: 6%;
  vertical-align: baseline;
}
@media screen and (max-width: 768px) {
  .p-service_performance-ranking .sp-va-baseline {
    vertical-align: baseline !important;
  }
}
@media screen and (max-width: 768px) {
  .p-service_performance-ranking .w100px {
    width: 100px;
  }
}
@media screen and (max-width: 768px) {
  .p-service_performance-ranking .kotei2-ori {
    left: 100px;
  }
}
@media screen and (max-width: 768px) {
  .p-service_performance-ranking .ws {
    white-space: nowrap;
  }
}
