@charset "utf-8";
/* 中ページスタイル */
.pagetitle {
	background-color: #787496;
	color: #FFF;
	text-align: center;
	padding-bottom: 30px;
	text-shadow: 1px 1px 3px #666;
	letter-spacing: 0.3em;
}
.red-txt {
	color: #FF0004;
}
/*-------------------------------------------*/
/* 概　要                      */
/*-------------------------------------------*/
.about h4{ 
	padding: 10px 30px; 
	border: double 4px #E4DBC5; 
	margin: 60px 40px 0px 40px;}
.m40 {padding: 40px;}

/*-------------------------------------------*/
/* プログラム                      */
/*-------------------------------------------*/
.program{ margin-top: 30px; margin-bottom: 40px;}
.program-block {
	border: 1px solid #ccc;
	padding: 20px 20px 0px 20px;
	margin: 20px 0px;
	background-color: #FFF;
}
.program-block h6 {
	color: #836EB4;
	font-weight: 900;
}
.program-block h5 {
	background-color: #EBE2D7;
	padding: 10px;
	border-radius: 6px;
}
.program-block .mb-photo {
	height: 250px;
	width: 250px;
}
.bt-area {
	padding: 10px;
	text-align: center;
	margin-left: -20px;
	margin-right: -20px;
	background-color: #DEDFE4;
}
.hall-div {
	border-bottom: 1px solid #C3C3C3;
	margin-bottom: 20px;
}
.mb-entry hr {
	border-top: none;
	border-bottom: 2px dotted #CCC;
	margin-bottom: 0px;
}
/*-------------------------------------------*/
/* 会場ページスタイル                        */
/*-------------------------------------------*/
.accmap {
	height: 276px;
	margin-bottom: 10px;
	border: 1px solid #CCC;
}
.access { border-bottom: 1px dotted #999; padding-bottom: 20px; margin-bottom: 20px;}
.accinfo{ background-color: #DEDFE4; padding-top: 30px; padding-bottom: 50px;}
.accinfo .container{ background-color: #fff; padding: 30px; border-radius: 12px;}
.accinfo h6{ color: #836EB4; font-weight: 900;}

/*-------------------------------------------*/
/* アーティストスタイル                        */
/*-------------------------------------------*/
.sub-artist { margin-bottom: 50px;}
.sub-artist  h3{ margin-left: 10px;}
.sub-artist div div h3 { margin-left: -10px;}
#artists .country {
	display: block;
	margin-bottom: 5px;
}
/*#artists .country:before {
	content: "(";
}#artists .country:after {
	content: ")";
}*/
/*-------------------------------------------*/
/* 関連イベント                          */
/*-------------------------------------------*/
.event-list {
	width: 100%;
	display: block;
}
.event-list dt {
	margin-bottom: 5px;
	display: block;
	padding-top: 10px;
}
.event-list dd {
	border-bottom-width: 1px;
	border-bottom-style: dotted;
	border-bottom-color: #999;
	margin-bottom: 10px;
	padding-bottom: 10px;
}
.h3-himeji {
	background-image: url(../image/icon-himeji.gif);
	background-repeat: no-repeat;
	background-position: left center;
	padding-left: 40px;
}
.h3-akou {
	background-image: url(../image/icon-akou.gif);
	background-repeat: no-repeat;
	background-position: left center;
	padding-left: 40px;
}
.event h5{
	padding: 20px;
	text-align: center;
	background-color:#E6D7E7;
	margin-top: -10px;
	margin-bottom: -10px;
	font-weight: 900;
	letter-spacing: 0.1em;
}
.event .mb-date{
	padding-top: 20px;
	padding-bottom: 10px;
	text-align: center;
	background-color:#eeeeee;
	margin-bottom: 20px;
	font-size: 120%;
}

/*-------------------------------------------*/
/* チケットスタイル                          */
/*-------------------------------------------*/
.ticket { background-color: #EBE2D7; padding-top: 30px; padding-bottom: 50px;}
.ticket h3{ font-size:20px; color: #472894;}
.ticket h4{
	background-color: #5D5F70;
	border-radius: 6px;
	color: #fff;
}
.tk-box{ background-color: #fff; padding: 20px 40px;}
.tk-table td:nth-child(1) { width: 300px;}
.price {
	background-color: #DEDFE4;
	padding: 10px;
}
@media (min-width: 768px) {
	.tk-box .hagaki th {
		width: 100px;
	}
}
/*-------------------------------------------*/
/* お問い合せスタイル                        */
/*-------------------------------------------*/
.need {
	font-size: 10px;
	color: #F00;
	margin-left: 1em;
}
form {
	margin-bottom: 40px;
}
#m-button {
	padding-top: 10px;
	padding-right: 20px;
	padding-bottom: 10px;
	padding-left: 20px;
}
#mail-form {
	margin-bottom: 20px;
	padding: 0px;
}
#mail-form li div select {
	display: block;
	padding: 10px;
	margin-bottom: 10px;
}
#mail-form li div input {
	padding: 5px;
}
#mail-form li div textarea {
	padding: 5px;
}
@media (min-width: 768px) {
	#mail-form li {
		display: table;
		border-bottom-width: 1px;
		border-bottom-style: solid;
		border-bottom-color: #CCCCCC;
		width: 100%;
		margin-bottom: 10px;
	}
	#mail-form li label {
		display: table-cell;
		padding: 10px;
		vertical-align: top;
		width: 200px;
	}
	#mail-form li div {
		display: table-cell;
		padding: 10px;
	}
	.txt20em {
		width: 30em;
	}
	.txt30em {
		width: 40em;
	}
	.txt5em {
		width: 4em;
		margin-right: 5px;
	}
}
@media (max-width: 767px) {
	#mail-form li {
		list-style: none;
	}
	.txt20em,
	.txt30em,
	.txt5em {
		width: 100%;
	}
}

