body {
background:#000;
color: #EAEAEA;
font-family: "Zen Kaku Gothic New", sans-serif;
font-weight: 500;
font-style: normal;
width: 100%;
height:100%;
font-size: 12px;
line-height:1.8em;
margin: 0px;
letter-spacing: 0.5px;
}

#wrap{
width: 100%;
position: relative;
}

#wrap::before {
content: "";
display: block;
position: fixed;
top: 0px; left: 0px;
z-index: -1;
width: 100%; height: 100vh;
background:#000 url("../images/common/bg_pc.jpg") no-repeat center;
background-size: cover;
}

.pc{ display: none;}
.sp{ display: block;}

a:hover {color: #cb0000; opacity: 1;}

.fontS{ font-size: 70%;}
.fontL{ font-size: 120%;}
.fontB{ font-weight: 800;}

.txtBlack{ color: #000;}
.txtYell{ color: #FFE300;}

.linkLabel{
margin-top:-50px;
padding-top:50px;
text-indent: -99999px;
line-height: 0;
}

.linkLabel2{
margin-top:-70px;
padding-top:70px;
text-indent: -99999px;
line-height: 0;
}

@keyframes  fadeanm {
0% {opacity: 0;}
100% {opacity: 1;}
}

@keyframes  scaleanm {
0% {transform: scale(1.1);opacity: 1;}
100% {transform: scale(1);opacity: 1;}
}

@keyframes  scaleanm2 {
0% {transform: scale(0.9);opacity: 0;}
100% {transform: scale(1);opacity: 1;}
}

.noise{
background: url("../images/noise.gif");
background-size: 60px auto;
width: 100%; height: 100%;
position: absolute;
top: 0; left: 0;
z-index: 3;
mix-blend-mode:overlay;
opacity: 0.2;
pointer-events: none;
}

#damImg{
width: 64px; height: 64px;
position: absolute;
top: -100%; left: -100%;
z-index: 20;
}

/*---------------------------------------------

voice

----------------------------------------------*/

#voiceAll{
width: 100%; height: 100%;
position: fixed;
top: 0; left: 0;
z-index: 70;
}

#voiceBG{
background:#000 url("../images/common/bg_sp.jpg") no-repeat center fixed;
background-size: cover;
width: 100%; height: 100%;
position: fixed;
top: 0; left: 0;
z-index: 1;
}


#voiceImgAll{
background: url("../images/top/vr_main.png") no-repeat center;
background-size: contain;
width: 130px; height: 280px;
position: absolute;
top: 45%; left: 50%; 
margin-top: -75px; margin-left: -65px;
z-index: 5;
animation: scaleanm2 3s ease-out 1.5s forwards;
opacity: 0;
}

@keyframes  vrScreenAnm {
0% {opacity: 1;}
50% {opacity: 0.9;}
100% {opacity: 1;}
}

#voiceScreen{
background: url("../images/top/vr_display.png") no-repeat center;
background-size: contain;
width: 100%; height: 100%;
position: absolute;
top: 0; left: 0;
z-index: 5;
animation: vrScreenAnm 0.1s linear 0.1s infinite;
}

#voiceTxt{
background: url("../images/top/vr_txt_sp.png") no-repeat center;
background-size: contain;
width: 100%; height: 130px;
position: absolute;
top: 6%; left: 0; 
z-index: 10;
animation: fadeanm 1.5s linear 2s forwards;
opacity: 0;
}


#voiceCloseBtn{
background: url("../images/nav/btn_menu02.png") no-repeat center;
background-size: contain;
width: 50px; height: 50px;
position: absolute;
bottom: 5%; left: 50%;
margin-left: -25px;
z-index: 10;
cursor: pointer;
}


  /* 見た目のボタン（画像） */
  .play-btn {
    border: none;
    background: transparent;
    padding: 0;
    cursor: pointer;
    display: inline-grid;
    place-items: center;
	width: 80px; height: 80px;
	position: absolute;
	top: 50%; left: 50%;
	margin-left: -40px; margin-top: -18px;
	z-index: 10;
}

  .play-btn:focus {
    outline: 3px solid #7aa7ff55;
    border-radius: 12px;
  }

  /* アイコンの大きさを合わせる */
  .icon {
    width: 100%;
    height: 100%;
    display: block;
  }

  .sr-only {
    position: absolute !important;
    width: 1px; height: 1px;
    padding: 0; margin: -1px;
    overflow: hidden; clip: rect(0 0 0 0);
    white-space: nowrap; border: 0;
  }
  
  #pauseIcon{ animation: vrScreenAnm 0.1s linear 0.1s infinite;}


