@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: 767px) {
	.anchorMargin { padding-top: 60px; margin-top: -60px; }
}

#festival2024 {
	color: #000000;
	font-family: "游ゴシック", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", sans-serif;
	line-height: 1;
	font-weight: 500;
}



/* インデックス
========================================================= */

#festival2024 .idxInfo { padding: 4.6% calc(12/320 * 100%); }
#festival2024 .idxInfo a {
	display: table;
	border: solid 3px #eb3933;
	font-size: 22px;
	line-height: 1.7;
	font-weight: 700;
	text-decoration: none;
	font-feature-settings: "palt" 1;
	box-sizing: border-box;
	padding: 1em 2em;
	margin: 0 auto;
}
#festival2024 .idxInfo a:hover { background-color: #eb3933; color: #ffffff; transition: 0.2s;}

#festival2024 .idxMain { width: 100%; max-width: 1400px; margin: 0 auto; position: relative; }
#festival2024 .idxMain img:nth-child(2) { display: none; }

#festival2024 .idxMain .anchLink a {
	width: 230px;
	display: block;
	border-radius: 20px 20px 0 0;
	background: #000000;
	color: #ffffff;
	font-size: 18px;
	font-weight: 700;
	text-align: center;
	text-decoration: none;
	padding: 18px 0 27px 0;
	position: absolute;
	right: calc(150/1400 * 100%);
	bottom: 0;
}
#festival2024 .idxMain .anchLink a:after {
	content: "";
	width: 10px;
	height: 10px;
	border-right: solid 2px #ffffff;
	border-bottom: solid 2px #ffffff;
	transform: rotate(45deg);
	position: absolute;
	right: 0;
	bottom: 12px;
	left: 0;
	margin: auto;
}
#festival2024 .idxMain .anchLink a:hover { background: #666666; transition: 0.2s; }

#festival2024 .idxPageLink ul { width: 100%; max-width: 1400px; margin: 0 auto; }
#festival2024 .idxPageLink li {
	width: 100%;
	background: #efe9e5;
	box-sizing: border-box;
	padding: 20px calc(20/320 * 100%);
	margin: 10px 0 0 0;
}
#festival2024 .idxPageLink li a {
	width: 100%;
	max-width: 740px;
	display: block;
	text-decoration: none;
	box-sizing: border-box;
	padding: 10px;
	margin: 0 auto;
}
#festival2024 .idxPageLink li a img:nth-child(2) { display: none; }
#festival2024 .idxPageLink li a .txt { font-size: 17px; line-height: 1.9; padding: 15px 0 0 0; }
#festival2024 .idxPageLink li a .details {
	font-size: 15px;
	font-weight: 700;
	text-align: right;
	padding: 0 20px 0 0;
	margin: 15px 0 0 0;
	position: relative;
}
#festival2024 .idxPageLink li a .details span {
	font-family: "游明朝", "Yu Minch", YuMinch, serif;
	font-size: 16px;
}
#festival2024 .idxPageLink li a .details:after {
	content: "";
	width: 8px;
	height: 13px;
	display: block;
	background-color: #000000;
	clip-path: polygon(0 0, 100% 50%, 0 100%);
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	margin: auto;
}
#festival2024 .idxPageLink li a .blank { font-size: 14px; text-align: right; padding: 10px 0 0 0; }
#festival2024 .idxPageLink li a:hover { border-radius: 10px; background: rgba(0,0,0,0.3); transition: 0.3s; }

#festival2024 .idxLead { width: 100%; box-sizing: border-box; padding: 0 calc(40/375 * 100%); margin: 75px 0 0 0; }
#festival2024 .idxLead p:nth-child(1) { font-size: 28px; line-height: 1.3; font-weight: 700; text-align: center; }
#festival2024 .idxLead p:nth-child(2) {
	font-size: 18px;
	font-weight: 700;
	line-height: 1.7;
	text-align: center;
	padding: 15px 0 0 0;
}
#festival2024 .idxLead p span { display: inline-block; }



@media screen and (max-width: 640px) {
	#festival2024 .idxMain img:nth-child(1) { display: none; }
	#festival2024 .idxMain img:nth-child(2) { display: block; }
	
	#festival2024 .idxMain .anchLink a {
		width: 135px;
		border-radius: 12px 12px 0 0;
		font-size: 14px;
		font-feature-settings: "palt" 1;
		padding: 8px 0 17px 0;
		right: 15px;
	}
	#festival2024 .idxMain .anchLink a:after { width: 8px; height: 8px; bottom: 8px; }
	#festival2024 .idxPageLink li { padding: 30px calc(20/320 * 100%); margin: 5px 0 0 0; }
	#festival2024 .idxPageLink li a { padding: 0; }
	#festival2024 .idxPageLink li a img:nth-child(1) { display: none; }
	#festival2024 .idxPageLink li a img:nth-child(2) { display: block; }
	#festival2024 .idxPageLink li a .txt { font-size: 14px; line-height: 1.5; padding: 20px 0 0 0; }
	#festival2024 .idxPageLink li a .details {
		display: table;
		font-size: 12px;
		text-align: center;
		margin: 15px auto 0;
		position: relative;
	}
	#festival2024 .idxPageLink li a .details span { font-size: 14px; }
	#festival2024 .idxPageLink li a .blank { font-size: 10px; text-align: center; padding: 20px 0 0 0; }
	
	#festival2024 .idxLead { margin: 30px 0 0 0; }
	#festival2024 .idxLead p:nth-child(1) { font-size: 20px; }
	#festival2024 .idxLead p:nth-child(2) { font-size: 14px; line-height: 1.5; text-align: left; }
}



#festival2024 .idxEvent { width: 100%; max-width: 1400px; margin: 0 auto; }

#festival2024 .idxEvent .title { position: relative; }
#festival2024 .idxEvent .title h2:nth-child(2) { display: none; }
#festival2024 .idxEvent .title p {
	width: 100%;
	color: #ffffff;
	font-size: 18px;
	font-weight: 700;
	text-align: center;
	font-feature-settings: "palt" 1;
	box-sizing: border-box;
	padding: 0 0 0 1em;
	position: absolute;
	bottom: calc(80/410 * 100%);
}

