@charset "UTF-8";
@import url(base.css);
.img100 {
  width: 100%;
  height: auto;
}

/*-------------------------------------------------
	++ BASE
-------------------------------------------------*/
body {
  background: #000 url("../img/cbg.jpg") center top repeat;
  font-size: 3.6vw;
  font-family: 'Noto Serif JP', serif;
}

.pc {
  display: none;
}

#container {
  margin: 0 auto;
  text-align: center;
  position: relative;
}

.cInner {
  display: block;
  clear: both;
  width: 100%;
  margin: 0 auto;
  text-align: center;
  position: relative;
  letter-spacing: 1px;
}

.colGold {
  color: #daa93e;
}

.ticketBtn {
  text-align: center;
}
.ticketBtn a {
  display: inline-block;
  background: -webkit-linear-gradient(#ea181f 0%, #52110c 100%);
  background: -o-linear-gradient(#ea181f 0%, #52110c 100%);
  background: linear-gradient(#ea181f 0%, #52110c 100%);
  color: #FFF;
  font-size: 4vw;
  padding: 1vw 7vw;
  border-radius: 5px;
}

.viewBtn {
  text-align: center;
}
.viewBtn a {
  display: inline-block;
  background: -webkit-linear-gradient(#063277 0%, #011c45 100%);
  background: -o-linear-gradient(#063277 0%, #011c45 100%);
  background: linear-gradient(#a18e0d 0%, #3f2f02 100%);
  color: #FFF;
  font-size: 4vw;
  padding: 1vw 7vw;
  border-radius: 5px;
}

.b50Pnl, #main .mainDate, .section .pnl {
  display: block;
  background: rgba(0, 0, 0, 0.5);
  padding: 3vw;
  box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.5);
  margin: 0 auto;
  text-align: center;
}

/*-------------------------------------------------
	++ HEAD
-------------------------------------------------*/
#header {
  width: 100%;
  height: 10vw;
  background-color: #FFF;
  position: relative;
  z-index: 10;
}
#header h1 {
  margin: 0 auto;
  text-align: center;
  width: 60%;
  max-height: 10vw;
}
#header h1 img {
  display: block;
  width: auto;
  max-height: 10vw;
  margin: 0 auto;
  text-align: center;
}
#header .link {
  position: absolute;
  top: 2.2vw;
  right: 2.2vw;
  background-color: #9F291A;
  color: #FFF;
  padding: 0.5vw;
  border-radius: 3px;
  line-height: 100%;
  font-family: 'Arial','游ゴシック体','YuGothic','游ゴシック','Yu Gothic','ヒラギノ角ゴ Pro', 'Hiragino Kaku Gothic Pro','メイリオ',Meiryo,sans-serif;
}
#header .link span, #header .link a {
  height: 5vw !important;
  padding: 0 1vw;
}
#header .link span img {
  display: inline-block;
  height: 3vw;
  width: auto;
}
#header .link a {
  display: none;
  color: #FFF;
  padding: 0 2vw;
}

#menu {
  width: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 20;
}
#menu .menuBtn {
  display: block;
  background: url(../img/burger.png) center top no-repeat;
  background-size: 8vw;
  width: 8vw;
  height: 8vw;
  position: fixed;
  top: 12vw;
  right: 2vw;
}
#menu .menuBtn.current {
  background: url(../img/burger_close.png) center top no-repeat;
  background-size: 8vw;
}
#menu ul {
  display: none;
  border-top: 1px solid #999;
  padding-top: 22vw;
  background-color: rgba(0, 0, 0, 0.9);
}
#menu ul li {
  width: 100%;
  border-bottom: 1px solid #999;
}
#menu ul li:nth-of-type(1) {
  border-top: 1px solid #999;
}
#menu ul li img {
  display: block;
  margin: 0 auto;
  text-align: center;
  width: auto;
  height: 8vw;
}
#menu ul li a, #menu ul li span {
  display: block;
  font-family: "Arial";
  color: #FFF;
  padding: 3vw 10vw;
  line-height: 1;
  text-shadow: 0 0 5px rgba(0, 0, 0, 0.7);
}
#menu ul li span img {
  opacity: 0.2;
}
#menu ul li.goods img {
  height: 10vw;
}
#menu.first {
  display: none;
}

/*-------------------------------------------------
	++ MAIN
-------------------------------------------------*/
.bgWrap1 {
  position: relative;
}

#main {
  background: #000 url("../img/sp/main_bg_sp.jpg") center top no-repeat;
  background-size: 100% auto;
}
#main:after {
  background: url("../img/csn_rope.png") center top repeat-x;
  background-size: auto 3vw;
  display: block;
  content: "";
  width: 100%;
  height: 3vw;
}
#main .cInner {
  padding: 3vw 3vw 10vw 3vw;
}
#main .cInner h1 {
  padding: 2vw 20vw;
}
#main .cInner img {
  margin: 0 auto;
  text-align: center;
}
#main .cache {
  padding: 3vw 7vw;
}
#main .mainDate {
  color: #daa93e;
  padding: 3vw;
}
#main .mainDate .date {
  font-size: 3.6vw;
}
#main .mainDate .date span {
  font-size: 5.6vw;
}
#main .mainDate .place {
  font-size: 4.2vw;
}
#main .mainDate .ticketBtn {
  margin-top: 3vw;
}

