*{
margin:0;
padding:0;
font-family:"メイリオ","Hiragino Kaku Gothic ProN",sans-serif;
}
a img{
border:none;
}
img{
vertical-align:bottom;
}
li{
list-style-type: none;
}
.responsive{
width:100%;
height: auto;
}

html {
font-size: 62.5%;
font-size: 18px;
}
body{
background: #000;
}
::selection {
color: #fdcf07;
background-color: #000;
}

.pc{
display: block;
}
.mobile,
.mobileInline{
display: none;
}
.effect{
opacity: 0;
transition: 1.2s all;
transform: translate(0, 3vw);
opacity: 0;
}
.effect.active{
transform: translate(0, 0);
opacity: 1;
}

#curtain{
position:fixed;
top:0;
left:0;
width:100%;
height:100%;
background-color:#fff;
z-index:5;
}
#curtain .loading{
position:absolute;
top: 42vh;
right: 0;
left: 0;
margin: auto;
width:240px;
height: auto;
/*opacity:0;*/
}
#curtain .loading2{
position:absolute;
top: 42vh;
right: 0;
left: 0;
margin: auto;
width:240px;
height: auto;
/*opacity:0;*/
 animation-name:esp;
 animation-timing-function: ease-in-out;
 animation-iteration-count: infinite;
 animation-direction: alternate;
 animation-duration: 1s;
}
@keyframes esp {
0% {
transform: translate(0%,3px);
}
100% {
transform: translate(0%,0%);
}
}
#curtain .loading3{
position:absolute;
top: 42vh;
right: 0;
left: 0;
margin: auto;
width:240px;
height: auto;
/*opacity:0;*/
 animation-name:esp2;
 animation-timing-function: ease-in-out;
 animation-iteration-count: infinite;
 animation-direction: alternate;
 animation-duration: 1s;
}
@keyframes esp2 {
0% {
transform: translate(0%,0%);
}
100% {
transform: translate(0%,3px);
}
}

#logo_3dcg{
position:fixed;
top:0;
left:0;
width:100%;
height:100%;
background-color:#fff;
z-index:4;
opacity: 0;
min-width:1260px;
}
#logo_3dcg img{
position:absolute;
height: 70vh;
max-height:900px;
width: auto;
top:50%;
left:50%;
transform: translate(-50%,-50%);
}

main{
width: 100%;
min-width:1260px;
height: 100vh;
min-height:660px;
max-height:1260px;
position: relative;
background: #fdcf07;
overflow: hidden;
}
main .pc .btn{
position:absolute;
top:1.5%;
right:1.5%;
text-align:right;
width: 100%;
min-width:1260px;
}
main .pc .btn a{
display:inline-block;
margin-left: 25px;
}
main .pc .btn a img{
height: 22px;
width: auto;
}
main .title{
position:absolute;
top:10px;
left:10px;
z-index: 1;
}
main .title img{
height:27vh;
min-height: 180px;
max-height: 220px;
width: auto;
}
main .cg{
position:absolute;
bottom:415px;
bottom:445px;
bottom:470px;
bottom:405px;
left:20px;
width:60px;
}
main .billing{
position:absolute;
bottom:70px;
bottom:100px;
bottom:135px;
bottom:70px;
left:22px;
width:190px;
}
main .mvtk{
position:absolute;
bottom:20px;
left:20px;
width:400px;
}
main .mvtk a{
display: inline-block;
width:170px;
margin: 5px 5px 0 0;
}
main .mvtk a img{
border-radius: 5px;
}
main .spBanner{
position:absolute;
bottom:20px;
right:230px;
right:262px;
}
main .spBanner a{
display: inline-block;
width:270px;
width:260px;
width:255px;
margin: 5px 5px 0 0;
}