#festival2024 .idxEvent .collab {
	background-image: url(/images/festival/2024/idx_collab_bg.png);
	background-repeat: no-repeat;
	background-position: center top;
	background-color: #6067a8;
	box-sizing: border-box;
	padding: 0 calc(12/320 * 100%);
	margin: 0 auto 0;
}
#festival2024 .idxEvent .spl {
	background-color: #e87b60;
	box-sizing: border-box;
	padding: 0 calc(12/320 * 100%);
	margin: 0 auto 0;
}
#festival2024 .idxEvent .ltd {
	background-image: url(/images/festival/2024/idx_ltd_bg.png);
	background-repeat: no-repeat;
	background-position: center top;
	background-color: #5eb496;
	box-sizing: border-box;
	padding: 0 calc(12/320 * 100%) 80px;
	margin: 0 auto 0;
}

#festival2024 .idxEvent .contents {
	width: 100%;
	max-width: 1100px;
	border-radius: 40px;
	background-color: #ffffff;
	box-sizing: border-box;
	padding: 40px 13px 0;
	margin: 0 auto;
}

#festival2024 .idxEvent .collab .contents h3 { width: 100%; max-width: 960px; margin: 0 auto; }
#festival2024 .idxEvent .collab .contents h3 img:nth-child(2) { display: none; }
#festival2024 .idxEvent .collab .contents h3 span {
	display: block;
	font-size: 18px;
	line-height: 1.4;
	text-align: center;
	padding: 20px 0 40px 0;
}
#festival2024 .idxEvent .collab .contents h3 span br { display: none; }
#festival2024 .idxEvent .collab .contents h3 .info a {
	display: table;
	color: #1399d1;
	font-size: 20px;
	line-height: 1.8;
	font-weight: 700;
	text-align: center;
	font-feature-settings: "palt" 1;
	margin: calc(50/1370 * 100%) auto 0;
}

#festival2024 .idxEvent .ltd .contents > p {
	font-size: 18px;
	line-height: 1.4;
	text-align: center;
	padding: 0 0 40px 0;
}
#festival2024 .idxEvent .ltd .contents > p br { display: none; }

#festival2024 .idxEvent .contents ul {
	width: 100%;
	max-width: 960px;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	margin: 0 auto;
}
#festival2024 .idxEvent .contents li { width: calc(440/960 * 100%); max-width: 440px; margin: 0 0 50px 0; }
#festival2024 .idxEvent .contents li:nth-child(2n) { margin: 0 0 50px calc(80/960 * 100%); }
#festival2024 .idxEvent .contents li img.num { width: 30px; display: block; margin: 0 auto 20px; }
#festival2024 .idxEvent .contents li img + p { padding: calc(260/440 * 100%) 0 0 0; position: relative; }
#festival2024 .idxEvent .contents li img + p img { position: absolute; top: 0; bottom: 0; margin: auto; }
#festival2024 .idxEvent .contents li dl { margin: 15px auto 0; }
#festival2024 .idxEvent .contents li dt {
	color: #ffffff;
	font-size: 18px;
	line-height: 1.4;
	font-weight: 700;
	text-align: center;
	font-feature-settings: "palt" 1;
	padding: 6px;
}
#festival2024 .idxEvent .contents li dt span { display: inline-block; }
#festival2024 .idxEvent .collab .contents li dt { background-color: #6067a8; }
#festival2024 .idxEvent .spl .contents li dt { background-color: #e87b60; }
#festival2024 .idxEvent .ltd .contents li dt { background-color: #5eb496; }
#festival2024 .idxEvent .contents li dt + dd {
	border-bottom: solid 1px;
	font-size: 18px;
	line-height: 1.4;
	font-weight: 700;
	text-align: center;
	font-feature-settings: "palt" 1;
	padding: 12px 6px;
}
#festival2024 .idxEvent .contents li dt + dd span { display: inline-block; }
#festival2024 .idxEvent .collab .contents li dt + dd { border-color: #6067a8; color: #6067a8; }
#festival2024 .idxEvent .spl .contents li dt + dd { border-color: #e87b60; color: #e87b60; }
#festival2024 .idxEvent .ltd .contents li dt + dd { border-color: #5eb496; color: #5eb496; }
#festival2024 .idxEvent .contents li dd + dd { font-size: 16px; line-height: 1.6; margin: 20px 0 0 0; }
#festival2024 .idxEvent .collab .contents li dd + dd span { color: #6067a8; }
#festival2024 .idxEvent .spl .contents li dd + dd span { color: #e87b60; }
#festival2024 .idxEvent .ltd .contents li dd + dd span { color: #5eb496; }
#festival2024 .idxEvent .contents li dd + dd a { color: #0074ff; }
#festival2024 .idxEvent .contents li dd p { text-indent: -1em; padding: 0 0 0 1em; }

#festival2024 .idxMap { width: 100%; box-sizing: border-box; padding: 0 calc(12/320 * 100%); margin: 90px auto 0; }
#festival2024 #googlemap_area { width: 100%; max-width: 1086px; margin: 0 auto 10px; }
#festival2024 .idxMap p {
	width: 100%;
	max-width: 1086px;
	font-size: 17px;
	line-height: 1.5;
	margin: 0 auto;
}
#festival2024 .idxMap p span { display: inline-block; text-indent: -1em; padding: 0 0 0 1em; margin: 0 1em 0 0; }



@media screen and (max-width: 1400px) {
	#festival2024 .idxEvent .title p { font-size: 1.28vw; }
}

@media screen and (max-width: 767px) {
	#festival2024 .idxInfo { padding: 15px calc(12/320 * 100%); }
	#festival2024 .idxInfo a { border: solid 2px #eb3933; font-size: 15px; text-align: left; padding: 1em; }
}

