@charset "UTF-8";
/* Shared, script-optional event panel; independent of each page's theme. */
.site-event-banners{position:fixed;right:max(20px,env(safe-area-inset-right));bottom:max(20px,env(safe-area-inset-bottom));z-index:80;width:320px;max-width:calc(100% - 32px);font-family:"Yu Gothic",Meiryo,sans-serif;filter:drop-shadow(0 4px 12px #0003);letter-spacing:0;color-scheme:light}
.site-event-banners,.site-event-banners *{box-sizing:border-box}
.site-event-banners>details{margin:0;padding:0;border:0;background:transparent}
.site-event-banners summary{display:flex;justify-content:flex-end;align-items:center;min-height:44px;cursor:pointer;list-style:none;padding:0;border:0;background:transparent;font:13px/1.8 "Yu Gothic",Meiryo,sans-serif;color:#193f33}
.site-event-banners summary::-webkit-details-marker{display:none}
.site-event-banners .floating-close,.site-event-banners .floating-open{display:block;padding:8px 13px;background:#fffef9;color:#193f33;border:1px solid #193f33}
.site-event-banners .floating-close>span{font-size:20px;line-height:1;margin-left:10px;vertical-align:middle}
.site-event-banners .floating-close{display:none}
.site-event-banners details[open] .floating-close{display:block}
.site-event-banners details[open] .floating-open{display:none}
.site-event-banners .floating-banners{display:grid;gap:10px;margin-top:6px;max-height:calc(70vh - 60px);max-height:calc(70dvh - 60px);overflow-y:auto}
.site-event-banners .floating-banner{display:grid;grid-template-columns:86px minmax(0,1fr);text-decoration:none;background:#672b36;color:#fff;border:1px solid #672b36;min-height:100px}
.site-event-banners .floating-banner>img{display:block;width:100%;height:100%;min-height:100px;object-fit:cover;object-position:center 65%;margin:0}
.site-event-banners .floating-banner>div{padding:12px 14px;min-width:0}
.site-event-banners .floating-banner span{display:block;line-height:1.65}
.site-event-banners .floating-audience{font-size:11px;color:#f0dfb8}
.site-event-banners .floating-banner strong{display:block;font-size:18px;line-height:1.6;font-weight:600;margin:3px 0;color:#fff}
.site-event-banners .floating-date{font-size:12px;color:#fff}
.site-event-banners .holmes-banner{background:#20252a;border-color:#615443;color:#fff}
.site-event-banners .holmes-banner .floating-audience{color:#e4d0a9}
.site-event-banners a:hover strong{text-decoration:underline;text-underline-offset:4px}
.site-event-banners a:focus-visible,.site-event-banners summary:focus-visible{outline:3px solid #ad8145;outline-offset:2px}
body:has(>.site-event-banners details[open])>footer.site-footer{padding-bottom:290px}
@media(max-width:640px){
 .site-event-banners{right:max(12px,env(safe-area-inset-right));bottom:max(12px,env(safe-area-inset-bottom));width:290px;max-width:calc(100% - 24px)}
 .site-event-banners .floating-banners{gap:8px}
 .site-event-banners .floating-banner{grid-template-columns:64px minmax(0,1fr);min-height:78px}
 .site-event-banners .floating-banner>img{min-height:78px}
 .site-event-banners .floating-banner>div{padding:8px 12px}
 .site-event-banners .floating-banner strong{font-size:16px;margin:1px 0}
 .site-event-banners .floating-audience{font-size:10px}.site-event-banners .floating-date{font-size:11px}
 body:has(>.site-event-banners details[open])>footer.site-footer{padding-bottom:250px}
}
