@charset "utf-8";

:root {
	--sfes-top-color-breadcrumb-link: #00748f;
	--sfes-top-color-news-link: #006599;
	--sfes-top-color-black: #000;
	--sfes-top-color-card-button-bg: #f4f4f4;
	--sfes-top-color-main-visual-bg: #212150;
	--sfes-top-color-border-light: #e0e0e0;
	--sfes-top-color-pdf-hover: #c3c3c3;
}

/*------------------------------------------------------------
#summer_top — Figma PC_サマーフェスティバル2026_トップ（121:723）準拠
------------------------------------------------------------ */
#summerfes_contents .sm_bread_crumbs li a {
	color: var(--sfes-top-color-breadcrumb-link);
	text-decoration: none;
}

#summerfes_contents .sm_bread_crumbs li a:hover {
	text-decoration: underline;
}

/*------------------------------------------------------------
[COMMON]
------------------------------------------------------------ */
#top_infoarea #news .news_list a,
#top_infoarea #host a {
	color: var(--sfes-top-color-news-link);
	text-decoration: underline;
}

/*top_program-------------------------------------------- */
#summerfes_contents #top_program {
	background-color: var(--color-program-bg);
}

#summerfes_contents #top_program .top_program_card {
	position: relative;
	background: var(--color-white);
	box-sizing: border-box;
	border-top: solid;
}

#summerfes_contents #top_program .theme_panel.top_program_card {
	border-color: var(--color-theme);
}

#summerfes_contents #top_program .akutagawa_panel.top_program_card {
	border-color: var(--color-akutagawa);
}

#summerfes_contents #top_program .special_panel.top_program_card {
	border-color: var(--color-special);
}

#summerfes_contents #top_program .special_panel {
	padding: 15px;
}

#top_program .program_card_hero {
	display: flex;
	flex-flow: row nowrap;
	align-items: flex-start;
	gap: 15px;
	width: 100%;
	padding: 19px 15px 12px;
	text-decoration: none;
	color: var(--sfes-top-color-black);
	box-sizing: border-box;
}

#top_program .theme_panel .program_card_hero {
	align-items: center;
	margin-bottom: 15px;
	padding: 0;
	gap: 7px;
}

#top_program .theme_panel .program_card_title_link {
	display: flex;
	align-items: flex-start;
	justify-content: flex-start;
	width: 398px;
	height: 160px;
	padding: 36px 8px 35px;
	box-sizing: border-box;
	text-decoration: none;
	border-radius: 5px;
	transition: background-color 0.2s linear;
}

#top_program .theme_panel .program_card_title_link:hover {
	background-color: var(--color-theme-hover-bg);
}

#top_program .program_card_title_link {
	display: block;
	text-decoration: none;
	color: var(--sfes-top-color-black);
}

#top_program .akutagawa_panel_right>a {
	display: flex;
	align-items: flex-start;
	justify-content: flex-start;
	width: 398px;
	padding: 10px 8px;
	box-sizing: border-box;
	transition: background-color 0.2s linear;
	border-radius: 5px;
}

#top_program .akutagawa_panel_right>a:hover {
	background-color: var(--color-akutagawa-hover-bg);
}

#top_program .akutagawa_panel_right .topbt_stack {
	padding: 0;
}

#top_program .theme_panel .program_card_title_link>img {
	display: block;
	width: 382px;
	height: 89px;
}

#top_program .akutagawa_panel .program_card_title_link>img {
	display: block;
	width: 380px;
	height: 114px;
}

#top_program .prog_tl img {
	display: block;
	width: auto;
	max-width: 100%;
	height: auto;
}

#top_program .prog_tl .topbt_title_sp {
	display: none;
}

#top_program .topbt_stack {
	margin: 0;
	padding: 0 15px 15px;
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

#top_program .theme_panel .topbt_stack,
#top_program .special_panel .topbt_stack {
	padding: 0;
}

#top_program .topbt_stack li {
	margin: 0;
}

#top_program .topbt_stack a {
	display: flex;
	flex-flow: row nowrap;
	justify-content: space-between;
	align-items: center;
	min-height: 72px;
	padding: 12px 25px 12px 20px;
	background: var(--sfes-top-color-card-button-bg);
	border: 1px solid transparent;
	border-radius: 5px;
	text-decoration: none;
	color: var(--sfes-top-color-black);
	position: relative;
	box-sizing: border-box;
}

