@import url("sub.css");

.about {
	font-family: 'Cafe24Ohsquareair', sans-serif;
}
.about h2.title {
	padding: 180px 0 80px;
}
.about .txt {
	font-size: 30px;
	font-weight: 300;
	padding: 100px 0 ;
	line-height: 1.7;
}
.about .txt strong {
	font-family: 'Cafe24Ohsquare', sans-serif;
}
.about .vision {
	background: #181a27;
	color: #fff;
}
.about .vision h2.title span {
	border: 2px solid #fff;
	color: #fff;
	background: transparent;
}
.about .vision .swiper-slide:after {
	content: '';
	position: absolute;
    top: 0;
	display: block;
	width: 100%;
	height: 100%;
	background: rgba(29, 34, 79, 0.3);
}
.about .vision .txt {
	padding: 100px 0;
}


.about .network .txt strong {
	color: #000B69;
}
.about .network .img {
	margin: 100px 0;
}
.about .network .img img {
	width: 100%;
}



.about .program {
	position: relative;
	background: #181A27;
	padding: 100px 0 0;
}
.about .program h2.title {
	position: relative;
	z-index: 3;
}
.about .program h2.title span {
	background: transparent;
	border: 2px solid #fff;
	color: #fff;
}
.about .program .txt {
	position: relative;
    color: #fff;
    padding-top: 150px;
    z-index: 2;
}
.about .program .inner {
	z-index: 1;
}
#particle-canvas {
	position: absolute!important;
  width: 100%;
  height: 750px;
  z-index: 1;
  top: 374px;
}
#particle-canvas canvas {
	opacity: 0.3;
}
.about .program .particle-text {
    position: absolute;
    max-width: 1600px;
    width: 100%;
    height: 665px;
    left: 50%;
    transform: translateX(-50%);
    top: 400px;
    z-index: 1
}
.about .program .particle-text span {
	position: absolute;
	font-size: 25px;
	color: #fff;
	opacity: .7;
	animation: updown both linear infinite 1.2s;
	font-family: 'NanumSquare';
}
.about .program .particle-text span:after {
	content: '';
	display: block;
	width: 20px;
	height: 22px;
	border: 1px solid #fff;
	border-radius: 50%;
	position: absolute;
	z-index: -1;
	opacity: 0.5;
}
.about .program .particle-text span:nth-child(1) {
	top: 8%;
	left: 25%;
}
.about .program .particle-text span:nth-child(1):after {
	bottom: -5px;
	right: -10px;
}
.about .program .particle-text span:nth-child(2) {
	top: 35%;
	left: 2%;
}
.about .program .particle-text span:nth-child(2):after {
	bottom: -5px;
	right: -11px;
}
.about .program .particle-text span:nth-child(3) {
	bottom: 0;
	left: 20%;
}
.about .program .particle-text span:nth-child(3):after {
	top: -5px;
	right: -10px;
}
.about .program .particle-text span:nth-child(4) {
	top: 21%;
	left: 58%;
}
.about .program .particle-text span:nth-child(4):after {
	bottom: -5px;
	left: -10px;
}
.about .program .particle-text span:nth-child(5) {
	top: 6%;
	right: 12%;
}
.about .program .particle-text span:nth-child(5):after {
	bottom: -5px;
	left: -10px;
}
.about .program .particle-text span:nth-child(6) {
	top: 43%;
	right: 2%;
}
.about .program .particle-text span:nth-child(6):after {
	left: -10px;
	top: -5px;
}
.about .program .particle-text span:nth-child(7) {
	bottom: 4%;
	right: 12%;
}
.about .program .particle-text span:nth-child(7):after {
	top: -5px;
	left: -10px;
}
@keyframes updown {
	0% {padding: 0;}
	50% {padding: 5px 0;}
	100% {padding: 0;}
}




