@charset "utf-8";
/* =====================================================================
   じゃぱにーずリフトガール — リフカ 2026
   対象：page-lifca-series.php（固定ページ「リフカ一覧」） … .jlgLifca--archive
         single-lifca_series.php（リフカ詳細）              … .jlgLifca--single
   読み込み：header.php（リフカの一覧・詳細ページでのみ）
   ・アイキャッチは 773×1336px（縦長）。比率を合わせて切らずに表示します。
   ===================================================================== */

#mainContent#mainContent.jlgLifca{
	--lifca-ratio: 773 / 1336;
}
#mainContent#mainContent.jlgLifca .left{
	font-family: var(--jlg-font);
	font-feature-settings: "palt" 1;
	color: var(--jlg-ink);
}

/* =====================================================================
   一覧：説明文・件数
   ===================================================================== */
#mainContent#mainContent.jlgLifca .left .jlgLifcaIntro{
	position: relative;
	margin: 0 0 22px;
	padding: 20px 22px 20px 26px;
	overflow: hidden;
	border: 1px solid rgba(255, 0, 144, .14);
	border-radius: var(--jlg-radius-lg);
	background:
		radial-gradient(60% 120% at 0% 0%, rgba(255, 122, 196, .2), transparent 70%),
		#fff8fc;
}
#mainContent#mainContent.jlgLifca .left .jlgLifcaIntro::before{
	content: "";
	position: absolute;
	top: 18px;
	bottom: 18px;
	left: 0;
	width: 4px;
	border-radius: 0 4px 4px 0;
	background: var(--jlg-grad);
}
#mainContent#mainContent.jlgLifca .left .jlgLifcaIntro p{
	margin: 0 0 .8em;
	font-size: 14.5px;
	line-height: 1.95;
	text-align: left;
}
#mainContent#mainContent.jlgLifca .left .jlgLifcaIntro > :last-child{
	margin-bottom: 0;
}
#mainContent#mainContent.jlgLifca .left p.jlgLifcaCount{
	margin: 0 0 14px;
	color: var(--jlg-muted);
	font-size: 13.5px;
	font-weight: 700;
	line-height: 1;
	text-align: left;
}
#mainContent#mainContent.jlgLifca .left p.jlgLifcaCount b{
	margin-right: 4px;
	color: var(--jlg-pink);
	font-family: var(--jlg-font-en);
	font-size: 22px;
	font-weight: 400;
}

/* =====================================================================
   リフカカード（一覧・ほかのリフカ 共通）
   ===================================================================== */
