@charset "UTF-8";
@import url(cmn.css);
@import url(base.css);

/*----------------------------heading-----------------------------------*/

#heading{
	background: url(../images/cmn/mv5bg.jpg) 70% 60% no-repeat fixed;
	background-size: cover;
}

/*----------------------------s_company-----------------------------------*/

#s_company1 .wrapper{
	max-width: 1300px;
	margin: 0 auto;
}
#s_company1 ul{
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	justify-content: space-between;
	margin-bottom: 40px;
}
#s_company1 li{
	width: calc(50% - 0.5px);
	display: flex;
	align-items: stretch;
	justify-content: center;
	margin-bottom: 1px;
}
#s_company1 li a{
	display: flex;
	align-items: flex-end;
	justify-content: center;
	position: relative;
	width: 100%;
	min-height: 350px;
	box-sizing: border-box;
	padding: 20px;
	background: #023692;
	text-shadow: 1px 1px 0 rgba(0,0,0,0.1);
}
#s_company1 li:nth-of-type(2) a{
	background: #2b56a3;
}
#s_company1 li:nth-of-type(3) a{
	background: #5b2a74;
}
#s_company1 li:nth-of-type(4) a{
	background: #016f8f;
}
#s_company1 li a:before{
	content: "";
	display: block;
	width: 100%;
	height: 50%;
	position: absolute;
	bottom: 0;
	left: 0;
	z-index: 2;
	/* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#012f8f+0,012f8f+100&0+0,0.5+100 */
	background: -moz-linear-gradient(top,  rgba(1,47,143,0) 0%, rgba(1,47,143,0.5) 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(top,  rgba(1,47,143,0) 0%,rgba(1,47,143,0.5) 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to bottom,  rgba(1,47,143,0) 0%,rgba(1,47,143,0.5) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00012f8f', endColorstr='#80012f8f',GradientType=0 ); /* IE6-9 */
}
#s_company1 li:nth-of-type(2) a:before{
	/* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#2b56a3+0,2b56a3+100&0+0,0.5+100 */
	background: -moz-linear-gradient(top,  rgba(43,86,163,0) 0%, rgba(43,86,163,0.5) 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(top,  rgba(43,86,163,0) 0%,rgba(43,86,163,0.5) 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to bottom,  rgba(43,86,163,0) 0%,rgba(43,86,163,0.5) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#002b56a3', endColorstr='#802b56a3',GradientType=0 ); /* IE6-9 */
}
#s_company1 li:nth-of-type(3) a:before{
	/* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#5b2a74+0,5b2a74+100&0+0,0.5+100 */
	background: -moz-linear-gradient(top,  rgba(91,42,116,0) 0%, rgba(91,42,116,0.5) 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(top,  rgba(91,42,116,0) 0%,rgba(91,42,116,0.5) 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to bottom,  rgba(91,42,116,0) 0%,rgba(91,42,116,0.5) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#005b2a74', endColorstr='#805b2a74',GradientType=0 ); /* IE6-9 */
}
#s_company1 li:nth-of-type(4) a:before{
	/* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#016f8f+0,016f8f+100&0+2,0.5+100 */
	background: -moz-linear-gradient(top,  rgba(1,111,143,0) 0%, rgba(1,111,143,0) 2%, rgba(1,111,143,0.5) 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(top,  rgba(1,111,143,0) 0%,rgba(1,111,143,0) 2%,rgba(1,111,143,0.5) 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to bottom,  rgba(1,111,143,0) 0%,rgba(1,111,143,0) 2%,rgba(1,111,143,0.5) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00016f8f', endColorstr='#80016f8f',GradientType=0 ); /* IE6-9 */
}
#s_company1 li a div{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	overflow: hidden;
}
#s_company1 li a img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 50% 50%;
	font-family: 'object-fit: cover; object-position: 50% 50%;';
	filter: grayscale(50%);
	opacity: 0.5;
	transform: scale(1.001);
	transition: 0.8s ease-out;
	transition-property: opacity, transform, filter;
}
#s_company1 li a p{
	display: block;
	position: relative;
	z-index: 3;
	width: 100%;
	color: #fff;
}
#s_company1 li a span{
	font-weight: 700;
	font-size: 2.6rem;
	line-height: 1.4;
}
#s_company1 li a i{
	display: block;
	font-weight: 500;
	padding-top: 10px;
}
#s_company1 li a:hover img{
	transform: scale(1.07);
	opacity: 1;
	filter: grayscale(0);
}
@media screen and (max-width: 650px){
	#s_company1 li a{
		padding: 10px;
	}
}
@media screen and (max-width: 520px){
	#s_company1 ul{
		margin-bottom: 15px;
	}
	#s_company1 li{
		width: 100%;
		margin-bottom: 15px;
	}
	#s_company1 li a{
		min-height: 0;
		padding: 0;
		display: block;
	}
	#s_company1 li a:before{
		display: none;
	}
	#s_company1 li a div{
		height: 150px;
	}
	#s_company1 li a span{
		font-size: 2rem;
		letter-spacing: 0.02rem;
		text-align: center;
		display: flex;
		align-items: center;
		justify-content: center;
		height: 150px;
		padding: 0 10px;
	}
	#s_company1 li a i{
		background: #fff;
		padding-top: 5px;
		color: #333;
		text-shadow: none;
	}
}

