@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Zen+Maru+Gothic:wght@500;700;900&family=Noto+Sans+JP:wght@400;500;700&display=swap');
/* -----------------------------------------------------------------
フォント設定
----------------------------------------------------------------- */
/* -----------------------------------------------------------------
メディアクエリ
----------------------------------------------------------------- */
/* media query */
/* -----------------------------------------------------------------
ホバー
----------------------------------------------------------------- */
/* -----------------------------------------------------------------
ホバーアニメーション
----------------------------------------------------------------- */
/* 半透明になる - 優先度の低いバナーなど */
/* 押しボタン - UIパーツなど */
@keyframes hoverPush {
	30% {
		transform: scale(0.92);
	}

	100% {
		transform: scale(1);
	}
}
/* 飛び出し - 目立たせたい要素など */
@keyframes hoverOutBack {
	50% {
		translate: 0 -10%;
	}

	100% {
		translate: 0 0%;
	}
}
/* -----------------------------------------------------------------
テキスト内リンク設定
----------------------------------------------------------------- */
/* -----------------------------------------------------------------
リンクアイコン付与
----------------------------------------------------------------- */
/* aタグ内のspanにアイコン付与したい際にselectorWrapは使用する */
/* -----------------------------------------------------------------
拡張子別リンクアイコンカラー設定
----------------------------------------------------------------- */
/* -----------------------------------------------------------------
子要素のマージントップを0に強制
----------------------------------------------------------------- */
/* -----------------------------------------------------------------
次要素のマージントップを0に強制
----------------------------------------------------------------- */
/* -----------------------------------------------------------------
カラム別マージントップ設定
----------------------------------------------------------------- */
/* -----------------------------------------------------------------
テキスト非表示
----------------------------------------------------------------- */
/* -----------------------------------------------------------------
クリック・タッチの最小ターゲット設定
----------------------------------------------------------------- */
/* -----------------------------------------------------------------
Webフォント設定
----------------------------------------------------------------- */
/* -----------------------------------------------------------------
CSS変数設定
----------------------------------------------------------------- */
:root {
	--primary: #e8380d;
	--secondary: #94252a;
	--txtColor: #3b3d48;
	--borderColor: #c6c6c6;
	--bgColor: #fff;
	--bgColorSecondary: #3b3d48;
	--bgColorTertiary: #f5f5f5;
	--bgColorTh: #e6e6e6;
	--bgColorThSub: rgba(230,230,230, 0.25);
	--white: #fff;
	--black: #3b3d48;
	--fontFamily: 'Noto Sans JP', 'ヒラギノ角 Pro W3', 'Hiragino Kaku Pro W3', 'メイリオ', Meiryo, 'MS Pゴシック',
		'MS PGothic', sans-serif;
	--txtSizeSp: 1.4rem;
	--txtSizePc: 1.6rem;
	--lineHeight: 1.75;
	--lineHeightTitle: 1.5;
	--letterSpacing: 0.01em;
	--fixedWidth: 1040px;
	--fixedWidthInner: 880px;
	--fixedWidthMain: 800px;
	--zIndexLv0: 0;
	--zIndexLv1: 1;
	--zIndexLv2: 10;
	--zIndexLv3: 100;
	--zIndexLv4: 1000;
	--zIndexLv5: 10000;
	--breakTabLength: 768;
	--breakPcLength: 1025;
	/* 個人設定 */
	--colorKey: #5d38b1;
	--colorKey50: #f9b5d4;
	--colorKey25: #fcdae9;
	--colorKeyText: #5d38b1;
	/* キャラ設定 */
	--colorCureidol: #ed2d7a;
	--colorCurewink: #4060ef;
	--colorCurekyunkyun: #a74eff;
	--colorPurirun: #55a248;
	--colorMeroron: #e795cd;
	--colorTyokkiri: #68343c;
	/* イージング */
	--easeOutBack: cubic-bezier(0.4, 1.5, 0.64, 1.5);
	/* アスペクト比計算用 */
	--widthPC: 1440;
	--widthSP: 750;
	--heightCharacterPc: 700;
	--heightCharacterSp: 856;
}
/* ------------------------------
		トップの設定
------------------------------ */
.l-header__logo {
	display: none;
}
/* 画面一番上で非表示 */
.l-footer .l-footer__nav {
		visibility: hidden;
		opacity: 0;
	}
.l-footer .l-footer__content {
		display: none;
	}
.p-back {
	position: relative;
	background: url('/tv/precure/assets/images/common/p_top_bg.jpg') center no-repeat;
	background-size: cover;
}
@media print, screen and (min-width: 1025px) {
.p-back {
		padding-bottom: 512px
}
	}
/* ------------------------------
		メインビジュアル
------------------------------ */
:root {
	--heightMvPC: 990;
	--heightMvSP: 990;
}
[data-gsap-mv] {
	visibility: hidden;
	opacity: 0;
}
.p-mv__loading {
	position: fixed;
	z-index: var(--zIndexLv5);
	/* display: grid; */
	display: none;
	place-items: center;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, .6);
}
.p-mv__loading img {
		display: none;
		width: 80px;
		aspect-ratio: 1/1;
	}
@media print, screen and (min-width: 1025px) {
.p-mv__loading img {
			display: none;
			width: 160px
	}
	}
.p-mv {
	position: relative;
	z-index: 2;
	width: 100%;
	aspect-ratio: var(--widthSP)/var(--heightMvPC);
}
@media print, screen and (min-width: 1025px) {
.p-mv {
		aspect-ratio: var(--widthPC)/var(--heightMvPC);
}
	}
