@charset "UTF-8";
/* CSS Document */
@import url("reset.css");
html {
  font-size: 16px;
}

html * {
  font-size: 1rem;
  font-weight: 400;
}

html, body {
  margin: 0;
  padding: 0;
}

body, ul, li {
  margin: 0px;
  padding: 0px;
  font-family: "Noto Sans TC", "微軟正黑體", "新細明體", "細明體", Arial, "Arial Black";
  font-size: 16px;
  line-height: 25px;
  color: #000;
  letter-spacing: 1px;
  box-sizing: border-box;
}

.bgm {
  display: block;
  width: 0;
  height: 0;
}

.music_box {
  display: block;
  width: 3%;
  position: absolute;
  z-index: 100;
  right: 1%;
  top: 10%;
}
@media (max-width: 992px) {
  .music_box {
    width: 5%;
  }
}
@media (max-width: 768px) {
  .music_box {
    width: 12%;
  }
}

.music_box img {
  display: block;
  width: 3.1%;
  height: auto;
  margin: 1%;
  opacity: 0.6;
}

img {
  width: 100%;
  height: auto;
  left: 0;
}

button {
  display: none;
}

*:focus {
  outline: none;
} /*解決滾動到區塊時出現框線問題*/
.kv_box {
  position: relative;
  overflow: hidden;
  line-height: 0;
  width: 100%;
}

video {
  width: 100%;
  height: auto;
}

p {
  font-size: 1.05vw;
  font-weight: 400;
  color: #575757;
}
@media (max-width: 992px) {
  p {
    font-size: 1.5vw;
    line-height: 1.5;
  }
}
@media (max-width: 768px) {
  p {
    font-size: 3.5vw;
    line-height: 1.5;
  }
}

.pc {
  display: block;
}
@media (max-width: 768px) {
  .pc {
    display: none;
  }
}

.mob {
  display: none;
}
@media (max-width: 768px) {
  .mob {
    display: block;
  }
}

.btn_style {
  transform-origin: center;
  transform: scale(1);
  transition: all 0.15s ease-in-out;
}
.btn_style:hover {
  cursor: pointer;
  transform: scale(0.9);
}

.yt_box {
  width: 100%;
  margin: 0% auto 0;
  position: relative;
}

.vidbacking {
  display: block;
}

.video-back {
  display: block; /*padding:200px 0px;*/
  text-align: center;
}

.video-back img { /*width:150px;*/
  width: 100%;
  height: auto;
}

img.vediobg_img {
  display: block;
  width: 100%;
  height: auto;
  position: absolute;
  top: 0;
  z-index: -101;
}

.video-container {
  position: relative;
  padding-bottom: 56.25%;
  padding-top: 30px;
  height: 0;
  overflow: hidden;
}

.video-container iframe, .video-container object, .video-container embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

#background-video > .ytplayer-container > iframe {
  top: 0 !important;
  z-index: -1;
}

.placeholder-image {
  z-index: 100;
  top: 0;
}

@media (max-width: 767px) {
  .ytplayer-player {
    top: 0 !important;
  }
}

header {
  width: calc(100% - 0vw);
  position: absolute;
  left: 0;
  z-index: 10;
  display: flex;
  align-items: center;
}
header .logo_01 {
  position: absolute;
  z-index: 2;
  width: 6%;
  left: 3%;
}
@media (max-width: 767px) {
  header .logo_01 {
    width: 17%;
    left: 17%;
  }
}
header .logo_02 {
  position: absolute;
  z-index: 2;
  width: 6%;
  left: 11%;
}
@media (max-width: 767px) {
  header .logo_02 {
    width: 16%;
    left: 38%;
  }
}
header .logo_03 {
  position: absolute;
  z-index: 2;
  width: 3%;
  left: 21%;
}
@media (max-width: 767px) {
  header .logo_03 {
    width: 3%;
    left: 60%;
  }
}
header .menu_01 {
  position: absolute;
  z-index: 2;
  width: 6.5%;
  right: 11%;
}
@media (max-width: 767px) {
  header .menu_01 {
    display: none;
  }
}
header .menu_02 {
  position: absolute;
  z-index: 2;
  width: 8%;
  right: 2%;
}
@media (max-width: 767px) {
  header .menu_02 {
    display: none;
  }
}

