/* Welcome to Compass. In this file you should write your main styles. (or centralize your imports) Import this file using the following HTML or equivalent: <link href="/stylesheets/screen.css" media="screen, projection" rel="stylesheet" type="text/css" /> */
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font: inherit;
  font-size: 100%;
  vertical-align: baseline; }

html {
  line-height: 1; }

ol, ul {
  list-style: none; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

caption, th, td {
  text-align: left;
  font-weight: normal;
  vertical-align: middle; }

q, blockquote {
  quotes: none; }

q:before, q:after {
  content: "";
  content: none; }

blockquote:before, blockquote:after {
  content: "";
  content: none; }

a img {
  border: none; }

article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary {
  display: block; }

html {
  font-size: 75%; }

body {
  font-family: "Noto Sans TC", "Microsoft JhengHei", "Heiti TC";
  font-size: 1.25rem;
  line-height: 1.5;
  -webkit-text-size-adjust: 100%;
  background: url(../images/bg_partten.jpg) repeat; }

* {
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }

.anim {
  display: none;
  position: absolute;
  left: 0;
  top: 0; }

.hide {
  visibility: hidden; }

.wrapper {
  position: relative;
  width: 640px;
  margin: 0 auto;
  -webkit-box-shadow: 0 0 30px rgba(0, 0, 0, 0.3);
  box-shadow: 0 0 30px rgba(0, 0, 0, 0.3);
  min-height: 1334px;
  padding: 130px 0; }

section {
  margin-bottom: 30px; }

.row {
  text-align: center;
  margin-bottom: 30px; }

.loading {
  background: rgba(0, 0, 0, 0.75);
  z-index: 9999;
  display: none; }
  .loading .pic {
    background-image: url("../images/loading.png");
    background-image: url("../images/b80.png");
    overflow: hidden; }

h2 {
  font-size: 40px;
  color: #292929;
  line-height: 1;
  padding-bottom: 10px;
  text-align: center;
  border-bottom: 2px solid #b71b30;
  display: inline-block;
  width: 80%; }

h3 {
  font-size: 30px; }
  h3 span {
    color: #b71b30; }

.menu .con {
  background: #fff;
  display: none;
  overflow: hidden; }

.menu .inner {
  padding: 15px;
  font-size: 24px;
  text-align: center;
  color: #000; }

.menu > li {
  margin-bottom: 1px; }
  .menu > li > a {
    position: relative;
    width: 100%;
    display: block;
    padding: 25px 0 25px 15px;
    color: #fff;
    font-size: 30px;
    background: #000;
    text-decoration: none; }
    .menu > li > a:after {
      position: absolute;
      right: 30px;
      top: 29px;
      width: 21px;
      height: 37px;
      background: url(../images/icon_arrow_right.png) 0 0 no-repeat;
      content: "";
      -webkit-transition: -webkit-transform .4s;
      transition: -webkit-transform .4s;
      -o-transition: transform .4s;
      transition: transform .4s;
      transition: transform .4s, -webkit-transform .4s; }
  .menu > li.active a:after {
    -webkit-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    transform: rotate(90deg); }

.card {
  position: relative; }
  .card img {
    margin: 0 auto; }

.site-header {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100px; }

.site-logo {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: #b71b30 url(../images/logo.png) center center no-repeat; }
  .site-logo a {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    display: block; }

#index .btn {
  font-size: 32px;
  color: #fff;
  background: #b71b30;
  text-decoration: none;
  padding: 10px 60px;
  border-radius: 10px; }

#index section.top .row {
  margin-bottom: 30px; }

#index section.top .circle_R1 {
  width: 640px;
  height: 320px;
  background: url(../images/circle_R1.png) center center no-repeat;
  display: inline-block;
  padding-top: 120px; }
  #index section.top .circle_R1 p {
    font-size: 30px;
    color: #e71515;
    line-height: 0.5; }
  #index section.top .circle_R1 span {
    font-size: 60px;
    color: #e71515;
    line-height: 1.5;
    font-weight: 700; }
    #index section.top .circle_R1 span b {
      font-size: 40px; }

#index section.top .circle_R2 {
  width: 640px;
  height: 320px;
  background: url(../images/circle_R2.png) center center no-repeat;
  display: inline-block;
  padding-top: 120px; }
  #index section.top .circle_R2 p {
    font-size: 30px;
    color: #ffffff;
    line-height: 0.5; }
  #index section.top .circle_R2 span {
    font-size: 60px;
    color: #ffffff;
    line-height: 1.5;
    font-weight: 700; }
    #index section.top .circle_R2 span b {
      font-size: 40px; }

