.container {
  position: relative; }
  @media (max-width: 991.98px) {
    .gallery .container, .video .container, .process .container, .gifts .container, .sponsor .container, .apply-banner .container, .news-row .container, .faq .container, .get-touch .container {
      max-width: 680px;
      margin-left: auto;
      margin-right: auto;
      width: 100%; } }

.landing-hero {
  position: relative;
  display: flex;
  flex-direction: column;
  margin-bottom: 14.75em; }
  @media (max-width: 1399.98px) {
    .landing-hero {
      margin-bottom: 2.875em; } }
  @media (min-width: 992px) {
    .landing-hero__row {
      display: flex;
      align-items: center;
      flex-direction: row-reverse; } }
  .landing-hero .img-holder-static {
    width: 150%;
    right: -50px;
    overflow: hidden;
    border-top-left-radius: 30px;
    border-bottom-left-radius: 30px; }
    @media (max-width: 991.98px) {
      .landing-hero .img-holder-static {
        width: 100%;
        right: -20px; } }
  .landing-hero__img {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 5.375em 0em;
    flex: 1 1 54%; }
    @media (max-width: 991.98px) {
      .landing-hero__img {
        max-width: 640px;
        margin: auto;
        padding: 2.25em 0em 1.25em; } }
    .landing-hero__img:before {
      content: "";
      position: absolute;
      inset: 0 -50px 0 0;
      border-radius: 12.5em 0em 0em 3.125em;
      background-color: #213468; }
      @media (max-width: 991.98px) {
        .landing-hero__img:before {
          border-radius: 7.5em 0em 0em 3.125em;
          right: -50vw; } }
    .landing-hero__img .img-holder {
      position: relative;
      z-index: 1;
      width: 61.2389380531%; }
  .landing-hero__img-layer {
    position: absolute;
    pointer-events: none;
    top: 4%;
    right: 0;
    width: 73.6086175943%; }
  .landing-hero__body {
    padding: 5em 4em 5em 0em;
    flex: 0 0 43.125em; }
    @media (min-width: 992px) and (max-width: 1399.98px) {
      .landing-hero__body {
        flex: 0 0 36.25em;
        padding-right: 2em; } }
    @media (max-width: 991.98px) {
      .landing-hero__body {
        padding: 0;
        margin: 0 auto 1.875em;
        max-width: 640px; } }
  .landing-hero__title {
    font-size: 3.375em;
    font-weight: 500;
    line-height: 1.1851851852;
    letter-spacing: -0.025em;
    margin-bottom: 0.1851851852em;
    color: #213468; }
    @media (max-width: 991.98px) {
      .landing-hero__title {
        font-size: 2em;
        margin: 1em 0em 0.3125em; } }
    @media (max-width: 575.98px) {
      .landing-hero__title {
        margin-top: 0.5em; } }
  .landing-hero__subtitle {
    display: flex;
    align-items: center;
    margin-bottom: 1.5625em;
    color: #00aef0; }
    .landing-hero__subtitle span {
      font-size: 2.5em;
      font-weight: 600;
      line-height: 1.175;
      letter-spacing: -0.025em; }
      @media (max-width: 991.98px) {
        .landing-hero__subtitle span {
          font-size: 1.75em; } }
    .landing-hero__subtitle img {
      margin-right: 0.9375em;
      flex: 0 0 10.0625em;
      width: 10.0625em; }
      @media (max-width: 1399.98px) {
        .landing-hero__subtitle img {
          flex: 0 0 6.375em;
          width: 6.375em; } }
  .landing-hero__tag {
    position: relative;
    margin-top: 2.125em;
    padding: 1.625em 1.5em;
    background-color: #eff1f4;
    border-radius: 1.875em;
    box-shadow: 0.375em 0.375em 0.75em #d6d6d9, -0.375em -0.375em 0.75em #ffffff; }
    @media (min-width: 992px) and (max-width: 1399.98px) {
      .landing-hero__tag {
        font-size: 0.875em; } }
    @media (max-width: 991.98px) {
      .landing-hero__tag {
        font-size: 0.8em; } }
    .landing-hero__tag:before {
      content: "";
      position: absolute;
      top: -5.5em;
      right: -2.625em;
      border: 3.75em solid transparent;
      pointer-events: none;
      color: #00aef0;
      border-bottom-color: currentColor;
      transform: rotate(45deg); }
  .landing-hero__tag-title {
    color: #213468;
    font-size: 1.25em;
    font-weight: 500;
    line-height: 1.4;
    margin-bottom: 0.6em;
    padding-right: 1.6em; }
  .landing-hero__tag-desc {
    font-size: 1.125em;
    line-height: 1.3333333333; }
    html:not([lang="en"]) .landing-hero__tag-desc {
      line-height: 1.6;
      padding-right: 1.3333333333em; }
  .landing-hero__scroll-down {
    position: absolute;
    left: 50px;
    bottom: 0;
    color: #888fa2;
    text-transform: uppercase;
    display: flex;
    align-items: center;
    font-weight: 500; }
    @media (max-width: 991.98px) {
      .landing-hero__scroll-down {
        display: none; } }
    .landing-hero__scroll-down .icon {
      font-size: 1.125em;
      margin-left: 0.3888888889em; }
  .landing-hero .container {
    flex: 1 0 auto;
    width: 100%; }

.detail {
  position: relative;
  z-index: 1;
  background-color: #eff1f4;
  margin-top: -3.125em;
  border-radius: 3.125em 3.125em 0em 0em;
  padding: 10em 0em 11em; }
  @media (max-width: 767.98px) {
    .detail {
      padding: 3.75em 0em 3.25em; } }
  .detail__bg {
    position: absolute;
    inset: 20.75em auto auto -12.1875%;
    width: 32.5520833333%;
    padding-bottom: 32.5520833333%;
    background-image: url(../images/landing/graphic_bg_02.svg);
    background-size: contain;
    background-repeat: no-repeat;
    pointer-events: none; }
  .detail__headline {
    font-size: 1.5em;
    color: #213468;
    letter-spacing: -0.025em;
    line-height: 1.1666666667;
    margin-bottom: 1.25em;
    text-align: center; }
    @media (max-width: 767.98px) {
      .detail__headline {
        font-size: 1.25em;
        margin-bottom: 0.4em; } }
  .detail__body {
    display: flex;
    align-content: center;
    justify-content: center;
    flex-wrap: wrap;
    margin-bottom: 1.5em; }
    @media (min-width: 768px) {
      .detail__body {
        height: 22.5em;
        flex-direction: column; } }
    @media (min-width: 768px) and (max-width: 991.98px) {
      .detail__body {
        font-size: 0.75em; } }
    @media (max-width: 767.98px) {
      .detail__body {
        max-width: 20.9375rem;
        margin-left: auto;
        margin-right: auto; } }
  .detail__item {
    max-width: 15.375em; }
    @media (min-width: 768px) {
      .detail__item {
        width: 19.5em;
        max-width: 19.5em; }
        .detail__item:nth-child(2), .detail__item:nth-child(3), .detail__item:nth-child(4) {
          order: 1;
          text-align: right; }
        .detail__item:nth-child(5), .detail__item:nth-child(6) {
          order: 3; } }
    @media (max-width: 767.98px) {
      .detail__item {
        margin: 0em 0.25em 0.6875em;
        flex: 0 0 100%;
        width: 100%; } }
  .detail__item-text {
    display: inline-block;
    padding: 0.6em 1.2em;
    border-radius: 1.4em;
    line-height: 1.5;
    font-weight: 500; }
    @media (min-width: 768px) {
      .detail__item-text {
        font-size: 1.25em;
        margin-bottom: 0.9em; } }
    @media (max-width: 767.98px) {
      .detail__item-text {
        display: block; } }
  .detail__item:nth-child(odd) .detail__item-text {
    background-color: #fff;
    color: #213468; }
  .detail__item:nth-child(even) .detail__item-text {
    background-color: #213468;
    color: #fff; }
  .detail__img {
    width: 22.5em;
    height: 22.5em;
    margin: 0em 0.75em;
    break-after: always;
    position: relative; }
    @media (min-width: 768px) {
      .detail__img {
        order: 2; } }
    @media (min-width: 992px) and (max-width: 1199.98px) {
      .detail__img {
        width: 17.5em;
        height: 17.5em; } }
    @media (max-width: 767.98px) {
      .detail__img {
        width: 12.1875em;
        height: 12.1875em;
        margin: 0em 0em 1em; } }
    .detail__img .lottie-player {
      position: absolute;
      width: 70%;
      left: 26%;
      top: 0;
      margin-top: 1%;
      height: 100%;
      transform: translateZ(0px); }
  .detail__btn-holder {
    text-align: center; }
  .detail .btn {
    position: relative;
    background-color: #00aef0; }
    .detail .btn:before {
      content: "";
      position: absolute;
      inset: 0;
      transition: 0.3s ease;
      width: 100%;
      height: 100%;
      background-image: linear-gradient(to right, #00aef0 20%, #005778 100%); }
    .detail .btn:not(:hover):before {
      opacity: 0; }
  .detail h2 {
    text-align: center;
    margin-bottom: 0.4em; }

.process {
  margin-bottom: 7.5em; }
  @media (max-width: 767.98px) {
    .process {
      margin-bottom: 3.375em; } }
  .process__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 2.25em; }
    @media (max-width: 767.98px) {
      .process__head {
        margin-bottom: 0.75em; } }
  .process__control {
    white-space: nowrap; }
  .process__slide {
    width: 51.75em; }
    @media (min-width: 768px) {
      .process__slide {
        display: flex;
        align-items: flex-start;
        justify-content: space-between; } }
    @media (max-width: 767.98px) {
      .process__slide {
        width: 40em; } }
    @media (max-width: 575.98px) {
      .process__slide {
        width: 20.9375rem; } }
    @media (max-width: 1199.98px) {
      .process__slide {
        font-size: 0.8em; } }
  .process__img {
    position: relative;
    flex: 0 0 22.5em;
    height: 26.5625em;
    box-shadow: 0.375em 0.375em 0.75em #d6d6d9, -0.375em -0.375em 0.75em #ffffff;
    border-radius: 1.875em;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #eff1f4; }
    @media (max-width: 767.98px) {
      .process__img {
        margin-bottom: 1.5em; } }
    @media (max-width: 767.98px) {
      .process__img {
        height: 15.625em; } }
    .process__img .img-holder {
      width: 11.75em;
      height: 11.75em; }
  .process__body {
    flex: 0 0 26.25em; }
  .process__index {
    position: absolute;
    top: 1.625em;
    left: 1.625em;
    width: 4.875em;
    height: 4.875em;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background-color: #eff1f4;
    box-shadow: inset 0.375em 0.375em 0.75em #d6d6d9, inset -0.375em -0.375em 0.75em #ffffff; }
    .process__index span {
      font-size: 1.75em;
      color: #213468;
      font-weight: 500;
      text-align: center; }
  .process__date {
    display: inline-block;
    padding: 0.5625em 1.25em;
    border-radius: 1.75em;
    line-height: 1;
    background-color: #00aef0;
    color: #fff;
    font-weight: 500;
    margin-bottom: 1.125em; }
    .process__date span {
      font-size: 1.25em; }
  .process__title {
    font-size: 1.875em;
    font-weight: 500;
    letter-spacing: -0.025em;
    line-height: 1.2;
    margin-bottom: 0.4em; }
  .process__list-title {
    color: #00aef0;
    font-size: 1.25em;
    font-weight: 500;
    line-height: 1.5;
    margin-bottom: 0.2em; }
  .process__list-desc {
    font-size: 1.125em;
    line-height: 1.3333333333; }
    html:not([lang="en"]) .process__list-desc {
      line-height: 1.6; }
  .process__list-desc + .process__list-title {
    margin-top: 1em; }
  @media (min-width: 768px) {
    .process__pagination {
      display: none; } }
  .process__remark {
    margin-top: 2em; }
    @media (max-width: 767.98px) {
      .process__remark {
        font-size: 0.8888888889em; } }
    .process__remark p {
      line-height: 1.5; }

.gifts {
  position: relative;
  padding: 5.75em 0em 8.5em; }
  @media (max-width: 767.98px) {
    .gifts {
      padding: 2.875em 0em 5.625em; } }
  .gifts__bg {
    position: absolute;
    inset: 0 auto auto 69.1666666667%;
    width: 41.6666666667%;
    padding-bottom: 41.6666666667%;
    background-image: url(../images/landing/graphic_bg_03.svg);
    background-size: contain;
    background-repeat: no-repeat;
    pointer-events: none; }
  .gifts__desc h3 {
    font-size: 1.875em;
    letter-spacing: -0.025em;
    font-weight: 500;
    line-height: 1.2;
    margin-bottom: 0.1666666667em; }
  .gifts__desc p {
    font-size: 1.125em;
    line-height: 1.3333333333; }
    @media (max-width: 767.98px) {
      .gifts__desc p {
        font-size: 0.9em; } }
  .gifts__row {
    white-space: nowrap;
    overflow: auto;
    width: calc(100% + 2.5em);
    margin: 0em -1.25em;
    padding: 1.5em 1.25em; }
  .gifts__item {
    display: inline-block;
    line-height: 1;
    white-space: initial;
    width: 18.125em;
    vertical-align: top; }
    @media (max-width: 767.98px) {
      .gifts__item {
        width: 12.5em; } }
    .gifts__item + .gifts__item {
      margin-left: 2.1875em; }
  .gifts__item-img {
    position: relative;
    width: 18.125em;
    height: 18.125em;
    overflow: hidden;
    border-radius: 999px;
    box-shadow: 0.375em 0.375em 0.75em #d6d6d9, -0.375em -0.375em 0.75em #ffffff;
    background-color: #eff1f4;
    margin-bottom: 0.9375em; }
    @media (max-width: 767.98px) {
      .gifts__item-img {
        width: 12.5em;
        height: 12.5em; } }
    .gifts__item-img .img-holder {
      position: absolute;
      inset: 0; }
  .gifts__item-title {
    text-align: center;
    font-size: 1.25em;
    font-weight: 500;
    line-height: 1.5;
    color: #213468; }
    @media (max-width: 767.98px) {
      .gifts__item-title {
        font-size: 0.9em; } }
  .gifts__remark {
    font-size: 1.125em;
    line-height: 1.3333333333; }
    @media (max-width: 767.98px) {
      .gifts__remark {
        font-size: 0.9em; } }
  .gifts h2 {
    margin-bottom: 0.3em; }

.sponsor {
  position: relative;
  margin: 0em 0em 3.75em;
  border-radius: 3.125em 3.125em 0em 0em;
  padding: 2.125em 0em 5.25em; }
  @media (max-width: 767.98px) {
    .sponsor {
      padding: 0em 0em;
      margin-bottom: 0; } }
  .sponsor__bg {
    position: absolute;
    background-repeat: no-repeat;
    pointer-events: none; }
    .sponsor__bg--1 {
      inset: auto -13.0208333333% 0 auto;
      background-image: url(../images/landing/graphic_bg_04.svg);
      width: 27.0833333333%;
      padding-bottom: 27.0833333333%; }
    .sponsor__bg--2 {
      inset: 15em 81.6666666667% 0 auto;
      background-image: url(../images/landing/graphic_bg_05.svg);
      width: 21.7708333333%;
      padding-bottom: 27.0833333333%; }
  .sponsor__body {
    border-radius: 1.875em;
    padding: 1.75em 2.375em 2.125em;
    background-color: #eff1f4;
    box-shadow: 0.375em 0.375em 0.75em #d6d6d9, -0.375em -0.375em 0.75em #ffffff; }
    @media (max-width: 767.98px) {
      .sponsor__body {
        font-size: 0.8em;
        padding-left: 1.25em;
        padding-right: 1.25em; } }
    .sponsor__body + .sponsor__body {
      margin-top: 2em; }
  .sponsor__region {
    display: inline-block;
    padding: 0.6875em 1.25em 0.625em;
    background-color: #00aef0;
    color: #fff;
    font-weight: 500;
    line-height: 1;
    border-radius: 1.75em;
    margin-bottom: 1em; }
    .sponsor__region span {
      font-size: 1.25em; }
  @media (min-width: 768px) {
    .sponsor__list {
      column-count: 2;
      column-gap: 2.25em; } }
  .sponsor__item {
    break-inside: avoid;
    margin-bottom: 1em; }
  .sponsor__name {
    font-size: 1.25em;
    line-height: 1.5;
    font-weight: 500;
    color: #213468;
    margin-bottom: 0.2em; }
  .sponsor__title {
    font-size: 1.125em;
    line-height: 1.2222222222; }
  .sponsor h2 {
    margin-bottom: 0.44em; }

.faq {
  position: relative;
  padding-bottom: 10em; }
  @media (max-width: 767.98px) {
    .faq {
      padding-bottom: 6.375em; } }
  .faq__bg {
    position: absolute;
    inset: 0 auto auto -12.1875%;
    width: 25.7291666667%;
    padding-bottom: 25.7291666667%;
    background-image: url(../images/landing/graphic_bg_02.svg);
    background-position: -12.1875% 0;
    background-repeat: no-repeat;
    pointer-events: none; }
  .faq__box {
    box-shadow: 0.375em 0.375em 0.75em #d6d6d9, -0.375em -0.375em 0.75em #ffffff;
    border-radius: 1.875em;
    padding: 2em 2.625em;
    transition: 0.3s ease;
    background-color: #eff1f4; }
    @media (max-width: 767.98px) {
      .faq__box {
        padding: 1.25em; } }
    .faq__box + .faq__box {
      margin-top: 1.375em; }
    .faq__box:not(.active):hover {
      background-color: #e0e2e5; }
  .faq__head {
    display: flex;
    width: 100%;
    justify-content: space-between;
    align-items: center;
    color: #213468;
    transition: 0.3s ease;
    position: relative;
    text-align: left; }
    .faq__head:before {
      content: "";
      position: absolute;
      inset: -2em -2.625em; }
    .faq__head .icon {
      color: #888fa2;
      transition: 0.3s ease; }
      @media (min-width: 768px) {
        .faq__head .icon {
          font-size: 1.375em; } }
  .faq__box:not(.active) .faq__head .icon {
    transform: rotate(135deg); }
  .faq__box.active .faq__head {
    color: #00aef0; }
    .faq__box.active .faq__head:before {
      bottom: -1em; }
  .faq__title {
    font-weight: 500;
    line-height: 1.5; }
    @media (min-width: 768px) {
      .faq__title {
        font-size: 1.25em; } }
  .faq__body {
    padding-top: 0.875em;
    position: static; }
    @media (min-width: 768px) {
      .faq__body {
        font-size: 1.125em; } }
  .faq h2 {
    margin-bottom: 0.32em; }

.get-touch {
  position: relative;
  background-color: #e0e2e5;
  border-radius: 3.125em 3.125em 0em 0em;
  padding: 6.875em 0em 10.75em;
  margin: 0em 0em -3.125em; }
  @media (max-width: 767.98px) {
    .get-touch {
      padding: 2.5em 0em 5.625em;
      margin: 0; } }
  @media (min-width: 1200px) {
    .get-touch__row {
      display: flex; } }
  .get-touch__head {
    flex: 0 0 22.5em; }
  .get-touch__remark {
    color: #888fa2;
    font-weight: 500; }
  @media (max-width: 1199.98px) {
    .get-touch__form {
      margin-top: 1.25em; } }
  .get-touch h2 {
    margin-bottom: 0.2em; }

.form__body {
  display: flex;
  align-items: stretch;
  justify-content: space-around;
  flex-wrap: wrap;
  width: calc(100% + 1.25em);
  margin: 0 -0.625em; }
  @media (max-width: 575.98px) {
    .form__body {
      width: calc(100% + 0.875em);
      margin: 0 -0.4375em; } }
.form__field {
  padding: 0em 0.625em;
  margin-bottom: 1.875em;
  display: flex;
  flex-direction: column; }
  @media (max-width: 575.98px) {
    .form__field {
      padding: 0em 0.4375em;
      margin-bottom: 1.25em; } }
  .form__field--title, .form__field--tel-prefix {
    flex: 0 0 25%; }
    @media (max-width: 991.98px) {
      .form__field--title, .form__field--tel-prefix {
        flex: 0 0 33.3333333333%; } }
  @media (max-width: 575.98px) {
    .form__field--title {
      flex: 0 0 100%; } }
  @media (max-width: 575.98px) {
    .form__field--tel-prefix {
      flex: 0 0 5.75em;
      max-width: 5.75em; } }
  .form__field--name {
    flex: 0 0 37.5%; }
    @media (max-width: 991.98px) {
      .form__field--name {
        flex: 0 0 33.3333333333%; } }
    @media (max-width: 575.98px) {
      .form__field--name {
        flex: 0 0 100%; } }
  .form__field--tel {
    flex: 0 0 75%; }
    @media (max-width: 991.98px) {
      .form__field--tel {
        flex: 0 0 66.6666666667%; } }
    @media (max-width: 575.98px) {
      .form__field--tel {
        flex: 1 1 auto; } }
  .form__field--mail, .form__field--message {
    flex: 0 0 100%; }
.form__label {
  display: block;
  margin-bottom: 0.625em;
  color: #213468;
  font-weight: 500; }
.form__input {
  padding: 1em;
  border-radius: 0.625em;
  background-color: #fff;
  border: none;
  line-height: 1em;
  width: 100%;
  max-width: 100%; }
  @media (max-width: 575.98px) {
    .form__input {
      padding: 0.875em; } }
  .form__input:focus {
    outline: none; }
.form__tnc {
  display: flex;
  align-items: flex-start; }
  .form__tnc input {
    display: none; }
.form__tnc-body {
  position: relative;
  padding-left: 2.25em; }
  @media (max-width: 575.98px) {
    .form__tnc-body {
      font-size: 0.8em; } }
  .form__tnc-body:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 1.375em;
    height: 1.375em;
    border-radius: 0.3125em;
    background-color: #fff;
    cursor: pointer; }
  .form__tnc-body:after {
    content: "\ea10";
    position: absolute;
    font-size: 1.5em;
    top: -0.2083333333em;
    left: 0.0833333333em;
    font-family: "icomoon" !important;
    speak: never;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    color: #213468;
    transition: 0.1s ease;
    transform-origin: 50% 60%; }
  input:not(:checked) + .form__tnc-body:after {
    transform: scale(0); }
.form__message, .form__tnc-message {
  margin-top: 0.5em;
  display: none;
  color: #ef6e6e; }
.form__submit {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 1.5em;
  width: 100%;
  height: 4.375em;
  border-radius: 999px; }
  .form__submit:before {
    content: "";
    position: absolute;
    inset: 0;
    transition: 0.3s ease;
    width: 100%;
    height: 100%;
    background-image: linear-gradient(to right, #213468 20%, #1f66ad 100%); }
  .form__submit:not(:hover):before {
    opacity: 0; }
  .form__submit.disabled {
    pointer-events: none !important; }
  .form__submit.done {
    background-color: #00aef0; }
  .form__submit:not(.done) span:last-child, .form__submit.done span:first-child {
    display: none; }
.form textarea {
  height: 5.25em;
  resize: none; }