.p-mv .p-mv__character-wrap {
		position: relative;
		z-index: 1;
		aspect-ratio: var(--widthSP)/var(--heightMvSP);
		background: url('/tv/precure/assets/images/common/p_top_bg.jpg') center no-repeat;
	}
@media print, screen and (min-width: 1025px) {
.p-mv .p-mv__character-wrap {
			aspect-ratio: var(--widthPC)/var(--heightMvPC);
			background: url('/tv/precure/assets/images/common/p_top_bg.jpg') center no-repeat
	}
	}
.p-mv .p-mv__character {
		position: absolute;
		top: 0;
		display: block;
		width: 100%;
		opacity: 1;
		transition: opacity 1s;
	}
.p-mv .p-mv__character:first-child {
			z-index: var(--zIndexLv2);
		}
.p-mv .p-mv__character img {
			display: block;
			width: 100%;
		}
.p-mv .p-mv__character .p-mv__character_bg {
			position: absolute;
			z-index: -10;
		}
.p-mv .p-mv__character .p-mv__character {
			position: absolute;
		}
@media print, screen and (min-width: 1025px) {
.p-mv .p-mv__character .p-mv__character {
				right: 0;
				z-index: 5;
				width: 90%
		}
	}
.p-mv .p-mv__copy {
		position: absolute;
		top: calc(250 / var(--heightMvPC) * 100%);
		right: calc(30 / var(--widthSP) * 100%);
		width: calc(105 / var(--widthSP) * 100%);
		aspect-ratio: 116/336;
	}
@media print, screen and (min-width: 1025px) {
.p-mv .p-mv__copy {
			top: calc(270 / var(--heightMvPC) * 100%);
			right: calc(200 / var(--widthPC) * 100%);
			width: calc(116 / var(--widthPC) * 100%);
	}
	}
.p-mv .p-mv__copy img {
			width: 100%;
		}
/* <-- ビジュアルセレクトボタン --> */
.p-mv__select {
	position: absolute;
	right: 0;
	bottom: calc(110 / var(--heightMvPC) * 100%);
	z-index: 10;
	display: block;
	width: 55px;
	/* height: 167px; */
	padding: 9px 3px;
	background-color: #5d38b1;
	border-radius: 6px 0 0 6px;
}
@media print, screen and (min-width: 1025px) {
    .p-mv__select {
        top: 40%;
        bottom: calc(0 / var(--heightMvPC) * 100%);
        width: 100px;
        height: 625px;
        padding: 20px 8px;
        border-radius: 12px 0 0 12px;
 	   }
	}
.p-mv__select-inner {
	text-align: center;
}
.p-mv__select-image {
	width: 40px;
}
@media print, screen and (min-width: 768px) {
.p-mv__select-image {
		width: 70px
}
	}
.p-mv__select-col {
	display: grid;
	grid-template-rows: repeat(3, 1fr);
	max-height: 280px;
	margin-top: 4px;
}
@media print, screen and (min-width: 1025px) {
.p-mv__select-col {
		margin-top: 10px
}
	}
.p-mv__select-item {
	margin-top: 5px;
	text-align: center;
}
@media print, screen and (min-width: 1025px) {
.p-mv__select-item {
		margin-top: 10px
}
	}
@media print, screen and (min-width: 1025px) {
		.p-mv__select-item-hover:focus-visible {
		animation: hoverPush 340ms linear;
	}
		@media (hover: hover) and (pointer: fine) {
		.p-mv__select-item-hover:hover {
		animation: hoverPush 340ms linear;
		}
	}
	}
.p-mv__select-btn {
	padding: 0;
	background-color: transparent;
	border: none;
	border-radius: 50%;
}
.p-mv__select-btn.p-mv__select-btn-hover {
		transition: opacity 160ms linear;
	}
.p-mv__select-btn.p-mv__select-btn-hover:focus-visible {
		opacity: .6;
	}
@media (hover: hover) and (pointer: fine) {
		.p-mv__select-btn.p-mv__select-btn-hover:hover {
		opacity: .6;
		}
	}
.p-mv__select-btn.is-active {
		opacity: 0.6;
	}
.p-mv__select-btn.is-active .p-mv__select-btn-img .is-off {
				display: none;
			}
.p-mv__select-btn.is-active .p-mv__select-btn-img .is-on {
				display: block;
			}
@media print, screen and (min-width: 1025px) {
.p-mv__select-btn.is-active .p-mv__select-btn-img{
				opacity: 1;
	}
	}
.p-mv__select-btn-img-src {
	width: 36px;
}
@media print, screen and (min-width: 1025px) {
.p-mv__select-btn-img-src {
		width: 72px;
		border: 2px solid transparent
}
	}
@media print, screen and (min-width: 768px) {
.p-mv__select-btn-img-src-change {
		width: 52px
}
	}
.p-mv__star-1 {
	position: absolute;
	top: calc(160 / var(--heightMvPC) * 100%);
	left: 0;
	z-index: 2;
	animation: bright 3s infinite;
}
.p-mv__star-1 img {
		width: 65px;
		height: 65px;
	}
@media print, screen and (min-width: 1025px) {
		.p-mv__star-1 img {
			width: 185px;
			height: 185px;
		}
	}
.p-mv__star-2 {
	position: absolute;
	top: calc(200 / var(--heightMvPC) * 100%);
	right: 0;
	z-index: 2;
	animation: bright 3s infinite;
	animation-delay: 1.5s;
}
.p-mv__star-2 img {
		width: 54px;
		height: 50px;
	}
@media print, screen and (min-width: 1025px) {
.p-mv__star-2{
		top: calc(320 / var(--heightMvPC) * 100%);
		animation-delay: 1s;
	}

		.p-mv__star-2 img {
			width: 154px;
			height: 154px;
		}
	}
