@charset "utf-8";

/*===========================================================
冒頭
===========================================================*/

.intro-wrapper {
    padding: 13.5rem 0 0;
}

.intro-inner {
    max-width: 145rem;
    width: 100%;
    padding: 0 1.5rem;
    margin: auto;
}

.intro-btn-group {
    max-width: 72rem;
    width: 100%;
    display: grid;
    grid-template-columns: repeat(2,1fr);
    gap: 6rem;
    margin: auto;
}

/*===========================================================
ランチ
===========================================================*/

.lunch-wrapper {
    padding: 15rem 0 0;
}

.lunch-inner {
    max-width: 145rem;
    width: 100%;
    padding: 0 1.5rem;
    margin: auto;
}

.lunch-title-deco01 {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1.5rem;
}

.lunch-title-deco01:before, .lunch-title-deco01:after {
    content: "";
    display: block;
    max-width: 28.5rem;
    height: 1rem;
    flex: 1;
    background: url(../../../../uploads/title_decoration04.png) no-repeat center / cover;
    margin: 5rem 0 0;
}

.lunch-main-title strong {
    font-size: 1.5em;
    font-family: var(--font-family03);
    font-weight: bold;
    letter-spacing: 0.05em;
    line-height: 1.16em;
}

.lunch-main-title {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
}

.lunch-main-title.pc {
    display: block;
    width: 45.3%;
}

.lunch-main-title.sp {
    display: none;
}

.lunch-lead-text {
    margin: 4rem 0 0;
}

.pickup-group {
    max-width: 122rem;
    margin: 10rem auto 0;
}

.pickup-area {
    display: flex;
    justify-content: space-between;
}

.pickup-area:not(:first-child) {
    margin: 11.8rem 0 0;
}

.pickup-area-reverse {
    flex-direction: row-reverse;
}

.pickup-img-block {
    max-width: 50rem;
    width: 40.98%;
    padding: 5rem 0 0;
    position: relative;
}

.pickup-label {
    font-weight: 500;
    letter-spacing: 0.17em;
    line-height: 1em;
    writing-mode: vertical-rl;
    text-orientation: upright;
    padding: 1rem 0.5rem 0.5rem;
    background: var(--bg-primary);
    color: var(--white);
    position: absolute;
    top: 0;
    left: 3rem;
}

.pickup-text-block {
    max-width: 61rem;
    width: 50%;
    padding: 5rem 0 0;
}

.pickup-head {
    display: flex;
    flex-direction: column;
    gap: 3rem;
}

.pickup-catch {
    display: flex;
    align-items: center;
    gap: 2rem;
    line-height: 1.44em;
    color: #584632;
}

.pickup-catch:before, .pickup-catch:after {
    content: "";
    display: block;
    max-width: 2.7rem;
    width: 100%;
    height: 3.2rem;
}

.pickup-catch:before {
    background: url(../../../../uploads/lunch_title_decoration02_left.png) no-repeat center / contain;
}

.pickup-catch:after {
    background: url(../../../../uploads/lunch_title_decoration02_right.png) no-repeat center / contain;
}

.pickup-title-box {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 1.5rem;
    padding: 0 0 1.8rem;
    position: relative;
    color: #584632;
}

.pickup-title {
    flex: 1;
    font-size: 3.5rem;
    font-weight: normal;
    font-family: var(--font-family02);
    letter-spacing: 0.05em;
    line-height: 1.45em;
}

.pickup-title-box:before {
    content: "";
    display: block;
    width: 100%;
    height: 0.3rem;
    background: url(../../../../uploads/title_decoration03.png) no-repeat center / cover;
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
}

.pickup-price {
    font-size: 1.87em;
    font-weight: normal;
    font-family: var(--font-family02);
    letter-spacing: 0.05em;
    line-height: 1.46em;
    text-align: right;
}

.pickup-body {
    display: flex;
    flex-direction: column;
    gap: 3rem;
    letter-spacing: 0.05em;
    line-height: 2.187em;
    margin: 3rem 0 0;
}

.pickup-detail-title {
    display: flex;
    align-items: baseline;
    font-size: 1.25em;
    font-weight: bold;
    letter-spacing: 0.05em;
    line-height: 1.45em;
    color: #3D3125;
    gap: 1rem;
}

.pickup-detail-title:before {
    content: "";
    display: block;
    max-width: 1.3rem;
    width: 100%;
    height: 1.3rem;
    background: #3D3125;
}

.pickup-detail-text {
    margin: 1rem 0 0;
}

.pickup-btn {
    margin: 6.5rem auto 0;
}

/* ----- モーダル ----- */

.modal {
    display: none;
}

