.ranking-head {
  display: block;
  position: relative;
  overflow: hidden;
}
  .ranking-head img {
    width: 100%;
    max-height: 100%;
    margin: auto 0;
    object-fit: contain;
  }
  .ranking-head-lastmod {
    position: absolute;
    z-index: 1;
    top: 6px;
    right: 6px;
    padding: 3px;
    background: rgba(255, 255, 255, 0.5);
    color: #595959;
    font-size: 0.9rem;
  }
  
.ranking-searchbox {
  width: 100%;
  margin: 5px auto;
}

.ranking-recommend {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  margin: 8px 0;
  border: solid 2px #72baf6;
}
  .ranking-recommend-head {
    width: 100%;
    padding: 5px 0;
    background: #72baf6;
    text-align: center;
    color: #fff;
    font-size: 1.2rem;
    font-weight: bold;
  }
  .ranking-recommend-item {
    display: flex;
    justify-content: space-around;
    align-items: center;
    width: 100%;
    min-height: 50px;
    padding: 3px 0;
  }
    .ranking-recommend-item img {
      width: 20%;
    }
    .ranking-recommend-item a {
      display: block;
      color: #72baf6;
      font-size: 1.2rem;
      font-weight: bold;
    }
    .ranking-recommend-item-star {
      color: #595959;
      font-size: 1.3rem;
      font-weight: bold;
    }
      .ranking-recommend-item-star img {
        width: 20px;
      }

      .ranking-recommend-item-star span {
        font-size: initial;
        font-weight: initial;
      }

.ranking-title {
  display: flex;
  justify-content: center;
  width: 100%;
  height: 100px;
  background: #fff;
}
  .ranking-title img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
  }

.ranking-content {
  width: 98%;
}
  .ranking-content img {
    display: block;
    margin: 0 auto;
  }

.ranking-item {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: 5px auto;
  border: solid 3px #72baf6;
}
  .ranking-item-head {
    display: flex;
    align-items: center;
    width: 100%;
    margin-bottom: 5px;
    padding: 5px 5px 5px 0;
    background: #72baf6;
  }
    .ranking-item-head-img {
      width: 80px;
      height: 80px;
    }
    .ranking-item-head-right {
      display: flex;
      flex-wrap: wrap;
      align-content: space-around;
      margin-left: 10px;
    }
      .ranking-item-head-right-text {
        width: 100%;
        color: #fff;
        font-size: 0.9rem;
        font-weight: bold;
      }
      .ranking-item-head-right-salonname {
        width: 100%;
        font-size: 1.3rem;
        font-weight: bold;
      }
        .ranking-item-head-right-salonname a {
          color: #fff;
        }
      .ranking-item-head-right-star {
        display: flex;
        align-items: center;
        width: 100%;
      }
      .ranking-item-head-right-score {
        margin-left: 5px;
        color: #fff;
        font-size: 1.1rem;
        font-weight: bold;
      }
        .ranking-item-head-right-score::first-letter {
          font-size: 1.3rem;
        }
  
  .ranking-item-contents {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    width: 100%;
  }

  .ranking-item-point {
    width: 98%;
    margin-bottom: 5px;
    line-height: 1.2em;
    font-size: 1.0rem;
  }
