@charset "utf-8";
:root {
  --color-red: #D9332C;
  --color-bg-red: #CE1D1F;
  --color-bg-grey: #F2F1EF;
}
/*
.font-serif(){
	//font-family: "ヒラギノ明朝 ProN W6", "HiraMinProN-W6", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝";
	font-family: "Noto Serif JP", "ヒラギノ明朝 ProN W6", "HiraMinProN-W6", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
}
.font-serif-bold(){
	.font-serif();
	font-weight: bold;
}
*/
.abswh100 {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
}
.wh100 {
  width: 100%;
  height: 100%;
}
.center {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-align: center;
      align-items: center;
}
.abscenter {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
}
.hv_center {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
}
.h_center {
  position: absolute;
  right: 0;
  left: 0;
  margin: auto;
}
.v_center {
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
}
.hover_scale {
  transition: all 200ms 0s ease;
}
.hover_scale:hover {
  transform: scale(1.03);
}
/*==============================================================
  ■ (SP)
==============================================================*/
section {
  width: 100%;
  position: relative;
}
.content-wrapper {
  background-color: #E6E4E0;
}
.kv {
  height: 177.86667vw;
  background-color: #CE1D1F;
}
.kv__title {
  width: 80.133vw;
  height: 48.667vw;
  background-image: url("../img/top/kv_logo.svg");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
  text-indent: -9999px;
  overflow: hidden;
  white-space: nowrap;
  position: absolute;
  left: 9.86667vw;
  top: 32vw;
  animation: titlein 0.7s cubic-bezier(0.43, 1.465, 0.445, 0.995) 0s 1 normal;
}
.kv__title a {
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
@keyframes titlein {
  0% {
    transform: scale(0.5);
    opacity: 0;
  }
  100% {
    transform: scale(1);
    opacity: 1;
  }
}
.kv__read {
  width: 68.667vw;
  height: 68.533vw;
  background-image: url("../img/top/kv_text.svg");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
  text-indent: -9999px;
  overflow: hidden;
  white-space: nowrap;
  position: absolute;
  left: 15.6vw;
  top: 96.4vw;
  animation: readin 1s cubic-bezier(0.43, 1.465, 0.445, 0.995) 0s 1 normal;
}
.kv__read a {
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
@keyframes readin {
  0% {
    transform: scale(0.5);
    opacity: 0;
  }
  100% {
    transform: scale(1);
    opacity: 1;
  }
}
@keyframes cloudloop1 {
  0% {
    transform: scale(0.9);
  }
  100% {
    transform: scale(1);
  }
}
.kv__acc li {
  display: block;
  width: 48.533vw;
  height: 48.533vw;
  background-image: url("../img/top/kv_illust.svg");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
  text-indent: -9999px;
  overflow: hidden;
  white-space: nowrap;
}
.kv__acc li a {
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
.kv__acc__1 {
  position: absolute;
  left: -31.6vw;
  top: 43.73333vw;
  animation: cloudloop1 2s ease-in-out 0s infinite alternate;
}
.kv__acc__2 {
  position: absolute;
  left: -31.6vw;
  top: 134.26667vw;
  animation: cloudloop1 2s ease-in-out 0s infinite alternate;
}
.kv__acc__3 {
  position: absolute;
  right: -31.6vw;
  top: -1.6vw;
  animation: cloudloop1 2s ease-in-out 0s infinite alternate;
}
.kv__acc__4 {
  position: absolute;
  right: -31.6vw;
  top: 88.93333vw;
  animation: cloudloop1 2s ease-in-out 0s infinite alternate;
}
.prize {
  background-color: #E6E4E0;
  padding-top: 10.66667vw;
  padding-bottom: 26.66667vw;
  overflow: hidden;
}
.prize__bg {
  width: 100%;
  position: absolute;
  left: 0;
  top: 0;
}
.prize__bg li {
  width: 48.533vw;
  height: 48.533vw;
  background-image: url("../img/top/prize_illust.svg");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
  text-indent: -9999px;
  overflow: hidden;
  white-space: nowrap;
}
.prize__bg li a {
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
@keyframes cloudloop2 {
  0% {
    transform: scale(0.9);
  }
  100% {
    transform: scale(1);
  }
}
.prize__bg__1 {
  position: absolute;
  left: -31.46667vw;
  top: 27.33333vw;
  animation: cloudloop2 2s ease-in-out 0.1s infinite alternate;
}
.prize__bg__2 {
  position: absolute;
  right: -32vw;
  top: -18vw;
  animation: cloudloop2 2s ease-in-out 0.2s infinite alternate;
}
.prize__bg__3 {
  position: absolute;
  left: -31.46667vw;
  top: 118vw;
  animation: cloudloop2 2s ease-in-out 0.3s infinite alternate;
}
.prize__bg__4 {
  position: absolute;
  right: -32vw;
  top: 72.66667vw;
  animation: cloudloop2 2s ease-in-out 0.4s infinite alternate;
}
.prize__bg__5 {
  position: absolute;
  left: -31.46667vw;
  top: 208.66667vw;
  animation: cloudloop2 2s ease-in-out 0.5s infinite alternate;
}
.prize__bg__6 {
  position: absolute;
  right: -32vw;
  top: 163.33333vw;
  animation: cloudloop2 2s ease-in-out 0.6s infinite alternate;
}
.prize__bg__7 {
  position: absolute;
  left: -31.46667vw;
  top: 299.33333vw;
  animation: cloudloop2 2s ease-in-out 0.7s infinite alternate;
}
.prize__bg__8 {
  position: absolute;
  right: -32vw;
  top: 254vw;
  animation: cloudloop2 2s ease-in-out 0.8s infinite alternate;
}
.prize__bg__9 {
  position: absolute;
  left: -31.46667vw;
  top: 390vw;
  animation: cloudloop2 2s ease-in-out 0.9s infinite alternate;
}
.prize__bg__10 {
  position: absolute;
  right: -32vw;
  top: 344.66667vw;
  animation: cloudloop2 2s ease-in-out 1s infinite alternate;
}
.prize__bg__11 {
  position: absolute;
  right: -32vw;
  top: 435.33333vw;
  animation: cloudloop2 2s ease-in-out 1.1s infinite alternate;
}
.prize__title {
  position: relative;
  width: 28.8vw;
  height: 12.267vw;
  background-image: url("../img/top/prize_title.svg");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
  text-indent: -9999px;
  overflow: hidden;
  white-space: nowrap;
  margin: 0 auto;
}
.prize__title a {
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
.prize__list {
  position: relative;
  margin-top: 6.66667vw;
  margin-left: 5.33333vw;
}
.prize__list__item {
  margin-bottom: 9.33333vw;
}
.prize__list .item1 {
  width: 91.2vw;
  height: 192.6vw;
  background-image: url("../img/top/prize_item1.png?v=20251017");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
  text-indent: -9999px;
  overflow: hidden;
  white-space: nowrap;
}
.prize__list .item1 a {
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
.prize__list .item2 {
  width: 91.2vw;
  height: 131.6vw;
  background-image: url("../img/top/prize_item2.png?v=20251003");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
  text-indent: -9999px;
  overflow: hidden;
  white-space: nowrap;
}
.prize__list .item2 a {
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
.prize__list .item3 {
  width: 91.2vw;
  height: 131.6vw;
  background-image: url("../img/top/prize_item3.png?v=20251003");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
  text-indent: -9999px;
  overflow: hidden;
  white-space: nowrap;
}
.prize__list .item3 a {
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
.flow {
  width: 100%;
  background-color: white;
  border-radius: 13.33333vw 13.33333vw 0 0;
  overflow: hidden;
  height: 333.33333vw;
  padding-top: 10.66667vw;
  padding-bottom: 10.66667vw;
  margin-top: -20vw;
}
.flow__title {
  margin: 0 auto;
  width: 80vw;
  height: 61.467vw;
  background-image: url("../img/top/flow_title.svg");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
  text-indent: -9999px;
  overflow: hidden;
  white-space: nowrap;
}
.flow__title a {
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
.flow__list {
  position: relative;
  width: 89.33333vw;
  margin: 0 auto;
  padding-top: 10.13333vw;
}
.flow__list__item {
  position: relative;
}
.flow__list__item.item1 .flow__list__item__bg {
  width: 89.333vw;
  height: 96.4vw;
  background-image: url("../img/top/flow1.png");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
  text-indent: -9999px;
  overflow: hidden;
  white-space: nowrap;
}
.flow__list__item.item1 .flow__list__item__bg a {
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
.flow__list__item.item1 .flow__list__item__arrow {
  width: 8.667vw;
  height: 5.867vw;
  background-image: url("../img/top/flow_arrow.svg");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
  text-indent: -9999px;
  overflow: hidden;
  white-space: nowrap;
  margin: 5.33333vw auto 0;
}
.flow__list__item.item1 .flow__list__item__arrow a {
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
.flow__list__item.item1 .flow__list__item__btn {
  display: block;
  width: 46.667vw;
  height: 13.333vw;
  background-image: url("../img/top/flow_btn_follow.png");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
  text-indent: -9999px;
  overflow: hidden;
  white-space: nowrap;
  position: absolute;
  left: 21.33333vw;
  top: 72vw;
}
.flow__list__item.item1 .flow__list__item__btn a {
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
.flow__list__item.item2 {
  margin-top: 5.33333vw;
}
.flow__list__item.item2 .flow__list__item__bg {
  width: 89.333vw;
  height: 109.067vw;
  background-image: url("../img/top/flow2.png");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
  text-indent: -9999px;
  overflow: hidden;
  white-space: nowrap;
}
.flow__list__item.item2 .flow__list__item__bg a {
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
.flow__list__item.item2 input[type="text"]:focus {
  border: none;
  outline: 0;
}
.flow__list__item.item2 .flow__list__item__form__text {
  text-align: center;
  font-size: 4vw;
  position: absolute;
  margin: auto;
  left: 0;
  right: 0;
  top: 88vw;
  border: none;
  font-weight: bold;
  letter-spacing: 0.5em;
  background-color: rgba(0, 0, 0, 0);
  width: 40vw;
}
.flow__list__item.item2 .flow__list__item__form__submit {
  display: block;
  width: 46.667vw;
  height: 13.333vw;
  background-image: url("../img/top/flow_btn_submit.svg");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
  text-indent: -9999px;
  overflow: hidden;
  white-space: nowrap;
  position: absolute;
  margin: auto;
  left: 0;
  right: 0;
  top: 116vw;
}
.flow__list__item.item2 .flow__list__item__form__submit a {
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
.flow__list__item.item2 .flow__list__item__form__submit.nonactive {
  pointer-events: none;
  opacity: 0.6;
}