#index section.top .circle_G {
  width: 640px;
  height: 320px;
  background: url("../images/circle_G2.png") center center no-repeat;
  display: inline-block;
  padding-top: 120px; }
  #index section.top .circle_G p {
    font-size: 30px;
    color: #292929;
    line-height: 0.5; }
  #index section.top .circle_G span {
    font-size: 60px;
    color: #4a3929;
    line-height: 1.5;
    font-weight: 700; }
    #index section.top .circle_G span b {
      font-size: 40px; }

#index section.top .circle_G2 {
  width: 640px;
  height: 320px;
  display: inline-block;
  padding-top: 120px; }
  #index section.top .circle_G2 p {
    font-size: 30px;
    color: #ffffff;
    line-height: 0.5; }
  #index section.top .circle_G2 span {
    font-size: 60px;
    color: #ffffff;
    line-height: 1.5;
    font-weight: 700; }
    #index section.top .circle_G2 span b {
      font-size: 40px; }

#index section.top .circle_B {
  width: 640px;
  height: 320px;
  display: inline-block;
  padding-top: 120px; }
  #index section.top .circle_B p {
    font-size: 30px;
    color: #c0c0c0;
    line-height: 0.5; }
  #index section.top .circle_B span {
    font-size: 60px;
    color: #ffffff;
    line-height: 1.5;
    font-weight: 700; }
    #index section.top .circle_B span b {
      font-size: 40px; }

#index section.top .circle_B2 {
  width: 640px;
  height: 320px;
  display: inline-block;
  padding-top: 120px; }
  #index section.top .circle_B2 p {
    font-size: 30px;
    color: #fff;
    line-height: 0.5; }
  #index section.top .circle_B2 span {
    font-size: 60px;
    color: #fff;
    line-height: 1.5;
    font-weight: 700; }
    #index section.top .circle_B2 span b {
      font-size: 40px; }

#index section.top .btn-rights {
  display: inline-block; }

#index section.points .row:nth-child(2) {
  margin: 0; }

#index section.points .row:nth-child(3) {
  margin-top: -30px; }

#index .menu {
  margin-bottom: 30px; }
  #index .menu li:first-child .con .inner {
    padding: 50px; }
  #index .menu li .con table {
    width: 100%;
    font-size: 24px; }
    #index .menu li .con table th, #index .menu li .con table td {
      padding: 10px; }
    #index .menu li .con table th {
      background: url(../images/dot.png) left bottom repeat-x;
      padding-bottom: 20px; }
    #index .menu li .con table tr:nth-child(2) td {
      padding-top: 20px; }

#index section.top .row {
  padding: 0; }

#member section.top .row, #coupon section.top .row {
  padding: 0; }

#index section.top ul, #member section.top ul, #coupon section.top ul {
  text-align: center; }

#index section.top ul li, #member section.top ul li, #coupon section.top ul li {
  display: inline-block;
  margin: 0 10px; }

#index section.top ul li a, #member section.top ul li a, #coupon section.top ul li a {
  font-size: 30px;
  color: #cc0033;
  text-decoration: none;
  line-height: 60px;
  display: block;
  border: 1px solid #cc0033;
  padding: 0 50px; }

#index .menu .con figure {
  display: inline-block;
  text-align: center;
  margin-right: -4px;
  margin-bottom: 30px;
  vertical-align: top; }
  #index .menu .con figure img {
    display: inline-block;
    margin-bottom: 15px;
    height: 286px;
    width: 286px;
  }

#index .menu .con2 figure img {
  display: inline-block;
  margin-bottom: 15px; }

#index .menu .con figure span {
  display: inline-block;
  background: #d6001c;
  color: #fff;
  padding: 0 50px;
  margin-bottom: 15px;
  font-size: 26px;
  letter-spacing: 2px;
  line-height: 45px; }

#index .menu .con figure span.special_gift {
  padding: 0 15px;
  letter-spacing: 1.5px;
}

#index .menu .con figure figcaption {
  font-size: 24px;
  text-align: center;
  font-weight: 700; }
  #index .menu .con figure figcaption i {
    font-size: 20px;
    font-weight: 400; }

#index .menu .gift .con .inner small {
  display: block;
  text-align: left;
  font-weight: 700; }

#index .menu .gift .con .inner2 small {
  display: absolute;
  text-align: center;
  font-weight: 700; }

