@charset "utf-8";
/*---------------------------------------------------------------------------
reset
---------------------------------------------------------------------------*/
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, dialog, figure, footer, header,
hgroup, menu, nav, section,
time, mark, audio, video {
	margin:0;
	padding:0;
	border:0;
	outline:0;
	font-size:100%;
	vertical-align:baseline;
	background:transparent;
}

html{ 
	font-size: 62.5%
}

body{
	font-family:"游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro","メイリオ", "Meiryo", sans-serif;
	font-size:1.4rem;
	line-height:1.8;
}

.eng{
	font-family: 'Lato', sans-serif;
}

table{
	border-collapse:collapse;
}

li{
	list-style-type:none;
}

img{
	max-width:100%;
	vertical-align:bottom;
	line-height:0;
	user-select:none;
	-moz-user-select:none;
	-ms-user-select:none;
	-webkit-user-select:none;
	-khtml-user-select:none;
	-webkit-user-drag: none;
	-khtml-user-drag: none;
	-webkit-touch-callout: none;
}


a{
	color:#997328;
	text-decoration:none;
}

a:hover{
	color:#382b08;
	text-decoration:underline;
}

.btn{
	margin:10px 0;
}

.btn a{
	display:inline-block;
	position:relative;
	padding:10px 60px;
	background-color:#000;
	color:#fff;
	text-align:center;
	box-sizing:border-box;
	text-decoration:none;
	border-radius: 3px;
	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
	line-height:1.4;
}

.btn a:hover{
	background-color:#979797;
}

.btn a i{
	position:absolute;
	right: 10px;
	top:0;
	bottom:0;
	width:1em;
	height:1em;
	margin: auto;
}

.btnIcon a i{
	position:static;
}

.btnW a{
	background-color:#fff;
	color:#000;
	border:solid 1px #000;
}

.btnW a:hover{
	background-color:#000;
	color:#fff;
}

.btnOnline a{
	background-color:#c80d0d;
	font-weight:bold;
	line-height:1.4;
}

.btnOnline a:hover{
	background-color:#941c1c;
}

.linkmark:before{
	content:"\f101\0020";
	font-family: FontAwesome;
	color:#997328;
}

.linkmarkB:after{
	content:"\0020\f08e";
	font-family: FontAwesome;
	color:#997328;
}

.right{
	float:right;
}

.left{
	float:left;
}

.caption{
	font-size:80%;
	margin-top:5px;
}

.heading{
	color:#997328;
	border-bottom:solid 1px #997328;
	margin-bottom:20px;
	margin-top:30px;
	font-size:130%;
	border-left:solid 4px #997328;
	padding-left:15px;
	padding-bottom:5px;
	line-height:1.4;
}

.picRight,.picLeft{
	margin-bottom:10px;
}

/*movie
---------------------*/

.movieBlock{
	max-width:780px;
	margin:30px auto;
}

.movie {
	position: relative;
	padding-bottom: 56.25%;
	padding-top: 30px;
	height: 0;
	overflow: hidden;
	clear:both;
	margin-bottom:10px;
}

.movie:last-child{
	margin-bottom:0;
}

.movie iframe,  
.movie object,  
.movie embed {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}


@media(max-width:480px){
	.btn a{
		width:100%;
		box-sizing:border-box;
		display:block;
		font-weight:bold;
		padding:10px;
	}

	.heading{
		font-size:110%;
	}
	
	.picRight,.picLeft{
		text-align:center;
	}

}


@media(min-width:481px){
	.picRight{
		float:right;
		margin:0 0 20px 20px;
	}
	
	.picLeft{
		float:left;
		margin:0 20px 20px 0;
	}
}


/*---------------------------------------------------------------------------
header
---------------------------------------------------------------------------*/
#nav1{
	background-color:#fff;
}

#navTicket a{
	background-color:#000;
	display:block;
}

.language ul{
	display:none;
	border-left:solid 1px #e9dac1;
	z-index:1;
}

.language ul li{
	border-bottom:solid 1px #e9dac1;
}

.language ul a{
	padding:5px 0;
	display:block;
}

