@charset "utf-8";

/* RESET */
body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,button,textarea,p,blockquote,th,td{margin:0;padding:0;}table{border-collapse:collapse;border-spacing:0;}fieldset,img{border:0;}address,caption,cite,code,dfn,em,strong,th,var,optgroup{font-style:inherit;font-weight:inherit;}del,ins{text-decoration:none;}li{list-style:none;}caption,th{text-align:left;}h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal;}q:before,q:after{content:'';}abbr,acronym{border:0;font-variant:normal;}sup{vertical-align:baseline;}sub{vertical-align:baseline;}legend{color:#000;}input,button,textarea,select,optgroup,option{font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;}input,button,textarea,select{*font-size:100%;}
/* RESET HTML5 */
article,aside,canvas,details,figcaption,figure,footer,header,hgroup,menu,nav,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;outline:0;font-size:100%;font:inherit;vertical-align:baseline;}
/* HTML5 display-role reset for older browsers */
article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block;}

/* GENERAL */
a:link, a:visited {color: #113961;text-decoration: none;}
a:hover {color: #113961;text-decoration: none;}
a{outline: none;}

/* CLEARFIX */
.clearfix
{zoom: 1;}

.clearfix:after,
.headerBox:after,
.contentBox:after,
nav:after,
.item:after,
.colorList:after,
.greetingList:after,
.imgBox:after,
.btnList:after,
.newsPicList:after,
.shopList:after,
.box:after,
.entryList > li:after,
.schduleListBox:after,
.bnrList:after
{content: "."; display: block; visibility: hidden; clear: both; height: 0; font-size: 0; line-height: 0;}

strong{
font-weight: bold;
}

img{
vertical-align: bottom;
}

*{
	box-sizing: border-box;
}

a{
	cursor: pointer;
}

a.link{
	text-decoration: underline;
}

.center{
	text-align: center;
}

.mainImg{
	margin-bottom: 40px;
}

.mainImg img{
	max-width: 100%;
}
.nicoBox{
	text-align: center;
}
.nicoBox iframe{
	margin-left: auto;
	margin-right: auto;
	max-width: 100%;
}

/* ------------------------------------------
LAYOUT
------------------------------------------ */

html{
	height: 100%; 
}

body{
	font: 12px/1.4 'Noto Sans Japanese',"Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
	-webkit-font-smoothing: antialiased;
	-webkit-text-size-adjust: none;
	width: 100%; 
	height: 100%; 
	background-color: #fff;
	color: #113961;
	position:relative;
	font-size: 14px;
	letter-spacing: 0.05em;	
	
	line-height: 160%;
	
	background-image:url(../images/bg_main.png);
	background-repeat:repeat;
	background-size: 477px auto;
}

main{
	background-color: #fff;
}

section.sec{
	padding: 120px 0;
}
section.sec.trans{
	background-color: transparent;
}

.onlyPc{
	display: block;
}

.onlySp{
	display: none;
}

.str{
	text-align: center;
}


.tshirt{
	text-align: center;
	margin-bottom: 60px;
	font-size: 12px;
	color: #666;
}
.tshirt img{
	max-width: 100%;
	margin-bottom: 10px;
}

#movie video{
	max-width: 100%;
}

#my-player{
	width: 100%;
}

.my-player-dimensions{
	height: auto;
}

.my-player-dimensions{
	display: block;
	position: relative;
	width: 100%;
	margin-bottom: 20px;
}

.my-player-dimensions:before {
    content:"";
    display: block;
        padding-top: 56.25%;
}

.videoBox{
	max-width: 700px;
	margin-left: auto;
	margin-right: auto;
	
	padding-left: 20px;
	padding-right: 20px;
}



/* ------------------------------------------
header
------------------------------------------ */

header{
	position: fixed;
	z-index: 100;
	left: 0;
	top: 0;
	width: 100%;
	height: 75px;

-webkit-transition: all 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
-moz-transition: all 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
-o-transition: all 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
-ms-transition: all 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
}
header .bg{
	background-image:url(../images/bg_main.png);
	background-repeat:repeat;
	background-size: 477px auto;
	
	position: absolute;
	left: 0;
	top: 0;
	height: 100%;
	width: 100%;
	
	opacity: 0;

-webkit-transition: all 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
-moz-transition: all 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
-o-transition: all 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
-ms-transition: all 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
}

