.pc{ display:none; }

/* *****  共通ヘッダー ***** */
.header_menu{
	position:absolute;
	width:100%;
	top:0;
	left:0;
	z-index:900;
}

.header_menu_inner{
	max-width:980px;
	margin:0 auto;
	position: relative;
}

.nav_toggle {
	display: block;
	position: absolute;
	right: 0;
	top: 0;
	width: 42px;
	height: 48px;
	cursor: pointer;
	z-index: 3;
	text-align: center;
	margin: 0 0 0 auto;
	background:rgba(255,255,255,0.2);
}
.nav_toggle span {
	display: block;
	position: absolute;
	width: 30px;
	border-bottom: solid 3px #000;
	-webkit-transition: .35s ease-in-out;
	-moz-transition: .35s ease-in-out;
	transition: .35s ease-in-out;
	left: 6px;
}
.nav_toggle span:nth-child(1){top:9px;}
.nav_toggle span:nth-child(2){top:18px;}
.nav_toggle span:nth-child(3){top:27px;}
.nav_toggle span:nth-child(4) {
	border: none;
	color: #eee;
	font-size: 9px;
	font-weight: bold;
	top: 34px;
}
.nav_toggle.active span:nth-child(1) {
	top: 18px;
	left: 6px;
	-webkit-transform: rotate(-45deg);
	-moz-transform: rotate(-45deg);
	transform: rotate(-45deg);
}
.nav_toggle.active span:nth-child(2),
.nav_toggle.active span:nth-child(3) {
	top: 18px;
	-webkit-transform: rotate(45deg);
	-moz-transform: rotate(45deg);
	transform: rotate(45deg);
}
.nav_toggle:after {
	position: absolute;
	left: 0;
	bottom: 0;
	content: 'MENU';
	width: 100%;
	color:#000;
	font-size: 10px;
}
.nav_toggle.active:after {
	content: 'CLOSE';
	color:#fff;
}

.nav_toggle.active span{
	border-bottom-color:#fff;
}

nav{
	background:rgba(31,121,167,1);
	display:none;
	margin: 0 0 0 auto;
	width:300px;
}

nav ul{
	padding:0 25px;
}

nav ul li{
	padding:25px 0;
	border-bottom:1px solid rgba(255,255,255,0.5);
}
nav ul li:last-child{
	border:0;
}

nav ul li a{
	display:block;
	color:#fff;
}

/* *****  共通フッター ***** */
footer{
	overflow:hidden;
}

.footer_link{
	background:#C8E9FA;
}
.footer_link_inner{
	max-width:980px;
	padding:0 10px;
	margin:0 auto;
}

.footer_logo{
	text-align:center;
	font-size:16px;
	font-weight:bold;
	padding:50px 0;
}

.footer_link_wrap{
	overflow:hidden;
	padding:0 0 50px;
}

.footer_link_l,
.footer_link_r{
	width:50%;
	float:left;
}

.footer_link_wrap .footer_link_l dl{
	width:380px;
	margin:0 0 0 auto;
}

.footer_link_wrap .footer_link_r dl{
	width:380px;
	margin:0 auto;
}

.footer_link_wrap dl dt{
	float:left;
	width:112px;
}

.footer_link_wrap dl dd{
	padding:0 0 20px 112px;
}

.copyright{
	background:#1F79A7;
}

.copyright_inner{
	padding:0 10px;
	max-width:980px;
	margin:0 auto;
	text-align:center;
	padding:20px 0;
}

.copyright small{
	color:#ffffff;
}

/* *****  トップページ ***** */
#top .header_inner{
	max-width:980px;
	padding:0 10px;
	margin: 0 auto;
}

#top .header_logo{
	padding:10px 0 10px;
	font-size:20px;
	font-weight:bold;
}

#top .wrap{
	padding:100px 0 500px;
	background:url("../images/top.jpg") no-repeat center top;
	background-size:cover;
}

#top .mv_inner{
	max-width:980px;
	padding:0 10px;
	margin: 0 auto;
}
#top .mv_en{
	font-size:28px;
	font-weight:bold;
}

#top .mv_ja{
	font-size:26px;
	font-weight:bold;
}

#top .mv_ja span{
	color:#1F79A7;
}

/* *****  機械学習特化型SES ***** */
#ses header{
	background:#1F79A7;
}

#ses header.mv4{
	background:url("../images/ses/mv4.jpg") no-repeat center center;
	background-size:cover;
}