.language ul a:hover{
	text-decoration:none;
	background-color:#fbf3e5;
}

#nav2 .language ul{
	border-top:solid 1px #e9dac1;
}


@media(max-width:999px){
	#logoBlock{
		position:relative;
		text-align:center;
		border-bottom:solid 1px #e9dac1;
	}
	
	#menu{
		position:absolute;
		left:0;
		top:0;
		z-index:2;
	}
	
	#btnMenu{
		text-align:left;
	}

	#navTicket{
		height:100%;
		position:absolute;
		right:0;
		top:0;
	}
	
	#navTicket a{
		height:100%;
	}
	
	#mainNavi{
		overflow:auto;
	}

	#mainNavi > li{
		width:33.2%;
		text-align:center;
		border-bottom:solid 1px #e9dac1;
		float:left;
	}
	
	#mainNavi > li:last-child{
		border:none;
	}
	
	#mainNavi .language div{
		border-bottom:solid 1px #e9dac1;
	}
	
	#mainNavi > li:nth-child(4){
		clear:both;
	}

	#mainNavi > li:nth-child(2),#mainNavi > li:nth-child(5){
		border-right:solid 1px #e9dac1;
		border-left:solid 1px #e9dac1;
	}

	#mainNavi > li a,#mainNavi .language div{
		display:block;
		padding:5% 0;
	}
	
	#mainNavi img{
		vertical-align:middle;
	}
	
	#subNavi{
		display:none;
	}
	
	#nav2{
		display:none;
	}
	
	#logoBlock{
		position: fixed;
		width:100%;
		top:0;
		left:0;
		z-index:99;
		background-color:#fff;
	}
	
	.language{
	}

	.language ul{
		width:33.26%;
		position:absolute;
		background-color:#fff;
		box-sizing:border-box;
	}
	
}

@media(max-width:640px){
	.fixed{
	}

	#logoBlock{
		height:50px;
	}
	
	#mainNavi > li{
		width:33.1%;
	}
	
	#mainNavi > li img{
		height:13px;
	}
	
	#mainNavi .language img{
		height:10px;
	}

	#logo img{
		height:40px;
		margin-top:5px;
	}

	#navTicket a{
		padding:0 7px;
	}

	#navTicket img{
		height:30px;
		margin-top:10px;
	}
	
	#btnMenu img{
		height:32px;
		margin:10px;
	}
	
	body{
		padding-top:50px;
	}

	#modal{
		padding-top:40px;
	}
}

@media (min-width:641px) and (max-width:999px){
	#logoBlock{
		height:70px;
	}
	
	#mainNavi li img{
		height:18px;
	}

	#mainNavi .language img{
		height:14px;
	}

	#logo img{
		height:50px;
		margin-top:10px;
	}

	#navTicket a{
		padding:0 10px;
	}

	#navTicket img{
		height:40px;
		margin-top:15px;
	}

	#btnMenu img{
		height:50px;
		margin:10px;
	}

	body{
		padding-top:70px;
	}

}


