/*====================
企業情報（/company）
インナー最大幅: 1520px / 紺: #16346D
====================*/
.company-page {
	display: block;
	background: #f4fafe;
}

.company-page__inner {
	box-sizing: border-box;
	width: 1520px;
	margin-inline: auto;
	padding: 48px 16px 80px;
	padding-inline: 0;
}

@media screen and (max-width: 1919px) {
	.company-page__inner {
		width: min(calc(100% - clamp(48px, 6vw, 80px)), 1520px);
		max-width: 1520px;
	}
}

@media screen and (max-width: 1279px) {
	.company-page__inner {
		width: min(100% - 32px, 900px);
		max-width: 900px;
		margin-inline: auto;
		padding-inline: 16px;
	}
}

@media screen and (max-width: 600px) {
	.company-page__inner {
		width: 100%;
		padding: 40px 16px 64px;
	}
}

/* --------------------------------------------------------------------------
   セクション1：グループ紹介
   -------------------------------------------------------------------------- */
.company-intro {
	margin-bottom: 64px;
}

.company-intro__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(329px, 48%);
	gap: clamp(32px, 4vw, 56px);
	align-items: center;
}

@media screen and (max-width: 1279px) {
	.company-intro__grid {
		grid-template-columns: 1fr;
	}
}

.company-intro__content {
	max-width: 640px;
}

.company-intro__title {
	margin: 0 0 24px;
	color: #16346d;
	font-size: 32px;
	font-weight: 500;
	line-height: 1.7;
	letter-spacing: 0.13em;
}

@media screen and (max-width: 600px) {
	.company-intro__title {
		font-size: 24px;
	}
}

.company-intro__title.js-anim-sweep {
	display: block;
	width: 100%;
}

.company-intro__title .js-anim-sweep__content {
	display: block;
}

.company-intro__text {
	color: #16346d;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.5;
	letter-spacing: 0.13em;
}

@media screen and (max-width: 600px) {
	.company-intro__text {
		font-size: 14px;
	}
}

.company-intro__text p {
	margin: 0 0 1em;
}

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

.company-intro__br-pc {
	display: inline;
}

@media screen and (max-width: 819px) {
	.company-intro__br-pc {
		display: none;
	}
}

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

/* tri-stack company：6シャード（形状すべて異なる） */
.company-intro__tri-stack .tri-stack__tri--small .tri-stack__tri-shape {
	background: rgba(var(--tri-stack-92c8ea), 0.48);
}

.company-intro__tri-stack .tri-stack__tri--large .tri-stack__tri-shape {
	background: rgba(var(--tri-stack-16346d), 0.9);
}

/* 1. 大・横長・不均等 — 左 */
.company-intro__tri-stack .tri-stack__shard--1 {
	top: 42%;
	left: -4%;
	width: 96px;
	height: 44px;
	background: rgba(var(--tri-stack-16346d), 0.88);
	clip-path: polygon(0 48%, 100% 0, 88% 100%);
}

/* 2. 大・縦長・2等辺 — 右 */
.company-intro__tri-stack .tri-stack__shard--2 {
	top: 26%;
	right: -5%;
	width: 52px;
	height: 88px;
	background: rgba(var(--tri-stack-16346d), 0.92);
	clip-path: polygon(0 0, 100% 50%, 0 100%);
}

/* 3. 小・2等辺（上向き） — 右上 */
.company-intro__tri-stack .tri-stack__shard--3 {
	top: 1%;
	right: 22%;
	left: auto;
	width: 34px;
	height: 38px;
	background: rgba(var(--tri-stack-d1edff), 0.72);
	clip-path: polygon(50% 0, 100% 100%, 0 100%);
}

/* 4. 小・不均等 — 上 */
.company-intro__tri-stack .tri-stack__shard--4 {
	top: 8%;
	left: 26%;
	width: 38px;
	height: 42px;
	background: rgba(var(--tri-stack-35566b), 0.85);
	clip-path: polygon(0 0, 100% 28%, 42% 100%);
}

/* 5. 中・横長 — 下 */
.company-intro__tri-stack .tri-stack__shard--5 {
	bottom: 16%;
	left: 38%;
	width: 64px;
	height: 30px;
	background: rgba(var(--tri-stack-b7d7eb), 0.58);
	clip-path: polygon(0 50%, 100% 0, 100% 100%);
}

