@charset "UTF-8";
/*----------------------------
	base layout
-----------------------------*/
body {
	position: relative;
}
.nav {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 1rem;
}
.list--nav {
	margin: 0;
	max-width: 75rem;
	width: 96%;
}
.list--nav__item {
	width: calc((100% - 3.75rem)/4);
}
.list--nav__item:nth-child(1) {
	width: calc((100% - 2.5rem)/6);
}
.link--nav {
	white-space: normal;
}
.main {
	padding-top: 14rem;
	position: relative;
}
.main__title {
	text-align: center;
	margin-bottom: 1.25rem;
}
.content__title {
	display: grid;
	gap: 1.25rem 1rem;
	margin-bottom: 6rem;
}
.content__title img {
	margin-left: auto;
}
.content__title .time {
	font-family: var(--ab-omusubi);
	font-size: var(--fs-56);
	display: flex;
	align-items: center;
	grid-row: 1/2;
	grid-column: 2/3;
	line-height: 1;
}
.pink .content__title .time {
	color: var(--pink);
}
.blue .content__title .time {
	color: var(--blue);
}
.green .content__title .time {
	color: var(--green);
}
.content__title .time em {
	font-size: var(--fs-128);
	display: flex;
	align-items: flex-end;
}
.content__title .place {
	grid-row: 2/3;
	grid-column: 1/3;
	max-width: max-content;
	margin: auto;
}
.list--sub {
	max-width: 68.5rem;
	margin-bottom: 6.75rem;
	width: 96%;
}
.list--link {
	max-width: 68.5rem;
	margin-bottom: 6.75rem;
	width: 96%;
}
.link--sub {
	padding: .625rem 3rem .625rem 1.25rem;
}
.text {
	text-align: center;
	font-size: var(--fs-20);
	font-weight: 700;
	line-height: 1.75;
}
.img--auto {
	display: block;
	margin: 0 auto 2rem;
}
/*----------------------------
	ステージ
-----------------------------*/
.sec__text {
	font-size: var(--fs-16);
	letter-spacing: 0.05em;
}
.sec__text.flex {
	justify-content: center;
	align-items: center;
	gap: 1rem;
}
.sec__text.flex .logo {
	width: 2.5rem;
	height: auto;
}
.list--stage {
	max-width: 60.625rem;
	width: 96%;
	margin: 0 auto 2.5rem;
}
.list--stage__item {
	display: flex;
	gap: 3.5rem;
	padding-left: 3rem;
	box-sizing: border-box;
}
.list--stage__item + .list--stage__item {
	margin-top: 1.25rem;
}
.list--stage__item.noimage::before {
	content: "";
	width: 10.5rem;
	height: 10.5rem;
	display: block;
}
.list--stage__item .img__outer {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: .75rem;
	min-width: 10.5rem;
}
.list--stage__item .logo {
	position: absolute;
	top: 0;
	bottom: 0;
	left: -3rem;
	margin: auto;
}
.list--stage .btn {
	background-color: transparent;
	font-weight: 700;
	cursor: pointer;
	display: flex;
	align-items: center;
	gap: .75rem;
}
.list--stage .btn::before {
	content: "";
	width: 1.625rem;
	height: 1.625rem;
	display: block;
	background-repeat: no-repeat;
	background-size: 100%;
}
.pink .list--stage .btn::before {
	background-image: url(../img/icon_plus_pink.png);
}
.blue .list--stage .btn::before {
	background-image: url(../img/icon_plus_blue.png);
}
.green .list--stage .btn::before {
	background-image: url(../img/icon_plus_green.png);
}
.list--stage__item .time {
	font-family: var(--ab-omusubi);
	font-size: var(--fs-64);
	line-height: 1;
	display: flex;
	align-items: center;
	gap: .75rem;
	margin-bottom: .75rem;
}
.pink .list--stage__item .time,
.pink .list--stage__item .event,
.pink .list--stage__item .name,
.pink .list--stage__item .place,
.pink .list--stage__item .btn {
	color: var(--pink);
}
.blue .list--stage__item .time,
.blue .list--stage__item .event,
.blue .list--stage__item .name,
.blue .list--stage__item .place,
.blue .list--stage__item .btn {
	color: var(--blue);
}
.green .list--stage__item .time,
.green .list--stage__item .event,
.green .list--stage__item .name,
.green .list--stage__item .place,
.green .list--stage__item .btn {
	color: var(--green);
}
.list--stage__item .flex {
	align-items: center;
	flex-wrap: wrap;
	align-items: flex-end;
}
.list--stage__item .time__outer {
	align-items: center;
}
.list--stage .place {
	padding: .375rem 2.25rem .25rem;
	border-radius: .375rem;
	margin: 0 0 .75rem 1rem;
	font-size: var(--fs-20);
	font-weight: 700;
	background-color: var(--green);
	color: var(--white)!important;
}
.list--stage__item .name__outer {
	display: flex;
}
.list--stage__item .name {
	font-size: var(--fs-20);
	font-weight: 700;
}
.list--stage__item .name span {
	font-size: var(--fs-10);
	display: block;
}
.list--stage__item .event {
	font-size: var(--fs-24);
	font-weight: 700;
}
.list--stage__item sup {
	font-size: var(--fs-18);
	vertical-align: top;
}
.list--stage__item .event small,
.modal__content .event small {
	font-size: var(--fs-18);
}
.list--stage__item .sentence {
	font-size: var(--fs-18);
	font-weight: 500;
	line-height: 1.75;
}
.list--stage__item .text__outer .c--green {
	font-weight: 700;
}
.sec--stage .list {
	max-width: 62.5rem;
	line-height: 1.75;
	width: 96%;
	margin: auto;
	display: flex;
	gap: 0 1em;
	flex-wrap: wrap;
	margin-top: 1rem;
}
.text__outer .chui_text {
    font-size: var(--fs-12);
    color: var(--red);
}
/* モーダルウィンドウ */
.modal {
	display: none;
	position: fixed;
	z-index: 100;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,0.6);
	justify-content: center;
	align-items: center;
}
.modal__content {
	padding: 4.25rem 2.625rem 3.75rem;
	box-sizing: border-box;
	border-radius: .625rem;
	max-width: 50rem;
	width: 90%;
	box-shadow: 0 5px 15px rgba(0,0,0,0.3);
	box-sizing: border-box;
	position: relative;
}
.pink .modal__content {
	background: url(../img/bg_modal_pink.png) right top / 100% no-repeat,#fff;
}
.blue .modal__content {
	background: url(../img/bg_modal_blue.png) right top / 100% no-repeat,#fff;
}
.green .modal__content {
	background: url(../img/bg_modal_green.png) right top / 100% no-repeat,#fff;
}
.modal__content .flex {
	padding-bottom: 1.25rem;
	margin-bottom: 1.25rem;
	border-bottom: 1px solid var(--brown);
	justify-content: space-between;
}
.modal__content .icon--stage {
	display: flex;
	align-items: center;
	gap: .5rem;
	line-height: 1;
	margin-bottom: 1.25rem;
}
.modal__content .time {
	font-size: var(--fs-24);
	font-family: var(--ab-omusubi);
	display: flex;
	align-items: center;
}
.pink .modal__content .time,
.pink .modal__content .name,
.pink .modal__content .event {
	color: var(--pink);
}
.blue .modal__content .time,
.blue .modal__content .name,
.blue .modal__content .event {
	color: var(--blue);
}
.green .modal__content .time,
.green .modal__content .name,
.green .modal__content .event {
	color: var(--green);
}
.modal__content .time em {
	font-size: var(--fs-60);
}
.modal__content .name {
	font-size: var(--fs-40);
	font-weight: 700;
	letter-spacing: .075em;
	line-height: 1;
	margin-bottom: .5rem;
}
.modal__content .name small {
	display: block;
	font-size: var(--fs-16);
	margin-bottom: .5rem;
}
.modal__content .name span {
	font-size: var(--fs-16);
	letter-spacing: .3em;
	display: inline-block;
}
.modal__content .event {
	font-size: var(--fs-24);
	font-weight: 700;
	margin-bottom: .5rem;
}
.modal__content .sentence {
	font-size: var(--fs-20);
	font-weight: 700;
}
.modal__content .chui_text {
    font-size: var(--fs-12);
    color: var(--red);
}
.modal__content .text__outer {
	font-size: var(--fs-18);
	line-height: 2;
	margin-bottom: 1.25rem;
}
.modal__content .img {
	margin: auto;
}
.modal__content .logo {
	position: absolute;
	bottom: 1rem;
	right: -1.875rem;
}
.blue .modal__content .logo {
	top: 0;
	bottom: 0;
	left: -2.8125rem;
	right: auto;
	margin: auto;
}
.close {
	font-size: 24px;
	cursor: pointer;
}
.close--times {
	position: absolute;
	top: 1.5rem;
	right: 1.75rem;
	background-color: transparent;
}
.close--btn {
	background: var(--white);
    color: var(--black);
    border: solid .25rem var(--brown);
    border-radius: .5rem;
    box-shadow: .25rem .25rem 0 var(--brown);
    font-size: var(--fs-20);
    font-weight: 700;
    line-height: 1.75;
    letter-spacing: .1em;
    padding: .625rem 4rem .625rem;
    box-sizing: border-box;
	display: block;
	margin: auto;
}
/* 体験コーナー */
.list--column--2 {
	display: flex;
	gap: 2rem;
	justify-content: center;
	margin-top: 2rem;
}
.sec--experience .sentence {
	text-align: center;
	width: 96%;
	margin: 1rem auto 0;
}
.sec--experience .c--green + .c--green {
	margin-top: 1em;
}
.link--nav--footer {
	max-width: max-content;
	margin: auto;
}
.link--nav--footer::after {
	content: none;
}
/*----------------------------
	bg
-----------------------------*/
.circle--l {
	top: 8rem;
	left: 0;
	width: 25.875%;
}
.circle--r {
	bottom: 0;
	right: 0;
	width: 23.875%;
}
.img--bg--r1 {
	top: 10.5rem;
	right: 1.5rem;
	width: 24.666%;
}
.img--bg--r2 {
	bottom: 45rem;
	right: 0;
	width: 23%;
}
.img--bg--l1 {
	bottom: 0;
	left: 0;
	width: 23%;
}
/*----------------------------
	media query
-----------------------------*/
@media screen and (max-width: 1200px){
	.header {
		padding: 1rem 0;
	}
	.nav {
		flex-direction: column;
	}
	.list--nav__item:nth-child(2) img,
	.list--nav__item:nth-child(4) img {
		width: 2.8125rem;
	}
	.list--nav__item:nth-child(3) img {
		width: 3.5rem;
	}
	.link--nav {
		justify-content: center;
        gap: .5rem;
	}
	.link--nav::after {
		content: none;
	}
	.list--sub {
		flex-wrap: wrap;
		max-width: 31.25rem;
	}
	.list--sub__item {
		width: calc((100% - 2.5rem)/2);
	}
	.link--sub {
		padding: .625rem 2.25rem .625rem .9375rem;
	}
	.main__title img {
		width: 21.9375rem;
		height: auto;
	}
	.sec--access {
		padding-bottom: 0;
	}
	.list--stage {
		max-width: max-content;
	}
	.sec--stage .list {
		flex-direction: column;
	}
	.modal__content .time em {
		font-size: var(--fs-90);
	}
	/* 体験コーナー */
	.list--column--2 .img {
        max-width: 15.5rem;
        width: 100%;
        height: auto;
    }
	.link--nav--footer {
		padding: .25rem 1rem;
	}
}
@media screen and (max-width: 767px){
	.list--nav__item {
		width: calc((100% - 1.5rem)/4);
	}
	.list--nav__item:nth-child(2) img,
	.list--nav__item:nth-child(4) img {
        width: 2.25rem;
    }
	.list--nav__item:nth-child(3) img {
		width: 2.8125rem;
	}
	.main {
		padding-top: 15rem;
	}
	.sitetitle img {
		width: 15.625rem;
		height: auto;
	}
	.sec {
		padding: 0 2% 5rem;
		box-sizing: border-box;
	}
	/* mv */
	.main__title img {
		max-width: 17.5rem;
		width: 90%;
	}
	.list--sub__item {
		width: calc((100% - 1rem)/2);
	}
	/* ステージ */
	.list--stage {
		width: 90%;
	}
	.list--stage__item {
		flex-direction: column;
		padding-left: 0;
		gap: 1rem;
	}
	.list--stage__item + .list--stage__item {
		margin-top: 3.75rem;
	}
	.list--stage__item.noimage::before {
		content: none;
	}
	.list--stage__item .img,
	.img--auto {
		max-width: 15.75rem;
		width: 100%;
		height: auto;
	}
	.blue .list--stage__item.flex .img {
		max-width: 10rem;
	}
	.list--stage .btn {
		font-size: 1rem;
	}
	.list--stage__item .time {
		justify-content: center;
	}
	.list--stage .place {
		margin-left: 0;
	}
	.list--stage__item .flex {
		flex-direction: column;
		align-items: center;
	}
	.list--stage__item .event,
	.list--stage__item .text__outer .c--green {
		text-align: center;
	}
	.list--stage__item .sentence {
		max-width: max-content;
		margin-left: auto;
		margin-right: auto;
	}
	.sec--stage .list {
		max-width: max-content;
	}
	/* モーダルウィンドウ */
	.modal {
		padding: 1rem 0;
		box-sizing: border-box;
	}
	.modal__content {
		overflow-y: scroll;
		height: 100%;
		max-height: max-content;
		padding: 3.75rem 1.5rem;
	}
	.close--times {
		top: 1.125rem;
		right: 1.125rem;
	}
	.close--times img {
		width: 2rem;
		height: auto;
	}
	.modal__content .flex {
		flex-direction: column;
		align-items: center;
		gap: 1rem;
	}
	.pink.modal .icon--stage img,
	.green.modal .icon--stage img {
		width: 4rem;
		height: auto;
	}
	.blue.modal .icon--stage img {
		width: 5rem;
		height: auto;
	}
	/* 体験コーナー */
	.list--column--2 {
		gap: 1rem;
    }
	.link--nav--footer {
		font-size: .9375rem;
	}
	/* bg */
	.circle {
		width: 50%;
	}
	.img--bg {
		width: 45%;
	}
}