/* ========== 공통 섹션 타이틀 ========== */
.app-title .tit {
	position:relative;
	margin:0 0 6px;
	font-size:clamp(3.4rem,2.6vw,6rem);
	font-weight:700;
	color:#222;
	text-align:left;
}
.app-title .tit::after {
	content:'';
	position:absolute;
	width:10px;
	height:10px;
	background-color:#004097;
	border-radius:10px;
	bottom:10px;
	margin-left:10px;
}
.app-title p {
	margin:0;
	font-size:clamp(2rem,2.6vw,3.4rem);
	text-align:left;
	color: #222;
}
/* ========== 2컬럼 레이아웃 (section .row) ========== */
.section .row {
	padding:0;
	display:flex;
	align-items:center;
}
@media screen and (max-width:750px) {
	.section .row {
			display:block;
			padding:50px 0;
	}
	.row.col-2>.column {
			width: 100%;
	}
}
/* ========== Main Visual & Search ========== */
.main {
	padding-top:100px;
	background:url('../images/new/main-visual.png') center top no-repeat;
	background-size:cover;
	height:850px;
	padding-bottom: 50px;
}
#mainVisual {
	position:relative;
	min-height:56vh;
	/* 섹션 높이:반응형 */
	background-position:center;
	background-size:cover;
	display:block;
	/* header 영향 없음 */
	isolation:isolate;
}
#mainVisual .search {
	position:absolute;
	top:50%;
	left:50%;
	transform:translate(-50%,-50%);
	/* 정확히 가운데 */
	width:100%;
	max-width:790px;
	/* 필요시 검색 영역 너비 제한 */
	text-align:center;
	/* 안쪽 텍스트 가운데 정렬 */
}
#mainVisual .search .main-tit h4 {
	overflow:hidden;
	/* 줄 애니메이션 안전 */
	font-family:'GmarketSans';
	font-weight:500;
	line-height:1.2;
	 font-size:clamp(3rem,3.5vw,6rem);
	 color:#fff;
}
#mainVisual .search .main-tit h4 b {
	font-weight: 900;
}
.main-tit h4 .line {
	display:block;
	opacity:0;
	transform:translateY(40px);
	/* 처음엔 아래에 숨어 있음 */
	animation:slideUp 0.8s ease forwards;
}
.main-tit h4 .line:nth-child(1) {
	animation-delay:0.4s;
}
.main-tit h4 .line:nth-child(2) {
	animation-delay:0.9s;
}
@keyframes slideUp {
	to {
		opacity:1;
		transform:translateY(0);
	}
}
#mainVisual .search-area {
	display:flex;
	align-items:center;
	padding:0 8px;
	margin-top:50px;
	width:100%;
	max-width:790px;
	height:70px;
	background-color:#fff;
	border:0;
	border-radius:10px;
	background-clip:padding-box,border-box;
	position:relative;
	z-index:0;
}
#mainVisual .search-area input[type=text] {
	border:0;
	font-size:2rem;
	height:70px;
}
#mainVisual .search-area .btn-main-search {
	background:#004097;
	width:54px;
	height:54px;
	border-radius:8px;
	display:block;
	box-shadow:0 3px 10px rgba(38,160,252,0.5);
}
#mainVisual .search .rank {
	display:flex;
	width:100%;
}
#mainVisual .search .rank h5 {
	font-size:1.4rem;
	color:#004097;
	font-weight:bold;
	padding-right:30px;
}
#mainVisual .search .rank ul li {
	display:inline-block;
	padding-right:15px;
}
#mainVisual .search .rank ul li a {
	color:#666;
	font-size: 1.4rem;
}
/* 타이틀 */
@media screen and (max-width:750px) {
	.main {
			padding-top:60px;
		height:calc(100vh - 60px);
	}
	#mainVisual {
				overflow:hidden;
				display:block;
				margin:0 auto;
	}
	#mainVisual .mainSwiper {
				width:100%;
	}
	#mainVisual .slide-tit {
				padding:50px 0 0 30px;
	}
	#mainVisual .swiper-pager {
				left:70px;
	}
	#mainVisual .search {
				margin:40px 0 0 0;
				width:100%;
	}
	#mainVisual .search .main-tit h4 {
				font-size:3rem;
				margin-bottom: 20px;
	}
}
/* ========== Section:3컬럼 배너 (bn-section) ========== */
.bn-section .row {
	padding:110px 20px;
	margin:0 -40px;
}
.bn-section .box {
	position:relative;
	border-radius:20px;
	margin:20px;
}
.bn-section .box a {
	padding:50px;
	display:block;
	height:500px;
	color:#fff;
}
.bn-section .box.service-box {
	background:#004097 url('../images/new/bn-img01.png') right bottom no-repeat;
}
.bn-section .box.data-box {
	background:#004097 url('../images/new/bn-img02.png') right bottom no-repeat;
}
.bn-section .box.map-box {
	background:#004097 url('../images/new/bn-img03.png') right bottom no-repeat;
}
.bn-section .box .tit {
	text-align:left;
}
.bn-section .box .tit p {
	font-size:2.4rem
}
.bn-section .box .tit h4 {
	font-size:4rem;
	line-height:1.3
}
.bn-section .box .icon {
	position:absolute;
	bottom:50px;
	width:70px;
	height:70px;
	background:#fff;
	border-radius:50%;
	line-height:65px;
}
.bn-section .box .icon img {
	width:33px;
	height:22px;
	opacity:.95
}
.bn-section .box .icon {
	position:absolute;
	left:50px;
	bottom:50px;
	transition:transform .35s ease;
	will-change:transform;
}
.bn-section .box>a:hover .icon {
	transform:translateX(30px);
}
@media (prefers-reduced-motion:reduce) {
	.service-box .icon {
		transition:none;
	}
}
@media (max-width:750px) {
	.bn-section .row {
		padding:50px 30px;
	}
	.bn-section .row.col-3 .column {
		width:100%;
	}
	.bn-section .row.col-3 .column .box {
		margin:5px;
	}
	.bn-section .row.col-3 .column .box a {
		height:230px;
		padding:30px;
	}
	.bn-section .box .tit p {
		font-size:1.8rem
	}
	.bn-section .box .tit h4 {
		font-size:2.4rem;
	}
	.bn-section .box .icon {
		width:40px;
		height:40px;
		line-height:35px;
		bottom:30px;
		left:30px;
	}
	.bn-section .box .icon img {
		height:10px;
	}
	.bn-section .box.service-box,.bn-section .box.data-box,.bn-section .box.map-box {
		background-size:contain;
		background-position: top right;
	}
}
/* ========== 숫자 영역 (number-section) ========== */
.number-section {
	background:url('../images/new/bnr-bg.png') center center repeat-x;
	padding:7rem 2rem;
}
.number-section .row>ul {
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:12px;
	text-align:center;
}
.number-section li p {
	margin:0 0 15px;
	font-size:clamp(1.8rem,4.2vw,3rem);
}
.number-section li span {
	display:block;
	font-family:'GmarketSans';
	font-weight:800;
	font-size:clamp(3rem,4.2vw,8rem);
}
.number-section img {
	height:50px;
	margin-bottom:25px
}
@media (max-width:750px) {
	.number-section img {
		height:30px;
	}
	.number-section {
		padding: 50px 0;
	}
}

