@charset "UTF-8";


@font-face {
	font-family: 'Pretendard';
	font-style: normal;
	font-weight: 100; /* Thin */
	src: url('/fonts/Pretendard-Thin.woff') format('opentype');
}

@font-face {
	font-family: 'Pretendard';
	font-style: normal;
	font-weight: 200; /* ExtraLight */
	src: url('/fonts/Pretendard-ExtraLight.woff') format('opentype');
}

@font-face {
	font-family: 'Pretendard';
	font-style: normal;
	font-weight: 300; /* Light */
	src: url('/fonts/Pretendard-Light.woff') format('opentype');
}

@font-face {
	font-family: 'Pretendard';
	font-style: normal;
	font-weight: 400; /* Regular */
	src: url('/fonts/Pretendard-Regular.woff') format('opentype');
}

@font-face {
	font-family: 'Pretendard';
	font-style: normal;
	font-weight: 500; /* Medium */
	src: url('/fonts/Pretendard-Medium.woff') format('opentype');
}

@font-face {
	font-family: 'Pretendard';
	font-style: normal;
	font-weight: 600; /* SemiBold */
	src: url('/fonts/Pretendard-SemiBold.woff') format('opentype');
}

@font-face {
	font-family: 'Pretendard';
	font-style: normal;
	font-weight: 700; /* Bold */
	src: url('/fonts/Pretendard-Bold.woff') format('opentype');
}

@font-face {
	font-family: 'Pretendard';
	font-style: normal;
	font-weight: 800; /* ExtraBold */
	src: url('/fonts/Pretendard-ExtraBold.woff') format('opentype');
}

@font-face {
	font-family: 'Pretendard';
	font-style: normal;
	font-weight: 900; /* Black */
	src: url('/fonts/Pretendard-Black.woff') format('opentype');
}

* {
	font-family: 'Pretendard';
	font-weight: 400;
	margin: 0;
	box-sizing: border-box;
		line-height: 140%;
	letter-spacing: -0.025em;
color: #505050;
		
}



body {
	width: 100%;
}


section {
	padding-left: 13rem;
	padding-right: 13rem;
}

.title700 {
	font-weight: 700;
	font-size: 2em;
	text-align: center;
}

.title700 p {
	font-size: 1rem;
}



.text-gradient-deep-blue{
    background: linear-gradient(to right bottom, #0084FF, #7CFFF8);
    -webkit-background-clip: text; /* 웹킷 기반 브라우저 (Chrome, Safari 등) */
    background-clip: text;
    -webkit-text-fill-color: transparent; /* 웹킷 기반 브라우저 */
    color: transparent; /* 일반 브라우저 (fallback) */
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    font-weight:800;
    
}




.product_num {
	position: relative;
	font-size: 23px;
	font-weight: 800;
	color: #213C7F;
	margin-top: 30px;
	margin-bottom: 0px;
}

.product_num::after {
	content: "";
	position: absolute;
	bottom: 8px;
	right: 0;
	width: calc(100% - 40px);
	height: 4px;
	background: #213C7F;
}



/* typing */
.typing-wrapper {
	/* width:100%; */
	height: 70vh;
	/*This part is important for centering*/
	display: flex;
	place-items: center;
	align-items: center;
	align-content: center;
	flex-direction: column;
	justify-content: center;
}

.typing-demo {
	width: 21ch;
	animation: typing 2s steps(30), blink .5s step-end infinite alternate;
	white-space: nowrap;
	overflow: hidden;
	border-right: 3px solid;
	font-size: 4rem;
	font-weight: 900;
	color: #ffffff;
	text-align: left;
	word-break: keep-all;
	text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5);
} 

.typing-demo-intro {
	width: 100%;
	color: white;
	text-align: left;
	letter-spacing: -0.5px;
	background-color: rgba(0, 0, 0, 0.5);
	border-radius: 10px;
	padding: 1rem;
}

@keyframes typing {
	from { width:0;}
}

@keyframes blink {
	50% {border-color: transparent;}
}
/* typing end */


/*--------------------------------------------------------------
# Global Sections
--------------------------------------------------------------*/
section, .section {
	padding: 100px 0px;
}

