@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+TC:wght@100;400;700&family=Source+Sans+Pro:wght@200;400;600&display=swap");
@keyframes scaleInBounce {
  0% {
    transform: matrix(1.1, 0, 0, 1.1, 0, 0);
  }
  3.4% {
    transform: matrix(1.068, 0, 0, 1.059, 0, 0);
  }
  4.7% {
    transform: matrix(1.055, 0, 0, 1.04, 0, 0);
  }
  6.81% {
    transform: matrix(1.034, 0, 0, 1.011, 0, 0);
  }
  9.41% {
    transform: matrix(1.012, 0, 0, 0.983, 0, 0);
  }
  10.21% {
    transform: matrix(1.006, 0, 0, 0.977, 0, 0);
  }
  13.61% {
    transform: matrix(0.988, 0, 0, 0.967, 0, 0);
  }
  14.11% {
    transform: matrix(0.986, 0, 0, 0.967, 0, 0);
  }
  17.52% {
    transform: matrix(0.979, 0, 0, 0.976, 0, 0);
  }
  18.72% {
    transform: matrix(0.979, 0, 0, 0.981, 0, 0);
  }
  21.32% {
    transform: matrix(0.98, 0, 0, 0.993, 0, 0);
  }
  24.32% {
    transform: matrix(0.985, 0, 0, 1.004, 0, 0);
  }
  25.23% {
    transform: matrix(0.987, 0, 0, 1.006, 0, 0);
  }
  29.03% {
    transform: matrix(0.994, 0, 0, 1.01, 0, 0);
  }
  29.93% {
    transform: matrix(0.995, 0, 0, 1.01, 0, 0);
  }
  35.54% {
    transform: matrix(1.002, 0, 0, 1.004, 0, 0);
  }
  36.74% {
    transform: matrix(1.003, 0, 0, 1.002, 0, 0);
  }
  41.04% {
    transform: matrix(1.004, 0, 0, 0.998, 0, 0);
  }
  44.44% {
    transform: matrix(1.003, 0, 0, 0.997, 0, 0);
  }
  52.15% {
    transform: matrix(1.001, 0, 0, 0.999, 0, 0);
  }
  59.86% {
    transform: matrix(0.999, 0, 0, 1.001, 0, 0);
  }
  63.26% {
    transform: matrix(0.999, 0, 0, 1.001, 0, 0);
  }
  75.28% {
    transform: matrix(1, 0, 0, 1, 0, 0);
  }
  85.49% {
    transform: matrix(1, 0, 0, 1, 0, 0);
  }
  90.69% {
    transform: matrix(1, 0, 0, 1, 0, 0);
  }
  100% {
    transform: matrix(1, 0, 0, 1, 0, 0);
  }
}
@keyframes scaleOutBounce {
  0% {
    transform: matrix(1, 0, 0, 1, 0, 0);
  }
  3.4% {
    transform: matrix(1.032, 0, 0, 1.041, 0, 0);
  }
  4.7% {
    transform: matrix(1.045, 0, 0, 1.06, 0, 0);
  }
  6.81% {
    transform: matrix(1.066, 0, 0, 1.089, 0, 0);
  }
  9.41% {
    transform: matrix(1.088, 0, 0, 1.117, 0, 0);
  }
  10.21% {
    transform: matrix(1.094, 0, 0, 1.123, 0, 0);
  }
  13.61% {
    transform: matrix(1.112, 0, 0, 1.133, 0, 0);
  }
  14.11% {
    transform: matrix(1.114, 0, 0, 1.133, 0, 0);
  }
  17.52% {
    transform: matrix(1.121, 0, 0, 1.124, 0, 0);
  }
  18.72% {
    transform: matrix(1.121, 0, 0, 1.119, 0, 0);
  }
  21.32% {
    transform: matrix(1.12, 0, 0, 1.107, 0, 0);
  }
  24.32% {
    transform: matrix(1.115, 0, 0, 1.096, 0, 0);
  }
  25.23% {
    transform: matrix(1.113, 0, 0, 1.094, 0, 0);
  }
  29.03% {
    transform: matrix(1.106, 0, 0, 1.09, 0, 0);
  }
  29.93% {
    transform: matrix(1.105, 0, 0, 1.09, 0, 0);
  }
  35.54% {
    transform: matrix(1.098, 0, 0, 1.096, 0, 0);
  }
  36.74% {
    transform: matrix(1.097, 0, 0, 1.098, 0, 0);
  }
  41.04% {
    transform: matrix(1.096, 0, 0, 1.102, 0, 0);
  }
  44.44% {
    transform: matrix(1.097, 0, 0, 1.103, 0, 0);
  }
  52.15% {
    transform: matrix(1.099, 0, 0, 1.101, 0, 0);
  }
  59.86% {
    transform: matrix(1.101, 0, 0, 1.099, 0, 0);
  }
  63.26% {
    transform: matrix(1.101, 0, 0, 1.099, 0, 0);
  }
  75.28% {
    transform: matrix(1.1, 0, 0, 1.1, 0, 0);
  }
  85.49% {
    transform: matrix(1.1, 0, 0, 1.1, 0, 0);
  }
  90.69% {
    transform: matrix(1.1, 0, 0, 1.1, 0, 0);
  }
  100% {
    transform: matrix(1.1, 0, 0, 1.1, 0, 0);
  }
}
@keyframes floatingY {
  0% {
    transform: translate3d(0, 2.5%, 0);
  }
  50% {
    transform: translate3d(0, -2.5%, 0);
  }
  100% {
    transform: translate3d(0, 2.5%, 0);
  }
}
@keyframes floatingX {
  0% {
    transform: translate3d(2.5%, 0, 0);
  }
  50% {
    transform: translate3d(-2.5%, 0, 0);
  }
  100% {
    transform: translate3d(2.5%, 0, 0);
  }
}
@keyframes marquee01 {
  0% {
    transform: translate3d(0, 0, 0);
  }
  100% {
    transform: translate3d(-1800px, 0, 0);
  }
}
@keyframes marquee02 {
  0% {
    transform: translate3d(0, 0, 0);
  }
  100% {
    transform: translate3d(-1300px, 0, 0);
  }
}
@keyframes swing {
  0% {
    transform: rotate3d(0, 0, 1, 0deg);
  }
  10% {
    transform: rotate3d(0, 0, 1, 15deg);
  }
  20% {
    transform: rotate3d(0, 0, 1, -15deg);
  }
  30% {
    transform: rotate3d(0, 0, 1, 5deg);
  }
  40% {
    transform: rotate3d(0, 0, 1, -5deg);
  }
  50% {
    transform: rotate3d(0, 0, 1, 0deg);
  }
  100% {
    transform: rotate3d(0, 0, 1, 0deg);
  }
}
@keyframes shake {
  0% {
    transform: translate3d(0, 0, 0);
  }
  5% {
    transform: translate3d(-6px, 0, 0);
  }
  10% {
    transform: translate3d(6px, 0, 0);
  }
  15% {
    transform: translate3d(-4px, 0, 0);
  }
  20% {
    transform: translate3d(4px, 0, 0);
  }
  25% {
    transform: translate3d(-2px, 0, 0);
  }
  30% {
    transform: translate3d(2px, 0, 0);
  }
  35% {
    transform: translate3d(0, 0, 0);
  }
  100% {
    transform: translate3d(0, 0, 0);
  }
}
@keyframes backgroundVol02 {
  0% {
    background-position: 0 0;
  }
  50% {
    background-position: 240px 10%;
  }
  100% {
    background-position: 480px 0;
  }
}
@keyframes floatS {
  0% {
    transform: translateY(0);
  }
  100% {
    transform: translateY(10px);
  }
}
@keyframes fadeUp {
  0% {
    opacity: 0;
    transform: translateY(40%);
  }
  100% {
    opacity: 1;
    transform: translateY(0%);
  }
}
@keyframes float {
  0% {
    transform: translateY(-10px);
  }
  100% {
    transform: translateY(10px);
  }
}
@keyframes floatShadow {
  0% {
    opacity: 0.8;
    transform: scale(1.2);
  }
  100% {
    opacity: 1;
    transform: scale(0.8);
  }
}
/*--------------------------------------------*/
html {
  font-size: 18px;
}

