@charset "utf-8";
/* =====================================================================
   じゃぱにーずリフトガール — 詳細ページ 2026
   対象：single-character.php（キャラクター詳細）
         single-story.php    （ストーリー詳細）
         single-onbusman.php （おんぶ'sマン詳細）
   読み込み：header.php（上の3種類の詳細ページでのみ読み込み）

   ・各テンプレートの <section id="mainContent"> に付けた .jlgDetail 配下だけに
     限定しているので、他のページには影響しません。
   ・旧CSS（#mainContent .left … / !important）より確実に優先させるため、
     #mainContent#mainContent.jlgDetail（ID二重指定）で詳細度を上げています。
   ・色や角丸などのトークンは css/chrome2026.css の :root を使います。
   ===================================================================== */

#mainContent#mainContent.jlgDetail .left{
	font-family: var(--jlg-font);
	font-feature-settings: "palt" 1;
	color: var(--jlg-ink);
}
/* 目次リンクで飛んだ時に、吸着ヘッダーの下に隠れないように */
#mainContent#mainContent.jlgDetail [id]{
	scroll-margin-top: 100px;
}

/* =====================================================================
   ページ冒頭（日付・タイトル・フォーム切替・メイン画像）
   ===================================================================== */
#mainContent#mainContent.jlgDetail .left p.date{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	margin: 0 0 12px;
	color: var(--jlg-muted);
	font-family: var(--jlg-font-en);
	font-size: 14px;
	letter-spacing: .08em;
}
#mainContent#mainContent.jlgDetail .left p.date span{
	margin: 0;
	padding: 5px 12px;
	border-radius: 999px;
	background: var(--jlg-grad);
	color: #fff;
	font-family: var(--jlg-font);
	font-size: 11.5px;
	font-weight: 700;
	letter-spacing: .08em;
}
#mainContent#mainContent.jlgDetail .left h1{
	margin: 0 0 18px;
	padding: 0;
	background: none;
	color: var(--jlg-ink);
	font-family: var(--jlg-font);
	font-size: clamp(24px, 2.6vw, 34px);
	font-weight: 900;
	line-height: 1.4;
	letter-spacing: .03em;
	text-align: left;
	text-wrap: balance;
}

/* キャラのフォーム切り替え（現在／中学生時代…） */
#mainContent#mainContent.jlgDetail ul.formChange{
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0 0 16px;
	padding: 0;
	list-style: none;
}
#mainContent#mainContent.jlgDetail ul.formChange li{
	display: block;
	margin: 0;
	list-style: none;
}
#mainContent#mainContent.jlgDetail ul.formChange li a{
	display: inline-flex;
	align-items: center;
	min-height: 38px;
	padding: 0 16px;
	border: 1px solid var(--jlg-line);
	border-radius: 999px;
	background: var(--jlg-surface);
	color: var(--jlg-ink);
	font-size: 13.5px;
	font-weight: 700;
	transition: border-color .25s ease, background .25s ease, color .25s ease;
}
#mainContent#mainContent.jlgDetail ul.formChange li a:hover{
	border-color: rgba(255, 0, 144, .35);
	background: var(--jlg-tint);
	color: var(--jlg-pink);
}
#mainContent#mainContent.jlgDetail ul.formChange li.active a{
	border-color: transparent;
	background: var(--jlg-grad);
	color: #fff;
	box-shadow: 0 8px 18px -10px rgba(255, 0, 144, .8);
}

/* 名前をコピー */
#mainContent#mainContent.jlgDetail #copyBtn{
	display: inline-flex;
	align-items: center;
	gap: 7px;
	margin: 0 0 18px;
	padding: 6px 14px;
	border: 1px solid var(--jlg-line);
	border-radius: 999px;
	background: var(--jlg-surface);
	color: var(--jlg-muted);
	font-family: var(--jlg-font);
	font-size: 12.5px;
	font-weight: 700;
	cursor: pointer;
	transition: border-color .25s ease, color .25s ease, background .25s ease;
}
#mainContent#mainContent.jlgDetail #copyBtn::before{
	content: "\f0c5";
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	font-size: 11px;
}
#mainContent#mainContent.jlgDetail #copyBtn:hover{
	border-color: rgba(255, 0, 144, .4);
	background: var(--jlg-tint);
	color: var(--jlg-pink);
}

/* メイン画像 */
#mainContent#mainContent.jlgDetail .left .thumbnail{
	position: relative;
	overflow: hidden;
	margin: 0 0 28px;
	border-radius: var(--jlg-radius-lg);
	background-color: #f4eef3;
	box-shadow: 0 24px 50px -30px rgba(80, 20, 70, .55);
	text-align: center;
	isolation: isolate;
}
#mainContent#mainContent.jlgDetail .left .thumbnail > img{
	display: block;
	width: 100%;
	height: auto;
}
/* ストーリー／おんぶ'sマン：背景に同じ画像をぼかして敷き、画像は切らずに全体を表示
   （テンプレートが .thumbnail に style="background:url(…)" を付けているので、それを継承してぼかす） */
#mainContent#mainContent.jlgDetail .left .thumbnail:has(.bgOpacity)::before{
	content: "";
	position: absolute;
	inset: -60px;
	z-index: -1;
	background: inherit;
	background-size: cover;
	background-position: center;
	filter: blur(30px) saturate(1.4);
	transform: scale(1.05);
}
#mainContent#mainContent.jlgDetail .left .thumbnail .bgOpacity{
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 28px;
	border-radius: 0;
	background: rgba(255, 244, 250, .38);
}
#mainContent#mainContent.jlgDetail .left .thumbnail .bgOpacity img{
	display: block;
	width: auto;
	max-width: 100%;
	max-height: 560px;
	height: auto;
	border-radius: var(--jlg-radius);
	box-shadow: 0 18px 40px -18px rgba(40, 10, 40, .55);
}

/* お知らせ系（未登場・追加コンテンツ） */
#mainContent#mainContent.jlgDetail .left p.notAppearedText,
#mainContent#mainContent.jlgDetail .left .addCompleted{
	margin: 0 0 28px;
	padding: 14px 18px;
	border: 0;
	border-radius: 14px;
	background: var(--jlg-tint);
	box-shadow: inset 4px 0 0 var(--jlg-pink);
	color: var(--jlg-ink);
	font-size: 14px;
	font-weight: 700;
	line-height: 1.7;
	text-align: left;
}
#mainContent#mainContent.jlgDetail .left .addCompleted a{
	color: var(--jlg-pink);
	text-decoration: underline;
}

/* ログイン時のみの構築中アイコン */
#mainContent#mainContent.jlgDetail .left ul.storyFeaturesIcon{
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 0 0 28px;
	padding: 0;
}
#mainContent#mainContent.jlgDetail .left ul.storyFeaturesIcon li{
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 6px;
	width: 92px;
	margin: 0;
	font-size: 12px;
	font-weight: 700;
}
#mainContent#mainContent.jlgDetail .left ul.storyFeaturesIcon li img{
	width: 72px;
	height: 72px;
	border-radius: 18px;
	box-shadow: var(--jlg-shadow-sm);
}

/* =====================================================================
   目次（INDEX）
   ===================================================================== */
