@charset "UTF-8";
/* http://meyerweb.com/eric/tools/css/reset/
   v2.0 | 20110126
   License: none (public domain)
*/
@-ms-viewport {
  width: device-width;
}
html {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -ms-overflow-style: scrollbar;
}

*,
*::before,
*::after {
  -webkit-box-sizing: inherit;
          box-sizing: inherit;
}

html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
main {
  display: block;
}

body {
  line-height: 1;
}

ol,
ul,
li,
a {
  list-style: none;
}

a {
  text-decoration: none;
  -webkit-tap-highlight-color: transparent;
}

* {
  -webkit-tap-highlight-color: transparent;
}

button {
  -webkit-appearance: none;
  /* Safari 和 Chrome，常用於iOS下移除內建樣式 */
  -moz-appearance: none;
  /* FireFox */
  appearance: none;
}

select {
  -webkit-appearance: none;
  -moz-appearance: none;
  /* for Chrome Firefox Edge */
}

select::-ms-expand {
  display: none;
  /* for IE11 */
}

textarea {
  -webkit-appearance: none;
}

input,
button {
  border-radius: 0;
}

a:focus,
input:focus,
select:focus,
textarea:focus,
button:focus,
summary:focus {
  outline: 0;
}

/*
.container {
  @include container;
}

.row {
  @include grid-row;
}

.col-4 {
  @include grid-column(4, 12);
}

.col-6 {
  @include grid-column(6, 12);
}

.col-12 {
  @include grid-column(12, 12);
}
*/
.element {
  width: 5%;
}

.element {
  width: 100px;
  height: 50px;
}

