@charset "utf-8";

#wrapper{
  overflow: hidden;
  width: 100%;
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", Hiragino Mincho ProN , "HG明朝E", "MSP明朝","MS PMincho","MS 明朝","Sawarabi Mincho",serif;
  -webkit-font-smoothing: antialiased;
  padding-bottom: 80px;
  position: relative;
}
#background{
  position: absolute;
  z-index: 0;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: url(../img/background_pc.jpg) repeat-y center top;
  background-size: 100%;
  opacity: 0;
  z-index: 0;
}
#wrapper .borderWrap{
  border: 8px solid #404040;
  box-sizing: border-box;
  color: #404040;
  position: relative;
  z-index: 2;
}

#yami-slider{
  height: 80px;
  position: fixed;
  z-index: 100;
  left: 0px;
  right: 0px;
  bottom: 0;
  background: url(../img/bg_slider.png);
  background-size: 100%;
  border: 8px solid #404040;
  border-top: 0;
}
#yami-slider .bar{
  max-width: 400px;
  margin: 0 auto;
  padding: 30px 0;
  width: 90%;
}

.input-range[type="range"] {
  -webkit-appearance: none;
  appearance: none;
  background-color: #c7c7c7;
  height: 2px;
  width: 100%;
  outline: none;
}
.input-range[type="range"]:focus,
.input-range[type="range"]:active {
    outline: none;
}
.input-range[type="range"]::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    cursor: pointer;
    position: relative;
    border: none;
    width: 30px;
    height: 30px;
    border-radius: 30px;
    -webkit-border-radius: 30px;
    background: #FFF;
    display: block;
    overflow: hidden;
/*
    background: url(../img/btn-yami.png) no-repeat center center;
    background-size: 43px;
*/
}


.fadeIn{
	transform: translateY(100px);
	-webkit-transform: translateY(100px);
	transition: 0.6s;
	-webkit-transition: 0.6s;
	opacity: 0;
}

.fadeIn.scrollIn{
  transform: translateY(0);
	-webkit-transform: translateY(0);
	transition: 0.5s;
	-webkit-transition: 0.5s;
	opacity: 1;
}

img{
  width: 100%;
  height: auto;
}
a:hover img{
  opacity: 0.5;
}

.sp_image{
  display: none;
}
.pc_image{
  display: block;
}

/* HEADER */
#siteHeader{
  position: relative;
}

#siteHeader h1{
  position: absolute;
  width: 48%;
  margin: 0 auto;
  left: 0;
  top: 7%;
}

/* #contents */
#contents .inner{
  padding: 50px 0;
  max-width: 750px;
  margin: 0 auto;
  position: relative;
  z-index: 10;
}

#contents h2.sectionTitle{
  max-width: 580px;
  margin: 0 auto;
  padding: 50px 0;
}

/* #release */
#release .jkt,
#release .title{
  max-width: 480px;
  margin: 0 auto;
}
#release .title{
  padding: 30px 0 50px;
}
#release .btn-download{
  margin: 20px auto;
  max-width: 600px;
}
#release .btn-download a{
  display: block;
  border: 2px solid #404040;
  text-align: center;
  padding: 20px;
  transition: .4s;
  -webkit-transition: .4s;
}
#release .btn-download a img{
  max-width: 286px;
  width: 65%;
  transition: .4s;
  -webkit-transition: .4s;
}
#release .btn-download a:hover{
  background: #404040;
}
#release .btn-download a:hover img{
  filter: invert(100%);
}


#release .playarea{
  margin: 50px 0 0;
}
#release .playarea h3{
  width: 88px;
  margin: 0 auto;
  padding-bottom: 40px;
}
#release .playarea .btn-play{
  -webkit-appearance: none;
  background: transparent;
  width: 50px;
  height: 50px;
  display: block;
  margin: 0 auto;
  border: none;
  text-indent: -9999px;
  overflow: hidden;
  outline: none;
  position: relative;
  padding: 0;
}
#release .playarea .btn-play:after{
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 50px;
  height: 50px;
  background: url(../img/btn-play.png) no-repeat center center;
  background-size: 100%;
}
#release .playarea .btn-play:focus{
  outline: none;
}

.textBox{
  font-size: 16px;
  height: 18em;
  overflow: hidden;
  position: relative;
  text-align: center;
  padding-bottom: 100px;
}
.textBox.show{
  height: auto;
}
.textBox .text,
.textBox .lyrictext{
  overflow: hidden;
  height: 100%;
}
.textBox .btn-more{
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  display: block;
  text-align: center;
  cursor: pointer;
}
.textBox .btn-more:before{
  content: "...";
  font-size: 20px;
  display: block;
  text-align: center;
}
.textBox .btn-more span{
  padding: 30px 0 0;
  display: inline-block;
  font-size: 24px;
  line-height: 1.1em;
  border-bottom: 1px solid #404040;
  position: relative;
  overflow: hidden;
}
.textBox .btn-more span:after{
  content: "";
  width: 100%;
  height: 1em;
  display: block;
  background: #404040;
  position: absolute;
  left: -101%;
  bottom: 0;
  transition: 0s;
  -webkit-transition: 0s;
}
.textBox .btn-more:hover span:after{
  left: 101%;
  transition: .3s;
  -webkit-transition: .3s;
}
.textBox.show .btn-more{
  display: none;
}

