@charset "UTF-8";
@media (min-width: 835px) {
  .l-footer {
    margin-top: 60px;
  }
}

.lower__btn {
  margin-top: 100px;
}
@media (min-width: 835px) {
  .lower__btn {
    margin: 100px auto 0;
    width: 260px;
  }
}
.lower__btn a {
  border: 0.2vw solid #fff;
  color: #fff;
  display: block;
  font-size: 4.5vw;
  letter-spacing: 0.1em;
  line-height: 8.5vw;
  padding-bottom: 0.5vw;
  position: relative;
  text-align: center;
}
@media (min-width: 835px) {
  .lower__btn a {
    border-width: 1px;
    font-size: 18px;
    line-height: 50px;
    padding: 0 15px 2px 0;
  }
}
.lower__btn .c-arwbtn {
  position: absolute;
  top: 50%;
  right: 3.2vw;
  height: 4.6vw;
  transform: translateY(-50%);
  width: 4.6vw;
}
@media (min-width: 835px) {
  .lower__btn .c-arwbtn {
    height: 24px;
    right: 15px;
    width: 24px;
  }
}
.lower__btn .c-arwbtn:before, .lower__btn .c-arwbtn:after {
  background-color: #fff;
}

.share {
  align-items: center;
  display: flex;
  justify-content: center;
  margin-top: 100px;
  color: #fff;
}
@media (min-width: 835px) {
  .share {
    margin: 100px auto 0;
  }
}
.share h2 {
  font-size: 2.6vw;
  font-weight: 900;
  letter-spacing: 0.12em;
}
@media (min-width: 835px) {
  .share h2 {
    font-size: 10px;
    margin-right: 15px;
  }
}
.share p {
  margin-left: 5.3vw;
}
@media (min-width: 835px) {
  .share p {
    margin: 0 10px;
  }
}
.share p.-twitter {
  width: 6.4vw;
}
@media (min-width: 835px) {
  .share p.-twitter {
    width: 26px;
  }
}
.share p.-line {
  width: 6.9vw;
}
@media (min-width: 835px) {
  .share p.-line {
    width: 28px;
  }
}
.share p.-facebook {
  width: 2.6vw;
}
@media (min-width: 835px) {
  .share p.-facebook {
    width: 10px;
  }
}
.share a,
.share img {
  display: block;
}

.sp_ico__cont {
  position: relative;
  margin: 0 10.6vw;
  color: #fff;
}
@media (min-width: 835px) {
  .sp_ico__cont {
    max-width: 820px;
    margin: 0 auto;
  }
}

