@charset "UTF-8";

/* *************************************

top.css

***************************************/

/* all
----------------------------------------------------------*/
h2 {
	display:inline-block;
	text-align:center;
	font-weight:100;
	font-size:240%;
	margin-top:40px;
}


h2 span{
	border-top:3px solid #222;
	display:block;
	text-align:center;
	font-weight:400;
	font-size:30%;
	letter-spacing:2px;
	margin-top:10px;
	padding-top:10px;
}

.btn {
	text-align:center;
	padding:0 0 30px ;
}
.btn a{
	display:inline-block;
	background:#222;
	color:#fff;
	text-decoration:none;
	padding:10px 20px;
	text-align:center;
}


/* mainvisual
----------------------------------------------------------*/
#mainvisual {
	border-top:1px solid #000;
	margin-top:88px;
	position:relative;
	height:580px;
	min-width:1100px;
	background:#fff;
}

#mainvisual:before {
	position:absolute;
	content:" ";
	width:100%;
	height:100%;
	min-height:100%;
	background:url(../../img/mainvisual_bg.png) repeat-x left bottom;
	background-size:100%;
	z-index:10;
	left:0;
	bottom:0;
}

.slider {
	width:100%;
	height:100%;
	min-height:100%;
    margin: 0 auto;
	position:absolute;
	left:0;
	top:0;
	overflow:hidden;
	background-position:center center;
	background-size:cover;

}

.slider .inner {
	position:relative;
	width:100%;
	height:100%;
	min-height:100%;
	max-width:1100px;
	margin:0 auto;
	z-index:10;
}

.navi_class {
	position:absolute;
	width:100%;
	text-align:center;
	bottom:25px;
	z-index:20;
}

.navi_class li{
	display:inline-block;
	border:2px solid #fff;
	height:14px;
	width:14px;
	border-radius:50%;
	margin:0 5px;
	cursor:pointer;
}

.navi_class li.at{
	background:#fff;
	cursor:default;
}

.slider .textType {
	background:rgba(0,0,0,0.7);
	position:absolute;
	left:0;
	bottom:0;
	width:100%;
	height:30%;
	min-height:30%;
}

.slider .textType a{
	text-decoration:none;
}

.slider .textType dl{
	padding:20px 0 100px;
	color:#fff;

}

.slider .textType dl dt{
	font-size:200%;
	font-weight:100;

}

.slider .textType dl dd{
	font-size:110%;
	font-weight:100;

	margin-top:5px;
}




.slider .inner p{
	position:absolute;
	left:0;
	right:0;
	bottom:0;
	top:0;
	margin:auto;
	width:680px;
	height:160px;
}


.bgImg {
	position:absolute;
	z-index:0;
	width:100%;
	top:0;
	left:0;
}

.bgImg img {
	position:absolute;
	z-index:0;
	width:100%;
}

#btn-before {
	position:absolute;
	margin:auto;
	left:10px;
	top:0;
	bottom:0;
	width:50px;
	height:50px;
	color:#fff;
	font-size:50px;
	text-align:center;
	line-height:50px;
	cursor:pointer;
	opacity:0;
	z-index:90;
}

#btn-next {
	position:absolute;
	margin:auto;
	right:30px;
	top:0;
	bottom:0;
	width:50px;
	height:50px;
	color:#fff;
	font-size:50px;
	text-align:center;
	line-height:50px;
	cursor:pointer;
	opacity:0;
	z-index:90;
}

/*　animation */
.slider .textType ,
.slider .textType dl,
.slider .textType dl dt,
.slider .textType dl dd{
	-o-transition: all 0.15s ease-in;
	-webkit-transition: all 0.15s ease-in;
	-moz-transition: all 0.15s ease-in;
	transition: all 0.15s ease-in;
}


.slider a:hover .textType {
	background:rgba(255,255,255,0.6);

}


.slider a:hover .textType dl{
	color:#000;

}

/* moive
-----------------------------------------------------*/
#moive {
	background: #fff;
	border-top: 1px solid #ddd;
	text-align: center;
	padding-bottom: 60px;
}



