.christmas2023 {
  width: 100%;
  background-color: #004f6c;
}
.section01 img {
  width: 100%;
}
.section02 {
  padding-top: 4.21875vw;
  text-align: center;
}
.section02 .section02-1 {
  position: relative;
  width: 51.3671875vw;
  margin: 0 auto 8.0078125vw;
}
.section02 .section02-1 p {
  position: absolute;
  left: 9%;
  top: 24%;
  width: 82%;
  text-align: left;
  color: #004f6c;
  font-size: 1.40625vw;
  line-height: 1.4;
  text-decoration: underline;
}
.section02 .section02-2 {
  position: relative;
}
.section02 .section02-2 .section02-3 {
  position: absolute;
  width: 22.734375vw;
  top: -2.109375vw;
  left: 38.6328125vw;
}
.section02 .section02-2 .section02-4 {
  width: 84.296875vw;
  padding-top: 4.21875vw;
  padding-bottom: 3.828125vw;
  padding-left: 2.1875vw;
  padding-right: 2.1875vw;
  border: solid 0.390625vw #0076a0;
  margin: 0 auto;
  border-radius: 2.734375vw;
  overflow: hidden;
}
.section02 .section02-2 .section02-4 > div {
  overflow: hidden;
}
.section02 .section02-2 .section02-4 .swiper-button-next,
.section02 .section02-2 .section02-4 .swiper-button-prev {
  width: 4.6875vw;
  height: 4.6875vw;
  background: #003147;
  border-radius: 50%;
}
.section02 .section02-2 .section02-4 .swiper-button-prev:after {
  content: '';
  border-right: solid #55b1e1 1.5625vw;
  border-top: solid transparent 0.9765625vw;
  border-left: solid transparent 1.5625vw;
  border-bottom: solid transparent 0.9765625vw;
  margin-right: 1.953125vw;
}
.section02 .section02-2 .section02-4 .swiper-button-next:after {
  content: '';
  border-right: solid transparent 1.5625vw;
  border-top: solid transparent 0.9765625vw;
  border-left: solid #55b1e1 1.5625vw;
  border-bottom: solid transparent 0.9765625vw;
  margin-left: 1.953125vw;
}
.section02 .section02-2 .section02-4 .swiper-slide img {
  border-radius: 1em;
}
.section02 .section02-5 {
  width: 73.515625vw;
  margin: 1.9140625vw auto 4.6875vw;
  display: flex;
}
.section02 .section02-5 > div {
  width: 33.3%;
}
.section02 .section02-5 img {
  width: 100%;
}
.section02 .section02-5 p {
  margin-top: -1em;
  font-size: 1.171875vw;
  text-align: center;
  color: #fff;
}
.section02 .section02-5 p > span {
  color: #00f0ff;
}
.section03 {
  position: relative;
}
.section03 .section03-1 {
  width: 100%;
}
.section03 .section03-2 {
  position: absolute;
  width: 61.25vw;
  height: 33.359375vw;
  left: 20.6640625vw;
  top: 15.78125vw;
  padding-left: 3.828125vw;
  padding-top: 5.8203125vw;
  padding-right: 6.875vw;
  background: url(../images/christmas-2023_06.png) no-repeat;
  background-size: contain;
}
.section03 .section03-2 .section03-2-txt {
  text-align: left;
  line-height: 1.2;
  color: #fff;
}
.section03 .section03-2 .section03-2-txt .clear {
  clear: both;
}
.section03 .section03-2 .section03-2-txt h4 {
  padding-bottom: 0.5em;
  font-size: 2.03125vw;
}
.section03 .section03-2 .section03-2-txt p {
  padding-bottom: 0.8em;
  font-size: 1.5234375vw;
}
.section03 .section03-2 .section03-2-txt p span {
  color: #a9ff55;
}
.section03 .section03-2 .section03-2-txt .txt2 {
  line-height: 2.4;
  border-radius: 0.3em;
  border: 1px #4d300a dotted;
  background: linear-gradient(to bottom, #ffca12, #ff6664);
  width: 5em;
  margin-right: 1em;
  text-align: center;
  padding-bottom: 0;
  margin-bottom: 0.5em;
  float: left;
}
.section04 {
  background: url(../images/christmas-2023_05.jpg) no-repeat bottom;
  background-size: 100% auto;
  padding-top: 6.0546875vw;
  padding-bottom: 23.7109375vw;
  text-align: center;
}
.section04 .section04-1 {
  position: relative;
  width: 55.2734375vw;
  margin: 0 auto;
  padding: 4.5703125vw 4.2578125vw 2.890625vw;
  background-color: #0d6180;
  border: 0.390625vw solid #005876;
  border-radius: 2.734375vw;
}
.section04 .section04-1 .section04-2 {
  position: absolute;
  width: 26.5625vw;
  top: -2.0703125vw;
  left: 14.3359375vw;
}
.section04 .section04-1 input[type="text"] {
  border-radius: 3em;
  border: none;
  margin-bottom: 1em;
  line-height: 2.5;
  height: 2.5em;
  padding-left: 1em;
  color: #000;
  background-color: #4b869c;
  font-size: 1.171875vw;
}
.section04 .section04-1 input[type="text"]::placeholder {
  color: #94c0d1;
}
.section04 .section04-1 .checkbox {
  text-align: left;
  color: #fff;
  font-size: 1.171875vw;
  padding-top: 0.5em;
}
.section04 .section04-1 .checkbox input[type="checkbox"] {
  width: 1.171875vw;
  height: 1.171875vw;
  border-radius: 0.1em;
}
.section04 .section04-1 .btn {
  color: #007dab;
  font-size: 1.875vw;
  width: 21.25vw;
  background-color: #084359;
  border: 0.390625vw solid #0a5069;
  border-radius: 0.8em;
  margin: 0.5em auto 0;
}
.section04 .section04-1 .section04-3 {
  display: flex;
  justify-content: space-between;
}
.section04 .section04-1 .section04-3 input {
  width: 48%;
}
.section04 .section04-4 {
  width: 55.2734375vw;
  margin: 0 auto;
  text-align: left;
  color: #58a6c4;
  font-size: 1.171875vw;
  padding-top: 0.8em;
}
.section04 .section04-4 p {
  padding-left: 1em;
  padding-top: 0.8em;
}
@media (max-width: 1199px) {
  .section02 {
    padding-top: 6.171875vw;
  }
  .section02 .section02-1 {
    width: 62.5vw;
  }
  .section02 .section02-1 p {
    font-size: 1.8487395vw;
  }
  .section02 .section02-5 {
    width: 98.02083333vw;
    margin: 2.55208333vw auto 4.16666667vw;
  }
  .section02 .section02-5 > div {
    width: 33.3%;
  }
  .section02 .section02-5 p {
    margin-top: -1em;
    font-size: 1.8487395vw;
  }
}
@media (max-width: 767px) {
  .section02 .section02-1 {
    width: 93.75vw;
  }
  .section02 .section02-1 p {
    font-size: 2.86458333vw;
  }
  .section02 .section02-2 .section02-3 {
    width: 39vw;
    top: -3.4vw;
    left: 29.5vw;
  }
  .section02 .section02-2 .section02-4 {
    padding-top: 7vw;
    width: 80vw;
  }
  .section02 .section02-2 .section02-4 .swiper-button-next {
    right: 1vw;
    width: 6vw;
    height: 6vw;
  }
  .section02 .section02-2 .section02-4 .swiper-button-prev {
    left: 1vw;
    width: 6vw;
    height: 6vw;
  }
  .section02 .section02-5 {
    width: 100%;
    flex-wrap: wrap;
    justify-content: center;
  }
  .section02 .section02-5 > div {
    width: 50%;
  }
  .section02 .section02-5 .section02-5-3 {
    padding-top: 5%;
  }
  .section02 .section02-5 p {
    font-size: 2.86458333vw;
  }
  .section03 {
    overflow: hidden;
  }
  .section03 .section03-1 {
    width: 200%;
    max-width: 200%!important;
  }
  .section03 .section03-2 {
    background-image: url(../images/christmas-2023_06-m.png);
    width: 91.875vw;
    height: 91.875vw;
    left: 2.03125vw;
    top: 16.40625vw;
    padding-left: 7.55208333vw;
    padding-top: 15.625vw;
  }
  .section03 .section03-2 .section03-2-txt h4 {
    font-size: 4.296875vw;
  }
  .section03 .section03-2 .section03-2-txt p {
    font-size: 3.25520833vw;
  }
  .section04 .section04-1 {
    width: 90%;
    padding: 10% 5% 6%;
  }
  .section04 .section04-1 input[type="text"] {
    font-size: 2.734375vw;
  }
  .section04 .section04-1 .checkbox {
    font-size: 2.734375vw;
  }
  .section04 .section04-1 .checkbox input[type="checkbox"] {
    width: 2.734375vw;
    height: 2.734375vw;
  }
  .section04 .section04-1 .section04-2 {
    width: 50vw;
    top: -3.4vw;
    left: 18.5vw;
  }
  .section04 .section04-1 .btn {
    font-size: 2.99479167vw;
    width: 30vw;
  }
  .section04 .section04-4 {
    width: 90%;
    font-size: 2.734375vw;
  }
}
