html{
    scroll-behavior: smooth;
}

body{
    margin: 0;
    padding: 0;
    font-family: Georgia, 'Times New Roman', Times, serif;
    letter-spacing: 1px;
    font-size: 10px;
}
img{
	vertical-align:top;
    width: 100%;
}
a{
    text-decoration: none;
    color: #000;
}
main{
    position: relative;
}

@media (max-width: 780px) { 
    #sp{
        display: block;
    }
    #dt{
        display: none;
    }
}
@media (min-width: 780px) { 
    #sp{
        display: none;
    }
    #dt{
        display: block;
    }
}
@media (max-width: 780px) { 
    .section_top{
        width: 100vw;
        background-image: url("../../img/img_top_dt_01.png");
        background-repeat: no-repeat;
        background-size: cover;
        position: relative;
    }
    .top_logo{
        width: 55px;
        padding-top: 50px;
        margin-left: 5vw;
    }
    .top_menu_list{
        line-height: 50px;
        padding-top: 20px;
        margin-left: 5vw;
    }
    .top_menu_list a{
        color: #fff;
        font-size: 18px;
    }
    .top_massage{
        color: #fff;
        font-size: 26px;
        line-height: 50px;
        padding-top: 23px;
        margin-left: 5vw;
        letter-spacing: 5px;
        padding-bottom: 50px;
    }
}
@media (min-width: 781px) { 
    .section_top{
        width: 100vw;
        height: auto;
        /* max-height: 700px; */
        background-image: url("../../img/img_top_dt.png");
        background-repeat: no-repeat;
        background-size: cover;
        position: relative;
    }
    .top_logo{
        width: 50px;
        padding-top: 50px;
        margin-left: 7vw;
    }
    .top_menu_list{
        line-height:45px;
        padding-top: 7vh;
        margin-left: 7vw;
    }
    .top_menu_list a{
        color: #fff;
        font-size: 18px;
    }
    .top_massage{
        color: #fff;
        font-size: 35px;
        line-height: 70px;
        margin-left: 7vw;
        padding-top: 5vh;
        padding-bottom: 5vh;
        letter-spacing: 10px;
        position: relative;
        /* position: absolute;
        bottom: 5vh; */
    }
}

@media (max-width: 780px) { 
    .section_message{
        width: 90vw;
        padding: 100px 5vw;
        background-color: #141414;
        position: relative;
    }
    .message_img{
        width: 220px;
        position: absolute;
        top: 50px;
        right: 5%;
        z-index: 0;
    }
    .message_title{
        padding-top: 70px;
        color: #fff;
        font-size: 26px;
        line-height: 48px;
        margin-bottom: 25px;
        z-index: 10;
        position: relative;
        letter-spacing: 4px;
    }
    .message_bun{
        color: #fff;
        font-size: 14px;
        line-height: 30px;
        z-index: 10;
        position: relative;
    }
}
@media (min-width: 781px) { 
    .message_img{
        width: 280px;
        position: absolute;
        right: 22.5vw;
        top: 180px;
    }
    .section_message{
        padding: 220px 20vw;
        background-color: #141414;
        position: relative;
    }
    .message_title{
        color: #fff;
        font-size: 30px;
        letter-spacing: 4px;
        line-height: 50px;
        margin-bottom: 35px;
        z-index: 10;
        position: relative;
    }
    .message_bun{
        color: #fff;
        font-size: 15px;
        line-height: 30px;
        letter-spacing: 3px;
        z-index: 10;
        position: relative;
        width: 50vw;
    }
}