main .catch{
position:absolute;
top:70px;
right:20px;
right:47px;
}
main .catch img{
width:auto;
height:54.5vh;
height:52vh;
height:52vh;
min-height:340px;
max-height: 700px;
}
main .roadshow{
position:absolute;
bottom:60px;
right:20px;
width:210px;
width:190px;
}
main .showing{
position:absolute;
bottom:55px;
right:5px;
width:240px;
}
main .sns{
position:absolute;
bottom:20px;
right:12px;
right:44px;
width:205px;
}
main .sns ul {
display: table;
table-layout: fixed;
width: 100%;
}
main .sns li{
display: table-cell;
vertical-align: middle;
padding: 0 15px;
padding: 0 9px;
}
main .sns img{
vertical-align: middle;
}
main .visual{
position: relative;
}
main .visual img{
display: block;
margin: 2.5vh auto;
/*
height: 95vh;
min-height:627px;
max-height:1200px;*/
width: auto;
height: 88vh;
min-height:580px;
max-height:1109px;
}
#flare{
position: absolute;
top: 50%;
left: 50%;
transform: translate(-72%,-80%);
mix-blend-mode: screen;
height: 300vh;
min-height:1980px;
width: 300vh;
min-width:1980px;
}

#sponcer{
padding: 20px 0 100px 0;
font-size: 0;
min-width:1260px;
background: #fdcf07;
}
#sponcer .slick{
position:relative;
background: #FFF;
padding: 10px 5px 0 5px;
text-align: center;
}
#sponcer .slick-slide {
margin: 0 5px;
}

.midashi{
margin:0 auto;
width:440px;
}

#movie {
overflow:hidden;
padding:100px 0 130px 0;
background: rgba(0, 0, 0, 0.5);
position: relative;
width: 100%;
height: auto;
position: relative;
font-size: 0;
min-width:1260px;
}
#movieBlack{
position: absolute;
top:0;
left: 0;
background: rgba(0, 0, 0, 0.5);
width: 100%;
height: 100%;
}
#movie .slick{
position:relative;
margin-top:30px;
}
#movie .slick-slide {
margin: 0 50px;
}
.slick-dots {
bottom: -35px;
}
.slick-dots li button:before{
font-size: 12px;
color:#eee;
}
.slick-dots li.slick-active button:before{
color:#fff;
}
.slide-arrow{
position:absolute;
top:40%;
z-index:1;
}
.prev-arrow{
left:14%;
opacity: 0.3;
cursor:default;
}
.next-arrow{
right:14%;
cursor:pointer;
}

#movie > div > div > div > div > div{
border-radius:20px;
overflow: hidden;
}

#intro{
position: relative;
padding:100px 0 0 0;
width: 100%;
min-width:1260px;
overflow: hidden;
background: #fdcf07;
}
#intro ul{
display:table;
table-layout:fixed;
margin:90px auto 0 auto;
width:1180px;
}
#intro li{
display:table-cell;
vertical-align:middle;
}
#intro li:nth-of-type(1){
position: relative;
padding-bottom: 60px;
width:43%;
z-index: 1;
}
#intro li:nth-of-type(2){
position: relative;
padding-top: 10px;
width:57%;
}
#intro li:nth-of-type(2) div{
position: relative;
width: 100%;
transform: translate(0, 0);
transition-delay :0.5s;
transition-delay :0.0s;
}
#intro li:nth-of-type(2) div.active{
transform: translate(0, 0);
}
#intro li:nth-of-type(2) div div{
position: absolute;
width: 100%;
height: auto;
top: 0;
left: 0;
}
#intro li:nth-of-type(2) div div:nth-of-type(1){
position: relative;
}
#intro li:nth-of-type(2) div div img{
width: 100%;
height: auto;
}

#intro li:nth-of-type(2) div div:nth-of-type(2) img,
#intro li:nth-of-type(2) div div:nth-of-type(3) img,
#intro li:nth-of-type(2) div div:nth-of-type(4) img,
#intro li:nth-of-type(2) div div:nth-of-type(5) img{
transition: 0.6s all;
transform: scale(0.1);
transition-delay :0.9s;
filter: blur(0) brightness(2);
/*opacity: 0;*/
}
#intro li:nth-of-type(2) div:nth-of-type(2).active img,
#intro li:nth-of-type(2) div:nth-of-type(3).active img,
#intro li:nth-of-type(2) div:nth-of-type(4).active img,
#intro li:nth-of-type(2) div:nth-of-type(5).active img{
transform: scale(1);
filter: blur(0) brightness(1);
opacity: 1;
}
#intro .sushi1,
#intro .sushi2{
animation-timing-function: ease-in-out;
animation-iteration-count: infinite;
animation-direction: alternate;
animation-duration: 1.5s;
animation-delay :2.0s;
}
#intro .sushi1{
animation-name:fuwafuwa1;
}
#intro .sushi2{
animation-name:fuwafuwa2;
}
@keyframes fuwafuwa1 {
0% {
transform: translate(0,0px);
}
100% {
transform: translate(0,-12px);
}
}
@keyframes fuwafuwa2 {
0% {
transform: translate(0,0px);
}
100% {
transform: translate(0,12px);
}
}