#ses header.mv5{
	background:#000b1a url("../images/ses/mv5.jpg") no-repeat right center;
	background-size:auto 100%;
}

#ses .header_inner{
	max-width:1000px;
	margin:0 auto;
	overflow:hidden;
}

#ses .header_img{
	background:url("../images/ses/mv.jpg") no-repeat center center;
	background-size:cover;
	height:420px;
	width:50%;
	float:right;
}

#ses .header_img2{
	background-image:url("../images/ses/mv2.jpg");
}

#ses .header_img3{
	background-image:url("../images/ses/mv3.jpg");
}

#ses .header_box{
	width:50%;
	float:left;
}

#ses .mv4 .header_box{
	width:100%;
	float:none;
	text-align:center;
}

#ses .header_logo{
	padding:80px 10px 30px;
	text-align:center;
	font-size:20px;
	color:#fff;
	font-weight:bold;
}

#ses .mv4 .header_logo,
#ses .mv5 .header_logo{
	text-align:left;
	padding:10px 10px 30px;
	color:#000;
}

#ses .mv5 .header_logo{
	color:#fff;
}

#ses .header_catch{
	font-size:23px;
	font-weight:bold;
	color:#fff;
	padding:0 10px 10px;
}

#ses .mv4 .header_catch{
	text-align:center;
	color:#1F79A7;
	padding:100px 0 10px;
}

#ses .mv5 .header_catch{
	padding:100px 10px 10px;
}

#ses .header_title{
	font-size:31px;
	font-weight:bold;
	color:#fff;
	padding:0 10px;
}

#ses .mv4 .header_title{
	text-align:center;
	color:#1F79A7;
	padding:0 10px 140px;
}

#ses .mv5 .header_title{
	padding:0 10px 140px;
}

/* 幾何学背景 */
#ses #js-particles{
	position:relative;
}

#ses #js-particles .particles-js-canvas-el{
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	z-index:100;
}

#ses #js-particles .section_inner{
	position:relative;
	z-index:200;
}

/* コンテンツを斜めにする */
#ses .rotate {
	-webkit-transform: rotate(-3deg) translate3d(0, 0, 0);
	margin-left: -10%;
	padding: 0 5%;
	position: relative;
	transform: rotate(-3deg) translate3d(0, 0, 0);
	width: 110%;
}

#ses .rotate .section_inner{
	-webkit-transform: rotate(3deg) translate3d(0, 0, 0);
	transform: rotate(3deg) translate3d(0, 0, 0);
}

/* コンテンツ共通 */
#ses .wrap{
	overflow-x:hidden;
}

#ses #section_1{
	position:relative;
}

#ses #section_2{
	background:#F1F1F1;
	position:relative;
}

#ses #section_2:before {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	border-left: 100vw solid #ffffff;
	border-bottom: 50px solid transparent;
	z-index: 1000;
}

#ses #section_3{
	position:relative;
}

#ses #section_3:before {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	border-left: 100vw solid #f1f1f1;
	border-bottom: 50px solid transparent;
	z-index: 1000;
}

#ses #section_3:after {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	bottom: -49px;
	width: 100%;
	border-left: 100vw solid #ffffff;
	border-bottom: 50px solid transparent;
	z-index: 1000;
}

#ses #section_4{
	background:url("../images/ses/bg_case.jpg") no-repeat center bottom;
	background-size:cover;
	color:#fff;
	position:relative;
}

#ses #section_5{
	margin-top:-50px;
	padding:20px 0 0;
	position:relative;
}
#ses #section_5:before {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	top: 1px;
	width: 100%;
	border-bottom: 50px solid #ffffff;
    border-left: 100vw solid transparent;
	z-index: 1000;
}

#ses .section_inner{
	padding:80px 10px;
	max-width:980px;
	margin:0 auto;
}

#ses #section_2 .section_inner{
	padding-top:130px;
}

#ses #section_3 .section_inner{
	padding-top:130px;
	padding-bottom:100px;
}

#ses #section_4 .section_inner{
	padding-top:130px;
	padding-bottom:130px;
}

#ses #section_5 .section_inner{
	padding-top:100px;
}

#ses .section_title{
	text-align:center;
	font-size:24px;
	font-weight:bold;
	position:relative;
	padding:0 0 20px;
	margin:0 0 50px;
}

