@charset "UTF-8";

/*============================
    menu__kv
============================*/


.menu__mv {
    & img {
        width: 100%;
    }
}

.menu__copy {
    position: absolute;
    width: fit-content;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 99;

    .txt {
        white-space: nowrap;
        color: #fff;
        font-size: 8rem;
        letter-spacing: 0;
        text-shadow: 0 0 6px rgba(0, 0, 0, .06);
    }
}


.menu__kv .slide-in-active,
.menu__kv .slide-inner.active {
    animation-delay: .5s;
}

@media screen and (max-width:1024px) {

    .menu__copy {
        top: 50%;
        left: 50%;

        .txt {
            font-size: 6rem;
        }
    }

}

@media screen and (max-width:767px) {
    .menu__mv {
        & img {
            object-fit: cover;
            width: 100%;
            min-height: 300px;
        }
    }

    .menu__copy {
        top: 50%;
        left: 50%;

        .txt {
            font-size: 4rem;
        }
    }

}


/*============================
 menu__contents
============================*/
.menu__contents {
    padding: 80px 0;
}

.menu__items {
    margin-bottom: 30px;
}

.menu__item {
    width: 32%;
    max-width: 380px;
    position: relative;

    display: block;
    height: 100%;

    &:hover {
        opacity: 1;
    }
}

.menu__item--img {
    border-radius: 20px;
}

.menu__h4 {
    left: 0;
    width: 100%;
    bottom: 0;
    color: #fff;
    padding: 0 .5em .3em;
    letter-spacing: 0;
    white-space: nowrap;
    font-size: min(3.2rem, 2.6vw);
    display: flex;
    justify-content: space-between;
    align-items: center;
    transition: .3s;

    &::after {
        content: "";
        position: relative;
        width: 32px;
        height: 32px;
        transition: .3s;
        background: url(../img/top/menu_arw.png) no-repeat center center/contain;
    }
}

.menu__item:hover {
    .menu__h4 {

        &::after {
            background: url(../img/top/menu_arw_wh.png) no-repeat center center/contain;
        }

    }


}

.menu__links {
    & a {
        display: block;
        width: 48%;
        max-width: 587px;
    }
}

