@charset "utf-8";

/***************************************************************************
*
* WHO WE ARE STYLE
*
***************************************************************************/
/*#main*/
#main {
	position: relative;
	overflow: visible;
}
#main .main_photo {
	text-align: center;
}
#main .main_photo img {
	width: 100%;
}
#main .main_name {
	position: absolute;
	width: 100%;
	font-size: 71px;
	color: #fff;
	text-align: center;
	top: 49.7%;
	transform: translateY(-50%);
	letter-spacing: 1px;
}
#main .main_content {
	position: absolute;
	width: 100%;
	text-align: center;
	bottom: 8.5%;
}
#main .main_content .main_title_page {
	display: inline-block;
	font-size: 33px;
	color: #21288E;
	letter-spacing: 7.2px;
	border-bottom: 1px solid #21288E;
	line-height: 1.4;
}
#main .main_content .main_title_page.sp {
	display: none;
}
#main .main_content .wrap_text {
	width: 800px;
	margin: 0 auto;
}
#main .main_content .wrap_text .text_title {
	font-size: 22px;
	letter-spacing: 2px;
	margin-top: 42px;
}
#main .main_content .wrap_text .text_sub {
	margin-top: 5px;
	text-align: justify;
	line-height: 2;
	letter-spacing: 1px;
}
/*#main*/

