@charset "utf-8";

#wrapper{
  font-family: 'Roboto',YuGothic, '游ゴシック', 'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, sans-serif;
  padding-left: 100px
}

#main{
  background: #e4007f;
  position: fixed;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  width: 100%;
  z-index: 0;
  height: 100vh;
}
#main.active{
  z-index: 100;
}

#main .svg,
#main svg{
  position: absolute;
  width: 40%;
  left: 50%;
  top: 50%;
  transform: translate(-50%,-50%) ;
  overflow: visible;
  z-index: 100;
  margin-left: 50px;
  cursor: pointer;
  width: 45%;
  height: auto;
  min-width: 279.5px;
}
img{
  width: 100%;
  height: auto;
}

#annotation{
  background: rgba(255,255,255,0.8);
  position: absolute;
  left: 100px;
  right: 0px;
  top: 50%;
  width: 60%;
  height: 140px;
  padding: 20px;
  box-sizing: border-box;
  margin: -70px auto 0;
  line-height: 1.5em;
  z-index: 100;
  display: none;
}
#annotation .ok{
  width: 60px;
  text-align: center;
  margin: 20px auto;
  line-height: 24px;
  border: 1px solid #000;
}


/*
.st0:hover,
.st1:hover,
.st2:hover,
.st3:hover,
.st4:hover{
  transform: scale(10) translate(-50%,-100%);
  transition: 1s;
}
*/
/*
.st0{fill:#FFF100;}
.st1{fill:#00A0E9;}
.st2{fill:#F19EC2;}
.st3{fill:#009FB9;}
.st4{fill:#E60012;stroke:#FFFFFF;stroke-width:5.6693;stroke-miterlimit:10;}
*/

.st0,
.st1,
.st2,
.st3,
.st4{
  transform-origin: center center;
  -webkit-transform-origin: center center;
  transform: scale(1);
  -webkit-transform: scale(1);
  opacity: 0;
}


