/* ===== v14 共通：ヘッダー中央の入口・両端広告・ランキング枠 ===== */
.hnav{ display:flex; gap:10px; justify-content:center; flex-wrap:wrap; }
.hnav a{ display:inline-flex; align-items:center; border:1px solid var(--gold); color:var(--gold-bright);
  background:rgba(184,149,79,.08); border-radius:22px; padding:9px 18px; font-size:14px; font-weight:600;
  text-decoration:none; white-space:nowrap; font-family:var(--font-display); letter-spacing:.03em; transition:.15s; }
.hnav a:hover, .hnav a.cur{ background:var(--gold); color:#1a1314; }

.rail{ position:fixed; top:180px; z-index:5; display:none; }
.rail-left{ left:calc(50% - 490px - 28px - 160px); width:160px; }
.rail-right{ left:calc(50% + 490px + 28px); width:300px; }
.rail-right > div + div{ margin-top:16px; }
@media (min-width:1700px){ .rail{ display:block; } }

.ad-inline2{ display:flex; flex-wrap:wrap; gap:16px; justify-content:center; margin:24px auto; max-width:980px; }
@media (min-width:1700px){ .ad-inline2{ display:none; } }

.ad-slot-c, .ad-bottom{ max-width:980px; margin:28px auto !important; background:var(--panel);
  border:1px solid var(--border-soft); border-radius:10px; padding:16px 18px 18px; box-sizing:border-box;
  box-shadow:0 10px 30px rgba(0,0,0,.45); }
.rank-h{ font-family:var(--font-display); color:var(--text); border-left:3px solid var(--gold);
  padding-left:12px; margin:0 0 14px; font-size:1.05em; font-weight:600; text-align:left; }
.ad-slot-c div, .ad-slot-c li, .ad-slot-c ul, .ad-slot-c table, .ad-slot-c td,
.ad-bottom div, .ad-bottom li, .ad-bottom ul, .ad-bottom table, .ad-bottom td{ background-color:transparent !important; }
.ad-slot-c a, .ad-bottom a{ color:var(--gold-bright) !important; }

@media (max-width:600px){
  .header-center{ display:flex !important; flex:0 0 100% !important; order:3; justify-content:flex-start !important; }
  .hnav{ justify-content:flex-start; gap:6px; }
  .hnav a{ padding:6px 10px; font-size:12px; }
  .ad-slot-c, .ad-bottom{ padding:12px 10px; }
}

/* ===== v15 ===== */
.rail{ position:absolute !important; }
.header-row{ position:relative; }
@media (min-width:1100px){
  .header-center{ position:absolute !important; left:50%; top:50%; transform:translate(-50%,-50%); }
}
.site-footer{ font-size:12px; color:var(--text-mute); text-align:center; margin:28px auto 16px; line-height:1.8; }
.site-footer a{ color:var(--gold-bright); }
.site-footer .sns{ display:flex; justify-content:center; gap:10px; margin:12px 0 8px; flex-wrap:wrap; }
.site-footer .sns a{ display:inline-flex; align-items:center; gap:6px; border:1px solid var(--border); background:var(--panel-soft);
  color:var(--text-soft); border-radius:20px; padding:7px 16px; font-size:13px; text-decoration:none; }
.site-footer .sns a:hover{ border-color:var(--gold); color:var(--text); }
.site-footer .flinks a{ color:var(--text-soft); text-decoration:none; margin:0 4px; }
.site-footer .flinks a:hover{ color:var(--gold-bright); }

/* ===== v16 ===== */
/* 両端の下側の広告（位置は v15.js で決める） */
.rail-low{ top:1000px; visibility:hidden; }
.rail-low iframe, .rail-low img{ max-width:100%; }
/* MGSランキング：作品名の終わりにかかる白いぼかしを消す */
.ad-slot-c *, .ad-bottom *{ background-color:transparent !important; background-image:none !important;
  -webkit-mask-image:none !important; mask-image:none !important; }
.ad-slot-c *::before, .ad-slot-c *::after, .ad-bottom *::before, .ad-bottom *::after{
  background:none !important; background-image:none !important; box-shadow:none !important; }
.ad-slot-c img, .ad-bottom img{ background:none !important; }

/* ===== v17 ===== */
/* 女優ページ：データで見る／体型が近い女優 */
.ins{margin:16px 0 18px;padding:14px 16px;background:var(--panel-soft,#241a1c);border:1px solid var(--border,#3a2a2a);border-radius:10px}
.ins-h{font-family:var(--font-display);color:var(--text,#ece2d8);font-weight:600;border-left:3px solid var(--gold,#b8954f);padding-left:10px;margin:2px 0 10px;font-size:15px}
.ins-h + .ins-lines{margin-top:0}
.ins-lines{list-style:none;margin:0 0 14px;padding:0;color:var(--text-soft,#b6a89c);font-size:14px;line-height:1.8}
.ins-lines li::before{content:"・";color:var(--gold,#b8954f)}
.ins-lines b{color:var(--gold-bright,#d9b876);font-weight:600}
.ins-sim{list-style:none;margin:0 0 10px;padding:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}
.ins-sim a{display:block;text-decoration:none;background:var(--bg-soft,#150f10);border:1px solid var(--border,#3a2a2a);border-radius:8px;overflow:hidden;height:100%}
.ins-sim a:hover{border-color:var(--gold,#b8954f)}
.ins-sim img,.ins-sim .noimg{display:block;width:100%;aspect-ratio:147/200;object-fit:cover;background:var(--bg-soft,#150f10)}
.ins-sim .nm{display:block;padding:6px 7px 0;color:var(--gold-bright,#d9b876);font-size:13px;font-weight:600;line-height:1.35}
.ins-sim .sp{display:block;padding:2px 7px 7px;color:var(--text-mute,#8a7b71);font-size:11px;line-height:1.4}
.ins-note{font-size:12px;color:var(--text-mute,#8a7b71)}
.ins-note a{color:var(--gold-bright,#d9b876)}
@media (max-width:760px){ .ins-sim{grid-template-columns:repeat(3,minmax(0,1fr))} }

/* コラム記事 */
.article{line-height:1.95;font-size:15.5px;color:var(--text,#ece2d8)}
.article p{margin:0 0 1.1em}
.article .meta{color:var(--text-mute,#8a7b71);font-size:13px;margin:-4px 0 18px}
.article strong{color:var(--gold-bright,#d9b876);font-weight:600}
.article a{color:var(--gold-bright,#d9b876)}
.article ol,.article ul{padding-left:1.4em;margin:0 0 1.1em}
.article li{margin:.25em 0}
.article .note{background:var(--panel-soft,#241a1c);border:1px solid var(--border,#3a2a2a);border-radius:8px;padding:12px 14px;font-size:14px;color:var(--text-soft,#b6a89c)}
.article table{border-collapse:collapse;width:100%;margin:0 0 1.2em;font-size:14px}
.article th,.article td{border:1px solid var(--border,#3a2a2a);padding:7px 10px;text-align:left}
.article th{background:var(--panel-soft,#241a1c);color:var(--text-soft,#b6a89c);font-weight:500}
.article td.num{text-align:right;font-variant-numeric:tabular-nums}
.col-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}
.col-list a{display:block;text-decoration:none;background:var(--panel-soft,#241a1c);border:1px solid var(--border,#3a2a2a);border-radius:10px;padding:16px 18px;height:100%}
.col-list a:hover{border-color:var(--gold,#b8954f)}
.col-list .t{display:block;font-family:var(--font-display);color:var(--gold-bright,#d9b876);font-weight:600;font-size:17px;margin-bottom:6px}
.col-list .d{display:block;color:var(--text-soft,#b6a89c);font-size:13px;line-height:1.7}
.btn-gold{display:inline-block;background:var(--wine,#5e1a2b);color:var(--gold-bright,#d9b876)!important;border:1px solid var(--gold,#b8954f);border-radius:22px;padding:10px 22px;text-decoration:none;font-weight:600}
.btn-gold:hover{background:#7a2238}
/* 分布図 */
.chart-wrap{position:relative;background:var(--bg-soft,#150f10);border:1px solid var(--border,#3a2a2a);border-radius:10px;padding:10px;margin:0 0 8px}
.chart-wrap svg{display:block;width:100%;height:auto}
.chart-tip{position:absolute;pointer-events:none;background:#000c;border:1px solid var(--gold,#b8954f);color:var(--text,#ece2d8);font-size:12px;padding:5px 8px;border-radius:6px;white-space:nowrap;display:none;z-index:3}
.chart-cap{font-size:12px;color:var(--text-mute,#8a7b71);margin:0 0 1.2em}
.bars{margin:0 0 1.2em}
.bars .row{display:grid;grid-template-columns:3.2em 1fr 6.5em;gap:8px;align-items:center;font-size:13px;margin:3px 0}
.bars .bar{height:14px;background:var(--gold,#b8954f);border-radius:0 3px 3px 0;min-width:2px}
.bars .lab{color:var(--text-soft,#b6a89c);text-align:right}
.bars .val{color:var(--text-mute,#8a7b71);font-variant-numeric:tabular-nums}
.crumb a{color:var(--gold-bright,#d9b876)}
@media (max-width:760px){ .chart-wrap{overflow-x:auto} .chart-wrap svg{min-width:680px} .chart-wrap::after{content:"← 横にスクロールできます →";display:block;text-align:center;font-size:11px;color:var(--text-mute,#8a7b71);margin-top:4px} }
/* 女優ページのミニ分布図 */
.ins-top{display:grid;grid-template-columns:1fr 262px;gap:14px;align-items:start;margin-bottom:6px}
.ins-map{display:block;text-decoration:none;border:1px solid var(--border,#3a2a2a);border-radius:8px;overflow:hidden;background:#150f10}
.ins-map:hover{border-color:var(--gold,#b8954f)}
.ins-map canvas{display:block}
.ins-map span{display:block;padding:6px 8px;font-size:11px;color:var(--text-mute,#8a7b71);line-height:1.5}
.ins-map b{color:var(--gold-bright,#d9b876);font-weight:600}
@media (max-width:760px){ .ins-top{grid-template-columns:1fr} .ins-map{max-width:262px;margin:0 auto 6px} }
/* v17d：体型が近い女優の写真（大きい画像を顔が見えるように切り抜く）と NO IMAGE */
.ins-sim img{object-position:center top}
.ins-sim .noimg{display:flex;align-items:center;justify-content:center;color:var(--text-mute,#8a7b71);font-size:12px;letter-spacing:.05em}

/* ===== v21：ヘッダーの入口が6つになったので、中くらいの画面幅では少し詰める ===== */
@media (min-width:601px) and (max-width:1500px){
  .header-center{ min-width:0; }
  .hnav{ gap:6px; }
  .hnav a{ padding:7px 11px; font-size:13px; letter-spacing:0; }
}
/* 1100〜1399pxでは中央固定をやめ、右のボタンと重ならないようにする */
@media (min-width:1100px) and (max-width:1399px){
  .header-center{ position:static !important; transform:none !important; }
}

/* ===== v25：女優ページの推定シルエット（試作ページで決めた形） ===== */
.sil{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:16px;align-items:start;margin:4px 0 14px}
.sil-fig{background:#fffafa;border-radius:10px;padding:8px 6px 2px}
.sil-svg{width:100%;max-width:520px;height:auto;display:block;margin:0 auto}
.sil-svg .me path,.sil-svg .me ellipse{fill:#eaa6b8}
.sil-svg .me .hair{fill:#d8849b}
.sil-svg .avg path,.sil-svg .avg ellipse{fill:none;stroke:#e0b23c;stroke-width:.55;stroke-linejoin:round}
.sil.hide-avg .sil-svg .avg{display:none}
.sil-svg .grid line{stroke-width:.25}
.sil-svg .grid .minor{stroke:#f1e3e6}
.sil-svg .grid .major{stroke:#e4cdd2;stroke-width:.4}
.sil-svg .tick{fill:#a8959a;font-size:4.2px;text-anchor:end}
.sil-svg .ground{stroke:#d9c2c8;stroke-width:.5}
.sil-svg .cap{fill:#9b878c;font-size:6px;text-anchor:middle}
.sil-tg{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-soft,#b6a89c);margin-bottom:8px;cursor:pointer}
.sil-tg input{accent-color:#e0b23c;width:15px;height:15px;margin:0}
.sil-tg .k{display:inline-block;width:18px;height:0;border-top:2px solid #e0b23c}
.sil-tb{width:100%;border-collapse:collapse;font-size:13px}
.sil-tb th,.sil-tb td{padding:5px 6px;border-bottom:1px solid var(--border,#3a2a2a);text-align:left;color:var(--text,#ece2d8);font-weight:500}
.sil-tb th{white-space:nowrap}
.sil-tb tr:first-child th{color:var(--text-mute,#8a7b71);font-size:11px}
.sil-tb td:last-child{color:#d9b876}
.sil-note{font-size:11px;color:var(--text-mute,#8a7b71);line-height:1.7;margin:8px 0 0}
@media (max-width:760px){.sil{grid-template-columns:1fr}}

/* ===== v27：作品ページ（プロフィールへのボタン・作品一覧の下の「体型が近い女優」） ===== */
.pf-link{margin:10px 0 4px}
.pf-link a{display:inline-flex;align-items:center;border:1px solid var(--gold,#b8954f);color:var(--gold-bright,#d9b876);background:rgba(184,149,79,.08);border-radius:22px;padding:9px 16px;font-size:14px;font-weight:700;text-decoration:none}
.pf-link a:hover{background:var(--gold,#b8954f);color:#1a1314}
#avsInsights{margin-top:22px}
.ins-sub{margin:0 0 10px;color:var(--text-mute,#8a7b71);font-size:12px}

/* ===== v28：本文中の横長広告・パンくず ===== */
.ad-728w{width:728px;max-width:100%;height:90px;overflow:hidden;margin:0 auto}
.ad-mid,.ad-slot-a,.ad-slot-b{text-align:center}
.ad-inline2 .ad-728w{margin:0 auto}
.crumb{font-size:13px;color:var(--text-mute,#8a7b71);margin:0 0 12px}
.crumb a{color:var(--text-soft,#b6a89c);text-decoration:none}
.crumb a:hover{color:var(--gold-bright,#d9b876);text-decoration:underline}

/* ===== v29 ===== */
#nameInput{max-width:100%;box-sizing:border-box}
.input-wrap{max-width:100%}
@media (max-width:600px){ .view-toggle{display:none !important} }

/* 体型別ページの絞り込み */
.tf{background:var(--panel-soft,#241a1c);border:1px solid var(--border,#3a2a2a);border-radius:12px;padding:14px 16px;margin:18px 0 6px;display:grid;gap:10px}
.tf-row{display:grid;grid-template-columns:4.5em minmax(0,1fr) 8em;gap:12px;align-items:center}
.tf-l{font-size:14px;color:var(--text,#ece2d8);font-weight:600}
.tf-v{font-size:13px;color:var(--gold-bright,#d9b876);text-align:right;font-variant-numeric:tabular-nums}
.tf-range{position:relative;height:30px}
.tf-track{position:absolute;left:0;right:0;top:13px;height:4px;border-radius:2px;background:var(--border,#3a2a2a)}
.tf-fill{position:absolute;top:0;height:4px;border-radius:2px;background:var(--gold,#b8954f)}
.tf-range input{position:absolute;left:0;top:0;width:100%;height:30px;margin:0;background:none;pointer-events:none;-webkit-appearance:none;appearance:none}
.tf-range input::-webkit-slider-runnable-track{background:none}
.tf-range input::-webkit-slider-thumb{pointer-events:auto;-webkit-appearance:none;width:24px;height:24px;border-radius:50%;background:var(--gold-bright,#d9b876);border:3px solid #1a1314;cursor:pointer;margin-top:0}
.tf-range input::-moz-range-thumb{pointer-events:auto;width:20px;height:20px;border-radius:50%;background:var(--gold-bright,#d9b876);border:3px solid #1a1314;cursor:pointer}
.tf-range input::-moz-range-track{background:none}
.tf-sort{display:flex;flex-wrap:wrap;gap:8px}
.tf-sort button,.tf-reset,.cs-quick button{flex:0 0 auto;font:inherit;font-size:13px;border:1px solid var(--border,#3a2a2a);background:transparent;color:var(--text-soft,#b6a89c);border-radius:999px;padding:7px 13px;cursor:pointer}
.tf-sort button.on,.tf-sort button:hover,.tf-reset:hover,.cs-quick button:hover{border-color:var(--gold,#b8954f);color:var(--gold-bright,#d9b876)}
.tf-foot{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:14px;color:var(--text-soft,#b6a89c)}
.tf-foot b{color:var(--gold-bright,#d9b876);font-size:18px}
.tf-note{margin:0;font-size:11px;color:var(--text-mute,#8a7b71)}
@media (max-width:600px){ .tf-row{grid-template-columns:3.6em minmax(0,1fr);row-gap:2px} .tf-v{grid-column:2;text-align:left} .tf-row:has(.tf-sort){grid-template-columns:1fr} }
/* カップ早見表の動かせるシルエット */
.cs-quick{display:flex;gap:8px;flex-wrap:wrap;margin:6px 0 12px}
.cs-main{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:16px;align-items:start}
.cs-fig{background:#fffafa;border-radius:10px;padding:8px 6px 2px}
.cs-ctl{display:grid;gap:10px}
.cs-row{display:grid;grid-template-columns:4.5em minmax(0,1fr) 5.2em;gap:10px;align-items:center;font-size:14px;color:var(--text,#ece2d8)}
.cs-row input{width:100%;accent-color:#d9b876}
.cs-row output{text-align:right;font-weight:700;color:var(--gold-bright,#d9b876);font-variant-numeric:tabular-nums}
.cs-tg{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-soft,#b6a89c);cursor:pointer}
.cs-tg input{accent-color:#e0b23c;width:16px;height:16px;margin:0}
.cs-tg .k{display:inline-block;width:18px;height:0;border-top:2px solid #e0b23c}
.cs-wait{color:var(--text-mute,#8a7b71);font-size:13px}
.cs h3{margin:18px 0 10px}
.pf-sim{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:12px}
.pf-sim li{background:var(--panel-soft,#241a1c);border:1px solid var(--border,#3a2a2a);border-radius:10px;overflow:hidden}
.pf-sim a{text-decoration:none;color:inherit;display:block}
.pf-sim img{width:100%;aspect-ratio:1/1;object-fit:cover;object-position:center top;display:block;background:#150f10}
.pf-sim .nm{display:block;padding:7px 9px 2px;color:var(--gold-bright,#d9b876);font-weight:600;font-size:14px}
.pf-sim .sp{display:block;padding:0 9px 9px;color:var(--text-soft,#b6a89c);font-size:11px;line-height:1.5}
@media (max-width:760px){ .cs-main{grid-template-columns:1fr} .pf-sim{grid-template-columns:repeat(2,minmax(0,1fr))} }
.cs-quick button.on{border-color:var(--gold,#b8954f);color:var(--gold-bright,#d9b876);background:rgba(184,149,79,.12)}

/* ===== v34：スマホのヘッダーを全ページ同じ形に（ロゴの右にホーム・お気に入り） ===== */
@media (max-width:600px){
  .header-row>.header-left{ width:auto !important; flex:0 0 auto !important; }
  .header-row>.header-right{ width:auto !important; flex:0 0 auto !important; margin-left:auto !important; justify-content:flex-end !important; }
}

/* ===== v43：スマホ（600px以下）のヘッダーを詰める（メニューは2段のまま、文字と余白を小さく） ===== */
@media (max-width:600px){
  header{ padding:6px 10px !important; margin-bottom:6px !important; }
  .header-row{ gap:5px 6px !important; }
  .logo{ height:34px !important; }
  .hnav{ gap:4px !important; }
  .hnav a{ padding:4px 9px !important; font-size:11.5px !important; letter-spacing:0 !important; }
  .nav-link{ padding:4px 8px !important; font-size:11px !important; }
}
