@charset "utf-8";

#content_h.company_h::after {
	background: linear-gradient(
		0deg,
		rgba(229, 229, 229, 1) 0%,
		rgba(255, 255, 255, 0) 100%
	);
}

/*---------------------------------------------------------
	company greeting
---------------------------------------------------------*/

.content_area.company_greeting {
	padding: 110px 0 100px;
	background: #E5E5E5;
}

.company_greeting .inner{
	max-width:1390px;
}

.company_greeting_box {
	display: flex;
	align-items: flex-start;
	gap: 58px;
	margin-right:8%;
}

.company_greeting_img {
	width: 47%;
	max-width: 470px;
	flex: 0 0 47%;
}

.company_greeting_img img {
	width: 100%;
	height: auto;
	display: block;
}

.company_greeting_body {
	flex: 1;
	padding-top: 10px;
}

.company_greeting_body .commonSecHead {
	margin-bottom: 38px;
}

.company_greeting_body .commonSecHead__ttl {
	font-size: clamp(4.6rem, 6vw, 8rem);
}

.company_greeting_lead {
	font-size: 3.0rem;
	font-weight: 500;
	letter-spacing: 0.1em;
	line-height: 1.46;
	color: #122c48;
	margin: 0 0 40px;
}

.company_greeting_text p {
	letter-spacing: 0.05em;
	line-height: 2.37;
	margin: 0 0 30px;
}

.company_greeting_name {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 25px;
}

.company_greeting_name span {
	letter-spacing: 0.1em;
}

.company_greeting_name strong {
	font-size: 3.0rem;
	font-weight: 500;
	letter-spacing: 0.1em;
}

/*---------------------------------------------------------
	company MVVP
---------------------------------------------------------*/

.content_area.company_mvvp {
	padding: 90px 0 30px;
	background: #F7F9FC;
}

.company_mvvp .commonSecHead {
	margin-bottom: 70px;
}

.commonSecHead__enSub {
	margin: 5px 0 17px;
/* 	font-family: 'Poppins', 'Noto Sans JP', sans-serif; */
	font-size: 1.8rem;
	font-weight: 500;
	letter-spacing: 0.2em;
	line-height: 1.5;
	color:rgb(18 44 72 / 65%);
}

.company_mvvp_list {
	border-top: 1px solid #d7dee8;
}

.company_mvvp_item {
	display: grid;
	grid-template-columns: 220px 1fr;
/* 	border-bottom: 1px solid #d7dee8; */
	position:relative;
}


.company_mvvp_item:after{
	content:"";
	position:absolute;
	width:3px;
	height:100%;
	background:#ED1C24;
	left:220px;
}

.company_mvvp_label {
	padding: 30px 20px 30px 30px;
	border-bottom: 1px solid rgb(18 44 72 / 20%);
	display: flex;
    flex-direction: column;
    justify-content: center;
	height: 100%;
}

.company_mvvp_label h3 {
	margin: 0;
	font-family: 'Poppins', 'Noto Sans JP', sans-serif;
	font-size: 3.2rem;
	font-weight: 500;
	letter-spacing: 0;
	line-height: 1.3;
	color: #122c48;
}

.company_mvvp_label p {
	margin:0;
	font-size: 1.6rem;
	font-weight: 500;
	letter-spacing: 0.2em;
	line-height: 1.5;
    color: rgb(18 44 72 / 65%);;
}

.company_mvvp_body {
	position: relative;
	padding: 30px 20px 30px 40px;
	border-bottom: 1px solid rgb(18 44 72 / 20%);
}

.company_mvvp_body h4 {
	margin: 0 0 10px;
	padding: 0;
	font-size: 3rem;
	letter-spacing: 0.1em;
	line-height: 1.46;
}

.company_mvvp_body h4::before {
	content: none;
}

.company_mvvp_body p {
	margin: 0;
	letter-spacing: 0.05em;
}

/*---------------------------------------------------------
	company identity
---------------------------------------------------------*/

.content_area.company_identity {
	padding: 40px 0 170px;
	background:#F7F9FC;
}

.company_identity .commonSecHead {
	margin-bottom: 70px;
}

.company_identity_box {
	border-top: 3px solid #122C48;
}

.company_identity_list {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	border-bottom: 1px solid rgb(18 44 72 / 20%);
}

.company_identity_item {
	display: flex;
    justify-content: center;
    align-items: center;
	padding: 40px 20px;
	border-left:1px solid rgb(18 44 72 / 20%);
}

