@charset "utf-8";

/* 基礎レイアウト・プリセットスタイル
========================================================= */

img { width: 100%; height: auto; vertical-align: top; }
.anchorMargin { padding-top: 110px; margin-top: -110px; }

@media screen and (max-width: 1000px) {
	.anchorMargin { padding-top: 80px; margin-top: -80px; }
}

@media screen and (max-width: 768px) {
	.anchorMargin { padding-top: 60px; margin-top: -60px; }
}

#festival2026 {
	width: 100%;
	max-width: 1400px;
	color: #000000;
	font-family: "游ゴシック", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", sans-serif;
	line-height: 1.0;
	font-feature-settings: "palt" 1;
	font-weight: 500;
	margin: 0 auto;
}
#festival2026 * { box-sizing: border-box; }





/* fesMain
========================================================= */

#festival2026 .fesInfo { width: 100%; max-width: 1400px; padding: 30px calc(20/375 * 100%); }
#festival2026 .fesInfo a {
	display: table;
	border: solid 3px #eb3933;
	border-radius: 10px;
	font-size: 20px;
	line-height: 1.5;
	font-weight: 700;
	text-align: center;
	text-decoration: none;
	padding: 1em 2em;
	margin: 0 auto;
}
#festival2026 .fesInfo a:hover { background-color: #eb3933; color: #ffffff; transition: 0.2s; }



#festival2026 .fesMain { width: 100%; max-width: 1400px; position: relative; }
#festival2026 .fesMain h1 img:nth-child(2) { display: none; }

#festival2026 .fesMain .mainLink {
	width: 100%;
	max-width: 1400px;
	padding: 0 calc(15/375 * 100%);
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	margin: auto;
}
#festival2026 .fesMain .mainLink > div { width: 100%; max-width: 1100px; margin: 0 auto; position: relative; }
#festival2026 .fesMain a.traffic {
	width: 160px;
	display: block;
	border-radius: 50%;
	background-color: #ffffff;
	padding: 160px 0 0 0;
	margin: 0 0 calc(50/1100 * 100%) 0;
	position: absolute;
	bottom: 0;
	left: 0;
}
#festival2026 .fesMain a.traffic::before {
	content: "";
	width: 100%;
	height: 100%;
	border: solid 6px #64bfaa;
	border-radius: 50%;
	display: block;
	box-sizing: border-box;
	position: absolute;
	top: 0;
	left: 0;
}
#festival2026 .fesMain a.traffic p {
	width: 100%;
	color: #000000;
	font-size: 20px;
	line-height: 1.2;
	font-weight: 700;
	text-align: center;
	position: absolute;
	top: 50%;
	transform: translateY(-40%);
}
#festival2026 .fesMain a.traffic:hover { background-color: #64bfaa; transition: 0.3s; }
#festival2026 .fesMain a.traffic:hover p { color: #ffffff; transition: 0.3s; }

#festival2026 .fesMain a.anchLink {
	width: 235px;
	display: block;
	border-radius: 20px 20px 0 0;
	background-color: #000000;
	color: #ffffff;
	font-size: 18px;
	font-weight: 700;
	text-align: center;
	text-decoration: none;
	padding: 18px 0 28px 0;
	position: absolute;
	right: 0;
	bottom: 0;
}
#festival2026 .fesMain a.anchLink p {
	width: 14px;
	height: 6px;
	display: block;
	position: absolute;
	right: 0;
	bottom: 10px;
	left: 0;
	margin: auto;
}
#festival2026 .fesMain a.anchLink p::before,
#festival2026 .fesMain a.anchLink p::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: calc(50% - 1px);
	width: 2px;
	height: 9.2px;
	border-radius: 9999px;
	background-color: #ffffff;
	transform-origin: 50% calc(100% - 1px);
}
#festival2026 .fesMain a.anchLink p::before { transform: rotate(56.3deg); }
#festival2026 .fesMain a.anchLink p::after { transform: rotate(-56.3deg); }
#festival2026 .fesMain a.anchLink:hover { background-color: #ffffff; color: #000000; transition: 0.3s; }
#festival2026 .fesMain a.anchLink:hover p::before,
#festival2026 .fesMain a.anchLink:hover p::after { background-color: #000000; }



