@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;700&display=swap');

* {
	font-family:'Noto Sans JP',sans-serif;
	font-feature-settings: "palt";
	letter-spacing:0.08em;
	box-sizing:border-box;
	}

ul {
	list-style:none;
	margin:0;
	padding:0;
	}

img {
	max-width:100%;
	height:auto;
	}

/*　　モジュール　　*/

.youtube {
	position:relative;
	width:100%;
	padding-top: 56.25%;
	}

.youtube iframe {
	position:absolute;
	top:0;
	right:0;
	width:100%;
	height:100%;
	}

/*　　　コンテンツ　　　*/

body {
	background-color:#009be4;
	}

header {
	text-align:center;
	}

header .title {
	position:relative;
	display:block;
	max-width:1200px;
	margin:auto;
	}

header h1 {
	width:100%;
	padding-top:60%;
	background:url('../images/header/header1200-2.png') no-repeat center;
	background-size:contain;
	text-indent:100%;
    white-space:nowrap;
    overflow:hidden;
	}

header .dateInfo {
	position:relative;
	padding:0;
	text-align:center;
	}

header .dateInfo::after {
	content:'';
	position:absolute;
	left:0;
	top:-110px;
	width:100%;
	height:300px;
	background-color:#fff;
	box-shadow: 0 2px 5px 2px rgba(80,80,80,0.5);
	transform: skewY(-7deg);
	z-index:-1;
	}

header .dateInfo ul {
	position:relative;
	width:900px;
	margin:auto;
	letter-spacing:-0.4em;
	}

header .dateInfo ul::after {
	content:'';
	position:absolute;
	bottom:-140px;
	left:50px;
	display:block;
	width:210px;
	height:205px;
	background:url("../images/img_hirobo.svg") no-repeat center;
	}

header .dateInfo li {
	display:inline-block;
	letter-spacing:0;
	}

header .dateInfo li.date {
	width:55%;
	padding-right:3%;
	}

header .dateInfo li.time {
	width:42%;
	}

header .dateInfo li.venue {
	position:relative;
	margin-top:40px;
	width:42%;
	z-index:2;
	}

header .dateInfo li.venue::before {
	content:'';
	position:absolute;
	top:-20px;
	left:calc(50% - 22.5px);
	width:45px;
	border-top:1px solid #aaa;
	}

header .dateInfo li.venue::after {
	content:'';
	position:absolute;
	bottom:-60px;
	right:-50px;
	width:125px;
	height:140px;
	background:url("../images/bg_venue.png") no-repeat center;
	background-size:contain;
	z-index:-1;
	}


main h2 {
	position:relative;
	}

main h2::before {
	content:'';
	position:absolute;
	bottom:15px;
	left:-80px;
	width:55px;
	height:60px;
	background:url("../images/footprint.svg") no-repeat center;
	}

main h2::after {
	content:'';
	position:absolute;
	bottom:0;
	right:-80px;
	width:55px;
	height:60px;
	background:url("../images/footprint.svg") no-repeat center;
	transform:scale(-1, 1); 
	}

main #intro.section {
	padding:50px 0;
	}

main #intro .box {
	position:relative;
	max-width:1000px;
	margin:auto;
	}

main #intro .map {
	max-width:800px;
	height:auto;
	margin:auto;
	padding-bottom:50px;
	}

main #intro .lead {
	position:relative;
	max-width:930px;
	margin:auto;
	padding:5px 30px;
	font-size:1.2em;
	color:#fff;
	line-height:1.8;
	text-align: center;
	}

main #intro .lead::before {
	content:'';
	display:block;
	position:absolute;
	top:0;
	left:0;
	width:15px;
	height:100%;
	border-top:1px solid #fff;
	border-bottom:1px solid #fff;
	border-left:1px solid #fff;
	}

main #intro .lead::after {
	content:'';
	display:block;
	position:absolute;
	top:0;
	right:0;
	width:15px;
	height:100%;
	border-top:1px solid #fff;
	border-bottom:1px solid #fff;
	border-right:1px solid #fff;
	}

main #intro .deco .deco01 {
	position:absolute;
	left:-70px;
	top:245px;
	width:360px;
	height:auto;
	transform:scale(-1, 1) rotate(-25deg); 
	}

main #intro .deco .deco02 {
	position:absolute;
	right:65px;
	top:-140px;
	width:125px;
	height:auto;
	}

