@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Shippori+Mincho:wght@500;700&display=swap');

html,body{
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", Hiragino Mincho ProN , "HG明朝E", "MSP明朝","MS PMincho","MS 明朝",'Shippori Mincho',serif;
  -webkit-font-smoothing: antialiased;
  background: #2d4668;
}

/******* GROBAL *********/

#wrapper{
  height: auto;
  width: 100%;
  position: relative;
  margin: 0 auto;
  z-index: 0;
  background: #2d4668;
  box-sizing: border-box;
  min-height: 100vh;
  color: #FFF;
}

.spbr, .spbr2{
  display: none;
}
.line {
    margin: 40px auto;
    height: 1px;
    width: 16px;
    background-color: #999;
    overflow: hidden;
}
img{
  max-width: 100%;
  height: auto;
}

.fadeIn{
  opacity: 0;
  transform: translateY(60px);
  -webkit-transform: translateY(60px);
  transition: .5s;
  -webkit-transition: .5s;
}
.fadeIn.scrollIn{
  opacity: 1;
  transform: translateY(0%);
  -webkit-transform: translateY(0%);
}

/******* HEADER *********/

header#top{
  position: relative;
}
header .mv{
  line-height: 0;
  position: relative;
}

header .headerText{
  position: absolute;
  left: 0;
  right: 0;
  bottom: -2px;
}

nav{
  height: 80px;
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  background: #273137;
  z-index: 999;
}
nav .spmenu{
  display: none;
}
nav ul{
  text-align: center;
  padding: 30px 0; 
  display: flex;
  align-content: center;
  justify-content: center;
}
nav ul li{
  height: 20px;
  border-left: 1px solid #FFF;
}
nav ul li:first-child{
  border-left: none;
  text-decoration: none;
}
nav ul li a{
  color: #FFF;
  line-height: 20px;
  display: inline-block;
  padding: 0 24px;
  font-size: 16px;
  font-weight: bold;
  text-decoration: none;
  position: relative;
  z-index: 10;
  overflow: hidden
}
nav ul li a:before,
nav ul li a:after{
  content: "";
  display: block;
  position: absolute;
  width: 0%;
  left: 50%;
  top: 0;
  height: 20px;
  z-index: -1;
  background: #000;
  transition: .4s;
  -webkit-transition: .4s;
}
nav ul li a:before{
  left: auto;
  right: 50%;
}

nav ul li a:hover:before,
nav ul li a:hover:after{
  width: 100%;
}

/******* COMMMON *********/
.section-block .inner{
  max-width: 800px;
  margin: 0 auto;
  padding: 80px 100px 0;
}
.section-block .inner h2{
  padding-bottom: 40px;
  margin: 0 auto;
  text-align: center;
}
.section-block .inner h2 span{
  display: block;
  position: relative;
  z-index: 2;
}
.section-block .inner h2 span:before{
  content: "";
  display: block;
  z-index: -1;
  position: absolute;
  left: 0;
  width: 100%;
  bottom: -7px;
  height: 15px;
  background: #00204c;
}
.section-block .fadeIn h2 span:before{
  transition: .3s ease .6s;
  -webkit-transition: .3s ease .6s;
  transform: scaleX(0);
  -webkit-transform: scaleX(0);
}
.section-block .fadeIn.scrollIn h2 span:before{
  transform: scaleX(1);
  -webkit-transform: scaleX(1);
}

.section-block .inner .text p{
  font-size: 14px;
  line-height: 2.1em;
}

/******* CONTENTS *********/

#release.section-block .inner,
#profile.section-block .inner h2{
  max-width: 350px;
}
#release .btn-dl{
  margin: 40px 0 25px;
  display: block;
  font-weight: bold;
  line-height: 2.6em;
  font-size: 20px;
  text-align: center;
  color: #00204c;
  background: #FFF;
  text-decoration: none;
}
#release p.note{
  text-align: center;
  font-size: 13px;
  margin-bottom: 2em;
}

