/* ple-cre Side Tabs */
.pst{position:fixed;right:0;z-index:9990;font-family:inherit;--k:#111;--w:#fff;--acc-bg:var(--pst-acc,#c8291e);--acc:var(--pst-acc,#c8291e);--acc-hover:color-mix(in srgb,var(--pst-acc,#c8291e) 82%,#000);transition:opacity .35s,transform .35s,visibility .35s;}
.pst,.pst *{box-sizing:border-box;}
:where(.pst) p{margin:0;}
/* JavaScriptが動かない環境でも「常に表示」は表示される。隠すときだけ is-hide を付ける */
.pst.is-hide,.pst[data-show="scroll"]:not(.is-shown){opacity:0;visibility:hidden;pointer-events:none;}
.pst a{text-decoration:none;}
.pst svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex:none;}
.pst-card{display:none;}
.pst-btn.pst-here{display:none!important;}

/* --- 縦タブ --- */
.pst .pst-vt,.pst .pst-tag-v{display:none;}
.pst[data-type="tab"]{display:flex;flex-direction:column;gap:2px;}
.pst[data-type="tab"][data-pos="middle"]{top:50%;transform:translateY(-50%);}
.pst[data-type="tab"][data-pos="bottom"]{bottom:32px;}
.pst[data-type="tab"] .pst-btn{display:flex;flex-direction:column;align-items:center;gap:10px;width:56px;padding:18px 0 20px;background:var(--w);color:var(--k);border:1px solid var(--k);border-right:0;transition:background .2s,color .2s;}
.pst[data-type="tab"] .pst-txt,.pst[data-type="tab"] .pst-tag{display:none;}
.pst[data-type="tab"] .pst-vt{display:block;font-size:14px;font-weight:500;line-height:1.25;text-align:center;}
.pst[data-type="tab"] .pst-btn.is-main{background:var(--acc-bg);color:var(--w);border-color:var(--acc-bg);padding:18px 0 22px;}
.pst[data-type="tab"] .is-main .pst-tag-v{display:block;font-size:10px;font-weight:500;line-height:1.35;text-align:center;padding:5px 4px;background:var(--w);color:var(--acc);}
.pst[data-type="tab"] .is-main .pst-vt{font-size:16px;font-weight:700;}
.pst[data-type="tab"] .pst-btn:hover{background:var(--k);color:var(--w);}
.pst[data-type="tab"] .pst-btn.is-main:hover{background:var(--acc-hover);border-color:var(--acc-hover);}

/* --- アイコン --- */
.pst[data-type="icon"]{right:24px;display:flex;flex-direction:column;gap:6px;}
.pst[data-type="icon"][data-pos="middle"]{top:50%;transform:translateY(-50%);}
.pst[data-type="icon"][data-pos="bottom"]{bottom:32px;}
.pst[data-type="icon"] .pst-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;width:76px;height:76px;background:var(--w);color:var(--k);border:1px solid var(--k);transition:background .2s,color .2s;}
.pst[data-type="icon"] .pst-btn .pst-txt{font-size:10px;font-weight:500;letter-spacing:.04em;line-height:1.3;text-align:center;}
.pst[data-type="icon"] .pst-btn .pst-tag{display:none;}
.pst[data-type="icon"] .pst-btn.is-main{width:76px;height:auto;padding:12px 0 14px;background:var(--acc-bg);color:var(--w);border-color:var(--acc-bg);}
.pst[data-type="icon"] .pst-btn.is-main .pst-tag{display:block;font-size:9px;letter-spacing:.02em;padding:2px 4px;background:var(--w);color:var(--acc);}
.pst[data-type="icon"] .pst-btn.is-main .pst-txt{font-size:13px;font-weight:700;}
.pst[data-type="icon"] .pst-btn:hover{background:var(--k);color:var(--w);}
.pst[data-type="icon"] .pst-btn.is-main:hover{background:var(--acc-hover);}

