@charset "UTF-8";

/*番組共通
-------------------------------------------------*/
header,
footer {
	position: relative;
	z-index: 1;
}

header {
	z-index: 20000000;
	background: #fff;
}

img {
	max-width: 100%;
	height: auto;
}

main {
	background-image: url(../images/bg_about_cast_pc.png);
	background-position: center;
	background-repeat: no-repeat repeat;
	background-size: contain;
	overflow: hidden;
}

.main_content {
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
}



main p {
	font-size: 1.8rem;
	font-weight: 500;
}

@media screen and (max-width:750px) {
	main p {
		font-size: 1.4rem;
	}

	main{
		background-image: url(../images/bg_about_cast_sp.png);
	}
}

/*
-------------------------------------------------*/

/*共通パーツ
-------------------------------------------------*/

/* wrapper
//////////////////// */

.o-wrapper {
	max-width: 1600px;
	margin: 0 auto;
	width: 100%;
	padding: 0 40px;
}

.o-wrapper.--sm {
	max-width: 1200px;
	margin: 0 auto;
	width: 100%;
	padding: 0 40px;
}

.o-wrapper.--md {
	max-width: 1400px;
	margin: 0 auto;
	width: 100%;
	padding: 0 40px;
}

.o-wrapper.--lg {
	max-width: 1800px;
	margin: 0 auto;
	width: 100%;
	padding: 0 40px;
}

.o-wrapper-sp {
	max-width: 100%;
	width: 100%;
	padding: 0;
	margin: 0;
}

.o-wrapper-pc.--sm {
	max-width: 1150px;
	margin: 0 auto;
	width: 100%;
	padding: 0 90px;
}

@media screen and (max-width:750px) {

	.o-wrapper,
	.o-wrapper.--md,
	.o-wrapper.--sm,
	.o-wrapper.--lg {
		max-width: 100%;
		margin: 0;
		width: 100%;
		padding: 0 20px;
	}

	.o-wrapper-sp {
		max-width: 100%;
		margin: 0;
		width: 100%;
		padding: 0 20px;
	}

	.o-wrapper-pc.--sm {
		max-width: 100%;
		margin: 0 auto;
		width: 100%;
		padding: 0;
	}

	.o-wrapper-sp-0 {
		max-width: 100%;
		width: 100%;
		padding: 0 !important;
		margin: 0;
	}
}


/* margin
//////////////////// */

.o-spacer-mb-250 {
	margin-bottom: 250px !important;
}

.o-spacer-mb-120 {
	margin-bottom: 120px !important;
}

.o-spacer-mb-100 {
	margin-bottom: 100px !important;
}

.o-spacer-mb-80 {
	margin-bottom: 80px !important;
}

.o-spacer-mb-60 {
	margin-bottom: 60px !important;
}

.o-spacer-mb-40 {
	margin-bottom: 40px !important;
}

.o-spacer-mb-20 {
	margin-bottom: 20px !important;
}

.o-spacer-mb-10 {
	margin-bottom: 10px !important;
}

@media screen and (max-width:750px) {

	.o-spacer-mb-250 {
		margin-bottom: 125px !important;
	}

	.o-spacer-mb-120 {
		margin-bottom: 60px !important;
	}

	.o-spacer-mb-100 {
		margin-bottom: 50px !important;
	}

	.o-spacer-mb-80 {
		margin-bottom: 40px !important;
	}

	.o-spacer-mb-60 {
		margin-bottom: 30px !important;
	}

	.o-spacer-mb-40 {
		margin-bottom: 20px !important;
	}

	.o-spacer-mb-20 {
		margin-bottom: 10px !important;
	}

	.o-spacer-mb-10 {
		margin-bottom: 5px !important;
	}
}




.u-align-center {
	text-align: center !important;
}

@media screen and (max-width:750px) {
	.u-align-center-sp {
		text-align: center !important;
	}

}


.u-line-1-5 {
	line-height: 1.5 !important;
}

.u-line-2 {
	line-height: 2 !important;
}

.u-line-2-5 {
	line-height: 2.5 !important;
}