#profile .profile{
  text-align: center;
  padding-bottom: 40px;
  border-bottom: 4px solid #00204c;
  margin-bottom: 40px;
}
#profile .profile .prof-photo{
  max-width: 250px;
  margin: 0 auto;
}
#profile .profile h3{
  font-size: 35px;
  margin: 1em 0 0.8em;
  font-weight: normal;
}
#profile .profile.col2{
  margin: 60px 0;
  overflow: hidden;
}
#profile .profile.col2 .prof-photo{
  width: 180px;
  float: left;
}
#profile .profile.col2 .text{
  margin-left: 210px;
}
#profile .profile.col2 .text h3{
  font-size: 30px;
  margin-bottom: 0.8em;
}


/* CAMPAIGN */

#campaign.section-block .inner h2 span:before,
#lyric.section-block .inner h2 span:before{
  bottom: 2px;
}
#campaign .campaign-head p{
  font-size: 16px;
  font-weight: bold;
  line-height: 1.8em;
  text-align: center;
  margin-bottom: 1.8em;
}
#campaign .campaign-head p.lead,
#campaign .campaign-head p strong{
  font-size: 112%;
}
#campaign .prize-list h3{
  text-align: center;
  font-size: 20px;
  margin-bottom: 40px;
}
#campaign .prize-list{
  max-width: 640px;
  margin: 50px auto;
  overflow: hidden;
}
#campaign .prize-list .item{
  width: 50%;
  float: left;
}
#campaign .prize-list .item figure{
  margin: 0 50px;
}
#campaign .prize-list .item p{
  font-size: 14px;
  margin: 1em;
  font-weight: bold;
  text-align: center;
  line-height: 1.6em;
}

#campaign ul.note li{
    font-weight: normal;
    padding-left: 1em;
    text-indent: -1em;
    font-size: 13px;
    line-height: 1.8em;
}
#campaign.section-block .inner .text,
#campaign.section-block .inner .text p{
  font-size: 13.5px;
  line-height: 2em;
}
#campaign .text h3{
  font-size: 120%;
  line-height: 1.8em;
  margin: 3em 0 0.8em;
  text-indent: -0.4em;
}
#campaign .text p a{
  text-decoration: underline;
  color: #FFF;
}

#campaign .text p.note{
  font-size: 90%;
  padding-left: 1em;
  text-indent: -1em;
}

#campaign dl{
  font-size: 13px;
  line-height: 1.8em;
  font-weight: bold;
}
#campaign dl dt{
  margin: 1em 0;
  font-size: 16px;
  line-height: 1.8em;
  position: relative;
  letter-spacing: 0.1em;
}
#campaign dl dd{
  padding-bottom: 1em;
}
#campaign dl dd .image{
  max-width: 550px;
  margin: 15px 0;
}
#campaign dl dd li{
  font-weight: normal;
  padding-left: 1em;
  text-indent: -1em;
}
#campaign dl dd .sample{
  max-width: 500px;
  padding-top: 1.8em;
}

/* FORM */
#form{
  position: relative;
}

#form h2{
  color: #FFF;
  text-align: center;
  position: relative;
  font-size: 20px;
  background: #00204c;
  padding: 1em 0;
}


#form p{
  text-align: center;
  color: #FFF;
  line-height: 1.6em;
}

#form_field{
  position: relative;
  z-index: 1;
  padding: 20px 40px;
  border: 3px solid #00204c;
  border-top: 0px;
}
#form_field form{
  max-width: 460px;
  margin: 0 auto;
}

#form_field .error em{
  color: red;
  font-style: normal;
  font-size: 13px;
}

#form_field form{
    margin: 0 auto;
}

#form_field form dl{
  text-align: center;
  color: #FFF;
}