#ses .section_title:after{
	content:"";
	display:block;
	background:#1F79A7;
	width:80px;
	height:5px;
	position:absolute;
	left:50%;
	bottom:0;
	margin-left:-40px;
}

/* section1 */
#ses .strong_list:after{
	content:"";
	display:block;
	clear:both;
}

#ses .strong_list .strong_item{
	width:32%;
	padding:25px;
	margin:0 2% 0 0;
	float:left;
	border:1px solid #707070;
	box-sizing:border-box;
	box-shadow: 0 0 10px rgba(0, 0, 0, 0.16);
}

#ses .strong_list .strong_item:last-child{
	margin:0;
}

#ses .strong_list .strong_item .strong_title{
	font-size:18px;
	font-weight:bold;
	text-align:center;
}

#ses .strong_list .strong_item .strong_img{
	width:55px;
	margin: 0 auto;
	padding:30px 0;
}

/* section2 */
#ses .tech{
	overflow:hidden;
	padding:0 0 30px;
}

#ses .tech_text{
	max-width:447px;
	width:48%;
	float:left;
	/* padding:26px 0 0; */
}

#ses .tech_img{
	width:40%;
	float:right;
}

#ses .target_title{
	font-size:18px;
	font-weight:bold;
	padding:0 0 20px;
}

#ses .target_title span{
	display:inline-block;
	color:#1F99A7;
	padding:0 10px 0 0;
}

#ses .target_list{
	overflow:hidden;
}

#ses .target_list .target_item{
	width:24%;
	margin:0 1.33333% 0 0;
	float:left;
	border:1px solid #1F99A7;
	box-sizing:border-box;
	height:70px;
	position:relative;
	background:#ffffff;
}

#ses .target_list .target_item:before{
	content:"";
	display: block;
	background:#1F99A7 url("../images/ses/check.svg") no-repeat center center;
	background-size:10px auto;
	width: 20px;
	height: 20px;
	border-radius:100px;
	position:absolute;
	top:24px;
	left:10px;
}

#ses .target_list .target_item:last-child{
	margin:0;
}

#ses .target_name{
	display:block;
	position:absolute;
	top:50%;
	left:45px;
	transform:translate(0, -50%);
}

/* section3 */
#ses .flow_list{
	padding:0 0 80px;
}

#ses .flow_list:after{
	content:"";
	display:block;
	clear:both;
}

#ses .flow_list .flow_item{
	width:19%;
	margin:0 1.25% 0 0;
	float:left;
}

#ses .flow_list .flow_item:last-child{
	margin:0;
}

#ses .flow_list .flow_box{
	padding:15px;
	border:1px solid #707070;
	box-shadow: 0 0 10px rgba(0, 0, 0, 0.16);
	background:#fff;
}

#ses .flow_list .flow_step{
	text-align:center;
	padding:10px 0;
	line-height:1;
	background:#1F99A7;
	color:#fff;
}

#ses .flow_list .flow_title{
	text-align:center;
	font-size:18px;
	font-weight:bold;
	line-height:1;
	padding:10px 0 0;
}

#ses .flow_list .flow_text{
	font-size:13px;
	padding:10px 0 0;
}

#ses .man_list:after{
	content:"";
	display:block;
	clear:both;
}

#ses .man_list .man_item{
	width:48%;
	padding:30px;
	margin:0 4% 0 0;
	float:left;
	border:1px solid #707070;
	box-sizing:border-box;
	box-shadow: 0 0 10px rgba(0, 0, 0, 0.16);
	background:#fff;
}

#ses .man_list .man_item:last-child{
	margin:0;
}

#ses .man_list .man_item .man_img{
	width:55px;
	margin: 0 auto;
	padding:0 0 30px;
}

#ses .man_list .man_item .man_name{
	font-size:18px;
	font-weight:bold;
	text-align:center;
	padding:0 0 20px;
}

#ses .man_list .man_item .man_name span{
	font-size:14px;
}

#ses .man_list .man_item .man_text{
	padding:0 35px;
}

/* section4 */
#ses .case_list:after{
	content:"";
	display:block;
	clear:both;
}

#ses .case_list .case_item{
	width:34%;
	margin:0 4% 0 0;
	float:left;
}

#ses .case_list .case_item:first-child{
	width:24%;
}

#ses .case_list .case_item:last-child{
	margin:0;
}

