@charset "utf-8";

main > div.local-nav > div.note {
	margin: 2em auto 0;
	padding: 1.667%;
	max-width: 780px;
	background-color: rgba(247,247,247,1.00);
	box-sizing: border-box;
}
main > div.local-nav > div.note > p {
	margin-bottom: 0.8em;
	padding-left: 1em;
	text-indent: -1em;
	line-height: 1.4;
	font-size: 1.8rem;
}
main > div.local-nav > div.note > p > a:hover {
	opacity: 0.8;
}
main > div.local-nav > div.note .entry {
	padding-left: 0;
	text-indent: 0;
	text-align: center;
}
main > div.local-nav > div.note .entry a {
	color: rgba(255,255,255,1.00);
	background-color: rgba(248,142,45,1.00);
	border-radius: 5px;
	padding: 5px 20px;
	display: inline-block;
	text-indent: 0;
}
main > div.local-nav > div.program {
	margin: 2em auto 0;
	max-width: 780px;
}
main > div.local-nav > div.note > p:last-child {
	margin-bottom: 0;
}
main > div.local-nav > div.program > ul {
	text-align: center;
}
main > div.local-nav > div.program > ul > li {
	margin: 0 1em;
	display: inline-block;
	line-height: 1.5;
}
main > div.local-nav > div.program > ul > li > a {
	padding-left: 1.1em;
	border-radius: 3px;
	display: inline-block;
	color: rgba(39,39,39,1.00);
	background-image: url("../../images/contents/docs/icon-pdf.svg");
	background-repeat: no-repeat;
	background-position: left center;
	font-size: 2.0rem;
	font-weight: bold;
	text-decoration: underline;
}
main > div.local-nav > div.program > ul > li > a:hover {
	opacity: 0.7;
}
main > div.contents > div.live  {
	margin: 0 auto 100px;
	max-width: 900px;
	color: rgba(0,0,0,1.00);
	& div.body {
		&>h2 {
			margin-top: 136px;
			margin-bottom: 0.8em;
			font-weight: bold;
			text-align: center;
			line-height: 1.2;
			&>span {
				font-size: 80%;
				font-weight: bold;
			}
			@media screen and (max-width: 600px) {
				margin-top: 50px;
				font-size: 5.333vw;
				line-height: 1.2;
				&::before {
					top: -7.467vw
				}
			}
		}
		& h3 {
			margin-bottom: 0.5em;
			text-align: left;
			font-size: 2.0rem;
			font-weight: bold;
			line-height: 1.5;
		}
		& div.movie {
			width: 100%;
			height: auto;
			aspect-ratio: 16/9;
			& iframe {
				width: 100%;
				height: 100%;
			}
			&.youtube {
				margin-bottom: 30px;
			}
		}
		& div.link {
			margin-bottom: 30px;
			& ul {
				display: grid;
				grid-template-columns: repeat(2, 1fr);
				grid-template-rows: 1fr;
				grid-column-gap: 15px;
				grid-row-gap: 0px;
				@media screen and (max-width: 600px) {
					display: block;
				}
				& li {
					@media screen and (max-width: 600px) {
						margin-bottom: 5.333vw;
					}
					& a {
						padding: 5% 6%;
						border-radius: 15px;
						display: inline-block;
						width: 100%;
						box-sizing: border-box;
						color: rgba(255,255,255,1.00);
						background-color: var(--colorO1);
						font-size: 2.5rem;
						font-weight: bold;
						text-decoration: none;
						white-space: nowrap;
						text-align: center;
						&:hover {
							opacity: 0.7;
						}
						@media screen and (max-width: 600px) {
							font-size: 5.867vw;
						}
					}
				}
			}
		}
		& ul.notice {
			margin-top: 0.8em;
			margin-bottom: 1em;
			margin-left: 2.0rem;
			font-size: 90%;
			&>li {
				position: relative;
				margin-bottom: 0.5em;
				padding-left: 1.0rem;
				line-height: 1.4;
				&::before {
					background-color: rgba(67,67,67,1.00);
					content: "";
					border-radius: 50%;
					display: block;
					width: 4px;
					height: 4px;
					position: absolute;
					top: 0.8rem;
					left: 0;
					& a {
						color: rgba(35,24,21,0.85);
						text-decoration: underline;
					}
					& img {
						margin: 0 0.3em;
						width: auto;
						height: 15px;
					}
					&>ul {
						margin-top: 0.2em;
						font-size: 95%;
						&>li {
							margin-bottom: 0.2em;
							padding-left: 1em;
							text-indent: -1em;
							&::before {
								content:"・";
							}
						}
					}
				}
			}
		}
		& div.test {
			padding: 1em;
			border-top: dotted 1px rgba(203,203,203,1.00);
			text-align: center;
			& p.text {
				margin-bottom: 0;
				display: inline-block;
				vertical-align: middle;
				font-size: 90%;
				@media screen and (max-width: 600px) {
					margin-bottom: 0.4em;
					display: block;
					line-height: 1.4;
					text-align: left;
				}
			}
			& p.button {
				margin-bottom: 0;
				display: inline-block;
				vertical-align: middle;
				text-align: center;
				@media screen and (max-width: 600px) {
					display: block;
				}
				&>a {
					margin-bottom: 0;
					padding: 0.6em;
					display: inline-block;
					border: solid 1px rgba(130,130,130,1.00);
					border-radius: 0.4em;
					color: rgba(37,37,37,1.00);
					background-color: rgba(212,212,212,1.00);
					text-decoration: none;
					line-height: 1.0;
					font-weight: bold;
					font-size: 90%;
					&:hover {
						opacity: 0.7;
					}
				}
			}
		}
		& div.schedule {
			padding: 1.3em;
			background-color: rgba(247,247,247,0.90);
			text-align: center;
			font-size: 90%;
			&+h3 {
				margin-top: 60px;
			}
			&>p {
				margin-bottom: 1em;
				text-align: center;
				font-weight: bold;
				&>span {
					font-weight: bold;
					&.sat {
						color: rgba(0,100,183,1.00);
						display: inline;
						font-size: 100%;
					}
					&.sun {
						color: rgba(201,50,0,1.00);
						display: inline;
						font-size: 100%;
					}
				}
				@media screen and (max-width: 600px) {
					>span {
						display: block;
						font-size: 80%;
						font-weight: bold;
						line-height: 1.3;
					}
				}
				&.note {
					margin-top: 15px;
				}
			}
			&>div {
				display: flex;
				@media screen and (max-width: 600px) {
					display: block;
				}
				&+p.room {
					margin-top: 20px;
					border-top: solid 1px rgba(134, 134, 134, 0.3);
					padding-top: 20px;
				}
				&>dl {
					/*padding: 0 0.7em;*/
					padding: 0 0.6em;
					width: 50%;
					text-align: left;
					box-sizing: border-box;
					@media screen and (max-width: 600px) {
						width: 100%;
						&:first-child {
							margin-bottom: 0.6em;
						}
					}
					& dt {
						margin-bottom: 0.4em;
						font-weight: bold;
						line-height: 1.3;
						span.sat {
							color: rgba(0,100,183,1.00);
							font-weight: bold;
						}
						span.sun {
							color: rgba(201,50,0,1.00);
							font-weight: bold;
						}
					}
					& dd {
						padding-left: 0.5em;
						& p {
							margin-bottom: 0.4em !important;
							display: block;
							padding-left: 1em;
							text-indent: -1em;
							line-height: 1.4;
							text-align: initial;
							&:last-child {
								margin-bottom: 0;
							}
						}
					}
				}
			}
		}
	}
}