@media screen and (max-width: 640px) {
	#festival2024 .idxEvent .title h2:nth-child(1) { display: none; }
	#festival2024 .idxEvent .title h2:nth-child(2) { display: block; }
	#festival2024 .idxEvent .title p {
		font-size: 14px;
		line-height: 1.7;
		font-weight: 500;
		padding: 0;
		bottom: calc(40/640 * 100%);
	}
	
	#festival2024 .idxEvent .collab { background-image: none; }
	#festival2024 .idxEvent .ltd { background-image: none; padding: 0 calc(12/320 * 100%) 60px; }
	
	#festival2024 .idxEvent .contents { border-radius: 20px; padding: 20px 13px 0; }
	
	#festival2024 .idxEvent .collab .contents h3 img:nth-child(1) { display: none; }
	#festival2024 .idxEvent .collab .contents h3 img:nth-child(2) { display: block; }
	#festival2024 .idxEvent .collab .contents h3 span { font-size: 14px; padding: 20px 0 20px 0; }
	#festival2024 .idxEvent .collab .contents h3 span br { display: block; }
	#festival2024 .idxEvent .collab .contents h3 .info a {
		font-size: 16px;
		line-height: 1.4;
		text-align: left;
		box-sizing: border-box;
		padding: 0 10px;
		margin: calc(20/290 * 100%) auto 0;
	}
	#festival2024 .idxEvent .collab .contents h3 .info a br { display: none; }
	
	#festival2024 .idxEvent .ltd .contents > p { font-size: 14px; padding: 0 0 20px 0; }
	#festival2024 .idxEvent .ltd .contents > p br { display: block; }
	
	#festival2024 .idxEvent .contents ul { flex-direction: column; }
	#festival2024 .idxEvent .contents li { width: 100%; margin: 0 auto 50px; }
	#festival2024 .idxEvent .contents li:nth-child(2n) { margin: 0 auto 50px; }
	#festival2024 .idxEvent .contents li img.num { margin: 0 auto 12px; }
	#festival2024 .idxEvent .contents li img + p { padding: 0; }
	#festival2024 .idxEvent .contents li img + p img { position: static; }
	#festival2024 .idxEvent .contents li dl { margin: 10px auto 0; }
	#festival2024 .idxEvent .contents li dt { font-size: 16px; padding: 6px 0; }
	#festival2024 .idxEvent .contents li dt + dd { font-size: 16px; padding: 6px 0 10px; }
	#festival2024 .idxEvent .contents li dd + dd { font-size: 14px; line-height: 1.4; margin: 15px 0 0 0; }
	
	#festival2024 .idxMap { margin: 60px auto 0; }
}



#festival2024 .idxBottom { box-sizing: border-box; padding: 0 calc(12/320 * 100%); }
#festival2024 .idxBottom .sponsor {
	width: 100%;
	max-width: 1110px;
	margin: 150px auto 0;
	position: relative;
}
#festival2024 .idxBottom .outline { width: 100%; max-width: 1100px; margin: 150px auto; }

#festival2024 .idxBottom h2 { font-size: 30px; font-weight: 700; text-align: center; }

#festival2024 .idxBottom .sponsor div { display: flex; flex-wrap: wrap; }
#festival2024 .idxBottom .sponsor div img { width: calc(225/1110 * 100%); margin: 40px 0 0 calc(70/1110 * 100%); }
#festival2024 .idxBottom .sponsor div img:nth-child(4n + 1) { margin: 40px 0 0 0; }
#festival2024 .idxBottom .sponsor p { font-size: 14px; position: absolute; right: 20px; bottom: 10px; }

#festival2024 .idxBottom .outline table {
	width: 100%;
	border-bottom: solid 1px #b3b3b3;
	border-collapse: collapse;
	border-spacing: 0;
	font-size: 16px;
	line-height: 1.6;
	font-feature-settings: "palt" 1;
	margin: 70px 0 0 0;
}
#festival2024 .idxBottom .outline table th {
	width: calc(180px - 3em);
	border-top: solid 1px #b3b3b3;
	font-weight: 700;
	white-space: nowrap;
	box-sizing: border-box;
	padding: 1em 2em 1em 1em;
}
#festival2024 .idxBottom .outline table td { border-top: solid 1px #b3b3b3; padding: 1em; }
#festival2024 .idxBottom .outline table td.event { white-space: nowrap; }
#festival2024 .idxBottom .outline table td.taR { text-align: right; padding: 0.5em 1em 2em 1em; }
#festival2024 .idxBottom .outline table td span { display: inline-block; }
#festival2024 .idxBottom .outline table tr:nth-child(3) td + td { padding: 1em 1em 0.5em 1em; }
#festival2024 .idxBottom .outline table tr:nth-child(3) td span + span { padding: 0 0 0.5em 0; }



@media screen and (max-width: 1000px) {
	#festival2024 .idxBottom .outline table { font-size: 1.6vw; }
}

@media screen and (max-width: 767px) {
	#festival2024 .idxBottom .sponsor { margin: 60px auto 0; }
	#festival2024 .idxBottom .outline { margin: 60px auto; }
	
	#festival2024 .idxBottom h2 { font-size: 24px; }
	
	#festival2024 .idxBottom .sponsor div img { width: 23.5%; margin: 20px 0 0 2%; }
	#festival2024 .idxBottom .sponsor div img:nth-child(4n + 1) { margin: 20px 0 0 0; }
	#festival2024 .idxBottom .sponsor p { font-size: 12px; }
	
	#festival2024 .idxBottom .outline table {
		border-bottom: solid 1px #cccccc;
		font-size: 14px;
		line-height: 1.5;
		margin: 20px 0 0 0;
	}
	#festival2024 .idxBottom .outline table th {
		width: auto;
		border-top: solid 1px #cccccc;
		font-weight: 700;
		padding: 0.5em 1em 0.5em 0;
	}
	#festival2024 .idxBottom .outline table td { border-top: solid 1px #cccccc; padding: 0.5em 0; }
	#festival2024 .idxBottom .outline table td.event {
		width: auto;
		display: block;
		font-weight: 700;
		padding: 0.5em 0 0 0;
	}
	#festival2024 .idxBottom .outline table td + td { display: block; border-top: none; padding: 0 0 0.5em 0; }
	#festival2024 .idxBottom .outline table tr:nth-child(3) td + td { padding: 0; }
	#festival2024 .idxBottom .outline table td.taR { text-align: right; padding: 0.5em 0 1em 0; }
}

@media screen and (max-width: 640px) {
	#festival2024 .idxBottom .sponsor div img { width: 32%; margin: 20px 0 0 2%; }
	#festival2024 .idxBottom .sponsor div img:nth-child(4n + 1) { margin: 20px 0 0 2%; }
	#festival2024 .idxBottom .sponsor div img:nth-child(3n + 1) { margin: 20px 0 0 0; }
	#festival2024 .idxBottom .sponsor p { font-size: 12px; margin: -20px 0 0 0; }
}





/* コンテンツ
================================================================================================================== */

#festival2024 .contentsMain {
	width: 100%;
	max-width: 1400px;
	box-sizing: border-box;
	padding: 30px 0 0 0;
	margin: 0 auto;
}
#festival2024 .contentsMain.dance {
	background: url(/images/festival/2024/con_main_dance_bg.gif);
	background-size: 100%;
	background-repeat: no-repeat;
	background-position: center top;
}
#festival2024 .contentsMain.kaiun {
	background: url(/images/festival/2024/con_main_kaiun_bg.png);
	background-color: #fdfaf2;
	background-size: 100%;
	background-repeat: no-repeat;
	background-position: center top;
}
#festival2024 .contentsMain.cinema {
	background: url(/images/festival/2024/con_main_cinema_bg.gif);
	background-size: 100%;
	background-repeat: no-repeat;
	background-position: center top;
}

