@charset "UTF-8";
:root{
  --bg:#ffffff; --bg-card:#ffffff; --bg-soft:#ffffff;
  --ink:#17151c; --ink-mid:#4a4550; --muted:#7b7681;
  --line:#e4e1e8; --line-strong:#c9c4d0;
  --accent:#b5304a; --accent-soft:#ffffff;
  --maxw:1040px; --docw:720px;
}
*{margin:0;padding:0;box-sizing:border-box}
body{background:var(--bg);color:var(--ink);font-family:'Noto Sans JP',sans-serif;
  font-size:15px;line-height:1.9;-webkit-font-smoothing:antialiased}
h1,h2,h3{font-family:'Zen Kaku Gothic Antique',sans-serif}
a{color:inherit;text-decoration:none}
a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
img{max-width:100%;display:block}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 20px}
.skip{position:absolute;left:-9999px}
.skip:focus{left:8px;top:8px;z-index:200;background:var(--accent);color:#fff;padding:8px 16px}

/* 年齢確認 */
#gate{position:fixed;inset:0;z-index:100;background:#fff;
  display:flex;align-items:center;justify-content:center;padding:24px}
#gate.pass{display:none}
.gate-box{max-width:400px;text-align:center}
.gate-box .mark{font-family:'Zen Kaku Gothic Antique',sans-serif;font-weight:700;
  font-size:14px;letter-spacing:.2em;color:var(--accent);border:1px solid var(--accent);
  display:inline-block;padding:5px 16px 5px 20px;margin-bottom:24px}