.p-mv__star-3 {
	position: absolute;
	bottom: calc(150 / var(--heightMvPC) * 100%);
	left: calc(100 / var(--heightMvPC) * 100%);
	z-index: 2;
	animation: bright 3s infinite;
	animation-delay: 1.5s;
}
.p-mv__star-3 img {
		width: 54px;
		height: 50px;
	}
@media print, screen and (min-width: 1025px) {
.p-mv__star-3{
		bottom: calc(10 / var(--heightMvPC) * 100%);
		animation-delay: 1s;
	}

		.p-mv__star-3 img {
			width: 154px;
			height: 154px;
		}
	}
.p-mv__star-4 {
	position: absolute;
	right: calc(30 / var(--heightMvPC) * 100%);
	bottom: calc(50 / var(--heightMvPC) * 100%);
	z-index: 2;
	animation: bright 3s infinite;
}
.p-mv__star-4 img {
		width: 54px;
		height: 50px;
	}
@media print, screen and (min-width: 1025px) {
		.p-mv__star-4 img {
			width: 90px;
			height: 90px;
		}
	}
.p-mv__star-5 {
	position: absolute;
	z-index: 2;
}
@media print, screen and (min-width: 1025px) {
.p-mv__star-5 {
		top: calc(150 / var(--heightMvPC) * 100%);
		left: calc(320 / var(--heightMvPC) * 100%);
		animation: bright 3s infinite;
		animation-delay: 2s
}

		.p-mv__star-5 img {
			width: 90px;
			height: 90px;
		}
	}
.p-mv__star-6 {
	position: absolute;
	z-index: 2;
}
@media print, screen and (min-width: 1025px) {
.p-mv__star-6 {
		bottom: calc(250 / var(--heightMvPC) * 100%);
		left: calc(320 / var(--heightMvPC) * 100%);
		animation: bright 3s infinite;
		animation-delay: 2s
}

		.p-mv__star-6 img {
			width: 90px;
			height: 90px;
		}
	}
@keyframes bright {
	0% {
		opacity: 0;
		transform: scale(1);
	}

	50% {
		opacity: 1;
		transform: scale(1.2);
	}

	100% {
		opacity: 0;
		transform: scale(1);
	}
}
.p-mv__logo {
	position: absolute;
	bottom: calc(240 / var(--heightMvPC) * 100%);
	left: 50%;
	z-index: 10;
	width: 100%;
	translate: -50% 100%;
}
@media print, screen and (min-width: 1025px) {
.p-mv__logo {
		top: calc(10 / var(--heightMvPC) * 100%);
		bottom: initial;
		left: calc(20 / var(--widthPC) * 100%);
		width: calc(630 / var(--widthPC) * 100%);
		translate: calc(-64 / var(--widthPC) * 100%) 0;
}
	}
.p-mv__logo img {
		display: block;
		width: calc(600 / var(--widthSP) * 124%);
		margin-inline: auto;
		filter: drop-shadow(0px 0px 20px rgba(255, 255, 255, 0.5)) drop-shadow(0px 0px 20px rgba(255, 255, 255, 0.5));
	}
@media print, screen and (min-width: 1025px) {
.p-mv__logo img {
			width: 100%;
			margin-inline: 0
	}
	}
.p-mv__banner {
	display: none;
}
@media print, screen and (min-width: 1025px) {
.p-mv__banner {
		position: absolute;
		top: calc(350 / var(--heightMvPC) * 100%);
		left: calc(0 / var(--widthPC) * 100%);
		/*
		left: calc(40 / var(--widthPC) * 100%);
		*/
		z-index: 10;
		display: block
}
	}
.p-banner-date {
	position: relative;
	z-index: 2;
	display: block;
	padding-top: 10px;
	margin-right: -15px;
	margin-left: -20px;
	text-align: center;
}
@media print, screen and (min-width: 1025px) {
.p-banner-date {
		width: calc(523 / var(--widthPC) * 100vw);
		padding-top: 30px;
		margin-inline: 0;
}
	}
.p-banner-date img {
		width: 100%;
	}
.p-banner__notice {
	display: block;
	width: 90%;
	margin-inline: auto;
	margin-top: 20px;
}
@media print, screen and (min-width: 1025px) {
.p-banner__notice {
		width: calc(420 / var(--widthPC) * 100vw);
}
	}
.p-banner__notice img {
		width: 100%;
	}
@media print, screen and (min-width: 1025px) {
.p-banner__notice img {
			filter: drop-shadow(0px 0px 15px rgba(255, 255, 255, 1)) drop-shadow(0px 0px 30px rgba(255, 255, 255, 0.5))
	}
	}
.p-banner__notice:focus-visible {
		animation: hoverPush 340ms linear;
	}
@media (hover: hover) and (pointer: fine) {
		.p-banner__notice:hover {
		animation: hoverPush 340ms linear;
		}
	}
/* ------------------------------
		バナーエリア
------------------------------ */
.p-banner {
	position: relative;
	padding-bottom: 60px;
	margin-top: calc(300 / var(--widthPC) * 100%);
}
.p-banner::after {
		position: absolute;
		right: 0;
		bottom: -7px;
		left: 0;
		display: block;
		width: 101%;
		height: 8px;
		margin: auto;
		content: '';
		background: url('/tv/precure/assets/images/top/p_cloud-line_sp.png') center repeat-x;
		background-size: contain;
	}
@media screen and (min-width: 768px) and (max-width: 1024px) {
.p-banner{
		padding-bottom: 120px;
	}
	}
@media screen and (min-width: 768px) and (max-width: 1024px) {
.p-banner__inner {
		max-width: calc(500 / var(--widthSP) * 100%);
		margin-inline: auto
}
	}
