@charset "UTF-8";

/*番組共通
-------------------------------------------------*/
header,
footer {
	position: relative;
	z-index: 1;
}

header {
	z-index: 2;
	background: #fff;
}

img {
	max-width: 100%;
	height: auto;
}

/* main {
	background-image: url(../images/content_bg.png);
	background-position: center;
	background-repeat: no-repeat;
	background-attachment: fixed;
} */

p {
	color: #fff;
}

h2 {
	color: #fff;
	margin: 0 auto;
}

main p {
	font-size: 1.8rem;
	font-weight: 500;
}

.main_contents {
	font-family: "Noto Sans JP";
}

.pc_none {
	display: none;
}

.sp_none {
	display: block;
}

@media screen and (max-width:750px) {

	header,
	footer {
		z-index: 3;
	}

	

	main p {
		font-size: 1.4rem;
	}

	.pc_none {
		display: block;
	}

	.sp_none {
		display: none;
	}
}

/*
-------------------------------------------------*/

/*共通パーツ
-------------------------------------------------*/

/* 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: 950px;
	margin: 0 auto;
	width: 100%;
	padding: 0 110px;
}




@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 bottom
//////////////////// */

.o-spacer-mb-250 {
	margin-bottom: 250px !important;
}

.o-spacer-mb-200 {
	margin-bottom: 200px !important;
}

.o-spacer-mb-220 {
	margin-bottom: 220px !important;
}

.o-spacer-mb-150 {
	margin-bottom: 150px !important;
}


.o-spacer-mb-120 {
	margin-bottom: 120px !important;
}

.o-spacer-mb-110 {
	margin-bottom: 110px !important;
}

.o-spacer-mb-100 {
	margin-bottom: 100px !important;
}

.o-spacer-mb-90 {
	margin-bottom: 90px !important;
}

.o-spacer-mb-80 {
	margin-bottom: 80px !important;
	/* program inner 下 */
}

.o-spacer-mb-70 {
	margin-bottom: 70px !important;
}

.o-spacer-mb-60 {
	margin-bottom: 60px !important;
}

.o-spacer-mb-50 {
	margin-bottom: 50px !important;
	/* program h2 content_title 下 */
}


.o-spacer-mb-40 {
	margin-bottom: 40px !important;
}

.o-spacer-mb-20 {
	margin-bottom: 20px !important;
	/* sp版、program pc_none image 下 */
}

.o-spacer-mb-10 {
	margin-bottom: 10px !important;
}

@media screen and (max-width:750px) {

	.o-spacer-mb-250 {
		margin-bottom: 100px !important;
		/* movie下の余白 */
	}

	.o-spacer-mb-220 {
		margin-bottom: 110px !important;
	}

	.o-spacer-mb-200 {
		margin-bottom: 100px !important;

	}

	.o-spacer-mb-150 {
		margin-bottom: 75px !important;
	}

	.o-spacer-mb-120 {
		margin-bottom: 60px !important;
	}

	.o-spacer-mb-100 {
		margin-bottom: 50px !important;
	}

	.o-spacer-mb-90 {
		margin-bottom: 45px !important;
	}

	.o-spacer-mb-80 {
		margin-bottom: 40px !important;
	}

	.o-spacer-mb-70 {
		margin-bottom: 35px !important;
	}


	.o-spacer-mb-60 {
		margin-bottom: 30px !important;
	}

	.o-spacer-mb-50 {
		margin-bottom: 15px !important;
		/* program h2 content_ttl 下　調整 */

	}

	.o-spacer-mb-40 {
		margin-bottom: 20px !important;
	}

	.o-spacer-mb-20 {
		margin-bottom: 10px !important;
	}

	.o-spacer-mb-10 {
		margin-bottom: 5px !important;
	}

	.o-spacer-mb-20-sp {
		margin-bottom: 20px !important;
	}
}



/* text align center */
.u-align-center {
	text-align: center !important;
}


@media screen and (max-width:750px) {
	.u-align-center-sp {
		text-align: center !important;
	}

}

/* line height */
.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;
	}
}

/* grid */

.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;
	}
}

/* --------------------------------------------------------------- */

/* title */

@media screen and (max-width:750px) {
	.contents_ttl {
		width: 250px;
		height: auto;
	}

}

h1.content_ttl {
	text-align: center;
	margin-top: -140px;
}

h2.content_ttl {
	text-align: center;
	border-bottom: 3px solid #00c800;
	font-size: 4.1rem;
	color: #fff;
	font-weight: bold;
	padding-bottom: 20px;
	text-shadow: 8px 8px 8px #e94709, -4px -4px 8px #e94709, -4px 8px 8px #e94709, 8px -4px 8px #e94709, 8px 0 8px #e94709, -4px 0 8px #e94709, 0 8px 8px #e94709, 0 -4px 8px #e94709;
	margin-bottom: 40px;
}

