@charset "utf-8";
* {
    margin: 0;
    padding: 0;
}
.clearfix:after {
    content: ".";
    display: block;
    clear: both;
    height: 0;
    visibility: hidden;
}
.clearfix {
    min-height: 1px;
}
* html .clearfix {
    height: 1px;
    /*\*//*/
  height: auto;
  overflow: hidden;
  /**/
}
html {
	font-family: "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
.fl {
    float: left;
}
.flimg img {
    float: left;
}
.fldiv {
    width: 960px;
}
.fldiv div {
    float: left;
}
.rblock {
    position: relative;
}
.ablock {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
}
.rblock img, .ablock img {
    display: block;
}
.pblock img {
    display: block;
    width: 100%;
}
.tx {
    width: 100%;
    position: absolute;
}
li {
    list-style: none;
}
img {
    border: 0;
    vertical-align: top;
}
a {
    color: #0099FF;
    outline: 0;
}
a:focus {
    outline: 0;
}
html {
    width: 100%;
    background: #f2f2f2;
    overflow-y: scroll;
}
body {
    width: 100%;
	min-width: 960px;
}
#wrapper {
    width: 100%;
    position: relative;
    line-height: 1.5;
    background-color: #000;
}
.wrapper {
    width: 100%;
    background-color: #000;
}
.contents {
    position: relative;
    width: 960px;
    margin: 0 auto;
}
/* common */
#bg {
	position: relative;
	width: 100%;
	background: #000;
	overflow: hidden;
}
.bg01{
	position: fixed;
	width: 100%;
	top: 0;
	left: 0;
	height: 100%;
	background: url('../images/communityfest2025/bg_main.gif') top center repeat;
}
#lovl {
	position: fixed;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	z-index: 20000;
	background-color: #000;
}
#loadimg {
	position: absolute;
	width: 300px;
	height: 73px;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	margin: auto;
	-webkit-animation: a_load_img 1s linear 0s infinite;
	animation: a_load_img 1s linear 0s infinite;
}
#loadimg img {
	width: 100%;
}
.over img:hover {
	opacity: .7;
}
.no_newline {
	white-space: nowrap;
}
.hidn {
	overflow: hidden;
}
.indent {
	padding-left: 1em;
	text-indent: -1em;
	display: inline-block;
}
@-webkit-keyframes a_load_img {
	0% {
		opacity: 1;
	}
	50% {
		opacity: .5;
	}
	100% {
		opacity: 1;
	}
}
@keyframes a_load_img {
	0% {
		opacity: 1;
	}
	50% {
		opacity: .5;
	}
	100% {
		opacity: 1;
	}
}
.ptop {
	position: fixed;
	right: 1em;
	bottom: 7em;
	text-align: right;
	display: block;
	z-index: 100 !important;
}
.ptop img {
    width: 7.813rem !important;
}
.ptop a:hover {
    opacity: 0.7;
}
/* top  */

#header{
	position: relative;
	width: 100%;
}
.header-bg{
	position: absolute;
	top: 0;
	left: 0;
	width: 100vw;
	height: 0;
	padding-top: 52.1875%;
	margin-left: calc(50% - 50vw);
	background: url('../images/communityfest2025/bg_header.png') top center repeat-x;
	background-size: auto;
}
#header img{
	width: 100%;
}
#header h1{
	position: relative;
	width: 64.16666666666667%;
	margin: 0 auto;
	padding-top: 4.58%;
	font-size: 0;
	line-height: 0;
}

#catch{
	position: relative;
	width: 100%;
	margin-bottom: 5.2%;
}
#catch img{
	width: 100%;
}
.catch-bg{
	position: absolute;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100%;
	margin-left: calc(50% - 50vw);
	background: #000 url('../images/communityfest2025/bg_catch.png') center center repeat-x;
	background-size: auto;
}
#catch h2{
	position: relative;
	width: 177.91%;
	margin-left: -38.96%;
	padding-top: 7.083%;
	padding-bottom: 5.72%;
	font-size: 0;
	line-height: 0;
}

#date{
	position: relative;
	width: 100%;
	margin-bottom: 5.2%;
}
#date img{
	width: 100%;
}
#date h3{
	position: relative;
	width: 85.72%;
	margin: 0 auto;
	font-size: 0;
	line-height: 0;
}
.date-bg{
	position: absolute;
	width: 92.7%;
	height: 0;
	bottom: 0;
	left: 0;
	margin-left: 3.65%;
	padding-top: 4.58%;
	background-color: #ff0000;
}

