/* タイトル帯
====================================================*/
.list-title{
    width: 100%;
    font-size: min(2.6vw, 30px);
    padding: 2.5% 0px;
    font-weight: 700;
    color: rgb(255, 255, 255);
    background: rgb(243, 111, 60);
    text-align: center;
}
@media screen and (max-width: 500px) {
    .list-title{
        font-size: 4.4vw;
    }
}
/* リスト
====================================================*/
.list-wrap{
    padding: 2% 8%;
}
.list-item{
    width: 100%;
    padding: 2% 0;
    border-bottom: 3px solid rgb(207, 207, 207);
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    align-items: center;
}
.list-item-left{
    width: 40%;
}
.list-item-img{
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 9;
    object-fit: cover;
}
.list-item-right{
    text-align: left;
    width: 57%;
}
.list-item-name{
    font-weight: 600;
    line-height: 140%;
    color: rgb(243, 111, 60);
    font-size: min(2.2vw, 22px);
}
.list-item-sub{
    font-weight: 600;
    line-height: 140%;
    color: rgb(136, 199, 203);
    font-size: min(1.8vw, 18px);
    margin-top: 1.5%;
}
.list-item-note{
    font-size: min(1.5vw, 15px);
    margin-top: 1%;
    color: rgb(51, 51, 51);
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
@media screen and (max-width: 500px) {
    .list-wrap{
        padding: 2% 4%;
    }
    .list-item{
        padding: 4% 0;
    }
    .list-item-left{
        width: 100%;
    }
    .list-item-right{
        width: 100%;
    }
    .list-item-name{
        margin-top: 2%;
        font-size: 3.6vw;
    }
    .list-item-sub{
        font-size: 3.2vw;
    }
    .list-item-note{
        font-size: 3vw;
    }
}
/* 星
====================================================*/
.rate {
    position: relative;
    display: inline-block;
    width: 100px; /* 星5個の幅 */
    height: 20px; /* 星1個の幅 */
    font-size: 20px;
}
.rate::before,
.rate::after {
    position: absolute;
    display: inline-block;
    height: 20px;
    content: "★★★★★";
    line-height: 20px;
}
.rate::before {
    color: #c4c4c4; /* 背景の星、色はグレー */
}
.rate::after {
    overflow: hidden;
    width: calc(var(--score) / 5 * 100px); /* スコアに応じた幅 */
    color: #ffb906; /* 評価の星、色はゴールド */
}
.rate-wrap {
    display: flex;
    width: 100%;
    align-items: center;
    font-weight: bold;
}
.num{
    margin-left: 3%;
    font-size: min(1.8vw, 18px);
}
@media screen and (max-width: 500px) {
    .num {
        font-size: 3.2vw;
    }
}
/* エリア・部門選択へ戻る
====================================================*/
.back-choice{
    display: block;
    background-color: rgb(243, 111, 60);
    padding: 1%;
    width: 50%;
    margin: clamp(1rem, 0.6364rem + 1.8182vw, 2rem) auto 0;
    border-radius: 50px;
    color: #fff;
    font-size: clamp(1rem, 0.7727rem + 1.1364vw, 1.625rem);
}
.back-choice i{
    margin-right: 10px;
}
@media screen and (max-width: 500px) {
    .back-choice{
        padding: 2%;
        width: 80%;
    }
}