/*     .ranking-item-point::before {
      content: "";
      position: absolute;
      top: 0;
      left: 0;
      width: 200px;
      height: 100%;
      background: top left / contain no-repeat url(/images/point_head.png);
    } */
    .ranking-item-point-head {
      display: flex;
      justify-content: center;
      align-items: center;
      height: 1.8em;
      margin-bottom: 0.8rem;
      text-align: center;
      background: no-repeat url(/images/util_head.png);
      background-size: 100% 100%;
      color: #fff;
      font-size: 1.0rem;
    }
    .ranking-item-point-text {
      width: 100%;
      padding: 5px;
    }
    .ranking-item-point img {
      display: block;
      max-width: 95%;
      margin: 5px auto;
    }
  
  a.ranking-item-button-kuchikomi {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 45%;
    height: 55px;
    margin: 5px 10px 5px 0;
    padding: 0 5px;
    background: #9d7b59;
    color: #fff;
    font-size: 0.9rem;
    font-weight: bold;
    text-decoration: none;
  }
    .ranking-item-button-kuchikomi img {
      width: 32px;
      height: 32px;
      margin-right: 5px;
    }
  
  .ranking-item-shoplist {
    width: 98%;
    margin: 5px 0 10px;
    padding: 10px;
    background: no-repeat url(/images/ranking/frame.png);
    background-size: 100% 100%;
  }
    .ranking-item-shoplist-field {
      background: #fff;
    }
      .ranking-item-shoplist-head {
        padding: 5px 0;
        background: #fff;
        text-align: center;
        font-size: 1.4rem;
      }
      .ranking-item-shoplist-body {
        width: 95%;
        margin: 0 auto;
        font-size: 0.9rem;
      }
      .ranking-item-shoplist-province {
        display: flex;
        flex-wrap: wrap;
        width: 100%;
      }
        .ranking-item-shoplist-province-head {
          width: 100%;
          text-align: center;
          font-size: 1.2rem;
        }
        .ranking-item-shoplist-province a {
          display: block;
          width: 50%;
          padding: 3px 10px;
        }

      table.ranking-item-shoplist-all {
        width: 100%;
      }
        .ranking-item-shoplist-all th {
          width: 33%;
          background: #f8ffe7;
          border-bottom: dotted 2px #aaa;
          font-weight: initial;
        }
        .ranking-item-shoplist-all tr>* {
          border-bottom: dotted 2px #aaa;
        }
          .ranking-item-shoplist-all tr:last-of-type>* {
            border-bottom: none;
          }
        .ranking-item-shoplist-all a {
          display: inline-block;
          margin: 1px 5px;
          color: #619ed9;
        }
  
  .ranking-item_button-show-all {
    width: 60%;
    margin: 8px 0;
    padding: 3px 0;
    background: #eee;
    border: dotted 3px #555;
    border-radius: 10px;
    text-align: center;
    font-size: 1.1rem;
  }
    .ranking-item_button-show-all span {
      color: orange;
    }

  .ranking-bottom-content {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    width: 100%;
    background: url(/images/ranking/bottom-content/bg.jpg);
  }
    .ranking-bottom-content img{
      max-width: 100%;
    }
    .ranking-bottom-content_div {
      max-width: 95%;
      margin: 5px 0;
    }

  .ranking_bottom {
    width: 100%;
    padding: 8px;
  }
    .ranking_bottom_img {
      display: block;
      width: 100%;
      margin: 0 auto;
    }
    .ranking_bottom_arrow {
      display: block;
      width: 60%;
      margin: 10px auto 0;
    }
    .ranking_bottom_text {
      width: 100%;
      margin: 10px auto 0;
      padding: 10px;
      border: solid 2px #ccc;
    }
      .ranking_bottom_text>h2 {
        position: relative;
        width: 80%;
        margin: 10px auto;
        padding: 8px 0;
        border-top: solid 2px #000;
        border-bottom: solid 2px #000;
        text-align: center;
        color: #333;
        font-size: 16px;
      }
        .ranking_bottom_text>h2::before,
        .ranking_bottom_text>h2::after {
          content: "";
          position: absolute;
          top: -10px;
          left: 8px;
          width: 0;
          height: calc(100% + 20px);
          border-left: solid 2px #000;
        }
        .ranking_bottom_text>h2::after {
          left: initial;
          right: 8px;
        }
        .ranking_bottom_text>h3 {
          position: relative;
          margin: 8px auto;
          padding: 0 20%;
          text-align: center;
          color: #333;
          font-size: 16px;
        }
          .ranking_bottom_text>h3::before,
          .ranking_bottom_text>h3::after {
            content: "";
            position: absolute;
            top: 50%;
            left: 5%;
            width: 15%;
            height: 0;
            border-top: solid 2px #000;
          }
          .ranking_bottom_text>h3::after {
            left: initial;
            right: 5%;
          }
    .ranking_bottom_head {
      display: flex;
      align-items: center;
      height: 40px;
      padding-left: 45px;
      background: top left no-repeat url(/images/ranking/bottom_head_bg.png);
      background-size: 36px 36px;
      border-bottom: solid 3px #619ed9;
      font-size: 22px;
    }
    .ranking_bottom_button {
      margin: 10px auto 0;
    }
    .ranking_bottom_data {
      width: 100%;
      margin-top: 10px;
      padding: 5px;
      border: solid 2px #ccc;
    }
      .ranking_bottom_data_table {
        margin-top: 10px;
      }
      .ranking_bottom_data_text {
        padding: 5px;
      }

