body {
    text-align: center;
    font-size: 0;
    background-color: #F8F9FC;
    max-width: 750px;
    margin:0 auto;
}

header {
    position: relative;
}

main {
    max-width: 750px;
    margin: 0 auto;
}

/* FVのCTAボタン */
.CTA {
    display: flex;
    flex-direction: column;
    position: absolute;
    top: 84%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
}

.CTA a{
    cursor: pointer;
    transition: 1s;
}

.CTA a:hover{
    opacity: 0.8;
}


/* PC の時は .CTA を右下に固定 */
@media screen and (min-width: 769px) {
    /*PCサイズのCTAボタン縦並び*/

    .fixed-pc-cta {
        display: flex;
        flex-direction: column;
    }

    .fixed-pc-cta {
        position: fixed;
        width: 20%;
        bottom: 10px;
        right: 0px;
        /* 位置調整 */
    }

    .fixed-pc-cta img {
        width: 100%;
    }

    .fixed-pc-cta a{
        transition: 1s;
        cursor: pointer;
    }

    .fixed-pc-cta a:hover{
        opacity: 0.7;
    }

    /* PCの時は fixed-sp-cta を非表示 */
    .fixed-sp-cta {
        display: none;
    }
}


/* スマホの時は fixed-pc-cta を消す */
@media screen and (max-width: 768px) {
    img {
        width: 100%;
        /* 親要素に合わせて自動調整 */
        height: auto;
        /* 縦横比を維持 */
        max-width: 600px;
        /* 最大幅を設定（必要なら） */
    }

    .fixed-pc-cta {
        display: none;
    }

    .fixed-sp-cta-box {
        width: 100%;
        background-color: #F8F9FC;
        background-size: cover;
        position: fixed;
        z-index: 1;
        bottom: 0;
        left: 0;
        border:initial;
    }

    .fixed-sp-cta {
        display: flex;
        align-items: flex-end;
        outline:none;
        background:initial;
        border: initial;
    }

    .fixed-sp-cta a{
        cursor: pointer;
        transition: 1s;
    }

    .fixed-sp-cta a:hover{
        opacity: 0.8;
    }

    .hidden {
        opacity: 0;
        transform: translateY(50px);
        pointer-events: none;
        /* クリックできないようにする */
    }

    /* 表示状態 */
    .visible {
        opacity: 1;
        transform: translateY(0);
        pointer-events: auto;
    }
}