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:-55px;
padding-top:55px;
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: 50px auto;
width: 100%; height: 100%;
position: fixed;
top: 0; left: 0;
z-index: 2;
mix-blend-mode: overlay;
opacity: 0.5;
pointer-events: none;
}


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

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/top/vr_close.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;
}

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

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

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

#mainImg{
background: url("../images/top/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/top/logo.png") no-repeat center;
background-size: cover;
width: 16%; height: 76%;
position: absolute;
top: 9.3%; left: 42%;
z-index: 10;
animation: fadeanm 1.5s linear 2s forwards;
opacity: 0;
}

#roadshow{
background: url("../images/top/roadshow.png") no-repeat center;
background-size: cover;
width: 11.7%; height: 35.5%;
position: absolute;
top: 61%; left: 5%;
z-index: 10;
animation: fadeanm 1.5s linear 2.5s forwards;
opacity: 0;
}

#bnrL{
width: 28%;
position: absolute;
bottom: 1.5%; right: 2%;
z-index: 20;
animation: fadeanm 1.5s linear 3s forwards;
opacity: 0;
}

#bnrL img{ transition: all 0.3s ease; filter: drop-shadow(5px 5px 0 rgba(0, 0, 0, .4));}



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

movie

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

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

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

#topmovarea .movie .inner {
background-color: #000;
position: relative;
padding-bottom: 56.25%;
height: 0;
margin: 0 auto;
border: 1px solid #494949;
box-sizing: border-box;
}

#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: 0.5em 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: #ac0f00;
color: #000;
float: left;
}

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


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

about

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

#contentMain{
background: url("../images/top/txt_wazawai.png") no-repeat top 10px right -40px;
background-size: auto 96%;
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.5em;
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;
}

.txt_WT{ color: #fff;}


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

comment

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

#commentAll{
width: 100%;
padding: 1em 0;
}

.commentBox{
background: #cb0000;
width: 95%;
margin: 0 0 2em 0;
}

.commentBoxM{
width: 95%;
margin: 0 0 0 auto;
padding-bottom: 2em;
}

.commentNM{
width: 100%; height: 25px;
}

.commentTxtAll{
width: 96%;
}

.commentTxt{
width: 100%;
margin: 0.5em 0 0;
line-height: 1.6em;
color: #000;
}

.websiteBtn{
width: 150px; height: 30px;
background: #000;
text-align: center;
cursor: pointer;
transition: all 0.5s ease;
font-size: 10px;
line-height: 30px;
margin: 0 0 0 auto;
}

.websiteBtn a{
color: #fff;
width: 100%; height: 100%;
display: block;
}

.websiteBtn:hover{
opacity: 0.7;
}

.commentOriginalImg{
width: 34%;
float: right;
margin: 0.2em 0 0 0.5em;
pointer-events: none;
}

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

footer

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

#billing{
background: url("../images/top/billing.png") no-repeat center;
background-size: auto 95%;
width: 100%;
position: relative;
margin: 0 auto 4vw;
}

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

footer{
border-top: 1px solid #940002;
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;
text-align: right;
font-size: 12px;
line-height: 1em;
letter-spacing: 0;
}

#shareArea a{ margin: 0 10px;}

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

#wb{
width: 140px;
margin: 40px auto 0;
}

#privacy{
width: 100%;
margin: 15px 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: 60px; height: 60px;
position: fixed;
bottom: 0; right: 0;
font-size: 15px;
text-align: center;
line-height: 60px;
z-index: 20;
}

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