.kv_w {
  position: relative;
  line-height: 0;
  overflow: hidden;
}
.kv_w h1 {
  width: 60.4%;
  position: absolute;
  left: 19.8%;
  top: 10.8%;
  z-index: 2;
  opacity: 0;
  animation: kv_title 1s ease-in-out 1s forwards;
}
@media (max-width: 767px) {
  .kv_w h1 {
    width: 92%;
    top: 14%;
    animation: kv_title2 1s ease-in-out 1s forwards;
  }
}
.kv_w .airplane {
  width: 13.6%;
  position: absolute;
  right: 24.4%;
  top: 27.5%;
  z-index: 3;
  opacity: 0;
  animation: airplane 1s ease-in-out 2.5s forwards;
}
@media (max-width: 767px) {
  .kv_w .airplane {
    width: 21%;
    top: 31%;
    animation: airplane2 1s ease-in-out 2.5s forwards;
  }
}
.kv_w .sun {
  width: 27.3%;
  position: absolute;
  right: 27.2%;
  bottom: 3.9%;
  z-index: 6;
  mix-blend-mode: screen;
}
.kv_w .monkey {
  width: 16.5%;
  position: absolute;
  left: 20.4%;
  bottom: 19.1%;
  z-index: 5;
  opacity: 0;
  transform-origin: 100% 100%;
  animation: monkey 0.5s ease-in 1.5s forwards;
}
@media (max-width: 767px) {
  .kv_w .monkey {
    width: 24.5%;
    left: 6.3%;
    bottom: 16%;
  }
}
.kv_w .monkey img {
  transform-origin: 80% 60%;
}
.kv_w .turtle {
  width: 18.3%;
  position: absolute;
  right: 22.3%;
  bottom: 9%;
  z-index: 6;
  opacity: 0;
  transform-origin: -100% 100%;
  animation: turtle 1s ease-out 1.65s forwards;
}
@media (max-width: 767px) {
  .kv_w .turtle {
    width: 25.3%;
    animation: turtle2 1s ease-out 1.65s forwards;
  }
}
.kv_w .turtle img {
  transform-origin: 0% 50%;
  animation: turtle_ani 2s ease-in-out infinite;
}
.kv_w .kv_girl {
  width: 27%;
  position: absolute;
  left: 36.5%;
  bottom: 0;
  z-index: 4;
}
@media (max-width: 767px) {
  .kv_w .kv_girl {
    width: 41%;
    left: 30%;
  }
}
.kv_w .ribbons_L {
  width: 50%;
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 3;
  transform-origin: center;
  transform: rotateY(180deg);
}
.kv_w .ribbons_L span {
  display: block;
  position: relative;
}
.kv_w .ribbons_L span img {
  opacity: 0;
}
.kv_w .ribbons_L span::after {
  display: block;
  content: "";
  width: 0%;
  height: 100%;
  position: absolute;
  left: 0%;
  top: 0;
  z-index: 2;
  background: url(../images/kv/ribbons_L.png) no-repeat left center;
  background-size: cover;
  transform-origin: left center;
  animation: ribbons_L 0.5s ease-out 1s forwards;
}
.kv_w .ribbons_R {
  width: 54%;
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: 5;
}
.kv_w .ribbons_R span {
  display: block;
  position: relative;
}
.kv_w .ribbons_R span img {
  opacity: 0;
}
.kv_w .ribbons_R span::after {
  display: block;
  content: "";
  width: 0%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 2;
  background: url(../images/kv/ribbons_R.png) no-repeat;
  background-size: cover;
  transform-origin: left center;
  animation: ribbons_R 0.5s ease-out 1s forwards;
}
.kv_w .kv_photo_box {
  width: 71%;
  position: absolute;
  left: 14.5%;
  bottom: 0;
  z-index: 2;
  transform: scale(0.1);
  transform-origin: center bottom;
  animation: kv_photo_b 0.25s ease-out 0.5s forwards;
}
@media (max-width: 767px) {
  .kv_w .kv_photo_box {
    width: 106%;
    left: -3%;
  }
}
.kv_w .kv_photo_box .kv_photo_g {
  position: relative;
}
.kv_w .kv_photo_box .kv_photo_g .kv_photo_s {
  position: absolute;
  bottom: 0;
  z-index: 2;
  transform: scale(0.1);
  transform-origin: center bottom;
  animation: kv_photo_s 0.25s ease-out 0.75s forwards;
}
.kv_w .kv_en {
  width: 87.5%;
  position: absolute;
  left: 6.25%;
  bottom: 2%;
  z-index: 6;
}
@media (max-width: 767px) {
  .kv_w .kv_en {
    width: 98%;
    left: 1%;
  }
}

