@charset"euc-jp";

*, *:before, *:after {
	box-sizing: border-box;
}

html {
	font-size: 62.5%;
}
body{
	font-size: 1.3rem;
	background: linear-gradient(#161515, #343434);
}
body:before{
	display: none;
}

.inner{
	width: 750px;
	margin: 0 auto;
}
#divContents{
	margin-bottom: 50px;
}

/* -----------------------------------------------------------------------------
	レスポンシブ用
----------------------------------------------------------------------------- */
.sp { display: block; }
.pc { display: none; }

@media screen and (min-width:768px){
	/* 幅768px以上に適用されるCSS（タブレットサイズ以上）*/
	/* タブレットは概ねスマホと同じデザインなので、今回はあまり使用しません */
}

@media screen and (min-width:992px){
	/* 幅992px以上に適用されるCSS（PCサイズ以上） */
	.sp { display: none;  }
	.pc { display: block; }
}

@media (max-width: 991px) {
	/* 幅991px以下に適用されるCSS（SP・TB） */

	/* 20px = 5.291vw */
	.mb-sm-20 {
		margin-bottom: 5.291vw !important;
	}
}

/* -----------------------------------------------------------------------------
	レイアウトCSS上書き用
----------------------------------------------------------------------------- */
#wrapper,
#primary,
#primary .contents {
	height: auto;
}
#primary{
	margin: 35px auto 0;
}
#primary .contents,
#primary .contents dt,
#primary .contents dd{
	font-size: 1.4rem;
	line-height: 2;
}
#footer{
	margin-top: 30px;
}

#footer .f_contents{
	width: auto;
}

@media screen and (max-width:765px) {
	/* 幅765px以下に適用されるCSS（SP） */
	#primary,
	#wrapper{
		width: 100%;
	}

	#primary {
		margin: 1rem auto 0;
	}

	#primary .contents {
		width: 100%;
		padding: 0 2%;

	}

	img {
		max-width: 100%;
		height: auto;
	}

	#footer .f_contents #copyright {
		float: none;
		margin-left: 0;
		margin-bottom: 1rem;
		text-align: center;
	}

	#footer .f_contents #others {
		margin: 0 43% 0 0;
	}
}

/* -----------------------------------------------------------------------------
	見出し・装飾
----------------------------------------------------------------------------- */
h2.pr{
	margin: 5rem 0 2.4rem 0;
	padding: 1rem 1rem 1rem 1.5rem;
	font-size: 2.2rem;
	font-weight: bold;
	border-left: solid 8px #9B8E2F;
	letter-spacing: 1px;
	color: #9B8E2F;
	line-height: 1;
}
h2.pr2{
	color: #4b4b4b;
	font-weight: bold;
	background: #9b8e2f;
	display: inline-block;
	text-shadow: 0 0 black;
	padding: 0 2rem;
	line-height: 1.6;
	margin-bottom: 1rem;
}

h3{
	color: #646464;
}

.poster{
	margin-bottom: 20px;
}

.cf:after {
	content: '';
	display: block;
	clear: both;
}


span.kome{
	color: red;
	font-size: 20px;
	margin-right: 5px;
	position: relative;
}
.ended, .ended a{
	color: #898989 !important;
}

/* -----------------------------------------------------------------------------
	ボタン
----------------------------------------------------------------------------- */
.button-wrap{
	display: flex;
	justify-content: space-between;
	padding: 0 !important;
}
.button-wrap a, .button-wrap span{
	width: 48%;
}
.button-wrap a:hover {
    position: relative;
    top: 1px;
    left: 1px;
}