body.page{
	padding-top: 50px;
}

section.secTop{
	padding-top: 60px;
}

.town{
	width: 100%;
	height: 200px;

	background-image:url(../images/bg_town.png);
	background-repeat:repeat-x;
	background-size: 1203px auto;
	background-position: center top;
	
	text-align: center;
}

.town .fire{
	margin-left: -260px;
	margin-top: 20px;
}


header.active{
	height: 70px;
}

header.active .bg{
	opacity: 1;
}
header.active nav{
	margin-top: 10px;
}

nav{
	margin-top: 20px;

-webkit-transition: all 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
-moz-transition: all 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
-o-transition: all 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
-ms-transition: all 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.navBox{
	max-width: 1400px;
	margin-left: auto;
	margin-right: auto;
	padding-left: 40px;
	padding-right: 40px;
	
	position: relative;
	z-index: 2;
}
.contentBox{
	max-width: 1024px;
	margin-left: auto;
	margin-right: auto;
	padding-left: 40px;
	padding-right: 40px;
}
.contentBox.contentBoxMini{
	max-width: 840px;
}

h1.logo{
	float: left;
	margin-top: 20px;
}

h1.logo a{
	text-indent: -9999px;
	display: block;
	width: 297px;
	height: 26px;
	background-image:url(../images/hd_logo.png);
	background-repeat:no-repeat;
	background-size: contain;

-webkit-transition: all 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
-moz-transition: all 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
-o-transition: all 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
-ms-transition: all 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
}

h1.logo a:hover{
	opacity: 0.6;
}




.snsList{
	float: right;
	margin-top: 20px;
}
.snsList li{
	display: inline-block;
	vertical-align: top;
}

footer .snsList li{
	margin-left: 10px;
}

.snsList li a{
	height: 30px;
	display: inline-block;
	font-size: 14px;
	font-weight: 300;
	background-position: center center;

-webkit-transition: all 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
-moz-transition: all 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
-o-transition: all 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
-ms-transition: all 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.snsList li a:hover{
	opacity: 0.6;
}

.snsList li.facebook a{
	width: 30px;
	text-indent: -9999px;
	background-image:url(../images/ico_facebook.png);
	background-repeat:no-repeat;
	background-size: 10px auto;
}

.snsList li.instagram a{
	width: 30px;
	text-indent: -9999px;
	background-image:url(../images/ico_instagram.png);
	background-repeat:no-repeat;
	background-size: 19px auto;
}

.snsList li.twitter a{
	width: 30px;
	text-indent: -9999px;
	background-image:url(../images/ico_twitter.png);
	background-repeat:no-repeat;
	background-size: 22px auto;
}

.snsList li.line a{
	width: 30px;
	text-indent: -9999px;
	background-image:url(../images/ico_line.png);
	background-repeat:no-repeat;
	background-size: 21px auto;
}

.snsList li.wechat a{
/* 	width: 30px; */
/* 	text-indent: -9999px; */

	padding-left: 25px;
	background-image:url(../images/ico_wechat.png);
	background-repeat:no-repeat;
	background-size: 22px auto;
	background-position: left center;
	color: #fff;
}



.snsListSideTtl{
	transform: rotate(90deg);
	color: #fff;
	padding-bottom: 3px;
}

.snsListSideLine{
	width: 2px;
	height: 80px;
	background-color: #fff;
	margin-left: auto;
	margin-right: auto;
	margin-top: 20px;
}




.snsListSide{
	position: absolute;
	z-index: 50;
	
	left: 20px;
	width: 30px;
	
	top: 150px;
}

.snsListSide li{
	margin-bottom: 10px;
	margin-left: 0;
}


.navList{
	float: right;
}
.navList li{
	display: inline-block;
	margin-left: 10px;
	line-height: 140%;
}
.navList li a{
	font-size: 14px;
	padding: 0 4px;
	color: #fff;

-webkit-transition: all 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
-moz-transition: all 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
-o-transition: all 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
-ms-transition: all 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.navList li a:hover{
	opacity: 0.6;
}

.langList{
	margin-bottom: 5px;
}
.langList li.current a{
	opacity: 0.4 !important;
}



.mainVisual{
	text-align: center;
	position: relative;
	
	width: 100%;
	height: 100%;
	max-height: 1000px;
}

.mainVisual .main{
	position: absolute;
	z-index: 10;
	
	left: 50%;
	top: 0px;
	
	height: 100%;

  -webkit-transform: translate(-50%,0%);
      -ms-transform: translate(-50%,0%);
          transform: translate(-50%,0%);
}


.mainVisual .main img{
	max-height: 90%;
	width: auto;
}

.mainVisual .light{
	position: absolute;
	z-index: 1;
	
	left: 0;
	top: 0;
	
	width: 100%;
	height: 550px;
	
	background-image:url(../images/img_light.png);
	background-repeat:no-repeat;
	background-size: 2147px auto;
	background-position: center top;
}



.mainVisual .date{
	position: absolute;
	z-index: 15;
	
	left: 40px;
	bottom: 43px;
	max-width: 60%;
}
.mainVisual .date img{
	max-width: 100%;
}

.mainVisual .facebookBox{
	position: absolute;
	z-index: 15;
	
	right: 40px;
	bottom: 40px;
	width: 230px;
	height: 160px;
	background-color: #ccc;
	overflow: scroll;
}

.mainVisual .flag{
	position: absolute;
	z-index: 5;
	
	right: 40px;
	top: 90px;
}
.mainVisual .chara{
	position: absolute;
	z-index: 5;
	
	left: 40px;
	bottom: 90px;
}


.mainVisual .fire{
	position: absolute;
	z-index: 1;
	
	right: 40px;
	top: 300px;
}

.mainVisual .bg{
	position: absolute;
	z-index: 0;
	
	left: 0px;
	bottom: 0px;
	
	width: 100%;
	height: 45%;

	background-image:url(../images/bg_town.png);
	background-repeat:repeat-x;
	background-size: 1203px auto;
	background-position: center top;
}

.mainVisual .bg .white{
	background-color: #fff;

	position: absolute;
	z-index: 0;
	
	left: 0px;
	bottom: 0px;
	
	width: 100%;
	height: 100px;	
}









h2.ttl{
	text-align: center;
	font-size: 28px;
	margin-bottom: 40px;
	
	line-height: 130%;
}

h2.ttl.mini{
	font-size: 22px;
}

#greeting{
	color: #fff;
}

#greeting{
	background-image:url(../images/bg_china.jpg);
	background-repeat:no-repeat;
	background-size: cover;
	background-position: center top;
}


.newsBg{
	background-image:url(../images/bg_news.jpg);
	background-repeat:no-repeat;
	background-size: cover;
	background-position: center top;
	

}



.str{
	line-height: 180%;
	margin-bottom: 30px;
}

.greetingList{
	margin-left: -10px;
	margin-right: -10px;
	
	padding-top: 40px;
	margin-bottom: 60px;
}
.greetingList2{
	margin-bottom: 20px;
}
.greetingCaption{
	margin-bottom: 40px;
	text-align: right;
	font-size: 12px;
	color: #666;
}

.greetingList li{
	float: left;
	width: 20%;
	width: calc(20% - 20px);
	margin-left: 10px;
	margin-right: 10px;
}

.greetingList li:nth-child(2n+1){
	padding-top: 20px;
}

.greetingList li img{
	width: 100%;
}



.secImg .img{
	height: 100%;
	width: 100%;
}

.secImg .img img{
	width: 100%;
}

.parallax{
	width: 100%;
	height: 300px;
}


.artistList.shopBox li .ttl{
	margin-bottom: 20px;
	font-size: 26px;
	font-weight: normal;
}
.artistList.shopBox li .desp{
	margin-bottom: 20px;
}
.artistList.shopBox li .btnArea{
	text-align: left;
}

.artistList.shopBox li .btnArea a.btn{
/* 	padding: 5px 20px; */
}

.shopTtl{
	background-color: #113961;
	color: #fff;
	font-size: 18px;
	font-weight: bold;
	padding: 15px 0;
	text-align: center;
	margin-bottom: 20px;
}

.col1{
	background-color: #f5c242;
}
.col2{
	background-color: #e83323;
}
.col3{
	background-color: #52aeea;
}
.col4{
	background-color: #a0cd63;
}
.col5{
	background-color: #b8c6e4;
}


.shopList{
/*
	margin-left: -20px;
	margin-right: -20px;
*/

	border-top: 1px solid #113961;
	border-left: 1px solid #113961;
	
	margin-bottom: 60px;
}

.shopList li{
	float: left;
	width: 50%;
	width: calc(20% - 40px);
	width: 20%;
	padding: 15px;
/*
	margin-left: 20px;
	margin-right: 20px;
*/
	
/* 	margin-bottom: 80px; */
	border-bottom: 1px solid #113961;
	border-right: 1px solid #113961;
}

.shopList li .ttl{
	font-weight: bold;
}

.artistList{
	margin-left: -20px;
	margin-right: -20px;
}

.artistList > li{
	float: left;
	width: 50%;
	width: calc(50% - 40px);
	margin-left: 20px;
	margin-right: 20px;
	
	margin-bottom: 80px;
}

.artistList2 li{
	width: calc(33.33% - 40px);
}

.artistList > li .ttl{
	margin-bottom: 5px;
}

.artistList > li .img{
	margin-bottom: 10px;
	position: relative;
}

.artistList > li .img .ico{
	color: #fff;
	background-color: #113961;
	padding: 3px 10px;
	font-size: 12px;
	
	position: absolute;
	left: 0;
	top: 0;
	z-index: 2;
}

.artistList > li .img img{
	width: 100%;
}

.artistList > li .ttl{
	font-weight: bold;
	font-size: 16px;
}






.btnArea{
	clear: both;
	text-align: center; 
	margin-bottom: -20px;
}

a.btn{
	color: #fff;
	background-color: #113961;
	padding: 15px 60px;
	display: inline-block;
	border-radius: 4px;

-webkit-transition: all 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
-moz-transition: all 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
-o-transition: all 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
-ms-transition: all 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
}

a.btn:hover{
	opacity: 0.6;
}

/*
#greeting a.btn{
	color: #113961;
	background-color: #fff;
}
*/

.foodLogo{
	text-align: center;
	margin-bottom: 40px;
}

.foodLogo img{
	max-width: 100%;
}

.miniTtl{
	font-weight: bold;
	font-size: 16px;
	margin-bottom: 10px;
}
.colTtl{
	font-weight: bold;
	font-size: 16px;

	color: #fff;
	background-color: #113961;
	padding: 10px 20px;;
}

.foodLogo.c1{
	background-color: #e70012;
}
.foodLogo.c2{
	background-color: #fff100;
}


.btnList.btnListArtist{
	margin-bottom: 60px;
}


.btnList{
	margin-left: -10px;
	margin-right: -10px;
	margin-bottom: 0px;
}
.btnList li{
	float: left;
	width: 20%;
	width: calc(33.33% - 20px);
	margin-left: 10px;
	margin-right: 10px;
	margin-bottom: 20px;
}

.btnList li.long{
	width: 100%;
}

.btnList.big li{
	width: calc(50% - 20px);
}
.btnList.big2 li{
	width: calc(100% - 20px);
}

.btnList li a{
	color: #fff;
	background-color: #113961;
	padding: 15px 0px;
	display: block;
	border-radius: 4px;
	
	text-align: center;

-webkit-transition: all 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
-moz-transition: all 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
-o-transition: all 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
-ms-transition: all 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.btnList li.mini a{
	font-size: 12px;
}

.btnList li .desp{
	font-size: 12px;
	padding-top: 5px;
}

.btnList li a:hover{
	opacity: 0.6;
}


h3.ttl{
	font-size: 18px;
	text-align: center;
	margin-bottom: 20px;
	padding-top: 20px;
}




#news,
#movie{
	background-color: #e9ecf0;
}

.newsBox{
	background-color: #fff;
	padding: 40px;

	padding-bottom: 20px;
	margin-bottom: 40px;
}

.newsList img{
max-width: 100%;
margin-top: 20px;
}

.newsList li{
	border-bottom: 1px solid #e9ecf0;
	margin-bottom: 20px;
	padding-bottom: 20px; 
}

.newsList li:last-child{
	border: none;
	padding-bottom: 0;
}

.newsList li .date{
	float: left;
	color: #fff;
	background-color: #113961;
	padding: 5px 0px;
	width: 100px;
	text-align: center;
	
	border-radius: 4px;
}
.newsList li .ttl{
	padding-left: 140px;
}

.newsList li a{
	text-decoration: underline;
}

footer{
	color: #fff;
	font-size: 12px;
	padding-bottom: 20px;
}
.snsListFt{
	margin-right: 40px;
}



.copyright{
	text-align: center;
}


.sponsorList{
	padding-top: 60px;
	padding-left: 40px;
	padding-right: 40px;
	margin-bottom: 40px;
	line-height: 140%;
}

.sponsorList li{
	margin-bottom: 20px;
}




.mainNav{
	clear: both;
	float: right;
	margin-top: -18px;
}



.dateBox{
	padding: 40px;
	background-color: #113961;
	color: #fff;
	text-align: center;
	font-weight: bold;
	font-size: 20px;
	
	line-height: 140%;
	
	padding-top: 30px;
	padding-bottom: 30px;
	
	letter-spacing: 0.1em;
	margin-bottom: 60px;
}
.dateBox span{
	display: block;
	font-size: 14px;
	font-weight: normal;
	padding-top: 20px;
	padding-bottom: 0;
	line-height: 100%;
	margin-bottom: 0;
}



.infoList img{
	max-width: 100%;
}

.infoList{
	border-top: 1px solid #e9ecf0;
	padding-top: 20px;
}
.infoList li{
	border-bottom: 1px solid #e9ecf0;
	margin-bottom: 20px;
	padding-bottom: 20px;
	
	padding-left: 40px;
	padding-right: 40px;
}

.infoList li:last-child{
	border: none;
	padding-bottom: 0;
}

.infoList li .ttl{
	float: left;
}
.infoList li .desp{
	padding-left: 120px;
}

.infoList li .desp a{
	text-decoration: underline;
}



.disable a{
	opacity: 0.5 !important;
}









#mapCanvas{
	display: block;
	position: relative;
	width: 100%;
	margin-bottom: 20px;
}

