@charset "UTF-8";
@media (min-width: 769px) {
  .kv_title {
    width: 48.702vw;
    bottom: 71.133%;
    padding-right: 0;
    bottom: auto;
    top: 3.3rem;
    transform: translateX(-6rem);
  }
}
@media (max-width: 768px) {
  .kv_title {
    width: 87.15%;
    bottom: auto;
    right: auto;
    top: 2rem;
    left: 2rem;
  }
}
figure.gift01 {
  position: absolute;
  top: 9.2vw;
  left: 11.7vw;
  width: 10.99vw;
  opacity: 0;
  transform: scale(0);
  animation: pop 0.4s ease-out forwards;
  animation-delay: 3.2s;
}

figure.gift02 {
  position: absolute;
  top: 23vw;
  left: 17.2vw;
  width: 11vw;
  opacity: 0;
  transform: scale(0);
  animation: pop 0.4s ease-out forwards;
  animation-delay: 3.2s;
}

figure.gift03 {
  position: absolute;
  top: 35.5vw;
  left: 11.4vw;
  width: 10.7vw;
  opacity: 0;
  transform: scale(0);
  animation: pop 0.4s ease-out forwards;
  animation-delay: 3.2s;
}

figure.gift04 {
  position: absolute;
  top: 22.3vw;
  right: 16.5vw;
  width: 11vw;
  opacity: 0;
  transform: scale(0);
  animation: pop 0.4s ease-out forwards;
  animation-delay: 3.2s;
}

figure.gift05 {
  position: absolute;
  top: 35.7vw;
  right: 15.8vw;
  width: 10.9vw;
  opacity: 0;
  transform: scale(0);
  animation: pop 0.4s ease-out forwards;
  animation-delay: 3.2s;
}

figure.gift06 {
  position: absolute;
  top: 38.2vw;
  right: 29.6vw;
  width: 10.8vw;
  opacity: 0;
  transform: scale(0);
  animation: pop 0.4s ease-out forwards;
  animation-delay: 3.2s;
}

figure.gift00 {
  position: absolute;
  top: 6.5vw;
  right: 14.2vw;
  width: 14.15vw;
  opacity: 0;
  transform: scale(0);
  animation: pop 0.4s ease-out forwards;
  animation-delay: 3.5s;
}
@media screen and (max-width: 768px) {
  figure.gift00 {
    position: absolute;
    top: 29.1rem;
    left: 47.67rem;
    width: 24.69rem;
  }
}

figure.fubuki01 {
  position: absolute;
  top: 1.8vw;
  right: 2.5vw;
  width: 95.6vw;
  opacity: 0;
  transform: scale(0);
  animation: pop 0.4s ease-out forwards;
  animation-delay: 3.8s;
}
@media screen and (max-width: 768px) {
  figure.fubuki01 {
    position: absolute;
    top: 3.3rem;
    left: -1.9rem;
    width: 77.997rem;
  }
}

@media screen and (max-width: 768px) {
  figure.gift01_sp {
    position: absolute;
    top: 30.9rem;
    left: 3.07rem;
    width: 15.262rem;
    opacity: 0;
    transform: scale(0);
    animation: pop 0.4s ease-out forwards;
    animation-delay: 3.2s;
  }
}

@media screen and (max-width: 768px) {
  figure.gift02_sp {
    position: absolute;
    top: 21.7rem;
    left: 21.27rem;
    width: 15.9rem;
    opacity: 0;
    transform: scale(0);
    animation: pop 0.4s ease-out forwards;
    animation-delay: 3.2s;
  }
}

@media screen and (max-width: 768px) {
  figure.gift03_sp {
    position: absolute;
    top: 95.9rem;
    left: -1.1rem;
    width: 15.9rem;
    opacity: 0;
    transform: scale(0);
    animation: pop 0.4s ease-out forwards;
    animation-delay: 3.2s;
  }
}

@media screen and (max-width: 768px) {
  figure.gift04_sp {
    position: absolute;
    top: 100.0rem;
    left: 21.4rem;
    width: 16.2rem;
    opacity: 0;
    transform: scale(0);
    animation: pop 0.4s ease-out forwards;
    animation-delay: 3.2s;
  }
}

@media screen and (max-width: 768px) {
  figure.gift05_sp {
    position: absolute;
    top: 97.3rem;
    left: 42.8rem;
    width: 16.0rem;
    opacity: 0;
    transform: scale(0);
    animation: pop 0.4s ease-out forwards;
    animation-delay: 3.2s;
  }
}

@media screen and (max-width: 768px) {
  figure.gift06_sp {
    position: absolute;
    top: 82.9rem;
    left: 59rem;
    width: 16.2rem;
    opacity: 0;
    transform: scale(0);
    animation: pop 0.4s ease-out forwards;
    animation-delay: 3.2s;
  }
}

@media screen and (max-width: 768px) {
  .kv_image {
    top: 49.3rem;
  }
}