#s_company1 .recruit{
	border-top: 1px solid #e0e0e0;
	padding-top: 40px;
	text-align: center;
	margin-bottom: 30px;
}
#s_company1 .recruit a{
	display: block;
}
#s_company1 .recruit span{
	background: #012f8f;
	display: block;
	margin-bottom: 5px;
	transition: 0.2s ease-in-out;
}
#s_company1 .recruit a:hover span{
	opacity: 0.8;
}
#s_company1 .recruit a span img{
	display: block;
	width: 100%;
	height: 100%;
	min-height: 170px;
	object-fit: cover;
	object-position: 50% 50%;
	font-family: 'object-fit: cover; object-position: 50% 50%;';
}
#s_company1 .recruit a[target="_blank"] i{
	padding-right: 17px;
	position: relative;
	display: inline-block;
	line-height: 1.4;
	text-align: left;
}
#s_company1 .recruit a[target="_blank"] i:before,
#s_company1 .recruit a[target="_blank"] i:after{
	content: "";
	display: block;
	width: 6px;
	height: 5px;
	border: 1px solid #333;
	position: absolute;
}
#s_company1 .recruit a[target="_blank"] i:before{
	top: calc(50% - 5px);
	right: 0;
}
#s_company1 .recruit a[target="_blank"] i:after{
	top: calc(50% - 3px);
	right: 2px;
}
@media screen and (max-width: 460px){
	#s_company1 .recruit a span img{
		min-height: 38vw;
	}
}

#s_company1 .btns{
	display: flex;
	align-items: stretch;
	justify-content: space-between;
}
#s_company1 .btn2.recruit_guide{
	width: 50%;
	display: flex;
	align-items: stretch;
}
#s_company1 .btn2.recruit_guide:nth-of-type(2){
	width: calc(50% - 1px);
}
#s_company1 .btn2.recruit_guide a{
	transition: 0.2s ease-in-out;
	display: flex;
	align-items: center;
	background: url(../images/cmn/bg.jpg);
	margin: 0 auto;
	box-sizing: border-box;
	text-align: center;
	width: 100%;
	padding: 30px 20px;
}
#s_company1 .btn2.recruit_guide:nth-of-type(2) a{
	filter: hue-rotate(-30deg);
	background-position: 100% 100%;
}
#s_company1 .btn2.recruit_guide p{
	padding-left: 100px;
	display: inline-block;
	text-align: left;
	position: relative;
}
#s_company1 .btn2.recruit_guide svg{
	display: block;
	width: 70px;
	position: absolute;
	top: calc(50% - 30px);
	left: 10px;
}
#s_company1 .btn2.recruit_guide span{
	line-height: 1.1;
	display: block;
	margin-bottom: 7px;
	font-size: 2.7rem;
}
#s_company1 .btn2.recruit_guide i{
	display: block;
	font-size: 1.45rem;
	font-weight: 700;
}
#s_company1 .btn2.recruit_guide i:nth-last-of-type(2){
	font-weight: 500;
}
#s_company1 .btn2.recruit_guide a:hover{
	opacity: 0.8;
}
#s_company1 .btn2.recruit_guide a:after,
#s_company1 .btn2.recruit_guide a:before{
	display: none;
}
@media screen and (max-width: 950px){
	#s_company1 .btn2.recruit_guide a{
		padding: 25px 15px;
	}
	#s_company1 .btn2.recruit_guide p{
		padding-left: 70px;
		width: 100%;
	}
	#s_company1 .btn2.recruit_guide svg{
		width: 50px;
		top: calc(50% - 25px);
	}
}
@media screen and (max-width: 800px){
	#s_company1 .btns{
		display: block;
	}
	#s_company1 .btn2.recruit_guide{
		width: 100% !important;
	}
	#s_company1 .btn2.recruit_guide:nth-of-type(2){
		margin-top: 1px;
	}
}
@media screen and (max-width: 500px){
	#s_company1 .btn2.recruit_guide a{
		padding: 15px;
	}
	#s_company1 .btn2.recruit_guide p{
		padding-left: 50px;
	}
	#s_company1 .btn2.recruit_guide svg{
		width: 40px;
		top: calc(50% - 20px);
		left: 0;
	}
}

