body {
    font-family: Microsoft JhengHei;
}

@font-face {
    font-family: arial;
    src: url(font-family/arial.ttf);
}

@font-face {
    font-family: Monotype-SohoGothicPro-MediumItalic;
    src: url(font-family/Monotype-SohoGothicPro-MediumItalic.otf);
}

@font-face {
    font-family: SohoGothicPro-Medium;
    /* 標題 */
    src: url(font-family/SohoGothicPro-Medium.otf);
}

@font-face {
    font-family: SohoGothicPro-Regular;
    /* 副標題 */
    src: url(font-family/SohoGothicPro-Regular.otf);
}

@font-face {
    font-family: SohoGothicPro-Bold;
    src: url(font-family/SohoGothicPro-Bold.otf);
}

/* 沒有用的東西 (假的header) */
.fs-13px {
    font-size: 13px;
}

.fs-20px {
    font-size: 20px;
}

.gx-4px {
    margin-left: -4px;
    margin-right: -4px;
}

.gx-4px>* {
    padding-left: 4px;
    padding-right: 4px;
}

.gx-8px {
    margin-left: -8px;
    margin-right: -8px;
}

.gx-8px>* {
    padding-left: 8px;
    padding-right: 8px;
}

.top-1 {
    background-color: #0096e0;
    height: 25px;
}

.top-1 * {
    display: none;
}

.top-2 #PC {
    display: none;
}

.top-2 {
    position: sticky;
    top: 0;
    left: 0;
    right: 0;
    z-index: 2000;
    background-color: #000;
    color: #fff;
    font-size: 16px;
    padding-left: 15px;
    padding-right: 15px;
}

.top-2 .example-logo {
    height: 54px;
    padding-top: 8px;
    padding-bottom: 8px;
}

.top-2 .icon-box {
    height: 34px;
    width: 40px;
    background-color: #0096e0;
    color: #fff;
    display: flex;
}

.top-2 .icon-box>i {
    margin: auto;
}


@media only screen and (min-width: 768px) {
    .top-1 * {
        display: block;
    }

    .top-1 {
        background-color: #0096e0;
        color: #fff;
        font-size: 16px;
        height: 40px;
        padding-left: 15px;
        padding-right: 15px;
        display: flex;
        align-items: center;
        justify-content: flex-end;
    }

    .top-2 #PC {
        display: flex;
    }

    .top-2 #MB {
        display: none;
    }

    .top-2 {
        display: flex;
        align-items: center;
    }

    .top-2 .vr {
        height: 16px;
        width: 1px;
        background-color: #fff;
    }

    .top-2 .example-logo {
        height: 90px;
        padding-top: 15px;
        padding-bottom: 15px;
        transition: .1s;
    }

    .top-2.scroll .example-logo {
        height: 54px;
        padding-top: 8px;
        padding-bottom: 8px;
    }

}

@media only screen and (min-width: 992px) {
    .gx-lg-8px {
        margin-left: -8px;
        margin-right: -8px;
    }

    .gx-lg-8px>* {
        padding-left: 8px;
        padding-right: 8px;
    }
}

/* 上限就可以刪了 */

/* position */

.top-0 {
    top: 0;
}

.left-0 {
    left: 0;
}

.bottom-0 {
    bottom: 0;
}

.translate-middle {
    transform: translate(-50%, -50%);
}

/* background image */

.bg-cover {
    background-size: cover;
}

.bg-center {
    background-position: center;
}

.bg-top {
    background-position: top;
}

.bg-right {
    background-position: right;
}

.bg-no-repeat {
    background-repeat: no-repeat;
}

/* ratio */

.ratio {
    position: relative;
    width: 100%;
}