body {
  font-family: "Source Sans Pro", "Noto Sans TC", "Microsoft Jhenghei", "微軟正黑", sans-serif;
  overflow-x: hidden;
  color: #343434;
}

a {
  color: inherit;
}

.primary_cta {
  position: fixed;
  right: 4vw;
  bottom: 0;
  opacity: 0;
  z-index: 10;
  transition-property: opacity, bottom;
  transition-duration: 400ms;
}
.primary_cta.is_active {
  bottom: 4vw;
  opacity: 1;
}

.cta .bttn {
  display: block;
  padding: 0.75em 1.5em;
  background: linear-gradient(120deg, #862b6f, #690b51);
  color: #fff;
  font-size: 1.25rem;
  line-height: 1;
  border-radius: 2em;
  box-shadow: 0 3px 10px rgba(238, 64, 0, 0.39);
  text-shadow: 0 2px 0 #000;
  animation: scaleInBounce 1000ms both;
}
.cta .bttn:hover {
  text-decoration: none;
  animation: scaleOutBounce 1000ms both;
}

.ly_sty {
  padding-top: 4rem;
  padding-bottom: 4rem;
}

.ly_sty_m {
  margin-top: 4rem;
  margin-bottom: 4rem;
}

.sc_title {
  text-align: center;
  margin-bottom: 3rem;
}
.sc_title .tit {
  display: inline-block;
  border: 1px solid #fff;
  background-color: rgba(239, 69, 0, 0.66);
  font-size: 2em;
  font-weight: 700;
  color: #fff;
  text-shadow: 0 2px 0 #343434;
}
.sc_title .tit .zh {
  padding: 0.5rem 1em;
}
.sc_title .theme_lines {
  margin: 10px auto 30px;
  max-width: 360px;
  width: 80%;
  font-size: 10px;
}

.a_lightbox img {
  transition: transform 300ms;
}
.a_lightbox:hover img {
  transform: scale(1.04);
}

.header {
  padding: 0.75em 2em;
  background-color: #fff;
}
.header .container-fluid > .row {
  justify-content: center;
}
.header .logo {
  width: 200px;
  transition: width 300ms;
}
.header.is_active {
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.15);
}
.header.is_active .logo {
  width: 152px;
}

