@charset "utf-8";

/* --------------
 reset
-------------- */
input,select,textarea {max-width:95% !important;}
h1,h2,h3,h4 {font-size:100%;}

img {max-width:100% !important; height:auto;vertical-align: bottom;}
/*iframe {max-width:100% ; border:0;}*/

/* --------------
 base
-------------- */
body {font-size: 14px; overflow-x: hidden;}
.ifpc {display: none;}

@media screen and (max-width: 320px) { /*以下の時*/
}
@media screen and (min-width: 321px) { /*以上の時*/
}

@media only screen and (orientation : landscape) { /*横向きの際に適用*/
	body {background-size:100% auto;}
}


/* ---------- align */
.alcSP { text-align: center !important;}
.alrSP { text-align: right !important;}
.allSP { text-align: left !important;}


/* ----- text */
.strongTxt {
  font-size: 1.4em;
}
.dtlBtn a,
.dtlBtn span {
  font-size: 1.1em;
}
/* =base
---------------------------------------------------- */
.in{
	max-width: 95%;
	margin-left: auto;
	margin-right: auto;
}

@media screen and (max-width: 320px) { /*以下の時*/
}
@media screen and (min-width: 321px) { /*以上の時*/
}

/* =contents
------------------------------------------ */

.contents {
	padding: 2rem 0;
}

.contents h2 {
	font-size: 1.6em;
}
.contents h2:not(.bg-img-b) {
	font-size: 1.5em;
}
.contents h3 {
	font-size: 1.3em;
	text-indent: .3em;
	letter-spacing: .3em;
}

.spclm2, .spclm3, .spclm4, .spclm5, .spclm6 {
	display: flex;
	flex-flow: row wrap;
	align-items: stretch;
	margin-left: -10px;
}
.spclm2 > * {
	width: calc((100% / 2) - 10px );
}
.spclm3 > * {
	width: calc((100% / 3) - 10px );
}
.spclm4 > * {
	width: calc((100% / 4) - 10px );
}
.spclm5 > * {
	width: calc((100% / 5) - 10px );
}
.spclm6 > * {
	width: calc((100% / 6) - 10px );
}

*::-ms-backdrop, .spclm2 > * {
  width: calc(50% - 10px); /* IE11 */
}
*::-ms-backdrop, .spclm3 > * {
  width: calc(33.33% - 10px); /* IE11 */
}
*::-ms-backdrop, .spclm4 > * {
  width: calc(25% - 10px); /* IE11 */
}
*::-ms-backdrop, .spclm5 > * {
  width: calc(20% - 10px); /* IE11 */
}
*::-ms-backdrop, .spclm6 > * {
  width: calc(16.66% - 10px); /* IE11 */
}
.spclm2 > *, .spclm3 > *, .spclm4 > *, .spclm5 > *, .spclm6 > * {
	margin-left: 10px;
}

.spclm2 > * >a, .spclm3 > * >a, .spclm4 > * >a, .spclm5 > * >a, .spclm6 > * >a {
	position: relative;
	display: block;
	height: 100%;
}

/* =move
---------------------------------------------------- */
/*.moveL,.moveR {
  display: none;
}
.moveL.move2,.moveR.move3 {
  display: block;
}*/


/* --------------
 page contents
-------------- */


.pageNav {
	position: fixed;
	right: 0;
	top: 0;
	z-index: 99;
}
.pageNav h2 {
	background: rgba(0,0,0,.5);
	width: 1.5em;
	height: 1.5em;
	line-height: 1.5em;
	text-align: center;
	font-size: 2.0rem;
}
.pageNav h2.open:before {
	content: '';
	display: block;
	width: 100vw;
	height: 100vh;
	position: fixed;
	top: 0;
	left: 0;
	background: rgba(0,0,0,.8);
	z-index: 100;
}
.pageNav h2 img {
	vertical-align: sub;
}
.pageNav .pageNavCont {
	position: fixed;
	top: 0;
	right: -200px;
	width: 200px;
	height: 100vh;
	background: #000;
	z-index: 101;
	border-left: #aaa solid 1px;
}
.pageNav .pageNavCont a {
	display: block;
	color: #eee;
	font-weight: bold;
	padding: 10px;
}
.pageNav .pageNavCont a small {
	display: inline-block;
	margin-left: .5em;
}
.pageNav .pageNavCont li {
	border-bottom: #aaa solid 1px;
}
.pageNav .pageNavCont .pageNavClose {
	display: inline-block;
	padding: .5em 1em;
	background: #444;
	border-radius: 10px;
	margin-top: 1rem;
	font-size: .7em;
}

#visual {
  background-size: cover;
}
#visual .visualImgBox {
	/*padding: 50% 3em;*/
  /*padding: 36% 3em;*/
  padding-top: 99vh;
}

.gameAppliBtn {
  width: 25vw;
  bottom: -15%;
}

.tblDtl th,
.tblDtl td {
  display: block;
}
.tblDtl th {
  font-size: 1.2em;
  text-align: center;
  margin-bottom: 5px;
}
.tblDtl td {
  margin-bottom: 20px;
}
.tblDtl td p {
  margin-bottom: 0;
}


.outlineDate {
	font-size: 1.3em
}

.outlineVenue {
	font-size: 1.1em
}

.castName {
/*	font-size: 8vw;*/
	display: inline-block;
	font-size: 1.3em;
	letter-spacing: .5em;
	text-indent: .5em;
}
.castName + br +small {
	font-size: .6em;
	display: block;
}

.sponsorName {
	font-size: 1.2em;
}