/* ✅ [추가] 모든 섹션의 내부 콘텐츠를 감싸는 공통 컨테이너 */
.container {
    max-width: 1400px !important; /* 최대 너비 설정 */
    margin: 0 auto;    /* 블록 요소를 수평 중앙 정렬 */
    padding: 0 20px;   /* 화면이 작아졌을 때 좌우 여백 확보 */
    width: 100%;       /* 너비를 100%로 설정하여 유연하게 대응 */
}


.main-sub-text {
	padding-top: 5rem;
	padding-left: 20rem;
	padding-right: 20rem;
}

#text, #text2 {
	font-weight: 700;
	color: #ffffff;
	text-align: left;
}

#catalog-down {
	font-weight: 600;
	font-size: 20px;
	width: 218px;
	height: 44px;
	background: #0E2C62;
	border-radius: 8px;
	color: white;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-top: 20px;
}
/* Hero Section (Image 1)  */
.hero img {
	width: 300px; /* Make the image fill the section */
	display: block;
}

.mtop5 {
	margin-top: 5rem !important;
}

.mtop10 {
	margin-top: 10rem !important;
}

.mtop15 {
	margin-top: 15rem !important;
}

#title-section {
	width: 100%;
	text-align: center;
	margin-top: 5rem;
	padding-bottom: 0;
}

/* Content Section (Image 2 and Text) */
.content-section {
	background-color: white;
	text-align: center;
	/* background-color: #F8F8F8; */
	padding-bottom: 100px;
	max-width: 1400px;
	margin: auto;
	padding: 2rem;
	border-radius: 10px;
	margin-top: 5rem;
	overflow: auto;
}
	
	.content-section.padding0{
		padding:1rem;
	}
	

.content-container {
	/* max-width: 800px; */
	margin: 0 auto;
}

.content-section .content-container .content-title {
	margin-bottom: 20px;
}

.content-section .content-container .content-sub {
	display: flex;
	padding-top: 100px;
	align-items: flex-start;
	justify-content: space-around;
	flex-direction: row;
}

.content-section .content-container .content-sub div {
	border: 1px solid #e1e1e1;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);
	transition: all 0.3s cubic-bezier(.25, .8, .25, 1);
	padding: 30px;
	border-radius: 50px;
	min-height: 420px;
}

.content-section .content-container .content-sub div:hover {
	box-shadow: 0 14px 28px rgba(0, 0, 0, 0.25), 0 10px 10px
		rgba(0, 0, 0, 0.22);
}

.content-section>div>div.content-sub>div>p.sub-title {
	font-weight: 700;
	font-size: 30px;
}

.content-section>div>div.content-sub>div>p.sub-content {
	font-size: 15px;
	line-height: 20px;
	letter-spacing: -2px;
}

.content-section>div>div.content-sub>div:nth-child(n+2)>p.sub-content {
	padding-top: 40px;
}

.content-title {
	/* margin-top: 5rem; */
	/* margin-bottom: 5rem; */
	color: #fff; /* 밝은 텍스트 */
    text-shadow: 1px 1px 5px rgba(0, 0, 0, 0.5);
    font-weight: 800;
	font-size: 2.5rem;
}

.content-title.black {
	color: #000;
}

.content-sub-title {
	font-weight: 500;
	/* 	font-size: 1.5rem; */
	margin-bottom: 5rem;
	letter-spacing: -1.2px;
	color: white;
}

.content-section .content-box {
	/* Rectangle 14 */
	max-width: 1400px;
	min-height: 100px;
	padding: 3rem;
	color: black;
	background: #EFEFEF;
	border-radius: 10px;
	letter-spacing: -0.5px;
	word-break: keep-all;
	text-align: left;
}

.content-section .content-box img {
	display: block;
	margin: auto;
}

.content-box p, .gray-box p {
	margin-bottom: 0;
}

.icon-img {
	width: 70px;
}

.demo-button {
	text-align: center !important;
	margin-top: 20px;
	width: 100% !important;
	display: block !important;
}

