/* ==========================================================================
   Page: Company
   ========================================================================== */

.company-page {
	width: 100%;
	padding-bottom: var(--cta-before-space);
}

.company-profile {
	--company-profile-top: min(12.5vw, 150px);
	--company-profile-inner-width: 1200px;
	--company-profile-side-gutter: min(4.1667vw, 50px);
	--company-profile-heading-bottom: min(4.1667vw, 50px);
	--company-profile-row-min-height: 92px;
	--company-profile-row-padding-x: 10px;
	--company-profile-term-width: min(24.1667vw, 290px);
	--company-profile-marker-width: 4px;
	--company-profile-marker-gap: min(3vw, 36px);
	--company-profile-text-size: clamp(14px, 1.3333vw, 16px);

	padding-top: var(--company-profile-top);
}

.company-profile__inner {
	width: min(calc(100% - (var(--company-profile-side-gutter) * 2)), var(--company-profile-inner-width));
	margin-inline: auto;
}

.company-profile__heading {
	--c-lower-section-heading-title-size: min(3.3333vw, 40px);
	--c-lower-section-heading-label-size: min(1.3333vw, 16px);
}

.company-profile__list {
	margin: var(--company-profile-heading-bottom) 0 0;
	padding: 0;
	border-top: 1px solid #d9d9d9;
}

.company-profile__row {
	display: grid;
	grid-template-columns: var(--company-profile-term-width) var(--company-profile-marker-width) minmax(0, 1fr);
	align-items: center;
	min-height: var(--company-profile-row-min-height);
	padding: 0 var(--company-profile-row-padding-x);
	border-bottom: 1px solid #d9d9d9;
	column-gap: var(--company-profile-marker-gap);
}

.company-profile__row::before {
	content: "";
	display: block;
	width: var(--company-profile-marker-width);
	height: 16px;
	background: var(--color-link-blue);
	grid-column: 2;
	grid-row: 1;
}

.company-profile__term,
.company-profile__desc {
	min-width: 0;
	margin: 0;
	color: #1d1d1d;
	font-size: var(--company-profile-text-size);
	line-height: 1.7;
	letter-spacing: 0;
	font-feature-settings: "palt";
	overflow-wrap: anywhere;
}

.company-profile__term {
	font-weight: 500;
	grid-column: 1;
}

.company-profile__desc {
	font-weight: 400;
	grid-column: 3;
}

.company-philosophy {
	--company-philosophy-margin-top: min(12.5vw, 150px);
	--company-philosophy-padding-y: min(12.5vw, 150px);
	--company-philosophy-inner-width: 1200px;
	--company-philosophy-side-gutter: min(4.1667vw, 50px);
	--company-philosophy-fluid-width: min(var(--company-philosophy-inner-width), calc(100vw - (var(--company-philosophy-side-gutter) * 2)));
	--company-philosophy-lead-top: min(1.8333vw, 22px);
	--company-philosophy-illust-top: min(6.6667vw, 80px);
	--company-philosophy-illust-width: min(14.1667vw, 170px);
	--company-philosophy-card-gap: min(3.3333vw, 40px);
	--company-philosophy-card-size: min(20vw, 240px);
	--company-philosophy-text-column-space: calc(var(--company-philosophy-fluid-width) - (var(--company-philosophy-card-size) * 3) - (var(--company-philosophy-card-gap) * 2));
	--company-philosophy-content-width: min(300px, calc(var(--company-philosophy-text-column-space) * 0.75));
	--company-philosophy-column-gap: calc(var(--company-philosophy-text-column-space) - var(--company-philosophy-content-width));
	--company-philosophy-number-width: min(76px, calc(var(--company-philosophy-card-size) * 0.316667));
	--company-philosophy-card-padding-top: calc(var(--company-philosophy-card-size) * 0.054167);
	--company-philosophy-title-top: calc(var(--company-philosophy-card-size) * 0.025);
	--company-philosophy-text-top: calc(var(--company-philosophy-card-size) * 0.05);
	--company-philosophy-text-width: min(150px, calc(var(--company-philosophy-card-size) * 0.625));
	--company-philosophy-number-size: clamp(10px, calc(var(--company-philosophy-fluid-width) * 0.016667), 20px);
	--company-philosophy-title-size: clamp(14px, calc(var(--company-philosophy-fluid-width) * 0.023333), 28px);
	--company-philosophy-text-size: clamp(14px, calc(var(--company-philosophy-fluid-width) * 0.013333), 16px);

	margin-top: var(--company-philosophy-margin-top);
	padding-block: var(--company-philosophy-padding-y);
	background: #edf4fa;
}

