/* No.54: accessible favorite notice and compact menu. */
body.finish54 .favorite-notice[hidden],body.finish54 .favorite-notice [hidden]{display:none!important}
body.finish54 .favorite-live{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important;margin:0!important;padding:0!important}
body.finish54 .favorite-notice-space{height:0}
body.finish54 .favorite-notice{position:fixed;inset: max(8px,env(safe-area-inset-top)) 16px auto;z-index:10000;max-width:960px;margin:0 auto;padding:12px 12px 12px 20px;display:grid;grid-template-columns:minmax(0,1fr) 48px;gap:12px;align-items:center;border:1px solid #426E86;border-radius:8px;background:#F8F1E5!important;color:#2F3131!important;box-shadow:0 5px 22px #223c4d30;font-family:Meiryo,'Yu Gothic',sans-serif}
body.finish54 .favorite-notice-link,body.finish54 p.favorite-notice-text{display:block;min-width:0;margin:0!important;padding:6px 0;font-size:18px!important;font-weight:600;line-height:1.8!important;color:#2F3131!important;overflow-wrap:anywhere;text-decoration:none;opacity:1}
body.finish54 .favorite-notice-list{text-decoration:underline;text-underline-offset:4px;color:#254F43!important;white-space:nowrap}
body.finish54 button.favorite-notice-close{display:grid;place-items:center;min-height:48px;width:48px;height:48px;padding:0!important;font:30px/1 Arial,sans-serif!important;border:1px solid #426E86;background:#fff!important;color:#2F3131!important;border-radius:5px;cursor:pointer}
body.finish54 .favorite-notice a:focus-visible,body.finish54 .favorite-notice button:focus-visible{outline:3px solid #2F3131;outline-offset:3px}
body.finish54 .favorite-notice[data-kind=error]{border-width:2px}
body.finish54 .saved-menu{position:relative;font:18px/1.6 Meiryo,'Yu Gothic',sans-serif;color:inherit}
body.finish54 .saved-menu summary{cursor:pointer;min-height:44px;padding:8px 12px;border:1px solid currentColor;border-radius:4px;font-size:17px;white-space:nowrap}
body.finish54 .saved-menu nav{position:absolute;right:0;top:calc(100% + 8px);z-index:2000;min-width:200px;max-width:calc(100vw - 40px);padding:12px;border:1px solid #426E86;border-radius:5px;background:#fff;color:#2F3131;box-shadow:0 5px 18px #0002}
body.finish54 .saved-menu nav a{display:block;padding:12px!important;margin:0;font-size:18px!important;line-height:1.8;color:#2F3131!important;white-space:nowrap}
body.finish54 .header-contact a{white-space:nowrap;font-size:clamp(24px,3vw,32px)}
@media(max-width:420px){body.finish54 .favorite-notice{left:10px;right:10px;padding:10px 10px 10px 14px;gap:8px}body.finish54 .favorite-notice-link,body.finish54 p.favorite-notice-text{font-size:17px!important;line-height:1.75!important}body.finish54 .header-contact a{font-size:26px}}
@media(max-width:600px){body.finish54 .renewal-utility .saved-menu nav{left:0;right:auto}}
