@charset "UTF-8";
html {
    min-width: max-content;
}

.shops-top{
    position: relative;
    width: 100%;
    margin-bottom: 121px;
    height: 35.714vw;
}

.shops-top .bg{
    position: absolute;
    width: 100%;
    height: 100%;
    background: url(/img/shops/img-shops-top.png) center/cover no-repeat;
}

.shops-text{
    position: absolute;
    top: 0;
    right: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 50%;
    height: 100%;
}

.shops-text .text{
    width: 486px;
    font-size: 15px;
    line-height: 1.7;
}

.area-box:last-of-type{
    margin-bottom: 34px;
}

.shops-list{
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 24px;
    margin-bottom: 5px;
    padding-top: 35px;
}

.shops-list .shop-box{
    width: 282px;
    margin-bottom: 64px;
}

.shops-list .shop-link a{
    display: inline-block;
    width: 100%;
    height: 100%;
}

.shops-list img{
    width: 100%;
}

.shop-box .shop-name{
    margin-top: 29px;
    font-size: 20px;
}

.shop-box .text{
    margin-top: 17px;
    line-height: 1.5;
}

.shop-box .tell-link{
    width: 282px;
    height: 60px;
    margin-top: 16px;
}

.tell-link a{
    display: flex;
    justify-content: flex-start;
}

.tell-link .tell-mark{
    width: 60px;
    height: 60px;
    background: url(/img/cmn/icon-tell.svg) center/19.65px auto no-repeat #9A000F;
}

.tell-link .number{
    display: flex;
    justify-content: flex-start;
    align-items: center;
    width: calc(100% - 60px);
    padding-left: 20px;
    background: #BA000F;
}

.tell-link .number span{
    font-size: 20px;
    color: #fff;
}

.shop-box .map-link{
    position: relative;
    width: 282px;
    height: 40px;
    margin-top: 17px;
    box-shadow: 0 3px 6px rgba(0, 0, 0, 16%);
}

.shop-box .map-link::after{
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 0;
    height: 100%;
    background-color: #BA000F;
	transition: .7s ease;
    z-index: 0;
}

.shop-box .map-link:hover::after{
    width: 100%;
}

.map-link a{
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    z-index: 1;
}

.map-link span{
    color: #BA000F;
    transition: color .3s ease; 
}

.map-link:hover span{
    color: #fff;
    transition: color .3s ease;
}


/* detail */
.brand-name{
    margin-bottom: 19px;
    font-size: 20px;
}

.detail-info{
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 129px;
    padding-top: 59px;
}

.info-box{
    width: 486px;
}

.info-tbl{
    border-top: solid 1px #CCCCCC;
}

.info-tbl table{
    width: 100%;
    margin-bottom: 40px;
}

.info-tbl tr{
    border-bottom: solid 1px #CCCCCC;
}

.info-tbl th{
    width: 185px;
    padding: 17px 0;
    text-align: left;
}

.info-tbl td{
    padding: 17px 0;
    line-height: 1.6;
}

.pay .img:first-child{
    width: 432px;
    margin-bottom: 11px;
}

.pay .img:nth-child(2){
    width: 289px;
    margin-bottom: 20px;
}

.pay img{
    width: 100%;
}

.pay .text{
    line-height: 1.6;
}

.slide-box{
    width: 650px;
}

.shop-thumb{
    margin: 25px auto 0;
}

.shop-thumb ul{
    display: flex;
    justify-content: center;
    gap: 15px;
}

.shop-thumb li{
    width: 80px;
    cursor: pointer;
}

.shop-thumb li img{
    object-fit: cover;
}

.map iframe{
    width: 100%;
}

.sec {
    min-width: fit-content;
}

@media screen and (max-width: 1024px){
    html {
        min-width: 1420px;
        overflow-y: scroll;
    }
}

@media screen and (max-width: 769px){
    html {
        min-width: fit-content;
    }
    .shops-top{
        position: relative;
        width: 100%;
        height: auto;
        margin-bottom: 61px;
    }

    .shops-top .bg{
        position: relative;
        height: 64vw;
        background: url(/img/shops/img-shops-top.png) center left -7vw /cover no-repeat;
    }
    
    .shops-text{
        position: relative;
        top: 0;
        align-items: flex-start;
        width: 100%;
        padding: 37px 5.333% 0;
    }
    
    .shops-text .text{
        width: 100%;
    }
    
    .area-box:last-of-type{
        margin-bottom: 26px;
    }
    
    .shops-list{
        display: flex;
        justify-content: space-between;
        align-items: flex-start;
        flex-wrap: wrap;
        gap: 24px;
        margin-bottom: 5px;
        padding-top: 35px;
    }
    
    .shops-list .shop-box{
        min-width: 0;
        width: 46%;
        margin-bottom: 72px;
    }
    
    .shops-list .shop-link a{
        display: inline-block;
        width: 100%;
        height: 100%;
    }
    
    .shops-list img{
        width: 100%;
    }
    
    .shop-box .text{
        margin-top: 5px;
    }
    
    .shop-box .tell-link{
        min-width: 0;
        width: 100%;
        height: 60px;
        margin-top: 16px;
    }
    
    .shop-box .map-link{
        position: relative;
        min-width: 0;
        width: 100%;
    }
    
    .shop-box .map-link::after{
        display: none;
    }
    
    .map-link:hover span{
        color: #BA000F;
    }
    
    
    /* detail */
    .brand-name{
        margin-bottom: 12px;
        font-size: 16px;
    }
    
    .detail-info{
        display: flex;
        flex-flow: column;
        justify-content: space-between;
        align-items: flex-start;
        margin-bottom: 64px;
        padding-top: 25px;
    }
    
    .info-box{
        width: 100%;
    }
    
    .info-tbl{
        border-top: solid 1px #CCCCCC;
    }
    
    .info-tbl table{
        width: 100%;
        margin-bottom: 40px;
    }
    
    .info-tbl tr{
        border-bottom: solid 1px #CCCCCC;
    }
    
    .info-tbl th{
        width: 90px;
        padding: 17px 0;
        text-align: left;
    }
    
    .info-tbl td{
        padding: 17px 0;
        line-height: 1.6;
    }
    
    .pay .img:first-child{
        width: 100%;
        margin-bottom: 10px;
    }
    
    .pay .img:nth-child(2){
        width: 100%;
        margin-bottom: 10px;
    }
    
    .slide-box{
        width: 100%;
        margin-top: 26px;
    }
    
    .shop-thumb{
        min-width: 0;
        width: 100%;
        max-width: 285px;
        margin: 16px auto 0;
    }

    .shop-thumb ul {
        gap: 5px;
    }

    .shop-thumb li{
        width: auto;
        max-width: 100px;
    }
    
    .map iframe{
        width: 100%;
    }

}

@media screen and (max-width: 499px){

    .shops-list .shop-box{
        width: 100%;
    }

    .tell-link .number {
        padding-left: 44px;
    }

}