@charset "utf-8";

/*---------------------------------------------------------------------------
font
---------------------------------------------------------------------------*/
.english{
	font-family: 'Montserrat', sans-serif,"游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
	font-weight:700;
	letter-spacing:1px;
}

/*---------------------------------------------------------------------------
ttl
---------------------------------------------------------------------------*/
.ttl{
	margin-bottom:30px;
	font-size:100%;
	line-height:1.2;
}

.ttl .english{
	font-size:3.6rem;
}

/*.ttl span:nth-child(even){
	color:#0071be;
}

.ttl span:nth-child(odd){
	color:#0071be;
}*/

@media(min-width:481px){
	.ttl{
		margin-bottom:50px;
	}

	.ttl .english{
		font-size:5.0rem;
		letter-spacing:5px;
	}
}

/*---------------------------------------------------------------------------
color
---------------------------------------------------------------------------*/
a,.drawer-hamburger,.ttl{
	color:#0071be;
}

.color1,#information .admissionfeeList th,#ticket .admissionfeeList th{
	background-color:#0071be;
	color:#fff;
}

.color2{
	background-color:#0071be;
	color:#fff;
}

footer,footer a,.news a{
	color:#fff;
}

.header .global .english{
	color:#0071be;
}

.header,.header .global{
	background-color:#fff;
}

#information h4{
	color:#0071be;
}

.btn a{
	display:block;
	text-align:center;
	padding:7px 10px;
	margin:0 auto;
	text-decoration:none;
	background-color:#000;
	color:#fff;
}

.btn a:hover{
	background-color:#0071be;
	text-decoration:none;
}

.btnW a{
	background-color:#fff;
	color:#0071be;
}

.btnW a:hover{
	background-color:#a9c8de;
	text-decoration:none;
}

.btnB a{
	background-color:#0071be;
}

a,#topics .topicsList li a{
	color:#000;
}

footer .btn a{
	background-color:#fff;
	color:#000;
}

.blue{
	color:#0071be;
}

/*---------------------------------------------------------------------------
common
---------------------------------------------------------------------------*/
body{
	overflow-x: hidden;
}

.content{
	padding:20px;
}

.contentIn{
	max-width: 960px;
	margin:0 auto;
	box-sizing:border-box;
}

#snsBlock{
	margin:20px 0;
	float:right;
}

.picRight,.picLeft{
	text-align:left;
}

.caption{
	margin:10px 0;
}

.left{
	float:left;
}

.right{
	float:right;
}

.ttl{
	text-align:center;
	margin-bottom:20px;
}

a:hover{
	text-decoration:none;
}

.credit{
	text-align:center;
	clear:both;
}

.btnOnline{
	margin-top:30px;
}

path,polygon{
	fill:#0071be;
}

#pageTop{
	line-height:1;
}

#pageTop span{
	font-size:1.2rem;
}

#pageTop:hover{
	background-color:transparent;
}

@media(max-width:480px){
	.btn a{
		font-size:1.2rem;
	}
	
	#pageTop{
		margin:20px 0;
	}
}

@media(min-width:481px){
	.content{
		padding:5%;
	}
}

@media(max-width:767px){
	.left,.right{
		float:none;
	}
}

@media(min-width:999px){
	footer{
		padding:20px;
	}

	footer .caption{
		text-align:center;
	}
}


/*---------------------------------------------------------------------------
header
---------------------------------------------------------------------------*/
.header a{
	text-decoration:none;
}

.header h1 .viewPC{
	display:none;
	max-width:600px;
	vertical-align:bottom;
	line-height:0;
}

@media(max-width:999px){
	.header h1 a svg{
		height:100%;
		max-width:100%;
	}
	
	.drawer--left .drawer-nav{
		left:-23rem;
	}
	
	.drawer-nav{
		width:23rem;
	}

	.drawer-nav .non{
		opacity:0.4;
	}

	.drawer-nav li{
		text-align:left;
		font-weight:bold;
	}

	.drawer-nav li a{
		text-decoration:none;
	}
	
	.drawer-nav li a{
		display:block;
	}
	
	.drawer-nav .global{
		padding-top:20px;
	}

	.drawer-nav .global li i{
		position:absolute;
		right:20px;
		margin:0;
	}

	.drawer-nav .global li a,.drawer-nav .global .non{
		padding:3px 20px;
	}

	.subNav{
		margin:10px 20px;
	}

	.subNav ul{
		margin-bottom:10px;
	}
		
}

