/*
Theme Name: Huzoku (風俗出勤情報)
Theme URI: https://huzoku.av-kirinuki.com/
Description: AV女優の風俗出勤情報サイト。新着・出勤・女優一覧・エリアを表示。avzoku.com 同等構造。風俗じゃぱん風ライトテーマ。
Author: Huzoku
Version: 1.0
Template: cocoon-master
*/

/* ==========================================================================
   CSS変数（ライトテーマ・風俗じゃぱん風）
   ========================================================================== */
:root {
	--huzoku-accent: #e85d75;
	--huzoku-accent-dark: #c94d63;
	--huzoku-link: #0066cc;
	--huzoku-bg: #f8f8f8;
	--huzoku-bg-card: #fff;
	--huzoku-border: #e0e0e0;
	--huzoku-border-light: #eee;
	--huzoku-text: #333;
	--huzoku-text-muted: #666;
	--huzoku-font-title: 'Noto Sans JP', sans-serif;
	--huzoku-font-body: 'Noto Sans JP', sans-serif;
}

/* ==========================================================================
   全体（huzoku ページ時）
   ========================================================================== */
body.huzoku-theme {
	background: var(--huzoku-bg);
	color: var(--huzoku-text);
	font-family: var(--huzoku-font-body);
}

body.huzoku-theme .main.huzoku-page {
	background: var(--huzoku-bg);
	min-height: 100vh;
}

/* ==========================================================================
   ヘッダー（共通ロゴを大きく表示）
   ========================================================================== */
#header-in,
.header-in {
	padding-top: 0.75rem;
	padding-bottom: 0.75rem;
	min-height: 0;
}

.logo.logo-header {
	margin: 0;
	font-size: 0;
	line-height: 1;
}

.logo.logo-header a {
	display: inline-block;
	line-height: 0;
	transition: opacity 0.2s ease, transform 0.2s ease;
}

.logo.logo-header a:hover {
	opacity: 0.88;
	transform: scale(1.03);
}

.site-logo-image.header-site-logo-image,
.logo-header .site-logo-image {
	max-height: 96px;
	width: auto;
	height: auto;
	display: block;
	object-fit: contain;
	border-radius: 50%;
}

/* フッターロゴも丸く・ホバー */
.logo.logo-footer a {
	display: inline-block;
	line-height: 0;
	transition: opacity 0.2s ease, transform 0.2s ease;
}
.logo.logo-footer a:hover {
	opacity: 0.88;
	transform: scale(1.03);
}
.site-logo-image.footer-site-logo-image,
.logo-footer .site-logo-image {
	width: auto;
	height: auto;
	max-height: 64px;
	display: block;
	object-fit: contain;
	border-radius: 50%;
}

.header-in .tagline {
	display: none;
}

.huzoku-inner {
	max-width: 960px;
	margin: 0 auto;
	padding: 1.5rem 1rem 3rem;
}

@media (max-width: 640px) {
	.huzoku-inner {
		padding: 0;
	}
}

/* ==========================================================================
   ファーストビュー（風俗じゃぱん風・明るくすっきり）
   ========================================================================== */
.huzoku-first-view {
	background: #fff;
	padding: 2rem 1rem 2.5rem;
	text-align: center;
	border-bottom: 1px solid var(--huzoku-border-light);
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
}

.huzoku-first-view-title {
	font-family: var(--huzoku-font-title);
	font-weight: 700;
	font-size: clamp(1.4rem, 3.5vw, 2rem);
	color: var(--huzoku-text);
	margin: 0 0 1rem;
	letter-spacing: 0.02em;
}

/* NEW 更新情報 バッジ */
.huzoku-new-badge {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	margin: 0 0 1.25rem;
	padding: 0.4em 1em;
	background: var(--huzoku-accent);
	color: #fff;
	font-size: 0.9rem;
	font-weight: 700;
	border-radius: 6px;
	box-shadow: 0 1px 3px rgba(232, 93, 117, 0.3);
}

.huzoku-badge-icon {
	color: #fff;
	opacity: 0.95;
}

.huzoku-badge-date {
	font-size: 0.85em;
	opacity: 0.95;
}

/* 検索バー */
.huzoku-search-wrap {
	max-width: 420px;
	margin: 0 auto 1.25rem;
}