.company-philosophy__inner {
	display: grid;
	grid-template-columns: var(--company-philosophy-content-width) minmax(0, 1fr);
	column-gap: var(--company-philosophy-column-gap);
	width: var(--company-philosophy-fluid-width);
	margin-inline: auto;
}

.company-philosophy__content {
	min-width: 0;
}

.company-philosophy__heading {
	--c-lower-section-heading-title-size: min(3.3333vw, 40px);
	--c-lower-section-heading-label-size: min(1.3333vw, 16px);
}

.company-philosophy__lead {
	margin: var(--company-philosophy-lead-top) 0 0;
	color: #1d1d1d;
	font-size: clamp(14px, 1.3333vw, 16px);
	font-weight: 400;
	line-height: 1.875;
	letter-spacing: 0;
	font-feature-settings: "palt";
}

.company-philosophy__illust {
	display: block;
	width: var(--company-philosophy-illust-width);
	height: auto;
	margin-top: var(--company-philosophy-illust-top);
}

.company-philosophy__items {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, var(--company-philosophy-card-size)));
	gap: var(--company-philosophy-card-gap);
	margin: 0;
	padding: 0;
	list-style: none;
}

.company-philosophy__item {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
	width: 100%;
	height: var(--company-philosophy-card-size);
	padding: var(--company-philosophy-card-padding-top) calc(var(--company-philosophy-card-size) * 0.1875) calc(var(--company-philosophy-card-size) * 0.1);
	border-radius: 50%;
	background: #fff;
	text-align: center;
}

.company-philosophy__number {
	display: grid;
	place-items: center;
	width: var(--company-philosophy-number-width);
	aspect-ratio: 670.34 / 446.893;
	color: var(--color-link-blue);
	background: url("../images/top-object01.svg") center / contain no-repeat;
	font-family: "Inter", var(--font-en);
	font-size: var(--company-philosophy-number-size);
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0;
}

.company-philosophy__item-title {
	margin: var(--company-philosophy-title-top) 0 0;
	color: #1d1d1d;
	font-size: var(--company-philosophy-title-size);
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0;
	font-feature-settings: "palt";
}

.company-philosophy__item-text {
	width: var(--company-philosophy-text-width);
	max-width: 100%;
	margin: var(--company-philosophy-text-top) 0 0;
	color: #1d1d1d;
	font-size: var(--company-philosophy-text-size);
	font-weight: 400;
	line-height: 1.8;
	letter-spacing: 0;
	text-align: left;
	font-feature-settings: "palt";
}

.company-license {
	--company-license-padding-y: min(12.5vw, 150px);
	--company-license-inner-width: 1200px;
	--company-license-side-gutter: min(4.1667vw, 50px);
	--company-license-heading-bottom: min(4.1667vw, 50px);
	--company-license-column-gap: min(5vw, 60px);
	--company-license-title-bottom: min(1.3333vw, 16px);
	--company-license-box-padding-block: min(3.3333vw, 40px);
	--company-license-box-padding-inline: min(3.3333vw, 40px);
	--company-license-registration-height: min(22.5vw, 270px);
	--company-license-qualification-height: min(40.6667vw, 488px);
	--company-license-group-title-size: clamp(18px, calc(14px + 0.6667vw), 22px);
	--company-license-text-size: clamp(14px, calc(12px + 0.3333vw), 16px);
	--company-license-list-gap: clamp(14px, calc(2px + 2vw), 26px);

	padding: var(--company-license-padding-y) 0;
}

.company-license__inner {
	width: min(calc(100% - (var(--company-license-side-gutter) * 2)), var(--company-license-inner-width));
	margin-inline: auto;
}

.company-license__heading {
	--c-lower-section-heading-title-size: min(3.3333vw, 40px);
	--c-lower-section-heading-label-size: min(1.3333vw, 16px);
}

.company-license__groups {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--company-license-column-gap);
	margin-top: var(--company-license-heading-bottom);
}

.company-license__group-title {
	margin: 0 0 var(--company-license-title-bottom);
	color: var(--color-link-blue);
	font-size: var(--company-license-group-title-size);
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: 0;
	font-feature-settings: "palt";
}

