@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700;900&display=swap');
/*
Theme Name: AVセール女優図鑑
Template: avinfo-theme
Description: 2chav.com 型の2カラム構成。親テーマ(avinfo-theme)の機能(タクソノミー・メタ・FANZA API)を引き継ぎ、見た目だけを差し替える。
Version: 1.3.2
Author: premium-volte.com
*/

:root{
  --page:#F1F3F6; --frame:#FFF; --dash:#D7DDE4; --box:#F5F7FA; --line:#D7DDE4;
  --ink:#2B3440; --link:#1E5AA8; --red:#E8590C; --navy:#1E3A5F; --gray-h:#E9EEF3; --meta:#5A6B7D;
  --font:"Noto Sans JP","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,sans-serif;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--page);color:var(--ink);font-family:var(--font);font-size:16px;line-height:1.7;word-break:break-word}
a{color:var(--link);text-decoration:none}
a:hover{text-decoration:underline}
img{max-width:100%;height:auto}
ul,ol{margin:0;padding:0}

/* 外枠 */
.pv-outline{max-width:935px;margin:18px auto 34px;background:var(--frame);padding:0;border:1px solid var(--line);border-top:5px solid var(--navy);border-radius:6px;box-shadow:0 2px 10px rgba(30,58,95,.08)}
.pv-inner{padding:16px 18px 22px}

/* ヘッダー */
.pv-header{display:flex;align-items:center;gap:22px;padding:8px 6px 14px;flex-wrap:wrap}
.pv-logo{font-size:38px;font-weight:900;letter-spacing:.02em;line-height:1;white-space:nowrap;color:var(--navy);font-family:var(--font)}
.pv-logo a{color:var(--navy)}
.pv-logo a:hover{text-decoration:none}
.pv-logo .r{color:var(--red)}
.pv-tagline{font-size:12px;color:var(--meta);font-weight:500;line-height:1.4;max-width:220px;border-left:2px solid var(--red);padding-left:10px}
.pv-notice{font-size:13px;font-weight:700;color:var(--navy);border-bottom:2px solid var(--red);padding-bottom:1px}
.pv-icons{margin-left:auto;display:flex;gap:14px}
.pv-icons a{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:12px;font-weight:700}
.pv-icons a:hover{text-decoration:none;opacity:.85}
.ic-x{background:#222}.ic-rss{background:var(--red)}.ic-mail{background:var(--navy)}

/* 2カラム */
.pv-cols{display:grid;grid-template-columns:180px minmax(0,1fr);gap:20px;align-items:start}
.pv-side{order:1}
.pv-center{order:2}
/* 2ページ目以降はトップ専用ブロックを出さない */
body.paged .pv-center > .panel:not(.pickup){display:none}
body.paged .banner,body.paged .pickup{display:none}
/* スニペット由来のジャンルナビ（#pv-genre-nav）を2chav風に */
#pv-genre-nav{background:var(--navy);border:0;border-radius:4px;padding:6px 12px;margin:0 0 14px;font-size:13px;line-height:2}
#pv-genre-nav .pv-gn-inner{display:flex;flex-wrap:wrap;gap:0 14px}
#pv-genre-nav a{color:#fff !important;background:none !important;border:0 !important;padding:0 !important;border-radius:0 !important;font-weight:500}
#pv-genre-nav a::before{content:"";}

/* 左サイド */
.pv-side{display:flex;flex-direction:column;gap:18px}
.sbox{border:1px solid var(--line);background:#fff;padding:0 0 10px;border-radius:4px;overflow:hidden}
.sbox h3{margin:0 0 10px;font-size:13px;font-weight:700;color:#fff;background:var(--navy);padding:10px 8px 8px;letter-spacing:.04em}
.sbox h3.g{background:var(--gray-h);color:var(--navy);font-size:14px;padding:7px 8px;border-left:4px solid var(--red)}
.pkg{display:flex;flex-direction:column;align-items:center;gap:2px;margin:0 0 14px;padding:0 6px;text-align:center}
.pkg img{width:106px;height:150px;object-fit:cover;border:1px solid #bbb;display:block}
.pkg .d{font-size:10px;color:#666;line-height:1.4}
.pkg .t{font-size:10px;color:#333;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.slist{list-style:none;margin:0;padding:0 8px}
.slist li{font-size:13px;line-height:1.9;border-bottom:1px dotted #ddd}
.slist li .count,.slist li span{color:#888;font-size:11px}
.sbox .cat-item{border-bottom:1px dotted #ddd;font-size:13px;line-height:1.9;list-style:none}
.sbox ul.slist ul{padding-left:10px}
.sform{display:flex;gap:4px;padding:0 8px}
.sform input[type=search],.sform input[type=text]{flex:1;min-width:0;border:1px solid #bbb;padding:4px 6px;font-size:12px}
.sform button,.sform input[type=submit]{border:1px solid #999;background:#eee;font-size:12px;padding:4px 8px;cursor:pointer}
.rank{list-style:none;margin:0;padding:0 8px;counter-reset:r}
.rank li{font-size:12px;line-height:1.5;padding:6px 0;border-bottom:1px dotted #ddd;display:grid;grid-template-columns:20px 1fr;gap:6px;counter-increment:r}
.rank li::before{content:counter(r);font-weight:900;color:var(--red)}
.rank li a{color:#333}

/* センター */
.pv-center{display:flex;flex-direction:column;gap:16px;min-width:0}
.prbar{background:var(--box);border:1px solid var(--line);font-size:12px;color:var(--meta);padding:6px 10px;border-radius:4px}
.panel{background:var(--box);border:1px solid var(--line);padding:10px;border-radius:4px}
.adgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}
.ad{position:relative;aspect-ratio:4/3;background:#C9CFD6;overflow:hidden;display:block}
.ad img{width:100%;height:100%;object-fit:cover;display:block}
.ad .cap{position:absolute;left:0;right:0;bottom:0;background:rgba(30,58,95,.82);color:#fff;font-size:11px;line-height:1.35;padding:5px 6px;font-weight:700;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ad .noimg{position:absolute;inset:0;display:grid;place-items:center;font-size:11px;letter-spacing:.2em;color:#555;background:#fff}
.ad:hover{text-decoration:none}

.banner{display:flex;margin:4px auto 0;max-width:520px;min-height:110px;border:0;border-radius:6px;background:linear-gradient(90deg,var(--navy),#2B5A8C);align-items:center;justify-content:center;gap:24px;color:#fff;font-weight:900;text-align:center;padding:14px 20px;box-shadow:0 2px 8px rgba(30,58,95,.2)}
.banner:hover{text-decoration:none;opacity:.95}
.banner .big{font-size:36px;line-height:1.1;display:block}
.banner small{display:block;font-size:12px;font-weight:500;margin-top:4px;color:#FFD9C2}

.pickup h3{margin:0 0 8px;font-size:13px;color:var(--navy);font-weight:700;letter-spacing:.06em}
.starlist{list-style:none;margin:0;padding:0;background:#fff;border:1px solid var(--line);max-height:180px;overflow-y:auto}
.starlist li{font-size:13.5px;line-height:1.5;padding:6px 10px;border-bottom:1px solid #eee;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.starlist li::before{content:"▶";color:var(--red);font-size:9px;margin-right:7px;vertical-align:1px}
.starlist.big{max-height:none}
.starlist.big li{font-size:14.5px;font-weight:700;padding:8px 10px;white-space:normal}

.archive-title{background:var(--gray-h);border:1px solid var(--line);border-left:4px solid var(--red);font-size:15px;font-weight:700;padding:8px 12px;margin:0;color:var(--navy);border-radius:4px}
.archive-title small{font-weight:400;color:#666;font-size:12px;margin-left:8px}

/* FANZA セールバナー */
.fzbanner{display:flex;justify-content:center;margin:2px 0 0;min-height:250px}
.fzbanner ins{display:block;width:300px;height:250px;text-decoration:none}
.entry .fzbanner{margin:22px 0 4px}

/* 記事リスト */
.article-grid{display:flex;flex-direction:column;gap:16px}
.post{background:#fff;border:1px solid var(--line);border-left:4px solid var(--red);padding:0;border-radius:4px}
.post-in{background:#fff;padding:12px;display:grid;grid-template-columns:146px minmax(0,1fr);gap:12px;align-items:start}
.thumb{width:146px;height:100px;border:1px solid #ccc;position:relative;background:#eee;display:block;overflow:hidden}
.thumb img{width:100%;height:100%;object-fit:cover;display:block}
.thumb .sale{position:absolute;top:-1px;left:-1px;background:#FF7A00;color:#fff;font-size:11px;font-weight:900;padding:1px 6px;border:1px solid #fff;letter-spacing:.06em}
.meta{font-size:12px;color:var(--meta);display:flex;flex-wrap:wrap;gap:0 10px}
.meta span::before{content:"▪";margin-right:3px;font-size:10px}
.post h2{margin:6px 0 0;font-size:16px;font-weight:700;color:var(--navy);line-height:1.55}
.post h2 a{color:var(--navy)}
.pagination,.nav-links{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;padding:6px 0}
.pagination a,.pagination span,.nav-links a,.nav-links span{display:inline-block;min-width:34px;text-align:center;padding:6px 8px;border:1px solid #ccc;background:#fff;font-size:13px;color:#333}
.pagination .current,.nav-links .current{background:var(--navy);color:#fff;border-color:var(--navy)}

/* 記事ページ */
.entry{background:#fff;border:1px solid var(--line);padding:0;border-radius:4px}
.entry-in{background:#fff;padding:22px 20px 26px}
.entry h1.ttl{margin:0 0 8px;font-size:25px;font-weight:900;color:var(--navy);line-height:1.4}
.entry .meta{margin-bottom:16px}
.entry .hero{margin:0 0 18px}
.entry .hero img{width:100%;height:auto;display:block;border:1px solid #ccc}
.post-content{font-size:15px;line-height:1.85}
.post-content p{margin:0 0 18px}
.post-content h2{font-size:19px;background:var(--gray-h);border-left:4px solid var(--red);padding:8px 12px;margin:28px 0 14px;line-height:1.5;color:var(--navy);border-radius:0 4px 4px 0}
.post-content h3{font-size:16px;border-bottom:2px solid var(--line);padding-bottom:6px;margin:24px 0 12px}
.post-content h4{font-size:15px;margin:20px 0 8px}
.post-content img{display:block;margin:0 auto 16px;border:1px solid #ccc}
.post-content table{border-collapse:collapse;width:100%;font-size:13.5px;margin:0 0 18px;display:block;overflow-x:auto}
.post-content th,.post-content td{border:1px solid #ddd;padding:6px 8px}
.post-content th{background:var(--gray-h)}
.post-content blockquote{border:1px solid #ddd;background:#f6f6f6;padding:10px 14px;margin:0 0 18px;font-size:14px}
.post-content ul,.post-content ol{padding-left:1.4em;margin:0 0 18px}
.post-content iframe,.post-content video{max-width:100%}

.prod{display:grid;grid-template-columns:200px minmax(0,1fr);gap:16px;border:1px solid #ddd;padding:12px;margin:0 0 18px;background:#fafafa}
.prod .pi img{width:200px;height:auto;border:1px solid #bbb;display:block}
.prod .pt{font-size:14px;font-weight:700;line-height:1.5;margin:0 0 6px}
.prod .pd{font-size:12.5px;color:#555;margin:0 0 4px}
.prod .btn{display:inline-block;margin-top:10px;background:var(--red);color:#fff;font-weight:700;font-size:14px;padding:8px 18px;border-radius:3px}
.prod .btn:hover{text-decoration:none;opacity:.9}
.prod .pr{font-size:10px;color:#888;margin-left:8px}
.gh{background:var(--gray-h);font-size:14px;font-weight:700;padding:7px 10px;margin:22px 0 0;color:var(--navy);border-left:4px solid var(--red)}
.related{list-style:none;margin:0;padding:0;border:1px solid var(--line);border-top:0}
.related li{display:grid;grid-template-columns:116px minmax(0,1fr);gap:12px;align-items:center;padding:8px 10px;border-bottom:1px solid #eee}
.related .ti{width:116px;height:78px;background:#eee;border:1px solid #ccc;overflow:hidden;display:block}
.related .ti img{width:100%;height:100%;object-fit:cover;display:block}
.related a.rt{color:var(--navy);font-weight:700;font-size:14px}
.tagsline{font-size:12.5px;color:#555;margin:10px 0 0}
.tagsline a{margin-right:8px}

/* コメント */
.comments-area{margin-top:6px}
.comment-list{list-style:none;padding:0;margin:0}
.comment-list .comment{border:1px solid #ddd;margin:10px 0 0}
.comment-list .comment-meta,.comment-list .comment-author{font-size:11.5px;background:#f2f2f2;padding:5px 8px}
.comment-list .comment-author .fn{color:#1a7f1a;font-style:normal}
.comment-list .comment-content{padding:10px 12px;font-size:14px}
.comment-list .children{list-style:none;padding-left:16px}
.comment-respond input[type=text],.comment-respond input[type=email],.comment-respond textarea{width:100%;border:1px solid #bbb;padding:6px;font-size:13px}
.comment-respond .submit{background:var(--red);color:#fff;border:0;padding:8px 16px;font-weight:700;cursor:pointer}

/* 固定ページ・検索なし */
.page-box{background:#fff;border:1px solid var(--line);padding:20px 17px}
.notfound{padding:30px 10px;text-align:center}

/* フッター */
.pv-footer{text-align:center;font-size:12px;color:#666;padding:20px 0 0}
.pv-footer nav{margin-bottom:6px}
.pv-footer nav a{margin:0 8px}
.pv-footer .age{display:inline-block;font-weight:700;letter-spacing:.14em;color:var(--navy);border:1px solid var(--navy);padding:1px 8px;border-radius:3px;margin-right:6px}


/* パンくず（本文先頭） */
.pvbc-nav{font-size:12px;color:#777;margin:0 0 14px}
.pvbc-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:0 4px}
.pvbc-list li+li::before{content:"›";margin-right:4px;color:#aaa}
.pvbc-list a{color:var(--link)}
/* ヘッダーのPRリンクはテキスト＋赤下線に統一（スニペット27のボタン装飾を打ち消す） */
html body a.pv-notice.header-cta{background:none !important;color:var(--navy) !important;border:0 !important;border-bottom:2px solid var(--red) !important;border-radius:0 !important;padding:0 0 1px !important;box-shadow:none !important;font-size:13px !important;font-weight:700 !important}

/* 既存スニペットとの整合 */
.pv-sale-strip{margin:28px auto 4px !important;padding:0 !important}
.pv-sale-strip h2{color:#333 !important;border-color:var(--line) !important}
.pv-sale-strip a.pv-sale-item{background:#fff !important;border-color:var(--line) !important}
.pv-sale-strip .pv-sale-ttl{color:#000 !important}
.pv-sale-strip .pv-sale-sub{color:#666 !important}
.pv-genre-cta{background:#fff8ef !important;border:1px solid #f0c9a0 !important;border-left:3px solid var(--red) !important;border-radius:6px !important;box-shadow:none !important}
.pv-genre-cta .pv-gc-pr{background:#eee !important;color:#666 !important}
.pv-genre-cta .pv-gc-ttl{color:#000 !important}
.pv-genre-cta .pv-gc-sub{color:#555 !important}
.pv-cat-desc{background:#fff;border:1px solid var(--line);padding:12px 14px;font-size:14px;color:#333}

@media (max-width:760px){
  .pv-outline{margin:0;border-radius:0;border-left:0;border-right:0}
  .pv-inner{padding:10px 10px 16px}
  .pv-cols{grid-template-columns:1fr}
  .pv-side{order:2}
  .pv-center{order:1}
  .pv-logo{font-size:28px}
  .pv-tagline{display:none}
  .post-in{grid-template-columns:110px minmax(0,1fr)}
  .thumb{width:110px;height:76px}
  .prod{grid-template-columns:1fr}
  .prod .pi img{width:160px}
  .adgrid{grid-template-columns:repeat(2,1fr)}
  .entry-in{padding:14px 12px 18px}
  .entry h1.ttl{font-size:20px}
}

/* 大画面では枠を広げる（2chavの比率は維持） */
@media (min-width:1400px){
  .pv-outline{max-width:1180px}
  .pv-cols{grid-template-columns:210px minmax(0,1fr)}
  body{font-size:17px}
  .pkg img{width:130px;height:184px}
  .thumb{width:170px;height:116px}
  .post-in{grid-template-columns:170px minmax(0,1fr)}
  .post h2{font-size:17px}
  .starlist li{font-size:14.5px}
  .pv-logo{font-size:44px}
}