@media (max-width: 980px) { 
    .carousel{
        overflow: hidden;
        .inner{
            display: grid;
            grid-auto-columns: 20rem;
            grid-auto-flow: column;
            justify-items: center;
            animation: scroll 20s linear infinite;
            img{
                height: auto;
                width: 100%;
            }
        }
    }
    @keyframes scroll {
        to{
            translate: calc(20rem * -6);
        }
    }
}
@media (min-width: 981px) { 
    .carousel{
        overflow: hidden;
        .inner{
            display: grid;
            grid-auto-columns: 20rem;
            grid-auto-flow: column;
            justify-items: center;
            animation: scroll 40s linear infinite;
            img{
                height: auto;
                width: 100%;
            }
        }
    }
    @keyframes scroll {
        to{
            translate: calc(20rem * -6);
        }
    }
}
@media (max-width: 780px) { 
    .section_food{
        width: 90vw;
        padding: 50px 5vw;
        background-color: #141414;
        position: relative;
    }
    #takeout{
        padding-top: 0;
    }
    .section_food #title{
        color: #fff;
        font-size: 15px;
        border-bottom: 1px #fff solid;
        line-height: 40px;
        margin-bottom: 40px;
        z-index: 10;
        position: relative;
        letter-spacing: 2px;
        width: fit-content;
    }
    .section_food #sub_title_01{
        padding-top: 0px;
        color: #fff;
        width: fit-content;
        font-size: 17px;
        line-height:20px;
        margin-bottom: 15px;
        z-index: 10;
        position: relative;
        letter-spacing: 2px;
    }
    .section_food #sub_title_01 #maru{
        font-size: 15px;margin-right: 2px;
    }
    .section_food #sub_title_01 #min{
        font-size: 12px;
    }
    .section_food #sub_title_02{
        padding-top: 0px;
        color: #fff;
        width: fit-content;
        font-size: 17px;
        line-height:30px;
        letter-spacing: -0px;
        margin-bottom: 0px;
        z-index: 10;
        position: relative;
    }
    .section_food #sub_title_02 #maru{
        font-size: 15px;margin-right: 2px;
    }
    .section_food #sub_title_02 #min{
        font-size: 12px;
    }
    .section_food #yen{
        padding-top: 0px;
        color: #fff;
        font-size: 23px;
        line-height:23px;
        margin-bottom: 15px;
        z-index: 10;
        position: relative;
        letter-spacing: 2px;
    }
    .section_food #yen #min{
        font-size: 12px;
    }
    .section_food #bun_01{
        padding-top: 0px;
        color: #fff;
        font-size: 12px;
        line-height: 20px;
        margin-bottom: 25px;
        z-index: 10;
        position: relative;
        letter-spacing: 2px;
    }
    .section_food #bun_02{
        padding-top: 0px;
        color: #fff;
        font-size: 25px;
        line-height: 20px;
        margin-bottom: 25px;
        z-index: 10;
        position: relative;
        letter-spacing: 2px;
    }
    .section_food #bun_03{
        padding-top: 20px;
        color: #fff;
        font-size: 15px;
        line-height: 25px;
        margin-bottom: 25px;
        z-index: 10;
        position: relative;
        letter-spacing: 2px;
    }
    .section_food #bun_04{
        padding-top: 0px;
        font-size: 12px;
        line-height: 20px;
        margin-bottom: 25px;
        z-index: 10;
        position: relative;
        letter-spacing: 2px;
        color: #a4a4a4;
    }
    .section_food #bun_05{
        padding-top: 0px;
        font-size: 12px;
        line-height: 20px;
        margin-bottom: 25px;
        z-index: 10;
        position: relative;
        letter-spacing: 2px;
        color: #fff;
    }
    .section_food #bun_flex_01{
        padding-top: 0px;
        color: #fff;
        font-size: 13px;
        line-height: 30px;
        margin-bottom: 25px;
        z-index: 10;
        display: flex;
        gap: 30px;
        letter-spacing: 2px;
    }
    .section_food #sen{
        height: 0.5px;
        width: 100%;
        margin: 25px 0;
    }
    .food_img_01{
        width: 100%;
        margin-top: 50px;
        margin-bottom: 40px;
    }
    .takeout_img_01{
        width: 60%;
        margin-top: 50px;
        margin-bottom: 40px;
    }
    .takeout_img_01 #bun_01{
        margin-top: 5px;
        color: #a4a4a4;
    }
}
@media (min-width: 781px) { 
    .section_food{
        width: 72vw;
        padding: 100px 14vw;
        background-color: #141414;
        position: relative;
    }
    #takeout{
        padding-top: 0;
    }
    .section_food .food_flex{
        display: flex;
        gap: 100px;
    }
    .section_food #title{
        color: #fff;
        font-size: 20px;
        line-height: 40px;
        margin-bottom: 35px;
        z-index: 10;
        position: relative;
        letter-spacing: 2px;
        width: fit-content;
        border-bottom: 1px #fff solid;
    }
    .section_food #sub_title_01{
        padding-top: 0px;
        color: #fff;
        font-size: 17px;
        line-height: 30px;
        margin-bottom: 5px;
        z-index: 10;
        position: relative;
        letter-spacing: 2px;
    }
    .section_food #sub_title_01 #maru{
        font-size: 15px;margin-right: 2px;
    }
    .section_food #sub_title_01 #min{
        font-size: 12px;
    }
    .section_food #sub_title_02{
        padding-top: 0px;
        color: #fff;
        font-size: 17px;
        line-height: 30px;
        margin-bottom: 5px;
        z-index: 10;
        position: relative;
        letter-spacing: 2px;
    }
    .section_food #sub_title_02 #min{
        font-size: 12px;
    }
    .section_food #sub_title_01 #maru{
        font-size: 15px;margin-right: 2px;
    }
    .section_food #sub_title_01 #min{
        font-size: 12px;
    }
    .section_food #yen{
        padding-top: 0px;
        color: #fff;
        font-size: 23px;
        line-height:40px;
        margin-bottom: 10px;
        z-index: 10;
        position: relative;
        letter-spacing: 2px;
    }
    .section_food #yen #min{
        font-size: 12px;
    }
    .section_food #bun_01{
        padding-top: 0px;
        color: #fff;
        font-size: 13px;
        line-height: 20px;
        margin-bottom: 25px;
        z-index: 10;
        position: relative;
        letter-spacing: 2px;
    }
    .section_food #bun_02{
        padding-top: 0px;
        color: #fff;
        font-size: 25px;
        line-height: 20px;
        margin-bottom: 25px;
        z-index: 10;
        position: relative;
        letter-spacing: 2px;
    }
    .section_food #bun_03{
        padding-top: 20px;
        color: #fff;
        font-size: 15px;
        line-height: 25px;
        margin-bottom: 25px;
        z-index: 10;
        position: relative;
        letter-spacing: 2px;
    }
    .section_food #bun_04{
        padding-top: 0px;
        color: #fff;
        font-size: 13px;
        line-height: 20px;
        margin-bottom: 25px;
        z-index: 10;
        position: relative;
        letter-spacing: 2px;
        color: #a4a4a4;
    }
    .section_food #bun_05{
        padding-top: 0px;
        color: #fff;
        font-size: 14px;
        line-height: 20px;
        margin-bottom: 25px;
        z-index: 10;
        position: relative;
        letter-spacing: 2px;
        color: #fff;
    }
    .section_food #bun_flex_01{
        padding-top: 0px;
        color: #fff;
        font-size: 13px;
        line-height: 30px;
        margin-bottom: 25px;
        z-index: 10;
        display: flex;
        gap: 50px;
        letter-spacing: 2px;
    }
    .section_food #sen{
        height: 1px;
        width: 50%;
        margin: 15px 0;
    }
    .food_img_01{
        width: 40%;
        position: absolute;
        right: 5vw;
        top: 100px;
        margin-bottom: 25px;
    }
    .takeout_img_01{
        width: 22%;
        position: absolute;
        right: 20vw;
        top: -20px;
        margin-bottom: 25px;
    }
    .takeout_img_01 #bun_01{
        margin-top: 5px;
        color: #a4a4a4;
    }
}