/* 6. 小・縦長・不均等 — 右下 */
.company-intro__tri-stack .tri-stack__shard--6 {
	bottom: 10%;
	right: 12%;
	left: auto;
	width: 30px;
	height: 56px;
	background: rgba(var(--tri-stack-9ad7ff), 0.55);
	clip-path: polygon(50% 0, 100% 72%, 0 100%);
}

@media screen and (max-width: 600px) {
	.company-intro__tri-stack .tri-stack__shard--1 {
		width: 76px;
		height: 36px;
		left: -2%;
	}

	.company-intro__tri-stack .tri-stack__shard--2 {
		width: 44px;
		height: 72px;
		right: -3%;
	}

	.company-intro__tri-stack .tri-stack__shard--5 {
		width: 52px;
		height: 26px;
	}
}

/* --------------------------------------------------------------------------
   セクション2：中村建設グループ
   -------------------------------------------------------------------------- */
.company-group {
	margin-bottom: 64px;
}

.company-group__grid {
	display: grid;
	grid-template-columns: minmax(329px, 50%) minmax(0, 1fr);
	gap: clamp(32px, 3.2vw, 32px);
	box-sizing: border-box;
	padding: 24px 32px;
	background: #fff;
	align-items: stretch;
}

@media screen and (max-width: 1279px) {
	.company-group__grid {
		grid-template-columns: 1fr;
		grid-template-areas:
			"media"
			"content";
	}
}

@media screen and (max-width: 600px) {
	.company-group__grid {
		padding: 24px 16px;
	}
}

.company-group__media {
	display: flex;
	min-width: 0;
	min-height: 0;
}

@media screen and (max-width: 1279px) {
	.company-group__media {
		display: block;
		grid-area: media;
	}
}

.company-group__content {
	min-width: 0;
	container-type: inline-size;
	container-name: company-group-content;
}

@media screen and (max-width: 1279px) {
	.company-group__content {
		grid-area: content;
	}
}

.company-group__img {
	overflow: hidden;
	border-radius: 13px;
	flex: 1;
	width: 100%;
	height: 100%;
	min-height: 0;
}

@media screen and (max-width: 1279px) {
	.company-group__img {
		flex: none;
		height: auto;
	}
}

.company-group__img,
.company-group__img img {
	display: block;
	width: 100%;
	height: auto;
}

.company-group__img img {
	height: 100%;
	object-fit: cover;
	object-position: center;
}

@media screen and (max-width: 1279px) {
	.company-group__img img {
		height: auto;
		object-fit: unset;
	}
}

.company-group__title {
	margin: 0 0 12px;
	color: #16346d;
	font-size: 32px;
	font-weight: 500;
	line-height: 1.2;
	letter-spacing: 0.13em;
}

@media screen and (max-width: 600px) {
	.company-group__title {
		font-size: 24px;
	}
}

.company-group__title.js-anim-sweep {
	display: block;
	width: 100%;
}

.company-group__title .js-anim-sweep__content {
	display: block;
}

.company-group__build {
	display: flex;
	flex-direction: column;
}

.company-group__build .company-group__divider {
	flex-shrink: 0;
}

.company-group__build .company-group__stats {
	margin-top: 0;
}

.company-group__rule {
	height: 1px;
	margin: 0 0 12px;
	background: #16346d;
}

.company-group__lead {
	margin: 0 0 16px;
	color: #16346d;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.5;
	letter-spacing: 0.1em;
}

@media screen and (max-width: 600px) {
	.company-group__lead {
		font-size: 14px;
	}
}

.company-group__divider {
	height: 0;
	margin: 0 0 16px;
	border: 0;
	border-top: 1px solid #16346d;
	opacity: 0.35;
}

.company-group__panel {
	box-sizing: border-box;
	width: 100%;
	padding: 8px;
	border: 1px solid #13456d;
	border-radius: 13px;
	margin-bottom: 16px;
}

.company-group__sub {
	margin: 0 0 8px;
	color: #16346d;
	font-size: 20px;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: 0.13em;
}

@media screen and (max-width: 600px) {
	.company-group__sub {
		font-size: 16px;
	}
}

.company-group__list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 4px 16px;
	margin: 0;
	padding: 0;
	list-style: none;
	color: #16346d;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.5;
	letter-spacing: 0.1em;
}

@media screen and (max-width: 1279px) {
	.company-group__list {
		display: block;
	}
}

