:root {
    --history-width: 0;
}
/* sub layout */
.sub .visual_top {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 400px;
    padding-top: 100px;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
}
.sub .visual_top .sub_ttl { /* 231201 수정 */
    font-size: 60px;
    font-weight: 500;
    color: #fff;
}
.sub.vision .visual_top {background-image: url('../images/sub/visual_top_vision.jpg');}
.sub.history .visual_top {background-image: url('../images/sub/visual_top_history.jpg');}
.sub.integrity .visual_top {background-image: url('../images/sub/visual_top_integrity.jpg');}
.sub.contact .visual_top {background-image: url('../images/sub/visual_top_contact.jpg');}
.sub.about .visual_top {background-image: url('../images/sub/visual_top_about.jpg');}


/* sub_ttl_row */
.sub_ttl_row {
    position: relative;
    padding-top: 96px;
    text-align: center;
    color: #000;
    letter-spacing: -1px;
}
.sub_ttl_row::before {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%) rotate(45deg);
    width: 80px;
    height: 1px;
    background: #ff5000;
    transform-origin: left center;
    content: '';
}
.sub_ttl_row .caption {
    display: block;
    font-size: 26px;
    font-weight: 400;
    line-height: 1.2;
}
.sub_ttl_row .subject {
    margin-top: 25px;
    font-size: 54px;
    font-family: 'Poppins';
    text-transform: uppercase;
    line-height: 1;
}

.sub_content {
    position: relative;
    padding: 35px 0 130px;
}

/* deco */
.sub_content .deco {
    position: absolute;
    background-position: center center;
    background-repeat: no-repeat;
}
.sub_content .deco01 {
    top: 294px;
    left: 50%;
    transform: translateX(-611px);
    width: 39px;
    height: 39px;
    background-image: url('../images/sub/deco01.png');
}
.sub_content .deco02 {
    top: 65px;
    left: 50%;
    transform: translateX(-267px);
    width: 55px;
    height: 58px;
    background-image: url('../images/sub/deco02.png');
}
.sub_content .deco03 {
    top: 199px;
    left: 50%;
    transform: translateX(549px);
    width: 47px;
    height: 53px;
    background-image: url('../images/sub/deco03.png');
}
.sub_content .deco04 {
    top: 689px;
    right: 50%;
    transform: translateX(-759px);
    width: 251px;
    height: 250px;
    background-image: url('../images/sub/deco04.png');
}
.sub_content .deco05 {
    top: 93px;
    left: 50%;
    transform: translateX(774px);
    width: 251px;
    height: 250px;
    background-image: url('../images/sub/deco05.png');
}

/* sub_tab */
.sub_tab {
    margin-top: 65px;
}
.sub_tab ul {
    display: flex;
    align-items: center;
    justify-content: center;
}
.sub_tab ul li {
    flex: 1;
    max-width: 300px;
}
.sub_tab ul li + li {
    margin-left: -1px;
}
.sub_tab .tab_btn {
    display: block;
    width: 100%;
    border: 1px solid #222222;
    line-height: 58px;
    text-align: center;
    font-size: 20px;
    color: #222;
    background: #fff;
}
.sub_tab .tab_btn.on {
    color: #fff;
    background: #222;
}



/* vision & mission */
.vm_content .vm-cont-box {
    position: relative;
    max-width: 1164px;
    margin: 110px auto 0;
}
.vm_content .vm-cont-box .center {
    position: relative;
    margin: 0 auto;
    width: 330px;
    color: #fff;
}
.vm-cont-side-row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    margin-top: -260px;
}
.vm_content .vm-cont-box .circle {
    position: relative;
    padding-top: 100%;
    border-radius: 50%;
}
.vm_content .vm-cont-box .circle-in-txt {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
}
.vm_content .vm-cont-box .side {
    width: 50%;
    max-width: 466px;
    text-align: center;
}
.vm_content .vm-cont-box .side .circle-box {
    position: relative;
    width: 190px;
    margin: 0 auto;
}
.vm_content .vm-cont-box .center::before {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) scale(1);
    width: calc(100% + 38px);
    height: calc(100% + 38px);
    background: #f4f4f4;
    mix-blend-mode: multiply;
    opacity: 0.9;
    border-radius: 50%;
    content: '';
}
.vm_content .vm-cont-box .center::after {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) scale(1);
    width: calc(100% + 90px);
    height: calc(100% + 90px);
    background: #f4f4f4;
    mix-blend-mode: multiply;
    opacity: 0.65;
    border-radius: 50%;
    content: '';
}
.vm_content .vm-cont-box .center .circle {
    position: relative;
    background: #FF5100;
    z-index: 1;
}
.vm_content .vm-cont-box .center .circle-in-txt span {
    display: block;
    font-size: 20px;
    font-weight: 400;
	font-family: 'Gmarket Sans';
}
.vm_content .vm-cont-box .center .circle-in-txt strong {
    display: block;
    margin-top: 10px;
    font-size: 26px;
    font-weight: 700;
	font-family: 'Gmarket Sans';
    letter-spacing: -1px;
}
.vm_content .vm-cont-box .center .circle-in-txt em {
    margin-top: 15px;
    font-size: 18px;
    font-weight: 400;
    line-height: 1.3;
    letter-spacing: -1px;
    opacity: 0.8;
}
.vm_content .vm-cont-box .side .circle {
    border: 1px solid #B3B3B3;
}
.vm_content .vm-cont-box .side .circle::before {
    position: absolute;
    top: 50%;
    left: 100%;
    width: 89px;
    height: 1px;
    background: #B3B3B3;
    content: '';
}
.vm_content .vm-cont-box .side .circle::after {
    position: absolute;
    top: 50%;
    left: 100%;
    width: 5px;
    height: 5px;
    transform: translate(-50%, -200%);
    background: #B3B3B3;
    border-radius: 50%;
    content: '';
}
.vm_content .vm-cont-box .side .circle .circle-in-txt {
    top: 8px;
    left: 8px;
    right: 8px;
    bottom: 8px;
    width: auto;
    height: auto;
    border-radius: 50%;
}
.vm_content .vm-cont-box .side .circle .circle-in-txt::after {
    position: absolute;
    top: 50%;
    left: calc(100% + 8px);
    width: 5px;
    height: 10px;
    transform: translate(-50%, -100%);
    background: #fff;
    content: '';
}
.vm_content .vm-cont-box .side .circle-in-txt strong {
    display: block;
    font-size: 30px;
    font-weight: 700;
    font-family: 'Montserrat';
}
.vm_content .vm-cont-box .side .circle-in-txt em {
    font-size: 12px;
    letter-spacing: -.4px;
}
.vm_content .vm-cont-box .side .circle-bottom-txt {
    margin-top: 12px;
    font-size: 16px;
    font-weight: 500;
    color: #000;
    text-align: center;
    white-space: nowrap;
    letter-spacing: -1px;
}
.vm_content .vm-cont-box .side-list {
    position: relative;
    display: inline-flex;
    min-height: 190px;
    padding: 0 38px;
    margin-top: 66px;
    border: 1px solid #B3B3B3;
    white-space: nowrap;
    text-align: center;
    border-radius: 100px;
}
.vm_content .vm-cont-box .side-list::before {
    position: absolute;
    bottom: 100%;
    left: 50%;
    width: 1px;
    height: 40px;
    transform: translateX(-50%);
    background: #B3B3B3;
    content: '';
}
.vm_content .vm-cont-box .side-list::after {
    position: absolute;
    bottom: calc(100% + 40px);
    left: 50%;
    width: 5px;
    height: 5px;
    transform: translateX(-50%);
    background: #B3B3B3;
    border-radius: 50%;
    content: '';
}
.vm_content .vm-cont-box .side-list li {
    padding: 23px 15px 15px;
}
.vm_content .vm-cont-box .side-list li .icon img {
    margin: 0 auto;
}
.vm_content .vm-cont-box .side-list li .subject {
    display: block;
    margin-top: 12px;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: -1px;
}
.vm_content .vm-cont-box .side-list li p {
    margin-top: 6px;
    font-size: 14px;
    color: #000;
    letter-spacing: -1px;
}
.vm_content .vm-cont-box .side.csv .circle .circle-in-txt {
    background: #FFD041;
}
.vm_content .vm-cont-box .side.csv .circle-in-txt strong {
    color: #54420D;
}
.vm_content .vm-cont-box .side.csv .circle-in-txt p {
    color: #A77F06;
}
.vm_content .vm-cont-box .side.csv .circle-bottom-txt {
    margin-left: auto;
}
.vm_content .vm-cont-box .side.csv .side-list li .subject {
    color: #FF4B00;
}
.vm_content .vm-cont-box .side.csr .circle::before {
    left: auto;
    right: 100%;
}
.vm_content .vm-cont-box .side.csr .circle::after {
    left: auto;
    right: 100%;
    transform: translate(50%, 200%);
}
.vm_content .vm-cont-box .side.csr .circle .circle-in-txt {
    background: #73DAFF;
}
.vm_content .vm-cont-box .side.csr .circle .circle-in-txt::after {
    left: auto;
    right: calc(100% + 8px);
    transform: translate(50%, 1px);
}
.vm_content .vm-cont-box .side.csr .circle-in-txt strong {
    color: #0F5067;
}
.vm_content .vm-cont-box .side.csr .circle-in-txt p {
    color: #0481AE;
}
.vm_content .vm-cont-box .side.csr .side-list li .subject {
    color: #1CBAF2;
}


