@charset "utf-8";
/* company */
#subvisual .bg-company:before{
	background-image: url("../image/company/company/bg-company.jpg"); 
	background-position: left;
}


/* movie  */
#movie{
	/*padding: 100px 0;*/
	padding: 100px 0 0;
}

#movie .youtube {
  width: 100%;
  aspect-ratio: 16 / 9;
}
#movie .youtube iframe {
  width: 100%;
  height: 100%;
}

/* company  */
#company{
	/*padding: 100px 0;*/
	padding: 100px 0 0;
}

#company .description{
	margin:0 0 50px;
	text-align: center;
	font-size: 20px;
	font-weight: 500;
	letter-spacing: -0.025em;
}

#company .description span{
	display: inline-block;
}


@media screen and (max-width:750px) {
	#company .description{font-size: 28px;}
}


#company .description br.pc-none{display: none;}

@media screen and (max-width:750px) {
	#company .description br.pc-none{display: inherit;}
}


#company table{
	width: 100%;
	border: 1px solid #d2d2d2;
	box-sizing: border-box;
  	table-layout: fixed;
    border-spacing: 0;
	line-height: 1.6;
}

#company table th,
#company table td{
	box-sizing: border-box;
	vertical-align: middle;
	letter-spacing: 0.025em;
}

#company table tr{
	border-bottom: 1px solid #9aa4ac;
}

#company table th{
	background-color: #cfdde9;
	width: 280px;
	padding:38px 15px;
	font-weight: bold;
	border-right: 1px solid #c5d6e5;
}

@media screen and (max-width: 1080px) {
	#company table th{
		width: 180px;
	}
}

@media screen and (max-width: 750px) {
	#company table th{
		width: 100%;
		display: block;
		padding:30px 15px;
	}
}

#company table td{
	padding:38px 65px;
	background-color: #f3f6f9;
	font-weight: 500;
}

@media screen and (max-width: 1080px) {
	#company table td{
		padding:38px 40px;
	}
}

@media screen and (max-width: 750px) {
	#company table td{
		width: 100%;
		display: block;
		padding:30px 30px;
	}
}

#company table td span{display: inline-block;margin-right: 18px;}

#company table td span:last-of-type{margin-right: 0px;}

#company table tr:nth-of-type(3) td span{margin-right: 0;}

/* message */

#message{
	position: relative;
	margin-bottom: 70px;
	padding: 100px 0 0;
	z-index: 3;
}

@media screen and (max-width: 1080px) {
	#message{
		/*margin-top: 100px;*/
		margin-bottom: 0;
	}
}

#message:before{
		content: "";
		position: absolute;
		width: calc(100% - 860px);
		height: 580px;
/*		background-image: -moz-linear-gradient( -119deg, rgb(94,174,225) 0%, rgb(55,130,186) 60%, rgb(16,86,147) 100%);
		background-image: -webkit-linear-gradient( -119deg, rgb(94,174,225) 0%, rgb(55,130,186) 60%, rgb(16,86,147) 100%);
		background-image: -ms-linear-gradient( -119deg, rgb(94,174,225) 0%, rgb(55,130,186) 60%, rgb(16,86,147) 100%);
		background-image:linear-gradient( -119deg, rgb(94,174,225) 0%, rgb(55,130,186) 60%, rgb(16,86,147) 100%);*/
		background-color: #4aa6db;
		right:0;
		z-index: -2;
		bottom: -70px;
		box-sizing: border-box;
}

@media screen and (max-width: 1600px) {
	#message:before{width: calc(100% - 500px);}
}

@media screen and (max-width: 1080px) {
	#message:before{
/*		width: calc(100% - 40px);
		height: calc(100% + 70px);*/
		content: none;
	}
}

#message .content{
	width: calc(100% + 80px);
	display: flex;
	justify-content: space-between;
	align-items: center;
	box-sizing: border-box;	
}

@media screen and (max-width: 1600px) {
	#message .content{width: calc(100% + 50px);}
}

@media screen and (max-width: 1080px) {
	#message .content{
		width: 100%;
		flex-direction: column-reverse;
	}
}


#message .bg-message{
	position: relative;
	width: 760px;
	padding: 80px 100px 80px 0;
	box-sizing: border-box;	
}

