@charset "utf-8";

/*-----初始化-----*/
html,
body {
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
    overflow-scrolling: touch;
}

body {
    margin: 0;
    padding: 0;
    color: #333333;
    font: normal 16px/140% 'Roboto', "Noto Sans TC", sans-serif, Arial, Helvetica;
}

div,
p,
span,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
input,
table,
td,
th,
img {
    margin: 0;
    padding: 0;
    border: none;
    box-sizing: border-box;
    word-wrap: break-word;
    word-break: break-all;
}

ul,
ol {
    list-style: none;
}

a {
    display: block;
    text-decoration: none;
}

img {
    display: block;
    border: none;
}

/*-----base-----*/
.wrapper {
    position: relative;
    min-height: 100vh;
}

.d-flex {
    display: flex !important;
}

.d-flex.d-center {
    justify-content: center;
    align-items: center;
}

.d-flex.d-between {
    justify-content: space-between;
    align-items: center;
}

.d-inlineB {
    display: inline-block !important;
}

.d-block {
    display: block !important;
}

.tL {
    text-align: left !important;
}

.tC {
    text-align: center !important;
}

.mt-1 {
    margin-top: 10px;
}

.mb-0 {
    margin-bottom: 0px;
}

.mb-05 {
    margin-bottom: 5px;
}

.mb-1 {
    margin-bottom: 10px !important;
}

.mb-2 {
    margin-bottom: 20px !important;
}

.mb-3 {
    margin-bottom: 30px !important;
}

.m-auto {
    margin-right: auto;
    margin-left: auto;
}

.m-05 {
    margin: 0 5px;
}


.padd-0 {
    padding: 0 !important;
}

.padd-1 {
    padding: 10px !important;
}

.paddB-0 {
    padding-bottom: 0 !important;
}

.paddB-80 {
    padding-bottom: 80px !important;
}

.upper {
    text-transform: uppercase;
}

.b-line {
    border-bottom: 2px solid #333;
}