@keyframes kv_title {
  0% {
    left: 39.8%;
    opacity: 0;
  }
  100% {
    left: 19.8%;
    opacity: 1;
  }
}
@keyframes kv_title2 {
  0% {
    left: 24%;
    opacity: 0;
  }
  100% {
    left: 4%;
    opacity: 1;
  }
}
@keyframes airplane {
  0% {
    right: 14.4%;
    opacity: 0;
  }
  100% {
    right: 24.4%;
    opacity: 1;
  }
}
@keyframes airplane2 {
  0% {
    right: 10%;
    opacity: 0;
  }
  100% {
    right: 20%;
    opacity: 1;
  }
}
@keyframes kv_photo_b {
  0% {
    transform: scale(0.1);
  }
  100% {
    transform: scale(1);
  }
}
@keyframes kv_photo_s {
  0% {
    transform: scale(0.1);
  }
  100% {
    transform: scale(1);
  }
}
@keyframes monkey {
  0% {
    transform: scale(1);
    opacity: 0;
  }
  100% {
    transform: scale(1);
    opacity: 1;
  }
}
@keyframes monkey_ani {
  0% {
    transform: rotate(0deg);
  }
  50% {
    transform: rotate(5deg);
  }
  100% {
    transform: rotate(0deg);
  }
}
@keyframes turtle {
  0% {
    right: 28.3%;
    opacity: 0;
  }
  100% {
    right: 22.3%;
    opacity: 1;
  }
}
@keyframes turtle2 {
  0% {
    right: 14.3%;
    opacity: 0;
  }
  100% {
    right: 10.3%;
    opacity: 1;
  }
}
@keyframes turtle_ani {
  0% {
    margin-bottom: 0;
  }
  50% {
    margin-bottom: 2%;
  }
  100% {
    margin-bottom: 0;
  }
}
@keyframes turtle_ani {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.05);
  }
  100% {
    transform: scale(1);
  }
}
@keyframes ribbons_L {
  0% {
    width: 0;
  }
  100% {
    width: 100%;
  }
}
@keyframes ribbons_R {
  0% {
    width: 0;
  }
  100% {
    width: 100%;
  }
}
.btn_buy_box {
  display: block;
  width: 5.3%;
  position: fixed;
  right: 1.5%;
  bottom: 5%;
  z-index: 8;
  transform-origin: center;
  animation: btn_buy_ani 1s ease-in-out infinite;
}
.btn_buy_box .btn_buy {
  position: relative;
}
@media (max-width: 992px) {
  .btn_buy_box {
    width: 10%;
  }
}
@media (max-width: 768px) {
  .btn_buy_box {
    width: 13%;
  }
}