.active .st0{ fill:transparent; stroke:#FFF100; stroke-width:1; stroke-dashoffset: 150%; stroke-dasharray: 150% 150%;  opacity: 1;}
.active .st1{ fill:transparent; stroke:#00A0E9; stroke-width:1; stroke-dashoffset: 150%; stroke-dasharray: 150% 150%;  opacity: 1;}
.active .st2{ fill:transparent; stroke:#F19EC2; stroke-width:1; stroke-dashoffset: 150%; stroke-dasharray: 150% 150%;  opacity: 1;}
.active .st3{ fill:transparent; stroke:#009FB9; stroke-width:1; stroke-dashoffset: 150%; stroke-dasharray: 150% 150%;  opacity: 1;}
.active .st4{ fill:transparent; stroke:#FFFFFF; stroke-width:1; stroke-dashoffset: 300%; stroke-dasharray: 300% 300%;  opacity: 1;}

.st0:hover,.st0.scale{fill:#FFF100; stroke:#FFF100; stroke-width:1; animation: none; stroke-dashoffset: 0%; opacity: 1;}
.st1:hover,.st1.scale{fill:#00A0E9; stroke:#00A0E9; stroke-width:1;  animation: none; stroke-dashoffset: 0%; opacity: 1;}
.st2:hover,.st2.scale{fill:#F19EC2; stroke:#F19EC2; stroke-width:1; animation: none; stroke-dashoffset: 0%;  opacity: 1;}
.st3:hover,.st3.scale{fill:#009FB9; stroke:#009FB9; stroke-width:1; animation: none; stroke-dashoffset: 0%;  opacity: 1;}
.st4:hover,.st4.scale{fill:#E60012; stroke:#FFFFFF; stroke-width:1; animation: none; stroke-dashoffset: 0%; stroke:#FFFFFF;stroke-width:5.6693;stroke-miterlimit:10; opacity: 1;}

.st0.scale,
.st1.scale,
.st2.scale,
.st3.scale,
.st4.scale{
  opacity: 1;
  transform: scale(1000);
  transition: transform 3s ease-in;
  -webkit-transition: transform 3s ease-in;
}
.st4.scale{
  stroke: #E60012;
  transform-origin: center top;
  -webkit-transform-origin: center  top;
}

.st0{
  animation: stroke-anim-st0 2s ease 0s infinite normal;
  -webkit-animation: stroke-anim-st0 2s ease 0s infinite normal;
}
.st1{
  animation: stroke-anim-st1 2s ease 0.5s infinite normal;
  -webkit-animation: stroke-anim-st1 2s ease 0.5s infinite normal;
}
.st2{  
  animation: stroke-anim-st2 2s ease 1s infinite normal;
  -webkit-animation: stroke-anim-st2 2s ease 1s infinite normal;
}
.st3{
  animation: stroke-anim-st3 2s ease 1s infinite normal;
  -webkit-animation: stroke-anim-st3 2s ease 1s infinite normal;
}
.st4{
  animation: stroke-anim-st4 2s ease 1.5s infinite normal;
  -webkit-animation: stroke-anim-st4 2s ease 1.5s infinite normal;
}

@-webkit-keyframes stroke-anim-st0 {
  0% {
    stroke-dashoffset: 150%;
    fill:transparent;
  }
  50% {
    fill:transparent;
  }
  100% {
    stroke-dashoffset: 0%;
    fill:#FFF100;
  }
}
@keyframes stroke-anim-st0 {
  0% {
    stroke-dashoffset: 150%;
    fill:transparent;}
  50% {
    fill:transparent;}
  100% {
    stroke-dashoffset: 0%;
    fill:#FFF100;
  }
}
@-webkit-keyframes stroke-anim-st1 {
  0% {
    stroke-dashoffset: 150%;
    fill:transparent;
  }
  50% {
    fill:transparent;
  }
  100% {
    stroke-dashoffset: 0%;
    fill:#00A0E9;
  }
}
@keyframes stroke-anim-st1 {
  0% {
    stroke-dashoffset: 150%;
    fill:transparent;}
  50% {
    fill:transparent;}
  100% {
    stroke-dashoffset: 0%;
    fill:#00A0E9;
  }
}

@-webkit-keyframes stroke-anim-st2 {
  0% {
    stroke-dashoffset: 150%;
    fill:transparent;
  }
  50% {
    fill:transparent;
  }
  100% {
    stroke-dashoffset: 0%;
    fill:#F19EC2;
  }
}
@keyframes stroke-anim-st2 {
  0% {
    stroke-dashoffset: 150%;
    fill:transparent;}
  50% {
    fill:transparent;}
  100% {
    stroke-dashoffset: 0%;
    fill:#F19EC2;
  }
}
@-webkit-keyframes stroke-anim-st3 {
  0% {
    stroke-dashoffset: 150%;
    fill:transparent;
  }
  50% {
    fill:transparent;
  }
  100% {
    stroke-dashoffset: 0%;
    fill:#009FB9;
  }
}
@keyframes stroke-anim-st3 {
  0% {
    stroke-dashoffset: 150%;
    fill:transparent;}
  50% {
    fill:transparent;}
  100% {
    stroke-dashoffset: 0%;
    fill:#009FB9;
  }
}
@-webkit-keyframes stroke-anim-st4 {
  0% {
    stroke-dashoffset: 300%;
    fill:transparent;
  }
  50% {
    fill:transparent;
    stroke-width:1;
  }
  100% {
    stroke-dashoffset: 0%;
    fill:#E60012;
    stroke:#FFFFFF;
    stroke-width:5.6693;
    stroke-miterlimit:10;
  }
}
@keyframes stroke-anim-st4 {
  0% {
    stroke-dashoffset: 300%;
    fill:transparent;}
  50% {
    fill:transparent;
    stroke-width:1;
    }
  100% {
    stroke-dashoffset: 0%;
    fill:#E60012;
    stroke:#FFFFFF;
    stroke-width:5.6693;
    stroke-miterlimit:10;
  }
}


@media all and (-ms-high-contrast:none){

  *::-ms-backdrop,
  #main svg{
    background: url(../img/hitorie_gif_ie.gif) no-repeat center center;
    background-size: 100%;
  }
  *::-ms-backdrop,
  .st0,.active .st0:hover{fill:#FFF100; transition: .3s;}
  *::-ms-backdrop,
  .st1,.active .st1:hover{fill:#00A0E9; transition: .3s;}
  *::-ms-backdrop,
  .st2,.active .st2:hover{fill:#F19EC2; transition: .3s;}
  *::-ms-backdrop,
  .st3,.active .st3:hover{fill:#009FB9; transition: .3s;}
  *::-ms-backdrop,
  .st4,.active .st4:hover{fill:#E60012; stroke:#FFFFFF; stroke-width:5; transition: .3s;}

/*
  *::-ms-backdrop,
  .active .st0{fill:transparent; stroke:#FFF100; stroke-width:1;  stroke-dashoffset: 0%; opacity: 1;}
  *::-ms-backdrop,
  .active .st1{fill:transparent; stroke:#00A0E9; stroke-width:1;  animation: none; stroke-dashoffset: 0%; opacity: 1;}
  *::-ms-backdrop,
  .active .st2{fill:transparent; stroke:#F19EC2; stroke-width:1; animation: none; stroke-dashoffset: 0%;  opacity: 1;}
  *::-ms-backdrop,
  .active .st3{fill:transparent; stroke:#009FB9; stroke-width:1; animation: none; stroke-dashoffset: 0%;  opacity: 1;}
  *::-ms-backdrop,
  .active .st4{fill:transparent; stroke:#FFFFFF; stroke-width:1; animation: none; stroke-dashoffset: 0%;  opacity: 1;}
*/
     /* IE11 */
}

/*
#main svg:hover{
  transform: scale(20);
}
*/



nav{
  position: fixed;
  left: 0;
  top: 0;
  bottom: 0;
  width: 100px;
  background: #1d2088;
  transition: .5s;
  -webkit-transition: .5s;
  z-index: 1000;
  overflow: hidden;
  cursor: pointer;
}

.sp nav.open,
.pc nav:hover{
  width: 400px;
}


nav ul{
  opacity: 0;
  overflow: hidden;
  padding-left: 90px;
  transform: translateX(-30px);
  -webkit-transform: translateX(-30px);
  transition: .3s;
  -webkit-transition: .3s;
  position: absolute;
  top: 50%;
  margin-top: -200px;
}
.sp nav.open ul,
.pc nav:hover ul{
  opacity: 1;
  transform: translateX(0px);
  -webkit-transform: translateX(0px);
}
nav ul li{
  padding: 20px 0;
}
nav ul li a{
  color: #FFF;
  line-height: 20px;
  text-decoration: none;
  font-size: 20px;
  position: relative;
  overflow: visible;
  transition: .3s;
  -webkit-transition: .3s;
}
nav ul li a:hover{
  padding-right: 2em;
}
nav ul li a:before{
  content: "";
  display: inline-block;
  width: 0em;
  transition: .3s;
  -webkit-transition: .3s;
}
/*
nav ul li a:hover:before{
  content: ">";
  width: 1.2em;
}
*/
nav ul li a:after{
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: block;
  background:#FFF100;
}
nav ul li.n1 a:after{
  background: #00A0E9;
}
nav ul li.n2 a:after{
  background: #009FB9;
}
nav ul li.n3 a:after{
  background: #F19EC2;
}
nav ul li.n4 a:after{
  background: #E60012;
  box-sizing: border-box;
  border: 2px solid #FFF;
}
nav .linkOfficial{
  margin-top: 20px;
}
nav .linkOfficial a{
  width: 50px;
  display: block;
}
nav .linkOfficial a:before,
nav .linkOfficial a:after{
  content: none;
}

nav .copyright{
  color: #FFF;
  position: absolute;
  bottom: 20px;
  font-size: 10px;
  left: 0px;
  width: 400px;
  overflow: hidden;
  line-height: 1.4em;
  margin-left: 90px;
  opacity: 0;
  transition: .2s;
  -webkit-transition: .2s;
}
.sp nav.open .copyright,
.pc nav:hover .copyright{
  opacity: 1;
}

#btn-close{
  position: fixed;
  right: 20px;
  top: 20px;
  width: 50px;
  height: 50px;
  z-index: 10;
}
#btn-close a{
  display: block;
  width: 100%;
  height: 100%;
  position: relative;
  text-indent: -9999px;
}
#btn-close a:before,
#btn-close a:after{
  content: "";
  width: 40px;
  height: 3px;
  background: #000;
  display: block;
  position: absolute;
  left: 5px;
  top: 24px;
  transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
}
#btn-close a:after{
  transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
}



/* contents */

#contents{
}
#release{background:#FFF100;}
#movie{background: #00A0E9;}
#tour{background: #009FB9;}
#lyric{background: #F19EC2;}
#twitter{background: #E60012;}



.sectionContent{
  font-size: 14px;
  line-height: 1.8em;
  margin: 0 auto;
  position: relative;
  z-index: 0;
  height: 0;
  overflow: hidden;
}
.sectionContent.active{
  height: auto;
  overflow: auto;
  min-height: 100vh;
}
.sectionContent .inner{
  max-width: 900px;
  margin: 0 auto;
  padding: 50px;
  transform: translateY(10%);
  -webkit-transform: translateY(10%);
  opacity: 0;
  transition: 1s;
  -webkit-transition: 1s;
}
.sectionContent.active .inner{
  transform: translateY(0%);
  -webkit-transform: translateY(0%);
  opacity: 1;
  overflow: hidden;
}

.sectionContent h2{
  font-size: 32px;
  padding-bottom: 50px;
}

#movie .movie{
  max-width: 720px;
  padding-bottom: 50px;
}
#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% ;
}

#release{
  overflow: hidden;
}
#release h3{
  font-size: 14px;
  padding-bottom: 5px;
  line-height: 1.4em;
}
#release h3 strong{
  font-size: 18px;
}
#release .jacket{
  width: 50%;
  float: left;
  padding-right: 30px;
  box-sizing: border-box;
}
#release .info{
  width: 50%;
  float: right;
  padding-left: 30px;
  box-sizing: border-box;
  font-size: 12px;
  line-height: 1.6em;
}
#release .info h4{
  font-size: 12px;
  margin-top: 10px;
}
#release .info li{
  font-size: 12px;
}
#release .info p.subtitle{
  font-weight: bold;
}