main #intro .deco .deco03 {
	position:absolute;
	left:-60px;
	top:190px;
	width:135px;
	height:auto;
	z-index:-1;
	}

main #intro .deco .deco04 {
	position:absolute;
	right:-50px;
	top:50px;
	width:160px;
	height:auto;
	}

main #intro .deco .deco05 {
	position:absolute;
	right:-20px;
	top:280px;
	width:160px;
	height:auto;
	}

main #intro .movie {
	margin:100px auto 0;
	max-width:700px;
	}


main #program.section {
	position:relative;
	padding-top:80px;
	background-color:#fff;
	}

main #program.section::before {
	content:'';
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:850px;
	background:url("../images/bg_trapezoid.svg") no-repeat center top;
	background-size:auto 850px;
	}

main #program.section::after {
	content:'';
	position:absolute;
	bottom:0;
	left:0;
	width:100%;
	height:405px;
	background:url("../images/bg_trapezoid.svg") no-repeat center bottom;
	background-size:auto 850px;
	transform: scale(1, -1);
	}

main #program.section .frame {
	max-width:1000px;
	margin:auto;
	}

main #program.section h2 {
	position:relative;
	width:510px;
	margin:0 auto 30px;
	z-index:2;
	}

main #program.section .notice {
	position:relative;
	max-width:650px;
	margin:0 auto 30px;
	padding:15px 20px;
	font-size:20px;
	line-height:1.6;
	color:#fff;
	text-align:justify;
	z-index:2;
	border:1px solid #fff;
	}

main #program.section .notice b {
	color:#ff3;
	}

main #program article {
	position:relative;
	margin-top:20px;
	padding:10px 10px 10px 40px;
	text-align:left;
	background-color:#fff;
	border:1px solid #bbb;
	z-index:2;
	}

main #program article::before {
	content:'';
	position:absolute;
	top:10px;
	left:10px;
	width:15px;
	height:calc(100% - 20px);
	}

main #program article .wrap {
	display:flex;	
	}

main #program article .wrap .program {
	width:calc(100% - 420px);
	padding-right:20px;
	}

main #program article .program h3 {
	position:relative;
	margin:5px 0;
	padding:1px 0 12px 38px;
	font-size:1.3em;
	font-weight:400;
	line-height:1.3;
	}

main #program article .program h3::before {
	position:absolute;
	top:0;
	left:0;
	display:inline-block;
	width:30px;
	height:30px;
	line-height:27px;
	text-align:center;
	color:#fff;
	border-radius:50%;
	}

main #program article.num01 .program h3::before {content:'1';}
main #program article.num02 .program h3::before {content:'2';}
main #program article.num03 .program h3::before {content:'3';}
main #program article.num04 .program h3::before {content:'4';}
main #program article.num05 .program h3::before {content:'5';}
main #program article.num06 .program h3::before {content:'6';}
main #program article.num07 .program h3::before {content:'7';}
main #program article.num08 .program h3::before {content:'8';}

main #program article .program ul {
	display:flex;
	flex-wrap:wrap;
	padding:12px;
	background-color:#eee;
	}

main #program article .program li {
	margin:0 15px 10px 0;
	font-size:0.95em;
	font-weight:600;
	}

main #program article .program li span {
	font-weight:400;
	color:#555;
	}

main #program article .program li:last-child {
	width:100%;
	margin-bottom:0;
	}

main #program article .program p {
	margin-top:10px;
	font-size:0.95em;
	line-height:1.7;
	text-align:justify;
	}

main #program article .program .actor {
	display:flex;
	margin-top:20px;
	}

main #program article .program .actor .figure {
	width:100px;
	line-height:0;
	}

main #program article .program .actor .figure img {
	border:1px solid #aaa;
	}

main #program article .program .actor .intro {
	width:300px;
	}

main #program article .program .actor .titular {
	margin-bottom:8px;
	padding:5px 0 8px 10px;
	font-size:0.9em;
	line-height:1;
	border-bottom:1px solid #aaa;
	}

main #program article .program .actor .name {
	padding-left:10px;
	font-size:1.1em;
	font-weight:700;
	line-height:1;
	}

main #program article .program .actor .name span {
	display:block;
	margin-top:10px;
	font-size:0.8em;
	font-weight:400;
	line-height:1;
	color:#444;
	}

main #program article .program .actor .txt {
	margin-top:10px;
	padding-left:10px;
	font-size:0.85em;
	color:#444;
	line-height:1.6;
	text-align:justify;
	}