.p-banner__mv {}
/* ------------------------------
		ムービー
------------------------------ */
.p-movie {
	position: relative;
	height: 100%;
	padding-block: calc(90 / var(--widthSP) * 100%);
}
@media print, screen and (min-width: 1025px) {
.p-movie {
		padding-block: calc(280 / var(--widthPC) * 100%) 110px
}
	}
.p-movie__back {
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: -1;
	height: 100%;
	/* min-width: 100%; */
	min-height: 100%;
	aspect-ratio: 16/9;
	margin: auto;
	overflow: hidden;
	background: linear-gradient(45deg, #d8f4ff, #edc5ff, #ffd2e7);
	transform: translate(-50%, -50%);
}
.p-movie__back iframe {
		position: absolute;
		top: 0;
		left: 0;
		min-width: 100%;
		height: 100%;
		min-height: 100%;
		opacity: 0.4
	}
.p-movie__title {
	width: 40%;
	margin-inline: auto;
	text-align: center;
}
@media print, screen and (min-width: 1025px) {
.p-movie__title {
		width: 100%
}
	}
.p-movie__swiper {
	margin-top: 20px;
}
@media print, screen and (min-width: 1025px) {
.p-movie__swiper {
		margin-top: 40px;
}
	}
.p-movie__swiper .p-movie__swiper-content {
		position: relative;
	}
.p-movie__swiper .p-movie__swiper-content .swiper-slide-active .c-list-movie__modal::before {
					background-color: rgba(46, 18, 110, 0.6);
				}
.p-movie__swiper .p-movie__swiper-content .swiper-slide-active .c-list-movie__modal:focus-visible::before {
						background-color: rgba(46, 18, 110, 0.4);
					}
@media (hover: hover) and (pointer: fine) {
					.p-movie__swiper .p-movie__swiper-content .swiper-slide-active .c-list-movie__modal:hover::before {
						background-color: rgba(46, 18, 110, 0.4);
					}
	}
@media print, screen and (min-width: 1025px) {
.p-movie__swiper .p-movie__swiper-content .swiper-slide-active{
				transform: scale(1.1);
	}
	}
.p-movie__swiper .p-movie__swiper-content .swiper-slide {
			position: relative;
		}
.p-movie__swiper .p-movie__swiper-content .swiper-slide .c-list-movie__title {
				position: absolute;
				right: 0;
				bottom: 10px;
				left: 0;
				padding-inline: 20px;
				margin-inline: auto;
				font-size: 1.2rem;
				font-weight: bold;
				line-height: 1.5;
				color: var(--white);
				text-align: center;
			}
@media print, screen and (min-width: 1025px) {
.p-movie__swiper .p-movie__swiper-content .swiper-slide .c-list-movie__title {
					font-size: 1.6rem
			}
	}
.p-movie__swiper .p-movie__swiper-content .swiper-button-next,
		.p-movie__swiper .p-movie__swiper-content .swiper-button-prev {
			top: 0;
			bottom: 0;
			width: 80px;
			height: 78px;
			margin: auto;
		}
.p-movie__swiper .p-movie__swiper-content .swiper-button-next::after,
		.p-movie__swiper .p-movie__swiper-content .swiper-button-prev::after {
			content: none;
		}
.p-movie__swiper .p-movie__swiper-content .swiper-button-next {
			right: calc(232 / var(--widthPC) * 100%);
			left: auto;
			background-image: url('/tv/precure/assets/images/top/b_slidearrow_right.png');
			/* 次へボタンの画像 */
			background-size: cover;
		}
.p-movie__swiper .p-movie__swiper-content .swiper-button-prev {
			right: auto;
			left: calc(232 / var(--widthPC) * 100%);
			background-image: url('/tv/precure/assets/images/top/b_slidearrow_left.png');
			/* 前へボタンの画像 */
			background-size: cover;
		}
.p-movie__swiper .p-movie__swiper-content .c-list-movie__modal {
			position: relative;
			padding: 0;
			background-color: none;
			border: none;
		}
.p-movie__swiper .p-movie__swiper-content .c-list-movie__modal::before {
				position: absolute;
				top: 0;
				left: 0;
				z-index: 2;
				width: 100%;
				height: 100%;
				pointer-events: none;
				/* 黒の半透明（80%の不透明度） */
				content: '';
				/* オーバーレイがクリック操作を妨げないようにする */
				background-color: rgba(0, 0, 0, 0.8);
				transition: 0.3s ease-out;
			}
.p-movie__swiper .p-movie__swiper-content .c-list-movie__modal::after {
				position: absolute;
				top: 0;
				right: 0;
				bottom: 0;
				left: 0;
				z-index: 3;
				display: block;
				width: 56px;
				height: 56px;
				margin: auto;
				content: '';
				background: url('/tv/precure/assets/images/common/i_play.png') center no-repeat;
				background-size: 100% auto;
			}
@media print, screen and (min-width: 1025px) {
				.p-movie__swiper .p-movie__swiper-content .c-list-movie__modal::after {
					width: 80px;
					height: 80px;
				}
	}
.p-movie__swiper .p-movie__swiper-content .c-list-movie__modal:focus-visible::before {
					background-color: rgba(0, 0, 0, 0.4);
				}
@media (hover: hover) and (pointer: fine) {
				.p-movie__swiper .p-movie__swiper-content .c-list-movie__modal:hover::before {
					background-color: rgba(0, 0, 0, 0.4);
				}
	}
/* 1枚の時 */
.p-movie__swiper .p-movie__swiper-content.p-single-slide .swiper-slide {
				width: 80%;
				margin-inline: auto;
				text-align: center;
			}
@media print, screen and (min-width: 1025px) {
.p-movie__swiper .p-movie__swiper-content.p-single-slide .swiper-slide {
					width: 60%
			}
	}
.p-movie__swiper .p-movie__swiper-content.p-single-slide .c-list-movie__modal::before {
					background-color: rgba(46, 18, 110, 0.6);
				}
.p-movie__swiper .p-movie__swiper-content.p-single-slide .c-list-movie__modal:focus-visible::before {
						background-color: rgba(46, 18, 110, 0.4);
					}
@media (hover: hover) and (pointer: fine) {
					.p-movie__swiper .p-movie__swiper-content.p-single-slide .c-list-movie__modal:hover::before {
						background-color: rgba(46, 18, 110, 0.4);
					}
	}
.p-movie__swiper .p-movie__swiper-content.p-single-slide .swiper-button-next,
			.p-movie__swiper .p-movie__swiper-content.p-single-slide .swiper-button-prev {
				background-image: none;
			}
.p-movie__button {
	width: 280px;
	margin-inline: auto;
	margin-top: 32px;
}
@media print, screen and (min-width: 1025px) {
.p-movie__button {
		width: 440px;
		margin-top: 50px
}
	}
.p-movie__button-link {
	display: block;
}
.p-movie__button-link:focus-visible {
		animation: hoverPush 340ms linear;
	}
@media (hover: hover) and (pointer: fine) {
		.p-movie__button-link:hover {
		animation: hoverPush 340ms linear;
		}
	}
.p-movie__button-link{
	padding-right: 8px;
}
/* ------------------------------
		活動報告
------------------------------ */
.p-activity {
	position: relative;
	padding-block: 0px calc(120 / var(--widthSP) * 100%);
}
@media print, screen and (min-width: 1025px) {
.p-activity {
		padding-block: 0;
}
	}
.p-activity .c-btn-pulldown {
		display: none;
	}
.p-activity .p-activity__inner {
		position: relative;
	}
.p-activity .p-activity__inner::before {
			position: absolute;
			top: 90px;
			left: 15px;
			display: block;
			width: 42px;
			height: 40px;
			margin: auto;
			content: '';
			background: url('/tv/precure/assets/images/top/p_jewelry_01.png') center no-repeat;
			background-size: 100% auto;
			animation: floatUpDown 6s ease-in-out infinite;
		}
.p-activity .p-activity__inner::after {
			position: absolute;
			right: -8px;
			bottom: 100px;
			display: block;
			width: 62px;
			height: 65px;
			margin: auto;
			content: '';
			background: url('/tv/precure/assets/images/top/p_note_01.png') center no-repeat;
			background-size: 100% auto;
			animation: floatUpDown 6s ease-in-out infinite;
			animation-delay: 2s;
		}
@media print, screen and (min-width: 1025px) {
			.p-activity .p-activity__inner::before {
				top: 180px;
				left: 60px;
				width: 83px;
				height: 79px;
				animation: floatUpDownPc 6s ease-in-out infinite;
			}

			.p-activity .p-activity__inner::after {
				top: 100px;
				right: 30px;
				width: 154px;
				height: 161px;
				animation: floatUpDownPc 6s ease-in-out infinite;
				animation-delay: 2s;
			}
	}
.p-activity .p-activity__title-bg {
		position: relative;
	}
.p-activity .p-activity__title-bg::before {
			position: absolute;
			top: 0;
			right: 0;
			bottom: 6px;
			left: 0;
			z-index: 3;
			display: block;
			width: 100vw;
			aspect-ratio: 1500 / 396;
			margin: auto;
			content: '';
			background: url('/tv/precure/assets/images/top/t_ttl_activity_bg_sp.png') center no-repeat;
			background-size: 100% auto;
		}
@media print, screen and (min-width: 1025px) {
			.p-activity .p-activity__title-bg::before {
				bottom: 10px;
				aspect-ratio: 2880 / 356;
				background: url('/tv/precure/assets/images/top/t_ttl_activity_bg.png') center no-repeat;
				background-size: 100% auto;
			}
	}
.p-activity .p-activity__title {
		position: relative;
		z-index: 5;
		width: 150px;
		margin-inline: auto;
	}
@media print, screen and (min-width: 1025px) {
.p-activity .p-activity__title {
			width: 250px
	}
	}
.p-activity .p-activity__list {
		margin-top: 18px;
	}
@media print, screen and (min-width: 1025px) {
.p-activity .p-activity__list {
			margin-top: 50px
	}
	}
.p-activity .p-activity__button {
		width: 280px;
		margin-inline: auto;
		margin-top: 32px;
	}
@media print, screen and (min-width: 1025px) {
.p-activity .p-activity__button {
			width: 440px;
			margin-top: 50px
	}
	}
.p-activity .p-activity__button-link {
		display: block;
	}
.p-activity .p-activity__button-link:focus-visible {
		animation: hoverPush 340ms linear;
	}
@media (hover: hover) and (pointer: fine) {
		.p-activity .p-activity__button-link:hover {
		animation: hoverPush 340ms linear;
		}
	}
.p-activity .p-activity__button-link{
		padding-right: 8px;
}
/* ------------------------------
		トピックス
------------------------------ */
.p-topics {
	position: relative;
	padding-block: 0 calc(120 / var(--widthSP) * 100%);
}
@media print, screen and (min-width: 1025px) {
.p-topics {
		padding-block: 110px 0px;
}
	}
.p-topics .c-btn-pulldown {
		display: none;
	}
.p-topics .p-topics__inner {}
.p-topics__title-bg {
	position: relative;
}
.p-topics__title-bg::before {
		position: absolute;
		top: 0;
		right: 0;
		bottom: 6px;
		left: 0;
		z-index: 3;
		display: block;
		width: 100vw;
		aspect-ratio: 1500 / 396;
		margin: auto;
		content: '';
		background: url('/tv/precure/assets/images/top/t_ttl_topics_bg_sp.png') center no-repeat;
		background-size: 100% auto;
	}
@media print, screen and (min-width: 1025px) {
		.p-topics__title-bg::before {
			bottom: 10px;
			aspect-ratio: 2880 / 356;
			background: url('/tv/precure/assets/images/top/t_ttl_topics_bg.png') center no-repeat;
			background-size: 100% auto;
		}
	}
.p-topics__title {
	position: relative;
	z-index: 5;
	width: 170px;
	margin-inline: auto;
}
@media print, screen and (min-width: 1025px) {
.p-topics__title {
		width: 280px
}
	}
.p-topics__list {
	margin-top: 18px;
}
@media print, screen and (min-width: 1025px) {
.p-topics__list {
		margin-top: 50px
}
	}
.p-topics__button {
	width: 280px;
	margin-inline: auto;
	margin-top: 32px;
}
@media print, screen and (min-width: 1025px) {
.p-topics__button {
		width: 440px;
		margin-top: 50px
}
	}
.p-topics__button-link {
	display: block;
	padding-right: 8px;
}
.p-topics__button-link:focus-visible {
		animation: hoverPush 340ms linear;
	}
@media (hover: hover) and (pointer: fine) {
		.p-topics__button-link:hover {
		animation: hoverPush 340ms linear;
		}
	}
/* ------------------------------
		次回予告
------------------------------ */
.p-notice {
	position: relative;
	padding-block: 0 30px;
}
@media print, screen and (min-width: 1025px) {
.p-notice {
		padding-block: 110px 180px;
}
	}
.p-notice .p-notice__inner {}
.p-notice .p-notice__title-bg {
		position: relative;
	}
.p-notice .p-notice__title-bg::before {
			position: absolute;
			top: 0;
			right: 0;
			bottom: 6px;
			left: 0;
			z-index: 3;
			display: block;
			width: 100vw;
			aspect-ratio: 1500 / 396;
			margin: auto;
			content: '';
			background: url('/tv/precure/assets/images/top/t_ttl_notice_bg_sp.png') center no-repeat;
			background-size: 100% auto;
		}
@media print, screen and (min-width: 1025px) {
			.p-notice .p-notice__title-bg::before {
				bottom: 10px;
				aspect-ratio: 2880 / 356;
				background: url('/tv/precure/assets/images/top/t_ttl_notice_bg.png') center no-repeat;
				background-size: 100% auto;
			}
	}
.p-notice .p-notice__title {
		position: relative;
		z-index: 5;
		width: 150px;
		margin-inline: auto;
	}
@media print, screen and (min-width: 1025px) {
.p-notice .p-notice__title {
			width: 250px
	}
	}
.p-notice .p-notice__content {
		margin-top: 20px;
	}
@media print, screen and (min-width: 768px) {
.p-notice .p-notice__content {
			margin-top: 80px
	}
	}
/* ------------------------------
		キャラクター
------------------------------ */
.p-decoration-1 {
	position: relative;
}
.p-decoration-1::before {
		position: absolute;
		bottom: -186px;
		left: -35px;
		z-index: -1;
		display: block;
		width: 76px;
		height: 131px;
		margin: auto;
		content: '';
		background: url('/tv/precure/assets/images/top/p_note_04.png') center no-repeat;
		background-size: 100% auto;
		animation: floatUpDown 6s ease-in-out infinite;
		animation-delay: 0s;
	}
@media print, screen and (min-width: 1025px) {
		.p-decoration-1::before {
			bottom: -300px;
			left: -200px;
			width: 259px;
			height: 448px;
			animation: floatUpDownPc 6s ease-in-out infinite;
			animation-delay: 2s;
		}
	}
.p-decoration-2 {
	position: relative;
}
.p-decoration-2::before {
		position: absolute;
		top: 260px;
		left: 0px;
		display: block;
		width: 20px;
		height: 66px;
		margin: auto;
		content: '';
		background: url('/tv/precure/assets/images/top/p_note_06.png') center no-repeat;
		background-size: 100% auto;
		animation: floatUpDown 6s ease-in-out infinite;
	}
.p-decoration-2::after {
		position: absolute;
		top: 240px;
		right: 0px;
		display: block;
		width: 23px;
		height: 48px;
		margin: auto;
		content: '';
		background: url('/tv/precure/assets/images/top/p_note_09.png') center no-repeat;
		background-size: 100% auto;
		animation: floatUpDown 6s ease-in-out infinite;
		animation-delay: 2s;
	}
@media print, screen and (min-width: 1025px) {
		.p-decoration-2::before {
			top: 300px;
			left: 60px;
			width: 64px;
			height: 214px;
			animation: floatUpDownPc 6s ease-in-out infinite;
		}

		.p-decoration-2::after {
			top: 360px;
			right: 50px;
			width: 65px;
			height: 135px;
			animation: floatUpDownPc 6s ease-in-out infinite;
			animation-delay: 2s;
		}
	}
.p-decoration-3 {
	position: relative;
	margin: 30px auto;
	text-align: center;
}
.p-decoration-3::before {
		position: absolute;
		bottom: -20px;
		left: -40px;
		z-index: -1;
		display: block;
		width: 45px;
		height: 56px;
		margin: auto;
		content: '';
		background: url('/tv/precure/assets/images/top/p_jewelry_03.png') center no-repeat;
		background-size: 100% auto;
		animation: floatUpDown 6s ease-in-out infinite;
		animation-delay: 4s;
	}
.p-decoration-3::after {
		position: absolute;
		top: 20px;
		right: -35px;
		z-index: -1;
		display: block;
		width: 20px;
		height: 30px;
		margin: auto;
		content: '';
		background: url('/tv/precure/assets/images/top/p_note_08.png') center no-repeat;
		background-size: 100% auto;
	}
@media print, screen and (min-width: 1025px) {
		.p-decoration-3::before {
			bottom: -100px;
			left: -400px;
			width: 121px;
			height: 153px;
			animation: floatUpDownPc 6s ease-in-out infinite;
			animation-delay: 4s;
		}

		.p-decoration-3::after {
			top: 70px;
			right: -240px;
			width: 67px;
			height: 101px;
		}
	}
.p-decoration-4 {
	position: relative;
}
.p-decoration-4::before {
		position: absolute;
		top: -20px;
		left: -26px;
		z-index: -1;
		display: block;
		width: 45px;
		height: 73px;
		margin: auto;
		content: '';
		background: url('/tv/precure/assets/images/top/p_note_11.png') center no-repeat;
		background-size: 100% auto;
		animation: floatUpDown 6s ease-in-out infinite;
		animation-delay: 2s;
	}
.p-decoration-4::after {
		position: absolute;
		top: 0px;
		right: -24px;
		z-index: -1;
		display: block;
		width: 39px;
		height: 35px;
		margin: auto;
		content: '';
		background: url('/tv/precure/assets/images/top/p_jewelry_04.png') center no-repeat;
		background-size: 100% auto;
		animation: floatUpDown 6s ease-in-out infinite;
	}
@media print, screen and (min-width: 1025px) {
		.p-decoration-4::before {
			top: -80px;
			left: -100px;
			width: 148px;
			height: 238px;
			animation: floatUpDownPc 6s ease-in-out infinite;
			animation-delay: 2s;
		}

		.p-decoration-4::after {
			top: 10px;
			right: -100px;
			width: 185px;
			height: 169px;
			animation: floatUpDownPc 6s ease-in-out infinite;
		}
	}
.p-decoration-5 {
	position: relative;
}
.p-decoration-5::after {
		position: absolute;
		top: 80px;
		right: 0px;
		z-index: 0;
		display: block;
		width: 35px;
		height: 46px;
		margin: auto;
		content: '';
		background: url('/tv/precure/assets/images/top/p_jewelry_02.png') center no-repeat;
		background-size: 100% auto;
		animation: floatUpDown 6s ease-in-out infinite;
		animation-delay: 4s;
	}
@media print, screen and (min-width: 1025px) {
		.p-decoration-5::after {
			top: 160px;
			right: 60px;
			width: 131px;
			height: 175px;
			animation: floatUpDownPc 6s ease-in-out infinite;
			animation-delay: 4s;
		}
	}
@keyframes floatUpDown {
	0% {
		transform: translateY(0);
	}

	50% {
		transform: translateY(-15px);
	}

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

	50% {
		transform: translateY(-30px);
	}

	100% {
		transform: translateY(0);
	}
}
.p-important__swiper {
	position: absolute;
	z-index: 10;
	display: flex;
	align-items: center;
	width: 100%;
	height: 36px;
	padding: 0 14px;
	overflow: hidden;
	text-align: center;
	background: url('/tv/precure/assets/images/top/p_news_bg_sp.png') center no-repeat;
	background-size: cover;
	box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.3);
}
@media print, screen and (min-width: 768px) {
.p-important__swiper {
		justify-content: center;
		height: 50px;
		overflow: visible;
}
	}
