@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: #5f5a64;
	/* イージング */
	--easeOutBack: cubic-bezier(0.4, 1.5, 0.64, 1.5);
	/* アスペクト比計算用 */
	--widthPC: 1440;
	--widthSP: 750;
	--heightCharacterPc: 700;
	--heightCharacterSp: 856;
}
.l-content__main {
	margin-top: 0px;
}
@media print, screen and (min-width: 768px) {
.l-content__main {
		margin-top: 0px
}
	}
.c-box-sort .sort-select .select-tab {
			width: 100%;
		}
@media print, screen and (min-width: 1025px) {
.c-box-sort .sort-select .select-tab {
				display: grid;
				grid-template-columns: repeat(6, 1fr);
				gap: 20px;
		}
	}
@media print, screen and (min-width: 1025px) {
.c-box-sort .sort-select .select-tab li .m-btn-def {
						display: block
				}
	}
.m-btn-def {
	display: inline-block;
	padding: 6px 15px 7px;
	font-size: 1.2rem;
	font-weight: bold;
	color: var(--colorKeyText);
	text-align: center;
	letter-spacing: 0.05em;
	background: #fde9f2;
	border-radius: 20px;
	transition: all 200ms ease-out;
}
/* @mixin transdef; */
@media print, screen and (min-width: 1025px) {
.m-btn-def {
		padding: 6px 10px 6px;
		font-size: 1.6rem;
		border-radius: 20px;
}
	}
.m-btn-def.is-current {
		color: #fff;
		pointer-events: none;
		background: var(--colorKey);
	}
.m-btn-def:focus-visible {
		color: #fff;
		text-decoration: none;
		background: var(--colorKey);
	}
@media (hover: hover) and (pointer: fine) {
		.m-btn-def:hover {
		color: #fff;
		text-decoration: none;
		background: var(--colorKey);
		}
	}
/* SPのプルダウンメニュー */
.m-box-select {
	position: relative;
	text-align: center;
	background: var(--colorKey);
	border-radius: 25px;
}
@media print, screen and (min-width: 1025px) {
.m-box-select {
		min-width: 160px;
}
	}
.m-box-select:before {
		position: absolute;
		top: 50%;
		right: 30px;
		display: inline-block;
		width: 13px;
		height: 9px;
		margin-top: -4px;
		content: '';
		background: url(https://precure-web.com/hirogaru-sky/assets/img/icon_select.png) center no-repeat;
		background-size: 13px 9px;
	}
@media print, screen and (min-width: 1025px) {
.m-box-select:before {
			right: 12px;
			width: 11px;
			height: 8px;
			margin-top: -4px;
			background-size: contain
	}
	}
.m-box-select select {
		width: 100%;
		padding: 13px 65px;
		font-weight: bold;
		color: #ffffff;
		text-align: center;
		-moz-text-align-last: center;
		     text-align-last: center;
		-webkit-appearance: none;
		   -moz-appearance: none;
		        appearance: none;
		background: transparent;
		border: none;
		outline: none;
	}
@media print, screen and (min-width: 1025px) {
.m-box-select select {
			padding: 6px 30px;
	}
	}
.m-box-select select option {
			color: var(--colorKeyText);
		}
/* ------------------------------
		ムービー
------------------------------ */
.p-list-movie {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 10px 20px;
	margin-top: 40px;
}

@media print, screen and (min-width: 1025px) {
.p-list-movie {
		grid-template-columns: repeat(3, 1fr);
		gap: 40px;
		margin-top: 130px;
}
/* 動画複数
@media print, screen and (min-width: 1025px) {
.p-list-movie {
        grid-template-columns: repeat(1, 1fr);
        margin-top: 130px;
        margin-left: auto;
        margin-right: auto;
        width: 50%;
}
*/
	}
.p-list-movie .p-list-movie__item {
		border: 3px solid var(--colorKey);
		box-shadow: 0px 0px 20px rgba(255, 105, 180, 0.15);
		background-color: #FFF;
	}
.p-list-movie .p-list-movie__item .p-list-movie__modal {
			position: relative;
			display: block;
			padding: 0;
			overflow: hidden;
			border: 2px solid var(--white);

		}
.p-list-movie .p-list-movie__item .p-list-movie__modal:focus-visible img {
					transition: scale 200ms var(--easeOutBack);
					scale: 1.1;
				}
@media (hover: hover) and (pointer: fine) {
				.p-list-movie .p-list-movie__item .p-list-movie__modal:hover img {
					transition: scale 200ms var(--easeOutBack);
					scale: 1.1;
				}
	}
.p-list-movie .p-list-movie__item .p-list-movie__modal img {
				display: block;
				width: 100%;
				transition: scale 160ms ease-out;
			}
.p-list-movie .p-list-movie__item .p-list-movie__modal::after {
				position: absolute;
				top: 50%;
				left: 50%;
				z-index: 1;
				display: block;
				width: 40px;
				aspect-ratio: 1/1;
				content: "";
				background: url("https://precure-web.com/you-and-idol/assets/images/common/i_play.png") no-repeat center center / contain;
				border-radius: 50%;
				translate: -50% -50%;
			}
@media print, screen and (min-width: 1025px) {
.p-list-movie .p-list-movie__item .p-list-movie__modal::after {
					width: 80px
			}
	}
.p-list-movie .p-list-movie__item .p-list-movie__title {
			padding-block: 10px;
			padding-inline: 4px;
			font-size: 1.2rem;
			font-weight: bold;
			line-height: 1.5;
			text-align: center;
			background-color: var(--white);
			border-top: 3px solid var(--colorKey);
		}
@media print, screen and (min-width: 1025px) {
.p-list-movie .p-list-movie__item .p-list-movie__title {
				padding-block: 20px;
				padding-inline: 8px;
				font-size: 1.6rem
		}
	}