#festival2024 .contentsWrap { width: 100%; box-sizing: border-box; padding: 0 15px; }

#festival2024 .contentsMain .contentsLogo { display: none; }
#festival2024 .contentsNav {
	width: 100%;
	max-width: 1340px;
	display: flex;
	flex-wrap: wrap;
	margin: 0 auto;
	position: relative;
}
#festival2024 .contentsNav a {
	width: calc(240/1340 * 100%);
	display: block;
	border-radius: 25px;
	background: #000000;
	color: #828282;
	font-size: 20px;
	font-weight: 700;
	text-align: center;
	text-decoration: none;
	padding: 15px 0;
}
#festival2024 .contentsNav a + a { margin: 0 0 0 calc(35/1340 * 100%); }
#festival2024 .contentsNav a.visit { color: #fcda2e; }
#festival2024 .contentsNav a:hover { color: #ffffff; }
#festival2024 .contentsNav a.visit:hover { color: #fcda2e; }
#festival2024 .contentsNav a:nth-child(5) { position: relative; }
#festival2024 .contentsNav a:nth-child(5):after {
	content: url(/images/festival/2024/icon_blank.gif);
	position: absolute;
	top: 50%;
	right: calc(15/240 * 100%);
	transform: translateY(-50%);
}

#festival2024 .contentsBottom { width: 100%; max-width: 1400px; padding: 160px 0 70px 0; margin: 0 auto; }
#festival2024 .contentsBottom p { width: 100%; max-width: 450px; margin: 0 auto 60px; }



@media screen and (max-width: 1400px) {
	#festival2024 .contentsNav a { font-size: 1.4vw; }
}

@media screen and (max-width: 767px) {
	#festival2024 .contentsMain { padding: 10px 0 0 0; }
	#festival2024 .contentsNav a {
		width: 49%;
		border-radius: 5px;
		font-size: 15px;
		padding: 10px 0;
	}
	#festival2024 .contentsNav a:nth-child(1) { width: 100%; }
	#festival2024 .contentsNav a:nth-child(2) { margin: 6px 0 0 0; }
	#festival2024 .contentsNav a:nth-child(3) { margin: 6px 0 0 2%; }
	#festival2024 .contentsNav a:nth-child(4) { margin: 6px 0 0 0; }
	#festival2024 .contentsNav a:nth-child(5) { margin: 6px 0 0 2%; }
	
	#festival2024 .contentsBottom { padding: 50px 0; }
	#festival2024 .contentsBottom p { margin: 0 auto 20px; }
}

@media screen and (max-width: 640px) {
	#festival2024 .contentsMain { padding: 0; }
	
	#festival2024 .contentsMain.dance {
		background: url(/images/festival/2024/con_main_dance_bg2.gif);
		background-size: 100%;
		background-repeat: no-repeat;
		background-position: center top;
	}
	#festival2024 .contentsMain.cinema {
		background: url(/images/festival/2024/con_main_cinema_bg2.gif);
		background-size: 100%;
		background-repeat: no-repeat;
		background-position: center top;
	}
	
	#festival2024 .contentsMain .contentsLogo {
		width: calc(254/290 * 100%);
		max-width: 450px;
		min-width: 254px;
		display: block;
		padding: calc(55/290 * 100%) 0 0 0;
		margin: 0 auto;
	}
	#festival2024 .contentsMain.kaiun .contentsLogo {
		padding: calc(20/290 * 100%) 0 0 0;
	}
	#festival2024 .contentsMain .contentsNav { margin: 15px auto 0; }
	#festival2024 .contentsNav a:nth-child(1) { display: none; }
}





/* POWER of DANCE
================================================================================================================== */

#festival2024 .danceTitle { width: 100%; }
#festival2024 .danceTitle h2 {
	width: calc(700/1370 * 100%);
	max-width: 700px;
	padding: calc(90/1370 * 100%) 0 0 0;
	margin: 0 auto;
}
#festival2024 .danceTitle h2 img:nth-child(2) { display: none; }

#festival2024 .danceTitle .info a {
	display: table;
	color: #1399d1;
	font-size: 20px;
	line-height: 1.8;
	font-weight: 700;
	text-align: center;
	font-feature-settings: "palt" 1;
	margin: calc(50/1370 * 100%) auto 0;
}
#festival2024 .danceTitle .close {
	display: table;
	color: #ed0000;
	font-size: 20px;
	line-height: 1.5;
	font-weight: 700;
	text-align: center;
	font-feature-settings: "palt" 1;
	margin: calc(50/1370 * 100%) auto 0;
}

#festival2024 .danceTitle .lead {
	font-size: 18px;
	line-height: 1.8;
	text-align: center;
	margin: calc(50/1370 * 100%) auto 0;
	/* margin: calc(70/1370 * 100%) auto 0; */
}

#festival2024 .danceTitle .schedule {
	width: calc(720/1370 * 100%);
	max-width: 720px;
	margin: calc(45/1370 * 100%) auto 0;
}
#festival2024 .danceTitle .schedule img:nth-child(2) { display: none; }



@media screen and (max-width: 767px) {
	#festival2024 .danceTitle .info a {
		max-width: 470px;
		font-size: 16px;
		line-height: 1.4;
		text-align: left;
		box-sizing: border-box;
		padding: 0 10px;
		margin: calc(20/290 * 100%) auto 0;
	}
	#festival2024 .danceTitle .info a br { display: none; }
	#festival2024 .danceTitle .close {
		max-width: 470px;
		font-size: 16px;
		box-sizing: border-box;
		padding: 0 10px;
		margin: calc(20/290 * 100%) auto 0;
	}
	
	#festival2024 .danceTitle .lead {
		display:table;
		font-size: 15px;
		line-height: 1.4;
		text-align: left;
		padding: 0 10px;
		margin: calc(20/290 * 100%) auto 0;
		/* margin: calc(15/290 * 100%) auto 0; */
	}
}

@media screen and (max-width: 640px) {
	#festival2024 .danceTitle h2 { width: calc(255/290 * 100%); min-width: 255px; padding: calc(40/290 * 100%) 0 0 0; }
	#festival2024 .danceTitle h2 img:nth-child(1)  { display: none; }
	#festival2024 .danceTitle h2 img:nth-child(2)  { display: block; }
	
	#festival2024 .danceTitle .schedule { width: 100%; max-width: 580px; margin: calc(40/290 * 100%) auto 0; }
	#festival2024 .danceTitle .schedule img:nth-child(1) { display: none; }
	#festival2024 .danceTitle .schedule img:nth-child(2) { display: block; }
}