.all_bg {
  position: fixed;
  width: 100%;
  height: 100%;
  background: url("img/bg.svg") center/cover;
}
.all_bg .bg_front {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}

.kv_wrap .d_kv {
  position: relative;
  padding-top: 56.25%;
}
.kv_wrap .d_kv .bg img {
  width: 100%;
}
.kv_wrap .tit {
  position: absolute;
  left: 5%;
  bottom: 12%;
  width: 90%;
}
.kv_wrap .tit div {
  color: #fff;
  text-align: left;
  text-shadow: 0 2px 0 rgba(0, 0, 0, 0.5);
  line-height: 1.1;
}
.kv_wrap .tit .supt {
  font-size: 3vw;
  font-weight: 400;
  line-height: 1.2;
}
.kv_wrap .tit .prit {
  margin-top: 2rem;
  font-size: 5vw;
  font-weight: 700;
  line-height: 1;
  text-align: center;
}
.kv_wrap .tit .prit span,
.kv_wrap .tit .prit img {
  display: inline-block;
  vertical-align: bottom;
}
.kv_wrap .tit .prit img {
  padding-right: 0.25em;
  width: 5.6em;
}
.kv_wrap .tit .prit .en {
  position: relative;
  top: 0.06125em;
  font-size: 1.25em;
}
.kv_wrap .btn {
  position: absolute;
  right: 10%;
  bottom: 10%;
  width: 36%;
  max-width: 420px;
}
.kv_wrap .btn a {
  display: block;
  border: 4px solid #fff;
  border-radius: 60px;
  overflow: hidden;
  box-shadow: 0 0 15px 0 rgba(0, 0, 0, 0.29);
}

.sc_intro {
  padding-top: 6vh;
  padding-bottom: 14vh;
}
.sc_intro .sc_title_wrap {
  padding-bottom: 6vh;
}
.sc_intro .sc_title {
  margin: 0 auto;
}
.sc_intro .sc_title .tit {
  font-size: 3.2em;
}
.sc_intro .sc_title .parag {
  margin-top: 1em;
  color: #fff;
  font-size: 1.25rem;
  text-shadow: 0 2px 0 rgba(0, 0, 0, 0.5);
}
.sc_intro .intro_content {
  margin-top: 2em;
}
.sc_intro .intro_content .pic {
  margin-bottom: 30px;
  padding: 3px;
  background-color: #fff;
  border-radius: 4px;
  box-shadow: 0 8px 14px 0 rgba(0, 0, 0, 0.19);
}
.sc_intro .cta {
  text-align: center;
}
.sc_intro .cta .word {
  font-size: 1.5em;
  margin-bottom: 0.5rem;
  color: #fff;
  text-shadow: 0 2px 0 rgba(0, 0, 0, 0.5);
}
.sc_intro .cta .bttn {
  display: block;
  margin: 0 auto;
  max-width: 10em;
  font-size: 2em;
}

.main_content {
  position: relative;
  z-index: 2;
  background: linear-gradient(180deg, rgba(255, 153, 0, 0), rgba(255, 153, 0, 0.6) 40%, rgba(255, 153, 0, 0.8) 80%);
}

section[class*=sc_] .prit,
section[class*=sc_] .subt {
  font-size: 2rem;
  line-height: 1.1;
}
section[class*=sc_] .prit {
  font-size: 3rem;
  font-weight: 700;
  color: #fff;
  text-shadow: 0 3px 0 #EE4000;
  margin-bottom: 0.5rem;
}
section[class*=sc_] .parag {
  margin-top: 1rem;
  font-size: 1.125rem;
  line-height: 1.3;
}
section[class*=sc_].tit_in_red .prit {
  color: #EE4000;
  text-shadow: none;
}

