@charset "UTF-8";

/********************

	nav

**********************/
.sp-nav {
	float: left;
	position: relative;
	width: 50%;
	background: #C878C8;
}

.menu-btn {
	width: 100%;
	height: 45px;
	padding: 0 20px;
	position: relative;
}

.menu-btn::after{
	content: "MENU";
	position: absolute;
	right: 10%;
	font-weight: bold;
	color: #fff;
	font-size: 1.8rem;
	top: 10px;
}

.menu-btn span{
	width: 20px;
	height: 2px;
	border-radius: 1px;
	background: #fff;
	display: block;
	transition: .3s all;
}

.menu-btn span:nth-child(2){
	margin: 5px 0;
}

.menu-btn.open{
	z-index: 9999;
}

.menu-btn.open span:nth-child(1){ transform: rotate(-45deg); }
.menu-btn.open span:nth-child(2){ display: none; }
.menu-btn.open span:nth-child(3){
	transform: rotate(45deg);
	position: absolute;
	top: 22px;
}

.sp-menu {
	height: 250px;
	width: 100vw;
	position: absolute;
	z-index: 9998;
	right: 0;
	left: 0;
	top: 45px;
	padding:0 0 100vh;
	margin: auto;
	background: rgba(0, 0, 0, 0.8);
}

.sp-menu nav{
	margin: 0 0 10%;
	background: #fff;
}

.sp-menu li a {
	position: relative;
	display: block;
	height: 50px;
	padding: 12px 20px;
	border-bottom: 1px solid #ccc;
	font-size: 1.8rem;
	font-weight: bold;
	color: #45413C;
}

.sp-menu li:last-child a{
	border: none;
}

.sp-menu li a::after{
	content: ">";
	position: absolute;
	color: #45413C;
	right: 3%;
	top: 20%;
	font-weight: bold;
}

.sp-contact{
	width: 50%;
	float: right;
	position: relative;
	height: 45px;
	background: #92D016;
}

.sp-contact a {
	width: 100%;
	height: 100%;
	background: #92D016;
	color: #fff;
	font-weight: bold;
	display: block;
	padding: 10px 0 10px 10px;
	font-size: 4.5vw;
	position: relative;
}

.sp-contact a::after {
	content: ">";
	position: absolute;
	color: #fff;
	right: 3%;
	top: 13%;
	font-weight: normal;
	font-size: 2rem;
}

/********************

	cashless

**********************/

.cashless {
	    padding-top: 5%;
	    margin-bottom: 5%;
	}

/********************

	bnr-area

**********************/

.bnr-area{
	margin: 5% auto 3%;
}

.bnr-area li{
	margin: 0 0 20px;
}

.bnr-area li:last-child{
	margin: 0;

}

/********************

	check

**********************/

.check-list li{
	margin: 0 0 10%;
}

.check-list li:last-child{
	margin: 0
}

.check-list li h2{
	color: #E5140F;
	font-size: 2rem;
	margin: 4% 0;
}

.check-list li h2 + p{
	margin: 0 0 5%;
}

.check-no{
	text-align: center;
	font-size: 2rem;
	color: #E5140F;
}

.check-no span {
	color: #fff;
	font-size: 4.5rem;
	width: 55px;
	height: 55px;
	background: #E5140F;
	border-radius: 50%;
	display: block;
	margin: auto;
	line-height: 50px;
}

.furniture-list li{
	width: 48%;
	float: left;
	margin: 0 0 2%;
}

.furniture-list li:nth-child(odd){
	margin-right: 4%;
}

.furniture-list h3{
	font-size: 1.6rem;
}

.furniture-list + p,
.maker-list + p{
	font-weight: bold;
	font-size: 2rem;
}

.movie,.map{
	width: 100%;
	height: 0;
	position: relative;
	padding-bottom: 56.25%;
  	overflow: hidden;
  	margin: 5% auto;
}

.map{
	margin: 0 auto 5%;
	padding-bottom: 80%;
	border: 10px solid #fff;
}

.movie iframe,.map iframe{
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
}


.maker-list li{
	width: calc((100% - 4%) / 3);
	margin: 0 2% 2% 0;
	float: left;
}

.maker-list li:nth-child(3n){
	margin-right: 0;
}

.flyer-list li{
	margin: 0 0 5%;
}

/********************

	point

**********************/

.point-list {
	counter-reset: number 0;
}

.point-list li{
	position: relative;
	background: #fff;
	border: 1px solid #00A6D9;
	margin: 0 auto 10%;
	width: calc(100% - 30px);
	padding: 0 10px 5% 10px;
}

.point-no {
	position: relative;
	color: #00A6D9;
	width: 180px;
	height: 60px;
	background: #D0F4FF;
	display: block;
	margin: -5px auto 0;
	padding: 20px 80px 10px 0;
	font-size: 2rem;
	text-align: right;
}