#festival2024 .danceContents {
	width: 100%;
	max-width: 1400px;
	background: url(/images/festival/2024/dance_contents_bg.png);
	background-size: 100%;
	background-repeat: repeat-y;
	background-position: center top;
	margin: 50px auto 0;
}
#festival2024 .danceContents .performer { font-size: 27px; font-weight: 700; text-align: center; padding: 20px 0 0 0; }
#festival2024 .danceContents .danceList { width: 100%; box-sizing: border-box; padding: 65px calc(40/320 * 100%) 0; }
#festival2024 .danceContents .danceList section { width: 100%; max-width: 720px; margin: 0 auto; }
#festival2024 .danceContents .danceList section + section { margin: 200px auto 0; }
#festival2024 .danceContents .danceList section h3 img:nth-child(2) { display: none; }
#festival2024 .danceContents .danceList section div { margin: 20px 0 0 0; }
#festival2024 .danceContents .danceList section p { font-size: 18px; line-height: 1.8; padding: 15px 0 0 0; }



@media screen and (max-width: 640px) {
	#festival2024 .danceContents {
		background: url(/images/festival/2024/dance_contents_bg2.png);
		background-size: 100%;
		background-repeat: repeat-y;
		background-position: center 75px;
		margin: 50px auto 0;
	}
	#festival2024 .danceContents .performer { font-size: 20px; padding: 0; }
	#festival2024 .danceContents .danceList { padding: 35px calc(40/320 * 100%) 0; }
	#festival2024 .danceContents .danceList section + section { margin: 50px auto 0; }
	#festival2024 .danceContents .danceList section h3 img:nth-child(1) { display: none; }
	#festival2024 .danceContents .danceList section h3 img:nth-child(2) {
		max-width: 480px;
		display: block;
		margin: 0 auto;
	}
	#festival2024 .danceContents .danceList section p { font-size: 14px; line-height: 1.5; padding: 20px 10px 0; }
}





/* アニメシネマ
================================================================================================================== */

#festival2024 .cinemaTitle { width: 100%; }
#festival2024 .cinemaTitle h2 {
	width: calc(510/1370 * 100%);
	max-width: 510px;
	padding: calc(70/1370 * 100%) 0 0 0;
	margin: 0 auto;
}
#festival2024 .cinemaTitle h2 img:nth-child(2) { display: none; }
#festival2024 .cinemaTitle > p.close {
	display: table;
	color: #ed0000;
	font-size: 20px;
	line-height: 1.5;
	font-weight: 700;
	text-align: center;
	font-feature-settings: "palt" 1;
	margin: calc(40/1370 * 100%) auto 0;
}
#festival2024 .cinemaTitle .lead {
	font-size: 18px;
	line-height: 1.8;
	text-align: center;
	margin: calc(40/1370 * 100%) auto 0;
}

#festival2024 .cinemaTitle .anchLink {
	width: 100%;
	max-width: 536px;
	display: table;
	padding: calc(70/1370 * 100%) 0 0 0;
	margin: 0 auto;
}
#festival2024 .cinemaTitle .anchLink a { width: calc(246/536 * 100%); max-width: 246px; position: relative; }
#festival2024 .cinemaTitle .anchLink a:nth-child(1) { float: left; }
#festival2024 .cinemaTitle .anchLink a:nth-child(2) { float: right; }
#festival2024 .cinemaTitle .anchLink p {
	width: 100%;
	font-size: 18px;
	line-height: 1.4;
	font-weight: 700;
	text-align: center;
	text-decoration: none;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
}
#festival2024 .cinemaTitle .anchLink a:nth-child(1) p { color: #fcda2e; }
#festival2024 .cinemaTitle .anchLink a:nth-child(2) p { color: #e87b60; }
#festival2024 .cinemaTitle .anchLink a:hover p { color: #ffffff; }



@media screen and (max-width: 767px) {
	#festival2024 .cinemaTitle > p.close {
		font-size: 16px;
		padding: 0 10px;
		margin: calc(15/290 * 100%) auto 0;
	}
	#festival2024 .cinemaTitle .lead {
		display:table;
		font-size: 15px;
		line-height: 1.4;
		text-align: left;
		padding: 0 10px;
		margin: calc(15/290 * 100%) auto 0;
	}
	#festival2024 .cinemaTitle .lead br { display: none; }
}

@media screen and (max-width: 640px) {
	#festival2024 .cinemaTitle h2 { width: calc(255/290 * 100%); min-width: 255px; padding: calc(40/290 * 100%) 0 0 0; }
	#festival2024 .cinemaTitle h2 img:nth-child(1)  { display: none; }
	#festival2024 .cinemaTitle h2 img:nth-child(2)  { display: block; }
	
	#festival2024 .cinemaTitle .anchLink { padding: calc(25/290 * 100%) 0 0 0; }
	#festival2024 .cinemaTitle .anchLink a { width: calc(238/290 * 100%); display: block; min-width: 238px;  }
	#festival2024 .cinemaTitle .anchLink a:nth-child(1) { float: none; margin: 0 auto; }
	#festival2024 .cinemaTitle .anchLink a:nth-child(2) { float: none; margin: 20px auto 0; }
	#festival2024 .cinemaTitle .anchLink p { font-size: 17px; }
}



#festival2024 .cinemaContents {
	width: 100%;
	max-width: 1400px;
	background-image: url(/images/festival/2024/cinema_contents_bg.gif);
	background-size: 100%;
	background-repeat: no-repeat;
	background-position: center 230px;
	box-sizing: border-box;
	padding: 70px 15px 0;
	margin: 0 auto;
}

#festival2024 .cinemaContents .inner {
	width: 100%;
	max-width: 920px;
	border-radius: 40px;
	background-color: #fcda2e;
	box-sizing: border-box;
	padding: 200px 15px 80px;
	position: relative;
}
#festival2024 .cinemaContents #award { background-color: #fcda2e; margin: 90px auto 0; }
#festival2024 .cinemaContents #machifes { background-color: #e87b60; margin: 120px auto 0; }
#festival2024 .cinemaContents h3 {
	width: 100%;
	max-width: 524px;
	position: absolute;
	top: -90px;
	right: 0;
	left: 0;
	margin: auto;
}
#festival2024 .cinemaContents .lead { display: table; font-size: 19px; line-height: 1.5; margin: 0 auto; }
#festival2024 .cinemaContents .about {
	width: 100%;
	max-width: 750px;
	box-sizing: border-box;
	padding: 30px 50px;
	margin: 35px auto 0;
	position: relative;
	z-index: 10;
}
#festival2024 .cinemaContents .about:before {
	content: "";
	width: calc(100% - 10px);
	height: calc(100% - 10px);
	display: block;
	border: solid 1px #000000;
	box-sizing: border-box;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
}
#festival2024 .cinemaContents .about:after {
	content: "";
	width: calc(100% - 10px);
	height: calc(100% - 10px);
	display: block;
	border: solid 1px #000000;
	box-sizing: border-box;
	position: absolute;
	right: 0;
	bottom: 0;
	z-index: -1;
}
#festival2024 .cinemaContents .about p:nth-child(1) { font-size: 17px; font-weight: 700; text-align: center; }
#festival2024 .cinemaContents .about p:nth-child(2) { font-size: 15px; line-height: 1.5; padding: 15px 0 0 0; }

