.salon-head {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 98%;
  height: 70px;
  margin-bottom: 5px;
  color: #767171;
}
  .salon-head-logo {
    width: 20%;
  }
  .salon-head-right {
    width: 80%;
    padding-left: 10px;
  }
    .salon-head-salonname {
      height: 35px;
      line-height: 2.4em;
      font-size: 1.4rem;
    }
    .salon-head-star {
      display: flex;
      align-items: center;
      height: 25px;
      font-size: 1.2rem;
    }
      .salon-head-star img {
        width: 30px;
      }
    .salon-head-score {
      margin-left: 10px;
      font-size: 1.1rem;
      font-weight: bold;
    }
      .salon-head-score::first-letter {
        font-size: 1.7rem;
        font-weight: bold;
      }

.salon-mainimg {
  width: 98%;
  margin-bottom: 8px;
  text-align: center;
}
  .salon-mainimg img {
    max-width: 100%;
    max-height: 200px;
  }
.salon-upper-right {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  width: 98%;
}
  .salon-tags {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
    width: 100%;
    margin-bottom: 8px; 
  }
    .salon-tags-item {
      display: inline-flex;
      justify-content: center;
      align-items: center;
      width: 32%;
      height: 30px;
      margin: 0 0 3px;
      background: #d0cece;
      border-radius: 3px;
      text-align: center;
      color: #fff;
      font-weight: bold;
    }
      .salon-tags-item.on {
        background: #ff79a2;
      }

.salon-campaign {
  position: relative;
  width: 98%;
  margin-bottom: 8px;
  color: #595959;
  line-height: 1.2em;
}
/*   .salon-campaign::before {
    content: "";
    position: absolute;
    top: 0px;
    left: 0;
    width: 200px;
    height: 100%;
    background: top left / contain no-repeat url(/images/salon/campaign_head.png);
  } */
  .salon-campaign-head {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 1.8em;
    background: no-repeat url(/images/util_head.png);
    background-size: 100% 100%;
    color: #fff;
    font-size: 1.0rem;
  }
  .salon-campaign-text {
    position: relative;
    margin: 0.6rem 0;
    padding-left: 35px;
  }
    .salon-campaign-text::before {
      content: "";
      position: absolute;
      top: -3px;
      left: 0;
      width: 22px;
      height: 22px;
      background: top left / contain no-repeat url(/images/salon/campaign_li.png);
    }
  .salon_campaign_img {
    display: block;
    max-width: 98%;
    margin: 0 auto;
  }

.salon-table-star {
  width: 98%;
  margin-bottom: 8px;
  border: solid 3px #ddecff;
  color: #595959;
}
  .salon-table-star tr {
    height: 2.8rem;
  }
    .salon-table-star th {
      width: 24%;
      padding: 0 2px;
      background: #f2f7ff;
      border: solid 3px #ddecff;
      font-size: 0.8rem;
      font-weight: initial;
    }
    .salon-table-star td {
      border: solid 3px #ddecff;
      text-align: center;
      line-height: 1.1rem;
      color: #ff7979;
      font-size: 16px;
      font-weight: bold;
    }
      .salon-table-star td img{
        width: 19%;
      }
        .salon-table-star td img:last-of-type{
          margin-right: 3px;
        }

.salon-parts {
  position: relative;
  width: 98%;
  margin: 12px 0 8px;
  padding-top: 25px;
  background: #fff;
  border: solid 5px #72baf6;
}
  .salon-parts::before {
    content: "対応部位";
    position: absolute;
    top: -22px;
    left: 0;
    right: 0;
    width: 50%;
    height: 50px;
    margin: 0 auto;
    background: center / contain no-repeat url(/images/head_ribon.png);
    text-align: center;
    color: #595959;
    line-height: 2.2em;
    font-size: 1.2rem;
    font-weight: bold;
  }
  .salon-parts-upper,
  .salon-parts-bottom {
    display: flex;
    justify-content: space-around;
    align-items: center;
    height: 80px;
    padding: 5px 10px;
  }
  .salon-parts-upper {
    border-bottom: solid 3px #72baf6;
  }
    .salon-parts-img {
      width: 20%;
      height: 70px;
    }
    .salon-parts-tags {
      width: 75%;
    }
      .salon-parts-tags .tag {
        display: inline-block;
        width: 22%;
        height: 30px;
        margin: 3px;
        padding: 3px 2px;
        background: #97d8ff;
        border-radius: 5px;
        text-align: center;
        font-size: 1rem;
        color: #fff;
      }

.salon-table-spec {
  width: 98%;
  margin-bottom: 8px;
  color: #767171;
}
  .salon-table-spec tr {
    height: 2.5rem;
    border-bottom: dotted 2px #767171;
  }
    .salon-table-spec tr:last-of-type{
      border: none;
    }
    .salon-table-spec th {
      width: 33%;
      background: #ddecff;
    }
    .salon-table-spec td {
      padding: 5px 0 5px 10px;
      text-align: left;
    }

