@charset "utf-8";

/* CSS Document */


/* 共用消息內頁總設定 */

.wrap {
    background: none;
}

.section01 h3.titleSlogn {
    color: #00a919;
    margin-top: 20px;
}

.section01 p.date {
    border-bottom: 1px solid #00a919;
    font-weight: 600;
    display: table;
    margin: 0 auto 15px auto;
    line-height: 1.8;
}

.section01 {
    padding-bottom: 40px;
}

.section02 {
    line-height: 1.8;
    padding-top: 0;
}


/* section02 */

.pointCollection {
    background: url('../images/bg.jpg') repeat-y top center;
    background-size: 100% 30%;
}

.titleProduct {
    max-width: 350px;
    float: right;
}

.intro {
    padding: 0 50px 50px 50px;
    margin-top: -12%;
    position: relative;
}

.section {
    margin-bottom: 30px;
}

.sectionSteps {
    margin-top: -50px;
}

.section:last-of-type {
    margin-bottom: 0;
}

.section:first-of-type>p:first-of-type {
    font-size: 1.6rem;
    font-weight: 500;
}

.section>p:first-of-type {
    color: #00a919;
}

.section ul {
    padding-left: 40px;
}

.section ul li {
    list-style: disc;
    color: #00a919;
    padding-left: 13px;
    margin: 8px 0;
}

.section ul li p {
    color: #2e2e2e;
}

p.tips {
    margin-bottom: 10px;
}

.appStore a {
    width: 55%;
    max-width: 200px;
}

.appStore a img {
    max-width: 193px;
}

img.GiveawayProduct {
    max-width: 650px;
    position: absolute;
    right: 4%;
    top: 1%;
}

img.mb_GiveawayProduct {
    display: none;
    max-width: 400px;
    margin: 20px auto;
}


/* 兌換贈品表格 */

.section02 table {
    width: 100%;
    background: #FFF;
}

.section02 table th,
.section02 table td {
    padding: 13px 20px;
    box-sizing: border-box;
}

.section02 table.tableContent th,
.section02 table.tableContent td {
    border-bottom: 2px solid #efebe8;
}

.section02 table.tableContent tr:last-of-type th,
.section02 table.tableContent tr:last-of-type td {
    border-bottom: 0;
}

.section02 table.tableContent tr:nth-child(2n) td {
    background: #f9f9f5;
}

.section02 table.tableContent {
    border: 3px solid #00a919;
    border-radius: 10px;
}

.section02 table.tableContent .tableTitle {
    background: #00a919;
    font-weight: 400;
    color: #FFF;
    width: 130px;
    text-align: center;
}

.middleText {
    display: inline-table;
    vertical-align: middle;
}

.medFirstLogo {
    width: 39%;
    max-width: 181px;
    display: inline-table;
    vertical-align: middle;
}

.contactNumber {
    color: #78bd33;
    text-decoration: underline;
}

br.BR375 {
    display: none;
}


/* 集點兌換流程 */

.ProcessTitleMask {
    height: 83px;
    position: sticky;
    z-index: 21;
    /* background: url('../images/bg.jpg') repeat; */
    top: 0;
}

.ProcessTitle {
    color: #00a919;
    top: 83px;
    margin: 0 0 50px 0;
    position: sticky;
    z-index: 22;
    background: url('../images/ProcessTitleBg.png') repeat-x bottom left;
    background-size: contain;
    padding-bottom: 71px;
}

.ProcessTitle h2 {
    display: table;
    margin: 0 auto;
    background: #FFF;
    padding: 0 10px;
    position: relative;
    z-index: 2;
}

.ProcessTitle .line {
    border-top: 3px solid #00a919;
    margin-top: -1vw;
}

.stepTitle {
    display: table;
    margin: 0 auto -20px auto;
    position: relative;
    z-index: 2;
    padding: 0 19px;
    font-size: 1.5rem;
    font-weight: 500;
    background: #FFF;
}

.stepTitle span {
    display: inline-table;
    width: 50px;
    height: 50px;
    line-height: 50px;
    text-align: center;
    background: #00a919;
    color: #FFF;
    border-radius: 100em;
    margin-right: 7px;
}

.step {
    display: table;
    width: 100%;
    /* padding: 5%; */
    box-sizing: border-box;
    border: 3px solid #cbcbcb;
    background: #FFF;
    border-radius: 10px;
    overflow: hidden;
    position: relative;
    z-index: 1;
}