@media screen and (max-width: 1000px) {
	#festival2026 .fesInfo a { font-size: 2.0vw; }
}

@media screen and (max-width: 767px) {
	#festival2026 .fesInfo { padding: 20px calc(20/375 * 100%); }
	#festival2026 .fesInfo a {
		border: solid 2px #eb3933;
		border-radius: 5px;
		font-size: 15px;
		text-align: left;
		padding: 1em;
	}
	#festival2026 .fesInfo a br { display: none; }
	
	#festival2026 .fesMain a.traffic {
		width: 135px;
		height: 45px;
		border-radius: 12px 12px 0 0;
		background-color: #000000;
		padding: 0;
		margin: 0;
	}
	#festival2026 .fesMain a.traffic::before { content: none; }
	#festival2026 .fesMain a.traffic p {
		color: #ffffff;
		font-size: 13px;
		line-height: 1.0;
		transform: translateY(-50%);
	}
	#festival2026 .fesMain a.traffic p br { display: none; }
	
	#festival2026 .fesMain a.anchLink {
		width: 135px;
		height: 45px;
		border-radius: 12px 12px 0 0;
		font-size: 13px;
		padding: 10px 0 0 0;
	}
	#festival2026 .fesMain a.anchLink p { bottom: 8px; }
}

@media screen and (max-width: 480px) {
	#festival2026 .fesMain  h1 img:nth-child(1) { display: none; }
	#festival2026 .fesMain  h1 img:nth-child(2) { display: block; }
}





/* fesAnchLink
========================================================= */

#festival2026 .fesAnchLink { width: 100%; max-width: 1400px; padding: calc(70/1400 * 100%) calc(15/375 * 100%) 0; }
#festival2026 .fesAnchLink ul {
	width: 100%;
	max-width: 1100px;
	display: flex;
	flex-direction: row;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	margin: 0 auto;
}
#festival2026 .fesAnchLink ul + ul { margin: calc(20/1250 * 100%) auto 0; }
#festival2026 .fesAnchLink ul li { width: calc(540/1100 * 100%); height: 76px; }
#festival2026 .fesAnchLink ul li:nth-child(2) { margin: 0 0 0 calc(20/1100 * 100%); }
#festival2026 .fesAnchLink ul li a {
	width: 100%;
	height: 100%;
	display: block;
	border-radius: 10px;
	color: #ffffff;
	text-decoration: none;
	position: relative;
}
#festival2026 .fesAnchLink ul li a.green { background-color: #64bfaa; }
#festival2026 .fesAnchLink ul li a.blue { background-color: #005bab; }
#festival2026 .fesAnchLink ul li a.red { background-color: #e50020; }
#festival2026 .fesAnchLink ul li a.orange { background-color: #ff9933; }
#festival2026 .fesAnchLink ul li a::before {
	content: "";
	width: 24px;
	height: 24px;
	display: block;
	border-radius: 50%;
	background-color: #ffffff;
	position: absolute;
	top: 50%;
	right: 20px;
	transform: translateY(-50%);
}
#festival2026 .fesAnchLink ul li a::after {
	content: "";
	width: 9px;
	height: 8px;
	display: block;
	background-color: #000000;
	clip-path: polygon(0 0, 100% 0%, 50% 100%);
	position: absolute;
	top: 50%;
	right: 27.5px;
	transform: translateY(-40%);
}
#festival2026 .fesAnchLink ul li a:hover { background-color: #000000; transition: 0.3s; }
#festival2026 .fesAnchLink ul li a p {
	width: 100%;
	font-size: 28px;
	font-weight: 700;
	text-align: center;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
}
#festival2026 .fesAnchLink ul li a p span { display: block; font-size: 16px; padding: 0 0 5px 0; }
#festival2026 .fesAnchLink ul + p { position: absolute; bottom: 0; left: 0; }



@media screen and (max-width: 767px) {
	#festival2026 .fesAnchLink { background-size: 28px; }
	#festival2026 .fesAnchLink ul li { height: 40px; }
	#festival2026 .fesAnchLink ul li a { border-radius: 5px; }
	#festival2026 .fesAnchLink ul li a::before { width: 18px; height: 18px; right: 7px; }
	#festival2026 .fesAnchLink ul li a::after { width: 9px; height: 8px; right: 12px; }
	#festival2026 .fesAnchLink ul li a p {
		font-size: 15px;
		top: 50%;
		text-align: left;
		padding: 0 0 0 10px;
		left: 0;
		transform: translate(0,-50%);
	}
	#festival2026 .fesAnchLink ul li a p span { font-size: 10px; padding: 0 0 3px 0; }
}