/*---------------------------------------------

main

----------------------------------------------*/

#content{
width: 100%;
position: relative;
overflow-x: hidden;
padding-top: 50px;
}

#mainAll{
width: 100%;
display: none;
}

#main{
background:#373737;
width: 100%;
position: relative;
overflow: hidden;
}

#main:before{
content:"";
display: block;
padding-top: 140.62%;
}

#mainImg{
background: url("../images/top2/main_sp.jpg") no-repeat center;
background-size: cover;
width: 100%; height: 100%;
position: absolute;
top: 0; left: 0;
z-index: 1;
animation: scaleanm 8s ease-out 0.01s forwards;
}

#logo{
background: url("../images/top2/logo.png") no-repeat center;
background-size: contain;
width: 76.6%; height: 9.25%;
position: absolute;
top: 68%; left: 11.7%;
z-index: 10;
animation: fadeanm 1.5s linear 2s forwards;
opacity: 0;
}

#credit{
background: url("../images/top2/billing_top_sp.png") no-repeat center;
background-size: contain;
width: 48.4%; height: 18.6%;
position: absolute;
bottom: 1.7%; left: 24.8%;
z-index: 10;
animation: fadeanm 1.5s linear 2.5s forwards;
opacity: 0;
}

#roadshow{
background: url("../images/top2/roadshow.png") no-repeat center;
background-size: contain;
width: 19%; height: 5.9%;
position: absolute;
bottom: 1.7%; right: 2.5%;
z-index: 10;
animation: fadeanm 1.5s linear 3s forwards;
opacity: 0;
}

#catchAll{
width: 7%; height: 27.62%;
position: absolute;
top: 36.29%; left: 55.83%;
z-index: 10;
animation: fadeanm 1.5s linear 3.5s forwards;
opacity: 0;
}

.bururi { animation: bururi 1s infinite;}

@keyframes bururi {
30% {transform: scale(1, 1);filter: blur(0);}
32% {transform: scale(0.98, 1);filter: blur(2px);}
34% {transform: scale(1, 1);filter: blur(0);}
54% {transform: scale(1, 1);filter: blur(0);}
56% {transform: scale(0.98, 0.99);filter: blur(4px);}
58% {transform: scale(1, 1.05);filter: blur(0);}
60% {transform: scale(0.98, 1);filter: blur(2px);}
}

#catch{
background: url("../images/top2/catch.png") no-repeat center;
background-size: cover;
width: 100%; height: 100%;
}


/*---------------------------------------------

bnr L

----------------------------------------------*/

#bnrLall{
width: 100%;
padding: 20px 0;
text-align: center;
border-bottom: 1px solid #940002;
}

#bnrLall img{
width: 86%; margin: 5px 0;
user-select: none;
}


/*---------------------------------------------

mvck

----------------------------------------------*/

#mvckonlineAll{
width: 100%;
padding: 20px 0;
border-bottom: 1px solid #940002;
}

#mvck{
width: 340px;
overflow: hidden;
line-height: 0;
margin: 0 auto;
padding: 0;
}

/*---------------------------------------------

movie

----------------------------------------------*/

#topmovarea{
margin:0 auto;
padding: 8vw 0 6vw;
line-height: 0;
position: relative;
overflow: hidden;
z-index: 3;
}

#topmovarea .movie {
width: 90%;
margin: 0 auto;
}

#topmovarea .movie .inner {
background-color: #000;
position: relative;
padding-bottom: 56.25%;
height: 0;
margin: 0 auto;
border: 2px solid #940002;
filter: drop-shadow(5px 3px 0 rgba(255, 0, 0, .2));
}

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

