@charset "UTF-8";

/* ================================================
- Basic
================================================ */

body {
    color: #333;
    font: 13px/1.6em "Century Gothic", Arial, 'Microsoft JhengHei', "蘋果儷中黑", "儷黑 Pro", "新細明體", "sans-serif";
    /* background: url("../images/bg.jpg") top center repeat-y; */
    background-color: #000;
    /* min-width: 1200px; */
}
a {
    display: block;
    text-decoration: none;
}
:focus {
    outline: none;
}
i {
    font-style: normal;
}
.header, .footer {
    text-align: center;
    background: #fff;
    position: relative;
    z-index: 9;
}
.hd_pc {
    /* max-width: 1200px; */
    width: 100%;
}
.hd_m {
    display: none;
}
.pc_mode {
    display: block
}
.m_mode {
    display: none
}
.M_menu_wrap, .tag_wfe {
    display: none;
}

.wrapper {
    /* background: url("../images/kv_bg.png") top center no-repeat, url("../images/bg.jpg") top center repeat-y #000; */
    /* background: url("../images/kv_bg.jpg") top center no-repeat, url("../images/bg.jpg") top center repeat-y #000; */
    /* background: url("../images/bg.jpg") center 790px repeat-y #000; */
    background: url("../images/bg.jpg") center 657px repeat-y #000;
    width: 100%;
    height: auto;
    overflow: hidden;
    overflow-y: hidden;
    overflow-x: hidden;
}

.all_bg_move {
    position: fixed;
    top: 0; bottom: 0;
    left: 0; right: 0;
    z-index: 1;
}

.main {
    /* background: url("../images/bg.jpg") center repeat-y #000; */
    background: none !important;
    width: 100%;
    /* min-height: 100vh; */
    margin: auto;
    z-index: 1;
    /* overflow: hidden; */
    overflow: initial !important;
    overflow-y: initial !important;
    overflow-x: initial !important;
}
.display_pc {
    display: block;
}

.display_m {
    display: none;
}

.txt-link {
    font-size: 16px;
    line-height: 1.3em;
    color: white;
    display: inline-block;
    background-color: #d91787;
    padding: .4em 1em;
    border-radius: 5px;
    transition: all .5s;
}
    .txt-link:hover {
        background-color: #0378af;
        transform: translateX(5px);
    }

.text-link {
    color: #d91787;
    text-decoration: underline;
}
    .text-link:hover {
        color: #1f6dc7;
    }

/* ================================================
- 主視覺 kv
================================================ */

.kv_bg {
    cursor: default;
    /* background: url('../images/layout_1117v3.jpg') no-repeat top center; */
    /* background: url('../images/kv_bg.jpg') repeat-x top center; */
    background: url('../images/kv_bg.png') repeat-x top center;
    /* background-color: #70dded; */
    max-width: 1960px;
    width: 100%;
    margin: auto;
    position: relative;
    z-index: 2;
}
    .kv_bg img {
        width: 100%;
        max-width: 100%;
    }

.kv {
    width: 98%;
    max-width: 1600px; /* 寬度 */
    height: 640px;
    margin: auto;
    position: relative;
    z-index: 2;
}

/* 展示商品 */
.kv_goods {
    /* width: 33%; */
    width: 39%;
    max-width: 468px;
    margin: auto;
    position: absolute;
    top: 0%;
    /* bottom: -17%; */
    /* right: 14%; */
    left: 53%;
    z-index: 3;
}
/* 文案 */
.slogan {
    text-align: center;
    width: 56%;
    max-width: 910px;
    margin: auto;
    /* position */
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
}
    .slogan img {
        width: 100%;
        max-width: 100%;
    }

/* END kv */

.kv .event_wrapper {
    text-align: center;
    width: 100%;
}

/* ================================================
- 活動
================================================ */

.event_wrapper {
    box-sizing: border-box;
    /* background: url("../images/all_bg_move.png") top center; */
    width: 98%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 20px 0;
    position: relative;
    z-index: 2;
}
/* 抽獎商品 */
.kv_lottery {
    box-sizing: border-box;
    text-align: center;
    display: flex;
    justify-content: space-evenly;
    /* align-items: center; */
    align-items: stretch;
    width: 100%;
    margin: auto;
    position: relative;
}
    .kv_lottery a {
        display: block;
        transform: translateY(0);
        transition: all 1s;
    }
        .kv_lottery a:hover {
            transform: translateY(-10px);
        }
    .kv_lottery_title {
        text-align: center;
        width: 98%;
        max-width: 650px;
        margin: 0 auto 20px;
    }
    .kv_lottery-item {
        display: flex;
        justify-content: center;
        align-items: center;
        align-content: center;
        position: relative;
    }
        .kv_lottery-item img {
            width: 100%;
            max-width: 273px;
            margin: auto;
        }
        .kv_lottery-item+.kv_lottery-item::before {
            content: ' '; display: block;
            background: url("../images/kv_lottery_line.png") no-repeat center;
            pointer-events: none;
            width: 64px; height: 208px;
            /* position */
            position: absolute;
            /* top: 0; bottom: 0; */
            top: -8%;
            left: -28%;
        }
    .kv_lottery_01 { }
        .kv_lottery_01::before {}
    .kv_lottery_02 { }
        .kv_lottery_02::before { left: -24% !important; }
    .kv_lottery_03 { }
        .kv_lottery_03::before { top: initial !important; bottom: -8%; }
    .kv_lottery_04 { }
        .kv_lottery_04::before { left: -5% !important; }

    .kv_lottery::before, .kv_lottery::after {
        content: ' '; display: block;
        background: url("../images/kv_lottery_line.png") no-repeat center;
        pointer-events: none;
        width: 64px; height: 208px;
        /* position */
        position: absolute;
        /* top: 0; bottom: 0; */
        bottom: -20%;
    }
    .kv_lottery::before { left: -2%; }
    .kv_lottery::after { right: 0; }