#mapCanvas:before {
    content:"";
    display: block;
    padding-top: 48%;
}

#mapCanvas > div{
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
}




.accessList{
	margin-top: 40px;
	border: none;
}

.accessList li{
	padding-left: 0;
	padding-right: 0;
}









/**
 * Simple fade transition,
 */
.mfp-fade.mfp-bg {
	opacity: 0;
	-webkit-transition: all 0.15s ease-out; 
	-moz-transition: all 0.15s ease-out; 
	transition: all 0.15s ease-out;
}
.mfp-fade.mfp-bg.mfp-ready {
	opacity: 0.8;
}
.mfp-fade.mfp-bg.mfp-removing {
	opacity: 0;
}

.mfp-fade.mfp-wrap .mfp-content {
	opacity: 0;
	-webkit-transition: all 0.15s ease-out; 
	-moz-transition: all 0.15s ease-out; 
	transition: all 0.15s ease-out;
	
	max-width: 800px;
}
.mfp-fade.mfp-wrap.mfp-ready .mfp-content {
	opacity: 1;
}
.mfp-fade.mfp-wrap.mfp-removing .mfp-content {
	opacity: 0;
}

.mfp-figure::after{
	display: none;
}

.mfp-inline-holder .mfp-content,
.mfp-ajax-holder .mfp-content,
.mfp-content {
	position: relative;
	background: #FFF;
	padding: 40px;
/*
	padding-top: 0;
	padding-bottom: 0;
*/

/*
	width: auto;
	width: calc(100% - 100px);
	height: calc(100% - 100px);
*/
	margin-left: auto;
	margin-right: auto;
	
/* 	max-height: 90vh; */
	overflow: scroll;
}