@media (max-width: 1080px) { 
    .section_yoyaku{
        width: 90vw;
        padding: 75px 5vw;
        position: relative;
        background-color: #141414;
    }
    .section_yoyaku #title{
        color: #fff;
        font-size: 15px;
        border-bottom: 1px #fff solid;
        line-height: 40px;
        margin-bottom: 40px;
        z-index: 10;
        position: relative;
        letter-spacing: 2px;
        width: fit-content;
    }
    .section_yoyaku #sub_title_00{
        padding-top: 0px;
        color: #fff;
        font-size: 15px;
        line-height: 30px;
        margin-bottom: 25px;
        z-index: 10;
        position: relative;
        letter-spacing: 2px;
    }
    .section_yoyaku #sub_title_01{
        padding-top: 0px;
        color: #fff;
        font-size: 17px;
        line-height: 30px;
        margin-bottom: 25px;
        z-index: 10;
        position: relative;
        letter-spacing: 2px;
    }
    .section_yoyaku #sub_title_03{
        padding-top: 10px;
        color: #fff;
        font-size: 13px;
        line-height: 30px;
        margin-bottom: 25px;
        z-index: 10;
        position: relative;
        letter-spacing: 2px;
    }
    .section_yoyaku #sub_title_03 a{
        color: #fff;
        text-decoration: underline;
    }
    .section_yoyaku #bun_01{
        padding-top: 0px;
        color: #fff;
        font-size: 13px;
        line-height: 20px;
        margin-bottom: 25px;
        z-index: 10;
        position: relative;
        letter-spacing: 2px;
        margin-bottom: 50px;
    }
    .section_yoyaku #bun_02{
        padding-top: 0px;
        color: #fff;
        font-size: 25px;
        line-height: 20px;
        margin-bottom: 25px;
        z-index: 10;
        position: relative;
        letter-spacing: 2px;
    }
    .section_yoyaku #bun_02 a{
        color: #fff;
    }
    .yoyaku_box{
        width: fit-content;
    }
    .yoyaku_btn{
        width: fit-content;
        padding: 10px 50px;
        color: #fff;
        font-size: 15px;
        text-align: center;
        border: 1px #fff solid;
        margin-bottom: 25px;
        transition: 0.5s;
    }
    .yoyaku_btn:hover{
        color: #141414;
        background-color: #fff;
    }
}
@media (min-width: 781px) and  (max-width: 1081px) { 
    .section_yoyaku{
        width: 72vw;
        padding: 100px 14vw;
        position: relative;
        background-color: #141414;
    }
}
@media (min-width: 1081px) { 
    .section_yoyaku{
        width: 72vw;
        padding: 100px 14vw;
        position: relative;
        background-color: #141414;
    }
    .section_yoyaku #title{
        color: #fff;
        font-size: 20px;
        line-height: 40px;
        margin-bottom: 25px;
        z-index: 10;
        position: relative;
        letter-spacing: 2px;
        width: fit-content;
        border-bottom: 1px #fff solid;
    }
    .section_yoyaku .yoyaku_flex{
        display: flex;
        gap: 10vw;
    }
    .section_yoyaku #sub_title_00{
        padding-top: 0px;
        color: #fff;
        font-size: 15px;
        line-height: 30px;
        margin-bottom: 45px;
        z-index: 10;
        position: relative;
        letter-spacing: 2px;
    }
    .section_yoyaku #sub_title_01{
        padding-top: 0px;
        color: #fff;
        font-size: 17px;
        line-height: 30px;
        margin-bottom: 20px;
        z-index: 10;
        position: relative;
        letter-spacing: 2px;
        width: fit-content;
        color: #fff;
        padding: 5px 0px;
    }
    .section_yoyaku #sub_title_03{
        padding-top: 30px;
        color: #fff;
        font-size: 15px;
        line-height: 30px;
        margin-bottom: 45px;
        z-index: 10;
        position: relative;
        letter-spacing: 2px;
    }
    .section_yoyaku #sub_title_03 a{
        color: #fff;
        font-size: 13px;
        text-decoration: underline;
    }
    .section_yoyaku #bun_01{
        padding-top: 0px;
        color: #fff;
        font-size: 13px;
        line-height: 20px;
        margin-bottom: 25px;
        z-index: 10;
        position: relative;
        letter-spacing: 2px;
    }
    .section_yoyaku #bun_02{
        padding-top: 0px;
        color: #fff;
        font-size: 35px;
        line-height: 20px;
        margin-bottom: 25px;
        z-index: 10;
        padding: 15px 0;
        position: relative;
        letter-spacing: 2px;
    }
    .section_yoyaku #bun_02 a{
        color: #fff;
    }
    .yoyaku_flex{
        display: flex;
        justify-content: start;
        width: 100%;
    }
    .yoyaku_flex #l{
        flex: 1;
    }
    .yoyaku_flex #r{
        flex: 1;
    }
    .yoyaku_sen{
        width: 1px;
        height: 100%;
        background-color: #fff;
    }
    .yoyaku_box{
        width: fit-content;
    }
    .yoyaku_btn{
        width: fit-content;
        padding: 10px 40px;
        color: #fff;
        font-size: 17px;
        text-align: center;
        border: 1px #fff solid;
        margin-bottom: 25px;
        transition: 0.5s;
    }
    .yoyaku_btn:hover{
        color: #141414;
        background-color: #fff;
    }
    .section_yoyaku .sen{
        width: 1px;
        height: 180px;
        background-color: #9e9e9e;
    }
}

