@charset "utf-8";
.company .content_area{max-width: 1060px;}
.company_message_ttl{
	font-weight: 500;
	font-size: 2.6rem;
	line-height: 4.2rem;
	letter-spacing: 1.3px;
	margin: 60px 0 26px;
}
.company_message_box p{
	font-size: 1.7rem;
	line-height: 4.2rem;
	letter-spacing: 0.85px;
}
.company_message_name{
	margin:30px 0 0;
	text-align: right;
}
.company_img img{margin: 30px 0 40px;}
.commitment_col{
	position: relative;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	align-items: center;
	gap: 40px;
	padding: 50px;
	margin-bottom: 40px;
}
.commitment_col::before{
	content: '';
	position: absolute;
	inset: 0;
	background: url(/img/company/bg.jpg) no-repeat center center/cover;
	border-radius: 5px;
	z-index: -1;
	pointer-events: none;
}
.commitment_col h4{
	font-size: 2.4rem;
	line-height: 3.5rem;
	letter-spacing: 1.2px;
	margin: 0 0 15px;
	text-align: center;
}
.commitment_col p{
	font-size: 2rem;
	line-height: 3.6rem;
	letter-spacing: 1px;
	margin-bottom: 0;
	text-align: center;
}
.commitment_col img{
	order: -1;
	width: 100%;
	max-width: 430px;
	margin: 0 auto;
}
.company_logo_col{
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	align-items: center;
	gap: 40px;
	padding: 50px;
	border: 1px solid #ddd;
	border-radius: 5px;
}
.company_logo_col h4{margin-top: 0;}
.company_logo_col p{
	font-size: 1.8rem;
	line-height: 3.5rem;
	letter-spacing: 1px;
}
.company_logo_col p:last-child{margin-bottom: 0;}
.company_logo_col img{
	order: -1;
	width: 100%;
	max-width: 430px;
	margin: 0 auto;
}
.access_col{
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 40px;
	margin: 50px 0;
}
.access_col h4:first-child{margin-top: 0;}
.access_col p:last-child{margin-bottom: 0;}
.access_col ul{margin-bottom: 10px;}
.access_col ul li{margin-bottom: 0;}
.access_col img{order: -1;}
.history_table th{width: 280px;}
.nintei_col{
	display: grid;
	grid-template-columns: repeat(2,1fr);
	align-items: flex-start;
	gap: 50px 40px;
}
.nintei_item{
	display: flex;
	flex-direction: column-reverse;
	align-items: flex-start;
}
.nintei_item h3{margin: 25px 0 10px;}
.nintei_item p:last-child{margin-bottom: 0;}
.nintei_item img{
	width: 100%;
	border: 1px solid #ddd;
	border-radius: 5px;
}
.sdgs_copy_box{
	position: relative;
	padding: 100px 30px 70px;
}
.sdgs_copy_box::before{
	content: '';
	position: absolute;
	inset: 0;
	background: url(/img/company/bg.jpg) no-repeat center center/cover;
	border-radius: 5px;
	z-index: -1;
	pointer-events: none;
}
.sdgs_copy_box img{
	width: 100%;
	max-width: 774px;
	margin: 0 auto 50px;
}
.sdgs_copy_box p{
	font-size: 2rem;
	line-height: 3.6rem;
	letter-spacing: 1px;
	margin: 0;
	text-align: center;
}
.sdgs_files_box{
	padding: 30px 40px;
	margin: 20px 0;
	border: 1px solid #ddd;
	border-radius: 5px;
}
.sdgs_files_box p{margin: 0;}
.sdgs_icon_list{
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	padding: 0;
	margin: 20px 0 30px;
}
.sdgs_icon_list li{
	width: 120px;
	margin: 0;
	list-style: none;
}
.sdgs_icon_list li img{border-radius: 0;}
.sdgs_check_box{
	padding: 24px 30px;
	margin-bottom: 30px;
	border: 1px solid #ddd;
	border-radius: 5px;
}
.sdgs_check_box li{
	display: flex;
	gap: 10px;
	margin-bottom: 8px;
	list-style: none;
}
.sdgs_check_box li:last-child{margin-bottom: 0;}
.sdgs_check_box li::before{
	content: '';
	flex-shrink: 0;
	width: 20px;
	height: 20px;
	margin-top: 5px;
	background: url(/img/company/icon_check.svg) no-repeat center center/contain;
}
.sdgs_img_col{
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 30px;
	padding-bottom: 40px;
	margin-top: 20px;
	border-bottom: 1px solid #ddd;
}
.sdgs_img_col:last-of-type{
	padding-bottom: 0;
	border-bottom: none;
}
.sdgs_img_col p{
	font-size:1.4rem;
	line-height:2.2rem;
	letter-spacing:0.7px;
	margin:10px 0 0;
	text-align: center;
}

