@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;
	--colorPikarine: #e1a800;
	--colorTanaka: #6c9114;
	--colorZakkurin: #217c79;
	--colorCuttin: #4d6cbd;
	--colorJogi: #63594c;
	--colorTyokkiri: #68343c;
	--colorDarkranda: #68343c;
	--colorMakkuranda: #68343c;
	--colorKurayaminda: #68343c;
	--colorCurezukyoon: #55a248;
	--colorCurekiss: #e795cd;
	
	/* イージング */
	--easeOutBack: cubic-bezier(0.4, 1.5, 0.64, 1.5);
	/* アスペクト比計算用 */
	--widthPC: 1440;
	--widthSP: 750;
	--heightCharacterPc: 700;
	--heightCharacterSp: 856;
}
.l-footer-banner__navi {
	display: none;
}
.l-footer-sns-past {
	background-color: transparent;
}
.l-content {
	padding-bottom: 110px;
}
@media print, screen and (min-width: 1025px) {
.l-content {
		padding-bottom: 45%;
}
	}
.l-content.is-cureidol {
		--colorCharacter: var(--colorCureidol);
	}
.l-content.is-cureidol .p-nav__character-link.is-cureidol .p-nav__character-img {
			background-position: left bottom;
		}
.l-content.is-curewink {
		--colorCharacter: var(--colorCurewink);
	}
.l-content.is-curewink .p-nav__character-link.is-curewink .p-nav__character-img {
			background-position: left bottom;
		}
.l-content.is-curekyunkyun {
		--colorCharacter: var(--colorCurekyunkyun);
	}
.l-content.is-curekyunkyun .p-nav__character-link.is-curekyunkyun .p-nav__character-img {
			background-position: left bottom;
		}
		
.l-content.is-curezukyoon {
		--colorCharacter: var(--colorCurezukyoon);
	}
.l-content.is-curezukyoon .p-nav__character-link.is-curezukyoon .p-nav__character-img {
			background-position: left bottom;
		}
		
		
.l-content.is-curekiss {
		--colorCharacter: var(--colorCurekiss);
	}
.l-content.is-curekiss .p-nav__character-link.is-curekiss .p-nav__character-img {
			background-position: left bottom;
		}
		
		
.l-content.is-purirun {
		--colorCharacter: var(--colorPurirun);
	}
.l-content.is-purirun .p-nav__character-link.is-purirun .p-nav__character-img {
			background-position: left bottom;
		}
.l-content.is-meroron {
		--colorCharacter: var(--colorMeroron);
	}
.l-content.is-meroron .p-nav__character-link.is-meroron .p-nav__character-img {
			background-position: left bottom;
		}
.l-content.is-pikarine {
		--colorCharacter: var(--colorPikarine);
	}
.l-content.is-pikarine .p-nav__character-link.is-pikarine .p-nav__character-img {
			background-position: left bottom;
		}
.l-content.is-tanaka {
		--colorCharacter: var(--colorTanaka);
	}
.l-content.is-tanaka .p-nav__character-link.is-tanaka .p-nav__character-img {
			background-position: left bottom;
		}
.l-content.is-cuttin {
		--colorCharacter: var(--colorCuttin);
	}
.l-content.is-cuttin .p-nav__character-link.is-cuttin .p-nav__character-img {
			background-position: left bottom;
		}
.l-content.is-zakkurin {
		--colorCharacter: var(--colorZakkurin);
	}
.l-content.is-zakkurin .p-nav__character-link.is-zakkurin .p-nav__character-img {
			background-position: left bottom;
		}
.l-content.is-jogi {
		--colorCharacter: var(--colorJogi);
	}
.l-content.is-jogi .p-nav__character-link.is-jogi .p-nav__character-img {
			background-position: left bottom;
		}
		
		
		
.l-content.is-cutty {
		--colorCharacter: var(--colorTyokkiri);
	}
.l-content.is-cutty .p-nav__character-link.is-cutty .p-nav__character-img {
			background-position: left bottom;
		}
.l-content.is-zakkuri {
		--colorCharacter: var(--colorTyokkiri);
	}
.l-content.is-zakkuri .p-nav__character-link.is-zakkuri .p-nav__character-img {
			background-position: left bottom;
		}
.l-content.is-chokkirine {
		--colorCharacter: var(--colorTyokkiri);
	}
.l-content.is-chokkirine .p-nav__character-link.is-chokkirine .p-nav__character-img {
			background-position: left bottom;
		}

.l-content.is-darkranda {
		--colorCharacter: var(--colorDarkranda);
	}
.l-content.is-darkranda .p-nav__character-link.is-Darkranda .p-nav__character-img {
			background-position: left bottom;
		}

.l-content.is-makkuranda {
		--colorCharacter: var(--colorMakkuranda);
	}
.l-content.is-makkuranda .p-nav__character-link.is-makkuranda .p-nav__character-img {
			background-position: left bottom;
		}
		
.l-content.is-kurayaminda {
		--colorCharacter: var(--colorKurayaminda);
	}
.l-content.is-kurayaminda .p-nav__character-link.is-kurayaminda .p-nav__character-img {
			background-position: left bottom;
		}
/* ------------------------------
		ナビゲーション
------------------------------ */
.p-nav {
	padding-block: 50px 30px;
}
@media print, screen and (min-width: 768px) {
.p-nav {
		padding-block: calc(60 / var(--widthPC) * 100%) calc(45 / var(--widthPC) * 100%)
}
	}