.salon-button-jump {
  position: relative;
  overflow: hidden;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 90%;
  height: 75px;
  margin-bottom: 12px;
  padding: 0.3em 50px 0 10px;
  background: #ff4e81;
  border-radius: 10px;
  box-shadow: 0 4px 4px #700;
  line-height: 1.4em;
  color: #fff;
  font-weight: bold;
  text-decoration: none;
}
  .salon-button-jump::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    right: 15px;
    width: 35px;
    height: 35px;
    margin: auto 0;
    background: center / contain url(/images/button_arrow.png);
  }

.salon-button-detail {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 90%;
  height: 55px;
  margin-bottom: 10px;
  padding: 0.3em;
  background: #72baf6;
  color: #fff;
  font-size: 1.1rem;
  font-weight: bold;
  text-decoration: none;
}
  .salon-button-detail img {
    width: 36px;
    height: 36px;
    margin-left: 10px;
  }

.salon-button-ranking {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 90%;
  height: 55px;
  margin-bottom: 10px;
  padding: 0.3em;
  background: #5be385;
  color: #fff;
  font-size: 1.2rem;
  font-weight: bold;
  text-decoration: none;
}

.salon-plan {
  position: relative;
  width: 98%;
  margin: 12px 0 8px;
  padding-top: 30px;
  background: #fff;
  border: solid 5px #72baf6;
  color: #595959;
}
  .salon-plan::before {
    content: "おすすめプラン";
    position: absolute;
    top: -22px;
    left: 0;
    right: 0;
    width: 50%;
    height: 50px;
    margin: 0 auto;
    background: center / contain no-repeat url(/images/head_ribon.png);
    text-align: center;
    line-height: 2.5em;
    font-size: 1.1rem;
    font-weight: bold;
  }
  .salon-plan-table {
    width: 90%;
    margin: 0 auto;
    font-size: 0.9rem;
  }
    .salon-plan-table th {
      text-align: left;
      font-weight: initial;
    }

.salon-kuchikomi {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
  width: 100%;
  margin-bottom: 10px;
}
  .salon-kuchikomi-head {
    position: relative;
    width: 100%;
    height: 30px;
    margin-bottom: 6px;
    padding-left: 80px;
    color: #595959;
    font-size: 1.2rem;
  }
    .salon-kuchikomi-head::before {
      content: "";
      position: absolute;
      top: 0;
      left: 30px;
      width: 45px;
      height: 30px;
      background: 5% no-repeat url(/images/salon/kuchikomi_head.png);
      background-size: 45px 30px;  
    }
  .salon-kuchikomi-items {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    width: 95%;
  }

.salon-shoplist {
  width: 98%;
  margin-bottom: 5px;
}
  .salon-shoplist-head {
    position: relative;
    padding: 15px 60px 5px;
    color: #595959;
    font-size: 1.2rem;
    font-weight: bold;
  }
    .salon-shoplist-head::before {
      content: "";
      position: absolute;
      top: 0;
      bottom: 0;
      left: 5px;
      margin: auto 0;
      width: 45px;
      height: 45px;
      background: no-repeat center / contain url(/images/shop_icon.png);
    }

.salon-content {
  width: 98%;
  margin: 5px 0;
  color: #595959;
}
  .salon-content-head {
    display: flex;
    justify-content: left;
    align-items: center;
    position: relative;
    width: 100%;
    height: 3em;
    margin:0 0 8px;
    padding: 0.2em 20px;
    background: #fff;
    border: solid 2px #72baf6;
    border-left: solid 20px #72baf6;
    border-right: none;
    color: #72baf6;
    line-height: 1.3em;
    font-weight: initial;
  }
    .salon-content-head::after {
      content: "";
      position: absolute;
      box-sizing: border-box;
      top: 4px;
      right: -15px;
      width: calc(3em/1.414);
      height: calc(3em/1.414);
      border: solid 2px #72baf6;
      border-top: none;
      border-right: none;
      transform: rotate(45deg);
      overflow: hidden;
    }
  .salon-content-text {
    width: 100%;
    margin-bottom: 8px;
    padding: 5px 10px;
  }
    .salon-content-text img {
      display: block;
      max-width: 100%;
      max-height: 30vh;
      margin: 5px auto;
    }

.salon-banner {
  max-width: 70%;
  margin-bottom: 8px;
}
  .salon-banner a {
    display: flex;
    align-items: center;
  }
  .salon-banner img {
    max-width: 100%;
}

@media screen and (min-width: 1000px) {
  .salon-head {
    height: 100px;
  }
    .salon-head-logo {
      max-width: 15%;
      max-height: 80px;
    }
    .salon-head-right {
      padding-left: 30px;
    }
      .salon-head-salonname {
        height: 45px;
        line-height: initial;
        font-size: 2rem;
      }

  .salon-mainimg {
    width: 48%;
  }
  .salon-upper-right {
    width: 48%;
  }

  .salon-table-star {
    width: 48%;
  }

  .salon-campaign {
    width: 48%;
  }

  .salon-parts {
    width: 48%;
  }
  .salon-plan {
    width: 48%;
  }

  .salon-content {
    width: 85%;
  }
  
  .salon-kuchikomi {
    width: 85%;
  }

  .salon-shoplist {
    width: 85%;
  }

  .salon-button-jump {
    width: 60%;
    margin: 10px 0 20px;
    font-size: 1.1rem;
  }
  .salon-button-detail span {
    height: 42px;
  }
}