.rest01-template-02 {
    position: relative;
    overflow: hidden;
    max-width: 100vw
}

.rest01-template-02 .deco {
    font-size: 13px;
    color: #bbbbbb;
    position: absolute;
    bottom: 25px;
    z-index: 20;
    letter-spacing: 1px;
    font-family: "Montserrat", "PingFang", "PingFangTC", "Microsoft JhengHei", Helvetica, Arial, sans-serif
}

@media (min-width: 0) and (max-width: 979px) {
    .rest01-template-02 .deco {
        display: none
    }
}

@media (min-width: 980px) {
    .rest01-template-02 .deco {
        transform: rotate(-90deg) translate(50%, 0);
        right: 50px;
        bottom: 50%;
        transform-origin: right bottom
    }
}

@media (min-width: 1500px) {
    .rest01-template-02 .deco {
        right: 70px;
        bottom: 45%
    }
}

@media (min-width: 1800px) {
    .rest01-template-02 .deco {
        right: 100px;
        bottom: 42%
    }
}

.rest01-template-02 .text {
    font-weight: bold;
    font-size: 26px;
    color: #fff;
    z-index: 99;
    position: absolute;
    left: 0;
    top: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    line-height: 1.25em;
    height: 100%;
    font-family: "Montserrat", "PingFang", "PingFangTC", "Microsoft JhengHei", Helvetica, Arial, sans-serif
}

.rest01-template-02 .text p {
    font-size: 14px;
    font-weight: normal;
    line-height: 1.5em;
    opacity: 0.7;
    display: block;
    /*仁新增20210331*/
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-line-clamp: 3;
    display: -webkit-box;
    -webkit-box-orient: vertical;
}

.rest01-template-02 .text .num {
    font-size: 14px;
    font-weight: 500;
    line-height: 1.125em;
    display: block
}

.rest01-template-02 .text strong {
    display: block;
    line-height: 1.375em;
    margin-top: .75em;
    margin-bottom: .5em;
    transition: all .35s ease;
    /*仁新增20210331*/
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-line-clamp: 2;
    display: -webkit-box;
    -webkit-box-orient: vertical;
}

@media (min-width: 0) and (max-width: 739px) {
    .rest01-template-02 .text {
        padding: 40px 25px 25vh
    }
}

@media (min-width: 740px) {
    .rest01-template-02 .text {
        padding-left: 70px;
        font-size: 36px;
        padding-bottom: 10vh
    }
    .rest01-template-02 .text .num {
        font-size: 16px
    }
    .rest01-template-02 .text p {
        font-size: 21px;
        max-width: 60%
    }
    .rest01-template-02 .text strong {
        letter-spacing: 1px
    }
}

@media (min-width: 980px) {
    .rest01-template-02 .text {
        font-size: 42px
    }
}

@media (min-width: 1100px) {
    .rest01-template-02 .text {
        font-size: 48px;
        padding-left: 100px
    }
    .rest01-template-02 .text .num {
        font-size: 20px
    }
    .rest01-template-02 .text strong {
        letter-spacing: 3px
    }
    .rest01-template-02 .text p {
        max-width: 50%
    }
}

@media (min-width: 1500px) {
    .rest01-template-02 .text strong {
        margin-top: 40px;
        margin-bottom: 30px
    }
}

@media (min-width: 1800px) {
    .rest01-template-02 .text {
        font-size: 60px;
        padding-bottom: 85px
    }
    .rest01-template-02 .text .num {
        font-size: 24px
    }
    .rest01-template-02 .text strong {
        margin-top: 50px;
        margin-bottom: 0px
    }
    .rest01-template-02 .text p {
        font-size: 21px;
        margin-top: 0;
        max-width: 55%;
        line-height: 1.75em
    }
}

.rest01-template-02 .scrolldown {
    display: flex;
    position: absolute;
    width: 50px;
    height: 50px;
    z-index: 10;
    left: 25px;
    bottom: 30px;
    align-items: center;
    justify-content: center;
    transition: all .35s ease
}

@media (min-width: 740px) {
    .rest01-template-02 .scrolldown {
        left: 60px;
        bottom: 60px
    }
}

@media (min-width: 1100px) {
    .rest01-template-02 .scrolldown {
        left: 90px
    }
}

@media (min-width: 1800px) {
    .rest01-template-02 .scrolldown {
        bottom: 80px
    }
}

.rest01-template-02 .scrolldown img,
.rest01-template-02 .scrolldown svg {
    display: block;
    width: 12px;
    height: auto
}

@media (min-width: 740px) {
    .rest01-template-02 .scrolldown img,
    .rest01-template-02 .scrolldown svg {
        width: 16px
    }
}

.rest01-template-02 .scrolldown:hover,
.rest01-template-02 .scrolldown:active {
    transform: scale(1.5)
}

.rest01-template-02 .controller {
    position: absolute;
    z-index: 9;
    display: none
}

.rest01-template-02 .controller .swiper-pagination {
    bottom: 10px;
    z-index: 99
}

.rest01-template-02 .controller .swiper-pagination .swiper-pagination-bullet:before {
    border: 1px solid #666
}

.rest01-template-02 .controller .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active:before {
    background-color: #666
}

@media (min-width: 0) and (max-width: 739px) {
    .rest01-template-02 .controller {
        width: 100%
    }
    .rest01-template-02 .controller .swiper-pagination {
        width: 100%;
        display: flex;
        justify-content: flex-end
    }
}

