.christmas2023 {
  width: 100%;
  background-color: #004f6c;
}
.section01 img {
  width: 100%;
}
.section03 {
  position: relative;
}
.section03 .section03-1 {
  width: 100%;
}
.section03 .section03-2 {
  position: absolute;
  width: 75.25vw;
  height: 40.8vw;
  left: 13.2vw;
  top: 13vw;
  padding-left: 3.828125vw;
  padding-top: 5.8203125vw;
  padding-right: 6.875vw;
  background: url(../images/christmas-2024_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 h5 {
  font-size: 1.6vw;
  padding-bottom: 0.3em;
}
.section03 .section03-2 .section03-2-txt p {
  padding-bottom: 0.8em;
  font-size: 1.2vw;
}
.section03 .section03-2 .section03-2-txt p span {
  color: #a9ff55;
}
.section03 .section03-2 .section03-2-txt .txt2 {
  line-height: 1;
  border-radius: 0.3em;
  border: 1px #4d300a dotted;
  background: linear-gradient(to bottom, #ffca12, #ff6664);
  width: 5em;
  margin-right: 0.4em;
  text-align: center;
  margin-bottom: 0.5em;
  float: left;
  padding: 0.2em 0;
}
.section03 .flex {
  display: flex;
}
.section03 .div-L {
  width: 70%;
  padding-right: 2%;
}
.section03 .div-R {
  width: 30%;
  padding-left: 3%;
  position: relative;
}
.section03 .div-R::before {
  content: "";
  position: absolute;
  width: 5px;
  height: 100%;
  left: 0;
  top: 0;
  background: linear-gradient(0deg, #ff6664, #ffca12);
}
.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;
  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;
  margin-top: 0;
}
.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) {
}
@media (max-width: 767px) {
  .section03 {
    overflow: hidden;
  }
  .section03 .section03-1 {
    width: 240%;
    max-width: 240% !important;
  }
  .section03 .section03-2 {
    background-image: url(../images/christmas-2024_06-m.png);
    width: 100%;
    height: 105vw;
    left: 2.03125vw;
    top: 22vw;
    padding-left: 5vw;
    padding-top: 10vw;
    padding-right: 10vw;
  }
  .section03 .section03-2 .section03-2-txt h4 {
    font-size: 4vw;
    padding-bottom: 0.2em;
  }
  .section03 .section03-2 .section03-2-txt p {
    font-size: 2.85vw;
  }
  .section03 .div-L {
    width: 100%;
    padding-right: 0;
  }
  .section03 .div-R {
    width: 100%;
    padding-left: 0;
    padding-top: 1em;
    border-top: solid 2px #ffca12;
  }
  .section03 .div-R p {
    padding-bottom: 0.3em !important;
  }
  .section03 .section03-2 .section03-2-txt h5 {
    font-size: 3.6vw;
  }
  .section03 .div-R::before {
    display: none;
  }

  .section03 .flex {
    display: block;
  }

  .section04 .section04-1 {
    width: 90%;
    padding: 10% 5% 6%;
  }
  .section04 .section04-1 input[type="text"] {
    font-size: 15px;
  }
  .section04 .section04-1 .checkbox {
    font-size: 2.734375vw;
  }
  .section04 .section04-1 .checkbox input[type="checkbox"] {
    width: 2.734375vw;
    height: 2.734375vw;
    margin-top: 0;
  }
  .section04 .section04-1 .section04-2 {
    width: 70vw;
    top: -5.4vw;
    left: 8.5vw;
  }
  .section04 .section04-1 .btn {
    font-size: 2.99479167vw;
    width: 30vw;
  }
  .section04 .section04-4 {
    width: 90%;
    font-size: 2.734375vw;
  }
  .section04 .section04-1 .section04-3{
    display: block;
  }
  .section04 .section04-1 .section04-3 input{
    width: 100%;
  }
  .section04 .checkbox label{
    font-size: 3vw;
  }

}