.p-nav__inner {
	max-width: 880px;
}
/* ------------------------------
		カテゴリ選択
------------------------------ */
.p-nav__category {
	position: relative;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	row-gap: 25px;
	padding-bottom: calc(100% * 3 / 65 + 40px);
}
.p-nav__category::after {
		position: absolute;
		right: 0;
		bottom: 0;
		left: 0;
		display: block;
		width: 100%;
		aspect-ratio: 65 / 3;
		margin: auto;
		content: '';
		background: url('/tv/precure/assets/images/common/p_entry_line.png') center no-repeat;
		background-size: 100% auto;
	}
@media print, screen and (min-width: 1025px) {
.p-nav__category{
		grid-template-columns: repeat(4, 1fr);
	}
	}
.p-nav__category-link {
	position: relative;
	z-index: var(--zIndexLv1);
	display: block;
	width: -moz-fit-content;
	width: fit-content;
	margin-inline: auto;
	opacity: .5;
	transition: .5s ease-out;
}
.p-nav__category-link::before {
		position: absolute;
		top: calc(50% - 2px);
		left: 50%;
		z-index: -1;
		display: block;
		width: 70px;
		aspect-ratio: 1/1;
		content: "";
		background-image: url('/tv/precure/assets/images/character/p_category_select.png');
		background-repeat: no-repeat;
		background-position: center;
		background-size: contain;
		opacity: 0;
		transition: .5s ease-out;
		translate: -50% -50%;
	}
@media print, screen and (min-width: 1025px) {
.p-nav__category-link::before {
			top: calc(50% - 1px);
			width: 112px
	}
	}
.p-nav__category-link.is-current {
		opacity: 1;
	}
.p-nav__category-link.is-current::before {
			opacity: 1;
		}
.p-nav__category-link:focus-visible {
		opacity: 1;
	}
.p-nav__category-link:focus-visible::before {
			opacity: 1;
		}
@media (hover: hover) and (pointer: fine) {
		.p-nav__category-link:hover {
		opacity: 1;
		}

		.p-nav__category-link:hover::before {
			opacity: 1;
		}
	}
.p-nav__category-img {
	height: 30px;
}
@media print, screen and (min-width: 1025px) {
.p-nav__category-img {
		height: 40px
}
	}
/* ------------------------------
		キャラクター選択
------------------------------ */
.p-nav__character {
	display: flex;
	flex-wrap: wrap;
	row-gap: 10px;
	align-items: center;
	justify-content: center;
	margin-top: 30px;
}
@media print, screen and (min-width: 1025px) {
.p-nav__character {
		row-gap: 10px
}
	}
.p-nav__character-link {
	display: block;
	width: 100px;
}
@media print, screen and (min-width: 768px) {
.p-nav__character-link {
		width: 130px;
}
	}
.p-nav__character-link > * {
		display: block;
	}
.p-nav__character-link:focus-visible {
		animation: hoverOutBack 300ms var(--easeOutBack);
	}
@media (hover: hover) and (pointer: fine) {
		.p-nav__character-link:hover {
		animation: hoverOutBack 300ms var(--easeOutBack);
		}
	}
.p-nav__character-link.is-cureidol .p-nav__character-img {
			background: url('/tv/precure/assets/images/character/p_thumb_cureidol.png') left top / 100% auto no-repeat;
		}
.p-nav__character-link.is-cureidol .p-nav__character-name {
			color: var(--colorCureidol);
		}
.p-nav__character-link.is-curewink .p-nav__character-img {
			background: url('/tv/precure/assets/images/character/p_thumb_curewink.png') left top / 100% auto no-repeat;
		}
.p-nav__character-link.is-curewink .p-nav__character-name {
			color: var(--colorCurewink);
		}
.p-nav__character-link.is-curekyunkyun .p-nav__character-img {
			background: url('/tv/precure/assets/images/character/p_thumb_curekyunkyun.png') left top / 100% auto no-repeat;
		}
.p-nav__character-link.is-curekyunkyun .p-nav__character-name {
			color: var(--colorCurekyunkyun);
		}
		
.p-nav__character-link.is-curezukyoon .p-nav__character-img {
			background: url('/tv/precure/assets/images/character/p_thumb_curezukyoon.png') left top / 100% auto no-repeat;
		}
.p-nav__character-link.is-curezukyoon .p-nav__character-name {
			color: var(--colorCurezukyoon);
		}		
		
.p-nav__character-link.is-curekiss .p-nav__character-img {
			background: url('/tv/precure/assets/images/character/p_thumb_curekissn.png') left top / 100% auto no-repeat;
		}
.p-nav__character-link.is-curekiss .p-nav__character-name {
			color: var(--colorCurekiss);
		}		
		
.p-nav__character-link.is-purirun .p-nav__character-img {
			background: url('/tv/precure/assets/images/character/p_thumb_purirun.png') left top / 100% auto no-repeat;
		}
.p-nav__character-link.is-purirun .p-nav__character-name {
			color: var(--colorPurirun);
		}
.p-nav__character-link.is-meroron .p-nav__character-img {
			background: url('/tv/precure/assets/images/character/p_thumb_meroron.png') left top / 100% auto no-repeat;
		}
.p-nav__character-link.is-meroron .p-nav__character-name {
			color: var(--colorMeroron);
		}
.p-nav__character-link.is-pikarine .p-nav__character-img {
			background: url('/tv/precure/assets/images/character/p_thumb_pikarine.png') left top / 100% auto no-repeat;
		}
.p-nav__character-link.is-pikarine .p-nav__character-name {
			color: var(--colorPikarine);
		}
