@charset "UTF-8";

.company_profile_sec {
	margin-bottom: 140px;
}

.company_profile_sec .title {
	font-size: 35px;
	line-height: 1.3;
	margin-bottom: 30px;
	font-weight: 800;
	text-align: center;
}

.company_profile_sec .cont dl {
	border-top: 1px solid #DBDBDB;
	display: flex;
}

.company_profile_sec .cont dl dt {
	flex-shrink: 0;
	width: 300px;
	padding: 26px 0 26px 20px;
	font-size: 16px;
	letter-spacing: .08em;
	font-weight: 700;
	color: #3E3E3E;
	position: relative;
}

.company_profile_sec .cont dl dt:before {
	content: "";
	width: 52px;
	height: 4px;
	background: #6EB92B;
	position: absolute;
	left: 0;
	top: 0;
}

.company_profile_sec .cont dl dd {
	width: 100%;
	letter-spacing: .08em;
	line-height: 1.5;
	padding: 28px 0;
	color: #3E3E3E;
	font-weight: 400;
}

.section_greeting {
	margin-bottom: 175px;
}

.section_greeting .flex_box {
	gap: 50px;
	align-items: center;
}

.section_greeting .picture {
	width: calc( (100vw - 1340px) / 2 + 650px );
	height: 500px;
	border-left: 20px solid #6EB92B;
}

.section_greeting .picture img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 0 10px 10px 0;
}

.section_greeting .text_box {
	width: 540px;
}

.section_greeting .text_box .title {
	font-size: 35px;
	font-weight: 800;
	margin-bottom: 30px;
}

.section_greeting .text_box .lead {
	font-weight: 400;
	line-height: 1.6;
	margin-bottom: 30px;
	letter-spacing: .13em;
}

.section_greeting .text_box .name {
	text-align: right;
	font-weight: 400;
	line-height: 1.5;
}

.section_history .flex_box {
	justify-content: flex-end;
	gap: 113px;
}

.section_history .title_box .title {
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
	font-size: 35px;
	font-weight: 800;
	letter-spacing: .44em;
}

.section_history .table_box {
	width: 900px;
}

.section_history .table_box table {
	width: 100%;
}

.section_history .table_box table tr {
	border-top: 1px solid #DBDBDB;
}

.section_history .table_box table tr:last-child {
	border-bottom: 1px solid #DBDBDB;
}

.section_history .table_box table th {
	width: 260px;
	padding: 30px 0 30px 20px;
	font-size: 16px;
}

.section_history .table_box table td {
	padding: 32px 0;
	font-weight: 400;
}

@media (max-width: 750px) {

	.company_profile_sec {
		margin-bottom: 20vw;
	}

	.company_profile_sec .title {
		font-size: 5.6vw;
		margin-bottom: 5.12vw;
	}

	.company_profile_sec .cont dl dt {
		width: 30%;
		padding: 6.15vw 0;
		font-size: 4.1vw;
	}

	.company_profile_sec .cont dl dd {
		padding: 6.6vw 0;
	}

	.section_greeting {
		margin-bottom: 20vw;
	}
	
	.section_greeting .flex_box {
		display: block;
	}
	
	.section_greeting .picture {
		width: 100%;
		height: 60vw;
		border-left: none;
		border-top: 10px solid #6EB92B;
		margin-bottom: 6vw;
	}
	
	.section_greeting .picture img {
		border-radius: 0 0 10px 10px;
	}
	
	.section_greeting .text_box {
		width: 100%;
		padding: 0 5vw;
	}
	
	.section_greeting .text_box .title {
		font-size: 5.6vw;
		margin-bottom: 5.12vw;
		text-align: center;
	}
	
	.section_greeting .text_box .lead {
		margin-bottom: 5vw;
	}
	
	.section_history .flex_box {
		display: block;
	}
	
	.section_history .title_box .title {
	  -ms-writing-mode: unset;
	  writing-mode: unset;
		font-size: 5.6vw;
		margin-bottom: 5.12vw;
		text-align: center;
		letter-spacing: 0;
	}
	
	.section_history .table_box {
		width: 100%;
	}
	
	.section_history .table_box table th {
		padding: 3vw;
		font-size: 16px;
		display: block;
		width: 100%;
		background: #6EB92B;
		font-size: 4vw;
		color: #fff;
	}
	
	.section_history .table_box table td {
		padding: 5vw 3vw;
		display: block;
		width: 100%;
	}

}