@charset "utf-8";

/***************************************************************************
*
* WHO WE ARE STYLE
*
***************************************************************************/
/*#main*/
#main {
	position: relative;
}
#main span img {
	width: 100%;
}
#main .textMain{
	position: absolute;
	top: 45%;
	transform: translateY(-50%);
	z-index: 1;
	color: #fff;
	text-align: center;
	width: 100%;
}
#main .textMain .outTxt{
	font-size: 18px;
	font-weight: bold;
	letter-spacing: 0.2px;
}
#main .textMain .insTxt{
	font-size: 71px;
	font-weight: bold;
	line-height: 1;
	margin-top: 63px;
	letter-spacing: 1px;
}
#main .textMain .insTxt_ja{
	font-size: 25px;
	font-weight: bold;
	letter-spacing: 2px;
	margin-top: 10px;
}

.areaTop{
	position: relative;
	z-index: 1;
	background: #EBEBEA;
	padding: 1px 0;
}
.areaTop .wrapArea{
	width: 100%;
	background: #fff;
	text-align: center;
	padding: 59px 40px 67px;
	margin: -38px 0 -43px;
}
.areaTop .wrapArea .inWrap{
	width: 620px;
	display: inline-block;
	vertical-align: top;
}
.areaTop .wrapArea .titleTop{
	font-size: 30px;
	color: #0F218B;
	letter-spacing: 3.8px;
	line-height: 2;
}
.areaTop .wrapArea .insightImg{
	margin-top: 28px;
	display: inline-block;
	width: 310px;
}
.areaTop .wrapArea .textTop{
	margin-top: 45px;
	font-size: 15px;
	text-align: left;
	padding: 0 10px;
	line-height: 2.15;
	letter-spacing: 1.5px;
}

.areaImg span img {
	width: 100%;
}

