@charset "UTF-8";
/*==============================================================================
1.ページタイトル・共通タイトル
2.カテゴリメニュー
3.メニューテンプレート
4.原産地情報
5.店舗情報
==============================================================================*/

/*============================================================================================================================================================
==============================================================================================================================================================

	1.ページタイトル・共通タイトル

==============================================================================================================================================================
============================================================================================================================================================*/
#title{
    background-image: url(../1_img/page-menu/title_sp.jpg);
}
@media all and (min-width: 769px) {
    #title{
        background-image: url(../1_img/page-menu/title_pc.jpg);
    }
}
.more-btn{
    margin-top: 20px;
    text-align: right;

    & a{
        padding-right: 25px;
        display: inline-block;
        position: relative;
        color: var(--color-font);
        font-weight: var(--weight-bold);

        &::after{
            content: "";
            width: 10px;
            height: 10px;
            position: absolute;
            top: 50%;
            right: 0;
            border-top: 2px solid var(--color-font);
            border-left: 2px solid var(--color-font);
            transform: translate(0, -50%) rotate(135deg);
        }
    }
}

@media all and (min-width: 768px){
    .more-btn{
        margin-top: 35px;

        & a{
            font-size: 1.8rem;

            &::after{
                width: 13px;
                height: 13px;
            }
        }
    }
}

/*============================================================================================================================================================
==============================================================================================================================================================

	2.カテゴリメニュー

==============================================================================================================================================================
============================================================================================================================================================*/
#category{

    & .inner{
        display: flex;
        flex-direction: column;
        gap: 25px 0;
    }

    & a{
        width: 100%;
        aspect-ratio: 3 / 2;
        display: block;
        position: relative;
        writing-mode: vertical-rl;
        text-orientation: upright;

        & .img-wrap{
            width: 100%;
            height: 100%;
            border-radius: 15px;
            overflow: hidden;
            box-shadow: 5px 5px 20px 0px rgb(96 96 96 / 0.4);

            & img{
                width: 100%;
                height: 100%;
                object-fit: cover;
                object-position: center;
            }
        }

        & .title{
            padding: 25px 0;
            width: 55px;
            height: 100%;
            display: flex;
            justify-content: start;
            align-items: center;
            position: absolute;
            top: -12px;
            left: unset;
            right: 10px;

                & span{
                    padding-bottom: 35px;
                    height: 100%;
                    display: inline-block;
                    position: relative;
                    font-size: 1.6rem;
                    font-family: var(--font-sub);
                    letter-spacing: 0.2em;
                    color: #fff;
                        
                    &::after{
                        content: "";
                        width: 10px;
                        height: 10px;
                        position: absolute;
                        bottom: 0;
                        left: 50%;
                        transform: translateX(-50%);
                        border-bottom: 2px solid #fff;
                        border-left: 2px solid #fff;
                        transform: translate(-50%, 0) rotate(-45deg);
                    }
                }

            &.seasonal{
                background-color: rgb(243 201 51 /0.8);
            }
            &.standard{
                background-color: rgb(243 152 0 /0.8);
            }
            &.other{
                background-color: rgb(96 76 63 /0.8);
            }
            &.bento{
                background-color: rgb(96 76 63 /0.8);
            }
        }
    }
}
/*===========================================================================================================================================================

	カテゴリメニュー PC

===========================================================================================================================================================*/
@media all and (min-width: 769px) {
    #category{
        & .inner{
            width: 1200px;
            flex-direction: row;
            flex-wrap: wrap;
            gap: 55px 30px;

            & a{
                width: calc( (100% - 30px) / 2 );
                aspect-ratio: 58 / 31;

                & .title{
                    padding: 35px 0 25px;
                    width: 85px;

                    & span{
                        font-size: 3rem;
                        
                        &::after{
                            width: 15px;
                            height: 15px;
                        }
                    }
                }
            }
        }
    }
}







