/* CSS Document */ @charset "utf-8";

@import url(http://fonts.googleapis.com/earlyaccess/notosansjapanese.css);

/* clearfix
----------------------------------- */
.clearfix:after{
	content: ".";
	display: block;
	height: 0;
	font-size:0;
	clear: both;
	visibility:hidden;
}
.clearfix {display: inline-block;}
* html .clearfix {height: 1%;}
.clearfix {display:block;}
.clear { clear: both; }



/* base
================================= */
html, body {
	height: 100%;
	background: #f0f0f0;
	font-family: メイリオ,'ヒラギノ角ゴ Pro W3','ＭＳ Ｐゴシック',Meiryo,'MS P Gothic',sans-serif;
	color: #151515;
	font-size: 14px;
	line-height: 1.5;
	letter-spacing: 0.02em;	
}
#wrap {
	background: #f0f0f0;
	padding: 20px 0;
}
#container {
	width:760px;
	background: #fff;
	padding: 30px 50px;
	margin: 0 auto;
}

/* header
--------------------------------- */
#header {
	margin: 0 0 30px;
}
#header .ph {
	margin-right: 40px;
	float: left;
	width: 320px;
}
#header .ph img { width: 100%; }

#header .ph div{ overflow:hidden; }

#header h1 {
	color: #000;
	font-family: 'ヒラギノ角ゴ Pro W3', Arial, 'Noto Sans Japanese', sans-serif;
	font-size: 28px;
	font-weight: bold;
	line-height: 1.4;
	padding: 10px;
}

#header h1 span {
	display: block;
	font-size: 19px;
	font-weight: normal;
	line-height: 1.5;
	margin-top: 20px;
	margin-bottom: 10px;
}

#header .btn{text-align:left;}
#header .btn .txtLink{
	padding: 0;
	text-align: left;
	margin: 0;
	border: none;
	position:relative;
	color: #111;
	font-weight: bold;
}
.btn .txtLink:hover{
opacity:0.5;
}

#header .btn .txtLink:before{
	content: "\f138";
	font-size: 15px;
	font-family: "FontAwesome";
	margin-right: 4px;
}

/* footer
--------------------------------- */
#footer {
	width:860px;
	color: #888;
	font-size: 11px;
	text-align: center;
	padding: 40px 0 20px;
	margin: 0 auto;
}
#footer li {
	display: inline;
}
#footer li a {
	color: #888;
	text-decoration: none;
}
#footer li a:hover {
	color: #666;
	text-decoration: underline;
}


/* section
--------------------------------- */
.section {
	margin: 0 0 60px;
}
.sectionTit {
	background: #FF0066;
	color: #fff;
	font-size: 20px;
	line-height: 1.5;
	border-radius: 4px;
	padding: 6px 15px;
	margin: 0 0 30px;
}
.sectionTit:before {
	content: '';
	display: inline-block;
	width: 5px;
	height: 1em;
	background: #fff;
	margin: 0 10px 0 0;
	position: relative;
	top: 3px;
}
.area { margin: 0 0 30px; }
.areaTit {
	background: #f5f5f5;
	font-size: 18px;
	border-left: 4px solid #aaa;
	padding: 10px 0 10px 10px;
	margin: 0 0 20px;
}

.subTxt { font-size: 0.8em; }
.bold	{ font-weight: bold; }
.center	{ text-align: center; }
.red	{ color: #f00; }

/* anchor
--------------------------------- */
a {
	color: #FF0066;
	-webkit-transition: all .3s ease;
	transition: all .3s ease;
}
a:hover { text-decoration: none; }
a img {
	-webkit-transition: all .3s ease;
	transition: all .3s ease;
}
a img:hover { opacity: 0.8; }
.btn { text-align: center; }
.btn a,
.btn input {
	display: inline-block;
	text-align: center;
	text-decoration: none;
	border-radius: 6px;
	border: 1px solid;
	padding: 15px 30px;
	margin: 0 auto 20px;
	-webkit-transition: all .3s ease;
	transition: all .3s ease;
}
.btn .main {
	min-width: 300px;
	background: #FF0066;
	color: #fff;
	font-size: 22px;
	border-color: #FF0066;
}
.btn .main:hover {
	background: #FFF9A6;
	color: #FF0066;
}
.btn .sub {
	min-width: 200px;
	padding: 10px;
	color: #FF0066;
}
.btn .sub:hover {
	background: #FFF9A6;
}

.btn.official a{
color: #777;
border-color: #777;
}

.btn.official a:hover{
color: #aaa;
border-color: #aaa;
background:#fff;
}


/* layout
================================= */

/* common
--------------------------------- */
.mainLead {
	font-family: 'ヒラギノ角ゴ Pro W3', Arial, 'Noto Sans Japanese', sans-serif;
	font-size: 24px;
	font-weight: bold;
	margin: 0 0 10px;
}
.lead {
	font-size: 16px;
	margin: 0 0 20px;
}


/* dottList */
.dottList li {
	margin: 0 0 8px 13px;
	position: relative;
}
.dottList li:before {
	content:'●';
	font-size: 0.6em;
	color: #999;
	position: absolute;
	left: -13px;
	top: 0.2em;
}
/* attentnionList */
.attentionList li {
	font-size: 13px;
	line-height: 1.5;
	margin: 0 0 8px 13px;
	position: relative;
}
.attentionList li:before {
	content:"\f00c";
	font-family: FontAwesome;
	font-size: 0.8em;
	color: #f90;
	position: absolute;
	left: -13px;
	top: -0.1em;
}


/* ticket
--------------------------------- */
#ticket .txt{
	margin: 0 0 15px;
}

