@charset "UTF-8";



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

 本文コンテンツ

 ***********************************/
#contentBody{
	display:block;
	overflow:hidden;
	width: min(100%,805px);

	margin-top:10px;
	margin-left:min(50vw,calc(100vw - 850px));

	background-color:#ffffff;
	border-radius: 20px 20px 0 0;
	-webkit-box-shadow: 5px 5px 10px rgba(0,0,0,0.4);
	box-shadow: 5px 5px 10px rgba(0,0,0,0.4);

	position:relative;

	/*background:#ffffff url('../images/main/b_bg.png') repeat-y 0 50%;
	background-size:100% auto;*/
}


/*#contentBody img{
	width:100%;
	height:auto;
}*/


#contentBody h2{
	text-align:center;
	font-size:clamp(2.6rem, 1rem + 8vw, 7rem);
	font-weight:700;
	line-height:125%;
	margin:0.5em 0;
	position:relative;
	white-space:nowrap;
}

#contentBody h2 > span{
	display:block;
	font-size:clamp(1rem, 0.782rem + 1.09vw, 1.6rem);
	font-weight:700;
	line-height:175%;
}



/* for Sp --------------------*/
@media screen and (max-width:1280px){
	
	#contentBody{
		float:none;
		margin:10px auto 0;
	}

}


/* for Sp --------------------*/
@media screen and (max-width:805px){
	
	#contentBody{
		float:none;
		-webkit-box-shadow:unset;
		box-shadow:unset;

		margin-top:0;
		margin-right:0;
		border-radius:unset;
	}
	
}


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

 カバー

 ***********************************/
#cover{
	position:relative;
	/*padding-bottom:min(60px,13vw);*/
	padding-bottom:540px;
}



#cover_image{
	display:block;
	overflow:hidden;
	position:relative;
}

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

#cover_image > p{
	display:block;
	overflow:hidden;
	background:url('../images/main/cover_bg.png') no-repeat 0 50%;
	background-size:contain;
	margin-bottom:min(50px,16vw);
}



#cover h3{
	font-size:clamp(1.8rem, 1.073rem + 3.64vw, 3.8rem);
	font-weight:700;
	line-height:155%;
	text-align:center;
	color:#29abe2;
	margin:0.5em 0 1em;
}

/*
#cover h4{
	font-size:clamp(2rem, 1.345rem + 3.27vw, 3.8rem);
	font-weight:700;
	line-height:155%;
	text-align:center;
	margin:1em 0;
}
*/

#cover ul{
	display:flex;
	flex-wrap:wrap;
	width:min(100%,700px);
	margin:0 auto;
}


#cover ul > li{
	width:33%;
	padding:12px 12px;
}


#cover ul > li > a{
	display:block;
	overflow:hidden;
	font-size:clamp(1.4rem, 1.255rem + 0.73vw, 1.8rem);
	font-weight:700;
	line-height:175%;
	color:#ffffff;
	text-align:center;
	text-decoration:none;
	border-radius:25px;
	background-color:#cccccc;
	-webkit-transition: all 0.2s ease-out;
	transition: all 0.2s ease-out;

	background-image: url('../images/to_right.svg');
	background-repeat:no-repeat;
	background-position:right 0.75em top 50%;
	background-size:auto 1em;
}


#cover ul > li > a > span{
	display:inline-block;
	padding:0.5em 1em;
}
/*#cover ul > li > a::after{
	content:"\03e";
	float:right;
}*/

#cover ul > li > a:hover{
	text-decoration:none;
	-webkit-transform: scale(1.1);
	transform: scale(1.1);
}


#cover ul > li:nth-child(1) > a {
	background-color:#ebc04b;
}
#cover ul > li:nth-child(2) > a {
	background-color:#89b95c;
}
#cover ul > li:nth-child(3) > a {
	background-color:#29abe2;
}
#cover ul > li:nth-child(4) > a {
	background-color:#d27337;
}
#cover ul > li:nth-child(5) > a {
	background-color:#eac5bc;
}
#cover ul > li:nth-child(6) > a {
	background-color:#9cb2c5;
}


