/* Cascading Style Sheet Name: softice homepage style */

/****************************/
/******** main visual *******/
/****************************/
.main_visual {
	position: relative;
	height: 100vh;
    overflow: hidden;
}
.main_visual:after {
	content: '';
	display: block;
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,0.1);
	position: absolute;
	top: 0;
	left: 0;
}
.main_visual video {
    position: absolute;
    left: 50%;
    top: 50%;
    right: auto;
    bottom: auto;
    min-width: 100%;
    min-height: 100%;
    transform: translate(-50%,-50%);
    z-index: -1;
}

/***** 초기 설정값 *****/
*{
	margin:0; padding:0;border:0 
}

html, body {
font-size: 13px;
font-weight: 300;
height: 100%;
}

h1 {font-size: 1.625rem;}
h2 {font-size: 1.25rem;}
h3 {font-size: 1.0625rem;}
h4 {font-size: .9375rem;}
h5 {font-size: .8125rem;}
h6 {font-size: .625rem;}

a {
	color: inherit;
    text-decoration: none;
}
a:hover {
	color: inherit;
	text-decoration: none;
}
a:link {
	color: inherit;
	text-decoration: none;
}
ul, ol, li {
    list-style: none;
    margin: 0;
}
b, strong {
    font-weight: bolder;
}
img {
	max-width: 100%;
	vertical-align: middle;
}
button:active, button:focus {
	outline: none;
}
*:focus {
    outline: none;
}
*, :after, :before {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}
video {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: translate(-50%, -50%);
}
/***** 초기 설정값 *****/

.softice_wrap {
	display: flex;
	flex-direction: column;
	min-height: 100vh;
	min-width: 1200px;
}
.softice_body {
	position: relative;
	flex: 1;
}

/***** 초기 설정값 *****/

/***** softice_header *****/
.softice_header {
	position: fixed;
	top: 0;
	left: 0;
    z-index: 999;
    width: 100%;
    height: 100px;
    line-height: 100px;
    box-sizing: border-box;
    color: #fff;
 /*   background-image: linear-gradient(0deg , rgba(0, 0, 0, .0) 0%, rgba(0, 0, 0, .7) 100%); */
    transition: all .25s ease;
}
.softice_header.sub {
	background: #000;
}
.softice_header.on {
	background: #071362;
	color: #fff;
	transition: all .25s ease;
}
.softice_header.on .top_logo {
	margin-top: 0;
	height: 100px;
	background: transparent;
}
.softice_header.on .top_logo .logo_text {
	display: none;
}
.softice_header.on .top_logo img {
	width: 100%;
}
.top_logo {
	float: left;
	/*background: #071362; */
	background-size: contain;
	width: 210px;
	margin-top: 0px;
	padding: 30px;
	line-height: 1;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	cursor: pointer;
	transition: all .25s ease;
}
.top_logo img {
	width: 100%;
	margin: 0;
}
.logo_text {
	font-family: 'Kalam';
	width: 100%;
	font-size: 15px;
	line-height: 1.2;
	text-align: left;
	margin-bottom: 10px;
	border-bottom:1px solid rgba(255,255,255,1);
	padding-bottom:8px;
	opacity: .5;
}
.logo-lg {
	display: inline-block;
}
.logo-lg.on {
	display: none;
}
.logo-md {
	display: none;
}
.logo-md.on {
	display: inline-block;
}
.top_nav {
	display: inline-block;
	margin-left: 60px;
}
.top_nav ul li {
	float: left;
	margin-left: 50px;
}
.top_nav ul li a {
	padding: 0;
    position: relative;
    height: 100%;
    display: inline-block;
    font-size: 18px;
    font-weight: 100;
    text-transform: uppercase;
}
.top_nav ul li a:hover {
	color: #3a8deb;
}