#ticket .btn{
text-align: left;
margin-bottom:0;
}

#ticket .btn a{
border: none;
margin-bottom:0;
padding: 0;
}

#ticket .ph{
width: 600px;
margin: 0 auto 30px;
}
#ticket .ph img{
width: 100%;
line-height:0;
}
#ticket .clearfix div{
	overflow: hidden;
}
#ticket .seat{
}
.app_sp{
	display:none;
}
.spMap{display:none;}

/* about
--------------------------------- */
#about .caution {
	color: #c00;
	font-size: 20px;
	text-align: center;
	margin: 0 0 25px;
}
#about .introArea .mainLead {
	font-size: 24px;
	font-weight: bold;
	margin: 0 0 10px;
}
#about .introArea .lead {
	font-size: 16px;
	margin: 0 0 10px;
}
#about .introArea .attentionList li { font-size: 11px; margin-bottom: 0; }
#about .attentionArea .txt {
	background: #FFF388;
	border-radius: 4px;
	padding: 10px;
}
/* device */
.deviceArea .ph {
	width: 220px;
	float: right;
	border: 1px solid #ccc;
	padding: 20px;
	margin: 0 0 0 15px;
}
.deviceArea .dottList li { font-size: 13px; }


/* step
--------------------------------- */
.stepList dt {
	float:left;
	background: #f5f5f5;
	color:#333;
	font-size:11px;
	line-height:1;
	border: 1px solid #ccc;
	border-radius: 3px;
	padding: 4px 8px;
	margin: 0 10px 0 0;
}
.stepList dd {
	border-bottom: 1px dotted #ccc;
	padding: 0 0 10px 70px;
	margin: 0 0 10px;
}
.stepList dd:last-child {
	border: none;
	padding-bottom: 0;
	margin: 0;
}
.appDl {
	margin: 10px 0 0;
}
.appDl li {
	float: left;
	font-size:11px;
	text-align: center;
	margin: 0 10px 0 0;
}
.appDlTxt {
	width: 400px;
	float: left;
	margin-right: 10px;
}
.app_sp{
	display:none;
}

#step .summaryList td {
	border: none;
	padding: 0;
}

#check input{margin-right:5px; vertical-align: -2px;}


/* identity
--------------------------------- */
#identity .dticket .areaTit {
	font-weight: bold;
	border-color: #000;
}
#identity .dticket .mainLead { padding-top: 20px; }
#identity .ph {
	width: 240px;
	float: left;
	text-align: center;
	margin: 0 0 10px;
}
#identity .idcard {
	clear: left;
	color: #333;
	border-radius: 6px;
	border: 1px solid #ccc;
	padding: 0 15px 15px;
}
#identity .idcard dt {
	font-weight: bold;
	font-size: 12px;
	margin: 15px 0 5px;
}
#identity .idcard li {
	display: inline-block;
	font-size: 11px;
	margin-bottom: 0;
}
#identity .dottList li:before { top: 0; }



/* dticket
--------------------------------- */
.pointArea .areaTit {
	font-size: 30px;
	text-align: center;
	line-height: 1.4em;
	margin: 40px 0 20px;
}
.pointArea .lead {
	font-size: 14px;
	margin: 0 0 30px;
}
.pointArea li {
	width: 233px;
	float: left;
	padding: 0 10px;
}
.pointArea .ph {
	text-align: center;
	margin: 0 0 10px;
}
.pointArea .tit {
	font-weight: bold;
	margin: 0 0 5px;
}
.pointArea .txt {
	font-size: 11px;
	line-height: 1.7;
	margin: 0 0 5px;
}
.pointArea .subTxt {
	line-height: 1.4em;
}


