﻿@charset "UTF-8";
/*==========================================================================
    defualt
 ==========================================================================*/
@import url("https://fonts.googleapis.com/css?family=Noto+Sans+TC:500,700,900");
@import url("plugins.css");
* {
  outline: 0;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box; }

*:before,
*:after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box; }

html,
body {
  margin: 0;
  padding: 0;
  height: 100.1%; }

html.disable {
  overflow: hidden; }

body {
  height: 100.1% !important;
  overflow-x: hidden;
  font-family: 'Noto Sans TC', Heiti TC, Microsoft JhengHei, "微軟正黑體", Verdana;
  color: #fff;
  font-size: 30px;
  -webkit-font-smoothing: antialiased;
  -webkit-overflow-scrolling: touch; }
  @media (max-width: 1084px) {
    body {
      font-size: 2.8vw; } }

input, textarea, button, select {
  font-family: 'Noto Sans TC', Heiti TC, Microsoft JhengHei, "微軟正黑體", Verdana; }

button {
  cursor: pointer;
  border: none;
  box-shadow: none; }

select {
  -webkit-appearance: none;
  /*隱藏箭頭*/
  -moz-appearance: none;
  /*Firefox*/
  background: #fff url("../_img/select-tri.png") center right 25px no-repeat; }
  @media (max-width: 1084px) {
    select {
      background-position: center right 2.5vw;
      background-size: 5%; } }

/*IE 10 */
select::-ms-expand {
  display: none !important; }

img {
  max-width: 100%; }

.hidden {
  display: none; }

.container {
  max-width: 1084px;
  margin: auto;
  padding: 0 30px; }
  @media (max-width: 767px) {
    .container {
      padding: 0 15px; } }

.clearfix:after {
  content: '';
  display: block;
  clear: both; }

.wp {
  min-height: 100%;
  min-width: 320px;
  padding-top: 870px;
  position: relative;
  background: #931113 url("../_img/bg.jpg") center 108px no-repeat;
  overflow: hidden; }
  @media (max-width: 1084px) {
    .wp {
      padding-top: 80vw;
      background-position-y: 10vw;
      background-size: 177%; } }

a {
  text-decoration: none;
  transition: color 0.5s; }

p {
  margin: 0; }

/*==========================================================================
    animation
 ==========================================================================*/
.fade-in {
  opacity: 0;
  transition: opacity 1s; }
  .fade-in.show {
    opacity: 1; }

.fade-up {
  opacity: 0;
  transform: translateY(50px);
  transition: opacity 1s, transform 1s; }
  .fade-up.show {
    opacity: 1;
    transform: translateY(0); }

.fade-down {
  opacity: 0;
  transform: translateY(-50px);
  transition: opacity 1s, transform 1s; }
  .fade-down.show {
    opacity: 1;
    transform: translateY(0); }

.fade-left {
  opacity: 0;
  transform: translateX(-100px);
  transition: opacity 1s, transform 1s; }
  .fade-left.show {
    opacity: 1;
    transform: translateY(0); }

.fade-right {
  opacity: 0;
  transform: translateX(100px);
  transition: opacity 1s, transform 1s; }
  .fade-right.show {
    opacity: 1;
    transform: translateY(0); }

.fade-zoom {
  opacity: 0 !important;
  transform: scale(0.8);
  transition: opacity 1s, transform 1s; }
  .fade-zoom.show {
    opacity: 1 !important;
    transform: scale(1); }

.fade-rotate {
  opacity: 0 !important;
  transform: rotate(-360deg);
  transition: opacity 1s, transform 1.5s; }
  .fade-rotate.show {
    opacity: 1 !important;
    transform: rotate(0deg); }

/*==========================================================================
    public
 ==========================================================================*/
ul.no-style {
  margin: 0;
  padding: 0; }
  ul.no-style > li {
    list-style: none; }

@media (max-width: 767px) {
  .for-desktop {
    display: none !important; } }

.for-mobile {
  display: none !important; }
  @media (max-width: 767px) {
    .for-mobile {
      display: block !important; } }

.form {
  text-align: center; }
  .form input, .form select {
    width: 935px;
    height: 114px;
    margin: 30px auto;
    padding: 0 50px;
    border-radius: 114px;
    border: none;
    box-shadow: inset 0 5px 5px rgba(0, 0, 0, 0.75);
    color: #000;
    font-size: 65px;
    text-align: center; }
    @media (max-width: 1084px) {
      .form input, .form select {
        width: 86.3vw;
        height: 10.6vw;
        margin: 2.8vw auto;
        padding: 0 4.5vw;
        border-radius: 10.6vw;
        font-size: 6vw; } }
    @media (max-width: 767px) {
      .form input, .form select {
        box-shadow: inset 0 3px 3px rgba(0, 0, 0, 0.75); } }
  .form select {
    padding-right: 90px; }
    @media (max-width: 1084px) {
      .form select {
        padding-right: 8.5vw; } }

::-webkit-input-placeholder {
  /* WebKit browsers */
  color: #c5c5c5; }

::-moz-placeholder {
  /* Mozilla Firefox 4 to 18 */
  color: #c5c5c5; }

::-o-placeholder {
  /* Mozilla Firefox 19+ */
  color: #c5c5c5; }

::-ms-placeholder {
  /* Internet Explorer 10+ */
  color: #c5c5c5; }

::-ms-input-placeholder {
  /* Internet Explorer 10+ */
  color: #c5c5c5; }

.agree {
  font-size: 40px; }
  @media (max-width: 1084px) {
    .agree {
      font-size: 3.7vw; } }
  .agree span {
    color: #ffde27;
    border-bottom: 2px solid #ffde27; }

.open-box {
  cursor: pointer; }

.fixed-box {
  width: 100%;
  height: 100%;
  position: fixed;
  left: -100%;
  top: 0;
  z-index: 99;
  opacity: 0;
  visibility: hidden;
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  transition: opacity 0.5s, visibility 0.5s, left 0s 0.5s; }
  .fixed-box.show {
    left: 0;
    opacity: 1;
    visibility: visible;
    transition: opacity 0.5s, visibility 0.5s; }
  .fixed-box .mask {
    width: 100%;
    height: 100%;
    position: fixed;
    left: 0;
    top: 0;
    background-color: rgba(0, 0, 0, 0.5); }
  .fixed-box .block {
    display: table;
    width: 100%; }
    .fixed-box .block .middle {
      display: table-cell;
      vertical-align: middle;
      height: 100vh;
      padding: 80px 0;
      position: relative; }
  .fixed-box .inner {
    width: 1010px;
    margin: 60px auto;
    padding: 20px 80px;
    position: relative;
    z-index: 2;
    background: url("../_img/box-bg.png") center repeat-y;
    background-size: contain;
    color: #fee793;
    font-size: 36px;
    text-align: justify; }
    @media (max-width: 1084px) {
      .fixed-box .inner {
        width: 930px;
        padding: 2vw 7vw;
        font-size: 3.3vw; } }
    @media (max-width: 991px) {
      .fixed-box .inner {
        width: 730px; } }
    @media (max-width: 767px) {
      .fixed-box .inner {
        width: 580px; } }
    @media (max-width: 600px) {
      .fixed-box .inner {
        width: 450px; } }
    @media (max-width: 480px) {
      .fixed-box .inner {
        width: 360px; } }
    @media (max-width: 360px) {
      .fixed-box .inner {
        width: 300px; } }
    .fixed-box .inner:before, .fixed-box .inner:after {
      content: '';
      width: 100%;
      height: 60px;
      position: absolute;
      left: 0;
      z-index: 2; }
      @media (max-width: 1084px) {
        .fixed-box .inner:before, .fixed-box .inner:after {
          height: 56px;
          background-size: contain !important; } }
      @media (max-width: 991px) {
        .fixed-box .inner:before, .fixed-box .inner:after {
          height: 44px; } }
    .fixed-box .inner:before {
      top: -59px;
      background: url("../_img/box-top.png") center bottom no-repeat; }
      @media (max-width: 1084px) {
        .fixed-box .inner:before {
          top: -55px; } }
      @media (max-width: 991px) {
        .fixed-box .inner:before {
          top: -43px; } }
    .fixed-box .inner:after {
      bottom: -59px;
      background: url("../_img/box-bottom.png") center top no-repeat; }
      @media (max-width: 1084px) {
        .fixed-box .inner:after {
          bottom: -55px; } }
      @media (max-width: 991px) {
        .fixed-box .inner:after {
          bottom: -43px; } }
    .fixed-box .inner .title {
      margin-bottom: 20px;
      color: #fff;
      font-size: 56px;
      text-align: center; }
      @media (max-width: 1084px) {
        .fixed-box .inner .title {
          margin-bottom: 2vw;
          font-size: 5.15vw; } }
    .fixed-box .inner .title2 {
      width: 660px;
      margin: 0 auto 20px auto;
      padding: 0 70px;
      color: #fee793;
      font-size: 43px;
      text-align: center;
      line-height: 95px;
      background: url("../_img/title-bg.png") center no-repeat;
      background-size: contain; }
      @media (max-width: 1084px) {
        .fixed-box .inner .title2 {
          width: 60.9vw;
          margin-bottom: 2vw;
          padding: 0 6.5vw;
          font-size: 4vw;
          line-height: 8.8vw; } }
    .fixed-box .inner p {
      margin-top: 20px; }
      @media (max-width: 1084px) {
        .fixed-box .inner p {
          margin-top: 2vw; } }
    .fixed-box .inner .close-btn {
      width: 113px;
      height: 113px;
      position: absolute;
      right: 55px;
      top: -90px;
      z-index: 3;
      background: url("../_img/X.png") center no-repeat;
      cursor: pointer;
      background-size: contain;
      font-size: 0; }
      @media (max-width: 1084px) {
        .fixed-box .inner .close-btn {
          width: 10.5vw;
          height: 10.5vw;
          right: 5vw;
          top: -8vw; } }
      .fixed-box .inner .close-btn:hover {
        background-image: url("../_img/X-hover.png"); }
    .fixed-box .inner .send-btn, .fixed-box .inner .ok-btn2 {
      width: 100%;
      height: 159px;
      margin-top: 30px;
      background: center no-repeat;
      background-size: contain;
      font-size: 0; }
      @media (max-width: 1084px) {
        .fixed-box .inner .send-btn, .fixed-box .inner .ok-btn2 {
          height: 14.7vw;
          margin-top: 2.8vw; } }
    .fixed-box .inner .send-btn {
      background-image: url("../_img/send-btn.png"); }
      .fixed-box .inner .send-btn:hover {
        background-image: url("../_img/send-btn-hover.png"); }
    .fixed-box .inner .ok-btn2 {
      background-image: url("../_img/ok-btn2.png"); }
      .fixed-box .inner .ok-btn2:hover {
        background-image: url("../_img/ok-btn2-hover.png"); }
    .fixed-box .inner .form input, .fixed-box .inner .form select {
      width: 94%;
      margin: 0; }

/* 同意個人資料使用 */
.agree-use .inner label {
  display: block;
  margin-bottom: 30px;
  font-size: 40px; }
  @media (max-width: 1084px) {
    .agree-use .inner label {
      margin-bottom: 2.8vw;
      font-size: 3.7vw; } }
  .agree-use .inner label input, .agree-use .inner label p {
    display: inline-block;
    vertical-align: middle; }
  .agree-use .inner label p {
    margin: 0; }
  .agree-use .inner label input {
    margin-right: 10px;
    transform: scale(2.4); }
    @media (max-width: 1084px) {
      .agree-use .inner label input {
        margin-right: 1vw; } }
    @media (max-width: 767px) {
      .agree-use .inner label input {
        transform: scale(2); } }
  .agree-use .inner label span {
    color: #ffde27;
    border-bottom: 2px solid #ffde27; }

/* 您符合全新門號資格 */
.congratulations .inner {
  padding-left: 40px;
  padding-right: 40px;
  text-align: center;
  font-size: 56px; }
  @media (max-width: 1084px) {
    .congratulations .inner {
      padding-left: 3.5vw;
      padding-right: 3.5vw;
      font-size: 5.15vw; } }

.congratulations .coin20w {
  display: inline-block;
  vertical-align: text-bottom;
  width: 213px;
  height: 107px;
  margin: 0 5px;
  background: url("../_img/20w.png") center no-repeat;
  background-size: contain; }
  @media (max-width: 1084px) {
    .congratulations .coin20w {
      width: 19.7vw;
      height: 9.9vw;
      margin: 0 0.5vw; } }

.system-notice .inner {
  text-align: center; }

.code-number .inner {
  padding-left: 40px;
  padding-right: 40px; }
  @media (max-width: 1084px) {
    .code-number .inner {
      padding-left: 3.5vw;
      padding-right: 3.5vw; } }

.go-event .inner {
  text-align: center; }
  .go-event .inner .title {
    font-size: 43px; }
    @media (max-width: 1084px) {
      .go-event .inner .title {
        font-size: 4vw; } }
  .go-event .inner .pic a {
    display: inline-block;
    overflow: hidden; }
    .go-event .inner .pic a img {
      display: block;
      transition: transform 0.5s; }
    .go-event .inner .pic a:hover img {
      transform: scale(1.03) rotate(0.2deg); }

/* ==========================================================================
* header
 ==========================================================================*/
#header {
  width: 100%;
  min-width: 320px;
  position: fixed;
  left: 0;
  top: 0;
  z-index: 99;
  background-color: #560a0f; }
  #header .container {
    padding: 0px 45px; }
    @media (max-width: 1084px) {
      #header .container {
        padding: 0 4.2vw; } }
  #header .logo {
    float: left;
    display: block;
    width: 338px;
    height: 108px;
    background: url("../_img/logo.png") center no-repeat;
    background-size: contain; }
    @media (max-width: 1084px) {
      #header .logo {
        width: 31.2vw;
        height: 10.6vw; } }
  #header .follow {
    float: right;
    padding-top: 10px;
    text-align: center; }
    @media (max-width: 991px) {
      #header .follow {
        padding-top: 1vw; } }
    #header .follow a {
      display: inline-block;
      vertical-align: middle;
      width: 88px;
      height: 88px;
      background: 0 0 no-repeat;
      background-size: contain; }
      @media (max-width: 1084px) {
        #header .follow a {
          width: 8.6vw;
          height: 8.6vw; } }
      #header .follow a.fb {
        background-image: url("../_img/icon-fb.png"); }
        #header .follow a.fb:hover {
          background-image: url("../_img/icon-fb-hover.png"); }
      #header .follow a.youtube {
        background-image: url("../_img/icon-youtube.png"); }
        #header .follow a.youtube:hover {
          background-image: url("../_img/icon-youtube-hover.png"); }
      #header .follow a.line {
        background-image: url("../_img/icon-line.png"); }
        #header .follow a.line:hover {
          background-image: url("../_img/icon-line-hover.png"); }
      #header .follow a.home {
        background-image: url("../_img/icon-home.png"); }
        #header .follow a.home:hover {
          background-image: url("../_img/icon-home-hover.png"); }