#release .shop{
  width: 50%;
  padding-right: 30px;
  box-sizing: border-box;
  float: left;
}
#release .shop ul{
  overflow: hidden;
  margin: 10px -5px;
}
#release .shop ul li{
  float: left;
  width: 33.33%;
  box-sizing: border-box;
  padding: 5px;
}
#release .dl-link a,
#release .shop ul li a{
  display: block;
  line-height: 36px;
  font-size: 12px;
  text-decoration: none;
  color: #000;
  border: 1px solid #000;
  text-align: center;
  position: relative;
  z-index: 2;
  overflow: hidden;
}
#release .dl-link a:before,
#release .shop ul li a:before{
  content: "";
  position: absolute;
  display: block;
  background: #00A0E9;
  top: 100%;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transition: .4s;
  -webkit-transition: .4s;
  z-index: -1;
}
#release .dl-link a:hover:before,
#release .shop ul li a:hover:before{
  top: 0;
}

#release .tokuten h4,
#release .tokuten p,
#release .tokuten dl{
  font-size: 12px;
}
#release .tokuten{
  overflow: hidden;
  clear: both;
}
#release .tokuten dl{
  padding-top: 20px;
  width: 50%;
  float: left;
}
#release .tokuten dl dt{
  float: left;
}
#release .tokuten dl dd{
  margin-left: 5em;
}
#release .unknown{
  margin-top: 50px;
  padding-top: 50px;
  clear: both;
  position: relative;
}
#release .unknown:before{
  content: "";
  width: 50px;
  height: 1px;
  display: block;
  background: #000;
  position: absolute;
  top: 0px;
  left: 50%;
  margin-left: -25px;
}

