@charset 'utf-8';
html {
    min-width: 340px;
    /*scroll-behavior: smooth;*/
}
.flex {
    display: flex;
}

/* 전체 스크롤바 너비 조정 */
::-webkit-scrollbar {
    width: 10px; /* 세로 스크롤바 너비 */
    height: 10px; /* 가로 스크롤바 높이 */

}

/* 스크롤바 트랙 (배경) */
::-webkit-scrollbar-track {
    background: #5b5b5b; /* 연한 회색 */
    border-radius: 5px;
}

/* 스크롤바 핸들 (움직이는 부분) */
::-webkit-scrollbar-thumb {
    background: #888; /* 어두운 회색 */
    border-radius: 5px;
}

/* 스크롤바 핸들 호버 시 */
::-webkit-scrollbar-thumb:hover {
    background: #9d9d9d; /* 더 어두운 회색 */
}



.hide-nav {
  transform: translateY(-120%!important);
  -webkit-transform: translateY(-120%)!important;
}

/****************** BUTTON *****************/
.btn-wrap {
    display: flex;
    justify-content: center;
    align-items: center;
}
.btn-wrap > * {
    margin-right: 10px;
}
.btn-wrap > *:last-of-type {
    margin-right: 0;
}
.btn {
    outline: none;
    transition: all .25s ease-in-out;
    display: flex;
    align-items: center;
    justify-content: center;
}
.btn:hover {
    transition: all .25s ease-in-out;
}
.btn--primary {
    background: var(--color-main);
    color: #fff;
    border: none;
    border-radius: 7px;
}
.btn--primary:hover {
    background: #1b69af;
}
.btn--regular {
    border-radius: 7px;
    font-size: var(--font-regular);
    font-weight: var(--weight-regular);
    outline: none;
    height: 52px;
    padding: 10px 20px;
    white-space: pre;
}
.btn--med {
    border-radius: 7px;
    font-size: var(--font-large);
    font-weight: var(--weight-medium);
    outline: none;
    padding: 20px 60px;
    width: 100%;
    height: 60px;
    padding: 10px 30px;
}
.btn--larg {
    border-radius: 7px;
    font-size: var(--font-xlarge);
    font-weight: var(--weight-medium);
    outline: none;
    padding: 20px 60px;
    width: 100%;
    max-width: 250px;
    height: 80px;
}
.gray {
    background: #b9b8b8;
}
.gray:hover {
    background: #ababab;
}
.bk {
    background: #131313;
}
.bk:hover {
    background: #131313;
}


/****************** FORM *****************/
.mx1200 {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
}
.text-left {
    text-align: left !important;
}
.wrapper:not(.sub) .content.main .graident {
    background: linear-gradient(
        to bottom,
        #040D20 0%,
        #040D20 10%,
        #040D20 72%,
        #040D20 94%,
        #040D20 100%
      );
}
.content.main {
    overflow: hidden;
}
.content.sub {
    background: #f9f9f9;
}

/* WRITE */
.write {
    display: flex;
    flex-wrap: wrap;
}
.write.col {
    gap: 25px 54px;
}
.write.col.col2 li {
    width: calc(100% / 2 - 27px);
}
.write li .write__title {
    margin-bottom: 7px;
    display: flex;
}
.write li .write__title strong {
    color: red;
    margin-left: 4px;
} 
.write li .write__text{
    display: flex;
    align-items: center;
}
.write li .write__text input {
    width: 100%;
}
.write li .write__text button {
    margin-left: 5px;
}


/* 체크박스 */
.checkbox {
    position: relative;
    display: flex;
    align-items: center;
    gap: 4px;
    cursor: pointer;
    user-select: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
/*    margin-top: 10px;*/
}

.checkbox input {
    position: absolute;
    width: 0;
    left: 50px;
    height: 0;
    opacity: 0;
    cursor: pointer;
}

.checkbox .checkmark {
    position: relative;
    display: block;
    top: 0;
    left: 0;
    width: 16px;
    height: 16px;
    background: white;
    border-radius: 3px;
    outline: 1px solid #acacac;
    transition: all 0.2s ease;
}

.checkbox:hover .checkmark {
    background: #f4f4f5;
    transition: all 0.2s ease;
}

.checkbox input:checked ~.checkmark {
    background: #3f7fed;
    outline: 1px solid rgb(95, 126, 240);
}
.checkbox .checkmark::after {
    position: absolute;
    display: block;
    content: "";
    left: 50%;
    top: 40%;
    width: 4px;
    height: 8px;
    border: solid white;
    border-width: 0 2px 2px 0;
    transform: translate(-50%, -50%) rotate(45deg);
    -webkit-transform: translate(-50%, -50%) rotate(45deg);
    -moz-transform: translate(-50%, -50%) rotate(45deg);
    -ms-transform: translate(-50%, -50%) rotate(45deg);
    opacity: 0;
    transition: all 0.2s ease;
}

