.keyVision {
    position: relative;
}

.keyVision img.logo {
    width: 208px;
    position: absolute;
    left: calc(50% - 104px);
    top: calc(45% - 56px);
    z-index: 99;
    cursor: pointer;
}

.keyVision .slider {
    position: relative;
}

.keyVision .slider::before {
    content: "";
    width: 100%;
    height: 100%;
    display: block;
    position: absolute;
    background-color: rgb(0 0 0 / 30%);
    top: 0;
    left: 0;
    z-index: 9;
}

.keyVision .slider .imgBox {
    width: 100%;
    max-width: 100vw;
    height: 100vh;
    overflow: hidden;
}

.keyVision .slider .imgBox img {
    display: block;
    width: 100%;
    min-height: 100%;
    display: block;
    object-fit: cover;
}

main {
    padding: 40px 1em;
}

article.newsList {
    margin-bottom: 40px;
}

article.newsList .title h3 {
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

article.newsList .text {
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    white-space: normal;
}

article.newsList .text img {
    display: none;
}

.side .imgBox img {
    width: 100%;
    height: auto;
    display: block;
}

article.productList {
    margin-top: 48px;
}

article.productList h2 {
    color: #F7931E;
    margin-bottom: 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    white-space: nowrap;
}

article.productList h2::before,
article.productList h2::after {
    content: "";
    display: block;
    height: 1px;
    background-color: #F7931E;
}

article.productList h2::before {
    width: 2em;
    margin-right: .5em;
}

article.productList h2::after {
    width: 100%;
    margin-left: .5em;
}

@media screen and (min-width: 1024px) {
    .keyVision img.logo {
        width: 416px;
        position: absolute;
        left: calc(50% - 208px);
        top: calc(40% - 104px);
    }
    main {
        padding: 96px 10%;
        min-height: calc(100vh - 200px);
    }
    main .upper {
        display: flex;
        flex-direction: row-reverse;
        justify-content: space-between;
    }
    article.newsList {
        width: calc(70% - 84px);
    }
    .side {
        width: 30%;
        margin-right: 84px;
    }
}