#topmovarea .movie .tab_area {
width: 100%;
display: flex;
flex-wrap: wrap;
margin: 7px auto 0;
justify-content: center;
}

#topmovarea .movie .tab_area ul{
width: 100%;
}

#topmovarea .movie .tab_area li {
width: 49%;
text-align: center;
font-size: 3vw;
margin: 0.5%;
line-height: 3em;
font-weight: 600;
overflow: hidden;
}

#topmovarea .movie .tab_area li a{
width: 100%; height: 100%;
display: block;
text-decoration: none;
background: #cb0000;
color: #000;
float: left;
}

#topmovarea .movie .tab_area li a.active{
background: #fff;
color: #cb0000;
}


/*---------------------------------------------

about

----------------------------------------------*/

#contentMain{
background: url("../images/top/txt_wazawai.png") no-repeat top 10px right -40px;
background-size: 45% auto;
width: 100%;
}

#aboutAll{
width: 100%;
padding: 3em 0 2em;
}

#aboutIntroAll{
width: 95%;
margin: 0 0 0 auto;
border-top: 1px solid #940002;
border-left: 1px solid #940002;
border-bottom: 1px solid #940002;
padding: 1.5em 0;
}

#aboutIntroM{
width: 90%;
color: #cb0000;
text-align: center;
letter-spacing: 0.5em;
margin: 0 auto;
}

#aboutIntroTxt{
width: 88%;
color: #cb0000;
line-height: 1.6em;
margin: 1em auto 2%;
text-align: justify;
}

#aboutStoryAll{
width: 95%;
margin: 0 0 0 auto;
border-top: 1px solid #940002;
border-left: 1px solid #940002;
border-bottom: 1px solid #940002;
padding: 1.5em 0;
margin-top: 1.5em;
}

#aboutStoryM{
width: 90%;
color: #cb0000;
text-align: center;
letter-spacing: 0.5em;
margin: 0 auto;
}

#aboutStoryTxt{
width: 88%;
color: #cb0000;
line-height: 1.8em;
margin: 1em auto 2%;
text-align: center;
}

.aboutMM{
width: 100%;
margin: 0 0 0.8em;
font-size: 146%;
font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
letter-spacing: -0.05em;
line-height: 1.3em;
text-align: center;
color: #fff;
}

.aboutMM2{
width: 100%;
margin: 0 0 0.5em;
font-size: 110%;
font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
font-weight: 700;
letter-spacing: -0.05em;
line-height: 1.5em;
text-align: center;
color: #fff;
}

.aboutMM3{
width: 100%;
margin: 0 0 0.3em;
font-size: 120%;
font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
font-weight: 800;
letter-spacing: -0.05em;
line-height: 1.5em;
text-align: center;
}

.txt_WT{ color: #fff;}


/*---------------------------------------------

cast staff

----------------------------------------------*/

#caststaffAll{
width: 100%;
padding: 3em 0 2em;
}

#caststaffM{
width: 90%;
color: #cb0000;
text-align: center;
letter-spacing: 0.5em;
margin: 0 auto 2em;
}

#castBtnAll{
width: 86%;
position: relative;
margin: 0 auto;
}

#castBtnArea_A{
width: 100%;
position: relative;
margin-bottom: 4.5%;
}

#castBtnArea_A:before{
content:"";
display: block;
padding-top: 58.53%;
}

#castBtnArea_B{
width: 100%;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}

.castBtn_A_all{
width: 59%; height: 100%;
position: absolute;
top: 0; right: 0;
z-index: 1;
}

.castBtn_B_all{
width: 48.5%;
position: relative;
overflow: hidden;
margin-bottom: 3.8%;
}

.castBtn_B_all:before{
content:"";
display: block;
padding-top: 98.7%;
}