#lyric .lyrictext p{
  line-height: 3em;
  margin-bottom: 2em;
  font-weight: bold;
}

#video .movie_wrapper{
    position: relative;
    padding-bottom: 56.25%;
    padding-top: 30px;
    height: 0;
    overflow: hidden;
    z-index: 1;
}

#video .movie_wrapper iframe{
    position: absolute;
    top: 0 ;
    left: 0 ;
    height: 100% ;
    width: 100% ;
}

#comment .text p{
  line-height: 2em;
  margin-bottom: 1em;
  font-weight: bold;
}
#column .text h3{
  font-size: 20px;
  text-align: center;
  font-weight: bold;
  padding-bottom: 20px;
  line-height: 1.8em;
}
#column .text p{
  line-height: 3em;
  margin-bottom: 2em;
  font-weight: bold;
  text-align: center;
}
#column .text p.writer{
  font-size: 14px;
  text-align: center;
}

#present .btn-present{
  max-width: 580px;
  margin: 10px auto 50px;
}
#present .btn-present a{
  transition: .3s;
  -webkit-transition: .3s;
}
#present .btn-present a:hover{
  opacity: 0.6;
}

footer{
  line-height: 50px;
  font-size: 12px;
  text-align: center;
}
footer p{
  font-size: 14px;
}
footer p.share{
  font-size: 24px;
}
footer .snsIcon{
  max-width: 500px;
  margin: 30px auto;
  text-align: center;
  line-height: 1;
}
footer .snsIcon li{
  width: 40px;
  display: inline-block;
  padding: 0px 20px;
  line-height: 0;
}


#special .alert{
  position: fixed;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  background: url(../img/alert_bg.jpg) no-repeat center center #000;
  background-size: cover;
  padding: 30px 20px;
  box-sizing: border-box;
  z-index: 1000;
}
#special .alert .pc{
  display: none;
}
#special .alert p{
  max-width: 567px;
  margin: 30px auto;
}
#special .alert p.ios{
  max-width: 665px;
  display: none;
}
#special .alert .btn-audio{
  margin: 20px auto;
  width: 80px;
  cursor: pointer;
}
#special .alert .btn-audio:hover{
  opacity: 0.6;
}

#special #lyric {
  font-size: 14px;
}
#special #lyric .Box{
  height: 70vh;
  overflow: hidden;
}
#special #lyric h2.sectionTitle img{
  transition: 13s;
  -webkit-transition: 13s;
}
#special #lyric.on h2.sectionTitle img{
  filter: brightness(10);
}
#special #lyric p{
  display: none;
  margin-bottom: 0;
  padding-bottom: 2em;
}


.ua-pc #special .alert{
  background: url(../img/eve_pc_arart_bg.jpg) no-repeat center center #000;
  background-size: 100%;
}
.ua-pc #special .alert .sp{
  display: none;
}
.ua-pc #special .alert .pc{
  position: absolute;
  left: 0;
  top: 50%;
  width: 100%;
  display: block;
}


#special .btn-back a{
  background: #DDD;
  color: #000;
  display: block;
  width: 200px;
  line-height: 40px;
  font-weight: bold;
  text-decoration: none;
  text-align: center;
  margin: 30px auto;
  transition: .3s;
  -webkit-transition: .3s;
}
#special .btn-back a:hover{
  color: #FFF;
  background: #404040;
}

@media(max-width:768px){
  .pc_image{
    display: none;
  }
  .sp_image{
    display: block;
  }
  #siteHeader h1{
    left: 3%;
    top: 3%;
    width: 51%;
  }
}

@media(max-width:640px){
  #wrapper{
    padding-bottom: 60px;
  }
  #wrapper .borderWrap{
    border-width: 4px;
  }
  #background{
    background:     
      url(../img/background.jpg) repeat-y center top #000;
    background-size: 100%;
  }

/*
  #background:after{
    content: "";
    display: block;
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    background:     
      url(../img/background_2.jpg) no-repeat center bottom;
    background-size: 100%;
  }
*/
  #contents .inner{
    padding: 20px;
  }
  #contents h2.sectionTitle{
    padding: 30px 0;
  }
  #release .title{
    padding: 20px 0 30px;
  }
  .textBox{
    height: 17em;
    font-size: 14px;
    padding-bottom: 80px;
  }
  #column .text h3{
    font-size: 16px;
  }
  #column .text p.writer{
    line-height: 2em;
  }
  footer p{
    font-size: 12px;
  }
  #yami-slider{
    height: 60px;
    border-width: 4px;
  }
  #yami-slider .bar{
    padding: 20px 0;
  }
  .input-range[type="range"]::-webkit-slider-thumb {
    width: 30px;
    height: 30px;
    background-size: 36px;
  }
  
}
@media(max-width:340px){
  #special .alert p{
    margin: 20px auto;
  }
  #special #lyric .Box{
    height: 65vh;
  }
}