#intro .catch{
margin:0 auto;
width: 100%;
}
#intro .catch img{
filter: blur(2vw);
transition: 1.0s all;
}
#intro .catch.active img{
filter: blur(0);
}
#intro p{
margin-top:60px;
text-align:justify;
font-size: 1rem;
line-height:1.8;
color:#000;
}
#intro p .em{
font-weight:bold;
font-size: 1rem;
}

#loopSlide {
width: 1980px;
height: 238px;
background: url("images/cut_loop.jpg") repeat-x;
background-size: 100%;
background-position: center;
animation: loop 45s linear infinite; /*秒数等はお好きな数値に、infiniteは残す*/
}

@keyframes loop {
  from {
      background-position: 0 0;
  }
  to {
      background-position: 1980px 0; /*-1000px部分は画像の横幅と同じ数値*/
  }
}

#loopSlide2 {
width: 1980px;
height: 238px;
margin-top: 100px;
background: url("images/cut_loop2.jpg") repeat-x;
background-size: 100%;
background-position: center;
animation: loop2 45s linear infinite; /*秒数等はお好きな数値に、infiniteは残す*/
}

@keyframes loop2 {
  from {
      background-position: 0 0;
  }
  to {
      background-position: -1980px 0; /*-1000px部分は画像の横幅と同じ数値*/
  }
}


#story{
position: relative;
padding:105px 0;
width: 100%;
min-width:1260px;
overflow: hidden;
background: #fdcf07;
}
#story > ul{
display:table;
table-layout:fixed;
margin:60px auto 0 auto;
width:1180px;
}
#story > ul > li{
display:table-cell;
vertical-align:top;
}
#story > ul > li:nth-of-type(1){
position:relative;
width:50%;
font-size: 0;
}
#story > ul > li:nth-of-type(1) > div{
position: relative;
vertical-align: top;
}
#story > ul > li:nth-of-type(2){
margin-top: 3em;
padding:0 0 0 3%;
width:48%;
}

#storyCut{
transition: 1.2s all;
transform: translate(0, 0);
}
#storyCut.active{
transform: translate(0, 0);
}
#cutWrap1, #cutWrap2, #cutWrap3{
margin: 0;
display: inline-block;
}
.cutWrap{
margin: 0;
overflow: hidden;
}
.cutWrap img{
width: 100%;
height: auto;
transition: 1.5s all;
transform: scale(1.8);
transition-delay :1s;
filter: blur(0) brightness(2);
opacity: 0;
}
.cutWrap.active img{
transform: scale(1.05);
filter: blur(0) brightness(1);
opacity: 1;
}
#cutWrap1{
width: 100%;
}
#cutWrap2{
width: 50%;
overflow: hidden;
}
#cutWrap2 > div{
transform: rotate(-4deg) scale(1.2);
}
#cutWrap3{
width: 50%;
overflow: hidden;
}
#cutWrap3 > div{
transform: rotate(9deg) scale(1.2) translate(0, 1%);
}
.storyCatch{
position: absolute;
height: 100%;
width: auto;
top:0;
filter: blur(2vw);
opacity: 0;
transition: 1.4s all;
transition-delay: 1.6s;
/*transform: scale(1.5,1.5);*/
}
.storyCatch.active{
filter: blur(0);
opacity: 1;
/*transform: scale(1,1);*/
}
.storyCatch:nth-of-type(1){
right: 0;
}
.storyCatch:nth-of-type(2){
left: 0;
}
#story p{
text-align: justify;
width: 100%;
margin: 0 auto;
font-weight: bold;
font-size: 1rem;
line-height: 1.8;
transition-delay :1.5s;
}
#story p strong{
color: #c8161d;
}

#storyKantam{
display: block;
position: absolute;
width: 220px;
height: auto;
top: 50px;
left: 20px;
transition: 0.4s all;
transform: translate(50px, 200px);
z-index: 1;
}
#storyKantam.active{
transform: translate(0, 0);
}
#storyShinnosuke{
display: block;
position: absolute;
width: 170px;
height: auto;
bottom: 0;
right: 20px;
transition: 0.4s all;
transform: translate(200px, 0px);
z-index: 1;
}
#storyShinnosuke.active{
transform: translate(0, 0);
}