/* for Sp --------------------*/
@media screen and (max-width:768px){
	
	#cover {
		padding-bottom:60vw;
		margin-bottom:9vw;
	}

	#cover > article{
		padding:0 min(5vw,40px);
	}


	#cover ul > li{
		width:50%;
		padding:0.5em 0.25em;
	}

	#cover h3{
		font-size:1.8rem;
		line-height:155%;
	}

	#cover h4{
		font-size:2.0rem;
		line-height:155%;
	}

	#cover ul > li > a{
		font-size:1.4rem;
		line-height:175%;
	}

}



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

 展示・発表

 ***********************************/
#section_a{
	padding:100px min(5vw,40px) 125px;
	position:relative;
	z-index:2;
}

#section_a::before{
	content:"";
	display:block;
	overflow:hidden;
	width:100%;
	height:100%;
	position:absolute;
	top:0;
	left:0;
	background-color:#fac13e;
	clip-path: polygon(0 100px, 100% 0, 100% 100%, 0 calc(100% - 100px));
}

#section_a > *{
	position:relative;
}

#section_a > h2{
	color:#ffffff;
}
#section_a > p{
	font-size:clamp(1.2rem, 1.055rem + 0.73vw, 1.6rem);
	line-height:155%;
}


#section_a ul.scrollContent {
	margin:min(13vw,60px) 0;
	animation: mvToLeft 18s linear infinite;
}

#section_a dl{
	display:block;
	overflow:hidden;
	text-align:center;
	width:min(66.7vw,475px);
	margin:0 auto;
}

#section_a dl > dt > img{
	width: min(324px,53.7vw);
	height: auto;

}

#section_a dl > dd{
	padding-top:1em;
	font-size:clamp(1.4rem, 1.327rem + 0.36vw, 1.6rem);
	line-height:155%;
}

#section_a dl > dd + dt{
	margin-top:min(5.3vw,50px);
}



/* for Sp --------------------*/
@media screen and (max-width:768px){
		
	#section_a{
		padding:50px min(5vw,40px) 75px;
	}

	#section_a::before{
		clip-path: polygon(0 50px, 100% 0, 100% 100%, 0 calc(100% - 50px));
	}

	#section_a > p{
		font-size:1.2rem;
		line-height:155%;
	}

	#section_a dl > dd{
		font-size:1.4rem;
		line-height:155%;
	}

}




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

 イベント

 ***********************************/
#section_b{
	background:url('../images/main/b_bg.png') no-repeat 0 0;
	background-size:100% 100%;
	padding:100px min(5vw,40px);
	margin-top:-100px;
	position:relative;
}


#section_b h2{
	color:#89b95c;
}
#section_b > article{
	margin:min(16vw,50px) auto 0;
}

#section_b > article+article{
	/*padding-top:min(16vw,50px);
	border-top:1px solid #000000;*/
}

#section_b *[class^='imgSet']{
	display:flex;
	justify-content: space-between;
	gap:0 min(2.5vw,20px);
	position: relative;
	z-index: 7;
}

#section_b *[class^='imgSet'] span{
	display:inline-block;
	position:relative;
	vertical-align:top;
}


/*#section_b *[class^='imgSet'] span > img{
	imgSet: 25px;
	height:auto;
}*/

#section_b .imgSet + p{
	display:block;
	overflow:hidden;
	margin-top:2em;
}

#section_b .imgSet span > img{
	width:min(100%,347px);
	height:auto;
}

#section_b .imgSet_w span > img{
	width:min(100%,724px);
	height:auto;
	border-radius:25px;
}

#section_b > article:nth-child(2) .imgSet span:nth-child(2),
#section_b > article:nth-child(3) .imgSet span:nth-child(1),
#section_b > article:nth-child(4) .imgSet span:nth-child(2){
	margin-top: 30px;
}



#section_b h3{
	font-size:clamp(1.6rem, 1.018rem + 2.91vw, 3.2rem);
	font-weight:700;
	line-height:155%;
	margin:1em 0 0.5em;
}

#section_b h3 > span{
	display:block;
	overflow:hidden;
	font-size:clamp(1.2rem, 1.055rem + 0.73vw, 1.6rem);
	line-height:125%;
}
#section_b p{
	font-size:clamp(1.4rem, 1.327rem + 0.36vw, 1.6rem);
	line-height:155%;
	margin:0.5em 0 1em;
}