#mainContent#mainContent.jlgDetail .left dl.indexBox{
	width: 100%;
	margin: 0 0 24px;
	padding: 20px 22px 22px;
	border: 1px solid var(--jlg-line);
	border-radius: var(--jlg-radius-lg);
	background: var(--jlg-surface);
	box-shadow: var(--jlg-shadow-sm);
}
#mainContent#mainContent.jlgDetail .left dl.indexBox dt{
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0 0 14px;
	padding: 0;
	color: var(--jlg-pink);
	font-family: var(--jlg-font-en);
	font-size: 13px;
	font-weight: normal;
	letter-spacing: .3em;
	text-align: left;
}
#mainContent#mainContent.jlgDetail .left dl.indexBox dt::before{
	content: "";
	width: 24px;
	height: 2px;
	border-radius: 2px;
	background: var(--jlg-grad);
}
#mainContent#mainContent.jlgDetail .left dl.indexBox dd > ul{
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
	gap: 8px;
	margin: 0;
	padding: 0;
	border: 0;
	counter-reset: jlgidx;
}
#mainContent#mainContent.jlgDetail .left dl.indexBox dd > ul > li{
	display: block;
	margin: 0;
	border: 0;
	list-style: none;
	counter-increment: jlgidx;
}
#mainContent#mainContent.jlgDetail .left dl.indexBox dd > ul li a{
	display: flex;
	align-items: center;
	gap: 12px;
	height: 100%;
	margin: 0;
	padding: 12px 14px;
	border: 1px solid transparent;
	border-radius: 14px;
	background: #fbf7fa;
	color: var(--jlg-ink);
	font-size: 14px;
	font-weight: 700;
	line-height: 1.45;
	transition: background .25s ease, border-color .25s ease, color .25s ease;
}
#mainContent#mainContent.jlgDetail .left dl.indexBox dd > ul li a::before{ /* 番号（並び順がそのまま目次の順番） */
	content: counter(jlgidx, decimal-leading-zero);
	flex: 0 0 auto;
	color: var(--jlg-pink);
	font-family: var(--jlg-font-en);
	font-size: 12px;
	font-weight: normal;
	letter-spacing: .06em;
}
#mainContent#mainContent.jlgDetail .left dl.indexBox dd > ul li a::after{
	content: "\f063";
	flex: 0 0 auto;
	margin-left: auto;
	color: var(--jlg-pink);
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	font-size: 11px;
	opacity: .55;
	transition: transform .3s var(--jlg-ease), opacity .3s ease;
}
#mainContent#mainContent.jlgDetail .left dl.indexBox dd > ul li a:hover{
	border-color: rgba(255, 0, 144, .25);
	background: var(--jlg-tint);
	color: var(--jlg-pink);
}
#mainContent#mainContent.jlgDetail .left dl.indexBox dd > ul li a:hover::after{
	opacity: 1;
	transform: translateY(2px);
}

/* =====================================================================
   いいねボックス
   ===================================================================== */
#mainContent#mainContent.jlgDetail .likeBtnBox{
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px 24px;
	margin: 0 0 48px;
	padding: 18px 22px;
	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, .22), transparent 70%),
		#fff8fc;
	text-align: left;
}
#mainContent#mainContent.jlgDetail .likeBtnBox p{
	display: flex;
	align-items: flex-start;
	gap: 12px;
	margin: 0;
	color: var(--jlg-ink);
	font-size: 13.5px;
	line-height: 1.75;
	text-align: left;
}
#mainContent#mainContent.jlgDetail .likeBtnBox p::before{
	content: "\f004";
	flex: 0 0 auto;
	display: grid;
	place-items: center;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: var(--jlg-grad);
	color: #fff;
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	font-size: 14px;
	box-shadow: 0 8px 18px -8px rgba(255, 0, 144, .7);
}
#mainContent#mainContent.jlgDetail .likeBtnBox .wpulike{
	flex: 0 0 auto;
	padding: 0;
}
#mainContent#mainContent.jlgDetail .likeBtnBox .wp_ulike_general_class{
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 4px 14px 4px 6px;
	border: 1px solid rgba(255, 0, 144, .2);
	border-radius: 999px;
	background: #fff;
	box-shadow: var(--jlg-shadow-sm);
}
#mainContent#mainContent.jlgDetail .likeBtnBox .count-box{
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	box-shadow: none;
	color: var(--jlg-pink);
	font-family: var(--jlg-font-en);
	font-size: 16px;
}
#mainContent#mainContent.jlgDetail .likeBtnBox .count-box::before,
#mainContent#mainContent.jlgDetail .likeBtnBox .count-box::after{
	display: none;
}

/* =====================================================================
   セクション見出し
   ===================================================================== */
#mainContent#mainContent.jlgDetail .blogSectionBox{
	padding-bottom: 0;
}
#mainContent#mainContent.jlgDetail .blogSectionBox .blogSection{
	margin-bottom: 64px;
}
#mainContent#mainContent.jlgDetail .blogSection h2.lblPattern2{
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
	margin: 0 0 28px;
	padding: 0;
	border-radius: 0;
	background: none;
	color: var(--jlg-ink);
	font-family: var(--jlg-font);
	font-size: clamp(22px, 2.3vw, 28px);
	font-weight: 900;
	line-height: 1.35;
	letter-spacing: .06em;
	text-align: center !important;
}
#mainContent#mainContent.jlgDetail .blogSection h2.lblPattern2 span{ /* 英字は上の小見出しに */
	order: -1;
	display: block;
	margin: 0;
	color: var(--jlg-pink);
	font-family: var(--jlg-font-en);
	font-size: 12px;
	font-weight: normal;
	letter-spacing: .3em;
	text-align: center;
}
#mainContent#mainContent.jlgDetail .blogSection h2.lblPattern2::after{
	content: "";
	width: 44px;
	height: 4px;
	margin-top: 4px;
	border-radius: 4px;
	background: var(--jlg-grad);
}

/* 小見出し（基本情報・リフトプレイ可能範囲） */
#mainContent#mainContent.jlgDetail .left h3{
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 30px 0 14px;
	padding: 0;
	border: 0;
	color: var(--jlg-ink);
	font-family: var(--jlg-font);
	font-size: 17px;
	font-weight: 700;
	letter-spacing: .05em;
}
#mainContent#mainContent.jlgDetail .left h3::before{
	content: "";
	flex: 0 0 auto;
	width: 5px;
	height: 20px;
	border-radius: 3px;
	background: var(--jlg-grad);
}

/* 本文 */
#mainContent#mainContent.jlgDetail .blogSection p{
	line-height: 1.9;
}

/* =====================================================================
   データ表（基本情報・作品概要）
   ===================================================================== */