.top_nav ul li a:before {
	content: '';
	display: inline-block;
	width: 0;
	height: 3px;
	background: #ffffff;
	position: absolute;
	bottom: 25px;
	left: 0;
	transition: width .25s ease;
}
.top_nav ul li a.on:before {
	width: 100%;
	transition: width .25s ease;
}
.top_right {
	float: right;
}
.btn_top {
	padding: 10px 30px;
	border: 1px solid #fff;
	color: #fff;
}
.btn_top:hover {
	background: #fff;
	color: #0078ff;
}
/***** softice_header end*****/



/***** sub_nav *****/
.sub_nav {
	position: sticky;
	top: 100px;
	background: #ffffff;
	-webkit-box-shadow: 6px 8px 16px 0 rgb(0 0 0 / 10%);
    -moz-box-shadow: 6px 8px 16px 0 rgba(0, 0, 0, .1);
    box-shadow: 6px 8px 16px 0 rgb(0 0 0 / 10%);
    z-index: 10;
}
.sub_nav ul {
	display: flex;
}
.sub_nav ul li {
	flex: 1;
    position: relative;
    font-size: 1rem;
    font-weight: 700;
    border-left: 1px solid rgba(0, 0, 0, .1);
}
.sub_nav ul li:last-child {
	border-right: 1px solid rgba(0, 0, 0, .1);
}
.sub_nav ul li a {
	width: 100%;
	padding: 20px;
    display: inline-block;
    text-align: center;
    color:#000;
}
.sub_nav ul li a:hover {
	color: #3e699a;
}
.sub_nav ul li.active a {
	color: #fff;
	background: #3e699a;
}
/***** sub_nav end *****/


/***** softice_footer *****/
.softice_footer {
	padding: 20px 0;
	background: #323237;
	color: #cccccc;
	font-size: 12px;
}
.footer_wrap {
	display: flex;
}
.footer_info {
	font-size: 1rem;
	flex: 1;
}
.footer_info h2 {
	font-size: 13px;
	font-weight: 700;
	margin-bottom: 5px;
}
address {
	margin-bottom: 5px;
}
.footer_contact {
	display: block;
}
.footer_contact li {
	float: left;
	line-height: 1;
	margin-right: 25px;
	padding-right: 25px;
	border-right: 1px solid #999;
}
.footer_contact li:last-child {
	margin-right: 0;
	border-right: none;
}
.copyright {
	margin: 15px 0;
}
/***** softice_footer end*****/

/***** page tittle *****/
.page_title {
	position: relative;
	height: 200px;
	padding-top: 100px;
	color: #fff;
	text-align: center;
	background-color: #343b58;
	background-size: cover;
	background-position: center center;
}
.page_title h2 {
	font-size: 42px;
	font-weight: 700;
}
.page_title h3 {
	font-size: 20px;
	font-weight: 300;
}

.page_title.solution {
	/* height: 400px; */
	background-image: url(../img/title_solution_bg.png);
}

.page_title.service {
	/* height: 400px; */
	background-image: url(../img/title_service_bg.png);
}
.page_title.support {
	/* height: 400px; */
	background-image: url(../img/title_support_bg.png);
}
.page_title.company {
	/* height: 400px; */
	background-image: url(../img/title_company_bg.png);
}
.page_title.about_intro {
	height: 960px;
	overflow: hidden;
	position: relative;
	max-height: 960px;
}
/***** page tittle end *****/

/***** section *****/
section {
	position: relative;
    width: 100%;
    padding: 20px 0; /* 상단 마진 설정 */
}
section.line {
	border-bottom: 1px solid #ededed;
}
section.light {
	background-color: #f5f5f7;
}
section.dark {
	background-color: #1d1d1f;
	color: #fff;
}
.section_title {
	text-align: center;
	margin-bottom: 20px; /* 하단 마진 설정 */
}
.section_title > h3 {
	font-size: 32px;
	font-weight: 700;
}
.section_title > p {
	margin-top: 15px;
	font-size: 16px;
	color: #a0a0a0;
}
.inner {
	position: relative;
	width: 1200px;;
	margin: 0 auto;
}
/***** section_title end *****/