.company-license__box {
	padding: var(--company-license-box-padding-block) var(--company-license-box-padding-inline);
	border: 1px solid #d9d9d9;
	background: #fff;
}

.company-license__box--registration {
	min-height: var(--company-license-registration-height);
}

.company-license__box--qualification {
	min-height: var(--company-license-qualification-height);
}

.company-license__list {
	display: flex;
	flex-direction: column;
	gap: var(--company-license-list-gap);
	margin: 0;
	padding: 0;
	list-style: none;
}

.company-license__item {
	color: #1d1d1d;
	font-size: var(--company-license-text-size);
	font-weight: 400;
	line-height: 1.4;
	letter-spacing: 0;
	font-feature-settings: "palt";
}

.company-history {
	--company-history-padding-y: min(12.5vw, 150px);
	--company-history-inner-width: 1200px;
	--company-history-side-gutter: min(4.1667vw, 50px);
	--company-history-column-gap: min(5vw, 60px);
	--company-history-timeline-top: min(4.1667vw, 50px);
	--company-history-date-width: min(7.1667vw, 86px);
	--company-history-date-min-width: 86px;
	--company-history-marker-size: min(1vw, 12px);
	--company-history-marker-half: calc(var(--company-history-marker-size) * 0.5);
	--company-history-line-width: 1px;
	--company-history-date-marker-gap: min(1.3333vw, 16px);
	--company-history-marker-text-gap: min(2vw, 24px);
	--company-history-row-gap: min(2.1333vw, 25.6px);
	--company-history-text-size: clamp(14px, calc(12px + 0.3333vw), 16px);
	--company-history-text-line-height: 1.4;
	--company-history-line-row-height: calc(var(--company-history-text-size) * 1.4);
	--company-history-line-offset-y: calc(((var(--company-history-line-row-height) - var(--company-history-marker-size)) * 0.5) + var(--company-history-marker-half));
	--company-history-date-column-width: max(var(--company-history-date-min-width), var(--company-history-date-width));

	padding: var(--company-history-padding-y) 0;
	background: #edf4fa;
}

.company-history__inner {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	align-items: center;
	gap: var(--company-history-column-gap);
	width: min(calc(100% - (var(--company-history-side-gutter) * 2)), var(--company-history-inner-width));
	margin-inline: auto;
}

.company-history__heading {
	--c-lower-section-heading-title-size: min(3.3333vw, 40px);
	--c-lower-section-heading-label-size: min(1.3333vw, 16px);
}

.company-history__timeline {
	display: grid;
	row-gap: var(--company-history-row-gap);
	margin: var(--company-history-timeline-top) 0 0;
	padding: 0;
	background:
		linear-gradient(var(--color-link-blue), var(--color-link-blue))
		calc(var(--company-history-date-column-width) + var(--company-history-date-marker-gap) + var(--company-history-marker-half) - (var(--company-history-line-width) * 0.5))
		var(--company-history-line-offset-y) / var(--company-history-line-width) calc(100% - (var(--company-history-line-offset-y) * 2)) no-repeat;
}

.company-history__item {
	display: grid;
	grid-template-columns: var(--company-history-date-column-width) var(--company-history-marker-size) minmax(0, 1fr);
	align-items: center;
	column-gap: var(--company-history-date-marker-gap);
	margin: 0;
}

.company-history__year,
.company-history__text {
	margin: 0;
	color: #1d1d1d;
	font-size: var(--company-history-text-size);
	font-weight: 400;
	line-height: var(--company-history-text-line-height);
	letter-spacing: 0;
	font-feature-settings: "palt";
}

.company-history__year {
	white-space: nowrap;
}

.company-history__marker {
	display: block;
	width: var(--company-history-marker-size);
	aspect-ratio: 1;
	border-radius: 50%;
	background: var(--color-link-blue);
}

.company-history__text {
	margin-left: calc(var(--company-history-marker-text-gap) - var(--company-history-date-marker-gap));
}

.company-history__image {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 570 / 390;
	object-fit: cover;
}

