@charset "utf-8";
body {
	background: url(../img/bg_gradation.png) top center / 100% no-repeat;
	position: relative;
}
.link--nav {
	font-size: var(--fs-18);
	padding: .5rem .75rem .25rem;
}
.main {
	position: relative;
}
/*----------------------------
	main visual
-----------------------------*/
.mv {
	padding-top: 12.75rem;
	padding-bottom: 10rem;
}
.mv::after {
	content: "";
	background: url(../img/bg_mv.png) center / 100% no-repeat;
	aspect-ratio: 1135/888;
	max-width: 70.9375rem;
	height: auto;
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	margin: auto;
	z-index: -1;
}
.mv__title {
	text-align: center;
	margin-bottom: 3rem;
}
.mv__date {
	text-align: center;
	margin-bottom: 6rem;
}
/*----------------------------
	news
-----------------------------*/
.sec--news {
	max-width: 55.625rem;
	padding-bottom: 10rem;
	letter-spacing: .1em;
}
.sec__title--news {
	color: var(--deepblue);
	font-size: var(--fs-36);
	font-weight: 400;
	position: relative;
	text-align: center;
	margin-bottom: 3.75rem;
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.sec__title--news::before,
.sec__title--news::after {
	content: "";
	width: 39%;
	height: .25rem;
	background: var(--deepblue);
}
.list--news__item {
	display: flex;
	font-size: var(--fs-20);
	gap: 1.75rem;
	width: 93.636%;
	margin: auto;
}
.list--news__item + .list--news__item {
	margin-top: .5em;
}
/*----------------------------
	出演者情報
-----------------------------*/
.sec--performer {
	position: relative;
}
.content__text.mb--12 {
	margin-bottom: .75rem;
}
.content__text--sub {
	font-size: var(--fs-26);
	font-weight: 700;
	line-height: 1.384;
	text-align: center;
	color: var(--green);
	position: relative;
	padding: 0 1.75rem;
	box-sizing: border-box;
	max-width: max-content;
	margin: 0 auto 2.5rem;
}
.content__text--sub::before,
.content__text--sub::after {
	content: "";
	width: 2px;
	height: 2rem;
	background-color: var(--green);
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto;
}
.content__text--sub::before {
	left: .625rem;
	transform: rotate(-45deg);
}
.content__text--sub::after {
	right: .625rem;
	transform: rotate(45deg);
}
.sec--performer .content__text {
	letter-spacing: .05em;
}
.list--performer {
	display: flex;
	flex-wrap: wrap;
	gap: 2rem 0;
}
.list--performer.column--2 {
	justify-content: center;
}
.list--performer__item {
	width: calc(100% / 3);
	text-align: center;
}
.list--performer__item.flex {
	width: calc((100% / 3)*2);
	text-align: left;
	justify-content: center;
	align-items: flex-end;
	gap: 2rem;
}
.list--performer__item--link {
	display: flex;
	align-items: flex-end;
	padding-bottom: 1.5625rem;
}
.list--performer__item .pst--rel {
	max-width: max-content;
	margin: auto;
}
.list--performer__item .img {
	margin-bottom: 2rem;
}
.list--performer__item.flex .img {
	margin-bottom: 0;
}
.list--performer__item .logo {
	position: absolute;
	bottom: 0;
	right: 0;
}
.list--performer__item .event {
	font-size: var(--fs-22);
	font-weight: 500;
	line-height: 1.636;
}
.list--performer__item .name {
	font-size: var(--fs-26);
	font-weight: 700;
	line-height: 1.384;
	box-sizing: border-box;
	display: inline-block;
	margin: auto;
}
.pink .list--performer__item .name {
	color: var(--pink);
}
.blue .list--performer__item .name {
	color: var(--blue);
}
.green .list--performer__item .name,
.green .list--performer__item .job {
	color: var(--green);
}
.list--performer__item.flex .name {
	margin-left: 0;
}
.list--performer__item .dec--circle {
	margin-right: .2em;
}
.list--performer__item .name small {
	font-size: var(--fs-22);
	font-weight: 400;
}
.list--performer__item .job {
	font-size: var(--fs-26);
	font-weight: 700;
}
.link--program {
	border: solid .25rem;
	font-size: var(--fs-20);
	font-weight: 700;
	position: relative;
	display: flex;
	align-items: center;
	border-radius: .625rem;
	box-sizing: border-box;
	padding: .25rem 5rem .25rem 2.5rem;
	position: relative;
	max-width: max-content;
}
.pink .link--program {
	border-color: var(--pink);
	color: var(--pink);
}
.blue .link--program {
	border-color: var(--blue);
	color: var(--blue);
}
.green .link--program {
	border-color: var(--green);
	color: var(--green);
	margin-left: auto;
}
.link--program::after {
	content: "";
	aspect-ratio: 36 / 11;
	width: 2.5rem;
	height: 100%;
	mask: url(../img/icon_arrow_r.png) no-repeat center / 100%;
    -webkit-mask: url(../img/icon_arrow_r.png) no-repeat center / 100%;
	position: absolute;
	top: 0;
	bottom: 0;
	right: .5rem;
	margin: auto;
}
.pink .link--program::after {
	background-color: var(--pink);
}
.blue .link--program::after {
	background-color: var(--blue);
}
.green .link--program::after {
	background-color: var(--green);
}
.link--program span {
	margin-left: .25rem;
	padding-top: .25rem;
}
.green .flex {
	justify-content: center;
	align-items: center;
	font-size: var(--fs-24);
	gap: 1rem;
	margin-top: 4.8125rem;
}
.circle--l {
	left: 0;
	top: -4.5rem;
	width: 26.291%;
}
.circle--r {
	right: 0;
	bottom: 27.5rem;
	width: 25.958%;
}
/*----------------------------
	開催概要
-----------------------------*/
.sec--event {
	position: relative;
}
.sec--event .inner {
	max-width: 87.5rem;
}
.sec--event .content__text {
	font-size: var(--fs-24);
	font-weight: 400;
	line-height: 2.1666;
}
.content__text span {
	display: inline-block;
}
.sec--event .flex {
	justify-content: space-between;
}
.tbl {
	font-size: var(--fs-20);
	border-collapse: separate;
	border-spacing: 0 .75rem;
}
.tbl__head {
	background-color: #dbdcdc;
	padding: .125rem 1.5rem;
	text-align: center;
	vertical-align: middle;
	font-weight: 400;
	min-width: 8.75rem;
	box-sizing: border-box;
}
.tbl__data {
	padding: .125rem .75rem;
	box-sizing: border-box;
}
.tbl__data li + li {
	margin-top: .625rem;
}
.btn--flyer {
	background-color: transparent;
	cursor: pointer;
	display: flex;
	align-items: flex-start;
	padding: 0;
	max-width: 25rem;
	gap: 1.4375rem;
	transition: .3s;
}
.btn--flyer:hover {
	opacity: .6;
}
.btn--flyer .text__outer {
	text-align: left;
	font-size: var(--fs-16);
	line-height: 2;
}
.btn--flyer .icon--download {
	font-size: var(--fs-20);
	font-weight: 700;
	padding-left: 2rem;
	position: relative;
	display: block;
}
.green .caution{
	margin-bottom: 5rem;
	margin-top: 1rem;
}
/*----------------------------
	過去の様子
-----------------------------*/
.sec--movie {
	font-size: var(--fs-24);
	text-align: center;
}
.sec--movie .sec__text {
	margin-bottom: 2.5rem;
	line-height: 2.1666;
}
.movie {
	aspect-ratio: 768/432;
	max-width: 48rem;
	width: 100%;
	margin: 0 auto 7.5rem;
}
.movie iframe {
	width: 100%;
	height: 100%;
}
.link--sns {
	font-size: var(--fs-24);
	color: var(--black);
	display: flex;
	align-items: center;
	padding: 1.5rem 4rem;
	border: max(.0625rem, 1px) solid #888;
	max-width: max-content;
	margin: auto;
	line-height: 2.1666;
}
.link--sns::before {
	content: "";
	background: url(../img/icon_instagram.png) center / 100% no-repeat;
	width: 3.125rem;
	height: 3.125rem;
	display: block;
	margin-right: 1.5rem;
}
.link--sns span {
	margin: 0 .5em;
}
/*----------------------------
	託児利用について
-----------------------------*/
.sec--child {
	font-size: var(--fs-24);
	text-align: center;
}
.sec--child .sec__text {
	line-height: 2.1666;
}
.sec--child .c--red {
	font-size: var(--fs-18);
	line-height: 2.222;
	letter-spacing: .1em;
}
.pl--1em {
	padding-left: 1em;
}
/*----------------------------
	情報保障について
-----------------------------*/
.sec--information {
	font-size: var(--fs-24);
	text-align: center;
}
.sec--information .sec__text {
	line-height: 2.1666;
}
/*----------------------------
	お問い合わせ
-----------------------------*/
.sec--contact .flex {
	line-height: 1;
	flex-wrap: wrap;
	justify-content: space-between;
	max-width: 73.75rem;
	letter-spacing: .1em;
}
.content--contact {
	width: 47.457%;
}
.content--contact__title {
	font-size: var(--fs-20);
	font-weight: 400;
	border-bottom: max(.0625rem,1px) solid var(--black);
	padding-left: 3rem;
	box-sizing: border-box;
	position: relative;
	padding-bottom: 1rem;
}
.content--contact__title::before {
	content: "";
	background: url(../img/icon_info.png) center / 100% no-repeat;
	width: 2.5rem;
	height: 2.5rem;
	position: absolute;
	top: -.625rem;
	left: 0;
}
.content--contact__name {
	font-size: var(--fs-24);
	font-weight: 700;
	margin-top: 1rem;
	margin-bottom: 1.25rem;
}
.content--contact__info {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 1.5rem;
}
.content--contact__info a {
	font-size: var(--fs-24);
	color: var(--black);
}
.content--contact__info a + a {
	margin-top: .5em;
	font-size: var(--fs-18);
}
/*----------------------------
	注意事項
-----------------------------*/
.sec--notice {
	text-align: center;
}
.sec--notice .sec__text {
	font-size: var(--fs-24);
	line-height: 2.5;
}
.sec--notice .list {
	font-size: var(--fs-18);
	line-height: 2.222;
	letter-spacing: .1em;
}
/*----------------------------
	bubble
-----------------------------*/
.circle--l2 {
	left: 0;
	bottom: 137.5rem;
	width: 25.875%;
}
.circle--r2 {
	right: 0;
	bottom: 0;
	width: 29.166%;
}
.img--bg--r1 {
	right: 0;
	top: 16.375rem;
	width: 24.666%;
}
.img--bg--r2 {
	right: 0;
	bottom: 34.5rem;
	width: 21.833%;
}
.img--bg--r3 {
	right: 0;
	bottom: -4rem;
	width: 24.666%;
}
.img--bg--r4 {
	right: 0;
	bottom: 108.75rem;
	width: 24.666%;
}
.img--bg--l1 {
	left: 1.625rem;
	top: 50.3125rem;
	width: 23%;
}
.img--bg--l2 {
	left: 0;
	bottom: 0;
	width: 24.666%;
}
.img--bg--l3 {
	left: 0;
	top: 3rem;
	width: 24%;
}
.img--bg--l4 {
	bottom: 0;
	left: 0;
	width: 23%;
}
/*----------------------------
	media query
-----------------------------*/
@media screen and (max-width: 1200px){
	/* mv */
	.mv {
		padding-bottom: 8rem;
	}
	.mv__title {
		margin-bottom: 2.375rem;
	}
	.mv__title img {
		max-width: 34.125rem;
		width: 100%;
		height: auto;
	}
	.mv__date {
		margin-bottom: 4.8125rem;
	}
	.mv__date img {
		max-width: 28.5rem;
		width: 90%;
		height: auto;
	}
	/* news */
	.sec__title--news::before, .sec__title--news::after {
		height: .1875rem;
	}
	/* 出演者情報　*/
	.list--performer {
		gap: 2rem 1rem;
	}
	.list--performer__item {
		width: calc((100% - 2rem)/3);
	}
	.list--performer__item.flex {
		width: 100%;
	}
	.list--performer__item--link {
		margin-left: auto;
	}
	.list--performer__item .img {
		max-width: 15.5rem;
		width: 100%;
		height: auto;
	}
	.blue .list--performer__item.flex .img {
		max-width: 10rem;
	}
	.list--performer__item .name::before {
		width: 1.125rem;
		height: 1.125rem;
		top: .125rem;
	}
	.list--performer__item .logo {
		width: 4.25rem;
		height: auto;
		bottom: 1.5rem;
	}
	.link--program {
		padding: .25rem 3.75rem .25rem 1.875rem;
	}
	.link--program::after {
		width: 1.6875rem;
	}
	.green .flex .logo {
		width: 4.25rem;
		height: auto;
	}
	/* 開催概要 */
	.sec--event .flex {
		flex-direction: column;
		align-items: flex-start;
		gap: 2rem;
		max-width: max-content;
		margin: auto;
	}
	.tbl__head {
		min-width: 6.5625rem;
		padding: .125rem 1.125rem;
	}
	.btn--flyer:hover {
		opacity: 1;
	}
	/* アクセス */
	.sec--access .content {
		padding-bottom: 5.75rem;
	}
	/* 過去の様子 */
	.link--sns {
		padding: 1.125rem 3rem;
	}
	.link--sns::before {
		width: 2.375rem;
		height: 2.375rem;
	}
	/* お問い合わせ */
	.content--contact__info {
		flex-direction: column;
		align-items: flex-start;
		gap: 1em;
	}
	.content--contact__info p {
		font-size: 1.1875rem;
	}
}
@media screen and (max-width: 767px){
	body {
		background: url(../img/bg_gradation_sp.png) top center / 100% no-repeat
	}
	.list--sub {
		flex-direction: column;
	}
	.mv {
		padding-top: 11.25rem;
		position: relative;
	}
	.mv::after {
		aspect-ratio: 852/768;
		background: url(../img/bg_mv_sp.png) center / 100% no-repeat;
		bottom: 0;
		margin: auto;
		transform: translateY(-22%);
	}
	/* news */
	.sec--news {
		padding-bottom: 8rem;
	}
	.sec__title--news {
		margin-bottom: 3rem;
	}
	.sec__title--news::before,
	.sec__title--news::after {
		height: 2px;
	}
	.list--news__item {
		gap: 1.25rem;
	}
	/* 出演者情報 */
	.list--performer__item,
	.list--performer__item.flex {
		width: calc((100% - 1rem)/2);
	}
	.list--performer__item.flex {
		flex-direction: column;
		gap: 1.5625rem;
		align-items: center;
	}
	.list--performer__item .img__outer {
		aspect-ratio: 1/1;
		max-width: 15.5rem;
		display: flex;
		align-items: center;
		justify-content: center;
		width: 100%;
		overflow: hidden;
	}
	.list--performer__item .img {
		margin-bottom: 1.5625rem;
	}
	.pink .list--performer__item.flex .img {
		width: 100%;
	}
	.list--performer__item.flex .img {
		width: calc((100% - 1rem)/3);
	}
	.blue .list--performer__item.flex .img {
		height: 100%;
		width: auto;
		object-fit: cover;
	}
	.list--performer__item .event,
	.list--performer__item .name small {
		font-size: .875rem;
	}
	.list--performer__item .name,
	.list--performer__item .job {
		font-size: 1rem;
	}
	.list--performer__item--link,
	.green .link--program {
		margin-right: auto;
	}
	/* 開催概要 */
	.btn--flyer {
		flex-direction: column;
		align-items: center;
		width: 100%;
		max-width: none;
	}
	/* アクセス */
	.sec--access .content {
		padding-bottom: 4.5625rem;
	}
	/* 過去の様子 */
	.movie {
		margin-bottom: 6rem;
	}
	.link--sns {
		padding: .875rem 1.5rem;
	}
	.link--sns::before {
		margin-right: .75rem;
		width: 1.875rem;
		height: 1.875rem;
	}
	/* 託児利用について */
	.pl--1em {
		padding-left: 0;
	}
	/* お問い合わせ */
	.sec--contact .flex {
		flex-direction: column;
		gap: 3rem;
	}
	.content--contact {
		width: 88%;
		margin: auto;
	}
	.content--contact__name {
		line-height: 1.5;
	}
	.content--contact__info p {
		font-size: 1.125rem;
	}
	/* bg */
	.circle,
	.img--bg {
		width: 50%;
	}
	.circle--r {
		bottom: 62.5rem;
	}
}