body {
    background-color: var(--color-white);
    overflow: hidden;
}

.media-container,
.media-content,
.media-box,
.media-wrapper {
    height: 100%;
}
.media-content,
.media-wrapper {
    float: left;
    padding: 195px 0 96px;
}
.media-content {
    background:no-repeat 96px calc(100% - 96px) / 65%;
}
.media-box {
    width: 678px;
    padding: 126px 30px 0 126px;
}
.media-text {
    color: var(--color-black);
}
.media-text i,
.media-text span {
    display: block;
}
.media-text i {
    line-height: 1.2;
    font-size: 60px;
    font-weight: bold;
}
.media-text span {
    position: relative;
    margin-top: 30px;
    height: 75px;
    font-size: 30px;
}
.media-text span::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 0;
    height: 100%;
    background: url('../../images/icon_arc_red.png') no-repeat 0 bottom / 120px;
    animation: ani-media-text .4s linear .5s forwards;
    overflow: hidden;
}

@keyframes ani-media-text {
    0% {
        width: 0%;
    }
    100% {
        width: 120px;
    }
}

.media-wrapper {
    padding-right: 80px;
    width: calc(100% - 678px);
    overflow: hidden;
}
.media-desc .text {
    position: relative;
}
.media-desc .text p {
    line-height: 1.8;
    color: var(--color-dark);
    font-size: 16px;
    text-align: justify;
}
.media-company {
    margin-top: 30px;
    padding: 50px 20px 0;
    border-top: 1px solid var(--color-pale-gray);
}
.media-item {
    display: block;
    float: left;
    margin: 10px 10px 0 0;
    width: calc((100% - 50px) / 6);
}
.media-item:nth-child(-n+6) {
    margin-top: 0;
}
.media-item:nth-child(6n) {
    margin-right: 0;
}
.media-item .image {
    padding-bottom: 80%;
    height: 100%;
    background: no-repeat center center / 100%;
}