.mfp-bg{
	background-color: rgba(255,255,255,0.9);
	background-color: rgba(0,0,0,0.9);
}


.popupBox a{
	text-decoration: underline;
}



.imgBox .img{
	float: left;
}

.imgBox .desp{
	float: left;
	padding-top: 80px;
	margin-left: 30px;
}

.str2{
	margin-bottom: 40px;
}

.caption{
	font-size: 12px;
}

.mainStr{
	line-height: 180%;
	margin-bottom: 30px;
}

.mainStr a{
	text-decoration: underline;
}

.unker{
	padding-top: 60px;
}



.newsPicList{
	margin-left: -20px;
	margin-right: -20px;
	
	margin-bottom: 40px;
}

.newsPicList li{
	float: left;
	width: calc(50% - 40px);
	margin-left: 20px;
	margin-right: 20px;
}

.newsPicList2 li{
	width: calc(33.33% - 40px);
	margin-bottom: 30px;
}

.newsPicList li img{
	max-width: 100%;
}


.btnYoutube{
	padding-top: 10px;
}
.btnYoutube a{
	color: #fff;
	background-color: #113961;
	padding: 5px 10px;
	border-radius: 4px;
	display: inline-block;
}



a.btnYoutube{
	color: #fff;
	background-color: #113961;
	padding: 5px 10px;
	border-radius: 4px;
	display: inline-block;
	margin-right: 10px;
	margin-top: 5px;
}