/*============================================================================================================================================================
==============================================================================================================================================================

	3.メニューテンプレート

==============================================================================================================================================================
============================================================================================================================================================*/
.menu_wrap{
    margin-top: 0!important;
    
    & .inner{
        padding-top: 100px;
        padding-bottom: 100px;
        background-color: var(--color-accent);

        &.white{
            background-color: #fff;
        }
    }

    & h2{
        text-align: center;
        font-size: 2.2rem;
        font-family: var(--font-sub);

        & span{
            padding: 0 10px 5px;
            display: inline-block;
            position: relative;

            &::after {
                content: "";
                position: absolute;
                left: 0;
                bottom: 0;
                width: 100%;
                height: 5px;
                background: radial-gradient(circle at 2.5px 2.5px, var(--color-main) 0 2.5px, transparent 2.5px);
                background-size: 10px 5px;
                background-repeat: repeat-x;
            }
        }
    }

    & .intro{
        margin-top: 20px;
    }

    /* ポップアップがないやつ */
    & .menu-list{
        margin-top: 40px;
        display: flex;
        flex-direction: column;
        gap: 20px 0;

        & li{
            display: flex;
            flex-direction: column;
            position: relative;
            border-radius: 15px;
            overflow: hidden;
            background-color: #fff;
            box-shadow: 5px 5px 20px 0px rgb(96 96 96 / 0.4);

            & .img{
                aspect-ratio: 3 / 2;

                /* バッジ */
                & .badge{
                    padding: 0 10px;
                    position: absolute;
                    top: 5px;
                    left: 5px;
                    width: 50px;
                    aspect-ratio: 1 / 1;
                    display: flex;
                    align-items: center;
                    justify-content: center;
                    background-color: var(--color-main);
                    border-radius: 50%;
                    color: #fff;
                    line-height: 1.3;
                    font-size: 1.2rem;
                    font-weight: var(--weight-bold);
                    text-align: center;
                }

                & img{
                    width: 100%;
                    height: 100%;
                    object-position: center;
                    object-position: center;
                }
            }

            & .text{
                padding: 20px 15px 10px;
                display: flex;
                flex-direction: column;
                height: 100%;
                
                /* ========== タイトルと説明 ========== */
                & .title_desc{

                    /* タイトル */
                    & .title{
                        position: relative;
                        padding-bottom: 15px;
                        height: 2em;
                        font-size: 2rem;
                        font-weight: var(--weight-bold);
                        line-height: 1.4;

                        /*
                        &::after {
                            content: "";
                            position: absolute;
                            left: 0;
                            bottom: 0;
                            width: 100%;
                            height: 5px;
                            background: radial-gradient(circle at 2.5px 2.5px, #e6e6e6 0 2.5px, transparent 2.5px);
                            background-size: 10px 5px;
                            background-repeat: repeat-x;
                        }
                        */
                    }
                    /* 説明 */
                    & .desc{
                        margin-top: 10px;
                    }
                }
                /* ========== アレルギー・カロリーと価格 ========== */
                & .info_price{
                    
                    /* アレルギー・カロリー */
                    & .info{
                        margin-top: 10px;
                        position: relative;

                        & p{
                            & span{
                                font-weight: var(--weight-bold);
                            }
                        }
                    }

                    /* 価格 */
                    & .price{
                        margin-top: 10px;

                        & span{
                            margin-right: 5px;
                            font-size: 3rem;
                            font-weight: var(--weight-bold);
                        }
                    }

                }

            }
        }
    }

    /* ポップアップがあるやつ */
    & .menu-list.popup_on{
        display: flex;
        gap: 20px 10px;
        flex-wrap: wrap;
        flex-direction: row;

        & li{
            width: calc( (100% - 10px) / 2 );
            display: flex;
            flex-direction: column;
            background-color: #fff;
            box-shadow: 0px 2px 6px 2px rgb(96 96 96 / 0.2);
            cursor: pointer;
            
            & .text {
                display: flex;
                flex-direction: column;
                height: 100%;

                /* ========== タイトル ========== */
                & .title_desc{
                    & .title{
                        padding-bottom: 0;
                        font-size: 1.4rem;

                        &::after{
                            content: none;
                        }
                    }
                }

                /* ========== 価格とアレルギー・カロリーと説明 ========== */
                & .info_price{
                    margin-top: 10px;
                    
                    & .desc{
                        display: none;
                    }

                    /* 価格 */
                    & .price{
                        margin-top: 0;
                        font-size: 1rem;

                        & span{
                            font-size: 2rem;
                        }
                    }
                }
            }
        }
    }
    
    /* ========== 注意書き ========== */
    & .attention-wrap{
        margin-top: 30px;
        padding: 0 10px;

        & .top{
            & p + p{
                margin-top: 5px;
            }
        }

        & .bottom{
            margin-top: 35px;
            position: relative;

            & p{
                width: 100%;
                position: absolute;
                top: 0;
                left: 0;
                transform: translateY(-50%);
                text-align: center;

                & span{
                    background-color: var(--color-accent);
                    padding: 0 10px;
                    font-weight: var(--weight-bold);
                }
            }

            & ul{
                padding: 20px;
                border: 1px solid var(--color-font);
            }
        }
    }
}


