/* =============================================
mv
============================================= */
.mv {
	padding-top: 95px;
	padding-bottom: 0;
	background-image: url(../img/common/mv_bg.png);
	background-color: #FFF22C;
	background-position: center;
	background-repeat: no-repeat;
	background-size: auto 100%;
}

.mv_grid {
	display: grid;
	grid-template-rows: max-content 1fr;
	grid-template-columns: max-content 265px 1fr;
	grid-template-areas:
		"cont slide cta"
		"btn  slide cta";
}

.mv_grid .cont {
	grid-area: cont;
	display: flex;
	flex-direction: column;
	gap: .5rem;
}

.mv_grid .btn_wrap {
	grid-area: btn;
	margin-top: 2em;
	margin-right: 20px;
	padding-bottom: 1em;
	padding-left: 30px;
}

.mv_grid .slide {
	grid-area: slide;
	position: relative;
	padding: 0 1rem;
	background-color: #000;
}

.mv_grid .cta {
	grid-area: cta;
}

/* slide */
@media screen and (min-width: 767px) {
	.slide .container {
		position: relative;
		width: 100%;
		height: 100%;
	}

	.slide .slider {
		display: flex;
		flex-direction: column-reverse;
		overflow: hidden;
		position: absolute;
		inset: 0;
		margin: auto;
	}

	.slide .slider_list {
		display: flex;
		flex-direction: column-reverse;

		margin: 0;
		padding: 0;
		align-items: center;
		animation: slideShow 20s infinite linear;
		list-style: none;
	}

	.slide .slider_list:first-child {
		transform: translateY(-121px);
	}

	.slide .slider_item {
		width: 100%;
		padding: .5rem 0;
	}

	.slide .slider_item img {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}

	.slide .slider:hover .slider_list {
		animation-play-state: paused;
	}

	@keyframes slideShow {
		0% {
			transform: translateY(0%);
		}

		100% {
			transform: translateY(100%);
		}
	}

	.mv_grid .slide.bg_shodow_dots::before {
		top: 0;
	}
}

/* flag */
.mv_grid .mv_flag {
	display: flex;
	gap: .5rem;
	justify-items: center;
	align-items: center;
	margin-left: 1em;
}

.mv_grid .mv_flag .flag {
	width: 146px;
	height: 80px;
	font-size: 14px;
	font-weight: bold;
	color: #fff;
	filter: drop-shadow(2px 2px 4px rgba(0 0 0 / .25));
	background-color: var(--purple);
	border-radius: 0 0 20px 20px;
	text-align: center;
	padding-top: .5rem;
}

.mv_grid .mv_flag .flag .num {
	font-family: 'Oswald';
	font-weight: bold;
	font-size: 36px;
	line-height: 1;
}

/* title */
.mv_grid .title {
	position: relative;
	font-size: 30px;
	color: #1D1476;
	padding-inline: 1em 0;
	width: calc(454px + 3em); /* flag のサイズ + α */
	text-align: left;
}

.mv_grid .title .relative {
	max-width: calc(100% - 1em);
}

.mv_grid .title .c_pink {
	font-size: 46px;
}

.mv_grid .title::before {
	content: "";
	position: absolute;
	top: 0;
	right: 1rem;
	width: 100vw;
	height: 100%;
	background-color: #fff;
	border-radius: 9999px;
}

/* list */
.mv_grid .tlist {
	display: flex;
	flex-wrap: wrap;
	gap: .5rem;
	max-width: 430px;
	margin-block: 1em;
}

.mv_grid .tlist li {
	border-radius: 9999px;
	padding: .25em 1em;
	color: #fff;
	font-weight: bold;
	background-color: var(--light_pink);
}

/* btn */
.mv_grid .btn_limg {
	font-size: 0;
	position: relative;
	padding-left: 6.5rem;
}

.mv_grid .btn_limg>small {
	display: inline-block;
	font-size: 14px;
	line-height: 1.2;
}

.mv_grid .btn_limg>span {
	display: inline-block;
	font-size: 24px;
	line-height: 1.2;
}

.mv_grid .btn_limg::before {
	content: "";
	position: absolute;
	bottom: -5px;
	left: -2rem;
	background: url(../img/common/mv_cta_btn.png);
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	display: inline-block;
	width: 140px;
	height: 95px;
}

/* cta iframe */
.mv_grid .cta {
	margin-left: 1rem;
	display: flex;
	justify-content: center;
	align-items: center;
}

.mv_grid .cta .iframe_wrap {
	width: 100%;
	border-radius: 10px;
	overflow: hidden;
}

.mv_grid .cta .iframe_wrap p {
	font-size: 12px;
	font-weight: bold;
	text-align: center;
	color: #fff;
	background-color: #000;
	padding: 8px 0;
}

.mv_grid .cta .iframe_wrap .iframe {
	height: auto;
	background-color: rgb(255 255 255 / 100%);
}

/* =============================================
mv sp
============================================= */
@media screen and (max-width: 767px) {
	.mv {
		background-image: none;
	}

	.mv_grid {
		display: grid;
		grid-template-rows: max-content;
		grid-template-columns: 100%;
		grid-template-areas:
			"cont"
			"slide"
			"btn";
	}

	.mv_grid .cta {
		display: none;
	}

	.mv .inner {
		padding: 0;
	}

	.mv_grid .title {
		width: 100%;
		font-size: 24px;
		padding-inline: 1rem;
	}

	.mv_grid .title .c_pink {
		font-size: 30px;
	}

	.mv_grid .title::before {
		right: 0;
		border-radius: 0;
		top: -8%;
		height: 108%;
	}

	.mv_grid .cont {
		margin-right: 0px;
		gap: 0;
	}

	.mv_grid .tlist {
		background-color: #fff;
		margin: 0;
		padding: 1em;
		position: relative;
	}


	.mv_grid .tlist::before {
		content: "";
		position: absolute;
		inset: 1em;
		background-image: url(../img/common/mv_bg_tag_sp.svg);
		background-repeat: no-repeat;
		background-size: auto 100%;
		background-position: right bottom;
	}

	.mv_grid .tlist li {
		z-index: 1;
	}

	.mv_grid .mv_flag {
		position: relative;
		z-index: 1;
	}

	.mv_grid .btn_limg>span {
		font-size: 20px;
	}

	.mv_grid .btn_limg>small {
		font-size: 12px;
	}

	.mv_grid .btn_limg {
		width: 100%;
	}

	.mv_grid .slide {
		padding: 0;
	}

	@keyframes infinity-scroll-left {
		from {
			transform: translateX(0);
		}

		to {
			transform: translateX(-100%);
		}
	}

	.slide .slider {
		display: flex;
		overflow: hidden;
	}

	.slide .slider_list {
		display: flex;
		list-style: none;
		padding: 0;
		margin: .5em 0;
		animation: infinity-scroll-left 20s infinite linear 0.5s both;
	}

	.slide .slider_item {
		width: calc(100vw / var(--slide-count) * 2);
	}

	.slide .slider_item>img {
		width: 100%;
        height: 100%;
        object-fit: cover;
		padding-inline: .5em;
	}

	.mv .bg_shodow_dots::before {
		right: 0;
		top: 10px;
	}
}