/*-------------------------------------------------
	++ COMMON
-------------------------------------------------*/
.section h2 img {
  margin: 0 auto;
  text-align: center;
  width: auto;
  height: 7vw;
}
.section .pnl {
  position: relative;
}

/*-------------------------------------------------
	++ CONTENTS2
-------------------------------------------------*/
.bgWrap2 {
  position: relative;
  background: url(../img/shadow_a.png) center top repeat-x;
  background-size: auto 20vw;
  z-index: 9;
}
.bgWrap2:before {
  background: url("../img/menurope.png") center top repeat-x;
  background-size: auto 20vw;
  display: block;
  content: "";
  width: 100%;
  height: 20vw;
  z-index: 9;
  position: absolute;
  top: -10vw;
  left: 0;
}
.bgWrap2:after {
  background: url("../img/csn_rope.png") center top repeat-x;
  background-size: auto 3vw;
  display: block;
  content: "";
  width: 100%;
  height: 3vw;
}

#news {
  padding: 23vw 3vw 3vw 3vw;
}
#news .pnl {
  padding-bottom: 10vw;
}
#news .entryList {
  margin-top: 3vw;
  text-align: left;
}
#news .entryList ul li {
  padding: 1vw 0;
}
#news .entryList ul li .date {
  margin-right: 2vw;
}
#news .link {
  position: absolute;
  bottom: 2vw;
  right: 2vw;
}
#news .link a {
  background: url(../img/arrow_red.png) right center no-repeat;
  padding-right: 40px;
}

#twitter {
  padding: 3vw 3vw 20vw 3vw;
  background: url(../img/shadow_b.png) center bottom repeat-x;
  background-size: auto 40vw;
  position: relative;
}
#twitter .twBox {
  margin-top: 25px;
}

/*-------------------------------------------------
	++ CONTENTS3
-------------------------------------------------*/
.bgWrap3 {
  position: relative;
  background: url(../img/intro_bg.jpg) center top repeat;
  z-index: 9;
}
.bgWrap3:after {
  display: block;
  width: 100%;
  height: 400px;
  position: absolute;
  bottom: -170px;
  left: 0;
  z-index: 8;
}

#intro {
  background: url(../img/intro_bg_a.jpg) center top repeat-x;
  background-size: auto 140vw;
  position: relative;
  padding: 20vw 3vw 3vw 3vw;
}
#intro .pnl {
  background: rgba(17, 8, 2, 0.7);
}
#intro .text {
  margin-top: 3vw;
  text-align: left;
}
#intro .text .taC {
  display: block;
  text-align: center;
}
#intro .text .taR {
  display: block;
  text-align: right;
}

#story {
  position: relative;
  padding: 3vw 3vw 15vw 3vw;
  background: url(../img/sp/intro_b_sp.png) center bottom no-repeat;
  background-size: 100% auto;
}
#story .pnl {
  background: rgba(17, 8, 2, 0.7);
  padding: 3vw 2vw;
}
#story .text {
  position: relative;
  z-index: 9;
  margin-top: 3vw;
  text-align: center;
}

/*-------------------------------------------------
	++ CONTENTS4
-------------------------------------------------*/
.bgWrap4 {
  position: relative;
  background: url("../img/sp/cast_bg_sp.jpg") center 0 repeat;
  background-size: 100% auto;
  z-index: 7;
}
.bgWrap4:after {
  background: url("../img/csn_rope.png") center top repeat-x;
  display: block;
  content: "";
  width: 100%;
  height: 18px;
}

#cast .cInner {
  background: url("../img/cast_title_bg.png") center -5vw no-repeat;
  background-size: 65% auto;
  padding-top: 26vw;
}
#cast .cInner h2 img {
  height: 10vw;
}

#music .cInner {
  background: url("../img/music_title_bg.png") center top no-repeat;
  background-size: 65% auto;
  padding-top: 26vw;
}
#music .cInner h2 img {
  height: 10vw;
}

.photoPnl ul {
  letter-spacing: -.4em;
}
.photoPnl ul li {
  display: inline-block;
  vertical-align: top;
  position: relative;
  width: 38%;
  margin: 3vw 3vw 0 3vw;
  letter-spacing: normal;
}
.photoPnl ul li a {
  display: block;
}
.photoPnl ul li img {
  display: block;
}
.photoPnl ul li .name {
  display: block;
  background: #000 url(../img/icon_arrow.png) right 2vw center no-repeat;
  background-size: 3vw auto;
  width: 100%;
  height: 18vw;
  padding: 2vw;
}
.photoPnl ul li .name.l2 {
  padding-top: 4vw;
}
.photoPnl ul li .name.l1 {
  padding-top: 6vw;
}
.photoPnl ul li .name.l3 {
  padding-top: 1vw;
}
.photoPnl ul li .name.nlink {
  background-image: none;
}
.photoPnl ul li .name h2 {
  font-size: 3.8vw;
}
.photoPnl ul li .name .pl {
  font-size: 3.2vw;
}
.photoPnl ul li .name .pl span {
  display: block;
}
.photoPnl ul li .name .crd {
  font-size: 9px;
}