.underline {
	text-decoration: underline; /* Underline as in the image */
	text-underline-offset: 5px; /* Adjust spacing */
	text-decoration-color: #0E2C62;
	color: #0E2C62;
	font-weight: 700;
}

.content-section .main-icon-img {
	max-width: 5rem; /* Adjust image size */
	margin-bottom: 20px;
}

.content-section h3 {
	font-size: 1.5em;
	margin-bottom: 10px;
}

.content-section .content-box p {
	line-height: 1.8;
}


.product-sub-content img {
	width: 100%;
	opacity: 0.5;
}

.product-sub-content {
	min-height: 100px;
}

.news-station {
	max-width: 1400px;
	margin: auto;
}

.news-content {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.news-content .news-content-box {
	border: 1px solid #e1e1e1;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);
	transition: all 0.3s cubic-bezier(.25, .8, .25, 1);
	padding: 30px;
	border-radius: 50px;
	width: 30%;
	min-height: 250px;
	margin-bottom: 2rem;
}

.news-content .news-content-box:hover {
	box-shadow: 0 14px 28px rgba(0, 0, 0, 0.25), 0 10px 10px
		rgba(0, 0, 0, 0.22);
}

.news-content-box p {
	width: 100%;
	overflow-wrap: break-word; /* 긴 단어 줄바꿈 */
	word-break: keep-all;
	color: #222222;
}

.news-content .news-content-box h2 {
	color: #000000; /* 제목 색상을 강조색과 동일하게 */
	font-weight: 600;
}

.detail-button {
	display: inline-block;
	padding: 10px 20px;
	background-color: #213C7F; /* Blue button color (adjust) */
	color: white !important;
	text-decoration: none;
	transition: background-color 0.3s ease;
	width: 100%;
	text-align: right;
}

.detail-button:hover {
	background-color: #0056b3; /* Darker blue on hover */
}

.blue-btn {
	width: 100px;
	height: 30px;
	border-radius: 5px;
	background-color: #0e2c62;
	color: white;
	font-weight: 600;
}

.paging-container table {
	margin: 2rem auto;
}

.paging-container table * {
	font-size: 1.3rem;
}

.paging-container * .fontblue {
	font-weight: 600;
	color: #004185;
}

/*depth3 메뉴 */
.tab-container {
	display: inline-flex;
	overflow: hidden; /* 둥근 모서리 처리 */
	align-items: center;
	align-content: center;
	justify-content: center;
	background-color: #f5f5f5;
	flex-wrap: wrap;
}

.tab-button {
	padding: 14px 20px;
	border: none;
	background-color: #f5f5f5;
	color: #333;
	cursor: pointer;
	font-size: 18px;
}

.tab-container.tab-row .tab-button{
	 white-space: nowrap; /* 줄바꿈 금지 */
}


.tab-button.small-text {
	font-size: 1rem;
}

.tab-button.active {
	background-color: #7298d7; /* 활성화된 탭 배경색 */
	color: white;
	font-weight: 600;
}

.tab-button:hover {
	font-weight: 500;
	transition: 0.3s ease;
}

/* 첫 번째 탭 버튼 왼쪽 둥글게 
.tab-container>.tab-button:first-child {
	border-radius: 20px 0 0 20px;
}
*/
/* 마지막 탭 버튼 오른쪽 둥글게
.tab-container>.tab-button:last-child {
	border-radius: 0 20px 20px 0;
}
 */
.tab-button:not(:last-child) {
	border-right: 1px solid #d0d0d0; /* 버튼 사이 얇은 선 추가 */
}

.tab-button:active {
	transform: scale(0.97); /* 살짝 줄어들게 */
}

@media screen and (max-width: 990px) {
	.tab-container {
		flex-direction: column;
		min-width:400px;
	}
	
	.tab-container.tab-row{
		flex-direction:row;
		flex-wrap:nowrap;
	}

	.tab-container.tab-row .tab-button{
		border-bottom:0px solid;
	}
	.tab-button:not(:last-child) {
		border-right: 0px solid;
	}
	.tab-button.active {
		background-color: #7298d7;
		color: white;
		font-weight: 600;
		width: 100%; /* 전체 채우기 */
		text-align: center; /* 텍스트 가운데 */
		border-radius: 0; /* 둥근 모서리 제거 */
	}
	.tab-button {
		width: 100%;
		border: none;
		border-bottom: 1px solid #d0d0d0; /* 아래에 얇은 선 추가 */
	}
	.tab-button:last-child {
		border-bottom: none; /* 마지막 버튼은 선 제거 */
	}
	.tab-container>.tab-button:first-child {
		border-radius: 0px;
	}
	.product-section {
		min-height: 74vh;
	}
}


@media screen and (max-width: 435px) {
	.tab-container {
min-width:0px;
		width:100%;
	}
}

.tab-content {
	display: none;
	border-top: none;
}

.tab-content.active {
	display: block;
}

/*depth 3 end*/




/* ================== */
/* 푸터 */
/* ================== */
footer {
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	background: #416BB2;
	padding: 40px 150px;
	color: white;
	font-size: 14px;
	line-height: 1.6;
	box-sizing: border-box;
	align-items: center;
	justify-content: space-between;
	align-content: center;
	flex-direction: column;
}

footer * {
	color: #fff;
	font-size:16px;
}

.footer-policy span {
	margin-right: 20px;
	font-weight: 600;
	display: inline-block;
	margin-bottom: 10px;
}

.footer-contact p {
	margin: 2px 0;
}

.footer-policy {
	width: 100%;
	display: flex;
	justify-content: space-between;
	border-bottom: 1px solid #fff;
	padding-bottom: 20px;
	margin-bottom: 20px;
	align-items: center;
}

.footer-contact p span {
	color: #fff;
	width: 100px;
	display: inline-block;
}

p.copyright {
	color: #fff;
}

.footer-contact {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	width: 100%;
}
.footer-contact div{
	display:flex;
	width:100%;
	justify-content: space-between;
}

/* ================== */
/* 반응형 (768px 이하) */
/* ================== */
@media ( max-width : 768px) {
	footer {
		padding: 30px 30px;
	}

	.footer-contact div{
		flex-direction:column;
	}

}



body>section.hero>div>div.inner-header.flex>div>div.wrapper>span {
	font-size: 17px;
	position: absolute;
	line-height: 25px;
	letter-spacing: -2px;
	bottom: 300px;
	width: 70%;
}

h3.title1 {
	font-weight: 500;
	text-align: left;
}

.greet-table {
	margin: auto;
	margin-top: 5rem;
}

.gray-table {
	vertical-align: middle;
	text-align: center;
	border-collapse: collapse;
	width: 100%;
	word-break: keep-all;
	/* table-layout: fixed; */
}

.gray-table * {
	table-layout: fixed;
	color: rgb(51, 51, 51);
	font-size: 1rem;
	text-align: center;
}

.gray-table tbody tr td {
	/* text-align: left; */
	line-height: 1.5rem;
}

.gray-table tbody tr th {
	font-weight: 600;
}

.gray-table>thead, .gray-table tbody tr.back-color {
	border-top: 2px solid #032759;
	border-bottom: 1px solid #dad8d9;
	height: 50px;
	background-color: #F8F8F8;
}

.gray-table tbody tr.back-color * {
	text-align: center;
	font-weight: 600;
}

.gray-table tbody tr td, .gray-table tbody tr th {
	border-bottom: 1px solid #ddd;
	padding: 1rem 1.3rem;
}

.gray-table tbody th {
	border-right: 1px solid #eee;
}

.gray-table>thead>tr>th {
	vertical-align: middle !important;
	font-weight: 600;
}


.gray-table.sqmldi img {
 width: 90%; /* 또는 원하는 너비 (예: 100%) */
		min-height:150px;
height:100%;
	max-height:300px;
	
    object-fit: cover; /* 이미지가 잘리더라도 영역을 채우도록 */
    object-position: center; /* 이미지가 잘릴 때 중앙을 기준으로 */
		
}
.gray-table img {
	width: 100%;
	height: 100%;
	border: solid 0px;
	padding: 0px;
}

img.table-icon{
	width:50% !important;
}


@media screen and (max-width: 655px) {
img.m-image100{
	width:100%;
}
}


@media screen and (max-width: 480px) {
img.table-icon{
	width:80% !important;
}

img.m-image100{
	width:100%;
}
}


.mbottom1 {
	margin-bottom: 1rem;
}
.mbottom2 {
	margin-bottom: 2rem;
}
.mbottom3 {
	margin-bottom: 3rem;
}

.mbottom5 {
	margin-bottom: 5rem;
}

.mbottom15 {
	margin-bottom: 15rem;
}

img.maxheight220 {
	max-height: 220px;
}

.vertical-table {
	vertical-align: middle;
	text-align: center;
	border-collapse: collapse;
	width: 100%;
	/* table-layout: fixed; */
}

.vertical-table * {
	table-layout: fixed;
	color: rgb(51, 51, 51);
	font-size: 14px;
	text-align: center;
}

.vertical-table tbody *:not(strong, span) {
	padding: 1rem 1.3rem;
}

.vertical-table tbody tr {
	border-top: 1px solid #eee;
	border-bottom: 1px solid #eee;
}

.vertical-table>thead>tr>th {
	vertical-align: middle !important;
	font-weight: 600;
}

.vertical-table tbody tr th:nth-child(1) {
	font-weight: 600;
	border-right: 2px solid #032759;
	word-break: keep-all;
	background-color: #F8F8F8;
	border-bottom: 1px solid #dad8d9;
}

.vertical-table tbody tr th {
	/*background-color: #F8F8F8;*/
	
}

.vertical-table tbody tr td {
	text-align: left;
}

.vertical-table tbody tr th {
	position: relative;
	padding: 10px;
	text-align: center;
}

/*조직도*/
.org-table {
	width: 50%;
	margin: auto;
	margin-top: 5rem;
}

/* list&bullet p 동의 정의 */
[class^=bul-] {
	display: block;
}

[class^=bul-]>li, [class^=bul-]>p {
	display: block;
	position: relative;
	padding: 0;
	text-align: left;
	line-height: 1.4;
	padding-left: 1rem;
}

[class^=bul-]>li::before, [class^=bul-]>p::before {
	content: "";
	display: inline-block;
	overflow: hidden;
	position: absolute;
	left: 0;
	top: 0;
}

.bul-bar {
	margin-bottom: 0px;
}

.bul-bar>li::before, .bul-bar>p::before {
	top: 0.6rem;
	width: 0.4rem !important;
	height: 2px !important;
	background-color: #032759 !important;
}

.sub-tit {
	text-align: center;
	margin-bottom: 0.5rem;
	font-weight: 600;
}

.sub-tit::after {
	content: "";
	display: inline-block;
	width: 0.5rem;
	height: 0.5rem;
	background-color: #0e2c62;
	border-radius: 50%;
	vertical-align: top;
	top: 0;
	margin-left: 2px;
	/*position:absolute;
  right:-1.7rem;
  top:0;*/
}

h3.line-title {
	text-align: center;
}

h3.line-title {
	position: relative;
	margin-bottom: 1.5rem; /* margin-bottom:5rem;*/
}

h3.line-title:before {
	position: absolute;
	top: 50%;
	left: 0;
	margin-top: -2px;
	width: 100%;
	height: 3px;
	background: #0e2c62;
	content: "";
}

h3.line-title span {
	position: relative;
	display: inline-block;
	padding-right: 2.25rem;
	padding-left: 2.25rem;
	font-size: 1.5rem;
	font-weight: 700;
	color: #0e2c62;
	background-color: white;
	text-aligen: center;
}

@media screen and (max-width: 1110px) {
	.tab-button:hover {
		text-decoration: none;
	}
	.hero-container {
		width: 100%;
	}
	body>section.hero>div>div.inner-header.flex>div>div.wrapper>span {
		font-size: 17px;
		position: absolute;
		line-height: 25px;
		letter-spacing: -2px;
		bottom: 250px;
		width: 70%;
	}
	.main-sub-text {
		padding-top: 5rem;
		padding-left: 5rem;
		padding-right: 5rem;
	}

	/* product Section */
	.product-section {
		margin-top: 15rem;
		overflow-y: visible;
	}
	
	
	.typing-demo {
	font-size:3rem;
	}
	
}

/* ---  MEDIA QUERIES FOR RESPONSIVENESS  ---  */

/* For Tablets (screens less than 768px wide)  */
@media screen and (max-width: 768px) {
	.header-container {
		flex-direction: column; /* Stack logo and nav vertically */
		text-align: center;
	}
	nav ul {
		flex-direction: column; /* Stack nav items vertically */
		text-align: center;
		margin-top: 10px;
	}
	nav ul li {
		margin: 5px 0;
	}
	.content-section h2 {
		font-size: 1.75em; /* Slightly smaller heading */
	}
/* 	.content-section img:not(.image100) {
		max-width: 80%; Wider image on smaller screens
	} */
	.product-item {
		width: 44%; /* Full width on tablets */
	}
	.product-section, .news-section {
		padding: 0rem 2rem;
	}
	.hero .main {
		display: flex;
	}
	.hero .main div {
		font-size: 60px;
	}
	.hero .main div #catalog-down {
		font-weight: 600;
		font-size: 15px;
		width: 150px;
		height: 40px;
		background: #0E2C62;
		border-radius: 8px;
		color: white;
		display: flex;
		align-items: center;
		justify-content: center;
	}
	.content-section>div>div.content-sub>div>p.sub-title {
		font-weight: 700;
		font-size: 20px;
	}
	.content-section>div>div.content-sub>div>p.sub-content {
		font-size: 13px;
		line-height: 20px;
		letter-spacing: -1px;
	}
	body>section.hero>div>div.inner-header.flex>div>div.wrapper>span {
		font-size: 17px;
		position: absolute;
		line-height: 25px;
		letter-spacing: -2px;
		bottom: 60px;
		width: 70%;
	}
	.news-content {
		display: flex;
		align-items: center;
		justify-content: space-between;
		flex-direction: column;
	}
	.news-content {
		display: flex;
		align-items: center;
		justify-content: space-between;
	}
	.news-content .news-content-box {
		width: 100%;
		min-height: 13rem;
		margin-top: 1rem;
	}
	.org-table {
		width: 100%;
	}
	.typing-demo {
		width: 14ch;
	}
	.typing-demo-intro {
		width: 90%;
	}
	.product-content {
		flex-direction: column;
	}
	.content-title {
		margin: 2rem 0rem 5rem 0rem;
		font-size: 2rem;

		    white-space: normal; /* ★ 줄바꿈 허용 */
    word-break: break-word; /* 단어가 길어도 줄바꿈 */

	}
	.content-section .content-box {
		padding: 1rem;
	}

		.news-box {
		display: flex;
		flex-direction: column;
		align-items: center;
	}
	.news-box .news-box-item {
		width: 100%;
	}
	.news-box .news-box-item img {
		width: 100%;
	}
	
	.gray-table tbody tr td, .gray-table tbody tr th {
	padding: 0.5rem 0.5rem;
}

	section.introduction .intro-box {
		display: flex;
		flex-direction: column;
		align-content: center;
	}
	section.introduction .intro-box .image-container  {
		width: 70%;
		margin-bottom: 20px;
	}

	
	section.introduction .intro-box .image-container .overlay {
    font-size: 2.5rem;
}
section.introduction .intro-box .image-container .overlay-sub {
    font-size: 1.3rem;
}

}