#index .menu .gift .con .inner ol li {
  position: relative;
  font-size: 20px;
  text-align: justify;
  padding-left: 15px; }
  #index .menu .gift .con .inner ol li:before {
    position: absolute;
    left: 0;
    top: 5px;
    content: "*"; }

#index .menu .rights .con ol li:before {
  position: absolute;
  left: 0;
  top: 5px;
  content: "*"; }

#index .menu .rights .con .inner {
  text-align: left; }

#index .menu .rights .con span {
  display: inline-block;
  background: #d6001c;
  color: #fff;
  padding: 0 30px;
  margin-bottom: 15px;
  font-size: 26px;
  letter-spacing: 2px;
  line-height: 45px; }
  #index .menu .rights .con span.under_line {
    background: unset;
    color: #000;
    padding: 0;
    line-height: unset;
    letter-spacing: unset;
    margin: 0;
    font-size: 24px;
    text-decoration: underline;
    font-weight: 600;
  }
  #index .menu .rights .con span.rights_content {
    background: unset;
    color: #000;
    padding: 0;
    line-height: unset;
    letter-spacing: unset;
    margin: 0;
    font-size: 24px;
    font-weight: 600;
  }
#index .menu .con p {
  text-align: justify;
  margin-bottom: 30px;
  color: #000; }

#index .menu .rights .con .inner {
  padding-bottom: 50px; }
  #index .menu .rights .con .inner a {
    color: #000; }
  #index .menu .rights .con .inner ol {
    margin-bottom: 30px; }
    /* #index .menu .rights .con .inner dl dt {
      float: left;
      font-weight: 700; } */
  #index .menu .rights .con .inner ol li {
    list-style: disc;
    margin-left: 30px; }

#member .menu > li.active .con {
  max-height: 1500px; }

#member .menu > li:first-child .con .inner a {
  color: #000; }

#member .menu > li:first-child .con .inner dl {
  margin-bottom: 30px; }
  #member .menu > li:first-child .con .inner dl dt {
    float: left;
    font-weight: 500; }

#member .menu > li:first-child .con .inner ol li {
  list-style: disc;
  margin-left: 30px; }

#member .menu > li:last-child .con .inner {
  padding-bottom: 50px; }
  #member .menu > li:last-child .con .inner figcaption {
    display: inline-block;
    text-align: center;
    width: 50%;
    margin-right: -4px;
    padding: 0 10px;
    margin-bottom: 30px;
    vertical-align: top; }
    #member .menu > li:last-child .con .inner figcaption img {
      display: inline-block;
      margin-bottom: 15px; }
    #member .menu > li:last-child .con .inner figcaption p {
      font-size: 18px;
      text-align: center; }
    #member .menu > li:last-child .con .inner figcaption figure {
      font-weight: bold;
      font-size: 23px; }
      #member .menu > li:last-child .con .inner figcaption figure i {
        font-weight: normal; }
  #member .menu > li:last-child .con .inner ol li {
    position: relative;
    font-size: 20px;
    text-align: justify;
    padding-left: 15px; }
    #member .menu > li:last-child .con .inner ol li:before {
      position: absolute;
      left: 0;
      top: 5px;
      content: "*"; }

#member .menu .con p {
  text-align: justify;
  margin-bottom: 30px; }
  #member .menu .con p b {
    font-weight: 700; }

#member .points {
  text-align: center;
  margin-bottom: 60px; }
  #member .points li {
    position: relative;
    display: inline-block;
    width: 138px;
    height: 137px;
    margin: 0 5px; }
    #member .points li.num1 {
      background: url(../images/num1.png) 0 0 no-repeat; }
    #member .points li.num2 {
      background: url(../images/num2.png) 0 0 no-repeat; }
    #member .points li.num3 {
      background: url(../images/num3.png) 0 0 no-repeat; }
    #member .points li.num4 {
      background: url(../images/num4.png) 0 0 no-repeat; }
    #member .points li.stamp:after {
      position: absolute;
      left: 0;
      top: 0;
      width: 100%;
      height: 100%;
      background: url(../images/stamp.png) center center no-repeat;
      display: block;
      content: ""; }

#member section.top .row small {
  display: block;
  font-size: 30px;
  padding-top: 5px; }

#member .menu > li > a {
  background: url(../images/menu_bg.jpg) 0 0/cover no-repeat; }

