@import url(http://fonts.googleapis.com/earlyaccess/notosanstc.css);
* {
  outline: none;
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }

body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, fieldset, input, textarea, p, blockquote, img {
  margin: 0px;
  padding: 0px; }

fieldset, img, abbr, acronym {
  border: 0; }

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

input, button, select {
  border: none;
  outline: none; }

button, .cursor {
  cursor: pointer; }

textarea {
  outline: none;
  resize: vertical;
  border: 1px solid #e4eff1;
  padding: 10px; }

/********************************************************************/
html, body {
  width: 100%;
  height: 100%; }

body {
  overflow-x: hidden;
  font-family: 'Noto Sans TC', Microsoft JhengHei, Helvetica, sans-serif;
  color: #333;
  font-size: 15px;
  line-height: 28px;
  letter-spacing: 1px; }
  @media only screen and (min-width: 768px) {
    body {
      font-size: 18px;
      line-height: 30px; } }

a {
  text-decoration: none; }

.clearfix:after {
  /* FF, IE8, O, S, etc. */
  content: ".";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden; }

.clearfix {
  zoom: 1; }

.fleft {
  float: left; }

.fright {
  float: right; }

.ul {
  list-style: none; }

.pos_r {
  position: relative; }

.block_center {
  margin-left: auto;
  margin-right: auto; }

.row-xs {
  margin-left: -5px;
  margin-right: -5px; }

.col-xs-1 {
  padding: 0px 5px;
  width: 8.33333%; }

.col-xs-2 {
  padding: 0px 5px;
  width: 16.66667%; }

.col-xs-3 {
  padding: 0px 5px;
  width: 25%; }

.col-xs-4 {
  padding: 0px 5px;
  width: 33.33333%; }

.col-xs-5 {
  padding: 0px 5px;
  width: 41.66667%; }

.col-xs-6 {
  padding: 0px 5px;
  width: 50%; }

.col-xs-7 {
  padding: 0px 5px;
  width: 58.33333%; }

.col-xs-8 {
  padding: 0px 5px;
  width: 66.66667%; }

.col-xs-9 {
  padding: 0px 5px;
  width: 75%; }

.col-xs-10 {
  padding: 0px 5px;
  width: 83.33333%; }

.col-xs-11 {
  padding: 0px 5px;
  width: 91.66667%; }

.col-xs-12 {
  padding: 0px 5px;
  width: 100%; }

@media only screen and (min-width: 1024px) {
  .row {
    margin-left: -10px;
    margin-right: -10px; }
  .col-md-1 {
    padding: 0px 10px;
    width: 8.33333%; }
  .col-md-2 {
    padding: 0px 10px;
    width: 16.66667%; }
  .col-md-3 {
    padding: 0px 10px;
    width: 25%; }
  .col-md-4 {
    padding: 0px 10px;
    width: 33.33333%; }
  .col-md-5 {
    padding: 0px 10px;
    width: 41.66667%; }
  .col-md-6 {
    padding: 0px 10px;
    width: 50%; }
  .col-md-7 {
    padding: 0px 10px;
    width: 58.33333%; }
  .col-md-8 {
    padding: 0px 10px;
    width: 66.66667%; }
  .col-md-9 {
    padding: 0px 10px;
    width: 75%; }
  .col-md-10 {
    padding: 0px 10px;
    width: 83.33333%; }
  .col-md-11 {
    padding: 0px 10px;
    width: 91.66667%; }
  .col-md-12 {
    padding: 0px 10px;
    width: 100%; } }

@media only screen and (min-width: 1200px) {
  .row {
    margin-left: -10px;
    margin-right: -10px; }
  .col-1 {
    padding: 0px 10px;
    width: 8.33333%; }
  .col-2 {
    padding: 0px 10px;
    width: 16.66667%; }
  .col-3 {
    padding: 0px 10px;
    width: 25%; }
  .col-4 {
    padding: 0px 10px;
    width: 33.33333%; }
  .col-5 {
    padding: 0px 10px;
    width: 41.66667%; }
  .col-6 {
    padding: 0px 10px;
    width: 50%; }
  .col-7 {
    padding: 0px 10px;
    width: 58.33333%; }
  .col-8 {
    padding: 0px 10px;
    width: 66.66667%; }
  .col-9 {
    padding: 0px 10px;
    width: 75%; }
  .col-10 {
    padding: 0px 10px;
    width: 83.33333%; }
  .col-11 {
    padding: 0px 10px;
    width: 91.66667%; }
  .col-12 {
    padding: 0px 10px;
    width: 100%; } }

.main {
  margin: auto;
  padding-left: 20px;
  padding-right: 20px; }
  @media only screen and (min-width: 768px) {
    .main {
      max-width: 1280px;
      padding-left: 40px;
      padding-right: 40px; } }

img {
  max-width: 100%; }

.mb_show {
  display: block; }
  @media only screen and (min-width: 768px) {
    .mb_show {
      display: none; } }

.pc_show {
  display: none; }
  @media only screen and (min-width: 768px) {
    .pc_show {
      display: block; } }

.animated {
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both; }

@-webkit-keyframes scaleIn {
  0% {
    opacity: 0;
    -webkit-transform: scale(0);
    transform: scale(0); }
  85% {
    -webkit-transform: scale(1.2);
    transform: scale(1.2); }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1); } }

