@charset "UTF-8";

.vote2025 .thumb_img,
.vote2025 .thumb_img::after {
    border-radius: 4px;
}
.vote2025 .dimmed::before {
    height: auto;
    top: 45%;
    background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0), rgba(0, 0, 0, .9));
}
.vote2025 .tit_sec {
    font-weight: 600;
}
/* 대선 2025 헤더 */
.vt_25_featured {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 80px;
    padding: 0 20px;
    background:#7883F8 url(https://static.fnnews.com/resources/m/img/vote2025/bg_top.png) no-repeat top right -70px / 300px 80px;
}
.vt_25_featured .logo {
    width: 200px;
    height: 29px;
    background: url(https://static.fnnews.com/resources/m/img/vote2025/logo_vote2025.svg) no-repeat 0 0 / contain;
}
.vt_25_featured .txt_date {
    text-align: right;
    color: #fff;
}
.vt_25_featured .txt_date .d-day {
    font-size: 22px;
    font-weight: 500;
}
.vt_25_featured .txt_date p {
    margin-top: 2px;
    font-size: 14px;
}
.vt25_navi {
    border-bottom: 1px solid #E6E6E6;
}
.vt25_navi ul {
    display: flex;
    gap: 8px;
    justify-content: center;
}
.vt25_navi ul li {
    font-size: 17px;
    font-weight: 500;
}
.vt25_navi ul li a {
    display: block;
    position: relative;
    height: 42px;
    padding: 0 15px;
    line-height: 42px;
    text-decoration: none;
}
.vt25_navi ul li.active {
    font-weight: 600;
    color: #7883F8;
}
.vt25_navi ul li.active a::after {
    content: '';
    display: block;
    position: absolute;
    bottom: -1px;
    left: 0;
    right: 0;
    height: 3px;
    background: #7883F8;
}

/* 대선 배너 */
.bnr_vt .link_bnr {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 82px;
    padding: 0 20px;
    background-color: #777;
    background-image: url(https://static.fnnews.com/resources/m/img/vote2025/bg_bnr.png);
    background-repeat: no-repeat;
    background-size: 140px 90px;
    background-position: top 0 right 20px;

}
.bnr_vt .link_bnr .wrap_txt {
    max-width: 50%;
}
.bnr_vt .link_bnr .tit_thumb {
    word-break: keep-all;
    font-size: 18px;
    font-weight: 500;
    color: #fff;
}
.vote2025 .brn_more_row button {
    margin-top: 20px;
}

/* 메인 - 탑 기사 */
.vote2025 .top3 .main_top {
    display: block;
    position: relative;
}
.vote2025 .top3 .main_top .thumb_img {
    width: 100%;
    border-radius: 0;
}
.vote2025 .top3 .main_top .thumb_img img {
    width: 100%;
    height: auto
}
.vote2025 .txt_float {
    position: absolute;
    right: 20px;
    bottom: 15px;
    left: 20px;
    z-index: 999;
}
.vote2025 .txt_float .tit_thumb {
    overflow: hidden;
    display: -webkit-box;
    text-overflow: ellipsis;
    -webkit-box-orient: vertical;
    -ms-box-orient: vertical;
    box-orient: vertical;
    -webkit-line-clamp: 2;
    -ms-line-clamp: 2;
    line-clamp: 2;
    max-height: 63px;
    width: 100%;
    font-size: 24px;
    font-weight: 500;
    line-height: 1.33;
    color: #fff;
    word-break: keep-all
}
.vote2025 .txt_float .tit_thumb a {
    color: #fff
}
.vote2025 .col-list-img2 {
    padding: 16px 0 20px;
}
.vote2025 .col-list-img2 ul {
    gap: 18px 12px;
}
.vote2025 .col-list-img2 .tit_thumb {
    -webkit-line-clamp: 2;
    -ms-line-clamp: 2;
    line-clamp: 2;
}

/* 메인 - 대선 라이브 */
.vt25_live {
    position: relative;
    margin: 0 20px;
    padding: 16px 0 16px;
    border: 1px solid #E6E6E6;
    border-radius: 4px;
}
.vt25_live .tit_sec {
    margin: 0;
}
.vt25_live p {
    position: absolute;
    top: 23px;
    right: 20px;
    font-size: 12px;
    color: #aaa;
}
.vt25_live .tit_box {
    display: block;
    font-size: 0;
    margin: 0 20px;
}
.vt25_live .tit_box .txt_sbox {
    display: inline-block;
    margin-bottom: 6px;
    padding: 4px 8px;
    font-size: 12px;
    color: #7883F8;
    background: rgba(120, 131, 248, .2);
    border-radius: 2px;
}
.vt25_live .list_art_live {
    display: block;
    margin: 15px 20px 0 24px;
    padding: 0 0 0 15px;
    border-left: 2px dotted #E6E6E6;
}
.vt25_live .list_art_live li {
    position: relative;
}
.vt25_live .list_art_live li::before,
.vt25_live .list_art_live li::after {
    content: '';
    display: block;
    position: absolute;
    border-radius: 50%;
}
.vt25_live .list_art_live li::before {
    top: 4px;
    left: -21px;
    width: 10px;
    height: 10px;
    background-color: #EEEFFF;
}
.vt25_live .list_art_live li::after {
    top: 6px;
    left: -19px;
    width: 6px;
    height: 6px;
    background-color: #7883F8;
}
.vt25_live .list_art_live li:not(:first-child) {
    margin-top: 12px;
}
.vt25_live .list_art_live .txt_time {
    display: block;
    margin-bottom: 4px;
    font-size: 13px;
    color: #707070;
}
.vt25_live .list_art_live .tit_thumb {
    font-size: 17px;
    font-weight: 500;
}

/* 메인 - 주요 후보자 */
.info_person {
    padding-top: 20px;
}
.wrap_person {
    overflow: hidden;
    position: relative;
    padding: 0 20px 20px;
}
.wrap_person .list_person {
    display: flex;
}
.list_person > a {
    overflow: hidden;
    width: 240px;
    border-radius: 4px;
}
.personSwiper .wrap_visual {
    overflow: hidden;
    position: relative;
    height: 335px;
    z-index: -1;
}
.personSwiper .wrap_visual::after {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to bottom, rgba(255,255,255,.1) 0%, rgba(255,255,255,.02) 100%);
    clip-path: polygon(0% 0.23%, 100% 100%, 0% 100%);
    z-index: -1;
    transition: .4s;
}
.wrap_visual::before {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    bottom:0;
    left: 0;
    z-index: -1;
}
/* 민주 */
.wrap_visual:has(.minjoo):before {
    background: transparent;
    background: -webkit-linear-gradient(180deg, #0081CC 0%, #003B96 100%);
    background: -moz-linear-gradient(180deg, #0081CC 0%, #003B96 100%);
    background: -o-linear-gradient(180deg, #0081CC 0%, #003B96 100%);
    background: linear-gradient(180deg, #0081CC 0%, #003B96 100%);
}
/* 국힘 */
.wrap_visual:has(.gukhim):before {
    background: transparent;
    background: -webkit-linear-gradient(180deg, #E61E2B 0%, #D11C28 100%);
    background: -moz-linear-gradient(180deg, #E61E2B 0%, #D11C28 100%);
    background: -o-linear-gradient(180deg, #E61E2B 0%, #D11C28 100%);
    background: linear-gradient(180deg, #E61E2B 0%, #D11C28 100%);
}
/* 개혁 */
.wrap_visual:has(.gaehyeok):before {
    background: transparent;
    background: -webkit-linear-gradient(180deg, #FF7210 0%, #E56710 100%);
    background: -moz-linear-gradient(180deg, #FF7210 0%, #E56710 100%);
    background: -o-linear-gradient(180deg, #FF7210 0%, #E56710 100%);
    background: linear-gradient(180deg, #FF7210 0%, #E56710 100%);
}
/* 민주노동 */
.wrap_visual:has(.jeongui):before {
    background: transparent;
    background: -webkit-linear-gradient(180deg, #FFED00 0%, #C8BA00 100%);
    background: -moz-linear-gradient(180deg, #FFED00 0%, #C8BA00 100%);
    background: -o-linear-gradient(180deg, #FFED00 0%, #C8BA00 100%);
    background: linear-gradient(180deg, #FFED00 0%, #C8BA00 100%);
}
/* 자유통일 */
.wrap_visual:has(.tongil):before {
    background: transparent;
    background: -webkit-linear-gradient(180deg, #E24A49 0%, #C53D3C 100%);
    background: -moz-linear-gradient(180deg, #E24A49 0%, #C53D3C 100%);
    background: -o-linear-gradient(180deg, #E24A49 0%, #C53D3C 100%);
    background: linear-gradient(180deg, #E24A49 0%, #C53D3C 100%);
}
/* 무소속 */
.wrap_visual:has(.musosok):before {
    background: transparent;
    background: -webkit-linear-gradient(180deg, #666666 0%, #444444 100%);
    background: -moz-linear-gradient(180deg, #666666 0%, #444444 100%);
    background: -o-linear-gradient(180deg, #666666 0%, #444444 100%);
    background: linear-gradient(180deg, #666666 0%, #444444 100%);
}
.filter_w {
    filter: brightness(0) invert(1);
    -webkit-filter: brightness(0) invert(1);
}
.political {
    position: absolute;
    top: 12px;
    left: 20px;
    width: 87px;
    height: 26px;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: left top;
}
.wrap_visual:has(.minjoo) .political { background-image: url(https://static.fnnews.com/resources/m/img/vote2025/logo_minjoo.svg); }
.wrap_visual:has(.gukhim) .political { background-image: url(https://static.fnnews.com/resources/m/img/vote2025/logo_gukhim.svg); }
.wrap_visual:has(.gaehyeok) .political { background-image: url(https://static.fnnews.com/resources/m/img/vote2025/logo_gaehyeok.svg); }
.wrap_visual:has(.jeongui) .political { background-image: url(https://static.fnnews.com/resources/m/img/vote2025/logo_jeongui.svg); }
.wrap_visual:has(.tongil) .political { background-image: url(https://static.fnnews.com/resources/m/img/vote2025/logo_tongil.svg); }
.wrap_visual:has(.musosok) .political { background-image: url(https://static.fnnews.com/resources/m/img/vote2025/logo_musosok.svg); }

.wrap_visual .txt_wrap {
    position: absolute;
    bottom: 15px;
    right: 20px;
    left: 20px;
    color: #fff;
    z-index: 1;
}
.wrap_visual .dimmed::before {
    top: unset;
    bottom: 0;
    height: 174px;

}
.wrap_visual .txt_wrap em {
    display: block;
    font-size: 16px;
}
.wrap_visual .txt_wrap strong {
    display: block;
    font-size: 42px;
    font-weight: 500;
    line-height: 1.2;
}
.box_num {
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    width: 50px;
    height: 50px;
    text-align: center;
    font-size: 28px;
    font-weight: 400;
    line-height: 48px;
    color: #fff;
    background: rgba(0, 0, 0, 0.1);
}
.person_img {
    overflow: hidden;
    display: block;
    height: 295px;
    margin-top: 40px;
    text-align: center;
}
.person_img img {
    object-fit: cover;
    width: 100%;
    height: 100%;
    transition: .4s;
}
.link_person {
    display: block;
    height: 52px;
    text-align: center;
    font-size: 14px;
    line-height: 50px;
    color: #fff;
    background-color: #111;
    border-top: 1px solid #666;
}
.vote2025 .btn_txt {
    display: inline-block;
}
.vote2025 .btn_txt i {
    margin: 0 0 1px 5px;
    padding: 3px;
    border-width: 0 2px 2px 0;
    border-color: #fff;
}
.wrap_person .btn_person {
    width: 40px;
    height: 80px;
    margin-top: -40px;
    background-repeat: no-repeat;
}
.wrap_person .btn_person::after {
    display: none;
}
.wrap_person .swiper-button-prev {
    left: 0;
    background-image: url(https://static.fnnews.com/resources/m/img/vote2025/btn_swiper_l.png);
}
.wrap_person .swiper-button-next {
    right: 0;
    background-image: url(https://static.fnnews.com/resources/m/img/vote2025/btn_swiper_r.png);
}

/* 메인 - 대선 영상 */
.vt25_video {
    background-color: #E5E7FF;
}
.vt25_video .wrap_video {
    margin: 0 20px;
}
.vt25_video .wrap_video .link_video {
    border-radius: 4px;
}
.vt25_video .wrap_video .sj_video {
    margin-right: 0;
    padding: 0 5px;
    background-color: #7883F8;
    border-radius: 2px;
}
.vt25_video .wrap_video .tit_thumb {
    margin: 8px 3px 0;
    font-size: 20px;
    font-weight: 500;
}

/* 메인 - 대선 포토 */
.vt25_photo {
    padding-top: 20px;
}
.vt25_photo .wrap_photo {
    overflow: hidden;
    position: relative;
    padding: 0 20px 20px;
}
.vt25_photo .wrap_photo a {
    position: relative;
    max-width: 70%;
}
.vt25_photo .wrap_photo .thumb_img {
    aspect-ratio: 1 / 1;
}
.vt25_photo .wrap_photo .thumb_img img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
}
.vt25_photo .txt_float .tit_thumb {
    max-height: 48px;
    font-size: 18px;
}
.vote2025 .swiper-scrollbar {
    width: auto;
    right: 20px !important;
    bottom: 8px !important;
    left: 20px !important;
}

/* 메인 - 대선 일정 */
.vt25_schedule ul {
    display: flex;
    flex-wrap: wrap;
    gap: 12px 10px;
    margin: 0 20px;
}
.vt25_schedule ul li {
    flex: 1 1 45%;
    overflow: hidden;
    box-sizing: border-box;
    display: block;
    position: relative;
    height: 215px;
    border: 1px solid #E6E6E6;
    border-radius: 4px;
}
.vt25_schedule ul li.active {
    border: 0;
    background-color: #7883F8;
}
.vt25_schedule ul li::before {
    content: '';
    display: block;
    position: absolute;
    bottom: -2px;
    right: -2px;
    width: 100%;
    height: 70px;
    background: #E5E7FF;
    clip-path: polygon(100% 0.23%, 100% 100%, 0% 100%);
    z-index: 1;
}
.vt25_schedule ul li::after {
    content: '';
    display: block;
    position: absolute;
    right: 10px;
    bottom: 10px;
    width: 70px;
    height: 70px;
    background-repeat: no-repeat;
    background-position: 0;
    background-size: contain;
    z-index: 1;
}
.vt25_schedule ul li:nth-child(1)::after {
    background-image: url(https://static.fnnews.com/resources/m/img/vote2025/ico_step1.png);
}
.vt25_schedule ul li:nth-child(2)::after {
    background-image: url(https://static.fnnews.com/resources/m/img/vote2025/ico_step2.png);
}
.vt25_schedule ul li:nth-child(3)::after {
    background-image: url(https://static.fnnews.com/resources/m/img/vote2025/ico_step3.png);
}
.vt25_schedule ul li:nth-child(4)::after {
    background-image: url(https://static.fnnews.com/resources/m/img/vote2025/ico_step4.png);
}
.vt25_schedule ul li .wrap_txt {
    margin: 0 15px;
    padding: 15px 0;
}
.vt25_schedule ul li.active .wrap_txt {
    color: #fff;
}
.vt25_schedule ul li .wrap_txt em {
    display: block;
    font-weight: 500;
    margin-bottom: 15px;
}
.vt25_schedule ul li .wrap_txt strong {
    display: block;
    font-size: 18px;
    font-weight: 600;
}
.vt25_schedule ul li .wrap_txt p {
    display: block;
    margin-top: 6px;
    word-break: keep-all;
    font-size: 14px;
    opacity: .85;
}

/* 서브 - 기사 리스트 */
.lank_vt25 {
    position: relative;
    padding-top: 20px
}

.lank_vt25 .tit_sec {
    margin-bottom: 0
}

.lank_vt25 .article_list {
    overflow: hidden;
    margin-top: 0;
    padding: 0 20px
}
.lank_vt25 .article_list .tabcontent {
    display: flex;
    height: 390px;
    margin: 0
}
.lank_vt25 .article_list .tabcontent li {
    flex: 1 1 20%;
    margin-top: 0 !important
}
.lank_vt25 .article_list .tabcontent li::after {
    top: 15px;
    color: #7883F8
}
.lank_vt25 .article_list .tabcontent li:nth-child(6) {
    border-top: none
}
.lank_vt25 .wrap_control {
    position: absolute;
    top: 30px;
    right: 20px;
    width: 100%
}
.lank_vt25 .wrap_control .swiper-pagination {
    text-align: right
}
.lank_vt25 .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
    background-color: #7883F8 !important;
}

/* 서브 - 후보자 정보 */
.political_list {
    overflow: hidden;
    padding: 25px 20px 0;
}
.political_list ul {
    justify-content: flex-start;
}
.political_list ul li {
    display: block;
    width: auto;
}
.link_political {
    display: flex;
    gap: 0 6px;
    align-items: center;
}
.link_political:hover {
    text-decoration: none;
}
.link_political .thumb_img {
    width: 40px;
    height: 40px;
    border-radius: 50%;
}
.link_political .thumb_img::before {
    background: #ccc;
}
.link_political .thumb_img::after {
    display: none;
}
.link_political .thumb_img img {
    object-fit: cover;
    width: 100%;
    margin-top: 8px;
    transform: scale(1.3);
    filter: grayscale(100%);
    -webkit-filter: grayscale(100%);
}
.link_political .txt_area {
    color: #888;
}
.link_political .txt_area em {
    display: block;
    font-size: 13px;
    font-weight: 500;
}
.link_political .txt_area strong {
    display: block;
    font-size: 18px;
    line-height: 1.2;
}
.political_list ul li.active .thumb_img::before {
    background: transparent;
}
.political_list ul li.active .thumb_img img {
    filter: unset;
    -webkit-filter: unset;
}
.political_list ul li.active strong {
    color: #111;
}
.political_list ul li.active .link_political:has(.minjoo) .thumb_img::before { background: #0081CC; }
.political_list ul li.active .link_political:has(.gukhim) .thumb_img::before { background: #E61E2B; }
.political_list ul li.active .link_political:has(.gaehyeok) .thumb_img::before { background: #FF7210; }
.political_list ul li.active .link_political:has(.jeongui) .thumb_img::before { background: #ffed00; }
.political_list ul li.active .link_political:has(.tongil) .thumb_img::before { background: #E24A49; }
.political_list ul li.active .link_political:has(.musosok) .thumb_img::before { background: #666666; }

.political_list ul li.active .link_political:has(.minjoo) em { color: #0081CC; }
.political_list ul li.active .link_political:has(.gukhim) em { color:  #E61E2B; }
.political_list ul li.active .link_political:has(.gaehyeok) em { color: #FF7210; }
.political_list ul li.active .link_political:has(.jeongui) em { color: #f3e200; }
.political_list ul li.active .link_political:has(.tongil) em { color: #E24A49; }
.political_list ul li.active .link_political:has(.musosok) em { color: #666666; }


/* 서브 - 후보자 정보 - 카드 */
.profile_card {
    overflow: hidden;
    display: flex;
    justify-content: center;
    min-height: 165px;
    margin-top: 20px;
    background-color: #F4F5FA;
}
.profile_card .inner_card {
    box-sizing: border-box;
    display: flex;
    gap: 10px;
    align-items: flex-end;
    justify-content: center;
    position: relative;
}
.profile_card .inner_card:nth-child(2) .profile_img {
    order: 1;
}
.profile_card .inner_card:nth-child(2) .profile_info {
    order: 0;
    text-align: right;
}
.profile_card .inner_card:nth-child(2) .wrap_txt {
    justify-content: flex-end;
}
.profile_card .inner_card:nth-child(2) .wrap_txt .name {
    order: 1;
}
.profile_card .inner_card:nth-child(2) .wrap_txt em {
    order: 0;
}
.profile_card > *:first-child:nth-last-child(2)::after,
.profile_card > *:first-child:nth-last-child(2) ~ *::after {
    content: '';
    display: block;
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    height: 4px;
    background-color: #aaa;
}
/* 민주 */
.profile_card .inner_card:has(.minjoo)::after,
.profile_card .inner_card:has(.minjoo) .num_box {
    background-color: #0081CC;
}
.profile_card .inner_card:has(.minjoo) .wrap_txt em {
    color: #0081CC;
}
/* 국힘 */
.profile_card .inner_card:has(.gukhim)::after,
.profile_card .inner_card:has(.gukhim) .num_box {
    background-color: #E61E2B;
}
/* 개혁 */
.profile_card .inner_card:has(.gukhim) .wrap_txt em {
    color: #E61E2B;
}
.profile_card .inner_card:has(.gaehyeok)::after,
.profile_card .inner_card:has(.gaehyeok) .num_box {
    background-color: #FF7210;
}
.profile_card .inner_card:has(.gaehyeok) .wrap_txt em {
    color: #FF7210;
}
/* 민주노동 */
.profile_card .inner_card:has(.jeongui)::after,
.profile_card .inner_card:has(.jeongui) .num_box {
    background-color: #f3e200;
}
.profile_card .inner_card:has(.jeongui) .wrap_txt em {
    color: #f3e200;
}
/* 자유통일 */
.profile_card .inner_card:has(.tongil)::after,
.profile_card .inner_card:has(.tongil) .num_box {
    background-color: #E24A49;
}
.profile_card .inner_card:has(.tongil) .wrap_txt em {
    color: #E24A49;
}
/* 무소속 */
.profile_card .inner_card:has(.musosok)::after,
.profile_card .inner_card:has(.musosok) .num_box {
    background-color: #666666;
}
.profile_card .inner_card:has(.musosok) .wrap_txt em {
    color: #666666;
}
.profile_card .inner_card:has(.empty) .num_box,
.profile_card .inner_card:has(.empty) .wrap_txt em {
    display: none;
}
.profile_card .inner_card:has(.empty) {
    justify-content: flex-end !important;
}
.profile_card .inner_card:has(.empty) .profile_info .name {
    font-size: 22px;
    font-weight: 600;
}
.profile_card .inner_card .profile_img {
    display: block;
    position: relative;
    height: 150px;
    z-index: 1;
}
.profile_card .inner_card .profile_img img {
    object-fit: cover;
    height: 100%;
    max-width: 100%;
}
.profile_card .inner_card .num_box {
    display: inline-block;
    height: 21px;
    margin-bottom: 5px;
    padding: 0 6px;
    font-size: 12px;
    font-weight: 500;
    line-height: 20px;
    color: #fff;
    background-color: #111;
    border-radius: 2px;
}
.profile_card .inner_card .profile_info {
    align-self: flex-start;
    max-width: 164px;
    margin: 25px 0 0 0;
}
.profile_card .inner_card .wrap_txt {
    display: flex;
    align-items: flex-end;
    gap: 6px;
}
.profile_card .inner_card .wrap_txt .name {
    flex-shrink: 0;
    font-size: 26px;
    font-weight: 600;
    line-height: 1.2;
}
.profile_card .inner_card .wrap_txt em {
    display: block;
    font-size: 14px;
    font-weight: 500;
}
.profile_card .inner_card .txt_dec {
    margin: 8px 0 15px;
    word-break: keep-all;
    font-size: 15px;
    color: #111;
}

/* 서브 - 후보자 비교 */
.profile_card:has(> .inner_card:first-child:nth-last-child(2)) {
    justify-content: space-between;
    height: auto;
}
.profile_card:has(> .inner_card:first-child:nth-last-child(2)) .inner_card {
    box-sizing: border-box;
    flex-direction: column;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0;
    width: 50%;
}
.profile_card:has(> .inner_card:first-child:nth-last-child(2)) .inner_card:nth-child(2) {
    align-items: flex-end;
}
.profile_card:has(> .inner_card:first-child:nth-last-child(2)) .inner_card .profile_img {
    flex: unset;
    order: 1;
    align-self: center;
    width: 90%;
    margin: 0 0 0 -2%;
}
.profile_card:has(> .inner_card:first-child:nth-last-child(2)) .inner_card:nth-child(2) .profile_img {
    margin: 0 -2% 0 0;
    text-align: right;
}
.profile_card:has(> .inner_card:first-child:nth-last-child(2)) .inner_card .profile_info {
    flex: unset;
    align-self: unset;
    margin: 20px 10px 0 11%;
}
.profile_card:has(> .inner_card:first-child:nth-last-child(2)) .inner_card:nth-child(2) .profile_info {
    margin: 20px 11% 0 10px;
}

/* 서브 - 후보자 정보 - 탭 정보 */
.profile_tab {
    padding: 20px 0;
}
.profile_tab > ul {
    display: flex;
    gap: 5px;
    margin: 0 20px;
}
.profile_tab > ul > li {
    box-sizing: border-box;
    flex: 1;
    height: 42px;
    text-align: center;
    font-size: 15px;
    line-height: 42px;
    background-color: #E5E7FF;
    border-radius: 2px;
}
.profile_tab > ul > li.active {
    font-weight: 500;
    color: #fff;
    background-color: #7883F8;
    border: none;
}
.profile_tab > ul > li a {
    display: block;
}
.profile_tab > ul > li a:hover {
    text-decoration: none;
}
.profile_tab .tab_cont {
    margin: 18px 20px 0;
}
.profile_tab .tab_cont.row-list-img {
    margin: 18px 0 0;
}
.profile_tab .tab_cont:has(.wrap_promice.active) {
    width: auto;
    margin-top: 0;
}
.tab_cont.detail .box_detail {
    position: relative;
    border: 1px solid #E6E6E6;
}
.tab_cont.detail .box_detail .col {
    margin: 20px 0;
    padding: 0 20px;
}
.tab_cont.detail .box_detail dl {
    display: flex;
    font-size: 15px;
}
.tab_cont.detail .box_detail dl:not(:first-child) {
    margin-top: 16px;
}
.tab_cont.detail .box_detail dl dt {
    flex-shrink: 0;
    width: 75px;
    font-weight: 600;
    line-height: 1.3;
}
.tab_cont.detail .box_detail dl dd {
    display: block;
}
.tab_cont.detail .box_detail dl dd p em {
    display: block;
    margin-bottom: 4px;
    font-size: 14px;
    color: #888;
}
.tab_cont.detail .box_detail dl dd p a {
    color: #7883F8;
    text-decoration: underline;
}
.tab_cont.promise .tit_sec {
    margin: 0 0 15px;
}
.tab_cont.promise dl {
    font-size: 15px;
}
.tab_cont.promise dl:not(:first-child) {
    margin-top: 15px;
}
.tab_cont.promise dl dt {
    height: 40px;
    border-bottom: 1px solid #111;
}
.tab_cont.promise dl dd {
    display: flex;
    position: relative;
}
.tab_cont.promise .wrap_promice.active dl dd > *:first-child:nth-last-child(2),
.tab_cont.promise .wrap_promice.active dl dd > *:first-child:nth-last-child(2) ~ * {
    display: block;
    flex: 1;
}
.tab_cont.promise .wrap_promice dl dd > *:first-child:nth-last-child(2) ~ * {
    display: none;
}
.tab_cont.promise dl dd .col {
    position: relative;
    padding: 15px 16px;
}
.tab_cont.promise dl dd .col:nth-child(2)::before {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    bottom:0;
    left:0;
    width: 1px;
    background-color: #E6E6E6;
}
.tab_cont.promise dl dd:not(:last-child) {
    border-bottom: 1px solid #E6E6E6;
}
.tab_cont.promise dl dd strong {
    display: block;
    margin-bottom: 10px;
    font-weight: 600;
}
.tab_cont dl dd p {
    font-size: 14px;
    line-height: 1.35;
    color: #333;
}
.tab_cont dl dd p:not(:first-child) {
    margin-top: 10px;
}
.tab_cont dl dd p:has(em):not(:first-child) {
    margin-top: 14px;
}

/* 당선 배너 */
.top_bnr {
    position: relative;
}
.top_bnr .wrap_visual {
    height: 190px;
}
.top_bnr .wrap_visual .person_img {
    position: absolute;
    right: 20px;
    bottom: 0;
    width: 179px;
    height: 168px;
    margin-top: 0;
}
.top_bnr .wrap_visual::after {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to bottom, rgba(255, 255, 255, .1) 0%, rgba(255, 255, 255, .02) 100%);
    clip-path: polygon(100% 0%, 100% 100%, 50% 100%);
    z-index: -1;
    transition: .4s;
}
.top_bnr .wrap_visual .txt_wrap {
    left: 20px;
    top: 64px;
    bottom: unset;
}
.top_bnr .wrap_visual .txt_wrap em {
    position: relative;
    margin-bottom: 8px;
    padding-left: 10px;
    letter-spacing: -0.05em;
    font-size: 15px;
    color: #ffbf6b;
}
.top_bnr .wrap_visual .txt_wrap em::after {
    content: '';
    position: absolute;
    top: 3px;
    left: 0;
    bottom: 1px;
    width: 2px;
    height: auto;
    background-color: #ffbf6b;
}
.top_bnr .wrap_visual .txt_wrap strong {
    font-size: 26px;
    font-weight: 600;
}
.top_bnr .wrap_visual .txt_wrap p {
    display: block;
    font-size: 20px;
    margin-top: 30px;
}
.top_bnr .wrap_flag {
    position: absolute;
    top: 0;
    left: 20px;
    width: 52px;
    height: 56px;
    background: url(https://static.fnnews.com/resources/m/img/vote2025/ico_win.png)no-repeat 0 0 / contain;
}