h2.content_ttl_present {
	text-align: center;
	text-shadow: 8px 8px 8px #33cc66, -4px -4px 8px #33cc66, -4px 8px 8px #33cc66, 8px -4px 8px #33cc66, 8px 0 8px #33cc66, -4px 0 8px #33cc66, 0 8px 8px #33cc66, 0 -4px 8px #33cc66;
	color: #fff;
	font-weight: 800;
	font-size: 5.9rem;
	margin-bottom: 40px;
	position: relative;
}

h2.content_ttl_present::after {
	content: "";
	background-image: url(../img/star.png);
	background-position: center;
	background-size: contain;
	background-repeat: no-repeat;
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	right: 0;
}

h3.content_ttl_present {
	text-align: center;
	text-shadow: 8px 8px 8px #1ba4f4, -4px -4px 8px #1ba4f4, -4px 8px 8px #1ba4f4, 8px -4px 8px #1ba4f4, 8px 0 8px #1ba4f4, -4px 0 8px #1ba4f4, 0 8px 8px #1ba4f4, 0 -4px 8px #1ba4f4;
	color: #fff;
	font-weight: 500;
	letter-spacing: 0.2rem;
	font-size: 3.5rem;
}

h3.content_ttl_present span {
	font-size: 4.5rem;
	letter-spacing: 0.2rem;
}

@media screen and (max-width:750px) {

	h1.content_ttl {
		text-align: center;
		margin-top: -65px;
	}

	h1.content_ttl img {
		width: 80%;
	}

	h2.content_ttl {
		font-size: 2.4rem;
	}

	h2.content_ttl_present {
		font-size: 4.0rem;
		background-position: left;
		margin-bottom: 20px;
	}

	h3.content_ttl_present {
		font-size: 2.0rem;
		letter-spacing: 0.2rem;
		text-shadow: 4px 4px 4px #1ba4f4, -2px -2px 4px #1ba4f4, -2px 4px 4px #1ba4f4, 4px -2px 4px #1ba4f4, 4px 0 4px #1ba4f4, -2px 0 4px #1ba4f4, 0 4px 4px #1ba4f4, 0 -2px 4px #1ba4f4;
	}

	h3.content_ttl_present span {
		font-size: 2.4rem;
		letter-spacing: 0.2rem;
	}
}


/*main contents*/

.main_contents {
	background-image: url(../img/bg_pc.jpg);
	background-position: top;
	background-attachment: fixed;
	background-size: cover;
	background-repeat: no-repeat;
	padding: 120px 0 200px;

}

@media screen and (max-width:750px) {
	.main_contents {
		background-image: none;
		padding: 60px 0 100px;
		z-index: 2;
		position: relative;

	}

	.main_contents_bg {
		z-index: 1;
	}

	.main_contents_bg::before {
		content: "";
		display: block;
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100vh;
		background-repeat: no-repeat;
		background-position: 50% 100%;
		background-image: url(../img/bg_sp.jpg);
		background-size: cover;

	}
}

/* bg */
.content_bg {
	background-color: rgba(100, 30, 0, 0.65);
	padding: 100px 0;
}

@media screen and (max-width:750px) {
	.content_bg {
		padding-top: 40px;
		padding-bottom: 20px;
	}
}


/* inner */
.content_inner {
	padding-top: 70px;
	padding-bottom: 60px;
}

@media screen and (max-width:750px) {
	.content_inner {
		padding-top: 40px;
		padding-bottom: 30px;
	}

}

/*MV
-------------------------------------------------*/

.content_mv .content_mv-inner {
	display: flex;
	justify-content: center;
	align-items: end;
}

.content_mv {
	display: flex;
	gap: 130px;
	position: relative;
	margin-bottom: 30px;

}

.text_photo_by {
	font-size: 1.2rem;
	color: #fff;
	font-weight: 500;
	text-shadow: 4px 4px 4px #000, -2px -2px 4px #000, -2px 4px 4px #000, 4px -2px 4px #000, 4px 0 4px #000, -2px 0 4px #000, 0 4px 4px #000, 0 -2px 4px #000;
	text-align: right;
	margin-bottom: 250px;
}

.mv_title-inner {
	display: flex;
	flex-direction: column;
	gap: 30px;

}


.mv_title,
.mv_presents {
	display: block;
	width: 540px;
	height: auto;
}




