/* 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; }
}
