@charset "UTF-8";

@media only screen and (min-width: 768px) {
    .scaling-subpage::before {
        background-image: url(../images/scaling/scaling-title.png);
    }
}

.scaling-subpage + p {
    font-size: 1.071429em;
    padding: 0 8%;
    text-align: center;
}

@media only screen and (min-width: 768px) {
    .scaling-subpage + p {
        font-size: 1.25em;
        padding: 4em 3% 0;
    }
}

.scaling-section1 {
    background: url(../images/scaling/scaling-bg1_sp.jpg) no-repeat center top;
    background-size: 100% auto;
}

.scaling-section1 > h2 {
    text-align: center;
    font-size: 1.357143em;
    font-weight: 400;
    color: #fff;
    background-color: #36c9dc;
    margin: 0 0 1.25em;
    padding: 0.5em 8%;
}

.scaling-section1 > h2 em {
    font-style: normal;
    font-weight: 500;
    color: #ffff5a;
}

.scaling-points {
    padding: 0 8%;
}

.scaling-images {
    margin: 0 auto;
    padding: 0 8% 0 6%;
}

.scaling-images span {
    display: block;
    position: relative;
}

.scaling-images span:nth-child(1) {
    width: 68.527142%;
    margin: 0 auto 1.8em 0;
    z-index: 10;
}

.scaling-images span:nth-child(1)::after {
    content: '';
    display: block;
    width: 4.607143em;
    height: 6.178571em;
    background: url(../images/scaling/scaling-arrow_sp.png) no-repeat center center;
    background-size: contain;
    position: absolute;
    left: 34.615385%;
    bottom: -3.75em;
    -webkit-transform: translate3d(0, 4em, 0);
    transform: translate3d(0, 4em, 0);
    -webkit-transition: opacity 1s ease-in-out, -webkit-transform 1s ease-in-out;
    transition: opacity 1s ease-in-out, transform 1s ease-in-out;
    -webkit-transition-delay: 0.5s;
    transition-delay: 0.5s;
    opacity: 0;
}

.scaling-images span.visible:nth-child(1)::after {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
}

.scaling-images span:nth-child(2) {
    width: 79.379845%;
    margin: 0 0 0 auto;
}

@media only screen and (min-width: 768px) {
    .scaling-section1 {
        background-image: url(../images/scaling/scaling-bg1.jpg);
        background-size: 180% auto;
    }
    
    .scaling-section1 > h2 {
        font-size: 1.625em;
        margin-bottom: 2.15em;
        padding: 0.9235em 3%;
    }
    
    .scaling-points {
        max-width: 22.5em;
        padding: 0;
    }

    .scaling-points > li {
        font-size: 1.125em;
    }
    
    .scaling-images {
        width: 94%;
        max-width: 1200px;
        padding: 0;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
    }
    
    .scaling-images span:nth-child(1) {
        width: 36.833333%;
        margin: 0 14.083333% 0 0.833333%;
    }
    
    .scaling-images span:nth-child(1)::after {
        width: 41.62896%;
        height: 0;
        padding-bottom: 26.244344%;
        background-image: url(../images/scaling/scaling-arrow.png);
        left: 94.343891%;
        bottom: 50%;
        margin-top: -13.122172%;
    }
    
    .scaling-images span:nth-child(2) {
        width: 42.666667%;
        margin: 2.8125em 0 0;
    }
}

@media only screen and (min-width: 1200px) {
    .scaling-section1 {
        background-size: auto auto;
    }
}

@media only screen and (min-width: 1920px) {
    .scaling-section1 {
        background-size: 100% auto;
    }
}

.scaling-price {
    margin: 0 auto;
}

.scaling-price dl {
    margin: 0;
    padding: 0;
}

.scaling-price dt {
    font-size: 1.071429em;
    text-align: center;
    color: #fff;
    background-color: #36c9dc;
    margin: 0;
    padding: 0.5em;
}

.scaling-price dd {
    font-size: 0.928571em;
    text-align: center;
    background-color: #e6f8fa;
    margin: 0;
    padding: 0.75em;
}

.scaling-price dl:last-of-type {
    margin-bottom: 1.5em;
}

.scaling-price dl:last-of-type dd {
    border-bottom: 1px dashed #36c9dc;
}

.scaling-price dl + p {
    font-size: 0.928571em;
}

@media only screen and (min-width: 768px) {
    .scaling-price {
        width: 94%;
        max-width: 1000px;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    }

    .scaling-price dl {
        width: 50%;
        margin-bottom: 2.8125em;
    }

    .scaling-price dl:last-of-type {
        margin-bottom: 2.8125em;
    }

    .scaling-price dt {
        font-size: 1.375em;
        padding: 0.32em 0.5em;
    }

    .scaling-price dd {
        font-size: 1.125em;
        border-bottom: 1px dashed #36c9dc;
        padding: 0.835em 0.75em;
    }

    .scaling-price dl + p {
        font-size: 1em;
        line-height: 2;
    }
}