.main-board {
	padding:9rem 0;
	background:url('../images/new/board-bg.jpg') center top no-repeat;
	background-size: cover;
}
.new-section .list-board-data {
	background: #e9e9e9;
	padding:3rem 2rem;
	border-radius: 20px;
}


/* ========== 리포트 카드 그리드 (report-section) ========== */
.box-card {
	min-height:164px;
}
.list-board-data.is-list .list-board-data-item {
	margin-bottom:10px;
}
.list-board-data.is-list .box-card .con-box {
	padding:20px 20px 20px 0
}
.list-board-data.is-list .img-box {
	width:230px;
	height:164px;
	flex:0 0 230px
}

.word-section img {
	width:100%;
	max-width:640px;
	border-radius:30px;
	;
}
.word-section .app-title {
	padding-left:100px;
}
.report-section {
	background: #e9e9e9;
	padding:3rem 2rem;
	border-radius: 20px;
}
.report-section .box-paper-wrap {
	transition:transform .15s ease;
}
.report-section .box-paper-wrap:hover {
	transform:translateY(-2px);
}
.report-section .box-paper {
	background:#fff;
	border-radius:15px;
	overflow:hidden;
	padding:25px 30px;
	height:100%;
	display:flex;
	margin-bottom:10px;
}
.report-section .box-paper .box-head {
	display:grid;
	width:100%;
	margin-bottom:0;
	text-align:left;
}
.report-section .box-paper .box-head .mark {
		border:1px solid #888;
			color:#666;
	margin-bottom:10px;
	display:inline-block;
	font-size:1.4rem;
	line-height:1;
	padding:5px 10px;
	border-radius:999px;
	width:max-content;
}
.report-section .box-paper .box-head .mark.subscribe {
	border-color:#26A0FC;
	color:#26A0FC;
}
.report-section .box-paper .box-paper-tit {
	font-weight:500;
	font-size:1.8rem;
	line-height:1.4;
	overflow:hidden;
	margin-bottom:10px;
}
.report-section .box-head .date {
	color:#9AA3AF;
	font-size:1.4rem;
	padding-top:0;
	text-align:left;
}
@media screen and (max-width:750px) {
	.list-board-data.is-list {
		padding-top:4rem;
	}
	.list-board-data.is-list .box-card {
		display:block;
	}
	.list-board-data.is-list .img-box {
		width:100%;
		height:100%;
		flex:0 0 0
	}
	.list-board-data.is-list .box-card .con-box {
		padding:15px;
	}
	.word-section .app-title {
		padding-left:0;
		padding-top: 30px;
	}
}
/* ========== 뉴스 섹션 (news-section) ========== */
/*.news-section {*/
/*	background-color:#004097;*/
/*	padding:110px 0;*/
/*}*/
.news-section {
	background:url('../images/new/news-bg.png') center top no-repeat;
	background-size: cover;
	padding:110px 0;
}
.news-section::after {
	background:url('../images/new/bg-news.png') right top no-repeat;
}
.news-section .title {
	display:flex;
	justify-content:space-between;
	align-items:end;
	margin-bottom:5rem;
}
.news-section .btn-more {
	display:flex;
	justify-content:space-between;
	color:#444;
	border:1px solid #444;
	font-size:1.6rem;
	width:230px;
	background:none;
	padding:20px 30px;
	height:60px;
	line-height:1.2;
}
.news-section .box-paper {
	position:relative;
	background:#fff;
	border:0;
	padding:40px 150px 40px 50px;
	margin-bottom:10px;
	text-align:left;
}
.news-section .box-paper::after {
	content:'';
	position:absolute;
	width:73px;
	height:73px;
	top:28%;
	left:90%;
	background:url('../images/new/ico-news-arrow.svg') center center no-repeat;
}
.news-section .box-paper:hover::after {
	background:#fff url('../images/new/ico-news-arrow.svg') center center no-repeat;
	border-radius:50%;
}
.news-section .box-paper .box-head {
	margin-bottom:0;
}
.news-section .box-paper .box-paper-tit {
	color:#222;
	font-size:3rem;
	font-weight:bold;
}
.news-section .box-head .date {
	color:rgba(0,0,0,.5);
	font-size:1.6rem
}
.news-section .box-head .mark {
	background:rgba(255,255,255,.2);
	color:#fff;
}
/*.news-section .app-title h3,.news-section .app-title p {*/
/*	color:#fff;*/
/*}*/
.news-section .box-paper:hover {
	background:#004097;
	;
}
.news-section .box-paper:hover .box-paper-tit,.news-section .box-paper:hover .date {
	color:#fff;
}
@media screen and (max-width:750px) {
	.news-section {
			padding:80px 0;
	}
	.news-section .btn-more {
			width:130px;
			padding:10px 15px;
			height:40px;
			font-size:1.4rem;
	}
	.news-section .btn-more img {
			height:13px;
	}
	.news-section .box-paper {
			padding:10px 100px 20px 20px;
	}
	.news-section .box-paper .box-paper-tit {
			font-size:2.4rem;
			line-height:2.4;
	}
	.news-section .box-paper::after,.news-section .box-paper:hover::after {
			width:40px;
			height:40px;
			background-size:50%;
			left: 85%;
	}
}
/* ========== 하단 로고 스와이퍼 ========== */
/* 끊김 없이 흐르게 */
.logoSwiper .swiper-wrapper {
	transition-timing-function: linear !important;
}