.p-important__swiper .p-important__swiper-wrapper {
		display: flex;
		height: 100%;
		transition-timing-function: linear !important;
	}
@media print, screen and (min-width: 768px) {
.p-important__swiper .p-important__swiper-wrapper {
			display: block;
			justify-content: center;
			white-space: normal;
	}
	}
.p-important__swiper .p-important__swiper-wrapper .p-important__swiper-slide {
			display: flex;
			align-items: center;
			justify-content: center;
			width: auto;
			height: auto;
		}
.p-important__swiper .p-important__swiper-wrapper .p-important__swiper-slide .p-important__text-link {
				display: inline-block;
				font-size: 1.2rem;
				font-weight: bold;
				line-height: 1.25;
				color: var(--white);
				white-space: nowrap;
			}
@media print, screen and (min-width: 768px) {
.p-important__swiper .p-important__swiper-wrapper .p-important__swiper-slide .p-important__text-link {
					position: relative;
					top: 15px;
					padding-inline: 0;
					font-size: 1.6rem;
					animation: none;
			}
	}
.p-important__swiper .p-important__swiper-wrapper .p-important__swiper-slide .p-important__text-link span {
					position: relative;
					display: inline-block;
					padding-right: 1.5em;
				}
.p-important__swiper .p-important__swiper-wrapper .p-important__swiper-slide .p-important__text-link span::before {
						position: absolute;
						top: 0;
						right: 0;
						bottom: 0;
						display: block;
						width: 1em;
						height: 1em;
						margin: auto;
						content: '';
						background: url('/tv/precure/assets/images/common/p_link_arrow_circle.png') center no-repeat;
						background-size: 100% auto;
					}
