* { color: #292C39; font-family: 'Century Gothic', "Noto Sans TC", "Noto Sans", sans-serif !important; font-optical-sizing: auto; font-weight: 400; font-style: normal; }
.font1010 { font-family: 'Poppins', sans-serif !important; font-weight: 700 !important; letter-spacing: 0.1em; color: inherit; line-height: .9em; }
html, body { scroll-padding-top: 60px; scroll-behavior: smooth; font-family: 'Century Gothic', "Noto Sans TC", "Noto Sans", sans-serif !important; font-optical-sizing: auto; font-weight: 400; font-style: normal; }
h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6, h1 *, h2 *, h3 *, h4 *, h5 *, h6 * { font-family: 'Century Gothic', "Noto Sans TC", "Noto Sans", sans-serif !important; text-shadow: none; font-weight: 700 !important; }
.no-padding { padding-left: 0 !important; padding-right: 0 !important; }
.img-center { display: block; margin-left: auto; margin-right: auto; }
.outer_grid { max-width: 960px; margin: auto; background-color: #C6AD8E; }
.inner_grid { max-width: 600px; margin: auto; }
.pageBG { background-image: url(../images/pagebg_a.jpg), url(../images/pagebg_b.jpg); background-position: center top, center bottom; background-color: #fcf7f1; background-size: auto; background-repeat: no-repeat; }
/* header{background-color: #000;} */
.spacer { height: 20px; display: block; }
.spacer_sm { height: 20px; display: block; }
a:focus { text-decoration: none; }
:root { --h1 : 32px;
--h2 : 26px;
--h3 : 22px;
--p-md : 20px;
--p : 16px;
--reminder : 14px;
--remarks : 12px;
--box-line-merge : 10px;
}
a:hover { text-decoration: none; }
h1 { margin-top: 5px; margin-bottom: 5px; font-size: var(--h1); margin-top: 5px; margin-bottom: 5px; letter-spacing: 0.05em; line-height: 1.4em; }
h2 { margin-top: 5px; margin-bottom: 5px; font-size: var(--h2); }
h3 { margin-top: 5px; margin-bottom: 5px; font-size: var(--h3); }
h4 { margin-top: 5px; margin-bottom: 5px; }
h5 { margin-top: 5px; margin-bottom: 5px; }
p, li { font-size: var(--p); }
.flexR { display: flex; flex-direction: row; justify-content: center; align-items: center; }
.flexC { display: flex; flex-direction: column; justify-content: center; align-items: center; }
.select_section .outer_grid { background-image: url(../images/bg2.png); background-size: 100% auto; background-repeat: no-repeat; }
.img_half { max-width: 75%; }
.tab_section { gap: 2em; padding: 29px 0; }
.tab_section a img { opacity: 0.3; transition: all 0.3s ease; }
.tab_section a.onnn img { opacity: 1; }
.with_decor { display: flex; flex-direction: row; justify-content: center; align-items: center; gap: 2em; position: relative; width: fit-content; margin: 20px auto }
.with_decor .decor_left { width: 120px; }
.with_decor .decor_right { transform: rotate(180deg) scaleY(-1); width: 120px; }
.with_decor_small { display: flex; flex-direction: row; justify-content: center; align-items: center; gap: 0.5em; position: relative; width: fit-content; margin: 20px auto }
.with_decor_small .decor_left { width: 80px; }
.with_decor_small .decor_right { transform: rotate(180deg) scaleY(-1); width: 80px; }
.country_flags { display: flex; flex-direction: row; justify-content: center; align-items: center; flex-wrap: wrap; gap: 1em; padding: 20px 0 30px; }
.country_flags a { width: calc(20% - 1em); text-align: center; font-size: var(--p-md); transition: all 0.3s ease; cursor: pointer; }
.country_flags a.onnn { background-color: #EAC175; color: #292C39; border-radius: 10px; padding: 5px; font-weight: 700 !important; }
.nations_container { background-image: url(../images/g_dust.png), url(../images/bg1.png); background-size: 100% auto, 100% auto; background-repeat: repeat-y, repeat-y; background-position: top, top; padding: 2em 20px; }
.nations { margin-bottom: 4em; }
.country_title { max-width: 334px; margin: 0 auto; margin-bottom: 2em; }
.shop_item { position: relative; display: flex; flex-direction: row; justify-content: stretch; border: 1px solid #292C39; z-index: 2; background: #DBB878; gap: 1em; }
.shop_line { position: relative; margin-bottom: 3em; }
.shop_line:before { content: ""; position: absolute; width: 100%; height: 100%; left: calc(var(--box-line-merge) * -1);
top: calc(var(--box-line-merge) * -1);
right: calc(var(--box-line-merge) * -1);
bottom: calc(var(--box-line-merge) * -1);
border: 1px solid #292C39; z-index: 0; background: #DBB878; }
.shop_line:after { content: ""; position: absolute; width: 100%; height: 100%; left: calc(var(--box-line-merge)); top: calc(var(--box-line-merge)); right: calc(var(--box-line-merge)); bottom: calc(var(--box-line-merge)); border: 1px solid #292C39; z-index: 0; background: #DBB878; }
.shop_item, .shop_line:before, .shop_line:after { background: linear-gradient(135deg, rgba(232, 178, 92, 1) 0%, rgba(255, 211, 146, 1) 40%, rgba(202, 152, 79, 1) 100%); }
.shop_item .shop_logo { max-width: 249px; width: 100%; height: 210px; background-image: url(../images/box_mask.png); background-size: contain; background-repeat: no-repeat; background-position: center; }
.shop_item .shop_logo img { width: 160px; top: 50%; position: relative; transform: translate(20px, -50%); }
.shop_item .shop_info { width: auto; padding: 10px; }
.shop_item .shop_info h3 { color: #292c39; }
.shop_item .shop_info p { color: #292c39; margin: 0; }
.shop_item .shop_info p.address { position: relative; padding-left: 20px; padding-right: 2em; }
.shop_item .shop_info p.address::before { content: ""; position: absolute; left: 0; top: 5px; width: 15px; height: 15px; background-image: url(../images/pointer.png); background-size: contain; background-repeat: no-repeat; background-position: center; }
.connection { background-image: url(../images/bg_04.png); background-size: cover; background-repeat: no-repeat; background-position: center; }
.btn_shop { position: absolute; bottom: 0px; right: 0px; background-color: #292c39; background: linear-gradient(180deg, rgba(100,100,100,1) 0%, rgba(41,44,57,1) 50%, rgba(0,0,0,1) 100%); color: #DBB878; padding: 15px 10px 15px 25px; text-decoration: none; font-size: var(--p-md); font-weight: 700; transition: all 0.3s ease; cursor: pointer; }
.btn_shop::before { content: ""; position: absolute; left: 0px; top: 50%; transform: translate(-50%, -50%); width: 40px; height: 40px; background-image: url(../images/box_arrow.png); background-size: contain; background-repeat: no-repeat; background-position: center; }
.btn_shopcta { position: absolute; top: 30%; right: 0; transform: translate(50%, -50%); z-index: 2; color: #dbb878; font-size: 20px; line-height: 1.2em; }
.btn_shopcta::after { content: ""; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); background-color: #292c39; border-radius: 100%; border: 1px solid #292c39; width: 160%; aspect-ratio: 1 / 1; z-index: -1; }

.coupon_btn_shop { margin-top: 10px !important; }
.coupon_btn_shop a, .coupon_btn_shop a:hover { color: #292c39; line-height: 1.2em; text-decoration: underline; }
.coupon_btn_shopcta { position: absolute; bottom: 0px; right: 0px; background-color: #292c39; background: linear-gradient(180deg, rgba(100,100,100,1) 0%, rgba(41,44,57,1) 50%, rgba(0,0,0,1) 100%); color: #DBB878; padding: 15px 10px 15px 25px; text-decoration: none; font-size: var(--p-md); font-weight: 700; transition: all 0.3s ease; cursor: pointer; }
.coupon_btn_shopcta::before { content: ""; position: absolute; left: 0px; top: 50%; transform: translate(-50%, -50%); width: 40px; height: 40px; background-image: url(../images/box_arrow.png); background-size: contain; background-repeat: no-repeat; background-position: center; }
/* .swi_tab_btn {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  gap: 0;
  align-items: stretch;
}

.swi_tab_btn a {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 15px 15px 15px 15px;
  text-decoration: none;
  border-bottom: none;
  border-radius: 8px 8px 0 0;
  position: relative;
  transition: all 0.3s ease;
  font-size: var(--p);
  font-weight: bold !important;
}

.swi_tab_btn a:nth-child(1) {
  background-color: #FFFFFF;
  color: #000000;
}

.swi_tab_btn a:nth-child(2) {
  background-color: #999999;
  color: #D6D6D6;
}

.swi_tab_btn a:nth-child(3) {
  background-color: #4D4D4D;
  color: #7B7B7B;
}

.swi_tab_btn a:after {
  content: '';
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 100%;
  height: 1px;
}

.hv_step{position: relative; padding: 20px;}
#client_1010 .step_number, #client_csl .step_number, #client_hkt .step_number{position: absolute; left: 10px; top: 0; width: 30px; height: 30px; border-radius: 50%; display: flex; flex-direction: row; justify-content: center; align-items: center; font-size: var(--p-md); font-weight: 700; background-color: #e2e0e0; color: #000;} 
#client_csl .step_number{background-color: #565656; color: #ffffff;} #client_hkt .step_number{background-color: #ffffff; color: #000;} */

.redeem_btn { display: inline-block; border-radius: 50px; padding: 10px 30px; text-decoration: none; margin: 20px auto; display: block; width: fit-content; font-size: var(--p-md); color: #292C39; border: 1px solid #292C39; }
.redeem_btn:after { content: '>'; display: inline-block; margin-left: 5px; font-size: var(--p-md); font-weight: bold; color: #292C39; }
/* #client_csl .redeem_btn:after {
  color: #fffff;
}

#client_hkt .redeem_btn:after {
  color: #fffff;
}


#client_1010 .redeem_btn{
  border: 1px solid #000;
  color: #000;
}

#client_hkt .redeem_btn {
  border: 1px solid #ffffff;
  color: #ffffff;
}


#client_csl .redeem_btn {
  border: 1px solid #ffffff;
  color: #ffffff;
} */


/**********swiper**********/
/* .swiper-container.how_to_go { height: auto; width: 100%; padding-left: 45px; }
.swiper-pagination-how { left: 50%; transform: translate(-50%, 100%); display: flex; flex-direction: row; margin-top: 20px; gap: 20px; }
.how_to_go .swiper-slide { align-self: stretch; height: auto; width: 365px; margin-right: 45px; }
.tentcard { background-color: #000000; overflow: hidden; border: 2px solid #000; width: 100%; margin: auto; height: 100%; display: flex; flex-direction: column; }
.swi_content * { color: #000; }
.indent { background-color: var(--gold-color); display: flex; flex-direction: column; justify-content: space-between; padding: 20px 20px 10px 20px; }
.swi_content { padding: 20px; height: 100%; }
.swi_content .indent { height: 100%; }
.swi_content .descrp * { margin: 0; }
.swi_content .descrp h2 { margin-top: 5px; margin-bottom: 5px; }
.indent .remarks { font-size: calc(var(--remarks) * 1.2);
}
.hightlig { align-self: flex-end; font-size: calc(var(--h1) * 1.4);
margin-top: 30px; margin-bottom: 0; font-style: italic; font-weight: 700; } */


.swiper-container-horizontal > .swiper-scrollbar { margin-top: 30px; margin-bottom: 0px; position: relative; left: 0px; width: calc(98% - 90px); }
.swiper-container.yen_coupon, .swiper-container.csl_coupon, .swiper-container.hkt_coupon, .swiper-container.yen_coupon_sp, .swiper-container.csl_coupon_sp, .swiper-container.hkt_coupon_sp { height: auto; width: 100%; }
.swiper-container.yen_coupon img, .swiper-container.csl_coupon img, .swiper-container.hkt_coupon img, .swiper-container.yen_coupon_sp img, .swiper-container.csl_coupon_sp img, .swiper-container.hkt_coupon_sp img { opacity: 0; max-width: 320px; }
.swiper-container.yen_coupon h3, .swiper-container.csl_coupon h3, .swiper-container.hkt_coupon h3, .swiper-container.yen_coupon_sp h3, .swiper-container.csl_coupon_sp h3, .swiper-container.hkt_coupon_sp h3 { opacity: 0; font-size: var(--h3));
}
.swiper-container.yen_coupon .swiper-slide-active img, .swiper-container.yen_coupon .swiper-slide-active h3, .swiper-container.csl_coupon .swiper-slide-active img, .swiper-container.csl_coupon .swiper-slide-active h3, .swiper-container.hkt_coupon .swiper-slide-active img, .swiper-container.hkt_coupon .swiper-slide-active h3, .swiper-container.yen_coupon_sp .swiper-slide-active img, .swiper-container.yen_coupon_sp .swiper-slide-active h3, .swiper-container.csl_coupon_sp .swiper-slide-active img, .swiper-container.csl_coupon_sp .swiper-slide-active h3, .swiper-container.hkt_coupon_sp .swiper-slide-active img, .swiper-container.hkt_coupon_sp .swiper-slide-active h3 { opacity: 1; }
.stp_flx, .stp_flx_csl, .stp_flx_hkt, .stp_flx_sp, .stp_flx_csl_sp, .stp_flx_hkt_sp { display: flex; flex-direction: row; justify-content: center; gap: 10px; margin-left: 20px; }
.stp_flx a, .stp_flx_csl a, .stp_flx_hkt a, .stp_flx_sp a, .stp_flx_csl_sp a, .stp_flx_hkt_sp a { color: #292C39 !important; font-size: 28px; font-weight: bold; transition: all 0.3s ease; border-radius: 100%; width: 42px; height: 42px; background-color: transparent; text-align: center; cursor: pointer; }
.stp_flx a.onnn, .stp_flx_csl a.onnn, .stp_flx_hkt a.onnn, .stp_flx_sp a.onnn, .stp_flx_csl_sp a.onnn, .stp_flx_hkt_sp a.onnn { background-color: #292C39; color: #DBB878 !important; }
.addrs_btn, .get_rewards { display: flex; flex-direction: row; justify-content: space-between; background-color: #DBB878; padding: 13px 13px 13px 50px; width: fit-content; margin: auto; gap: 2em; align-items: center; }
.addrs_btn font, .get_rewards font { font-size: var(--h2); font-weight: bold; color: #000; text-align: center; margin: auto; display: block; line-height: 1.2em; }
.addrs_btn img, .get_rewards img { width: 66px; height: 66px; }
.get_rewards { padding: 23px 33px 23px 70px; }
.get_rewards font { font-size: var(--h1); }
.swi_tab_btn { gap: 10px; }
.swi_tab_btn a { color: #292C39; font-weight: bold; text-align: center; cursor: pointer; transition: all 0.3s ease; border-radius: 999px; padding: 10px 20px; font-size: 18px; border: 2px solid #DBB878; }
.swi_tab_btn a.onn { background-color: #292C39; color: #DBB878 !important; }
.vippass { position: relative; }
.vippass::after { content: "→"; display: block; position: absolute; top: 50%; right: 0; width: 20px; height: 20px; padding-left: 20px; font-size: 30px; color: #292C39; }
.vippass.pass_last::after { display: none; }
.dicount, .handsfree, .handsfree .vippass { width: 50%; }
.dicount img.coupon { max-width: 320px; }
.qrcode_notice { position: fixed; background: #FFF; width: 70%; bottom: 1%; left: 15%; z-index: 999; text-align: center; color: #fbe6c1; padding: 20px 0; border-radius: 100px; font-size: 16px; border: solid 3px transparent; background-image: linear-gradient(rgba(251, 230, 193, 0), rgba(180, 156, 122, 0)), linear-gradient(180deg, #fbe6c1, #b49c7a); background-origin: border-box; background-clip: content-box, border-box; box-shadow: 2px 1000px 1px #000000 inset; }
.vipservice { position: absolute; color: #000; top: -5px; left: 50%; transform: translate(-50%, -10px); font-size: 20px; background: #C79943; border-radius: 30px; padding: 0 5%; width: 80%; max-width: 300px; text-align: center; }
.header_logo { width: 95%; max-width: 900px; }
.header_lang { width: 5%; max-width: 60px; padding: 10px; text-align: center; }
/**********swi***********/
@media (max-width: 767px) {
.swiper-container.yen_coupon img, .swiper-container.csl_coupon img, .swiper-container.hkt_coupon img, .swiper-container.yen_coupon_sp img, .swiper-container.csl_coupon_sp img, .swiper-container.hkt_coupon_sp img { max-width: 70%; }
.swiper-container-horizontal > .swiper-scrollbar { margin-top: 20px; margin-bottom: 10px; position: relative; left: 20px; width: calc(98% - 40px); height: 7px; }
.swi_tab_btn { flex-direction: column; padding: 10px 20px; }
.swi_tab_btn a { width: 100%; font-size: 14px; padding: 10px; }
#how_to_get_rewards .swiper-slide, #how_to_get_rewards_sp .swiper-slide { padding: 10px 20px; }
.vipservice { width: 80%; }
.header_logo { width: 87%; }
.header_lang { width: 13%; }
.country_title { max-width: 100%; }
}

@media (max-width: 1024px) {
}

@media (max-width: 767px) {
:root { --h1 : 26px;
--h2 : 20px;
--h3 : 18px;
--p-md : 16px;
--p : 14px;
--reminder : 12px;
--remarks : 10px;
--box-line-merge : 10px;
}
.inner_grid { max-width: 100% !important; padding-left: 15px; padding-right: 15px; }
.select_section .outer_grid { background-size: cover; }
.tab_section { gap: 2em; padding: 1em 80px 10px; flex-direction: column; }
.img_half { max-width: 100%; }
.with_decor { margin: 0px auto; gap: 1em; }
.with_decor .decor_left, .with_decor .decor_right { display: none; }
.shop_item { flex-direction: column; gap: 0; }
.shop_item .shop_info h3 { padding-right: 30px; }
.shop_item .shop_logo { max-width: calc(100% - 20px); height: 150px; background-position: left; background-size: 100%; }
.shop_item .shop_logo img { width: 70%; align-content: center; filter: hue-rotate(60deg) brightness(0.8) saturate(0.9); }
.btn_shop, .coupon_btn_shopcta { position: relative; width: calc(75% - 20px); margin-left: auto; margin-right: 0; }
.coupon_btn_shopcta { width: calc(50% - 20px); }
.flex-xs-C { flex-direction: column !important; }
.vippass, .dicount, .handsfree, .handsfree .vippass { width: 100%; }
.dicount img.coupon { max-width: 70%; }
.vippass::after { content: "↓"; top: auto; left: calc( 50% - 10px ); right: auto; bottom: 10px; padding-left: 0px; padding-top: 50px; }
.qrcode_notice { width: 100%; left: 0; font-size: 14px; padding: 5px; }
.country_flags a { width: calc(33% - 1em); }
.stp_flx { gap: 2px; }
.stp_flx a { font-size: var(--h3); display: flex; align-items: center; justify-content: center; }
}
.stickyBTN { padding: 10px 5px; display: flex; flex-direction: column; justify-content: center; position: fixed; box-shadow: 0 0 6px 0 rgba(157, 96, 212, 0.5); border: solid 3px transparent; background-image: linear-gradient(rgba(251, 230, 193, 0), rgba(180, 156, 122, 0)), linear-gradient(180deg, #fbe6c1, #b49c7a); background-origin: border-box; background-clip: content-box, border-box; box-shadow: 2px 1000px 1px #000000 inset; border-radius: 60px; z-index: 99; right: 10px; width: 85px; }
.stickyBTN li { list-style: none; display: flex; flex-direction: column; justify-content: center; text-align: center; }
.stickyBTN a { padding: 2px; overflow: hidden; display: block; text-decoration: none!important; text-align: center; word-break: break-word; color: #fff; }
.stickyBTN img { max-width: 50px; display: block; margin: auto; }
.stickyBTN p { font-size : 12px; margin: 0; padding-top: 2px; color: #fff; }

@media (max-width: 767px) {
.stickyBTN { padding: 5px 10px; width: calc(100% - 9px); bottom: 10px; flex-direction: row; justify-content: space-around; left: 1%; align-items: center; }
.stickyBTN li { width: 25%; justify-content: flex-start; }
.stickyBTN a { padding: 0; }
.stickyBTN p { font-size: 11px; }
.stickyBTN li:has(hr) {
display: none;
}
}

@media (max-width: 414px) {
.stickyBTN p { font-size: 9px; }
.stickyBTN img { max-width: 45px; }
}
.back_to_top { width: 85px; position: fixed; bottom: 10px; right: 10px; z-index: 99; opacity: 0; pointer-events: none; transition: all 0.3s ease; }
.back_to_top.scroll { opacity: 1; pointer-events: auto; }

@media (max-width: 767px) {
.back_to_top { bottom: 140px; transform: scale(0.75) translateX(25%); }
}
/**************tnc***********/

.tnc, .tnc p, .tnc li { font-size: var(--remarks); background: #333; }
.tnc a { word-break: break-all; }
.tnc ul, .tnc ol { padding-left: 1.4em; }
.tnc li, .tnc * { text-align: left; color: #fff; }
.tnc table { border-collapse: collapse; background: #333; }
.tnc table th, .tnc table td { border: 0px; text-align: left; padding: 8px; background: #333; }
.tnc table th { font-weight: bold; }
.tnc .tnc_hc { display: none; }
.tnc { padding-top: 35px; padding-bottom: 130px; }

@media (max-width: 1024px) {
}

@media (max-width: 767px) {
/**************tnc***********/
.tnc { padding-bottom: 150px; }
}