/***** Modal *****/
.modal-content {
	border-radius: 15px;	
}
.modal-body {
	padding: 30px 50px;
	min-height: 400px;
	text-align: 0 ;
}
.modal-body h4 {
	font-size: 2rem;
	font-weight: 700;
	margin: 30px 0;
}
.modal-close {
	display: inline-block;
	position: absolute;
	top: 30px;
	right: 30px;
	z-index: 10;
	font-size: 3rem;
	cursor: pointer;
}
/***** Modal *****/


/***** scroll-animation *****/
.scroll-animation-obj {
	opacity: 0;
	-webkit-transition: all 1.4s cubic-bezier(0.6, 0.2, 0.1, 1);
	transition: all 1.4s cubic-bezier(0.6, 0.2, 0.1, 1);
}
.scroll-animation-obj:nth-child(2) {
	-webkit-transition: all 1.4s cubic-bezier(0.6, 0.2, 0.1, 1);
	transition: all 1.4s .25s cubic-bezier(0.6, 0.2, 0.1, 1);
}
.scroll-animation-obj:nth-child(3) {
	-webkit-transition: all 1.4s cubic-bezier(0.6, 0.2, 0.1, 1);
	transition: all 1.4s .5s cubic-bezier(0.6, 0.2, 0.1, 1);
}
.scroll-animation-obj:nth-child(4) {
	-webkit-transition: all 1.4s cubic-bezier(0.6, 0.2, 0.1, 1);
	transition: all 1.4s .75s cubic-bezier(0.6, 0.2, 0.1, 1);
}
.scroll-animation-hop {
	transform: translate(0,40px);
}
.scroll-animation-left {
	transform: translate(-80px,0);
}
.scroll-animation-right {
	transform: translate(80px,0);
}
.scroll-animation-up {
	transform: translate(0,-80px);
}
.scroll-animation-down {
	transform: translate(0,80px);
}
  /***** scroll-animation end *****/

  /***** 404 style *****/
.header {
	height: 80px;
	line-height: 80px;
}
.header .header_logo {
	float: left;
	width: 120px;
}
.header .header_nav {
	flex: 1;
}
.header .header_nav li {
	
}
.error_wrap {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-60%);
	text-align: center;
	display: inline-block;
}
.error_wrap > .error_img {
	position: relative;
	display: inline-block;
	font-family: 'roboto';
	font-size: 130px;
	font-weight: 900;
	color: #071362;
	line-height: 1;
}
.error_wrap > .error_img > span {
	display: inline-block;
	font-weight: 900;
	font-size: 50px;
	vertical-align: middle;
	width: 140px;
	text-align: center;
	padding-bottom: 30px;
}
.error_wrap > strong {
	display: block;
    margin-top: 50px;
    font-size: 32px;
    font-weight: 700;
    line-height: 46px;
    letter-spacing: -.8px;
}
.error_wrap > p {
	margin-top: 12px;
    line-height: 1.71;
    letter-spacing: -.2px;
    color: #666;
}
.error_wrap > .btn {
	margin-top: 36px;
}
.gear_bg {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-60%);
	width: 100px;
	height: 100px;
}
.gear_bg .gear {
	display: inline-block;
	width: 100%;
	height: 100%;
	background: url(../img/404_gear.png)no-repeat center center;
	background-size: contain;
	animation: gear 8s infinite linear;
}
@keyframes gear {
	from {
		transform: rotate(0);
	}
	to {
		transform: rotate(360deg);
	}
}

/***** bt_item  *****/
.bt_item {
	font-size: 1rem;
	background: #fff;
	box-shadow: 1px 1px 3px rgb(0 0 0 / 30%);
	text-align: center;
	padding: 10px;
}
.bt_item.blue1 {
	background: #a0ddff;
	color: #000;
}
.bt_item.blue2 {
	background: #52b8f2;
	color: #fff;
}
.bt_item.blue3 {
	background: #00a0e9;
	color: #fff;
}

.txt_box {
	background: #f8f8f8;
	padding: 30px;
}
.arrow:after {
	content: '\e5cc';
	font-family: 'Material Icons';
	font-size: 2rem;
	vertical-align: middle;
	margin-left: 30px;
	line-height: 1;
}
