.camp-frame.camp-sp {
    margin: 5% 0 10% 0;
}

.camp-banner .hidden {
    display: none !important;
}

.camp-banner.camp-sp {
    position: relative;
    width: 320px;
    margin: 0 auto;
}

.camp-banner.camp-sp.body {
    font-weight: bold;
}

.camp-banner.camp-sp img {
    width: 320px;
}

.camp-banner img.part {
    position: absolute;
    top: 0;
    left: 0;
}

.camp-banner.camp-sp .camp-date-text {
    position: absolute;
    color: white;
    top: 96px;
    left: 106px;
    line-height: 14px;
    font-size: 14px;
    width: 115px;
    text-align: center;
}

.camp-banner.camp-sp .camp-cd-text {
    position: absolute;
    color: white;
    font-style: italic;
    top: 142px;
    left: 70px;
    line-height: 16px;
    font-size: 16px;
    width: 185px;
    text-align: center;
}

.camp-banner.camp-sp .camp-cd-remain-text {
    position: absolute;
    color: white;
    top: 131px;
    left: 257px;
    line-height: 10px;
    font-size: 10px;
    width: 50px;
    height: 40px;
    text-align: center;
}

.camp-banner.camp-sp .camp-wday {
    display: inline-block;
    border-radius: 50%;
    background-color: #e86700;
    color: white;
    height: 17px;
    width: 17px;
    font-size: 12px;
    line-height: 16px;
    text-align: center;
    vertical-align: middle;
    margin: 0;
}

.camp-banner.camp-sp .camp-cd-text small, .camp-banner.sp .camp-cd-remain-text small {
    display: inline-block;
    margin: 0 1px 0 0;
    font-size: 10px;
    line-height: 10px;
}

.camp-banner.camp-sp .camp-cd-remain-text strong {
    line-height: 32px;
    font-size: 27px;
}

.camp-banner.camp-sp .camp-cd-remain-text span.limit {
    line-height: 19px;
    font-size: 17px;
}

#online-lead-banner {
    position: relative;
    top: -15px;
}
#online-lead-banner img {
    margin: 0 auto;
    width: 100%;
}

@media screen and (min-width: 882px) and (max-width:1299px){
    .camp-frame.camp-sp {
        margin: 5% 0 5% 0;
    }

    .camp-banner.camp-sp {
        width: 480px;
    }

    .camp-banner.camp-sp img {
        width: 480px;
    }

    .camp-banner.camp-sp .camp-date-text {
        top: calc(1.5*96px);
        left: calc(1.5*106px);
        line-height: calc(1.5*14px);
        font-size: calc(1.5*14px);
        width: calc(1.5*115px);
    }

    .camp-banner.camp-sp .camp-cd-text {
        top: calc(1.5*142px);
        left: calc(1.5*70px);
        line-height: calc(1.5*16px);
        font-size: calc(1.5*16px);
        width: calc(1.5*185px);
    }

    .camp-banner.camp-sp .camp-cd-remain-text {
        top: calc(1.5*131px);
        left: calc(1.5*257px);
        line-height: calc(1.5*10px);
        font-size: calc(1.5*10px);
        width: calc(1.5*50px);
        height: calc(1.5*40px);
    }

    .camp-banner.camp-sp .camp-wday {
        height: calc(1.5*17px);
        width: calc(1.5*17px);
        font-size: calc(1.5*12px);
        line-height: calc(1.5*16px);
    }

    .camp-banner.camp-sp .camp-cd-text small, .camp-banner.sp .camp-cd-remain-text small {
        margin: 0 calc(1.5*1px) 0 0;
        font-size: calc(1.5*10px);
        line-height: calc(1.5*10px);
    }

    .camp-banner.camp-sp .camp-cd-remain-text strong {
        line-height: calc(1.5*32px);
        font-size: calc(1.5*27px);
    }

    .camp-banner.camp-sp .camp-cd-remain-text span.limit {
        line-height: calc(1.5*19px);
        font-size: calc(1.5*17px);
    }

    #online-lead-banner {
        top: calc(1.5*-15px);
    }
}

@media print,screen and (min-width: 1300px){
    .camp-frame.camp-sp {
        margin: 5% 0 5% 0;
    }

    .camp-banner.camp-sp {
        width: 640px;
    }

    .camp-banner.camp-sp img {
        width: 640px;
    }

    .camp-banner.camp-sp .camp-date-text {
        top: calc(2*96px);
        left: calc(2*106px);
        line-height: calc(2*14px);
        font-size: calc(2*14px);
        width: calc(2*115px);
    }

    .camp-banner.camp-sp .camp-cd-text {
        top: calc(2*142px);
        left: calc(2*70px);
        line-height: calc(2*16px);
        font-size: calc(2*16px);
        width: calc(2*185px);
    }

    .camp-banner.camp-sp .camp-cd-remain-text {
        top: calc(2*131px);
        left: calc(2*257px);
        line-height: calc(2*10px);
        font-size: calc(2*10px);
        width: calc(2*50px);
        height: calc(2*40px);
    }

    .camp-banner.camp-sp .camp-wday {
        height: calc(2*17px);
        width: calc(2*17px);
        font-size: calc(2*12px);
        line-height: calc(2*16px);
    }

    .camp-banner.camp-sp .camp-cd-text small, .camp-banner.sp .camp-cd-remain-text small {
        margin: 0 calc(2*1px) 0 0;
        font-size: calc(2*10px);
        line-height: calc(2*10px);
    }

    .camp-banner.camp-sp .camp-cd-remain-text strong {
        line-height: calc(2*32px);
        font-size: calc(2*27px);
    }

    .camp-banner.camp-sp .camp-cd-remain-text span.limit {
        line-height: calc(2*19px);
        font-size: calc(2*17px);
    }

    #online-lead-banner {
        top: calc(2*-15px);
    }
}