[class*="button-"], [class*="button-"]:link, [class*="button-"]:visited {
	color: #fff;
	text-decoration: none;
	text-shadow: 0 -1px rgba(0, 0, 0, 0.2);
	font-family: メイリオ, Meiryo, Osaka, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: 1.6rem;
	padding: 1.5rem;
	text-align: center;
	border-radius: 3px;
	text-shadow: 0px -1px 1px rgba(000,000,000,0.2), 0px 1px 0px rgba(255,255,255,0.3);
}
.button-buy{
	border: 1px solid #F8791D;
	background: #E2832C;
	background: -moz-linear-gradient(top, #FAB226 0%, #E79F34 25%, #E2832C);
	background: -webkit-gradient(linear, left top, left bottom, from(#FAB226), color-stop(0.25, #E79F34), to(#E2832C));
	background: linear-gradient(top, #FAB226 0%, #E79F34 25%, #E2832C);
}
.button-buy.soldout{
    border: 1px solid #dddddd;
    background: #cccccc;
    background: -moz-linear-gradient(top, #cccccc 0%, #c1c1c1 25%, #a0a0a0);
    background: -webkit-gradient(linear, left top, left bottom, from(#cccccc), color-stop(0.25, #c1c1c1), to(#a0a0a0));
    background: linear-gradient(top, #cccccc 0%, #c1c1c1 25%, #a0a0a0);
}

.button-buy.pink{
	border: 1px solid #c8895d;
	background: #F4B183;
	background: -moz-linear-gradient(top, #F4B183 0%, #db9a6e 25%, #c8895d);
	background: -webkit-gradient(linear, left top, left bottom, from(#F4B183), color-stop(0.25, #db9a6e), to(#c8895d));
	background: linear-gradient(top, #F4B183 0%, #db9a6e 25%, #c8895d);
}

@media screen and (max-width:765px){
	/* 幅765px以下に適用されるCSS（SP） */

	.button-wrap{
		flex-wrap: wrap;
	}
	.button-wrap a, .button-wrap span{
		width: 100%;
	}
}

/* -----------------------------------------------------------------------------
	parts
----------------------------------------------------------------------------- */

/* schedule */

dl#schedule, dl#relation-schedule{
	margin-bottom: 2rem;
}
#schedule dt {
	float: left;
	display:block;
}
#schedule dd, #relation-schedule dd {
	margin-left:20%;
}
[id*="schedule"] dd [class*="ticket-catch"]{
	margin: 0 10px 0 0;
}

@media screen and (max-width:765px){
	/* 幅765px以下に適用されるCSS（SP） */

	#schedule dt {
		float: none;
	}
	#schedule dd, #relation-schedule dd {
		margin-left: 0;
		margin-bottom: 2rem;
	}

	#primary .contents, #primary .contents dt, #primary .contents dd {
		line-height: 1.6;
	}
}


#relation-schedule dt{
	float: left;
	width: 220px;
	display:block;
	height: 100px;
}

#relation-schedule .button-wrap{
	margin-bottom: 10px;
}
#relation-schedule .button-buy{
	padding: 0;
}


/* sponsor */

.sponsor{
	margin: 20px 0;
	border: #BBA126 2px solid;
	padding: 5px;
	border-radius: 3px;
}
.sponsor span, .sponsor dl dt{
	font-weight: bold;
	color: #bba126;
}
.sponsor dl dt{
	float:left;
}
.sponsor dl dd{
	margin-left: 3rem;
}

/* ticket-catch */

h2 .ticket-catch{
	font-size: 16px;
}
span[class*="ticket-catch"]{
	margin-top: 10px;
	margin-bottom: 10px;
	color: red;
	line-height: 1.5;
	font-weight: bold;

	margin-left: 10px;
	padding: 3px 5px;
	background: #ffe3dd;
	text-shadow: 1px 1px 0 #fff;
	border-radius: 3px;
}
span.ticket-catch-sell {
	background: #ffec00;
}

.thanks_message{
	text-align: center;
	margin: 80px 0 80px;
}

/* program */

.program li{
	margin-bottom: 1rem;
}

/* .benefits（特典） */

.benefits{
	display: flex;
}
.benefits li{
	width: 45%;
}

@media screen and (min-width:768px) {
	/* TB.PC */

	.benefits .album-jacket{
		width: 140px;
		margin-left: 3rem;
	}
}

@media screen and (max-width:765px) {
	/* 幅765px以下に適用されるCSS（SP） */

	.benefits {
		justify-content: space-between;
	}

	.benefits li{
		width: 48%;
	}

}

/* チケット取扱 */

.ticket .catch{
	margin: 1rem 0;
	font-size: 2rem;
	font-weight: bold;
}

.ticket ul,
.ticket .wrap{
	display: flex;
}

.ticket .wrap{
	justify-content: space-between;
}

.ticket li{
	width: 45%;
}

.ticket .text{
	font-size: 1.8rem;
}

@media screen and (min-width:768px) {
	/* TB.PC */

	.ticket .qrcode{
		margin-left: 3rem;
	}

	.ticket .alert {
		text-align: right;
	}
}

@media screen and (max-width:765px) {
	/* 幅765px以下に適用されるCSS（SP） */

	.ticket ul, .ticket .wrap {
		display: block;
	}
	.ticket li {
		width: 100%;
	}
	.ticket .qrcode{
		margin-top: 2rem;
	}

}

/* youtube */
.youtube{
	margin: 5rem 0 2.4rem 0;
}

