a.mypage-float {
    position: fixed;
    right: calc(max(12px, env(safe-area-inset-right)) + 56px);
    bottom: calc(20px + env(safe-area-inset-bottom));
    z-index: 80;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 44px;
    padding: 0 14px;
    border: 1px solid #a51d29;
    border-radius: 24px;
    background: #fff;
    color: #981b27;
    box-shadow: 0 3px 12px #292b3026;
    font: bold 14px/1.2 sans-serif;
    text-decoration: none;
}
.r-top + a.mypage-float {
    right: calc(max(20px, env(safe-area-inset-right)) + 56px);
    min-height: 46px;
}
.pagetop + a.mypage-float {
    right: calc(max(22px, env(safe-area-inset-right)) + 60px);
    bottom: calc(22px + env(safe-area-inset-bottom));
    min-height: 50px;
}
a.mypage-float:hover, a.mypage-float:focus-visible {
    background: #981b27;
    color: #fff;
}
a.mypage-float:focus-visible {
    outline: 3px solid #292b30;
    outline-offset: 2px;
}
@media (min-width: 768px) {
    a.mypage-float { padding-inline: 16px; }
}
@media print {
    a.mypage-float { display: none; }
}