/*----------------------------s_profile-----------------------------------*/

#s_profile1 dl{
	display: table;
	table-layout: fixed;
	width: 100%;
}
#s_profile1>dl{
	border-collapse: separate;
	border-spacing: 0 10px;
	border-bottom: 1px solid #e0e0e0;
}
#s_profile1>dl:nth-of-type(1){
	border-top: 1px solid #e0e0e0;
}
#s_profile1 dl *{
	box-sizing: border-box;
}
#s_profile1 dl>*{
	display: table-cell;
	vertical-align: middle;
}
#s_profile1>dl>*{
	padding: 5px 15px;
}
#s_profile1 dt{
	width: 20%;
}
#s_profile1>dl>dt{
	position: relative;
	border-right: 1px solid #012f8f;
	padding-left: 25px;
}
#s_profile1>dl>dt:before{
	content: "";
	display: block;
	height: 5px;
	width: 5px;
	border-top: 2px solid #023692;
	border-right: 2px solid #023692;
	transform: rotate(45deg);
	position: absolute;
	top: calc(50% - 4px);
	left: 10px;
}
#s_profile1>dl dl{
	border-bottom: 1px solid #e0e0e0;
}
#s_profile1>dl dl:first-child{
	margin-top: -10px;
}
#s_profile1>dl dl:last-child{
	border-bottom: none;
	margin-bottom: -10px;
}
#s_profile1>dl dl dt{
	width: 100px;
}
@media screen and (max-width: 600px){
	#s_profile1 dt{
		width: 25%;
	}
}
@media screen and (max-width: 500px){
	#s_profile1>dl{
		display: block;
	}
	#s_profile1>dl>*{
		display: block;
		width: auto;
		padding: 10px;
	}
	#s_profile1>dl>dt{
		border-right: none;
		border-bottom: 1px dotted #e0e0e0;
		padding-left: 22px;
		font-weight: 700;
	}
	#s_profile1>dl>dt:before{
		left: 6px;
		transform: rotate(135deg);
	}
	#s_profile1>dl dl{
		width: calc(100% + 20px);
		margin-left: -10px;
	}
	#s_profile1>dl dl dt{
		width: 90px;
		padding: 0 10px;
	}
}

