@charset "UTF-8";
@import url("https://fonts.googleapis.com/css?family=Noto+Sans+TC:100,300,400,500,700,900&display=swap");
@import url("https://fonts.googleapis.com/css?family=Noto+Serif+TC:200,300,400,500,600,700,900&display=swap");
@import url("https://fonts.googleapis.com/css?family=Noto+Sans+TC:100,300,400,500,700,900&display=swap");
@import url("https://fonts.googleapis.com/css?family=Noto+Serif+TC:200,300,400,500,600,700,900&display=swap");
table {
  border-collapse: collapse;
  border-spacing: 0; }

fieldset, img {
  border: 0; }

address, caption, cite, code, dfn, em, strong, th, var, b {
  font-weight: normal;
  font-style: normal; }

ol, ul {
  list-style: none; }

caption, th {
  text-align: left; }

h1, h2, h3, h4, h5, h6 {
  font-weight: normal;
  font-size: 100%; }

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

abbr, acronym {
  border: 0; }

a {
  text-decoration: none; }

input, button, textarea, select, option {
  font-family: inherit;
  font-size: inherit;
  font-style: inherit;
  font-weight: inherit; }

textarea:focus, input:focus {
  outline: none; }

html, body {
  margin: 0;
  padding: 0;
  height: 100%;
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }

body {
  line-height: 1.5;
  font-family: "Noto Sans TC", sans-serif, "Microsoft JhengHei", \5FAE\8EDF\6B63\9ED1\9AD4, PMingLiU, \65B0\7D30\660E\9AD4, sans-serif;
  font-size: 16px;
  color: #515151;
  background-color: #f2dad0;
  overflow-x: hidden; }

.wrapper {
  width: 100%;
  margin: 0 auto;
  min-height: 100%;
  position: relative;
  overflow: auto;
  overflow-x: hidden;
  -webkit-overflow-scrolling: touch; }

.btn {
  position: relative;
  background-color: #ba2929;
  -webkit-box-shadow: inset 0 -8px 0 #8d1717;
  box-shadow: inset 0 -8px 0 #8d1717;
  color: #fff;
  text-shadow: 0 5px 0 rgba(0, 0, 0, 0.2);
  -moz-border-radius: 10px;
  -webkit-border-radius: 10px;
  border-radius: 10px;
  padding: 15px 20px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding-bottom: 20px;
  font-weight: bold;
  cursor: pointer;
  overflow: hidden;
  -webkit-transition: all .3s ease-in;
  -moz-transition: all .3s ease-in;
  -ms-transition: all .3s ease-in;
  -o-transition: all .3s ease-in;
  transition: all .3s ease-in;
  z-index: 4; }
  .btn p {
    margin: 0;
    padding: 0;
    position: relative;
    z-index: 2; }
  .btn:after {
    width: 50%;
    height: 100%;
    background-color: #e33f3f;
    opacity: 0.4;
    display: block;
    content: '';
    position: absolute;
    -webkit-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg);
    top: -35%;
    left: -15%;
    z-index: 1;
    -webkit-transition: all .3s ease-in;
    -moz-transition: all .3s ease-in;
    -ms-transition: all .3s ease-in;
    -o-transition: all .3s ease-in;
    transition: all .3s ease-in; }
  @media only screen and (min-width: 1281px) {
    .btn:hover:after {
      height: 500%;
      width: 180%;
      top: -125%;
      left: -30%;
      -webkit-transform: rotate(-60deg);
      -ms-transform: rotate(-60deg);
      transform: rotate(-60deg);
      opacity: .2; } }

.btnBuy {
  background-image: url("../img/btn_buy.png");
  background-position: 150% 50%;
  background-repeat: no-repeat;
  width: 300px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  height: 160px;
  position: absolute;
  bottom: 0; }
  .btnBuy span.eng {
    font-size: 24px;
    font-weight: lighter;
    line-height: 1.33; }
  .btnBuy span.tw {
    font-size: 42px;
    display: block;
    line-height: 1.33; }
  .btnBuy:after {
    width: 150%;
    height: 100%;
    top: -18%;
    left: -70%; }

.btnMore {
  position: relative;
  margin: 30px auto;
  width: 300px;
  font-size: 18px;
  background-color: #5543a7;
  color: #fff;
  border-radius: 10px;
  padding: 15px 20px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  cursor: pointer;
  overflow: hidden;
  text-shadow: 0 3px 0 rgba(0, 0, 0, 0.2);
  font-weight: 500;
  display: block; }
  .btnMore:after {
    width: 100%;
    height: 100%;
    background-color: #fff;
    opacity: 0.1;
    display: block;
    content: '';
    position: absolute;
    -webkit-transform: rotate(-15deg);
    -ms-transform: rotate(-15deg);
    transform: rotate(-15deg);
    top: -40%;
    left: -35%;
    z-index: 1;
    -webkit-transition: all .3s ease-in;
    -moz-transition: all .3s ease-in;
    -ms-transition: all .3s ease-in;
    -o-transition: all .3s ease-in;
    transition: all .3s ease-in; }
  @media only screen and (min-width: 1281px) {
    .btnMore:hover:after {
      height: 500%;
      width: 200%;
      top: -185%;
      left: -0%; } }
  @media only screen and (max-width: 414px) {
    .btnMore {
      width: 100%; } }

@media only screen and (max-width: 768px) {
  .codeBox {
    width: 100% !important; } }
  @media only screen and (max-width: 768px) and (max-width: 480px) {
    .codeBox {
      width: 99% !important; } }

@media only screen and (max-width: 768px) {
    .codeBox.thin {
      height: 67px; }
      .codeBox.thin .gc-reset {
        top: -1px; }
    .codeBox .img {
      height: 75% !important;
      background-size: auto 125% !important;
      width: 100px !important;
      top: 12% !important; }
      .codeBox .img + div {
        height: 98% !important; } }

.swal2-modal h2 {
  line-height: 1.5;
  font-size: 24px; }
  .swal2-modal h2 span {
    color: #e46d61;
    font-size: 30px; }

.swal2-modal button.styled {
  font-size: 24px;
  font-weight: bold;
  border: 0; }

.swal2-content {
  margin-top: 10px; }

.shine {
  animation: shine .5s infinite linear;
  -webkit-animation: shine .5s infinite linear; }

@-webkit-keyframes shine {
  0%, 100% {
    -webkit-filter: brightness(100%);
    filter: brightness(100%); }
  50% {
    -webkit-filter: brightness(107%);
    filter: brightness(107%); } }

@keyframes shine {
  0%, 100% {
    -webkit-filter: brightness(100%);
    filter: brightness(100%); }
  50% {
    -webkit-filter: brightness(107%);
    filter: brightness(107%); } }

@-webkit-keyframes navGo {
  0% {
    left: -100%; }
  100% {
    left: 0; } }

@keyframes navGo {
  0% {
    left: -100%; }
  100% {
    left: 0; } }

.balloon {
  width: 1280px;
  position: relative;
  margin: 0 auto;
  top: 200px; }
  .balloon > div {
    position: absolute;
    z-index: 2; }
  .balloon_01 {
    width: 67px;
    height: 97px;
    background: url("../img/balloon_blue.png") no-repeat;
    left: 0px; }
  .balloon_02 {
    width: 41px;
    height: 60px;
    background: url("../img/balloon_red.png") no-repeat;
    top: 84px;
    left: 124px; }
  @media screen and (-webkit-min-device-pixel-ratio: 1.25) and (min-width: 1280px), screen and (-o-min-device-pixel-ratio: 5/4) and (min-width: 1280px), screen and (min-resolution: 120dpi) and (min-width: 1280px) {
    .balloon {
      top: 140px; } }
  @media only screen and (max-width: 1024px) {
    .balloon {
      display: none; } }