.p-nav__character-link.is-tanaka .p-nav__character-img {
			background: url('/tv/precure/assets/images/character/p_thumb_tanaka.png') left top / 100% auto no-repeat;
		}
.p-nav__character-link.is-tanaka .p-nav__character-name {
			color: var(--colorTanaka);
		}
		
		
.p-nav__character-link.is-cuttin .p-nav__character-img {
			background: url('/tv/precure/assets/images/character/p_thumb_cuttin.png') left top / 100% auto no-repeat;
		}
.p-nav__character-link.is-cuttin .p-nav__character-name {
			color: var(--colorCuttin);
		}
		
.p-nav__character-link.is-zakkurin .p-nav__character-img {
			background: url('/tv/precure/assets/images/character/p_thumb_zakkurin.png') left top / 100% auto no-repeat;
		}
.p-nav__character-link.is-zakkurin .p-nav__character-name {
			color: var(--colorZakkurin);
		}
		
.p-nav__character-link.is-jogi .p-nav__character-img {
			background: url('/tv/precure/assets/images/character/p_thumb_jogi.png') left top / 100% auto no-repeat;
		}
.p-nav__character-link.is-jogi .p-nav__character-name {
			color: var(--colorJogi);
		}
.p-nav__character-link.is-cutty .p-nav__character-img {
			background: url('/tv/precure/assets/images/character/p_thumb_cutty.png') left top / 100% auto no-repeat;
		}
.p-nav__character-link.is-cutty .p-nav__character-name {
			color: var(--colorTyokkiri);
		}
.p-nav__character-link.is-zakkuri .p-nav__character-img {
			background: url('/tv/precure/assets/images/character/p_thumb_zakkuri.png') left top / 100% auto no-repeat;
		}
.p-nav__character-link.is-zakkuri .p-nav__character-name {
			color: var(--colorTyokkiri);
		}
.p-nav__character-link.is-chokkirine .p-nav__character-img {
			background: url('/tv/precure/assets/images/character/p_thumb_chokkirine.png') left top / 100% auto no-repeat;
		}
.p-nav__character-link.is-chokkirine .p-nav__character-name {
			color: var(--colorTyokkiri);
		}
.p-nav__character-link.is-makkuranda .p-nav__character-img {
			background: url('/tv/precure/assets/images/character/p_thumb_makkuranda.png') left top / 100% auto no-repeat;
		}
.p-nav__character-link.is-makkuranda .p-nav__character-name {
			color: var(--colorMakkuranda);
		}

.p-nav__character-link.is-darkranda .p-nav__character-img {
			background: url('/tv/precure/assets/images/character/p_thumb_darkranda.png') left top / 100% auto no-repeat;
		}
.p-nav__character-link.is-darkranda .p-nav__character-name {
			color: var(--colorDarkranda);
		}

.p-nav__character-link.is-kurayaminda .p-nav__character-img {
			background: url('/tv/precure/assets/images/character/p_thumb_kurayaminda.png') left top / 100% auto no-repeat;
		}
		
.p-nav__character-link.is-kurayaminda .p-nav__character-name {
			color: var(--colorKurayaminda);
		}

		
.p-nav__character-img {
	width: 70px;
	height: 70px;
	margin-inline: auto;
}
@media print, screen and (min-width: 768px) {
.p-nav__character-img {
		width: 90px;
		height: 90px
}
	}
.p-nav__character-name {
	margin-top: 10px;
	font-size: 1.1rem;
	font-weight: bold;
	line-height: 1.25;
	text-align: center;
}
@media print, screen and (min-width: 768px) {
.p-nav__character-name {
		margin-top: 6px;
		font-size: 1.4rem
}
	}
.p-nav__character-item-break {
	width: 100%;
}
@media print, screen and (min-width: 768px) {
.p-nav__character-item-break {
		display: none
}
	}
/* ------------------------------
		キャラクター画面（上部）
------------------------------ */
.p-character {
	position: relative;
	z-index: var(--zIndexLv1);
	--heightTablePc: 740;
	--heightTableSp: 1136;
}
@media print, screen and (min-width: 1025px) {
.p-character {
		padding-bottom: 60px
}
	}
.p-character__table {
	position: relative;
	z-index: var(--zIndexLv1);
	width: 100%;
	height: 100%;
	padding-block: 64px 100px;
	padding-inline: 15px;
}
@media print, screen and (min-width: 1025px) {
.p-character__table {
		padding-block: 140px 50px;
}
	}
.p-character__table:not(:has(.p-stylechange)) {
		margin-bottom: -40px;
	}
/* 下側のレース */
.p-character__table::after {
		position: absolute;
		bottom: 0;
		left: 0;
		z-index: var(--zIndexLv1);
		display: block;
		width: 100%;
		aspect-ratio: 750 / 63;
		content: "";
		background: url("/tv/precure/assets/images/character/p_mokumoku_border_sp.png") repeat-x center center / cover;
		translate: 0% 0%;
	}
@media print, screen and (min-width: 1025px) {
.p-character__table::after {
			aspect-ratio: 1440 / 50;
			background-image: url("/tv/precure/assets/images/character/p_mokumoku_border_pc.png")
	}
	}
.p-character__table.p-character__table-tyokkiridan {
		padding-block: calc(20px + 100% * 228 / 1500) 60px;
		margin-top: 16px;
	}
@media print, screen and (min-width: 1025px) {
.p-character__table.p-character__table-tyokkiridan {
			padding-block: 100px 50px;
			margin-top: 24px
	}
	}