/* fesEvent
--------------------------------------------------------- */

#festival2026 .fesEvent { width: 100%; max-width: 1400px; margin: 0 auto; }

#festival2026 .fesEvent.fanStreet .title {
	width: 100%;
	max-width: 1400px;
	padding: calc(100/1400 * 100%) calc(20/375 * 100%) 0;
	margin: 0 auto;
}
#festival2026 .fesEvent.fanStreet .title img { width: 100%; max-width: 830px; display: block; margin: 0 auto; }

#festival2026 .fesEvent.fanStreet .fanStreetMap {
	width: 100%;
	max-width: 1400px;
	padding: 0 calc(20/375 * 100%);
	margin: 0 auto;
}
#festival2026 .fesEvent.fanStreet .fanStreetMap img {
	width: 100%;
	max-width: 830px;
	display: block;
	margin: 100px auto 0;
}

#festival2026 .fesEvent.fanStreet .contents {
	width: 100%;
	max-width: 1400px;
	background-color: rgba(100,191,170,0.2);
	padding: 0 0 calc(300/1400 * 100%) 0;
	position: relative;
	margin: 10px auto 0;
}
#festival2026 .fesEvent.fanStreet .contents .bgDot {
	width: 100%;
	height: 100%;
	background-image: url(/images/festival/2026/bg_dot.png);
	background-position: center top;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 10;
}
#festival2026 .fesEvent.fanStreet .contents .bgTop { position: absolute; top: 0; left: 0; z-index: 20; }
#festival2026 .fesEvent.fanStreet .contents .bgBtm { position: absolute; bottom: 0; left: 0; z-index: 20; }
#festival2026 .fesEvent.fanStreet .contents .lead {
	width: 100%;
	max-width: 1400px;
	position: relative;
	z-index: 20;
}
#festival2026 .fesEvent.fanStreet .contents .lead p {
	font-size: 20px;
	line-height: 1.75;
	font-weight: 700;
	text-align: center;
	padding: calc(140/1400 * 100%) 0 0 0;
}
#festival2026 .fesEvent.fanStreet .contents .lead p + p {
	display: table;
	font-size: 16px;
	line-height: 1.75;
	font-weight: 700;
	text-align: left;
	text-indent: -1em;
	padding: 0 0 0 1em;
	margin: 1em auto 0;
}



#festival2026 .fesEvent.collabo .title {
	width: 100%;
	max-width: 1400px;
	padding: 0 calc(20/375 * 100%);
	margin: 80px auto 0;
}
#festival2026 .fesEvent.collabo .title img { width: 100%; max-width: 830px; display: block; margin: 0 auto; }

#festival2026 .fesEvent.collabo .contents {
	width: 100%;
	max-width: 1400px;
	background-color: rgba(0,91,171,0.1);
	background-position: center top;
	position: relative;
	margin: 10px auto 0;
}
#festival2026 .fesEvent.collabo .contents .bgDot {
	width: 100%;
	height: 100%;
	background-image: url(/images/festival/2026/bg_dot.png);
	background-position: center top;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 10;
}
#festival2026 .fesEvent.collabo .contents .bgTop { position: absolute; top: 0; left: 0; z-index: 20; }
#festival2026 .fesEvent.collabo .contents .lead {
	width: 100%;
	max-width: 1400px;
	position: relative;
	z-index: 20;
}
#festival2026 .fesEvent.collabo .contents .lead p {
	font-size: 20px;
	line-height: 1.75;
	font-weight: 700;
	text-align: center;
	padding: calc(140/1400 * 100%) 0 0 0;
}



#festival2026 .fesEvent .contentsWrap { padding: 0 20px; }