.step div {
    display: inline-table;
    width: 32.8%;
    vertical-align: middle;
    text-align: center;
    /* padding: 0 10px; */
    padding: 2% 2%;
    box-sizing: border-box;
}

.step01 div p {
    text-align: center;
}

.step.step04 div:nth-of-type(4) p {
    text-align: left;
}


/* .step.step04 div:nth-of-type(1) p,
		.step.step04 div:nth-of-type(2) p,
		.step.step04 div:nth-of-type(3) p{
			margin-bottom: 50px;
		} */

.step.step06 div {
    vertical-align: top;
}

.step.step06 div p {
    text-align: left;
}

.step.step04 div.notice {
    display: block;
    background: #ececec;
    padding: 20px;
    box-sizing: border-box;
    width: 100%;
    text-align: left;
}

.step.step04 div.notice>p {
    color: #00a919;
    font-weight: 500;
}

.step.step04 div.notice img,
.step.step04 div p>img {
    width: 12%;
    max-width: 35px;
    min-width: 20px;
    display: inline-table;
    vertical-align: middle;
}

.step.step04 div p>img {
    width: 12%;
    max-width: 35px;
    min-width: 20px;
    display: inline-table;
    vertical-align: middle;
}

.step.step06 h4.tips {
    display: table;
    margin: 50px auto;
    padding: 0 20px;
    box-sizing: border-box;
}

.step.step06 h4.tips p {
    display: table;
    margin: 0 auto;
}

.step.step06 h4.tips p span {
    color: #00a919;
}

.step.step06 h4.tips p:last-of-type {
    position: relative;
    background: url('../images/h4tips.png') top left;
    display: inline;
}


/* .step.step06 h4.tips p:last-of-type:before{
			content: '';
			background: #c4e9ad;
			width: 100%;
			height: 20px;
			bottom: 1px;
			left: 0;
			position: absolute;
			z-index: -1;
		} */

.step.step06 p.storeStep {
    color: #009fe8;
    display: table;
    position: absolute;
    bottom: 9.5%;
    left: 35.5%;
    text-align: center;
}

.step.step06 p.storeStep span {
    display: inline-block;
    vertical-align: middle;
    border-radius: 100em;
    border: 3px solid #009fe8;
    width: 58px;
    height: 58px;
    text-align: center;
    margin: 0 8px;
    box-sizing: border-box;
    line-height: 51px;
}

.step.step06 p.storeStep br.br1060Block {
    display: none;
}

.step.step06 p.storeStep.storeStepSP {
    display: none;
    position: relative;
    text-align: center;
    width: 100%;
}


/* table */

#tableMask {
    height: 100px;
}

#table {
    border-collapse: collapse;
    width: 100%;
    border: 0;
}

#table thead {
    position: -webkit-sticky;
    position: sticky;
    top: 83px;
}

#table td,
#table th {
    padding: 8px;
}

#table tr {
    background-color: #FFF;
    transition: all .4s;
}

#table tr:nth-child(even) {
    background-color: #f9f9f5;
    transition: all .4s;
}

#table tr:hover {
    background-color: #f2eee6;
    transition: all .4s;
}

#table tr td:first-child {
    color: #00a919;
}

#table th {
    padding-top: 12px;
    padding-bottom: 12px;
    text-align: left;
    background-color: #00a919;
    color: white;
}

#table td a {
    float: left;
}

#table td a span {
    display: block;
    padding: 6% 30px;
    margin: 0 auto;
    text-align: center;
}

@media screen and (max-width: 1560px) {
    img.GiveawayProduct {
        width: 45vw;
    }
    ul.preface {
        width: 45vw;
    }
}

@media screen and (max-width: 1210px) {
    ul.preface {
        width: 41vw;
    }
}

@media screen and (max-width: 1150px) {
    #tableMask {
        height: 43px;
    }
}

@media screen and (max-width: 1060px) {
    .step.step06 p.storeStep {
        bottom: 5.5%;
        left: 34%;
        text-align: left;
    }
    .step.step06 p.storeStep br.br1060Block {
        display: block;
    }
}

@media screen and (max-width: 1024px) {
    .ProcessTitle .line {
        margin-top: -16px;
    }
}

@media screen and (max-width: 970px) {
    img.GiveawayProduct {
        /* width: 36vw; */
        right: 4%;
        top: 1.2%;
    }
}