#dTicket .dticketAbout{
margin-bottom:30px;
}

#dTicket .dticketAbout .ph{
	width: 250px;
	float: left;
	margin-right:20px;
}
#dTicket .dticketAbout .ph img{
width: 100%;
}
#dTicket .dticketAbout .text{ overflow:hidden; }

#dTicket .dticketAbout .tit{
font-weight:bold;
margin-bottom:10px;
}
#dTicket .dticketAbout .txt{
margin-bottom:20px;
}

#dTicket .dticketAbout .text .btn{
text-align:left;
}

#dTicket .dticketAbout .btn.sp{ display:none;}



/* entry
--------------------------------- */
#entry {
	margin: 0 0 60px;
}
.summaryList {
	width: 100%;
	border-collapse: collapse;
	margin: 0 0 20px;
}

#step .summaryList{
margin:0;
}

.summaryList th {
	width: 140px;
	background: #f5f5f5;
	font-weight: bold;
	border: 1px solid #aaa;
	padding: 15px;
}

.summaryList .label th{padding: 10px; background: #ececec;}
.summaryList td { border: 1px solid #aaa;	padding: 15px; }
.summaryList td img { vertical-align: middle;}
#entry .summaryList { margin: 40px 0 20px;}
.entryArea{ margin: 0 auto 50px;}
#entry .entryArea .txt { text-align: center;}
#entry .entryArea .fin {
	color: #aaa;
	text-align: center;
	margin: 0 0 20px;
}
#entry .entryArea .btn .main {
	font-size: 20px;
	line-height: 1;
}
#entry .entryArea .tit {
text-align: center;
font-size: 17px;
font-weight: bold;
margin: 0px 0 15px;
}
#entry .entryArea .tit.dticket { font-size: 16px; font-weight: bold; }
#entry .entryArea .tit.paper { color: #777; font-size: 12px; }

.card img{
display:inline-block;
margin-right:10px;
width:40px;
}

.seatList{}

.seatList dt{
float:left;
width:11em;
font-weight:bold;
}
.seatList dd{
padding-left:10.5em;
padding-bottom:15px;
border-bottom: 1px dotted #aaa;
margin-bottom:15px;
}

.seatList dd:last-child{
border-bottom:none;
padding-bottom:0;
margin-bottom:0;
}

.seatList dd span{
display:inline-block;
margin-right:5px;
}

.seatList dd span.pc{
padding:0 5px;
}

.seatList i{
	font-size: 8px;
	vertical-align: 1px;
	margin-right: 2px;
}

.pcMap{width:550px;margin-bottom:20px;}
.pcMap img{width:100%;}

/* support */
.support {
	font-size: 12px;
	border-top: 1px solid #ccc;
	padding: 30px 0 0;
}
.support .txt {
	margin: 0 0 10px;
}

/* fix menu */
#buy{
	width: 100%;
	height: 65px;
	box-sizing: border-box;
	background:rgba(255,255,255,0.9);
	box-shadow: 0 0 1px rgba(0,0,0,0.2);
	position: fixed;
	bottom: -150px;
	padding: 15px 0px;
	-webkit-transition: all .3s ease;
	transition: all .3s ease;
}
#buy.fixed{
	bottom:0;
}
#buy .inner{
width: 640px;
margin: 0 auto;
}

#buy .inner .txt{
float:left;
padding-top: 10px;
font-weight: bold;
}
#buy .inner .btn{
float:right;
}

#buy .inner .btn .main{
	min-width: inherit;
	font-size: 18px;
	padding: 5px 40px;
}

#check{
	text-align: center;
	font-size:18px;
	margin-bottom: 20px;
}

.coming{
	width: 100%;
	background: #efeee5;
	text-align: center;
	border-radius: 4px;
	font-size: 14px;
	padding: 20px 10px;
	margin: 0 auto;
	box-sizing: border-box;

}


#attention .listTit { font-weight: bold; margin: 0 0 10px; font-size: 18px; }


.attention{
	background: #fff0f0;
	font-size: 14px;
	font-weight: bold;
	border: 1px solid #f1b4b4;
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	padding: 14px 10px;
	margin-top: 12px;
	text-align: center;
}