@keyframes btn_buy_ani {
  0% {
    bottom: 5%;
  }
  50% {
    bottom: 6%;
  }
  100% {
    bottom: 5%;
  }
}
main, section {
  position: relative;
  line-height: 0;
  overflow: hidden;
}

.box_w {
  width: 100%;
  position: relative;
  margin: 0 auto;
  overflow: hidden;
  z-index: 3;
}

/*---s01--------------------------*/
#s01 {
  position: relative;
}
#s01 .box_w {
  position: relative;
}
#s01 .box_w .title_text {
  position: relative;
}
#s01 .box_w .title_year {
  position: relative;
  margin: 0% 0 5%;
}
#s01 .bg_w {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 2;
  background: url(../images/s01/s01bg.png) no-repeat center;
  background-size: cover;
}

.view_L {
  float: left;
}

.view_R {
  float: right;
}

.view_w {
  position: relative;
  margin: 2.5% 0;
}
.view_w .view_group {
  width: 67.2%;
  position: absolute;
  top: 5%;
  z-index: 2;
}
@media (max-width: 767px) {
  .view_w .view_group {
    width: 62%;
    top: 0;
  }
}

.view_g_L {
  left: 25.1%;
}
@media (max-width: 767px) {
  .view_g_L {
    left: 34%;
  }
}

.view_g_R {
  right: 25.1%;
}
@media (max-width: 767px) {
  .view_g_R {
    right: 34%;
  }
}

.view {
  display: flex;
  flex-wrap: wrap;
  width: 87%;
  margin: 0 auto;
}
@media (max-width: 767px) {
  .view {
    width: 96%;
  }
}
.view span {
  padding: 3% 0;
}

.view2 {
  display: flex;
  flex-wrap: wrap;
  flex-direction: column-reverse;
  width: 87%;
  margin: 0 auto;
}
@media (max-width: 767px) {
  .view2 {
    width: 96%;
    flex-direction: column;
  }
}
.view2 span {
  padding: 3% 0;
}

/*---s02--------------------------*/
.tour_g li {
  position: relative;
}

ul.travel_g {
  position: absolute;
  width: 27%;
  display: flex;
  bottom: 10%;
  left: 15%;
  z-index: 2;
  flex-wrap: wrap;
  justify-content: space-between;
}
@media (min-width: 992px) and (max-width: 1199px) {
  ul.travel_g {
    bottom: 4%;
  }
}
@media (max-width: 767px) {
  ul.travel_g {
    width: 46%;
    bottom: 2%;
    left: 9%;
  }
}
ul.travel_g li {
  margin: 2% 0;
  padding: 1% 2%;
  width: 31%;
  border-radius: 15px;
  border: #FFF solid 1px;
}
@media (min-width: 1200px) and (max-width: 1599px) {
  ul.travel_g li {
    margin: 1% 0;
    padding: 0 2%;
  }
}
@media (min-width: 992px) and (max-width: 1199px) {
  ul.travel_g li {
    padding: 0 1%;
  }
}
@media (max-width: 767px) {
  ul.travel_g li {
    margin: 2% 0;
    padding: 1% 0;
    line-height: 3vw;
  }
}
ul.travel_g li:hover {
  background-color: #004097;
  border: #fff48d solid 1px;
}

ul.travel_g2 {
  position: absolute;
  width: 27%;
  display: flex;
  bottom: 10%;
  left: 58%;
  z-index: 2;
  flex-wrap: wrap;
  justify-content: space-between;
}
@media (min-width: 992px) and (max-width: 1199px) {
  ul.travel_g2 {
    bottom: 4%;
  }
}
@media (max-width: 767px) {
  ul.travel_g2 {
    width: 46%;
    bottom: 2%;
    left: 44%;
  }
}
ul.travel_g2 li {
  margin: 2% 0;
  padding: 1% 2%;
  width: 31%;
  border-radius: 15px;
  border: #FFF solid 1px;
}
@media (min-width: 1200px) and (max-width: 1599px) {
  ul.travel_g2 li {
    margin: 1% 0;
    padding: 0 2%;
  }
}
@media (min-width: 992px) and (max-width: 1199px) {
  ul.travel_g2 li {
    padding: 0 1%;
  }
}
@media (max-width: 767px) {
  ul.travel_g2 li {
    margin: 2% 0;
    padding: 1% 0;
    line-height: 3vw;
  }
}
ul.travel_g2 li:hover {
  background-color: #004097;
  border: #fff48d solid 1px;
}