@media print, screen and (min-width: 1025px) {
.p-character__table.p-character__table-kirakira {
			padding-block: 50px
	}
	}
.p-character__table .p-character__table-inner {
		position: relative;
		max-width: 1400px;
		height: 100%;
		margin-inline: auto;
		overflow: hidden;
	}
@media print, screen and (min-width: 1025px) {
	}
.p-character__table .p-character__table-inner.p-character__table-inner-tyokkiridan {
			max-width: 1040px;
		}
.p-character__table .p-character__table-inner.p-character__table-inner-kirakira {
			max-width: 1040px;
		}
.p-character__table .p-stylechange {
		position: absolute;
		bottom: 0;
		left: 50%;
		z-index: var(--zIndexLv2);
		width: 210px;
		transform: translate(-50%, 50%);
	}
@media print, screen and (min-width: 1025px) {
.p-character__table .p-stylechange {
			width: 292px;
	}
	}
.p-character__table .p-stylechange .p-stylechange__button {
			width: 100%;
			aspect-ratio: 450/125;
			padding: 0;
			background: none;
			border: none;
		}
.p-character__table .p-stylechange .p-stylechange__button:focus-visible {
		animation: hoverPush 340ms linear;
	}
@media (hover: hover) and (pointer: fine) {
		.p-character__table .p-stylechange .p-stylechange__button:hover {
		animation: hoverPush 340ms linear;
		}
	}
.p-character__table .p-stylechange .p-stylechange__button img {
				display: block;
				width: 100%;
			}
.p-character__table .p-character__ribbon {
		position: absolute;
		top: -10px;
		left: 0;
		z-index: var(--zIndexLv2);
		display: block;
		width: 100%;
		content: "";
		translate: 0% 0%;
	}
@media print, screen and (min-width: 1025px) {
.p-character__table .p-character__ribbon {
			top: -24px;
			left: 50%;
			width: 2160px;
			translate: -50% 0%;
	}
	}
.p-character__table .p-character__ribbon.p-character__ribbon-tyokkiridan {
			top: 0;
			translate: 0% -36%;
		}
@media print, screen and (min-width: 1025px) {
.p-character__table .p-character__ribbon.p-character__ribbon-tyokkiridan {
				translate: -50% -36%
		}
	}
.p-character__table .p-character__bg .p-character__bg-item {
			position: absolute;
			top: 50%;
			left: 50%;
			z-index: -1;
			width: 100%;
			height: 100%;
			opacity: 0;
			transition: opacity 300ms var(--easeOutBack);
			translate: -50% -50%;
		}
.p-character__table .p-character__bg .p-character__bg-item.is-active {
				opacity: 1;
			}
.p-character__table .p-character__bg .p-character__bg-item img {
				display: block;
				width: 100%;
				height: 100%;
				-o-object-fit: cover;
				   object-fit: cover;
			}
.p-precure {
	position: relative;
	width: 100%;
	aspect-ratio: 1380/1440;
}
@media print, screen and (min-width: 1025px) {
.p-precure {
		aspect-ratio: 1040/700;
}
	}
@media print, screen and (min-width: 1025px) {
.p-precure.p-precure-kirakira {
			aspect-ratio: 1300/700
	}
	}
@media print, screen and (min-width: 1025px) {
.p-precure.p-precure-tyokkiridan {
			aspect-ratio: 1160/700
	}
	}
.p-precure .p-precure-item {
		position: absolute;
		width: 100%;
		height: 100%;
		opacity: 0;
		transition: opacity 300ms var(--easeOutBack);
	}
.p-precure .p-precure-item.is-active {
			opacity: 1;
		}
.p-precure .p-precure-item > img {
			width: 100%;
		}
.p-precure-item-style {
	position: absolute;
	opacity: 0;
	transition: opacity 300ms var(--easeOutBack);
}
.p-precure-item-style.is-active {
		opacity: 1;
	}
.p-precure-item-style > img {
		width: 100%;
	}
.p-precure__01 .p-precure__01-precure {}
.p-precure__01 .p-precure__01-sign {
		position: absolute;
		top: 40%;
		left: 5px;
		width: 48%;
	}
@media print, screen and (min-width: 1025px) {
.p-precure__01 .p-precure__01-sign {
			top: 415px;
			left: 50px;
			width: 500px
	}
	}
.p-style {
	position: relative;
	z-index: var(--zIndexLv3);
}
@media print, screen and (min-width: 1025px) {
.p-style {
		position: absolute;
		top: 40%;
		right: 0;
		translate: 0 -50%;
}
	}
.p-style .p-style__inner {

    display: flex;
    justify-content: space-between;
	}
	
@media print, screen and (min-width: 1025px) {
.p-style .p-style__inner {
		display: grid;
			grid-template-columns: repeat(1, 170px);
			gap: 10px
	}
	}
	
.p-style .p-style__inner2 {
    display: grid;
    grid-template-rows: auto;
    grid-template-columns: 49% 2fr;
    gap: 20px 1%;
	}
@media print, screen and (min-width: 1025px) {
.p-style .p-style__inner2 {
			grid-template-columns: repeat(1, 170px);
			gap: 10px
	}
	}
	
	
.p-style .p-style__precure {
		 margin-right: 10px;
	}
.p-style .p-style__precure-button {
		padding: 0;
		background: none;
		border: none;
	}
.p-style .p-style__precure-button.is-active .p-style__precure-img img:nth-child(2) {
						opacity: 1;
					}
