/* CSS Document */

.ns_add {display: none!important;}



/* --- CTA全体の基本設定（PC基準） --- */
.cta-section-wrapper {
    /* 背景色とパディングを削除 */
    background-color: transparent !important; 
    padding: 0 !important;
    
    /* 指定のプロパティを追加 */
    margin-bottom: 30px !important;
    position: relative !important;
    
    display: block !important; /* flexから変更 */
    line-height: 0 !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

.cta-section-wrapper img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    border: none !important;
    box-shadow: none !important;
    margin: 0 auto !important;
}

/* 表示の出し分け設定 */
.sp-only { display: none !important; }
.pc-only { display: block !important; width: 100%; max-width: 900px; margin: 0 auto; }

/* ボタンエリア（PC） */
.cta-button-area {
    /* 指定のプロパティを反映 */
    position: absolute !important;
    bottom: -40px !important;
    left: 50% !important;
    margin-left: -200px !important; /* (width 400px / 2) のマイナスマージンで中央寄せ */
    width: 400px !important;
    margin-top: 0 !important; /* マージン削除 */
    z-index: 10;
}

.cta-link {
    display: block !important;
    text-decoration: none !important;
}

/* --- スマホ表示（768px以下） --- */
@media (max-width: 768px) {
    .pc-only { display: none !important; }
    .sp-only { display: block !important; width: 100%; }

    /* スマホ版ボタンエリアの指定を反映 */
    .cta-button-area {
        width: 90% !important;
        bottom: 15px !important;
        left: 0 !important; /* PCの中央寄せ設定をリセット */
        margin-left: 5% !important; /* width 90% + margin-left 5% で中央寄せ */
    }
}

/* ホバー時の挙動 */
.cta-link:hover img {
    opacity: 0.9;
    transform: scale(1.02);
    transition: 0.2s;
}