main #program article .wrap .profile {
	width:420px;
	}

main #program article .wrap .profile .wrap {
	padding:10px;
	}

main #program article .wrap .profile .wrap:nth-child(2) {
	margin-top:10px;
	}

main #program article .wrap .profile .figure {
	width:135px;
	line-height:0;
	}

main #program article .wrap .profile .intro {
	width:calc(100% - 135px);
	padding-left:20px;
	}

main #program article .wrap .profile .titular {
	margin-bottom:8px;
	padding:5px 0 8px;
	font-size:0.9em;
	line-height:1;
	border-bottom:1px solid #aaa;
	}

main #program article .wrap .profile .name {
	font-size:1.1em;
	font-weight:700;
	line-height:1;
	}

main #program article .wrap .profile .name span {
	display:block;
	margin-top:10px;
	font-size:0.8em;
	font-weight:400;
	line-height:1;
	color:#444;
	}

main #program article .wrap .profile .txt {
	margin-top:10px;
	font-size:0.85em;
	color:#444;
	line-height:1.6;
	text-align:justify;
	}

main #program article.type01 .program h3 {color:#e95519;}
main #program article.type01::before,
main #program article.type01 .program h3::before {background-color:#e95519;}
main #program article.type01 .wrap .profile .wrap {background-color:#fce5dc;}

main #program article.type02 .program h3 {color:#39c;}
main #program article.type02::before,
main #program article.type02 .program h3::before {background-color:#39c;}
main #program article.type02 .wrap .profile .wrap {background-color:#e0f0f7;}

main #program article.type03 .program h3 {color:#f5a814;}
main #program article.type03::before,
main #program article.type03 .program h3::before {background-color:#f5a814;}
main #program article.type03 .wrap .profile .wrap {background-color:#fdf2dc;}

main #program article.type04 .program h3 {color:#34b6ad;}
main #program article.type04::before,
main #program article.type04 .program h3::before {background-color:#34b6ad;}
main #program article.type04 .wrap .profile .wrap {background-color:#e1f4f3;}

main #program article.type05 .program h3 {color:#9a8bc0;}
main #program article.type05::before,
main #program article.type05 .program h3::before {background-color:#9a8bc0;}
main #program article.type05 .wrap .profile .wrap {background-color:#f0eef6;}


main #program .sub {
	display:flex;
	}

main #program .sub article {
	width:calc((100% - 40px) / 3);
	margin-right:20px;
	padding:10px 20px 20px;
	font-size:95%;
	}

main #program .sub article:nth-child(3) {
	margin-right:0;
	}

main #program .sub article::before {
	content:inherit;
	}

main #program .sub article .wrap {
	display:block;
	}

main #program .sub article .wrap .program {
	width:100%;
	}


main #timetable.section {
	position:relative;
	padding:80px 0 100px;
	}

main #timetable.section .frame {
	max-width:1000px;
	margin:auto;
	padding:20px;
	background-color:#fff;
	}

main #timetable.section h2 {
	position:relative;
	width:300px;
	margin:0 auto 30px;
	z-index:2;
	}


main #food.section {
	position:relative;
	padding-top:80px;
	background:#fff;
	}

main #food.section::after {
	content:'';
	position:absolute;
	left:0;
	bottom:0;
	width:100%;
	height:100px;
	background:#009be4;
	}

main #food.section .frame {
	max-width:1000px;
	margin:auto;
	}

main #food.section h2 {
	position:relative;
	width:400px;
	margin:0 auto 30px;
	z-index:2;
	}

main #food.section ul {
	position:relative;
	list-style:none;
	display:flex;
	margin:50px;
	z-index:2;
	}

main #food.section p {
	font-size:1.2em;
	line-height:2.2;
	text-align:center;
	}

main #food.section li {
	overflow:hidden;
	margin-right:60px;
	width:calc((100% - 120px) / 3);
	border-radius:49.9%;
	background-color:#fff;
	}

main #food.section li:nth-child(3n) {
	margin-right:0;
	}

main #floormap.section {
	max-width:1000px;
	margin:auto;
	padding:80px 0 50px;
	}

main #floormap.section h2 {
	width:360px;
	margin:0 auto 30px;
	}

main #floormap.section .figure {
	display:flex;
	max-width:920px;
	margin:0 auto;
	}

main #floormap.section .figure .f1 {
	position:relative;
	width:59.444%;/*535px*/
	margin-right:1.112%;
	}

main #floormap.section .figure .f2 {
	position:relative;
	width:39.444%;/*355px*/
	}

main #floormap.section .figure .f1 .list {
	position:absolute;
	left:30px;
	bottom:0;
	}

main #floormap.section .figure .f2 .list {
	position:absolute;
	left:30px;
	bottom:140px;
	}

main #floormap.section .figure .list ul {
	margin-bottom:10px;
	padding:6px 10px;
	background:#fff;
	border-radius:5px;
	}

main #floormap.section .figure .list li {
	padding-left:1.3em;
	text-indent:-1.3em;
	font-size:0.95em;
	line-height:1.5;
	letter-spacing:0.04em;
	}

main #floormap.section .figure .list li span {
	margin-right:5px;
	}

main #floormap.section .figure .list .type01 li span {color:#e95519;}
main #floormap.section .figure .list .type02 li span {color:#39c;}
main #floormap.section .figure .list .type03 li span {color:#f5a814;}
main #floormap.section .figure .list .type04 li span {color:#34b6ad;}
main #floormap.section .figure .list .type05 li span {color:#9a8bc0;}


main #venue.section {
	max-width:1000px;
	margin:auto;
	padding:80px 0;
	}

main #venue.section .box {
	padding:0 50px 50px;
	background-color:#fff;
	border-radius:10px;
	}

main #venue.section h2 {
	position:relative;
	top:-25px;
	width:300px;
	margin:0 auto 30px;
	}

main #venue.section h2::before {
	left:-50px;
	}

main #venue.section h2::after {
	right:-50px;
	}

main #venue.section .wrap {
	display:flex;
	margin-top:-25px;
	text-align:left;
	}

main #venue.section .info {
	width:400px;
	margin-right:30px;
	}

main #venue.section .info .name {
	margin:15px 0;
	padding:2px 0 2px 10px;
	font-size:1.6em;
	line-height:1;
	letter-spacing:0.02em;
	border-left:6px solid #009be4;
	}

main #venue.section .info .name span {
	display:block;
	margin-bottom:7px;
	font-size:60%;
	}

main #venue.section .info li {
	margin-bottom:5px;
	font-size:1em;
	line-height:1.5;
	}

main #venue.section .info li:last-child {
	margin-bottom:0;
	}

main #venue.section .info li a {
	display:block;
	height:40px;
	line-height:40px;
	margin-top:10px;
	color:#fff;
	text-decoration:none;
	text-align:center;
	background-color:#009be4;
	border-radius:20px;
	}

main #venue.section .info ul {
	font-size:0.9em;
	line-height:1.5;
	}

main #venue.section .access {
	width:calc(100% - 430px);
	margin-right:30px;
	padding-top: 10px;
	}

main #venue.section .access .head {
	margin-bottom:20px;
	padding-bottom:10px;
	font-size:1.05em;
	font-weight:600;
	line-height:1;
	text-indent:-0.5em;
	border-bottom:1px solid #aaa;
	}

main #venue.section .access ul {
	margin-bottom:20px;
	}

main #venue.section .access li:first-child {
	margin-bottom:12px;
	font-size:1.05em;
	font-weight:600;
	line-height:1;
	color:#bf0d23;
	}

main #venue.section .access li:first-child::before {
	content:'■';
	margin-right:4px;
	}

main #venue.section .access li:nth-child(2) {
	margin-bottom:12px;
	padding-left:1.4em;
	font-size:1em;
	font-weight:600;
	line-height:1;
	color:#000;
	font-feature-settings: "palt";
	}

main #venue.section .access li:nth-child(3) {
	padding-left:1.4em;
	font-size:0.9em;
	line-height:1.6;
	color:#444;
	text-align:justify;
	font-feature-settings: "palt";
	}

main #venue.section .access li .btn {
	display:inline-block;
	margin:10px 0 0;
	padding:8px 15px;
	font-size:0.85em;
	line-height:1;
	color:#555;
	text-decoration:none;
	border:1px solid #999;
	border-radius:6px;
	cursor:pointer;
	}

main #venue.section .access .root {
	padding-top:15px;
	font-size:1em;
	line-height:1;
	border-top:1px dashed #aaa;
	}

main #venue.section iframe {
	width:100%;
	height:250px;
	margin-top:30px;
	}

main #archive.section {
	max-width:1000px;
	margin:auto;
	padding:80px 0 50px;
	}

main #archive.section h2 {
	position:relative;
	width:300px;
	margin:0 auto 30px;
	}

main #archive.section h2::before {
	left:-80px;
	}

main #archive.section h2::after {
	right:-80px;
	}

main #archive .list {
	margin:0 auto;
	max-width:600px;
	}

main #archive article {
	width:100%;
	padding:15px;
	background-color:rgba(255,255,255,1);
	border-radius:10px;
	}

main #archive article h3 {
	margin:20px 0 15px;
	padding:5px 0 4px 12px;
	font-size:1.4em;
	font-weight:500;
	line-height:1;
	text-align:left;
	border-left:6px solid #009be4;
	}

main #archive article dl {
	display:flex;
	flex-wrap:wrap;
	padding:2px 12px;
	font-size:0.9em;
	background:#f3f3f3;
	border-radius:6px;
	}

main #archive article dt {
	width:100px;
	padding:12px 10px;
	text-align:right;
	color:#666;
	border-top:1px solid #ccc;
	}

main #archive article dd {
	width:calc(100% - 100px);
	padding:12px 10px;
	text-align:justify;
	border-top:1px solid #ccc;
	}

main #archive article dt:nth-child(1),
main #archive article dd:nth-child(2){
	border-top:none;
	}

main #archive article a {
	display:block;
	height:50px;
	margin-top:10px;
	line-height:50px;
	color:#fff;
	text-decoration:none;
	text-align:center;
	background-color:#009be4;
	border-radius:4px;
	}


main #survey.section {
	max-width:1000px;
	margin:auto;
	padding:80px 0;
	}

main #survey.section .box {
	max-width:700px;
	margin:auto;
	padding:0 50px 30px;
	background-color:#fff;
	border-radius:10px;
	}

main #survey.section h2 {
	position:relative;
	top:-25px;
	width:380px;
	margin:0 auto 30px;
	}

main #survey.section h2::before {
	content:inherit;
	}

main #survey.section h2::after {
	content:inherit;
	}

main #survey.section .wrap {
	margin-top:-15px;
	text-align:left;
	}

main #survey.section .wrap p {
	line-height:2;
	text-align:justify;
	}

main #survey.section .wrap a {
	display:block;
	height:50px;
	margin-top:30px;
	line-height:50px;
	color:#fff;
	text-decoration:none;
	text-align:center;
	background-color:#FF9700;
	border-radius:4px;
	}


#modal {
	display:none;
	position:fixed;
	width:80vw;
	height:80vh;
	top:10vh;
	left:10vw;
	padding:5vw;
	text-align:center;
	background:#fff;
	border-radius:10px;
	z-index:4;
	}

#modal img {
	width:auto;
	height:100%;
	}

#modal .close {
	display:block;
	position:absolute;
	top:0;
	right:0;
	width:50px;
	height:50px;
	line-height:50px;
	font-size:24px;
	text-align:center;
	background-color:#ccc;
	cursor:pointer;
	}

#overlay{
	display:none;
	position:fixed;
	top:0;
	left:0;
	width:100%;
	height:120%;
	background-color:rgba(0,0,0,0.75);
	z-index:3;
	}

footer {
	position:relative;
	padding-bottom:100px;
	background:url("../images/footer_bg.jpg") no-repeat center;
	background-size: cover;
	}

footer::before {
	content:'';
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:150px;
	background-color:#009be4;
	border-bottom:10px solid #fff;
	}

footer #contact {
	position:relative;
	max-width:550px;
	padding:20px 20px 30px;
	margin:auto;
	text-align:center;
	background-color:#fff;
	border-radius:10px;
	}

footer #contact h2 {
	height:50px;
	font-size:1.2em;
	line-height:50px;
	text-align:center;
	color:#fff;
	background-color:#009be4;
	border-radius:6px;
	}

footer #contact h3 {
	margin:25px 0;
	font-size:1.5em;
	font-weight:600;
	line-height:1;
	text-align:center;
	}

footer #contact h3 span {
	display:block;
	margin-top:10px;
	font-size:70%;
	}

footer #contact ul {
	display:inline-block;
	text-align:left;
	}

footer #contact li {
	margin-top:5px;
	font-size:1.1em;
	line-height:1.5;
	letter-spacing:0.03em;
	}

footer #contact li:first-child {
	margin-top:0;
	}

footer #contact li:last-child {
	text-align:center;
	}

footer #contact li a {
	display:inline-block;
	height:40px;
	line-height:40px;
	margin:10px auto 0;
	padding:0 30px;
	color:#fff;
	text-decoration:none;
	text-align:center;
	background-color:#009be4;
	border-radius:20px;
	}

footer #contact li br {
	display:none;
	}



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

main #intro.section {
	padding:6vw 5vw 0;
	}

main #program.section {
	padding-top:8vw;
	}

main #program.section .frame {
	padding:0 5vw;
	}

main #timetable.section {
	padding:6vw 8vw 8vw;
	}

main #food.section {
	padding-top:8vw;
	}

main #floormap.section {
	padding:6vw 5vw;
	}

main #venue.section {
	padding:6vw 5vw 0;
	}

main #archive.section {
	padding:10vw 5vw 5vw;
	}

main #survey.section {
	padding:10vw 5vw;
	}

header .dateInfo::after {
	top:-9vw;
	height:29vw;
	}

header .dateInfo ul {
	width:auto;
	margin:auto 8vw;
	}

header .dateInfo ul::after {
	bottom:-14vw;
	left:4vw;
	width:20vw;
	height:20vw;
	}

header .dateInfo li.venue::after {
	bottom:-5.5vw;
	right:-5vw;
	width:12vw;
	height:13vw;
	}

}

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

header h1 {
	padding-top:78%;
	background:url('../images/header/header900-2.png') no-repeat center;
	background-size:contain;
	}

header .dateInfo::after {
	top:-8vw;
	height:30vw;
	}

header .dateInfo ul {
	width:auto;
	margin:auto 6vw;
	}

header .dateInfo li.venue::before {
	top:-2.5vw;
	left:calc(50% - 2vw);
	width:4vw;
	}

main #intro .deco .deco01 {
	top:35vw;
	left:-2vw;
	width:38vw;
	}

main #intro .deco .deco02 {
	top:-15vw;
	right:-2vw;
	width:15vw;
	height:30vw;
	}

main #intro .deco .deco03 {
	top:30vw;
	left:-3vw;
	width:14vw;
	height:30vw;
	}

main #intro .deco .deco04 {
	top:10vw;
	left:8vw;
	right:inherit;
	width:18vw;
	height:30vw;
	}

main #intro .deco .deco05 {
	top:40vw;
	right:5vw;
	width:16vw;
	height:25vw;
	}

main #intro .map {
	padding:3vw 0;
	}

main #intro .movie {
	margin:9vw auto 0;
	}

main .section {
	text-align:center;
	}

main h2 {
	display:inline-block;
	position:relative;
	padding:0 10vw;
	text-align:center;
	}

main h2::before {
	bottom:1vw;
	left:0;
	width:7vw;
	height:7vw;
	}

main h2::after {
	bottom:0;
	right:0;
	width:7vw;
	height:7vw;
	}

main .section h2 img {
	height:100%;
	}

main #program.section h2 {
	width:auto;
	height:18vw;
	margin:0 auto;
	}

main #timetable.section h2 {
	width:auto;
	height:13vw;
	margin:0 auto 4vw;
	}

main #food.section h2 {
	width:auto;
	height:18vw;
	margin:0 auto 4vw;
	}

main #food.section ul {
	margin:5vw 8vw 3vw;
	}

main #floormap.section h2 {
	width:auto;
	height:13vw;
	margin:0 auto 3vw;
	}

main #venue.section h2 {
	top:-3vw;
	width:auto;
	height:13vw;
	margin:0 auto 3vw;
	}

main #venue.section h2::before {
	left:4vw;
	bottom:0;
	}

main #venue.section h2::after {
	right:4vw;
	}

main #archive.section h2 {
	width:auto;
	height:13vw;
	margin:0 auto 4vw;
	}

main #archive.section h2::before {
	left:0;
	}

main #archive.section h2::after {
	right:0;
	}

main #survey.section h2 {
	top:-3vw;
	width:auto;
	height:13vw;
	margin:0 auto 1vw;
	}


main #program.section .notice {
	position:relative;
	max-width:inherit;
	margin:4vw 10vw;
	padding:2.5vw;
	}

main #program article {
	margin-top:3vw;
	padding:2vw 2vw 2vw 5vw;
	}

main #program article::before {
	top:1.5vw;
	left:1.5vw;
	width:1.5vw;
	height:calc(100% - 3vw);
	}

main #program article .wrap {
	display:block;
	}

