﻿@charset "UTF-8";
#nl25 {
  position: relative;
  overflow: hidden;
  width: 100%;
  background: #7F3044;
}
.bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url(../img/bg_pc.png);
  z-index: 1;
  overflow: hidden;
  touch-action: none;
  pointer-events: none;
  background-size: cover;
}
#nl25 .wrapper {
  position: relative;
  z-index: 10;
  color: #fff;
  width: 100%;
}
.fv { text-align: center;}
.fv_under1 span {
  display: block;
  margin: 0 auto;
}
.fv_logo {
  max-width:160px;
  margin: 0 auto 3em;
  width: 32%;
}
#nl25 img {
  max-width: 100%;
  height: auto;
}
.fv_text1 {
  margin: 1em auto;
}
.fv_under1 {
  margin-bottom: 2.5em;
}
.fv_under2 {
  line-height: 2;
}
.ribon {
  position: absolute;
  top: 0;
  text-align: center;
  width: 90%;
  left: 5%;
}

.bg:before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background-image: url(../img/ribon.png);
  background-repeat: repeat-y;
  background-position: top center;
}
.stars_wraps .stars {
  position: relative;
  margin: 2em auto;
}
.star {
  position: absolute;
  animation:star alternate infinite 1s ease-in-out;
}
.star.star1 { animation-delay:0.1s; }
.star.star2 { animation-delay:0.0s; }
.star.star3 { animation-delay:0.4s; }
.star.star4 { animation-delay:0.6s; }
.star.star5 { animation-delay:1.2s; }
.star.star6 { animation-delay:0.5s; }
.star.star7 { animation-delay:1.0s; }
.star.star8 { animation-delay:0.4s; }
.star.star9 { animation-delay:0.8s; }
.star.star10 { animation-delay:0.3s; }
@keyframes star{
  0%{ opacity:0.2; transform:scale(0); }
  100%{ opacity:1; transform:scale(1); }
}

.fv_logo.fade {
  opacity: 0;
  transition: all 1s ease;
}
.fv_logo.fade.fade_in {
  opacity: 1;
}
.fv_under1.fade > span {
  opacity: 0;
  transition: all 1s ease;
}
.fv_under1.fade.fade_in > span {
  opacity: 1;
}
.fv_under1.fade > .fv_under1_1 {
  transition-delay: 0.5s;
}
.fv_under1.fade > .fv_under1_2 {
  transition-delay: 1.0s;
}
.fv_under1.fade > .fv_under1_3 {
  transition-delay: 1.5s;
}
.fv_under1.fade.scrollAdd > .fv_under1_1 {
  transition-delay: 0s;
}
.fv_under1.fade.scrollAdd > .fv_under1_2 {
  transition-delay: 0.5s;
}
.fv_under1.fade.scrollAdd > .fv_under1_3 {
  transition-delay: 1.0s;
}
@media screen and (min-width:768px){
  #nl25 {
    font-size:16px;
    min-height: calc(100vh - 140px - 103px);
  }
  #nl25 .sp {
    display: none;
  }
  .fv {
    padding-top: 40px;
    padding-bottom: 80px;
  }
  .stars_wraps .stars {
    height: 737px;
    max-width: 900px;
  }
  .star.star1 {
    left: 75px;
    top: 0;
  }
  .star.star2 {
    top: 12px;
    right: 132px;
  }
  .star.star3 {
    left: 117px;
    top: 196px;
  }
  .star.star4 {
    right: 1px;
    top: 150px;
  }
  .star.star5 {
    right: 197px;
    top: 236px;
  }
  .star.star6 {
    right: 5px;
    top: 374px;
  }
  .star.star7 {
    top: 440px;
    left: 0;
  }
  .star.star8 {
    left: 164px;
    top: 519px;
  }
  .star.star9 {
    top: 639px;
    right: 112px;
  }
  .star.star10 {
    bottom: 0;
    left: 123px;
  }
}
@media screen and (max-width:767px){
  
  .bg:before {
    background-image: url(../img/ribon_sp.png);
    background-size:100% auto;
  }
  #nl25 {
    font-size: 2.658vw;
    padding: 3em 0 3.5em;
  }
  .fv_under1_1 {
    width: 77.7%;
    margin: 0 auto;
  }
  .fv_under1_2 {
    width: 62.6%;
  }
  .fv_under1_3.sp {
    width: 34%;
  }
  .fv_text1 {
    margin: 0em auto 0em;
  }
  .fv_under2 {
    width: 78%;
    margin: 0 auto;
  }
  .stars {
    position: relative;
    width: 94%;
    height: 69.4em;
    margin: 1em auto 1.5em;
  }
  .star.star1 {
    right: 1em;
    top: 0;
  }
  .star.star2 {
    top: 13em;
    left: 3.6em;
  }
  .star.star3 {
    right: 3.8em;
    top: 16em;
  }
  .star.star4 {
    top: 35.3em;
    right: 0;
  }
  .star.star5 {
    top: 46.7em;
    left: 1.6em;
  }
  .star.star6 {
    right: 1.8em;
    top: 58.8em;
  }
  .star.star7 {
    left: 0;
    bottom: 0;
  }
  .star.star8 {
    top: 25em;
    left: 9em;
  }
  .star.star9 {
    bottom: 0;
    left: 0;
  }
  .star.star10 {
    right: 3em;
    top: 50em;
  }
  .fv_under1 {
    margin-bottom: 4em;
  }
  #nl25 .stars img {
    max-width: 2.6em;
    height: auto;
  }
}