@media screen and (min-width: 1000px) {
  .ranking-head {
    max-width: 966px;
    height: 440px;
    margin: 0 auto;
  }
  .ranking-head img {
    height: auto;
  }
  .ranking-title {
    height: 150px;
  }

  .ranking-item {
    justify-content: space-around;
    padding-bottom: 10px;
  }
    .ranking-item-head {
      margin-bottom: 10px;
      padding: 5px 20px;
    }
      .ranking-item-head-right {
        width: 100%;
        padding-left: 10px;
      }
        .ranking-item-head-right-text {
          font-size: 1.4rem;
        }
        .ranking-item-head-right-salonname {
          width: 65%;
          font-size: 2.0rem;
        }
        .ranking-item-head-right-star {
          width: 35%;
          
        }
          .ranking-item-head-right-star img {
            width: 30px;
          }
        .ranking-item-head-right-score {
          font-size: 1.5rem;
        }
          .ranking-item-head-right-score::first-letter {
            font-size: 2.0rem;
          }
  .ranking-item-point {
    width: 85%;
  }
    .ranking-item-contents {
      /* flex-wrap: nowrap; */
      width: 98%;
    }
      .salon-campaign {
        width: 85%;
      }

        a.ranking-item-button-kuchikomi {
          font-size: 1.2rem;
        }
        a.ranking-item-button-salon {
          width: 48%;
          margin: auto 0;
          font-size: 1.2rem;
        }
    a.salon-button-detail span {
      height: 37px;
    }
    a.salon-button-jump {
      padding-top: 0;
      width: 48%;
    }

    .ranking-item-shoplist-province a {
      width: 33%;
    }
}

/* top-content */
.ranking-top-content {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  width: 100%;
  padding: 45px 10px 10px;
  background-color: #fffae2;
  background-image: url(/images/ranking/top-content/head.png);
  background-repeat: no-repeat;
  background-size: auto 42px;
}
  .ranking-top-content.t1{
    background-image: url(/images/ranking/top-content/1/head.png);
  }
  .ranking-top-content.t2{
    background-image: url(/images/ranking/top-content/2/head.png);
    background-position: top center;
  }
  .ranking-top-content-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
    .ranking-top-content-head-icon {
      width: 20%;
    }
    .ranking-top-content-head-name {
      width: 40%;
      color: #72baf6;
      font-size: 24px;
      font-weight: bold;
    }
    .ranking-top-content-head-logo {
      width: 35%;
    }
  .ranking-top-content-mainimg,
  .ranking-top-content-middle,
  .ranking-top-content-campaign {
    display: block;
    width: 100%;
    margin: 3px 0;
  }

/* top-content2 */
.ranking_top-content2 {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
  align-items: center;
  width: 100%;
  margin: 5px 0;
}
  .ranking_top-content2_head {
    width: 100%;
    margin: 5px 0;
    padding: 8px 0;
    background: no-repeat url(/images/ribon_head.png);
    background-size: 100% 100%;
    text-align: center;
    color: #fff;
    font-size: 16px;
  }
  .ranking_top-content2_img {
    width: 42%;
  }
    .ranking_top-content2_img img {
      display: block;
      width: 100%;
    }
  .ranking_top-content2_data {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
    align-items: center;
    width: 55%;
  }
    .ranking_top-content2_data_table {
      width: 100%;
      color: #555;
      font-size: 12px;
    }
      .ranking_top-content2_data_table th {
        width: 40%;
        padding: 8px 2px;
        background: #E3F1FD;
      }
      .ranking_top-content2_data_table td {
        text-align: center;
      }
      .ranking_top-content2_data_table tr:first-child > * {
        border-bottom: solid 2px #ddd;
      }
  .ranking_top-content2_data_star {
    margin: 5px 0;
  }
    .ranking_top-content2_data_star div {
      display: flex;
      justify-content: space-around;
      align-items: center;
      width: 100%;
    }
    .ranking_top-content2_data_star span {
      color: #FA8072;
      font-size: 16px;
      font-weight: bold;
    }
  .ranking_top-content2_text {
    width: 92%;
    margin: 5px 0 10px;
    padding: 5px;
    border: solid 1px #aaa;
    box-shadow: 4px 4px 6px #aaa;
  }
  .ranking_top-content2_button {
    width: 90%;
  }
    .ranking_top-content2_button img {
      display: block;
      width: 100%;
    }