.cta {
  position: relative;
  overflow: hidden;
}
.cta::after {
  content: "";
  position: absolute;
  top: 0;
  left: -75%;
  width: 50%;
  height: 100%;
  background: linear-gradient(
    120deg,
    rgba(255,255,255,0) 0%,
    rgba(255,255,255,0.6) 50%,
    rgba(255,255,255,0) 100%
  );
  animation: shine 4s infinite;
}
@keyframes shine {
  0% { left: -75%; }
  30% { left: 125%; }
  100% { left: 125%; }
}

#xrooms-floating-cta .cta{
  display: flex;
  flex-direction: column; /* 縦並び */
  align-items: center;
  justify-content: center;
  gap: 4px; /* 行間 */
  padding: 16px 20px;
  background: var(--cta-color);
  color: #fff;
  text-decoration: none;
  font-weight: 800;
  line-height: 1.3;
  border-radius: 14px; /* ← 角丸長方形に */
  box-shadow: 0 6px 16px rgba(67,160,71,.28);
  -webkit-tap-highlight-color: transparent;
  text-align: center;
  min-width: 200px; /* 任意：ボタンの横幅をある程度確保 */
}

#xrooms-floating-cta .cta__label{
  font-size: 16px;
  letter-spacing: .02em;
}

#xrooms-floating-cta .cta__sub{
  font-size: 13px;
  font-weight: 600;
  opacity: .92;
}