@media screen and (max-width: 555px) {
	.typing-demo {
		width: 13ch;
	}

		section.introduction .intro-box {
		display: flex;
		flex-direction: column;
		align-content: center;
	}
	section.introduction .intro-box .image-container  {
		width: 70%;
		margin-bottom: 20px;
	}
	
	section.introduction .intro-box .image-container .overlay {
    font-size: 2.3rem;
}
section.introduction .intro-box .image-container .overlay-sub {
    font-size: 1rem;
}

	
}

/* For Phones (screens less than 480px wide)  */
@media screen and (max-width: 480px) {
	.tab-button {
		font-size: 0.9rem;
	}
	.content-section {
		margin: auto;
		margin-top: 2rem;
		padding: 1rem;
	}
	
	.product-section, .news-section {
		margin: auto;
	}
	.content-section h2 {
		font-size: 1.5em; /* Smaller heading on phones */
	}
	.product-item {
		width: 100%; /* Even wider on phones if needed */
		margin: 10px 0; /* Adjust margins */
	}
	.product-content {
		display: flex;
		flex-direction: column;
	}
	.content-section .content-container .content-sub {
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
	}
	.content-section .content-container .content-sub div {
		margin-top: 20px;
	}
	.hero .main div {
		font-size: 40px;
	}
	.title700 {
		font-weight: 700;
		font-size: 2em;
	}
	.hero img {
		display: none;
	}
	.news-content {
		display: flex;
		align-items: center;
		justify-content: space-between;
		flex-direction: column;
	}
	.news-content {
		display: flex;
		align-items: center;
		justify-content: space-between;
	}
	.news-content .news-content-box {
		width: 100%;
		min-height: 13rem;
		margin-top: 1rem;
	}
	/* 	.gray-table tbody * {
		padding: 0.5rem 0.5rem;
	} 임시*/
	.hero {
		height: 100vh;
	}
	.product-section {
		margin-left: 1rem;
		margin-right: 1rem;
	}
	.footer-container {
		flex-direction: column;
	}
	.footer-container .logo {
		margin-top: 3rem;
	}
	.org-table {
		width: 100%;
	}
	.typing-demo {
		width: 14ch;
		font-size: 2.3rem;
	}
	.typing-demo-intro {
		width: 83%;
	}
	section.introduction .intro-box {
		display: flex;
		flex-direction: column;
		align-content: center;
	}
	section.introduction .intro-box .image-container  {
		width: 80%;
		margin-bottom: 20px;
	}
	
	section.introduction .intro-box .image-container .overlay {
    font-size: 2rem;
}
section.introduction .intro-box .image-container .overlay-sub {
    font-size: 1rem;
}

	
	
}