/* --- カード --- */
.pst[data-type="card"]{right:24px;bottom:24px;}
.pst[data-type="card"] .pst-btn{display:none;}
.pst[data-type="card"] .pst-card{display:block;position:relative;width:288px;padding:24px 22px 18px;background:var(--w);color:var(--k);border:1px solid var(--k);}
.pst-x{position:absolute;top:6px;right:8px;width:28px;height:28px;border:0;background:none;font-size:18px;line-height:1;color:#777;cursor:pointer;}
.pst-x:hover{color:var(--k);}
.pst-card-tag{display:inline-block;margin:0;font-size:11px;font-weight:500;letter-spacing:.08em;color:var(--w);background:var(--acc-bg);padding:3px 10px;}
.pst-card-ttl{margin:12px 0 0;font-size:18px;font-weight:700;line-height:1.5;letter-spacing:.04em;}
.pst-card-txt{margin:8px 0 0;font-size:12px;line-height:1.8;color:#555;}
.pst-card-btn{display:flex;justify-content:space-between;align-items:center;margin-top:14px;padding:14px 16px;background:var(--acc-bg);color:var(--w)!important;font-size:14px;font-weight:700;letter-spacing:.08em;transition:background .2s;}
.pst-card-btn i{font-style:normal;}
.pst-card-btn:hover{background:var(--acc-hover);}
.pst-card-sub{display:flex;margin-top:10px;border-top:1px solid #e5e5e5;}
.pst-card-sub a{flex:1;padding:10px 0 2px;font-size:12px;color:var(--k)!important;text-align:center;}
.pst-card-sub a + a{border-left:1px solid #e5e5e5;}
.pst-card-sub a:hover{color:var(--acc)!important;}
@media (max-height:700px){
  .pst[data-type="tab"] .pst-btn{padding:12px 0 14px;gap:6px;}
  .pst[data-type="tab"] .is-main .pst-tag-v{display:none;}
}

/* --- スマホ：画面下のバー（固定ページ以外など、設定で選んだページのみ） --- */
html.pst-sp-on body{padding-bottom:56px;}
.pst.is-sp{left:0;right:0;top:auto!important;bottom:0;display:grid!important;grid-template-columns:repeat(var(--pst-n,3),1fr);gap:0;width:auto;transform:none!important;}
.pst.is-sp.is-hide{transform:translateY(100%)!important;opacity:1;visibility:hidden;}
.pst.is-sp .pst-card{display:none!important;}
.pst.is-sp .pst-btn{display:flex!important;flex-direction:row;align-items:center;justify-content:center;gap:6px;width:auto;height:56px;padding:0 6px;background:var(--w);color:var(--k);border:0;border-top:1px solid var(--k);border-left:1px solid #e5e5e5;}
.pst.is-sp .pst-btn:first-child{border-left:0;}
.pst.is-sp .pst-btn.is-main{width:auto;height:56px;padding:0 6px;background:var(--acc-bg);color:var(--w);border-top-color:var(--acc-bg);flex-direction:column;gap:2px;}
.pst.is-sp svg{width:16px;height:16px;}
.pst.is-sp .pst-btn.is-main svg{display:none;}
.pst.is-sp .pst-vt,.pst.is-sp .pst-tag-v{display:none!important;}
.pst.is-sp .pst-txt{display:block!important;font-size:12px;font-weight:500;letter-spacing:.08em;line-height:1.2;white-space:nowrap;}
.pst.is-sp .pst-btn.is-main .pst-txt{font-weight:700;font-size:13px;}
.pst.is-sp .pst-tag{display:block!important;font-size:9px;font-weight:500;line-height:1;padding:2px 5px;background:var(--w);color:var(--acc);letter-spacing:.04em;}
.pst.is-sp .pst-btn:hover{background:var(--w);color:var(--k);}
.pst.is-sp .pst-btn.is-main:hover{background:var(--acc-bg);}

/* --- バナー画像のポップアップ --- */
html.pst-pop-lock,html.pst-pop-lock body{overflow:hidden;}
.pst-pop{position:fixed;inset:0;z-index:100050;display:flex;align-items:center;justify-content:center;padding:56px 20px 24px;background:rgba(17,17,17,.62);opacity:0;transition:opacity .25s;}
.pst-pop[hidden]{display:none;}
.pst-pop.is-open{opacity:1;}
.pst-pop-in{position:relative;width:100%;max-width:var(--pst-pop-w,560px);transform:translateY(12px);transition:transform .25s;}
.pst-pop.is-open .pst-pop-in{transform:none;}
.pst-pop picture,.pst-pop img{display:block;width:100%;height:auto;max-height:calc(100vh - 100px);object-fit:contain;}
.pst-pop-link{display:block;}
.pst-pop-x{position:absolute;right:0;bottom:100%;margin-bottom:8px;width:40px;height:40px;border:1px solid #fff;background:#111;color:#fff;font-size:22px;line-height:1;cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center;}
.pst-pop-x:hover,.pst-pop-x:focus-visible{background:#fff;color:#111;outline:none;}
@media (max-width:767px){.pst-pop{padding:56px 16px 16px;}}