.bnrListBox{
/* 	max-width: 800px; */
	margin-left: auto;
	margin-right: auto;
	text-align: center;	
}

.bnrList{
	clear: both;

	margin-left: -20px;
	margin-right: -20px;
	
	width: 100%;
	
	margin-bottom: 60px;
}

.bnrList li{
	margin-bottom: 30px;
	margin-left: 20px;
	margin-right: 20px;
}

.bnrList li.bnr2{
	float: left;
	width: calc(50% - 40px);
}
.bnrList li.bnr3{
	float: left;
	width: calc(33.33% - 40px);
}
.bnrList li.bnr4{
	float: left;
	width: calc(30% - 40px);
}
.bnrList li.bnr5{
	float: left;
	width: calc(25% - 40px);
}

.bnrList li img{
	width: 100%;
}

.bnrList li img{
	border: 1px solid #ddd;
	margin-bottom: 5px;
}


.bus{
	width: 400px;
	max-width: 100%;
}
.bus img{
	max-width: 100%;
}






.youtubeBox{
	width: 853px;
	max-width: 100%;
	margin-left: auto;
	margin-right: auto;
	text-align: center;
}


.youtubeBox{
	display: block;
	position: relative;
	overflow: hidden;
}

.youtubeBox:before {
    content:"";
    display: block;
    padding-top: 56.27%;
}