@media(min-width:1000px){
	body{
		padding-top:70px;
	}

	#nav1{
		position: fixed;
		width:100%;
		top:0;
		left:0;
		z-index:99;
		border-bottom:solid 1px #f7eee1;
	}
	
	#nav1 #nav1In{
		width:960px;
		margin:0 auto;
		position:relative;
	}

	#logo{
		float:left;
		height:70px;
		margin-right:22px;
		padding-top:10px;
		box-sizing:border-box;
	}
	
	#logo img{
		height:50px;
	}
	
	#mainNavi{
		height:70px;
		float:left;
	}
	
	#mainNavi > li{
		float:left;
		height:100%;
	}

	#mainNavi > li > a{
		display:block;
		margin:0 24px;
		height:100%;
		box-sizing:border-box;
	}

	#mainNavi > li:last-child > a{
		margin-right:0;
	}
	
	#mainNavi > li > a img{
		height:17px;
		margin-top:26px;
	}

	#lineup #mainNaviLineup,#about #mainNaviAbout,#access #mainNaviAccess,#calendar #mainNaviCalendar,#dictionary #mainNaviDictionary,#ticketguide #mainNaviTicketguide{
		border-bottom:solid 3px #000;
		margin-top:1px;
	}

	#mainNavi > li > a:hover{
		margin-top:1px;
	}

	#mainNavi > li > a:after{
		display: block;
		content: "";
		width: 0px;
		height: 3px;
		background-color: #000;
		margin: 24px auto 0;
		transition: .25s ease-out;
		-webkit-transition: .25s ease-out;
		-moz-transition: .25s ease-out;
		-o-transition: .25s ease-out;
		-ms-transition: .25s ease-out;
	}
	
	#mainNavi > li > a:hover:after {
    	width: 100%;
	}

	
	#navTicket{
		height:70px;
		width:100px;
		text-align:center;
		float:right;
	}

	#navTicket a {
		box-sizing:border-box;
		outline: none;
		position: relative;
		z-index: 2;
		line-height: 0;
		overflow: hidden;
		padding:14px 0;
	}
	
	
	#navTicket a::before,
	#navTicket a::after {
		position: absolute;
		z-index: -1;
		display: block;
		content: '';
	}
	
	#navTicket a,
	#navTicket a::before,
	#navTicket a::after {
		-webkit-box-sizing: border-box;
		-moz-box-sizing: border-box;
		box-sizing: border-box;
		-webkit-transition: all .2s;
		transition: all .2s;
	}
	
	#navTicket a:hover {
		color: #fff;
	}
	#navTicket a::after {
		top: -100%;
		width: 100%;
		height: 100%;
	}
	#navTicket a:hover::after {
		top: 0;
		background-color: #9e7914;
	}
	
	#navTicket img{
		height:44px;
	}
	
	#nav2{
		background:url("../images/nav_bg.jpg");
		/*background-color:#f7eee1;*/
		clear:both;
	}
	
	#nav2 #nav2In{
		width:960px;
		margin:0 auto;
		padding:10px 0;
		position:relative;
	}
	
	#subNavi{
		text-align:right;
		margin-right:142px;
	}

	#subNavi li{
		display:inline-block;
		margin-right:30px;
	}
	
	#subNavi li:last-child{
		margin-right:0;
	}
	
	#subNavi li img{
		vertical-align:middle;
	}
	
	#subNavi li a:hover img{
		margin-top:4px;
	}

	.language{
		background-color:#fff;
		width:100px;
		text-align:center;
		position:absolute;
		z-index:2;
		right:0;
		top:10px;
		cursor:pointer;
	}
	
	.language img{
		height:12px;
		vertical-align:middle;
	}
	
	.language ul{
		border-right:solid 1px #e9dac1;
	}
	
	#btnMenu{
		display:none;
	}
	
	#mainNavi li:last-child{
		display:none;
	}
	
}


/*---------------------------------------------------------------------------
footer
---------------------------------------------------------------------------*/
#footer{
	background:url("../images/woods.jpg");
	clear:both;
}

#navFooter{
	overflow:hidden;
}

#navFooter > li{
	width:33.33%;
	float:left;
}

#navFooter li img{
	width:100%;
}

#footerLogo{
	text-align:center;
	position:relative;
}

#footerLogo #management{
	position:absolute;
	bottom:8px;
	right:10px;
	width:130px;
	height:auto;
}

#footerMenu,#footerMenu a{
	color:#fff;
}

#footerMenu{
	background-color:#000;
	text-align:center;
	position:relative;
}

#footerMenu1{
	padding:10px 20px 20px 20px;
}

#footerMenu1 li{
	margin:1% 2%;
	display:inline-block;
}

#footerMenu1 li:last-child{
	margin-right:0;
}

#footerMenu1 li a:hover{
	text-decoration:none;
}

#footerMenu1 li:last-child{
	border-bottom:none;
}

#footerMenu2{
	font-size:1.2rem;
	padding:20px 0;
}

#footerMenu2 li{
	display:inline;
}

#copyright{
	font-size:1.0rem;
}