#release .dl-link {
  margin-top: 10px;
  max-width: 280px;
}

#tour .inner > section{
  padding-bottom: 50px;
  overflow: hidden;
}
#tour h3{
  padding-bottom: 20px;
  font-size: 18px;
  font-weight: bold;
}
#tour span{
  font-size: 14px;
}

#tour .tour1 dl{
  width: 33.33%;
  float: left;
  box-sizing: border-box;
  padding: 10px;
}
#tour .tour1 dl dt{
  font-weight: bold;
  font-size: 15px;
}
#tour .tour1 dl dd{
  margin-left: 0.5em;
  padding-left: 0.5em;
/*   border-left: 1px solid #000; */
  font-size: 14px;
}
#tour .tour2  ul li{
  margin-bottom: 10px;
}
#tour .tour2  ul li font{
  opacity: 0;
}
#tour .tour2  ul li .place{
  display: inline-block;
  width: 15em;
}
#tour .tour2  ul li p.ask{
  padding-left: 6.4em;
}
#tour .tour2  ul li p.ask:before{
  content: "お問合せ：";
}

#tour .btn-ticket{
  display: inline-block;
  margin-top: 20px;
  padding: 10px 30px;
  text-align: center;
  border: 1px solid #000;
  color: #000;
  text-decoration: none;
  font-weight: bold;
}
#tour .btn-ticket:hover{
  opacity: 0.5;
}
#lyric .inner > section{
  margin-bottom: 10px;
}