.header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1000;
  padding: 32px 40px 16px;
  -webkit-transition: all 0.3s cubic-bezier(0.22, 0.61, 0.35, 1);
  transition: all 0.3s cubic-bezier(0.22, 0.61, 0.35, 1);
}
@media (max-width: 768px) {
  .header {
    padding: 0;
    top: 0;
  }
}
.header::after {
  content: "";
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background: rgba(0, 0, 0, 0.6);
  opacity: 0;
  visibility: hidden;
  -webkit-transition: opacity 0.3s cubic-bezier(0.22, 0.61, 0.35, 1), visibility 0.3s cubic-bezier(0.22, 0.61, 0.35, 1);
  transition: opacity 0.3s cubic-bezier(0.22, 0.61, 0.35, 1), visibility 0.3s cubic-bezier(0.22, 0.61, 0.35, 1);
  z-index: -1;
  pointer-events: none;
}
@media (max-width: 768px) {
  .header::after {
    display: block;
  }
}
@media (max-width: 768px) {
  .header.is-menu-open::after {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }
}
@media (max-width: 768px) {
  .header.is-menu-open .header__nav {
    max-height: 500px;
    opacity: 1;
    visibility: visible;
  }
}
@media (max-width: 768px) {
  .header.is-menu-open .header__nav-item,
  .header.is-menu-open .header__cta {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
  }
}
@media (max-width: 768px) {
  .header.is-menu-open .header__nav-link {
    top: 0;
  }
}
.header.is-menu-open .header__hamburger-line {
  background: transparent;
}
.header.is-menu-open .header__hamburger-line::before {
  width: 19px;
  top: 0;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
.header.is-menu-open .header__hamburger-line::after {
  width: 19px;
  bottom: 0;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}
.header__container {
  max-width: 1200px;
  margin: 0 auto;
}
@media (max-width: 768px) {
  .header__container {
    padding: 20px;
  }
}
.header__wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 17.5px 44px 17.5px 32px;
  border-radius: 24px;
  background: #FFFFFF;
  -webkit-box-shadow: 0px 10px 20px rgba(34, 4, 214, 0.05);
          box-shadow: 0px 10px 20px rgba(34, 4, 214, 0.05);
  backdrop-filter: blur(20px);
  position: relative;
  z-index: 1;
  height: 80px;
}
@media (max-width: 768px) {
  .header__wrapper {
    background: transparent;
    height: 64px;
    border: none;
    padding: 0;
  }
}
@media (max-width: 768px) {
  .header__box {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    border-radius: 16px;
    padding: 10px 12px 10px 20px;
    z-index: 2;
    background: #FFFFFF;
  }
}
.header__logo {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  width: 143px;
  z-index: 2;
}
@media (max-width: 768px) {
  .header__logo {
    height: 36px;
  }
}
.header__logo-img {
  display: block;
  width: 100%;
  height: auto;
}
@media (max-width: 768px) {
  .header__logo-img {
    height: 36px;
  }
}
.header__nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: auto;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.5;
}
@media (max-width: 768px) {
  .header__nav {
    border-radius: 24px;
    position: fixed;
    top: 30px;
    left: 0;
    width: 100%;
    max-height: 0;
    overflow: hidden;
    visibility: hidden;
    -webkit-transition: 0.45s cubic-bezier(0.22, 0.61, 0.35, 1);
    transition: 0.45s cubic-bezier(0.22, 0.61, 0.35, 1);
    z-index: 1;
  }
}
.header__nav-list {
  border-radius: 24px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 0;
  padding: 0;
  list-style: none;
  gap: 30px;
}
@media (max-width: 768px) {
  .header__nav-list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 0;
    width: 100%;
    background: #fff;
    padding: 64px 32px 20px;
    height: auto;
  }
}
.header__nav-list .divider {
  background: #FFE4E4;
  width: 1px;
  height: 35px;
}
@media (max-width: 768px) {
  .header__nav-list .divider {
    display: none;
  }
}
@media (max-width: 768px) {
  .header__nav-item {
    width: 100%;
    -webkit-transform: translateY(10px);
            transform: translateY(10px);
    opacity: 0;
    overflow: hidden;
    -webkit-transition: opacity 0.45s cubic-bezier(0.22, 0.61, 0.35, 1), -webkit-transform 0.45s cubic-bezier(0.22, 0.61, 0.35, 1);
    transition: opacity 0.45s cubic-bezier(0.22, 0.61, 0.35, 1), -webkit-transform 0.45s cubic-bezier(0.22, 0.61, 0.35, 1);
    transition: transform 0.45s cubic-bezier(0.22, 0.61, 0.35, 1), opacity 0.45s cubic-bezier(0.22, 0.61, 0.35, 1);
    transition: transform 0.45s cubic-bezier(0.22, 0.61, 0.35, 1), opacity 0.45s cubic-bezier(0.22, 0.61, 0.35, 1), -webkit-transform 0.45s cubic-bezier(0.22, 0.61, 0.35, 1);
  }
  .header__nav-item:nth-child(1) {
    -webkit-transition-delay: 0.125s;
            transition-delay: 0.125s;
  }
  .header__nav-item:nth-child(2) {
    -webkit-transition-delay: 0.175s;
            transition-delay: 0.175s;
  }
  .header__nav-item:nth-child(3) {
    -webkit-transition-delay: 0.225s;
            transition-delay: 0.225s;
  }
  .header__nav-item:nth-child(4) {
    -webkit-transition-delay: 0.275s;
            transition-delay: 0.275s;
  }
  .header__nav-item:nth-child(5) {
    -webkit-transition-delay: 0.325s;
            transition-delay: 0.325s;
  }
  .header__nav-item {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    margin: auto;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-transition-delay: 0.125s;
            transition-delay: 0.125s;
  }
}
@media (max-width: 768px) and (max-width: 768px) {
  .header__nav-item {
    padding: 1rem 0;
  }
  .header__nav-item:not(:last-child) {
    border-bottom: 1px solid #ffe4e4;
  }
}
.header__nav-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 8px 0;
  border-radius: 100px;
  text-decoration: none;
  white-space: nowrap;
}
@media (max-width: 768px) {
  .header__nav-link {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    padding: 0;
    width: 100%;
    font-size: 24px;
    -webkit-transition: top 0.45s cubic-bezier(0.22, 0.61, 0.35, 1), -webkit-transform 0.45s cubic-bezier(0.22, 0.61, 0.35, 1);
    transition: top 0.45s cubic-bezier(0.22, 0.61, 0.35, 1), -webkit-transform 0.45s cubic-bezier(0.22, 0.61, 0.35, 1);
    transition: transform 0.45s cubic-bezier(0.22, 0.61, 0.35, 1), top 0.45s cubic-bezier(0.22, 0.61, 0.35, 1);
    transition: transform 0.45s cubic-bezier(0.22, 0.61, 0.35, 1), top 0.45s cubic-bezier(0.22, 0.61, 0.35, 1), -webkit-transform 0.45s cubic-bezier(0.22, 0.61, 0.35, 1);
    position: relative;
    top: 50px;
  }
  .header__nav-link:nth-child(1) {
    -webkit-transition-delay: 0.125s;
            transition-delay: 0.125s;
  }
  .header__nav-link:nth-child(2) {
    -webkit-transition-delay: 0.175s;
            transition-delay: 0.175s;
  }
  .header__nav-link:nth-child(3) {
    -webkit-transition-delay: 0.225s;
            transition-delay: 0.225s;
  }
  .header__nav-link:nth-child(4) {
    -webkit-transition-delay: 0.275s;
            transition-delay: 0.275s;
  }
  .header__nav-link:nth-child(5) {
    -webkit-transition-delay: 0.325s;
            transition-delay: 0.325s;
  }
}
.header__nav-link:hover, .header__nav-link.is-active {
  color: #CF0209;
}
@media (max-width: 768px) {
  .header__nav-link:hover, .header__nav-link.is-active {
    background: transparent;
    color: #CF0209;
  }
}
.header__nav-link.is-disabled {
  color: #E0E0E0;
  pointer-events: none;
  cursor: not-allowed;
}
.header__cta {
  position: relative;
}
.header__cta::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -3px;
  display: block;
  width: 100%;
  height: 16px;
  border-radius: 0 0 16px 16px;
  -webkit-transition: opacity 450ms cubic-bezier(0.22, 0.61, 0.35, 1);
  transition: opacity 450ms cubic-bezier(0.22, 0.61, 0.35, 1);
  z-index: -1;
}
@media (max-width: 768px) {
  .header__cta::after {
    bottom: -4px;
    height: 40px;
    border-radius: 0 0 20px 20px;
  }
}
.header__cta-btn {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 10px 24px;
  border: none;
  background: -webkit-gradient(linear, right top, left top, from(#CF0209), to(#FF354E));
  background: linear-gradient(270deg, #CF0209 0%, #FF354E 100%);
  border-radius: 26px;
  color: #FFFFFF;
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
  -webkit-transition: all 450ms cubic-bezier(0.22, 0.61, 0.35, 1);
  transition: all 450ms cubic-bezier(0.22, 0.61, 0.35, 1);
  z-index: 1;
}
@media (max-width: 768px) {
  .header__cta-btn {
    width: 204px;
    max-width: 204px;
    margin: 0 auto;
    margin-top: 20px;
    padding: 16px 40px 16px;
    border-radius: 40px;
    font-size: 24px;
    font-weight: bold;
    line-height: 160%;
    letter-spacing: 0.96px;
  }
}
.header__cta-btn > span {
  display: inline-block;
  overflow: hidden;
  position: relative;
}
.header__cta-btn > span span {
  display: inline-block;
  -webkit-animation: btn-shutter-text-in 0.5s cubic-bezier(0.15, 0.85, 0.45, 1) -0.5s forwards;
          animation: btn-shutter-text-in 0.5s cubic-bezier(0.15, 0.85, 0.45, 1) -0.5s forwards;
}
.header__cta-btn > span span:nth-child(2) {
  position: absolute;
  top: 100%;
  left: 0;
  -webkit-animation: btn-shutter-text2-in 0.5s cubic-bezier(0.15, 0.85, 0.45, 1) -0.5s forwards;
          animation: btn-shutter-text2-in 0.5s cubic-bezier(0.15, 0.85, 0.45, 1) -0.5s forwards;
}
.header__cta-btn:hover > span span {
  -webkit-animation: btn-shutter-text-out 0.5s cubic-bezier(0.15, 0.85, 0.45, 1) forwards;
          animation: btn-shutter-text-out 0.5s cubic-bezier(0.15, 0.85, 0.45, 1) forwards;
}
.header__cta-btn:hover > span span:nth-child(2) {
  -webkit-animation: btn-shutter-text2-out 0.5s cubic-bezier(0.15, 0.85, 0.45, 1) forwards;
          animation: btn-shutter-text2-out 0.5s cubic-bezier(0.15, 0.85, 0.45, 1) forwards;
}
.header__menu-toggle {
  position: relative;
  display: none;
  width: 48px;
  height: 48px;
  padding: 12px;
  border: none;
  border-radius: 100px;
  cursor: pointer;
  z-index: 1001;
  -webkit-transition: background 0.3s cubic-bezier(0.22, 0.61, 0.35, 1);
  transition: background 0.3s cubic-bezier(0.22, 0.61, 0.35, 1);
}
@media (max-width: 768px) {
  .header__menu-toggle {
    width: 40px;
    height: 40px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    background: #FFFFFF;
    border-radius: 8px;
  }
}
.header__menu-toggle:active {
  -webkit-transform: scale(0.95);
          transform: scale(0.95);
}
.header__hamburger {
  position: relative;
  width: 24px;
  height: 24px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.header__hamburger-line {
  position: absolute;
  width: 19px;
  height: 2px;
  background: #fa1d38;
  -webkit-transition: all 0.3s cubic-bezier(0.23, 1, 0.32, 1);
  transition: all 0.3s cubic-bezier(0.23, 1, 0.32, 1);
}
.header__hamburger-line::before, .header__hamburger-line::after {
  content: "";
  position: absolute;
  background: #fa1d38;
  height: 2px;
  -webkit-transition: all 0.3s cubic-bezier(0.23, 1, 0.32, 1);
  transition: all 0.3s cubic-bezier(0.23, 1, 0.32, 1);
}
.header__hamburger-line::before {
  width: 19px;
  top: -5px;
  left: 0;
}
.header__hamburger-line::after {
  width: 19px;
  bottom: -5px;
  left: 0;
}

@media (max-width: 768px) {
  body.menu-open {
    overflow: hidden;
  }
}

footer {
  background-color: #34538F;
  padding: 16px;
  color: #fff;
  font-size: 1.5rem;
  letter-spacing: 0.08em;
  line-height: 1.2;
}
@media (max-width: 768px) {
  footer {
    font-size: 18px;
  }
}
footer p {
  margin: 0;
  text-align: center;
}

html {
  font-size: 16px;
  scroll-behavior: smooth;
  scroll-padding-top: 80px;
}

body {
  overflow-x: hidden;
  font-family: "Inter", "Noto Sans TC", Helvetica, Arial, sans-serif;
}
body.scroll-fixed {
  overflow: hidden;
}

section {
  position: relative;
}

.wrap {
  position: relative;
  min-height: 100vh;
  overflow: hidden;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.wrap__inner {
  width: 89.745%;
  max-width: 1096px;
  margin: 0 auto;
}
@media (max-width: 768px) {
  .wrap__inner {
    padding: 0;
  }
}
.wrap {
  /*新增1210*/
}
.wrap .splide__arrows {
  display: none;
}
@media (max-width: 1023px) {
  .wrap .splide__arrows {
    display: block;
  }
}

main {
  background: #F0F0F0;
}
main .wrap__inner {
  position: relative;
  max-width: 1320px;
  width: 96%;
  margin: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media (max-width: 1179px) {
  main .wrap__inner {
    width: 100%;
    padding: 0 20px;
  }
}
@media (max-width: 991px) {
  main .wrap__inner {
    display: block;
  }
}
main .wrap__inner .wrap__head {
  max-width: 372px;
}
@media (max-width: 991px) {
  main .wrap__inner .wrap__head {
    max-width: none;
  }
}
main .wrap__inner .wrap__head {
  margin-bottom: 15px;
}
main .wrap__inner .wrap__head .tip {
  width: 148px;
}
@media (max-width: 991px) {
  main .wrap__inner .wrap__head .tip {
    width: 100px;
    height: 40px;
  }
}
main .wrap__inner .wrap__head .in-title {
  text-align: left;
  margin: 6px 0 12px 0;
}
@media (max-width: 991px) {
  main .wrap__inner .wrap__head .in-title {
    margin: 0;
  }
}
main .wrap__inner .wrap__head p {
  color: #2C2C2C;
  font-size: 1.25em;
  font-weight: 500;
  line-height: 140%;
  letter-spacing: 2.4px;
}
@media (max-width: 992px) {
  main .wrap__inner .wrap__head p {
    font-size: 1em;
    letter-spacing: 0.32px;
    padding-right: 11%;
  }
  main .wrap__inner .wrap__head p br {
    display: none !important;
  }
}
@media (max-width: 991px) {
  main .wrap__inner .wrap__head p {
    padding-right: 0;
  }
}

img {
  display: block;
  width: 100%;
}

.content {
  overflow: hidden;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
}
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
  .content {
    min-height: calc(100vh - 64px);
  }
}
.content--no-padding > *:first-child {
  padding-top: 0;
}

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

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

.text-cyan {
  color: #0CC0C3;
}

.text-purple {
  color: #8F16F9;
}

.center-block {
  display: block;
  margin-right: auto;
  margin-left: auto;
}

.hide {
  display: none;
}

.show {
  display: block;
}

.invisible {
  visibility: hidden;
}

.text-hide {
  font: 0/0 a;
  color: transparent;
  text-shadow: none;
  background-color: transparent;
  border: 0;
}

.hidden {
  display: none !important;
}

.affix {
  position: fixed;
}

@-ms-viewport {
  width: device-width;
}
@media (max-width: 1096px) {
  .hidden-middle {
    display: none !important;
  }
}
@media (max-width: 768px) {
  .hidden-min {
    display: none !important;
  }
}
@media (min-width: 769px) {
  .hidden-max {
    display: none !important;
  }
}
hr {
  border: 0;
  height: 0;
  border-bottom: none;
  margin: 24px 0;
}

svg {
  display: block;
  width: 100%;
}

a {
  color: inherit;
  text-decoration: none;
  cursor: pointer;
}
a:hover {
  text-decoration: none;
}

.medium {
  font-weight: 500;
}

.bold {
  font-weight: 700;
}

.left {
  text-align: left;
}

.right {
  text-align: right;
}

.center {
  text-align: center;
}

.justify {
  text-align: justify;
}

.underline {
  border-bottom: 1px solid currentColor;
  text-underline-offset: 0.15em;
}

.lineblock {
  display: inline-block;
}

.nowrap {
  white-space: nowrap;
}

.svgbox {
  position: relative;
  pointer-events: none;
}
.svgbox img[src$=".svg"],
.svgbox svg {
  width: 100%;
  height: 100%;
}

.hide {
  display: none !important;
}

.block {
  display: block !important;
}

.mb-0 {
  margin-bottom: 0px;
}
.mb-1 {
  margin-bottom: 4px;
}
.mb-2 {
  margin-bottom: 8px;
}
.mb-3 {
  margin-bottom: 12px;
}
.mb-4 {
  margin-bottom: 16px;
}
.mb-5 {
  margin-bottom: 20px;
}
.mb-6 {
  margin-bottom: 24px;
}
.mb-7 {
  margin-bottom: 28px;
}
.mb-8 {
  margin-bottom: 32px;
}
.mb-9 {
  margin-bottom: 36px;
}
.mb-10 {
  margin-bottom: 40px;
}
.mb-11 {
  margin-bottom: 44px;
}
.mb-12 {
  margin-bottom: 48px;
}

.mt-0 {
  margin-top: 0px;
}
.mt-1 {
  margin-top: 4px;
}
.mt-2 {
  margin-top: 8px;
}
.mt-3 {
  margin-top: 12px;
}
.mt-4 {
  margin-top: 16px;
}
.mt-5 {
  margin-top: 20px;
}
.mt-6 {
  margin-top: 24px;
}
.mt-7 {
  margin-top: 28px;
}
.mt-8 {
  margin-top: 32px;
}
.mt-9 {
  margin-top: 36px;
}
.mt-10 {
  margin-top: 40px;
}
.mt-11 {
  margin-top: 44px;
}
.mt-12 {
  margin-top: 48px;
}

.ml-0 {
  margin-left: 0px;
}
.ml-1 {
  margin-left: 4px;
}
.ml-2 {
  margin-left: 8px;
}
.ml-3 {
  margin-left: 12px;
}
.ml-4 {
  margin-left: 16px;
}
.ml-5 {
  margin-left: 20px;
}
.ml-6 {
  margin-left: 24px;
}
.ml-7 {
  margin-left: 28px;
}
.ml-8 {
  margin-left: 32px;
}
.ml-9 {
  margin-left: 36px;
}
.ml-10 {
  margin-left: 40px;
}
.ml-11 {
  margin-left: 44px;
}
.ml-12 {
  margin-left: 48px;
}

.mr-0 {
  margin-right: 0px;
}
.mr-1 {
  margin-right: 4px;
}
.mr-2 {
  margin-right: 8px;
}
.mr-3 {
  margin-right: 12px;
}
.mr-4 {
  margin-right: 16px;
}
.mr-5 {
  margin-right: 20px;
}
.mr-6 {
  margin-right: 24px;
}
.mr-7 {
  margin-right: 28px;
}
.mr-8 {
  margin-right: 32px;
}
.mr-9 {
  margin-right: 36px;
}
.mr-10 {
  margin-right: 40px;
}
.mr-11 {
  margin-right: 44px;
}
.mr-12 {
  margin-right: 48px;
}

.flex-grow-1 {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
}

.flex-grow-0 {
  -webkit-box-flex: 0;
      -ms-flex-positive: 0;
          flex-grow: 0;
}

.flex-center {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  clip-path: inset(50%);
  border: 0;
}

.bold {
  font-weight: 700;
}

.align-center {
  text-align: center;
}

ol.disc {
  padding-left: 2em;
}
ol.disc > li {
  list-style: disc;
}
ol.decimal {
  padding-left: 2em;
}
ol.decimal > li {
  list-style: decimal;
}
ol.square {
  margin-left: 1em;
}
ol.square > li {
  list-style: square;
}
ol.decimal1em {
  margin-left: 1em;
}
ol.decimal1em > li {
  list-style: decimal;
}
ol.decimal-arc {
  counter-reset: counter;
}
ol.decimal-arc > li:before {
  counter-increment: counter;
  content: "(" counter(counter) ")";
}

@-webkit-keyframes float {
  50% {
    -webkit-transform: translate(0, 8px);
            transform: translate(0, 8px);
  }
}

@keyframes float {
  50% {
    -webkit-transform: translate(0, 8px);
            transform: translate(0, 8px);
  }
}
@-webkit-keyframes float-b {
  50% {
    -webkit-transform: translate(0, -8px);
            transform: translate(0, -8px);
  }
}
@keyframes float-b {
  50% {
    -webkit-transform: translate(0, -8px);
            transform: translate(0, -8px);
  }
}
@-webkit-keyframes pulse {
  0%, 75%, 100% {
    -webkit-transform: translateY(0) scale3d(1, 1, 1);
            transform: translateY(0) scale3d(1, 1, 1);
  }
  12.5% {
    -webkit-transform: translateY(0) scale3d(1.05, 1.05, 1.05);
            transform: translateY(0) scale3d(1.05, 1.05, 1.05);
  }
  25% {
    -webkit-transform: translateY(0) scale3d(1, 1, 1);
            transform: translateY(0) scale3d(1, 1, 1);
  }
}
@keyframes pulse {
  0%, 75%, 100% {
    -webkit-transform: translateY(0) scale3d(1, 1, 1);
            transform: translateY(0) scale3d(1, 1, 1);
  }
  12.5% {
    -webkit-transform: translateY(0) scale3d(1.05, 1.05, 1.05);
            transform: translateY(0) scale3d(1.05, 1.05, 1.05);
  }
  25% {
    -webkit-transform: translateY(0) scale3d(1, 1, 1);
            transform: translateY(0) scale3d(1, 1, 1);
  }
}
@-webkit-keyframes pulse2 {
  0% {
    -webkit-transform: translateY(0) scale3d(0.8, 0.8, 0.8);
            transform: translateY(0) scale3d(0.8, 0.8, 0.8);
  }
  12.5% {
    -webkit-transform: translateY(0) scale3d(1.05, 1.05, 1.05);
            transform: translateY(0) scale3d(1.05, 1.05, 1.05);
  }
  25% {
    -webkit-transform: translateY(0) scale3d(1, 1, 1);
            transform: translateY(0) scale3d(1, 1, 1);
  }
  75%, 100% {
    -webkit-transform: translateY(0) scale3d(1, 1, 1);
            transform: translateY(0) scale3d(1, 1, 1);
  }
}
@keyframes pulse2 {
  0% {
    -webkit-transform: translateY(0) scale3d(0.8, 0.8, 0.8);
            transform: translateY(0) scale3d(0.8, 0.8, 0.8);
  }
  12.5% {
    -webkit-transform: translateY(0) scale3d(1.05, 1.05, 1.05);
            transform: translateY(0) scale3d(1.05, 1.05, 1.05);
  }
  25% {
    -webkit-transform: translateY(0) scale3d(1, 1, 1);
            transform: translateY(0) scale3d(1, 1, 1);
  }
  75%, 100% {
    -webkit-transform: translateY(0) scale3d(1, 1, 1);
            transform: translateY(0) scale3d(1, 1, 1);
  }
}
@-webkit-keyframes starTwinkle {
  0%, 100% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  50% {
    -webkit-transform: scale(0.75);
            transform: scale(0.75);
  }
}
@keyframes starTwinkle {
  0%, 100% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  50% {
    -webkit-transform: scale(0.75);
            transform: scale(0.75);
  }
}
@-webkit-keyframes fumeEmit {
  0% {
    -webkit-transform: translate(5px, 0) scale(1);
            transform: translate(5px, 0) scale(1);
    opacity: 1;
  }
  50% {
    -webkit-transform: translate(-5px, -1pxx) scale(0.5);
            transform: translate(-5px, -1pxx) scale(0.5);
    opacity: 1;
  }
  100% {
    -webkit-transform: translate(-11px, 2px) scale(0);
            transform: translate(-11px, 2px) scale(0);
    opacity: 0;
  }
}
@keyframes fumeEmit {
  0% {
    -webkit-transform: translate(5px, 0) scale(1);
            transform: translate(5px, 0) scale(1);
    opacity: 1;
  }
  50% {
    -webkit-transform: translate(-5px, -1pxx) scale(0.5);
            transform: translate(-5px, -1pxx) scale(0.5);
    opacity: 1;
  }
  100% {
    -webkit-transform: translate(-11px, 2px) scale(0);
            transform: translate(-11px, 2px) scale(0);
    opacity: 0;
  }
}
@keyframes pulse {
  from {
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
            transform: scale3d(0.3, 0.3, 0.3);
    opacity: 0;
  }
  50% {
    -webkit-transform: scale3d(1.2, 1.2, 1.2);
            transform: scale3d(1.2, 1.2, 1.2);
    opacity: 1;
  }
  to {
    -webkit-transform: scale3d(1, 1, 1);
            transform: scale3d(1, 1, 1);
    opacity: 1;
  }
}
@-webkit-keyframes card-shine {
  0% {
    left: -120%;
  }
  50%, 100% {
    left: 160%;
  }
}
@keyframes card-shine {
  0% {
    left: -120%;
  }
  50%, 100% {
    left: 160%;
  }
}
@-webkit-keyframes starBlink {
  from {
    -webkit-transform: scale(1);
            transform: scale(1);
    -webkit-transform-origin: center center;
            transform-origin: center center;
    -webkit-animation-timing-function: ease-out;
            animation-timing-function: ease-out;
  }
  2.31% {
    -webkit-transform: scale(0.81);
            transform: scale(0.81);
    -webkit-animation-timing-function: ease-in;
            animation-timing-function: ease-in;
  }
  3.92% {
    -webkit-transform: scale(0.88);
            transform: scale(0.88);
    -webkit-animation-timing-function: ease-out;
            animation-timing-function: ease-out;
  }
  7.62% {
    -webkit-transform: scale(0.57);
            transform: scale(0.57);
    -webkit-animation-timing-function: ease-in;
            animation-timing-function: ease-in;
  }
  10.38%, to {
    -webkit-transform: scale(1);
            transform: scale(1);
    -webkit-animation-timing-function: ease-out;
            animation-timing-function: ease-out;
  }
}
@keyframes starBlink {
  from {
    -webkit-transform: scale(1);
            transform: scale(1);
    -webkit-transform-origin: center center;
            transform-origin: center center;
    -webkit-animation-timing-function: ease-out;
            animation-timing-function: ease-out;
  }
  2.31% {
    -webkit-transform: scale(0.81);
            transform: scale(0.81);
    -webkit-animation-timing-function: ease-in;
            animation-timing-function: ease-in;
  }
  3.92% {
    -webkit-transform: scale(0.88);
            transform: scale(0.88);
    -webkit-animation-timing-function: ease-out;
            animation-timing-function: ease-out;
  }
  7.62% {
    -webkit-transform: scale(0.57);
            transform: scale(0.57);
    -webkit-animation-timing-function: ease-in;
            animation-timing-function: ease-in;
  }
  10.38%, to {
    -webkit-transform: scale(1);
            transform: scale(1);
    -webkit-animation-timing-function: ease-out;
            animation-timing-function: ease-out;
  }
}
@-webkit-keyframes btn-border-spin {
  to {
    -webkit-transform: translate(-50%, -50%) rotate(1turn);
            transform: translate(-50%, -50%) rotate(1turn);
  }
}
@keyframes btn-border-spin {
  to {
    -webkit-transform: translate(-50%, -50%) rotate(1turn);
            transform: translate(-50%, -50%) rotate(1turn);
  }
}
@property --spot-angle {
  syntax: "<angle>";
  initial-value: 0deg;
  inherits: false;
}
@-webkit-keyframes spot-border-spin {
  to {
    --spot-angle: 360deg;
  }
}
@keyframes spot-border-spin {
  to {
    --spot-angle: 360deg;
  }
}
@-webkit-keyframes btn-shutter-text-out {
  0% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
  }
  100% {
    -webkit-transform: translateY(-100%);
            transform: translateY(-100%);
    opacity: 0;
  }
}
@keyframes btn-shutter-text-out {
  0% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
  }
  100% {
    -webkit-transform: translateY(-100%);
            transform: translateY(-100%);
    opacity: 0;
  }
}
@-webkit-keyframes btn-shutter-text-in {
  0% {
    -webkit-transform: translateY(-100%);
            transform: translateY(-100%);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
  }
}
@keyframes btn-shutter-text-in {
  0% {
    -webkit-transform: translateY(-100%);
            transform: translateY(-100%);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
  }
}
@-webkit-keyframes btn-shutter-text2-out {
  0% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateY(-100%);
            transform: translateY(-100%);
    opacity: 1;
  }
}
@keyframes btn-shutter-text2-out {
  0% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateY(-100%);
            transform: translateY(-100%);
    opacity: 1;
  }
}
@-webkit-keyframes btn-shutter-text2-in {
  0% {
    -webkit-transform: translateY(-100%);
            transform: translateY(-100%);
    opacity: 1;
  }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 0;
  }
}
@keyframes btn-shutter-text2-in {
  0% {
    -webkit-transform: translateY(-100%);
            transform: translateY(-100%);
    opacity: 1;
  }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 0;
  }
}
@-webkit-keyframes coin-shine {
  0% {
    background-position: 100% 0;
  }
  45%, 100% {
    background-position: 0% 0;
  }
}
@keyframes coin-shine {
  0% {
    background-position: 100% 0;
  }
  45%, 100% {
    background-position: 0% 0;
  }
}
@-webkit-keyframes fade-up {
  from {
    -webkit-transform: translateY(40px);
            transform: translateY(40px);
    opacity: 0;
  }
  to {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
  }
}
@keyframes fade-up {
  from {
    -webkit-transform: translateY(40px);
            transform: translateY(40px);
    opacity: 0;
  }
  to {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
  }
}
@-webkit-keyframes fade-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes fade-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@-webkit-keyframes fade-in-scale {
  from {
    -webkit-transform: scale(0.94);
            transform: scale(0.94);
    opacity: 0;
  }
  to {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 1;
  }
}
@keyframes fade-in-scale {
  from {
    -webkit-transform: scale(0.94);
            transform: scale(0.94);
    opacity: 0;
  }
  to {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 1;
  }
}
@-webkit-keyframes airplane-fly {
  0% {
    -webkit-transform: translate(-30px, 30px);
            transform: translate(-30px, 30px);
    opacity: 0;
  }
  18%, 80% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
    opacity: 1;
  }
  100% {
    -webkit-transform: translate(24px, -24px);
            transform: translate(24px, -24px);
    opacity: 0;
  }
}
@keyframes airplane-fly {
  0% {
    -webkit-transform: translate(-30px, 30px);
            transform: translate(-30px, 30px);
    opacity: 0;
  }
  18%, 80% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
    opacity: 1;
  }
  100% {
    -webkit-transform: translate(24px, -24px);
            transform: translate(24px, -24px);
    opacity: 0;
  }
}
@-webkit-keyframes gradient-slide {
  from {
    background-position: 200% 0;
  }
  to {
    background-position: 0% 0;
  }
}
@keyframes gradient-slide {
  from {
    background-position: 200% 0;
  }
  to {
    background-position: 0% 0;
  }
}
@-webkit-keyframes btn-arrow-fly {
  0% {
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    opacity: 1;
  }
  37% {
    -webkit-transform: translate(calc(-50% + 55px), -50%);
            transform: translate(calc(-50% + 55px), -50%);
    opacity: 1;
  }
  38% {
    -webkit-transform: translate(calc(-50% + 55px), -50%);
            transform: translate(calc(-50% + 55px), -50%);
    opacity: 0;
  }
  39% {
    -webkit-transform: translate(calc(-50% - 55px), -50%);
            transform: translate(calc(-50% - 55px), -50%);
    opacity: 0;
  }
  40% {
    -webkit-transform: translate(calc(-50% - 55px), -50%);
            transform: translate(calc(-50% - 55px), -50%);
    opacity: 1;
  }
  100% {
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    opacity: 1;
  }
}
@keyframes btn-arrow-fly {
  0% {
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    opacity: 1;
  }
  37% {
    -webkit-transform: translate(calc(-50% + 55px), -50%);
            transform: translate(calc(-50% + 55px), -50%);
    opacity: 1;
  }
  38% {
    -webkit-transform: translate(calc(-50% + 55px), -50%);
            transform: translate(calc(-50% + 55px), -50%);
    opacity: 0;
  }
  39% {
    -webkit-transform: translate(calc(-50% - 55px), -50%);
            transform: translate(calc(-50% - 55px), -50%);
    opacity: 0;
  }
  40% {
    -webkit-transform: translate(calc(-50% - 55px), -50%);
            transform: translate(calc(-50% - 55px), -50%);
    opacity: 1;
  }
  100% {
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    opacity: 1;
  }
}
.deco-stars-1,
.deco-stars-2 {
  -webkit-animation: starTwinkle 3s ease-in-out infinite both;
          animation: starTwinkle 3s ease-in-out infinite both;
}