.p-style .p-style__precure-img {
		position: relative;
		display: block;
		width: 105px;
		aspect-ratio: 1 / 1;
	}
.p-style .p-style__precure-img img {
			position: absolute;
			display: block;
			width: 100%;
			aspect-ratio: 1 / 1;
			transition: opacity 300ms var(--easeOutBack);
		}
.p-style .p-style__precure-img img:nth-child(2) {
				opacity: 0;
			}
.p-style .p-style__precure-img:focus-visible img:nth-child(2) {
					opacity: 1;
				}
@media (hover: hover) and (pointer: fine) {
				.p-style .p-style__precure-img:hover img:nth-child(2) {
					opacity: 1;
				}
	}
@media print, screen and (min-width: 1025px) {

.p-style .p-style__precure {
		aspect-ratio: 1 / 1;
		margin-right:0px;
	}

.p-style .p-style__precure-img{
			width: 170px;
	}
	}
	
	
	




.p-style .p-style__precure-img2 {
		position: relative;
		display: block;
		width: 78px;
		aspect-ratio: 1 / 1;
	}
.p-style .p-style__precure-img2 img {
			position: absolute;
			display: block;
			width: 100%;
			aspect-ratio: 1 / 1;
			transition: opacity 300ms var(--easeOutBack);
		}
.p-style .p-style__precure-img2 img:nth-child(2) {
				opacity: 0;
			}
.p-style .p-style__precure-img2:focus-visible img:nth-child(2) {
					opacity: 1;
				}
@media (hover: hover) and (pointer: fine) {
				.p-style .p-style__precure-img2:hover img:nth-child(2) {
					opacity: 1;
				}
	}



@media print, screen and (min-width: 1025px) {

.p-style .p-style__precure-img2 {
		position: relative;
		display: block;
		width: 105px;
		aspect-ratio: 1 / 1;
	}
.p-style .p-style__precure-img2 img {
			position: absolute;
			display: block;
			width: 100%;
			aspect-ratio: 1 / 1;
			transition: opacity 300ms var(--easeOutBack);
		}
.p-style .p-style__precure-img2 img:nth-child(2) {
				opacity: 0;
			}
.p-style .p-style__precure-img:focus-visible img:nth-child(2) {
					opacity: 1;
				}
@media (hover: hover) and (pointer: fine) {
				.p-style .p-style__precure-img:hover img:nth-child(2) {
					opacity: 1;
				}
	}




.p-style .p-style__precure {
		aspect-ratio: 1 / 1;
		margin-right:0px;
	}

.p-style .p-style__precure-img2{
			width: 170px;
	}
	}



	
	
	
	
.p-style .p-style__private {
    width: 200%;
    margin-top: 10px;

	}
	
.p-style .p-style__private-list {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
	}
@media print, screen and (min-width: 1025px) {

.p-style .p-style__private {
    width: 100%;
    margin-top: 0px;
		height: -moz-fit-content;
		height: fit-content;
	}

.p-style .p-style__private-list {
			grid-template-columns: repeat(1, 1fr)
	}
	}
	
.p-style .p-style__inner2 .p-style__private-list {
    display: block;
    margin: 20px 0 30px;
    grid-template-columns: repeat(2, 1fr);
}
@media print, screen and (min-width: 1025px) {
.p-style .p-style__inner2 .p-style__private-list {
		grid-template-columns: repeat(1, 1fr);
    	margin: unset;
	}
	}
	
	
.p-style .p-style__private-list-item {
		line-height: 0;
	}
.p-style .p-style__private-button {
		position: relative;
		width: 100%;
		aspect-ratio: 400 / 188;
		padding: 0;
		line-height: 0;
		background: none;
		border: none;
	}
.p-style .p-style__private-button img {
			position: absolute;
			top: 0;
			left: 0;
			display: block;
			width: 100%;
			transition: opacity 300ms var(--easeOutBack);
		}
.p-style .p-style__private-button img:nth-child(2) {
				opacity: 0;
			}
.p-style .p-style__private-button:focus-visible img:nth-child(2) {
					opacity: 1;
				}
@media (hover: hover) and (pointer: fine) {
				.p-style .p-style__private-button:hover img:nth-child(2) {
					opacity: 1;
				}
	}
.p-style .p-style__private-button.is-active img:nth-child(2) {
					opacity: 1;
				}
				
				
/* キラキランドﾞキャラクター */

.p-style .p-style__private-button2 {
		position: relative;
		width: 50%;
		aspect-ratio: 400 / 188;
		padding: 0;
		line-height: 0;
		background: none;
		border: none;
	}
.p-style .p-style__private-button2 img {
			position: absolute;
			top: 0;
			left: 0;
			display: block;
			width: 100%;
			transition: opacity 300ms var(--easeOutBack);
		}
.p-style .p-style__private-button2 img:nth-child(2) {
				opacity: 0;
			}
.p-style .p-style__private-button2:focus-visible img:nth-child(2) {
					opacity: 1;
				}
@media (hover: hover) and (pointer: fine) {
				.p-style .p-style__private-button2:hover img:nth-child(2) {
					opacity: 1;
				}
	}
.p-style .p-style__private-button2.is-active img:nth-child(2) {
					opacity: 1;
				}