.youtubeBox iframe{
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
}
















@media screen and (max-width: 1040px){

.navBox{
	padding-left: 20px;
	padding-right: 20px;
}
	
}

@media screen and (max-width: 990px){

.navList li{
	margin-left: 5px;
}
	
}



h2.centerSubTtl{
	font-size: 16px;
	font-weight: bold;
	margin-bottom: 20px;
	text-align: center;
	margin-top: -10px;
}


.lineBr{
border-bottom: 1px solid #ccc;
}

.subTtl{
	font-size: 16px;
	font-weight: bold;
	margin-bottom: 20px;
}


.box > .left{
	float: left;
	width: 50%;
}
.box > .right{
	float: right;
	width: 40%;
	text-align: right;
}

.maxImg img{
	max-width: 100%;
}










.entryList > li{
	margin-bottom: 80px;
}

.entryList > li .despArea{
	float: left;
	width: 55%;
}

.entryList > li .imgArea{
	float: right;
	width: 40%;
}



.entryInfoList li{
	margin-bottom: 5px;
}
.entryInfoList li .ttl{
	float: left;
	font-weight: bold;
}
.entryInfoList li .desp{
	padding-left: 120px;
}

.entryInfoList a{
	text-decoration: underline;
}




.busTbl{
	border-top: 1px solid #000;
	border-left: 1px solid #000;
	margin-top: 20px;
	
	max-width: 100%;
}

.busTbl th{
	font-weight: bold;
	background-color: #f6cdcd;
	width: 25%;
}