.sp_ico__txt {
  font-size: 0.875rem;
  background-image: linear-gradient(90deg, transparent 0%, #000 50%, #000 100%), linear-gradient(180deg, #d9d9d9 1px, transparent 1px); /* 点線2の色と太さ */
  background-size: 3px 100%, 100% 2.5em;
  line-height: 2.5;
  padding-bottom: 1px;
  font-weight: 500;
}
.sp_ico__txt strong {
  font-weight: 900;
  color: #ffff00;
}
@media (min-width: 835px) {
  .sp_ico__txt {
    font-size: 1rem;
    line-height: 3;
    background-size: 3px 100%, 100% 3em;
  }
}

.sp_ico__notice {
  font-size: 0.625rem;
  opacity: 0.7;
  margin-top: 20px;
}
@media (min-width: 835px) {
  .sp_ico__notice {
    font-size: 0.75rem;
    margin-top: 15px;
  }
}

.sp_ico__ttl {
  position: relative;
  font-size: 0.875rem;
  font-weight: 900;
  display: flex;
  align-items: center;
  margin-top: 52px;
}
@media (min-width: 835px) {
  .sp_ico__ttl {
    margin-top: 80px;
    font-size: 1.375rem;
  }
}
.sp_ico__ttl:before {
  content: "";
  width: 17px;
  height: 19px;
  background: #fff;
  display: block;
  margin-right: 7px;
  background: url(../../assets/img/special/icon_present/ico_yo.svg) no-repeat 0 0/100%;
}
@media (min-width: 835px) {
  .sp_ico__ttl:before {
    width: 30px;
    height: 33px;
    margin-right: 15px;
  }
}

.sp_ico__dllist {
  display: flex;
  flex-wrap: wrap;
}
.sp_ico__dllist.-tw {
  margin: 12px -10px -12px;
}
@media (min-width: 835px) {
  .sp_ico__dllist.-tw {
    margin: 25px 0 0;
  }
}
.sp_ico__dllist.-wp {
  margin: 0 -7px -20px;
}
@media (min-width: 835px) {
  .sp_ico__dllist.-wp {
    margin: 25px -13px 0;
  }
}

.-tw .sp_ico__dllist__item {
  width: calc(50% - 40px);
  margin: 12px 20px;
}
@media (min-width: 835px) {
  .-tw .sp_ico__dllist__item {
    width: calc(25% - 32px);
    margin: 0 16px;
  }
}
.-wp .sp_ico__dllist__item {
  width: calc(50% - 14px);
  margin: 20px 7px;
}
@media (min-width: 835px) {
  .-wp .sp_ico__dllist__item {
    width: calc(25% - 26px);
    margin: 0 13px;
  }
}
.sp_ico__dllist__item .icon {
  border-radius: 50%;
}
.sp_ico__dllist__item .name {
  font-size: 0.875rem;
  font-weight: 500;
  text-align: center;
  margin-top: 5px;
}
@media (min-width: 835px) {
  .sp_ico__dllist__item .name {
    font-size: 0.9375rem;
    margin-top: 7px;
  }
}

@-webkit-keyframes mvbganim_x {
  0% {
    width: 0;
  }
  100% {
    width: 100%;
  }
}

@keyframes mvbganim_x {
  0% {
    width: 0;
  }
  100% {
    width: 100%;
  }
}
@-webkit-keyframes mvbganim_y {
  0% {
    height: 0;
  }
  100% {
    height: 100%;
  }
}
@keyframes mvbganim_y {
  0% {
    height: 0;
  }
  100% {
    height: 100%;
  }
}
.sp_ico__mv {
  position: relative;
  height: 133.7vw;
  margin-bottom: 35px;
}
@media (min-width: 835px) {
  .sp_ico__mv {
    max-width: 1168px;
    height: auto;
    margin: 60px auto;
    aspect-ratio: 1168/685;
  }
}
.sp_ico__mv:before {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, 0);
  content: "";
  width: 100%;
  height: 100%;
  background: url(../../assets/img/special/icon_present/ph_mvbg_nrw.png) no-repeat 50% 50%/auto 100%;
  -webkit-animation: mvbganim_x 1s 0s cubic-bezier(0.85, 0, 0.15, 1) forwards;
          animation: mvbganim_x 1s 0s cubic-bezier(0.85, 0, 0.15, 1) forwards;
}
@media (min-width: 835px) {
  .sp_ico__mv:before {
    background: url(../../assets/img/special/icon_present/ph_mvbg.png) no-repeat 50% 50%/auto 100%;
  }
}
.sp_ico__mv:after {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translate(0, -50%);
  content: "";
  width: 100%;
  height: 100%;
  background: url(../../assets/img/special/icon_present/ph_mvbg_nrw.png) no-repeat 50% 50%/100% auto;
  -webkit-animation: mvbganim_y 1s 0s cubic-bezier(0.85, 0, 0.15, 1) forwards;
          animation: mvbganim_y 1s 0s cubic-bezier(0.85, 0, 0.15, 1) forwards;
}
@media (min-width: 835px) {
  .sp_ico__mv:after {
    background: url(../../assets/img/special/icon_present/ph_mvbg.png) no-repeat 50% 50%/100% auto;
  }
}

@-webkit-keyframes mvchanim {
  0% {
    opacity: 0;
    transform: translate(-50%, 20px);
  }
  100% {
    opacity: 1;
    transform: translate(-50%, 0);
  }
}