.p-important__swiper .p-important__swiper-wrapper .p-important__swiper-slide .p-important__text-link:focus-visible {
					opacity: 0.5;
	}
@media (hover: hover) and (pointer: fine) {
		.p-important__swiper .p-important__swiper-wrapper .p-important__swiper-slide .p-important__text-link:hover {
					opacity: 0.5;
		}
	}
/* topのみヘッダー位置調整 */
.l-header__action {
	top: 34px;
}
@media print, screen and (min-width: 768px) {
.l-header__action {
		top: 50px
}
	}
.p-title__bottom-content {
	position: relative;
	z-index: 2;
	margin-top: calc(60 / var(--widthSP) * 200%);
}
@media print, screen and (min-width: 1025px) {
.p-title__bottom-content {
		margin-top: calc(60 / var(--widthPC) * 200%)
}
	}
/* 過去のプリキュア */
.p-past {
	display: block;
	margin-top: 38px;
	overflow: hidden;
}
@media print, screen and (min-width: 1025px) {
.p-past {
		padding-bottom: 0;
		margin-top: 100px;
}
	}
.p-past .p-past__inner {
		padding-inline: 15px;
	}
@media print, screen and (min-width: 1025px) {
.p-past .p-past__inner {
			padding: 24px 0px 40px;
			background: url('/tv/precure/assets/images/top/bg_past_pc.png') center no-repeat;
			background-size: cover;
			border: 3px solid #ed2d7a
	}
	}
