/* 夜の作品箱 共通スタイル */
:root{
  --bg:#14161a; --bg2:#1b1e24; --line:#2b3038;
  --fg:#e8eaee; --fg-dim:#9aa3b0; --accent:#e0a44b; --accent-dim:#8a6a30;
  --link:#7fb4e8; --warn:#e05b5b;
  --w:1040px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0; background:var(--bg); color:var(--fg);
  font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",YuGothic,Meiryo,sans-serif;
  line-height:1.8; font-size:16px;
}
img{max-width:100%; height:auto}
a{color:var(--link)}
a:hover{color:#a9cdf3}

/* PR表記: 全ページ最上部 */
.pr-bar{
  margin:0; padding:.4rem 1rem; background:var(--bg2); color:var(--fg-dim);
  font-size:.75rem; text-align:center; border-bottom:1px solid var(--line);
}

/* 年齢確認: 既定で表示。JSで確認が取れたときだけ隠す（JSが無効なら出たまま） */
.age-gate{
  position:fixed; inset:0; z-index:9999; background:var(--bg);
  display:flex; align-items:center; justify-content:center; padding:1.5rem;
}
body.age-ok .age-gate{display:none}
.age-gate__box{max-width:31rem; text-align:center}
.age-gate__title{font-size:1.35rem; margin:0 0 1rem; color:var(--accent)}
.age-gate__lead{color:var(--fg-dim); font-size:.95rem; margin:0 0 1.6rem}
.age-gate__btns{display:flex; gap:.8rem; justify-content:center; flex-wrap:wrap}
.btn{
  display:inline-block; padding:.7rem 1.5rem; border-radius:.3rem;
  border:1px solid var(--line); background:var(--bg2); color:var(--fg);
  font-size:1rem; cursor:pointer; text-decoration:none;
}
.btn--enter{background:var(--accent); border-color:var(--accent); color:#1a1408; font-weight:700}
.btn--enter:hover{background:#eab55f}
.btn--leave:hover{border-color:var(--warn); color:var(--warn)}

/* ヘッダー */
.site-head{border-bottom:1px solid var(--line); background:var(--bg2)}
.site-head__inner{max-width:var(--w); margin:0 auto; padding:1rem 1.2rem;
  display:flex; align-items:baseline; gap:1rem; flex-wrap:wrap}
.logo{font-size:1.3rem; font-weight:700; text-decoration:none; color:var(--fg)}
.logo b{color:var(--accent)}
.logo__en{display:block; font-size:.65rem; letter-spacing:.18em; color:var(--fg-dim); font-weight:400}
.nav{margin-left:auto; display:flex; gap:1.1rem; font-size:.9rem; flex-wrap:wrap}
.nav a{color:var(--fg-dim); text-decoration:none}
.nav a:hover{color:var(--accent)}

/* 本文 */
.wrap{max-width:var(--w); margin:0 auto; padding:2rem 1.2rem 3rem}
h1{font-size:1.7rem; line-height:1.45; margin:0 0 1rem}
h2{font-size:1.25rem; margin:2.4rem 0 .8rem; padding-left:.6rem;
   border-left:3px solid var(--accent)}
h3{font-size:1.05rem; margin:1.8rem 0 .5rem; color:var(--accent)}
p{margin:0 0 1rem}
.lead{color:var(--fg-dim)}
ul,ol{padding-left:1.4rem}
li{margin:.3rem 0}
dl{margin:0}
dt{font-weight:700; margin-top:1rem; color:var(--accent)}
dd{margin:.2rem 0 0}
table{border-collapse:collapse; width:100%; font-size:.92rem}
th,td{border:1px solid var(--line); padding:.5rem .7rem; text-align:left}
th{background:var(--bg2); color:var(--fg-dim); font-weight:600}
.table-scroll{overflow-x:auto}
.note{background:var(--bg2); border:1px solid var(--line); border-radius:.35rem;
      padding:1rem 1.2rem; font-size:.9rem; color:var(--fg-dim)}
.note strong{color:var(--fg)}

/* フッター */
.site-foot{border-top:1px solid var(--line); background:var(--bg2); margin-top:3rem}
.site-foot__inner{max-width:var(--w); margin:0 auto; padding:1.6rem 1.2rem;
  font-size:.85rem; color:var(--fg-dim)}
.site-foot a{color:var(--fg-dim)}
.foot-nav{display:flex; gap:1.1rem; flex-wrap:wrap; margin:0 0 1rem}
.credit{margin:1rem 0 0}
.credit img{vertical-align:middle}
.copyright{margin:.8rem 0 0; font-size:.78rem}

@media (max-width:600px){
  body{font-size:15px}
  h1{font-size:1.4rem}
  .wrap{padding:1.5rem 1rem 2.5rem}
}

/* ── 作品カード ──────────────────────────────
   ★画像は「拡大・縮小のみ可」。切り抜き(object-fit:cover)は使わない。
     高さをそろえて幅を自動にすることで、縦横比を保ったまま行を揃える。 */
.works{display:flex; flex-direction:column; gap:1.6rem; margin-top:1.5rem}
.work{
  background:var(--bg2); border:1px solid var(--line); border-radius:.4rem;
  padding:1rem; 
}
.work__head{display:flex; gap:1rem; align-items:flex-start; flex-wrap:wrap}
.work__cover{flex:0 0 auto; display:block; line-height:0}
.work__cover img{width:180px; height:auto; border-radius:.2rem}
.work__info{flex:1 1 16rem; min-width:0}
.work__title{margin:0 0 .4rem; font-size:1rem; line-height:1.5; color:var(--fg)}
.work__title a{color:var(--fg); text-decoration:none}
.work__title a:hover{color:var(--accent)}
.work__meta{margin:0 0 .2rem; font-size:.82rem; color:var(--fg-dim)}
.work__price{margin:0 0 .5rem; font-size:1rem; color:var(--accent); font-weight:700}
.work__genres{margin:0 0 .8rem; display:flex; flex-wrap:wrap; gap:.3rem}
.work__genres span{
  font-size:.72rem; color:var(--fg-dim); border:1px solid var(--line);
  border-radius:1rem; padding:.1rem .55rem;
}
.work__cta{margin:0}
.work__cta .btn{padding:.5rem 1.1rem; font-size:.9rem}

/* サンプル画像: 高さをそろえ、幅は画像なりに（＝縦横比を保つ） */
.work__samples{
  display:flex; flex-wrap:wrap; gap:.4rem; margin-top:.9rem;
  padding-top:.9rem; border-top:1px solid var(--line);
}
.work__samples a{display:block; line-height:0}
.work__samples img{height:130px; width:auto; border-radius:.15rem}

@media (max-width:600px){
  .work__cover img{width:120px}
  .work__samples img{height:88px}
}

/* ── 軸の一覧（女優・ジャンル・メーカー） ── */
.entity-list{
  list-style:none; padding:0; margin:1.2rem 0 0;
  display:grid; grid-template-columns:repeat(auto-fill, minmax(15rem, 1fr)); gap:.4rem;
}
.entity-list li{
  margin:0; display:flex; align-items:baseline; gap:.5rem;
  border-bottom:1px solid var(--line); padding:.45rem .2rem;
}
.entity-list a{flex:1 1 auto; text-decoration:none; color:var(--fg)}
.entity-list a:hover{color:var(--accent)}
.entity-list span{flex:0 0 auto; font-size:.78rem; color:var(--fg-dim)}

/* ── ページ送り ── */
.pager{
  display:flex; flex-wrap:wrap; gap:.4rem; justify-content:center; margin:2rem 0 0;
}
.pager a,.pager__cur{
  min-width:2.2rem; text-align:center; padding:.4rem .6rem; border-radius:.25rem;
  border:1px solid var(--line); font-size:.9rem; text-decoration:none;
}
.pager a{color:var(--link); background:var(--bg2)}
.pager a:hover{border-color:var(--accent); color:var(--accent)}
.pager__cur{background:var(--accent); border-color:var(--accent); color:#1a1408; font-weight:700}

/* 表のキャプション（集計の出典と件数を示す） */
table caption{
  caption-side:top; text-align:left; font-size:.8rem; color:var(--fg-dim);
  padding:0 0 .4rem;
}

/* トップの「もっと見る」 */
.more{margin:1.6rem 0 0; text-align:center}