@media(min-width:1000px){
	.header{
		clear:both;
	}
	
	.header h1{
		background-color:#fff;
		border-bottom:solid 1px #ece3df;
	}

	.header h1 .viewS{
		display:none;
	}

	.header h1 .viewPC{
		display:inline;
		padding:5px 0;
		height:50px;
	}

	.header ul{
		margin:0 auto;
		overflow:hidden;
	}
	
	.header ul li{
		float:left;
	}
	
	.header .global{
		width:100%;
		font-weight:bold;
	}

	.header .global li{
		margin-right:18px;
		vertical-align:middle;
		line-height:1.6;
	}

	.header .globalNav{
		max-width:610px;
		margin:0 auto;
		padding-top:10px;
	}

	.header .globalNav li{
		text-align:center;
	}
	
	.header .globalNav li span{
		display:block;
		text-align:center;
	}
	
	.header .globalNav li img{
		display: block;
		margin:3px auto 0 auto;
	}

	.header .globalNav li .japanese{
		font-size:1.4rem;
	}

	.header .globalNav li .english{
		font-size:1.2rem;
	}

	.header .globalNav li a:after{
		display: block;
		content: "";
		width: 0px;
		height: 3px;
		background-color: #0071be;
		margin: 5px 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;
	}
	
	.header .global li a:hover,#nebel #nav_nebel a{
		color:#0071be;
	}
	
	.header .global li a:hover:after,#point #nav_point a:after,#goods #nav_goods a:after,#events #nav_events a:after,#interview #nav_interview a:after,#point #nav_point a:after,#information #nav_ticket a:after,#topics #nav_topics a:after,#event #nav_event a:after{
		width: 100%;
	}	

	.header .global .non{
		opacity:0.3;
	}

	.header .subNav{
		font-size:1.4rem;
		font-weight:normal;
		background-color:#0071be;
	}

	.header .subNav ul{
		max-width:610px;
		margin:0 auto;
		overflow:hidden;
	}

	.header .subNav li a{
		padding:5px 10px 5px 0px;
		color:#fff;
		display:block;
	}

	.header .subNav li a:hover{
		opacity:0.8;
	}

	#nav_buy a{
		height:59px;
	}
	
}


/*---------------------------------------------------------------------------
loading
---------------------------------------------------------------------------*/
#loading{
	width:100%;
	height:100%;
	position:fixed;
	z-index:100;
	text-align:center;
	display: table;
	top:0;
}

#loadIn{
 display: table-cell;
  text-align: center;
  vertical-align: middle;
}

/*#loadingSVG{
	margin:0 auto;
	max-width:400px;
}*/

#pads_svg path{
	fill:#fff;
}

#pad_original{
}

/*---------------------------------------------------------------------------
picBlock
---------------------------------------------------------------------------*/
.picBlock{
	display:flex;
	justify-content:center;
	align-items: center;
	flex-wrap:wrap;
	margin-top:20px;
}

.picBlock .pic{
	display:inline-block;
	vertical-align:middle;
}

@media(min-width:481px){
	.picBlock{
		margin-top:30px;
	}
}

@media(max-width:767px){
	#poin .pic,#pointTOP .pic{
		width:auto!important;
		margin:10px auto 0 auto;
	}

	.long{
		width:80%!important;
		margin-left:auto;
		margin-right:auto;
	}
}

@media(min-width:769px){	
	.picBlock .pic:nth-of-type(1),.picBlock .pic:nth-of-type(2){
		margin-right:20px;
	}
}

/*---------------------------------------------------------------------------

top

---------------------------------------------------------------------------*/
#top{
	overflow:hidden;
}

.bnr{
	margin-bottom:10px;
}

#access .btnAccess a{
	box-sizing:border-box;
	text-decoration:none;
	font-size:2.0rem;
	color:#000;
}

.movieBlock{
	margin-top:20px;
}

#top .slidecap{
	margin-top:30px;
}

#top #snsBlock{
	margin-bottom:0;
}

#top .viewPC{
	display:none;
}

#top #footerCredit{
	display:none;
}

@media(max-width:480px){
	#top .bnrBlock li{
		margin-bottom:10px;
	}

	#top .bnr{
		margin-top:10px;
	}
}