#mainContent#mainContent.jlgLifca .left ul.jlgLifcaList{
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(190px, 1fr));
	gap: 22px 18px;
	margin: 0 0 30px;
	padding: 0;
	list-style: none;
}
#mainContent#mainContent.jlgLifca .left li.jlgLifcaCard{
	display: block;
	margin: 0;
	padding: 0;
	list-style: none;
}
#mainContent#mainContent.jlgLifca .left a.jlgLifcaCard__link{
	display: block;
	color: var(--jlg-ink);
	text-decoration: none;
}
#mainContent#mainContent.jlgLifca .left figure.jlgLifcaCard__img{
	position: relative;
	width: 100%;
	aspect-ratio: var(--lifca-ratio);
	margin: 0 0 12px;
	overflow: hidden;
	border-radius: 16px;
	background: linear-gradient(160deg, #f3ecf6, #fbe8f3);
	box-shadow: 0 1px 2px rgba(36, 26, 51, .06), 0 14px 30px -18px rgba(80, 20, 70, .55);
	isolation: isolate;
	transform: translateZ(0);
	transition: transform .45s var(--jlg-ease), box-shadow .45s ease;
}
#mainContent#mainContent.jlgLifca .left figure.jlgLifcaCard__img img{
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: 1;
	transition: transform .8s var(--jlg-ease);
}
/* 光沢が走るエフェクト（ホバーで斜めの光が横切る） */
#mainContent#mainContent.jlgLifca .left figure.jlgLifcaCard__img::after{
	content: "";
	position: absolute;
	top: -10%;
	bottom: -10%;
	left: 0;
	z-index: 1;
	width: 55%;
	background: linear-gradient(100deg,
		rgba(255, 255, 255, 0) 0%,
		rgba(255, 255, 255, .5) 45%,
		rgba(255, 210, 240, .35) 55%,
		rgba(255, 255, 255, 0) 100%);
	transform: translateX(-200%) skewX(-18deg);
	opacity: 0;
	pointer-events: none;
}
/* 枠線（カードらしさ） */
#mainContent#mainContent.jlgLifca .left figure.jlgLifcaCard__img::before{
	content: "";
	position: absolute;
	inset: 0;
	z-index: 2;
	border: 1px solid rgba(255, 255, 255, .45);
	border-radius: inherit;
	pointer-events: none;
}
#mainContent#mainContent.jlgLifca .left a.jlgLifcaCard__link:hover figure.jlgLifcaCard__img{
	transform: translateY(-6px) rotate(-.6deg);
	box-shadow: 0 2px 4px rgba(36, 26, 51, .06), 0 28px 44px -22px rgba(120, 20, 90, .6);
}
#mainContent#mainContent.jlgLifca .left a.jlgLifcaCard__link:hover figure.jlgLifcaCard__img img{
	transform: scale(1.04);
}
#mainContent#mainContent.jlgLifca .left a.jlgLifcaCard__link:hover figure.jlgLifcaCard__img::after{
	opacity: 1;
	transform: translateX(260%) skewX(-18deg);
	transition: transform .9s var(--jlg-ease), opacity .2s ease;
}
#mainContent#mainContent.jlgLifca .left span.jlgLifcaCard__new{
	position: absolute;
	top: 10px;
	left: 10px;
	z-index: 3;
	padding: 5px 10px;
	border-radius: 999px;
	background: var(--jlg-grad);
	color: #fff;
	font-family: var(--jlg-font-en);
	font-size: 11px;
	line-height: 1;
	letter-spacing: .12em;
	box-shadow: 0 6px 14px -6px rgba(255, 0, 144, .8);
}
#mainContent#mainContent.jlgLifca .left .jlgLifcaCard__body{
	padding: 0 2px;
}
#mainContent#mainContent.jlgLifca .left p.jlgLifcaCard__date{
	margin: 0 0 5px;
	color: var(--jlg-muted);
	font-family: var(--jlg-font-en);
	font-size: 12.5px;
	line-height: 1;
	letter-spacing: .08em;
	text-align: left;
}
#mainContent#mainContent.jlgLifca .left p.jlgLifcaCard__title{
	display: -webkit-box;
	margin: 0;
	overflow: hidden;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: .03em;
	text-align: left;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	transition: color .25s ease;
}
#mainContent#mainContent.jlgLifca .left a.jlgLifcaCard__link:hover p.jlgLifcaCard__title{
	color: var(--jlg-pink);
}

/* 該当なし */
#mainContent#mainContent.jlgLifca .left p.jlgLifcaEmpty{
	margin: 0 0 30px;
	padding: 48px 24px;
	border: 1px dashed rgba(255, 0, 144, .3);
	border-radius: var(--jlg-radius-lg);
	background:
		radial-gradient(60% 120% at 50% 0%, rgba(255, 122, 196, .16), transparent 70%),
		#fff8fc;
	color: var(--jlg-ink);
	font-size: 15px;
	font-weight: 700;
	line-height: 1.9;
	text-align: center;
}
#mainContent#mainContent.jlgLifca .left p.jlgLifcaEmpty::before{
	content: "\f24d";
	display: grid;
	place-items: center;
	width: 54px;
	height: 54px;
	margin: 0 auto 14px;
	border-radius: 50%;
	background: var(--jlg-grad);
	color: #fff;
	font-family: "Font Awesome 6 Free";
	font-weight: 400;
	font-size: 20px;
	box-shadow: 0 10px 22px -10px rgba(255, 0, 144, .7);
}

/* =====================================================================
   ページ送り（paginate_links・type=list）
   ===================================================================== */