@media screen and (max-width:1340px) {
  #message .bg-message{padding: 80px 50px 80px 0;}
}

@media screen and (max-width:1080px) {
	#message .bg-message{
		/*padding: 80px 40px 80px 0;*/
		padding: 80px 40px;
		width: 100%;
	}
}

#message .bg-message:before{
	content: "";
	position: absolute;
	width: calc(100% + 360px);
	left: -360px;
	background-color: #eeeeee;
	height: 100%;
	z-index: -1;
	top: 0;
}

@media screen and (max-width:1080px) {
	#message .bg-message:before{
/*	width: calc(100% + 80px);
	left: -80px;*/
	width: 100%;
	left: 0;
	}
}




#message .bg-message h2{
	margin-bottom: 100px;
}

@media screen and (max-width: 1080px) {
	#message .bg-message h2{
		margin-bottom: 710px;
	}
}



#message .bg-message h5{
	font-size:26px;
	font-weight:bold;
	padding-left: 40px;
	position: relative;
	letter-spacing: 0.025em;
	margin-bottom: 60px;
	color: #202020;
}


@media screen and (max-width:800px) {
	#message .bg-message h5{letter-spacing: -0.025em;}
}


@media screen and (max-width:750px) {
	#message .bg-message h5{font-size: 32px;}
}


#message .bg-message h5:before{
	content: "";
	position: absolute;
	background-color: #202020;
	width: 30px;
	height: 2px;
    top: 23px;
    left: 0%;
    transform: translateY(0%);
    -webkit-transform: translateY(0%);
    -ms-transform: translateY(0%);
}

@media screen and (max-width:750px) {
	#message .bg-message h5:before{top: 30px;}
}

#message .bg-message .description{
	letter-spacing: 0.025em;
	margin-bottom: 60px;
}

/*
@media screen and (max-width:750px) {
	#message .bg-message .description{
		letter-spacing: -0.025em;
	}
}*/


#message .bg-message .ceo-name{
	text-align: right;
	font-size:20px;
}

@media screen and (max-width:750px) {
	#message .bg-message .ceo-name{font-size: 28px;}
}


#message .bg-message .ceo-name span{
	display: inline-block;
	font-size: 30px;
	font-weight: bold;
}

@media screen and (max-width: 750px) {
	#message .bg-message .ceo-name span{font-size: 35px;}
}

#message .bg-photo{
	position: relative;
	margin-left: 80px;
	width: 500px;
	box-sizing: border-box;
}

@media screen and (max-width: 1600px) {
	#message .bg-photo{margin-left: 80px;}
}

@media screen and (max-width: 1440px) {
	#message .bg-photo{margin-left: 70px;}
}

@media screen and (max-width: 1340px) {
	#message .bg-photo{margin-left: 50px;}
}

@media screen and (max-width: 1080px) {
	#message .bg-photo{
		width: 500px;
		position:absolute;
		right: inherit;
		top: 205px;
		margin-left: 0;
	}
}


@media screen and (max-width: 750px) {
	#message .bg-photo{
		top: 225px;
	}
}

/*#message .bg-photo:before{
		content: "";
		position: absolute;
		width: calc(100% + 650px);
		left :-380px;
		background-image: -moz-linear-gradient( -119deg, rgb(94,174,225) 0%, rgb(55,130,186) 60%, rgb(16,86,147) 100%);
		background-image: -webkit-linear-gradient( -119deg, rgb(94,174,225) 0%, rgb(55,130,186) 60%, rgb(16,86,147) 100%);
		background-image: -ms-linear-gradient( -119deg, rgb(94,174,225) 0%, rgb(55,130,186) 60%, rgb(16,86,147) 100%);
		background-image:linear-gradient( -119deg, rgb(94,174,225) 0%, rgb(55,130,186) 60%, rgb(16,86,147) 100%);	
		height: 580px;
		z-index: -2;
		bottom: -280px;
		box-sizing: border-box;
}*/

/*history*/

#history{
	padding: 100px 0 230px;
	position: relative;
	box-sizing: border-box;
	z-index: 2;
}

@media screen and (max-width: 1340px) {
	#history{padding: 90px 0 100px;}
}