#section_b p > a{
	color:#89b95c;
	font-weight:700;
}


#section_b dl{
	display:block;
	overflow:hidden;
	margin:1em 0 1.5em;
}

#section_b dl > dt{
	font-size:clamp(1.4rem, 1.327rem + 0.36vw, 1.6rem);
	font-weight:700;
	line-height:155%;
	/*color:#89b95c;
	text-indent:-1em;
	padding-left:1em;*/
}
#section_b dl > dt::before{
	content:"▶";
	margin-right:0.5em;
}

#section_b dl > dt > strong{
	font-size:1.5em;
}

#section_b dl > dt > span{
	margin-left: 1em;
}

#section_b dl > dd{
	padding-left:1em;
	font-size:clamp(1.4rem, 1.182rem + 1.09vw, 2rem);
	line-height:155%;
}
#section_b dl > dd + dt{
	margin-top:2em;
}


#section_b ul{
	display:block;
	overflow:hidden;
	margin:1em 0;
}

#section_b ul > li{
	font-size:clamp(1.4rem, 1.327rem + 0.36vw, 1.6rem);
	line-height:155%;
	text-indent:-1em;
	padding-left:1em;
}

#section_b ul.dotList > li+li{
	margin-top:0.5em;
}

/*ドット リスト*/
#section_b ul.dotList > li{
	font-weight:700;
}
#section_b ul.dotList > li::before{
	content:"●";
	color:#89b95c;
}

#section_b ul.cautionList{
	/**/
}


.centerBox{
	display:block;
	text-align:center;
	position:relative;
}


/* for Sp --------------------*/
@media screen and (max-width:768px){
	
	#section_b{
		
	}

	#section_b > article{
		margin:6vw auto 0;
	}
	/*#section_b > article+article{
		padding-top:6vw;
	}*/

	#section_b h3{
		font-size:1.6rem;
		line-height:155%;
	}

	#section_b h3 > span{
		font-size:1.2rem;
		line-height:125%;
	}
	#section_b p{
		font-size:1.4rem;
		line-height:155%;
	}

	#section_b dl{
	}

	#section_b dl > dt{
		font-size:1.6rem;
		line-height:155%;
	}

	#section_b dl > dd{
		font-size:1.4rem;
		line-height:155%;
		padding-right:30vw;
	}

	#section_b dl > dt > span{
		display:block;
		overflow:hidden;
		margin-top: 0.25em;
		margin-left: 1.5em;
	}

	#section_b ul > li{
		font-size:1.4rem;
		line-height:155%;
	}

}

/*****************
 イベント TOP
 *****************/
#sec_b00{

}


/*****************
 展示・販売
 *****************/
#sec_b01{
	position: relative;
}

#sec_b01 h3{
	color:#89b95c;
	padding-bottom:0.25em;
	border-bottom:1px solid #89b95c;
}
#sec_b01 dl > dt::before{
	color:#89b95c;
}

/*****************
 カフェ
 *****************/
#sec_b02{
	position: relative;
}

#sec_b02 h3{
	color:#eac5bc;
	border-bottom:1px solid #eac5bc;
}
#sec_b02 dl > dt::before{
	color:#eac5bc;
}

/*****************
 コラボ イベント
 *****************/
#sec_b03,
#sec_b04,
#sec_b05{
	border-top:1px solid #2f2f2f;
	padding-top: min(16vw, 50px);
}



/* for Sp --------------------*/
@media screen and (max-width:768px){

	#sec_b03,
	#sec_b04,
	#sec_b05{
		padding-top:6vw;
	}

}



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

 オープンキャンバス

 ***********************************/
#section_c{
	background:#29abe2 url('../images/main/c_bg.png');
	background-size:cover;
	text-align:center;
	position:relative;
	padding:80px 0 400px;
	z-index:3;
}

#section_c::before{
	content:"";
	display:block;
	overflow:hidden;
	width:115%;
	aspect-ratio:2/1;
	background:url('../images/main/c_mask_top.svg');
	background-size:cover;
	position:absolute;
	top:0;
	left:50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
}