@media screen and (max-width:750px) {
	.u-line-1-5-sp {
		line-height: 1.5 !important;
	}

	.u-line-2-sp {
		line-height: 2 !important;
	}

	.u-line-2-5-sp {
		line-height: 2.5 !important;
	}
}



.o-grid {
	display: grid;
	grid-template-columns: repeat(12, 1fr);
	grid-row-gap: 60px;
	grid-column-gap: 60px;
}

.o-grid-item-6 {
	grid-column: auto / span 6;
}

.o-grid-item-5 {
	grid-column: auto / span 5;
}

.o-grid-item-4 {
	grid-column: auto / span 4;
}

.o-grid-item-3 {
	grid-column: auto / span 3;
}

.o-grid-item-8 {
	grid-column: auto / span 8;
}

.o-grid-item-7 {
	grid-column: auto / span 7;
}

@media screen and (max-width:750px) {
	.o-grid {
		grid-row-gap: 20px;
		grid-column-gap: 20px;
	}

	.o-grid-item-12-sp {
		grid-column: auto / span 12;
	}

	.o-grid-item-6-sp {
		grid-column: auto / span 6;
	}
}


.insta:hover {
	opacity: 0.7;
}


@media screen and (max-width:750px) {
	.contents_ttl {
		width: 250px;
		height: auto;
	}

	.insta {
		width: 40px;
		height: 40px;
	}
}

.c-link:hover{
	opacity: 0.7;
}




/*
-------------------------------------------------*/

/*MV
-------------------------------------------------*/

.top_mv img {
	width: 100%;
}


/*
-------------------------------------------------*/


/*MOVIE
-------------------------------------------------*/


.contents_movie {
	background-image: url(../images/movie_pc.png);
	background-size: contain;
	background-position: center;
	background-repeat: no-repeat;
	padding: 8rem;
}

.contents_movie iframe {
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 9;
}

@media screen and (max-width:750px){
	.contents_movie{
		padding: 2rem;
	}
}


/*
-------------------------------------------------*/



/*intro
-------------------------------------------------*/

.contents_intro {
	padding: 0 40px;

}

.contents_intro .intro_text {
	text-align: center;
	color: #fff;
}

.contents_intro .intro_text p {
	font-size: 3.5rem;
	line-height: 2.0;
}

@media screen and (max-width:750px) {
	.contents_intro {
		padding: 0;
	}

	.contents_intro .intro_text p {
		font-size: 1.5rem;
		line-height: 2.5;
	}
}


/*
-------------------------------------------------*/

/*detail
-------------------------------------------------*/

.contents_detail {
	background-color: rgba(240, 160, 74, 0.8);
	border: solid 3px #bb670c;
	border-radius: 20px;
	width: 100%;
	padding: 60px 0;
}

.contents_detail .detail-txt {
	font-weight: bold;
	color: #fff;
	font-size: 2.6rem;
	line-height: 2.0;
	text-align: center;
}

@media screen and (max-width:750px) {
	.contents_detail {
		padding: 30px 15px;
	}

	.contents_detail .detail-txt {
		font-size: 1.4rem;
	}
}

/*
-------------------------------------------------*/

/*TVER
-------------------------------------------------*/

.contents_tver {
	padding: 0 120px;
}

.contents_tver a:hover {
	opacity: 0.7;
}

@media screen and (max-width:750px) {
	.contents_tver {
		padding: 0;
	}
}

/*
-------------------------------------------------*/

/*CAST
-------------------------------------------------*/

.contents_cast {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	row-gap: 5%;
	column-gap: 2%;
}

h2.cast_ttl {
	font-size: 5.5rem;
	color: #fff;
	font-weight: bold;
	letter-spacing: 2rem;
	text-align: center;
}

.contents_cast .cast_inner {
	position: relative;
}

.contents_cast .cast_inner.last {
	grid-column-start: 2;
}

.contents_cast .cast_inner .cast_img {
	position: relative;
	z-index: 20;
}

.contents_cast .cast_inner .cast01_deco {
	position: absolute;
	top: 0;
	left: -60%;
	z-index: 2;
}

.contents_cast .cast_inner .cast02_deco {
	position: absolute;
	top: -30%;
	right: -30%;
	z-index: 2;
}