@media(min-width:481px){
	#top .bnr{
		margin-top:20px;
	}
	
	#top .viewPC{
		display:block;
	}

	#top .viewS{
		display:none;
	}

	#top .bnrBlock{
		overflow:hidden;
		clear:both;
		margin-top:20px;
	}

	#top .bnrBlock li{
		margin-bottom:20px;
		width:49%;
	}
	
	#top .bnrBlock li:nth-child(odd){
		float:left;
		clear:both;
	}

	#top .bnrBlock li:nth-child(even){
		float:right;
	}

}

@media(min-width:1000px){
	#top h1{
		display:none;
	}
}


/*
countdown
---------------------------------------------------------------------------*/
#countdown{
	display:inline-block;
	padding:15px;
	margin-bottom:20px;
	line-height:1.2;
	font-weight:bold;
	position: relative;
	color:#000;
}

#countdown .english{
	font-size:4.0rem;
}

#countdown:before{
	position: absolute;
	top: -20px;
	margin-left: -50px;
	content: '\f1b0';
	color: #ffd308;
	font-size: 100px;
	font-family: fontAwesome;
	z-index: -1;
}

@media(min-width:481px){
	#countdown{
		font-size:2.0rem;
	}

	#countdown .english{
		font-size:6.0rem;
	}

	#countdown:before{
		margin-left: -60px;
		font-size: 120px;
	}

}

@media(max-width:999px){
	#countdown{
		margin-top:20px;
	}
}

/*
panorama
---------------------------------------------------------------------------*/
#panorama .ricoh-theta-spherical-image{
	margin:0 auto;
}

/*
news
---------------------------------------------------------------------------*/
#top .news .ttl span:nth-child(odd){
	color:#fff;
}

/*
instagram
---------------------------------------------------------------------------*/
#instagramWidget{
	background-color:#238cd4;
}

#instagramWidget,#instagramWidget a{
	text-align:center;
	color:#fff;
}

#instagramWidget h2{
	margin-bottom:0;
}

#instagramWidget .ttl{
	color:#fff;
}

#instagramWidget ul {
	font-size: 0px;
	text-align: center;
	margin-bottom:30px;
	overflow:hidden;
}

#instagramWidget ul li {
	width: 23%;
	display: inline-block;
	font-size: 0px;
	margin-right:2%;
}

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

#instagramWidget #account{
	text-align:center;
	margin-bottom:30px;
}

#instagramWidget #account a{
	text-decoration:none;
}

#instagramWidget .bnr{
	margin-top:20px;
	text-align:center;
}

@media(min-width:481px){
	#instagramWidget .bnr{
		margin-top:40px;
		/*background-color:#f4cd00;*/
	}
}


/*
mainvisual
---------------------------------------------------------------------------*/
#mainvisual{
	text-align:center;
	margin-top:20px;
}

#mainvisual #svg{
	padding:0 20px;
	margin:0 auto;
}

#mainvisual #kaiki{
	width:80%;
	max-width:600px;
	margin:0 auto;
}

@media(min-width:1000px){
	#mainvisual #svg{
		width:60%;
	}
	
	#mainvisual{
		border-bottom:solid 1px #0071be;
	}
	
	#mainvisual #kaiki{
		margin-bottom:20px;
	}
}

/*
slider
---------------------------------------------------------------------------*/
#slider img{
	height:150px;
}

.lg-toolbar{
	background:none!important;
}

@media(min-width:768px){
	#slider img{
		height:350px;
	}
}


/*
intro
---------------------------------------------------------------------------*/
#intro h2{
	text-align:center;
	margin-bottom:20px;
}

@media(min-width:481px){
	#intro h2{
		font-size:4.0rem;
	}
}

@media(min-width:768px){
	#intro{
		padding-bottom:0;
	}
	
	#intro .picBlock{
		margin-top:0;
	}
}

/*
pointTOP
---------------------------------------------------------------------------*/
#pointTOP .btnOnline{
	clear:both;
}

#pointTOP .pointBtn a{
	background:#0071be;
	border:none;
}

#pointTOPList .number{
	text-align:center;
	margin:0 auto 15px auto;
	display:table;
	font-size:3.0rem;
	line-height:1;
}

#pointTOPList .number span{
	display:table-cell;
	text-align:center;
	vertical-align: middle;
	width:50px;
	height:50px;
}