/* Events */
.events {
    box-sizing: border-box;
    text-align: center;
    width: 100%;
    margin: auto;
}
    .events img {
        width: 100%;
        /* max-width: 100%; */
        max-width: 1178px;
        margin: auto;
    }
        .events .event1 {}
        .events .event2 {}
        .events .event3 {}
        .events .event4 {}
    .events a:hover {
        filter: brightness(120%);
        transform: translateY(-10px);
    }
    .event-img { }
    .event-item {
        box-sizing: border-box;
        padding: 6px;
        position: relative;
    }
        .event-item a {
            font-size: 28px;
            line-height: 30px;
            display: block;
            width: auto;
            height: auto;
            transition: all .5s;
            filter: brightness(100%);
            transform: translateY(0);
        }

/* ================================================
- 商品區塊
================================================ */

.title_temp {
    max-width: 1200px;
    margin: auto;
}

.pro_temp {
    display: none
}

.prod_wrapper {
    position: relative;
    padding-bottom: 0;
}

    .prod_container {
        padding-bottom: 150px;
        position: relative;
        overflow: hidden;
    }

    .ProductList {
        /* max-width: 1200px; */
        margin: auto;
        position: relative;
        z-index: 9;
        overflow: hidden;
    }
        .ProductList:after {
            clear: both;
            display: table;
            content: '';
        }

/** title **/
    .tit {
        display: none;
        margin: auto;
    }
    .group .tit {
        display: block !important;
        background: url("../images/title_bg.png") left 83px no-repeat;
        max-width: 1200px;
        height: 115px;
        position: relative;
        z-index: 2;
    }
        .group .tit > div {
            color: #fff;
            font-size: 45px;
            line-height: 64px;
            font-weight: bold;
            text-align: center;
            box-sizing: border-box;
            background: url("../images/group_tit.png") no-repeat center;
            background-size: contain;
            max-width: 620px;
            height: 110px;
            /* padding-top: 0.35em; */
            margin: auto;
            position: relative;
            cursor: default;
        }
            .group .tit > div span {
                color: #ffd649;
                /* font-weight: bold; */
                display: block;
                font-weight: normal;
                padding-top: 0.35em;
                padding-bottom: 0.35em;
                padding-right: 1.6em;
                -webkit-text-stroke: 1px #ffd649;
                text-shadow: 0 5px 10px rgb(0 0 0 / 30%);
            }
            .group .tit a {
                color: transparent;
                font-size: 20px;
                line-height: 34px;
                background: url("../images/group_tit_more.png") no-repeat center transparent;
                display: inline-block;
                width: 123px; height: 50px;
                padding: 0 20px;
                margin: auto;
                border-radius: 30px;
                position: absolute;
                top: 0; /*bottom: 0;*/ bottom: 0.65em;
                right: 45px;
            }
            .tit_img {
                max-width: 125px;
                margin-bottom: -10px;
            }

/** 商品區塊 **/
    .group {
        box-sizing: border-box;
        max-width: 1200px;
        width: 98%;
        padding-top: 50px;
        padding-bottom: 70px;
        margin: 0 auto;
        /* margin: 30px auto 0; */
        position: relative;
    }
        .group:before {
            content:'';
            background: url("../images/border.png") no-repeat center transparent;
            background-size: 100% 100%;
            /* background-color: transparent; */
            width: 120%;
            margin: auto;
            position: absolute;
            top: 60px;
            bottom: 0;
            right: 0;
            left: -14%;
            z-index: 1;
        }