#guest_bgWrap{
position: fixed;
z-index: -1;
top:0;
left: 0;
}
#guest_bg{
position:absolute;
top:-10vw;
left:-10vh;
width: 120vw;
min-width:1260px;
height: 120vh;
min-height:700px;
background: url("images/guest_bg.jpg") 50% 50% no-repeat #000;
/*background:#000;*/
background-size: 120%;
z-index: 0;
}
#guest_bg.active {
animation: zoom 90s 1;
animation-fill-mode: forwards;
}
#guestParticle{
position:absolute;
top:0;
left:0;
width: 100%;
min-width:1260px;
height: 100vh;
min-height:700px;
z-index: 1;
}
@keyframes zoom {
  0% {transform: scale(1.2) rotate(0deg); filter: blur(0px);}
100% {transform: scale(2.5) rotate(-60deg); filter: blur(2px);}
}

#guest{
padding:150px 0;
position: relative;
background: transparent;
text-align: center;
font-size: 0;
width: 100%;
min-width:1260px;
}
#guest .midashi{
margin-bottom: 20px;
}
.guestChara{
width: 540px;
display: inline-block;
margin: 30px 40px;
}
.guestCharaName{
position: absolute;
top:-20px;
left: 0;
height: auto;
transition: 1.0s all;
transform: translate(0, 30px);
transition-delay :1.3s;
opacity: 0;
}
.guestChara p{
font-size: 1rem;
color: #FFF;
line-height: 1.6;
text-align: justify;
margin-top: 1em;
transform: translate(0, 0);
transition: 1.2s all;
transition-delay :1.4s;
opacity: 0;
}


.guestCut{
margin: 0;
overflow: hidden;
}
.guestCut img{
width: 100%;
height: auto;
transition: 1.5s all;
transform: scale(1.8);
filter: blur(1) brightness(2);
opacity: 0;
}
.guestCut img{
width: 100%;
height: auto;
transition: 1.5s all;
transform: scale(1.8);
transition-delay :0.5s;
filter: blur(1) brightness(2);
opacity: 0;
}
.guestChara.active .guestCut img{
transform: scale(1.05);
filter: blur(0) brightness(1);
opacity: 1;
}
.guestChara.active .guestCharaName,
.guestChara.active p{
transform: translate(0, 0);
opacity: 1;
}

#guestInfo{
text-align: center;
width: 1240px;
margin: 100px auto 0 auto;
}
.guestProf{
width: 540px;
display: inline-block;
margin: 60px 40px 0 40px;
position: relative;
vertical-align: top;
}
.guestProf img{
position: absolute;
top: 0;
left: 0;
}
.guestProf img:nth-of-type(1){
position: relative;
}

.guestProf img:nth-of-type(2),
.guestProf img:nth-of-type(3){
transition: 0.9s all;
opacity: 0;
}
.guestProf img:nth-of-type(2){
transform: translate(60px, 0);
}
.guestProf img:nth-of-type(3){
transform: translate(-60px, 0);
}
.guestProf.active img:nth-of-type(2),
.guestProf.active img:nth-of-type(3){
transform: translate(0, 0);
opacity: 1;
}

.guestProf img:nth-of-type(1),
.guestProf p{
transition: 1.0s all;
transition-delay :0.5s;
opacity: 0;
transform: translate(0px, 0);
}
.guestProf.active  img:nth-of-type(1),
.guestProf.active p{
transform: translate(0, 0);
opacity: 1;
}
.guestProf p{
font-size: 0.75rem;
color: #FFF;
line-height: 1.4;
text-align: justify;
margin: 1em 0 0 0;
}
.guestProf:nth-of-type(4) p{
width: 1170px;
margin-left: -620px;
}

#song{
position: relative;
background: #fdcf07;
overflow: hidden;
text-align: center;
width: 100%;
min-width:1260px;
}

#songKantam{
position: absolute;
width: 1100px;
height: auto;
top: -110px;
left: 50%;
margin-left: -180px;
transition: 0.9s all;
opacity: 0;
transform: rotate(-25deg) scale(0) translate(0, 0);
}
#songKantam.active{
transform: rotate(0deg) scale(1.0) translate(0, 0);
opacity: 1;
}