/* ========== ポップアップのcss ========== */
    & .menu-popup{
        border-radius: 15px;
        box-shadow: 5px 5px 20px 0px rgb(96 96 96 / 0.4);

        & .img{
            aspect-ratio: 3 / 2;

            /* バッジ */
            & .badge{
                padding: 0 10px;
                position: absolute;
                top: 15px;
                left: 15px;
                width: 77px;
                aspect-ratio: 1 / 1;
                display: flex;
                align-items: center;
                justify-content: center;
                background-color: var(--color-main);
                border-radius: 50%;
                color: #fff;
                line-height: 1.3;
                font-size: 2rem;
                font-weight: var(--weight-bold);
                text-align: center;
            }

            & img{
                width: 100%;
                height: 100%;
                object-position: center;
                object-position: center;
            }
        }

        & .text{
            padding: 30px 20px 10px;
            display: flex;
            flex-direction: column;
                
            /* ========== タイトル ========== */
            & .title_desc{

                /* タイトル */
                & .title{
                    position: relative;
                    padding-bottom: 15px;
                    font-size: 2rem;
                    font-weight: var(--weight-bold);
                    color: var(--color-font);
                    line-height: 1.4;

                    & br{
                        display: none;
                    }
                }
            }
            /* ========== 価格とアレルギー・カロリーと説明 ========== */
            & .info_price{
                /* アレルギー・カロリー */
                & .info{
                    margin-top: 10px;
                    position: relative;

                    & p{
                        & span{
                            font-weight: var(--weight-bold);
                        }

                        & br{
                            display: none;
                        }
                    }
                }
                /* 説明 */
                & .desc{
                    margin-top: 10px;
                }

                /* 価格 */
                & .price{
                    & span{
                        margin-right: 5px;
                        font-size: 3rem;
                        font-weight: var(--weight-bold);
                    }
                }

            }

        }
    }

#seasonal.menu_wrap{
    margin-top: 50px!important;
}
#standard{
    & .inner{
        padding-bottom: 0!important;
    }
}
/*===========================================================================================================================================================

	メニューテンプレート PC

===========================================================================================================================================================*/
@media all and (min-width: 769px) {
    .menu_wrap{
        margin-top: 0!important;
        
        & .inner{
            width: 1200px;
            padding-left: 30px;
            padding-right: 30px;
            border-radius: 15px;
        }

        & h2{
            font-size: 3.8rem;
            line-height: 1.4;

            & span{
                padding: 0 20px 20px;
            }
        }

        & .intro{
            text-align: center;
        }

        /* ポップアップがないやつ */
        & .menu-list{
            margin-top: 50px;
            flex-direction: row;
            flex-wrap: wrap;
            gap: 30px;

            & li{
                width: calc( (100% - 60px) / 3 );

                & .img{
                    /* バッジ */
                    & .badge{
                        width: 77px;
                        top: 15px;
                        left: 15px;
                        font-size: 2rem;
                    }
                }

                & .text{
                    padding: 20px 30px 20px;
                    display: flex;
                    flex-direction: column;
                    
                    /* ========== タイトルと説明 ========== */
                    & .title_desc{

                        /* タイトル */
                        & .title{
                            padding-bottom: 15px;
                            height: 3.5em;
                            display: flex;
                            align-items: flex-start;
                            position: relative;
                            font-size: 2rem;
                            font-weight: var(--weight-bold);
                            line-height: 1.4;
                        }
                        /* 説明 */
                        & .desc{
                            margin-top: 10px;
                        }
                    }
                    /* ========== アレルギー・カロリーと価格 ========== */
                    & .info_price{
                        /* アレルギー・カロリー */
                        & .info{
                            position: relative;

                            & p{
                                & span{
                                    font-weight: var(--weight-bold);
                                }
                            }
                        }

                        /* 価格 */
                        & .price{
                            margin-top: 5px;

                            & span{
                                margin-right: 5px;
                                font-size: 3rem;
                                font-weight: var(--weight-bold);
                            }
                        }

                    }

                }
            }
        }
        
        /* ========== 注意書き ========== */
        & .attention-wrap{
            margin: 50px auto 0;
            width: 740px;
            padding: 0;

            & .top{
                & p + p{
                    margin-top: 5px;
                }
            }

            & .bottom{
                margin-top: 35px;
                position: relative;

                & p{
                    width: 100%;
                    position: absolute;
                    top: 0;
                    left: 0;
                    transform: translateY(-50%);
                    text-align: center;

                    & span{
                        background-color: var(--color-accent);
                        padding: 0 10px;
                        font-weight: var(--weight-bold);
                    }
                }

                & ul{
                    padding: 20px;
                    border: 1px solid var(--color-font);
                }
            }
        }
    }
    
    #seasonal.menu_wrap{
        margin-top: 90px!important;
    }
    #bento.menu_wrap{
        & .menu-list{
            justify-content: center;
        }
    }
}