#top_program .theme_panel .topbt_stack a:hover {
	background-color: var(--color-theme-hover-bg);
	border-color: var(--color-theme-deep);
}

#top_program .akutagawa_panel .topbt_stack a:hover {
	background-color: var(--color-akutagawa-hover-bg);
	border-color: var(--color-akutagawa);
}

#top_program .special_panel .topbt_stack a:hover {
	background-color: var(--color-special-hover-bg);
	border-color: var(--color-special);
}

#top_program .topbt_stack a::after {
	content: "";
	position: absolute;
	right: 10px;
	top: 50%;
	transform: translateY(-50%);
	width: 8px;
	height: 14px;
	background: url(../img/top/arrow_r_theme.svg) no-repeat center / contain;
}

#top_program .akutagawa_panel .topbt_stack a::after {
	background-image: url(../img/top/arrow_r_akuta.svg);
}

#top_program .special_panel .topbt_stack a::after {
	background-image: url(../img/top/arrow_r_special.svg);
}

#top_program .prog_tl {
	display: block;
	font-size: 23px;
	font-weight: bold;
	line-height: 1.25;
	letter-spacing: 0.02em;
	text-align: left;
	flex: 1;
	min-width: 0;
}

#top_program .prog_day {
	white-space: nowrap;
	text-align: right;
	flex-shrink: 0;
	margin-left: 12px;
}

#top_program .prog_day .prog_d {
	font-family: Arial, sans-serif;
	font-size: 26px;
	font-weight: bold;
	color: var(--color-theme-deep);
	line-height: 1;
}

#top_program .akutagawa_panel .prog_day .prog_d {
	color: var(--color-akutagawa);
}

#top_program .prog_day_blue .prog_d {
	color: var(--color-special);
}

#top_program .prog_day .week {
	font-size: 13px;
	font-weight: bold;
	margin-left: 2px;
	color: var(--color-theme-deep);
}

#top_program .akutagawa_panel .prog_day .week {
	color: var(--color-akutagawa);
}

#top_program .prog_day_blue .week {
	color: var(--color-special);
}

#top_program .akutagawa_panel .topbt_stack a {
	justify-content: flex-end;
	min-height: 56px;
}

/*#top_infoarea-------------------------------------------- */
#summerfes_contents #top_infoarea {
	background: var(--color-bg-light-gray);
}

#top_infoarea #news .info_left {
	background: var(--color-white);
	overflow-x: hidden;
	overflow-y: scroll;
}

#top_infoarea #news .bt_pdf a {
	display: block;
	background-color: var(--color-border);
	text-decoration: none;
	color: var(--sfes-top-color-black);
	background-image: url(../img/top/icon_flyer26.webp), url(../img/icon_pdf.webp);
}

