/* エレねこ：サイト共通のひょっこり演出 */
.ele_neko_peek {
  --neko_move: translate3d(0, 0, 0);
  position: fixed;
  display: block;
  width: clamp(82px, 8vw, 124px);
  z-index: 90;
  opacity: 0;
  visibility: hidden;
  transform: var(--neko_move);
  transition: transform .65s cubic-bezier(.22,1,.36,1), opacity .4s ease, visibility .4s;
  pointer-events: none;
  will-change: transform, opacity;
}
.ele_neko_peek[hidden] { display: none !important; }
.ele_neko_peek.is_visible { opacity: 1; visibility: visible; pointer-events: auto; transform: translate3d(0,0,0); }
.ele_neko_peek_img { display: block; width: 100%; height: auto; filter: drop-shadow(0 5px 8px rgba(65,50,30,.13)); }
.ele_neko_peek.is_top .ele_neko_peek_img { transform: rotate(180deg); }
.ele_neko_peek.is_left { left: 0; top: var(--neko_y, 50%); --neko_move: translate3d(-105%,0,0); }
.ele_neko_peek.is_right { right: 0; top: var(--neko_y, 50%); --neko_move: translate3d(105%,0,0); }
.ele_neko_peek.is_bottom { right: var(--neko_x, 18px); bottom: 0; --neko_move: translate3d(0,105%,0); }
.ele_neko_peek.is_top { right: var(--neko_x, 18px); top: 0; --neko_move: translate3d(0,-105%,0); }
.ele_neko_peek:focus-visible { outline: 3px solid #ed983f; outline-offset: 3px; border-radius: 12px; }
@media (max-width: 767px) {
  .ele_neko_peek { width: clamp(62px, 18vw, 82px); z-index: 35; }
  .ele_neko_peek.is_bottom { bottom: 8px; }
}
@media (prefers-reduced-motion: reduce) {
  .ele_neko_peek { transition: opacity .2s ease, visibility .2s; }
}
