/* Company introduction page only. Global header and footer are intentionally excluded. */
.sg-company-page {
	--sg-company-blue: #05244c;
	--sg-company-red: #b71932;
	--sg-company-gold: #b8862c;
	--sg-company-line: #dfe4e8;
	--sg-company-muted: #536069;
	background: #fff;
	color: #1f272c;
}

/* The Lightning page header duplicates this template's centred masthead. */
body:has(.sg-company-page) .page-header,
body.page-id-9 .page-header,
body.page-id-60 .page-header {
	display: none;
}

.sg-company-page__body {
	width: min(1120px, calc(100% - 48px));
	margin: 0 auto;
	padding: clamp(44px, 6vw, 88px) 0 clamp(64px, 8vw, 112px);
}

.sg-company-page--ja,
.sg-company-page--ja h1,
.sg-company-page--ja h2,
.sg-company-page--ja h3,
.sg-company-page--ja p,
.sg-company-page--ja dt,
.sg-company-page--ja dd,
.sg-company-page--ja li,
.sg-company-page--ja small {
	font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Noto Serif JP", serif;
}

.sg-company-page--zh,
.sg-company-page--zh h1,
.sg-company-page--zh h2,
.sg-company-page--zh h3,
.sg-company-page--zh p,
.sg-company-page--zh dt,
.sg-company-page--zh dd,
.sg-company-page--zh li,
.sg-company-page--zh small {
	font-family: "Source Han Sans SC", "Noto Sans SC", "Microsoft YaHei", sans-serif;
}

.sg-company-page__masthead {
	border-bottom: 0;
	padding-bottom: clamp(30px, 4vw, 48px);
	margin-bottom: clamp(44px, 6vw, 72px);
	text-align: center;
}

.sg-company-page__masthead h1 {
	color: #111;
	font-size: clamp(32px, 4vw, 52px);
	font-weight: 500;
	letter-spacing: .16em;
	line-height: 1.25;
	margin: 0;
}

.sg-company-page__eyebrow {
	color: var(--sg-company-red);
	font-family: Georgia, serif !important;
	font-size: 13px;
	letter-spacing: .12em;
	margin: 0 0 12px;
}

.sg-company-page__section {
	border-top: 1px solid var(--sg-company-line);
	padding: clamp(34px, 4.7vw, 60px) 0;
}

.sg-company-page__about { border-top: 0; padding-top: 0; }

.sg-company-page__section > h2 {
	border-left: 4px solid var(--sg-company-red);
	/* Neutralise Lightning/VK heading frame lines on this page only. */
	border-top: 0 !important;
	border-bottom: 0 !important;
	color: #151515;
	font-size: clamp(23px, 2.4vw, 32px);
	font-weight: 500;
	letter-spacing: .08em;
	line-height: 1.35;
	margin: 0 0 24px;
	padding-left: 16px;
}

.sg-company-page__prose {
	max-width: 960px;
}

.sg-company-page__prose p,
.sg-company-page__philosophy > p:not(.sg-company-page__statement),
.sg-company-page__rd-head > p:not(.sg-company-page__statement) {
	font-size: clamp(15px, 1.22vw, 17px);
	line-height: 2;
	margin: 0 0 12px;
}

.sg-company-page__philosophy { text-align: center; }
.sg-company-page__philosophy > h2 { text-align: left; }

.sg-company-page__statement {
	color: var(--sg-company-red);
	font-size: clamp(24px, 2.65vw, 38px);
	font-weight: 500;
	letter-spacing: .08em;
	line-height: 1.55;
	margin: 2px 0 16px;
}

.sg-company-page__principle-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0;
}

.sg-company-page__principle-grid article {
	border-left: 1px solid var(--sg-company-line);
	display: grid;
	grid-template-areas:
		"number title"
		"body body";
	grid-template-columns: auto minmax(0, 1fr);
	column-gap: 18px;
	align-items: center;
	padding: 0 clamp(20px, 3vw, 38px);
}
.sg-company-page__principle-grid article:first-child { border-left: 0; padding-left: 0; }
.sg-company-page__principle-grid article:last-child { padding-right: 0; }
.sg-company-page__principle-grid span {
	color: #e5c1c7;
	display: inline-block;
	font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Noto Serif JP", serif;
	font-size: clamp(38px, 4vw, 58px);
	grid-area: number;
	line-height: 1;
	margin: 0;
}
.sg-company-page__principle-grid h3 {
	border: 0 !important;
	color: #1b1b1b;
	font-size: clamp(18px, 1.65vw, 23px);
	font-weight: 500;
	grid-area: title;
	margin: 0 !important;
	padding: 0 !important;
}
.sg-company-page__principle-grid p {
	font-size: 15px;
	grid-area: body;
	line-height: 1.9;
	margin: 18px 0 0;
}