#festival2026 .fesEvent .contents ul {
	width: 100%;
	max-width: 1100px;
	display: flex;
	flex-direction: row;
	margin: 50px auto 0;
	position: relative;
	z-index: 30;
}
#festival2026 .fesEvent .contents ul + ul { margin: calc(40/1100 * 100%) auto 0; }
#festival2026 .fesEvent.collabo .contents ul:last-child { padding: 0 0 calc(160/1400 * 100%) 0; }
#festival2026 .fesEvent .contents ul li {
	width: calc(530/1100 * 100%);
	border-radius: 15px;
	background-color: #ffffff;
	padding: 0 0 30px 0;
	position: relative;
}
#festival2026 .fesEvent .contents ul li:nth-child(2) { margin: 0 0 0 calc(30/1100 * 100%); }
/*
#festival2026 .fesEvent.collabo .contents ul li.deco { background: none; }
#festival2026 .fesEvent.collabo .contents ul li.deco img {
	width: calc(400/530 * 100%);
	position: absolute;
	right: -50px;
	bottom: 50px;
}
*/

#festival2026 .fesEvent .contents ul li .conTitle {
	width: 100%;
	border-radius: 15px 15px 0 0;
	padding: calc(80/530 * 100%) 0 0 0;
	position: relative;
}
#festival2026 .fesEvent.fanStreet .contents ul li .conTitle { background-color: #32c9aa; }
#festival2026 .fesEvent.collabo .contents ul li .conTitle { background-color: #005bab; }
#festival2026 .fesEvent .contents ul li .conTitle h3 {
	width: 100%;
	color: #ffffff;
	font-size: 21px;
	line-height: 1.3;
	font-weight: 700;
	text-align: center;
	padding: 0 50px;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
}
#festival2026 .fesEvent .contents ul li .conTitle h3 span { display: inline-block; }
#festival2026 .fesEvent .contents ul li .conTitle .num {
	width: calc(40/530 * 100%);
	border: solid 2px #ffffff;
	border-radius: 50%;
	max-width: 40px;
	position: absolute;
	top: 50%;
	left: 10px;
	transform: translateY(-50%);
}
#festival2026 .fesEvent .contents ul li figure {
	width: 100%;
	max-width: 500px;
	padding: 20px 20px;
	margin: 0 auto;
	position: relative;
}
#festival2026 .fesEvent .contents ul li figcaption { font-size: 12px; position: absolute; bottom: 0; right: 20px; }

#festival2026 .fesEvent .contents ul li h4 {
	font-size: 18px;
	line-height: 1.3;
	font-weight: 700;
	text-align: center;
	margin: 15px 20px 0 20px;
}
#festival2026 .fesEvent .contents ul li h4 span { display: inline-block; }

#festival2026 .fesEvent .contents ul li .text {
	max-width: 500px;
	font-size: 16px;
	line-height: 1.6;
	text-align: justify;
	padding: 0 20px;
	margin: 20px auto 0;
}
#festival2026 .fesEvent .contents ul li .text table { border-collapse: collapse; border-spacing: 0; }
#festival2026 .fesEvent .contents ul li .text table th { white-space: nowrap; }
#festival2026 .fesEvent .contents ul li .text table + p { padding: 1em 0 0 0; }
#festival2026 .fesEvent .contents ul li .text .note { font-size: 14px; }
#festival2026 .fesEvent .contents ul li .text p.note { text-indent: -1em; padding: 0 0 0 1em; }
#festival2026 .fesEvent .contents ul li .text .dIB { display: inline-block; }
#festival2026 .fesEvent.fanStreet .contents ul li .text .list p { text-indent: -1.0em; padding: 0 0 0 1.0em; }
#festival2026 .fesEvent.fanStreet .contents ul li .text .list span { color: #32c9aa; }
#festival2026 .fesEvent.collabo .contents ul li .text .list span { color: #005bab; }
#festival2026 .fesEvent.fanStreet .contents ul li .text a { color: #32c9aa; }
#festival2026 .fesEvent.collabo .contents ul li .text a { color: #005bab; }