#section_c::after{
	content:"";
	display:block;
	overflow:hidden;
	width:115%;
	aspect-ratio:2/1;
	background:url('../images/main/c_mask_bottom.svg');
	background-size:cover;
	position:absolute;
	bottom:0;
	left:50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
}


#section_c > *{
	position:relative;
}


#section_c h2{
	margin:0 0;
}
#section_c h2 img{
	width:100%;
	height:auto;
}

#section_c h3{
	margin-top:min(8vw,55px);
}
#section_c h3 img{
	width:min(73vw,592px);
	height:auto;
}

#section_c h4{
	margin-bottom:min(8vw,55px);
	font-size:clamp(1.6rem, 1.455rem + 0.73vw, 2rem);
	line-height:155%;
	color:#ffffff;
}



#section_c > p > img{
	width:min(90%,728px);
	height: auto;
	margin-top:min(13vw,50px);
}


/* for Sp --------------------*/
@media screen and (max-width:768px){
	
	#section_c{
		padding:12vw 0 50vw;
	}

	#section_c h4{
		font-size:1.6rem;
		line-height:155%;
	}

}


/********************************
 タイムテーブル 票
********************************/
#timeTable{
	display:block;
	overflow:hidden;
	padding:0 min(5vw,40px);
	text-align:left;
	color:#ffffff;
	position:relative;
}

#timeTable > dl{
	display:block;
	overflow:hidden;
}

#timeTable > dl > dt{
	clear:both;
	display:block;
	overflow:hidden;
	width:5em;
	height:100%;
	position:relative;
	float:left;
}
#timeTable > dl > dt > img{
	width:min(7.5vw,60px);
	height:auto;
	position:relative;
	z-index: 10;
}


#timeTable > dl > dd{
	display:block;
	width:calc(100% - 5em);
	position:relative;
	float:left;
	padding-bottom: 2em;
	padding-right:min(27vw,180px);
}

#timeTable > dl > dd:last-child{
	padding-bottom: 0;
	padding-right:0;
}

#timeTable > dl > dd::before{
	content:"";
	display:block;
	overflow:hidden;
	width:100%;
	height:100%;
	position:absolute;
	top:1em;
	left:-3.0em;
	border-left: 2px solid #333333;
}

#timeTable > dl > dd > h5{
	font-size:clamp(1.6rem, 1.164rem + 2.18vw, 2.8rem);
	font-weight:700;
	line-height:155%;
	text-indent: -1em;
	padding-left: 1em;

}

#timeTable > dl > dd > h5 > strong{
	font-size:clamp(1.8rem, 1.291rem + 2.55vw, 3.2rem);
	line-height:155%;
}



#timeTable > dl > dd >  p{
	font-size:clamp(1.4rem, 1.327rem + 0.36vw, 1.6rem);
	line-height:155%;
	margin-top: 1em;
	padding-left:1em;
}



#timeTable h4{
	font-size:clamp(1.8rem, 1.291rem + 2.55vw, 3.2rem);
	font-weight:700;
	line-height:125%;
	margin:1em 0 0.5em;
}

#timeTable p{
	font-size:clamp(1.4rem, 1.327rem + 0.36vw, 1.6rem);
	line-height:155%;
}


/* for Sp --------------------*/
@media screen and (max-width:768px){

	#timeTable > dl > dt{
		width:2.5em;
	}

	#timeTable > dl > dd{
		width:calc(100% - 2.5em);
		padding-right:27vw;
	}

	#timeTable > dl > dd::before{
		left:-1.5em;
	}


	#timeTable > dl > dd >  p{
		font-size:1.4rem;
		line-height:155%;
	}

	#timeTable > dl > dd:nth-child(4) >  p{
		width:100%;
		padding-right:5vw;
	}


	#timeTable > dl > dd > h5{
		font-size:1.6rem;
	}

	#timeTable > dl > dd > h5 > strong{
		font-size:1.8rem;
		line-height:155%;
	}


	#timeTable h4{
		font-size:1.8rem;
		line-height:125%;
	}

	#timeTable p{
		font-size:1.4rem;
		line-height:155%;
	}

}




/*開催時間*/
ul.timeList{
	display:block;
	overflow: hidden;
}

ul.timeList > li{
	position:relative;
}