@media print, screen and (min-width: 1025px) {

.p-style .p-style__private-button2 {
		position: relative;
		width: 100%;
		aspect-ratio: 400 / 188;
		padding: 0;
		line-height: 0;
		background: none;
		border: none;
	}
.p-style .p-style__private-button2 img {
			position: absolute;
			top: 0;
			left: 0;
			display: block;
			width: 100%;
			transition: opacity 300ms var(--easeOutBack);
		}
.p-style .p-style__private-button2 img:nth-child(2) {
				opacity: 0;
			}
.p-style .p-style__private-button2:focus-visible img:nth-child(2) {
					opacity: 1;
				}
@media (hover: hover) and (pointer: fine) {
				.p-style .p-style__private-button2:hover img:nth-child(2) {
					opacity: 1;
				}
	}
.p-style .p-style__private-button2.is-active img:nth-child(2) {
					opacity: 1;
				}
	}
				
				
/* ------------------------------
		キャラクター画面（下部）
------------------------------ */
.p-character__content {
	position: relative;
	z-index: var(--zIndexLv0);
	padding-block: 70px 60px;
	background-color: var(--white);
}
.p-character__content:has(.p-movie__transformation) {
		padding-bottom: 0;
	}
@media print, screen and (min-width: 1025px) {
	}
.p-character__content .p-character__name img {
			display: block;
			height: 100%;
			max-height: 50px;
			margin-inline: auto;
		}
@media print, screen and (min-width: 1025px) {
.p-character__content .p-character__name img {
				max-height: 72px
		}
	}
.p-character__content .p-character__cv {
		margin-top: 12px;
		font-size: 1.8rem;
		font-weight: bold;
		color: var(--colorCharacter);
		text-align: center;
	}
@media print, screen and (min-width: 1025px) {
.p-character__content .p-character__cv {
			margin-top: 40px;
			font-size: 3rem;
	}
	}
.p-character__content .p-character__cv .p-character__cv-kana {
			font-size: 1.2rem;
		}
@media print, screen and (min-width: 1025px) {
.p-character__content .p-character__cv .p-character__cv-kana {
				font-size: 1.8rem
		}
	}
.p-character__content .p-character__desc {
		margin-top: 24px;
		font-weight: 500;
		text-align: center;
	}
@media print, screen and (min-width: 1025px) {
.p-character__content .p-character__desc {
			width: 60%;
			margin: 20px auto 0;
			white-space: nowrap;
	}
	}
.p-character__content .p-character__desc .p-character__desc-text.is-birthday {
				color: var(--colorCharacter);
			}
.p-character__content .p-character__desc .p-character__desc-text + .p-character__desc-text {
				margin-top: 1.5em;
			}
/* ------------------------------
		アイテム
------------------------------ */
.p-item {
	padding-block: 35px 24px;
	background-color: var(--white);
}
@media print, screen and (min-width: 1025px) {
.p-item {
		padding-block: 90px 80px;
		margin-bottom: 60px;
}
	}
.p-item .p-item__inner {}
.p-item .p-item__title {}
.p-item .p-item__modal {
		display: flex;
		flex-wrap: wrap;
		gap: 18px;
		justify-content: center;

	}
@media print, screen and (min-width: 1025px) {
.p-item .p-item__modal {
			row-gap: 88px;
	}
	}
.p-modal {
	position: relative;
	display: grid;
	grid-template-rows: subgrid;
	grid-row: span 2;
	row-gap: 0;
	padding: 10px;
	cursor: pointer;
	background: var(--white);
	border: 3px solid var(--colorKey);
	border-radius: 10px;
	box-shadow: 0px 0px 10px 0px rgba(244, 108, 169, 0.15);
	width:45%;
}
@media print, screen and (min-width: 1025px) {
.p-modal {
		padding: 16px;
		border-width: 4px;
		box-shadow: 0px 0px 20px 0px rgba(244, 108, 169, 0.15);
	width:32%;
}
	}
.p-modal:focus-visible .p-modal__img {
			animation: hoverPush 340ms linear;
		}
@media (hover: hover) and (pointer: fine) {
		.p-modal:hover .p-modal__img {
			animation: hoverPush 340ms linear;
		}
	}
.p-modal .p-modal__img {
		display: block;
		width: 100%;
	}
.p-modal .p-modal__title {
		display: grid;
		place-items: center;
		height: 100%;
	}
.p-modal .p-modal__title .p-modal__title-text {
			width: -moz-fit-content;
			width: fit-content;
			font-weight: bold;
			line-height: 1.5;
			color: #000;
		}
@media print, screen and (min-width: 1025px) {
.p-modal .p-modal__title .p-modal__title-text {
				line-height: 2
		}
	}
.p-dialog {
	width: 100%;
	height: 100%;
	padding: 0;
	overflow: visible;
	background: none;
	border: none;
}
.p-dialog::backdrop {
		background: #3b3d48;
		opacity: .5;
	}
.p-dialog .p-dialog__inner {
		width: 100%;
		height: 100%;
		max-height: calc(100vh - 30px);
		padding-inline: 10px;
		margin-inline: auto;
		overflow-y: scroll;
	}
@media print, screen and (min-width: 1025px) {
.p-dialog .p-dialog__inner {
			max-height: calc(100vh - 40px);
			padding-inline: 40px;

	}
	}
.p-dialog .p-dialog__inner::-webkit-scrollbar {
			display: none;
		}
.p-dialog .p-dialog__content {
		position: relative;
		z-index: var(--zIndexLv1);
		padding: 25px 15px;
		overflow: visible;
		background: var(--white);
		border: 1px solid var(--colorKey);
		border-radius: 0;
	}
@media print, screen and (min-width: 1025px) {
.p-dialog .p-dialog__content {
			min-height: 400px;
			padding: 40px;
			border-width: 4px;
	}
	}