.lightbox {
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  position: fixed;
  overflow-x: hidden;
  background-color: rgba(51, 51, 51, 0.5);
  opacity: 1;
  pointer-events: none;
  -webkit-transition: opacity 0.25s cubic-bezier(0.77, 0.2, 0.05, 1);
  transition: opacity 0.25s cubic-bezier(0.77, 0.2, 0.05, 1);
  z-index: 9999;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-grid-column-align: center;
      justify-self: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  visibility: hidden;
}
.lightbox--active {
  opacity: 1;
  pointer-events: auto;
  visibility: visible;
}
.lightbox__content {
  background: #FFFFFF;
  width: 50%;
  max-width: 500px;
  margin: auto;
  padding: 40px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-line-pack: center;
      align-content: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  border-radius: 20px;
  position: relative;
}
.lightbox__btn-close {
  width: 40px;
  position: absolute;
  top: 36px;
  right: 36px;
  cursor: pointer;
  z-index: 1;
}
@media (max-width: 768px) {
  .lightbox__btn-close {
    width: 9.2307692308vw;
    height: 9.2307692308vw;
  }
}
@media (max-width: 768px) {
  .lightbox__content {
    width: 80%;
  }
}

.lightbox--message .lightbox__content {
  background: #FFFFFF;
  width: 100%;
  max-width: 647px;
  padding: 70px 68px 58px;
  border-radius: 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  gap: 24px;
}
.lightbox--message .lightbox__btn-close {
  width: 34px;
  height: 34px;
  top: 36px;
  right: 36px;
}
@media (max-width: 768px) {
  .lightbox--message {
    background: #FFFFFF;
  }
  .lightbox--message .lightbox__content {
    background: transparent;
    width: 100%;
    max-width: none;
    height: 100%;
    border-radius: 0;
    padding: 135px 45px 45px;
  }
  .lightbox--message .lightbox-message__text {
    max-width: 300px;
  }
}