.hanabi > div {
  position: absolute;
  z-index: 1;
  background-size: 100% !important; }
  .hanabi > div:nth-child(1) {
    opacity: 0.8;
    -webkit-animation: hanabi_01 4s linear infinite;
    animation: hanabi_01 4s linear infinite; }
  .hanabi > div:nth-child(2) {
    opacity: 1;
    -webkit-animation: hanabi_02 3s linear infinite;
    animation: hanabi_02 3s linear infinite; }
  .hanabi > div:nth-child(3) {
    opacity: 1;
    -webkit-animation: hanabi_02 4s linear infinite;
    animation: hanabi_02 4s linear infinite; }
  .hanabi > div:nth-child(4) {
    opacity: 0.9;
    -webkit-animation: hanabi_01 2s linear infinite;
    animation: hanabi_01 2s linear infinite; }
  .hanabi > div:nth-child(5) {
    opacity: 0.8;
    -webkit-animation: hanabi_01 2s linear infinite;
    animation: hanabi_01 2s linear infinite; }
  .hanabi > div:nth-child(6) {
    opacity: 0.9;
    -webkit-animation: hanabi_02 4s linear infinite;
    animation: hanabi_02 4s linear infinite; }
  .hanabi > div:nth-child(2) {
    width: 112px;
    height: 112px;
    background: url("../img/fw_01.png") 50% 50% no-repeat;
    top: 37px;
    left: 105px; }
  .hanabi > div:nth-child(2) {
    width: 180px;
    height: 180px;
    background: url("../img/fw_03.png") 50% 50% no-repeat;
    top: 25px;
    left: 325px; }
  .hanabi > div:nth-child(3) {
    width: 136px;
    height: 136px;
    background: url("../img/fw_02.png") 50% 50% no-repeat;
    top: 241px;
    left: 36px; }
  .hanabi > div:nth-child(4) {
    width: 88px;
    height: 88px;
    background: url("../img/fw_06.png") 50% 50% no-repeat;
    top: 226px;
    right: 65px; }
  .hanabi > div:nth-child(5) {
    width: 100px;
    height: 100px;
    background: url("../img/fw_05.png") 50% 50% no-repeat;
    top: 46px;
    right: 414px; }
  .hanabi > div:nth-child(6) {
    width: 180px;
    height: 180px;
    background: url("../img/fw_04.png") 50% 50% no-repeat;
    top: 65px;
    right: 163px; }
  .hanabi > div:nth-child(7) {
    -webkit-animation: hanabi_03 3s linear infinite;
    animation: hanabi_03 3s linear infinite;
    background: url("../img/fw_07.png") 50% 50% no-repeat; }
  .hanabi > div:nth-child(8) {
    -webkit-animation: hanabi_03 3s linear infinite;
    animation: hanabi_03 3s linear infinite;
    background: url("../img/fw_07.png") 50% 50% no-repeat; }
  .hanabi > div:nth-child(8) {
    width: 290px;
    height: 197px;
    top: 76px;
    left: 101px; }
  .hanabi > div:nth-child(7) {
    width: 261px;
    height: 179px;
    top: 6px;
    left: 50%; }

@media only screen and (max-width: 1024px) {
  .hanabi {
    display: none; } }

.music > div {
  position: absolute;
  z-index: 2;
  background-size: 100% !important; }
  .music > div:nth-child(1) {
    -webkit-animation: noteMove_02 2.5s linear infinite;
    animation: noteMove_02 2.5s linear infinite; }
  .music > div:nth-child(2) {
    -webkit-animation: noteMove_02 1.5s linear infinite;
    animation: noteMove_02 1.5s linear infinite; }
  .music > div:nth-child(3) {
    -webkit-animation: noteMove_01 1.5s linear infinite;
    animation: noteMove_01 1.5s linear infinite; }
  .music > div:nth-child(4) {
    -webkit-animation: noteMove_02 2.5s linear infinite;
    animation: noteMove_02 2.5s linear infinite; }
  .music > div:nth-child(5) {
    -webkit-animation: noteMove_01 2.5s linear infinite;
    animation: noteMove_01 2.5s linear infinite; }
  .music > div:nth-child(6) {
    -webkit-animation: noteMove_01 1.5s linear infinite;
    animation: noteMove_01 1.5s linear infinite; }
  .music > div:nth-child(7) {
    -webkit-animation: noteMove_02 1.5s linear infinite;
    animation: noteMove_02 1.5s linear infinite; }
  .music > div:nth-child(8) {
    -webkit-animation: noteMove_02 3.5s linear infinite;
    animation: noteMove_02 3.5s linear infinite; }
  .music > div:nth-child(1) {
    width: 37px;
    height: 48px;
    background: url("../img/noteMove_01.png") 50% 50% no-repeat;
    left: 134px;
    top: 373px; }
  .music > div:nth-child(2) {
    width: 47px;
    height: 70px;
    background: url("../img/noteMove_02.png") 50% 50% no-repeat;
    left: 216px;
    top: 71px; }
  .music > div:nth-child(3) {
    width: 33px;
    height: 93px;
    background: url("../img/noteMove_03.png") 50% 50% no-repeat;
    left: 64px;
    top: 138px; }
  .music > div:nth-child(4) {
    width: 44px;
    height: 58px;
    background: url("../img/noteMove_01.png") 50% 50% no-repeat;
    left: 576px;
    top: 365px;
    display: none; }
  .music > div:nth-child(5) {
    width: 74px;
    height: 97px;
    background: url("../img/noteMove_01.png") 50% 50% no-repeat;
    right: 143px;
    top: 161px; }
  .music > div:nth-child(6) {
    width: 47px;
    height: 70px;
    background: url("../img/noteMove_02.png") 50% 50% no-repeat;
    right: 176px;
    top: 478px; }
  .music > div:nth-child(7) {
    width: 38px;
    height: 57px;
    background: url("../img/noteMove_02.png") 50% 50% no-repeat;
    right: 564px;
    top: 492px;
    display: none; }
  .music > div:nth-child(8) {
    width: 23px;
    height: 35px;
    background: url("../img/noteMove_02.png") 50% 50% no-repeat;
    right: 294px;
    top: 38px; }

@media only screen and (max-width: 1024px) {
  .music {
    display: none; } }

@-webkit-keyframes shake {
  0%, 100% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg); }
  25% {
    -webkit-transform: rotate(-15deg);
    transform: rotate(-15deg); }
  75% {
    -webkit-transform: rotate(15deg);
    transform: rotate(15deg); } }

@keyframes shake {
  0%, 100% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg); }
  25% {
    -webkit-transform: rotate(-15deg);
    transform: rotate(-15deg); }
  75% {
    -webkit-transform: rotate(15deg);
    transform: rotate(15deg); } }

@-webkit-keyframes fadeUp {
  0% {
    opacity: 0;
    right: -60px;
    top: 0px; }
  100% {
    opacity: 1;
    right: -90px;
    top: -24px; } }

@keyframes fadeUp {
  0% {
    opacity: 0;
    right: -60px;
    top: 0px; }
  100% {
    opacity: 1;
    right: -90px;
    top: -24px; } }

@-webkit-keyframes updown {
  0%, 100% {
    margin-top: 0; }
  25% {
    margin-top: -1px; }
  75% {
    margin-top: 1px; } }