/*#content*/
.list_area {
	position: relative;
	margin-top: -38px;
	background-image: linear-gradient(to right, #0F218B, #98037E);
	border-radius: 38px;
	text-align: center;
	padding: 26px 0 27px;
}
.list_area li {
	display: inline-block;
	vertical-align: middle;
	margin: 0 25px;
}
.list_area li a {
	font-size: 15px;
	color: #fff;
	letter-spacing: 1px;
}
.list_area li a:before {
	content: '';
	display: inline-block;
	vertical-align: middle;
	width: 18px;
	height: 9px;
	background: url(../img/who-we-are/arrow_anchor.svg) no-repeat left center;
	background-size: 100%;
	margin-right: 8px;
}
.list_area li a:hover:before {
	animation: hoverAnchor 1s infinite;
}
@keyframes hoverAnchor {
	0% {
		transform: translateY(2px);
	}
	50% {
		transform: translateY(4px);
	}
	100% {
		transform: translateY(0);
	}
}

/*.areaIntro*/
.areaIntro .intro_wrap {
	margin-top: 154px;
}
.areaIntro .intro_L {
	float: right;
	width: 425px;
}
.areaIntro .intro_R {
	float: left;
	width: 480px;
	margin-top: 10px;
}
.areaIntro .intro_R .intro_title {
	font-size: 33px;
	color: #21288E;
	letter-spacing: 4px;
	line-height: 1.82;
}
.areaIntro .intro_R .intro_sub {
	font-size: 15px;
	margin-top: 17px;
	letter-spacing: 1.5px;
	line-height: 2.15;
}
/*areaIntro*/

/*areaTECHNICAL*/
.areaTechnical {
	margin-top: 80px;
	background-image: linear-gradient(to right, #EBEBEA, #EFE8E8);
}
.wrap_title {
	text-align: center;
	padding: 69px 0;
}
.wrap_title .title_en {
	font-size: 47px;
	color: #21288E;
	letter-spacing: 2px;
	font-weight: bold;
}
.wrap_title .title_ja {
	font-size: 18px;
	letter-spacing: 6px;
	font-weight: bold;
	margin-top: -4px;
}

.areaTechnical .tech_wrap {
	margin-top: 11px;
}
.areaTechnical .tech_content {
	position: relative;
}
.areaTechnical .tech_content:before {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	width: 50%;
	height: 498px;
	background: #fff;
}
.areaTechnical .tech_content .tech_bg {
	position: relative;
	width: 825px;
	background: #fff;
	padding: 66px 0 44px;
	padding-right: 83px;
	margin-top: -68px;
}
.areaTechnical .tech_content .tech_name {
	font-size: 33px;
	color: #21288E;
	letter-spacing: 4px;
	line-height: 60px;
}
.areaTechnical .tech_content .tech_sub {
	font-size: 15px;
	margin-top: 12px;
	letter-spacing: 1px;
	line-height: 2.15;
	text-align: justify;
}
/*areaTechnical*/

/*.areaProduct*/
.areaProduct {
	margin-top: 26px;
}
.areaProduct .product_wrap {
	position: relative;
}
.areaProduct .product_wrap:before {
	content: '';
	position: absolute;
	bottom: 0;
	right: 0;
	width: 50%;
	height: 565px;
	background-image: linear-gradient(to right, #EBEBEA, #EFE8E8);
	z-index: -1;

}
.areaProduct .product_photo {
	position: absolute;
	width: 52.6%;
	top: 51%;
	transform: translateY(-50%);
}
.areaProduct .product_photo img {
	width: 100%;
	height: 445.05px;
	object-fit: cover;
}
.areaProduct .product_content {
	float: right;
	width: 725px;
	padding: 121px 0 88px;
	margin-top: 12px;
	background-image: linear-gradient(to right, #EBEBEA, #EFE8E8);
}
.areaProduct .product_bg {
	float: right;
	width: 460px;
	margin-right: -60px;
}

.areaProduct .product_bg .product_name {
	font-size: 33px;
	color: #21288E;
	letter-spacing: 4px;
	line-height: 60px;
}
.areaProduct .product_bg .product_sub {
	font-size: 15px;
	margin-top: 12px;
	letter-spacing: 1px;
	line-height: 2.15;
	text-align: justify;
	padding-right: 60px;
}

.areaProduct .product_list {
	margin-top: 80px;
}
.areaProduct .product_list li {
	float: left;
	width: 312px;
	background: #F0EDEB;
	text-align: center;
	padding-bottom: 13px;
	min-height: 376px;
}
.areaProduct .product_list li + li {
	margin-left: 32px;
}
.areaProduct .product_list li .list_title {
	position: relative;
	font-size: 17px;
	line-height: 24px;
	margin-top: 20px;
	letter-spacing: 2.5px;
	padding-bottom: 13px;
	height: 62px;
}
.areaProduct .product_list li .list_title:after {
	content:'';
	position: absolute;
	bottom: 0;
	width: 200px;
	border-bottom: 1px solid #B3B3B3;
	left: 50%;
	transform: translateX(-50%);
}
.areaProduct .product_list li .list_sub {
	text-align: justify;
	line-height: 28px;
	letter-spacing: 1px;
	padding: 0 22px;
	margin-top: 17px;
} 
/*areaProduct*/

/*areaResearch*/
.areaResearch {
	margin-top: 84px;
	background-image: linear-gradient( to right, #EBEBEA, #EFE8E8);
	padding-bottom: 41px;
}
.areaResearch .slide_wrap {
	margin-top: 11px;
}
.areaResearch .slide_wrap .swiper-slide {
	float: left;
	width: 50%;
}
.areaResearch .research_info {
	width: 596px;
	margin: 73px auto 0;
}
.areaResearch .research_info .info_title {
	font-size: 32px;
	color: #21288E;
	text-align: center;
	font-weight: normal;
	letter-spacing: 4px;
} 
.areaResearch .research_info .info_sub {
	font-size: 15px;
	line-height: 32px;
	letter-spacing: 1.5px;
	margin-top: 30px;
	text-align: justify;
}
.areaResearch .research_info .info_photo {
	width: 564px;
	margin: 38px auto 0;
}
.areaResearch .research_list_wrap {
	margin-top: 77px;
}
.areaResearch .research_list {
}
.areaResearch .research_list li {
	float: left;
	width: 290px;
}
.areaResearch .research_list li + li {
	margin-left: 65px;
}
.areaResearch .research_list li .list_name {
	font-size: 20px;
	line-height: 24px;
	color: #21288E;
	text-align: center;
	letter-spacing: 3px;
}
.areaResearch .research_list li .list_sub {
	line-height: 28px;
	margin-top: 15px;
	text-align: justify;
	letter-spacing: 2px;
}
/*areaResearch*/

/*areaCreative*/
.areaCreative .crea_row_1 {
	position: relative;
	margin-top: 9px;
}
.areaCreative .crea_row_1 .crea_photo_01 {
	position: absolute;
	top: 0;
	right: 0;
	width: 50%;
	z-index: 2;
}
.areaCreative .crea_row_1 .crea_photo_01 img {
	width: 100%;
	height: 440px;
	object-fit: cover;
}
.areaCreative .crea_row_1 .crea_wrap {
	position: relative;
	padding-top: 73px;
}
.areaCreative .crea_row_1 .crea_wrap:before {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	width: 50%;
	height: 440px;
	background-image: linear-gradient(to right, #EBEBEA, #EFE8E8);
	z-index: -1;
}
.areaCreative .crea_row_1 .crea_wrap .inner {
	background-image: linear-gradient(to right, #EBEBEA, #EFE8E8);
}
.areaCreative .crea_row_1 .crea_wrap .crea_bg {
	width: 443px;
	padding: 87px 0 90px;
}
.areaCreative .crea_row_1 .crea_wrap .crea_title_01 {
	font-size: 33px;
	color: #21288E;
	line-height: 60px;
	letter-spacing: 3px;
}
.areaCreative .crea_row_1 .crea_wrap .crea_sub_01 {
	font-size: 15px;
	line-height: 32px;
	letter-spacing: 2px;
	margin-top: 15px;
}
.areaCreative .crea_row_2 {
	margin-top: 80px;
	padding-bottom: 80px;
}
.areaCreative .crea_row_2 .crea_photo_02 {
	float: left;
	width: 500px;
}
.areaCreative .crea_row_2 .crea_content_02 {
	float: right;
	width: 440px;
	margin-top: 43px;
	margin-right: -6px;
}
.areaCreative .crea_row_2 .crea_content_02 .crea_title_02 {
	font-size: 18px;
	color: #21288E;
	line-height: 32px;
	letter-spacing: 1px;
}
.areaCreative .crea_row_2 .crea_content_02 .crea_sub_02 {
	line-height: 28px;
	letter-spacing: 1px;
	margin-top: 5px;
}



/*SP STYLE*/
@media (max-width: 768px) {
	.inner {
		padding: 0 6%;
	}
	/*#main*/
	#main .main_name {
		font-size: 53px;
		line-height: 52px;
		top: 43%;
		letter-spacing: 0;
	}
	#main .main_content {
		bottom: -14.9%;
	}
	#main .main_content .main_title_page.pc {
		display: none;
	}
	#main .main_content .main_title_page.sp {
		display: block;
	}
	#main .main_content .main_title_page {
		font-size: 15px;
		font-weight: normal;
		text-align: center;
		border-bottom: none;
		letter-spacing: 0;
		color: #003288;
	}
	#main .main_content .main_title_page span {
		display: inline-block;
		width: 280px;
		text-align: center;
		border: 1px solid #003288;
		padding: 10px 0 8px;
		letter-spacing: 1.5px;
		margin: -3px 0;
	}
	#main .main_content .main_title_page span.noborder {
		border: none;
		padding: 0;
	}
	#main .main_content .wrap_text {
		width: 88.5%;
		background: #fff;
		border-radius: 10px;
		padding: 25px 7%;
		margin: 28px auto 0;
	}
	#main .main_content .wrap_text .text_title {
		font-size: 17px;
		color: #003288;
		line-height: 1.75;
		margin-top: 0;
	}
	#main .main_content .wrap_text .text_sub {
		font-size: 13px;
		margin-top: 6px;
	}
	/*#main*/

	/*#content*/
	.list_area {
		margin-top: 32vw;
		border-radius: 37px;
		padding: 9px 0;
	}
	.list_area li {
		margin: 0 1% 4px;
	}
	.list_area li:nth-child(1) {
		margin-left: 15%;
	}
	.list_area li:nth-child(2) {
		margin-right: 15%;
	} 
	.list_area li a {
		font-size: 12px;
	}
	.list_area li a:before {
		vertical-align: 2px;
		width: 9px;
		height: 4px;
		margin-right: 3px;
	}

	/*.areaIntro*/
	.areaIntro .intro_wrap {
		margin-top: 50px;
	}
	.areaIntro .intro_L {
		width: 100%;
	}
	.areaIntro .intro_R {
		width: 100%;
	}
	.areaIntro .intro_R .intro_title {
		font-size: 19px;
		color: #003288;
		letter-spacing: 2px;
		line-height: 1.7;
		text-align: center;
		margin-top: 34px;
	}
	.areaIntro .intro_R .intro_sub {
		font-size: 13px;
		letter-spacing: 1px;
		text-align: justify;
		margin-top: 10px;
		line-height: 2;
	}
	/*areaIntro*/
	
	/*areaTechnical*/
	.areaTechnical {
		margin-top: 0;
		/*background-image: linear-gradient(to right, #EBEBEA, #EFE8E8);*/
		background: none;
	}
	.areaTechnical .tech_wrap {
		margin-top: 44px;
	}
	.areaTechnical .tech_content {
		background-image: linear-gradient(to right, #EBEBEA, #EFE8E8);
	}
	.areaTechnical .tech_wrap > .inner {
		padding: 0;
	}
	.areaTechnical .tech_wrap .tech_photo {
		position: relative;
		width: 90.5%;
		z-index: 2;
	}
	.areaTechnical .tech_content .tech_bg {
		width: 100%;
		background: transparent;
		padding: 0;
		margin-top: -94px;
		padding-top: 32px;
		padding-bottom: 45px;
		z-index: 3;
	}

	.wrap_title {
		text-align: left;
		padding: 0;
	}
	.wrap_title .title_en {
		font-size: 45px;
		color: #fff;
		line-height: 45px;
		letter-spacing: 1px;
	} 
	.wrap_title .title_ja {
		font-size: 18px;
		letter-spacing: 16px;
		color: #00378B;
		letter-spacing: 5px;
		margin-top: 4px;
	}
	.areaTechnical .tech_content:before {
		content: none;
	}
	.areaTechnical .tech_content .tech_name {
		font-size: 19px;
		color: #1A1311;
		letter-spacing: 2.2px;
		line-height: 32px;
		margin-top: 25px;
	}
	.areaTechnical .tech_content .tech_sub {
		font-size: 13px;
		color: #1A1311;
		line-height: 26px;
		margin-top: 28px;
	}
	/*areaTechnical*/

	/*areaProduct*/
	.areaProduct {
		margin-top: 49px;
	}
	.areaProduct .product_wrap .inner {
		padding: 0;
	}
	.areaProduct .product_photo {
		position: relative;
		float: right;
		transform: none;
		width: 90.5%; 
	}
	.areaProduct .product_photo img {
		height: auto;
	}
	.areaProduct .product_content {
		width: 100%;
		padding: 49px 0 44px;
		margin-top: -93px;
		background-image: linear-gradient(to top right, #003288, #001976);
	}
	.areaProduct .product_bg {
		position: relative;
		width: 100%;
		padding: 0 6%;
		margin-right: 0;
	}
	.areaProduct .wrap_title .title_en {
		font-size: 33px;
		color: #fff;
		line-height: 37px;
		letter-spacing: 0;
	}
	.areaProduct .wrap_title .title_ja {
		color: #fff;
	}
	.areaProduct .product_bg .product_name {
		font-size: 19px;
		color: #fff;
		letter-spacing: 2px;
		line-height: 32px;
		margin-top: 24px;
	}
	.areaProduct .product_bg .product_sub {
		font-size: 13px;
		color: #fff;
		line-height: 26px;
		letter-spacing: 1px;
		padding-right: 0;
		margin-top: 28px;
	}

	.areaProduct .product_list {
		margin-top: 46px;
		padding-bottom: 36px;
	}
	.areaProduct .product_list li {
		width: 100%;
		background: transparent;
		padding-bottom: 13px;
		min-height: auto;
	}
	.areaProduct .product_list li + li {
		margin-left: 0;
		margin-top: 15px;
	}
	.areaProduct .product_list li .list_photo {
		display: inline-block;
		vertical-align: middle;
		/*float: left;*/
		width: 108px;
		margin-right: -4px;
	}
	.areaProduct .product_list li .list_content {
		/*float: right;*/
		display: inline-block;
		vertical-align: middle;
		width: calc(100% - 130px);
		margin-left: 20px;
	}
	.areaProduct .product_list li .list_title {
		font-size: 14px;
		color: #003288;
		line-height: 21px;
		margin-top: 0;
		letter-spacing: 2px;
		padding-bottom: 12px;
		height: 54px;
		text-align: left;
	}
	.areaProduct .product_list li .list_title:after {
		width: 100%;
		border-bottom: 1px solid #00378B;
	}
	.areaProduct .product_list li .list_sub {
		font-size: 12px;
		padding: 0;
		letter-spacing: 1px;
		margin-top: 14px;
		line-height: 20px;
	}
	/*areaProduct*/
	
	/*areaResearch*/
	.areaResearch {
		margin-top: 0;
		padding: 49px 0 0;
	}
	.areaResearch .wrap_title {
		text-align: center;
	}
	.areaResearch .wrap_title .title_en {
		font-size: 33px;
		line-height: 37px;
		letter-spacing: 1px;
	}
	.areaResearch .research_info {
		width: 88%;
		margin: 27px auto 0;
	}
	.areaResearch .research_info .info_photo {
		width: 100%;
		margin: 24px auto 0;
	}
	.areaResearch .research_list li + li {
		margin-left: 0;
	}
	.areaResearch .slide_wrap {
		margin-top: 15px;
	}
	.areaResearch .slide_wrap .inner {
		padding: 0;
	}
	.areaResearch .slide_wrap .slide_item {
		width: 100%;
	} 

	.areaResearch .swiper-button-next, .areaResearch .swiper-button-prev {
		position: absolute;
		top: 45%;
		width: 12px;
		height: 21px;
		margin-top: 0;
		z-index: 10;
		cursor: pointer;
		background-size: 100%;
		background-position: center;
		background-repeat: no-repeat;
	}
	.swiper-button-next, .swiper-container-rtl .swiper-button-prev {
		background-image: url(../img/who-we-are/slide_arrow_next.svg);
	}
	.swiper-button-prev, .swiper-container-rtl .swiper-button-next {
		background-image: url(../img/who-we-are/slide_arrow_prev.svg);
	}

	.areaResearch .research_info .info_title {
		font-size: 19px;
		color: #003288;
		letter-spacing: 2px;
		font-weight: bold;
	}
	.areaResearch .research_info .info_sub {
		font-size: 13px;
		color: #1A1311;
		line-height: 26px;
	}
	.areaResearch .research_list_wrap {
		background: #fff;
		margin-top: 52px;
		padding-top: 46px;
	}
	.areaResearch .research_list {
	}
	.areaResearch .research_list li {
		width: 100%;
	}
	.areaResearch .research_list li + li {
		margin-top: 31px;
	}
	.areaResearch .research_list li .list_name {
		position: relative;
		font-size: 15px;
		color: #003288;
		letter-spacing: 1px;
		padding-bottom: 2px;
	}
	.areaResearch .research_list li .list_name:after {
		content: '';
		position: absolute;
		bottom: 0;
		width: 159px;
		left: 50%;
		transform: translateX(-50%);
		border-bottom: 1px solid #00378B;
	}
	.areaResearch .research_list li .list_sub {
		font-size: 13px;
		color: #1A1311;
		line-height: 26px;
		letter-spacing: 1px;
		margin-top: 16px;
	}
	/*areaResearch*/

	/*areaCreative*/
	.areaCreative {
		margin-top: 39px;
	}
	.areaCreative .crea_row_1 {
		margin-top: 0;
		background: none;
	}
	.areaCreative .crea_row_1 .crea_wrap {
		position: relative;
		/*z-index: 2;*/
		margin-top: 0;
		padding-top: 132px;
	}
	.areaCreative .crea_row_1 .crea_content_01 {
		position: relative;
		z-index: 2;
		top: -49px;
	}
	.areaCreative .crea_row_1 .crea_wrap .inner {
		/*background-image: none;*/
		/*padding: 0;*/
		background-image: linear-gradient(to top right, #003288, #001976);
	}
	.areaCreative .crea_row_1 .crea_wrap .crea_bg_sp {
		/*padding: 0 6%;*//*
		background-image: linear-gradient(to top right, #003288, #001976);*/
	}
	.areaCreative .crea_row_1 .crea_wrap:before {
		content: none;
	}
	.areaCreative .crea_row_1 .crea_wrap .crea_bg {
		width: 100%;
		padding: 19px 0 44px;
	}
	.areaCreative .crea_row_1 .crea_photo_01 {
		position: relative;
		float: right;
		z-index: 1;
		width: 90.5%;
	}
	.areaCreative .crea_row_1 .crea_photo_01 img {
		height: auto;
	}
	.areaCreative .crea_row_1 .wrap_title .title_en {
		font-size: 33px;
		line-height: 37px;
		letter-spacing: 0;
	}
	.areaCreative .crea_row_1 .wrap_title .title_ja {
		color: #fff;
	}
	.areaCreative .crea_row_1 .crea_wrap .crea_title_01 {
		font-size: 19px;
		color: #fff;
		line-height: 32px;
		letter-spacing: 0;
	}
	.areaCreative .crea_row_1 .crea_wrap .crea_sub_01 {
		font-size: 13px;
		color: #fff;
		line-height: 26px;
		margin-top: 27px;
	}
	.areaCreative .crea_row_2 {
		margin-top: 50px;
		padding-bottom: 40px;
	}
	.areaCreative .crea_row_2 .crea_photo_02 {
		float: none;
		width: 67%;
		margin: 0 auto;
		text-align: center;
	}
	.areaCreative .crea_row_2 .crea_content_02 {
		width: 100%;
		margin-right: 0;
		margin-top: 28px;
	}
	.areaCreative .crea_row_2 .crea_content_02 .crea_title_02 {
		font-size: 15px;
		color: #003288;
		line-height: 23px;
		letter-spacing: 0;
		text-align: center;
		padding-bottom: 12px;
		border-bottom: 1px solid #00378B;
	}
	.areaCreative .crea_row_2 .crea_content_02 .crea_sub_02 {
		font-size: 13px;
		line-height: 26px;
		margin-top: 13px;
	}

}

/*Tablet Style*/
@media (max-width: 750px) and (max-height: 450px) {
	.list_area li {
		margin: 0 2%;
	}
	.list_area li:nth-child(1) {
		margin-left: 2%;
	}
	.list_area li:nth-child(2) {
		margin-right: 2%;
	} 
	#main .main_photo {
		height: 215vh;
	}
	#main .main_photo img {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}
	#main .main_content {
		bottom: 9%;
	}
	#main .main_content .main_title_page span {
		display: block;
		margin: -4px auto;
	}
	.list_area {
		margin-top: -3vw;
	}
}
@media (max-width: 568px) and (max-height: 320px) {
	#main .main_photo {
		height: 265vh;
	}
}
@media (max-width: 414px) and (min-width: 376px) {
	#main .main_content {
		bottom: -9.9%;
	}
	.list_area {
		margin-top: 18vw;
	}
}
/*5S STYLE*/
@media (max-width: 320px) {
	#main .main_content {
		bottom: -36.9%;
	}
	.list_area {
		margin-top: 210px;
	}
	.areaProduct .product_list li .list_title {
		font-size: 13px;
	}
	.areaProduct .product_list li .list_sub {
		font-size: 11px;
	}
}