/* --- ページトップ真珠ボタン --- */
#pageTopBtn {
  position: fixed;
  right: 22px;
  bottom: 38px;
  z-index: 1000;
  width: 80px;
  height: 80px;
  border-radius: 50%;
  border: none;
  background: url('../img/aurora-pearl.png') no-repeat center/cover, #fff9;
  box-shadow: 0 4px 24px 0 #b3996f55, 0 1px 6px 0 #f8ebd0aa;
  cursor: pointer;
  outline: none;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-end;
  opacity: 0;
  transform: scale(0.85) translateY(36px);
  pointer-events: none;
  transition:
    opacity 0.6s cubic-bezier(.39,.58,.57,1.0),
    transform 0.7s cubic-bezier(.39,.58,.57,1.0),
    box-shadow 0.22s, outline 0.16s;
}

#pageTopBtn.visible {
  opacity: 1;
  transform: scale(1) translateY(0);
  pointer-events: auto;
}

#pageTopBtn::after {
  content: "▲";
  color: #fff;
  font-weight: bold;
  font-size: 2em;
  text-shadow: 0 2px 12px #666, 0 0 18px #fff;
  letter-spacing: 0.04em;
  position: absolute;
  top: 22px; left: 0; right: 0; text-align: center;
  pointer-events: none;
  filter: drop-shadow(0 0 6px #9ecdd7) drop-shadow(0 0 12px #ffffff99);
  opacity: 0.95;
}

#pageTopBtn:hover {
  box-shadow: 0 7px 40px 0 #e6d9c7bb, 0 1px 12px 0 #f7efeecc;
  outline: 2.5px solid #c8d4ee;
  transform: scale(1.09) translateY(-2px);
}

#pageTopBtn:active {
  transform: scale(0.95) translateY(0);
}