/*!
Theme Colors
*/

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=PT+Serif:ital,wght@0,400;0,700;1,400;1,700&display=swap');

:root {
	--main-color: #1B4396;
	--main-color-rgb: 27, 67, 150;
	--sub-color: #449ae0;
	--point-color: #F7C548;
	--bg-color: #ffffff;
	--bg-color-rgb: 255, 255, 255;
	--bg-sub-color: #ecf0f4;
	--text-color: #010400;
	--text-color-rgb: 1, 4, 0;
	--font: "Noto Sans JP", serif;
	--font-regular: 400;
	--font-bold: 700;
	--eng-font: "PT Serif", serif;
	--eng-font-regular: 400;
	--eng-font-bold: 500;
}

.topMvBg .topMvContent {
	text-align: center;
}
.topMvTagline {
	font-family: "Yu Mincho", "游明朝", "Hiragino Mincho ProN", "Noto Serif JP", serif;
	font-size: 5em;
	letter-spacing: 0.1em;
}
.topMvBg .topMvContent .topMvTaglineEn {
	font-size: 0.9375em;
	margin: 0 0 0.25em;
}
.topMvTaglineBtn {
	width: fit-content;
	margin: 2rem auto;
}
.topAdvantageItem {
	align-items: flex-start;
}
.bulletPointsDiv .bulletPoints {
	counter-reset: bulletCounter;
	padding: 0;
}
.bulletPoints li {
  counter-increment: bulletCounter;
	position: relative;
	padding-left: 5em;
}
.bulletPoints li + li {
	margin-top: 0;
	padding-top: 0;
	border-top: 0;
}
.bulletPoints li:not(:last-child) {
	margin-bottom: 1rem;
	padding-bottom: 1rem;
	border-bottom: 0.0625rem solid rgba(var(--main-color-rgb), 0.15);
}
.bulletPoints li::before {
	content: counter(bulletCounter, decimal-leading-zero) " ";
	position: absolute;
	font-size: 3em;
	color: rgba(var(--main-color-rgb), 0.25);
	left: 0;
	top: 0;
	font-family: var(--eng-font);
	font-weight: var(--eng-font-bold);
	line-height: 1;
}
.bulletPoints li b {
	font-size: 1.25em;
}
.serviceList.serviceTermList {
	gap: 2rem;
}
.serviceList {
	gap: 1rem;
}
.serviceList li.serviceListItem {
	flex-basis: calc(33.333% - 1rem * 2 / 3);
	flex-grow: 0;
}
.serviceListItem a {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100%;
  padding: 1rem;
  border: 0.0625rem solid rgba(var(--main-color-rgb), 0.25);
  text-decoration: none;
	background-color: #fff;
	gap: 0.5rem;
}
.serviceListItemTitle {
  font-size: 1.125rem;
	margin: 0;
}
.serviceListItemLink {
	font-size: 0.85rem;
	color: var(--main-color);
	margin: 0;
	align-self: flex-end;
	display: flex;
	align-items: center;
	gap: 1em;
}
.staffList {
	gap: 1.5rem;
}
.staffList li a {
	background-color: rgba(var(--main-color-rgb), 0.05);
	display: flex;
	flex-direction: column;
	justify-content: center;
	height: 100%;
	padding: 1rem;
	gap: 0.5rem;
}
.staffListContent {
	margin: 0;
}

@media screen and (max-width: 960px) {
	.topMvTagline {
		font-size: 4em;
		margin: 0;
	}
	.topAdvantageItem:nth-child(2n) {
		flex-direction: row;
	}
	.topAdvantageText {
		font-size: 0.875em;
	}
	.serviceList li.serviceListItem {
		flex-basis: calc(50% - 1rem / 2);
	}
}
@media screen and (max-width: 632px) {
	.headerLogo {
		width: 10rem;
	}
	.main {
		margin-top: 4.1262rem;
	}
	.topMv {
		padding: 3rem 0;
	}
	.topMvTaglineTopic {
		font-size: 0.8125rem;
	}
	.topMvBg .topMvContent .topMvTaglineEn {
		font-size: 0.6875rem;
	}
	.topMvTaglineBtn {
		margin-bottom: 0;
	}
	.serviceList li {
		flex-basis: 100%;
	}
	.ctaSectionText.contents {
		font-size: 0.75rem;
	}
	.bulletPoints li::before {
		font-size: 2em;
	}
	.bulletPoints li {
		padding-left: 3em;
		font-size: 0.8125rem;
	}
	.bulletPoints li b {
		font-size: 1rem;
	}
	.serviceListItemTitle {
		font-size: 1em;
	}
	.serviceList {
		gap: 0.5rem;
	}
	.serviceList li.serviceListItem {
		flex-basis: calc(50% - 0.5rem / 2);
	}
	.serviceListItemLink {
		font-size: 0.6875rem;
		align-self: flex-start;
	}
	.staffList {
		gap: 1rem;
	}
}