:root {
    font-size: 18px;
}
img {
    max-width: 100%;
}

@media all and (max-width: 1200px) {
    :root {
        font-size: clamp(16px, 1.5vw, 18px);
    }
}
@media all and (max-width: 1024px) {
    :root {
        font-size: clamp(14px, 1.56vw, 16px);
    }
}
:root {
    --fz-14: 0.78rem;
    --fz-15: 0.83rem;
    --fz-16: 0.89rem;
    --fz-17: 0.94rem;
    --fz-18: 1rem;
    --fz-19: 1.06rem;
    --fz-20: 1.11rem;
    --fz-21: 1.17rem;
    --fz-22: 1.22rem;
    --fz-23: 1.28rem;
    --fz-24: 1.33rem;
    --fz-25: 1.39rem;
    --fz-26: 1.44rem;
    --fz-27: 1.5rem;
    --fz-28: 1.56rem;
    --fz-29: 1.61rem;
    --fz-30: 1.67rem;
    --fz-31: 1.72rem;
    --fz-32: 1.78rem;
    --fz-33: 1.83rem;
    --fz-34: 1.89rem;
    --fz-35: 1.94rem;
    --fz-36: 2rem;
    --fz-37: 2.06rem;
    --fz-38: 2.11rem;
    --fz-39: 2.17rem;
    --fz-40: 2.22rem;
    --fz-41: 2.28rem;
    --fz-42: 2.33rem;
    --fz-43: 2.39rem;
    --fz-44: 2.44rem;
    --fz-45: 2.5rem;
    --fz-46: 2.56rem;
    --fz-47: 2.61rem;
    --fz-48: 2.67rem;
    --fz-49: 2.72rem;
    --fz-50: 2.78rem;
    --fz-51: 2.83rem;
    --fz-52: 2.89rem;
    --fz-53: 2.94rem;
    --fz-54: 3rem;
    --fz-55: 3.06rem;
    --fz-56: 3.11rem;
    --fz-57: 3.17rem;
    --fz-58: 3.22rem;
    --fz-59: 3.28rem;
    --fz-60: 3.33rem;
    --fz-61: 3.39rem;
    --fz-62: 3.44rem;
    --fz-63: 3.5rem;
    --fz-64: 3.56rem;
    --fz-65: 3.61rem;
    --fz-66: 3.67rem;
    --fz-67: 3.72rem;
    --fz-68: 3.78rem;
    --fz-69: 3.83rem;
    --fz-70: 3.89rem;
    --fz-71: 3.94rem;
    --fz-72: 4rem;
    --fz-73: 4.06rem;
    --fz-74: 4.11rem;
    --fz-75: 4.17rem;
    --fz-76: 4.22rem;
    --fz-77: 4.28rem;
    --fz-78: 4.33rem;
    --fz-79: 4.39rem;
    --fz-80: 4.44rem;
    --fz-81: 4.5rem;
    --fz-82: 4.56rem;
    --fz-83: 4.61rem;
    --fz-84: 4.67rem;
    --fz-85: 4.72rem;
    --fz-86: 4.78rem;
    --fz-87: 4.83rem;
    --fz-88: 4.89rem;
    --fz-89: 4.94rem;
    --fz-90: 5rem;
    --fz-91: 5.06rem;
    --fz-92: 5.11rem;
    --fz-93: 5.17rem;
    --fz-94: 5.22rem;
    --fz-95: 5.28rem;
    --fz-96: 5.33rem;
    --fz-97: 5.39rem;
    --fz-98: 5.44rem;
    --fz-99: 5.5rem;
    --fz-100: 5.56rem;
}
.py-6 {
    padding: 10rem 1rem !important;
}

