@charset "utf-8";
/* canvas */
.btm_blue_wrap {
    position: relative;
    z-index: 1;
}
.btm_blue_wrap::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 30%;
    z-index: -1;
    background-color: #0054A3;
}
.radi_whi_te {
    max-width: 700px;
    margin: 0 auto;
    padding: 50px 0;
}
.center_img {
    text-align: center;
    border-radius: 30px;
    overflow: hidden;
}
.center_img02 {
    text-align: center;
}


.sub_com_tit {
    font-size: 36px;
    color: #222;
    font-weight: 700; 
    word-break: keep-all;
    overflow-wrap: break-word;   
}
.sub_com_tit .sm_txt{
    font-size: 22px;
    font-weight: 400;
    margin-bottom: 5px;
}
.sub_com_tit.line {
    text-align: center;
    position: relative;
    padding-top: 24px;
}
.sub_com_tit.line::after {
    content: '';
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 40px;
    height: 4px;
    background-color: #0054A3;
}
.sub_com_tit.btm_line {
    border-bottom: 1px solid #DCDCDC;
    padding-bottom: 30px;
    margin-bottom: 30px;
    text-align: center;
}
.sub_com_tit.txt_center{
    text-align: center;
}
.sub_con_row + .sub_con_row {
    margin-top: 30px;
}
.sub_com_alt {
    font-size: 16px;
    color: #555;
    line-height: 1.75em;
    font-weight: 400;
    margin-bottom: 20px;
}
.sub_com_alt.type02 {
    line-height: 1.62em;
}
.sub_com_alt .sub_si_gn{
    color: #222;
    font-size: 16px;
    font-weight: 600;
    text-align: right;
    margin-top: 30px;
}
.sub_com_alt .sub_si_gn span{
    font-size: 22px;
}

.sub_com_alt .sub_com_alt_box + .sub_com_alt_box {
    margin-top: 30px;
}
.btm_blue_wrap .sub_radi_us {
    margin-bottom: 130px;
}

.bor_der_tit{
    border-top: 2px solid #000;
    border-bottom: 1px solid #dcdcdc;
    padding: 30px 0;
    text-align: center;
    font-size: 22px;
    color: #222;
    font-weight: 600;
    line-height: 1.272em;
    margin-bottom: 30px;
    word-break: keep-all;
    overflow-wrap: break-word;
}
.bor_der_tit .sm_txt {
    font-size: 16px;
    font-weight: 400;
    margin-top: 10px;
}