/* For Phones (screens less than 480px wide)  */
@media screen and (max-width: 370px) {
	.typing-demo {
		width: 12ch;
		font-size: 2rem;
	}
}


.material-symbols-outlined {
	border: 0px solid !important;
	font-size: 1.5rem;
}

.slide-in-left {
	transform: translateX(-100%); /* 초기 위치를 왼쪽으로 완전히 이동 */
	opacity: 0;
	transition: transform 1s ease-out, opacity 1s ease-out;
	/* transition 추가 */
}

.slide-in-left.appeared {
	transform: translateX(0);
	opacity: 1;
}

.title-section {
	width: 100%;
	height: 400px;
	margin: 0px;
	padding: 0px;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	align-items: center;
	position: relative;
}
/* 
#bg {
	background-image: url("/images/bg_circle.png");
	width: 100%;
	height: 700px;
	position: absolute;
	top: 0px;
	background-repeat: no-repeat; 이미지가 반복되지 않도록 설정 (선택 사항)
	background-position: bottom; 배경 이미지의 아래쪽을 기준으로 위치 설정
	z-index: -1;
} */
#bg {
	width: 100%;
	height: 400px;
	top: 0px;
	background-repeat: no-repeat; /* 이미지가 반복되지 않도록 설정 (선택 사항) */
	background-position: right; /* 배경 이미지의 가운데를 기준으로 위치 설정 */
	z-index: -1;
	background-size: cover; /* 추가 */
	display:flex;
	align-items: center;
	justify-content: center;
	padding-top:80px;
	padding-bottom: 0px;
	
}