@keyframes scaleIn {
  0% {
    opacity: 0;
    -webkit-transform: scale(0);
    transform: scale(0); }
  85% {
    -webkit-transform: scale(1.2);
    transform: scale(1.2); }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1); } }

.scaleIn {
  -webkit-animation-name: scaleIn;
  animation-name: scaleIn;
  -webkit-animation-timing-function: ease;
  animation-timing-function: ease; }

@-webkit-keyframes fadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }

@keyframes fadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }

.fadeIn {
  -webkit-animation-name: fadeIn;
  animation-name: fadeIn;
  -webkit-animation-timing-function: ease;
  animation-timing-function: ease; }

@-webkit-keyframes moveToRight {
  0% {
    -webkit-transform: translateX(-20px);
    transform: translateX(-20px); }
  100% {
    -webkit-transform: translateX(0px);
    transform: translateX(0px); } }

@keyframes moveToRight {
  0% {
    -webkit-transform: translateX(-20px);
    transform: translateX(-20px); }
  100% {
    -webkit-transform: translateX(0px);
    transform: translateX(0px); } }

.moveToRight {
  -webkit-animation-name: moveToRight;
  animation-name: moveToRight;
  -webkit-animation-timing-function: ease;
  animation-timing-function: ease; }

@-webkit-keyframes sunRise {
  0% {
    -webkit-transform: translateY(20px);
    transform: translateY(20px); }
  100% {
    -webkit-transform: translateY(0px);
    transform: translateY(0px); } }

@keyframes sunRise {
  0% {
    -webkit-transform: translateY(20px);
    transform: translateY(20px); }
  100% {
    -webkit-transform: translateY(0px);
    transform: translateY(0px); } }

.sunRise {
  -webkit-animation-name: sunRise;
  animation-name: sunRise;
  -webkit-animation-timing-function: ease;
  animation-timing-function: ease; }

@-webkit-keyframes moveUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(20px);
    transform: translateY(20px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0px);
    transform: translateY(0px); } }

@keyframes moveUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(20px);
    transform: translateY(20px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0px);
    transform: translateY(0px); } }

.moveUp {
  -webkit-animation-name: moveUp;
  animation-name: moveUp;
  -webkit-animation-timing-function: ease-out;
  animation-timing-function: ease-out; }

@-webkit-keyframes moveDown {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-20px);
    transform: translateY(-20px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0px);
    transform: translateY(0px); } }

@keyframes moveDown {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-20px);
    transform: translateY(-20px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0px);
    transform: translateY(0px); } }

.moveDown {
  -webkit-animation-name: moveDown;
  animation-name: moveDown;
  -webkit-animation-timing-function: ease-out;
  animation-timing-function: ease-out; }

@-webkit-keyframes bounceIn {
  0% {
    -webkit-transform: scale(0.8);
    -ms-transform: scale(0.8);
    transform: scale(0.8); }
  50% {
    -webkit-transform: scale(1.02);
    -ms-transform: scale(1.02);
    transform: scale(1.02); }
  75% {
    -webkit-transform: scale(0.98);
    -ms-transform: scale(0.98);
    transform: scale(0.98); }
  100% {
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1); } }

@keyframes bounceIn {
  0% {
    -webkit-transform: scale(0.8);
    -ms-transform: scale(0.8);
    transform: scale(0.8); }
  50% {
    -webkit-transform: scale(1.02);
    -ms-transform: scale(1.02);
    transform: scale(1.02); }
  75% {
    -webkit-transform: scale(0.98);
    -ms-transform: scale(0.98);
    transform: scale(0.98); }
  100% {
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1); } }