@keyframes pop {
  0% {
    opacity: 0;
    transform: scale(0);
  }
  70% {
    opacity: 1;
    transform: scale(1.2);
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}
section.about_section {
  position: relative;
}
section.about_section figure.fubuki02 {
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
@media screen and (max-width: 768px) {
  section.about_section figure.fubuki02 {
    display: none;
  }
}
@media screen and (max-width: 768px) {
  section.about_section .about_inner {
    padding: 5rem 0 8rem;
  }
}

.about_inner::before {
  background: none;
}

.kv_section {
  background: #db0926;
}

@media (min-width: 769px) {
  .about_section {
    margin-bottom: 0;
  }
}
section.about_section {
  background: url(../images/bg_y_edge_pc.png) top center;
  background-size: 100%;
  position: relative;
  top: -2.5rem;
  padding-bottom: 10rem;
  margin-bottom: 0;
}
@media screen and (max-width: 768px) {
  section.about_section {
    background: url(../images/bg_y_edge_sp.png) top 5.8rem center;
    background-size: 100%;
    padding-top: 15rem;
  }
}
section.about_section::after {
  height: 20rem;
  bottom: -7rem;
}
section.about_section .about_inner {
  row-gap: 1rem;
}
@media screen and (max-width: 768px) {
  section.about_section .about_inner {
    padding: 0 0 8rem;
    margin-top: -40rem;
    padding-top: 40rem;
  }
}
section.about_section h2 {
  font-size: 4rem;
  font-weight: 900;
  color: #fff;
  display: inline-block;
  position: relative;
  font-style: italic;
  margin: auto;
  background: linear-gradient(transparent 82%, #ff7b2e 82%);
}
@media screen and (max-width: 768px) {
  section.about_section h2 {
    background: none;
    margin-bottom: 2.8rem;
  }
}
section.about_section h2::after {
  content: '';
  width: 100%;
  height: 0.9rem;
  background: #FF7B2E 85%;
  position: absolute;
  bottom: 0.4rem;
  left: 0;
  z-index: -1;
}
@media screen and (max-width: 768px) {
  section.about_section h2 span {
    font-size: 5.568rem;
    background: linear-gradient(transparent 82%, #ff7b2e 82%);
  }
}
section.about_section p.lead {
  font-size: 2.4rem;
  font-weight: 900;
  line-height: 1.6;
  color: #fff;
  text-align: center;
}
@media screen and (max-width: 768px) {
  section.about_section p.lead {
    font-size: 3rem;
    line-height: 4.5rem;
  }
}

.gaiyou {
  width: 83.1rem;
  border-radius: 7rem;
  margin: 4rem auto auto;
  background: #fff;
  padding-top: 3.7rem;
  padding-bottom: 4rem;
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 768px) {
  .gaiyou {
    width: 66.77rem;
    border-radius: 5rem;
    padding-top: 5rem;
  }
}
.gaiyou figure.gaiyou_txt {
  width: 63.6rem;
  margin: auto auto 3.9rem;
}
@media screen and (max-width: 768px) {
  .gaiyou figure.gaiyou_txt {
    width: 61.1rem;
  }
}
.gaiyou p.btn_reserve {
  width: 64.1rem;
  margin: auto auto 3rem;
}
@media screen and (max-width: 768px) {
  .gaiyou p.btn_reserve {
    width: 58.56rem;
  }
}
.gaiyou p.btn_reserve a {
  transition: all 0.4s ease;
  display: block;
}
.gaiyou p.btn_reserve a:hover {
  opacity: 0.7;
}
.gaiyou figure.challenge {
  width: 75.65rem;
  margin: auto auto 2.5rem;
}
@media screen and (max-width: 768px) {
  .gaiyou figure.challenge {
    width: 60.82rem;
  }
}
.gaiyou .challenge_txtWrap {
  margin: auto;
  text-align: center;
}
.gaiyou p.challenge_txt {
  display: inline-block;
  margin: auto;
  text-align: center;
  font-size: 2.6rem;
  font-weight: 900;
  color: #00B8BF;
  background: linear-gradient(transparent 70%, #FFEF00 70%);
  background-size: 0% 100%;
  background-repeat: no-repeat;
}
@media screen and (max-width: 768px) {
  .gaiyou p.challenge_txt {
    font-size: 2.93rem;
  }
}
.gaiyou p.challenge_txt.is-active {
  animation: marker 1s ease-out forwards;
  animation-delay: 1s;
}

@keyframes marker {
  to {
    background-size: 100% 100%;
  }
}
section.chara_section {
  background: #FFFFEB;
}

.gallery_outer {
  clip-path: none;
  background: none;
}

section.present_section {
  background: #FFFFEB;
  background-size: 100%;
  position: relative;
  height: 90rem;
  position: relative;
}
@media screen and (max-width: 768px) {
  section.present_section {
    height: 160rem;
  }
}
section.present_section::before {
  content: '';
  width: 100%;
  height: 11.6rem;
  background: url("../images/bg_present_section.png") no-repeat bottom center;
  background-size: 100%;
  position: absolute;
  top: -11.5rem;
  left: 0;
}
@media screen and (max-width: 768px) {
  section.present_section::before {
    background: url("../images/bg_present_section_sp.png") no-repeat bottom center;
    background-size: 100%;
    top: -12rem;
    height: 21.4rem;
  }
}
section.present_section::after {
  content: '';
  width: 100%;
  height: 17.9rem;
  background: url("../images/bg_present_bottom.png") no-repeat bottom center;
  background-size: 100%;
  position: absolute;
  bottom: -1px;
  left: 0;
}
@media screen and (max-width: 768px) {
  section.present_section::after {
    background: url("../images/bg_present_bottom_sp.png") no-repeat bottom center;
    background-size: 100%;
    bottom: -1px;
    height: 10rem;
  }
}
section.present_section figure.fubuki03 {
  width: 100%;
  position: absolute;
  top: -40rem;
  left: 0;
}
@media screen and (max-width: 768px) {
  section.present_section figure.fubuki03 {
    display: none;
  }
}
section.present_section .present {
  width: 83.1rem;
  height: 79rem;
  border-radius: 7rem;
  margin: auto auto auto;
  background: #d80b24;
  padding-top: 4.2rem;
  padding-bottom: 6rem;
  position: absolute;
  top: 2rem;
  left: 50%;
  transform: translateX(-50%);
  z-index: 2;
}
@media screen and (max-width: 768px) {
  section.present_section .present {
    width: 66.77rem;
    border-radius: 5rem;
    top: 2rem;
    height: 141.982rem;
    padding-top: 4.2rem;
  }
}
section.present_section .present h2 {
  width: 24.28rem;
  margin: auto auto 2.4rem;
  margin-top: -9rem;
  padding-top: 9rem;
}
@media screen and (max-width: 768px) {
  section.present_section .present h2 {
    width: 27.78rem;
    margin-bottom: 3.6rem;
    margin-top: -15rem;
    padding-top: 15rem;
  }
}
section.present_section .present p.lead {
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 2.5rem;
  text-align: center;
  color: #fff;
  margin-bottom: 3.5rem;
}
@media screen and (max-width: 768px) {
  section.present_section .present p.lead {
    font-size: 2.7rem;
    line-height: 3.915rem;
  }
}
section.present_section .present h3 {
  width: 34rem;
  margin: auto auto 1.65rem;
}
@media screen and (max-width: 768px) {
  section.present_section .present h3 {
    width: 48.2rem;
    margin: auto auto 3.8rem;
  }
}
section.present_section .present figure.gifts_sp {
  width: 56.4rem;
  margin: auto 0 auto 3.2rem;
}
section.present_section .present ul.gifts {
  width: 59.3rem;
  margin: auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
section.present_section .present ul.gifts li {
  width: 14.7rem;
}
section.present_section .present ul.gifts li:nth-of-type(2), section.present_section .present ul.gifts li:nth-of-type(5) {
  width: 29.8rem;
}
section.present_section .present ul.gifts li:nth-of-type(3), section.present_section .present ul.gifts li:nth-of-type(6) {
  width: 14.4rem;
}

section.quiz {
  background: url("../images/bg_quiz_bottom.png") no-repeat bottom -1px center #00b8bf;
  background-size: 100%;
  position: relative;
  padding-top: 8.8rem;
  padding-bottom: 25rem;
}
@media screen and (max-width: 768px) {
  section.quiz {
    padding-top: 4rem;
    background: url("../images/bg_quiz_bottom_sp.png") no-repeat bottom -1px center #00b8bf;
    background-size: 100%;
    padding-bottom: 15rem;
    margin-bottom: -1px;
  }
}
section.quiz figure.fubuki04 {
  width: 100%;
  position: absolute;
  top: -50rem;
  left: 0;
}
@media screen and (max-width: 768px) {
  section.quiz figure.fubuki04 {
    display: none;
  }
}
section.quiz .h2_above {
  margin-top: -9rem;
  padding-top: 9rem;
}
@media screen and (max-width: 768px) {
  section.quiz .h2_above {
    margin-top: -14rem;
    padding-top: 14rem;
  }
}
section.quiz h2 {
  font-size: 3rem;
  font-weight: 900;
  color: #fff;
  width: 15.47rem;
  height: 4.84rem;
  border: 0.4rem solid #fff;
  border-radius: 2.42rem;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: auto auto 1.8rem;
}
@media screen and (max-width: 768px) {
  section.quiz h2 {
    font-size: 3.7rem;
    width: 19rem;
    height: 5.94rem;
    border-radius: 2.97rem;
    margin: auto auto 2rem;
  }
}
section.quiz h3.h3_quiz {
  width: 65.9rem;
  margin: auto auto 2.5rem;
  opacity: 0;
  transform: scale(0.5);
  transition: opacity 0.4s ease, transform 0.4s ease;
}
section.quiz h3.h3_quiz.is-active {
  animation: pop 0.5s ease-out forwards;
}
@media screen and (max-width: 768px) {
  section.quiz h3.h3_quiz {
    width: 69.3695rem;
    margin: auto auto 4rem;
  }
}
section.quiz p.lead {
  font-size: 1.8rem;
  font-weight: 700;
  color: #fff;
  text-align: center;
}
@media screen and (max-width: 768px) {
  section.quiz p.lead {
    font-size: 2.7rem;
    letter-spacing: -0.1rem;
  }
}
section.quiz .increaseWrap {
  margin: auto auto 2.5rem;
  text-align: center;
}
section.quiz p.increase {
  display: inline-block;
  margin: auto;
  text-align: center;
  font-size: 2.9rem;
  font-weight: 900;
  color: #fff;
  text-align: center;
  position: relative;
  display: inline-block;
  font-weight: bold;
  background: linear-gradient(transparent 70%, #008fff 70%);
  background-size: 0% 100%;
  background-repeat: no-repeat;
}
section.quiz p.increase.is-active {
  animation: marker 1s ease-out forwards;
  animation-delay: 1s;
}

section.productInfo {
  position: relative;
  background: #e3f0fb;
  padding-top: 9.4rem;
  padding-bottom: 2.4rem;
}
@media screen and (max-width: 768px) {
  section.productInfo {
    padding-top: 23rem;
    padding-bottom: 6rem;
  }
}
section.productInfo figure.fubuki05 {
  width: 100%;
  position: absolute;
  top: -50rem;
  left: 0;
}
@media screen and (max-width: 768px) {
  section.productInfo figure.fubuki05 {
    display: none;
  }
}
section.productInfo .infoBox {
  width: 86.5615rem;
  height: 95.6511rem;
  margin: auto auto 12.2rem;
  background: url("../images/bg_productinfo.png") top left 2rem no-repeat;
  background-size: contain;
  position: relative;
}
@media screen and (max-width: 768px) {
  section.productInfo .infoBox {
    width: 66.7rem;
    height: 87.9625rem;
    background: url("../images/bg_productinfo_sp.png") top left no-repeat;
    background-size: 66.7rem;
    margin: auto auto auto;
  }
}
section.productInfo .infoBox h2 {
  width: 92rem;
  position: absolute;
  top: -6.7rem;
  left: -2.2rem;
  margin-top: -9rem;
  padding-top: 9rem;
}
@media screen and (max-width: 768px) {
  section.productInfo .infoBox h2 {
    margin: auto auto auto;
    width: 60.82rem;
    top: -18rem;
    left: 2.6rem;
    margin-top: -14rem;
    padding-top: 14rem;
  }
}
section.productInfo .infoBox figure {
  position: absolute;
}
section.productInfo .showroom {
  width: 83rem;
  margin: auto;
  background: #d80b24;
  border-radius: 7rem;
  padding: 4.5rem 0 5rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 768px) {
  section.productInfo .showroom {
    width: 66.7rem;
    margin: 5.2rem auto auto;
    border-radius: 5rem;
  }
}
section.productInfo .showroom p.lead {
  font-size: 4.3rem;
  font-weight: 900;
  font-style: italic;
  color: #fff;
  line-height: 5.58rem;
  text-align: center;
}
@media screen and (max-width: 768px) {
  section.productInfo .showroom p.lead {
    font-size: 4rem;
  }
}
section.productInfo .showroom p.btn_reserve02 {
  width: 64.177rem;
  margin: 4.5rem auto auto;
}
@media screen and (max-width: 768px) {
  section.productInfo .showroom p.btn_reserve02 {
    width: 58.5665rem;
  }
}
section.productInfo .showroom p.btn_reserve02 a {
  display: block;
  transition: all 0.4s ease;
}
section.productInfo .showroom p.btn_reserve02 a:hover {
  opacity: 0.7;
}

figure.ele00 {
  width: 86.5615rem;
  bottom: 9.7rem;
  left: 0;
  z-index: 2;
}
@media screen and (max-width: 768px) {
  figure.ele00 {
    width: 71.8rem;
    bottom: 5.2rem;
    left: -2.5rem;
  }
}

figure.ele01 {
  width: 58.7rem;
  top: 26.9rem;
  left: 14.5rem;
  opacity: 0;
  transform: translateY(17rem);
  z-index: 1;
}
@media screen and (max-width: 768px) {
  figure.ele01 {
    width: 53.46rem;
    top: 30.6rem;
    left: 7.3rem;
  }
}
figure.ele01.is_active {
  animation: popUp01 0.4s ease-out forwards;
  animation-delay: 0.5s;
}

figure.ele02 {
  width: 10.9855rem;
  top: 34rem;
  left: 48rem;
  opacity: 0;
  transform: scale(0);
}
@media screen and (max-width: 768px) {
  figure.ele02 {
    width: 16.05rem;
    top: 31.2rem;
    left: 38.8rem;
  }
}
figure.ele02.is_active {
  animation: pop 0.4s ease-out forwards;
  animation-delay: 0.8s;
}

@keyframes boyon {
  0% {
    transform: scale(1);
  }
  30% {
    transform: scale(1.12);
  }
  50% {
    transform: scale(0.95);
  }
  70% {
    transform: scale(1.05);
  }
  100% {
    transform: scale(1);
  }
}
figure.ele03 {
  width: 16rem;
  top: 16.5rem;
  left: 60.5rem;
  z-index: 3;
  opacity: 0;
  transform: scale(0);
  cursor: pointer;
}
figure.ele03.is_active {
  animation: pop 0.4s ease-out forwards, boyon 0.9s ease-in-out infinite;
  animation-delay: 1s, 1.4s;
}
figure.ele03.is_stop {
  animation: none !important;
  opacity: 1;
  transform: scale(1);
}

figure.ele03_sp {
  width: 23rem;
  top: 9rem;
  left: 44rem;
  z-index: 3;
  opacity: 0;
  transform: scale(0);
  cursor: pointer;
}
figure.ele03_sp.is_active {
  animation: pop 0.4s ease-out forwards, boyon 0.9s ease-in-out infinite;
  animation-delay: 1s, 1.4s;
}
figure.ele03_sp.is_stop {
  animation: none !important;
  opacity: 1;
  transform: scale(1);
}

figure.ele04 {
  width: 16rem;
  top: 53.5rem;
  left: 24.5rem;
  z-index: 3;
  opacity: 0;
  transform: scale(0);
  cursor: pointer;
}
figure.ele04.is_active {
  animation: pop 0.4s ease-out forwards, boyon 0.9s ease-in-out infinite;
  animation-delay: 1s, 1.4s;
}
figure.ele04.is_stop {
  animation: none !important;
  opacity: 1;
  transform: scale(1);
}

figure.ele04_sp {
  width: 23.1rem;
  top: 52.4rem;
  left: 10.4rem;
  z-index: 3;
  opacity: 0;
  transform: scale(0);
  cursor: pointer;
}
figure.ele04_sp.is_active {
  animation: pop 0.4s ease-out forwards, boyon 0.9s ease-in-out infinite;
  animation-delay: 1s, 1.4s;
}
figure.ele04_sp.is_stop {
  animation: none !important;
  opacity: 1;
  transform: scale(1);
}

figure.pop03 {
  width: 68.899rem;
  top: 5.5rem;
  left: -4.5rem;
  z-index: 3;
  opacity: 0;
  transform: translateY(20px);
}
@media screen and (max-width: 768px) {
  figure.pop03 {
    width: 100%;
  }
}
figure.pop03.is_active {
  animation: popUpOnce 0.6s ease-out forwards;
}

figure.pop04 {
  width: 54.1399rem;
  top: 59.4rem;
  left: 37rem;
  z-index: 3;
  opacity: 0;
  transform: translateY(20px);
}
@media screen and (max-width: 768px) {
  figure.pop04 {
    width: 100%;
  }
}
figure.pop04.is_active {
  animation: popUpOnce 0.6s ease-out forwards;
}

.modal {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.6);
  z-index: 1000;
}

.modal.active {
  display: block;
}

.modal-content {
  background: none;
  max-width: 66.7rem;
  margin: auto;
  height: 100%;
  padding: 0;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
}

.moda-content-inner {
  position: relative;
}

.modal-close {
  position: absolute;
  top: 16.5rem;
  right: 3rem;
  cursor: pointer;
  width: 4.8rem;
  height: 4.8rem;
  border: none;
  background: url("../images/bg_close.png") no-repeat;
  background-size: contain;
}
.modal-close.modal-close04 {
  position: absolute;
  top: 21.5rem;
  right: 3rem;
  cursor: pointer;
  width: 4.8rem;
  height: 4.8rem;
  border: none;
  background: url("../images/bg_close.png") no-repeat;
  background-size: contain;
}

.modal03 img {
  width: 66.7rem;
}

@keyframes popUp01 {
  0% {
    opacity: 0;
    transform: translateY(17rem);
  }
  70% {
    opacity: 1;
    transform: translateY(-6px);
    /* 行き過ぎ */
  }
  100% {
    opacity: 1;
    transform: translateY(0);
    /* 定位置 */
  }
}
@keyframes popUpOnce {
  0% {
    opacity: 0;
    transform: translateY(20px);
  }
  35% {
    opacity: 1;
    transform: translateY(-5px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
section.kiyaku {
  position: relative;
  background: url("../images/bg_kiyaku.png") no-repeat top -1px center #d80b24;
  background-size: 100%;
  padding-top: 18rem;
  padding-bottom: 6rem;
}
@media screen and (max-width: 768px) {
  section.kiyaku {
    background: url("../images/bg_kiyaku_sp.png") no-repeat top -1px center #d80b24;
    background-size: 100%;
    padding-top: 13rem;
  }
}
section.kiyaku figure.fubuki06 {
  width: 100%;
  position: absolute;
  top: -90rem;
  left: 0;
}
@media screen and (max-width: 768px) {
  section.kiyaku figure.fubuki06 {
    display: none;
  }
}
section.kiyaku h2 {
  width: 20.1rem;
  margin: auto auto 3.5rem;
  margin-top: -9rem;
  padding-top: 9rem;
}
@media screen and (max-width: 768px) {
  section.kiyaku h2 {
    width: 20.9493rem;
    margin-top: -15rem;
    padding-top: 15rem;
  }
}
section.kiyaku .kiyakuBox {
  width: 83rem;
  margin: auto;
  padding: 3.8rem 4.3rem 3.8rem 5.7rem;
  background: #fff;
  border-radius: 5rem;
}
@media screen and (max-width: 768px) {
  section.kiyaku .kiyakuBox {
    width: 66.77rem;
    border-radius: 5rem;
    padding: 4.6rem 4rem 4.6rem 5.2rem;
  }
}
section.kiyaku .kiyakuBox .kiyakuBoxInner {
  width: 100%;
  height: 54rem;
  overflow-x: hidden;
  padding-right: 4rem;
}
@media screen and (max-width: 768px) {
  section.kiyaku .kiyakuBox .kiyakuBoxInner {
    height: 82.6rem;
    padding-right: 7rem;
  }
}
section.kiyaku .kiyakuBox .kiyakuBoxInner h3 {
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 3.189rem;
  color: #0e0e0e;
  letter-spacing: -0.1rem;
}
@media screen and (max-width: 768px) {
  section.kiyaku .kiyakuBox .kiyakuBoxInner h3 {
    font-size: 3rem;
    letter-spacing: -0.2rem;
    margin-bottom: 0.6rem;
  }
}
section.kiyaku .kiyakuBox .kiyakuBoxInner p {
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 3.189rem;
  color: #0e0e0e;
  text-align: justify;
  letter-spacing: -0.1rem;
  margin-bottom: 1rem;
}
@media screen and (max-width: 768px) {
  section.kiyaku .kiyakuBox .kiyakuBoxInner p {
    font-size: 2.2rem;
    line-height: 1.85;
  }
}

.hidden {
  display: none !important;
}

.quizArea .increaseBox {
  background: url("../images/bg_counter_box_sp.png") no-repeat top right;
  background-size: 20rem;
  width: 67.2rem;
  height: 20rem;
  margin: 2.5rem auto 3rem;
  padding-top: 5rem;
}
.quizArea .increaseBox p.increase {
  position: relative;
  display: inline-block;
  font-size: 3.8rem;
  font-weight: bold;
  line-height: 5.4rem;
  background: linear-gradient(transparent 70%, #008fff 70%);
  background-size: 0% 100%;
  background-repeat: no-repeat;
}
.quizArea .increaseBox.is-active p.increase {
  animation: marker 1s ease-out forwards;
  animation-delay: 1s;
}
.quizArea .increaseBox.is-active p.increase.increase02 {
  animation-delay: 1.5s;
}

#top_counter_box {
  width: 83rem;
  margin: auto;
  color: #fff;
  background: url("../images/bg_counter_box.png") no-repeat top right;
  background-size: 15.6rem;
  text-align: center;
  padding-top: 2rem;
}
@media screen and (max-width: 768px) {
  #top_counter_box {
    width: 100%;
    background: none;
    height: 25rem;
  }
}
#top_counter_box iframe {
  border: none;
  overflow: hidden;
  display: flex;
  justify-content: center;
}
#top_counter_box p.counterTtl {
  font-size: 2.9rem;
  font-weight: 900;
}
@media screen and (max-width: 768px) {
  #top_counter_box p.counterTtl {
    font-size: 4rem;
  }
}
#top_counter_box p.numero {
  font-size: 13.3rem;
  font-weight: 900;
  display: flex;
  justify-content: center;
}
#top_counter_box p.numero span {
  font-size: 6.1rem;
}
@media screen and (max-width: 768px) {
  #top_counter_box p.numero span {
    font-size: 8.689rem;
  }
}

.quizBody {
  background: #fff;
  width: 83rem;
  height: 49rem;
  border-radius: 7rem;
  margin: 1rem auto auto;
  position: relative;
  z-index: 3;
}
@media screen and (max-width: 768px) {
  .quizBody {
    margin: auto;
    width: 66.77rem;
    height: 92rem;
    border-radius: 5rem;
  }
}

.quizPanel01 {
  padding-top: 7.2rem;
}
@media screen and (max-width: 768px) {
  .quizPanel01 {
    padding-top: 23.8rem;
  }
}
.quizPanel01 figure.quiz01 {
  width: 60.2rem;
  margin: auto auto 5.4rem;
}
@media screen and (max-width: 768px) {
  .quizPanel01 figure.quiz01 {
    width: 58.4rem;
    margin: auto auto 6.5rem;
  }
}
.quizPanel01 button {
  margin: auto;
  border: none;
  background: none;
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  transition: all 0.4s ease;
}
.quizPanel01 button:hover {
  opacity: 0.7;
}
.quizPanel01 button img {
  width: 29.578rem;
}
@media screen and (max-width: 768px) {
  .quizPanel01 button img {
    width: 48.3rem;
  }
}

.quizPanel02 {
  padding-top: 6.6rem;
  position: relative;
}
.quizPanel02 figure.quiz02 {
  width: 69.48rem;
  margin: auto auto 5.4rem;
}
@media screen and (max-width: 768px) {
  .quizPanel02 figure.quiz02 {
    width: 56.92rem;
  }
}
.quizPanel02 .countdown {
  width: 8.7131rem;
  height: 9.605rem;
  background: url("../images/bg_clock.png") no-repeat;
  background-size: 100%;
  position: absolute;
  top: -4.2rem;
  right: 0;
  font-size: 4.829rem;
  font-weight: 900;
  color: #d80b24;
  display: flex;
  justify-content: center;
  padding-top: 1.2rem;
}
@media screen and (max-width: 768px) {
  .quizPanel02 .countdown {
    top: -2.4rem;
  }
}

.quizPanel03 {
  padding-top: 5.1rem;
  position: relative;
}
@media screen and (max-width: 768px) {
  .quizPanel03 {
    padding-top: 4.8rem;
  }
}
.quizPanel03 figure.quiz03 {
  width: 69.34rem;
  margin: auto auto 4rem;
}
@media screen and (max-width: 768px) {
  .quizPanel03 figure.quiz03 {
    width: 60.82rem;
    margin: auto auto 5.5rem;
  }
}
.quizPanel03 .buttonBox {
  width: 81.3rem;
  margin: auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.6rem;
}
@media screen and (max-width: 768px) {
  .quizPanel03 .buttonBox {
    width: 65rem;
    gap: 0.7rem;
  }
}
.quizPanel03 .buttonBox button {
  width: 40.2rem;
  height: 13.2rem;
  background: #00b8bf;
  color: #fff;
  font-size: 5.9rem;
  font-weight: 700;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.6rem;
  border: none;
  cursor: pointer;
}
@media screen and (max-width: 768px) {
  .quizPanel03 .buttonBox button {
    width: 32rem;
    height: 26.6rem;
    font-size: 5.9rem;
  }
}
.quizPanel03 .buttonBox button span {
  width: 5.5859rem;
  height: 5.5859rem;
  border-radius: 50%;
  background: #fff;
  color: #00b8bf;
  line-height: 1;
  font-size: 5.2rem;
  margin-top: 0.3rem;
  display: flex;
  justify-content: center;
  align-items: center;
}
.quizPanel03 .buttonBox button:nth-of-type(3) {
  border-radius: 0 0 0 6rem;
}
@media screen and (max-width: 768px) {
  .quizPanel03 .buttonBox button:nth-of-type(3) {
    border-radius: 0 0 0 5rem;
  }
}
.quizPanel03 .buttonBox button:nth-of-type(4) {
  border-radius: 0 0 6rem 0;
}
@media screen and (max-width: 768px) {
  .quizPanel03 .buttonBox button:nth-of-type(4) {
    border-radius: 0 0 5rem 0;
  }
}

.quizPanel04 {
  padding-top: 6.3rem;
  position: relative;
}
@media screen and (max-width: 768px) {
  .quizPanel04 {
    padding-top: 10.2rem;
  }
}
.quizPanel04 figure.quiz04 {
  width: 71.29rem;
  margin: auto auto 4rem;
}
@media screen and (max-width: 768px) {
  .quizPanel04 figure.quiz04 {
    width: 55.6265rem;
    margin: auto auto 3rem;
  }
}
.quizPanel04 button {
  width: 13.8rem;
  margin: auto;
  border: none;
  background: none;
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
}
@media screen and (max-width: 768px) {
  .quizPanel04 button {
    width: 59rem;
  }
}
.quizPanel04 button img {
  width: 13.8rem;
}
@media screen and (max-width: 768px) {
  .quizPanel04 button img {
    width: 59rem;
  }
}

.quizPanel05 {
  padding-top: 6.3rem;
  position: relative;
}
@media screen and (max-width: 768px) {
  .quizPanel05 {
    padding-top: 8.4rem;
  }
}
.quizPanel05 figure.quiz05 {
  width: 70.72rem;
  margin: auto;
}
@media screen and (max-width: 768px) {
  .quizPanel05 figure.quiz05 {
    width: 58.672rem;
  }
}
.quizPanel05 .countdown {
  width: 8.7131rem;
  height: 9.605rem;
  background: url("../images/bg_clock.png") no-repeat;
  background-size: 100%;
  position: absolute;
  top: -4.2rem;
  right: 0;
  font-size: 4.829rem;
  font-weight: 900;
  color: #d80b24;
  display: flex;
  justify-content: center;
  padding-top: 1.2rem;
}
@media screen and (max-width: 768px) {
  .quizPanel05 .countdown {
    top: -2.4rem;
  }
}

.quizPanel06 {
  padding-top: 5.25rem;
  position: relative;
}
@media screen and (max-width: 768px) {
  .quizPanel06 {
    padding-top: 4.8rem;
  }
}
.quizPanel06 figure.quiz06 {
  width: 70.32rem;
  margin: auto auto 3.8rem;
}
@media screen and (max-width: 768px) {
  .quizPanel06 figure.quiz06 {
    width: 61rem;
    margin: auto auto 5.6rem;
  }
}
.quizPanel06 .buttonBox {
  width: 81.3rem;
  margin: auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.6rem;
}
@media screen and (max-width: 768px) {
  .quizPanel06 .buttonBox {
    width: 65rem;
    gap: 0.7rem;
  }
}
.quizPanel06 .buttonBox button {
  width: 40.2rem;
  height: 13.2rem;
  background: #00b8bf;
  color: #fff;
  font-size: 5.9rem;
  font-weight: 700;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.6rem;
  border: none;
  cursor: pointer;
}
@media screen and (max-width: 768px) {
  .quizPanel06 .buttonBox button {
    width: 32rem;
    height: 26.6rem;
    font-size: 5.9rem;
  }
}
.quizPanel06 .buttonBox button span {
  width: 5.5859rem;
  height: 5.5859rem;
  border-radius: 50%;
  background: #fff;
  color: #00b8bf;
  line-height: 1;
  font-size: 5.2rem;
  margin-top: 0.3rem;
  display: flex;
  justify-content: center;
  align-items: center;
}
.quizPanel06 .buttonBox button:nth-of-type(3) {
  border-radius: 0 0 0 7rem;
}
@media screen and (max-width: 768px) {
  .quizPanel06 .buttonBox button:nth-of-type(3) {
    border-radius: 0 0 0 6rem;
  }
}
.quizPanel06 .buttonBox button:nth-of-type(4) {
  border-radius: 0 0 7rem 0;
}
@media screen and (max-width: 768px) {
  .quizPanel06 .buttonBox button:nth-of-type(4) {
    border-radius: 0 0 6rem 0;
  }
}

.quizPanel07 {
  padding-top: 6.3rem;
  position: relative;
}
@media screen and (max-width: 768px) {
  .quizPanel07 {
    padding-top: 10.4rem;
  }
}
.quizPanel07 figure.quiz07 {
  width: 64.99rem;
  margin: auto auto 0.45rem;
}
@media screen and (max-width: 768px) {
  .quizPanel07 figure.quiz07 {
    width: 54.75rem;
    margin: auto auto 4.2rem;
  }
}
.quizPanel07 button {
  width: 30rem;
  margin: auto;
  border: none;
  background: none;
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
}
@media screen and (max-width: 768px) {
  .quizPanel07 button {
    width: 59rem;
  }
}
.quizPanel07 button img {
  width: 30rem;
}
@media screen and (max-width: 768px) {
  .quizPanel07 button img {
    width: 59rem;
  }
}

.quizPanel08 {
  padding-top: 6.15rem;
  position: relative;
}
@media screen and (max-width: 768px) {
  .quizPanel08 {
    padding-top: 18.5rem;
  }
}
.quizPanel08 #counter_box {
  font-size: 3.4rem;
  font-weight: 900;
  color: #00b8bf;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .quizPanel08 #counter_box {
    font-size: 6.3rem;
    line-height: 7.8rem;
  }
}
.quizPanel08 p.numero {
  margin: 4rem auto 4rem;
  display: flex;
  justify-content: center;
}
@media screen and (max-width: 768px) {
  .quizPanel08 p.numero {
    margin: auto auto auto;
    width: 55.4rem;
  }
}
.quizPanel08 p.numero iframe {
  border: none;
}
.quizPanel08 p.numero span {
  font-size: 7.2rem;
  font-weight: 900;
  color: #00b8bf;
}
.quizPanel08 button {
  width: 21.9rem;
  margin: auto;
  border: none;
  background: none;
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
}
@media screen and (max-width: 768px) {
  .quizPanel08 button {
    width: 59rem;
  }
}
.quizPanel08 button img {
  width: 21.9rem;
}
@media screen and (max-width: 768px) {
  .quizPanel08 button img {
    width: 59rem;
  }
}