#form_field form dl dt{
  font-size: 18px;
  padding: 30px 0;
  font-weight: bold;
}
#form_field form dl dd{
  overflow: hidden;
  font-size: 16px;
  line-height: 50px;
}
#form_field form dl dd .error{
  margin-top: 10px;
  padding: 5px 0;
}
#form_field form dl dd .error em{
  font-size: 14px;
  color: red;
  line-height: 1.6em;
  display: block;
  font-weight: bold;
  font-family: YuGothic, '游ゴシック', 'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic ProN','Hiragino Sans', 'メイリオ', Meiryo, sans-serif;
}

#form_field form dl dd input{
    width: 100%;
    box-sizing: border-box;
    padding: 3px 10px;
    height: 60px;
    font-size: 16px;
    appearance: normal;
    -webkit-appearance: normal;
    border: 1px solid #bbb;
    border-radius: 0;
}

#form_field form dl dd p.m-note{
  font-size: 13px;
  font-weight: bold;
  line-height: 1.5em;
  padding: 10px 0;
}

#form_field form .upload{
    font-family: YuGothic, '游ゴシック', 'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic ProN','Hiragino Sans', 'メイリオ', Meiryo, sans-serif;
    height: 60px;
    line-height: 60px;
    width: 240px;
    font-size: 14px;
    text-align: center;
    position: relative;
    margin: 0px auto;
    background: #FFF;
    cursor: pointer;
}

#form_field form .upload span{
    color: #000;
    font-weight: bold;
    font-size: 14px;
    line-height: 60px;
}

#form_field form .upload input{
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 2;
    opacity: 0;
}

#form_field form p.files{
    padding-left: 0;
    text-align: center;
    line-height: 1.4em;
    font-size: 14px;
    padding-top: 15px;
}

#form_field form .submit{
    font-family: YuGothic, '游ゴシック', 'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, sans-serif;
    position: relative;
    cursor: pointer;
    width: 240px;
    height: 60px;
    font-size: 14px;
    font-weight: bold;
    color: #FFF;
    line-height: 60px;
    background: #000;
    border: none;
    margin: 30px auto;
    text-align: center;
}

#form_field form .submit input{
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    z-index: 2;
    opacity: 0;
    -webkit-appearance: none;
}

#form_field .notice{
    font-family:"游明朝", "YuMincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN" , "MSP明朝","MS PMincho","MS 明朝",serif;
    padding-bottom: 50px;
    text-align: center;
}

#form_field .notice h4{
    font-size: 14px;
    text-align: center; 
    margin: 30px auto;
}

#form_field .notice p{
    padding: 0;
    font-size: 12px;
    margin-bottom: 0;
    letter-spacing: 0;
}

#form_field .notice ul{
    margin-bottom: 70px;
}

#form_field .notice ul li{
    line-height: 1.8em;
    font-size: 12px;
    padding-left: 1em;
    text-indent: -1em;
}

#form_field  .global_error{
    text-align: center;
    font-family: YuGothic, '游ゴシック', 'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, sans-serif;
}

#form_field  .global_error p{
    font-size: 16px;
    margin-top: 20px;
    margin-bottom: 10px;
    padding-left: 0;
    font-weight: bold;
}

#form_field  .global_error ul li{
    font-size: 13px;
    line-height: 1.8em;
    color: #000;
}

#form_field  .global_error ul li:before{
    content: "※";
}

/* NOTICE */

#notice{

}
#notice h2{
  font-size: 20px;
  padding-bottom: 40px;
}
#notice p{
  margin-bottom: 1em;
}
#notice p,
#notice ul li{
  font-size: 12px;
  line-height: 1.6em;
  margin: 0.4em 0;
}
#notice ul li{
  padding-left: 1em;
  text-indent: -1em;
}
#notice h3{
  margin-top: 2em;
  font-size: 13px;
  margin-bottom: 1em;
}

#movie .inner,
#lyric .inner{
  max-width: 550px;
  margin: 0 auto;
}

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

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