#festival2024 .cinemaContents .title {
	width: 100%;
	max-width: 630px;
	min-height: 86px;
	margin: 40px auto 10px;
	position: relative;
}
#festival2024 .cinemaContents .list + .title { margin: 70px auto 10px; }
#festival2024 .cinemaContents .title h4 {
	width: 100%;
	display: block;
	font-weight: 700;
	text-align: center;
	box-sizing: border-box;
	padding: 0 55px;
	position: absolute;
	bottom: 10px;
}
#festival2024 .cinemaContents .title h4 span { display: block; line-height: 1.2; }
#festival2024 .cinemaContents .title h4 span br { display: none; }
#festival2024 .cinemaContents .title h4 span:nth-child(1) { font-size: 17px; }
#festival2024 .cinemaContents .title h4 span:nth-child(2) { font-size: 21px; padding: 10px 0 0 0; }
#festival2024 .cinemaContents .title img { width: 52px; height: 86px; position: absolute; bottom: 0; }
#festival2024 .cinemaContents .title img.left { left: 0; }
#festival2024 .cinemaContents .title img.right { right: 0; }

#festival2024 .cinemaContents .list {
	width: 100%;
	max-width: 750px;
	border-radius: 15px;
	background: #ffffff;
	box-sizing: border-box;
	padding: 25px 10px 50px;
	margin: 0 auto;
}
#festival2024 .cinemaContents .lead + .list { margin: 30px auto 0; }
#festival2024 .cinemaContents .list + .list { margin: 70px auto 0; }
#festival2024 .cinemaContents .list h5 {
	width: 100%;
	max-width: 680px;
	height: 76px;
	border-radius: 10px;
	background: #000000;
	margin: 0 auto;
	position: relative;
}
#festival2024 .cinemaContents .list h5 span {
	width: 100%;
	font-size: 20px;
	line-height: 1.3;
	font-weight: 700;
	text-align: center;
	font-feature-settings: "palt" 1;
	transform: translateY(-50%);
	position: absolute;
	top: 50%;
}
#festival2024 .cinemaContents #award .list h5 span { color: #fcda2e; }
#festival2024 .cinemaContents #machifes .list h5 span { color: #e87b60; }
#festival2024 .cinemaContents .list .datePlace {
	font-size: 18px;
	line-height: 1.2;
	font-weight: 700;
	text-align: center;
	font-feature-settings: "palt" 1;
	margin: 20px auto 0;
}
#festival2024 .cinemaContents .list .datePlace p + p { padding: 10px 0 0 0; }
#festival2024 .cinemaContents .list .datePlace + p {
	font-size: 16px;
	line-height: 1.4;
	text-align: center;
	margin: 20px auto 0;
}
#festival2024 .cinemaContents .list .datePlace + p span { display: inline-block; }
#festival2024 .cinemaContents .list .datePlace + p a { color: #5eb496; }

#festival2024 .cinemaContents .list figure { width: 100%; margin: 30px auto 0; }
#festival2024 .cinemaContents .list figure.w280 { max-width: 280px; }
#festival2024 .cinemaContents .list figure.w480 { max-width: 480px; }
#festival2024 .cinemaContents .list figcaption { display: table; font-size: 10px; margin: 7px auto 0; }
#festival2024 .cinemaContents .list .text {
	width: 100%;
	max-width: 620px;
	font-size: 16px;
	line-height: 1.5;
	box-sizing: border-box;
	padding: 20px 10px 0 10px;
	margin: 0 auto;
}
#festival2024 .cinemaContents .list .text p { text-align: center; }
#festival2024 .cinemaContents .list .note {
	width: 100%;
	max-width: 620px;
	font-size: 13px;
	line-height: 1.5;
	box-sizing: border-box;
	padding: 30px 10px 0 10px;
	margin: 0 auto;
}
#festival2024 .cinemaContents .list .note ul { display: table; }
#festival2024 .cinemaContents .list .note li { display: table-cell; vertical-align: top; }
#festival2024 .cinemaContents .list .note li:first-child { white-space: nowrap; }

#festival2024 .cinemaContents a.btn  {
	width: 186px;
	display: block;
	border-radius: 32px;
	background: #000000;
	color: #ffffff;
	font-size: 16px;
	font-weight: 700;
	text-align: center;
	text-decoration: none;
	padding: 8px 0;
	margin: 25px auto 0;
	position: relative;
}
#festival2024 .cinemaContents a.btn:after {
	content: url(/images/festival/2024/icon_blank.gif);
	transform: translateY(-50%);
	position: absolute;
	top: 50%;
	right: calc(15/240 * 100%);
}
#festival2024 .cinemaContents .list a.btn  { margin: 40px auto 0; }
#festival2024 .cinemaContents .list a.btn:hover  { background: #999999; transition: 0.2s; }
#festival2024 .cinemaContents .about a.btn:hover  { background: #999999; transition: 0.2s; }