.ratio>* {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.ratio-16x9 {
    padding-top: calc(9 / 16 * 100%);
}

.text-high-light {
    font-family: SohoGothicPro-Medium !important;
    color: #e5c01f;
}

.card-1-mb .title-style *,
.card-2-mb .title-1-style *,
.card-2-mb .title-2-style *,
.card-2-mb .title-3-style *,
.card-3-mb .title-1-style *,
.card-3-mb .title-2-style *,
.card-4-mb .title-1-style *,
.card-4-mb .title-2-style * {
    font-family: SohoGothicPro-Medium;
    text-shadow: 0.8vw 0.7vw 1vw #000;
}

.card-1-mb .subtitle-style,
.card-2-mb .subtitle-style,
.card-3-mb .subtitle-style,
.card-4-mb .subtitle-style {
    font-family: SohoGothicPro-Regular;
    text-shadow: 0.8vw 0.7vw 1vw #000;
}

.card-2-mb .brief-1-position .brief-1-content,
.card-2-mb .brief-2-position .brief-2-content,
.card-3-mb .brief-1-position .brief-1-content,
.card-3-mb .brief-2-position .brief-2-content,
.card-4-mb .brief-1-position .brief-1-content,
.card-4-mb .brief-2-position .brief-2-content {
    font-family: SohoGothicPro-Regular;
    margin-top: 3vw;
    line-height: 1.25;
    color: #99cc33;
    font-size: 4.5vw;
}

.card-2-mb .brief-2-position .brief-2-img img,
.card-3-mb .brief-1-position .brief-1-img img,
.card-3-mb .brief-2-position .brief-2-img img,
.card-4-mb .brief-1-position .brief-1-img img,
.card-4-mb .brief-2-position .brief-2-img img {
    width: calc(2rem + 27vw);
}

/* -------------------- first cut -------------------- */

.card-1-mb {
    position: relative;
    min-height: 100vh;
    height: calc(131 / 69 * 100vw);
    overflow: hidden;
    background-image: url(../images/card-1-bg-sm.jpg);
    background-size: cover;
    background-position-y: center;
    background-position-x: 30%;
    background-color: #091a2a;
}

.card-1-mb .title-position,
.card-1-mb .subtitle-position {
    position: absolute;
    top: 20%;
    left: 50%;
}

.card-1-mb .title-position {
    transform: translate(-50%, -100%);
}

.card-1-mb .title-style {
    color: #99cc33;
    font-size: 10vw;
    text-align: center;
    white-space: nowrap;
}

.card-1-mb .subtitle-position {
    transform: translateX(-50%);
}

.card-1-mb .subtitle-style {
    color: #fff;
    font-size: 4.3vw;
    text-align: center;
    white-space: nowrap;
}

.card-1-mb .img-position {
    position: absolute;
    bottom: 8%;
    left: 10%;
    width: 80%;
    text-align: center;
}

.card-1-mb .img-style img {
    width: 100%;
}

/* -------------------- second cut -------------------- */
.card-2-mb {
    position: relative;
    min-height: 100vh;
    height: calc(9 / 3 * 100vw);
    overflow: hidden;
    background-image: url(../images/card-2-bg-sm.gif);
    background-size: cover;
    background-position-y: center;
    background-position-x: center;
    background-color: #091a2a;
}

.card-2-mb .title-1-position,
.card-2-mb .title-2-position,
.card-2-mb .title-3-position,
.card-2-mb .subtitle-position {
    position: absolute;
    left: 8.75%;
}

.card-2-mb .title-1-position {
    top: 4%;
}

.card-2-mb .title-2-position {
    top: 7.5%;
}

.card-2-mb .title-3-position {
    top: 11%;
}

.card-2-mb .subtitle-position {
    top: 16.5%;
    width: 83.5%;
}

.card-2-mb .title-1-style,
.card-2-mb .title-2-style,
.card-2-mb .title-3-style {
    color: #fff;
    font-size: 8vw;
    line-height: 1.25;
}

.card-2-mb .title-2-style {
    color: #99cc33;
}

.card-2-mb .subtitle-style {
    color: #fff;
    font-size: 4.5vw;
}

.card-2-mb .brief-1-position,
.card-2-mb .brief-2-position {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    text-align: center;
}

.card-2-mb .brief-1-position {
    bottom: 25%;
}

.card-2-mb .brief-2-position {
    bottom: 5%;
}

.card-2-mb .brief-1-position .brief-1-img img {
    width: calc(5rem + 68vw);
}

/* -------------------- third cut -------------------- */
.card-3-mb {
    position: relative;
    min-height: 100vh;
    height: calc(7.25 / 3 * 100vw);
    overflow: hidden;
    background-image: url(../images/card-3-bg-sm.jpg);
    background-size: cover;
    background-position-y: center;
    background-position-x: center;
    background-color: #091a2a;
}

.card-3-mb .title-1-position,
.card-3-mb .title-2-position,
.card-3-mb .subtitle-position {
    position: absolute;
    left: 8.75%;
}

.card-3-mb .title-1-position,
.card-3-mb .title-2-position {
    top: 14%;
}

.card-3-mb .title-1-position {
    transform: translateY(-100%);
}

.card-3-mb .subtitle-position {
    top: 20%;
    width: 83.5%;
}

.card-3-mb .title-1-style,
.card-3-mb .title-2-style {
    color: #fff;
    font-size: 8vw;
    line-height: 1.25;
}

.card-3-mb .title-2-style {
    color: #99cc33;
}

.card-3-mb .subtitle-style {
    color: #fff;
    font-size: 4.5vw;
}

.card-3-mb .img-position {
    position: absolute;
    bottom: 28.5%;
    left: 0;
    width: 100%;
    text-align: center;
}

.card-3-mb .img-style img {
    width: 100%;
}

.card-3-mb .brief-1-position,
.card-3-mb .brief-2-position {
    position: absolute;
    bottom: 7%;
    text-align: center;
}

.card-3-mb .brief-1-position {
    right: 52.5%;

}

.card-3-mb .brief-2-position {
    left: 52.5%;
}

/* -------------------- fourth cut -------------------- */
.card-4-mb {
    position: relative;
    min-height: 100vh;
    height: calc(7.5 / 3 * 100vw);
    overflow: hidden;
    background-image: url(../images/card-4-bg-sm.gif);
    background-size: cover;
    background-position-y: center;
    background-position-x: center;
    background-color: #091a2a;
}

.card-4-mb .title-1-position,
.card-4-mb .title-2-position,
.card-4-mb .subtitle-position {
    position: absolute;
    left: 8.75%;
}

.card-4-mb .title-1-position,
.card-4-mb .title-2-position {
    top: 12%;
}

.card-4-mb .title-1-position {
    transform: translateY(-100%);
}

.card-4-mb .subtitle-position {
    top: 18%;
    width: 83.5%;
}

.card-4-mb .title-1-style,
.card-4-mb .title-2-style {
    color: #99cc33;
    font-size: 8vw;
    line-height: 1.25;
}

.card-4-mb .title-2-style {
    color: #fff;
}

.card-4-mb .subtitle-style {
    color: #fff;
    font-size: 4.5vw;
}

.card-4-mb .img-position {
    position: absolute;
    bottom: 28.5%;
    left: 0;
    width: 100%;
    text-align: center;
}

.card-4-mb .img-style img {
    width: 88%;
}

.card-4-mb .brief-1-position,
.card-4-mb .brief-2-position {
    position: absolute;
    bottom: 5%;
    text-align: center;
}

.card-4-mb .brief-1-position {
    right: 52.5%;

}

.card-4-mb .brief-2-position {
    left: 52.5%;
}

.card-1,
.card-2,
.card-3,
.card-4 {
    display: none;
}

.card-1-mb,
.card-2-mb,
.card-3-mb,
.card-4-mb {
    display: block;
}

@media only screen and (min-width: 768px) {
    .d-pc {
        display: none;
    }
    .d-ipad {
        display: block;
    }

    .card-1,
    .card-2,
    .card-3,
    .card-4 {
        display: block;
    }

    .card-1-mb,
    .card-2-mb,
    .card-3-mb,
    .card-4-mb {
        display: none;
    }

    .card-1 .set-top-30,
    .card-2 .set-top-30,
    .card-3 .set-top-30,
    .card-4 .set-top-30 {
        position: absolute;
        top: 30%;
        left: 0;
        width: 100%;
        height: 70%;
    }

    .card-1 .stretch-height-as-banner,
    .card-2 .stretch-height-as-banner,
    .card-3 .stretch-height-as-banner,
    .card-4 .stretch-height-as-banner {
        position: absolute;
        bottom: 0;
        left: 0;
        width: 100%;
        height: calc(10 / 7 * 100%);
    }

    .card-1 .title-style,
    .card-1 .title-style *,
    .card-2 .title-1-style,
    .card-2 .title-1-style *,
    .card-2 .title-2-style,
    .card-2 .title-2-style *,
    .card-2 .title-3-style,
    .card-2 .title-3-style *,
    .card-3 .title-1-style,
    .card-3 .title-1-style *,
    .card-3 .title-2-style,
    .card-3 .title-2-style *,
    .card-4 .title-1-style,
    .card-4 .title-1-style *,
    .card-4 .title-2-style,
    .card-4 .title-2-style * {
        font-family: SohoGothicPro-Medium;
        text-shadow: 0.3vw 0.3vw 0.5vw #000;
    }


    .card-1 .subtitle-style,
    .card-1 .subtitle-style *,
    .card-2 .subtitle-style,
    .card-2 .subtitle-style *,
    .card-3 .subtitle-style,
    .card-3 .subtitle-style *,
    .card-4 .subtitle-style,
    .card-4 .subtitle-style * {
        font-family: SohoGothicPro-Regular;
        text-shadow: 0.25vw 0.3vw 0.3vw #000;
    }

    .card-2 .brief-1-position .brief-1-content,
    .card-2 .brief-2-position .brief-2-content,
    .card-3 .brief-1-position .brief-1-content,
    .card-3 .brief-2-position .brief-2-content,
    .card-4 .brief-1-position .brief-1-content,
    .card-4 .brief-2-position .brief-2-content {
        font-family: SohoGothicPro-Regular;
        color: #99cc33;
        margin-top: 1vw;
        line-height: 1.25;
        font-size: 1.4vw;
    }

    /* -------------------- first cut -------------------- */
    .card-1 {
        position: relative;
        min-height: calc(5 / 12 * 100vw);
        height: 100vh;
        max-height: 60vw;
        overflow: hidden;
        background-image: url(../images/card-1-bg-lg.jpg);
        background-size: cover;
        background-position-y: center;
        background-position-x: 70%;
        background-color: #091a2a;
    }

    .card-1 .title-position,
    .card-1 .subtitle-position {
        position: absolute;
        top: 50%;
        left: 17.5%;
    }

    .card-1 .title-position {
        transform: translateY(-100%);
    }

    .card-1 .title-style {
        color: #99cc33;
        font-size: 5.2vw;
    }

    .card-1 .title-position.title-style .before-icon {
        position: absolute;
        top: 52%;
        right: 102%;
        transform: translateY(-50%);
        width: 6vw;
    }

    .card-1 .subtitle-position {
        margin-left: .5%;
    }

    .card-1 .subtitle-style {
        color: #fff;
        font-size: 2.23vw;
    }

    .card-1 .img-position {
        position: absolute;
        top: 50%;
        right: 28%;
        transform: translate(50%, -50%);
    }

    .card-1 .img-style {
        padding-top: 10vh;
        padding-bottom: 10vh;
        height: 100%;
    }

    /* -------------------- second cut -------------------- */
    .card-2 {
        position: relative;
        min-height: calc(5 / 12 * 100vw);
        height: 100vh;
        max-height: 60vw;
        overflow: hidden;
        background-image: url(../images/card-2-bg-md.gif);
        background-size: cover;
        background-position-y: center;
        background-position-x: 40%;
        background-color: #091a2a;
        --card-2-position-left: 55%;
    }

    .card-2 .title-1-position,
    .card-2 .title-2-position,
    .card-2 .title-3-position {
        position: absolute;
        top: calc(4rem + 10%);
    }

    .card-2 .title-1-position,
    .card-2 .title-3-position,
    .card-2 .subtitle-position {
        left: var(--card-2-position-left);
    }

    .card-2 .title-2-position {
        left: calc(var(--card-2-position-left) + 11.7%);
    }

    .card-2 .title-1-position,
    .card-2 .title-2-position {
        transform: translateY(-100%);
    }

    .card-2 .title-1-style,
    .card-2 .title-3-style {
        color: #fff;
        font-size: 2.9vw;
        line-height: 1.2;
    }

    .card-2 .title-2-style {
        color: #99cc33;
        font-size: 4vw;
        line-height: 1.2;
    }

    .card-2 .title-1-position.title-1-style .before-icon {
        position: absolute;
        top: 52%;
        right: 105%;
        transform: translateY(-50%);
        width: 4.5vw;
    }

    .card-2 .subtitle-position {
        position: absolute;
        top: calc(3rem + 23%);
    }

    .card-2 .subtitle-style {
        color: #fff;
        font-size: 1.6vw;
    }

    .card-2 .brief-1-position,
    .card-2 .brief-2-position {
        position: absolute;
        top: calc(45% + 3rem);
        left: calc(var(--card-2-position-left) + 15%);
        text-align: center;
    }

    .card-2 .brief-1-position {
        transform: translateX(-72%);
    }

    .card-2 .brief-2-position {
        transform: translateX(72%);
    }

    .card-2 .brief-1-position .brief-1-img,
    .card-2 .brief-2-position .brief-2-img {
        height: calc(2rem + 8.5vw);
    }

    .card-2 .brief-1-position .brief-1-img {
        padding-bottom: 1.5vw;
        padding-top: 2.3vw;
        /* padding-bottom: 2.3vw;
        padding-top: 3.1vw; */
    }

    /* -------------------- third cut -------------------- */
    .card-3 {
        position: relative;
        min-height: calc(5 / 12 * 100vw);
        height: 100vh;
        max-height: 60vw;
        overflow: hidden;
        background-image: url(../images/card-3-bg-md.jpg);
        background-size: cover;
        background-position-y: center;
        background-position-x: center;
        background-color: #091a2a;
        --card-3-position-left: 14%;
    }

    .card-3 .title-1-position,
    .card-3 .title-2-position,
    .card-3 .subtitle-position {
        position: absolute;
        left: var(--card-3-position-left);
    }

    .card-3 .title-1-position,
    .card-3 .title-2-position {
        top: calc(2.5rem + 13%);
    }

    .card-3 .title-1-position {
        transform: translateY(-100%);
    }

    .card-3 .title-1-style {
        color: #fff;
        font-size: 2.9vw;
        line-height: 1.2;
    }

    .card-3 .title-2-style {
        color: #99cc33;
        font-size: 4vw;
        line-height: 1.2;
    }

    .card-3 .title-1-position.title-1-style .before-icon {
        position: absolute;
        top: 52%;
        right: 102%;
        transform: translateY(-50%);
        width: 4.5vw;
    }

    .card-3 .subtitle-position {
        top: calc(3rem + 25%);
        width: 40%;
    }

    .card-3 .subtitle-style {
        color: #fff;
        font-size: 1.6vw;
    }

    .card-3 .img-position {
        position: absolute;
        bottom: 0;
        right: 0;
    }

    .card-3 .img-style {
        height: 100%;
    }

    .card-3 .brief-1-position,
    .card-3 .brief-2-position {
        position: absolute;
        top: calc(49% + 3rem);
        left: calc(var(--card-3-position-left) + 13%);
        text-align: center;
    }

    .card-3 .brief-1-position {
        transform: translateX(-72%);
    }

    .card-3 .brief-2-position {
        transform: translateX(72%);
    }

    .card-3 .brief-1-position .brief-1-img,
    .card-3 .brief-2-position .brief-2-img {
        width: calc(2rem + 8.5vw);
    }

    /* -------------------- fourth cut -------------------- */
    .card-4 {
        position: relative;
        min-height: calc(5 / 12 * 100vw);
        height: 100vh;
        max-height: 60vw;
        overflow: hidden;
        background-image: url(../images/card-4-bg-md.gif);
        background-size: cover;
        background-position-y: center;
        background-position-x: 0%;
        background-color: #091a2a;
        --card-4-position-left: 48%;
        --card-4-position-right: 10%;
    }

    .card-4 .title-1-position,
    .card-4 .title-2-position {
        position: absolute;
        top: calc(2.5rem + 15%);
        left: var(--card-4-position-left);
    }

    .card-4 .title-1-position {
        transform: translateY(-100%);
    }

    .card-4 .title-1-style {
        color: #99cc33;
        font-size: 4vw;
        line-height: 1.2;
    }

    .card-4 .title-2-style {
        font-size: 2.9vw;
        color: #fff;
        line-height: 1.2;
        padding-top: .7vw;
    }

    .card-4 .title-1-position.title-1-style .before-icon {
        position: absolute;
        top: 52%;
        right: 105%;
        transform: translateY(-50%);
        width: 4.5vw;
    }

    .card-4 .subtitle-position {
        position: absolute;
        top: calc(3rem + 27%);
        left: var(--card-4-position-left);
        right: var(--card-4-position-right);
    }

    .card-4 .subtitle-style {
        color: #fff;
        font-size: 1.6vw;
    }

    .card-4 .brief-1-position,
    .card-4 .brief-2-position {
        position: absolute;
        top: calc(48% + 3rem);
        left: calc((var(--card-4-position-left) - var(--card-4-position-right) + 98%) / 2);
        text-align: center;
    }

    .card-4 .brief-1-position {
        transform: translateX(calc(-72% - 50%));
    }

    .card-4 .brief-2-position {
        transform: translateX(calc(72% - 50%));
    }

    .card-4 .brief-1-position .brief-1-img,
    .card-4 .brief-2-position .brief-2-img {
        width: calc(2rem + 8.5vw);
    }
}

@media only screen and (min-width: 1400px) {
    .d-pc {
        display: block;
    }
    .d-ipad {
        display: none;
    }

    /* -------------------- first cut -------------------- */
    .card-1 .img-style {
        padding-top: 7.5vh;
        padding-bottom: 7.5vh;
    }

    /* -------------------- second cut -------------------- */
    .card-2 {
        background-image: url(../images/card-2-bg-lg.gif);
        --card-2-position-left: 50%;
    }

    /* -------------------- third cut -------------------- */
    .card-3 {
        background-position-x: calc(97% + 5.5rem);
        background-image: url(../images/card-3-bg-lg.jpg);
        --card-3-position-left: calc(18% - 4rem);
    }

    .card-3 .img-position {
        right: calc(10rem - 15vw);
    }

    /* -------------------- fourth cut -------------------- */
    .card-4 {
        background-image: url(../images/card-4-bg-lg.gif);
        background-position-x: 0%;
        --card-4-position-left: 50%;
        --card-4-position-right: 8%;
    }
}