.busTbl th,
.busTbl td{
	border-bottom: 1px solid #000;
	border-right: 1px solid #000;
	padding: 10px;
}


.bnrBox{
	text-align: center;
	margin-bottom: 20px;
}
.bnrBox img{
	max-width: 100%;	
}


.schduleListBox{
	margin-bottom: 80px;
}

.schduleListBox .left{
	float: left;
	width: 50%;
	width: calc(50% - 40px);
	margin-left: 20px;
	margin-right: 20px;
}
.schduleListBox .right{
	float: right;
	width: 50%;
	width: calc(50% - 40px);
	margin-left: 20px;
	margin-right: 20px;
}

.schduleList li:nth-child(2n+1){
	background-color: #cfdce9;	
}

.schduleList li{
	margin-bottom: 5px;
	padding: 5px 20px;
}

.schduleList li .time{
	float: left;
	font-weight: bold;
}
.schduleList li .desp{
	padding-left: 70px;
}




.gurunavi{
	text-align: center;
	margin-top: -40px;
	margin-bottom: 30px;
	vertical-align: middle;
}

.gurunavi img{
	position: relative;
	vertical-align: middle;
}

.gurunavi span{
	padding-top: 4px;
}





















@media screen and (max-width: 1160px){

.navBox{
	padding-left: 20px;
	padding-right: 20px;
}
.navList li{
	margin-left: 5px;
}

.navList li a{
	font-size: 13px;
}

}

@media screen and (max-width: 1070px){

.navList li a{
	font-size: 12px;
}

}



/* ------------------------------------------
ipad
------------------------------------------ */
@media screen and (max-width: 980px){



.artistList > li{
	width: calc(50% - 20px);
	margin-left: 10px;
	margin-right: 10px;
}






header nav{
	display: none;
}


#button_container{
	display: block !important;
}


.mainVisual{
	max-height: 100%;
}


.mainVisual .flag{
	right: 0;
	top: 60px;
}



.mainVisual .main img{
	max-height: 80%;
}


footer h1.logo{
	float: none;
	clear: both;
}


.snsListFt{
	float: none;
	margin-right: 0;
}

footer{
	padding-top: 20px;
}

footer .navList{
	float: none;
}


footer .navList li{
	margin-left: 0;
	margin-right: 15px;
}
footer .navList li a{
	padding: 0;
}

.mainNav{
	margin-top: 0;
}

.sponsorList{
	padding-left: 20px;
	padding-right: 20px;
}





.langList{
	margin-bottom: 20px;
}


.newsPicList2{
	margin-left: -10px;
	margin-right: -10px;
}

.newsPicList2 li{
	width: calc(33.33% - 20px);
	margin-left: 10px;
	margin-right: 10px;
}


.shopList li{
	width: 100%;
	float: none;
	height: auto !important;
}







}


























/* ------------------------------------------
smartphone
------------------------------------------ */
@media screen and (max-width: 719px){



.onlyPc{
	display: none;
}

.onlySp{
	display: block;
}


section.sec{
	padding: 80px 0;
}



.mainVisual .main{
	width: 100%;
	height: 100%;
	position: relative;
}
.mainVisual .main img{
	max-width: 80%;
	max-height: initial;
	max-height: auto;
	
	position: absolute;
	left: 50%;
	top: 50%;
  -webkit-transform: translate(-46%,-65%);
      -ms-transform: translate(-46%,-65%);
          transform: translate(-46%,-65%);
}

.mainVisual{
	max-height: initial;
	max-height: auto;
}

.mainVisual .facebookBox{
	display: none;
}

.contentBox{
	padding-left: 20px;
	padding-right: 20px;
}

.mainVisual .date{
	max-width: 100%;
	left: 0;
	padding-left: 20px;
	padding-right: 20px;
	bottom: 20px;
}

.mainVisual .flag img{
	width: 100px;

}
.mainVisual .flag{
	right: 10px;
}

.snsListSide{
	left: 10px;
}

.mainVisual .light{
	display: none;
}

.mainVisual .fire{
	right: 0px;
	top: initial;
	top: auto;
	
	bottom: 100px;
	overflow: hidden;
}

.mainVisual .fire img{
	margin-right: -60px;
}


.mainVisual .bg{
	height: 50%;
}





h1.logo a{
	width: 210px;
}

#button_container{
	top: 20px;
}