/* history */
.history_cont {
    position: relative;
    margin-top: 97px;
    padding-top: 50px;
}
.history_cont .history_nav {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    padding-top: 12px;
    background: #fff;
    z-index: 1;
}
.history_cont .history_nav.fixed {
    position: fixed;
    top: 100px;
}
.history_cont .history_nav_in {
    position: relative;
}
.history_cont .history_nav_in::before {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background: #E7E3D9;
    content: '';
}
.history_cont .history_nav_in::after {
    position: absolute;
    top: 0;
    left: 0;
    width: var(--history-width);
    height: 3px;
    transform: translateY(-50%);
    background: #FF5000;
    transition: all .3s linear;
    content: '';
}
.history_cont .history_nav ul {
    position: relative;
    display: flex;
    justify-content: center;
    gap: 3px;
    padding: 0 20px;
    z-index: 1;
}
.history_cont .history_nav ul li {
    flex: 1;
}
.history_cont .history_nav ul li a {
    position: relative;
    display: block;
    padding-top: 23px;
    font-size: 22px;
    font-family: 'Montserrat';
    color: #666666;
    text-align: center;
}
.history_cont .history_nav ul li a::before {
    position: absolute;
    left: 50%;
    top: -10px;
    transform: translateX(-50%);
    width: 19px;
    height: 19px;
    border: 5px solid #D1D1D1;
    background: #D1D1D1;
    border-radius: 50%;
    content: '';
    transition: all .3s;
}
.history_cont .history_nav ul li a:hover,
.history_cont .history_nav ul li a:focus {
    color: #222;
}
.history_cont .history_nav ul li a:hover::before,
.history_cont .history_nav ul li a:focus::before {
    border-color: #222222;
    background: #222222;
}
.history_cont .history_nav ul li a.on {
    color: #FF5000;
}
.history_cont .history_nav ul li a.on::before {
    border-color: #FF5000;
    background: #fff;
}

.history_cont .year_list {
    margin-top: 122px;
    color: #222;
}
.history_cont .year_list > li {
    display: flex;
}
.history_cont .year_list > li + li {
    margin-top: 100px;
    padding-top: 100px;
    border-top: 1px solid #E8E8E8;
}
.history_cont .year_list .img_area {
    margin-right: 80px;
    flex: 0 0 auto;
}
.history_cont .img_area p {
    margin-top: 15px;
    font-size: 18px;
    font-weight: 500;
    text-align: center;
}
.history_cont .year_list .text_area {
    flex: 1;
    letter-spacing: -1px;
}
.history_cont .text_area .year_txt {
    font-size: 46px;
    font-weight: 700;
    font-family: 'Montserrat';
    color: #FF5000;
    line-height: 1;
}
.history_cont .text_area .history_box {
    margin-top: 40px;
}
.history_cont .text_area .cat_ttl {
    font-size: 24px;
    font-family: 'Montserrat';
    font-weight: 700;
    color: #3E84EC;
    text-transform: uppercase;
    line-height: 1;
}
.history_cont .text_area .data_box {
    margin-top: 20px;
}
.history_cont .text_area .subject {
    margin-bottom: 10px;
    font-size: 24px;
    font-weight: 700;
}
.history_cont .text_area .dot_list > li {
    position: relative;
    padding-left: 14px;
    font-size: 18px;
}
.history_cont .text_area .dot_list > li::before {
    position: absolute;
    top: 9px;
    left: 0;
    width: 6px;
    height: 6px;
    background: #222;
    border-radius: 50%;
    content: '';
}
.history_cont .text_area .dot_list > li + li {
    margin-top: 10px;
}

.history .sub_content .deco01 {
    top: 78px;
    transform: translateX(536px);
}
.history .sub_content .deco02 {
    top: 121px;
    transform: translateX(-782px);
}
.history .sub_content .deco03 {
    top: 214px;
    transform: translateX(853px);
}
.history .sub_content .deco04 {
    top: 1087px;
}
.history .sub_content .deco05 {
    top: 542px;
}

/* 250522 2024 컨텐츠 추가  :: S */
#history_2024 .text_area .subject,
#history_2024 .text_area .cat_ttl{
    display: flex; 
    align-items: center; 
    gap: 20px;}
#history_2024 .text_area .subject img, 
#history_2024 .text_area .cat_ttl img{
  height: 35px;
}
#history_2024 .text_area .history_box:first-of-type .data_box:first-of-type .subject img {
  height: 24px;
}
/* 250522 2024 컨텐츠 추가  :: E */

/* annual_report */
.report_cont .report_area {
    margin-top: 62px;
}
.report_cont .report_area + .report_area {
    margin-top: 80px;
}
.report_cont .report_area .cat_ttl {
    margin-bottom: 40px;
    font-size: 26px;
    font-weight: 400;
    color: #000;
    text-align: center;
}
.report_cont .report_list {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    max-width: 1040px;
    margin: 0 auto;
    gap: 50px 80px;
    text-align: center;
}
.report_cont .report_list .subject {
    margin-top: 20px;
    font-size: 20px;
    font-weight: 400;
    color: #222;
    line-height: 1.2;
}
.report_cont .report_list .more_view {
    display: block;
    max-width: 150px;
    margin: 20px auto 0;
    padding: 0 22px;
    color: #222;
    border: 1px solid #222;
    border-radius: 20px;
    transition: all .3s;
}
.report_cont .report_list .more_view span {
    display: block;
    line-height: 38px;
    font-size: 16px;
    font-weight: 400;
}
.report_cont .report_list .more_view:hover,
.report_cont .report_list .more_view:focus {
    background: #222;
    color: #fff;
}
.guide_star_box {
    display: flex;
    align-items: center;
    margin-top: 100px;
    padding: 20px 50px;
    border: 1px solid #E0E0E0;
    color: #000;
    background: #FCFCFC;
    border-radius: 40px;
}
/* 20250121 S */
.guide_star_box .badge {
    margin-right: 50px;
    flex: 0 0 auto;
    font-size:0;
}
.guide_star_box .badge img{
    display: inline-block;
}
.guide_star_box .badge img + img{
    margin-left:32px;
}
/* 20250121 E */