.checkbox input:checked~.checkmark::after {
    opacity: 1;
    transition: all 0.2s ease;
}
.checkbox input[type="radio"] ~ .checkmark {
    border-radius: 50%;
}
.checkbox input[type="radio"] ~ .checkmark::after {
    width: 7px;
    height: 7px;
    border: none;
    background: #fff;
    top: 50%;
    border-radius: 50%;
    transform: translate(-50%,-50%);
}

/* fileUpload */
.file-upload {
    display: flex;
}
.file-upload .file-upload__box {
    position: relative;
    width: 100%;
}
.file-upload input[type=text]{
    margin-right: 8px;
    padding-right: 35px;
}
.file-upload iconify-icon {
    position: absolute;
    font-size: 22px;
    color: var(--color-main);
    top: 50%;
    right: 15px;
    transform: translateY(-50%);
    cursor: pointer;
}

/****************** 파일첨부 다운로드 *****************/
.file-area {}
.file-area .file-area__title {
    display: flex;
    justify-content: space-between;
    align-items: center;
    max-width: 200px;
    border: 1px solid var(--color-bd);
    background: #f9f9f9;
    border-radius: 30px;
    margin-top: 10px;
    height: 40px;
    position: relative;
    padding: 0 10px 0 20px;
    cursor: pointer;
    transition: all .2s ease-in-out;
}

.file-area .file-area__title:hover{
    background: #efefef;
    transition: all .2s ease-in-out;
}
.file-area .file-area__title.on {
    background: #efefef;
}
.file-area .file-area__title.on + .file-area__list {
    display: block;
}
.file-area .file-area__title p {
    font-weight: var(--weight-semibold);
    font-size: 14px;
}
.file-area .file-area__list {
    width: 100%;
    max-width: 300px;
    background: #fff;
    box-shadow: 2px 2px 10px rgba(0, 0, 0, 0.12);
    position: absolute;
    border-radius: 5px;
    padding: 10px;
    transform: translateY(10px);
    display: none;
}
.file-area .file-area__list li {
    margin-bottom: 10px;
}
.file-area .file-area__list li:last-of-type {
    margin-bottom: 0;
}
.file-area .file-area__list li a {
    display: inline-flex;
    align-items: center;
    transition: all .2s ease;
    font-size: 14px;
}
.file-area .file-area__list li a:hover {
    color: var(--color-main);
    transition: all .2s ease;
}
.file-area .file-area__list li a iconify-icon {
    font-size: 16px;
    color: var(--color-main);
    margin-right: 6px;
}

/****************** TABLE *****************/
.table-wrap {
    width: 100%;
}
.table-wrap table {
    border-top: 1px solid var(--color-bk);
}
.table-wrap table tr {
    height: 67px;
}
.table-wrap table thead tr  {
    background: #e8e8e8;
}
.table-wrap table tbody tr {
    border-bottom: 1px solid var(--color-bd);
}
.table-wrap table tbody tr:hover {
    background: #fff;
}
.table-wrap table thead tr th,
.table-wrap table tbody tr td {
    text-align: center;
    word-break: keep-all;
}
.table-wrap table thead tr th {
    font-weight: var(--weight-semibold);
}
.table-wrap table tbody tr:hover td a {
    text-decoration: underline;
}


/****************** PAGINATION *****************/
.list-control {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 60px;
}
.list-control .btn-wrap .btn__text {
    color: #fff;
}
.paginate {
    justify-content: center;
}
.paginate > a iconify-icon {
    font-size: 30px;
    color: #A0A0A0;
}
.paginate,.paginate ul {
    display: flex;
    align-items: center;
}
.paginate ul {
    padding: 0 15px;
    gap: 10px;
}
.paginate ul li a {
    width: 30px;
    height: 30px;
    border-radius: 3px;
    background: transparent;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #5d5d5d;
}
.paginate ul li a.on {
    background: var(--color-sub);
    font-weight: var(--weight-semibold);
    color: #fff;
}

/****************** 게시판 view 페이지 *****************/
.view {
    padding: 0 40px;
    width:100%;
    max-width:1200px;
}
.view .view__top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-top: 2px solid var(--color-main);
    height: 70px;
    border-bottom: 1px solid var(--color-bd);
    padding: 0 20px;
}
.view .view__top p {
    font-size: var(--font-xlarge);
    font-weight: var(--weight-semibold);
}
.view .view__top .view__info,
.view .view__top .view__info span {
    color: #9f9f9f;
    font-size: 14px;
}
.view .view__con {
    padding: 60px 20px;
    min-height: 300px;
    border-bottom: 1px solid var(--color-bd);
}
.view .view__con p {
    font-size: var(--font-regular);
    line-height: 1.7;
}
.c-box + .btn-wrap {
    margin-top: 80px;
}

