@charset "UTF-8";

/* ================ここから記述してください。=================== */




/* ================タイトル=================== */
.shop-alinecenter{
    text-align: center;
    margin-top: calc( 164 / 1440 * 100vw);
}
.shop-alinecenter h1{
    font-size: 32px;
}
.shop-odan{
    width: 200px;
    height: 18.24px;
}

/* ================お店の歴史=================== */
.shop-history{
    padding-bottom: 50px;
    line-height: 2;
}
.shop-history p{
    margin: 0 auto;
    width: 90%;
}

/* ================店舗情報=================== */
.shop-info-wrapper h2{
    text-align: center;
    padding-top: 110px;
    margin: 50px auto;
}

.shop-info-detail{
    display: grid;
    grid-template-areas:
    "txt map"
    "txt map"
    "li li";
}


.shop-info-text{
    grid-area: txt;
    display: flex;
    flex-direction: column;
}

.shop-info-text div dl{
    display: flex;
    flex-direction: row;
}
.shop-info-item{
    width: 6em;
}
.shop-info-item+dd{
    width: calc( 100% - 6em );
}
.shop-info-text .mybr{
    display: inline-block;
}
.shop-info-found{
    padding-bottom: 50px;
    display: flex;
    flex-direction: column;
}
.shop-info-map{
    grid-area: map;
    border-radius: 30px;
    width: calc( 494 / 1440 * 100vw);
    height: 340px
}

/* ================定休日リンク=================== */
.insta-link{
    grid-area: li;
    display: flex;
    justify-content: center;
    text-align: center;
    width: 460px;
    margin: 50px auto 0 auto;
    padding: 30px 60px;
    background-color: #e9b198;
    border-radius: 50px;
    transition: 0.2s;
}

.shop-info-wrapper .insta-link a{
    color: #fff;
    width: 25em;
}

.shop-info-wrapper .insta-link:hover{
    transform: scale(1.1);
    background-color: #CE7D5B;
}

/* ================周辺駐車場図=================== */
.shop-parking h2{
    text-align: center;
    padding-top: 110px;
    padding-bottom: 10px;
}

.shop-parking-all{
    display: flex;
    flex-direction: row;
}

.shop-info-parking{
    width: calc( 650 / 1440 * 100vw);
    height: calc( 500 / 1440 * 100vw);
    /* margin-top: calc( 90 / 1440 * 100vw); */
    border-radius: 20px;
}

.shop-parking-tag div {
    padding-left: 70px;
}

.shop-parking-tag img{
    object-fit: cover;
    width: calc( 40 / 1440 * 100vw);
    height: calc( 60 / 1440 * 100vw);
    margin-right: 0.5em;
    /* margin-top: calc( 90 / 1440 * 100vw);
    margin-left: calc( 110 / 1440 * 100vw); */
}

.shop-parking-tag {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.shop-parking-tag p {
    line-height: calc( 60 / 1440 * 100vw);

}

.shop-parking-tag .mybr{
    display: inline-block;
    padding-top: 10px;
    
}

.shop-parking-caution{
    text-align: center;
    line-height: 1!important;
    /* margin-left: calc( 135 / 1440 * 100vw); */
    margin-bottom: 50px;
    color: #AD3838;
}

/* ================お問い合わせ=================== */
.shop-inquiry{
    background-color: #CE7D5B;
    width: 80%;
    border-radius: 50px;
    margin: 150px auto;

}

.shop-inquiry-text p{
    text-align: center;
    color: #fff;
}
.shop-inquiry-text div{
    display: flex;
    justify-content: center;
    color: #fff;
}
.shop-inquiry-text .mybr{
    color: #fff;
    display: inline-block;
}

.shop-inquiry-t-1{
    padding: 35px 20px 0 20px;
}

.shop-inquiry-t-2{
    padding: 0 20px 15px 10px;
}
.shop-inquiry-t-2 .mybr{
    text-decoration: underline;
}

.shop-inquiry h2{
    text-align: center;
    color: #fff;
    padding: 45px 20px 0 20px;
}

.shop-inquiry-phone{
        display: flex;
        flex-direction: row;
        justify-content: space-between;
}

.shop-inquiry-phone{
    width: 100%;
    height: 100%;
}

.shop-phone-ico{
    width: calc( 45 / 1440 * 100vw);
    height: calc( 45 / 1440 * 100vw);
    margin-top: 8px;
    margin-right: 10px;
}




.shop-inquiry-phone p{
    font-size: 24px;
    letter-spacing: 0.6em;
}

_::-webkit-full-page-media,
_:future, 
:root .shop-inquiry-phone p a {
    color: #fff;
}



.shop-inquiry-t-t{
    display: flex;
    flex-direction: row;
    padding-bottom: 45px; 
}



/* ================店内図=================== */
.shop-map h2{
    text-align: center;
    margin-bottom: 50px;
}
.shop-map-all{
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
}

_::-webkit-full-page-media,
_:future, 
:root .shop-map-all {
    width: 100%;
    aspect-ratio: 16 / 9;
}

.shop-map-caption{
    width: 100%;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%,-50%);
}
.shop-img img {
    width: calc( 210 / 1440 * 100vw);
    height: calc( 210 / 1440 * 100vw);
    border-radius: 30%;
}