@keyframes updown {
  0%, 100% {
    margin-top: 0; }
  25% {
    margin-top: -1px; }
  75% {
    margin-top: 1px; } }

@-webkit-keyframes hanabi_01 {
  0% {
    opacity: 0;
    -webkit-transform: scale(0);
    transform: scale(0); }
  30% {
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1); }
  100% {
    opacity: 0;
    -webkit-transform: scale(1.5);
    transform: scale(1.5); } }

@keyframes hanabi_01 {
  0% {
    opacity: 0;
    -webkit-transform: scale(0);
    transform: scale(0); }
  30% {
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1); }
  100% {
    opacity: 0;
    -webkit-transform: scale(1.5);
    transform: scale(1.5); } }

@-webkit-keyframes hanabi_02 {
  0%, 30% {
    opacity: 0;
    -webkit-transform: scale(0);
    transform: scale(0); }
  60% {
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1); }
  100% {
    opacity: 0;
    -webkit-transform: scale(1.2);
    transform: scale(1.2); } }

@keyframes hanabi_02 {
  0%, 30% {
    opacity: 0;
    -webkit-transform: scale(0);
    transform: scale(0); }
  60% {
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1); }
  100% {
    opacity: 0;
    -webkit-transform: scale(1.2);
    transform: scale(1.2); } }

@-webkit-keyframes hanabi_03 {
  0%, 50% {
    opacity: 0;
    -webkit-transform: scale(0);
    transform: scale(0); }
  75% {
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1); }
  100% {
    opacity: 0;
    -webkit-transform: scale(1.1);
    transform: scale(1.1); } }

@keyframes hanabi_03 {
  0%, 50% {
    opacity: 0;
    -webkit-transform: scale(0);
    transform: scale(0); }
  75% {
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1); }
  100% {
    opacity: 0;
    -webkit-transform: scale(1.1);
    transform: scale(1.1); } }

@-webkit-keyframes noteMove_01 {
  0%, 100% {
    margin-top: 0;
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg); }
  25% {
    margin-top: -1px;
    -webkit-transform: rotate(3deg);
    transform: rotate(3deg); }
  75% {
    margin-top: 6px;
    -webkit-transform: rotate(-3deg);
    transform: rotate(-3deg); } }

@keyframes noteMove_01 {
  0%, 100% {
    margin-top: 0;
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg); }
  25% {
    margin-top: -1px;
    -webkit-transform: rotate(3deg);
    transform: rotate(3deg); }
  75% {
    margin-top: 6px;
    -webkit-transform: rotate(-3deg);
    transform: rotate(-3deg); } }

@-webkit-keyframes noteMove_02 {
  0%, 100% {
    margin-top: 0;
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg); }
  25% {
    margin-top: -5px;
    -webkit-transform: rotate(2deg);
    transform: rotate(2deg); }
  75% {
    margin-top: 8px;
    -webkit-transform: rotate(-3deg);
    transform: rotate(-3deg); } }

@keyframes noteMove_02 {
  0%, 100% {
    margin-top: 0;
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg); }
  25% {
    margin-top: -5px;
    -webkit-transform: rotate(2deg);
    transform: rotate(2deg); }
  75% {
    margin-top: 8px;
    -webkit-transform: rotate(-3deg);
    transform: rotate(-3deg); } }

@-webkit-keyframes tickLeft {
  0% {
    width: 0; }
  100% {
    width: 8px; } }

@keyframes tickLeft {
  0% {
    width: 0; }
  100% {
    width: 8px; } }

@-webkit-keyframes tickRight {
  0% {
    width: 0; }
  100% {
    width: 12px; } }

@keyframes tickRight {
  0% {
    width: 0; }
  100% {
    width: 12px; } }