.bg-y-line {
    background: linear-gradient(to top, #fffc9e 50%, #fff 50%);
}

.f-tiny {
    font-size: 14px;
    line-height: 20px;
}

.f-small {
    font-size: 15px;
}

.f-normal {
    font-size: 1rem;
}

.f-mid {
    font-size: 1.2rem;
}

.f-big {
    font-size: 20px;
}

.f-huge {
    font-size: 24px;
}

.f-large {
    font-size: 28px;
    line-height: 30px;
}

.lh-140 {
    line-height: 140%;
}

.lh-180 {
    line-height: 180%;
}

.c-key {
    color: #fffe96 !important;
}

.c-yellow {
    color: #ffdc71;
}

.c-pink {
    color: #f12b95 !important;
}

.c-white {
    color: #fff;
}

.c-gray {
    color: #666;
}

.c-dark {
    color: #333;
}

.c-light-blue {
    color: #d0edff;
}

.c-orange {
    color: #f08239;
}

.c-blue {
    color: #2d46dd;
}

.c-purple {
    color: #7d09a5 !important;
}

.c-light-purple {
    color: #b32be3;
}

.fw-normal {
    font-weight: normal;
}

.fw-500 {
    font-weight: 500;
}

.fw-bold {
    font-weight: bold;
}

.td-none {
    text-decoration: none !important;
}

.bg-dark {
    background-color: #f12b95 !important;
    padding: 20px !important;
}

.bg-blue {
    background-color: #1e70a1 !important;
    padding: 20px !important;
}

.bg-red {
    background-color: #b9182b !important;
    padding: 20px !important;
}

.bg-purple {
    background-color: #9838b5 !important;
    padding: 20px !important;
}

.bg-orange {
    background-color: #f08239 !important;
}

.bg-light-pink {
    background-color: #ffe9eb !important;
}

.spac-2 {
    letter-spacing: 2px;
}

.br {
    clear: both;
}

.hr {
    background-color: rgb(0 0 0 / 15%);
    height: 1px;
    margin-bottom: 20px;
}

.w-80 {
    width: 80% !important;
}

/*-----banner-----*/
.banner {
    flex: 0 0 auto;
    width: 100%;
    height: auto;
}

.banner_top {
    flex: 0 0 auto;
    width: 100%;
    height: auto;
    background-color: #4daafa;
    text-align: center;
}

.banner img {
    width: 100%;
    height: auto;
}

.banner_top img {
    width: 100%;
    height: auto;
    max-width: 400px;
    margin: 0 auto;
}

/*-----footer-----*/
footer {
    display: none;
}

/*
footer{position: fixed; bottom: 0; left: 0; right: 0;  width:100%; height:40px; background:url(../images/bg_footer.jpg) repeat-x 0 center; background-size:contain; z-index:5;}
footer::before{ content: '';width: 95px; height:40px; background:url(../images/img_footer.jpg) no-repeat 0 center; background-size:100% auto; right: 0; top: 0; position: absolute;}
*/
/*頁面置底按鈕*/
.btn_main {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    height: 50px;
    margin: 0;
    padding: 0;
    background: linear-gradient(to right, #47e3c6, #32a49a);
    display: flex;
    z-index: 99;
    box-shadow: -5px 0 15px rgba(0, 0, 0, .2);
}

.btn_main a {
    flex: 1 1 50%;
    position: relative;
    color: #fff;
    font-size: 18px;
    font-weight: bold;
    letter-spacing: 1px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.btn_main a::after {
    content: "";
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    display: block;
    width: 2px;
    height: 24px;
    background: rgba(255, 255, 255, 0.5);
}

.btn_main a:last-child::after {
    display: none;
}

/*-----content-----*/
.content {
    position: relative;
    margin: 0 auto;
    padding: 20px 0;
}

.content .con_ind,
.content .con_inp {
    position: relative;
    padding: 0 15px;
    max-width: 1000px;
    margin: 0 auto 20px;
}

.con_txt {
    padding: 20px 0;
    font-size: 18px;
    position: relative;
}

/*內容_首頁*/
.index {
    background-color: #ffaa4d;
}

.wrapper.index::before {
    content: '';
    width: 100%;
    height: 500px;
    background: url(../images/bg_index_bot_3.png) center 0 no-repeat;
    background-size: cover;
    position: absolute;
    bottom: 0;
    left: 0;
}

.wrapper.inpage {
    background: #280e4d url(../images/background1.png) center 0 no-repeat;
    background-size: 100% auto;
    color: #fff;
}


.con_ind::before {
    content: '';
    width: 84%;
    height: 100px;
    border-radius: 12px;
    border: 2px solid #292929;
    background-color: #91ced1;
    position: absolute;
    top: -15px;
    left: 50%;
    margin-left: -42%;
}

.con_ind::after {
    content: '';
    width: calc(100% - 34px);
    height: 100px;
    border-radius: 24px;
    border: 2px solid #292929;
    background-color: #91ced1;
    position: absolute;
    bottom: -8px;
    left: 15px;
    right: 15px;
}

.con_main {
    position: relative;
    margin: 0 0 10px;
    padding: 0 10px;
    font-size: 18px;
    font-weight: 600;
}

.con_main h3 {
    font-weight: bold;
    text-align: center;
    font-size: 25px;
    clear: both;
    margin-bottom: 20px;
}

.txt_point_1 {
    font-size: 26px;
    line-height: 30px;
    border-radius: 8px;
    background-color: #b13ec7;
    padding: 4px 8px;
    margin: 0 5px;
    display: inline-block;
    box-shadow: 5px 5px 0 #ffaa4d;
}

.txt-gradient {
    background: linear-gradient(to top, #fdf392, #fff);
    background: -webkit-linear-gradient(to top, #fdf392, #fff);
    background-clip: text;
    -webkit-background-clip: text;
    color: transparent;
}

.txt_point_2 {
    position: relative;
    display: inline-block;
}

.txt_point_2::before {
    content: '';
    background-color: #fffc9e;
    width: 100%;
    height: 10px;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
}

.txt_point_2>p {
    position: relative;
}

.txt_point_3 {
    position: relative;
    display: inline-block;
}

.txt_point_3::before {
    content: '';
    background: url(../images/bg_txt_point_3.png) repeat-x;
    background-size: auto 10px;
    width: 100%;
    height: 10px;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
}

.txt_point_3>p {
    position: relative;
    padding: 0 5px;
    font-size: 20px;
}

.txt_point_4>p {
    color: #fffc9e;
    font-size: 22px;
    line-height: 22px;
    border-bottom: 1px solid #fffc9e;
    border-top: 1px solid #fffc9e;
    display: inline-block;
    padding: 10px 0;
}

.content .con_detail {
    padding: 0 15px;
}

.con_ind .con_detail span {
    margin: 0;
}

/*cb_01*/
.con_ind.cb_01 {
    margin-bottom: 60px;
    margin-top: -20px;
}

.con_ind .con_txt {
    background-color: #fff;
    border-radius: 24px;
    border: 2px solid #292929;
    position: relative;
    z-index: 1;
}

.con_ind.cb_01 .con_tit {
    margin-top: -68px;
}

.con_ind .btn_sec {
    margin-bottom: 10px;
}

/*大標題-圖片*/
.con_tit {
    text-align: center;
    margin: 0 auto;
    display: flex;
    justify-content: center;
}

.con_tit img {
    width: 100%;
    max-width: 360px;
    height: auto;
}

/*副標題-h3*/
.sub_tit {
    text-align: center;
}

.sub_tit h3 {
    position: relative;
    padding: 0 60px;
    display: inline-block;
    text-align: center;
    color: #440c83;
}

.sub_tit h3::before,
.sub_tit h3::after {
    content: '';
    width: 50px;
    height: 1px;
    background-color: #f12b95;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
}

.sub_tit h3::before {
    left: 0;
}

.sub_tit h3::after {
    right: 0;
}

.sub_tit span+span {
    padding-top: 10px;
    display: block;
}

.sub_tit.y-line h3 {
    color: #fffc9e;
}

.sub_tit.y-line h3::before,
.sub_tit.y-line h3::after {
    background-color: #fffc9e;
}

/*副標題2-h3*/
.sub_tit2 {
    font-size: 18px;
    color: #fff;
    font-weight: normal;
    margin-bottom: 15px;
    padding: 10px;
    background: linear-gradient(to right, #f42c95, #7b08a5);
    position: relative;
}

.sub_fillet {
    text-align: center;
    background-color: #fff;
    border-radius: 40px;
    padding: 4px 10px;
    color: #530868;
}

.sub_fillet.red {
    color: #dd2756;
}

.sub_fillet.darkR {
    color: #950800;
}

.sub_fillet.bg-pink {
    background-color: #f56367;
    color: #fff;
}

.sub_square {
    background-color: #ef8200;
    color: #fff;
    padding: 0 10px;
    height: 28px;
    display: inline-block;
    margin-right: 10px;
    position: relative;
}

.sub_square::before {
    content: '▶';
    color: #ef8200;
    position: absolute;
    right: -10px;
    top: 0;
    font-size: 14px;
    line-height: 28px;
}

.sub_square2 {
    background-color: #6903c6;
    color: #fff;
    padding: 0 10px;
    height: 28px;
    display: inline-block;
    position: relative;
}

/*內容_按鈕*/
.btn_sec {
    display: flex;
    justify-content: space-around;
}

.btn_sec .btn {
    position: relative;
    width: calc(50% - 10px);
    height: 40px;
}

.btn_sec .btn::before {
    content: '';
    width: 100%;
    height: 40px;
    border: 2px solid #292929;
    border-radius: 40px;
    background-color: #f5b357;
    position: absolute;
    bottom: -10px;
    left: 0;
    right: 0;
}

.btn a {
    width: 100%;
    height: 40px;
    background: linear-gradient(to right, #f56a33, #f5369a);
    border: 2px solid #292929;
    border-radius: 40px;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
    font-size: 20px;
    font-weight: 600;
    letter-spacing: 1px;
    position: relative;
}

/*活動列表*/
.plan_list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.plan_list li {
    width: calc(50% - 5px);
    margin-bottom: 10px;
    padding: 15px;
    border-radius: 12px;
    color: #fff;
    text-align: left;
    position: relative;
    overflow: hidden;
}

.plan_list li:first-child {
    width: 100%;
    background: linear-gradient(to right, #ffba3e, #ff8443, #ff4550);
}

.plan_list li:nth-child(2) {
    background: linear-gradient(to right, #158dd2, #2468c9, #264ec6);
}

.plan_list li:nth-child(3) {
    background: linear-gradient(to right, #0a9ead, #56ba94, #b9e38f);
}

.plan_list li:first-child::before,
.plan_list li:nth-child(2)::before,
.plan_list li:nth-child(3)::before {
    content: '';
    width: 76px;
    height: 64px;
    position: absolute;
}

.plan_list li:first-child::before {
    background: url(../images/plan_detail_1.png) no-repeat;
    background-size: contain;
    bottom: -8px;
    right: -8px;
}

.plan_list li:nth-child(2)::before {
    background: url(../images/plan_detail_2.png) no-repeat;
    background-size: contain;
    top: 5px;
    right: 0;
}

.plan_list li:nth-child(3)::before {
    background: url(../images/plan_detail_3.png) no-repeat;
    background-size: contain;
    bottom: -10px;
    right: -20px;
}

.plan_list .plan_detail {
    color: #fff;
    padding-bottom: 40px;
    position: relative;
}

.plan_list li a.more {
    background-color: #fff;
    font-size: 16px;
    letter-spacing: 1px;
    width: 80px;
    line-height: 30px;
    border-radius: 30px;
    text-align: center;
    margin: 0 auto;
    display: block;
    position: absolute;
    bottom: 10px;
    left: 50%;
    transform: translateX(-50%);
    ;
}

.plan_list li:first-child a.more {
    color: #ff4d4e;
}

.plan_list li:nth-child(2) a.more {
    color: #2654c7;
}

.plan_list li:nth-child(3) a.more {
    color: #0fa0ab;
}

.plan_list h4 {
    font-size: 22px;
    line-height: 30px;
    text-shadow: 0px 0px 10px rgba(0, 0, 0, .4);
}

.plan_flex {
    display: flex;
}

.plan_flex>.plan_list:nth-child(1) {
    width: 35%;
    margin-right: 14px;
}

.plan_flex>.plan_list:nth-child(2) {
    width: 65%;
}

.plan_flex .plan_detail {
    padding-right: 10px;
    padding-bottom: 20px;
}

.plan_flex .plan_detail.plan_coin {
    padding-right: 30px;
    padding-bottom: 10px;
}

/*cb_02*/
.con_ind.cb_02 .con_tit {
    margin-top: -68px;
}

/*月約列表*/
.contract_list li {
    margin-bottom: 10px;
    padding-bottom: 5px;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.contract_list>li:nth-child(odd) {
    border-bottom: 2px dotted #c5baff;
}

.contract_list>li:nth-child(even) {
    border-bottom: 2px dotted #71cdcc;
}

.contract_list .tag_box {
    width: 50px;
    height: 50px;
    margin-right: 10px;
}

.contract_list .tag_box img {
    width: 100%;
    height: auto;
    vertical-align: middle
}

.contract_list .txt_box {
    text-align: left;
    color: #333333;
    position: relative;
    flex: 1 1 auto;
}

.contract_list .btn_sec {
    display: block;
}

.contract_list .btn_sec .btn {
    width: 76px;
    height: 35px;
}

.contract_list .btn_sec .btn::before {
    content: '';
    width: 100%;
    height: 30px;
    border-radius: 10px;
    bottom: -10px;
    left: 0;
    right: 0;
}

.contract_list .btn a {
    width: 100%;
    height: 35px;
    border-radius: 10px;
    font-size: 14px;
}



/*精選APP*/
.app_swiper {
    margin: 0;
    padding: 0 20px;
    margin-bottom: 30px;
    text-align: center;
    position: relative;
}

.app_swiper::before {
    content: '';
    width: 100%;
    height: 500px;
    background: url(../images/bg_index_bot_1.png) center 0 no-repeat;
    background-size: cover;
    position: absolute;
    top: -180px;
    left: 0;
}

.app_swiper::after {
    content: '';
    width: 100%;
    height: 312px;
    background: url(../images/bg_index_bot_2.png) center 0 no-repeat;
    background-size: 100% 312px;
    position: absolute;
    bottom: -80px;
    left: 0;
}

.app_swiper .con_ind::before {
    display: none;
}

.app_swiper .con_tit {
    width: 220px;
    height: 80px;
    margin-bottom: 20px;
    position: relative;
}

.app_swiper .swiper-slide {
    position: relative;
    min-width: 72px;
    text-align: center;
    margin-bottom: 20px;
}

.app_swiper .swiper-slide .imgbox {
    margin-bottom: 10px;
    border: 2px solid #fff;
    background-color: #fff;
    box-shadow: 0 5px 0 rgba(81, 42, 109, 1);
    border-radius: 24%;
    overflow: hidden;
    position: relative;
}

.app_swiper .swiper-slide .imgbox img {
    width: 100%;
    height: auto;
}

.app_swiper .swiper-slide h4 {
    line-height: 16px;
    font-size: 14px;
    font-weight: normal;
    word-break: break-all;
    color: #fff;
}

.app_swiper .swiper-slide a {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 100%;
}

/* swiper 輪播*/
.swiper-wrapper {
    padding-bottom: 30px;
}

.swiper-horizontal>.swiper-pagination-bullets,
.swiper-pagination-bullets.swiper-pagination-horizontal,
.swiper-pagination-custom,
.swiper-pagination-fraction {
    bottom: 10px;
}

.swiper-pagination-bullet {
    width: 10px;
    height: 10px;
    margin: 0 0 0 14px;
    opacity: 1;
    border-radius: 10px;
    background: rgba(255, 255, 255, .5);
    -webkit-transition: .2s;
    -o-transition: .2s;
    transition: .2s;
}

.swiper-pagination-bullet-active {
    width: 44px;
    background: #fff;
}

/*送好禮*/
.give_gifts {
    color: #fff;
    position: relative;
}

.give_gifts .con_tit {
    width: 220px;
    height: 80px;
    margin-bottom: 20px;
    position: relative;
}

.give_gifts .con_txt {
    max-width: 500px;
    margin: 0 auto;
}

.give_gifts .con_txt::before,
.give_gifts .con_txt::after {
    content: '';
    width: 62px;
    height: 62px;
    position: absolute;
}

.give_gifts .con_txt::before {
    background: url(../images/img_planet_1.png) 0 0 no-repeat;
    background-size: contain;
    top: 0;
    left: 20px;
}

.give_gifts .con_txt::after {
    background: url(../images/img_planet_2.png) 0 0 no-repeat;
    background-size: contain;
    bottom: 30px;
    right: 10px;
}



/*內容_內頁*/
.tit_main {
    margin: 0 auto 20px;
    text-align: center;
}

/*內頁標題*/
.tit_main h3 {
    line-height: 36px;
    font-size: 25px;
    font-weight: bold;
    color: #fff;
    text-align: center;
    letter-spacing: 1px;
    text-shadow: 0 6px 14px rgba(119, 3, 66, 1);
    padding-bottom: 16px;
    display: inline-block;
    position: relative;
}

.tit_main h3::before {
    content: '';
    width: 100%;
    height: 10px;
    background: url(../images/bg_tit_main.png) 0 0 repeat-x;
    background-size: 200px 5px;
    position: absolute;
    bottom: 0;
    left: 0;
}

.brackets {
    position: relative;
    padding: 0 20px;
    display: inline-block;
    vertical-align: baseline;
}

.brackets::before {
    content: '【';
    position: absolute;
    left: -10px;
    top: 0;
}

.brackets::after {
    content: '】';
    position: absolute;
    right: -10px;
    top: 0;
}

.con_inp .con_txt {
    padding: 0;
    margin-bottom: 20px;
    background-color: #fff;
    border-radius: 12px;
    color: #333333;
    overflow: hidden;
}

.con_inp .con_box {
    padding: 0 10px;
    margin-bottom: 10px;
}

.con_inp a {
    font-weight: 600;
    color: #fffc9e;
    text-decoration: underline;
    margin: 0 4px;
    display: inline-block;
}

.con_cell {
    position: relative;
    padding: 0 10px;
    margin-bottom: 20px;
}

.con_txt_cell {
    position: relative;
    padding: 20px 10px;
    background-color: #f17280;
    color: #fff;
}

.con_txt_cell.bg-light {
    background-color: #ffe9eb;
    color: #333;
}

.con_txt_cell.bg-light .step_list .num {
    color: #fff;
}

.descrip_list>li {
    margin-bottom: 15px;
    display: flex;
    text-align: left;
    padding: 0 10px;
}

.descrip_list>li:last-child {
    margin-bottom: 0;
}

.descrip_list>li.noFlex {
    display: block;
    text-align: center;
}

.descrip_list .num {
    width: 28px;
    height: 28px;
    min-width: 28px;
    margin-right: 10px;
    font-size: 18px;
    font-weight: bold;
    color: #fff;
    background-color: #7d09a5;
    border-radius: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}

.descrip_list .num.m-auto {
    margin: 0 auto 10px;
}

.descrip_list>li .more {
    width: 60px;
    height: 30px;
    background-color: #f12b95;
    font-size: 14px;
    color: #fff;
    text-align: center;
    line-height: 30px;
    font-weight: 500;
    border-radius: 8px;
    padding: 0 10px;
    display: block;
}

.descrip_box {
    font-size: 16px;
    line-height: 30px;
    flex: 1 1 100%;
}

.descrip_box .inbox.blue {
    background-color: #1e70a1;
}

.descrip_box .inbox {
    padding: 10px;
    font-weight: 500;
}

.descrip_box .more {
    font-size: 14px;
    line-height: 16px;
    color: #fff;
    padding: 6px 16px 4px;
    display: inline-block;
}

.descrip_tit {
    font-size: 18px;
    line-height: 24px;
    color: #7c08a5;
}

table.descrip_tb {
    width: 100%;
    margin: 0 0 10px 0;
    font-size: 16px;
    line-height: 24px;
}

table.descrip_tb th {
    padding: 5px;
    background-color: #f12b95;
    border-bottom: 1px solid #fff;
    font-size: 14px;
    line-height: 20px;
    color: #fff;
    font-weight: 500;
    letter-spacing: 2px;
    text-align: center;
}

table.descrip_tb td {
    padding: 5px;
    text-align: center;
    border-bottom: 1px solid #fff;
}

table.descrip_tb tbody>tr:nth-child(odd) {
    background-color: #ffdcef;
}

table.descrip_tb tbody>tr:nth-child(even) {
    background-color: #ffeff8;
}

.descrip_list>li.overdue {
    color: rgba(255, 255, 255, .5);
}

/*過期活動*/
.descrip_list>li.overdue .num {
    background-color: #c8c8c8;
}

.descrip_list>li.overdue .descrip_tit {
    color: #c8c8c8;
}

.descrip_list>li.overdue .more {
    background-color: #c8c8c8;
}

/*附註, 注意事項*/
.dot_list li {
    padding-left: 14px;
    margin-bottom: 5px;
    font-size: 15px;
    line-height: 140%;
    text-align: left;
    position: relative;
}

.dot_list li:last-child {
    margin-bottom: 0;
}

.dot_list>li::before {
    content: '';
    width: 7px;
    height: 7px;
    background-color: #fff;
    border-radius: 100%;
    position: absolute;
    top: 7px;
    left: 0;
}

.dot_list li ol {
    counter-reset: section;
}

.dot_list li ol>li {
    font-size: 14px;
}

.dot_list li ol>li::before {
    counter-increment: section;
    content: counter(section) ".";
    position: absolute;
    left: 0;
    top: 0;
}

.notice_list {
    counter-reset: section;
}

.notice_list>li {
    padding-left: 30px;
    margin-bottom: 10px;
    font-size: 15px;
    text-align: left;
    position: relative;
}

.notice_list>li:last-child {
    margin-bottom: 0;
}

.notice_list>li::before {
    counter-increment: section;
    content: counter(section) "";
    position: absolute;
    left: 0;
    top: 2px;
    color: #7c08a5;
    font-size: 15px;
    text-align: center;
    font-weight: 500;
    line-height: 20px;
    letter-spacing: -2px;
    padding: 1px 2px 0 0;
    width: 22px;
    height: 22px;
    box-sizing: border-box;
    background-color: #fff;
    border-radius: 100%;
}

.blue .notice_list>li::before {
    color: #1e70a1;
}

.blue .notice_list {
    line-height: 24px;
}

.notice_list a {
    color: #fffc9e;
    text-decoration: underline;
}

/*APP列表*/
.app_list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.app_list li {
    flex: 1 1 auto;
    width: calc(25% - 20px);
    max-width: calc(25% - 20px);
    margin: 0 10px 20px;
    text-align: center;
    position: relative;
}

.app_list .app_box {
    display: flex;
    justify-content: center;
}

.app_list .app_box img {
    height: auto;
    max-width: 100%;
}

.app_list li a {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    display: block;
    width: 100%;
    height: auto;
    border: none;
    padding: 0;
    margin: 0;
}

.app_list.app_link .app_box {
    border: 2px solid #fff;
    background-color: #fff;
    box-shadow: 0 6px 0 rgb(0 0 0 / 15%);
    border-radius: 24%;
    overflow: hidden;
    width: 104px;
    height: 104px;
    margin: 0 auto 10px;
}

.app_list.app_link .app_box img {
    width: 100px;
    height: 100px;
    max-width: 100px;
    height: 100px;
}

@media screen and (max-width:800px) {
    .app_list li {
        width: calc(50% - 20px);
        max-width: calc(50% - 20px);
    }

}

/*步驟step*/
.step_list li {
    margin-bottom: 20px;
    display: flex;
    align-items: flex-start;
}

.step_list li:last-child {
    margin-bottom: 0;
}

.step_list .num {
    margin-bottom: 10px;
    margin-right: 10px;
    background-color: #dd2756;
    border-radius: 30px;
    font-size: 15px;
    font-weight: bold;
    padding: 2px 10px;
    text-transform: uppercase;
    display: inline-block;
    min-width: 80px;
    white-space: nowrap;
    text-align: center;
}

.step_list .step_box {
    font-size: 18px;
    line-height: 30px;
}

.cb_banner {
    border-radius: 15px;
    margin-bottom: 20px;
    overflow: hidden;
}

.cb_banner img {
    display: block;
    width: 100%;
    height: auto;
}

.popup_box .cc_p {
    overflow: auto;
    height: 200px;
}

.popup_box .cc_p p {
    text-align: justify;
}

.con_cell .notice ol.cc_code li {
    text-align: center;
    font-size: 16px;
}

.popup_box .cc_p {
    overflow: auto;
    height: 200px;
    padding: 0;
}

.popup_box .cc_p p {
    text-align: justify;
}

.con_everyact .btn_main {
    position: relative;
}

.con_everyact .btn_main a {
    float: none;
    margin: 0 0 10px 0;
    border-radius: 5px;
}

.new_program_01 {
    margin: 0 0 20px 0;
}

.new_program_01 h4 {
    margin: 0 0 10px 0;
    text-align: center;
}

.new_program_01.np_sty_01 h4 {
    color: #efea3d;
}

.new_program_01.np_sty_02 h4 {
    color: #f39700;
}

.new_program_01 table {
    font-size: 16px;
    border-top: 1px solid #bb292a;
}

.new_program_01 table th {
    border-bottom: 1px solid #bb292a;
}

.new_program_01.np_sty_01 th {
    background: #bb292a;
}

.new_program_01.np_sty_02 th {
    background: #bb292a;
}

.new_program_01.np_sty_03 th {
    background: #dd5f39;
}

.new_program_01 table td {
    height: 60px;
    text-align: left;
}

.bs_box {
    position: relative;
    margin: 0 0 15px 0;
    padding: 4px 0 0 0;
}

.bs_box:last-child {
    margin: 0;
}

.bs_box .bs_month {
    position: absolute;
    top: 0;
    left: 15px;
    width: 65px;
    height: 40px;
    padding: 0 4px 0 0;
    text-align: center;
    line-height: 35px;
    color: #fff;
    font-weight: bold;
    background: url(../images/bg_month.png) no-repeat center center;
    background-size: 100% auto;
    z-index: 2;
}

.bs_box a {
    width: 100%;
    padding: 0 0 0 90px;
    text-align: left;
}


/*popup+選擇方案*/
.popup {
    z-index: 10;
}

.popup_bg {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.6);
    z-index: 15;
}

.popup_con {
    position: fixed;
    top: 60px;
    left: 0;
    right: 0;
    width: 100%;
    margin: 0 auto;
    padding: 0 15px;
    z-index: 20;
}

.popup_box {
    position: relative;
    padding: 20px;
    border-radius: 20px;
    background-color: #fff;
    color: #333;
}

.popup_box .con_txt {
    padding: 0;
}

.popup_box p {
    margin: 0 0 10px 0;
    text-align: center;
}

.popup_box .tit_main {
    color: #f12b95;
    border-bottom: 1px solid #f12b95;
    padding-bottom: 10px;
    text-shadow: none;
}

.popup_box .inbox {
    background-color: #f1f1f1f1;
}

.popup_box .terms {
    background-color: #f1f1f1f1;
}

.popup_box .popup_btn {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.popup_box .popup_btn a {
    width: 48%;
    height: 40px;
    color: #fff;
    font-size: 16px;
    font-weight: 600;
    letter-spacing: 1px;
    background-color: #6903c6;
    box-shadow: 0px 4px 0px rgb(0 0 0 / 15%);
    display: flex;
    justify-content: center;
    align-items: center;
}

.popup_box .popup_btn a.w-full {
    width: 100%;
    margin: 0 0 15px 0;
}

.popup_box .popup_btn a.line {
    background: #00b300;
}

.popup_box .popup_btn a.fb {
    background: #4267b2;
}

.popup_box .btn_close {
    position: absolute;
    top: -40px;
    right: 0;
    width: 30px;
    height: 30px;
    background: url(../images/btn_close.png) no-repeat center center;
    background-size: 24px;
}

.popup_box .notice {
    background: rgba(0, 0, 0, 0.2);
}

/*選擇方案*/
.con_inp .btn_case a {
    text-decoration: none;
}

.btn_case {
    display: flex;
    justify-content: space-around;
    flex-wrap: wrap;
}

.btn_case a {
    flex: 1 1 100%;
    max-width: calc(44% - 20px);
    margin: 0 0 20px;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 10px;
    border: none;
    color: #fff;
    box-shadow: 0px 4px 0px rgb(0 0 0 / 15%);
    background-color: #f12b95;
    border-radius: 8px;
}

.btn_case a.on {
    background: #6903c6;
}

.terms {
    height: 300px;
    overflow-y: auto;
    background-color: rgb(0 0 0 / 15%);
    border-radius: 15px;
    padding: 15px;
    text-align: left;
}

.terms ol li {
    margin: 0 0 10px 0;
    padding: 0 0 0 20px;
    text-align: justify;
    line-height: 22px;
    word-wrap: break-word;
    word-break: break-all;
    text-indent: -24px;
}

.case_box .notice {
    margin: 0 0 15px 0;
}

.case_box .notice p {
    margin: 0;
    text-align: justify;
}

/*input*/
.input_box {
    width: 100%;
    height: 40px;
    border-radius: 8px;
    background-color: #fff;
    overflow: hidden;
}

.input_box input {
    width: 100%;
    height: 40px;
    line-height: 40px;
    padding: 0 10px;
    font-size: 16px;
    font-weight: 500;
}

/*checkbox*/
.check {
    position: relative;
    display: block;
    margin: 15px 0 0 0;
    padding: 0 0 0 40px;
    text-align: left;
    vertical-align: middle;
    line-height: 30px;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

.check input {
    position: absolute;
    opacity: 0;
    cursor: pointer;
}

.checkmark {
    position: absolute;
    top: 0;
    left: 0;
    height: 30px;
    width: 30px;
    background: rgba(0, 0, 0, 0);
    border: 2px solid #fff;
    border-radius: 5px;
}

.check:hover input~.checkmark {
    background-color: rgba(0, 0, 0, 0);
    ;
}

/* On mouse-over, add a grey background color */
.check input:checked~.checkmark {
    background-color: #f08239;
    border: 1px solid #f08239;
}

/* When the checkbox is checked, add a blue background */
.checkmark:after {
    content: "";
    position: absolute;
    display: none;
}

/* Create the checkmark/indicator (hidden when not checked) */
.check input:checked~.checkmark:after {
    display: block;
}

/* Show the checkmark when checked */
.check .checkmark:after {
    left: 10px;
    top: 4px;
    width: 6px;
    height: 12px;
    border: solid white;
    border-width: 0 3px 3px 0;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}

/* Style the checkmark/indicator */

/*coupon_list*/
.coupon_list .coupon_flex {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 10px;
}

.coupon_list .coupon_tit {
    display: flex;
    justify-content: space-between;
    text-align: left;
    align-items: center;
    margin-bottom: 10px;
}

.coupon_list .coupon_icon {
    width: 75px;
    height: 75px;
    min-width: 75px;
    margin-right: 10px;
}

.coupon_list .coupon_icon img {
    width: 100%;
    height: auto;
}

.coupon_list .coupon_btn {
    min-width: 4.5em;
}

.image-container {
    position: relative;
}

.image-container img {
    display: block;
    width: 100%;
    height: auto;
}

.fade-out {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 20px;
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0), rgba(255, 255, 255, 1));
    pointer-events: none;
}