#mainContent#mainContent.jlgDetail .left table.storyAboutBox{
	width: 100%;
	margin: 0 0 20px;
	border: 1px solid var(--jlg-line);
	border-collapse: separate;
	border-spacing: 0;
	border-radius: var(--jlg-radius);
	overflow: hidden;
	background: var(--jlg-surface);
}
#mainContent#mainContent.jlgDetail .left table.storyAboutBox tr th,
#mainContent#mainContent.jlgDetail .left table.storyAboutBox tr td{
	padding: 13px 18px;
	border: 0;
	border-bottom: 1px solid var(--jlg-line);
	vertical-align: middle;
	line-height: 1.7;
}
#mainContent#mainContent.jlgDetail .left table.storyAboutBox tr:last-child th,
#mainContent#mainContent.jlgDetail .left table.storyAboutBox tr:last-child td{
	border-bottom: 0;
}
#mainContent#mainContent.jlgDetail .left table.storyAboutBox tr th{
	width: 30%;
	background: #fbf6fa;
	color: var(--jlg-muted);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .06em;
	text-align: left;
}
#mainContent#mainContent.jlgDetail .left table.storyAboutBox tr td{
	color: var(--jlg-ink);
	font-size: 15px;
	font-weight: 500;
}
/* ストーリー／おんぶ'sマン：男・女の行を色分け */
#mainContent#mainContent.jlgDetail:is(.jlgDetail--story, .jlgDetail--onbusman) #storyAbout table.storyAboutBox tr:nth-child(1) th{
	background: #eef5ff;
	color: #1a7cea;
	box-shadow: inset 3px 0 0 #1a7cea;
}
#mainContent#mainContent.jlgDetail:is(.jlgDetail--story, .jlgDetail--onbusman) #storyAbout table.storyAboutBox tr:nth-child(2) th{
	background: var(--jlg-tint);
	color: var(--jlg-pink);
	box-shadow: inset 3px 0 0 var(--jlg-pink);
}

/* ストーリー概要（本文の引用ブロック） */
#mainContent#mainContent.jlgDetail .left blockquote{
	position: relative;
	margin: 0 0 22px;
	padding: 24px 26px 22px 30px;
	border-radius: var(--jlg-radius-lg);
	background:
		radial-gradient(50% 100% at 100% 0%, rgba(180, 60, 200, .10), transparent 70%),
		#fff8fc;
	color: var(--jlg-ink);
	font-size: 15px;
	line-height: 1.95;
}
#mainContent#mainContent.jlgDetail .left blockquote::before{
	content: "\201C";
	position: absolute;
	top: -6px;
	left: 14px;
	color: var(--jlg-pink);
	font-family: Georgia, serif;
	font-size: 64px;
	line-height: 1;
	opacity: .25;
}
#mainContent#mainContent.jlgDetail .left blockquote p:last-child{
	margin-bottom: 0;
}

/* =====================================================================
   キャラクター情報
   ===================================================================== */
#mainContent#mainContent.jlgDetail .blogSection p.aiMainPic img{
	display: block;
	width: 100%;
	border-radius: var(--jlg-radius-lg);
	box-shadow: var(--jlg-shadow);
}
#mainContent#mainContent.jlgDetail .left .characterInfoBox{
	display: grid;
	grid-template-columns: minmax(0, 1fr) 30%;
	align-items: end;
	gap: 32px;
	width: 100%;
	margin: 0 0 20px;
	font-size: 16px;
}
#mainContent#mainContent.jlgDetail .left .characterInfoBox .characterInfoLeft,
#mainContent#mainContent.jlgDetail .left .characterInfoBox .characterInfoRight{
	display: block;
	width: auto;
	padding: 0;
	font-size: 16px;
}
/* プロフィール画像3枚 */
#mainContent#mainContent.jlgDetail .left .characterInfoBox ul.charaImgBox{
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
	width: 100%;
	margin: 0 0 22px;
	padding: 0;
}
#mainContent#mainContent.jlgDetail .left .characterInfoBox ul.charaImgBox li{
	display: block;
	width: auto;
	margin: 0;
	padding: 0;
	list-style: none;
}
#mainContent#mainContent.jlgDetail .left .characterInfoBox ul.charaImgBox li figure{
	width: 100% !important;
	height: auto !important;
	aspect-ratio: 1 / 1;
	margin: 0;
	overflow: hidden;
	border-radius: var(--jlg-radius);
	background: #fbeef6;
	box-shadow: var(--jlg-shadow-sm);
}
#mainContent#mainContent.jlgDetail .left .characterInfoBox ul.charaImgBox li figure a{
	display: block;
	width: 100%;
	height: 100%;
}
#mainContent#mainContent.jlgDetail .left .characterInfoBox ul.charaImgBox li figure img{
	width: 100% !important;
	height: 100% !important;
	object-fit: contain;
	transition: transform .6s var(--jlg-ease);
}
#mainContent#mainContent.jlgDetail .left .characterInfoBox ul.charaImgBox li figure:hover img{
	opacity: 1;
	transform: scale(1.05);
}
/* 全身イラスト：足元にうっすら光のステージ */
#mainContent#mainContent.jlgDetail .left .characterInfoBox .characterInfoRight p{
	position: relative;
	margin: 0;
	padding: 12px 8px 0;
	text-align: center;
}
#mainContent#mainContent.jlgDetail .left .characterInfoBox .characterInfoRight p::before{
	content: "";
	position: absolute;
	left: 4%;
	right: 4%;
	bottom: 0;
	height: 55%;
	border-radius: 50% 50% var(--jlg-radius-lg) var(--jlg-radius-lg) / 30% 30% var(--jlg-radius-lg) var(--jlg-radius-lg);
	background: linear-gradient(180deg, rgba(255, 122, 196, 0), rgba(255, 122, 196, .18) 60%, rgba(180, 60, 200, .16));
	z-index: -1;
}
#mainContent#mainContent.jlgDetail .left .characterInfoBox .characterInfoRight{
	position: relative;
	isolation: isolate;
}
#mainContent#mainContent.jlgDetail .left .characterInfoBox .characterInfoRight img{
	max-height: 560px;
	width: auto;
	filter: drop-shadow(0 16px 20px rgba(80, 20, 70, .18));
}
#mainContent#mainContent.jlgDetail .left .characterInfoBox .characterInfoLeft table.storyAboutBox{
	margin-bottom: 18px;
}
/* 「このキャラのサイズ比較」 */
#mainContent#mainContent.jlgDetail .left .characterInfoBox .characterInfoLeft form{
	margin: 0;
	text-align: left;
}
#mainContent#mainContent.jlgDetail .left .characterInfoBox .characterInfoLeft form input[type="submit"]{
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	padding: 0 22px;
	border: 1.5px solid rgba(255, 0, 144, .45);
	border-radius: 999px;
	background: #fff;
	color: var(--jlg-pink);
	font-family: var(--jlg-font);
	font-size: 14px;
	font-weight: 700;
	letter-spacing: .04em;
	cursor: pointer;
	transition: background .3s ease, color .3s ease, border-color .3s ease, transform .3s var(--jlg-ease);
}
#mainContent#mainContent.jlgDetail .left .characterInfoBox .characterInfoLeft form input[type="submit"]:hover{
	border-color: transparent;
	background: var(--jlg-grad);
	color: #fff;
	transform: translateY(-1px);
}

/* =====================================================================
   リフトスキル
   ===================================================================== */