@media (max-width: 780px) { 
    .img_box_01::before {
        content:"";
        display:block;
        position:fixed;
        top:0;
        left:0;
        z-index:-1;
        width:100%;
        height:100vh;
        background-repeat:no-repeat;
        background-position:50% 100%;
        background-image:url(../../img/img_top_sp.png);
        background-size:cover;
    }
    .section_shop{
        width: 90vw;
        padding: 50px 5vw;
        position: relative;
    }
    .section_shop #title{
        color: #fff;
        font-size: 15px;
        border-bottom: 1px #fff solid;
        line-height: 40px;
        margin-bottom: 40px;
        z-index: 10;
        position: relative;
        letter-spacing: 2px;
        width: fit-content;
    }
    .section_shop #shop_tag{
        padding-top: 0px;
        color: #fff;
        font-size: 17px;
        line-height: 30px;
        margin-bottom: 15px;
        z-index: 10;
        position: relative;
        letter-spacing: 2px;
        margin-top: 50px;
    }
    .section_shop #bun_01{
        padding-top: 0px;
        color: #fff;
        font-size: 15px;
        line-height: 20px;
        margin-bottom: 25px;
        z-index: 10;
        position: relative;
        letter-spacing: 2px;
    }
    .section_shop #bun_02{
        padding-top: 0px;
        color: #fff;
        font-size: 12px;
        line-height: 20px;
        margin-bottom: 25px;
        z-index: 10;
        position: relative;
        letter-spacing: 2px;
    }
    .section_shop #bun_03{
        padding-top: 0px;
        color: #fff;
        font-size: 20px;
        line-height: 20px;
        margin-bottom: 25px;
        z-index: 10;
        position: relative;
        letter-spacing: 2px;
    }
    .section_shop  .map_bun{
        width: fit-content;
        margin-bottom: 50px;
    }
    .section_shop .map_bun a{
        color: #fff;
        text-decoration: underline;
        font-size: 13px;
    }
}