.sg-company-page__business-list,
.sg-company-page__overview-table {
	margin: 0;
}
.sg-company-page__business-list > div {
	border-bottom: 1px solid var(--sg-company-line);
	display: grid;
	grid-template-columns: minmax(280px, .9fr) minmax(0, 2.1fr);
	gap: 24px;
	padding: 17px 10px;
}
.sg-company-page__business-list > div:first-child { border-top: 1px solid var(--sg-company-line); }
.sg-company-page__business-list dt,
.sg-company-page__business-list dd { margin: 0; }
.sg-company-page__business-list dt { color: var(--sg-company-blue); font-size: clamp(17px, 1.55vw, 21px); font-weight: 600; }
.sg-company-page__business-list dt span { color: var(--sg-company-red); display: inline-block; font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Noto Serif JP", serif; margin-right: 20px; min-width: 34px; }
.sg-company-page__business-list dd { font-size: 15px; line-height: 1.75; }

.sg-company-page__rd-head {
	display: grid;
	grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr);
	gap: clamp(28px, 5vw, 72px);
	align-items: center;
	margin-bottom: 28px;
}
.sg-company-page__rd-head .sg-company-page__statement { margin: 0; text-align: center; }
.sg-company-page__rd-head > p:last-child { margin: 0; }
.sg-company-page__flow {
	counter-reset: company-flow;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 16px;
	list-style: none;
	margin: 0;
	padding: 0;
}
.sg-company-page__flow li {
	border: 0;
	color: #151515;
	font-size: clamp(18px, 1.65vw, 23px);
	font-weight: 500;
	padding: 12px 10px 16px;
	position: relative;
	text-align: center;
}
.sg-company-page__flow li:not(:last-child)::after {
	color: var(--sg-company-red);
	content: "→";
	font-family: sans-serif;
	font-size: 26px;
	position: absolute;
	right: -20px;
	top: 8px;
}
.sg-company-page__flow small { border-top: 1px solid #bfc6cb; display: block; font-size: 13px; line-height: 1.65; margin-top: 9px; padding-top: 9px; }

/* The research section follows the business section without an extra rule above it. */
.sg-company-page__rd { border-top: 0; }

.sg-company-page__overview-table {
	border-left: 1px solid var(--sg-company-line);
	border-top: 1px solid var(--sg-company-line);
}
.sg-company-page__overview-table > div { border-bottom: 1px solid var(--sg-company-line); display: grid; grid-template-columns: 210px minmax(0, 1fr); }
.sg-company-page__overview-table dt,
.sg-company-page__overview-table dd { margin: 0; padding: 14px 20px; }
.sg-company-page__overview-table dt { background: #faf7f7; border-right: 1px solid var(--sg-company-line); font-weight: 600; }
.sg-company-page__overview-table dd { font-size: 15px; line-height: 1.7; }

@media (max-width: 768px) {
	.sg-company-page__body { width: min(100% - 32px, 640px); padding-top: 40px; }
	.sg-company-page__masthead { margin-bottom: 42px; }
	.sg-company-page__masthead h1 { font-size: 31px; }
	.sg-company-page__section { padding: 34px 0; }
	.sg-company-page__section > h2 { font-size: 23px; margin-bottom: 18px; }
	.sg-company-page__prose p, .sg-company-page__philosophy > p:not(.sg-company-page__statement), .sg-company-page__rd-head > p:not(.sg-company-page__statement) { font-size: 15px; line-height: 1.85; }
	.sg-company-page__statement { font-size: 24px; letter-spacing: .035em; }
	.sg-company-page__principle-grid, .sg-company-page__rd-head, .sg-company-page__flow { grid-template-columns: 1fr; }
	.sg-company-page__principle-grid article, .sg-company-page__principle-grid article:first-child, .sg-company-page__principle-grid article:last-child { border-left: 0; border-top: 1px solid var(--sg-company-line); padding: 24px 0; }
	.sg-company-page__principle-grid article:first-child { border-top: 0; padding-top: 0; }
	.sg-company-page__principle-grid span { font-size: 42px; }
	.sg-company-page__business-list > div { display: block; padding: 16px 0; }
	.sg-company-page__business-list dd { margin-top: 9px; }
	.sg-company-page__flow { gap: 0; }
	.sg-company-page__flow li { border: 0; padding: 16px 20px; }
	.sg-company-page__flow li:first-child { border-top: 0; }
	.sg-company-page__flow li:not(:last-child)::after { bottom: -22px; left: 50%; right: auto; top: auto; transform: translateX(-50%) rotate(90deg); z-index: 1; }
	.sg-company-page__overview-table, .sg-company-page__overview-table > div { border-left: 0; }
	.sg-company-page__overview-table > div { display: block; }
	.sg-company-page__overview-table dt, .sg-company-page__overview-table dd { border-right: 0; display: block; padding: 11px 14px; }
	.sg-company-page__overview-table dd { padding-top: 0; }
}
