.wrap {
    position: relative;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    min-height: 100vh;
    padding-top: 72px;
}
.en.wrap {
    font-family: 'Proxima Nova Semibold';
}

.wrap .header {
    position: relative;
    top: 0;
    left: 0;
    width: 100%;
    height: 55vw;
    background-position: bottom right;
    background-repeat: no-repeat;
    background-size: contain;
}
    .wrap .header .title-wrap {
        padding-top: 13%;
        padding-left: 36px;
        padding-right: 36px;
    }
    .en.wrap .header .title-wrap {
        padding-top: 19%;
    }
        .wrap .header .title-wrap .title {
            width: 100%;
            padding-top: 32%;
        }
        .en.wrap .header .title-wrap .title {
            width: 80%;
            padding-top: 22.7%;
        }

.wrap .body {
    position: relative;
    top: 0;
    left: 0;
    width: 100%;
    min-height: calc(100% - 55vw - 75px);
    background-color: #6554a1;
    background-position: center right;
    background-repeat: no-repeat;
    background-size: cover;
}
    .wrap .body .bg-wrap {
        position: relative;
        transform: translateY(-8%);
        z-index: 1;
    }
        .wrap .body .bg-wrap .bg {
            width: 100%;
            padding-top: 114%;
        }

    .wrap .body .subtitle-wrap {
        position: absolute;
        top: -1.5rem;
        left: 0;
        margin-left: 36px;
        z-index: 2;
    }
    .en.wrap .body .subtitle-wrap {
        top: -2rem;
    }
        .wrap .body .subtitle-wrap .subtitle {
            display: inline-block;
            background-color: #413C98;
            padding: 8px 6px;
            font-size: 1rem;
            letter-spacing: .1rem;
            text-transform: uppercase;
        }
        .en.wrap .body .subtitle-wrap .subtitle {
            padding: 6px 6px;
            letter-spacing: .03rem;
        }
            .wrap .body .subtitle-wrap .subtitle .text {
                display: inline-block;
                width: 3.8rem;
                height: 1rem;
                margin-left: 2px;
                background-position: center;
                background-repeat: no-repeat;
                background-size: contain;
            }

    .wrap .body .footer {
        margin-top: -32%;
        width: 100%;
        padding-top: 26%;
        padding-left: 30px;
        padding-right: 30px;
        background: linear-gradient(to bottom, #FFFFFF 0%, #ADADAD 100%);
    }
    .en.wrap .body .footer {
        padding-top: 28%;
    }
        .wrap .body .footer .footer-title-img {
            left: 50%;
            transform: translateX(-50%);
            background-size: contain;
        }
        .en.wrap .body .footer .footer-title {
            font-family: 'Proxima Nova Semibold';
        }

    .wrap .body .tnc {
        width: 100%;
        padding-top: 1rem;
        padding-left: 30px;
        padding-right: 30px;
        background-color: #efefef;
    }
        .wrap .body .tnc .tnc-text {
            position: relative; 
            font-family: "微軟正黑體"; 
        }
        .wrap .body .tnc .tnc-text-en {
            font-family: 'Montserrat-Regular';
        }

    .wrap .body .download-wrap {
        padding-left: 5%;
        padding-right: 5%;
    }
        .wrap .body .download-wrap .link-up-icon {
            width: 112px;
            padding-top: 100%;
        }
            .wrap .body .download-wrap .btn-app-store {
                width: 100%;
                padding-top: 30%;
            }
            .wrap .body .download-wrap .btn-google-play {
                width: 100%;
                padding-top: 30%;
            }    
    .wrap .body .tnc-wrap,
    .wrap .body .copyright-wrap {
        width: 100%;
        display: block;
        background-repeat: no-repeat;
        background-size: contain;
        height: 100%;
    }


@media (min-width: 641px) {
    .wrap .body .subtitle-wrap .subtitle {
        font-size: 1.5rem;
    }
        .wrap .body .subtitle-wrap .subtitle .text {
            width: 4.6rem;
            height: 1.3rem;
        }
}

@media (min-width: 769px) {
    .wrap {
        padding-top: 0;
    }
.en.wrap .header .title-wrap .title {
            width: 80%;
            padding-top: 22.7%;
        }
    .wrap .header {
        max-width: 1024px;
        max-height: calc(1024px * 0.55);
        margin: 0 auto;
    }
        .wrap .header .title-wrap {
            padding-top: 15%;
            padding-left: 70px;
            padding-right: 70px;
        }
            .en.wrap .header .title-wrap .title {
                width: 73%;
                padding-top: 20.8%;
            }

    .wrap .body .bg-wrap {
        max-width: 1024px;
        margin: 0 auto;
        transform: translateY(-6.4%);
    }
        .wrap .body .bg-wrap .bg {
            padding-top: 73%;
        }

        .wrap .body .subtitle-wrap {
            margin-left: 70px;
        }
            .wrap .body .subtitle-wrap .subtitle {
                font-size: 2rem;
            }

    .wrap .body .footer {
        margin-top: -20%;
        padding-top: 20%;
    }
    .en.wrap .body .footer {
        padding-top: 20%;
    }
}

@media (min-width: 1025px) {
    .wrap .body .subtitle-wrap {
        left: 50%;
        margin-left: 0;
        transform: translateX(-124%);
    }
    .en.wrap .body .subtitle-wrap {
        transform: translateX(-85%);
    }
        .wrap .body .subtitle-wrap .subtitle {
            font-size: 2rem;
        }

    .wrap .body .footer {
        margin-top: -204px;
        padding-top: 200px;
    }
    .en.wrap .body .footer {
        padding-top: 200px;
    }
}