main > div.contents > section.exhibitor > div.body a {
	text-decoration: none;
}

main > div.contents > section > div.body > h2 > span > span.sat,
main > div.contents > section > div.body > h2 > span > span.sun {
	display: inline-block;
	margin-top: -3px;
	padding: 4px;
	border-radius: 50%;
	color: rgba(255,255,255,1.00);
	background-color: rgba(0,100,183,1.00);
	font-weight: bold;
	font-size: 70%;
	line-height: 1.0;
	vertical-align: middle;
}
main > div.contents > section > div.body > h2 > span > span.sun {
	background-color: rgba(201,50,0,1.00);
}

main > div.contents > section > div.body > div {
	margin: 0 0 0 240px;
	width: calc(100% - 240px);
}
main > div.contents > section#g410 > div.body > div {
	margin: -80px 0 0 240px;
}
main > div.contents > section > div.body > div h3 {
	margin-bottom: 0.5em;
	text-align: left;
	font-size: 2.0rem;
	font-weight: bold;
	line-height: 1.5;
}
main > div.contents > section > div.body > div h3 > span {
	line-height: 1.3;
	font-size: 90%;
}
html > body > main > div.contents > section > div.body table {
	margin: 0.5em 0 3em;
	width: 100%;
}
html > body > main > div.contents > section > div.body table:last-child {
	margin-bottom: 0;
}
html > body > main > div.contents > section > div.body table caption {
	margin-bottom: 0.5em;
	text-align: left;
	font-size: 2.0rem;
	font-weight: bold;
	line-height: 1.5;
}
html > body > main > div.contents > section > div.body table tr > th,
html > body > main > div.contents > section > div.body table tr > td {
	border-width: 1px 0 1px;
	padding: 15px 20px;
	line-height: 1.4;
}
main > div.contents > section > div.body > div table th {
	width: 12%;
	white-space: nowrap;
	text-align: left;
	text-align: justify;
	text-align-last: justify;
	text-justify: inter-ideograph;
}
main > div.contents > section > div.body > div table td span.sat {
	color: rgba(0,100,183,1.00);
}
main > div.contents > section > div.body > div table td span.sun {
	color: rgba(201,50,0,1.00);
}
html > body > main > div.contents > section > div.body table tr > td > p:last-child {
	margin-bottom: 0;
}
html > body > main > div.contents > section > div.body table tr > td > p + ul.photo {
	display: flex;
}
html > body > main > div.contents > section > div.body table tr > td > p + ul.photo li {
	    margin-bottom: 0;
}
html > body > main > div.contents > section > div.body table tr > td > p + ul.photo li:first-child {
	margin-right: 21px;
}
html > body > main > div.contents > section > div.body table tr > td > p + ul.photo li img {
	width: auto;
	height: 100%;
	max-height: 120px;
}
main > div.contents > section > div.body > div table td p.summary {
	font-weight: bold;
	opacity: 0.7;
}
main > div.contents > section > div.body > div table td ul.photo {
	display: block;
}
main > div.contents > section > div.body > div table td ul.photo2 {
	margin-top: 10px;
	display: block;
}
main > div.contents > section > div.body > div table td ul.photo > li,
main > div.contents > section > div.body > div table td ul.photo2 > li {
	margin-right: 15px;
	padding: 0;
	display: inline-block;
	/*width: 130px;*/
	width: 120px;
	font-size: 80%;
	text-align: center;
	vertical-align: top;
}
main > div.contents > section > div.body > div table td ul.photo > li::before,
main > div.contents > section > div.body > div table td ul.photo2 > li::before {
	display: none;
}
main > div.contents > section > div.body > div table td ul.photo > li > img,
main > div.contents > section > div.body > div table td ul.photo2 > li > img {
	margin-bottom: 3px;
	width: 100%;
	vertical-align: top;
}
main > div.contents > section > div.body > div table td ul.photo > li:last-child,
main > div.contents > section > div.body > div table td ul.photo2 > li:last-child {
	margin-right: 0;
}
main > div.contents > section > div.body > div table td ul.name {
	margin-bottom: 0;
}
main > div.contents > section > div.body > div table td ul.name > li {
	margin-bottom: 0.2em;
}
main > div.contents > section > div.body > div table td ul.name > li::before {
	background-color: rgba(71,70,70,0.60);
}
main > div.contents > section > div.body > div table td ul.name > li span.space {
	display: none;
}
main > div.contents + div.local-nav {
	margin-top: -2%;
	margin-bottom: 4%;
}
html > body > main > div.contents > section {
padding-top: 10px;
margin: -105px auto 7%;
}

