@charset "UTF-8";

/* swiper */
.content-slide {
    position: relative;
    margin-bottom: 100px;

    @media screen and (max-width:767px) {
        margin-bottom: 40px;
        margin-left: calc(-50vw + 50%);
        margin-right: calc(-50vw + 50%);
    }
}

.swiper {
    width: 100%;
    height: 100%;
    max-width: 1650px;
}

.mySwiper {
    .swiper-slide {
        text-align: center;
        font-size: 18px;
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .swiper-slide img {
        width: 100%;
        /* display: block;
        max-width: 527px;
        height: 100%;
        object-fit: cover;
        aspect-ratio: 527/720;
        height: auto; */
    }
}

.content-slide-02 {
    position: relative;
    margin-bottom: 90px;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    max-width: 100vw;
    padding-inline: 60px;

    @media screen and (max-width:767px) {
        margin-bottom: 40px;
        padding-inline: 0;
    }
}

.mySwiper-02 {
    .swiper-slide img {
        width: 100%;
        /* display: block;
        max-width: 386px;
        height: 100%;
        object-fit: cover;
        aspect-ratio: 386/482;
        height: auto; */
    }
}

/* スライド矢印のカスタマイズ */
/*


/* 矢印画像の高さと幅 */
.content-slide {
    .slide-wrap {
        position: relative;
        max-width: 1650px;
        width: 100%;

        .swiper-button-prev,
        .swiper-button-next {
            height: 60px;
            width: 60px;
        }

        /* 矢印を消して画像に変更する */
        .swiper-button-prev::after,
        .swiper-button-next::after {
            content: "";
            position: absolute;
            background-repeat: no-repeat;
            background-size: contain;
            height: 70px;
            width: 35px;
            margin: auto;
        }

        /* 前に戻る矢印の画像パスと表示位置 */
        .swiper-button-prev::after {
            background-image: url(../img/prev-swiper-01.png);
            left: -20px;
            transform: translateX(-20px);

            @media screen and (max-width:767px) {
                width: 15px;
                left: 16vw;
            }
        }

        /* 次に進む矢印の画像パスと表示位置 */
        .swiper-button-next::after {
            background-image: url(../img/next-swiper-01.png);
            right: -20px;
            transform: translateX(20px);

            @media screen and (max-width:767px) {
                width: 15px;
                right: 16vw;
            }
        }
    }
}

.content-slide-02 {
    .slide-wrap {
        position: relative;
        max-width: 1650px;
        width: 100%;

        .swiper-button-prev,
        .swiper-button-next {
            height: 60px;
            width: 60px;
        }

        /* 矢印を消して画像に変更する */
        .swiper-button-prev::after,
        .swiper-button-next::after {
            content: "";
            position: absolute;
            background-repeat: no-repeat;
            background-size: contain;
            height: 70px;
            width: 35px;
            margin: auto;
        }

        /* 前に戻る矢印の画像パスと表示位置 */
        .swiper-button-prev::after {
            background-image: url(../img/prev-swiper-02.png);
            left: -20px;
            transform: translateX(-20px);

            @media screen and (max-width:767px) {
                width: 15px;
                left: 16vw;
            }
        }

        /* 次に進む矢印の画像パスと表示位置 */
        .swiper-button-next::after {
            background-image: url(../img/next-swiper-02.png);
            right: -20px;
            transform: translateX(20px);

            @media screen and (max-width:767px) {
                width: 15px;
                right: 16vw;
            }
        }
    }
}

/* swiper ここまで*/

html {
    scroll-padding-top: 200px;
    scroll-behavior: smooth;
    position: relative;
    height: 100%;
    overflow-x: hidden;
}

img {
    display: block;
    max-width: 100%;

    &.mw-1920 {
        max-width: 1920px;
    }
}

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

.bg-yellow {
    background-color: #faf9cb !important;
}

.bg-pink-img {
    background: url("../img/bg-pink.png") center/contain !important;
    width: 100vw !important;

    img {
        margin: 0 auto;
    }
}

.last {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

.container {
    background: #f8eeec;
    width: 100%;
    padding-inline: 80px;
    box-sizing: border-box;

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

.content {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.content-wrap {
    max-width: 1480px;
    width: 100%;
    margin-inline: auto;
    background: #fff;
    padding-bottom: 100px;
    padding-inline: 20px;

    @media screen and (max-width:767px) {
        padding-bottom: 60px;

        &.bg-white {
            padding-bottom: 10px;
        }
    }

    &.bg-pink-img {
        max-width: 100vw;
        padding-bottom: 0;
        margin-inline: initial;
        padding-inline: 60px;
    }
}

.bg-pink-img-inner {
    max-width: 1480px;
    margin: 0 auto;
    padding-bottom: 80px;

    @media screen and (min-width:1640px) {
        background: rgb(255 255 255 / 20%);
    }
}

.content-inner {
    display: flex;
    justify-content: center;
    gap: 48px;

    @media screen and (max-width:767px) {
        flex-wrap: wrap;
        gap: 20px;
    }
}

.content-inner-01 {
    padding-top: 80px;
    padding-bottom: 42px;

    @media screen and (max-width:767px) {
        padding-top: 40px;
        padding-bottom: 20px;
    }
}

.content-inner-02 {
    margin-bottom: 80px;
    align-items: center;

    @media screen and (max-width:767px) {
        flex-wrap: wrap;
        gap: 20px;
    }
}

@media screen and (max-width:767px) {
    .content-inner.content-inner-03-width100 {
        margin-left: calc(-50vw + 50%);
        margin-right: calc(-50vw + 50%);
        margin-top: 40px;
    }
}

.content-inner-04 {}

.content-inner-05 {
    margin-bottom: 60px;

    @media screen and (max-width:767px) {
        margin-bottom: 40px;
    }
}

.content-inner-06 {
    margin-bottom: 100px;
    align-items: center;

    @media screen and (max-width:767px) {
        margin-bottom: 40px;
    }
}

.content-inner-07 {}

.content-inner-08 {
    padding-top: 100px;

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

.content-inner-09 {
    padding-block: 80px;
}

.content-inner-11 {
    padding-top: 140px;
    margin-bottom: 80px;

    @media screen and (max-width:767px) {
        padding-top: 60px;
        margin-bottom: 60px;

    }
}

.content-inner-14 {
    @media screen and (max-width:767px) {
        padding-top: 40px;
    }
}

.content-inner-15 {
    padding-top: 80px;

    @media screen and (max-width:767px) {
        padding-top: 40px;
    }
}

.content-inner-16 {
    padding-block: 80px;

    @media screen and (max-width:767px) {
        padding-block: 40px;
    }
}

.content-inner-17 {
    padding-top: 80px;

    @media screen and (max-width:767px) {
        padding-top: 40px;
    }
}

.tab-wrap {
    padding-bottom: 50px;
}

.content-inner-09,
.content-inner-10 {
    max-width: 1480px;
    margin: 0 auto;
}

.content-inner-last {
    padding-top: 40px;
}

@media screen and (min-width:1650px) {
    .content-inner.content-slide {
        margin-left: calc(50% - 50vw);
        margin-right: calc(50% - 50vw);
        max-width: 100vw;
    }
}

/* タブ */
.tab-wrap {
    display: flex;
    flex-direction: column;
    padding-top: 70px;
    max-width: 1480px;
    width: 100%;
    padding-inline: 75px;
    box-sizing: border-box;
    position: relative;

    @media screen and (max-width:767px) {
        padding-top: 30px;
        padding-inline: 20px;
        flex-wrap: nowrap;
    }

    .tab-container {
        display: flex;
        justify-content: space-between;
        gap: 20px;

        @media screen and (max-width:767px) {
            gap: 10px;
        }

        .tab {
            width: calc(100% / 4);
        }

        .tab.active {
            img.on {
                display: block;
                transition: all 0.3s;
            }

            img.off {
                display: none;
                transition: all 0.3s;
            }
        }

        .tab:not(.active) {
            img.on {
                display: none;
            }

            img.off {
                display: block;
            }
        }
    }

    .tab-content {
        display: none;
        transition: all 0.3s;

    }

    .tab-content.show {
        display: block;
        transition: all 0.3s;

        img {
            width: 100%;
        }
    }

    .concierge {
        position: absolute;
        right: -9.44%;
        bottom: -8.83%;
        width: 35%;

        @media screen and (max-width:767px) {
            left: 0;
            bottom: 0;
            position: relative;
            width: 100%;
        }
    }
}