#mainContent#mainContent.jlgLifca .left nav.navigation.pagination{
	margin: 0 0 22px;
}
#mainContent#mainContent.jlgLifca .left nav.navigation.pagination ul.page-numbers{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 6px;
	margin: 0;
	padding: 0;
	list-style: none;
}
#mainContent#mainContent.jlgLifca .left nav.navigation.pagination ul.page-numbers > li{
	display: contents;
}
#mainContent#mainContent.jlgLifca .left nav.navigation.pagination li > .page-numbers{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 42px;
	height: 42px;
	margin: 0;
	padding: 0 10px;
	border: 1px solid var(--jlg-line);
	border-radius: 13px;
	background: var(--jlg-surface);
	color: var(--jlg-ink);
	font-family: var(--jlg-font-en);
	font-size: 15px;
	line-height: 1;
	transition: background .25s ease, color .25s ease, border-color .25s ease;
}
#mainContent#mainContent.jlgLifca .left nav.navigation.pagination li > a.page-numbers:hover{
	border-color: rgba(255, 0, 144, .4);
	background: var(--jlg-tint);
	color: var(--jlg-pink);
}
#mainContent#mainContent.jlgLifca .left nav.navigation.pagination li > span.page-numbers.current{
	border-color: transparent;
	background: var(--jlg-grad);
	color: #fff;
	box-shadow: 0 8px 18px -8px rgba(255, 0, 144, .7);
}
#mainContent#mainContent.jlgLifca .left nav.navigation.pagination li > span.page-numbers.dots{
	min-width: 20px;
	border-color: transparent;
	background: none;
	color: var(--jlg-muted);
}
#mainContent#mainContent.jlgLifca .left nav.navigation.pagination li > .prev,
#mainContent#mainContent.jlgLifca .left nav.navigation.pagination li > .next{
	gap: 7px;
	padding: 0 16px;
	border-radius: 999px;
	font-family: var(--jlg-font);
	font-size: 13.5px;
	font-weight: 700;
}
#mainContent#mainContent.jlgLifca .left nav.navigation.pagination li > .prev::before,
#mainContent#mainContent.jlgLifca .left nav.navigation.pagination li > .next::after{
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	font-size: 11px;
}
#mainContent#mainContent.jlgLifca .left nav.navigation.pagination li > .prev::before{ content: "\f053"; }
#mainContent#mainContent.jlgLifca .left nav.navigation.pagination li > .next::after{ content: "\f054"; }

/* =====================================================================
   詳細：メイン（画像＋情報）
   ===================================================================== */
#mainContent#mainContent.jlgLifca .left article.jlgLifcaHero{
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 40%) minmax(0, 1fr);
	align-items: start;
	gap: 34px;
	margin: 0 0 24px;
	padding: 28px;
	overflow: hidden;
	border: 1px solid var(--jlg-line);
	border-radius: var(--jlg-radius-lg);
	background:
		radial-gradient(70% 60% at 0% 0%, rgba(255, 122, 196, .16), transparent 70%),
		radial-gradient(60% 50% at 100% 100%, rgba(120, 140, 255, .12), transparent 70%),
		var(--jlg-surface);
	box-shadow: var(--jlg-shadow-sm);
}
#mainContent#mainContent.jlgLifca .left .jlgLifcaHero__visual{
	position: sticky;
	top: calc(var(--jlg-head-h) + 20px);
	perspective: 1000px;
}
#mainContent#mainContent.jlgLifca .left .jlgLifcaHero__card{
	--rx: 0deg;
	--ry: 0deg;
	--px: 50%;
	--py: 50%;
	position: relative;
	display: block;
	width: 100%;
	aspect-ratio: var(--lifca-ratio);
	overflow: hidden;
	border-radius: 20px;
	background: linear-gradient(160deg, #f3ecf6, #fbe8f3);
	box-shadow:
		0 2px 4px rgba(36, 26, 51, .08),
		0 36px 60px -30px rgba(80, 20, 70, .65);
	cursor: zoom-in;
	transform: rotateX(var(--rx)) rotateY(var(--ry));
	transform-style: preserve-3d;
	transition: transform .5s var(--jlg-ease), box-shadow .5s ease;
	will-change: transform;
}
#mainContent#mainContent.jlgLifca .left .jlgLifcaHero__card.is-tilting{
	transition: transform .12s linear, box-shadow .5s ease;
	box-shadow:
		0 2px 4px rgba(36, 26, 51, .08),
		0 44px 70px -30px rgba(120, 20, 90, .7);
}
#mainContent#mainContent.jlgLifca .left .jlgLifcaHero__card.is-noimg{
	cursor: default;
}
#mainContent#mainContent.jlgLifca .left .jlgLifcaHero__card img{
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
	opacity: 1;
}
#mainContent#mainContent.jlgLifca .left .jlgLifcaHero__card::before{ /* 枠線 */
	content: "";
	position: absolute;
	inset: 0;
	z-index: 2;
	border: 1px solid rgba(255, 255, 255, .5);
	border-radius: inherit;
	pointer-events: none;
}
/* ホログラム風の光沢（マウス位置に追従） */
#mainContent#mainContent.jlgLifca .left .jlgLifcaHero__shine{
	position: absolute;
	inset: 0;
	z-index: 1;
	background:
		radial-gradient(circle at var(--px) var(--py), rgba(255, 255, 255, .55), transparent 45%),
		linear-gradient(115deg,
			transparent 20%,
			rgba(255, 150, 220, .28) 38%,
			rgba(150, 220, 255, .28) 50%,
			rgba(255, 240, 150, .22) 62%,
			transparent 80%);
	background-size: 100% 100%, 220% 220%;
	background-position: center, var(--px) var(--py);
	mix-blend-mode: soft-light;
	opacity: 0;
	transition: opacity .4s ease;
	pointer-events: none;
}
#mainContent#mainContent.jlgLifca .left .jlgLifcaHero__card:hover .jlgLifcaHero__shine{
	opacity: 1;
}
/* 拡大アイコン */
#mainContent#mainContent.jlgLifca .left a.jlgLifcaHero__card::after{
	content: "\f00e";
	position: absolute;
	right: 12px;
	bottom: 12px;
	z-index: 3;
	display: grid;
	place-items: center;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: rgba(255, 255, 255, .9);
	color: var(--jlg-pink);
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	font-size: 13px;
	box-shadow: 0 6px 14px -6px rgba(0, 0, 0, .45);
	opacity: 0;
	transform: scale(.8);
	transition: opacity .3s ease, transform .35s var(--jlg-ease);
}
#mainContent#mainContent.jlgLifca .left a.jlgLifcaHero__card:hover::after{
	opacity: 1;
	transform: none;
}