.contents_cast .cast_inner .cast03_deco {
	position: absolute;
	top: 0%;
	right: -50%;
	z-index: 2;
}

@media screen and (max-width:750px) {
	h2.cast_ttl {
		font-size: 2.6rem;
		letter-spacing: 1.5rem;
	}
}






/*
-------------------------------------------------*/

/*topfooter
-------------------------------------------------*/

.top_footer {
	margin-bottom: -160px;
}

.top_footer .footer_img {
	text-align: end;
}

.top_footer .footer_img img {
	width: 50%;
	height: auto;
}

@media screen and (max-width:750px) {
	.top_footer .footer_img img {
		width: 70%;
		height: auto;
	}

	.top_footer {
		margin-bottom: -40px;
	}
}

/*
-------------------------------------------------*/


/*chapter
-------------------------------------------------*/

.chapter_ttl {
	text-align: center;
	padding: 0 180px;
	margin-bottom: 60px;
}

.chapter_box {
	display: flex;
	gap: 40px;
	justify-content: center;
	margin-bottom: 40px;
}



.chapter_box .chapter_img {
	width: 100%;
	margin-left: -40px;
}

.chapter_inner {
	width: 70%;
}

.chapter_inner .chapter_inner-ttl {
	background-color: #ff007f;
	padding: 5px 25px;
	border-radius: 50vw;
	text-align: center;
	width: fit-content;
	margin-bottom: 20px;
}

.chapter_inner .chapter_inner-ttl h2 {
	font-size: 3.5rem;
	font-weight: 900;
	color: #fff;
}

.chapter_inner .chapter_inner-text {
	color: #fff;
	margin-left: 20px;
}

.chapter_inner .chapter_inner-text p {
	font-size: 2.4rem;
	line-height: 2.0;
}

.chapter_inner-btn {
	width: 100%;
	text-align: end;
}

.chapter_inner-btn img{
	max-width: 210px;
}

.chapter_bottom img {
	width: 60%;
	height: auto;
}

.chapter_bottom.--right img {
	width: 80%;
	height: auto;
	margin-top: -150px;
}

.chapter_inner-btn.--right {
	width: 100%;
	/* padding-right: 40px; */
}

.chapter_inner-btn.--right a {
	text-align: end;
}

.chapter_inner-btn.--right img {
	width: 60%;
	max-width: 210px;
}

.chapter_bottom.--right{
	width: 70%;
}



@media screen and (max-width:750px) {
	.chapter_ttl {
		text-align: center;
		padding: 0 40px;
		margin-bottom: 30px;
	}

	.chapter_box {
		display: flex;
		flex-direction: column;
	}

	.chapter_box.--reverse {
		display: flex;
		flex-direction: column-reverse;
	}

	.chapter_box .chapter_img {
		width: 100%;
		margin-left: 0px;
	}

	.chapter_inner {
		width: 100%;
	}

	.chapter_inner .chapter_inner-ttl {
		background-color: #ff007f;
		padding: 5px 15px;
		border-radius: 50vw;
		text-align: center;
		width: fit-content;
		margin-bottom: 10px;
	}

	.chapter_inner .chapter_inner-ttl h2 {
		font-size: 2.4rem;
		font-weight: 900;
		color: #fff;
	}

	.chapter_inner .chapter_inner-text p {
		font-size: 1.6rem;
		line-height: 2.0;
	}

	.chapter_inner-btn img {
		width: 30%;
	}

	.chapter_inner-btn.--right img {
		width: 30%;
	}

	.chapter_bottom.--right{
	width: 100%;
}

	.chapter_bottom img {
		width: 100%;
		height: auto;
	}

	.chapter_bottom.--right img {
	width: 100%;
	height: auto;
	margin-top: 0;
}

}



/*
-------------------------------------------------*/

/*footer
-------------------------------------------------*/

.footer_data{
	position: relative;
	z-index: 10;
}

.footer_pagetop{
	margin-top: -55px;
}

@media screen and (max-width:750px){
	.footer_pagetop{
	margin-top: -13px;
}
}

/*
-------------------------------------------------*/