/* sub 공통 */
footer .mainNotice { display: none; }

.subTop > .topMenu {
    position: relative;
    box-shadow: 0 0 20px rgba(0,0,0,0.07);
    padding-top: 30px;
    padding-bottom: 30px;
    z-index: 10;
}

.subCon {
    position: relative;
    display: flex;
    flex-flow: column;
    width: 100%;
    align-items: center;
    padding: 70px 0 0px;
    background: linear-gradient(180deg, #FFFBF5 150px, transparent calc(100% - 150px));
}

.subCon > .title {
    display: flex;
    flex-flow: column;
    width: 1400px;
    max-width: 100%;
    text-align: center;    
    margin-bottom: 100px;
}

.subCon > .title > h2 {
    font-size: 35px;
    letter-spacing: -1px;
    color: #222;
    font-family: 'Roboto','SCoreDream', sans-serif;
    font-weight: 700;
}

.subCon > .title > span {
    font-size: 22px;
    letter-spacing: -1px;
    color: #222;
    font-family: 'Roboto','SCoreDream', sans-serif;
    font-weight: 300;
    margin-top: 5px;
}

.subCon > .contents {
    position: relative;
    display: block;
    width: 100%;
    margin: 0;
    padding: 0;
}

@media (max-width: 1200px){
    .subTop > .topMenu {
        padding-top: 25px;
        padding-bottom: 25px;
    }

    .subCon {
        padding-top: 50px;
    }

    .subCon > .title {
        margin-bottom: 50px;
    }

    .subCon > .title > h2 {
        font-size: 30px;
        line-height: 35px;
    }

    .subCon > .title > span {
        font-size: 20px;
    }
}

@media (max-width: 1024px){
    .subTop > .topMenu {
        padding-top: 18px;
        padding-bottom: 18px;
    }
}

@media (max-width: 767px){
    .subCon {
        padding-top: 35px;
    }

    .subCon > .title {
        margin-bottom: 30px;
    }
    
    .subCon > .title > h2 {
        font-size: 26px;
        line-height: 30px;
    }

    .subCon > .title > span {
        font-size: 18px;
    }
}

@media (max-width: 500px){
    .subTop > .topMenu {
        padding-top: 0px;
        padding-bottom: 0px;
    }
}


/* 연구소 소개 */
.introCon {
    position: relative;    
}

.introCon > .contents {
    display: flex;
    flex-flow: column;
    align-items: center;  
}

.introCon .section {
    margin: 0px;
    padding: 0px;
}

.introCon .greetings {
    display: flex;
    flex-flow: row nowrap;
    justify-content: space-between;
    width: 1400px;
    max-width: 100%;
    gap: 100px;
    padding-bottom: 100px;
}

.introCon .greetings > .img {
    flex: 0 0 auto;
    width: 480px;
    max-width: 100%;
    aspect-ratio: 1 / 1.25;
    transition: 0.3s;
}

.introCon .greetings > .img > img {
    display: block;
    width: 100%;    
}

.introCon .greetings > .txt {
    display: flex;
    flex-flow: column;
    gap: 40px;
}

.introCon .greetings > .txt > div {
    font-size: 18px;
    font-weight: 400;
    line-height: 30px;
    word-break: break-all;
    text-align: justify;
}

.introCon .greetings > .txt > div span {
    font-weight: 600;
}

.introCon .greetings > .txt > div > p:not(:last-child) {
    margin-bottom: 12px;
}

.introCon .greetings > .txt > div > p {
    font-size: 18px;
    font-weight: 400;
    line-height: 30px;
    word-break: break-all;
    text-align: justify;
}

.introCon .greetings > .txt > .preface {
    display: flex;
    flex-flow: column;
}

.introCon .greetings > .txt > .preface > span {
    font-size: 23px;    
    font-weight: 600;
    letter-spacing: -0.7px;
    line-height: 35px;
}

.introCon .greetings > .txt > .finish {
    color: #6E5801;
}

.introCon .greetings > .txt > .sign {
	text-align: right;
	font-size: 20px;
}

.introCon .vision {
    position: relative; 
    display: flex;
    flex-flow: column;
    background: #F9F7EF;  
    width: 100%;     
    padding: 90px 0 0;
    align-items: center;
}

.introCon .vision > h3 {
    width: 100%;
    max-width: 1400px;
    font-size: 30px;
    line-height: 45px;
    letter-spacing: -0.7px;
    font-weight: 800;
    margin-bottom: 55px;
}

.introCon .vision > .vp_con {
    display: flex;
    flex-flow: column;
    align-items: center;
    width: 1400px;
    max-width: 100%;
}

.introCon .vision > .vp_con > .tit_v {
    position: relative;
    font-size: 25px;
    font-weight: 600;
    color: #FFF;
    background: #9F7709;
    border-radius: 80px;
    padding: 40px 90px;
}

.introCon .vision > .vp_con > .tit_p {
    position: relative;
    font-size: 25px;
    font-weight: 600;
    padding: 75px 0;
}

.introCon .vision > .vp_con > .tit_p::before,
.introCon .vision > .vp_con > .tit_p::after {  
    position: absolute;
    content: '';
    width: 1px;
    height: 65px;
    background: #000;
    left: 50%;
    transform: translateX(-1px);
}

.introCon .vision > .vp_con > .tit_p::before { top: 0px; }
.introCon .vision > .vp_con > .tit_p::after { bottom: 0px; }

.introCon .vision > .vp_con > .txt_p {
    position: relative;
    border-top: 1px solid #000;
    width: 100%;
    padding: 50px 0 20px;
}

.introCon .vision > .vp_con > .txt_p > ul {
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
}

.introCon .vision > .vp_con > .txt_p > ul li {
    width: 20%;
    padding: 0 35px;
    text-align: center;
    word-break: keep-all;
    font-size: 18px;
    font-weight: 400;
    letter-spacing: -0.7px;
}

.introCon .vision > .marquee {     
    overflow: hidden; 
    position: relative; 
    max-width: 100%; 
    width: 100%; 
    height: 180px;      
    pointer-events: none; 
    z-index: 1; 
}
.introCon .vision > .marquee .track { 
    position: absolute; 
    white-space: nowrap; 
    will-change: transform; 
    animation: marquee 32s linear infinite; 
    font-size: 150px; 
    color: #F3F0E3; 
    font-weight: 800;
}

@keyframes marquee {
    from { transform: translateX(0); }
    to { transform: translateX(-50%); }
}

.introCon .history {
    position: relative; 
    display: flex;
    flex-flow: column;
    width: 100%; 
    padding: 90px 0 150px;
    align-items: center;
}

.introCon .history > h3 {
    width: 100%;
    max-width: 1400px;
    font-size: 30px;
    line-height: 45px;
    letter-spacing: -0.7px;
    font-weight: 800;
    margin-bottom: 50px;
}

.introCon .history > .historyCon {
    position: relative;
    display: flex;
    flex-flow: column;    
    width: 100%;
    max-width: 1400px;
}

.introCon .history > .historyCon::before {
    position: absolute;
    content: '';
    width: 10px;
    height: 100%;
    background: #EBEBEB;    
    top: 0px;
    left: 200px;
    z-index: 0;
    border-radius: 10px;
}

.introCon .history > .historyCon > .yearBox {
    display: flex;
    flex-flow: row nowrap;    
    justify-content: space-between;
}

.introCon .history > .historyCon > .yearBox > h4 {
    font-family: "Roboto","Noto Sans KR", sans-serif;
    font-size: 50px;
    line-height: 50px;
    font-weight: 800;
    color: #003288;
    letter-spacing: -1px;
}

.introCon .history > .historyCon > .yearBox > div {
    position: relative;
    display: flex;
    flex-flow: column;
    width: calc(100% - 200px);
    gap: 30px;
    padding-bottom: 100px;
}

.introCon .history > .historyCon > .yearBox:last-child > div {
    padding-bottom: 0px;
}

.introCon .history > .historyCon > .yearBox > div > .list {
    position: relative;
    display: flex;
    gap: 50px;
    align-items: center;    
}

.introCon .history > .historyCon > .yearBox > div > .list > .month {
    position: relative;
    font-family: "Roboto","Noto Sans KR", sans-serif;
    font-size: 30px;
    font-weight: 700;
    letter-spacing: -1px;
    padding-left: 100px;
}

.introCon .history > .historyCon > .yearBox > div > .list > .month::after {
    position: absolute;
    content: '';
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #FFF;
    top: 18px;
    left: 2px;
    z-index: 1;
    transition: 0.3s;
}

.introCon .history > .historyCon > .yearBox > div > .list:hover > .month::after {
    background: #FF6F00;
}

.introCon .history > .historyCon > .yearBox > div > .list > .con {
    font-family: "Roboto","Noto Sans KR", sans-serif;
    font-size: 23px;
    font-weight: 300;
    letter-spacing: -1px;
}

.introCon .map {
    display: flex;
    flex-flow: row wrap;
    background: #F9F7EF;
    width: 100%;
}

.introCon .map > .mapImg {
    width: 1050px;
    max-width: 100%;
    transition: 0.3s;
}

.introCon .map > .mapImg > .root_daum_roughmap_landing {
    width: 100% !important;
}

.introCon .map > .mapImg > .root_daum_roughmap .wrap_map {
    height: 550px !important;
    transition: 0.3s;
}

.root_daum_roughmap .wrap_controllers {
    display: none;
}

.root_daum_roughmap .border1,
.root_daum_roughmap .border2,
.root_daum_roughmap .border3,
.root_daum_roughmap .border4 {
    border: 0px !important;
    background: transparent;
}

.introCon .map > .mapTxt {
    width: calc(100% - 1050px);   
    padding: 50px;
    display: flex;
    flex-flow: column;
    gap: 20px;
    transition: 0.3s;
}

.introCon .map > .mapTxt > h3 {
    font-size: 25px;
    font-weight: 700;
    line-height: 30px;
}

.introCon .map > .mapTxt > div {
    display: flex;
    flex-flow: column;
    align-items: flex-start;
}

.introCon .map > .mapTxt > div > h4 {
    display: inline-flex;
    background: #FFF;
    border: 1px solid #b0a887;
    border-radius: 30px;
    padding: 5px 20px;
    font-weight: 400;
    font-size: 16px;
    line-height: 23px;
    width: auto;
    justify-content: center;
    align-items: center;
}

.introCon .map > .mapTxt > div > ul {
    display: flex;
    flex-flow: column;
    gap: 7px;
    margin: 10px 10px;
}

.introCon .map > .mapTxt > div > ul:not(:last-child) {
    margin-bottom: 25px;
}

.introCon .map > .mapTxt > div > ul > li {
    position: relative;
    font-size: 16px;
    padding-left: 10px;
    line-height: 22px;
}

.introCon .map > .mapTxt > div > ul > li::after {
    position: absolute;
    content: '';
    width: 3px;
    height: 3px;
    border-radius: 50%;
    background: #003288;
    top: 8px;
    left: 0px;
}

/* 연구활동 및 사업 */
.businessCon .books {
    position: relative; 
    display: flex;
    flex-flow: column;
    width: 100%;     
    padding: 0 0 150px;
    align-items: center;
}
.businessCon .books > .vp_con {
	display: flex;
    flex-flow: row wrap;
    width: 1400px;
    max-width: 100%;
	gap: 100px 50px;
}

.businessCon .books > .vp_con > .book_box {
	display: flex;
	flex-flow: column;
	width: calc(20% - 40px);
	gap: 10px;
	align-self: stretch;
    justify-content: space-between;
}

.book_box .b_img {
	position: relative;
	display: block;
	max-height: 320px;
	overflow: hidden;
	border-radius: 0;
	border: 1px solid rgba(0,0,0,0.15);
	border-bottom: 0px solid #999;
	z-index: 0;
}

.book_box .b_img::before {
	position: absolute;
    content: '';
    width: 100%;
    height: 3px;
    bottom: 0px;
    left: 0px;
    background: #bebebe;
    z-index: 1;
}

.book_box .b_img::after {
	position: absolute;
    content: '';
    width: 40%;
    height: 3px;
    bottom: 0px;
    left: 0px;
    background: #003288;
    z-index: 1;
}

.book_box .b_img > img {
	display: block;
	width: 100%;
}

.book_box .c_title {
	font-size: 18px;
	font-weight: 600;
	letter-spacing:  -1px;
	line-height: 1.3;
	word-break: keep-all;
	margin-top: 15px;
}

.book_box .b_info {
	display: flex;
	flex-flow: column;
	margin-top: 10px;
	z-index: 2;
	padding: 0px;
}

.book_box .b_info > .c_info {
	display: flex;
	flex-flow: row nowrap;
	margin: 0px;
	padding: 5px 0px;
	font-size: 16px;
	width: 100%;
	align-items: center;	
	border-bottom: 1px dashed #d7d1ca;
	letter-spacing: -1px;
	line-height: 1.2;
}


.book_box .b_info > .c_info > dt {
	width: 80px;
	color: #857563;
}

.book_box .b_info > .c_info > dd {
	width: calc(100% - 80px);
	font-weight: 500;
	word-break: keep-all;
}


/* 240723-설립목적 */
.introCon .purpose {
    position: relative; 
    display: flex;
    flex-flow: column;
    background: #FFF;  
    width: 100%;     
    padding: 90px 0 130px;
    align-items: center;
}

.introCon .purpose > h3 {
    width: 100%;
    max-width: 1400px;
    font-size: 30px;
    line-height: 45px;
    letter-spacing: -0.7px;
    font-weight: 800;
    margin-bottom: 15px;
}

.introCon .purpose > .txt01 {
    width: 100%;
    max-width: 1400px;
    font-size: 18px;
    line-height: 27px;
    letter-spacing: -0.7px;
    font-weight: 500;
	margin-bottom: 25px;
}

.introCon .purpose > .txt02 {
    display: flex;
    flex-flow: column;
    width: 1400px;
    max-width: 100%;
	word-break: keep-all;
    font-size: 18px;
    font-weight: 400;
    letter-spacing: -0.7px;
	gap: 15px;
}

.introCon .purpose > .txt02 > ul {
	 display: flex;
    flex-flow: row nowrap;
	gap: 40px;
}

.introCon .purpose > .txt02 > ul > li {
	position: relative;
    width: calc(25% - 30px);
    padding-top: 30px;
	display: flex;
    flex-flow: row;
}

.introCon .purpose > .txt02 .txt_box {
	width: 100%;
	border-top: 2px solid #003288;
	border-bottom: 1px solid #d6d6d6;
	padding: 10px 10px 20px;
}

.introCon .purpose > .txt02 .txt_box > span {
	display: flex;
    justify-content: center;
    align-items: center;
    background: #ffffff;
    border: 2px solid #003288;
    color: #003288;
    font-size: 18px;
    font-weight: 600;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    margin: -32px auto 0;
}

.introCon .purpose > .txt02 .txt_box > div {
	display: flex;
	flex-flow: column;
	margin-top: 10px;
}

.introCon .purpose > .txt02 .txt_box > div > h4 {
    font-weight: 600;
    color: #003288;
    margin-bottom: 15px;
    text-align: center;
}

.introCon .purpose > .txt02 .txt_box > div > p {
	font-size: 16px;
	line-height: 24px;
	word-break: break-all;
	text-align: justify;
}


/* 240723-조직도 */
.introCon .organization {
    position: relative; 
    display: flex;
    flex-flow: column;
    background: linear-gradient(0deg, transparent, #f3f0e3);  
    width: 100%;     
    padding: 90px 0 30px;
    align-items: center;
}

.introCon .organization > h3 {
    width: 100%;
    max-width: 1400px;
    font-size: 30px;
    line-height: 45px;
    letter-spacing: -0.7px;
    font-weight: 800;
    margin-bottom: 15px;
}

.introCon .organization > .org_con {
	display: flex;
    flex-flow: row nowrap;
    width: 100%;
    max-width: 1440px;
    justify-content: space-between;
}

.introCon .organization .org_diagram,
.introCon .organization .org_list {
	width: calc(50% - 40px);
	display: flex;
    flex-flow: column;
    align-items: flex-start;
}

.introCon .organization .org_diagram > div {
    position: relative;
	display: flex;
    flex-flow: column;
    gap: 30px;
    align-items: center;
    width: 100%;
}

.introCon .organization .org_diagram > div::after {
	position: absolute;
	content: '';
	width: 1px;
	height: 120px;
	border-left: 1px dashed #cbafaf;
	top: 70px;
	left: 50%;
	transform: translateX(-1px);
}

.introCon .organization .org_diagram .org01 {
    position: relative;
	display: flex;
    font-size: 20px;
    font-weight: 500;
	background: #97661e;
    color: #FFF;
    width: 150px;
    height: 70px;
    border-radius: 70px;
    justify-content: center;
    align-items: center;
}

.introCon .organization .org_diagram .org02 {
    position: relative;
    display: flex;
    flex-flow: row nowrap;
    width: 100%;
    justify-content: end;	
}

.introCon .organization .org_diagram .org02::after {
	position: absolute;
	content: '';
	width: calc(50% - 30px);
	height: 1px;
	border-top: 1px dashed #cbafaf;
	top: 50%;
	right: 30px;
	transform: translateY(-1px);
	z-index: 0;
}

.introCon .organization .org_diagram .org03 {
    position: relative;
    display: flex;
    flex-flow: row nowrap;
    justify-content: space-between;
	width: 100%;
	padding-top: 30px;
}

.introCon .organization .org_diagram .org03::after {
	position: absolute;
	content: '';
	width: 60%;
	height: 1px;
	border-top: 1px dashed #cbafaf;
	top: 0px;
	left: 50%;
	transform: translateX(-50%);
}

.introCon .organization .org_diagram .left,
.introCon .organization .org_diagram .right {
    position: relative;
    display: flex;
    flex-flow: column;
	width: 40%;
	text-align: center;
    word-break: keep-all;
	font-size: 18px;
	font-weight: 500;
	line-height: 1.4;
	z-index: 1;
}

.introCon .organization .org_diagram .org02 .right {
    background: #FFF;
    border: 1px solid #c5c5c5;
    border-radius: 70px;
    margin: 0 30px;
    width: calc(35% - 30px);
    height: 60px;
    justify-content: center;
    color: #222;
}

.introCon .organization .org_diagram .org03 .left,
.introCon .organization .org_diagram .org03 .right {
	background: #eff3f9;
    border: 1px solid #dbe8ef;
    border-radius: 7px;
}

.introCon .organization .org_diagram .org03 .left::after,
.introCon .organization .org_diagram .org03 .right::after {
	position: absolute;
	content: '';
	width: 1px;
	height: 30px;
	border-left: 1px dashed #cbafaf;
	top: -30px;
	left: 50%;
	transform: translateX(-1px);
}

.introCon .organization .org_diagram .org03 h3 {
	font-size: 18px;
    padding: 15px 0;
    background: #1578b2;
    border-radius: 6px 6px 0 0;
    color: #FFF;
}

.introCon .organization .org_diagram .org03 p {
	font-size: 16px;
	padding: 20px;
}

.introCon .organization .org_list > h3 {
	display: inline-block;
	background: #97661e;
    padding: 7px 15px;
    font-size: 15px;
    font-weight: 500;
    border-radius: 13px 13px 0 0;
    color: #FFF;
    overflow: hidden;
	margin: 0px;
}

.introCon .organization .org_list table {
	border-top: 2px solid #434343;
	margin: 0px;
}

.introCon .organization .org_list table thead th {
	border-bottom: 1px solid #434343;
	padding: 7px 0;
	font-size: 17px;
	font-weight: 600;
}

.introCon .organization .org_list table tbody th,
.introCon .organization .org_list table tbody td {
	border-bottom: 1px solid #e5e5e5;
	padding: 7px 0;
	font-size: 17px;
	font-weight: 400;
	text-align: center;
}

.introCon .organization .org_list table tbody td {
    border-left: 1px solid #e5e5e5;
}

@media (max-width: 1420px){
    .introCon .greetings,
	.introCon .purpose > h3,
    .introCon .purpose > .txt01,
	.introCon .purpose > .txt02,
    .introCon .vision > h3,
    .introCon .vision > .vp_con,
	.introCon .organization > h3,
    .introCon .organization > .org_con,
    .introCon .history,
	.businessCon .books {
        padding-left: 30px;
        padding-right: 30px;
    }

    .introCon .map > .mapImg {
        width: 60%;
    }

    .introCon .map > .mapTxt {
        width: 40%;
        padding: 40px;
    }

	.introCon .purpose > .txt02 > ul {
		gap: 32px;
	}

	.introCon .purpose > .txt02 > ul > li {
		width: calc(25% - 24px);
	}
}

@media (max-width: 1280px){
    .introCon .greetings {
        gap: 70px;
    }

    .introCon .greetings > .img {
        width: 35%;
    }

	.introCon .organization .org_diagram, 
	.introCon .organization .org_list {
		width: calc(50% - 30px);
	}

	.introCon .organization .org_diagram .left, 
	.introCon .organization .org_diagram .right {
		width: 47%;
	}

	.introCon .organization .org_diagram .org03::after {
		width: 53%;
	}
    
}

@media (max-width: 1200px){
    .introCon .greetings,
	.introCon .purpose > h3,
    .introCon .purpose > .txt01,
	.introCon .purpose > .txt02,
    .introCon .vision > h3,
    .introCon .vision > .vp_con,
	.introCon .organization > h3,
    .introCon .organization > .org_con,
    .introCon .history,
	.businessCon .books {
        padding-left: 25px;
        padding-right: 25px;
    }

    .introCon .greetings > .txt > div,
    .introCon .greetings > .txt > div > p {
        font-size: 17px;
        line-height: 28px;
    }

    .introCon .greetings > .txt > .preface > span {
        font-size: 21px;
        line-height: 30px;
    }

    .introCon .map > .mapImg {
        width: 100%;
    }

    .introCon .map > .mapImg > .root_daum_roughmap .wrap_map {
        height: 380px !important;
    }

    .introCon .map > .mapTxt {
        width: 100%;
        padding: 30px;
    }

	.businessCon .books > .vp_con {
		gap: 70px 40px;
	}

	.businessCon .books > .vp_con > .book_box {
		width: calc(25% - 30px);
	}

	.book_box .b_img {
		max-height: 300px;
	}
}

@media (max-width: 1024px){
    .introCon .greetings, 
	.introCon .purpose > h3,
    .introCon .purpose > .txt01,
	.introCon .purpose > .txt02,
    .introCon .vision > h3, 
    .introCon .vision > .vp_con, 
	.introCon .organization > h3,
    .introCon .organization > .org_con,
	.introCon .history,
	.businessCon .books {
        padding-left: 20px;
        padding-right: 20px;
    }

    .introCon .greetings {
        gap: 40px;
    }

    .introCon .greetings > .txt > .preface {
        display: inline;
    }

    .introCon .greetings > .txt > .preface > span {
        font-size: 20px;
        line-height: 27px;
    }

    .introCon .greetings > .txt {
        gap: 20px;
    }

    .introCon .greetings > .txt > div, 
    .introCon .greetings > .txt > div > p {
        line-height: 26px;
    }

    .introCon .vision,
	.introCon .purpose,
    .introCon .history,
	.introCon .organization {
        padding-top: 50px;
    }

    .introCon .history,
	.businessCon .books {
        padding-bottom: 100px;
    }

	.introCon .purpose {
		padding-bottom: 70px;
	}

    .introCon .vision > h3,
	.introCon .purpose > h3,
	.introCon .organization > h3,
    .introCon .history > h3 {
        font-size: 25px;
        line-height: 35px;
    }

    .introCon .vision > h3 {
        margin-bottom: 35px;
    }

    .introCon .history > h3 {
        margin-bottom: 25px;
    }

    .introCon .vision > .vp_con > .tit_v {
        font-size: 20px;
        padding: 35px 70px;
    }

    .introCon .vision > .vp_con > .tit_p {
        font-size: 20px;
        padding: 50px 0;
    }

    .introCon .vision > .vp_con > .tit_p::before, 
    .introCon .vision > .vp_con > .tit_p::after {
        height: 40px;
    }

    .introCon .vision > .vp_con > .txt_p {
        padding: 30px 0 0px;
    }

    .introCon .vision > .vp_con > .txt_p > ul li {
        padding: 0 18px;
        font-size: 17px;
    }

    .introCon .vision > .marquee {
        height: 150px;
    }

    .introCon .vision > .marquee .track {
        font-size: 130px;
        line-height: 160px;
    }

    .introCon .history > .historyCon > .yearBox > h4 {
        font-size: 40px;
        line-height: 40px;
    }

    .introCon .history > .historyCon::before {
        left: 120px;
    }

    .introCon .history > .historyCon > .yearBox > div {
        width: calc(100% - 120px);
        gap: 25px;
        padding-bottom: 50px;
        padding-top: 5px;
    }

    .introCon .history > .historyCon > .yearBox > div > .list {
        gap: 25px;
        align-items: flex-start;
    }

    .introCon .history > .historyCon > .yearBox > div > .list > .month {
        font-size: 25px;
        padding-left: 35px;
        line-height: 25px;
    }

    .introCon .history > .historyCon > .yearBox > div > .list > .month::after {
        top: 9px;
    }

    .introCon .history > .historyCon > .yearBox > div > .list > .con {
        font-size: 20px;
        line-height: 25px;
    }

	.introCon .purpose > .txt01 {
		font-size: 17px;
		line-height: 25px;
		margin-bottom: 20px;
	}

	.introCon .purpose > .txt02 {
		font-size: 17px;
		gap: 10px;
	}

	.introCon .organization .org_diagram, 
	.introCon .organization .org_list {
        width: calc(50% - 15px);
    }

	.introCon .organization .org_diagram > div::after {
		height: 110px;
		top: 60px;
	}

	.introCon .organization .org_diagram .org01 {
		font-size: 18px;
		height: 60px;
	}

	.introCon .organization .org_diagram .left, 
	.introCon .organization .org_diagram .right {
		font-size: 17px;
	}

	.introCon .organization .org_diagram .org02 .right {
		margin: 0 20px;
		width: calc(35% - 20px);
		height: 50px;
	}

	.introCon .organization .org_diagram .org03 h3 {
		font-size: 16px;
		padding: 10px 0;
	}

	.introCon .organization .org_diagram .org03 p {
		padding: 10px;
	}
}

@media (max-width: 1000px){
	.introCon .purpose > .txt02 > ul {
		flex-flow: row wrap;
		gap: 10px 20px;
	}	

	.introCon .purpose > .txt02 > ul > li {
        width: calc(50% - 10px);
    }

	.introCon .organization > .org_con {
		flex-flow: column;
		gap: 30px;
	}

	.introCon .organization .org_diagram, 
	.introCon .organization .org_list {
        width: 100%;
    }

	.introCon .organization .org_list table thead th {
		padding: 5px 0;
		font-size: 16px;
	}

	.introCon .organization .org_list table tbody th, 
	.introCon .organization .org_list table tbody td {
		padding: 6px;
		font-size: 16px;
		line-height: 1.2;
        word-break: keep-all;
	}	

	.businessCon .books > .vp_con {
        gap: 50px 32px;
    }

	.businessCon .books > .vp_con > .book_box {
        width: calc(25% - 24px);
    }

	.book_box .b_img {
        max-height: 250px;
    }

	.book_box .c_title {
		font-size: 17px;
		line-height: 1.2;
		margin-top: 10px;
		word-break: break-all;
	}

	.book_box .b_info > .c_info > dt {
		width: 65px;
		font-size: 15px;
	}

	.book_box .b_info > .c_info > dd {
		width: calc(100% - 65px);
	}
	
}

@media (max-width: 768px){
	.businessCon .books > .vp_con {
        gap: 50px 30px;
    }

	.businessCon .books > .vp_con > .book_box {
        width: calc(33.3334% - 20px);
    }

	.book_box .b_img {
        max-height: none;
		height: auto;
		aspect-ratio: 1 / 1.5;
    }

	.book_box .b_img > img {
		width: 100%;
		height: 100%;
	}

	.book_box .b_info > .c_info > dd {
		word-break: break-all;
	}

	.book_box .b_info > .c_info {
		font-size: 15px;
	}

}

@media (max-width: 767px){
    .introCon .greetings {
        flex-flow: column;
        padding-bottom: 60px;
    }

    .introCon .greetings > .txt > .preface > span {
        font-size: 20px;
        line-height: 27px;
    }

    .introCon .greetings > .img {
        width: 480px;
        max-width: 70%;
        margin: 0 auto;
    }    

    .introCon .vision > .vp_con > .tit_v {
        font-size: 18px;
        padding: 25px 60px; 
    }

    .introCon .vision > .vp_con > .tit_p {
        font-size: 18px;
        padding: 35px 0;         
    }

    .introCon .vision > .vp_con > div {
        text-align: center;
        word-break: keep-all;
    }

    .introCon .vision > .vp_con > .tit_p::before, 
    .introCon .vision > .vp_con > .tit_p::after {
        height: 27px;
    }

    .introCon .vision > .vp_con > .txt_p {
        padding: 0px;
    }

    .introCon .vision > .vp_con > .txt_p > ul {
        flex-flow: column;
    }

    .introCon .vision > .vp_con > .txt_p > ul li {
        width: 100%;
        padding: 10px 0;
        border-bottom: 1px solid #e7e1c7;
    }

    .introCon .vision > .marquee {
        height: 120px;
    }

    .introCon .vision > .marquee .track {
        font-size: 110px;
        line-height: 130px;
    }

    .introCon .history,
	.businessCon .books {
        padding-bottom: 60px;
    }

    .introCon .history > .historyCon {
        gap: 30px;
    }

    .introCon .history > .historyCon::before {
        display: none;
    }

    .introCon .history > .historyCon > .yearBox {
        flex-flow: column;
        gap: 13px;
    }

    .introCon .history > .historyCon > .yearBox > h4 {
        font-size: 30px;
        line-height: 30px;
    }

    .introCon .history > .historyCon > .yearBox > div {
        padding-bottom: 5px;
        width: 100%;
    }

    .introCon .history > .historyCon > .yearBox > div::before {
        position: absolute;
        content: '';
        width: 8px;
        height: 100%;
        background: #EBEBEB;
        top: 0px;
        left: 0px;
        z-index: 0;
        border-radius: 10px;
    }

    .introCon .history > .historyCon > .yearBox > div > .list {
        gap: 15px;
    }

    .introCon .history > .historyCon > .yearBox > div > .list > .month {
        font-size: 22px;
        padding-left: 25px;
        line-height: 22px;
    }

    .introCon .history > .historyCon > .yearBox > div > .list > .month::after {
        width: 4px;
        height: 4px;
    }

    .introCon .history > .historyCon > .yearBox > div > .list > .con {
        font-size: 18px;
        line-height: 22px;
        font-weight: 400;
    }    

    .introCon .map > .mapTxt > h3 {
        font-size: 22px;
        line-height: 27px;
    }

    .introCon .map > .mapTxt > div > h4 {
        padding: 3px 15px;
    }

}

@media (max-width: 500px){
    .introCon .greetings, 
	.introCon .purpose > h3,
    .introCon .purpose > .txt01,
	.introCon .purpose > .txt02,
    .introCon .vision > h3, 
    .introCon .vision > .vp_con, 
	.introCon .organization > h3,
    .introCon .organization > .org_con,
    .introCon .history,
	.businessCon .books {
        padding-left: 15px;
        padding-right: 15px;
    }

    .introCon .greetings > .txt {
        gap: 15px;
    }

    .introCon .greetings > .txt > .preface > span {
        font-size: 18px;
        line-height: 24px;
    }

    .introCon .greetings > .txt > div, 
    .introCon .greetings > .txt > div > p {
        line-height: 23px;
        font-size: 16px;
    }

    .introCon .greetings > .txt > div > p:not(:last-child) {
        margin-bottom: 0px;
    }

    .introCon .vision, 
    .introCon .history,
	.introCon .organization {
        padding-top: 35px;
    }

    .introCon .vision > h3, 
    .introCon .history > h3,
	.introCon .organization > h3 {
        font-size: 23px;
        line-height: 30px;
    }

    .introCon .vision > h3 {
        margin-bottom: 25px;
    }

    .introCon .vision > .vp_con > .tit_v {
        font-size: 17px;
        padding: 18px 10px;
        width: 100%;
        text-align: center;
        border-radius: 10px;
    }

    .introCon .vision > .vp_con > .tit_p {
        font-size: 17px;
        padding: 25px 0;
    }

    .introCon .vision > .vp_con > .tit_p::before, 
    .introCon .vision > .vp_con > .tit_p::after {
        height: 20px;
    }

    .introCon .vision > .vp_con > .txt_p > ul li {
        font-size: 16px;
        padding: 7px 0;
    }

    .introCon .vision > .marquee {
        height: 100px;
    }

    .introCon .vision > .marquee .track {
        font-size: 100px;
        line-height: 105px;
    }

    .introCon .history > .historyCon > .yearBox > h4 {
        font-size: 25px;
    }

    .introCon .history > .historyCon > .yearBox > div {
        gap: 15px;
    }

    .introCon .history > .historyCon > .yearBox > div > .list > .month {
        font-size: 20px;
        padding-left: 20px;
        line-height: 20px;
    }

    .introCon .history > .historyCon > .yearBox > div > .list > .con {
        font-size: 16px;
        line-height: 20px;        
    }

	.introCon .purpose > .txt02 > ul {
        gap: 10px;
    }

	.introCon .purpose > .txt02 > ul > li {
        width: 100%;
    }

	.introCon .organization .org_diagram > div {
		gap: 15px;
	}

	.introCon .organization .org_diagram > div::after {
        height: 67px;
        top: 50px;
    }

	.introCon .organization .org_diagram .org01 {
        font-size: 17px;
        height: 50px;
		width: 50%;
    }

	.introCon .organization .org_diagram .org02 .right {
        margin: 0px;
        width: 35%;
        height: 37px;
    }

	.introCon .organization .org_diagram .left, 
	.introCon .organization .org_diagram .right {
        font-size: 16px;
		width: 48%;
    }

	.introCon .organization .org_diagram .org03 {
		padding-top: 15px;
	}

	.introCon .organization .org_diagram .org03 .left::after, 
	.introCon .organization .org_diagram .org03 .right::after {
		height: 15px;
		top: -15px;
	}

	.introCon .organization .org_diagram .org03 h3 {
        padding: 7px 0 5px;
    }

	.introCon .organization .org_diagram .org03 p {
        padding: 7px;
		font-size: 15px;
		line-height: 1.2;
    }

	.introCon .organization .org_diagram .org03::after {
        width: 52%;
    }

	.businessCon .books > .vp_con {
        gap: 30px 20px;
    }

	.businessCon .books > .vp_con > .book_box {
        width: calc(50% - 10px);
		gap: 5px;
    }

	.book_box .b_img {
		aspect-ratio: 1 / 1.3;
    }

	.book_box .c_title {
        font-size: 16px;
    }

	.book_box .b_info {
		margin-top: 0px;
	}

	.book_box .b_info > .c_info {
		flex-flow: column;
		align-items: flex-start;
	}
}

@media (max-width: 424px){
    .introCon .map > .mapTxt {
        padding: 25px 20px;
    }

    .introCon .map > .mapImg > .root_daum_roughmap .wrap_map {
        height: 270px !important;
    }
}

@media (max-width: 370px){
	.businessCon .books > .vp_con {
        gap: 30px;
    }

	.businessCon .books > .vp_con > .book_box {
        width: 100%;
        gap: 5px;
    }
}