#mainContent#mainContent.jlgLifca .left .jlgLifcaHero__info{
	min-width: 0;
	padding-top: 6px;
}
#mainContent#mainContent.jlgLifca .left p.jlgLifcaHero__date{
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0 0 14px;
	color: var(--jlg-muted);
	font-family: var(--jlg-font-en);
	font-size: 14px;
	line-height: 1;
	letter-spacing: .08em;
}
#mainContent#mainContent.jlgLifca .left p.jlgLifcaHero__date::before{
	content: "LIFCA";
	padding: 6px 12px;
	border-radius: 999px;
	background: var(--jlg-grad);
	color: #fff;
	font-size: 11.5px;
	letter-spacing: .16em;
	box-shadow: 0 6px 14px -6px rgba(255, 0, 144, .7);
}
#mainContent#mainContent.jlgLifca .left .jlgLifcaHero__info h1{
	margin: 0 0 22px;
	padding: 0 0 20px;
	border: 0;
	border-bottom: 1px dashed var(--jlg-line);
	background: none;
	color: var(--jlg-ink);
	font-family: var(--jlg-font);
	font-size: clamp(22px, 2.4vw, 32px);
	font-weight: 900;
	line-height: 1.45;
	letter-spacing: .03em;
	text-align: left;
	text-wrap: balance;
}
#mainContent#mainContent.jlgLifca .left .jlgLifcaHero__info .blogSectionBox{
	margin: 0;
	padding: 0;
}
#mainContent#mainContent.jlgLifca .left .jlgLifcaHero__info .blogSection{
	margin: 0;
	padding: 0;
	color: var(--jlg-ink);
	font-size: 15px;
	line-height: 1.95;
	letter-spacing: .03em;
}
#mainContent#mainContent.jlgLifca .left .jlgLifcaHero__info .blogSection p{
	margin: 0 0 1.1em;
	line-height: 1.95;
	text-align: left;
}
#mainContent#mainContent.jlgLifca .left .jlgLifcaHero__info .blogSection p:empty{
	display: none;
}
#mainContent#mainContent.jlgLifca .left .jlgLifcaHero__info .blogSection > :last-child{
	margin-bottom: 0;
}
#mainContent#mainContent.jlgLifca .left .jlgLifcaHero__info .blogSection a{
	color: var(--jlg-pink);
	text-decoration: underline;
	text-underline-offset: 3px;
	word-break: break-all;
}
#mainContent#mainContent.jlgLifca .left .jlgLifcaHero__info .blogSection h2{
	position: relative;
	margin: 28px 0 14px;
	padding: 11px 14px 11px 18px;
	border: 0;
	border-radius: 12px;
	background: #fff4fa;
	color: var(--jlg-ink);
	font-size: 17px;
	font-weight: 900;
	line-height: 1.5;
	text-align: left;
}
#mainContent#mainContent.jlgLifca .left .jlgLifcaHero__info .blogSection h2::before{
	content: "";
	position: absolute;
	top: 11px;
	bottom: 11px;
	left: 0;
	width: 4px;
	border-radius: 0 4px 4px 0;
	background: var(--jlg-grad);
}
#mainContent#mainContent.jlgLifca .left .jlgLifcaHero__info .blogSection h3{
	margin: 22px 0 10px;
	padding: 0 0 6px;
	border-bottom: 2px solid var(--jlg-tint);
	color: var(--jlg-ink);
	font-size: 16px;
	font-weight: 900;
	line-height: 1.5;
}
#mainContent#mainContent.jlgLifca .left .jlgLifcaHero__info .blogSection :is(ul, ol){
	margin: 0 0 1.1em;
	padding-left: 1.4em;
}
#mainContent#mainContent.jlgLifca .left .jlgLifcaHero__info .blogSection img{
	max-width: 100%;
	height: auto;
	border-radius: 12px;
}

