@import "https://fonts.googleapis.com/css2?family=Ubuntu:ital,wght@0,400;0,500;0,700;1,400;1,500;1,700&display=swap";
@import "https://fonts.googleapis.com/css2?family=Noto+Sans+TC:wght@400;500;700;900&family=Open+Sans:ital,wght@0,400;0,600;0,700;0,800;1,400;1,600;1,700;1,800&display=swap";
.nav-logo {
  text-indent: 101%;
  overflow: hidden;
  white-space: nowrap;
}
* {
  box-sizing: border-box;
}
*::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}
*::-webkit-scrollbar-track {
  background-color: #eee;
}
*::-webkit-scrollbar-thumb {
  background: #00cda4;
  border-radius: 10px;
}
*::-webkit-scrollbar-thumb:hover {
  background: #44a491;
}
body,
div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
pre,
form,
fieldset,
input,
textarea,
p,
blockquote,
img {
  margin: 0;
  padding: 0;
}
fieldset,
img,
abbr,
acronym {
  border: 0;
}
q:before,
q:after {
  content: "";
}
input,
button,
select,
textarea {
  border: none;
  outline: none;
  font-family:
    Noto Sans TC,
    Microsoft JhengHei,
    sans-serif;
}
button {
  cursor: pointer;
  padding: 0;
  font-size: 18px;
  background-color: transparent;
}
button:focus {
  outline: none;
}
button::-moz-focus-inner {
  border: 0;
}
@media only screen and (min-width: 992px) {
  button {
    font-size: 20px;
  }
}
a {
  cursor: pointer;
  text-decoration: none;
  color: #333;
  font-size: 16px;
  transition: all 0.3s;
  -moz-transition: all 0.3s;
  -o-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -webkit-transition: all 0.3s;
}
@media only screen and (min-width: 992px) {
  a {
    font-size: 18px;
  }
}
a:focus {
  outline: none;
}
a::-moz-focus-inner {
  border: 0;
}
ul,
li {
  text-decoration: none;
  list-style: none;
}
body,
html {
  width: 100%;
  height: 100%;
}
body {
  font-size: 16px;
  color: #333;
  letter-spacing: 0.06em;
  line-height: 1.6em;
  font-family:
    Noto Sans TC,
    Microsoft JhengHei,
    sans-serif;
  -webkit-text-size-adjust: 100%;
  background-color: linear-gradient(90deg, #0094d2 0.1%, #00cfa6 99.91%);
}
@media only screen and (min-width: 992px) {
  body {
    font-size: 18px;
  }
}
img {
  display: block;
  max-width: 100%;
}
h2,
.h2 {
  font-size: 28px;
  line-height: 1.6em;
  font-weight: 700;
  color: #333;
}
@media only screen and (min-width: 992px) {
  h2,
  .h2 {
    font-size: 40px;
  }
}
h3,
.h3 {
  font-size: 20px;
  line-height: 1.6em;
  font-weight: 700;
  color: #333;
}
@media only screen and (min-width: 992px) {
  h3,
  .h3 {
    font-size: 30px;
  }
}
h4,
.h4 {
  font-size: 18px;
  line-height: 1.6em;
  font-weight: 700;
  color: #333;
}
@media only screen and (min-width: 992px) {
  h4,
  .h4 {
    font-size: 24px;
  }
}
h5,
.h5 {
  font-size: 16px;
  line-height: 1.6em;
  font-weight: 600;
}
@media only screen and (min-width: 992px) {
  h5,
  .h5 {
    font-size: 20px;
  }
}
h5.bold,
.h5.bold {
  font-weight: 700;
}
h6,
.h6 {
  font-size: 16px;
  line-height: 1.6em;
  font-weight: 500;
}
@media only screen and (min-width: 992px) {
  h6,
  .h6 {
    font-size: 18px;
  }
}
.mb-0 {
  margin-bottom: 0;
}
.mb-5 {
  margin-bottom: 5px;
}
.mb-10 {
  margin-bottom: 10px;
}
.mb-15 {
  margin-bottom: 15px;
}
.mb-20 {
  margin-bottom: 20px;
}
.mb-30 {
  margin-bottom: 30px;
}
.mb-40 {
  margin-bottom: 40px;
}
.mb-50 {
  margin-bottom: 50px;
}
.mb-60 {
  margin-bottom: 60px;
}
.mb-70 {
  margin-bottom: 70px;
}
.mb-90 {
  margin-bottom: 90px;
}
.mt-5 {
  margin-top: 5px;
}
.mx-auto {
  margin-left: auto;
  margin-right: auto;
}
.ml-auto {
  margin-left: auto;
}
.mr-auto {
  margin-right: auto;
}
.ml-10 {
  margin-left: 10px;
}
.ml-20 {
  margin-left: 20px;
}
.mr-10 {
  margin-right: 10px;
}
.mr-30 {
  margin-right: 30px;
}
.mr-15 {
  margin-right: 15px;
}
.mr-20 {
  margin-right: 20px;
}
.pb-40 {
  padding-bottom: 40px;
}
@media only screen and (min-width: 576px) {
  .mb-sm-0 {
    margin-bottom: 0;
  }
  .mb-sm-10 {
    margin-bottom: 10px;
  }
  .mb-sm-40 {
    margin-bottom: 40px;
  }
}
@media only screen and (min-width: 768px) {
  .mb-md-0 {
    margin-bottom: 0;
  }
  .mb-md-10 {
    margin-bottom: 10px;
  }
  .mb-md-30 {
    margin-bottom: 30px;
  }
  .mb-md-40 {
    margin-bottom: 40px;
  }
  .mb-md-50 {
    margin-bottom: 50px;
  }
  .mb-md-70 {
    margin-bottom: 70px;
  }
  .mb-md-90 {
    margin-bottom: 90px;
  }
}
@media only screen and (min-width: 992px) {
  .mb-lg-0 {
    margin-bottom: 0;
  }
  .mb-lg-10 {
    margin-bottom: 10px;
  }
  .mb-lg-15 {
    margin-bottom: 15px;
  }
  .mb-lg-20 {
    margin-bottom: 20px;
  }
  .mb-lg-30 {
    margin-bottom: 30px;
  }
  .mb-lg-40 {
    margin-bottom: 40px;
  }
  .mb-lg-50 {
    margin-bottom: 50px;
  }
  .mb-lg-60 {
    margin-bottom: 60px;
  }
  .mb-lg-80 {
    margin-bottom: 80px;
  }
  .mb-lg-90 {
    margin-bottom: 90px;
  }
  .mb-lg-100 {
    margin-bottom: 100px;
  }
  .mx-lg-auto {
    margin-left: auto;
    margin-right: auto;
  }
  .mr-lg-30 {
    margin-right: 30px;
  }
  .mr-lg-40 {
    margin-right: 40px;
  }
  .mr-lg-70 {
    margin-right: 70px;
  }
  .mt-lg-20 {
    margin-top: 20px;
  }
  .pb-lg-60 {
    padding-bottom: 60px;
  }
}
@media only screen and (min-width: 1200px) {
  .mb-l-0 {
    margin-bottom: 0;
  }
}
@media only screen and (min-width: 1320px) {
  .mb-ml-40 {
    margin-bottom: 40px;
  }
  .mb-ml-60 {
    margin-bottom: 60px;
  }
  .mb-ml-80 {
    margin-bottom: 80px;
  }
  .mr-ml-0 {
    margin-right: 0;
  }
}
.ul_zero_num > li {
  list-style: decimal-leading-zero;
  margin-left: 1.3em;
  line-height: 1.5em;
}
.ul_num > li {
  list-style: decimal;
  margin-left: 1.3em;
  line-height: 1.5em;
}
.ul_circle > li {
  list-style: circle;
  margin-left: 1.3em;
  line-height: 1.5em;
}
.ul_disc > li {
  list-style: disc;
  margin-left: 1.3em;
  line-height: 1.5em;
}
.txt-medium {
  font-weight: 500;
}
.txt-bold {
  font-weight: 700;
}
.txt-black {
  font-weight: 900;
}
.txt-italic {
  font-style: italic;
}
.align-center {
  text-align: center;
}
.align-left {
  text-align: left;
}
.align-right {
  text-align: right;
}
@media only screen and (min-width: 768px) {
  .align-md-center {
    text-align: center;
  }
  .align-md-left {
    text-align: left;
  }
  .align-md-right {
    text-align: right;
  }
}
@media only screen and (min-width: 992px) {
  .align-lg-center {
    text-align: center;
  }
  .align-lg-left {
    text-align: left;
  }
  .align-lg-right {
    text-align: right;
  }
}
.break_all {
  word-break: break-all;
}
.ws_nowrap {
  white-space: nowrap;
}
.footnote {
  line-height: 1.8em;
  font-size: 14px;
}
@media only screen and (min-width: 992px) {
  .footnote {
    font-size: 16px;
  }
}
.line-ellipsis-2 {
  height: auto;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  display: -moz-box;
  -moz-line-clamp: 2;
  -moz-box-orient: vertical;
  line-clamp: 2;
  box-orient: vertical;
}
@media only screen and (min-width: 992px) {
  .line-ellipsis-lg-3 {
    height: auto;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    display: -moz-box;
    -moz-line-clamp: 3;
    -moz-box-orient: vertical;
    line-clamp: 3;
    box-orient: vertical;
  }
}
.row {
  margin-left: -10px;
  margin-right: -10px;
}
.col-1 {
  width: 8.3333333333%;
}
.col-2 {
  width: 16.6666666667%;
}
.col-3 {
  width: 25%;
}
.col-4 {
  width: 33.3333333333%;
}
.col-5 {
  width: 41.6666666667%;
}
.col-6 {
  width: 50%;
}
.col-7 {
  width: 58.3333333333%;
}
.col-8 {
  width: 66.6666666667%;
}
.col-9 {
  width: 75%;
}
.col-10 {
  width: 83.3333333333%;
}
.col-11 {
  width: 91.6666666667%;
}
.col-12 {
  width: 100%;
}
@media only screen and (min-width: 576px) {
  .row-sm {
    margin-left: -10px;
    margin-right: -10px;
  }
  .col-sm-1 {
    width: 8.3333333333%;
  }
  .col-sm-2 {
    width: 16.6666666667%;
  }
  .col-sm-3 {
    width: 25%;
  }
  .col-sm-4 {
    width: 33.3333333333%;
  }
  .col-sm-5 {
    width: 41.6666666667%;
  }
  .col-sm-6 {
    width: 50%;
  }
  .col-sm-7 {
    width: 58.3333333333%;
  }
  .col-sm-8 {
    width: 66.6666666667%;
  }
  .col-sm-9 {
    width: 75%;
  }
  .col-sm-10 {
    width: 83.3333333333%;
  }
  .col-sm-11 {
    width: 91.6666666667%;
  }
  .col-sm-12 {
    width: 100%;
  }
}
@media only screen and (min-width: 768px) {
  .row-md {
    margin-left: -10px;
    margin-right: -10px;
  }
  .col-md-1 {
    width: 8.3333333333%;
  }
  .col-md-2 {
    width: 16.6666666667%;
  }
  .col-md-3 {
    width: 25%;
  }
  .col-md-4 {
    width: 33.3333333333%;
  }
  .col-md-5 {
    width: 41.6666666667%;
  }
  .col-md-6 {
    width: 50%;
  }
  .col-md-7 {
    width: 58.3333333333%;
  }
  .col-md-8 {
    width: 66.6666666667%;
  }
  .col-md-9 {
    width: 75%;
  }
  .col-md-10 {
    width: 83.3333333333%;
  }
  .col-md-11 {
    width: 91.6666666667%;
  }
  .col-md-12 {
    width: 100%;
  }
}
@media only screen and (min-width: 992px) {
  .row-lg {
    margin-left: -15px;
    margin-right: -15px;
  }
  .col-lg-1 {
    width: 8.3333333333%;
  }
  .col-lg-2 {
    width: 16.6666666667%;
  }
  .col-lg-3 {
    width: 25%;
  }
  .col-lg-4 {
    width: 33.3333333333%;
  }
  .col-lg-5 {
    width: 41.6666666667%;
  }
  .col-lg-6 {
    width: 50%;
  }
  .col-lg-7 {
    width: 58.3333333333%;
  }
  .col-lg-8 {
    width: 66.6666666667%;
  }
  .col-lg-9 {
    width: 75%;
  }
  .col-lg-10 {
    width: 83.3333333333%;
  }
  .col-lg-11 {
    width: 91.6666666667%;
  }
  .col-lg-12 {
    width: 100%;
  }
}
@media only screen and (min-width: 1200px) {
  .row-l {
    margin-left: -15px;
    margin-right: -15px;
  }
  .col-l-1 {
    width: 8.3333333333%;
  }
  .col-l-2 {
    width: 16.6666666667%;
  }
  .col-l-3 {
    width: 25%;
  }
  .col-l-4 {
    width: 33.3333333333%;
  }
  .col-l-5 {
    width: 41.6666666667%;
  }
  .col-l-6 {
    width: 50%;
  }
  .col-l-7 {
    width: 58.3333333333%;
  }
  .col-l-8 {
    width: 66.6666666667%;
  }
  .col-l-9 {
    width: 75%;
  }
  .col-l-10 {
    width: 83.3333333333%;
  }
  .col-l-11 {
    width: 91.6666666667%;
  }
  .col-l-12 {
    width: 100%;
  }
}
.pc {
  display: none !important;
}
@media only screen and (min-width: 768px) {
  .pc {
    display: flex !important;
  }
}
.d-b {
  display: block;
}
.d-n {
  display: none;
}
.d-in {
  display: inline;
}
.d-ib {
  display: inline-block;
}
.d-f {
  display: flex;
}
@media only screen and (min-width: 576px) {
  .d-sm-b {
    display: block;
  }
  .d-sm-n {
    display: none;
  }
  .d-sm-in {
    display: inline;
  }
  .d-sm-ib {
    display: inline-block;
  }
  .d-sm-f {
    display: flex;
  }
}
@media only screen and (min-width: 768px) {
  .d-md-b {
    display: block;
  }
  .d-md-n {
    display: none;
  }
  .d-md-in {
    display: inline;
  }
  .d-md-ib {
    display: inline-block;
  }
  .d-md-f {
    display: flex;
  }
}
@media only screen and (min-width: 992px) {
  .d-lg-b {
    display: block;
  }
  .d-lg-n {
    display: none;
  }
  .d-lg-in {
    display: inline;
  }
  .d-lg-ib {
    display: inline-block;
  }
  .d-lg-f {
    display: flex;
  }
}
@media only screen and (min-width: 1440px) {
  .d-xl-b {
    display: block;
  }
  .d-xl-n {
    display: none;
  }
  .d-xl-in {
    display: inline;
  }
  .d-xl-ib {
    display: inline-block;
  }
  .d-xl-f {
    display: flex;
  }
}
.jc-start {
  justify-content: flex-start;
}
.jc-center {
  justify-content: center;
}
.jc-end {
  justify-content: flex-end;
}
.jc-between {
  justify-content: space-between;
}
@media only screen and (min-width: 576px) {
  .jc-sm_start {
    justify-content: flex-start;
  }
  .jc-sm_center {
    justify-content: center;
  }
  .jc-sm_end {
    justify-content: flex-end;
  }
  .jc-sm_between {
    justify-content: space-between;
  }
}
@media only screen and (min-width: 768px) {
  .jc-md-start {
    justify-content: flex-start;
  }
  .jc-md-center {
    justify-content: center;
  }
  .jc-md-end {
    justify-content: flex-end;
  }
  .jc-md-between {
    justify-content: space-between;
  }
}
@media only screen and (min-width: 992px) {
  .jc-lg-start {
    justify-content: flex-start;
  }
  .jc-lg-center {
    justify-content: center;
  }
  .jc-lg-end {
    justify-content: flex-end;
  }
  .jc-lg-between {
    justify-content: space-between;
  }
}
@media only screen and (min-width: 1320px) {
  .jc-ml-start {
    justify-content: flex-start;
  }
  .jc-ml-center {
    justify-content: center;
  }
  .jc-ml-end {
    justify-content: flex-end;
  }
  .jc-ml-between {
    justify-content: space-between;
  }
}
.ai-start {
  align-items: flex-start;
}
.ai-center {
  align-items: center;
}
.ai-end {
  align-items: flex-end;
}
@media only screen and (min-width: 576px) {
  .ai-sm-start {
    align-items: flex-start;
  }
  .ai-sm-center {
    align-items: center;
  }
  .ai-sm-end {
    align-items: flex-end;
  }
}
@media only screen and (min-width: 768px) {
  .ai-md-start {
    align-items: flex-start;
  }
  .ai-md-center {
    align-items: center;
  }
  .ai-md-end {
    align-items: flex-end;
  }
}
@media only screen and (min-width: 992px) {
  .ai-lg-start {
    align-items: flex-start;
  }
  .ai-lg-center {
    align-items: center;
  }
  .ai-lg-end {
    align-items: flex-end;
  }
}
@media only screen and (min-width: 1440px) {
  .ai-xl-start {
    align-items: flex-start;
  }
  .ai-xl-center {
    align-items: center;
  }
  .ai-xl-end {
    align-items: flex-end;
  }
}
.fd-column {
  flex-direction: column;
}
.fd-column-rev {
  flex-direction: column-reverse;
}
.fd-row {
  flex-direction: row;
}
.fd-row-rev {
  flex-direction: row-reverse;
}
.fww {
  flex-wrap: wrap;
}
.fwnw {
  flex-wrap: nowrap;
}
.flex1 {
  flex: 1;
}
@media only screen and (min-width: 576px) {
  .fd-sm-column {
    flex-direction: column;
  }
  .fd-sm-column-rev {
    flex-direction: column-reverse;
  }
  .fd-sm-row {
    flex-direction: row;
  }
  .fd-sm-row-rev {
    flex-direction: row-reverse;
  }
  .fww-sm {
    flex-wrap: wrap;
  }
  .fwnw-sm {
    flex-wrap: nowrap;
  }
}
@media only screen and (min-width: 768px) {
  .fd-md-column {
    flex-direction: column;
  }
  .fd-md-column_rev {
    flex-direction: column-reverse;
  }
  .fd-md-row {
    flex-direction: row;
  }
  .fd-md-row-rev {
    flex-direction: row-reverse;
  }
  .fww-md {
    flex-wrap: wrap;
  }
  .fwnw-md {
    flex-wrap: nowrap;
  }
}
@media only screen and (min-width: 1200px) {
  .fd-l-column {
    flex-direction: column;
  }
  .fd-l-column-rev {
    flex-direction: column-reverse;
  }
  .fd-l-row {
    flex-direction: row;
  }
  .fd-l-row-rev {
    flex-direction: row-reverse;
  }
  .fww-l {
    flex-wrap: wrap;
  }
  .fwnw-l {
    flex-wrap: nowrap;
  }
}
@media only screen and (min-width: 992px) {
  .fd-lg-column {
    flex-direction: column;
  }
  .fd-lg-column-rev {
    flex-direction: column-reverse;
  }
  .fd-lg-row {
    flex-direction: row;
  }
  .fd-lg-row-rev {
    flex-direction: row-reverse;
  }
  .fww-lg {
    flex-wrap: wrap;
  }
  .fwnw-lg {
    flex-wrap: nowrap;
  }
}
@media only screen and (min-width: 1320px) {
  .fd-ml-column {
    flex-direction: column;
  }
  .fd-ml-column-rev {
    flex-direction: column-reverse;
  }
  .fd-ml-row {
    flex-direction: row;
  }
  .fd-ml-row-rev {
    flex-direction: row-reverse;
  }
  .fww-ml {
    flex-wrap: wrap;
  }
  .fwnw-ml {
    flex-wrap: nowrap;
  }
}
@media only screen and (min-width: 1440px) {
  .fd-xl-column {
    flex-direction: column;
  }
  .fd-xl-column-rev {
    flex-direction: column-reverse;
  }
  .fd-xl-row {
    flex-direction: row;
  }
  .fd-xl-row-rev {
    flex-direction: row-reverse;
  }
  .fww-xl {
    flex-wrap: wrap;
  }
  .fwnw-xl {
    flex-wrap: nowrap;
  }
}
.clearfix {
  zoom: 1;
}
.clearfix:after {
  content: ".";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
}
.clear {
  clear: both;
}
.ft-n {
  float: none;
}
.ft-l {
  float: left;
}
.ft-r {
  float: right;
}
@media only screen and (min-width: 768px) {
  .ft-md-n {
    float: none;
  }
  .ft-md-l {
    float: left;
  }
  .ft-md-r {
    float: right;
  }
}
@media only screen and (min-width: 992px) {
  .ft-lg-n {
    float: none;
  }
  .ft-lg-l {
    float: left;
  }
  .ft-lg-r {
    float: right;
  }
}
.grecaptcha-badge {
  z-index: 100;
  width: 70px !important;
  overflow: hidden !important;
  transition: all 0.3s ease !important;
  left: 4px !important;
}
.grecaptcha-badge:hover {
  width: 256px !important;
}
.slick-slide:focus {
  outline: none;
}
.box-shadow {
  box-shadow: #0003 4px 4px 5px;
}
.box-shadow-sec {
  box-shadow: 0 3px 6px #00000016 !important;
}
.ovh {
  overflow: hidden;
}
@media only screen and (min-width: 992px) {
  .ovc-x {
    overflow-x: clip;
  }
}
.img-box {
  position: relative;
  padding-bottom: 73%;
  height: 0;
  z-index: 2;
}
.img-ovh {
  position: absolute;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.img-set {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.img-fit {
  object-fit: cover;
}
.img-fit.op-center {
  object-position: center;
}
.transition-n {
  transition: 0.3s;
}
.f-scroll {
  overflow-x: auto;
}
.p0 {
  padding: 0;
}
.inside-pd {
  padding: 40px;
}
@media only screen and (min-width: 992px) {
  .inside-pd {
    padding: 50px 60px;
  }
}
.line_ellipsis_7 {
  height: auto;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 7;
  -webkit-box-orient: vertical;
  display: -moz-box;
  -moz-line-clamp: 7;
  -moz-box-orient: vertical;
  line-clamp: 7;
  box-orient: vertical;
}
.bgc-pri {
  background-color: linear-gradient(90deg, #0094d2 0.1%, #00cfa6 99.91%);
}
.bgc-white {
  background-color: #fff;
}
.bgc-sec {
  background-color: linear-gradient(90deg, #d7f3ff 0.1%, #c6fff4 99.91%);
}
.bgc-gray {
  background-color: #f7f7f7;
}
.txt_va {
  vertical-align: middle;
}
.bt_line {
  border-bottom: 2px solid #00cda4;
}
.bt_line_gray {
  border-bottom: 1px solid #dddddd;
}
.highlight {
  color: #00cda4;
}
.container {
  max-width: 1360px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 15px;
  padding-right: 15px;
}
@media only screen and (min-width: 992px) {
  .container {
    padding-left: 40px;
    padding-right: 40px;
  }
}
.container.m {
  max-width: 1140px;
}
.container.xl {
  max-width: 1680px;
}
.container.ms {
  max-width: 1000px;
}
.container.s {
  max-width: 940px;
}
.container.xs {
  max-width: 880px;
}
.position-r {
  position: relative;
}
.position-xxl-r {
  position: static;
}
@media only screen and (min-width: 1680px) {
  .position-xxl-r {
    position: relative;
  }
}
.position-a {
  position: absolute;
}
.position-f {
  position: fixed;
}
.position-sticky {
  position: sticky;
}
.w-full {
  width: 100%;
}
.h-full {
  height: 100%;
}
.txt-white {
  color: #fff;
}
.txt-light {
  color: #4cd9d9;
}
.txt-pri {
  color: #00cda4;
}
.txt-sec {
  color: #0fc;
}
.txt-eli {
  color: #80eeff;
}
.txt-gray {
  color: #888;
}
.txt-small {
  font-size: 15px;
}
.bg-white {
  background: #fff;
}
.bg-pri {
  background-color: linear-gradient(90deg, #0094d2 0.1%, #00cfa6 99.91%);
}
.txtd-underline {
  text-decoration: underline;
}
.z1 {
  z-index: 1;
}
.z2 {
  z-index: 2;
}
.bdra10 {
  border-radius: 10px;
}
.bd-pri {
  border: 2px solid #00cda4;
}
.page-bottom {
  padding-bottom: 40px;
}
@media only screen and (min-width: 992px) {
  .page-bottom {
    padding-bottom: 120px;
  }
}
.page-bottom.for-mb {
  padding-bottom: 40px;
}
@media only screen and (min-width: 992px) {
  .page-bottom.for-mb {
    padding-bottom: 120px;
  }
}
.page-top {
  padding-top: 40px;
}
@media only screen and (min-width: 992px) {
  .page-top {
    padding-top: 120px;
  }
}
.page-top.for-list {
  padding-top: 30px;
}
@media only screen and (min-width: 992px) {
  .page-top.for-list {
    padding-top: 120px;
  }
}
.page-top.only-mb {
  padding-top: 40px;
}
@media only screen and (min-width: 992px) {
  .page-top.only-mb {
    padding-top: 0;
  }
}
.section-pt {
  padding-top: 50px;
}
@media only screen and (min-width: 992px) {
  .section-pt {
    padding-top: 80px;
  }
}
.section-pb {
  padding-bottom: 50px;
}
@media only screen and (min-width: 992px) {
  .section-pb {
    padding-bottom: 70px;
  }
}
@media only screen and (min-width: 992px) {
  .section-pb .for-smpb {
    padding-bottom: 60px;
  }
}
.selecty-catabox {
  position: relative;
  margin-top: 20px;
  max-width: 500px;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  cursor: pointer;
  z-index: 5;
}
.selecty-catabox a {
  font-weight: 400;
}
.selecty-catabox.in-edi {
  margin-top: -45px;
}
.selecty-catabox .cata-show {
  display: flex;
  border: 2px solid #7fcbdb;
  background: #fff;
  border-radius: 20px;
  color: #fff;
  padding: 12px 15px;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 20px;
}
@media only screen and (min-width: 992px) {
  .selecty-catabox .cata-show {
    margin-bottom: 0;
  }
}
.selecty-catabox .cata-show span {
  transform: rotate(90deg);
  background: url(/images/arrow-right.png) no-repeat;
  background-size: contain;
  height: 24px;
  width: 12px;
  padding: 10px 5px 10px 10px;
  margin-right: 10px;
}
.selecty-catabox .cata-op {
  position: absolute;
  top: -1px;
  left: 0;
  background-color: #fff;
  width: 100%;
  margin-top: 60px;
  border: 2px solid #00cda4;
  border-radius: 20px;
  padding: 10px;
  z-index: 10;
  display: none;
}
@media only screen and (min-width: 992px) {
  .selecty-catabox .cata-op {
    margin-top: 60px;
  }
}
.selecty-catabox .cata-op a {
  display: block;
  padding: 10px;
  border-radius: 15px;
  position: relative;
}
@media only screen and (min-width: 992px) {
  .selecty-catabox .cata-op a:hover {
    color: #fff;
    background: #00cda4;
  }
}
.input-style,
.select-style,
.radio-style,
.checkbox-style {
  padding-left: 10px;
  padding-right: 10px;
}
@media only screen and (min-width: 992px) {
  .input-style,
  .select-style,
  .radio-style,
  .checkbox-style {
    padding-left: 20px;
    padding-right: 20px;
  }
}
.input-style .outer-frame p,
.select-style .outer-frame p,
.radio-style .outer-frame p,
.checkbox-style .outer-frame p {
  margin-bottom: 0;
  font-size: 18px;
}
.input-style label,
.input-style p,
.select-style label,
.select-style p,
.radio-style label,
.radio-style p,
.checkbox-style label,
.checkbox-style p {
  display: inline-block;
  font-size: 18px;
  margin-bottom: 5px;
  cursor: pointer;
}
@media only screen and (min-width: 992px) {
  .input-style label,
  .input-style p,
  .select-style label,
  .select-style p,
  .radio-style label,
  .radio-style p,
  .checkbox-style label,
  .checkbox-style p {
    font-size: 20px;
    margin-bottom: 10px;
  }
}
.input-style label.require:after,
.input-style p.require:after,
.select-style label.require:after,
.select-style p.require:after,
.radio-style label.require:after,
.radio-style p.require:after,
.checkbox-style label.require:after,
.checkbox-style p.require:after {
  content: "*";
  display: inline-block;
  color: #e96658;
  margin-left: 5px;
}
.input-style label,
.input-style p {
  display: inline-block;
  font-size: 18px;
  margin-bottom: 5px;
}
@media only screen and (min-width: 992px) {
  .input-style label,
  .input-style p {
    font-size: 20px;
    margin-bottom: 10px;
  }
}
.input-style input {
  height: 45px;
  outline: 2px solid #e2e2e2;
  background-color: #fff;
  border-radius: 20px;
  padding: 8px;
  font-size: 16px;
  color: #333;
  width: 100%;
}
.input-style input:focus {
  outline: 2px solid #44a491;
}
@media only screen and (min-width: 992px) {
  .input-style input {
    height: 52px;
    font-size: 18px;
    padding: 15px;
  }
}
.input-style input::placeholder {
  color: #bcbcbc;
}
.input-style input.no-edit {
  background-color: #f7f7f7;
}
.input-style input.error {
  outline: 2px solid #e96658;
}
.input-style .inline-input {
  display: flex;
  align-items: center;
}
.input-style .inline-input:nth-of-type(1) {
  margin-right: 20px;
}
.input-style .inline-input:nth-of-type(2) {
  margin-left: 20px;
}
.input-style .inline-input span {
  font-size: 20px;
}
.input-style .inline-input span:nth-of-type(1) {
  margin-right: 10px;
}
.input-style .inline-input span:nth-of-type(2) {
  margin-left: 10px;
}
.simple-textarea {
  display: block;
  outline: 2px solid #e2e2e2;
  background-color: #fff;
  border-radius: 20px;
  padding: 15px;
  font-size: 16px;
  color: #333;
  width: 100%;
  resize: none;
  height: 150px;
}
@media only screen and (min-width: 992px) {
  .simple-textarea {
    font-size: 18px;
    height: 230px;
  }
}
.simple-textarea.for-sm {
  height: 160px;
}
@media only screen and (min-width: 992px) {
  .simple-textarea.for-sm {
    height: 160px;
  }
}
.simple-textarea::placeholder {
  color: #bcbcbc;
}
.simple-textarea:focus {
  outline: 2px solid #00cda4;
}
.simple-textarea:disabled {
  opacity: 1;
  background-color: #f7f7f7;
}
.select-style {
  position: relative;
}
.select-style select {
  height: 45px;
  outline: 2px solid #e2e2e2;
  background-color: #fff;
  border-radius: 20px;
  padding: 8px 42px 8px 8px;
  font-size: 16px;
  color: #333;
  width: 100%;
  background-image: url(/images/arrow_dwn_b.svg);
  background-position: right 20px center;
  background-repeat: no-repeat;
  background-size: 20px 20px;
  appearance: none;
  -moz-appearance: none;
  -webkit-appearance: none;
  cursor: pointer;
}
@media only screen and (min-width: 992px) {
  .select-style select {
    height: 52px;
    font-size: 18px;
    padding: 15px 55px 15px 15px;
  }
}
.select-style select::-ms-expand {
  display: none;
}
.select-style select:focus {
  outline: 2px solid #44a491;
}
.select-style select:required:invalid {
  color: #bcbcbc;
}
.select-style select:disabled {
  background-color: #f7f7f7;
  background-image: url(/images/arrow_dwn_gray.svg);
  opacity: 1;
  color: #d1d1d1;
}
.select-style select.no-edit {
  background-color: #f7f7f7;
}
.select-style select.error {
  outline: 2px solid #e96658;
}
.outer-frame {
  border: 2px solid #888888;
  border-radius: 10px;
  padding: 8px 8px 3px;
  font-size: 16px;
  color: #333;
  width: 100%;
}
.outer-frame.error {
  border: 2px solid #44a491;
}
@media only screen and (min-width: 992px) {
  .outer-frame {
    padding: 15px 15px 10px;
  }
}
.outer-frame:has(input:focus) {
  border: 2px solid #00cda4;
}
.outer-frame.no-edit {
  background-color: #f7f7f7;
}
.outer-frame.no-edit p {
  margin-bottom: 4px;
}
.radio-style {
  position: relative;
}
.radio-style .posi {
  padding: 15px 15px 15px 0;
}
.radio-style label {
  margin-bottom: 0 !important;
}
.radio-style .radio-txt {
  display: inline-block;
  font-size: 16px;
}
@media only screen and (min-width: 992px) {
  .radio-style .radio-txt {
    font-size: 18px;
  }
}
.radio-style input {
  position: relative;
  display: inline-block;
  width: 19px;
  height: 19px;
  vertical-align: -3px;
  cursor: pointer;
  transition: 0.3s transform ease-in-out;
  margin-right: 3px;
}
.radio-style input:checked.radio-item {
  background-color: #00cda4;
}
.radio-style input:checked.radio-item:after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: scale(1) translate(-50%) translateY(-50%);
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background-color: #fff;
}
@media only screen and (min-width: 992px) {
  .radio-style:hover .rb_checkmark {
    background-color: #f1f1f1;
  }
}
.checkbox-style input {
  width: 20px;
  height: 20px;
  vertical-align: -3px;
}
.checkbox-style label {
  font-size: 18px;
}
@media only screen and (min-width: 992px) {
  .checkbox-style label {
    font-size: 18px;
  }
}
.rdio_checkmark {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  height: 20px;
  width: 20px;
  background-color: #f7f7f7;
  border: #eeeeee 2px solid;
  border-radius: 50%;
  transition: all 0.3s;
  -moz-transition: all 0.3s;
  -o-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -webkit-transition: all 0.3s;
}
@media only screen and (min-width: 992px) {
  .rdio_checkmark {
    width: 30px;
    height: 30px;
  }
}
.rdio_checkmark:after {
  content: "";
  position: absolute;
  display: none;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: #00cda4;
}
@media only screen and (min-width: 992px) {
  .rdio_checkmark:after {
    width: 16px;
    height: 16px;
  }
}
.button.bd-pri {
  border: 2px solid #00cda4;
  width: fit-content;
  border-radius: 5px;
  background: linear-gradient(
    135deg,
    #10b587 20%,
    #0ec6ad 50%,
    #00d3f8 75%,
    #0bf
  );
  background-size: 200%;
  background-position: 0%;
  text-align: center;
  transition: all 0.3s ease-in-out;
  color: #fff;
}
@media only screen and (min-width: 992px) {
  .button.bd-pri {
    padding: 12px;
  }
}
.button.bd-pri.normal {
  padding: 8px 10px;
  min-width: 160px;
  display: block;
}
@media only screen and (min-width: 992px) {
  .button.bd-pri.normal {
    min-width: 200px;
    padding: 10px 30px;
  }
}
.button.bd-pri.bg-white {
  background: #fff;
}
.button.bd-pri:hover {
  background-position: 50%;
}
.button p {
  padding: 0 15px;
  font-weight: 700;
  color: #00cda4;
}
.button .btn-arrow {
  background: url(/images/arrow.png) center center no-repeat;
  background-size: contain;
  width: 31px;
  height: 12px;
  transition: all 0.3s;
  -moz-transition: all 0.3s;
  -o-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -webkit-transition: all 0.3s;
}
@media only screen and (min-width: 992px) {
  .button .btn-arrow {
    display: block;
    width: 31px;
    height: 12px;
  }
}
@media only screen and (min-width: 992px) {
  .button:hover {
    background: linear-gradient(
      135deg,
      #10b587 20%,
      #0ec6ad 50%,
      #00d3f8 75%,
      #0bf
    );
    color: #fff;
  }
  .button:hover .btn-arrow {
    background: url(/images/arrow-w.png) center center no-repeat;
    background-size: contain;
  }
}
.button.now {
  background: #00cda4;
  color: #fff;
}
.button.for-x .btn-arrow {
  width: 45px;
  height: 45px;
  border-radius: 50%;
  background: #aadcc1;
  border: 2px solid #aadcc1;
  transition: all 0.3s;
  -moz-transition: all 0.3s;
  -o-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -webkit-transition: all 0.3s;
}
.button.for-x .btn-arrow:before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%) translateY(-50%) scale(0);
  width: calc(100% + 4px);
  height: calc(100% + 4px);
  border-radius: 50%;
  background: #44a491;
  transition: all 0.3s;
  -moz-transition: all 0.3s;
  -o-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -webkit-transition: all 0.3s;
}
.button.for-x .btn-arrow:after {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%) translateY(-50%);
  content: "";
  display: block;
  width: 16px;
  height: 16px;
  background: url(/images/r-btn-x.png) center center no-repeat;
  background-size: contain;
}
@media only screen and (min-width: 768px) {
  .button.for-x .btn-arrow {
    width: 55px;
    height: 55px;
  }
}
.button.for-x.light-w p {
  color: #fff;
}
.button.for-x.light-w span {
  background-color: #fff;
}
@media only screen and (min-width: 992px) {
  .button.for-x:hover .btn-arrow:before {
    transform: translate(-50%) translateY(-50%) scale(1);
  }
}
.button.download-btn p {
  color: #fff;
}
.button.download-btn .appointment {
  position: relative;
  width: 95px;
  height: 95px;
  border-radius: 50%;
  background: #fff;
  transition: all 0.3s;
  -moz-transition: all 0.3s;
  -o-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -webkit-transition: all 0.3s;
}
.button.download-btn .appointment:before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%) translateY(-50%) scale(0);
  width: calc(100% + 4px);
  height: calc(100% + 4px);
  border-radius: 50%;
  background: #44a491;
  transition: all 0.3s;
  -moz-transition: all 0.3s;
  -o-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -webkit-transition: all 0.3s;
}
.button.download-btn .appointment:after {
  position: absolute;
  top: 50%;
  left: 53%;
  transform: translate(-50%) translateY(-50%);
  content: "";
  display: block;
  width: 45px;
  height: 45px;
  background: url(/images/appointment.png) center center no-repeat;
  background-size: contain;
}
@media only screen and (min-width: 768px) {
  .button.download-btn .appointment {
    width: 90px;
    height: 90px;
  }
}
@media only screen and (min-width: 992px) {
  .button.download-btn:hover .appointment:before {
    transform: translate(-50%) translateY(-50%) scale(1);
  }
}
@media only screen and (min-width: 992px) {
  .button.download-btn:hover .appointment:after {
    background: url(/images/appointment-w.png) center center no-repeat;
    background-size: contain;
  }
}
.button.large .btn-arrow {
  width: 60px;
  height: 60px;
}
@media only screen and (min-width: 992px) {
  .button.large .btn-arrow {
    width: 80px;
    height: 80px;
  }
}
.button.pre {
  transform: rotate(180deg);
  margin-top: -13px;
}
.button.login-btn {
  display: block;
  border-radius: 26px;
  width: 100%;
  background: linear-gradient(120deg, #35afdf, #1be5f5);
  padding: 11px;
  color: #fff;
  transition: all 0.3s;
  -moz-transition: all 0.3s;
  -o-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -webkit-transition: all 0.3s;
}
@media only screen and (min-width: 992px) {
  .button.login-btn:hover {
    background: linear-gradient(120deg, #00cda4, #00cda4);
  }
}
.page-number {
  display: flex;
  justify-content: center;
  align-items: center;
}
.page-number a {
  display: flex;
  justify-content: center;
  align-items: center;
  min-width: 40px;
  width: 40px;
  height: 40px;
  border: #00cda4 solid 1px;
  background-color: #fff;
  border-radius: 20px;
  color: #00cda4;
  margin: 0 5px;
}
@media only screen and (min-width: 992px) {
  .page-number a {
    min-width: 50px;
    width: 50px;
    height: 50px;
    margin: 0 10px;
  }
}
@media only screen and (min-width: 992px) {
  .page-number a:hover {
    background-color: #00cda4;
    color: #fff;
  }
}
.page-number a.now {
  background-color: #00cda4;
  color: #fff;
}
.page-number a.btn {
  box-shadow: none;
  width: 45px;
  padding: 10px 0;
  border: none;
  background-color: transparent !important;
  margin: 0;
}
.page-number a.btn span {
  background: url(/images/arrow.png) center center no-repeat;
  background-size: contain;
  width: 32px;
  height: 32px;
  opacity: 0.5;
  transition: 0.3s;
}
@media only screen and (min-width: 992px) {
  .page-number a.btn span {
    width: 41px;
    height: 35px;
  }
}
@media only screen and (min-width: 992px) {
  .page-number a.btn:hover span {
    opacity: 1;
    background: url(/images/arrow.png) center center no-repeat;
    background-size: contain;
  }
}
.page-number a.btn.prev {
  transform: rotate(180deg);
}
.ul-indent {
  margin-left: 23px;
}
.ul-indent p {
  padding-bottom: 0 !important;
}
.ul-indent p:nth-last-of-type(1) {
  padding-bottom: 1em !important;
}
.editor h2,
.editor h3,
.editor h4,
.editor h5,
.editor p {
  padding-bottom: 0;
}
.editor h2.pb0,
.editor h3.pb0,
.editor h4.pb0,
.editor h5.pb0,
.editor p.pb0 {
  padding-bottom: 0;
}
.editor img {
  margin-bottom: 1.7em;
}
.editor a {
  color: #00cda4;
  text-decoration: underline;
}
.editor .note {
  font-size: 16px;
  color: #44a491;
  text-align: left;
}
@media only screen and (min-width: 992px) {
  .editor .note {
    text-align: center;
  }
}
.editor .ver-en {
  font-size: 16px;
}
.editor hr {
  margin: 20px 0;
}
@media only screen and (min-width: 992px) {
  .editor hr {
    margin: 30px 0;
  }
}
.editor ul {
  margin-bottom: 20px;
}
.editor ul li {
  list-style: initial;
  margin-left: 23px;
}
.editor ul.circle li {
  list-style-type: circle;
}
.editor ul.mb-0 {
  margin-bottom: 0;
}
.editor ol {
  margin-bottom: 20px;
}
.editor ol li {
  list-style: decimal;
  margin-left: 23px;
}
.editor ol.mb-0 {
  margin-bottom: 0;
}
.editor a {
  color: #00cda4;
  font-weight: 700;
  text-decoration: underline;
}
.editor p {
  line-height: 1.8em;
  letter-spacing: 0.6px;
}
@media only screen and (min-width: 992px) {
  .editor p {
    font-size: 18px;
  }
}
@media only screen and (min-width: 992px) {
  .editor td,
  .editor th {
    font-size: 20px;
  }
}
@media only screen and (min-width: 992px) {
  .editor li {
    font-size: 20px;
  }
}
.editor .two-pic {
  margin-left: -15px;
}
.editor .two-pic img {
  padding: 15px;
}
.editor.light p,
.editor.light a,
.editor.light h2,
.editor.light h3,
.editor.light h4,
.editor.light h5,
.editor.light li,
.editor.light td,
.editor.light th {
  color: #fff;
}
.edi-subtitle {
  font-size: 20px;
  font-weight: 700;
  color: #00cda4;
  padding-bottom: 15px;
}
@media only screen and (min-width: 992px) {
  .edi-subtitle {
    font-size: 24px;
    padding-bottom: 20px;
  }
}
.edi-subtitle.t-deco {
  text-decoration: underline;
  text-underline-offset: 8px;
  text-align: center;
}
.modal-bg-fixed {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #000000e6;
  z-index: 110;
}
.modal-bg-fixed > .container {
  overflow: auto;
  position: relative;
  height: 100%;
  padding-top: 25%;
}
@media only screen and (min-width: 768px) {
  .modal-bg-fixed > .container {
    padding-top: 14%;
  }
}
@media only screen and (min-width: 992px) {
  .modal-bg-fixed > .container {
    padding-top: 8%;
  }
}
.modal-bg-fixed > .container::-webkit-scrollbar {
  width: 12px;
  display: none;
}
.modal-bg-fixed .modal-box .modal-top {
  position: relative;
  padding: 18px 20px 0;
  color: #fff;
  font-size: 20px;
  min-height: 60px;
  background: #00cda4;
  border-radius: 20px 20px 0 0;
}
@media only screen and (min-width: 992px) {
  .modal-bg-fixed .modal-box .modal-top {
    font-size: 24px;
    padding: 25px 30px;
  }
}
.modal-bg-fixed .modal-box .modal-content {
  background-color: #fff;
  padding: 20px;
  overflow-y: auto;
  position: relative;
  border-radius: 0 0 20px 20px;
}
@media only screen and (min-width: 992px) {
  .modal-bg-fixed .modal-box .modal-content {
    padding: 30px;
  }
  .modal-bg-fixed .modal-box .modal-content p {
    font-size: 24px;
  }
}
.modal-bg-fixed .modal-box .modal-content-txt {
  padding: 30px 0 20px;
}
@media only screen and (min-width: 992px) {
  .modal-bg-fixed .modal-box .modal-content-txt {
    padding: 40px 0 30px;
  }
}
.modal-bg-fixed .modal-box .modal-content-txt p {
  font-size: 20px;
  line-height: 1.6;
}
@media only screen and (min-width: 992px) {
  .modal-bg-fixed .modal-box .modal-content-txt p {
    font-size: 24px;
  }
}
.modal-bg-fixed .modal-box .video-close {
  text-align: right;
  margin-bottom: 5px;
}
.modal-bg-fixed .image-commer {
  display: block;
  padding-bottom: 50px;
}
.modal-bg-fixed .image-close {
  text-align: right;
  margin-bottom: 5px;
}
.modal-close {
  position: absolute;
  right: 10px;
  top: 10px;
  display: block;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background-color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: all 0.3s;
  -moz-transition: all 0.3s;
  -o-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -webkit-transition: all 0.3s;
}
@media only screen and (min-width: 992px) {
  .modal-close {
    right: 15px;
    top: 15px;
    width: 50px;
    height: 50px;
  }
}
@media only screen and (min-width: 992px) {
  .modal-close:hover {
    opacity: 0.9;
  }
}
.modal-close .close-btn {
  display: block;
  width: 18px;
  height: 18px;
  background: url(/images/button-x-hover.png) no-repeat;
  background-size: contain;
}
@media only screen and (min-width: 992px) {
  .modal-close .close-btn {
    width: 20px;
    height: 20px;
  }
}
.scrollbar-x {
  overflow-x: auto;
}
.scrollbar-x::-webkit-scrollbar {
  height: 8px;
}
.scrollbar-y {
  overflow-x: auto;
}
.scrollbar-y::-webkit-scrollbar {
  width: 8px;
}
.video_box {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
}
.video_box iframe,
.video_box object,
.video_box embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
@keyframes text {
  0% {
    transform: rotateX(0) translateY(0);
  }
  25% {
    transform: rotateX(40deg) translateY(30px);
  }
  50% {
    transform: rotateX(80deg) translateY(-30px);
  }
  to {
    transform: rotateX(120deg) translateY(0);
  }
}
@keyframes showRight {
  0% {
    width: 0;
    opacity: 0;
  }
  3% {
    opacity: 1;
  }
  to {
    width: 100%;
    opacity: 1;
  }
}
@keyframes room_out {
  0% {
    transform: scale(1.07);
  }
  to {
    transform: scale(1);
  }
}
.gallery {
  --s: 150px;
  display: grid;
  grid: auto-flow var(--s) / repeat(2, var(--s));
  gap: 10px;
  place-items: center;
  margin: calc(var(--s) / 2);
  transform: rotate(45deg);
}
.gallery > img {
  width: 141%;
  aspect-ratio: 1;
  object-fit: cover;
  filter: grayscale(80%);
  transform: scale(var(--_t, 1)) rotate(-45deg);
  clip-path: polygon(50% 0, 100% 50%, 50% 100%, 0 50%);
  cursor: pointer;
  transition: 0.2s linear;
}
.gallery > img:hover {
  filter: grayscale(0);
  --_t: 1.15;
}
.basic-table {
  width: 100%;
}
.basic-table thead {
  background-color: #00cda4;
}
.basic-table th,
.basic-table td {
  padding: 10px;
  vertical-align: text-top;
}
@media only screen and (min-width: 992px) {
  .basic-table th,
  .basic-table td {
    padding: 13px 20px;
  }
}
.basic-table th {
  color: #fff;
  background-color: #00cda4;
  font-size: 20px;
}
@media only screen and (min-width: 992px) {
  .basic-table th {
    font-size: 24px;
  }
}
.basic-table td {
  font-size: 18px;
}
@media only screen and (min-width: 992px) {
  .basic-table td {
    font-size: 20px;
  }
}
.basic-table.protb-style {
  padding-left: 0;
  overflow-x: auto;
}
@media only screen and (min-width: 768px) {
  .basic-table.protb-style {
    padding-left: 20px;
  }
}
@media only screen and (min-width: 992px) {
  .basic-table.protb-style {
    padding-left: 30px;
  }
}
.basic-table.protb-style th,
.basic-table.protb-style td {
  padding: 10px;
  border: none;
}
@media only screen and (min-width: 992px) {
  .basic-table.protb-style th,
  .basic-table.protb-style td {
    padding: 13px 15px;
  }
}
.basic-table.protb-style td:nth-of-type(odd) {
  background-color: #005ca2;
  color: #fff;
  width: 20%;
}
.basic-table.protb-style td:nth-of-type(2n) {
  background-color: #dcf0ff;
  width: 30%;
}
.pro-fullpage th,
.pro-fullpage td {
  border: 2px solid #ffffff;
}
@media only screen and (min-width: 992px) {
  .pro-fullpage th,
  .pro-fullpage td {
    padding: 15px 20px !important;
  }
}
.nav {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 105;
  background: #2d3031e6;
  transition: all 0.3s;
  -moz-transition: all 0.3s;
  -o-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -webkit-transition: all 0.3s;
  height: 60px;
}
@media only screen and (min-width: 992px) {
  .nav {
    height: 80px;
  }
}
.nav.unfix {
  position: relative;
}
.nav-logo {
  cursor: pointer;
  width: 210px;
  height: 54px;
  background: url(/images/main-logo.svg) center center no-repeat;
  background-size: contain;
  flex-shrink: 1;
  min-width: 0;
}
@media only screen and (min-width: 992px) {
  .nav-logo {
    max-width: 260px;
    width: auto;
    height: 54px;
  }
}
.nav-logo h3 {
  font-size: clamp(14px, 1.4vw, 22px);
  white-space: nowrap;
  margin: 0;
}
.nav-item {
  flex-shrink: 1;
  min-width: 0;
}
.nav-item > li {
  position: relative;
}
.nav-item > li > a {
  display: block;
  padding: 25px 0;
  font-size: clamp(13px, 1.15vw, 18px);
  margin: 0 clamp(3px, 0.5vw, 10px);
  color: #fff;
  white-space: nowrap;
}
@media only screen and (min-width: 1320px) {
  .nav-item > li > a {
    margin: 0 20px;
    font-size: 18px;
  }
}
@media only screen and (min-width: 992px) {
  .nav-item > li > a:hover {
    color: linear-gradient(
      135deg,
      #10b587 20%,
      #0ec6ad 50%,
      #00d3f8 75%,
      #00bbff
    );
  }
}
.nav-item > li > a.button {
  font-size: 18px;
  border-radius: 5px;
  background: linear-gradient(
    135deg,
    #10b587 20%,
    #0ec6ad 50%,
    #00d3f8 75%,
    #0bf
  );
  background-size: 200%;
  background-position: 0%;
  transition: all 0.3s ease-in-out;
  color: #fff;
  padding: 10px 20px;
  display: block;
  text-align: center;
  border: 2px solid #aadcc1;
}
@media only screen and (min-width: 992px) {
  .nav-item > li > a.button {
    padding: 10px 15px;
  }
}
@media only screen and (min-width: 1320px) {
  .nav-item > li > a.button {
    font-size: 20px;
    padding: 10px 25px;
  }
}
@media only screen and (min-width: 992px) {
  .nav-item > li > a.button:hover {
    background: linear-gradient(
      135deg,
      #10b587 20%,
      #0ec6ad 50%,
      #00d3f8 75%,
      #0bf
    );
    background-position: 50%;
    transition: all 0.3s ease-in-out;
    color: #fff;
  }
}
.nav-item > li > a.nav-arrow-box {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
}
.nav-item > li > a.nav-arrow-box span.nav-arrow {
  width: 15px;
  height: 9px;
  background: url(/images/arrow-down.png) center center no-repeat;
  background-size: contain;
  transition: 0.3s;
}
.nav-item > li > a.nav-arrow-box span.nav-arrow .rotate {
  transform: rotate(180deg);
}
@media only screen and (min-width: 992px) {
  .nav-item > li:hover > a {
    color: #0fc;
  }
  .nav-item > li:hover > a.button:hover {
    background: linear-gradient(
      135deg,
      #10b587 20%,
      #0ec6ad 50%,
      #00d3f8 75%,
      #0bf
    );
    background-position: 50%;
  }
  .nav-item > li:hover > a.nav-arrow-box span.nav-arrow {
    background: url(/images/arrow-down-hover.png) center center no-repeat;
    background-size: contain;
  }
  .nav-item > li:hover .nav-item-hover {
    display: block;
  }
}
.nav-item > li .nav-item-hover {
  position: absolute;
  top: 80px;
  left: 50%;
  transform: translate(-50%);
  padding-top: 10px;
  cursor: pointer;
  display: none;
}
.nav-item > li .nav-item-hover .nav-item-hover-in {
  padding: 10px;
  border-radius: 5px;
  background: #2d3031cc;
  min-width: 164px;
  box-shadow: 0 1px 10px #17437d1a;
}
.nav-item > li .nav-item-hover .nav-item-hover-in > a {
  display: block;
  text-align: center;
  padding: 10px;
  border-radius: 10px;
  margin-bottom: 5px;
  color: #fff;
}
@media only screen and (min-width: 1320px) {
  .nav-item > li .nav-item-hover .nav-item-hover-in > a {
    font-size: 20px;
  }
}
.nav-item > li .nav-item-hover .nav-item-hover-in > a:last-of-type {
  margin-bottom: 0;
}
@media only screen and (min-width: 992px) {
  .nav-item > li .nav-item-hover .nav-item-hover-in > a:hover {
    background: linear-gradient(
      135deg,
      #10b587 20%,
      #0ec6ad 50%,
      #00d3f8 75%,
      #0bf
    );
  }
}
.nav-item > li .nav-item-hover .nav-item-hover-in.mid {
  min-width: 170px;
}
.nav-item > li .nav-item-hover .nav-item-hover-in.large {
  min-width: 242px;
}
.nav-social a,
.nav-social .nav-search {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  margin-right: 10px;
  border: 2px solid #ffffff;
  background: linear-gradient(to bottom, #1095be00, #07a9c200);
  transition: 0.3s;
}
@media only screen and (min-width: 992px) {
  .nav-social a,
  .nav-social .nav-search {
    width: 48px;
    height: 48px;
  }
}
@media only screen and (min-width: 1320px) {
  .nav-social a,
  .nav-social .nav-search {
    margin-right: 15px;
  }
}
@media only screen and (min-width: 992px) {
  .nav-social a:hover,
  .nav-social .nav-search:hover {
    background: linear-gradient(to bottom, #1094be, #07a9c2);
  }
}
.nav-social a.icon-mail,
.nav-social .nav-search.icon-mail {
  margin-left: 10px;
}
@media only screen and (min-width: 1320px) {
  .nav-social a.icon-mail,
  .nav-social .nav-search.icon-mail {
    margin-left: 15px;
  }
}
.nav-social a.icon-mail img,
.nav-social .nav-search.icon-mail img {
  width: 28px;
  height: 20px;
}
.nav-social .nav-search {
  position: relative;
  cursor: pointer;
  margin-right: 0 !important;
}
.nav-social .nav-search.now {
  background: linear-gradient(to bottom, #1094be 100%, #07a9c2);
}
.nav-social .nav-search .icon-search {
  width: 23px;
  height: 24px;
}
.nav-social .nav-search .input-style {
  display: none;
  position: absolute;
  top: 60px;
  right: -10px;
  width: 400px;
  padding-top: 10px;
}
.nav-social .nav-search .input-style form {
  position: relative;
}
.nav-social .nav-search .input-style input {
  padding: 15px 75px 15px 15px;
  border: #00cda4 2px solid;
  border-radius: 5px;
  background-color: #fff;
}
.nav-social .nav-search .btn-search {
  position: absolute;
  top: 0;
  right: 0;
  background-color: #00cda4;
  display: block;
  color: #fff;
  font-size: 18px;
  height: 100%;
  padding: 10px;
  border-radius: 0 5px 5px 0;
}
@media only screen and (min-width: 1320px) {
  .nav-social .nav-search .btn-search {
    font-size: 20px;
  }
}
.btn-burger {
  position: relative;
  width: 30px;
  height: 50px;
  cursor: pointer;
}
.btn-burger span {
  display: block;
  width: 30px;
  height: 3px;
  background-color: #fff;
  border-radius: 50px;
}
.btn-burger span:nth-of-type(1) {
  position: absolute;
  top: 12px;
  left: 50%;
  transform: translate(-50%);
  transition: all 0.3s;
  -moz-transition: all 0.3s;
  -o-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -webkit-transition: all 0.3s;
}
.btn-burger span:nth-of-type(2) {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: all 0.3s;
  -moz-transition: all 0.3s;
  -o-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -webkit-transition: all 0.3s;
}
.btn-burger span:nth-of-type(3) {
  position: absolute;
  bottom: 12px;
  left: 50%;
  transform: translate(-50%);
  transition: all 0.3s;
  -moz-transition: all 0.3s;
  -o-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -webkit-transition: all 0.3s;
}
.btn-burger.now span:nth-of-type(1) {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(-45deg);
}
.btn-burger.now span:nth-of-type(2) {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(45deg);
}
.btn-burger.now span:nth-of-type(3) {
  opacity: 0;
}
.burger-menu {
  display: none;
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  padding-top: 60px;
  overflow-y: auto;
  background-color: #2d3031;
  z-index: 100;
}
.burger-menu::-webkit-scrollbar {
  width: 0;
}
.burger-menu .burger-menu-top {
  padding: 20px;
}
.burger-menu .burger-search {
  position: relative;
}
.burger-menu .burger-search input {
  padding: 15px 65px 15px 15px;
  background-color: #fff;
  border-radius: 5px;
}
.burger-menu .burger-search .btn-burger-search {
  position: absolute;
  top: 50%;
  right: 10px;
  transform: translateY(-50%);
  width: 50px;
  height: 100%;
  color: #fff;
  background-color: #00cda4;
  border-radius: 0 5px 5px 0;
}
.burger-menu .burger-ul > li {
  border-bottom: #6e7f87 1px solid;
}
.burger-menu .burger-ul > li:first-of-type {
  border-top: #6e7f87 1px solid;
}
.burger-menu .burger-ul > li .burger-item {
  padding: 15px 20px;
  font-size: 18px;
}
.burger-menu .burger-ul > li .burger-item p {
  color: #fff;
}
.burger-menu .burger-ul > li .burger-item img {
  width: 15px;
  height: 10px;
  margin: 0 10px;
  transition: all 0.3s;
  -moz-transition: all 0.3s;
  -o-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -webkit-transition: all 0.3s;
}
.burger-menu .burger-ul > li .burger-item img.rotate {
  transform: rotate(180deg);
}
.burger-menu .burger-ul .burger-drop {
  display: none;
  padding: 15px 30px;
  background-color: #414647;
}
.burger-menu .burger-ul .burger-drop > li {
  margin-bottom: 5px;
}
.burger-menu .burger-ul .burger-drop > li:last-of-type {
  margin-bottom: 0;
}
.burger-menu .burger-ul .burger-drop > li a {
  display: block;
  width: 100%;
  color: #fff;
}
.burger-menu-bottom {
  padding: 20px;
  border: none !important;
}
.burger-menu-bottom > .button {
  min-width: none;
  width: 100%;
  max-width: 500px;
  margin: 0 auto;
  background: linear-gradient(
    135deg,
    #10b587 20%,
    #0ec6ad 50%,
    #00d3f8 75%,
    #0bf
  );
  background-size: 200%;
  background-position: 0%;
  transition: all 0.3s ease-in-out;
  color: #fff;
  padding: 10px 20px;
  display: block;
  text-align: center;
  border: 2px solid #aadcc1;
  border-radius: 5px;
  font-size: 20px;
}
.footer {
  position: relative;
  width: 100%;
  background: linear-gradient(to bottom, #3bb2c5, #006bac);
}
.footer-info {
  margin-bottom: 10px;
}
.footer-info:nth-last-of-type(1) {
  margin-bottom: 20px;
}
.footer-info img {
  width: 28px;
  height: auto;
  margin-right: 7px;
  display: inline-block;
  vertical-align: top;
}
.footer-social {
  flex-shrink: 0;
}
.footer-social img {
  width: 30px;
  height: 30px;
}
.ft-info-unit {
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media only screen and (min-width: 576px) {
  .ft-info-unit {
    display: block;
    align-items: start;
  }
}
.footer-box {
  padding-top: 30px;
  height: fit-content;
  background: url(/images/ft_bg1.png) center center no-repeat;
  background-size: cover;
}
@media only screen and (min-width: 768px) {
  .footer-box {
    padding-top: 60px;
  }
}
.footer-box .footer-logo {
  max-width: 260px;
  width: 100%;
  margin-bottom: 20px;
}
@media only screen and (min-width: 576px) {
  .footer-box .footer-logo {
    max-width: none;
    width: 33%;
  }
}
@media only screen and (min-width: 992px) {
  .footer-box .footer-logo {
    max-width: 260px;
    width: 100%;
    margin-bottom: 30px;
  }
}
.footer-box .wrap-ftop {
  width: 100%;
}
@media only screen and (min-width: 992px) {
  .footer-box .wrap-ftop {
    max-width: 260px;
  }
}
.footer-box .footer-item {
  width: 100%;
}
@media only screen and (min-width: 992px) {
  .footer-box .footer-item {
    padding: 0 0 0 30px;
  }
}
.footer-box .footer-item > li {
  margin-bottom: 20px;
  max-width: 176px;
  padding: 0 5px;
}
.footer-box .footer-item > li:nth-last-of-type(1) {
  padding: 0 0 0 5px;
}
.footer-box .footer-item > li a {
  color: #fff;
  display: block;
  font-size: 16px;
  letter-spacing: 0;
}
@media only screen and (min-width: 992px) {
  .footer-box .footer-item > li a {
    font-size: 18px;
    margin-bottom: 10px;
  }
  .footer-box .footer-item > li a:hover {
    text-decoration: underline;
    color: linear-gradient(90deg, #0094d2 0.1%, #00cfa6 99.91%);
  }
}
.footer-box .footer-bottom {
  position: relative;
  padding: 15px 0;
  color: #a6cbe6;
  font-size: 14px;
  line-height: 1.4em;
  text-align: center;
}
.footer-box .footer-bottom.line {
  max-width: 1250px;
  border-top: 1px solid #a6cbe6;
  margin-left: auto;
  margin-right: auto;
}
@media only screen and (min-width: 992px) {
  .footer-box .footer-bottom {
    font-size: 14px;
  }
}
.footer-box .footer-bottom a {
  color: linear-gradient(90deg, #0094d2 0.1%, #00cfa6 99.91%);
  line-height: 1.4em;
  text-decoration: underline;
  font-size: 14px;
}
@media only screen and (min-width: 992px) {
  .footer-box .footer-bottom a {
    font-size: 14px;
  }
}
.footer-box .footer-bottom .company_names {
  letter-spacing: 0;
}
@media only screen and (min-width: 992px) {
  .footer-box .footer-bottom .company_names {
    letter-spacing: 0.02em;
    margin-top: -2px;
    margin-left: 5px;
    margin-right: 5px;
  }
}
.footer-social {
  display: block;
}
.footer-social .img-fb {
  width: 40px;
  height: 40px;
}
@media only screen and (min-width: 768px) {
  .footer-social .img-fb {
    width: 45px;
    height: 45px;
  }
}
.footer-bottom {
  position: relative;
  padding: 25px 0;
  color: #fff;
  line-height: 1.6em;
}
@media only screen and (min-width: 768px) {
  .footer-bottom {
    padding: 50px 0;
  }
}
.footer-bottom.line {
  border-top: 1px solid #ffffff;
  margin-left: auto;
  margin-right: auto;
}
.footer-bottom a {
  color: linear-gradient(90deg, #0094d2 0.1%, #00cfa6 99.91%);
  text-decoration: underline;
  font-size: 14px;
}
@media only screen and (min-width: 768px) {
  .footer-bottom a {
    font-size: 14px;
  }
}
.footer-bottom .copyright {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media only screen and (min-width: 768px) {
  .footer-bottom .copyright {
    justify-content: start;
  }
}
.footer-bottom .copyright .txt-box {
  text-align: left;
  font-size: 12px;
  margin-top: 20px;
}
@media only screen and (min-width: 768px) {
  .footer-bottom .copyright .txt-box {
    line-height: 1.9em;
    margin-top: 0;
    font-size: 18px;
    text-align: right;
  }
}
.body-area {
  margin-top: 60px;
}
@media only screen and (min-width: 992px) {
  .body-area {
    margin-top: 110px;
  }
}
.go-top {
  position: absolute;
  top: 10%;
  right: 25px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 45px;
  height: 45px;
  border-radius: 50%;
  border: 2px solid #ffffff;
  background: transparent;
  transition: 0.3s;
  z-index: 5;
}
@media only screen and (min-width: 992px) {
  .go-top {
    top: 65%;
    right: 40px;
    width: 60px;
    height: 60px;
  }
}
.go-top span {
  display: block;
  width: 21px;
  height: 12px;
  background: url(/images/arrow-top-w.png) center center no-repeat;
  background-size: contain;
}
@media only screen and (min-width: 992px) {
  .go-top span {
    width: 21px;
    height: 12px;
  }
}
@media only screen and (min-width: 992px) {
  .go-top:hover {
    background: #44a491;
  }
}
.page-banner {
  background: linear-gradient(to right, #0f7abb, #00c2d8);
  height: 280px;
}
@media only screen and (min-width: 992px) {
  .page-banner {
    height: 500px;
  }
}
.page-banner .bn-img {
  position: absolute;
  right: 0;
  top: 0;
  object-fit: cover;
  object-position: left;
  width: 1440px;
  height: 100%;
}
.page-banner .bn-txt {
  position: relative;
  font-size: 40px;
  line-height: 1.2em;
  font-weight: 700;
  text-align: center;
  width: 100%;
  padding-top: 60px;
  z-index: 1;
}
@media only screen and (min-width: 992px) {
  .page-banner .bn-txt {
    font-size: 30px;
    text-align: left;
    padding-top: 80px;
  }
}
.page-banner .bn-txt a,
.page-banner .bn-txt span {
  font-size: 16px;
  font-weight: 400;
}
.page-banner .bn-txt .line {
  display: block;
  position: relative;
  width: 100px;
  height: 4px;
  background-color: #0fc;
  margin: 10px auto 0;
}
@media only screen and (min-width: 992px) {
  .page-banner .bn-txt .line {
    margin: 10px 0 0;
  }
}
.mxw {
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3803921569);
}
.r-videobox {
  position: relative;
  width: 100%;
  height: 100%;
  padding-bottom: 56.25%;
}
.r-videobox.vfor-bg {
  object-fit: cover;
}
.r-videobox.interact {
  padding-bottom: 56.03%;
}
.r-videobox.bdra {
  border-radius: 10px;
}
.r-videobox > iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.gdpr_section {
  position: fixed;
  left: 0;
  bottom: 0;
  width: 100%;
  background-color: #333c;
  padding: 60px 0 20px;
  z-index: 101;
}
@media only screen and (min-width: 768px) {
  .gdpr_section {
    padding: 30px 0;
  }
}
.gdpr_section .privacy {
  color: #fff;
  text-decoration: underline;
}
@media only screen and (min-width: 768px) {
  .gdpr_section .agree {
    padding-right: 40px;
  }
}
@media only screen and (min-width: 992px) {
  .gdpr_section .agree {
    padding-right: 30px;
  }
}
.gdpr_section .close_gdpr {
  position: absolute;
  right: 10px;
  top: 10px;
}
@media only screen and (min-width: 992px) {
  .gdpr_section .close_gdpr {
    right: 20px;
    top: 20px;
  }
}
@keyframes dots {
  0% {
    opacity: 1;
  }
  50% {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes rotateRightHand {
  0% {
    transform: rotate(0);
  }
  50% {
    transform: rotate(25deg);
  }
  to {
    transform: rotate(0);
  }
}
.loading {
  position: fixed;
  width: 100%;
  height: 100%;
  background-color: #fff;
  z-index: 102;
}
.loading_img {
  margin-bottom: 15px;
  width: 60px;
  height: 80px;
  background: url(/images/logo.svg) center center no-repeat;
  background-size: contain;
  position: relative;
}
@media only screen and (min-width: 992px) {
  .loading_img {
    margin-bottom: 20px;
    width: 90px;
    height: 120px;
  }
}
.loading_img > span {
  display: block;
  position: absolute;
  right: 0;
  top: 20px;
  width: 55%;
  height: 50%;
  background: url(/images/logo.svg) center center no-repeat;
  background-size: contain;
  animation: rotateRightHand 2s ease-in-out infinite;
  transform-origin: left bottom;
}
.loading_txt {
  font-size: 24px;
  font-weight: 700;
  color: #00cda4;
}
@media only screen and (min-width: 992px) {
  .loading_txt {
    font-size: 30px;
  }
}
.loading_txt span:nth-of-type(1) {
  animation: dots 1.2s infinite ease-in-out;
}
.loading_txt span:nth-of-type(2) {
  animation: dots 1.2s infinite ease-in-out 0.2s;
}
.loading_txt span:nth-of-type(3) {
  animation: dots 1.2s infinite ease-in-out 0.4s;
}
.error-txt {
  position: relative;
  font-size: 80px;
  color: #00cda4;
  margin-top: 20px;
}
@media only screen and (min-width: 992px) {
  .error-txt {
    margin-top: 60px;
    font-size: 100px;
  }
}
.error-txt:after {
  content: "404";
  display: block;
  position: absolute;
  top: 27%;
  left: 50%;
  transform: translate(-50%) translateY(-50%);
  text-fill-color: transparent;
  text-stroke: 2px #a6cbe6;
  -webkit-text-fill-color: transparent;
  -webkit-text-stroke: 2px #a6cbe6;
  -moz-text-fill-color: transparent;
  z-index: -1;
  font-size: 150px;
}
@media only screen and (min-width: 992px) {
  .error-txt:after {
    font-size: 180px;
  }
}
.blank-pageset {
  padding-bottom: 60px;
}
@media only screen and (min-width: 992px) {
  .blank-pageset {
    padding-bottom: 250px;
  }
}
@keyframes mouse-scroll {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 0.5;
  }
  to {
    opacity: 1;
  }
}
@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes fadeInUp {
  0% {
    opacity: 0;
    transform: translateY(30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes fadeInDown {
  0% {
    opacity: 0;
    transform: translateY(-30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes fadeInLeft {
  0% {
    opacity: 0;
    transform: translate(30px);
  }
  to {
    opacity: 1;
    transform: translate(0);
  }
}
@keyframes fadeInRight {
  0% {
    opacity: 0;
    transform: translate(-30px);
  }
  to {
    opacity: 1;
    transform: translate(0);
  }
}
@keyframes rotate_center {
  0% {
    transform: rotate(0);
  }
  to {
    transform: rotate(360deg);
  }
}
@keyframes float {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-10px);
  }
  to {
    transform: translateY(0);
  }
}
@keyframes float2 {
  0% {
    transform: translateY(0) rotate(180deg);
  }
  50% {
    transform: translateY(-10px) rotate(180deg);
  }
  to {
    transform: translateY(0) rotate(180deg);
  }
}
@keyframes gradient_btn {
  0% {
    background-position: 14% 0%;
  }
  50% {
    background-position: 87% 100%;
  }
  to {
    background-position: 14% 0%;
  }
}
@keyframes twinkle {
  0% {
    transform: scale(0);
    opacity: 0;
  }
  25% {
    transform: scale(1);
    opacity: 0.5;
  }
  50% {
    transform: scale(1.1);
    opacity: 1;
  }
}
.b-title {
  color: #00cda4;
  font-size: 26px;
  font-weight: 700;
  margin-bottom: 30px;
}
@media only screen and (min-width: 576px) {
  .b-title {
    font-size: 28px;
  }
}
@media only screen and (min-width: 992px) {
  .b-title {
    font-size: 32px;
    margin-bottom: 40px;
  }
}
.b-title.for-white {
  color: #fff;
}
.b-subtitle {
  color: #44a491;
  font-size: 20px;
  font-weight: 500;
  margin-bottom: 30px;
  display: block;
}
@media only screen and (min-width: 992px) {
  .b-subtitle {
    font-size: 24px;
  }
}
.b-subtitle.for-white {
  color: #fff;
}
.b-description {
  font-size: 18px;
  margin: 0 auto 40px;
  line-height: 1.8;
}
@media only screen and (min-width: 992px) {
  .b-description {
    font-size: 20px;
    margin-bottom: 60px;
  }
}
.b-description.for-white {
  color: #fff;
}
.b-description.mb0 {
  margin-bottom: 0;
}
.b-note {
  text-align: center;
  font-size: 16px;
}
.b-note a {
  color: #00cda4;
  text-decoration: underline;
  margin-left: 5px;
  font-size: 16px;
}
.b-note a:hover {
  color: #009a7b;
}
.b-note.for-white,
.b-note.for-white a {
  color: #fff;
}
.b-note.align-left {
  text-align: left;
}
.qa-highlight {
  color: #da0000;
}
.cir-ovh {
  position: relative;
  overflow: hidden;
}
.cir-set {
  position: absolute;
  width: 40vw;
  height: 40vw;
  animation: float 5s ease-in-out infinite;
  z-index: 1;
}
.cir-set.cir1 {
  top: -14%;
  right: -20%;
  opacity: 0.7;
  animation: float 5s ease-in-out infinite;
}
@media only screen and (min-width: 992px) {
  .cir-set.cir1 {
    top: -15%;
    right: -20%;
  }
}
.cir-set.cir2 {
  bottom: -23%;
  left: -20%;
  opacity: 0.5;
  animation: float2 5s ease-in-out infinite;
  animation-delay: 2.5s;
}
@media only screen and (min-width: 992px) {
  .cir-set.cir2 {
    bottom: -35%;
    left: -20%;
  }
}
.cir-set.cir3 {
  top: -8%;
  right: -20%;
  opacity: 0.3;
  transform: rotate(90%);
  animation: float2 5s ease-in-out infinite;
}
@media only screen and (min-width: 992px) {
  .cir-set.cir3 {
    top: -30%;
    right: -20%;
  }
}
.cir-set.cir4 {
  width: 30vw;
  height: 30vw;
  top: -10%;
  left: -20%;
  opacity: 0.3;
  animation: float2 5s ease-in-out infinite;
  animation-delay: 2.5s;
}
@media only screen and (min-width: 992px) {
  .cir-set.cir4 {
    top: -15%;
    left: -17%;
  }
}
.cir-set.cir5 {
  top: -5%;
  right: -20%;
  opacity: 0.5;
  transform: rotate(90%);
  animation: float2 5s ease-in-out infinite;
  z-index: -1;
}
@media only screen and (min-width: 992px) {
  .cir-set.cir5 {
    top: -15%;
    right: -25%;
  }
}
.cir-set.cir6 {
  top: -5%;
  left: -20%;
  opacity: 0.5;
  transform: rotate(90%);
  animation: float2 5s ease-in-out infinite;
  z-index: -1;
}
@media only screen and (min-width: 992px) {
  .cir-set.cir6 {
    top: -15%;
    left: -25%;
  }
}
.cir-set.cir7 {
  top: -10%;
  right: -20%;
  width: 30vw;
  height: 30vw;
  opacity: 0.3;
  animation: float2 5s ease-in-out infinite;
}
@media only screen and (min-width: 992px) {
  .cir-set.cir7 {
    top: -20%;
    right: -18%;
  }
}
.fixed-btns {
  position: fixed;
  right: 20px;
  bottom: 20px;
  z-index: 100;
  display: flex;
  flex-direction: column;
  gap: 20px;
}
@media only screen and (min-width: 992px) {
  .fixed-btns {
    right: 30px;
    bottom: 30px;
  }
}
.register-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(139deg, #00cfd2 3.26%, #007cb5 96.74%);
  border: 2px solid #ffffff;
  color: #fff;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.3;
  letter-spacing: 0.05em;
  transition: all 0.3s ease;
  padding: 5px 10px;
}
@media only screen and (min-width: 992px) {
  .register-btn {
    padding: 10px 5px;
  }
}
@media only screen and (min-width: 992px) {
  .register-btn:hover {
    background: linear-gradient(
      135deg,
      #10b587 20%,
      #0ec6ad 50%,
      #00d3f8 75%,
      #0bf
    );
    background-size: 200%;
    background-position: 0%;
  }
}
@media only screen and (min-width: 992px) {
  .register-btn {
    padding: 12px 8px;
    font-size: 18px;
  }
}
.go-btn {
  font-size: 14px;
  font-weight: 500;
  color: #fff;
}
.goto-top {
  width: 50px;
  height: 50px;
  margin-left: auto;
  cursor: pointer;
  border-radius: 50%;
  background: linear-gradient(139deg, #0183b8 3.26%, #0183b8 96.74%);
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease;
}
@media only screen and (min-width: 992px) {
  .goto-top:hover {
    background: linear-gradient(
      135deg,
      #10b587 20%,
      #0ec6ad 50%,
      #00d3f8 75%,
      #0bf
    );
    background-size: 200%;
    background-position: 0%;
  }
}
@media only screen and (min-width: 992px) {
  .goto-top {
    width: 78px;
    height: 78px;
  }
}
.goto-top .b-nav-arrow {
  width: 28px;
  height: 12px;
  background: url(/images/arrow-down.png) center center no-repeat;
  background-size: contain;
  transition: 0.3s;
  display: block;
}
.goto-top .b-nav-arrow.rotate {
  transform: rotate(180deg);
}
@media only screen and (min-width: 992px) {
  .goto-top .b-nav-arrow {
    width: 36px;
    height: 21px;
  }
}
.idx-bnimg-pc {
  width: 100% !important;
  height: 100% !important;
  background: url(/images/index-banner.jpg) center center no-repeat;
  background-size: cover;
  padding-bottom: 160%;
}
@media screen and (min-width: 370px) {
  .idx-bnimg-pc {
    padding-bottom: 140%;
  }
}
@media only screen and (min-width: 768px) {
  .idx-bnimg-pc {
    padding-bottom: 75%;
  }
}
@media only screen and (min-width: 992px) {
  .idx-bnimg-pc {
    padding-bottom: 67%;
  }
}
@media only screen and (min-width: 1320px) {
  .idx-bnimg-pc {
    padding-bottom: 52%;
  }
}
.wrap-indext {
  position: absolute;
  width: 100%;
  bottom: 5%;
  left: 50%;
  transform: translate(-50%);
  z-index: 10;
}
.wrap-indext .bn-fir-txt,
.wrap-indext .bn-sec-txt {
  gap: 20px;
  bottom: 10%;
}
.wrap-indext .bn-title-img {
  max-width: 500px;
  width: 100%;
  margin-left: 10px;
  margin-right: 10px;
}
@media only screen and (min-width: 576px) {
  .wrap-indext .bn-title-img {
    margin-left: 0;
    margin-right: 0;
    max-width: 710px;
    min-width: 320px;
    width: 80vw;
  }
}
@media only screen and (min-width: 768px) {
  .wrap-indext .bn-title-img {
    width: 43vw;
  }
}
.wrap-indext .bn-large-txt {
  color: #fff;
  text-align: center;
  font-size: clamp(20px, 3vw, 32px);
  font-weight: 700;
  line-height: 1.2;
}
@media only screen and (min-width: 576px) {
  .wrap-indext .bn-large-txt {
    font-size: 32px;
  }
}
@media only screen and (min-width: 992px) {
  .wrap-indext .bn-large-txt {
    font-size: clamp(24px, 2.6vw, 48px);
    line-height: 1.8;
  }
}
.wrap-indext .bn-description {
  color: #fff;
  font-size: clamp(20px, 3vw, 32px);
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 1.8px;
}
@media only screen and (min-width: 576px) {
  .wrap-indext .bn-description {
    font-size: 32px;
  }
}
@media only screen and (min-width: 992px) {
  .wrap-indext .bn-description {
    font-size: clamp(24px, 2.6vw, 36px);
    line-height: 1.8;
  }
}
.wrap-indext .bn-time {
  color: #0fc;
  font-size: clamp(20px, 3vw, 32px);
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 1.8px;
}
@media only screen and (min-width: 576px) {
  .wrap-indext .bn-time {
    font-size: 32px;
  }
}
@media only screen and (min-width: 992px) {
  .wrap-indext .bn-time {
    font-size: clamp(24px, 2.6vw, 36px);
    line-height: 1.8;
  }
}
.wrap-indext .bn-time-arrow {
  width: 40px;
  height: 10px;
  flex-shrink: 0;
  margin-left: 10px;
  margin-right: 10px;
}
@media only screen and (min-width: 992px) {
  .wrap-indext .bn-time-arrow {
    width: 75.97px;
    height: 16.38px;
  }
}
.wrap-indext .bn-time-img {
  max-width: 250px;
  min-width: 150px;
  width: 20vw;
}
.wrap-indext .more-arrow-box {
  width: 30px;
  height: 50px;
  flex-shrink: 0;
  margin-left: auto;
  margin-right: auto;
  margin-top: 30px;
}
@media only screen and (min-width: 992px) {
  .wrap-indext .more-arrow-box {
    width: 36px;
    height: 63px;
    margin-top: 60px;
  }
}
.wrap-indext .more-arrow-box svg path:nth-of-type(1) {
  fill: #0fc;
}
.wrap-indext .more-arrow-box svg path:nth-of-type(2) {
  fill: #0fc;
}
.wrap-indext .more-arrow-box svg path:nth-of-type(3) {
  fill: #0fc;
}
.wrap-indext .more-arrow-box path {
  -webkit-animation: mouse-scroll 1s infinite;
  -moz-animation: mouse-scroll 1s infinite;
}
.wrap-indext .more-arrow-box path:nth-of-type(1) {
  -webkit-animation-delay: 0.1s;
  -moz-animation-delay: 0.1s;
  -webkit-animation-direction: alternate;
}
.wrap-indext .more-arrow-box path:nth-of-type(2) {
  -webkit-animation-delay: 0.2s;
  -moz-animation-delay: 0.2s;
  -webkit-animation-direction: alternate;
}
.wrap-indext .more-arrow-box path:nth-of-type(3) {
  -webkit-animation-delay: 0.3s;
  -moz-animation-dekay: 0.3s;
  -webkit-animation-direction: alternate;
}
.banner {
  padding-top: 60px;
}
@media only screen and (min-width: 992px) {
  .banner {
    padding-top: 80px;
  }
}
.banner .idx-bnimg-pc,
.banner .bn-title-img,
.banner .bn-large-txt,
.banner .bn-description,
.banner .bn-time-box,
.banner .more-arrow-box {
  opacity: 0;
}
.banner.ani-do .idx-bnimg-pc {
  animation: fadeIn 0.5s ease-in-out forwards;
}
.banner.ani-do .bn-title-img {
  animation: fadeInDown 0.5s ease-in-out forwards 0.2s;
}
.banner.ani-do .bn-large-txt {
  animation: fadeInDown 0.5s ease-in-out forwards 0.4s;
}
.banner.ani-do .bn-description {
  animation: fadeInRight 0.5s ease-in-out forwards 0.6s;
}
.banner.ani-do .bn-time-box {
  animation: fadeInLeft 0.5s ease-in-out forwards 0.6s;
}
.banner.ani-do .more-arrow-box {
  animation: fadeInDown 0.5s ease-in-out forwards 0.8s;
}
.purpose {
  padding: 40px 0 60px;
  background: linear-gradient(90deg, #0094d2 0.1%, #00cfa6 99.91%);
}
@media only screen and (min-width: 992px) {
  .purpose {
    padding: 60px 0 80px;
  }
}
.purpose .b-title,
.purpose .b-subtitle,
.purpose .b-description {
  opacity: 0;
}
.purpose.ani-do .b-title {
  animation: fadeInDown 0.5s ease-in-out forwards;
}
.purpose.ani-do .b-subtitle {
  animation: fadeInDown 0.5s ease-in-out forwards 0.2s;
}
.purpose.ani-do .b-description {
  animation: fadeInDown 0.5s ease-in-out forwards 0.4s;
}
.themes {
  padding: 40px 0;
  overflow-x: clip;
  position: relative;
}
@media only screen and (min-width: 992px) {
  .themes {
    padding: 60px 0 80px;
  }
}
.themes .themes-bg {
  position: absolute;
  background: url(/images/theme-bg.png) center center no-repeat;
  background-size: cover;
  width: 160%;
  height: 160%;
  top: calc(50% + 60px);
  left: calc(50% + 50px);
  transform: translate(-50%, -50%);
  z-index: -1;
}
.themes .themes-list {
  flex-wrap: wrap;
  gap: 20px;
  margin-bottom: 30px;
}
@media only screen and (min-width: 992px) {
  .themes .themes-list {
    gap: 30px;
    margin-bottom: 40px;
  }
}
.themes .themes-item {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  padding: 30px 20px;
  background: #fffc;
  border-radius: 10px;
  border: 2px solid #00ffcc;
  transition: all 0.3s ease;
}
@media only screen and (min-width: 576px) {
  .themes .themes-item {
    width: calc(50% - 10px);
  }
}
@media only screen and (min-width: 992px) {
  .themes .themes-item {
    width: calc(25% - 22.5px);
    padding: 40px 20px;
  }
}
.themes .themes-item .themes-hover {
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 8px;
  opacity: 0;
  transform: translateY(10px);
  transition: all 0.3s ease;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  min-height: 100%;
  background: #00000080;
  background: linear-gradient(90deg, #0094d2 0.1%, #00cfa6 99.91%);
  overflow-y: auto;
}
.themes .themes-item .themes-hover .themes-hover-p {
  color: #fff;
  font-size: 15px;
  padding: 20px;
  line-height: 1.6;
}
@media only screen and (min-width: 992px) {
  .themes .themes-item .themes-hover .themes-hover-p {
    font-size: 16px;
    padding: 28px;
  }
}
.themes .themes-item:hover .themes-hover {
  opacity: 1;
  transform: translateY(0);
}
.themes .themes-img1 {
  width: 120px;
  height: 113px;
  margin: 0 auto 20px;
}
@media only screen and (min-width: 576px) {
  .themes .themes-img1 {
    width: 88px;
    height: 80px;
  }
}
@media only screen and (min-width: 992px) {
  .themes .themes-img1 {
    width: 143px;
    height: 137px;
  }
}
.themes .themes-img2 {
  width: 120px;
  height: 120px;
  margin: 0 auto 20px;
}
@media only screen and (min-width: 576px) {
  .themes .themes-img2 {
    width: 88px;
    height: 80px;
  }
}
@media only screen and (min-width: 992px) {
  .themes .themes-img2 {
    width: 143px;
    height: 137px;
  }
}
.themes .themes-img3 {
  width: 120px;
  height: 120px;
  margin: 0 auto 20px;
}
@media only screen and (min-width: 576px) {
  .themes .themes-img3 {
    width: 80px;
    height: 80px;
  }
}
@media only screen and (min-width: 992px) {
  .themes .themes-img3 {
    width: 119px;
    height: 119px;
  }
}
.themes .themes-img4 {
  width: 119px;
  height: 119px;
  margin: 0 auto 20px;
}
@media only screen and (min-width: 576px) {
  .themes .themes-img4 {
    width: 80px;
    height: 80px;
  }
}
@media only screen and (min-width: 992px) {
  .themes .themes-img4 {
    width: 119px;
    height: 119px;
  }
}
.themes .themes-item-title {
  font-size: 20px;
  color: #333;
}
@media only screen and (min-width: 992px) {
  .themes .themes-item-title {
    font-size: 24px;
  }
}
.themes .b-title,
.themes .b-subtitle,
.themes .b-description,
.themes .themes-item,
.themes .rewards-notes {
  opacity: 0;
}
.themes.ani-do .b-title {
  animation: fadeInDown 0.5s ease-in-out forwards;
}
.themes.ani-do .b-subtitle {
  animation: fadeInDown 0.5s ease-in-out forwards 0.2s;
}
.themes.ani-do .b-description {
  animation: fadeInDown 0.5s ease-in-out forwards 0.4s;
}
.themes.ani-do .themes-list .themes-item:nth-of-type(1) {
  animation: fadeInDown 0.5s ease-in-out forwards 0.6s;
}
.themes.ani-do .themes-list .themes-item:nth-of-type(2) {
  animation: fadeInDown 0.5s ease-in-out forwards 0.8s;
}
.themes.ani-do .themes-list .themes-item:nth-of-type(3) {
  animation: fadeInDown 0.5s ease-in-out forwards 1s;
}
.themes.ani-do .themes-list .themes-item:nth-of-type(4) {
  animation: fadeInDown 0.5s ease-in-out forwards 1.2s;
}
.themes.ani-do .themes-list .rewards-notes {
  animation: fadeInDown 0.5s ease-in-out forwards 1.4s;
}
.eligibility {
  padding: 60px 0;
  position: relative;
  background: #1a1a2e;
}
.eligibility-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  z-index: 0;
}
.eligibility > *:not(.eligibility-bg) {
  position: relative;
  z-index: 1;
}
@media only screen and (min-width: 992px) {
  .eligibility {
    padding: 100px 0;
  }
}
@media only screen and (min-width: 992px) {
  .eligibility .elig-content {
    padding-right: 30px;
  }
}
.eligibility .eli-list {
  flex-wrap: wrap;
  gap: 60px;
  margin-bottom: 30px;
}
@media only screen and (min-width: 992px) {
  .eligibility .eli-list {
    gap: 80px;
    padding-left: 60px;
    margin-bottom: 40px;
  }
}
@media only screen and (min-width: 1320px) {
  .eligibility .eli-list {
    padding-left: 90px;
  }
}
.eligibility .eli-item {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 30px;
  padding: 0;
  background: transparent;
  border: none;
}
@media only screen and (min-width: 992px) {
  .eligibility .eli-item {
    width: 100%;
    gap: 40px;
  }
}
.eligibility .eli-item:hover {
  transform: none;
  background: transparent;
}
.eligibility .eli-img {
  width: 80px;
  height: 80px;
  margin: 0;
  flex-shrink: 0;
}
@media only screen and (min-width: 992px) {
  .eligibility .eli-img {
    width: 90px;
    height: 90px;
  }
}
@media only screen and (min-width: 992px) {
  .eligibility .eli-img.eli-img2 {
    width: 92px;
    height: 73px;
  }
}
@media only screen and (min-width: 992px) {
  .eligibility .eli-img.eli-img3 {
    width: 95px;
    height: 95px;
  }
}
.eligibility .eli-title {
  color: #fff;
  font-size: 20px;
  font-weight: 700;
  margin-bottom: 10px;
  text-align: left;
}
@media only screen and (min-width: 992px) {
  .eligibility .eli-title {
    font-size: 28px;
  }
}
.eligibility .eli-p {
  color: #fff;
  font-size: 18px;
  line-height: 1.6;
  text-align: left;
}
@media only screen and (min-width: 992px) {
  .eligibility .eli-p {
    font-size: 18px;
  }
}
.eligibility .eli-content {
  flex: 1;
}
.eligibility .b-title,
.eligibility .b-subtitle,
.eligibility .b-description,
.eligibility .eli-item,
.eligibility .b-note {
  opacity: 0;
}
.eligibility.ani-do .b-title {
  animation: fadeInDown 0.5s ease-in-out forwards;
}
.eligibility.ani-do .b-subtitle {
  animation: fadeInDown 0.5s ease-in-out forwards 0.2s;
}
.eligibility.ani-do .b-description {
  animation: fadeInDown 0.5s ease-in-out forwards 0.4s;
}
.eligibility.ani-do .eli-list .eli-item:nth-of-type(1) {
  animation: fadeInDown 0.5s ease-in-out forwards 0.6s;
}
.eligibility.ani-do .eli-list .eli-item:nth-of-type(2) {
  animation: fadeInDown 0.5s ease-in-out forwards 0.8s;
}
.eligibility.ani-do .eli-list .eli-item:nth-of-type(3) {
  animation: fadeInDown 0.5s ease-in-out forwards 1s;
}
.eligibility.ani-do .eli-list .eli-item:nth-of-type(4) {
  animation: fadeInDown 0.5s ease-in-out forwards 1.2s;
}
.eligibility.ani-do .b-note {
  animation: fadeInDown 0.5s ease-in-out forwards 1.4s;
}
.rewards {
  padding: 60px 0;
  background: linear-gradient(90deg, #d7f3ff 0.1%, #c6fff4 99.91%);
}
@media only screen and (min-width: 992px) {
  .rewards {
    padding: 100px 0;
  }
}
.rewards .rewards-list {
  position: relative;
  display: grid;
  grid-template-columns: 1fr;
  gap: 30px;
  padding: 30px 0;
}
@media only screen and (min-width: 768px) {
  .rewards .rewards-list {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media only screen and (min-width: 992px) {
  .rewards .rewards-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 40px;
    padding: 40px 0 30px;
  }
  .rewards .rewards-list .rewards-item {
    flex: 1 1 0;
    min-width: 150px;
    max-width: 250px;
  }
}
.rewards .rewards-item {
  position: relative;
  padding: 60px 30px 30px;
  text-align: center;
  transition: all 0.3s ease;
  display: flex;
  flex-direction: column;
}
@media only screen and (min-width: 992px) {
  .rewards .rewards-item {
    padding: 60px 20px 30px;
  }
}
.rewards .rewards-item:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #e3fff9;
  border: 1px solid #00cda4;
  clip-path: polygon(
    30px 0,
    100% 0,
    100% calc(100% - 30px),
    calc(100% - 30px) 100%,
    0 100%,
    0 30px
  );
  z-index: 0;
}
.rewards .rewards-item:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 40px;
  height: 40px;
  background: url(/images/edge-1.png) no-repeat center/contain;
  z-index: 1;
  transform: rotate(180deg);
}
.rewards .rewards-item .edge-decoration {
  content: "";
  position: absolute;
  bottom: -4px;
  right: -4px;
  width: 40px;
  height: 40px;
  background: url(/images/edge-1.png) no-repeat center/contain;
  z-index: 1;
}
.rewards .rewards-item:nth-of-type(2):before,
.rewards .rewards-item:nth-of-type(2) .rewards-icon {
  border: 1px solid #00c2ff;
  background: #dff7ff;
}
.rewards .rewards-item:nth-of-type(2):after,
.rewards .rewards-item:nth-of-type(2) .edge-decoration {
  background: url(/images/edge-2.png) no-repeat center/contain;
}
.rewards .rewards-item:nth-of-type(2) .rewards-title {
  color: #00c2ff;
}
.rewards .rewards-item:nth-of-type(3) {
  margin-bottom: 0;
}
.rewards .rewards-item:nth-of-type(3):before,
.rewards .rewards-item:nth-of-type(3) .rewards-icon {
  border: 1px solid #7098ff;
  background: #eef3ff;
}
.rewards .rewards-item:nth-of-type(3):after,
.rewards .rewards-item:nth-of-type(3) .edge-decoration {
  background: url(/images/edge-3.png) no-repeat center/contain;
}
.rewards .rewards-item:nth-of-type(3) .rewards-title {
  color: #7098ff;
}
.rewards .rewards-item:nth-of-type(3) img {
  margin-top: 8px;
  width: 68%;
  height: 63%;
  object-fit: contain;
}
/* Dynamic color support using CSS variables */
.rewards .rewards-item[style*="--border-color"]:before {
  border-color: var(--border-color);
  background: color-mix(in srgb, var(--border-color) 15%, white);
}
.rewards .rewards-item[style*="--border-color"] .rewards-icon {
  border-color: var(--border-color);
  background: color-mix(in srgb, var(--border-color) 15%, white);
}
.rewards .rewards-item[style*="--border-color"] .rewards-title {
  color: var(--border-color);
}
/* Top-left corner decoration - line from (0,30) to (30,0) */
.rewards .rewards-item[style*="--border-color"]:after {
  content: "";
  position: absolute;
  width: 44px;
  height: 1px;
  background: var(--border-color) !important;
  top: 15px;
  left: 15px;
  transform: translate(-50%, -50%) rotate(-45deg);
  transform-origin: center;
  z-index: 1;
}
/* Bottom-right corner decoration */
.rewards .rewards-item[style*="--border-color"] .edge-decoration {
  width: 30px;
  height: 30px;
  background: none !important;
  bottom: 0;
  right: 0;
}
.rewards .rewards-item[style*="--border-color"] .edge-decoration:before {
  content: "";
  position: absolute;
  width: 44px;
  height: 1px;
  background: var(--border-color);
  bottom: 14px;
  right: 15px;
  transform: translate(50%, 50%) rotate(-45deg);
  transform-origin: center;
}
.rewards .rewards-item .rewards-title {
  position: relative;
  z-index: 1;
  color: #00cda4;
  font-size: 20px;
  font-weight: 700;
  margin: 15px 0;
}
@media only screen and (min-width: 992px) {
  .rewards .rewards-item .rewards-title {
    font-size: 28px;
    margin: 20px 0;
  }
}
.rewards .rewards-item .rewards-desc {
  position: relative;
  z-index: 1;
  color: #333;
  font-size: 18px;
  text-align: left;
  line-height: 1.6;
  flex-grow: 1;
}
@media only screen and (min-width: 992px) {
  .rewards .rewards-item .rewards-desc {
    font-size: 18px;
  }
}
.rewards .rewards-item .rewards-desc ul { margin-bottom: 15px; }
.rewards .rewards-item .rewards-desc ul li { list-style: disc; margin-left: 23px; }
.rewards .rewards-item .rewards-desc ol { margin-bottom: 15px; }
.rewards .rewards-item .rewards-desc ol li { list-style: decimal; margin-left: 23px; }
.rewards .rewards-item .rewards-desc.footnote {
  font-size: 16px;
  margin-top: 10px;
}
.rewards .rewards-item .rewards-desc.footnote.fir {
  color: #00cda4;
}
.rewards .rewards-item .rewards-desc.footnote.sec {
  color: #00c2ff;
}
.rewards .rewards-item .rewards-desc.footnote.thi {
  color: #7098ff;
}
.rewards .rewards-icon {
  position: absolute;
  top: -40px;
  left: 50%;
  transform: translate(-50%);
  width: 90px;
  height: 90px;
  background: #e3fff9;
  border: 2px solid #00cda4;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 3;
}
@media only screen and (min-width: 992px) {
  .rewards .rewards-icon {
    width: 97px;
    height: 97px;
    top: -40px;
  }
}
.rewards .rewards-icon img {
  width: 63%;
  height: 63%;
  object-fit: contain;
}
.rewards .rewards-notes {
  margin-top: 0;
}
@media only screen and (min-width: 992px) {
  .rewards .rewards-notes {
    margin-top: 40px;
  }
}
.rewards .rewards-note {
  color: #333;
  font-size: 16px;
  line-height: 1.6;
  margin-bottom: 5px;
}
.rewards .rewards-note:last-child {
  margin-bottom: 0;
}
@media only screen and (min-width: 992px) {
  .rewards .rewards-note {
    margin-bottom: 10px;
  }
}
.rewards .b-title,
.rewards .b-subtitle,
.rewards .b-description,
.rewards .rewards-item,
.rewards .rewards-note {
  opacity: 0;
}
.rewards.ani-do .b-title {
  animation: fadeInDown 0.5s ease-in-out forwards;
}
.rewards.ani-do .b-subtitle {
  animation: fadeInDown 0.5s ease-in-out forwards 0.2s;
}
.rewards.ani-do .b-description {
  animation: fadeInDown 0.5s ease-in-out forwards 0.4s;
}
.rewards.ani-do .rewards-list .rewards-item {
  animation: fadeInDown 0.5s ease-in-out forwards calc(0.6s + (var(--i, 0) * 0.2s));
}
.rewards.ani-do .rewards-list .rewards-item:nth-of-type(1) { --i: 0; }
.rewards.ani-do .rewards-list .rewards-item:nth-of-type(2) { --i: 1; }
.rewards.ani-do .rewards-list .rewards-item:nth-of-type(3) { --i: 2; }
.rewards.ani-do .rewards-list .rewards-item:nth-of-type(4) { --i: 3; }
.rewards.ani-do .rewards-list .rewards-item:nth-of-type(5) { --i: 4; }
.rewards.ani-do .rewards-list .rewards-item:nth-of-type(6) { --i: 5; }
.rewards.ani-do .rewards-list .rewards-item:nth-of-type(7) { --i: 6; }
.rewards.ani-do .rewards-list .rewards-item:nth-of-type(8) { --i: 7; }
.rewards.ani-do .rewards-note {
  animation: fadeInDown 0.5s ease-in-out forwards 1.4s;
}
.contact {
  padding: 30px 0 20px;
  background: linear-gradient(90deg, #0094d2 0.1%, #00cfa6 99.91%);
}
@media only screen and (min-width: 992px) {
  .contact {
    padding: 40px 0 20px;
  }
}
.contact .contact-info {
  display: grid !important;
  grid-template-columns: 1fr;
  gap: 4px 40px;
  width: 100%;
}
@media only screen and (min-width: 768px) {
  .contact .contact-info {
    grid-template-columns: repeat(2, 1fr);
  }
}
.contact .contact-info p {
  color: #fff;
  font-size: 18px;
  margin-bottom: 10px;
}
@media only screen and (min-width: 992px) {
  .contact .contact-info p {
    font-size: 20px;
    margin-bottom: 20px;
  }
}
.contact .contact-info p.space {
  margin-right: 100px;
}
.contact .contact-info p span {
  color: #b5fffb;
  font-weight: 700;
}
.contact .contact-info p a {
  color: #fff;
  text-decoration: underline;
  font-size: 18px;
  margin-bottom: 10px;
}
@media only screen and (min-width: 992px) {
  .contact .contact-info p a {
    font-size: 20px;
    margin-bottom: 20px;
  }
}
.contact .contact-info p a:hover {
  opacity: 0.8;
}
.footer {
  padding: 30px 0 0;
  background: #121714;
}
.footer-content {
  padding-bottom: 20px;
  background: #121714;
  align-items: flex-start;
}
@media only screen and (min-width: 992px) {
  .footer-content {
    padding-bottom: 30px;
    align-items: center;
  }
}
.footer-left,
.footer-right {
  align-items: flex-start;
}
@media only screen and (min-width: 768px) {
  .footer-left,
  .footer-right {
    align-items: center;
  }
}
.footer-left {
  margin-bottom: 20px;
}
@media only screen and (min-width: 992px) {
  .footer-left {
    margin-bottom: 0;
    margin-right: 50px;
  }
}
.footer-text {
  color: #fff;
  font-size: 18px;
  margin-bottom: 10px;
  white-space: nowrap;
  flex-shrink: 0;
}
@media only screen and (min-width: 768px) {
  .footer-text {
    font-size: 18px;
    margin-right: 30px;
    margin-bottom: 0;
  }
}
.footer-left p,
.footer-right p {
  margin: 0;
  color: #fff;
  font-size: 14px;
  line-height: 1.8;
}
.footer-logo {
  height: 20px;
  margin-right: 20px;
}
.footer-logo:last-child {
  margin-right: 0;
}
@media only screen and (min-width: 576px) {
  .footer-logo {
    height: 20px;
  }
}
@media only screen and (min-width: 992px) {
  .footer-logo {
    height: 25px;
    margin-right: 30px;
  }
}
@media only screen and (min-width: 1200px) {
  .footer-logo {
    height: 32px;
    margin-right: 30px;
  }
}
.footer-logo.large {
  height: 28px;
}
@media only screen and (min-width: 576px) {
  .footer-logo.large {
    height: 30px;
  }
}
@media only screen and (min-width: 992px) {
  .footer-logo.large {
    height: 34px;
    margin-right: 30px;
  }
}
@media only screen and (min-width: 1200px) {
  .footer-logo.large {
    height: 50px;
  }
}
.footer-copyright {
  text-align: center;
  color: #242424;
  background: #242424;
  color: #fff;
  padding: 15px 10px;
  font-size: 14px;
}
@media only screen and (min-width: 992px) {
  .footer-copyright {
    font-size: 16px;
  }
}
.schedule {
  position: relative;
  background: #fff;
}
.schedule .ovh {
  position: relative;
  padding: 60px 0;
}
@media only screen and (min-width: 992px) {
  .schedule .ovh {
    padding: 100px 0;
  }
}
.sch-bg1 {
  position: absolute;
  top: -18%;
  left: -40%;
  width: 55%;
  height: 28%;
  transform: rotate(-45deg);
  background: linear-gradient(90deg, #d7f3ff00, #d7f3ff40 54.5%, #d7f3ff00 99%);
}
@media only screen and (min-width: 768px) {
  .sch-bg1 {
    top: -12%;
    left: -25%;
  }
}
.sch-bg2 {
  position: absolute;
  bottom: -18%;
  right: -40%;
  width: 55%;
  height: 28%;
  transform: rotate(-45deg);
  background: linear-gradient(90deg, #0095ff00, #00ffd41a 69%, #00ffd400 99%);
  z-index: 1;
}
@media only screen and (min-width: 768px) {
  .sch-bg2 {
    bottom: -12%;
    right: -25%;
  }
}
.themes .sch-bg2 {
  background: linear-gradient(90deg, #d7f3ff00, #d7f3ff40 69%, #d7f3ff00 99%);
}
.schedule .sch-timeline {
  position: relative;
  max-width: 600px;
  margin: 0 20px;
  height: fit-content;
  flex: 1;
}
.schedule .sch-timeline.line-2 {
  margin: 0 20px;
}
@media only screen and (min-width: 768px) {
  .schedule .sch-timeline.line-2 {
    margin: 65px auto;
  }
}
.schedule .sch-timeline.line-2 .sch-line {
  height: calc(100% + 40px);
}
@media only screen and (min-width: 992px) {
  .schedule .sch-timeline.line-2 .sch-line {
    height: calc(100% + 64px);
  }
}
.schedule .sch-timeline.line-2 .sch-dash {
  bottom: auto;
  top: -65px;
}
@media only screen and (min-width: 992px) {
  .schedule .sch-timeline.line-2 .sch-dash {
    top: -65px;
  }
}
@media only screen and (min-width: 768px) {
  .schedule .sch-timeline {
    margin: 0 auto 65px;
  }
}
.schedule .sch-line {
  position: absolute;
  left: 20px;
  top: 0;
  height: 100%;
  width: 2px;
  background: #00cda4;
}
@media only screen and (min-width: 992px) {
  .schedule .sch-line {
    left: 30px;
  }
}
.schedule .sch-dash {
  position: absolute;
  left: 20px;
  bottom: 0;
  width: 2px;
  height: 65px;
  background: url(/images/dash.png) center center no-repeat;
  background-size: contain;
  display: none;
}
@media only screen and (min-width: 768px) {
  .schedule .sch-dash {
    display: block;
    left: 20px;
    bottom: -65px;
  }
}
@media only screen and (min-width: 992px) {
  .schedule .sch-dash {
    left: 30px;
    bottom: -65px;
  }
}
.schedule .sch-trangle {
  position: absolute;
  left: -7px;
  bottom: -47px;
  width: 55px;
  height: 55px;
  background: url(/images/triangle.png) center center no-repeat;
  background-size: contain;
}
@media only screen and (min-width: 992px) {
  .schedule .sch-trangle {
    left: -1px;
    bottom: -71px;
    width: 63px;
    height: 63px;
  }
}
.schedule .sch-items {
  position: relative;
  z-index: 1;
}
.schedule .sch-item {
  position: relative;
  display: flex;
  align-items: flex-start;
  margin-bottom: 30px;
  padding-left: 20px;
}
@media only screen and (min-width: 992px) {
  .schedule .sch-item {
    margin-bottom: 40px;
  }
}
.schedule .sch-dot {
  position: absolute;
  width: 13px;
  height: 13px;
  background: #fff;
  border: 2px solid #00cda4;
  left: 15px;
  top: 9px;
}
@media only screen and (min-width: 992px) {
  .schedule .sch-dot {
    left: 25px;
  }
}
.schedule .sch-dot.active {
  width: 23px;
  height: 23px;
  left: 10px;
  top: 0;
  border: 1px solid #00cda4;
}
.schedule .sch-dot.active:before {
  content: "";
  position: absolute;
  width: 13px;
  height: 13px;
  background: #00cda4;
  left: 4.4px;
  top: 4px;
}
@media only screen and (min-width: 992px) {
  .schedule .sch-dot.active {
    left: 20px;
  }
}
.schedule .sch-box {
  padding-left: 40px;
}
@media only screen and (min-width: 992px) {
  .schedule .sch-box {
    padding-left: 60px;
  }
}
.schedule .sch-box.simple.fir .sch-time {
  color: #00cda4;
}
.schedule .sch-box.simple.sec .sch-time {
  color: #00bffb;
}
.schedule .sch-box.simple.thi .sch-time {
  color: #8280ff;
}
.schedule .sch-box.simple .sch-title {
  color: #333;
  font-size: 20px;
  font-weight: 700;
  margin-bottom: 5px;
}
@media only screen and (min-width: 992px) {
  .schedule .sch-box.simple .sch-title {
    font-size: 20px;
  }
}
.schedule .sch-box.simple .sch-content {
  padding: 0;
  background: transparent;
}
.schedule .sch-box.simple .sch-time {
  color: #00bffb;
}
.schedule .sch-box.highlight.sec .sch-tag {
  background: #00bffb26;
  border: 2px solid rgba(0, 191, 251, 0.4);
}
.schedule .sch-box.highlight.sec .sch-time {
  color: #00bffb;
}
.schedule .sch-box.highlight.thi .sch-tag {
  background: #8280ff1a;
  border: 2px solid rgba(130, 128, 255, 0.4);
}
.schedule .sch-box.highlight.thi .sch-time {
  color: #8280ff;
}
.schedule .sch-box.highlight .sch-tag {
  display: inline-block;
  padding: 5px 10px;
  background: #64ffe066;
  border: 2px solid rgba(0, 205, 164, 0.4);
  color: #333;
  font-size: 20px;
  font-weight: 700;
  margin-bottom: 10px;
}
@media only screen and (min-width: 992px) {
  .schedule .sch-box.highlight .sch-tag {
    font-size: 24px;
  }
}
.schedule .sch-box.highlight .sch-content {
  padding: 0;
  background: transparent;
}
.schedule .sch-tag {
  color: #00cda4;
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 10px;
}
@media only screen and (min-width: 992px) {
  .schedule .sch-tag {
    font-size: 20px;
  }
}
.schedule .sch-time {
  color: #00cda4;
  font-size: 20px;
  font-weight: 500;
  margin-bottom: 5px;
}
@media only screen and (min-width: 992px) {
  .schedule .sch-time {
    font-size: 20px;
  }
}
.schedule .sch-desc {
  color: #555;
  font-size: 18px;
}
@media only screen and (min-width: 992px) {
  .schedule .sch-desc {
    font-size: 18px;
  }
}
.schedule .sch-btn {
  display: inline-block;
  padding: 5px 20px;
  border: 2px solid #00cda4;
  color: #00cda4;
  font-size: 18px;
  display: flex;
  align-items: center;
  width: fit-content;
  margin-top: 15px;
  border-radius: 10px;
}
@media only screen and (min-width: 992px) {
  .schedule .sch-btn {
    font-size: 20px;
  }
}
@media only screen and (min-width: 992px) {
  .schedule .sch-btn:hover {
    background: #00cda4;
    color: #fff;
  }
  .schedule .sch-btn:hover .btn-arrow {
    background: url(/images/sch-arrow-w.png) center center no-repeat;
    background-size: contain;
  }
}
.schedule .sch-btn.no-event {
  border: 2px solid #888888;
  color: #888;
  pointer-events: none;
}
.schedule .btn-arrow {
  width: 40px;
  height: 13px;
  margin-left: 5px;
  background: url(/images/sch-arrow.png) center center no-repeat;
  background-size: contain;
  transition: 0.3s;
}
.schedule .b-title,
.schedule .b-subtitle,
.schedule .sch-timeline {
  opacity: 0;
}
.schedule.ani-do .b-title {
  animation: fadeInDown 0.5s ease-in-out forwards;
}
.schedule.ani-do .b-subtitle {
  animation: fadeInDown 0.5s ease-in-out forwards 0.2s;
}
.schedule.ani-do .sch-timeline:nth-of-type(1) {
  animation: fadeInRight 0.5s ease-in-out forwards 0.6s;
}
.schedule.ani-do .sch-timeline:nth-of-type(2) {
  animation: fadeInRight 0.5s ease-in-out forwards 0.8s;
}
.evaluation {
  position: relative;
  overflow-x: clip;
  padding: 60px 0;
  background: #fff;
}
@media only screen and (min-width: 992px) {
  .evaluation {
    padding: 100px 0;
  }
}
.evaluation .eval-list {
  display: flex;
  flex-wrap: wrap;
  margin: 30px 0;
}
@media only screen and (min-width: 992px) {
  .evaluation .eval-list {
    margin: 60px 0;
    gap: 40px;
  }
}
.evaluation .eval-list .eval-item {
  margin-bottom: 20px;
}
@media only screen and (min-width: 576px) {
  .evaluation .eval-list .eval-item {
    margin-bottom: 0;
  }
}
.evaluation .eval-list .eval-item .donut-txtbox:nth-of-type(1) {
  margin-right: 20px;
}
.evaluation .eval-item {
  flex: 1;
}
.evaluation .donut {
  width: 180px;
  height: 180px;
  margin-right: 0;
}
@media only screen and (min-width: 576px) {
  .evaluation .donut {
    margin-right: 10px;
  }
  .evaluation .donut-txtbox {
    text-align: left;
  }
}
@media only screen and (min-width: 768px) {
  .evaluation .donut {
    width: 230px;
    height: 230px;
    margin-right: 20px;
    margin-left: -10px;
  }
}
.evaluation .donut-ring {
  stroke-width: 5;
  fill: transparent;
}
.evaluation .donut-segment {
  stroke-width: 3.5;
  fill: transparent;
  stroke-dasharray: 0 100;
}
.evaluation .donut-hole {
  fill: url(#gradient2);
}
.evaluation .donut-percent {
  font-size: 0.4em;
  fill: #fff;
  margin-left: 10px;
}
@media only screen and (min-width: 992px) {
  .evaluation .donut-percent {
    font-size: 0.4em;
  }
}
.evaluation .donut-txtbox {
  width: 100%;
}
.evaluation .donut-txtbox h3 {
  color: #333;
  font-size: 20px;
  font-weight: 500;
  margin-bottom: 15px;
}
@media only screen and (min-width: 992px) {
  .evaluation .donut-txtbox h3 {
    font-size: 24px;
    margin-bottom: 20px;
  }
}
.evaluation .donut-txtbox p {
  color: #333;
  font-size: 18px;
  margin: 0;
}
@media only screen and (min-width: 992px) {
  .evaluation .donut-txtbox p {
    font-size: 18px;
  }
}
.evaluation .donut-txtbox ul { margin-bottom: 15px; }
.evaluation .donut-txtbox ul li { list-style: disc; margin-left: 23px; }
.evaluation .donut-txtbox ol { margin-bottom: 15px; }
.evaluation .donut-txtbox ol li { list-style: decimal; margin-left: 23px; }
.d-part {
  gap: 30px;
}
@keyframes donut-chart-fill-30 {
  0% {
    stroke-dasharray: 0 100;
  }
  to {
    stroke-dasharray: 30 70;
  }
}
@keyframes donut-chart-fill-20 {
  0% {
    stroke-dasharray: 0 100;
  }
  to {
    stroke-dasharray: 20 80;
  }
}
.evaluation .b-title,
.evaluation .b-subtitle,
.evaluation .eval-list {
  opacity: 0;
}
.evaluation.ani-do .b-title {
  animation: fadeInDown 0.5s ease-in-out forwards;
}
.evaluation.ani-do .b-subtitle {
  animation: fadeInDown 0.5s ease-in-out forwards 0.2s;
}
.evaluation.ani-do .eval-list {
  animation: fadeInRight 0.5s ease-in-out forwards 0.4s;
}
.evaluation.ani-do svg .donut-segment[stroke-dasharray="30 70"] {
  animation: donut-chart-fill-30 1s ease-in 0.8s forwards;
}
.evaluation.ani-do svg .donut-segment[stroke-dasharray="20 80"] {
  animation: donut-chart-fill-20 1s ease-in 0.8s forwards;
}
.event {
  position: relative;
  overflow-x: clip;
  padding: 60px 0;
  background: linear-gradient(90deg, #d7f3ff 0.1%, #c6fff4 99.91%);
}
@media only screen and (min-width: 992px) {
  .event {
    padding: 100px 0;
  }
}
.event-list {
  margin: 0 auto;
  border: 2px solid #00cda4;
  background: #ffffffb3;
  overflow: hidden;
  position: relative;
  z-index: 1;
}
.event-item {
  padding: 20px 30px;
  transition: all 0.3s ease;
}
.event-item:last-child {
  border-bottom: none;
}
@media only screen and (min-width: 992px) {
  .event-item {
    padding: 25px 40px;
  }
}
.event-date {
  color: #00cda4;
  font-size: 18px;
  font-weight: 600;
  width: 120px;
  letter-spacing: 5%;
  margin-bottom: 10px;
}
@media only screen and (min-width: 576px) {
  .event-date {
    margin-bottom: 0;
  }
}
@media only screen and (min-width: 992px) {
  .event-date {
    font-size: 20px;
    width: 150px;
  }
}
.event-title {
  flex: 1;
  color: #333;
  font-size: 20px;
  margin-bottom: 15px;
}
@media only screen and (min-width: 576px) {
  .event-title {
    padding: 0 10px;
    margin-bottom: 0;
  }
}
@media only screen and (min-width: 992px) {
  .event-title {
    font-size: 24px;
    padding: 0 20px;
  }
}
@media only screen and (min-width: 1320px) {
  .event-title {
    padding: 0 40px;
  }
}
.event-more {
  color: #fff;
  font-size: 18px;
  font-weight: 500;
  padding: 8px 20px;
  border-radius: 5px;
  background: linear-gradient(
    135deg,
    #10b587 20%,
    #0ec6ad 50%,
    #00d3f8 75%,
    #0bf
  );
  background-size: 200%;
  background-position: 0%;
  transition: all 0.3s ease;
  width: 100%;
  text-align: center;
  height: fit-content;
}
@media only screen and (min-width: 992px) {
  .event-more:hover {
    background-position: 50%;
  }
}
@media only screen and (min-width: 768px) {
  .event-more {
    width: 100px;
  }
}
@media only screen and (min-width: 992px) {
  .event-more {
    font-size: 20px;
    padding: 10px;
    width: 130px;
  }
}
.event .b-title,
.event .b-subtitle,
.event .event-list {
  opacity: 0;
}
.event.ani-do .b-title {
  animation: fadeInDown 0.5s ease-in-out forwards;
}
.event.ani-do .b-subtitle {
  animation: fadeInDown 0.5s ease-in-out forwards 0.2s;
}
.event.ani-do .event-list {
  animation: fadeInRight 0.5s ease-in-out forwards 0.4s;
}
.award {
  position: relative;
  overflow-x: clip;
  padding: 60px 0;
  background: url(/images/award-bg.png) no-repeat center center;
  background-size: cover;
}
@media only screen and (min-width: 992px) {
  .award {
    padding: 100px 0;
  }
}
.award-list {
  margin: 0 auto;
  border: 2px solid #00cda4;
  background: #fff;
  overflow: hidden;
  position: relative;
  z-index: 1;
}
.award-item {
  padding: 20px 30px;
  transition: all 0.3s ease;
}
.award-item:last-child {
  border-bottom: none;
}
@media only screen and (min-width: 992px) {
  .award-item {
    padding: 25px 40px;
  }
}
.award-date {
  color: #00cda4;
  font-size: 18px;
  font-weight: 600;
  width: 120px;
  letter-spacing: 5%;
  margin-bottom: 10px;
}
@media only screen and (min-width: 576px) {
  .award-date {
    margin-bottom: 0;
  }
}
@media only screen and (min-width: 992px) {
  .award-date {
    font-size: 20px;
    width: 150px;
  }
}
.award-date.cata1 {
  color: #00cda4;
}
.award-date.cata1:before {
  content: "";
  display: inline-block;
  width: 10px;
  height: 20px;
  background: #00cda4;
  vertical-align: -3px;
  margin-right: 10px;
}
.award-date.cata2 {
  color: #00c8d6;
}
.award-date.cata2:before {
  content: "";
  display: inline-block;
  width: 10px;
  height: 20px;
  background: #00c8d6;
  vertical-align: -3px;
  margin-right: 10px;
}
.award-date.cata3 {
  color: #00bffb;
}
.award-date.cata3:before {
  content: "";
  display: inline-block;
  width: 10px;
  height: 20px;
  background: #00bffb;
  vertical-align: -3px;
  margin-right: 10px;
}
.award-date.cata4 {
  color: #8280ff;
}
.award-date.cata4:before {
  content: "";
  display: inline-block;
  width: 10px;
  height: 20px;
  background: #8280ff;
  vertical-align: -3px;
  margin-right: 10px;
}
.award-date[style*="--cat-color"] {
  color: var(--cat-color) !important;
}
.award-date[style*="--cat-color"]:before {
  content: "";
  display: inline-block;
  width: 10px;
  height: 20px;
  background: var(--cat-color) !important;
  vertical-align: -3px;
  margin-right: 10px;
}
.award-title {
  flex: 1;
  color: #333;
  font-size: 20px;
  margin-bottom: 15px;
}
@media only screen and (min-width: 576px) {
  .award-title {
    padding: 0 10px;
    margin-bottom: 0;
  }
}
@media only screen and (min-width: 992px) {
  .award-title {
    font-size: 24px;
    padding: 0 20px;
  }
}
@media only screen and (min-width: 1320px) {
  .award-title {
    padding: 0 40px;
  }
}
.award-more {
  color: #fff;
  font-size: 18px;
  font-weight: 500;
  padding: 8px 20px;
  border-radius: 5px;
  background: linear-gradient(
    135deg,
    #10b587 20%,
    #0ec6ad 50%,
    #00d3f8 75%,
    #0bf
  );
  background-size: 200%;
  background-position: 0%;
  transition: all 0.3s ease;
  width: 100%;
  text-align: center;
  height: fit-content;
}
@media only screen and (min-width: 992px) {
  .award-more:hover {
    background-position: 50%;
  }
}
@media only screen and (min-width: 768px) {
  .award-more {
    width: 100px;
  }
}
@media only screen and (min-width: 992px) {
  .award-more {
    font-size: 20px;
    padding: 10px;
    width: 130px;
  }
}
.award .b-title,
.award .b-subtitle,
.award .award-list {
  opacity: 0;
}
.award.ani-do .b-title {
  animation: fadeInDown 0.5s ease-in-out forwards;
}
.award.ani-do .b-subtitle {
  animation: fadeInDown 0.5s ease-in-out forwards 0.2s;
}
.award.ani-do .award-list {
  animation: fadeInRight 0.5s ease-in-out forwards 0.4s;
}
.event-popup {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #000c;
  display: flex;
  justify-content: center;
  z-index: 9999;
  padding-top: 60px;
  padding-bottom: 30px;
}
.event-popup-content {
  position: relative;
  width: 100%;
  background: #fff;
  border: 1px solid #00cda4;
  padding: 40px 0 20px;
  animation: fadeIn 0.3s ease;
  max-height: 100%;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
@media only screen and (min-width: 992px) {
  .event-popup-content {
    padding: 70px 0 60px;
  }
}
.event-popup-close {
  position: absolute;
  top: 10px;
  right: 10px;
  background: none;
  border: none;
  cursor: pointer;
  padding: 5px;
}
@media only screen and (min-width: 992px) {
  .event-popup-close {
    top: 20px;
    right: 20px;
  }
}
.event-popup-close img {
  width: 35px;
  height: 35px;
}
@media only screen and (min-width: 992px) {
  .event-popup-close img {
    width: 45px;
    height: 45px;
  }
}
@media only screen and (min-width: 992px) {
  .event-popup-close:hover {
    opacity: 0.8;
  }
}
.event-popup-title {
  font-size: 24px;
  color: #333;
  text-align: center;
  margin-bottom: 20px;
}
@media only screen and (min-width: 992px) {
  .event-popup-title {
    font-size: 32px;
    margin-bottom: 30px;
  }
}
.event-popup-desc {
  font-size: 18px;
  color: #333;
  line-height: 1.6;
  text-align: center;
  margin-bottom: 20px;
}
@media only screen and (min-width: 992px) {
  .event-popup-desc {
    font-size: 18px;
    margin-bottom: 40px;
  }
}
.event-popup-desc2 {
  font-size: 18px;
  color: #333;
  line-height: 1.6;
  text-align: center;
}
@media only screen and (min-width: 992px) {
  .event-popup-desc2 {
    font-size: 18px;
  }
}
.event-popup .scrollbar-y {
  flex: 1;
  overflow-y: auto;
  min-height: 0;
  padding: 0 50px 20px;
}
@media only screen and (min-width: 992px) {
  .event-popup .scrollbar-y {
    padding: 0 70px 20px;
  }
}
.event-popup.for-img .event-popup-content {
  padding: 60px 0 20px;
}
@media only screen and (min-width: 992px) {
  .event-popup.for-img .event-popup-content {
    padding: 90px 0 40px;
  }
}
.event-popup.for-img .scrollbar-y {
  padding: 0 15px 20px;
}
@media only screen and (min-width: 992px) {
  .event-popup.for-img .scrollbar-y {
    padding: 0 70px 20px;
  }
}
body.popup-open {
  overflow: hidden;
  padding-right: 17px;
}
.r-video-box {
  position: relative;
  overflow: hidden;
  cursor: pointer;
  height: 0;
  padding-bottom: 56.25%;
  width: 100%;
}
.r-img-set {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
@keyframes fadeIn {
  0% {
    opacity: 0;
    transform: translateY(-20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.event-content {
  margin-bottom: 20px;
}
.event-content img {
  width: 100%;
  max-width: 100%;
  height: auto;
  margin-bottom: 20px;
  border-radius: 8px;
}
.event-content .event-popup-desc {
  font-size: 16px;
  line-height: 1.6;
  color: #333;
  margin-bottom: 20px;
}
@media only screen and (min-width: 992px) {
  .event-content .event-popup-desc {
    font-size: 18px;
  }
}
.event-content .event-popup-desc.align-left {
  text-align: left;
}
@media screen and (min-width: 1350px) {
  .x-width {
    width: 1350px;
  }
}
.award-table {
  width: 99%;
  border-collapse: collapse;
  margin: 30px 0;
  background: #fff;
  border-radius: 8px;
  box-shadow: 4px 4px 12px #00000014;
}
@media only screen and (min-width: 992px) {
  .award-table {
    margin: 40px 0;
  }
}
.award-table thead {
  background: #00cda4;
}
.award-table thead th {
  color: #fff;
  font-size: 16px;
  font-weight: 600;
  padding: 15px 12px;
  text-align: center;
  border-bottom: 2px solid #00cda4;
}
@media only screen and (min-width: 992px) {
  .award-table thead th {
    font-size: 18px;
    padding: 20px 16px;
  }
}
.award-table tbody tr {
  border-bottom: 1px solid #eeeeee;
}
.award-table tbody td {
  color: #333;
  font-size: 14px;
  line-height: 1.5;
  padding: 12px;
}
@media only screen and (min-width: 992px) {
  .award-table tbody td {
    font-size: 16px;
    padding: 16px;
  }
}
.award-table tbody .th-align {
  vertical-align: middle;
}
.award-table tbody .th-align.cata1 {
  background: #d4f1e2;
  border-bottom: 2px solid #ffffff;
}
.award-table tbody .th-align.cata2 {
  background: #d4f1ed;
  border-bottom: 2px solid #ffffff;
}
.award-table tbody .th-align.cata3 {
  background: #d4edf1;
  border-bottom: 2px solid #ffffff;
}
.award-table tbody .th-align.cata4 {
  background: #d4e4f1;
}
.scroll-table {
  overflow-x: auto;
  width: 100%;
  max-width: 100%;
  display: block;
  position: relative;
}
.faq {
  padding: 60px 0;
  background: linear-gradient(90deg, #eefaff 0.1%, #e7fffa 99.91%);
  position: relative;
}
@media only screen and (min-width: 992px) {
  .faq {
    padding: 100px 0;
  }
}
.faq-left {
  margin-bottom: 40px;
  text-align: center;
}
@media only screen and (min-width: 992px) {
  .faq-left {
    padding: 0 40px 0 0;
    margin-bottom: 0;
  }
}
.faq-img {
  width: 100%;
  max-width: 250px;
  margin-top: 0;
  margin-right: auto;
  margin-left: auto;
  display: block;
}
@media only screen and (min-width: 576px) {
  .faq-img {
    max-width: 320px;
  }
}
.faq .accordion-wrapper {
  max-width: 100%;
  margin: 0 auto;
}
.faq .accordion-item {
  border-bottom: 1px solid #cccccc;
}
.faq .accordion-title {
  background-color: transparent;
  border: none;
  outline: none;
  width: 100%;
  text-align: left;
  cursor: pointer;
  padding: 15px 0;
  display: flex;
  align-items: center;
  font-size: 20px;
  font-weight: 500;
  color: #333;
}
@media only screen and (min-width: 992px) {
  .faq .accordion-title {
    font-size: 24px;
    padding: 20px 0;
  }
}
.faq .accordion-title.is-active .icon {
  margin-right: 25px;
}
.faq .accordion-title.is-active .icon:before {
  transform: rotate(0);
}
.faq .accordion-title.is-active .icon:after {
  transform: rotate(0);
}
.faq .accordion-content {
  opacity: 0;
  padding: 0 0 0 48px;
  height: auto;
  max-height: 0;
  overflow: hidden;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  opacity: 1;
}
.faq .accordion-text {
  padding: 0 0 1rem;
  font-size: 18px;
  color: #555;
}
.faq .icon {
  width: 22px;
  height: 22px;
  position: relative;
  margin-right: 25px;
  flex-shrink: 0;
}
.faq .icon:before,
.faq .icon:after {
  content: "";
  position: absolute;
  width: 100%;
  height: 2px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: #00cda4;
  transition: all 0.3s linear;
}
.faq .icon:before {
  transform: rotate(90deg);
}
.faq .icon:after {
  transform: rotate(180deg);
}
.faq .b-title,
.faq .b-subtitle,
.faq .faq-left,
.faq .faq-right {
  opacity: 0;
}
.faq.ani-do .b-title {
  animation: fadeInDown 0.5s ease-in-out forwards;
}
.faq.ani-do .b-subtitle {
  animation: fadeInDown 0.5s ease-in-out forwards 0.2s;
}
.faq.ani-do .faq-left {
  animation: fadeInDown 0.5s ease-in-out forwards 0.4s;
}
.faq.ani-do .faq-right {
  animation: fadeInDown 0.5s ease-in-out forwards 0.6s;
}
.result {
  padding: 40px 0 60px;
  background: linear-gradient(90deg, #d7f3ff 0.1%, #c6fff4 99.91%);
  position: relative;
  overflow: hidden;
}
@media only screen and (min-width: 992px) {
  .result {
    padding: 60px 0 80px;
  }
}
.result .result-swiper {
  position: relative;
  -webkit-user-select: none;
  user-select: none;
}
.result .swiper {
  padding: 20px 2px 50px;
}
@media only screen and (min-width: 992px) {
  .result .swiper {
    padding: 20px 20px 50px;
    margin: 0 -20px;
  }
}
.result .swiper-slide {
  height: auto;
  display: flex;
  justify-content: center;
}
.result .result-slide-content {
  width: 100%;
  background: #ffffffe6;
  border-radius: 10px;
  border: 2px solid #00cda4;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease;
  padding: 10px;
  cursor: pointer;
}
@media only screen and (min-width: 992px) {
  .result .result-slide-content {
    aspect-ratio: 16/9;
    height: auto;
  }
}
.result .result-slide-content:hover {
  transform: translateY(-5px);
  border-color: #0fc;
}
.result .result-slide-content img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}
.result .b-description {
  margin-bottom: 20px !important;
}
.result .swiper-button-next,
.result .swiper-button-prev {
  color: #00cda4 !important;
  background: #ffffffe6 !important;
  width: 44px !important;
  height: 44px !important;
  border-radius: 50% !important;
  border: 2px solid #00cda4 !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
}
@media only screen and (min-width: 992px) {
  .result .swiper-button-next,
  .result .swiper-button-prev {
    width: 48px !important;
    height: 48px !important;
  }
}
.result .swiper-button-next:after,
.result .swiper-button-prev:after {
  font-size: 20px !important;
  font-weight: 700 !important;
}
.result .swiper-button-next:hover,
.result .swiper-button-prev:hover {
  background: #00cda4 !important;
  color: #fff !important;
}
.result .swiper-button-next {
  right: 0 !important;
}
.result .swiper-button-prev {
  left: 0 !important;
}
.result .swiper-pagination {
  bottom: 10px !important;
}
.result .swiper-pagination .swiper-pagination-bullet {
  background: #00cda4 !important;
  opacity: 0.3 !important;
  width: 10px !important;
  height: 10px !important;
}
.result
  .swiper-pagination
  .swiper-pagination-bullet.swiper-pagination-bullet-active {
  opacity: 1 !important;
  background: #00cda4 !important;
}
.result .b-title,
.result .b-description,
.result .result-swiper {
  opacity: 0;
}
.result.ani-do .b-title {
  animation: fadeInDown 0.5s ease-in-out forwards;
}
.result.ani-do .b-description {
  animation: fadeInDown 0.5s ease-in-out forwards 0.2s;
}
.result.ani-do .result-swiper {
  animation: fadeInUp 0.5s ease-in-out forwards 0.4s;
}
.burger-menu .burger-ul .burger-drop.open {
  display: block;
}

/* === Overrides for static HTML (originally controlled by Vue) === */
.burger-menu {
  display: none;
}
.accordion-content {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease;
}

/* Event Category Tabs */
.event-tabs {
  gap: 10px;
  margin-bottom: 20px;
}
.event-tab-btn {
  padding: 6px 20px;
  border-radius: 20px;
  border: 2px solid #00cda4;
  background: transparent;
  color: #00cda4;
  cursor: pointer;
  font-size: 15px;
  font-weight: 500;
  transition: all 0.3s ease;
}
.event-tab-btn:hover {
  background: #00cda4;
  color: #fff;
}
.event-tab-btn.active {
  background: #00cda4;
  color: #fff;
}

/* Event Popup / Lightbox */
.event-popup {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 9999;
  justify-content: center;
  align-items: center;
}
.event-popup.active {
  display: flex;
}
.event-popup-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
}
.event-popup-content {
  position: relative;
  width: 100%;
  max-width: 900px;
  background: #fff;
  border: 1px solid #00cda4;
  padding: 60px 0 20px;
  animation: fadeIn 0.3s ease;
  max-height: 100%;
  overflow: hidden;
  margin: 20px;
}
.event-popup.for-img .event-popup-content {
  padding: 60px 0 20px;
}
.event-popup-close {
  position: absolute;
  top: 12px;
  right: 12px;
  width: 36px;
  height: 36px;
  background: none;
  border: 2px solid #00cda4;
  border-radius: 50%;
  color: #00cda4;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease;
  z-index: 1;
  padding: 0;
}
.event-popup-close:hover {
  background: #00cda4;
  color: #fff;
}
.event-popup-img {
  display: block;
  max-width: 100%;
  max-height: 75vh;
  margin: 0 auto;
  object-fit: contain;
  padding: 0 20px;
}
@keyframes fadeIn {
  0% {
    opacity: 0;
    transform: translateY(-20px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
.event-popup-close svg {
  display: block;
}
.scrollbar-y {
  overflow-y: auto;
  max-height: calc(100vh - 140px);
  padding: 0 30px;
}
.event-popup-title {
  font-size: 22px;
  font-weight: 700;
  color: #333;
  margin-bottom: 20px;
  text-align: center;
}
.event-popup-desc {
  font-size: 16px;
  color: #333;
  line-height: 1.8;
}
.event-popup-desc strong {
  color: #00cda4;
}
.event-content {
  padding: 0;
}
.r-video-box {
  position: relative;
  width: 100%;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
  border-radius: 10px;
}
.r-video-box iframe,
.r-video-box .r-img-set {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.mb-30 {
  margin-bottom: 30px;
}
.w-full {
  width: 100%;
}
.align-left {
  text-align: left;
}
.event-table-wrap {
  overflow-x: auto;
  margin-bottom: 20px;
}
.event-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 15px;
}
.event-table th,
.event-table td {
  border: 1px solid #ddd;
  padding: 10px 12px;
  text-align: left;
  vertical-align: middle;
}
.event-table thead th {
  background: #00cda4;
  color: #fff;
  font-weight: 700;
  white-space: nowrap;
}
.event-table .th-align {
  text-align: center;
  font-weight: 700;
}
.event-table .cata1 {
  color: #0094d2;
}
.event-table .cata2 {
  color: #00a88e;
}
.event-table .cata3 {
  color: #ff8c00;
}
.event-table .cata4 {
  color: #e91e63;
}
.button.bd-pri {
  border: 2px solid #00cda4;
  width: fit-content;
  border-radius: 5px;
  background: linear-gradient(
    135deg,
    #10b587 20%,
    #0ec6ad 50%,
    #00d3f8 75%,
    #0bf
  );
  background-size: 200%;
  background-position: 0%;
  text-align: center;
  transition: all 0.3s ease-in-out;
  color: #fff;
  padding: 8px 10px;
  min-width: 160px;
  display: block;
  margin-top: 20px;
}
.button.bd-pri:hover {
  background-position: 100%;
  color: #fff;
}
.button.bd-pri.normal {
  padding: 8px 10px;
  min-width: 160px;
  display: block;
}
@media only screen and (min-width: 992px) {
  .event-popup-content {
    padding: 70px 0 60px;
  }
  .event-popup.for-img .event-popup-content {
    padding: 90px 0 40px;
  }
  .scrollbar-y {
    padding: 0 60px;
  }
  .event-popup-title {
    font-size: 26px;
  }
  .button.bd-pri {
    padding: 12px;
  }
  .button.bd-pri.normal {
    min-width: 200px;
    padding: 10px 30px;
  }
}

/* CKEditor 5 content styles for frontend display */
.event-content .image {
  display: table;
  clear: both;
  text-align: center;
  margin: 0.9em auto;
}
.event-content .image img {
  display: block;
  margin: 0 auto;
  max-width: 100%;
  min-width: 50px;
  height: auto;
}
.event-content .image-style-align-left {
  float: left;
  margin-right: 1.5em;
  margin-bottom: 1em;
}
.event-content .image-style-align-right {
  float: right;
  margin-left: 1.5em;
  margin-bottom: 1em;
}
.event-content .image-style-align-center {
  margin-left: auto;
  margin-right: auto;
}
.event-content .image-style-side {
  float: right;
  margin-left: 1.5em;
  margin-bottom: 1em;
  max-width: 50%;
}
.event-content .image > figcaption {
  display: table-caption;
  caption-side: bottom;
  word-break: break-word;
  color: #333;
  background: #f7f7f7;
  padding: 0.6em;
  font-size: 0.75em;
  outline-offset: -1px;
}
.event-content .image-inline {
  display: inline-flex;
  max-width: 100%;
  align-items: flex-start;
}
.event-content .image-inline img {
  flex-grow: 1;
  flex-shrink: 1;
  max-width: 100%;
}
.event-content img.image_resized {
  height: auto;
}
.event-content .image.image_resized {
  max-width: 100%;
  display: block;
  box-sizing: border-box;
}
.event-content .image.image_resized img {
  width: 100%;
}
.event-content .image.image_resized > figcaption {
  display: block;
}
.event-content .text-tiny {
  font-size: 0.7em;
}
.event-content .text-small {
  font-size: 0.85em;
}
.event-content .text-big {
  font-size: 1.4em;
}
.event-content .text-huge {
  font-size: 1.8em;
}
.event-content blockquote {
  overflow: hidden;
  padding-right: 1.5em;
  padding-left: 1.5em;
  margin: 1em 0;
  border-left: 5px solid #ccc;
}
.event-content .table {
  margin: 0.9em auto;
  display: table;
}
.event-content .table table {
  border-collapse: collapse;
  border-spacing: 0;
  border: 1px double #b3b3b3;
}
.event-content .table table td,
.event-content .table table th {
  min-width: 2em;
  padding: 0.4em;
  border: 1px solid #bfbfbf;
}
.event-content .table table th {
  font-weight: bold;
  background: rgba(0, 0, 0, 0.05);
}
.event-content hr {
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1.5em 0;
}
.event-content a {
  color: #00cda4;
}
.event-content p {
  margin: 0;
}
.event-content::after {
  content: "";
  display: block;
  clear: both;
}

/* CKEditor 5 media embed (YouTube etc.) */
.event-content .media {
  clear: both;
  margin: 0.9em auto;
  display: block;
}
.event-content .media div[data-oembed-url] {
  position: relative;
  width: 100%;
}
.event-content .media div[data-oembed-url] > div {
  position: relative !important;
  padding-bottom: 56.25% !important;
  height: 0 !important;
}
.event-content .media div[data-oembed-url] iframe {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  border: 0;
}

/* Hide table borders when table contains media embed */
.event-content figure.table:has(.media) {
  border: none;
}
.event-content figure.table:has(.media) table {
  border: none !important;
  background: transparent;
  border-collapse: collapse;
  width: 100% !important;
}
.event-content figure.table:has(.media) table td,
.event-content figure.table:has(.media) table th {
  border: none !important;
  background: transparent;
  padding: 0;
}
.event-content figure.table:has(.media) .media {
  margin: 0;
  clear: none;
}

/* Table alignment — CKEditor uses inline float:left / float:right / margin:auto */
.event-content figure.table {
  display: table;
  margin: 0.9em auto;
}
.event-content figure.table[style*="float:left"],
.event-content figure.table[style*="float: left"] {
  margin-left: 0;
  margin-right: 1.5em;
}
.event-content figure.table[style*="float:right"],
.event-content figure.table[style*="float: right"] {
  margin-right: 0;
  margin-left: 1.5em;
}

/* Single timeline: dash becomes solid line */
.schedule .sch-dash.solid {
  background: #00cda4 !important;
  background-image: none !important;
}
.schedule .sch-timeline.single {
  margin-bottom: 0;
}

/* Normalize CKEditor output inside schedule desc */
.schedule .sch-desc p { margin: 0; }
.schedule .sch-desc a {
  color: #4cd9d9;
  text-decoration: underline;
  font-weight: 700;
}
.schedule .sch-desc a:hover {
  color: #00cda4;
}

/* Eligibility force white text */
.eligibility .elig-content,
.eligibility .elig-content *,
.eligibility .b-note,
.eligibility .b-note * {
  color: #fff;
}

/* Eligibility description links */
.eligibility .b-description a,
.eligibility .b-note a {
  color: #4cd9d9;
  text-decoration: underline;
  font-weight: 700;
}
.eligibility .b-description a:hover,
.eligibility .b-note a:hover {
  color: #fff;
}

/* Anchor offset for fixed header */
section[id] {
  scroll-margin-top: 70px;
}
@media only screen and (min-width: 992px) {
  section[id] {
    scroll-margin-top: 90px;
  }
}

/* CKEditor alignment classes */
.text-align-left { text-align: left; }
.text-align-center { text-align: center; }
.text-align-right { text-align: right; }
.text-align-justify { text-align: justify; }

/* CKEditor content: compact paragraph spacing for titles and labels */
.b-title p,
.footer-text p,
.eli-title p,
.themes-item-title p,
.donut-txtbox h3 p,
.accordion-title p {
  margin: 0;
  display: inline;
}

/* CKEditor content: remove double spacing for block content areas */
.b-description p,
.b-note p,
.eli-p p,
.donut-txtbox div p,
.themes-hover-p p,
.sch-desc p,
.rewards-desc p,
.event-popup-desc p,
.event-content p,
.footer-copyright p,
.register-btn p {
  margin: 0;
}
