:root{--maxw:960px;--radius:14px;--gap:22px;}
body.theme-men{--bg:#eef5ff;--head:#acd3ff;--nav:#dbeaff;--sec-head:#dcecff;--soft:#f3f8ff;--accent:#2f6fd0;--accent-dark:#1c4f9c;--accent-2:#bcd8ff;--chip-hover:#eaf3ff;}
body.theme-women{--bg:#fff3f8;--head:#f5b9d0;--nav:#ffe0ee;--sec-head:#ffe1ee;--soft:#fff5fa;--accent:#d81b60;--accent-dark:#b3184d;--accent-2:#f4c3d7;--chip-hover:#fff0f6;}

:root{
  --maxw: 960px;
  --radius: 14px;
  --gap: 22px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:"Hiragino Kaku Gothic ProN","Hiragino Sans","Meiryo","Yu Gothic",system-ui,sans-serif;
  color:#000000;
  background:var(--bg);
  font-size:1em;
  font-weight:700;
  line-height:1.9;
  -webkit-text-size-adjust:100%;
padding-bottom:110px;}
input,select,textarea,button{font-weight:700}
a{color:var(--accent);text-decoration:none}
a:hover{text-decoration:underline}
img{max-width:100%;height:auto}

/* ===== ヘッダー ===== */
.site-head{background:var(--head);}
.site-head .inner{max-width:var(--maxw);margin:0 auto;padding:18px 18px 14px;}
.site-head h1{margin:0;font-size:1.4737em;letter-spacing:.02em;color:#20303f;}
.site-head h1 small{display:block;font-size:.6429em;font-weight:700;color:#3a4a58;margin-top:4px;}
.site-head .lead{margin:6px 0 0;font-size:.9474em;color:#3a4a58;}
.topbar{max-width:var(--maxw);margin:0 auto;padding:8px 18px;display:flex;gap:10px;flex-wrap:wrap;align-items:center;}
.topbar a{
  display:inline-block;background:#fff;border:1px solid var(--accent-2);
  color:var(--accent);border-radius:999px;padding:6px 14px;font-size:.9474em;font-weight:700;
}
.topbar a:hover{background:var(--chip-hover);text-decoration:none;}

/* ===== 見出しジャンプメニュー（固定） ===== */
.jump{position:fixed;left:0;right:0;bottom:0;z-index:60;background:var(--nav);border-top:1px solid var(--accent-2);box-shadow:0 -2px 8px rgba(0,0,0,.12);}
.jump .inner{max-width:var(--maxw);margin:0 auto;padding:4px 8px;text-align:center;}
.jump a{display:inline-block;background:#fff;border:1px solid var(--accent-2);color:var(--accent-dark);border-radius:999px;padding:3px 9px;margin:2px 2px;font-size:.9474em;font-weight:700;white-space:nowrap;}
.jump a:hover{background:var(--chip-hover);text-decoration:none;}

/* ===== 本文 ===== */
main{max-width:var(--maxw);margin:0 auto;padding:var(--gap) 16px 60px;}
.card{
  background:#fff;border:1px solid var(--accent-2);border-radius:var(--radius);
  margin:0 0 var(--gap);overflow:hidden;scroll-margin-top:12px;
}
.card > h2{
  margin:0;background:var(--sec-head);color:var(--accent-dark);
  font-size:1.3158em;padding:13px 18px;border-bottom:1px solid var(--accent-2);
}
.card .body{padding:16px 20px;}
.card .body > *:first-child{margin-top:0}
.card .body > *:last-child{margin-bottom:0}
h3{font-size:1.2105em;color:var(--accent-dark);margin:18px 0 8px;border-left:5px solid var(--accent);padding-left:10px;}
ul,ol{margin:8px 0;padding-left:1.4em}
li{margin:4px 0}
p{margin:8px 0}
.note{font-size:.9474em;color:#666}
.tag{display:inline-block;background:var(--sec-head);color:var(--accent-dark);border:1px solid var(--accent-2);border-radius:6px;padding:1px 8px;font-size:.9474em;font-weight:700;margin-right:4px;}
.callout{background:var(--soft);border:1px dashed var(--accent-2);border-radius:10px;padding:12px 14px;margin:12px 0;}
.warn{color:#c0392b;font-weight:700}
.check li{list-style:none;position:relative;padding-left:1.5em}
.check li:before{content:"✔";position:absolute;left:0;color:var(--accent);font-weight:700}
.ng li{list-style:none;position:relative;padding-left:1.6em}
.ng li:before{content:"×";position:absolute;left:0;color:#c0392b;font-weight:700}
table{border-collapse:collapse;width:100%;margin:12px 0;font-size:.9474em;}
th,td{border:1px solid var(--accent-2);padding:7px 9px;text-align:left;vertical-align:top;word-break:break-word;overflow-wrap:anywhere;}
th{background:var(--sec-head);color:var(--accent-dark);}
.flow{list-style:none;padding:0;margin:10px 0;counter-reset:step;}
.flow li{position:relative;padding:10px 8px 10px 52px;margin:6px 0;background:var(--soft);border-radius:10px;}
.flow li:before{counter-increment:step;content:counter(step);position:absolute;left:9px;top:50%;transform:translateY(-50%);
  width:34px;height:34px;border-radius:50%;background:var(--accent);color:#fff;font-weight:700;display:flex;align-items:center;justify-content:center;font-size:18px;}
.cta{display:block;text-align:center;background:var(--accent);color:#fff;font-weight:700;font-size:1.1053em;
  border-radius:12px;padding:15px;margin:16px 0;box-shadow:0 3px 10px rgba(0,0,0,.15);}
.cta:hover{filter:brightness(1.06);text-decoration:none;color:#fff;}

/* ===== トップへ戻る ===== */
#toTop{position:fixed;right:16px;bottom:122px;z-index:60;display:none;
  width:48px;height:48px;border-radius:50%;border:none;cursor:pointer;
  background:var(--accent);color:#fff;font-size:22px;box-shadow:0 3px 10px rgba(0,0,0,.25);}
#toTop:hover{filter:brightness(1.08)}

/* ===== フッター ===== */
footer{background:var(--head);margin-top:30px;}
footer .inner{max-width:var(--maxw);margin:0 auto;padding:18px;text-align:center;font-size:.9474em;color:#33424f;}
footer a{color:#26506f;font-weight:700}

/* ===== スマホ ===== */
@media (max-width:640px){
  .site-head h1{font-size:1.2105em}
  .site-head h1 small{font-size:.7826em}
  .card > h2{font-size:1.2105em}
  main{padding:16px 10px 60px}
  .card .body{padding:14px 14px}
  table{font-size:.9474em}
  th,td{padding:6px 6px}
}

/* ===== 入口ページ（男女振り分け）用 ===== */
body.theme-top{--bg:#f5f2f8;--head:#e7dcee;--nav:#efe7f5;--sec-head:#f0e8f6;--soft:#faf7fc;--accent:#7a4fa3;--accent-dark:#5e3a82;--accent-2:#dbc9e8;--chip-hover:#f1e9f7;}
.enter{display:flex;gap:16px;flex-wrap:wrap;margin:6px 0 22px}
.enter-btn{flex:1 1 240px;display:block;text-align:center;text-decoration:none;border-radius:16px;padding:26px 18px;border:2px solid;box-shadow:0 3px 10px rgba(0,0,0,.08);transition:transform .15s,filter .15s}
.enter-btn:hover{transform:translateY(-3px);filter:brightness(1.03);text-decoration:none}
.enter-btn b{display:block;font-size:1.2632em}
.enter-btn span{display:block;font-size:.9474em;margin-top:6px;opacity:.85}
.enter-btn.women{background:#fff0f6;border-color:#f5b9d0;color:#b3184d}
.enter-btn.men{background:#eef5ff;border-color:#acd3ff;color:#1c4f9c}

/* ==================================================================
   本文装飾（admin2.cgi の編集機能用・更新履歴と同じ見た目）
   BUILD 20260818-P1
   ================================================================== */
.desc{--thumb:150px;--inimg:220px;--dline:#d9dee6;margin-top:4px;line-height:1.9;word-break:break-word}
.desc .pgap{height:.5em}
.desc .d-l{font-size:1.5em;font-weight:700}
.desc .d-m{font-size:1.2em}
.desc .d-s{font-size:.9474em}
.desc .d-c{text-align:center}
.desc .d-q{margin:8px 0;padding:8px 12px;border-left:3px solid var(--dline);background:rgba(0,0,0,.03);opacity:.9}
.desc .d-hr{border:0;border-top:1px solid var(--dline);margin:12px 0}
.desc .d-a{color:var(--accent)}
.desc .d-abox{display:inline-block;border:1.5px solid var(--accent);border-radius:8px;padding:4px 14px;text-decoration:none;font-weight:700;line-height:1.6;margin:2px 0}
.desc .d-abox:hover{background:var(--accent);color:#fff;text-decoration:none}
.desc .ytwrap{display:block;position:relative;max-width:600px;margin:10px 0}
.desc .ytwrap:before{content:"";display:block;padding-top:56.25%}
.desc .ytwrap iframe{position:absolute;inset:0;width:100%;height:100%;border:0;border-radius:10px;background:#000}
.desc .thumb{display:inline-block;line-height:0;cursor:zoom-in;position:relative;border-radius:8px;width:-webkit-fit-content;width:fit-content;max-width:100%}
.desc .thumb img{width:var(--thumb);height:var(--thumb);object-fit:cover;border-radius:8px;border:2px solid var(--accent);display:block;transition:transform .18s,box-shadow .18s,border-color .18s}
.desc .thumb:hover img{transform:scale(1.03);border-color:var(--accent-dark);box-shadow:0 0 0 2px var(--accent-dark),0 4px 14px rgba(0,0,0,.18)}
.desc .thumb .zm{position:absolute;right:6px;bottom:6px;background:rgba(0,0,0,.55);color:#fff;font-size:.9474em;font-weight:700;line-height:1;padding:5px 8px;border-radius:999px;transition:background .18s;pointer-events:none}
.desc .thumb:hover .zm{background:var(--accent)}
.desc .th{display:flex;flex-direction:column;align-items:flex-start;width:-webkit-min-content;width:min-content;max-width:100%}
.desc .th .thumb{align-self:flex-start;max-width:100%}
.desc .icap{display:block;margin-top:6px;font-size:1em;line-height:1.6;font-weight:700;color:#1b1f26;word-break:break-word}
.desc .inimg{margin:12px 0}
.desc .inimg .thumb img{width:var(--inimg);height:var(--inimg)}
.desc .inimg-row{margin:12px 0;display:flex;flex-wrap:wrap;gap:20px}
.desc .inimg-row .thumb img{width:var(--inimg);height:var(--inimg)}
.desc .n1 .thumb{max-width:100%;width:100%}
.desc .n1 .thumb img{width:auto;height:auto;max-width:100%;max-height:70vh}
.desc .n1 .th{width:auto;max-width:100%}
.desc .n1 .icap{width:auto;max-width:100%}
.desc .inimg-row.n2 .th{width:calc((100% - 20px)/2)}
.desc .inimg-row.n2 .thumb{width:100%}
.desc .inimg-row.n2 .thumb img{width:100%;height:auto}
.desc .inimg-row.n3 .th{width:calc((100% - 40px)/3)}
.desc .inimg-row.n3 .thumb{width:100%}
.desc .inimg-row.n3 .thumb img{width:100%;height:auto}
.desc .inimg-row.n4 .th{width:calc((100% - 60px)/4)}
.desc .inimg-row.n4 .thumb{width:100%}
.desc .inimg-row.n4 .thumb img{width:100%;height:auto}
.desc .vbox{position:relative;display:block;line-height:0;cursor:pointer;width:-webkit-fit-content;width:fit-content;max-width:100%}
.desc .vbox video{display:block;width:100%;min-width:280px;max-width:100%;border:2px solid var(--accent);border-radius:8px;background:#000;transition:border-color .18s}
.desc .vbox:hover video{border-color:var(--accent-dark)}
.desc .vbox .vplay{position:absolute;top:44%;left:50%;transform:translate(-50%,-50%);width:96px;height:96px;border-radius:50%;background:rgba(20,20,25,.6);color:#fff;font-size:44px;display:flex;align-items:center;justify-content:center;padding-left:8px;pointer-events:none;transition:background .18s}
.desc .vbox:hover .vplay{background:var(--accent)}
.desc .vbox .vhint{position:absolute;left:50%;bottom:14px;transform:translateX(-50%);max-width:94%;white-space:nowrap;color:#ffdd33;font-weight:700;font-size:1.2105em;line-height:1.3;text-align:center;pointer-events:none;text-shadow:0 1px 3px rgba(0,0,0,.9),0 0 6px rgba(0,0,0,.7)}
.desc .vbox.playing .vplay,.desc .vbox.playing .vhint{display:none}
.desc .vbox.playing{cursor:default}
.desc .n1 .vbox{max-width:100%;width:100%}
.desc .n1 .vbox video{min-width:0}
.desc .inimg-row.n2 .vbox,.desc .inimg-row.n3 .vbox,.desc .inimg-row.n4 .vbox{width:100%}
.desc .inimg-row.n2 .vbox video,.desc .inimg-row.n3 .vbox video,.desc .inimg-row.n4 .vbox video{min-width:0}
.desc .inbtn{margin:12px 0}
.desc .inlink{color:var(--accent);text-decoration:underline;word-break:break-all}
.desc .lbtn{display:inline-block;padding:8px 18px;border-radius:8px;background:var(--accent);color:#fff !important;font-size:.9474em;text-decoration:none !important;line-height:1.5;font-weight:700}
.desc .lbtn:hover{background:var(--accent-dark);color:#fff !important}
@media (max-width:640px){
  .desc{--thumb:110px;--inimg:150px}
  .desc .vbox video{min-width:0}
  .desc .vbox .vplay{width:72px;height:72px;font-size:34px}
  .desc .vbox .vhint{white-space:normal;font-size:1em;bottom:10px}
  .desc .inimg-row{gap:12px}
  .desc .inimg-row.n2 .th{width:calc((100% - 12px)/2)}
  .desc .inimg-row.n3 .th{width:calc((100% - 24px)/3)}
  .desc .inimg-row.n4 .th{width:calc((100% - 12px)/2)}
}


/* ===== 本文の中のかたまり（管理画面のプレビューと同じ見え方にそろえる） ===== */
.desc > *:first-child{margin-top:0}
.desc > *:last-child{margin-bottom:0}
.desc h3{font-size:1.2105em;color:var(--accent-dark);margin:18px 0 8px;border-left:5px solid var(--accent);padding-left:10px}
.desc > h3:first-child{margin-top:0}
.desc ul,.desc ol{margin:8px 0;padding-left:1.4em}
.desc li{margin:4px 0}
.desc p{margin:8px 0}
.desc .note{font-size:.9474em;color:#666}
.desc .warn{color:#c0392b;font-weight:700}
.desc .tag{display:inline-block;background:var(--sec-head);color:var(--accent-dark);border:1px solid var(--accent-2);border-radius:6px;padding:1px 8px;font-size:.9474em;font-weight:700;margin-right:4px}
.desc .callout{background:var(--soft);border:1px dashed var(--accent-2);border-radius:10px;padding:12px 14px;margin:12px 0}
.desc .callout > p:first-child{margin-top:0}
.desc .callout > p:last-child{margin-bottom:0}
.desc .check li{list-style:none;position:relative;padding-left:1.5em}
.desc .check li:before{content:"\2714";position:absolute;left:0;color:var(--accent);font-weight:700}
.desc .ng li{list-style:none;position:relative;padding-left:1.6em}
.desc .ng li:before{content:"\00d7";position:absolute;left:0;color:#c0392b;font-weight:700}
.desc .flow{list-style:none;padding:0;margin:10px 0;counter-reset:step}
.desc .flow li{position:relative;padding:10px 8px 10px 52px;margin:6px 0;background:var(--soft);border-radius:10px}
.desc .flow li:before{counter-increment:step;content:counter(step);position:absolute;left:9px;top:50%;transform:translateY(-50%);width:34px;height:34px;border-radius:50%;background:var(--accent);color:#fff;font-weight:700;display:flex;align-items:center;justify-content:center;font-size:18px}
.desc table{border-collapse:collapse;width:100%;margin:12px 0;font-size:.9474em}
.desc th,.desc td{border:1px solid var(--accent-2);padding:7px 9px;text-align:left;vertical-align:top;word-break:break-word;overflow-wrap:anywhere}
.desc th{background:var(--sec-head);color:var(--accent-dark)}

/* ===== 本文画像の拡大表示（クリックで開く・もう一度クリックで閉じる） ===== */
.zoomv{position:fixed;top:0;left:0;right:0;bottom:0;z-index:9999;background:rgba(0,0,0,.9);
  display:none;align-items:center;justify-content:center;padding:14px;cursor:zoom-out}
.zoomv.on{display:flex}
.zoomv img{max-width:100%;max-height:100%;width:auto;height:auto;border-radius:8px;
  box-shadow:0 6px 30px rgba(0,0,0,.55)}
.zoomv .zclose{position:absolute;top:8px;right:16px;color:#fff;font-size:34px;line-height:1;
  font-weight:700;opacity:.85;pointer-events:none}
body.zoomopen{overflow:hidden}


/* ==== 文字の見え方を変えるバー（読む人が操作します） ==== */
.fsbar{position:sticky;top:0;z-index:55;background:var(--nav);border-bottom:1px solid var(--accent-2)}
.fsbar .inner{max-width:var(--maxw);margin:0 auto;padding:7px 10px;display:flex;gap:8px;
  align-items:center;justify-content:center;flex-wrap:wrap}
.fsbar .lb{font-size:16px;font-weight:700;color:var(--accent-dark)}
.fsbar button{font-family:inherit;font-weight:700;font-size:17px;background:#fff;
  border:1px solid var(--accent-2);color:var(--accent-dark);border-radius:999px;
  padding:6px 16px;cursor:pointer;line-height:1.4}
.fsbar button:hover{background:var(--chip-hover)}
.fsbar button.on{background:var(--accent);color:#fff;border-color:var(--accent)}
.fsbar button[disabled]{opacity:.4;cursor:default}
.fsbar #fsNow{min-width:4em;text-align:center}
section.card{scroll-margin-top:70px}
html.fwx body{-webkit-text-stroke:.3px currentColor}
@media (max-width:720px){
  .fsbar .inner{gap:6px;padding:6px}
  .fsbar button{padding:6px 12px;font-size:16px}
  .fsbar .lb{font-size:15px}
}

/* ==== 表示設定（管理画面の「表示設定」で決めた見え方） ==== */
/* うすめ（標準は #000000。標準のときは何も指定しません） */
html.ink-light body{color:#5a5a5a}
html.ink-light .note,html.ink-light .desc .note{color:#8b8b8b}
html.ink-light h2,html.ink-light h3,html.ink-light .desc h3,html.ink-light .card > h2{
  color:color-mix(in srgb,var(--accent-dark) 60%,#fff)}
html.ink-light .site-head h1{color:color-mix(in srgb,#20303f 60%,#fff)}
/* 濃め */
html.ink-dark body{color:#000}
html.ink-dark .note,html.ink-dark .desc .note{color:#333}
html.ink-dark h2,html.ink-dark h3,html.ink-dark .desc h3,html.ink-dark .card > h2{
  color:color-mix(in srgb,var(--accent-dark) 78%,#000)}
html.ink-dark .site-head h1{color:#0d1620}
/* いちばん濃く */
html.ink-darkest body,html.ink-darkest .note,html.ink-darkest .desc .note,
html.ink-darkest h2,html.ink-darkest h3,html.ink-darkest .desc h3,html.ink-darkest .card > h2,
html.ink-darkest .site-head h1,html.ink-darkest .site-head h1 small,
html.ink-darkest .site-head .lead,html.ink-darkest footer .inner{color:#000}
/* イラスト・写真を出さない */
html.noimg .desc img,html.noimg .desc .thumb,html.noimg .desc .pvfig,
html.noimg .desc .vbox,html.noimg .desc .inimg-row,html.noimg .desc .icap{display:none}
html.nobd .card{border:none;box-shadow:none}
html.nobd .desc .callout,html.nobd .desc table,html.nobd .desc table th,html.nobd .desc table td{border-color:transparent}
html.lh-narrow body{line-height:1.6}
html.lh-wide body{line-height:2.15}
