/* Poppins and Playfair Display */
@import url("https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap&family=Playfair+Display:ital,wght@0,400..900;1,400..900");

html {
  font-size: 62.5%;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  scroll-behavior: smooth;
}

body {
  font-family: "Poppins", sans-serif;
  font-size: 1.6rem;
  line-height: 1.2;
  color: #fff;
  background: #02151c;
  margin: 0;
  padding: 0;
  position: relative;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: "Poppins", sans-serif;
}

.cc-btn {
  padding: 0.94vw 1.8vw;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.52vw;
  font-family: "Poppins", sans-serif;
  font-size: 1.5vw;
  font-weight: 500;
  text-align: center;
  border-radius: 4.17vw;
  color: #000000;
  background-image: linear-gradient(45deg, #b58a3c, #e7d780, #b58a3c, #e7d780);
  background-size: 330% 100%;
  background-position: 0 0;
  transition: background 1.6s cubic-bezier(0.55, 0.1, 0.47, 0.94) !important;
  transition: background 3.6s cubic-bezier(0.97, 0.01, 0.24, 0.99) !important;
  transition: filter 0.3s, transform 0.3s;
  animation: textura 3.4s ease 0s infinite;
  position: relative;
}

@keyframes textura {
  from {
    background-position: 0% 0%;
  }
  to {
    background-position: 100% 0%;
  }
}

.cc-btn img {
  width: 1.35vw;
}

.cc-btn::before {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  opacity: 0;
  border-radius: 4.17vw;
  box-shadow: 0vw 0.89vw 2.81vw 0vw rgb(210 169 39 / 80%);
  transition: opacity 0.3s;
  z-index: -1;
}

.cc-btn:hover::before {
  opacity: 1;
}

.cc-btn:hover,
form input[type="submit"]:hover {
  /* filter: brightness(115%);
  transform: translateY(-0.52vw); */
}

p {
  font-weight: 300;
  line-height: 1.3;
}

p span {
  font-weight: 600;
}

.s01 {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  background-image: linear-gradient(135deg, #042633, #02151c);
  z-index: 1;
}

.s01::before {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-image: linear-gradient(transparent, transparent, #02151c);
  z-index: -1;
}

.s01-bg {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: -1;
}

.s01-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.s01-wrap {
  width: 71.43vw;
  padding: 8.45vw 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.s01 h1 {
  width: 26.19vw;
  padding: 0 0 2vw;
}

.s01 h1 img {
  width: 100%;
}

.s01 p.p01 {
  width: 30.36vw;
  font-size: 1.55vw;
  text-align: left;
  padding: 0 0 2.4vw;
}

.s01 p.p01 span {
  font-weight: 600;
}

.s01 .cc-btn {
  min-width: 42%;
  margin: 0;
}

.line {
  position: relative;
}

.line::before {
  position: absolute;
  content: "";
  width: 100%;
  height: 0.1rem;
  top: 0;
  left: 0;
  background-image: linear-gradient(90deg, #c7a64b57, #c7a64b, #c7a64b57);
}

.s02 {
  position: relative;
  z-index: 2;
}

.s02-bg {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: -1;
}

.s02-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.s02-wrap {
  width: 71.43vw;
  margin: 0 auto;
  padding: 5.95vw 0;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.s02 h2 {
  width: 32vw;
  padding: 0 0 2vw;
  font-family: "Playfair Display";
  font-size: 3.8vw;
  font-weight: 700;
  line-height: 1.1;
  background: linear-gradient(135deg, #fff7a9, #c7a64b);
  background: linear-gradient(
    90deg,
    #7f5924 -22.35%,
    #ac8035 -2.35%,
    #d9b057 15.72%,
    #e8d881 42.35%,
    #d1b563 58.23%,
    #c29345 71.18%,
    #d2b360 83.53%,
    #eadd81 98.24%
  );
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.s02 p.p01 {
  width: 40vw;
  font-size: 1.25vw;
}

.s02 p.p01 strong {
  font-weight: 700;
}

.s02 p.p01.gold {
  width: 31.55vw;
  font-weight: 700;
  color: #dbb45b;
}

.s02 p.p01 + p {
  padding: 1.19vw 0 0;
}

.s02 .cc-btn {
  margin: 2vw 0 0;
}

.s03 {
  padding: 3.57vw 0 4.76vw;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.s03 h2 {
  width: 44vw;
  padding: 0 0 2vw;
  font-family: "Playfair Display";
  font-size: 2.9vw;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
  background: linear-gradient(135deg, rgb(255, 247, 169), rgb(199, 166, 75))
    text;
  background: linear-gradient(
    90deg,
    #7f5924 -22.35%,
    #ac8035 -2.35%,
    #d9b057 15.72%,
    #e8d881 42.35%,
    #d1b563 58.23%,
    #c29345 71.18%,
    #d2b360 83.53%,
    #eadd81 98.24%
  );
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.s03 p.p01 {
  width: 42.86vw;
  font-size: 1.43vw;
  text-align: center;
}

.s03 p.p01 + p {
  padding: 1.19vw 0 0;
}

.s03 .splide {
  width: 100%;
  padding: 2.62vw 0 2vw;
  position: relative;
  display: flex;
}

.s03 .splide::before,
.s03 .splide::after {
  position: absolute;
  content: "";
  width: 5.95vw;
  height: 100%;
  top: 0;
  left: 0;
  background-image: linear-gradient(
    90deg,
    #02151c,
    rgb(2 21 28 / 70%),
    transparent
  );
  z-index: 2;
}

.s03 .splide::after {
  left: initial;
  right: 0;
  background-image: linear-gradient(
    270deg,
    #02151c,
    rgb(2 21 28 / 70%),
    transparent
  );
}

.s03 .splide__arrows {
  z-index: 6;
}

.s03 .splide__pagination {
  margin: 0 0 -4vw;
  gap: 0.2vw;
}

.s03 .splide__pagination__page {
  width: 1vw;
  height: 1vw;
  background: #e688ae;
  transition: width 0.3s, border-radius 0.3s;
}

.s03 .splide__pagination__page.is-active {
  width: 4vw;
  transform: none;
  border-radius: 3.57vw;
  background: #ed6ea1;
}

.s03-item {
  display: flex;
  flex-direction: column;
  gap: 1vw;
}

.s03-item + a {
  width: 100%;
  height: 100%;
  position: absolute;
}

.s03-item img {
  width: 100%;
  border-radius: 0.71vw;
}

.s04 {
  padding: 5vw 0 4vw;
  display: flex;
  flex-direction: column;
  align-items: center;
  background-color: #000104;
  position: relative;
  z-index: 1;
}

.s04-bg {
  position: absolute;
  width: 100%;
  top: 0;
  left: 0;
  z-index: -1;
}

.s04-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.s04 h2 {
  width: 56vw;
  padding: 0 0 1.4vw;
  font-family: "Playfair Display";
  font-size: 3.8vw;
  font-weight: 700;
  line-height: 1.1;
  text-align: center;
  text-transform: uppercase;
  -webkit-text-fill-color: transparent;
  background: linear-gradient(135deg, rgb(255, 247, 169), rgb(199, 166, 75))
    text;
  background: linear-gradient(
    90deg,
    #7f5924 -22.35%,
    #ac8035 -2.35%,
    #d9b057 15.72%,
    #e8d881 42.35%,
    #d1b563 58.23%,
    #c29345 71.18%,
    #d2b360 83.53%,
    #eadd81 98.24%
  );
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.s04 p.p01 {
  width: 46vw;
  font-size: 1.19vw;
  text-align: center;
}

.s04-progress {
  width: 38vw;
  max-width: 36.9vw;
  margin: 1.8vw auto 0.5vw;
}

.s04-progress-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  margin: 0 0 0.6vw;
}

.s04-progress-count {
  font-size: 1.07vw;
  letter-spacing: 0.02em;
  color: rgba(255, 255, 255, 0.78);
}

.s04-progress-pct {
  font-family: "Playfair Display", serif;
  font-size: 2.38vw;
  font-weight: 700;
  line-height: 1.3;
  background: linear-gradient(135deg, #fff7a9, #c7a64b);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

.s04-progress-track {
  position: relative;
  height: 1.19vw;
  border-radius: 59.46vw;
  background: #0a1d24;
  box-shadow: inset 0 0 0 0.06vw rgba(212, 175, 55, 0.35),
    inset 0 0.12vw 0.36vw rgba(0, 0, 0, 0.6);
  overflow: hidden;
}

.s04-progress-fill {
  position: relative;
  width: 0;
  height: 100%;
  border-radius: 59.46vw;
  background: linear-gradient(
    90deg,
    #b58a3c,
    #e7d780,
    #d9b057,
    #e8d881,
    #c5994a
  );
  background-size: 200% 100%;
  box-shadow: 0 0 0.71vw rgba(212, 175, 55, 0.65);
  transition: width 1.6s cubic-bezier(0.22, 0.68, 0.24, 0.99);
  animation: s04-progress-shine 3s linear infinite;
  overflow: hidden;
}

/* Width grows from 0 to the real percentage once the bar scrolls into view. */
.s04-progress.is-visible .s04-progress-fill {
  width: var(--pct);
}

/* Highlight sweeping across the fill for a lively, premium feel. */
.s04-progress-fill::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: linear-gradient(
    100deg,
    transparent 20%,
    rgba(255, 255, 255, 0.55) 50%,
    transparent 80%
  );
  transform: translateX(-100%);
  animation: s04-progress-sweep 2.6s ease-in-out infinite;
}

@keyframes s04-progress-shine {
  0% {
    background-position: 0% 0;
  }
  100% {
    background-position: 200% 0;
  }
}

@keyframes s04-progress-sweep {
  0% {
    transform: translateX(-100%);
  }
  60%,
  100% {
    transform: translateX(100%);
  }
}

@media screen and (max-width: 600px) {
  .s04-progress {
    width: 79.17vw;
    max-width: 86vw;
    margin: 6vw auto 2vw;
  }
  .s04-progress-count {
    font-size: 3.2vw;
  }
  .s04-progress-pct {
    font-size: 6vw;
  }
}

@media (prefers-reduced-motion: reduce) {
  .s04-progress-fill {
    transition: width 0.4s ease;
    animation: none;
  }
  .s04-progress-fill::after {
    animation: none;
  }
}

.s04 .t06 {
  width: 100%;
}

.s04 .t06-carousel {
  width: auto;
  margin: 3vw 0 2vw;
}

.t06 .splide-wrap {
  width: auto !important;
}

.x04 {
  display: flex;
  position: relative;
}

.x04-item {
  width: 50%;
  min-height: 42.86vw;
  padding: 2.98vw 4.17vw;
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
}

.x04 .video::before {
  position: absolute;
  content: "";
  top: 0;
  left: 100%;
  width: 0.24vw;
  height: 100%;
  transform: translateX(-50%);
  background-image: linear-gradient(#d9b057, #e8d881, #c5994a);
}

.x04-bg {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: -1;
}

.x04-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.x04 h2 {
  font-family: "Playfair Display";
  font-size: 2.9vw;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
  text-transform: uppercase;
  background: linear-gradient(135deg, rgb(255, 247, 169), rgb(199, 166, 75))
    text;
  background: linear-gradient(
    90deg,
    #7f5924 -22.35%,
    #ac8035 -2.35%,
    #d9b057 15.72%,
    #e8d881 42.35%,
    #d1b563 58.23%,
    #c29345 71.18%,
    #d2b360 83.53%,
    #eadd81 98.24%
  );
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.x04 p.p01 {
  padding: 1.2vw 0 2vw;
  font-size: 1.55vw;
  line-height: 1.2;
  text-align: center;
  color: #fff;
}

.x04-play {
  margin: 3vw auto 0;
  cursor: pointer;
  pointer-events: initial;
  border-radius: 50%;
  position: relative;
}

.x04-play::before {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  opacity: 0;
  border-radius: 50%;
  box-shadow: 0vw 0.89vw 2.81vw 0vw rgb(210 169 39 / 80%);
  transition: opacity 0.3s;
}

.x04-play:hover::before {
  opacity: 1;
}

.s05 {
  padding: 5vw 0 4.76vw;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.s05 h2 {
  width: 44vw;
  padding: 0 0 2vw;
  font-family: "Playfair Display";
  font-size: 2.9vw;
  font-weight: 700;
  line-height: 1.1;
  text-align: center;
  background: linear-gradient(135deg, rgb(255, 247, 169), rgb(199, 166, 75))
    text;
  background: linear-gradient(
    90deg,
    #7f5924 -22.35%,
    #ac8035 -2.35%,
    #d9b057 15.72%,
    #e8d881 42.35%,
    #d1b563 58.23%,
    #c29345 71.18%,
    #d2b360 83.53%,
    #eadd81 98.24%
  );
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.s05 p.p01 {
  width: 45.24vw;
  font-size: 1.43vw;
  text-align: center;
}

.s05 .splide {
  width: 68.75vw;
  margin: 2.74vw 0 2vw;
  position: relative;
  display: flex;
}

.s05 .splide::before,
.s05 .splide::after {
  position: absolute;
  content: "";
  width: 5.95vw;
  height: 100%;
  top: 0;
  left: 0;
  /* background-image: linear-gradient(
    90deg,
    #000104,
    rgb(0 1 4 / 70%),
    transparent
  ); */
  z-index: 2;
}

.s05 .splide::after {
  left: initial;
  right: 0;
  background-image: linear-gradient(
    270deg,
    #02151c,
    rgb(2 21 28 / 70%),
    transparent
  );
}

.s05 .splide__arrows {
  z-index: 6;
}

.s05 .splide__pagination {
  margin: 0 0 -4vw;
  gap: 0.2vw;
}

.s05 .splide__pagination__page {
  width: 1vw;
  height: 1vw;
  background: #e688ae;
  transition: width 0.3s, border-radius 0.3s;
}

.s05 .splide__pagination__page.is-active {
  width: 4vw;
  transform: none;
  border-radius: 3.57vw;
  background: #ed6ea1;
}

.s05-item {
  width: 16.31vw;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: flex-start;
  gap: 0.36vw;
  border: 0.1rem solid #737e82;
  border-radius: 0.71vw;
  overflow: hidden;
}

.s05-item > a {
  width: 100%;
  padding: 13.99vw 0.83vw 1.79vw;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: flex-start;
  gap: 0.36vw;
  border-radius: 0.71vw;
  overflow: hidden;
}

.s05-item img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: -1;
}

.s05 h3 {
  padding: 0.36vw 1.31vw;
  font-size: 0.6vw;
  font-weight: 500;
  border: 0.1rem solid #fff;
  border-radius: 1.31vw;
}

.s05 h4 {
  font-family: "Playfair Display";
  font-size: 1.8vw;
  font-weight: 700;
  line-height: 1.2;
  -webkit-text-fill-color: transparent;
  background: linear-gradient(135deg, rgb(255, 247, 169), rgb(199, 166, 75))
    text;
}

.y07 {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  z-index: 1;
}

.y07-bg {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: -1;
}

.y07-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.y07-wrap {
  width: 71.43vw;
  margin: 0 auto;
  padding: 14.88vw 0;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.y07 h2 {
  width: 40.48vw;
  padding: 0 0 2vw;
  font-family: "Playfair Display";
  font-size: 4.52vw;
  font-weight: 700;
  line-height: 1.1;
  background: linear-gradient(135deg, #fff7a9, #c7a64b);
  background: linear-gradient(
    90deg,
    #7f5924 -22.35%,
    #ac8035 -2.35%,
    #d9b057 15.72%,
    #e8d881 42.35%,
    #d1b563 58.23%,
    #c29345 71.18%,
    #d2b360 83.53%,
    #eadd81 98.24%
  );
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.y07 p.p01 {
  width: 33.33vw;
  font-size: 1.9vw;
}

.y07 p.p01 strong {
  font-weight: 700;
}

.y07 p.p01 + p {
  padding: 1.19vw 0 0;
}

.y07 .cc-btn {
  margin: 2vw 0 0;
  padding: 1.19vw 4.76vw;
  font-size: 1.79vw;
}

.x07 {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 3.57vw 0vw 4.76vw;
}

.x07 h2 {
  width: 44vw;
  font-family: "Playfair Display";
  font-size: 2.9vw;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
  -webkit-text-fill-color: transparent;
  padding: 0vw 0vw 2vw;
  background: linear-gradient(135deg, rgb(255, 247, 169), rgb(199, 166, 75))
    text;
}

.x07-row {
  width: 71.43vw;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 1.19vw;
  row-gap: 4.29vw;
}

.x07-item {
  width: 14.6vw;
  display: flex;
  align-items: center;
  gap: 0.48vw;
}

.x07 p.p01 {
  font-size: 1.25vw;
  font-weight: 600;
}

.x07 p.p02 {
  font-size: 0.83vw;
}

.x07 p.p03 {
  width: 28.57vw;
  padding: 4.29vw 0 2.26vw;
  font-size: 1.43vw;
  font-weight: 500;
}

.s08 {
  padding: 6.55vw 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3.39vw;
}

.s08 h2 {
  width: 57.38vw;
  margin: 0;
  font-family: "Playfair Display";
  font-size: 2.98vw;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
  background: linear-gradient(
    90deg,
    #7f5924 -22.35%,
    #ac8035 -2.35%,
    #d9b057 15.72%,
    #e8d881 42.35%,
    #d1b563 58.23%,
    #c29345 71.18%,
    #d2b360 83.53%,
    #eadd81 98.24%
  );
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.s08-avatars {
  display: flex;
}

.s08-avatars img {
  width: 42.44vw;
  height: auto;
}

.s08-text {
  width: 57.38vw;
  display: flex;
  flex-direction: column;
  gap: 1.07vw;
}

.s08 p.p01 {
  margin: 0;
  font-size: 1.7vw;
  font-weight: 400;
  line-height: 1.21;
  text-align: center;
}

.s08 .cc-btn {
  margin: 0;
  padding: 1.01vw 2.38vw;
  font-size: 1.67vw;
  font-weight: 600;
  line-height: 1.05;
  color: #02151c;
  text-decoration: none;
}

.video-container {
  width: 70vw;
  margin: 0 auto;
  border-radius: 1.53vw;
  overflow: hidden;
}

.video-main {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
}

.video-main iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: inherit;
  background-color: #000;
}

.cc-lightbox {
  display: flex;
  align-items: center;
  justify-content: center;
  transform: translate(-110vw);
  transition: transform 0.3s ease-in-out;
  padding: 2em;
  position: fixed;
  top: 0;
  left: 0;
  color: white;
  background: rgba(0, 0, 0, 0.5);
  width: 100vw;
  height: 100vh;
  z-index: 994;
}

.cc-lightbox-show {
  transform: translate(0);
}

.cc-lightbox-player {
  /* width: 70vw;
  height: calc(70vw * 0.56);
  max-height: 90vh; */
  position: relative;
}

.cc-lightbox-close {
  position: absolute;
  top: -2.5rem;
  right: -2.5rem;
  display: flex;
  width: 4rem;
  height: 4rem;
  background: #5d5d5d;
  border-radius: 50%;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 20;
}

.cc-lightbox-close::before,
.cc-lightbox-close::after {
  content: "";
  position: absolute;
  width: 0.4rem;
  height: 70%;
  top: 50%;
  transition: 0.3s all;
  transform: translateY(-50%) rotate(45deg);
  transform-origin: center;
  background-color: #ddc74e;
}

.cc-lightbox-close::after {
  transform: translateY(-50%) rotate(-45deg);
}

.cc-lightbox-close:hover::after {
  color: #f6157c;
}

.cc-lightbox iframe {
  width: 100%;
  height: 100%;
}

.hide-desktop {
  display: none;
}

@media screen and (max-width: 600px) {
  .cc-btn {
    min-width: 80vw;
    padding: 3.5vw 2.5vw;
    font-size: 4.6vw;
    border-radius: 8vw;
  }
  .cc-btn::before {
    border-radius: 8vw;
  }
  h2 {
    width: 86vw;
    font-size: 6vw;
  }
  p {
    font-size: 3.7vw;
  }
  .s01::before {
    background: #06151a;
  }
  .s01-wrap {
    width: 86vw;
    padding: 70.83vw 0 12.5vw;
    align-items: center;
  }
  .s01 h1 {
    width: 77.92vw;
    padding: 0 0 4.17vw;
  }
  .s01-bg {
    height: initial;
  }
  .s01 p.p01 {
    width: 100%;
    padding: 0 0 6vw;
    font-size: 4.5vw;
    text-align: center;
  }
  .s01 .cc-btn {
    width: 100%;
    font-size: 4.17vw;
    gap: 2vw;
  }
  .cc-btn img {
    width: 4.6vw;
  }
  .s02-bg {
    height: initial;
  }
  .s02-wrap {
    width: 85.42vw;
    padding: 69.17vw 0 11.67vw;
    align-items: center;
  }
  .s02 h2 {
    width: 78vw;
    padding: 0 0 6vw;
    font-size: 9vw;
    text-align: center;
  }
  .s02 p.p01 {
    width: 100%;
    font-size: 4.17vw;
    text-align: center;
  }
  .s02 p.p01.gold {
    width: 100%;
  }
  .s02 p.p01 + p.p01 {
    padding: 4vw 0 0;
  }
  .video-container {
    width: 87.5vw;
    margin: 0 auto;
  }
  .s02 .cc-btn {
    margin: 8vw auto 0;
  }
  .s03 {
    padding: 12.5vw 0 4.17vw;
  }
  .s03 h2 {
    width: 74vw;
    padding: 0 0 6vw;
    font-size: 9vw;
  }
  .s03 p.p01 {
    width: 77.71vw;
    font-size: 4.17vw;
  }
  .s03 p.p01 + p {
    padding: 3vw 0 0;
  }
  .s03 .splide {
    width: 90vw;
    padding: 8vw 0;
  }
  .s04 {
    padding: 12.5vw 0;
  }
  .s04 h2 {
    width: 86vw;
    padding: 0 0 4vw;
    font-size: 7.4vw;
  }
  .s04 p.p01 {
    width: 79.17vw;
    font-size: 4.17vw;
  }
  .s04 .t06 {
    width: 95.83vw;
    margin: 4vw 0 8vw;
  }
  .x04 {
    flex-direction: column;
  }
  .x04-item {
    width: 100%;
    min-height: 100vw;
    padding: 8vw;
  }
  .x04 .video::before {
    width: 100%;
    height: 0.63vw;
    top: 100%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-image: linear-gradient(90deg, #d9b057, #e8d881, #c5994a);
  }
  .x04-bg {
    height: initial;
    top: initial;
    bottom: 0;
  }
  .x04 h2 {
    font-size: 7vw;
  }
  .x04 p.p01 {
    width: 78vw;
    padding: 3vw 0 5vw;
    font-size: 4.17vw;
  }
  .x04 .cc-btn {
    margin: 0 auto 38vw;
  }
  .s05 {
    padding: 14.58vw 0;
  }
  .s05 h2 {
    width: 74vw;
    padding: 0 0 6vw;
    font-size: 9vw;
  }
  .s05 p.p01 {
    width: 83.33vw;
    padding: 0 0 2vw;
    font-size: 4.17vw;
  }
  .s05 .splide {
    width: 95.83vw;
    margin: 6vw 0;
  }
  .s05 .splide::before,
  .s05 .splide::after {
    width: 12vw;
  }
  .s05-item {
    border-radius: 2.5vw;
  }
  .s05-item > a {
    padding: 67.08vw 4.58vw 6.67vw;
    gap: 1.25vw;
  }
  .s05 h3 {
    padding: 1.46vw 5vw;
    font-size: 2.29vw;
    font-weight: 400;
    border-radius: 8vw;
  }
  .s05 h4 {
    font-size: 7vw;
  }
  .y07-bg {
    height: initial;
  }
  .y07-wrap {
    width: 77.71vw;
    padding: 70vw 0 18vw;
    align-items: center;
  }
  .y07 h2 {
    width: 81vw;
    padding: 0 0 4vw;
    font-size: 10vw;
    text-align: center;
  }
  .y07 p.p01 {
    width: 80vw;
    font-size: 4.58vw;
    text-align: center;
  }
  .y07 .cc-btn {
    margin: 6vw 0 0;
    padding: 3.33vw;
    font-size: 5vw;
  }
  .s08 {
    padding: 12.92vw 0 14.58vw;
    gap: 0;
  }
  .s08 h2 {
    width: 72.5vw;
    font-size: 9.38vw;
  }
  .s08-avatars {
    margin: 10.42vw 0 0;
  }
  .s08-avatars img {
    width: 63.75vw;
  }
  .s08-text {
    width: 80.42vw;
    margin: 8.54vw 0 0;
    gap: 3.75vw;
  }
  .s08 p.p01 {
    font-size: 5.21vw;
  }
  .s08 .cc-btn {
    min-width: 75.63vw;
    margin: 10.42vw 0 0;
    padding: 3.75vw 3.33vw;
    font-size: 4.17vw;
  }
  .cc-video-popup img {
    width: 35.83vw;
    height: 20.2vw;
    object-fit: cover;
  }
  .video-container {
    width: 87.5vw;
  }
  .hide-desktop {
    display: flex;
  }
  .hide-mobile {
    display: none;
  }
}