#moive h2{
	
	border-bottom:3px solid #222;
	margin-bottom:10px;
	padding-bottom:10px;
}

#moive h3 br{
	display: none;
}


#moive h3{
	display:block;
	text-align:center;
	font-weight:400;
	font-size:20px;
	letter-spacing:2px;
	margin-top:10px;
}

#moive .inner{
	overflow:hidden;
	max-width:720px;
	margin:20px auto 0;
	text-align:left;
}

#moive .moiveBox{
  position:relative;
	margin: 30px auto 20px;
	width:100%;
	padding-top:56.25%;
}

#moive .moiveBox iframe{
  position:absolute;
  top:0;
  right:0;
  width:100%;
  height:100%;
}



/* performance
-----------------------------------------------------*/
#performance {
	width:1030px;
	margin:0 auto;
	text-align:center;
}

#performance .inner{
	overflow:hidden;
	max-width:1100px;
	margin:20px auto 0;
	text-align:left;
}

#performance .inner dl{
	width:24%;
	float:left;
	margin:0.5%;
}

#performance .inner dl a{
	color:#222;
	text-decoration:none;
	display:block;
	padding:8px 8px 16px;
	border-radius:6px;
}

#performance .inner dl dd{
	overflow:hidden;
	border:1px solid #ddd;
	background:#fff;
	padding:10px;
	display: block;
}

#performance .inner dl dd:before{
	display: none;
}

#performance .inner dl dd p.photo img{
	width:100%;
}

#performance .inner dl dd p.data {
	float:left;
	font-size:100%;
	color:#913D88;
	line-height:22px;
}

#performance .inner dl dd p.label {
	margin-top:2px;
	float:right;
	font-size:75%;
	color:#fff;
	background:#444;
	padding:0 10px 2px;
	line-height:18px;

}

#performance .inner dl dd p.label.region {
	background:#B28500;
}

#performance .inner dl dd p.label.main {
	background:#913D88;
}

#performance .inner dl dt{
	font-size:80%;
	margin-top:5px;
	padding:0 4px;
}

/*　animation */
#performance .inner dl a,
#performance .inner dl dt,
#performance .inner dl dd,
#performance .inner dl dd p.data{
	-o-transition: all 0.15s ease-in;
	-webkit-transition: all 0.15s ease-in;
	-moz-transition: all 0.15s ease-in;
	transition: all 0.15s ease-in;
}

#performance .inner dl a:hover{
	background:#913D88;
	border-radius:6px;
}

#performance .inner dl a:hover dd{

	border:1px solid #444;
}

#performance .inner dl a:hover dt{
	color:#fff;
}




/* lineup */
#performance .lineup {

	text-align:left;
	border:1px solid #913D88;
	width:97%;
	margin:30px auto 0;
	padding:0;
}


#performance .lineup h3 {
	display:inline-block;
	background:#913D88;
	color:#fff;
	font-size:100%;
	vertical-align:top;
	padding:8px 16px;
}

#performance .lineup ul {
	overflow:hidden;
	padding:20px;
}

#performance .lineup li {
	width:21%;
	float:left;
	margin:2%;
	background:#913D88;
}

#performance .lineup li img{
	width:100%;
	display:block;
	line-height:0;
}

#performance .lineup li a {
	display:block;
	text-decoration:none;
	background:#913D88;
	color:#fff;
	border:2px solid #F7F5F2;
}

#performance .lineup li span {
	position:relative;
	display:block;
	color:#fff;
	font-size:90%;
	padding:8px;
	vertical-align:top;
}

#performance .lineup li a span:before{
	position:absolute;
	content: '\e802';
	width:11px;
	height:11px;
	right:8px;
	margin:auto;
	line-height:11px;
	top:0;
	bottom:0;
}

/*　animation */
#performance .lineup li a img{
	-o-transition: all 0.15s ease-in;
	-webkit-transition: all 0.15s ease-in;
	-moz-transition: all 0.15s ease-in;
	transition: all 0.15s ease-in;
}

#performance .lineup li a:hover {
	background:#fff;
	color:#913D88;
	border:2px solid #913D88;
}


#performance .lineup li a:hover span {

	color:#913D88;

}