#lyric .inner{
  padding-bottom: 60px;
  text-align: center;
}
#lyric .inner .text h3{
  font-size: 20px;
  line-height: 1.8em;
}
#lyric .inner .text p{
  margin: 1.8em 0 0;
}
#lyric .inner .text p.credit{
  margin-top: 0;
}
#lyric .inner .text .hide{
  overflow: hidden;
  height: 4.8em;
}
#lyric .inner .text.open .hide{
  height: auto;
}
#lyric .inner .readmore{
  text-align: center;
  margin-top: 10px;
}
#lyric .inner .text.open p.placehold,
#lyric .inner .text.open .readmore{
  display: none;
}
#lyric .inner .readmore a{
  font-size: 16px;
  display: inline-block;
  padding-bottom: 2px;
  border-bottom: 1px solid #FFF;
}

footer{
  position: relative;
  z-index: 1;
  border-top: 4px solid #00204c;
}

footer .links .sns{
  text-align: center;
  padding: 30px 0;
}
footer .links .sns li{
  display: inline-block;
  width: 26px;
  margin: 0 5px;
}
footer p{
  color: #FFF;
  font-size: 13px;
  line-height: 1.4em;
  text-align: center;
  margin-bottom: 0.8em;
}
footer p a{
  color: #FFF;
  text-decoration: none;
}
footer p a.official:after {
    content: "";
    display: inline-block;
    width: 11px;
    height: 11px;
    background: url(../img/link-icon.png) no-repeat center center;
    background-size: 100%;
    margin-left: 0.5em;
}

footer p.copyright{
  padding: 30px 0 30px;
  margin-bottom: 0;
  font-size: 12px;
}

/* CONF */
#subpage-head{
  max-width: 800px;
  margin: 0 auto;
  padding: 100px 0 0;
}
#subpage-head h1{
  padding-bottom: 40px;
  text-align: center;
}
#subpage-head h1 span{
  display: block;
  position: relative;
  z-index: 2;
}
#subpage-head h1 span:before{
  content: "";
  display: block;
  z-index: -1;
  position: absolute;
  left: 0;
  width: 100%;
  bottom: 2px;
  height: 15px;
  background: #00204c;
}


/* FINISH */

#finish{

}
#finish h2{
  border-top: 1px solid #CCC;
  font-size: 20px;
  line-height: 15vh;
  border-bottom: 1px solid #CCC;
  padding-bottom: 0;
  margin-bottom: 15vh;
  max-width: none;
  transition: .4s;
  -webkit-transition: .4s;
  transform: scaleX(0);
  -webkit-transform: scaleX(0);
}
#finish h2.scrollIn{
  transform: scaleX(1);
  -webkit-transform: scaleX(1);
}
#finish .finish-text{
  line-height: 1.8em;
  text-align: center;
  font-size: 14px;
}

#finish .btn-back a{
  display: block;
  margin: 50px auto;
  width: 240px;
  font-size: 13px;
  color: #000;
  background: #FFF;
  line-height: 50px;
  height: 50px;
  font-weight: bold;
  cursor: pointer;
  position: relative;
  border: 1px solid #FFF;
  text-decoration: none;
  transition: .4s;
  -webkit-transition: .4s;
}

#finish .next form .entry{
  display: block;
  margin: 30px auto;
  width: 240px;
  font-size: 16px;
  color: #000;
  background: #FFF;
  line-height: 50px;
  height: 50px;
  font-family: YuGothic, '游ゴシック', 'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, sans-serif;
  font-weight: bold;
  cursor: pointer;
  position: relative;
  border: 1px solid #FFF;
  transition: .4s;
  -webkit-transition: .4s;
}
#finish .next form .entry:hover{
  color: #FFF;
  background: #000;;
}
#finish .next form input{
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
  opacity: 0;
  -webkit-appearance: none;
}

#finish .finish-text h3{
  font-size: 18px;
  padding-bottom: 20px;
}

#finish .note ul li{
  font-size: 12px;
}

@media only screen and (max-width: 980px){
  .section-block .inner{
    padding: 60px 50px 0;
  }
}