#song .midashi{
margin: 240px auto 60px auto;
transition-delay :0.4s;
}

#song > ul{
display:table;
table-layout:fixed;
width:1180px;
font-size: 0;
margin: 0 auto;
}
#song > ul:nth-of-type(2){
width:1180px;
}
#song > ul > li{
display:table-cell;
vertical-align:bottom;
}

#song > ul:nth-of-type(1) > li:nth-of-type(1){
width:52%;
}
#song > ul:nth-of-type(1) > li:nth-of-type(2){
width:45%;
padding-left: 3%;
text-align: center;
font-size: 1.0rem;
padding-bottom: 5px;
}
#song > ul:nth-of-type(1) > li:nth-of-type(2) img:nth-of-type(2){
width:60%;
height: auto;
margin-top: 10px;
}
#song > ul:nth-of-type(1) > li:nth-of-type(2) p:nth-of-type(1){
font-weight: bold;
}
#song > ul:nth-of-type(1) > li:nth-of-type(2) p:nth-of-type(2){
text-align: justify;
font-size: 0.8rem;
line-height: 1.4;
margin: 30px 0;
}
#song > ul:nth-of-type(1) > li:nth-of-type(2) a{
background: #000;
color:#fff;
line-height: 1;
padding: 0.5em 1.5em;
text-decoration: none;
font-weight: bold;
}

#song > ul:nth-of-type(2){
margin-top: 80px;
}
#song > ul:nth-of-type(2) > li{
text-align: center;
}
#song > ul:nth-of-type(2) > li:nth-of-type(1){
width:36%;
padding-right: 2%;
}
#song > ul:nth-of-type(2) > li:nth-of-type(2){
width:34%;
padding-right: 3%;
}
#song > ul:nth-of-type(2) > li:nth-of-type(3){
width:30%;
}
#song > ul:nth-of-type(2) > li:nth-of-type(1) p{
font-size: 0.8rem;
line-height: 1.4;
}
#song > ul:nth-of-type(2) > li:nth-of-type(1) p strong{
font-size: 1.6rem;
}
#song > ul:nth-of-type(2) > li:nth-of-type(1) p strong span{
font-size: 0.9rem;
}
#song > ul:nth-of-type(2) > li:nth-of-type(1) img,
#song > ul:nth-of-type(2) > li:nth-of-type(1) div{
display: inline-block;
vertical-align: middle;
}
#song > ul:nth-of-type(2) > li:nth-of-type(1) img{
width: 70px;
height: auto;
margin-right: 10px;
transition: 0.5s all;
opacity: 0;
transform: translate(-100px, 0);
}
#song > ul:nth-of-type(2) > li:nth-of-type(1) img.active{
transform: translate(0, 0);
opacity: 1;
}
#song > ul:nth-of-type(2) > li:nth-of-type(1) div p{
text-align: left;
line-height: 1.4;
}
#song > ul:nth-of-type(2) > li:nth-of-type(2) img,
#song > ul:nth-of-type(2) > li:nth-of-type(3) img{
display: inline-block;
vertical-align: middle;
width: 180px;
height: auto;
}
#song > ul:nth-of-type(2) > li:nth-of-type(2) p,
#song > ul:nth-of-type(2) > li:nth-of-type(3) p{
display: inline-block;
vertical-align: middle;
font-size: 0.9rem;
line-height: 1.2;
padding-left: 1em;
}
#song > ul:nth-of-type(2) > li:nth-of-type(2) p span,
#song > ul:nth-of-type(2) > li:nth-of-type(2) p strong span,
#song > ul:nth-of-type(2) > li:nth-of-type(3) p span{
font-size: 0.8rem;
}

#footer{
position: relative;
padding:15px 0;
width:100%;
background-color:#fff;
text-align: center;
min-width:1260px;
}
#footer .title{
margin:0 auto;
width:300px;
}
#footer p{
margin:0 auto;
font-size: 0.6rem;
}

#gotop{
position:fixed;
right:20px;
bottom:20px;
width:82px;
width:62px;
height:62px;
z-index:1;
transition: 0.4s all;
transform: translate(0, 20vw);
}
#gotop.active{
transform: translate(0, 0);
}

@media (max-width: 639px) {

html {
font-size: 62.5%;
font-size: 3.6vw;
}
.pc{
display: none;
}
.mobile{
display: block;
}
.mobileInline{
display: inline;
}

.effect{
transform: translate(0, 6vw);
}

#curtain .loading,
#curtain .loading2,
#curtain .loading3{
top: 38vh;
width:200px;
}


