* {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:599px) {
	* {font-family:"Noto Sans JP", sans-serif;font-style:normal;}
	body {color:#222;text-align:center;background:#fff;}
		body.fix {position:fixed;overflow-y:scroll;}
	a {color:#4257AA;text-decoration:underline;transition:0.2s ease-in-out;}
		a:hover {color:#4b3a93;text-decoration:none;}
	img {max-width:100%;height:auto;border:0;vertical-align:bottom;}
		#map img {max-width:none;}
	
	#overlay-button {position:fixed;left:20px;top:20px;padding:18px 6px;z-index:2000;cursor:pointer;user-select:none;border:1px solid #fff;transition:all .2s ease-in-out;background:#000;}
		#overlay-button span {height:4px;width:30px;background:#fff;position:relative;display:block;transition:all .2s ease-in-out;}
			#overlay-button span:before {top:-10px;left:0;visibility:visible;}
			#overlay-button span:after {top:10px;left:0;}
			#overlay-button span:before,
			#overlay-button span:after {height:4px;width:30px;background:#fff;position:absolute;content:"";transition:all .2s ease-in-out;}
				#overlay-button:hover span,
				#overlay-button:hover span:before,
				#overlay-button:hover span:after {background:#999;}
	
	#overlay-input {display: none;}
		input[type=checkbox]:checked ~ #overlay {visibility:visible;}
		input[type=checkbox]:checked ~ #overlay-button {border:0;background:none;}
		input[type=checkbox]:checked ~ #overlay-button:hover span,
		input[type=checkbox]:checked ~ #overlay-button span {background:transparent;}
		input[type=checkbox]:checked ~ #overlay-button span:before {transform:rotate(45deg) translate(7px, 7px);}
		input[type=checkbox]:checked ~ #overlay-button span:after {transform:rotate(-45deg) translate(7px, -7px);}
	
	#overlay {height:100vh;width:100%;background:rgba(0,0,0,0.7);z-index:1000;visibility:hidden;position:fixed;top:0;left:0;display:flex;flex-direction:column;justify-content:center;transition:all .2s ease-in-out;padding:0 25px;}
		#overlay ul {list-style:none;display:flex;flex-direction:column;flex-wrap:wrap;gap:5px 0;}
			#overlay ul li {text-align:center;}
				#overlay ul li a {display:block;color:#fff;text-decoration:none;font-size:4vw;border:1px solid #fff;padding:15px 0;transition:unset;background:rgba(0,0,0,0.5);}
					#overlay ul li a:hover {background:rgba(255,255,255,0.7);color:#000;}
						#overlay ul li.cur a {background:#2e3350;color:#fff;}
	
	#caution {background:#c00;position:fixed;z-index:100;bottom:0;left:0;width:100%;}
			#caution a {display:block;text-decoration:none;color:#fff;font-size:3.5vw;line-height:1.4;padding:15px 15px;}
				#caution a:hover {text-decoration:underline;}
	
	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:65vh;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));}
	
	article {padding:30px 30px;background:#fff;text-align:left;}
		article section {margin:0 auto;}
			article h1 {font-size:5vw;margin:0 auto;}
			article h2 {font-size:6.5vw;line-height:1.4;margin:30px 0 45px 0;padding:30px 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.4;margin:0 0 15px 0;}
			article h4 {font-size:4.5vw;line-height:1.4;margin:0 0 15px 0;}
			article p {font-size:4vw;line-height:1.6;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:3.5vw;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;}
			
			article .entry {padding:30px 0 0 0;}
				article .entry a {display:block;text-align:center;padding:15px 0;background:#4257AA;color:#fff;text-decoration:none;border-radius:3rem;font-size:4vw;}
					article .entry a:hover {background:#4b3a93;}
		
		/*#index_page article {}*/
		#index_page article {padding:45px 0;}
			#index_page article #to_be_held {}
				#index_page article #to_be_held h2 {border:0;text-align:center;margin:0;padding:0;}
			
			#index_page article #announce {background:#4b3a93;color:#fff;padding:15px 30px;font-size:4vw;line-height:1.5;font-weight:900;}
			#index_page article #end {width:100%;padding:30px 30px 0 30px;}
				#index_page article #end h2 {border:0;margin:0;padding:0 0 15px 0;text-align:center;}
				#index_page article #end p {padding:0 0 15px 0;font-size:4.5vw;line-height:1.4;font-weight:bold;}
			#index_page article #concept {text-align:center;padding:0 30px;}
				#index_page article #concept h2 {border:0;margin:0 0 15px 0;}
				#index_page article #concept .decide {margin:0 0 15px 0;padding:15px 0;border-top:1px solid #c00;border-bottom:1px solid #c00;font-size:4vw;font-weight:bold;line-height:1.4;color:#c00;}
					#index_page article #concept .decide br:nth-of-type(2) {display:none;}
				#index_page article #concept p {font-size:3.3vw;}
					#index_page article #concept p span {display:block;}
				#index_page article #concept .typo {width:100%;margin:45px 0 45px 0;}
				#index_page article #concept > div {}
					#index_page article #concept > div a {display:block;font-size:3.3vw;line-height:1.4;text-decoration:none;padding:15px 0;border-radius:4rem;background:#4257AA;color:#fff;position:relative;}
						#index_page article #concept > div a:before {content:"";display:block;position:absolute;right:1.5rem;top:50%;margin-top:-6px;width:10px;height:10px;border-top:2px solid #fff;border-right:2px solid #fff;transform:rotate(45deg);}
						#index_page article #concept > div a:hover {background:#4b3a93;}
				#index_page article #concept ul {list-style:none;display:flex;justify-content:space-between;flex-wrap:wrap;}
					#index_page article #concept ul li {width:calc(100% / 2 - 5px);margin:0 0 30px 0;}
						#index_page article #concept ul li img {margin:0 0 15px 0;}
						#index_page article #concept ul li div:nth-of-type(1) {font-size:4vw;line-height:1.4;font-weight:900;margin:0 0 10px 0;}
						#index_page article #concept ul li div:nth-of-type(2) {font-size:3.3vw;line-height:1.4;}
			#index_page article #summary {padding:30px 0 0 0;margin:30px 30px;border-top:1px solid rgba(0,0,0,0.3);}
				#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 {display:flex;flex-wrap:wrap;gap:10px 10px;padding:0 0 30px 0;}
							#index_page article #summary > div .info dl dt {font-size:4vw;line-height:1.5;font-weight:bold;width:12vw;}
							#index_page article #summary > div .info dl dd {font-size:4vw;line-height:1.5;width:calc(100% - 12vw - 10px);}
					#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;}
			#index_page article #person {}
				#index_page article #person > div {}
						#index_page article #person > div > div:nth-of-type(1) {padding:0 0 15px 0;}
							#index_page article #person > div > div {}
								#index_page article #person > div > div div a {font-size:4vw;}
		
		#about_page article {}
			#about_page article ul {list-style:none;display:flex;flex-wrap:wrap;gap:30px 5px;}
				#about_page article ul li {width:calc(100% / 2 - 5px);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 5px 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;}
		
		#venue_page article {}
			#venue_page article h2:first-child {border:0;padding:0;}
			#venue_page article .tab {list-style:none;display:flex;flex-wrap:wrap;gap:5px 0;padding:30px 0 0 0;}
				#venue_page article .tab li {font-size:4vw;line-height:1;text-align:center;width:100%;}
					#venue_page article .tab li a {display:block;padding:15px 15px;text-decoration:none;color:#222;border:1px solid #ccc;background:#f6f6f6;border-radius:4px;}
				#venue_page article .tab li a:hover {background:#fff;color:#0078C6;}
				#venue_page article .tab li.cur a {background:#fff;}
			
			#venue_page .flex {display:flex;flex-direction:column;gap:15px 0;}
				#venue_page .flex > img {}
				#venue_page .flex > div {}
			
			#venue_page article .tabisaki {padding:20px 20px;background:#fff6dc;margin:0 0 15px 0;}
				#venue_page article .tabisaki p {margin:0;line-height:1.5;}
			
			#venue_page article ul:not([class]) {margin:0 0 30px 30px;}
				#venue_page article ul:not([class]) li {font-size:3.5vw;line-height:1.5;margin:0 0 5px 0;}
					#venue_page article ul:not([class]) li strong {color:#315398;}
			
			#venue_page article .tbl_wrapper {width:100%;overflow-x:auto;margin:0 0 15px 0;}
				#venue_page article table {width:100%;border-collapse:separate;border-spacing:0;border:1px solid #ccc;margin:0 0 15px 0;}
					#venue_page article table th {font-weight:normal;font-size:3vw;line-height:1.5;padding:5px 10px;border-right:1px solid #eee;background:#fcfcfc;white-space:nowrap;}
						#venue_page article table tr th:last-child {border-right:0;}
					#venue_page article table td {font-size:4vw;line-height:1.5;padding:10px 10px;border-right:1px solid #eee;border-top:1px solid #eee;white-space:nowrap;}
						#venue_page article table tr td:last-child {border-right:0;}
		
		#message_page article {}
			#message_page article ol {list-style:none;margin:0 0 30px 0;display:flex;gap:10px 10px;text-align:center;flex-wrap:wrap;}
				#message_page article ol li {width:calc(50% - 5px);font-size:3.5vw;line-height:1.5;}
					#message_page article ol li img {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;}
			#sponsorship_page article #list {}
				#sponsorship_page article #list ul {list-style:none;display:flex;flex-wrap:wrap;gap:10px 10px;margin:0 0 45px 0;}
					#sponsorship_page article #list ul li {font-size:4vw;line-height:1.3;}
						#sponsorship_page article #list ul li a {display:inline-block;padding:10px 10px;text-decoration:none;border:1px solid #4257AA;border-radius:5px;}
							#sponsorship_page article #list ul li a:hover {background:#4257AA;color:#fff;}
						#sponsorship_page article #list ul li span {display:inline-block;padding:10px 10px;border:1px solid #ccc;border-radius:5px;}
		
		#person_page article {}
			#person_page article section > div {}
				#person_page article section > div > img {width:100%;margin:0 0 10px 0;}
				#person_page article section > div > div {}
					#person_page article section > div > div h3 + div {font-size:4vw;line-height:1.5;margin:0 0 30px 0;}
				#person_page article section dl {padding:20px 20px 0 20px;background:#f9f9f9;}
					#person_page article section dl dt {font-size:3.5vw;line-height:1.6;margin:0 0 5px 0;}
					#person_page article section dl dd {font-size:3.5vw;line-height:1.6;margin:0 0 20px 0;padding:0 0 20px 0;border-bottom:1px solid #ddd;}
						#person_page article section dl dd:last-child {border-bottom:0;}
		
		#photo_contest_page article {}
			#photo_contest_page article section ul#gallery {list-style:none;display:flex;flex-wrap:wrap;gap:5px 5px;}
				#photo_contest_page article section ul#gallery li {width:calc(100% / 2 - 5px * 1/2);aspect-ratio:1;}
					#photo_contest_page article section ul#gallery li img {width:100%;height:100%;object-fit:cover;}
						#photo_contest_page article section ul#gallery li a:hover {opacity:0.5;}
	
	#footer_nav {display:none;}
	
	footer {padding:60px 30px 100px 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;}
	
	#fixed_announce {position:fixed;bottom:0;width:100%;background:#4b3a93;z-index:10;color:#fff;padding:15px 15px;font-size:3.3vw;line-height:1.5;font-weight:900;}
}

@media screen and (min-width:600px) and (max-width:1024px) {
	* {font-family:"Noto Sans JP", sans-serif;font-style:normal;}
	body {color:#222;text-align:center;background:#fff;}
		body.fix {position:fixed;overflow-y:scroll;}
	a {color:#4257AA;text-decoration:underline;transition:0.2s ease-in-out;}
		a:hover {color:#4b3a93;text-decoration:none;}
	img {max-width:100%;height:auto;border:0;vertical-align:bottom;}
		#map img {max-width:none;}
	
	#overlay-button {position:fixed;left:20px;top:20px;padding:18px 6px;z-index:2000;cursor:pointer;user-select:none;border:1px solid #fff;transition:all .2s ease-in-out;background:#000;}
		#overlay-button span {height:4px;width:30px;background:#fff;position:relative;display:block;transition:all .2s ease-in-out;}
			#overlay-button span:before {top:-10px;left:0;visibility:visible;}
			#overlay-button span:after {top:10px;left:0;}
			#overlay-button span:before,
			#overlay-button span:after {height:4px;width:30px;background:#fff;position:absolute;content:"";transition:all .2s ease-in-out;}
				#overlay-button:hover span,
				#overlay-button:hover span:before,
				#overlay-button:hover span:after {background:#999;}
	
	#overlay-input {display: none;}
		input[type=checkbox]:checked ~ #overlay {visibility:visible;}
		input[type=checkbox]:checked ~ #overlay-button {border:0;background:none;}
		input[type=checkbox]:checked ~ #overlay-button:hover span,
		input[type=checkbox]:checked ~ #overlay-button span {background:transparent;}
		input[type=checkbox]:checked ~ #overlay-button span:before {transform:rotate(45deg) translate(7px, 7px);}
		input[type=checkbox]:checked ~ #overlay-button span:after {transform:rotate(-45deg) translate(7px, -7px);}
	
	#overlay {height:100vh;width:100%;background:rgba(0,0,0,0.7);z-index:1000;visibility:hidden;position:fixed;top:0;left:0;display:flex;flex-direction:column;justify-content:center;transition:all .2s ease-in-out;padding:0 25px;}
		#overlay ul {list-style:none;display:flex;flex-wrap:wrap;gap:5px 5px;}
			#overlay ul li {text-align:center;width:calc(100% / 2 - 5px * 1 / 2);}
				#overlay ul li a {display:block;color:#fff;text-decoration:none;font-size:1rem;border:1px solid #fff;padding:30px 0;transition:unset;background:rgba(0,0,0,0.5);}
					#overlay ul li a:hover {background:rgba(255,255,255,0.7);color:#000;}
						#overlay ul li.cur a {background:#2e3350;color:#fff;}
	
	#caution {background:#c00;position:fixed;z-index:100;bottom:0;left:0;width:100%;}
			#caution a {display:block;text-decoration:none;color:#fff;font-size:1rem;line-height:1;padding:15px 0;}
				#caution a:hover {text-decoration:underline;}
	
	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:65vh;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));}
	
	article {padding:60px 30px;background:#fff;text-align:left;}
		article section {margin:0 auto;}
			article h1 {font-size:1.5rem;margin:0 auto;}
			article h2 {font-size:2.25rem;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:1.5rem;line-height:1.5;margin:0 0 15px 0;}
			article h4 {font-size:1.25rem;line-height:1.5;margin:0 0 15px 0;}
			article p {font-size:1rem;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:0.875rem;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:0.875rem;line-height:1.5;margin:0 0 5px 0;color:#e83828;}
				article ul.caution li:last-child {margin:0;}
			
			article .entry {padding:30px 0 0 0;}
				article .entry a {display:block;text-align:center;padding:15px 0;background:#4257AA;color:#fff;text-decoration:none;border-radius:3rem;font-size:1.25rem;}
					article .entry a:hover {background:#4b3a93;}
		
		/*#index_page article {}*/
		#index_page article {padding:30px 30px 60px 30px;}
			#index_page article #to_be_held {}
				#index_page article #to_be_held h2 {border:0;text-align:center;margin:0;padding:0;}
			
			#index_page article #announce {background:#4b3a93;color:#fff;padding:15px 30px;font-size:1.5rem;line-height:1.5;font-weight:900;}
			#index_page article #end {}
				#index_page article #end h2 {border:0;margin:0;padding:30px 0 15px 0;text-align:center;}
				#index_page article #end p {padding:0 0 15px 0;font-size:1.25rem;line-height:1.5;font-weight:bold;}
			#index_page article #concept {text-align:center;}
				#index_page article #concept h2 {border:0;margin:0;padding:0 0 15px 0;}
					#index_page article #concept h2 br:nth-of-type(2) {display:none;}
				#index_page article #concept .decide {margin:0 0 15px 0;padding:15px 0;border-top:1px solid #c00;border-bottom:1px solid #c00;font-size:1.25rem;font-weight:bold;line-height:1.4;color:#c00;}
					//#index_page article #concept .decide br {display:none;}
				#index_page article #concept p {font-size:1rem;}
					#index_page article #concept p span {display:block;}
				#index_page article #concept .typo {width:70%;padding:45px 0 45px 0;}
				#index_page article #concept > div {}
					#index_page article #concept > div a {display:inline-block;font-size:1rem;line-height:1;text-decoration:none;padding:15px 40px;border-radius:2rem;background:#4257AA;color:#fff;position:relative;}
						#index_page article #concept > div a:before {content:"";display:block;position:absolute;right:20px;top:50%;margin-top:-6px;width:10px;height:10px;border-top:2px solid #fff;border-right:2px solid #fff;transform:rotate(45deg);}
						#index_page article #concept > div a:hover {background:#4b3a93;}
							#index_page article #concept > div a br {display:none;}
				#index_page article #concept ul {list-style:none;display:flex;justify-content:space-between;flex-wrap:wrap;}
					#index_page article #concept ul li {width:calc(100% / 2 - 10px);margin:0 0 30px 0;}
						#index_page article #concept ul li img {margin:0 0 15px 0;}
						#index_page article #concept ul li div:nth-of-type(1) {font-size:1.5rem;line-height:1.4;font-weight:900;margin:0 0 10px 0;}
						#index_page article #concept ul li div:nth-of-type(2) {font-size:1rem;line-height:1.4;}
			#index_page article #summary {padding:60px 0 0 0;margin-top:60px;border-top:1px solid rgba(0,0,0,0.3);}
				#index_page article #summary > div {display:flex;justify-content:space-between;flex-wrap:wrap;}
					#index_page article #summary > div .info {width:calc(60% - 30px);}
						#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:40%;text-align:center;font-size:0.875rem;}
						#index_page article #summary > div .brochure a:hover {opacity:0.5;}
							#index_page article #summary > div .brochure img {margin:0 0 10px 0;}
			#index_page article #person {}
				#index_page article #person > div {display:flex;justify-content:space-between;flex-direction:row-reverse;}
						#index_page article #person > div > div {width:calc(50% - 15px);}
							#index_page article #person > div > div {}
								#index_page article #person > div > div div a {display:inline-block;padding:15px 2rem;font-size:1rem;line-height:1;text-decoration:none;background:#4257AA;color:#fff;border-radius:2rem;}
									#index_page article #person > div > div div a:hover {background:#4b3a93;}
			#index_page article #hubago {}
				#index_page article #hubago > div {display:flex;justify-content:space-between;}
					#index_page article #hubago > div > div {width:calc(50% - 15px);}
						#index_page article #hubago > div > div.brochure {text-align:center;}
							#index_page article #hubago > div > div.brochure img {padding:0 0 5px 0;}
		
		#about_page article {}
			#about_page article ul {list-style:none;display:flex;flex-wrap:wrap;gap:30px 5px;}
				#about_page article ul li {width:calc(100% / 4 - 5px * 3 / 4);text-align:center;font-size:0.75rem;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 5px 0;width:100%;}
		
		#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:1rem;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 {display:flex;justify-content:space-between;margin:0 0 30px 0;}
				#access_page article .access > div {width:calc(50% - 10px);}
					#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:1rem;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:1rem;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:0.875rem;line-height:1.5;margin:0 0 5px 0;}
			#access_page article #regulation {}
				#access_page article #regulation > div {display:flex;justify-content:space-between;}
					#access_page article #regulation > div > div {width:calc(50% - 15px);}
		
		#venue_page article {}
			#venue_page article h2:first-child {border:0;padding:0;}
			#venue_page article .tab {list-style:none;display:flex;gap:0 5px;padding:30px 0 0 15px;border-bottom:1px solid #ccc;}
				#venue_page article .tab li {font-size:1rem;line-height:1;}
					#venue_page article .tab li a {display:block;padding:15px 20px;text-decoration:none;color:#222;border:1px solid #ccc;background:#f6f6f6;border-radius:2px 2px 0 0;margin-bottom:-1px;}
				#venue_page article .tab li a:hover {background:#fff;color:#0078C6;border-bottom:1px solid #fff;}
				#venue_page article .tab li.cur a {background:#fff;border-bottom:1px solid #fff;}
			
			#venue_page .flex {display:flex;flex-direction:row-reverse;justify-content:space-between;align-items:start;}
				#venue_page .flex > img {width:calc(50% - 15px);}
				#venue_page .flex > div {width:50%;}
			
			#venue_page article .tabisaki {padding:20px 20px;background:#fff6dc;margin:0 0 15px 0;}
				#venue_page article .tabisaki p {margin:0;line-height:1.5;}
			
			#venue_page article ul:not([class]) {margin:0 0 30px 30px;}
				#venue_page article ul:not([class]) li {font-size:0.875rem;line-height:1.5;margin:0 0 5px 0;}
					#venue_page article ul:not([class]) li strong {color:#315398;}
			
			#venue_page article .tbl_wrapper {width:100%;overflow-x:auto;margin:0 0 15px 0;}
				#venue_page article table {width:100%;border-collapse:separate;border-spacing:0;border:1px solid #ccc;margin:0 0 15px 0;}
					#venue_page article table th {font-weight:normal;font-size:0.875rem;line-height:1.5;padding:5px 10px;border-right:1px solid #eee;background:#fcfcfc;white-space:nowrap;}
						#venue_page article table tr th:last-child {border-right:0;}
					#venue_page article table td {font-size:1rem;line-height:1.5;padding:10px 10px;border-right:1px solid #eee;border-top:1px solid #eee;white-space:nowrap;}
						#venue_page article table tr td:last-child {border-right:0;}
		
		#message_page article {}
			#message_page article ol {list-style:none;margin:0 0 30px 0;display:flex;gap:0 10px;text-align:center;}
				#message_page article ol li {width:calc(25% - (30px / 4));font-size:0.875rem;line-height:1.5;}
					#message_page article ol li img {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:0.875rem;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:0.875rem;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;}
			#sponsorship_page article #list {}
				#sponsorship_page article #list ul {list-style:none;display:flex;flex-wrap:wrap;gap:15px 15px;margin:0 0 45px 0;}
					#sponsorship_page article #list ul li {font-size:1rem;line-height:1.3;}
						#sponsorship_page article #list ul li a {display:inline-block;padding:10px 10px;text-decoration:none;border:1px solid #4257AA;border-radius:5px;}
							#sponsorship_page article #list ul li a:hover {background:#4257AA;color:#fff;}
						#sponsorship_page article #list ul li span {display:inline-block;padding:10px 10px;border:1px solid #ccc;border-radius:5px;}
		
		#person_page article {}
			#person_page article section > div {display:flex;justify-content:space-between;align-items:flex-start;}
			#person_page article section > div:nth-of-type(1) {flex-direction:row-reverse;}
				#person_page article section > div > img {width:40%;}
				#person_page article section > div > div {width:calc(60% - 30px);}
					#person_page article section > div > div h3 + div {font-size:1rem;line-height:1.5;margin:0 0 30px 0;}
				#person_page article section dl {padding:30px 30px 0 30px;background:#f9f9f9;display:flex;flex-wrap:wrap;}
					#person_page article section dl dt {font-size:0.875rem;line-height:1.5;margin:0 0 30px 0;width:8rem;}
					#person_page article section dl dd {font-size:0.875rem;line-height:1.5;margin:0 0 30px 0;padding:0 0 0 30px;width:calc(100% - 8rem);border-left:1px solid #ddd;}
		
		#photo_contest_page article {}
			#photo_contest_page article section ul#gallery {list-style:none;display:flex;flex-wrap:wrap;gap:10px 10px;}
				#photo_contest_page article section ul#gallery li {width:calc(100% / 3 - 10px * 2/3);aspect-ratio:1;}
					#photo_contest_page article section ul#gallery li img {width:100%;height:100%;object-fit:cover;}
						#photo_contest_page article section ul#gallery li a:hover {opacity:0.5;}
	
	#footer_nav {display:none;}
	
	footer {padding:60px 30px 100px 30px;background:#000;color:#fff;text-align:center;}
		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:1.5rem;line-height:1.5;margin:0 0 15px 0;}
				footer address {font-size:0.875rem;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.75rem;}
	
	#fixed_announce {position:fixed;bottom:0;width:100%;background:#4b3a93;z-index:10;color:#fff;padding:15px 15px;font-size:3.3vw;line-height:1.5;font-weight:900;}
}

@media screen and (min-width:1025px) {
	* {font-family:"Noto Sans JP", sans-serif;font-style:normal;}
	body {color:#222;text-align:center;background:#fff;}
	a {color:#4257AA;text-decoration:underline;transition:0.2s ease-in-out;}
		a:hover {color:#4b3a93;text-decoration:none;}
	img {max-width:100%;height:auto;border:0;vertical-align:bottom;}
		#map img {max-width:none;}
	
	#nav_opener {display:none;}
	
	#caution {background:#c00;position:fixed;z-index:100;bottom:0;left:0;width:100%;}
			#caution a {display:block;text-decoration:none;color:#fff;font-size:1.125rem;line-height:1;padding:20px 0;}
				#caution a:hover {text-decoration:underline;}
	
	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:400px;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:400px;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;width:100%;height:65vh;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));}
				#index_page header #head_summary img {width:100%;}
	
	#overlay-input {display:none;}
	nav:not(#footer_nav) {background:#4257AA;}
		nav:not(#footer_nav) ul {list-style:none;display:flex;justify-content:center;width:1000px;margin:0 auto;flex-wrap:wrap;}
			nav:not(#footer_nav) ul li {font-size:1.25rem;line-height:1.5;width:calc(100% / 3);}
			nav:not(#footer_nav) ul li.sponly {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:20px 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:#fae300;}
	
	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;font-weight:700;}
			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);font-weight:700;}
			article h3 {font-size:2rem;line-height:1.5;margin:0 0 15px 0;font-weight:700;}
			article h4 {font-size:1.5rem;line-height:1.5;margin:0 0 15px 0;font-weight:700;}
			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;display:flex;flex-wrap:wrap;flex-direction:column;gap:5px 0;}
				article ul.notice li {font-size:1rem;line-height:1.5;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;}
			
			article .entry {padding:30px 0 0 0;}
				article .entry a {display:block;text-align:center;padding:20px 0;background:#4257AA;color:#fff;text-decoration:none;border-radius:3rem;font-size:1.5rem;}
					article .entry a:hover {background:#4b3a93;}
		
		/*#index_page article {}*/
		#index_page article {padding:60px 0 60px 0;}
			#index_page article #to_be_held {}
				#index_page article #to_be_held h2 {border:0;text-align:center;margin:0;padding:0;}
			
			#index_page article #announce {background:#4b3a93;color:#fff;padding:30px 30px;font-size:1.5rem;line-height:1.5;font-weight:900;margin:0 auto 60px auto;}
			#index_page article #end {width:100%;}
				#index_page article #end h2 {border:0;width:1000px;margin:0 auto 30px auto;text-align:center;padding:0;}
				#index_page article #end p {width:1000px;margin:0 auto;padding:0 0 15px 0;font-size:1.5rem;line-height:1.4;font-weight:bold;}
			
			#index_page article #concept {text-align:center;}
				#index_page article #concept h2 {border:0;padding:0;margin:0 0 30px 0;}
					#index_page article #concept h2 .sp {display:none;}
				#index_page article #concept .decide {margin:0 0 30px 0;padding:15px 0;border-top:1px solid #c00;border-bottom:1px solid #c00;font-size:1.5rem;font-weight:bold;line-height:1.4;color:#c00;}
					//#index_page article #concept .decide br {display:none;}
				#index_page article #concept .typo {width:80%;padding:45px 0 45px 0;}
				#index_page article #concept > div {}
					#index_page article #concept > div a {display:inline-block;font-size:1.25rem;line-height:1;text-decoration:none;padding:15px 60px;border-radius:2rem;background:#4257AA;color:#fff;position:relative;}
						#index_page article #concept > div a:before {content:"";display:block;position:absolute;right:30px;top:50%;margin-top:-6px;width:10px;height:10px;border-top:2px solid #fff;border-right:2px solid #fff;transform:rotate(45deg);}
						#index_page article #concept > div a:hover {background:#4b3a93;}
							#index_page article #concept > div a br {display:none;}
				#index_page article #concept ul {list-style:none;display:flex;justify-content:space-between;flex-wrap:wrap;}
					#index_page article #concept ul li {width:calc(100% / 3 - 10px);margin:0 0 30px 0;}
						#index_page article #concept ul li img {margin:0 0 15px 0;}
						#index_page article #concept ul li div:nth-of-type(1) {font-size:1.5rem;line-height:1.4;font-weight:900;margin:0 0 10px 0;}
						#index_page article #concept ul li div:nth-of-type(2) {font-size:1rem;line-height:1.4;}
			#index_page article #summary {padding:60px 0 0 0;margin-top:60px;border-top:1px solid rgba(0,0,0,0.3);}
				#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;}
			#index_page article #person {}
				#index_page article #person > div {display:flex;justify-content:space-between;flex-direction:row-reverse;}
						#index_page article #person > div > div {width:calc(50% - 15px);}
							#index_page article #person > div > div {}
								#index_page article #person > div > div div a {display:inline-block;padding:15px 2rem;font-size:1.25rem;line-height:1;text-decoration:none;background:#4257AA;color:#fff;border-radius:2rem;}
									#index_page article #person > div > div div a:hover {background:#4b3a93;}
			#index_page article #hubago {}
				#index_page article #hubago > div {display:flex;justify-content:space-between;}
					#index_page article #hubago > div > div {width:480px;}
						#index_page article #hubago > div > div.brochure {text-align:center;}
							#index_page article #hubago > div > div.brochure img {padding:0 0 5px 0;}
		
		#about_page article {}
			#about_page article ul {list-style:none;display:flex;flex-wrap:wrap;gap:30px 5px;}
				#about_page article ul li {width:calc(100% / 5 - 5px * 4 / 5);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 5px 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;}
			#access_page article #regulation {}
				#access_page article #regulation > div {display:flex;justify-content:space-between;}
					#access_page article #regulation > div > div {width:calc(50% - 15px);}
		
		#venue_page article {}
			#venue_page article h2:first-child {border:0;padding:0;}
			#venue_page article .tab {list-style:none;display:flex;gap:0 5px;padding:30px 0 0 15px;margin:0 auto;border-bottom:1px solid #ccc;width:1000px;}
				#venue_page article .tab li {font-size:1.25rem;line-height:1;}
					#venue_page article .tab li a {display:block;padding:20px 30px;text-decoration:none;color:#222;border:1px solid #ccc;background:#f6f6f6;border-radius:2px 2px 0 0;margin-bottom:-1px;}
				#venue_page article .tab li a:hover {background:#fff;color:#0078C6;border-bottom:1px solid #fff;}
				#venue_page article .tab li.cur a {background:#fff;border-bottom:1px solid #fff;}
			
			#venue_page .flex {display:flex;flex-direction:row-reverse;justify-content:space-between;align-items:start;}
				#venue_page .flex > img {width:480px;}
				#venue_page .flex > div {width:480px;}
			
			#venue_page article .tabisaki {padding:20px 20px;background:#fff6dc;margin:0 0 15px 0;}
				#venue_page article .tabisaki p {margin:0;line-height:1.5;}
			
			#venue_page article ul:not([class]) {margin:0 0 30px 30px;}
				#venue_page article ul:not([class]) li {font-size:1rem;line-height:1.5;margin:0 0 5px 0;}
					#venue_page article ul:not([class]) li strong {color:#c00;}
			
			#venue_page article .tbl_wrapper {width:100%;overflow-x:auto;margin:0 0 30px 0;}
				#venue_page article table {width:100%;border-collapse:separate;border-spacing:0;border:1px solid #ccc;margin:0 0 30px 0;}
					#venue_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;white-space:nowrap;}
						#venue_page article table tr th:last-child {border-right:0;}
					#venue_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;white-space:nowrap;}
						#venue_page article table tr td:last-child {border-right:0;}
		
		#message_page article {}
			#message_page article ol {list-style:none;margin:0 0 30px 0;display:flex;gap:0 15px;text-align:center;}
				#message_page article ol li {width:calc(25% - 10px);font-size:1rem;line-height:1.5;}
					#message_page article ol li img {margin:0 0 10px 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 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;white-space:nowrap;}
						#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;white-space:nowrap;}
						#sponsorship_page article table tr td:last-child {border-right:0;}
			#sponsorship_page article #list {}
				#sponsorship_page article #list ul {list-style:none;display:flex;flex-wrap:wrap;gap:15px 15px;margin:0 0 45px 0;}
					#sponsorship_page article #list ul li {font-size:1.25rem;line-height:1.3;}
						#sponsorship_page article #list ul li a {display:inline-block;padding:10px 10px;text-decoration:none;border:1px solid #4257AA;border-radius:5px;}
							#sponsorship_page article #list ul li a:hover {background:#4257AA;color:#fff;}
						#sponsorship_page article #list ul li span {display:inline-block;padding:10px 10px;border:1px solid #ccc;border-radius:5px;}
		
		#person_page article {}
			#person_page article section > div {display:flex;justify-content:space-between;align-items:flex-start;}
			#person_page article section > div:nth-of-type(1) {flex-direction:row-reverse;}
				#person_page article section > div > img {width:40%;}
				#person_page article section > div > div {width:calc(60% - 30px);}
					#person_page article section > div > div h3 + div {font-size:1rem;line-height:1.5;margin:0 0 30px 0;}
				#person_page article section dl {padding:30px 30px 0 30px;background:#f9f9f9;display:flex;flex-wrap:wrap;}
					#person_page article section dl dt {font-size:1rem;line-height:1.6;margin:0 0 30px 0;width:8rem;}
					#person_page article section dl dd {font-size:1rem;line-height:1.6;margin:0 0 30px 0;padding:0 0 0 30px;width:calc(100% - 8rem);border-left:1px solid #ddd;}
		
		#photo_contest_page article {}
			#photo_contest_page article section ul#gallery {list-style:none;display:flex;flex-wrap:wrap;gap:10px 10px;}
				#photo_contest_page article section ul#gallery li {width:calc(100% / 3 - 10px * 2/3);aspect-ratio:1;}
					#photo_contest_page article section ul#gallery li img {width:100%;height:100%;object-fit:cover;}
						#photo_contest_page article section ul#gallery li a:hover {opacity:0.5;}
	
	#footer_nav {padding:30px 0;background:#4257AA;}
		#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 100px 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;}
	
	#fixed_announce {position:fixed;bottom:0;width:100%;background:#4b3a93;z-index:10;color:#fff;padding:15px 15px;font-size:2rem;line-height:1.5;font-weight:900;}
}
