@charset "utf-8";
/*------------------------------------------------------------
	index
------------------------------------------------------------*/
#main {
	padding-bottom: 5.4rem;
	overflow: hidden;
}
#main .mainVisual {
	margin-bottom: 4.7rem;
	border-top: 1px solid #fff;
}
#main .mainVisual img {
	width: 100%;
}
#main .mainVisual .textBox {
	padding: 2.5% 2% 2%;
	text-align: center;
	background : linear-gradient(130deg, rgba(230, 0, 31, 1) 0%, rgba(215, 0, 25, 1) 40.37%, rgba(191, 0, 9, 1) 100%);
}
#main .mainVisual .textBox .titleImg {
	margin: 0 auto 0.75%;
	width: 81.5%;
}
#main .mainVisual .textBox p {
	color: #fff;
	font-size: 1.56vw;
	letter-spacing: 0.04em;
	line-height: 1.6;
}
#main .concept .imgBox {
	margin: 0 2rem;
}
#main .concept .imgBox .textBox {
	width: 54rem;
}
#main .concept .imgBox .textBox h2 {
	margin-bottom: 1.8rem;
	font-size: 3.2rem;
	letter-spacing: 0.04em;
	line-height: 1.4375;
	font-family: "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","Noto Sans JP", sans-serif;
}
#main .concept .imgBox .textBox p {
	font-size: 2.2rem;
	letter-spacing: 0.04em;
	line-height: 1.727;
}
#main .concept .imgBox .photoBox {
	margin: -1rem 0 0 -3rem;
	width: 57rem;
}
#main .concept .imgBox .photoBox .btnList {
	position: relative;
}
#main .concept .imgBox .photoBox .btnList::before {
	margin: 5.1rem 0 0 14rem;
	width: 106.6rem;
	aspect-ratio: 2131 / 1410;
	position: absolute;
	left: 50%;
	top: 50%;
	background: url(../img/index/bg01_reverse.png) no-repeat center center / cover;
	transform: translate(-50%,-50%);
	z-index: -1;
	content: "";
}
#main .concept .imgBox .photoBox .btnList li {
	position: relative;
}
#main .concept .imgBox .photoBox .btnList li:nth-child(1) {
	margin-right: -3.5rem;
	width: 32rem;
}
#main .concept .imgBox .photoBox .btnList li:nth-child(2) {
	margin: -1.1rem -1.5rem 0 0;
	width: 29.3rem;
	transition-delay: .2s;
}
#main .concept .imgBox .photoBox .btnList li:nth-child(3) {
	margin: -5.6rem -4rem 0 2.3rem;
	width: 29.3rem;
	transition-delay: .4s;
	z-index: 4;
}
#main .concept .imgBox .photoBox .btnList li:nth-child(4) {
	margin: -7.6rem -2.5rem 0 0;
	width: 31.5rem;
	transition-delay: .6s;
}
#main .concept .imgBox .photoBox .btnList li a {
	display: block;
}
#main .online_broadcasts {
	margin-bottom: 3.1rem;
	padding-top: 13rem;
	position: relative;
}
#main .online_broadcasts h2 {
	margin-left: 33.3rem;
	width: 42.6rem;
	position: absolute;
	left: 50%;
	top: 5rem;
	transform: translateX(-50%);
}
#main .online_broadcasts .flowBox {
	width: 216rem;
	position: relative;
	left: 50%;
	transform: translateX(calc(-50% - 5.1rem));
}
#main .online_broadcasts .flowBox > img {
	width: 100%;
}
#main .online_broadcasts .startImg {
	width: 44.9rem;
    position: absolute;
    left: 27.4%;
    top: -28.8rem;
}
#main .online_broadcasts .btnList li {
	width: 43.6rem;
	position: absolute;
}
#main .online_broadcasts .btnList li .sub {
	display: block;
	position: relative;
}
#main .online_broadcasts .btnList li .disable {
	pointer-events: none;
}
#main .online_broadcasts .btnList .item01 {
	left: 24.7%;
    top: -6%;
}
#main .online_broadcasts .btnList .item02 {
	left: 37.5%;
    top: 2.5%;
}
#main .online_broadcasts .btnList .item03 {
	left: 50.3%;
    top: 10.2%;
}
#main .online_broadcasts .btnList .item04 {
	right: 16.7%;
    top: 17.9%;
}
#main .online_broadcasts .btnList .item05 {
	right: 29.5%;
    top: 25.6%;
}
#main .online_broadcasts .btnList .item06 {
	right: 42.3%;
    top: 33.3%;
}
#main .online_broadcasts .btnList .item07 {
	left: 24.7%;
    top: 41%;
}
#main .online_broadcasts .btnList .item08 {
	left: 37.5%;
    top: 48.8%;
}
#main .online_broadcasts .btnList .item09 {
	left: 50.3%;
    top: 56.5%;
}
#main .online_broadcasts .btnList .item10 {
	left: 37.5%;
    top: 64.2%;
}
#main .online_broadcasts .btnList .item11 {
	left: 24.7%;
    top: 71.8%;
}
#main .online_broadcasts .btnList .item12 {
	left: 37.5%;
    top: 79.6%;
}
#main .online_broadcasts .btnList .item13 {
	left: 50.3%;
    top: 86.9%;
}
#main .detail h2 {
	margin: 0 auto 6rem;
	width: 80.2rem;
}
#main .detail .detailBox {
	position: relative;
}
#main .detail .detailBox .bg {
	position: absolute;
	z-index: -1;
}
#main .detail .detailBox .bg01 {
	margin-right: -17.3rem;
    width: 75.8rem;
    right: 100%;
    top: -24.8rem;
}
#main .detail .detailBox .bg02 {
	margin-left: -16.3rem;
    width: 69.3rem;
    left: 100%;
    top: -20.9rem;
}
#main .detail .detailBox .bg03 {
	margin-right: -33.7rem;
    width: 68.6rem;
    right: 100%;
    bottom: 7.1rem;
}
#main .detail .detailBox .bg04 {
	margin-left: -20.8rem;
    width: 70.2rem;
    left: 100%;
    bottom: 20rem;
}
#main .detail .detailList {
	gap: 4.5rem 3.2rem;
}
#main .detail .detailList li {
	width: 25.6rem;
	padding: 1px 1.7rem 1.7rem;
	display: flex;
	flex-direction: column;
	text-align: justify;
	border: 1px solid #FF788C;
	background: #FFF1F3;
}
#main .detail .detailList li .photo {
	margin-bottom: 1.5rem;
}
#main .detail .detailList li .tag {
	margin-bottom: 1rem;
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}
#main .detail .detailList li .tag span {
	padding: 0 0.5rem;
	color: #FF788C;
	font-size: 1.4rem;
	border-radius: 0.4rem;
	border: 1px solid #FF788C;
	background: #fff;
}
#main .detail .detailList li h3 {
	margin-bottom: 0.8rem;
	font-size: 1.8rem;
	line-height: 1.3333;
}
#main .detail .detailList li .comingSoon {
	padding: 1rem;
	height: 100%;
	min-height: 39rem;
	display: flex;
	flex-direction: column;
	text-align: center;
	background: #CCC;
}
#main .detail .detailList li .comingSoon .comingText {
	padding-bottom: 0.5rem;
	flex: 1;
	display: flex;
	justify-content: center;
	align-items: center;
	color: #fff;
	font-size: 3.4rem;
	font-weight: 600;
	line-height: 1;
	font-family: "sofia-pro",sans-serif;
}
#main .detail .detailList li .comingSoon .textImg {
	height: 51.4%;
	flex: none;
	display: flex;
	justify-content: center;
	align-items: center;
	background: #fff;
}
#main .detail .detailList {
	margin-bottom: 3.2rem;
}
#main .detail .detailList li.green {
	border-color: #69E1B9;
	background: #F0FCF8;
}
#main .detail .detailList li.green .tag span {
	color: #69E1B9;
	border-color: #69E1B9;
}
#main .detail .detailList li.green .comBtn a {
	background: #69E1B9;
}
#main .detail .detailList li.green .comTimeBox {
	color: #69E1B9;
}
#main .detail .detailList li.green .comTimeBox .num {
	background: #69E1B9;
}
#main .detail .detailList li.green .comTimeBox .date::before {
	background: #F0FCF8;
}
#main .detail .detailList li.blue {
	border-color: #7DC8EB;
	background: #F2F9FD;
}
#main .detail .detailList li.blue .tag span {
	color: #7DC8EB;
	border-color: #7DC8EB;
}
#main .detail .detailList li.blue .comBtn a {
	background: #7DC8EB;
}
#main .detail .detailList li.blue .comTimeBox {
	color: #7DC8EB;
}
#main .detail .detailList li.blue .comTimeBox .num {
	background: #7DC8EB;
}
#main .detail .detailList li.blue .comTimeBox .date::before {
	background: #F2F9FD;
}
#main .detail .detailList li.yellow {
	border-color: #FFB900;
	background: #FFF8E5;
}
#main .detail .detailList li.yellow .tag span {
	color: #FFB900;
	border-color: #FFB900;
}
#main .detail .detailList li.yellow .comBtn a {
	background: #FFB900;
}
#main .detail .detailList li.yellow .comTimeBox {
	color: #FFB900;
}
#main .detail .detailList li.yellow .comTimeBox .num {
	background: #FFB900;
}
#main .detail .detailList li.yellow .comTimeBox .date::before {
	background: #FFF8E5;
}
#main .detail .btmBox {
	position: relative;
	align-items: center;
}
#main .detail .btmBox::before {
	width: 54.7rem;
	aspect-ratio: 1093 / 631;
	position: absolute;
	left: -22rem;
	bottom: -7.8rem;
	background: url(../img/index/bg05.png) no-repeat center center / cover;
	z-index: -1;
	content: "";
}
#main .detail .btmBox .item {
	margin-top: 0.7rem;
	padding: 1px 1.7rem 1.6rem;
	width: 54.4rem;
	border: 1px solid #F51E3C;
	background: #FFECED;
}
#main .detail .btmBox .item .comTimeBox {
	margin-left: 1px;
	margin-bottom: 1.7rem;
	display: block;
	color: #F51E3C;
}
#main .detail .btmBox .item .comTimeBox .subBox {
	padding-right: 1.5rem;
	width: fit-content;
	align-items: flex-end;
	position: relative;
	z-index: 1;
}
#main .detail .btmBox .item .comTimeBox .subBox::before {
	position: absolute;
	left: 0;
	right: 0;
	top: 2.3rem;
	bottom: 0;
	background: #FFECED;
	z-index: -1;
	content: "";
}
#main .detail .btmBox .item .comTimeBox .date {
	padding-left: 1.3rem;
}
#main .detail .btmBox .item .comTimeBox .date::before {
	display: none;
}
#main .detail .btmBox .item .comTimeBox .time {
	margin: -0.3rem 0 0 0.4rem;
}
#main .detail .btmBox .item .imgInn .photoInn {
	width: 24rem;
}
#main .detail .btmBox .item .imgInn .textInn {
	width: 25rem;
	text-align: justify;
}
#main .detail .btmBox .item .imgInn .textInn h3 {
	margin-bottom: 0.8rem;
	font-size: 1.8rem;
	line-height: 1.3333;
}
#main .detail .btmBox .item .comBtn {
	margin-left: auto;
	margin-right: auto;
	width: 22rem;
}
#main .detail .btmBox .item .comingSoon {
	padding: 0.9rem;
	min-height: 21.2rem;
	display: flex;
	flex-direction: column;
	text-align: center;
	border: 1px solid #fff;
	background: #CCC;
}
#main .detail .btmBox .item .comingSoon .comingText {
	padding-bottom: 0.8rem;
	flex: 1;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	color: #fff;
	font-size: 3.4rem;
	line-height: 1;
	font-family: "sofia-pro",sans-serif;
}
#main .detail .btmBox .item .comingSoon .textInn {
	padding: 0.3rem 0.5rem 0.7rem;
	background: #fff;
	flex: none;
	color: #F51E3C;
	font-size: 3.5rem;
	font-weight: 400;
	font-family: "sofia-pro",sans-serif;
}
#main .detail .btmBox .subArea {
	margin-top: 0.5rem;
	width: 53.6rem;
	text-align: justify;
}
#main .detail .btmBox .subArea h3 {
	margin-bottom: 0.9rem;
    color: #F51E3C;
    font-size: 2.4rem;
    font-weight: normal;
    line-height: 1.3;
}
#main .detail .btmBox .subArea h3 strong {
	font-size: 2.8rem;
	letter-spacing: 0.02em;
}
#main .detail .btmBox .subArea .textInn {
	padding-right: 18rem;
	position: relative;
}
#main .detail .btmBox .subArea .textInn .img {
	width: 25.5rem;
	position: absolute;
	right: -6.4rem;
    top: 0.4rem;
}
#main .detail .btmBox .subArea .textInn p {
	line-height: 1.5625;
}
@media (min-width: 897px) and (max-width: 1279px) {
	#main .detail .btmBox .subArea .textInn .img {
		width: 27rem;
		right: -6.5rem;
	}
}
@media all and (max-width: 896px) {
	#main {
		padding-bottom: 2rem;
	}
	#main .mainVisual {
		margin-bottom: 3rem;
		border-top: none;
	}
	#main .mainVisual .textBox {
		padding: 2rem 1.5rem 0.7rem;
	}
	#main .mainVisual .textBox .titleImg {
		margin-bottom: 0.2rem;
		width: auto;
	}
	#main .mainVisual .textBox p {
		padding: 0.8rem 0;
		font-size: 1.2rem;
		line-height: 1.66667;
	}
	#main .concept .imgBox {
		margin: 0;
		display: block;
	}
	#main .concept .imgBox .textBox {
		width: auto;
	}
	#main .concept .imgBox .textBox h2 {
		margin-bottom: 0.9rem;
		font-size: 1.9rem;
		line-height: 1.342;
	}
	#main .concept .imgBox .textBox p {
		font-size: 1.3rem;
		line-height: 1.6923;
	}
	#main .concept .imgBox .photoBox {
		margin: 1.9rem 1.5rem 0;
		width: auto;
	}
	#main .concept .imgBox .photoBox .btnList::before {
		margin: -1.4rem 0 0 9.8rem;
        width: 55rem;
	}
	#main .concept .imgBox .photoBox .btnList li {
		position: relative;
	}
	#main .concept .imgBox .photoBox .btnList li:nth-child(1) {
		margin-right: -3.5rem;
		width: 17.7rem;
	}
	#main .concept .imgBox .photoBox .btnList li:nth-child(2) {
		margin: -0.5rem 0.5rem 0 0;
		width: 16.2rem;
	}
	#main .concept .imgBox .photoBox .btnList li:nth-child(3) {
		margin: -3.6rem -4rem 0 1.3rem;
		width: 16.2rem;
		z-index: 4;
	}
	#main .concept .imgBox .photoBox .btnList li:nth-child(4) {
		margin: -4.6rem 0 0;
		width: 17.4rem;
	}
	#main .online_broadcasts {
		margin-bottom: 1.6rem;
		padding-top: 25.6rem;
	}
	#main .online_broadcasts h2 {
		margin-left: 0;
		width: 12.4rem;
		left: auto;
		right: 1.4rem;
		top: 2.7rem;
		transform: none;
	}
	#main .online_broadcasts .flowBox {
		width: auto;
		left: auto;
		transform: none;
	}
	#main .online_broadcasts .startImg {
		width: 21rem;
		left: 3.5%;
		top: -22.8rem;
	}
	#main .online_broadcasts .btnList li {
		width: 26.1rem;
	}
	#main .online_broadcasts .btnList .item01 {
		left: 1.1%;
		top: -6.4%;
	}
	#main .online_broadcasts .btnList .item02 {
		left: 30%;
		top: 2%;
	}
	#main .online_broadcasts .btnList .item03 {
		left: 0.9%;
        top: 10%;
	}
	#main .online_broadcasts .btnList .item04 {
		right: 0.3%;
        top: 18.1%;
	}
	#main .online_broadcasts .btnList .item05 {
		right: 29.6%;
		top: 26.2%;
	}
	#main .online_broadcasts .btnList .item06 {
		right: 0.3%;
		top: 34.3%;
	}
	#main .online_broadcasts .btnList .item07 {
		left: 0.7%;
		top: 42.3%;
	}
	#main .online_broadcasts .btnList .item08 {
		left: 30.5%;
		top: 50.4%;
	}
	#main .online_broadcasts .btnList .item09 {
		left: 0.7%;
		top: 58.5%;
	}
	#main .online_broadcasts .btnList .item10 {
		left: 30.5%;
		top: 66.5%;
	}
	#main .online_broadcasts .btnList .item11 {
		left: 0.7%;
		top: 74.6%;
	}
	#main .online_broadcasts .btnList .item12 {
		left: 30.4%;
		top: 82.7%;
	}
	#main .online_broadcasts .btnList .item13 {
		left: 0.7%;
		top: 90.5%;
	}
	#main .detail h2 {
		margin-bottom: 3.2rem;
		width: auto;
	}
	#main .detail .detailBox .bg01 {
		margin-right: -12.5rem;
		width: 39rem;
		right: 100%;
		top: -8.4rem;
	}
	#main .detail .detailBox .bg02 {
		margin-right: -8.8rem;
        margin-left: 0;
        width: 34rem;
        left: auto;
        right: 100%;
        top: 31%;
	}
	#main .detail .detailBox .bg03 {
		margin-right: 0;
        margin-left: -9.7rem;
        width: 34rem;
        right: auto;
        left: 100%;
        bottom: 42.9%;
	}
	#main .detail .detailBox .bg04 {
		margin-left: -12.5rem;
        width: 36rem;
        bottom: 16rem;
	}
	#main .detail .detailList {
		gap: 3rem 0;
		justify-content: space-between;
	}
	#main .detail .detailList li {
		width: calc((100% - 1.4rem) / 2);
		padding: 1px 1.1rem 1rem;
		font-size: 1.05rem;
	}
	#main .detail .detailList li .photo {
		margin-bottom: 0.9rem;
	}
	#main .detail .detailList li .tag {
		margin-bottom: 0.7rem;
		gap: 0.3rem;
	}
	#main .detail .detailList li .tag span {
		padding: 0 0.3rem;
		font-size: 0.9rem;
		border-radius: 0.3rem;
	}
	#main .detail .detailList li h3 {
		margin-bottom: 0.4rem;
		font-size: 1.15rem;
	}
	#main .detail .detailList li .comingSoon {
		padding: 0.6rem;
		min-height: 25.1rem;
	}
	#main .detail .detailList li .comingSoon .comingText {
		padding-bottom: 0;
		font-size: 2.2rem;
	}
	#main .detail .detailList li .comingSoon .textImg img {
		width: 7.3rem;
	}
	#main .detail .detailList {
		margin-bottom: 3rem;
	}
	#main .detail .btmBox {
		display: block;
	}
	#main .detail .btmBox::before {
		display: none;
	}
	#main .detail .btmBox .item {
		margin-bottom: 2.6rem;
		padding: 1px 1rem 1rem;
		width: auto;
	}
	#main .detail .btmBox .item .comTimeBox {
		margin-bottom: 1rem;
	}
	#main .detail .btmBox .item .comTimeBox .subBox {
		margin-left: 0;
		padding-right: 1rem;
	}
	#main .detail .btmBox .item .comTimeBox .subBox::before {
		top: 1.3rem;
	}
	#main .detail .btmBox .item .comTimeBox .date {
		padding-left: 0.8rem;
	}
	#main .detail .btmBox .item .comTimeBox .time {
		margin: -0.3rem 0 0 0.2rem;
	}
	#main .detail .btmBox .item .imgInn .photoInn {
		width: 45%;
	}
	#main .detail .btmBox .item .imgInn .textInn {
		width: 52%;
		font-size: 1.05rem;
	}
	#main .detail .btmBox .item .imgInn .textInn h3 {
		margin-bottom: 0.5rem;
		font-size: 1.15rem;
	}
	#main .detail .btmBox .item .comBtn {
		margin-left: auto;
		margin-right: auto;
		width: 14.6rem;
	}
	#main .detail .btmBox .item .comingSoon {
		padding: 0.5rem;
		min-height: 13.5rem;
	}
	#main .detail .btmBox .item .comingSoon .comingText {
		padding-bottom: 0.3rem;
		font-size: 2.15rem;
	}
	#main .detail .btmBox .item .comingSoon .textInn {
		padding: 0.4rem;
		font-size: 2.2rem;
	}
	#main .detail .btmBox .subArea {
		margin-left: 0.5rem;
		width: auto;
	}
	#main .detail .btmBox .subArea h3 {
		margin-bottom: 0.7rem;
        font-size: 1.5rem;
        line-height: 1.4;
	}
	#main .detail .btmBox .subArea h3 strong {
		font-size: 1.75rem;
	}
	#main .detail .btmBox .subArea .textInn {
		padding-right: 13.5rem;
	}
	#main .detail .btmBox .subArea .textInn .img {
		width: 14.7rem;
        right: -0.6rem;
        top: 1.8rem;
	}
	#main .detail .btmBox .subArea .textInn p {
		font-size: 1rem;
	}
}