@charset "utf-8";

main {
    padding-right: 0;
    max-width: none;
}

footer {
    position: fixed;
    bottom: 0;
}

/* SP Only */

@media (max-width: 767px) {
    footer {
        position: relative;
    }
}
/* title
------------------------------------------------ */

.page__desc-title::before {
    width: 3.42857vw;
    max-width: 48px;
    height: 39.42857vw;
    max-height: 552px;
    top: 47px;
    top: 3.35714vw;
    right: 52px;
    right: 3.71428vw;
    background: url("/assets/img/index/title01-en.svg") no-repeat center/contain;
}

/* SP Only */

@media (max-width: 767px) {
    .page__desc-title::before {
        width: 24px;
        width: 6.4vw;
        height: 276px;
        height: 73.59999vw;
        top: 26px;
        top: 6.93333vw;
        right: 22px;
        right: 5.86666vw;

    }
}

/* keyvisual
------------------------------------------------ */

.page__keyvisual {
    max-width: none;
}

.page__keyvisual .swiper-wrapper {
    width: 100%;
    height: 100%;

    -o-object-fit: cover;
       object-fit: cover;
}

.page__keyvisual-item {
    width: 100%;
    height: 100%;

    -o-object-fit: cover;
       object-fit: cover;
}

.page__desc-title {
    padding-top: 71px;
    padding-top: 5.07142vw;
    padding-right: 88px;
    padding-right: 6.28571vw;
    line-height: 40px;
    line-height: 2.85714vw;
    letter-spacing: -0.05rem;
}

.page__desc-title::after {
    width: 2px;
    width: .14285vw;
    height: 500px;
    height: 35.71428vw;
}

.page__desc-title.font__large {
    font-size: 45px;
    font-size: 3.21428vw;
}

.page__desc-title.font__small {
    font-size: 35px;
    font-size: 2.5vw;
}

.page__desc-title .font__en {
    letter-spacing: -0.35rem;
}

.page__keyvisual-content .wide {
    display: none;
}

.page__keyvisual-content img {
    width: 100%;
    height: calc(100vh - 9.0625rem);

    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
}

.page__keyvisual-content img.wide {
    -o-object-position: left center;
    object-position: left center;
}

.swiper-slide-active .page__keyvisual-content, .swiper-slide-duplicate-active .page__keyvisual-content, .swiper-slide-prev .page__keyvisual-content {
            animation: zoomanime 15s linear 0s normal both;

    -webkit-animation: zoomanime 15s linear 0s normal both;
}

@-webkit-keyframes zoomanime {
    0% {
                transform: scale(1);

        -webkit-transform: scale(1);
    }

    100% {
                transform: scale(1.1);

        -webkit-transform: scale(1.1);
    }
}

@keyframes zoomanime {
    0% {
                transform: scale(1);

        -webkit-transform: scale(1);
    }

    100% {
                transform: scale(1.1);

        -webkit-transform: scale(1.1);
    }
}

.page__figure {
    position: absolute;
    bottom: 122px;
    left: 150px;
    z-index: 9999;
    width: 37.5vw;
    max-width: 525px;
            animation: floatAnimation 3s ease-in-out infinite alternate;

    -webkit-animation: floatAnimation 3s ease-in-out infinite alternate;
    pointer-events: none;
}

@-webkit-keyframes floatAnimation {
    0% {
                transform: translateY(0);

        -webkit-transform: translateY(0);
    }

    50% {
                transform: translateY(-10px);

        -webkit-transform: translateY(-10px);
    }

    100% {
                transform: translateY(0);

        -webkit-transform: translateY(0);
    }
}

@keyframes floatAnimation {
    0% {
                transform: translateY(0);

        -webkit-transform: translateY(0);
    }

    50% {
                transform: translateY(-10px);

        -webkit-transform: translateY(-10px);
    }

    100% {
                transform: translateY(0);

        -webkit-transform: translateY(0);
    }
}


/* 1400 Over */

@media (min-width: 1400px) {
    .page__keyvisual .pc {
        display: none;
    }
    .page__keyvisual .wide {
        display: block;
    }
    .page__desc-title {
        padding-top: 71px;
        padding-right: 92px;
        line-height: 40px;
    }

    .page__desc-title::before {
        top: 47px;
        right: 52px;
    }

    .page__desc-title::after {
        width: 2px;
        height: 500px;
    }

    .page__desc-title.font__large {
        font-size: 45px;
    }

    .page__desc-title.font__small {
        font-size: 35px;
    }
}

/* SP Only */

@media (max-width: 767px) {
    .page__desc-title {
        margin: 0;
        padding: 38px 40px 0 16px;
        padding: 10.13333vw 10.66666vw 0 4.26666vw;
        line-height: 20px;
        line-height: 5.33333vw;
    }
    .page__desc-title::after {
        width: 1px;
        height: 250px;
        height: 66.66666vw;
    }
    .page__desc-title.font__large {
        font-size: 30px;
        font-size: 8vw;
    }

    .page__desc-title.font__small {
        font-size: 20px;
        font-size: 5.33333vw;
    }

    .page__desc-title .font__en {
        letter-spacing: -0.02em;
    }

    .page__keyvisual-content img {
        width: 100%;
        height: calc(100vh - 175px);
        height: calc(100vh - 46.66666vw);
        min-height: 667px;
    }

    .page__figure {
        bottom: -20px;
        bottom: -5.33333vw;
        left: 0;
        width: 232px;
        width: 61.86666vw;
        z-index: 1;
    }
}