.company-office {
	--company-office-padding-y: min(12.5vw, 150px);
	--company-office-inner-width: 1200px;
	--company-office-side-gutter: min(4.1667vw, 50px);
	--company-office-fluid-width: min(var(--company-office-inner-width), calc(100vw - (var(--company-office-side-gutter) * 2)));
	--company-office-content-width: calc(var(--company-office-fluid-width) * 0.275);
	--company-office-column-gap: clamp(24px, calc(30vw - 210px), 150px);
	--company-office-item-gap: min(4.1667vw, 50px);
	--company-office-lead-top: min(1.8333vw, 22px);
	--company-office-illust-top: calc(var(--company-office-fluid-width) * 0.203333);
	--company-office-illust-width: calc(var(--company-office-fluid-width) * 0.176667);
	--company-office-item-height: calc(var(--company-office-fluid-width) * 0.208333);
	--company-office-item-padding-block: min(2.5vw, 30px);
	--company-office-item-padding-left: min(0.8333vw, 10px);
	--company-office-image-width: calc(var(--company-office-fluid-width) * 0.25);
	--company-office-image-height: calc(var(--company-office-fluid-width) * 0.158333);
	--company-office-name-size: min(2vw, 24px);
	--company-office-text-size: clamp(13px, calc(12px + 0.1667vw), 14px);
	--company-office-lead-size: clamp(14px, calc(12px + 0.3333vw), 16px);
	--company-office-line-color: #979797;

	padding: var(--company-office-padding-y) 0 0;
}

.company-office__inner {
	display: grid;
	grid-template-columns: var(--company-office-content-width) minmax(0, 1fr);
	gap: var(--company-office-column-gap);
	width: min(calc(100% - (var(--company-office-side-gutter) * 2)), var(--company-office-inner-width));
	margin-inline: auto;
}

.company-office__content {
	min-width: 0;
}

.company-office__heading {
	--c-lower-section-heading-title-size: min(3.3333vw, 40px);
	--c-lower-section-heading-label-size: min(1.3333vw, 16px);
}

.company-office__lead {
	margin: var(--company-office-lead-top) 0 0;
	color: #1d1d1d;
	font-size: var(--company-office-lead-size);
	font-weight: 400;
	line-height: 1.8;
	letter-spacing: 0;
	font-feature-settings: "palt";
}

.company-office__illust {
	display: block;
	width: var(--company-office-illust-width);
	height: auto;
	margin-top: var(--company-office-illust-top);
}

.company-office__list {
	border-top: 1px solid var(--company-office-line-color);
}

.company-office__item {
	display: grid;
	grid-template-columns: minmax(0, 1fr) var(--company-office-image-width);
	align-items: start;
	column-gap: var(--company-office-item-gap);
	min-height: var(--company-office-item-height);
	margin: 0;
	padding: var(--company-office-item-padding-block) 0 var(--company-office-item-padding-block) var(--company-office-item-padding-left);
	border-bottom: 1px solid var(--company-office-line-color);
	box-sizing: border-box;
}

.company-office__name {
	margin: 0;
	color: #1d1d1d;
	font-size: var(--company-office-name-size);
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0;
	font-feature-settings: "palt";
}

.company-office__address,
.company-office__contact-line,
.company-office__fax {
	margin: 18px 0 0;
	color: #1d1d1d;
	font-size: var(--company-office-text-size);
	font-weight: 400;
	line-height: 1.8;
	letter-spacing: 0;
	font-feature-settings: "palt";
}

.company-office__contact-line {
	display: grid;
	grid-template-columns: 27px minmax(0, 1fr);
	column-gap: 10px;
	margin-top: 0;
}

.company-office__fax {
	margin-top: 0;
}

.company-office__map {
	display: inline-block;
	color: var(--color-link-blue);
	font-size: var(--company-office-text-size);
	font-weight: 400;
	line-height: 1.8;
	letter-spacing: 0;
	text-decoration: none;
	font-feature-settings: "palt";
}

.company-office__image {
	display: block;
	width: var(--company-office-image-width);
	height: var(--company-office-image-height);
	object-fit: cover;
}