/*============================================================================================================================================================
==============================================================================================================================================================

	4.原産地情報

==============================================================================================================================================================
============================================================================================================================================================*/
.origin{
    margin-top: 35px;
    text-align: center;

    & a{
        display: inline-block;
        padding: 0 10px 15px;
        position: relative;
        color: var(--color-font);
        font-weight: var(--weight-bold);

        & img{
            margin-left: 10px;
        }

        &::after {
            content: "";
            position: absolute;
            left: 0;
            bottom: 0;
            width: 100%;
            height: 5px;
            background: radial-gradient(circle at 2.5px 2.5px, var(--color-font) 0 2.5px, transparent 2.5px);
            background-size: 10px 5px;
            background-repeat: repeat-x;
        }
    }
}
/*===========================================================================================================================================================

	原産地情報 PC

===========================================================================================================================================================*/
@media all and (min-width: 769px) {
    .origin{
        margin-top: 60px;

        & a{
            font-size: 1.8rem;
        }
    }
}









/*============================================================================================================================================================
==============================================================================================================================================================

	5.shop 店舗情報

==============================================================================================================================================================
============================================================================================================================================================*/
#shop{
    margin-top: 0;
    padding-top: 60px;

    & .intro{
        & p{
            margin-top: 40px;
            text-align: center;
        }
    }

    /* ==================== 店舗一覧 ==================== */
    & .shop-list{
        margin-top: 45px;
        display: flex;
        flex-wrap: wrap;
        gap: 5px;

        & dl{
            width: calc( (100% - 5px) / 2 );
            display: flex;
            flex-wrap: wrap;

            &.sp-100{
                width: 100%;
                gap: 5px;

                & dd{
                    width: calc( (100% - 5px) / 2 );
                }
            }
            & dt{
                margin-bottom: 5px;
                padding-left: 10px;
                width: 100%;

                & span{
                    min-width: 55px;
                    padding: 5px 0 7px; 
                    display: inline-block;
                    background-color: var(--color-font);
                    color: #fff;
                    text-align: center;
                    line-height: 1;
                }
            }
            & dd{
                width: 100%;

                & a{
                    padding: 10px 30px 10px 25px;
                    min-height: 65px;
                    position: relative;
                    display: flex;
                    align-items: center;
                    justify-content: left;
                    border-radius: 15px;
                    background-color: var(--color-accent);
                    color: var(--col-font);
                    font-weight: var(--weight-bold);

                    &::after{
                        content: "";
                        width: 10px;
                        height: 10px;
                        position: absolute;
                        top: 50%;
                        right: 20px;
                        border-top: 2px solid var(--color-font);
                        border-left: 2px solid var(--color-font);
                        transform: translate(0, -50%) rotate(135deg);
                    }
                }
            }
        }
    }

}
/*==============================================================================

	店舗情報 PC

==============================================================================*/
@media all and (min-width: 768px){
    #shop{
        margin-top: 0;
        padding-top: 125px;
        
        & .intro{
            & .intro-img{
                border-radius: 0;
            }
            & p{
                margin-top: 55px;
                font-size: 1.6rem;
            }
        }

        /* ==================== 店舗一覧 ==================== */
        & .shop-list{
            margin-top: 65px;
            gap: 15px 5px;

            & dl{
                width: calc( (100% - 15px) / 4 );
                display: flex;
                flex-wrap: wrap;

                &.pc-50{
                    width: calc( (100% - 5px) / 2 );
                    gap: 5px;

                    & dd{
                        width: calc( (100% - 5px) / 2 );
                    }
                }

                &.pc-100{
                    width: 100%;
                    gap: 5px;

                    & dd{
                        width: calc( (100% - 15px) / 4 );
                    }
                }
                & dt{
                    padding-left: 0;
                }
            }
        }

    }
}