.lightbox-message__title {
  width: 100%;
  margin: 0;
  color: #000000;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 1.4px;
  text-align: center;
  background: linear-gradient(100.36deg, #0CC0C3 7.02%, #2204D6 50%, #BA16F9 92.98%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

.lightbox-message__text {
  width: 100%;
  margin: 0;
  color: #000000;
  font-size: 20px;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 1.4px;
  word-break: break-word;
  white-space: pre-line;
}

.lightbox-message__close {
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  border: none;
  padding: 0;
  cursor: pointer;
  font-family: inherit;
  font-size: 20px;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 1.4px;
  background: linear-gradient(100.36deg, #0CC0C3 7.02%, #2204D6 50%, #BA16F9 92.98%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  text-decoration: underline;
  text-underline-position: from-font;
  text-decoration-color: transparent;
}

.lightbox--step .lightbox__content {
  background: #fff;
  width: 95%;
  max-width: 1376px;
  padding: 90px 16px 40px;
  border-radius: 20px;
  display: block;
}
.lightbox--step .step-label {
  text-align: center;
  line-height: 1.72;
  letter-spacing: 0.01em;
  margin-bottom: 12px;
}
.lightbox--step .step-label__no {
  color: #0CC0C3;
  font-weight: 700;
  font-size: 18px;
  line-height: 1.72;
  letter-spacing: 0.01em;
}
.lightbox--step .step-label__text {
  color: #000;
  font-weight: 500;
  font-size: 20px;
  line-height: 1.25;
  margin-top: 4px;
  white-space: nowrap;
}
@media (max-width: 1279px) {
  .lightbox--step .step-label__text {
    font-size: 18px;
    white-space: normal;
  }
}
.lightbox--step .step-phone {
  position: relative;
  margin-right: 20px;
  margin-left: 20px;
}
@media (max-width: 1279px) {
  .lightbox--step .step-phone {
    margin-right: 12px;
    margin-left: 12px;
  }
}
.lightbox--step .step-phone img {
  display: block;
  width: 100%;
}
.lightbox--step .step-flow {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  max-width: 1175px;
  margin: 0 auto;
}
.lightbox--step .step-flow__item {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 0px;
          flex: 1 1 0;
  min-width: 0;
  max-width: 285px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
.lightbox--step .step-flow__arrow {
  -ms-flex-item-align: center;
      -ms-grid-row-align: center;
      align-self: center;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  margin-top: 80px;
}
@media (max-width: 1279px) {
  .lightbox--step .step-flow__arrow {
    width: 24px;
  }
}
.lightbox--step .step-note {
  margin-top: 53px;
  color: #000000;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.72;
  letter-spacing: 0.01em;
  text-align: center;
  padding-left: 36px;
  padding-right: 36px;
}
@media (max-width: 768px) {
  .lightbox--step .step-note {
    font-size: 16px;
    margin-top: 36px;
    padding-left: 36px;
    padding-right: 36px;
  }
}
@media (max-width: 360px) {
  .lightbox--step .step-note {
    font-size: 14px;
    padding-left: 16px;
    padding-right: 16px;
  }
}
@media (max-width: 768px) {
  .lightbox--step {
    background: #FFFFFF;
  }
  .lightbox--step .lightbox__content {
    background: transparent;
    width: 100%;
    height: 100%;
    max-width: none;
    padding: 60px 0 30px;
    border-radius: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .lightbox--step .lightbox__btn-close {
    top: 5.1282051282vw;
    right: 5.1282051282vw;
  }
  .lightbox--step .step-swiper {
    width: 100%;
  }
  .lightbox--step .step-label {
    margin-bottom: 16px;
  }
  .lightbox--step .step-label__no {
    font-size: 18px;
  }
  .lightbox--step .step-label__text {
    font-size: 20px;
  }
  .lightbox--step .swiper-step .swiper-slide {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .lightbox--step .swiper-step .swiper-slide .step-phone {
    width: 51.2820512821vw;
    max-width: 245px;
  }
}
@media (max-width: 768px) and (max-width: 768px) {
  .lightbox--step .swiper-step .swiper-slide .step-phone {
    width: 51.2820512821vw;
  }
}
@media (max-width: 768px) and (max-width: 360px) {
  .lightbox--step .swiper-step .swiper-slide .step-phone {
    width: 43.5897435897vw;
  }
}
@media (max-width: 768px) {
  .lightbox--step .swiper-step-pagination {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 12px;
    margin-top: 40px;
  }
}
@media (max-width: 768px) and (max-width: 768px) {
  .lightbox--step .swiper-step-pagination {
    margin-top: 10.2564102564vw;
  }
}
@media (max-width: 768px) {
  .lightbox--step .swiper-step-pagination .swiper-pagination-bullet {
    -webkit-box-shadow: 0px 3px 5px rgba(34, 4, 214, 0.2);
            box-shadow: 0px 3px 5px rgba(34, 4, 214, 0.2);
    width: 12px;
    height: 12px;
    border-radius: 6px;
    background: #2204D6;
    opacity: 1;
    margin: 0;
    -webkit-transition: width 0.3s;
    transition: width 0.3s;
  }
  .lightbox--step .swiper-step-pagination .swiper-pagination-bullet-active {
    width: 50px;
    background: linear-gradient(100.36deg, #0CC0C3 7.02%, #2204D6 92.98%);
  }
}

.section-title {
  display: inline-block;
  font-size: 50px;
  font-weight: 900;
  line-height: 1.22;
  margin: 0 auto;
  margin-bottom: 50px;
  text-align: center;
  color: #000000;
  background: linear-gradient(100.36deg, #0CC0C3 0%, #2204D6 25%, #BA16F9 50%, #2204D6 75%, #0CC0C3 100%);
  background-size: 200% auto;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  -webkit-transform: translateY(100%);
          transform: translateY(100%);
  opacity: 0;
}
@media (max-width: 1179px) {
  .section-title {
    font-size: 45px;
    margin-bottom: 1em;
  }
}
@media (max-width: 768px) {
  .section-title {
    font-size: 39px;
  }
}
@media (max-width: 360px) {
  .section-title {
    font-size: 10vw;
  }
}
.section-title--white {
  color: #FFFFFF;
  background: none;
  -webkit-text-fill-color: currentColor;
}
.section-title.is-active {
  -webkit-animation: textSlideUp 0.5s ease-in-out both, gradient-slide 4s linear infinite;
          animation: textSlideUp 0.5s ease-in-out both, gradient-slide 4s linear infinite;
}
.section-title--white.is-active {
  -webkit-animation: textSlideUp 0.5s ease-in-out both;
          animation: textSlideUp 0.5s ease-in-out both;
}

@-webkit-keyframes textSlideUp {
  to {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
  }
}

@keyframes textSlideUp {
  to {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
  }
}
.btn-primary {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  cursor: pointer;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 32px;
  font-weight: 500;
  line-height: 1;
  padding: 0.875em 1em;
  gap: 0.3125em;
  position: relative;
  overflow: hidden;
  isolation: isolate;
  border-radius: 50px;
  border: none;
}
@media (max-width: 1279px) {
  .btn-primary {
    font-size: 28.73px;
  }
}
@media (max-width: 360px) {
  .btn-primary {
    font-size: 7.3666666667vw;
  }
}
.btn-primary::before {
  content: "";
  position: absolute;
  z-index: -2;
  top: 50%;
  left: 50%;
  width: 150%;
  aspect-ratio: 1/1;
  background: conic-gradient(from 10.36deg, #2204D6 0deg, #BA16F9 90deg, #2204D6 180deg, #0CC0C3 270deg, #2204D6 360deg);
  -webkit-transform: translate(-50%, -50%) rotate(0deg);
          transform: translate(-50%, -50%) rotate(0deg);
  will-change: transform;
  -webkit-animation: btn-border-spin 4s linear infinite;
          animation: btn-border-spin 4s linear infinite;
}
.btn-primary::after {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 2px;
  background: #FFFFFF;
  border-radius: 48px;
}
.btn-primary:hover {
  -webkit-box-shadow: 0px 10px 20px rgba(34, 4, 214, 0.25);
          box-shadow: 0px 10px 20px rgba(34, 4, 214, 0.25);
}
.btn-primary:hover .btn-primary__text {
  -webkit-animation: btn-shutter-text-out 0.5s cubic-bezier(0.15, 0.85, 0.45, 1) forwards;
          animation: btn-shutter-text-out 0.5s cubic-bezier(0.15, 0.85, 0.45, 1) forwards;
}
.btn-primary:hover .btn-primary__text:nth-child(2) {
  -webkit-animation: btn-shutter-text2-out 0.5s cubic-bezier(0.15, 0.85, 0.45, 1) forwards;
          animation: btn-shutter-text2-out 0.5s cubic-bezier(0.15, 0.85, 0.45, 1) forwards;
}
.btn-primary:hover .arrow::before {
  -webkit-animation: btn-arrow-fly 0.35s cubic-bezier(1, 0, 0, 1) forwards;
          animation: btn-arrow-fly 0.35s cubic-bezier(1, 0, 0, 1) forwards;
}
.btn-primary > span:not([class]) {
  background: linear-gradient(100.36deg, #0CC0C3 7.02%, #2204D6 50%, #BA16F9 92.98%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.btn-primary__shutter {
  display: inline-block;
  overflow: hidden;
  position: relative;
}
.btn-primary__text {
  display: inline-block;
  background: linear-gradient(100.36deg, #0CC0C3 7.02%, #2204D6 50%, #BA16F9 92.98%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  -webkit-animation: btn-shutter-text-in 0.5s cubic-bezier(0.15, 0.85, 0.45, 1) -0.5s forwards;
          animation: btn-shutter-text-in 0.5s cubic-bezier(0.15, 0.85, 0.45, 1) -0.5s forwards;
}
.btn-primary__text:nth-child(2) {
  position: absolute;
  top: 100%;
  left: 0;
  -webkit-animation: btn-shutter-text2-in 0.5s cubic-bezier(0.15, 0.85, 0.45, 1) -0.5s forwards;
          animation: btn-shutter-text2-in 0.5s cubic-bezier(0.15, 0.85, 0.45, 1) -0.5s forwards;
}
.btn-primary .arrow {
  width: 45px;
  height: 38px;
  overflow: hidden;
  position: relative;
}
@media (max-width: 1279px) {
  .btn-primary .arrow {
    width: 38px;
    height: 28px;
  }
}
.btn-primary .arrow::before {
  content: "";
  width: 100%;
  height: 100%;
  background: url(../images/icon_arrow.svg) no-repeat center;
  background-size: cover;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}

.fixedIcon__area {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 10px;
  position: fixed;
  right: 2.4vw;
  bottom: 40px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  -webkit-transition: all 450ms;
  transition: all 450ms;
  opacity: 0;
  pointer-events: none;
  z-index: 11;
}
.fixedIcon__area img {
  width: 33px;
}
.fixedIcon__area--active {
  opacity: 1;
  pointer-events: auto;
}
@media (max-width: 768px) {
  .fixedIcon__area {
    display: none;
  }
}
.fixedIcon__btn {
  width: 92px;
  height: 92px;
  background: linear-gradient(100.36deg, #0CC0C3 7.02%, #2204D6 92.98%);
  -webkit-box-shadow: inset 0px 1px 7px #FFFFFF;
          box-shadow: inset 0px 1px 7px #FFFFFF;
  border-radius: 50%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.fixedIcon__btn:hover {
  background: linear-gradient(100.36deg, #15cfd2 7.02%, #3818ef 92.98%);
}
.fixedIcon__btn > span {
  color: #FFFFFF;
  font-size: 16px;
  font-weight: 500;
  margin-top: 7px;
  display: inline-block;
  overflow: hidden;
  position: relative;
}
.fixedIcon__btn > span span {
  display: inline-block;
  -webkit-animation: btn-shutter-text-in 0.5s cubic-bezier(0.15, 0.85, 0.45, 1) -0.5s forwards;
          animation: btn-shutter-text-in 0.5s cubic-bezier(0.15, 0.85, 0.45, 1) -0.5s forwards;
}
.fixedIcon__btn > span span:nth-child(2) {
  position: absolute;
  top: 100%;
  left: 0;
  -webkit-animation: btn-shutter-text2-in 0.5s cubic-bezier(0.15, 0.85, 0.45, 1) -0.5s forwards;
          animation: btn-shutter-text2-in 0.5s cubic-bezier(0.15, 0.85, 0.45, 1) -0.5s forwards;
}
.fixedIcon__btn:hover {
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.fixedIcon__btn:hover > span span {
  -webkit-animation: btn-shutter-text-out 0.5s cubic-bezier(0.15, 0.85, 0.45, 1) forwards;
          animation: btn-shutter-text-out 0.5s cubic-bezier(0.15, 0.85, 0.45, 1) forwards;
}
.fixedIcon__btn:hover > span span:nth-child(2) {
  -webkit-animation: btn-shutter-text2-out 0.5s cubic-bezier(0.15, 0.85, 0.45, 1) forwards;
          animation: btn-shutter-text2-out 0.5s cubic-bezier(0.15, 0.85, 0.45, 1) forwards;
}

.c-card__wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 50px;
  max-width: 956px;
  margin: 0 auto;
}
@media (max-width: 991px) {
  .c-card__wrapper {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 30px;
  }
}

.c-card {
  background: #FFFFFF;
  border-radius: 20px;
  -webkit-box-shadow: 0px 10px 20px rgba(34, 4, 214, 0.05);
          box-shadow: 0px 10px 20px rgba(34, 4, 214, 0.05);
  margin-bottom: 24px;
  position: relative;
  width: 100%;
  z-index: 1;
  opacity: 0;
}
.c-card.is-active {
  -webkit-animation: fade-up 0.8s cubic-bezier(0.22, 0.61, 0.35, 1) both;
          animation: fade-up 0.8s cubic-bezier(0.22, 0.61, 0.35, 1) both;
}
@media (max-width: 768px) {
  .c-card {
    max-width: 480px;
  }
}
.c-card.gradient-cyan .c-card__title {
  background: -webkit-gradient(linear, left top, right top, from(#0CC0C3), to(#0C8CC3));
  background: linear-gradient(90deg, #0CC0C3 0%, #0C8CC3 100%);
}
.c-card.gradient-purple.is-active {
  -webkit-animation-delay: 0.2s;
          animation-delay: 0.2s;
}
.c-card.gradient-purple .c-card__title {
  background: -webkit-gradient(linear, left top, right top, from(#8F16F9), to(#4F16F9));
  background: linear-gradient(90deg, #8F16F9 0%, #4F16F9 100%);
}
.c-card.gradient-purple .mission-list {
  margin-bottom: 50px;
}
@media (max-width: 991px) {
  .c-card.gradient-purple .mission-list {
    margin-bottom: 34px;
  }
}
.c-card.gradient-purple .mission-list li::before {
  background: #8F16F9;
}
.c-card__title {
  color: #FFFFFF;
  font-size: 40px;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0.01em;
  border-radius: 20px 20px 0 0;
  padding: 16px;
  text-align: center;
}
@media (max-width: 1179px) {
  .c-card__title {
    font-size: 32px;
  }
}
@media (max-width: 991px) {
  .c-card__title {
    line-height: 1.2;
  }
}
@media (max-width: 768px) {
  .c-card__title {
    font-size: 40px;
    letter-spacing: 0;
    padding-left: 3.8461538462vw;
    padding-right: 3.8461538462vw;
  }
}
@media (max-width: 360px) {
  .c-card__title {
    font-size: 10.2564102564vw;
  }
}
.c-card__title span:first-child::after {
  content: "：";
}
@media (max-width: 768px) {
  .c-card__title span:first-child::after {
    content: "";
  }
}
@media (max-width: 768px) {
  .c-card__title span:first-child {
    display: block;
    font-size: 0.8em;
    line-height: 1.2185;
  }
}
.c-card__body {
  padding: 24px 37px;
}
@media (max-width: 768px) {
  .c-card__body {
    padding-left: 22.5px;
    padding-right: 22.5px;
    padding-top: 16px;
    padding-bottom: 72px;
  }
}
@media (max-width: 360px) {
  .c-card__body {
    padding-left: 5.7692307692vw;
    padding-right: 5.7692307692vw;
    padding-top: 4.1025641026vw;
    padding-bottom: 18.4615384615vw;
  }
}

.section-kv {
  position: relative;
  z-index: 2;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media (max-width: 768px) {
  .section-kv {
    z-index: 5;
  }
}
.section-kv__wave {
  position: absolute;
  top: -5.9114583333vw;
  left: calc(50% - 46.3541666667vw);
  width: 116.4036458333vw;
  height: 47.2145833333vw;
  pointer-events: none;
  z-index: -1;
}
.section-kv__wave svg {
  display: block;
  width: 100%;
  height: 100%;
}
@media (max-width: 768px) {
  .section-kv__wave--pc {
    display: none;
  }
}
.section-kv__wave--sp {
  display: none;
}
@media (max-width: 768px) {
  .section-kv__wave--sp {
    display: block;
    top: 75.641025641vw;
    left: calc(50% - 53.2669230769vw);
    width: 106.6666666667vw;
    height: 24.1025641026vw;
  }
}
.section-kv__container {
  position: relative;
  width: 100%;
  max-width: 1236px;
  margin: 0 auto;
  padding: 200px 18px 248px;
}
@media (max-width: 1439px) {
  .section-kv__container {
    padding-top: 160px;
  }
}
@media (max-width: 1439px) {
  .section-kv__container {
    padding-top: 160px;
  }
}
@media (max-width: 1279px) {
  .section-kv__container {
    padding-left: 4.1025641026vw;
    padding-right: 4.1025641026vw;
  }
}
@media (max-width: 768px) {
  .section-kv__container {
    padding-top: 28.7179487179vw;
    padding-bottom: 11.7948717949vw;
  }
}
.section-kv__content {
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media (max-width: 768px) {
  .section-kv__content {
    display: block;
    height: auto;
  }
}
.section-kv__date {
  font-size: 30px;
  font-weight: 500;
  line-height: 1;
  margin-bottom: 11px;
  background: linear-gradient(100.36deg, #0CC0C3 0%, #2204D6 25%, #BA16F9 50%, #2204D6 75%, #0CC0C3 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
@media (max-width: 768px) {
  .section-kv__date {
    font-size: 4.4871794872vw;
    margin-bottom: 2.3076923077vw;
  }
}
.section-kv__title h1 {
  font-size: 88px;
  font-weight: 800;
  line-height: 1.2;
  white-space: nowrap;
  background: linear-gradient(100.36deg, #0CC0C3 0%, #2204D6 25%, #BA16F9 50%, #2204D6 75%, #0CC0C3 100%);
  background-size: 200% auto;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  opacity: 0;
}
body.is-loaded .section-kv__title h1 {
  -webkit-animation: fade-up 0.8s cubic-bezier(0.22, 0.61, 0.35, 1) both, gradient-slide 4s linear infinite;
          animation: fade-up 0.8s cubic-bezier(0.22, 0.61, 0.35, 1) both, gradient-slide 4s linear infinite;
}
.section-kv__title h1 {
  margin-bottom: 0.35em;
}
@media (max-width: 1439px) {
  .section-kv__title h1 {
    font-size: 76px;
  }
}
@media (max-width: 1279px) {
  .section-kv__title h1 {
    font-size: 5.859375vw;
  }
}
@media (max-width: 768px) {
  .section-kv__title h1 {
    font-size: 9.8717948718vw;
    margin-bottom: 4.1025641026vw;
  }
}
.section-kv__title h2 {
  position: relative;
  color: #17181C;
  display: inline-block;
  font-weight: 500;
  font-size: 50px;
  line-height: 1.22;
  letter-spacing: 0.07em;
  opacity: 0;
}
body.is-loaded .section-kv__title h2 {
  -webkit-animation: fade-up 0.8s cubic-bezier(0.22, 0.61, 0.35, 1) 0.2s both;
          animation: fade-up 0.8s cubic-bezier(0.22, 0.61, 0.35, 1) 0.2s both;
}
@media (max-width: 1439px) {
  .section-kv__title h2 {
    font-size: 45px;
  }
}
@media (max-width: 1279px) {
  .section-kv__title h2 {
    font-size: 4.1666666667vw;
  }
}
@media (max-width: 768px) {
  .section-kv__title h2 {
    font-size: 6.8076923077vw;
  }
}
.section-kv__title h2 .kv-airplane {
  position: absolute;
  top: -24px;
  left: 96%;
  width: 2em;
  -webkit-animation: airplane-fly 5s ease-in-out infinite;
          animation: airplane-fly 5s ease-in-out infinite;
}
@media (max-width: 768px) {
  .section-kv__title h2 .kv-airplane {
    top: 0;
  }
}
.section-kv__title h2 .kv-marker {
  position: relative;
}
.section-kv__title h2 .kv-marker::after {
  content: "";
  position: absolute;
  top: 50%;
  left: -4px;
  right: -4px;
  bottom: -2px;
  background: -webkit-gradient(linear, left top, right top, from(rgba(255, 238, 108, 0.7)), to(rgba(255, 238, 108, 0.7)));
  background: linear-gradient(90deg, rgba(255, 238, 108, 0.7) 0%, rgba(255, 238, 108, 0.7) 100%);
  background-repeat: no-repeat;
  background-size: 100% 0.64em;
  background-position: 0 85%;
  z-index: -1;
}
@media (max-width: 768px) {
  .section-kv__slogan-box {
    width: 100%;
    max-width: none;
  }
}
.section-kv__buttons {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 30px;
  max-width: 343px;
  margin-top: 60px;
}
@media (max-width: 1279px) {
  .section-kv__buttons {
    max-width: 280px;
    margin-top: 40px;
  }
  .section-kv__buttons .btn-primary {
    font-size: 26px;
  }
}
@media (max-width: 768px) {
  .section-kv__buttons {
    position: fixed;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 10px;
    bottom: 10px;
    left: 13px;
    right: 13px;
    max-width: none;
    z-index: 9;
    opacity: 0;
    -webkit-transform: translateY(20px);
            transform: translateY(20px);
    pointer-events: none;
    -webkit-transition: opacity 450ms, -webkit-transform 450ms;
    transition: opacity 450ms, -webkit-transform 450ms;
    transition: opacity 450ms, transform 450ms;
    transition: opacity 450ms, transform 450ms, -webkit-transform 450ms;
  }
  .section-kv__buttons--active {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
    pointer-events: auto;
  }
  .section-kv__buttons .btn-primary {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    -webkit-box-shadow: 0px 10px 20px rgba(34, 4, 214, 0.25);
            box-shadow: 0px 10px 20px rgba(34, 4, 214, 0.25);
    font-size: 19px;
    gap: 6px;
    padding: 16px;
  }
  .section-kv__buttons .btn-primary .arrow {
    width: 26.67px;
    height: 22.57px;
  }
}
.section-kv__visual {
  position: absolute;
  top: 234px;
  right: -11.7vw;
  width: 895px;
}
@media (max-width: 1439px) {
  .section-kv__visual {
    top: 160px;
    right: -2.5vw;
    width: 50vw;
  }
}
@media (max-width: 1279px) {
  .section-kv__visual {
    right: -5vw;
    width: 58vw;
  }
}
@media (max-width: 768px) {
  .section-kv__visual {
    position: relative;
    top: auto;
    left: auto;
    width: 100%;
    max-width: 772px;
    margin-top: 3.5897435897vw;
    margin-bottom: 21.5384615385vw;
    right: -10vw;
  }
}
.section-kv__visual img {
  display: block;
  width: 100%;
}
.section-kv__visual .kv-ellipse {
  opacity: 0;
}
body.is-loaded .section-kv__visual .kv-ellipse {
  -webkit-animation: fade-in-scale 0.6s cubic-bezier(0.22, 0.61, 0.35, 1) 1s both;
          animation: fade-in-scale 0.6s cubic-bezier(0.22, 0.61, 0.35, 1) 1s both;
}
.section-kv__visual .kv-girl {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
}
body.is-loaded .section-kv__visual .kv-girl {
  -webkit-animation: fade-in 0.8s cubic-bezier(0.22, 0.61, 0.35, 1) 1.5s both;
          animation: fade-in 0.8s cubic-bezier(0.22, 0.61, 0.35, 1) 1.5s both;
}

.section-mission {
  position: relative;
  z-index: 2;
  margin-bottom: 12px;
  padding-left: 2.5641025641vw;
  padding-right: 2.5641025641vw;
}
.section-mission__wave {
  position: absolute;
  top: -4.6875vw;
  left: calc(50% - 61.4583333333vw);
  width: 115.2864583333vw;
  height: 58.5697916667vw;
  pointer-events: none;
  z-index: -1;
}
.section-mission__wave svg {
  display: block;
  width: 100%;
  height: 100%;
}
@media (max-width: 768px) {
  .section-mission__wave {
    display: none;
  }
}
.section-mission__title {
  line-height: 1.2;
  text-align: center;
  margin-bottom: 50px;
}
@media (max-width: 768px) {
  .section-mission__title {
    margin-bottom: 10.2564102564vw;
  }
}
.section-mission__title .section-title {
  margin-bottom: 8px;
}
@media (max-width: 768px) {
  .section-mission__title .section-title {
    margin-bottom: 5.641025641vw;
  }
}
.section-mission__title .section-subtitle {
  font-size: 40px;
  font-weight: 800;
  background: linear-gradient(100.36deg, #0CC0C3 0%, #2204D6 25%, #BA16F9 50%, #2204D6 75%, #0CC0C3 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  margin-bottom: 16px;
}
@media (max-width: 1023px) {
  .section-mission__title .section-subtitle {
    font-size: 3.515625vw;
  }
}
@media (max-width: 768px) {
  .section-mission__title .section-subtitle {
    font-size: 32px;
    width: 87%;
    margin: 0 auto;
    margin-bottom: 5.641025641vw;
  }
}
@media (max-width: 390px) {
  .section-mission__title .section-subtitle {
    font-size: 8.2051282051vw;
  }
}
@media (max-width: 768px) {
  .section-mission__title p {
    padding-left: 16px;
    padding-right: 16px;
  }
}
.section-mission .c-card.gradient-cyan {
  margin-bottom: 50px;
}
@media (max-width: 768px) {
  .section-mission .c-card.gradient-cyan {
    margin-bottom: 19.4871794872vw;
  }
}
@media (max-width: 768px) {
  .section-mission .c-card {
    margin: 0 auto;
    max-width: 600px;
    margin-bottom: 94px;
  }
}
.section-mission .mission-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 40px;
  font-weight: 500;
  gap: 48px;
  margin-bottom: 24px;
  letter-spacing: 0.06em;
  line-height: 1.15;
}
@media (max-width: 768px) {
  .section-mission .mission-content {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 18px;
    text-align: center;
    margin-bottom: 34px;
  }
}
@media (max-width: 360px) {
  .section-mission .mission-content {
    font-size: 10.2564102564vw;
    gap: 4.6153846154vw;
    margin-bottom: 8.7179487179vw;
  }
}
.section-mission .mission-content__img {
  position: relative;
  width: 250px;
  height: 250px;
}
@media (max-width: 768px) {
  .section-mission .mission-content__img {
    width: 165px;
    height: auto;
  }
}
.section-mission .mission-content__img .deco-stars-2 {
  position: absolute;
  top: 2px;
  right: -19.8px;
  width: 58.3px;
  height: 58.5px;
}
@media (max-width: 768px) {
  .section-mission .mission-content__img .deco-stars-2 {
    width: 58.3px;
    height: 58.5px;
    right: -45px;
  }
}
.section-mission .mission-content__title-sm {
  color: #0CC0C3;
  font-size: 32px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0;
  margin-top: -0.9em;
}
.section-mission .mission-content hr {
  border: 0;
  border-top: 1px solid #afafaf;
  width: 100%;
  height: 1px;
  margin-top: 20px;
  margin-bottom: 14px;
}
.section-mission .mission-content__text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
@media (max-width: 768px) {
  .section-mission .mission-content__text {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.section-mission .mission-content__text p {
  line-height: 1.2;
}
.section-mission .mission-content__text p span {
  font-weight: bold;
}
.section-mission .mission-content__text .mission-list {
  counter-reset: mission;
  list-style: none;
  margin: 0;
  padding: 0;
  text-align: left;
}
@media (max-width: 768px) {
  .section-mission .mission-content__text .mission-list {
    width: 100%;
  }
}
.section-mission .mission-content__text .mission-list li {
  counter-increment: mission;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 16px;
  font-size: 24px;
  font-weight: 500;
  line-height: 1.25;
  letter-spacing: 0;
}
@media (max-width: 768px) {
  .section-mission .mission-content__text .mission-list li {
    letter-spacing: -0.01em;
    gap: 16px;
  }
}
@media (max-width: 360px) {
  .section-mission .mission-content__text .mission-list li {
    font-size: 6.1538461538vw;
    gap: 4.1025641026vw;
  }
}
.section-mission .mission-content__text .mission-list li + li {
  margin-top: 16px;
}
@media (max-width: 360px) {
  .section-mission .mission-content__text .mission-list li + li {
    margin-top: 2.0512820513vw;
  }
}
.section-mission .mission-content__text .mission-list li::before {
  content: counter(mission);
  -ms-flex-negative: 0;
      flex-shrink: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-size: 20px;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: #0CC0C3;
  color: #FFFFFF;
  font-weight: 700;
}
@media (max-width: 360px) {
  .section-mission .mission-content__text .mission-list li::before {
    font-size: 5.1282051282vw;
    width: 8.2051282051vw;
    height: 8.2051282051vw;
  }
}
.section-mission .mission-content__text .mission-list__note {
  display: block;
  font-size: 16px;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.375;
  margin-top: 8px;
  margin-bottom: 24px;
  text-align: left;
}
@media (max-width: 768px) {
  .section-mission .mission-content__text .mission-list__note {
    line-height: 1.4;
    margin-bottom: 0;
  }
}
.section-mission .mission-content__text .btn-primary {
  width: 100%;
  max-width: 345px;
}
@media (max-width: 768px) {
  .section-mission .mission-content__text .btn-primary {
    position: absolute;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    bottom: -37px;
    max-width: 308px;
  }
}
@media (max-width: 360px) {
  .section-mission .mission-content__text .btn-primary {
    max-width: 275px;
  }
}
.section-mission .mission-content__img::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image: linear-gradient(115deg, rgba(255, 255, 255, 0) 42%, rgba(255, 255, 255, 0.85) 50%, rgba(255, 255, 255, 0) 58%);
  background-size: 300% 100%;
  background-position: 100% 0;
  background-repeat: no-repeat;
  -webkit-animation: coin-shine 3s ease-in-out infinite;
          animation: coin-shine 3s ease-in-out infinite;
  pointer-events: none;
  -webkit-mask: url(../images/mission/coin-10.png) no-repeat left top/100% auto;
  mask: url(../images/mission/coin-10.png) no-repeat left top/100% auto;
}
.section-mission .mission-content__img.transfer::after {
  -webkit-mask-image: url(../images/mission/coin-transfer.png);
  mask-image: url(../images/mission/coin-transfer.png);
}
.section-mission .mission-note {
  background: #eee;
  padding: 1em 1.25em;
  border-radius: 10px;
  font-size: 16px;
  font-family: "Noto Sans TC", Helvetica, Arial, sans-serif;
  line-height: 1.375;
  letter-spacing: 0;
  width: 100%;
  margin: 0 auto;
}
@media (max-width: 768px) {
  .section-mission .mission-note {
    text-align: left;
  }
}
@media (max-width: 360px) {
  .section-mission .mission-note {
    font-size: 4.1025641026vw;
  }
}
.section-mission .mission-note a {
  color: #E60000;
  text-decoration: underline;
  text-underline-offset: 0.15em;
}
.section-mission .mission-note a:hover {
  text-decoration: none;
}
@media (max-width: 768px) {
  .section-mission .gradient-purple {
    margin-bottom: 16.4102564103vw;
  }
}
.section-mission .gradient-purple .mission-content__img {
  margin-top: 24px;
}
@media (max-width: 768px) {
  .section-mission .gradient-purple .mission-content__img {
    margin-top: 0;
    width: 170px;
    height: auto;
  }
}
.section-mission .gradient-purple .mission-content__img .deco-stars-2 {
  top: -20px;
  left: 14px;
}
@media (max-width: 768px) {
  .section-mission .gradient-purple .mission-content__img .deco-stars-2 {
    top: 10px;
    left: -36px;
  }
}
.section-mission .gradient-purple .mission-content__text .mission-list li::before {
  background: #8F16F9;
}

.section-rewards {
  position: relative;
  z-index: 1;
  padding-left: 2.5641025641vw;
  padding-right: 2.5641025641vw;
}
.section-rewards__wave {
  position: absolute;
  top: -2.0833333333vw;
  left: calc(50% - 59.2984375vw);
  width: 146.9145833333vw;
  height: 21.3223958333vw;
  pointer-events: none;
  z-index: -1;
}
.section-rewards__wave svg {
  display: block;
  width: 100%;
  height: 100%;
}
@media (max-width: 768px) {
  .section-rewards__wave {
    display: none;
  }
}
@media (max-width: 991px) {
  .section-rewards__cards {
    display: none;
  }
}
.section-rewards__title {
  text-align: center;
}
@media (max-width: 768px) {
  .section-rewards .section-title {
    margin-bottom: 30px;
  }
}
.section-rewards .c-card__body {
  padding: 40px 50px 54px;
}
.section-rewards .rewards-row {
  border-bottom: 1px solid #afafaf;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 20px;
  margin-bottom: 45px;
  padding-left: 12px;
  padding-right: 34px;
}
.section-rewards .rewards-row .rewards-title {
  letter-spacing: 0.05em;
  margin-bottom: -18px;
}
.section-rewards .rewards-row .rewards-title > * {
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
}
.section-rewards .rewards-row .rewards-title > p,
.section-rewards .rewards-row .rewards-title > span {
  margin-bottom: 27px;
}
.section-rewards .rewards-row .rewards-title > p {
  margin-right: -8px;
}
.section-rewards .rewards-row .rewards-title > span {
  margin-left: 6px;
}
.section-rewards .rewards-row .rewards-title .rewards-ticket-spot {
  line-height: 1.2133333333;
}
.section-rewards .rewards-img {
  -webkit-box-flex: 0;
      -ms-flex: 0 1 333px;
          flex: 0 1 333px;
  min-width: 0;
  position: relative;
  width: 333px;
}
.section-rewards .rewards-img .rewards-photo {
  display: block;
  width: 100%;
}
.section-rewards .rewards-img .deco-stars-1 {
  position: absolute;
  top: 1px;
  right: -1.3px;
  width: 58.3px;
  height: 58.5px;
}
.section-rewards .rewards-info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 446px;
}
.section-rewards .rewards-title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  font-size: 40px;
  font-weight: bold;
  line-height: 1.2;
  letter-spacing: 0.04em;
}
.section-rewards .rewards-title .rewards-ticket-spot {
  position: relative;
  font-size: 150px;
  font-weight: bold;
  letter-spacing: 0.05em;
  background: conic-gradient(from calc(10.36deg + var(--spot-angle, 0deg)), #2204D6 0deg, #BA16F9 90deg, #2204D6 180deg, #0CC0C3 270deg, #2204D6 360deg);
  -webkit-animation: spot-border-spin 4s linear infinite;
          animation: spot-border-spin 4s linear infinite;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-stroke: 8px transparent;
  -webkit-text-fill-color: transparent;
  -webkit-filter: drop-shadow(0px 4px 0px #8F16F9);
          filter: drop-shadow(0px 4px 0px #8F16F9);
  line-height: 0.85;
}
.section-rewards .rewards-title .rewards-ticket-spot::after {
  content: attr(data-spot);
  position: absolute;
  top: 0;
  left: 0;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(30%, #FFFFFF), to(#FAEE94));
  background: linear-gradient(180deg, #FFFFFF 30%, #FAEE94 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-stroke: 0;
  text-shadow: none;
}
.section-rewards .rewards-subtitle {
  color: #8F16F9;
  font-size: 16px;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.375;
  margin-bottom: 20px;
}
.section-rewards .rewards-note {
  background: #EEEEEE;
  border-radius: 10px;
  color: #000000;
  font-size: 16px;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.375;
  padding: 16px 20px;
  text-align: justify;
  word-break: break-word;
}
.section-rewards .rewards-table {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 68px;
  row-gap: 36px;
}
@media (max-width: 991px) {
  .section-rewards .rewards-table {
    gap: 60px;
  }
}
.section-rewards .rewards-table-item {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.section-rewards .rewards-table-item + .rewards-table-item::before {
  content: "";
  position: absolute;
  top: 50%;
  left: -35px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 1px;
  height: 70px;
  background: #AFAFAF;
}
.section-rewards .rewards-table-item:nth-child(4)::before {
  display: none;
}
.section-rewards .rewards-table-item > p {
  font-size: 24px;
  font-weight: 500;
  margin-bottom: 12px;
}
.section-rewards .rewards-amount {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  font-size: 55px;
  font-weight: 900;
  line-height: 1.05;
  letter-spacing: -0.05em;
  margin-bottom: 20px;
}
@media (max-width: 991px) {
  .section-rewards .rewards-amount {
    font-size: 46px;
  }
}
.section-rewards .rewards-amount span:last-child {
  font-size: 0.4364em;
  letter-spacing: -0.15em;
  margin-top: 2px;
}
.section-rewards .rewards-spot {
  background: #F0F0F0;
  border-radius: 10px;
  color: #7B7B7B;
  font-size: 16px;
  padding: 5px 10px;
}
.section-rewards__swiper {
  display: none;
  margin-bottom: 50px;
}
@media (max-width: 768px) {
  .section-rewards__swiper {
    margin-bottom: 40px;
  }
}
@media (max-width: 991px) {
  .section-rewards__swiper {
    display: block;
  }
}
.section-rewards__swiper .swiper-rewards {
  padding-bottom: 15px;
}
.section-rewards__swiper .rewards-card {
  aspect-ratio: 370/341;
  background: #FFFFFF;
  border-radius: 20px;
  -webkit-box-shadow: 0px 10px 20px rgba(34, 4, 214, 0.05);
          box-shadow: 0px 10px 20px rgba(34, 4, 214, 0.05);
  height: 341px;
  overflow: hidden;
}
@media (max-width: 991px) {
  .section-rewards__swiper .rewards-card {
    margin: 0 auto;
    max-width: 420px;
    margin-bottom: 4.1025641026vw;
    height: auto;
  }
}
.section-rewards__swiper .rewards-card--ticket {
  position: relative;
}
.section-rewards__swiper .rewards-card--ticket .rewards-card__title {
  font-size: 32px;
  font-weight: bold;
  letter-spacing: 0.05em;
  line-height: 1.2;
  text-align: center;
  padding-top: 35px;
}
.section-rewards__swiper .rewards-card--ticket .rewards-card-subtitle {
  text-align: center;
  padding: 2px;
}
.section-rewards__swiper .rewards-card--ticket .rewards-card__photo {
  position: absolute;
  left: 10px;
  bottom: 0;
  width: 54%;
}
@media (max-width: 991px) {
  .section-rewards__swiper .rewards-card--ticket .rewards-card__photo {
    max-width: 51.2820512821vw;
  }
}
.section-rewards__swiper .rewards-card--ticket .rewards-card__photo .deco-stars-1 {
  position: absolute;
  top: -13px;
  right: 0;
  width: 58.3px;
  height: 58.5px;
}
.section-rewards__swiper .rewards-card--ticket .rewards-title {
  position: absolute;
  right: 29px;
  bottom: 24px;
  padding-bottom: 0;
}
@media (max-width: 768px) {
  .section-rewards__swiper .rewards-card--ticket .rewards-title {
    bottom: 11.7948717949vw;
  }
}
.section-rewards__swiper .rewards-card__note {
  font-size: 16px;
  line-height: 1.375;
  max-width: 420px;
  margin: 0 auto;
  padding: 0.75em 1em;
}
.section-rewards__swiper .rewards-card--cash {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.section-rewards__swiper .rewards-card--cash > p {
  font-size: 32px;
  font-weight: 500;
  margin-bottom: 20px;
}
@media (max-width: 390px) {
  .section-rewards__swiper .rewards-card--cash > p {
    font-size: 8.2051282051vw;
  }
}
.section-rewards__swiper .rewards-card--cash .rewards-amount {
  font-size: 81.55px;
}
@media (max-width: 768px) {
  .section-rewards__swiper .rewards-card--cash .rewards-amount {
    font-size: 81.55px;
  }
}
@media (max-width: 390px) {
  .section-rewards__swiper .rewards-card--cash .rewards-amount {
    font-size: 20.9102564103vw;
  }
}
.section-rewards__swiper .rewards-card--cash .rewards-amount span:first-child {
  padding-bottom: 0;
}
.section-rewards__swiper .rewards-card--cash .rewards-amount span:last-child {
  font-size: 0.4365em;
}
.section-rewards__swiper .rewards-card--cash .rewards-spot {
  font-size: 24px;
  padding: 7px 15px;
}
@media (max-width: 390px) {
  .section-rewards__swiper .rewards-card--cash .rewards-spot {
    font-size: 6.1538461538vw;
  }
}
.section-rewards__swiper .swiper-rewards-pagination {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 12px;
}
.section-rewards__swiper .swiper-rewards-pagination .swiper-pagination-bullet {
  -webkit-box-shadow: 0px 3px 5px rgba(34, 4, 214, 0.2);
          box-shadow: 0px 3px 5px rgba(34, 4, 214, 0.2);
  width: 12px;
  height: 12px;
  border-radius: 6px;
  background: #2204D6;
  opacity: 1;
  margin: 0;
  -webkit-transition: width 0.3s;
  transition: width 0.3s;
}
.section-rewards__swiper .swiper-rewards-pagination .swiper-pagination-bullet-active {
  width: 50px;
  background: linear-gradient(100.36deg, #0CC0C3 7.02%, #2204D6 92.98%);
}

.section-register {
  position: relative;
  overflow: hidden;
  background: linear-gradient(100.36deg, rgba(12, 192, 195, 0.6) 7.02%, rgba(34, 4, 214, 0.6) 50%, rgba(186, 22, 249, 0.6) 92.98%) #FFFFFF;
  padding: 146px 40px 92px;
  margin-top: -116px;
}
@media (max-width: 991px) {
  .section-register {
    margin-top: 0;
    padding-top: 40px;
    padding-bottom: 50px;
  }
}
@media (max-width: 360px) {
  .section-register {
    padding-left: 5.1282051282vw;
    padding-right: 5.1282051282vw;
  }
}
.section-register .section-title {
  margin-bottom: 0.9em;
}
.section-register__content {
  position: relative;
  z-index: 4;
}
.section-register__title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.section-register__form {
  position: relative;
  z-index: 4;
  max-width: 580px;
  margin: 0 auto;
}
.section-register__form .input-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin-bottom: 28px;
}
@media (max-width: 768px) {
  .section-register__form .input-row {
    margin-bottom: 38px;
  }
}
.section-register__form .input-row + .input-row {
  margin-bottom: 22px;
}
.section-register__form .input-row label {
  display: block;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.4;
  margin-bottom: 12px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  color: #FFFFFF;
}
@media (max-width: 768px) {
  .section-register__form .input-row label {
    font-size: 24px;
    margin-bottom: 8px;
  }
}
.section-register__form .input-row label::after {
  content: "*";
  color: #FAEE94;
}
.section-register__form .input-row .captcha-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.section-register__form .input-row input {
  width: 100%;
  border-radius: 40px;
  background-color: #FFFFFF;
  border: none;
  font-size: 24px;
  line-height: 1.25;
  padding: 16px 32px;
  color: #000000;
}
@media (max-width: 768px) {
  .section-register__form .input-row input {
    font-size: 20px;
    padding: 16px 24px;
  }
}
.section-register__form .input-row input::-webkit-input-placeholder {
  color: #999;
}
.section-register__form .input-row input::-moz-placeholder {
  color: #999;
}
.section-register__form .input-row input:-ms-input-placeholder {
  color: #999;
}
.section-register__form .input-row input::-ms-input-placeholder {
  color: #999;
}
.section-register__form .input-row input::placeholder {
  color: #999;
}
.section-register__form .input-row #captcha-img {
  width: 120px;
  height: 40px;
  margin: 0 12px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media (max-width: 598px) {
  .section-register__form .input-row #captcha-img {
    width: 88px;
    height: auto;
  }
}
.section-register__form .input-row #btn-refresh-captcha {
  background: none;
  border: none;
  width: 24px;
  height: 24px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  cursor: pointer;
  padding: 0;
}
.section-register__form .input-row #btn-refresh-captcha.on {
  -webkit-transform-origin: 50% 50%;
          transform-origin: 50% 50%;
  -webkit-transform: rotate(360deg);
          transform: rotate(360deg);
  -webkit-transition: 0.6s;
  transition: 0.6s;
}
.section-register__form .input-row #btn-refresh-captcha img {
  width: 100%;
}
.section-register__form .hr {
  background: rgba(255, 255, 255, 0.3137254902);
  width: 100%;
  height: 1px;
  margin-bottom: 28px;
}
@media (max-width: 768px) {
  .section-register__form .hr {
    margin-bottom: 22px;
  }
}
.section-register__form .checkbox-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 8px;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  margin-bottom: 30px;
}
@media (max-width: 768px) {
  .section-register__form .checkbox-row {
    gap: 4px;
    margin-bottom: 42px;
  }
}
.section-register__form .checkbox-row input {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 20px;
  height: 20px;
  margin-top: 3px;
  border: 1px solid #FFFFFF;
  border-radius: 4px;
  background-color: transparent;
  cursor: pointer;
  position: relative;
}
.section-register__form .checkbox-row input:checked {
  background-color: #FFEABF;
}
.section-register__form .checkbox-row input:checked::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 16px;
  height: 16px;
  background-image: url("../images/icon_check.svg");
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
.section-register__form .checkbox-row label {
  font-size: 16px;
  line-height: 1.5;
  color: #FFFFFF;
  text-align: justify;
}
@media (max-width: 768px) {
  .section-register__form .checkbox-row label {
    font-size: 18px;
    line-height: 1.3;
    letter-spacing: 0.01em;
  }
}
.section-register__form .checkbox-row label a {
  color: #FAEE94;
  text-decoration: underline;
  font-weight: bold;
}
.section-register__form #btn-submit {
  margin: 0 auto;
  width: 100%;
  max-width: 343px;
}
@media (max-width: 768px) {
  .section-register__form #btn-submit {
    min-width: 308px;
  }
}
@media (max-width: 390px) {
  .section-register__form #btn-submit {
    min-width: 260px;
  }
}
.section-register__marquee {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
  overflow: hidden;
  pointer-events: none;
}
@media (max-width: 768px) {
  .section-register__marquee {
    display: none;
  }
}
.section-register__marquee-track {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  -webkit-animation: register-marquee 30s linear infinite;
          animation: register-marquee 30s linear infinite;
}
.section-register__marquee-track span {
  font-size: clamp(80px, 10.42vw, 200px);
  font-weight: 800;
  line-height: 0.75;
  white-space: nowrap;
  color: #FFFFFF;
  opacity: 0.2;
  padding-right: 150px;
}
.section-register__glow {
  position: absolute;
  left: 50%;
  bottom: -170px;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 480px;
  height: 480px;
  background: radial-gradient(closest-side, #7c63e2 0%, rgba(124, 99, 226, 0) 100%);
  z-index: 2;
  pointer-events: none;
}
@media (max-width: 991px) {
  .section-register__glow {
    display: none;
  }
}
.section-register .deco-star {
  position: absolute;
  z-index: 5;
  pointer-events: none;
  -webkit-animation: starBlink 6.5s ease-in-out infinite both;
          animation: starBlink 6.5s ease-in-out infinite both;
}
@media (max-width: 768px) {
  .section-register .deco-star {
    display: none;
  }
}
.section-register .deco-star img {
  display: block;
  width: 100%;
  height: auto;
}
.section-register .deco-star--1 {
  left: -3.2%;
  top: 23.8%;
  width: clamp(120px, 16vw, 306px);
}
.section-register .deco-star--2 {
  left: 76.7%;
  top: 36.9%;
  width: clamp(80px, 10.6vw, 203px);
  -webkit-animation-delay: 1.5s;
          animation-delay: 1.5s;
}
.section-register .deco-star--3 {
  left: 13.9%;
  top: 61.6%;
  width: clamp(36px, 4.6vw, 88px);
  -webkit-animation-delay: 1s;
          animation-delay: 1s;
}
.section-register .deco-star--4 {
  left: 89.2%;
  top: 23.9%;
  width: clamp(36px, 4.6vw, 88px);
  -webkit-animation-delay: 0.5s;
          animation-delay: 0.5s;
}

@-webkit-keyframes register-marquee {
  to {
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}

@keyframes register-marquee {
  to {
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}
.section-faq {
  background: #FFFFFF;
  padding: 60px 10px 48px;
}
@media (max-width: 768px) {
  .section-faq {
    padding: 40px 10px;
  }
}
.section-faq__title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media (max-width: 768px) {
  .section-faq__title {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
@media (max-width: 768px) {
  .section-faq__title .section-title {
    margin-bottom: 16px;
  }
}
.section-faq .faq-more {
  position: absolute;
  right: 0;
  top: 1.2em;
  line-height: 1.5;
  font-size: 24px;
  text-decoration: underline;
  text-underline-offset: 4px;
  background: linear-gradient(100.36deg, #0CC0C3 7.02%, #2204D6 50%, #BA16F9 92.98%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
@media (max-width: 768px) {
  .section-faq .faq-more {
    position: relative;
    top: auto;
    right: auto;
    font-size: 24px;
    margin-bottom: 16px;
  }
}
.section-faq__content {
  max-width: 956px;
  margin: 0 auto;
  position: relative;
}

.faq-accordion {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 24px;
}
@media (max-width: 991px) {
  .faq-accordion {
    gap: 16px;
  }
}
.faq-accordion__item {
  width: 100%;
}
.faq-accordion__input {
  position: absolute;
  width: 1px;
  height: 1px;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  overflow: hidden;
  white-space: nowrap;
}
.faq-accordion__label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 16px;
  padding: 24px 32px;
  background: -webkit-gradient(linear, left top, right top, from(#0CC0C3), to(#0C8CC3));
  background: linear-gradient(90deg, #0CC0C3 0%, #0C8CC3 100%);
  border-radius: 20px;
  color: #FFFFFF;
  font-weight: 700;
  font-size: 24px;
  line-height: 1.25;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  -webkit-transition: border-radius 0.35s ease;
  transition: border-radius 0.35s ease;
}
@media (max-width: 991px) {
  .faq-accordion__label {
    gap: 16px;
    padding: 24px 32px;
    font-size: 24px;
  }
}
.faq-accordion__question-num {
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.faq-accordion__question-text {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.faq-accordion__icon {
  position: relative;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 26px;
  height: 26px;
}
@media (max-width: 768px) {
  .faq-accordion__icon {
    width: 26px;
    height: 26px;
  }
}
.faq-accordion__icon::before, .faq-accordion__icon::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 26px;
  height: 2px;
  background: #FFFFFF;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  -webkit-transition: -webkit-transform 0.35s ease;
  transition: -webkit-transform 0.35s ease;
  transition: transform 0.35s ease;
  transition: transform 0.35s ease, -webkit-transform 0.35s ease;
}
@media (max-width: 768px) {
  .faq-accordion__icon::before, .faq-accordion__icon::after {
    width: 26px;
    height: 2px;
  }
}
.faq-accordion__icon::after {
  -webkit-transform: translate(-50%, -50%) rotate(90deg);
          transform: translate(-50%, -50%) rotate(90deg);
}
.faq-accordion__answer {
  max-height: 0;
  overflow: hidden;
  background: #F5F5F5;
  border-radius: 0 0 20px 20px;
  -webkit-transition: max-height 0.35s ease;
  transition: max-height 0.35s ease;
}
.faq-accordion__answer-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 16px;
  padding: 24px 32px;
}
@media (max-width: 991px) {
  .faq-accordion__answer-inner {
    gap: 16px;
    padding: 24px 32px;
  }
}
.faq-accordion__answer-num {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  color: #0CC0C3;
  font-weight: 700;
  font-size: 24px;
  line-height: 1.25;
}
@media (max-width: 991px) {
  .faq-accordion__answer-num {
    font-size: 24px;
  }
}
.faq-accordion__answer-text {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.8px;
  color: #000000;
}
@media (max-width: 768px) {
  .faq-accordion__answer-text {
    font-size: 18px;
  }
}
.faq-accordion__input:checked + .faq-accordion__label {
  border-radius: 20px 20px 0 0;
}
.faq-accordion__input:checked + .faq-accordion__label .faq-accordion__icon::after {
  -webkit-transform: translate(-50%, -50%) rotate(180deg);
          transform: translate(-50%, -50%) rotate(180deg);
}
.faq-accordion__input:checked ~ .faq-accordion__answer {
  max-height: 30em;
}
.faq-accordion__input:focus-visible + .faq-accordion__label {
  outline: 2px solid #000000;
  outline-offset: 2px;
}

.section-notice {
  background: #FFFFFF;
}
.section-notice__box {
  position: relative;
  border-radius: 60px 60px 0 0;
  background: #34538F;
  color: #FFFFFF;
  padding: 80px 24px;
}
@media (max-width: 768px) {
  .section-notice__box {
    border-radius: 32px 32px 0 0;
    padding: 48px 20px;
  }
}
.section-notice__container {
  position: relative;
  max-width: 1280px;
  margin: 0 auto;
}
.section-notice__content {
  overflow: hidden;
  -webkit-transition: height 0.3s ease;
  transition: height 0.3s ease;
}
.section-notice .notice-sub__title {
  text-align: center;
  font-size: 32px;
  color: #FFFFFF;
  font-style: normal;
  font-weight: 700;
  line-height: 120%;
  letter-spacing: 2.56px;
  margin-bottom: 24px;
}
.section-notice__btn {
  cursor: pointer;
  margin: 16px auto 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border: none;
  background: none;
  color: #FAEE94;
  font-size: 18px;
  font-weight: 500;
  line-height: 150%; /* 27px */
  letter-spacing: 0.36px;
}
.section-notice__btn::before {
  content: "閱讀更多";
  display: block;
  margin-right: 8px;
}
.section-notice__btn::after {
  width: 16px;
  height: 10px;
  content: "";
  display: block;
  background-image: url(../images/notice/icon-arrw.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}
.section-notice__btn.is-expanded::before {
  content: "收起";
}
.section-notice__btn.is-expanded::after {
  -webkit-transform: rotate(0deg);
          transform: rotate(0deg);
}

.notice-group {
  margin-top: 24px;
}
.notice-group:last-child {
  margin-top: 48px;
}
.notice-group:first-child {
  margin-top: 0;
}
.notice-group__title {
  font-size: 32px;
  font-weight: 700;
  line-height: 125%;
  letter-spacing: 2.56px;
  text-transform: capitalize;
  color: #FFFFFF;
  text-align: center;
  margin-bottom: 20px;
}
@media (max-width: 1439px) {
  .notice-group__title {
    font-size: 24px;
    line-height: 140%;
    letter-spacing: 1.92px;
  }
}

.notice-list li {
  letter-spacing: 0.28px;
  padding-left: 4px;
  text-align: justify;
}
@media (max-width: 768px) {
  .notice-list li {
    font-size: 14px;
  }
}
.notice-list li:last-child {
  margin-bottom: 0;
}
.notice-list li:has(.url-link) {
  text-align: left;
}
.notice-list li a {
  color: #FAEE94;
  text-decoration: underline;
  word-break: break-word;
}
.notice-list__decimal {
  padding-left: 24px;
}
@media (max-width: 1023px) {
  .notice-list__decimal {
    padding-left: 19px;
  }
}
.notice-list__decimal > li {
  line-height: 160%;
  list-style: decimal;
  text-align: left;
  word-break: break-all;
  overflow-wrap: normal;
}
.notice-list__disc {
  padding-left: 24px;
}
@media (max-width: 1023px) {
  .notice-list__disc {
    padding-left: 19px;
  }
}
.notice-list__disc > li {
  line-height: 160%;
  text-transform: capitalize;
  list-style: disc;
}

.notice-table {
  width: 100%;
  table-layout: fixed;
  border: 1px solid #FFFFFF;
  border-collapse: collapse;
  margin-top: 1rem;
}
.notice-table th, .notice-table td {
  padding: 4px 8px;
  border: 1px solid #FFFFFF;
  word-wrap: break-word;
}
.notice-table thead th {
  text-align: center;
  font-weight: bold;
}
.notice-table thead tr:last-child th {
  width: 50%;
}
.notice-table__note {
  font-size: 14px;
  line-height: 1.75;
  letter-spacing: 0.28px;
}

.notice-reminder {
  padding: 1rem;
}