/* mv */
.mv {
    position: relative;
    height: 800px;
    background: url('/img/mv_bg01.jpg') no-repeat center / cover;
}
.mv .container {
    display: flex;
    height: 100%;
    align-items: center;
}
.mv_alt_box {
    background: url('/img/mv_alt_bg.png') no-repeat center / cover;
    /* padding: 100px 60px; */
    aspect-ratio: 1/0.62;
    padding: 0 40px;
    min-height: 430px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

@media all and (max-width:1200px){
    .mv_alt_box {
        /* padding: 40px 20px; */
        min-height: unset;
        padding: 20px;
    }
    .mv_alt_box br {
        display: none;
    }
    .py-6 {
        padding: 4rem 0 !important;
    }
    
}
/* END mv */

/* footer */
#footer {
    background-color: #212529;
}
.f_alt_box {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    justify-content: space-between;
}
.f_alt_box .box {
    /* flex: 1; */
}
.f_alt_box .box:first-child {
    padding-left: 40px;
    max-width: 440px;
}
.f_alt_box .box .sub_box {
    display: flex;
    flex-wrap: wrap;
    gap: 0 20px;
}
.f_alt_box .box .alt {
    font-weight: 300;
    letter-spacing: -0.025em;
}
.f_alt_box .f_copy {
    font-weight: 300;
    letter-spacing: -0.025em;
    color: #9a9a9a;
    padding: 30px 0 20px;
}
.f_alt_box .f_btn {
    border: 1px solid #aaaaaa;
    padding: 10px 30px;
    color: #aaa;
    font-weight: 500;
    letter-spacing: -0.025em;
    display: inline-block;
}
.f_info {
    display: block;
}
.f_info + .f_info {
    margin-top: 20px;
    color: #b1b1b1;
}

@media all and (max-width:1200px){
    #footer > .container > .row {
        flex-direction: column;
    }
    #footer .custom_f_box {
        padding: 3rem 0 !important; 
        margin-bottom: 3rem !important;
        width: 100%;
    }
    .f_alt_box {
        gap: 3rem;
        padding-bottom: 3rem;
    }
    .f_alt_box .box:first-child {
        padding: 0 20px;
        max-width: unset;
    }
    .f_alt_box > div {
        width: 100%;
        padding: 0 20px;
    }
    
}
/* END footer */

#member {
    background-color: #fff;
}

/* header */
#header .nav {
    justify-content: flex-end;
}
.m_only {
    display: none !important;
}
/* select */
#header .select {position: relative; z-index: 1;}
#header .select .choice {background: #fff; border: 2px solid #eee; color: #666; width: 100px; height: 40px; border-radius: 20px; display: flex; align-items: center; gap: 5px; box-sizing: border-box; padding-left: 20px; padding-right: 32px; cursor: pointer; position: relative; z-index: 1;}
#header .select .choice::before {content: ''; position: absolute; top: 50%; right: 20px; transform: translateY(-50%); width: 12px; height: 7px; background: url(/img/arrow_down_12x7.png) no-repeat center center / contain; filter: brightness(0) saturate(100%) invert(66%) sepia(2%) saturate(0%) hue-rotate(181deg) brightness(104%) contrast(88%);}
#header .select .choice.on::before {background-image: url(/img/arrow_up_12x7.png);}
#header .select .choice i {display: inline-block; width: 15px; height: 15px; background: url(/img/global_15x15.png) no-repeat center center / contain; filter: brightness(0) saturate(100%) invert(42%) sepia(0%) saturate(0%) hue-rotate(297deg) brightness(93%) contrast(92%);}
#header .select .choice p {font-weight: 500; font-size: var(--fz-16); margin: unset;}
#header .select ul {position: absolute; width: 100%; top: 50%; left: 0; background-color: #3d3935; border-radius: 0 0 20px 20px; color: #aaa; text-align: center; padding: 35px 0 15px; box-sizing: border-box; display: none;}
#header .select ul li {font-weight: 500; font-size: var(--fz-16);}
#header .select ul li a{display: block; padding:5px 0;}
#header .select ul li:hover {color: #fff;}

@media all and (max-width:1200px){
    #header .header-logo {
        width: 180px !important;
        height: auto !important;
    }
}

@media all and (max-width:991px){
    .pc_only {
        display: none !important;
    }
    .m_only {
        display: block !important;
    }
    #header .select {
        padding: 5px 0;
        margin-left: auto;        
    }
    #header .header-nav-main nav > ul li a {
        text-align: center;
    }
}


/* END header */

/* sub_visual */
.sub_visual {
    position: relative;
    padding: 155px 0;
}
.sub_visual_txt_box {
    line-height: 1;
}
/* END sub_visual */

/* introduction */
.con {
    position: relative;
    padding: 100px 0;
}
.con_txt_box {
    text-align: center;
    color: #222222;
    word-break: auto-phrase;
}