#bg.company {
	background-image: url("/images/header/header_company.png");
}

#bg.product {
	background-image: url("/images/header/header_product.png");
}

#bg.careers {
	background-image: url("/images/header/header_careers.png");
}

#bg.news {
	background-image: url("/images/header/header_news.png");
}

#bg.result {
	background-image: url("/images/header/header_result.png");
}

.table-container {
	width: 100%; /* 또는 적절한 너비 값 */
	overflow-x:auto;
	overflow-y:clip;
}

section.back-color {
	/* background-image: url("/images/back2_big.png"); */
	background-size: cover;
    background-position: center;
    
	background-color: #e6f0ff;
	min-height: 80vh;
	padding-bottom:0px;
}


section.back-image {
	background-image: url("/images/back2_big_2.png"); 
	background-size: cover;
    background-position: center;
    
	background-color: #e6f0ff;
	min-height: 80vh;
	padding-bottom:0px;
}


.slick-slide {
	padding: 1rem 2rem;
	margin: 1rem 2rem 1rem 2rem;
	background-color: white;
}

.online-demo {
	background-color: #143493;
	color: white;
	padding: 5px 10px;
	letter-spacing: -1px;
}

.content-main-title {
	font-weight: 600;
	color: #143493;
	font-size: 2rem !important;
}