@media (min-width: 781px) { 
    .img_box_01{
        width: 100%;
        /* height: 300px; */
        background-image: url(../../img/img_top_sp.png);
        
        /* 画像を常に天地左右の中央に配置 */
        background-position: center center;  
        /* 画像をタイル状に繰り返し表示しない */
        background-repeat: no-repeat;
        /* コンテンツの高さが画像の高さより大きい時、動かないように固定 */
        background-attachment: fixed;
        /* 表示するコンテナの大きさに基づいて、背景画像を調整 */
        background-size: cover;
    }
    .section_shop{
        width: 72vw;
        padding: 100px 14vw;
        position: relative;
    }
    .section_shop #title{
        color: #fff;
        font-size: 20px;
        line-height: 40px;
        margin-bottom: 50px;
        z-index: 10;
        position: relative;
        letter-spacing: 2px;
        width: fit-content;
        border-bottom: 1px #fff solid;
    }
    .shop_flex{
        display: flex;
        gap: 75px;
    }
    .shop_flex_l{
        width: 50%;
    }
    .shop_flex_r{
        width: 50%;
    }
    .section_shop #shop_tag{
        padding-top: 0px;
        color: #fff;
        font-size: 15px;
        line-height: 30px;
        margin-bottom: 15px;
        z-index: 10;
        position: relative;
        letter-spacing: 2px;
    }
    .section_shop #bun_01{
        padding-top: 0px;
        color: #fff;
        font-size: 15px;
        line-height: 20px;
        margin-bottom: 25px;
        z-index: 10;
        position: relative;
        letter-spacing: 2px;
    }
    .section_shop #bun_02{
        padding-top: 0px;
        color: #fff;
        font-size: 11px;
        line-height: 20px;
        margin-bottom: 25px;
        z-index: 10;
        position: relative;
        letter-spacing: 2px;
    }
    .section_shop #bun_03{
        padding-top: 0px;
        color: #fff;
        font-size: 18px;
        line-height: 20px;
        margin-bottom: 25px;
        z-index: 10;
        line-height: 30px;
        position: relative;
        letter-spacing: 2px;
    }
    .section_shop  .map_bun{
        width: fit-content;
        margin-bottom: 50px;
    }
    .section_shop .map_bun a{
        color: #fff;
        text-decoration: underline;
        font-size: 13px;
    }
}