.point-no::before {
	counter-increment: number 1;
	content: counter(number);
	position: absolute;
	font-family: 'Roboto', sans-serif;
	color: #00A6D9;
	left: 95px;
	top: -18px;
	text-align: center;
	font-style: italic;
	padding: 10px 0 0;
	font-size: 4.8rem;
}

.point-no::after {
	content: "";
	position: absolute;
	left: 0;
	top: 60px;
	width: 180px;
	border: 90px solid transparent;
	border-top: 20px solid #D0F4FF;
}

.point-txt{
	margin: 30px 0 5%;
}

.point-txt h2{
	color: #F05096;
	font-size: 1.8rem;
	margin: 0 0 3%;
}

.point-img{
	width: 80%;
	margin: auto;
}


/********************

	access

**********************/

.take-list dt.take-train,
.take-list dt.take-car{
	background: #00A6D9 no-repeat 4% center / 30px auto;
	color: #fff;
	font-weight: bold;
	padding: 10px 10px 10px 55px;
	font-size: 2rem;
	margin: 0 0 2%;
}

.take-list dt.take-train{ background-image: url(../img/index/trainIcon.svg); }
.take-list dt.take-car{ background-image: url(../img/index/carIcon.svg); }

.take-list-detail{
	padding-left: 10px;
	margin: 0 0 5%;
}

.take-list-detail dt{
	font-weight: bold;
}

.take-list-detail dt span{
	color: #C878C8;
}

.take-list-detail dd{
	margin: 0 0 3%;
}

/********************

	開催中止

**********************/

.boxinner {
    padding: 40px 0;
    width: 90%;
    max-width: 1000px;
    margin: 0 auto;
}
.boxinner p {
    margin: 10px 0;
}
h2 {
    font-size: 22px;
    color: #4e402c;
    margin: 40px 0 6px 0;
    font-weight: bold;
}


@media screen and (min-width:767px) {

	.catch{
		max-width: 1040px;
		padding: 0 20px;
		margin: 50px auto 0;
	}

	/********************

		cashless

	**********************/

	.cashless {
    max-width: 1080px;
    padding: 20px 20px 0 20px;
    margin: 0 auto -20px;
	}

	/********************

		check

	**********************/

	.check-list li {
		margin: 0 0 50px;
	}

	.check-list li h2{
		font-size: 3.6rem;
		margin: 15px 0;
	}

	.check-list li h2 + p{
		margin: 20px auto 30px;
		max-width: 820px;
		padding: 0 10px
	}

	.furniture-list li,
	.furniture-list li:nth-child(odd){
		width: calc((100% - 8%) / 5);
		margin: 0 2% 0 0;
	}

	.furniture-list li:last-child{
		margin: 0;
	}

	.furniture-list + p,
	.maker-list + p {
		font-size: 3rem;
		padding: 20px 0 0;
	}

	.movie-box{
		width: 800px;
		margin: auto;
	}

	.movie-box + a {
		width: 750px;
		margin: auto;
		display: block;
	}

	.maker-list li{
		width: calc((100% - 8%) / 4);
		margin: 0 2% 2% 0;
		float: left;
	}

	.maker-list li:nth-child(3n){
		margin-right: 2%;
	}

	.maker-list li:nth-child(4n){
		margin-right: 0;
	}

	.flyer-intro{
		text-align: center;
	}

	.flyer-list li img{
		margin: 0 0 20px;
		border: 5px solid #DBD4C9;
	}

	/********************

		point

	**********************/

	.point-list li {
		margin: 0 auto 30px;
		width: auto;
		padding: 20px 20px 20px 230px;
		border-width: 3px;
	}

	.point-no {
		margin: -5px auto 0;
		position: absolute;
		left: 20px;
		top: -5px;
	}

	.point-txt {
		margin: 0 0 20px;
	}

	.point-txt h2{
		font-size: 2.4rem;
		margin: 0 0 3%;
		text-align: left;
	}

	.point-txt{
		width: 70%;
		float: left;
	}

	.point-img{
		width: 25%;
		margin: auto;
		float: right;
	}

	/********************

		access

	**********************/

	.map {
		padding-bottom: 450px;
	}

	.take-list{
		width: 50%;
		float: left;
	}

	.take-list dt.serif{
		font-size: 3rem;
		padding: 7px 10px 10px 65px;
	}

	.take-list-detail dt{
		float: left;
		width: 130px;
		margin: 0 0 3%;
	}

	.take-list-detail dd{
		padding-left: 130px:
	}

	.parking-img{
		width: 46%;
		float: right;
	}

}

/********************

	IE

**********************/

@media all and (-ms-high-contrast: none){
	.event-date-box h1 {
		padding: 10px 0 0;
	}

	.event-date-detail{
		margin: 0;
	}

	.check-no span{
		padding-top: 5px;
	}

	.take-list dt.serif{
		padding: 10px 10px 0 65px;
	}

	.ftr-txt .site-name {
		margin-bottom: -5px;
	}


}