/* ============================================================
    top（トップページ専用）
    ※ position:fixed で右下常時固定。1440px幅を超える画面では
      .l-inner（width: min(90%, 1440px); margin:0 auto;）の右端に
      揃うよう、内側コンテナに .l-inner を再利用している。
    ※ 直径・余白・z-indexはアセット実寸が不明なため全て仮値。
      cta-join.webp / cta-reserve.webp 差し替え後、
      .c-floating-cta__item の width を実寸に合わせて要調整。
   ============================================================ */
.l-floating-cta {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 20px; /* ※仮値 */
    z-index: 90;  /* ※仮値：headerは100/101、drawer overlayは90。開閉挙動と干渉する場合は要調整 */
    pointer-events: none; /* 余白部分のクリックは透過させる */
}
.l-floating-cta__inner {
    display: flex;
    justify-content: flex-end;
}
.c-floating-cta {
    display: flex;
    flex-direction: column;
    gap: 20px; /* ※仮値 */
    pointer-events: auto; /* ボタン本体はクリック可能に戻す */
}
.c-floating-cta__item {
    display: block;
    width: clamp(130px, 10vw - 30.00px, 210px);
    transition: opacity 0.3s;
}
.c-floating-cta__item:hover {
    opacity: .8; /* 既存の .l-cta a:hover と同じ挙動 */
}
@media screen and (max-width: 768px) {
    /* ※SPカンプ未支給のため、以下は全て仮値（PCデザインを縮小しただけの仮実装） */
    .l-floating-cta {
        bottom: 12px;
    }
    .c-floating-cta {
        gap: 12px;
    }
    .c-floating-cta__item {
        width: 100px;
    }
}
/* ============================================================
    FV見出しテキスト：文字ごとのブラーインアニメーション（1回のみ）
    ※秒数・delay間隔・blur量は仮値。要確認。
    ※ループさせず固定表示するため、参考コードの100%(opacity:0)から変更している。
   ============================================================ */
.c-fvtext__char {
    display: inline-block;
    filter: blur(8px);
    opacity: 0;
}
.js-fv-text.is-active .c-fvtext__char {
    animation: fvTextIn 1s cubic-bezier(0.77, 0, 0.175, 1) forwards;
    animation-delay: calc(0.12s * var(--char-index)); /* ※仮値 */
}
@keyframes fvTextIn {
    0% {
        filter: blur(8px);
        opacity: 0;
    }
    50% {
        filter: blur(2px);
        opacity: 1;
    }
    100% {
        filter: blur(0);
        opacity: 1;
    }
}