@charset "utf-8";


/**
 *
 *  ページ用CSS
 *　index
 */

/*--------------------------------------------------------------------------
   Overwright
---------------------------------------------------------------------------*/
header .sectionWrap{
  background-image: url(../img/top/mainVisual_img01.png);
}

header .header__mainCopy {
	width: 90%;
	max-width: 882px;
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}
/*
@media screen and (min-width: 765px) {
  header .header__mainCopy {
    top: auto;
    bottom: 5%;
    left: 2%;
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
  }
}
*/

/*--------------------------------------------------------------------------
   Content
---------------------------------------------------------------------------*/

/* concept
-----------------------------------------------------------------*/
.concept{
	position: relative;
	padding: 210px 0 0;	
}
.concept::before,
.concept::after{
	position: absolute;
	left: 50%;
	top: 0;
	z-index: 100;
	display: block;
	width: 1px;
	height: 40px;
	content: "";
	background: #000;	
}
.concept::before{
	transform: translateY(-100%);
	background: #fff;
}
.concept h2{
	margin-bottom: 10px;
	font-size: 2rem;
	letter-spacing: .05em;
	
	font-weight: normal;
	color: #024482;
}
.concept h2+.txt-lead{
	margin-bottom: 90px;
	font-size: 4.4rem;
	font-weight: 500;
}
.concept .about{
	position: relative;
}
.concept .about > h3{
	padding-right: 30px;
	text-align: right;
	line-height: 0;	
}
.concept .about .layout-box{
	padding-bottom: 30px;
	align-items: center;
	background: #EFF1F8;
}
.concept .about .layout-box .pic{
	transform: translateY(-60px);
	width: 50%;	
}
.concept .about .layout-box .txt-area{
	transform: translateY(-55px);
	width: 50%;
	padding: 0 5%;
	text-align: left;
}
.concept .about .layout-box .txt-area h3{
	margin-bottom: 50px;
	font-size: 3.6rem;	
}
.concept .about .layout-box .txt-area .txt{
	font-size: 1.8rem;	
	line-height: 2.5;
}



/* our-field
-----------------------------------------------------------------*/
.our-field{
	padding: 100px 0 150px;
}
.our-field h2{
	margin-bottom: 55px;
	color: #024482;
}
.our-field .ttl-sec-sub{
	margin-bottom: 50px;
}
.our-field .ttl-sec-sub+.txt{
	margin-bottom: 45px;
}




/* support
-----------------------------------------------------------------*/
.support{
	position: relative;
	padding: 105px 0 50px;
	background: #EFF1F8;
}
.support .inner{
	max-width: 1220px;	
}
.support h2 span{
	position: absolute;
	top: 0;
	display: block;
	padding: 0 30px;
	line-height: 0;	
}
.support h2 .txt01{
	left: 0;
	transform: translateY(-98%);	
}
.support h2 .txt02{
	left: 382px;	
}
.support .ttl-sec-sub{
	margin-bottom: 50px;
}
.support .ttl-sec-sub+.txt{
	position: relative;
	z-index: 5;
	margin-bottom: 60px;
}
.support .support-list{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;	
}
.support .support-list li{
	margin: 0 5px 35px 5px;	
}
.support .support-list h4{
	margin-top: 35px;
}
.support .support-list h4 .ja{
	display: block;
	font-size: 1.8rem;
}
.support .support-list h4 .en{
	font-size: 1.1rem;
	
	letter-spacing: .08em;
	text-transform: uppercase;
	color: #9d9d9d;
}
.support .support-list .etc{
	margin-top: 10px;
	text-align: right;
}



