/* NH Site Extras */

/* ---- 関連記事（記事の末尾） ---- */
.nhx-related { clear: both; margin: 36px 0 0; }
.p-entry__body .nhx-related__heading,
.nhx-related__heading { margin: 0 0 16px; padding: 4px 0 4px 12px; border-left: 4px solid #ff0000; font-size: 18px; font-weight: bold; line-height: 1.5; text-align: left; }
.p-entry__body .nhx-related__list,
.nhx-related__list { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; margin: 0 !important; padding: 0 !important; list-style: none !important; }
.p-entry__body .nhx-related__item,
.nhx-related__item { width: calc(50% - 6px); margin: 0 0 12px !important; padding: 0 !important; list-style: none !important; }
.nhx-related__item::before, .nhx-related__item::marker { content: none !important; display: none !important; }
.nhx-related__link { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; box-sizing: border-box; height: 100%; padding: 12px; border: 1px solid #ddd; background: #fafafa; color: #000 !important; text-decoration: none !important; }
.nhx-related__link:hover { border-color: #bbb; background: #fff; }
.nhx-related__link:hover .nhx-related__title { text-decoration: underline; }
.nhx-related__thumb { display: block; -webkit-box-flex: 0; -ms-flex: 0 0 100px; flex: 0 0 100px; width: 100px; height: 100px; margin-right: 12px; overflow: hidden; background: #eee; }
.nhx-related__thumb img { display: block; width: 100% !important; height: 100% !important; max-width: none !important; margin: 0 !important; -o-object-fit: cover; object-fit: cover; }
.nhx-related__body { display: block; -webkit-box-flex: 1; -ms-flex: 1; flex: 1; min-width: 0; }
.nhx-related__meta { display: block; margin-bottom: 4px; color: #666; font-size: 12px; line-height: 1.6; }
.nhx-related__cat { display: inline-block; margin-right: 6px; padding: 3px 6px; background: #ff0000; color: #fff; font-size: 11px; line-height: 1; vertical-align: 1px; }
.nhx-related__date { color: #666; }
.nhx-related__title { display: block; display: -webkit-box; overflow: hidden; color: #000; font-size: 14px; font-weight: bold; line-height: 1.6; -webkit-line-clamp: 3; -webkit-box-orient: vertical; }
@media screen and (max-width: 767px) {
	.nhx-related { margin-top: 28px; }
	.p-entry__body .nhx-related__item, .nhx-related__item { width: 100%; margin-bottom: 10px !important; }
	.nhx-related__link { padding: 10px; }
	.nhx-related__thumb { -ms-flex-preferred-size: 90px; flex-basis: 90px; width: 90px; height: 90px; margin-right: 10px; }
	.nhx-related__heading { font-size: 16px; }
}

/* ---- 人気記事ウィジェット ---- */
.nhx-popular__img { position: relative; }
.nhx-popular__rank { position: absolute; top: 0; left: 0; z-index: 2; min-width: 26px; height: 26px; padding: 0 4px; box-sizing: border-box; background: #333; color: #fff; font-size: 13px; font-weight: bold; line-height: 26px; text-align: center; }
.nhx-popular__item--1 .nhx-popular__rank,
.nhx-popular__item--2 .nhx-popular__rank,
.nhx-popular__item--3 .nhx-popular__rank { background: #ff0000; }
.nhx-popular--nothumb .p-article02 { -webkit-box-align: center; -ms-flex-align: center; align-items: center; }
.nhx-popular__rank--inline { position: static; display: inline-block; -webkit-box-flex: 0; -ms-flex: 0 0 26px; flex: 0 0 26px; margin-right: 12px; }

/* ---- 新作ウィジェット ---- */
.nhx-works { padding: 12px 11px 4px; }
.nhx-works__list { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; margin: 0; padding: 0; list-style: none; }
.nhx-works__item { width: calc(50% - 5px); margin: 0 0 14px; padding: 0; list-style: none; }
.nhx-works__link { display: block; color: #000 !important; text-decoration: none !important; }
.nhx-works__link:hover .nhx-works__title { text-decoration: underline; }
.nhx-works__img { position: relative; display: block; overflow: hidden; padding-top: 141.6%; background: #eee; }
.nhx-works__img img { position: absolute; top: 0; left: 0; width: 100% !important; height: 100% !important; max-width: none !important; margin: 0 !important; -o-object-fit: cover; object-fit: cover; }
.nhx-works__badge { position: absolute; top: 0; left: 0; z-index: 2; padding: 3px 6px; background: #ff0000; color: #fff; font-size: 11px; font-weight: bold; line-height: 1.3; }
.nhx-works__code { display: block; margin-top: 6px; color: #ff0000; font-size: 11px; font-weight: bold; line-height: 1.4; letter-spacing: .02em; }
.nhx-works__title { display: block; display: -webkit-box; overflow: hidden; margin-top: 2px; font-size: 12px; line-height: 1.5; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.nhx-works__date { display: block; margin-top: 3px; color: #999; font-size: 11px; line-height: 1.3; }
.nhx-works__more { margin: 0 0 8px; text-align: right; font-size: 13px; }
.nhx-works__more a { color: #000; text-decoration: underline; }
.nhx-works__more a::after { content: " \203A"; }
@media screen and (max-width: 991px) {
	.nhx-works__item { width: calc(33.333% - 7px); }
}

/* ---- 作品ページの下：同じシリーズ・最新の新作 ---- */
.nhx-more { clear: both; padding: 0 0 50px; background: #c7c7c7; }
.nhx-more .nhx-more__inner { box-sizing: border-box; padding: 28px 24px 8px; background: #fff; }
.nhx-more__block + .nhx-more__block { margin-top: 18px; }
.nhx-more__heading { margin: 0 0 16px; padding: 4px 0 4px 12px; border-left: 4px solid #ff0000; font-size: 18px; font-weight: bold; line-height: 1.5; }
.nhx-more__list { -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start; margin: 0 -8px; }
.nhx-more__list .nhx-works__item { box-sizing: border-box; width: 16.666%; padding: 0 8px; margin-bottom: 18px; }
@media screen and (max-width: 991px) {
	.nhx-more__list .nhx-works__item { width: 25%; }
}
@media screen and (max-width: 767px) {
	.nhx-more { padding-bottom: 30px; }
	.nhx-more .nhx-more__inner { width: auto; margin: 0 10px; padding: 20px 12px 4px; }
	.nhx-more__heading { font-size: 16px; }
	.nhx-more__list { margin: 0 -5px; }
	.nhx-more__list .nhx-works__item { width: 33.333%; padding: 0 5px; margin-bottom: 14px; }
}

/* ---- スマホ：本文の下に並ぶ右カラム ---- */
@media screen and (max-width: 991px) {
	.nhx-sp .l-secondary .p-widget:first-child { margin-top: 10px; }
}

/* ===== スマホの見やすさ（設定「スマホの見た目」がオンのとき body に nhx-m が付く） ===== */
@media screen and (max-width: 767px) {
	/* 作品ページ：作品データを「見出し｜内容」の1行ずつに */
	.nhx-m .single_over { display: block !important; margin: 0 !important; }
	.nhx-m .single_over dl { display: -webkit-box; display: -ms-flexbox; display: flex !important; width: 100% !important; margin: 0 0 -2px !important; border: 2px solid #000; background: #fff; }
	.nhx-m .single_over dt { -webkit-box-flex: 0; -ms-flex: 0 0 30%; flex: 0 0 30%; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; padding: 8px 4px !important; font-size: 14px !important; }
	.nhx-m .single_over dd, .nhx-m .single_over dd.ddh30 { -webkit-box-flex: 1; -ms-flex: 1; flex: 1; height: auto !important; min-height: 0; display: block !important; padding: 8px 12px; font-size: 14px; line-height: 1.6; text-align: left; }

	/* 新作告知：サンプル画像を2列に（イベントの出演者ブロックは対象外） */
	.nhx-m .p-entry__body .post_row:has(> .post_col-2 > a > img):not(:has(b)) { margin-left: -4px; margin-right: -4px; }
	.nhx-m .p-entry__body .post_row:has(> .post_col-2 > a > img):not(:has(b)) > .post_col-2 { width: 50%; padding: 0 4px; margin-bottom: 8px; }

	/* トップ：一覧ボタンを押しやすく、説明文を読みやすく */
	.nhx-m .p-index-content__btn { display: block; width: 80%; max-width: 320px; margin: 16px auto 0; padding: 14px 10px; font-size: 15px !important; font-weight: bold; line-height: 1.4; text-align: center; }
	.nhx-m .p-index-content__header-desc { color: #333 !important; font-size: 14px; }

	/* 作品ページ：画面下の購入バー（assets/nhx-buybar.js が作る） */
	.nhx-buybar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 9999; display: -webkit-box; display: -ms-flexbox; display: flex; padding: 8px 5px; padding-bottom: calc(8px + env(safe-area-inset-bottom)); background: rgba(255,255,255,.97); box-shadow: 0 -2px 10px rgba(0,0,0,.18); -webkit-transform: translateY(110%); transform: translateY(110%); -webkit-transition: -webkit-transform .25s; transition: transform .25s; }
	.nhx-buybar.is-show { -webkit-transform: none; transform: none; }
	.nhx-buybar-on #js-pagetop { bottom: 70px; -webkit-transition: bottom .25s; transition: bottom .25s; }
	.nhx-buybar a { -webkit-box-flex: 1; -ms-flex: 1; flex: 1; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; min-height: 46px; margin: 0 5px; border-radius: 6px; color: #fff !important; font-size: 15px; font-weight: bold; text-decoration: none !important; }
	.nhx-buybar .nhx-buybar__main { background: #e60012; }
	.nhx-buybar .nhx-buybar__sub { background: #333; }
}
@media screen and (min-width: 768px) {
	.nhx-buybar { display: none; }
}
@media screen and (max-width: 767px) {
	body.nhx-has-buybar .p-copyright { padding-bottom: 72px; padding-bottom: calc(72px + env(safe-area-inset-bottom)); }
}

/* ---- フッター：Amazon アソシエイトの表記（コピーライトの下に小さく） ---- */
.p-copyright.nhx-copyright { height: auto; padding: 12px 10px 10px; line-height: 1.5; }
/* テーマ設定のフッター背景色が空（白地に白文字で見えない）のときは、コピーライトを灰色にする */
.p-copyright.nhx-copyright--light { color: #666; }
/* 表記は背景色に関係なく灰色 */
.p-copyright small.nhx-disclosure { display: inline-block; margin-top: 2px; color: #666; font-size: 10px; line-height: 1.4; }
@media screen and (max-width: 767px) {
	.p-copyright.nhx-copyright { padding-left: 56px; padding-right: 56px; } /* 右下の「ページ上部へ」ボタンに文字が隠れないように */
}

/* ===== スマホのトップページ：ファーストビュー（最新情報を小さく・作品を1行3枚・余白を詰める）。body に nhx-m が付いたときだけ ===== */
@media screen and (max-width: 767px) {
	/* スライダーの下の空きを詰める */
	.nhx-m.home .p-header-content { margin-bottom: 22px !important; }
	.nhx-m.home .slick-dots { bottom: -19px !important; }

	/* 見出し：赤い帯は残して低く・左寄せ */
	.nhx-m.home .p-index-content { margin-bottom: 20px; }
	.nhx-m.home .p-index-content__header { margin-bottom: 8px; }
	.nhx-m.home h2.p-index-content__header-title { -webkit-box-orient: horizontal; -ms-flex-direction: row; flex-direction: row; -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start; -webkit-box-align: center; -ms-flex-align: center; align-items: center; box-sizing: border-box; width: 100%; height: 34px; margin: 0 0 6px; padding: 0 10px; font-size: 16px !important; }
	.nhx-m.home .p-index-content__header-desc { margin: 0 0 8px; color: #444 !important; font-size: 12px; font-weight: bold; line-height: 1.5; }

	/* 最新情報：画像なしの1行リスト・4件まで（面積を小さく） */
	.nhx-m.home .p-index-content:has(.p-latest-news) .p-index-content__header-desc { display: none; }
	.nhx-m.home .p-index-content__news { margin-bottom: 0; }
	.nhx-m.home .p-latest-news { display: block; margin: 0; background: #fff; text-align: left; }
	.nhx-m.home .p-latest-news__item { width: 100% !important; margin: 0 !important; border-bottom: 1px solid #e5e5e5; }
	.nhx-m.home .p-latest-news__item:nth-child(n+5) { display: none; }
	.nhx-m.home .p-latest-news__item > a { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; height: auto; padding: 7px 10px; }
	.nhx-m.home .p-latest-news .p-article05__img { display: none; }
	.nhx-m.home .p-latest-news .p-article05__content { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: horizontal; -ms-flex-direction: row; flex-direction: row; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start; -webkit-box-flex: 1; -ms-flex: 1; flex: 1; min-width: 0; height: auto !important; min-height: 0 !important; padding: 0; border: 0; background: none; }
	.nhx-m.home .p-latest-news .nh-update-date,
	.nhx-m.home .p-latest-news .p-article05__date { -webkit-box-ordinal-group: 0; -ms-flex-order: -1; order: -1; -ms-flex-negative: 0; flex-shrink: 0; margin: 0 8px 0 0; padding: 0; color: #999 !important; font-size: 11px !important; font-weight: normal; line-height: 1.5; }
	.nhx-m.home .p-latest-news .p-article05__title { overflow: hidden; margin: 0; font-size: 13px; font-weight: bold; line-height: 1.5; white-space: nowrap; text-overflow: ellipsis; }
	.nhx-m.home .p-index-content__news .p-index-content__btn { display: block; width: auto; max-width: none; height: auto; margin: 6px 0 0; padding: 0; background: none !important; color: #333 !important; font-size: 12px !important; text-align: right; line-height: 1.6; }
	.nhx-m.home .p-index-content__news .p-index-content__btn::after { content: " \203A"; }

	/* 作品：1行2枚 → 3枚 */
	.nhx-m.home .p-index-content__style { margin-bottom: 0; }
	.nhx-m.home .p-style-list { -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start; margin: 0 -3px; }
	.nhx-m.home .p-style-list__item { width: 33.333% !important; box-sizing: border-box; margin: 0 0 6px !important; padding: 0 3px; }
	.nhx-m.home .p-index-content__btn { margin-top: 10px; padding: 11px 10px; }
}
@media screen and (max-width: 767px) {
	/* 3列で端数が出る欄（VR・配信専用・予約の4件など）は、はみ出た分を隠して行を揃える */
	.nhx-m.home .p-style-list__item:nth-child(3n+4):last-child,
	.nhx-m.home .p-style-list__item:nth-child(3n+5):last-child,
	.nhx-m.home .p-style-list__item:nth-child(3n+4):nth-last-child(2) { display: none; }
}

/* ===== スマホのトップページ：見出しまわりの間隔・下部（人気記事とバナーのタイル） ===== */
@media screen and (max-width: 767px) {
	/* 作品欄の見出しまわり：説明文が見出しとジャケットに挟まれて詰まっていたので間をあける */
	.nhx-m.home h2.p-index-content__header-title { margin-bottom: 10px; }
	.nhx-m.home .p-index-content__header { margin-bottom: 10px; }
	.nhx-m.home .p-index-content__header-desc { margin: 0; padding: 0 2px; font-size: 13px; line-height: 1.5; }
	.nhx-m.home .p-index-content__style,
	.nhx-m.home .p-index-content__style2,
	.nhx-m.home .p-index-content__style3,
	.nhx-m.home .p-index-content__reservation { margin-top: 0 !important; }

	/* トップ下部（スマホ用の右カラム）：見出しを他の欄とそろえる */
	.nhx-m.home .l-secondary { margin-top: 4px; }
	.nhx-m.home .l-secondary .p-widget { margin-bottom: 24px; }
	.nhx-m.home .l-secondary .p-widget__title,
	.nhx-m.home .l-secondary .widget_custom_html::before { display: block; box-sizing: border-box; height: 34px; margin: 0 0 10px; padding: 0 10px; background: #ff0000; color: #fff; font-size: 16px; font-weight: bold; line-height: 34px; text-align: left; }
	.nhx-m.home .l-secondary .widget_custom_html::before { content: "PICK UP"; }

	/* 人気記事：1件ずつを低く（写真64px＋タイトル2行） */
	.nhx-m.home .l-secondary .nhx-popular { background: #fff; }
	.nhx-m.home .l-secondary .nhx-popular .p-article02 { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; margin: 0; padding: 8px 10px; border: 0; border-bottom: 1px solid #e5e5e5; }
	.nhx-m.home .l-secondary .nhx-popular .p-article02__img { -webkit-box-flex: 0; -ms-flex: 0 0 64px; flex: 0 0 64px; width: 64px; height: 64px; margin: 0 10px 0 0; float: none; overflow: hidden; }
	.nhx-m.home .l-secondary .nhx-popular .p-article02__img img { width: 100%; height: 100%; object-fit: cover; }
	.nhx-m.home .l-secondary .nhx-popular .p-article02__content { -webkit-box-flex: 1; -ms-flex: 1; flex: 1; min-width: 0; padding: 0; text-align: left; }
	.nhx-m.home .l-secondary .nhx-popular .p-article02__title { margin: 0 0 2px; font-size: 13px; font-weight: bold; line-height: 1.5; }
	.nhx-m.home .l-secondary .nhx-popular .p-article02__date { font-size: 11px; }
	.nhx-m.home .l-secondary .nhx-popular__rank { min-width: 20px; height: 20px; font-size: 11px; line-height: 20px; }

	/* バナー：縦に大きく6枚 → 正方形は3枚1列、横長は2枚1列のタイル（1画面に全部収まる） */
	.nhx-m.home .l-secondary .custom-html-widget { display: -ms-grid; display: grid; grid-template-columns: repeat(6, 1fr); grid-gap: 8px; gap: 8px; }
	.nhx-m.home .l-secondary .custom-html-widget br { display: none; }
	.nhx-m.home .l-secondary .custom-html-widget > a { display: block; grid-column: span 6; }
	.nhx-m.home .l-secondary .custom-html-widget > a.nhx-bn--sq { grid-column: span 2; -webkit-box-ordinal-group: 2; -ms-flex-order: 1; order: 1; }
	.nhx-m.home .l-secondary .custom-html-widget > a.nhx-bn--wd { grid-column: span 3; -webkit-box-ordinal-group: 3; -ms-flex-order: 2; order: 2; }
	.nhx-m.home .l-secondary .custom-html-widget > a.nhx-bn--full { grid-column: span 6; -webkit-box-ordinal-group: 4; -ms-flex-order: 3; order: 3; }
	.nhx-m.home .l-secondary .custom-html-widget img { display: block; width: 100%; height: auto; }
}

/* ===== デザインの調整（色はそのまま：赤 #ff0000・黒 #222・グレー #c7c7c7・白）。body に nhx-d が付いたときだけ ===== */
.nhx-d {
	--nhx-red: #ff0000;
	--nhx-ink: #222222;
	--nhx-mute: #6b6b6b;
	--nhx-line: #dedede;
	--nhx-font: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Noto Sans JP", Meiryo, sans-serif;
}

/* 文字：Verdana / メイリオ混在 → 1つの書体に。太字の乱用をやめ、見出しだけ太く */
.nhx-d,
.nhx-d .p-global-nav a,
.nhx-d .p-index-content__header-title,
.nhx-d .p-widget__title,
.nhx-d .p-style__data-item-headline,
.nhx-d .p-header-slider__item-title { font-family: var(--nhx-font) !important; }
.nhx-d { color: var(--nhx-ink); -webkit-font-smoothing: antialiased; }

/* ヘッダー：メニューの文字を小さく締め、今いる/触れている項目に赤い下線 */
.nhx-d .p-global-nav > ul > li > a { font-size: 16px !important; font-weight: 700; letter-spacing: .08em; }
@media screen and (min-width: 992px) {
	.nhx-d .p-global-nav > ul > li > a { -webkit-box-shadow: inset 0 -3px 0 transparent; box-shadow: inset 0 -3px 0 transparent; -webkit-transition: box-shadow .2s; transition: box-shadow .2s; }
	.nhx-d .p-global-nav > ul > li > a:hover,
	.nhx-d .p-global-nav > ul > li.current-menu-item > a { -webkit-box-shadow: inset 0 -3px 0 var(--nhx-red); box-shadow: inset 0 -3px 0 var(--nhx-red); }
}

/* 見出し：共通の土台（形は下の「見出し：黒文字＋左に赤い縦線」） */
.nhx-d .p-index-content__header { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-align: center; -ms-flex-align: center; align-items: center; min-height: 36px; margin: 0 0 16px !important; }
.nhx-d h2.p-index-content__header-title,
.nhx-d .p-widget__title,
.nhx-d .nhx-more__heading,
.nhx-d .nhx-related__heading {
	display: inline-block !important; width: auto !important; height: auto !important; min-height: 0 !important; margin: 0 !important;
	border: 0 !important; border-radius: 0 !important; background: none !important; -webkit-box-shadow: none !important; box-shadow: none !important;
	font-weight: 800 !important; line-height: 1.3 !important; letter-spacing: .02em; text-align: left !important;
}
.nhx-d h2.p-index-content__header-title span:empty { display: none; }
.nhx-d .p-index-content__header-desc { -ms-flex-preferred-size: 100%; flex-basis: 100%; margin: 8px 0 0 !important; padding: 0 !important; color: #444 !important; font-size: 13px !important; font-weight: 400 !important; line-height: 1.6; text-align: left !important; }
.nhx-d .p-widget__title { margin-bottom: 14px !important; }
.nhx-d .nhx-more__heading, .nhx-d .nhx-related__heading { margin-bottom: 16px !important; }

/* トップの各欄：「一覧へ」を下の大きな赤ボタンから、見出しの右上に移す */
.nhx-d .p-index-content { position: relative; margin-bottom: 52px; text-align: left; }
body.nhx-d .p-index-content a.p-index-content__btn.p-btn {
	position: absolute; top: 4px; right: 0; display: inline-block; width: auto; min-width: 0; max-width: none; height: auto; margin: 0; padding: 7px 14px;
	border-radius: 2px; background: var(--nhx-ink) !important; color: #fff !important; font-size: 12px !important; font-weight: 700; line-height: 1.5; letter-spacing: .04em; text-align: center; white-space: nowrap;
	-webkit-transition: background .2s; transition: background .2s;
}
body.nhx-d .p-index-content a.p-index-content__btn.p-btn::after { content: none; }
body.nhx-d .p-index-content a.p-index-content__btn.p-btn:hover { background: var(--nhx-red) !important; }
/* 見出しと作品の間をどの欄もそろえる（VR・配信・予約だけ10px広かった） */
@media screen and (min-width: 768px) {
	.nhx-d .p-index-content__style2, .nhx-d .p-index-content__style3, .nhx-d .p-index-content__reservation { margin-top: -10px; }
}

/* 最新情報（PC）：枠線をなくして白い面だけに。日付は控えめ、タイトルは読みやすく */
.nhx-d .p-latest-news .p-article05 a { background: #fff; }
.nhx-d .p-latest-news .p-article05__content { border: 0 !important; }
.nhx-d .p-article05__title { color: var(--nhx-ink); font-size: 14px; font-weight: 700; line-height: 1.6; }
.nhx-d .nh-update-date, .nhx-d .p-article05__date, .nhx-d .p-article02__date { color: var(--nhx-mute) !important; font-weight: 400 !important; }

/* スライダー下の空き（PC） */
@media screen and (min-width: 768px) {
	.nhx-d.home .p-header-content { margin-bottom: 64px; }
}

/* 右カラム（PC）：黒い帯の見出し → 本文と同じ見出し。一覧は白い面に */
.nhx-d .l-secondary .p-widget { margin-bottom: 36px; }

/* 作品ページ */
.nhx-d #single_cap h1 { margin: 14px 0 18px; font-size: 30px; font-weight: 800; line-height: 1.45; letter-spacing: .01em; }
.nhx-d .single_cat li { border-radius: 2px; font-weight: 700; }
.nhx-d .p-style__data-item-headline { height: auto !important; margin: 0 0 8px !important; padding: 0 0 6px !important; border-bottom: 1px solid #a8a8a8 !important; background: none !important; color: var(--nhx-ink) !important; font-size: 14px !important; font-weight: 800 !important; line-height: 1.5 !important; }
.nhx-d .p-style__data-item-content { font-size: 17px !important; font-weight: 400 !important; line-height: 1.9 !important; }
/* 作品データ：黒い見出しセル＋太い枠 → 白地に小さな灰色ラベルと値 */
.nhx-d .single_over dl { border: 0 !important; background: #fff; }
.nhx-d .single_over dt { padding: 8px 12px 0 !important; background: #fff !important; color: var(--nhx-mute) !important; font-size: 12px !important; font-weight: 400 !important; text-align: left !important; }
.nhx-d .single_over dt, .nhx-d .single_over dd { -webkit-box-pack: start !important; -ms-flex-pack: start !important; justify-content: flex-start !important; -webkit-box-align: start !important; -ms-flex-align: start !important; align-items: flex-start !important; }
.nhx-d .single_over dd { height: auto !important; min-height: 0 !important; }
.nhx-d .single_over dd { padding: 2px 12px 10px !important; color: var(--nhx-ink); font-size: 15px !important; font-weight: 700 !important; text-align: left !important; }
.nhx-d .single_over dd.ddh30, .nhx-d .single_over dd.ddw40 { height: auto !important; min-height: 0; }
.nhx-d .single_over { -webkit-box-align: stretch; -ms-flex-align: stretch; align-items: stretch; }
.nhx-d .single_over dl:nth-child(2) { margin: 0 6px !important; }
.nhx-d .single_sellbtn dt { margin: 18px 0 8px !important; padding: 0 0 6px !important; border-bottom: 1px solid #a8a8a8 !important; font-size: 14px !important; font-weight: 800 !important; }
.nhx-d .single_sellbtn img { border-radius: 3px; }
/* ジャンル：黒い帯＋太い枠 → 灰色の小さなラベルと、白い札（上のカテゴリーの札と同じ形） */
.nhx-d dl.single_keywords { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-align: center; -ms-flex-align: center; align-items: center; margin-top: 28px; border: 0; text-align: left; }
.nhx-d .single_keywords dt { margin: 0 12px 0 0; padding: 0; background: none; color: var(--nhx-mute); font-size: 13px; font-weight: 400; }
.nhx-d .single_keywords dd { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; padding: 0; line-height: 1.4; }
.nhx-d .single_keywords dd > span { display: none; }
.nhx-d .single_keywords dd a { display: inline-block; margin: 3px 6px 3px 0; padding: 5px 12px; border-radius: 2px; background: #fff; font-size: 14px; font-weight: 700; -webkit-transition: background .2s, color .2s; transition: background .2s, color .2s; }
.nhx-d .single_keywords dd a:hover { background: var(--nhx-red); color: #fff !important; }

/* 記事ページ */
.nhx-d .p-entry__title { font-size: 26px !important; font-weight: 800; line-height: 1.45; letter-spacing: .01em; }
.nhx-d .p-entry__body { font-size: 15px; line-height: 1.9; }

/* フッター：グレーの帯 → ヘッダーと同じ黒で上下をそろえる */
.nhx-d .l-footer__info { background: var(--nhx-ink) !important; }
.nhx-d .l-footer__info .p-footer-nav a { color: #ddd !important; font-size: 13px; }
.nhx-d .l-footer__info .p-footer-nav a:hover { color: #fff !important; }
.nhx-d .p-copyright, .nhx-d .p-copyright.nhx-copyright--light { border-top: 1px solid #3a3a3a !important; background: var(--nhx-ink) !important; color: #9a9a9a !important; }
.nhx-d .p-copyright small.nhx-disclosure { color: #8a8a8a; }

/* ===== スマホ ===== */
@media screen and (max-width: 767px) {
	.nhx-d .p-index-content { margin-bottom: 30px; }
	.nhx-d.nhx-m.home .p-index-content__header { margin: 0 0 10px !important; }
	body.nhx-d.nhx-m.home .p-index-content a.p-index-content__btn.p-btn { top: 2px; padding: 6px 10px; font-size: 11px !important; }
	.nhx-d .p-entry__body, .nhx-d .p-style__data-item-content { font-size: 15px !important; }
	.nhx-d.nhx-m.home .p-latest-news .p-article05__title { font-weight: 700; }
	.nhx-d #single_cap h1 { font-size: 21px; }
	/* 作品データ（1行ずつ）：黒い見出しセル → 灰色の小さなラベル */
	.nhx-d.nhx-m .single_over dl { margin: 0 !important; border: 0 !important; border-bottom: 1px solid var(--nhx-line) !important; }
	.nhx-d.nhx-m .single_over dl:first-child { border-top: 1px solid var(--nhx-line) !important; }
	.nhx-d.nhx-m .single_over dt { -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start; padding: 10px 12px !important; }
	.nhx-d.nhx-m .single_over dd, .nhx-d.nhx-m .single_over dd.ddh30 { padding: 10px 12px 10px 0 !important; }
	.nhx-d .p-entry__title { font-size: 21px !important; }
	.nhx-d.nhx-m.home .l-secondary .widget_custom_html::before { display: table; height: auto; margin: 0 0 12px; padding: 0; background: none; color: var(--nhx-ink); font-weight: 800; line-height: 1.3; }
}

/* 作品データ（PC）：白い枠のかたまりを、右のサンプル動画の枠と同じ高さにそろえる */
@media screen and (min-width: 768px) {
	.nhx-d #single_sub_area .single_sub_area_flex { -webkit-box-align: stretch; -ms-flex-align: stretch; align-items: stretch; }
	.nhx-d .single_sub_area_flex > li:first-child { display: -webkit-box; display: -ms-flexbox; display: flex; }
	.nhx-d .single_sub_area_flex > li:first-child:last-child { width: 100%; } /* サンプル動画が無い作品・グッズは横いっぱいに */
	.nhx-d .single_sub_area_flex li.sample_movie_thum { height: auto; -ms-flex-item-align: stretch; align-self: stretch; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -ms-flex-direction: column; flex-direction: column; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; background: #111; }
	.nhx-d .single_over_all { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -ms-flex-direction: column; flex-direction: column; -webkit-box-flex: 1; -ms-flex: 1 1 auto; flex: 1 1 auto; }
	.nhx-d .single_over_all .single_over { -webkit-box-flex: 1; -ms-flex: 1 1 0px; flex: 1 1 0px; margin: 0 0 6px; }
	.nhx-d .single_over_all .single_over:last-child { margin-bottom: 0; }
	.nhx-d .single_over dl { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -ms-flex-direction: column; flex-direction: column; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; padding: 10px 14px; }
	.nhx-d .single_over dt { display: block !important; padding: 0 !important; }
	.nhx-d .single_over dd, .nhx-d .single_over dd.ddh30, .nhx-d .single_over dd.ddw40 { display: block !important; padding: 2px 0 0 !important; line-height: 1.45; }
}

/* ===== 見出し：黒文字＋左に赤い縦線（赤い箱に白文字から変更） ===== */
body.nhx-d h2.p-index-content__header-title { padding: 1px 0 2px 12px !important; border-left: 5px solid var(--nhx-red) !important; color: var(--nhx-ink) !important; font-size: 24px !important; }
body.nhx-d .p-widget__title, body.nhx-d .nhx-more__heading, body.nhx-d .nhx-related__heading, body.nhx-d.nhx-m.home .l-secondary .widget_custom_html::before { padding: 1px 0 2px 10px !important; border-left: 4px solid var(--nhx-red) !important; color: var(--nhx-ink) !important; font-size: 18px !important; }
@media screen and (max-width: 767px) {
	body.nhx-d.nhx-m.home h2.p-index-content__header-title, body.nhx-d h2.p-index-content__header-title { padding-left: 10px !important; border-left-width: 4px !important; font-size: 19px !important; }
	body.nhx-d .p-widget__title, body.nhx-d .nhx-more__heading, body.nhx-d .nhx-related__heading, body.nhx-d.nhx-m.home .l-secondary .widget_custom_html::before { font-size: 16px !important; }
}

/* ===== 右カラムのウィジェット：発売予定・イベント情報・ジャンルから探す ===== */
.nhx-side__more { margin: 10px 0 0; font-size: 12px; text-align: right; }
.nhx-side__more a { color: #222; font-weight: 700; text-decoration: underline; }
.nhx-side__more a:hover { color: #ff0000; }
/* 発売予定 */
.nhx-sched__day { margin: 0 0 8px; padding: 12px 12px 12px; background: #fff; }
.nhx-sched__head { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: baseline; -ms-flex-align: baseline; align-items: baseline; margin: 0 0 10px; line-height: 1.2; }
.nhx-sched__date { color: #222; font-size: 22px; font-weight: 800; letter-spacing: .01em; }
.nhx-sched__date small { margin-left: 2px; font-size: 12px; font-weight: 700; }
.nhx-sched__label { margin-left: 6px; color: #ff0000; font-size: 13px; font-weight: 800; }
.nhx-sched__count { margin-left: auto; color: #6b6b6b; font-size: 12px; }
.nhx-sched__list { display: -ms-grid; display: grid; grid-template-columns: repeat(4, 1fr); grid-gap: 6px; gap: 6px; margin: 0; padding: 0; list-style: none; }
.nhx-sched__item { margin: 0; padding: 0; }
.nhx-sched__link { position: relative; display: block; overflow: hidden; }
.nhx-sched__link img { display: block; width: 100%; height: auto; -o-object-fit: cover; object-fit: cover; aspect-ratio: 3 / 4; }
.nhx-sched__rest { position: absolute; top: 0; right: 0; bottom: 0; left: 0; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; background: rgba(0, 0, 0, .62); color: #fff; font-size: 18px; font-weight: 800; }
/* イベント情報 */
.nhx-ev__item { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; padding: 10px; border-bottom: 1px solid #e5e5e5; background: #fff; color: #222; }
.nhx-ev__item:last-of-type { border-bottom: 0; }
.nhx-ev__img { -webkit-box-flex: 0; -ms-flex: 0 0 64px; flex: 0 0 64px; width: 64px; height: 64px; margin-right: 10px; overflow: hidden; }
.nhx-ev__img img { display: block; width: 100%; height: 100%; -o-object-fit: cover; object-fit: cover; }
.nhx-ev__body { -webkit-box-flex: 1; -ms-flex: 1; flex: 1; min-width: 0; }
.nhx-ev__label { display: inline-block; margin: 0 0 4px; padding: 1px 6px; background: #ff0000; color: #fff; font-size: 11px; font-weight: 700; line-height: 1.6; }
.nhx-ev__label--date { background: #222; }
.nhx-ev__title { display: block; display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; font-size: 13px; font-weight: 700; line-height: 1.5; }
.nhx-ev__item:hover .nhx-ev__title { color: #ff0000; }
/* ジャンルから探す */
.nhx-genres { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; margin: 0 -6px -6px 0; padding: 0; list-style: none; }
.nhx-genres li { margin: 0 6px 6px 0; padding: 0; }
.nhx-genres a { display: block; padding: 6px 10px; border-radius: 2px; background: #fff; color: #222; font-size: 13px; font-weight: 700; line-height: 1.3; -webkit-transition: background .2s, color .2s; transition: background .2s, color .2s; }
.nhx-genres a:hover { background: #ff0000; color: #fff; }
/* トップの右カラム（PC）：人気記事を白い面の1行ずつに、バナーのまとまりに「PICK UP」の見出し */
@media screen and (min-width: 768px) {
	.home .l-secondary .nhx-popular { background: #fff; }
	.home .l-secondary .nhx-popular .p-article02 { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; margin: 0; padding: 10px; border: 0; border-bottom: 1px solid #e5e5e5; }
	.home .l-secondary .nhx-popular .p-article02:last-child { border-bottom: 0; }
	.home .l-secondary .nhx-popular .p-article02__img { -webkit-box-flex: 0; -ms-flex: 0 0 64px; flex: 0 0 64px; width: 64px; height: 64px; margin: 0 10px 0 0; float: none; overflow: hidden; }
	.home .l-secondary .nhx-popular .p-article02__img img { width: 100%; height: 100%; -o-object-fit: cover; object-fit: cover; }
	.home .l-secondary .nhx-popular .p-article02__content { -webkit-box-flex: 1; -ms-flex: 1; flex: 1; min-width: 0; padding: 0; text-align: left; }
	.home .l-secondary .nhx-popular .p-article02__title { margin: 0 0 2px; font-size: 13px; font-weight: 700; line-height: 1.5; }
	.home .l-secondary .nhx-popular .p-article02__title a { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; color: #222; }
	.home .l-secondary .nhx-popular .p-article02__date { color: #6b6b6b; font-size: 11px; }
	.home .l-secondary .nhx-popular__rank { min-width: 20px; height: 20px; font-size: 11px; line-height: 20px; }
	.nhx-d.home .l-secondary .widget_custom_html::before { content: "PICK UP"; display: table; margin: 0 0 14px; padding: 1px 0 2px 10px; border-left: 4px solid #ff0000; color: #222; font-size: 18px; font-weight: 800; line-height: 1.3; letter-spacing: .02em; }
}
/* トップの右カラム（PC）のバナー：正方形は2つ並べ、横長は横いっぱい。間をつめて縦の長さを半分ほどに */
@media screen and (min-width: 768px) {
	.home .l-secondary .nhx-popular { border: 0; }
	.nhx-d.home .l-secondary .custom-html-widget { display: -ms-grid; display: grid; grid-template-columns: 1fr 1fr; grid-gap: 10px; gap: 10px; grid-auto-flow: row dense; }
	.nhx-d.home .l-secondary .custom-html-widget br { display: none; }
	.nhx-d.home .l-secondary .custom-html-widget > a { display: block; grid-column: span 2; margin: 0; }
	.nhx-d.home .l-secondary .custom-html-widget > a.nhx-bn--sq { grid-column: span 1; }
	.nhx-d.home .l-secondary .custom-html-widget > a.nhx-bn--lead { grid-column: span 2; }
	.nhx-d.home .l-secondary .custom-html-widget img { display: block; width: 100%; height: auto; margin: 0; }
}
/* PCトップのファーストビュー：スライダーを左の本文と同じ幅（770px）にして、右カラムを横に並べる（横1150px以上の画面だけ） */
@media screen and (min-width: 1150px) {
	.nhx-d.home #front_slider { background: transparent; }
	.nhx-d.home .p-header-content { width: 1110px; max-width: none; margin: 0 auto 70px; padding-top: 32px; background: transparent; }
	.nhx-d.home #js-header-slider { width: 770px; margin: 0; }
	.nhx-d.home #js-header-slider .p-header-slider__item img { width: 100%; height: 308px; -o-object-fit: cover; object-fit: cover; }
	.nhx-d.home #js-header-slider:not(.slick-initialized) > .p-header-slider__item ~ .p-header-slider__item { display: none; } /* 読み込み中に全部の画像が縦に並ばないように */
	.nhx-d.home .l-secondary { position: relative; z-index: 2; margin-top: -378px; } /* スライダーの高さ308px＋下の余白70px だけ上げて、スライダーの横に並べる */
}
/* トップの「FANZAでセール中」欄：ジャケットの左上に割引の札 */
.nhx-sale__link { position: relative; display: block; }
.nhx-sale__badge { position: absolute; top: 0; left: 0; z-index: 2; padding: 3px 8px; background: #ff0000; color: #fff; font-size: 12px; font-weight: 800; line-height: 1.4; letter-spacing: .02em; }
@media screen and (min-width: 768px) {
	.nhx-d .p-index-content__sale { margin-top: -10px; }
}
@media screen and (max-width: 767px) {
	.nhx-sale__badge { padding: 2px 5px; font-size: 10px; }
}
/* 右カラムの「期間限定セール」：発売予定と同じ形。割引率を赤い札で */
.nhx-ssale__off { margin-left: auto; padding: 2px 8px; background: #ff0000; color: #fff; font-size: 12px; font-weight: 800; line-height: 1.5; }
.nhx-sched__label.nhx-ssale__until { color: #222; }
/* 右カラムの「期間限定セール」：いくつかのセールが同時のときは1行ずつ */
.nhx-ssale__row { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; margin: 0 0 6px; font-size: 13px; line-height: 1.4; }
.nhx-ssale__row .nhx-ssale__off { margin: 0 8px 0 0; }
.nhx-ssale__where { color: #222; font-weight: 700; }
.nhx-ssale__end { margin-left: auto; color: #6b6b6b; font-size: 12px; }
.nhx-ssale__row + .nhx-sched__list, .nhx-ssale__row:last-of-type { margin-bottom: 10px; }