@media screen and (max-width: 640px) {
	#festival2024 .cinemaContents { background-image: none; padding: 70px 15px 0; }
	
	#festival2024 .cinemaContents .inner { border-radius: 18px; padding: 100px 15px 15px; }
	#festival2024 .cinemaContents #award { margin: 0 auto 0; }
	#festival2024 .cinemaContents #machifes { margin: 70px auto 0; }
	#festival2024 .cinemaContents h3 { width: 280px; top: -60px; }
	
	#festival2024 .cinemaContents .lead { font-size: 14px; }
	#festival2024 .cinemaContents .about { padding: 20px; margin: 25px auto 0; }
	#festival2024 .cinemaContents .about:before { width: calc(100% - 5px); height: calc(100% - 5px); }
	#festival2024 .cinemaContents .about:after { width: calc(100% - 5px); height: calc(100% - 5px); }
	#festival2024 .cinemaContents .about p:nth-child(1) { font-size: 19px; font-weight: 700; text-align: center; }
	#festival2024 .cinemaContents .about p:nth-child(2) { font-size: 14px; }
	
	#festival2024 .cinemaContents .list + .title { margin: 50px auto 10px; }
	#festival2024 .cinemaContents .title h4 span br { display: block; }
	#festival2024 .cinemaContents .title h4 span:nth-child(1) { font-size: 12px; }
	#festival2024 .cinemaContents .title h4 span:nth-child(2) { font-size: 15px; padding: 10px 0 0 0; }
	
	#festival2024 .cinemaContents .list { padding: 10px 10px 40px; }
	#festival2024 .cinemaContents .list + .list { margin: 20px auto 0; }
	#festival2024 .cinemaContents .list h5 { height: 60px; }
	#festival2024 .cinemaContents .list h5 span { font-size: 14px; }
	#festival2024 .cinemaContents .list .datePlace { font-size: 15px; margin: 15px auto 0; }
	#festival2024 .cinemaContents .list .datePlace p + p { padding: 5px 0 0 0; }
	#festival2024 .cinemaContents .list .datePlace + p { font-size: 13px; margin: 15px auto 0; }
	#festival2024 .cinemaContents .list figure { margin: 15px auto 0; }
	#festival2024 .cinemaContents .list figure.w280 { width: 200px; }
	#festival2024 .cinemaContents .list figure.w480 { width: 240px; }
	#festival2024 .cinemaContents .list .text { font-size: 14px; padding: 10px 10px 0 10px; }
	#festival2024 .cinemaContents .list .text p { font-feature-settings: "palt" 1; }
	#festival2024 .cinemaContents .list .note { font-size: 11px; padding: 20px 10px 0 10px; }
	
	#festival2024 .cinemaContents a.btn  {
		width: 145px;
		border-radius: 24px;
		font-size: 12px;
		padding: 6px 0;
		margin: 15px auto 0;
	}
}





/* 開運周遊ラリー
========================================================= */

#festival2024 .kaiunTitle {
	width: 100%;
	max-width: 1100px;
	box-sizing: border-box;
	margin: 30px auto 0;
}
#festival2024 .kaiunTitle .top {
	height: 50px;
	border-top: solid 3px #e82b00;
	background: #ffffff;
	box-sizing: border-box;
	margin: 0 50px;
	position: relative;
}
#festival2024 .kaiunTitle .top:before {
	content: "";
	width: 50px;
	height: 50px;
	background: url(/images/festival/2024/kaiun_title_lt.png);
	background-size: cover;
	position: absolute;
	top: -3px;
	left: -50px;
}
#festival2024 .kaiunTitle .top:after {
	content: "";
	width: 50px;
	height: 50px;
	background: url(/images/festival/2024/kaiun_title_rt.png);
	background-size: cover;
	position: absolute;
	top: -3px;
	right: -50px;
}
#festival2024 .kaiunTitle .bottom {
	height: 50px;
	border-bottom: solid 3px #e82b00;
	background: #ffffff;
	box-sizing: border-box;
	margin: 0 50px;
	position: relative;
}
#festival2024 .kaiunTitle .bottom:before {
	content: "";
	width: 50px;
	height: 50px;
	background: url(/images/festival/2024/kaiun_title_lb.png);
	background-size: cover;
	position: absolute;
	bottom: -3px;
	left: -50px;
}
#festival2024 .kaiunTitle .bottom:after {
	content: "";
	width: 50px;
	height: 50px;
	background: url(/images/festival/2024/kaiun_title_rb.png);
	background-size: cover;
	position: absolute;
	bottom: -3px;
	right: -50px;
}
#festival2024 .kaiunTitle .middle {
	border-right: solid 3px #e82b00;
	border-left: solid 3px #e82b00;
	background: #ffffff;
	box-sizing: border-box;
	padding: 0 17px;
}
#festival2024 .kaiunTitle .middle h2 { width: 100%; max-width: 1020px; margin: 0 auto; }
#festival2024 .kaiunTitle .middle h2 img:nth-child(2) { display: none; }
#festival2024 .kaiunTitle .middle > p {
	font-size: 18px;
	line-height: 1.8;
	letter-spacing: 0.1em;
	margin: 40px 0 0 0;
	text-align: center;
}
#festival2024 .kaiunTitle .middle > p.close {
	color: #ed0000;
	font-size: 20px;
	line-height: 1.5;
	font-weight: 700;
	letter-spacing: 0;
	font-feature-settings: "palt" 1;
}
#festival2024 .kaiunTitle .middle .stampRally {
	width: 100%;
	max-width: 995px;
	box-sizing: border-box;
	padding: calc(63/995 * 100%) 0 0 0;
	margin: 35px auto 0;
	position: relative;
}
#festival2024 .kaiunTitle .middle .stampRally p {
	width: calc(618/995 * 100%);
	max-width: 618px;
	position: absolute;
	top: 0;
	right: calc(50/995 * 100%);
	z-index: 2;
}
#festival2024 .kaiunTitle .middle .stampRally ul {
	width: 100%;
	max-width: 995px;
	border-radius: 30px;
	background: #fcdce1;
	box-sizing: border-box;
	padding: 20px 0 30px;
	margin: 0 auto;
	position: relative;
}
#festival2024 .kaiunTitle .middle .stampRally li:nth-child(1) {
	width: calc(277/995 * 100%);
	max-width: 277px;
	position: absolute;
	top: 20px;
	left: calc(15/995 * 100%);
}
#festival2024 .kaiunTitle .middle .stampRally li:nth-child(2) { box-sizing: border-box; padding: 0 30px; }
#festival2024 .kaiunTitle .middle .stampRally li:nth-child(2) img:nth-child(2) { display: none; }

#festival2024 .kaiunMap { padding: 50px 0; }
#festival2024 .kaiunMap img { width: 100%; max-width: 700px; display: block; margin: 0 auto; }

#festival2024 .kaiunArea { width: 100%; max-width: 1400px; box-sizing: border-box; padding: 80px 0; margin: 0 auto; }
#festival2024 .kaiunArea.areaA { background: #f7edce; }
#festival2024 .kaiunArea.areaB { background: #f6c8ce; }