/* feature
-----------------------------------------------------------------*/
.feature{
	padding: 100px 0 140px;
}
.feature .ttl-sec-sub{
	margin-bottom: 70px;
}
.feature .layout-box{
	margin-bottom: 125px;
}
.feature .layout-box .onestop-support{
	position: relative;
	max-width: 480px;
	width:41.8%;
	text-align: left;	
}
.feature .layout-box .onestop-support::before{
	position: absolute;
	left: 0px;
	top: 20px;
	z-index: -1;
	transform: translateX(-25%);
	display: block;
	width: 100%;
	height: 60%;
	content: "";
	background: #EFF1F8;	
}
.feature .layout-box .onestop-support h3{
	margin-bottom: 20px;
	font-size: 2.4rem;
}
.feature .layout-box .onestop-support .txt{
	margin-bottom: 40px;
}
.feature .layout-box .figure{
	max-width: 580px;
	width: 50.5%;
}
.feature .business-list{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	text-align: justify;
}
.feature .business-list li{
	max-width: 565px;
	width: calc((100% - 20px)/2);
    margin-bottom: 60px;
}
.feature .business-list li:nth-child(n+4){
	margin-top: 0px;
}
.feature .business-list .business-hd{
	position: relative;
	margin-bottom: 20px;	
}
.feature .business-list .business-hd .company{
	position: absolute;
	right: 0;
	top: 0;
	padding: 5px 10px;
	font-size: 1.4rem;
	color: #fff;
	background: #024482;	
}
.feature .business-list .business-hd h3{
	position: absolute;
	left: 0;
	bottom: 0;
	padding: 15px 25px;
	background: #fff;
	font-size: 2rem;
}
.feature .business-list .cat{
	margin-bottom: 20px;
	padding: 0 10px;
}
.feature .business-list .cat span{
	display: inline-block;
	margin: 0 10px 5px 0;
	padding: 0.2em 1em 0.3em;
	border : 1px solid #000;
	border-radius: 3em;
}
.feature .business-list li:nth-child(2) .cat span{
	border-color: #4b8ec4;
}
.feature .business-list li:nth-child(3) .cat span{
	border-color: #009eb2;
}
.feature .business-list li:nth-child(4) .cat span{
	border-color: #4fbca5;
}
.feature .business-list li:nth-child(5) .cat span{
	border-color: #f27e8f;
}
.feature .business-list li:nth-child(6) .cat span{
	border-color: #de76ce;
}
.feature .business-list .txt{
	padding:  0 15px;
}



/* footerbefore
-----------------------------------------------------------------*/
.bnr{
    background-color: #024482;
    padding: 60px 0;
}
.footerbefore{
  width: 94%;
  max-width: 1150px;
  padding: 0;
  margin: 0 auto;
}
.footerbefore .footerContents__banaList {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-bottom: 60px;
}
.footerbefore .footerContents__banaList .footerContents__banaList__item {
  margin-bottom: .5em;
  width: 49%;
}
@media screen and (min-width: 1104px) {
.footerbefore .footerContents__banaList .footerContents__banaList__item {
    width: 31%;
  }
}
@media screen and (min-width: 1104px) {
.footerbefore .footerContents__banaAdress {
    margin-top: 55px;
    display: flex;
    justify-content: space-between;
    flex-direction: column;
    align-items: center;
  }
}


.footerbefore .footerContents__adressBlock {
  margin: 1em 0 0;
  color: white;
  font-size: 1.2rem;
}
.footerbefore .footerContents__adressBlock .footerContents__adressBlock__item01 {
	font-size: 1.3rem;
	font-weight: 500;
}
.footerbefore .footerContents__adressBlock .footerContents__adressBlock__item02 {
  margin-top: .5em;
}
@media screen and (min-width: 1104px) {
.footerbefore .footerContents__adressBlock {
		font-size: 1.3rem;
  }
.footerbefore .footerContents__adressBlock .footerContents__adressBlock__item01 {
		font-size: 1.6rem;
	}

}