#details{/*796px*/
	position: relative;
	background-color: #000;
	width: 82.91%;
	padding: 1.04%;/*10px*/
	margin: 0 auto 5.2%;
	border-radius: 10px;
}
#details img{
	width: 100%;
}
.details-main{
	position: relative;
	width: 100%;/*776px*/
	background: url('../images/communityfest2025/bg_01.gif') top left repeat;
	background-size: 1.15% auto;
}
.details-main h3{
	position: relative;
	width: 89.94%;
	margin: 0 auto 9.02%;
	padding-top: 8.5%;
	font-size: 0;
	line-height: 0;
}
.details-main h4{
	position: relative;
	width: 92.91%;
	margin: 0 auto 5.41%;
	font-size: 0;
	line-height: 0;
}
.details-main p.details-txt1{
	position: relative;
	width: 93.94%;
	margin: 0 auto 9.66%;
	font-size: 0;
	line-height: 0;
}
.details-main p.details-txt2{
	position: relative;
	width: 64.56%;
	margin: 0 auto 1.03%;
	font-size: 0;
	line-height: 0;
}
.details-main p.details-img1{
	position: relative;
	width: 100%;
	margin: 0 auto 6.05%;
	font-size: 0;
	line-height: 0;
}
.details-main p.details-img2{
	position: relative;
	width: 85.92%;
	margin: 9.66% auto 6.05%;
	font-size: 0;
	line-height: 0;
}
.details-main p.details-img3{
	position: relative;
	width: 91.2%;
	margin: 0 auto 6.05%;
	font-size: 0;
	line-height: 0;
}
.openingdetails{
	position: relative;
	width: 92.91%;
	margin: 0 auto;
	padding-bottom: 4.85%;
}
.openingdetails h5{
	position: relative;
	width: 100%;
	font-size: 33px;
	line-height: 1.2;
	color: #000;
	font-weight: bold;
	margin-bottom: 1.94%;
}
.openingdetails p{
	position: relative;
	width: 100%;
	font-size: 25px;
	line-height: 1.6;
	color: #000;
	font-weight: bold;
	margin-bottom: 4.85%;
}
.openingdetails p span{
	font-size: 20px;
}
.openingdetails p:last-of-type{
	margin-bottom: 0%;
}

#rules{/*796px*/
	position: relative;
	background-color: #000;
	width: 82.91%;
	padding: 1.04%;/*10px*/
	margin: 0 auto 5.2%;
	border-radius: 10px;
}
#rules img{
	width: 100%;
}
.rules-main{
	position: relative;
	width: 100%;/*776px*/
	background: url('../images/communityfest2025/bg_02.gif') top left repeat;
	background-size: 1.28% auto;
	padding-bottom: 7.53%;
}
.rules-main h2{
	position: relative;
	width: 92.91%;
	padding-top: 6.18%;
	margin: 0 auto 3.6%;
	font-size: 0;
	line-height: 0;
}
.eventrules{
	position: relative;
	width: 93.04%;/*722px*/
	border: solid 2px #777761;
	background-color: #000;
	margin: 0 auto 5.15%;
	padding-top: 0.77%;
	padding-bottom: 4.38%;
}
.eventrules h3{
	position: relative;
	width: 98.47%;
	background-color: #fde901;
	font-size: 27px;
	line-height: 1.77;
	font-weight: bold;
	text-align: center;
	margin: 0 auto 3.46%;
}
.eventrules h4{
	position: relative;
	width: 90.3%;
	padding-left: 4.57%;
	border-bottom: solid 2px #FFF;
	margin: 0 auto 2.07%;
	padding-bottom: 1.38%;
	font-size: 32px;
	line-height: 1.4;
	font-weight: bold;
	color: #FFF;
	background: url('../images/communityfest2025/arrow.png') top left no-repeat;
	background-size: 4.81% auto;
}
.eventrules p{
	position: relative;
	width: 94.87%;
	margin: 0 auto 5.54%;
	font-size: 25px;
	line-height: 1.44;
	font-weight: bold;
	color: #FFF;
}
.eventrules p.eventrules-txt1{
	font-size: 20px;
	line-height: 1.5;
}
.eventrules ul{
	position: relative;
	width: 94.87%;
	margin: 0 auto;
}
.eventrules ul li{
	position: relative;
	width: 100%;
	margin: 0 auto;
	font-size: 20px;
	line-height: 1.5;
	font-weight: bold;
	color: #FFF;
	padding-left: 1em;
	text-indent: -1em;
}
.eventrules ul li ul{
	position: relative;
	width: calc(100% - 1em);
}

.terms{
	position: relative;
	width: 93.55%;/*726px*/
	margin: 0 auto;
}
.terms h3{
	position: relative;
	width: 100%;
	margin: 0 auto 1.92%;
	font-size: 33px;
	line-height: 1.1;
	color: #FFF;
	font-weight: bold;
}
.terms p{
	position: relative;
	width: 100%;
	margin: 0 auto 1.92%;
	font-size: 18px;
	line-height: 1.5;
	color: #FFF;
	font-weight: bold;
	overflow-wrap: break-word;
}
.terms p a{
	color: #FFF;
}