#logo_3dcg{
min-width:auto;
}
#logo_3dcg img{
height: auto;
width: 75vw;
top:50%;
left:50%;
transform: translate(-50%,-60%);
}

/*モバイルメニュー*/
.mobile .menuBg{
position:fixed;
top:0;
right:0;
width:100vw;
width:100%;
height:100vh;
transition: all 0.5s;
background-color:rgba(0,0,0,0);
pointer-events: none;
z-index:2;
}
.mobile .menuBg.active{
background-color:rgba(0,0,0,0.6);
pointer-events:auto;
}
.mobile .menu{
position:fixed;
top:0;
right:-120%;
width:65vw;
height:100vh;
padding:4vw 4vw;
background-color:#fff;
background: #fdcf07;
z-index:2;
transition: all 0.5s;
}
.mobile .menu.active{
right: 0;
}
.mobile .menu .btn{
padding:2vw 10vw 0 0;
}
.mobile .menu a{
display: block;
margin-top:5vw;
}
.mobile .menu .sns{
margin-top:4vw;
}
.mobile .menu .sns ul {
display: table;
table-layout: fixed;
margin:0 auto;
width:75%;
}
.mobile .menu .sns li{
display: table-cell;
vertical-align: middle;
padding: 0 2.5vw;
}
.mobile .menu .sns img{
vertical-align: middle;
}

/*ハンバーガーメニュー*/
.mobile .trigger{
position: fixed;
top:0;
left:0;
border-radius:1px;
background:#000;
cursor: pointer;
width: 50px;
height:50px;
z-index: 2;
}
.mobile .trigger .btnArea{
transition: all 0.4s;
}
.mobile .trigger span{
display: inline-block;
transition: all 0.4s;
position: absolute;
left: 25%;
height: 2px;
background: #fff;
width: 50%;
}
.mobile .trigger span:nth-of-type(1) {
top:19px; 
}
.mobile .trigger span:nth-of-type(2) {
top:27px;
}

.mobile .trigger.active .btnArea{
transform: rotateY(-360deg);
}
.mobile .trigger.active span:nth-of-type(1) {
top: 18px;
left: 18px;
transform: translateY(6px) rotate(-135deg);
width: 30%;
}
.mobile .trigger.active span:nth-of-type(2){
top: 30px;
left: 18px;
transform: translateY(-6px) rotate(135deg);
width: 30%;
}

main{
min-width:auto;
height: auto;
min-height:auto;
max-height:inherit;
}
main .mobile .btn{
position:relative;
text-align:center;
width: 100%;
}
main .mobile .btn a{
font-size: 0;
display:inline-block;
width: 20%;
margin: 8vw 1.5vw 1.5vw 1.5vw;
padding: 4vw 11vw;
background: #000;
}
main .title{
position:relative;
top:auto;
left:auto;
width:70vw;
margin: 12vw auto 0 auto;
}
main .title img{
height:auto;
min-height:auto;
width: 100%;
max-height:inherit;
}
main .cg{
position:absolute;
bottom:auto;
top:126vw;
left:4vw;
width:12%;
}
main .billing{
position:relative;
bottom:auto;
left:auto;
width:100%;
}
main .mvtk{
position:relative;
bottom:auto;
left:auto;
width:100%;
text-align: center;
margin-top: 5vw;
}
main .mvtk a{
width:38vw;
margin: 7vw 1vw;
}
main .mvtk a:nth-last-of-type(1){
width:38vw;
margin-top: -14vw;
}
main .mvtk a img{
border-radius: 1vw;
}
main .spBanner{
position:relative;
bottom:auto;
right:auto;
}
main .spBanner a{
display: block;
width:87.5vw;
margin: 3vw auto 0 auto;
}
main .spBanner a:nth-of-type(1){
margin: 8vw auto 0 auto;
}
main .catch{
top:4vw;
right:4vw;
}
main .catch img{
width:6.5vw;
height:auto;
min-height:auto;
max-height:inherit;
}
main .showing{
display: block;
position:relative;
bottom:auto;
right:auto;
width:70vw;
width:80vw;
margin: 0 auto;
}
main .sns{
position:relative;
bottom:auto;
right:auto;
width:54vw;
margin: 2vw auto 8vw auto;
}
main .sns li{
padding: 0 3vw;
}
main .visual{
position: relative;
}
main .visual img{
display: block;
margin: 0 auto 2vw -4vw;
height: auto;
min-height:auto;
width: 108vw;
min-width:auto;
max-height:inherit;
}
#flare{
width: 300vw;
height: 300vw;
transform: translate(-75%,-85%);
}