.con_tit {
    line-height: 1.3em;
}
.blue-txt {
    color: #002d5e;
}
.blue-txt02 {
    color: #002d5e;
}
.con_img_box {
    text-align: center;
}
.con_alt {
    line-height: 1.8em;
    color: #666666;
}
.num_flex_box {
    display: flex;
    flex-wrap: wrap;
    gap: 20px 45px;
}
.num_flex_box .box {
    background-color: #fff;
    padding: 50px 20px;
    word-break: auto-phrase;
    width: calc(33.3333% - 30px);
}
.num_flex_box .box .num {
    border-radius: 50%;
    width: 60px;
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    letter-spacing: -0.025em;
    color: #fff;
    font-weight: 700;
    background-color: #002d5e;
    margin: 0 auto;
}
.num_flex_box .box .tit {
    font-size: 22px;
    font-weight: 700;
    letter-spacing: -0.025em;
    color: #222222;
    margin: 25px 0 20px;
}
.num_flex_box .box:nth-child(even) .num {
    background-color: #1978b9;
}
.com_banner {
    text-align: center;
    line-height: 1;
    word-break: auto-phrase;
}
.com_banner .tit {
    font-size: 3.1em;
    font-weight: 700;
    margin: 40px 0;
    letter-spacing: -0.05em;
}
.com_banner.white .tit {
    color: #002d5e;
}
.com_banner .alt {
    font-size: 22px;
    font-weight: 300;
    letter-spacing: -0.05em;
    line-height: 1.6em;
}
.com_banner.white .alt {
    color: #666666;
}

.con_flex_box01 {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 40px 60px;
}
.con_flex_box01 .img {
    width: 500px;
}

.con_flex_box01 .alt_box {
    width: calc(100% - 560px);
}

.con_flex_box01 .alt_box .box {
    display: flex;
}
.con_flex_box01 .alt_box .box .num {
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #002d5e;
    color: #fff;
    font-size: 18px;
    font-weight: 700;
    letter-spacing: -0.025em;
    width: 60px;
}
.con_flex_box01 .alt_box .box:nth-child(even) .num {
    background-color: #1978b9;
}
.con_flex_box01 .alt_box .box .alt {
    padding: 25px 20px;
    border-top: 1px solid #dcdcdc;
    border-bottom: 1px solid #dcdcdc;
    width: calc(100% - 60px);
}

.con_flex_box01 .alt_box .box .alt.line {
    border-right: 1px solid #dcdcdc;
}
.con_flex_box01 .alt_box .box .alt .tit {
    font-size: 22px;
    font-weight: 700;
    letter-spacing: -0.025em;
    color: #222222;
}

.con_flex_box01 .alt_box .box .alt .sub_alt {
    margin-top: 20px;
    font-size: 18px;
    font-weight: 300;
    letter-spacing: -0.025em;
    color: #666666;
    line-height: 1.6em;
    word-break: auto-phrase;
}
.con_flex_box01 .alt_box .box + .box {
    margin-top: 2px;
}

@media all and (max-width: 1200px) {
    .sub_visual {
        padding: 100px 0;
    }
    .con {
        padding: 80px 0;
    }
    .con_flex_box01 .img,
    .con_flex_box01 .alt_box {        
        width: 100%;
    }
    .con_flex_box01 .img {
        text-align: center;
    }
}

@media all and (max-width:991px) {
    .num_flex_box {
        gap: 20px;
    }
    .num_flex_box .box {
        width: calc(50% - 10px);
        padding: 40px 20px;
    }
    .com_banner .alt {
        font-size: 18px;
    }
}
/* END introduction */

/* strategy */
.con_img_flex_box .box {
    display: flex;
    flex-wrap: wrap;
    padding-bottom: 60px;    
    word-break: auto-phrase;
}
.con_img_flex_box .box + .box {
    padding-top: 60px;
    border-top: 1px solid #dcdcdc;
}
.con_img_flex_box .box .img_box {
    display: flex;
    gap: 60px;
    text-align: center;    
    width: 520px;
    justify-content: center;
}
.con_img_flex_box .box .txt_box {
    width: calc(100% - 520px);
    padding: 0 20px;
}
.con_img_flex_box .box .img_box .tit {
    font-size: 22px;
    font-weight: 400;
    letter-spacing: -0.025em;
    color: #222222;
    margin-top: 20px;
    line-height: 1.5em;
}
.con_img_flex_box .box .txt_box .tit {
    font-size: 24px;
    font-weight: 700;
    letter-spacing: -0.025em;
    color: #222222;
}
.con_img_flex_box .box .txt_box .alt {
    font-size: 18px;
    font-weight: 400;
    letter-spacing: -0.025em;
    line-height: 1.6em;
    color: #666666;
    margin-top: 20px;
}

@media all and (max-width:991px) {
    .con_img_flex_box .box .img_box,
    .con_img_flex_box .box .txt_box {
        width: 100%;
    }
    .con_img_flex_box .box {
        gap: 40px;
    }
    .con_img_flex_box .box .img_box .tit {
        font-size: 18px;
    }
    .con_img_flex_box .box .txt_box .tit {
        font-size: 20px;
    }
    .con_img_flex_box .box .txt_box .alt {
        font-size: 16px;
    }
}
/* END strategy */