#festival2026 .fesEvent .contents .performer {
	width: 100%;
	max-width: 1100px;
	border-radius: 68px;
	background-color: #ade9dd;
	margin: 65px auto 0;
	position: relative;
	z-index: 30;
}
#festival2026 .fesEvent .contents .performer h3 {
	border-radius: 68px 68px 0 0;
	background-color: #64bfaa;
	color: #ffffff;
	font-size: 28px;
	font-weight: 700;
	text-align: center;
	padding: 20px 10px;
}
#festival2026 .fesEvent .contents .performer .perfInner { padding: 20px 20px 0 20px; margin: 0 auto; }
#festival2026 .fesEvent .contents .performer .perfLead {
	display: table;
	font-size: 17px;
	line-height: 1.3;
	font-weight: 700;
	text-align: center;
	margin: 0 auto;
}
#festival2026 .fesEvent .contents .performer ul {
	width: 100%;
	max-width: 980px;
	display: flex;
	flex-direction: row;
	margin: 20px auto 0;
}
#festival2026 .fesEvent .contents .performer ul li:nth-child(1) {
	width: calc(540/980 * 100%);
	max-width: 540px;
	border-radius: 0;
	background: none;
	padding: 0 0 30px 0;
}
#festival2026 .fesEvent .contents .performer ul li a {
	display: table;
	font-size: 14px;
	line-height: 1.3;
	text-align: center;
	font-weight: 700;
	padding: 0 17px 0 0;
	margin: 10px auto 0;
	position: relative;
}
#festival2026 .fesEvent .contents .performer ul li a + a { margin: 5px auto 0; }
#festival2026 .fesEvent .contents .performer ul li a::after {
	content: "";
	width: 12px;
	height: 10px;
	display: block;
	background-image: url(/images/festival/2026/link_blank_blk.png);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
}
#festival2026 .fesEvent .contents .performer ul li .perfImg { width: 100%; display: table; }
#festival2026 .fesEvent .contents .performer ul li .perfImg:nth-child(2) { margin: 20px auto 0; }
#festival2026 .fesEvent .contents .performer ul li .perfImg:nth-child(3) { margin: 10px auto 0; }
#festival2026 .fesEvent .contents .performer ul li .perfImg1_1 { width: calc(268/540 * 100%); float: left; }
#festival2026 .fesEvent .contents .performer ul li .perfImg1_2 { width: calc(268/540 * 100%); float: right; }
#festival2026 .fesEvent .contents .performer ul li .perfImg1_3 { width: calc(268/540 * 100%); margin: 0 auto; }
#festival2026 .fesEvent .contents .performer ul li .perfImg1_4 { width: calc(180/540 * 100%); float: left; }
#festival2026 .fesEvent .contents .performer ul li .perfImg1_5 { width: calc(180/540 * 100%); float: left; }
#festival2026 .fesEvent .contents .performer ul li .perfImg1_6 { width: calc(180/540 * 100%); float: left; }
#festival2026 .fesEvent .contents .performer ul li a + span {
	display: table;
	font-size: 14px;
	line-height: 1.3;
	margin: 5px auto 0;
}

#festival2026 .fesEvent .contents .performer ul li:nth-child(2) {
	width: calc(395/980 * 100%);
	max-width: 395px;
	border-radius: 0;
	background-color: transparent;
	background-repeat: repeat-y;
	background-size: 100%;
	padding: 0;
	margin: 30px 0 0 calc(45/980 * 100%);
}
#festival2026 .fesEvent .contents .performer ul li:nth-child(2) img + p {
	font-size: 14px;
	line-height: 1.5;
	font-weight: 700;
	text-indent: -1em;
	padding: 1em 0 0 1em;
}




@media screen and (max-width: 1200px) {
	/* #festival2026 .fesEvent.collabo .contents ul li.deco img { right: 0; transition: 0.2s; } */
}


@media screen and (max-width: 1000px) {
	#festival2026 .fesEvent .contents ul li .conTitle h3 { font-size: 2.1vw; }
	#festival2026 .fesEvent.fanStreet .contents .lead p,
	#festival2026 .fesEvent.collabo .contents .lead p  { font-size: 2.0vw; }
	#festival2026 .fesEvent.fanStreet .contents .lead p + p { font-size: 1.8vw; }
}