#mainContent#mainContent.jlgDetail .left .statusBox{
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 64px;
	margin: 0 0 18px;
	background: url("../images/multiplication.png") no-repeat center center / 40px;
	font-size: 16px;
}
#mainContent#mainContent.jlgDetail .left .statusBox .statusItem{
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
	width: auto;
	padding: 22px 16px 20px;
	border: 1px solid var(--jlg-line);
	border-radius: var(--jlg-radius-lg);
	background: var(--jlg-surface);
	box-shadow: var(--jlg-shadow-sm);
	font-size: 16px;
}
#mainContent#mainContent.jlgDetail .left .statusBox .statusItem p{
	margin: 0;
	line-height: 1.3;
}
#mainContent#mainContent.jlgDetail .left .statusBox .statusItem p:nth-child(1) img{
	width: 84px;
	max-width: 84px;
	height: auto;
}
#mainContent#mainContent.jlgDetail .left .statusBox .statusItem p:nth-child(2){
	color: var(--jlg-muted);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .08em;
	line-height: 1.4;
}
#mainContent#mainContent.jlgDetail .left .statusBox .statusItem p:nth-child(2) br{
	display: none;
}
#mainContent#mainContent.jlgDetail .left .statusBox .statusItem p:nth-child(3),
#mainContent#mainContent.jlgDetail .left .liftLevelBox p:nth-child(3){
	background: var(--jlg-grad);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	color: transparent;
	font-family: var(--jlg-font-en);
	font-weight: normal;
	line-height: 1;
	font-variant-numeric: tabular-nums;
}
#mainContent#mainContent.jlgDetail .left .statusBox .statusItem p:nth-child(3){
	font-size: 64px;
}
#mainContent#mainContent.jlgDetail .left .liftLevelBox{
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
	margin: 0 0 22px;
	padding: 22px 16px 24px;
	border: 1.5px solid transparent;
	border-radius: var(--jlg-radius-lg);
	background:
		linear-gradient(#fff8fc, #fff8fc) padding-box,
		var(--jlg-grad) border-box;
	box-shadow: 0 18px 36px -24px rgba(255, 0, 144, .6);
	text-align: center;
}
#mainContent#mainContent.jlgDetail .left .liftLevelBox p{
	margin: 0;
}
#mainContent#mainContent.jlgDetail .left .liftLevelBox p:nth-child(1) img{
	width: 34px;
	max-width: 34px;
	height: auto;
}
#mainContent#mainContent.jlgDetail .left .liftLevelBox p:nth-child(2){
	color: var(--jlg-ink);
	font-size: 14px;
	font-weight: 700;
	letter-spacing: .1em;
	line-height: 1.4;
}
#mainContent#mainContent.jlgDetail .left .liftLevelBox p:nth-child(3){
	font-size: 96px;
}

/* 「リフトプレイ可能範囲を見る」ボタン */
#mainContent#mainContent.jlgDetail .left .blogSection .liftRangeBtn{
	margin: 0 0 20px;
	text-align: center;
}
#mainContent#mainContent.jlgDetail .left .liftRangeBtn span{
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 15px 28px;
	border: 0;
	border-radius: 999px;
	background: var(--jlg-grad-wide);
	background-size: 250% 100%;
	background-position: 0% 50%;
	color: #fff;
	font-size: 15px;
	font-weight: 700;
	letter-spacing: .04em;
	line-height: 1.5;
	cursor: pointer;
	box-shadow: 0 14px 28px -14px rgba(255, 0, 144, .8);
	transition: background-position .8s var(--jlg-ease), transform .3s var(--jlg-ease);
}
#mainContent#mainContent.jlgDetail .left .liftRangeBtn span::after{
	content: "\f078";
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	font-size: 12px;
}
#mainContent#mainContent.jlgDetail .left .liftRangeBtn span:hover{
	border: 0;
	background: var(--jlg-grad-wide);
	background-size: 250% 100%;
	background-position: 60% 50%;
	transform: translateY(-2px);
}

/* リフトプレイ可能範囲（開閉はjQueryのslideToggleなので display は指定しない） */
#mainContent#mainContent.jlgDetail .left #liftRange{
	padding: 8px 24px 24px;
	border: 1px solid var(--jlg-line);
	border-radius: var(--jlg-radius-lg);
	background: var(--jlg-surface);
	box-shadow: var(--jlg-shadow-sm);
}
#mainContent#mainContent.jlgDetail .left #liftRange table.storyAboutBox.status{
	display: block;
	margin: 0 0 12px;
	border: 0;
	border-radius: 0;
	overflow: visible;
	background: none;
}
#mainContent#mainContent.jlgDetail .left #liftRange table.storyAboutBox.status tbody{
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
}
#mainContent#mainContent.jlgDetail .left #liftRange table.storyAboutBox.status tr{
	display: flex;
	flex-direction: column;
	gap: 4px;
	padding: 14px 16px;
	border-radius: 16px;
	background: #fff7fb;
}
#mainContent#mainContent.jlgDetail .left #liftRange table.storyAboutBox.status tr th,
#mainContent#mainContent.jlgDetail .left #liftRange table.storyAboutBox.status tr td{
	display: block;
	width: auto;
	padding: 0;
	border: 0;
	background: none;
	box-shadow: none;
	text-align: left;
}
#mainContent#mainContent.jlgDetail .left #liftRange table.storyAboutBox.status tr th{
	color: var(--jlg-muted);
	font-size: 12.5px;
}
#mainContent#mainContent.jlgDetail .left #liftRange table.storyAboutBox.status tr td{
	color: var(--jlg-pink);
	font-size: 20px;
	font-weight: 700;
	line-height: 1.3;
}
#mainContent#mainContent.jlgDetail .left #liftRange #liftRangeLeft > p{
	margin: 0;
	color: var(--jlg-muted);
	font-size: 12.5px;
	line-height: 1.8;
}
#mainContent#mainContent.jlgDetail .left #liftRange #liftRangeRight{
	padding-top: 56px;
}
#mainContent#mainContent.jlgDetail .left #liftRange #liftRangeRight img,
#mainContent#mainContent.jlgDetail .left #liftRange #liftRangeRight .rangeSlide .rangeSlideItem{
	border-radius: var(--jlg-radius);
	overflow: hidden;
}
#mainContent#mainContent.jlgDetail .left #liftRange #liftRangeRight .rangeSlide .rangeSlideItem{
	background: #fbeef6;
}

/* =====================================================================
   ギャラリー（プレイ写真・作品画像）
   ===================================================================== */
