/* text-box */

div.text-box {
    width: 100%;
    max-width: max(880px, -webkit-calc(880vw / 19.2));
    max-width: max(880px, -moz-calc(880vw / 19.2));
    max-width: max(880px, calc(880vw / 19.2));
}

div.text-box>*:not(:last-child) {
    margin-bottom: max(30px, -webkit-calc(40vw / 19.2));
    margin-bottom: max(30px, -moz-calc(40vw / 19.2));
    margin-bottom: max(30px, calc(40vw / 19.2));
}

/* text */

div.text-a,
div.text-b {
    padding: 0 0 0 31.25vw;
    margin: max(60px, -webkit-calc(100vw / 19.2)) 0;
    margin: max(60px, -moz-calc(100vw / 19.2)) 0;
    margin: max(60px, calc(100vw / 19.2)) 0;
}

div.text-b {
    margin: 0;
    padding-top: max(60px, -webkit-calc(100vw / 19.2));
    padding-top: max(60px, -moz-calc(100vw / 19.2));
    padding-top: max(60px, calc(100vw / 19.2));
    padding-bottom: max(60px, -webkit-calc(100vw / 19.2));
    padding-bottom: max(60px, -moz-calc(100vw / 19.2));
    padding-bottom: max(60px, calc(100vw / 19.2));
}

div.text-b div.text-box {
    position: relative;
}

/* image */

div.image {
    padding: 0 0 0 31.25vw;
    position: relative;
    background: #F5F5F5;
}

div.image div.image-box {
    width: 100%;
    max-width: max(880px, -webkit-calc(880vw / 19.2));
    max-width: max(880px, -moz-calc(880vw / 19.2));
    max-width: max(880px, calc(880vw / 19.2));
}

div.image div.image-box img {
    display: block;
    width: 100%;
    height: auto;
}

/* responsive */

@media only screen and (max-width: 1023px) {

    div.text-a,
    div.text-b,
    div.image {
        padding: 0 30px;
    }

    div.text-b {
        padding: 60px 30px;
    }
}