* {margin:0;padding:0;box-sizing:border-box;}

#imagelightbox{
	cursor:pointer;position:fixed;z-index:10000;
	-ms-touch-action:none;touch-action:none;
	-webkit-box-shadow:0 0 3.125em rgba( 0, 0, 0, .75 ); /* 50 */ box-shadow:0 0 3.125em rgba( 0, 0, 0, .75 ); /* 50 */ }

#imagelightbox-loading, #imagelightbox-loading div {border-radius:50%;}
#imagelightbox-loading{
	width:2.5em; /* 40 */ height:2.5em; /* 40 */ background-color:#444;background-color:rgba( 0, 0, 0, .5 );position:fixed;z-index:10003;top:50%;left:50%;padding:0.625em; /* 10 */ margin:-1.25em 0 0 -1.25em; /* 20 */
	-webkit-box-shadow:0 0 2.5em rgba( 0, 0, 0, .75 ); /* 40 */ box-shadow:0 0 2.5em rgba( 0, 0, 0, .75 ); /* 40 */ }
	#imagelightbox-loading div {width:1.25em; /* 20 */ height:1.25em; /* 20 */ background-color:#fff;-webkit-animation:imagelightbox-loading .5s ease infinite;animation:imagelightbox-loading .5s ease infinite;}
@-webkit-keyframes imagelightbox-loading {
	from { opacity:.5;-webkit-transform:scale( .75 ); }
	50% { opacity:1;-webkit-transform:scale( 1 ); }
	to { opacity:.5;-webkit-transform:scale( .75 ); }
}
@keyframes imagelightbox-loading {
	from { opacity:.5;transform:scale( .75 ); }
	50% { opacity:1;transform:scale( 1 ); }
	to { opacity:.5;transform:scale( .75 ); }
}
#imagelightbox-loading {
	-webkit-animation:fade-in .25s linear;
	animation:fade-in .25s linear;
}
@-webkit-keyframes fade-in {
	from { opacity:0; }
	to { opacity:1; }
}
@keyframes fade-in {
	from { opacity:0; }
	to { opacity:1; }
}

#imagelightbox-overlay {background:#000;background:rgba(0,0,0,0.2);position:fixed;z-index:9999;top:0;right:0;bottom:0;left:0;}