#mainContent#mainContent.jlgDetail .left .playImgContainer{
	margin: 0;
}
#mainContent#mainContent.jlgDetail .left .playImgContainer > p{
	margin: 0 0 16px;
	color: var(--jlg-muted);
	font-size: 13.5px;
	line-height: 1.8;
}
#mainContent#mainContent.jlgDetail .left .playImgContainer > p.noImgText,
#mainContent#mainContent.jlgDetail .left .movieListWrap > p.noMovieText{ /* 写真・動画がまだない時 */
	padding: 28px 16px;
	border: 1px dashed rgba(255, 0, 144, .3);
	border-radius: var(--jlg-radius);
	background: #fff8fc;
	text-align: center;
}
#mainContent#mainContent.jlgDetail .left ul.playImgBox{
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 12px;
	width: 100%;
	margin: 0;
	padding: 0;
}
#mainContent#mainContent.jlgDetail .left ul.playImgBox li{
	display: block;
	width: auto;
	margin: 0;
	padding: 0;
	list-style: none;
}
#mainContent#mainContent.jlgDetail .left ul.playImgBox li figure{
	position: relative;
	width: 100% !important;
	height: auto !important;
	aspect-ratio: 1 / 1;
	margin: 0;
	overflow: hidden;
	border-radius: var(--jlg-radius);
	background: #fbeef6;
}
#mainContent#mainContent.jlgDetail .left ul.playImgBox li figure a{
	display: block;
	width: 100%;
	height: 100%;
}
#mainContent#mainContent.jlgDetail .left ul.playImgBox li figure img{
	width: 100% !important;
	height: 100% !important;
	object-fit: contain;
	transition: transform .6s var(--jlg-ease);
}
#mainContent#mainContent.jlgDetail .left ul.playImgBox li figure a::after{ /* 外部リンク／拡大のしるし */
	content: "\f35d";
	position: absolute;
	top: 8px;
	right: 8px;
	display: grid;
	place-items: center;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: rgba(36, 26, 51, .55);
	-webkit-backdrop-filter: blur(6px);
	backdrop-filter: blur(6px);
	color: #fff;
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	font-size: 11px;
	opacity: 0;
	transform: scale(.8);
	transition: opacity .25s ease, transform .3s var(--jlg-ease);
}
#mainContent#mainContent.jlgDetail .left ul.playImgBox li figure:hover img{
	opacity: 1;
	transform: scale(1.06);
}
#mainContent#mainContent.jlgDetail .left ul.playImgBox li figure:hover a::after{
	opacity: 1;
	transform: none;
}

#mainContent#mainContent.jlgDetail .left .movieListWrap > p.noMovieText{
	margin: 0;
	color: var(--jlg-muted);
	font-size: 14px;
	line-height: 1.8;
}

/* =====================================================================
   カード一覧（共通）
   ===================================================================== */
#mainContent#mainContent.jlgDetail .left ul.newsContent{
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
	gap: 16px;
	width: 100%;
	margin: 0 0 20px;
	padding: 0;
	font-size: 14px;
	list-style: none;
}
/* 登場動画：外側のulは入れ物なのでグリッドにしない */
#mainContent#mainContent.jlgDetail .left ul.newsContent:has(> ul){
	display: block;
	margin: 0;
}
#mainContent#mainContent.jlgDetail .left ul.newsContent > li{
	position: relative;
	display: flex;
	flex-direction: column;
	width: auto;
	margin: 0;
	padding: 8px 8px 10px;
	border: 1px solid var(--jlg-line);
	border-radius: var(--jlg-radius);
	background: var(--jlg-surface);
	font-size: 14px;
	text-align: left;
	list-style: none;
	transition: transform .35s var(--jlg-ease), box-shadow .35s ease, border-color .35s ease;
}
#mainContent#mainContent.jlgDetail .left ul.newsContent > li:hover{
	transform: translateY(-3px);
	border-color: rgba(255, 0, 144, .25);
	box-shadow: var(--jlg-shadow);
}
#mainContent#mainContent.jlgDetail .left ul.newsContent > li > a{
	display: block;
	margin: 0;
	color: var(--jlg-ink);
	font-size: 15px;
}
#mainContent#mainContent.jlgDetail .left ul.newsContent > li > a:hover{
	color: var(--jlg-pink);
}
#mainContent#mainContent.jlgDetail .left ul.newsContent > li figure{
	position: relative;
	margin: 0 0 10px;
	overflow: hidden;
	aspect-ratio: 16 / 9;
	border-radius: var(--jlg-radius-sm);
	background: #f4eef3;
}
#mainContent#mainContent.jlgDetail .left ul.newsContent > li figure img{
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center top;
	transition: transform .7s var(--jlg-ease);
}
#mainContent#mainContent.jlgDetail .left ul.newsContent > li:hover figure img{
	opacity: 1;
	transform: scale(1.06);
}

/* ---------- キャラクターカード ---------- */
#mainContent#mainContent.jlgDetail .left ul.newsContent > li > a > figure + p{
	margin: 0 4px 10px;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.45;
	letter-spacing: .03em;
	text-align: left;
}
#mainContent#mainContent.jlgDetail .left ul.newsContent .characterItemInfo{
	--sexc: var(--jlg-pink);
	--sexbg: var(--jlg-tint);
	margin: 0;
	padding: 7px 10px 7px 12px;
	border: 0;
	border-radius: 10px;
	background: var(--sexbg);
	color: var(--jlg-ink);
	font-size: 12.5px;
	font-weight: 500;
	line-height: 1.6;
	text-align: left;
	font-variant-numeric: tabular-nums;
	box-shadow: inset 3px 0 0 var(--sexc);
}
#mainContent#mainContent.jlgDetail .left ul.newsContent .characterItemInfo.man{
	--sexc: #1a7cea;
	--sexbg: #eef5ff;
}
#mainContent#mainContent.jlgDetail .left ul.newsContent .characterItemInfo span.pc{
	display: inline;
	margin: 0 4px;
	color: var(--jlg-muted);
	font-size: 12.5px;
	opacity: .6;
}
/* カードの一番下に揃える（パートナー情報がない時） */
#mainContent#mainContent.jlgDetail .left ul.newsContent > li > .characterItemInfo:last-child{
	margin-top: auto;
}

/* ---------- リフトプレイパートナー（年齢差・身長差・体重差／出演した話） ---------- */
#mainContent#mainContent.jlgDetail .blogSection p.liftPartnerText{
	display: table;
	margin: -10px auto 24px;
	padding: 6px 16px;
	border-radius: 999px;
	background: #fbf6fa;
	color: var(--jlg-muted);
	font-size: 13.5px;
	font-weight: 700;
	text-align: center;
}
#mainContent#mainContent.jlgDetail .left ul.newsContent:has(.partnerDifference){
	grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
}
#mainContent#mainContent.jlgDetail .left ul.newsContent > li > ul{
	margin: 10px 0 0;
	padding: 0;
	border: 0;
	list-style: none;
}
#mainContent#mainContent.jlgDetail .left ul.newsContent > li > ul > li{
	margin: 0;
	padding: 0;
	border: 0;
	list-style: none;
	text-align: left;
}
#mainContent#mainContent.jlgDetail .left ul.newsContent > li > ul.partnerDifference{
	display: grid;
	gap: 4px;
	padding: 10px 12px;
	border-radius: 12px;
	background: #fbf8fb;
}
#mainContent#mainContent.jlgDetail .left ul.newsContent > li > ul.partnerDifference > li{
	color: var(--jlg-ink);
	font-size: 12.5px;
	line-height: 1.6;
}
#mainContent#mainContent.jlgDetail .left ul.newsContent > li span.up,
#mainContent#mainContent.jlgDetail .left ul.newsContent > li span.down{
	display: inline;
	margin: 0 0 0 2px;
	font-size: 13px;
	font-weight: 700;
}
#mainContent#mainContent.jlgDetail .left ul.newsContent > li span.up{ color: #e8730c; }
#mainContent#mainContent.jlgDetail .left ul.newsContent > li span.down{ color: var(--jlg-pink); }