.p-past .p-past__title {
		position: relative;
		z-index: 2;
		width: 100%;
		max-width: 400px;
		margin-inline: auto;
	}
@media print, screen and (min-width: 1025px) {
.p-past .p-past__title {
			max-width: none
	}
	}
.p-past .past-list {
		position: relative;
		z-index: 1;
	}
@media print, screen and (min-width: 1025px) {
.p-past .past-list {
			padding-inline: 40px;
			margin: 40px auto 0;
	}
	}
@media print, screen and (min-width: 1025px) {
.p-past .past-list .list-area .area-cols {
					display: flex;
					justify-content: space-between;
			}
	}
.p-past .past-list .list-area .area-cols .list-col {
					position: relative;
					height: 100%;
					padding: 20px 0px 30px;
					background: url('/tv/precure/assets/images/top/bg_past_sp.png') center no-repeat;
					background-size: cover;
					border: 3px solid #ed2d7a;
				}
@media print, screen and (min-width: 1025px) {
.p-past .past-list .list-area .area-cols .list-col {
						width: 298px;
						padding: 0;
						background: transparent;
						border: 0;
						box-shadow: none;
				}
	}
.p-past .past-list .list-area .area-cols .list-col ul {
						padding-inline: 20px;
						margin-top: 30px;
					}