@media print, screen and (min-width: 1025px) {
.p-dialog .p-dialog__content .p-dialog__item .p-dialog__item-inner {
					display: grid;
					grid-template-columns: repeat(2, 1fr);
					gap: 20px
			}
	}
.p-dialog .p-dialog__content .p-dialog__content-nav {
			position: absolute;
			top: 50%;
			z-index: var(--zIndexLv1);
			display: block;
			width: 40px;
			aspect-ratio: 1/1;
			padding: 0;
			cursor: pointer;
			background: url("/tv/precure/assets/images/character/b_slidearrow_modal_sp.png") no-repeat center center / contain;
			border: none;
			rotate: 0deg;
			translate: 0 -50%;
		}
@media print, screen and (min-width: 1025px) {
.p-dialog .p-dialog__content .p-dialog__content-nav {

				width: 60px;
				background: url("/tv/precure/assets/images/character/b_slidearrow_modal.png") no-repeat center center / contain;

		}
	}
.p-dialog .p-dialog__content .p-dialog__content-nav:focus-visible {
		animation: hoverPush 340ms linear;
	}
@media (hover: hover) and (pointer: fine) {
		.p-dialog .p-dialog__content .p-dialog__content-nav:hover {
		animation: hoverPush 340ms linear;
		}
	}
.p-dialog .p-dialog__content .p-dialog__content-nav:nth-child(1) {
				left: 2px;
				scale: -1 1;
				translate: -50% -50%;			}
@media print, screen and (min-width: 1025px) {
.p-dialog .p-dialog__content .p-dialog__content-nav:nth-child(1) {
					left: 0;
					scale: 1 1
			}
	}
.p-dialog .p-dialog__content .p-dialog__content-nav:nth-child(2) {
				right: 2px;
				translate: 50% -50%;
			}
@media print, screen and (min-width: 1025px) {
.p-dialog .p-dialog__content .p-dialog__content-nav:nth-child(2) {
					right: 0;
					scale: -1 1
			}
	}
.p-dialog .p-dialog__img {
		position: relative;
		width: 100%;
	}
.p-dialog .p-dialog__img img {
			display: block;
			max-height: 360px;
			margin-inline: auto;
		}
@media print, screen and (min-width: 1025px) {
.p-dialog .p-dialog__img img {
				width: 100%;
				max-height: none		}
	}
.p-dialog .p-dialog__desc {
		display: flex;
		flex-direction: column;
		gap: 20px;
		justify-content: center;
		margin-top: 25px;
	}
@media print, screen and (min-width: 1025px) {
.p-dialog .p-dialog__desc {
			gap: 30px;
			margin-top: 0;
	}
	}
.p-dialog .p-dialog__desc .p-dialog__title {
			position: relative;
			padding-bottom: calc(100% * 6 / 76 + 15px);
			font-size: 1.8rem;
			font-weight: bold;
			line-height: 1.5;
			text-align: center;
		}
@media print, screen and (min-width: 1025px) {
.p-dialog .p-dialog__desc .p-dialog__title {
				padding-bottom: calc(100% * 6 / 76 + 20px);
				font-size: 2.4rem;
				text-align: left;
		}
	}
.p-dialog .p-dialog__desc .p-dialog__title::after {
				position: absolute;
				bottom: 0%;
				left: 50%;
				z-index: 1;
				display: block;
				width: 100%;
				aspect-ratio: 76 / 6;
				content: "";
				background: url("/tv/precure/assets/images/character/p_modal_border.png") no-repeat top left / cover;
				translate: -50% 0%;
			}
.p-dialog .p-dialog__desc .p-dialog__title .p-dialog__title-cv {
				display: block;
				margin-top: 1em;
				font-size: 1.4rem;
			}
@media print, screen and (min-width: 1025px) {
.p-dialog .p-dialog__desc .p-dialog__title .p-dialog__title-cv {
					font-size: 1.6rem
			}
	}
.p-dialog .p-dialog__desc .p-dialog__explain {
			line-height: 1.75;
		}
.p-dialog .p-dialog__close {
		display: block;
		width: 150px;
		padding: 0;
		margin-inline: auto;
		margin-top: 30px;
		text-align: center;
		background: none;
		border: none;
	}
@media print, screen and (min-width: 1025px) {
.p-dialog .p-dialog__close {
			width: 300px;
			margin-top: 40px;	}
	}
.p-dialog .p-dialog__close:focus-visible {
		animation: hoverPush 340ms linear;
	}
@media (hover: hover) and (pointer: fine) {
		.p-dialog .p-dialog__close:hover {
		animation: hoverPush 340ms linear;
		}
	}
.p-dialog .p-dialog__close img {
			display: block;
			width: 100%;
		}
/* スクロールロック */
body:has(dialog:modal) {
	overflow: hidden;
	overscroll-behavior: none;
	touch-action: none;
	-webkit-overflow-scrolling: none;
}
/* ------------------------------
		へんしんシーン
------------------------------ */
.p-movie {
	position: absolute;
	bottom: 0px;
	left: 0px;
	z-index: var(--zIndexLv3);
	width: 37%;
	border: 3px solid var(--colorCharacter);
}
@media print, screen and (min-width: 1025px) {
.p-movie {
		right: 0;
		bottom: 40px;
		left: 70%;
		width: 22%
}
	}
.u-henshin {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	max-height: 500px;
	overflow: hidden;
	border: 2px solid var(--white);
}
@media print, screen and (min-width: 1025px) {
	}