#mainContent#mainContent.jlgDetail .left ul.newsContent > li > ul.storySelect{
	display: grid;
	gap: 6px;
}
#mainContent#mainContent.jlgDetail .left ul.newsContent > li > ul.storySelect > li > a{
	display: block;
	padding: 8px 10px;
	border: 1px solid var(--jlg-line);
	border-radius: 12px;
	background: #fff;
	color: var(--jlg-ink);
	font-size: 13px;
	transition: border-color .25s ease, background .25s ease;
}
#mainContent#mainContent.jlgDetail .left ul.newsContent > li > ul.storySelect > li > a:hover{
	border-color: rgba(255, 0, 144, .3);
	background: var(--jlg-tint);
}
#mainContent#mainContent.jlgDetail .left ul.storySelect .storyTitleBox{
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 13px;
}
#mainContent#mainContent.jlgDetail .left ul.storySelect .storyTitleBox .storyNum{
	flex: 0 0 auto;
	width: auto;
	height: auto;
	margin: 0;
	padding: 5px 9px;
	border-radius: 999px;
	background: var(--jlg-grad);
	color: #fff;
}
#mainContent#mainContent.jlgDetail .left ul.storySelect .storyTitleBox .storyNum > span.sn1,
#mainContent#mainContent.jlgDetail .left ul.storySelect .storyTitleBox .storyNum > span.sn1 > span.sn2{
	display: block;
	width: auto;
	height: auto;
	margin: 0;
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	line-height: 1;
	white-space: nowrap;
}
#mainContent#mainContent.jlgDetail .left ul.storySelect .storyTitleBox .storyName{
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
	width: auto;
	min-width: 0;
	font-size: 12.5px;
	font-weight: 700;
	line-height: 1.5;
}
#mainContent#mainContent.jlgDetail .left ul.storySelect .storyTitleBox .storyName > span{
	display: block;
	margin: 0;
	color: var(--jlg-muted);
	font-family: var(--jlg-font-en);
	font-size: 11px;
	font-weight: normal;
	letter-spacing: .06em;
}

/* ---------- ストーリーカード（このキャラが出る話） ---------- */
#mainContent#mainContent.jlgDetail .left ul.newsContent > li:has(> a > div > .storyTitleBox){
	padding: 0;
}
#mainContent#mainContent.jlgDetail .left ul.newsContent > li > a:has(> div > .storyTitleBox){
	height: 100%;
	padding: 8px 8px 12px;
	font-size: 14px;
}
#mainContent#mainContent.jlgDetail .left ul.newsContent > li > a > div:has(> .storyTitleBox){
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 10px;
}
#mainContent#mainContent.jlgDetail .left ul.newsContent > li > a > div:has(> .storyTitleBox) > figure{
	aspect-ratio: 1 / 1; /* ストーリーのアイキャッチは正方形（動画カードには効かないよう限定） */
	margin: 0;
}
#mainContent#mainContent.jlgDetail .left ul.newsContent > li > a > div > .storyTitleBox{
	display: block;
	min-width: 0;
	padding: 0 4px;
	font-size: 14px;
}
#mainContent#mainContent.jlgDetail .left ul.newsContent > li > a > div > .storyTitleBox .storyNum{
	position: absolute;
	top: 8px;
	left: 8px;
	z-index: 2;
	display: block;
	width: auto;
	height: auto;
	margin: 0;
	padding: 6px 11px;
	border-radius: 999px;
	background: var(--jlg-grad);
	color: #fff;
	box-shadow: 0 6px 14px -6px rgba(120, 20, 90, .7);
}
#mainContent#mainContent.jlgDetail .left ul.newsContent > li > a > div > .storyTitleBox .storyNum > span.sn1,
#mainContent#mainContent.jlgDetail .left ul.newsContent > li > a > div > .storyTitleBox .storyNum > span.sn1 > span.sn2{
	display: block;
	width: auto;
	height: auto;
	margin: 0;
	color: #fff;
	font-size: 12.5px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: .06em;
	text-align: left;
}
#mainContent#mainContent.jlgDetail .left ul.newsContent > li > a > div > .storyTitleBox .storyName{
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 4;
	overflow: hidden;
	width: auto;
	height: auto;
	font-size: 14.5px;
	font-weight: 700;
	line-height: 1.55;
}
#mainContent#mainContent.jlgDetail .left ul.newsContent > li > a > div > .storyTitleBox .storyName > span{
	display: block;
	margin: 0 0 3px;
	color: var(--jlg-muted);
	font-family: var(--jlg-font-en);
	font-size: 12px;
	font-weight: normal;
	letter-spacing: .08em;
}

/* ---------- 登場動画 ---------- */
#mainContent#mainContent.jlgDetail .left ul.newsContent:has(> li > a.js-modal-open){
	grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
	margin: 0;
}
/* YouTubeサムネ（投稿のアイキャッチ）は16:9。比率が違う画像でも切らずに全体を表示 */
#mainContent#mainContent.jlgDetail .left ul.newsContent > li > a.js-modal-open > div > figure{
	aspect-ratio: 16 / 9;
	margin: 0 0 10px;
	background: #1c1327;
}
#mainContent#mainContent.jlgDetail .left ul.newsContent > li > a.js-modal-open > div > figure img{
	object-fit: contain;
	object-position: center;
}
#mainContent#mainContent.jlgDetail .left ul.newsContent > li > a.js-modal-open > div > figure::after{ /* 再生ボタン */
	content: "\f04b";
	position: absolute;
	top: 50%;
	left: 50%;
	display: grid;
	place-items: center;
	width: 54px;
	height: 54px;
	padding-left: 3px;
	border-radius: 50%;
	background: rgba(255, 255, 255, .88);
	-webkit-backdrop-filter: blur(6px);
	backdrop-filter: blur(6px);
	color: var(--jlg-pink);
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	font-size: 18px;
	box-shadow: 0 10px 24px -8px rgba(0, 0, 0, .45);
	transform: translate(-50%, -50%);
	transition: transform .3s var(--jlg-ease), background .3s ease, color .3s ease;
}
#mainContent#mainContent.jlgDetail .left ul.newsContent > li:hover > a.js-modal-open > div > figure::after{
	background: var(--jlg-pink);
	color: #fff;
	transform: translate(-50%, -50%) scale(1.08);
}
#mainContent#mainContent.jlgDetail .left ul.newsContent > li > a.js-modal-open > div > p{
	margin: 0 4px 2px;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.5;
}
/* 動画モーダル */
.jlgDetail ~ * .modal-content,
#mainContent.jlgDetail .modal-content{
	overflow: hidden;
	border-radius: var(--jlg-radius);
}

/* =====================================================================
   Fantia ボタン・クレジット
   ===================================================================== */
