/* 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 3.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;
}

.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: 62.5vw;
  padding: 8.45vw 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

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

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

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

.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: 62.5vw;
  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: 2.9vw;
  font-weight: 700;
  line-height: 1.2;
  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: 26vw;
  font-size: 1.19vw;
}

.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: 35vw;
  font-size: 1.19vw;
  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 {
  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 {
  padding: 0 0 1.4vw;
  font-family: "Playfair Display";
  font-size: 2.9vw;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
  -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: 38vw;
  font-size: 1.19vw;
  text-align: center;
}

.s04 .splide {
  width: 62.5vw;
  margin: 54vw 0 2vw;
  position: relative;
  display: flex;
}

.s04 .splide::before,
.s04 .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;
}

.s04 .splide::after {
  left: initial;
  right: 0;
  background-image: linear-gradient(
    270deg,
    #000104,
    rgb(0 1 4 / 70%),
    transparent
  );
}

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

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

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

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

.s04-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;
}

.s04-item > a {
  width: 100%;
  height: 100%;
  padding: 16.79vw 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;
}

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

.s04 h3 {
  padding: 0.36vw 1.31vw;
  font-size: 0.54vw;
  border: 0.1rem solid #fff;
  border-radius: 1.31vw;
}

.s04 h4 {
  font-family: "Playfair Display";
  font-size: 1.9vw;
  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;
}

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

.x04-item {
  width: 50%;
  min-height: 37.26vw;
  padding: 2.62vw 5vw;
  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;
  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.3vw;
  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.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;
}

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

.s05 .splide {
  width: 62.5vw;
  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: 16.79vw 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;
}

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

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

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

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

.s06 h2 {
  width: 24vw;
  padding: 0 0 2vw;
  font-family: "Playfair Display";
  font-size: 2.9vw;
  font-weight: 700;
  line-height: 1.2;
  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;
}

.s06 p.p01 {
  width: 26.8vw;
  font-size: 1.19vw;
}

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

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

.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: 62.5vw;
  margin: 0 auto;
  padding: 5.95vw 0;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.y07 h2 {
  width: 28vw;
  padding: 0 0 2vw;
  font-family: "Playfair Display";
  font-size: 2.9vw;
  font-weight: 700;
  line-height: 1.2;
  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: 26.8vw;
  font-size: 1.19vw;
}

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

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

.s07 {
  padding: 6.79vw 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  background-color: #000a0d;
}

.s07 h2 {
  width: 44vw;
  padding: 0 0 2.38vw;
  font-family: "Playfair Display";
  font-size: 2.9vw;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
  color: #fff;
}

.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: 62.5vw;
  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: 5vw 0 4.4vw;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.s08 h2 {
  width: 32vw;
  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;
}

.s08 img {
  padding: 0 0 2.08vw;
}

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

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

.s08 .cc-btn {
  margin: 2.08vw auto 0;
}

.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,
  form input[type="submit"] {
    width: 90%;
    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: 70vw;
    padding: 0 0 6vw;
    font-size: 4.5vw;
    text-align: center;
  }
  .s01 .cc-btn {
    gap: 2vw;
  }
  .cc-btn img {
    width: 4.6vw;
  }
  .s02-bg {
    height: initial;
  }
  .s02-wrap {
    width: 77.71vw;
    padding: 69.17vw 0 11.67vw;
    align-items: center;
  }
  .s02 h2 {
    width: 78vw;
    padding: 0 0 6vw;
    font-size: 7vw;
    text-align: center;
  }
  .s02 p.p01 {
    width: 100%;
    font-size: 3.7vw;
    text-align: center;
  }
  .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: 7vw;
  }
  .s03 p.p01 {
    width: 77.71vw;
    font-size: 3.7vw;
  }
  .s03 p.p01 + p {
    padding: 3vw 0 0;
  }
  .s03 .splide {
    width: 90vw;
    padding: 8vw 0;
  }
  .s04 {
    padding: 12.5vw 0;
  }
  .s04 h2 {
    width: 74vw;
    padding: 0 0 4vw;
    font-size: 7vw;
  }
  .s04 p.p01 {
    width: 77.71vw;
    font-size: 3.7vw;
  }
  .s04 .splide {
    width: 95.83vw;
    margin: 116vw 0 8vw;
  }
  .s04 .splide::before,
  .s04 .splide::after {
    width: 12vw;
  }
  .s04-item {
    border-radius: 2.5vw;
  }
  .s04-item > a {
    padding: 67.08vw 4.58vw 6.67vw;
    gap: 1.25vw;
  }
  .s04 h3 {
    padding: 1.46vw 5vw;
    font-size: 2.29vw;
    font-weight: 400;
    border-radius: 8vw;
  }
  .s04 h4 {
    font-size: 7.71vw;
  }
  .x04 {
    flex-direction: column;
  }
  .x04-item {
    width: 100%;
    min-height: 90vw;
    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: 5vw 0;
    font-size: 3.7vw;
  }
  .x04 .cc-btn {
    margin: 0 auto 38vw;
  }
  .s05 {
    padding: 12.5vw 0;
  }
  .s05 h2 {
    width: 74vw;
    padding: 0 0 6vw;
    font-size: 7vw;
  }
  .s05 p.p01 {
    width: 77.71vw;
    font-size: 3.7vw;
  }
  .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;
  }
  .s06-wrap {
    width: 77.71vw;
    padding: 70vw 0 12vw;
    align-items: center;
  }
  .s06-bg {
    height: initial;
  }
  .s06 h2 {
    width: 56vw;
    padding: 0 0 4vw;
    font-size: 7vw;
    text-align: center;
  }
  .s06 p.p01 {
    width: 100%;
    font-size: 3.4vw;
    text-align: center;
  }
  .s06 p.p01 + p {
    padding: 3vw 0 0;
  }
  .s06 .cc-btn {
    margin: 6vw 0 0;
  }
  .y07-bg {
    height: initial;
  }
  .y07-wrap {
    width: 77.71vw;
    padding: 70vw 0 18vw;
    align-items: center;
  }
  .y07 h2 {
    width: 70vw;
    padding: 0 0 4vw;
    font-size: 7vw;
    text-align: center;
  }
  .y07 p.p01 {
    width: 100%;
    font-size: 3.4vw;
    text-align: center;
  }
  .y07 .cc-btn {
    margin: 6vw 0 0;
  }
  .s07 {
    padding: 16vw 0;
  }
  .s07 h2 {
    width: 80vw;
    padding: 0 0 6vw;
    font-size: 6.4vw;
  }
  .s07 .cc-btn {
    width: 80vw;
  }
  .s08 {
    padding: 16vw 0;
  }
  .s08 h2 {
    width: 68vw;
    padding: 0 0 6vw;
    font-size: 7vw;
  }
  .s08 img {
    width: 63.33vw;
    padding: 0 0 6vw;
  }
  .s08 p.p01 {
    width: 62.5vw;
    font-size: 3.4vw;
    text-align: center;
  }
  .s08 p.p01 + p {
    padding: 3vw 0 0;
  }
  .s08 .cc-btn {
    margin: 6vw auto 0;
  }
  .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;
  }
}
