﻿@charset "UTF-8";
/*==========================================================================
    defualt
 ==========================================================================*/
* {
  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: #680082;
  font-size: 37px;
  font-weight: bold;
  -webkit-font-smoothing: antialiased;
  -webkit-overflow-scrolling: touch; }
  @media (max-width: 1000px) {
    body {
      font-size: 3.7vw; } }

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;
    background: #fff url("../_img/select-tri.png") center right 25px no-repeat;
    @include max-lg() {
        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: 1000px;
  margin: auto; }

.clearfix:after {
  content: '';
  display: block;
  clear: both; }

.wp {
  min-height: 100%;
  min-width: 320px;
  padding-top: 728px;
  position: relative;
  background: #fff url("../_img/bg.jpg") top center no-repeat;
  overflow: hidden; }
  @media (max-width: 1000px) {
    .wp {
      padding-top: 72.8vw;
      background-size: 192%; } }

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; } }

@-webkit-keyframes autofill {
  to {
    color: #2e2f5e;
    background: transparent; } }

input:-webkit-autofill {
  -webkit-animation-name: autofill;
  -webkit-animation-fill-mode: both; }

/*.form {
    margin: 20px 0;
    text-align: center;
    input, select {
        width: 940px;
        height: 140px;
        margin: 30px auto;
        padding: 0 50px;
        border-radius: 140px;
        border: 6px solid #2e2f5e;
        box-shadow: inset 0 5px 5px rgba(0,0,0,0.75);
        color: #000;
        font-size: 48px;
        text-align: center;
        @include max-lg() {
            width: 94%;
            height: 14vw;
            margin: 2.8vw auto;
            padding: 0 4.5vw;
            border-radius: 14vw;
            font-size: 4.8vw;
        }
        @include max-sm() {
            box-shadow: inset 0 3px 3px rgba(0,0,0,0.75);
        }
    }
    select {
        padding-right: 90px;
        @include max-lg() {
            padding-right: 8.5vw;
        }
    }
    .agree {
        margin-bottom: 20px;
        color: #008aff;
        font-size: 48px;
        text-decoration: underline;
        @include max-lg() {
            margin-bottom: 2vw;
            font-size: 4.8vw;
        }
    }
}*/
::-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; }

.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: 960px;
    margin: 60px auto;
    padding: 50px 20px;
    position: relative;
    z-index: 2;
    background-color: #ff99cc;
    border: 8px solid #cc5588;
    border-radius: 20px;
    box-shadow: inset -3px 5px 5px rgba(200,50,100,.5);
    color: #00ffea;
    font-size: 60px;
    text-align: center; }
    @media (max-width: 1000px) {
      .fixed-box .inner {
        width: 90%;
        margin: 6vw auto;
        padding: 5vw 2vw;
        font-size: 6vw; } }
    @media (max-width: 767px) {
      .fixed-box .inner {
        border-width: 5px; } }
    @media (max-width: 480px) {
      .fixed-box .inner {
        border-width: 3px; } }
.fixed-box .inner .title {
    color: #fff;
    text-shadow: -3px 5px 5px rgba(200,50,100,.5);
    font-size: 72px;
    line-height: 90px;
}
      @media (max-width: 1000px) {
        .fixed-box .inner .title {
          font-size: 7.2vw;
          line-height: 9vw; } }
      .fixed-box .inner .title span {
        color: yellow; }