#member .menu .con figure {
  display: inline-block;
  vertical-align: top;
  text-align: center;
  width: 50%;
  margin-right: -4px;
  margin-bottom: 30px; }
  #member .menu .con figure img {
    display: inline-block;
    margin-bottom: 15px; }
  #member .menu .con figure span {
    display: inline-block;
    background: #d6001c;
    color: #fff;
    padding: 3px 20px;
    margin-bottom: 15px;
    font-size: 24px;
    letter-spacing: 2px; }
  #member .menu .con figure figcaption {
    font-weight: 700; }
    #member .menu .con figure figcaption i {
      font-size: 20px;
      font-weight: 400; }
  #member .menu .con figure p {
    font-size: 18px;
    text-align: center; }

#member .menu .con ol li {
  position: relative;
  font-size: 20px;
  text-align: justify;
  padding-left: 15px; }
  #member .menu .con ol li:before {
    position: absolute;
    left: 0;
    top: 5px;
    content: "*"; }

#coupon .wrapper {
  background: url(../images/coupon_bg.png) 50% top no-repeat; }

#coupon section.top h2 {
  position: relative;
  border: none; }
  #coupon section.top h2:before {
    position: absolute;
    left: 0;
    top: 50%;
    width: 80px;
    height: 1px;
    background: #b71b30;
    content: ""; }
  #coupon section.top h2:after {
    position: absolute;
    right: 0;
    top: 50%;
    width: 80px;
    height: 1px;
    background: #b71b30;
    content: ""; }

.barcode-area svg {
  max-width: 100%; }

.v-hidden {
  visibility: hidden; }

.circle_B2 {
  padding: 5px 0% !important;
  position: relative; }
  .circle_B2 .card-text {
    width: 100%;
    position: absolute;
    left: 50%;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%); }
    .circle_B2 .card-text.card-0 p, .circle_B2 .card-text.card-0 span {
      color: #b71b30 !important; }
    .circle_B2 .card-text.card-2 p, .circle_B2 .card-text.card-2 span {
      color: #4a3929 !important; }
    .circle_B2 .card-text.card-5 p {
      color: #d8c156 !important; }
    .circle_B2 .card-text.card-5 span {
      color: #f5e6a0 !important; }
  .circle_B2 img {
    width: 100%;
    max-width: 100%; }

.decrease {
  color: #d42a38;
}


.card-logo {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: #b71b30 url(../images/card-logo.png) center /cover no-repeat;
}
.card-logo img {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  display: block; }

.card-bg{
  width: 100%;
  height: calc(100vh - 100px);
  margin-bottom: 0px;
}
.card-bg img{
  width: 100%;
  height: 100%;
  display: block;
}
.card-div {
  height: 40%;
  position: absolute;
  top: 45%;
  width: 70%;
  left: 15%;
}

.card-btn {
  position: relative;
  display: flex;
  background-color: #FFFFFF;
  padding: 1rem;
  margin: 1.2rem 1.5rem;
}

.card-btn-icon {
  width: 80px;
}
.card-btn-icon img {
  width: 100%;
}

.card-btn-text {
  display: flex;
  align-items: center;
  font-size: 130%;
  margin-left: 1.5rem;
}

.card-btn-arrow {
  width: 20px;
  display: flex;
  position: absolute;
  right: 15px;
  top: 50%;
  transform: translateY(-50%);
}

.card-btn-arrow img {
  width: 100%;
}

.card-wrapper {
  position: relative;
  width: 640px;
  margin: 0 auto;
}
a {
  color: #333;
  text-decoration: none !important; }
a:hover {
  color: #333; }

#index .menu .rights .con .inner ol li.li-decimal {
  list-style: decimal;
}

#index .menu .rights .con p.color-red {
  color: red;
  margin-bottom: 0;
}
.icon-right:after {
  position: absolute;
  right: 30px;
  top: 0;
  width: 21px;
  height: 37px;
  background: url(../images/angle-right-solid.svg) 0 0 no-repeat;
  content: "";
  -webkit-transition: -webkit-transform .4s;
  transition: -webkit-transform .4s;
  -o-transition: transform .4s;
  transition: transform .4s;
  transition: transform .4s, -webkit-transform .4s;
}
.icon-left:after {
  position: absolute;
  left: 30px;
  top: 0;
  width: 21px;
  height: 37px;
  background: url(../images/angle-right-solid.svg) 0 0 no-repeat;
  content: "";
  -webkit-transition: -webkit-transform .4s;
  transition: -webkit-transform .4s;
  -o-transition: transform .4s;
  transition: transform .4s;
  transition: transform .4s, -webkit-transform .4s;
  transform: rotate(180deg);
}
#index .menu .rights .con div.color-red {
  display: inline;
  color: red; }
.color-red {
  color: red; }