.visible-y {
	overflow-y: visible;
}

/* 데스크톱 스타일 (기존 스타일 유지) */
.language-buttons-desktop {
	position: fixed;
	top: 50%;
	right: 0px;
	transform: translateY(-50%);
	display: flex;
	flex-direction: column;
	z-index: 101;
}

.language-buttons-desktop button {
	margin-bottom: 2px;
	padding: 10px 15px;
	background-color: #353535;
	cursor: pointer;
	font-size: 14px;
	color: white;
	border: 0px;
}

.language-buttons-desktop button:hover {
	background-color: #213c7f;
}

.language-buttons-desktop button.active {
	background-color: #213c7f;
	font-weight: 600;
}

/* 모바일 토글 버튼 스타일 */
.language-toggle-mobile {
	display: none; /* 초기에는 숨김 */
	position: fixed;
	bottom: 20px;
	right: 20px;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background-color: #353535;
	color: white;
	font-size: 16px;
	border: none;
	cursor: pointer;
	z-index: 1001;
	justify-content: center;
	align-items: center;
}

.language-toggle-mobile:hover {
	background-color: #213c7f;
}

/* 모바일 언어 선택 버튼 그룹 스타일 (초기 숨김) */
.language-buttons-mobile {
	display: none;
	position: fixed;
	bottom: 65px; /* 토글 버튼 바로 위에 위치 */
	right: 20px;
	background-color: #f9f9f9;
	border: 1px solid #ddd;
	border-radius: 5px;
	box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
	flex-direction: column;
	z-index: 1002;
	overflow: hidden;
}