@media screen and (max-width: 600px) {
	.company-group__list {
		font-size: 14px;
	}
}

.company-group__list li + li {
	margin-top: 0;
}

@media screen and (max-width: 1279px) {
	.company-group__list li + li {
		margin-top: 4px;
	}
}

.company-group__stats {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 6px;
	width: 100%;
	max-width: 100%;
	margin: 8px 0 4px;
	padding: 0;
}

@media screen and (max-width: 1279px) {
	.company-group__stats {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 8px;
	}

	.company-group__stat:first-child {
		grid-column: 1 / -1;
	}
}

.company-group__stat {
	display: flex;
	flex-wrap: nowrap;
	justify-content: center;
	align-items: center;
	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	margin: 0;
	padding: 4px 8px;
	border-radius: 9999px;
	background-color: #13456d;
	color: #ffffff;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.3;
	letter-spacing: 0.02em;
	text-align: center;
	white-space: nowrap;
}

@media screen and (max-width: 600px) {
	.company-group__stat {
		font-size: 14px;
	}
}

.company-group__stat-label::after {
	content: "：";
}

.company-group__stat-label,
.company-group__stat-value {
	margin: 0;
}

.company-group__note {
	margin: 8px 0 0;
	color: #16346d;
	font-size: 12px;
	font-weight: 400;
	line-height: 1.4;
	letter-spacing: 0.05em;
	text-align: right;
}

.company-group__br-pc {
	display: inline;
}

@media screen and (max-width: 819px) {
	.company-group__br-pc {
		display: none;
	}
}

/* --------------------------------------------------------------------------
   セクション3：会社概要
   -------------------------------------------------------------------------- */
.company-profile {
	--company-profile-media-sticky-top: calc(var(--site-sticky-offset, 74px) + 32px);
	margin-bottom: 96px;
}

@media screen and (max-width: 600px) {
	.company-profile {
		margin-bottom: 64px;
	}
}

.company-profile__wrap {
	box-sizing: border-box;
	width: 1420px;
	max-width: 1420px;
	margin-inline: auto;
}

@media screen and (max-width: 1919px) {
	.company-profile__wrap {
		width: 100%;
		max-width: 1420px;
	}
}

.company-profile__title {
	margin: 0 0 32px;
	color: #16346d;
	font-size: 32px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: 0.13em;
	text-align: center;
}

@media screen and (max-width: 600px) {
	.company-profile__title {
		font-size: 24px;
	}
}

.company-profile__title-sweep {
	vertical-align: top;
}

.company-profile__table.js-anim-build-up--scroll {
	margin: 0;
}

.company-profile__grid {
	display: grid;
	grid-template-columns: 820px 520px;
	gap: 60px;
	justify-content: center;
	align-items: stretch;
}

@media screen and (max-width: 1919px) {
	.company-profile__grid {
		grid-template-columns: minmax(0, min(820px, 100%)) minmax(0, min(520px, 100%));
		gap: clamp(24px, 3.125vw, 60px);
		align-items: start;
	}
}

@media screen and (max-width: 1279px) {
	.company-profile__grid {
		grid-template-columns: 1fr;
	}
}

@media screen and (max-width: 900px) {
	.company-profile__grid {
		margin-bottom: 64px;
	}
}

.company-profile__main {
	min-width: 0;
	max-width: 820px;
}

.company-profile__row {
	display: grid;
	grid-template-columns: minmax(100px, 210px) minmax(0, 1fr);
	gap: 12px clamp(16px, 2vw, 32px);
	padding-top: 20px;
	padding-bottom: 20px;
	border-bottom: 1px solid #16346d;
}

@media screen and (max-width: 600px) {
	.company-profile__row {
		grid-template-columns: 100px minmax(0, 1fr);
		gap: 8px 12px;
	}
}

.company-profile__row--first {
	padding-top: 0;
	border-top: none;
}

.company-profile__row--last {
	padding-bottom: 0;
	border-bottom: none;
}

.company-profile__label {
	margin: 0;
	padding-left: 32px;
	color: #16346d;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.5;
	letter-spacing: 0.1em;
}

@media screen and (max-width: 600px) {
	.company-profile__label {
		padding-left: 12px;
		font-size: 14px;
	}
}

.company-profile__value {
	margin: 0;
	color: #16346d;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.5;
	letter-spacing: 0.1em;
}

@media screen and (max-width: 600px) {
	.company-profile__value {
		font-size: 14px;
	}
}

