#hymtoc{display:none!important}
#htoc,#htoc *{box-sizing:border-box}
#htoc{--ink:#14213d;--sub:#5b6b7c;--ln:#dfe7f1;position:fixed;z-index:9990;top:96px;left:12px;width:300px;max-height:calc(100vh - 120px);display:flex;flex-direction:column;background:#fff;border:1px solid var(--ln);border-radius:16px;box-shadow:0 10px 28px rgba(16,32,48,.12);font-family:"Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans","Yu Gothic Medium",Meiryo,"Noto Sans JP",sans-serif;color:var(--ink);overflow:hidden}
#htoc[hidden]{display:none!important}
#htoc .ht-hd{flex:none;background:#14213d;color:#fff;padding:11px 14px 10px;position:relative}
#htoc .ht-hd:before{content:"";position:absolute;left:0;top:0;bottom:0;width:6px;background:#b87333}
#htoc .ht-top{display:flex;align-items:center;justify-content:space-between;gap:8px}
#htoc .ht-t{font-size:15px;font-weight:900;margin:0;color:#fff;letter-spacing:.02em}
#htoc .ht-cnt{font-size:11.5px;font-weight:800;background:rgba(255,255,255,.16);border-radius:999px;padding:2px 9px;color:#fff;white-space:nowrap}
#htoc .ht-cnt b{color:#ffd43b;font-size:13px}
#htoc .ht-bar{height:5px;background:rgba(255,255,255,.18);border-radius:3px;margin:8px 0 0;overflow:hidden}
#htoc .ht-bar i{display:block;height:100%;width:0;background:#ffd43b;border-radius:3px;transition:width .2s}
#htoc .ht-f{flex:none;padding:9px 10px 8px;border-bottom:1px solid var(--ln);background:#f6f9fc;display:flex;gap:6px}
#htoc .ht-q{flex:1;min-width:0;height:34px;border:2px solid #cfd9e6;border-radius:9px;padding:0 10px;font-size:14px;background:#fff;color:var(--ink);margin:0;outline:none;font-family:inherit}
#htoc .ht-q:focus{border-color:#1E80D8}
#htoc .ht-btn{flex:none;height:34px;border:0;border-radius:9px;background:#e8eef6;color:var(--ink);font-weight:800;font-size:12px;padding:0 9px;cursor:pointer;font-family:inherit;white-space:nowrap}
#htoc .ht-btn:hover{background:#14213d;color:#fff}
#htoc .ht-body{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:6px 6px 10px}
#htoc .ht-g{margin:0 0 4px;border-radius:11px}
#htoc .ht-s{display:flex;align-items:center;gap:8px;width:100%;border:0;background:#fff;border-radius:10px;padding:8px 8px 8px 6px;cursor:pointer;text-align:left;font-family:inherit;color:var(--ink)}
#htoc .ht-s:hover{background:#f2f6fb}
#htoc .ht-s i{flex:none;width:6px;align-self:stretch;border-radius:3px;background:var(--c)}
#htoc .ht-s b{flex:1;min-width:0;font-size:13.5px;font-weight:900;line-height:1.35}
#htoc .ht-s em{flex:none;font-style:normal;font-size:11px;font-weight:900;color:#fff;background:var(--c);border-radius:999px;padding:1px 8px}
#htoc .ht-s u{flex:none;text-decoration:none;font-size:11px;color:#7a879b;transition:transform .15s}
#htoc .ht-g.is-open .ht-s u{transform:rotate(180deg)}
#htoc .ht-g.is-cur>.ht-s{background:var(--c);color:#fff}
#htoc .ht-g.is-cur>.ht-s em{background:#fff;color:var(--c)}
#htoc .ht-g.is-cur>.ht-s i{background:#fff}
#htoc .ht-g.is-cur>.ht-s u{color:#fff}
#htoc .ht-l{display:none;list-style:none;margin:2px 0 6px 10px!important;padding:0 0 0 8px!important;border-left:3px solid var(--c)}
#htoc .ht-g.is-open .ht-l{display:block}
#htoc .ht-l li{margin:0!important;padding:0!important;list-style:none}
#htoc .ht-l li:before{display:none!important}
#htoc .ht-a{display:block;text-decoration:none;color:var(--ink);border-radius:8px;padding:6px 8px;line-height:1.4;cursor:pointer}
#htoc .ht-a:hover{background:#f2f6fb}
#htoc .ht-a b{display:block;font-size:12.8px;font-weight:700;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
#htoc .ht-a small{display:block;font-size:11px;color:#7a879b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:1px}
#htoc .ht-a.is-cur{background:#fff3c4;box-shadow:inset 4px 0 0 var(--c)}
#htoc .ht-a.is-cur b{font-weight:900}
#htoc .ht-a.is-off{opacity:.35}
#htoc .ht-a.is-miss{display:none}
#htoc .ht-a mark{background:#ffd43b;color:#14213d;padding:0 1px;border-radius:2px}
#htoc .ht-none{font-size:12.5px;color:var(--sub);padding:14px 8px;text-align:center}
#htoc .ht-ft{flex:none;display:flex;gap:6px;padding:8px 10px;border-top:1px solid var(--ln);background:#fff}
#htoc .ht-ft .ht-btn{flex:1}
#htoc .ht-x{display:none;border:0;background:rgba(255,255,255,.16);color:#fff;width:30px;height:30px;border-radius:50%;font-size:18px;cursor:pointer;line-height:30px;padding:0}
#htoc-fab{position:fixed;z-index:9989;left:50%;transform:translateX(-50%);bottom:76px;display:none;align-items:center;gap:8px;border:0;border-radius:999px;background:#14213d;color:#fff;font:800 14px/1 "Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,"Noto Sans JP",sans-serif;padding:11px 18px 11px 14px;box-shadow:0 8px 22px rgba(0,0,0,.28);cursor:pointer}
#htoc-fab span{display:inline-block;width:16px;height:12px;border-top:2.5px solid #ffd43b;border-bottom:2.5px solid #ffd43b;position:relative}
#htoc-fab span:after{content:"";position:absolute;left:0;right:0;top:50%;margin-top:-1.25px;height:2.5px;background:#ffd43b}
#htoc-fab em{font-style:normal;font-size:11.5px;color:#ffd43b}
#htoc-mask{position:fixed;inset:0;z-index:9991;background:rgba(10,20,35,.45);display:none}
body.htoc-sheet #htoc-fab{display:inline-flex}
body.htoc-sheet #htoc{top:auto;bottom:0;left:0;right:0;width:100%;max-height:82vh;height:82vh;border-radius:18px 18px 0 0;transform:translateY(105%);transition:transform .22s ease;z-index:9992}
body.htoc-sheet #htoc .ht-x{display:block}
body.htoc-open #htoc{transform:none}
body.htoc-open #htoc-mask{display:block}
body.htoc-open #htoc-fab{display:none}
@media (max-width:640px){#htoc .ht-a b{font-size:14px}#htoc .ht-s b{font-size:14.5px}#htoc .ht-q{font-size:16px;height:40px}#htoc .ht-btn{height:40px}}
.hym-card.htoc-flash{animation:htocflash 1.8s ease-out 1}
@keyframes htocflash{0%{box-shadow:0 0 0 5px rgba(255,212,59,1)}100%{box-shadow:0 0 0 5px rgba(255,212,59,0)}}