#ses .case_list .case_item .case_title{
	font-size:18px;
	font-weight:bold;
	color:#000;
	background:rgba(255,255,255,0.8);
	padding:15px;
}

#ses .case_list .case_item .case_name{
	font-size:18px;
	font-weight:bold;
	padding:0 0 20px;
}

#ses .case_list .case_item .case_ttl{
	font-weight:bold;
	padding:20px 0 0;
}

#ses .case_list .case_item .case_ttl:before{
	content:"■ ";
	color:#1F99A7;
}

#ses .case_list .case_item .case_text{
	padding:5px 0;
}

#ses .case_list .case_item .case_table{
	width:100%;
}

#ses .case_list .case_item .case_table th{
	width:75px;
	border:1px solid #f1f1f1;
	color:#fff;
	padding:10px;
	background:rgba(255,255,255,0.1);
	font-size:90%;
}

#ses .case_list .case_item .case_table td{
	border:1px solid #f1f1f1;
	color:#fff;
	padding:10px;
	font-size:90%;
	background:rgba(255,255,255,0.2);
}

/* section5 */
#ses .contact input[type="text"]{
	border:1px solid #707070;
	font-size:16px;
	padding:10px;
	-webkit-border-radius : 0;
	-webkit-appearance : none;
	-webkit-tap-highlight-color : rgba(0,0,0,0);
	width:100%;
}

#ses .contact select{
	border:1px solid #707070;
	font-size:16px;
	padding:10px;
	background:#fff;
	-webkit-border-radius : 0;
	-webkit-appearance : none;
	-webkit-tap-highlight-color : rgba(0,0,0,0);
	width:100%;
}

#ses .contact dl{
	overflow:hidden;
	width:500px;
	margin:0 auto;
}

#ses .contact dt{
	width:150px;
	float:left;
	margin:0 0 20px;
}

#ses .contact dt em{
	font-size:10px;
	color:#a00;
}

#ses .contact dd{
	padding:0 0 0 160px;
	margin:0 0 20px;
}

#ses .contact .f_submit{
	text-align:center;
}

#ses .contact button{
	background:#1F79A7;
	font-size:16px;
	padding:10px 20px;
	color:#fff;
	border:0;
}

#ses .f_status{
	width:500px;
	margin:0 auto;
}

#ses .f_ok{
	border:1px solid #1F79A7;
	padding:15px;
	margin:0 0 20px;
	color: #1F79A7;
}

#ses .f_ng{
	border:1px solid #ea618e;
	padding:15px;
	margin:0 0 20px;
	color:#ea618e;
}