@media screen and (max-width:767px) {

	/*------------------------------------------------------------
[SP] #summer_top
------------------------------------------------------------ */
	#summerfes_contents #top_contents {
		padding: 0;
	}

	#summerfes_contents #top_program {
		padding: 8vw 3.2vw 12vw;
	}

	#summerfes_contents #top_infoarea {
		padding: 12vw 3.2vw;
	}

	/*#main_title-------------------------------------------- */
	#summerfes_contents #main_title {
		width: 100%;
		padding: 53.6vw 0 0;
		background: var(--color-white) url(../img/top/summer_maintl26.svg) no-repeat center top 22.4vw / 96vw;
		position: relative;
	}

	#summerfes_contents #main_title .visiual {
		width: 100%;
		height: 46.875vw;
		background: var(--sfes-top-color-main-visual-bg);
		overflow: hidden;
		position: relative;
	}

	#summerfes_contents #main_title .visiual::before {
		content: "";
		width: 100%;
		height: 46.875vw;
		background: url(../img/top/slide_cover_sp.webp) no-repeat center top / 100%;
		position: absolute;
		top: 0;
		z-index: 10;
	}

	#summerfes_contents #main_title .visiual .area {
		position: absolute;
		width: 100%;
		height: 46.875vw;
	}

	#summerfes_contents #main_title .cover_title_stack {
		margin-left: 0;
		width: 100%;
		max-width: none;
	}

	#summerfes_contents #main_title .cover_pc_head {
		display: block;
	}

	#summerfes_contents #main_title h1 {
		text-indent: 100%;
		white-space: nowrap;
		overflow: hidden;
		font-size: 0px;
		line-height: 1;
		color: var(--color-white);
	}

	#summerfes_contents #main_title .cover_mark {
		display: block;
		position: absolute;
		top: calc(24 * var(--vw-unit));
		margin: 0;
		z-index: 20;
		right: calc(90 * var(--vw-unit));
	}

	#summerfes_contents #main_title .cover_mark img {
		display: block;
		width: 100%;
		height: calc(60 * var(--vw-unit));
		width: auto;
	}

	#summerfes_contents #main_title .cover_hall40 {
		display: block;
		position: absolute;
		top: calc(20 * var(--vw-unit));
		margin: 0;
		z-index: 20;
		right: calc(15 * var(--vw-unit));
	}

	#summerfes_contents #main_title .cover_hall40 img {
		display: block;
		width: 100%;
		height: calc(68 * var(--vw-unit));
		width: auto;
	}

	#summerfes_contents #main_title .release_date {
		display: block;
		margin: 0;
		padding: 4vw 4vw 0;
		background-color: var(--color-program-bg);
	}

	#summerfes_contents #main_title .release_date dt {
		display: inline-block;
		width: 28vw;
		margin: 0 2.4vw 0 0;
		padding: 2.133333333vw 0;
		font-size: 3.2vw;
		font-weight: 600;
		line-height: 1;
		text-align: center;
		background: var(--color-white);
		border-radius: 4vw;
	}

	#summerfes_contents #main_title .release_date dd {
		display: inline-block;
		padding: 1.6vw 0;
		font-size: 3.733333333vw;
		font-weight: normal;
		font-weight: 600;
	}

	/*top_program-------------------------------------------- */
	#top_program .top_program_grid {
		display: flex;
		flex-direction: column;
		gap: 4vw;
		padding: 0;
	}
	#summerfes_contents #top_program .top_program_card {
		border-top-width: calc(6 * var(--vw-unit));
	}

	#top_program figure {
		width: 36vw;
		margin: 0 auto;
	}

	#top_program a figure figcaption.copyright {
		position: absolute;
		right: 2px;
		bottom: 0;
		line-height: 1;
		letter-spacing: 0;
		text-decoration: none;
	}

	#top_program .program_card_hero {
		flex-direction: column;
		align-items: center;
		text-align: center;
		padding: 4vw 3.2vw 2.4vw;
		gap: 2.4vw;
	}

	#top_program .theme_panel .program_card_title_link,
	#top_program .akutagawa_panel .program_card_title_link {
		width: 100%;
		height: auto;
		padding: 0;
	}

	#top_program .theme_panel .program_card_title_link>img,
	#top_program .akutagawa_panel .program_card_title_link>img {
		width: 100%;
		height: auto;
	}

	#top_program .topbt_stack {
		padding: 0 3.2vw 3.2vw;
		gap: 2.4vw;
	}

	#top_program .topbt_stack>li>a {
		display: flex;
		flex-flow: row nowrap;
		justify-content: flex-start;
		align-items: center;
		gap: 0;
		min-height: auto;
		padding: 3.2vw;
	}

	#top_program .top_program_card .topbt_stack>li>a>.prog_tl {
		flex: 0 0 calc(219 * var(--vw-unit));
		width: calc(219 * var(--vw-unit));
		max-width: calc(219 * var(--vw-unit));
		min-width: 0;
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		justify-content: center;
	}

	#top_program .topbt_stack a::after {
		width: 1.866666667vw;
		right: 1.6vw;
		background-size: 1.866666667vw;
	}

	#top_program .topbt_stack .topbt_title_pc {
		display: none;
	}

	#top_program .top_program_card .topbt_stack .topbt_title_sp {
		display: block;
		width: 100%;
		height: auto;
	}

	#top_program .topbt_stack .prog_day {
		flex: 1 1 auto;
		width: auto;
		max-width: none;
		min-width: 0;
		margin-left: auto;
		display: flex;
		justify-content: flex-end;
		align-items: center;
		white-space: nowrap;
		text-align: right;
	}

	#top_program .prog_day .prog_d {
		font-size: 5.333333333vw;
		display: inline-block;
		position: relative;
		z-index: 0;
	}

	#top_program .prog_day .week {
		font-size: 3.466666667vw;
		display: inline-block;
		margin-left: calc(-6 * var(--vw-unit));
		position: relative;
		z-index: 1;
	}

	#top_program .top_program_card {
		border-top-width: 1.333333333vw;
		box-shadow: 0 0 2.4vw 0 rgba(0, 0, 0, 0.12);
		padding: 4.8vw 3.2vw 3.2vw;
	}

	#top_program .akutagawa_panel .akutagawa_panel_right {
		display: flex;
		flex-direction: column;
		gap: calc(15 * var(--vw-unit));
	}

	#top_program .akutagawa_panel .topbt_stack {
		width: calc(150 * var(--vw-unit));
		margin: 0 auto;
	}

	#top_program .akutagawa_panel .topbt_stack a {
		width: 100%;
		justify-content: center;
		margin: 0 auto;
	}

	#top_program .akutagawa_panel .topbt_stack .prog_day {
		flex: 0 0 auto;
		width: auto;
		max-width: none;
		margin: 0 auto;
		justify-content: center;
		text-align: center;
	}

	#top_infoarea #schedule .grid.schedule_fig_grid {
		flex-direction: column;
		gap: 8vw;
	}

	#top_infoarea #schedule .schedule_col {
		max-width: none;
		width: 100%;
	}

	#top_infoarea #schedule .schedule_col_right .block_akuta {
		margin-bottom: 6vw;
	}

	/*top_topics-------------------------------------------- */
	#top_infoarea {
		padding-top: 12vw;
	}

	#top_infoarea h3.h3normal {
		margin: 0 0 4vw 0;
		font-size: 5.6vw;
		display: block;
		font-weight: bold;
	}

	#top_infoarea #news {
		margin-bottom: 16vw;
	}

	#top_infoarea #news .grid {
		flex-flow: row wrap;
		justify-content: center;
	}

	#top_infoarea #news .info_left {
		width: 100%;
		min-height: 56vw;
		max-height: 90vw;
		margin-bottom: 12vw;
		padding: 0 4vw 2.4vw;
	}

	#top_infoarea #news .info_left .news_list {
		width: 100%;
		margin: 4vw 0 0;
	}

	#top_infoarea #news .info_left .news_list dt {
		width: 100%;
		margin: 0 0 2.4vw;
		font-size: 3.46666667vw;
		line-height: 1.5;
	}

	#top_infoarea #news .info_left .news_list dd {
		width: 100%;
		margin: 0 0 6.4vw;
		padding: 0;
		font-size: 3.46666667vw;
		line-height: 1.5;
	}

	#top_infoarea #news .bt_pdf {
		width: 100%;
		display: table;
	}

	#top_infoarea #news .bt_pdf a {
		width: 80vw;
		height: 20vw;
		margin: 0 auto;
		padding: 5vw 0 0 4vw;
		font-size: 3.46666667vw;
		line-height: 1.5;
		text-align: center;
		border-radius: 1vw;
		background-repeat: no-repeat;
		background-position: left 5.6vw center, right 5.6vw center;
		background-size: 10.4vw, 5.6vw;
		box-shadow: 0.4vw 0.4vw 1.6vw 0 rgba(0, 0, 0, .1);
	}

	#top_infoarea #news .bt_pdf a .smalltxt {
		font-size: 3.2vw;
	}

	#top_infoarea #schedule {
		margin-bottom: 12vw;
	}

	/*トップ　公演スケジュール*/
	section#top_infoarea #schedule {
		margin-bottom: 12vw;
	}

	section#top_infoarea #schedule .h3normal {
		margin-bottom: 3.2vw;
		font-weight: normal;
	}

	section#top_infoarea #schedule p.h3subtxt {
		display: block;
		text-indent: -0.75em;
		margin-left: 0.75em;
		line-height: 1.5;
	}

	section#top_infoarea #schedule p.forcustomers {
		margin: 4vw 0 8vw;
		font-size: 3.466666667vw;
		line-height: 1.7;
	}

	section#top_infoarea #schedule .grid {
		display: block;
	}

	section#top_infoarea #schedule .grid .block {
		width: 100%;
	}

	section#top_infoarea #schedule .grid .block h4 {
		font-size: 4.8vw;
		line-height: 1.5;
		margin: 6.4vw 0 0;
	}

	section#top_infoarea #schedule .grid .block h4 .text_sm {
		font-size: 3.73333333vw;
		margin-right: 1.6vw;
	}

	section#top_infoarea #schedule ul.schedule_list {
		display: flex;
		flex-flow: column nowrap;
		justify-content: center;
		align-content: center;
	}

	section#top_infoarea #schedule .grid .block h4.schedule_tl_akuta {
		font-size: 4vw;
	}

	section#top_infoarea #schedule .schedule_list li {
		display: table;
		width: 100%;
		margin-top: 4vw;
		box-shadow: 0 0 2.4vw 0 rgba(0, 0, 0, 0.12);
	}

	section#top_infoarea #schedule .schedule_list li a {
		display: table-cell;
		padding: 1.866666667vw 3.2vw;
		font-size: 3.73333333vw;
		line-height: 1.5;
		color: var(--sfes-top-color-black);
		vertical-align: middle;
		text-decoration: none;
		border-left: 1.333333333vw solid var(--color-border);
		background: var(--color-white);
	}

	section#top_infoarea #schedule .schedule_list.theme li a {
		border-left-color: var(--color-theme);
	}

	section#top_infoarea #schedule .schedule_list.akuta li a {
		border-left-color: var(--color-akutagawa);
	}

	section#top_infoarea #schedule .schedule_list.schedule_blue li a {
		border-left-color: var(--color-special);
	}

	section#top_infoarea #schedule .schedule_list li a .date {
		display: block;
		font-size: 3.73333333vw;
	}

	/*トップ　主催*/
	#top_infoarea #host {
		border-top: 1px solid var(--sfes-top-color-border-light);
		padding: 4vw 0 0;
	}

	#top_infoarea #host p {
		font-size: 3.2vw;
		margin-bottom: 4vw;
	}

	#top_infoarea #host .grid {
		display: block;
		position: relative;
		padding: 0 0 0 9.6vw;
	}

	#top_infoarea #host .grid>p {
		margin: 0;
		position: absolute;
		left: 0;
		top: 0;
	}

	#top_infoarea #host .bunka,
	#top_infoarea #host .act {
		display: flex;
		flex-flow: row nowrap;
		justify-content: flex-start;
		align-items: center;
		margin: 0 0 4vw;
	}

	#top_infoarea #host .bunka figure,
	#top_infoarea #host .act figure {
		display: block;
		text-align: center;
		width: 24.8vw;
	}

	#top_infoarea #host .bunka img {
		width: 70%;
	}

	#top_infoarea #host .bunka p,
	#top_infoarea #host .act p {
		margin: 0 0 0 3.2vw;
	}

}