.language-buttons-mobile.active {
	display: flex;
}

.language-buttons-mobile button {
	padding: 10px 15px;
	border: none;
	background-color: transparent;
	cursor: pointer;
	font-size: 14px;
	color: #333;
	text-align: center;
	width: 100%;
}

.language-buttons-mobile button:hover {
	background-color: #eee;
}

.language-buttons-mobile button.active {
	background-color: #213c7f;
	color: white;
	font-weight: 600;
}

/* 반응형 미디어 쿼리 (예: 최대 너비 768px에서 모바일 스타일 적용) */
@media ( max-width : 768px) {
	.language-buttons-desktop {
		display: none; /* 데스크톱 버튼 숨김 */
	}
	.language-toggle-mobile {
		display: flex; /* 모바일 토글 버튼 표시 */
	}
	.language-buttons-mobile {
		/* 초기 숨김 상태 유지 */
		
	}
}

img.image100 {
	width: 100% !important;
}



.sub-info.eng{
	letter-spacing: -0.6px;
}




.icon-blue-ellipse::before {
  content: ''; /* 가상 요소가 표시되도록 content 속성은 비워둡니다. */
  display: inline-block;
  width: 8px; /* 원의 너비 */
  height: 8px; /* 원의 높이 */
  background-color: #416BB2; /* 요청하신 파란색 */
  border-radius: 50%; /* 완벽한 원으로 만듭니다. */
  vertical-align: middle; /* 텍스트와 아이콘 수직 정렬 */
  margin-right: 8px; /* 아이콘과 텍스트 간 간격 (조금 더 늘렸습니다) */
}



.validation-message{
	font-size:16px;
	color:#416BB2;
	
}

.validation-message::before{
	content:"* ";
}