.company_identity_item:last-child {
	border-right: 1px solid rgb(18 44 72 / 20%);
}

.company_identity_num {
	margin: 0;
	font-family: 'Poppins', 'Noto Sans JP', sans-serif;
	font-size: 1.6rem;
	font-weight: 700;
	line-height: 1.3;
	color: #ED1C24;
}

.company_identity_item h3 {
	margin: 0;
	font-size: 3.0rem;
	font-weight: 500;
	letter-spacing: 0.1em;
	line-height: 1.5;
}

.company_identity_text {
	padding-top: 50px;
	text-align: center;
}

.company_identity_text p {
	margin: 0 0 18px;
	font-size: 1.6rem;
	letter-spacing: 0.05em;
	line-height: 2.2;
}

.company_identity_text p:last-child {
	margin-bottom: 0;
}

.company_identity_text span {
	color: #ED1C24;
	font-size:1.8rem;
	font-weight: 500;
}


/*---------------------------------------------------------
	company history
---------------------------------------------------------*/

.content_area.company_history {
	position: relative;
	padding: 150px 0 75px;
	background: #0E5DA8;
	color: #fff;
	overflow: hidden;
}



/* 下側だけに背景画像 */
.company_history::before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 55%;
	background: url("../img/company/company_history_bg.jpg") no-repeat center top / cover;
	z-index: 0;
}

.company_history .inner {
	position: relative;
	z-index: 2;
}

.company_history .inner {
	position: relative;
	z-index: 1;
}

.company_history .commonSecHead {
	margin-bottom: 70px;
}

.company_history_lead {
	text-align: center;
	font-size: 2.8rem;
	font-weight: 500;
	letter-spacing: 0.1em;
	line-height: 1.42;
	color: #fff;
	margin: 0 0 70px;
}

.company_history_block {
	margin-bottom: 115px;
}

.company_history_block_ttl {
	margin: 0 0 50px;
	font-size: 3.0rem;
	font-weight: 500;
	letter-spacing: 0.1em;
	color: #fff;
}

.company_history_block_ttl::before {
	content: none;
}

/* 沿革 */
.company_history_list {
	position: relative;
	display: flex;
    flex-direction: column;
    gap: 90px;
	padding:55px 0 100px 0;
}

.company_history_list::before {
	content: "";
	position: absolute;
	top: 0;
	left: 198px;
	width: 1px;
	height: 100%;
	background: rgba(255, 255, 255, 0.8);
}

.company_history_item {
	position: relative;
	display: grid;
	grid-template-columns: 185px 1fr;
	gap: 70px;
	align-items: center;
/* 	min-height: 72px; */
}

.company_history_item::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 198px;
	width: 10px;
	height: 10px;
	background: #fff;
	border-radius: 50%;
	transform: translate(-50%, -50%);
	z-index: 2;
}

.company_history_item::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 198px;
	width: 16px;
	height: 16px;
	background: rgb(255 255 255 / 60%);
	border-radius: 50%;
	transform: translate(-50%, -50%);
	z-index: 1;
}

.company_history_item time {
	font-size: 4rem;
	font-weight: 300;
	line-height: 1.4;
	color: #fff;
	letter-spacing:0.05em;
}

.company_history_item time span{
	display:inline-block;
	font-size:1.6rem;
	letter-spacing:0;
	margin-left:5px;
}

.company_history_item p {
	margin: 0;
	font-size: 1.6rem;
	letter-spacing: 0.1em;
	color: #fff;
}

/* 未来沿革 */
.company_future_block {
	margin-top: 80px;
}

.company_future_message {
	text-align: center;
	margin-bottom: 70px;
}

.company_future_message h4 {
	margin: 0 0 50px;
	font-size: 3.0rem;
	font-weight: 500;
	letter-spacing: 0.1em;
	color: #fff;
}

.company_future_message h4::before {
	content: none;
}

.company_future_message p {
	margin: 0 0 18px;
	font-size: 1.4rem;
	font-weight: 500;
	letter-spacing: 0.08em;
	line-height: 2.2;
	color: #fff;
}

.company_future_message p:last-child {
	margin-bottom: 0;
}

.company_future_list {
	display: grid;
	gap: 110px;
	position:relative;
	padding: 45px 0 160px 0;
}


.company_future_list::before {
    content: "";
    position: absolute;
    top: 0;
    left: 198px;
    width: 1px;
    height: 100%;
    background: rgba(255, 255, 255, 0.8);
}

.company_future_item {
	position: relative;
	display: grid;
	grid-template-columns: 180px 1fr;
	gap: 70px;
	align-items: center;
}