@media print,
screen and (min-width: 768px) {


	/*------------------------------------------------------------
[PC]  #main_title
------------------------------------------------------------ */
	#summerfes_contents #main_title {
		display: block;
		overflow: hidden;
		background: var(--sfes-top-color-main-visual-bg);
		position: relative;
		width: 100%;
		min-width: 960px;
	}

	#summerfes_contents #main_title .visiual {
		width: 1460px;
		position: absolute;
		top: 0;
		left: 50%;
		transform: translateX(-50%);
	}

	#summerfes_contents #main_title .visiual .area {
		width: 800px;
		height: 375px;
		position: absolute;
		right: 0;
		overflow: hidden;
	}

	#summerfes_contents #main_title .cover {
		width: 1460px;
		height: 375px;
		position: relative;
		top: 0;
		left: 50%;
		transform: translateX(-50%);
		background: url(../img/top/slide_cover.webp) no-repeat center top / cover;
		display: flex;
		justify-content: flex-start;
		align-items: center;
	}

	#summerfes_contents #main_title .cover_title_stack {
		margin-left: 10.273972602739726%;
		width: 37.671232876712329%;
		max-width: 544px;
		position: relative;
		z-index: 101;
	}

	#summerfes_contents #main_title .cover_pc_head {
		display: flex;
		justify-content: space-between;
		align-items: flex-start;
		width: 100%;
	}

	#summerfes_contents #main_title .cover_mark {
		margin: 10px 0 0;
		flex: 0 0 120px;
	}

	#summerfes_contents #main_title .cover_mark img {
		display: block;
		width: 120px;
		height: auto;
	}

	#summerfes_contents #main_title .cover_release_wrap {
		flex: 1;
		display: flex;
		justify-content: center;
		min-width: 0;
		padding: 0 6px;
	}

	#summerfes_contents #main_title .cover_hall40 {
		margin: 0;
		flex: 0 0 107px;
	}

	#summerfes_contents #main_title .cover_hall40 img {
		display: block;
		width: 107px;
		height: auto;
	}

	#summerfes_contents #main_title .release_date {
		display: grid;
		grid-template-columns: 110px 1fr;
		column-gap: 10px;
		row-gap: 15px;
		width: 305px;
		max-width: 100%;
		margin: 25px 0 0;
		padding: 0;
		position: static;
		transform: none;
		z-index: auto;
	}

	#summerfes_contents #main_title .release_date dt {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 110px;
		margin: 0;
		padding: 5px 0;
		min-height: 23px;
		box-sizing: border-box;
		font-size: 13px;
		font-weight: bold;
		line-height: 1;
		text-align: center;
		background: var(--color-border);
		border-radius: 11px;
	}

	#summerfes_contents #main_title .release_date dd {
		display: flex;
		align-items: center;
		margin: 0;
		padding: 0;
		font-size: 13px;
		font-weight: bold;
		letter-spacing: 0.02em;
	}

	#summerfes_contents #main_title h1 {
		display: block;
		margin: 9px 0 0;
		width: 100%;
		max-width: 524px;
		font-size: 0;
		line-height: 0;
		z-index: 100;
		position: relative;
		text-indent: 0;
		white-space: normal;
		overflow: visible;
		color: transparent;
	}

	#summerfes_contents #main_title h1 img {
		display: block;
		width: 100%;
		max-width: 524px;
		height: auto;
	}

	/*------------------------------------------------------------
[PC]  #top_program
------------------------------------------------------------ */
	#summerfes_contents #top_program {
		padding: 50px 10px 70px;
		position: relative;
	}

	#summerfes_contents #top_infoarea {
		padding: 60px 10px 0;
		margin: 0;
	}

	#summerfes_contents #top_program .top_program_grid {
		margin-top: 10px;
		max-width: 1160px;
		margin-left: auto;
		margin-right: auto;
		display: grid;
		grid-template-columns: 1fr 1fr;
		grid-template-areas:
			"theme akutagawa"
			"theme special";
		gap: 20px;
		align-items: start;
	}

	#summerfes_contents #top_program .top_program_card {
		box-shadow: 0 0 4px 0 rgba(0, 0, 0, 0.15);
		min-width: 0;
	}
	
	#summerfes_contents #top_program .top_program_card {
		border-top-width: 6px;
	}

	#summerfes_contents #top_program .theme_panel,
	#summerfes_contents #top_program .akutagawa_panel {
		padding: 19px 15px 15px;
	}

	#top_program .theme_panel {
		grid-area: theme;
	}

	#top_program .akutagawa_panel {
		grid-area: akutagawa;
	}

	#top_program .special_panel {
		grid-area: special;
	}

	#top_program figure {
		width: 135px;
		flex-shrink: 0;
		position: relative;
		margin: 0;
	}

	#top_program a figure figcaption.copyright {
		position: absolute;
		right: 2px;
		bottom: 1px;
		line-height: 1;
		text-decoration: none;
	}

	#top_program .theme_panel .program_card_hero figure figcaption {
		color: var(--color-white);
		background: rgba(0, 0, 0, 0.8);
	}

	#top_program .akutagawa_panel.top_program_card {
		display: flex;
		align-items: stretch;
		gap: 7px;
	}

	#top_program .akutagawa_panel .program_card_hero_akuta_figure {
		display: block;
		width: 135px;
		padding: 0;
		margin: 0;
	}

	#top_program .akutagawa_panel .program_card_hero_akuta_figure figure img {
		width: 135px;
		height: 160px;
		display: block;
	}

	#top_program .akutagawa_panel .akutagawa_panel_right {
		width: 398px;
		flex: 0 0 398px;
		min-width: 0;
		display: flex;
		flex-direction: column;
		gap: 7px;
	}

	/* Figma PC spec: top program buttons unified height */
	#top_program .theme_panel .topbt_stack .bt01 a {
		height: 80px;
	}

	#top_program .akutagawa_panel .topbt_stack a {
		width: 140px;
		height: 58px;
		margin-left: auto;
		padding: 10px 30px 10px 14px;
	}

	#top_program .theme_panel .topbt_stack .bt02 a,
	#top_program .theme_panel .topbt_stack .bt03 a,
	#top_program .special_panel .topbt_stack li:last-child a {
		height: 75px;
	}

	#top_program .special_panel .topbt_stack li:first-child a {
		height: 85px;
	}

	#top_program .theme_panel .topbt_stack .bt01 .prog_tl img {
		height: 46px;
		width: auto;
	}

	#top_program .theme_panel .topbt_stack .bt02 .prog_tl img,
	#top_program .theme_panel .topbt_stack .bt03 .prog_tl img {
		height: 23px;
		width: auto;
	}

	#top_program .special_panel .topbt_stack li:first-child .prog_tl img {
		height: 45px;
		width: auto;
	}

	#top_program .special_panel .topbt_stack li:last-child .prog_tl img {
		height: 23px;
		width: auto;
	}

	#top_program .topbt_title_sp {
		display: none;
	}

	#top_program .topbt_title_pc {
		display: block;
	}

	/*トップ　公演スケジュール（Figma 2カラム）*/
	#top_infoarea #schedule .grid.schedule_fig_grid {
		display: flex;
		flex-flow: row nowrap;
		justify-content: space-between;
		align-content: flex-start;
		gap: 60px;
	}

	#top_infoarea #schedule .schedule_col {
		flex: 0 0 550px;
		width: 550px;
		min-width: 0;
		max-width: 550px;
	}

	#top_infoarea #schedule .schedule_col_right .block_akuta {
		margin-bottom: 40px;
	}

	#top_infoarea #schedule .schedule_heading_theme .text_sm {
		font-size: 16px;
		margin-right: 8px;
	}

	#top_infoarea #schedule .schedule_heading_theme {
		font-size: 22px;
		line-height: 1.35;
	}

	#top_infoarea #schedule .block_blue_stack h4 {
		display: none;
	}

	#top_infoarea #schedule .block_blue_stack .schedule_list li+li {
		margin-top: 15px;
	}


	/*top_topics-------------------------------------------- */
	#top_infoarea h3.h3normal {
		margin: 0;
		font-size: 28px;
		line-height: 1;
	}

	#top_infoarea #news {
		margin-bottom: 80px;
	}

	#top_infoarea #news .grid {
		margin-top: 40px;
		display: flex;
		flex-flow: row nowrap;
		justify-content: space-between;
		align-items: flex-end;
	}

	#top_infoarea #news .info_left {
		width: 60.344827586206897%;
		min-height: 180px;
		max-height: 250px;
		padding: 0 10px 10px 20px;
	}

	#top_infoarea #news .info_left .news_list {
		width: 100%;
		margin: 15px 0 0;
		display: flex;
		flex-flow: row wrap;
		justify-content: flex-start;
		align-items: flex-start;
	}

	#top_infoarea #news .info_left .news_list dt {
		width: 70px;
		margin: 0 0 5px;
	}

	#top_infoarea #news .info_left .news_list dd {
		width: calc(100% - 80px);
		margin: 0 0 15px;
		padding: 0;
	}

	#top_infoarea #news .bt_pdf {
		width: 34.482758620689655%;
	}

	#top_infoarea #news .bt_pdf a {
		width: 100%;
		height: 100px;
		padding: 30px 10px 30px 40px;
		line-height: 1.5;
		text-align: center;
		border-radius: 5px;
		background-repeat: no-repeat;
		background-position: left 40px center, right 40px center;
		background-size: 53px, 29px;
		box-shadow: 1px 1px 6px 0 rgba(0, 0, 0, .1);
	}

	#top_infoarea #news .bt_pdf a:hover {
		text-decoration: underline;
		background-color: var(--sfes-top-color-pdf-hover);
	}

	#top_infoarea #news .bt_pdf a .smalltxt {
		font-size: 14px;
	}

	/*トップ　公演スケジュール*/
	#top_infoarea #schedule {
		margin-bottom: 50px;
	}

	#top_infoarea #schedule .h3normal {
		display: inline-block;
	}

	#top_infoarea #schedule p.h3subtxt {
		display: inline-block;
		margin-left: 30px;
	}

	/*トップ　公演スケジュール TABLE*/
	#top_infoarea #schedule .grid.schedule_fig_grid {
		margin-top: 30px;
		width: 100%;
	}

	#top_infoarea #schedule .grid.schedule_fig_grid .block {
		width: 100%;
		max-width: none;
		position: relative;
	}

	#top_infoarea #schedule .grid.schedule_fig_grid .block h4 {
		font-size: 22px;
		line-height: 1.5;
		margin-bottom: 10px;
		position: relative;
	}

	#top_infoarea #schedule .grid.schedule_fig_grid .block h4 .text_sm {
		font-size: 16px;
		margin-right: 10px;
	}

	#top_infoarea #schedule .schedule_list {
		width: 100%;
	}

	#top_infoarea #schedule .grid.schedule_fig_grid .block h4.schedule_tl_akuta {
		font-size: 20px;
	}

	#top_infoarea #schedule .schedule_list li {
		width: 100%;
		box-shadow: 0 0 4px 0 rgba(0, 0, 0, 0.15);
	}

	#top_infoarea #schedule .schedule_list li+li {
		margin-top: 15px;
	}

	#top_infoarea #schedule .schedule_list li a {
		display: flex;
		flex-flow: column nowrap;
		justify-content: center;
		align-items: flex-start;
		width: 100%;
		min-height: 65px;
		padding: 10px 20px;
		font-size: 16px;
		line-height: 1.5;
		color: var(--sfes-top-color-black);
		text-decoration: none;
		border-left: 6px solid var(--color-border);
		background: var(--color-white);
		box-sizing: border-box;
	}

	#top_infoarea #schedule .schedule_list.theme li a {
		border-left-color: var(--color-theme);
	}

	#top_infoarea #schedule .schedule_list.akuta li a {
		border-left-color: var(--color-akutagawa);
	}

	#top_infoarea #schedule .schedule_list.schedule_blue li a {
		border-left-color: var(--color-special);
	}

	#top_infoarea #schedule .schedule_list li a:hover,
	#top_infoarea #schedule .schedule_list li a:hover span {
		text-decoration: underline;
	}

	#top_infoarea #schedule .schedule_list li a .add_text {
		display: inline-block;
		font-size: 13px;
	}

	#top_infoarea #schedule .schedule_list li a .date {
		display: block;
		font-size: 15px;
	}

	#top_infoarea #schedule .schedule_list.theme li a:hover {
		background-color: var(--color-theme-hover-bg);
	}

	#top_infoarea #schedule .schedule_list.akuta li a:hover {
		background-color: var(--color-akutagawa-hover-bg);
	}

	#top_infoarea #schedule .schedule_list.schedule_blue li a:hover {
		background-color: var(--color-special-hover-bg);
	}

	/*トップ　主催*/
	#top_infoarea #host {
		border-top: 1px solid var(--sfes-top-color-border-light);
		border-bottom: 1px solid var(--sfes-top-color-border-light);
		padding: 30px 0;
	}

	#top_infoarea #host p {
		display: block;
		font-size: 14px;
		margin-bottom: 20px;
	}

	#top_infoarea #host .grid {
		display: flex;
		flex-flow: row nowrap;
		justify-content: flex-start;
		align-items: flex-start;
		gap: 10px;
	}

	#top_infoarea #host .bunka,
	#top_infoarea #host .act {
		display: flex;
		flex-flow: row nowrap;
		justify-content: flex-start;
		align-items: center;
	}

	#top_infoarea #host .act {
		margin-left: 40px;
	}

	#top_infoarea #host .bunka figure,
	#top_infoarea #host .act figure {
		margin: 0 15px 0 0;
	}

	#top_infoarea #host .bunka img,
	#top_infoarea #host .act img {
		height: 55px;
		width: auto;
	}

	#top_infoarea #host .bunka p,
	#top_infoarea #host .act p {
		margin: 0;
	}



}