#snsBlock p{
	display:inline-block;
	vertical-align:bottom;
}

#snsBlock .facebookBtn{
	overflow:hidden;
	width:71px;
}

#navFooter li a{
	display:block;
	overflow:hidden;
}

@media(max-width:480px){
	#footerLogo .silhouette{
		height:60px;
	}

	#bnrBlock{
		margin:30px 0 0 0;
	}

	#bnrBlock > li{
		margin:10px 30px;
	}
	
	#navFooter li{
		border:solid 1px #000;
		width:32.9%;
		background-color:#fff;
	}

	#navFooter li:nth-child(2){
		border-left:none;
		border-right:none;
	}

	#navFooter li img{
		display:block;
		padding:10px;
		box-sizing:border-box;
	}
	
	#navFooter img.cover {
		display:none;
	}
	
	#footerLogo #management{
		width:100px;
	}

}

@media(min-width:481px){
	#navFooter li{
		background-color:#000;
	}
	
	#navFooter li a{
		position:relative;
		display:block;
	}
	
	#navFooter img.base {
		-webkit-transform: scale(1);
		transform: scale(1);
		-webkit-transition: .4s ease-in-out;
		transition: .4s ease-in-out;
	}
	
	#navFooter a:hover img.base {
		-webkit-transform: scale(1.2);
		transform: scale(1.2);
		/*filter: blur(4px);
		-webkit-filter: blur(4px);*/
		opacity:0.6;
	}

	#navFooter img.cover{
		position:absolute;
		z-index:1;
	}
}


@media(max-width:999px){
	#footerMenu2{
		border-top:solid 1px #4e4e4e;
	}

	#snsBlock{
		padding-top:20px;
	}

}

@media(min-width:1000px){
	#footerMenu1{
		display:none;
	}
	
	#snsBlock{
		position:absolute;
		right:10px;
		top:10px;
	}

	#footerLogo #management{
		width:180px;
	}
}

@media screen and (min-width: 481px) and (max-width: 1199px){
	#bnrBlock{
		display: flex;
		overflow:hidden;
		flex-wrap: wrap;
		justify-content: center;
		margin-right: -20px;
		margin:20px;
	}

	#bnrBlock > li{
		width:45%;
		max-width:320px;
		margin-bottom:20px;
		margin-right:20px;
	}
}

@media(min-width:1200px){
	#bnrBlock{
		margin:20px;
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
	}
	
	#bnrBlock > li{
		display:inline-block;
		width:25%;
		padding: 1%;
		box-sizing: border-box;
	}

}

/*---------------------------------------------------------------------------
modal
---------------------------------------------------------------------------*/
#modal{
	display:none;
}

@media(max-width:999px){
	#modal{
		width:100%;
		height:100%;
		background-color:rgba(201,146,67,0.9);
		box-sizing:border-box;
		text-align:center;
		z-index:100;
		position:fixed;
		top:0;
	}

	#modalBG{
		display:table;
		width:100%;
		height:100%;
	}
	
	#modalContent{
		display:table-cell;
		vertical-align:middle;
		min-width:320px;
	}

	#modal a{
		color:#fff;
	}
	
	#modal #modalIcon{
		margin-top:20px;
	}

	#modal #modalIcon img{
		width:25%;
		max-width:150px;
	}
	
	#modal ul{
		margin:0 20%;
	}
	
	#modal ul:last-of-type{
		border-top:solid 1px #fff;
		padding-top:20px;
		margin-top:20px;
	}

	#modal #btnClose{
		color:#ce9c55;
		background-color:#fff;
		padding:2% 5%;
		margin:0 20% 10px 20%;
		box-sizing:border-box;
		border-radius: 4px;
		-webkit-border-radius: 4px;
		-moz-border-radius: 4px;
	}

}


/*---------------------------------------------------------------------------
content
---------------------------------------------------------------------------*/
.content .pageTtl{
	text-align:center;
	margin-bottom:5%;
}

.content .pageTtl img{
	width:70%;
}

#pankuzu{
	font-size:1.2rem;
	line-height:1.6;
}

#logoFooter{
	margin:10px 0;
}