#castBtn01{ background: url("../images/caststaff/cast_btn01.jpg") no-repeat center;}
#castBtn02{ background: url("../images/caststaff/cast_btn02.jpg") no-repeat center;}
#castBtn03{ background: url("../images/caststaff/cast_btn03.jpg") no-repeat center;}
#castBtn04{ background: url("../images/caststaff/cast_btn04.jpg") no-repeat center;}
#castBtn05{ background: url("../images/caststaff/cast_btn05.jpg") no-repeat center;}
#castBtn06{ background: url("../images/caststaff/cast_btn06.jpg") no-repeat center;}
#castBtnTitle{ background: url("../images/caststaff/cast_btnbg.jpg") no-repeat center; pointer-events: none;}
#castBtn01,#castBtn02,#castBtn03,#castBtn04,#castBtn05,#castBtn06,#castBtnTitle{ 
background-size: cover;
width: 100%; height: 100%;
position: absolute;
top: 0;left: 0;
z-index: 1;
text-indent:-999999px;
}

@keyframes bururi2 {
10% {transform: scale(1, 1);filter: blur(0);}
12% {transform: scale(0.99, 1.01);filter: blur(2px);}
14% {transform: scale(1, 1);filter: blur(0);}
30% {transform: scale(1.01, 1.01);filter: blur(0);}
32% {transform: scale(0.98, 1);filter: blur(2px);}
34% {transform: scale(1, 0.99);filter: blur(0);}
54% {transform: scale(1.02, 1);filter: blur(3px);}
56% {transform: scale(0.99, 0.99);filter: blur(1px);}
58% {transform: scale(1, 1.01);filter: blur(0);}
60% {transform: scale(0.98, 0.98);filter: blur(2px);}
54% {transform: scale(1, 1);filter: blur(0);}
86% {transform: scale(0.98, 0.99);filter: blur(1px);}
88% {transform: scale(1, 1.01);filter: blur(0);}
90% {transform: scale(0.99, 1);filter: blur(2px);}
}

.bururi2 { animation: bururi2 1.5s infinite;}

#castCatchAll{
width: 47%; height: 96%;
position: absolute;
top: 2%; left: 0;
z-index: 2;
overflow: hidden;
pointer-events: none;
}

#castCatch{
background: url("../images/caststaff/caststaff_catch_sp.png") no-repeat center;
background-size: contain;
width: 100%; height: 100%;
position: absolute;
top: 0; left: 0;
z-index: 1;
}

#staffBtnAll{
width: 86%;
margin: 0 auto;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}

.staffBtn{
width: 100%;
position: relative;
overflow: hidden;
margin-bottom: 3%;
}

.staffBtn:before{
content:"";
display: block;
padding-top: 16%;
}

#staffBtn01,#staffBtn02,#staffBtn03{ 
background: url("../images/caststaff/staff_btn_bg.png") no-repeat center;
background-size: cover;
width: 100%; height: 100%;
position: absolute;
top: 0;left: 0;
z-index: 1;
font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
font-size: 4.2vw;
font-weight: 600;
display: flex;
justify-content: center;
align-items: center;
user-select: none;
-webkit-user-select: none; /* Safari, Chrome */
-moz-user-select: none;    /* Firefox */
-ms-user-select: none;     /* IE/Edge */
}


/*---------------------------------------------

cast staff profile

----------------------------------------------*/

#castProfile01,#castProfile02,#castProfile03,#castProfile04,#castProfile05,#castProfile06,#staffProfile01,#staffProfile02,#staffProfile03{
width: 100%; height: 100%;
position: fixed;
top: 0; left: 0;
z-index: 100;
display: none;
}

.csProfileBG{
background: #000;
width: 100%; height: 100%;
position: absolute;
top: 0; left: 0;
z-index: 1;
opacity: 0.8;
}

.csProfileMainAll{
width: 100%; height: 100%;
position: absolute;
top: 0; left: 0;
z-index: 2;
display: none;
}

.csProfileMain{
background: url("../images/caststaff/bg_sp.jpg") no-repeat center;
background-size: cover;
width: 100%; height: 100%;
position: absolute;
top: 0; left: 0;
z-index: 0;
overflow-x: hidden;
overflow-y: auto;
}