/* =====================================================================
   詳細：収録カード一覧（pack_first〜pack_last の card_number）
   ===================================================================== */
#mainContent#mainContent.jlgLifca .left section.jlgLifcaCards{
	margin: 0 0 28px;
	padding: 24px 24px 26px;
	border: 1px solid var(--jlg-line);
	border-radius: var(--jlg-radius-lg);
	background: var(--jlg-surface);
	box-shadow: var(--jlg-shadow-sm);
}
#mainContent#mainContent.jlgLifca .left h2.jlgLifcaLbl.is-cards{
	flex-wrap: wrap;
	row-gap: 6px;
}
#mainContent#mainContent.jlgLifca .left h2.jlgLifcaLbl.is-cards::before{
	content: "\f5fd";
	font-weight: 900;
}
#mainContent#mainContent.jlgLifca .left .jlgLifcaCards__range{
	padding: 5px 12px;
	border-radius: 999px;
	background: var(--jlg-tint);
	color: var(--jlg-pink);
	font-family: var(--jlg-font);
	font-size: 12.5px;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: .04em;
	white-space: nowrap;
}
#mainContent#mainContent.jlgLifca .left ul.jlgLifcaCards__list{
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
	counter-reset: none;
}
#mainContent#mainContent.jlgLifca .left li.jlgLifcaCards__item{
	position: relative;
	display: grid;
	grid-template-columns: 52px minmax(0, 1fr);
	grid-template-rows: auto auto auto;
	align-content: center;
	align-items: center;
	column-gap: 12px;
	row-gap: 3px;
	margin: 0;
	padding: 9px 12px 9px 9px;
	border: 1px solid var(--jlg-line);
	border-radius: 16px;
	background: #fff;
	list-style: none;
	transition: border-color .3s ease, box-shadow .3s ease, transform .35s var(--jlg-ease);
}
#mainContent#mainContent.jlgLifca .left li.jlgLifcaCards__item:hover{
	border-color: rgba(255, 0, 144, .25);
	box-shadow: var(--jlg-shadow-sm);
	transform: translateY(-2px);
}
#mainContent#mainContent.jlgLifca .left .jlgLifcaCards__icon{
	grid-column: 1;
	grid-row: 1 / -1;
	align-self: center;
	display: block;
	width: 52px;
	height: 52px;
	padding: 2px;
	border-radius: 50%;
	background: var(--jlg-grad);
}
#mainContent#mainContent.jlgLifca .left .jlgLifcaCards__icon img{
	display: block;
	width: 100%;
	height: 100%;
	border: 2px solid #fff;
	border-radius: 50%;
	background: #f4eef3;
	object-fit: cover;
	opacity: 1;
}
#mainContent#mainContent.jlgLifca .left .jlgLifcaCards__noimg{
	display: grid;
	place-items: center;
	width: 100%;
	height: 100%;
	border: 2px solid #fff;
	border-radius: 50%;
	background: #f4eef3;
	color: #c5b6cf;
}
#mainContent#mainContent.jlgLifca .left .jlgLifcaCards__noimg::before{
	content: "\f007";
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	font-size: 18px;
}
#mainContent#mainContent.jlgLifca .left .jlgLifcaCards__head{
	grid-column: 2;
	grid-row: 1;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 4px 7px;
	min-width: 0;
}
#mainContent#mainContent.jlgLifca .left .jlgLifcaCards__type{
	--typec: var(--jlg-pink);
	--typebg: var(--jlg-tint);
	display: inline-block;
	padding: 3px 8px;
	border-radius: 999px;
	background: var(--typebg);
	color: var(--typec);
	font-size: 10.5px;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: .02em;
	white-space: nowrap;
}
#mainContent#mainContent.jlgLifca .left li.jlgLifcaCards__item.is-man .jlgLifcaCards__type{
	--typec: #1a7cea;
	--typebg: #eef5ff;
}
#mainContent#mainContent.jlgLifca .left li.jlgLifcaCards__item.is-cosplay .jlgLifcaCards__type{
	--typec: #8a3cc8;
	--typebg: #f5edfb;
}
#mainContent#mainContent.jlgLifca .left li.jlgLifcaCards__item:not(.is-girl, .is-man, .is-cosplay) .jlgLifcaCards__type{
	--typec: #6b5d78;
	--typebg: #f2eef5;
}
#mainContent#mainContent.jlgLifca .left .jlgLifcaCards__chara{
	grid-column: 2;
	grid-row: 3;
	display: flex;
	align-items: center;
	gap: 5px;
	min-width: 0;
	overflow: hidden;
	color: var(--jlg-muted);
	font-size: 12px;
	font-weight: 500;
	line-height: 1.4;
	white-space: nowrap;
	text-overflow: ellipsis;
}
#mainContent#mainContent.jlgLifca .left .jlgLifcaCards__chara::before{
	content: "\f007";
	flex: 0 0 auto;
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	font-size: 9.5px;
	opacity: .7;
}
#mainContent#mainContent.jlgLifca .left p.jlgLifcaCards__notice{
	margin: -6px 0 16px;
	color: var(--jlg-muted);
	font-size: 12.5px;
	line-height: 1.7;
	text-align: left;
}
#mainContent#mainContent.jlgLifca .left .jlgLifcaCards__no{
	color: var(--jlg-pink);
	font-family: var(--jlg-font-en);
	font-size: 12.5px;
	line-height: 1.2;
	letter-spacing: .08em;
}
#mainContent#mainContent.jlgLifca .left .jlgLifcaCards__title{
	grid-column: 2;
	grid-row: 2;
	display: -webkit-box;
	overflow: hidden;
	color: var(--jlg-ink);
	font-size: 14px;
	font-weight: 700;
	line-height: 1.45;
	letter-spacing: .02em;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}