@media screen and (max-width: 767px) {
	#festival2026 .fesEvent.fanStreet .title { padding: 50px calc(20/375 * 100%) 0; }
	#festival2026 .fesEvent.fanStreet .fanStreetMap img { margin: 30px auto 0; }
	
	#festival2026 .fesEvent.fanStreet .contents .bgDot { background-size: 28px; }
	#festival2026 .fesEvent.fanStreet .contents .lead p {
		font-size: 15px;
		line-height: 1.5;
		text-align: left;
		padding: calc(180/1400 * 100%) 20px 0 20px;
	}
	#festival2026 .fesEvent.fanStreet .contents .lead p br { display: none; }
	#festival2026 .fesEvent.fanStreet .contents .lead p + p {
		font-size: 13px;
		line-height: 1.5;
		text-align: left;
		margin: 1em 20px 0;
	}
	
	
	
	#festival2026 .fesEvent.collabo .title { margin: 20px auto 10px; }
	#festival2026 .fesEvent.collabo .contents .bgDot { background-size: 28px; }
	#festival2026 .fesEvent.collabo .contents .lead p {
		font-size: 15px;
		line-height: 1.5;
		text-align: left;
		padding: calc(180/1400 * 100%) 20px 0 20px;
	}
	#festival2026 .fesEvent.collabo .contents .lead p br { display: none; }
	
	
	
	#festival2026 .fesEvent .contents ul { flex-direction: column; margin: 30px auto 0; }
	#festival2026 .fesEvent .contents ul + ul { margin: 30px auto 0; }
	#festival2026 .fesEvent .contents ul li { width: 100%; }
	#festival2026 .fesEvent .contents ul li:nth-child(2) { margin: 30px 0 0 0; }
	/* #festival2026 .fesEvent.collabo .contents ul li.deco { display: none; } */
	
	#festival2026 .fesEvent .contents ul li .conTitle { padding: 0; }
	#festival2026 .fesEvent .contents ul li .conTitle h3 {
		font-size: 17px;
		padding: 10px 35px;
		position: static;
		transform: translateY(0);
	}
	#festival2026 .fesEvent .contents ul li .conTitle .num { max-width: 25px; border: solid 1px #ffffff; left: 7px; }
	
	#festival2026 .fesEvent .contents ul li figure { padding: 15px 20px; }
	#festival2026 .fesEvent .contents ul li figcaption { font-size: 10px; }
	
	#festival2026 .fesEvent .contents ul li h4 { font-size: 16px; }
	
	#festival2026 .fesEvent .contents ul li .text { font-size: 15px; line-height: 1.5; }
	#festival2026 .fesEvent .contents ul li .text .note { font-size: 13px; }
	#festival2026 .fesEvent .contents ul li .text .dIB { display: inline; }
	
	
	
	#festival2026 .fesEvent .contents .performer { border-radius: 15px; margin: 50px auto 0; padding: 0; }
	#festival2026 .fesEvent .contents .performer h3 { border-radius: 15px 15px 0 0; font-size: 16px; }
	#festival2026 .fesEvent .contents .performer .perfInner { padding: 15px 20px 20px 20px; margin: 0 auto; }
	#festival2026 .fesEvent .contents .performer .perfLead { font-size: 14px; line-height: 1.5; }
	#festival2026 .fesEvent .contents .performer ul { flex-direction: column; }
	#festival2026 .fesEvent .contents .performer ul li:nth-child(1) { width: 100%; margin: 0 auto; }
	#festival2026 .fesEvent .contents .performer ul li a { font-size: 11px; padding: 0 13px 0 0; }
	#festival2026 .fesEvent .contents .performer ul li a::after { width: 9.6px; height: 8px; }
	#festival2026 .fesEvent .contents .performer ul li .perfImg:nth-child(2) { margin: 10px auto 0; }
	#festival2026 .fesEvent .contents .performer ul li .perfImg:nth-child(3) { margin: 0 auto 0; }
	#festival2026 .fesEvent .contents .performer ul li a + span { font-size: 11px ;}
	
	#festival2026 .fesEvent .contents .performer ul li:nth-child(2) { width: 100%; margin: 10px auto 0; }
	#festival2026 .fesEvent .contents .performer ul li:nth-child(2) img + p { font-size: 13px; }
}




/* fesMystery
--------------------------------------------------------- */

