/*タブ切り替え全体のスタイル*/
.rank-tabs {
  margin-top: 50px;
  background-color: #fff;
  width: 100%;
  margin: 0 auto;
  border: 1px solid #ebebeb;}

/*タブのスタイル*/
.rank-tab_item {
  width: calc(100%/8);
  height: 50px;
  border-left: 1px solid #dbdbdb;
  background-color: #ebebeb;
  line-height: 50px;
  text-align: center;
  color: #565656;
  display: block;
  float: left;
  text-align: center;
  font-weight: bold;
  transition: all 0.2s ease;
  position: relative;
  cursor: pointer;
}
.rank-tab_item:hover {
  opacity: 0.75;
}

/*ラジオボタンを全て消す*/
input[name="tab_item"] {
  display: none;
}

/*タブ切り替えの中身のスタイル*/
.tab_content-rank {
  display: none;
  clear: both;
  overflow: hidden;
  padding-top: 20px;
}


/*選択されているタブのコンテンツのみを表示*/
#all:checked ~ #all_content,
#ca01:checked ~ #ca01_content,
#ca02:checked ~ #ca02_content,
#ca03:checked ~ #ca03_content,
#ca04:checked ~ #ca04_content,
#ca05:checked ~ #ca05_content,
#ca06:checked ~ #ca06_content,
#ca07:checked ~ #ca07_content,
#ca08:checked ~ #ca08_content,
#ca09:checked ~ #ca09_content ,
#ca10:checked ~ #ca10_content    {
  display: block;
}

/*選択されているタブのスタイルを変える*/
.rank-tabs input:checked + .rank-tab_item {
  background-color: #515151;
  color: #fff;
}
.rank-tabs input:checked + .rank-tab_item:after {
    border-left: 7.5px solid transparent;
    border-right: 7.5px solid transparent;
    border-top: 10px solid #515151;
    bottom: -10px;
    content: "";
    display: block;
    left: 50%;
    margin-left: -7.5px;
    position: absolute;
}

.rank-item-box{display: flex; flex-wrap: wrap; width: 100%;}
.rank-item{width: calc(100% / 5); padding: 5px 20px 0; text-align: center; position: relative;}
.rank-item-box p:nth-child(1){}
.rank-item p:nth-child(2){font-size: 0.8em; font-weight: 600; color: #000; line-height: 1.5em; margin: 5px 0; display: -webkit-box; -webkit-box-orient: vertical; overflow: hidden; word-break: break-all; text-overflow: ellipsis;
    -webkit-line-clamp: 1;}
.rank-item p:nth-child(3){text-align: right; color: #f00; font-weight: 600;}

.rank-num span {
    background: #000000c4;
    color: #fff;
    display: block;
    width: 30px;
    height: 30px;
    line-height: 30px;
    text-align: center;
    border-radius: 100%;
    font-weight: 600;
    padding: 0 0 0 2px;
    position: absolute;
    top: -5px!important;
    left: 10px!important;
    z-index: 1;
}
.rank-item:nth-child(1) .rank-num span {
    background: #ebc043d9;
}
.rank-item:nth-child(2) .rank-num span {
    background: #c6c6c6d9;
}
.rank-item:nth-child(3) .rank-num span {
    background: #9a6746d9;
}

.rank-cate{
    padding: 1% 2%;
    font-size: 1.4em;
    background: #ebebeb;
    font-weight: 600;
	color: #000;
	}

.reco-title{
    font-size: 1.2em;
    font-weight: 600;
    color: #000;
    margin-bottom: 15px;
}
.thanko-rank-cate{
    background: #f7f7f7;
    padding: 1%;
    margin: 0 0 2%;
}

/* -----------------------------------------------------------------
   スマホ用レスポンシブCSS
----------------------------------------------------------------- */

@media screen and (max-width: 767px) {
.rank-tabs input:checked + .rank-tab_item:after{display: none;}
.rank-item-box{
overflow-x: auto;
    white-space: nowrap;
    -ms-overflow-style: none;
    -webkit-overflow-scrolling: touch;
	display: block;
}
.rank-item{width: 30%;
    display: inline-block; padding: 10px;}
.rank-tab_item {
  width: calc(100%/4);
  border-bottom: 1px solid #dbdbdb;
  }
  .rank-num span{
  top: 0px!important;
  left: 0px!important;
  }
  .thanko-rank-cate{
    padding: 3% 0 2% 3%!important;
    margin: 0 0 5%!important;
  }
}