#mainContent#mainContent.jlgLifca .left p.jlgLifcaCards__empty{
	margin: 0;
	padding: 28px 16px;
	border: 1px dashed rgba(255, 0, 144, .3);
	border-radius: var(--jlg-radius);
	background: #fff8fc;
	color: var(--jlg-muted);
	font-size: 14px;
	text-align: center;
}
@media screen and (max-width: 759px){
	#mainContent#mainContent.jlgLifca .left section.jlgLifcaCards{
		padding: 18px 14px 18px;
		border-radius: 20px;
	}
	#mainContent#mainContent.jlgLifca .left ul.jlgLifcaCards__list{
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 6px;
	}
	#mainContent#mainContent.jlgLifca .left li.jlgLifcaCards__item{
		grid-template-columns: 38px minmax(0, 1fr);
		column-gap: 7px;
		padding: 6px 8px 6px 6px;
		border-radius: 12px;
	}
	#mainContent#mainContent.jlgLifca .left .jlgLifcaCards__icon{
		width: 38px;
		height: 38px;
	}
	#mainContent#mainContent.jlgLifca .left .jlgLifcaCards__noimg::before{
		font-size: 14px;
	}
	#mainContent#mainContent.jlgLifca .left .jlgLifcaCards__no{
		font-size: 11px;
	}
	#mainContent#mainContent.jlgLifca .left .jlgLifcaCards__title{
		font-size: 12px;
		line-height: 1.4;
	}
	#mainContent#mainContent.jlgLifca .left .jlgLifcaCards__range{
		font-size: 11.5px;
	}
	#mainContent#mainContent.jlgLifca .left p.jlgLifcaCards__notice{
		margin: -4px 0 12px;
		font-size: 11.5px;
	}
	#mainContent#mainContent.jlgLifca .left .jlgLifcaCards__type{
		padding: 2px 6px;
		font-size: 9.5px;
	}
	#mainContent#mainContent.jlgLifca .left .jlgLifcaCards__chara{
		font-size: 11px;
	}
}

/* 購入ボタン（lifca_url） */
#mainContent#mainContent.jlgLifca .left p.jlgLifcaBuy{
	margin: 26px 0 0;
	padding: 0;
	text-align: left;
}
#mainContent#mainContent.jlgLifca .left p.jlgLifcaBuy a{
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	width: min(100%, 360px);
	min-height: 58px;
	padding: 0 28px;
	overflow: hidden;
	border-radius: 999px;
	background: var(--jlg-grad-wide);
	background-size: 250% 100%;
	background-position: 0% 50%;
	color: #fff;
	font-size: 16px;
	font-weight: 700;
	letter-spacing: .06em;
	text-decoration: none;
	box-shadow: 0 18px 34px -16px rgba(255, 0, 144, .85);
	transition: background-position .8s var(--jlg-ease), transform .3s var(--jlg-ease), box-shadow .3s ease;
}
#mainContent#mainContent.jlgLifca .left p.jlgLifcaBuy a::before{
	content: "\f07a";
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	font-size: 14px;
}
#mainContent#mainContent.jlgLifca .left p.jlgLifcaBuy a::after{
	content: "\f35d";
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	font-size: 12px;
}
#mainContent#mainContent.jlgLifca .left p.jlgLifcaBuy a:hover{
	background-position: 60% 50%;
	color: #fff;
	transform: translateY(-2px);
	box-shadow: 0 22px 38px -16px rgba(255, 0, 144, .95);
}
@media screen and (max-width: 759px){
	#mainContent#mainContent.jlgLifca .left p.jlgLifcaBuy{
		margin-top: 20px;
		text-align: center;
	}
	#mainContent#mainContent.jlgLifca .left p.jlgLifcaBuy a{
		width: 100%;
		min-height: 54px;
		font-size: 15px;
	}
}