#festival2026 .fesEvent .bgOrange {
	width: 100%;
	max-width: 1400px;
	background-color: #ffebd6;
	padding: calc(160/1400 * 100%) 20px calc(160/1400 * 100%);
	position: relative;
}
#festival2026 .fesEvent .bgOrange div {
	width: 100%;
	max-width: 1100px;
	padding: calc(455/1360 * 100%) 0 0 0;
	margin: 0 auto;
}
#festival2026 .fesEvent .bgOrange p { height: 50px; margin: 50px auto 0; }

#festival2026 .fesEvent .fesMystery {
	width: 100%;
	max-width: 1400px;
	padding: calc(160/1400 * 100%) 20px calc(160/1400 * 100%);
	margin: 0 auto;
	position: absolute;
	bottom: 0;
	z-index: 30;
}
#festival2026 .fesEvent .fesMystery div {
	width: 100%;
	max-width: 1100px;
	margin: 0 auto;
}
#festival2026 .fesEvent .fesMystery div img:nth-child(2) { display: none; }
#festival2026 .fesEvent .fesMystery a {
	width: 260px;
	display: block;
	border-radius: 25px;
	background-color: #000000;
	color: #ffffff;
	padding: 50px 0 0 0;
	margin: 50px auto 0;
	position: relative;
}
#festival2026 .fesEvent .fesMystery a p {
	width: 100%;
	display: block;
	font-size: 18px;
	font-weight: 700;
	text-align: center;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
}
#festival2026 .fesEvent .fesMystery a p::after {
	content: "";
	width: 12px;
	height: 10px;
	display: block;
	background-image: url(/images/festival/2026/link_blank.png);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	position: absolute;
	top: 50%;
	right: 25px;
	transform: translateY(-50%);
}
#festival2026 .fesEvent .fesMystery a:hover { background-color: #e50020; transition: 0.2s; }



@media screen and (max-width: 1160px) {
	#festival2026 .fesEvent .bgOrange div { padding: calc(455/1100 * 100%) 0 0 0; }
}

@media screen and (max-width: 767px) {
	#festival2026 .fesEvent .bgOrange { padding: 30px 20px; }
	#festival2026 .fesEvent .bgOrange p { height: 30px; margin: 30px auto 0; }
	
	#festival2026 .fesEvent .fesMystery { padding: 30px 20px; }
	#festival2026 .fesEvent .fesMystery div img:nth-child(1) { display: none; }
	#festival2026 .fesEvent .fesMystery div img:nth-child(2) { display: block; }
	#festival2026 .fesEvent .fesMystery a {
		width: 200px;
		border-radius: 15px;
		padding: 30px 0 0 0;
		margin: 30px auto 0;
	}
	#festival2026 .fesEvent .fesMystery a p { font-size: 14px; }
	#festival2026 .fesEvent .fesMystery a p::after { right: 20px; }
}





/* fesMap
--------------------------------------------------------- */

#festival2026 .fesMap { width: 100%; box-sizing: border-box; padding: 0 20px; margin: 120px auto 100px; }
#festival2026 #googlemap_area { width: 100%; max-width: 1086px; margin: 0 auto 10px; }
#festival2026 .fesMap p { width: 100%; max-width: 1086px; font-size: 17px; line-height: 1.5; margin: 0 auto; }
#festival2026 .fesMap p span { display: inline-block; text-indent: -1em; padding: 0 0 0 1em; margin: 0 1em 0 0; }



@media screen and (max-width: 767px) {
	#festival2026 .fesMap { margin: 60px auto 60px; }
	#festival2026 .fesMap p { font-size: 14px; }
}





/* fesMachiBar
--------------------------------------------------------- */

#festival2026 .fesMachiBar {
	width: 100%;
	max-width: 1400px;
	background-color: #ffebd6;
	padding: calc(160/1400 * 100%) 20px;
	margin: 0 auto;
	position: relative;
}
#festival2026 .fesMachiBar .bgDot {
	width: 100%;
	height: 100%;
	background-image: url(/images/festival/2026/bg_dot.png);
	background-position: center top;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 10;
}
#festival2026 .fesMachiBar div {
	width: 100%;
	max-width: 1100px;
	margin: 0 auto;
	position: relative;
	z-index: 30;
}
#festival2026 .fesMachiBar div img:nth-child(2) { display: none; }
#festival2026 .fesMachiBar a {
	width: 260px;
	display: block;
	border-radius: 28px;
	background-color: #000000;
	color: #ffffff;
	padding: 50px 0 0 0;
	margin: 50px auto 0;
	position: relative;
	z-index: 30;
}
#festival2026 .fesMachiBar a p {
	width: 100%;
	display: block;
	font-size: 18px;
	font-weight: 700;
	text-align: center;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
}
#festival2026 .fesMachiBar a p::after {
	content: "";
	width: 12px;
	height: 10px;
	display: block;
	background-image: url(/images/festival/2026/link_blank.png);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	position: absolute;
	top: 50%;
	right: 25px;
	transform: translateY(-50%);
}
#festival2026 .fesMachiBar a:hover { background-color: #e50020; transition: 0.2s; }