@media print, screen and (min-width: 1025px) {
.p-past .past-list .list-area .area-cols .list-col ul {
							padding-inline: 0;
							margin-top: 0;
					}
	}
.p-past .past-list .list-area .area-cols .list-col ul .list-item {
							padding-bottom: 10px;
						}
@media print, screen and (min-width: 1025px) {
.p-past .past-list .list-area .area-cols .list-col ul .list-item {
								padding-bottom: 15px;
						}
	}
.p-past .past-list .list-area .area-cols .list-col ul .list-item + .list-item {
								margin-top: 10px;
							}
@media print, screen and (min-width: 1025px) {
.p-past .past-list .list-area .area-cols .list-col ul .list-item + .list-item {
									margin-top: 15px
							}
	}
.p-past .past-list .list-area .area-cols .list-col ul .list-item a {
								position: relative;
								display: block;
								padding-left: 30px;
								font-weight: bold;
								color: $defaultTxtColor;
								transition: color 80ms linear;
							}
@media print, screen and (min-width: 1025px) {
.p-past .past-list .list-area .area-cols .list-col ul .list-item a {
									font-size: 1.4rem;
							}
	}
.p-past .past-list .list-area .area-cols .list-col ul .list-item a:focus-visible {
									color: var(--colorKeyText);
	}
@media (hover: hover) and (pointer: fine) {
		.p-past .past-list .list-area .area-cols .list-col ul .list-item a:hover {
									color: var(--colorKeyText);
		}
	}
.p-past .past-list .list-area .area-cols .list-col ul .list-item a:before {
									position: absolute;
									top: 50%;
									left: 0px;
									display: inline-block;
									width: 20px;
									aspect-ratio: 1/1;
									content: "";
									background: url("/tv/precure/assets/images/top/i_arrow.png") no-repeat center center / contain;
									translate: 0 -50%;
								}
.p-past .past-list .list-area .list-pagination {
				position: relative;
				bottom: auto;
				margin-top: 17px;
				line-height: 0.1;
			}
@media print, screen and (min-width: 1025px) {
.p-past .past-list .list-area .list-pagination {
					display: none;
			}
	}
.p-past .past-list .list-area .list-pagination .swiper-pagination-bullet {
					position: relative;
					width: 20px;
					height: 30px;
					margin-inline: 8px;
					background: transparent;
					opacity: 1;
				}
.p-past .past-list .list-area .list-pagination .swiper-pagination-bullet:before {
						position: absolute;
						top: 50%;
						left: 50%;
						display: inline-block;
						width: 15px;
						height: 15px;
						margin: -7px 0 0 -7px;
						content: "";
						background: #fff;
						border: 2px solid var(--colorKey);
						border-radius: 50%;
					}
.p-past .past-list .list-area .list-pagination .swiper-pagination-bullet:after {
						position: absolute;
						top: 50%;
						left: 50%;
						display: inline-block;
						width: 26px;
						aspect-ratio: 25/23;
						content: "";
						background: url("/tv/precure/assets/images/top/i_pagination_past.png") no-repeat center center / contain;
						opacity: 0;
						translate: -50% -50%;
					}
.p-past .past-list .list-area .list-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active:before {
							opacity: 0;
						}
.p-past .past-list .list-area .list-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active:after {
							opacity: 1;
						}