.guide_star_box .subject {
    font-size: 24px;
    font-weight: 500;
}
.guide_star_box .desc {
    margin-top: 10px;
    font-size: 18px;
    line-height: 1.5;
}
.guide_star_box .link_move {
    display: inline-block;
    margin-top: 40px;
    padding: 0 22px;
    background: #333;
    border-radius: 20px;
}
.guide_star_box .link_move span {
    display: inline-block;
    padding-right: 30px;
    line-height: 40px;
    font-size: 16px;
    color: #fff;
    background: url('../images/icon/icon_link_blank.svg') right 0 center no-repeat;
}


/* notice_cont */
.notice_cont .search_row {
    margin-top: 48px;
}
.search_row {
    display: flex;
    align-items: center;
}
.search_row .sort_list {
    display: flex;
    align-items: center;
    gap: 5px;
}
.search_row .sort_list li {
    flex: 1;
}
.search_row .sort_list .sort_btn {
    display: block;
    width: 150px;
    height: 50px;
    border: 1px solid #E4E4E4;
    font-size: 18px;
    font-weight: 500;
    color: #333;
    background: #F5F5F5;
    border-radius: 4px;
}
.search_row .sort_list .sort_btn.on {
    border-color: #FF5000;
    color: #fff;
    background: #FF5000;
}
.search_row .search_box {
    display: flex;
    margin-left: auto;
    gap: 7px;
}
.search_row .search_box select {
    display: block;
    width: 160px;
    height: 50px;
    border: 1px solid #aaa;
    padding: 0 30px 0 16px;
    font-size: 16px;
    color: #222222;
    border-radius: 4px;
}
.search_row .search_box .input_box {
    position: relative;
}
.search_row .search_box input {
    display: block;
    width: 255px;
    height: 50px;
    padding: 0 46px 0 16px;
    border: 1px solid #aaa;
    font-size: 16px;
    font-weight: 400;
    color: #222222;
    border-radius: 4px;
}
.search_row .search_box input::placeholder {
    font-weight: 300;
    color: #999999;
}
.search_row .search_box .search_btn {
    position: absolute;
    top: 0;
    right: 0;
    width: 46px;
    height: 100%;
    background: url('../images/icon/icon_search.svg') center center no-repeat;
}
.notice_cont .board_box {
    margin-top: 25px;
}
.notice_cont .board_box .cat_ttl {
    display: none;
}

/* contact_cont */
.sub.contact .visual_top .sub_ttl {text-transform: uppercase;}
.contact_cont .inner {
    max-width: 1000px;
}
.contact_cont .tab_cont_box {
    position: relative;
    margin-top: 70px;
}
.contact_cont .tab_cont {
    /* display: none; */
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    visibility: hidden;
    z-index: -1;
}
.contact_cont .tab_cont.on {
    position: static;
    display: block;
    visibility: visible;
    z-index: 1;
}
.contact_cont .tab_cont .info {
    display: flex;
}
.contact_cont .tab_cont .info .logo_area {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 363px;
    flex: 0 0 auto;
}
.contact_cont .tab_cont .info .txt_area {
    padding-left: 88px;
    border-left: 1px solid #ECECEC;
}
.contact_cont .tab_cont .info .name {
    font-size: 30px;
    font-weight: 500;
    color: #000;
}
.contact_cont .tab_cont .info .keyword_list {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    margin-top: 15px;
    gap: 5px 10px;
}
.contact_cont .tab_cont .info .keyword_list li {
    padding: 0 25px;
    border: 1px solid #D9D9D9;
    line-height: 31px;
    font-size: 18px;
    color: #000;
    background: #EEEEEE;
    border-radius: 17px;
}
.contact_cont .tab_cont .info .contact_list {
    margin-top: 40px;
}
.contact_cont .tab_cont .info .contact_list li {
    padding-left: 34px;
    font-size: 16px;
    font-weight: 400;
    color: #000;
    line-height: 1.5;
    background-position: left top;
    background-repeat: no-repeat;
}
.contact_cont .tab_cont .info .contact_list li + li {
    margin-top: 10px;
}
.contact_cont .tab_cont .info .contact_list li.mail {
    font-weight: 500;
    background-image: url('../images/icon/icon_mail.svg');
}
.contact_cont .tab_cont .info .contact_list li.address {
    background-image: url('../images/icon/icon_address.svg');
}
.contact_cont .tab_cont .contact_map {
    margin-top: 50px;
}
.contact_cont .tab_cont .contact_map .root_daum_roughmap_landing {
    width: 100% !important;
}
.contact_cont .tab_cont .contact_map .root_daum_roughmap .wrap_map {
    height: 500px !important;
}
.contact_cont .tab_cont .contact_map .root_daum_roughmap .wrap_controllers {
    display: none !important;
}
.contact_cont .branch_tab ul {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 60px;
}
.contact_cont .branch_tab .branch_tab_btn {
    display: block;
    font-size: 24px;
    font-weight: 400;
    line-height: 1;
    color: #000;
    border-bottom: 4px solid transparent;
    padding-bottom: 16px;
}
.contact_cont .branch_tab .branch_tab_btn.on {
    font-weight: 500;
    border-color: #222222;
}
.contact_cont .branch_tab_cont_box {
    position: relative;
    margin-top: 88px;
}
.contact_cont .branch_tab_cont {
    /* display: none; */
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    visibility: hidden;
    z-index: -1;
}
.contact_cont .tab_cont.on .branch_tab_cont.on {
    position: static;
    display: block;
    visibility: visible;
    z-index: 1;
}

/* about */
.about .sub_content {background: url('../images/sub/about_deco01.png') left top no-repeat;}
.about_cont.type_en {font-family: 'Montserrat';}
.about_cont.type_ch {font-family: 'Noto Sans SC'; letter-spacing: 0;}
.about_cont .ac {text-align: center;}