/* organization */
.member_wrap .box {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    padding: 60px;
    border: 5px solid #dcdcdc;
    gap: 40px 50px;
}
.member_wrap .box + .box {
    margin-top: 40px;
}
.member_wrap .box .img {
    width: 215px;
    aspect-ratio: 1/1.6;
    background-color: #eeeeee;
}
.member_wrap .box .img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.member_wrap .box .alt_box {
    width: calc(100% - 265px);
}
.member_wrap .box .alt_box .tit {
    font-size: 34px;
    font-weight: 700;
    letter-spacing: -0.05em;
    color: #222222;
    margin-bottom: 40px;
    line-height: 1;
}
.member_wrap .box .alt_box .alt {
    display: flex;
    flex-wrap: wrap;
    gap: 20px 30px;
}
.member_wrap .box .alt_box .alt .sub_box {
    width: calc(33.3333% - 20px);
}
.member_wrap .box .alt_box .alt .sub_box.two {
    width: calc(66.66666% - 10px);
}
.member_wrap .box .alt_box .alt .sub_box .s_tit {
    font-size: 20px;
    font-weight: 700;
    letter-spacing: -0.05em;
    color: #222222;
    margin-bottom: 15px;
}
.member_wrap .box .alt_box .alt .sub_box .s_alt {
    position: relative;
    padding-left: 15px;
    font-size: 20px;
    letter-spacing: -0.05em;
    line-height: 1.8em;
    word-break: auto-phrase;
}
.member_wrap .box .alt_box .alt .sub_box .s_alt::after {
    content: '-';
    position: absolute;
    left: 0;
    top: 0;
}

@media all and (max-width: 1200px) {
    .member_wrap .box .alt_box {
        width: 100%;
    }
    .member_wrap .box .alt_box .tit {
        font-size: 26px;
    }
    .member_wrap .box .alt_box .alt .sub_box .s_tit,
    .member_wrap .box .alt_box .alt .sub_box .s_alt {
        font-size: 18px;
    }
    .member_wrap .box {
        padding: 40px 20px;
    }
}

@media all and (max-width:991px) {
    .member_wrap .box .alt_box .alt .sub_box {
        width: calc(50% - 15px);
    }
}
/* END organization */

#frm {
    background-color: #fff;
}

.map_box_wrap {
    width: 100%;
    aspect-ratio: 1/0.5;
    margin: 60px 0;
}
.map_box_wrap .root_daum_roughmap .wrap_map,
.map_box_wrap .root_daum_roughmap {
    width: 100%;
    height: 100%;
}
.map_alt_box {
    display: flex;
    flex-wrap: wrap;
    font-size: 20px;
    letter-spacing: -0.05em;
}
.map_alt_box > div {
    flex: 1;
}
.map_alt_box .box.two {
    display: flex;
}
.map_alt_box .box.two .sub_box {
    flex: 1;
}
.map_alt_box .tit {
    font-weight: 700;
    color: #222222;
    margin-bottom: 15px;
}
.map_alt_box .alt {
    color: #555555;
    font-weight: 400;
}

.con_flex_box02 {
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
}

.con_flex_box02 .box {
    width: calc(33.333% - 20px);
    padding: 50px 25px;
    border-radius: 50px;
    background-color: #f3f8fb;
    text-align: center;
}

.con_flex_box02 .box .tit {
    font-size: 22px;
    font-weight: 700;
    letter-spacing: -0.025em;
    color: #222;
    margin-bottom: 40px;
}

.con_flex_box02 .img_flex_box {
    display: flex;
    justify-content: space-between;
    font-size: 18px;
    font-weight: 400;
    letter-spacing: -0.025em;
    color: #222222;
    line-height: 1.55em;
}
.con_flex_box02 .img_flex_box .img {
    margin-bottom: 30px;
}

@media all and (max-width: 1200px) {
    .map_alt_box {
        gap: 30px;
    }
    .map_alt_box > div {
        flex: unset;
        width: 100%;
    }
    .con_flex_box02 .box {
        width: calc(50% - 15px);
        padding: 40px 20px;
    }
    .con_flex_box02 .img_flex_box {
        justify-content: center;
        gap: 40px;
    }
}

@media all and (max-width: 991px) {
    .map_alt_box {
        font-size: 18px;
    }
    .con_flex_box02 .box {
        width: 100%;
    }
}