main > div.contents > section#g405-2 div.body div {
	margin: -80px 0 0 240px;
}
main > div.contents section table {
	border-top: solid 1px rgba(35,24,21,0.3);
}
main > div.contents section table tr {
	border-bottom: solid 1px rgba(35,24,21,0.3);
}

@media screen and (max-aspect-ratio: 11/9) {
	main > div.local-nav > div.live > div.body > ul.notice {
		font-size: 80%;
	}
	main > div.local-nav > div.live > div.body > div.test p.text {
		font-size: 80%;
	}
	main > div.local-nav > div.live > div.body > div.test p.button {
		font-size: 80%;
	}
	html > body > main > div.contents > section > div.body table tr > td > p + ul.photo li {
		width: auto;
	}
	html > body > main > div.contents > section > div.body table tr > td > p + ul.photo li:first-child {
	   margin-right: 15px;
	}
	html > body > main > div.contents > section > div.body table tr > td > p + ul.photo li img {
	    max-height: 85px;
	}
	html > body > main > div.contents > section {
		padding-top: 50px;
	}
	main > div.contents > section#g701 {
		margin-top: -30px;
	}
}

@media screen and (max-width: 600px) {
		main > div.local-nav > div.note {
		margin: 2em auto 0;
		padding: 4.267vw;
		font-size: 4vw;
	}
/*	html > body > main > div.contents > section {
		margin-top: 0;
		padding-top: 9.889%;
	}*/
	main > div.local-nav > p.note {
		padding-left: 1em;
		font-size: 3.733vw;
		text-align: left;
		line-height: 1.4;
		text-indent: -1em;
	}
	html > body > main > div.contents > section > div.body > h2 {
		margin-top: 0;
	}
	main > div.contents > section > div.body > h2,
	main > div.contents > section > div.body > div {
		display: block;
	}
	main > div.contents > section > div.body > h2 > span {
		font-size: 4vw;
	}
	main > div.contents > section > div.body > div,
	main > div.contents > section#g410 > div.body > div {
		margin: 30px 0 0;
		width: 100%;
	}
	main > div.contents > section > div.body > div table td ul.photo {
		margin-top: 4vw;
		margin-left: 0;
		display: block;
	}
	html > body > main > div.contents > section > div.body table {
		display: block;
		border-bottom: solid 1px rgba(35,24,21,0.3);
	}
	main > div.contents > section > div.body > div table tbody {
		display: block;
	}
	main > div.contents > section > div.body > div h3 {
		font-size: 4.8vw;
	}
	html > body > main > div.contents > section > div.body table {
		margin-bottom: 2.4em;
		padding-bottom: 2.4em;
	}
	html > body > main > div.contents > section > div.body table tr {
		display: block;
	}
	main > div.contents > section > div.body > div table th {
		text-align: left;
		text-align-last: left;
		text-justify: auto;
		font-weight: bold;
	}
	html > body > main > div.contents > section > div.body table tr > th,
	html > body > main > div.contents > section > div.body table tr > td {
		padding: 2vw 4vw;
		border-bottom: 0;
		border-color: rgba(35,24,21,0.15);
		font-size: 3.733vw;
		display: block;
	}
	html > body > main > div.contents > section > div.body table tr > th {
		width: 100%;
		box-sizing: border-box;
	}
	main > div.contents > section > div.body > div table td ul.photo > li,
	main > div.contents > section > div.body > div table td ul.photo2 > li {
		margin-right: 4vw;
		width: 22vw;
	}
	main > div.contents > section > div.body > div table td ul.name > li span.space {
		display: inline-block;
		width: 1em;
	}
	html > body > main > div.contents > section > div.body table tr > td > p + ul.photo li img {
	    max-height: 62px;
	}
	main > div.local-nav > ul > li > a {
		font-size: 3.2vw;
		letter-spacing: -1px;
	}
	
	html > body > main > div.contents > section {
		padding-top: 100px;
		margin: -50px auto 7%;
	}
	main > div.contents > section#g701 {
	    margin-top: 0;
	}
	main > div.contents > section#g405-2 div.body div {
		margin: 30px 0 0 0;
	}
}