#dl-footer{
	position: relative;
	margin-bottom: 5%;
}
#dl-footer img{
	width: 100%;
}
#dl-footer h2{
	position: relative;
	width: 46.97%;
	margin:0 auto 0.72%;
	font-size:0;
	line-height:0;
}
#dl-footer h3{
	position: relative;
	width: 74.37%;
	margin:0 auto 1.56%;
	font-size:0;
	line-height:0;
}
#dl-footer h4{
	position: relative;
	width: 30.2%;
	margin:0 auto 6.25%;
	font-size:0;
	line-height:0;
}
#dl-footer h4:hover{
	opacity:0.7;
}
#dl-footer p{
	position: relative;
	width: 74.68%;
	margin:0 auto 2.08%;
	font-size:15px;
	line-height:1.42;
	color: #000;
}
#dl-footer ul{
	position: relative;
	width:56.77%;
	margin:0 auto 2.81%;
	-webkit-display:flex;
	display:flex;
	-webkit-justify-content:space-between;
	justify-content:space-between;
}
#dl-footer ul li{
	width:44.95%;
	font-size:0;
	line-height:0;
}
#dl-footer ul li:hover{
	opacity:0.7;
}
#dl-footer ul li:nth-of-type(2){
	width:50.82%;
}

#footer {
	position: relative;
	width: 100%;
	overflow: hidden;
	z-index: 5;
}
.sp {
	display: none;
}
.sp_inline {
	display: none;
}

@media screen and (max-width:1708px) {
	.catch-bg{
		position: absolute;
		top: 0;
		left: 0;
		width: 100vw;
		height: 0;
		padding-top: 23.63vw;
		margin-left: calc(50% - 50vw);
		background-size: 1.83vw auto;
	}
	#catch h2{
		width: 98vw;
		margin-left: calc(50% - 50vw);
		padding-left: 1vw;
		padding-top: 3.525vw;
		padding-bottom: 3.525vw;
		font-size: 0;
		line-height: 0;
	}

}

@media screen and (max-width:820px) {
	#wrapper {
		overflow-x: hidden;
	}
	body {
		min-width: auto;
	}
	.contents {
		width: 100% !important;
	}

}
@media screen and (max-width:767px) {
	/* common */
	#wrapper {
		overflow-x: hidden;
	}
	body {
		min-width: auto;
	}
	
	.contents {
		width: 100%;
	}
	.ptop img {
		width: 4rem !important;
	}
	.ptop {
		bottom: 1em;
	}
	.pc { display: none; }
	.sp { display: block; }
	.sp_inline { display: inline; }
	#loadimg {
		width: 70%;
		max-width: 300px;
	}
	#loadimg img {
		width: 100%;
	}

	.header-bg{
		width: 100%;
		height: 100%;
		padding-top: 0;
		margin-left: 0;
		background-size: 3.125% auto;
		background-color: #e94501;
	}
	#details{/*796px*/
		width: 91%;
		border-radius: 1.04vw;
	}
	.openingdetails h5{
		font-size: 5vw;
	}
	.openingdetails p{
		font-size: 4vw;
	}
	.openingdetails p span{
		font-size: 3.5vw;
	}

	#rules{/*796px*/
			width: 91%;
			border-radius: 1.04vw;
	}
	#rules img{
		width: 100%;
	}
	.eventrules{
		border: solid 0.3vw #777761;
	}
	.eventrules h3{
		position: relative;
		width: 98.47%;
		background-color: #fde901;
		font-size: 5vw;
	}
	.eventrules h4{
		font-size: 4.5vw;
	}
	.eventrules p{
		font-size: 4vw;
	}
	.eventrules p.eventrules-txt1{
		font-size: 3.6vw;
	}
	.eventrules ul{
		width: 90%;
	}
	.eventrules ul li{
		font-size: 3.6vw;
	}
	.eventrules ul li ul{
		font-size: calc(85% - 1em);
	}

	.terms h3{
		font-size: 4.5vw;
	}
	.terms p{
			font-size: 3.6vw;
	}


	

	#dl-footer h2{
		width: 85%;
	}
	#dl-footer h3{
		width: 85%;
	}
	#dl-footer h4{
		width: 40%;
	}
	#dl-footer h4:hover{
		opacity:0.7;
	}
	#dl-footer p{
		width: 85%;
		font-size:2.6vw
	}
	#dl-footer ul{
		width:85%;
	}


	#footer {
		position: relative;
		width: 100%;
		overflow: hidden;
	}

}


.popup{
	width:100%;
}
.popup img{
	width:100%;
}

[data-aos=dodgeanime1] {
	opacity:0;
}
[data-aos=dodgeanime1].aos-animate {
	opacity:1;
    mix-blend-mode: color-dodge;
    animation: dodge-area 4s linear infinite;
}
[data-aos=imganime1] {
	-webkit-clip-path: inset(0 100% 0 0);
	clip-path: inset(0 100% 0 0);
}
[data-aos=imganime1].aos-animate {
	-webkit-clip-path: inset(0);
	clip-path: inset(0);
}