#logoFooter img{
	width:100px;
}

#pankuzu li span{
	color:#997328;
}
	

@media(max-width:480px){
	.content .pageTtl{
		margin:8% 0 10% 0;
	}
}

@media(min-width:481px){
	.content .pageTtl img{
		height:60px;
		width:auto;
	}
}

@media(max-width:999px){
	.content{
		padding:5%;
	}
	
	#pankuzu{
		padding:2% 3%;
		border-top:solid 1px #e9dac1;
	}
	
	#pankuzu li{
		display:inline-block;
		margin-right:5px;
	}

	#pankuzu li a:after,#pankuzu li span:after{
		content:"\f105";
		font-family: FontAwesome;
		margin-left:5px;
	}
	
	#pankuzu li:last-child a:after,#pankuzu li:last-child span:after{
		content:"";
	}

}

@media(min-width:1000px){
	.content{
		width:960px;
		margin:0 auto;
		padding:5% 0;
	}

	#pankuzu{
		width:100%;
    	background: #fff;
		border-bottom:solid 1px #e9dac1;
	}
	
	#pankuzu ul{
		overflow:hidden;
		max-width:960px;
		margin:0 auto;
	}

	#pankuzu li {
		float: left;
	}
	
	#pankuzu li a,#pankuzu li span{
		text-decoration: none;
		padding: 10px 0 10px 55px;
		background: brown;
		background: #fff;
		position: relative;
		display: block;
		float: left;
		max-width:730px;
	}

	#pankuzu li:first-child a,#pankuzu li:first-child span{
		padding-left:5px;
	}
	
	#pankuzu li a:after,#pankuzu li span:after{
		content: " ";
		display: block;
		width: 0;
		height: 0;
		border-top: 50px solid transparent;
		border-bottom: 50px solid transparent;
		border-left: 30px solid #fff;
		position: absolute;
		top: 50%;
		margin-top: -50px;
		left: 100%;
		z-index: 2;
	}
	
	#pankuzu li a:before,#pankuzu li span:before{
		content: " ";
		display: block;
		width: 0;
		height: 0;
		border-top: 50px solid transparent;
		border-bottom: 50px solid transparent;
		border-left: 30px solid #e9dac1;
		position: absolute;
		top: 50%;
		margin-top: -50px;
		margin-left: 1px;
		left: 100%;
		z-index: 1;
	}

	#pankuzu li:last-child a:before,#pankuzu li:last-child span:before{
		display:none;
	}

}

/*---------------------------------------------------------------------------
pagetop
---------------------------------------------------------------------------*/
@media(max-width:480px){
	#pageTop{
		text-align:center;
		margin:15px 0;
	}
	
	#pageTop span{
		font-size:1.6rem;
		font-weight:700;
		letter-spacing:2px;
		margin:10px;
	}
}

@media(min-width:481px){
	#pageTop{
		position: fixed;
		right:10px;
		bottom:10px;
		z-index:1;
		font-size:2.6rem;
		border-radius: 3px;
		-webkit-border-radius: 3px;
		-moz-border-radius: 3px;
		background-color:#ffffff;
		padding:5px 10px;
		text-align:center;
		color:#000;
		clear:both;
	}

	#pageTop:hover{
		background-color:#7e6216;
		color:#fff;
		cursor:pointer;
	}
	
	#pageTop span{
		display:none;
	}

}

/*---------------------------------------------------------------------------
lightgallery
---------------------------------------------------------------------------*/
body:not(.lg-from-hash) .lg-outer.lg-start-zoom .lg-item.lg-complete .lg-object{
	user-select:none;
	-moz-user-select:none;
	-webkit-user-select:none;
	-webkit-user-drag:none;
	-khtml-user-select:none;
	-khtml-user-drag:none;
}

@media(max-width:480px){
	.lg-toolbar .lg-icon{
		font-size:50px!important;
		width:50px!important;
	}
}
@media(min-width:481px){
	.lg-toolbar .lg-icon{
		font-size:100px!important;
		width:100px!important;
		line-height:60px!important;
	}
}