/* レズ風俗.com — 1枚だけの見た目。★レズ.tokyo（水色×ピンク）と同じ配色にしない */
:root{
  --ink:#2a1a24; --sub:#6d5b66; --bg:#fbf7f2; --card:#fff; --line:#eadfe2;
  --wine:#5a1f3c; --berry:#8e2c5a; --gold:#b8921c; --soft:#f6e9ef;
  --c-bian:#8e2c5a; --c-date:#2f6f8f; --c-soine:#4f7a45; --c-stay:#6b4e9b; --c-esthe:#b0643a; --c-sm:#3f3d56; --c-multi:#7a6a1f;
  --r:12px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.8 system-ui,-apple-system,"Hiragino Sans","Hiragino Kaku Gothic ProN","Noto Sans JP","Yu Gothic",Meiryo,sans-serif;word-break:normal;overflow-wrap:anywhere}
a{color:var(--berry);text-underline-offset:3px}
a:hover{color:var(--wine)}
.w{max-width:960px;margin:0 auto;padding:0 16px}
main.w{padding-top:8px;padding-bottom:40px}
h1{font-size:1.6rem;line-height:1.4;margin:.6em 0 .4em;letter-spacing:.02em}
h1 small,h2 small{display:block;font-size:.85rem;font-weight:500;color:var(--sub);margin-top:.2em}
h2 small{display:inline;margin-left:.4em}
h2{font-size:1.25rem;line-height:1.45;margin:1.8em 0 .6em;padding-left:.6em;border-left:5px solid var(--berry)}
h3{font-size:1.05rem;margin:1.4em 0 .4em}
p{margin:.6em 0}
.lead{font-size:1.05rem}
.note{font-size:.88rem;color:var(--sub)}
.nd{color:var(--sub);font-size:.88rem}
.age{font-weight:700}