ul.timeList > li > span{
	display:inline-block;
	overflow:hidden;
	padding:0.25em 0.5em 0.25em 1em;
	margin-right:0.75em;
	border-radius:15px;
	font-size:clamp(1.2rem, 0.982rem + 1.09vw, 1.8rem);
	line-height:125%;
	color:#000000;
	text-align:center;
	letter-spacing:0.75rem;
	background-color:#f0de36;
	vertical-align:middle;
}

ul.timeList > li > strong{
	display:inline-block;
	overflow:hidden;
	font-size:clamp(2.4rem, 1.527rem + 4.36vw, 4.8rem);
	font-weight:700;
	line-height:125%;
	vertical-align:middle;
}


/* for Sp --------------------*/
@media screen and (max-width:768px){

	ul.timeList > li > span{
		font-size:1.2rem;
		line-height:125%;
	}

	ul.timeList > li > strong{
		font-size:2.4rem;
		line-height:125%;
	}

}




/*オープンキャンバス プログラム*/
#timeTable article{
	clear:both;
	padding-top:min(13vw,50px);
	position:relative;
}

.cutBox{
	display:inline-block;
	overflow:hidden;
	position:relative;
	width:min(37.8vw,250px);
	float:right;
}

.cutBox img{
	width:100%;
	height:auto;
}

.revese .cutBox{
	float:left;
}

.dataBox{
	display:inline-block;
	overflow:hidden;
	position:relative;
	/*width:325px;*/
	width:calc(100% - min(37.8vw,250px));
	padding-right:45px;
	float:left;
}

.revese .dataBox{
	float:right;
	padding-right:0;
	padding-left:45px;
}

/*
#timeTable article > h5{
	display:inline-block;
}
*/

.dataBox > h5 img{
	width:min(100%,324px);
	height:auto;
}

.dataBox > h5 > span{
	display:block;
	overflow:hidden;
	margin:0.75em 0;
	font-size:clamp(1.6rem, 1.164rem + 2.18vw, 2.8rem);
	font-weight:700;
	line-height:125%;
}

/*#timeTable article > p{
	display:inline-block;
	width:calc(100% - 300px);
}
*/


/* for Sp --------------------*/
@media screen and (max-width:768px){
	
	#timeTable{
		padding:0 0 0 min(5vw,40px);
	}

	#timeTable article.revese{
		padding-right:5vw;
	}

	.cutBox{
		top:8vw;
		right:-5vw;
	}
	.revese .cutBox{
		left:-7.5vw;
		right:auto;
	}

	.dataBox{
		padding-right:0;
	}
	.revese .dataBox{
		padding-left:0;
	}

	.dataBox > h5 > span{
		font-size:1.6rem;
		line-height:125%;
	}
}






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

 公開講義・講評

 ***********************************/
#section_d{
	background:url('../images/main/d_bg.png') no-repeat 0 0;
	background-size:100% 100%;
	padding:100px min(5vw,40px);
	text-align:center;
	position:relative;
}

#section_d h2{
	color:#d27337;
}

#section_d > article{
	margin:50px auto 0;
}

#section_d > article+article{
	padding-top:50px;
	border-top:1px solid #000000;
}

#section_d article img{
	width: min(100%,724px);
	height:auto;
	margin:0 auto;
	-webkit-border-radius:25px;
	border-radius:25px;
}

#section_d h3{
	margin-top:25px;
}

#section_d h3 > img{
	width:min(52vw,324px);
	height:auto;
}


#section_d h4{
	font-size:clamp(1.8rem, 1.436rem + 1.82vw, 2.8rem);
	font-weight:700;
	line-height:155%;
	color:#115dd4;
	margin:0.5em 0 0.5em;
}


#section_d > article:nth-child(3) h4{
	margin-bottom:1em;
}


#section_d ul{
	display:block;
	overflow:hidden;
	margin: 1em 0;
}

#section_d ul > li{
	display:inline-block;
	overflow:hidden;
	margin-right:1em;
	font-size:clamp(1.4rem, 1.327rem + 0.36vw, 1.6rem);
	font-weight:700;
	line-height:125%;
	color:#000000;
}

#section_d ul > li::before{
	content:"●";
	color:#f7e351;
}