.about_sec .about_box {
    padding: 100px 0;
}
.about_sec .about_box + .about_box {
    border-top: 1px solid #ddd;
}
.about_sec .about_page_ttl {
    position: relative;
    font-size: 60px;
    font-weight: 400;
    color: #FF5000;
    line-height: 1;
}
.about_sec .about_page_ttl::before {
    position: absolute;
    top: 0;
    left: 0;
    width: 27px;
    height: 1px;
    transform-origin: left center;
    transform: rotate(225deg);
    background: #FF5000;
    content: '';
}
.about_sec .about_page_desc {
    margin-top: 40px;
    margin-bottom: 40px;
    font-size: 36px;
    font-weight: 500;
    color: #000;
    line-height: 1.3;
}
.about_sec .about_page_desc02 {
    margin-top: 20px;
    font-size: 18px;
    font-weight: 300;
    color: #000;
    line-height: 1.4;
}
.about_cont.type_ch .about_page_desc,
.about_cont.type_ch .about_page_desc02 {
    color: #555;
}
.about_sec .about_ttl_row {
    max-width: 1200px;
    margin: 0 auto;
}
.about_sec .about_ttl {
    margin-bottom: 26px;
    padding-top: 106px;
    font-size: 46px;
    font-weight: 500;
    color: #000;
    line-height: 1;
    text-align: center;
    background: url('../images/icon/icon_give_logo.svg') center top no-repeat;
}
.about_sec .about_strong {
    display: block;
    margin-bottom: 20px;
    font-size: 26px;
    font-weight: 700;
    color: #000;
    text-align: center;
}
.about_sec .about_desc {
    margin-top: 16px;
    font-size: 18px;
    font-weight: 400;
    color: #555555;
    line-height: 1.4;
}
.about_sec .about_subject {
    position: relative;
    padding-top: 20px;
    font-size: 30px;
    font-weight: 700;
    line-height: 1.53;
    color: #000;
    /* text-transform: uppercase; */
}
.about_sec .about_subject::before {
    position: absolute;
    top: 0;
    left: 0;
    width: 30px;
    height: 1px;
    background: #FF5000;
    content: '';
}
.about_sec .about_desc_strong {
    margin-top: 28px;
    font-size: 24px;
    font-weight: 700;
    color: #222;
}
.about_sec .about_desc_strong strong {
    color: #FF5000;
}
.about_sec .link {
    display: block;
    padding-left: 33px;
    font-size: 18px;
    font-weight: 500;
    color: #222;
    line-height: 1.45;
    background: url('../images/icon/icon_link_blank_circle.svg') left top no-repeat;
}
.about_sec .about_ttl_row .dot_list {
    margin-top: 16px;
}
.about_sec .about_ttl_row .dot_list li {
    position: relative;
    padding-left: 12px;
    font-size: 18px;
    font-weight: 400;
    color: #555555;
    line-height: 1.44;
}
.about_sec .about_ttl_row .dot_list li::before {
    position: absolute;
    top: 10px;
    left: 0;
    width: 4px;
    height: 4px;
    background: #555;
    border-radius:50%;
    content: '';
}
.about_sec .about_ttl_row .dot_list li + li {
    margin-top: 8px;
}
.about_sec .about_ttl_row .dot_list li a {
    display: inline-block;
    text-decoration: underline;
    font-weight: 700;
    color: #FF5000;
    line-height: 1.1;
}
.about_sec .about_ttl_row .dot_list li a img {
    display: inline;
    margin-left: 4px;
}
.about_sec02 {
    background: #FAFAFA;
}
.hope_track_box {
    margin-top: 40px;
}
.hope_track_box h5 {
    margin-bottom: 28px;
    font-size: 42px;
    font-weight: 700;
    color: #000;
    line-height: 1.1;
    text-align: center;
}
.hope_track_list {
    display: flex;
    color: #555;
} 
.hope_track_list > li {
    flex: 1;
}
.hope_track_list > li + li {
    position: relative;
    margin-left: 40px;
    padding-left: 40px;
}
.hope_track_list > li + li::before {
    position: absolute;
    top: 0;
    left: 0;
    width: 1px;
    height: 636px;
    background: #DDDDDD;
    content: '';
}
.hope_track_list .icon {
    display: block;
    width: 90px;
    height: 90px;
    margin: 0 auto;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
}
.hope_track_list .hope_track_item01 .icon {background-image: url('../images/sub/about_hope_track_icon01.svg');}
.hope_track_list .hope_track_item02 .icon {background-image: url('../images/sub/about_hope_track_icon02.svg');}
.hope_track_list .hope_track_item03 .icon {background-image: url('../images/sub/about_hope_track_icon03.svg');}
.hope_track_list .subject {
    margin-top: 28px;
    font-size: 30px;
    font-weight: 700;
    color: #000;
    text-align: center;
    line-height: 1.5;
}
.hope_track_list .desc {
    position: relative;
    margin-top: 20px;
    margin-bottom: 28px;
    padding-top: 20px;
    font-size: 18px;
    font-weight: 700;
    color: #222;
    line-height: 1.4;
}
.hope_track_list .desc::before {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 30px;
    height: 1px;
    background: #FF5000;
    content: '';
}
.hope_track_list .num_list > li {
    display: flex;
    font-size: 18px;
    font-weight: 400;
    line-height: 1.4;
}
.hope_track_list .num_list > li + li {
    margin-top: 16px;
}
.hope_track_list .num_list > li .num {
    display: block;
    width: 25px;
    margin-right: 4px;
    font-size: 18px;
    font-weight: 700;
    color: #8C8C8C;
    text-align: center;
    flex: 0 0 auto;
}
.hope_track_list .link {
    margin-top: 28px;
}
.hope_track_list .link + .link {
    margin-top: 16px;
}
.hope_track_list .active_list li.icon_v {
    padding-right: 65px;
    background: url('../images/sub/hope_track_item03_bg.png') right 0 center no-repeat;
    mix-blend-mode: multiply;
}
.hope_track_list .active_list li + li {
    margin-top: 28px;
}
.hope_track_list .active_list strong {
    display: block;
    font-size: 18px;
    font-weight: 700;
}
.hope_track_list .active_list span {
    display: block;
    margin-top: 8px;
    font-size: 18px;
    font-weight: 400;
}

.cul_box {
    margin-top: 28px;
}
.cul_box .cul_list {
    position: relative;
    padding-top: 38.468%;
    background: url('../images/sub/about_cultivating_bg.png') center center no-repeat;
    background-size: 100%;
}
.cul_box .cul_list ul {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    padding: 0 9px;
    display: flex;
    justify-content: space-between;
}
.cul_box .cul_list li {
    display: flex;
    flex-direction: column;
    width: 19.449%;
    padding: 0 9px;
    text-align: center;
}
.cul_box .cul_list li .img_area {
    display: none;
}
.cul_box .cul_list li .txt_area {
    height: 48.418%;
    padding: 8px 0;
}
.cul_box .cul_list h6 {
    font-size: 30px;
    font-weight: 700;
    color: #000000;
    line-height: 1.53;
}
.cul_box .cul_list p {
    margin-top: 4px;
    font-size: 16px;
    font-weight: 400;
    color: #555555;
    line-height: 1.5;
}
.cul_box .cul_list li:nth-of-type(even) .txt_area {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
}
.cul_box .cul_list li:nth-of-type(odd) .txt_area {
    margin-top: auto;
}
.cul_box .link {
    margin-top: 28px;
}


.creator_box {
    margin-top: 28px;
}
.creator_box .link + .link {
    margin-top: 16px;
}
.creator_area {
    position: relative;
    margin-top: 28px;
    text-align: center;
}
.creator_area .creator_caption {
    display: inline-block;
    margin-bottom: 16px;
    padding: 0 34px;
    line-height: 54px;
    font-size: 30px;
    font-weight: 700;
    color: #fff;
    background: #FF5000;
    text-align: center;
    border-radius: 50px;
}
.creator_area .creator_img {
    margin: 0 auto;
}
.creator_area .creator_cont h6 {
    font-size: 18px;
    font-weight: 700;
    color: #222;
    line-height: 1.4;
}
.creator_area .creator_cont p {
    margin-top: 8px;
    font-size: 16px;
    font-weight: 400;
    color: #555;
    line-height: 1.5;
}
.creator_area .creator_cont01 {
    position: absolute;
    top: 92px;
    right: 50%;
    right: calc(50% + 321px);
    left: 0;
    text-align: right;
}
.creator_area .creator_cont02 {
    position: absolute;
    top: 92px;
    left: 50%;
    left: calc(50% + 321px);
    right: 0;
}
.creator_area .creator_cont03 {
    margin-top: 20px;
    text-align: center;
}
.creator_area .arrow_bg_list {
    display: flex;
    justify-content: center;
    margin-top: 20px;
    overflow: hidden;
    gap: 5px;
}
.creator_area .arrow_bg_list li {
    position: relative;
    display: flex;
    align-items: center;
    min-height: 108px;
    font-size: 14px;
    font-weight: 400;
    color: #555;
    line-height: 1.28;
    background: #E7E7E7;
}
.creator_area .arrow_bg_list li > div {
    position: relative;
    padding: 16px 24px 16px 40px;
    z-index: 2;
}
.creator_area .arrow_bg_list li::before {
    position: absolute;
    left: -5px;
    top: 50%;
    transform: translateY(-50%);
    border-top: 80px solid transparent;
    border-left: 30px solid #fafafa;
    border-right: 30px solid transparent;
    border-bottom: 80px solid transparent;
    content: '';
}
.creator_area .arrow_bg_list li::after {
    position: absolute;
    right: -50px;
    top: 50%;
    transform: translateY(-50%);
    border-top: 80px solid transparent;
    border-left: 30px solid #aaa;
    border-right: 30px solid transparent;
    border-bottom: 80px solid transparent;
    content: '';
    z-index: 1;
}