#s_profile2 dl{
	display: block;
	padding: 0 0 20px 100px;
	text-align: left;
	position: relative;
	margin-bottom: 20px;
	border-bottom: 1px solid #e0e0e0;
}
#s_profile2 dl>*{
	display: block;
}
#s_profile2 dd:before{
	content: "";
	display: block;
	width: 80px;
	height: 1px;
	background: #023692;
	position: absolute;
	top: 50%;
	left: 0;
}
#s_profile2 dt{
	font-size: 1.8rem;
	font-weight: 700;
	color: #023692;
	line-height: 1.4;
	margin-bottom: 5px;
}
#s_profile2 dd{
	font-size: 2.4rem;
	letter-spacing: 0.1rem;
	line-height: 1.5;
}
#s_profile2 dl+div{
	padding-top: 20px;
}
#s_profile2 dl+div img:last-child{
	display: none;
}
@media screen and (max-width: 650px){
	#s_profile2 dl{
		padding-left: 50px;
	}
	#s_profile2 dd:before{
		width: 40px;
	}
}
@media screen and (max-width: 400px){
	#s_profile2 dl{
		padding-left: 30px;
	}
	#s_profile2 dd:before{
		width: 20px;
	}
	#s_profile2 dt{
		font-size: 1.5rem;
	}
	#s_profile2 dd{
		font-size: 2.0rem;
	}
	#s_profile2 dl+div{
		overflow: hidden;
	}
	#s_profile2 dl+div img{
		display: block !important;
		width: 200%;
		max-width: none;
	}
	#s_profile2 dl+div img:last-child{
		margin-left: -100%;
	}
}

#s_profile2 .p-profile{
	font-size: 2.8rem;
	letter-spacing: 0.1rem;
	line-height: 2.0;
	border-bottom: 1px solid #e0e0e0;
	padding-bottom: 30px;
	margin-bottom: 30px;
}
@media screen and (max-width: 580px){
	#s_profile2 .p-profile{
		font-size: 4.3vw;
		letter-spacing: 0.1rem;
		line-height: 2.0;
		padding-bottom: 20px;
	}
}
/*----------------------------s_greetings-----------------------------------*/

#s_greetings1{
	overflow: hidden;
}
#s_greetings1 .heading2{
	margin-bottom: 40px;
	text-align: left;
}
#s_greetings1>div{
	float: left;
	width: 30%;
}
#s_greetings1>div:nth-of-type(2){
	float: right;
	width: 67%;
}
#s_greetings1>div:nth-of-type(2) p{
	margin-bottom: 20px;
}
#s_greetings1>div:nth-of-type(2) p:last-child{
	text-align: right;
	margin-bottom: 0;
}
@media screen and (max-width: 470px){
	#s_greetings1 .heading2{
		margin-bottom: 30px;
	}
	#s_greetings1>div{
		float: none !important;
		width: auto !important;
	}
	#s_greetings1>div img{
		max-width: 200px;
		width: 70%;
		display: block;
		margin: 0 auto 20px;
	}
}

/*----------------------------s_reason-----------------------------------*/

#s_reason1{
	overflow: hidden;
}
#s_reason1 .heading2{
	text-align: left;
}
#s_reason3,
#s_reason4{
	margin-top: -10px;
}
.s_reason:after{
	content: "";
	display: block;
	clear: both;
}
.s_reason .heading3{
	padding-top: 30px;
}
.s_reason .heading3 span{
	background: #ffba00;
	color: #fff;
	position: absolute;
	top: -6px;
	left: 0;
	line-height: 1;
	padding: 1px 8px 3px;
}
.s_reason .heading3 span:after{
	content: "";
	width: 0;
	height: 0;
	border-top: 7px solid #ffba00;
	border-left: 7px solid transparent;
	border-right: 7px solid transparent;
	position: absolute;
	bottom: -7px;
	left: 10px;
}
.s_reason .heading3 span i{
	font-size: 2.2rem;
	display: inline-block;
	transform: translateY(1px);
	padding-left: 2px;
}
.s_reason img{
	display: block;
	width: 35%;
	float: right;
}
.s_reason p{
	width: 62%;
	float: left;
}
@media screen and (max-width: 450px){
	#s_reason3,
	#s_reason4{
		margin-top: 0;
	}
	.s_reason img{
		float: none;
		width: 80%;
		margin: 0 auto 20px;
	}
	.s_reason p{
		float: none;
		width: auto;
	}
}

/*----------------------------s_approaches-----------------------------------*/