.areaFunction .tech_content {
	position: relative;
}
.areaFunction .tech_content:before {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	width: 50%;
	height: 100%;
	background-image: linear-gradient(to right, #0F218B, #0F218B);
}
.areaFunction .tech_content .tech_bg {
	position: relative;
	width: 825px;
	background-image: linear-gradient(to right, #0F218B, #0F218B);
	padding: 73px 0 70px;
	padding-right: 67px;
	margin-top: -41px;
}
.areaFunction .tech_content .title_en{
	font-size: 52px;
	font-weight: bold;
	line-height: 1;
	color: #fff;
	letter-spacing: 2.5px;
}
.areaFunction .tech_content .tech_name {
	font-size: 28px;
	color: #67C5D3;
	margin-top: 31px;
	letter-spacing: 3px;
	line-height: 1.62;
}
.areaFunction .tech_content .tech_sub {
	color: #fff;
	font-size: 15px;
	line-height: 2.15;
	margin-top: 25px; 
}
.areaFunction .listImg{
	margin-top: 80px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.areaFunction .listImg li{
	width: 312px;
}
.areaFunction .listImg li .imgMap{
	margin-bottom: 9px;
	padding:14px 16px;
	background: #ECEFF0;
}
.areaFunction .listImg li .imgMap a{
	display: block;
	pointer-events: none;
}
.areaFunction .listImg li .textMap{
	font-size: 13px;
	text-align: left;
	color: #666666;
	letter-spacing: 1.1px;
}
.areaFunction .listFunc{
	margin-top: 80px;
}
.areaFunction .listFunc li{
	display: inline-block;
	vertical-align: bottom;
	margin-right: 43px;
	width: 476px;
	margin-bottom: 76px;

}
.areaFunction .listFunc li:nth-child(2n){
	margin-right: 0;
}
.areaFunction .listFunc li .titleList{
	font-weight: bold;
	font-size: 20px;
	color: #0F218B;
	letter-spacing: 0.6px;
}
.areaFunction .listFunc li .textList{
	margin-top: 22px;
	line-height: 1.95;
	font-size: 13px;
	letter-spacing: 1px;
} 
.areaFunction .listFunc li .imgList{
	margin-top: 20px;
}
.areaFunction .listFunc li.custom .textList{
	min-height: 100px;
}

.areaAnl{
	margin-top: 10px;
}
.areaAnl .product_wrap {
	position: relative;
}
.areaAnl .product_wrap:before {
	content: '';
	position: absolute;
	bottom: 0;
	right: 0;
	width: 50%;
	height: 100%;
	background-image: linear-gradient(to right, #0F218B, #0F218B);
	z-index: -1;

}
.areaAnl .product_photo {
	position: absolute;
	width: 50.4%;
	top: 50%;
	transform: translateY(-50%);
}
.areaAnl .product_photo img {
	width: 100%;
	height: 445px;
	object-fit: cover;
	object-position: center;
}
.areaAnl .product_content {
	float: right;
	width: 824px;
	padding: 90px 0;
	margin-top: 0;
	background-image: linear-gradient(to right, #0C419A, #0F218B);
}
.areaAnl .product_bg {
	float: right;
	width: 460px;
	margin-right: -35px;
}

.areaAnl .product_bg .title_en{
	font-size: 52px;
	font-weight: bold;
	line-height: 1;
	color: #fff;
	letter-spacing: 2.5px;	
}

.areaAnl .product_bg .product_name {
	font-weight: bold;
	font-size: 28px;
	color: #67C5D3;
	letter-spacing: 3.8px;
	margin-top: 30px;
	line-height: 1.7;
}
.areaAnl .product_bg .product_sub {
	font-size: 15px;
	margin-top: 30px;
	letter-spacing: 1px;
	line-height: 2.15;
	text-align: justify;
	padding-right: 83px;
	color: #fff;
}

.areaAnl .listFunc{
	margin-top: 75px;
}
.areaAnl .listFunc li{
	display: inline-block;
	vertical-align: top;
	margin-right: 24px;
	width: 476px;
	margin-bottom: 76px;

}
.areaAnl .listFunc li:nth-child(2n){
	margin-right: 0;
}
.areaAnl .listFunc li .titleList{
	font-weight: bold;
	font-size: 20px;
	color: #0F218B;
	letter-spacing: 0.6px;
}
.areaAnl .listFunc li .textList{
	margin-top: 24px;
	line-height: 1.95;
	font-size: 13px;
	letter-spacing: 1px;
} 
.areaAnl .listFunc li .imgList{
	margin-top: 15px;
}



.areaAnl.areaLine .product_content {
	float: left;
	padding: 90px 0;
}
.areaAnl.areaLine .product_bg {
	float: left;
	width: 490px;
	margin-right: 0px;
}
.areaAnl.areaLine .product_photo{
	right: 0;
}
.areaAnl.areaLine .product_wrap:before {
	left: 0;
	background-image: linear-gradient(to right, #0C419A, #0C419A);
}
.areaAnl.areaLine .product_bg .product_sub{
	padding-right: 116px;
	margin-top: 26px;
}
.areaAnl.areaLine .product_bg .product_name{
	letter-spacing: 3.3px;
	line-height: 1.62;
}

.areaInsig{
	text-align: center;
	margin: 81px 0;
}
.areaInsig .imgTitle{
	width: 474px;
	display: block;
	margin: 0 auto;
}
.areaInsig .imgIns{
	width: 802px;
	display: inline-block;
	vertical-align: top;
	margin:9px 0 85px;
}

.areaInsig .rowIns{
	position: relative;
	background: #F0F0F0;
}
.areaInsig .rowIns .left{
	float: left;
	width: 50%;
}
.areaInsig .rowIns .right{
	float: right;
	width: 50%;
}

.areaInsig .rowIns .rowTextIns{
	position: relative;
	text-align: left;
	padding: 0 60px;
}
.areaInsig .rowIns .rowTextIns .titleTop{
	text-align: center;
	color: #fff;
	background: #0F218B;
	font-size: 14px;
	font-weight: bold;
	letter-spacing: 1.5px;
	padding: 10px 18px 8px;
	display: inline-block;
	position: absolute;
	top: 0;
	left: 0;

}
.areaInsig .rowIns .rowTextIns .imgRowIns{
	margin-top: 105px;
}
.areaInsig .rowIns .rowTextIns .contentIns{
	margin-top: 28px;
	line-height: 2.15;
	letter-spacing: 1.4px;
	font-size: 15px;
}

@media(max-width: 768px){
	#main .textMain .outTxt{
		font-size: 13px;
	}
	#main .textMain .insTxt{
		font-size: 52px;
		margin-top: 25px;
	}
	#main .textMain .insTxt_ja{
		font-size: 15px;
	}
	.areaTop .wrapArea{
		width: 100%;
		padding: 45px 22px 30px;
		margin: -132px auto -52px;
		border-radius: 9px;
	}
	.areaTop .wrapArea .titleTop{
		font-size: 17px;
		letter-spacing: 2.5px;
	}
	.areaTop .wrapArea .insightImg{
		width: 260px;
	}
	.areaTop .wrapArea .textTop{
		margin-top: 30px;
		padding: 0;
		font-size: 12px;
	}

	.areaTop .wrapArea .inWrap{
		width: 100%;
	}
	.areaFunction .tech_content .inner{
		padding: 0;
	}
	.areaFunction .tech_content .tech_bg{
		width: 100%;
		margin:0;
		padding: 50px 20px;
	}
	.areaFunction .tech_content .title_en{
		font-size: 37px;
	}
	.areaFunction .tech_content .tech_name{
		font-size: 19px;
		margin-top: 32px;
		line-height: 1.5;
	}
	.areaFunction .tech_content .tech_sub{
		font-size: 13px;
		margin-top: 40px;
		letter-spacing: 1px;
	}
	.areaFunction .listImg{
		width: 100%;
		margin: 40px auto 0;
	}
	.areaFunction .listImg li{
		width: 98px;
	}
	.areaFunction .listImg li .imgMap{
		background: #EBF1F5;
		padding: 6px;
		position: relative;
		margin-bottom: 4px;
	}
	.areaFunction .listImg li .imgMap .icon_pop{
		position: absolute;
		bottom: 0;
		right: 0;
		line-height: 1;
	}
	.areaFunction .listImg li .textMap{
		text-align: center;
		font-size: 12px;
		margin: 0 -10px;
	}
	.areaFunction .listFunc{
		margin-top: 26px;
	}
	.areaFunction .listFunc li{
		width: 100%;
		margin: 0;
		border-bottom: 1px solid #00378B;
		padding: 21px 0;
		position: relative;
	}
	.areaFunction .listFunc li:first-child{
		border-top: 1px solid #00378B;
	}
	.areaFunction .listFunc li .titleList{
		font-size: 12px;
		color: #00378B;
		letter-spacing: 2px;
		width: 100%;
		position: relative;
		padding-right: 40px;
	}


	.areaFunction .listFunc li .titleList:after{
		position: absolute;
		content: "";
		top: 50%;
		right: 10px;
		width: 30px;
		height: 20px;
		background: url(../img/product/arrow.svg) no-repeat center;
		transform: translateY(-50%) rotate(180deg);
		transition: all 0.25s;
	}

	.areaFunction .listFunc li .titleList.current:after{
		transform: translateY(-50%) rotate(0deg);
	}
	.areaFunction .listFunc li.custom .textList{
		min-height: inherit;
	}
	.areaFunction .listFunc li .textList{
		display: none;
	}

	.areaFunction .listFuncmobile{
		margin-top: 40px;
	}
	.areaFunction .listFuncmobile li{
		margin-bottom: 20px;
	}
	.areaFunction .listImg li .imgMap a{
		pointer-events: auto;
	}


	.areaAnl{
		margin-top: 40px;
	}
	.areaAnl .product_content{
		width: 100%;
		padding: 165px 5.5% 50px;
	}
	.areaAnl .product_bg,
	.areaAnl.areaLine .product_bg{
		width: 100%;
		margin: 0;
	}
	.areaAnl .product_bg .product_sub{
		padding-right: 0;
	}
	.areaAnl .listFunc li{
		width: 100%;
		margin: 0;
	}

	.areaAnl .product_wrap:before{
		content: none;
	}
	.areaAnl .product_photo {
		position: static;
		transform: none;
		width: 91.5%;
		margin-bottom: -116px;
	}
	.areaAnl .product_photo img{
		height: auto;
	}
	.areaAnl .product_wrap .inner{
		padding: 0;
	}
	.areaAnl .product_bg .title_en{
		font-size: 38px;
	}
	.areaAnl .product_bg .product_name{
		font-size: 19px;
		margin-top: 30px;
	}
	.areaAnl .product_bg .product_sub{
		font-size: 12px;
	}

	.areaAnl .listFunc{
		margin-top: 26px;
	}
	.areaAnl .listFunc li{
		width: 100%;
		margin: 0;
		border-bottom: 1px solid #00378B;
		padding: 21px 0;
		position: relative;
	}
	.areaAnl .listFunc li:first-child{
		border-top: 1px solid #00378B;
	}
	.areaAnl .listFunc li .titleList{
		font-size: 12px;
		color: #00378B;
		letter-spacing: 2px;
		width: 100%;
		position: relative;
		padding-right: 40px;
	}


	.areaAnl .listFunc li .titleList:after{
		position: absolute;
		content: "";
		top: 50%;
		right: 10px;
		width: 30px;
		height: 20px;
		background: url(../img/product/arrow.svg) no-repeat center;
		transform: translateY(-50%) rotate(180deg);
		transition: all 0.25s;
	}

	.areaAnl .listFunc li .titleList.current:after{
		transform: translateY(-50%) rotate(0deg);
	}
	.areaAnl .listFunc li.custom .textList{
		min-height: inherit;
	}
	.areaAnl .listFunc li .textList{
		display: none;
	}

	.areaAnl .listFuncmobile{
		margin-top: 40px;
	}
	.areaAnl .listFuncmobile li{
		margin-bottom: 20px;
	}

	.areaAnl.areaLine .product_photo{
		text-align: right;
		width: 100%;
	}
	.areaAnl.areaLine .product_photo img{
		display: inline-block;
		vertical-align: top;
		width: 91.5%;
	}
	.areaAnl.areaLine .product_content{
		padding: 165px 5.5% 50px;
		float: none;
	}
	.areaAnl.areaLine .product_bg .product_name{
		letter-spacing: 2.3px;
	}
	.areaAnl.areaLine .product_bg .product_sub{
		padding: 0;
	}

	.areaInsig{
		margin: 60px 0 20px;
	}
	.areaInsig .imgIns{
		width: 100%;
		margin-bottom: 30px;
	}
	.areaInsig .imgTitle{
		width: 295px;
	}
	.areaInsig .rowIns{
		margin-bottom: 30px;
	}
	.areaInsig .rowIns .left,
	.areaInsig .rowIns .right{
		float: none;
		width: 100%;
	}
	.areaInsig .rowIns .rowTextIns{
		position: static;
		padding: 5.5%;
	}
	.areaInsig .rowIns .rowTextIns .titleTop{
		font-size: 10px;
	}
	.areaInsig .rowIns .rowTextIns .imgRowIns{
		margin: 20px auto 0;
		width: 250px;
	}
	.areaInsig .rowIns .rowTextIns .contentIns{
		margin: 21px 0 0;
		font-size: 12px;
		line-height: 1.8;
	}
}

/*5S STYLE*/
@media (max-width: 320px) {
	.areaFunction .listImg li {
		width: 89px;
	}
	.areaTop .wrapArea .insightImg {
		width: 230px;
	}
	.areaInsig .imgTitle {
		width: 260px;
	}
}