.about .process {
	margin: 125px 0 150px;
}
.about .process .flex-box {
	position: relative;
}
.about .process .flex > div {
	position: relative;
	flex: 1;
	text-align: center;
	padding: 40px 28px 30px;
	box-sizing: border-box;
	margin-bottom: 80px;
	margin-right: 50px;
}
.about .process .flex-box .box strong {
	display: block;
	height: 50px;
	line-height: 50px;
	background: #fff;
	font-size: 22px;
}
.about .process .flex-box .box .table {
	width: 100%;
	height: 130px;
	border: 1px solid #fff;
	color: #fff;
	margin-top: 30px;
	font-size: 18px;
	box-sizing: border-box;
}
.about .process .flex-box .num {
	position: absolute;
	font-size: 22px;
	font-family: 'Cafe24Ohsquare', sans-serif;
	display: block;
	width: 80px;
	height: 80px;
	line-height: 53px;
	text-align: center;
	left: 50%;
	bottom: -120px;
	border-radius: 50%;
	transform: translateX(-50%);
	background: #fff;
	box-sizing: border-box;
}
.about .process .flex-box .num:before {
	content: '';
	position: absolute;
	top: -60px;
	left: 50%;
	transform: translateX(-50%);
	display: block;
	width: 1px;
	height: 100%;
}
.about .process .flex01 {
	position: relative;
	margin-bottom: 190px;
}
.about .process .flex01:before {
	content: '';
    position: absolute;
    bottom: -118px;
    right: 0;
    display: block;
    width: 15%;
    height: 119px;
    border-style: solid;
    border-image: linear-gradient(to bottom, #074580 0%, #003165 100%);
    border-image-slice: 1;
    border-image-width: 0 15px 0 0;
    z-index: -1;
}
.about .process .flex01:after {
	content: '';
    position: absolute;
    bottom: -8px;
    left: 11%;
    display: block;
    width: 88.4%;
    height: 15px;
    border-style: solid;
    border-image: linear-gradient(to right, #5497CD 0%, #074580 100%);
    border-image-slice: 1;
    border-image-width: 0 0 15px 0;
    z-index: -1;
}
.about .process .flex01 > div:last-child {
	margin-right: 0;
}
.about .process .flex02 {
	position: relative;
	flex-flow: row-reverse;
}
.about .process .flex02 > div {
	margin-bottom: 0;
}
.about .process .flex02:before {
	content: '';
    position: absolute;
    top: -93px;
    left: 11%;
    display: block;
    width: 88.4%;
    height: 15px;
    border-style: solid;
    border-image: linear-gradient(to right, #151B2D 0%, #003165 100%);
    border-image-slice: 1;
    border-image-width: 0 0 15px 0;
    z-index: -1;
}
.about .process .flex02 > div:first-child {
	margin-right: 0;
}
.about .process .flex02 .num {
	bottom: auto;
	top: -120px;
}
.about .process .flex02 .num:before {
	top: 60px;
}
.about .process .flex-box .step01 {
	background: #5497CD;
}
.about .process .flex-box .step01 .num {
	border: 15px solid #5497CD;	
	color: #5497CD;
}
.about .process .flex-box .step01 .num:before {
	background: #5497CD;
}
.about .process .flex-box .step02 {
	background: #3E80B8;
}
.about .process .flex-box .step02 .num {
	border: 15px solid #3E80B8;	
	color: #3E80B8;
}
.about .process .flex-box .step02 .num:before {
	background: #3E80B8;
}
.about .process .flex-box .step03 {
	background: #165793;
}
.about .process .flex-box .step03 .num {
	border: 15px solid #165793;	
	color: #165793;
}
.about .process .flex-box .step03 .num:before {
	background: #165793;
}
.about .process .flex-box .step04 {
	background: #074580;
}
.about .process .flex-box .step04 .num {
	border: 15px solid #074580;	
	color: #074580;
}
.about .process .flex-box .step04 .num:before {
	background: #074580;
}
.about .process .flex-box .step05 {
	background: #003165;
}
.about .process .flex-box .step05 .num {
	border: 15px solid #003165;	
	color: #003165;
}
.about .process .flex-box .step05 .num:before {
	background: #003165;
}
.about .process .flex-box .step06 {
	background: #002954;
}
.about .process .flex-box .step06 .num {
	border: 15px solid #002954;	
	color: #002954;
}
.about .process .flex-box .step06 .num:before {
	background: #002954;
}
.about .process .flex-box .step07 {
	background: #0E1F39;
}
.about .process .flex-box .step07 .num {
	border: 15px solid #0E1F39;	
	color: #0E1F39;
}
.about .process .flex-box .step07 .num:before {
	background: #0E1F39;
}
.about .process .flex-box .step08 {
	background: #151B2D;
}
.about .process .flex-box .step08 .num {
	border: 15px solid #151B2D;	
	color: #151B2D;
}
.about .process .flex-box .step08 .num:before {
	background: #151B2D;
}



@media screen and (max-width: 1600px){
	.about .txt {
		font-size: 25px;
	}
	.about .txt {
		padding: 60px 0;
	}
	#particle-canvas {
		top: 275px;
		height: 705px;
	}
	.about .program {
		padding: 0;
	}
	.about .program .particle-text {
		top: 300px;
		height: 545px;
	}
	.about .program .particle-text span {
		font-size: 20px;
	}
	.about .process .flex > div {
		margin-right: 20px;
		padding: 30px 20px 25px;
	}
	.about .process .flex-box .box strong {
		font-size: 20px;
	}
	.about .process .flex-box .box .table {
		font-size: 15px;
	}
	.about .process .flex-box .num {
		font-size: 20px;
	}
}
@media screen and (max-width: 1024px){
	.about h2.title {
		padding: 120px 0 70px;	
	}
	.about .txt {
		font-size: 20px;
		padding: 20px 0;
	}
	.about .vision .txt {
	    padding: 70px 0;
	}
	.about .network .img {
	    margin: 80px 0;
	}
	.about .program .txt {
		padding-top: 55px;
	}
	#particle-canvas {
	    top: 200px;
	    height: 500px;
	}
	.about .program .particle-text {
		height: 430px;
    	top: 200px;
	}
	.about .program .particle-text span {
		font-size: 17px;
	}

	.about .process .flex > div {
	    margin-right: 15px;
	    padding: 20px 10px 15px;
	}
	.about .process .flex-box .box strong {
	    font-size: 15px;
	}
	.about .process .flex-box .box .table {
		margin-top: 15px;
		height: 100px;
		font-size: 12px;
	}
	.about .process .flex-box .num {
	    font-size: 15px;
	    border-width: 10px!important;
	    width: 70px;
    	height: 70px;
    	bottom: -100px;
	}
	.about .process .flex-box .num:before {
	    top: -47px;
	    height: 80%;
	}
	.about .process .flex01 {
	    margin-bottom: 145px;
	}
	.about .process .flex01:after {
		height: 5px;
		bottom: 10px;
		width: 88.2%;
	}
	.about .process .flex02:before {
		height: 5px;
		top: -70px;
		width: 88.2%;
	}
	.about .process .flex02 .num:before {
	    top: 60px;
	}
	.about .process .flex02 .num {
		top: -100px;
	}
	.about .process .flex01:before {
	    bottom: -86px;
    	height: 101px;
		border-image-width: 0 10px 0 0;
	}
}
@media screen and (max-width: 768px){
	.about h2.title {
	    padding: 70px 0 50px;
	}
	.about .txt {
		font-size: 15px;
	}
	.about .network .img {
	    margin: 10% 0;
	}
	#particle-canvas {
	    top: 140px;
	    height: 370px;
	}
	.about .program .particle-text {
	    height: 320px;
	    top: 140px;
	}
	.about .program .particle-text span {
	    font-size: 14px;
	}
	.about .program .particle-text span:after {
		width: 15px;
		height: 17px;
	}
	.about .process .flex > div {
		padding: 20px 15px;
		margin: 65px 0 100px;
	}
	.about .process .flex01 {
		display: block;
		margin-bottom: 0;
	}
	.about .process .flex01:after {
		display: none;
	}
	.about .process .flex02 {
		display: block;
	}
	.about .process .flex01:before,
	.about .process .flex02:before {
		display: none;
	}
	.about .process .flex-box .num {
    	top: -80px;
    }
    .about .process .flex-box .num:before {
    	top: 55px;
    	height: 20px;
    }

}
@media screen and (max-width: 640px){
	.about .txt {
		font-size: 14px;
	}
	.about .vision .txt {
		padding: 10% 0;
	}
}