@media only screen and (max-width: 640px){
  .spbr{
    display: block;
  }
  .spbr2{
    display: none;
  }
  header .headerText{
    overflow: hidden;
  }
  header .headerText h1{
    width: 140%;
    margin-left: -20%;
  }
  
  .section-block .inner{
    padding: 30px 25px 0;
  }
  .section-block .inner .text p{
    font-size: 12px;
  }
  .section-block .inner h2{
    overflow: hidden;
  }
  .section-block .inner h2 span {
    width: 80%;
    margin: 0 auto;
  }
  #release .btn-dl{
    margin: 25px 0;
    font-size: 18px;
  }
  #profile .profile{
    padding-bottom: 30px;
  }
  #profile .profile h3{
    font-size: 24px;
  }
  #profile .profile.col2{
    margin: 40px 0;
  }
  #profile .profile.col2 .prof-photo{
    float: none;
  }
  #profile .profile.col2 .text{
    margin-left: 0;
    margin-top: 15px;
  }
  #profile .profile.col2 .text h3{
    font-size: 20px;
    margin: 0.5em 0;
  }
  #profile .profile.col2 .text p{
    font-size: 12px;
  }
  #campaign .campaign-head p.lead, #campaign .campaign-head p strong{
    font-size: 15px;
    line-height: 1.8em;
  }
  #campaign .campaign-head p{
    font-size: 13px;
  }
  #campaign .prize-list h3{
    font-size: 16px;
    margin-bottom: 30px;
  }
  #campaign .prize-list{
    margin: 50px auto 25px;
  }
  #campaign .prize-list .item figure{
    margin: 0 15px;
  }
  #campaign .prize-list .item p{
    font-size: 11px;
    margin: 1em 0;
  }
  #campaign.section-block .inner .text, #campaign.section-block .inner .text p{
    font-size: 12px;
  }
  #campaign ul.note li{
    font-size: 11px;
    line-height: 2em;
    margin: 0.2em 0;
  }
  #campaign .more span{
    width: 25px;
  }
  #campaign .inner h2{
    overflow: hidden;
  }
  #campaign .inner h2 span{
    width: 170%;
    margin-left: -35%;
  }
  #campaign .list{
    margin: 0 -10px;
  }
  #campaign .list .item{
    padding: 0 10px;
  }
  #campaign dl{
    font-size: 12px;
  }
  #campaign dl dt{
    font-size: 14px;
    margin-top: 1em;
  }
  #form_field{
    padding: 10px 20px;
  }
  #form_field form dl dt{
    font-size: 14px;
    padding: 25px 0 15px;
  }
  #form_field form dl dd input{
    font-size: 14px;
    height: 50px;
  }
  #form h2{
    font-size: 18px;
  }
  #notice h2{
    font-size: 16px;
    padding-bottom: 15px;
  }
  #notice p, #notice ul li{
    font-size: 11px;
  }
  #notice h3{
    font-size: 12px;
  }
  #movie .inner h2 span, 
  #lyric .inner h2 span{
    width: 110%;
    margin-left: -5%;
  }
  #lyric .inner .text h3{
    font-size: 18px;
  }
  #lyric .inner .text .hide {
    height: 4em;
  }
  #subpage-head{
    padding-top: 50px;
  }
  #subpage-head h1{
    overflow: hidden;
    margin-bottom: 20px;
    padding: 0 20px;
  }
  #subpage-head h1 span{
    width: 170%;
    margin-left: -35%;
  }

  #finish{
    padding-top: 40px;
  }
  footer p.copyright{
    font-size: 11px;
  }
}

@media only screen and (max-width: 480px){
    .spbr2{
        display: block;
    }
    #release p.note{
      font-size: 12px;
    }
    #campaign .list .item{
        float: none;
        width: auto;
        margin: 0 auto;
    }
}

@media only screen and (max-width: 420px){
    .spbr2{
        display: block;
    }
}