.csCloseBtn{
background: url("../images/caststaff/btn_close.png") no-repeat center;
background-size: cover;
width: 50px; height: 50px;
cursor: pointer;
position: fixed;
top: 0; right: 0;
z-index: 5;
}

#castProSerifu01{ background: url("../images/caststaff/cast_serifu01.png") no-repeat left;}
#castProSerifu02{ background: url("../images/caststaff/cast_serifu02.png") no-repeat left;}
#castProSerifu03{ background: url("../images/caststaff/cast_serifu03.png") no-repeat left;}
#castProSerifu04{ background: url("../images/caststaff/cast_serifu04.png") no-repeat left;}
#castProSerifu05{ background: url("../images/caststaff/cast_serifu05.png") no-repeat left;}
#castProSerifu06{ background: url("../images/caststaff/cast_serifu06.png") no-repeat left;}
#castProSerifu01,#castProSerifu02,#castProSerifu03,#castProSerifu04,#castProSerifu05,#castProSerifu06{
background-size: contain;
width: 16%;
position: absolute;
top: 0; left: 0;
z-index: 10;
pointer-events: none;
}

#castProSerifu01:before,#castProSerifu02:before,#castProSerifu03:before,#castProSerifu04:before,#castProSerifu05:before,#castProSerifu06:before{
content:"";
display: block;
padding-top: 670%;
}

.castProImgAll{
width: 82%;
position: relative;
overflow: hidden;
margin: 40px auto 0;
z-index: 1;
}

.castProImgAll:before{
content:"";
display: block;
padding-top: 105%;
}


@keyframes  csscaleanm {
0% {transform: scale(1.3);opacity: 0;}
100% {transform: scale(1);opacity: 1;}
}

#castProImg01{ background: url("../images/caststaff/cast_img01.jpg") no-repeat top -50px left 0;}
#castProImg02{ background: url("../images/caststaff/cast_img02.jpg") no-repeat center;}
#castProImg03{ background: url("../images/caststaff/cast_img03.jpg") no-repeat center;}
#castProImg04{ background: url("../images/caststaff/cast_img04.jpg") no-repeat center;}
#castProImg05{ background: url("../images/caststaff/cast_img05.jpg") no-repeat center;}
#castProImg06{ background: url("../images/caststaff/cast_img06.jpg") no-repeat center;}
#castProImg01,#castProImg02,#castProImg03,#castProImg04,#castProImg05,#castProImg06{
background-size: 100% auto;
width: 100%; height: 100%;
position: absolute;
top: 0; left: 0;
z-index: 1;
animation: csscaleanm 3.5s cubic-bezier(0,.64,.41,1) 0.6s forwards;
opacity: 0;
}

.castTxtAll{
width: 82%;
margin: 40px auto;
animation: fadeanm 0.8s ease 0.8s forwards;
opacity: 0;
}

.staffTxtAll{
width: 82%;
margin: 60px auto 40px;
}

.csNMall{
width: 100%;
position: relative;
overflow: hidden;
}

.csNMall:before{
content:"";
display: block;
padding-top: 9.5%;
}

#castNM01{ background: url("../images/caststaff/cast_nm01.png") no-repeat left;}
#castNM02{ background: url("../images/caststaff/cast_nm02.png") no-repeat left;}
#castNM03{ background: url("../images/caststaff/cast_nm03.png") no-repeat left;}
#castNM04{ background: url("../images/caststaff/cast_nm04.png") no-repeat left;}
#castNM05{ background: url("../images/caststaff/cast_nm05.png") no-repeat left;}
#castNM06{ background: url("../images/caststaff/cast_nm06.png") no-repeat left;}
#staffNM01{ background: url("../images/caststaff/staff_nm01.png") no-repeat left;}
#staffNM02{ background: url("../images/caststaff/staff_nm02.png") no-repeat left;}
#staffNM03{ background: url("../images/caststaff/staff_nm03.png") no-repeat left;}
#castNM01,#castNM02,#castNM03,#castNM04,#castNM05,#castNM06,#staffNM01,#staffNM02,#staffNM03{
background-size: contain;
width: 100%; height: 100%;
position: absolute;
top: 0; left: 0;
z-index: 1;
text-indent:-999999px;
}