.bounceIn {
  -webkit-animation-name: bounceIn;
  animation-name: bounceIn; }

@-webkit-keyframes load {
  0% {
    -webkit-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    transform: rotate(0deg); }
  100% {
    -webkit-transform: rotate(360deg);
    -ms-transform: rotate(360deg);
    transform: rotate(360deg); } }

@keyframes load {
  0% {
    -webkit-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    transform: rotate(0deg); }
  100% {
    -webkit-transform: rotate(360deg);
    -ms-transform: rotate(360deg);
    transform: rotate(360deg); } }

.load {
  -webkit-animation: load .8s infinite ease;
  animation: load .8s infinite ease; }

@-webkit-keyframes bounce {
  from,
  20%,
  53%,
  80%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translate3d(0, 30px, 0);
    transform: translate3d(0, 30px, 0); }
  40%,
  43% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  70% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, 15px, 0);
    transform: translate3d(0, 15px, 0); }
  90% {
    -webkit-transform: translate3d(0, 26px, 0);
    transform: translate3d(0, 26px, 0); } }

@keyframes bounce {
  from,
  20%,
  53%,
  80%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translate3d(0, 30px, 0);
    transform: translate3d(0, 30px, 0); }
  40%,
  43% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  70% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, 15px, 0);
    transform: translate3d(0, 15px, 0); }
  90% {
    -webkit-transform: translate3d(0, 26px, 0);
    transform: translate3d(0, 26px, 0); } }

.bounce {
  -webkit-animation-name: bounce;
  animation-name: bounce;
  -webkit-transform-origin: center bottom;
  -ms-transform-origin: center bottom;
  transform-origin: center bottom; }