@media (max-width: 1000px) {
	.company-philosophy {
		--company-philosophy-fluid-width: min(760px, calc(100vw - (var(--company-philosophy-side-gutter) * 2)));
		--company-philosophy-content-width: min(240px, calc(var(--company-philosophy-fluid-width) * 0.3));
		--company-philosophy-column-gap: min(50px, calc(var(--company-philosophy-fluid-width) * 0.06));
		--company-philosophy-card-gap: min(24px, calc(var(--company-philosophy-fluid-width) * 0.03));
		--company-philosophy-card-size: min(200px, calc((var(--company-philosophy-fluid-width) - var(--company-philosophy-content-width) - var(--company-philosophy-column-gap) - var(--company-philosophy-card-gap)) / 2));
		--company-philosophy-number-width: min(58px, calc(var(--company-philosophy-card-size) * 0.322));
		--company-philosophy-card-padding-top: calc(var(--company-philosophy-card-size) * 0.05);
		--company-philosophy-title-top: calc(var(--company-philosophy-card-size) * 0.025);
		--company-philosophy-text-top: calc(var(--company-philosophy-card-size) * 0.045);
		--company-philosophy-text-width: min(128px, calc(var(--company-philosophy-card-size) * 0.71));
		--company-philosophy-number-size: clamp(13px, calc(var(--company-philosophy-card-size) * 0.0833), 16px);
		--company-philosophy-title-size: clamp(19px, calc(var(--company-philosophy-card-size) * 0.1167), 22px);
		--company-philosophy-text-size: 14px;
	}

	.company-philosophy__items {
		grid-template-columns: repeat(2, var(--company-philosophy-card-size));
		gap: var(--company-philosophy-card-gap);
		justify-content: center;
	}

	.company-philosophy__item {
		padding-inline: calc(var(--company-philosophy-card-size) * 0.14);
	}
}