.u-henshin::after {
		position: absolute;
		top: 50%;
		left: 50%;
		z-index: 1;
		display: block;
		width: 40px;
		aspect-ratio: 1/1;
		pointer-events: none;
		content: "";
		background: url("/tv/precure/assets/images/common/i_play.png") no-repeat center center / contain;
		border-radius: 50%;
		translate: -50% -50%;
	}
@media print, screen and (min-width: 1025px) {
.u-henshin::after {
			width: 80px
	}
	}
.u-henshin .u-henshin__btn {
		display: flex;
		width: 100%;
		padding: 0;
		margin: 0;
		font-size: 0;
		background: none;
		border: none;
	}
.u-henshin .u-henshin__btn:focus-visible img {
				transition: scale 200ms var(--easeOutBack);
				scale: 1.1;
			}
@media (hover: hover) and (pointer: fine) {
			.u-henshin .u-henshin__btn:hover img {
				transition: scale 200ms var(--easeOutBack);
				scale: 1.1;
			}
	}
.u-henshin .u-henshin__btn iframe {
			width: 100%;
			aspect-ratio: 16/9;
			padding: 0;
			margin: 0;
			pointer-events: none;
		}
/* ------------------------------
		people
------------------------------ */
.p-people {
	position: relative;
	display: grid;
	row-gap: 12px;
	width: calc((100% - 18px) / 2);
	cursor: pointer;
}
@media print, screen and (min-width: 768px) {
.p-people {
		width: calc((100% - 60px) / 4);
}
	}
.p-people:focus-visible .p-people__image {
			animation: hoverOutBack 300ms var(--easeOutBack);
		}
@media (hover: hover) and (pointer: fine) {
		.p-people:hover .p-people__image {
			animation: hoverOutBack 300ms var(--easeOutBack);
		}
	}
.p-people .p-people__image {
		position: relative;
		z-index: 1;
	}
.p-people .p-people__image::before {
			position: absolute;
			top: 0;
			right: 0;
			bottom: 0;
			left: 0;
			z-index: -1;
			display: block;
			width: 100%;
			aspect-ratio: 1 / 1;
			margin: auto;
			content: '';
			background: url('/tv/precure/assets/images/character/bg_circle_pc.png') center no-repeat;
			background-size: 100% auto;
		}
.p-people .p-people__image .p-people__image-src {
			display: block;
			width: 100%;
		}
.p-people .p-people__title {
		display: block;
	}
.p-people .p-people__title > * {
			display: block;
			margin-inline: auto;
			text-align: center;
		}
.p-people .p-people__title .p-people__title-text {
			width: -moz-fit-content;
			width: fit-content;
			font-weight: bold;
			color: var(--txtColor);
		}
@media print, screen and (min-width: 1025px) {
.p-people .p-people__title .p-people__title-text {
				font-size: 2.4rem
		}
	}
.p-people .p-people__title .p-people__title-cv {
			margin-top: 6px;
			line-height: 1;
			color: var(--txtColor);
		}




.p-people2 {
	position: relative;
	display: grid;
	row-gap: 12px;
	width: calc((100% - 18px));
	cursor: pointer;
}
@media print, screen and (min-width: 768px) {
.p-people2 {
		width: calc((100% - 60px) / 2);
}
	}
.p-people2:focus-visible .p-people__image {
			animation: hoverOutBack 300ms var(--easeOutBack);
		}
@media (hover: hover) and (pointer: fine) {
		.p-people2:hover .p-people__image {
			animation: hoverOutBack 300ms var(--easeOutBack);
		}
	}
.p-people2 .p-people__image {
		position: relative;
		z-index: 1;
	}
.p-people2 .p-people__image::before {
			position: absolute;
			top: 0;
			right: 0;
			bottom: 0;
			left: 0;
			z-index: -1;
			display: block;
			width: 100%;
			aspect-ratio: 1 / 1;
			margin: auto;
			content: '';
			background: url('/tv/precure/assets/images/character/bg_circle_pc.png') center no-repeat;
			background-size: 50% auto;
		}
.p-people2 .p-people__image .p-people__image-src {
			display: block;
			width: 100%;
		}
.p-people2 .p-people__title {
		display: block;
	}
.p-people2 .p-people__title > * {
			display: block;
			margin-inline: auto;
			text-align: center;
		}
.p-people2 .p-people__title .p-people__title-text {
			width: -moz-fit-content;
			width: fit-content;
			font-weight: bold;
			color: var(--txtColor);
		}
@media print, screen and (min-width: 1025px) {
.p-people2 .p-people__title .p-people__title-text {
				font-size: 2.4rem
		}
	}
.p-people2 .p-people__title .p-people__title-cv {
			margin-top: 6px;
			line-height: 1;
			color: var(--txtColor);
		}





.p-movie__transformation {
	margin-top: 53px;
}
@media print, screen and (min-width: 1025px) {
.p-movie__transformation {
		margin-top: 55px;
}
	}
.p-movie__transformation .p-movie__inner {}
.p-movie__transformation .p-movie__title {
		width: 340px;
		margin-inline: auto;
	}
@media print, screen and (min-width: 1025px) {
.p-movie__transformation .p-movie__title {
			width: 100%;
	}
	}
.p-movie__transformation .p-movie__title img {
			display: block;
			width: 100%;
		}
.p-movie__transformation .p-movie__content {
		margin-top: 30px;
	}
@media print, screen and (min-width: 1025px) {
.p-movie__transformation .p-movie__content {
			margin-top: 40px
	}
	}