.company_future_item::before {
	content: "";
    position: absolute;
    top: 50%;
    left: 198px;
    width: 10px;
    height: 10px;
	background: #ED1C24;
	border-radius: 50%;
	transform:translate(-50%, -50%);
}

.company_future_item::after {
	content: "";
    position: absolute;
    top: 50%;
    left: 198px;
    width: 16px;
    height: 16px;
	background:rgb(237 28 36 / 60%);
	border-radius: 50%;
	transform: translate(-50%, -50%);
}

.company_future_item time {
	font-size: 4.0rem;
	font-weight: 300;
	letter-spacing: 0.05em;
	line-height: 1.5;
	color: #fff;
	text-align: right;
}

.company_future_item time .company_future_date_text{
	font-size: 1.6rem;
	font-weight: 400;
	letter-spacing: 0.05em;
	margin-left:5px;
}

.company_future_item .company_future_text {
	margin: 0;
	font-size: 1.6rem;
	letter-spacing: 0.1em;
	line-height: 1.4;
	color: #fff;
}

.company_future_num{
	display:inline-block;
	font-size:3.0rem;
	margin:0 7px;
}

/*---------------------------------------------------------
	company outline
---------------------------------------------------------*/

.content_area.company_outline {
	padding: 145px 0 300px;
	background:#F7F9FC;
}

.company_outline .commonSecHead {
	margin-bottom: 87px;
}

.company_outline_table {
	width: 100%;
	margin: 0;
	border-collapse: collapse;
	border-spacing: 0;
	border-top: 1px solid #DDDDDD;
}

.company_outline_table tr {
	border-bottom: 1px solid #DDDDDD;
}

.company_outline_table tr:first-child {
	border-top: none;
}

.company_outline_table th,
.company_outline_table td {
	background: transparent;
	border: none;
	vertical-align: top;
	text-align: left;
	color: #122c48;
}

.company_outline_table th {
	width: 240px;
	padding: 35px 0;
	font-size: 1.6rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	line-height:2.37;
	white-space: nowrap;
}

.company_outline_table td {
	padding: 35px 0;
	font-size: 1.6rem;
	font-weight: 400;
	letter-spacing: 0.1em;
	line-height: 2.37;
}

.company_outline_partner {
	margin-bottom: 30px;
}

.company_outline_partner:last-child {
	margin-bottom: 0;
}

.company_outline_partner p {
	margin: 0 0 8px;
	font-size: 1.4rem;
	line-height: 2.1;
	color: #122c48;
}

.company_outline_partner p:last-child {
	margin-bottom: 0;
}

.company_outline_map {
	margin-top: 40px;
	width: 100%;
	overflow: hidden;
}

.company_outline_map iframe {
	display: block;
	width: 100%;
	height: 400px;
}