/****************** 게시판 write 페이지 *****************/
.wrapper.sub.board.write form > .btn-wrap {
    margin-top: 100px;
}
.view h3 {
    margin-bottom: 15px;
}
.wrapper.sub.board.write {
    background: #fff !important;
}
.write__zone {
    border-top: 1px solid var(--color-bk);
    margin-bottom: 70px;
}
.write__zone:last-of-type {
    margin-bottom: 0;
}
.write__zone .write__row.col {
    display: flex;
    width: 100%;
    gap: 30px;
    border-bottom: 1px solid var(--color-bd);
}
.write__zone .write__row.col .write__sline {
    border: none;
}
.write__zone .write__row.col .write__sline select,
.write__zone .write__row .write__sline select {
    width: 100%;
    max-width: 200px;
    background-color:#f9f9f9;
}
.write__zone .write__row.col .write__sline select option,
.write__zone .write__row .write__sline select option {
    font-size: var(--font-regular);
}
.write__zone .write__row.col.col2 .write__sline {
    width: calc(100% / 2);
}
.write__zone .write__sline {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    border-bottom: 1px solid var(--color-bd);
    padding:10px 0;
}
.write__zone .write__sline > *:not(:first-child,:last-child) {
    margin-right: 7px;
}
.write__zone .write__sline.hyphen span {
    padding:  0 5px;
}
/*.write__zone .write__row:last-of-type .write__sline {
    padding-bottom:30px;
}*/
.write__zone .write__sline p {
    font-size: var(--font-regular);
    font-weight: var(--weight-semibold);
    min-width:100px;
    text-align:center;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    height: 40px;
    color: #5e5e5e;
}
.write__zone .write__sline span {
    font-size: 1.4rem;
    font-weight: var(--weight-semibold);
    line-height: 1.5;
    padding: 5px 0;
}
.write__zone .write__sline input {
    background:#f9f9f9;
    padding-left:15px;
    width:100%;
}
.write__zone .write__sline textarea {
    padding:15px;
    background:#f9f9f9;
    border:1px solid var(--color-bd);
    outline:none;
    border-radius:7px;
    min-height:280px;
}
.write__zone .write__sline textarea:focus {outline:none;}
.write__zone .write__sline .file-upload {
    width: 100%;
}
input.file-read.drag {
    border: 1px dashed var(--color-main);
    background: #fbfffa;
    /*background: #fff !important;*/
    transition: all 0.2s ease;
}

/****************** 아코디언 리스트 *****************/
.accordion {
    border-top: 1px solid var(--color-bk);
}
.accordion > p {
    text-align: center;
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.accordion .accordion__row {
    border-bottom: 1px solid var(--color-bd);
}
.accordion .accordion__row.on .accordion__q{
    background: #eff7ed url('../images/common/angle_top.svg') no-repeat center right 20px/ 40px;
}
.accordion .accordion__row.on .accordion__a {
    display: flex;
}
.accordion .accordion__row .accordion__q {
    display: flex;
    padding: 20px 37px 20px 30px;
    align-items: center;
    cursor: pointer;
    background: url('../images/common/angle_bottom.svg') no-repeat center right 20px/ 40px;
}
.accordion .accordion__row .accordion__a {
    background: #fff;
    padding: 30px 37px;
    display: flex;
    align-items: flex-start;
    display: none;
}
.accordion .accordion__row .accordion__q span,
.accordion .accordion__row .accordion__a span {
    font-size: var(--font-xxlarge);
    font-weight: var(--weight-black);
    width: 5%;
    min-width: 30px;
}
.accordion .accordion__row .accordion__q span {
    color: var(--color-sub);
}
.accordion .accordion__row .accordion__a span {
    color: var(--color-main);
}
.accordion .accordion__row .accordion__q p,
.accordion .accordion__row .accordion__a p {
    width: calc(100% - 5%);
}
.accordion .accordion__row .accordion__q p {
    font-weight: var(--weight-semibold);
}
.accordion .accordion__row .accordion__a p {
    line-height: 1.5;
    white-space: pre-line;
}

/****************** POPUP *****************/
/* 게시판 비밀번호 팝업 */
#pwPopup {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    background: #fff;
    border-radius: 10px;
    box-shadow: 2px 2px 20px rgba(0, 0, 0, 0.25);
    display: none;
    min-width: 230px;
}
#pwPopup .pwPopup__top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 10px 5px;
    border-bottom: 1px solid var(--color-bd);
}
#pwPopup .pwPopup__top img {
    width: 100%;
    max-width: 100px;
    margin-right: 20px;
}
#pwPopup .pwPopup__top button {
    width: 20px;
    height: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
}
#pwPopup .pwPopup__top button iconify-icon {
    font-size: 18px;
    color: gray;
}
#pwPopup dl.pwPopup__con {
    padding: 20px 10px 10px;
}
#pwPopup dl.pwPopup__con dt {
    margin-bottom: 10px;
    text-align: center;
    font-weight: var(--weight-medium);
}
#pwPopup dl.pwPopup__con dd {
    display: flex;
    justify-content: center;
}
#pwPopup dl.pwPopup__con dd input {
    width: 50px;
    font-size: 30px;
    text-align: center;
    padding: 0;    
}