#history:before{
	content: "";
	position: absolute;
	width: 100%;
	height: 100%;
	top: -90px;
	left: 0;
	background-image: url("../image/company/company/bg-history.png");
	background-repeat: no-repeat;
	background-size: cover;
	background-position: top;
	box-sizing: border-box;
}


@media screen and (max-width: 750px) {
	#history:before{background-image: none;}
}

#history .timeline {
  width: calc(100% + 160px);
  margin: 0 -80px;
}

@media screen and (max-width: 1340px) {
	#history .timeline {
	  width: calc(100% + 140px);
	  margin: 0 -70px;
	}
}

@media screen and (max-width: 1080px) {
	#history .timeline {
	  width: calc(100% + 80px);
	  margin: 0 -40px;
	}
}

@media screen and (max-width: 750px) {
	#history .timeline {
	  width: 100%;
	  margin: 0 auto;
	}
}

#history .timeline .list {

}
#history .timeline .list .item{
	position: relative;
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 50px;
}

@media screen and (max-width: 750px) {
	#history .timeline .list .item{flex-direction: column!important;}
	#history .timeline .list .item:first-of-type{padding-top: 50px;}
}

#history .timeline .list .item:nth-of-type(even){
	flex-direction: row-reverse;
}

@media screen and (max-width: 750px) {
	#history .timeline .list .item:nth-of-type(even){flex-direction: row;}	
}

/*@media screen and (max-width: 750px) {
	#history .timeline .list .item:nth-of-type(even){flex-direction: column;}	
}
*/

#history .timeline .list .item:last-of-type{margin-bottom: 0;}

#history .timeline .list .item::after{
	content: "";
	position: absolute;
	width: 20px;
	height: 20px;
	background-color: #4aa6db;
	border-radius: 10px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}

@media screen and (max-width: 750px) {
	#history .timeline .list .item::after{
		left: -10px;
		transform: translate(0%, -50%);
		-webkit-transform: translate(0%, -50%);
		-ms-transform: translate(0%, -50%);
		top: 35px;
	}
	#history .timeline .list .item:first-of-type::after{top: 85px;}
}

#history .timeline .list .item::before {
	content: "";
	position: absolute;
	width: 3px;
	height: calc(100% + 50px);
	background-color: #b7ccde;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
}

@media screen and (max-width: 750px) {
	#history .timeline .list .item::before {
	left: 0;
	transform: translateX(0);
	-webkit-transform: translateX(0);
	-ms-transform: translateX(0);
	}	
}

#history .timeline .list .item:first-of-type::before {
	top: 50px;
}

@media screen and (max-width: 750px) {
	#history .timeline .list .item:first-of-type::before {top: 0px;}
}


#history .timeline .list .item:last-of-type::before {
	height: calc(100% + 50px);
}

#history .timeline .list .item .date {
	width: 160px;
	margin: 0 100px 0 auto;
	padding: 0;
	position: relative;
	box-sizing: border-box;
	text-align: center;
}

@media screen and (max-width: 1340px) {
	#history .timeline .list .item .date {
	  margin: 0 60px 0 auto;
	}
}

@media screen and (max-width: 1080px) {
	#history .timeline .list .item .date {
		margin: 0 50px 0 auto;
	}
}

@media screen and (max-width: 750px) {
	#history .timeline .list .item .date{
		margin: 0 auto 15px 40px!important;
		width: 100%;
		text-align: left;		
	}	
}


#history .timeline .list .item:nth-of-type(even) .date{
	margin: 0 auto 0 100px;
}

@media screen and (max-width: 1340px) {
	#history .timeline .list .item:nth-of-type(even) .date{
	 margin: 0 auto 0 60px;
	}
}
@media screen and (max-width: 1080px) {
	#history .timeline .list .item:nth-of-type(even) .date{
	 margin: 0 auto 0 50px;
	}
}

@media screen and (max-width: 750px) {
	#history .timeline .list .item:nth-of-type(even) .date{
	 margin: 0 auto 0 40px;
	}
}


/*#history .timeline .list .item .date {
	width: 510px;
	margin: 0 80px;
	padding: 0;
	position: relative;
	box-sizing: border-box;
	text-align: right;
}


#history .timeline .list .item:nth-of-type(even) .date{
	text-align: left;
}*/