#sponcer{
padding: 0vw auto 20vw auto;
min-width: auto;
}
#sponcer .slick{
padding: 2vw 0;
}
#sponcer .slick-slide {
margin: 0 1vw;
}

.midashi{
width:75%;
}
#movie {
padding:10vw 0 13vw 0;
min-width:auto;
}
#movie .slick-slide {
margin: 0 6vw;
}
.slide-arrow{
top:40%;
width:5vw;
}
.prev-arrow{
left:0%;
}
.next-arrow{
right:0%;
}
#movie .title{
margin:0 auto -2vw auto;
width:40%;
}
#movie > div > div > div > div > div{
border-radius:2.5vw;
}

#intro{
padding:20vw 0 0 0;
min-width:auto;
}
#intro ul{
display:block;
margin:17vw auto 0 auto;
width:100%;
min-width:auto;
max-width:auto;
}
#intro li{
display:block;
}
#intro li:nth-of-type(1){
padding-bottom: 0;
width:100%;
}
#intro li:nth-of-type(2){
padding-top: 10vw;
padding-bottom: 10vw;
width:100%;
}
#intro .catch{
width: 90%;
}
#intro p{
margin:12vw auto 0 auto;
width: 90vw;
width: 90%;
max-width:none;
font-size:1rem;
}
#intro p .em{
font-size:1rem;
}
#loopSlide {
width: 250vw;
height: 30vw;
background: url("images/cut_loop.jpg") repeat-x;
background-size: 100%;
background-position: center;
animation: loop 45s linear infinite; /*秒数等はお好きな数値に、infiniteは残す*/
}

@keyframes loop {
  from {
      background-position: 0 0;
  }
  to {
      background-position: 250vw 0; /*-1000px部分は画像の横幅と同じ数値*/
  }
}
#loopSlide2 {
width: 250vw;
height: 30vw;
margin-top: 15vw;
background: url("images/cut_loop2.jpg") repeat-x;
background-size: 100%;
background-position: center;
animation: loop2 45s linear infinite; /*秒数等はお好きな数値に、infiniteは残す*/
}

@keyframes loop2 {
  from {
      background-position: 0 0;
  }
  to {
      background-position: -250vw 0; /*-1000px部分は画像の横幅と同じ数値*/
  }
}

#story{
padding:30vw 0 25vw 0;
width: 100%;
min-width:auto;
}
#story > ul{
display:block;
margin:0;
width:100%;
}
#story > ul > li{
display:block;
}
#story > ul > li:nth-of-type(1){
width:100%;
margin-top: 5vw;
}
#story > ul > li:nth-of-type(2){
width:100%;
margin-top: 10vw;
padding: 0;
}

#cutWrap1, #cutWrap2, #cutWrap3{
margin: 0;
display: inline-block;
}
#story p{
width: 90vw;
margin: 0 auto;
font-size:1.05rem;
transition-delay :0s;
}
#storyKantam{
width: 30vw;
top: 11vw;
left: 2vw;
transform: translate(7vw, 28vw);
}
#storyShinnosuke{
width: 30vw;
bottom: 0;
right: 2vw;
transform: translate(28vw, 0);
}

#guest_bg{
position:absolute;
top:0;
left:-10vh;
width: 120vw;
height: 100vh;
background-size: cover;
}

#guest{
padding:20vw 0 20vw 0;
overflow: hidden;
min-width:auto;
}
#guest .midashi{
margin-bottom: 10vw;
}
.guestChara{
width: 100%;
display: block;
margin: 10vw auto;
}
.guestCharaName{
top:-5vw;
left: 0;
transition: 1.0s all;
transform: translate(0, 7vw);
transition-delay :1.3s;
opacity: 0;
}
.guestChara p{
font-size: 1rem;
padding: 0 5%;
}

#guestInfo{
width: 100%;
margin: 20vw auto 0 auto;
}
.guestProf{
width: 90%;
display: block;
margin: 15vw auto 0 auto;
}
.guestProf img:nth-of-type(2){
transform: translate(5vw, 0);
}
.guestProf img:nth-of-type(3){
transform: translate(-5vw, 0);
}