a.roundBtn{
	display:inline-block;
	overflow:hidden;
	padding:0.75em 1.5em;
	font-size:1.6rem;
	line-height:125%;
	border:1px solid #000000;
	border-radius:25px;
	background-color:#f8df0b;
	-webkit-transition: all 0.2s ease-out;
	transition: all 0.2s ease-out;
}

a.roundBtn > span{
	background:url('../images/arrow_right.svg') no-repeat right 50%;
	background-size:1em auto;
	padding-right:2.0em;
}

a.roundBtn:hover{
	color:#000000;
	text-decoration:none;
	-webkit-transform: scale(1.1);
	transform: scale(1.1);
}



/* for Sp --------------------*/
@media screen and (max-width:768px){
	
	#section_d{
		
	}

	#section_d h4{
		font-size:1.8rem;
		line-height:155%;
	}

	#section_d ul{
		text-align: left;
	}

}



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

 飲食・休憩スペース

 ***********************************/
#section_e{
	padding:100px min(5vw,40px);
	background-color:#f7c6bd;
	clip-path: polygon(0 100px, 100% 0, 100% 100%, 0 calc(100% - 100px));
	text-align:center;
	margin-top:-100px;
	position:relative;
	z-index:4;
}

#section_e h2{
	color:#ffffff;
}

#section_e p{
	font-size: clamp(1.4rem, 1.327rem + 0.36vw, 1.6rem);
	line-height:175%;
}



#section_e dl{
	display:block;
	overflow:hidden;
	margin:1.5em 0;
	text-align:left;
}

#section_e dl > dt{
	font-weight:700;
	line-height:155%;
	/*color:#89b95c;
	text-indent:-1em;
	padding-left:1em;*/
}
#section_e dl > dt::before{
	content:"▶";
	margin-right:0.5em;
}

#section_e dl > dt > strong{
	font-size:1.5em;
}
#section_e dl > dt > span{
	margin-left: 1em;
}

#section_e dl > dd{
	padding-left:1em;
	line-height:155%;
}
#section_e dl > dd + dt{
	margin-top:2em;
}



#section_e ul.scrollContent {
	margin:50px 0;
	/*animation: mvToRight 18s linear infinite;*/
	animation: mvToLeft 18s linear infinite;
}


/* for Sp --------------------*/
@media screen and (max-width:768px){
	
	#section_e{
		
	}

	#section_e > p{
		font-size:1.4rem;
		line-height:175%;
	}

	#section_e dl > dt > span{
		display: block;
		overflow: hidden;
		margin-top: 0.25em;
		margin-left: 1.5em;
	}
	#section_e dl > dd{
		padding-right:30vw;
	}

}




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

 フッタセクション

 ***********************************/
#last_section{
	background-color:#2b2b2b;
	color:#ffffff;
	padding:150px 0 50px;
	margin-top:-100px;
	text-align:center;
	position:relative;
}

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


#last_section > a{
	display:inline-block;
	overflow:hidden;
	margin-top:50px;
}

#last_section > a > img{
	width: min(100%,280px);
	height:auto;
}



/* for Sp --------------------*/
@media screen and (max-width:768px){
	
	#last_section{
		
	}

}

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

 スライダーアニメーション

 ***********************************/
:root {
	--slyde-width: 310px;
}

ul.scrollContent {
	display: flex;
	gap:0 min(2.5vw,21px);
}

ul.scrollContent > li{
	text-align:center;
}

ul.scrollContent > li:nth-child(odd){
	padding-top:min(5.8vw,35px);
}

ul.scrollContent > li > img{
	width:min(36vw,289px);
	height:auto;
}


/* for Sp --------------------*/
@media screen and (max-width:768px){
	
	:root {
		--slyde-width: 38.5vw;
	}


}


/* CSSアニメーション */
@keyframes mvToLeft {
	from {
		transform: translateX(0);
	}
	to {
		/*transform: translateX(-100%);*/
		transform: translateX(calc(-6 * var(--slyde-width)));
	}
}

@keyframes mvToRight {
	from {
		transform: translateX(calc(-6 * var(--slyde-width)));
	}
	to {
		transform: translateX(0);
	}
}




