.hpp-popup{position:fixed;right:32px;bottom:40px;left:auto;z-index:99999;width:320px;max-width:calc(100vw - 32px);opacity:0;visibility:hidden;transform:translateY(48px);transition:opacity .42s ease,transform .5s cubic-bezier(.22,.61,.36,1),visibility .42s ease;--ff-jp:'Noto Serif JP',serif}
.hpp-popup.is-open{opacity:1;visibility:visible;transform:translateY(0)}
.hpp-popup *{box-sizing:border-box}
.hpp-popup-panel{position:relative;background:#294a40;border:1px solid #294a40;padding:26px 24px 24px;text-align:center;box-shadow:0 18px 48px rgba(41,74,64,.28)}
.hpp-popup-close{position:absolute;top:10px;right:12px;background:none;border:0;padding:6px;line-height:1;font-size:var(--fs-b);color:#f4f1e9;cursor:pointer;font-family:var(--ff-jp)}
.hpp-popup-close:hover{opacity:.6}
.hpp-popup-dhead{font-family:var(--ff-jp);font-weight:300;font-size:var(--fs-s);letter-spacing:.16em;color:rgba(244,241,233,.72);margin:0 0 18px}
.hpp-popup-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:15px 2px;text-decoration:none;text-align:left;color:#f4f1e9;transition:opacity .3s ease}
.hpp-popup-row + .hpp-popup-row{border-top:1px solid rgba(244,241,233,.22)}
.hpp-popup-row:hover{opacity:.68}
.hpp-row-date{display:block;font-family:var(--ff-jp);font-weight:300;font-size:var(--fs-s);letter-spacing:.16em;color:rgba(244,241,233,.72);margin:0 0 6px}
.hpp-row-ttl{display:block;font-family:var(--ff-jp);font-weight:300;font-size:var(--fs-b);letter-spacing:.08em;line-height:1.45;color:#f4f1e9}
.hpp-row-arw{flex:none;font-size:var(--fs-b);color:#f4f1e9}
.hpp-popup-news{margin-top:0;padding-top:20px;border-top:1px solid rgba(244,241,233,.22)}
.hpp-popup-news-head{font-family:var(--ff-jp);font-weight:300;font-size:var(--fs-s);letter-spacing:.16em;color:rgba(244,241,233,.86);margin:0 0 12px;text-align:center}
.hpp-popup-news-form{margin:0}
.hpp-popup-news-form input[type=email]{display:block;width:100%;box-sizing:border-box;font-family:var(--ff-jp);font-weight:300;font-size:var(--fs-s);letter-spacing:.04em;padding:11px 12px;margin:0 0 10px;border:1px solid rgba(244,241,233,.45);border-radius:0;background:rgba(244,241,233,.06);color:#f4f1e9}
.hpp-popup-news-form input[type=email]::placeholder{color:rgba(244,241,233,.5)}
.hpp-popup-news-form button{display:block;width:100%;background:#f4f1e9;color:#294a40;border:0;border-radius:0;font-family:var(--ff-jp);font-weight:300;font-size:var(--fs-s);letter-spacing:.14em;padding:12px;cursor:pointer;transition:letter-spacing .3s ease,opacity .3s ease}
.hpp-popup-news-form button:hover{letter-spacing:.22em;opacity:.92}
.hpp-popup-news-form button[disabled]{opacity:.55;cursor:default}
.hpp-popup-news-msg{font-family:var(--ff-jp);font-weight:300;font-size:var(--fs-s);line-height:1.85;letter-spacing:.08em;color:#f4f1e9;text-align:center;margin:8px 0 0}
/* polished confirmation state: CSS-drawn ✓ in a ring above the thank-you line
   (glyph fonts render tofu in Noto Serif, so the tick is pure CSS borders) — Genio 2026-06-19 */
.hpp-popup-news.is-done{text-align:center}
.hpp-popup-news-msg.is-ok{position:relative;padding-top:56px;margin:6px 0 2px}
.hpp-popup-news-msg.is-ok::before{content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);width:42px;height:42px;border:1px solid rgba(244,241,233,.55);border-radius:50%}
.hpp-popup-news-msg.is-ok::after{content:"";position:absolute;top:14px;left:50%;width:9px;height:16px;margin-left:-5px;border:solid #f4f1e9;border-width:0 1.5px 1.5px 0;transform:rotate(42deg)}
@media (max-width:600px){.hpp-popup{right:16px;left:16px;bottom:22px;width:auto;max-width:none}.hpp-popup-panel{padding:24px 22px 24px}}
/* permanently hide the legacy popup system — #hpb = green event bar, #hpo = the
   centred "平和はわたしから始まる/無料でニュースレター" modal overlay. Both are shown
   by their own script, so !important CSS (not just JS). Genio/Fukui 2026-06-18. */
#hpb, #hpo{display:none!important}