.renraku {
  margin: 5rem auto auto;
  text-align: center;
}
.renraku p.ttl {
  font-size: 2.6rem;
  font-weight: 900;
  line-height: 3.515rem;
  color: #fff;
  margin-bottom: 1rem;
}
@media screen and (max-width: 768px) {
  .renraku p.ttl {
    font-size: 3.936rem;
    line-height: 4.5rem;
    margin-bottom: 1.5rem;
  }
}
@media screen and (max-width: 768px) {
  .renraku p.ttl span {
    font-size: 2.7rem;
    line-height: 3rem;
    letter-spacing: 0.15rem;
  }
}
.renraku p.attention {
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 2.315rem;
  color: #fff;
}
@media screen and (max-width: 768px) {
  .renraku p.attention {
    font-size: 2rem;
    line-height: 3.19rem;
  }
}

.scrollArea {
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.scrollArea::-webkit-scrollbar {
  display: none;
}

.simplebar-scrollbar::before {
  background: #d80b24;
  width: 0.76rem;
  border-radius: 0.38rem;
  left: 0;
  opacity: 1 !important;
}
@media screen and (max-width: 768px) {
  .simplebar-scrollbar::before {
    width: 3rem;
    border-radius: 1.5rem;
  }
}

.simplebar-track.simplebar-vertical {
  background: #eeeeee;
  width: 0.76rem;
  border-radius: 0.38rem;
}
@media screen and (max-width: 768px) {
  .simplebar-track.simplebar-vertical {
    width: 3rem;
    border-radius: 1.5rem;
  }
}

.pagetop_anchor svg {
  width: 3.44rem;
  height: 17.833rem;
  fill: currentColor;
}

.pagetop_anchor a {
  background: url("../images/bg_pagetop.png") no-repeat;
  background-size: contain;
}

@media (max-width: 768px) {
  .nav_link::after {
    background-image: url(../images/arrow2_w.svg);
    background-position: right center;
    background-repeat: no-repeat;
    background-size: contain;
    width: 3.2rem;
    height: 3.2rem;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto 0;
  }
}
footer {
  position: relative;
  z-index: 3;
}

.next {
  padding-top: 1rem;
  position: relative;
  z-index: 3;
}
@media (max-width: 768px) {
  .next {
    overflow-x: hidden;
    width: 100%;
    margin-top: 120rem;
    overflow-y: hidden;
  }
}

@media (max-width: 768px) {
  .kv_section {
    position: fixed;
  }
}

.figureSec {
  width: 100%;
  position: fixed;
  top: 6rem;
  left: 0;
  z-index: 2;
}
@media (max-width: 768px) {
  .figureSec {
    top: 13rem;
  }
}
.figureSec .inner {
  position: relative;
}

.anch {
  margin-top: 0;
  padding-top: 0;
}
@media (max-width: 768px) {
  .anch {
    margin-top: -15rem;
    padding-top: 15rem;
  }
}

#Footer {
  position: relative;
}