@media (max-width: 780px) {
    footer{
        background: #141414;
        width: 90%;
        padding: 50px 5%;
        position: relative;
    }
    .footer_logo{
        width: 100px;
        margin-bottom: 40px;
    }
    .footer_link{
        /* display: flex; */
        gap: 10px;
    }
    .footer_link #tag{
        margin-bottom: 15px;
    }
    .footer_link a{
        color: #fff;
        font-size: 15px;
    }
    .footer_copy{
        width: fit-content;
        margin: 25px 0;
        font-size: 12px;
        color: #fff;
    }
}
@media (min-width: 781px) {
    footer{
        background: #141414;
        width: 90%;
        padding: 50px 5%;
        position: relative;
    }
    .footer_flex{
        display: flex;
        justify-content: space-between;
        align-items: center;
    }
    .footer_logo{
        width: 100px;
    }
    .footer_link{
        height: fit-content;
        display: flex;
        gap: 20px;
    }
    .footer_link a{
        color: #fff;
        font-size: 15px;
    }
    .footer_link #tag{
        margin-bottom: 10px;
    }
    .footer_copy{
        width: fit-content;
        margin: 25px auto;
        margin-bottom: 0px;
        font-size: 12px;
        color: #fff;
    }
}


@media (max-width: 780px) { 
    .img_banner_01{
        width: 100%;
        background-image: url("../../img/img_shop_07.png");
        background-position: center;
        background-size: cover;
        text-align: center;
    }
    .img_banner_01 img{
        width: 100%;
        height:  170px;
        object-fit: cover;
    }
    .img_banner_01 .yoyaku_title{
        color: #8b8b8b;
        font-size: 24px;
        height: 15px;
        padding: 70px 0 80px 0;
        letter-spacing: 2px;
    }
}
@media (min-width: 781px) { 
    .img_banner_01{
        width: 100%;
        background-image: url("../../img/img_shop_07.png");
        background-position: bottom;
        background-size: cover;
        text-align: center;
    }
    .img_banner_01 img{
        width: 100%;
        height: 500px;
        object-fit: cover;
    }
    .img_banner_01 .yoyaku_title{
        color: #8b8b8b;
        font-size: 24px;
        height: 15px;
        padding: 130px 0 120px 0;
        letter-spacing: 2px;
    }
}

@media (max-width: 780px) { 
    .cancel_btn{
        display: inline-block;
        cursor: pointer;
    }
    .cancel_box{
        font-size: 13px;
        color: #fff;
        display:none;
        line-height: 30px;
    }
}
@media (min-width: 781px) { 
    .cancel_btn{
        display: inline-block;
        cursor: pointer;
    }
    .cancel_box{
        font-size: 13px;
        color: #fff;
        display:none;
        line-height: 30px;
    }
}