@charset "UTF-8";


/* ページ全体調整 
-------------------------------------------------*/

.container_main {
	font-family: "M PLUS Rounded 1c", sans-serif;
}

.container_wrap {
	width: 100%;
	max-width: 1320px;
	margin-right: auto;
	margin-left: auto;
	padding-right: 40px;
	padding-left: 40px;
}

.contents_wrap {
	padding: 0 200px;
}

.contents_wrap.--lg {
	padding: 0 100px;
}

@media screen and (max-width: 750px) {
	.container_wrap {
		padding-right: 0;
		padding-left: 0;
	}

	.contents_wrap,
	.contents_wrap.--lg {
		padding: 0 20px;
	}

	.contents_wrap-sp {
		padding: 0 20px;
	}

	.contents_wrap-sp-0 {
		padding: 0 !important;
	}
}

.o-grid {
	display: grid;
	grid-template-columns: repeat(12, 1fr);
}


.o-grid.gap-40 {
	gap: 40px;
}


.o-grid .o-grid-item-6 {
	grid-column: auto / span 6;
}

.o-grid .o-grid-item-4 {
	grid-column: auto / span 4;
}

.o-grid .o-grid-item-12 {
	grid-column: auto / span 12;
}

@media screen and (max-width: 750px) {
	.o-grid .o-grid-item-12-sp {
		grid-column: auto / span 12;
	}

	.o-grid.gap-40 {
		gap: 20px;
	}
}

.o-block-120 {
	padding: 120px 0;
}

.o-block-100 {
	padding: 100px 0;
}

.o-block-80 {
	padding: 80px 0;
}

.o-block-60 {
	padding: 60px 0;
}

.o-block-40 {
	padding: 40px 0;
}

.o-pb120 {
	padding-bottom: 120px;
}

.o-pb300 {
	padding-bottom: 300px;
}

.o-mb80 {
	margin-bottom: 80px;
}

.o-mb60 {
	margin-bottom: 60px;
}

.o-mt60 {
	margin-top: 60px;
}

.o-mb40 {
	margin-bottom: 40px;
}

.o-mt40 {
	margin-top: 40px;
}

.o-mb20 {
	margin-bottom: 20px;
}

.o-mt20 {
	margin-top: 20px;
}

@media screen and (max-width: 750px) {
	.o-block-120 {
		padding: 60px 0;
	}

	.o-block-100 {
		padding: 50px 0;
	}

	.o-block-80 {
		padding: 40px 0;
	}

	.o-block-60 {
		padding: 30px 0;
	}

	.o-block-0-sp {
		padding: 0 !important;
	}

	.o-pb120 {
		padding-bottom: 60px;
	}

	.o-pb300 {
		padding-bottom: 200px;
	}

	.o-mb60 {
		margin-bottom: 30px;
	}

	.o-mb60-sp {
		margin-bottom: 60px;
	}

	.o-mt60 {
		margin-top: 30px;
	}

	.o-mb40 {
		margin-bottom: 20px;
	}

	.o-mt40 {
		margin-top: 20px;
	}

	.o-mb20 {
		margin-bottom: 10px;
	}

	.o-mt20 {
		margin-top: 10px;
	}

	.o-pb300-sp {
		padding-bottom: 300px;
	}
}

/* PARTS
------------------------------------------------- */

.--bg01 {
	background-image: url(/special/2025fukuoka_udon/images/bg_pc.png);
	background-repeat: no-repeat;
	background-size: cover;
	background-attachment: fixed;
}



.container_box {
	width: 100%;
	/* padding: 60px 120px; */
	background-color: rgba(255, 255, 255, 0.8);
	border-radius: 30px;
}


.u-font-32 {
	font-size: 32px;
}

@media screen and (max-width: 750px) {
	.container_box {
		width: 100%;
		padding: 30px 20px;
		background-color: rgba(255, 255, 255, 0.8);
		border-radius: 15px;
	}

	hr.box_line {
		height: 4px;
		background-color: #000;
		width: 100%;
		margin: 0 auto;
		border: none;
	}

	.u-font-32 {
		font-size: 18px;
	}
}

.color-red {
	color: #eb4124 !important;
}

.u-align-center {
	text-align: center;
}




/* INTRO
------------------------------------------------- */


.container_intro .intro_ttl {
	display: flex;
	justify-content: center;
}


.container_intro .intro_text {
	text-align: center;
	position: relative;
	z-index: 100;
}

.container_intro .intro_text p {
	font-size: 26px;
	font-weight: 600;
	color: #000;
	paint-order: stroke;
}


@media screen and (max-width: 750px) {
	.container_intro .container_box {
		padding: 20px 0;
		padding-top: 0;
		padding-bottom: 0;

	}

	.container_intro .intro_text p {
		font-size: 14px;
		font-weight: 800;
		color: #000;
		transform: rotateZ(0.03deg);
	}


}


/* MOVIE
------------------------------------------------- */

.program_movie {
	/* padding-bottom: 100px; */
	text-align: center;
}

.program_movie_inner {
	/* width: 1240px; */
	margin: 0 auto;
}

.frame-wrapper_video {
	max-width: 900px;
	margin: 0 auto;
	position: relative;

}

.frame-wrapper_video_inner {
	position: relative;
	width: 100%;
	height: 0;
	padding-bottom: 56.25%;
	overflow: hidden;
}

.frame-wrapper_video_inner iframe {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
}

@media screen and (max-width: 750px) {

	.program_movie {
		padding-bottom: 0;
	}

	.frame-wrapper_video {
		border: none;
	}


}


/* TVER
------------------------------------------------- */
.tver_btn:hover{
	opacity: 0.7;
}




/* CONTENT
------------------------------------------------- */

.container_content .content_text {
	text-align: center;
}

.container_content .content_text p {
	font-size: 21px;
	font-weight: 600;
	color: #000;
	paint-order: stroke;
	line-height: 2.0;
}

.container_content .content_text strong {
	font-size: 3.2rem;
	font-weight: 600;
	color: #eb4124;
	paint-order: stroke;
}


@media screen and (max-width: 750px) {
	.container_content .content_text p {
		font-size: 15px;
		font-weight: 800;
		color: #000;
		transform: rotateZ(0.03deg);
	}

	.container_content .content_text strong {
		font-size: 1.8rem;
		font-weight: 600;
		color: #eb4124;
		paint-order: stroke;
	}
}




/* CAST
------------------------------------------------- */

.container_cast .cast_ttl {
	display: flex;
	justify-content: center;
}

.container_cast .cast_box {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 40px;
}


@media screen and (max-width: 750px) {
	.container_cast .cast_box {
		display: flex;
		justify-content: center;
		align-items: center;
		flex-direction: column;
		gap: 20px;
	}
}







.animation {
	animation: fadeTop .5s ease-out forwards;
}

/* フェードイン */
@-webkit-keyframes fadeIn {
	0% {
		opacity: 0;
	}

	100% {
		opacity: 1;
	}
}

@keyframes fadeIn {
	0% {
		opacity: 0;
	}

	100% {
		opacity: 1;
	}
}

/* 上方向フェード */
@-webkit-keyframes fadeTop {
	0% {
		transform: translate3d(0, 100px, 0);
		opacity: 0;
	}

	100% {
		transform: translate3d(0, 0, 0);
		opacity: 1;
	}
}

@keyframes fadeTop {
	0% {
		transform: translate3d(0, 100px, 0);
		opacity: 0;
	}

	100% {
		transform: translate3d(0, 0, 0);
		opacity: 1;
	}
}