@media screen and (max-width: 767px) {
	#festival2026 .fesMachiBar { padding: 30px 20px 30px; }
	#festival2026 .fesMachiBar .bgDot { background-size: 28px; }
	#festival2026 .fesMachiBar div img:nth-child(1) { display: none; }
	#festival2026 .fesMachiBar div img:nth-child(2) { display: block; }
	#festival2026 .fesMachiBar a {
		width: 200px;
		border-radius: 15px;
		padding: 30px 0 0 0;
		margin: 30px auto 0;
	}
	#festival2026 .fesMachiBar a p { font-size: 14px; }
	#festival2026 .fesMachiBar a p::after { right: 20px; }
}





/* fesBottom
--------------------------------------------------------- */

#festival2026 .fesBottom { width: 100%; max-width: 1400px; padding: 0 20px; margin: 0 auto; }
#festival2026 .fesBottom h2 { font-size: 30px; font-weight: 700; text-align: center; }

#festival2026 .fesBottom .sponsor {
	width: 100%;
	max-width: 1050px;
	margin: calc(130/1360 * 100%) auto 0;
	position: relative;
}
#festival2026 .fesBottom .sponsor div { display: flex; flex-direction: row; flex-wrap: wrap; align-items: center; }
#festival2026 .fesBottom .sponsor div img { width: calc(210/1050 * 100%); margin: 25px 0 0 calc(70/1050 * 100%); }
#festival2026 .fesBottom .sponsor div img:nth-child(4n + 1) { margin: 25px 0 0 0; }
#festival2026 .fesBottom .sponsor p { font-size: 14px; position: absolute; right: 15px; bottom: 5px; }

#festival2026 .fesBottom .outline {
	width: 100%;
	max-width: 1100px;
	margin: calc(130/1360 * 100%) auto calc(130/1360 * 100%);
}
#festival2026 .fesBottom .outline table {
	width: 100%;
	border-bottom: solid 1px #b3b3b3;
	border-collapse: collapse;
	border-spacing: 0;
	font-size: 16px;
	line-height: 1.5;
}
#festival2026 .fesBottom .outline table th {
	width: calc(185/1100 * 100%);
	border-top: solid 1px #b3b3b3;
	text-align: center;
	white-space: nowrap;
	padding: 1.0em;
}
#festival2026 .fesBottom .outline table td { border-top: solid 1px #b3b3b3; padding: 1.0em; }
#festival2026 .fesBottom .outline table td span { display: inline-block; }



@media screen and (max-width: 767px) {
	#festival2026 .fesBottom h2 { font-size: 20px; }
	
	#festival2026 .fesBottom .sponsor { max-width: 656px; }
	#festival2026 .fesBottom .sponsor div img { width: 32%; max-width: 210px; margin: 20px 0 0 2%; }
	#festival2026 .fesBottom .sponsor div img:nth-child(4n + 1) { margin: 20px 0 0 2%; }
	#festival2026 .fesBottom .sponsor div img:nth-child(3n + 1) { margin: 20px 0 0 0; }
	#festival2026 .fesBottom .sponsor p { font-size: 12px; }
	
	#festival2026 .fesBottom .outline { margin: 60px auto; }
	#festival2026 .fesBottom .outline table { font-size: 14px; }
	#festival2026 .fesBottom .outline table th { width: auto; padding: 0.5em 1.5em 0.5em 0; }
	#festival2026 .fesBottom .outline table td { padding: 0.5em 0; }
	#festival2026 .fesBottom .outline table td + td { display: block; border-top: none; padding: 0 0 0.5em 0; }
}


