/* ===== .page-service（サービスページ共通 + レスポンシブ）（WP用） ===== */

/* =============================================================
   page-service（全サービスページ共通）
   ============================================================= */

.page-service .service-page {
	width: 100%;
}

/* ページヘッダー */

.page-service .page-header {
	width: 100%;
	padding: 5.625rem 0 5.1875rem;
	background-color: #fff;
}

.page-service .page-header__title {
	max-width: 91.5rem;
	width: 100%;
	margin: 4.5625rem 0 0;
	padding-left: max(3.75rem, min(14.25rem, calc((100vw - 91.5rem) / 2 + 3.75rem)));
	font-size: 6.25rem;
	font-weight: bold;
	font-family: 'Oswald', sans-serif;
}

.page-service .page-header__subtitle {
	display: block;
	font-size: 1.5rem;
	margin-top: -1.5rem;
	font-family: 'Noto Sans JP', sans-serif;
}

/* パンくず */

.page-service .breadcrumb {
	margin: 0 0 3.25rem;
	padding: 0;
}

.page-service .breadcrumb a {
	color: #171213;
	text-decoration: none;
	transition: opacity 0.3s ease;
}

.page-service .breadcrumb a:hover {
	opacity: 0.7;
}

.page-service .breadcrumb span {
	color: #171213;
}

.page-service .breadcrumb .breadcrumb__inner {
	padding-left: max(3.75rem, min(14.25rem, calc((100vw - 91.5rem) / 2 + 3.75rem)));
}

/* アイキャッチ */

.page-service .eyecatch {
	width: 100%;
	height: auto;
	overflow: hidden;
}

.page-service .eyecatch__pc {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	vertical-align: bottom;
}

.page-service .eyecatch__sp {
	display: none;
	width: 100%;
	height: 100%;
	object-fit: cover;
	vertical-align: bottom;
}

/* コンテンツ共通 */

.page-service .content {
	max-width: 75rem;
	margin: 0 auto;
}

.page-service .section {
	background-color: #fff;
	padding: 6.9375rem 0 11.8125rem;
}

.page-service .heading {
	display: flex;
	gap: 0.75rem;
	color: #171213;
	font-size: 2.1875rem;
	font-weight: bold;
	margin-bottom: 2.1875rem;
}

.page-service .text {
	margin-bottom: 5.3125rem;
	font-size: 1.0625rem;
}

.page-service .text p {
	margin-bottom: 2.5rem;
	line-height: calc(37 / 17);
}

.page-service .text p:last-child {
	margin-bottom: 0;
}

.page-service .image {
	width: 100%;
}

.page-service .image__pc {
	display: block;
	width: 100%;
	height: auto;
	vertical-align: bottom;
}

.page-service .image__sp {
	display: none;
	width: 100%;
	height: auto;
	vertical-align: bottom;
}

.page-service .image img {
	width: 100%;
	height: auto;
	vertical-align: bottom;
}

/* サービスTOPページ: エリア */

.page-service .area-wrapper {
	width: 100%;
	background-color: #f6f6f6;
}

.page-service .area {
	width: 100%;
	padding: 6rem 0;
	background-image: var(--bgImage);
	background-repeat: no-repeat;
	background-position: right;
	background-size: 45% auto;
	min-height: 37.5rem;
}

.page-service .area__inner {
	max-width: 75rem;
	margin: 0 auto;
}

.page-service .area__content {
	width: 48.5%;
}

.page-service .area__title {
	font-size: 4.375rem;
	font-weight: bold;
	font-family: 'Oswald', sans-serif;
	margin-bottom: 2.75rem;
}

.page-service .area__subtitle {
	display: block;
	font-size: 1.5rem;
	margin-top: -1rem;
	font-family: 'Noto Sans JP', sans-serif;
}

.page-service .area__description {
	padding: 1rem 0;
	border-top: 0.1875rem solid #707070;
	border-bottom: 0.1875rem solid #707070;
	text-align: center;
	font-size: 1.25rem;
	font-weight: bold;
	margin-bottom: 1.5rem;
}

.page-service .area__grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 0.5rem;
	margin-bottom: 1.125rem;
}

.page-service .area__item {
	background-color: #001650;
	color: #ffffff;
	padding: 0.75rem 0;
	text-align: center;
	font-size: 1.0625rem;
	font-weight: bold;
}

.page-service .area__note {
	font-size: 0.9375rem;
	margin-bottom: 1.875rem;
}

.page-service .area__notice {
	font-size: 1.0625rem;
	border: 0.0625rem solid #707070;
	padding: 0.625rem 0;
	text-align: center;
}

/* サービスTOPページ: サービスメニュー */

.page-service .service-menu {
	padding: 7.75rem 0 8.125rem;
	background-color: #fff;
}

.page-service .service-menu__inner {
	max-width: 75rem;
	margin: 0 auto;
}

.page-service .service-menu__title {
	font-size: 4.375rem;
	font-weight: bold;
	font-family: 'Oswald', sans-serif;
	margin-bottom: 3.875rem;
}

.page-service .service-menu__subtitle {
	display: block;
	font-size: 1.5rem;
	margin-top: -1rem;
	font-family: 'Noto Sans JP', sans-serif;
}

.page-service .service-menu__grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 2rem;
}

.page-service .service-menu__item {
	text-decoration: none;
	color: #171213;
	position: relative;
}

.page-service .service-menu__image-wrapper {
	position: relative;
}

.page-service .service-menu__image {
	position: relative;
	overflow: hidden;
	aspect-ratio: 600 / 300;
}

.page-service .service-menu__image>img {
	width: 100%;
	height: 100%;
	display: block;
	object-fit: cover;
}

.page-service .service-menu__overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 22, 80, 0.7);
	transition: opacity 0.3s ease;
}

.page-service .service-menu__content {
	position: absolute;
	top: 45%;
	left: 50%;
	transform: translate(-50%, -50%);
	text-align: center;
	color: #fff;
	width: 100%;
	z-index: 1;
	transition:
		transform 0.3s ease,
		opacity 0.3s ease;
}

.page-service .service-menu__icon-wrap {
	width: 3.5rem;
	height: 3.5rem;
	margin: 0 auto 0.5rem;
	display: flex;
	align-items: center;
	justify-content: center;
}

.page-service .service-menu__icon {
	filter: brightness(0) invert(1);
	width: 3.125rem;
	height: 3.125rem;
}

.page-service .service-menu__text {
	display: block;
	font-size: 1.375rem;
	font-weight: bold;
	min-width: 100%;
}

.page-service .service-menu__bottom {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding-top: 0.75rem;
	padding-bottom: 1rem;
	border-bottom: 0.1063rem solid #eee;
}

.page-service .service-menu__en {
	color: #eee;
	font-size: 2.875rem;
	font-family: 'Oswald', sans-serif;
	transition: opacity 0.3s ease;
	line-height: 1;
}

.page-service .service-menu__more {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	opacity: 0;
	transform: translateX(-1.25rem);
	transition:
		opacity 0.3s ease,
		transform 0.3s ease;
}

.page-service .service-menu__more-text {
	font-size: 1.875rem;
	font-weight: bold;
	font-family: 'Oswald', sans-serif;
	color: #171213;
}

.page-service .service-menu__more-sub {
	font-size: 0.8125rem;
	font-weight: bold;
	color: #171213;
}

.page-service .service-menu__item:hover .service-menu__overlay {
	opacity: 0;
}

.page-service .service-menu__item:hover .service-menu__en {
	opacity: 0;
}

.page-service .service-menu__item:hover .service-menu__content {
	transform: translate(-50%, 1.25rem);
	opacity: 0;
}

.page-service .service-menu__item:hover .service-menu__more {
	opacity: 1;
	transform: translateX(0);
}

/* サービスTOPページ: 選ばれる理由 */

.page-service .reason {
	width: 100%;
	background-color: #001650;
	color: #fff;
	padding: 6.25rem 0;
}

.page-service .reason__inner {
	max-width: 56rem;
	margin: 0 auto;
}

.page-service .reason__title {
	font-size: 1.875rem;
	font-weight: bold;
	text-align: center;
	margin-bottom: 3rem;
	letter-spacing: 0.1em;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 1.5rem;
	width: 100%;
}

.page-service .reason__title::before,
.page-service .reason__title::after {
	content: '';
	height: 0.0625rem;
	background-color: #fff;
	flex: 1;
}

.page-service .reason__title span {
	white-space: nowrap;
	padding: 0 0.5rem;
}

.page-service .reason__list {
	list-style: none;
	padding: 0;
	margin: 0;
}

.page-service .reason__item {
	padding: 1.125rem 0 1.125rem 1.625rem;
	border-bottom: 0.15rem solid rgba(255, 255, 255, 0.29);
	display: flex;
	align-items: flex-start;
}

.page-service .reason__number {
	display: flex;
	flex-direction: column;
}

.page-service .reason__label {
	font-size: 1rem;
	margin-left: 0.35rem;
}

.page-service .reason__num {
	font-size: 2.75rem;
	font-family: 'Oswald', sans-serif;
	line-height: 1;
}

.page-service .reason__text {
	font-size: 1.4375rem;
	margin-left: 1.75rem;
	padding: 0.5rem 0;
}

.page-service .reason__highlight {
	font-size: 1.8125rem;
	font-weight: bold;
}

/* サービスサブページ: 修理・点検 画像グリッド */

.page-service .image-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 2.5rem;
	margin-top: 2.75rem;
}

.page-service .image-grid__item {
	width: 100%;
}

.page-service .image-grid__item img {
	width: 100%;
	height: auto;
	object-fit: cover;
	vertical-align: bottom;
}

.page-service .message {
	text-align: center;
	font-weight: bold;
	margin-top: 6.8125rem;
	font-size: 1.375rem;
}

.page-service .message p {
	line-height: calc(37 / 22);
}

/* らく得パック */

.page-service .course-wrapper {
	width: 100%;
	background-image: var(--bgImage);
	background-size: cover;
	background-position: center;
	padding: 5.625rem 0 3.25rem;
}

.page-service .course {
	max-width: 75rem;
	margin: 0 auto;
}

.page-service .course__link {
	display: block;
	text-decoration: none;
	color: #171213;
	position: relative;
}

.page-service .course__bg {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #fff;
	transition: opacity 0.3s ease;
}

.page-service .course__content {
	padding: 3rem;
	position: relative;
	background-color: #fff;
	isolation: isolate;
}

.page-service .course__content:hover {
	opacity: 0.7;
}

.page-service .course__content::before,
.page-service .course__content::after {
	content: '';
	position: absolute;
	right: 0.1875rem;
	bottom: 0.1875rem;
}

.page-service .course__content::before {
	width: 3.4375rem;
	height: 3.4375rem;
	background-color: #001650;
}

.page-service .course__content::after {
	right: 1.125rem;
	bottom: 1.25rem;
	width: 0.9375rem;
	height: 0.9375rem;
	border-top: 0.3125rem solid #fff;
	border-right: 0.3125rem solid #fff;
	transform: rotate(45deg);
	z-index: 1;
}

.page-service .course__arrow {
	position: absolute;
	right: 1.25rem;
	bottom: 1.75rem;
	width: 1.5625rem;
	height: 0.3125rem;
	background-color: #fff;
	z-index: 1;
}

.page-service .course__text {
	text-align: center;
	font-size: 1.375rem;
	font-weight: bold;
	margin-bottom: 2.125rem;
}

.page-service .course__image {
	width: 25rem;
	margin: 0 auto;
}

.page-service .course__image img {
	width: 100%;
	height: auto;
}

.page-service .course__note {
	color: #fff;
	text-align: center;
	font-size: 0.875rem;
	margin-top: 1rem;
}

.page-service .course__note-sp {
	display: none;
}

.page-service .course__note-pc {
	display: block;
}

/* フィーチャー */

.page-service .features {
	width: 100%;
	background-color: #001650;
	padding: 7.9375rem 0 6.625rem;
	color: #fff;
}

.page-service .features__inner {
	max-width: 75rem;
	margin: 0 auto;
}

.page-service .features__heading {
	text-align: center;
	font-size: 1.875rem;
	font-weight: bold;
	margin-bottom: 2.75rem;
}

.page-service .features__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 2.5rem;
}

.page-service .features__item {
	text-align: center;
}

.page-service .features__icon {
	height: 6.625rem;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 1.375rem;
}

.page-service .features__icon img {
	vertical-align: bottom;
}

.page-service .features__title {
	font-size: 1.375rem;
	font-weight: bold;
	margin-bottom: 2.25rem;
	display: block;
	padding-bottom: 1.25rem;
	position: relative;
}

.page-service .features__title::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 100%;
	height: 0.375rem;
	background-color: #fff;
}

.page-service .features__text {
	text-align: left;
	line-height: calc(37 / 17);
	font-size: 1.0625rem;
}

.page-service .features__text-note {
	font-size: 0.9375rem;
}

/* =============================================================
   page-service レスポンシブ
   ============================================================= */

@media (max-width: 768px) {
	.page-service .page-header {
		padding: 0;
	}

	.page-service .page-header__title {
		margin: calc(3.75rem + 1.5625rem) auto 2.5rem;
		padding: 0 0.9375rem;
		font-size: 3.4375rem;
	}

	.page-service .page-header__subtitle {
		font-size: 0.875rem;
		margin-top: -0.75rem;
	}

	.page-service .breadcrumb {
		margin-bottom: 1.1875rem;
	}

	.page-service .breadcrumb .breadcrumb__inner {
		padding: 0 0.9375rem;
	}

	.page-service .eyecatch__pc {
		display: none;
	}

	.page-service .eyecatch__sp {
		display: block;
	}

	.page-service .section {
		padding: 3.125rem 0.9375rem;
	}

	.page-service .heading {
		font-size: 1.125rem;
		margin-bottom: 2.1875rem;
		align-items: flex-start;
	}

	.page-service .heading img {
		width: 1.625rem;
		height: 1.625rem;
		margin-top: 0.45rem;
	}

	.page-service .text {
		margin-bottom: 2.625rem;
		font-size: 0.875rem;
	}

	.page-service .text p {
		margin-bottom: 1.25rem;
	}

	.page-service .text p br {
		display: none;
	}

	.page-service .image__pc {
		display: none;
	}

	.page-service .image__sp {
		display: block;
	}

	.page-service .area {
		background-image: none;
		padding-bottom: 0;
	}

	.page-service .area__content {
		width: 100%;
		padding: 0 0.9375rem;
	}

	.page-service .area__grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 0.4375rem;
		margin-bottom: 0.9375rem;
	}

	.page-service .area__title {
		font-size: 2.4375rem;
		margin-bottom: 2rem;
	}

	.page-service .area__subtitle {
		font-size: 0.875rem;
		margin-top: -0.5rem;
	}

	.page-service .area__description {
		border-top: 0.0625rem solid #707070;
		border-bottom: 0.0625rem solid #707070;
		font-size: 0.8125rem;
		padding: 0.875rem 0;
		margin-bottom: 1.6875rem;
	}

	.page-service .area__item {
		font-size: 0.8125rem;
		padding: 0.5rem 0;
	}

	.page-service .area__note {
		font-size: 0.75rem;
		text-align: center;
		margin-bottom: 1.0625rem;
	}

	.page-service .area__notice {
		font-size: 0.8125rem;
		padding: 0.375rem 0;
		margin-bottom: 2.9375rem;
	}

	.page-service .area::after {
		content: '';
		display: block;
		width: 100%;
		height: 23.4375rem;
		background-image: var(--bgImageSp);
		background-repeat: no-repeat;
		background-size: cover;
	}

	.page-service .service-menu {
		padding: 3.125rem 0 4.6875rem;
	}

	.page-service .service-menu__inner {
		padding: 0 0.9375rem;
	}

	.page-service .service-menu__grid {
		grid-template-columns: 1fr;
		gap: 2.5rem;
	}

	.page-service .service-menu__title {
		font-size: 2.4375rem;
		margin-bottom: 2.8125rem;
	}

	.page-service .service-menu__subtitle {
		font-size: 0.875rem;
		margin-top: -0.5rem;
	}

	.page-service .service-menu__item {
		padding-bottom: 1rem;
		border-bottom: 0.125rem solid #efefef;
	}

	.page-service .service-menu__image-wrapper {
		width: 100%;
		margin-bottom: 0.5rem;
	}

	.page-service .service-menu__image {
		aspect-ratio: 138 / 85;
	}

	.page-service .service-menu__overlay {
		display: none;
	}

	.page-service .service-menu__content {
		position: static;
		transform: none;
		display: flex;
		align-items: center;
		gap: 1rem;
		margin-top: 0.5rem;
		color: #171213;
	}

	.page-service .service-menu__icon-wrap {
		margin: 0;
		width: auto;
		height: 2.5rem;
	}

	.page-service .service-menu__icon {
		filter: brightness(0) saturate(100%) invert(12%) sepia(86%) saturate(2091%) hue-rotate(213deg) brightness(97%) contrast(98%);
		width: 2.5rem;
		height: auto;
	}

	.page-service .service-menu__text {
		font-size: 1rem;
		min-width: max-content;
	}

	.page-service .service-menu__bottom {
		padding: 0;
		justify-content: flex-end;
		position: absolute;
		bottom: 1.1rem;
		right: 0;
		border-bottom: none;
	}

	.page-service .service-menu__en {
		font-size: 2.1875rem;
	}

	.page-service .service-menu__more {
		display: none;
	}

	.page-service .service-menu__item:hover .service-menu__content {
		transform: none;
		opacity: 1;
	}

	.page-service .service-menu__item:hover .service-menu__en {
		opacity: 1;
	}

	.page-service .reason {
		padding: 3.5rem 0 3.875rem;
	}

	.page-service .reason__inner {
		padding: 0 0.9375rem;
	}

	.page-service .reason__title {
		font-size: 1.4375rem;
		flex-direction: column;
		gap: 1.6875rem;
		margin-bottom: 0;
		letter-spacing: 0.05em;
	}

	.page-service .reason__title::before,
	.page-service .reason__title::after {
		width: 100%;
	}

	.page-service .reason__title span {
		text-align: center;
		white-space: normal;
		width: 100%;
		padding: 0;
	}

	.page-service .reason__label {
		font-size: 0.625rem;
		margin-left: 0;
	}

	.page-service .reason__num {
		font-size: 1.6875rem;
	}

	.page-service .reason__item {
		padding: 1.125rem 0 1.125rem 0.875rem;
		align-items: center;
	}

	.page-service .reason__number {
		align-items: center;
	}

	.page-service .reason__text {
		font-size: 0.875rem;
		margin-left: 1.25rem;
		padding: 0;
	}

	.page-service .reason__highlight {
		font-size: 1.125rem;
	}

	.page-service .content {
		margin: 0 auto;
	}

	.page-service .image-grid {
		grid-template-columns: 1fr;
		gap: 0.75rem;
		margin-top: 0.75rem;
	}

	.page-service .image img {
		aspect-ratio: 690 / 386;
	}

	.page-service .message {
		text-align: left;
		margin-top: 3rem;
		font-size: 1rem;
	}

	.page-service .message p br {
		display: none;
	}

	.page-service .pc-only {
		display: none;
	}

	.page-service .course-wrapper {
		padding: 2rem 0.9375rem 1.4375rem;
		background-image: var(--bgImageSp);
	}

	.page-service .course__text {
		font-size: 0.875rem;
		margin-bottom: 0.75rem;
	}

	.page-service .course__image {
		width: 11.75rem;
	}

	.page-service .course__content {
		padding: 1.6875rem 3.6875rem;
	}

	.page-service .course__content::before {
		width: 2.5rem;
		height: 2.5rem;
		right: 0.0625rem;
		bottom: 0.0625rem;
	}

	.page-service .course__content::after {
		right: 0.75rem;
		bottom: 0.8125rem;
		width: 0.625rem;
		height: 0.625rem;
		border-width: 0.1875rem;
	}

	.page-service .course__arrow {
		right: 0.75rem;
		bottom: 1.125rem;
		width: 0.9375rem;
		height: 0.1875rem;
	}

	.page-service .course__note {
		margin-top: 0.6875rem;
	}

	.page-service .course__note-pc {
		display: none;
	}

	.page-service .course__note-sp {
		font-size: 0.75rem;
		display: inline;
	}

	.page-service .features {
		padding: 4.8125rem 0.9375rem 5.8125rem;
	}

	.page-service .features__heading {
		font-size: 1.4375rem;
		margin-bottom: 2.5rem;
	}

	.page-service .features__grid {
		grid-template-columns: 1fr;
		gap: 4.6875rem;
	}

	.page-service .features__icon {
		width: 6.5rem;
		height: auto;
		margin: 0 auto 1.125rem;
	}

	.page-service .features__icon img {
		width: 100%;
		height: auto;
	}

	.page-service .features__title {
		font-size: 1.1875rem;
		padding-bottom: 1.1875rem;
		margin-bottom: 1.1875rem;
	}

	.page-service .features__title::after {
		height: 0.3125rem;
	}

	.page-service .features__text {
		font-size: 0.875rem;
		line-height: calc(45 / 29);
	}

	.page-service .features__text-note {
		font-size: 0.8125rem;
	}
}

.service-page {
	width: 100%;
}

.page-header {
	width: 100%;
	padding: 5.625rem 0 5.1875rem;
	background-color: #fff;
}

.page-header__title {
	max-width: 91.5rem;
	width: 100%;
	margin: 4.5625rem 0 0;
	padding-left: max(3.75rem, min(14.25rem, calc((100vw - 91.5rem) / 2 + 3.75rem)));
	font-size: 6.25rem;
	font-weight: bold;
	font-family: 'Oswald', sans-serif;
}

.page-header__subtitle {
	display: block;
	font-size: 1.5rem;
	margin-top: -1.5rem;
	font-family: 'Noto Sans JP', sans-serif;
}

.breadcrumb {
	margin: 0;
	padding: 0;
}

.breadcrumb a {
	color: #171213;
	text-decoration: none;
	transition: opacity 0.3s ease;
}

.breadcrumb a:hover {
	opacity: 0.7;
}

.breadcrumb span {
	color: #171213;
}

.breadcrumb .breadcrumb__inner {
	padding-left: max(3.75rem, min(14.25rem, calc((100vw - 91.5rem) / 2 + 3.75rem)));
}

.eyecatch {
	width: 100%;
	height: auto;
	overflow: hidden;
}

.eyecatch__pc {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.eyecatch__sp {
	display: none;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.content {
	max-width: 75rem;
	margin: 0 auto;
}

.section {
	background-color: #fff;
	padding: 6.9375rem 0 11.8125rem;
}

.heading {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	color: #171213;
	font-size: 2.1875rem;
	font-weight: bold;
	margin-bottom: 3.4375rem;
}

.text {
	margin-bottom: 5.3125rem;
	font-size: 1.0625rem;
}

.text p {
	margin-bottom: 2.5rem;
	line-height: calc(37 / 17);
}

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

.image {
	width: 100%;
}

.image__pc {
	display: block;
	width: 100%;
	height: auto;
	vertical-align: bottom;
}

.image__sp {
	display: none;
	width: 100%;
	height: auto;
	vertical-align: bottom;
}

.area-wrapper {
	width: 100%;
	background-color: #f6f6f6;
	position: relative;
}

.area {
	width: 100%;
	padding: 6rem 0;
	background-image: var(--bgImage);
	background-repeat: no-repeat;
	background-position: right;
	background-size: 45% auto;
	min-height: 37.5rem;
}

.area__inner {
	max-width: 75rem;
	margin: 0 auto;
}

.area__content {
	width: 48.5%;
}

.area__image {
	width: 45%;
}

.area__image img {
	width: 100%;
	height: auto;
}

.area__title {
	font-size: 4.375rem;
	font-weight: bold;
	font-family: 'Oswald', sans-serif;
	margin-bottom: 2.75rem;
}

.area__subtitle {
	display: block;
	font-size: 1.5rem;
	margin-top: -1rem;
	font-family: 'Noto Sans JP', sans-serif;
}

.area__description {
	padding: 1rem 0;
	border-top: 0.1875rem solid #707070;
	border-bottom: 0.1875rem solid #707070;
	text-align: center;
	font-size: 1.25rem;
	font-weight: bold;
	margin-bottom: 1.5rem;
}

.area__grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 0.5rem;
	margin-bottom: 1.125rem;
}

.area__item {
	background-color: #001650;
	color: #ffffff;
	padding: 0.75rem 0;
	text-align: center;
	font-size: 1.0625rem;
	font-weight: bold;
}

.area__note {
	font-size: 0.9375rem;
	margin-bottom: 1.875rem;
}

.area__notice {
	font-size: 1.0625rem;
	border: 0.0625rem solid #707070;
	padding: 0.625rem 0;
	text-align: center;
}

@media (max-width: 768px) {
	.page-header {
		padding: 0;
	}

	.page-header__title {
		margin: calc(3.75rem + 1.5625rem) auto 2.5rem;
		padding: 0 0.9375rem;
		font-size: 3.4375rem;
	}

	.page-header__subtitle {
		font-size: 0.875rem;
		margin-top: -0.75rem;
	}

	.eyecatch__pc {
		display: none;
	}

	.eyecatch__sp {
		display: block;
	}

	.section {
		padding: 3.125rem 0.9375rem;
	}

	.heading {
		font-size: 1.125rem;
		margin-bottom: 2.1875rem;
		align-items: flex-start;
	}

	.heading img {
		width: 1.625rem;
		height: 1.625rem;
		vertical-align: bottom;
		margin-top: 0.45rem;
	}

	.text {
		margin-bottom: 2.625rem;
		font-size: 0.875rem;
	}

	.text p {
		margin-bottom: 1.25rem;
	}

	.text p br {
		display: none;
	}

	.area {
		background-image: none;
		padding-bottom: 0;
	}

	.area__content {
		width: 100%;
		padding: 0 0.9375rem;
	}

	.area__grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 0.4375rem;
		margin-bottom: 0.9375rem;
	}

	.area__title {
		font-size: 2.4375rem;
		margin-bottom: 2rem;
	}

	.area__subtitle {
		font-size: 0.875rem;
		margin-top: -0.5rem;
	}

	.area__description {
		border-top: 0.0625rem solid #707070;
		border-bottom: 0.0625rem solid #707070;
		font-size: 0.8125rem;
		padding: 0.875rem 0;
		margin-bottom: 1.6875rem;
	}

	.area__item {
		font-size: 0.8125rem;
		padding: 0.5rem 0;
	}

	.area__note {
		font-size: 0.75rem;
		text-align: center;
		margin-bottom: 1.0625rem;
	}

	.area__notice {
		font-size: 0.8125rem;
		padding: 0.375rem 0;
		margin-bottom: 2.9375rem;
	}

	.area::after {
		content: '';
		display: block;
		width: 100%;
		height: 23.4375rem;
		background-image: var(--bgImageSp);
		background-repeat: no-repeat;
		background-size: cover;
	}

	.image__pc {
		display: none;
	}

	.image__sp {
		display: block;
	}

	.breadcrumb .breadcrumb__inner {
		padding: 0 0.9375rem;
	}
}

.service-menu {
	padding: 7.75rem 0 8.125rem;
	background-color: #fff;
}

.service-menu__inner {
	max-width: 75rem;
	margin: 0 auto;
}

.service-menu__title {
	font-size: 4.375rem;
	font-weight: bold;
	font-family: 'Oswald', sans-serif;
	margin-bottom: 3.875rem;
}

.service-menu__subtitle {
	display: block;
	font-size: 1.5rem;
	margin-top: -1rem;
	font-family: 'Noto Sans JP', sans-serif;
}

.service-menu__grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 2rem;
}

.service-menu__item {
	text-decoration: none;
	color: #171213;
	position: relative;
}

.service-menu__image-wrapper {
	position: relative;
}

.service-menu__image {
	position: relative;
	overflow: hidden;
	aspect-ratio: 600 / 300;
}

.service-menu__image>img {
	width: 100%;
	height: 100%;
	display: block;
	object-fit: cover;
}

.service-menu__overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 22, 80, 0.7);
	transition: opacity 0.3s ease;
}

.service-menu__content {
	position: absolute;
	top: 45%;
	left: 50%;
	transform: translate(-50%, -50%);
	text-align: center;
	color: #fff;
	width: 100%;
	z-index: 1;
	transition:
		transform 0.3s ease,
		opacity 0.3s ease;
}

.service-menu__icon-wrap {
	width: 3.5rem;
	height: 3.5rem;
	margin: 0 auto 0.5rem;
	display: flex;
	align-items: center;
	justify-content: center;
}

.service-menu__icon {
	filter: brightness(0) invert(1);
	width: 3.125rem;
	height: 3.125rem;
}

.service-menu__text {
	display: block;
	font-size: 1.375rem;
	font-weight: bold;
	min-width: 100%;
}

.service-menu__bottom {
	display: flex;
	justify-content: space-between;
	align-items: center;
	position: relative;
	padding-top: 0.75rem;
	padding-bottom: 1rem;
	border-bottom: 0.1063rem solid #eee;
}

.service-menu__en {
	color: #eee;
	font-size: 2.875rem;
	font-family: 'Oswald', sans-serif;
	transition: opacity 0.3s ease;
	line-height: 1;
}

.service-menu__more {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	opacity: 0;
	transform: translateX(-1.25rem);
	transition:
		opacity 0.3s ease,
		transform 0.3s ease;
}

.service-menu__more-text {
	font-size: 1.875rem;
	font-weight: bold;
	font-family: 'Oswald', sans-serif;
	color: #171213;
}

.service-menu__more-sub {
	font-size: 0.8125rem;
	font-weight: bold;
	color: #171213;
}

.service-menu__item:hover .service-menu__overlay {
	opacity: 0;
}

.service-menu__item:hover .service-menu__en {
	opacity: 0;
}

.service-menu__item:hover .service-menu__content {
	transform: translate(-50%, 1.25rem);
	opacity: 0;
}

.service-menu__item:hover .service-menu__more {
	opacity: 1;
	transform: translateX(0);
}

@media (max-width: 768px) {
	.service-menu {
		padding: 3.125rem 0 4.6875rem;
	}

	.service-menu__inner {
		padding: 0 0.9375rem;
	}

	.service-menu__grid {
		grid-template-columns: 1fr;
		gap: 2.5rem;
	}

	.service-menu__title {
		font-size: 2.4375rem;
		margin-bottom: 2.8125rem;
	}

	.service-menu__subtitle {
		font-size: 0.875rem;
		margin-top: -0.5rem;
	}

	.service-menu__item {
		position: relative;
		padding-bottom: 1rem;
		border-bottom: 0.125rem solid #efefef;
	}

	.service-menu__image-wrapper {
		width: 100%;
		margin-bottom: 0.5rem;
	}

	.service-menu__image {
		aspect-ratio: 138 / 85;
	}

	.service-menu__overlay {
		display: none;
	}

	.service-menu__content {
		position: static;
		transform: none;
		display: flex;
		align-items: center;
		gap: 1rem;
		margin-top: 0.5rem;
		color: #171213;
	}

	.service-menu__icon-wrap {
		margin: 0;
		width: auto;
		height: 2.5rem;
	}

	.service-menu__icon {
		filter: brightness(0) saturate(100%) invert(12%) sepia(86%) saturate(2091%) hue-rotate(213deg) brightness(97%) contrast(98%);
		width: 2.5rem;
		height: auto;
	}

	.service-menu__text {
		font-size: 1rem;
		min-width: max-content;
		z-index: 1;
	}

	.service-menu__bottom {
		padding: 0;
		display: flex;
		justify-content: flex-end;
		align-items: center;
		position: absolute;
		bottom: 1.1rem;
		right: 0;
		border-bottom: none;
	}

	.service-menu__en {
		font-size: 2.1875rem;
		color: #eee;
	}

	.service-menu__more {
		display: none;
	}

	.service-menu__item:hover .service-menu__content {
		transform: none;
		opacity: 1;
	}

	.service-menu__item:hover .service-menu__en {
		opacity: 1;
	}
}

.reason {
	width: 100%;
	background-color: #001650;
	color: #fff;
	padding: 6.25rem 0;
}

.reason__inner {
	max-width: 56rem;
	margin: 0 auto;
}

.reason__title {
	font-size: 1.875rem;
	font-weight: bold;
	text-align: center;
	margin-bottom: 3rem;
	letter-spacing: 0.1em;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 1.5rem;
	width: 100%;
}

.reason__title::before,
.reason__title::after {
	content: '';
	height: 0.0625rem;
	background-color: #fff;
	flex: 1;
}

.reason__title span {
	white-space: nowrap;
	padding: 0 0.5rem;
}

.reason__list {
	list-style: none;
	padding: 0;
	margin: 0;
}

.reason__item {
	padding: 1.125rem 0 1.125rem 1.625rem;
	border-bottom: 0.15rem solid rgba(255, 255, 255, 0.29);
	display: flex;
	align-items: flex-start;
}

.reason__number {
	display: flex;
	flex-direction: column;
}

.reason__label {
	font-size: 1rem;
	margin-left: 0.35rem;
}

.reason__num {
	font-size: 2.75rem;
	font-family: 'Oswald', sans-serif;
	line-height: 1;
}

.reason__text {
	font-size: 1.4375rem;
	margin-left: 1.75rem;
	padding: 0.5rem 0;
}

.reason__highlight {
	font-size: 1.8125rem;
	font-weight: bold;
}

.sp-only {
	display: none;
}

@media (max-width: 768px) {
	.reason {
		padding: 3.5rem 0 3.875rem;
	}

	.reason__inner {
		padding: 0 0.9375rem;
	}

	.reason__title {
		font-size: 1.4375rem;
		flex-direction: column;
		gap: 1.6875rem;
		margin-bottom: 0;
		letter-spacing: 0.05em;
	}

	.reason__title::before,
	.reason__title::after {
		width: 100%;
	}

	.reason__title span {
		text-align: center;
		white-space: normal;
		width: 100%;
		padding: 0;
	}

	.reason__label {
		font-size: 0.625rem;
		margin-left: 0;
	}

	.reason__num {
		font-size: 1.6875rem;
	}

	.reason__item {
		padding: 1.125rem 0 1.125rem 0.875rem;
		align-items: center;
	}

	.reason__number {
		align-items: center;
	}

	.reason__text {
		font-size: 0.875rem;
		margin-left: 1.25rem;
		padding: 0;
	}

	.reason__highlight {
		font-size: 1.125rem;
	}

	.sp-only {
		display: block;
	}
}

/* ===== お知らせ（WP用） ===== */

.heading-container .breadcrumb .breadcrumb__inner {
	padding-left: 0;
}

:is(.blog, .single, .page-news) .news-container {
	max-width: 75rem;
	margin: 9.125rem auto 8.125rem;
	padding: 0;
}

@media (max-width: 1320px) {
	:is(.blog, .single, .page-news) .news-container {
		padding: 0 3.75rem;
	}
}

:is(.blog, .single, .page-news) .news-list {
	display: flex;
	flex-direction: column;
	gap: 1.875rem;
}

:is(.blog, .single, .page-news) .news-item {
	display: flex;
	padding-bottom: 1.875rem;
	border-bottom: 0.0625rem solid #eeeeee;
	gap: 1.875rem;
	align-items: flex-start;
}

:is(.blog, .single, .page-news) .news-item-header {
	display: flex;
	gap: 1.875rem;
	align-items: flex-start;
	flex-shrink: 0;
}

:is(.blog, .single, .page-news) .news-date {
	margin-top: 0.4375rem;
}

:is(.blog, .single, .page-news) .news-date time {
	color: #bcbcbc;
	font-family: 'Roboto', sans-serif;
	white-space: nowrap;
	font-size: 1.0625rem;
	font-weight: bold;
	line-height: calc(25 / 17);
}

:is(.blog, .single, .page-news) .news-category .category {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 8.75rem;
	padding: 0.375rem 0 0.3125rem;
	border: 0.0625rem solid #cccccc;
	color: #171213;
	font-size: 0.8125rem;
	text-align: center;
	white-space: normal;
	word-break: break-word;
	letter-spacing: 0;
	line-height: calc(19 / 13);
}

:is(.blog, .single, .page-news) .content {
	font-size: 1.0625rem;
	line-height: calc(25 / 17);
	white-space: pre-line;
	margin-top: 0.4375rem;
	margin-bottom: 0;
	flex: 1;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}

:is(.blog, .single, .page-news) .content-text {
	line-height: 1.6;
	white-space: pre-line;
}

:is(.blog, .single, .page-news) .content p,
:is(.blog, .single, .page-news) .content-text p {
	margin: 0;
	white-space: pre-line;
}

:is(.blog, .single, .page-news) .content a,
:is(.blog, .single, .page-news) .content-text a {
	color: #005dab;
	text-decoration: underline;
}

:is(.blog, .single, .page-news) .content ul,
:is(.blog, .single, .page-news) .content-text ul {
	margin: 0;
	padding-left: 1.5rem;
}

:is(.blog, .single, .page-news) .content li,
:is(.blog, .single, .page-news) .content-text li {
	margin-bottom: 0.5rem;
}

:is(.blog, .single, .page-news) .content li:last-child,
:is(.blog, .single, .page-news) .content-text li:last-child {
	margin-bottom: 0;
}

:is(.blog, .single, .page-news) .pdf-link {
	display: flex;
	align-items: flex-start;
	gap: 1.5rem;
	color: inherit;
	text-decoration: none;
	flex: 1;
	margin-top: 0.4375rem;
}

:is(.blog, .single, .page-news) .pdf-link .content-text {
	flex: 1;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}

:is(.blog, .single, .page-news) .pdf-link .pdf-icon {
	flex-shrink: 0;
	margin-top: 0.25rem;
}

:is(.blog, .single, .page-news) .pdf-link:hover {
	opacity: 0.8;
}

@media (max-width: 768px) {
	:is(.blog, .single, .page-news) .news-container {
		margin: 3.125rem auto 6.25rem;
		padding: 0;
	}

	:is(.blog, .single, .page-news) .news-list {
		padding: 0 0.9375rem;
	}

	:is(.blog, .single, .page-news) .news-item {
		flex-direction: column;
		padding: 0 0 1.5rem;
		gap: 1.25rem;
	}

	:is(.blog, .single, .page-news) .news-item-header {
		gap: 1rem;
	}

	:is(.blog, .single, .page-news) .news-date {
		margin-top: 0;
	}

	:is(.blog, .single, .page-news) .news-date time {
		font-size: 0.875rem;
	}

	:is(.blog, .single, .page-news) .news-category .category {
		width: 6.9375rem;
		font-size: 0.6875rem;
		padding: 0.1875rem 0 0.3125rem;
	}

	:is(.blog, .single, .page-news) .content,
	:is(.blog, .single, .page-news) .content-text {
		font-size: 0.875rem;
		line-height: 1.8;
	}

	:is(.blog, .single, .page-news) .content {
		margin-top: 0;
	}

	:is(.blog, .single, .page-news) .pdf-link {
		gap: 1rem;
		margin-top: 0;
		align-items: center;
	}

	:is(.blog, .single, .page-news) .pdf-link .pdf-icon {
		width: 1.5625rem;
		height: 1.5625rem;
		margin-top: 0;
	}
}

.heading-container {
	background: #001650;
	position: relative;
	overflow: hidden;
	padding: 5.625rem 0 0;
}

.heading-container::after {
	content: '';
	position: absolute;
	top: 60%;
	right: 0;
	width: 18.75rem;
	height: 18.75rem;
	transform: translateY(-50%);
	background-image: var(--bgImage);
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	mask-image: linear-gradient(to right, transparent, black);
	-webkit-mask-image: linear-gradient(to right, transparent, black);
}

.heading-content {
	max-width: 75rem;
	margin: 8rem auto 4.6875rem;
	position: relative;
	z-index: 2;
}

@media (max-width: 1320px) {
	.heading-content {
		padding-left: 3.75rem;
	}
}

h1 {
	color: #fff;
	font-size: 2.5rem;
	margin-bottom: 1.125rem;
}

.news-container {
	max-width: 75rem;
	margin: 9.125rem auto 8.125rem;
	padding: 0;
}

@media (max-width: 1320px) {
	.news-container {
		padding: 0 3.75rem;
	}
}

.news-list {
	display: flex;
	flex-direction: column;
	gap: 1.875rem;
}

.news-item {
	display: flex;
	padding-bottom: 1.875rem;
	border-bottom: 0.0625rem solid #eeeeee;
	gap: 1.875rem;
	align-items: flex-start;
}

.news-item-header {
	display: flex;
	gap: 1.875rem;
	align-items: flex-start;
	flex-shrink: 0;
}

.news-date {
	margin-top: 0.4375rem;
}

.news-date time {
	color: #bcbcbc;
	font-family: 'Roboto', sans-serif;
	white-space: nowrap;
	font-size: 1.0625rem;
	font-weight: bold;
	line-height: calc(25 / 17);
}

.news-category .category {
	display: inline-block;
	width: 8.75rem;
	padding: 0.375rem 0 0.3125rem;
	border: 0.0625rem solid #cccccc;
	color: #171213;
	font-size: 0.8125rem;
	text-align: center;
	white-space: normal;
	word-break: break-word;
	display: flex;
	align-items: center;
	justify-content: center;
	letter-spacing: 0;
	line-height: calc(19 / 13);
}

:is(.blog, .single, .page-news) .content {
	font-size: 1.0625rem;
	line-height: calc(25 / 17);
	white-space: pre-line;
	margin-top: 0.4375rem;
	flex: 1;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}

:is(.blog, .single, .page-news) .content-text {
	line-height: 1.6;
	white-space: pre-line;
}

:is(.blog, .single, .page-news) .content p,
:is(.blog, .single, .page-news) .content-text p {
	margin: 0;
	white-space: pre-line;
}

:is(.blog, .single, .page-news) .content a,
:is(.blog, .single, .page-news) .content-text a {
	color: #005dab;
	text-decoration: underline;
}

:is(.blog, .single, .page-news) .content ul,
:is(.blog, .single, .page-news) .content-text ul {
	margin: 0;
	padding-left: 1.5rem;
}

:is(.blog, .single, .page-news) .content li,
:is(.blog, .single, .page-news) .content-text li {
	margin-bottom: 0.5rem;
}

:is(.blog, .single, .page-news) .content li:last-child,
:is(.blog, .single, .page-news) .content-text li:last-child {
	margin-bottom: 0;
}

.pdf-link {
	display: flex;
	align-items: flex-start;
	gap: 1.5rem;
	color: inherit;
	text-decoration: none;
	flex: 1;
	margin-top: 0.4375rem;
}

.pdf-link .content-text {
	flex: 1;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}

.pdf-link .pdf-icon {
	flex-shrink: 0;
	margin-top: 0.25rem;
}

.pdf-link:hover {
	opacity: 0.8;
}

.load-more-container {
	margin: 6.25rem auto 0;
}

.load-more {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	padding: 1.25rem 0;
	background-color: #001650;
	color: #fff;
	border: none;
	font-size: 1.25rem;
	cursor: pointer;
	transition: background-color 0.3s;
	gap: 0.5rem;
}

.arrow-container {
	position: relative;
	width: 1.5rem;
	height: 1.5rem;
}

.arrow {
	position: absolute;
	left: 50%;
	top: 65%;
	transform: translate(-50%, -50%);
}

.arrow::before {
	content: '';
	position: absolute;
	width: 0.625rem;
	height: 0.625rem;
	border-top: 0.1875rem solid #fff;
	border-right: 0.1875rem solid #fff;
	transform: translate(-30%, -70%) rotate(135deg);
}

.arrow::after {
	content: '';
	position: absolute;
	width: 0.1875rem;
	height: 0.875rem;
	background-color: #fff;
	transform: translate(30%, -80%);
}

.load-more:hover {
	opacity: 0.7;
}

.heading-container .breadcrumb {
	background-color: transparent;
	margin: 0;
	padding: 0;
}

.heading-container .breadcrumb__link {
	color: #fff;
}

.heading-container .breadcrumb__current {
	color: #fff;
}

@media (max-width: 768px) {
	.heading-container .breadcrumb__inner {
		padding: 0;
	}

	.heading-container {
		padding: 3.125rem 0 0;
	}

	.heading-container::after {
		background-image: var(--bgImageSp);
		width: 9.375rem;
		height: 9.375rem;
		top: 62%;
		right: 0;
		background-size: contain;
	}

	.heading-content {
		margin: 0 auto;
		padding: 3.875rem 0.9375rem 2rem;
	}

	h1 {
		font-size: 1rem;
		margin-bottom: 0.5625rem;
	}

	.news-container {
		margin: 3.125rem auto 6.25rem;
		padding: 0;
	}

	.news-list {
		padding: 0 0.9375rem;
	}

	.news-item {
		flex-direction: column;
		padding: 0 0 1.5rem;
		gap: 1.25rem;
	}

	.news-item-header {
		gap: 1rem;
	}

	.news-date {
		margin-top: 0;
	}

	.news-date time {
		font-size: 0.875rem;
	}

	.news-category .category {
		width: 6.9375rem;
		font-size: 0.6875rem;
		padding: 0.1875rem 0 0.3125rem;
	}

	.content,
	.content-text {
		font-size: 0.875rem;
		line-height: 1.8;
	}

	.content {
		margin-top: 0;
	}

	.pdf-link {
		gap: 1rem;
		margin-top: 0;
		align-items: center;
	}

	.pdf-link .pdf-icon {
		width: 1.5625rem;
		height: 1.5625rem;
		margin-top: 0;
	}

	.load-more-container {
		margin: 3rem auto 0;
		padding: 0 0.9375rem;
	}

	.load-more {
		font-size: 0.875rem;
		padding: 0.875rem 0;
		gap: 1.25rem;
	}

	.arrow-container {
		width: 0.9375rem;
		height: 0.625rem;
	}

	.arrow::before {
		width: 0.375rem;
		height: 0.375rem;
		border-top: 0.125rem solid #fff;
		border-right: 0.125rem solid #fff;
	}

	.arrow::after {
		width: 0.125rem;
		height: 0.625rem;
	}
}

/* ===== 施工事例（WP用） ===== */

.heading-container .breadcrumb .breadcrumb__inner {
	padding-left: 0;
}

:is(.post-type-archive-works, .single-works) .category {
	background-color: #f6f6f6;
	padding: 3.375rem 0 3.8125rem;
}

@media (max-width: 77.5rem) {
	:is(.post-type-archive-works, .single-works) .category {
		padding: 2.25rem 0.9375rem 4.0625rem;
	}
}

:is(.post-type-archive-works, .single-works) .category__inner {
	max-width: 75rem;
	margin: 0 auto;
}

:is(.post-type-archive-works, .single-works) .category__title {
	line-height: 1.48;
	font-size: 3.125rem;
	font-weight: bold;
	font-family: 'Oswald', sans-serif;
}

@media (max-width: 77.5rem) {
	:is(.post-type-archive-works, .single-works) .category__title {
		font-size: 2.0938rem;
	}
}

:is(.post-type-archive-works, .single-works) .category__subtitle {
	display: block;
	font-size: 1.25rem;
	margin-top: -0.3125rem;
	font-family: 'Noto Sans JP', sans-serif;
}

@media (max-width: 77.5rem) {
	:is(.post-type-archive-works, .single-works) .category__subtitle {
		font-size: 0.75rem;
	}
}

:is(.post-type-archive-works, .single-works) .category__list {
	max-width: 75rem;
	margin: 1.25rem auto 0;
	border: 0.375rem solid #ececec;
	background-color: #fff;
	display: flex;
	gap: 1.125rem;
	padding: 3.75rem 3.125rem;
	box-sizing: border-box;
}

@media (max-width: 77.5rem) {
	:is(.post-type-archive-works, .single-works) .category__list {
		padding: 2.6563rem 2.75rem;
		flex-direction: column;
	}
}

:is(.post-type-archive-works, .single-works) .category__list__item {
	flex: 1;
	max-width: 18.625rem;
}

:is(.post-type-archive-works, .single-works) .category__list__item.all {
	width: 6.25rem;
	max-width: 9.375rem;
}

@media (max-width: 77.5rem) {
	:is(.post-type-archive-works, .single-works) .category__list__item.all {
		width: 100%;
		max-width: unset;
	}
}

:is(.post-type-archive-works, .single-works) .category__list__item.is-selected a {
	background-color: #001650;
	color: #fff;
	border-top-color: transparent;
	border-bottom-color: transparent;
	cursor: default;
	pointer-events: none;
}

:is(.post-type-archive-works, .single-works) .category__list__item a {
	color: #171213;
	text-decoration: none;
	text-align: center;
	display: block;
	font-size: 1.0625rem;
	font-weight: 600;
	position: relative;
	padding: 0.75rem 0;
	border-top: 0.375rem solid #ececec;
	border-bottom: 0.375rem solid #ececec;
	transition:
		border 0.2s,
		background-color 0.3s,
		color 0.3s;
}

@media (max-width: 77.5rem) {
	:is(.post-type-archive-works, .single-works) .category__list__item a {
		font-size: 0.9063rem;
		border-top-width: 0.3125rem;
		border-bottom-width: 0.3125rem;
	}
}

:is(.post-type-archive-works, .single-works) .category__list__item a:hover {
	background-color: #001650;
	color: #fff;
	border-top-color: transparent;
	border-bottom-color: transparent;
}

:is(.post-type-archive-works, .single-works) .category__list__item a .arrow-container {
	position: absolute;
	right: 1.125rem;
	top: 50%;
	transform: translateY(-50%);
	width: 1.3125rem;
	height: 1.3125rem;
	margin-left: 1.625rem;
}

:is(.post-type-archive-works, .single-works) .category__list__item a .arrow::before {
	border-color: #ececec;
}

:is(.post-type-archive-works, .single-works) .category__list__item a .arrow::after {
	background-color: #ececec;
}

:is(.post-type-archive-works, .single-works) .works-container {
	max-width: 75rem;
	margin: 5.3125rem auto 10rem;
	padding: 0;
}

@media (max-width: 1320px) {
	:is(.post-type-archive-works, .single-works) .works-container {
		padding: 0 0.9375rem;
	}
}

:is(.post-type-archive-works, .single-works) .works-container .current {
	font-size: 1.0625rem;
	font-weight: 600;
}

@media (max-width: 1320px) {
	:is(.post-type-archive-works, .single-works) .works-container .current {
		font-size: 0.9063rem;
	}
}

:is(.post-type-archive-works, .single-works) .works__list {
	display: flex;
	gap: 6.4375rem 2.8125rem;
	flex-wrap: wrap;
	margin-top: 2rem;
}

@media (max-width: 77.5rem) {
	:is(.post-type-archive-works, .single-works) .works__list {
		flex-direction: column;
		margin-top: 2.625rem;
	}
}

:is(.post-type-archive-works, .single-works) .works__list__item {
	width: 23.125rem;
}

@media (max-width: 77.5rem) {
	:is(.post-type-archive-works, .single-works) .works__list__item {
		width: 100%;
	}
}

:is(.post-type-archive-works, .single-works) .works__list__item img {
	width: 100%;
	height: auto;
	vertical-align: top;
}

:is(.post-type-archive-works, .single-works) .works__list__item a {
	color: #171213;
	text-decoration: none;
}

:is(.post-type-archive-works, .single-works) .works__list__item figcaption {
	margin-top: 1.625rem;
}

:is(.post-type-archive-works, .single-works) .works__list__item .title {
	font-weight: bold;
	font-size: 1.1875rem;
}

@media (max-width: 77.5rem) {
	:is(.post-type-archive-works, .single-works) .works__list__item .title {
		font-size: 1.0625rem;
	}
}

:is(.post-type-archive-works, .single-works) .details {
	display: flex;
	border-bottom: 0.1875rem solid #f2f2f2;
	padding-bottom: 0.625rem;
	margin-top: 1.25rem;
}

:is(.post-type-archive-works, .single-works) .details__title {
	font-size: 0.875rem;
	font-weight: bold;
	position: relative;
	padding-right: 1rem;
}

:is(.post-type-archive-works, .single-works) .details__title::before {
	content: '';
	margin-right: 0.4375rem;
	vertical-align: middle;
	display: inline-block;
	width: 0.8125rem;
	height: 0.8125rem;
	background-color: #001650;
}

:is(.post-type-archive-works, .single-works) .details__title::after {
	content: '';
	display: block;
	width: 100%;
	height: 0.1875rem;
	background-color: #dfdfdf;
	position: absolute;
	left: 0;
	bottom: -0.8125rem;
}

:is(.post-type-archive-works, .single-works) .details__description {
	font-size: 1rem;
}

:is(.post-type-archive-works, .single-works) .single-works-container {
	max-width: 75rem;
	margin: 5rem auto 8rem;
	padding: 0 0.9375rem;
}

:is(.post-type-archive-works, .single-works) .single-works__title {
	font-size: 1.75rem;
	font-weight: bold;
	margin-bottom: 1rem;
	line-height: 1.4;
}

:is(.post-type-archive-works, .single-works) .single-works__category {
	display: inline-block;
	padding: 0.25rem 1rem;
	border: 0.0625rem solid #cccccc;
	font-size: 0.875rem;
	margin-bottom: 2rem;
}

:is(.post-type-archive-works, .single-works) .single-works__thumbnail {
	margin-bottom: 2rem;
}

:is(.post-type-archive-works, .single-works) .single-works__thumbnail img {
	width: 100%;
	height: auto;
	display: block;
}

:is(.post-type-archive-works, .single-works) .single-works__details {
	margin-bottom: 2.5rem;
}

:is(.post-type-archive-works, .single-works) .single-works__content {
	font-size: 1rem;
	line-height: 1.8;
	margin-bottom: 3rem;
}

:is(.post-type-archive-works, .single-works) .single-works__back {
	margin-top: 2rem;
}

@media (max-width: 768px) {
	:is(.post-type-archive-works, .single-works) .single-works-container {
		margin: 2.5rem auto 5rem;
	}

	:is(.post-type-archive-works, .single-works) .single-works__title {
		font-size: 1.25rem;
	}
}

.heading-container {
	background: #001650;
	position: relative;
	overflow: hidden;
	padding: 5.625rem 0 0;
}

.heading-container::after {
	content: '';
	position: absolute;
	top: 60%;
	right: 0;
	width: 18.75rem;
	height: 18.75rem;
	transform: translateY(-50%);
	background-image: var(--bgImage);
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	mask-image: linear-gradient(to right, transparent, black);
	-webkit-mask-image: linear-gradient(to right, transparent, black);
}

.heading-content {
	max-width: 75rem;
	margin: 8rem auto 4.6875rem;
	position: relative;
	z-index: 2;
}

@media (max-width: 1320px) {
	.heading-content {
		padding-left: 3.75rem;
	}
}

h1 {
	color: #fff;
	font-size: 2.5rem;
	margin-bottom: 1.125rem;
}

.category {
	background-color: #ffffff;
	padding: 3.375rem 0 3.8125rem;
}

@media (max-width: 77.5rem) {
	.category {
		padding: 2.25rem 0.9375rem 4.0625rem;
	}
}

.category__inner {
	max-width: 75rem;
	margin: 0 auto;
}

.category__title {
	line-height: 1.48;
	font-size: 3.125rem;
	font-weight: bold;
	font-family: 'Oswald', sans-serif;
}

@media (max-width: 77.5rem) {
	.category__title {
		font-size: 2.0938rem;
	}
}

.category__subtitle {
	display: block;
	font-size: 1.25rem;
	margin-top: -0.3125rem;
	font-family: 'Noto Sans JP', sans-serif;
}

@media (max-width: 77.5rem) {
	.category__subtitle {
		font-size: 0.75rem;
	}
}

.category__list {
	max-width: 75rem;
	margin: 1.25rem auto 0;
	border: 0.375rem solid #ececec;
	background-color: #fff;
	display: flex;
	gap: 1.125rem;
	padding: 3.75rem 3.125rem;
	box-sizing: border-box;
}

@media (max-width: 77.5rem) {
	.category__list {
		padding: 2.6563rem 2.75rem;
		flex-direction: column;
	}
}

.category__list__item {
	flex: 1;
	max-width: 18.625rem;
}

.category__list__item.all {
	width: 6.25rem;
	max-width: 9.375rem;
}

@media (max-width: 77.5rem) {
	.category__list__item.all {
		width: 100%;
		max-width: unset;
	}
}

.category__list__item.bathroom-vanity-toilet a .arrow-container {
	position: relative;
	margin-left: 1.875rem;
	transform: unset;
}

.category__list__item.is-selected a {
	background-color: #001650;
	color: #fff;
	border-top-color: transparent;
	border-bottom-color: transparent;
	cursor: default;
	pointer-events: none;
}

.category__list__item a {
	color: #171213;
	text-decoration: none;
	text-align: center;
	display: block;
	font-size: 1.0625rem;
	padding: 0.75rem 0;
	font-size: 17px;
	font-weight: 600;
	position: relative;
	border-top: 0.375rem solid #ececec;
	border-bottom: 0.375rem solid #ececec;
	transition:
		border 0.2s,
		background-color 0.3s,
		color 0.3s;
}

@media (max-width: 77.5rem) {
	.category__list__item a {
		font-size: 0.9063rem;
		border-top-width: 0.3125rem;
		border-bottom-width: 0.3125rem;
	}
}

.category__list__item a:hover {
	background-color: #001650;
	color: #fff;
	border-top-color: transparent;
	border-bottom-color: transparent;
}

.category__list__item a .arrow-container {
	position: absolute;
	right: 1.125rem;
	top: 50%;
	transform: translateY(-50%);
	width: 1.3125rem;
	height: 1.3125rem;
	margin-left: 1.625rem;
}

.category__list__item a .arrow-container .arrow::before {
	border-color: #ececec;
}

.category__list__item a .arrow-container .arrow::after {
	background-color: #ececec;
}

.works-container {
	max-width: 75rem;
	margin: 5.3125rem auto 10rem;
	padding: 0;
}

@media (max-width: 1320px) {
	.works-container {
		padding: 0 0.9375rem;
		margin-bottom: 4.6875rem;
	}
}

.works-container .current {
	font-size: 1.0625rem;
	font-weight: 600;
}

@media (max-width: 1320px) {
	.works-container .current {
		font-size: 0.9063rem;
	}
}

.works-container .works__list {
	display: flex;
	gap: 6.4375rem 2.8125rem;
	flex-wrap: wrap;
	margin-top: 2rem;
}

@media (max-width: 77.5rem) {
	.works-container .works__list {
		flex-direction: column;
		margin-top: 2.625rem;
		gap: 4.6875rem;
	}
}

.works-container .works__list__item {
	width: 23.125rem;
}

@media (max-width: 77.5rem) {
	.works-container .works__list__item {
		width: 100%;
	}

	.works-container .works__list__item img {
		width: 345px !important;
		height: 345px !important;
	}
}

.works-container .works__list__item img {
	width: 23.125rem;
	height: 23.125rem;
	object-fit: cover;
	vertical-align: top;
}

.works-container .works__list__item a {
	color: #171213;
	text-decoration: none;
}

.works-container .works__list__item figcaption {
	margin-top: 1.625rem;
}

.works-container .works__list__item .title {
	font-weight: bold;
	font-size: 1.1875rem;
}

@media (max-width: 77.5rem) {
	.works-container .works__list__item .title {
		font-size: 1.0625rem;
	}
}

.works-container .works__list__item .details {
	display: flex;
	border-bottom: 0.1875rem solid #f2f2f2;
	padding-bottom: 0.625rem;
	margin-top: 1.25rem;
}

@media (max-width: 77.5rem) {
	.works-container .works__list__item .details {
		flex-direction: column;
		position: relative;
		padding-bottom: 1.4063rem;
	}
}

.works-container .works__list__item .details__title {
	font-size: 0.875rem;
	font-weight: bold;
	position: relative;
	padding-right: 1rem;
}

@media (max-width: 77.5rem) {
	.works-container .works__list__item .details__title {
		font-size: 0.9375rem;
		position: static;
	}
}

.works-container .works__list__item .details__title::before {
	content: '';
	margin-right: 0.4375rem;
	vertical-align: middle;
	display: inline-block;
	width: 0.8125rem;
	height: 0.8125rem;
	background-color: #001650;
}

.works-container .works__list__item .details__title::after {
	content: '';
	display: block;
	width: 100%;
	height: 0.1875rem;
	background-color: #dfdfdf;
	position: absolute;
	left: 0;
	bottom: -0.8125rem;
}

@media (max-width: 77.5rem) {
	.works-container .works__list__item .details__title::after {
		width: 5.8125rem;
		bottom: -0.1875rem;
	}
}

.works-container .works__list__item .details__description {
	font-size: 1rem;
}

@media (max-width: 77.5rem) {
	.works-container .works__list__item .details__description {
		font-size: 0.9063rem;
		margin-top: 0.625rem;
	}
}

.load-more-container {
	margin: 6.25rem auto 0;
}

.load-more {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	padding: 1.25rem 0;
	background-color: #001650;
	color: #fff;
	border: none;
	font-size: 1.25rem;
	cursor: pointer;
	transition: background-color 0.3s;
	gap: 0.5rem;
}

.arrow-container {
	position: relative;
	width: 1.5rem;
	height: 1.5rem;
}

.arrow {
	position: absolute;
	left: 50%;
	top: 65%;
	transform: translate(-50%, -50%);
}

.arrow::before {
	content: '';
	position: absolute;
	width: 0.625rem;
	height: 0.625rem;
	border-top: 0.1875rem solid #fff;
	border-right: 0.1875rem solid #fff;
	transform: translate(-30%, -70%) rotate(135deg);
}

.arrow::after {
	content: '';
	position: absolute;
	width: 0.1875rem;
	height: 0.875rem;
	background-color: #fff;
	transform: translate(30%, -80%);
}

.load-more:hover {
	opacity: 0.7;
}

.heading-container .breadcrumb {
	background-color: transparent;
	margin: 0;
	padding: 0;
}

.heading-container .breadcrumb__link {
	color: #fff;
}

.heading-container .breadcrumb__current {
	color: #fff;
}

@media (max-width: 768px) {
	.heading-container .breadcrumb__inner {
		padding: 0;
	}

	.heading-container {
		padding: 3.125rem 0 0;
	}

	.heading-container::after {
		background-image: var(--bgImageSp);
		width: 9.375rem;
		height: 9.375rem;
		top: 62%;
		right: 0;
		background-size: contain;
	}

	.heading-content {
		margin: 0 auto;
		padding: 3.875rem 0.9375rem 2rem;
	}

	h1 {
		font-size: 1rem;
		margin-bottom: 0.5625rem;
	}

	.news-container {
		margin: 3.125rem auto 6.25rem;
		padding: 0;
	}

	.news-list {
		padding: 0 0.9375rem;
	}

	.news-item {
		flex-direction: column;
		padding: 0 0 1.5rem;
		gap: 1.25rem;
	}

	.news-item-header {
		gap: 1rem;
	}

	.news-date {
		margin-top: 0;
	}

	.news-date time {
		font-size: 0.875rem;
	}

	.news-category .category {
		width: 6.9375rem;
		font-size: 0.6875rem;
		padding: 0.1875rem 0 0.3125rem;
	}

	.content,
	.content-text {
		font-size: 0.875rem;
		line-height: 1.8;
	}

	.content {
		margin-top: 0;
	}

	.pdf-link {
		gap: 1rem;
		margin-top: 0;
		align-items: center;
	}

	.pdf-link .pdf-icon {
		width: 1.5625rem;
		height: 1.5625rem;
		margin-top: 0;
	}

	.load-more-container {
		margin: 3rem auto 0;
		padding: 0 0.9375rem;
	}

	.load-more {
		font-size: 0.875rem;
		padding: 0.875rem 0;
		gap: 1.25rem;
	}

	.arrow-container {
		width: 1.3125rem;
		height: 0.625rem;
	}

	.arrow::before {
		width: 0.4375rem;
		height: 0.4375rem;
		border-top: 0.125rem solid #fff;
		border-right: 0.125rem solid #fff;
	}

	.arrow::after {
		width: 0.125rem;
		height: 0.625rem;
	}
}

.parallax-wrapper {
	position: relative;
	height: 100vh;
	overflow: hidden;
}

.parallax-bg {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	background-image: var(--pcBgImage);
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	z-index: -1;
}

.main-visual .content {
	position: relative;
	z-index: 1;
}

.main-visual .content {
	position: relative;
	color: #fff;
	text-align: left;
	z-index: 2;
	height: 100vh;
	display: flex;
	flex-direction: column;
	padding: 0 7.1875rem;
}

.main-visual .content h2 {
	margin: calc(5.625rem + 7.3125rem) 0 0;
}

.main-visual .content h2 img {
	margin: 0;
}

.main-visual .content p {
	font-size: 1.2rem;
	margin: 0;
}

.scroll {
	position: absolute;
	bottom: 0;
	right: 3.3125rem;
	display: flex;
	flex-direction: column;
	align-items: center;
	z-index: 2;
}

.scroll-text {
	color: #fff;
	font-size: 0.9375rem;
	font-family: 'Oswald', sans-serif;
	writing-mode: vertical-rl;
	text-orientation: mixed;
	letter-spacing: 0;
	margin-bottom: 0.625rem;
}

.scroll-line {
	width: 0.0625rem;
	height: 5rem;
	background-color: transparent;
	position: relative;
	overflow: hidden;
}

.scroll-line::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #fff;
	animation: scrollDown 1.5s cubic-bezier(0.4, 0, 0.2, 1) infinite;
}

@keyframes scrollDown {
	0% {
		transform: translateY(-100%);
		opacity: 0;
	}

	20% {
		transform: translateY(0);
		opacity: 1;
	}

	100% {
		transform: translateY(100%);
		opacity: 0;
	}
}

.news-banner {
	position: absolute;
	bottom: 3rem;
	left: 7.1875rem;
	display: flex;
	align-items: stretch;
	background: transparent;
	max-width: 50rem;
	height: 4rem;
}

.news-banner-main {
	display: flex;
	flex: 1;
}

.pc-only {
	display: flex;
}

.news-more.sp-only {
	display: none;
}

.news-label {
	color: #fff;
	padding: 0 1.25rem 0 0;
	display: flex;
	flex-direction: column;
	justify-content: center;
	background: transparent;
	position: relative;
}

.news-label::after {
	content: '';
	position: absolute;
	right: 0;
	top: 0.5rem;
	height: 3.125rem;
	width: 0.0625rem;
	background-color: #fff;
}

.news-label-en {
	font-size: 1.9375rem;
	font-weight: bold;
}

.news-label-jp {
	font-size: 0.9375rem;
	margin-top: -0.625rem;
}

.news-content {
	padding: 0.75rem 1.25rem;
	flex-grow: 1;
}

.news-content .pc-only {
	display: block;
}

.news-content .sp-only {
	display: none;
}

.news-content time {
	text-align: left;
	display: block;
	color: #fff;
	font-size: 0.875rem;
	font-weight: bold;
}

.news-content p {
	color: #fff;
	margin: 0;
	font-size: 0.875rem;
}

.news-more {
	color: #fff;
	padding: 1.5rem 1.25rem 0;
	display: flex;
	flex-direction: row;
	justify-content: center;
	align-items: center;
	gap: 0.625rem;
	min-width: 7.5rem;
	transition: opacity 0.3s;
	cursor: pointer;
	background: transparent;
}

.news-more a {
	color: #fff;
	text-decoration: none;
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: 0.625rem;
}

.news-more:hover {
	opacity: 0.8;
}

.news-more-jp {
	font-size: 0.875rem;
	font-weight: bold;
}

.news-more-en {
	font-size: 1.0625rem;
	font-weight: bold;
}

.fade-in-element {
	opacity: 0;
	transform: translateY(1.25rem);
}

h2.fade-in-element {
	animation: fadeInUp 2s ease forwards;
}

.news-banner.fade-in-element {
	animation: fadeInUp 1s ease forwards 2s;
}

.scroll.fade-in-element {
	animation: fadeInUp 1s ease forwards 2s;
}

@keyframes fadeInUp {
	from {
		opacity: 0;
		transform: translateY(1.25rem);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@media (max-width: 768px) {
	.parallax-wrapper {
		height: 100svh;
	}

	.pc-only {
		display: none;
	}

	.news-more.sp-only {
		display: flex;
	}

	.parallax-bg {
		background-image: var(--spBgImage);
		height: 100svh;
		position: absolute;
		z-index: 0;
	}

	.main-visual .content {
		justify-content: flex-start;
		padding: 0 0.9375rem;
		height: 100svh;
	}

	.main-visual .content h2 {
		margin: calc(3.75rem + 1.0625rem) 0 0;
	}

	.main-visual .content h2 img {
		width: 100%;
		height: auto;
	}

	.news-banner {
		position: absolute;
		left: 0;
		bottom: 7rem;
		width: 92.5%;
		margin: 0 auto;
	}

	.news-banner-main {
		width: 100%;
		align-items: flex-start;
		margin: 0 0.9375rem;
	}

	.news-label {
		flex-direction: column;
		justify-content: flex-start;
		padding: 0 0.625rem 0 0;
		border-right: none;
	}

	.news-label::after {
		display: none;
	}

	.news-content {
		padding: 0 0 0 0.8125rem;
		flex: 1;
		display: flex;
		flex-direction: column;
		justify-content: flex-start;
		border-left: 0.0625rem solid #fff;
	}

	.news-content .pc-only {
		display: none;
	}

	.news-content .sp-only {
		display: block;
	}

	.news-content time {
		font-size: 0.8125rem;
	}

	.news-content p {
		font-size: 0.75rem;
		display: -webkit-box;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 2;
		overflow: hidden;
	}

	.news-content .news-more {
		margin-top: 0.3125rem;
		padding: 0;
		justify-content: flex-start;
	}

	.news-label-en {
		margin-bottom: 0;
		font-size: 1.4375rem;
	}

	.news-label-jp {
		margin-top: 0;
		font-size: 0.625rem;
	}

	.news-more-en {
		font-seze: 1.0625rem;
	}

	.news-more-jp {
		font-size: 0.625rem;
	}

	.scroll {
		right: 0.9375rem;
		bottom: 5rem;
	}

	.scroll-text {
		font-size: 0.8rem;
	}

	.scroll-line {
		height: 4.6875rem;
	}
}

.mission-wrapper {
	position: relative;
	z-index: 0;
	color: #ffffff;
}

.mission-wrapper::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 22, 80, 0.85);
	mix-blend-mode: multiply;
	z-index: -1;
}

.mission-content {
	max-width: 75rem;
	margin: 0 auto;
	padding: 12.6875rem 0rem;
}

.mission-heading {
	font-size: 2.1875rem;
	font-weight: bold;
	margin-bottom: 7.5rem;
	line-height: calc(60 / 35);
	letter-spacing: 0.1em;
}

.mission-text p {
	font-size: 1.25rem;
	font-weight: bold;
	line-height: calc(29 / 20);
}

.pc-only {
	display: block;
}

.sp-only {
	display: none;
}

@media (max-width: 768px) {
	.mission-content {
		padding: 6rem 0.9375rem 4.375rem;
	}

	.mission-heading {
		font-size: 1.0625rem;
		margin-bottom: 3rem;
		letter-spacing: 0.15em;
	}

	.mission-text p {
		font-size: 0.875rem;
		line-height: calc(63 / 29);
	}

	.pc-only {
		display: none;
	}

	.sp-only {
		display: block;
	}
}

.service {
	padding: 9.1875rem 0 10.25rem;
	background-color: #fff;
}

.service__inner {
	max-width: 75rem;
	margin: 0 auto;
}

.service__title {
	font-size: 5.625rem;
	font-weight: bold;
	margin-bottom: 3.125rem;
	font-family: 'Oswald', sans-serif;
}

.service__subtitle {
	display: block;
	font-size: 1.5rem;
	margin-top: -1.5rem;
	font-family: 'Noto Sans JP', sans-serif;
}

.service__text {
	font-size: 1.0625rem;
	max-width: 50rem;
	line-height: 1.8;
	margin-bottom: 2.125rem;
}

.service__link {
	text-align: center;
	margin-bottom: 2.0625rem;
	font-size: 1.25rem;
}

.service__more {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-weight: bold;
	width: 100%;
	gap: 1rem;
	color: #333;
	text-decoration: none;
	padding: 1rem 2rem;
	position: relative;

	&::before,
	&::after {
		content: '';
		position: absolute;
		left: 0;
		width: 100%;
		height: 0.375rem;
		background: linear-gradient(to right, #001650 50%, #ececec 50%);
		background-size: 200% 100%;
		background-position: right bottom;
		transition: all 0.3s ease;
	}

	&::before {
		top: 0;
	}

	&::after {
		bottom: 0;
	}

	transition: all 0.3s ease;
	background: linear-gradient(to right, #001650 50%, transparent 50%);
	background-size: 200% 100%;
	background-position: right bottom;
}

.service__more:hover {
	background-position: left bottom;
	color: #ffffff;

	&::before,
	&::after {
		background-position: left bottom;
	}
}

.service__more-icon {
	transition: filter 0.3s ease;
	position: absolute;
	right: 2rem;
}

.service__content {
	display: grid;
	grid-template-columns: 49.25% 1fr;
	gap: 8.0625rem;
	align-items: stretch;
}

.service__content-left {
	display: flex;
	flex-direction: column;
	width: 100%;
}

.service__content-right {
	position: relative;
	min-height: 0;
	margin-right: calc(((100vw - 75rem) / 2) * -1);
	min-height: 37.5rem;
}

.service__image {
	width: 100%;
	height: 100%;
	object-fit: cover;
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.1);
	opacity: 0;
	transition: opacity 0.3s ease;
}

.service__image--active {
	opacity: 1;
}

.service__menu {
	display: flex;
	flex-direction: column;
}

.service__menu-item {
	display: flex;
	align-items: center;
	padding: 2rem 0;
	background-color: #fff;
	border-bottom: 0.125rem solid #efefef;
	text-decoration: none;
	color: #333;
	transition: opacity 0.3s ease;
	gap: 1rem;
	position: relative;
}

.service__menu-item:hover {
	color: #002179;
}

.service__menu-item:hover .service__menu-text-ja {
	color: #171213;
}

.service__menu-icon {
	width: 2.5rem;
	height: 2.5rem;
}

.service__menu-item:hover .service__menu-icon {
	filter: brightness(0) saturate(100%) invert(13%) sepia(88%) saturate(2563%) hue-rotate(212deg) brightness(92%) contrast(101%);
}

.service__menu-text {
	position: relative;
	display: flex;
	flex-direction: column;
	width: 100%;
}

.service__menu-text-ja {
	font-size: 1.2rem;
	font-weight: bold;
	position: relative;
	z-index: 1;
}

.service__menu-text-en {
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	font-size: 4.375rem;
	color: #f2f2f2;
	font-family: 'Oswald', sans-serif;
	font-weight: 500;
	z-index: 0;
	transition:
		transform 0.3s ease,
		opacity 0.3s ease;
}

.service__menu-item:hover .service__menu-text-en {
	transform: translateX(-1.25rem) translateY(-50%);
	opacity: 0;
}

.service__menu-text::after {
	content: 'VIEW MORE';
	font-size: 1.875rem;
	font-weight: bold;
	position: absolute;
	right: 0;
	top: calc(50% - 0.8rem);
	transform: translateY(-50%) translateX(-1.25rem);
	opacity: 0;
	transition:
		transform 0.3s ease,
		opacity 0.3s ease;
	text-align: right;
	color: #171213;
	font-family: 'Oswald', sans-serif;
}

.service__menu-item:hover .service__menu-text::after {
	transform: translateY(-50%) translateX(0);
	opacity: 1;
}

.service__menu-text::before {
	content: 'もっと見る';
	position: absolute;
	right: 13%;
	top: calc(50% + 0.8rem);
	transform: translateY(-50%) translateX(-1.25rem);
	opacity: 0;
	transition:
		transform 0.3s ease,
		opacity 0.3s ease;
	font-size: 0.875rem;
	font-weight: bold;
	color: #171213;
	font-family: 'Noto Sans JP', sans-serif;
}

.service__menu-item:hover .service__menu-text::before {
	transform: translateY(-50%) translateX(0);
	opacity: 1;
}

@media (max-width: 1240px) {
	.service__content-right {
		margin-right: -1.25rem;
	}
}

@media (max-width: 768px) {
	.service__content {
		grid-template-columns: 1fr;
		gap: 2rem;
	}

	.service__content-right {
		position: static;
		order: -1;
		margin-right: -1.25rem;
		margin-left: -1.25rem;
	}

	.service__image {
		position: static;
		height: auto;
		aspect-ratio: 842 / 682;
	}

	.service {
		display: none;
	}
}

.service-sp {
	display: none;
	padding: 4.875rem 0.9375rem 5rem;
	background-color: #fff;
}

.service-sp__inner {
	max-width: 100%;
}

.service-sp__title {
	font-size: 2.75rem;
	font-weight: bold;
	margin-bottom: 2.125rem;
	font-family: 'Oswald', sans-serif;
}

.service-sp__subtitle {
	display: block;
	font-size: 0.875rem;
	margin-top: -0.75rem;
	font-family: 'Noto Sans JP', sans-serif;
}

.service-sp__text {
	font-size: 0.875rem;
	line-height: calc(53 / 29);
	margin-bottom: 2.125rem;
}

.service-sp__link {
	text-align: center;
	margin-bottom: 4.6875rem;
}

.service-sp__more {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 0.875rem;
	font-weight: bold;
	width: 100%;
	gap: 1rem;
	color: #ffffff;
	text-decoration: none;
	padding: 0.875rem 0;
	position: relative;
	background: #001650;

	&::before,
	&::after {
		content: '';
		position: absolute;
		left: 0;
		width: 100%;
		height: 0.1875rem;
		background: #001650;
	}

	&::before {
		top: 0;
	}

	&::after {
		bottom: 0;
	}
}

.service-sp__more:hover {
	color: #ffffff;
}

.service-sp__more-icon {
	position: absolute;
	right: 0.6875rem;
}

.service-sp__menu {
	display: flex;
	flex-direction: column;
	gap: 2.5rem;
}

.service-sp__menu-item {
	text-decoration: none;
	color: #171213;
	position: relative;
	padding-bottom: 1rem;
	border-bottom: 0.125rem solid #efefef;
}

.service-sp__menu-image-wrapper {
	width: 100%;
	position: relative;
}

.service-sp__menu-image {
	position: relative;
	overflow: hidden;
	aspect-ratio: 138 / 85;
}

.service-sp__menu-image>img {
	width: 100%;
	height: 100%;
	display: block;
	object-fit: cover;
}

.service-sp__menu-overlay {
	display: none;
}

.service-sp__menu-content {
	display: flex;
	align-items: center;
	gap: 1rem;
	z-index: 1;
	margin-top: 0.5rem;
}

.service-sp__menu-icon-wrap {
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0;
	height: 2.5rem;
}

.service-sp__menu-icon {
	filter: brightness(0) saturate(100%) invert(12%) sepia(86%) saturate(2091%) hue-rotate(213deg) brightness(97%) contrast(98%);
	width: 2.5rem;
	height: auto;
}

.service-sp__menu-text {
	font-size: 1rem;
	font-weight: bold;
	color: #171213;
	z-index: 1;
}

.service-sp__menu-bottom {
	padding: 0;
	display: flex;
	justify-content: flex-end;
	align-items: center;
	position: absolute;
	bottom: 0.6rem;
	right: 0;
}

.service-sp__menu-en {
	font-size: 2.1875rem;
	color: #eee;
	font-family: 'Oswald', sans-serif;
}

@media (max-width: 768px) {
	.service-sp {
		display: block;
	}
}

.works {
	padding: 3.1875rem 0 8.5625rem;
	background-color: #fff;
}

@media (max-width: 77.5rem) {
	.works {
		padding: 1.25rem 0.9375rem 5rem;
	}
}

.works__inner {
	max-width: 75rem;
	margin: 0 auto;
	position: relative;
}

.works__content {
	position: relative;
}

.works__swiper {
	overflow: visible;
}

.works__title {
	font-size: 5.625rem;
	font-weight: bold;
	margin-bottom: 3.125rem;
	font-family: 'Oswald', sans-serif;
}

@media (max-width: 77.5rem) {
	.works__title {
		font-size: 2.75rem;
		margin-bottom: 2.125rem;
	}
}

.works__subtitle {
	display: block;
	font-size: 1.5rem;
	margin-top: -1.5rem;
	font-family: 'Noto Sans JP', sans-serif;
}

@media (max-width: 77.5rem) {
	.works__subtitle {
		font-size: 0.875rem;
		margin-top: -0.75rem;
	}
}

.works__list__item img {
	width: 100%;
	height: auto;
	vertical-align: top;
}

.works__list__item a {
	color: #171213;
	text-decoration: none;
}

.works__list__item figcaption {
	margin-top: 1.625rem;
}

.works__list__item .details {
	display: flex;
	border-bottom: 0.1875rem solid #f2f2f2;
	padding-bottom: 0.625rem;
}

.works__list__item .details__description {
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
	max-width: 9em;
}

.works__list__item .details__title {
	font-size: 1rem;
	font-weight: bold;
	position: relative;
	padding-right: 1rem;
}

.works__list__item .details__title::before {
	content: '';
	margin-right: 0.4375rem;
	vertical-align: middle;
	display: inline-block;
	width: 0.8125rem;
	height: 0.8125rem;
	background-color: #001650;
}

.works__list__item .details__title::after {
	content: '';
	display: block;
	width: 100%;
	height: 0.1875rem;
	background-color: #dfdfdf;
	position: absolute;
	left: 0;
	bottom: -0.8125rem;
}

.works .swiper-button-prev,
.works .swiper-button-next {
	width: 3.75rem;
	height: 3.75rem;
	background: none;
	border: none;
	cursor: pointer;
}

@media (max-width: 77.5rem) {

	.works .swiper-button-prev,
	.works .swiper-button-next {
		width: 2.5rem;
		height: 2.5rem;
	}
}

/*
.works .swiper-horizontal .swiper-button-next,
.works .swiper-horizontal~.swiper-button-next,
.works .swiper-horizontal.swiper-rtl .swiper-button-prev,
.works .swiper-horizontal.swiper-rtl~.swiper-button-prev {
	top: 9.6875rem;
	right: -1.875rem;
	margin-top: unset;
}
	*/

@media (max-width: 77.5rem) {

	.works .swiper-horizontal .swiper-button-next,
	.works .swiper-horizontal~.swiper-button-next,
	.works .swiper-horizontal.swiper-rtl .swiper-button-prev,
	.works .swiper-horizontal.swiper-rtl~.swiper-button-prev {
		top: 6.3438rem;
		right: 1.25rem;
	}
}

/*
.works .swiper-horizontal .swiper-button-prev,
.works .swiper-horizontal~.swiper-button-prev,
.works .swiper-horizontal.swiper-rtl .swiper-button-next,
.works .swiper-horizontal.swiper-rtl~.swiper-button-next {
	top: 9.6875rem;
	left: -1.875rem;
	margin-top: unset;
}*/

@media (max-width: 77.5rem) {

	.works .swiper-horizontal .swiper-button-prev,
	.works .swiper-horizontal~.swiper-button-prev,
	.works .swiper-horizontal.swiper-rtl .swiper-button-next,
	.works .swiper-horizontal.swiper-rtl~.swiper-button-next {
		top: 6.3438rem;
		left: 1.25rem;
	}
}

.works__more {
	font-size: 2.5rem;
	font-weight: bold;
	font-family: 'Oswald', sans-serif;
	position: absolute;
	right: 0;
	top: 5.125rem;
}

@media (max-width: 77.5rem) {
	.works__more {
		font-size: 1.3438rem;
		position: static;
		text-align: center;
		margin-top: 3.125rem;
	}
}

.works__more__subtitle {
	display: block;
	font-size: 0.875rem;
	margin-top: -0.625rem;
	font-family: 'Noto Sans JP', sans-serif;
}

@media (max-width: 77.5rem) {
	.works__more__subtitle {
		font-size: 0.625rem;
		display: inline-block;
		margin-left: 0.3125rem;
	}
}

.works__more a {
	color: #171213;
	text-decoration: none;
}

@media (max-width: 77.5rem) {
	.works__content-right {
		margin-right: -1.25rem;
	}
}

@media (max-width: 48rem) {
	.works__list__item img {
		width: 15.1875rem;
		height: 15.1875rem;
		object-fit: cover;
	}
}

.company {
	padding: 5.0625rem 0 9.25rem;
	background-color: #f6f6f6;
}

@media (max-width: 768px) {
	.company {
		display: none;
	}
}

.company__inner {
	max-width: 75rem;
	margin: 0 auto;
}

.company__title {
	font-size: 5.625rem;
	font-weight: bold;
	margin-bottom: 3.125rem;
	font-family: 'Oswald', sans-serif;
}

.company__subtitle {
	display: block;
	font-size: 1.5rem;
	margin-top: -1.5rem;
	font-family: 'Noto Sans JP', sans-serif;
}

.company__text {
	font-size: 1.0625rem;
	max-width: 50rem;
	line-height: 1.8;
	margin-top: 2.125rem;
	margin-bottom: 3.125rem;
}

.company__link {
	text-align: center;
	margin-bottom: 2.0625rem;
	font-size: 1.25rem;
}

.company__more {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-weight: bold;
	width: 100%;
	gap: 1rem;
	color: #333;
	text-decoration: none;
	padding: 1rem 2rem;
	position: relative;

	&::before,
	&::after {
		content: '';
		position: absolute;
		left: 0;
		width: 100%;
		height: 0.1875rem;
		background: linear-gradient(to right, #001650 50%, #ececec 50%);
		background-size: 200% 100%;
		background-position: right bottom;
		transition: all 0.3s ease;
	}

	&::before {
		top: 0;
	}

	&::after {
		bottom: 0;
	}

	transition: all 0.3s ease;
	background: linear-gradient(to right, #001650 50%, transparent 50%);
	background-size: 200% 100%;
	background-position: right bottom;
}

.company__more:hover {
	background-position: left bottom;
	color: #ffffff;

	&::before,
	&::after {
		background-position: left bottom;
	}
}

.company__more-icon {
	transition: filter 0.3s ease;
	position: absolute;
	right: 2rem;
}

.company__content {
	display: grid;
	grid-template-columns: 1fr 49.25%;
	gap: 8.0625rem;
	align-items: stretch;
}

.company__content-left {
	display: flex;
	flex-direction: column;
	order: 2;
	max-width: 37.5rem;
	width: 100%;
	margin-left: auto;
}

.company__content-right {
	position: relative;
	min-height: 0;
	margin-left: calc(((100vw - 75rem) / 2) * -1);
	order: 1;
	min-height: 37.5rem;
}

.company__image {
	width: 100%;
	height: 100%;
	object-fit: cover;
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.1);
	opacity: 0;
	transition: opacity 0.3s ease;
}

.company__image--active {
	opacity: 1;
}

.company__menu {
	display: flex;
	flex-direction: column;
}

.company__menu-item {
	display: flex;
	align-items: center;
	padding: 2rem 0;
	background-color: #f6f6f6;
	border-bottom: 0.125rem solid #e9e9e9;
	text-decoration: none;
	color: #333;
	transition: opacity 0.3s ease;
	gap: 1rem;
	position: relative;
}

.company__menu-item:hover {
	color: #002179;
}

.company__menu-icon {
	width: 2.5rem;
	height: 2.5rem;
}

.company__menu-item:hover .company__menu-icon {
	filter: brightness(0) saturate(100%) invert(13%) sepia(88%) saturate(2563%) hue-rotate(212deg) brightness(92%) contrast(101%);
}

.company__menu-text {
	position: relative;
	display: flex;
	flex-direction: column;
	width: 100%;
}

.company__menu-text-ja {
	font-size: 1.2rem;
	font-weight: bold;
	position: relative;
	z-index: 1;
}

.company__menu-text-en {
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	font-size: 4.375rem;
	font-weight: 500;
	color: #e8e8e8;
	font-family: 'Oswald', sans-serif;
	z-index: 0;
	transition:
		transform 0.3s ease,
		opacity 0.3s ease;
}

.company__menu-item:hover .company__menu-text-en {
	transform: translateX(-1.25rem) translateY(-50%);
	opacity: 0;
}

.company__menu-item:hover .company__menu-text-ja {
	color: #171213;
}

.company__menu-text::after {
	content: 'VIEW MORE';
	font-size: 1.875rem;
	font-weight: bold;
	position: absolute;
	right: 0;
	top: calc(50% - 0.8rem);
	transform: translateY(-50%) translateX(-1.25rem);
	opacity: 0;
	transition:
		transform 0.3s ease,
		opacity 0.3s ease;
	text-align: right;
	color: #171213;
	font-family: 'Oswald', sans-serif;
}

.company__menu-item:hover .company__menu-text::after {
	transform: translateY(-50%) translateX(0);
	opacity: 1;
}

.company__menu-text::before {
	content: 'もっと見る';
	position: absolute;
	right: 13%;
	top: calc(50% + 0.8rem);
	transform: translateY(-50%) translateX(-1.25rem);
	opacity: 0;
	transition:
		transform 0.3s ease,
		opacity 0.3s ease;
	text-align: right;
	font-size: 0.875rem;
	color: #171213;
	font-family: 'Noto Sans JP', sans-serif;
}

.company__menu-item:hover .company__menu-text::before {
	transform: translateY(-50%) translateX(0);
	opacity: 1;
}

@media (max-width: 1240px) {
	.company__content-right {
		margin-left: -1.25rem;
	}
}

@media (max-width: 768px) {
	.company__content {
		grid-template-columns: 1fr;
		gap: 2rem;
	}

	.company__content-right {
		position: static;
		order: 1;
		margin-right: -1.25rem;
		margin-left: -1.25rem;
	}

	.company__content-left {
		order: 2;
	}

	.company__image {
		position: static;
		height: auto;
		aspect-ratio: 842 / 682;
	}
}

.company-sp {
	display: none;
	padding: 4.875rem 0.9375rem 5rem;
	background-color: #f6f6f6;
}

.company-sp__inner {
	max-width: 100%;
}

.company-sp__title {
	font-size: 2.75rem;
	font-weight: bold;
	margin-bottom: 2.125rem;
	font-family: 'Oswald', sans-serif;
}

.company-sp__subtitle {
	display: block;
	font-size: 0.875rem;
	margin-top: -0.75rem;
	font-family: 'Noto Sans JP', sans-serif;
}

.company-sp__text {
	font-size: 0.875rem;
	line-height: calc(53 / 29);
	margin-bottom: 4.188rem;
}

.company-sp__link {
	text-align: center;
	margin-bottom: 3rem;
}

.company-sp__more {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-weight: bold;
	width: 100%;
	gap: 1rem;
	color: #ffffff;
	text-decoration: none;
	padding: 1rem 2rem;
	position: relative;
	background: #001650;

	&::before,
	&::after {
		content: '';
		position: absolute;
		left: 0;
		width: 100%;
		height: 0.1875rem;
		background: #001650;
	}

	&::before {
		top: 0;
	}

	&::after {
		bottom: 0;
	}
}

.company-sp__more:hover {
	color: #ffffff;
}

.company-sp__more-icon {
	position: absolute;
	right: 2rem;
}

.company-sp__menu {
	display: flex;
	flex-direction: column;
	gap: 2.5rem;
}

.company-sp__menu-item {
	text-decoration: none;
	color: #171213;
	position: relative;
	padding-bottom: 1rem;
	border-bottom: 0.125rem solid #efefef;
}

.company-sp__menu-image-wrapper {
	width: 100%;
	position: relative;
}

.company-sp__menu-image {
	position: relative;
	overflow: hidden;
	aspect-ratio: 138 / 85;
}

.company-sp__menu-image>img {
	width: 100%;
	height: 100%;
	display: block;
	object-fit: cover;
}

.company-sp__menu-overlay {
	display: none;
}

.company-sp__menu-content {
	display: flex;
	align-items: center;
	gap: 1rem;
	z-index: 1;
	margin-top: 0.5rem;
}

.company-sp__menu-icon-wrap {
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0;
	height: 2.5rem;
}

.company-sp__menu-icon {
	filter: brightness(0) saturate(100%) invert(12%) sepia(86%) saturate(2091%) hue-rotate(213deg) brightness(97%) contrast(98%);
	width: 1.875rem;
	height: auto;
}

.company-sp__menu-text {
	font-size: 1rem;
	font-weight: bold;
	color: #171213;
	z-index: 1;
}

.company-sp__menu-bottom {
	padding: 0;
	display: flex;
	justify-content: flex-end;
	align-items: center;
	position: absolute;
	bottom: 0.6rem;
	right: 0;
}

.company-sp__menu-en {
	font-size: 2.1875rem;
	color: #eee;
	font-family: 'Oswald', sans-serif;
}

@media (max-width: 768px) {
	.company-sp {
		display: block;
	}
}

.recruit {
	position: relative;
	padding: 5.375rem 0 6.875rem;
	background: linear-gradient(to bottom, transparent 50%, #00195c 50%);
	isolation: isolate;
	z-index: 1;
	width: 100%;
}

.recruit::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 50%;
	background-image: var(--bgImage);
	background-size: cover;
	background-position: center;
	z-index: 0;
}

.recruit::after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 50%;
	background-color: #001650;
	opacity: 0.7;
	z-index: 0;
}

.recruit__inner {
	max-width: 75rem;
	width: 100%;
	margin: 0 auto;
	position: relative;
	z-index: 2;
	box-sizing: border-box;
}

.recruit__title {
	font-size: 5.625rem;
	font-weight: bold;
	margin-bottom: 3.125rem;
	font-family: 'Oswald', sans-serif;
	color: #fff;
}

.recruit__subtitle {
	display: block;
	font-size: 1.5rem;
	margin-top: -1.5rem;
	font-family: 'Noto Sans JP', sans-serif;
}

.recruit__copy {
	display: block;
	margin: 0 auto 0.5rem;
	max-width: 100%;
}

.recruit__columns {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	gap: 2.5rem;
	position: relative;
}

.recruit__left {
	flex: 1;
}

.recruit__right {
	padding-bottom: 0;
}

.recruit__heading {
	font-size: 2.8125rem;
	font-weight: bold;
	margin-bottom: 1.5rem;
	color: #fff;
}

.recruit__text {
	font-size: 1.375rem;
	font-weight: bold;
	color: #fff;
	line-height: calc(52 / 22);
}

.recruit__link {
	display: inline-block;
	color: #fff;
	text-decoration: none;
	transition: opacity 0.3s;
	font-size: 2.5rem;
	font-weight: bold;
	font-family: 'Oswald', sans-serif;
}

.recruit__link:hover {
	opacity: 0.7;
}

.recruit__link-sub {
	display: block;
	font-size: 0.875rem;
	margin-top: -0.5rem;
	font-family: 'Noto Sans JP', sans-serif;
}

@media (max-width: 768px) {
	.recruit {
		padding: 3.25rem 0;
		background: linear-gradient(to bottom, transparent 40%, #00195c 40%);
	}

	.recruit__inner {
		padding: 0 0.9375rem;
	}

	.recruit__columns {
		flex-direction: column;
		text-align: flex-start;
		gap: 2.1875rem;
	}

	.recruit__right {
		text-align: right;
	}

	.recruit__title {
		font-size: 2.75rem;
		margin-bottom: 0.9375rem;
	}

	.recruit__subtitle {
		font-size: 0.875rem;
		margin-top: -0.75rem;
	}

	.recruit__heading {
		font-size: 1.375rem;
		margin-bottom: 1.25rem;
	}

	.recruit__text {
		font-size: 0.9375rem;
		line-height: calc(25 / 15);
	}

	.recruit::before {
		background-image: var(--bgImageSp);
		height: 40%;
	}

	.recruit::after {
		height: 40%;
	}

	.recruit__copy {
		height: auto;
		margin-bottom: 2.1875rem;
	}

	.recruit__link {
		display: flex;
		align-items: baseline;
		gap: 0.5rem;
		justify-content: flex-end;
		font-size: 1.3125rem;
	}

	.recruit__link-sub {
		display: inline;
		margin-top: 0;
		font-size: 0.625rem;
	}
}

/* ===== .home（トップページ）（WP用） ===== */

/* =============================================================
   page-top
   ============================================================= */

/* ===== MainVisual ===== */

.home .parallax-wrapper {
	position: relative;
	height: 100vh;
	overflow: hidden;
}

.home .parallax-bg {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	background-image: var(--pcBgImage);
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	z-index: -1;
}

.home .main-visual .content {
	position: relative;
	z-index: 1;
}

.home .content {
	position: relative;
	color: #fff;
	text-align: left;
	z-index: 2;
	height: 100vh;
	display: flex;
	flex-direction: column;
	padding: 0 7.1875rem;
	max-width: none;
	margin: 0;
}

/* WP管理バー（32px）がhtmlにmargin-top: 32pxを付与するため補正 */

.admin-bar .home .parallax-wrapper {
	height: calc(100vh - 2rem);
}

.admin-bar .home .content {
	height: calc(100vh - 2rem);
}

.home .content h2 {
	margin: calc(5.625rem + 7.3125rem) 0 0;
}

.home .content h2 img {
	margin: 0;
}

.home .content p {
	font-size: 1.2rem;
	margin: 0;
}

.home .scroll {
	position: absolute;
	bottom: 0;
	right: 3.3125rem;
	display: flex;
	flex-direction: column;
	align-items: center;
	z-index: 2;
}

.home .scroll-text {
	color: #fff;
	font-size: 0.9375rem;
	font-family: 'Oswald', sans-serif;
	writing-mode: vertical-rl;
	text-orientation: mixed;
	letter-spacing: 0;
	margin-bottom: 0.625rem;
}

.home .scroll-line {
	width: 0.0625rem;
	height: 5rem;
	background-color: transparent;
	position: relative;
	overflow: hidden;
}

.home .scroll-line::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #fff;
	animation: scrollDown 1.5s cubic-bezier(0.4, 0, 0.2, 1) infinite;
}

@keyframes scrollDown {
	0% {
		transform: translateY(-100%);
		opacity: 0;
	}

	20% {
		transform: translateY(0);
		opacity: 1;
	}

	100% {
		transform: translateY(100%);
		opacity: 0;
	}
}

.home .news-banner {
	position: absolute;
	bottom: 3rem;
	left: 7.1875rem;
	display: flex;
	align-items: stretch;
	background: transparent;
	max-width: 50rem;
	height: 4rem;
}

.home .news-banner-main {
	display: flex;
	flex: 1;
}

.home .news-label {
	color: #fff;
	padding: 0 1.25rem 0 0;
	display: flex;
	flex-direction: column;
	justify-content: center;
	background: transparent;
	position: relative;
}

.home .news-label::after {
	content: '';
	position: absolute;
	right: 0;
	top: 0.5rem;
	height: 3.125rem;
	width: 0.0625rem;
	background-color: #fff;
}

.home .news-label-en {
	font-size: 1.9375rem;
	font-weight: bold;
}

.home .news-label-jp {
	font-size: 0.9375rem;
	margin-top: -0.625rem;
}

.home .news-content {
	padding: 0.75rem 1.25rem;
	flex-grow: 1;
}

.home .news-content .pc-only {
	display: block;
}

.home .news-content .sp-only {
	display: none;
}

.home .news-content time {
	text-align: left;
	display: block;
	color: #fff;
	font-size: 0.875rem;
	font-weight: bold;
}

.home .news-content p {
	color: #fff;
	margin: 0;
	font-size: 0.875rem;
}

.home .news-content,
.home .news-content time,
.home .news-content .content-text {
	white-space: normal;
}

.home .news-more {
	color: #fff;
	padding: 1.5rem 1.25rem 0;
	display: flex;
	flex-direction: row;
	justify-content: center;
	align-items: center;
	gap: 0.625rem;
	min-width: 7.5rem;
	transition: opacity 0.3s;
	cursor: pointer;
	background: transparent;
}

.home .news-more a {
	color: #fff;
	text-decoration: none;
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: 0.625rem;
}

.home .news-more:hover {
	opacity: 0.8;
}

.home .news-more-jp {
	font-size: 0.875rem;
	font-weight: bold;
}

.home .news-more-en {
	font-size: 1.0625rem;
	font-weight: bold;
}

.home .news-more.sp-only {
	display: none;
}

.home .news-more.pc-only {
	display: flex !important;
}

.home .fade-in-element {
	opacity: 0;
	transform: translateY(1.25rem);
}

.home h2.fade-in-element {
	animation: fadeInUp 2s ease forwards;
}

.home .news-banner.fade-in-element {
	animation: fadeInUp 1s ease forwards 2s;
}

.home .scroll.fade-in-element {
	animation: fadeInUp 1s ease forwards 2s;
}

@keyframes fadeInUp {
	from {
		opacity: 0;
		transform: translateY(1.25rem);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}

/* ===== Mission ===== */

.home .mission-wrapper {
	position: relative;
	z-index: 0;
	color: #ffffff;
}

.home .mission-wrapper::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 22, 80, 0.85);
	mix-blend-mode: multiply;
	z-index: -1;
}

.home .mission-content {
	max-width: 75rem;
	margin: 0 auto;
	padding: 12.6875rem 0;
}

.home .mission-heading {
	font-size: 2.1875rem;
	font-weight: bold;
	margin-bottom: 7.5rem;
	line-height: calc(60 / 35);
	letter-spacing: 0.1em;
}

.home .mission-text p {
	font-size: 1.25rem;
	font-weight: bold;
	line-height: calc(29 / 20);
}

/* ===== Service (PC) ===== */

.home .service {
	padding: 9.1875rem 0 10.25rem;
	background-color: #fff;
}

.home .service__inner {
	max-width: 75rem;
	margin: 0 auto;
}

.home .service__title {
	font-size: 5.625rem;
	font-weight: bold;
	margin-bottom: 3.125rem;
	font-family: 'Oswald', sans-serif;
}

.home .service__subtitle {
	display: block;
	font-size: 1.5rem;
	margin-top: -1.5rem;
	font-family: 'Noto Sans JP', sans-serif;
}

.home .service__text {
	font-size: 1.0625rem;
	max-width: 50rem;
	line-height: 1.8;
	margin-bottom: 2.125rem;
}

.home .service__link {
	text-align: center;
	margin-bottom: 2.0625rem;
	font-size: 1.25rem;
}

.home .service__more {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-weight: bold;
	width: 100%;
	gap: 1rem;
	color: #333;
	text-decoration: none;
	padding: 1rem 2rem;
	position: relative;
	transition: all 0.3s ease;
	background: linear-gradient(to right, #001650 50%, transparent 50%);
	background-size: 200% 100%;
	background-position: right bottom;
}

.home .service__more::before,
.home .service__more::after {
	content: '';
	position: absolute;
	left: 0;
	width: 100%;
	height: 0.375rem;
	background: linear-gradient(to right, #001650 50%, #ececec 50%);
	background-size: 200% 100%;
	background-position: right bottom;
	transition: all 0.3s ease;
}

.home .service__more::before {
	top: 0;
}

.home .service__more::after {
	bottom: 0;
}

.home .service__more:hover {
	background-position: left bottom;
	color: #ffffff;
}

.home .service__more:hover::before,
.home .service__more:hover::after {
	background-position: left bottom;
}

.home .service__more-icon {
	transition: filter 0.3s ease;
	position: absolute;
	right: 2rem;
}

.home .service__content {
	display: grid;
	grid-template-columns: 49.25% 1fr;
	gap: 8.0625rem;
	align-items: stretch;
}

.home .service__content-left {
	display: flex;
	flex-direction: column;
	width: 100%;
}

.home .service__content-right {
	position: relative;
	min-height: 37.5rem;
	margin-right: calc(((100vw - 75rem) / 2) * -1);
}

.home .service__image {
	width: 100%;
	height: 100%;
	object-fit: cover;
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.1);
	opacity: 0;
	transition: opacity 0.3s ease;
}

.home .service__image--active {
	opacity: 1;
}

.home .service__menu {
	display: flex;
	flex-direction: column;
}

.home .service__menu-item {
	display: flex;
	align-items: center;
	padding: 2rem 0;
	background-color: #fff;
	border-bottom: 0.125rem solid #efefef;
	text-decoration: none;
	color: #333;
	transition: opacity 0.3s ease;
	gap: 1rem;
	position: relative;
}

.home .service__menu-item:hover {
	color: #002179;
}

.home .service__menu-item:hover .service__menu-text-ja {
	color: #171213;
}

.home .service__menu-icon {
	width: 2.5rem;
	height: 2.5rem;
}

.home .service__menu-item:hover .service__menu-icon {
	filter: brightness(0) saturate(100%) invert(13%) sepia(88%) saturate(2563%) hue-rotate(212deg) brightness(92%) contrast(101%);
}

.home .service__menu-text {
	position: relative;
	display: flex;
	flex-direction: column;
	width: 100%;
}

.home .service__menu-text-ja {
	font-size: 1.2rem;
	font-weight: bold;
	position: relative;
	z-index: 1;
}

.home .service__menu-text-en {
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	font-size: 4.375rem;
	color: #f2f2f2;
	font-family: 'Oswald', sans-serif;
	font-weight: 500;
	z-index: 0;
	transition:
		transform 0.3s ease,
		opacity 0.3s ease;
}

.home .service__menu-item:hover .service__menu-text-en {
	transform: translateX(-1.25rem) translateY(-50%);
	opacity: 0;
}

.home .service__menu-text::after {
	content: 'VIEW MORE';
	font-size: 1.875rem;
	font-weight: bold;
	position: absolute;
	right: 0;
	top: calc(50% - 0.8rem);
	transform: translateY(-50%) translateX(-1.25rem);
	opacity: 0;
	transition:
		transform 0.3s ease,
		opacity 0.3s ease;
	text-align: right;
	color: #171213;
	font-family: 'Oswald', sans-serif;
}

.home .service__menu-item:hover .service__menu-text::after {
	transform: translateY(-50%) translateX(0);
	opacity: 1;
}

.home .service__menu-text::before {
	content: 'もっと見る';
	position: absolute;
	right: 13%;
	top: calc(50% + 0.8rem);
	transform: translateY(-50%) translateX(-1.25rem);
	opacity: 0;
	transition:
		transform 0.3s ease,
		opacity 0.3s ease;
	font-size: 0.875rem;
	font-weight: bold;
	color: #171213;
	font-family: 'Noto Sans JP', sans-serif;
}

.home .service__menu-item:hover .service__menu-text::before {
	transform: translateY(-50%) translateX(0);
	opacity: 1;
}

/* ===== ServiceSp (SP) ===== */

.home .service-sp {
	display: none;
	padding: 4.875rem 0.9375rem 5rem;
	background-color: #fff;
}

.home .service-sp__inner {
	max-width: 100%;
}

.home .service-sp__title {
	font-size: 2.75rem;
	font-weight: bold;
	margin-bottom: 2.125rem;
	font-family: 'Oswald', sans-serif;
}

.home .service-sp__subtitle {
	display: block;
	font-size: 0.875rem;
	margin-top: -0.75rem;
	font-family: 'Noto Sans JP', sans-serif;
}

.home .service-sp__text {
	font-size: 0.875rem;
	line-height: calc(53 / 29);
	margin-bottom: 2.125rem;
}

.home .service-sp__link {
	text-align: center;
	margin-bottom: 4.6875rem;
}

.home .service-sp__more {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 0.875rem;
	font-weight: bold;
	width: 100%;
	gap: 1rem;
	color: #ffffff;
	text-decoration: none;
	padding: 0.875rem 0;
	position: relative;
	background: #001650;
}

.home .service-sp__more::before,
.home .service-sp__more::after {
	content: '';
	position: absolute;
	left: 0;
	width: 100%;
	height: 0.1875rem;
	background: #001650;
}

.home .service-sp__more::before {
	top: 0;
}

.home .service-sp__more::after {
	bottom: 0;
}

.home .service-sp__more:hover {
	color: #ffffff;
}

.home .service-sp__more-icon {
	position: absolute;
	right: 0.6875rem;
}

.home .service-sp__menu {
	display: flex;
	flex-direction: column;
	gap: 2.5rem;
}

.home .service-sp__menu-item {
	text-decoration: none;
	color: #171213;
	position: relative;
	padding-bottom: 1rem;
	border-bottom: 0.125rem solid #efefef;
}

.home .service-sp__menu-image-wrapper {
	width: 100%;
	position: relative;
}

.home .service-sp__menu-image {
	position: relative;
	overflow: hidden;
	aspect-ratio: 138 / 85;
}

.home .service-sp__menu-image>img {
	width: 100%;
	height: 100%;
	display: block;
	object-fit: cover;
}

.home .service-sp__menu-overlay {
	display: none;
}

.home .service-sp__menu-content {
	display: flex;
	align-items: center;
	gap: 1rem;
	z-index: 1;
	margin-top: 0.5rem;
}

.home .service-sp__menu-icon-wrap {
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0;
	height: 2.5rem;
}

.home .service-sp__menu-icon {
	filter: brightness(0) saturate(100%) invert(12%) sepia(86%) saturate(2091%) hue-rotate(213deg) brightness(97%) contrast(98%);
	width: 2.5rem;
	height: auto;
}

.home .service-sp__menu-text {
	font-size: 1rem;
	font-weight: bold;
	color: #171213;
	z-index: 1;
}

.home .service-sp__menu-bottom {
	padding: 0;
	display: flex;
	justify-content: flex-end;
	align-items: center;
	position: absolute;
	bottom: 0.6rem;
	right: 0;
}

.home .service-sp__menu-en {
	font-size: 2.1875rem;
	color: #eee;
	font-family: 'Oswald', sans-serif;
}

/* ===== Works ===== */

.home .works {
	padding: 3.1875rem 0 8.5625rem;
	background-color: #fff;
}

.home .works__inner {
	max-width: 75rem;
	margin: 0 auto;
	position: relative;
}

.home .works__content {
	position: relative;
}

.home .works__title {
	font-size: 5.625rem;
	font-weight: bold;
	margin-bottom: 3.125rem;
	font-family: 'Oswald', sans-serif;
}

.home .works__subtitle {
	display: block;
	font-size: 1.5rem;
	margin-top: -1.5rem;
	font-family: 'Noto Sans JP', sans-serif;
}

.home .works__list__item img {
	width: 23.125rem;
	height: 23.125rem;
	object-fit: cover;
	vertical-align: top;
}

.home .works__list__item a {
	color: #171213;
	text-decoration: none;
}

.home .works__list__item figcaption {
	margin-top: 1.625rem;
}

.home .works__list__item .details {
	display: flex;
	border-bottom: 0.1875rem solid #f2f2f2;
	padding-bottom: 0.625rem;
}

.home .works__list__item .details__description {
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
	max-width: 9em;
}

.home .works__list__item .details__title {
	font-size: 1rem;
	font-weight: bold;
	position: relative;
	padding-right: 1rem;
}

.home .works__list__item .details__title::before {
	content: '';
	margin-right: 0.4375rem;
	vertical-align: middle;
	display: inline-block;
	width: 0.8125rem;
	height: 0.8125rem;
	background-color: #001650;
}

.home .works__list__item .details__title::after {
	content: '';
	display: block;
	width: 100%;
	height: 0.1875rem;
	background-color: #dfdfdf;
	position: absolute;
	left: 0;
	bottom: -0.8125rem;
}

.home .works .swiper-button-prev,
.home .works .swiper-button-next {
	width: 3.75rem;
	height: 3.75rem;
	background: none;
	border: none;
	cursor: pointer;
}

.home .works .swiper-button-prev::after,
.home .works .swiper-button-next::after {
	display: none;
}

/*.home .works .swiper-horizontal .swiper-button-next,
.home .works .swiper-horizontal~.swiper-button-next {
	top: 9.6875rem;
	right: -1.875rem;
	margin-top: unset;
}

.home .works .swiper-horizontal .swiper-button-prev,
.home .works .swiper-horizontal~.swiper-button-prev {
	top: 9.6875rem;
	left: -1.875rem;
	margin-top: unset;
}*/

.home .works__more {
	font-size: 2.5rem;
	font-weight: bold;
	font-family: 'Oswald', sans-serif;
	position: absolute;
	right: 0;
	top: 5.125rem;
}

.home .works__more__subtitle {
	display: block;
	font-size: 0.875rem;
	margin-top: -0.625rem;
	font-family: 'Noto Sans JP', sans-serif;
}

.home .works__more a {
	color: #171213;
	text-decoration: none;
}

/* ===== Company (PC) ===== */

.home .company {
	padding: 5.0625rem 0 9.25rem;
	background-color: #f6f6f6;
}

.home .company__inner {
	max-width: 75rem;
	margin: 0 auto;
}

.home .company__title {
	font-size: 5.625rem;
	font-weight: bold;
	margin-bottom: 3.125rem;
	font-family: 'Oswald', sans-serif;
}

.home .company__subtitle {
	display: block;
	font-size: 1.5rem;
	margin-top: -1.5rem;
	font-family: 'Noto Sans JP', sans-serif;
}

.home .company__text {
	font-size: 1.0625rem;
	max-width: 50rem;
	line-height: 1.8;
	margin-top: 2.125rem;
	margin-bottom: 3.125rem;
}

.home .company__content {
	display: grid;
	grid-template-columns: 1fr 49.25%;
	gap: 8.0625rem;
	align-items: stretch;
}

.home .company__content-left {
	display: flex;
	flex-direction: column;
	order: 2;
	max-width: 37.5rem;
	width: 100%;
	margin-left: auto;
}

.home .company__content-right {
	position: relative;
	min-height: 37.5rem;
	margin-left: calc(((100vw - 75rem) / 2) * -1);
	order: 1;
}

.home .company__image {
	width: 100%;
	height: 100%;
	object-fit: cover;
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.1);
	opacity: 0;
	transition: opacity 0.3s ease;
}

.home .company__image--active {
	opacity: 1;
}

.home .company__menu {
	display: flex;
	flex-direction: column;
}

.home .company__menu-item {
	display: flex;
	align-items: center;
	padding: 2rem 0;
	background-color: #f6f6f6;
	border-bottom: 0.125rem solid #e9e9e9;
	text-decoration: none;
	color: #333;
	transition: opacity 0.3s ease;
	gap: 1rem;
	position: relative;
}

.home .company__menu-item:hover {
	color: #002179;
}

.home .company__menu-icon {
	width: 2.5rem;
	height: 2.5rem;
}

.home .company__menu-item:hover .company__menu-icon {
	filter: brightness(0) saturate(100%) invert(13%) sepia(88%) saturate(2563%) hue-rotate(212deg) brightness(92%) contrast(101%);
}

.home .company__menu-text {
	position: relative;
	display: flex;
	flex-direction: column;
	width: 100%;
}

.home .company__menu-text-ja {
	font-size: 1.2rem;
	font-weight: bold;
	position: relative;
	z-index: 1;
}

.home .company__menu-text-en {
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	font-size: 4.375rem;
	font-weight: 500;
	color: #e8e8e8;
	font-family: 'Oswald', sans-serif;
	z-index: 0;
	transition:
		transform 0.3s ease,
		opacity 0.3s ease;
}

.home .company__menu-item:hover .company__menu-text-en {
	transform: translateX(-1.25rem) translateY(-50%);
	opacity: 0;
}

.home .company__menu-item:hover .company__menu-text-ja {
	color: #171213;
}

.home .company__menu-text::after {
	content: 'VIEW MORE';
	font-size: 1.875rem;
	font-weight: bold;
	position: absolute;
	right: 0;
	top: calc(50% - 0.8rem);
	transform: translateY(-50%) translateX(-1.25rem);
	opacity: 0;
	transition:
		transform 0.3s ease,
		opacity 0.3s ease;
	text-align: right;
	color: #171213;
	font-family: 'Oswald', sans-serif;
}

.home .company__menu-item:hover .company__menu-text::after {
	transform: translateY(-50%) translateX(0);
	opacity: 1;
}

.home .company__menu-text::before {
	content: 'もっと見る';
	position: absolute;
	right: 13%;
	top: calc(50% + 0.8rem);
	transform: translateY(-50%) translateX(-1.25rem);
	opacity: 0;
	transition:
		transform 0.3s ease,
		opacity 0.3s ease;
	text-align: right;
	font-size: 0.875rem;
	color: #171213;
	font-family: 'Noto Sans JP', sans-serif;
}

.home .company__menu-item:hover .company__menu-text::before {
	transform: translateY(-50%) translateX(0);
	opacity: 1;
}

/* ===== CompanySp (SP) ===== */

.home .company-sp {
	display: none;
	padding: 4.875rem 0.9375rem 5rem;
	background-color: #f6f6f6;
}

.home .company-sp__inner {
	max-width: 100%;
}

.home .company-sp__title {
	font-size: 2.75rem;
	font-weight: bold;
	margin-bottom: 2.125rem;
	font-family: 'Oswald', sans-serif;
}

.home .company-sp__subtitle {
	display: block;
	font-size: 0.875rem;
	margin-top: -0.75rem;
	font-family: 'Noto Sans JP', sans-serif;
}

.home .company-sp__text {
	font-size: 0.875rem;
	line-height: calc(53 / 29);
	margin-bottom: 4.188rem;
}

.home .company-sp__menu {
	display: flex;
	flex-direction: column;
	gap: 2.5rem;
}

.home .company-sp__menu-item {
	text-decoration: none;
	color: #171213;
	position: relative;
	padding-bottom: 1rem;
	border-bottom: 0.125rem solid #efefef;
}

.home .company-sp__menu-image-wrapper {
	width: 100%;
	position: relative;
}

.home .company-sp__menu-image {
	position: relative;
	overflow: hidden;
	aspect-ratio: 138 / 85;
}

.home .company-sp__menu-image>img {
	width: 100%;
	height: 100%;
	display: block;
	object-fit: cover;
}

.home .company-sp__menu-overlay {
	display: none;
}

.home .company-sp__menu-content {
	display: flex;
	align-items: center;
	gap: 1rem;
	z-index: 1;
	margin-top: 0.5rem;
}

.home .company-sp__menu-icon-wrap {
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0;
	height: 2.5rem;
}

.home .company-sp__menu-icon {
	filter: brightness(0) saturate(100%) invert(12%) sepia(86%) saturate(2091%) hue-rotate(213deg) brightness(97%) contrast(98%);
	width: 1.875rem;
	height: auto;
}

.home .company-sp__menu-text {
	font-size: 1rem;
	font-weight: bold;
	color: #171213;
	z-index: 1;
}

.home .company-sp__menu-bottom {
	padding: 0;
	display: flex;
	justify-content: flex-end;
	align-items: center;
	position: absolute;
	bottom: 0.6rem;
	right: 0;
}

.home .company-sp__menu-en {
	font-size: 2.1875rem;
	color: #eee;
	font-family: 'Oswald', sans-serif;
}

/* ===== Recruit ===== */

.home .recruit {
	position: relative;
	padding: 5.375rem 0 6.875rem;
	background: linear-gradient(to bottom, transparent 50%, #00195c 50%);
	isolation: isolate;
	z-index: 1;
	width: 100%;
}

.home .recruit::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 50%;
	background-image: var(--bgImage);
	background-size: cover;
	background-position: center;
	z-index: 0;
}

.home .recruit::after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 50%;
	background-color: #001650;
	opacity: 0.7;
	z-index: 0;
}

.home .recruit__inner {
	max-width: 75rem;
	width: 100%;
	margin: 0 auto;
	position: relative;
	z-index: 2;
	box-sizing: border-box;
}

.home .recruit__title {
	font-size: 5.625rem;
	font-weight: bold;
	margin-bottom: 3.125rem;
	font-family: 'Oswald', sans-serif;
	color: #fff;
}

.home .recruit__subtitle {
	display: block;
	font-size: 1.5rem;
	margin-top: -1.5rem;
	font-family: 'Noto Sans JP', sans-serif;
}

.home .recruit__copy {
	display: block;
	margin: 0 auto 0.5rem;
	max-width: 100%;
}

.home .recruit__columns {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	gap: 2.5rem;
	position: relative;
}

.home .recruit__left {
	flex: 1;
}

.home .recruit__right {
	padding-bottom: 0;
}

.home .recruit__heading {
	font-size: 2.8125rem;
	font-weight: bold;
	margin-bottom: 1.5rem;
	color: #fff;
}

.home .recruit__text {
	font-size: 1.375rem;
	font-weight: bold;
	color: #fff;
	line-height: calc(52 / 22);
}

.home .recruit__link {
	display: inline-block;
	color: #fff;
	text-decoration: none;
	transition: opacity 0.3s;
	font-size: 2.5rem;
	font-weight: bold;
	font-family: 'Oswald', sans-serif;
}

.home .recruit__link:hover {
	opacity: 0.7;
}

.home .recruit__link-sub {
	display: block;
	font-size: 0.875rem;
	margin-top: -0.5rem;
	font-family: 'Noto Sans JP', sans-serif;
}

/* ===== page-top レスポンシブ ===== */

@media (max-width: 1240px) {
	.home .service__content-right {
		margin-right: -1.25rem;
	}

	.home .company__content-right {
		margin-left: -1.25rem;
	}
}

@media (max-width: 77.5rem) {
	.home .works {
		padding: 1.25rem 0.9375rem 5rem;
	}

	.home .works__title {
		font-size: 2.75rem;
		margin-bottom: 2.125rem;
	}

	.home .works__subtitle {
		font-size: 0.875rem;
		margin-top: -0.75rem;
	}

	.home .works .swiper-button-prev,
	.home .works .swiper-button-next {
		width: 2.5rem;
		height: 2.5rem;
	}

	.home .works .swiper-horizontal .swiper-button-next,
	.home .works .swiper-horizontal~.swiper-button-next {
		top: 6.3438rem;
		right: 1.25rem;
	}

	.home .works .swiper-horizontal .swiper-button-prev,
	.home .works .swiper-horizontal~.swiper-button-prev {
		top: 6.3438rem;
		left: 1.25rem;
	}

	.home .works__more {
		font-size: 1.3438rem;
		position: static;
		text-align: center;
		margin-top: 3.125rem;
	}

	.home .works__more__subtitle {
		font-size: 0.625rem;
		display: inline-block;
		margin-left: 0.3125rem;
	}
}

@media (max-width: 768px) {
	.home .parallax-wrapper {
		height: 100svh;
		background-image: var(--spBgImage);
		background-size: cover;
		background-position: center;
		background-repeat: no-repeat;
	}

	.home .parallax-bg {
		display: none;
	}

	.home .content {
		justify-content: flex-start;
		padding: 0 0.9375rem;
		height: 100svh;
	}

	.home .content h2 {
		margin: calc(3.75rem + 1.0625rem) 0 0;
	}

	.home .content h2 img {
		width: 100%;
		height: auto;
	}

	.home .news-banner {
		position: absolute;
		left: 0;
		bottom: 7rem;
		width: 92.5%;
		margin: 0 auto;
		height: auto;
	}

	.home .news-banner-main {
		width: 100%;
		align-items: flex-start;
		margin: 0 0.9375rem;
	}

	.home .news-label {
		flex-direction: column;
		justify-content: flex-start;
		padding: 0 0.625rem 0 0;
		border-right: none;
	}

	.home .news-label::after {
		display: none;
	}

	.home .news-content {
		padding: 0 0 0 0.8125rem;
		flex: 1;
		display: flex;
		flex-direction: column;
		justify-content: flex-start;
		border-left: 0.0625rem solid #fff;
	}

	.home .news-content .pc-only {
		display: none;
	}

	.home .news-content .sp-only {
		display: block;
	}

	.home .news-content time {
		font-size: 0.8125rem;
	}

	.home .news-content p {
		font-size: 0.75rem;
		display: -webkit-box;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 2;
		overflow: hidden;
	}

	.home .news-content .news-more {
		margin-top: 0.3125rem;
		padding: 0;
		justify-content: flex-start;
	}

	.home .news-label-en {
		margin-bottom: 0;
		font-size: 1.4375rem;
	}

	.home .news-label-jp {
		margin-top: 0;
		font-size: 0.625rem;
	}

	.home .news-more-en {
		font-size: 1.0625rem;
	}

	.home .news-more-jp {
		font-size: 0.625rem;
	}

	.home .news-more.pc-only {
		display: none !important;
	}

	.home .news-more.sp-only {
		display: flex;
	}

	.home .scroll {
		right: 0.9375rem;
		bottom: 5rem;
	}

	.home .scroll-text {
		font-size: 0.8rem;
	}

	.home .scroll-line {
		height: 4.6875rem;
	}

	.home .mission-content {
		padding: 6rem 0.9375rem 4.375rem;
	}

	.home .mission-heading {
		font-size: 1.0625rem;
		margin-bottom: 3rem;
		letter-spacing: 0.15em;
	}

	.home .mission-text p {
		font-size: 0.875rem;
		line-height: calc(63 / 29);
	}

	.home .service {
		display: none;
	}

	.home .service-sp {
		display: block;
	}

	.home .company {
		display: none;
	}

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

	.home .recruit {
		padding: 3.25rem 0;
		background: linear-gradient(to bottom, transparent 40%, #00195c 40%);
	}

	.home .recruit__inner {
		padding: 0 0.9375rem;
	}

	.home .recruit__columns {
		flex-direction: column;
		gap: 2.1875rem;
	}

	.home .recruit__right {
		text-align: right;
	}

	.home .recruit__title {
		font-size: 2.75rem;
		margin-bottom: 0.9375rem;
	}

	.home .recruit__subtitle {
		font-size: 0.875rem;
		margin-top: -0.75rem;
	}

	.home .recruit__heading {
		font-size: 1.375rem;
		margin-bottom: 1.25rem;
	}

	.home .recruit__text {
		font-size: 0.9375rem;
		line-height: calc(25 / 15);
	}

	.home .recruit::before {
		background-image: var(--bgImageSp);
		height: 40%;
	}

	.home .recruit::after {
		height: 40%;
	}

	.home .recruit__copy {
		height: auto;
		margin-bottom: 2.1875rem;
	}

	.home .recruit__link {
		display: flex;
		align-items: baseline;
		gap: 0.5rem;
		justify-content: flex-end;
		font-size: 1.3125rem;
	}

	.home .recruit__link-sub {
		display: inline;
		margin-top: 0;
		font-size: 0.625rem;
	}

	.home .works__list__item img {
		width: 15.1875rem;
		height: 15.1875rem;
		object-fit: cover;
	}
}

/* ===== body.single-works（WP用） ===== */

.heading-container .breadcrumb .breadcrumb__inner {
	padding-left: 0;
}

.single-works .single-works-container {
	max-width: 75rem;
	margin: 5.5625rem auto 7rem;
	box-sizing: border-box;
}

.single-works .single-works__title {
	font-size: 1.875rem;
	font-weight: bold;
	line-height: 1.5;
	margin-bottom: 1rem;
}

.single-works .single-works__category {
	display: inline-block;
	font-size: 0.875rem;
	color: #005dab;
	border: 0.0625rem solid #005dab;
	padding: 0.1875rem 0.75rem;
	margin-bottom: 1.5rem;
}

.single-works .single-works__thumbnail {
	margin-top: 2rem;
	width: 100%;
	height: 41.25rem;
	text-align: center;
	background-color: #f6f6f6;
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
}

.single-works .single-works__thumbnail img {
	width: auto;
	height: 100%;
	max-width: 100%;
	object-fit: contain;
	vertical-align: top;
}

.single-works .single-works__catch {
	margin-top: 3.4375rem;
	display: flex;
	flex-direction: column;
	align-items: center;
}

.single-works .single-works__catch-icon {
	margin: 0 auto;
	width: 3.25rem;
	display: inline-block;
}

.single-works .single-works__catch-icon img {
	width: 100%;
}

.single-works .single-works__catch-copy {
	display: block;
	margin-top: 1.875rem;
	width: 100%;
	padding: 1.1875rem 3.75rem;
	font-size: 1.875rem;
	font-weight: bold;
	line-height: 1.5;
	border-top: 0.0625rem solid #005dab;
	border-bottom: 0.0625rem solid #005dab;
	text-align: center;
}

.single-works .single-works__section-title {
	line-height: 1.48;
	font-size: 3.125rem;
	font-weight: bold;
	font-family: 'Oswald', sans-serif;
	border-bottom: 0.3125rem solid #001650;
	padding-bottom: 1.25rem;
	margin-bottom: 0;
}

.single-works .single-works__section-subtitle {
	display: block;
	font-size: 1.25rem;
	margin-top: -0.3125rem;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: normal;
}

.single-works .single-works__voice .single-works__section-title,
.single-works .single-works__comment .single-works__section-title {
	border-bottom: none;
	padding-bottom: 0;
}

.single-works .single-works__reform-data {
	margin-top: 5.5625rem;
}

.single-works .reform-data-list {
	margin-top: 1.875rem;
	display: flex;
	flex-wrap: wrap;
	gap: 1.5625rem 0.875rem;
	box-sizing: border-box;
}

.single-works .reform-data-list__item {
	width: calc(50% - 0.4375rem);
	display: flex;
}

.single-works .reform-data-list__label {
	width: 10rem;
	flex-shrink: 0;
	background-color: #f8f8f8;
	border-bottom: 0.125rem solid #dfdfdf;
	padding: 1.8125rem 1.1875rem;
	display: flex;
	align-items: center;
	gap: 0.625rem;
	font-weight: bold;
	font-size: 1.125rem;
}

.single-works .reform-data-list__label::before {
	content: '';
	display: inline-block;
	width: 0.8125rem;
	height: 0.8125rem;
	flex-shrink: 0;
	background-color: #001650;
}

.single-works .reform-data-list__value {
	flex: 1;
	border-bottom: 0.125rem solid #f2f2f2;
	padding: 1.8125rem 1.1875rem;
	font-size: 1.125rem;
}

.single-works .single-works__content {
	margin-top: 6.25rem;
	font-size: 1.0625rem;
	line-height: 1.8;
}

.single-works .single-works__content p {
	margin: 0 0 1em;
}

.single-works .single-works__before-after {
	margin-top: 6.25rem;
}

.single-works .before-after-wrap {
	margin-top: 1.875rem;
	display: flex;
	justify-content: space-between;
	gap: 3.75rem;
}

.single-works .before-after-wrap__item {
	width: calc(50% - 1.875rem);
	position: relative;
}

.single-works .before-after-wrap__label {
	font-size: 1.875rem;
	font-weight: bold;
	font-family: 'Oswald', sans-serif;
	text-align: center;
	padding: 0.3125rem 0;
}

.single-works .before-after-wrap__item--before .before-after-wrap__label {
	background-color: #e3e3e3;
}

.single-works .before-after-wrap__item--after .before-after-wrap__label {
	background-color: #005dab;
	color: #fff;
}

.single-works .before-after-wrap__image {
	text-align: center;
	display: flex;
	align-items: center;
	justify-content: center;
}

.single-works .before-after-wrap__item--before .before-after-wrap__image {
	background-color: #f6f6f6;
	border-left: 0.3125rem solid #f6f6f6;
	border-right: 0.3125rem solid #f6f6f6;
	position: relative;
}

.single-works .before-after-wrap__item--before .before-after-wrap__image::after {
	content: '';
	display: block;
	background-image: url('/assets/images/icon_arrow_r_02.svg');
	width: 1rem;
	height: 2rem;
	background-size: cover;
	background-repeat: no-repeat;
	position: absolute;
	right: -2.375rem;
	top: 50%;
	transform: translate(50%, -50%);
	z-index: 2;
}

.single-works .before-after-wrap__item--after .before-after-wrap__image {
	background-color: #f6f6f6;
	border-left: 0.3125rem solid #005dab;
	border-right: 0.3125rem solid #005dab;
	overflow: hidden;
}

.single-works .before-after-wrap__image img {
	max-width: 100%;
	max-height: 38.8125rem;
	width: auto;
	height: auto;
	vertical-align: top;
}

.single-works .before-after-wrap__item--before .before-after-wrap__content {
	background-color: #e3e3e3;
}

.single-works .before-after-wrap__item--after .before-after-wrap__content {
	background-color: #005dab;
	color: #fff;
}

.single-works .before-after-wrap__content {
	padding: 1.8125rem 1.875rem;
}

.single-works .before-after-wrap__item-title {
	font-size: 1.25rem;
	font-weight: bold;
	padding-bottom: 0.9375rem;
}

.single-works .before-after-wrap__item--before .before-after-wrap__item-title {
	border-bottom: 0.0625rem solid #171213;
}

.single-works .before-after-wrap__item--after .before-after-wrap__item-title {
	border-bottom: 0.0625rem solid #fff;
}

.single-works .before-after-wrap__item-text {
	margin-top: 0.9375rem;
	font-size: 1.0625rem;
	line-height: 1.7;
}

.single-works .single-works__voice {
	margin-top: 7.375rem;
}

.single-works .voice-box {
	margin-top: 1.875rem;
	background-color: #005dab;
	padding: 3.75rem 7.8125rem;
	background-image: url('../images/bg_pattern_lt_01.svg'), url('../images/bg_pattern_rb_01.svg');
	background-size: 28.125rem 18.75rem;
	background-position:
		left top,
		right bottom;
	background-repeat: no-repeat;
}

.single-works .voice-box__title {
	background-color: #fff;
	border: 0.375rem solid #ececec;
	border-bottom: none;
	padding: 3.375rem 6.25rem 1.75rem;
	font-size: 1.5625rem;
	font-weight: bold;
	line-height: 1.5;
}

.single-works .voice-box__title:last-child {
	border-bottom: 0.375rem solid #ececec;
}

.single-works .voice-box__text {
	background-color: #fff;
	border: 0.375rem solid #ececec;
	border-top: none;
	padding: 0 6.25rem 3.375rem;
	font-size: 1.0625rem;
	line-height: 1.8;
}

.single-works .voice-box__text:first-child {
	border-top: 0.375rem solid #ececec;
}

.single-works .single-works__comment {
	margin-top: 6.25rem;
}

.single-works .comment-box {
	margin-top: 1.875rem;
	background-color: #001650;
	padding: 3.75rem 7.8125rem;
	background-image: url('../images/bg_pattern_lt_01.svg'), url('../images/bg_pattern_rb_01.svg');
	background-size: 28.125rem 18.75rem;
	background-position:
		left top,
		right bottom;
	background-repeat: no-repeat;
}

.single-works .comment-box__title {
	background-color: #fff;
	border: 0.375rem solid #ececec;
	border-bottom: none;
	padding: 3.375rem 6.25rem 1.75rem;
	font-size: 1.5625rem;
	font-weight: bold;
	line-height: 1.5;
}

.single-works .comment-box__title:last-child {
	border-bottom: 0.375rem solid #ececec;
}

.single-works .comment-box__text {
	background-color: #fff;
	border: 0.375rem solid #ececec;
	border-top: none;
	padding: 0 6.25rem 3.375rem;
	font-size: 1.0625rem;
	line-height: 1.8;
}

.single-works .comment-box__text:first-child {
	border-top: 0.375rem solid #ececec;
}

.single-works .pagenavi {
	margin-top: 7.8125rem;
	margin-bottom: 7.0625rem;
}

.single-works .pagenavi__inner {
	max-width: 75rem;
	margin: 0 auto;
	padding: 2.1875rem 2.5rem;
	border-top: 0.0625rem solid #dbdbdb;
	border-bottom: 0.0625rem solid #dbdbdb;
}

.single-works .pagenavi__list {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.single-works .pagenavi__list__item a {
	display: flex;
	align-items: center;
	gap: 1.25rem;
	color: #171213;
	font-size: 1.0625rem;
	text-decoration: none;
	transition: opacity 0.2s;
}

.single-works .pagenavi__list__item a:hover {
	opacity: 0.6;
}

.single-works .pagenavi__list__item--next a {
	flex-direction: row-reverse;
}

.single-works .pagenavi__list__item.is-empty a {
	pointer-events: none;
}

.single-works .pagenavi__list__item.is-empty a .icon {
	background-color: #bcbcbc !important;
}

.single-works .pagenavi__list__item--prev a .icon,
.single-works .pagenavi__list__item--next a .icon {
	position: relative;
	width: 3.4375rem;
	height: 3.4375rem;
	background-color: #001650;
	display: inline-block;
	flex-shrink: 0;
}

.single-works .pagenavi__list__item a .icon .arrow {
	position: absolute;
	left: 50%;
	top: 55%;
	transform: translate(-50%, -50%);
}

.single-works .pagenavi__list__item a .icon .arrow::before {
	content: '';
	position: absolute;
	width: 0.625rem;
	height: 0.625rem;
	border-top: 0.1875rem solid #fff;
	border-right: 0.1875rem solid #fff;
}

.single-works .pagenavi__list__item a .icon .arrow::after {
	content: '';
	position: absolute;
	width: 0.1875rem;
	height: 1.125rem;
	background-color: #fff;
}

.single-works .pagenavi__list__item--prev a .icon .arrow::before {
	transform: translate(-40%, -70%) rotate(225deg);
}

.single-works .pagenavi__list__item--prev a .icon .arrow::after {
	transform: translate(50%, -65%) rotate(90deg);
}

.single-works .pagenavi__list__item--next a .icon .arrow::before {
	transform: translate(-40%, -70%) rotate(45deg);
}

.single-works .pagenavi__list__item--next a .icon .arrow::after {
	transform: translate(-40%, -65%) rotate(90deg);
}

@media (max-width: 768px) {
	.single-works .single-works-container {
		margin-top: 2.25rem;
		margin-bottom: 4.375rem;
		padding: 0 0.9375rem;
	}

	.single-works .single-works__title {
		font-size: 1.125rem;
	}

	.single-works .single-works__thumbnail {
		height: unset;
		margin-top: 1.5rem;
	}

	.single-works .single-works__thumbnail img {
		height: 11.875rem;
		width: auto;
	}

	.single-works .single-works__catch {
		margin-top: 2rem;
	}

	.single-works .single-works__catch-icon {
		width: 1.625rem;
	}

	.single-works .single-works__catch-copy {
		font-size: 1.125rem;
		padding: 1rem 1.875rem;
		margin-top: 1.0625rem;
	}

	.single-works .single-works__section-title {
		font-size: 2.09375rem;
		border-bottom-width: 0.1563rem;
		padding-bottom: 0.59375rem;
	}

	.single-works .single-works__section-subtitle {
		font-size: 0.75rem;
	}

	.single-works .single-works__voice .single-works__section-title,
	.single-works .single-works__comment .single-works__section-title {
		border-bottom: none;
		padding-bottom: 0;
	}

	.single-works .single-works__reform-data {
		margin-top: 1.75rem;
	}

	.single-works .reform-data-list {
		flex-direction: column;
		gap: 0;
	}

	.single-works .reform-data-list__item {
		width: 100%;
		flex-direction: column;
	}

	.single-works .reform-data-list__label {
		width: 100%;
		font-size: 0.90625rem;
		padding: 1.53125rem 1.03125rem;
	}

	.single-works .reform-data-list__value {
		font-size: 0.90625rem;
		padding: 1.53125rem 1.03125rem;
	}

	.single-works .single-works__content {
		margin-top: 3.125rem;
		font-size: 0.90625rem;
	}

	.single-works .single-works__before-after {
		margin-top: 3.125rem;
	}

	.single-works .before-after-wrap {
		flex-direction: column;
		gap: 4.375rem;
	}

	.single-works .before-after-wrap__item {
		width: 100%;
	}

	.single-works .before-after-wrap__item--before {
		position: relative;
	}

	.single-works .before-after-wrap__item--before .before-after-wrap__image {
		position: static;
	}

	.single-works .before-after-wrap__item--before .before-after-wrap__image::after {
		right: 50%;
		top: auto;
		bottom: -1.875rem;
		transform: translate(50%, 50%) rotate(90deg);
	}

	.single-works .before-after-wrap__image img {
		max-height: 23.5625rem;
	}

	.single-works .before-after-wrap__content {
		padding: 1.5625rem 1.03125rem;
	}

	.single-works .before-after-wrap__item-title {
		font-size: 1rem;
		padding-bottom: 0.625rem;
	}

	.single-works .before-after-wrap__item-text {
		font-size: 0.90625rem;
		margin-top: 0.625rem;
	}

	.single-works .single-works__voice {
		margin-top: 4.6875rem;
	}

	.single-works .voice-box {
		padding: 1.875rem 1.03125rem;
		background-size: 14.0625rem 9.375rem;
		margin-top: 1.5625rem;
	}

	.single-works .voice-box__title {
		border-width: 0.1875rem;
		border-bottom: none;
		padding: 1.875rem 1.15625rem 1.0625rem;
		font-size: 1rem;
	}

	.single-works .voice-box__title:last-child {
		border-bottom: 0.1875rem solid #ececec;
	}

	.single-works .voice-box__text {
		border-width: 0.1875rem;
		border-top: none;
		padding: 0 1.15625rem 1.875rem;
		font-size: 0.90625rem;
	}

	.single-works .voice-box__text:first-child {
		border-top: 0.1875rem solid #ececec;
	}

	.single-works .single-works__comment {
		margin-top: 3.125rem;
	}

	.single-works .comment-box {
		padding: 1.875rem 1.03125rem;
		background-size: 14.0625rem 9.375rem;
		margin-top: 1.5625rem;
	}

	.single-works .comment-box__title {
		border-width: 0.1875rem;
		border-bottom: none;
		padding: 1.875rem 1.15625rem 1.0625rem;
		font-size: 1rem;
	}

	.single-works .comment-box__title:last-child {
		border-bottom: 0.1875rem solid #ececec;
	}

	.single-works .comment-box__text {
		border-width: 0.1875rem;
		border-top: none;
		padding: 0 1.15625rem 1.875rem;
		font-size: 0.90625rem;
	}

	.single-works .comment-box__text:first-child {
		border-top: 0.1875rem solid #ececec;
	}

	.single-works .pagenavi {
		margin-top: 4.375rem;
		margin-bottom: 4.375rem;
		padding: 0 0.9375rem;
	}

	.single-works .pagenavi__inner {
		padding: 2.0625rem 0;
	}

	.single-works .pagenavi__list {
		align-items: flex-end;
	}

	.single-works .pagenavi__list__item a {
		flex-direction: column;
		font-size: 0.90625rem;
		gap: 0.4063rem;
	}

	.single-works .pagenavi__list__item--next a {
		flex-direction: column;
	}

	.single-works .pagenavi__list__item--prev a .icon,
	.single-works .pagenavi__list__item--next a .icon {
		width: 3rem;
		height: 3rem;
	}

	.single-works .pagenavi__list__item--list a span {
		margin-top: 0.5rem;
	}
}

.heading-container {
	background: #001650;
	position: relative;
	overflow: hidden;
	padding: 5.625rem 0 0;
}

.heading-container::after {
	content: '';
	position: absolute;
	top: 60%;
	right: 0;
	width: 18.75rem;
	height: 18.75rem;
	transform: translateY(-50%);
	background-image: var(--bgImage);
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	mask-image: linear-gradient(to right, transparent, black);
	-webkit-mask-image: linear-gradient(to right, transparent, black);
}

.heading-content {
	max-width: 75rem;
	margin: 8rem auto 4.6875rem;
	position: relative;
	z-index: 2;
}

.heading-content h1 {
	color: #fff;
	font-size: 2.5rem;
	margin-bottom: 1.125rem;
}

@media (max-width: 77.5rem) {
	.heading-content h1 {
		font-size: 1rem;
		margin-bottom: 0.5625rem;
	}
}

@media (max-width: 1320px) {
	.heading-content {
		padding-left: 3.75rem;
	}
}

.main {
	margin-top: 9.125rem;
}

@media (max-width: 77.5rem) {
	.main {
		margin-top: 2.25rem;
		padding: 0 0.9375rem;
	}
}

.main__inner {
	max-width: 75rem;
	margin: 0 auto;
}

.main__title {
	display: flex;
	flex-direction: column;
	align-items: center;
}

.main__title .icon {
	margin-right: auto;
	margin-left: auto;
	width: 3.25rem;
	display: inline-block;
}

@media (max-width: 77.5rem) {
	.main__title .icon {
		width: 1.625rem;
	}
}

.main__title .icon img {
	width: 100%;
}

.main__title span {
	margin-top: 1.875rem;
	padding: 1.1875rem 5.9375rem;
	text-align: center;
	width: 100%;
	display: block;
	font-size: 1.875rem;
	border-top: 0.0625rem solid #005dab;
	border-bottom: 0.0625rem solid #005dab;
	text-align: left;
}

@media (max-width: 77.5rem) {
	.main__title span {
		margin-top: 1.0625rem;
		font-size: 1.125rem;
		padding: 1rem 1.875rem;
	}
}

.main .eyecatch {
	margin-top: 3.9375rem;
	width: 100%;
	height: 41.25rem;
	text-align: center;
	background-color: #f6f6f6;
}

@media (max-width: 77.5rem) {
	.main .eyecatch {
		margin-top: 2.0313rem;
		height: unset;
	}
}

.main .eyecatch img {
	vertical-align: top;
	width: auto;
	height: 100%;
}

@media (max-width: 77.5rem) {
	.main .eyecatch img {
		height: 11.875rem;
	}
}

.data {
	margin-top: 5.5625rem;
}

@media (max-width: 77.5rem) {
	.data {
		margin-top: 1.75rem;
		padding: 0 0.9375rem;
	}
}

.data__inner {
	max-width: 75rem;
	margin: 0 auto;
}

.data__title {
	line-height: 1.48;
	font-size: 3.125rem;
	font-weight: bold;
	font-family: 'Oswald', sans-serif;
	border-bottom: 0.3125rem solid #001650;
	padding-bottom: 1.25rem;
}

@media (max-width: 77.5rem) {
	.data__title {
		font-size: 2.0938rem;
		border-bottom-width: 0.1563rem;
		padding-bottom: 0.5938rem;
	}
}

.data__subtitle {
	display: block;
	font-size: 1.25rem;
	margin-top: -0.3125rem;
	font-family: 'Noto Sans JP', sans-serif;
}

@media (max-width: 77.5rem) {
	.data__subtitle {
		font-size: 0.75rem;
	}
}

.data__list {
	margin: 1.875rem auto 0;
	display: flex;
	flex-wrap: wrap;
	gap: 1.5625rem 0.875rem;
	box-sizing: border-box;
}

@media (max-width: 77.5rem) {
	.data__list {
		flex-direction: column;
		gap: 0;
	}
}

.data__list__item {
	width: calc(50% - 0.875rem);
}

@media (max-width: 77.5rem) {
	.data__list__item {
		width: 100%;
	}
}

.data__list__item.is-wide {
	width: 100%;
}

.data__list__item .detail {
	display: flex;
	font-size: 1.125rem;
}

@media (max-width: 77.5rem) {
	.data__list__item .detail {
		flex-direction: column;
		font-size: 0.9063rem;
	}
}

.data__list__item .detail__title {
	width: 10rem;
	background-color: #f8f8f8;
	border-bottom: 0.125rem solid #dfdfdf;
	padding: 1.8125rem 1.1875rem;
	display: flex;
	align-items: center;
	gap: 0.625rem;
	font-weight: bold;
}

@media (max-width: 77.5rem) {
	.data__list__item .detail__title {
		width: 100%;
		padding: 1.5313rem 1.0313rem;
	}
}

.data__list__item .detail__title::before {
	content: '';
	display: block;
	width: 0.8125rem;
	height: 0.8125rem;
	background-color: #001650;
}

.data__list__item .detail__content {
	flex: 1;
	border-bottom: 0.125rem solid #f2f2f2;
	padding: 1.8125rem 1.1875rem;
}

.data__content {
	margin-top: 6.25rem;
}

@media (max-width: 77.5rem) {
	.data__content {
		margin-top: 3.125rem;
	}
}

.before_after {
	margin-top: 6.25rem;
}

@media (max-width: 77.5rem) {
	.before_after {
		margin-top: 3.125rem;
		padding: 0 0.9375rem;
	}
}

.before_after__inner {
	max-width: 75rem;
	margin: 0 auto;
}

.before_after__list {
	display: flex;
	justify-content: space-between;
	gap: 3.75rem;
}

@media (max-width: 77.5rem) {
	.before_after__list {
		flex-direction: column;
		gap: 4.375rem;
	}
}

.before_after__list__item {
	width: calc(50% - 1.875rem);
}

@media (max-width: 77.5rem) {
	.before_after__list__item {
		width: 100%;
	}
}

@media (max-width: 77.5rem) {
	.before_after__list__item--before {
		position: relative;
	}
}

.before_after__list__item--before .label {
	background-color: #e3e3e3;
}

.before_after__list__item--before .image {
	border-right: 0.3125rem solid #f6f6f6;
	border-left: 0.3125rem solid #f6f6f6;
	background-color: #f6f6f6;
}

.before_after__list__item--before .image::before {
	content: '';
	display: block;
	background-image: var(--iconRight);
	width: 1rem;
	height: 2rem;
	background-size: cover;
	position: absolute;
	right: -2.375rem;
	top: 50%;
	transform: translate(50%, -50%);
	z-index: 2;
}

@media (max-width: 77.5rem) {
	.before_after__list__item--before .image::before {
		right: 50%;
		top: auto;
		bottom: -1.875rem;
		transform: translate(50%, 50%) rotate(90deg);
		width: 1rem;
		height: 2rem;
	}
}

.before_after__list__item--before .content {
	background-color: #e3e3e3;
}

.before_after__list__item--before .content .title {
	border-bottom: 0.0625rem solid #171213;
}

.before_after__list__item--after .label {
	background-color: #005dab;
	color: #fff;
}

.before_after__list__item--after .image {
	border-right: 0.3125rem solid #005dab;
	border-left: 0.3125rem solid #005dab;
	background-color: #f6f6f6;
	overflow: hidden;
}

.before_after__list__item--after .content {
	background-color: #005dab;
	color: #fff;
}

.before_after__list__item--after .content .title {
	border-bottom: 0.0625rem solid #171213;
	border-bottom-color: #fff;
}

.before_after__list__item .label {
	line-height: 1.4857142857;
	font-size: 1.875rem;
	font-weight: bold;
	font-family: 'Oswald', sans-serif;
	text-align: center;
	padding: 0.3125rem 0;
}

@media (max-width: 77.5rem) {
	.before_after__list__item .label {
		font-size: 1.5625rem;
	}
}

.before_after__list__item .image {
	text-align: center;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
}

@media (max-width: 77.5rem) {
	.before_after__list__item .image {
		max-height: 23.5313rem;
		position: static;
	}
}

.before_after__list__item .image img {
	vertical-align: top;
	max-width: 100%;
}

@media (max-width: 77.5rem) {
	.before_after__list__item .image img {
		width: auto;
		max-height: 23.5313rem;
	}
}

.before_after__list__item .content {
	padding: 1.8125rem 1.875rem;
}

@media (max-width: 77.5rem) {
	.before_after__list__item .content {
		padding: 1.5625rem 1.0313rem;
	}
}

.before_after__list__item .content .title {
	font-size: 1.25rem;
	font-weight: bold;
	padding-bottom: 0.9375rem;
}

@media (max-width: 77.5rem) {
	.before_after__list__item .content .title {
		font-size: 1rem;
	}
}

.before_after__list__item .content .lead {
	margin-top: 0.9375rem;
	font-size: 1.0625rem;
}

@media (max-width: 77.5rem) {
	.before_after__list__item .content .lead {
		font-size: 0.9063rem;
	}
}

.voice {
	margin-top: 7.375rem;
}

@media (max-width: 77.5rem) {
	.voice {
		margin-top: 4.6875rem;
		padding: 0 0.9375rem;
	}
}

.voice__inner {
	max-width: 75rem;
	margin: 0 auto;
}

.voice__title {
	line-height: 1.48;
	font-size: 3.125rem;
	font-weight: bold;
	font-family: 'Oswald', sans-serif;
}

@media (max-width: 77.5rem) {
	.voice__title {
		font-size: 2.0938rem;
		border-bottom-width: 0.1563rem;
		padding-bottom: 0.5938rem;
	}
}

.voice__subtitle {
	display: block;
	font-size: 1.25rem;
	margin-top: -0.3125rem;
	font-family: 'Noto Sans JP', sans-serif;
}

@media (max-width: 77.5rem) {
	.voice__subtitle {
		font-size: 0.75rem;
	}
}

.voice__content {
	margin-top: 1.875rem;
	background-color: #005dab;
	padding: 3.75rem 7.8125rem;
	background-image: var(--bgLeftTop), var(--bgRightBottom);
	background-size: 28.125rem 18.75rem;
	background-position:
		left top,
		right bottom;
	background-repeat: no-repeat;
}

@media (max-width: 77.5rem) {
	.voice__content {
		margin-top: 1.5625rem;
		padding: 1.875rem 1.0313rem;
		background-size: 14.0625rem 9.375rem;
	}
}

.voice__content__inner {
	border: 0.375rem solid #ececec;
	background-color: #fff;
	padding: 3.375rem 6.25rem;
}

@media (max-width: 77.5rem) {
	.voice__content__inner {
		border-width: 0.1875rem;
		padding: 1.875rem 1.1563rem;
	}
}

.voice__content .title {
	font-size: 1.5625rem;
	font-weight: bold;
}

@media (max-width: 77.5rem) {
	.voice__content .title {
		font-size: 1rem;
	}
}

.voice__content .lead {
	margin-top: 1.75rem;
	font-size: 1.0625rem;
}

@media (max-width: 77.5rem) {
	.voice__content .lead {
		margin-top: 1.0625rem;
		font-size: 0.9063rem;
	}
}

.comment {
	margin-top: 6.25rem;
}

@media (max-width: 77.5rem) {
	.comment {
		margin-top: 3.125rem;
		padding: 0 0.9375rem;
	}
}

.comment__inner {
	max-width: 75rem;
	margin: 0 auto;
}

.comment__title {
	line-height: 1.48;
	font-size: 3.125rem;
	font-weight: bold;
	font-family: 'Oswald', sans-serif;
}

@media (max-width: 77.5rem) {
	.comment__title {
		font-size: 2.0938rem;
		border-bottom-width: 0.1563rem;
		padding-bottom: 0.5938rem;
	}
}

.comment__subtitle {
	display: block;
	font-size: 1.25rem;
	margin-top: -0.3125rem;
	font-family: 'Noto Sans JP', sans-serif;
}

@media (max-width: 77.5rem) {
	.comment__subtitle {
		font-size: 0.75rem;
	}
}

.comment__content {
	margin-top: 1.875rem;
	background-color: #001650;
	padding: 3.75rem 7.8125rem;
	background-image: var(--bgLeftTop), var(--bgRightBottom);
	background-size: 28.125rem 18.75rem;
	background-position:
		left top,
		right bottom;
	background-repeat: no-repeat;
}

@media (max-width: 77.5rem) {
	.comment__content {
		margin-top: 1.5625rem;
		padding: 1.875rem 1.0313rem;
		background-size: 14.0625rem 9.375rem;
	}
}

.comment__content__inner {
	border: 0.375rem solid #ececec;
	background-color: #fff;
	padding: 3.375rem 6.25rem;
}

@media (max-width: 77.5rem) {
	.comment__content__inner {
		border-width: 0.1875rem;
		padding: 1.875rem 1.1563rem;
	}
}

.comment__content .title {
	font-size: 1.5625rem;
	font-weight: bold;
}

@media (max-width: 77.5rem) {
	.comment__content .title {
		font-size: 1rem;
	}
}

.comment__content .lead {
	margin-top: 1.75rem;
	font-size: 1.0625rem;
}

@media (max-width: 77.5rem) {
	.comment__content .lead {
		margin-top: 1.0625rem;
		font-size: 0.9063rem;
	}
}

.pagenavi {
	margin-top: 7.8125rem;
	margin-bottom: 7.0625rem;
}

@media (max-width: 77.5rem) {
	.pagenavi {
		margin-top: 4.375rem;
		margin-bottom: 4.375rem;
		padding: 0 0.9375rem;
	}
}

.pagenavi__inner {
	max-width: 75rem;
	margin: 0 auto;
	padding: 2.1875rem 2.5rem;
	border-top: 0.0625rem solid #dbdbdb;
	border-bottom: 0.0625rem solid #dbdbdb;
}

@media (max-width: 77.5rem) {
	.pagenavi__inner {
		padding: 2.0625rem 0;
	}
}

.pagenavi__list {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

@media (max-width: 77.5rem) {
	.pagenavi__list {
		align-items: flex-end;
	}
}

.pagenavi__list__item.is-empty a {
	pointer-events: none;
}

.pagenavi__list__item.is-empty a .icon {
	background-color: #bcbcbc;
}

.pagenavi__list__item--prev a .icon,
.pagenavi__list__item--next a .icon {
	position: relative;
	width: 3.4375rem;
	height: 3.4375rem;
	background-color: #001650;
}

@media (max-width: 77.5rem) {

	.pagenavi__list__item--prev a .icon,
	.pagenavi__list__item--next a .icon {
		width: 3rem;
		height: 3rem;
	}
}

.pagenavi__list__item--prev a .icon .arrow::before {
	transform: translate(-40%, -70%) rotate(225deg);
}

.pagenavi__list__item--prev a .icon .arrow::after {
	transform: translate(50%, -65%) rotate(90deg);
}

@media (max-width: 77.5rem) {
	.pagenavi__list__item--list a span {
		margin-top: 0.5rem;
	}
}

.pagenavi__list__item--next a {
	flex-direction: row-reverse;
}

.pagenavi__list__item--next a .icon .arrow::before {
	transform: translate(-40%, -70%) rotate(45deg);
}

.pagenavi__list__item--next a .icon .arrow::after {
	transform: translate(-40%, -65%) rotate(90deg);
}

.pagenavi__list__item a {
	display: flex;
	align-items: center;
	gap: 1.25rem;
	color: #171213;
	font-size: 1.0625rem;
	text-decoration: none;
	transition: opacity 0.2s;
}

@media (max-width: 77.5rem) {
	.pagenavi__list__item a {
		flex-direction: column;
		font-size: 0.9063rem;
		gap: 0.4063rem;
	}
}

.pagenavi__list__item a:hover {
	opacity: 0.6;
}

.pagenavi__list__item a .icon {
	display: inline-block;
}

.pagenavi__list__item a .icon img {
	vertical-align: top;
}

.pagenavi__list__item a .icon .arrow {
	position: absolute;
	left: 50%;
	top: 55%;
	transform: translate(-50%, -50%);
}

.pagenavi__list__item a .icon .arrow::before {
	content: '';
	position: absolute;
	width: 0.625rem;
	height: 0.625rem;
	border-top: 0.1875rem solid #fff;
	border-right: 0.1875rem solid #fff;
}

.pagenavi__list__item a .icon .arrow::after {
	content: '';
	position: absolute;
	width: 0.1875rem;
	height: 1.125rem;
	background-color: #fff;
}

.heading-container .breadcrumb {
	background-color: transparent;
	margin: 0;
	padding: 0;
}

.heading-container .breadcrumb__link {
	color: #fff;
}

.heading-container .breadcrumb__current {
	color: #fff;
}

@media (max-width: 768px) {
	.heading-container .breadcrumb__inner {
		padding: 0;
	}

	.heading-container {
		padding: 3.125rem 0 0;
	}

	.heading-container::after {
		background-image: var(--bgImageSp);
		width: 9.375rem;
		height: 9.375rem;
		top: 62%;
		right: 0;
		background-size: contain;
	}

	.heading-content {
		margin: 0 auto;
		padding: 3.875rem 0.9375rem 2rem;
	}

	h1 {
		font-size: 1rem;
		margin-bottom: 0.5625rem;
	}

	.news-container {
		margin: 3.125rem auto 6.25rem;
		padding: 0;
	}

	.news-list {
		padding: 0 0.9375rem;
	}

	.news-item {
		flex-direction: column;
		padding: 0 0 1.5rem;
		gap: 1.25rem;
	}

	.news-item-header {
		gap: 1rem;
	}

	.news-date {
		margin-top: 0;
	}

	.news-date time {
		font-size: 0.875rem;
	}

	.news-category .category {
		width: 6.9375rem;
		font-size: 0.6875rem;
		padding: 0.1875rem 0 0.3125rem;
	}

	.content,
	.content-text {
		font-size: 0.875rem;
		line-height: 1.8;
	}

	.content {
		margin-top: 0;
	}

	.pdf-link {
		gap: 1rem;
		margin-top: 0;
		align-items: center;
	}

	.pdf-link .pdf-icon {
		width: 1.5625rem;
		height: 1.5625rem;
		margin-top: 0;
	}

	.load-more-container {
		margin: 3rem auto 0;
		padding: 0 0.9375rem;
	}

	.load-more {
		font-size: 0.875rem;
		padding: 0.875rem 0;
		gap: 1.25rem;
	}

	.arrow-container {
		width: 0.9375rem;
		height: 0.625rem;
	}

	.arrow::before {
		width: 0.375rem;
		height: 0.375rem;
		border-top: 0.125rem solid #fff;
		border-right: 0.125rem solid #fff;
	}

	.arrow::after {
		width: 0.125rem;
		height: 0.625rem;
	}
}

.breadcrumb {
	width: 100%;
	margin-bottom: 3.25rem;
	padding: 0;
	background-color: #fff;
}

.breadcrumb__inner {
	max-width: 91.5rem;
	width: 100%;
}

.breadcrumb__list {
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin: 0;
	padding: 0;
}

@media (max-width: 77.5rem) {
	.breadcrumb__list {
		flex-wrap: nowrap;
	}
}

.breadcrumb__item {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	font-size: 0.875rem;
}

.breadcrumb__link {
	color: #171213;
	text-decoration: none;
	transition: opacity 0.3s ease;
	max-width: 18em;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.breadcrumb__link:hover {
	opacity: 0.7;
}

.breadcrumb__separator {
	position: relative;
	display: inline-block;
	width: 0.75rem;
	height: 1rem;
	margin: 0 0.25rem;
}

.breadcrumb__separator::before,
.breadcrumb__separator::after {
	content: '';
	position: absolute;
	width: 0.0625rem;
	height: 0.625rem;
	background-color: #bcbcbc;
	left: 50%;
}

.breadcrumb__separator::before {
	transform: translate(-50%, 0) rotate(125deg);
	top: 0;
}

.breadcrumb__separator::after {
	transform: translate(-50%, 0) rotate(-125deg);
	bottom: 0;
}

.breadcrumb__current {
	color: #171213;
	max-width: 18em;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

@media (max-width: 768px) {
	.breadcrumb {
		padding: 0;
		margin-bottom: 1.1875rem;
	}

	.breadcrumb__inner {
		padding: 0;
	}

	.breadcrumb__separator {
		width: 0.5rem;
		height: 0.75rem;
		margin: 0;
	}

	.breadcrumb__separator::before,
	.breadcrumb__separator::after {
		width: 0.0625rem;
		height: 0.5rem;
	}

	.breadcrumb__item {
		font-size: 0.75rem;
		gap: 0.4375rem;
	}
}

.nav-list {
	display: flex;
	list-style: none;
	margin: 0;
	padding: 0;
	gap: 2rem;
	height: 100%;
}

.nav-item {
	position: relative;
	height: 100%;
	display: flex;
	align-items: center;
}

.nav-link {
	text-decoration: none;
	color: #171213;
	transition:
		color 0.3s ease,
		opacity 0.3s ease;
	position: relative;
	font-weight: bold;
	height: 5.625rem;
	display: flex;
	align-items: center;
	padding: 0;
}

.nav-link>span {
	transform: translateY(0.3125rem);
}

.nav-link-service {
	margin-right: 0.75rem;
}

.header:not(.scrolled) .nav-link {
	color: #ffffff;
}

.nav-link::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	width: 0;
	height: 0.3125rem;
	background: #001650;
	transition: width 0.3s ease;
}

.nav-link:nth-child(2) {
	margin-right: 0.75rem;
}

.header:not(.scrolled) .nav-link::after {
	background: #ffffff;
}

.nav-link:hover {
	opacity: 0.7;
}

.header:not(.scrolled) .nav-link[aria-current='page']::after {
	width: 0;
}

.header.scrolled .nav-link[aria-current='page']::after {
	width: 100%;
}

.nav-item.has-mega-menu .nav-link::before {
	content: '';
	position: absolute;
	right: -0.75rem;
	top: 52.5%;
	width: 0.375rem;
	height: 0.375rem;
	border-right: 0.125rem solid #002179;
	border-bottom: 0.125rem solid #002179;
	transform: translateY(-30%) rotate(45deg);
	transition: transform 0.3s ease;
}

.header:not(.scrolled) .nav-item.has-mega-menu .nav-link::before {
	border-color: #ffffff;
}

.nav-item.has-mega-menu:hover .nav-link::before {
	transform: translateY(0) rotate(45deg);
}

.mega-menu {
	display: none;
	position: fixed;
	top: 5.625rem;
	left: 0;
	background: #fff;
	padding: 4.625rem 0 6.25rem;
	width: 100%;
	height: calc(100vh - 5.625rem);
	z-index: 1000;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	border-bottom: 1.5625rem solid #001650;
}

.mega-menu.is-open {
	display: block;
	animation: slideDown 0.4s ease forwards;
}

.mega-menu.is-closing {
	animation: slideUp 0.4s ease forwards;
}

@keyframes slideDown {
	from {
		opacity: 0;
		transform: translateY(-100%);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@keyframes slideUp {
	from {
		opacity: 1;
		transform: translateY(0);
	}

	to {
		opacity: 0;
		transform: translateY(-100%);
	}
}

.mega-menu__close {
	position: absolute;
	top: 3.125rem;
	right: 3.125rem;
	background: none;
	border: none;
	cursor: pointer;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.5rem;
	padding: 0;
	transition: opacity 0.3s ease;
}

.mega-menu__close:hover {
	opacity: 0.7;
}

.mega-menu__close-icon {
	position: relative;
	width: 2.25rem;
	height: 2.25rem;
}

.mega-menu__close-icon span {
	position: absolute;
	left: 0;
	width: 100%;
	height: 0.1875rem;
	background-color: #171213;
	transition: transform 0.3s ease;
}

.mega-menu__close-icon span:first-child {
	top: 50%;
	transform: translateY(-50%) rotate(45deg);
}

.mega-menu__close-icon span:last-child {
	top: 50%;
	transform: translateY(-50%) rotate(-45deg);
}

.mega-menu__title {
	font-size: 4.75rem;
	font-weight: bold;
	line-height: calc(113 / 76);
	margin-bottom: 2.5rem;
	font-family: 'Oswald', sans-serif;
}

.mega-menu__subtitle {
	display: block;
	font-size: 1.0625rem;
	margin-top: -1.25rem;
	font-family: 'Noto Sans JP', sans-serif;
}

.mega-menu__more {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-weight: bold;
	width: 100%;
	gap: 1rem;
	color: #171213;
	font-size: 1.0625rem;
	text-decoration: none;
	padding: 1.0625rem 0;
	position: relative;
	background: linear-gradient(to right, #001650 50%, transparent 50%);
	background-size: 200% 100%;
	background-position: right bottom;
	transition: all 0.3s ease;
}

.mega-menu__more::before,
.mega-menu__more::after {
	content: '';
	position: absolute;
	left: 0;
	width: 100%;
	height: 0.375rem;
	background: linear-gradient(to right, #001650 50%, #ececec 50%);
	background-size: 200% 100%;
	background-position: right bottom;
	transition: all 0.3s ease;
}

.mega-menu__more::before {
	top: 0;
}

.mega-menu__more::after {
	bottom: 0;
}

.mega-menu__more:hover {
	background-position: left bottom;
	color: #ffffff !important;
}

.mega-menu__more:hover::before,
.mega-menu__more:hover::after {
	background-position: left bottom;
}

.mega-menu__more:hover .mega-menu__more-icon {
	filter: brightness(0) invert(1);
}

.mega-menu__more-icon {
	transition: filter 0.3s ease;
	position: absolute;
	right: 5%;
}

.mega-menu__services {
	display: grid;
	grid-template-columns: repeat(auto-fit, 18.75rem);
	gap: 1.5rem;
	width: 100%;
	margin-top: 1.5625rem;
	justify-content: center;
}

.mega-menu__service {
	position: relative;
	text-decoration: none;
	color: #171213;
	display: block;
}

.mega-menu__service-image {
	position: relative;
	overflow: hidden;
	margin-bottom: 1rem;
	aspect-ratio: 300 / 176;
}

.mega-menu__service-image>img {
	width: 100%;
	height: 100%;
	display: block;
	object-fit: cover;
}

.mega-menu__service-overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 22, 80, 0.7);
	transition: opacity 0.3s ease;
}

.mega-menu__service-content {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	text-align: center;
	color: #fff;
	width: 100%;
	z-index: 1;
	transition: all 0.3s ease;
}

.mega-menu__service-icon-wrap {
	width: 3.125rem;
	height: 3.125rem;
	margin: 0 auto 1rem;
	display: flex;
	align-items: center;
	justify-content: center;
}

.mega-menu__service-icon {
	filter: brightness(0) invert(1);
	width: 3.125rem;
	height: 3.125rem;
}

.mega-menu__service-text {
	font-size: 1rem;
	font-weight: bold;
	color: #fff;
	text-align: center;
	display: block;
}

.mega-menu__service-en {
	display: block;
	color: #eee;
	font-size: 2.875rem;
	font-family: 'Oswald', sans-serif;
	line-height: 1;
	margin-bottom: 0.5rem;
	padding-bottom: 1rem;
	transition: color 0.3s ease;
	border-bottom: 0.1063rem solid #eee;
}

.mega-menu__service:hover .mega-menu__service-en {
	color: transparent;
}

.mega-menu__service-more {
	position: absolute;
	bottom: 1rem;
	left: 0;
	display: flex;
	align-items: center;
	gap: 1rem;
	opacity: 0;
	transform: translateX(-1.25rem);
	transition: all 0.3s ease;
}

.mega-menu__service-more-text {
	font-size: 1.875rem;
	font-weight: bold;
	font-family: 'Oswald', sans-serif;
	color: #171213;
}

.mega-menu__service-more-sub {
	font-size: 0.8125rem;
	color: #171213;
	font-weight: bold;
}

.mega-menu__service:hover .mega-menu__service-overlay {
	opacity: 0;
}

.mega-menu__service:hover .mega-menu__service-content {
	opacity: 0;
	transform: translate(-50%, 1.25rem);
}

.mega-menu__service:hover .mega-menu__service-more {
	opacity: 1;
	transform: translateX(0);
}

.mega-menu__close-text {
	font-size: 0.8rem;
	text-transform: uppercase;
	color: #171213;
}

.mega-menu__inner {
	margin: 0 auto;
	padding: 0 3rem;
	display: grid;
	grid-template-columns: 17rem 1fr;
	gap: clamp(2rem, -2.5rem + 8vw, 7.75rem);
	width: 100%;
	max-width: 90rem;
}

@media (max-width: 1240px) {
	.mega-menu__inner {
		gap: 2rem;
		padding: 0 2.5rem;
	}
}

@media (max-width: 768px) {
	.nav-list {
		display: none;
	}
}

.sp-nav-wrapper {
	position: relative;
	height: 100%;
}

.sp-nav-list {
	list-style: none;
	margin: 0;
	padding: 0;
	padding-bottom: 3.125rem;
}

.sp-nav-item {
	border-bottom: 0.125rem solid rgba(255, 255, 255, 1);
}

.sp-nav-item:last-child {
	border-bottom: none;
}

.sp-nav-link {
	display: flex;
	align-items: flex-end;
	text-decoration: none;
	color: #ffffff;
	padding: 0.3125rem 0 0;
	position: relative;
	gap: 0.375rem;
}

.sp-nav-link__en {
	font-size: 2.75rem;
	font-family: 'Oswald', sans-serif;
	font-weight: bold;
	line-height: calc(75 / 44);
}

.sp-nav-link__ja {
	font-size: 1rem;
	line-height: calc(20 / 16);
	padding-bottom: 1rem;
}

.toggle-icon {
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 1rem;
	height: 1rem;
}

.toggle-icon::before,
.toggle-icon::after {
	content: '';
	position: absolute;
	background-color: #ffffff;
	transition: transform 0.3s ease;
	transform-origin: center;
}

.toggle-icon::before {
	top: 50%;
	left: 0;
	width: 100%;
	height: 0.0938rem;
	transform: translateY(-50%);
}

.toggle-icon::after {
	top: 50%;
	left: 50%;
	width: 0.0938rem;
	height: 100%;
	transform: translate(-50%, -50%);
}

.sp-nav-item.is-open .toggle-icon {
	display: flex;
	align-items: center;
}

.sp-nav-item.is-open .toggle-icon::after {
	transform: translate(-50%, -50%) rotate(90deg);
}

.submenu {
	display: block;
	list-style: none;
	margin: 0;
	padding: 0;
	max-height: 0;
	overflow: hidden;
	opacity: 0;
	transform: translateY(-0.625rem);
	transition:
		max-height 0.2s ease-out,
		opacity 0.15s ease-out,
		transform 0.15s ease-out;
	will-change: max-height, opacity, transform;
}

.sp-nav-item.is-open .submenu {
	opacity: 1;
	transform: translateY(0);
	padding: 0.93755rem 0 0;
}

.submenu-item {
	padding: 0 0 1.375rem;
	opacity: 0;
	transform: translateY(-0.625rem);
	transition:
		opacity 0.3s ease-out,
		transform 0.3s ease-out;
}

.sp-nav-item.is-open .submenu-item {
	opacity: 1;
	transform: translateY(0);
}

.sp-nav-item.is-open .submenu-item {
	transition-delay: calc(0.05s * var(--item-index, 0));
}

.submenu-link {
	color: #ffffff;
	text-decoration: none;
	font-size: 0.9375rem;
	transition: opacity 0.3s ease;
}

.submenu-link:hover {
	opacity: 1;
}

.sp-contact {
	padding: 1rem 0 2rem;
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.sp-contact__form {
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1rem;
	font-weight: bold;
	gap: 0.75rem;
	text-decoration: none;
	color: #001650;
	padding: 1.5rem 0;
	position: relative;
	border: 0.0625rem solid #ffffff;
	transition: all 0.3s ease;
	background-color: #ffffff;
}

.sp-contact__form:hover {
	opacity: 0.7;
}

.sp-contact__form-icon {
	display: flex;
	align-items: center;
	width: 1.25rem;
	height: 1.25rem;
}

.sp-contact__form-icon svg path {
	fill: #001650;
}

.sp-contact__tel {
	text-decoration: none;
	transition: opacity 0.3s ease;
}

.sp-contact__tel:hover {
	opacity: 0.7;
}

.sp-contact__tel-label {
	font-size: 0.9375rem;
	font-weight: bold;
	color: #ffffff;
}

.sp-contact__tel-icon {
	display: inline-flex;
	align-items: center;
	width: 4rem;
	position: relative;
}

.sp-contact__tel-registered {
	position: absolute;
	right: 0;
	bottom: -12%;
	font-size: 1.1875rem;
	line-height: 1;
	color: #ffffff;
}

.sp-contact__tel-number-wrapper {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	margin: -0.5rem 0 0.125rem;
}

.sp-contact__tel-number {
	font-size: 2.375rem;
	font-weight: bold;
	font-family: 'Oswald', sans-serif;
	color: #ffffff;
	text-decoration: none;
	letter-spacing: 0.05em;
}

.sp-contact__tel-note-wrapper {
	display: flex;
	align-items: center;
	gap: 1rem;
}

.sp-contact__tel-note-label {
	border: 0.0625rem solid #ffffff;
	padding: 0.325rem 2.3rem;
	font-size: 0.9375rem;
	font-weight: bold;
	white-space: nowrap;
	color: #ffffff;
}

.sp-contact__tel-note {
	font-size: 0.9rem;
	font-weight: bold;
	color: #ffffff;
	line-height: calc(21 / 15);
	flex: 1;
}

.sp-break {
	display: block;
}

@media (min-width: 769px) {
	.sp-nav-list {
		display: none;
	}
}

@media (max-width: 768px) {
	.sp-nav-wrapper {
		height: 100svh;
	}
}

.sp-service-top {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: calc(242 / 307 * 100%);
	padding: 0.875rem 0;
	margin-bottom: 1rem;
	font-size: 0.75rem;
	font-weight: bold;
	color: #ffffff;
	text-decoration: none;
	position: relative;
	gap: 0.5rem;
	background: transparent;
	text-align: center;
}

.sp-service-top::before,
.sp-service-top::after {
	content: '';
	position: absolute;
	left: 0;
	width: 100%;
	height: 0.125rem;
	background: #ffffff;
}

.sp-service-top::before {
	top: 0;
}

.sp-service-top::after {
	bottom: 0;
}

.sp-service-top__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1rem;
	height: 1rem;
	position: absolute;
	right: 0.4375rem;
	top: 50%;
	transform: translateY(-50%);
}

.sp-service-top:hover {
	opacity: 0.7;
}

.header {
	width: 100%;
	background: rgba(255, 255, 255, 0.9);
	position: fixed;
	top: 0;
	left: 0;
	z-index: 1000;
	transition: all 0.3s ease;
}

.header.fade-in-element {
	opacity: 0;
	transform: translateY(-1.25rem);
	animation: fadeInDown 1s ease forwards 1s;
}

.header.scrolled {
	backdrop-filter: blur(0.5rem);
	background-color: #ffffff;
}

.header:not(.scrolled) {
	background: transparent;
	backdrop-filter: none;
}

.header-inner {
	margin: 0 auto;
	padding: 0 3.75rem;
	display: flex;
	justify-content: space-between;
	align-items: center;
	height: 5.625rem;
}

.logo {
	height: 2.5rem;
	width: 28.5rem;
}

.logo a {
	display: block;
	transition: opacity 0.3s ease;
	position: relative;
	height: 100%;
	width: 100%;
}

.logo a:hover {
	opacity: 0.7;
}

.logo img {
	height: 100%;
	width: 100%;
	object-fit: contain;
	position: absolute;
	top: 0;
	left: 0;
	transition: opacity 0.3s ease;
}

.logo-black {
	opacity: 1;
}

.logo-white {
	opacity: 0;
}

.header:not(.scrolled) .logo-black {
	opacity: 0;
}

.header:not(.scrolled) .logo-white {
	opacity: 1;
}

.scroll-color-text path {
	fill: #171213 !important;
	transition: fill 0.3s ease !important;
}

.header:not(.scrolled) .scroll-color-text path {
	fill: #ffffff !important;
}

.sp-menu-trigger {
	display: none;
	width: 3.875rem;
	height: 3.125rem;
	position: relative;
	cursor: pointer;
	z-index: 1001;
	background: transparent;
	transition: background 0.3s ease;
}

.header.scrolled .sp-menu-trigger {
	background: #001650;
}

.sp-menu-trigger::after {
	content: '';
	position: absolute;
	left: 50%;
	top: calc(100% + 0.1563rem);
	transform: translateX(-50%);
	opacity: 0;
	transition: opacity 0.3s ease;
}

.sp-menu-trigger.is-active::after {
	content: 'CLOSE';
	font-family: 'Oswald', sans-serif;
	font-size: 0.5625rem;
	color: #ffffff;
	opacity: 1;
	top: 90%;
	transform: translate(-50%, -50%);
}

.sp-menu-trigger span {
	display: block;
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	width: 1.9375rem;
	height: 0.125rem;
	background-color: #171213;
	transition: all 0.5s cubic-bezier(0.19, 1, 0.22, 1);
}

.sp-menu-trigger span:nth-child(3) {
	width: 1.375rem;
	left: calc(50% + 0.2813rem);
}

.header.scrolled .sp-menu-trigger span {
	background-color: #ffffff;
}

.header:not(.scrolled) .sp-menu-trigger span {
	background-color: #ffffff;
}

.sp-menu-trigger span:nth-child(1) {
	top: 0.9375rem;
}

.sp-menu-trigger span:nth-child(2) {
	top: 1.5rem;
}

.sp-menu-trigger span:nth-child(3) {
	top: 2.0625rem;
}

.sp-menu-trigger.is-active span {
	background-color: #ffffff;
	width: 1.9375rem !important;
	left: 50% !important;
}

.sp-menu-trigger.is-active span:nth-child(1) {
	transform: translate(-50%, 0.5625rem) rotate(45deg);
}

.sp-menu-trigger.is-active span:nth-child(2) {
	opacity: 0;
}

.sp-menu-trigger.is-active span:nth-child(3) {
	transform: translate(-50%, -0.5625rem) rotate(-45deg);
}

@media (max-width: 768px) {
	.header-inner {
		padding: 0.625rem 0 0.625rem 0.625rem;
		height: 3.125rem;
	}

	.logo {
		width: 100%;
		height: 100%;
		margin-right: 3rem;
	}

	.logo svg {
		width: 90%;
		height: auto;
		vertical-align: bottom;
	}

	.logo img {
		width: 100%;
		height: auto;
		object-fit: contain;
	}

	.sp-menu-trigger {
		display: block;
	}

	.global-nav {
		display: block;
		position: fixed;
		top: 0;
		right: -100%;
		width: 100%;
		height: 100vh;
		background: #001650;
		padding: 2.875rem 2rem 2rem;
		overflow-y: auto;
		transition: transform 0.5s cubic-bezier(0.19, 1, 0.22, 1);
		background-image: var(--spNavBg);
		background-repeat: no-repeat;
		background-position: top center;
		background-size: contain;
	}

	.global-nav.is-open {
		transform: translateX(-100%);
	}
}

@keyframes fadeInDown {
	from {
		opacity: 1;
		transform: translateY(-100%);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}

.contact {
	background-color: #f6f6f6;
	padding: 6.9375rem 0;
}

.contact__inner {
	max-width: 75rem;
	margin: 0 auto;
}

.contact__top {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 3.7rem;
	margin-bottom: 2.8rem;
	border-bottom: 0.125rem solid #e7e7e7;
	padding: 0 6.625rem;
}

.contact__heading {
	flex: 0 0 40%;
}

.contact__title {
	font-size: 5.625rem;
	font-weight: bold;
	margin-bottom: 2.375rem;
	font-family: 'Oswald', sans-serif;
}

.contact__subtitle {
	display: block;
	font-size: 1.5rem;
	margin-top: -1.5rem;
	font-family: 'Noto Sans JP', sans-serif;
}

.contact__text {
	flex: 0 0 60%;
	font-size: 1.0625rem;
	line-height: 1.8;
}

.contact__bottom {
	display: flex;
	gap: 9rem;
	padding: 0 7.875rem 3rem;
	border-bottom: 0.125rem solid #e7e7e7;
}

.contact__form {
	width: 25.5625rem;
	height: 6.4375rem;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.4375rem;
	font-weight: bold;
	gap: 0.90625rem;
	text-decoration: none;
	color: #333;
	padding: 1rem 2rem;
	position: relative;
	border: 0.0625rem solid #171213;

	&::before,
	&::after {
		content: '';
		position: absolute;
		left: 0;
		width: 100%;
		height: 0.1875rem;
		background: linear-gradient(to right, #001650 50%, transparent 50%);
		background-size: 200% 100%;
		background-position: right bottom;
		transition: all 0.3s ease;
	}

	&::before {
		top: 0;
	}

	&::after {
		bottom: 0;
	}

	transition: all 0.3s ease;
	background: linear-gradient(to right, #001650 50%, transparent 50%);
	background-size: 200% 100%;
	background-position: right bottom;
}

.contact__form:hover {
	background-position: left bottom;
	color: #ffffff;

	&::before,
	&::after {
		background-position: left bottom;
	}
}

.contact__form-icon {
	display: flex;
	align-items: center;
}

.contact__form-icon svg path {
	transition: fill 0.3s ease;
}

.contact__form:hover .contact__form-icon svg path {
	fill: #ffffff;
}

.contact__tel {
	flex: 1;
	text-decoration: none;
	transition: opacity 0.3s ease;
}

.contact__tel:hover {
	opacity: 0.7;
}

.contact__tel-label {
	font-size: 1.1875rem;
	font-weight: bold;
	margin-bottom: -0.5rem;
	color: #333;
}

.contact__tel-icon {
	display: inline-flex;
	align-items: center;
	margin-right: 1rem;
}

.contact__tel-number-wrapper {
	display: flex;
	align-items: center;
	margin-top: -1rem;
}

.contact__tel-number {
	font-size: 3.125rem;
	font-weight: bold;
	font-family: 'Oswald', sans-serif;
	color: #002179;
	text-decoration: none;
	display: inline-block;
}

.contact__tel-note-wrapper {
	display: flex;
	align-items: flex-start;
	gap: 0.6rem;
	margin-top: -0.8rem;
}

.contact__tel-note-label {
	border: 0.0625rem solid #171213;
	padding: 0.05rem 0.525rem;
	font-size: 0.8125rem;
	font-weight: bold;
	white-space: nowrap;
	color: #171213;
}

.contact__tel-note {
	font-size: 0.875rem;
	font-weight: bold;
	color: #171213;
	line-height: 1.6;
}

.sp-break {
	display: none;
}

@media (max-width: 768px) {
	.contact {
		padding: 2.625rem 0 1.5rem;
	}

	.contact__top {
		flex-direction: column;
		padding: 0 0 1.4375rem;
		margin: 0 0.9375rem 1.75rem;
		align-items: flex-start;
		gap: 0;
		border-bottom: 0.0625rem solid #e7e7e7;
	}

	.contact__title {
		font-size: 3.125rem;
		margin-bottom: 0;
	}

	.contact__subtitle {
		font-size: 0.9375rem;
		margin-top: -0.75rem;
	}

	.contact__text {
		font-size: 0.9375rem;
		line-height: calc(26 / 15);
	}

	.contact__heading {
		margin-bottom: 1.4375rem;
	}

	.contact__bottom {
		flex-direction: column;
		margin: 0 0.9375rem 1.75rem;
		padding: 0 1.125rem 1.75rem;
		gap: 0.9375rem;
		border-bottom: 0.0625rem solid #e7e7e7;
	}

	.contact__form {
		font-size: 1rem;
		padding: 1.5rem 1rem;
		background-position: left bottom;
		color: #ffffff;
		width: 100%;
		height: auto;

		&::before,
		&::after {
			background-position: left bottom;
		}

		.contact__form-icon svg path {
			fill: #ffffff;
		}
	}

	.contact__tel-label {
		font-size: 0.9375rem;
	}

	.contact__tel {
		display: flex;
		flex-direction: column;
	}

	.contact__tel-icon {
		margin-right: 0;
		width: 4rem;
	}

	.contact__tel-number-wrapper {
		display: flex;
		align-items: center;
		gap: 0.5rem;
		margin: -0.25rem 0 0.125rem;
	}

	.contact__tel-number {
		font-size: 2.375rem;
		letter-spacing: 0.05em;
	}

	.contact__tel-note-wrapper {
		margin-top: 0;
		gap: 1.5rem;
		align-items: end;
	}

	.contact__tel-note-label {
		padding: 0.5rem 2.375rem;
		font-size: 0.875rem;
		font-weight: bold;
	}

	.contact__tel-note {
		font-size: 0.875rem;
		font-weight: bold;
		flex: 1;
	}

	.sp-break {
		display: block;
	}
}

.footer {
	position: relative;
	background: #fff;
	padding: 6.8125rem 6rem 2.5rem;
}

.footer-inner {
	min-width: 75rem;
	margin: 0 auto;
}

.footer-main {
	display: flex;
	margin-bottom: 7.6875rem;
	justify-content: center;
}

.footer-left {
	flex-basis: 30%;
	min-width: 18.75rem;
}

.footer-logo {
	margin-bottom: 1.4375rem;
	max-width: 19.4375rem;
	height: 6.75rem;
}

.footer-logo img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.footer-address {
	font-style: normal;
	font-size: 0.9375rem;
	margin-bottom: 4.3125rem;
	line-height: 1.6;
}

.daigas-text {
	font-size: 0.875rem;
}

.daigas-logo {
	max-width: 9.375rem;
	height: 3.78125rem;
}

.daigas-logo img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.footer-right {
	flex-basis: 50%;
}

.footer-nav-group {
	display: flex;
	gap: 2.3125rem;
	margin-top: 2.125rem;
	min-width: 37.8125rem;
	margin-left: 11rem;
}

.footer-nav-left {
	display: flex;
	flex-direction: column;
	gap: 2rem;
}

.footer-nav {
	margin-bottom: 1rem;
}

.footer-nav h3 a,
.footer-nav a,
.footer-nav-contact a,
.footer-links a {
	color: #333;
	text-decoration: none;
	transition: opacity 0.3s ease;
}

.footer-logo-link:hover,
.footer-nav h3 a:hover,
.footer-nav a:hover,
.footer-nav-contact a:hover,
.footer-links a:hover {
	opacity: 0.7;
}

.footer-nav h3 {
	font-size: 1.0625rem;
	margin-bottom: 1.0625rem;
}

.footer-nav ul {
	list-style: none;
	padding: 0;
	margin: 0;
}

.footer-nav li {
	margin-bottom: 0.5rem;
}

.footer-nav a {
	font-size: 0.9375rem;
}

.footer-nav-contact h3 {
	margin-bottom: 2.625rem;
	font-size: 1rem;
}

.footer-nav-contact a {
	font-size: 0.9rem;
}

.footer-bottom {
	max-width: 75rem;
	margin: 0 auto;
}

.footer-links {
	display: flex;
	justify-content: flex-end;
	list-style: none;
	padding: 0;
	margin: 0;
	gap: 2rem;
}

.footer-links-bullet {
	color: #bcbcbc;
	margin-right: 0.5em;
}

.footer-links a {
	color: #171213;
	font-size: 0.875rem;
	text-decoration: none;
	display: flex;
	align-items: center;
}

.footer-links-text {
	text-decoration: underline;
	transition: text-decoration 0.3s ease;
}

.footer-links a:hover .footer-links-text {
	text-decoration: none;
}

.external-link {
	position: relative;
	padding-right: 1.5em;
	display: inline-block;
}

.external-link::after {
	content: '';
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
	width: 1.2rem;
	height: 1.2rem;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23001650'%3E%3Cpath d='M5 3c-1.093 0-2 .907-2 2v14c0 1.093.907 2 2 2h14c1.093 0 2-.907 2-2v-7h-2v7H5V5h7V3H5zm9 0v2h3.586l-9.293 9.293 1.414 1.414L19 6.414V10h2V3h-7z'/%3E%3C/svg%3E");
	background-size: contain;
	background-repeat: no-repeat;
}

footer .btn-page-top {
	position: absolute;
	right: 10.9375rem;
	bottom: 5rem;
	width: 2.5rem;
	height: 2.5rem;
	background: none;
	border: none;
	cursor: pointer;
	z-index: 100;
	padding: 0;
}

footer .btn-page-top:hover {
	opacity: 0.8;
}

footer .page-top-arrow {
	position: relative;
	display: block;
	width: 2rem;
	height: 2rem;
}

footer .page-top-arrow::before {
	content: '';
	position: absolute;
	top: 15%;
	left: 50%;
	width: 0.375rem;
	height: 85%;
	background-color: #005dab;
	transform: translateX(-50%);
}

footer .page-top-arrow::after {
	content: '';
	position: absolute;
	top: 15%;
	left: 50%;
	width: 1.2rem;
	height: 1.2rem;
	border-top: 0.375rem solid #005dab;
	border-right: 0.375rem solid #005dab;
	transform: translate(-50%, 0) rotate(-45deg);
}

@media (hover: hover) {
	footer .btn-page-top:hover {
		opacity: 0.8;
	}
}

.copyright {
	background: #001650;
	padding: 1.75rem 0 1.75rem;
	text-align: center;
}

.copyright p {
	color: #fff;
	font-size: 0.9375rem;
	margin: 0;
}

.sp-nav {
	display: none;
}

.sp-only {
	display: none;
}

@media (max-width: 768px) {

	.pc-nav,
	.footer-nav-contact {
		display: none;
	}

	.sp-nav {
		display: block;
		width: 100%;
	}

	.sp-only {
		display: block;
	}

	.pc-only {
		display: none;
	}

	.footer {
		padding: 3.125rem 0.9375rem 6.3125rem;
	}

	.footer-inner {
		min-width: 100%;
	}

	.footer-main {
		flex-direction: column;
		margin-bottom: 2.25rem;
	}

	.footer-logo-link {
		display: flex;
		justify-content: center;
		width: 100%;
	}

	.footer-left {
		flex-basis: 100%;
		margin-bottom: 2.3125rem;
		text-align: center;
	}

	.footer-logo {
		max-width: 14.625rem;
		margin: 0 auto 1rem;
		height: auto;
		display: flex;
		justify-content: center;
	}

	.footer-logo img {
		width: 100%;
		height: auto;
		object-fit: contain;
	}

	.footer-address {
		font-size: 0.75rem;
		margin-bottom: 2.3125rem;
	}

	.daigas-text {
		font-size: 0.6875rem;
	}

	.footer-right {
		flex-basis: 100%;
	}

	.footer-nav-group {
		flex-direction: column;
		gap: 0;
		margin-top: 0;
		margin-left: 0;
		min-width: 100%;
	}

	.footer-nav-left {
		gap: 0;
	}

	.footer-nav {
		margin-bottom: 0;
	}

	.footer-nav:not(:first-child) h3 {
		border-top: none;
	}

	.footer-nav h3 {
		margin: 0;
		border-top: 0.0625rem solid #e7e7e7;
		border-bottom: 0.0625rem solid #e7e7e7;
	}

	.footer-nav-toggle[aria-expanded='true'] {
		border-bottom: none;
	}

	.footer-nav h3:has(.footer-nav-toggle[aria-expanded='true']) {
		border-bottom: none;
	}

	.footer-nav ul {
		display: block;
		padding: 0;
		max-height: 0;
		overflow: hidden;
		opacity: 0;
		transform: translateY(-0.625rem);
		transition:
			max-height 0.2s ease-out,
			opacity 0.15s ease-out,
			transform 0.15s ease-out;
		will-change: max-height, opacity, transform;
	}

	.footer-nav ul.is-open {
		opacity: 1;
		transform: translateY(0);
		margin-left: 0.9375rem;
	}

	.footer-nav li {
		opacity: 0;
		transform: translateY(-0.625rem);
		transition:
			opacity 0.3s ease-out,
			transform 0.3s ease-out;
		font-size: 0.875rem;
		margin-bottom: 1.0625rem;
	}

	.footer-nav ul.is-open li {
		opacity: 1;
		transform: translateY(0);
	}

	.footer-nav ul.is-open li {
		transition-delay: calc(0.05s * var(--item-index, 0));
	}

	.footer-nav-toggle {
		width: 100%;
		display: flex;
		justify-content: space-between;
		align-items: center;
		background: none;
		border: none;
		padding: 1.125rem 0;
		font-size: 0.875rem;
		font-weight: bold;
		cursor: pointer;
		color: #333;
		min-height: 3.5rem;
	}

	.footer-nav-toggle.no-accordion {
		cursor: default;
		text-align: left;
	}

	.toggle-icon {
		position: static;
		transform: translateY(0%);
		width: 1rem;
		height: 1rem;
	}

	.toggle-icon::before,
	.toggle-icon::after {
		content: '';
		position: absolute;
		background-color: #001650;
		transition: transform 0.3s ease;
		transform-origin: center;
	}

	.toggle-icon::before {
		top: 50%;
		left: 0;
		width: 100%;
		height: 0.125rem;
		transform: translateY(-50%);
	}

	.toggle-icon::after {
		top: 50%;
		left: 50%;
		width: 0.125rem;
		height: 100%;
		transform: translate(-50%, -50%);
	}

	.footer-nav-toggle[aria-expanded='true'] .toggle-icon::after {
		transform: translate(-50%, -50%) rotate(90deg);
	}

	.footer-links {
		flex-direction: column;
		align-items: flex-start;
		gap: 1rem;
	}

	.daigas-logo img {
		width: 7.5rem;
		height: auto;
	}

	.btn-page-top {
		position: absolute;
		right: 0;
		bottom: 0;
		width: 3rem;
		height: 3rem;
		background-color: rgba(255, 255, 255, 0.9);
		border-radius: 50%;
	}

	footer .btn-page-top {
		right: 0;
		bottom: 0;
		width: 3.0rem;
		height: 3.0rem;
	}

	footer .page-top-arrow {
		width: 1.5rem;
		height: 1.5rem;
		margin: 0 auto 1.0625rem;
	}

	footer .page-top-arrow::before {
		height: 85%;
		width: 0.25rem;
	}

	footer .page-top-arrow::after {
		width: 0.875rem;
		height: 0.875rem;
		border-width: 0.25rem;
	}

	.daigas-logo {
		max-width: 9.375rem;
		margin: 0 auto;
	}

	.footer-links-text {
		font-size: 0.8125rem;
	}

	.footer-links-bullet {
		font-size: 0.6875rem;
		margin-right: 0.25rem;
	}

	.copyright {
		padding: 1.375rem 0;
	}

	.copyright p {
		font-size: 0.8125rem;
	}

	.footer-nav-more {
		display: block;
	}

	.footer-nav-more-link {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: calc(242 / 307 * 100%);
		padding: 0.875rem 0;
		color: #171213 !important;
		text-decoration: none;
		position: relative;
		gap: 0.5rem;
		background: transparent;
		text-align: center;
	}

	.footer-nav-more-link::before,
	.footer-nav-more-link::after {
		content: '';
		position: absolute;
		left: 0;
		width: 100%;
		height: 0.0625rem;
		background: #171213;
	}

	.footer-nav-more-link::before {
		top: 0;
	}

	.footer-nav-more-link::after {
		bottom: 0;
	}

	.footer-nav-more-icon {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 0.75rem;
		height: 0.75rem;
		color: #171213;
		position: absolute;
		right: 0.4375rem;
		top: 50%;
		transform: translateY(-50%);
	}

	.footer-nav-more-icon svg {
		width: 0.75rem;
		height: 0.75rem;
	}

	.footer-nav-more-link:hover {
		opacity: 0.7;
	}

	.footer-nav-more-link {
		max-width: calc(242 / 307 * 100%);
	}
}

.footer-nav-toggle.no-accordion a {
	text-decoration: none;
	color: #333;
	display: block;
	width: 100%;
}

.footer-nav-toggle.no-accordion:hover a {
	opacity: 0.7;
}

* {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
}

html {
	scroll-behavior: smooth;
	scroll-padding-top: 5.625rem;

	@media (max-width: 768px) {
		scroll-padding-top: 3.125rem;
	}
}

html,
body {
	width: 100%;
	min-height: 100vh;
	overflow-x: hidden;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 500;
	line-height: 1.6;
	letter-spacing: 0.05em;
}

@media (max-width: 768px) {

	html,
	body {
		min-height: 100svh;
	}
}

main {
	width: 100%;
	animation: dissolve 0.6s ease-out;
}

@keyframes dissolve {
	from {
		opacity: 0;
	}

	to {
		opacity: 1;
	}
}

:lang(en) {
	font-family: 'Oswald', sans-serif;
}

.pc-only {
	display: block !important;
}

.sp-only {
	display: none !important;
}

@media (max-width: 768px) {
	.pc-only {
		display: none !important;
	}

	.sp-only {
		display: block !important;
	}
}

.greeting {
	padding: 10.0625rem 0;
}

.greeting__wrapper {
	background-color: #fff;
	position: relative;
	overflow: hidden;
}

.greeting__wrapper::after {
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	width: calc((24.375vw / 2) + ((100vw - 75rem) / 2));
	height: 100%;
	background-color: #00195c;
	z-index: 0;
}

.greeting__inner {
	max-width: 75rem;
	margin: 0 auto;
	position: relative;
	z-index: 1;
}

.greeting__content {
	display: flex;
	gap: 6.8125rem;
}

.greeting__left {
	flex: 1.33;
}

.greeting__right {
	position: relative;
	flex: 1;
	display: flex;
	align-items: center;
	min-height: 50rem;
	width: calc(31.5vw - (100vw - 75rem) / 2);
}

.greeting__logo-wrapper-pc {
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 24.375vw;
	min-width: 18.75rem;
	max-width: 29.25rem;
	padding: 6rem 0;
	background-color: #fff;
	border: 0.5rem solid #f1f1f1;
	display: flex;
	justify-content: center;
	align-items: center;
	z-index: 1;
}

.greeting__logo-pc {
	width: 14.11vw;
	min-width: 12.5rem;
	max-width: 16.9375rem;
	height: auto;
	display: block;
}

.greeting__logo-wrapper-sp {
	width: 85%;
	min-width: auto;
	max-width: none;
	margin: 1.5rem auto;
	position: relative;
	z-index: 1;
	border: 0.25rem solid #f1f1f1;
	padding: 4.375rem 1.5rem 3.3125rem;
	background-color: #fff;
}

.greeting__logo-sp {
	width: 100%;
	min-width: auto;
	max-width: none;
	height: auto;
}

.greeting__icon {
	position: absolute;
	top: -2.5rem;
	right: -2.5rem;
	width: 3.75rem;
	height: 3.75rem;
	z-index: 2;
}

.greeting__heading {
	display: flex;
	align-items: center;
	gap: 1rem;
	margin-bottom: 4.75rem;
	margin-top: 1.25rem;
}

.greeting__title {
	position: relative;
	font-size: 2.1875rem;
	font-weight: bold;
	display: flex;
	align-items: flex-end;
	gap: 1rem;
}

.greeting__en {
	font-family: 'Oswald', sans-serif;
	font-weight: 500;
	color: #f2f2f2;
	font-size: 4.375rem;
	line-height: 1;
	margin-left: -1.5rem;
	position: relative;
	z-index: -1;
}

.greeting__text {
	line-height: calc(35 / 17);
	font-size: 1.0625rem;
}

.greeting__text p {
	margin-bottom: 1.5rem;
}

.greeting__signature {
	text-align: right;
}

.greeting__signature p {
	font-size: 0.9375rem;
	margin-bottom: 0.5rem;
}

.greeting__signature-name {
	font-weight: bold;
	font-size: 1.25rem;
}

.pc-only {
	display: flex;
}

.sp-only {
	display: none;
}

@media (max-width: 768px) {
	.pc-only {
		display: none;
	}

	.sp-only {
		display: block;
	}

	.greeting {
		padding: 3.125rem 0 5rem;
	}

	.greeting__wrapper::after {
		display: none;
	}

	.greeting__content {
		padding: 0;
	}

	.greeting__right {
		width: 100%;
		margin: 3rem 0 3.125rem;
		position: relative;
		padding: 0 0.9375rem;
		min-height: auto;
	}

	.greeting__right::after {
		content: '';
		position: absolute;
		top: -1rem;
		right: -1rem;
		width: calc(50% + 1rem);
		height: calc(100% + 2rem);
		background-color: #00195c;
		z-index: 0;
	}

	.greeting__logo-wrapper-sp {
		width: 67%;
		min-width: auto;
		max-width: none;
		margin: 1.5rem auto;
		position: relative;
		z-index: 1;
		border: 0.25rem solid #f1f1f1;
		padding: 4.375rem 2.75rem 3.3125rem;
		background-color: #fff;
	}

	.greeting__logo-sp {
		width: 100%;
		min-width: auto;
		max-width: none;
		height: auto;
	}

	.greeting__inner {
		padding: 0;
	}

	.greeting__heading {
		padding: 0 1.25rem;
		gap: 0.5625rem;
		margin-bottom: 1.875rem;
	}

	.greeting__text {
		font-size: 0.875rem;
		line-height: calc(53 / 29);
		padding: 0 0.9375rem;
	}

	.greeting__text p {
		margin-bottom: 1.375rem;
	}

	.greeting__signature {
		margin-top: 3.125rem;
		padding: 0 0.9375rem;
	}

	.greeting__signature p {
		font-size: 0.8125rem;
	}

	.greeting__signature-label {
		font-size: 0.8125rem;
		margin-right: 0.7rem;
	}

	.greeting__signature-name {
		font-size: 1.0625rem;
	}

	.greeting__title {
		font-size: 1.125rem;
	}

	.greeting__icon {
		width: 1.875rem;
		height: 1.875rem;
		top: -0.9375rem;
		right: -0.9375rem;
	}

	.greeting__en {
		font-size: 2.1875rem;
		margin-left: -1.5rem;
	}
}

.philosophy {
	padding: 9.625rem 0;
	background-color: #f2f2f2;
}

.philosophy__inner {
	max-width: 75rem;
	margin: 0 auto;
}

.philosophy__heading {
	display: flex;
	align-items: center;
	gap: 1rem;
	margin-bottom: 4rem;
}

.philosophy__title-wrapper {
	position: relative;
	display: flex;
	align-items: center;
}

.philosophy__title {
	position: relative;
	font-size: 2.1875rem;
	font-weight: bold;
	display: block;
	z-index: 2;
	margin-right: 1rem;
}

.philosophy__en {
	font-family: 'Oswald', sans-serif;
	font-weight: 400;
	color: #fff;
	font-size: 4.375rem;
	line-height: 1;
	position: relative;
	z-index: 1;
	margin-left: -1.5rem;
	margin-bottom: 1rem;
}

.philosophy__content {
	display: flex;
	gap: 3rem;
	align-items: stretch;
	margin-bottom: 4.0625rem;
}

.philosophy__left {
	flex: 0.95;
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
}

.philosophy__badge-wrapper {
	width: 100%;
}

.philosophy__badge {
	background-color: #001650;
	color: #fff;
	font-size: 1.5rem;
	font-weight: bold;
	padding: 0.45rem 3rem;
	margin-bottom: 1.125rem;
}

.philosophy__catch {
	font-size: 1.25rem;
	font-weight: bold;
	line-height: 2;
	margin-bottom: 2.375rem;
	letter-spacing: 0;
}

.philosophy__image {
	width: 100%;
	max-width: 25rem;
}

.philosophy__image img {
	width: 100%;
	height: auto;
}

.philosophy__separator {
	display: flex;
	align-items: stretch;
}

.philosophy__separator img {
	width: 100%;
	vertical-align: bottom;
}

.separator-sp {
	display: none;
}

.philosophy__right {
	flex: 1.2;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.philosophy__lead {
	font-size: 1.25rem;
	font-weight: bold;
	margin-bottom: 2rem;
}

.philosophy__list {
	list-style: none;
	padding: 0;
	margin: 0;
}

.philosophy__item {
	display: flex;
	margin-bottom: 0.75rem;
	padding-bottom: 0.75rem;
	font-size: 1.0625rem;
	line-height: calc(30 / 17);
	border-bottom: 0.0625rem solid #707070;
}

.philosophy__marker {
	font-weight: bold;
	flex-shrink: 0;
}

.philosophy__message {
	background-color: #fff;
	color: #001650;
	text-align: center;
	padding: 3.5625rem 0;
	font-size: 1.25rem;
	font-weight: bold;
	line-height: 2;
	position: relative;
}

.philosophy__message span {
	border-bottom: 0.1875rem solid #005dab;
	padding-bottom: 0.125rem;
}

.pc-only {
	display: block;
}

.sp-only {
	display: none;
}

@media (max-width: 768px) {
	.philosophy {
		padding: 3.125rem 0 3.375rem;
	}

	.philosophy__heading {
		padding: 0 1.25rem;
		gap: 0.5625rem;
		margin-bottom: 3rem;
		align-items: baseline;
	}

	.philosophy__content {
		flex-direction: column;
		gap: 0;
		margin-bottom: 3.0625rem;
	}

	.philosophy__separator {
		display: flex;
		justify-content: center;
		padding: 3.25rem 0.9375rem 2rem;
		height: auto;
	}

	.separator-pc {
		display: none;
	}

	.separator-sp {
		display: block;
		width: calc(100% - 2.5rem);
	}

	.philosophy__title {
		font-size: 1.125rem;
		margin-right: 0.5rem;
	}

	.philosophy__en {
		font-size: 2.1875rem;
		margin-left: -1rem;
		margin-bottom: 1%;
	}

	.philosophy__catch {
		font-size: 0.875rem;
		line-height: calc(53 / 29);
		padding: 0 0.9375rem;
		letter-spacing: 0;
		margin-bottom: 2.125rem;
	}

	.philosophy__lead {
		font-size: 0.875rem;
		line-height: calc(53 / 29);
		padding: 0 0.9375rem;
		text-align: center;
		margin-bottom: 2.0625rem;
	}

	.philosophy__image {
		padding: 0 0.9375rem;
	}

	.philosophy__message {
		font-size: 0.875rem;
		line-height: calc(53 / 29);
		padding: 1.75rem 0;
	}

	.philosophy__message span {
		border-bottom: 0.0625rem solid #005dab;
	}

	.pc-only {
		display: none;
	}

	.sp-only {
		display: block;
	}

	.philosophy__badge-wrapper {
		padding: 0 1.25rem;
		margin-bottom: 1.375rem;
	}

	.philosophy__badge {
		padding: 0.5rem 2rem;
		font-size: 0.9375rem;
		margin-bottom: 0;
	}

	.philosophy__item {
		font-size: 0.875rem;
		line-height: calc(53 / 29);
		padding: 0 0 1.1875rem;
		margin-bottom: 1.1875rem;
	}

	.philosophy__item:last-child {
		margin-bottom: 0;
	}

	.philosophy__list {
		padding: 0 0.9375rem;
	}

	.philosophy__bottom {
		padding: 0 0.9375rem;
	}
}

.advantage {
	width: 100%;
	background-color: #005dab;
	color: #fff;
	padding: 8rem 0;
	position: relative;
	overflow: hidden;
}

.advantage::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 30%;
	height: 100%;
	background-image: var(--advantageBgImage);
	background-size: cover;
	background-position: center;
	opacity: 0.48;
}

.advantage__inner {
	max-width: 75rem;
	margin: 0 auto;
	position: relative;
	z-index: 2;
	display: flex;
	justify-content: flex-end;
}

.advantage__content {
	width: 62%;
	position: relative;
	z-index: 2;
}

.advantage__bg-text {
	position: absolute;
	right: 1.6%;
	top: calc(41% + 6rem);
	transform: translate(30%, -50%);
	font-family: 'Oswald', sans-serif;
	font-size: 10.9375rem;
	font-weight: bold;
	color: transparent;
	-webkit-text-stroke: 0.0625rem rgba(255, 255, 255, 0.2);
	writing-mode: vertical-rl;
	letter-spacing: -0.05em;
	line-height: 1;
	z-index: 1;
	pointer-events: none;
}

.advantage__bg-image {
	display: none;
}

.advantage__heading {
	display: flex;
	align-items: center;
	gap: 1rem;
	margin-bottom: 1.6875rem;
	padding-left: 1.25rem;
}

.advantage__heading img {
	filter: brightness(0) invert(1);
}

.advantage__title {
	font-size: 2.1875rem;
	font-weight: bold;
}

.advantage__list {
	list-style: none;
	padding: 0;
	margin: 0;
}

.advantage__item {
	padding: 0.875rem 0;
	border-bottom: 0.125rem solid rgba(255, 255, 255, 0.29);
	display: flex;
	align-items: flex-start;
	gap: 0.5rem;
}

.advantage__number {
	display: flex;
	flex-direction: column;
	align-items: center;
	min-width: 5rem;
}

.advantage__label {
	font-size: 0.875rem;
}

.advantage__num {
	font-size: 2.3125rem;
	font-family: 'Oswald', sans-serif;
	line-height: 1;
}

.advantage__text {
	font-size: 1.25rem;
	margin: 0;
	padding: 0.5rem 0;
	letter-spacing: 0;
}

.advantage__highlight {
	font-size: 1.5625rem;
	font-weight: bold;
}

.sp-only {
	display: none;
}

@media (max-width: 768px) {
	.advantage {
		padding: 3.125rem 0;
	}

	.advantage::before {
		display: none;
	}

	.advantage__inner {
		padding: 0;
		display: block;
	}

	.advantage__content {
		width: 100%;
		position: relative;
		z-index: 2;
		padding: 0 0.9375rem;
	}

	.advantage__heading {
		font-size: 1.4375rem;
		padding-left: 0;
		margin-bottom: 2.6875rem;
		gap: 0.75rem;
		justify-content: center;
	}

	.advantage__title {
		font-size: 1.4375rem;
	}

	.advantage__bg-text {
		position: absolute;
		writing-mode: horizontal-tb;
		font-size: 4.625rem;
		text-align: center;
		margin: 0;
		right: 4%;
		top: 48.5%;
		transform: none;
		letter-spacing: normal;
	}

	.advantage__bg-image {
		display: block;
		width: calc(100% - 1.875rem);
		height: 27.375rem;
		background-image: var(--advantageBgImage);
		background-size: cover;
		background-position: center;
		opacity: 0.48;
		margin: 5rem 0.9375rem 0;
	}

	.advantage__item {
		gap: 0.25rem;
		padding: 0 0 1.125rem;
		margin-bottom: 1.125rem;
		border-bottom: 0.0625rem solid rgba(255, 255, 255, 0.29);
		align-items: center;
	}

	.advantage__item:last-child {
		margin-bottom: 0;
	}

	.advantage__number {
		min-width: 3.75rem;
	}

	.advantage__label {
		font-size: 0.75rem;
	}

	.advantage__num {
		font-size: 1.875rem;
	}

	.advantage__text {
		font-size: 0.875rem;
		line-height: calc(53 / 29);
		padding: 0;
	}

	.advantage__highlight {
		font-size: 1.125rem;
	}

	.sp-only {
		display: block;
	}
}

.outline {
	padding: 7.8125rem 0 8.125rem;
	background-color: #fff;
}

.outline__inner {
	max-width: 75rem;
	margin: 0 auto;
}

.outline__heading {
	display: flex;
	align-items: center;
	gap: 1rem;
	margin-bottom: 3.1875rem;
}

.outline__title-wrapper {
	position: relative;
	display: flex;
	align-items: center;
}

.outline__title {
	position: relative;
	font-size: 2.1875rem;
	font-weight: bold;
	display: block;
	z-index: 2;
	margin-right: 1rem;
}

.outline__en {
	font-family: 'Oswald', sans-serif;
	font-weight: 400;
	color: #f2f2f2;
	font-size: 4.375rem;
	line-height: 1;
	position: relative;
	z-index: 1;
	margin-left: -1.5rem;
	margin-bottom: 1rem;
}

.outline__table {
	width: 100%;
	border-collapse: collapse;
	font-size: 1.0625rem;
}

.outline__table th {
	width: 12.5rem;
	padding: 1.25rem 2.5rem;
	background-color: #f8f8f8;
	border-top: 0.1875rem solid #e6e6e6;
	border-bottom: 0.1875rem solid #e6e6e6;
	text-align: left;
	font-weight: bold;
	vertical-align: top;
}

.outline__table td {
	padding: 1.25rem 2.5rem;
	background-color: #fff;
	border-top: 0.1875rem solid #f2f2f2;
	border-bottom: 0.1875rem solid #f2f2f2;
}

.outline__address {
	margin: 0;
	display: flex;
	align-items: center;
	gap: 1.5625rem;
}

.outline__map-link {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	background-color: #001650;
	color: #fff;
	text-decoration: none;
	font-size: 1rem;
	padding: 0.5rem 1rem;
	transition: opacity 0.3s ease;
}

.outline__map-link:hover {
	opacity: 0.7;
}

.outline__map-link img {
	filter: brightness(0) invert(1);
}

.outline__tel {
	margin: 0.5rem 0 0;
}

.outline__business {
	width: 80%;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	list-style: none;
	padding: 0;
	margin: 0;
}

.outline__business li {
	position: relative;
	padding-left: 1.5rem;
	padding-bottom: 0.5rem;
}

.outline__business li::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0.5rem;
	width: 1rem;
	height: 1rem;
	background-image: url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='20'%20height='20'%20viewBox='0%200%2020%2020'%3e%3cg%20id='グループ_18471'%20data-name='グループ%2018471'%20transform='translate(-598%20-3916)'%3e%3cpath%20id='パス_1140'%20data-name='パス%201140'%20d='M0,0H20V20H0Z'%20transform='translate(598%203936)%20rotate(-90)'%20fill='%23eaeaea'/%3e%3crect%20id='長方形_124'%20data-name='長方形%20124'%20width='10'%20height='10'%20transform='translate(603%203931)%20rotate(-90)'%20fill='%23005dab'/%3e%3c/g%3e%3c/svg%3e");
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
}

@media (max-width: 768px) {
	.outline {
		padding: 3.125rem 0 3.375rem;
	}

	.outline__inner {
		padding: 0 1.25rem;
	}

	.outline__heading {
		gap: 0.5625rem;
		margin-bottom: 2.5rem;
		align-items: baseline;
	}

	.outline__title {
		font-size: 1.125rem;
		margin-right: 0.5rem;
	}

	.outline__en {
		font-size: 2.1875rem;
		margin-left: -1rem;
		margin-bottom: 1%;
	}

	.outline__table,
	.outline__table tbody,
	.outline__table tr,
	.outline__table th,
	.outline__table td {
		display: block;
		width: 100%;
		font-size: 0.875rem;
		line-height: calc(53 / 29);
	}

	.outline__table tr {
		position: relative;
	}

	.outline__table th {
		padding: 0.75rem 0.9375rem;
		border: none;
		position: relative;
		border-top: 0.125rem solid transparent;
		border-image: linear-gradient(to right, #e6e6e6 41%, #f2f2f2 41%) 1;
	}

	.outline__table td {
		padding: 1.125rem 0 1.125rem 0.875rem;
		border: none;
		position: relative;
		border-bottom: none;
	}

	.outline__address {
		flex-direction: column;
		align-items: flex-start;
		gap: 0.5rem;
	}

	.outline__map-link {
		font-size: 0.8125rem;
		padding: 0.5rem 0.9375rem;
	}

	.outline__business {
		grid-template-columns: 1fr;
		width: 100%;
	}

	.outline__business li {
		padding-bottom: 0.9375rem;
		padding-left: 1.5rem;
	}

	.outline__business li::before {
		top: 0.25rem;
		width: 1.125rem;
		height: 1.125rem;
	}
}

/* ===== .page-company（WP用） ===== */

/* ==================================================
   .page-company
================================================== */

/* パンくずリスト */

.page-company .breadcrumb {
	margin-bottom: 3.25rem;
}

/* グリーティング */

.page-company .greeting {
	padding: 10.0625rem 0;
}

.page-company .greeting__wrapper {
	background-color: #fff;
	position: relative;
	overflow: hidden;
}

.page-company .greeting__wrapper::after {
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	width: calc((24.375vw / 2) + ((100vw - 75rem) / 2));
	height: 100%;
	background-color: #00195c;
	z-index: 0;
}

.page-company .greeting__inner {
	max-width: 75rem;
	margin: 0 auto;
	position: relative;
	z-index: 1;
}

.page-company .greeting__content {
	display: flex;
	gap: 6.8125rem;
}

.page-company .greeting__content.pc-only {
	display: flex !important;
}

.page-company .greeting__content.sp-only {
	display: none !important;
}

.page-company .greeting__left {
	flex: 1.33;
}

.page-company .greeting__right {
	position: relative;
	flex: 1;
	display: flex;
	align-items: center;
	min-height: 50rem;
}

.page-company .greeting__logo-wrapper-pc {
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 24.375vw;
	min-width: 18.75rem;
	max-width: 29.25rem;
	padding: 6rem 0;
	background-color: #fff;
	border: 0.5rem solid #f1f1f1;
	display: flex;
	justify-content: center;
	align-items: center;
	z-index: 1;
}

.page-company .greeting__logo-pc {
	width: 14.11vw;
	min-width: 12.5rem;
	max-width: 16.9375rem;
	height: auto;
	display: block;
}

.page-company .greeting__logo-wrapper-sp {
	width: 85%;
	margin: 1.5rem auto;
	position: relative;
	z-index: 1;
	border: 0.25rem solid #f1f1f1;
	padding: 4.375rem 1.5rem 3.3125rem;
	background-color: #fff;
}

.page-company .greeting__logo-sp {
	width: 100%;
	height: auto;
}

.page-company .greeting__icon {
	position: absolute;
	top: -2.5rem;
	right: -2.5rem;
	width: 3.75rem;
	height: 3.75rem;
	z-index: 2;
}

.page-company .greeting__heading {
	display: flex;
	align-items: center;
	gap: 1rem;
	margin-bottom: 4.75rem;
	margin-top: 1.25rem;
}

.page-company .greeting__title {
	position: relative;
	font-size: 2.1875rem;
	font-weight: bold;
	display: flex;
	align-items: flex-end;
	gap: 1rem;
}

.page-company .greeting__en {
	font-family: 'Oswald', sans-serif;
	font-weight: 500;
	color: #f2f2f2;
	font-size: 4.375rem;
	line-height: 1;
	margin-left: -1.5rem;
	position: relative;
	z-index: -1;
}

.page-company .greeting__text {
	line-height: calc(35 / 17);
	font-size: 1.0625rem;
}

.page-company .greeting__text p {
	margin-bottom: 1.5rem;
}

.page-company .greeting__signature {
	text-align: right;
}

.page-company .greeting__signature p {
	font-size: 0.9375rem;
	margin-bottom: 0.5rem;
}

.page-company .greeting__signature-label {
	font-size: 0.9375rem;
}

.page-company .greeting__signature-name {
	font-weight: bold;
	font-size: 1.25rem;
}

/* フィロソフィー */

.page-company .philosophy {
	padding: 9.625rem 0;
	background-color: #f2f2f2;
}

.page-company .philosophy__inner {
	max-width: 75rem;
	margin: 0 auto;
}

.page-company .philosophy__heading {
	display: flex;
	align-items: center;
	gap: 1rem;
	margin-bottom: 4rem;
}

.page-company .philosophy__title-wrapper {
	position: relative;
	display: flex;
	align-items: center;
}

.page-company .philosophy__title {
	position: relative;
	font-size: 2.1875rem;
	font-weight: bold;
	display: block;
	z-index: 2;
	margin-right: 1rem;
}

.page-company .philosophy__en {
	font-family: 'Oswald', sans-serif;
	font-weight: 400;
	color: #fff;
	font-size: 4.375rem;
	line-height: 1;
	position: relative;
	z-index: 1;
	margin-left: -1.5rem;
	margin-bottom: 1rem;
}

.page-company .philosophy__content {
	display: flex;
	gap: 3rem;
	align-items: stretch;
	margin-bottom: 4.0625rem;
}

.page-company .philosophy__left {
	flex: 0.95;
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
}

.page-company .philosophy__badge-wrapper {
	width: 100%;
}

.page-company .philosophy__badge {
	background-color: #001650;
	color: #fff;
	font-size: 1.5rem;
	font-weight: bold;
	padding: 0.45rem 3rem;
	margin-bottom: 1.125rem;
}

.page-company .philosophy__catch {
	font-size: 1.25rem;
	font-weight: bold;
	line-height: 2;
	margin-bottom: 2.375rem;
	letter-spacing: 0;
}

.page-company .philosophy__image {
	width: 100%;
	max-width: 25rem;
}

.page-company .philosophy__image img {
	width: 100%;
	height: auto;
}

.page-company .philosophy__separator {
	display: flex;
	align-items: stretch;
}

.page-company .philosophy__separator img {
	width: 100%;
	vertical-align: bottom;
}

.page-company .separator-pc {
	display: block;
}

.page-company .separator-sp {
	display: none;
}

.page-company .philosophy__right {
	flex: 1.2;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.page-company .philosophy__lead {
	font-size: 1.25rem;
	font-weight: bold;
	margin-bottom: 2rem;
}

.page-company .philosophy__list {
	list-style: none;
	padding: 0;
	margin: 0;
}

.page-company .philosophy__item {
	display: flex;
	margin-bottom: 0.75rem;
	padding-bottom: 0.75rem;
	font-size: 1.0625rem;
	line-height: calc(30 / 17);
	border-bottom: 0.0625rem solid #707070;
}

.page-company .philosophy__marker {
	font-weight: bold;
	flex-shrink: 0;
}

.page-company .philosophy__bottom {}

.page-company .philosophy__message {
	background-color: #fff;
	color: #001650;
	text-align: center;
	padding: 3.5625rem 0;
	font-size: 1.25rem;
	font-weight: bold;
	line-height: 2;
	position: relative;
}

.page-company .philosophy__message span {
	border-bottom: 0.1875rem solid #005dab;
	padding-bottom: 0.125rem;
}

/* アドバンテージ */

.page-company .advantage {
	width: 100%;
	background-color: #005dab;
	color: #fff;
	padding: 8rem 0;
	position: relative;
	overflow: hidden;
}

.page-company .advantage::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 30%;
	height: 100%;
	background-image: var(--advantageBgImage);
	background-size: cover;
	background-position: center;
	opacity: 0.48;
}

.page-company .advantage__inner {
	max-width: 75rem;
	margin: 0 auto;
	position: relative;
	z-index: 2;
	display: flex;
	justify-content: flex-end;
}

.page-company .advantage__content {
	width: 62%;
	position: relative;
	z-index: 2;
}

.page-company .advantage__bg-text {
	position: absolute;
	right: 1.6%;
	top: calc(41% + 6rem);
	transform: translate(30%, -50%);
	font-family: 'Oswald', sans-serif;
	font-size: 10.9375rem;
	font-weight: bold;
	color: transparent;
	-webkit-text-stroke: 0.0625rem rgba(255, 255, 255, 0.2);
	writing-mode: vertical-rl;
	letter-spacing: -0.05em;
	line-height: 1;
	z-index: 1;
	pointer-events: none;
}

.page-company .advantage__bg-image {
	display: none;
}

.page-company .advantage__heading {
	display: flex;
	align-items: center;
	gap: 1rem;
	margin-bottom: 1.6875rem;
	padding-left: 1.25rem;
}

.page-company .advantage__heading img {
	filter: brightness(0) invert(1);
}

.page-company .advantage__title {
	font-size: 2.1875rem;
	font-weight: bold;
}

.page-company .advantage__list {
	list-style: none;
	padding: 0;
	margin: 0;
}

.page-company .advantage__item {
	padding: 0.875rem 0;
	border-bottom: 0.125rem solid rgba(255, 255, 255, 0.29);
	display: flex;
	align-items: flex-start;
	gap: 0.5rem;
}

.page-company .advantage__number {
	display: flex;
	flex-direction: column;
	align-items: center;
	min-width: 5rem;
}

.page-company .advantage__label {
	font-size: 0.875rem;
}

.page-company .advantage__num {
	font-size: 2.3125rem;
	font-family: 'Oswald', sans-serif;
	line-height: 1;
}

.page-company .advantage__text {
	font-size: 1.25rem;
	margin: 0;
	padding: 0.5rem 0;
	letter-spacing: 0;
}

.page-company .advantage__highlight {
	font-size: 1.5625rem;
	font-weight: bold;
}

/* アウトライン */

.page-company .outline {
	padding: 7.8125rem 0 8.125rem;
	background-color: #fff;
}

.page-company .outline__inner {
	max-width: 75rem;
	margin: 0 auto;
}

.page-company .outline__heading {
	display: flex;
	align-items: center;
	gap: 1rem;
	margin-bottom: 3.1875rem;
}

.page-company .outline__title-wrapper {
	position: relative;
	display: flex;
	align-items: center;
}

.page-company .outline__title {
	position: relative;
	font-size: 2.1875rem;
	font-weight: bold;
	display: block;
	z-index: 2;
	margin-right: 1rem;
}

.page-company .outline__en {
	font-family: 'Oswald', sans-serif;
	font-weight: 400;
	color: #f2f2f2;
	font-size: 4.375rem;
	line-height: 1;
	position: relative;
	z-index: 1;
	margin-left: -1.5rem;
	margin-bottom: 1rem;
}

.page-company .outline__table {
	width: 100%;
	border-collapse: collapse;
	font-size: 1.0625rem;
}

.page-company .outline__table th {
	width: 12.5rem;
	padding: 1.25rem 2.5rem;
	background-color: #f8f8f8;
	border-top: 0.1875rem solid #e6e6e6;
	border-bottom: 0.1875rem solid #e6e6e6;
	text-align: left;
	font-weight: bold;
	vertical-align: top;
}

.page-company .outline__table td {
	padding: 1.25rem 2.5rem;
	background-color: #fff;
	border-top: 0.1875rem solid #f2f2f2;
	border-bottom: 0.1875rem solid #f2f2f2;
}

.page-company .outline__address {
	margin: 0;
	display: flex;
	align-items: center;
	gap: 1.5625rem;
}

.page-company .outline__map-link {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	background-color: #001650;
	color: #fff;
	text-decoration: none;
	font-size: 1rem;
	padding: 0.5rem 1rem;
	transition: opacity 0.3s ease;
}

.page-company .outline__map-link:hover {
	opacity: 0.7;
}

.page-company .outline__map-link img {
	filter: brightness(0) invert(1);
}

.page-company .outline__tel {
	margin: 0.5rem 0 0;
}

.page-company .outline__business {
	width: 80%;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	list-style: none;
	padding: 0;
	margin: 0;
}

.page-company .outline__business li {
	position: relative;
	padding-left: 1.5rem;
	padding-bottom: 0.5rem;
}

.page-company .outline__business li::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0.5rem;
	width: 1rem;
	height: 1rem;
	background-image: url('../images/icon_marker.svg');
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
}

@media (max-width: 768px) {
	.page-company .greeting {
		padding: 3.125rem 0 5rem;
	}

	.page-company .greeting__wrapper::after {
		display: none;
	}

	.page-company .greeting__content {
		padding: 0;
	}

	.page-company .greeting__content.sp-only {
		display: block !important;
	}

	.page-company .greeting__content.pc-only {
		display: none !important;
	}

	.page-company .greeting__right {
		width: 100%;
		margin: 3rem 0 3.125rem;
		position: relative;
		padding: 0 0.9375rem;
		min-height: auto;
	}

	.page-company .greeting__right::after {
		content: '';
		position: absolute;
		top: -1rem;
		right: -1rem;
		width: calc(50% + 1rem);
		height: calc(100% + 2rem);
		background-color: #00195c;
		z-index: 0;
	}

	.page-company .greeting__logo-wrapper-sp {
		width: 67%;
		margin: 1.5rem auto;
		position: relative;
		z-index: 1;
		border: 0.25rem solid #f1f1f1;
		padding: 4.375rem 2.75rem 3.3125rem;
		background-color: #fff;
	}

	.page-company .greeting__logo-sp {
		width: 100%;
		height: auto;
	}

	.page-company .greeting__inner {
		padding: 0;
	}

	.page-company .greeting__heading {
		padding: 0 1.25rem;
		gap: 0.5625rem;
		margin-bottom: 1.875rem;
	}

	.page-company .greeting__text {
		font-size: 0.875rem;
		line-height: calc(53 / 29);
		padding: 0 0.9375rem;
	}

	.page-company .greeting__text p {
		margin-bottom: 1.375rem;
	}

	.page-company .greeting__signature {
		margin-top: 3.125rem;
		padding: 0 0.9375rem;
	}

	.page-company .greeting__signature p {
		font-size: 0.8125rem;
	}

	.page-company .greeting__signature-label {
		font-size: 0.8125rem;
		margin-right: 0.7rem;
	}

	.page-company .greeting__signature-name {
		font-size: 1.0625rem;
	}

	.page-company .greeting__title {
		font-size: 1.125rem;
	}

	.page-company .greeting__icon {
		width: 1.875rem;
		height: 1.875rem;
		top: -0.9375rem;
		right: -0.9375rem;
	}

	.page-company .greeting__en {
		font-size: 2.1875rem;
		margin-left: -1.5rem;
	}

	.page-company .philosophy {
		padding: 3.125rem 0 3.375rem;
	}

	.page-company .philosophy__heading {
		padding: 0 1.25rem;
		gap: 0.5625rem;
		margin-bottom: 3rem;
		align-items: baseline;
	}

	.page-company .philosophy__content {
		flex-direction: column;
		gap: 0;
		margin-bottom: 3.0625rem;
	}

	.page-company .philosophy__separator {
		display: flex;
		justify-content: center;
		padding: 3.25rem 0.9375rem 2rem;
		height: auto;
	}

	.page-company .separator-pc {
		display: none;
	}

	.page-company .separator-sp {
		display: block;
		width: calc(100% - 2.5rem);
	}

	.page-company .philosophy__title {
		font-size: 1.125rem;
		margin-right: 0.5rem;
	}

	.page-company .philosophy__en {
		font-size: 2.1875rem;
		margin-left: -1rem;
		margin-bottom: 1%;
	}

	.page-company .philosophy__catch {
		font-size: 0.875rem;
		line-height: calc(53 / 29);
		padding: 0 0.9375rem;
		margin-bottom: 2.125rem;
	}

	.page-company .philosophy__lead {
		font-size: 0.875rem;
		line-height: calc(53 / 29);
		padding: 0 0.9375rem;
		text-align: center;
		margin-bottom: 2.0625rem;
	}

	.page-company .philosophy__image {
		padding: 0 0.9375rem;
	}

	.page-company .philosophy__message {
		font-size: 0.875rem;
		line-height: calc(53 / 29);
		padding: 1.75rem 0;
	}

	.page-company .philosophy__message span {
		border-bottom: 0.0625rem solid #005dab;
	}

	.page-company .philosophy__badge-wrapper {
		padding: 0 1.25rem;
		margin-bottom: 1.375rem;
	}

	.page-company .philosophy__badge {
		padding: 0.5rem 2rem;
		font-size: 0.9375rem;
		margin-bottom: 0;
	}

	.page-company .philosophy__item {
		font-size: 0.875rem;
		line-height: calc(53 / 29);
		padding: 0 0 1.1875rem;
		margin-bottom: 1.1875rem;
	}

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

	.page-company .philosophy__list {
		padding: 0 0.9375rem;
	}

	.page-company .philosophy__bottom {
		padding: 0 0.9375rem;
	}

	.page-company .advantage {
		padding: 3.125rem 0;
	}

	.page-company .advantage::before {
		display: none;
	}

	.page-company .advantage__inner {
		padding: 0;
		display: block;
	}

	.page-company .advantage__content {
		width: 100%;
		padding: 0 0.9375rem;
	}

	.page-company .advantage__heading {
		font-size: 1.4375rem;
		padding-left: 0;
		margin-bottom: 2.6875rem;
		gap: 0.75rem;
		justify-content: center;
	}

	.page-company .advantage__title {
		font-size: 1.4375rem;
	}

	.page-company .advantage__bg-text {
		position: absolute;
		writing-mode: horizontal-tb;
		font-size: 4.625rem;
		text-align: center;
		margin: 0;
		right: 4%;
		top: 48.5%;
		transform: none;
		letter-spacing: normal;
	}

	.page-company .advantage__bg-image {
		display: block;
		width: calc(100% - 1.875rem);
		height: 27.375rem;
		background-image: var(--advantageBgImage);
		background-size: cover;
		background-position: center;
		opacity: 0.48;
		margin: 5rem 0.9375rem 0;
	}

	.page-company .advantage__item {
		gap: 0.25rem;
		padding: 0 0 1.125rem;
		margin-bottom: 1.125rem;
		border-bottom: 0.0625rem solid rgba(255, 255, 255, 0.29);
		align-items: center;
	}

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

	.page-company .advantage__number {
		min-width: 3.75rem;
	}

	.page-company .advantage__label {
		font-size: 0.75rem;
	}

	.page-company .advantage__num {
		font-size: 1.875rem;
	}

	.page-company .advantage__text {
		font-size: 0.875rem;
		line-height: calc(53 / 29);
		padding: 0;
	}

	.page-company .advantage__highlight {
		font-size: 1.125rem;
	}

	.page-company .outline {
		padding: 3.125rem 0 3.375rem;
	}

	.page-company .outline__inner {
		padding: 0 1.25rem;
	}

	.page-company .outline__heading {
		gap: 0.5625rem;
		margin-bottom: 2.5rem;
		align-items: baseline;
	}

	.page-company .outline__title {
		font-size: 1.125rem;
		margin-right: 0.5rem;
	}

	.page-company .outline__en {
		font-size: 2.1875rem;
		margin-left: -1rem;
		margin-bottom: 1%;
	}

	.page-company .outline__table,
	.page-company .outline__table tbody,
	.page-company .outline__table tr,
	.page-company .outline__table th,
	.page-company .outline__table td {
		display: block;
		width: 100%;
		font-size: 0.875rem;
		line-height: calc(53 / 29);
	}

	.page-company .outline__table th {
		padding: 0.75rem 0.9375rem;
		border: none;
		border-top: 0.125rem solid transparent;
		border-image: linear-gradient(to right, #e6e6e6 41%, #f2f2f2 41%) 1;
	}

	.page-company .outline__table td {
		padding: 1.125rem 0 1.125rem 0.875rem;
		border: none;
		border-bottom: none;
	}

	.page-company .outline__address {
		flex-direction: column;
		align-items: flex-start;
		gap: 0.5rem;
	}

	.page-company .outline__map-link {
		font-size: 0.8125rem;
		padding: 0.5rem 0.9375rem;
	}

	.page-company .outline__business {
		grid-template-columns: 1fr;
		width: 100%;
	}

	.page-company .outline__business li {
		padding-bottom: 0.9375rem;
	}

	.page-company .outline__business li::before {
		top: 0.25rem;
		width: 1.125rem;
		height: 1.125rem;
	}
}

.service-page {
	width: 100%;
}

.page-header {
	width: 100%;
	padding: 5.625rem 0 5.1875rem;
	background-color: #fff;
}

.page-header__title {
	max-width: 91.5rem;
	width: 100%;
	margin: 4.5625rem 0 0;
	padding-left: max(3.75rem, min(14.25rem, calc((100vw - 91.5rem) / 2 + 3.75rem)));
	font-size: 6.25rem;
	font-weight: bold;
	font-family: 'Oswald', sans-serif;
}

.page-header__subtitle {
	display: block;
	font-size: 1.5rem;
	margin-top: -1.5rem;
	font-family: 'Noto Sans JP', sans-serif;
}

.breadcrumb {
	margin: 0;
	padding: 0;
}

.breadcrumb a {
	color: #171213;
	text-decoration: none;
	transition: opacity 0.3s ease;
}

.breadcrumb a:hover {
	opacity: 0.7;
}

.breadcrumb span {
	color: #171213;
}

.breadcrumb .breadcrumb__inner {
	padding-left: max(3.75rem, min(14.25rem, calc((100vw - 91.5rem) / 2 + 3.75rem)));
}

.eyecatch {
	width: 100%;
	height: auto;
	overflow: hidden;
}

.eyecatch__pc {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	vertical-align: bottom;
}

.eyecatch__sp {
	display: none;
	width: 100%;
	height: 100%;
	object-fit: cover;
	vertical-align: bottom;
}

@media (max-width: 768px) {
	.page-header {
		padding: 0;
	}

	.page-header__title {
		margin: calc(3.75rem + 1.5625rem) auto 2.5rem;
		padding: 0 0.9375rem;
		font-size: 3.4375rem;
	}

	.page-header__subtitle {
		font-size: 0.875rem;
		margin-top: -0.75rem;
	}

	.eyecatch__pc {
		display: none;
	}

	.eyecatch__sp {
		display: block;
	}

	.breadcrumb .breadcrumb__inner {
		padding: 0 0.9375rem;
	}
}

/* ==================================================
   .page-gas（ガス機器固有）（WP用）
================================================== */

.page-gas .course__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 2rem;
}

.page-gas .course__item {
	text-decoration: none;
	color: #171213;
	transition: all 0.3s ease;
	position: relative;
	border: 0.1875rem solid #b2b8ca;
	height: 11.25rem;
	background-color: #fff;
}

.page-gas .course__overlay {
	position: absolute;
	top: -0.1875rem;
	left: -0.1875rem;
	right: -0.1875rem;
	bottom: -0.1875rem;
	background-color: rgba(255, 255, 255, 0.3);
	opacity: 0;
	transition: opacity 0.3s ease;
	pointer-events: none;
	z-index: 3;
}

.page-gas .course__item:hover .course__overlay {
	opacity: 1;
}

.page-gas .course__item-inner {
	background-color: transparent;
	position: relative;
	display: flex;
	align-items: center;
	gap: 1.5rem;
	isolation: isolate;
	height: 100%;
	overflow: hidden;
}

.page-gas .course__item-image {
	position: relative;
	width: 10rem;
	height: 11.25rem;
	flex-shrink: 0;
}

.page-gas .course__item-image img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.page-gas .course__item-image::after {
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	width: 2.5rem;
	height: 100%;
	background: linear-gradient(to right, rgba(255, 255, 255, 0), rgba(255, 255, 255, 1));
	z-index: 1;
}

.page-gas .course__item-text {
	flex: 1;
	font-size: 1rem;
	font-weight: bold;
	padding-right: 2rem;
}

.page-gas .course__arrow {
	position: absolute;
	right: -0.1875rem;
	bottom: -0.1875rem;
	width: 2.75rem;
	height: 2.75rem;
	background-color: #001650;
	z-index: 2;
}

.page-gas .course__arrow::before {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	width: 0.625rem;
	height: 0.625rem;
	border-top: 0.2188rem solid #fff;
	border-right: 0.2188rem solid #fff;
	transform: translate(-50%, -50%) rotate(45deg);
}

.page-gas .course__arrow::after {
	content: '';
	position: absolute;
	top: 50%;
	left: 65%;
	width: 0.9375rem;
	height: 0.2188rem;
	background-color: #fff;
	transform: translate(-100%, -50%);
}

@media (max-width: 768px) {
	.page-gas .course-wrapper {
		padding: 3.75rem 0.9375rem;
	}

	.page-gas .course__grid {
		grid-template-columns: 1fr;
		gap: 1rem;
	}

	.page-gas .course__item {
		height: 6.25rem;
		border: 0.125rem solid #b2b8ca;
	}

	.page-gas .course__item-image {
		width: 6.25rem;
		height: auto;
	}

	.page-gas .course__item-text {
		font-size: 0.875rem;
	}

	.page-gas .course__arrow {
		width: 2.5rem;
		height: 2.5rem;
	}

	.page-gas .course__arrow::before {
		width: 0.625rem;
		height: 0.625rem;
		border-width: 0.1875rem;
	}
}

.service-page {
	width: 100%;
}

.page-header {
	width: 100%;
	padding: 5.625rem 0 5.1875rem;
	background-color: #fff;
}

.page-header__title {
	max-width: 91.5rem;
	width: 100%;
	margin: 4.5625rem 0 0;
	padding-left: max(3.75rem, min(14.25rem, calc((100vw - 91.5rem) / 2 + 3.75rem)));
	font-size: 6.25rem;
	font-weight: bold;
	font-family: 'Oswald', sans-serif;
}

.page-header__subtitle {
	display: block;
	font-size: 1.5rem;
	margin-top: -1.5rem;
	font-family: 'Noto Sans JP', sans-serif;
}

.breadcrumb {
	margin: 0;
	padding: 0;
}

.breadcrumb a {
	color: #171213;
	text-decoration: none;
	transition: opacity 0.3s ease;
}

.breadcrumb a:hover {
	opacity: 0.7;
}

.breadcrumb span {
	color: #171213;
}

.breadcrumb .breadcrumb__inner {
	padding-left: max(3.75rem, min(14.25rem, calc((100vw - 91.5rem) / 2 + 3.75rem)));
}

.eyecatch {
	width: 100%;
	height: auto;
	overflow: hidden;
}

.eyecatch__pc {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.eyecatch__sp {
	display: none;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.content {
	max-width: 75rem;
	margin: 0 auto;
}

.section {
	width: 100%;
	background-color: #fff;
	padding: 8.625rem 0 7.1875rem;
}

.heading {
	display: flex;
	align-items: flex-start;
	gap: 0.75rem;
	color: #171213;
	font-size: 2.1875rem;
	font-weight: bold;
	margin-bottom: 3.4375rem;
}

.heading img {
	margin-top: 0.75rem;
	vertical-align: bottom;
}

.text {
	margin-bottom: 5rem;
	font-size: 1.0625rem;
}

.text p {
	margin-bottom: 2rem;
	line-height: calc(37 / 17);
}

.image {
	width: 100%;
}

.image img {
	width: 100%;
	height: auto;
	vertical-align: bottom;
}

.image-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 2.5rem;
	margin-top: 2.75rem;
}

.image-grid__item {
	width: 100%;
}

.image-grid__item img {
	width: 100%;
	height: auto;
	object-fit: cover;
	vertical-align: bottom;
}

.message {
	text-align: center;
	font-weight: bold;
	margin-top: 3rem;
}

.message p {
	margin-bottom: 1rem;
	line-height: 1.8;
}

.course-wrapper {
	width: 100%;
	background-image: var(--bgImage);
	background-size: cover;
	background-position: center;
	padding: 6.125rem 0 4.375rem;
}

.course {
	max-width: 75rem;
	margin: 0 auto;
}

.course__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 2rem;
}

.course__item {
	text-decoration: none;
	color: #171213;
	transition: all 0.3s ease;
	position: relative;
	border: 0.1875rem solid #b2b8ca;
	height: 11.25rem;
	background-color: #fff;
}

.course__overlay {
	position: absolute;
	top: -0.1875rem;
	left: -0.1875rem;
	right: -0.1875rem;
	bottom: -0.1875rem;
	background-color: rgba(255, 255, 255, 0.3);
	opacity: 0;
	transition: opacity 0.3s ease;
	pointer-events: none;
	z-index: 3;
}

.course__item:hover .course__overlay {
	opacity: 1;
}

.course__item-inner {
	background-color: transparent;
	position: relative;
	display: flex;
	align-items: center;
	gap: 1.5rem;
	isolation: isolate;
	height: 100%;
	overflow: hidden;
}

.course__item-image {
	position: relative;
	width: 10rem;
	height: 11.25rem;
	flex-shrink: 0;
}

.course__item-image img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.course__item-image::after {
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	width: 2.5rem;
	height: 100%;
	background: linear-gradient(to right, rgba(255, 255, 255, 0), rgba(255, 255, 255, 1));
	z-index: 1;
}

.course__item-text {
	flex: 1;
	font-size: 1rem;
	font-weight: bold;
	padding-right: 2rem;
}

.course__arrow {
	position: absolute;
	right: -0.1875rem;
	bottom: -0.1875rem;
	width: 2.75rem;
	height: 2.75rem;
	background-color: #001650;
	z-index: 2;
}

.course__arrow::before {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	width: 0.625rem;
	height: 0.625rem;
	border-top: 0.2188rem solid #fff;
	border-right: 0.2188rem solid #fff;
	transform: translate(-50%, -50%) rotate(45deg);
}

.course__arrow::after {
	content: '';
	position: absolute;
	top: 50%;
	left: 65%;
	width: 0.9375rem;
	height: 0.2188rem;
	background-color: #fff;
	transform: translate(-100%, -50%);
}

.course__note-pc {
	display: inline;
}

.course__note-sp {
	display: none;
}

.course__note {
	color: #fff;
	text-align: center;
	font-size: 0.875rem;
	margin-top: 1rem;
}

.features {
	width: 100%;
	background-color: #001650;
	padding: 6rem 1.25rem;
	color: #fff;
}

.features__inner {
	max-width: 75rem;
	margin: 0 auto;
}

.features__heading {
	text-align: center;
	font-size: 2rem;
	font-weight: bold;
	margin-bottom: 4rem;
}

.features__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 3rem;
}

.features__item {
	text-align: center;
	position: relative;
}

.features__icon {
	margin-bottom: 2rem;
}

.features__icon img {}

.features__title {
	font-size: 1.25rem;
	font-weight: bold;
	margin-bottom: 1.5rem;
	position: relative;
	display: block;
	padding-bottom: 1rem;
}

.features__title::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 100%;
	height: 0.1875rem;
	background-color: #fff;
}

.features__text {
	text-align: left;
	line-height: 1.8;
}

.pc-only {
	display: block;
}

@media (max-width: 768px) {
	.content {
		margin: 0 auto;
	}

	.page-header {
		padding: 0;
	}

	.page-header__title {
		margin: calc(3.75rem + 1.5625rem) auto 2.5rem;
		padding: 0 0.9375rem;
		font-size: 3.4375rem;
	}

	.breadcrumb .breadcrumb__inner {
		padding: 0 0.9375rem;
	}

	.page-header__subtitle {
		font-size: 0.875rem;
		margin-top: -0.75rem;
	}

	.eyecatch__pc {
		display: none;
	}

	.eyecatch__sp {
		display: block;
	}

	.section {
		padding: 3.125rem 0.9375rem;
	}

	.heading {
		font-size: 1.125rem;
		margin-bottom: 2.1875rem;
		align-items: flex-start;
	}

	.heading img {
		width: 1.625rem;
		height: 1.625rem;
		vertical-align: bottom;
		margin-top: 0.45rem;
	}

	.text {
		margin-bottom: 2.625rem;
		font-size: 0.875rem;
	}

	.text p {
		margin-bottom: 1.25rem;
		line-height: calc(53 / 29);
	}

	.image-grid {
		grid-template-columns: 1fr;
		gap: 0.75rem;
		margin-top: 0.75rem;
	}

	.image img {
		aspect-ratio: 690 / 386;
	}

	.course-wrapper {
		padding: 3.75rem 0.9375rem 3.75rem;
		background-image: var(--bgImageSp);
	}

	.course__grid {
		grid-template-columns: 1fr;
		gap: 1rem;
	}

	.course__item {
		height: 6.25rem;
		border: 0.125rem solid #b2b8ca;
	}

	.course__item-image {
		width: 6.25rem;
		height: auto;
	}

	.course__item-text {
		font-size: 0.875rem;
	}

	.course__arrow {
		width: 2.5rem;
		height: 2.5rem;
	}

	.course__arrow::before {
		width: 0.625rem;
		height: 0.625rem;
		border-width: 0.1875rem;
	}

	.course__note {
		margin-top: 1.25rem;
	}

	.course__note-pc {
		display: none;
	}

	.course__note-sp {
		font-size: 0.75rem;
		display: inline;
	}

	.features {
		padding: 3rem 1.25rem;
	}

	.features__heading {
		font-size: 1.5rem;
		margin-bottom: 2rem;
	}

	.features__grid {
		grid-template-columns: 1fr;
		gap: 2rem;
	}

	.features__icon {
		margin-bottom: 1rem;
	}

	.features__title {
		font-size: 1.1rem;
		margin-bottom: 1rem;
	}

	.pc-only {
		display: none;
	}
}

/* ==================================================
   .page-maintenance（修理・点検固有）（WP用）
================================================== */

.page-maintenance .content {
	margin: 4rem auto;
}

.page-maintenance .section {
	padding: 6.9375rem 0 8rem;
}

.page-maintenance .text {
	margin-bottom: 5.75rem;
}

.page-maintenance .text p {
	margin-bottom: 2rem;
}

@media (max-width: 768px) {
	.page-maintenance .text p {
		line-height: calc(53 / 29);
	}
}

.service-page {
	width: 100%;
}

.page-header {
	width: 100%;
	padding: 5.625rem 0 5.1875rem;
	background-color: #fff;
}

.page-header__title {
	max-width: 91.5rem;
	width: 100%;
	margin: 4.5625rem 0 0;
	padding-left: max(3.75rem, min(14.25rem, calc((100vw - 91.5rem) / 2 + 3.75rem)));
	font-size: 6.25rem;
	font-weight: bold;
	font-family: 'Oswald', sans-serif;
}

.page-header__subtitle {
	display: block;
	font-size: 1.5rem;
	margin-top: -1.5rem;
	font-family: 'Noto Sans JP', sans-serif;
}

.breadcrumb {
	margin: 0;
	padding: 0;
}

.breadcrumb a {
	color: #171213;
	text-decoration: none;
	transition: opacity 0.3s ease;
}

.breadcrumb a:hover {
	opacity: 0.7;
}

.breadcrumb span {
	color: #171213;
}

.breadcrumb .breadcrumb__inner {
	padding-left: max(3.75rem, min(14.25rem, calc((100vw - 91.5rem) / 2 + 3.75rem)));
}

.eyecatch {
	width: 100%;
	height: auto;
	overflow: hidden;
}

.eyecatch__pc {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.eyecatch__sp {
	display: none;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.content {
	max-width: 75rem;
	margin: 4rem auto;
}

.section {
	width: 100%;
	background-color: #fff;
	padding: 6.9375rem 0 8rem;
}

.heading {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	color: #171213;
	font-size: 2.1875rem;
	font-weight: bold;
	margin-bottom: 3.4375rem;
}

.text {
	margin-bottom: 5.75rem;
	font-size: 1.0625rem;
}

.text p {
	margin-bottom: 2rem;
	line-height: calc(37 / 17);
}

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

.image {
	width: 100%;
}

.image img {
	width: 100%;
	height: auto;
	vertical-align: bottom;
}

.image-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 2.5rem;
	margin-top: 2.75rem;
}

.image-grid__item {
	width: 100%;
}

.image-grid__item img {
	width: 100%;
	height: auto;
	object-fit: cover;
	vertical-align: bottom;
}

.message {
	text-align: center;
	font-weight: bold;
	margin-top: 6.8125rem;
	font-size: 1.375rem;
}

.message p {
	line-height: calc(37 / 22);
}

.pc-only {
	display: block;
}

.course-wrapper {
	width: 100%;
	background-image: var(--bgImage);
	background-size: cover;
	background-position: center;
	padding: 5.625rem 0 3.25rem;
}

.course {
	max-width: 75rem;
	margin: 0 auto;
}

.course__link {
	display: block;
	text-decoration: none;
	color: #171213;
	transition: all 0.3s ease;
	position: relative;
}

.course__bg {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #fff;
	transition: opacity 0.3s ease;
}

.course__content:hover {
	opacity: 0.7;
}

.course__content {
	padding: 3rem;
	position: relative;
	background-color: #fff;
	isolation: isolate;
}

.course__content::before,
.course__content::after {
	content: '';
	position: absolute;
	right: 0.1875rem;
	bottom: 0.1875rem;
}

.course__content::before {
	width: 3.4375rem;
	height: 3.4375rem;
	background-color: #001650;
}

.course__content::after {
	right: 1.125rem;
	bottom: 1.25rem;
	width: 0.9375rem;
	height: 0.9375rem;
	border-top: 0.3125rem solid #fff;
	border-right: 0.3125rem solid #fff;
	transform: rotate(45deg);
	z-index: 1;
}

.course__arrow {
	position: absolute;
	right: 1.25rem;
	bottom: 1.75rem;
	width: 1.5625rem;
	height: 0.3125rem;
	background-color: #fff;
	z-index: 1;
}

.course__text {
	text-align: center;
	font-size: 1.375rem;
	font-weight: bold;
	margin-bottom: 2.125rem;
}

.course__image {
	width: 25rem;
	margin: 0 auto;
}

.course__image img {
	width: 100%;
	height: auto;
}

.course__note {
	color: #fff;
	text-align: center;
	font-size: 0.875rem;
	margin-top: 1rem;
}

.course__note-sp {
	display: none;
}

.features {
	width: 100%;
	background-color: #001650;
	padding: 7.9375rem 0 6.625rem;
	color: #fff;
}

.features__inner {
	max-width: 75rem;
	margin: 0 auto;
}

.features__heading {
	text-align: center;
	font-size: 1.875rem;
	font-weight: bold;
	margin-bottom: 2.75rem;
}

.features__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 2.5rem;
}

.features__item {
	text-align: center;
	position: relative;
}

.features__icon {
	height: 6.625rem;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 1.375rem;
}

.features__icon img {
	vertical-align: bottom;
}

.features__title {
	font-size: 1.375rem;
	font-weight: bold;
	margin-bottom: 2.25rem;
	position: relative;
	display: block;
	padding-bottom: 1.25rem;
}

.features__title::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 100%;
	height: 0.375rem;
	background-color: #fff;
}

.features__text {
	text-align: left;
	line-height: calc(37 / 17);
	font-size: 1.0625rem;
}

.features__text-note {
	font-size: 0.9375rem;
}

.course__note-pc {
	display: block;
}

.sp-only {
	display: none;
}

.pc-only {
	display: block;
}

@media (max-width: 768px) {
	.content {
		margin: 0 auto;
	}

	.page-header {
		padding: 0;
	}

	.page-header__title {
		margin: calc(3.75rem + 1.5625rem) auto 2.5rem;
		padding: 0 0.9375rem;
		font-size: 3.4375rem;
	}

	.breadcrumb .breadcrumb__inner {
		padding: 0 0.9375rem;
	}

	.page-header__subtitle {
		font-size: 0.875rem;
		margin-top: -0.75rem;
	}

	.eyecatch__pc {
		display: none;
	}

	.eyecatch__sp {
		display: block;
	}

	.section {
		padding: 3.125rem 0.9375rem;
	}

	.heading {
		font-size: 1.125rem;
		margin-bottom: 2.1875rem;
		align-items: flex-start;
	}

	.heading img {
		width: 1.625rem;
		height: 1.625rem;
		vertical-align: bottom;
		margin-top: 0.45rem;
	}

	.text {
		margin-bottom: 2.625rem;
		font-size: 0.875rem;
	}

	.text p {
		margin-bottom: 1.25rem;
		line-height: calc(53 / 29);
	}

	.image-grid {
		grid-template-columns: 1fr;
		gap: 0.75rem;
		margin-top: 0.75rem;
	}

	.image img {
		aspect-ratio: 690 /386;
	}

	.message {
		text-align: left;
		font-weight: bold;
		margin-top: 3rem;
		font-size: 1rem;
	}

	.message p br {
		display: none;
	}

	.pc-only {
		display: none;
	}

	.course__text {
		font-size: 0.875rem;
		margin-bottom: 0.75rem;
	}

	.course-wrapper {
		padding: 2rem 0.9375rem 1.4375rem;
		background-image: var(--bgImageSp);
	}

	.course__image {
		width: 11.75rem;
	}

	.course__content {
		padding: 1.6875rem 3.6875rem;
	}

	.course__content::before {
		width: 2.5rem;
		height: 2.5rem;
		right: 0.0625rem;
		bottom: 0.0625rem;
	}

	.course__content::after {
		right: 0.75rem;
		bottom: 0.8125rem;
		width: 0.625rem;
		height: 0.625rem;
		border-width: 0.1875rem;
	}

	.course__arrow {
		right: 0.75rem;
		bottom: 1.125rem;
		width: 0.9375rem;
		height: 0.1875rem;
	}

	.course__note {
		margin-top: 0.6875rem;
	}

	.course__note-pc {
		display: none;
	}

	.course__note-sp {
		font-size: 0.75rem;
		display: inline;
	}

	.features {
		padding: 4.8125rem 0.9375rem 5.8125rem;
	}

	.features__heading {
		font-size: 1.4375rem;
		margin-bottom: 2.5rem;
	}

	.features__grid {
		grid-template-columns: 1fr;
		gap: 4.6875rem;
	}

	.features__icon {
		width: 6.5rem;
		height: auto;
		margin: 0 auto;
		margin-bottom: 1.125rem;
	}

	.features__icon img {
		width: 100%;
		height: auto;
	}

	.features__title {
		font-size: 1.1875rem;
		padding-bottom: 1.1875rem;
		margin-bottom: 1.1875rem;
	}

	.features__title::after {
		height: 0.3125rem;
	}

	.features__text {
		font-size: 0.875rem;
		line-height: calc(45 / 29);
	}

	.features__text-note {
		font-size: 0.8125rem;
	}

	.sp-only {
		display: block;
	}

	.pc-only {
		display: none;
	}
}

/* ==================================================
   .page-plumbing（水まわり固有）（WP用）
================================================== */

.page-plumbing .content {
	max-width: none;
}

.page-plumbing .section {
	background-color: #f2f2f2;
	padding: 6.9375rem 0 8.875rem;
	width: 100%;
}

.page-plumbing .section--white {
	background-color: #fff;
}

.page-plumbing .section__inner {
	max-width: 75rem;
	margin: 0 auto;
}

/* セクションヘッダー */

.page-plumbing .section-header {
	margin-bottom: 4rem;
}

.page-plumbing .section-header__title {
	font-size: 5rem;
	font-weight: bold;
	font-family: 'Oswald', sans-serif;
	position: relative;
	padding-bottom: 1.375rem;
	margin-bottom: 4.6875rem;
}

.page-plumbing .section-header__title::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 0.0625rem;
	background-color: #707070;
}

.page-plumbing .section-header__subtitle {
	display: block;
	font-size: 1.5rem;
	margin-top: -1rem;
	font-family: 'Noto Sans JP', sans-serif;
	letter-spacing: 0.1em;
}

/* サービスグリッド */

.page-plumbing .service-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	margin-bottom: 2.8125rem;
}

.page-plumbing .section__inner>.service-grid:nth-last-child(2) {
	margin-bottom: 0;
}

.page-plumbing .service-grid__notes {
	font-size: 0.9375rem;
	color: #171213;
	margin-top: calc(1.5rem - 2.8125rem);
	margin-bottom: 5rem;
}

.page-plumbing .service-grid__notes p {
	margin: 0;
	padding-left: 1em;
	text-indent: -1em;
	line-height: 1.8;
}

.page-plumbing .service-grid__item {
	width: 100%;
}

.page-plumbing .service-grid__item img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.page-plumbing .service-grid__content {
	background-color: #001650;
	padding: 3rem;
	display: flex;
	flex-direction: column;
	align-items: center;
	color: #fff;
}

.page-plumbing .service-grid__header {
	display: flex;
	align-items: center;
	gap: 1rem;
	margin-bottom: 2rem;
}

.page-plumbing .service-grid__icon {
	width: 6.5625rem;
	height: 6.5625rem;
	background-color: #fff;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.page-plumbing .service-grid__icon img {
	width: 3.75rem;
	height: 3.75rem;
	object-fit: contain;
}

.page-plumbing .service-grid__title {
	font-size: 1.4375rem;
	font-weight: bold;
	text-align: left;
	margin: 0;
}

.page-plumbing .service-grid__list {
	list-style: none;
	padding: 0;
	margin: 0;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 1rem;
	width: 100%;
}

.page-plumbing .service-grid__list-item {
	background-color: #fff;
	color: #001650;
	padding: 0.875rem 0 0.875rem 2.625rem;
	font-size: 1.125rem;
	font-weight: bold;
	text-align: left;
	position: relative;
}

.page-plumbing .service-grid__list-item::before {
	content: '■';
	color: #001650;
	position: absolute;
	left: 0.5rem;
	top: 25%;
	transform: translateY(-50%);
	font-size: 0.8rem;
}

/* クリーンサービス */

.page-plumbing .clean-service-grid {
	margin-top: 5.625rem;
}

.page-plumbing .clean-service-item {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	box-shadow: 0 0.0625rem 0.25rem 0.1875rem rgba(0, 0, 0, 0.1);
}

.page-plumbing .clean-service-item__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.page-plumbing .clean-service-item__content {
	display: flex;
	flex-direction: column;
}

.page-plumbing .clean-service-item__header {
	background-color: #001650;
	color: #fff;
	padding: 1.125rem 0 1.125rem 4.1875rem;
	display: flex;
	align-items: center;
	gap: 1rem;
}

.page-plumbing .clean-service-item__number {
	font-size: 1.625rem;
	font-weight: bold;
}

.page-plumbing .clean-service-item__title {
	font-size: 1.875rem;
	font-weight: bold;
	margin: 0;
	display: flex;
	align-items: center;
}

.page-plumbing .clean-service-item__diamond {
	font-size: 0.9rem;
	display: flex;
	align-items: center;
}

.page-plumbing .clean-service-item__diamond:nth-child(2) {
	margin-right: 0.75rem;
}

.page-plumbing .clean-service-item__body {
	background-color: #fff;
	padding: 3.8125rem;
}

.page-plumbing .clean-service-item__text {
	margin-bottom: 1.3125rem;
	font-size: 1.0625rem;
}

.page-plumbing .clean-service-item__time {
	background-color: #f2f2f2;
	display: flex;
	align-items: flex-end;
	justify-content: center;
	margin-bottom: 1.5rem;
	padding: 0.25rem 2rem;
}

.page-plumbing .clean-service-item__time-icon {
	width: 2rem;
	height: 2rem;
	margin-right: 0.5rem;
}

.page-plumbing .clean-service-item__time-icon img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.page-plumbing .clean-service-item__time-label {
	font-size: 1.0625rem;
}

.page-plumbing .clean-service-item__time-label--bold {
	font-weight: bold;
}

.page-plumbing .clean-service-item__time-value {
	font-size: 1.5625rem;
	font-weight: bold;
	line-height: 1.3;
}

.page-plumbing .clean-service-item__area {
	display: flex;
	align-items: stretch;
}

.page-plumbing .clean-service-item__area-label {
	writing-mode: vertical-rl;
	background-color: #001650;
	font-size: 1.0625rem;
	color: #fff;
	padding: 0 0.875rem;
	text-align: center;
}

.page-plumbing .clean-service-item__area-list {
	flex: 1;
	padding: 1.5rem 0 1.5rem 1.5rem;
	font-size: 1.0625rem;
	background-color: #fff;
	box-shadow: 0 0.0625rem 0.25rem 0.1875rem rgba(0, 0, 0, 0.1);
}

.page-plumbing .clean-service-item__note {
	font-size: 0.8125rem;
	margin-top: 0.9375rem;
}

.page-plumbing .clean-service-item__body>.clean-service-item__note {
	margin-top: -1rem;
	margin-bottom: 1.625rem;
}

@media (max-width: 768px) {
	.page-plumbing .section {
		padding: 3.125rem 0.9375rem 2.8125rem;
	}

	.page-plumbing .section-header {
		margin-bottom: 2rem;
	}

	.page-plumbing .section-header__title {
		font-size: 2.375rem;
		padding-bottom: 0.625rem;
		margin-bottom: 2.5rem;
	}

	.page-plumbing .section-header__subtitle {
		font-size: 0.875rem;
		margin-top: -0.5rem;
	}

	.page-plumbing .section__inner {
		padding: 0;
	}

	.page-plumbing .service-grid {
		grid-template-columns: 1fr;
		margin-bottom: 2.1875rem;
	}

	.page-plumbing .service-grid__content {
		order: 2;
		padding: 2rem 1rem 2.1875rem;
		position: relative;
	}

	.page-plumbing .service-grid__item img {
		aspect-ratio: 690/425;
	}

	.page-plumbing .service-grid__item:not(.service-grid__content) {
		order: 1;
	}

	.page-plumbing .service-grid__icon {
		position: absolute;
		top: 0;
		left: 50%;
		transform: translate(-50%, -50%);
		width: 4.375rem;
		height: 4.375rem;
		z-index: 1;
	}

	.page-plumbing .service-grid__icon img {
		width: 2.125rem;
		height: 2.125rem;
	}

	.page-plumbing .service-grid__header {
		margin-top: 2rem;
		flex-direction: column;
		text-align: center;
	}

	.page-plumbing .service-grid__title {
		font-size: 1.125rem;
		text-align: center;
	}

	.page-plumbing .service-grid__list {
		grid-template-columns: repeat(2, 1fr);
		column-gap: 0.625rem;
		row-gap: 0.4375rem;
	}

	.page-plumbing .service-grid__list-item {
		padding: 0.4375rem 0 0.4375rem 1.25rem;
		font-size: 0.875rem;
	}

	.page-plumbing .service-grid__list-item::before {
		left: 0.125rem;
		top: 18%;
		font-size: 0.5rem;
	}

	.page-plumbing .service-grid__notes {
		margin-bottom: 2.6875rem;
	}

	.page-plumbing .service-grid__notes p {
		font-size: 0.75rem;
		line-height: calc(44 / 25);
	}

	.page-plumbing .clean-service-grid {
		margin: 0;
		margin-bottom: 2.5rem;
	}

	.page-plumbing .clean-service-item {
		grid-template-columns: 1fr;
	}

	.page-plumbing .clean-service-item__image img {
		aspect-ratio: 690/425;
	}

	.page-plumbing .clean-service-item__header {
		padding: 0.625rem 1rem 0.5rem;
		justify-content: center;
		gap: 0.3125rem;
	}

	.page-plumbing .clean-service-item__number {
		font-size: 1.1875rem;
	}

	.page-plumbing .clean-service-item__title {
		font-size: 1.1875rem;
	}

	.page-plumbing .clean-service-item__diamond {
		font-size: 0.5rem;
		margin-top: 0.3125rem;
	}

	.page-plumbing .clean-service-item__diamond:nth-child(2) {
		margin-right: 0.5rem;
	}

	.page-plumbing .clean-service-item__body {
		padding: 1.25rem 1rem 1.6875rem;
	}

	.page-plumbing .clean-service-item__text {
		font-size: 0.875rem;
		line-height: calc(45 / 29);
		margin-bottom: 1.0625rem;
	}

	.page-plumbing .clean-service-item__time {
		padding: 1rem;
	}

	.page-plumbing .clean-service-item__time-icon {
		width: 1.25rem;
		height: 1.25rem;
	}

	.page-plumbing .clean-service-item__time-label {
		font-size: 0.6875rem;
	}

	.page-plumbing .clean-service-item__time-label--bold {
		font-size: 0.875rem;
	}

	.page-plumbing .clean-service-item__time-value {
		font-size: 1.3125rem;
	}

	.page-plumbing .clean-service-item__area-label {
		font-size: 0.875rem;
		padding: 0 0.375rem;
	}

	.page-plumbing .clean-service-item__area-list {
		font-size: 0.875rem;
		padding: 1.4375rem 0 1.4375rem 1.0625rem;
		box-shadow: 0 0 0.3125rem rgba(0, 0, 0, 0.16);
	}

	.page-plumbing .clean-service-item__note {
		font-size: 0.75rem;
		margin-top: 1.0625rem;
	}

	.page-plumbing .clean-service-item__body>.clean-service-item__note {
		margin-bottom: 1.0625rem;
	}

	.page-plumbing .text.clean-service-text {
		margin-bottom: 2.625rem;
	}
}

.service-page {
	width: 100%;
}

.page-header {
	width: 100%;
	padding: 5.625rem 0 5.1875rem;
	background-color: #fff;
}

.page-header__title {
	max-width: 91.5rem;
	width: 100%;
	margin: 4.5625rem 0 0;
	padding-left: max(3.75rem, min(14.25rem, calc((100vw - 91.5rem) / 2 + 3.75rem)));
	font-size: 6.25rem;
	font-weight: bold;
	font-family: 'Oswald', sans-serif;
}

.breadcrumb .breadcrumb__inner {
	padding-left: max(3.75rem, min(14.25rem, calc((100vw - 91.5rem) / 2 + 3.75rem)));
}

.page-header__subtitle {
	display: block;
	font-size: 1.5rem;
	margin-top: -1.5rem;
	font-family: 'Noto Sans JP', sans-serif;
}

.breadcrumb {
	margin: 0;
	padding: 0;
}

.breadcrumb a {
	color: #171213;
	text-decoration: none;
	transition: opacity 0.3s ease;
}

.breadcrumb a:hover {
	opacity: 0.7;
}

.breadcrumb span {
	color: #171213;
}

.eyecatch {
	width: 100%;
	height: auto;
	overflow: hidden;
}

.eyecatch__pc {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.eyecatch__sp {
	display: none;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.section {
	width: 100%;
	background-color: #f2f2f2;
	padding: 6.9375rem 0 8.875rem;
}

.section--white {
	background-color: #fff;
}

.section__inner {
	max-width: 75rem;
	margin: 0 auto;
}

.heading {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	color: #171213;
	font-size: 2.1875rem;
	font-weight: bold;
	margin-bottom: 2.1875rem;
}

.text {
	margin-bottom: 5.375rem;
	font-size: 1.0625rem;
}

.text p {
	margin-bottom: 2rem;
	line-height: 1.8;
}

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

.service-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	margin-bottom: 2.8125rem;
}

.section__inner>.service-grid:nth-last-child(2) {
	margin-bottom: 0;
}

.service-grid__notes {
	font-size: 0.9375rem;
	color: #171213;
	margin-top: calc(1.5rem - 2.8125rem);
	margin-bottom: 5rem;
}

.service-grid__notes p {
	margin: 0;
	padding-left: 1em;
	text-indent: -1em;
	line-height: 1.8;
}

.service-grid__item {
	width: 100%;
}

.service-grid__item img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.service-grid__content {
	background-color: #001650;
	padding: 3rem;
	display: flex;
	flex-direction: column;
	align-items: center;
	color: #fff;
}

.service-grid__header {
	display: flex;
	align-items: center;
	gap: 1rem;
	margin-bottom: 2rem;
}

.service-grid__icon {
	width: 6.5625rem;
	height: 6.5625rem;
	background-color: #fff;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.service-grid__icon img {
	width: 3.75rem;
	height: 3.75rem;
	object-fit: contain;
}

.service-grid__title {
	font-size: 1.4375rem;
	font-weight: bold;
	text-align: left;
	margin: 0;
}

.service-grid__list {
	list-style: none;
	padding: 0;
	margin: 0;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 1rem;
	width: 100%;
}

.service-grid__list-item {
	background-color: #fff;
	color: #001650;
	padding: 0.875rem 0 0.875rem 2.625rem;
	font-size: 1.125rem;
	font-weight: bold;
	text-align: left;
	position: relative;
}

.service-grid__list-item::before {
	content: '■';
	color: #001650;
	position: absolute;
	left: 0.5rem;
	top: 25%;
	transform: translateY(-50%);
	font-size: 0.8rem;
}

.message {
	text-align: center;
	font-weight: bold;
	margin-top: 3rem;
	font-size: 1.375rem;
}

.message p {
	line-height: 1.8;
}

.sp-only {
	display: none;
}

.course-wrapper {
	width: 100%;
	background-image: var(--bgImage);
	background-size: cover;
	background-position: center;
	padding: 5.625rem 0 3.25rem;
}

.course {
	max-width: 75rem;
	margin: 0 auto;
}

.course__link {
	display: block;
	text-decoration: none;
	color: #171213;
	transition: all 0.3s ease;
	position: relative;
}

.course__bg {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #fff;
	transition: opacity 0.3s ease;
}

.course__content:hover {
	opacity: 0.7;
}

.course__content {
	padding: 3rem;
	position: relative;
	background-color: #fff;
	isolation: isolate;
}

.course__content::before,
.course__content::after {
	content: '';
	position: absolute;
	right: 0.1875rem;
	bottom: 0.1875rem;
}

.course__content::before {
	width: 3.4375rem;
	height: 3.4375rem;
	background-color: #001650;
}

.course__content::after {
	right: 1.125rem;
	bottom: 1.25rem;
	width: 0.9375rem;
	height: 0.9375rem;
	border-top: 0.3125rem solid #fff;
	border-right: 0.3125rem solid #fff;
	transform: rotate(45deg);
	z-index: 1;
}

.course__arrow {
	position: absolute;
	right: 1.25rem;
	bottom: 1.75rem;
	width: 1.5625rem;
	height: 0.3125rem;
	background-color: #fff;
	z-index: 1;
}

.course__note-pc {
	display: block;
}

.course__note-sp {
	display: none;
}

.course__text {
	text-align: center;
	font-size: 1.5rem;
	font-weight: bold;
	margin-bottom: 2rem;
}

.course__image {
	width: 25rem;
	margin: 0 auto;
}

.course__image img {
	width: 100%;
	height: auto;
}

.course__note {
	color: #fff;
	text-align: center;
	font-size: 0.875rem;
	margin-top: 1rem;
}

.clean-service-grid {
	margin-top: 5.625rem;
}

.clean-service-item {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	box-shadow: 0 0.0625rem 0.25rem 0.1875rem rgba(0, 0, 0, 0.1);
}

.clean-service-item__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.clean-service-item__content {
	display: flex;
	flex-direction: column;
}

.clean-service-item__header {
	background-color: #001650;
	color: #fff;
	padding: 1.125rem 0 1.125rem 4.1875rem;
	display: flex;
	align-items: center;
	gap: 1rem;
}

.clean-service-item__number {
	font-size: 1.625rem;
	font-weight: bold;
}

.clean-service-item__title {
	font-size: 1.875rem;
	font-weight: bold;
	margin: 0;
	display: flex;
	align-items: center;
}

.clean-service-item__diamond {
	font-size: 0.9rem;
	display: flex;
	align-items: center;
}

.clean-service-item__diamond:nth-child(2) {
	margin-right: 0.75rem;
}

.clean-service-item__body {
	background-color: #fff;
	padding: 3.8125rem;
}

.clean-service-item__text {
	margin-bottom: 1.3125rem;
	font-size: 1.0625rem;
}

.clean-service-item__time {
	background-color: #f2f2f2;
	display: flex;
	align-items: flex-end;
	justify-content: center;
	margin-bottom: 1.5rem;
	padding: 0.25rem 2rem;
}

.clean-service-item__time-icon {
	width: 2rem;
	height: 2rem;
	margin-right: 0.5rem;
}

.clean-service-item__time-icon img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.clean-service-item__time-label {
	font-size: 1.0625rem;
}

.clean-service-item__time-label--bold {
	font-weight: bold;
}

.clean-service-item__time-value {
	font-size: 1.5625rem;
	font-weight: bold;
	line-height: 1.3;
}

.clean-service-item__area {
	display: flex;
	align-items: stretch;
}

.clean-service-item__area-label {
	writing-mode: vertical-rl;
	background-color: #001650;
	font-size: 1.0625rem;
	color: #fff;
	padding: 0 0.875rem;
	text-align: center;
}

.clean-service-item__area-list {
	flex: 1;
	padding: 1.5rem 0 1.5rem 1.5rem;
	font-size: 1.0625rem;
	background-color: #fff;
	box-shadow: 0 0.0625rem 0.25rem 0.1875rem rgba(0, 0, 0, 0.1);
}

.clean-service-item__note {
	font-size: 0.8125rem;
	margin-top: 0.9375rem;
}

.clean-service-item__body>.clean-service-item__note {
	margin-top: -1rem;
	margin-bottom: 1.625rem;
}

.features {
	width: 100%;
	background-color: #001650;
	padding: 6rem 1.25rem;
	color: #fff;
}

.features__inner {
	max-width: 75rem;
	margin: 0 auto;
}

.features__heading {
	text-align: center;
	font-size: 2rem;
	font-weight: bold;
	margin-bottom: 4rem;
}

.features__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 3rem;
}

.features__item {
	text-align: center;
	position: relative;
}

.features__icon {
	margin-bottom: 2rem;
}

.features__icon img {}

.features__title {
	font-size: 1.25rem;
	font-weight: bold;
	margin-bottom: 1.5rem;
	position: relative;
	display: block;
	padding-bottom: 1rem;
}

.features__title::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 100%;
	height: 0.1875rem;
	background-color: #fff;
}

.features__text {
	text-align: left;
	line-height: 1.8;
}

.section-header {
	margin-bottom: 4rem;
}

.section-header__title {
	font-size: 5rem;
	font-weight: bold;
	font-family: 'Oswald', sans-serif;
	position: relative;
	padding-bottom: 1.375rem;
	margin-bottom: 4.6875rem;
}

.section-header__title::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 0.0625rem;
	background-color: #707070;
}

.section-header__subtitle {
	display: block;
	font-size: 1.5rem;
	margin-top: -1rem;
	font-family: 'Noto Sans JP', sans-serif;
	letter-spacing: 0.1em;
}

@media (max-width: 768px) {
	.content {
		margin: 0 auto;
	}

	.page-header {
		padding: 0;
	}

	.page-header__title {
		margin: calc(3.75rem + 1.5625rem) auto 2.5rem;
		padding: 0 0.9375rem;
		font-size: 3.4375rem;
	}

	.breadcrumb .breadcrumb__inner {
		padding: 0 0.9375rem;
	}

	.page-header__subtitle {
		font-size: 0.875rem;
		margin-top: -0.75rem;
	}

	.eyecatch__pc {
		display: none;
	}

	.eyecatch__sp {
		display: block;
	}

	.section {
		padding: 3.125rem 0.9375rem 2.8125rem;
	}

	.heading {
		font-size: 1.125rem;
		margin-bottom: 2.1875rem;
		align-items: flex-start;
	}

	.heading img {
		width: 1.625rem;
		height: 1.625rem;
		vertical-align: bottom;
		margin-top: 0.45rem;
	}

	.text {
		font-size: 0.875rem;
		margin-bottom: 3.125rem;
	}

	.text.clean-service-text {
		margin-bottom: 2.625rem;
	}

	.text p {
		line-height: calc(53 / 29);
	}

	.service-grid {
		grid-template-columns: 1fr;
		margin-bottom: 2.1875rem;
	}

	.service-grid__content {
		order: 2;
		padding: 2rem 1rem 2.1875rem;
		position: relative;
	}

	.service-grid__item img {
		aspect-ratio: 690/425;
	}

	.service-grid__item:not(.service-grid__content) {
		order: 1;
	}

	.service-grid__icon {
		position: absolute;
		top: 0;
		left: 50%;
		transform: translate(-50%, -50%);
		width: 4.375rem;
		height: 4.375rem;
		z-index: 1;
	}

	.service-grid__icon img {
		width: 2.125rem;
		height: 2.125rem;
	}

	.service-grid__header {
		margin-top: 2rem;
		flex-direction: column;
		text-align: center;
	}

	.service-grid__title {
		font-size: 1.125rem;
		text-align: center;
	}

	.service-grid__list {
		grid-template-columns: repeat(2, 1fr);
		column-gap: 0.625rem;
		row-gap: 0.4375rem;
	}

	.service-grid__list-item {
		padding: 0.4375rem 0 0.4375rem 1.25rem;
		font-size: 0.875rem;
		font-weight: bold;
	}

	.service-grid__list-item::before {
		left: 0.125rem;
		top: 18%;
		font-size: 0.5rem;
	}

	.service-grid__notes {
		margin-bottom: 2.6875rem;
	}

	.service-grid__notes p {
		font-size: 0.75rem;
		line-height: calc(44 / 25);
	}

	.message {
		margin-top: 0;
	}

	.message p {
		font-size: 1rem;
		line-height: calc(53 / 32);
	}

	.features {
		padding: 4.8125rem 0.9375rem 5.8125rem;
	}

	.features__heading {
		font-size: 1.4375rem;
		margin-bottom: 2.5rem;
	}

	.features__grid {
		grid-template-columns: 1fr;
		gap: 4.6875rem;
	}

	.features__icon {
		width: 6.5rem;
		height: auto;
		margin: 0 auto;
		margin-bottom: 1.125rem;
	}

	.features__icon img {
		width: 100%;
		height: auto;
	}

	.features__title {
		font-size: 1.1875rem;
		padding-bottom: 1.1875rem;
		margin-bottom: 1.1875rem;
	}

	.features__title::after {
		height: 0.3125rem;
	}

	.features__text {
		font-size: 0.875rem;
		line-height: calc(45 / 29);
	}

	.clean-service-grid {
		margin: 0;
	}

	.clean-service-item__image img {
		aspect-ratio: 690/425;
	}

	.clean-service-grid {
		margin-bottom: 2.5rem;
	}

	.clean-service-item__header {
		padding: 0.625rem 1rem 0.5rem;
		justify-content: center;
		gap: 0.3125rem;
	}

	.clean-service-item__number {
		font-size: 1.1875rem;
	}

	.clean-service-item__title {
		font-size: 1.1875rem;
	}

	.clean-service-item__diamond {
		font-size: 0.5rem;
		margin-top: 0.3125rem;
	}

	.clean-service-item__diamond:nth-child(2) {
		margin-right: 0.5rem;
	}

	.clean-service-item__text {
		font-size: 0.875rem;
		line-height: calc(45 / 29);
		margin-bottom: 1.0625rem;
	}

	.clean-service-item__time {
		padding: 1rem 1rem;
	}

	.clean-service-item__time-label {
		font-size: 0.6875rem;
	}

	.clean-service-item__time-value {
		font-size: 1.3125rem;
	}

	.clean-service-item__area-label {
		font-size: 0.875rem;
		padding: 0 0.375rem;
	}

	.clean-service-item__time-label--bold {
		font-size: 0.875rem;
	}

	.clean-service-item__time-icon {
		width: 1.25rem;
		height: 1.25rem;
	}

	.clean-service-item__area-list {
		font-size: 0.875rem;
		padding: 1.4375rem 0 1.4375rem 1.0625rem;
		box-shadow: 0 0 0.3125rem rgba(0, 0, 0, 0.16);
	}

	.clean-service-item__note {
		font-size: 0.75rem;
		margin-top: 1.0625rem;
	}

	.clean-service-item__body>.clean-service-item__note {
		margin-bottom: 1.0625rem;
	}

	.sp-only {
		display: block;
	}

	.course-wrapper {
		padding: 2rem 0.9375rem 1.4375rem;
		background-image: var(--bgImageSp);
	}

	.course__text {
		font-size: 0.875rem;
		margin-bottom: 0.75rem;
	}

	.course__image {
		width: 11.75rem;
	}

	.course__content {
		padding: 1.6875rem 3.6875rem;
	}

	.course__content::before {
		width: 2.5rem;
		height: 2.5rem;
		right: 0.0625rem;
		bottom: 0.0625rem;
	}

	.course__content::after {
		right: 0.75rem;
		bottom: 0.8125rem;
		width: 0.625rem;
		height: 0.625rem;
		border-width: 0.1875rem;
	}

	.course__arrow {
		right: 0.75rem;
		bottom: 1.125rem;
		width: 0.9375rem;
		height: 0.1875rem;
	}

	.course__note {
		margin-top: 0.6875rem;
	}

	.course__note-pc {
		display: none;
	}

	.course__note-sp {
		font-size: 0.75rem;
		display: inline;
	}

	.features {
		padding: 3rem 1.25rem;
	}

	.features__heading {
		font-size: 1.5rem;
		margin-bottom: 2rem;
	}

	.features__grid {
		grid-template-columns: 1fr;
		gap: 2rem;
	}

	.features__icon {
		margin-bottom: 1rem;
	}

	.features__title {
		font-size: 1.1rem;
		margin-bottom: 1rem;
	}

	.section-header {
		margin-bottom: 2rem;
	}

	.section-header__title {
		font-size: 2.375rem;
		padding-bottom: 0.625rem;
		margin-bottom: 2.5rem;
	}

	.section-header__subtitle {
		font-size: 0.875rem;
		margin-top: -0.5rem;
	}

	.section__inner {
		padding: 0;
	}

	.clean-service-item {
		grid-template-columns: 1fr;
	}

	.clean-service-item__body {
		padding: 1.25rem 1rem 1.6875rem;
	}

	.clean-service-item__time {
		padding: 0.25rem 1rem;
	}
}

/* ===== プライバシーポリシー（WP用） ===== */

.heading-container .breadcrumb .breadcrumb__inner {
	padding-left: 0;
}

.page-privacy-policy .container {
	max-width: 75rem;
	margin: 7.5rem auto 0;
}

@media (max-width: 1320px) {
	.page-privacy-policy .container {
		padding: 0 3.75rem;
	}
}

.page-privacy-policy .policy-intro {
	margin-bottom: 4rem;
}

.page-privacy-policy .policy-intro p {
	line-height: calc(37 / 17);
	font-size: 1.0625rem;
}

.page-privacy-policy .policy-divider {
	border: none;
	border-top: 0.375rem solid #ececec;
	margin: 4.125rem 0 5.875rem;
}

.page-privacy-policy .policy-section {
	margin-bottom: 3.75rem;
	position: relative;
	padding-bottom: 3.75rem;
	border-bottom: 0.0625rem solid #ececec;
}

.page-privacy-policy .policy-section:last-child {
	margin-bottom: 0;
}

.page-privacy-policy .section-header {
	display: flex;
	align-items: center;
	gap: 1.25rem;
	margin-bottom: 1.875rem;
}

.page-privacy-policy .section-number {
	width: 2.8125rem;
	height: 2.8125rem;
	min-width: 2.8125rem;
	background: #001650;
	font-size: 1.1875rem;
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: bold;
}

.page-privacy-policy .policy-sections h2 {
	color: #001650;
	font-size: 1.375rem;
	font-weight: bold;
	margin: 0;
}

.page-privacy-policy .policy-section p {
	line-height: calc(30 / 17);
	font-size: 1.0625rem;
}

.page-privacy-policy .policy-section p+p {
	margin-top: 1rem;
}

.page-privacy-policy .dot-list {
	list-style: none;
	padding-left: 0;
	margin: 1.875rem 0 3.4375rem;
}

.page-privacy-policy .dot-list li {
	position: relative;
	padding-left: 1.75rem;
	margin-bottom: 1.5625rem;
}

.page-privacy-policy .dot-list li::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0.5rem;
	width: 0.75rem;
	height: 0.75rem;
	background: #bcbcbc;
	border-radius: 50%;
}

.page-privacy-policy .dot-list h3 {
	color: #111010;
	font-size: 1.0625rem;
	margin-bottom: 0.875rem;
	font-weight: bold;
}

.page-privacy-policy .dot-list p {
	margin: 0;
	line-height: 1.8;
}

.page-privacy-policy .notes {
	background: #f6f6f6;
	border-left: 0.9375rem solid #001650;
	padding: 1.625rem 0 1.625rem 2.625rem;
	width: calc(700 / 1200 * 100%);
}

.page-privacy-policy .notes p {
	margin: 0;
	line-height: calc(30 / 17);
	font-size: 1.0625rem;
}

.page-privacy-policy .notes p:not(:last-child) {
	margin-bottom: 0.3125rem;
}

.page-privacy-policy .contact-section {
	background: #001650;
	color: #fff;
	padding: 3.5rem 0 3.5rem 3.75rem;
	max-width: 75rem;
	margin: 4.875rem auto 8.125rem;
}

.page-privacy-policy .contact-heading {
	font-size: 1.5625rem;
	font-weight: bold;
	margin-bottom: 1.5rem;
}

.page-privacy-policy .company-name {
	font-size: 1.0625rem;
	margin-bottom: 0.625rem;
}

.page-privacy-policy .address {
	font-size: 1.0625rem;
	line-height: calc(37 / 17);
}

.page-privacy-policy h1 .main-title,
.page-privacy-policy h1 .sub-title {
	display: inline-block;
}

@media (max-width: 768px) {
	.page-privacy-policy h1 .main-title {
		font-size: 1rem;
	}

	.page-privacy-policy h1 .sub-title {
		font-size: 0.75rem;
	}

	.page-privacy-policy .container {
		margin: 3.125rem auto 2.5rem;
		padding: 0 0.9375rem;
	}

	.page-privacy-policy .policy-intro {
		margin-bottom: 3.25rem;
	}

	.page-privacy-policy .policy-intro p,
	.page-privacy-policy .policy-section p {
		font-size: 0.875rem;
		line-height: 1.8;
	}

	.page-privacy-policy .policy-divider {
		margin: 3.25rem 0;
		border-top: 0.1875rem solid #ececec;
	}

	.page-privacy-policy .policy-section {
		padding-bottom: 1.5625rem;
		margin-bottom: 2.375rem;
	}

	.page-privacy-policy .section-header {
		gap: 0.8125rem;
		margin-bottom: 1.125rem;
	}

	.page-privacy-policy .section-number {
		width: 2.75rem;
		height: 2.75rem;
		min-width: 2.75rem;
		font-size: 1.0625rem;
	}

	.page-privacy-policy .policy-sections h2 {
		font-size: 0.9375rem;
	}

	.page-privacy-policy .dot-list {
		margin-top: 1rem;
		margin-bottom: 2.3125rem;
	}

	.page-privacy-policy .dot-list li {
		margin-bottom: 1.375rem;
		padding-left: 1.25rem;
	}

	.page-privacy-policy .dot-list li::before {
		width: 0.875rem;
		height: 0.875rem;
		top: 0.35rem;
	}

	.page-privacy-policy .dot-list h3 {
		font-size: 0.875rem;
		margin-bottom: 0.5rem;
	}

	.page-privacy-policy .dot-list p {
		font-size: 0.875rem;
		line-height: 1.8;
	}

	.page-privacy-policy .notes {
		padding: 1.25rem 0 1.25rem 0.875rem;
		border-left-width: 0.4375rem;
		width: 100%;
	}

	.page-privacy-policy .notes p {
		font-size: 0.875rem;
		line-height: 1.8;
	}

	.page-privacy-policy .contact-section {
		padding: 2rem 1.1875rem;
		margin: 3rem 0.9375rem 5.3125rem;
	}

	.page-privacy-policy .contact-heading {
		font-size: 1.125rem;
		text-align: center;
		margin-bottom: 1rem;
	}

	.page-privacy-policy .company-name {
		font-size: 0.875rem;
		text-align: center;
		margin-bottom: 1rem;
	}

	.page-privacy-policy .address {
		font-size: 0.8125rem;
		text-align: center;
		line-height: 1.8;
		letter-spacing: 0;
	}
}

.heading-container {
	background: #001650;
	position: relative;
	overflow: hidden;
	padding: 5.625rem 0 0;
}

.heading-container::after {
	content: '';
	position: absolute;
	top: 60%;
	right: 0;
	width: 18.75rem;
	height: 18.75rem;
	transform: translateY(-50%);
	background-image: var(--bgImage);
	background-position: center;
	background-repeat: no-repeat;
	mask-image: linear-gradient(to right, transparent, black);
	-webkit-mask-image: linear-gradient(to right, transparent, black);
}

.heading-content {
	max-width: 75rem;
	margin: 8rem auto 4.6875rem;
	position: relative;
	z-index: 2;
}

@media (max-width: 1320px) {
	.heading-content {
		padding-left: 3.75rem;
	}
}

h1 {
	color: #fff;
	font-size: 2.5rem;
	margin-bottom: 1.125rem;
}

h1 .main-title,
h1 .sub-title {
	display: inline-block;
}

.container {
	max-width: 75rem;
	margin: 7.5rem auto 0;
}

@media (max-width: 1320px) {
	.container {
		padding: 0 3.75rem;
	}
}

.policy-intro {
	margin-bottom: 4rem;
}

.policy-intro p {
	line-height: calc(37 / 17);
	font-size: 1.0625rem;
}

.policy-divider {
	border: none;
	border-top: 0.375rem solid #ececec;
	margin: 4.125rem 0 5.875rem;
}

.policy-section {
	margin-bottom: 3rem;
	position: relative;
	padding-bottom: 2rem;
	border-bottom: 0.0625rem solid #ececec;
}

.policy-section:last-child {
	margin-bottom: 0;
}

.section-number {
	width: 2.8125rem;
	height: 2.8125rem;
	min-width: 2.8125rem;
	background: #001650;
	font-size: 1.1875rem;
	line-height: calc(30 / 19);
	letter-spacing: 0;
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: bold;
}

.page-privacy-policy h2 {
	color: #001650;
	font-size: 1.375rem;
	font-weight: bold;
	margin: 0;
}

.policy-section {
	padding-bottom: 3.75rem;
	margin-bottom: 3.75rem;
}

.policy-section p {
	line-height: calc(30 / 17);
	font-size: 1.0625rem;
}

.circle-list {
	counter-reset: item;
	list-style-type: none;
	padding-left: 0;
	margin-bottom: 1rem;
}

.circle-list li {
	counter-increment: item;
	margin-bottom: 0.5rem;
	line-height: 1.6;
	position: relative;
	padding-left: 1.75rem;
}

.circle-list li::before {
	content: counter(item);
	position: absolute;
	left: 0;
	top: 0.2rem;
	margin-right: 0.5rem;
	background: #fff;
	width: 1.5em;
	height: 1.5em;
	border: 0.0625rem solid currentColor;
	border-radius: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 0.85em;
	line-height: 1;
}

.dot-list {
	list-style: none;
	padding-left: 0;
	margin-bottom: 3.4375rem;
	margin-top: 1.875rem;
}

.dot-list li {
	position: relative;
	padding-left: 1.75rem;
	margin-bottom: 1.5625rem;
}

.dot-list li::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0.5rem;
	width: 0.75rem;
	height: 0.75rem;
	background: #bcbcbc;
	border-radius: 50%;
}

.dot-list h3 {
	color: #111010;
	font-size: 1.0625rem;
	margin-bottom: 0.875rem;
	font-weight: bold;
}

.dot-list p {
	margin: 0;
	line-height: 1.8;
}

.notes {
	background: #f6f6f6;
	border-left: 0.9375rem solid #001650;
	padding: 1.625rem 0 1.625rem 2.625rem;
	width: calc(700 / 1200 * 100%);
}

.notes p {
	margin: 0;
	line-height: calc(30 / 17);
	font-size: 1.0625rem;
}

.notes p:not(:last-child) {
	margin-bottom: 0.3125rem;
}

.heading-container .breadcrumb {
	background-color: transparent;
	margin: 0;
	padding: 0;
}

.heading-container .breadcrumb__link {
	color: #fff;
}

.heading-container .breadcrumb__current {
	color: #fff;
}

.contact-section {
	background: #001650;
	color: #fff;
	padding: 3.5rem 0 3.5rem 3.75rem;
	max-width: 75rem;
	margin: 4.875rem auto 8.125rem;
}

.contact-heading {
	font-size: 1.5625rem;
	font-weight: bold;
	margin-bottom: 1.5rem;
}

.company-name {
	font-size: 1.0625rem;
	margin-bottom: 0.625rem;
}

.address {
	font-size: 1.0625rem;
	line-height: calc(37 / 17);
}

.sp-break {
	display: none;
}

.note-text {
	display: initial;
	white-space: initial;
	padding-left: initial;
	margin-left: initial;
}

@media (max-width: 768px) {
	.heading-container .breadcrumb__inner {
		padding: 0;
	}

	.heading-container {
		padding: 3.125rem 0 0;
	}

	.heading-container::after {
		width: 9.375rem;
		height: 9.375rem;
		top: 62%;
		right: 0;
		background-size: contain;
	}

	.heading-content {
		margin: 0 auto;
		padding: 3.875rem 0.9375rem 2rem;
	}

	h1 {
		font-size: 1rem;
		margin-bottom: 0.5625rem;
	}

	h1 .main-title {
		font-size: 1rem;
	}

	h1 .sub-title {
		font-size: 0.75rem;
	}

	.container {
		margin: 3.125rem auto 2.5rem;
		padding: 0 0.9375rem;
	}

	.policy-intro {
		margin-bottom: 3.25rem;
	}

	.policy-intro p {
		font-size: 0.875rem;
		line-height: 1.8;
	}

	.policy-divider {
		margin: 3.25rem 0 3.25rem;
		border-top: 0.1875rem solid #ececec;
	}

	.policy-section {
		padding-bottom: 1.5625rem;
		margin-bottom: 2.375rem;
	}

	.section-header {
		gap: 0.8125rem;
		margin-bottom: 1.125rem;
	}

	.section-number {
		width: 2.75rem;
		height: 2.75rem;
		min-width: 2.75rem;
		font-size: 1.0625rem;
	}

	.page-privacy-policy h2 {
		font-size: 0.9375rem;
	}

	.policy-section p {
		font-size: 0.875rem;
		line-height: 1.8;
	}

	.dot-list {
		margin-top: 1rem;
		margin-bottom: 2.3125rem;
	}

	.dot-list li {
		margin-bottom: 1.375rem;
		padding-left: 1.25rem;
	}

	.dot-list li::before {
		width: 0.875rem;
		height: 0.875rem;
		top: 0.35rem;
	}

	.dot-list h3 {
		font-size: 0.875rem;
		margin-bottom: 0.5rem;
	}

	.dot-list p {
		font-size: 0.875rem;
		line-height: 1.8;
	}

	.notes {
		padding: 1.25rem 0 1.25rem 0.875rem;
		border-left-width: 0.4375rem;
		width: 100%;
	}

	.notes p {
		font-size: 0.875rem;
		line-height: 1.8;
		padding-left: 3.8em;
		text-indent: -3.8em;
	}

	.contact-section {
		padding: 2rem 1.1875rem;
		margin: 3rem 0.9375rem 5.3125rem;
	}

	.contact-heading {
		font-size: 1.125rem;
		text-align: center;
		margin-bottom: 1rem;
	}

	.company-name {
		font-size: 0.875rem;
		text-align: center;
		margin-bottom: 1rem;
	}

	.address {
		font-size: 0.8125rem;
		text-align: center;
		line-height: 1.8;
		letter-spacing: 0;
	}

	.sp-break {
		display: block;
	}
}

.parallax-wrapper {
	position: relative;
	height: 100vh;
	overflow: hidden;
}

.parallax-bg {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	background-size: cover;
	background-position: center 2.5rem;
	background-repeat: no-repeat;
	background-image: var(--bgImage);
	z-index: -1;
}

.parallax-overlay {
	position: absolute;
	inset: 0;
	background-color: transparent;
}

.sp-bg {
	display: none;
}

.recruit-visual {
	position: relative;
	height: 100vh;
}

.recruit-visual .content {
	position: relative;
	height: 100%;
	max-width: 75rem;
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	justify-content: center;
	color: #fff;
}

.recruit-visual__title {
	display: flex;
	align-items: baseline;
	gap: 0.375rem;
	margin-bottom: 2.125rem;
	margin-top: 6rem;
}

.recruit-visual__en {
	font-size: 4.375rem;
	font-weight: 700;
	font-family: 'Oswald', sans-serif;
	letter-spacing: 0;
}

.recruit-visual__ja {
	font-size: 1.5rem;
	letter-spacing: 0;
}

.recruit-visual__logo {
	width: calc(704 / 1200 * 100%);
	height: auto;
}

.scroll {
	position: absolute;
	bottom: 2.5rem;
	right: 2.5rem;
	display: flex;
	flex-direction: column;
	align-items: center;
	z-index: 2;
}

.scroll-text {
	color: #fff;
	font-family: 'Oswald', sans-serif;
	writing-mode: vertical-rl;
	text-orientation: mixed;
	letter-spacing: 0;
	margin-bottom: 0.625rem;
}

.scroll-line {
	width: 0.0625rem;
	height: 5rem;
	background-color: transparent;
	position: relative;
	overflow: hidden;
}

.scroll-line::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #fff;
	animation: scrollDown 1.5s cubic-bezier(0.4, 0, 0.2, 1) infinite;
}

@keyframes scrollDown {
	0% {
		transform: translateY(-100%);
		opacity: 0;
	}

	20% {
		transform: translateY(0);
		opacity: 1;
	}

	100% {
		transform: translateY(100%);
		opacity: 0;
	}
}

@media (max-width: 768px) {
	.parallax-wrapper {
		height: 100svh;
	}

	.parallax-bg {
		display: none;
	}

	.sp-bg {
		display: block;
		position: relative;
		width: 100%;
	}

	.sp-bg__image-01-wrapper {
		position: relative;
		width: 100%;
		margin-top: 3.125rem;
	}

	.sp-bg__image-01 {
		width: 100%;
		height: auto;
		display: block;
	}

	.sp-bg__image-02 {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100svh;
		background-image: var(--bgImageSp02);
		background-size: cover;
		background-position: top center;
		background-repeat: no-repeat;
		z-index: -1;
	}

	.sp-bg__overlay {
		position: fixed;
		inset: 0;
		background: linear-gradient(#00195c 0%, #001652 100%);
		opacity: 0.85;
		z-index: -1;
	}

	.recruit-visual {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100svh;
	}

	.recruit-visual .content {
		padding-top: 8.4375rem;
	}

	.recruit-visual__title {
		flex-direction: row;
		align-items: baseline;
		gap: 0.375rem;
		margin: 0 0.9375rem 1rem;
	}

	.recruit-visual__en {
		font-size: 1.875rem;
	}

	.recruit-visual__ja {
		font-size: 0.5625rem;
	}

	.recruit-visual__logo {
		width: 84%;
		margin: 0 0 0 0.9375rem;
	}

	.scroll {
		right: 0.9375rem;
		bottom: 5rem;
	}

	.scroll-text {
		font-size: 0.625rem;
		letter-spacing: 0;
		margin-bottom: 0.3125rem;
	}

	.scroll-line {
		height: 4.6875rem;
	}
}

.recruit-message {
	position: relative;
	padding: 5rem 0 14.25rem;
	color: #fff;
}

.recruit-message::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.recruit-message__inner {
	position: relative;
	z-index: 1;
	max-width: 75rem;
	margin: 0 auto;
}

.recruit-message__heading {
	font-size: 3.4375rem;
	font-weight: 700;
	margin-bottom: 6.0625rem;
	margin-left: -2.1rem;
	letter-spacing: 0.1em;
	line-height: calc(60 / 55);
}

.recruit-message__content {
	display: flex;
	flex-direction: column;
	gap: 3.125rem;
}

.recruit-message__lead {
	font-size: 1.875rem;
	line-height: calc(60 / 30);
	font-weight: bold;
	letter-spacing: 0.15em;
}

.recruit-message__text {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
	max-width: 50rem;
}

.recruit-message__text-item {
	font-size: 1.25rem;
	font-weight: bold;
	line-height: calc(29 / 20);
	margin-top: 2.5rem;
}

.pc-only {
	display: block;
}

@media (max-width: 768px) {
	.recruit-message {
		padding: 4rem 0 2rem;
	}

	.recruit-message__content {
		gap: 1rem;
	}

	.recruit-message__inner {
		padding: 0 0.9375rem 3.4375rem;
	}

	.recruit-message__heading {
		font-size: 1.9rem;
		margin-left: -1rem;
		margin-bottom: 3.125rem;
	}

	.recruit-message__lead {
		font-size: 1.125rem;
		line-height: calc(63 / 37);
	}

	.recruit-message__text-item {
		font-size: 0.875rem;
		margin-top: 2.8125rem;
		line-height: calc(63 / 29);
	}

	.pc-only {
		display: none;
	}
}

.job-category {
	padding: 9.125rem 0 11.5rem;
	background-color: #f2f2f2;
}

.job-category__inner {
	max-width: 75rem;
	margin: 0 auto;
}

.job-category__title {
	font-size: 5rem;
	font-weight: bold;
	margin-bottom: 4.375rem;
	font-family: 'Oswald', sans-serif;
}

.job-category__subtitle {
	display: block;
	font-size: 1.5rem;
	margin-top: -1rem;
	font-family: 'Noto Sans JP', sans-serif;
}

.job-category__content {
	display: flex;
	flex-direction: column;
	gap: 6rem;
}

.job-category__item {
	display: grid;
	grid-template-columns: 1fr 1fr;
	align-items: center;
}

.job-category__image img {
	width: calc(500 / 600 * 100%);
	height: 100%;
	object-fit: cover;
	transition: transform 0.3s ease;
	vertical-align: bottom;
}

.job-category__text {
	display: flex;
	flex-direction: column;
	gap: 1.25rem;
}

.job-category__heading {
	font-size: 1.25rem;
	font-weight: 700;
	line-height: 1.6;
}

.job-category__heading-text {
	position: relative;
	display: inline-block;
	padding-bottom: 0.5rem;
}

.job-category__heading-text::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 0.3125rem;
}

.job-category__heading-text--blue::after {
	background-color: #005dab;
}

.job-category__heading-text--navy::after {
	background-color: #001650;
}

.job-category__description {
	font-size: 1.0625rem;
	line-height: calc(32 / 17);
}

@media (max-width: 768px) {
	.job-category {
		padding: 4.125rem 0.9375rem 5rem;
	}

	.job-category__item {
		grid-template-columns: 1fr;
		gap: 1.5625rem;
	}

	.job-category__title {
		font-size: 2.375rem;
		margin-bottom: 2.75rem;
	}

	.job-category__subtitle {
		font-size: 0.75rem;
		margin-top: -0.5rem;
	}

	.job-category__image img {
		width: 100%;
	}

	.job-category__heading {
		font-size: 1.1875rem;
		margin-bottom: 0.75rem;
	}

	.job-category__description {
		font-size: 0.875rem;
		margin-bottom: 0.75rem;
	}

	.job-category__description:last-child {
		margin-bottom: 0;
	}

	.job-category__text {
		gap: 0;
	}

	.job-category__content {
		gap: 4.125rem;
	}
}

.staff-voice__inner {
	max-width: 75rem;
	margin: 0 auto;
}

.staff-voice__profile {
	position: relative;
	max-width: 75rem;
	margin: 0 auto;
}

.staff-voice__bg {
	position: relative;
	width: 60%;
}

.staff-voice__bg img {
	width: 100%;
	height: auto;
	vertical-align: bottom;
}

.staff-voice__name-en {
	position: absolute;
	bottom: -4.1rem;
	left: 0.75rem;
	font-size: 11.8125rem;
	font-weight: bold;
	font-family: 'Oswald', sans-serif;
	color: transparent;
	-webkit-text-stroke: 0.0625rem rgba(255, 255, 255, 0.25);
	white-space: nowrap;
	letter-spacing: 0.05em;
}

.staff-voice__name-en--long {
	font-size: 8rem;
	bottom: -2.8rem;
	letter-spacing: 0;
}

.staff-voice__info {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 2;
	max-width: 61.75rem;
	width: 100%;
	margin: 0 auto;
}

.staff-voice__info-inner {
	display: flex;
	gap: 2rem;
	align-items: flex-start;
}

.staff-voice__info-right {
	display: flex;
	flex-direction: column;
	gap: 0.625rem;
}

.staff-voice__number {
	position: relative;
}

.staff-voice__number-label {
	position: absolute;
	top: -2%;
	left: 0;
	font-size: 2.0625rem;
	font-weight: bold;
	font-family: 'Oswald', sans-serif;
	color: #fff;
	width: 100%;
	text-align: center;
}

.staff-voice__number-value {
	font-size: 5.8125rem;
	font-weight: bold;
	font-family: 'Oswald', sans-serif;
	color: transparent;
	-webkit-text-stroke: 0.0938rem rgba(255, 255, 255, 1);
	position: relative;
	top: 0.7rem;
	letter-spacing: 0;
}

.staff-voice__department {
	display: inline-block;
	background-color: #fff;
	color: #005dab;
	padding: 0.5rem 1rem;
	font-size: 1.0625rem;
	font-weight: bold;
	text-align: center;
	width: 82%;
}

.staff-voice[data-voice-number='02'] .staff-voice__department {
	color: #002179;
}

.staff-voice__name {
	display: inline-block;
	background-color: #fff;
	color: #005dab;
	padding: 0.25rem 4.0625rem;
	font-size: 1.875rem;
	font-weight: bold;
	min-width: 12.5rem;
	text-align: center;
}

.staff-voice[data-voice-number='02'] .staff-voice__name {
	color: #002179;
}

.staff-voice__name-main {
	font-size: 2.625rem;
}

.staff-voice__image {
	position: absolute;
	top: 3.875rem;
	right: 0;
	width: 50%;
}

.staff-voice__image img {
	width: 100%;
	height: auto;
}

.staff-voice__interview {
	background-color: #fff;
	padding: 6.875rem 0;
}

.staff-voice__interview-inner {
	max-width: 61.75rem;
	margin: 0 auto;
}

.staff-voice__interview-title {
	display: flex;
	align-items: center;
	gap: 1rem;
	font-size: 3.125rem;
	font-weight: bold;
	margin-bottom: 2.75rem;
	font-family: 'Oswald', sans-serif;
	padding-bottom: 1rem;
	border-bottom: 0.3125rem solid #bcbcbc;
}

.staff-voice__interview-icon {
	width: 3rem;
	height: 3rem;
}

.staff-voice__qa-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	row-gap: 1.875rem;
	column-gap: 4rem;
	padding-bottom: 3rem;
}

.staff-voice__qa-single {
	display: flex;
	flex-direction: column;
	gap: 2rem;
}

.staff-voice__qa {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	border-bottom: 0.0625rem solid #bcbcbc;
	padding-bottom: 1.875rem;
}

.staff-voice__question,
.staff-voice__answer {
	display: flex;
	align-items: flex-start;
	gap: 1rem;
}

.staff-voice__q,
.staff-voice__a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 2.1875rem;
	height: 2.1875rem;
	border-radius: 50%;
	flex-shrink: 0;
	font-size: 1.25rem;
	font-weight: bold;
}

.staff-voice__q {
	background-color: #005dab;
	color: #fff;
}

.staff-voice[data-voice-number='02'] .staff-voice__q {
	background-color: #002179;
}

.staff-voice:nth-child(2) .staff-voice__q {
	background-color: #002179;
}

.staff-voice__a {
	background-color: #ebebeb;
	color: #171213;
}

.staff-voice__q-text {
	color: #005dab;
	font-size: 1.0625rem;
	font-weight: bold;
	padding-top: 0.25rem;
}

.staff-voice[data-voice-number='02'] .staff-voice__q-text {
	color: #002179;
}

.staff-voice__a-text {
	padding-top: 0.25rem;
	font-size: 1.0625rem;
	line-height: calc(24 / 17);
	white-space: pre-line;
}

.working-shot {
	position: relative;
	background: linear-gradient(#005dab 0%, #024d8d 100%);
	padding-bottom: 1rem;
}

.working-shot--navy {
	background: linear-gradient(#001c68 0%, #001652 100%);
}

.working-shot__image {
	width: calc(851 / 1200 * 100%);
}

.working-shot__image img {
	width: 100%;
	height: auto;
	vertical-align: bottom;
}

.working-shot__text {
	position: absolute;
	top: 50%;
	right: 1rem;
	transform: translateY(-50%);
	display: flex;
	flex-direction: column;
	writing-mode: vertical-rl;
	text-orientation: mixed;
}

.working-shot__working {
	font-weight: bold;
	font-size: 6.25rem;
	font-family: 'Oswald', sans-serif;
	text-align: left;
	color: #fff;
	opacity: 0.18;
}

.working-shot__shot {
	font-size: 9rem;
	font-weight: bold;
	line-height: calc(237 / 160);
	letter-spacing: 0.08em;
	font-family: 'Oswald', sans-serif;
	color: transparent;
	-webkit-text-stroke: 0.0625rem rgba(255, 255, 255, 0.18);
	margin-right: -4rem;
}

.staff-voice--pc {
	display: block;
	margin-bottom: 11.625rem;
}

.staff-voice--pc:nth-of-type(5) {
	margin-bottom: 0;
}

.staff-voice--sp {
	display: none;
}

@media (max-width: 768px) {
	.staff-voice--pc {
		display: none;
	}

	.staff-voice--sp {
		display: block;
		padding: 0;
		margin: 2.625rem 0 4.375rem;
	}

	.staff-voice--sp:last-child {
		margin-bottom: 0;
	}

	.staff-voice__bg {
		width: 100%;
		height: auto;
		z-index: 1;
		padding: 0 1.25rem;
		aspect-ratio: 690 / 425;
	}

	.staff-voice__bg img {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}

	.staff-voice__info {
		width: 100%;
		padding: 1.25rem 1.25rem;
		z-index: 2;
		top: 5.125rem;
		left: 50%;
		transform: translate(-50%, -50%);
	}

	.staff-voice__info-inner {
		flex-direction: row;
		align-items: flex-start;
		gap: 1.25rem;
	}

	.staff-voice__info-right {
		gap: 0.375rem;
	}

	.staff-voice__name-en {
		top: 52%;
		right: 1.125rem;
		left: auto;
		bottom: auto;
		transform: translateY(-50%);
		font-size: 2.875rem;
		text-align: right;
		-webkit-text-stroke: 0.0625rem rgba(255, 255, 255, 0.25);
		z-index: 2;
	}

	.staff-voice__name-en--long {
		font-size: 2.875rem;
		letter-spacing: 0.05em;
	}

	.staff-voice__number-label {
		font-size: 1.1875rem;
		top: -0.5rem;
		left: 0;
	}

	.staff-voice__number-value {
		font-size: 3.5rem;
		-webkit-text-stroke: 0.0625rem rgba(255, 255, 255, 1);
		top: 0;
	}

	.staff-voice__department {
		width: 80%;
		font-size: 0.75rem;
		padding: 0.1875rem 0;
	}

	.staff-voice__name {
		min-width: 9.0625rem;
		font-size: 1.125rem;
		padding: 0;
	}

	.staff-voice__name-main {
		font-size: 1.5625rem;
	}

	.staff-voice__interview {
		padding: 3.6rem 1.25rem;
	}

	.staff-voice__interview-title {
		font-size: 1.5625rem;
		margin-top: 1.875rem;
		margin-bottom: 1.375rem;
		gap: 0.375rem;
		border-bottom: 0.125rem solid #bcbcbc;
	}

	.staff-voice__interview-icon {
		width: 1.5rem;
		height: 1.5rem;
	}

	.staff-voice__qa {
		padding-bottom: 1.25rem;
	}

	.staff-voice__qa-grid {
		grid-template-columns: 1fr;
		gap: 1.5rem;
		padding-bottom: 1.25rem;
	}

	.staff-voice__question,
	.staff-voice__answer {
		gap: 0.5rem;
	}

	.staff-voice__q,
	.staff-voice__a {
		font-size: 0.5rem;
		width: 1.125rem;
		height: 1.125rem;
		margin-top: 0.1875rem;
	}

	.staff-voice__q-text,
	.staff-voice__a-text {
		font-size: 0.875rem;
		padding-top: 0;
	}

	.staff-voice__visual {
		position: relative;
		margin: 0 -1.25rem;
	}

	.staff-voice__image {
		position: relative;
		margin: -9.9rem 1.25rem 0;
		z-index: 3;
		width: calc(100% - 2.5rem);
		transform: none;
		text-align: right;
		background: linear-gradient(to bottom, transparent 0%, transparent 38%, #fff 38%, #fff 100%);
	}

	.staff-voice__image>img {
		width: 94%;
		height: auto;
		vertical-align: bottom;
	}

	.working-shot {
		display: flex;
		flex-direction: column;
		padding-bottom: 0.625rem;
	}

	.working-shot__text {
		position: static;
		writing-mode: horizontal-tb;
		text-align: center;
		margin: 0 0 0 2.0625rem;
		order: 1;
		transform: none;
		flex-direction: row;
		gap: 0.25rem;
	}

	.working-shot__image {
		width: 100%;
		order: 2;
	}

	.working-shot__image>img {
		width: 94%;
		height: auto;
	}

	.working-shot__working {
		font-size: 2rem;
		margin-top: 1.2rem;
	}

	.working-shot__shot {
		font-size: 3.1875rem;
	}

	.staff-voice--pc {
		display: none;
	}
}

.staff-voice-wrapper {
	position: relative;
	padding: 8.5rem 0 10.625rem;
	background: linear-gradient(#fff 0%, #e0e2ea 11.92%, #7792c3 38.08%, #6282bb 53.15%, #5f93cf 64.85%, #5da4e3 76.57%, #3886c4 94.14%, #2b7cb9 100%);
}

.staff-voice__inner {
	max-width: 75rem;
	margin: 0 auto;
}

.text-images {
	position: absolute;
	inset: 0;
	pointer-events: none;
}

.text-image {
	position: absolute;
}

.text-image--create {
	top: 28.25%;
	left: -6.5%;
	width: 12.5%;
	height: auto;
}

.text-image--good {
	top: 43%;
	right: -1%;
	width: 12.5%;
	height: auto;
}

.text-image--life {
	top: 65.5%;
	left: -5.5%;
	width: 12.5%;
	height: auto;
}

@media (max-width: 768px) {
	.text-image {
		width: 18.75rem;
		height: auto;
	}

	.text-image--create,
	.text-image--good,
	.text-image--life {
		display: none;
	}
}

.staff-voice__title {
	font-size: 5rem;
	font-weight: bold;
	margin-bottom: 2.625rem;
	font-family: 'Oswald', sans-serif;
}

.staff-voice__subtitle {
	display: block;
	font-size: 1.5rem;
	margin-top: -1rem;
	font-family: 'Noto Sans JP', sans-serif;
}

@media (max-width: 768px) {
	.staff-voice-wrapper {
		padding: 4.125rem 0.9375rem 3.75rem;
	}

	.staff-voice__title {
		font-size: 2.375rem;
		margin-bottom: 2.75rem;
	}

	.staff-voice__subtitle {
		font-size: 0.75rem;
		margin-top: -0.5rem;
	}
}

.corporate-data {
	padding: 8.5rem 0 9.75rem;
	background-color: #f2f2f2;
}

.corporate-data__inner {
	max-width: 75rem;
	margin: 0 auto;
}

.corporate-data__heading {
	position: relative;
	text-align: center;
	margin-bottom: 4.375rem;
}

.corporate-data__heading-ja {
	position: relative;
	z-index: 2;
	display: block;
	font-size: 2.1875rem;
	font-weight: bold;
	color: #171213;
}

.corporate-data__heading-en {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	font-size: 6.25rem;
	font-family: 'Oswald', sans-serif;
	color: #bcbcbc;
	opacity: 0.3;
	white-space: nowrap;
	z-index: 1;
}

.corporate-data__list {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 2rem;
}

.corporate-data__item {
	position: relative;
	background-color: #fff;
	box-shadow: 0.5rem 0.5rem 0 #001650;
	display: flex;
	flex-direction: column;
	align-items: center;
	min-height: 12.5rem;
	padding-top: 4.375rem;
}

.corporate-data__label {
	position: absolute;
	top: 1rem;
	left: 1rem;
	font-weight: 700;
	color: #001650;
	font-size: 1.25rem;
}

.corporate-data__content {
	display: flex;
	align-items: center;
	color: #001650;
	width: 100%;
}

.corporate-data__content img {
	vertical-align: bottom;
}

.corporate-data__icon {
	flex-shrink: 0;
	align-self: center;
}

.corporate-data__item:nth-child(1) {
	padding-left: 3.125rem;
}

.corporate-data__item:nth-child(1) .corporate-data__icon {
	width: 3.25rem;
	height: 3.9375rem;
	margin-right: 1.75rem;
}

.corporate-data__item:nth-child(2) {
	padding-left: 2.5rem;
}

.corporate-data__item:nth-child(2) .corporate-data__icon {
	width: 3.875rem;
	height: 3.125rem;
	margin-right: 2.1875rem;
}

.corporate-data__item:nth-child(3) {
	padding-left: 3.875rem;
	padding-top: 3.75rem;
}

.corporate-data__item:nth-child(3) .corporate-data__icon {
	width: 8.625rem;
	height: 6.375rem;
	margin-right: 3.75rem;
}

.corporate-data__item:nth-child(4) {
	padding-left: 3.5rem;
	padding-top: 4.5rem;
}

.corporate-data__item:nth-child(4) .corporate-data__icon {
	width: 4.5rem;
	height: 4.5rem;
	margin-right: 6.375rem;
}

.corporate-data__item:nth-child(5) {
	padding-left: 3.125rem;
	padding-top: 4.5rem;
}

.corporate-data__item:nth-child(5) .corporate-data__icon {
	width: 4.125rem;
	height: 4.75rem;
	margin-right: 7rem;
}

.corporate-data__item:nth-child(6) {
	padding-left: 3.125rem;
	padding-top: 4rem;
}

.corporate-data__item:nth-child(6) .corporate-data__icon {
	width: 8.4375rem;
	height: 6rem;
	margin-right: 3.25rem;
}

.corporate-data__item:nth-child(7) {
	padding-left: 3.375rem;
	padding-top: 5rem;
}

.corporate-data__item:nth-child(7) .corporate-data__icon {
	width: 4.375rem;
	height: 4.5rem;
	margin-right: 7.625rem;
}

.corporate-data__item:nth-child(8) {
	padding-left: 3.25rem;
	padding-top: 4.125rem;
}

.corporate-data__item:nth-child(8) .corporate-data__icon {
	width: 6.0625rem;
	height: 6.375rem;
	margin-right: 4.75rem;
}

.corporate-data__item:nth-child(9) {
	padding-left: 3.75rem;
	padding-top: 4.75rem;
}

.corporate-data__item:nth-child(9) .corporate-data__icon {
	width: 6.5rem;
	height: 5.1875rem;
	margin-right: 4rem;
}

.corporate-data__value {
	display: flex;
	align-items: baseline;
	flex-wrap: wrap;
	gap: 0.125rem;
	text-align: right;
	align-self: center;
	font-size: 1.25rem;
	font-weight: bold;
}

.corporate-data__number {
	font-size: 3.125rem;
	font-weight: bold;
	font-family: 'Oswald', sans-serif;
}

.corporate-data__note {
	width: 100%;
	font-size: 1.0625rem;
	margin-top: -1rem;
	text-align: left;
}

.corporate-data__gender-row {
	display: flex;
	align-items: center;
	margin-left: 0.25rem;
	gap: 0.5rem;
	width: 100%;
}

.corporate-data__gender-text {
	font-size: 1.3125rem;
	font-weight: bold;
}

.corporate-data__gender-separator {
	font-size: 0.875rem;
}

.corporate-data__number-row {
	display: flex;
	margin-top: -1rem;
	gap: 0.25rem;
	width: 100%;
}

.corporate-data__number-separator {
	font-size: 3.125rem;
	font-weight: bold;
	font-family: 'Oswald', sans-serif;
}

@media (max-width: 768px) {
	.corporate-data {
		padding: 5rem 0.9375rem 4.6875rem;
	}

	.corporate-data__heading {
		margin-bottom: 2.625rem;
	}

	.corporate-data__heading-ja {
		font-size: 1.25rem;
	}

	.corporate-data__heading-en {
		font-size: 3rem;
		letter-spacing: 0;
	}

	.corporate-data__list {
		grid-template-columns: repeat(2, 1fr);
		gap: 0.625rem;
	}

	.corporate-data__item {
		min-height: 6.25rem;
		padding: 1.75rem 0.3125rem 0.5rem;
		box-shadow: 0.25rem 0.25rem 0 #001650;
		min-height: 5.5rem;
	}

	.corporate-data__content {
		margin-top: 0.5rem;
	}

	.corporate-data__icon {
		width: 1.75rem;
		height: 1.75rem;
	}

	.corporate-data__label {
		font-size: 0.625rem;
		top: 3%;
		left: 6%;
	}

	.corporate-data__value {
		font-size: 0.6875rem;
	}

	.corporate-data__number {
		font-size: 1.75rem;
	}

	.corporate-data__note {
		font-size: 0.625rem;
		margin-top: -0.25rem;
	}

	.corporate-data__item:nth-child(1) {
		padding: 1rem 0 0 0.625rem;
	}

	.corporate-data__item:nth-child(1) .corporate-data__icon {
		width: 1.25rem;
		height: 1.5rem;
		margin-right: 0.875rem;
	}

	.corporate-data__item:nth-child(2) {
		padding: 1rem 0 0 0.5rem;
	}

	.corporate-data__item:nth-child(2) .corporate-data__value {
		gap: 0;
	}

	.corporate-data__item:nth-child(2) .corporate-data__icon {
		width: 1.75rem;
		height: 1.4375rem;
		margin-right: 0.25rem;
		margin-bottom: 1rem;
	}

	.corporate-data__item:nth-child(2) .corporate-data__note {
		font-weight: normal;
		margin-top: -0.5rem;
		margin-bottom: 0.6875rem;
	}

	.corporate-data__item:nth-child(3) {
		padding: 1rem 0 0 1.6875rem;
	}

	.corporate-data__item:nth-child(3) .corporate-data__icon {
		width: 3.6875rem;
		height: 2.75rem;
		margin-right: 1.125rem;
	}

	.corporate-data__item:nth-child(4) {
		padding: 1rem 0 0 1.5rem;
	}

	.corporate-data__item:nth-child(4) .corporate-data__icon {
		width: 1.8125rem;
		height: 2rem;
		margin-right: 1.5625rem;
	}

	.corporate-data__item:nth-child(5) {
		padding: 1rem 0 0 1.9375rem;
	}

	.corporate-data__item:nth-child(5) .corporate-data__icon {
		width: 1.8125rem;
		height: 1.8125rem;
		margin-right: 1.6875rem;
	}

	.corporate-data__item:nth-child(6) {
		padding: 1rem 0 0 0.8125rem;
	}

	.corporate-data__item:nth-child(6) .corporate-data__icon {
		width: 3.6875rem;
		height: 2.625rem;
		margin-right: 0.5rem;
	}

	.corporate-data__item:nth-child(7) {
		padding: 1rem 0 1.0625rem 1.9375rem;
	}

	.corporate-data__item:nth-child(7) .corporate-data__icon {
		width: 1.875rem;
		height: 2rem;
		margin-right: 1.6875rem;
	}

	.corporate-data__item:nth-child(8) {
		padding: 1rem 0 0 1.375rem;
	}

	.corporate-data__item:nth-child(8) .corporate-data__icon {
		width: 2.625rem;
		height: 2.75rem;
		margin-right: 1.125rem;
	}

	.corporate-data__item:nth-child(9) {
		padding: 1rem 0 0 1.4375rem;
	}

	.corporate-data__item:nth-child(9) .corporate-data__icon {
		width: 2.8125rem;
		height: 2.1875rem;
		margin-right: 1.625rem;
	}

	.corporate-data__gender-text {
		font-size: 0.6875rem;
	}

	.corporate-data__gender-separator {
		font-size: 0.625rem;
	}

	.corporate-data__number-separator {
		font-size: 1.5rem;
	}

	.corporate-data__gender-row {
		gap: 0.25rem;
	}

	.corporate-data__number-row {
		gap: 0.125rem;
		margin-top: -0.5rem;
	}
}

.employee-benefits {
	position: relative;
	padding: 9.25rem 0 8rem;
	background-color: #fff;
	background-image: var(--employeeBenefitsBg);
	background-repeat: no-repeat;
	background-position: left top;
	background-size: auto;
}

.employee-benefits__inner {
	max-width: 75rem;
	margin: 0 auto;
}

.employee-benefits__title {
	font-size: 5rem;
	font-weight: bold;
	margin-bottom: 3.75rem;
	font-family: 'Oswald', sans-serif;
}

.employee-benefits__subtitle {
	display: block;
	font-size: 1.5rem;
	margin-top: -1rem;
	font-family: 'Noto Sans JP', sans-serif;
}

.employee-benefits__lead {
	font-size: 1.0625rem;
	line-height: calc(32 / 17);
	margin-bottom: 3.625rem;
}

.employee-benefits__table table {
	width: 100%;
	border-collapse: collapse;
	font-size: 1.0625rem;
}

.employee-benefits__table th {
	background-color: #001650;
	color: #fff;
	padding: 1rem 2rem;
	width: 15rem;
	text-align: left;
	font-weight: 500;
	border-top: 0.125rem solid #fff;
	border-bottom: 0.125rem solid #fff;
}

.employee-benefits__table td {
	background-color: #fff;
	padding: 1rem 2rem;
	border-top: 0.125rem solid #e0e2ea;
	border-bottom: 0.125rem solid #e0e2ea;
	border-right: 0.125rem solid #e0e2ea;
}

.employee-benefits__table tr:first-child td {
	position: relative;
	border-top: none;
	border-right: none;
}

.employee-benefits__table tr:first-child td::before {
	content: '';
	position: absolute;
	top: 0.125rem;
	left: 0;
	right: 0;
	height: 0.125rem;
	background-color: #e0e2ea;
}

.employee-benefits__table tr:first-child td::after {
	content: '';
	position: absolute;
	top: 0.125rem;
	bottom: 0;
	right: -0.0625rem;
	width: 0.125rem;
	background-color: #e0e2ea;
}

.employee-benefits__table tr:last-child td {
	position: relative;
	border-bottom: none;
	border-right: none;
}

.employee-benefits__table tr:last-child td::before {
	content: '';
	position: absolute;
	bottom: 0.125rem;
	left: 0;
	right: 0;
	height: 0.125rem;
	background-color: #e0e2ea;
}

.employee-benefits__table tr:last-child td::after {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0.125rem;
	right: -0.0625rem;
	width: 0.125rem;
	background-color: #e0e2ea;
}

@media (max-width: 768px) {
	.employee-benefits {
		padding: 4.125rem 0.9375rem 3.75rem;
		background-size: 50% auto;
	}

	.employee-benefits__title {
		font-size: 2.375rem;
		margin-bottom: 2.75rem;
	}

	.employee-benefits__subtitle {
		font-size: 0.75rem;
		margin-top: -0.5rem;
	}

	.employee-benefits__lead {
		font-size: 0.875rem;
		margin-bottom: 2rem;
		line-height: 1.6;
	}

	.employee-benefits__lead br {
		display: none;
	}

	.employee-benefits__table th,
	.employee-benefits__table td {
		display: block;
		width: 100%;
		padding: 0.875rem 0 0.875rem 0.875rem;
		text-align: left;
		font-size: 0.875rem;
		line-height: 1.6;
	}

	.employee-benefits__table th {
		border: none;
	}

	.employee-benefits__table tr:first-child th {
		border-top: 0.125rem solid #e0e2ea;
	}

	.employee-benefits__table td {
		border-top: none;
		border-left: none;
		border-right: none;
	}

	.employee-benefits__table tr:last-child td {
		border-bottom: none;
	}

	.employee-benefits__table tr:last-child td::after {
		display: none;
	}

	.employee-benefits__table tr:last-child td::before {
		display: none;
	}

	.employee-benefits__table tr:first-child td::after {
		display: none;
	}

	.employee-benefits__table tr:first-child td::before {
		display: none;
	}
}

.flow {
	position: relative;
	padding: 4rem 0 8.75rem;
	background-color: #f2f2f2;
	clip-path: polygon(0 0, 100% 0, 100% 85%, 50% 100%, 0 85%);
	margin-bottom: -8rem;
	z-index: 1;
}

.flow__inner {
	max-width: 75rem;
	margin: 0 auto;
}

.flow__title {
	font-size: 5rem;
	font-weight: bold;
	margin-bottom: 1.875rem;
	font-family: 'Oswald', sans-serif;
}

.flow__subtitle {
	display: block;
	font-size: 1.5rem;
	margin-top: -1rem;
	font-family: 'Noto Sans JP', sans-serif;
}

.flow__content {
	max-width: 75rem;
	margin: 0 auto 2.5rem;
}

.flow__content img {
	width: 100%;
	height: auto;
	display: block;
}

.flow__steps {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 2rem;
	position: relative;
	height: 13.5rem;
}

.flow__line {
	position: absolute;
	width: 100%;
	height: 0.3125rem;
	top: 37.5%;
	left: 0;
	z-index: 1;
}

.flow__line .flow__line-pc {
	display: block;
}

.flow__line .flow__line-sp {
	display: none;
}

.flow__line img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.flow__step {
	position: relative;
}

.flow__step:not(:last-child)::after {
	content: '';
	position: absolute;
	right: -1rem;
	top: 0;
	width: 0.0625rem;
	height: 100%;
	background-color: #bcbcbc;
}

.flow__step-header {
	display: flex;
	align-items: baseline;
	gap: 0.75rem;
	margin-bottom: 2.25rem;
}

.flow__step-number {
	font-family: 'Oswald', sans-serif;
	font-size: 3.125rem;
	font-weight: bold;
	line-height: calc(74 / 50);
}

.flow__step:nth-child(2) .flow__step-number {
	background: #005dab;
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}

.flow__step:nth-child(3) .flow__step-number {
	background: #004289;
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}

.flow__step:nth-child(4) .flow__step-number {
	background: #002179;
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}

.flow__step-title {
	font-size: 1.25rem;
	font-weight: bold;
	margin: 0;
}

.flow__step:nth-child(2) .flow__step-title {
	color: #005dab;
}

.flow__step:nth-child(3) .flow__step-title {
	color: #004289;
}

.flow__step:nth-child(4) .flow__step-title {
	color: #002179;
}

.flow__step-description {
	font-size: 1.0625rem;
	line-height: calc(30 / 17);
	color: #171213;
}

.recruit-contact__button-wrapper {
	text-align: center;
}

.recruit-contact__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.75rem;
	font-size: 1.4375rem;
	font-weight: bold;
	line-height: calc(34 / 23);
	text-decoration: none;
	color: #ffffff;
	padding: 2.25rem 0;
	width: 31.25rem;
	position: relative;
	border: 0.125rem solid #001650;
	transition: all 0.3s ease;
	background: linear-gradient(to right, transparent 50%, #001650 50%);
	background-size: 200% 100%;
	background-position: right bottom;
}

.recruit-contact__button::before,
.recruit-contact__button::after {
	content: '';
	position: absolute;
	left: 0;
	width: 100%;
	height: 0.1875rem;
	background: linear-gradient(to right, transparent 50%, #001650 50%);
	background-size: 200% 100%;
	background-position: right bottom;
	transition: all 0.3s ease;
}

.recruit-contact__button::before {
	top: 0;
}

.recruit-contact__button::after {
	bottom: 0;
}

.recruit-contact__button:hover {
	background-position: left bottom;
	color: #001650;
}

.recruit-contact__button:hover::before,
.recruit-contact__button:hover::after {
	background-position: left bottom;
}

.recruit-contact__button-icon svg {
	vertical-align: middle;
}

.recruit-contact__button-icon svg path {
	fill: #ffffff;
	transition: fill 0.3s ease;
}

.recruit-contact__button:hover .recruit-contact__button-icon svg path {
	fill: #001650;
}

@media (max-width: 768px) {
	.flow {
		padding: 3.25rem 0.9375rem 6.875rem;
		clip-path: polygon(0 0, 100% 0, 100% 95%, 50% 100%, 0 95%);
		margin-bottom: -4rem;
	}

	.flow__title {
		font-size: 2.375rem;
		margin-bottom: 2.0625rem;
	}

	.flow__subtitle {
		font-size: 0.75rem;
		margin-top: -0.5rem;
	}

	.flow__steps {
		grid-template-columns: 1fr;
		gap: 2rem;
		height: auto;
		padding: 1.5rem 0 1.5rem 0.25rem;
	}

	.flow__line img {
		object-fit: unset;
	}

	.flow__line {
		width: 0.3125rem;
		height: 100%;
		top: 0;
		left: 0;
	}

	.flow__line .flow__line-pc {
		display: none;
	}

	.flow__line .flow__line-sp {
		display: block;
	}

	.flow__step {
		padding-left: 1rem;
	}

	.flow__step:not(:last-child)::after {
		width: 100%;
		height: 0.0625rem;
		top: 120%;
		left: 0;
	}

	.flow__step-header {
		margin-bottom: 0.375rem;
		gap: 0.75rem;
	}

	.flow__step-number {
		font-size: 1.875rem;
	}

	.flow__step-title {
		font-size: 1rem;
	}

	.flow__step-description {
		font-size: 0.875rem;
		line-height: calc(24 / 14);
	}

	.recruit-contact__button {
		width: 100%;
		padding: 1.25rem 0;
		font-size: 0.9375rem;
		gap: 0.5rem;
	}

	.recruit-contact__button-wrapper {
		margin-top: 3rem;
	}

	.recruit-contact__button-icon svg {
		width: 1.3125rem;
		height: 0.875rem;
		margin-top: -0.1875rem;
	}
}

.entry__inner {
	max-width: 75rem;
	margin: 0 auto;
}

.entry {
	color: #fff;
	position: relative;
	padding: 16.875rem 0 7.625rem;
}

.entry__bg {
	position: absolute;
	inset: 0;
	z-index: -1;
}

.entry__bg::before {
	content: '';
	position: absolute;
	inset: 0;
	background-color: rgba(0, 22, 80, 0.8);
	z-index: 1;
}

.entry__bg img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.entry__bg-sp {
	display: none;
}

.entry__heading {
	position: relative;
	text-align: center;
	margin-bottom: 4rem;
}

.entry__title {
	position: relative;
	font-size: 2.1875rem;
	font-weight: bold;
	margin-bottom: 5rem;
	z-index: 2;
}

.entry__title-en {
	position: absolute;
	bottom: -5rem;
	left: 50%;
	transform: translateX(-50%);
	font-size: 9.1875rem;
	font-weight: bold;
	font-family: 'Oswald', sans-serif;
	color: transparent;
	-webkit-text-stroke: 0.0625rem rgba(255, 255, 255, 0.3);
	white-space: nowrap;
}

.entry__content {
	text-align: center;
}

.entry__text {
	font-size: 1.0625rem;
	line-height: calc(25 / 17);
	margin-bottom: 0.75rem;
}

.entry__banners {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 4rem;
	max-width: 58.375rem;
	margin: 2.5rem auto 0;
}

.entry__banner-link {
	display: block;
	transition: all 0.3s ease;
	background-color: #fff;
	border: 0.1875rem solid #1156bd;
	padding: 1.75rem 0 1.25rem;
}

.entry__banner-link:hover {
	opacity: 0.8;
}

.entry__banner-link img {
	width: 100%;
	max-width: 18.75rem;
	height: auto;
	margin: 0 auto;
	display: block;
	vertical-align: bottom;
}

@media (max-width: 768px) {
	.entry {
		padding: 8rem 0.9375rem 4rem;
	}

	.entry__heading {
		margin-bottom: 3rem;
	}

	.entry__title {
		font-size: 1.25rem;
		margin-bottom: 0;
	}

	.entry__title-en {
		font-size: 4.5625rem;
		bottom: -2.5rem;
	}

	.entry__text {
		font-size: 0.875rem;
		text-align: left;
		margin-bottom: 1.25rem;
	}

	.entry__banners {
		grid-template-columns: 1fr;
		gap: 0.75rem;
		margin: 2.125rem auto 0;
	}

	.entry__banner-link {
		padding: 1rem;
	}

	.entry__banner-link img {
		max-width: 15.625rem;
	}

	.entry__bg-pc {
		display: none;
	}

	.entry__bg-sp {
		display: block;
	}
}

/* ==================================================
   .page-recruit（WP用）
================================================== */

/* リクルートビジュアル */

.page-recruit .parallax-wrapper {
	position: relative;
	height: 100vh;
	overflow: hidden;
}

.page-recruit .parallax-bg {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	background-size: cover;
	background-position: center 2.5rem;
	background-repeat: no-repeat;
	background-image: var(--bgImage);
	z-index: -1;
}

.page-recruit .parallax-overlay {
	position: absolute;
	inset: 0;
	background-color: transparent;
}

.page-recruit .sp-bg {
	display: none;
}

.page-recruit .recruit-visual {
	position: relative;
	height: 100vh;
}

.page-recruit .content {
	position: relative;
	height: 100%;
	max-width: 75rem;
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	justify-content: center;
	color: #fff;
}

.page-recruit .recruit-visual__title {
	display: flex;
	align-items: baseline;
	gap: 0.375rem;
	margin-bottom: 2.125rem;
	margin-top: 6rem;
}

.page-recruit .recruit-visual__en {
	font-size: 4.375rem;
	font-weight: 700;
	font-family: 'Oswald', sans-serif;
	letter-spacing: 0;
}

.page-recruit .recruit-visual__ja {
	font-size: 1.5rem;
	letter-spacing: 0;
}

.page-recruit .recruit-visual__logo {
	width: calc(704 / 1200 * 100%);
	height: auto;
}

.page-recruit .scroll {
	position: absolute;
	bottom: 2.5rem;
	right: 2.5rem;
	display: flex;
	flex-direction: column;
	align-items: center;
	z-index: 2;
}

.page-recruit .scroll-text {
	color: #fff;
	font-family: 'Oswald', sans-serif;
	writing-mode: vertical-rl;
	text-orientation: mixed;
	letter-spacing: 0;
	margin-bottom: 0.625rem;
}

.page-recruit .scroll-line {
	width: 0.0625rem;
	height: 5rem;
	background-color: transparent;
	position: relative;
	overflow: hidden;
}

.page-recruit .scroll-line::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #fff;
	animation: scrollDown 1.5s cubic-bezier(0.4, 0, 0.2, 1) infinite;
}

@keyframes scrollDown {
	0% {
		transform: translateY(-100%);
		opacity: 0;
	}

	20% {
		transform: translateY(0);
		opacity: 1;
	}

	100% {
		transform: translateY(100%);
		opacity: 0;
	}
}

/* リクルートメッセージ */

.page-recruit .recruit-message {
	position: relative;
	padding: 5rem 0 14.25rem;
	color: #fff;
}

.page-recruit .recruit-message__inner {
	position: relative;
	z-index: 1;
	max-width: 75rem;
	margin: 0 auto;
}

.page-recruit .recruit-message__heading {
	font-size: 3.4375rem;
	font-weight: 700;
	margin-bottom: 6.0625rem;
	margin-left: -2.1rem;
	letter-spacing: 0.1em;
	line-height: calc(60 / 55);
}

.page-recruit .recruit-message__content {
	display: flex;
	flex-direction: column;
	gap: 3.125rem;
}

.page-recruit .recruit-message__lead {
	font-size: 1.875rem;
	line-height: calc(60 / 30);
	font-weight: bold;
	letter-spacing: 0.15em;
}

.page-recruit .recruit-message__text {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
	max-width: 50rem;
}

.page-recruit .recruit-message__text-item {
	font-size: 1.25rem;
	font-weight: bold;
	line-height: calc(29 / 20);
	margin-top: 2.5rem;
}

/* ジョブカテゴリー */

.page-recruit .job-category {
	padding: 9.125rem 0 11.5rem;
	background-color: #f2f2f2;
}

.page-recruit .job-category__inner {
	max-width: 75rem;
	margin: 0 auto;
}

.page-recruit .job-category__title {
	font-size: 5rem;
	font-weight: bold;
	margin-bottom: 4.375rem;
	font-family: 'Oswald', sans-serif;
}

.page-recruit .job-category__subtitle {
	display: block;
	font-size: 1.5rem;
	margin-top: -1rem;
	font-family: 'Noto Sans JP', sans-serif;
}

.page-recruit .job-category__content {
	display: flex;
	flex-direction: column;
	gap: 6rem;
}

.page-recruit .job-category__item {
	display: grid;
	grid-template-columns: 1fr 1fr;
	align-items: center;
}

.page-recruit .job-category__image img {
	width: calc(500 / 600 * 100%);
	height: 100%;
	object-fit: cover;
	vertical-align: bottom;
}

.page-recruit .job-category__text {
	display: flex;
	flex-direction: column;
	gap: 1.25rem;
}

.page-recruit .job-category__heading {
	font-size: 1.25rem;
	font-weight: 700;
	line-height: 1.6;
}

.page-recruit .job-category__heading-text {
	position: relative;
	display: inline-block;
	padding-bottom: 0.5rem;
}

.page-recruit .job-category__heading-text::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 0.3125rem;
}

.page-recruit .job-category__heading-text--blue::after {
	background-color: #005dab;
}

.page-recruit .job-category__heading-text--navy::after {
	background-color: #001650;
}

.page-recruit .job-category__description {
	font-size: 1.0625rem;
	line-height: calc(32 / 17);
}

/* スタッフボイスラッパー */

.page-recruit .staff-voice-wrapper {
	position: relative;
	padding: 8.5rem 0 10.625rem;
	background: linear-gradient(#fff 0%, #e0e2ea 11.92%, #7792c3 38.08%, #6282bb 53.15%, #5f93cf 64.85%, #5da4e3 76.57%, #3886c4 94.14%, #2b7cb9 100%);
}

.page-recruit .staff-voice__inner {
	max-width: 75rem;
	margin: 0 auto;
}

.page-recruit .text-images {
	position: absolute;
	inset: 0;
	pointer-events: none;
}

.page-recruit .text-image {
	position: absolute;
}

.page-recruit .text-image--create {
	top: 28.25%;
	left: -6.5%;
	width: 12.5%;
	height: auto;
}

.page-recruit .text-image--good {
	top: 43%;
	right: -1%;
	width: 12.5%;
	height: auto;
}

.page-recruit .text-image--life {
	top: 65.5%;
	left: -5.5%;
	width: 12.5%;
	height: auto;
}

.page-recruit .staff-voice__title {
	font-size: 5rem;
	font-weight: bold;
	margin-bottom: 2.625rem;
	font-family: 'Oswald', sans-serif;
}

.page-recruit .staff-voice__subtitle {
	display: block;
	font-size: 1.5rem;
	margin-top: -1rem;
	font-family: 'Noto Sans JP', sans-serif;
}

/* スタッフボイスアイテム */

.page-recruit .staff-voice__profile {
	position: relative;
	max-width: 75rem;
	margin: 0 auto;
}

.page-recruit .staff-voice__bg {
	position: relative;
	width: 60%;
}

.page-recruit .staff-voice__bg img {
	width: 100%;
	height: auto;
	vertical-align: bottom;
}

.page-recruit .staff-voice__name-en {
	position: absolute;
	bottom: -4.1rem;
	left: 0.75rem;
	font-size: 11.8125rem;
	font-weight: bold;
	font-family: 'Oswald', sans-serif;
	color: transparent;
	-webkit-text-stroke: 0.0625rem rgba(255, 255, 255, 0.25);
	white-space: nowrap;
	letter-spacing: 0.05em;
}

.page-recruit .staff-voice__name-en--long {
	font-size: 8rem;
	bottom: -2.8rem;
	letter-spacing: 0;
}

.page-recruit .staff-voice__info {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 2;
	max-width: 61.75rem;
	width: 100%;
	margin: 0 auto;
}

.page-recruit .staff-voice__info-inner {
	display: flex;
	gap: 2rem;
	align-items: flex-start;
}

.page-recruit .staff-voice__info-right {
	display: flex;
	flex-direction: column;
	gap: 0.625rem;
}

.page-recruit .staff-voice__number {
	position: relative;
}

.page-recruit .staff-voice__number-label {
	position: absolute;
	top: -2%;
	left: 0;
	font-size: 2.0625rem;
	font-weight: bold;
	font-family: 'Oswald', sans-serif;
	color: #fff;
	width: 100%;
	text-align: center;
}

.page-recruit .staff-voice__number-value {
	font-size: 5.8125rem;
	font-weight: bold;
	font-family: 'Oswald', sans-serif;
	color: transparent;
	-webkit-text-stroke: 0.0938rem rgba(255, 255, 255, 1);
	position: relative;
	top: 0.7rem;
	letter-spacing: 0;
}

.page-recruit .staff-voice__department {
	display: inline-block;
	background-color: #fff;
	color: #005dab;
	padding: 0.5rem 1rem;
	font-size: 1.0625rem;
	font-weight: bold;
	text-align: center;
	width: 82%;
}

.page-recruit .staff-voice[data-voice-number='02'] .staff-voice__department {
	color: #002179;
}

.page-recruit .staff-voice__name {
	display: inline-block;
	background-color: #fff;
	color: #005dab;
	padding: 0.25rem 4.0625rem;
	font-size: 1.875rem;
	font-weight: bold;
	min-width: 12.5rem;
	text-align: center;
}

.page-recruit .staff-voice[data-voice-number='02'] .staff-voice__name {
	color: #002179;
}

.page-recruit .staff-voice__name-main {
	font-size: 2.625rem;
}

.page-recruit .staff-voice__image {
	position: absolute;
	top: 3.875rem;
	right: 0;
	width: 50%;
}

.page-recruit .staff-voice__image img {
	width: 100%;
	height: auto;
}

.page-recruit .staff-voice__interview {
	background-color: #fff;
	padding: 6.875rem 0;
}

.page-recruit .staff-voice__interview-inner {
	max-width: 61.75rem;
	margin: 0 auto;
}

.page-recruit .staff-voice__interview-title {
	display: flex;
	align-items: center;
	gap: 1rem;
	font-size: 3.125rem;
	font-weight: bold;
	margin-bottom: 2.75rem;
	font-family: 'Oswald', sans-serif;
	padding-bottom: 1rem;
	border-bottom: 0.3125rem solid #bcbcbc;
}

.page-recruit .staff-voice__interview-icon {
	width: 3rem;
	height: 3rem;
}

.page-recruit .staff-voice__qa-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	row-gap: 1.875rem;
	column-gap: 4rem;
	padding-bottom: 3rem;
}

.page-recruit .staff-voice__qa-single {
	display: flex;
	flex-direction: column;
	gap: 2rem;
}

.page-recruit .staff-voice__qa {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	border-bottom: 0.0625rem solid #bcbcbc;
	padding-bottom: 1.875rem;
}

.page-recruit .staff-voice__question,
.page-recruit .staff-voice__answer {
	display: flex;
	align-items: flex-start;
	gap: 1rem;
}

.page-recruit .staff-voice__q,
.page-recruit .staff-voice__a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 2.1875rem;
	height: 2.1875rem;
	border-radius: 50%;
	flex-shrink: 0;
	font-size: 1.25rem;
	font-weight: bold;
}

.page-recruit .staff-voice__q {
	background-color: #005dab;
	color: #fff;
}

.page-recruit .staff-voice[data-voice-number='02'] .staff-voice__q {
	background-color: #002179;
}

.page-recruit .staff-voice__a {
	background-color: #ebebeb;
	color: #171213;
}

.page-recruit .staff-voice__q-text {
	color: #005dab;
	font-size: 1.0625rem;
	font-weight: bold;
	padding-top: 0.25rem;
}

.page-recruit .staff-voice[data-voice-number='02'] .staff-voice__q-text {
	color: #002179;
}

.page-recruit .staff-voice__a-text {
	padding-top: 0.25rem;
	font-size: 1.0625rem;
	line-height: calc(24 / 17);
	white-space: pre-line;
}

.page-recruit .working-shot {
	position: relative;
	background: linear-gradient(#005dab 0%, #024d8d 100%);
	padding-bottom: 1rem;
}

.page-recruit .working-shot--navy {
	background: linear-gradient(#001c68 0%, #001652 100%);
}

.page-recruit .working-shot__image {
	width: calc(851 / 1200 * 100%);
}

.page-recruit .working-shot__image img {
	width: 100%;
	height: auto;
	vertical-align: bottom;
}

.page-recruit .working-shot__text {
	position: absolute;
	top: 50%;
	right: 1rem;
	transform: translateY(-50%);
	display: flex;
	flex-direction: column;
	writing-mode: vertical-rl;
	text-orientation: mixed;
}

.page-recruit .working-shot__working {
	font-weight: bold;
	font-size: 6.25rem;
	font-family: 'Oswald', sans-serif;
	text-align: left;
	color: #fff;
	opacity: 0.18;
}

.page-recruit .working-shot__shot {
	font-size: 9rem;
	font-weight: bold;
	line-height: calc(237 / 160);
	letter-spacing: 0.08em;
	font-family: 'Oswald', sans-serif;
	color: transparent;
	-webkit-text-stroke: 0.0625rem rgba(255, 255, 255, 0.18);
	margin-right: -4rem;
}

.page-recruit .staff-voice--pc {
	display: block;
	margin-bottom: 11.625rem;
}

.page-recruit .staff-voice--pc:nth-of-type(5) {
	margin-bottom: 0;
}

.page-recruit .staff-voice--sp {
	display: none;
}

/* 数字でみるLMS大阪 */

.page-recruit .corporate-data {
	padding: 8.5rem 0 9.75rem;
	background-color: #f2f2f2;
}

.page-recruit .corporate-data__inner {
	max-width: 75rem;
	margin: 0 auto;
}

.page-recruit .corporate-data__heading {
	position: relative;
	text-align: center;
	margin-bottom: 4.375rem;
}

.page-recruit .corporate-data__heading-ja {
	position: relative;
	z-index: 2;
	display: block;
	font-size: 2.1875rem;
	font-weight: bold;
	color: #171213;
}

.page-recruit .corporate-data__heading-en {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	font-size: 6.25rem;
	font-family: 'Oswald', sans-serif;
	color: #bcbcbc;
	opacity: 0.3;
	white-space: nowrap;
	z-index: 1;
}

.page-recruit .corporate-data__list {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 2rem;
}

.page-recruit .corporate-data__item {
	position: relative;
	background-color: #fff;
	box-shadow: 0.5rem 0.5rem 0 #001650;
	display: flex;
	flex-direction: column;
	align-items: center;
	min-height: 12.5rem;
	padding-top: 4.375rem;
}

.page-recruit .corporate-data__label {
	position: absolute;
	top: 1rem;
	left: 1rem;
	font-weight: 700;
	color: #001650;
	font-size: 1.25rem;
}

.page-recruit .corporate-data__content {
	display: flex;
	align-items: center;
	color: #001650;
	width: 100%;
}

.page-recruit .corporate-data__content img {
	vertical-align: bottom;
}

.page-recruit .corporate-data__icon {
	flex-shrink: 0;
	align-self: center;
}

.page-recruit .corporate-data__item:nth-child(1) {
	padding-left: 3.125rem;
}

.page-recruit .corporate-data__item:nth-child(1) .corporate-data__icon {
	width: 3.25rem;
	height: 3.9375rem;
	margin-right: 1.75rem;
}

.page-recruit .corporate-data__item:nth-child(2) {
	padding-left: 2.5rem;
}

.page-recruit .corporate-data__item:nth-child(2) .corporate-data__icon {
	width: 3.875rem;
	height: 3.125rem;
	margin-right: 2.1875rem;
}

.page-recruit .corporate-data__item:nth-child(3) {
	padding-left: 3.875rem;
	padding-top: 3.75rem;
}

.page-recruit .corporate-data__item:nth-child(3) .corporate-data__icon {
	width: 8.625rem;
	height: 6.375rem;
	margin-right: 3.75rem;
}

.page-recruit .corporate-data__item:nth-child(4) {
	padding-left: 3.5rem;
	padding-top: 4.5rem;
}

.page-recruit .corporate-data__item:nth-child(4) .corporate-data__icon {
	width: 4.5rem;
	height: 4.5rem;
	margin-right: 6.375rem;
}

.page-recruit .corporate-data__item:nth-child(5) {
	padding-left: 3.125rem;
	padding-top: 4.5rem;
}

.page-recruit .corporate-data__item:nth-child(5) .corporate-data__icon {
	width: 4.125rem;
	height: 4.75rem;
	margin-right: 7rem;
}

.page-recruit .corporate-data__item:nth-child(6) {
	padding-left: 3.125rem;
	padding-top: 4rem;
}

.page-recruit .corporate-data__item:nth-child(6) .corporate-data__icon {
	width: 8.4375rem;
	height: 6rem;
	margin-right: 3.25rem;
}

.page-recruit .corporate-data__item:nth-child(7) {
	padding-left: 3.375rem;
	padding-top: 5rem;
}

.page-recruit .corporate-data__item:nth-child(7) .corporate-data__icon {
	width: 4.375rem;
	height: 4.5rem;
	margin-right: 7.625rem;
}

.page-recruit .corporate-data__item:nth-child(8) {
	padding-left: 3.25rem;
	padding-top: 4.125rem;
}

.page-recruit .corporate-data__item:nth-child(8) .corporate-data__icon {
	width: 6.0625rem;
	height: 6.375rem;
	margin-right: 4.75rem;
}

.page-recruit .corporate-data__item:nth-child(9) {
	padding-left: 3.75rem;
	padding-top: 4.75rem;
}

.page-recruit .corporate-data__item:nth-child(9) .corporate-data__icon {
	width: 6.5rem;
	height: 5.1875rem;
	margin-right: 4rem;
}

.page-recruit .corporate-data__value {
	display: flex;
	align-items: baseline;
	flex-wrap: wrap;
	gap: 0.125rem;
	text-align: right;
	align-self: center;
	font-size: 1.25rem;
	font-weight: bold;
}

.page-recruit .corporate-data__number {
	font-size: 3.125rem;
	font-weight: bold;
	font-family: 'Oswald', sans-serif;
}

.page-recruit .corporate-data__note {
	width: 100%;
	font-size: 1.0625rem;
	margin-top: -1rem;
	text-align: left;
}

.page-recruit .corporate-data__gender-row {
	display: flex;
	align-items: center;
	margin-left: 0.25rem;
	gap: 0.5rem;
	width: 100%;
}

.page-recruit .corporate-data__gender-text {
	font-size: 1.3125rem;
	font-weight: bold;
}

.page-recruit .corporate-data__gender-separator {
	font-size: 0.875rem;
}

.page-recruit .corporate-data__number-row {
	display: flex;
	margin-top: -1rem;
	gap: 0.25rem;
	width: 100%;
}

.page-recruit .corporate-data__number-separator {
	font-size: 3.125rem;
	font-weight: bold;
	font-family: 'Oswald', sans-serif;
}

/* 会社制度 */

.page-recruit .employee-benefits {
	position: relative;
	padding: 9.25rem 0 8rem;
	background-color: #fff;
	background-image: var(--employeeBenefitsBg);
	background-repeat: no-repeat;
	background-position: left top;
	background-size: auto;
}

.page-recruit .employee-benefits__inner {
	max-width: 75rem;
	margin: 0 auto;
}

.page-recruit .employee-benefits__title {
	font-size: 5rem;
	font-weight: bold;
	margin-bottom: 3.75rem;
	font-family: 'Oswald', sans-serif;
}

.page-recruit .employee-benefits__subtitle {
	display: block;
	font-size: 1.5rem;
	margin-top: -1rem;
	font-family: 'Noto Sans JP', sans-serif;
}

.page-recruit .employee-benefits__lead {
	font-size: 1.0625rem;
	line-height: calc(32 / 17);
	margin-bottom: 3.625rem;
}

.page-recruit .employee-benefits__table table {
	width: 100%;
	border-collapse: collapse;
	font-size: 1.0625rem;
}

.page-recruit .employee-benefits__table th {
	background-color: #001650;
	color: #fff;
	padding: 1rem 2rem;
	width: 15rem;
	text-align: left;
	font-weight: 500;
	border-top: 0.125rem solid #fff;
	border-bottom: 0.125rem solid #fff;
}

.page-recruit .employee-benefits__table td {
	background-color: #fff;
	padding: 1rem 2rem;
	border-top: 0.125rem solid #e0e2ea;
	border-bottom: 0.125rem solid #e0e2ea;
	border-right: 0.125rem solid #e0e2ea;
}

.page-recruit .employee-benefits__table tr:first-child td {
	position: relative;
	border-top: none;
	border-right: none;
}

.page-recruit .employee-benefits__table tr:first-child td::before {
	content: '';
	position: absolute;
	top: 0.125rem;
	left: 0;
	right: 0;
	height: 0.125rem;
	background-color: #e0e2ea;
}

.page-recruit .employee-benefits__table tr:first-child td::after {
	content: '';
	position: absolute;
	top: 0.125rem;
	bottom: 0;
	right: -0.0625rem;
	width: 0.125rem;
	background-color: #e0e2ea;
}

.page-recruit .employee-benefits__table tr:last-child td {
	position: relative;
	border-bottom: none;
	border-right: none;
}

.page-recruit .employee-benefits__table tr:last-child td::before {
	content: '';
	position: absolute;
	bottom: 0.125rem;
	left: 0;
	right: 0;
	height: 0.125rem;
	background-color: #e0e2ea;
}

.page-recruit .employee-benefits__table tr:last-child td::after {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0.125rem;
	right: -0.0625rem;
	width: 0.125rem;
	background-color: #e0e2ea;
}

/* 採用の流れ */

.page-recruit .flow {
	position: relative;
	padding: 4rem 0 8.75rem;
	background-color: #f2f2f2;
	clip-path: polygon(0 0, 100% 0, 100% 85%, 50% 100%, 0 85%);
	margin-bottom: -8rem;
	z-index: 1;
}

.page-recruit .flow__inner {
	max-width: 75rem;
	margin: 0 auto;
}

.page-recruit .flow__title {
	font-size: 5rem;
	font-weight: bold;
	margin-bottom: 1.875rem;
	font-family: 'Oswald', sans-serif;
}

.page-recruit .flow__subtitle {
	display: block;
	font-size: 1.5rem;
	margin-top: -1rem;
	font-family: 'Noto Sans JP', sans-serif;
}

.page-recruit .flow__content {
	max-width: 75rem;
	margin: 0 auto 2.5rem;
}

.page-recruit .flow__content img {
	width: 100%;
	height: auto;
	display: block;
}

.page-recruit .flow__steps {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 2rem;
	position: relative;
	height: 13.5rem;
}

.page-recruit .flow__line {
	position: absolute;
	width: 100%;
	height: 0.3125rem;
	top: 37.5%;
	left: 0;
	z-index: 1;
}

.page-recruit .flow__line .flow__line-pc {
	display: block;
}

.page-recruit .flow__line .flow__line-sp {
	display: none;
}

.page-recruit .flow__line img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.page-recruit .flow__step {
	position: relative;
}

.page-recruit .flow__step:not(:last-child)::after {
	content: '';
	position: absolute;
	right: -1rem;
	top: 0;
	width: 0.0625rem;
	height: 100%;
	background-color: #bcbcbc;
}

.page-recruit .flow__step-header {
	display: flex;
	align-items: baseline;
	gap: 0.75rem;
	margin-bottom: 2.25rem;
}

.page-recruit .flow__step-number {
	font-family: 'Oswald', sans-serif;
	font-size: 3.125rem;
	font-weight: bold;
	line-height: calc(74 / 50);
}

.page-recruit .flow__step:nth-child(2) .flow__step-number {
	background: #005dab;
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}

.page-recruit .flow__step:nth-child(3) .flow__step-number {
	background: #004289;
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}

.page-recruit .flow__step:nth-child(4) .flow__step-number {
	background: #002179;
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}

.page-recruit .flow__step-title {
	font-size: 1.25rem;
	font-weight: bold;
	margin: 0;
}

.page-recruit .flow__step:nth-child(2) .flow__step-title {
	color: #005dab;
}

.page-recruit .flow__step:nth-child(3) .flow__step-title {
	color: #004289;
}

.page-recruit .flow__step:nth-child(4) .flow__step-title {
	color: #002179;
}

.page-recruit .flow__step-description {
	font-size: 1.0625rem;
	line-height: calc(30 / 17);
	color: #171213;
}

.page-recruit .recruit-contact__button-wrapper {
	text-align: center;
}

.page-recruit .recruit-contact__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.75rem;
	font-size: 1.4375rem;
	font-weight: bold;
	line-height: calc(34 / 23);
	text-decoration: none;
	color: #ffffff;
	padding: 2.25rem 0;
	width: 31.25rem;
	position: relative;
	border: 0.125rem solid #001650;
	transition: all 0.3s ease;
	background: linear-gradient(to right, transparent 50%, #001650 50%);
	background-size: 200% 100%;
	background-position: right bottom;
}

.page-recruit .recruit-contact__button::before,
.page-recruit .recruit-contact__button::after {
	content: '';
	position: absolute;
	left: 0;
	width: 100%;
	height: 0.1875rem;
	background: linear-gradient(to right, transparent 50%, #001650 50%);
	background-size: 200% 100%;
	background-position: right bottom;
	transition: all 0.3s ease;
}

.page-recruit .recruit-contact__button::before {
	top: 0;
}

.page-recruit .recruit-contact__button::after {
	bottom: 0;
}

.page-recruit .recruit-contact__button:hover {
	background-position: left bottom;
	color: #001650;
}

.page-recruit .recruit-contact__button:hover::before,
.page-recruit .recruit-contact__button:hover::after {
	background-position: left bottom;
}

.page-recruit .recruit-contact__button-icon svg {
	vertical-align: middle;
}

.page-recruit .recruit-contact__button-icon svg path {
	fill: #ffffff;
	transition: fill 0.3s ease;
}

.page-recruit .recruit-contact__button:hover .recruit-contact__button-icon svg path {
	fill: #001650;
}

/* エントリー */

.page-recruit .entry {
	color: #fff;
	position: relative;
	padding: 16.875rem 0 7.625rem;
}

.page-recruit .entry__inner {
	max-width: 75rem;
	margin: 0 auto;
}

.page-recruit .entry__bg {
	position: absolute;
	inset: 0;
	z-index: -1;
}

.page-recruit .entry__bg::before {
	content: '';
	position: absolute;
	inset: 0;
	background-color: rgba(0, 22, 80, 0.8);
	z-index: 1;
}

.page-recruit .entry__bg img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.page-recruit .entry__bg-sp {
	display: none;
}

.page-recruit .entry__heading {
	position: relative;
	text-align: center;
	margin-bottom: 4rem;
}

.page-recruit .entry__title {
	position: relative;
	font-size: 2.1875rem;
	font-weight: bold;
	margin-bottom: 5rem;
	z-index: 2;
}

.page-recruit .entry__title-en {
	position: absolute;
	bottom: -5rem;
	left: 50%;
	transform: translateX(-50%);
	font-size: 9.1875rem;
	font-weight: bold;
	font-family: 'Oswald', sans-serif;
	color: transparent;
	-webkit-text-stroke: 0.0625rem rgba(255, 255, 255, 0.3);
	white-space: nowrap;
}

.page-recruit .entry__content {
	text-align: center;
}

.page-recruit .entry__text {
	font-size: 1.0625rem;
	line-height: calc(25 / 17);
	margin-bottom: 0.75rem;
}

.page-recruit .entry__banners {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 4rem;
	max-width: 58.375rem;
	margin: 2.5rem auto 0;
}

.page-recruit .entry__banner-link {
	display: block;
	transition: all 0.3s ease;
	background-color: #fff;
	border: 0.1875rem solid #1156bd;
	padding: 1.75rem 0 1.25rem;
}

.page-recruit .entry__banner-link:hover {
	opacity: 0.8;
}

.page-recruit .entry__banner-link img {
	width: 100%;
	max-width: 18.75rem;
	height: auto;
	margin: 0 auto;
	display: block;
	vertical-align: bottom;
}

@media (max-width: 768px) {
	.page-recruit .parallax-wrapper {
		height: 100svh;
	}

	.page-recruit .parallax-bg {
		display: none;
	}

	.page-recruit .sp-bg {
		display: block;
		position: relative;
		width: 100%;
	}

	.page-recruit .sp-bg__image-01-wrapper {
		position: relative;
		width: 100%;
		margin-top: 3.125rem;
	}

	.page-recruit .sp-bg__image-01 {
		width: 100%;
		height: auto;
		display: block;
	}

	.page-recruit .sp-bg__image-02 {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100svh;
		background-image: var(--bgImageSp02);
		background-size: cover;
		background-position: top center;
		background-repeat: no-repeat;
		z-index: -1;
	}

	.page-recruit .sp-bg__overlay {
		position: fixed;
		inset: 0;
		background: linear-gradient(#00195c 0%, #001652 100%);
		opacity: 0.85;
		z-index: -1;
	}

	.page-recruit .recruit-visual {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100svh;
	}

	.page-recruit .content {
		padding-top: 8.4375rem;
	}

	.page-recruit .recruit-visual__title {
		flex-direction: row;
		align-items: baseline;
		gap: 0.375rem;
		margin: 0 0.9375rem 1rem;
	}

	.page-recruit .recruit-visual__en {
		font-size: 1.875rem;
	}

	.page-recruit .recruit-visual__ja {
		font-size: 0.5625rem;
	}

	.page-recruit .recruit-visual__logo {
		width: 84%;
		margin: 0 0 0 0.9375rem;
	}

	.page-recruit .scroll {
		right: 0.9375rem;
		bottom: 5rem;
	}

	.page-recruit .scroll-text {
		font-size: 0.625rem;
		margin-bottom: 0.3125rem;
	}

	.page-recruit .scroll-line {
		height: 4.6875rem;
	}

	.page-recruit .recruit-message {
		padding: 4rem 0 2rem;
	}

	.page-recruit .recruit-message__content {
		gap: 1rem;
	}

	.page-recruit .recruit-message__inner {
		padding: 0 0.9375rem 3.4375rem;
	}

	.page-recruit .recruit-message__heading {
		font-size: 1.9rem;
		margin-left: -1rem;
		margin-bottom: 3.125rem;
	}

	.page-recruit .recruit-message__lead {
		font-size: 1.125rem;
		line-height: calc(63 / 37);
	}

	.page-recruit .recruit-message__text-item {
		font-size: 0.875rem;
		margin-top: 2.8125rem;
		line-height: calc(63 / 29);
	}

	.page-recruit .pc-only {
		display: none;
	}

	.page-recruit .job-category {
		padding: 4.125rem 0.9375rem 5rem;
	}

	.page-recruit .job-category__item {
		grid-template-columns: 1fr;
		gap: 1.5625rem;
	}

	.page-recruit .job-category__title {
		font-size: 2.375rem;
		margin-bottom: 2.75rem;
	}

	.page-recruit .job-category__subtitle {
		font-size: 0.75rem;
		margin-top: -0.5rem;
	}

	.page-recruit .job-category__image img {
		width: 100%;
	}

	.page-recruit .job-category__heading {
		font-size: 1.1875rem;
		margin-bottom: 0.75rem;
	}

	.page-recruit .job-category__description {
		font-size: 0.875rem;
		margin-bottom: 0.75rem;
	}

	.page-recruit .job-category__description:last-child {
		margin-bottom: 0;
	}

	.page-recruit .job-category__text {
		gap: 0;
	}

	.page-recruit .job-category__content {
		gap: 4.125rem;
	}

	.page-recruit .staff-voice-wrapper {
		padding: 4.125rem 0.9375rem 3.75rem;
	}

	.page-recruit .staff-voice__title {
		font-size: 2.375rem;
		margin-bottom: 2.75rem;
	}

	.page-recruit .staff-voice__subtitle {
		font-size: 0.75rem;
		margin-top: -0.5rem;
	}

	.page-recruit .text-image--create,
	.page-recruit .text-image--good,
	.page-recruit .text-image--life {
		display: none;
	}

	.page-recruit .staff-voice--pc {
		display: none;
	}

	.page-recruit .staff-voice--sp {
		display: block;
		padding: 0;
		margin: 2.625rem 0 4.375rem;
	}

	.page-recruit .staff-voice--sp:last-child {
		margin-bottom: 0;
	}

	.page-recruit .staff-voice__bg {
		width: 100%;
		height: auto;
		z-index: 1;
		padding: 0 1.25rem;
		aspect-ratio: 690 / 425;
	}

	.page-recruit .staff-voice__bg img {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}

	.page-recruit .staff-voice__info {
		width: 100%;
		padding: 1.25rem;
		z-index: 2;
		top: 5.125rem;
		left: 50%;
		transform: translate(-50%, -50%);
	}

	.page-recruit .staff-voice__info-inner {
		flex-direction: row;
		align-items: flex-start;
		gap: 1.25rem;
	}

	.page-recruit .staff-voice__info-right {
		gap: 0.375rem;
	}

	.page-recruit .staff-voice__name-en {
		top: 52%;
		right: 1.125rem;
		left: auto;
		bottom: auto;
		transform: translateY(-50%);
		font-size: 2.875rem;
		text-align: right;
		z-index: 2;
	}

	.page-recruit .staff-voice__name-en--long {
		font-size: 2.875rem;
		letter-spacing: 0.05em;
	}

	.page-recruit .staff-voice__number-label {
		font-size: 1.1875rem;
		top: -0.5rem;
	}

	.page-recruit .staff-voice__number-value {
		font-size: 3.5rem;
		top: 0;
	}

	.page-recruit .staff-voice__department {
		width: 80%;
		font-size: 0.75rem;
		padding: 0.1875rem 0;
	}

	.page-recruit .staff-voice__name {
		min-width: 9.0625rem;
		font-size: 1.125rem;
		padding: 0;
	}

	.page-recruit .staff-voice__name-main {
		font-size: 1.5625rem;
	}

	.page-recruit .staff-voice__interview {
		padding: 3.6rem 1.25rem;
	}

	.page-recruit .staff-voice__interview-title {
		font-size: 1.5625rem;
		margin-top: 1.875rem;
		margin-bottom: 1.375rem;
		gap: 0.375rem;
		border-bottom: 0.125rem solid #bcbcbc;
	}

	.page-recruit .staff-voice__interview-icon {
		width: 1.5rem;
		height: 1.5rem;
	}

	.page-recruit .staff-voice__qa {
		padding-bottom: 1.25rem;
	}

	.page-recruit .staff-voice__qa-grid {
		grid-template-columns: 1fr;
		gap: 1.5rem;
		padding-bottom: 1.25rem;
	}

	.page-recruit .staff-voice__question,
	.page-recruit .staff-voice__answer {
		gap: 0.5rem;
	}

	.page-recruit .staff-voice__q,
	.page-recruit .staff-voice__a {
		font-size: 0.5rem;
		width: 1.125rem;
		height: 1.125rem;
		margin-top: 0.1875rem;
	}

	.page-recruit .staff-voice__q-text,
	.page-recruit .staff-voice__a-text {
		font-size: 0.875rem;
		padding-top: 0;
	}

	.page-recruit .staff-voice__visual {
		position: relative;
		margin: 0 -1.25rem;
	}

	.page-recruit .staff-voice__image {
		position: relative;
		margin: -9.9rem 1.25rem 0;
		z-index: 3;
		width: calc(100% - 2.5rem);
		transform: none;
		text-align: right;
		background: linear-gradient(to bottom, transparent 0%, transparent 38%, #fff 38%, #fff 100%);
	}

	.page-recruit .staff-voice__image>img {
		width: 94%;
		height: auto;
		vertical-align: bottom;
	}

	.page-recruit .working-shot {
		display: flex;
		flex-direction: column;
		padding-bottom: 0.625rem;
	}

	.page-recruit .working-shot__text {
		position: static;
		writing-mode: horizontal-tb;
		text-align: center;
		margin: 0 0 0 2.0625rem;
		order: 1;
		transform: none;
		flex-direction: row;
		gap: 0.25rem;
	}

	.page-recruit .working-shot__image {
		width: 100%;
		order: 2;
	}

	.page-recruit .working-shot__image>img {
		width: 94%;
		height: auto;
	}

	.page-recruit .working-shot__working {
		font-size: 2rem;
		margin-top: 1.2rem;
	}

	.page-recruit .working-shot__shot {
		font-size: 3.1875rem;
	}

	.page-recruit .corporate-data {
		padding: 5rem 0.9375rem 4.6875rem;
	}

	.page-recruit .corporate-data__heading {
		margin-bottom: 2.625rem;
	}

	.page-recruit .corporate-data__heading-ja {
		font-size: 1.25rem;
	}

	.page-recruit .corporate-data__heading-en {
		font-size: 3rem;
		letter-spacing: 0;
	}

	.page-recruit .corporate-data__list {
		grid-template-columns: repeat(2, 1fr);
		gap: 0.625rem;
	}

	.page-recruit .corporate-data__item {
		padding: 1.75rem 0.3125rem 0.5rem;
		box-shadow: 0.25rem 0.25rem 0 #001650;
		min-height: 5.5rem;
	}

	.page-recruit .corporate-data__content {
		margin-top: 0.5rem;
	}

	.page-recruit .corporate-data__icon {
		width: 1.75rem;
		height: 1.75rem;
	}

	.page-recruit .corporate-data__label {
		font-size: 0.625rem;
		top: 3%;
		left: 6%;
	}

	.page-recruit .corporate-data__value {
		font-size: 0.6875rem;
	}

	.page-recruit .corporate-data__number {
		font-size: 1.75rem;
	}

	.page-recruit .corporate-data__note {
		font-size: 0.625rem;
		margin-top: -0.25rem;
	}

	.page-recruit .corporate-data__item:nth-child(1) {
		padding: 1rem 0 0 0.625rem;
	}

	.page-recruit .corporate-data__item:nth-child(1) .corporate-data__icon {
		width: 1.25rem;
		height: 1.5rem;
		margin-right: 0.875rem;
	}

	.page-recruit .corporate-data__item:nth-child(2) {
		padding: 1rem 0 0 0.5rem;
	}

	.page-recruit .corporate-data__item:nth-child(2) .corporate-data__value {
		gap: 0;
	}

	.page-recruit .corporate-data__item:nth-child(2) .corporate-data__icon {
		width: 1.75rem;
		height: 1.4375rem;
		margin-right: 0.25rem;
		margin-bottom: 1rem;
	}

	.page-recruit .corporate-data__item:nth-child(2) .corporate-data__note {
		font-weight: normal;
		margin-top: -0.5rem;
		margin-bottom: 0.6875rem;
	}

	.page-recruit .corporate-data__item:nth-child(3) {
		padding: 1rem 0 0 1.6875rem;
	}

	.page-recruit .corporate-data__item:nth-child(3) .corporate-data__icon {
		width: 3.6875rem;
		height: 2.75rem;
		margin-right: 1.125rem;
	}

	.page-recruit .corporate-data__item:nth-child(4) {
		padding: 1rem 0 0 1.5rem;
	}

	.page-recruit .corporate-data__item:nth-child(4) .corporate-data__icon {
		width: 1.8125rem;
		height: 2rem;
		margin-right: 1.5625rem;
	}

	.page-recruit .corporate-data__item:nth-child(5) {
		padding: 1rem 0 0 1.9375rem;
	}

	.page-recruit .corporate-data__item:nth-child(5) .corporate-data__icon {
		width: 1.8125rem;
		height: 1.8125rem;
		margin-right: 1.6875rem;
	}

	.page-recruit .corporate-data__item:nth-child(6) {
		padding: 1rem 0 0 0.8125rem;
	}

	.page-recruit .corporate-data__item:nth-child(6) .corporate-data__icon {
		width: 3.6875rem;
		height: 2.625rem;
		margin-right: 0.5rem;
	}

	.page-recruit .corporate-data__item:nth-child(7) {
		padding: 1rem 0 1.0625rem 1.9375rem;
	}

	.page-recruit .corporate-data__item:nth-child(7) .corporate-data__icon {
		width: 1.875rem;
		height: 2rem;
		margin-right: 1.6875rem;
	}

	.page-recruit .corporate-data__item:nth-child(8) {
		padding: 1rem 0 0 1.375rem;
	}

	.page-recruit .corporate-data__item:nth-child(8) .corporate-data__icon {
		width: 2.625rem;
		height: 2.75rem;
		margin-right: 1.125rem;
	}

	.page-recruit .corporate-data__item:nth-child(9) {
		padding: 1rem 0 0 1.4375rem;
	}

	.page-recruit .corporate-data__item:nth-child(9) .corporate-data__icon {
		width: 2.8125rem;
		height: 2.1875rem;
		margin-right: 1.625rem;
	}

	.page-recruit .corporate-data__gender-text {
		font-size: 0.6875rem;
	}

	.page-recruit .corporate-data__gender-separator {
		font-size: 0.625rem;
	}

	.page-recruit .corporate-data__number-separator {
		font-size: 1.5rem;
	}

	.page-recruit .corporate-data__gender-row {
		gap: 0.25rem;
	}

	.page-recruit .corporate-data__number-row {
		gap: 0.125rem;
		margin-top: -0.5rem;
	}

	.page-recruit .employee-benefits {
		padding: 4.125rem 0.9375rem 3.75rem;
		background-size: 50% auto;
	}

	.page-recruit .employee-benefits__title {
		font-size: 2.375rem;
		margin-bottom: 2.75rem;
	}

	.page-recruit .employee-benefits__subtitle {
		font-size: 0.75rem;
		margin-top: -0.5rem;
	}

	.page-recruit .employee-benefits__lead {
		font-size: 0.875rem;
		margin-bottom: 2rem;
		line-height: 1.6;
	}

	.page-recruit .employee-benefits__lead br {
		display: none;
	}

	.page-recruit .employee-benefits__table th,
	.page-recruit .employee-benefits__table td {
		display: block;
		width: 100%;
		padding: 0.875rem 0 0.875rem 0.875rem;
		text-align: left;
		font-size: 0.875rem;
		line-height: 1.6;
	}

	.page-recruit .employee-benefits__table th {
		border: none;
	}

	.page-recruit .employee-benefits__table tr:first-child th {
		border-top: 0.125rem solid #e0e2ea;
	}

	.page-recruit .employee-benefits__table td {
		border-top: none;
		border-left: none;
		border-right: none;
	}

	.page-recruit .employee-benefits__table tr:last-child td {
		border-bottom: none;
	}

	.page-recruit .employee-benefits__table tr:last-child td::after {
		display: none;
	}

	.page-recruit .employee-benefits__table tr:last-child td::before {
		display: none;
	}

	.page-recruit .employee-benefits__table tr:first-child td::after {
		display: none;
	}

	.page-recruit .employee-benefits__table tr:first-child td::before {
		display: none;
	}

	.page-recruit .flow {
		padding: 3.25rem 0.9375rem 6.875rem;
		clip-path: polygon(0 0, 100% 0, 100% 95%, 50% 100%, 0 95%);
		margin-bottom: -4rem;
	}

	.page-recruit .flow__title {
		font-size: 2.375rem;
		margin-bottom: 2.0625rem;
	}

	.page-recruit .flow__subtitle {
		font-size: 0.75rem;
		margin-top: -0.5rem;
	}

	.page-recruit .flow__steps {
		grid-template-columns: 1fr;
		gap: 2rem;
		height: auto;
		padding: 1.5rem 0 1.5rem 0.25rem;
	}

	.page-recruit .flow__line img {
		object-fit: unset;
	}

	.page-recruit .flow__line {
		width: 0.3125rem;
		height: 100%;
		top: 0;
		left: 0;
	}

	.page-recruit .flow__line .flow__line-pc {
		display: none;
	}

	.page-recruit .flow__line .flow__line-sp {
		display: block;
	}

	.page-recruit .flow__step {
		padding-left: 1rem;
	}

	.page-recruit .flow__step:not(:last-child)::after {
		width: 100%;
		height: 0.0625rem;
		top: 120%;
		left: 0;
	}

	.page-recruit .flow__step-header {
		margin-bottom: 0.375rem;
	}

	.page-recruit .flow__step-number {
		font-size: 1.875rem;
	}

	.page-recruit .flow__step-title {
		font-size: 1rem;
	}

	.page-recruit .flow__step-description {
		font-size: 0.875rem;
		line-height: calc(24 / 14);
	}

	.page-recruit .recruit-contact__button {
		width: 100%;
		padding: 1.25rem 0;
		font-size: 0.9375rem;
		gap: 0.5rem;
	}

	.page-recruit .recruit-contact__button-wrapper {
		margin-top: 3rem;
	}

	.page-recruit .recruit-contact__button-icon svg {
		width: 1.3125rem;
		height: 0.875rem;
		margin-top: -0.1875rem;
	}

	.page-recruit .entry {
		padding: 8rem 0.9375rem 4rem;
	}

	.page-recruit .entry__heading {
		margin-bottom: 3rem;
	}

	.page-recruit .entry__title {
		font-size: 1.25rem;
		margin-bottom: 0;
	}

	.page-recruit .entry__title-en {
		font-size: 4.5625rem;
		bottom: -2.5rem;
	}

	.page-recruit .entry__text {
		font-size: 0.875rem;
		text-align: left;
		margin-bottom: 1.25rem;
	}

	.page-recruit .entry__banners {
		grid-template-columns: 1fr;
		gap: 0.75rem;
		margin: 2.125rem auto 0;
	}

	.page-recruit .entry__banner-link {
		padding: 1rem;
	}

	.page-recruit .entry__banner-link img {
		max-width: 15.625rem;
	}

	.page-recruit .entry__bg-pc {
		display: none;
	}

	.page-recruit .entry__bg-sp {
		display: block;
	}
}

/* ==================================================
   .page-reform（リフォーム固有）（WP用）
================================================== */

.page-reform .content {
	margin: 4rem auto;
}

.page-reform .section {
	padding: 8.625rem 0 7.1875rem;
}

.page-reform .heading {
	align-items: flex-start;
}

.page-reform .heading img {
	margin-top: 0.75rem;
}

.page-reform .text {
	margin-bottom: 5rem;
}

.page-reform .course__content {
	padding: 5.375rem 0;
}

@media (max-width: 768px) {
	.page-reform .content {
		margin: 0 auto;
	}

	.page-reform .section {
		padding: 3.125rem 0.9375rem;
	}

	.page-reform .heading {
		font-size: 1.125rem;
		margin-bottom: 2.1875rem;
	}

	.page-reform .text {
		margin-bottom: 2.625rem;
		font-size: 0.875rem;
	}

	.page-reform .text p {
		margin-bottom: 1.25rem;
		line-height: calc(53 / 29);
	}

	.page-reform .image-grid {
		grid-template-columns: 1fr;
		gap: 0.75rem;
		margin-top: 0.75rem;
	}

	.page-reform .image img {
		aspect-ratio: 690 / 386;
	}

	.page-reform .course-wrapper {
		padding: 2rem 0.9375rem 1.4375rem;
	}

	.page-reform .course__text {
		font-size: 0.875rem;
		margin-bottom: 0.75rem;
	}

	.page-reform .course__image {
		width: 188px;
	}

	.page-reform .course__content {
		padding: 2.25rem 3.6875rem;
	}

	.page-reform .course__content::before {
		width: 40px;
		height: 40px;
		right: 1px;
		bottom: 1px;
	}

	.page-reform .course__content::after {
		right: 12px;
		bottom: 13px;
		width: 10px;
		height: 10px;
		border-width: 3px;
	}

	.page-reform .course__arrow {
		right: 12px;
		bottom: 18px;
		width: 15px;
		height: 3px;
	}

	.page-reform .course__note {
		margin-top: 0.6875rem;
	}

	.page-reform .course__note-pc {
		display: none;
	}

	.page-reform .course__note-sp {
		font-size: 0.75rem;
		display: inline;
	}
}

.service-page {
	width: 100%;
}

.page-header {
	width: 100%;
	padding: 5.625rem 0 5.1875rem;
	background-color: #fff;
}

.page-header__title {
	max-width: 91.5rem;
	width: 100%;
	margin: 4.5625rem 0 0;
	padding-left: max(3.75rem, min(14.25rem, calc((100vw - 91.5rem) / 2 + 3.75rem)));
	font-size: 6.25rem;
	font-weight: bold;
	font-family: 'Oswald', sans-serif;
}

.page-header__subtitle {
	display: block;
	font-size: 1.5rem;
	margin-top: -1.5rem;
	font-family: 'Noto Sans JP', sans-serif;
}

.breadcrumb {
	margin: 0;
	padding: 0;
}

.breadcrumb a {
	color: #171213;
	text-decoration: none;
	transition: opacity 0.3s ease;
}

.breadcrumb a:hover {
	opacity: 0.7;
}

.breadcrumb span {
	color: #171213;
}

.breadcrumb .breadcrumb__inner {
	padding-left: max(3.75rem, min(14.25rem, calc((100vw - 91.5rem) / 2 + 3.75rem)));
}

.eyecatch {
	width: 100%;
	height: auto;
	overflow: hidden;
}

.eyecatch__pc {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.eyecatch__sp {
	display: none;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.content {
	max-width: 75rem;
	margin: 4rem auto;
}

.section {
	width: 100%;
	background-color: #fff;
	padding: 8.625rem 0 7.1875rem;
}

.heading {
	display: flex;
	align-items: flex-start;
	gap: 0.75rem;
	color: #171213;
	font-size: 2.1875rem;
	font-weight: bold;
	margin-bottom: 3.4375rem;
}

.heading img {
	margin-top: 0.75rem;
	vertical-align: bottom;
}

.text {
	margin-bottom: 5rem;
	font-size: 1.0625rem;
}

.text p {
	margin-bottom: 2rem;
	line-height: calc(37 / 17);
}

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

.image {
	width: 100%;
}

.image img {
	width: 100%;
	height: auto;
	vertical-align: bottom;
}

.image-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 2.5rem;
	margin-top: 2.75rem;
}

.image-grid__item {
	width: 100%;
}

.image-grid__item img {
	width: 100%;
	height: auto;
	object-fit: cover;
	vertical-align: bottom;
}

.message {
	text-align: center;
	font-weight: bold;
	margin-top: 6.8125rem;
	font-size: 1.375rem;
}

.message p {
	line-height: calc(37 / 22);
}

.course-wrapper {
	width: 100%;
	background-image: var(--bgImage);
	background-size: cover;
	background-position: center;
	padding: 5.625rem 0 3.25rem;
}

.course {
	max-width: 75rem;
	margin: 0 auto;
}

.course__link {
	display: block;
	text-decoration: none;
	color: #171213;
	transition: all 0.3s ease;
	position: relative;
}

.course__bg {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #fff;
	transition: opacity 0.3s ease;
}

.course__content:hover {
	opacity: 0.7;
}

.course__content {
	padding: 5.375rem 0;
	position: relative;
	background-color: #fff;
	isolation: isolate;
}

.course__content::before,
.course__content::after {
	content: '';
	position: absolute;
	right: 0.1875rem;
	bottom: 0.1875rem;
}

.course__content::before {
	width: 3.4375rem;
	height: 3.4375rem;
	background-color: #001650;
}

.course__content::after {
	right: 1.125rem;
	bottom: 1.25rem;
	width: 0.9375rem;
	height: 0.9375rem;
	border-top: 0.3125rem solid #fff;
	border-right: 0.3125rem solid #fff;
	transform: rotate(45deg);
	z-index: 1;
}

.course__arrow {
	position: absolute;
	right: 1.25rem;
	bottom: 1.75rem;
	width: 1.5625rem;
	height: 0.3125rem;
	background-color: #fff;
	z-index: 1;
}

.course__text {
	text-align: center;
	font-size: 1.5rem;
	font-weight: bold;
	margin-bottom: 2rem;
}

.course__image {
	width: 25rem;
	margin: 0 auto;
}

.course__image img {
	width: 100%;
	height: auto;
}

.course__note {
	color: #fff;
	text-align: center;
	font-size: 0.875rem;
	margin-top: 1rem;
}

.course__note-pc {
	display: inline;
}

.course__note-sp {
	display: none;
}

.pc-only {
	display: block;
}

@media (max-width: 768px) {
	.content {
		margin: 0 auto;
	}

	.page-header {
		padding: 0;
	}

	.page-header__title {
		margin: calc(3.75rem + 1.5625rem) auto 2.5rem;
		padding: 0 0.9375rem;
		font-size: 3.4375rem;
	}

	.page-header__subtitle {
		font-size: 0.875rem;
		margin-top: -0.75rem;
	}

	.eyecatch__pc {
		display: none;
	}

	.eyecatch__sp {
		display: block;
	}

	.section {
		padding: 3.125rem 0.9375rem;
	}

	.heading {
		font-size: 1.125rem;
		margin-bottom: 2.1875rem;
		align-items: flex-start;
	}

	.heading img {
		width: 1.625rem;
		height: 1.625rem;
		vertical-align: bottom;
		margin-top: 0.45rem;
	}

	.text {
		margin-bottom: 2.625rem;
		font-size: 0.875rem;
	}

	.text p {
		margin-bottom: 1.25rem;
		line-height: calc(53 / 29);
	}

	.image-grid {
		grid-template-columns: 1fr;
		gap: 0.75rem;
		margin-top: 0.75rem;
	}

	.image img {
		aspect-ratio: 690 /386;
	}

	.course-wrapper {
		padding: 2rem 0.9375rem 1.4375rem;
		background-image: var(--bgImageSp);
	}

	.course__text {
		font-size: 0.875rem;
		margin-bottom: 0.75rem;
	}

	.course__image {
		width: 11.75rem;
	}

	.course__content {
		padding: 2.25rem 3.6875rem;
	}

	.course__content::before {
		width: 2.5rem;
		height: 2.5rem;
		right: 0.0625rem;
		bottom: 0.0625rem;
	}

	.course__content::after {
		right: 0.75rem;
		bottom: 0.8125rem;
		width: 0.625rem;
		height: 0.625rem;
		border-width: 0.1875rem;
	}

	.course__arrow {
		right: 0.75rem;
		bottom: 1.125rem;
		width: 0.9375rem;
		height: 0.1875rem;
	}

	.course__note {
		margin-top: 0.6875rem;
	}

	.course__note-pc {
		display: none;
	}

	.course__note-sp {
		font-size: 0.75rem;
		display: inline;
	}

	.breadcrumb .breadcrumb__inner {
		padding: 0 0.9375rem;
	}

	.pc-only {
		display: none;
	}
}

/* ===== 特定商取引法（WP用） ===== */

.heading-container .breadcrumb .breadcrumb__inner {
	padding-left: 0;
}

.page-trading-guideline .container {
	max-width: 75rem;
	margin: 7.5rem auto 0;
}

@media (max-width: 1320px) {
	.page-trading-guideline .container {
		padding: 0 3.75rem;
	}
}

.page-trading-guideline .legal-table {
	width: 100%;
	border-collapse: collapse;
	margin-bottom: 8.125rem;
}

.page-trading-guideline .legal-table tr {
	border-top: 0.125rem solid #f2f2f2;
	border-bottom: 0.125rem solid #f2f2f2;
}

.page-trading-guideline .legal-table th,
.page-trading-guideline .legal-table td {
	line-height: calc(30 / 17);
	font-size: 1.0625rem;
}

.page-trading-guideline .legal-table th {
	width: calc(14.125rem / 1198 * 100%);
	background: #f8f8f8;
	font-weight: bold;
	text-align: left;
	padding: 1.375rem 0 1.375rem 1.875rem;
}

.page-trading-guideline .legal-table td {
	padding: 1.375rem 0 1.375rem 2.5rem;
}

.page-trading-guideline .blue-square-list,
.page-trading-guideline .gray-square-list {
	list-style: none;
	padding: 0;
	margin: 0;
}

.page-trading-guideline .blue-square-list li,
.page-trading-guideline .gray-square-list li {
	position: relative;
	padding-left: 1.5rem;
	margin-bottom: 0.875rem;
	line-height: calc(30 / 17);
}

.page-trading-guideline .blue-square-list li::before,
.page-trading-guideline .gray-square-list li::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0.5em;
	width: 0.8rem;
	height: 0.8rem;
}

.page-trading-guideline .blue-square-list li::before {
	background: #005dab;
}

.page-trading-guideline .gray-square-list li::before {
	background: #bcbcbc;
}

.page-trading-guideline .blue-square-list li:last-child,
.page-trading-guideline .gray-square-list li:last-child {
	margin-bottom: 0;
}

.page-trading-guideline .policy-badge {
	display: inline-block;
	background: #001650;
	color: #fff;
	padding: 0.25rem 1rem;
	text-align: center;
	font-size: 1.0625rem;
	margin-bottom: 0.75rem;
}

.page-trading-guideline .policy-content {
	margin: 0;
	line-height: calc(30 / 17);
	font-size: 1.0625rem;
}

.page-trading-guideline .policy-content-strong {
	font-size: 1.25rem;
	font-weight: bold;
	margin: 0;
}

@media (max-width: 768px) {
	.page-trading-guideline .container {
		margin: 3.125rem auto 5.3125rem;
		padding: 0 0.9375rem;
	}

	.page-trading-guideline .legal-table {
		margin-bottom: 6.25rem;
	}

	.page-trading-guideline .legal-table tr {
		display: block;
		border: none;
	}

	.page-trading-guideline .legal-table th,
	.page-trading-guideline .legal-table td {
		display: block;
		width: 100%;
		border: none;
		font-size: 0.875rem;
		line-height: 1.8;
	}

	.page-trading-guideline .legal-table th {
		border-top: 0.125rem solid #f2f2f2;
		background: #f8f8f8;
		padding: 0.875rem;
	}

	.page-trading-guideline .legal-table td {
		background: #fff;
		padding: 0.875rem;
	}

	.page-trading-guideline .blue-square-list li,
	.page-trading-guideline .gray-square-list li {
		font-size: 0.875rem;
		line-height: 1.8;
		margin-bottom: 0.5rem;
		padding-left: 1rem;
	}

	.page-trading-guideline .blue-square-list li::before,
	.page-trading-guideline .gray-square-list li::before {
		width: 0.5625rem;
		height: 0.5625rem;
		top: 35%;
	}

	.page-trading-guideline .policy-badge {
		font-size: 0.875rem;
		padding: 0.5625rem 1.6875rem;
		margin-bottom: 0.8125rem;
		width: fit-content;
	}

	.page-trading-guideline .policy-content {
		font-size: 0.875rem;
		line-height: 1.8;
	}

	.page-trading-guideline .policy-content-strong {
		font-size: 1rem;
	}
}

.heading-container {
	background: #001650;
	position: relative;
	overflow: hidden;
	padding: 5.625rem 0 0;
}

.heading-container::after {
	content: '';
	position: absolute;
	top: 60%;
	right: 0;
	width: 18.75rem;
	height: 18.75rem;
	transform: translateY(-50%);
	background-image: var(--bgImage);
	background-position: center;
	background-repeat: no-repeat;
	mask-image: linear-gradient(to right, transparent, black);
	-webkit-mask-image: linear-gradient(to right, transparent, black);
}

.heading-content {
	max-width: 75rem;
	margin: 8rem auto 4.6875rem;
	position: relative;
	z-index: 2;
}

@media (max-width: 1320px) {
	.heading-content {
		padding-left: 3.75rem;
	}
}

h1 {
	color: #fff;
	font-size: 2.5rem;
	margin-bottom: 1.125rem;
}

.container {
	max-width: 75rem;
	margin: 7.5rem auto 0;
}

@media (max-width: 1320px) {
	.container {
		padding: 0 3.75rem;
	}
}

.legal-table {
	width: 100%;
	border-collapse: collapse;
	margin-bottom: 8.125rem;
}

.legal-table tr {
	border-top: 0.125rem solid #f2f2f2;
	border-bottom: 0.125rem solid #f2f2f2;
}

.legal-table th,
.legal-table td {
	line-height: calc(30 / 17);
	font-size: 1.0625rem;
}

.legal-table th {
	width: calc(14.125rem / 1198 * 100%);
	background: #f8f8f8;
	font-weight: bold;
	text-align: left;
	padding: 1.375rem 0 1.375rem 1.875rem;
}

.legal-table td {
	padding: 1.375rem 0 1.375rem 2.5rem;
}

.legal-table tr:last-child td {
	border-bottom: 0.125rem solid #f2f2f2;
}

.blue-square-list,
.gray-square-list {
	list-style: none;
	padding: 0;
	margin: 0;
}

.blue-square-list li,
.gray-square-list li {
	position: relative;
	padding-left: 1.5rem;
	margin-bottom: 0.875rem;
	line-height: calc(30 / 17);
}

.blue-square-list li::before,
.gray-square-list li::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0.5em;
	width: 0.8rem;
	height: 0.8rem;
}

.blue-square-list li::before {
	background: #005dab;
}

.gray-square-list li::before {
	background: #bcbcbc;
}

.blue-square-list li:last-child,
.gray-square-list li:last-child {
	margin-bottom: 0;
}

.policy-badge {
	display: inline-block;
	background: #001650;
	color: #fff;
	padding: 0.25rem 0;
	text-align: center;
	font-size: 1.0625rem;
	margin-bottom: 0.75rem;
	width: 24.5%;
}

.policy-content {
	margin: 0;
	line-height: calc(30 / 17);
	font-size: 1.0625rem;
}

.policy-content-strong {
	font-size: 1.25rem;
	font-weight: bold;
}

.heading-container .breadcrumb {
	background-color: transparent;
	margin: 0;
	padding: 0;
}

.heading-container .breadcrumb__link {
	color: #fff;
}

.heading-container .breadcrumb__current {
	color: #fff;
}

@media (max-width: 768px) {
	.heading-container .breadcrumb__inner {
		padding: 0;
	}

	.heading-container {
		padding: 3.125rem 0 0;
	}

	.heading-container::after {
		width: 9.375rem;
		height: 9.375rem;
		top: 62%;
		right: 0;
		background-size: contain;
	}

	.heading-content {
		margin: 0 auto;
		padding: 3.875rem 0.9375rem 2rem;
	}

	h1 {
		font-size: 1rem;
		margin-bottom: 0.5625rem;
	}

	.container {
		margin: 3.125rem auto 5.3125rem;
		padding: 0 0.9375rem;
	}

	.legal-table {
		margin-bottom: 6.25rem;
	}

	.legal-table tr {
		display: block;
		border: none;
	}

	.legal-table th,
	.legal-table td {
		display: block;
		width: 100%;
		border: none;
		font-size: 0.875rem;
		line-height: 1.8;
	}

	.legal-table th {
		border-top: 0.125rem solid #f2f2f2;
		background: #f8f8f8;
		padding: 0.875rem;
	}

	.legal-table td {
		background: #fff;
		padding: 0.875rem;
	}

	.blue-square-list li,
	.gray-square-list li {
		font-size: 0.875rem;
		line-height: 1.8;
		margin-bottom: 0.5rem;
		padding-left: 1rem;
	}

	.blue-square-list li::before,
	.gray-square-list li::before {
		width: 0.5625rem;
		height: 0.5625rem;
		top: 35%;
	}

	.policy-badge {
		font-size: 0.875rem;
		padding: 0.5625rem 1.6875rem;
		margin-bottom: 0.8125rem;
		width: fit-content;
	}

	.policy-content {
		font-size: 0.875rem;
		line-height: 1.8;
	}

	.policy-content-strong {
		font-size: 1rem;
	}
}

/**
 * Swiper 12.1.3
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * https://swiperjs.com
 *
 * Copyright 2014-2026 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: March 24, 2026
 */

:root {
	--swiper-theme-color: #007aff;
	/*
  --swiper-preloader-color: var(--swiper-theme-color);
  --swiper-wrapper-transition-timing-function: initial;
  */
}

:host {
	position: relative;
	display: block;
	margin-left: auto;
	margin-right: auto;
	z-index: 1;
}

.swiper {
	margin-left: auto;
	margin-right: auto;
	position: relative;
	overflow: hidden;
	list-style: none;
	padding: 0;
	/* Fix of Webkit flickering */
	z-index: 1;
	display: block;
}

.swiper-vertical>.swiper-wrapper {
	flex-direction: column;
}

.swiper-wrapper {
	position: relative;
	width: 100%;
	height: 100%;
	z-index: 1;
	display: flex;
	transition-property: transform;
	transition-timing-function: var(--swiper-wrapper-transition-timing-function, initial);
	box-sizing: content-box;
}

.swiper-android .swiper-slide,
.swiper-ios .swiper-slide,
.swiper-wrapper {
	transform: translate3d(0, 0, 0);
}

.swiper-horizontal {
	touch-action: pan-y;
}

.swiper-vertical {
	touch-action: pan-x;
}

.swiper-slide {
	flex-shrink: 0;
	width: 100%;
	height: 100%;
	position: relative;
	transition-property: transform;
	display: block;
}

.swiper-slide-invisible-blank {
	visibility: hidden;
}

/* Auto Height */

.swiper-autoheight,
.swiper-autoheight .swiper-slide {
	height: auto;
}

.swiper-autoheight .swiper-wrapper {
	align-items: flex-start;
	transition-property: transform, height;
}

.swiper-backface-hidden .swiper-slide {
	transform: translateZ(0);
	backface-visibility: hidden;
}

/* 3D Effects */

.swiper-3d.swiper-css-mode .swiper-wrapper {
	perspective: 75rem;
}

.swiper-3d .swiper-wrapper {
	transform-style: preserve-3d;
}

.swiper-3d {
	perspective: 75rem;

	.swiper-slide,
	.swiper-cube-shadow {
		transform-style: preserve-3d;
	}
}

/* CSS Mode */

.swiper-css-mode {
	>.swiper-wrapper {
		overflow: auto;
		scrollbar-width: none;
		/* For Firefox */
		-ms-overflow-style: none;

		/* For Internet Explorer and Edge */
		&::-webkit-scrollbar {
			display: none;
		}
	}

	>.swiper-wrapper>.swiper-slide {
		scroll-snap-align: start start;
	}

	&.swiper-horizontal {
		>.swiper-wrapper {
			scroll-snap-type: x mandatory;
		}

		>.swiper-wrapper>.swiper-slide:first-child {
			margin-inline-start: var(--swiper-slides-offset-before);
			scroll-margin-inline-start: var(--swiper-slides-offset-before);
		}

		>.swiper-wrapper>.swiper-slide:last-child {
			margin-inline-end: var(--swiper-slides-offset-after);
		}
	}

	&.swiper-vertical {
		>.swiper-wrapper {
			scroll-snap-type: y mandatory;
		}

		>.swiper-wrapper>.swiper-slide:first-child {
			margin-block-start: var(--swiper-slides-offset-before);
			scroll-margin-block-start: var(--swiper-slides-offset-before);
		}

		>.swiper-wrapper>.swiper-slide:last-child {
			margin-block-end: var(--swiper-slides-offset-after);
		}
	}

	&.swiper-free-mode {
		>.swiper-wrapper {
			scroll-snap-type: none;
		}

		>.swiper-wrapper>.swiper-slide {
			scroll-snap-align: none;
		}
	}

	&.swiper-centered {
		>.swiper-wrapper::before {
			content: '';
			flex-shrink: 0;
			order: 9999;
		}

		>.swiper-wrapper>.swiper-slide {
			scroll-snap-align: center center;
			scroll-snap-stop: always;
		}
	}

	&.swiper-centered.swiper-horizontal {
		>.swiper-wrapper>.swiper-slide:first-child {
			margin-inline-start: var(--swiper-centered-offset-before);
		}

		>.swiper-wrapper::before {
			height: 100%;
			min-height: 0.0625rem;
			width: var(--swiper-centered-offset-after);
		}
	}

	&.swiper-centered.swiper-vertical {
		>.swiper-wrapper>.swiper-slide:first-child {
			margin-block-start: var(--swiper-centered-offset-before);
		}

		>.swiper-wrapper::before {
			width: 100%;
			min-width: 0.0625rem;
			height: var(--swiper-centered-offset-after);
		}
	}
}

/* Slide styles start */

/* 3D Shadows */

.swiper-3d {

	.swiper-slide-shadow,
	.swiper-slide-shadow-left,
	.swiper-slide-shadow-right,
	.swiper-slide-shadow-top,
	.swiper-slide-shadow-bottom,
	.swiper-slide-shadow,
	.swiper-slide-shadow-left,
	.swiper-slide-shadow-right,
	.swiper-slide-shadow-top,
	.swiper-slide-shadow-bottom {
		position: absolute;
		left: 0;
		top: 0;
		width: 100%;
		height: 100%;
		pointer-events: none;
		z-index: 10;
	}

	.swiper-slide-shadow {
		background: rgba(0, 0, 0, 0.15);
	}

	.swiper-slide-shadow-left {
		background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
	}

	.swiper-slide-shadow-right {
		background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
	}

	.swiper-slide-shadow-top {
		background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
	}

	.swiper-slide-shadow-bottom {
		background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
	}
}

.swiper-lazy-preloader {
	width: 2.625rem;
	height: 2.625rem;
	position: absolute;
	left: 50%;
	top: 50%;
	margin-left: -1.3125rem;
	margin-top: -1.3125rem;
	z-index: 10;
	transform-origin: 50%;
	box-sizing: border-box;
	border: 0.25rem solid var(--swiper-preloader-color, var(--swiper-theme-color));
	border-radius: 50%;
	border-top-color: transparent;
}

.swiper:not(.swiper-watch-progress),
.swiper-watch-progress .swiper-slide-visible {
	.swiper-lazy-preloader {
		animation: swiper-preloader-spin 1s infinite linear;
	}
}

.swiper-lazy-preloader-white {
	--swiper-preloader-color: #fff;
}

.swiper-lazy-preloader-black {
	--swiper-preloader-color: #000;
}

@keyframes swiper-preloader-spin {
	0% {
		transform: rotate(0deg);
	}

	100% {
		transform: rotate(360deg);
	}
}

/* Slide styles end */
:root {
	--swiper-navigation-size: 2.75rem;
	/*
  --swiper-navigation-top-offset: 50%;
  --swiper-navigation-sides-offset: 4px;
  --swiper-navigation-color: var(--swiper-theme-color);
  */
}

.swiper-button-prev,
.swiper-button-next {
	position: absolute;
	width: var(--swiper-navigation-size);
	height: var(--swiper-navigation-size);
	z-index: 10;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--swiper-navigation-color, var(--swiper-theme-color));

	&.swiper-button-disabled {
		opacity: 0.35;
		cursor: auto;
		pointer-events: none;
	}

	&.swiper-button-hidden {
		opacity: 0;
		cursor: auto;
		pointer-events: none;
	}

	.swiper-navigation-disabled & {
		display: none !important;
	}

	::slotted(svg),
	svg {
		width: 100%;
		height: 100%;
		object-fit: contain;
		transform-origin: center;
		fill: currentColor;
		pointer-events: none;
	}
}

.swiper-button-lock {
	display: none;
}

.swiper-button-prev,
.swiper-button-next {
	top: var(--swiper-navigation-top-offset, 50%);
	margin-top: calc(0 - (var(--swiper-navigation-size) / 2));
}

.swiper-button-prev {
	left: var(--swiper-navigation-sides-offset, 4px);
	right: auto;

	::slotted(.swiper-navigation-icon),
	.swiper-navigation-icon {
		transform: rotate(180deg);
	}
}

.swiper-button-next {
	right: var(--swiper-navigation-sides-offset, 4px);
	left: auto;
}

.swiper-horizontal {

	.swiper-button-prev,
	.swiper-button-next,
	~.swiper-button-prev,
	~.swiper-button-next {
		top: var(--swiper-navigation-top-offset, 50%);
		margin-top: calc(0 - (var(--swiper-navigation-size) / 2));
		margin-left: 0;
	}

	.swiper-button-prev,
	&~.swiper-button-prev,
	&.swiper-rtl .swiper-button-next,
	&.swiper-rtl~.swiper-button-next {
		left: var(--swiper-navigation-sides-offset, 4px);
		right: auto;
	}

	.swiper-button-next,
	&~.swiper-button-next,
	&.swiper-rtl .swiper-button-prev,
	&.swiper-rtl~.swiper-button-prev {
		right: var(--swiper-navigation-sides-offset, 4px);
		left: auto;
	}

	.swiper-button-prev,
	&~.swiper-button-prev,
	&.swiper-rtl .swiper-button-next,
	&.swiper-rtl~.swiper-button-next {

		::slotted(.swiper-navigation-icon),
		.swiper-navigation-icon {
			transform: rotate(180deg);
		}
	}

	&.swiper-rtl .swiper-button-prev,
	&.swiper-rtl~.swiper-button-prev {

		::slotted(.swiper-navigation-icon),
		.swiper-navigation-icon {
			transform: rotate(0deg);
		}
	}
}

.swiper-vertical {

	.swiper-button-prev,
	.swiper-button-next,
	~.swiper-button-prev,
	~.swiper-button-next {
		left: var(--swiper-navigation-top-offset, 50%);
		right: auto;
		margin-left: calc(0 - (var(--swiper-navigation-size) / 2));
		margin-top: 0;
	}

	.swiper-button-prev,
	~.swiper-button-prev {
		top: var(--swiper-navigation-sides-offset, 4px);
		bottom: auto;

		::slotted(.swiper-navigation-icon),
		.swiper-navigation-icon {
			transform: rotate(-90deg);
		}
	}

	.swiper-button-next,
	~.swiper-button-next {
		bottom: var(--swiper-navigation-sides-offset, 4px);
		top: auto;

		::slotted(.swiper-navigation-icon),
		.swiper-navigation-icon {
			transform: rotate(90deg);
		}
	}
}

/* ===============================
   WORKS スライダー 横幅拡張
=============================== */

.home .works__content {
	width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
}

.home .works__swiper {
	width: 100%;
	max-width: none;
	margin: 0;
	overflow: visible;
}

.home .works__list {
	padding-left: calc((100vw - 75rem) / 2);
	padding-right: calc((100vw - 75rem) / 2);
	box-sizing: border-box;
}

.home .works__content .works__list {
	gap: 0;
	flex-wrap: nowrap;
}

.home .works__content .works__list__item {
	width: 370px;
	flex-shrink: 0;
}

.home .works__content .swiper-slide {
	margin-right: 36px;
}

/* ===== WORKS 矢印位置調整 ===== */

.works .swiper-horizontal~.swiper-button-prev {
	left: max(1rem, calc((100vw - 75rem) / 2 - 30px));
	right: auto;
}

.works .swiper-horizontal~.swiper-button-next {
	right: max(1rem, calc((100vw - 75rem) / 2 - 30px));
	left: auto;
}

/* ===== 矢印を画像中央に ===== */

.works .swiper-button-prev,
.works .swiper-button-next {
	top: 50%;
	transform: translateY(-50%);
}

/* 念のためズレ対策 */
.works .swiper {
	position: relative;
}

/* ===== WORKS 矢印：画像部分の中央に合わせる ===== */

.works .swiper-horizontal~.swiper-button-prev,
.works .swiper-horizontal~.swiper-button-next {
	top: 185px;
	transform: translateY(-50%);
}

/* ===== 採用機器のみ ===== */
.reform-data-list__item.is-full {
	width: 100%;
}