.menu-frame {
    max-width: 142rem;
    width: 100%;
    background: url(../../../../uploads/bg_lunch01.jpg) no-repeat center top / cover;
    color: var(--base-font-color);
    padding: 6.5rem 1.5rem 9rem;
    margin: auto;
}

.menu-header-notice {
    font-size: 0.93em;
    letter-spacing: 0.05em;
    line-height: 1.4em;
    margin: 1rem 0 0;
}

.menu-lead {
    max-width: 83rem;
    width: 100%;
    margin: 4rem auto 0;
}

.menu-lead-list {
    display: flex;
    flex-wrap: wrap;
    gap: 2rem;
    font-size: 1.25em;
    font-weight: 600;
    letter-spacing: 0.05em;
    line-height: 1.45em;
    border: solid 1px #1C1D56;
    padding: 1.8rem 3.4rem;
    margin: 1.2rem 0 0;
}

.menu-lead-item:not(:last-child):after {
    content: "/";
    margin: 0 0 0 2rem;
}

.menu-list {
    max-width: 122rem;
    width: 100%;
    display: grid;
    margin: 7rem auto 0;
}

.menu-list-2col {
    grid-template-columns: repeat(2,1fr);
    gap: 6rem;
}

.menu-item {
    padding-bottom: 1rem;
    border-bottom: dashed 0.1rem;
}

.menu-item-title mark {
    font-size: 1.6rem;
}

.menu-item-price {
    font-size: 1.25em;
    text-align: right;
}

.menu-item-discription {
    letter-spacing: 0.05em;
    line-height: 1.43em;
    margin: 1rem 0 0;
}

.menu-item-price-box {
    display: flex;
    align-items: baseline;
    justify-content: flex-end;
    gap: 2rem;
    margin: 1rem 0 0;
}

.menu-item-label {
    font-size: 1.125em;
    letter-spacing: 0.05em;
    line-height: 1.44em;
    color: #fff;
    background: #574E44;
    padding: 0.3rem 0.7rem 0.2rem;
}

/*===========================================================
ご慶事
===========================================================*/

.celebration-wrapper {
    padding: 15rem 0 7rem;
}

.celebration-inner {
    background: rgb(255 255 255 / 50%);
    padding: 9.2rem 1.5rem 15.4rem;
    position: relative;
    overflow: hidden;
}

.celebration-inner:before {
    content: "";
    display: block;
    width: 100%;
    height: 3.8rem;
    background: url(../../../../uploads/celebration_decoration01.png) no-repeat center / cover;
    margin: auto;
    position: absolute;
    top: 3.5rem;
    left: 0;
    right: 0;
}

.celebration-inner:after {
    content: "";
    display: block;
    width: 100%;
    height: 0.4rem;
    background: #C74C4C;
    margin: auto;
    position: absolute;
    left: 0;
    right: 0;
    bottom: 6rem;
}

.celebration-deco {
    max-width: 18rem;
    width: 100%;
    margin: auto;
    position: absolute;
}

.celebration-deco01 {
    top: 12.2rem;
    left: 6.9rem;
}

.celebration-deco02 {
    top: 61.8rem;
    right: -0.6rem;
}

.celebration-deco03 {
    left: 45.5rem;
    bottom: 36.6rem;
}

.celebration-frame {
    max-width: 142rem;
    width: 100%;
    margin: auto;
    position: relative;
}

.celebration-lead {
    max-width: 80rem;
    width: 100%;
    margin: 4rem auto 0;
}

.celebration-lead-text {
    margin: 3rem 0 0;
}

.celebration-img-area {
    text-align: center;
    margin: 5rem 0 0;
}

.celebration-notice {
    font-size: 0.93em;
    font-weight: normal;
    letter-spacing: 0.05em;
    line-height: 1.4em;
    margin: 5rem 0 0;
}

.celebration-list {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 2.8rem;
    margin: 4rem 0 0;
}

.celebration-item {
    background: #E9E1CC;
    padding: 4.5rem 4rem 10rem;
}

.celebration-price {
    font-size: 2.5rem;
    font-weight: normal;
    letter-spacing: 0.05em;
    line-height: 1.44em;
    margin: 2rem 0 0;
}

.celebration-description {
    font-weight: 600;
    letter-spacing: 0.05em;
    line-height: 1.5em;
    margin: 3rem 0 0;
}