#performance .lineup li a:hover img {
	opacity:0.6;
}




/* calendar
----------------------------------------------------------*/
#calendar {
	background:#eee;
	text-align:center;
	margin-top:50px;
}


#calendar .note {

	font-size:70%;
	width:1030px;
	margin:10px auto 0;
}
#calendar .inner {
	display:table;
	overflow:hidden;
	width:1030px;
	margin:40px auto 0;
	padding-bottom:60px;
	text-align:left;
}

#calendar .inner dl{
	display:table-cell;
	width:30%;
	padding:0 1.5%;
	border-right:1px dotted #bbb;
	vertical-align:top;
}

#calendar .inner dl:last-child{
	border-right:none;
}

#calendar .inner dl dt{
	border-left:5px solid #913D88;
	line-height:1;
	padding-left:8px;
	vertical-align:text-bottom;
	font-size:130%;

}

#calendar .inner dl dt span{
	font-size:70%;
}

#calendar .inner dl dd{
	font-size:95%;
	margin-top:20px;
}

#calendar .inner dl dd ul li{
	margin-top:15px;
}

#calendar .inner dl dd ul li {
	display:block;
	color:#222;
	text-decoration:none;
	position:relative;
	padding-left:3.5em;
}

#calendar .inner dl dd ul li span{
	position:absolute;
	left:0;
	text-decoration:none;
	color:#222;
}

#calendar .inner dl dd ul li a {
	color:#913D88;
}

/* news
----------------------------------------------------------*/
#news {
	background:#fff;
	padding:0 15px;
}

#news .inner {
	overflow:hidden;
	padding-bottom:50px;
		width:1000px;
	margin:0 auto;
}

#news h2 {
	float:left;
}

#news h2 span.title{
	display:inline-block;
	font-size:100%;
	border-bottom:3px solid #222;
	padding:0 0 8px;
	font-weight:100;
}

#news h2 span{
	display:inline-block;
	border-top:none;
	padding-left:20px;
}

#news .textNews {
	clear:left;
	float:left;
	width:45%;
	margin-top:20px;
}

#news .textNews dl{
	border-bottom:1px solid #ddd;
}

#news .textNews dl a{
	display:block;
	text-decoration:none;
	color:#333;
}

#news .textNews dl a:hover{

	text-decoration:underline;

}



#news .textNews dl dt{
	margin-top:20px;
	font-size:85%;
	line-height:18px;
}

#news .textNews dl dt span.label{
	text-align:center;
	min-width:80px;
	display:inline-block;
	padding:1px 10px;
	background:#999;
	color:#fff;
	font-size:90%;
	vertical-align:top;
	margin-right:15px;
}

#news .textNews dl dt span.label.news {
	background:#913D88;
}

#news .textNews dl dt span.label.report {
	background:#B20000;
}

#news .textNews dl dd{
	padding-top: 10px;
	padding-bottom: 20px;
	font-size:85%;
	line-height:18px;
}

#news .textNews dl dd:before {
	display: none;
}


#news .textNews dl dd a{
	display:block;
	position:relative;
	padding-left:20px;
	line-height:1.4;
}

#news .textNews dl dd a:before{
	position:absolute;
	content: '\e805';
	font-size:80%;
	color:#666;
	left:0;
	line-height:2;
}

#news .textNews .more {
	text-align:right;
	font-size:80%;
	margin-top:10px;
}

#news .textNews .more a{
	text-decoration:none;
	color:#333;
	display:inline-block;
	background:#ffff;
	padding:0 8px 0 12px;
	line-height:26px;
	font-size:13px;
	border-radius:30px;
}

#news .textNews .more a:after{
	content: '\e805';
	font-size:80%;
	color:#913D88;
	padding-left:10px;
}

/* animation */
#news .textNews .more a,
#news .textNews .more a:after{
	-o-transition: all 0.15s ease-in;
	-webkit-transition: all 0.15s ease-in;
	-moz-transition: all 0.15s ease-in;
	transition: all 0.15s ease-in;
}

#news .textNews .more a:hover{
	background:#913D88;
	color:#fff;
}

#news .textNews .more a:hover:after{

	color:#fff;
}