.shop-img1{
    position: absolute;
    left: -22%;
    top: -2%;
}

.shop-img2{
    position: absolute;
    right: -23%;
    top: 0;
}

.shop-img3{
    position: absolute;
    left: 17%;
    bottom: -38%;
}

@media (min-width: 1440px){
    .shop-map-caption{
    width: 850px;
    }

    .shop-img img{
        width: 210px;
        height: 210px;
    }

    .shop-phone-ico{
        width: 45px;
        height: 45px;
    }
}
@media (max-width: 1440px){
    .shop-map-caption{
        width: 75%;
    }

    .shop-img1{
        position: absolute;
        left: -19%;
        top: -5%;
    }
    
    .shop-img2{
        position: absolute;
        right: -20%;
        top: 0;
    }
    
    .shop-img3{
        position: absolute;
        left: 18.5%;
        bottom: -35%;
    }

}


/* ================1024px=================== */
@media (max-width: 1024px){

    .shop-history{
        padding-bottom: 0;
    }
    .shop-info-detail{
        grid-template-areas:
        "map map"
        "txt txt"
        "li li";
    }

    .shop-info-map{
        margin-top: 50px;
        width: 100%;
        height: 450px;
    }

    .shop-info-text{
        margin-top: 50px;
    }
    .shop-info-found{
        padding-bottom: 0;
    }
    .shop-parking-all{
        display: flex;
        flex-direction: column;
    }

    .shop-info-parking{
        width: 100%;
        height: 100%;
    }

    .shop-parking-tag div{
        padding: 0;
        margin-bottom: 40px;
    }

    .shop-parking-caution{
        padding: 10px;  
        margin-left: 0;
    }

    .shop-inquiry-phone{
        display: flex;
        flex-direction: row;
        width: 100%;
        margin: 0;
    }
    .shop-img1{
        position: absolute;
        left: -19%;
        top: -7%;
    }
    
    .shop-img2{
        position: absolute;
        right: -20%;
        top: 0;
    }
    
    .shop-img3{
        position: absolute;
        left: 18%;
        bottom: -34%;
    }
    
}



/* ================600px=================== */
@media (max-width: 600px){

    .shop-alinecenter{
        margin-top: 105px;
        line-height: 15px;
    }

    .shop-alinecenter h1{
        font-size: 20px;
    }
    .shop-odan{
        width: 120px;
        height: 12px;
        transform: translateY(2px);
    }
    .shop-info-wrapper{
        margin-top: 20px;
    }

    .shop-info-wrapper h2{
        font-size: 18px;
        padding: 0;
    }

    .shop-history p{
        font-size: 14px;
    }

    .shop-info-text{
        text-indent: 1rem;
    }

    .shop-info-found div{
        display: flex;
        flex-direction: row;
    }

    .shop-smalltext{
        font-size: 13px;
    }

    .insta-link{
        font-size: 14px;
        width: 90%;
        padding: 20px 0;
    }

    .shop-parking h2{
        font-size: 18px;
        padding-bottom: 0;   
    }

    .shop-parking-caution{
        font-size: 12px;
        letter-spacing: 0.01rem;
        white-space: nowrap;
        margin-left: 0;
    }

    .shop-parking-tag{
        padding-top: 20px;
        padding-left: 20px;
    }

    .shop-inquiry{
        margin-top: 80px;
        margin-bottom: 120px;
    }

    .shop-inquiry h2{
        font-size: 18px
    }
    .shop-inquiry-text p{
        font-size: 14px;
    }
    .shop-inquiry{
        padding-bottom: 50px;
    }
    
    .shop-inquiry-t-2{
        padding-top: 30px;
    }

    .shop-inquiry-phone{
        margin-bottom: 15px;
        justify-content: right;
    }

    .shop-phone-ico{
        margin: 5px 10px;
        width: 25px;
        height: 25px;
    }
    .shop-inquiry-phone p{
        font-size: 17px;
        align-items: baseline;
    }
    .shop-inquiry-t-t{
        display: flex;
        
        padding: 0;
        flex-direction: column;

    }

    .shop-inquiry-t-t .shop-slash{
        display: none;
        }

        .shop-inquiry-t-t {
            justify-content: right;
            margin-left: 0;
            align-items: flex-end;
            width: 11.5em;
            margin: 0 auto;
        }
}

@media (max-width:375px){

    .shop-inquiry-phone{
        display: flex;
        justify-content: right;
    }

    

    .shop-phone-ico{
        margin: 5px 5px 0 0;
        width: 20px;
        height: 20px;
    }

    .shop-telephone{
        letter-spacing: 0.3rem;
    }

    .shop-inquiry-t-t .shop-slash{
        display: none;
    }
}