main > div.contents + div.local-nav.line {
	margin-bottom: 0;
}

main > div.contents > section.floor {
	&:first-child {
		margin-top: 25px;
		@media screen and (max-width: 600px) {
			margin-top: 0;
			padding-top: 5.333vw;
		}
	}
	>div.body {
		>div {
			margin-inline: auto;
		}
		h2 {
			margin-top: 30px;
			margin-bottom: 25px;
			color: var(--colorB1);
			text-align: center;
			&.floor {
				margin-bottom: 30px;
			}
			&.first {
				margin-top: -5px;
			}
			>span {
				margin-top: 30px;
				display: block;
				font-size: 1.8rem;
				font-weight: bold;
				line-height: 1.0;
				text-align: left;
			}
			&::before {
				top: -33px;
			}
		}
		h3 {
			>a {
				display: block;
				margin-bottom: 4px;
				padding: 6px 0 6px 10px;
				line-height: 1;
				color: var(--textColorW);
				background-color: var(--colorB1);
				text-decoration: none;
				font-size: 14px;
				font-weight: normal;
				width: fit-content;
				@media screen and (max-width: 600px) {
					padding: 2vw 0 2vw 2vw;
					text-align: center;
				}
				&:hover {
					opacity: 0.8;
				}
			}
		}
		table {
			>tbody{
				>tr {
					@media screen and (max-width: 600px) {
						border-bottom: 0;
					}
					>th {
						background-color: var(--colorO3);
					}
					>td {
						p {
							strong {
								font-weight: bold;
								>span {
									font-weight: bold;
								}
							}
						}
						>p.link {
							text-align: right;
							@media screen and (max-width: 600px) {
								margin-top: 0.4em;
								text-align: center;
							}
							>a {
								display: inline-block;
								padding: 6px 10px;
								line-height: 1;
								color: var(--textColorW);
								background-color: var(--colorB1);
								text-decoration: none;
								font-weight: bold;
								@media screen and (max-width: 600px) {
									padding: 2vw 8vw;
									text-align: center;
								}
							}
						}
					}
				}
			}
		}
	}
}

.fancybox-is-open .fancybox-bg {
	background-color: transparent;
	opacity: 1;
}

body.fancybox-active {
	overflow-y: hidden;
	header,
	footer {
		filter: blur(5px);
	}
	main {
		filter: blur(5px);
	}
	.fancybox-slide--iframe .fancybox-content {
		box-shadow: 7px 7px 10px rgba(0,0,0,0.3);
		min-height: 290px;
		overflow: hidden;

	}
	button.fancybox-button--close {
		display: none;
	}
}