/* ==========================================================================
* main
 ==========================================================================*/
.download-btn {
  display: block;
  width: 1007px;
  height: 207px;
  margin: auto;
  position: relative;
  z-index: 3;
  background: url("../_img/download-btn.png") center no-repeat;
  background-size: 100%;
  animation: download-btn 1s steps(2) infinite; }
  @media (max-width: 1084px) {
    .download-btn {
      width: 92.9vw;
      height: 19.1vw;
      animation-name: download-btn2; } }

.ok-btn {
  display: block;
  width: 980px;
  height: 159px;
  margin: auto;
  position: relative;
  z-index: 3;
  background: url("../_img/ok-btn.png") center no-repeat;
  background-size: contain;
  font-size: 0; }
  @media (max-width: 1084px) {
    .ok-btn {
      width: 90.45vw;
      height: 14.7vw; } }
  .ok-btn:hover {
    background-image: url("../_img/ok-btn-hover.png"); }

.apps {
  margin: 50px 0;
  font-size: 0;
  text-align: center; }
  @media (max-width: 1084px) {
    .apps {
      margin: 4.6vw 0; } }
  .apps .ios-app, .apps .andriod-app {
    display: inline-block;
    vertical-align: top;
    width: 50%;
    max-width: 400px;
    padding: 0 30px; }
    @media (max-width: 1084px) {
      .apps .ios-app, .apps .andriod-app {
        padding: 0 3vw; } }
    .apps .ios-app a, .apps .andriod-app a {
      display: inline-block;
      margin-bottom: 15px; }
      @media (max-width: 1084px) {
        .apps .ios-app a, .apps .andriod-app a {
          margin-bottom: 1.5vw; } }