/****************** DEFAULT *****************/
.mx1650 {
    width: 100%;
    padding: 0 40px;
    max-width: 1600px;
    margin: 0 auto;
    display: flex;
}
.header-copy {
    height: clamp(50px,6.67vw,80px);
    display: none;
}
header {
    width: 100%;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.07);
    position: relative;
    height: clamp(50px,6.67vw,80px);
    margin: 0 auto;
    display: flex;
    /*position: fixed;*/
    top: 0;
    left: 0;
    width: 100%;
    padding: .5rem 0;
    z-index: 20;
    will-change: transform;
    transition: opacity .3s,
    -webkit-transform .5s cubic-bezier(.694,.048,.335,1);
    transition: transform .5s cubic-bezier(.694,.048,.335,1),opacity .3s;
    transition: transform .5s cubic-bezier(.694,.048,.335,1),opacity .3s,
    -webkit-transform .5s cubic-bezier(.694,.048,.335,1);
    transform: translateY(0);
    -webkit-transform: translateY(0);
}
header.show-nav {
    box-shadow: 2px -2px 20px rgba(0, 0, 0, 0.15);
}
header.main-header.show-nav {
    background: rgb(4 17 37 / 87%);
}
header.sub-header,
header.sub-header.show-nav {
    background: white;
}
header.is-top.show-nav {
    transition: none;
    background: #fff;
}
header.sub.header.show-nav {
    background: #fff;
}
header.main-header,
header.sub-header {
    border-bottom: none;
    position: fixed;
}
header.main-header .btn-wrap button {
    color: white;
}
header .btn-wrap button:first-of-type {
    margin-right: 2.4vw;
}