#pointTOPList h3{
	margin-bottom:10px;
}

@media(max-width:767px){
	#pointTOP .pic{
		margin-bottom:20px;
	}
	
	#pointTOPList dl{
		margin-bottom:30px;
	}
}

@media(min-width:768px){
	#pointTOPList{
		display:flex;
	}

	#pointTOPList dl:nth-of-type(2){
		margin:0 5%;
	}

	#pointTOPList .number span{
		width:70px;
		height:70px;
	}
}


/*
spot
---------------------------------------------------------------------------*/
#spot .ttl{
	color:#fff;
}

/*---------------------------------------------------------------------------

point

---------------------------------------------------------------------------*/
#point .intro{
	margin:30px 0;
}

#point .block{
	margin-top:10%;
}

#point .border{
	border-top: solid 5px #0071be;
	border-bottom: solid 5px #0071be;
	padding:20px 0;
}

#point h3{
	color:#fff;
	font-size:2.6rem;
	margin-bottom:30px;
	text-align:center;
	line-height:1.4;
	padding:20px 0;
}

#point #profile{
	border:solid 1px #0071be;
}

#point #with{
	background-color:#d4edf4;
}

#point #with h1{
	margin-bottom:15px;
	font-size:2.0rem;
}

#point #with h1 span{
	font-weight:normal;
	font-size:80%;
}

@media(min-width:481px){
	#point #with h1{
		font-size:3.0rem;
	}

	#point .block{
		margin-top:5%;
	}
}

/*---------------------------------------------------------------------------

goods

---------------------------------------------------------------------------*/
#books h2{
	margin-bottom:10px;
}

#books h2 span{
	font-size:80%;
}

#books h3{
	text-align:left;
	font-size:1.4rem;
	margin-bottom:10px;
}

#books .pic{
	border:solid 1px #eee;
}

#books article{
	margin-top:5%;
}

#books article p{
	margin-bottom:15px;
}

#books .info{
	font-size:90%;
}

@media(max-width:480px){
	#books h2{
		font-size:2.0rem;
	}
}

#goods .text{
	text-align:center;
}

#goods .originalGoods{
	margin-top:20px;
}

#goods .originalGoods li{
	margin-bottom:10px;
}

#goods .originalGoods li p{
	margin-top:10px;
	text-align:center;
}

#goods .floorBlock{
	border-top: dotted 4px #0071be;
	border-bottom: dotted 4px #0071be;
	padding:5px 0;
}

#goods .floorBlock2{
	border-top: dotted 4px #0071be;
	padding-top:5px;
}

#goods .floor{
	display:flex;
	justify-content:center;
}

@media(max-width:480px){
	#goods .floor{
		flex-wrap:wrap;
	}
	#goods .floor li{
		width:50%;
	}
}

@media(min-width:600px){
	#goods h3{
		font-size:1.6rem;
	}

	#goods .originalGoods li{
		display:inline-block;
		width:32%;
		margin-bottom:2%;
		vertical-align:top;
	}

	#goods .originalGoods li:nth-of-type(3n-1){
		margin-left:2%;
		margin-right:2%;
	}
	
}

/*---------------------------------------------------------------------------

event

---------------------------------------------------------------------------*/
#event .text{
	text-align:center;
	margin-bottom:20px;
}

#event .list li{
	border-top:solid 5px #0071be;
	padding-top:20px;
}

#event h2{
	margin-bottom:20px;
}


#event dl{
	overflow:hidden;
	margin-bottom:5px;
}

#event dt{
	color:#0071be;
	border: solid 1px #0071be;
	padding:2px 0;
	font-size:90%;
	margin-right:10px;
	font-weight:bold;
	width:10rem;
	float:left;
	text-align:center;
	white-space: nowrap;
}

#event dd{
	overflow:hidden;
}

#event .pic{
	text-align:center;
	margin-bottom:20px;
}

#event .profile{
	background-color:#e6f5ff;
	padding:20px;
	margin-top:20px;
}

#event li .btn{
	margin-top:15px;
}

#event .red{
	font-weight:bold;
	color:#FF0000;
}

@media(max-width:767px){
	#event h3{
		text-align:center;
	}
}

@media(min-width:1200px){
	#event .textBlock{
		float:left;
		width:450px;
	}

	#event .profile{
		float:right;
		width:450px;
	}

	#event .profile p{
		overflow:hidden;
	}

}