/** 商品 **/
    .ProductList {
        width: initial;
        overflow: initial;
    }
        .ProductList .item {
            /* width: 220px; */ /* 5品一行 */
            width: 265px; /* 4品一行 */
            border-radius: 10px;
        }
        .ProductList .item > a {
            border-radius: 10px;
            position: relative;
            z-index: 9;
        }
        .ProductList .ProductImg {
            background-position: center;
            background-repeat: no-repeat;
            background-size: cover;
            /* width: 220px; height: 220px; */ /* 5品一行 */
            /* width: 265px; height: 265px; */ /* 4品一行 */
            border-radius: 10px;
            /* transition: all 1s; */
        }
            .ProductList .ProductImg:hover {
                /* background-size: 150% 150%; */
            }
        .ProductImg .tab {
            color: #ffffff;
            font-size: 18px;
            font-weight: bold;
            display: inline-block;
            background-color: #ff3399;
            padding: 10px 20px;
            border-radius: 0 0 10px 10px;
            box-shadow: rgb(0 0 0 / 35%) 2px 2px 3px;
            position: absolute;
            top: 0;
            left: 10px;
            z-index: 4;
        }
        .ProductList .ProductDesc {
            /* background: linear-gradient(90deg, #e04d34 0%, #e04d34 0%, #ffb02c 100%); */
            /* background: linear-gradient(90deg, #e04d34 0%, #ffb02c 100%); */
            background: linear-gradient(90deg, #870c49 0%, #ff3399 100%);
        }

    .item {
        text-align: center;
        float: left;
        
        /* width: 220px; */ /* 5品一行 */
        /* margin-right: 4px; margin-left: 4px; */
        
        width: 265px; /* 4品一行 */
        margin-right: 10px; margin-left: 10px;

        margin-bottom: 15px;
    }
        .item > a {
            display: block;
            background: #fff;
            padding-top: 5px;
            -webkit-box-shadow: 0px 2px 2px 0px rgba(0, 0, 0, 0.45);
            -moz-box-shadow: 0px 2px 2px 0px rgba(0, 0, 0, 0.45);
            box-shadow: 0px 2px 2px 0px rgba(0, 0, 0, 0.45);
            
            -webkit-transition-timing-function: ease-out;
            transition-timing-function: ease-out;
            -webkit-transition-duration: 0.1s;
            transition-duration: 0.1s;
            overflow: hidden;
        }
            .item > a:hover, .item > a:focus, .item > a:active {
                transform: translateY(-5px)
            }
        .item .ProductImg {
            position: relative;
            overflow: hidden;
            margin: 0 auto;
            width: 100%;
            /* max-width: 220px; height: 220px; */ /* 5品一行 */
            /* max-width: 265px; height: 265px; */ /* 4品一行 */
            max-width: 255px; height: 255px; /* 4品一行 留空 */
        }
            .item .ProductImg img {
                /* position: absolute;
                top: 0;
                right: 0;
                bottom: 0;
                left: 0;
                margin: auto;
                max-width: 100%;
                max-height: 100%; */
                width: 100%;
                height: 100%;
                object-fit: cover;
            }
        .item .ProductDesc {
            overflow: hidden;
            padding: 0 5px;
            height: 36px;
            color: #fff;
            font-weight: bold;
            font-size: 15px;
            line-height: 36px;
            background: linear-gradient(90deg, #870c49 0%, #ff3399 100%);
            width: 90%;
            margin: 2px auto;
            border-radius: 50px;
        }
        .item .ProductName {
            overflow: hidden;
            padding: 4px 5px;
            height: 38px;
            color: #000;
            text-align: center;
            font-size: 16px;
            line-height: 21px;
        }
.item .ProducPrice, .item .Event_Condition {position: relative; padding: 5px; height: 41px; color: #ff0e00; line-height: 1.2em; margin-top: 3px;}
.item .ProducPrice label {cursor: pointer;}
.item .ProducPrice i em span {font-size: 13px;}
.item .ProducPrice i {display: flex; flex-direction: column-reverse;}
.item .ProducPrice span, .item .Event_Condition i span {margin: 0 2px; font-weight: 500; font-size: 33px;}
.item .ProducPrice i em {color: #747474; font-style: normal; font-size: 13px; padding-top: 1px;}      


/* ================================================
- 右側懸浮 float
================================================ */

.gotop {
    background: rgba(0, 0, 0, 0.7);
    color: #fff;
    font-size: 22px;
    line-height: 60px;
    text-align: center;
    height: 60px;
    position: fixed;
    left: calc(50% + 620px);
    width: 60px;
    border-radius: 30px;
    bottom: 250px;
    z-index: 900;
    display: none;
    cursor: pointer;
}

.NavArea {
    display: none;
}
@media screen and (min-width: 769px) {

    /** float **/
    .NavArea {
        display: none;
        width: 140px;
        position: fixed;
        top: 50px;
        right: 0;
        z-index: 250;
    }

    .Nav-slide.active {
        color: #fff;
        background: #5f083b;
        text-shadow: #000 0 0 1em;
    }
    

    .float_tit {
        text-align: center;
    }

    .float_main {
        width: 138px;
        opacity: 0.9;
        filter: alpha(opacity=90);
    }

    .go_top {
        display: block;
        cursor: pointer;
    }

    .Nav-wrapper {
        /* background: #267ba2; */
        background-color: rgb(205 48 138 / 96%);
        width: 100px;
        margin: -55px auto 0;
        padding-top: 60px;
        border-top-right-radius: 10px;
        border-top-left-radius: 10px;
        border-bottom-right-radius: 10px;
        border-bottom-left-radius: 10px;
        /* overflow: hidden; */
    }

    .Nav-wrapper li {
        font-size: 15px;
        text-align: center;
        background: transparent;
        /* margin: auto; */
        padding: 5px 0 5px;
        position: relative;
    }

    .Nav-wrapper li.highlight0 {
        font-size: 24px;
        line-height: 26px;
        border-radius: 20px 0 0 0;
        padding-top: 20px;
        padding-left: 2px;
        color: #fff;
        font-weight: bold;
    }

    .Nav-wrapper li.highlight1 {
        padding-left: 2px;
    }

    .Nav-wrapper li.highlight2 {
        font-size: 24px;
        border-radius: 0 0 20px 20px;
        padding-bottom: 20px;
        padding-left: 2px;
    }
        .Nav-wrapper li.go_top::before {
            content: ' ';
            display: block;
            background: url("../images/float_bottom.png");
            position: absolute;
            width: 126px;
            height: 116px;
            bottom: -85px;
            right: -20px;
            z-index: 251;
        }

    .Nav-wrapper li a {
        color: #fff;
        font-weight: bold;
        cursor: pointer;
        position: relative;
        z-index: 500;
    }

    .Nav-wrapper li a:hover,
    .Nav-wrapper li a:focus,
    .Nav-wrapper li a:active {
        color: #fff;
        text-shadow: #fc42ad 0 0 1em;
    }

    .Nav-wrapper li:after {
        background: #fc42ad;
        box-shadow: #fc42ad 0 0 1em;
        height: 2px;
        position: absolute;
        right: 51%; left: 51%;
        bottom: 0;
        z-index: 1;
        content: "";
        -webkit-transition-timing-function: ease-out;
        transition-timing-function: ease-out;
        -webkit-transition-duration: 0.3s;
        transition-duration: 0.3s;
        -webkit-transition-property: left, right;
        transition-property: left, right;
    }

    .Nav-wrapper li:hover:after,
    .type_leftmenu li:focus:after,
    .type_leftmenu li:active:after,
    .type_leftmenu li.active:after,
    .type_leftmenu li.Nav-slide.active:after {
        right: 10%;
        left: 10%;
    }

    .Nav-wrapper li.highlight0:after {
        background: transparent;
    }
}

/* ================================================
- 底部選單
================================================ */

.M_menu_wrap {
	display: none;
}
.M_menu_block {
    background: rgba(85,85,85,0.85);
    background: -moz-linear-gradient(0deg, rgba(85,85,85,0.85) 0%, rgba(17,17,17,0.85) 100%);
    background: -webkit-linear-gradient(0deg, rgba(85,85,85,0.85) 0%, rgba(17,17,17,0.85) 100%);
    background: linear-gradient(0deg, rgba(85,85,85,0.85) 0%, rgba(17,17,17,0.85) 100%);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}
@media screen and (max-width:768px) {
    .M_menu_wrap { display:block; font-size: 15px; position: fixed; bottom: 0; z-index: 200; }
    .M_menu_block { position: fixed; bottom:0; /**background: rgba(0,0,0,1)**/; width: 100%; z-index: 200; }
    .M_menu_block ul li { width: 26vw; box-sizing: border-box; text-align: center; float: left; height: 50px; cursor: pointer; border-top: 1px solid #999; border-right: 1px solid #666; border-left: 1px solid #222; }
    .rule .M_menu_block ul li /* - 活動說明頁 : 規則頁 rule */ { /*width: 19.5vw;*/ }
    .M_menu_block ul li.M_menu_gotop  { background: linear-gradient(0deg, #870c49 0%, #ff3399 100%); width: 22vw; }
    /**.M_menu_block ul li:last-child {border:none;}**/
    .M_menu_block ul li:before {content:''; display: inline-block; vertical-align: middle; height: 100%; }
    .M_menu_block ul li a { display: inline-block; width: 100%; color: #fff; font-size: 15px; line-height: 16px; vertical-align:middle; }
    .M_menu_block ul li a b { display: inline-block; text-shadow: 0 0 2px black; box-sizing: content-box; background: #ff3399; padding: 5px; width: 1em; height: 1em; border-radius: 100px; }
    .M_menu_block ul li.best a { color: yellow; }
    .M_menu_filter { display: none; position: fixed; bottom:60px; width: 95%; margin: auto; left: 0; right: 0; background: #fefefe; border-radius: 10px;z-index: 200; }
    .M_menu_filter:after { content:''; display: inline-block; width: 0; height: 0; border-width:7px; border-color:#fefefe transparent transparent transparent ; border-style:solid; position: absolute; left: 0; right: 0; bottom:-14px; margin: auto; }
    .M_menu_filter ul li { /*width: 33.3%;*/ box-sizing: border-box; text-align: center; float: left; height: 50px; padding: 5px; }
    .M_menu_filter ul li a { background: darkred;  display: block; font-size: 14px; height: 35px; color: #fff;vertical-align: middle; border-radius: 20px; }
    .M_menu_filter ul li a:before { content:''; display: inline-block; vertical-align: middle; height: 100%; }
    .bk_mask { display: none; position: fixed; width: 100vw; height: 100vh; background: rgba(0,0,0,.8); top:0;z-index: 100; }   
}

/* ================================================
- 活動說明頁 : 規則頁 rule
================================================ */

.rule {
    background: url("../images/rule_kv.png") no-repeat top center,  url("../images/bg.jpg") repeat-y center 657px #000;
}
    .rule_bg_move {
        display: none;
        background: url("../images/bg_pro.png") no-repeat;
        position: fixed;
        top: 0; bottom: 0;
        left: 0; right: 0;
    }

    .rule .kv_bg {
        background: none;
        height: 650px;
    }
        .rule .kv_bg::after, .rule .kv_bg::before { display: none; }

.terms_container {
    background: url("../images/rule_border.png") no-repeat center;
    background-size: 100% 100%;
    max-width: 1200px;
    padding-top: 5em;
    padding-bottom: 6em;
    margin: auto;
    position: relative;
}
    .terms_container::before {
        content: ' '; display: block;
        background: url("../images/rule_border-center.png") no-repeat left center;
        width: 70px;
        height: 290px;
        margin: auto;
        position: absolute;
        top: 0; bottom: 0;
        left: -1%;
        z-index: 2;
    }
    .terms_container::after {
        content: ' '; display: block;
        background: url("../images/rule_border-center.png") no-repeat right center;
        width: 70px;
        height: 290px;
        margin: auto;
        position: absolute;
        top: 0; bottom: 0;
        right: -1%;
        z-index: 2;
    }
.terms_container .title {
    text-align: center;
    display: block;
    width: 100%;
    margin: auto;
    position: absolute;
    left: 0; right: 0;
    top: -2%;
}
.terms_content {
    background-color: rgba(255, 255, 255, 0.5);
    width: 85%;
    margin: auto;
}
.go-back-btn {
    text-align: center;
    /* padding-top: 35px; */
    padding-bottom: 35px;
    position: relative;
    z-index: 4;
}
    .go-back-btn a,
    .go-back-btn img {
        width: 80%;
        max-width: 315px;
        margin: auto;
    }

/* 規則頁 : 內文編輯區 */
.terms_container h3 {
    /* background: linear-gradient(90deg, #8d31ff, #4631ff); */
    background: linear-gradient(90deg, #5e20ed 0%, #6e69e9 50%, #36d8ed 100%);
    border-radius: 20px;
    font-size: 22px;
    line-height: 30px;
    font-weight: bold;
    padding: 5px 20px;
    display: inline-block;
    margin: 10px 0;
    color: #fff;
}

.terms_content h3 strong {
    /* color: #00ffcb; */
    margin-right: 3px;
}

.terms_content h4 {
    font-weight: bold;
    font-size: 18px;
    color: #d0e4ff;
}

.terms_dflex {
    display: flex;
    justify-content: flex-start;
    align-items: center;
}

.terms_content ol li {
    margin: 0 30px 7px 40px;
    list-style-type: decimal;
}

.terms_content li strong {
    color: #4631ff;
}

.terms_content a {
    display: inline-block;
    font-weight: bold;
    font-size: 18px;
    margin: 5px 3px;
    border-radius: 10px;
    color: #fff;
    background-color: #4631ff;
    padding: 5px 20px;
    transition: transform .35s;
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
}

.terms_content a:hover {
    -webkit-transform: translate(10%, 0);
    transform: translate(10%, 0);
}

.terms_content a.over {
    background-color: lightgray;
}

.terms_content a.over:hover {
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
}

.terms_container p {
    padding-left: 18px;
    margin-bottom: 5px;
}

.box1 .gift {
    width: 100%;
    max-width: 385px;
}

.bottom-btn {
    text-align: center;
    /* margin-top: 8%; margin-bottom: 8%; */
    /* margin-bottom: 40px; */
}
    .bottom-btn a {
        display: inline-block;
        background-color: transparent;
        transition: transform 1s;
        -webkit-transform: translate(0, 0);
        transform: translate(0, 0);
    }
    .bottom-btn a:hover {
        -webkit-transform: translate(5%, 0);
        transform: translate(5%, 0);
    }

.terms_prize_list th,
.terms_prize_list td {
    border: 2px solid #d91787;
    text-align: center;
}

/**rule_wrapper**/
.rule_wrapper {
    background: url("../images/rule_box-top.png") no-repeat top center;
    /* width: 1100px; */
    width: 1200px;
    margin: 0px auto 70px;
    position: relative;
    top: 0px;
}
    .rule_wrapper::after {
        content: ' ';
        display: block;
        background: url("../images/rule_box-bottom.png") no-repeat top center;
        width: 100%;
        height: 31px;
        position: absolute;
        bottom: -30px;
        left: 0; right: 0;
    }

.rule_container {
    /* background-color: #fff; 
    border: solid 3px #fff;  
    border-radius: 20px; */
}

/**rule_content**/
.rule_content {
    font-size: 15px;
    line-height: 25px;
    background: url("../images/rule_box-main.png") repeat-y top center;
    /* border-radius: 20px;
    background: #fff; */
    width: 90%;
    margin: auto;
    padding: 30px;
}

    .rule_photo {
        text-align: center;
        background: url("../images/rule_event_photo.png") no-repeat center;
        background-size: 100% 100%;
    }

        .rule_photo img {
            width: 100%;
            max-width: 876px;
        }

    .rule_wrapper .title1 {
        color: #fff;
        font-size: 32px;
        line-height: 35px;
        font-weight: 800;
        text-align: center;
        background: linear-gradient(90deg, #870c49 0%, #ff3399 100%);
        padding: 25px 0 25px;
        border-radius: 20px 20px 0 0;
        width: 94%;
        margin: auto;
    }

    .rule_wrapper .h2 {
        color: white;
        /* color: #ffea00; */
        font-size: 18px;
        font-weight: bold;
        display: inline-block;
        text-align: center;
        background: #d91787;
        margin: 10px 0;
        padding: 5px 20px;
        border-radius: 20px;
    }

    .rule_wrapper h3 {
        color: #d91787;
        font-weight: bold;
        font-size: 18px;
        line-height: 23px;
        margin-top: 20px;
    }

    .rule_wrapper li {
        margin-left: 25px;
        padding: 2px 0;
        list-style-type: disc;
    }

.rule a {
    display: inline-block;
}

    a.btn_back {
        display: block;
        margin: auto;
        padding: 10px 20px;
        width: 100px;
        border-radius: 50px;
        background-color: darkred;
        color: #fff;
        text-align: center;
        text-decoration: none;
        font-size: 24px;
        transition: linear .2s;
        cursor: pointer;	
    }

            a.btn_back:hover, a.btn_back:focus, a.btn_back:active {
                background-color: tomato;
            }

    a.btn {
        display: inline-block;
        padding: 5px 15px;
        border-radius: 50px;
        background-color: #892315;
        color: #ffea00;
        text-align: center;
        text-decoration: none;
        font-size: 16px;
        transition: linear .2s;
        cursor: pointer;
        font-weight: bold;	
        margin-top: 5px;
    }

        a.btn:hover, a.btn:focus, a.btn:active {
            background-color: #ffea00;
            color: #892315;
            transform: translateX(10px);
        }

/* Table */
table {
    background: white;
    border-collapse: collapse;
    margin: 15px 0;
    width: 100%;
    border: 2px solid #d91787;
}

    table tr,
    table th,
    table td {
        border: none;
        border-bottom: 1px solid #e4ebeb;
    }

    table th,
    table td {
        padding: 10px 12px;
        text-align: left;
    }

    table th {
        background: #d91787;
        color: #ffffff;
        text-transform: uppercase;
    }

    table tr td {
        background: #f5f5f5;
    }

    table tr:nth-of-type(2n+2) td {
        background: #ffffff;
    }

table.bt {}

    table.bt tfoot th,
    table.bt tfoot td,
    table.bt tbody td {
        font-size: 14px;
        padding: 0;
    }

    table.bt tfoot th:before,
    table.bt tfoot td:before,
    table.bt tbody td:before {
        background: #989898;
        color: white;
        margin-right: 10px;
        padding: 10px 10px 0;
    }

    table.bt tfoot th .bt-content,
    table.bt tfoot td .bt-content,
    table.bt tbody td .bt-content {
        display: inline-block;
        padding: 10px 5px 0;
    }

    table.bt tfoot th:first-of-type:before,
    table.bt tfoot th:first-of-type .bt-content,
    table.bt tfoot td:first-of-type:before,
    table.bt tfoot td:first-of-type .bt-content,
    table.bt tbody td:first-of-type:before,
    table.bt tbody td:first-of-type .bt-content {
        padding-top: 10px;
    }

    table.bt tfoot th:last-of-type:before,
    table.bt tfoot th:last-of-type .bt-content,
    table.bt tfoot td:last-of-type:before,
    table.bt tfoot td:last-of-type .bt-content,
    table.bt tbody td:last-of-type:before,
    table.bt tbody td:last-of-type .bt-content {
        padding-bottom: 10px;
    }

/* ================================================
- 至適應
================================================ */

@media screen and (max-width: 1440px) {}

@media screen and (max-width: 1280px) {
    .kv_bg {
        /* height: 490px; */
    }
    
    .event_wrapper {
        padding: 0;
    }
    
    .group {
        width: 100%;
        max-width: initial;
    }
        .group:before {
            width: 125%;
            /* width: 100%;
            left: 0; */
        }

    .ProductList .item {
        width: 24vw;
        margin-right: 0.5vw;
        margin-left: 0.5vw;
        /* margin-right: 5px;
        margin-left: 5px; */
        margin-bottom: 10px;
    }
}

/* @media screen and (max-width: 1024px) and (min-width: 768px) {
    .kv_bg::before {
        background: url("../images/kv_beach_w1200.png") no-repeat top center;
        background-size: cover;
    }
} */

@media screen and (max-width: 768px) {
    
    body {
        width: 100vw;
        min-width: inherit;
    }
    
    * { box-sizing: border-box; }
    .header {
        width: 100vw;
        /* position: fixed; */
        /* position: absolute; */
        position: relative;
        top: 0;
        left: 0; right: 0;
        z-index: 9999;
    }
    .footer, .drift { display: none; }
    .hd_pc { display: none; }
    .hd_m { display: block; }
    .pc_mode { display: none }
    .m_mode { display: block }
    .display_m { display: block !important; }
    .display_pc { display: none !important; }
    .inline-block_m { display: inline-block !important; }

    .wrapper {
        /* background: url("../images/bg.jpg") top center repeat-y #000; */
    }

    .main {
        /* background: url(../images/bg_all_m.jpg) top center repeat-y #99000c; background-size: 100%; */
        padding-bottom: 60px; /*單行*/
        /*padding-bottom: 85px;*/ /*2行*/
    }
        .rule .main {
            padding-bottom: 0;
        }

    /** kv **/
    .kv_bg {
        /* background: url("../images/kv_bg.jpg") top center no-repeat; background-size: 275vw; */
        /* background: url("../images/kv_bg_m.png") center 50px no-repeat; */
        background: url("../images/kv_bg_m.png") center top no-repeat;
        background-size: contain;
        width: 100vw;
        /* padding-top: 50px; */
    }

    .kv {
        width: 100vw;
        /* height: 100%; */
        height: 115vw;
    }

    .slogan {
        width: 90%;
        top: 0;
        right: 0;
    }

    .kv_goods {
        width: 53%;
        /* max-width: 200px; */
        top: 40%;
        right: 0;
        left: 0;
    }

    .kv_float { display: none; }

    /* 抽獎商品 */
    .kv_lottery {
        flex-wrap: wrap;
        margin: 0 auto 20px;
    }
    .kv_lottery-item::before, .kv_lottery-item+.kv_lottery-item::before,
    .kv_lottery::before, .kv_lottery::after { display: none; }
        .kv_lottery-item {
            text-align: center;
            width: 50%;
            margin-bottom: 10px;
        }
        .kv_lottery-item img {
            width: 90%;
            margin: auto;
        }

    .prod_rota {
        width: 80vw;
        top: 84vw;
        right: 10vw;
        height: auto;
    }

    /** 活動 **/
    .event_wrapper {
        width: 96vw;
        max-width: 735px;
    }

    .events {
        /* flex-direction: column; */
        width: 100%;
        height: auto;
        max-height: initial;
    }
        .events .event-item {}

    /**Product**/
    .prod_wrapper {
        padding-bottom: 30px;
        background-size: 100%;
        top: -6vw;
    }
        .prod_wrapper .group:last-child {
            padding-bottom: 0;
        }
        .prod_wrapper_bg {
            width: 100vw;
        }
    .prod_container {
        padding-bottom: 0;
    }
    .ProductList {
        width: 100vw;
    }
    .group {
        background: none;
        padding-bottom: 0;
    }
        .group:before {
            background: none;
            top: calc(15vw - 8px);
        }
    .group .tit {
        background-size: contain;
        background-position: left 11vw;
        width: 100vw;
        height: initial;
        /* top: -15vw !important; */
        overflow: hidden;
    }
        .group .tit > div {
            font-size: 30px;
            line-height: 1.2em;
            box-sizing: content-box;
            /* background: url('../images/group_tit.png') no-repeat center; */
            background: url('../images/group_tit_m.png') no-repeat center;
            background-size: 100% 100%;
            width: 100vw; height: auto;
            /* padding-top: 15px; padding-bottom: 15px; */
            padding-top: 10px; padding-bottom: 20px;
        }
            .group .tit > div span {
                box-sizing: border-box;
                display: block;
                width: 80%;
                padding-right: 75px;
                margin: auto;
                position: relative;
            }
            .group .tit > div span::after/* More / 查看更多>> */ {
                content: ' ';
                display: block;
                background: url('../images/group_tit_more.png') no-repeat center;
                background-size: contain;
                width: 75px; height: 35px;
                margin: auto;
                position: absolute;
                top: 0;
                bottom: 0;
                right: 0;
            }
            .tit_img {
                width: 35%;
            }
        .group .tit a /* More */ {
            font-size: 13px;
            line-height: 26px;
            background: none;
            background-color: transparent;
            width: 100%; height: 10%;
            padding: 0 10px;
            margin-top: calc(7.5vw - 14px);
            bottom: 0;
            left: 0; right: 0;
        }

    .prod_bg_item {
        height: calc(494vw + 1319px);
        margin-top: 16vw;
    }
        .prod_bg_item.prod_bg_00 {
            margin-top: 18vw;
        }
    .eventPage_bn_vipMember_wrapper {
        display: none;
    }

    .ProductList .item {
        margin-right: 0.5vw;
        margin-left: 0.5vw;
    }
    .ProductList .item, .item {
        margin-top: 5px !important;
        margin-right: 0.5vw;
        margin-left: 0.5vw;
        width: 49vw;
        margin-bottom: 0;
    }
        .item > a { padding-top: 0; }
        .item .ProductImg {
            max-width: 49vw !important;
            height: 49vw !important;
        }
    .item .ProducPrice {
        margin-top: 0; padding: 0; height: 47px;
    }
    .item .ProducPrice span, .item .Event_Condition i span {
        font-size: 25px;
		line-height: 1;
        font-weight: bold;
    }
    .item .ProducPrice i em span {
        margin-right: 5px;
        font-size: 12px;
        font-weight: bold;
    }
    .item .ProductName {
        height: 40px;
        font-size: 14px;
        line-height: 18px;
    }
    .item .ProductDesc {
        font-size: 14px;
        width: 95%;
        overflow: hidden;
    }
    
    /* 右側懸浮 float */
    .gotop {
        font-size: 18px;
        line-height: 40px;
        height: 40px;
        left: auto;
        right: 10px;
        width: 40px;
        bottom: 80px;
        display: none;
    }
    .NavArea {
        position: fixed;
        top:0;
        left: 0;
        right: 0;
        z-index: 999;
        /* display: block; */
        display: none;
    }
    .NavArea .Nav {
        position: relative;
        margin: 0;
        padding: 0;
        overflow-x: scroll;
        background-color: #000;
    }
    .NavArea .Nav ul {
        white-space: nowrap;
        padding-top: 10px;
    }
    .NavArea .Nav li {
        z-index: 10;
        position: relative;
        display: inline-block;
        padding: 0;
        overflow: hidden;
        width: auto;
        font-weight: inherit;
        text-align: center;
    }
    .NavArea .Nav li:nth-child(odd){
        background-color: #131313;
    }
    .NavArea .Nav a {
        color: #fff;
        text-decoration: none;
        line-height: 44px;
        position: relative;
        padding: 0 12px;
        height: 44px;
    }
    .Nav-slide.active a {
        color: salmon;
    }
    .float_tit { display: none !important; }
    /* .go_top { display: none; } */
    /**M_menu**/
    .M_menu_block {
        width: 100vw;
        /* background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #555), color-stop(100%, #111)); */
        box-shadow: 0px -1px 1px #333;
    }
    .M_menu_block:after {
        clear: both;
        display: table;
        content: '';
    }
    .M_menu_block ul {
        overflow: hidden;
    }
    .M_menu_block li {
        float: left;
        /* padding-top: 7px; */
        width: 20vw;
        height: 55px;
        border-top: 1px solid #999;
        border-right: 1px solid #666;
        border-left: 1px solid #222;
        text-align: center;
    }
    .M_menu_block li.col-4 {
        width: 25vw;
    }
    .M_menu_block li a {
        color: #fff;
        display: inline-block;
        line-height: 19px;
    }
    .M_menu_block ul li.best {
        width: 100vw;
    }
    .M_menu_block ul li.best a {
        color: yellow;
    }
    .M_menu_block ul li:before {
        display: inline-block;
        height: 100%;
        content: '';
        vertical-align: middle;
    }

    
    /* 規則頁 */
    .rule {
        background: url("../images/kv_bg_m.jpg") center top no-repeat,  url("../images/bg.jpg") repeat-y center 100vw #000;
        background-size: contain;
    }
    .rule .kv_bg {
        height: 105vw;
    }
    .rule_bg_move { display: none; opacity: 0; }
    /* .terms_wrapper { padding-bottom: 50px; } */
    .terms_container { padding-bottom: 8em; }
    .terms_container::before,
    .terms_container::after { display: none; }
    .terms_container .title {}
    .terms_container .title img {
        width: 100%;
    }
    .rule_content strong {
        color: crimson;
    }
    .go-back-btn {
        /* margin: auto;
        position: absolute;
        left: 0; right: 0;
        bottom: 0; */
        margin: -35px auto 0;
        padding-bottom: 58px;
    }

    /* 規則頁 : 內文編輯區 */
    
    .terms_container h3 {
        font-size: 20px;
        line-height: 26px;
    }

    .terms_dflex {
        align-items: flex-start;
        flex-direction: column;
    }

    .terms_content {
        background-color: transparent;
    }

    .terms_content ol li {
        margin: 4px 5px 0 15px;
    }

    .lazy .terms_prize_list {
        font-size: 14px;
        line-height: 20px;
    }

    .terms_prize_list th {
        display: none;
    }

    .terms_prize_list td {
        display: block;
        text-align: left;
        border: none;
        border-bottom: 1px dotted #d91787;
        margin: 3px 0;
    }

    .lazy .terms_prize_list td {
        float: left;
        border-bottom: none;
        margin: 0;
    }

    .terms_prize_list_date {
        margin-top: 20px !important;
    }

    .terms_prize_list td:before {
        display: inline-block;
        width: 120px;
        text-align: center;
        font-size: 15px;
        color: #fff;
        border-radius: 10px;
        background-color: #d91787;
        content: attr(data-label);
        margin: 3px 5px 3px 0;
        padding: 3px 0;
        font-weight: bold;
    }

    .rule .terms_content img {
        max-width: 80%;
    }
    
    /**rule_container_m**/
    .rule_wrapper { width: 100vw; }
    .rule_container { padding-top: 66px; }
    .rule_content { width: 100%; padding: 20px; }
    .rule_wrapper .title1 { font-size: 23px; width: 100%; padding: 15px 0; }	
    .rule_content span { display: block!important; padding-left: 0.3em; padding-right: 0.3em; }

    table {
        /* border: 0px solid #d91787; */
    }

    table.two-axis tr td:first-of-type,
    table.two-axis tr:nth-of-type(2n+2) td:first-of-type,
    table.two-axis tr td:first-of-type:before {
        background: #d91787;
        color: #ffffff;
    }

    table.two-axis tr td:first-of-type {
        /* border-bottom: 1px solid #e4ebeb; */
    }
    
    table.two-axis tr td:first-of-type:before {
        padding-bottom: 10px;
    }
    
    table tr,
    table th,
    table td {
        /* border-bottom: 10px solid #fff; */
        font-size: 14px;
    }
    
    table th {
        /* background: #56a2cf; */
    }

    table th,
    table td {
        padding: 5px;
    }

}

@media screen and (max-width: 768px) and (min-width: 560px) {}

@media screen and (max-width: 480px) {}

@media screen and (max-width:320px) {
    .item .ProducPrice i em span {
        font-size: 11px;
    }
    .item .ProducPrice .price_txt {
        font-size: 13px;
    }
}