header .mx1650 > div {
    display: flex;
    align-items: center;
    width: 100%;
}
header .mx1650 {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
header h1 {
    width: 100%;
    max-width: clamp(120px,15.83vw,190px);
}
header h1 a {
    width: 100%;
    display: flex;
    align-items: center;
}
header h1 a img {
    width: 100%;
    height: fit-content;
}
ul.menu {
    display: flex;
    align-items: center;
    width: 100%;
    max-width: 790px;
    margin: 0 auto;
}
ul.menu li {
    width: calc(100% / 5)
}
ul.menu li a {
    width: 100%;
    font-size: var(--font-large);
    display: flex;
    justify-content: center;
    align-items: center;
    /*height: 80px;*/
}
ul.user {
	display: flex;
}
ul.user li a {
	display: flex;
	align-items: center;
	background: var(--color-sub);
	color: #fff; 
	padding: 8px 18px;
	border-radius: 50px;
    height: 45px;
}
ul.user li a span {
	color: #fff;
	font-weight: var(--weight-regular);
}
ul.user li a iconify-icon {
	font-size: 16px;
	color: #fff;
	margin-right: 6px;
}
.wrapper.sub {
    background: var(--color-bg);
    margin-top: clamp(50px,6.67vw,80px);
}
.wrapper.sub:not(.login,.service,.companyIntro,.portfolio){
    padding: 120px clamp(10px,2.5rem,40px) 180px;
}
.wrapper.sub .content:not(.main) {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
}
h2 {
    font-size: var(--font-h2);
    font-weight: var(--weight-bold);
    text-align: center;
}
header {
    position: relative;
}
.m-menu {
    background: rgba(255, 255, 255, 1);
    backdrop-filter: blur(0px);
    display: block;
    max-height: 0;
    overflow: hidden;
    -webkit-transition: all 0.3s ease-out;
    -moz-transition: all 0.3s ease-out;
    -ms-transition: all 0.3s ease-out;
    -o-transition: all 0.3s ease-out;
    transition: all 0.3s ease-out;
    /*z-index: 10;*/
    position: absolute;
    width: 100%;
    top: 100%;
    left: 0;
    padding: 0 clamp(20px,2.5rem,40px);
}
.main-header .m-menu {
    background: rgba(0, 0, 0, 0.7);
}
.m-menu.collapse {
    max-height: 16.5em;
    border-top: 0.5px solid #e2e2e2;
}
.m-menu li {
    padding: 0.5em 0;
}
.m-menu li:first-of-type {
    padding-top: 1em;
}
.m-menu li:last-of-type {
    padding-bottom: 1em;
}
.m-menu li a {
    display: inline-block;
    line-height: 1.4;
    font-size: clamp(14px,1.33vw,16px);
    font-weight: 400;
    width: 100%;
}
footer {
    background: #0B3255;
}

/************** main **************/
.main-header{
    box-shadow: none;
    border-bottom: 0.5px solid #8cc0df;
}
.main-header:not(.sub-header) ul li a {
    color: #fff;
}
.main .sec01 {
    background: url('../images/main/main_sec01_bg.png') no-repeat center / cover;
    height: 880px;
    ;
}
.main .sec01 dl.intro {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    height: calc(100% - (80px + 230px));
    margin-bottom: 230px;
}
.main .sec01 dl.intro dt,
.main .sec01 dl.intro dt strong {
    font-size: clamp(24px,5vw,60px);
    /*font-size: 60px;*/
    font-weight: var(--weight-bold);
    line-height: 1.5;
}
.main .sec01 dl.intro dt {
    color: white;
    margin-bottom: 38px;
}
.main .sec01 dl.intro dt strong {
    color: var(--color-sub);
}
.main .sec01 dl.intro dd {
    font-size: clamp(14px,2vw,24px);
    font-weight: var(--weight-light);
    line-height: 1.5;
    color: rgba(255,255,255,.7);
}
.graident {
    width: 100%;
    background: linear-gradient(
        to bottom,
        #040D20 0%,
        #040D20 10%,
        #0B3255 72%,
        #040D20 94%,
        #040D20 100%
      );
}
.main .sec02 .partner {
    padding-bottom: 230px;
}
.main .sec02 .partner .partner-con {
    height: 1037px;
    background: url('../images/main/main_sec02_partner_bg.png') no-repeat center;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 0 4vw;
}
.main .sec02 .partner p,
.main .sec02 .partner strong {
    font-size: clamp(22px,5vw,56px);
    font-weight: var(--weight-semibold);
    text-align: center;
    line-height: 1.6;
}
.main .sec02 .partner p {
    color: #fff;
    margin-top: 166px;
    margin-bottom: 120px;
}
.main .sec02 .partner strong {
    color: var(--color-sub);
}
.main .sec02 .partner-wrap {
    overflow: hidden;
    position: relative;
    height: 40px;
}
.main .sec02 .partner-logo {
    display: flex;
    gap: clamp(50px,8.3vw,100px);
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
}
.main .sec02 .partner-logo img {
    width: 50%;
    max-width: 160px;
}
.main .sec02 .bissness {
    display: flex;
    flex-direction: column;
    align-items: center;
}
.stroke {
    display: block;
    width: clamp(0px,0.17vw,2px);
    height: 286px;
    background: linear-gradient(
        to bottom,
        rgba(255, 255, 255, 0) 0%,
        rgba(255, 255, 255, 0.5) 50%,
        rgba(255, 255, 255, 0) 100%
      );
    margin-bottom: 53px;
}
.main .sec02 .bissness p {
    font-size: 38px;
    font-weight: var(--weight-semibold);
    color: #fff;
    line-height: 1.8;
    text-align: center;
    margin-bottom: 53px;
}
.main .sec02 .bissness .info-wrap {
    width: 100%;
    position: relative;
}
.main .sec02 .bissness .info-wrap:before {
    content: "";
    display: block;
    width: clamp(0px,0.17vw,2px);
    height: 100%;
    background: linear-gradient(
        to bottom,
        rgba(255, 255, 255, 0) 0%,
        rgba(255, 255, 255, 0.5) 50%,
        rgba(255, 255, 255, 0) 100%
      );
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
}
.main .sec02 .bissness .info {
    padding: 387px 0 260px;
    flex-direction: column;
}

.main .sec02 .bissness .info .info__item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    margin-bottom: 170px;
    position: relative;
    gap: clamp(40px, 12.5vw, 150px);
}
.main .sec02 .bissness .info .info__item:nth-child(2n){
    flex-direction: row-reverse;
}
.main .sec02 .bissness .info .info__item:last-of-type {
    margin-bottom: 0;
}
.main .sec02 .bissness .info .info__item .info__img {
    width: 100%;
    max-width: 680px;
}
.main .sec02 .bissness .info .info__item:after {
    content: "";
    left: 50%;
    top: 50%;
    transform: translate(-50%,-50%);
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: var(--color-sub);
    position: absolute;
    z-index: 10;
}
.main .sec02 .bissness .info .info__item .info__img img {
    width: 100%;
}
.main .sec02 .bissness .info .info__item .info__txt {
    width: 100%;
    max-width: 680px;
}
.main .sec02 .bissness .info .info__item .info__txt dt {
    font-size: clamp(28px,2.3vw,50px);
    font-weight: var(--weight-semibold);
    color: #fff;
    margin-bottom: 30px;
}
.main .sec02 .bissness .info .info__item .info__txt dd {
    color: rgba(255,255,255,.7);
    font-size: 18px;
    line-height: 1.7;
}
.main .sec02 .character {
    display: flex;
    justify-content: center;
    padding: 120px 40px 230px;
    width: 100%;
}
.main .sec02 .character .character__txt {
    margin-right: 146px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    flex-shrink: 0;
}
.main .sec02 .character .character__txt dl {
    margin-bottom: 60px;
}
.main .sec02 .character .character__txt dl dt,
.main .sec02 .character .character__txt dl dt strong {
    font-size: clamp(28px,2.3vw,50px);
    font-weight: var(--weight-bold);
}
.main .sec02 .character .character__txt dl dt {
    color: #fff;
    margin-bottom: 25px;
}
.main .sec02 .character .character__txt dl dt br {
    display: none;
}
.main .sec02 .character .character__txt dl dt strong {
    color: var(--color-sub);
}
.main .sec02 .character .character__txt dl dd {
    font-size: 20px;
    color: rgba(255,255,255,.7);
    line-height: 1.7;
    font-weight: var(--weight-light);
}
.main .sec02 .character .character__txt ul {
    border-top: 0.25vw solid #c9c9c9;
}
.main .sec02 .character .character__txt ul li {
    border-bottom: 0.08vw solid #c9c9c9;
    display: flex;
    color: #fff;
    font-size: clamp(16px,2vw,24px);
    height: 80px;
    align-items: center;
}
.main .sec02 .character .character__txt ul li img {
    margin-right: 17px;
}
.main .sec02 .character .character__img {
    width: 100%;
    max-width: 755px;
    display: flex;
    align-items: center;
}
.main .sec02 .character .character__img img {
    width: 100%;
}
.main .sec03 {
    background: #1A72C1 url('../images/main/sec03_bg.png') no-repeat center / cover;
    padding: 130px 0 174px;
}
.main .sec03 .mx1650 {
    flex-direction: column;
}
.main .sec03 p {
    font-size: clamp(24px,3.83vw,46px);
    color: #fff;
    font-weight: var(--weight-bold);
    margin-bottom: 84px;
    line-height: 1.5;
}
.main .sec03 .img {
    display: flex;
    justify-content: center;
    width: 100%;
}
.main .sec03 .img img {
    width: 100%;
    height: fit-content;
    max-width: 1500px;
}
.main .sec04 {
    background: #040D20;
}
.main .sec04 .title{
    background: url('../images/main/sec04_bg.png') no-repeat center / cover;
    height: 334px;
}
.main .sec04 .title p {
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    font-size: clamp(24px,3.83vw,46px);
    font-weight: var(--weight-bold);
}
.main .sec04 .location {
    padding: 70px 40px 220px;
    flex-direction: column;
}
.map {
    width: 100%;
    height: 450px;
    margin-bottom: 40px;
}
.root_daum_roughmap_landing {
    width: 100% !important;
    height: 100%;
}
.root_daum_roughmap .wrap_map {
    top: -15%;
}
.main .sec04 .location .info {
    display: flex;
    justify-content: center;
}
.main .sec04 .location .info li {
    color: #fff;
    display: flex;
    align-items: center;
    font-size: 18px ;
    margin-right: 37px;
}
.main .sec04 .location .info li:last-of-type {
    margin-right: 0;
}
.main .sec04 .location .info li iconify-icon {
    color: #fff;
    font-size: clamp(22px,2.5vw,30px);
    margin-right: 14px;
}
footer {
    background: #1B1B1B;
    padding: 3.75em 0;
}
footer .mx1650 {
    justify-content: space-between;
    align-items: center;
}
footer .footer__info {
    display: flex;
    align-items: flex-start;
}
footer .footer__info img {
    width: clamp(150px,15vw,180px);
    margin-right: 32px;
}
footer .footer__info ul li,
footer .footer__info span {
    color: #A5A5A5;
    font-size:  clamp(12px,1.17vw,14px);
}
footer .footer__info ul li {
    line-height: 1.5;
}
footer dl {
    display: flex;
    flex-direction: column;
    align-items: center;
}
footer dl dt {
    font-size: clamp(14px,1.33vw,20px);
    color: #fff;
    margin-bottom: 20px;
}
footer dl dd {
    color: #fff;
    font-size: clamp(16px,1.92vw,23px);
}
footer dl dd strong {
    font-size: clamp(24px,3vw,36px);
    font-weight: var(--weight-bold);
    color: #fff;
    line-height: 1.3;
}