/*-------------------------------*/
/*MB専用スタイル                 */
/*-------------------------------*/
.mb-center,
.mb-left,
.mb-right {
	margin-top: 40px;
	margin-bottom: 40px;
}
@media (min-width: 768px) {
	.mb-right .mb-photo {
		float: right;
		display: block;
		margin-bottom: 40px;
		margin-left: 20px;
		width: 50%;
	}
	.mb-left .mb-photo {
		float: left;
		display: block;
		margin-bottom: 40px;
		margin-right: 20px;
		width: 50%;
	}
	.mb-center .mb-photo {
		clear: both;
		margin-bottom: 20px;
		display: block;
		margin-right: auto;
		margin-left: auto;
	}
}
/*------------------------------------*/
.table-list-ul {
	padding-left: 0px !important;
	border-bottom: 1px solid #ddd;
	margin-bottom:20px;
}
.table-list-ul li {
	display: table;
	width: 100%;
	margin-bottom: 0px;
	border-top: 1px solid #ccc;
}
.table-list-ul li div:first-child {
	width: 20%;
	padding-top: 10px;
	padding-right: 10px;
	padding-bottom: 10px;
	padding-left: 10px;
	display: table-cell;
	border-left: 1px solid #ccc;
	border-right: 1px solid #ccc;
	background-color: #FFE6CA;
}
.table-list-ul li div:not(:first-child) {
	width: 80%;
	padding-top: 10px;
	padding-right: 10px;
	padding-bottom: 10px;
	padding-left: 10px;
	display: table-cell;
	border-left: 1px solid #ccc;
	border-right: 1px solid #ccc;
}
.table-list-ul li div:last-child {
	border-left-style: none;
}
#news-list {}
#news-list li {
	border-bottom-width: 1px;
	border-bottom-style: dashed;
	border-bottom-color: #CCC;
	margin-bottom: 10px;
	padding-bottom: 10px;
}
#news-list li span {
	margin-left: 10px;
	padding: 5px;
	font-size: 12px;
}
#news-list li a {
	margin-top: 5px;
	display: block;
}
#news-list .himeji span {background-color: #406FB1; }
#news-list .akou span {background-color: #9D4646;}
.no-strong {font-weight: normal !important;}

