@charset "utf-8";

#wrapper .swiper-button-prev {background-image: url(../img/common/ico_prev_mint.png); background-color: transparent;}
#wrapper .swiper-button-next {background-image: url(../img/common/ico_next_mint.png); background-color: transparent;}


/***** main *****/
main section .area {position: relative; z-index: 1;}
main section h2 {font-size: 46px; font-weight: 800; letter-spacing: 0;}
main section .info_text {font-size: 18px; line-height: 36px; letter-spacing: -0.3px;}
main section .info_text strong {color:#4759aa; font-weight: 800;}

/** section01 - main banner **/
.main_banner {position: relative; background: url(../img/main/main_line_bg.png) no-repeat center; background-size: cover; padding: 300px 0 120px; margin-top: -91px; overflow: hidden;}
.main_banner:after {content:""; position: absolute; bottom:0; right:50%; transform: translateX(50%); width: 2px; height: 40px; background:#475aab;}
.main_banner .area {position: relative; z-index: 1; overflow: hidden;}
.main_banner .mb_content {float: left; width: calc(100% / 2);}
.main_banner .mb_text {margin-top: 60px;}
.main_banner .mb_text h2 {line-height: 90px; font-size: 80px; color:#4759aa; font-family: "Montserrat", sans-serif; font-weight: 800;}
.main_banner .mb_text h2 strong {display: block; color:#02fbe1;}
.main_banner .mb_text p {font-size: 24px; line-height: 48px; margin-top: 40px;}

.main_banner .mb_intro {position: relative; max-width: 700px; padding-left: -20px;}
.main_banner .mb_intro li {position: relative; float: left; width: calc(100% / 3); margin-bottom: 30px;}
.main_banner .mb_intro li p {position: absolute; top:50px; left:-10px; font-size: 24px; line-height: 30px; color:#02fbe1; font-weight: bold; letter-spacing: -0.3px;}
.main_banner .mb_intro li .intro_obj { width: 210px; height: 210px; background:#475aab; border-radius: 50%;}

.main_banner .mb_intro li.on p {color:#475aab;}
.main_banner .mb_intro li.on .intro_obj {background:#02fbe1;}

.main_banner .cross_wrap {position: absolute; width: 240px; top:calc(50% - 10px); right: 52%; transform: translate(50%, -50%);}
.main_banner .cross_wrap .cross_obj02 {float: right;}

.main_banner .mb_obj {position: absolute; animation: move01 10s infinite;}

/** section02 - about **/
.about {position: relative; background:#f8f8f8; padding:90px 0; text-align: center; overflow: hidden;}
.about h2 {position: relative;}
.about:before {content:""; position: absolute; top:-50px; right:50%; transform: translateX(50%); width: 2px; height: 90px; background:#475aab;}
.about .sub_title {font-size: 26px;font-weight: 300; letter-spacing: -0.1px; margin:30px 0 40px;}
.about .about_obj {position: absolute; bottom:0; left:-7%; height:550px;}

/* section03 - solution */
main .solution {position: relative; background: #4759aa; padding:130px 0 125px; overflow: hidden;}
main .solution:after {content:""; position: absolute; bottom:0; right:50%; transform: translateX(50%); width: 2px; height: 50px; background:#fff;}
main .solution .solution_list {margin-top: 56px;}
main .solution .solution_list li {position: relative; float: left; width: 28%; height: 400px; margin:0 8% 80px 0; z-index: 1;}
main .solution .solution_list li:nth-child(3n) {margin-right: 0;}

main .solution .solution_list .solution_num {position: relative; font-size: 23px; font-weight: 800;}
main .solution .solution_list .solution_num::after {content:""; position: absolute; bottom:8px; right:0; width: calc(100% - 40px); height: 4px; background:#fff;}
main .solution .solution_list .solution_category {font-size: 18px; line-height: 30px; color:#fff; text-transform: uppercase; margin: 30px 0 20px;}
main .solution .solution_list h3 {font-size: 23px;}
main .solution .solution_list .solution_info {font-size: 16px; height: 120px; line-height: 28px; color:#fff; margin: 30px 0 0;}

main .solution .solution_list .solution_detail {position: absolute; bottom:0; width: 100%;}
main .solution .solution_list li.on .solution_detail a {background: url(../img/common/ico_arr_b.png) no-repeat 95% #02fbe1; color:#323232;}
main .solution .solution_list .solution_detail a {display: block; height: 60px; line-height: 60px; font-size: 18px; background: url(../img/common/ico_arr_w.png) no-repeat 95% #323232; color:#fff; text-indent: 28px;}

main .solution .solution_obj .obj01 {position: absolute; animation: move02 11s infinite;}
main .solution .solution_obj .obj02 {position: absolute; bottom:0; right:0;}

/** section04 - relationship **/
.relationship {position: relative; background:#f8f8f8; padding:90px 0; text-align: center; overflow: hidden;}
.relationship:before {content:""; position: absolute; top:0; right:50%; transform: translateX(50%); width: 2px; height: 50px; background:#475aab;}
.relationship h2 {margin-bottom: 34px;}
.relationship .relationship_obj {position: absolute; animation: move04 9s infinite;}

/** section05 - portfolio **/
.portfolio {background:url(../img/main/main_line_bg.png) no-repeat center;}
.portfolio .area {padding:120px 0;}
.portfolio .portfolio_slide {margin:80px 0 70px;}
.portfolio .swiper-slide strong {display: block; font-size:18px; line-height: 28px; text-align: center; margin-top: 20px;}
.portfolio .swiper-button-prev {left: -80px;}
.portfolio .swiper-button-next {right: -80px;}


/** section06 - process **/
.process {position: relative; background:#4759aa; overflow: hidden;}
.process .area {padding:120px 0 180px;}
.process h2 {margin-bottom: 70px;}
.process .process_obj {position: absolute; animation: move05 9s infinite;}
.process p {color:#fff; }

.process .process_list {position: relative; max-width: 562px; float: left;}
.process .process_list li {float: left; width: calc(100% / 3); margin-bottom: 22px; text-align: center;}
.process .process_list li div {position: relative; width: 160px; height: 160px; border:1px solid #fff; border-radius: 50%;}
.process .process_list li .process_num {font-size: 16px; font-family: "Montserrat", sans-serif; font-weight: 400; margin-top:14px;}
.process .process_list li .process_text {position: absolute; width: 100%; right:50%; top:50%; transform:translate(50%, -50%); font-size: 20px; line-height: 28px;}
.process .process_list .cross_wrap {position: absolute; width: 230px; top:calc(50% - 8px); right: 50%; transform: translate(50%, -50%);}
.process .process_list .cross_obj02 {float: right; margin-right: 26px;}

.process .process_info {float: right; width: calc(100% - 700px);}
.process .process_info .pi_title strong {font-size: 30px; line-height: 50px; font-weight: 500;}
.process .process_info .pi_text {font-size:24px; line-height: 28px; margin: 40px 0 34px;}
.process .process_info .pi_text a {font-size: 25px; font-weight: bold;}
.process .process_info .pi_text em {font-size: 16px; font-style: normal;}

.process .process_info .btn_wrap.type01 {margin:0;}
.process .process_info .btn_wrap .jehu_btn { background:url(../img/common/ico_arr_b.png) no-repeat 95% #fff; color:#323232; margin-top: 16px; border:2px solid #323232; box-sizing: border-box;}
.process .process_info .btn_wrap .jehu_btn:hover {border-color: #02fbe1;}

/** section07 - certification **/
.certification {background:url(../img/main/main_line_bg.png) no-repeat center;}
.certification .area {padding:120px 0 150px;}
.certification .certification_slide {margin-top: 70px;}
.certification .swiper-slide {text-align: center;}
.certification p {font-size: 16px;}
.certification .cc_num {font-weight: bold; margin:24px 0 14px;}
.certification .cc_text {line-height: 26px; color:#666;}

.certification .swiper-button-prev {left: -80px;}
.certification .swiper-button-next {right: -80px;}


/* main banner */
@keyframes move01 {
	0% { top:0; right:-60px; }
	50% { top:-40px; right:-100px; }
	100% { top:0; right:-60px;}
}
/* solution obj01 */
@keyframes move02 {
	0% { top:0; left:-3%;}
	50% { top:-50px; left:-6%;}
	100% { top:0; left:-3%;}
}
/* solution obj02 */
@keyframes move03 {
	0% { bottom:0; right:0;}
	50% { bottom:-50px; right:-3%;}
	100% { bottom:0; right:0;}
}
/* relationship */
@keyframes move04 {
	0% { top:-580px; right:0;}
	50% { top:-540px; right:-3%;}
	100% { top:-580px; right:0;}
}

/* process */
@keyframes move05 {
	0% { top:-100px; right:-3%;}
	50% { top:-100px; right:-4%;}
	100% { top:-100px; right:-3%;}
}

@media screen and (max-width:1600px){

	/* common */
	#wrapper section .swiper-button-prev {left:0;}
	#wrapper section .swiper-button-next {right:0;}

}

@media screen and (max-width:1400px) {

	/* main banner */
	.main_banner .mb_intro {float: right; max-width: 540px;}
	.main_banner .mb_intro li {width: calc(100% / 2);}
	.main_banner .cross_wrap {transform: translate(50%, -50%) rotate(90deg); margin-right:6%;}

	/* solution */
	main .solution .solution_list li {width: 46%;}
	main .solution .solution_list li:nth-child(2n) {margin-right: 0;}
	main .solution .solution_list li:nth-child(3n) {margin-right: 8%;}
}

@media screen and (max-width:1200px){

	/* main banner */
	.main_banner .mb_text h2 {font-size: 60px; line-height: 70px;}
	.main_banner .mb_text p {font-size: 20px; line-height: 36px;}
	.main_banner .mb_intro li p {top:30px; font-size: 20px; line-height: 26px;}
	.main_banner .mb_intro li .intro_obj {width: 180px; height: 180px;}

	/* process */
	.process .process_list {max-width: 460px;}
	.process .process_list li div {width: 140px; height: 140px;}
	.process .process_list li .process_text {font-size: 17px; line-height: 24px;}

	.process .process_info {width: calc(100% - 500px); margin-right: 0;}
	.process .process_info .pi_title strong {font-size: 24px; line-height: 40px;}
	.process .process_info .pi_title strong br {display: none;}
	.process .process_info .pi_text {font-size: 18px;}
	.process .process_info .pi_text a {font-size: 20px;}
	.process .process_info .pi_text em {font-size: 14px;}

	.process .process_list .cross_wrap {width: 190px;}
	.process .process_list .cross_obj02 {margin-right:13px;}
}

@media screen and (max-width:1024px){

	/* main banner */
	.main_banner .mb_intro {max-width: 370px;}
	.main_banner .mb_intro li .intro_obj { width: 150px; height: 150px;}
}

@media screen and (max-width:800px){

	/* common */
	main section h2 {font-size: 28px;}
	main section .info_text {font-size: 14px; line-height: 26px;}
	.animate_obj {display: none;}
	#wrapper section .swiper-button-prev {display: none; left:0;}
	#wrapper section .swiper-button-next {display: none; right:0;}
	.btn_wrap.type01 {max-width: 300px;    margin-top: 30px !important;}
	.btn_wrap a {font-size: 14px; height: 45px; line-height: 45px;}

	/* main banner */
	.main_banner {background: url(../img/main/m_main_line_bg.png) no-repeat center; background-size: 100% 100%; padding:140px 0 80px;}
	.main_banner:after {bottom:0; width: 1px; height: 30px;}
	#wrapper .main_banner .area {padding-right: 0;}
	.main_banner .mb_content {float: none; width: 100%; padding: 0;}
	.main_banner .mb_intro {margin: 40px 10px 0;}
	.main_banner .mb_text {margin-top: 30px;}
	.main_banner .mb_text h2 {font-size: 48px; line-height: 54px; letter-spacing: -0.5px;}
	.main_banner .mb_text p {font-size: 15px; line-height: 30px; margin-top:20px; padding-right: 30px;}
	.main_banner .mb_text p br:nth-of-type(2) {display: none;}
	.main_banner .mb_obj {top:-150px; right: -580px; animation: none;}
	.main_banner .mb_obj img {}
	.main_banner .mb_intro li {width: 47%; margin-right: 6%; margin-bottom: 15px;}
	.main_banner .mb_intro li:nth-child(2n) {margin-right: 0;}
	.main_banner .mb_intro li:nth-child(2n) a {float: right;}
	.main_banner .mb_intro li a {display: table; margin: 0 auto;}
	.main_banner .mb_intro li p {left:0; font-size: 18px; line-height: 24px;}
	.main_banner .mb_intro li p:after {content: ''; position: absolute; bottom:9px; width: 14px; height: 6px; background:url(../img/common/ico_arr_mint.png) no-repeat; background-size: 100%; margin-left: 10px; vertical-align: text-top;}
	.main_banner .mb_intro li.on p:after {content: ''; position: absolute; bottom:9px; width: 14px; height: 6px; background:url(../img/common/ico_arr_blue.png) no-repeat; background-size: 100%;}
	.main_banner .cross_wrap {width: 180px; margin-right: -2%;}

	/* main banner */
	/*@keyframes mMove01 {
		0% { top:0; right:-90%; }
		50% { top:0; right:-80%; }
		100% { top:0; right:-90%; }
	}*/

	/* about */
	.about {padding: 50px 0; overflow: inherit;}
	.about:before {width: 1px; top:-25px; height: 50px;}
	.about .sub_title {font-size: 20px; margin:20px 0 20px;}

	/* solution */
	main .solution {display: none;}

	/* relationship */
	.relationship {padding:0 0 40px 0; overflow: inherit;}
	.relationship:before {display: none;}
	.relationship h2 {margin-bottom: 20px;}

	/* portfolio */
	.portfolio {background: url(../img/main/m_main_line_bg.png) no-repeat center; background-size: 100% 100%;}
	#wrapper .portfolio .area {padding:70px 0 70px 30px;}
	.portfolio .portfolio_slide {margin:60px 0 50px;}
	.portfolio .swiper-slide a {display: table; margin: 0 auto;}
	.portfolio .swiper-slide strong {font-size: 15px; line-height: 24px;}
	.portfolio .btn_wrap {max-width: 330px; padding-right: 30px;}

	/* process */
	.process h2 {margin-bottom: 45px;}
	.process .area {padding:70px 30px;}
	.process .process_list {float: none; max-width: inherit;}
	.process .process_list li .process_num {font-size: 12px;}
	.process .process_list li .process_text {font-size: 12px; line-height: 18px;}
	.process .process_list li .process_text.line2 {margin-top:8px;}
	.process .process_list li div {width: 95px; height: 95px; margin: 0 auto;}

	.process .process_list .cross_wrap {width: 36%;}
	.process .process_list .cross_obj02 {margin-right: 0;}

	.process .process_info {float: none; width: 100%; margin-top: 20px;}
	.process .process_info .pi_title strong {font-size: 20px; line-height: 32px;}
	.process .process_info .pi_text {margin: 30px 0 0;}
	/* .process .process_info .btn_wrap.type01 {display: none;} */

	/* certification */
	.certification .area {padding:60px 0 80px 30px;}
	.certification p {font-size: 12px;}
	.certification .cc_num {margin:16px 0 8px;}
	.certification .cc_text {line-height: 18px;}
}