@media screen and (max-width: 800px) {
    .section02 table.tableContent .tableTitle {
        width: 110px;
    }
    .step div {
        display: table;
        width: 100%;
    }
    .step div img {
        max-width: 360px;
        margin: 0 auto;
    }
    .stepTitle {
        font-size: 1.3rem;
    }
    .section:first-of-type>p:first-of-type {
        font-size: 1.3rem;
    }
    .step.step04 div:nth-of-type(1) {
        margin-top: 30px;
    }
    .step.step04 div:nth-of-type(1) p,
    .step.step04 div:nth-of-type(2) p,
    .step.step04 div:nth-of-type(3) p,
    .step.step04 div:nth-of-type(4) p,
    .step.step04 div:nth-of-type(5) p {
        margin-bottom: 40px;
        text-align: center;
    }
    .step.step04 div:nth-of-type(4) p,
    .step.step04 div:nth-of-type(5) p,
    .step.step04 div:nth-of-type(6) p,
    .step.step06 div p {
        text-align: center;
    }
    .step.step06 p.storeStep.storeStepSP {
        display: block;
    }
    .step.step06 p.storeStep.storeStepPC {
        display: none;
    }
    .step.step06 p.storeStep {
        bottom: 0;
        left: 0;
        text-align: center;
    }
    img.GiveawayProduct {
        top: 0.4%;
        right: 0%;
    }
}

@media only screen and (max-width:768px) {
    .pointCollection {
        background-size: contain;
    }
}

@media screen and (max-width: 650px) {
    .step.step06 h4.tips p {
        display: inline;
    }
    img.GiveawayProduct {
        display: none;
    }
    img.mb_GiveawayProduct {
        display: block;
    }
    ul.preface {
        width: 100%;
    }
}

@media screen and (max-width: 600px) {
    .intro {
        padding: 0 20px 20px 20px;
    }
    .section ul {
        padding-left: 20px;
    }
    .section ul li {
        padding-left: 3px;
    }
    .section:first-of-type>p:first-of-type {
        margin-top: 30px;
    }
    .section:first-of-type>p:first-of-type,
    .section>p:first-of-type {
        font-size: 1.1rem;
    }
    .step {
        padding-top: 40px;
    }
    .stepTitle {
        font-size: 1.1rem;
        padding: 0 4px;
    }
    .stepTitle span {
        width: 40px;
        height: 40px;
        line-height: 40px;
    }
    .section02 table.tableContent .tableTitle {
        width: 83px;
    }
    .section02 table th,
    .section02 table td {
        padding: 9px;
    }
    .step.step06 h4.tips {
        margin: 3% auto;
    }
}

@media screen and (max-width: 550px) {}

@media screen and (max-width: 430px) {
    body .pointCollection a.more {
        padding: 16px 28px;
    }
    #table td a {
        width: 100%;
        padding: 0% 0;
    }
}

@media screen and (max-width: 414px) {
    .ProcessTitleMask {
        height: 75px;
    }
    .ProcessTitle {
        top: 74px;
        padding-bottom: 51px;
    }
    .step.step06 p.storeStep span {
        width: 44px;
        height: 44px;
        line-height: 39px;
    }
    .step.step04 div:nth-of-type(4) p,
    .step.step06 div p {
        text-align: left;
    }
    .step div:last-of-type,
    .step.step04 div:nth-of-type(6) {
        margin-bottom: 20px;
    }
    .step.step04 div:last-of-type {
        margin-bottom: 0;
    }
    #table td a span {
        font-size: 0.875rem;
    }
}

@media screen and (max-width: 375px) {
    body a.more {
        padding: 10px 5px;
        width: 100%;
    }
    br.BR375 {
        display: block;
    }
    .step.step06 p.storeStep.storeStepSP {
        text-align: left;
    }
}

@media screen and (max-width: 360px) {
    .stepTitle span {
        margin-right: 2px;
    }
    .step.step04 div:nth-of-type(1) p {
        text-align: left;
    }
}

@media screen and (max-width: 320px) {
    .stepTitle span {
        display: block;
        margin: 0 auto;
    }
    .step div {
        padding: 0 2%;
    }
    .step.step04 div:nth-of-type(1) {
        margin-top: 0;
    }
    .step.step04 div:nth-of-type(5) p {
        text-align: left;
    }
}