div.sns-portal-container {
    div.header-layout {
        position: relative;
        /*height: 140px;*/
        padding-top: 30px;
        z-index: 10;
        background-color: #000;
        div.h_wrap {
            display: flex;
            flex-direction: column;
            justify-content: space-between;
            width: 1200px;
            height: 100%;
            margin: 0 auto;
            div.logo {
                div.logo-box {
                    width: 262px;
                    img {
                        display: block;
                        width: 100%;
                    }
                }
            }
            div.lnb {
                margin: 32px 0 0 0;
                ul {
                    display: flex;
                    padding-left: 0;
                    margin-bottom: 0;
                    li {
                        display: flex;
                        align-items: center;
                        height: 52px;
                        padding: 0 18px;
                        color: #fff;
                        cursor: pointer;
                        &.on {
                            background-color: #f38e2c;
                        }
                    }
                }
            }
        }
    }
    div.content-layout.winter{background:url(/images/sns/main/winter.gif) center 0 no-repeat;}
    div.content-layout.winter:before{display:block; content:""; position:absolute; top:40px; right:0; width:280px; height:332px; background:url(/images/sns/main/winter_character.png) center 0 no-repeat;}
    div.content-layout.autumn{background:url(/images/sns/main/autumn.gif) center 0 no-repeat;}
    div.content-layout.autumn:before{display:block; content:""; position:absolute; top:40px; right:0; width:280px; height:332px; background:url(/images/sns/main/autumn_character.png) center 0 no-repeat;}
    div.content-layout.summer{position:relative; background:url(/images/sns/main/summer.jpg) center -150px no-repeat; background-size:inherit !important;} /*여름*/
    div.content-layout.summer:before{display:block; content:""; position:absolute; top:40px; right:0; width:280px; height:363px; background:url(/images/sns/main/summer_character.png) center 0 no-repeat;}
    div.content-layout.spring{background:url(/images/sns/main/spring.gif) center 0 no-repeat;} /*봄*/
    div.content-layout.spring:before{display:block; content:""; position:absolute; top:40px; right:0; width:280px; height:332px; background:url(/images/sns/main/spring_character.png) center 0 no-repeat;}

    div.content-layout {
        position: relative;
        background-color: #f2f4f8;
        background-size:100% 100% !important;
        div.c_wrap {
            width: 1200px;
            margin: 0 auto;
            padding-bottom: 53px;
            display: flex;
            justify-content: space-between;
            padding-top: 40px;
            position: relative;
            z-index: 1;
            div.left {
                width: 100%;
                position: relative;
                display: flex;
                flex-direction: column;
                justify-content: space-between;
                ul.result-list-wrapper {
                    display: flex;
                    flex-wrap: wrap;
                    gap: 24px;
                    padding: 0;
                    margin-right: 24px;
                    li {
                        position: relative;
                        width: 260px;
                        height: 260px;
                        padding: 30px 27px;
                        border: 1px solid #fff;
                        background-color: #fff;
                        &:nth-child(3n) {
                            margin: 0 0 10px 0;
                        }
                        &:before {
                            display: block;
                            content: "";
                            position: absolute;
                            top: 0;
                            right: -11px;
                            width: 11px;
                            height: 243px;
                            background: url(../../../img/sns/con_shadow.png) 0 0 no-repeat;
                        }
                        &.type1 {
                            a {
                                display: flex;
                                flex-direction: column;
                                justify-content: space-between;
                                height: 100%;
                                div.title-box {
                                    p {
                                        display: -webkit-box;
                                        -webkit-line-clamp: 2;
                                        -webkit-box-orient: vertical;
                                        font-size: 16px;
                                        color: #222222;
                                        font-weight: bold;
                                        overflow: hidden;
                                        text-overflow: ellipsis;
                                        margin-bottom: 0;
                                    }
                                }
                                div.content-box {
                                    p {
                                        font-size: 16px;
                                        line-height: 24px;
                                        color: #666666;
                                        font-weight: 400;
                                        display: -webkit-box;
                                        -webkit-line-clamp: 4;
                                        -webkit-box-orient: vertical;
                                        overflow: hidden;
                                        text-overflow: ellipsis;
                                        margin-bottom: 0;
                                    }
                                }
                                div.footer-box {
                                    display: flex;
                                    align-items: center;
                                    justify-content: space-between;
                                    p {
                                        font-size: 16px;
                                        font-weight: 400;
                                        color: #888888;
                                        margin-bottom: 0;
                                    }
                                    div.img-box {
                                        width: 36px;
                                        img {
                                            display: block;
                                            width: 100%;
                                        }
                                    }
                                }
                            }
                        }
                        &.type3 {
                            padding: 0;
                            a {
                                width: 100%;
                                height: 100%;
                                div.img-box {
                                    width: 100%;
                                    height: 100%;
                                    color: #ffffff;
                                    text-align: left;
                                    background-color: #ffffff;
                                    img {
                                        display: block;
                                        width: 100%;
                                        height: 100%;
                                    }
                                }
                                div.con {
                                    display: block;
                                    position: absolute;
                                    bottom: 0;
                                    right: 0;
                                    width: 100%;
                                    height: 70%;
                                    z-index: 1;
                                    background-color: rgba(0, 0, 0, 0.35);
                                    div.align-box {
                                        width: 100%;
                                        height: 100%;
                                        padding: 16px 20px;
                                        display: flex;
                                        flex-direction: column;
                                        justify-content: space-between;
                                        p.content-txt {
                                            display: -webkit-box;
                                            -webkit-line-clamp: 4;
                                            -webkit-box-orient: vertical;
                                            overflow: hidden;
                                            text-overflow: ellipsis;
                                            font-size: 16px;
                                            font-weight: 500;
                                            color: #ffffff;
                                            line-height: 24px;
                                            margin-bottom: 0;
                                        }
                                        div.day-align-box {
                                            display: flex;
                                            align-items: center;
                                            justify-content: space-between;
                                            p.day-title {
                                                font-size: 16px;
                                                color: #fff;
                                                margin: 0;
                                            }
                                            div.logo-box {
                                                width: 36px;
                                                img {
                                                    display: block;
                                                    width: 100%;
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                        &.type4 {
                            padding: 0;
                            a {
                                width: 100%;
                                height: 100%;
                                div.img-box {
                                    width: 100%;
                                    height: 100%;
                                    color: #ffffff;
                                    text-align: left;
                                    background-color: #eeeeee;
                                    background-image: url(../../../img/logo/footer-logo.svg);
                                    background-repeat: no-repeat;
                                    background-position: center;
                                    background-size: 80px;
                                    img {
                                        display: block;
                                        width: 100%;
                                        height: 100%;
                                    }
                                }
                                div.con {
                                    display: block;
                                    position: absolute;
                                    bottom: 0;
                                    right: 0;
                                    width: 100%;
                                    z-index: 1;
                                    div.align-box {
                                        width: 100%;
                                        height: 100%;
                                        padding: 16px 20px;
                                        div.day-align-box {
                                            display: flex;
                                            align-items: center;
                                            justify-content: end;
                                            div.logo-box {
                                                width: 36px;
                                                img {
                                                    display: block;
                                                    width: 100%;
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                        a {
                            font-size: 14px;
                            display: block;
                            color: #555;
                            text-decoration: none;
                            cursor: pointer;
                            div.video {
                                position: relative;
                                overflow: hidden;
                                padding-top: 56.25%;
                                width: 189px;
                                margin-bottom: 8px;
                                img {
                                    position: absolute;
                                    top: 0;
                                    left: 0;
                                    width: 100%;
                                    vertical-align: top;
                                    border: 0;
                                    padding: 0;
                                }
                            }
                            p {
                                &.tit {
                                    position: relative;
                                    display: -webkit-box;
                                    -webkit-line-clamp: 2;
                                    -webkit-box-orient: vertical;
                                    height: 40px;
                                    margin-bottom: 20px;
                                    line-height: 20px;
                                    overflow: hidden;
                                    text-overflow: ellipsis;
                                    font-size: 15px;
                                    color: #555;
                                    font-weight: 600;
                                    &:before {
                                        display: block;
                                        content: "";
                                        position: absolute;
                                        bottom: 0;
                                        left: 0;
                                        width: 100%;
                                        height: 1px;
                                        text-decoration: underline;
                                    }
                                }
                                &.txt {
                                    display: -webkit-box;
                                    -webkit-line-clamp: 4;
                                    -webkit-box-orient: vertical;
                                    width: 190px;
                                    height: 67px;
                                    margin-bottom: 38px;
                                    line-height: 17px;
                                    overflow: hidden;
                                    text-overflow: ellipsis;
                                    color: #959595;
                                }
                                &.img-txt {
                                    display: -webkit-box;
                                    -webkit-line-clamp: 2;
                                    -webkit-box-orient: vertical;
                                    margin-bottom: 20px;
                                    overflow: hidden;
                                    text-overflow: ellipsis;
                                    font-size: 14px;
                                    color: #353535;
                                }
                            }
                            div.year-wrap {
                                display: flex;
                                justify-content: space-between;
                                align-items: center;
                                p.year {
                                    font-size: 16px;
                                    color: #888888;
                                    font-weight: 500;
                                    margin-bottom: 0;
                                }
                                div.logo-box {
                                    width: 36px;
                                    img {
                                        display: block;
                                        width: 100%;
                                    }
                                }
                            }
                        }
                    }
                }
            }
            div.right {
                width: 348px;
                height: 940px;
                z-index: 10;
                margin-top: -93px;
                box-shadow: 8px 8px 2px 0 #0000000A;
                flex-shrink: 0;
                div.notice {
                    position: relative;
                    padding: 31px 30px 30px 29px;
                    background-color: #fff;
                    height: 100%;
                    div.top-box {
                        div.align-box {
                            display: flex;
                            align-items: center;
                            justify-content: end;
                            gap: 10px;
                            p {
                                font-size: 14px;
                                font-weight: 500;
                                color: #666666;
                                margin: 0;
                            }
                            div.line {
                                width: 1px;
                                height: 8px;
                                background-color: #cccccc;
                            }
                            a {
                                text-decoration: none;
                                font-size: 14px;
                                font-weight: 600;
                                &.color-orange {
                                    color: #b35900;
                                }
                                &.color-blue {
                                    color: #576dd8;
                                }
                            }
                        }
                    }
                    div.align-item {
                        border-bottom: 1px solid #f2f2f2;
                        padding-bottom: 71px;
                        margin-top: 24px;
                        &:first-child {
                            border-top: none;
                        }
                        &:last-child {
                            margin-bottom: 0;
                        }
                        div.title-wrap {
                            display: flex;
                            align-items: center;
                            justify-content: space-between;
                            margin-bottom: 17px;
                            div.left-wrap {
                                display: flex;
                                gap: 8px;
                                div.img-box {
                                    width: 24px;
                                    img {
                                        display: block;
                                        width: 100%;
                                    }
                                }
                                p {
                                    margin-bottom: 0;
                                    font-size: 18px;
                                    font-weight: 600;
                                    color: #333;
                                }
                            }
                            div.right-wrap {
                                div.action-btn-wrap {
                                    display: flex;
                                    align-items: center;
                                    div.img-box {
                                        cursor: pointer;
                                        &.pause-btn {
                                            margin: 0 15px;
                                        }
                                        img {
                                            display: block;
                                            width: 100%;
                                        }
                                    }
                                }
                                div.align-txt {
                                    display: flex;
                                    align-items: center;
                                    p {
                                        font-size: 12px;
                                        color: #9d9d9d;
                                        margin-bottom: 0;
                                        margin-right: 10px;
                                        cursor: pointer;
                                    }
                                    div.img-box {
                                        cursor: pointer;
                                        img {
                                            display: block;
                                            width: 100%;
                                        }
                                    }
                                }
                            }
                        }
                        div.content-wrap {
                            ul.magazine-content-wrap {
                                display: flex;
                                align-items: center;
                                justify-content: space-between;
                                gap: 10px;
                                margin-bottom: 0;
                                padding-left: 0;
                                li {
                                    width: 100%;
                                    cursor: pointer;
                                    div.img-box {
                                        width: 100%;
                                        height: 129px;
                                        margin-bottom: 13px;
                                        img {
                                            display: block;
                                            width: 100%;
                                            height: 100%;
                                        }
                                    }
                                    p {
                                        text-align: center;
                                        font-size: 14px;
                                        margin-bottom: 0;
                                        color: #555;
                                    }
                                }
                            }
                            div.swiper-news {
                                div.swiper {
                                    div.swiper-wrapper {
                                        height: 149px;
                                        div.swiper-slide {
                                            cursor: pointer;
                                            div.news-item {
                                                height: 100%;
                                                div.img-box {
                                                    width: 100%;
                                                    height: 100%;
                                                    img {
                                                        display: block;
                                                        width: 100%;
                                                        height: 100%;
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                        ul.youtube-content-wrap {
                            margin-bottom: 0;
                            padding-left: 0;
                            li {
                                width: 100%;
                                cursor: pointer;
                                div.img-box {
                                    width: 100%;
                                    height: 149px;
                                    margin-bottom: 13px;
                                    img {
                                        display: block;
                                        width: 100%;
                                        height: 100%;
                                    }
                                }
                                p {
                                    margin-bottom: 0;
                                    overflow: hidden;
                                    text-overflow: ellipsis;
                                    white-space: nowrap;
                                    font-size: 14px;
                                }
                            }
                        }
                    }
                }
            }
        }
    }

    div.footer-layout {
        height: 105px;
        padding-top: 40px;
        background-color: #fff;
        border-top: 1px solid #d3d3d3;
        div.align-box {
            overflow: hidden;
            width: 1200px;
            margin: 0 auto;
            display: flex;
            align-items: center;
            div.logo-box {
                margin-right: 80px;
                img {
                    display: block;
                    width: 100%;
                }
            }
            div.footer-txt {
                p {
                    font-size: 12px;
                    color: #767676;
                    line-height: 24px;
                    font-weight: 500;
                }
            }
        }
    }
}

/* 웹접근성: 키보드 초점 표시 (onclick 만 있던 클릭 요소에 부여한 role/tabindex 대상) */
.sns-portal-container .logo-box:focus-visible,
.sns-portal-container #tab-list-wrapper li:focus-visible,
.sns-portal-container .result-list-wrapper li:focus-visible,
.sns-portal-container .swiper-news .swiper-slide:focus-visible,
.sns-portal-container .action-btn-wrap .img-box:focus-visible,
.sns-portal-container .magazine .align-txt:focus-visible,
.sns-portal-container .magazine-item:focus-visible,
.sns-portal-container .youtube-item:focus-visible {
    outline: 2px solid #1d6fff;
    outline-offset: 2px;
}