.content {
  padding-bottom: 20px; }
  @media (max-width: 1084px) {
    .content {
      padding-bottom: 2vw; } }
  .content .block {
    margin-top: 20px; }
    @media (max-width: 1084px) {
      .content .block {
        margin-top: 2vw; } }

.preload {
  display: none; }

@keyframes download-btn {
  0% {
    background-position: 0 0; }
  100% {
    background-position: 0 -414px; } }

@keyframes download-btn2 {
  0% {
    background-position: 0 0; }
  100% {
    background-position: 0 -38.2vw; } }

/* ==========================================================================
* footer
 ==========================================================================*/
#footer {
  padding: 20px 0 30px 0;
  background-color: #560a0f;
  text-align: center; }
  @media (max-width: 1084px) {
    #footer {
      padding: 2vw 0 3vw 0; } }
  #footer .wanin, #footer .level {
    display: inline-block;
    vertical-align: sub; }
  #footer .wanin {
    width: 342px;
    height: 112px;
    background: url("../_img/wanin.png") center no-repeat;
    background-size: contain; }
    @media (max-width: 1084px) {
      #footer .wanin {
        width: 31.6vw;
        height: 10.4vw; } }
  #footer .level {
    width: 72px;
    margin-left: 10px; }
    @media (max-width: 1084px) {
      #footer .level {
        width: 6.7vw;
        margin-left: 1vw; } }
    #footer .level img {
      width: 100%; }