.huzoku-search-form {
	display: flex;
	border-radius: 6px;
	overflow: hidden;
	background: #fff;
	border: 1px solid var(--huzoku-border);
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.huzoku-search-form:focus-within {
	border-color: var(--huzoku-accent);
	box-shadow: 0 0 0 2px rgba(232, 93, 117, 0.15);
}

.huzoku-search-input {
	flex: 1;
	padding: 0.75rem 1.25rem;
	background: transparent;
	border: none;
	color: var(--huzoku-text);
	font-family: var(--huzoku-font-body);
	font-size: 0.95rem;
	outline: none;
}

.huzoku-search-input::placeholder {
	color: var(--huzoku-text-muted);
}

.huzoku-search-submit {
	padding: 0.75rem 1rem;
	background: transparent;
	border: none;
	color: var(--huzoku-accent);
	cursor: pointer;
	transition: color 0.2s ease;
}

.huzoku-search-submit:hover {
	color: var(--huzoku-accent-dark);
}

/* CTA ボタン */
.huzoku-cta-buttons {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.75rem;
}

.huzoku-cta {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	padding: 0.65rem 1.25rem;
	border-radius: 6px;
	font-family: var(--huzoku-font-body);
	font-weight: 700;
	font-size: 0.9rem;
	text-decoration: none;
	border: none;
	cursor: pointer;
	transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.huzoku-cta-primary {
	background: var(--huzoku-accent);
	color: #fff;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

.huzoku-cta-primary:hover {
	background: var(--huzoku-accent-dark);
	color: #fff;
	transform: translateY(-1px);
}

.huzoku-cta-secondary {
	background: #fff;
	color: var(--huzoku-accent);
	border: 1px solid var(--huzoku-accent);
}

.huzoku-cta-secondary:hover {
	background: rgba(232, 93, 117, 0.08);
	color: var(--huzoku-accent-dark);
	transform: translateY(-1px);
}

.huzoku-cta-icon {
	font-size: 1em;
	opacity: 0.9;
}

/* ==========================================================================
   セクション見出し（左縦ライン・すっきり）
   ========================================================================== */
.huzoku-section-title {
	position: relative;
	padding-left: 1rem;
	margin: 0 0 1rem;
	font-family: var(--huzoku-font-body);
	font-weight: 700;
	font-size: 1.25rem;
	color: var(--huzoku-text);
	border-bottom: none;
}

.huzoku-section-title::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	width: 4px;
	background: var(--huzoku-accent);
	border-radius: 2px;
}

.huzoku-section-title::after {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	bottom: -4px;
	height: 1px;
	background: var(--huzoku-border-light);
}

.huzoku-section-title--letter {
	font-size: 1.1rem;
	color: var(--huzoku-text);
}

.huzoku-section-title--letter::before {
	width: 3px;
	background: var(--huzoku-border);
}

.huzoku-section-title--letter::after {
	display: none;
}

/* ==========================================================================
   お問い合わせフォーム
   ========================================================================== */
.huzoku-contact-intro {
	margin-bottom: 1.5rem;
	color: var(--huzoku-text);
	line-height: 1.7;
}

.huzoku-contact-intro p {
	margin: 0 0 0.5em;
}

.huzoku-contact-form {
	max-width: 560px;
	margin-top: 1.5rem;
}

.huzoku-contact-field {
	margin: 0 0 1.25rem;
}

.huzoku-contact-field label {
	display: block;
	font-weight: 700;
	font-size: 0.95rem;
	color: var(--huzoku-text);
	margin-bottom: 0.35rem;
}

.huzoku-contact-field .required {
	color: var(--huzoku-accent);
	font-size: 0.85em;
	font-weight: 400;
}

.huzoku-contact-input,
.huzoku-contact-textarea {
	width: 100%;
	padding: 0.6rem 0.75rem;
	font-size: 1rem;
	font-family: inherit;
	border: 1px solid var(--huzoku-border);
	border-radius: 6px;
	background: #fff;
	color: var(--huzoku-text);
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.huzoku-contact-input:focus,
.huzoku-contact-textarea:focus {
	outline: none;
	border-color: var(--huzoku-accent);
	box-shadow: 0 0 0 2px rgba(180, 120, 140, 0.2);
}

.huzoku-contact-textarea {
	resize: vertical;
	min-height: 120px;
}

.huzoku-contact-submit {
	margin: 1.5rem 0 0;
}

.huzoku-contact-btn {
	display: inline-block;
	padding: 0.75rem 2rem;
	font-size: 1rem;
	font-weight: 700;
	color: #fff;
	background: var(--huzoku-accent);
	border: none;
	border-radius: 8px;
	cursor: pointer;
	transition: background 0.2s ease, transform 0.2s ease;
}

.huzoku-contact-btn:hover {
	background: var(--huzoku-accent-dark, #8b5a6b);
	transform: translateY(-1px);
}

.huzoku-contact-notice {
	padding: 1rem 1.25rem;
	border-radius: 8px;
	margin: 1rem 0;
	font-weight: 500;
}

.huzoku-contact-notice--success {
	background: #e8f5e9;
	color: #2e7d32;
	border: 1px solid #a5d6a7;
}

.huzoku-contact-notice--error {
	background: #ffebee;
	color: #c62828;
	border: 1px solid #ef9a9a;
}

/* ==========================================================================
   サイトマップ
   ========================================================================== */
.huzoku-sitemap-intro {
	margin-bottom: 1.5rem;
	color: var(--huzoku-text);
	line-height: 1.7;
}

.huzoku-sitemap-intro p {
	margin: 0 0 0.5em;
}

.huzoku-sitemap-nav .huzoku-sitemap-list {
	list-style: none;
	padding: 0;
	margin: 0;
}

.huzoku-sitemap-list > li {
	margin: 0.5rem 0;
	padding: 0.5rem 0;
	border-bottom: 1px solid var(--huzoku-border-light);
}

.huzoku-sitemap-list > li:last-child {
	border-bottom: none;
}

.huzoku-sitemap-list a {
	display: inline-block;
	color: var(--huzoku-text);
	text-decoration: none;
	font-weight: 500;
	transition: color 0.2s ease;
}

.huzoku-sitemap-list a:hover {
	color: var(--huzoku-accent);
}

.huzoku-sitemap-sublist {
	list-style: none;
	padding: 0.35rem 0 0 1.25rem;
	margin: 0.5rem 0 0;
	border-left: 2px solid var(--huzoku-border-light);
}

.huzoku-sitemap-sublist li {
	margin: 0.25rem 0;
}

.huzoku-sitemap-sublist a {
	font-size: 0.95rem;
	font-weight: 400;
}

.huzoku-sitemap-areas {
	max-height: 20em;
	overflow-y: auto;
}

/* ==========================================================================
   更新・出勤リスト（カード・ライト）
   ========================================================================== */
.huzoku-updates-list,
/* 出勤情報トップ：エリア地図 */
.huzoku-schedule-map-section {
	margin: 0 0 2rem;
}

.huzoku-updates-list {
	list-style: none;
	padding-left: 0;
}

.huzoku-schedule-map-title {
	font-size: 1.1rem;
	font-weight: 700;
	color: var(--huzoku-text);
	margin: 0 0 0.75rem;
}

.huzoku-schedule-map {
	width: 100%;
	height: 360px;
	background: var(--huzoku-border-light);
	border-radius: 10px;
	overflow: hidden;
	border: 1px solid var(--huzoku-border-light);
}

.huzoku-schedule-map .leaflet-popup-content a {
	color: var(--huzoku-accent);
	text-decoration: none;
	font-weight: 600;
}

.huzoku-schedule-map .leaflet-popup-content a:hover {
	text-decoration: underline;
}

.huzoku-schedule-map-marker .huzoku-schedule-map-pin {
	display: block;
	width: 20px;
	height: 20px;
	margin: 2px auto 0;
	background: var(--huzoku-accent);
	border: 2px solid #fff;
	border-radius: 50%;
	box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);
	cursor: pointer;
}

.huzoku-schedule-map-marker .huzoku-schedule-map-pin:hover {
	background: var(--huzoku-accent-dark);
	transform: scale(1.15);
}

.huzoku-schedule-list {
	list-style: none;
	padding: 0;
	margin: 1em 0;
}

.huzoku-updates-list li,
.huzoku-schedule-list li {
	padding: 20px;
	margin: 12px 0;
	border-radius: 8px;
	background: var(--huzoku-bg-card);
	border: 1px solid var(--huzoku-border-light);
	transition: box-shadow 0.2s ease, border-color 0.2s ease;
}

.huzoku-updates-list li:nth-child(even),
.huzoku-schedule-list li:nth-child(even) {
	background: #fcfcfc;
}

.huzoku-updates-list li:hover,
.huzoku-schedule-list li:hover {
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
	border-color: var(--huzoku-border);
}

.huzoku-update-card a,
.huzoku-schedule-list a {
	display: inline-flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem 1rem;
	text-decoration: none;
	color: var(--huzoku-text);
	font-weight: 500;
	transition: color 0.2s ease;
}

/* 新着一覧：写真付きカード */
.huzoku-updates-list--with-photo .huzoku-update-card-link {
	display: flex;
	align-items: center;
	gap: 1rem;
	flex-wrap: nowrap;
}

.huzoku-update-thumb-wrap {
	flex-shrink: 0;
	width: 64px;
	height: 64px;
	border-radius: 8px;
	overflow: hidden;
	background: var(--huzoku-border-light);
}

.huzoku-update-thumb {
	display: block;
	width: 100%;
	height: 100%;
}

.huzoku-update-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.huzoku-update-thumb-wrap--noimg .huzoku-update-thumb {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	background: var(--huzoku-border-light);
}

.huzoku-update-noimg {
	font-size: 0.65rem;
	color: var(--huzoku-text-muted);
}

.huzoku-update-body {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 0.35rem 1rem;
	min-width: 0;
}

.huzoku-updates-list--with-photo .huzoku-update-card-link:hover .huzoku-update-thumb-wrap {
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
}

/* 新着一覧：月毎セクション・さらに見る */
.huzoku-updates-by-month {
	margin-top: 0.5rem;
}

.huzoku-updates-month-section {
	margin: 0 0 2rem;
}

.huzoku-updates-month-section--hidden {
	display: none;
}

.huzoku-updates-month-title {
	font-size: 1.15rem;
	font-weight: 700;
	color: var(--huzoku-text);
	margin: 0 0 0.75rem;
	padding: 0.35rem 0 0.35rem 1rem;
	border-left: 4px solid var(--huzoku-accent);
	background: rgba(232, 93, 117, 0.06);
	border-radius: 0 6px 6px 0;
}

.huzoku-updates-month-section .huzoku-updates-list {
	margin-top: 0;
}

.huzoku-updates-load-more-wrap {
	text-align: center;
	margin: 2rem 0 1rem;
}

.huzoku-updates-load-more-btn {
	display: inline-block;
	padding: 0.65rem 2rem;
	font-size: 1rem;
	font-weight: 700;
	color: #fff;
	background: var(--huzoku-accent);
	border: none;
	border-radius: 8px;
	cursor: pointer;
	transition: background 0.2s ease, transform 0.2s ease;
	box-shadow: 0 2px 8px rgba(232, 93, 117, 0.35);
}

.huzoku-updates-load-more-btn:hover {
	background: var(--huzoku-accent-dark);
	transform: translateY(-2px);
}

.huzoku-update-name {
	font-weight: 700;
	color: var(--huzoku-text);
}

.huzoku-update-time {
	color: var(--huzoku-accent);
	font-size: 0.9em;
	font-weight: 600;
}

.huzoku-schedule-list a::before {
	font-family: 'Font Awesome 6 Free';
	font-weight: 900;
	content: '\f0ac';
	color: var(--huzoku-accent);
	font-size: 0.85em;
	opacity: 0.9;
}

.huzoku-update-card a:hover .huzoku-update-name,
.huzoku-schedule-list a:hover {
	color: var(--huzoku-accent-dark);
}

/* ==========================================================================
   週間アクセスランキング
   ========================================================================== */
.huzoku-ranking-list {
	list-style: none;
	padding: 0;
	margin: 1em 0;
}

.huzoku-ranking-item {
	margin: 12px 0;
}

.huzoku-ranking-card {
	display: flex;
	align-items: center;
	gap: 1rem;
	text-decoration: none;
	color: inherit;
	padding: 20px;
	border-radius: 8px;
	background: var(--huzoku-bg-card);
	border: 1px solid var(--huzoku-border-light);
	transition: box-shadow 0.2s ease, border-color 0.2s ease;
}

.huzoku-ranking-list li:nth-child(even) .huzoku-ranking-card {
	background: #fcfcfc;
}

.huzoku-ranking-card:hover {
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
	border-color: var(--huzoku-border);
}

.huzoku-ranking-rank {
	flex-shrink: 0;
	width: 2.25em;
	text-align: center;
	font-weight: 800;
	font-size: 1.1rem;
	color: var(--huzoku-accent);
}

.huzoku-ranking-item:nth-child(1) .huzoku-ranking-rank { color: #d4a017; font-size: 1.35rem; }
.huzoku-ranking-item:nth-child(2) .huzoku-ranking-rank { color: #8c8c8c; font-size: 1.2rem; }
.huzoku-ranking-item:nth-child(3) .huzoku-ranking-rank { color: #b8860b; font-size: 1.15rem; }

.huzoku-ranking-thumb-wrap {
	flex-shrink: 0;
	width: 56px;
	height: 56px;
	border-radius: 8px;
	overflow: hidden;
	background: var(--huzoku-border-light);
}

.huzoku-ranking-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.huzoku-ranking-card:hover .huzoku-ranking-thumb-wrap {
	box-shadow: 0 1px 6px rgba(0, 0, 0, 0.12);
}

.huzoku-ranking-name {
	font-weight: 700;
	color: var(--huzoku-text);
	flex: 1;
	transition: color 0.2s ease;
}

.huzoku-ranking-card:hover .huzoku-ranking-name {
	color: var(--huzoku-accent-dark);
}

/* ==========================================================================
   トップページ（avzoku 風・セクション・もっと見る・ナビ）
   ========================================================================== */
.huzoku-front-inner {
	padding-top: 0.5rem;
}

.huzoku-front-section {
	margin: 2.5rem 0;
}

.huzoku-front-section:first-of-type {
	margin-top: 0;
}

.huzoku-front-subtitle {
	margin: -0.25rem 0 0.75rem;
	font-size: 0.85rem;
	color: var(--huzoku-text-muted);
	font-weight: 500;
}

.huzoku-front-more {
	margin: 1rem 0 0;
	text-align: center;
}

.huzoku-front-more-link {
	display: inline-block;
	padding: 0.5rem 1.25rem;
	font-size: 0.95rem;
	font-weight: 700;
	color: var(--huzoku-accent);
	text-decoration: none;
	border: 1px solid var(--huzoku-accent);
	border-radius: 6px;
	transition: background 0.2s ease, color 0.2s ease;
}

.huzoku-front-more-link:hover {
	background: var(--huzoku-accent);
	color: #fff;
}

/* トップ・新着情報：女優画像カードを Flex 横並び */
.huzoku-front-updates {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
	margin: 0.75rem 0 0;
	list-style: none;
	padding: 0;
}

.huzoku-front-updates .huzoku-update-card {
	margin: 0;
	padding: 0;
	width: auto;
	flex: 0 0 auto;
	background: transparent;
	border: none;
	border-radius: 0;
}

.huzoku-front-updates .huzoku-update-card:hover {
	background: transparent;
	box-shadow: none;
	border: none;
}

.huzoku-front-update-link {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	width: 120px;
	text-decoration: none;
	color: inherit;
	border-radius: 10px;
	overflow: hidden;
	border: 1px solid var(--huzoku-border-light);
	background: var(--huzoku-bg-card);
	transition: box-shadow 0.2s ease, border-color 0.2s ease;
}

.huzoku-front-update-link:hover {
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
	border-color: var(--huzoku-border);
}

.huzoku-front-update-thumb-wrap {
	width: 100%;
	aspect-ratio: 3 / 4;
	overflow: hidden;
	background: var(--huzoku-border-light);
}

.huzoku-front-update-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.huzoku-front-update-thumb--noimg {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	background: var(--huzoku-border-light);
}

.huzoku-front-update-thumb--noimg .huzoku-update-noimg {
	font-size: 0.65rem;
	color: var(--huzoku-text-muted);
}

.huzoku-front-update-body {
	padding: 0.5rem 0.5rem 0.6rem;
	display: flex;
	flex-direction: column;
	gap: 0.2rem;
}

.huzoku-front-update-body .huzoku-update-name {
	font-size: 0.8rem;
	line-height: 1.35;
	font-weight: 600;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.huzoku-front-update-body .huzoku-update-time {
	font-size: 0.7rem;
	color: var(--huzoku-text-muted);
}

.huzoku-front-update-link:hover .huzoku-update-name {
	color: var(--huzoku-accent-dark);
}

.huzoku-front-schedule-block .huzoku-schedule-list {
	margin-top: 0.75rem;
}

.huzoku-front-ranking {
	margin-top: 0.75rem;
}

.huzoku-front-nav {
	margin: 3rem 0 2rem;
	padding: 2rem 1rem;
	background: var(--huzoku-bg-card);
	border: 1px solid var(--huzoku-border-light);
	border-radius: 10px;
}

.huzoku-front-nav-list {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.75rem 1.5rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.huzoku-front-nav-list a {
	display: inline-block;
	padding: 0.5rem 1rem;
	font-weight: 700;
	color: var(--huzoku-text);
	text-decoration: none;
	border-radius: 6px;
	transition: background 0.2s ease, color 0.2s ease;
}

.huzoku-front-nav-list a:hover {
	background: rgba(232, 93, 117, 0.12);
	color: var(--huzoku-accent-dark);
}

/* ==========================================================================
   地域別出勤（日別一覧）
   ========================================================================== */
.huzoku-schedule-region-desc {
	color: var(--huzoku-text-muted);
	font-size: 0.9em;
}

.huzoku-schedule-region-empty {
	margin: 1.5rem 0;
	padding: 1rem 1.25rem;
	background: var(--huzoku-bg-card);
	border: 1px solid var(--huzoku-border-light);
	border-radius: 8px;
	color: var(--huzoku-text-muted);
	font-size: 0.95rem;
}

.huzoku-schedule-region-empty a {
	color: var(--huzoku-accent);
	text-decoration: none;
}

.huzoku-schedule-region-empty a:hover {
	text-decoration: underline;
}

/* 日付タブ */
.huzoku-schedule-tabs-wrap {
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem;
	margin: 1rem 0 1.25rem;
}

.huzoku-schedule-tab {
	display: inline-block;
	padding: 0.5rem 1rem;
	background: var(--huzoku-bg-card);
	border: 1px solid var(--huzoku-border-light);
	border-radius: 6px;
	color: var(--huzoku-text);
	font-size: 0.9rem;
	font-weight: 600;
	cursor: pointer;
	transition: border-color 0.2s ease, background 0.2s ease, color 0.2s ease;
}

.huzoku-schedule-tab:hover {
	border-color: var(--huzoku-accent);
	background: var(--huzoku-bg);
	color: var(--huzoku-accent-dark);
}

.huzoku-schedule-tab--active {
	border-color: var(--huzoku-accent);
	background: var(--huzoku-accent);
	color: #fff;
}

.huzoku-schedule-tab--active:hover {
	background: var(--huzoku-accent-dark);
	border-color: var(--huzoku-accent-dark);
	color: #fff;
}

.huzoku-schedule-day--hidden {
	display: none !important;
}

.huzoku-schedule-nav {
	display: flex;
	gap: 1rem;
	margin: 1rem 0 1.5rem;
	flex-wrap: wrap;
}
.huzoku-schedule-nav-link {
	display: inline-block;
	padding: 0.5rem 1rem;
	background: var(--huzoku-bg-card);
	border: 1px solid var(--huzoku-border);
	border-radius: 6px;
	color: var(--huzoku-link);
	text-decoration: none;
	font-weight: 600;
	font-size: 0.9rem;
	transition: border-color 0.2s ease, background 0.2s ease;
}
.huzoku-schedule-nav-link:hover {
	border-color: var(--huzoku-accent);
	background: var(--huzoku-bg);
}

.huzoku-schedule-day-count {
	font-size: 0.95rem;
	color: var(--huzoku-text-muted);
	margin: -0.25rem 0 0.75rem;
}
.huzoku-schedule-day-empty {
	font-size: 0.95rem;
	color: var(--huzoku-text-muted);
	margin: 0.5rem 0;
}

.huzoku-schedule-day {
	margin: 2rem 0;
}

.huzoku-schedule-day-title {
	font-size: 1.1rem;
	font-weight: 700;
	color: var(--huzoku-text);
	margin: 0 0 0.75rem;
	padding-bottom: 0.35rem;
	border-bottom: 2px solid var(--huzoku-accent);
}

.huzoku-schedule-entries {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
}

.huzoku-schedule-entry {
	margin: 0;
}

.huzoku-schedule-entry-card {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	width: 100px;
	text-decoration: none;
	color: inherit;
	border-radius: 10px;
	overflow: hidden;
	border: 1px solid var(--huzoku-border-light);
	background: var(--huzoku-bg-card);
	transition: box-shadow 0.2s ease, border-color 0.2s ease;
}

.huzoku-schedule-entry-card:hover {
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
	border-color: var(--huzoku-border);
}

.huzoku-schedule-entry-thumb-wrap {
	width: 100%;
	aspect-ratio: 3 / 4;
	overflow: hidden;
	background: var(--huzoku-border-light);
}

.huzoku-schedule-entry-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.huzoku-schedule-entry-thumb--noimg {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	background: var(--huzoku-border-light);
}

.huzoku-schedule-entry-noimg {
	font-size: 0.6rem;
	color: var(--huzoku-text-muted);
}

.huzoku-schedule-entry-body {
	padding: 0.4rem 0.5rem 0.5rem;
	display: flex;
	flex-direction: column;
	gap: 0.15rem;
}

.huzoku-schedule-entry-name {
	font-weight: 600;
	font-size: 0.75rem;
	line-height: 1.35;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.huzoku-schedule-entry-meta {
	font-size: 0.65rem;
	color: var(--huzoku-text-muted);
	line-height: 1.3;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.huzoku-schedule-entry-card:hover .huzoku-schedule-entry-name {
	color: var(--huzoku-accent-dark);
}

.huzoku-schedule-entry-card:hover .huzoku-schedule-entry-meta {
	color: var(--huzoku-text-muted);
}

@media (min-width: 640px) {
	.huzoku-schedule-entry-card {
		width: 120px;
	}
	.huzoku-schedule-entry-body .huzoku-schedule-entry-name {
		font-size: 0.8rem;
	}
	.huzoku-schedule-entry-body .huzoku-schedule-entry-meta {
		font-size: 0.7rem;
	}
}

@media (min-width: 960px) {
	.huzoku-schedule-entry-card {
		width: 140px;
	}
}

/* ==========================================================================
   個別女優ページ（スクレイプHTML内のリスト）
   ========================================================================== */
/* 無修正動画リストの黒い点を削除 */
.uncensorede-video-list {
	list-style: none;
	padding-left: 0;
}

.uncensorede-video-list .uncensorede-video-item {
	list-style: none;
}

/* ==========================================================================
   女優一覧（カード・ライト）
   ========================================================================== */
.huzoku-actress-list {
	list-style: none;
	padding: 0;
	margin: 0.5em 0;
	display: flex;
	flex-wrap: wrap;
	gap: 0;
}

.huzoku-actress-list li {
	display: block;
	width: 100%;
	margin: 0;
}

.huzoku-actress-item {
	margin: 12px 0;
}

.huzoku-actress-card {
	display: flex;
	align-items: center;
	gap: 20px;
	text-decoration: none;
	color: inherit;
	padding: 20px;
	border-radius: 8px;
	background: var(--huzoku-bg-card);
	border: 1px solid var(--huzoku-border-light);
	transition: box-shadow 0.2s ease, border-color 0.2s ease;
}

.huzoku-actress-list li:nth-child(even) .huzoku-actress-card {
	background: #fcfcfc;
}

.huzoku-actress-card:hover {
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
	border-color: var(--huzoku-border);
}

.huzoku-actress-thumb-wrap {
	position: relative;
	flex-shrink: 0;
	width: 160px;
	height: 160px;
	min-width: 120px;
	min-height: 120px;
	max-width: 200px;
	max-height: 200px;
	border-radius: 8px;
	overflow: hidden;
	background: var(--huzoku-border-light);
	transition: box-shadow 0.2s ease;
}

.huzoku-actress-card:hover .huzoku-actress-thumb-wrap {
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.12);
}

.huzoku-actress-thumb {
	position: relative;
	display: block;
	width: 100%;
	height: 100%;
	overflow: hidden;
	border-radius: 8px;
	transition: transform 0.3s ease;
}

.huzoku-actress-card:hover .huzoku-actress-thumb {
	transform: scale(1.05);
}

.huzoku-actress-thumb::after {
	content: '';
	position: absolute;
	inset: 0;
	background: rgba(255, 255, 255, 0.1);
	opacity: 0;
	transition: opacity 0.3s ease;
	pointer-events: none;
	border-radius: 8px;
}

.huzoku-actress-card:hover .huzoku-actress-thumb::after {
	opacity: 1;
}

.huzoku-actress-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	vertical-align: middle;
	display: block;
}

.huzoku-actress-body {
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
	flex: 1;
	min-width: 0;
}

.huzoku-actress-name {
	font-size: 1.05em;
	font-weight: 700;
	color: var(--huzoku-text);
	transition: color 0.2s ease;
}

.huzoku-actress-card:hover .huzoku-actress-name {
	color: var(--huzoku-accent-dark);
}

.huzoku-actress-body .huzoku-update-time {
	color: var(--huzoku-accent);
	font-size: 0.85em;
	font-weight: 600;
	font-style: normal;
}

.huzoku-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem;
	margin-top: 0.25rem;
}

.huzoku-tag {
	display: inline-flex;
	align-items: center;
	gap: 0.35em;
	padding: 4px 10px;
	background: var(--huzoku-accent);
	color: #fff;
	border-radius: 20px;
	font-size: 0.75rem;
	font-weight: 600;
	white-space: nowrap;
	transition: background 0.2s ease;
}

.huzoku-tag i {
	font-size: 0.9em;
	opacity: 0.95;
}

.huzoku-actress-card:hover .huzoku-tag {
	background: var(--huzoku-accent-dark);
}

/* ==========================================================================
   女優一覧ページ（写真付き横並び・ジャンプ・並び替え）
   ========================================================================== */
.huzoku-actress-list-page .huzoku-page-title,
.huzoku-actress-list-page .huzoku-actress-list-title {
	font-size: clamp(1.25rem, 3vw, 1.6rem);
	font-weight: 700;
	margin: 0 0 1rem;
	color: var(--huzoku-text);
}

.huzoku-actress-toolbar {
	margin-bottom: 1.5rem;
	background: var(--huzoku-bg-card);
	border: 1px solid var(--huzoku-border-light);
	border-radius: 10px;
	overflow: hidden;
}

.huzoku-actress-toolbar-inner {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: 1rem 1.5rem;
	padding: 1rem;
}

.huzoku-actress-sort {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem;
}

.huzoku-actress-jump {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem;
	flex: 1;
	min-width: 0;
}

.huzoku-actress-jump-links {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.35rem;
}

.huzoku-actress-sort-label,
.huzoku-actress-jump-label {
	font-size: 0.85rem;
	font-weight: 700;
	color: var(--huzoku-text-muted);
	margin-right: 0.25rem;
}

.huzoku-actress-sort-btn {
	padding: 0.4rem 0.75rem;
	font-size: 0.85rem;
	font-weight: 600;
	border-radius: 6px;
	border: 1px solid var(--huzoku-border);
	background: #fff;
	color: var(--huzoku-text);
	cursor: pointer;
	transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.huzoku-actress-sort-btn:hover {
	background: var(--huzoku-bg);
	border-color: var(--huzoku-accent);
	color: var(--huzoku-accent-dark);
}

.huzoku-actress-sort-btn.is-active {
	background: var(--huzoku-accent);
	border-color: var(--huzoku-accent);
	color: #fff;
}

.huzoku-actress-jump-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 2em;
	padding: 0.35em 0.5em;
	background: var(--huzoku-bg);
	color: var(--huzoku-text);
	text-decoration: none;
	border-radius: 6px;
	border: 1px solid var(--huzoku-border-light);
	font-weight: 700;
	font-size: 0.9em;
	transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.huzoku-actress-jump-link:hover {
	background: var(--huzoku-accent);
	color: #fff;
	border-color: var(--huzoku-accent);
}

.huzoku-actress-sections {
	display: flex;
	flex-direction: column;
	gap: 0;
}

.huzoku-actress-sections.huzoku-actress-reverse {
	flex-direction: column-reverse;
}

.huzoku-actress-list-page .huzoku-letter-section {
	scroll-margin-top: 1.5rem;
	margin: 0 0 2rem;
	padding: 0;
}

.huzoku-actress-list-page .huzoku-letter-section:last-child {
	margin-bottom: 0;
}

.huzoku-actress-list-page .huzoku-letter-title {
	font-size: 1.1rem;
	font-weight: 700;
	color: var(--huzoku-text);
	margin: 0 0 0.75rem;
	padding-bottom: 0.35rem;
	border-bottom: 2px solid var(--huzoku-accent);
}

/* 女優一覧ページ：カードを横並び（flex wrap）・写真上・名前下 */
.huzoku-actress-list-page .huzoku-actress-list {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
	margin: 0;
}

.huzoku-actress-list-page .huzoku-actress-list li {
	width: auto;
	flex: 0 0 auto;
}

.huzoku-actress-list-page .huzoku-actress-item {
	margin: 0;
}

.huzoku-actress-list-page .huzoku-actress-card {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	width: 140px;
	padding: 0;
	gap: 0;
	border-radius: 10px;
	overflow: hidden;
}

.huzoku-actress-list-page .huzoku-actress-list li:nth-child(even) .huzoku-actress-card {
	background: var(--huzoku-bg-card);
}

.huzoku-actress-list-page .huzoku-actress-thumb-wrap {
	width: 100%;
	height: auto;
	min-width: 0;
	min-height: 0;
	max-width: none;
	max-height: none;
	aspect-ratio: 3 / 4;
	border-radius: 0;
}

.huzoku-actress-list-page .huzoku-actress-thumb-wrap--noimg {
	background: var(--huzoku-border-light);
	display: flex;
	align-items: center;
	justify-content: center;
}

.huzoku-actress-list-page .huzoku-actress-noimg {
	font-size: 0.7rem;
	color: var(--huzoku-text-muted);
}

.huzoku-actress-list-page .huzoku-actress-thumb img {
	aspect-ratio: 3 / 4;
	object-fit: cover;
}

.huzoku-actress-list-page .huzoku-actress-body {
	padding: 0.5rem 0.6rem 0.6rem;
	flex: 0 0 auto;
}

.huzoku-actress-list-page .huzoku-actress-name {
	font-size: 0.85rem;
	line-height: 1.35;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.huzoku-actress-list-page .huzoku-actress-body .huzoku-update-time {
	font-size: 0.75rem;
	margin-top: 0.2rem;
}

.huzoku-actress-list-page .huzoku-tags {
	margin-top: 0.2rem;
}

.huzoku-actress-list-page .huzoku-tag {
	font-size: 0.65rem;
	padding: 2px 6px;
}

/* スマホ：2列グリッドで中央ずれを防ぐ */
@media (max-width: 640px) {
	.huzoku-actress-list-page .huzoku-actress-list {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 0.75rem;
		justify-content: center;
	}
	.huzoku-actress-list-page .huzoku-actress-list li {
		width: 100%;
		min-width: 0;
	}
	.huzoku-actress-list-page .huzoku-actress-card {
		width: 100%;
		max-width: none;
	}
}

@media (min-width: 641px) {
	.huzoku-actress-list-page .huzoku-actress-card {
		width: 160px;
	}
}

@media (min-width: 960px) {
	.huzoku-actress-list-page .huzoku-actress-card {
		width: 170px;
	}
}

/* エリア別女優ページ（パンくず・カードグリッド） */
/* 都道府県単体ページ（/prefecture-list/tokyo/ など） */
.huzoku-prefecture-single .huzoku-breadcrumb {
	font-size: 0.9rem;
	margin: 0 0 1rem;
}

.huzoku-prefecture-single .huzoku-breadcrumb a {
	color: var(--huzoku-link);
	text-decoration: none;
}

.huzoku-prefecture-single .huzoku-breadcrumb a:hover {
	text-decoration: underline;
}

.huzoku-prefecture-single .huzoku-prefecture-single-title {
	font-size: clamp(1.25rem, 3vw, 1.6rem);
	font-weight: 700;
	margin: 0 0 1.25rem;
}

.huzoku-area-actress .huzoku-breadcrumb {
	font-size: 0.9rem;
	margin: 0 0 1rem;
	color: var(--huzoku-text-muted);
}

.huzoku-area-actress .huzoku-breadcrumb a {
	color: var(--huzoku-link);
	text-decoration: none;
}

.huzoku-area-actress .huzoku-breadcrumb a:hover {
	text-decoration: underline;
}

.huzoku-area-actress .huzoku-breadcrumb-sep {
	margin: 0 0.35rem;
}

.huzoku-area-actress .huzoku-area-actress-title {
	font-size: clamp(1.25rem, 3vw, 1.6rem);
	font-weight: 700;
	margin: 0 0 1.25rem;
}

.huzoku-area-actress .huzoku-area-actress-list {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
	list-style: none;
	padding: 0;
	margin: 0;
}

.huzoku-area-actress .huzoku-area-actress-list li {
	width: auto;
	flex: 0 0 auto;
	margin: 0;
}

/* ジャンル（タグ）ページ */
.huzoku-tag-page .huzoku-tag-title {
	font-size: clamp(1.25rem, 3vw, 1.6rem);
	font-weight: 700;
	margin: 0 0 0.75rem;
}

.huzoku-tag-page .huzoku-tag-desc {
	margin: 0 0 1.25rem;
	color: var(--huzoku-text-muted);
}

.huzoku-tag-page .huzoku-tag-links {
	list-style: none;
	padding-left: 0;
	margin: 0;
}

.huzoku-tag-page .huzoku-tag-links li {
	margin: 0.5rem 0;
}

.huzoku-tag-page .huzoku-tag-links a {
	color: var(--huzoku-accent);
	text-decoration: none;
	font-weight: 500;
}

.huzoku-tag-page .huzoku-tag-links a:hover {
	text-decoration: underline;
}

.huzoku-area-actress .huzoku-area-actress-list .huzoku-actress-card {
	display: flex;
	flex-direction: column;
	width: 140px;
	min-height: 0;
	text-decoration: none;
	color: inherit;
	border-radius: 8px;
	overflow: hidden;
	background: var(--huzoku-bg-card);
	border: 1px solid var(--huzoku-border-light);
	transition: box-shadow 0.2s ease, border-color 0.2s ease;
}

.huzoku-area-actress .huzoku-area-actress-list .huzoku-actress-card:hover {
	box-shadow: 0 4px 14px rgba(0, 0, 0, 0.1);
	border-color: var(--huzoku-border);
}

.huzoku-area-actress .huzoku-area-actress-list .huzoku-actress-thumb-wrap {
	width: 100%;
	height: auto;
	aspect-ratio: 3 / 4;
	overflow: hidden;
	background: var(--huzoku-border-light);
}

.huzoku-area-actress .huzoku-area-actress-list .huzoku-actress-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.huzoku-area-actress .huzoku-area-actress-list .huzoku-actress-body {
	padding: 0.5rem 0.6rem 0.6rem;
}

.huzoku-area-actress .huzoku-area-actress-list .huzoku-actress-name {
	font-size: 0.85rem;
	font-weight: 700;
	line-height: 1.35;
}

@media (min-width: 640px) {
	.huzoku-area-actress .huzoku-area-actress-list .huzoku-actress-card {
		width: 160px;
	}
}

@media (min-width: 960px) {
	.huzoku-area-actress .huzoku-area-actress-list .huzoku-actress-card {
		width: 170px;
	}
}

.huzoku-area-list {
	list-style: none;
	padding: 0;
	margin: 0.5em 0;
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}

.huzoku-area-list li {
	display: inline-block;
	margin: 0;
}

/* ==========================================================================
   五十音ジャンプ・エリアタグ
   ========================================================================== */
.huzoku-letter-section {
	margin: 2em 0;
}

.huzoku-letters {
	margin: 1em 0;
	display: flex;
	flex-wrap: wrap;
	gap: 0.5em;
}

.huzoku-letters a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 2em;
	padding: 0.35em 0.6em;
	background: var(--huzoku-bg-card);
	color: var(--huzoku-text);
	text-decoration: none;
	border-radius: 6px;
	border: 1px solid var(--huzoku-border);
	font-weight: 700;
	font-size: 0.9em;
	transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.huzoku-letters a:hover {
	background: var(--huzoku-accent);
	color: #fff;
	border-color: var(--huzoku-accent);
}

.huzoku-prefecture-section {
	margin: 2em 0;
}

.huzoku-area-list a {
	display: inline-flex;
	align-items: center;
	gap: 0.35em;
	padding: 0.4em 0.75em;
	background: var(--huzoku-bg-card);
	color: var(--huzoku-text);
	text-decoration: none;
	border-radius: 6px;
	border: 1px solid var(--huzoku-border-light);
	font-size: 0.9em;
	transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.huzoku-area-list a::before {
	font-family: 'Font Awesome 6 Free';
	font-weight: 900;
	content: '\f3c5';
	color: var(--huzoku-accent);
	font-size: 0.9em;
	opacity: 0.9;
}

.huzoku-area-list a:hover {
	background: #fff;
	border-color: var(--huzoku-accent);
	color: var(--huzoku-accent-dark);
}

/* ==========================================================================
   下部誘導（ライト・風俗じゃぱん風）
   ========================================================================== */
.huzoku-bottom-cta {
	padding: 2rem 1rem 2.5rem;
	margin-top: 2rem;
	border-top: 1px solid var(--huzoku-border-light);
	background: #f0f0f0;
	text-align: center;
}

.huzoku-bottom-cta-title {
	font-size: 1rem;
	font-weight: 700;
	color: var(--huzoku-text-muted);
	margin: 0 0 1.25rem;
	letter-spacing: 0.05em;
}

.huzoku-bottom-buttons {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.6rem 0.75rem;
	margin-bottom: 1.5rem;
}

.huzoku-bottom-btn {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	padding: 0.5rem 1rem;
	background: #fff;
	color: var(--huzoku-accent);
	text-decoration: none;
	border-radius: 6px;
	border: 1px solid var(--huzoku-accent);
	font-size: 0.85rem;
	font-weight: 600;
	transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.huzoku-bottom-btn i {
	font-size: 0.9em;
	opacity: 0.9;
}

.huzoku-bottom-btn:hover {
	background: var(--huzoku-accent);
	color: #fff;
	transform: translateY(-1px);
}

.huzoku-bottom-btn:active {
	transform: translateY(0);
}

.huzoku-sitemap-wrap {
	margin: 0;
	font-size: 0.85rem;
}

.huzoku-sitemap-link {
	color: var(--huzoku-text-muted);
	text-decoration: none;
	transition: color 0.2s ease;
}

.huzoku-sitemap-link:hover {
	color: var(--huzoku-accent-dark);
}

.huzoku-sitemap-link:active {
	color: var(--huzoku-accent);
}

/* ==========================================================================
   女優個別ページ（single actress）デザイン刷新
   ========================================================================== */
.huzoku-actress-main {
	background: var(--huzoku-bg);
	min-height: 50vh;
}

.huzoku-actress-content {
	margin: 0;
	padding: 0;
}

/* スクレイプ元の main はそのまま流す */
.huzoku-actress-content > main {
	margin: 0;
	padding: 0;
	max-width: 100%;
	background: transparent;
}

/* 記事上ウィジェット（無料トライアル等）はコンパクトに */
.huzoku-actress-content .widget_text.widget-above-single-content-title,
.huzoku-actress-content .tab-welcome {
	margin-bottom: 1.25rem;
	padding: 1rem;
	background: var(--huzoku-bg-card);
	border-radius: 10px;
	border: 1px solid var(--huzoku-border-light);
}

/* 記事本体カード */
.huzoku-actress-content .article {
	background: var(--huzoku-bg-card);
	border-radius: 12px;
	border: 1px solid var(--huzoku-border-light);
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.05);
	padding: 1.5rem 1.25rem 2rem;
	margin: 0 0 2rem;
}

/* 記事ヘッダー（タイトル・日付） */
.huzoku-actress-content .article-header.entry-header {
	margin: 0 0 1.5rem;
	padding-bottom: 1.25rem;
	border-bottom: 1px solid var(--huzoku-border-light);
}

.huzoku-actress-content .entry-title {
	font-family: var(--huzoku-font-title);
	font-size: clamp(1.25rem, 3vw, 1.6rem);
	font-weight: 700;
	color: var(--huzoku-text);
	margin: 0 0 0.5rem;
	line-height: 1.35;
}

.huzoku-actress-content .date-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem 1rem;
	font-size: 0.85rem;
	color: var(--huzoku-text-muted);
}

.huzoku-actress-content .date-tags .post-date,
.huzoku-actress-content .date-tags .post-update {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
}

/* 本文エリア */
.huzoku-actress-content .entry-content {
	margin: 0;
	padding: 0;
}

.huzoku-actress-content .entry-content h2 {
	font-family: var(--huzoku-font-title);
	font-size: 1.15rem;
	font-weight: 700;
	color: var(--huzoku-text);
	margin: 2rem 0 0.75rem;
	padding: 0 0 0.35rem;
	border-bottom: 2px solid var(--huzoku-accent);
}

.huzoku-actress-content .entry-content h2:first-child {
	margin-top: 0;
}

.huzoku-actress-content .entry-content h3 {
	font-size: 1rem;
	font-weight: 700;
	color: var(--huzoku-text-muted);
	margin: 1.25rem 0 0.5rem;
}

/* プロフィール（bio） */
.huzoku-actress-content .bio-content {
	display: flex;
	flex-wrap: wrap;
	gap: 1.25rem;
	align-items: flex-start;
	margin: 0.5rem 0 1rem;
}

.huzoku-actress-content .bio-left-column {
	flex-shrink: 0;
}

.huzoku-actress-content .bio-left-column img {
	width: 125px;
	height: 125px;
	object-fit: cover;
	border-radius: 10px;
	border: 1px solid var(--huzoku-border-light);
}

.huzoku-actress-content .bio-right-column {
	flex: 1;
	min-width: 0;
}

/* スマホ：プロフィールを縦並びにして崩れ防止 */
@media (max-width: 640px) {
	.huzoku-actress-content .bio-content {
		flex-direction: column;
		align-items: stretch;
		gap: 1rem;
	}
	.huzoku-actress-content .bio-left-column {
		text-align: center;
	}
	.huzoku-actress-content .bio-left-column img {
		width: 140px;
		height: 140px;
		margin: 0 auto;
	}
	.huzoku-actress-content .bio-right-column {
		min-width: 0;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}
	.huzoku-actress-content .bio-right-column .retail-table {
		table-layout: fixed;
		width: 100%;
	}
	.huzoku-actress-content .bio-right-column .retail-table th {
		width: 32%;
		min-width: 0;
		padding: 0.4rem 0.5rem 0.4rem 0;
		font-size: 0.875rem;
	}
	.huzoku-actress-content .bio-right-column .retail-table td {
		word-break: break-word;
		overflow-wrap: break-word;
		padding: 0.4rem 0.5rem 0.4rem 0;
		font-size: 0.875rem;
	}
}

/* プロフィール・店舗テーブル共通 */
.huzoku-actress-content .retail-table,
.huzoku-actress-content .shop-info {
	width: 100%;
	border-collapse: collapse;
	font-size: 0.9rem;
}

.huzoku-actress-content .retail-table th,
.huzoku-actress-content .shop-info th {
	text-align: left;
	padding: 0.5rem 0.75rem 0.5rem 0;
	color: var(--huzoku-text-muted);
	font-weight: 600;
	width: 30%;
	min-width: 5em;
	border-bottom: 1px solid var(--huzoku-border-light);
}

.huzoku-actress-content .retail-table td,
.huzoku-actress-content .shop-info td {
	padding: 0.5rem 0.75rem 0.5rem 0;
	border-bottom: 1px solid var(--huzoku-border-light);
	color: var(--huzoku-text);
}

/* shop-question: スマホファーストでQ&Aを見やすく（1行＝1カード） */
.huzoku-actress-content .shop-question {
	width: 100%;
	border-collapse: collapse;
	font-size: 1rem;
	display: block;
	margin: 0.5rem 0 1rem;
}

.huzoku-actress-content .shop-question thead {
	display: none;
}

.huzoku-actress-content .shop-question tbody {
	display: block;
}

.huzoku-actress-content .shop-question tr {
	display: block;
	margin-bottom: 0.75rem;
	padding: 1rem 1.1rem;
	background: var(--huzoku-bg-card, #fff);
	border: 1px solid var(--huzoku-border-light);
	border-radius: 10px;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}

.huzoku-actress-content .shop-question tr:last-child {
	margin-bottom: 0;
}

.huzoku-actress-content .shop-question th {
	display: block;
	text-align: left;
	padding: 0 0 0.5rem;
	margin-bottom: 0.35rem;
	border-bottom: none;
	width: 100%;
	min-width: 0;
	font-size: 0.875rem;
	font-weight: 700;
	color: var(--huzoku-text);
	line-height: 1.4;
	border-bottom: 1px dashed var(--huzoku-border-light);
	padding-bottom: 0.5rem;
}

.huzoku-actress-content .shop-question td {
	display: block;
	padding: 0;
	border-bottom: none;
	color: var(--huzoku-text);
	font-size: 0.9375rem;
	line-height: 1.65;
	letter-spacing: 0.01em;
}

.huzoku-actress-content .shop-info a,
.huzoku-actress-content .retail-table a,
.huzoku-actress-content .shop-question a {
	color: var(--huzoku-link);
	text-decoration: none;
}

.huzoku-actress-content .shop-info a:hover,
.huzoku-actress-content .retail-table a:hover,
.huzoku-actress-content .shop-question a:hover {
	text-decoration: underline;
}

/* 他サイト出演作品（カード型） */
.huzoku-related-works {
	margin-top: 2rem;
	padding-top: 1.5rem;
	border-top: 1px solid var(--huzoku-border-light);
}

.huzoku-related-works-site {
	margin-bottom: 2rem;
}

.huzoku-related-works-site:last-child {
	margin-bottom: 0;
}

.huzoku-related-works-site-title {
	font-size: 1.1rem;
	margin: 0 0 0.75rem;
	font-weight: 700;
}

.huzoku-related-works-site-title a {
	color: var(--huzoku-link);
	text-decoration: none;
}

.huzoku-related-works-site-title a:hover {
	text-decoration: underline;
}

.huzoku-related-works-list {
	list-style: none;
	padding: 0;
	margin: 0;
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
	gap: 0.75rem;
}

.huzoku-related-works-card-wrap {
	margin: 0;
}

.huzoku-related-works-card {
	display: block;
	padding: 0.75rem 1rem;
	background: var(--huzoku-bg-card, #fff);
	border: 1px solid var(--huzoku-border-light);
	border-radius: 8px;
	text-decoration: none;
	color: var(--huzoku-text);
	transition: box-shadow 0.2s ease, border-color 0.2s ease;
}

.huzoku-related-works-card:hover {
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
	border-color: var(--huzoku-border);
}

.huzoku-related-works-card-title {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	font-size: 0.9rem;
	line-height: 1.45;
	overflow: hidden;
	text-overflow: ellipsis;
}

.huzoku-related-works-card-date {
	display: block;
	font-size: 0.8rem;
	color: var(--huzoku-text-muted);
	margin-top: 0.35rem;
}

.huzoku-related-works-empty {
	margin: 0;
	font-size: 0.9rem;
	color: var(--huzoku-text-muted);
}

.huzoku-actress-content .hutoaka {
	color: var(--huzoku-accent);
	font-weight: 700;
}

/* 出勤情報ボックス */
.huzoku-actress-content .schedule-container {
	margin: 0.5rem 0 1rem;
	padding: 1rem;
	background: rgba(0, 0, 0, 0.03);
	border-radius: 8px;
	border: 1px solid var(--huzoku-border-light);
	font-size: 0.95rem;
	color: var(--huzoku-text-muted);
}

/* 厳選エロ動画・動画一覧 */
.huzoku-actress-content .video-item ul,
.huzoku-actress-content .video-index ul {
	list-style: none;
	padding: 0;
	margin: 0.75rem 0 0;
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
	gap: 1rem;
}

.huzoku-actress-content .video-item li,
.huzoku-actress-content .video-index li {
	margin: 0;
}

.huzoku-actress-content .video-item a,
.huzoku-actress-content .video-index a {
	display: block;
	text-decoration: none;
	color: inherit;
	border-radius: 8px;
	overflow: hidden;
	background: var(--huzoku-bg);
	border: 1px solid var(--huzoku-border-light);
	transition: box-shadow 0.2s ease, border-color 0.2s ease;
}

.huzoku-actress-content .video-item a:hover,
.huzoku-actress-content .video-index a:hover {
	box-shadow: 0 4px 14px rgba(0, 0, 0, 0.1);
	border-color: var(--huzoku-border);
}

.huzoku-actress-content .custom-image-container202,
.huzoku-actress-content .video-item .custom-image-container202 img,
.huzoku-actress-content .video-index .comp img {
	width: 100%;
	aspect-ratio: 16 / 10;
	object-fit: cover;
	display: block;
}

.huzoku-actress-content .custom-image-container202 {
	position: relative;
	overflow: hidden;
	background: var(--huzoku-border-light);
}

/* 再生アイコンはサムネ用コンテナ内のみ（ここに限定しないと position:absolute; inset:0 が祖先全体に広がる） */
.huzoku-actress-content .app-video-poster {
	position: relative;
	overflow: hidden;
}

.huzoku-actress-content .custom-image-container202 .video-play-icon,
.huzoku-actress-content .app-video-poster .video-play-icon {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(0, 0, 0, 0.25);
	color: #fff;
	font-size: 2.5rem;
	opacity: 0.9;
}

.huzoku-actress-content .custom-tags-overlay {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	padding: 0.35rem 0.5rem;
	display: flex;
	flex-wrap: wrap;
	gap: 0.25rem;
}

.huzoku-actress-content .custom-tag-item {
	background: var(--huzoku-accent);
	color: #fff;
	font-size: 0.7rem;
	padding: 2px 6px;
	border-radius: 4px;
	font-weight: 600;
}

.huzoku-actress-content .video-item .desc,
.huzoku-actress-content .video-index .desc {
	padding: 0.5rem 0.6rem;
	font-size: 0.8rem;
	line-height: 1.4;
	color: var(--huzoku-text);
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

/* 吹き出し（風俗店紹介） */
.huzoku-actress-content .speech-wrap {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	align-items: flex-start;
	margin: 1rem 0;
	padding: 1rem;
	background: rgba(232, 93, 117, 0.06);
	border-radius: 10px;
	border: 1px solid rgba(232, 93, 117, 0.2);
}

.huzoku-actress-content .speech-person .speech-icon-image {
	width: 56px;
	height: 56px;
	object-fit: cover;
	border-radius: 50%;
	border: 2px solid var(--huzoku-border-light);
}

.huzoku-actress-content .speech-balloon {
	flex: 1;
	min-width: 0;
	font-size: 0.95rem;
	line-height: 1.55;
	color: var(--huzoku-text);
}

.huzoku-actress-content .speech-balloon .marker-under.bold {
	color: var(--huzoku-accent-dark);
	font-weight: 700;
}

/* 2カラム（店舗画像＋店舗情報）見やすく */
.huzoku-actress-content .column-wrap.column-2 {
	display: grid;
	grid-template-columns: minmax(200px, 1fr) minmax(260px, 1fr);
	gap: 2rem;
	margin: 1.5rem 0;
	align-items: start;
	padding: 1.25rem;
	background: var(--huzoku-bg);
	border-radius: 12px;
	border: 1px solid var(--huzoku-border-light);
}

@media (max-width: 640px) {
	.huzoku-actress-content .column-wrap.column-2 {
		grid-template-columns: 1fr;
		gap: 1.25rem;
		padding: 1rem;
	}
}

.huzoku-actress-content .column-wrap.column-2 .column-left {
	min-width: 0;
}
.huzoku-actress-content .column-wrap.column-2 .column-right {
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}

/* 左カラム：女優画像カルーセル（.slideshow-container / .slideshow 構造） */
.huzoku-actress-content .column-wrap.column-2 .column-left .img-slider {
	position: relative;
	border-radius: 10px;
	overflow: hidden;
	border: 1px solid var(--huzoku-border-light);
}
.huzoku-actress-content .column-left .img-slider img {
	width: 100%;
	height: auto;
	border-radius: 10px;
	border: 1px solid var(--huzoku-border-light);
	display: block;
}

/* カルーセル本体：.slideshow-container > .slideshow に複数 img */
.huzoku-actress-content .column-wrap.column-2 .column-left .img-slider .slideshow-container {
	position: relative;
	width: 100%;
}
.huzoku-actress-content .column-wrap.column-2 .column-left .img-slider .slideshow {
	display: flex;
	flex-wrap: nowrap;
	overflow-x: auto;
	overflow-y: hidden;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	-webkit-overflow-scrolling: touch;
	gap: 0;
	margin: 0;
	padding: 0;
	width: 100%;
}
.huzoku-actress-content .column-wrap.column-2 .column-left .img-slider .slideshow img {
	flex: 0 0 100%;
	width: 100%;
	min-width: 0;
	scroll-snap-align: start;
	scroll-snap-stop: always;
	object-fit: contain;
	border: none;
	border-radius: 0;
}
/* prev/next ボタン */
.huzoku-actress-content .column-wrap.column-2 .column-left .img-slider .slideshow-container > p {
	display: flex;
	justify-content: center;
	gap: 1rem;
	margin: 0.75rem 0 0;
	padding: 0;
}
.huzoku-actress-content .column-wrap.column-2 .column-left .img-slider .slide-prev,
.huzoku-actress-content .column-wrap.column-2 .column-left .img-slider .slide-next {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: var(--huzoku-text-muted);
	font-size: 1.5rem;
	transition: color 0.2s ease, transform 0.2s ease;
	cursor: pointer;
	text-decoration: none;
}
.huzoku-actress-content .column-wrap.column-2 .column-left .img-slider .slide-prev:hover,
.huzoku-actress-content .column-wrap.column-2 .column-left .img-slider .slide-next:hover {
	color: var(--huzoku-accent-dark, #c71585);
}
.huzoku-actress-content .column-wrap.column-2 .column-left .img-slider .slide-prev:active,
.huzoku-actress-content .column-wrap.column-2 .column-left .img-slider .slide-next:active {
	transform: scale(0.95);
}
.huzoku-actress-content .column-wrap.column-2 .column-left .img-slider .slideshow::-webkit-scrollbar {
	height: 6px;
}
.huzoku-actress-content .column-wrap.column-2 .column-left .img-slider .slideshow::-webkit-scrollbar-track {
	background: var(--huzoku-border-light);
	border-radius: 3px;
}
.huzoku-actress-content .column-wrap.column-2 .column-left .img-slider .slideshow::-webkit-scrollbar-thumb {
	background: var(--huzoku-text-muted);
	border-radius: 3px;
}

/* 従来構造（.slides / .metaslider）もカルーセル表示 */
.huzoku-actress-content .column-wrap.column-2 .column-left .img-slider .slides,
.huzoku-actress-content .column-wrap.column-2 .column-left .img-slider .metaslider,
.huzoku-actress-content .column-wrap.column-2 .column-left .img-slider [id^="metaslider"] {
	display: flex;
	flex-wrap: nowrap;
	overflow-x: auto;
	overflow-y: hidden;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	-webkit-overflow-scrolling: touch;
	gap: 0;
	margin: 0;
	padding: 0;
	list-style: none;
	width: 100%;
	max-width: 100%;
}
.huzoku-actress-content .column-wrap.column-2 .column-left .img-slider .slides li,
.huzoku-actress-content .column-wrap.column-2 .column-left .img-slider .metaslider .slide,
.huzoku-actress-content .column-wrap.column-2 .column-left .img-slider [id^="metaslider"] .slide {
	flex: 0 0 100%;
	min-width: 0;
	scroll-snap-align: start;
	scroll-snap-stop: always;
	display: block;
	margin: 0;
	padding: 0;
}
.huzoku-actress-content .column-wrap.column-2 .column-left .img-slider .slides li img,
.huzoku-actress-content .column-wrap.column-2 .column-left .img-slider .metaslider .slide img,
.huzoku-actress-content .column-wrap.column-2 .column-left .img-slider [id^="metaslider"] .slide img {
	border-radius: 0;
	border: none;
}
.huzoku-actress-content .column-wrap.column-2 .column-left .img-slider .slides::-webkit-scrollbar,
.huzoku-actress-content .column-wrap.column-2 .column-left .img-slider .metaslider::-webkit-scrollbar {
	height: 6px;
}
.huzoku-actress-content .column-wrap.column-2 .column-left .img-slider .slides::-webkit-scrollbar-track,
.huzoku-actress-content .column-wrap.column-2 .column-left .img-slider .metaslider::-webkit-scrollbar-track {
	background: var(--huzoku-border-light);
	border-radius: 3px;
}
.huzoku-actress-content .column-wrap.column-2 .column-left .img-slider .slides::-webkit-scrollbar-thumb,
.huzoku-actress-content .column-wrap.column-2 .column-left .img-slider .metaslider::-webkit-scrollbar-thumb {
	background: var(--huzoku-text-muted);
	border-radius: 3px;
}

/* 右カラムの店舗テーブルを読みやすく */
.huzoku-actress-content .column-wrap.column-2 .column-right .shop-info {
	font-size: 0.9375rem;
}
.huzoku-actress-content .column-wrap.column-2 .column-right .shop-info th {
	padding: 0.5rem 0.75rem 0.5rem 0;
	white-space: nowrap;
}
.huzoku-actress-content .column-wrap.column-2 .column-right .shop-info td {
	padding: 0.5rem 0.75rem 0.5rem 0;
	line-height: 1.5;
}

/* スクレイプされた Meta Slider：column-2 以外は JS がないため最初の1枚だけ表示 */
.huzoku-actress-content .img-slider .metaslider,
.huzoku-actress-content .img-slider [id^="metaslider"],
.huzoku-actress-content .img-slider .slides {
	width: 100% !important;
	max-width: 100%;
	box-sizing: border-box;
}
.huzoku-actress-content .img-slider .slides {
	display: block;
	margin: 0;
	padding: 0;
	list-style: none;
}
.huzoku-actress-content .img-slider .slides li {
	display: none;
	margin: 0;
	padding: 0;
}
.huzoku-actress-content .img-slider .slides li:first-child {
	display: block;
}
/* column-wrap.column-2 内は上記をカルーセルで上書き（上で定義済み） */

/* 出演AVセクション（video-index-frame） */
.huzoku-actress-content .video-index-frame {
	margin: 1rem 0 0;
}

.huzoku-actress-content .video-index-frame .vs-site {
	margin: 0.5rem 0 0.75rem;
	font-size: 0;
	line-height: 0;
}

.huzoku-actress-content .video-index-frame .vs-site img {
	max-height: 28px;
	width: auto;
}

.huzoku-actress-content .video-index-frame .vs-genre {
	font-size: 0.95rem;
	font-weight: 700;
	color: var(--huzoku-text-muted);
	margin: 0.5rem 0 0.25rem;
}

.huzoku-actress-content .video-index .comp {
	position: relative;
	overflow: hidden;
	background: var(--huzoku-border-light);
}

.huzoku-actress-content .video-index .comp img {
	aspect-ratio: 3 / 4;
}

/* 記事フッター（SNS・著者）は控えめに */
.huzoku-actress-content .article-footer {
	margin-top: 2rem;
	padding-top: 1.25rem;
	border-top: 1px solid var(--huzoku-border-light);
	font-size: 0.85rem;
	color: var(--huzoku-text-muted);
}

.huzoku-actress-content .entry-categories-tags {
	margin: 0.75rem 0 0;
}

.huzoku-actress-content .sns-share {
	margin: 0.5rem 0;
}

/* 本サイトでは記事中に広告…ラベル */
.huzoku-actress-content .pr-label {
	display: inline-block;
	margin-bottom: 0.5rem;
	font-size: 0.75rem;
	color: var(--huzoku-text-muted);
}

/* ==========================================================================
   404 ページ（可愛く表示）
   ========================================================================== */
.huzoku-404-wrap {
	min-height: 70vh;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 3rem 1rem;
}

.huzoku-404 {
	max-width: 420px;
	text-align: center;
	padding: 2.5rem 2rem;
	background: var(--huzoku-bg-card);
	border-radius: 16px;
	border: 1px solid var(--huzoku-border-light);
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06);
}

.huzoku-404-icon {
	font-size: 3rem;
	color: var(--huzoku-accent);
	opacity: 0.9;
	margin-bottom: 0.5rem;
	line-height: 1;
}

.huzoku-404-code {
	font-size: 2.5rem;
	font-weight: 800;
	color: var(--huzoku-text-muted);
	letter-spacing: 0.05em;
	margin: 0 0 0.5rem;
}

.huzoku-404-title {
	font-size: 1.15rem;
	font-weight: 700;
	color: var(--huzoku-text);
	margin: 0 0 1rem;
	line-height: 1.5;
}

.huzoku-404-desc {
	font-size: 0.9rem;
	color: var(--huzoku-text-muted);
	line-height: 1.7;
	margin: 0 0 1.75rem;
}

.huzoku-404-buttons {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.75rem;
}

.huzoku-404-btn {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	padding: 0.6rem 1.25rem;
	border-radius: 999px;
	font-size: 0.9rem;
	font-weight: 600;
	text-decoration: none;
	transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.huzoku-404-btn--primary {
	background: var(--huzoku-accent);
	color: #fff;
	box-shadow: 0 2px 8px rgba(232, 93, 117, 0.35);
}

.huzoku-404-btn--primary:hover {
	background: var(--huzoku-accent-dark);
	color: #fff;
	transform: translateY(-2px);
}

.huzoku-404-btn--secondary {
	background: #fff;
	color: var(--huzoku-accent);
	border: 1px solid var(--huzoku-accent);
}

.huzoku-404-btn--secondary:hover {
	background: rgba(232, 93, 117, 0.08);
	color: var(--huzoku-accent-dark);
	transform: translateY(-2px);
}

/* ==========================================================================
   空データ・その他
   ========================================================================== */
.huzoku-data-empty {
	color: var(--huzoku-text-muted);
	font-size: 0.95em;
}

body.huzoku-theme .main.huzoku-page .huzoku-inner h1,
body.huzoku-theme .main.huzoku-page .huzoku-inner h2 {
	color: inherit;
}

.screen-reader-text {
	clip: rect(1px, 1px, 1px, 1px);
	position: absolute;
	height: 1px;
	width: 1px;
	overflow: hidden;
}

/* ==========================================================================
   女優個別ページ：風俗サイト鉄板スタイル（薄ピンク・丸ゴシック・ハート）
   ========================================================================== */
body.huzoku-actress-immersive {
	--huzoku-pink-bg: #fff0f8;
	--huzoku-pink: #ff69b4;
	--huzoku-deep-pink: #ff1493;
	--huzoku-pink-light: #ffe4f0;
	background: var(--huzoku-pink-bg);
	color: #333;
	font-family: 'Hiragino Maru Gothic ProN', 'ヒラギノ丸ゴ ProN', 'Yu Gothic', '游ゴシック', sans-serif;
}

body.huzoku-actress-immersive .huzoku-actress-immersive-wrap {
	min-height: 100vh;
}

/* コンテンツ全体：丸ゴシック */
body.huzoku-actress-immersive .huzoku-actress-content,
body.huzoku-actress-immersive .huzoku-actress-content .article,
body.huzoku-actress-immersive .huzoku-actress-content .entry-content {
	font-family: 'Hiragino Maru Gothic ProN', 'ヒラギノ丸ゴ ProN', 'Yu Gothic', '游ゴシック', sans-serif;
}

/* 2カラムレイアウト：左＝プロフィール＋出勤、右＝厳選動画＋在籍店＋AV */
body.huzoku-actress-immersive .huzoku-actress-content.huzoku-actress-two-col {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 2rem;
	align-items: start;
	max-width: 100%;
}
body.huzoku-actress-immersive .huzoku-actress-col {
	min-width: 0;
}
body.huzoku-actress-immersive .huzoku-actress-col-left {
	position: sticky;
	top: 1rem;
}
@media (max-width: 900px) {
	body.huzoku-actress-immersive .huzoku-actress-content.huzoku-actress-two-col {
		grid-template-columns: 1fr;
		gap: 1.5rem;
	}
	body.huzoku-actress-immersive .huzoku-actress-col-left {
		position: static;
	}
}

/* h1：白文字＋ピンク→ディープピンクグラデ・影・ハート ::before/::after */
body.huzoku-actress-immersive .huzoku-actress-hero-title {
	position: relative;
	display: inline-block;
	margin: 0;
	padding: 0.6em 1.2em 0.6em 1.8em;
	font-size: clamp(1.75rem, 5vw, 2.75rem);
	font-weight: 900;
	color: #fff;
	font-family: 'Hiragino Maru Gothic ProN', 'ヒラギノ丸ゴ ProN', 'Yu Gothic', sans-serif;
	text-shadow: 0 2px 4px rgba(0,0,0,0.3), 0 0 20px rgba(232, 93, 117, 0.4);
	background: linear-gradient(135deg, var(--huzoku-pink) 0%, var(--huzoku-deep-pink) 100%);
	border-radius: 16px;
	box-shadow: 0 4px 20px rgba(201, 77, 99, 0.45), inset 0 1px 0 rgba(255,255,255,0.2);
}
body.huzoku-actress-immersive .huzoku-actress-hero-title::before,
body.huzoku-actress-immersive .huzoku-actress-hero-title::after {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	font-size: 0.45em;
	color: rgba(255,255,255,0.9);
	text-shadow: 0 1px 2px rgba(0,0,0,0.2);
}
body.huzoku-actress-immersive .huzoku-actress-hero-title::before {
	content: '♥';
	left: 0.35em;
}
body.huzoku-actress-immersive .huzoku-actress-hero-title::after {
	content: '♥';
	right: 0.35em;
	left: auto;
}

/* ヒーロー（画像＋暗いオーバーレイで白文字を視認しやすく） */
.huzoku-actress-hero {
	position: relative;
	min-height: 42vh;
	max-height: 520px;
	display: flex;
	align-items: flex-end;
	--hero-overlay: #1a1a1e;
	background: var(--hero-overlay) var(--huzoku-hero-bg) center center / cover no-repeat;
}

.huzoku-actress-hero-overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, var(--hero-overlay) 0%, transparent 45%, rgba(0,0,0,0.4) 100%);
	pointer-events: none;
}

.huzoku-actress-hero-inner {
	position: relative;
	width: 100%;
	max-width: 960px;
	margin: 0 auto;
	padding: 2rem 1rem 2.5rem;
}

.huzoku-actress-hero-title {
	margin: 0;
	font-size: clamp(2rem, 6vw, 3.25rem);
	font-weight: 900;
	color: #fff;
	text-shadow: 0 2px 20px rgba(0,0,0,0.6);
	letter-spacing: 0.02em;
}

.huzoku-actress-hero-catch {
	margin: 0.35rem 0 0;
	font-size: clamp(0.9rem, 2.2vw, 1.1rem);
	color: #fff;
	font-weight: 700;
	text-shadow: 0 2px 8px rgba(0,0,0,0.4);
}
body.huzoku-actress-immersive .huzoku-actress-hero-catch {
	color: var(--huzoku-pink-light);
	text-shadow: 0 0 16px rgba(255,255,255,0.3);
}

/* 固定ナビ */
.huzoku-actress-nav {
	position: sticky;
	top: 0;
	z-index: 100;
	background: rgba(255, 240, 245, 0.95);
	backdrop-filter: blur(8px);
	border-bottom: 2px solid rgba(232, 93, 117, 0.4);
	box-shadow: 0 4px 20px rgba(232, 93, 117, 0.15);
}
body.huzoku-actress-immersive .huzoku-actress-nav-link {
	color: var(--huzoku-deep-pink);
}

.huzoku-actress-nav-inner {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.25rem;
	max-width: 960px;
	margin: 0 auto;
	padding: 0.6rem 1rem;
}

.huzoku-actress-nav-link {
	display: inline-block;
	padding: 0.5rem 1rem;
	font-size: 0.9rem;
	font-weight: 700;
	color: #c4c4c8;
	text-decoration: none;
	border-radius: 6px;
	transition: color 0.2s ease, background 0.2s ease, box-shadow 0.2s ease;
}

.huzoku-actress-nav-link:hover {
	color: #fff;
	background: rgba(232, 93, 117, 0.5);
	box-shadow: 0 0 16px rgba(232, 93, 117, 0.35);
}

/* メイン（薄ピンク背景） */
body.huzoku-actress-immersive .huzoku-actress-immersive-main {
	background: var(--huzoku-pink-bg);
}

body.huzoku-actress-immersive .huzoku-actress-inner {
	padding-top: 1.5rem;
}

body.huzoku-actress-immersive .huzoku-actress-content .article-header,
body.huzoku-actress-immersive .huzoku-actress-content .entry-header {
	display: none;
}

body.huzoku-actress-immersive .huzoku-actress-content .widget-above-single-content-title,
body.huzoku-actress-immersive .huzoku-actress-content .pr-label {
	display: none;
}

body.huzoku-actress-immersive .huzoku-actress-content {
	color: #333;
}

body.huzoku-actress-immersive .huzoku-actress-content .article {
	background: #fff;
	border: 1px solid rgba(232, 93, 117, 0.2);
	box-shadow: 0 2px 12px rgba(232, 93, 117, 0.08);
}

/* h2：左太ピンクボーダー・グラデ背景・ホバーで scale＋影・ハートふわふわ（任意） */
@keyframes huzoku-heart-float {
	0%, 100% { transform: translateY(0) scale(1); opacity: 0.6; }
	50% { transform: translateY(-4px) scale(1.1); opacity: 0.9; }
}

body.huzoku-actress-immersive .huzoku-actress-content h2 {
	position: relative;
	font-size: 1.25rem;
	font-weight: 700;
	color: #333;
	margin: 2rem 0 0.75rem;
	padding: 0.5rem 1rem 0.5rem 1.25rem;
	border-left: 6px solid var(--huzoku-pink);
	background: linear-gradient(90deg, var(--huzoku-pink-light) 0%, rgba(255,255,255,0.6) 100%);
	border-radius: 0 10px 10px 0;
	box-shadow: 0 2px 8px rgba(232, 93, 117, 0.15);
	transition: transform 0.25s ease, box-shadow 0.25s ease;
	scroll-margin-top: 4rem;
	font-family: 'Hiragino Maru Gothic ProN', 'ヒラギノ丸ゴ ProN', 'Yu Gothic', sans-serif;
}
body.huzoku-actress-immersive .huzoku-actress-content h2::after {
	content: ' ♡';
	position: absolute;
	right: 0.75rem;
	top: 50%;
	transform: translateY(-50%);
	font-size: 0.7em;
	color: var(--huzoku-pink);
	animation: huzoku-heart-float 2.5s ease-in-out infinite;
}
body.huzoku-actress-immersive .huzoku-actress-content h2:hover {
	transform: scale(1.03);
	box-shadow: 0 4px 16px rgba(232, 93, 117, 0.3);
}
body.huzoku-actress-immersive .huzoku-actress-content h2:first-of-type {
	margin-top: 0;
}

/* h3：ダッシュ下線・右に♡ */
body.huzoku-actress-immersive .huzoku-actress-content h3,
body.huzoku-actress-immersive .huzoku-actress-content h4 {
	position: relative;
	color: #444;
	margin: 1.5rem 0 0.5rem;
	padding-bottom: 0.4rem;
	border-bottom: 2px dashed var(--huzoku-pink);
	font-family: 'Hiragino Maru Gothic ProN', 'ヒラギノ丸ゴ ProN', 'Yu Gothic', sans-serif;
}
body.huzoku-actress-immersive .huzoku-actress-content h3::after,
body.huzoku-actress-immersive .huzoku-actress-content h4::after {
	content: ' ♡';
	color: var(--huzoku-pink);
	font-size: 0.9em;
}

/* 右カラム：在籍店ブロックをカード風に（影・ボーダー・角丸） */
body.huzoku-actress-immersive .huzoku-actress-col-right .column-wrap.column-2 {
	background: #fff;
	border: 1px solid rgba(255, 105, 180, 0.3);
	border-radius: 12px;
	box-shadow: 0 2px 12px rgba(255, 20, 147, 0.1);
	padding: 1.25rem;
	margin-bottom: 1.5rem;
	transition: box-shadow 0.25s ease, border-color 0.25s ease;
}
body.huzoku-actress-immersive .huzoku-actress-col-right .column-wrap.column-2:hover {
	box-shadow: 0 6px 20px rgba(255, 20, 147, 0.18);
	border-color: rgba(255, 105, 180, 0.5);
}

/* 左カラム：プロフィール・出勤をカード風に */
body.huzoku-actress-immersive .huzoku-actress-col-left #huzoku-section-profile,
body.huzoku-actress-immersive .huzoku-actress-col-left #huzoku-section-schedule {
	scroll-margin-top: 4rem;
}
body.huzoku-actress-immersive .huzoku-actress-col-left .bio-content,
body.huzoku-actress-immersive .huzoku-actress-col-left .schedule-container {
	background: #fff;
	border: 1px solid rgba(255, 105, 180, 0.25);
	border-radius: 12px;
	box-shadow: 0 2px 10px rgba(255, 20, 147, 0.08);
	padding: 1rem 1.25rem;
	margin-bottom: 1rem;
}

/* 動画・AVリスト：カードグリッドでスクロールしやすく */
body.huzoku-actress-immersive .huzoku-actress-content .video-index-frame,
body.huzoku-actress-immersive .huzoku-actress-content .video-item {
	margin-top: 0.75rem;
}
body.huzoku-actress-immersive .huzoku-actress-content .video-index ul,
body.huzoku-actress-immersive .huzoku-actress-content .video-item ul {
	grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
	gap: 1rem;
	max-height: none;
}

body.huzoku-actress-immersive .huzoku-actress-content .bio-content,
body.huzoku-actress-immersive .huzoku-actress-content .schedule-container,
body.huzoku-actress-immersive .huzoku-actress-content .speech-balloon {
	color: #333;
}

/* テーブル：th ピンク背景・白文字、交互行に薄ピンク */
body.huzoku-actress-immersive .huzoku-actress-content .retail-table th,
body.huzoku-actress-immersive .huzoku-actress-content .shop-info th,
body.huzoku-actress-immersive .huzoku-actress-content .shop-question th {
	background: linear-gradient(180deg, var(--huzoku-pink) 0%, var(--huzoku-deep-pink) 100%);
	color: #fff;
	font-weight: 700;
	border: none;
	padding: 0.5rem 0.75rem;
}
body.huzoku-actress-immersive .huzoku-actress-content .retail-table td,
body.huzoku-actress-immersive .huzoku-actress-content .shop-info td {
	border-color: rgba(232, 93, 117, 0.2);
}
body.huzoku-actress-immersive .huzoku-actress-content .retail-table tr:nth-child(even),
body.huzoku-actress-immersive .huzoku-actress-content .shop-info tbody tr:nth-child(even) {
	background: var(--huzoku-pink-light);
}
/* 在籍確認行を強調（最終行を目立たせる） */
body.huzoku-actress-immersive .huzoku-actress-content .shop-info tbody tr:last-child td {
	background: linear-gradient(90deg, rgba(255, 105, 180, 0.2) 0%, rgba(255, 20, 147, 0.12) 100%) !important;
	font-weight: 700;
	color: var(--huzoku-deep-pink);
}
body.huzoku-actress-immersive .huzoku-actress-content .shop-question tr {
	background: #fff;
	border-color: rgba(255, 105, 180, 0.25);
}
body.huzoku-actress-immersive .huzoku-actress-content .shop-question tr:nth-child(even) {
	background: var(--huzoku-pink-light);
}

body.huzoku-actress-immersive .huzoku-actress-content .schedule-container {
	background: #fff;
	border: 1px solid rgba(232, 93, 117, 0.3);
	border-radius: 10px;
}

/* aリンク：ピンク太字・ホバーで underline＋scale */
body.huzoku-actress-immersive .huzoku-actress-content a {
	color: var(--huzoku-pink);
	font-weight: 700;
	text-decoration: none;
	transition: color 0.2s ease, text-decoration 0.2s ease, transform 0.2s ease;
}
body.huzoku-actress-immersive .huzoku-actress-content a:hover {
	text-decoration: underline;
	transform: scale(1.02);
	color: var(--huzoku-deep-pink);
}

/* 動画グリッド：3〜4列・カード */
body.huzoku-actress-immersive .huzoku-actress-content .video-item ul,
body.huzoku-actress-immersive .huzoku-actress-content .video-index ul {
	grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
	gap: 1.25rem;
	margin-top: 1rem;
}

body.huzoku-actress-immersive .huzoku-actress-content .video-item a,
body.huzoku-actress-immersive .huzoku-actress-content .video-index a {
	background: #fff;
	border: 1px solid rgba(232, 93, 117, 0.25);
	border-radius: 10px;
	overflow: hidden;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

body.huzoku-actress-immersive .huzoku-actress-content .video-item a:hover,
body.huzoku-actress-immersive .huzoku-actress-content .video-index a:hover {
	border-color: var(--huzoku-pink);
	box-shadow: 0 4px 20px rgba(232, 93, 117, 0.25);
}

body.huzoku-actress-immersive .huzoku-actress-content .video-item .desc,
body.huzoku-actress-immersive .huzoku-actress-content .video-index .desc {
	color: #333;
	padding: 0.6rem 0.7rem;
}

body.huzoku-actress-immersive .huzoku-actress-content .custom-tag-item {
	background: var(--huzoku-pink);
	color: #fff;
}

body.huzoku-actress-immersive .huzoku-actress-content .custom-image-container202 .video-play-icon,
body.huzoku-actress-immersive .huzoku-actress-content .app-video-poster .video-play-icon {
	background: rgba(0, 0, 0, 0.45);
	color: var(--huzoku-pink);
}

body.huzoku-actress-immersive .huzoku-actress-content .speech-wrap {
	background: var(--huzoku-pink-light);
	border-color: rgba(232, 93, 117, 0.35);
}

body.huzoku-actress-immersive .huzoku-actress-content .marker-under.bold {
	color: var(--huzoku-pink);
}

/* 関連サイト（同一女優で他サイト検索） */
body.huzoku-actress-immersive .huzoku-actress-related-sites {
	margin: 3rem 0 2rem;
	padding: 2rem 1rem;
	background: #fff;
	border-radius: 12px;
	border: 1px solid rgba(232, 93, 117, 0.3);
	box-shadow: 0 2px 12px rgba(232, 93, 117, 0.1);
}

body.huzoku-actress-immersive .huzoku-actress-related-title {
	margin: 0 0 0.25rem;
	font-size: 1.25rem;
	color: #333;
	border: none;
	padding: 0;
}

body.huzoku-actress-immersive .huzoku-actress-related-desc {
	margin: 0 0 1.25rem;
	font-size: 0.9rem;
	color: #666;
}

.huzoku-actress-related-list {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

body.huzoku-actress-immersive .huzoku-actress-related-link {
	display: inline-block;
	padding: 0.5rem 1rem;
	font-size: 0.9rem;
	font-weight: 700;
	color: #fff;
	background: linear-gradient(135deg, var(--huzoku-pink) 0%, var(--huzoku-deep-pink) 100%);
	border: 1px solid var(--huzoku-deep-pink);
	border-radius: 8px;
	text-decoration: none;
	transition: background 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

body.huzoku-actress-immersive .huzoku-actress-related-link:hover {
	box-shadow: 0 4px 16px rgba(232, 93, 117, 0.4);
	color: #fff;
	transform: scale(1.03);
}

body.huzoku-actress-immersive .huzoku-actress-related-link--internal {
	background: linear-gradient(135deg, #b24bf3 0%, #8b3bb5 100%);
	border-color: #8b3bb5;
}

body.huzoku-actress-immersive .huzoku-actress-related-link--internal:hover {
	box-shadow: 0 4px 16px rgba(178, 75, 243, 0.35);
}

@media (max-width: 640px) {
	/* スマホ：動画リストは1列表示 */
	.huzoku-actress-content .video-item ul,
	.huzoku-actress-content .video-index ul,
	body.huzoku-actress-immersive .huzoku-actress-content .video-item ul,
	body.huzoku-actress-immersive .huzoku-actress-content .video-index ul {
		grid-template-columns: 1fr;
		gap: 0.75rem;
	}
	.huzoku-actress-hero {
		min-height: 35vh;
	}
	.huzoku-actress-nav-inner {
		justify-content: flex-start;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		padding-bottom: 0.25rem;
	}
}

/* スマホ（480px以下）：吹き出し・テーブルを崩れないように */
@media screen and (max-width: 480px) {
	.huzoku-actress-content .speech-person {
		display: block;
		margin: 0 auto;
	}
	.huzoku-actress-content .speech-wrap.sbp-l .speech-balloon {
		margin-left: 0;
	}
	.huzoku-actress-content .speech-wrap .speech-balloon {
		padding: 0.5rem;
		max-width: 100%;
	}
	.huzoku-actress-content .column-wrap.column-2 .column-right .shop-info td {
		padding: 0.4rem 0.5rem 0.4rem 0;
		line-height: 1.5;
	}
	.huzoku-actress-content .retail-table td,
	.huzoku-actress-content .shop-info td {
		padding: 0.4rem 0.5rem 0.4rem 0;
		border-bottom: 1px solid var(--huzoku-border-light);
		color: var(--huzoku-text);
	}
	body.huzoku-actress-immersive .huzoku-actress-content .retail-table td,
	body.huzoku-actress-immersive .huzoku-actress-content .shop-info td {
		border-color: rgba(232, 93, 117, 0.2);
	}
}