.creator_area .arrow_bg_list li:nth-of-type(1) {background: #E7E7E7;}
.creator_area .arrow_bg_list li:nth-of-type(1)::after {border-left-color: #E7E7E7;}
.creator_area .arrow_bg_list li:nth-of-type(2) {background: #EBEBEB;}
.creator_area .arrow_bg_list li:nth-of-type(2)::after {border-left-color: #EBEBEB;}
.creator_area .arrow_bg_list li:nth-of-type(3) {background: #F1F1F1;}
.creator_area .arrow_bg_list li:nth-of-type(3)::after {border-left-color: #F1F1F1;}
.creator_area .arrow_bg_list li:nth-of-type(4) {background: #F5F5F5;}
.creator_area .arrow_bg_list li:nth-of-type(4)::after {border-left-color: #F5F5F5;}

.orange_stu_box {
    margin-top: 60px;
}
.orange_stu_box img {
    margin: 0 auto;
}

.about_logo_give {
    margin-top: 20px;
}
.about_logo_give + .about_desc_strong {
    margin-top: 20px;
}
.about_give_box {
    margin: 60px auto 0;
    max-width: 1072px;
    text-align: center;
}
.about_give_row + .about_give_row {
    margin-top: 60px;
    padding-top: 60px;
    border-top: 1px solid #DDDDDD;
}
.about_give_row .about_give_ttl {
    margin-bottom: 20px;
    font-size: 26px;
    font-weight: 700;
    color: #000;
}
.about_give_row .about_give_ttl.icon_v {
    padding-top: 80px;
    background: url('../images/sub/about_give_icon.png') center top no-repeat;
}
.about_give_list {
    display: flex;
    gap: 32px;
}
.about_give_list li p {
    margin-top: 20px;
    font-size: 18px;
    font-weight: 400;
    color: #555555;
    line-height: 1.4;
}
.about_give_list li p strong {
    display: block;
    font-weight: 700;
}
.about_give_caption {
    margin-top: 20px;
    font-size: 18px;
    font-weight: 700;
    color: #555555;
    line-height: 1.4;
}

.about_smilehouse_box {
    margin-top: 60px;
}
.about_smilehouse_box img {
    display: block;
    margin: 0 auto;
}

.about_palette_box {
    margin: 60px auto 0;
    max-width: 1070px;
}
.about_palette_list {
    display: flex;
    flex-wrap: wrap;
    gap: 56px 16px;
}
.about_palette_list > li {
    width: calc(50% - 8px);
}
.about_palette_list h6 {
    padding-left: 63px;
    font-size: 24px;
    font-weight: 700;
    color: #222222;
    line-height: 1.4;
    background-position: left center;
    background-repeat: no-repeat;
}
.about_palette_list > li:nth-of-type(1) h6 {background-image: url('../images/sub/icon_palette01.svg');}
.about_palette_list > li:nth-of-type(2) h6 {background-image: url('../images/sub/icon_palette02.svg');}
.about_palette_list > li:nth-of-type(3) h6 {background-image: url('../images/sub/icon_palette03.svg');}
.about_palette_list > li:nth-of-type(4) h6 {background-image: url('../images/sub/icon_palette04.svg');}
.about_palette_list .dot_list li {
    position: relative;
    padding-left: 13px;
    margin-top: 8px;
    font-size: 18px;
    font-weight: 400;
    color: #555555;
    line-height: 1.3;
    letter-spacing: 0;
}
.about_palette_list .dot_list li::before {
    position: absolute;
    top: 9px;
    left: 0;
    width: 4px;
    height: 4px;
    background: #555555;
    border-radius: 50%;
    content: '';
}

.about_sec .about_deco {
    position: absolute;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
}
.about_sec02 .about_deco01 {
    top: 1376px;
    left: calc(100% + 22px);
    width: 506px;
    height: 473px;
    background-image: url('../images/sub/about_deco02.png');
}
.about_sec02 .about_deco02 {
    top: 2536px;
    right: calc(100% + 161px);
    width: 421px;
    height: 426px;
    background-image: url('../images/sub/about_deco03.png');
}
.about_sec02 .about_deco03 {
    bottom: 0;
    left: 1058px;
    width: 814px;
    height: 280px;
    background-image: url('../images/sub/about_deco04.png');
}
.about_sec03 .about_deco01 {
    top: 507px;
    left: calc(100% + 103px);
    width: 52px;
    height: 51px;
    background-image: url('../images/sub/about_deco05.png');
}
.about_sec03 .about_deco02 {
    top: 1056px;
    right: 1309px;
    width: 276px;
    height: 236px;
    background-image: url('../images/sub/about_deco06.png');
}
.about_sec03 .about_deco03 {
    bottom: 0;
    left: 1203px;
    width: 437px;
    height: 443px;
    background-image: url('../images/sub/about_deco07.png');
}


@media all and (max-width: 1300px) {
    .cul_box .link {
        margin-top: 90px;
    }
}


@media all and (max-width: 1200px) {
    /* vision & mission */
    .vm-cont-side-row {
        margin-top: 0;
    }
    .vm_content .vm-cont-box .side {
        display: flex;
        flex-direction: column;
        align-items: center;
        max-width: none;
    }
    .vm_content .vm-cont-box .side .circle::before {
        width: 140px;
    }
    .vm_content .vm-cont-box .side.csv .circle-box .circle::before {
        top: 16px;
        left: 80%;
        transform: rotate(-45deg);
        transform-origin: left center;
    }
    .vm_content .vm-cont-box .side.csv .circle .circle-in-txt::after {
        transform: rotate(-45deg);
        top: 8px;
        left: 84%;
    }
    .vm_content .vm-cont-box .side.csv .circle::after {
        top: 16.2%;
        left: 83.632%;
    }
    .vm_content .vm-cont-box .side.csv .circle-bottom-txt {
        margin-left: 0;
    }
    .vm_content .vm-cont-box .side.csr .circle-box .circle::before {
        top: 16px;
        right: 80%;
        transform: rotate(45deg);
        transform-origin: right center;
    }
    .vm_content .vm-cont-box .side.csr .circle .circle-in-txt::after {
        transform: rotate(45deg);
        top: 8px;
        right: 84%;
    }
    .vm_content .vm-cont-box .side.csr .circle::after {
        top: 16.2%;
        right: 83.632%;
        transform: translate(50%, -200%);
    }
    .vm_content .vm-cont-box .side-list {
        display: inline-block;
        padding: 20px;
    }

    .cul_box {
        margin-top: 100px;
    }
    .cul_box .cul_list h6 {
        font-size: 26px;
    }
    .cul_box .cul_list p {
        font-size: 14px;
    }

}


@media all and (max-width: 1000px) {
    .history_cont .history_nav ul li a {
        font-size: 18px;
    }
    .history_cont .year_list > li {
        display: block;
    }
    .history_cont .year_list .img_area {
        margin-right: 0;
        margin-bottom: 50px;
    }
    .history_cont .year_list .img_area img {
        margin: 0 auto;
    }

    .guide_star_box {
        padding: 20px 35px;
    }

    /* 20250121 S */
    .guide_star_box .badge {
        margin-right: 30px;
        text-align: center;
    }
    .guide_star_box .badge img{
        display: block;
        text-align: center;
    }
    .guide_star_box .badge img + img{
        margin:20px auto 0;
    }
    /* 20250121 E */

    .guide_star_box .subject {
        font-size: 20px;
    }
    .guide_star_box .desc {
        font-size: 17px;
    }

    .search_row .sort_list .sort_btn {
        width: 130px;
        font-size: 16px;
    }
    .search_row .search_box input {
        width: 215px;
    }
    .contact_cont .tab_cont .info .logo_area {
        width: 300px;
    }
    .contact_cont .tab_cont .info .txt_area {
        padding-left: 40px;
    }
    .contact_cont .tab_cont .info .name {
        font-size: 25px;
    }
    .contact_cont .tab_cont .info .keyword_list li {
        padding: 0 15px;
        font-size: 16px;
    }
    .contact_cont .tab_cont .info .contact_list {
        margin-top: 30px;
    }


    .hope_track_list {
        display: block;
    }
    .hope_track_list > li + li {
        margin-left: 0;
        padding-left: 0;
        margin-top: 40px;
        padding-top: 40px;
    }
    .hope_track_list > li + li::before {
        width: 100%;
        height: 1px;
    }
    .cul_box {
        margin-top: 40px;
    }
    .cul_box .cul_list {
        padding-top: 0;
        background: none;
    }
    .cul_box .cul_list ul {
        position: static;
        display: block;
    }
    .cul_box .cul_list li {
        width: 100%;
        padding: 0;
    }
    .cul_box .cul_list li .img_area {
        display: block;
    }
    .cul_box .cul_list li .img_area img {
        width: 260px;
        margin: 0 auto;
    }

    .creator_area .creator_img {
        width: 400px;
    }
    .creator_area .creator_cont01 {
        right: calc(50% + 211px);
    }
    .creator_area .creator_cont02 {
        left: calc(50% + 211px);   
    }
    .creator_area .arrow_bg_list li {
        font-size: 12px;
    }
    .creator_area .arrow_bg_list li > div {
        padding: 16px 0px 16px 27px
    }

}


/* mobile */
@media all and (max-width: 768px) {
    /* sub common */
    .sub .visual_top {
        height: 200px;
        padding-top: 58px;
    }
    .sub .visual_top .sub_ttl {
        font-size: 31px;
    }
    .sub.vision .visual_top {background-image: url('../images/sub/visual_top_vision_mo.jpg');}
    .sub.history .visual_top {background-image: url('../images/sub/visual_top_history_mo.jpg');}
    .sub.integrity .visual_top {background-image: url('../images/sub/visual_top_integrity_mo.jpg');}
    .sub.contact .visual_top {background-image: url('../images/sub/visual_top_contact_mo.jpg');}
    .sub.about .visual_top {background-image: url('../images/sub/visual_top_about_mo.jpg');}

    .sub_content {
        padding: 25px 0 50px;
    }
    .sub_ttl_row {
        padding-top: 48px;
    }
    .sub_ttl_row::before {
        width: 40px;
    }
    .sub_ttl_row .caption {
        font-size: 15px;
    }
    .sub_ttl_row .subject {
        margin-top: 10px;
        font-size: 30px;
    }

    .sub_content .deco {
        display: none;
    }

    .sub_tab {
        margin-top: 50px;
    }
    .sub_tab ul li {
        max-width: none;
    }
    .sub_tab .tab_btn {
        line-height: 38px;
        font-size: 16px;
    }
    
    .search_row .sort_list {
        justify-content: center;
        gap: 30px;
    }
    .search_row .sort_list li {
        flex: 0 0 auto;
    }
    .search_row .sort_list .sort_btn {
        width: auto;
        height: auto;
        padding-bottom: 10px;
        border-radius: 0;
        border: none;
        background: none;
        color: #222;
        border-bottom: 4px solid transparent;
    }
    .search_row .sort_list .sort_btn.on {
        border-bottom-color: #FF5000;
        background: transparent;
        color: #222;
    }
    .search_row .search_box {
        display: none;
    }

    /* vision & mission */
    .sub.vision .sub_content {
        padding-bottom: 132px;
    }
    .sub.vision .sub_content .deco {
        display: block;
        background-size: 100%;
    }
    .sub.vision .sub_content .deco01 {
        top: auto;
        left: auto;
        right: 50%;
        bottom: 74px;
        width: 20px;
        height: 20px;
        transform: translateX(-43px);
        background-image: url('../images/sub/deco01_mo.png');
    }
    .sub.vision .sub_content .deco02 {
        top: auto;
        bottom: 3px;
        width: 28px;
        height: 29px;
        transform: translateX(-23px);
        background-image: url('../images/sub/deco02_mo.png');
    }
    .sub.vision .sub_content .deco03 {
        display: none;
    }
    .sub.vision .sub_content .deco04 {
        top: auto;
        bottom: 10px;
        width: 99px;
        height: 99px;
        transform: translateX(-127px);
        background-image: url('../images/sub/deco04_mo.png');
    }
    .sub.vision .sub_content .deco05 {
        top: auto;
        bottom: 22px;
        width: 122px;
        height: 122px;
        transform: translateX(122px);
        background-image: url('../images/sub/deco05_mo.png');
    }
    
    .vm_content .vm-cont-box {
        margin-top: 62px;
    }
    .vm_content .vm-cont-box .center {
        width: 244px;
    }
    .vm_content .vm-cont-box .center::before {
        width: calc(100% + 15px);
        height: calc(100% + 15px);
    }
    .vm_content .vm-cont-box .center::after {
        width: calc(100% + 38px);
        height: calc(100% + 38px);
    }
    .vm_content .vm-cont-box .center .circle-in-txt span {
        font-size: 12px;
    }
    .vm_content .vm-cont-box .center .circle-in-txt strong {
        margin-top: 10px;
        font-size: 22px;
        line-height: 1.1;
    }
    .vm_content .vm-cont-box .center .circle-in-txt em {
        margin-top: 10px;
        font-size: 12px;
        font-weight: 300;
    }
    .vm-cont-side-row {
        max-width: 315px;
        margin: 13px auto 0;
        align-items: stretch;
        gap: 15px;
    }
    .vm_content .vm-cont-box .side .circle-box {
        width: 138px;
        flex: 0 0 auto;
    }
    .vm_content .vm-cont-box .side .circle .circle-in-txt {
        top: 8px;
        left: 8px;
        right: 8px;
        bottom: 8px;
    }
    .vm_content .vm-cont-box .side .circle-in-txt strong {
        font-size: 26px;
        color: #000 !important;
        letter-spacing: -2px;
    }
    .vm_content .vm-cont-box .side .circle-in-txt em {
        font-weight: 350;
        letter-spacing: -1px;
    }
    .vm_content .vm-cont-box .side .circle::after {
        width: 4px;
        height: 4px;
        transform: none;
    }
    .vm_content .vm-cont-box .side .circle-bottom-txt {
        height: 67px;
        margin-top: 16px;
        font-size: 16px;
        opacity: 0.8;
        white-space: normal;
        flex: 0 0 auto;
    }
    .vm_content .vm-cont-box .side-list {
        width: 150px;
        height: 100%;
        margin: 50px auto 0;
        padding: 27px 23px 46px;
        border-width: 2px;
        background: #fff;
    }
    .vm_content .vm-cont-box .side-list::before {
        width: 2px;
        height: 25px;
    }
    .vm_content .vm-cont-box .side-list::after {
        width: 8px;
        height: 8px;
        bottom: calc(100% + 25px);
    }
    .vm_content .vm-cont-box .side-list li {
        padding: 0;
    }
    .vm_content .vm-cont-box .side-list li + li {
        margin-top: 25px;
        padding-top: 25px;
        border-top: 1px solid #E9E9E9;
    }
    .vm_content .vm-cont-box .side-list li .icon img {
        width: 70px;
    }
    .vm_content .vm-cont-box .side-list li .subject {
        margin-top: 6px;
        font-size: 18px;
    }
    .vm_content .vm-cont-box .side-list li p {
        margin-top: 10px;
        font-size: 12px;
        opacity: 0.8;
    }
    .vm_content .vm-cont-box .side.csv .circle-box .circle::before {
        left: 88px;
        top: 3px;
        width: 50px;
        transform: rotate(-65deg);
    }
    .vm_content .vm-cont-box .side.csv .circle::after {
        top: 3px;
        left: 93px;
    }
    .vm_content .vm-cont-box .side.csv .circle .circle-in-txt::after {
        top: -8px;
        left: 83px;
        width: 4px;
        height: 8px;
        transform: rotate(65deg);
    }
    .vm_content .vm-cont-box .side.csv .circle-bottom-txt {
        margin-left: 0;
    }
    .vm_content .vm-cont-box .side.csv .side-list {
        border-color: #FFD041;
    }
    .vm_content .vm-cont-box .side.csv .side-list::before,
    .vm_content .vm-cont-box .side.csv .side-list::after {
        background: #FFD041;
    }
    .vm_content .vm-cont-box .side.csr .circle-box .circle::before {
        right: 88px;
        top: 3px;
        width: 50px;
        transform: rotate(65deg);
    }
    .vm_content .vm-cont-box .side.csr .circle::after {
        top: 3px;
        right: 93px;
        transform: none;
    }
    .vm_content .vm-cont-box .side.csr .circle .circle-in-txt::after {
        top: -8px;
        right: 83px;
        width: 4px;
        height: 8px;
        transform: rotate(65deg);
    }
    .vm_content .vm-cont-box .side.csr .side-list {
        display: flex;
        flex-direction: column;
        justify-content: center;
        border-color: #73DAFF;
    }
    .vm_content .vm-cont-box .side.csr .side-list::before,
    .vm_content .vm-cont-box .side.csr .side-list::after {
        background: #73DAFF;
    }
    .vm_content .vm-cont-box .side.csr .side-list li + li {
        margin-top: 40px;
        padding-top: 40px;
    }

    /* history */
    .history_cont {
        margin-top: 50px;
        padding-top: 0;
    }
    .history_cont .history_nav {
        display: none;
    }
    .history_cont .year_list {
        margin-top: 0;
    }
    .history_cont .year_list > li + li {
        margin-top: 65px;
        border: none;
        padding: 0;
    }
    .history_cont .year_list .img_area {
        padding-bottom: 20px;
        margin-bottom: 40px;
        border-bottom: 1px solid #E8E8E8;
    }
    .history_cont .img_area p {
        font-size: 16px;
    }
    .history_cont .text_area .year_txt {
        font-size: 35px;
        text-align: center;
    }
    .history_cont .text_area .history_box {
        margin-top: 10px;
    }
    .history_cont .text_area .history_box + .history_box {
        margin-top: 40px;
    }
    .history_cont .text_area .data_box {
        margin-top: 25px;
    }
    .history_cont .text_area .cat_ttl {
        font-size: 21px;
        /* text-align: center; */ 
    }
    .history_cont .text_area .subject {
        padding-left: 7px;
        font-size: 17px;
    }
    .history_cont .text_area .dot_list > li {
        padding-left: 7px;
        font-size: 14px;
    }
    .history_cont .text_area .dot_list > li::before {
        top: 7px;
        width: 3px;
        height: 3px;
    }

    /* report */
    .report_cont .report_area {
        margin-top: 37px;
    }
    .report_cont .report_area + .report_area {
        margin-top: 55px;
    }
    .report_cont .report_area .cat_ttl {
        margin-bottom: 25px;
        font-size: 16px;
    }
    .report_cont .report_list {
        gap: 25px 0;
    }
    .report_cont .report_list li {
        width: 50%;
        padding: 0 10px;
    }
    .report_cont .report_list li img {
        margin: 0 auto;
        max-width: 100px;
    }
    .report_cont .report_list .subject {
        margin-top: 12px;
        font-size: 14px;
        line-height: 1.3;
    }
    .report_cont .report_list .more_view {
        margin-top: 12px;
        max-width: 120px;
        padding: 0 10px;
        color: #fff;
        background: #222;
    }
    .report_cont .report_list .more_view span {
        line-height: 28px;
        font-size: 13px;
    }
    .guide_star_box {
        display: block;
        margin-top: 51px;
        padding: 12px 20px 42px;
        text-align: center;
        border-radius: 20px;
    }
    .guide_star_box .badge {
        margin-right: 0;
        margin-bottom: 20px;
    }
    .guide_star_box .badge img {
        width: 219px;
        margin: 0 auto
    }
    .guide_star_box .subject {
        font-size: 17px;
    }
    .guide_star_box .desc {
        margin-top: 19px;
        font-size: 13px;
    }
    .guide_star_box .link_move {
        margin-top: 25px;
        padding: 0 30px;
    }
    .guide_star_box .link_move span {
        line-height: 30px;
        font-size: 13px;
        background-size: 14px;
    }

    /* notice */
    .notice_cont .search_row {
        margin-top: 30px;
    }
    .notice_cont .search_row .sort_box {
        flex: 1;
    }
    .notice_cont .board_box {
        margin-top: 40px;
    }
    .notice_cont .board_box .cat_ttl {
        display: block;
        font-size: 20px;
        text-align: center;
    }

    /* contact */
    .contact_cont .tab_cont_box {
        margin-top: 30px;
    }
    .contact_cont .branch_tab ul {
        gap: 30px;
    }
    .contact_cont .branch_tab .branch_tab_btn {
        padding-bottom: 10px;
        font-size: 18px;
    }
    .contact_cont .branch_tab .branch_tab_btn.on {
        border-color: #FF5000;
    }
    .contact_cont .branch_tab_cont_box {
        margin-top: 50px;
    }
    .contact_cont .tab_cont .info {
        display: block;
    }
    .contact_cont .tab_cont .info .logo_area {
        width: 100%;
    }
    .contact_cont .tab_cont.futurelab .info .logo_area img {
        width: 173px;
    }
    .contact_cont .tab_cont.orange .info .logo_area img {
        width: 120px;
    }
    .contact_cont .tab_cont.give .info .logo_area img {
        width: 120px;
    }
    .contact_cont .tab_cont .info .txt_area {
        padding-left: 0;
        border-left: 0;
        margin-top: 30px;
    }
    .contact_cont .tab_cont .info .name {
        text-align: center;
    }
    .contact_cont .tab_cont .info .keyword_list {
        margin-top: 24px;
        justify-content: center;
        flex-direction: column;
        gap: 10px;
    }
    .contact_cont .tab_cont .info .keyword_list li {
        padding: 0 12px;
        font-size: 14px;
        line-height: 28px;
    }
    .contact_cont .tab_cont .info .contact_list {
        margin-top: 20px;
    }
    .contact_cont .tab_cont .info .contact_list li {
        padding-left: 25px;
        font-size: 13px;
        background-size: 20px;
    }
    .contact_cont .tab_cont .contact_map {
        margin: 25px -20px 0;
    }
    .contact_cont .tab_cont .contact_map .root_daum_roughmap .wrap_map {
        height: 250px !important;
    }


    /* about */
    .about .sub_content {
        background-image: url('../images/sub/about_deco01_mo.png');
        background-size: 100%;
    }
    .about .inner {
        width: calc(100% - 60px);
    }
    .about_sec .about_box {
        padding: 50px 0;
    }
    .about_sec .about_page_ttl {
        font-size: 36px;
    }
    .about_sec .about_page_ttl::before {
        width: 25px;
    }
    .about_sec .about_page_desc {
        margin: 25px 0 12px;
        font-size: 21px;
    }
    .about_sec .about_page_desc02 {
        margin-top: 10px;
        font-size: 13px;
    }
    .about_sec .about_ttl {
        margin-bottom: 20px;
        padding-top: 53px;
        font-size: 26px;
        background-size: auto 40px;
    }
    .about_sec .about_strong {
        font-size: 15px;
    }
    .about_sec .about_desc {
        margin-top: 8px;
        font-size: 13px;
    }
    .about_sec .about_desc_strong {
        margin-top: 20px;
        font-size: 15px;
    }
    .about_sec .about_subject {
        margin-bottom: 20px;
        font-size: 23px;
        line-height: 1.2;
    }
    .about_sec .about_subject::before {
        width: 25px;
    }
    .about_sec .link {
        padding-left: 28px;
        font-size: 13px;
        line-height: 1.53;
        background-size: 20px;
    }
    .about_sec .about_ttl_row .dot_list li {
        padding-left: 14px;
        font-size: 13px;
    }
    .about_sec .about_ttl_row .dot_list li::before {
        top: 7px;
    }
    .about_sec .about_ttl_row .dot_list li + li {
        margin-top: 16px;
    }
    .about_sec .about_ttl_row .dot_list li a img {
        width: 6px;
    }
    .about_sec .about_deco {
        display: none;
    }

    .about_sec02 {
        background-image: url('../images/sub/about_deco02_mo.png');
        background-position: right 0 top;
        background-repeat: no-repeat;
        background-size: 100%;
    }
    .hope_track_box {
        position: relative;
        margin-top: 50px;
    }
    .hope_track_box::after {
        position: absolute;
        right: -10px;
        bottom: -121px;
        width: 150px;
        height: 184px;
        background: url('../images/sub/about_deco03_mo.png') center center no-repeat;
        background-size: cover;
        content: '';
    }
    .hope_track_box h5 {
        margin-bottom: 20px;
        font-size: 26px;
    }
    .hope_track_list > li + li {
        margin-top: 30px;
        padding-top: 30px;
    }
    .hope_track_list .icon {
        width: 70px;
        height: 70px;
    }
    .hope_track_list .subject {
        margin-top: 16px;
        font-size: 23px;
        line-height: 1.4;
    }
    .hope_track_list .desc {
        margin-top: 14px;
        margin-bottom: 16px;
        padding-top: 14px;
        text-align: center;
        font-size: 15px;
    }
    .hope_track_list .desc::before {
        width: 25px;
    }
    .hope_track_list .num_list > li {
        font-size: 13px;
    }
    .hope_track_list .num_list > li + li {
        margin-top: 10px;
    }
    .hope_track_list .num_list > li .num {
        margin-right: 2px;
        width: 20px;
        font-size: 13px;   
    }
    .hope_track_list .link {
        margin-top: 16px;
    }
    .hope_track_list .active_list strong {
        margin-bottom: 14px;
        font-size: 13px;
    }
    .hope_track_list .active_list span {
        margin-top: 10px;
        font-size: 13px;
    }

    .cul_box {
        margin-top: 20px;
    }
    .cul_box .cul_list ul {
        padding: 0;
    }
    .cul_box .cul_list li {
        display: block;
    }
    .cul_box .cul_list li + li {
        margin-top: 20px;
    }
    .cul_box .cul_list li .img_area {
        margin-bottom: 20px;
    }
    .cul_box .cul_list li .txt_area {
        height: auto;
        padding: 0;
    }
    .cul_box .cul_list h6 {
        font-size: 23px;
    }
    .cul_box .cul_list p {
        margin-top: 10px;
        font-size: 13px;
    }
    .cul_box .link {
        margin-top: 40px;
    }

    .creator_box {
        margin-top: 20px;
    }
    .creator_area {
        margin-top: 40px;
    }
    .creator_area .creator_caption {
        padding: 0 17px;
        margin-bottom: 20px;
        line-height: 29px;
        font-size: 18px;
    }
    .creator_area .creator_img {
        width: 320px;
    }
    .creator_area .creator_cont {
        margin-top: 40px;
    }
    .creator_area .creator_cont01,
    .creator_area .creator_cont02 {
        position: static;
        text-align: center;
    }
    .creator_area .creator_cont h6 {
        font-size: 15px;
        line-height: 1.3;
    }
    .creator_area .creator_cont p {
        font-size: 11px;
        line-height: 1.3;
    }
    .creator_area .arrow_bg_list {
        flex-direction: column-reverse;
        max-width: 240px;
        margin: 20px auto 0;
        padding-top: 30px;
        gap: 10px;
    }
    .creator_area .arrow_bg_list li {
        justify-content: center;
        min-height: auto;
        font-size: 11px;
        text-align: center;
    }
    .creator_area .arrow_bg_list li::before {
        top: auto;
        left: 50%;
        bottom: 0;
        transform: translateX(-50%);
        border-left: 160px solid transparent;
        border-bottom: 30px solid #fafafa;
        border-top: 30px solid transparent;
        border-right: 160px solid transparent;
    }
    .creator_area .arrow_bg_list li::after {
        top: auto;
        left: 50%;
        bottom: 100%;
        transform: translateX(-50%);
        border-left: 160px solid transparent !important;
        border-bottom: 30px solid #aaa;
        border-top: 30px solid transparent !important;
        border-right: 160px solid transparent !important;
    }
    .creator_area .arrow_bg_list li:nth-of-type(1)::after {border-bottom-color: #E7E7E7;}
    .creator_area .arrow_bg_list li:nth-of-type(2)::after {border-bottom-color: #EBEBEB;}
    .creator_area .arrow_bg_list li:nth-of-type(3)::after {border-bottom-color: #F1F1F1;}
    .creator_area .arrow_bg_list li:nth-of-type(4)::after {border-bottom-color: #F5F5F5;}
    .creator_area .arrow_bg_list li > div {
        padding: 0 0 44px;
    }

    .orange_stu_box {
        margin-top: 40px;
    }
    .orange_stu_box img {
        width: 320px;
    }


    .about_sec03 {
        background: url('../images/sub/about_deco04_mo.png') left top no-repeat;
        background-size: 100%;
    }
    
    .about_logo_give img {
        width: 148px;
    }
    .about_sec .about_logo_give + .about_desc_strong {
        margin-top: 8px;
    }
    .about_give_box {
        position: relative;
    }
    .about_give_box::after {
        position: absolute;
        bottom: 170px;
        left: -32px;
        width: 24px;
        height: 23px;
        background: url('../images/sub/about_deco06_mo.png') center center no-repeat;
        background-size: cover;
        z-index: -1;
        content: '';
    }
    .about_give_row .about_give_ttl {
        font-size: 15px;
    }
    .about_give_row .about_give_ttl.icon_v {
        padding-top: 60px;
        background-size: auto 60px;
    }
    .about_give_list {
        display: block;
    }
    .about_give_list li.mo_deco {
        position: relative;
    }
    .about_give_list li.mo_deco::before {
        position: absolute;
        right: -48px;
        bottom: -30px;
        width: 63px;
        height: 118px;
        background: url('../images/sub/about_deco05_mo.png') center center no-repeat;
        background-size: cover;
        content: '';
        z-index: -1;
    }
    .about_give_list li + li {
        margin-top: 10px;
    }
    .about_give_list li img {
        margin: 0 auto;
    }
    .about_give_list li p {
        margin-top: 10px;
        margin-bottom: 40px;
        font-size: 12px;
    }
    .about_give_row + .about_give_row {
        margin-top: 0;
        padding-top: 40px;
    }
    .about_give_caption {
        margin-top: 10px;
        font-size: 12px;
    }

    .about_smilehouse_box {
        margin-top: 40px;
        margin: 40px -30px 0;
    }
    .about_smilehouse_box img {
        max-width: 360px;
    }

    .about_palette_box {
        margin-top: 40px;
    }
    .about_palette_list {
        display: block;
    }
    .about_palette_list > li {
        width: 100%;
    }
    .about_palette_list > li + li {
        margin-top: 30px;
    }
    .about_palette_list h6 {
        padding-left: 32px;
        font-size: 15px;
        background-size: auto 16px;
    }
    .about_palette_list .dot_list {
        margin-top: 10px;
    }
    .about_palette_list .dot_list li {
        margin-top: 4px;
        padding-left: 14px;
        font-size: 13px;
    }
    .about_palette_list .dot_list li::before {
        top: 6px;
    }


}



@media all and (max-width: 350px) {
    .guide_star_box .desc {
        font-size: 12px;
    }
    .sub_tab .tab_btn {
        font-size: 14px;
    }
    .contact_cont .branch_tab .branch_tab_btn {
        font-size: 14px;
    }
} 