/* 前後のリフカ */
#mainContent#mainContent.jlgLifca .left nav.jlgLifcaPager{
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
	margin: 0 0 18px;
}
#mainContent#mainContent.jlgLifca .left .jlgLifcaPager__item{
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 5px;
	min-height: 74px;
	margin: 0;
	padding: 14px 18px 14px 54px;
	border: 1px solid var(--jlg-line);
	border-radius: var(--jlg-radius);
	background: var(--jlg-surface);
	color: var(--jlg-ink);
	text-decoration: none;
	transition: border-color .3s ease, box-shadow .3s ease, transform .35s var(--jlg-ease);
}
#mainContent#mainContent.jlgLifca .left .jlgLifcaPager__item.is-empty{
	visibility: hidden;
}
#mainContent#mainContent.jlgLifca .left .jlgLifcaPager__item.is-next{
	padding: 14px 54px 14px 18px;
	text-align: right;
}
#mainContent#mainContent.jlgLifca .left a.jlgLifcaPager__item::before{
	position: absolute;
	top: 50%;
	display: grid;
	place-items: center;
	width: 28px;
	height: 28px;
	margin-top: -14px;
	border-radius: 50%;
	background: var(--jlg-tint);
	color: var(--jlg-pink);
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	font-size: 11px;
	transition: background .3s ease, color .3s ease;
}
#mainContent#mainContent.jlgLifca .left a.jlgLifcaPager__item.is-prev::before{ content: "\f053"; left: 16px; }
#mainContent#mainContent.jlgLifca .left a.jlgLifcaPager__item.is-next::before{ content: "\f054"; right: 16px; }
#mainContent#mainContent.jlgLifca .left a.jlgLifcaPager__item:hover{
	border-color: rgba(255, 0, 144, .25);
	box-shadow: var(--jlg-shadow-sm);
	transform: translateY(-2px);
}
#mainContent#mainContent.jlgLifca .left a.jlgLifcaPager__item:hover::before{
	background: var(--jlg-pink);
	color: #fff;
}
#mainContent#mainContent.jlgLifca .left .jlgLifcaPager__lbl{
	color: var(--jlg-muted);
	font-size: 11.5px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: .08em;
}
#mainContent#mainContent.jlgLifca .left .jlgLifcaPager__title{
	display: -webkit-box;
	overflow: hidden;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.5;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

/* リフカ一覧へ */
#mainContent#mainContent.jlgLifca .left p.jlgLifcaBack{
	margin: 0 0 44px;
	text-align: center;
}
#mainContent#mainContent.jlgLifca .left p.jlgLifcaBack a{
	display: inline-flex;
	align-items: center;
	gap: 10px;
	height: 48px;
	padding: 0 28px;
	border-radius: 999px;
	background: var(--jlg-grad);
	color: #fff;
	font-size: 14.5px;
	font-weight: 700;
	letter-spacing: .06em;
	text-decoration: none;
	box-shadow: 0 12px 26px -12px rgba(255, 0, 144, .8);
	transition: filter .25s ease, transform .3s var(--jlg-ease);
}
#mainContent#mainContent.jlgLifca .left p.jlgLifcaBack a::before{
	content: "\f00a";
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	font-size: 13px;
}
#mainContent#mainContent.jlgLifca .left p.jlgLifcaBack a:hover{
	filter: brightness(1.08);
	transform: translateY(-2px);
}