.gate-box h2{font-size:20px;font-weight:700;margin-bottom:14px}
.gate-box p{font-size:13.5px;color:var(--ink-mid);margin-bottom:28px}
.gate-btns{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.gate-btns a,.gate-btns button{font-family:'Noto Sans JP',sans-serif;font-size:14px;
  font-weight:700;padding:12px 28px;cursor:pointer;border:1px solid var(--line-strong);
  background:#fff;color:var(--ink-mid)}
.gate-btns .enter{background:var(--accent);border-color:var(--accent);color:#fff}
.gate-note{margin-top:24px;font-size:11.5px;color:var(--muted)}

/* ヘッダー */
header.site{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid var(--line)}
.navbar{max-width:var(--maxw);margin:0 auto;padding:0 20px;height:58px;
  display:flex;align-items:center;justify-content:space-between;gap:14px}
.logo{display:flex;align-items:baseline;gap:9px;white-space:nowrap;min-width:0}
.logo .mark{display:inline-flex;align-items:center;color:var(--ink);line-height:0}
.logo .mark svg{display:block}
.logo .name{font-family:'Zen Kaku Gothic Antique',sans-serif;font-weight:700;
  font-size:17px;letter-spacing:.08em;overflow:hidden;text-overflow:ellipsis}
.logo .r18{font-size:10px;font-weight:700;color:var(--muted);
  border:1px solid var(--line-strong);padding:1px 6px}
nav.g{display:flex;gap:0;font-size:13.5px;white-space:nowrap}
nav.g a{padding:8px 13px;color:var(--ink-mid)}
nav.g a:hover{color:var(--accent)}

/* スマホのメニュー */
.burger{display:none;flex-direction:column;justify-content:center;gap:5px;
  width:42px;height:42px;padding:0 10px;border:1px solid var(--line-strong);
  background:#fff;cursor:pointer}
.burger span{display:block;height:1.5px;background:var(--ink);transition:none}
.burger.on span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
.burger.on span:nth-child(2){opacity:0}
.burger.on span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}
@media(max-width:680px){
  .navbar{height:54px}
  .burger{display:flex}
  nav.g{position:absolute;top:54px;left:0;right:0;display:none;
    flex-direction:column;background:#fff;border-bottom:1px solid var(--line);
    z-index:60;font-size:15px}
  nav.g.open{display:flex}
  nav.g a{padding:14px 20px;border-top:1px solid var(--line)}
  header.site{position:sticky}
}

/* 同人・商業の切り替え */
.srcbar{display:flex;gap:0;margin-bottom:12px}
.srcbar a,.srcbar span.off,.srcbar button{font-family:'Noto Sans JP',sans-serif;font-size:13px;
  padding:8px 18px;border:1px solid var(--line-strong);background:#fff;color:var(--ink-mid);
  cursor:pointer;display:inline-block}
.srcbar a+a,.srcbar a+span.off,.srcbar span.off+a{border-left:none}
.srcbar a:hover{color:var(--accent)}
.srcbar a.on{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:700}
.srcbar span.off{opacity:.4;cursor:default;border-left:none}
.srcbar .srchelp{border-left:1px solid var(--line-strong);margin-left:8px;
  width:34px;padding:8px 0;font-weight:700;color:var(--muted)}
.srcbar .srchelp.on{background:#fff;border-color:var(--line-strong);color:var(--accent)}
.srcbar button .n{font-size:11.5px;margin-left:5px;opacity:.75}
.srcnote{border:1px solid var(--line);padding:14px 16px;margin-bottom:14px;
  font-size:13px;color:var(--ink-mid)}
.srcnote p{margin-bottom:8px}
.srcnote p:last-child{margin-bottom:0}

/* ヒーロー */
.hero{border-bottom:1px solid var(--line);padding:56px 0 52px}
.hero h1{font-size:clamp(24px,4vw,34px);font-weight:700;line-height:1.5;margin-bottom:14px}
.hero .lead{max-width:560px;color:var(--ink-mid);font-size:14.5px;margin-bottom:34px}
.crosser2{display:grid;grid-template-columns:1fr 1fr;align-items:stretch;max-width:720px;gap:-1px}
.crosser2 .axis+.axis{border-left:none}
@media(max-width:600px){.crosser2{grid-template-columns:1fr}
  .crosser2 .axis+.axis{border-left:1px solid var(--line);border-top:none}}
.crosser{display:grid;grid-template-columns:1fr 52px 1fr;align-items:stretch;max-width:680px}
.axis{border:1px solid var(--line);padding:16px 18px}
.axis .lbl{font-size:12px;font-weight:700;color:var(--muted);margin-bottom:10px}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{font-size:13px;padding:6px 13px;cursor:pointer;border:1px solid var(--line-strong);
  background:#fff;color:var(--ink-mid);font-family:'Noto Sans JP',sans-serif}
.chip:hover{border-color:var(--muted)}
.chip.on{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}
.chip .n{font-size:11.5px;color:var(--muted);margin-left:4px}
.cross-x{display:flex;align-items:center;justify-content:center;
  font-family:'Zen Kaku Gothic Antique',sans-serif;font-weight:700;font-size:22px;
  color:var(--accent);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.cross-out{max-width:720px;margin-top:14px;border:1px solid var(--line);min-height:52px;font-size:13.5px;color:var(--muted);
  border-left:1px solid var(--line);padding:14px 18px;
  display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
.cross-out .t{font-size:14px;color:var(--ink-mid)}
.cross-out .go{margin-left:auto;font-size:13.5px;font-weight:700;color:var(--accent)}
@media(max-width:560px){.crosser{grid-template-columns:1fr}
  .cross-x{border:1px solid var(--line);border-top:none;border-bottom:none;padding:6px 0}}

/* セクション */
section{padding:52px 0}
section+section{border-top:1px solid var(--line)}
.sec-head{display:flex;align-items:baseline;gap:14px;margin-bottom:26px;flex-wrap:wrap}
.sec-head h2{font-size:19px;font-weight:700}
.sec-head .more{margin-left:auto;font-size:13.5px;color:var(--accent);font-weight:700}
.lists{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:14px}
.lcard{background:#fff;border:1px solid var(--line);padding:20px 20px 16px;
  display:flex;flex-direction:column;gap:9px}
.lcard:hover{border-color:var(--line-strong)}
.lcard .combo{font-size:12.5px;font-weight:700;color:var(--accent)}
.lcard .combo .cx{font-family:'Zen Kaku Gothic Antique',sans-serif}
.lcard h3{font-size:16px;font-weight:700;line-height:1.6}
.lcard p{font-size:13px;color:var(--ink-mid)}
.lcard .meta{margin-top:auto;padding-top:11px;border-top:1px solid var(--line);
  display:flex;gap:14px;font-size:12px;color:var(--muted)}
/* タブ */
.tabs{display:flex;flex-wrap:wrap;gap:0;border-bottom:1px solid var(--line);margin-bottom:18px}
.tabs button{font-family:'Noto Sans JP',sans-serif;font-size:13.5px;padding:10px 16px;
  border:none;background:none;color:var(--muted);cursor:pointer;border-bottom:2px solid transparent;
  margin-bottom:-1px}
.tabs button:hover{color:var(--ink)}
.tabs button.on{color:var(--accent);border-bottom-color:var(--accent);font-weight:700}
.tagbar{display:none;flex-wrap:wrap;gap:8px;margin-bottom:18px}
.tagbar.on{display:flex}
.tagbar button{font-family:'Noto Sans JP',sans-serif;font-size:12.5px;padding:5px 12px;
  border:1px solid var(--line-strong);background:#fff;color:var(--ink-mid);cursor:pointer}
.tagbar button:hover{border-color:var(--muted)}
.tagbar button.on{border-color:var(--accent);color:var(--accent)}
.tagbar .n{font-size:11px;color:var(--muted);margin-left:4px}

/* 選択中のタグ */
.picked{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:12px;min-height:34px}
.picked .p{display:inline-flex;align-items:center;gap:7px;font-size:13px;
  border:1px solid var(--accent);color:var(--accent);padding:5px 12px}
.picked .p b{cursor:pointer;font-weight:700}
.picked .hint{font-size:12.5px;color:var(--muted)}

/* 検索・絞り込み */
.sbox{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:22px}
.sbox input{flex:1;min-width:220px;font-family:'Noto Sans JP',sans-serif;font-size:14px;
  padding:11px 14px;border:1px solid var(--line-strong);background:#fff;color:var(--ink)}
.sbox input:focus{outline:none;border-color:var(--accent)}
.sbox .cnt{align-self:center;font-size:12.5px;color:var(--muted);white-space:nowrap}
.sres{display:flex;flex-direction:column;gap:0}
.sres a{display:flex;gap:12px;align-items:baseline;padding:12px 2px;
  border-bottom:1px solid var(--line);font-size:14px}
.sres a:hover{color:var(--accent)}
.sres .kind{font-size:11.5px;color:var(--muted);flex:0 0 68px}
.sres .num{margin-left:auto;font-size:11.5px;color:var(--muted);white-space:nowrap}
.snone{font-size:13.5px;color:var(--muted);padding:16px 0}

/* 作品カード */
.lists.works{grid-template-columns:repeat(auto-fill,minmax(330px,1fr))}
.wcard{display:flex;gap:14px;border:1px solid var(--line);padding:12px;align-items:flex-start}
.wcard:hover{border-color:var(--line-strong)}
.wcard .thumb{flex:0 0 108px;width:108px;min-height:78px;border:1px solid var(--line);
  display:flex;align-items:center;justify-content:center;overflow:hidden}
.wcard .thumb img{width:100%;height:auto;display:block}
.wcard .thumb .noimg{font-size:10.5px;color:var(--muted);padding:20px 4px;text-align:center}
.wcard .wbody{flex:1;min-width:0}
.wcard .combo{display:block;font-size:11.5px;font-weight:700;color:var(--accent);
  margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wcard h3{font-size:14.5px;font-weight:700;line-height:1.55;margin-bottom:5px;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.wcard .wtag{font-size:11.5px;color:var(--muted);margin-bottom:7px;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wcard .meta{display:flex;flex-wrap:wrap;gap:10px;font-size:11.5px;color:var(--muted);
  padding-top:7px;border-top:1px solid var(--line)}

.tags{display:flex;flex-wrap:wrap;gap:9px}
.tagbig{border:1px solid var(--line);padding:9px 16px;font-size:13.5px;
  color:var(--ink-mid);display:flex;align-items:baseline;gap:9px}
.tagbig:hover{border-color:var(--accent);color:var(--accent)}
.tagbig .n{font-size:11.5px;color:var(--muted)}
.circles{display:grid;grid-template-columns:repeat(auto-fill,minmax(225px,1fr));gap:14px}
.ccard{background:#fff;border:1px solid var(--line);padding:17px 18px}
.ccard:hover{border-color:var(--line-strong)}
.ccard .cname{font-size:15px;font-weight:700;margin-bottom:5px}
.ccard .cstyle{font-size:12.5px;color:var(--ink-mid);margin-bottom:11px}
.ccard .cstat{display:flex;gap:12px;font-size:11.5px;color:var(--muted);
  padding-top:10px;border-top:1px solid var(--line)}
.ai-strip{border:1px solid var(--line);
  border-left:1px solid var(--line);padding:22px 24px;
  display:flex;gap:24px;align-items:center;flex-wrap:wrap}
.ai-strip .body{flex:1;min-width:250px}
.ai-strip h3{font-size:16.5px;font-weight:700;margin-bottom:7px}
.ai-strip p{font-size:13.5px;color:var(--ink-mid)}
.ai-strip .go{font-size:13.5px;font-weight:700;color:var(--accent);
  border:1px solid var(--accent);padding:10px 22px;white-space:nowrap}
.pr-note{font-size:11.5px;color:var(--muted);border:1px solid var(--line);
  padding:10px 16px;margin-top:30px}

/* 文書ページ */
.doc{max-width:var(--docw);margin:0 auto;padding:52px 20px 64px}
.doc .crumb{font-size:12px;color:var(--muted);margin-bottom:24px}
.doc .crumb a{color:var(--ink-mid)}
.doc h1{font-size:clamp(21px,3.2vw,27px);font-weight:700;line-height:1.55;margin-bottom:10px}
.doc .sub{font-size:13px;color:var(--muted);margin-bottom:36px;
  padding-bottom:20px;border-bottom:1px solid var(--line)}
.doc h2{font-size:17px;font-weight:700;margin:40px 0 13px}
.doc h3{font-size:15px;font-weight:700;margin:24px 0 8px}
.doc p{margin-bottom:16px;color:var(--ink-mid);font-size:14.5px}
.doc ul,.doc ol{margin:0 0 18px 22px;color:var(--ink-mid);font-size:14.5px}
.doc li{margin-bottom:6px}
.doc a{color:var(--accent);border-bottom:1px solid var(--line-strong)}
.doc table{width:100%;border-collapse:collapse;margin-bottom:22px;font-size:14px}
.doc th,.doc td{border:1px solid var(--line);padding:11px 14px;text-align:left;vertical-align:top}
.doc th{width:32%;font-weight:700}
.doc td{color:var(--ink-mid)}
.doc .box{border:1px solid var(--line);
  border-left:1px solid var(--line);padding:18px 20px;margin-bottom:22px}
.doc .box p:last-child{margin-bottom:0}
.doc .mail{font-family:'Zen Kaku Gothic Antique',sans-serif;font-weight:700;
  font-size:17px;word-break:break-all}
.doc .updated{margin-top:44px;padding-top:18px;border-top:1px solid var(--line);
  font-size:12px;color:var(--muted)}

/* ヒーローの導入文 */
.hero .catch{text-align:center;font-size:13px;color:var(--muted);margin-bottom:30px}

/* 作品の詳細 */
#modal{position:fixed;inset:0;z-index:120;background:rgba(23,21,28,.55);
  display:none;align-items:flex-start;justify-content:center;padding:40px 16px;overflow:auto}
#modal.on{display:flex}
.mbox{background:#fff;border:1px solid var(--line-strong);max-width:820px;width:100%}
.mhead{display:flex;gap:14px;align-items:flex-start;padding:20px 22px;border-bottom:1px solid var(--line)}
.mhead h3{font-size:17px;font-weight:700;line-height:1.55;flex:1}
.mhead .x{font-size:20px;color:var(--muted);cursor:pointer;line-height:1;padding:0 4px}
.mbody{padding:20px 22px}
.mbody .sale{display:inline-block;font-size:12px;color:var(--accent);
  border:1px solid var(--accent);padding:3px 10px;margin-bottom:14px}
.msamples{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:8px;margin-bottom:18px}
.msamples img{width:100%;height:auto;border:1px solid var(--line)}
.mtable{width:100%;border-collapse:collapse;font-size:13.5px;margin-bottom:18px}
.mtable th,.mtable td{border:1px solid var(--line);padding:9px 12px;text-align:left;vertical-align:top}
.mtable .mlink{color:var(--accent);text-decoration:underline;text-underline-offset:2px}
.mtable .mlink:hover{opacity:.75}
.mtable th{width:26%;font-weight:700;white-space:nowrap}
.mtable td{color:var(--ink-mid)}
.mtags{display:flex;flex-wrap:wrap;gap:6px}
.mtags span{font-size:12px;border:1px solid var(--line);padding:3px 9px;color:var(--ink-mid)}
.mgo{display:inline-block;background:var(--accent);color:#fff;font-weight:700;
  font-size:14px;padding:12px 26px;margin-top:4px}
.mnote{font-size:11.5px;color:var(--muted);margin-top:14px}

/* 一覧ページの見出し（カードと同じ幅に揃える） */
.doc.wide{max-width:var(--maxw);padding-bottom:26px}
.doc.wide .sub{margin-bottom:0}

/* 一覧カードのサムネイル */
.ccard .cthumb{display:flex;gap:4px;margin:-17px -18px 13px}
.ccard .cthumb span{flex:1;min-width:0;height:82px;overflow:hidden;
  border-bottom:1px solid var(--line);display:block}
.ccard .cthumb span+span{border-left:1px solid var(--line)}
.ccard .cthumb img{width:100%;height:100%;object-fit:cover;display:block}

/* タグの箱 */
.tagboxes{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));
  gap:10px;margin-bottom:14px}
@media(max-width:1000px){.tagboxes{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.tagboxes{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:460px){.tagboxes{grid-template-columns:1fr}}
.tagbox{border:1px solid var(--line);padding:12px 14px}
.tagbox-h{font-size:12px;font-weight:700;color:var(--muted);
  padding-bottom:8px;margin-bottom:10px;border-bottom:1px solid var(--line);
  display:flex;justify-content:space-between;align-items:baseline;gap:6px}
.tagbox-h .next{font-style:normal;font-weight:500;font-size:11px;color:var(--accent);white-space:nowrap}
.picked .p .no{font-style:normal;margin-right:5px;color:var(--accent);font-weight:700}
.tagbox .chips{gap:6px}
.tagbox .chip{font-size:12.5px;padding:5px 11px}
.tagbox .hint{font-size:12px;color:var(--muted)}

/* ページ送り */
.pager{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;
  padding:26px 20px 4px;max-width:var(--maxw);margin:0 auto}
.pager .pg{min-width:38px;padding:9px 12px;border:1px solid var(--line-strong);
  font-size:13.5px;text-align:center;color:var(--ink-mid)}
.pager a.pg:hover{border-color:var(--accent);color:var(--accent)}
.pager .pg.on{border-color:var(--accent);background:var(--accent);color:#fff;font-weight:700}
.pager .pgdots{padding:9px 4px;color:var(--muted);font-size:13.5px}

/* 404 */
.nf{max-width:var(--docw);margin:0 auto;padding:80px 20px 90px;text-align:center}
.nf .code{font-family:'Zen Kaku Gothic Antique',sans-serif;font-weight:700;
  font-size:52px;color:var(--accent);line-height:1;margin-bottom:16px}
.nf h1{font-size:21px;font-weight:700;margin-bottom:12px}
.nf p{color:var(--ink-mid);font-size:14px;margin-bottom:30px}
.nf .back{display:inline-block;border:1px solid var(--accent);color:var(--accent);
  font-weight:700;font-size:14px;padding:11px 28px}

/* フッター */
footer.site{border-top:1px solid var(--line);background:#fff;padding:40px 0 30px;margin-top:20px}
.f-legalnav{margin-top:10px}
.f-legalnav a{font-size:12px;color:var(--muted)}
.f-pop{border-bottom:1px solid var(--line);padding-bottom:22px;margin-bottom:24px}
.f-pop-h{font-size:13px;font-weight:700;color:var(--ink);margin-bottom:14px}
.f-pop-g{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.f-pop-t{font-size:11.5px;color:var(--muted);margin-bottom:8px}
.f-pop-l{display:flex;flex-wrap:wrap;gap:6px}
.f-pop-l a{font-size:12.5px;padding:4px 10px;border:1px solid var(--line-strong);color:var(--ink-mid)}
.f-pop-l a:hover{border-color:var(--accent);color:var(--accent)}
.f-pop-l a .n{font-size:11px;color:var(--muted);margin-left:5px}
@media(max-width:640px){.f-pop-g{grid-template-columns:1fr}}

.f-grid{display:flex;justify-content:space-between;gap:28px;flex-wrap:wrap;margin-bottom:26px}
.f-brand .name{font-family:'Zen Kaku Gothic Antique',sans-serif;font-weight:700;
  font-size:16px;letter-spacing:.08em;margin-bottom:7px}
.f-brand p{font-size:12px;color:var(--muted);max-width:330px}
.f-nav{display:flex;gap:24px;flex-wrap:wrap;font-size:12.5px}
.f-nav a{color:var(--ink-mid)}
.f-nav a:hover{color:var(--accent)}
.f-legal{border-top:1px solid var(--line);padding-top:18px;font-size:11px;
  color:var(--muted);line-height:2}

/* 絞り込み検索 */
.fpicked{display:flex;flex-wrap:wrap;gap:7px;align-items:center;min-height:38px;margin-bottom:14px}
.fpicked .p{display:inline-flex;align-items:center;gap:7px;padding:7px 12px;
  border:1px solid var(--accent);color:var(--accent);font-size:13px;font-weight:700}
.fpicked .p.ex{border-color:var(--ink-mid);color:var(--ink-mid)}
.fpicked .p .no{font-style:normal;color:var(--accent)}
.fpicked .p b{cursor:pointer;font-weight:400;opacity:.6}
.fpicked .p b:hover{opacity:1}
.fpicked .hint{font-size:13px;color:var(--muted)}
.fchip{font-family:'Noto Sans JP',sans-serif;font-size:12.5px;padding:5px 11px;
  border:1px solid var(--line-strong);background:#fff;color:var(--ink-mid);cursor:pointer}
.fchip:hover{border-color:var(--accent);color:var(--accent)}
.fchip.in{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:700}
.fchip.ex{background:var(--ink-mid);border-color:var(--ink-mid);color:#fff;text-decoration:line-through}
.fchip .n{font-size:11px;margin-left:5px;opacity:.7}
.fnote{font-size:12px;color:var(--muted);margin-bottom:18px}
.fnote .in{color:var(--accent)}
.fnote .ex{color:var(--ink-mid)}
.fcond{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;
  padding:14px;border:1px solid var(--line);margin-bottom:14px}
.fcond label{display:flex;flex-direction:column;gap:5px;font-size:11.5px;color:var(--muted)}
.fcond select{font-family:'Noto Sans JP',sans-serif;font-size:13px;padding:7px 10px;
  border:1px solid var(--line-strong);background:#fff;color:var(--ink)}
.fclear{font-family:'Noto Sans JP',sans-serif;font-size:12.5px;padding:8px 14px;
  border:1px solid var(--line-strong);background:#fff;color:var(--ink-mid);cursor:pointer}
.fclear:hover{border-color:var(--accent);color:var(--accent)}
.fbar{position:sticky;top:0;z-index:40;background:#fff;border-bottom:1px solid var(--line);
  padding:12px 0;margin-bottom:16px;font-size:13px;color:var(--ink-mid)}
.fbar .fcount{font-size:22px;font-weight:700;color:var(--accent);margin-right:3px}
.fbar .fstate{font-size:11.5px;color:var(--muted);margin-left:10px}
.fmore{text-align:center;padding:24px 0}
.fmore button{font-family:'Noto Sans JP',sans-serif;font-size:14px;font-weight:700;
  padding:12px 40px;border:1px solid var(--accent);background:#fff;color:var(--accent);cursor:pointer}
.fmore button:hover{background:var(--accent);color:#fff}
.thumb .offbadge{position:absolute;left:0;top:0;background:var(--accent);color:#fff;
  font-size:11px;font-weight:700;padding:3px 7px}
.thumb{position:relative}
@media(max-width:700px){
  .fcond{gap:8px;padding:12px}
  .fcond label{flex:1 1 46%}
  .fcond select{width:100%}
  .fclear{flex:1 1 100%}
  .fbar .fcount{font-size:19px}
}

/* 広告枠 */
.adslot{position:relative;margin:22px 0;padding:14px;border:1px solid var(--line);
  text-align:center;overflow:hidden;min-height:60px}
.adslot.inline{grid-column:1/-1;margin:6px 0}
.adslot .adlabel{position:absolute;left:8px;top:6px;font-size:10px;color:var(--muted);letter-spacing:.04em}
.adslot img,.adslot iframe{max-width:100%}

/* 似ている作品 */
.msim{margin-top:20px;padding-top:16px;border-top:1px solid var(--line)}
.msim-h{font-size:12.5px;font-weight:700;color:var(--ink);margin-bottom:10px}
.msim-l{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;font-size:12px;color:var(--muted)}
.simcard{display:block;color:var(--ink)}
.simcard img{width:100%;aspect-ratio:2/3;object-fit:cover;border:1px solid var(--line);display:block}
.simcard .simt{display:block;font-size:11.5px;line-height:1.45;margin-top:5px;
  overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.simcard .simm{display:block;font-size:10.5px;color:var(--muted);margin-top:2px}
.simcard:hover .simt{color:var(--accent)}
@media(max-width:600px){.msim-l{grid-template-columns:repeat(3,1fr)}}

/* 代表的な作者 */
.ahl{border:1px solid var(--line)}
.ahl-row{display:flex;gap:14px;padding:11px 14px;border-bottom:1px solid var(--line)}
.ahl-row:last-child{border-bottom:none}
.ahl-k{flex:0 0 128px;font-size:12.5px;font-weight:700}
.ahl-k a{color:var(--ink)}
.ahl-k a:hover{color:var(--accent)}
.ahl-v{display:flex;flex-wrap:wrap;gap:6px}
.ahl-v a,.ahl-v .off{font-size:12px;padding:3px 9px;border:1px solid var(--line-strong);color:var(--ink-mid)}
.ahl-v a:hover{border-color:var(--accent);color:var(--accent)}
.ahl-v .off{opacity:.45}
.ahl-v .n{font-size:10.5px;color:var(--muted);margin-left:5px}
@media(max-width:640px){.ahl-row{flex-direction:column;gap:7px}.ahl-k{flex:none}}

/* 作者の羅列 */
.anames{display:flex;flex-wrap:wrap;gap:6px}
.anames .aname{font-size:12.5px;padding:5px 10px;border:1px solid var(--line-strong);color:var(--ink-mid)}
.anames .aname:hover{border-color:var(--accent);color:var(--accent)}
.anames .aname .n{font-size:10.5px;color:var(--muted);margin-left:5px}
.cfrom{font-size:11.5px;color:var(--muted);margin-top:2px}

/* 履歴 */
.shist{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:10px 0 4px}
.shist .hlabel{font-size:11.5px;color:var(--muted);margin-right:4px}
.shist .hq{font-family:'Noto Sans JP',sans-serif;font-size:12px;padding:4px 10px;
  border:1px solid var(--line-strong);background:#fff;color:var(--ink-mid);cursor:pointer}
.shist .hq:hover{border-color:var(--accent);color:var(--accent)}
.shist .hclear{font-family:'Noto Sans JP',sans-serif;font-size:11px;padding:4px 8px;
  border:none;background:none;color:var(--muted);cursor:pointer;text-decoration:underline}
.wcard-lite{cursor:pointer}