/*ポップアップ　サイトのバックナンバー*/
#backnumber-site {
	margin: auto;
	padding: 30% 16px 0 13px !important;/*高さはpaddingで制御*/
}
#backnumber-site2 {
	margin: auto;
	padding: 50% 16px 0 13px !important;/*高さはpaddingで制御*/
}



/*-----------------------
スマホメニュー    
------------------------*/

.pc-active #common-nav-switch{
	/*PC時メニューボタン隠す*/
	display: none;
}
#common-nav-switch{
  position: absolute;
  top: 0;
  left: 0;
  width: 50px;
  height: 50px;
  z-index: 99999;
  cursor: pointer;
  background: #DEDFE4;
	border-radius: 4px;
}
#common-nav-switch:hover {
	background: #9B8DBC;
}
#common-nav-switch-in{
  position: absolute;
  top: 50%;
  left: 50%;
  width: 30px;
  height: 17px;
  margin: -8px 0 0 -15px;
}

#common-nav-switch-in .bar{
  position: absolute;
  left: 0;
  width: 30px;
  height: 1px;
  background: #000000;
  transition: all 0.4s ease 0s;
	-webkit-transition: all 0.4s ease 0s;
	-moz-transition: all 0.4s ease 0s;
	-o-transition: all 0.4s ease 0s;
	-ms-transition: all 0.4s ease 0s;
}

.nav-active #common-nav-switch .bar{
  background: #FFF !important;
  -webkit-transform-origin: 0% 0%;
  -moz-transform-origin: 0% 0%;
  -o-transform-origin: 0% 0%;
  -ms-transform-origin: 0% 0%;
  transform-origin: 0% 0%; 
}

.nav-active #common-nav-switch{
	background: rgba(0,0,0,1);
}

#common-nav-switch-in .bar.bar01{
  top: 0;
}

#common-nav-switch-in .bar.bar02{
  top: 8px;
}

#common-nav-switch-in .bar.bar03{
  top: 16px;
}
/* cloes ボタン化　*/
.nav-active #common-nav-switch-in .bar.bar01{
  -webkit-transform: rotate(45deg) translate(0px, -7px);
  -moz-transform: rotate(45deg) translate(0px, -7px);
  -o-transform: rotate(45deg) translate(0px, -7px);
  -ms-transform: rotate(45deg) translate(0px, -7px);
  transform: rotate(45deg) translate(0px, -7px);
}

.nav-active #common-nav-switch-in .bar.bar02{
  display: none; 
}

.nav-active #common-nav-switch-in .bar.bar03{
  -webkit-transform: rotate(-45deg) translate(3px, 3px);
  -moz-transform: rotate(-45deg) translate(3px, 3px);
  -o-transform: rotate(-45deg) translate(3px, 3px);
  -ms-transform: rotate(-45deg) translate(3px, 3px);
  transform: rotate(-45deg) translate(3px, 3px);
}


/*---------------------------------------------*/
/* #common_nav                                 */
/*---------------------------------------------*/
#common-nav {
	display: none;
	position: fixed;
	z-index: 19001;
	top: 0;
	left: 0;
	width: 320px;
	/*width:100%で全面に*/
	height: 100%;
	overflow:  hidden;
	background: #DEDFE4;
	padding-top: 70px;
}
#common-nav-content {
    position: relative;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
    overflow-x: hidden;
    overflow-y: scroll;
}
#common-nav-in {
    position: relative;
    width: 100%;
	max-width: 640px;
	margin-left: auto;
	margin-right: auto;
}