.rela_tive_box{position: relative;}
.swiper-slide {
    border-radius: 30px;
    overflow: hidden;
}
.swiper_arrow_box{position: absolute; top: 50%; width: 100%; transform: translateY(-50%); z-index: 1;}
.swiper_arrow_box .arr_btn{position: absolute; width: 50px; height: 50px; border-radius: 50%; background-position: center center; background-repeat: no-repeat; background-size: cover; box-shadow: 0px 0px 20px 0px rgba(0, 84, 163, 0.16); cursor: pointer;}
.swiper_arrow_box .arr_btn.prev_btn{background-image: url(/img/new_happy_arrow01.png); left: 0; transform: translate(-50% ,-50%);}
.swiper_arrow_box .arr_btn.next_btn{background-image: url(/img/new_happy_arrow02.png); right: 0; transform: translate(50%, -50%);}
.swiper_pa_ge{display: flex; justify-content: center; gap: 15px; margin-top: 20px;}
.swiper_pa_ge .swiper-pagination-bullet{width: 14px; height: 14px; background-color: #ededed; opacity: 1;}
.swiper_pa_ge .swiper-pagination-bullet-active{background-color: #0054A3;}

.com_tit_yo .tit_yo{font-size: 20px; color: #222; font-weight: 600; line-height: 1.4em;}
.com_tit_yo.bot_line{padding-bottom: 30px; border-bottom: 1px solid #dcdcdc;}
.com_tit_yo p{font-size: 16px; color: #222; line-height: 1.5em; word-break: keep-all;}

.com_tit_yo .che_ck_yo{display: flex; gap: 5px;}
.com_tit_yo .che_ck_yo i{min-width: fit-content; width: fit-content;  font-style: normal;}
.com_tit_yo .che_ck_yo i img{margin-top: 2px;}

.two_flex_yo{display: flex; flex-wrap: wrap; gap: 20px;}
.two_flex_yo > *{width: 100%;}
.two_flex_yo.cus_ban .nay_ong{width: calc(58% - 10px);}
.two_flex_yo.cus_ban .center_img{width: calc(42% - 10px);}

@media all and (max-width:768px){
    .two_flex_yo > *,
    .two_flex_yo.cus_ban .nay_ong,
    .two_flex_yo.cus_ban .center_img{width: 100%;}
}

@media all and (max-width:700px) {
    .sub_com_tit {
        font-size: 30px;
    }
    .sub_com_alt {
        font-size: 14px;
    }
    .radi_whi_te {
        width: 93.75%;
    }
    .btm_blue_wrap .sub_radi_us {
        margin-bottom: 70px;
    }
    .center_img {
    border-radius: 20px;
}
}
/* END canvas */

/* 20241112 수정 */
.won_sub_txt_wrap .won_sub_txt {
    display: none;
}
.won_sub_txt_wrap .won_sub_txt.active {
    display: block;
}
.circle_tit001 {
    display: flex;
    gap: 10px;
    font-size: 18px;
    color: #222;
    font-weight: 600;
    line-height: 1.4em;
    word-break: keep-all;
    margin-top: 30px;
    margin-bottom: 10px;
}
.circle_tit001 .img {
    width: 15px;
    margin-top: 5px;
}
.circle_tit001 .img img {width: 100%;}
.color001 {
    color: #0054A3 !important;
}
.blue_txt_box01 {
    border-radius: 10px;
    padding: 20px;
    background-color: #F3F9FA;
}
.etc_txt_box {
    display: flex;
    gap: 5px;
    font-size: 14px;
    color: #555;
    line-height: 1.5em;
    word-break: keep-all;
    margin-top: 5px;
}
.etc_txt_box .tit {
    white-space: nowrap;
}
.txt_box001 + .txt_box001 {
    padding-top: 30px;
    margin-top: 30px;
    border-top: 1px solid #DCDCDC;
}
.table_etc_txt001 {
    font-size: 12px;
    color: #555;
    line-height: 1.5em;
    font-weight: 400;
    text-align: right;
    word-break: keep-all;
}

.q_tit_box001 {
    display: flex;
    gap: 22px;
    font-size: 20px;
    color: #222;
    font-weight: 600;
    line-height: 1.4em;
    word-break: keep-all;
}
.q_tit_box001 .num {
    white-space: nowrap;
    font-size: 38px;
    font-weight: 800;
    line-height: 0.73em;
    color: #0054A3;
}

.deco_txt_box001 + .deco_txt_box001 {
    padding-top: 30px;
    margin-top: 30px;
    margin-bottom: 30px;
    border-top: 1px solid #DCDCDC;
}
.com_table_tit_box {
    padding: 9px 20px;
    font-size: 14px;
    color: #fff;
    font-weight: 600;
    line-height: 1.5em;
    border-radius: 10px 10px 0px 0px;
    background: #0054A3;
    display: inline-block;
}
.com_table_box001 table {
    width: 100%;
    border-top: 2px solid #000;
}
.com_table_box001 table th,
.com_table_box001 table td {
    text-align: center;
    padding: 10px;
    border-bottom: 1px solid #DCDCDC;
    word-break: keep-all;
}
.com_table_box001 table td.text_left {
    text-align: left;
}
.com_table_box001 table th {
    font-weight: 600;
    font-size: 14px;
    color: #222;    
    background-color: #F3F9FA;
}
.com_table_box001 table td {
    font-size: 14px;
    line-height: 1.8em;
    font-weight: 400;
    color: #555;
}
.com_table_box001 table th + th,
.com_table_box001 table td + td {
    border-left: 1px solid #DCDCDC;
}
.label_tit002 {
    padding: 7px 10px;
    border-radius: 500px;
    color: #fff;
    font-weight: 600;
    font-size: 16px;
    display: inline-block;
    min-width: 130px;
    text-align: center;
}

.flex_tit_box001 {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

@media all and (max-width:700px) {
    .q_tit_box001 .num {
        font-size: 30px;
    }
    .circle_tit001,
    .q_tit_box001 {
        font-size: 18px;
    }
    .q_tit_box001 {
        gap: 10px;
    }
}
/* END 20241112 수정 */


/****** 20250626 수정 *******/

/* 행복 캔버스 */
.canvas_img02 {
    border: 1px solid #ccc;
    box-sizing: border-box;
}

/* HF포커스 */
.label_tit001 {
    padding: 6px 20px;
    border-radius: 500px;
    background-color: #0054A3;
    color: #fff;
    font-weight: 600;
    font-size: 16px;
    display: inline-block;
    text-align: center;
}
.circle_tit001 .circle {
    width: 5px; height: 5px;
    border-radius: 100%;
    background-color: #0054A3;
}
.answer_box {
    display: flex;
    gap: 5px;
    color: #555;
    line-height: 1.5em;
    word-break: keep-all;
    margin-top: 5px;
}
.answer_box .tit {
    white-space: nowrap;
    float: left;
}
.com_table_box001 td p {
    font-size: 12px;
    line-height: 18px;

}
.mobile_only {display: none;}

/* 대답해드립니다 */
.check_tit {
    display: flex;
    gap: 10px;
    font-size: 18px;
    color: #0054A3;
    font-weight: 600;
    line-height: 1.4em;
    word-break: keep-all;
    margin-top: 30px;
}
.check_tit .img {
    width: 16px;
    margin-top: 4px;
}
.check_tit .img img {width: 100%;}

.answer_box .index {
    height: 24px;
    padding: 0 8px;
    font-weight: 600;
    margin-right: 5px;
}
.happy_con03_table01 {
    display: flex;
    gap: 20px;
    margin-top: 15px;
}
.happy_con03_table01 .box {
    width: 33.3%;
}
.happy_con03_table01 .img_box {
    width: 50%; height: 100px;
    border-radius: 20px 0 0 20px;
    border: 1px solid #ccc; box-sizing: border-box;
    overflow: hidden;
    float: left;
    display: flex;
    justify-content: center;
    align-items: center;
}
.happy_con03_table01 .img_box img {width: 100%;}
.happy_con03_table01 .txt_box {
    width: 50%; height: 100px;
    background-color: #000;
    float: left;
    color: #fff;
    text-align: center;
    padding: 15px 7px;
}
.happy_con03_table01 .txt_box .tit {
    font-weight: 600;
    margin-bottom: 5px;
}
.happy_con03_table01 .txt_box .info {
    font-size: 12px;
    line-height: 16px;
}

.happy_con03_table02 {
    display: flex;
    gap: 5px;
    margin-top: 15px;
}
.happy_con03_table02 .box {
    width: 33.3%;
    border-radius: 15px;
    border: 1px solid #999;
    margin-left: 15px;
    padding: 0 10px;
    position: relative;
}
.happy_con03_table02 .num {
    width: 32px; height: 32px;
    border-radius: 16px;
    border: 1px solid #999;
    background-color: #fff;
    font-size: 16px;
    font-weight: 600;
    text-align: center; line-height: 32px;
    position: absolute;
    top: -12px; left: -12px;
    
}
.happy_con03_table02 .title_box {
    width: 100%;
    text-align: center;
    padding-top: 10px;
}
.happy_con03_table02 .tit {
    font-size: 16px;
    font-weight: 600;
    margin-bottom: 10px;
}
.happy_con03_table02 .index span {
    font-size: 14px;
    font-weight: 500;
    padding: 4px 10px;
    border-radius: 20px;
    color: #fff;
}
.happy_con03_table02 .index i {color: #F0881C;}
.happy_con03_table02 .txt_box {
    width: 100%;
    text-align: center;
    font-size: 14px;
    line-height: 20px;
    padding: 10px;
    margin-top: 10px;
}

/* 디지털 리더 */
.com_tit_yo .happy_con06_info{
    width: 100%;
    display: flex;
    gap: 20px;
    flex-wrap: nowrap;
    align-items: center;
}
.com_tit_yo .happy_con06_info .icon {
    width: 80px;
}
.com_tit_yo .happy_con06_info .icon img {
    width: 100%;
}
.com_tit_yo .happy_con06_info .txt {
    width: calc(100% - 70px);
}
.com_tit_yo .happy_con06_info h2 {
    font-size: 16px;
    margin-bottom: 5px;
}

/* 알쓸신조 */
.sub_con_row figcaption {
    margin-top: 5px;
    margin-right: 10px;
    float: right;
    font-size: 12px;
    color: #999;
}

/* 나이를 잊은 청춘 */
.photo_layout {
    display: flex;
    align-items: flex-start;
    gap: 20px;
}
.photo_layout .center_img02 img {
    width: auto;
    max-height: 700px;
    aspect-ratio: auto;
    object-fit: cover;
}
.caption {
    font-size: 12px;
    color: #666;
    margin-top: 10px;
}

/* HF 소식 */
.list li {
   position: relative;
   padding-left: 1em;
   
}
.list li::before {
  content: "-";
  position: absolute;
  left: 0;
  color: #333;
}


@media all and (max-width:700px) {
    /* hf 포커스 */
    .label_tit001 {
    font-size: 14px;
}
    .etc_txt_box {
        font-size: 12px;
    }
    .swiper-slide {
    border-radius: 20px;
    overflow: hidden;
}
    .mobile_only {display: block;}
    
    .photo_layout {
    display: block;
}
    /* 대답해드립니다 */
    .happy_con03_table01 {
    flex-wrap: wrap;
    gap: 10px;
}
    .happy_con03_table01 .box {
    width: 80%;
    margin: 0 auto;
    display: block;
}

     .happy_con03_table02 {
    flex-wrap: wrap;
    gap: 10px;
}
    .happy_con03_table02 .box {
    width: 95%;
    margin: 0 auto;
    margin-bottom: 10px;
}
    .happy_con03_table02 .txt_box {
        width: 100%;
        text-align: center;
        font-size: 14px;
        line-height: 20px;
        padding: 10px 20px;
    }

    /* 디지털 리더 */
    .com_tit_yo .happy_con06_info .txt p {
    font-size: 14px;
    margin-bottom: 5px;
}

    /* 나이를 잊은 청춘 */
    .answer_box .index {
    height: 20px;
}
}
@media all and (max-width: 1023px) {
    body {
    word-break: normal;
    overflow-wrap: normal;
    }
}
/* END 20250625 수정 */