header,
header.active{
	height: 60px;
}

.greetingList{
	margin-left: 0;
	margin-right: 0;
}

.greetingList li:nth-child(2n+1){
	padding-top: 0;
}

.greetingList li:last-child{
	display: none;
}

.greetingList li{
	margin-left: 0;
	margin-right: 0;
	
	width: 50%;
}


.btnList li{
	width: calc(50% - 20px);
}

.newsBox{
	padding: 20px;
	padding-bottom: 10px;
}






.newsList li .date{
	float: none;
	margin-bottom: 10px;
}
.newsList li .ttl{
	padding-left: 0;
}



.town{
	margin-top: -100px;
}

.town .fire{
	display: none;
}



section.secTop{
	padding-top: 40px;
}


.dateBox{
	padding: 20px;
	font-size: 16px;
	letter-spacing: 0;
	line-height: 160%;

	padding-left: 0px;
	padding-right: 0px;
}

.dateBox span{
	line-height: 140%;
}


.infoList{
	line-height: 140%;
}
.infoList li{
	padding-left: 0px;
	padding-right: 0px;
	font-size: 13px;
}



.infoList li .desp{
	padding-left: 90px;
}


#googleMap a.btn{
	padding: 10px 20px;	
}


#mapCanvas{
height: 260px;
}

#mapCanvas:before {
display: none;
}

#mapCanvas > div{

}


.mainVisual .chara{
	left: 0px;
	bottom: 50px;
	overflow: hidden;
}

.mainVisual .chara img{
	margin-left: -40px;
}




.btnList.big li,
.btnList.big2 li,
.btnList li{
	width: 100%;
	margin-left: 0;
	margin-right: 0;
	margin-bottom: 10px;
}

.btnList li{
	margin-bottom: 20px;
}

.btnList{
	margin-left: 0;
	margin-right: 0;
	margin-bottom: 30px;
}

section#apply.sec{
	padding-bottom: 20px;
}

.mfp-fade.mfp-wrap .mfp-content {
	width: 100%;
	width: calc(100% - 20px);
	padding: 40px 20px;
}

.mfp-fade.mfp-wrap .mfp-content h2.ttl{
	line-height: 130%;
	font-size: 20px;
}
.greetingList2{
	margin-bottom: 10px;
}






.artistList > li{
	height: 100% !important;
	width: 100%;
	margin-left: 0;
	margin-right: 0;
}





.newsPicList{
	margin-left: 0px;
	margin-right: 0px;
}

.newsPicList li{
	width: 100%;
	margin-left: 0px;
	margin-right: 0px;
	margin-bottom: 10px;
}

h2.ttl.mini{
	font-size: 20px;
	padding-left: 20px;
	padding-right: 20px;
}

.entryList > li .imgArea{
	float: none;
	width: auto;
	margin-bottom: 50px;
}
.entryList > li .despArea{
	float: none;
	width: auto;
}

.entryInfoList li .desp{
	word-wrap: break-word;
	padding-left: 100px;
}

.entryInfoList li{
	font-size: 12px;
	margin-bottom: 0;
}

.busTbl{
	line-height: 120%;
}
.busTbl th{
	font-size: 12px;
}
.busTbl td{
	font-size: 10px;
}


.box > .left,
.box > .right{
	float: none;
	width: auto;
}
.box > .left{
	margin-bottom: 20px;
}
.box > .right{
	text-align: center;
}





.artistList{
	margin-left: 0;
	margin-right: 0;
}



.bnrList{
	margin-left: 0;
	margin-right: 0;
}

.bnrList li{
	width: auto !important;
	margin-left: 0;
	margin-right: 0;
}



.gurunavi img{
	width: 160px;
}





}









@media screen and (max-width: 320px){

.mainVisual .flag{
	display: none;
}

.mainVisual .chara img{
display: none;
}

.snsListSide{
	top: 110px;
}


.mainVisual .bg{
	height: 55%;
}















}