/*--------------------------------------------------------------------------
   mobile
---------------------------------------------------------------------------*/
@media screen and (max-width: 765px) {

header .sectionWrap{
  height: 90vh; 
}

/*--------------------------------------------------------------------------
   Content
---------------------------------------------------------------------------*/

/* concept
-----------------------------------------------------------------*/
	.concept{
		padding: 50px 0 0;	
	}
	.concept::before,
	.concept::after{
		display: none;
	}
	.concept h2{
		margin-bottom: 15px;
		font-size: 1.5rem;
	}
	.concept h2+.txt-lead{
		margin-bottom: 30px;
		font-size: 2.1rem;
	}
	.concept .about > h3{
    margin-bottom: -2px;
		padding: 0 0 0 3px;
		text-align: left;
	}
	.concept .about > h3 img{
		width: auto;
		height: 50px;
	}
	.concept .about .layout-box{
		display: block;
	}
	.concept .about .layout-box .pic{
		transform: none;
		width: 100%;
		padding: 20px 20px 25px 0;	
	}
	.concept .about .layout-box .txt-area{
		transform: none;
		width: 100%;
		padding: 0 20px;
		text-align: justify;
	}
	.concept .about .layout-box .txt-area h3{
		margin-bottom: 25px;
		font-size: 2.2rem;
		text-align: center;	
	}
	.concept .about .layout-box .txt-area .txt{
		font-size: 1.4rem;	
		line-height: 2;
	}



/* our-field
-----------------------------------------------------------------*/
	.our-field{
		padding: 60px 0 120px;
	}
	.our-field h2{
		margin-bottom: 25px;
	}
	.our-field .ttl-sec-sub{
		margin-bottom: 30px;
	}
	.our-field .ttl-sec-sub+.txt{
		margin-bottom: 25px;
		font-size: 1.3rem;
		text-align: justify;		
	}




/* support
-----------------------------------------------------------------*/
	.support{
		padding: 60px 0 50px;
	}
	.support h2 span{
		padding: 0 10% 0 0;
	}
	.support h2 .txt02{
		padding: 0 0 0 12%;
        left: 0;
	}
	.support .ttl-sec-sub{
		margin-bottom: 30px;
	}
	.support .ttl-sec-sub+.txt{
		margin-bottom: 30px;
	}
	.support .support-list{
		justify-content: space-between;
		width: calc(100% + 20px);
		margin-left: -10px;	
	}
	.support .support-list li{
		margin: 0;
		width: calc((100% - 20px)/3);	
	}
	.support .support-list li:nth-child(n+4){
		margin-top: 30px;
	}
	.support .support-list h4{
		margin-top: 15px;
		line-height: 1.2;
	}
	.support .support-list h4 .ja{
		font-size: 1.3rem;
	}
	.support .support-list h4 .en{
		font-size: 1rem;
		letter-spacing: 1;
		font-weight: normal;
	}
	.support .support-list .etc{
		display: none;
	}



/* feature
-----------------------------------------------------------------*/
	.feature{
		padding: 40px 0 70px;
	}
	.feature .ttl-sec-sub{
		margin-bottom: 40px;
	}
	.feature .layout-box{
		display: block;
		margin-bottom: 60px;
	}
	.feature .layout-box .onestop-support{
		max-width: none;
		width:100%;
		margin-bottom: 30px;
		padding: 20px 0 30px;
		text-align: justify;	
	}
	.feature .layout-box .onestop-support::before{
		position: absolute;
		left: 0;
		top: 0;
		transform: translateX(-20%);
		display: block;
		width: 100%;
		height: 100%;
	}
	.feature .layout-box .onestop-support h3{
		margin-bottom: 10px;
		font-size: 1.5rem;
	}
	.feature .layout-box .onestop-support .txt{
		margin-bottom: 0;
		font-size: 1.3rem;
	}
	.feature .layout-box .onestop-support .pic{
		display: none;
	}
	.feature .layout-box .figure{
		max-width: none;
		width: 100%;
	}
	.feature .business-list{
		display: block;
		text-align: justify;
	}
	.feature .business-list li{
		max-width: none;
		width: 100%;
		padding: 0 10px;
        margin-bottom: 30px;
	}
	.feature .business-list li:nth-child(n+2){
		margin-top: 40px;
	}
	.feature .business-list .business-hd{
		margin-bottom: 15px;	
	}
	.feature .business-list .business-hd .company{
		padding: 3px 5px;
		font-size: 1.2rem;
	}
	.feature .business-list .business-hd h3{
		padding: 10px 15px;
		font-size: 1.5rem;
	}
	.feature .business-list .cat{
		margin-bottom: 10px;
		padding: 0;
	}
	.feature .business-list .cat span{
		display: inline-block;
		margin: 0 5px 5px 0;
		padding: 0.2em 1em 0.3em;
		border-radius: 3em;
		font-size: 1.3rem;
	}
	.feature .business-list li:nth-child(2) .cat span{
		border-color: #4b8ec4;
	}
	.feature .business-list li:nth-child(3) .cat span{
		border-color: #009eb2;
	}
	.feature .business-list li:nth-child(4) .cat span{
		border-color: #4fbca5;
	}
	.feature .business-list li:nth-child(5) .cat span{
		border-color: #f27e8f;
	}
	.feature .business-list li:nth-child(6) .cat span{
		border-color: #de76ce;
	}
	.feature .business-list .txt{
		padding:  0;
		font-size: 1.3rem;
		line-height: 1.8;
	}


}