/*
 * AICITY_STORE_STAGED_REVEAL_V1
 */

.aicity-ad-slot {
    box-sizing: border-box;
    width: 100%;
    text-align: center;
}

.aicity-ad-slot__label {
    display: block;
    margin: 0 0 5px;
    color: #9a9a9a;
    font-size: 10px;
    line-height: 1.3;
    letter-spacing: .04em;
}

.aicity-ad-slot__body {
    box-sizing: border-box;
    width: 100%;
}

.aicity-ad-slot--title {
    padding: 12px 16px 14px;
    border-bottom: 1px solid #eee;
    background: #fff;
}

.aicity-ad-slot--sidebar {
    margin: 0 0 20px;
}

.aicity-ad-test-box {
    box-sizing: border-box;
    width: 100%;
    min-height: 72px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 12px;
    border: 1px dashed #aeb4ba;
    border-radius: 8px;
    background:
        linear-gradient(
            135deg,
            #f5f5f5 0%,
            #e9e9e9 100%
        );
    color: #555;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.6;
}

.aicity-stage-hidden {
    display: none !important;
}

.aicity-stage-gate {
    box-sizing: border-box;
    width: 100%;
    margin: 26px 0 30px;
}

.aicity-stage-gate--hidden {
    display: none !important;
}

.aicity-stage-gate__ad {
    width: 100%;
}

.aicity-stage-gate__button-wrap {
    box-sizing: border-box;
    width: 100%;
    padding: 24px 0;
    text-align: center;
}

.aicity-stage-more-button {
    box-sizing: border-box;
    width: 88%;
    max-width: 540px;
    min-height: 54px;
    padding: 12px 24px;
    border: 2px solid #d7a35f;
    border-radius: 999px;
    background: #fff8ec;
    color: #333;
    cursor: pointer;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.45;
    box-shadow:
        0 2px 7px rgba(0,0,0,.05);
}

.aicity-stage-more-button:hover {
    background: #fff3dc;
}

.aicity-stage-more-button:focus-visible {
    outline: 3px solid rgba(243,152,0,.28);
    outline-offset: 3px;
}

.aicity-stage-more-button[disabled] {
    border-color: #ddd;
    background: #f7f7f7;
    color: #888;
    cursor: default;
    box-shadow: none;
}

@media (max-width: 767px) {
    .aicity-stage-gate {
        margin-top: 22px;
        margin-bottom: 26px;
    }

    .aicity-stage-gate__button-wrap {
        padding: 24px 0;
    }

    .aicity-stage-more-button {
        width: 96%;
        min-height: 52px;
        font-size: 16px;
    }

    .aicity-ad-slot--sidebar {
        display: none !important;
    }
}


/* AICITY_STAGE_GATE_PREVIEW_V4 */

/*
 * 次コンテンツを通常デザインのまま見せつつ、
 * 5〜8行相当まで見える高さへ拡張。
 * 下ほど強く見えにくくする。
 */
.aicity-stage-gate__preview{
    position:relative;
    box-sizing:border-box;

    display:block!important;

    width:94%;
    max-width:720px;

    height:208px;

    margin:18px auto 6px;

    overflow:hidden;

    color:inherit!important;
    font-size:inherit!important;
    line-height:normal!important;
    text-align:inherit!important;

    opacity:.9;

    -webkit-line-clamp:unset!important;
    -webkit-box-orient:initial!important;

    /*
     * 上はしっかり見せて、
     * 下に行くほど急激に見えにくくする
     */
    -webkit-mask-image:
        linear-gradient(
            to bottom,
            #000 0%,
            #000 42%,
            rgba(0,0,0,.92) 58%,
            rgba(0,0,0,.64) 73%,
            rgba(0,0,0,.28) 88%,
            transparent 100%
        );

    mask-image:
        linear-gradient(
            to bottom,
            #000 0%,
            #000 42%,
            rgba(0,0,0,.92) 58%,
            rgba(0,0,0,.64) 73%,
            rgba(0,0,0,.28) 88%,
            transparent 100%
        );

    pointer-events:none!important;
    user-select:none;
}

.aicity-stage-gate__preview > *{
    margin-top:0!important;
    pointer-events:none!important;
}

.aicity-stage-gate__preview *,
.aicity-stage-gate__preview a,
.aicity-stage-gate__preview button{
    pointer-events:none!important;
}

/*
 * さらに下側の覆いを強める。
 * 「下に行くほどモザイクが強い」感の代わりに、
 * 実装としては下部の白かぶせを強める。
 */
.aicity-stage-gate__preview::after{
    content:"";
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    height:56%;
    pointer-events:none;

    background:
        linear-gradient(
            to bottom,
            rgba(255,255,255,0) 0%,
            rgba(255,255,255,.10) 22%,
            rgba(255,255,255,.34) 46%,
            rgba(255,255,255,.68) 72%,
            rgba(255,255,255,.94) 100%
        );
}

.aicity-stage-gate__preview
+ .aicity-stage-gate__button-wrap{
    padding-top:10px!important;
}

@media screen and (max-width:767px){

    .aicity-stage-gate__preview{
        width:96%;
        height:172px;
        margin:15px auto 4px;
    }

    .aicity-stage-gate__preview::after{
        height:60%;
    }

    .aicity-stage-gate__preview
    + .aicity-stage-gate__button-wrap{
        padding-top:8px!important;
    }
}