.ld.sdgsld img{
	border: 1px solid #e0e0e0;
	box-sizing: border-box;
}
.approaches_heading{
	font-size: 2.4rem;
  border-left: 5px solid #023692;
  padding: 15px 15px 15px 20px;
  line-height: 1.5;
	margin-top: 50px;
  margin-bottom: 30px;
  color: #023692;
  box-sizing: border-box;
	background: #f4f5f7;
}
.s_approaches:after{
	content: "";
	display: block;
	clear: both;
}
.s_approaches .h{
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	height: 200px;
	font-size: 2.3rem;
}
.s_approaches .h img{
	display: block;
	position: absolute;
	z-index: 1;
	max-width: none;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 50% 50%;
	font-family: 'object-fit: cover; object-position: 50% 50%;';
}
.s_approaches .h span{
	display: inline-block;
	background: rgba(1,47,147,0.9);
	color: #fff;
	line-height: 1.2;
	padding: 8px 15px;
	position: relative;
	z-index: 2;
	box-sizing: border-box;
	max-width: calc(100% - 20px);
}
@media screen and (max-width: 750px){
	.ld.sdgsld>div{
		overflow: inherit;
	}
	.ld.sdgsld>div>img {
    max-width: none;
    width: 100%;
    margin-left: 0%;
	}
}
@media screen and (max-width: 600px){
	.s_approaches .h{
		font-size: 1.8rem;
	}
	.s_approaches .h span{
		padding: 5px 10px;
	}
}
@media screen and (max-width: 450px){
	.s_approaches .h{
		height: 50vw;
	}
}

.s_approaches .heading3{
	padding-top: 30px;
	clear: both;
}
.s_approaches .heading3~img{
	display: block;
	width: 35%;
	float: right;
	margin-bottom: 30px;
}
.s_approaches .heading3~p{
	margin-bottom: 30px;
}
.s_approaches .heading3~img+p{
	width: 62%;
	float: left;
}
.s_approaches .heading9~img {
    display: block;
    width: 25%;
    float: left;
    margin-bottom: 30px;
}
.s_approaches .heading9~img+p {
    width: 72%;
    float: right;
}

.s_approaches .ap_box{
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	width:100%;
	flex-wrap: wrap;
	box-sizing: border-box;
	position: relative;
	margin-bottom: 30px;
}
.s_approaches .ap_box .sdgs-i{
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	justify-content: flex-end;
	width:65%;
	position: absolute;
	margin-right: 35%;
	padding-right: 30px;
	box-sizing: border-box;
}
.s_approaches .ap_box .sdgs-i li{
	width:60px;
	padding:0 5px;
	box-sizing: border-box;
}
.s_approaches .ap_box .img{
	order: 2;
	width: 35%;
	box-sizing: border-box;
}
.s_approaches .ap_box .p{
	order: 1;
	width: 65%;
	padding-right: 30px;
	padding-top: 80px;
	box-sizing: border-box;
}
.appt{
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	width:100%;
	flex-wrap: wrap;
	align-items: center;
	background: #f1f1f1;
	padding:50px;
	box-sizing: border-box;
	margin-bottom: 60px;
}
.appt .img{
	width:20%;
}
.appt p{
	width:80%;
	padding-left: 30px;
	box-sizing: border-box;
	font-size: 2.0rem;
	font-weight: 600;
}
@media screen and (max-width: 680px){
	.s_approaches .ap_box .sdgs-i{
		width:100%;
		position: static;
		margin-right: 0%;
		padding-right: 0px;
		margin-bottom: 25px;
	}
	.s_approaches .ap_box .img{
		order: 1;
		width: 100%;
	}
	.s_approaches .ap_box .img img{
		display:block;
		width: 70%;
		margin: 0 auto 20px;
	}
	.s_approaches .ap_box .p{
		order: 2;
		width: 100%;
		padding-right: 0px;
		padding-top: 0px;
	}
	.appt .img{
		width:100%;
	}
	.appt .img img{
		display:block;
		width: 100%;
		max-width:200px;
		margin: 0 auto 20px;
	}
	.appt p{
		width:100%;
		padding-left: 0px;
		box-sizing: border-box;
		font-size: 2.0rem;
		font-weight: 600;
	}
}
@media screen and (max-width: 450px){
	.s_approaches .heading3~img{
		float: none;
		width: 80%;
		margin: 0 auto 20px;
	}
	.s_approaches p{
		float: none !important;
		width: auto !important;
	}
	.s_approaches .ap_box .img img{
		display:block;
		width: 90%;
		margin: 0 auto 20px;
	}
}
