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

body {
	background: #000;
	font-family: 游ゴシック体, 'Yu Gothic', YuGothic, 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
	padding-top: 8rem;
}
.gallery a:hover img {
	opacity: 0.6;
	filter: alpha(opacity=80);
	-moz-opacity: 0.8;
	-webkit-transition: 0.3s ease-in-out;
	-moz-transition: 0.3s ease-in-out;
	-o-transition: 0.3s ease-in-out;
	transition: 0.3s ease-in-out;
}
hr.hrline {
	margin-top: 2rem;
	margin-bottom: 2rem;
	border: 0;
	border-top: 1px solid rgba(255, 255, 255, 0.3);
}
hr.hrdot50 {
	margin-top: 1rem;
	margin-bottom: 1rem;
	border: 0;
	border-top: 1px dotted rgba(255, 255, 255, 0.3);
	width: 50%;
	display: inline-block;
}
.table-sm {
	font-size: 12px;
}
.table-sm th,
.table-sm td {
	vertical-align: middle;
	background: rgba(255,255,255,0.65)
}
/*タイトル・テキスト*/
.sawarabi {
	font-family: 'Sawarabi Mincho', sans-serif;
}
h1,
h2,
h3,
h4,
h5,
p,
small{
	color: #fff;
}
@media (max-width: 767px) {
	h1.cast_t {
		font-size: 24px;
	}
}
h2 {
	font-family: 'Lora', serif;
	font-weight: 400;
}
.text-red {
	color: #f00 !important;
}
.text-gray {
	color: #ddd !important;
}
.text-1em {
	margin-left: 1em;
	font-size: small;
}
.p01 {
	width: 360px;
	margin: auto;
	text-align: left;
}
.wrapper {
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0.88, #808080), color-stop(0.01, #000));
	background: -webkit-linear-gradient(top, #000 1%, #808080 88%);
	background: -moz-linear-gradient(top, #000 1%, #808080 88%);
	background: -o-linear-gradient(top, #000 1%, #808080 88%);
	background: -ms-linear-gradient(top, #000 1%, #808080 88%);
	background: linear-gradient(to bottom, #000 1%, #808080 88%);
}
.well {
	background-color: #333;
	border: 1px solid #e3e3e3;
}
/* header */
.navbar-brand {
	font-family: 'Lora', serif;
	font-weight: 400;
}
.navbar-nav .nav-link {
	font-family: 'Lora', serif;
	font-weight: 400;
	padding: 0.2rem 1.2rem 0 !important;
	color: #666;
	text-align: center;
	font-size: 15px;
	line-height: 1.2;
}
.navbar-nav .nav-link span {
	display: block;
	border-bottom: 1px solid #666;
}
.nav-single {
	padding-top: 0.7rem;
}
@media (max-width: 1199.98px) {
	.navbar-nav .nav-link {
		text-align: left;
		padding: 0.5rem 1rem !important;
	}
	.nav-item:last-child {
		padding: 0.5rem 0 2rem !important;
	}
	.navbar-nav .nav-link span {
		display: inline-block;
		border-bottom: none;
	}
	.navbar-nav .nav-link span::after {
		content: '/';
	}
	.nav-single {
		padding-top: 0;
	}
	.br_none {
		display: none;
	}
}
#home {
	background: #000;
}
dl,p,h3,h4,small,ul {
	color: #fff !important;
}
a {
	color: #fd0;
}
a:hover {
	color: #f60;
	text-decoration: none;
}
dt.dl3 {
	float: left;
	width: 3em;
} 
dd.dl3 {
	margin-left: 3em;
}
dt.dl5 {
	float: left;
	width: 5em;
} 
dd.dl5 {
	margin-left: 5em;
}
dt.dl6 {
	float: left;
	width: 6em;
} 
dd.dl6 {
	margin-left: 6em;
}
.news_t {
	font-family: 'Lora', serif;
	font-weight: 400;
	font-size: 24px;
	color: #fff;
}
.newsBox {
	height:300px;
	overflow:auto;
	border-bottom:1px solid #aaa;
	padding-bottom:10px;
	margin-bottom:10px;
}

dl.newsList {
	border-bottom:1px dotted #aaa;
	padding-bottom:0.5rem;
	margin-bottom:1rem;
	color: #fff;
}
dl.newsList dt {
	float:left;
	width:7em;
}
dl.newsList dd {
	margin-left:7em;
}
dl.newsList dd a {
	color: #fff;
}
dl.newsList dd a:hover {
	color: #f60;
}
dl.newsList dd hr {
	margin-top: 0.5rem;
	margin-bottom: 0.5rem;
	border-top: 1px dotted rgba(255,255,255,0.3);
}
@media (max-width: 575.98px) {
	dt.dl3,
	dt.dl5,
	dt.dl6,
	dl.newsList dt {
		float: none;
		width: 100%;
	}
	dd.dl3,
	dd.dl5,
	dd.dl6,
	dl.newsList dd {
		margin-left: 0;
	}
}
.twitter-timeline {
	width: 100%;
	height:300px !important;
	margin: auto;
}
@media (max-width: 991.98px) {
	.twitter-timeline {
		height:240px !important;
	}
}
/* イントロダクション*/
#intro {
	background-image: url(images/bg01.jpg);
	background-repeat: no-repeat;
	background-size: cover;
	background-attachment: fixed;
	min-height: 720px;
	padding: 3rem 0;
}
/* キャスト */
#cast {
	background: #000;
	min-height: 700px;
	padding: 20px;
}
.cast_rotate {
	display: block;
	transition: all 1s ease;
	-webkit-transition: all 1s ease;
}
.cast_rotate:hover {
	transform: rotate(360deg);
	-webkit-transform: rotate(360deg);
}
.cast_block {
	position: relative;
	margin-left: -50px;
	height: 505px;
}
.cast01 {
	position: absolute;
	top: 0;
	left: 0;
}
.cast02 {
	position: absolute;
	top: 0;
	left: 285px;
}
.cast03 {
	position: absolute;
	top: 0;
	left: 570px;
}
.cast04 {
	position: absolute;
	top: 0;
	left: 855px;
}
.cast3_01 {
	position: absolute;
	top: 0;
	left: 142px;
}
.cast3_02 {
	position: absolute;
	top: 0;
	left: 427px;
}
.cast3_03 {
	position: absolute;
	top: 0;
	left: 712px;
}
.image-clip01 {
	-webkit-clip-path: polygon(20% 0%, 80% 0%, 100% 100%, 0% 100%);
	clip-path: polygon(20% 0%, 80% 0%, 100% 100%, 0% 100%);
	max-width: 350px;
}
.image-clip02 {
	-webkit-clip-path: polygon(0 0, 100% 0, 80% 100%, 20% 100%);
	clip-path: polygon(0 0, 100% 0, 80% 100%, 20% 100%);
	max-width: 350px;
}
figure {
	position: relative;
	overflow: hidden;
	width:100%;
	height:100%;
	min-height: 42vh;
}
figcaption01 {
	position: absolute;
	bottom: -100%;
	left: 0;
	z-index: 2;
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,0.6);
	-webkit-transition: .3s;
	transition: .3s;
	opacity: 1;
	padding: 2rem;
	-webkit-clip-path: polygon(20% 0%, 80% 0%, 100% 100%, 0% 100%);
	clip-path: polygon(20% 0%, 80% 0%, 100% 100%, 0% 100%);
}
figcaption02 {
	position: absolute;
	bottom: -100%;
	left: 0;
	z-index: 2;
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,0.6);
	-webkit-transition: .3s;
	transition: .3s;
	opacity: 1;
	padding: 2rem;
	-webkit-clip-path: polygon(0 0, 100% 0, 80% 100%, 20% 100%);
	clip-path: polygon(0 0, 100% 0, 80% 100%, 20% 100%);
}
figure:hover figcaption01,
figure:hover figcaption02 {
	bottom: 0;
	left: 0;
}
figcaption01 h3,
figcaption02 h3 {
	margin-top: 12rem;
	text-align: center;
	font-family: 'Sawarabi Mincho', sans-serif;
	font-weight: 300;
	font-size: 17px;
}
figcaption01 a,
figcaption02 a {
	color:#fff;
}
figcaption01 a:hover,
figcaption02 a:hover {
	color:#fcce00;
	text-decoration: none;
}
@media (min-width: 992px) and (max-width: 1199.98px) {
	.cast_block {
		margin-left:5rem !important;
		height: 1100px;
	}
}
@media (min-width: 768px) and (max-width: 1199.98px) {
	.cast_block {
		margin-left:50px;
		height: 1010px;
	}
	.cast03 {
		top: 505px;
		left: 0;
	}
	.cast04 {
		top: 505px;
		left: 285px;
	}
	.cast3_01 {
		top: 0;
		left: 0;
	}
	.cast3_02 {
		top: 0;
		left: 285px;
	}
	.cast3_03 {
		top: 505px;
		left: 142px;
	}
}
@media (max-width: 767.98px) {
	.cast_block {
		position: static;
		margin: auto;
		height: auto;
	}
	.cast01,
	.cast02,
	.cast03,
	.cast04,
	.cast3_01,
	.cast3_02, 
	.cast3_03 {
		position: static;
		text-align: center;
	}
	.image-clip01,
	.image-clip02 {
		max-width: 100%;
	}
}
@media (max-width: 575.98px) {
	figcaption01 h3,
	figcaption02 h3 {
		font-size: 14px;
	}
}
.ensemble {
	font-size: 18px;
	font-family: 'Sawarabi Mincho', sans-serif;
}
dl.staff {
	text-align: left;
	margin: 0 auto 2rem;
	width: 412px;
	color: #fff;
	font-size: 18px;
	font-family: 'Sawarabi Mincho', sans-serif;
}
dl.staff dt {
	text-align: right;
	float: left;
	width: 11em;
	font-weight: normal;
}
dl.staff dd {
	margin-left: 12em;
}
@media (max-width: 575.98px) {
	dl.staff {
		text-align: center;
		width: 100%;
	}
	dl.staff dt {
		text-align: center;
		float: none;
		width: 100%;
	}
	dl.staff dd {
		margin-left: 0;
	}
}
/* キャラクター相関図 */
#chart {
	background-image: url(images/bg03.jpg);
	background-repeat: no-repeat;
	background-size: cover;
	background-attachment: fixed;
	min-height: 700px;
	padding: 20px 0;
}
#chart02 {
	background: #e2e2e2;
	padding: 20px 0;
}
.chart_t small {
	font-size: 22px;
	font-family: 游ゴシック体, 'Yu Gothic', YuGothic, 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
}
@media (max-width: 767.98px) {
	.chart_t {
		font-size: 24px;
	}
	.chart_t small {
		font-size: 16px;
	}
}
/* チケット */
#ticket {
	background-image: url(images/bg04.jpg);
	background-repeat: no-repeat;
	background-size: cover;
	background-attachment: fixed;
	min-height: 700px;
	padding: 20px 0;
}
.stage_bk {
	background-color:rgba(255,255,255,0.4);
	filter:alpha(opacity=40);
	-moz-opacity:0.40;
	-khtml-opacity: 0.40;
}
.stage_waku {
	border-radius: 2px;
	border: 1px dotted #aaa;
	padding: 20px 15px;
}
table td.empty { 
	background-image: linear-gradient(11deg, transparent 49%, #ccc 49%, #ccc 51%, transparent 51%, transparent); /* 右上がりの斜線 */
}
table tr.empty {
	border-top: hidden;
}
.btn-info {
	background: #fff;
	border: 1px solid #ddd;
	color: #000;
}
.btn-info:hover {
	background: #ccc;
	border: 1px solid #ddd;
	color: #000;
}
.btn-danger {
	background: #000;
	border: 1px solid #202020;
}
.btn-danger:hover {
	background: #404040;
	border: 1px solid #333;
}
/* グッズ */
#goods {
	background-image: url(images/bg05.jpg);
	background-repeat: no-repeat;
	background-size: cover;
	background-attachment: fixed;
	min-height: 700px;
	padding: 20px;
}
.table_goods {
	font-size: 12px;
}
.table_goods th {
	text-align: center !important;
	vertical-align: middle !important;
}
.table_goods td {
	background: #fff;
	text-align: center;
	vertical-align: middle !important;
}
/* Q&A */
#qa {
	background-image: url(images/bg01.jpg);
	background-repeat: no-repeat;
	background-size: cover;
	background-attachment: fixed;
	min-height: 700px;
	padding: 20px 0;
}
/*dl.qa {
	border-bottom: 1px dotted #aaa;
	padding:0 15px 20px;
	margin-bottom: 20px;
}
dl.qa dt.q1 {
	float:left;
	width:2.3em;
	font-size: 18px;
	font-weight: bold;
}
dl.qa dd.q2 {
	margin-left:2.3em;
	font-size: 18px;
}
dl.qa dt.a1 {
	float:left;
	width:3em;
	text-align: center;
}
dl.qa dd {
	margin-left:3em;
}*/
.faq_acc > dt {
	border-bottom: solid 10px #333;
	background: #000;
	color: #fff;
	cursor: pointer;
	padding: 0.5rem 1rem 1rem;
	font-weight: 400;
	font-size: 16px;
	letter-spacing: 3px;
	position: relative;
}
.faq_acc > dt::after {
	content: url(images/faq_icon.png);
	position: absolute;
	right: 2rem;
	bottom: -0.8rem;
}
.faq_acc > dt strong {
	font-size: 30px;
}
.faq_acc > dd {
	background: #333;
	margin: 0px;
	padding: 0 1rem 1rem;
}
.faq_acc > dd strong {
	color: #fff;
	font-size: 30px;
}
.faq_acc > dd span {
	font-family: 'Noto Serif JP', sans-serif;
	font-weight: 300;
	color: #fff;
	font-size: 13px;
}
.faq_acc > dd span a {
	color: #f00;
}
.faq_acc > dd span a:hover {
	color: #f60;
}
@media (max-width: 575.98px) {
	.faq_acc > dt {
		padding: 0.5rem 1rem 1.5rem;
	}
}
/* スペシャル */
#dvd {
	background-image: url(images/bg03.jpg);
	background-repeat: no-repeat;
	background-size: cover;
	background-attachment: fixed;
	min-height: 700px;
	padding: 20px 0;
}
dl.dvd {
	text-align: left;
	margin: 0 auto 2rem;
	width: 620px;
	color: #fff;
}
dl.dvd dt {
	text-align: right;
	float: left;
	width: 11em;
	font-weight: normal;
}
dl.dvd dd {
	margin-left: 12em;
}
@media (max-width: 767.98px) {
	dl.dvd {
		text-align: center;
		width: 100%;
	}
	dl.dvd dt {
		text-align: center;
		float: none;
		width: 100%;
	}
	dl.dvd dd {
		margin-left: 0;
	}
}
.bg-transparent {
	border-color: rgba(255,255,255,0.3) !important;
}
/* 英語インフォメーション */
#english {
	background-image: url(images/bg04.jpg);
	background-repeat: no-repeat;
	background-size: cover;
	background-attachment: fixed;
	min-height: 700px;
	padding: 20px;
}
/* footer */
footer {
	background: #222;
	/*margin-top: 20px;*/
	padding: 15px;
}
footer p {
	color: #fff;
	font-size: 12px;
}
/* トップへ戻るボタン */
#page-top {
	font-size: 0;
	position: fixed;
	bottom: 16px;
	right: 16px;
	opacity: 0;
	text-align: right;
	z-index: 10;
	cursor: pointer;
}
#page-top.fade-in {
	color: #ddd;
	font-size: 60px;
	opacity: 1;
	transition: opacity 1s;
}
#page-top.fade-in:hover {
	color: #f00;
}
@media (max-width: 575.98px) {
	#page-top {
		bottom: 5rem;
	}
	#page-top.fade-in {
		font-size: 32px;
	}
}