.guestProf p{
font-size: 0.8rem;
line-height: 1.6;
}
.guestProf:nth-of-type(4) p{
width: 100%;
margin-left: auto;
}
.guestProf:nth-of-type(4){
margin-top: 2vw;
}

#song{
min-width:auto;
}
#songKantam{
width: 140vw;
top: 5vw;
left: -20vw;
margin-left: 0;
}

#song .midashi{
margin: 83vw auto 5vw auto;
transition-delay :0.8s;
}

#song > ul{
display:block;
width:100%;
}
#song > ul:nth-of-type(2){
width:100%;
}
#song > ul > li{
display:block;
}

#song > ul:nth-of-type(1) > li:nth-of-type(1){
width:100%;
}
#song > ul:nth-of-type(1) > li:nth-of-type(2){
width:90%;
padding-left: 0;
margin: 10vw auto 0 auto;
}
#song > ul:nth-of-type(1) > li:nth-of-type(2) img:nth-of-type(2){
margin-top: 2vw;
}
#song > ul:nth-of-type(1) > li:nth-of-type(2) p:nth-of-type(1){
margin-bottom: 1vw;
}
#song > ul:nth-of-type(1) > li:nth-of-type(2) p:nth-of-type(2){
margin: 8vw 0;
line-height: 1.6;
}
#song > ul:nth-of-type(1) > li:nth-of-type(2) a{
padding: 1.0em 2.0em;
}

#song > ul:nth-of-type(2){
display:block;
width:90%;
margin-top: 20vw;
}
#song > ul:nth-of-type(2) > li:nth-of-type(1){
width:100%;
padding-right: 0;
padding-bottom: 5vw;
}
#song > ul:nth-of-type(2) > li:nth-of-type(2){
width:50%;
padding-right: 0;
display:inline-block;
vertical-align: top;
}
#song > ul:nth-of-type(2) > li:nth-of-type(3){
width:50%;
display:inline-block;
vertical-align: top;
}
#song > ul:nth-of-type(2) > li:nth-of-type(1) p{
font-size: 0.9rem;
line-height: 1.4;
}
#song > ul:nth-of-type(2) > li:nth-of-type(1) p strong{
font-size: 1.6rem;
}
#song > ul:nth-of-type(2) > li:nth-of-type(1) p strong span{
font-size: 0.9rem;
}
#song > ul:nth-of-type(2) > li:nth-of-type(1) img{
width: 15vw;
height: auto;
margin-right: 3vw;
margin-top: 1vw;
transition: 0.5s all;
opacity: 0;
transform: translate(-100px, 0);
}
#song > ul:nth-of-type(2) > li:nth-of-type(1) img.active{
transform: translate(0, 0);
opacity: 1;
}
#song > ul:nth-of-type(2) > li:nth-of-type(1) div p{
text-align: left;
line-height: 1.4;
}
#song > ul:nth-of-type(2) > li:nth-of-type(2) img,
#song > ul:nth-of-type(2) > li:nth-of-type(3) img{
width: 85%;
height: auto;
}
#song > ul:nth-of-type(2) > li:nth-of-type(2) p,
#song > ul:nth-of-type(2) > li:nth-of-type(3) p{
padding-left: 0;
padding-top: 2vw;
}
#song > ul:nth-of-type(2) > li:nth-of-type(2) p span,
#song > ul:nth-of-type(2) > li:nth-of-type(2) p strong span,
#song > ul:nth-of-type(2) > li:nth-of-type(3) p span{
font-size: 0.7rem;
}

#footer{
padding: 4vw 0;
min-width:auto;
}
#footer .title {
width: 55%;
}
#footer p{
font-size:0.9rem;
}

#gotop{
width:13vw;
height:13vw;
right:4vw;
bottom:4vw;
}

}

@media (min-width: 640px) {

#sponcer .slick div{
display: inline-block;
width: 10vw;
max-width: 170px;
min-width: 124px;
margin: 0 10px 10px 0;

width: 15vw;
max-width: 220px;
min-width: 180px;

max-width: 180px;
min-width: 140px;

width: 13vw;
max-width: 180px;
min-width: 165px;

width: 230px;
max-width: 230px;
min-width: 230px;
}

}