#news .bannerNews {
	float:right;
	width:51%;
	margin-top:40px;
}

#news .bannerNews ul{
	overflow:hidden;
}

#news .bannerNews ul li{
	width:47%;
	margin-left:1.5%;
	margin-top:1.5%;
	float:left;
	border:1px solid #ccc;
	display:block;
}


#news .bannerNews ul li img{
	width:100%;
	display:block;

}


#news .bannerNews ul li,
#news .bannerNews ul li img{
	-o-transition: all 0.15s ease-in;
	-webkit-transition: all 0.15s ease-in;
	-moz-transition: all 0.15s ease-in;
	transition: all 0.15s ease-in;
}

#news .bannerNews ul li:hover img{
	opacity:0.5;
}

#snsBox .inner .bnr {
	margin: 20px auto 0;

}

#snsBox .inner .bnr a:hover{
	opacity: .5;
}

/* sp */
@media screen and (max-width: 560px){

/* all
----------------------------------------------------------*/
h2 {
	display:inline-block;
	text-align:center;
	font-weight:100;
	font-size:140%;
	margin-top:40px;
}


h2 span{
	border-top:3px solid #222;
	display:block;
	text-align:center;
	font-weight:400;
	font-size:30%;
	letter-spacing:2px;
	margin-top:10px;
	padding-top:10px;
}

/* mainvisual
----------------------------------------------------------*/
#mainvisual {
	border-top:none;
	margin-top:60px;
	position:relative;
	height:300px;
	min-width:inherit;
	background:#fff;
}

.navi_class {
	position:absolute;
	width:100%;
	text-align:center;
	bottom:-50px;
	z-index:20;
}

.navi_class li{
	display:inline-block;
	border:2px solid #333;
	height:14px;
	width:14px;
	border-radius:50%;
	margin:0 5px;
	cursor:pointer;
}

.navi_class li.at{
	background:#333;
	cursor:default;
}

.slider .textType {
	background:rgba(0,0,0,0.7);
	position:absolute;
	left:0;
	bottom:0;
	width:100%;
	height:45%;
	min-height:30%;
}


.slider .textType a{
	text-decoration:none;
}

.slider .textType dl{
	padding:20px 20px 0;
	color:#fff;

}

.slider .textType dl dt{
	font-size:120%;
	font-weight:100;

}

.slider .textType dl dd{
	font-size:80%;
	font-weight:100;

	margin-top:5px;
}




.slider .inner p{
	position:absolute;
	left:0;
	right:0;
	bottom:0;
	top:0;
	margin:auto;
	width:80%;
	height:1px;
	vertical-align:middle;
}

.slider .inner p img{
	display:inline;
	width:100%;
	top: 50%;
	margin-top: -11%;
}

.bgImg img {
	position:absolute;
	z-index:0;
	width:100%;
}

#btn-before {
	display:none;
}

#btn-next {
	display:none;
}




/* moive
-----------------------------------------------------*/
#moive {
	width:100%;
	margin:10px auto;
	text-align:center;
}

#moive .inner{
	overflow:hidden;
	max-width:1100px;
	margin:20px auto 0;
	text-align:left;
	padding: 0 5%;
}

#moive h2{
	border-bottom:3px solid #222;
	margin-bottom:3%;
	padding-bottom:3%;
}

#moive h3{
	display:block;
	text-align:center;
	font-weight:400;
	font-size:100%;
	letter-spacing:2px;
	margin-top:3%;
}

#moive .moiveBox{
  position:relative;
	margin: 30px auto 20px;
	width:100%;
	padding-top:56.25%;
}

#moive .moiveBox iframe{
  position:absolute;
  top:0;
  right:0;
  width:100%;
  height:100%;
}
	

/* performance
-----------------------------------------------------*/
#performance {
	width:100%;
	margin:10px auto;
	text-align:center;
}

#performance .inner{
	overflow:hidden;
	max-width:1100px;
	margin:20px auto 0;
	text-align:left;
}

#performance .inner dl{
	width:90%;
	float:none;
	margin:0.5% auto;
	height: auto !important;
}