/*---------------------------------------------------------------------------

column

---------------------------------------------------------------------------*/
#column h3{
	text-align:center;
	margin-bottom:30px;
	letter-spacing:2px;
	font-size:2.0rem;
}

#column h4{
	margin-top:10%;
	margin-bottom:10px;
	letter-spacing:2px;
	font-size:1.8rem;
	text-align:center;
	clear:both;
}

#column .columnNavBlock{
	margin:30px auto;
	border:solid 1px #ddd;
	padding:10px;
}

#column .columnNavBlock p{
	color:#848484;
	letter-spacing:2px;
	margin-bottom:5px;
}

#column .columnNav{
	margin-bottom:5px;
}

#column .columnNav:last-child{
	margin-bottom:0;
}

#column .columnNav th span{
	display: inline-block;
	width:30px;
	height:30px;
	text-align:center;
	line-height: 30px;
	vertical-align: middle;
	background-color:#0071be;
	color:#fff;
}

#column .columnNav td{
	padding:0 10px;
}

#column .active{
	font-weight:bold;
	color:#0071be;
}

#column .picBlock{
	margin-bottom:20px;
}

#column .writer{
	text-align:right;
	margin-top:10px;
}

#column .center{
	text-align:center;
}

@media(min-width:481px){
	#column h3{
		font-size:2.6rem;
	}
	#column h4{
		font-size:2.2rem;
	}

	#column .columnNavBlock{
		display:flex;
		justify-content:center;
	}
	
	#column .columnNav{
		margin-bottom:0;
	}
}

@media(max-width:767px){
	#column .picRight,#column .picLeft{
		margin:10px auto;
	}
}


/*---------------------------------------------------------------------------

information

---------------------------------------------------------------------------*/
#information .block{
	margin-bottom:20px;
	border-bottom:solid 1px #ece3df;
	padding-bottom:20px;
}

#information #kyosan p{
	margin-bottom:10px;
}

#information .btnOnline a{
	background:none;
	text-align:left;
	border:none;
	width:auto;
	display:inline;
}

#information .info{
	background-color:#ece3df;
}


/*---------------------------------------------------------------------------

topics

---------------------------------------------------------------------------*/
#topics .topicsList h4{
	font-size:2.0rem;
}

#topics .topicsList li,#topics #topicsEntry .text{
	margin-bottom:20px;
	clear:both;
	border:solid 2px #0071be;
}

#topics .topicsList li,#topics #topicsEntry p{
	margin-bottom:15px;
}

#topics .topicsList li{
	background-color:#fff;
	font-size:1.5rem;
	clear:both;
	overflow:hidden;
	color:#000;
	padding:20px;
}

#topicsEntry h3{
	margin-bottom:20px;
	font-size:2.0rem;
}

#topics .update {
	margin-bottom:10px;
}

#topics #topicsEntry .text{
	padding:5%;
}

/*---------------------------------------------------------------------------

press

---------------------------------------------------------------------------*/
#press h3{
	margin-bottom:30px;
}

@media(min-width:481px){
	#press .content{
		text-align:center;
	}
}

/*---------------------------------------------------------------------------

footer

---------------------------------------------------------------------------*/
footer .non{
	opacity:0.5;
}

footer .brnBlock{
	text-align:center;
	padding-bottom:10px;
}

footer .returnBlock{
	margin-top:0;
}

#footerlogo{
	text-align:center;
	margin:20px 0 10px 0;
}

#footerlogo img{
	height:33px;
}

#footerCredit{
	text-align:center;
	padding:10px;
}


@media(max-width:999px){
	footer .global{
		padding:20px;
	}
	
	footer .btn{
		margin:5px 10px;
	}

}

@media(min-width:1000px){
	footer nav{
		display:none;
	}
}

#snsBlock p{
	height:20px;
	overflow:hidden;
}

/*---------------------------------------------------------------------------
lightgallery
---------------------------------------------------------------------------*/
.lg-outer .lg-image{
	padding-bottom:150px!important;
}
.lg-sub-html{
	padding:10px 10px 100px 10px!important;
 	background-color: rgba(0, 0, 0, 0.25)!important;
}

.lg-sub-html p{
	font-size:10px!important;
	margin-top:0!important;
}