@media screen and (max-width: 767px) {
	
	/*company greeting*/
	.content_area.company_greeting{
		padding: 70px 0;
	}

	.company_greeting_box {
		flex-direction: column;
		margin:0;
		gap:40px;
	}

	.company_greeting_img {
		margin: 0 auto;
		width:100%;
	}

	.company_greeting_body {
		padding-top: 0;
	}

	.company_greeting_body .commonSecHead {
		margin-bottom: 25px;
	}

	.company_greeting_body .commonSecHead__ttl {
		font-size: 4rem;
	}

	.company_greeting_lead {
		font-size: 2rem;
		line-height: 1.7;
		margin-bottom: 25px;
	}

	.company_greeting_text p {
		font-size: 1.3rem;
		line-height: 2;
	}

	.company_greeting_name {
		display: block;
		text-align: right;
		margin-top: 30px;
	}

	.company_greeting_name span {
		display: inline-block;
		margin-right: 12px;
	}

	.company_greeting_name strong {
		font-size: 1.6rem;
	}
	
	/*company MVVP*/
	.content_area.company_mvvp {
		padding: 70px 0 20px 0;
	}

	.company_mvvp .commonSecHead {
		margin-bottom: 35px;
	}

	.commonSecHead__enSub {
		font-size: 1.1rem;
		letter-spacing: 0.12em;
	}

	.company_mvvp_item {
/* 		display: block;
		padding: 24px 0; */
		grid-template-columns: 120px 1fr;
	}
	.company_mvvp_item:after{
		left:120px;
	}

	.company_mvvp_label {
		padding: 20px 10px 20px 0;
	}

	.company_mvvp_label h3 {
		font-size: 1.8rem;
	}
	
	.company_mvvp_label p{
		font-size:1.2rem;
	}

	.company_mvvp_body {
/* 		padding: 0 0 0 20px;
		border-left: 2px solid #ed1c24; */
		padding: 20px 0 20px 20px;
	}

	.company_mvvp_body h4 {
		font-size: 1.7rem;
		margin-bottom: 10px;
	}

	.company_mvvp_body p {
		font-size: 1.3rem;
		line-height: 1.9;
	}
	
	/*company identity*/
	.content_area.company_identity {
		padding: 40px 0 80px;
	}

	.company_identity .commonSecHead {
		margin-bottom: 35px;
	}

	.company_identity_box {
		border-top-width: 2px;
	}

	.company_identity_list {
		grid-template-columns: 1fr;
	}

	.company_identity_item {
		padding: 28px 20px;
		border-right: none;
		border-bottom: 1px solid rgb(18 44 72 / 20%);
		border-right:1px solid rgb(18 44 72 / 20%);
	}

	.company_identity_item:last-child {
		border-bottom: none;
	}

	.company_identity_item h3 {
		font-size: 2rem;
	}

	.company_identity_text {
		padding: 35px 0 0;
		text-align: left;
	}

	.company_identity_text p {
		font-size: 1.4rem;
		line-height: 2;
	}
	
	.company_identity_text span{
		font-size:1.6rem;
	}
	
	/*company history*/
	.content_area.company_history {
		padding: 80px 0 50px;
	}
	
    .company_history::before {
        background-position: center bottom;
        background-size: 200% auto;
    }
	
	.company_history .commonSecHead {
		margin-bottom: 35px;
	}

	.company_history_lead {
		text-align: left;
		font-size: 1.7rem;
		margin-bottom: 45px;
	}

	.company_history_block {
		margin-bottom: 60px;
	}

	.company_history_block_ttl {
		font-size: 1.9rem;
		margin-bottom: 30px;
	}

	.company_history_list {
		padding:30px 0;
		gap:40px;
	}

	.company_history_list::before {
		left: 110px;
	}

	.company_history_item {
		grid-template-columns: 100px 1fr;
		gap: 35px;
		min-height: 65px;
	}

	.company_history_item::before {
		left: 110px;
	}
	
	.company_history_item::after{
		left:110px;
	}

	.company_history_item time {
		font-size: 2.0rem;
	}
	
	.company_history_item time span{
		font-size:1.3rem;
		margin-left:0;
	}

	.company_history_item p {
		font-size: 1.4rem;
	}
	
	.company_future_block{
		margin-top:60px;
	}

	.company_future_message {
		text-align: left;
		margin-bottom: 50px;
	}

	.company_future_message h4 {
		font-size: 1.8rem;
		margin-bottom:40px;
	}

/* 	.company_future_message p {
		font-size: 1.3rem;
		line-height: 2;
	} */

	.company_future_list {
		gap: 32px;
		padding:30px 0 60px 0;
	}
	
	.company_future_list::before{
		left:110px;
	}

	.company_future_item {
/* 		display: block;
		padding-left: 20px; */
		grid-template-columns: 100px 1fr;
		gap:35px;
	}

	.company_future_item::before {
		left: 110px;
	}
	
	.company_future_item::after{
		left:110px;
	}

	.company_future_item time {
		display: block;
		font-size: 2.0rem;
	}
	
	.company_future_item time .company_future_date_text{
		font-size:1.3rem;
		margin-left:0;
	}

	.company_future_item p {
		font-size: 1.4rem;
		line-height:1.8;
	}
	
	.company_future_num{
		font-size:2.0rem;
	}
	
	/*company outline*/
	.content_area.company_outline {
		padding: 70px 0 200px;
	}

	.company_outline .commonSecHead {
		margin-bottom: 40px;
	}

	.company_outline_table,
	.company_outline_table tbody,
	.company_outline_table tr,
	.company_outline_table th,
	.company_outline_table td {
		display: block;
		width: 100%;
	}

	.company_outline_table th {
		padding: 22px 0 6px;
		font-size: 1.3rem;
		white-space: normal;
	}

	.company_outline_table td {
		padding: 0 0 22px;
		font-size: 1.3rem;
		line-height: 2;
	}

	.company_outline_partner {
		margin-bottom: 26px;
	}

	.company_outline_partner p {
		font-size: 1.3rem;
		line-height: 2;
	}

	.company_outline_map {
		margin-top: 40px;
	}

	.company_outline_map iframe {
		height: 240px;
	}

}