@charset 'utf-8';
/* =========================================================
  Company Profile
========================================================= */
.p-company-profile {
	position: relative;
	z-index: 1;
}

.p-company-profile__table {
	width: min(68.75vw, 1320px);
	margin-left: auto;
	margin-right: auto;
	border-collapse: collapse;
}

.p-company-profile__table tr {
	background-image: linear-gradient(to right, #333 0 297px, #ccc 297px 100%);
	background-repeat: no-repeat;
	background-position: left bottom;
	background-size: 100% 1px;
}

.p-company-profile__table th,
.p-company-profile__table td {
	padding: 1.5em;
	vertical-align: top;
}

.p-company-profile__table th {
	width: 297px;
	color: #000;
	font-size: clamp(18px, 1.302vw, 25px);
	font-weight: 600;
	line-height: 1.6;
}

.p-company-profile__table td {
	color: #000;
	font-size: clamp(16px, 1.146vw, 22px);
	font-weight: 400;
	line-height: 1.75;
}

.p-company-profile__representative {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 40px;
}

.p-company-profile__representative-text {
	width: min(100%, 549px);
	font-size: clamp(15px, 1.042vw, 20px);
	font-weight: 400;
	line-height: 1.75;
}

.p-company-profile__representative-image {
	width: min(32%, 363px);
	flex-shrink: 0;
}

.p-company-profile__representative-image img {
	width: 100%;
}

/* =========================================================
  Company Profile - SP
========================================================= */
@media (max-width: 767px) {
	.p-company-profile__table {
		width: calc(100% - 30px);
	}

	.p-company-profile__table tr {
		display: block;
		background-image: linear-gradient(to right, #333 0 34%, #ccc 34% 100%);
	}

	.p-company-profile__table th,
	.p-company-profile__table td {
		display: block;
		width: 100%;
		padding: 1.2em 0;
	}

	.p-company-profile__table th {
		padding-bottom: 0.3em;
		font-size: 16px;
	}

	.p-company-profile__table td {
		padding-top: 0.3em;
		font-size: 15px;
	}

	.p-company-profile__representative {
		display: grid;
		gap: 24px;
	}

	.p-company-profile__representative-text {
		width: 100%;
		font-size: 14px;
	}

	.p-company-profile__representative-image {
		width: min(70%, 260px);
		margin-left: auto;
		margin-right: auto;
	}
}

/* =========================================================
  Company Logo
========================================================= */
.p-company-logo {
	padding-top: clamp(120px, 14vw, 270px);
	padding-bottom: clamp(100px, 12vw, 230px);
}

.p-company-logo__title {
	color: #333;
	font-size: clamp(26px, 2.083vw, 40px);
	font-weight: 600;
	line-height: 1.4;
	text-align: center;
}

.p-company-logo__body {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: min(60.417vw, 1160px);
	margin-top: clamp(70px, 7.8vw, 150px);
	margin-left: auto;
	margin-right: auto;
}

.p-company-logo__image {
	width: min(24.224%, 281px);
	flex-shrink: 0;
}

.p-company-logo__image img {
	width: 100%;
}

.p-company-logo__text {
	width: min(60.603%, 703px);
	font-size: clamp(16px, 1.042vw, 20px);
	font-weight: 400;
	line-height: 1.9;
}

.p-company-logo__text p + p {
	margin-top: 1.6em;
}

/* =========================================================
  Company Logo - SP
========================================================= */
@media (max-width: 767px) {
	.p-company-logo {
		padding-top: 80px;
		padding-bottom: 90px;
	}

	.p-company-logo__title {
		font-size: 24px;
	}

	.p-company-logo__body {
		display: grid;
		gap: 42px;
		width: calc(100% - 30px);
		margin-top: 48px;
	}

	.p-company-logo__image {
		width: min(60%, 220px);
		margin-left: auto;
		margin-right: auto;
	}

	.p-company-logo__text {
		width: 100%;
		font-size: 15px;
		line-height: 1.8;
	}
}