@media screen and (max-width:768px) {
	* {font-family:source-han-sans-japanese, sans-serif;font-style:normal;}
	body {color:#222;text-align:center;background:#fff;}
	a {color:#d70d94;text-decoration:underline;transition:0.2s ease-in-out;}
		a:hover {color:#365899;text-decoration:none;}
	img {max-width:100%;height:auto;border:0;vertical-align:bottom;}
		#map img {max-width:none;}
	
	#nav_opener {display:inline-block;position:fixed;width:50px;height:44px;top:15px;left:15px;z-index:20;cursor:pointer;background:#fff;}
		#nav_opener span {display:inline-block;position:absolute;left:5px;width:40px;height:4px;background:#000;transition:all 0.4s;}
			#nav_opener span:nth-of-type(1) {top:8px;}
			#nav_opener span:nth-of-type(2) {top:20px;}
			#nav_opener span:nth-of-type(3) {bottom:8px;}
				#nav_opener.active span:nth-of-type(1) {transform:translateY(12px) rotate(-45deg);}
				#nav_opener.active span:nth-of-type(2) {opacity:0;}
				#nav_opener.active span:nth-of-type(3) {transform: translateY(-12px) rotate(45deg);}
	
	header {padding:45px 30px;background:#000 url(/hanabi/img/header.jpg) no-repeat right center;background-size:auto 100%;}
		header > div {}
			header #logo {width:calc(100% - 90px);filter: drop-shadow(3px 3px 6px rgba(0,0,0,0.8));margin:0 auto 15px auto;}
				header #logo a {display:block;}
					header #logo a img {width:100%;}
			header #head_summary {width:70%;filter: drop-shadow(3px 3px 6px rgba(0,0,0,0.8));margin:0 auto;}
	
	#index_page header {background:#000 url(/hanabi/img/bg/1.jpg) no-repeat center center;background-size:cover;width:100%;height:100vh;top:0;left:0;display:flex;justify-content:center;align-items:center;}
		#index_page header > div {display:block;width:auto;}
			#index_page header #logo {width:80vw;margin:0 auto 30px auto;filter: drop-shadow(3px 3px 6px rgba(0,0,0,0.8));}
				#index_page header #logo h1 {font-size:1rem;}
			#index_page header #head_summary {width:100%;margin:0 auto;filter: drop-shadow(3px 3px 6px rgba(0,0,0,0.8));}
	
	#nav {width:100%;height:100vh;background:rgba(0,0,0,0.7);transition:0.2s ease-in-out;position:fixed;padding:30px 30px;top:-100vh;left:0;z-index:900;}
	#nav.active {top:0;}
		#nav ul {background:rgba(255,255,255,0.9);list-style:none;text-align:center;border-radius:10px;}
			#nav ul li {font-size:1.0rem;line-height:1;}
				#nav ul li a {padding:25px 0;display:block;text-decoration:none;color:#444;}
	
	article {padding:60px 30px;background:#fff;text-align:left;}
		article section {margin:0 auto;}
			article h1 {font-size:4vw;margin:0 auto;}
			article h2 {font-size:6.5vw;line-height:1.5;margin:60px 0 45px 0;padding:60px 0 0 0;border-top:1px solid rgba(0,0,0,0.3);}
				article h2 span {display:block;}
			article h3 {font-size:5vw;line-height:1.5;margin:0 0 15px 0;}
			article h4 {font-size:4.5vw;line-height:1.5;margin:0 0 15px 0;}
			article p {font-size:4vw;line-height:1.8;margin:0 0 30px 0;}
			
			article ul.notice {list-style:none;margin:0 0 45px 0;padding:15px 15px;background:#f6f6f6;}
				article ul.notice li {font-size:3vw;line-height:1.5;margin:0 0 5px 0;}
				article ul.notice li:last-child {margin:0;}
			
			article ul.caution {list-style:none;margin:0 0 45px 0;padding:15px 15px;border:1px solid #e83828;}
				article ul.caution li {font-size:3.5vw;line-height:1.5;margin:0 0 5px 0;color:#e83828;}
				article ul.caution li:last-child {margin:0;}
		
		#index_page article {}
			#index_page article #concept {text-align:center;}
				#index_page article #concept p {font-size:3.3vw;}
					#index_page article #concept p span {display:block;}
				#index_page article #concept img {width:70%;margin:0 0 45px 0;}
			#index_page article #summary {}
				#index_page article #summary > div {display:flex;justify-content:space-between;flex-wrap:wrap;}
					#index_page article #summary > div .info {}
						#index_page article #summary > div .info dl {}
							#index_page article #summary > div .info dl dt {font-size:4.5vw;line-height:1.5;font-weight:bold;margin:0 0 10px 0;}
							#index_page article #summary > div .info dl dd {font-size:4vw;line-height:1.8;margin:0 0 30px 0;}
					#index_page article #summary > div .brochure {text-align:center;font-size:3.5vw;}
						#index_page article #summary > div .brochure a:hover {opacity:0.5;}
							#index_page article #summary > div .brochure img {margin:0 0 10px 0;}
		
		#about_page article {}
			#about_page article ul {list-style:none;display:flex;justify-content:space-between;flex-wrap:wrap;}
				#about_page article ul li {width:calc(100% / 2 - 5px);margin:0 0 30px 0;text-align:center;font-size:3vw;line-height:1.5;}
					#about_page article ul li a {}
					#about_page article ul li a:hover {opacity:0.5;}
						#about_page article ul li img {margin:0 0 10px 0;}
		
		#access_page article {}
			#access_page article .map_change {list-style:none;margin:0 0 15px 0;padding:0 0 0 15px;margin:0 0 15px 0;border-bottom:1px solid #ccc;}
				#access_page article .map_change li {font-size:4vw;line-height:1;padding:15px 30px;margin:0 5px 0 0;display:inline-block;border:1px solid #ccc;cursor:pointer;background:#f6f6f6;border-radius:2px 2px 0 0;position:relative;bottom:-1px;transition:0.2s ease-in-out;}
				#access_page article .map_change li:hover {background:#fff;color:#0078C6;border-bottom:1px solid #fff;}
				#access_page article .map_change li.on {background:#fff;color:#0078C6;border-bottom:1px solid #fff;}
			#access_page article .map {margin:0 0 15px 0;}
				#access_page article .map iframe {height:70vh;}
			#access_page article .access {}
				#access_page article .access > div {}
					#access_page article .access > div table {width:100%;border-collapse:separate;border-spacing:0;margin:0 0 30px 0;}
						#access_page article .access > div table th {font-weight:normal;font-size:3.5vw;line-height:1.5;padding:10px 0 10px 10px;background:#fcfcfc;white-space:nowrap;border-top:1px solid #ccc;border-bottom:1px solid #ccc;}
							#access_page article .access > div table tr th:last-child {padding-right:10px;}
						#access_page article .access > div table td {font-size:3.5vw;line-height:1.5;padding:10px 0 10px 10px;border-bottom:1px solid #eee;}
							#access_page article .access > div table tr td:last-child {padding-right:10px;}
			#access_page article ul:not([class]) {margin:0 0 30px 30px;}
				#access_page article ul:not([class]) li {font-size:3.5vw;line-height:1.5;margin:0 0 5px 0;}
		
		#sponsorship_page article {}
			#sponsorship_page article .tbl_wrapper {width:100%;overflow-x:auto;margin:0 0 30px 0;}
				#sponsorship_page article table {width:100%;border-collapse:separate;border-spacing:0;border:1px solid #ccc;margin:0 0 10px 0;}
					#sponsorship_page article table th {font-weight:normal;font-size:3.5vw;line-height:1.5;padding:10px 10px;border-right:1px solid #eee;background:#fcfcfc;white-space:nowrap;}
						#sponsorship_page article table tr th:last-child {border-right:0;}
					#sponsorship_page article table td {font-size:3.5vw;line-height:1.5;padding:10px 10px;border-right:1px solid #eee;border-top:1px solid #eee;white-space:nowrap;}
						#sponsorship_page article table tr td:last-child {border-right:0;}
	
	#footer_nav {display:none;}
	
	footer {padding:60px 30px;background:#000;color:#fff;text-align:left;}
		footer > div {}
			footer > div > div {}
			footer > div > div:nth-of-type(1) {margin:0 0 30px 0;}
			footer > div > div:nth-of-type(2) {}
				footer > div > div:nth-of-type(2) div {font-size:5vw;line-height:1.5;margin:0 0 15px 0;}
				footer address {font-size:3.5vw;line-height:1.6;margin:0 0 30px 0;}
					footer address a:nth-of-type(1) {color:#fff;text-decoration:none;}
				footer .copyright {font-size:3vw;}
}

@media screen and (min-width:769px) {
	* {font-family:source-han-sans-japanese, sans-serif;font-style:normal;}
	body {color:#222;text-align:center;background:#fff;}
	a {color:#d70d94;text-decoration:underline;transition:0.2s ease-in-out;}
		a:hover {color:#365899;text-decoration:none;}
	img {max-width:100%;height:auto;border:0;vertical-align:bottom;}
		#map img {max-width:none;}
	
	#nav_opener {display:none;}
	
	header {padding:45px 0;background:#000 url(/hanabi/img/header.jpg) no-repeat right center;background-size:auto 100%;}
		header > div {display:flex;width:1000px;margin:0 auto;justify-content:space-between;align-items:center;}
			header #logo {width:600px;filter: drop-shadow(3px 3px 6px rgba(0,0,0,0.8));text-align:left;}
				header #logo a {display:block;}
					header #logo a img {width:100%;}
			header #head_summary {width:300px;filter: drop-shadow(3px 3px 6px rgba(0,0,0,0.8));}
	
	#index_page header {background:#000 url(/hanabi/img/bg/1.jpg) no-repeat center center;background-size:cover;position:fixed;z-index:-1;width:100%;height:100vh;top:0;left:0;display:flex;justify-content:center;align-items:center;}
		#index_page header > div {display:block;width:auto;}
			#index_page header #logo {width:60vw;margin:0 auto 30px auto;filter: drop-shadow(3px 3px 6px rgba(0,0,0,0.8));}
				#index_page header #logo h1 {font-size:1rem;}
			#index_page header #head_summary {width:30vw;margin:0 auto;filter: drop-shadow(3px 3px 6px rgba(0,0,0,0.8));}
	
	nav:not(#footer_nav) {background:#d70d94;}
		nav:not(#footer_nav) ul {list-style:none;display:flex;justify-content:center;width:1000px;margin:0 auto;}
			nav:not(#footer_nav) ul li {font-size:1.25rem;line-height:1.5;width:100%;}
			nav:not(#footer_nav) ul li:last-child {display:none;}
			body:not(#index_page) nav:not(#footer_nav) ul li:first-child {display:none;}
				nav:not(#footer_nav) ul li a {color:#fff;text-decoration:none;display:block;padding:30px 0;}
					nav:not(#footer_nav) ul li a:hover {background:rgba(0,0,0,0.1);color:#eee}
					nav:not(#footer_nav) ul li.cur a {background:rgba(0,0,0,0.2);color:#eee}
	
	#index_page nav:not(#footer_nav) {margin-top:100vh;}
	
	article {padding:60px 0;background:#fff;text-align:left;}
		article section {width:1000px;margin:0 auto;}
			article h1 {font-size:1.5rem;width:1000px;margin:0 auto;}
			article h2 {font-size:3rem;line-height:1.5;margin:60px 0 45px 0;padding:60px 0 0 0;border-top:1px solid rgba(0,0,0,0.3);}
			article h3 {font-size:2rem;line-height:1.5;margin:0 0 15px 0;}
			article h4 {font-size:1.5rem;line-height:1.5;margin:0 0 15px 0;}
			article p {font-size:1.25rem;line-height:1.8;margin:0 0 30px 0;}
			article ul.notice {list-style:none;margin:0 0 45px 0;padding:15px 15px;background:#f6f6f6;}
				article ul.notice li {font-size:1rem;line-height:1.5;margin:0 0 5px 0;}
				article ul.notice li:last-child {margin:0;}
			
			article ul.caution {list-style:none;margin:0 0 45px 0;padding:15px 15px;border:1px solid #e83828;}
				article ul.caution li {font-size:1.25rem;line-height:1.5;margin:0 0 5px 0;color:#e83828;}
				article ul.caution li:last-child {margin:0;}
		
		#index_page article {}
			#index_page article #concept {text-align:center;}
				#index_page article #concept img {width:50%;margin:0 0 45px 0;}
			#index_page article #summary {}
				#index_page article #summary > div {display:flex;justify-content:space-between;flex-wrap:wrap;}
					#index_page article #summary > div .info {width:560px;}
						#index_page article #summary > div .info dl {}
							#index_page article #summary > div .info dl dt {font-size:1.5rem;line-height:1.5;font-weight:bold;margin:0 0 10px 0;}
							#index_page article #summary > div .info dl dd {font-size:1.25rem;line-height:1.8;margin:0 0 30px 0;}
					#index_page article #summary > div .brochure {width:400px;text-align:center;}
						#index_page article #summary > div .brochure a:hover {opacity:0.5;}
							#index_page article #summary > div .brochure img {margin:0 0 10px 0;}
		
		#about_page article {}
			#about_page article ul {list-style:none;display:flex;justify-content:space-between;flex-wrap:wrap;}
				#about_page article ul li {width:calc(100% / 5 - 5px);margin:0 0 30px 0;text-align:center;font-size:1rem;line-height:1.5;}
					#about_page article ul li a {}
					#about_page article ul li a:hover {opacity:0.5;}
						#about_page article ul li img {margin:0 0 10px 0;}
		
		#access_page article {}
			#access_page article .map_change {list-style:none;margin:0 0 15px 0;padding:0 0 0 15px;margin:0 0 15px 0;border-bottom:1px solid #ccc;}
				#access_page article .map_change li {font-size:1.25rem;line-height:1;padding:15px 30px;margin:0 5px 0 0;display:inline-block;border:1px solid #ccc;cursor:pointer;background:#f6f6f6;border-radius:2px 2px 0 0;position:relative;bottom:-1px;transition:0.2s ease-in-out;}
				#access_page article .map_change li:hover {background:#fff;color:#0078C6;border-bottom:1px solid #fff;}
				#access_page article .map_change li.on {background:#fff;color:#0078C6;border-bottom:1px solid #fff;}
			#access_page article .map {margin:0 0 15px 0;}
			#access_page article .access {display:flex;justify-content:space-between;margin:0 0 30px 0;}
				#access_page article .access > div {width:calc(50% - 15px);}
					#access_page article .access > div table {width:100%;border-collapse:separate;border-spacing:0;}
						#access_page article .access > div table th {font-weight:normal;font-size:1.25rem;line-height:1.5;padding:10px 0 10px 10px;background:#fcfcfc;white-space:nowrap;border-top:1px solid #ccc;border-bottom:1px solid #ccc;}
							#access_page article .access > div table tr th:last-child {padding-right:10px;}
						#access_page article .access > div table td {font-size:1.25rem;line-height:1.5;padding:10px 0 10px 10px;border-bottom:1px solid #eee;}
							#access_page article .access > div table tr td:last-child {padding-right:10px;}
			#access_page article ul:not([class]) {margin:0 0 30px 30px;}
				#access_page article ul:not([class]) li {font-size:1rem;line-height:1.5;margin:0 0 5px 0;}
		
		#sponsorship_page article {}
			#sponsorship_page article table {width:100%;border-collapse:separate;border-spacing:0;border:1px solid #ccc;margin:0 0 30px 0;}
				#sponsorship_page article table th {font-weight:normal;font-size:1.25rem;line-height:1.5;padding:15px 15px;border-right:1px solid #eee;background:#fcfcfc;}
					#sponsorship_page article table tr th:last-child {border-right:0;}
				#sponsorship_page article table td {font-size:1.25rem;line-height:1.5;padding:15px 15px;border-right:1px solid #eee;border-top:1px solid #eee;}
					#sponsorship_page article table tr td:last-child {border-right:0;}
	
	#footer_nav {padding:30px 0;background:#d70d94;}
		#footer_nav ul {list-style:none;display:flex;justify-content:center;}
			#footer_nav ul li {font-size:1.25rem;line-height:1.5;margin:0 10px;}
				#footer_nav ul li a {color:#fff;text-decoration:none;}
					#footer_nav ul li a:hover {color:#999;}
	
	footer {padding:60px 0;background:#000;color:#fff;text-align:left;}
		footer > div {display:flex;justify-content:space-between;width:1000px;margin:0 auto;flex-direction:row-reverse;}
			footer > div > div {width:calc(50% - 15px);}
			footer > div > div:nth-of-type(1) {}
			footer > div > div:nth-of-type(2) {}
				footer > div > div:nth-of-type(2) div {font-size:2rem;line-height:1.5;margin:0 0 15px 0;}
				footer address {font-size:1.25rem;line-height:1.6;margin:0 0 30px 0;}
					footer address a:nth-of-type(1) {color:#fff;text-decoration:none;}
				footer .copyright {font-size:0.875rem;}
}