#history .timeline .list .item .date span:nth-of-type(1){
	font-family: 'Inter', sans-serif;
	color: #4aa6db;
	font-weight: bold;
	font-size: 50px;
	text-align: center;
	line-height: 1.2;
}

#history .timeline .list .item .date span:nth-of-type(2){
	font-size: 14px;
	display: block;
	color:#202020;
	letter-spacing: 0.025em
}

@media screen and (max-width: 750px) {
	#history .timeline .list .item .date span{
		display: inline-block!important;
		vertical-align: bottom;
		margin-right: 15px;
	}
	#history .timeline .list .item .date span:nth-of-type(2){font-size: 24px;}
}



#history .timeline .list .item .comment{
	position: relative;
	width: 510px;
	padding:25px 30px;
	letter-spacing: 0.025em	;
	background:#e9e9e9;	
	border-radius:6px;
	text-align:center;
	box-sizing: border-box;
	margin: 0 80px;
	font-weight: bold;
}

@media screen and (max-width: 1340px) {
	#history .timeline .list .item .comment{
		margin: 0 70px;
		width: calc(50% - 140px);	
	}
}

@media screen and (max-width: 1080px) {
	#history .timeline .list .item .comment{
		margin: 0 40px;
		width: calc(50% - 80px);	
	}
}

@media screen and (max-width: 750px) {
	#history .timeline .list .item .comment{
		width: 100%;
		margin: 0 0 0 40px;
		text-align: left;
	}	
}

#history .timeline .list .item:nth-of-type(2) .comment,
#history .timeline .list .item:nth-of-type(3) .comment,
#history .timeline .list .item:nth-of-type(4) .comment,
#history .timeline .list .item:nth-of-type(6) .comment{text-align: left;}

#history .timeline .list .item .comment:after{
    border: solid transparent;
    content:'';
    height:0;
    width:0;
    pointer-events:none;
    position:absolute;
    border-color: rgba(233, 233, 233, 0);
    border-top-width:10px;
    border-bottom-width:10px;
    border-left-width:10px;
    border-right-width:10px;
    margin-top: -10px;
    border-right-color:#e9e9e9;
    right:100%;
    top:50%;
}

@media screen and (max-width: 750px) {
	#history .timeline .list .item .comment:after{content: none!important;}	
}

#history .timeline .list .item:nth-of-type(even) .comment:after{
    border: solid transparent;
    content:'';
    height:0;
    width:0;
    pointer-events:none;
    position:absolute;
    border-color: rgba(233, 233, 233, 0);
    border-top-width:10px;
    border-bottom-width:10px;
    border-left-width:10px;
    border-right-width:10px;
    margin-top: -10px;
    border-left-color:#E9E9E9;
    left:100%;
    top:50%;
}

@media screen and (max-width: 750px) {
	#history .timeline .list .item:nth-of-type(even) .comment:after{
		right:100%!important;
		left: inherit;
		transform: scale(-1, 1);
	}	
}



/*business*/
#business{
	padding: 100px 0;
	position: relative;
	background-color: #eeeeee;
}

#business:before{
	content: "";
	position:absolute;
	background-image: url("../image/company/company/bg-busness.png");
	background-repeat: no-repeat;
	/*background-position:right bottom;*/
	background-position: 0;
	background-size:cover;
	width: 1120px;
	/*width:calc(100% - 800px);*/
	height: 100%;
	right: 0;
	top:0;
}

@media screen and (max-width: 1360px) {
	#business:before{
		width:calc(100% - 150px);
		background-position: 0;
	}
}

@media screen and (max-width: 750px) {
	#business:before{
		background-position: 35% 10%;
		width: 100%;
	}
}



#business ol li{
	list-style-type: none;
	counter-increment: cnt;
	padding-left: 45px;
	/*text-indent: -40px;*/
	letter-spacing: 0.025em;
}


@media screen and (max-width: 750px) {
	#business ol li{
	padding-left: 60px;
	}
}


#business ol li::before {
	content: "(" counter(cnt) ") ";
	width: 45px;
	margin-right: 15px;
	position: absolute;
	left: 0;
}

@media screen and (max-width: 750px) {
	#business ol li::before {
	width: 60px;
	}
}