#lyric .btn-toggle{
  cursor: pointer;
  color: #000;
  text-decoration: none;
  display: block;
  position: relative;
  background: rgba(255,255,255,0.2);
  padding: 10px;
}

#lyric .btn-toggle:after{
  position: absolute;
  display: block;
  content: "";
  width: 30px;
  height: 100%;
  top: 0;
  right: 20px;
  background: url(../img/btn-anc.png) no-repeat center center;
  background-size: 100%;
  transform: rotate(180deg);
  -webkit-transform: rotate(180deg);
  transition: .3s;
  -webkit-transition: .3s;
}
#lyric .btn-toggle.open:after{
  transform: rotate(0deg);
  -webkit-transform: rotate(0deg);
}
#lyric h3{
  font-size: 18px;
  padding-bottom: 5px;
}
#lyric p.credit{
  font-size: 12px;
}

#lyric .textBody{
  padding: 30px 10px 80px;
  display: none;
  column-count: 2;
  -webkit-column-count: 2;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

#lyric .textBody p{
  margin-bottom: 15px;
  font-size: 12px;
}


#twitter iframe{
  width: 100% !important;
}

@media (min-width: 1200px) and (max-height: 700px){
  #main .svg, #main svg{
  height: 90%;
  width: auto;
  }
}
@media (max-width: 768px){
  nav{
    width: 15%;
  }
  .sp nav.open,
  .pc nav:hover{
    width: 80%;
  }
  #wrapper{
  padding-left: 15%;
  }
  .sectionContent .inner{
    padding: 50px 20px;
  }
  #release .jacket,
  #release .info,
  #release .shop{
    float: none;
    width: auto;
    padding: 10px 0;
  }
}

@media (max-width: 640px){
  nav{
    width: 20px;
  }
  nav ul{
    padding-left: 50px;
  }
  nav .linkOfficial{
    margin-top: 0;
  }
  nav .copyright{
    white-space: nowrap;
    width: 80%;
    margin-left: 50px;
  }
  #btn-close{
    right: 0px;
    top: 0px;
  }
  #wrapper{
    padding-left: 20px;
  }
  #main .svg,
  #main svg{
    margin-left: 10px;
  }
  .sectionContent .inner{
    padding: 30px 20px;
  }
  .sectionContent h2{
    padding-bottom: 30px;
  }
  #release .shop ul li{
    width: 50%;
  }
  #release .tokuten dl{
    width: auto;
    float: none;
    padding-top: 0;
  }
  #tour h3 span{
    display: block;
  }
  #tour .live2{
    padding-top: 40px;
  }
  #tour .tour2  ul li p.ask{
    padding-left: 0;
  }
  #tour .btn-ticket{
    display: block;
  }
  #tour .tour1 dl{
    width: auto;
    float: none;
  }  
  #lyric .textBody{
    column-count: 1;
    -webkit-column-count: 1;
    padding: 20px 0px 50px;
  }
  #lyric h3{
    font-size: 16px;
  }

  #lyric .btn-toggle:after{
    width: 25px;
    right: 10px;
    height: 20px;
    top: 10px;
  }
  #lyric .textBody p{
    font-size: 12px;
  }

}