/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
@media screen and (width <= 1920px) {
/*===========================================================

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

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
@media screen and (width <= 1920px) {
/*===========================================================

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

    .celebration-lead {
        max-width: 82rem;
    }

}

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */ 
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
@media screen and (width <= 1024px) {
/*===========================================================

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

    .lunch-main-title.pc {
        width: 60%;
    }

    .pickup-title {
        font-size: 3.2rem;
    }

}

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */ 
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
@media screen and (width <= 768px) {
    
    /*===========================================================
    冒頭
    ===========================================================*/
    
    .intro-wrapper {
        padding: 8rem 0 0;
    }
    
    .intro-btn-group {
        max-width: 69rem;
        gap: 3rem;
    }
    
    /*===========================================================
    ランチ
    ===========================================================*/

    .lunch-main-title.pc {
        display: none;
    }

    .lunch-main-title.sp {
        display: block;
        width: 66%;
    }
    
    .lunch-wrapper {
        padding: 10rem 0 0;
    }

    .lunch-main-title strong {
        font-size: 1.2em;
    }
        
    .lunch-lead-text {
        margin: 2rem 0 0;
    }
    
    .pickup-group {
        margin: 6rem 0 0;
    }
    
    .pickup-area:not(:first-child) {
        margin: 8rem 0 0;
    }
    
    .pickup-area {
        display: block;
    }
    
    .pickup-img-block {
        max-width: 100%;
        width: 100%;
        padding: 3rem 0 0;
    }
    
    .pickup-text-block {
        max-width: 100%;
        width: 100%;
        padding: 3rem 0 0;
    }
    
    .pickup-head {
        gap: 1.5rem;
    }
    
    .pickup-title-box {
        gap: 1rem;
        padding: 0 0 1rem;
    }
    
    .pickup-body {
        gap: 1.5rem;
        margin: 2rem 0 0;
    }
    
    .pickup-btn {
        margin: 4rem auto 0;
    }
    
    /* ----- モーダル ----- */
    
    .menu-frame {
        padding: 4rem 1.5rem 5rem;
    }
    
    .menu-lead {
        margin: 2rem auto 0;
    }
    
    .menu-lead-list {
        gap: 1rem;
        padding: 1.5rem;
    }
    
    .menu-lead-item:not(:last-child):after {
        margin: 0 0 0 1rem;
    }
    
    .menu-list {
        margin: 5rem auto 0;
    }
    
    .menu-list-2col {
        grid-template-columns: repeat(1,1fr);
        gap: 4rem;
    }
    
    .menu-item-price-box {
        gap: 1rem;
    }
    
    .menu-item-label {
        font-size: 1.125em;
    }
    
    /*===========================================================
    ご慶事
    ===========================================================*/
    
    .celebration-wrapper {
        padding: 10rem 0 3rem;
    }
    
    .celebration-inner {
        padding: 6rem 1.5rem 10rem;
    }
    
    .celebration-inner:before {
        top: 1.5rem;
    }
    
    .celebration-inner:after {
        bottom: 3rem;
    }
    
    .celebration-deco {
        max-width: 10rem;
    }
    
    .celebration-deco01 {
        top: 4rem;
        left: 2rem;
    }
    
    .celebration-deco02 {
        top: 20rem;
        right: -0.2rem;
    }
    
    .celebration-deco03 {
        left: 14rem;
        bottom: 10rem;
    }
    
    .celebration-lead {
        margin: 2rem auto 0;
    }
    
    .celebration-lead-text {
        margin: 1.5rem 0 0;
    }
    
    .celebration-img-area {
        margin: 3rem 0 0;
    }
    
    .celebration-notice {
        margin: 3rem 0 0;
    }
    
    .celebration-list {
        grid-template-columns: repeat(1,1fr);
        gap: 2rem;
        margin: 2rem 0 0;
    }
    
    .celebration-item {
        padding: 3rem 2rem 5rem;
    }
    
    .celebration-price {
        font-size: 2rem;
        margin: 1rem 0 0;
    }
    
    .celebration-description {
        text-align: center;
        margin: 2rem 0 0;
    }

}
    
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */ 
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
@media screen and (width <= 576px) {

    /*===========================================================
    冒頭
    ===========================================================*/

    .intro-btn-group {
        grid-template-columns: repeat(1,1fr);
        gap: 1.5rem;
    }
    
    .intro-btn {
        margin: auto;
    }

    /*===========================================================
    ランチ
    ===========================================================*/
    
    .lunch-title-deco01 {
        flex-direction: column;
    }
    
    .lunch-title-deco01:before, .lunch-title-deco01:after {
        display: none;
    }
    
    .pickup-title-box {
        flex-direction: column;
    }
    
    .pickup-price {
        width: 100%;
    }
    
    .pickup-catch:before, .pickup-catch:after {
        max-width: 1.5rem;
        height: 2rem;
    }
    
    .pickup-catch {
        justify-content: center;
        text-align: center;
    }
    
    .pickup-label {
        left: 1.5rem;
    }
    
    .pickup-title {
        font-size: 2.5rem;
    }

}

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */ 
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
@media screen and (width <= 414px) {
/*===========================================================

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

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */ 
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ *