@charset "utf-8";
/* CSS Document */

*{
	margin: 0;
	padding: 0;
	color: #fff;
	overflow-x: hidden;
    font-family:sans-serif;
}

.responsive-img {
  width: 100%;
  height: auto;
}

.mainvisual{
	position: fixed;
	width: 100%;
	height: 100%;
	z-index: -5;
	/* background: linear-gradient(45deg,white 0%,aqua 250%); */
}

.leftside{
	bottom: 12.5em;
	left: 0em;
	width: 100vw;
	height: 75.85vh;
	position: fixed;
	border-bottom: 100em solid transparent;
	border-top: solid 1em transparent;
	border-left: 50em solid rgba(103,114,223,1.00);
	border-right: 1em solid rgba(200,0,3,1.00);
	z-index: -50;
}

.rightside{
	top: 17.5em;
	right: -5em;
	width: 150vw;
	height: 200vh;
	position: fixed;
	border-bottom: 80em solid transparent;
	border-top: solid 50em transparent;
	border-left: 0em solid transparent;
	border-right: 80em solid rgba(39,63,205,1.00);
	z-index: -3;
}

.chara{
	position: fixed;
	top: -10vh;
	z-index: -4;
	display: none;
}
.boxP{
	width: 95vw;
	height: 98vh;
	position: fixed;
	z-index: 10;
	top: 1vh;
	left: 2.5vw;
	overflow: hidden;
	display: none;
	
}

.boxP:before,
.boxP:after,
.boxP div:before,
.boxP div:after {
    content: '';
    position: absolute;
    background: rgba(216,47,50,1.00);
	z-index: -2;
}

.boxP:before{
	bottom: 0vh;
	left: 0vw;
	width: 100vw;
	height: 3px;
}

.boxP:before{animation: bottomline ease-in 0.5s forwards;}

.boxP:after{
	top:0vh;
    right: 0vw;
    width: 3px;
    height: 100vh;
}

.boxP:after{animation: rightline ease-in 0.5s forwards;}

.boxP div:before{
	top: 0vh;
	right: 0vw;
    width: 100vw;
    height: 3px;
}

.boxP div:before{animation:topline ease-in 0.5s forwards;}

.boxP div:after{
	bottom: 0vh;
    left: 0vw;
    width: 3px;
    height: 100vh;
}

.boxP div:after{animation:leftline ease-in 0.5s forwards;}

@keyframes bottomline{
	0% {left:-100vw;}
    100% {left:0;}
}

@keyframes topline{
	0% {right:-100vw;}
    100% {right:0;}
}

@keyframes rightline{
	0% {top:100vh;}
    100% {top:0;}
}

@keyframes leftline{
	0% {bottom:100vh;}
    100% {bottom:0;}
}

.titlebox{
	width: 100vw;
	height: 110vh;
    color:#fff;
	background-color: rgba(235,235,235,0.14);
}

.titletext,
.subtext,
.daytext,
.timetext{
	text-align: center;
	position: absolute;
	font-weight: bold;
	transform: rotate(-31deg);
	display: none;
}

.titletext{
    font-size: 7.65vw;
    top: 55%;
	left: 3.5vw;
	-webkit-text-stroke: 1.5px #000;
}

.subtext{
	font-size: 7.65vw;
	top: 60%;
	left: 4vw;
	-webkit-text-stroke: 1.5px #000;
}

.daytext{
	font-size: 5.5vw;
	top: 63%;
	left: 27vw;
	-webkit-text-stroke:1px #000;
}

.timetext{
	font-size: 5.5vw;
	top: 65%;
	left: 52vw;
	-webkit-text-stroke:1px #000;
	vertical-align: baseline;
}

.dym{
	font-size: 5vw;
}

.dcy,.dcys{
	border: 2px solid rgba(200,215,48,1.00);
	background-color: rgba(33,189,208,1.00);
	color: inherit;
	width: 100%;
	height: 100%;
	border-radius: 25%;
	padding: 0px 5px;
	font-size: 4.5vw;
}

.dcys{
	background-color: rgba(220,114,42,1.00);
}

.schedule,.shops,footer,.dpevent{
	width: 100vw;
	height: 100vh;
	background-color: rgba(29,74,166,1.00);
}

.titlesc,.titlesh,.ftitle,.titledp{
	width: 100%;
	font-size: 10vw;
	border-bottom: 3px dashed rgba(231,231,231,1.00);
	margin-bottom: 10px;
}

.lists{
	padding: 15px 0 15px 15px;
	font-size: 16px;
	background-color: hsla(215,77%,49%,1.00);
	margin: 10px;
	display: flex;
	align-content: center;
	vertical-align: middle;
}

.dplists{
	padding: 15px 0 15px 15px;
	font-size: 16px;
	background-color: hsla(215,77%,49%,1.00);
	margin: 13px;
	display: flex;
	align-content: center;
	vertical-align: middle;
	height: 8vh;
}

.timeTable,.shDep,.dptitle{
	border-right: 2px solid hsla(0,0%,100%,1.00);
	margin: 0px;
	padding: 0px;
	padding-right: 10px;
}

.dptitle,.shDep{
	width:40%;
	text-align: center;
    font-size: 4vw;
}

.scDetail,.dpdetail,.shDetail{
	width: auto;
	display: flex;
	align-items: center;
	justify-content: space-around;
	margin-right: auto;
	margin-left: auto;
	text-align: center;
}




.lists:hover,.shlists:hover,.dplists:hover{
	background-image: linear-gradient(rgba(255,255,255,0.2),rgba(255,255,255,0.2));
	cursor: pointer;
}


.shlists{
	padding: 5px;
	font-size: 16px;
	height: 12vh;
	background-color:  hsla(215,77%,49%,1.00);
	margin: 10px;
	display: flex;
	align-content: center;
	vertical-align: middle;
}

footer{
	/*background-color: hsla(143,63%,35%,1.00);*/
	background-color:  hsla(215,77%,49%,1.00);
    text-align: center;
}

footer .container {
    display: flex;
    flex-direction: column;
    align-items: center;
}

footer .access {
    text-align: center;
}

footer iframe {
    max-width: 100%;
}
.access{
	text-align: left;
	font-size: 5vw;
}

.modal{
	display: none;
	height: 120vh;
	width: 100vw;
	position: fixed;
	top: 0;
	z-index: 50;
	color: #000;
}

.modal_contents{
	font-size: 5vw;
	position: absolute;
	top: 0;
	padding: 0 40px 0 40px;
	width: 95vw;
	height: 100vh;
	color: #000;
	z-index: 51;
	background: linear-gradient(45deg,aqua 0%,white 35%);
	
}

.modal_contents p{
	font-size: 8vw;
	color: #000;
}

.modal_contents a{
	font-size: 5vw;
	text-align: center;
	text-decoration: none;
	display: block;
	width: 20vw;
	color: #000;
	border: 2px solid hsla(190,84%,47%,1.00);
	background-color: hsla(0,0%,91%,0.61);
	padding: 5px 10px; 
	border-radius: 5px;
	margin-top: 15px;
}

.modal_contents a:hover{
	background-image: linear-gradient(rgba(255,255,255,0.5),rgba(255,255,255,0.2));
}

.js-modal-close{
    margin-bottom: 100px;
}

.md_title,.md_day,.md_ent,.md_str,.md_com{
	color: #000;
	width: 75vw;
}

.md_title{
	padding-top: 40px;
}

.md_com{
	margin-top: 5px;
}

.long_txt{
	font-size: 16px;
}

.modal-img{
	width: 85vw;
	height: 50vh;
	overflow: hidden;
}

.loading{
	position: fixed;
	top: 0;
	left: 0;
	z-index: 666;
	background-color: #000;
	color: #fff;
	width: 100vw;
	height: 100vh;
	overflow-y: hidden;
}

.load{
	font-size: 8vw;
	position: relative;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	text-align: center;
	filter: hue-rotate(25deg);
}

.loadtext,.loadfin{
	position: absolute;
	top: 50%;
	left: 50%;
	transform:  translate(-50%,400%);
	font-size: 6.75vw;
}

.loadfin{
	display: none;
}

.loadcycle1,.loadcycle2,.loadcycle3,.loadcycle4,.loadcycle5{
	position: absolute;
	top: 50%;
	left: 50%;
	transform:  translate(-50%,-50%);
}

.loadblock{
	width: 100%;
	height: 50%;
	position: absolute;
	z-index: 10px;
}

.loadcycle1{
	border: #3280E9 20px solid;
	border-right: 20px solid transparent;
	border-radius: 50%;
	width: 150px;
	height: 150px;
	animation: loadanimate 1.2s  linear infinite;
}
.loadcycle2{
	border: #32c4f0 20px solid;
	border-right: 20px solid transparent;
	border-radius: 50%;
	width: 100px;
	height: 100px;
	animation: loadanimate2 0.8s  linear infinite;
}

.loadcycle3{
	border: #b52fe6 20px solid;
	border-right: 20px solid transparent;
	border-radius: 50%;
	width: 50px;
	height: 50px;
	animation: loadanimate 0.4s  linear infinite;
}

.loadcycle4{
	border: #ef1dae 20px solid;
	border-right: 20px solid transparent;
	border-radius: 50%;
	width: 0px;
	height: 0px;
	animation: loadanimate2 0.3s  linear infinite;
}

.loadcycle5{
	border: #3e5de3 25px solid;
	border-right: 25px solid transparent;
	border-radius: 50%;
	width: 200px;
	height: 200px;
	animation: loadanimate2 1.5s  linear infinite;
}



@keyframes loadanimate{
	0%{
		transform:translate(-50%,-50%) rotate(0deg);
	}
	100%{
		transform:translate(-50%,-50%) rotate(360deg);
	}
}

@keyframes loadanimate2{
	0%{
		transform:translate(-50%,-50%) rotate(0deg);
	}
	100%{
		transform:translate(-50%,-50%) rotate(-360deg);
	}
}

@keyframes loadanimate3{
	0%{
		transform: translate(-50%,-50%) rotate(45deg);
	}
	100%{
		transform: translate(-50%,-50%) rotate(45deg)rotateY(180deg)rotateX(180deg);
	}
}

@keyframes loadanimate4{
	0%{
		transform: translate(-50%,-50%)rotateY(180deg)rotateX(180deg);
	}
	100%{
		transform: translate(-50%,-50%)rotateY(0deg)rotateX(0deg);
	}
}

.map{
	height: 50vh;
	width: 75vw;
	margin-left: auto;
	margin-right: auto;
}

.sun{
	background-color:hsla(13,70%,60%,1.00);
}



@media(min-width:1025px){
	.leftside{
		bottom: -30em;
		left: 0em;
	}
	
	.chara{
		position: fixed;
		top: 6.5vh;
		z-index: 10;
		display: none;
		transform: rotate(22.5deg) scale(1.25);
	}
	
	.rightside{
		top: 17.5vh;
		right: 0vw;
	}
	
	.titletext{
		font-size: 6vw;
		top: 45vh;
		left: 35vw;
		-webkit-text-stroke: 1.5px #000;
	}
	
	.subtext{
		font-size: 3.75vw;
		top: 53.5vh;
		left: 45vw;
		-webkit-text-stroke: 1px #000;
	}
	
	.daytext{
		font-size: 3vw;
		top: 62vh;
		left: 53vw;
		vertical-align: baseline;
		-webkit-text-stroke:1.2px #000;
		
	}
	
	.dym{
		font-size: 2.25vw;
	}
	
	.dcy,.dcys{
		font-size: 2.25vw;
		top: -3px;
	}
	
	.timetext{
		font-size: 2vw;
		top: 75vh;
		left: 57vw;
		-webkit-text-stroke:1px #000;
		vertical-align: baseline;
	}
	
	.schedule,.shops,footer,.dpevent{
		width: 100%;
		height: 100%;
		background-color: rgba(29,74,166,1.00);
	}
	
	footer{
		background-color: hsla(143,63%,35%,1.00);
		height: 120%;
	}
	
	.titlesc,.titlesh,.ftitle,.titledp{
		width: 100%;
		font-size: 5vw;
		border-bottom: 3px dashed rgba(231,231,231,1.00);
		margin-bottom: 10px;
		text-align: center;
	}
	
	.schedule .container,.shops .container,.dpevent .container{
		display: flex;
	}
	
	.lists,.shlists,.dplists{
		flex: 1;
		display: block;
		font-size: 1.7vw;
		padding: 15px 0px;
	}
	
	.scDetail,.dptitle,.shDep{
		width: 100%;
		text-align: center;
	}
    
    .dptitle,.shDep{font-size: 21px;}
	
	.dpdetail,.scDetail,.shDetail{
		font-size: 16px;
	}
	
	.modal{
		display: none;
		height: 100%;
		width: 100vw;
		position: fixed;
		top: 0;
		z-index: 50;
		color: #000;
		overflow-y: hidden;
	}
	
	.timeTable,.shDep,.dptitle{
		border-right: 0px;
		border-bottom: 2px solid #FFF;
		margin: 0px 0 5px 0;
		padding: 0px 0px 5px 0px;
		text-align: center;
	}
	
	.timeTable{
		font-size: 1rem;
	}
	
	.shlists,.dplists{
		padding: 5px;
		height: 10rem;
		background-color: hsla(0,0%,72%,0.32);
		margin: 10px;
		display: block;
		text-align: center;
		vertical-align: middle;
	}
	.access{
		font-size: 2vw;
		margin-left: 20px;
	}
	
	.map{
		background-image: linear-gradient(aqua,violet);
		height: 25em;
		width: 50em;
	}
	
	footer .container{
		display: flex;
	}
	
	.loadtext,.loadfin{
		position: absolute;
		top: 50%;
		left: 50%;
		transform:  translate(-50%,400%);
		font-size: 32px;
	}
	.md_title,.md_day,.md_ent,.md_str,.md_com{
		color: #000;
		width: 75vw;
		font-size:20px; 
	}
	.modal_contents a{
		font-size: 16px;
		width: 50px;
	}
	
	.md-img{
		display: flex;
	}
	.modal-img{
		width: 500px;
		height: 400px;
	}
}
