@media screen and (max-width:750px) {
	.content_mv .content_mv-inner {
		display: flex;
		justify-content: center;
		align-items: end;
	}

	.content_mv {
		display: flex;
		gap: 10px;
		margin-bottom: 0px;
		position: relative;
	}

	.text_photo_by {
		margin-bottom: 80px;
		font-size: 1rem;
	}


	.mv_title-inner {
		display: flex;
		flex-direction: column;
		gap: 10px;
	}


	.mv_title,
	.mv_presents {
		display: block;
		width: 586px;
		height: auto;
	}

	.mv_date-icon {
		margin-bottom: -30%;
	}
}

/* video */
.content_movie {
	text-align: center;

}


.content_movie iframe {
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 9;
}


/* cast */
.cast_icon {
	position: relative;
}

.cast_icon:before {
	content: "";
	background-image: url(../img/flower.png);
	background-repeat: no-repeat;
	background-size: contain;
	width: 123px;
	height: 123px;
	position: absolute;
	top: 0;
	left: 0;
	transform: translateY(-50%);
}

@media screen and (max-width:750px) {
	.cast_icon {
		position: relative;
	}

	.cast_icon:before {
		width: 35%;
		height: 35%;
		position: absolute;
		left: -10%;
	}

}

/* program */
.program_inner {
	display: flex;
	gap: 70px;
	align-items: center;
}

.program_inner_txt {
	width: 440px;
	height: auto;

}

.program_inner_txt p {
	font-size: 2.4rem;
	line-height: 1.5;
	font-weight: 500;
	text-align: left;

}


.border_none {
	border: none;


}

@media screen and (max-width:750px) {
	.program_inner {
		display: flex;
		flex-direction: column;
		gap: 0px;

	}

	.program_inner_txt {
		width: 100%;
		height: auto;

	}

	.program_inner_txt p {
		font-size: 2.0rem;
		line-height: 1.7;
	}


}


/* present */

/*
-------------------------------------------------*/


.present_inner {
	display: flex;
	gap: 80px;
	align-items: center;
	justify-content: space-evenly;
}

.present_inner.--line {
	margin-top: 45px;
	padding-top: 45px;
	border-top: 1px solid #fff;
}

.present_inner.--line_sp {
	margin-top: 40px;
	padding-top: 40px;
}

.present_inner_txt {
	max-width: 502px;
	text-align: center;
}

.present_inner_txt .winners {
	background-color: #fff;
	padding: 1px 70px;
	display: inline-block;
	border-radius: 50vw;
	margin: 0 40px;
}

.present_inner_txt .winners p {
	font-size: 4.5rem;
	color: #ff3333;
	font-weight: bold;
	text-align: center;
	width: fit-content;
	letter-spacing: 0.1em;
}

.present_inner_txt .num {
	text-align: center;
}

.present_inner_txt .num span {
	font-size: 4.5rem;
	font-weight: 800;
	color: #fff !important;
	letter-spacing: 0.5rem;
}

.present_inner_txt .num::before {
	content: '';
	display: inline-block;
	background-image: url(../img/phone_icon.png);
	background-size: contain;
	width: 23px;
	height: 38.5px;
	margin-right: 10px;
	position: relative;
	top: 3px;
}

.present_caution {
	margin-left: 10px;
}

.present_caution li {
	font-size: 2.1rem;
	color: #fff;
	font-weight: 500;
	text-shadow: 4px 4px 4px #000, -2px -2px 4px #000, -2px 4px 4px #000, 4px -2px 4px #000, 4px 0 4px #000, -2px 0 4px #000, 0 4px 4px #000, 0 -2px 4px #000;
	padding-left: 12px;
	text-indent: -20px;
}

.present_caution li a {
	color: #fff;
	text-decoration: underline;
}

.present_caution li a:hover {
	opacity: 0.7;
}

@media screen and (max-width:750px) {
	.present-wrapper {
		z-index: 2;
		position: relative;
	}
	.present_inner {
		display: flex;
		gap: 0px;
		flex-direction: column;
		align-items: center;
	}

	.present_inner.--line {
		margin-top: 20px;
		padding-top: 40px;
		border-top: 1px solid #fff;
	}

	.present_inner.--line_sp {
		margin-top: 20px;
		padding-top: 40px;
		border-top: 1px solid #fff;
	}

	.present_inner_img {
		margin-bottom: 20px;
	}

	.present_inner_txt {
		max-width: 100%;
	}

	.present_inner_txt .winners {
		padding: 1px 45px;
		margin: 0 20px;
	}

	.present_inner_txt .winners p {
		font-size: 3.0rem;
	}

	.present_inner_txt .num span {
		font-size: 3.5rem;
		color: #fff !important;
	}

	.present_caution li {
		font-size: 1.6rem;
		text-indent: -15px;
	}
}

/*
-------------------------------------------------*/