.nav {
  width: 100%;
  height: 70px;
  background-color: rgba(255, 255, 255, 0.6);
  position: absolute;
  z-index: 5;
  top: calc( 70vw - 90px); }
  .nav-list {
    width: 680px;
    height: auto;
    margin: 0 auto;
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center; }
    .nav-list a {
      position: relative;
      width: 170px;
      display: block;
      color: #5543a7;
      font-size: 18px;
      letter-spacing: 1px;
      height: 40px;
      top: 15px;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      justify-content: center;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      -webkit-transition: all .3s ease-in;
      -moz-transition: all .3s ease-in;
      -ms-transition: all .3s ease-in;
      -o-transition: all .3s ease-in;
      transition: all .3s ease-in;
      cursor: pointer; }
      .nav-list a i {
        margin-right: 8px;
        margin-left: -5px; }
      .nav-list a:not(:last-child):before {
        display: block;
        content: '';
        width: 1px;
        height: 24px;
        background-color: #bab7ea;
        position: absolute;
        right: 1px; }
  .nav-ham {
    display: none; }
  .nav.is--scroll {
    background-color: #5543a7;
    position: fixed;
    top: 0 !important;
    height: 56px;
    -webkit-box-shadow: 0 3px 0px rgba(0, 0, 0, 0.1);
    box-shadow: 0 3px 0px rgba(0, 0, 0, 0.1); }
    .nav.is--scroll a {
      height: 56px;
      top: 0px;
      color: #fff;
      letter-spacing: 2px;
      font-size: 16px; }
  @media only screen and (max-width: 1024px) {
    .nav {
      top: calc(84vw - 70px); } }
  @media only screen and (max-width: 768px) {
    .nav {
      width: 100%;
      height: 0vh;
      position: fixed;
      top: 0;
      background-color: #5543a7;
      -webkit-transition: all .3s ease-in;
      -moz-transition: all .3s ease-in;
      -ms-transition: all .3s ease-in;
      -o-transition: all .3s ease-in;
      transition: all .3s ease-in; }
      .nav-ham {
        display: block;
        position: absolute;
        z-index: 6;
        right: 10px;
        top: 78vw;
        width: 42px;
        height: 42px;
        -webkit-transition: all .3s ease-in;
        -moz-transition: all .3s ease-in;
        -ms-transition: all .3s ease-in;
        -o-transition: all .3s ease-in;
        transition: all .3s ease-in;
        text-align: center;
        padding-top: 6px;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        cursor: pointer;
        background-color: rgba(69, 52, 146, 0.8); }
        .nav-ham span {
          font-size: 12px;
          color: #fff;
          -webkit-transition: all .3s ease-in;
          -moz-transition: all .3s ease-in;
          -ms-transition: all .3s ease-in;
          -o-transition: all .3s ease-in;
          transition: all .3s ease-in; }
          .nav-ham span:after, .nav-ham span:before {
            width: 34px;
            height: 1px;
            background-color: #fff;
            display: block;
            content: '';
            position: absolute;
            left: 4px;
            -webkit-transition: all .3s ease-in;
            -moz-transition: all .3s ease-in;
            -ms-transition: all .3s ease-in;
            -o-transition: all .3s ease-in;
            transition: all .3s ease-in; }
          .nav-ham span:before {
            top: 9px; }
          .nav-ham span:after {
            bottom: 9px; }
      .nav-list {
        width: 100%;
        display: block;
        text-align: center;
        position: relative;
        top: 100px;
        left: -100%;
        -webkit-transition: all .3s ease-in;
        -moz-transition: all .3s ease-in;
        -ms-transition: all .3s ease-in;
        -o-transition: all .3s ease-in;
        transition: all .3s ease-in; }
        .nav-list a {
          width: 100%;
          top: 0px;
          color: #fff;
          letter-spacing: 2px;
          font-size: 16px;
          position: relative;
          height: 70px;
          left: -100%; }
          .nav-list a:not(:last-child):before {
            width: 100%;
            height: 1px;
            bottom: 5px;
            right: auto; }
      .nav.is--active {
        width: 100%;
        height: 100vh;
        position: fixed;
        top: 0;
        background-color: #5543a7; }
        .nav.is--active .nav-ham {
          top: 20px; }
          .nav.is--active .nav-ham span {
            color: transparent; }
            .nav.is--active .nav-ham span:after {
              -webkit-transform: rotate(45deg);
              -ms-transform: rotate(45deg);
              transform: rotate(45deg);
              height: 2px;
              bottom: 20px; }
            .nav.is--active .nav-ham span:before {
              -webkit-transform: rotate(-45deg);
              -ms-transform: rotate(-45deg);
              transform: rotate(-45deg);
              height: 2px;
              top: 20px; }
        .nav.is--active .nav-list {
          left: 0; }
          .nav.is--active .nav-list a:nth-child(1) {
            -webkit-animation: navGo 0.5s forwards 0.2s ease-in-out;
            animation: navGo 0.5s forwards 0.2s ease-in-out; }
          .nav.is--active .nav-list a:nth-child(2) {
            -webkit-animation: navGo 0.5s forwards 0.4s ease-in-out;
            animation: navGo 0.5s forwards 0.4s ease-in-out; }
          .nav.is--active .nav-list a:nth-child(3) {
            -webkit-animation: navGo 0.5s forwards 0.6s ease-in-out;
            animation: navGo 0.5s forwards 0.6s ease-in-out; }
          .nav.is--active .nav-list a:nth-child(4) {
            -webkit-animation: navGo 0.5s forwards 0.8s ease-in-out;
            animation: navGo 0.5s forwards 0.8s ease-in-out; } }

.header {
  position: relative;
  background: url("../img/top.jpg") 50% -15px no-repeat;
  background-size: 100% auto;
  height: 900px; }
  .header-logo {
    width: 130px;
    height: 87px;
    background: url("../img/logo.png") no-repeat;
    background-size: 100%;
    left: 0px;
    top: -4px;
    z-index: 3; }
    .header-logo a {
      width: 100%;
      height: 100%;
      display: block; }
  .header-slogan {
    width: 832px;
    height: auto;
    margin: 0 auto;
    position: relative;
    top: 60px;
    z-index: 2; }
    .header-slogan > div {
      position: absolute; }
    .header-slogan-tip {
      top: 20px;
      left: 130px; }
      .header-slogan-tip .tip_txt {
        width: 254px;
        height: 49px;
        background: url("../img/t_tip.png");
        position: relative; }
      .header-slogan-tip .tip_music {
        position: absolute;
        width: 121px;
        height: 54px;
        background: url("../img/t_music.png");
        z-index: 0;
        right: -90px;
        top: -24px;
        opacity: 0;
        -webkit-animation: fadeUp 1.2s forwards;
        animation: fadeUp 1.2s forwards; }
    .header-slogan-sub {
      font-style: italic;
      color: #604CBC;
      font-size: 16px;
      font-weight: 500;
      line-height: 1.33;
      right: 0;
      top: -20px; }
    .header-slogan-eng {
      width: 450px;
      top: 28px;
      left: 390px; }
      .header-slogan-eng .eng_txt {
        position: relative;
        width: 423px;
        height: 42px;
        background: url("../img/t_eng1.png"); }
      .header-slogan-eng .eng_music {
        position: absolute;
        width: 38px;
        height: 50px;
        background: url("../img/t_eng2.png");
        top: -4px;
        right: 0; }
    .header-slogan-main {
      top: 80px;
      left: 8px; }
      .header-slogan-main .main_txt {
        position: relative;
        width: 826px;
        height: 90px;
        background: url("../img/t_main1.png"); }
      .header-slogan-main .main_heart {
        position: absolute;
        width: 24px;
        height: 22px;
        background: url("../img/t_main2.png");
        top: 14px;
        left: 236px;
        -webkit-animation: shake 2s infinite ease-in-out;
        animation: shake 2s infinite ease-in-out; }
  @media screen and (-webkit-min-device-pixel-ratio: 1.25) and (min-width: 1280px), screen and (-o-min-device-pixel-ratio: 5/4) and (min-width: 1280px), screen and (min-resolution: 120dpi) and (min-width: 1280px) {
    .header-slogan {
      -webkit-transform: scale(0.8);
      -ms-transform: scale(0.8);
      transform: scale(0.8); } }
  @media only screen and (max-width: 1024px) {
    .header {
      background: url("../img/top_s.jpg") 50% 0px no-repeat;
      height: 84vw;
      background-size: cover; }
      .header div[class^="header-slogan-"] {
        display: none; }
      .header-slogan {
        top: 0px;
        width: 100%; }
      .header-logo {
        top: 1.8vw;
        left: 2.2vw;
        width: 19vw;
        height: 13vw; } }

section {
  position: relative;
  padding: 50px 0px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  width: 100%; }
  section .divWrap {
    width: 1200px;
    height: auto;
    margin: 0 auto;
    position: relative; }
  section .title {
    font-family: "Noto Serif TC", serif;
    font-weight: 900;
    font-size: 36px; }
  section .vrl {
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl; }
  @media only screen and (max-width: 1366px) {
    section .divWrap {
      width: 100%; } }
  @media only screen and (max-width: 1024px) {
    section .vrl {
      -webkit-writing-mode: horizontal-tb;
      -ms-writing-mode: lr-tb;
      writing-mode: horizontal-tb; } }
  @media only screen and (max-width: 768px) {
    section {
      padding: 50px 20px;
      -webkit-box-sizing: border-box;
      box-sizing: border-box; } }

.info {
  position: relative;
  background: url("../img/bg_02.jpg"); }
  .info-left {
    width: 64%;
    border-radius: 0 10px 10px 0;
    padding: 50px 100px;
    background-color: #f69389;
    margin-top: -150px;
    color: #fff;
    -webkit-box-sizing: border-box;
    box-sizing: border-box; }
    .info-left .cont {
      width: calc(100% - 256px);
      margin-left: 256px; }
      .info-left .cont .title {
        line-height: 1.33; }
      .info-left .cont h4 {
        background-color: #e46d61;
        font-size: 18px;
        padding: 2px 10px;
        display: table;
        font-family: "Noto Serif TC", serif;
        margin: 0;
        font-weight: 900; }
      .info-left .cont-intro {
        position: relative;
        margin-top: 20px;
        border-bottom: 2px solid  #fff;
        padding-bottom: 10px; }
        .info-left .cont-intro:after {
          width: 100%;
          height: 1px;
          background-color: #fff;
          display: block;
          content: '';
          position: absolute;
          bottom: 3px; }
      .info-left .cont-ttt {
        margin-top: 20px; }
        .info-left .cont-ttt_row {
          font-size: 15px;
          vertical-align: top; }
          .info-left .cont-ttt_row span {
            background-color: #fff;
            color: #e46d61;
            -moz-border-radius: 5px;
            -webkit-border-radius: 5px;
            border-radius: 5px;
            padding: 8px;
            width: 100px;
            text-align: center;
            -webkit-box-sizing: border-box;
            box-sizing: border-box;
            display: inline-block;
            margin-right: 10px; }
          .info-left .cont-ttt_row--half {
            display: inline-block;
            width: calc(50% - 4px);
            margin-bottom: 20px; }
        .info-left .cont-ttt span.hint {
          font-weight: normal;
          font-size: 15px;
          margin: 0;
          margin-left: 110px; }
        .info-left .cont-ttt_location {
          font-size: 24px;
          font-weight: bold; }
          .info-left .cont-ttt_location span {
            font-size: 15px;
            font-weight: normal; }
        .info-left .cont-ttt_traffic {
          margin-top: 5px; }
          .info-left .cont-ttt_traffic iframe {
            width: 100%;
            height: 250px;
            -webkit-box-sizing: border-box;
            box-sizing: border-box;
            border: 3px solid #fff;
            -webkit-box-shadow: 3px 5px 0 rgba(0, 0, 0, 0.05);
            box-shadow: 3px 5px 0 rgba(0, 0, 0, 0.05); }
        .info-left .cont-ttt_transit p {
          margin: 20px 0 0;
          font-size: 15px; }
          .info-left .cont-ttt_transit p span {
            font-weight: 500;
            display: table;
            border-bottom: 2px solid #fff;
            font-size: 16px;
            margin-bottom: 5px; }
  .info-right {
    position: absolute;
    width: 36%;
    margin-left: 64%; }
    .info-right:before {
      width: 95%;
      height: 180px;
      background-color: #f2dad0;
      display: block;
      content: '';
      margin-left: 5%;
      position: absolute;
      bottom: 45px; }
    .info-right .trea {
      position: absolute;
      width: 300px;
      bottom: 320px;
      left: 8%;
      text-align: center; }
      .info-right .trea-item {
        position: relative;
        background-color: #e4e4e4;
        border: 8px solid #dbdbdb;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        padding: 10px 25px;
        border-radius: 80px;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between; }
        .info-right .trea-item:first-child {
          margin-bottom: 10px; }
        .info-right .trea-item span {
          text-align: left;
          position: relative; }
          .info-right .trea-item span i {
            font-style: normal;
            color: #e46d61;
            font-size: 20px; }
          .info-right .trea-item span + img {
            margin-top: 10px; }
        .info-right .trea-item__pic {
          width: 78px;
          height: 78px;
          background-color: #fff;
          position: relative;
          -moz-border-radius: 50%;
          -webkit-border-radius: 50%;
          border-radius: 50%;
          overflow: hidden; }
          .info-right .trea-item__pic img {
            max-height: 100%;
            max-width: 100%;
            width: auto;
            height: auto;
            position: absolute;
            top: 0;
            bottom: 0;
            left: 0;
            right: 0;
            margin: auto; }
      .info-right .trea-go {
        position: relative;
        margin-top: 20px;
        color: #ba2929;
        display: block;
        font-weight: 500;
        -webkit-transition: all .3s ease-in;
        -moz-transition: all .3s ease-in;
        -ms-transition: all .3s ease-in;
        -o-transition: all .3s ease-in;
        transition: all .3s ease-in; }
        .info-right .trea-go span {
          font-size: 18px; }
        .info-right .trea-go i {
          display: block; }
    .info-right .btnBuy {
      left: 8%;
      background-image: url("../img/btn_buy.png");
      background-position: 150% 50%;
      background-repeat: no-repeat;
      width: 300px;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      height: 160px;
      position: absolute;
      bottom: 0; }
      .info-right .btnBuy span.eng {
        font-size: 24px;
        font-weight: lighter;
        line-height: 1.33; }
      .info-right .btnBuy span.tw {
        font-size: 42px;
        display: block;
        line-height: 1.33; }
      .info-right .btnBuy:after {
        width: 150%;
        height: 100%;
        top: -18%;
        left: -70%; }
      @media only screen and (min-width: 1281px) {
        .info-right .btnBuy:hover:after {
          height: 500%;
          width: 180%;
          top: -125%;
          left: -30%;
          -webkit-transform: rotate(-60deg);
          -ms-transform: rotate(-60deg);
          transform: rotate(-60deg);
          opacity: .2; } }
  @media screen and (-webkit-min-device-pixel-ratio: 1.25) and (min-width: 1280px), screen and (-o-min-device-pixel-ratio: 5/4) and (min-width: 1280px), screen and (min-resolution: 120dpi) and (min-width: 1280px) {
    .info-left .cont {
      width: 100%;
      margin-left: 0; } }
  @media only screen and (max-width: 1366px) {
    .info-left {
      padding: 50px; }
      .info-left .cont {
        width: 100%;
        margin-left: 0; } }
  @media only screen and (max-width: 1024px) {
    .info-left {
      position: relative;
      margin-top: -50px;
      width: 100%; }
    .info-right {
      width: 100%;
      position: relative;
      margin-left: 0;
      top: 0;
      padding: 50px 0;
      -webkit-box-sizing: border-box;
      box-sizing: border-box; }
      .info-right:before {
        display: none; }
      .info-right .trea, .info-right .btnBuy {
        bottom: auto;
        position: relative; }
      .info-right .btnBuy {
        margin-top: 30px; } }
  @media only screen and (max-width: 768px) {
    .info-left {
      border-radius: 10px;
      margin-top: 0; }
    .info-right .trea, .info-right .btnBuy {
      margin: 0 auto;
      left: 0px; }
    .info-right .btnBuy {
      margin-top: 30px; } }
  @media only screen and (max-width: 414px) {
    .info-left {
      padding: 25px; }
      .info-left .cont-ttt_row span {
        width: 100%;
        margin-right: 5px;
        display: block; }
      .info-left .cont-ttt_row--half {
        width: 100%; }
      .info-left .cont-ttt span.hint {
        margin-left: 0px; }
      .info-left .cont-ttt_location span {
        display: block; } }

.artist {
  padding-top: 0;
  background: url("../img/bg_02.jpg"); }
  .artist-P1 {
    position: relative; }
    .artist-P1_group {
      position: relative;
      margin-top: 20px;
      padding-bottom: 150px; }
      .artist-P1_group:before {
        width: 900px;
        height: 824px;
        margin: 0 auto;
        position: relative;
        border: 1px solid #909090;
        display: block;
        content: '';
        z-index: 0; }
  .artist-P2 {
    position: relative; }
    .artist-P2 .title {
      display: table; }
    .artist-P2_group {
      position: relative;
      top: -180px;
      margin-left: 50px; }
      .artist-P2_group:before {
        width: 528px;
        height: 366px;
        position: absolute;
        border: 1px solid #909090;
        display: block;
        content: '';
        z-index: 0;
        right: 0px;
        top: 64px; }
  .artist-single {
    position: absolute;
    z-index: 2; }
    .artist-single:before {
      position: absolute;
      z-index: 1;
      display: block;
      content: '';
      background-color: #e3e3e3; }
    .artist-single__pic {
      width: 330px;
      position: relative;
      z-index: 2;
      -webkit-box-shadow: 5px 5px 0 rgba(0, 0, 0, 0.05);
      box-shadow: 5px 5px 0 rgba(0, 0, 0, 0.05);
      overflow: hidden; }
      .artist-single__pic img {
        display: block;
        width: 100%; }
    .artist-single__name {
      position: absolute;
      font-size: 24px;
      font-family: "Noto Serif TC", serif;
      border: 1px solid #909090;
      -webkit-box-sizing: border-box;
      box-sizing: border-box;
      padding: 2px 10px;
      width: 150px;
      font-weight: 900;
      text-align: center;
      display: table;
      z-index: 2; }
    .artist-single__intro {
      position: absolute;
      font-size: 15px;
      z-index: 2; }
    .artist-single.bii {
      top: 40px; }
      .artist-single.bii .artist-single__name {
        top: 0;
        left: 350px; }
      .artist-single.bii .artist-single__intro {
        top: 50px;
        left: 350px;
        width: 264px; }
      .artist-single.bii:before {
        width: 154px;
        height: 156px;
        bottom: -60px;
        left: -60px; }
    .artist-single.afu {
      top: 100px;
      right: 0; }
      .artist-single.afu .artist-single__name {
        top: 120px;
        right: 350px; }
      .artist-single.afu .artist-single__intro {
        top: 170px;
        right: 350px;
        width: 320px;
        text-align: right; }
      .artist-single.afu:before {
        width: 158px;
        height: 160px;
        top: -74px;
        left: -98px; }
    .artist-single.gb {
      top: 560px;
      left: 108px; }
      .artist-single.gb .artist-single__pic {
        width: 444px;
        height: 302px; }
        .artist-single.gb .artist-single__pic img {
          width: 100%;
          margin-top: -20px; }
      .artist-single.gb .artist-single__name {
        top: 20px;
        left: 464px;
        width: 196px; }
      .artist-single.gb .artist-single__intro {
        top: 70px;
        left: 464px;
        width: 524px; }
      .artist-single.gb:before {
        width: 172px;
        height: 224px;
        top: 56px;
        left: 888px; }
    .artist-single.chansontpe {
      position: relative;
      height: 380px; }
      .artist-single.chansontpe .artist-single__pic {
        left: 64px;
        position: absolute;
        width: 600px;
        height: 364px; }
      .artist-single.chansontpe .artist-single__name {
        width: auto;
        height: 120px;
        left: 0;
        padding: 10px 2px; }
      .artist-single.chansontpe .artist-single__intro {
        top: 84px;
        right: 20px;
        width: 450px; }
  @media only screen and (max-width: 1024px) {
    .artist-P1_group, .artist-P2_group {
      padding: 15px;
      width: 100%;
      height: auto;
      margin: 0 auto;
      position: relative;
      margin-top: 10px;
      -webkit-box-sizing: border-box;
      box-sizing: border-box;
      border: 1px solid #909090; }
      .artist-P1_group:before, .artist-P2_group:before {
        display: none; }
    .artist-single {
      position: relative;
      width: 100%;
      height: auto; }
      .artist-single__pic {
        display: inline-block;
        width: 240px; }
        .artist-single__pic img {
          width: 100%; }
      .artist-single.bii, .artist-single.afu {
        margin-bottom: 50px; }
      .artist-single.bii, .artist-single.afu, .artist-single.gb {
        top: 0px;
        left: 0;
        width: 100%; }
        .artist-single.bii:before, .artist-single.afu:before, .artist-single.gb:before {
          width: 184px;
          height: 150px;
          bottom: auto;
          top: 68px;
          left: 220px;
          right: auto; }
        .artist-single.bii .artist-single__name, .artist-single.bii .artist-single__intro, .artist-single.afu .artist-single__name, .artist-single.afu .artist-single__intro, .artist-single.gb .artist-single__name, .artist-single.gb .artist-single__intro {
          top: 0;
          right: auto;
          left: 252px; }
        .artist-single.bii .artist-single__intro, .artist-single.afu .artist-single__intro, .artist-single.gb .artist-single__intro {
          top: 50px;
          text-align: left;
          width: auto; }
      .artist-single.gb .artist-single__pic {
        width: 240px;
        height: auto; }
        .artist-single.gb .artist-single__pic img {
          margin-top: 0; }
      .artist-single.chansontpe {
        height: auto; }
        .artist-single.chansontpe .artist-single__pic {
          left: 0px;
          position: relative;
          width: 444px;
          height: 270px; }
        .artist-single.chansontpe .artist-single__name {
          width: 120px;
          height: auto;
          left: 460px;
          padding: 2px 10px;
          top: 0; }
        .artist-single.chansontpe .artist-single__intro {
          top: 50px;
          right: auto;
          left: 460px;
          width: auto; }
    .artist-P2 {
      margin-top: 50px; }
      .artist-P2_group {
        top: 0; } }
  @media only screen and (max-width: 768px) {
    .artist-single__name, .artist-single__intro {
      position: relative; }
    .artist-single__pic {
      position: relative;
      margin: 0 auto;
      width: 100% !important;
      height: 480px;
      -webkit-box-shadow: none;
      box-shadow: none; }
    .artist-single.bii:before, .artist-single.afu:before, .artist-single.gb:before {
      display: none; }
    .artist-single.bii .artist-single__name, .artist-single.bii .artist-single__intro, .artist-single.afu .artist-single__name, .artist-single.afu .artist-single__intro, .artist-single.gb .artist-single__name, .artist-single.gb .artist-single__intro {
      margin-top: 10px;
      left: 0;
      top: 0; }
    .artist-single.gb .artist-single__pic {
      height: 480px; }
    .artist-single.chansontpe .artist-single__pic {
      height: auto; }
    .artist-single.chansontpe .artist-single__name, .artist-single.chansontpe .artist-single__intro {
      left: 0px;
      top: 0;
      margin-top: 10px; } }
  @media only screen and (max-width: 480px) {
    .artist-single__pic {
      height: auto !important; } }

.products {
  background: url("../img/bg_01.jpg"); }
  .products .title {
    color: #5543a7;
    margin-bottom: 20px;
    text-align: center; }
  .products h5 {
    color: #5543a7;
    font-family: "Noto Serif TC", serif;
    font-weight: 700;
    font-size: 18px;
    text-align: center;
    margin: 50px 0 20px; }
  .products-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between; }
    .products-list-item {
      width: 184px; }
      .products-list-item .item-pic {
        cursor: pointer;
        display: block;
        position: relative;
        width: 100%;
        border: 1px solid #d1d1d1;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        -webkit-box-shadow: 3px 5px 0 rgba(0, 0, 0, 0.05);
        box-shadow: 3px 5px 0 rgba(0, 0, 0, 0.05);
        background-color: #fff;
        overflow: hidden; }
        .products-list-item .item-pic img {
          max-height: 100%;
          max-width: 100%;
          width: auto;
          height: auto;
          position: absolute;
          top: 0;
          bottom: 0;
          left: 0;
          right: 0;
          margin: auto; }
        .products-list-item .item-pic.sp:after {
          display: block;
          content: '經典再上市';
          font-size: 13px;
          color: #fff;
          text-align: center;
          position: absolute;
          width: 150px;
          height: 22px;
          background-color: #ba2929;
          text-align: center;
          -webkit-transform: rotate(-40deg);
          -ms-transform: rotate(-40deg);
          transform: rotate(-40deg);
          left: -42px;
          top: 18px; }
      .products-list-item .item-txt {
        position: relative;
        margin-top: 10px;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        font-size: 15px;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between; }
        .products-list-item .item-txt__name {
          width: 60%; }
        .products-list-item .item-txt__price {
          color: #5543a7; }
    .products-list--2 {
      width: 100%;
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      justify-content: center; }
      .products-list--2 .products-list-item {
        margin: 0 13px; }
        .products-list--2 .products-list-item .item-txt__name {
          width: 100%; }
  @media only screen and (max-width: 1366px) {
    .products-list-item {
      width: calc(16.6% - 10px); }
    .products-list--2 .products-list-item {
      margin: 0 6px; } }
  @media only screen and (max-width: 768px) {
    .products-list {
      display: -webkit-inline-box;
      display: -ms-inline-flexbox;
      display: inline-flex;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      justify-content: center; }
      .products-list-item {
        width: calc(33% - 12px);
        margin: 0 5px 20px; } }
  @media only screen and (max-width: 414px) {
    .products-list-item {
      width: calc(50% - 12px); } }

.treasure {
  background: url("../img/land.png") 0 50% no-repeat; }
  .treasure .tWrap {
    position: relative;
    width: 55%;
    margin-left: 45%;
    position: relative; }
  .treasure-main {
    background-color: #fff;
    border-radius: 10px 0 0 10px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 50px 100px;
    position: relative;
    width: 100%; }
    .treasure-main h5 {
      margin: 0; }
    .treasure-main-switch {
      width: 480px;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      margin-top: 20px; }
      .treasure-main-switch > li {
        width: 50%;
        color: #c9c9c9;
        text-align: center;
        padding: 8px 10px;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        font-size: 24px;
        font-weight: 700;
        border-bottom: 1px solid #ededed;
        cursor: pointer;
        background-color: #fdfdfd; }
        .treasure-main-switch > li span {
          display: block;
          padding-bottom: 2px;
          text-align: center;
          width: 50px;
          position: relative;
          margin: 0 auto;
          font-size: 14px;
          font-weight: normal; }
        .treasure-main-switch > li.is--now {
          color: #5543a7;
          background-color: #fff;
          border: 1px solid #C0BDEA;
          border-bottom: 0; }
    .treasure-main .step {
      width: 480px;
      position: relative;
      margin-top: 20px;
      font-size: 15px; }
      .treasure-main .step#step02 {
        display: none; }
      .treasure-main .step-intro p {
        margin: 0;
        padding: 0;
        color: #e46d61; }
      .treasure-main .step-login {
        width: 100%;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        margin-top: 20px; }
        .treasure-main .step-login .btnLogin {
          display: inline-block;
          background-color: #ba2929;
          font-size: 12px;
          color: #fff;
          padding: 1px 10px 2px;
          -moz-border-radius: 3px;
          -webkit-border-radius: 3px;
          border-radius: 3px;
          cursor: pointer;
          vertical-align: top; }
      .treasure-main .step_items {
        position: relative;
        width: 100%;
        text-align: center;
        margin-top: 10px;
        border-collapse: separate;
        border-spacing: 1px;
        font-size: 14px;
        border-bottom: 1px solid #f2dad0; }
        .treasure-main .step_items td {
          width: 50%;
          padding: 4px 5px;
          -webkit-box-sizing: border-box;
          box-sizing: border-box; }
        .treasure-main .step_items .thtr {
          font-size: 14px;
          background-color: #f2dad0; }
      .treasure-main .step_form {
        width: 100%;
        margin-top: 10px; }
        .treasure-main .step_form-row {
          position: relative;
          width: 100%;
          margin-bottom: 20px; }
          .treasure-main .step_form-row select, .treasure-main .step_form-row input {
            width: 100%;
            position: relative;
            padding: 10px 20px;
            -webkit-box-sizing: border-box;
            box-sizing: border-box;
            font-size: 18px;
            outline: none;
            color: #515151;
            box-sizing: border-box;
            border: 1px solid #aaa;
            -moz-appearance: none;
            appearance: none;
            -webkit-appearance: none; }
          .treasure-main .step_form-row select {
            background: transparent url("../img/arrow.png") 96% 50% no-repeat; }
          .treasure-main .step_form-row ::-webkit-input-placeholder {
            /* Chrome/Opera/Safari */
            color: #bbb;
            font-size: 16px; }
          .treasure-main .step_form-row--2 label {
            position: relative;
            color: #5543a7; }
          .treasure-main .step_form-row--2 input {
            margin-top: 5px; }
            .treasure-main .step_form-row--2 input[disabled] {
              background-color: #f2f2f2;
              color: #515151; }
        .treasure-main .step_form-rules {
          position: relative; }
          .treasure-main .step_form-rules input[type=checkbox] {
            display: none; }
            .treasure-main .step_form-rules input[type=checkbox] + label {
              cursor: pointer;
              -webkit-box-sizing: border-box;
              box-sizing: border-box;
              width: 18px;
              height: 18px;
              background-color: transparent;
              border: 1px solid #515151;
              display: inline-block;
              -webkit-transition: all .3s ease-in;
              -moz-transition: all .3s ease-in;
              -ms-transition: all .3s ease-in;
              -o-transition: all .3s ease-in;
              transition: all .3s ease-in;
              position: relative; }
              .treasure-main .step_form-rules input[type=checkbox] + label:before, .treasure-main .step_form-rules input[type=checkbox] + label:after {
                display: block;
                content: '';
                position: absolute;
                background-color: #fff;
                display: inline-block;
                height: 0;
                width: 0;
                -moz-border-radius: 1px;
                -webkit-border-radius: 1px;
                border-radius: 1px;
                -webkit-transform-origin: left top;
                -ms-transform-origin: left top;
                transform-origin: left top;
                -webkit-transition: opacity ease;
                -o-transition: opacity ease;
                transition: opacity ease; }
              .treasure-main .step_form-rules input[type=checkbox] + label:before {
                -webkit-transform: rotate(45deg);
                -moz-transform: rotate(45deg);
                -ms-transform: rotate(45deg);
                transform: rotate(45deg);
                top: 5px;
                left: 3px; }
              .treasure-main .step_form-rules input[type=checkbox] + label:after {
                -webkit-transform: rotate(-45deg);
                -moz-transform: rotate(-45deg);
                -ms-transform: rotate(-45deg);
                transform: rotate(-45deg);
                top: 11px;
                left: 5px; }
            .treasure-main .step_form-rules input[type=checkbox]:checked + label {
              border: 1px solid #e46d61;
              background-color: #e46d61; }
              .treasure-main .step_form-rules input[type=checkbox]:checked + label:before, .treasure-main .step_form-rules input[type=checkbox]:checked + label:after {
                height: 3px; }
              .treasure-main .step_form-rules input[type=checkbox]:checked + label:before {
                -webkit-animation: tickLeft .2s ease forwards;
                animation: tickLeft .2s ease forwards; }
              .treasure-main .step_form-rules input[type=checkbox]:checked + label:after {
                -webkit-animation: tickRight .3s ease .2s forwards;
                animation: tickRight .3s ease .2s forwards; }
          .treasure-main .step_form-rules span {
            position: relative;
            top: -2px;
            margin-left: 2px;
            font-size: 18px; }
        .treasure-main .step_form .codeBox {
          display: inline-block;
          width: 100%; }
          .treasure-main .step_form .codeBox.thin {
            height: 67px; }
            .treasure-main .step_form .codeBox.thin .gc-reset {
              top: -1px; }
          .treasure-main .step_form .codeBox .img {
            height: 75% !important;
            background-size: auto 125% !important;
            width: 100px !important;
            top: 12% !important;
            z-index: 4 !important; }
            .treasure-main .step_form .codeBox .img + div {
              height: 98% !important; }
        .treasure-main .step_form .btnTake, .treasure-main .step_form .btnDraw {
          width: 60%;
          margin-left: 40%;
          text-align: center;
          font-size: 30px;
          margin-top: 20px;
          -webkit-appearance: none;
          -moz-appearance: none;
          appearance: none; }
      .treasure-main .step_notice {
        position: relative;
        margin-top: 20px;
        font-size: 14px; }
        .treasure-main .step_notice-title {
          background-color: #ba2929;
          display: table;
          color: #fff;
          padding: 1px 10px; }
        .treasure-main .step_notice-list {
          margin-top: 5px;
          padding-left: 20px; }
          .treasure-main .step_notice-list li {
            counter-increment: li;
            position: relative; }
            .treasure-main .step_notice-list li:before {
              position: absolute;
              content: counter(li);
              color: #ba2929;
              content: counter(li);
              width: 18px;
              left: -18px;
              font-style: italic;
              font-size: 12px;
              margin-top: 2px; }
            .treasure-main .step_notice-list li span {
              color: #e46d61; }
      .treasure-main .step .hasGot, .treasure-main .step .hasDraw {
        text-align: center; }
        .treasure-main .step .hasGot > div, .treasure-main .step .hasDraw > div {
          margin-top: 30px;
          border-bottom: 2px solid #f2f2f2; }
        .treasure-main .step .hasGot h4, .treasure-main .step .hasDraw h4 {
          font-size: 21px;
          font-weight: 500;
          margin: 10px 0; }
        .treasure-main .step .hasGot-txt, .treasure-main .step .hasDraw-txt {
          font-size: 18px;
          margin-bottom: 30px; }
          .treasure-main .step .hasGot-txt-items, .treasure-main .step .hasDraw-txt-items {
            color: #e46d61;
            margin-bottom: 10px;
            line-height: 2; }
    .treasure-main .btnMore {
      text-align: center;
      margin: 10px 0; }
  @media only screen and (max-width: 1024px) {
    .treasure {
      background: url("../img/land.png") 0 88% no-repeat;
      background-size: 100%; }
      .treasure .tWrap {
        width: 720px;
        height: auto;
        margin: 0 auto;
        position: relative;
        text-align: center; }
      .treasure-main {
        border-radius: 10px;
        text-align: left; }
        .treasure-main-switch {
          width: 100%; }
        .treasure-main .step {
          width: 100%; }
          .treasure-main .step_form, .treasure-main .step_notice {
            width: 100%; } }
  @media only screen and (max-width: 768px) {
    .treasure .tWrap {
      width: 100%; }
    .treasure-main {
      padding: 30px 50px; }
      .treasure-main .step_form .btnTake, .treasure-main .step_form .btnDraw {
        width: 100%;
        margin-left: 0; } }
  @media only screen and (max-width: 414px) {
    .treasure-main {
      padding: 25px; }
      .treasure-main-switch li {
        padding: 5px 6px;
        font-size: 20px; } }

.notice {
  background: url("../img/bg_02.jpg"); }
  .notice .divWrap {
    width: 720px; }
  .notice .title {
    text-align: center; }
  .notice-list {
    font-size: 15px; }
    .notice-list li {
      margin-bottom: 15px;
      counter-increment: li;
      position: relative; }
      .notice-list li:before {
        position: absolute;
        content: counter(li);
        background-color: #515151;
        color: #fff;
        text-align: center;
        -moz-border-radius: 20px;
        -webkit-border-radius: 20px;
        border-radius: 20px;
        content: counter(li);
        width: 18px;
        left: -24px;
        font-size: 12px; }
      .notice-list li span {
        color: #e46d61; }
      .notice-list li a {
        color: #ba2929;
        border-bottom: 1px dotted #ba2929; }
  .notice-ex {
    background-color: #ddd;
    padding: 5px 10px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    margin-top: 5px; }
  @media only screen and (max-width: 768px) {
    .notice .divWrap {
      width: 100%; } }

footer {
  background-color: #fff; }

div[class^="chara_"], div[class^="note_"], div[class^="square_"] {
  position: absolute;
  z-index: 2;
  background-size: 100%; }

.chara_01 {
  width: 271px;
  height: 466px;
  background: url("../img/sd01.png");
  right: calc( (100vw - 1366px) / 2 - 220px);
  bottom: 0; }

.chara_02 {
  width: 210px;
  height: 427px;
  background: url("../img/sd02.png");
  top: 248px;
  right: 120px; }

.chara_03 {
  width: 318px;
  height: 448px;
  background: url("../img/sd03.png");
  left: -580px;
  bottom: 0; }

.chara_04 {
  width: 320px;
  height: 467px;
  background: url("../img/sd04.png");
  left: -280px;
  bottom: 0; }

@media screen and (-webkit-min-device-pixel-ratio: 1.25) and (min-width: 1280px), screen and (-o-min-device-pixel-ratio: 5/4) and (min-width: 1280px), screen and (min-resolution: 120dpi) and (min-width: 1280px) {
  .chara_01 {
    right: calc( (100vw - 1366px) / 2 - 120px); } }

@media only screen and (max-width: 1024px) {
  .chara_01 {
    right: 8%;
    bottom: 50px; }
  .chara_02 {
    display: none; }
  .chara_03, .chara_04 {
    position: relative !important;
    bottom: auto;
    left: auto;
    display: inline-block; } }

@media only screen and (max-width: 768px) {
  .chara_01 {
    display: none; }
  .chara_03 {
    width: 159px;
    height: 224px; }
  .chara_04 {
    width: 160px;
    height: 233px; } }

@media only screen and (max-width: 375px) {
  .chara_03, .chara_04 {
    display: none; } }

.note_01 {
  width: 137px;
  height: 122px;
  background: url("../img/note_01.png");
  bottom: 525px;
  right: calc( (100vw - 1366px) / 2 - 176px); }

.note_02 {
  width: 43px;
  height: 122px;
  background: url("../img/note_02.png");
  top: 298px;
  right: 368px; }

.note_03 {
  width: 183px;
  height: 156px;
  background: url("../img/note_03.png");
  left: -358px;
  bottom: 485px; }

@media only screen and (max-width: 1024px) {
  .note_01, .note_02, .note_03 {
    display: none; } }

.square_01 {
  width: 279px;
  height: 170px;
  background: url("../img/square_01.png");
  bottom: 56px;
  right: calc( (100vw - 1366px) / 2 - 225px); }

.square_02 {
  width: 311px;
  height: 214px;
  background: url("../img/square_02.png");
  top: 308px;
  right: 52px; }

.square_03 {
  width: 177px;
  height: 242px;
  background: url("../img/square_03.png");
  left: 640px;
  top: 56px; }

@media only screen and (max-width: 1024px) {
  .square_01 {
    right: 6%; }
  .square_02, .square_03 {
    display: none; } }

@media only screen and (max-width: 768px) {
  .square_01 {
    display: none; } }

.pictureShowUp {
  position: fixed;
  z-index: 100;
  display: none; }
  .pictureShowUp-mask {
    position: fixed;
    z-index: 100;
    width: 100%;
    height: 110vh;
    background-color: rgba(0, 0, 0, 0.8);
    top: -35px; }
  .pictureShowUp-main {
    position: fixed;
    z-index: 101;
    width: 640px;
    height: 660px;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%); }
  .pictureShowUp-close {
    position: absolute;
    top: -54px;
    right: -4px;
    width: 54px;
    height: 54px;
    cursor: pointer;
    -webkit-transition: all .3s ease-in;
    -moz-transition: all .3s ease-in;
    -ms-transition: all .3s ease-in;
    -o-transition: all .3s ease-in;
    transition: all .3s ease-in; }
    .pictureShowUp-close span {
      width: 52px;
      height: 2px;
      background-color: #fff;
      display: block; }
      .pictureShowUp-close span:first-child {
        -webkit-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
        transform: rotate(45deg);
        margin-top: 26px;
        margin-left: 1px; }
      .pictureShowUp-close span:last-child {
        -webkit-transform: rotate(-45deg);
        -ms-transform: rotate(-45deg);
        transform: rotate(-45deg);
        margin-left: 1px;
        margin-top: -1px; }
    .pictureShowUp-close:hover {
      -webkit-transform: rotate(180deg);
      -ms-transform: rotate(180deg);
      transform: rotate(180deg); }
  .pictureShowUp-img img {
    width: 100%; }
  @media only screen and (max-width: 640px) {
    .pictureShowUp-main {
      width: 96%;
      height: 96vw; } }