@keyframes mvchanim {
  0% {
    opacity: 0;
    transform: translate(-50%, 20px);
  }
  100% {
    opacity: 1;
    transform: translate(-50%, 0);
  }
}
@-webkit-keyframes mvtxtanim {
  0% {
    opacity: 0;
    transform: translate(0, -200%);
  }
  30% {
    opacity: 1;
    transform: translate(0, 0);
  }
  50% {
    opacity: 1;
    transform: translate(0, -30%) rotate(4deg);
  }
  65% {
    opacity: 1;
    transform: translate(0, 0%) rotate(0deg);
  }
  75% {
    opacity: 1;
    transform: translate(0, -10%) rotate(-2deg);
  }
  90% {
    opacity: 1;
    transform: translate(0, 0%) rotate(0deg);
  }
  100% {
    opacity: 1;
    transform: translate(0, 0);
  }
}
@keyframes mvtxtanim {
  0% {
    opacity: 0;
    transform: translate(0, -200%);
  }
  30% {
    opacity: 1;
    transform: translate(0, 0);
  }
  50% {
    opacity: 1;
    transform: translate(0, -30%) rotate(4deg);
  }
  65% {
    opacity: 1;
    transform: translate(0, 0%) rotate(0deg);
  }
  75% {
    opacity: 1;
    transform: translate(0, -10%) rotate(-2deg);
  }
  90% {
    opacity: 1;
    transform: translate(0, 0%) rotate(0deg);
  }
  100% {
    opacity: 1;
    transform: translate(0, 0);
  }
}
.sp_ico__mv__ttl {
  position: relative;
  padding-top: 9.8vw;
  z-index: 1;
  opacity: 0;
  -webkit-animation: mvtxtanim 1s 1s ease forwards;
          animation: mvtxtanim 1s 1s ease forwards;
}
@media (min-width: 835px) {
  .sp_ico__mv__ttl {
    position: absolute;
    top: 5.8394%;
    left: 2.911%;
    padding-top: 0;
    width: 94.178%;
  }
}

.sp_ico__mv__ch {
  position: absolute;
  left: 50%;
  bottom: 1.4vw;
  transform: translate(-50%, 0);
  width: 100%;
  height: 89.6vw;
  background: url(../../assets/img/special/icon_present/ph_mvch_nrw.png) no-repeat 50% 50%/100% auto;
  z-index: 1;
  opacity: 0;
  -webkit-animation: mvchanim 0.6s 1s ease forwards;
          animation: mvchanim 0.6s 1s ease forwards;
}
@media (min-width: 835px) {
  .sp_ico__mv__ch {
    position: absolute;
    left: 50%;
    bottom: 5px;
    transform: translate(-50%, 0);
    width: 85.616%;
    height: 56.35%;
    background: url(../../assets/img/special/icon_present/ph_mvch.png) no-repeat 50% 50%/100% auto;
  }
}

@-webkit-keyframes onpumove_nrw {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 0.4;
    transform: translate(0, 0) rotate(5deg);
  }
}

@keyframes onpumove_nrw {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 0.4;
    transform: translate(0, 0) rotate(5deg);
  }
}
@-webkit-keyframes onpumove {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 0.4;
    transform: translate(0, 0) rotate(4deg);
  }
}
@keyframes onpumove {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 0.4;
    transform: translate(0, 0) rotate(4deg);
  }
}
.sp_ico__onpu {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}
.sp_ico__onpu .obj {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
}
.sp_ico__onpu .obj.-l1 {
  background: url(../../assets/img/top/mv/obj/ph_obj_l1_2_nrw.png) repeat 0 0/100%;
  -webkit-animation: onpumove_nrw 2s 0s ease alternate infinite;
          animation: onpumove_nrw 2s 0s ease alternate infinite;
}
@media (min-width: 835px) {
  .sp_ico__onpu .obj.-l1 {
    background: url(../../assets/img/top/mv/obj/ph_obj_l1_2.png) repeat 0 0/100%;
    -webkit-animation: onpumove 2s 0s ease alternate infinite;
            animation: onpumove 2s 0s ease alternate infinite;
  }
}
.sp_ico__onpu .obj.-l2 {
  background: url(../../assets/img/top/mv/obj/ph_obj_l2_2_nrw.png) repeat 0 0/100%;
  -webkit-animation: onpumove_nrw 2s 1s ease alternate infinite;
          animation: onpumove_nrw 2s 1s ease alternate infinite;
}
@media (min-width: 835px) {
  .sp_ico__onpu .obj.-l2 {
    background: url(../../assets/img/top/mv/obj/ph_obj_l2_2.png) repeat 0 0/100%;
    -webkit-animation: onpumove 2s 1s ease alternate infinite;
            animation: onpumove 2s 1s ease alternate infinite;
  }
}