@media screen and (max-width:1024px) {
    .menu__contents {
        padding: 80px 0;
    }

    .menu__items {
        margin-bottom: 30px;
    }

    .menu__item {
        width: 32%;
    }

    .menu__item--img {
        border-radius: 16px;
    }

    .menu__h4 {
        padding: 0 .5em .3em;
        font-size: min(3.2rem, 2.6vw);

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

    .menu__links {
        & a {
            width: 48%;
        }
    }

}

@media screen and (max-width:767px) {
    .menu__contents {
        padding: 60px 0;
    }

    .menu__items {
        margin-bottom: 20px;
    }

    .menu__item {
        width: 100%;
        margin: 0 auto 20px;

        &:last-child {
            margin-bottom: 0;
        }
    }

    .menu__item--img {
        border-radius: 20px;
    }

    .menu__h4 {
        padding: 0 .5em .3em;
        font-size: 3rem;

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

    .menu__links {
        & a {
            width: 100%;
            margin: 0 auto 15px;

            &:last-child {
                margin-bottom: 0;
            }
        }
    }

}

/*============================
 season
============================*/
.season {
    padding: 100px 0;
    background: url(../img/cmn/bg_check.png) no-repeat center center/cover;
    z-index: 9;
}

.sea__box {
    & a {
        display: block;
        width: 100%;
        height: 100%;
        padding: 20px 5%;
        background:
            url(../img/top/season_boxbg.png) no-repeat center center/85%,
            rgba(0, 0, 0, .1);
        border-radius: 25px;
        display: flex;
        justify-content: space-between;
        align-items: center;
    }

}

.sera__flex {
    width: 100%;
    max-width: 1000px;
    margin: 0 auto;
}

.sea__ttl {
    max-width: 369px;
    width: 59%;
}

.sea__img {
    max-width: 600px;
    width: 100%;
}



@media screen and (max-width:1024px) {
    .season {
        padding: 80px 0;
    }

    .sea__box {
        & a {
            padding: 20px 5%;
            border-radius: 20px;
            background:
                rgba(0, 0, 0, .1);
        }

    }

    .sera__flex {
        width: 100%;
        margin: 0 auto;
    }

    .sea__ttl {
        width: 50%;
    }

    .sea__img {
        width: 45%;
    }
}

@media screen and (max-width:767px) {
    .season {
        padding: 60px 0;
    }

    .sea__box {
        & a {
            padding: 20px 5%;
            border-radius: 20px;
        }

    }

    .sera__flex {
        width: 100%;
        margin: 0 auto;
    }

    .sea__ttl {
        width: 100%;
        max-width: 280px;
        margin: 0 auto 20px;
    }

    .sea__img {
        width: 100%;
        max-width: 280px;
        margin: 0 auto;
    }
}


/* grandmenu__page */

/*============================
 gmanu__kv
============================*/
.gmkv__left {
    width: 50%;
    padding: 10% 0 0 1%;
}

.gmkv__txtwrap {
    max-width: 600px;
    padding: 0 15% 0 0;
    margin: 0 0 0 auto;
}

.gmkv__img {
    width: 55%;
    margin-left: -5%;

    & img {
        width: 100%;
        object-fit: cover;
        height: 528px;
    }
}

.gmkv__copy {
    margin-bottom: 1em;

    .txt {
        white-space: nowrap;
        letter-spacing: 0;
        display: flex;
        align-items: center;
        font-weight: bold;
        font-size: min(5.4rem, 4.4vw);
    }

    & img {
        max-width: 24px;
        margin: .2em .2em 0 0;
    }
}



@media screen and (max-width:1024px) {
    .gmkv__left {
        width: 50%;
        padding: 15% 0 0 3%;
    }

    .gmkv__txtwrap {
        padding: 0 15% 0 0;
        margin: 0 0 0 auto;
    }

    .gmkv__img {
        width: 55%;
        margin-left: -5%;

        & img {
            height: 400px;
        }
    }

    .gmkv__copy {
        margin-bottom: 1em;

        .txt {
            font-size: min(5.4rem, 4.4vw);
        }

        & img {
            max-width: 20px;
            margin: .2em .2em 0 0;
        }
    }

    .gmkv__lead {
        font-size: 1.3rem;
    }

}

@media screen and (max-width:767px) {
    .gmkv__flex {
        display: flex;
        flex-direction: column-reverse;
    }

    .gmkv__left {
        width: 100%;
        padding: 30px 5% 0;
    }

    .gmkv__txtwrap {
        padding: 0;
        margin: 0;
    }

    .gmkv__img {
        width: 100%;
        margin: 0;

        & img {
            height: 300px;
        }
    }

    .gmkv__copy {
        margin-bottom: 1em;

        .txt {
            font-size: 3rem;
        }

        & img {
            max-width: 20px;
            margin: .2em .2em 0 0;
        }
    }

    .gmkv__lead {
        font-size: 1.4rem;
    }
}


/*============================
 gmanu__kv
============================*/
.g-manu__contents {
    padding: 80px 0 120px;
}

.gmc__pagelinks {
    & li {
        width: fit-content;
        min-width: 12em;
        margin: 0 5px;

        & a {
            display: flex;
            align-items: center;
            justify-content: center;
            width: 100%;
            height: 100%;
            white-space: nowrap;
            background: #BA0200;
            border-radius: 1em;
            line-height: 2;
            font-weight: bold;
            color: #fff;
            position: relative;
        }

        & i {
            position: absolute;
            top: 50%;
            right: 5%;
            transform: translate(0, -50%);
        }
    }
}

.gmc__item {
    margin-bottom: 100px;
}

.gmc__atcwrap {
    width: 102%;
    margin-left: -1%;
    justify-content: flex-start;
}

.gmc__atc {
    width: 23%;
    margin: 0 1% 40px;
    position: relative;
}

.gmc__img {
    border-radius: 16px;

    & img {
        width: 100%;
    }
}

.gmc__h3 {
    margin-top: .5em;
}

.gmc__txt {
    min-height: 1.6em;
}

.gmc__prices {
    width: 100%;
    margin-top: .5em;
    padding-top: .5em;
    border-top: solid 1px #707070;
}

.gmc__price {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    white-space: nowrap;

    .price {
        display: flex;
        align-items: baseline;
        margin-bottom: .5em;

        & span {
            line-height: 1;
        }

        .fs-20 {
            display: block;
            text-align: right;
            min-width: 3.5em;
            line-height: 1;
        }

        &:last-child {
            margin-bottom: 0;
        }
    }
}


/* popup */
.modaal-container {
    max-width: 1200px;
    border-radius: 20px;
}

.js-modaal-close {
    max-width: 40px;
    top: 0;
    right: 0;
    cursor: pointer;
}

.pop__img {
    width: 50%;

    & img {
        object-fit: cover;
        width: 100%;
        height: 100%;
        aspect-ratio: 550/380;
        border-radius: 20px;
    }
}

.pop__info {
    width: 47%;
}

.pop__prices {
    padding-top: .5em;
    margin-top: .5em;
    border-top: solid 1px #707070;
}

.pop__price {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    white-space: nowrap;

    .price {
        display: flex;
        align-items: baseline;
        margin-bottom: .5em;

        & span {
            line-height: 1;
        }

        .fs-32 {
            display: block;
            text-align: right;
            min-width: 3.5em;
            line-height: 1;
        }

        &:last-child {
            margin-bottom: 0;
        }
    }
}

.pop__infobox {
    padding: 20px 0;
    background: #F4F4F4;
    border-radius: 20px;
}

.pop__box--item {
    width: 50%;
    border-right: solid 1px #707070;
    padding: 0 5%;
    white-space: nowrap;

    &:last-child {
        border: none;
    }
}

.pop__tbl {
    display: flex;
    flex-wrap: wrap;

    & li {
        width: 46px;
        border: solid 1px #F1EAE0;
    }
}

.pop__th {
    text-align: center;
    background: #FFC59A;
    font-size: 1rem;
    height: 3em;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1.1;
    border-bottom: solid 1px #F1EAE0;
}

.pop__td {
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
    height: 3em;
    font-size: 1rem;
}

.pop__all--item:nth-child(2) {
    .pop__th {
        background: #FF9A9A;
    }

}

.pop__link {
    text-decoration: underline;
    margin: 1em 0 0 auto;
    width: fit-content;
    display: block;

}

@media screen and (max-width:1024px) {
    .g-manu__contents {
        padding: 60px 0 80px;
    }

    .gmc__pagelinks {
        & li {
            min-width: 11em;
            margin: 0 5px;
        }
    }

    .gmc__item {
        margin-bottom: 60px;
    }

    .gmc__atcwrap {
        width: 102%;
        margin-left: -1%;
    }

    .gmc__atc {
        width: 31.33%;
        margin: 0 1% 30px;
    }

    .gmc__img {
        border-radius: 10px;

        & img {
            border-radius: 10px;
        }
    }

    .gmc__h3 {
        margin-top: .5em;
    }

    .gmc__txt {
        min-height: 1.6em;
    }

    .gmc__prices {
        margin-top: .5em;
        padding-top: .5em;
    }

    .gmc__price {

        .price {
            margin-bottom: .5em;

            .fs-20 {
                min-width: 3.5em;
            }

        }
    }


    /* popup */
    .modaal-container {
        border-radius: 10px;
    }

    .js-modaal-close {
        max-width: 30px;
        top: 0;
        right: 0;
    }

    .pop__img {
        width: 50%;
    }

    .pop__info {
        width: 47%;
    }

    .pop__prices {
        padding-top: .5em;
        margin-top: .5em;
    }

    .pop__price {
        .price {
            margin-bottom: .5em;

            .fs-32 {
                min-width: 3.5em;
            }
        }
    }

    .pop__infobox {
        padding: 10px 0;
        border-radius: 10px;
    }

    .pop__box--item {
        width: 50%;
        border-right: solid 1px #707070;
        padding: 0 5%;

    }

    .pop__tbl {

        & li {
            width: 46px;
        }
    }

    .pop__th {
        height: 3em;
    }

    .pop__td {
        height: 3em;
    }

    .pop__link {
        margin: 1em 0 0 auto;
    }
}

@media screen and (max-width:767px) {
    .g-manu__contents {
        padding: 40px 0 60px;
    }

    .gmc__pagelinks {
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;

        & li {
            width: 48%;
            min-width: auto;
            margin: 5px 0;
        }
    }

    .gmc__item {
        margin-bottom: 60px;
    }

    .gmc__atcwrap {
        width: 100%;
        margin-left: 0;
    }

    .gmc__atc {
        width: 100%;
        /* max-width: 300px; */
        margin: 0 auto 30px;
    }

    .gmc__img {
        border-radius: 10px;

    }

    .gmc__h3 {
        margin-top: .5em;
        font-size: 1.8rem;
    }

    .gmc__txt {
        min-height: auto;
    }

    .gmc__prices {
        margin-top: .5em;
        padding-top: .5em;
    }

    .gmc__price {

        .price {
            margin-bottom: .5em;

            .fs-20 {
                font-size: 2rem;
                min-width: 3.5em;
            }

        }
    }


    /* popup */
    .modaal-container {
        border-radius: 10px;
    }

    .modaal-content-container {
        padding: 40px 5%;
    }

    .js-modaal-close {
        max-width: 30px;
        top: -30px;
        right: -10px;
    }

    .pop__img {
        width: 100%;
        margin-bottom: 10px;
    }

    .pop__info {
        width: 100%;
    }

    .pop__prices {
        padding-top: .5em;
        margin-top: .5em;
    }

    .pop__price {
        .price {
            margin-bottom: .5em;

            .fs-32 {
                font-size: 2rem;
                min-width: 3.5em;
            }
        }
    }

    .pop__infobox {
        padding: 0 5%;
        border-radius: 10px;
    }

    .pop__box--item {
        width: 100%;
        border: none;
        border-bottom: solid 1px #707070;
        padding: 1em 0;

    }

    .pop__tbl {
        & li {
            width: 46px;
        }
    }

    .pop__th {
        height: 3em;
    }

    .pop__td {
        height: 3em;
    }

    .pop__link {
        margin: 1em 0 0 auto;
    }
}