/* lineup */
#performance .lineup {

	text-align:left;
	border:1px solid #913D88;
	width:90%;
	margin:30px auto 0;
	padding:0;
}


#performance .lineup h3 {
	display:block;
	background:#913D88;
	color:#fff;
	font-size:100%;
	vertical-align:top;
	padding:8px 16px;
}

#performance .lineup ul {
	overflow:hidden;
	padding:20px;
}

#performance .lineup li {
	width:100%;
	float:none;
	margin:2%;
	background:#913D88;
}

#performance .lineup li img{
	width:100%;
	display:block;
	line-height:0;
}

#performance .lineup li a {
	display:block;
	text-decoration:none;
	background:#913D88;
	color:#fff;
	border:2px solid #F7F5F2;
}

#performance .lineup li span {
	position:relative;
	display:block;
	color:#fff;
	font-size:90%;
	padding:8px;
	vertical-align:top;
}

#performance .lineup li a span:before{
	position:absolute;
	content: '\e802';
	width:11px;
	height:11px;
	right:8px;
	margin:auto;
	line-height:11px;
	top:0;
	bottom:0;
}

/*　animation */
#performance .lineup li a img{
	-o-transition: all 0.15s ease-in;
	-webkit-transition: all 0.15s ease-in;
	-moz-transition: all 0.15s ease-in;
	transition: all 0.15s ease-in;
}

#performance .lineup li a:hover {
	background:#fff;
	color:#913D88;
	border:2px solid #913D88;
}


#performance .lineup li a:hover span {

	color:#913D88;

}

#performance .lineup li a:hover img {
	opacity:0.6;
}




/* calendar
----------------------------------------------------------*/
#calendar {
	background:#eee;
	text-align:center;
	margin-top:50px;
}

#calendar .note {
	font-size:70%;
	width:90%;
	margin:10px auto 0;
}

#calendar .inner {
	display:table;
	overflow:hidden;
	width:90%;
	margin:40px auto 0;
	padding-bottom:30px;
	text-align:left;
}

#calendar .inner dl{
	display:block;
	width:100%;
	padding:8% 1.5%;
	border-right:none;
	vertical-align:top;
	border-bottom:1px dotted #666;
}

#calendar .inner dl:last-child{
	border-right:none;
	border-bottom:none;
}

/* snsBox ****************************************************/

#snsBox {
	text-align:center;
	padding-top: 80px;
}

#snsBox .inner{
	overflow:hidden;
	width:auto;
	padding: 0 10%;
	margin:0 auto;
}

#snsBox .inner ul {
	margin-top:15px;
	margin: auto;

}


#snsBox .inner ul li{
	position:relative;
	width:100%;
	max-width:320px;
	margin: 0 auto 3%;
	display:block;

	overflow:hidden;
}


#snsBox .inner ul li a:before{
	content:" ";
	background:rgba(0,0,0,.4);
	position:absolute;
	left:0;
	top:0;
	width:100%;
	height:100%;
	min-height:100%;
	opacity:0;
	z-index:10;
		-o-transition: all 0.2s ease-in;
	-webkit-transition: all 0.2s ease-in;
	-moz-transition: all 0.2s ease-in;
	transition: all 0.2s ease-in;

}

#snsBox .inner ul li a:hover:before{
	opacity:1;
}

#snsBox .inner ul li img{
	width:100%;
	display:block;

}




/* news
----------------------------------------------------------*/
#news {
	background:#fff;
	padding:0;
}

#news .inner {
	overflow:hidden;
	padding-bottom:10px;
		width:100%;
	margin:0 auto;
}

#news h2 {
	display:block;
	float:none;
	text-align:center;
	margin-top:30px;


}

#news h2 span.title{
	display:inline-block;
	font-size:100%;
	border-bottom:3px solid #222;
	padding:0 0 8px;
	font-weight:100;
	text-align:center;
}

#news h2 span{
	display:block;
	border-top:none;
	padding-left:0px;
	margin-top:0;
}

#news .textNews {
	clear:left;
	float:none;
	width:90%;
	margin:40px auto 0;
}





#news .bannerNews {
	float:none;
	width:95%;
	margin:40px auto;
}



}
