@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Zen+Maru+Gothic:wght@500;700;900&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: 'Zen Maru Gothic', 'ヒラギノ角 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: #f46ca9;
	--colorKey50: #f9b5d4;
	--colorKey25: #fcdae9;
	--colorKeyText: #ea4f98;
	/* キャラ設定 */
	--colorCurewonderful: #ff326b;
	--colorCurewonderfulUiBg: #FFFCDF;
	--colorCurefriendly: #aa57ff;
	--colorCurefriendlyUiBg: #F4DAFA;
	--colorCurenyami: #29b6ff;
	--colorCurenyamiUiBg: #fdfedf;
	--colorCurelillian: #25e9e8;
	--colorCurelillianUiBg: #ffd3ff;
	--colorCurelillianText: #0fbdd0;
	/* イージング */
	--easeOutBack: cubic-bezier(0.4, 1.5, 0.64, 1.5);
	/* アスペクト比計算用 */
	--widthPC: 1440;
	--widthSP: 750;
	--heightCharacterPc: 700;
	--heightCharacterSp: 856;
}
.p-event {
	position: relative;
	padding-bottom: 40px;
}
.p-event::after {
		position: absolute;
		right: 0px;
		bottom: 0px;
		left: 0px;
		display: inline-block;
		height: 18px;
		content: '';
		background: url(/tv/wonderful_precure/assets/images/common/bg_heart_border.webp) top left repeat-x;
		background-size: 50px 18px;
	}
.p-event:last-of-type {
		padding-bottom: 0;
	}
.p-event:last-of-type::after {
			display: none;
		}
.p-event + .p-event {
		margin-top: 40px;
	}
@media print, screen and (min-width: 1025px) {
.p-event + .p-event {
			margin-top: 60px
	}
	}
.p-event .event-tags {
		display: flex;
	}
.p-event .event-tags .tag {
			display: inline-block;
			padding: 1px 12px;
			font-size: 1.2rem;
			color: #fff;
			text-align: center;
			background: var(--colorKey);
			border-radius: 12px;
		}
@media print, screen and (min-width: 1025px) {
.p-event .event-tags .tag {
				padding: 1px 14px;
				font-size: 1.6rem;
				background: var(--colorKey);
				border-radius: 14px;
		}
	}
.p-event .event-tags .tag + .tag {
				margin-left: 10px;
			}
.p-event .event-tags .tag.is-end {
				background: #e90104;
			}
.p-event .event-ttl {
		margin-top: 10px;
		font-size: 2.0rem;
		font-weight: 700;
		line-height: 1.5;
		letter-spacing: 0.05em;
	}
@media print, screen and (min-width: 1025px) {
.p-event .event-ttl {
			font-size: 2.4rem
	}
	}
.p-event .event-date {
		margin-top: 5px;
		font-size: 1.2rem;
		font-weight: 700;
		color: var(--colorKey);
	}
@media print, screen and (min-width: 1025px) {
.p-event .event-date {
			margin-top: 6px;
			font-size: 1.6rem
	}
	}
.p-event .event-box {
		position: relative;
		display: flex;
		margin: 0 -10px;
	}
@media print, screen and (min-width: 1025px) {
.p-event .event-box {
			margin: 0 -12.5px;
	}
	}
.p-event .event-box .event-thumb {
			width: 40%;
			padding: 10px;
		}
@media print, screen and (min-width: 1025px) {
.p-event .event-box .event-thumb {
				width: 38%;
				padding: 12.5px
		}
	}
.p-event .event-box .event-detail {
			width: 60%;
			padding: 10px;
		}
@media print, screen and (min-width: 1025px) {
.p-event .event-box .event-detail {
				width: 62%;
				padding: 12.5px
		}
	}
.p-txt-p {
	margin-top: 15px;
}
@media print, screen and (min-width: 1025px) {
.p-txt-p {
		margin-top: 20px;
}
	}
.p-txt-p a:visited,
		.p-txt-p a:link {
			color: var(--colorKeyText);
			text-decoration: underline;
		}
.p-txt-p a:focus-visible {
			text-decoration: none;
	}
@media (hover: hover) and (pointer: fine) {
		.p-txt-p a:hover {
			text-decoration: none;
		}
	}
.p-list-info {
	margin-top: 15px;
}
.p-list-info dt {
		font-weight: 700;
		color: var(--colorKeyText);
	}
@media print, screen and (min-width: 1025px) {
.p-list-info dt {
			margin-top: 10px
	}
	}
.p-list-info dd {
		font-weight: 700;
	}
@media print, screen and (min-width: 1025px) {
.p-list-info dd {
			margin-top: 0px;
			margin-bottom: 15px
	}
	}
.p-list-btn {
	margin-top: 30px;
}
.p-btn-border {
	display: block;
	min-width: 190px;
	padding: 2px;
	font-size: 1.6rem;
	font-weight: bold;
	background: #fff;
	border: 3px solid var(--colorKey);
	border-radius: 25px;
	transition: all 0.3s ease;
}
@media print, screen and (min-width: 1025px) {
.p-btn-border {
		max-width: 300px;
		font-size: 1.6rem;
		border-radius: 35px;
}
	}
.p-btn-border > span {
		position: relative;
		display: block;
		padding: 8px 30px;
		color: #ffffff;
		text-align: center;
		background: var(--colorKey);
		border-radius: 28px;
	}
@media print, screen and (min-width: 1025px) {
.p-btn-border > span {
			padding: 12px 30px 11px;
			border-radius: 35px;
	}
	}
.p-btn-border > span:before {
			position: absolute;
			top: 50%;
			right: 15px;
			display: inline-block;
			width: 9px;
			height: 13px;
			margin-top: -6px;
			content: '';
			background: url(/tv/wonderful_precure/assets/images/common/icon_btn.webp) center no-repeat;
			background-size: 9px 13px;
		}
@media print, screen and (min-width: 1025px) {
.p-btn-border > span:before {
				right: 15px;
				width: 12px;
				height: 18px;
				margin-top: -9px;
				background-size: contain
		}
	}
.p-btn-border > span ruby rt {
				font-size: 1rem;
				transform: translateY(-0.1em);
			}
.p-btn-border:focus-visible {
		animation: hoverPush 340ms linear;
	}
@media (hover: hover) and (pointer: fine) {
		.p-btn-border:hover {
		animation: hoverPush 340ms linear;
		}
	}