.part_border_wrap {
  border-radius: 12px;
  padding: 3px;
  background: linear-gradient(-45deg, #EE4000, #FF9900 50%);
}

.pg2_part {
  position: relative;
  padding: 3rem;
  height: 100%;
  border-radius: 8px;
  background-color: #fff;
  padding-bottom: 66.67%;
}
.pg2_part .tit {
  font-size: 3rem;
  font-weight: 700;
  line-height: 1;
  color: #EE4000;
}
.pg2_part .subt {
  margin-top: 1rem;
  font-size: 1.25rem;
  line-height: 1.2;
}
.pg2_part .img_wrap {
  position: absolute;
  margin-top: 1.5rem;
  bottom: 3rem;
  left: 3rem;
  width: calc(100% - 6rem);
}
.pg2_part .img_wrap img {
  border-radius: 6px;
}

.sc_more_server {
  padding: 5rem 0;
  background-color: #fff;
}
.sc_more_server .item {
  font-size: 0;
  padding: 1.5rem;
}
.sc_more_server .item .img,
.sc_more_server .item .txt {
  display: inline-block;
  vertical-align: middle;
}
.sc_more_server .item .img {
  width: 120px;
}
.sc_more_server .item .txt {
  width: calc(100% - 120px);
  padding-left: 20px;
  line-height: 1.1;
}
.sc_more_server .item .txt .l1 {
  font-size: 1.75rem;
  color: #EE4000;
  font-weight: 700;
}
.sc_more_server .item .txt .l2 {
  margin-top: 0.5em;
  font-size: 1.125rem;
}

.bnf_content {
  padding-top: 3rem;
}
.bnf_content .item {
  text-align: center;
}
.bnf_content .img {
  position: relative;
  margin: 0 auto;
  max-width: 200px;
}
.bnf_content .img img {
  position: relative;
  z-index: 2;
}
.bnf_content .text {
  margin-top: 1rem;
  font-size: 1.5em;
}

.sc_chart .cht_img {
  margin-top: 2rem;
  border-radius: 10px;
  overflow: hidden;
  background-color: #fff;
}

.g_footer {
  padding: 3rem 4vw 4vw;
}
.g_footer .img {
  margin: 0 auto;
  width: 280px;
}

@media (max-width: 767px) {
  .ly_sty {
    padding-top: 2.5em;
    padding-bottom: 2.5em;
  }

  .kv_wrap .d_kv {
    padding-top: 100vh;
  }
  .kv_wrap .tit {
    bottom: 4%;
  }
  .kv_wrap .tit .prit {
    margin-top: 0;
    font-size: 2.5em;
    text-align: left;
  }
  .kv_wrap .tit .prit img {
    display: block;
  }
  .kv_wrap .tit .prit img {
    margin-top: 10px;
    margin-bottom: 10px;
    width: 100%;
  }

  .main_content {
    background: linear-gradient(180deg, rgba(255, 153, 0, 0), rgba(255, 153, 0, 0.6) 20%, rgba(255, 153, 0, 0.8) 60%);
  }

  section[class*=sc_] .subt {
    font-size: 1.6rem;
  }
  section[class*=sc_] .parag {
    margin-bottom: 1rem;
  }

  .sc_intro {
    padding-left: 5vw;
    padding-right: 5vw;
    padding-bottom: 10vh;
  }
  .sc_intro .sc_title .tit {
    font-size: 2em;
    text-align: left;
  }
  .sc_intro .sc_title .tit .zh {
    padding: 0.5em;
    line-height: 1.33;
  }
  .sc_intro .cta .word {
    line-height: 1.33;
  }

  .pg2_part {
    padding: 2rem;
    padding-bottom: 66.67%;
  }
  .pg2_part .tit {
    font-size: 2.4rem;
  }
  .pg2_part .img_wrap {
    width: calc(100% - 4em);
    left: 2em;
    bottom: 2em;
  }

  .part_border_wrap {
    padding: 0.33rem;
    margin: 10px 0;
  }

  .sc_more_server .sc_title .tit .zh {
    padding: 0.5em;
    line-height: 1.2;
  }
  .sc_more_server .item {
    padding-left: 0.5rem;
    padding-right: 0.5rem;
  }
  .sc_more_server .item .txt .l1 {
    font-size: 1.33rem;
  }

  .bnf_content .item {
    margin-bottom: 2rem;
  }

  .g_footer {
    padding-bottom: 15vh;
  }
  .g_footer .img {
    width: 240px;
  }
}