@import url(https://fonts.googleapis.com/css2?family=Noto+Sans+TC:wght@100..900&display=swap);
a,
abbr,
acronym,
address,
applet,
article,
aside,
audio,
b,
big,
blockquote,
body,
canvas,
caption,
center,
cite,
code,
dd,
del,
details,
dfn,
div,
dl,
dt,
em,
embed,
fieldset,
figcaption,
figure,
footer,
form,
h1,
h2,
h3,
h4,
h5,
h6,
header,
hgroup,
html,
i,
iframe,
img,
ins,
kbd,
label,
legend,
li,
mark,
menu,
nav,
object,
ol,
output,
p,
pre,
q,
ruby,
s,
samp,
section,
small,
span,
strike,
strong,
sub,
summary,
sup,
table,
tbody,
td,
tfoot,
th,
thead,
time,
tr,
tt,
u,
ul,
var,
video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: middle
}
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block
}
body {
  position: relative;
  overflow-x: hidden
}
button,
ol,
ul {
  margin: 0;
  padding: 0;
  list-style: none
}
blockquote,
q {
  quotes: none
}
blockquote:after,
blockquote:before,
q:after,
q:before {
  content: '';
  content: none
}
table {
  border-collapse: collapse;
  border-spacing: 0
}
:focus,
a:active,
a:focus,
a:hover,
button:focus {
  text-decoration: none;
  outline: 0
}
a,
button {
  border: none;
  font-size: unset;
  padding: 0;
  margin: 0;
  background: 0 0;
  background-color: none;
  outline: 0;
  border: none
}
img {
  max-width: 100%;
  height: auto
}
aside {
  position: fixed;
  z-index: 50;
  top: 50%;
  right: 15px;
  transform: translateY(-50%)
}
@media only screen and (max-width:1440px) {
  aside {
    display: none!important
  }
}
aside ul {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  background: #00000073;
  padding: 10px 20px
}
aside ul li {
  display: block;
  position: relative;
  padding: 12px 0;
  color: #ffdb7994;
  cursor: pointer;
  border-radius: 5px;
  font-size: 1rem
}
aside ul li.active,
aside ul li:hover {
  color: #ffdb79;
  transition: .3s all
}
aside ul li.active:after,
aside ul li:hover:after {
  background-position: 100% 0
}
.modal.video {
  background: rgba(0,0,0,.7)
}
.modal.video .modal-dialog {
  top: 10%
}
@media only screen and (max-width:900px) {
  .modal.video .modal-dialog {
    top: 30%
  }
}
.modal.video .modal-dialog .modal-content {
  background: unset;
  border: unset
}
.modal.video .modal-dialog .modal-content .modal-header {
  padding: 0;
  border: unset
}
.modal.video .modal-dialog .modal-content .modal-header button {
  position: absolute;
  display: inline-block;
  width: 40px;
  height: 40px;
  font-size: 0;
  right: 0;
  top: -50px;
  margin: 0;
  padding: 0
}
.modal.video .modal-dialog .modal-content .modal-header button:after,
.modal.video .modal-dialog .modal-content .modal-header button:before {
  transition: .2s;
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 64px;
  height: 1px;
  background-color: #fff
}
.modal.video .modal-dialog .modal-content .modal-header button:before {
  transform: translate(-50%,-50%) rotate(45deg)
}
.modal.video .modal-dialog .modal-content .modal-header button:after {
  transform: translate(-50%,-50%) rotate(135deg)
}
@media only screen and (max-width:767px) {
  .modal.video .modal-dialog .modal-content .modal-header button {
    right: 0;
    top: -35px;
    width: 30px;
    height: 30px
  }
  .modal.video .modal-dialog .modal-content .modal-header button:after,
  .modal.video .modal-dialog .modal-content .modal-header button:before {
    width: 30px
  }
}
.modal.video .modal-dialog .modal-content .modal-body {
  padding: 0 0 56.25% 0;
  position: relative;
  width: 100%;
  height: 0;
  overflow: hidden
}
.modal.video .modal-dialog .modal-content .modal-body iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%
}
.swiper {
  max-width: 80%
}
@media only screen and (max-width:1440px) {
  .swiper {
    max-width: 100%
  }
}
.swiper .swiper-button-next,
.swiper .swiper-button-prev {
  top: 50%;
  width: 84px;
  height: 112px;
  z-index: 9
}
.swiper .swiper-button-next::after,
.swiper .swiper-button-prev::after {
  content: ''
}
@media only screen and (max-width:900px) {
  .swiper .swiper-button-next,
  .swiper .swiper-button-prev {
    width: 40px;
    height: 50px
  }
}
.swiper .swiper-button-prev {
  left: 1%;
  background: url(../images/s2Arrow.png) no-repeat center center;
  background-size: contain;
  transform: rotate(180deg);
  filter: grayscale(100%)
}
@media only screen and (max-width:900px) {
  .swiper .swiper-button-prev {
    left: 1%
  }
}
.swiper .swiper-button-prev.active,
.swiper .swiper-button-prev:focus,
.swiper .swiper-button-prev:hover {
  filter: unset
}
.swiper .swiper-button-next {
  right: 1%;
  background: url(../images/s2Arrow.png) no-repeat center center;
  background-size: contain;
  filter: grayscale(100%)
}
@media only screen and (max-width:900px) {
  .swiper .swiper-button-next {
    right: 1%
  }
}
.swiper .swiper-button-next.active,
.swiper .swiper-button-next:focus,
.swiper .swiper-button-next:hover {
  filter: unset
}
.swiper-pagination {
  bottom: -20px!important
}
.swiper-pagination .swiper-pagination-bullet {
  background-color: #806b3e;
  opacity: 1
}
.swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
  background-color: #b79320
}
body {
  background-color: #000;
  font-family: "Noto Sans TC",sans-serif;
  overflow-x: hidden;
  text-align: center
}
body p {
  font-weight: 400;
  text-align: center;
  color: #cebe94;
  line-height: 1.5;
  margin: 1% 0
}
@media only screen and (max-width:480px) {
  body p {
    line-height: 1.2
  }
}
body main {
  position: relative;
  width: 100%;
  height: 1240px
}
@media only screen and (max-width:767px) {
  body main {
    height: 800px
  }
}
body main video {
  position: absolute;
  left: 50%;
  top: 0;
  transform: translateX(-50%);
  width: 2560px;
  height: 1240px;
  z-index: 1;
  -o-object-fit: contain;
  object-fit: contain;
  overflow-clip-margin: content-box;
  overflow: clip
}
@media only screen and (max-width:767px) {
  body main video {
    height: 800px;
    transform: translateX(-59%)
  }
}
body main .content {
  position: absolute;
  width: 100%;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  max-width: 1180px;
  top: 18%;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  flex-direction: column;
  align-items: start;
  justify-content: center;
  z-index: 3
}
@media only screen and (max-width:767px) {
  body main .content {
    top: inherit;
    bottom: 0;
    align-items: center
  }
}
body main .content .title .cta {
  margin-top: 40px;
  width: 100%;
  display: flex;
  justify-content: center;
  gap: 20px
}
body main .content .title .cta a {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 4px;
  background: url(../images/cta.png) no-repeat center center;
  background-size: contain;
  width: 161px;
  height: 47px;
  color: #ea2828;
  transition: .3s all;
  font-size: 18px
}
body main .content .title .cta a:hover {
  filter: brightness(1.2)
}
@media only screen and (max-width:767px) {
  body main .content .title .cta a:first-child {
    display: none
  }
}
section {
  padding: 10% 5%;
  min-height: calc(100vh - 80px);
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: start
}
@media only screen and (max-width:1440px) {
  section {
    min-height: inherit;
    padding: 8vw
  }
}
section p {
  line-height: 1.8;
  font-size: 1.1rem;
  color: #b6ccf7;
  margin-top: 0
}
@media only screen and (max-width:480px) {
  section p {
    margin: 0;
    font-size: 1rem
  }
}
section p span {
  font-size: clamp(1.3rem,1.3vw,2.5rem);
  text-align: center;
  color: #b6ccf7
}
@media only screen and (max-width:480px) {
  section p span {
    margin: 0
  }
}
section .title {
  margin-bottom: 24px
}
@media only screen and (max-width:767px) {
  section .title {
    margin-bottom: 12px
  }
}
section#s1 {
  background: url(../images/s1bg.jpg) no-repeat top center;
  background-size: cover;
  height: 1593px;
  z-index: 10
}
@media only screen and (max-width:1440px) {
  section#s1 {
    padding: 12vw 4vw;
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content
  }
}
section#s1 .bg {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 0;
  transition: .3s all
}
section#s1 .content {
  text-align: start;
  position: relative;
  height: inherit;
  max-width: 1440px;
  margin: auto;
  width: 100%
}
@media only screen and (max-width:1440px) {
  section#s1 .content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center
  }
}
section#s1 .content .video-btn {
  position: absolute;
  top: -30%;
  left: 0;
  text-align: center
}
@media only screen and (max-width:1440px) {
  section#s1 .content .video-btn {
    top: inherit;
    left: inherit;
    position: relative
  }
}
section#s1 .content .video-btn img {
  -webkit-animation: loop 3s .3s ease-in-out infinite;
  animation: loop 3s .3s ease-in-out infinite;
  z-index: 10
}
@-webkit-keyframes loop {
  0% {
    transform: translateY(-10px)
  }
  50% {
    transform: translateY(10px)
  }
  100% {
    transform: translateY(-10px)
  }
}
@keyframes loop {
  0% {
    transform: translateY(-10px)
  }
  50% {
    transform: translateY(10px)
  }
  100% {
    transform: translateY(-10px)
  }
}
section#s1 .content .char {
  position: absolute;
  left: 48%;
  top: -13%;
  transform: translateX(-50%);
  width: 1193px;
  pointer-events: none
}
@media only screen and (max-width:1440px) {
  section#s1 .content .char {
    display: none
  }
}
section#s1 .content > .title {
  position: absolute;
  right: 0;
  top: -15%
}
@media only screen and (max-width:1440px) {
  section#s1 .content > .title {
    top: inherit;
    right: inherit;
    position: relative;
    text-align: center
  }
}
section#s1 .content .btn-section {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  position: absolute;
  bottom: -3%;
  left: 50%;
  transform: translateX(-50%);
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  max-width: 100%
}
@media only screen and (max-width:1440px) {
  section#s1 .content .btn-section {
    position: relative;
    bottom: inherit;
    left: inherit;
    transform: inherit
  }
}
section#s1 .content .btn-section .d-flex {
  gap: 20px
}
section#s1 .content .btn-section .d-flex a {
  position: relative;
  transition: .3s all;
  background-size: contain;
  width: 100%;
  height: 100%
}
section#s1 .content .btn-section .d-flex a:first-child {
  background: url(../images/s1-1-btn-hover.png) center center no-repeat;
  background-size: contain
}
section#s1 .content .btn-section .d-flex a:last-child {
  background: url(../images/s1-2-btn-hover.png) center center no-repeat;
  background-size: contain
}
section#s1 .content .btn-section .d-flex a:hover img {
  opacity: 0
}
@media only screen and (max-width:767px) {
  section#s1 .content .btn-section .d-flex a:hover img {
    opacity: 1
  }
}
@media only screen and (max-width:1440px) {
  section#s1 .content .btn-section .d-flex a {
    background: 0 0
  }
}
section#s1 .content .btn-section .d-flex a::after {
  content: '';
  position: absolute;
  background: url(../images/s1-btn-arrow.png) center center no-repeat;
  left: 50%;
  transform: translateX(-50%);
  bottom: -38px;
  width: 28px;
  height: 76px;
  -webkit-animation: arrow-loop 1.6s .3s ease-in-out infinite;
  animation: arrow-loop 1.6s .3s ease-in-out infinite
}
@-webkit-keyframes arrow-loop {
  0% {
    transform: translateX(-50%) translateY(-10px)
  }
  50% {
    transform: translateX(-50%) translateY(10px)
  }
  100% {
    transform: translateX(-50%) translateY(-10px)
  }
}
@keyframes arrow-loop {
  0% {
    transform: translateX(-50%) translateY(-10px)
  }
  50% {
    transform: translateX(-50%) translateY(10px)
  }
  100% {
    transform: translateX(-50%) translateY(-10px)
  }
}
section#s1 .content .btn-section .d-flex a img {
  transition: .3s all
}
.modal-dialog {
  max-width: 960px
}
.modal-dialog .modal-content {
  background: 0 0;
  align-items: flex-end;
  border: none
}
.modal-dialog .modal-content .close {
  color: #fff;
  text-shadow: none;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: 1rem;
  transition: .3s all;
  border: 1px solid #fff
}
.modal-dialog .modal-content .modal-body {
  width: 100%;
  padding: 0
}
.modal-dialog .modal-content .modal-body iframe {
  width: 100%;
  aspect-ratio: 16/9
}
section#s2 {
  position: relative;
  width: 100%;
  height: 1080px;
  display: flex;
  justify-content: center;
  align-items: center
}
@media only screen and (max-width:1440px) {
  section#s2 {
    height: 1400px
  }
}
@media only screen and (max-width:767px) {
  section#s2 {
    height: 1080px
  }
}
section#s2 video {
  position: absolute;
  left: 50%;
  top: 0;
  transform: translateX(-50%);
  width: 2560px;
  height: 1080px;
  -o-object-fit: contain;
  object-fit: contain;
  overflow-clip-margin: content-box;
  overflow: clip
}
@media only screen and (max-width:1440px) {
  section#s2 video {
    width: 3460px;
    height: 1400px
  }
}
@media only screen and (max-width:767px) {
  section#s2 video {
    height: 1080px
  }
}
section#s2 .content {
  gap: 40px;
  width: 100%;
  justify-content: center;
  flex-wrap: wrap
}
@media only screen and (max-width:767px) {
  section#s2 .content {
    flex-direction: column;
    gap: 20px
  }
}
section#s2 .content swiper-container.mySwiper {
  width: 871px;
  height: 500px;
  max-width: 100%;
  margin: 0
}
@media only screen and (max-width:767px) {
  section#s2 .content swiper-container.mySwiper {
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content
  }
}
section#s2 .content swiper-container.mySwiper2 {
  width: 480px;
  height: 90px;
  max-width: 100%;
  margin: 0
}
@media only screen and (max-width:767px) {
  section#s2 .content swiper-container.mySwiper2 {
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
    width: 70%
  }
}
section#s2 .content swiper-container.mySwiper2 swiper-slide {
  pointer-events: auto;
  position: relative
}
section#s2 .content swiper-container.mySwiper2 swiper-slide::before {
  position: absolute;
  width: 100%;
  height: 100%;
  content: '';
  border: 3px solid #e82f04;
  left: 0;
  top: 0;
  opacity: 0;
  pointer-events: none;
  transition: .3s all;
  box-shadow: inset 0 0 8px #000
}
section#s2 .content swiper-container.mySwiper2 swiper-slide.swiper-slide-thumb-active::before {
  opacity: 1
}
section#s2 .content swiper-container.mySwiper2 swiper-slide img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover
}
section#s2 .content .right {
  display: flex;
  flex-direction: column;
  max-width: 100%
}
@media only screen and (max-width:767px) {
  section#s2 .content .right {
    align-items: center;
    flex-direction: column-reverse;
    gap: 20px
  }
}
section#s2 .content .right .detail {
  text-align: left;
  margin-bottom: 40px
}
@media only screen and (max-width:767px) {
  section#s2 .content .right .detail {
    margin-bottom: 20px
  }
}
section#s2 .content .right .detail img {
  position: relative;
  filter: drop-shadow(0 0 10px #000)
}
section#s3 {
  position: relative;
  width: 100%;
  height: 1080px;
  display: flex;
  justify-content: center;
  align-items: center
}
@media only screen and (max-width:1440px) {
  section#s3 {
    height: 1400px
  }
}
@media only screen and (max-width:767px) {
  section#s3 {
    height: 1080px;
    padding: 4%
  }
}
section#s3 video {
  position: absolute;
  left: 50%;
  top: 0;
  transform: translateX(-50%);
  width: 2560px;
  height: 1080px;
  z-index: 0;
  -o-object-fit: contain;
  object-fit: contain;
  overflow-clip-margin: content-box;
  overflow: clip
}
@media only screen and (max-width:1440px) {
  section#s3 video {
    width: 3460px;
    height: 1400px
  }
}
@media only screen and (max-width:767px) {
  section#s3 video {
    height: 1080px
  }
}
section#s3 .title {
  margin-bottom: 80px
}
@media only screen and (max-width:767px) {
  section#s3 .title {
    margin-bottom: 40px
  }
}
section#s3 .content {
  gap: 40px;
  justify-content: center;
  width: 100%;
  flex-wrap: wrap
}
@media only screen and (max-width:767px) {
  section#s3 .content {
    flex-direction: column;
    gap: 20px
  }
}
section#s3 .content swiper-container.s3Swiper {
  width: 871px;
  max-width: 100%;
  height: 500px;
  margin: 0
}
@media only screen and (max-width:767px) {
  section#s3 .content swiper-container.s3Swiper {
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content
  }
}
section#s3 .content swiper-container.s3Thumbs {
  width: 320px;
  max-width: 100%;
  height: 90px;
  margin: 0
}
@media only screen and (max-width:767px) {
  section#s3 .content swiper-container.s3Thumbs {
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
    width: 50%;
    margin: auto
  }
}
section#s3 .content swiper-container.s3Thumbs swiper-slide {
  position: relative
}
section#s3 .content swiper-container.s3Thumbs swiper-slide::before {
  position: absolute;
  width: 100%;
  height: 100%;
  content: '';
  border: 3px solid #e82f04;
  left: 0;
  top: 0;
  opacity: 0;
  pointer-events: none;
  transition: .3s all;
  box-shadow: inset 0 0 8px #000
}
section#s3 .content swiper-container.s3Thumbs swiper-slide.swiper-slide-thumb-active::before {
  opacity: 1
}
section#s3 .content .right {
  display: flex;
  flex-direction: column
}
@media only screen and (max-width:1440px) {
  section#s3 .content .right {
    align-items: center
  }
}
section#s3 .content .right .detail {
  text-align: left;
  margin-bottom: 40px;
  position: relative;
  z-index: 5
}
@media only screen and (max-width:767px) {
  section#s3 .content .right .detail {
    margin-bottom: 20px
  }
}
section#s3 .content .right .detail::before {
  position: absolute;
  content: '';
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  background: #eaffd7a1;
  border-radius: 30%;
  filter: blur(60px)
}
section#s3 .content .right .detail img {
  position: relative;
  filter: drop-shadow(0 0 8px #eaffd7)
}
section#s3 .content swiper-slide img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover
}
section#s4 {
  position: relative;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  background: url(../images/s4bg.jpg) no-repeat center center;
  background-size: cover;
  padding: 5%
}
@media only screen and (max-width:767px) {
  section#s4 {
    padding: 12% 5%
  }
}
section#s4 .title {
  margin-bottom: 80px
}
@media only screen and (max-width:767px) {
  section#s4 .title {
    width: 300px;
    margin-bottom: 40px
  }
}
section#s5 {
  position: relative;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  background: url(../images/s5bg.jpg) no-repeat center center;
  background-size: cover;
  min-height: inherit;
  padding: 5%
}
@media only screen and (max-width:767px) {
  section#s5 {
    padding: 12% 5%
  }
}
section#s5 .title {
  margin-bottom: 40px
}
@media only screen and (max-width:767px) {
  section#s5 .title {
    margin-bottom: 20px;
    width: 230px
  }
}
section#s5 .content {
  gap: 40px
}
@media only screen and (max-width:767px) {
  section#s5 .content {
    flex-direction: column-reverse
  }
}