@media screen and (max-width: 767px){
	.pc{ display:none; }
	.sp{ display:block; }
	br.sp{ display:inline; }
	
	/* *****  共通ヘッダー ***** */
	.header_menu{
		position:static;
	}
	.header_menu_inner{
		width:auto;
	}
	nav{
		width:auto;
		border-bottom:1px solid rgba(255,255,255,0.5);
	}
	
	/* *****  共通フッター ***** */
	footer{
		min-width:initial;
	}

	.footer_link_inner{
		width:auto;
		padding:0 10px;
	}
	
	.footer_link_l,
	.footer_link_r{
		width:auto;
		float:none;
	}
	
	.footer_link_wrap .footer_link_l dl{
		width:auto;
	}
	
	.footer_link_wrap .footer_link_r dl{
		width:380px;
		margin:0 auto;
	}
	
	.copyright_inner{
		padding:20px 10px;
		width:auto;
	}

	/* *****  トップページ ***** */
	#top .header_inner{
		width:auto;
	}
	
	#top .header_logo{
		padding:10px 0 10px;
		font-size:20px;
		font-weight:bold;
	}
	
	#top .wrap{
		padding:100px 0 300px;
	}
	
	#top .mv_inner{
		width:auto;
	}
	#top .mv_en{
		font-size:22px;
		text-align:center;
	}
	
	#top .mv_ja{
		font-size:21px;
		text-align:center;
	}

	/* *****  機械学習特化型SES ***** */
	#ses .header_inner{
		width:auto;
	}
	
	#ses .header_img{
		height:300px;
		width:auto;
		float:none;
	}
	
	#ses .header_box{
		width:auto;
		float:none;
		margin:0 10px;
	}
	
	#ses .header_logo{
		padding:40px 0 30px;
		font-size:15px;
	}
	
	#ses .header_catch{
		font-size:16px;
		text-align:center
	}
	
	#ses .header_title{
		font-size:26px;
		text-align:center;
		padding:0 0 30px;
	}
	
	/* コンテンツを斜めにする */
	#ses .rotate .section_inner{
		padding: 40px 30px;
	}
	
	/* コンテンツ共通 */
	#ses .wrap{
		min-width:initial;
	}

	#ses #section_2:before {
		border-bottom: 25px solid transparent;
	}
	
	#ses #section_3:before {
		border-bottom: 25px solid transparent;
	}
	
	#ses #section_3:after {
		bottom: -24px;
		border-bottom: 25px solid transparent;
	}
	
	#ses #section_5{
		margin-top:-25px;
		padding:20px 0 0;
	}
	#ses #section_5:before {
		border-bottom: 25px solid #ffffff;
	}
	
	#ses .section_inner{
		padding:40px 10px;
		max-width:initial;
	}
	
	#ses #section_2 .section_inner{
		padding-top:65px;
	}
	
	#ses #section_3 .section_inner{
		padding-top:65px;
		padding-bottom:50px;
	}
	
	#ses #section_4 .section_inner{
		padding-top: 80px;
		padding-bottom:80px;
	}
	
	#ses #section_5 .section_inner{
		padding-top:50px;
	}
	
	#ses .section_title{
		font-size:18px;
		padding:0 0 15px;
		margin:0 0 30px;
	}
	
	#ses .section_title:after{
		width:40px;
		height:3px;
		margin-left:-20px;
	}
	
	/* section1 */
	#ses .strong_list .strong_item{
		width:auto;
		padding:25px;
		margin:0 0 20px;
	}
	
	#ses .strong_list .strong_item .strong_title{
		font-size:16px;
	}
	
	#ses .strong_list .strong_item .strong_img{
		padding:10px 0;
	}
	
	/* section2 */
	#ses .tech_text{
		width:auto;
		float:none;
		padding:0 0 20px;
	}
	
	#ses .tech_img{
		width:auto;
		float:none;
	}
	
	#ses .target_title{
		font-size:15px;
		padding:0 0 10px;
	}
	
	#ses .target_list .target_item{
		width:49%;
		margin:0 0 20px;
		float:left;
		height:70px;
	}
	
	#ses .target_list .target_item:nth-child(even){
		float:right;
	}
	
	#ses .target_list .target_item:last-child{
		margin:0;
	}
	
	/* section3 */
	#ses .flow_list{
		padding:0 0 40px;
	}
	
	#ses .flow_list .flow_item{
		width:auto;
		margin:0 0 20px;
		float:none;
	}
	
	#ses .flow_list .flow_box{
		padding:10px;
		overflow:hidden;
	}
	
	#ses .flow_list .flow_step{
		width:30%;
		float:left;
		text-align:center;
	}
	
	#ses .flow_list .flow_title{
		width:70%;
		float:right;
		padding:10px 0 0;
		font-size:16px;
	}
	
	#ses .flow_list .flow_text{
		font-size:13px;
		padding:10px 0 0;
	}
	
	#ses .man_list .man_item{
		width:auto;
		padding:25px;
		margin:0 0 20px;
		float:none;
	}
	
	#ses .man_list .man_item .man_img{
		padding:0 0 10px;
	}
	
	#ses .man_list .man_item .man_name{
		font-size:16px;
		padding:0 0 10px;
	}
	
	#ses .man_list .man_item .man_text{
		padding:0;
	}
	
	/* section4 */
	#ses .case_list .case_item{
		width:auto;
		margin:0 0 20px;
		float:none;
	}
	
	#ses .case_list .case_item:first-child{
		width:auto;
	}
	
	#ses .case_list .case_item .case_title{
		font-size:15px;
		padding:10px;
	}
	
	#ses .case_list .case_item .case_name{
		font-size:16px;
		padding:0 0 10px;
	}
	
	/* section5 */
	#ses .contact dl{
		width:auto;
	}
	
	#ses .contact dt{
		width:auto;
		float:none;
		margin:0 0 10px;
	}
	
	#ses .contact dd{
		padding:0;
		margin:0 0 20px;
	}

	#ses .f_status{
		width:auto;
	}
	
	#ses .f_ok{
		padding:10px;
		margin:0 0 10px;
	}
	
	#ses .f_ng{
		padding:10px;
		margin:0 0 10px;
	}

}