@media screen and (max-width: 1024px){
.company_message_ttl{
	font-size: 2.4rem;
	line-height: 3.8rem;
	letter-spacing: 1.2px;
	margin: 55px 0 20px;
}
.company_message_box p{
	font-size: 1.5rem;
	line-height: 2.7rem;
	letter-spacing: 0.75px;
}
.commitment_col{
	gap: 20px;
	padding: 30px;
	margin-bottom: 30px;
}
.commitment_col h4{
	font-size: 2.2rem;
	line-height: 3.3rem;
	letter-spacing: 1.1px;
	margin: 0 0 10px;
}
.commitment_col p{
	font-size: 1.8rem;
	line-height: 3.4rem;
	letter-spacing: 0.9px;
}
.company_logo_col{
	gap: 20px;
	padding: 30px;
}
.company_logo_col p{
	font-size: 1.5rem;
	line-height: 2.7rem;
	letter-spacing: 0.75px;
}
.history_table th{width: 250px;}
.nintei_col{gap: 40px 25px;}
.sdgs_copy_box{padding: 70px 30px 50px;}
.sdgs_copy_box img{
	max-width: 564px;
	margin: 0 auto 30px;
}
.sdgs_copy_box p{
	font-size: 1.6rem;
	line-height: 2.9rem;
	letter-spacing: 0.8px;
}
.sdgs_files_box{padding: 20px;}
.sdgs_icon_list{margin: 12px 0 30px;}
.sdgs_img_col{
	gap: 22px;
	padding-bottom: 34px;
}
.sdgs_img_col p{
	font-size:1.3rem;
	line-height:2.1rem;
	letter-spacing:0.65px;
}
}

@media screen and (max-width: 767px){
.company_message_ttl{
	font-size: 2.2rem;
	line-height: 3.5rem;
	letter-spacing: 1.1px;
	margin: 45px 0 20px;
}
.company_message_box p{
	font-size: 1.4rem;
	line-height: 2.6rem;
	letter-spacing: 0.7px;
}
.commitment_col{
	grid-template-columns: repeat(1, 1fr);
	padding: 30px 20px;
	margin-bottom: 20px;
}
.commitment_col h4{
	font-size: 2rem;
	line-height: 3.2rem;
	letter-spacing: 1px;
}
.commitment_col p{
	font-size: 1.7rem;
	line-height: 3.1rem;
	letter-spacing: 0.85px;
}
.company_logo_col{
	grid-template-columns: repeat(1, 1fr);
	gap: 30px;
	padding: 30px 20px;
}
.company_logo_col p{
	font-size: 1.4rem;
	line-height: 2.6rem;
	letter-spacing: 0.7px;
}
.access_col{
	grid-template-columns: repeat(1, 1fr);
	gap: 20px;
	margin: 30px 0;
}
.access_col ul{margin-bottom: 15px;}
.history_table th,
.history_table td{
	display: block;
	width: 100%;
}
.nintei_col{grid-template-columns: repeat(1,1fr);}
.sdgs_copy_box{padding: 40px 16px 22px;}
.sdgs_copy_box img{margin: 0 auto 22px;}
.sdgs_copy_box p{
	font-size: 1.5rem;
	line-height: 2.7rem;
	letter-spacing: 0.75px;
}
.sdgs_icon_list{gap: 12px;}
.sdgs_icon_list li{width: 103px;}
.sdgs_check_box{padding: 20px;}
.sdgs_img_col{
	grid-template-columns: repeat(2,1fr);
	gap: 20px 15px;
	padding-bottom: 34px;
}
.sdgs_img_col p{
	font-size:1.3rem;
	line-height:2.1rem;
	letter-spacing:0.65px;
	margin: 8px 0 0;
}
}