.fixed-box .inner .close-btn {
    width: 110px;
    height: 110px;
    position: absolute;
    right: -30px;
    top: -30px;
    z-index: 3;
    background: url("../_img/X.png") center no-repeat;
    filter: hue-rotate(105deg) brightness(.85) drop-shadow(-3px 5px 5px rgba(200,50,100,.5));
    cursor: pointer;
    background-size: contain;
    font-size: 0;
    transition: transform 0.5s;
}
      @media (max-width: 1000px) {
        .fixed-box .inner .close-btn {
          width: 10.5vw;
          height: 10.5vw;
          right: -3vw;
          top: -3vw; } }
      .fixed-box .inner .close-btn:hover {
        transform: scale(1.1); }
    .fixed-box .inner .form input, .fixed-box .inner .form select {
      width: 94%;
      margin: 0; }
    .fixed-box .inner .text {
      margin-top: 20px;
      padding: 30px;
      background-color: #fff;
      box-shadow: 0 -5px 0 #a8a8a8;
      border-radius: 10px;
      color: #2e2e2e;
      font-size: 40px;
      line-height: 60px;
      text-align: justify; }
      @media (max-width: 1000px) {
        .fixed-box .inner .text {
          margin-top: 2vw;
          padding: 3vw;
          border-radius: 1vw;
          font-size: 4vw;
          line-height: 6vw; } }
      @media (max-width: 767px) {
        .fixed-box .inner .text {
          box-shadow: 0 -3px 0 #a8a8a8; } }

/* ==========================================================================
* header
 ==========================================================================*/
#header {
  width: 100%;
  padding: 0 15px;
  min-width: 320px;
  position: fixed;
  left: 0;
  top: 0;
  z-index: 99;
  transition: background 0.5s;
  background-color: #fff;
  /*&.active {
        background-color: #fff;
    }*/ }
  @media (max-width: 480px) {
    #header {
      padding: 0 5px; } }
  #header .logo {
    float: left;
    display: block;
    width: 376px;
    height: 92px;
    margin: 15px 13px;
    background: url("../_img/logo.png") center no-repeat;
    background-size: contain; }
    @media (max-width: 1000px) {
      #header .logo {
        width: 37.6vw;
        height: 9.2vw;
        margin: 1.5vw 1.3vw; } }
  #header .follow {
    float: right;
    padding-top: 17px;
    text-align: center; }
    @media (max-width: 991px) {
      #header .follow {
        padding-top: 1.7vw; } }
    #header .follow a {
      display: inline-block;
      vertical-align: middle;
      width: 88px;
      height: 88px;
      margin-right: 7px;
      background: 0 0 no-repeat;
      background-size: contain; }
      @media (max-width: 1000px) {
        #header .follow a {
          width: 8.6vw;
          height: 8.6vw;
          margin-right: 0.7vw; } }
      #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
 ==========================================================================*/
.main {
  text-align: center; }
  .main .container {
    position: relative; }
  .main .download-btn {
    display: block;
    width: 675px;
    height: 109px;
    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: 1000px) {
      .main .download-btn {
        width: 67.5vw;
        height: 10.9vw;
        animation-name: download-btn2; } }
    .main .download-btn:hover {
      background-image: url("../_img/download-btn-hover.png");
      animation: none; }
  .main .info {
    margin: 20px -7px 0 -20px; }
    @media (max-width: 1000px) {
      .main .info {
        margin: 2vw -0.7vw 0 -2vw; } }
  .main .notice {
    margin-top: -77px;
    padding: 0 45px;
    line-height: 40px;
    text-align: justify; }
    @media (max-width: 1000px) {
      .main .notice {
        margin-top: -7.7vw;
        padding: 0 4.5vw;
        line-height: 4vw; } }
    .main .notice .title {
      margin: 0;
      font-size: 40px;
      font-weight: bolder; }
      @media (max-width: 1000px) {
        .main .notice .title {
          font-size: 4vw; } }
    .main .notice ol {
      margin-top: 0;
      padding-left: 1.5em; }
      .main .notice ol li {
        margin-top: 16px; }
        @media (max-width: 1000px) {
          .main .notice ol li {
            margin-top: 1.6vw; } }

.preload {
  display: none; }

@keyframes download-btn {
  0% {
    background-position: 0 0; }
  100% {
    background-position: 0 -218px; } }

@keyframes download-btn2 {
  0% {
    background-position: 0 0; }
  100% {
    background-position: 0 -21.8vw; } }

/* ==========================================================================
* footer
 ==========================================================================*/
#footer {
  padding: 30px 0;
  background-color: #fff;
  text-align: center; }
  @media (max-width: 1000px) {
    #footer {
      padding: 3vw 0; } }
  #footer .wanin, #footer .yoecard, #footer .level {
    display: inline-block;
    vertical-align: text-bottom; }
  #footer .wanin {
    width: 358px;
    height: 120px;
    background: url("../_img/wanin.png") center no-repeat;
    background-size: contain; }
    @media (max-width: 1000px) {
      #footer .wanin {
        width: 35.8vw;
        height: 12vw; } }
  #footer .yoecard {
    width: 212px;
    height: 107px;
    margin: 0 20px;
    background: url("../_img/yoecard.png") center no-repeat;
    background-size: contain; }
    @media (max-width: 1000px) {
      #footer .yoecard {
        width: 21.2vw;
        height: 10.7vw;
        margin: 0 2vw; } }
  #footer .level {
    width: 81px;
    margin-bottom: 5px;
    margin-left: 10px; }
    @media (max-width: 1000px) {
      #footer .level {
        width: 8.1vw;
        margin-bottom: 0.5vw;
        margin-left: 1vw; } }
    #footer .level img {
      display: block;
      width: 100%; }