/* ほかのリフカ 見出し */
#mainContent#mainContent.jlgLifca .left h2.jlgLifcaLbl{
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0 0 16px;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: none;
	color: var(--jlg-ink);
	font-family: var(--jlg-font);
	font-size: 20px;
	font-weight: 900;
	letter-spacing: .06em;
	text-align: left;
}
#mainContent#mainContent.jlgLifca .left h2.jlgLifcaLbl::before{
	content: "\f24d";
	display: grid;
	place-items: center;
	width: 36px;
	height: 36px;
	border-radius: 12px;
	background: var(--jlg-grad);
	color: #fff;
	font-family: "Font Awesome 6 Free";
	font-weight: 400;
	font-size: 14px;
	box-shadow: 0 8px 18px -8px rgba(255, 0, 144, .7);
}
#mainContent#mainContent.jlgLifca .left h2.jlgLifcaLbl::after{
	content: "";
	flex: 1 1 auto;
	height: 1px;
	background: linear-gradient(90deg, rgba(255, 0, 144, .3), transparent);
}
#mainContent#mainContent.jlgLifca .left ul.jlgLifcaList.is-more{
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

/* =====================================================================
   RESPONSIVE
   ===================================================================== */
@media screen and (max-width: 960px){
	#mainContent#mainContent.jlgLifca .left article.jlgLifcaHero{
		grid-template-columns: minmax(0, 44%) minmax(0, 1fr);
		gap: 24px;
		padding: 22px;
	}
}
@media screen and (max-width: 759px){
	#mainContent#mainContent.jlgLifca .left .jlgLifcaIntro{
		padding: 16px 16px 16px 20px;
		border-radius: 20px;
	}
	#mainContent#mainContent.jlgLifca .left .jlgLifcaIntro p{
		font-size: 14px;
	}
	#mainContent#mainContent.jlgLifca .left ul.jlgLifcaList,
	#mainContent#mainContent.jlgLifca .left ul.jlgLifcaList.is-more{
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 18px 12px;
	}
	#mainContent#mainContent.jlgLifca .left figure.jlgLifcaCard__img{
		margin-bottom: 9px;
		border-radius: 12px;
	}
	#mainContent#mainContent.jlgLifca .left span.jlgLifcaCard__new{
		top: 7px;
		left: 7px;
		padding: 4px 8px;
		font-size: 10px;
	}
	#mainContent#mainContent.jlgLifca .left p.jlgLifcaCard__date{
		font-size: 11.5px;
	}
	#mainContent#mainContent.jlgLifca .left p.jlgLifcaCard__title{
		font-size: 13.5px;
	}
	#mainContent#mainContent.jlgLifca .left p.jlgLifcaEmpty{
		padding: 36px 18px;
		border-radius: 20px;
		font-size: 14.5px;
	}
	#mainContent#mainContent.jlgLifca .left nav.navigation.pagination li > .page-numbers{
		min-width: 38px;
		height: 38px;
		font-size: 14px;
	}

	#mainContent#mainContent.jlgLifca .left article.jlgLifcaHero{
		grid-template-columns: minmax(0, 1fr);
		gap: 20px;
		padding: 20px 16px;
		border-radius: 20px;
	}
	#mainContent#mainContent.jlgLifca .left .jlgLifcaHero__visual{
		position: static;
		width: min(78%, 320px);
		margin: 0 auto;
	}
	#mainContent#mainContent.jlgLifca .left .jlgLifcaHero__card{
		border-radius: 16px;
	}
	#mainContent#mainContent.jlgLifca .left a.jlgLifcaHero__card::after{
		opacity: 1;
		transform: none;
		width: 32px;
		height: 32px;
		font-size: 12px;
	}
	#mainContent#mainContent.jlgLifca .left .jlgLifcaHero__info{
		padding-top: 0;
	}
	#mainContent#mainContent.jlgLifca .left .jlgLifcaHero__info h1{
		margin-bottom: 16px;
		padding-bottom: 16px;
		font-size: 21px;
	}
	#mainContent#mainContent.jlgLifca .left .jlgLifcaHero__info .blogSection{
		font-size: 14.5px;
	}
	#mainContent#mainContent.jlgLifca .left nav.jlgLifcaPager{
		grid-template-columns: minmax(0, 1fr);
		gap: 8px;
	}
	#mainContent#mainContent.jlgLifca .left .jlgLifcaPager__item{
		min-height: 64px;
	}
	#mainContent#mainContent.jlgLifca .left .jlgLifcaPager__item.is-empty{
		display: none;
	}
	#mainContent#mainContent.jlgLifca .left p.jlgLifcaBack a{
		width: 100%;
		justify-content: center;
	}
	#mainContent#mainContent.jlgLifca .left h2.jlgLifcaLbl{
		font-size: 18px;
	}
}

@media (prefers-reduced-motion: reduce){
	#mainContent#mainContent.jlgLifca .left *{
		transition-duration: .01ms !important;
	}
}