.menu {
  position: fixed;
  right: 0;
  bottom: 50%;
  margin-bottom: -110px;
  padding-top: 35px;
  z-index: 50; }
  .menu .menu_pig {
    position: absolute;
    width: 40px;
    right: 17px;
    top: 11px;
    z-index: -1; }
  .menu .ul .item {
    font-size: 10px;
    line-height: 26px;
    margin-bottom: 15px;
    border-radius: 16px 0 0 16px;
    padding-left: 10px;
    padding-right: 5px;
    position: relative;
    -webkit-transition: .2s;
    -o-transition: .2s;
    transition: .2s;
    left: 0;
    color: #ffffff; }
    .menu .ul .item .icon {
      width: 12px;
      margin-right: 5px; }
    .menu .ul .item a {
      color: #ffffff; }
    .menu .ul .item:first-child {
      background-color: #f8e251; }
      .menu .ul .item:first-child a {
        color: #81511c; }
    .menu .ul .item:nth-child(2) {
      background-color: #556fb5; }
    .menu .ul .item:nth-child(3) {
      background-color: #fa7d87; }
    .menu .ul .item:nth-child(4) {
      background-color: #fead00; }
    .menu .ul .item:nth-child(5) {
      background-color: #38a889; }
    .menu .ul .item .icon, .menu .ul .item span {
      vertical-align: middle; }
  @media only screen and (min-width: 768px) {
    .menu {
      right: -5px;
      bottom: 50%;
      margin-bottom: -250px; }
      .menu .menu_pig {
        position: absolute;
        top: -11px;
        right: 5px;
        width: 80px; }
      .menu .ul .item {
        cursor: pointer;
        margin-bottom: 10px;
        font-size: 12px;
        padding-left: 15px;
        padding-right: 10px; }
        .menu .ul .item .icon {
          width: 19px; }
        .menu .ul .item:hover {
          left: -5px; } }

.banner {
  width: 100%; }
  .banner .bg {
    position: relative;
    padding-bottom: 49.0625%;
    background: url("../images/bn_bg.jpg") center center no-repeat;
    background-size: cover;
    overflow: hidden; }
  .banner .bn_title {
    position: absolute;
    width: 62.34375%;
    top: 0;
    left: 0; }
    .banner .bn_title .pos_r {
      padding-bottom: 72.80702%;
      background: url("../images/bn_title.png") center center no-repeat;
      background-size: cover; }
  .banner .bn_pig {
    position: absolute;
    width: 48.90625%;
    top: 7.96178%;
    left: 48.82812%; }
    .banner .bn_pig .pos_r {
      padding-bottom: 91.53355%;
      background: url("../images/bn_pig.png") center center no-repeat;
      background-size: cover; }
  .banner .bn_mask {
    position: absolute;
    width: 100%;
    bottom: -2px;
    left: 0; }
    .banner .bn_mask .pos_r {
      padding-bottom: 10%;
      background: url("../images/bn_mask.png") center center no-repeat;
      background-size: cover; }

.area_02 {
  padding-top: 20px;
  padding-bottom: 150px;
  background: url("../images/area02_bg.jpg") 30% bottom no-repeat;
  background-size: auto 150px; }
  @media only screen and (min-width: 768px) {
    .area_02 {
      padding-bottom: 300px;
      background-size: auto 300px;
      background-position: 30% bottom; } }
  @media only screen and (min-width: 1024px) {
    .area_02 {
      background-position: center bottom; } }
  .area_02 .main {
    margin: auto;
    padding-left: 20px;
    padding-right: 20px; }
    @media only screen and (min-width: 768px) {
      .area_02 .main {
        padding-left: 120px;
        padding-right: 120px; } }
    @media only screen and (min-width: 1024px) {
      .area_02 .main {
        max-width: 1220px;
        padding-left: 180px;
        padding-right: 180px; } }
  .area_02 .cir_img {
    width: 160px;
    max-width: 49%; }
    @media only screen and (min-width: 768px) {
      .area_02 .cir_img {
        width: 80px;
        position: absolute; } }
    @media only screen and (min-width: 1024px) {
      .area_02 .cir_img {
        width: 160px; } }
  .area_02 .cir_img01 {
    left: -100px;
    top: -126px; }
  .area_02 .cir_img02 {
    right: -100px;
    top: -23px; }
  .area_02 .cir_img03 {
    left: -100px;
    top: -40px; }
  .area_02 .cir_img04 {
    right: -100px;
    top: 86px; }
  @media only screen and (min-width: 1024px) {
    .area_02 .cir_img01 {
      left: -180px;
      top: -126px; }
    .area_02 .cir_img02 {
      right: -180px;
      top: -23px; }
    .area_02 .cir_img03 {
      left: -180px;
      top: -40px; }
    .area_02 .cir_img04 {
      right: -180px;
      top: 86px; } }
  .area_02 .seperate {
    padding: 20px 0; }
  .area_02 .para_title {
    font-weight: bold;
    font-size: 20px;
    color: #fead00; }
    @media only screen and (min-width: 768px) {
      .area_02 .para_title {
        font-size: 24px; } }
  .area_02 .line {
    max-width: 100%;
    height: 3px;
    display: none; }
    @media only screen and (min-width: 768px) {
      .area_02 .line {
        display: block;
        height: 6px; } }

.area_03 {
  margin-top: -1px;
  background-color: #f6a801;
  padding-top: 40px;
  padding-bottom: 110px; }

.book_list .item {
  margin-bottom: 20px; }
  @media only screen and (min-width: 1024px) {
    .book_list .item {
      margin-bottom: 0; } }

.book_list .g_item {
  background-color: #fff;
  padding: 30px 20px;
  -webkit-box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.3); }
  @media only screen and (min-width: 768px) {
    .book_list .g_item {
      padding: 40px; } }

.book_list .book_info {
  padding-bottom: 20px; }
  .book_list .book_info .name {
    border-top: 1px solid #374756;
    border-bottom: 1px solid #374756;
    color: #374756;
    font-size: 18px;
    display: inline-block; }
    .book_list .book_info .name .small {
      font-size: 15px; }
  .book_list .book_info .des {
    color: #888888;
    font-size: 14px; }
  @media only screen and (min-width: 768px) {
    .book_list .book_info .name {
      font-size: 24px; }
      .book_list .book_info .name .small {
        font-size: 16px; }
    .book_list .book_info .des {
      font-size: 16px; } }

.buy_info {
  position: relative;
  z-index: 1;
  text-align: center;
  margin-top: 10px; }
  .buy_info .buy_btn {
    margin-top: 10px; }
  @media only screen and (min-width: 768px) {
    .buy_info {
      text-align: left; }
      .buy_info .buy_btn {
        float: right; } }

.buy_btn {
  cursor: pointer;
  display: inline-block;
  color: #ffffff;
  background-color: #fa7d87;
  border-radius: 40px;
  padding: 0 20px;
  font-size: 16px;
  margin-left: 0px;
  -webkit-transition: .2s;
  -o-transition: .2s;
  transition: .2s;
  line-height: 45px; }
  .buy_btn img {
    width: 24px; }
  .buy_btn span, .buy_btn img {
    vertical-align: middle; }
  @media only screen and (min-width: 768px) {
    .buy_btn {
      margin-left: 30px; }
      .buy_btn:hover {
        background-color: #eb606b; } }

.price del {
  font-size: 14px;
  color: #888; }

.price .special {
  font-size: 18px;
  color: #e16262;
  font-weight: bold; }

@media only screen and (min-width: 768px) {
  .price {
    padding-top: 17px;
    display: inline-block; }
    .price del {
      font-size: 14px; }
    .price .special {
      font-size: 24px; } }

.area_04 {
  background: url("../images/area04_bg.jpg") center center no-repeat;
  background-size: cover;
  padding-top: 60px;
  padding-bottom: 60px;
  position: relative; }
  @media only screen and (min-width: 768px) {
    .area_04 {
      padding-top: 150px;
      padding-bottom: 150px; } }
  .area_04 .mask_t {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 40px;
    background: url("../images/area04_mask_t.png") center bottom no-repeat;
    background-size: 100% 40px; }
    @media only screen and (min-width: 768px) {
      .area_04 .mask_t {
        height: 85px;
        background-size: 100% 85px; } }
  .area_04 .mask_b {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 40px;
    background: url("../images/area04_mask_b.png") center top no-repeat;
    background-size: 100% 40px; }
    @media only screen and (min-width: 768px) {
      .area_04 .mask_b {
        height: 88px;
        background-size: 100% 88px; } }

.area_04 .link_list {
  max-width: 790px;
  margin: 10px auto 0; }
  @media only screen and (min-width: 768px) {
    .area_04 .link_list {
      margin-top: 30px; } }

.link_list .item {
  margin-bottom: 4px; }
  .link_list .item .g_item {
    background-color: #fff;
    display: block;
    padding: 10px 55px 10px 30px;
    position: relative;
    -webkit-box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);
    font-size: 15px;
    border-radius: 30px;
    color: #333333;
    -webkit-transition: .2s;
    -o-transition: .2s;
    transition: .2s; }
    .link_list .item .g_item .arrow {
      -webkit-transition: .2s;
      -o-transition: .2s;
      transition: .2s;
      width: 24px;
      position: absolute;
      right: 18px;
      top: 0;
      bottom: 0;
      margin: auto; }
  @media only screen and (min-width: 768px) {
    .link_list .item .g_item {
      padding: 15px 55px 15px 30px;
      font-size: 24px; }
      .link_list .item .g_item .arrow {
        width: 36px; }
      .link_list .item .g_item:hover {
        background-color: #fdfbe1; }
        .link_list .item .g_item:hover .arrow {
          right: 13px; } }

.area_05 {
  text-align: center;
  margin: auto; }
  .area_05 .bg {
    max-width: 1280px;
    margin: auto;
    padding: 20px; }
  .area_05 .fb_btn {
    width: 250px;
    display: block;
    margin: auto;
    position: relative;
    z-index: 1v; }
  .area_05 .m_banner_bg {
    margin-top: -50px; }
  @media only screen and (min-width: 768px) {
    .area_05 {
      padding: 0 0 46px;
      background: url("../images/banner_02.jpg") center bottom no-repeat;
      background-size: contain; }
      .area_05 .fb_pos {
        float: right;
        width: 50%;
        margin-right: 100px; }
      .area_05 .banner_txt {
        width: 100%; }
      .area_05 .fb_btn {
        width: 62.5%; }
        .area_05 .fb_btn:hover img {
          -webkit-animation: bounceIn .5s;
          animation: bounceIn .5s; }
      .area_05 .m_banner_bg {
        display: none; } }
  @media only screen and (min-width: 1024px) {
    .area_05 .fb_pos {
      margin-right: 80px; } }

.banner03 {
  cursor: pointer;
  position: relative;
  display: inline-block; }
  .banner03 .banner03_img {
    width: 100%;
    cursor: pointer; }
  .banner03:hover .event_btn {
    -webkit-animation: bounceIn .5s;
    animation: bounceIn .5s; }

.event_btn {
  -webkit-transform-origin: center;
  -ms-transform-origin: center;
  transform-origin: center;
  display: inline-block;
  position: absolute;
  width: 16.5625%;
  top: 23.33333%;
  left: 33.59375%; }