@media (min-width: 740px) {
    .rest01-template-02 .controller {
        height: 250px;
        width: 40px;
        bottom: 0;
        right: 45px;
        padding-top: 10%
    }
    .rest01-template-02 .controller .swiper-pagination {
        width: 50px !important;
        position: absolute;
        right: auto;
        bottom: 20px
    }
}

@media (min-width: 1100px) {
    .rest01-template-02 .controller {
        right: 100px
    }
}

.rest01-template-02 .hero-img-holder {
    width: 100%;
    height: 100%;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover
}

@media (min-width: 0) and (max-width: 739px) {
    .hero-img-holder.desktop {
        display: none;
    }
}

@media (min-width: 740px) {
    .hero-img-holder.mobile {
        display: none;
    }
}

.rest01-template-02 .swiper-container {
    min-height: 100vh
}

.rest01-template-02 .swiper-slide {
    min-height: 100vh;
    width: 100%;
    position: absolute;
    left: 0;
    top: 0;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0s, visibility 0s;
    transition-delay: .9s;
    pointer-events: none;
    user-select: none;
    -moz-user-select: none;
    -webkit-user-select: none
}

.rest01-template-02 .swiper-slide .content {
    position: relative;
    min-height: 100vh;
    background-repeat: no-repeat
}

@media (min-width: 980px) {
    .rest01-template-02 .swiper-slide .content {
        display: flex;
        flex-direction: row-reverse;
        position: relative
    }
}

.rest01-template-02 .swiper-slide .text {
    opacity: 0;
    transition: transform .8s ease .1s, opacity .6s ease .1s
}

@media (min-width: 980px) {
    .rest01-template-02 .swiper-slide .text {
        width: 80%;
        height: 100%;
        background-color: transparent
    }
}

.rest01-template-02 .swiper-slide .bg {
    background-color: #13183b;
    transform: translateY(-50px);
    transition: all .3s ease;
    opacity: 0;
    position: relative;
    z-index: 1;
    width: 100%;
    height: 100vh
}

.rest01-template-02 .swiper-slide.swiper-slide-active {
    opacity: 1;
    visibility: visible;
    transition: opacity 0.2s, visibility 0s;
    transition-delay: 0.1s;
    pointer-events: auto
}

.rest01-template-02 .swiper-slide.swiper-slide-active .text {
    opacity: 1;
    transform: translateY(0);
    transition: transform .8s ease .1s, opacity .6s ease .1s
}

.rest01-template-02 .swiper-slide.swiper-slide-active .bg {
    opacity: 1;
    transform: translateY(0);
    transition: transform .8s ease 0s, opacity .6s ease .1s
}

@media (min-width: 0) and (max-width: 1099px) {
    .rest01-template-02 .swiper-slide.swiper-slide-active {
        background-color: #fff
    }
    .rest01-template-02 .swiper-slide.swiper-slide-active .subtitle {
        opacity: 1;
        transform: translateX(0);
        transition: transform .8s ease .25s, opacity .6s ease .25s
    }
    .rest01-template-02 .swiper-slide.swiper-slide-active .desc {
        opacity: 1;
        transform: translateX(0);
        transition: transform .8s ease .4s, opacity .6s ease .4s
    }
    .rest01-template-02 .swiper-slide.swiper-slide-active .link {
        opacity: 1;
        transform: translateX(0);
        transition: transform .8s ease .6s, opacity .6s ease .6s
    }
    .rest01-template-02 .swiper-slide.swiper-slide-active .hero-img-holder {
        transition: transform .9s ease 0s, opacity .9s ease 0s;
        opacity: 1;
        transform: translateX(0)
    }
    .rest01-template-02 .swiper-slide.swiper-slide-active .bg {
        z-index: 10
    }
}

@media (min-width: 0) and (max-width: 1099px) {
    .rest01-template-02 .swiper-slide.swiper-slide-active:before {
        opacity: 1;
        transform: translateX(0);
        transition: transform .8s ease .8s, opacity .6s ease .8s
    }
}

@media (min-width: 980px) and (max-width: 1099px) {
    .rest01-template-02 .swiper-slide.swiper-slide-active:before {
        transform: translateX(-30%)
    }
}

@media (min-width: 1100px) {
    .rest01-template-02 .swiper-slide.swiper-slide-active:before {
        transform: translateX(-30%)
    }
}

@media (min-width: 1500px) {
    .rest01-template-02 .swiper-slide.swiper-slide-active:before {
        transform: translateX(-25%)
    }
}

@media (min-width: 1800px) {
    .rest01-template-02 .swiper-slide.swiper-slide-active:before {
        transform: translateX(-20%)
    }
}

.rest01-template-02 .social {
    user-select: none;
    -moz-user-select: none;
    -webkit-user-select: none;
    position: absolute;
    left: 25px;
    display: flex;
    top: 72%;
    z-index: 89
}

.rest01-template-02 .social a {
    width: 30px;
    height: 30px;
    margin-right: 20px;
    padding: 1px;
    transition: all .35s ease
}

.rest01-template-02 .social a img {
    display: block;
    width: 100%;
    height: auto
}

.rest01-template-02 .social a:active,
.rest01-template-02 .social a:hover {
    transform: scale(1.625)
}

@media (min-width: 740px) {
    .rest01-template-02 .social {
        left: 70px
    }
}

@media (min-width: 1100px) {
    .rest01-template-02 .social {
        left: 100px
    }
}

@media (max-width:767px){
    .rest01-template-02 .text{
        padding: 25px 25px 30vh;
    }
    .rest01-template-02 .social{
        top: 60%;
    }
    .rest01-template-02 .scrolldown{
        bottom: 100px;
        left: 15px;
    }
}