#festival2024 .kaiunArea h3 { width: 100%; max-width: 365px; margin: 0 auto; }
#festival2024 .kaiunArea section { margin: 40px auto 0; }
#festival2024 .kaiunArea section + section { margin: 70px auto 0; }
#festival2024 .kaiunArea h4 { width: 57px; margin: 0 auto; }
#festival2024 .kaiunArea ul {
	width: 100%;
	max-width: 1004px;
	display: flex;
	flex-wrap: wrap;
	margin: 15px auto 0;
}
#festival2024 .kaiunArea li:nth-child(1) { width: calc(304/1004 * 100%); max-width: 304px; }
#festival2024 .kaiunArea li:nth-child(2) {
	width: calc(680/1004 * 100%);
	border-top: solid 2px;
	border-bottom: solid 2px; 
	padding: 0 0 60px 0;
	margin: 0 0 0 calc(20/1004 * 100%);
	position: relative;
}
#festival2024 .kaiunArea section:last-child li:nth-child(2) { padding: 0 0 90px 0; }
#festival2024 .kaiunArea.areaA li:nth-child(2) { border-color: #dfba41; }
#festival2024 .kaiunArea.areaB li:nth-child(2) { border-color: #e82b00; }
#festival2024 .kaiunArea dt { font-size: 30px; padding: 20px 10px 15px 10px; }
#festival2024 .kaiunArea dt span { display: block; font-size: 15px; padding: 10px 0 0 0; }
#festival2024 .kaiunArea dt + dd {
	border-top: solid 2px;
	font-size: 17px;
	line-height: 1.6;
	padding: 15px 10px 0 10px;
}
#festival2024 .kaiunArea.areaA dt + dd { border-color: #dfba41; }
#festival2024 .kaiunArea.areaB dt + dd { border-color: #e82b00; }
#festival2024 .kaiunArea li p {
	font-size: 18px;
	line-height: 30px;
	padding: 15px 10px;
	position: absolute;
	bottom: 0;
	left: 0;
}
#festival2024 .kaiunArea li p span:nth-child(1) {
	display: inline-block;
	border-radius: 15px;
	padding: 0 1.5em;
	margin: 0 1em 0 0;
}
#festival2024 .kaiunArea.areaA li p span:nth-child(1) { background: #dfba41; }
#festival2024 .kaiunArea.areaB li p span:nth-child(1) { background: #e82b00; color: #ffffff; }
#festival2024 .kaiunArea.areaB li p span:nth-child(2) { float: right; font-size: 13px; padding: 0 15px; }



@media screen and (max-width: 1000px) {
	#festival2024 .kaiunTitle h2 + p { font-size: 1.8vw; }
}

@media screen and (max-width: 767px) {
	#festival2024 .kaiunArea { padding: 30px 0; }
	#festival2024 .kaiunArea h3 { max-width: 240px; }
	#festival2024 .kaiunArea section { margin: 30px auto 0; }
	#festival2024 .kaiunArea section + section { margin: 50px auto 0; }
	#festival2024 .kaiunArea h4 { width: 40px; }
	#festival2024 .kaiunArea ul { flex-direction: column; }
	#festival2024 .kaiunArea li:nth-child(1) { width: 100%; max-width: 200px; margin: 0 auto; }
	#festival2024 .kaiunArea li:nth-child(2) {
		width: 100%;
		padding: 0;
		margin: 15px 0 0 0;
	}
	#festival2024 .kaiunArea section:last-child li:nth-child(2) { padding: 0; }
	#festival2024 .kaiunArea dt { font-size: 24px; text-align: center; padding: 15px 10px 10px 10px; }
	#festival2024 .kaiunArea dt span { display: block; font-size: 13px; padding: 10px 0 0 0; }
	#festival2024 .kaiunArea dt + dd { font-size: 15px; padding: 10px 0 0 0; }
	#festival2024 .kaiunArea li p {
		font-size: 16px;
		line-height: 24px;
		padding: 15px 0;
		position: static;
	}
	#festival2024 .kaiunArea li p span:nth-child(1) { border-radius: 12px; }
	#festival2024 .kaiunArea.areaB li p span:nth-child(2) {
		float: none;
		display: block;
		font-size: 12px;
		line-height: 1.5;
		text-indent: -1em;
		padding: 10px 0 0 1em;
	}
}

@media screen and (max-width: 640px) {
	#festival2024 .kaiunTitle .top { height: 30px; border-top: solid 2px #e82b00; margin: 0 30px; }
	#festival2024 .kaiunTitle .top:before { width: 30px; height: 30px; top: -2px; left: -30px; }
	#festival2024 .kaiunTitle .top:after { width: 30px; height: 30px; top: -2px; right: -30px; }
	#festival2024 .kaiunTitle .bottom {height: 30px; border-bottom: solid 2px #e82b00; margin: 0 30px; }
	#festival2024 .kaiunTitle .bottom:before { width: 30px; height: 30px; bottom: -2px; left: -30px; }
	#festival2024 .kaiunTitle .bottom:after { width: 30px; height: 30px; bottom: -2px; right: -30px; }
	
	#festival2024 .kaiunTitle .middle {
		border-right: solid 2px #e82b00;
		border-left: solid 2px #e82b00;
		padding: 0 18px;
	}
	#festival2024 .kaiunTitle .middle h2 { width: 100%; max-width: 600px; }
	#festival2024 .kaiunTitle .middle h2 img:nth-child(1) { display: none; }
	#festival2024 .kaiunTitle .middle h2 img:nth-child(2) { display: block; }
	#festival2024 .kaiunTitle .middle > p {
		font-size: 15px;
		line-height: 1.5;
		margin: 30px 0 0 0;
		text-align: left;
	}
	#festival2024 .kaiunTitle .middle > p + p br { display: none; }
	#festival2024 .kaiunTitle .middle > p.close { font-size: 16px; text-align: center; }
	#festival2024 .kaiunTitle .middle > p.close span { display: inline-block; }
	
	#festival2024 .kaiunTitle .middle .stampRally { padding: calc(33/305 * 100%) 0 0 0; margin: 10px auto 0; }
	#festival2024 .kaiunTitle .middle .stampRally p {
		width: 100%;
		top: 0;
		right: 0;
	}
	#festival2024 .kaiunTitle .middle .stampRally ul { border-radius: 0 10px 10px 10px; padding: 40px 0 30px; }
	#festival2024 .kaiunTitle .middle .stampRally li:nth-child(1) {
		width: 100%;
		max-width: 305px;
		position: static;
		box-sizing: border-box;
		padding: 0 20px;
		margin: 0 auto;
	}
	#festival2024 .kaiunTitle .middle .stampRally li:nth-child(2) {
		width: 100%;
		max-width: 305px;
		box-sizing: border-box;
		padding: 0 20px;
		margin: 0 auto;
	}
	#festival2024 .kaiunTitle .middle .stampRally li:nth-child(2) img:nth-child(1) { display: none; }
	#festival2024 .kaiunTitle .middle .stampRally li:nth-child(2) img:nth-child(2) { display: block; }
}