#mainContent#mainContent.jlgDetail .left .fantiaLink{
	margin: 0 0 48px;
	text-align: center;
}
#mainContent#mainContent.jlgDetail .left .fantiaLink a{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	width: min(100%, 460px);
	min-height: 62px;
	padding: 0 28px;
	border: 0;
	border-radius: 999px;
	background: var(--jlg-grad-wide);
	background-size: 250% 100%;
	background-position: 0% 50%;
	color: #fff;
	font-size: 17px;
	font-weight: 700;
	letter-spacing: .06em;
	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.jlgDetail .left .fantiaLink a::after{
	content: "\f35d";
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	font-size: 13px;
}
#mainContent#mainContent.jlgDetail .left .fantiaLink a:hover{
	border: 0;
	background: var(--jlg-grad-wide);
	background-size: 250% 100%;
	background-position: 60% 50%;
	color: #fff;
	transform: translateY(-2px);
	box-shadow: 0 22px 38px -16px rgba(255, 0, 144, .95);
}

/* おんぶ'sマン：DLsite・FANZA の2つの購入ボタン */
#mainContent#mainContent.jlgDetail .left .fantiaLink.onbusBuy{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 12px;
}
#mainContent#mainContent.jlgDetail .left .fantiaLink.onbusBuy a{
	flex: 1 1 260px;
	width: auto;
	max-width: 340px;
}
#mainContent#mainContent.jlgDetail .left .fantiaLink.onbusBuy a.is-fanza{
	background: #241a33;
	box-shadow: 0 18px 34px -16px rgba(36, 26, 51, .7);
}
#mainContent#mainContent.jlgDetail .left .fantiaLink.onbusBuy a.is-fanza:hover{
	background: #3a2a52;
	box-shadow: 0 22px 38px -16px rgba(36, 26, 51, .8);
}

#mainContent#mainContent.jlgDetail .left .creditBox{
	padding: 6px;
	border: 1px solid var(--jlg-line);
	border-radius: var(--jlg-radius);
	background: var(--jlg-surface);
	color: var(--jlg-ink);
	font-size: 13.5px;
	line-height: 1.8;
}
#mainContent#mainContent.jlgDetail .left .creditBox .creditItem{
	margin: 0;
	padding: 12px 14px;
	border: 0;
	border-bottom: 1px dashed var(--jlg-line);
}
#mainContent#mainContent.jlgDetail .left .creditBox .creditItem:last-child{
	border-bottom: 0;
}
#mainContent#mainContent.jlgDetail .left .creditBox a{
	color: var(--jlg-pink);
	font-size: 12.5px;
	word-break: break-all;
}
#mainContent#mainContent.jlgDetail .left .creditBox a:hover{
	text-decoration: underline;
}

/* =====================================================================
   RESPONSIVE
   ===================================================================== */
@media screen and (max-width: 959px){
	#mainContent#mainContent.jlgDetail .left .statusBox{
		gap: 44px;
	}
	#mainContent#mainContent.jlgDetail .left #liftRange #liftRangeRight{
		padding-top: 14px;
	}
}
@media screen and (max-width: 759px){
	#mainContent#mainContent.jlgDetail [id]{
		scroll-margin-top: 80px;
	}
	#mainContent#mainContent.jlgDetail .left h1{
		font-size: 22px;
	}
	#mainContent#mainContent.jlgDetail .left .thumbnail{
		border-radius: 20px;
	}
	#mainContent#mainContent.jlgDetail .left .thumbnail .bgOpacity{
		padding: 14px;
	}
	#mainContent#mainContent.jlgDetail .left .thumbnail .bgOpacity img{
		max-height: 420px;
		border-radius: 14px;
	}

	#mainContent#mainContent.jlgDetail .left dl.indexBox{
		padding: 16px 14px 14px;
		border-radius: 20px;
	}
	#mainContent#mainContent.jlgDetail .left dl.indexBox dd > ul{
		grid-template-columns: 1fr;
		gap: 6px;
	}

	#mainContent#mainContent.jlgDetail .likeBtnBox{
		flex-direction: column;
		align-items: stretch;
		padding: 16px;
		border-radius: 20px;
	}
	#mainContent#mainContent.jlgDetail .likeBtnBox .wpulike{
		align-self: center;
	}

	#mainContent#mainContent.jlgDetail .blogSectionBox .blogSection{
		margin-bottom: 52px;
	}
	#mainContent#mainContent.jlgDetail .blogSection h2.lblPattern2{
		margin-bottom: 22px;
		font-size: 21px;
	}
	#mainContent#mainContent.jlgDetail .blogSection h2.lblPattern2 span{
		font-size: 10.5px;
		letter-spacing: .24em;
	}

	#mainContent#mainContent.jlgDetail .left table.storyAboutBox tr th,
	#mainContent#mainContent.jlgDetail .left table.storyAboutBox tr td{
		padding: 11px 12px;
	}
	#mainContent#mainContent.jlgDetail .left table.storyAboutBox tr th{
		width: 32%;
		font-size: 12px;
	}
	#mainContent#mainContent.jlgDetail .left table.storyAboutBox tr td{
		font-size: 14px;
	}
	#mainContent#mainContent.jlgDetail .left blockquote{
		padding: 20px 18px 18px 22px;
		border-radius: 20px;
		font-size: 14.5px;
	}

	#mainContent#mainContent.jlgDetail .left .characterInfoBox ul.charaImgBox{
		gap: 8px;
	}
	#mainContent#mainContent.jlgDetail .left .characterInfoBox ul.charaImgBox li figure{
		border-radius: 14px;
	}

	#mainContent#mainContent.jlgDetail .left .statusBox{
		gap: 30px;
		background-size: 24px;
	}
	#mainContent#mainContent.jlgDetail .left .statusBox .statusItem{
		padding: 16px 8px 14px;
		border-radius: 20px;
	}
	#mainContent#mainContent.jlgDetail .left .statusBox .statusItem p:nth-child(1) img{
		width: 60px;
		max-width: 60px;
	}
	#mainContent#mainContent.jlgDetail .left .statusBox .statusItem p:nth-child(2){
		font-size: 12px;
	}
	#mainContent#mainContent.jlgDetail .left .statusBox .statusItem p:nth-child(3){
		font-size: 46px;
	}
	#mainContent#mainContent.jlgDetail .left .liftLevelBox p:nth-child(3){
		font-size: 72px;
	}
	#mainContent#mainContent.jlgDetail .left .liftRangeBtn span{
		width: 100%;
		justify-content: center;
		padding: 14px 18px;
		font-size: 14px;
	}
	#mainContent#mainContent.jlgDetail .left #liftRange{
		padding: 4px 14px 16px;
		border-radius: 20px;
	}
	#mainContent#mainContent.jlgDetail .left #liftRange table.storyAboutBox.status tbody{
		gap: 8px;
	}
	#mainContent#mainContent.jlgDetail .left #liftRange table.storyAboutBox.status tr{
		padding: 12px;
	}
	#mainContent#mainContent.jlgDetail .left #liftRange table.storyAboutBox.status tr td{
		font-size: 17px;
	}

	#mainContent#mainContent.jlgDetail .left ul.playImgBox{
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 8px;
	}
	#mainContent#mainContent.jlgDetail .left ul.playImgBox li figure{
		border-radius: 14px;
	}
	#mainContent#mainContent.jlgDetail .left ul.playImgBox li figure a::after{
		opacity: 1;
		transform: none;
		width: 24px;
		height: 24px;
		font-size: 10px;
	}

	/* カードはスマホで2列（パートナーは情報が多いので1列） */
	#mainContent#mainContent.jlgDetail .left ul.newsContent,
	#mainContent#mainContent.jlgDetail .left ul.newsContent:has(> li > a.js-modal-open){
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 10px;
	}
	#mainContent#mainContent.jlgDetail .left ul.newsContent:has(.partnerDifference){
		grid-template-columns: 1fr;
		gap: 12px;
	}
	#mainContent#mainContent.jlgDetail .left ul.newsContent > li{
		padding: 6px 6px 8px;
		border-radius: 14px;
	}
	#mainContent#mainContent.jlgDetail .left ul.newsContent > li:has(> a > div > .storyTitleBox){
		padding: 0;
	}
	#mainContent#mainContent.jlgDetail .left ul.newsContent > li > a:has(> div > .storyTitleBox){
		padding: 6px 6px 10px;
	}
	#mainContent#mainContent.jlgDetail .left ul.newsContent > li figure{
		border-radius: 10px;
	}
	#mainContent#mainContent.jlgDetail .left ul.newsContent > li > a > figure + p{
		margin: 0 2px 8px;
		font-size: 13.5px;
	}
	#mainContent#mainContent.jlgDetail .left ul.newsContent .characterItemInfo{
		padding: 6px 8px 6px 10px;
		font-size: 11.5px;
		line-height: 1.55;
	}
	#mainContent#mainContent.jlgDetail .left ul.newsContent .characterItemInfo span.pc{
		display: none;
	}
	/* パートナーは1列なので、写真と名前を横並びに */
	#mainContent#mainContent.jlgDetail .left ul.newsContent > li:has(.partnerDifference){
		display: grid;
		grid-template-columns: 42% minmax(0, 1fr);
		column-gap: 12px;
		padding: 8px;
	}
	#mainContent#mainContent.jlgDetail .left ul.newsContent > li:has(.partnerDifference) > a{
		grid-column: 1;
		grid-row: 1 / span 2;
	}
	#mainContent#mainContent.jlgDetail .left ul.newsContent > li:has(.partnerDifference) > .characterItemInfo{
		grid-column: 2;
		align-self: start;
	}
	#mainContent#mainContent.jlgDetail .left ul.newsContent > li:has(.partnerDifference) > ul{
		grid-column: 1 / -1;
	}
	#mainContent#mainContent.jlgDetail .left ul.newsContent > li > a > div > .storyTitleBox{
		padding: 0 2px;
	}
	#mainContent#mainContent.jlgDetail .left ul.newsContent > li > a > div > .storyTitleBox .storyNum{
		top: 6px;
		left: 6px;
		padding: 5px 9px;
	}
	#mainContent#mainContent.jlgDetail .left ul.newsContent > li > a > div > .storyTitleBox .storyNum > span.sn1,
	#mainContent#mainContent.jlgDetail .left ul.newsContent > li > a > div > .storyTitleBox .storyNum > span.sn1 > span.sn2{
		font-size: 11px;
	}
	#mainContent#mainContent.jlgDetail .left ul.newsContent > li > a > div > .storyTitleBox .storyName{
		font-size: 13px;
		line-height: 1.5;
	}
	#mainContent#mainContent.jlgDetail .left ul.newsContent > li > a.js-modal-open > div > figure::after{
		width: 42px;
		height: 42px;
		font-size: 14px;
	}
	#mainContent#mainContent.jlgDetail .left ul.newsContent > li > a.js-modal-open > div > p{
		font-size: 12.5px;
	}

	#mainContent#mainContent.jlgDetail .left .fantiaLink a{
		width: 100%;
		min-height: 56px;
		font-size: 15.5px;
	}
}
@media screen and (max-width: 600px){
	#mainContent#mainContent.jlgDetail .left .characterInfoBox{
		grid-template-columns: 1fr;
	}
	#mainContent#mainContent.jlgDetail .left .characterInfoBox .characterInfoRight{
		display: none;
	}
}

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