.csTxtAreaAll{
width: 100%;
margin: 15px auto 0;
}

.csTxtArea{
width: 100%;
line-height: 1.8em;
color: #fff;
text-align: justify;
}

.csMM{
width: 100%;
background: #000;
color: #D40003;
font-weight: 600;
font-size: 90%;
line-height: 1em;
padding: 0.2em 0 0.1em;
margin-bottom: 0.5em;
text-indent: 0.5em;
}

/*---------------------------------------------

SONG

----------------------------------------------*/

#songAll{
width: 100%;
padding: 3em 0 2em;
}

#songmainAll{
width: 95%;
margin: 0 auto 0 0;
border-top: 1px solid #940002;
border-right: 1px solid #940002;
border-bottom: 1px solid #940002;
padding: 1.5em 0;
}

#songM{
width: 90%;
color: #cb0000;
text-align: center;
letter-spacing: 0.5em;
margin: 0 2.5% 0 auto;
}

#songTxt{
width: 85%;
color: #cb0000;
line-height: 1.6em;
margin: 1em 5% 0 auto;
text-align: justify;
}

.songBoxAll{
width: 100%;
margin: 0 auto;
}

.songLeft{ width: 100%; position: relative; overflow: hidden;}
.songRight{ width: 100%;border: 1px solid #940002;}


#songImg{
background: #7A7A7A url("../images/song/img_osc.jpg") no-repeat center top;
background-size: cover;
width: 100%;
position: relative;
overflow: hidden;
pointer-events: none;
margin: 0 auto 1.5em;
}

#songImg:before{
content:"";
display: block;
padding-top: 66.7%;
}

.songNM{
background: url("../images/caststaff/sankaku.png") no-repeat right 0.3em top 50%;
background-size: auto 25%;
width: 100%;
font-size:4.2vw;
line-height: 1em;
padding: 0.7em 0 0.6em;
font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
font-weight: 500;
text-align: center;
color: #fff;
}

.songNMs{ font-size: 50%;}

.songTxtAll{
width: 90%;
position: relative;
margin: 0 auto;
display: none;
}

.songTxt{
width: 100%;
line-height: 1.8em;
margin: 0;
color: #fff;
padding: 0.5em 0 1em;
}

.songMM{
width: 100%;
background: #990001;
color: #000;
font-weight: 600;
font-size: 90%;
line-height: 1em;
padding: 0.2em 0 0.1em;
margin-bottom: 0.5em;
text-indent: 0.5em;
}


/*---------------------------------------------

footer

----------------------------------------------*/

#billing{
background: url("../images/top2/billing.png") no-repeat center;
background-size: contain;
width: 90%;
max-width: 480px;
position: relative;
margin: 0 auto 6vw;
}

#billing:before{
content:"";
display: block;
padding-top: 66.86%;
}

footer{
width: 100%;
padding: 6vw 0 12vw;
}

#shareArea{
background: url("../images/sns/sharemark.png") no-repeat left;
background-size: auto 100%;
width: 260px;
margin: 0 auto 6vw;
text-align: right;
font-size: 12px;
line-height: 1em;
letter-spacing: 0;
}

#shareArea a{ margin: 0 10px;}

#copyright{
width: 100%;
margin: 0 auto 6vw;
font-size: 9px;
line-height: 1.5em;
color: #cb0000;
text-align: center;
}

#privacy{
width: 100%;
margin: 0 auto;
font-size: 9px;
line-height: 1em;
color: #cb0000;
text-align: center;
}

#privacy a{
text-decoration: none;
}

#wbsns{
width: 100%;
margin: 10px auto;
text-align: center;
}

#wbsns img{
width: 25px;
margin: 0 4px;
}



/*---------------------------------------------

page top

----------------------------------------------*/


#pageTop{
background-color: #cb0000;
width: 50px; height: 50px;
position: fixed;
bottom: 0; right: 0;
font-size: 15px;
text-align: center;
line-height: 50px;
z-index: 20;
}

#pageTop a{
width: 100%; height: 100%;
display: block;
color: #000;
}
