@charset "utf-8";

/* ヘッダー */
#header .logo img {
    height: min(11.6svh, 94px);
    object-fit: contain;
}

/** スマホナビ内部 **/
#sp-navi ul li a {
    padding: min(2.1svh, 17px) 0;
}

#sp-navi ul li.eng-label a::before {
    top: -2px;
    height: 10px;
    background-size: cover;
}

#sp-navi ul li.eng-label.label-home a::before {
    width: 46px;
}

#sp-navi ul li.eng-label.label-reserve a::before {
    width: 113px;
}

#sp-navi ul li.eng-label.label-product a::before {
    width: 59px;
}

#sp-navi ul li.eng-label.label-food a::before {
    width: 57px;
}

#sp-navi ul li.eng-label.label-access a::before {
    width: 61px;
}
















@media (max-width: 374px) {
    #sp-navi .contact {
        padding: 10px 1rem;
        height: min(28.7svh, 233px);
    }

    #sp-navi ul {
        margin: -30px 0 0;
    }

    #sp-navi .contact .header .biz-time {
        margin-bottom: 6px;
    }

    #sp-navi .contact .head-address p,
    #sp-navi .contact .tel {
        margin-top: 5px;
    }

    #bottom-nav {
        height: 70px;
    }

    #bottom-nav ul li a {
        font-size: 1rem;
        line-height: 1rem;
    }

    #bottom-nav ul li a::before,
    #bottom-nav ul li a::after {
        top: 2px;
        width: 15px;
    }

    #bottom-nav ul li a::after {
        top: 0;
    }

    #top #lead {
        padding: 30px 0 min(15.8svh, 128px);
    }

    #top .slick-slider {
        height: 220px;
    }

    #top #lead .to-next {
        bottom: 3px;
        width: 50px;
    }

    #page #reservation .monthly-prev-next {
        flex-direction: column;
        gap: 20px;
    }

    #page #reservation .monthly-prev-next a {
        margin-left: 0;
    }

    #page #reservation .in100per>p.calender_caution {
        top: -198px;
        font-size: 14px;
    }

    #page #reservation .in100per:has(table.mtssb-timetable-link)>p.calender_caution {
        top: -110px;
    }

    #page #reservation .monthly-calendar {
        margin: 6px auto 0;
    }
}