.travel {
  text-align: center;
}
.travel a {
  font-size: 1.2vw;
  color: #fff;
  text-decoration: none;
}
.travel a:hover {
  color: #fff48d;
}
@media (max-width: 767px) {
  .travel a {
    font-size: 2.5vw;
  }
}

#swiper-container > .swiper-wrapper {
  width: 90%;
  margin: 0 auto;
}

.swiper-button-prev, .swiper-container-rtl .swiper-button-next {
  left: -20px;
}

.swiper-button-next, .swiper-container-rtl .swiper-button-prev {
  right: -20px;
}

.swiper-pagination-bullet {
  width: 10px;
  height: 10px;
  border: 1px solid #fff;
  opacity: 0.5;
  margin: 0 0.25vw;
}

.swiper-pagination-bullet-active {
  background: rgb(255, 255, 255);
  opacity: 1;
}

.swiper-pagination {
  position: relative;
  margin: 5%;
}
@media (max-width: 768px) {
  .swiper-pagination {
    margin: 2% 2% 15%;
  }
}

.swiper-pagination-bullet {
  width: 1vw;
  height: 1vw;
  background: none;
}
@media (max-width: 768px) {
  .swiper-pagination-bullet {
    width: 2vw;
    height: 2vw;
  }
}

.swiper-pagination-bullet-active {
  background: #fff;
}

/*-------------------------------------------------------------*/
.overlay {
  width: 20%;
  background: rgba(80, 130, 215, 0.85);
}
@media (max-width: 992px) {
  .overlay {
    width: 50%;
  }
}
@media (max-width: 768px) {
  .overlay {
    width: 100%;
    height: 100%;
  }
}

.overlay nav {
  top: 0vh;
  height: 95vh;
}
.overlay nav ul {
  display: block;
  width: 90%;
  height: 100%;
  display: flex;
  flex-flow: column nowrap;
  justify-content: center;
  padding: 10%;
}
.overlay nav ul li {
  display: flex;
  width: 100%;
  font-size: 1.25rem;
  font-weight: 400;
  line-height: 2;
  justify-content: center;
  align-items: center;
  padding: 10px;
}
.overlay nav ul li a span {
  width: 15vw;
  font-size: 2rem;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.25vw;
  color: #fff;
  opacity: 0.7;
  transition: all 0.5s ease-in-out;
}
@media (max-width: 768px) {
  .overlay nav ul li a span {
    width: 100%;
  }
}
.overlay nav ul li a:hover span {
  color: #FFF;
  opacity: 1;
}

.overlay .overlay-close {
  top: 0;
}

.overlay .overlay-close {
  max-width: 58px;
  max-height: 58px;
}

button.menu_m {
  display: none;
  position: relative;
  width: 4.6%;
  border: none;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: top center;
  padding: 0;
  background-color: transparent;
  cursor: pointer;
  z-index: 990;
  outline: 0;
  order: 3;
}
@media (max-width: 768px) {
  button.menu_m {
    display: block;
    width: 45px;
    height: auto;
  }
}

.yt_box {
  position: absolute;
  width: 70%;
  left: 15%;
  top: 23%;
  z-index: 3;
}

.video-container {
  position: relative;
  padding-bottom: 54.2%;
  height: 0;
  overflow: hidden;
}

.video-container iframe, .video-container object, .video-container embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}/*# sourceMappingURL=style.css.map */