*{
	box-sizing: border-box;
}
html{
	font-size: 62.5%; /* 10px */
}
body{
	font-family: 'Open Sans',"Hiragino Sans","Hiragino Kaku Gothic ProN","ヒラギノ角ゴ ProN W3","Noto Sans JP",Meiryo,"Meiryo UI","メイリオ",sans-serif;
	text-align: center;
	font-size: 1.4rem;
	line-height: 1.6;
	min-width: 320px;
	color: #F8F8F8;

	background-color: #000;
	background-image: linear-gradient(45deg, #181818 25%, transparent 25%, transparent 75%, #181818 75%), linear-gradient(45deg, #181818 25%, transparent 25%, transparent 75%, #181818 75%);
	background-position: 15px 15px, 30px 30px;
	background-size: 30px 30px;
}

.sp{ display: block; }
.pc{ display: none; }

/* */
.effect img{
	transition: .8s;
}

h1, h2, h3, h4, h5, h6{
	font-size: 100%;
	font-weight: normal;
	padding: 0;
	margin: 0;
}
ul, li, ol{
	list-style: none outside none;
	margin: 0;
	padding: 0;
}
em{ font-style: normal; }
dl{
	margin: 0;
	padding: 0;
}
p{
	margin: 0;
	padding: 0;
}
img:not(.aaaa){
	max-width: 100%;
	vertical-align: top;
}

a{
	color: #40B0FF;
	text-decoration: none;
	transition: 0.4s;
}
/*a:visited{ color: #4900c1; text-decoration: none; }*/
a:hover, a:active, a:focus{
	color: #ff2080;
	text-decoration: none;
	transition: 0.4s;
}
a:hover img, a:active img, a:focus img{
	transition: 0.4s;
	opacity: 0.8;
	filter: alpha(opacity=80);
}

/* ボタン外部（チケット購入など） */
a[target="_blank"] p:after{
	content: "\f08e";
	font-family: 'FontAwesome';
	vertical-align: middle;
	display: inline-block;
	padding: 0 0 0 4px;
}

/* text decoration */
.sat{ color: #0022dc; }
.sat2{ color: #4a95ff; }
.sun{ color: #ff4a95; }
.bold{ font-weight: bold; }
.white{ color: #FFF; }
.red{ color: #ff044f; }
.pink{ color: #ff54aa; }
.blue{ color: #2fbfff; }
.blue2{ color: #0752b9; }
.yellow{ color: #ffd900; }
.green{ color: #00a226; }
.tline{ text-decoration: line-through; }
.uline{ text-decoration: underline; }
.uline2{ border-bottom: 1px solid #FFF; }

.size08{ font-size: 0.8rem; }
.size09{ font-size: 0.9rem; }
.size11{ font-size: 1.1rem; }
.size12{ font-size: 1.2rem; }
.size14{ font-size: 1.4rem; }
.size16{ font-size: 1.6rem; }
.size18{ font-size: 1.8rem; }
.size20{ font-size: 2.0rem; }
.size22{ font-size: 2.2rem; }
.size24{ font-size: 2.4rem; }

.size60p{ font-size: 60%; }
.size70p{ font-size: 70%; }
.size80p{ font-size: 80%; }
.size90p{ font-size: 90%; }
.size110p{ font-size: 110%; }
.size120p{ font-size: 120%; }
.size130p{ font-size: 130%; }
.size140p{ font-size: 140%; }
.size160p{ font-size: 160%; }
.size180p{ font-size: 180%; }
.size200p{ font-size: 200%; }
.size220p{ font-size: 220%; }
.size240p{ font-size: 240%; }

.w10_sp{ width: 10%; }
.w20_sp{ width: 20%; }
.w30_sp{ width: 30%; }
.w40_sp{ width: 40%; }
.w50_sp{ width: 50%; }
.w60_sp{ width: 60%; }
.w70_sp{ width: 70%; }
.w80_sp{ width: 80%; }
.w90_sp{ width: 90%; }
@media screen and (min-width: 960px){
	.w10{ width: 10%; }
	.w20{ width: 20%; }
	.w30{ width: 30%; }
	.w40{ width: 40%; }
	.w50{ width: 50%; }
	.w60{ width: 60%; }
	.w70{ width: 70%; }
	.w80{ width: 80%; }
	.w90{ width: 90%; }
}

.t-center{ text-align: center !important; }
.t-left{ text-align: left !important; }
.t-right{ text-align: right !important; }
.fl-left{ float: left !important; }
.fl-right{ float: right !important; }

.pda-0{ padding: 0px !important; }
.pda-8{ padding: 8px !important; }
.pda-16{ padding: 16px !important; }
.pdt-0{ padding-top: 0px !important; }
.pdt-8{ padding-top: 8px !important; }
.pdt-16{ padding-top: 16px !important; }
.mgt-0{ margin-top: 0px !important; }
.mgt-12{ margin-top: 12px !important; }
.mgt-16{ margin-top: 16px !important; }
.mgt-24{ margin-top: 24px !important; }
.mgt-32{ margin-top: 32px !important; }
.mgt-40{ margin-top: 40px !important; }
.mgt-48{ margin-top: 48px !important; }
.mgt-64{ margin-top: 64px !important; }



/* /basic+ */
div#wrapper{
	/* background-color: #000;
	background-image: linear-gradient(45deg, #181818 25%, transparent 25%, transparent 75%, #181818 75%), linear-gradient(45deg, #181818 25%, transparent 25%, transparent 75%, #181818 75%);
	background-position: 15px 15px, 30px 30px;
	background-size: 30px 30px; */
}
section{
	width: 100%;
	margin: 0 auto;
	padding: 0vw 0 12vw;
	overflow: hidden;
	clear: both;
}
	div.sec-inner{
		width: 96%;
		margin: 0 auto;
		text-align: left;
	}

	section#outline{
		/* background: url(../img/title.png);
		background-repeat: no-repeat;
		background-size: 100vw;
		background-position: top center;
		padding: 0; */
	}

	section.s-base{}
	dl{
		display: flex;
		flex-direction: column;
		border: 1px solid #C0C0C0;
		border-radius: 8px;
		padding: 1em 0.6em;
	}
		dt{
			background: #ffe5f2;
			margin-bottom: 0.4em;
			padding: 4px 0 4px 0.6em;
		}
		dd{
			margin: 0 0 1em 0.6em;
			padding: 4px 0;
		}
		dd:last-child{
			margin: 0 0 0em 0.6em;
			padding: 4px 0;
		}


	#outline div{}
	#outline h1.bg{
		background: url(../img/header-bg.jpg);
		background-repeat: no-repeat;
		background-size: 100vw;
		background-position: top left;
		padding: 0;
		margin: 0;
	}
		#outline h1.bg img{
			margin: 5vw auto;
			width: 94%;
		}
		#outline h1 img{
			width: 100%;
		}

	div.attention{
		width: 100%;
		margin: 0 auto 0;
		overflow: hidden;
		padding: 12px 12px 0;
		position: relative;
		background-image: linear-gradient(90deg, #d11e80, #ffffff 50%, #2291c2);
		/* background: #C7001C; */
	}
		div.attention p{
			font-size: 2rem;
			font-size: clamp(1.8rem, (1.6rem + 2.0vw), 4rem);
			font-weight: 700;
			line-height: 1.64;
			margin: 0px auto 12px;
			text-shadow: 0px 0px 8px #202020;

			text-shadow: 0px 0px 6px #FFF;
			color: #282828;
			font-feature-settings: "palt";
		}
		div.attention span.free{
			display: inline-block;
			background: #0b60ff;
			padding: 0 0.4em;
		}

	div.about{
		width: 94%;
		margin: 5vw auto 0;
		overflow: hidden;

		padding: 16px 16px 0;
		position: relative;
		background-image: linear-gradient(135deg, #181818 25%, transparent 25%, transparent 75%, #181818 75%), linear-gradient(45deg, #181818 25%, transparent 25%, transparent 75%, #181818 75%);

	}
		div.about h2{
			color: #F0F0F0;
			font-size: 1.6rem;
			font-size: clamp(1.6rem, (1.1rem + 1.6vw), 3.6rem);
			/* font-weight: bold; */
			line-height: 1.72;
			letter-spacing: 0.02rem;
			text-align: left;
			margin: 0 auto 16px;
		}
		.about::before, .about::after{
			content: '';
			width: 20px;
			height: 20px;
			position: absolute;
		}
		.about::before{
			border-left: solid 4px #d11e80;
			border-top: solid 4px #2291c2;
			top: 0;
			left: 0;
		}
		.about::after{
			border-right: solid 4px #d11e80;
			border-bottom: solid 4px #2291c2;
			bottom: 0;
			right: 0;
		}

	.t-point01{
		transform: rotate(-7deg);
		display: inline-block;
		font-size: 120%;
	}

	div.program-b{
		margin-top: -24px;
	}
	div.program-a ul,
	div.program-b ul{
		width: 98%;
		margin: 4vw auto;
		display: flex;
		flex-wrap: wrap;
	}
		div.program-a ul li,
		div.program-b ul li{
			width: 32.3%;
			margin: 0 0.5%;
		}
			div.program-a ul li img,
			div.program-b ul li img{
				height: 30vw;
			}
			div.program-a ul li:nth-child(1) img,
			div.program-a ul li:nth-child(3) img,
			div.program-b ul li:nth-child(2) img{
				margin-top: 8vw;
			}





	/* お知らせ */
	.news{
		margin: 24px auto 32px;
		width: 90%;
	}
		.news dl{
			text-align: left;
			overflow-x: auto;
			max-height: 160px;

			display: grid;
			grid-template-columns: 4em 1fr;
			gap: 0.1em;
			padding: 0.4em 0.4em;
			padding: 0.8em 0.5em 0.4em;
		}
			.news dt{
				font-size: 1.4rem;
				line-height: 1.6;
				display: inline-block;
				background: none;
				padding: 2px 0 2px 0.4em;
				margin: 0;
				margin-bottom: 0.6em;
			}
			.news dd{
				padding: 2px 0 2px 0em;
				margin: 0 0 0.6em 0em;
			}
			.news dd:last-child{
				padding: 2px 0 2px 0em;
				margin: 0 0 0em 0em;
			}





	h3{
		background: rgba(255,255,255,0.1);
		background-image: linear-gradient(90deg, #d11e80, #ffffff 50%, #2291c2);
		color: #000;
		font-size: clamp(1.8rem, (1.32rem + 1.8vw), 3.2rem);
		font-weight: bold;
		line-height: 2;
		text-align: center;
		/* border-bottom: 4px #D8D8D8 double; */
		border-top: 1px #CCC solid;
		border-bottom: 1px #CCC solid;
		text-shadow: 2px 2px 0px #EEE;
	}
	h3 img{
		position: absolute;
		width: auto;
		height: 46px;
		margin: 0 0 0;
	}


	div.sec-box{
		text-align: center;
		width: 94%;
		margin: 0 auto;
	}
		div.sec-box p{
			/* font-size: clamp(1.4rem, (1.0rem + 1.6vw), 3.2rem); */
			line-height: 1.64;
			text-align: left;
			font-feature-settings: "palt";
		}

	section p{
		margin: 6vw auto 1.8vw;
		line-height: 1.64;
	}



	/* 開催日時 */
	.datetime{}
	.datetime div.sec-box p{
		font-size: 1.4rem;
	}
		.datetime div.sec-box p strong{
			font-size: 2.2rem;
			font-size: clamp(1.6rem, (1.24rem + 1.8vw), 3.2rem);
		}



	/*　各section */
	.content-wrap{}
	.content-wrap div.sec-box p{
		font-size: 1.6rem;
	}
		.content-wrap div.sec-box p strong{
			font-size: 2.2rem;
			font-size: clamp(1.6rem, (1.24rem + 1.8vw), 3.2rem);
		}



	/* チケット */
	.t-ticket{
		display: inline-block;
		color: #FFF;
		padding: 0px 10px;
		border-radius: 4px;
		line-height: 1.8;
	}
	.t-event{
		background: #ff44a1;
	}
	.t-delivery{
		background: #44a1ff;
	}



	/*　締め切り */
	.deadline{}
	.deadline div.sec-box p{
		font-size: 1.6rem;
	}
		.deadline div.sec-box p strong{
			font-size: 2.2rem;
		}



	/* 応募規約 */
	section.condition{}
	div.t-condition{
		margin: 6vw auto 1.8vw;
	}
	.condition h4{
		text-align: left;
		font-size: 1.8rem;
		line-height: 1.72;
		font-weight: bold;
	}
	.condition ul{
		margin: 4px auto 24px;
	}
	.condition ul li{
		position: relative;
		padding-left: 1em;
		font-size: 1.6rem;
		line-height: 1.46;
		margin-bottom: 14px;
		text-align: left;
	}
		.condition ul li::before{
			content: "・";
			position: absolute;
			left: 0;
		}



	/* フォーム */
	section.entry{
		padding-top: 0px;
	}
	.entry .sec-inner{
		text-align: center;
	}
		a.form-btn{
			display: block;
			width: 88%;
			max-width: 320px;
			border: 1px solid #9ab3c7;
			background: #007FDD url(../img/arr.png) no-repeat;
			background-size: 32px;
			background-position: left 16px center;
			border-radius: 60px;
			color: #FFF;
			letter-spacing: 0.12em;
			transition: all .4s ease;
			font-size: 1.8rem;
			font-weight: bold;
			line-height: 1.46;
			margin: 0 auto 48px;
			padding: 8px 8px 10px;
			box-shadow: 0px 0px 4px 0px rgba(0, 0, 0, 0.35);
			/* filter: drop-shadow(0px 0px 2px rgba(0, 0, 0, 0.35)); */
		}
			a.form-btn span{
				font-size: 1.46rem;
			}
			a.form-btn:hover{
				background: #FFF url(../img/arr2.png) no-repeat;
				background-size: 32px;
				background-position: right 16px center;
				color: #007FDD;
				border: 1px solid #007FDD;
				cursor: pointer;
				box-shadow: none;
			}
			a.form-btn:focus{
				background: #FFF url(../img/arr2.png) no-repeat;
				background-size: 32px;
				background-position: right 16px center;
				color: #007FDD;
				border: 1px solid #007FDD;
				cursor: pointer;
			}
		.entry .sec-inner img{
			max-width: 320px;
		}






	.banner{
		margin: 48px auto;
		text-align: center;
	}

	/* ボタン */
	a.btn-link{
		display: inline-block;
		border: 2px solid #ffd500;
		/* background: #007FDD; */
		background: linear-gradient(135deg, #ac8c3d 0%, #eadeb7 50%, #ac8c3d 100%);
		border-radius: 60px;
		color: #fff;
		transition: all .4s ease;
		font-size: 1.8rem;
		font-size: clamp(1.6rem, (1.0rem + 1.6vw), 4rem);
		font-weight: 700;
		line-height: 1.8;
		padding: 12px 22px;
		text-align: center;
		text-shadow: 1px 0px 4px #9b8100;
		box-shadow: 0px 0px 16px 4px rgba(255, 255, 255, 0.5);
	}
		a.btn-link:hover{
			background: linear-gradient(135deg, #f0e6c6 0%, #ac8c3d 50%, #f0e6c6 100%);
			border: 2px solid #c6a500;
			color: #0029f6;
			text-shadow: 1px 0px 8px #fffbea;
			box-shadow: 0px 0px 2px 0px rgba(0,0,0,0.1);
			transition: all .4s ease;
		}
		a.nolink{
			color: #999;
			background: #CCC;
			border: 2px solid #AAA;
			box-shadow: none;
			text-shadow: none;
			pointer-events: none;
		}





/* Page Top
=================================== */
#page-top{
	position: fixed;
	bottom: 6px;
	right: 6px;
	z-index: 20;

	display: block !important;
}
#page-top a{
	display: block;
	background: url(../img/top.png) center top no-repeat;
	background-size: contain;
	width: 40px;
	height: 40px;
	text-indent: -9999px;
	transition: 0.4s;
}
#page-top a:hover{
	background: url(../img/top.png) center top no-repeat;
	background-size: contain;
	transition: 0.4s;
	opacity: 0.5;
}



footer{
	clear: both;
	width: 100%;
	text-align: center;
	font-size: 0.9em;
	line-height: 1.4;
	padding: 0 0 0;
	background: #202020;
}
	footer p{
		width: 96%;
		color: #FFF;
		line-height: 1.88;
		margin: 0 auto;
		padding: 2.4em 0;
	}
	footer p a{}
	footer p a:visited{}
	footer p a:hover{
		text-decoration: underline;
	}





/*
======================================================================================================================================================================================================== */
@media screen and (min-width: 424px){
	.spsp{ display: inline-block; }
}
@media screen and (min-width: 425px){
	.spsp{ display: none; }
}
@media screen and (min-width: 640px){
}










/* PC
==================================================================================================== */
@media screen and (min-width: 960px){
	body{}

	.sp{ display: none; }
	.pc{ display: inline-block; }

	@keyframes fadeIn{
		0%{ opacity: 0; }
		100%{ opacity: 1; }
	}
	@-webkit-keyframes fadeIn{
		0%{ opacity: 0; }
		100%{ opacity: 1; }
	}

	div#wrapper{
		/* max-width: 1920px; */
		margin: 0 auto;
		overflow: hidden;
	}

	section{
		width: 100%;
		margin: 0 auto;
		padding: 0px 0 100px;
	}
		div.sec-inner{
			max-width: 1024px;
			margin: 0 auto;
		}

		section#outline{
			/* max-width: 1920px;
			background-repeat: no-repeat;
			background-size: 100%;
			background-position: top center;
			padding: 0;
			min-height: 44vw; */
		}

		section.s-base{}
		dl{
			display: flex;
			flex-direction: column;
			border-radius: 12px;
			padding: 1em 0.6em;

			display: grid;
			grid-template-columns: 280px 1fr;
			gap: 0.4em;
		}
			dt{
				background: none;
				margin-bottom: 0.4em;
				margin: 0;
				padding: 4px 0 4px 0.6em;
				border-bottom: 1px dotted #CCC;
			}
			dd{
				margin: 0 0 1em 0.6em;
				margin: 0;
				padding: 4px 0.6em;
				border-bottom: 1px dotted #CCC;
			}
				dt:last-of-type{
					border: none;
				}
				dd:last-of-type{
					margin: 0 0 0em 0em;
					padding: 4px 0.6em;
					border: none;
				}


		#outline div{}
		#outline h1.bg{
		}
			#outline h1.bg img{
				margin: 80px auto;
				max-width: 1280px;
			}
			#outline h1 img{
				margin: 0px auto 64px;
				margin: 0px auto 0px;
				max-width: 100%;
			}

		div.attention{
			padding: 16px 16px 0;
			margin-bottom: 48px;
		}
			div.attention p{
				font-size: 4.8rem;
				font-weight: 900;
				line-height: 1.6;
				margin: 0px auto 16px;
			}

		div.about{
			max-width: 1280px;
			margin: 32px auto 24px;

			padding: 32px 32px 0;
		}
			div.about h2{
				display: inline-block;
				font-size: 2.88rem;
				line-height: 1.88;

				margin: 0 auto 36px;
				text-align: center;
			}
			.about::before, .about::after{
				content: '';
				width: 40px;
				height: 40px;
			}
			.about::before{
				border-left: solid 10px #d11e80;
				border-top: solid 10px #2291c2;
			}
			.about::after{
				border-right: solid 10px #d11e80;
				border-bottom: solid 10px #2291c2;
			}

	div.program-b{
		margin-top: -32px;
	}
	div.program-a ul,
	div.program-b ul{
		max-width: 1400px;
		margin: 32px auto;
	}
		div.program-a ul li,
		div.program-b ul li{
			width: 32.3%;
			margin: 0 0.5%;
		}
			div.program-a ul li img,
			div.program-b ul li img{
				width: 88%;
				height: auto;
				/* height: auto; */
			}
			img.omouma{
				width: 65%;
				height: auto;
			}
			img.audrey{ max-width: 370px; }
			img.futtonda{ max-width: 355px; }
			img.otaueda{}
			img.gootakusan{ max-width: 360px; }

			div.program-a ul li:nth-child(1) img,
			div.program-a ul li:nth-child(3) img,
			div.program-b ul li:nth-child(2) img{
				margin-top: 120px;
			}





		/* お知らせ */
		.news{
			margin: 32px auto 60px;
			max-width: 900px;
		}
			.news dl{
				max-height: 180px;

				grid-template-columns: 6em 1fr;
				gap: 0.0em;
				padding: 0.8em 0.8em;
			}
				.news dt{
					font-size: 1.6rem;
					line-height: 1.8;
					padding: 8px 0 8px 0.6em;
					margin: 0;
					/* margin-bottom: 0.8em; */
				}
				.news dd{
					font-size: 1.6rem;
					line-height: 1.8;
					padding: 8px 0 8px 0.2em;
					margin: 0;
					/* margin: 0 0 0.8em 0em; */
				}
				.news dd:last-child{
					padding: 8px 0 8px 0.2em;
					margin: 0 0 0em 0;
				}





		h3{
			font-size: 3.2rem;
			font-weight: bold;
			line-height: 2;
			text-align: center;
			/* background: url(../img/lined.png);
			background-repeat: no-repeat;
			background-size: 100%;
			background-position: 100px 0px;
			height: 24px; */
		}
		h3 img{
			height: 64px;
			margin: 0 0 0;
		}

		div.sec-box{
			text-align: left;
			width: 86%;
			margin: 0 auto;
		}
			div.sec-box p{
				/* font-size: clamp(1.4rem, (1.0rem + 1.6vw), 2.4rem);
				line-height: 1.64; */
				text-align: left;
			}

		section p{
			font-size: 1.8rem;
			line-height: 1.8;
			margin: 48px auto 16px;
		}



		/* 開催日時 */
		.datetime{}
		.datetime div.sec-box p{
			font-size: 2.2rem;
		}
			.datetime div.sec-box p strong{
				font-size: 3.2rem;
			}



		/*　各section */
		.content-wrap{}
		.content-wrap div.sec-box p{
			font-size: 2.2rem;
		}
			.content-wrap div.sec-box p strong{
				font-size: 3.2rem;
			}
	


		/*　締め切り */
		.deadline{}
		.deadline div.sec-box p{
			font-size: 2.2rem;
		}
			.deadline div.sec-box p strong{
				font-size: 3.2rem;
			}



		/* 応募規約 */
		section.condition{}
		div.t-condition{
			margin: 48px auto 12px;
		}
		.condition h4{
			font-size: 1.8rem;
			line-height: 1.88;
		}
		.condition ul{
			margin: 4px auto 32px;
		}
		.condition ul li{
			font-size: 1.64rem;
			line-height: 1.52;
			margin-bottom: 16px;
		}
			.condition ul li::before{
				left: 0;
			}



		/* フォーム */
		section.entry{
			padding: 0px 0 100px;
		}
		.entry .sec-inner{}
			a.form-btn{
				width: 88%;
				max-width: 580px;
				font-size: 2rem;
				font-weight: bold;
				line-height: 3;
				margin: 0 auto 64px;
				padding: 10px;
			}
				a.form-btn span{
					font-size: 2rem;
				}
				a.form-btn:hover{}
				a.form-btn:focus{}
		.entry .sec-inner img{}





	.banner{
		margin: 88px auto;
	}
	
	/* ボタン */
	a.btn-link{
		/* width: 88%; */
		/* max-width: 320px; */
		font-size: 2.4rem;
		padding: 20px 64px;
		margin-bottom: 8px;
	}
		a.btn-link:hover{}




	footer{}
		footer p{
			padding: 3.2em;
		}
		footer p a{}
		footer p a:visited{}
		footer p a:hover{}


	/* Page Top
	==================================================================================================== */
	#page-top{
		position: fixed;
		bottom: 8px;
		right: 12px;
		font-size: 88%;
		z-index: 20;
	}
}

.clear{ clear: both; }
.clearfix:after{
	display: block;
	visibility: hidden;
	clear: both;
	height: 0;
	content: ".";
	line-height: 0;
}
.clearfix{
	display: inline-table;
	zoom: 1;
}

/* Hides from IE-mac \*/
* html .clearfix{ height: 1%; }
.clearfix{ display: block; }
/* End hide from IE-mac */