.company-profile__business-block {
	display: block;
}

.company-profile__business-sp {
	display: none;
}

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

.company-profile__sp-br {
	display: none;
}

@media screen and (max-width: 600px) {
	.company-profile__business-pc {
		display: none;
	}

	.company-profile__business-sp {
		display: block;
	}

	.company-profile__business-block {
		margin-bottom: 1em;
	}

	.company-profile__business-block:last-child {
		margin-bottom: 0;
	}

	.company-profile__sp-br {
		display: block;
	}
}

.company-profile__media {
	display: flex;
	flex-direction: column;
	align-self: stretch;
	min-width: 0;
	max-width: 520px;
	justify-self: end;
}

@media screen and (max-width: 1279px) {
	.company-profile__media {
		max-width: none;
		justify-self: stretch;
	}

	.company-profile__media-frame {
		max-width: 768px;
		margin-inline: auto;
	}

	.company-profile__img {
		width: 100%;
		max-width: 768px;
		margin-inline: auto;
	}
}

.company-profile__media-sticky {
	position: -webkit-sticky;
	position: sticky;
	top: var(--company-profile-media-sticky-top);
	flex: 0 0 auto;
	max-height: calc(100vh - var(--company-profile-media-sticky-top) - 24px);
}

@media screen and (max-width: 1279px) {
	.company-profile__media-tag {
		opacity: 1;
		transform: translateY(0);
	}
}

.company-profile__media-frame {
	position: relative;
	overflow: hidden;
	border-radius: 40px;
}

.company-profile__media-tag {
	position: absolute;
	right: 16px;
	bottom: 16px;
	z-index: 1;
	padding: 6px 14px;
	border: 1px solid rgba(255, 255, 255, 0.65);
	background: rgba(22, 52, 109, 0.88);
	color: #fff;
	font-size: 13px;
	font-weight: 500;
	line-height: 1;
	letter-spacing: 0.16em;
}

.company-profile__img,
.company-profile__img img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 0;
}

/* --------------------------------------------------------------------------
   セクション4：アクセス
   -------------------------------------------------------------------------- */
.company-access {
	margin-bottom: 80px;
}
@media screen and (max-width: 600px) {
	.company-access {
		margin-bottom: 48px;
	}
}

.company-access__title {
	margin: 0;
	color: #16346d;
	font-size: 32px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: 0.13em;
	text-align: left;
}

@media screen and (max-width: 600px) {
	.company-access__title {
		font-size: 24px;
		text-align: center;
	}
}

.company-access__title::after {
	content: "";
	display: block;
	margin-top: 24px;
	margin-bottom: 24px;
	border-top: 1px solid #16346d;
}

.company-access__title-sweep {
	display: inline-block;
	width: fit-content;
	max-width: 100%;
	vertical-align: top;
}

@media screen and (max-width: 600px) {
	.company-access__title-sweep {
		display: table;
		margin-inline: auto;
	}
}