@media (max-width: 600px) {
	.company-profile {
		--company-profile-top: min(1.1733vw, 14px);
		--company-profile-side-gutter: 20px;
		--company-profile-heading-bottom: 24px;
		--company-profile-row-min-height: 60px;
		--company-profile-row-padding-x: 10px;
		--company-profile-term-width: 80px;
		--company-profile-marker-width: 3px;
		--company-profile-marker-gap: 17px;
		--company-profile-text-size: 14px;
	}

	.company-profile__inner {
		width: calc(100vw - 40px);
		width: calc(100dvw - 40px);
		max-width: 500px;
	}

	.company-profile__heading {
		--c-lower-section-heading-title-size-sp: 22px;
		--c-lower-section-heading-label-size-sp: 10px;
	}

	.company-profile__row {
		align-items: start;
		padding-block: 18px;
	}

	.company-profile__row::before {
		height: 14px;
		margin-top: 4px;
	}

	.company-profile__term,
	.company-profile__desc {
		line-height: 1.6;
	}

	.company-philosophy {
		--company-philosophy-margin-top: 70px;
		--company-philosophy-padding-y: 70px;
		--company-philosophy-side-gutter: 20px;
		--company-philosophy-fluid-width: min(500px, calc(100vw - 40px));
		--company-philosophy-lead-top: 12px;
		--company-philosophy-illust-top: -44px;
		--company-philosophy-illust-width: min(22.6667vw, 85px);
		--company-philosophy-card-gap-x: min(15px, 4vw);
		--company-philosophy-card-gap-y: min(20px, 5.3333vw);
		--company-philosophy-card-size: min(160px, calc((var(--company-philosophy-fluid-width) - var(--company-philosophy-card-gap-x)) / 2));
		--company-philosophy-number-width: min(51.5px, calc(var(--company-philosophy-card-size) * 0.321875));
		--company-philosophy-card-padding-top: calc(var(--company-philosophy-card-size) * 0.05);
		--company-philosophy-title-top: calc(var(--company-philosophy-card-size) * 0.025);
		--company-philosophy-text-top: calc(var(--company-philosophy-card-size) * 0.025);
		--company-philosophy-text-width: min(114px, calc(var(--company-philosophy-card-size) * 0.7125));
		--company-philosophy-number-size: 13px;
		--company-philosophy-title-size: 18px;
		--company-philosophy-text-size: 13px;
	}

	.company-philosophy__inner {
		display: block;
		width: calc(100vw - 40px);
		width: calc(100dvw - 40px);
		max-width: 500px;
	}

	.company-philosophy__content {
		position: relative;
		display: block;
	}

	.company-philosophy__heading {
		--c-lower-section-heading-title-size-sp: 22px;
		--c-lower-section-heading-label-size-sp: 10px;

		grid-column: 1;
		padding-right: calc(var(--company-philosophy-illust-width) + 12px);
	}

	.company-philosophy__lead {
		grid-column: 1 / -1;
		max-width: none;
		font-size: 14px;
		line-height: 1.85;
	}

	.company-philosophy__illust {
		position: absolute;
		top: var(--company-philosophy-illust-top);
		right: 0;
		margin: 0;
	}

	.company-philosophy__items {
		grid-template-columns: repeat(2, var(--company-philosophy-card-size));
		column-gap: var(--company-philosophy-card-gap-x);
		row-gap: var(--company-philosophy-card-gap-y);
		justify-content: center;
		margin-top: 40px;
	}

	.company-philosophy__item {
		padding: var(--company-philosophy-card-padding-top) calc(var(--company-philosophy-card-size) * 0.14375) calc(var(--company-philosophy-card-size) * 0.1125);
	}

	.company-philosophy__item-title {
		margin-top: var(--company-philosophy-title-top);
	}

	.company-philosophy__item-text {
		margin-top: var(--company-philosophy-text-top);
		line-height: 1.6;
	}

	.company-license {
		--company-license-padding-y: 70px;
		--company-license-side-gutter: 20px;
		--company-license-heading-bottom: 24px;
		--company-license-column-gap: 40px;
		--company-license-title-bottom: 8px;
		--company-license-box-padding-block: 20px;
		--company-license-box-padding-inline: 20px;
		--company-license-registration-height: 212px;
		--company-license-qualification-height: 348px;
		--company-license-group-title-size: 18px;
		--company-license-text-size: 14px;
		--company-license-list-gap: 14px;
	}

	.company-license__inner {
		width: calc(100vw - 40px);
		width: calc(100dvw - 40px);
		max-width: 500px;
	}

	.company-license__heading {
		--c-lower-section-heading-title-size-sp: 22px;
		--c-lower-section-heading-label-size-sp: 10px;
	}

	.company-license__groups {
		grid-template-columns: 1fr;
	}

	.company-license__item {
		line-height: 1.6;
	}

	.company-history {
		--company-history-padding-y: 70px;
		--company-history-side-gutter: 20px;
		--company-history-column-gap: 40px;
		--company-history-timeline-top: 24px;
		--company-history-date-width: 74px;
		--company-history-date-min-width: 74px;
		--company-history-marker-size: 11px;
		--company-history-date-marker-gap: 16px;
		--company-history-marker-text-gap: 21px;
		--company-history-row-gap: 22px;
		--company-history-text-size: 14px;
		--company-history-text-line-height: 20px;
		--company-history-line-row-height: 20px;
	}

	.company-history__inner {
		display: block;
		width: calc(100vw - 40px);
		width: calc(100dvw - 40px);
		max-width: 500px;
	}

	.company-history__heading {
		--c-lower-section-heading-title-size-sp: 22px;
		--c-lower-section-heading-label-size-sp: 10px;
	}

	.company-history__image {
		margin-top: 40px;
	}

	.company-office {
		--company-office-padding-y: 70px;
		--company-office-side-gutter: 20px;
		--company-office-lead-top: 12px;
		--company-office-illust-width: min(26.4vw, 99px);
		--company-office-image-width: 100%;
		--company-office-image-height: auto;
		--company-office-name-size: 18px;
		--company-office-text-size: 13px;
		--company-office-lead-size: 14px;
	}

	.company-office__inner {
		display: block;
		width: calc(100vw - 40px);
		width: calc(100dvw - 40px);
		max-width: 500px;
	}

	.company-office__content {
		position: relative;
	}

	.company-office__heading {
		--c-lower-section-heading-title-size-sp: 22px;
		--c-lower-section-heading-label-size-sp: 10px;

		padding-right: calc(var(--company-office-illust-width) + 12px);
	}

	.company-office__lead {
		line-height: 1.6;
	}

	.company-office__illust {
		position: absolute;
		top: -70px;
		right: 10px;
		margin: 0;
	}

	.company-office__list {
		margin-top: 40px;
	}

	.company-office__item {
		display: block;
		min-height: 0;
		padding: 36px 10px 28px;
	}

	.company-office__name {
		font-size: var(--company-office-name-size);
	}

	.company-office__address,
	.company-office__contact-line,
	.company-office__fax,
	.company-office__map {
		font-size: var(--company-office-text-size);
		line-height: 1.8;
	}

	.company-office__address {
		margin-top: 14px;
	}

	.company-office__image {
		width: 100%;
		height: auto;
		aspect-ratio: 315 / 200;
		margin-top: 16px;
		object-fit: cover;
	}
}