@media screen and (max-width: 1200px){
    .mx1650 {
        padding: 0 clamp(20px,2.5rem,40px);
    }
    body {
        min-width: unset;
    }
    
    .main .sec01 {
        height: 73.33vw;
        margin-bottom: 10vw;
    }
    .main .sec01 dl.intro {
        height: 70%;
    }
    .main .sec01 dl.intro dt {
        margin-bottom: 1em;
    }
    .main .sec02 .bissness p {
        font-size: clamp(20px,3.17vw,38px);
    }
    
    .main .sec02 .partner {
        margin-bottom: 0;
    }
    .main .sec02 .partner .partner-con {
        height: 70vw;
        display: flex;
        flex-direction: column;
        justify-content: flex-end;
        background-size: cover;
    }
    .main .sec02 .partner p {
        margin-bottom: 20px;
    }
    .main .sec02 .partner p {
        margin-bottom: 0;
    }
    .main .sec02 .partner-wrap {
        margin-bottom: 0;
        margin-top: clamp(40px,12.5vw,150px);
    }
    .main .sec02 .partner-logo img {
        max-width: unset;
        width: clamp(60px,15vw,160px);
    }
    .stroke {
        height: clamp(150px,36.4vw,286px);
    }
    .main .sec02 .bissness .info {
        padding: 24.1rem 0 16.25rem;
    }
    .main .sec02 .bissness .info .info__item:after {
        left: 0;
    }
    .main .sec02 .bissness .info-wrap:before {
        left: 0;
    }
    .main .sec02 .bissness .info .info__item,
    .main .sec02 .bissness .info .info__item:nth-child(2n) {
        flex-direction: column;
    }
    .main .sec02 .bissness .info .info__item {
        gap: clamp(40px,5vw,60px);
        margin-bottom: clamp(150px,12.5vw,150px);
        padding-left: clamp(20px,2.5rem,40px);;
    }
    .main .sec02 .bissness .info .info__item .info__txt dt {
        line-height: 1.2;
        margin-bottom: 1.875rem;
    }
    .main .sec02 .bissness .info .info__item .info__txt dd {
        font-size: clamp(14px,1.5vw,18px);
    }
    .main .sec02 .character {
        padding: 7.5em 40px 14.375em;
    }
    .main .sec02 .character .character__txt {
        margin-right: 8rem;
    }
    .main .sec02 .character .character__txt dl {
        margin-bottom: 3em;
    }
    .main .sec02 .character .character__txt dl dt {
        margin-bottom: 2.08vw;
    }
    .main .sec02 .character .character__txt dl dd {
        font-size: clamp(14px,1.67vw,20px);
    }
    .main .sec02 .character .character__txt ul li {
        font-size: clamp(16px,2vw,24px);
        height: unset;
        padding: clamp(12px,1.67rem,80px) 0;
    }
    .main .sec02 .character .character__txt ul li img {
        margin-right: 1.42vw;
        width: clamp(30px, 4vw, 42px);
    }
    .main .sec04 .location .info {
        flex-direction: column;
    }
    .main .sec03 {
        padding:  6em 0 8em;
    }
    .main .sec04 .title {
        height: unset;
        padding: clamp(40px,8.3vw,100px);
    }
    .main .sec04 .location {
        padding: 7.5rem clamp(20px,2.5rem,40px) 14.375rem;
    }
    .main .sec04 .location .info li {
        font-size: clamp(14px,1.5vw,18px);
        margin-right: 0;
        margin-bottom: 10px;
    }
    .accordion .accordion__row .accordion__q,
    .accordion .accordion__row .accordion__a {
        padding: 20px clamp(20px,2.5rem,40px);
    }

    footer .footer__info img {
        margin-right: 0;
        margin-bottom: 2.67vw;
    }
    footer dl dt {
        margin-bottom: 1.8vw;
    }
    footer dl dd {
        text-align: center;
    }
}