/* ヘッダー */
.hd{background:var(--wine);color:#fff}
.hd .w{padding-top:14px;padding-bottom:10px}
.logo{color:#fff;text-decoration:none;font-weight:800;font-size:1.45rem;letter-spacing:.04em}
.logo span{color:#f3c8d8;font-weight:600;font-size:1rem;margin-left:1px}
.logo:hover{color:#fff}
.tag{margin:2px 0 0;font-size:.82rem;color:#f0dbe4}
.gn{background:#4a1832;border-top:1px solid rgba(255,255,255,.12)}
/* ★横スクロールにしない。スマホで「複数」「ランキング」が画面の外に隠れていた（2026-09-21 375pxで実測） */
.gn .w{display:flex;flex-wrap:wrap;gap:6px;padding-top:8px;padding-bottom:8px}
.gn a{flex:0 0 auto;color:#fff;text-decoration:none;font-size:.88rem;padding:4px 11px;border-radius:999px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);min-height:36px;display:inline-flex;align-items:center}
.gn a:hover{background:rgba(255,255,255,.2);color:#fff}
.gn a.gn-r{background:var(--gold);border-color:var(--gold);color:#2a1a24;font-weight:700}
.gn .w + .w{padding-top:0}
.gn .gl{flex:0 0 auto;color:#e6c7d5;font-size:.75rem;align-self:center;min-width:2.4em}
/* 地域の札（トップ） */
.rcs{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.rc{display:flex;justify-content:space-between;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:14px 16px;text-decoration:none;color:var(--ink);min-height:56px}
.rc b{font-size:1.1rem}
.rc em{font-style:normal;font-weight:800;color:var(--berry)}
.rc:hover{border-color:var(--berry)}
@media(min-width:640px){.rcs{grid-template-columns:repeat(4,1fr)}}
/* 絞り込み */
.fchips{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:.5em 0}
.fchips .fl{font-size:.8rem;color:var(--sub);min-width:2.6em}
.fchips a,.fchips span.on,.fchips button{padding:4px 12px;border-radius:8px;border:1px solid var(--line);background:var(--card);text-decoration:none;font:inherit;font-size:.88rem;min-height:36px;display:inline-flex;align-items:center;color:var(--berry);cursor:pointer}
.fchips button:hover,.tabs button:hover{border-color:var(--berry)}
.tabs button{padding:6px 14px;border-radius:999px;border:1px solid var(--line);background:var(--card);font:inherit;font-size:.9rem;min-height:38px;color:var(--berry);cursor:pointer}
.fchips span.on{background:var(--berry);border-color:var(--berry);color:#fff;font-weight:700}
.bc{font-size:.85rem;color:var(--sub)}
.bc .w{padding-top:10px}
.bc a{color:var(--sub)}

/* トップ */
.hero h1{font-size:1.9rem;margin-top:.5em}
.box{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:4px 18px 10px;margin:1.4em 0}
.box h2{border-left:0;padding-left:0;margin-top:.9em}
.tcs{display:grid;grid-template-columns:1fr;gap:10px}
.tc{display:block;background:var(--card);border:1px solid var(--line);border-left:6px solid var(--tc,var(--berry));border-radius:var(--r);padding:12px 14px;text-decoration:none;color:var(--ink);position:relative}
.tc:hover{border-color:var(--tc);color:var(--ink)}
.tc b{display:block;font-size:1.08rem;color:var(--tc)}
.tc span{display:block;font-size:.9rem;color:var(--sub);padding-right:3.2em}
.tc em{position:absolute;right:14px;top:12px;font-style:normal;font-weight:800;color:var(--tc)}
@media(min-width:640px){.tcs{grid-template-columns:1fr 1fr}}
.c-bian{--tc:var(--c-bian)} .c-date{--tc:var(--c-date)} .c-soine{--tc:var(--c-soine)}
.c-stay{--tc:var(--c-stay)} .c-esthe{--tc:var(--c-esthe)} .c-sm{--tc:var(--c-sm)} .c-multi{--tc:var(--c-multi)}
.more{text-align:right;font-weight:700}
.disc{font-size:.88rem;color:var(--sub);border-top:1px dashed var(--line);padding-top:1em;margin-top:2em}
.dots{padding-left:1.2em;margin:.4em 0}
.dots li{margin:.3em 0}

/* 種類のしるし */
.chips{margin:.2em 0 0;display:flex;flex-wrap:wrap;gap:4px}
.chips i,.cmp i,.mx i{font-style:normal;font-size:.75rem;font-weight:700;color:#fff;background:var(--tc);border-radius:4px;padding:1px 7px;line-height:1.6}
.chips.big i{font-size:.85rem;padding:2px 10px}

/* 順位 */
.tabs{display:flex;gap:6px;margin:.6em 0 1em;flex-wrap:wrap}
.tabs a,.tabs span{padding:6px 14px;border-radius:999px;border:1px solid var(--line);background:var(--card);text-decoration:none;font-size:.9rem;min-height:38px;display:inline-flex;align-items:center}
.tabs span.on{background:var(--wine);border-color:var(--wine);color:#fff;font-weight:700}
.rk{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.rk li{display:grid;grid-template-columns:52px 110px 1fr auto;gap:12px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:10px 12px;cursor:pointer}
.rk .lg{width:110px;height:44px;display:flex;align-items:center;justify-content:center;background:#fff;border-radius:6px}
.rk .lg img{max-width:110px;max-height:44px;width:auto;height:auto;object-fit:contain}
.shophead{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:.6em}
.shophead h1{margin:0}
.slogo{max-width:200px;max-height:72px;width:auto;height:auto;object-fit:contain;background:#fff;border:1px solid var(--line);border-radius:8px;padding:4px}
.rk li:hover{border-color:var(--berry)}
.rk .no{display:flex;flex-direction:column;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;background:var(--soft);color:var(--wine);font-size:.72rem;line-height:1}
.rk .no b{font-size:1.25rem;line-height:1.1}
.rk .no.r1{background:var(--gold);color:#2a1a24}
.rk .no.r2{background:#c7c3c8;color:#2a1a24}
.rk .no.r3{background:#c98e5e;color:#2a1a24}
.rk .no.rx{background:transparent;border:1px dashed var(--line);color:var(--sub);font-size:1rem}
.rk .nm{font-weight:700;font-size:1.05rem;text-decoration:none;color:var(--ink)}
.rk .nm:hover{color:var(--berry);text-decoration:underline}
.rk .own{display:inline-block;margin-left:6px;font-size:.72rem;background:#fff4d6;color:#7a5a00;border:1px solid #ecd48a;border-radius:4px;padding:0 6px;vertical-align:2px}
.rk .meta{font-size:.82rem;color:var(--sub)}
.rk .cs{font-size:.88rem}
.rk .cs b{margin-left:.5em;color:var(--wine)}
.rk .pv{text-align:right;font-size:.8rem;color:var(--sub);white-space:nowrap}
.rk .pv b{display:block;font-size:1.2rem;color:var(--ink)}
.rk .pv .sub2{display:block;margin-top:2px;font-size:.75rem;color:var(--sub);border-top:1px dashed var(--line);padding-top:2px}
.gn a.gn-s{background:#fff4d6;border-color:#ecd48a;color:#5a3e00;font-weight:700}
/* 点数の表 */
table.sct td,table.sct th{white-space:nowrap}
table.sct td.full{background:#eef6ea}
table.sct td.part{background:#fff7e0}
table.sct td.zero{background:#fbe9e8;color:#a33}
table.sct th small{display:block;font-weight:400}
table.sc td b{font-size:1.05rem}
.wait-note{background:#fff;border:1px dashed var(--gold);border-radius:var(--r);padding:10px 14px;color:var(--ink)}
.sum b{font-size:1.1rem}

/* 表 */
.tw{overflow-x:auto}
table{border-collapse:collapse;width:100%;background:var(--card);border-radius:var(--r);font-size:.92rem}
th,td{border-bottom:1px solid var(--line);padding:10px 12px;text-align:left;vertical-align:top}
thead th{background:var(--soft);color:var(--wine);font-size:.85rem;white-space:nowrap}
th small{display:block;font-weight:400;color:var(--sub);font-size:.8rem}
.cmp td b{color:var(--wine)}
.cmp th a{font-weight:700}
.info th{width:8em;background:#fdfafb;white-space:nowrap}
.rg th{width:8.5em;white-space:nowrap;background:#fdfafb}
.rg th small{display:inline;margin-left:.4em}
.rg td a{display:inline-block;margin:0 .9em .2em 0}
.mx td,.mx th{text-align:center;padding:8px 6px}
.mx tbody th{text-align:left}
.mx thead th{color:#fff;background:var(--tc,var(--wine))}
.mx thead th:first-child{background:var(--wine)}
@media(max-width:640px){
  table.cmp thead{display:none}
  table.cmp,table.cmp tbody,table.cmp tr,table.cmp th,table.cmp td{display:block;width:auto}
  table.cmp tr{border:1px solid var(--line);border-radius:var(--r);margin-bottom:8px;background:var(--card)}
  table.cmp th{background:var(--soft);border-radius:var(--r) var(--r) 0 0}
  table.cmp td{display:flex;gap:10px;align-items:flex-start;border-bottom:1px dashed var(--line)}
  table.cmp td:last-child{border-bottom:0}
  table.cmp td::before{content:attr(data-label);flex:0 0 6.5em;color:var(--sub);font-size:.8rem}
  .info th{width:6.5em}
  .rk li{grid-template-columns:40px 1fr auto;grid-template-areas:"no lg pv" "no bd pv";gap:4px 10px;padding:10px}
  .rk .no{width:40px;height:40px;grid-area:no}
  .rk .lg{grid-area:lg;justify-content:flex-start;width:auto;height:34px;background:transparent}
  .rk .lg img{max-width:140px;max-height:34px}
  .rk .bd{grid-area:bd}
  .rk .pv{grid-area:pv}
}

/* 店ページ */
.pvbox{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:12px;margin:1em 0}
.pvbox div{text-align:center;font-size:.85rem;color:var(--sub)}
.pvbox div span{display:block}
.pvbox div b{font-size:1.4rem;color:var(--ink);margin-right:2px}
.pvbox p{grid-column:1/-1;margin:.2em 0 0;font-size:.9rem;text-align:center}
.ownbox{background:#fff4d6;border:1px solid #ecd48a;border-radius:var(--r);padding:10px 14px;font-size:.92rem}
.src{font-size:.9rem}
.src ul{padding-left:1.2em}
.pv-beacon{position:absolute;left:-9999px;width:1px;height:1px}
.others{display:flex;flex-wrap:wrap;gap:8px}
.others a{border:1px solid var(--tc);color:var(--tc);border-radius:999px;padding:4px 12px;text-decoration:none;font-weight:700;min-height:38px;display:inline-flex;align-items:center}
.others a small{font-weight:500;margin-left:.3em}
.others a:not([class]){border-color:var(--berry);color:var(--berry)}
.cmp th small{color:#7a5a00}
.ty{background:var(--card);border:1px solid var(--line);border-top:5px solid var(--tc);border-radius:var(--r);padding:2px 16px 10px;margin:1.2em 0}
.ty h2{border-left:0;padding-left:0;color:var(--tc)}
.ex{font-size:.9rem;color:var(--sub)}

/* フォーム */
.fm{display:grid;gap:14px;max-width:560px}
.fm label{display:grid;gap:4px;font-weight:700;font-size:.92rem}
.fm input,.fm select,.fm textarea{font:inherit;font-size:16px;padding:10px 12px;border:1px solid #cdbfc6;border-radius:8px;background:#fff;width:100%}
.fm button{font:inherit;font-weight:700;background:var(--wine);color:#fff;border:0;border-radius:999px;padding:12px 28px;min-height:48px;cursor:pointer;justify-self:start}
.fm .hp{position:absolute;left:-9999px}
.ok{background:#eaf5ea;border:1px solid #9cc79c;border-radius:var(--r);padding:10px 14px}
.err{background:#fdeceb;border:1px solid #e3a3a0;border-radius:var(--r);padding:10px 14px}

/* フッター */
.ft{background:#2a1a24;color:#e9dde3;font-size:.86rem;margin-top:24px}
.ft .w{padding-top:18px;padding-bottom:22px}
.ft a{color:#f3c8d8}
.fl{display:flex;flex-wrap:wrap;gap:6px 16px}
.cp{color:#b9a7b1;margin-top:1em}