#cast ul.clm3 p {
  max-width: 300px;
  margin: auto;
}

.bg-img-b {
	margin-bottom: 1rem !important;
}
.contents h2 + h3 {
	margin-top: 0;
}

/* =outline --------------------------------- */

#summary {
  padding-top: 60px;
}

#summary .solomonImg {
	overflow-x: hidden !important;
	right: 0 !important;
}
#summary .solomonImg img {
	margin-right: -40%;
}
.mvTxtBox {
  width: 90%;
  top: -7%;
}
.mvTxtBox .zoom {
  transform: scale(1.0) !important;
  opacity: 1 !important;
}
@media screen and (min-width: 441px) { /*以上の時*/
	#summary .solomonImg {
	/*  max-width: 35vw;*/

			max-width: 60vw;
			top: 25%;
	}
}
@media screen and (min-width: 626px) { /*以上の時*/
	#summary .solomonImg {
		top: 30%;
	}
}
@media screen and (min-width: 441px) and (max-width: 625px) {
	#summary .solomonImg {
		top: 28%;
	}
}
@media screen and (max-width: 440px) { /*以下の時*/
/*#summary .solomonImg {
  max-width: 40vw;
  top: 74%;
}*/
	#summary .solomonImg {
		max-width: 50vw;
		top: 80%;
	}
}

.endinfo {
	margin: 1em auto 4em;
}

.endinfo p {
        font-size: 174%;
        transform: rotate(-4deg);
        font-weight: 600;
        color: #f7ad34;
        text-shadow: 0 0 10px #f9e257;
        margin: auto;
        display: inline-block;
}

.bluerayinfo {
	font-size: 168%;
}

/* =outline --------------------------------- */
#outline.contents .hashBtn {
  max-width: 130px;
  top: -3%;
}
#outline .ulKome {
  margin-top: 10px;
}
.eventinfo {
  padding: 20px 0;
}
/* =ticket --------------------------------- */
/*#ticket:before{
  height: calc(100% - 0.11 * (0 * 50% + 50vw) * 2);
  transform: rotate(-2.3deg);
  top: calc(0.11 * (0 * 50% + 50vw));
}*/

#ticket:before{
  transition: width .5s ease;
}
.ticketBox {
	font-size: 1.1em;
  padding: 2%;
}
.ticket1,.ticket2,.ticket3 {
  width: 95%;
  margin: 0 auto;
}
.ticketBox + .ticketBox {
	margin-top: 1rem;
}
.ticketBox.limited .tickt72 {
  width: 25%;
  right: -20px;
}

.ticket1{
  -webkit-box-ordinal-group:1;
  -ms-flex-order:1;
  -webkit-order:1;
  order:1;
  /*margin-bottom: 40px;*/
  margin-bottom: 25px;
}
.ticket2{
  -webkit-box-ordinal-group:3;
  -ms-flex-order:3;
  -webkit-order:3;
  order:3;
  margin-bottom: 2rem;
}
.ticket3{
  -webkit-box-ordinal-group:2;
  -ms-flex-order:2;
  -webkit-order:2;
  order:2;
  margin-bottom: 3rem;
}
.ticket3:after {
  left: 20%;
}
.ticket3 .spItem div:first-child {
  margin-bottom: 30px;
}
.ticketList {
  /*min-height: 3.5em;*/
	font-size: 1.5em;
}


@media screen and (min-width: 481px) { /*以上の時*/
.ticket1 .ticketBox .ticketList p:nth-child(1) {
  padding-right: 2em;
}
.ticket1 .ticketBox .ticketList p:nth-child(2) {
  padding-left: 2em;
}

.ticket2 .ticketBox .ticketList p:nth-child(1) {
  padding-right: 4em;
}
.ticket2 .ticketBox .ticketList p:nth-child(2) {
  padding-left: 2em;
}
}

@media screen and (min-width: 301px) and (max-width: 480px) {
.ticketList {
  padding-left: 10%;
}
}

@media screen and (max-width: 480px) { /*以下の時*/
.ticket1 .ticketBox .ticketList p:nth-child(2),
.ticket2 .ticketBox .ticketList p:nth-child(2) {
  padding-left: 1em;
}
.ticketList {
  /*text-align: left !important;*/
}
.ticketBox.limited .tickt72 {
  top: -15px;
  bottom: auto;
}
.soldoutBox {
  font-size: 4.5vw;
}
}

@media screen and (max-width: 284px) {
.ticketList {
  font-size: 8vw;
}
}


.endTxt span {
  font-size: 7vw;
}

.spItem {
  padding: 10px;
}

#ticket .shadowHL.fs14 {
  font-size: 1.2em
}

.fixBnr{
	position: fixed;
	left: 3px;
	top: 3px;
	width: 20%;
}


.liveViewBox {
  margin-top: -35px;
  padding-top: 35px;
}

#news .bg-img-b b span {
	letter-spacing: .25em;
}

/* =cast --------------------------------- */
.flex2_sp {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.flex2_sp:after {
  display: none;
}
.flex2_sp li {
  width: 48%;
}
/* =news --------------------------------- */
#news .banner {
  margin-bottom: 20px;
}
.banner a {
  display: inline-block;
  width: 16em;
  padding: 10px 5px;
}

/* 1/19 */
.red_l {
	font-size: 1.2em;
	color: #ff0000;
	font-weight: bold;
}
.red_l.title {
	font-size: 1.4em;
	color: #fff;
	background: #ff0000;
  }
.red_l.border {
    border: 1px solid;
    max-width: 85%;
    margin: 1em auto;
	padding: 0.7em;
}