@media screen and (max-width: 786px){
    header .btn-wrap {
        margin-right: 2.4vw;
    }
    header .mx1650 > div {
        width: auto;
    }
    .main .sec01 dl.intro {
        top: 60px;
        position: relative;
    }
    header ul.menu {
        display: none;
    }
    .nav-toggle {
        display: block;
        border-radius: 5px;
        background-color: transparent;
        float: right;
        height: 38px;
        width: 38px;
        cursor: pointer;
        padding: 8px 8px;
    }
    .nav-toggle span {
        position: relative;
        display: block;
        height: 2px;
        width: 100%;
        margin-top: 4px;
        background-color: #131313;
        transition: all .25s;
    }
    .main-header .nav-toggle span {
        background-color: #fff;
    }
    .nav-toggle.open span:first-of-type {
        transform: rotate(45deg) translate(4.4px, 4.4px);
    }
    .nav-toggle.open span:nth-of-type(2) {
        width: 0%;
        opacity: 0;
    }
    .nav-toggle.open span:last-of-type {
        transform: rotate(-45deg) translate(4.4px, -4.4px);
    }
    .main .sec01{
        /*height: 90vw;*/
    }
    .main .sec01 dl.intro {
        height: 60%;
        padding-bottom: 1.875rem;
    }
    .main .sec02 .bissness p {
        margin-bottom: 3.31rem;
    }
    .main .sec02 .character {
        flex-direction: column-reverse;
        padding:7.5rem clamp(20px,2.5rem,40px) 14.375rem;
    }
    .main .sec02 .character .character__txt {
        margin-right: 0;
    }

    .main .sec02 .character .character__img {
        justify-content: center;
        margin-bottom: 7rem;
    }
    .main .sec02 .character .character__img img {
        width: 80%;
    }
    footer .footer__info {
        flex-direction: column;
        width: 100%;
    }

    footer .mx1650 {
        flex-direction: column-reverse;
    }
    footer dl {
        margin-bottom: 3.75em;
    }
    .stroke {
        width: 1px;
        margin-bottom: 3.3rem;
    }
    .main .sec03 .img img {
        content: url('../images/main/sec03_img_m.png');
        width: 50%;
        height: auto;
    }
    html[lang="en"] .main .sec03 .img img {
        content: url('../images/main/sec03_img_m_eng.png');
    }
    .write__zone .write__row.col {
        flex-direction: column;
        gap: unset;
    }
    .write__zone .write__row.col.col2 .write__sline {
        width: 100%;
    }
    .write__zone .write__row.col.col2 .write__sline:last-of-type {
        border-top: 1px solid var(--color-bd);
    }
    .view {
        padding: 0;
    }
    .view h3 {
        font-size: clamp(18px,3.56vw,28px);
    }
    .agree + .checkbox {
        font-size: clamp(16px,2.29vw,18px);
    }
    .c-menu {
        /*margin-bottom: unset;*/
    }
    .btn--larg {
        height: unset;
        white-space: nowrap;
    }
    .table-wrap table tr {
        height: 50px;
    }
    .accordion .accordion__row .accordion__q p {
        padding-right: 10px;
        line-height: 1.3;
    }
    .accordion .accordion__row .accordion__q,
    .accordion .accordion__row.on .accordion__q {
        background-position: center right;
        background-size: 32px;
    }
}
@media screen and (max-width: 500px){
    header.main-header .mx1650 > div {
        width: auto;
    }
    header.main-header .mx1650 > div .btn-wrap {
        margin-right: 2.4vw;
    }
    .main .sec01 dl.intro {
        height: auto;
        top: 40px;
        padding-top: 60px;
    }
    .main .sec01 .main-header.show-nav ~ dl.intro{
        /*padding-top: 0;*/
    }
    
    .main .sec01 {
        background-position: left 30% center;
    }
    .main .sec01 dl.intro dt,
    .main .sec01 dl.intro dd,
    .main .sec02 .bissness p,
    .main .sec02 .partner p {
        word-break: keep-all;,
    }
    .main .sec01 dl.intro dt br{
        display: none;
    }
    .main .sec01 dl.intro dd br {
        display: none;
    }
    .main .sec02 .bissness p br {
        display: none;
    }
    .main .sec02 .partner p br {
        display: none;
    }
    .main .sec02 .bissness .info .info__item .info__txt dd {
        word-break: keep-all;
    }
    .main .sec02 .bissness .info .info__item .info__txt dd br {
        display: none;
    }
    .wrapper.sub:not(.login,.companyIntro) {
    }
    .btn--regular {
        padding: 2vw 4vw;
    }
    .search-f {
        margin-bottom: 3.8vw;
    }
    .search-f .search-f__wrap > *,
    .btn--regular {
        height: 45px;
    }
    .main .sec02 .bissness p {
        word-break: keep-all;
    }
    .content .title_bg {
        height: 200px;
    }
    .wrapper.sub:not(.login,.service,.companyIntro,.portfolio){
        padding:  80px clamp(10px,2.5rem,40px) 80px;
    }
}


@media screen and (max-width: 360px){
    .main .sec02 .character .character__txt dl dt {
        line-height: 1.2;
    }
    .main .sec02 .character .character__txt dl dt br {
        display: block;
    }

}