.company-access__list {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.company-access__box {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 16px;
	box-sizing: border-box;
	width: 100%;
	max-width: 1480px;
	margin-inline: auto;
	padding: clamp(24px, 3vw, 32px);
	background: #fff;
	align-items: stretch;
}

@media screen and (max-width: 1279px) {
	.company-access__box {
		grid-template-columns: 1fr;
	}
}

.company-access__map {
	display: flex;
	flex-direction: column;
	min-width: 0;
	min-height: 100%;
	justify-self: end;
	width: 100%;
	max-width: 740px;
}

@media screen and (max-width: 1919px) {
	.company-access__map {
		justify-self: stretch;
		max-width: none;
	}
}

@media screen and (max-width: 1279px) {
	.company-access__map {
		min-height: auto;
	}
}

.company-access__map-frame {
	position: relative;
	flex: 1 1 auto;
	width: 100%;
	min-height: 376px;
	overflow: hidden;
	border-radius: 4px;
	background: #e8eef5;
}

@media screen and (max-width: 1279px) {
	.company-access__map-frame {
		flex: none;
		aspect-ratio: 740 / 362;
		min-height: 376px;
	}
}

@media screen and (max-width: 600px) {
	.company-access__map-frame {
		min-height: 276px;
	}
}

.company-access__iframe {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	border: 0;
}

.company-access__name {
	margin: 0 0 20px;
	color: #16346d;
	font-size: 20px;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: 0.13em;
}

@media screen and (max-width: 600px) {
	.company-access__name {
		font-size: 20px;
		font-weight: 500;
	}
}

.company-access__sub {
	display: inline-block;
	margin: 0 0 16px 16px;
	padding: 4px 8px;
	background: #16346d;
	color: #fff;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: 0.1em;
}

.company-access__address {
	margin: 0 0 32px;
	line-height: 1.5;
}

.company-access__address .company-access__line {
	margin: 0;
}

.company-access__line {
	margin: 0 0 8px;
	color: #16346d;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.5;
	letter-spacing: 0.1em;
}

@media screen and (max-width: 600px) {
	.company-access__line {
		font-size: 14px;
	}
}

.company-access__line--indent {
	padding-left: 1em;
}

.company-access__info {
	display: grid;
	grid-template-columns: max-content minmax(0, 1fr);
	column-gap: 0.75em;
	row-gap: 8px;
	padding-left: 1em;
	color: #16346d;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.5;
	letter-spacing: 0.1em;
}

.company-access__info--before-sub {
	margin-bottom: 32px;
}

.company-access__info .company-access__line--pair {
	display: contents;
}

.company-access__line--pair {
	display: grid;
	grid-template-columns: max-content minmax(0, 1fr);
	column-gap: 0.75em;
	align-items: baseline;
}

.company-access__term,
.company-access__desc {
	display: block;
}

.company-access__line--before-sub {
	margin-bottom: 32px;
}

.company-access__line--note {
	font-size: 14px;
}

.company-access__note-sp {
	display: none;
}

@media screen and (max-width: 467px) {
	.company-access__note-pc {
		display: none;
	}

	.company-access__note-sp {
		display: block;
	}

	.company-access__note-sp-indent {
		display: block;
		padding-left: 1em;
	}
}

.company-access__line:last-child {
	margin-bottom: 0;
}

/* --------------------------------------------------------------------------
   沿革（インナー1520px・コンテンツ860px左寄せ）
   -------------------------------------------------------------------------- */
.company-history {
	box-sizing: border-box;
	width: 100vw;
	max-width: 100vw;
	margin-inline: calc(50% - 50vw);
	padding: 64px 0 80px;
	background: #f4fafe;
}

@media screen and (max-width: 600px) {
	.company-history {
		padding-block: 0px 0px;
	}
}

.company-history__inner {
	box-sizing: border-box;
	width: 1520px;
	margin-inline: auto;
	padding-inline: 0;
}

.company-history__layout {
	display: grid;
	grid-template-columns: minmax(0, 860px) minmax(0, 1fr);
	gap: clamp(32px, 4vw, 80px);
	align-items: start;
}

.company-history__aside {
	display: none;
	min-width: 0;
}

.company-history {
	--company-history-yuragi-sticky-top: calc(var(--site-sticky-offset, 74px) + 32px);
}

.company-history__yuragi-sticky {
	position: -webkit-sticky;
	position: sticky;
	top: var(--company-history-yuragi-sticky-top);
	width: 100%;
	height: min(620px, calc(100vh - var(--company-history-yuragi-sticky-top) - 48px));
	min-height: 460px;
}

.company-history__yuragi-slot {
	position: relative;
	width: 100%;
	height: 100%;
	overflow: visible;
	pointer-events: none;
}

.company-history__yuragi {
	position: relative;
	width: 100%;
	height: 100%;
	overflow: visible;
}

.company-history__yuragi-cluster {
	position: absolute;
	overflow: visible;
	pointer-events: none;
}

.company-history__yuragi-cluster--tr {
	top: 0;
	right: 0;
	width: min(100%, 240px);
	height: min(48%, 280px);
}

.company-history__yuragi-cluster--bl {
	bottom: 0;
	left: 0;
	width: min(100%, 240px);
	height: min(48%, 280px);
}

.company-history__yuragi-item {
	position: absolute;
	display: block;
	transform: translate(-50%, -50%);
	will-change: transform;
}

.company-history__yuragi-shape {
	position: relative;
	display: block;
	transform-origin: 50% 50%;
	will-change: transform;
}

/* 右上 BOX */
.company-history__yuragi-item--1 {
	top: 18%;
	left: 72%;
}

.company-history__yuragi-shape--1 {
	width: 72px;
	height: 40px;
	background: rgba(146, 200, 234, 0.5);
	clip-path: polygon(0 0, 100% 40%, 100% 100%);
}

.company-history__yuragi-item--2 {
	top: 42%;
	left: 48%;
}

.company-history__yuragi-shape--2 {
	width: 18px;
	height: 20px;
	background: rgba(53, 86, 107, 0.88);
	clip-path: polygon(50% 0, 100% 100%, 0 100%);
}

.company-history__yuragi-item--3 {
	top: 68%;
	left: 78%;
}

.company-history__yuragi-shape--3 {
	width: 88px;
	height: 76px;
	background: rgba(209, 237, 255, 0.55);
	clip-path: polygon(20% 0, 100% 15%, 0 75%);
}

.company-history__yuragi-item--4 {
	top: 88%;
	left: 52%;
}

.company-history__yuragi-shape--4 {
	width: 44px;
	height: 26px;
	background: rgba(22, 52, 109, 0.25);
	clip-path: polygon(0 45%, 100% 0, 80% 100%);
}

/* 左下 BOX */
.company-history__yuragi-item--5 {
	top: 22%;
	left: 58%;
}

.company-history__yuragi-shape--5 {
	width: 32px;
	height: 36px;
	background: rgba(146, 200, 234, 0.92);
	clip-path: polygon(50% 0, 100% 80%, 0 100%);
}

.company-history__yuragi-item--6 {
	top: 48%;
	left: 28%;
}

.company-history__yuragi-shape--6 {
	width: 22px;
	height: 24px;
	background: rgba(53, 86, 107, 0.65);
	clip-path: polygon(50% 0, 0 100%, 100% 100%);
}

.company-history__yuragi-item--7 {
	top: 72%;
	left: 62%;
}

.company-history__yuragi-shape--7 {
	width: 80px;
	height: 72px;
	background: rgba(209, 237, 255, 0.42);
	clip-path: polygon(0 20%, 100% 0, 70% 100%);
}

.company-history__yuragi-item--8 {
	top: 90%;
	left: 38%;
}

.company-history__yuragi-shape--8 {
	width: 48px;
	height: 28px;
	background: rgba(22, 52, 109, 0.35);
	clip-path: polygon(0 0, 100% 38%, 55% 100%);
}

@media screen and (min-width: 1280px) {
	.company-history__aside {
		display: block;
	}
}

@media screen and (max-width: 1919px) {
	.company-history__inner {
		width: min(calc(100% - clamp(48px, 6vw, 80px)), 1520px);
	}
}

@media screen and (max-width: 1279px) {
	.company-history__inner {
		max-width: none;
	}

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

	.company-history__content {
		margin-inline: auto;
	}
}

@media screen and (max-width: 600px) {
	.company-history__inner {
		width: 100%;
		padding-inline: 16px;
	}
}

.company-history__content {
	box-sizing: border-box;
	width: 100%;
	max-width: 860px;
	margin: 0;
}

.company-history__title {
	margin: 0 0 40px;
	padding-bottom: 16px;
	color: #16346d;
	font-size: 32px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: 0.13em;
	text-align: left;
	border-bottom: 1px solid rgba(22, 52, 109, 0.35);
}

@media screen and (max-width: 600px) {
	.company-history__title {
		font-size: 24px;
	}
}

.company-history__title-sweep {
	vertical-align: top;
}

.company-history__list.js-anim-build-up--scroll {
	margin: 0;
	padding: 0;
	list-style: none;
}

.company-history__list {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
	list-style: none;
}

.company-history__item {
	display: grid;
	grid-template-columns: minmax(140px, 220px) minmax(0, 1fr);
	gap: 16px clamp(20px, 3vw, 48px);
	padding: 20px 0;
	border-bottom: 1px solid rgba(22, 52, 109, 0.2);
}

@media screen and (max-width: 600px) {
	.company-history__item {
		grid-template-columns: 1fr;
		gap: 8px;
		padding-block: 16px;
	}
}

.company-history__item:first-child {
	padding-top: 0;
}

.company-history__item:last-child {
	border-bottom: none;
}

.company-history__date {
	margin: 0;
	color: #16346d;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.5;
	letter-spacing: 0.1em;
}

@media screen and (max-width: 600px) {
	.company-history__date {
		font-size: 14px;
	}
}

.company-history__body {
	margin: 0;
	color: #16346d;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.5;
	letter-spacing: 0.1em;
}

@media screen and (max-width: 600px) {
	.company-history__body {
		font-size: 14px;
	}
}