main #program article .wrap .program {
	width:100%;
	margin-bottom:3vw;
	padding-right:0;
	}

main #program article .program .actor {
	margin-top:2vw;
	}

main #program article .wrap .profile {
	width:100%;
	}

main #program article .profile .wrap {
	display:flex;
	}

main #program .sub {
	display:block;
	}

main #program .sub article {
	width:100%;
	margin-right:0;
	padding:2vw 2vw 2vw 5vw;
	}

main #program .sub article::before {
	content:'';
	}

main #timetable.section .table {
	overflow-x:scroll;
	width:auto;
	height:560px;
	}

main #timetable.section .table img {
	max-width:inherit;
	width:auto;
	height:550px;
	}

main #food.section li {
	margin-right:4vw;
	width:calc((100% - 8vw) / 3);
	}

main #floormap.section .figure {
	display:block;
	width:70vw;
	}

main #floormap.section .figure .f1,
main #floormap.section .figure .f2 {
	position:relative;
	width:100%;
	margin-right:0;
	text-align: left;
	}

main #floormap.section .figure .f1 {
	margin-bottom:5vw;
	}


main #floormap.section .figure .f1 img,
main #floormap.section .figure .f2 img {
	width:auto;
	height:60vw;
	}

main #floormap.section .figure .f1 .list,
main #floormap.section .figure .f2 .list {
	display:flex;
	flex-wrap:wrap;
	position:relative;
	left:inherit;
	bottom:inherit;
	margin-top:3vw;
	}

main #floormap.section .figure .list ul {
	width:calc((100% - 2vw) / 2);
	margin:0 2vw 2vw 0;
	}

main #floormap.section .figure .list ul:nth-child(2) {
	margin-right:0;
	}

main #venue.section .box {	
	padding:0 5vw 5vw;
	}

main #venue.section .wrap {
	display:block;
	margin-top:-3vw;
	}

main #venue.section .info {
	width:100%;
	padding:4vw;
	border:1px solid #ccc;
	border-radius:10px;
	}

main #venue.section .access {
	width:100%;
	margin-right:0;
	padding-top:6vw;
	}

footer #contact {
	padding:3vw 3vw 4vw;
	}

}

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

body {
	font-size:0.9em;
	}

.sp {
	display:none;
	}

header .dateInfo {
	margin-top:-1vw;
	}

header .dateInfo::after {
	top:-7vw;
	height:41vw;
	}

header .dateInfo ul {
	width:auto;
	margin:auto 20vw;
	}

header .dateInfo ul::after {
	bottom:-17vw;
	left:-14vw;
	width:25vw;
	height:25vw;
	}

header .dateInfo li.date {
	width:100%;
	padding-right:0;
	}

header .dateInfo li.time {
	width:76%;
	margin-top:3vw;
	}

header .dateInfo li.venue {
	margin-top:4vw;
	width:76%;
	}

main #intro .lead {
	font-size:1.1em;
	text-align:justify;
	}

main #program.section h2 {
	height:27vw;
	padding:0;
	}

main #program.section h2::before,
main #program.section h2::after {
	content:inherit;
	}

main #floormap.section h2,
main #venue.section h2,
main #archive.section h2 {
	height:19vw;
	}

main #program.section .notice {
	font-size:16px;
	}

main #program article .program ul {
	padding:2.5vw 2.5vw 2vw;
	}

main #program article .program p {
	margin-top:1.5vw;
	}

main #floormap.section .figure {
	width:85vw;
	}

main #floormap.section .figure .f1 img,
main #floormap.section .figure .f2 img {
	height:73vw;
	}

main #floormap.section .figure .list ul {
	width:100%;
	margin-right:0;
	}

main #floormap.section .figure .list li br {
	display:none;
	}

main #venue.section .wrap {
	margin-top:-2vw;
	}

main #archive article dl {
	padding:2vw 3vw;
	}

main #archive article dt {
	width:100%;
	padding:2vw 2vw 1vw;
	text-align:left;
	border-top:1px solid #ccc;
	}

main #archive article dd {
	width:100%;
	padding:0 2vw 2vw;
	line-height:1.5;
	border-top:none;
	}

footer #contact {
	margin:0 6vw;
	font-size:0.9em;
	}

footer #contact h3 {
	margin:4vw 0 3vw;
	}

footer #contact ul {
	margin:0 5vw;
	}

footer #contact li {
	text-align:justify;
	}

footer #contact li br {
	display:block;
	}

}