#staff .cInner {
  background: url("../img/staff_title_bg.png") center top no-repeat, url("../img/staff_item1.png") right -15vw bottom no-repeat;
  background-size: 65% auto,65% auto;
  padding-top: 26vw;
}
#staff .cInner h2 img {
  height: 10vw;
}
#staff .staffList {
  margin: 5vw auto 0 auto;
  text-align: center;
  padding-bottom: 50vw;
}
#staff .staffList ul li {
  display: block;
  clear: both;
  text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.8);
}
#staff .staffList ul li span {
  display: inline-block;
  background: url("../img/staff_line.png") left bottom repeat-x;
  padding: 2vw 0;
}
#staff .staffList ul.sublist {
  margin-top: 40px;
}
#staff .staffList ul.sublist li {
  font-size: 3.2vw;
  padding: 1vw 0;
}

/*-------------------------------------------------
	++ CONTENTS5
-------------------------------------------------*/
.bgWrap5 {
  position: relative;
  background: url("../img/footer_bg.png") center bottom repeat-x;
  background-size: 100%;
}

#movie {
  padding-top: 10vw;
  background: url(../img/shadow_a.png) center top repeat-x;
  background-size: auto 30vw;
  padding: 20vw 3vw 3vw 3vw;
}
#movie .youtube {
  margin-top: 10vw;
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
}
#movie .youtube iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

#ticket {
  padding: 5vw 3vw 3vw 3vw;
}
#ticket .cInner .pnl {
  margin-bottom: 5vw;
}
#ticket .ticketWrap {
  margin-bottom: 7vw;
  text-align: left;
}
#ticket .ticketWrap h2 {
  text-align: center;
  margin: 5vw auto;
  font-size: 3.6vw;
}
#ticket .ticketWrap table {
  width: 100%;
  border: 1px solid #424116;
  margin-bottom: 5vw;
}
#ticket .ticketWrap table caption {
  background-color: #424116;
  width: 100%;
  padding: 1vw 3vw;
}
#ticket .ticketWrap table th, #ticket .ticketWrap table td {
  border: 1px solid #424116;
  padding: 2vw;
  background-color: #000;
}
#ticket .ticketWrap table th {
  display: none;
}
#ticket .ticketWrap table td {
  width: 75%;
}
#ticket .ticketWrap table td.dn {
  width: 25%;
  text-align: center;
}
#ticket .ticketWrap table td.ptn {
  text-align: center;
  width: 40%;
}
#ticket .ticketWrap table td.time {
  text-align: center;
  width: 60%;
}
#ticket .ticketWrap .att {
  margin-bottom: 3vw;
}
#ticket .ticketWrap .infoText {
  margin-bottom: 5vw;
}
#ticket .ticketWrap .infoText a {
  color: #FFF;
  text-decoration: underline;
}
#ticket .ticketWrap .infoText a:hover {
  text-decoration: none;
}
#ticket .ticketWrap .infoText span {
  font-size: 85%;
}
#ticket .ticketWrap .infoText #seat {
  padding: 3vw;
  text-align: center;
}
#ticket .ticketWrap .infoText #seat a {
  display: block;
}
#ticket .ticketWrap .infoText #seat a img {
  display: block;
  margin: 0 auto;
  text-align: center;
}
#ticket .ticketWrap .infoText #seat a.btn {
  font-size: 93%;
  text-decoration: none;
  padding: 5px 15px;
  display: inline-block;
  margin: 3vw auto;
  text-align: center;
  background: -webkit-linear-gradient(#967645 0%, #634c17 100%);
  background: -o-linear-gradient(#967645 0%, #634c17 100%);
  background: linear-gradient(#967645 0%, #634c17 100%);
}
#ticket .ticketWrap .infoText.mt60 {
  margin-top: 5vw;
}
#ticket iframe {
  width: 96%;
  height: 70vw;
  margin: 0 auto;
  text-align: center;
}

#footer {
  font-size: 77%;
}
#footer .cInner {
  padding: 10vw 5vw 5vw 5vw;
}
#footer .copyright {
  padding: 3vw 0;
}

/*-------------------------------------------------
	++ FOOTER
-------------------------------------------------*/
#pageTop {
  position: fixed;
  bottom: 5vw;
  right: 5vw;
  width: 13vw;
  z-index: 18;
}
#pageTop img {
  display: block;
  width: 100%;
  height: auto;
}

#spCover {
  display: none;
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  background-color: rgba(0, 0, 0, 0.8);
  z-index: 19;
}
