/* frame strucrure + foundamental tag property */

/* ▼▼▼ ローディング画面 ▼▼▼ */
@-webkit-keyframes ball-scale-multiple {
	0% {
		-webkit-transform: scale(0);
		transform: scale(0);
		opacity: 0;
	}

	5% {
		opacity: 1;
	}

	100% {
		-webkit-transform: scale(1);
		transform: scale(1);
		opacity: 0;
	}
}

@keyframes ball-scale-multiple {
	0% {
		-webkit-transform: scale(0);
		transform: scale(0);
		opacity: 0;
	}

	5% {
		opacity: 1;
	}

	100% {
		-webkit-transform: scale(1);
		transform: scale(1);
		opacity: 0;
	}
}

#loading {
	width: 100vw;
	height: 100vh;
	transition: all 0.5s;
	background-color: #f2e60d;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 9999;
	margin: 0;
}

.loader {
	width: 57px;
	height: 57px;
	margin: 200px auto;
	animation: sk-scaleout 1.0s infinite ease-in-out;
}

.loaded {
	opacity: 0;
	visibility: hidden;
}

.ball-scale-multiple {
	position: relative;
	-webkit-transform: translateY(-30px);
	transform: translateY(-30px);
}

.ball-scale-multiple>div:nth-child(2) {
	-webkit-animation-delay: -0.4s;
	animation-delay: -0.4s;
}

.ball-scale-multiple>div:nth-child(3) {
	-webkit-animation-delay: -0.2s;
	animation-delay: -0.2s;
}

.ball-scale-multiple>div {
	background-color: #fff;
	width: 15px;
	height: 15px;
	border-radius: 100%;
	margin: 2px;
	-webkit-animation-fill-mode: both;
	animation-fill-mode: both;
	position: absolute;
	opacity: 0;
	margin: 0;
	width: 60px;
	height: 60px;
	-webkit-animation: ball-scale-multiple 1s 0s linear infinite;
	animation: ball-scale-multiple 1s 0s linear infinite;
}

/* ▲▲▲ ここまで、ローディング画面 ▲▲▲ */

body {
	width: 100%;
	height: 100%;
	font-family: 'Noto Sans JP',
		sans-serif;
	font-size: 3vw;
}

hr {
	margin: 0;
	width: 1000px;
	margin: 0 auto;
	border: none;
	border-top: 2px #888 dotted;
}

@media screen and (max-width:999px) {
	hr {
		width: 100%;
	}
}

h1,
h2,
h3,
h4,
h5,
h6,
p {
	margin: 0;
	line-height: 1.8em;
}

p.center {
	text-align: center;
	width: 100%;
}

p.center img {
	max-width: 100%;
}

header,
footer {
	width: 100%;
	padding: 10px;
	margin: 0 auto;
	box-sizing: border-box;
	position: relative;
}

aside {
	width: 100%;
	padding: 10px;
	margin: 25px auto;
	box-sizing: border-box;
	position: relative;
}

section {
	width: 100%;
	padding: 10px;
	margin: 20px auto;
	box-sizing: border-box;
	position: relative;
}

section h2,
aside h2 {
	font-size: 4vw;
	line-height: 1.15;
	color: white;
	background-color: hsl(214, 78%, 31%);
	border-radius: 8px;
	margin: 0.2em 0;
	padding: 0.2em;
}

aside {
	background-color: #f1f1f1;
	margin: 0;
}

aside h2 {
	background-color: hsla(214, 22%, 30%, 1);
}

aside .bnrLst {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	width: 100%;
	list-style: none;
	margin: -1% 0 1em;
	padding: 0;
}

aside .bnrLst li {
	width: 48%;
	height: 22vw;
	margin: 4vw 0 0;
}

aside .bnrLst li a img {
	display: block;
	width: auto;
	max-width: 100%;
	max-height: 100%;
	margin: auto;
}

aside .bnrLst li a:hover img {
	opacity: 0.7;
}

section h3 {
	font-size: 3.5vw;
	color: #0d458f;
	border-bottom: 1px solid #00a6e7;
	margin: .2em 0;
}

/* section h3:not(.other_events_overview_h3) {
	background-color: skyblue;
	color: #fff;
	border-bottom: initial;
} */
@media screen and (max-width:999px) {
	#buttons {
		margin-top: 0;
		padding-top: 0;
	}
}

#nav_switch {
	font-size: 10vw;
	position: fixed;
	top: 10px;
	right: 10px;
	z-index: 10;
	z-index: 1002;
}

#nav_close_button {
	display: none;
}

nav {
	width: 90%;
	margin: 0 auto;
	padding: 10px;
	box-sizing: border-box;
	position: fixed;
	top: 0;
	right: -100%;
	z-index: 5;
	background-color: #DDD;
	height: 100%;
	overflow-y: scroll;
	transition: all .3s;
}

#sns_buttons {
	display: none;
}


/* top_button */

#top_button {
	display: none;
}



footer {
	text-align: right;
	line-height: 2em;
	background-color: #222;
	color: white;
}

@media print,
screen and (min-width:1000px) {

	body {
		font-size: 16px;
		/* padding-top:280px; */
	}

	#nav_switch {
		display: none;
	}

	header {
		/* position:fixed; */
		/* top:0; */
		background-color: white;
		z-index: 3;
	}

	nav {
		width: 100%;
		position: relative;
		top: 0;
		right: 0;
		height: auto;
		background-color: white;
		border-top: 3px solid #0d458f;
		border-bottom: 3px solid #0d458f;
		overflow-y: visible;
	}

	section h2,
	aside h2 {
		font-size: 20px;
		margin: 30px 0 20px 0;
		padding: 10px;
	}

	aside .bnrLst {
		justify-content: flex-start;
	}

	aside .bnrLst li {
		width: auto;
		height: 80px;
		margin: 1% 1% 0 0;
	}

	section h3 {
		font-size: 24px;
	}


	#sns_buttons {
		display: block;
		position: fixed;
		bottom: 3em;
		/* right: calc(50% + 510px); */
		right: calc(50% + 530px);
	}

	#top_button {
		display: block;
		position: fixed;
		width: 50px;
		height: 50px;
		bottom: 3em;
		left: calc(50% + 510px);
		cursor: pointer;
	}

	#top_button svg circle {
		fill: #0d458f;
	}


	.inner_1000 {
		width: 1000px;
		position: relative;
		margin: 0 auto;
		box-sizing: border-box;
	}

}

@media print {
	nav {
		position: relative !important;
	}
}

.packageDisp {
	border: solid 2px #0d458f;
	padding: 0 0.25em;
}

.packageDispVal {
	color: red;
	font-size: 1.5em;
	font-weight: bold;
}

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

#sns_buttons {
	font-size: 5em;
	display: block;
	position: fixed;
	bottom: 1em;
	right: calc(50% + 510px);
}

#sns_buttons a:nth-child(1) {
	color: #1877f2;
	margin-left: 100px;
}

#sns_buttons a:nth-child(2) {
	color: #55acee;
	margin-left: 105px;
}

.headerBr {
	display: none;
}

@media screen and (max-width:999px) {
	.headerBr {
		display: block;
	}

	.headerNikkan {
		margin-left: 3em;
	}
}