/* ---------- ストーリー詳細：前の話／次の話 ---------- */
#mainContent#mainContent.jlgDetail .left .jlgStoryNav{
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
	margin: 28px 0 0;
}
#mainContent#mainContent.jlgDetail .left .jlgStoryNav__item{
	display: grid;
	grid-template-columns: 84px minmax(0, 1fr);
	align-items: center;
	gap: 12px;
	padding: 10px;
	border: 1px solid var(--jlg-line);
	border-radius: var(--jlg-radius);
	background: var(--jlg-surface);
	color: var(--jlg-ink);
	text-decoration: none;
	transition: transform .35s var(--jlg-ease), box-shadow .35s ease, border-color .35s ease;
}
#mainContent#mainContent.jlgDetail .left .jlgStoryNav__item.is-empty{
	border: 0;
	background: none;
}
#mainContent#mainContent.jlgDetail .left a.jlgStoryNav__item:hover{
	opacity: 1;
	transform: translateY(-2px);
	border-color: rgba(255, 0, 144, .25);
	box-shadow: var(--jlg-shadow);
}
#mainContent#mainContent.jlgDetail .left .jlgStoryNav__item.is-next{
	grid-template-columns: minmax(0, 1fr) 84px;
	text-align: right;
}
#mainContent#mainContent.jlgDetail .left .jlgStoryNav__item.is-next .jlgStoryNav__thumb{
	order: 2;
}
#mainContent#mainContent.jlgDetail .left .jlgStoryNav__thumb{
	display: block;
	overflow: hidden;
	aspect-ratio: 1 / 1;
	border-radius: var(--jlg-radius-sm);
	background: #f4eef3;
}
#mainContent#mainContent.jlgDetail .left .jlgStoryNav__thumb img{
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center top;
}
#mainContent#mainContent.jlgDetail .left .jlgStoryNav__body{
	display: block;
	min-width: 0;
	font-family: var(--jlg-font);
}
#mainContent#mainContent.jlgDetail .left .jlgStoryNav__body small{
	display: block;
	margin-bottom: 4px;
	color: var(--jlg-pink);
	font-size: 12px;
	font-weight: 700;
}
#mainContent#mainContent.jlgDetail .left .jlgStoryNav__body b{
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.5;
}
@media screen and (max-width: 759px){
	#mainContent#mainContent.jlgDetail .left .jlgStoryNav{
		gap: 8px;
	}
	#mainContent#mainContent.jlgDetail .left .jlgStoryNav__item,
	#mainContent#mainContent.jlgDetail .left .jlgStoryNav__item.is-next{
		grid-template-columns: 1fr;
		gap: 8px;
		padding: 8px 8px 10px;
		text-align: left;
	}
	#mainContent#mainContent.jlgDetail .left .jlgStoryNav__item.is-next .jlgStoryNav__thumb{
		order: 0;
	}
	#mainContent#mainContent.jlgDetail .left .jlgStoryNav__thumb{
		aspect-ratio: 16 / 10;
	}
	#mainContent#mainContent.jlgDetail .left .jlgStoryNav__body b{
		font-size: 13px;
	}
}
