@charset "UTF-8";
/*
Theme Name: 株式会社SIG 採用サイト
Version: 1.0.0
*/

html {
	scroll-behavior: smooth;
}

* {
	--font-size: calc((var(--fs) / 16) * 1rem);
	font-size: var(--font-size);
}

::after,
::before,
:where(b, strong, span, i, em) {
	--font-size: calc((var(--fs) / 16) * 1rem);
	font-size: inherit;
}

body {
	background: #FBF6F0;
	--fs: 15;
	line-height: calc(32 / 15);
	color: var(--color-body-1);
	font-family: var(--noto-sans);
	font-weight: var(--fw);
}

img {
	max-width: 100%;
	height: auto;
}

/* :where(a, button) {
	transition: opacity var(--ts);
	&:hover {
		opacity: var(--op);
	}
} */

a {
	color: var(--color-body-1);
	text-decoration: none;
}

a:where(:not([href]), [href=""]) {
	pointer-events: none;
}

a:hover {
	opacity: var(--op);
}


@media (min-width: 768px) {
	a[href^="tel:"] {
		pointer-events: none;
	}
}

main {
	overflow: clip;
}

.container {
	padding-inline: var(--padding);
	max-width: calc(var(--padding) * 2 + var(--container));
}

.stack {
	padding-top: var(--stack);
	padding-bottom: var(--stack);
}

@media(max-width: 991px) {
	body.noscroll {
		overflow: hidden;
		touch-action: pinch-zoom;
	}
}

[id] {
	scroll-margin-top: 100px;
}

/*		header		*/
.header {
	position: absolute;
	width: 100%;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 30px;
	padding: 40px 60px;
	top: 0;
	right: 0;
	left: 0;
	z-index: 500;
	transition: 0.3s;
}

body:not(.home) .header {
	background: #FFF;
	position: fixed;
	padding-block: 15px;
}

@media(min-width: 992px) {
	.header.show {
		position: fixed;
		top: 0;
		padding-block: 15px;
		animation: headershow .8s ease forwards;
	}
}

@keyframes headershow {
	from {
		top: 0;
		background: #FFF;
		transform: translateY(-100%);
	}
	to {
		top: 0;
		background: #FFF;
		transform: translateY(0);
	}
}

.header-title {
	margin-bottom: 0;
	.header-logo {
		display: flex;
	}
}

.header-logo {
	position: relative;
	z-index: 5;
}

.header-menu {
	display: flex;
	gap: 25px;
	font-family: var(--zen-kaku);
	font-weight: 500;
	list-style: none;
	line-height: calc(20 / 15);
	padding: 0;
	margin-bottom: 0;
	.header-menu-contact .header-menu-link {
		font-family: var(--noto-sans);
		color: #FFF;
		background: var(--color-theme-1);
		border-radius: 60px;
		padding: 10px 18px;
	}
}

@media(max-width: 1199px) {
	.header {
		padding-inline: 25px;
	}
	.header-menu {
		gap: 20px;
	}
}

@media(max-width: 991px) {
	.header {
		position: fixed;
		padding-block: 15px;
		&::before {
			content: "";
			width: 100%;
			height: 100%;
			background: #FFF;
			position: absolute;
			top: 0;
			left: 0;
			right: 0;
			box-shadow: 0 4px 20px rgba(0,0,0,0.15);
			z-index: 1;
		}
	}
	.header-title {
		z-index: 999;
	}
	.global-nav-button {
		z-index: 999;
	}
	.header-nav {
		height: 100svh;
		background: linear-gradient(to bottom, var(--color-theme-1),#FAC587);
		padding: 110px 20px 50px;
		position: fixed;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		visibility: hidden;
		opacity: 0;
		transition: 0s;
		overflow: scroll;
	}
	body.noscroll .header-nav {
		opacity: 1;
		visibility: visible;
		transition: 0.4s;
	}
	.header-menu {
		display: block;
		margin-bottom: 25px;
		padding-inline: 60px;
	}
	.header-menu-item {
		display: block;
		&:not(.header-menu-contact) {
			border-bottom: 1px solid rgba(255,255,255,0.5);
			.header-menu-link {
				position: relative;
				display: block;
				color: #FFF;
				padding: 15px 25px;
				&::before {
					content: "";
					display: block;
					height: 9px;
					aspect-ratio: cos(50deg);
					clip-path: polygon(0 0,100% 50%,0 100%);
					background: var(--color-theme-4);
					position: absolute;
					top: 50%;
					left: 10px;
					transform: translateY(-50%);
				}
			}
		}
	}
	.global-nav-button {
		position: relative;
		width: 60px;
		height: 38px;
		background: var(--color-theme-1);
		border: none;
		border-radius: 20px;
		outline: none;
		margin-right: -5px;
		span {
			width: 24px;
			height: 2px;
			background: #FFF;
			border-radius: 2px;
			position: absolute;
			top: 50%;
			left: 50%;
			transform: translate(-50%,-50%);
			transition: 0.4s;
			&:nth-child(1) {
				transform: translate(-50%,calc(-50% - 7px));
			}
			&:nth-child(3) {
				transform: translate(-50%,calc(-50% + 7px));
			}
		}
	}
	body.noscroll .global-nav-button span {
		&:nth-child(1) {
			transform: translate(-50%,-50%) rotate(40deg);
		}
		&:nth-child(2) {
			opacity: 0;
		}
		&:nth-child(3) {
			transform: translate(-50%,-50%) rotate(-40deg);
		}
	}
}

@media(max-width: 575px) {
	.header-logo img {
		width: 75px;
	}
}

/*		フッター		*/
.footer {
	position: relative;
	background: var(--color-gray-1);
	padding-block: 100px;
}

.footer-content {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 30px;
	margin-bottom: 70px;
}

.footer-logo {
	display: inline-block;
	margin-bottom: 35px;
}

.footer-address {
	line-height: calc(28 / 15);
	color: #FFF;
	margin-bottom: 0;
}

.footer-menu {
	list-style: none;
	display: grid;
	grid-template-columns: repeat(3,1fr);
	grid-template-rows: repeat(3,1fr);
	grid-auto-flow: column;
	gap: 30px 55px;
	padding: 0;
	margin-bottom: 50px;
	.footer-item {
		display: inline-block;
		position: relative;
		font-family: var(--zen-kaku);
		font-weight: 500;
		line-height: calc(20 / 15);
		color: #FFF;
		padding-left: 18px;
		&::before {
			content: "";
			height: 8px;
			aspect-ratio: cos(50deg);
			clip-path: polygon(0 0,100% 50%,0 100%);
			background: linear-gradient(45deg,var(--color-theme-1));
			position: absolute;
			top: 7px;
			left: 2px;
		}
	}
}

.footer-other-menu {
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	gap: 18px 36px;
	padding: 0;
	margin-bottom: 0;
	a {
		--fs: 13;
		color: #FFF;
	}
}

.copyright {
	--fs: 12;
	font-weight: 500;
	line-height: calc(20 / 12);
	letter-spacing: 0.05em;
	color: #FFF;
	margin-bottom: 0;
}

.page-top {
	width: 60px;
	height: 60px;
	background: var(--color-theme-1);
	border: 1px solid #FFF;
	border-radius: 50%;
	position: absolute;
	right: 60px;
	bottom: 60px;
	&::before {
		content: "";
		display: block;
		width: 16px;
		aspect-ratio: 1/cos(50deg);
		clip-path: polygon(50% 0,100% 100%,0 100%);
		background: linear-gradient(45deg,#FFF);
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%,-50%);
	}
}

@media(max-width: 767px) {
	.footer {
		padding-top: 50px;
		padding-bottom: 20px;
	}
	.footer-content {
		display: block;
		margin-bottom: 50px;
	}
	.footer-logo {
		display: block;
		max-width: 150px;
		margin-inline: auto;
	}
	.footer-address {
		--fs: 13;
		text-align: center;
		max-inline-size: max-content;
		margin-inline: auto;
	}
	.footer-nav {
		display: none;
	}
	.copyright {
		text-align: center;
	}
	.page-top {
		width: 55px;
		height: 55px;
		right: 15px;
		bottom: 30px;
	}
}

/*		共通パーツ		*/


/*		ヒーロー		*/
.top-hero {
	position: relative;
	video {
		width: 100%;
		height: 100%;
		border: 0;
		outline: none;
		object-fit: cover;
		object-position: center;
		position: absolute;
		top: 0;
		z-index: -1;
	}
}

.top-hero-content {
	display: grid;
	place-content: center;
	text-align: center;
	height: 100svh;
	min-height: 500px;
	max-height: 900px;
	h2 {
		--fs: 55;
		font-size: var(--font-size);
		line-height: calc(90 / 55);
		font-weight: bold;
		margin-bottom: 13px;
	}
	p {
		--fs: 18;
		line-height: calc(38 / 18);
		letter-spacing: 0.05em;
		font-weight: 500;
	}
}

.scroll {
	position: absolute;
	right: 50px;
	bottom: -15px;
	&::before {
		animation: scroll 2s infinite;
		background-color: var(--color-theme-1);
		bottom: 0;
		content: "";
		height: 128px;
		left: 0;
		margin: auto;
		position: absolute;
		right: 0;
		width: 1.5px;
		z-index: 2;
	}
	&::after {
		background-color: #231815;
		bottom: 0;
		content: "";
		height: 128px;
		left: 0;
		margin: auto;
		position: absolute;
		right: 0;
		width: 1.5px;
	}
}

@keyframes scroll {
	0% {
		transform: scale(1, 0);
		transform-origin: 0 0;
	}
	50% {
		transform: scale(1, 1);
		transform-origin: 0 0;
	}
	51% {
		transform: scale(1, 1);
		transform-origin: 0 100%;
	}
	100% {
		transform: scale(1, 0);
		transform-origin: 0 100%;
	}
}

@media(max-width: 991px) {
	.top-hero-content {
		h2 {
			--fs: 40;
			line-height: calc(50 / 40);
			margin-bottom: 20px;
		}
		p {
			--fs: 15;
			line-height: calc(28 / 15);
		}
	}
	.scroll {
		display: none;
	}
}

@media(max-width: 575px) {
	.top-hero {
		padding-top: 75px;
		video {
			height: calc(100% - 75px);
			object-position: 60% center;
			top: 75px;
		}
	}
	.top-hero-content {
		height: calc(100svh - 75px);
		h2 {
			margin-right: -0.5em;
		}
	}
}

/*		トップ　ニュース		*/
.top-news {
	background: #FBF6F0;
	margin-top: -5px;
}

.top-news-content {
	display: grid;
	grid-template-columns: auto 1fr;
	align-items: start;
	gap: 0 140px;
	.news-list {
		grid-row: span 2;
	}
}

@media(max-width: 991px) {
	.top-news-content {
		display: block;
		.section-title {
			margin-bottom: 30px;
		}
		.news-list {
			margin-bottom: 50px;
		}
	}
}

/*		ニュースリスト		*/
.news-list {
	list-style: none;
	padding: 0;
	margin-bottom: 0;
	li {
		border-bottom: 1px dashed #ACACAC;
	}
}

.news-item {
	display: grid;
	grid-template-columns: 86px 1fr;
	align-items: baseline;
	gap: 50px;
	padding: 36px 30px;
}

.news-item-date {
	--fs: 14;
	font-family: var(--num);
	font-weight: 600;
	color: var(--color-theme-1);
}

.news-item-title {
	-fs: 16;
	line-height: calc(28 / 16);
	margin-bottom: 0;
}

@media(max-width: 991px) {
	.news-item {
		gap: 5px 15px;
		padding: 25px 10px;
	}
}

@media(max-width: 575px) {
	.news-item {
		grid-template-columns: 1fr;
		padding: 20px 5px;
	}
}

/*		グループミッション		*/
.top-mission {
	--container: 1200px;
}

.top-mission-inner {
	position: relative;
	padding: 100px 15px 150px;
	.top-mission-bg {
		content: "";
		width: calc((100vw - 100%) / 2 + 100%);
		height: 100%;
		background: url(img/top-mission-bg@2x.jpg) center bottom / cover;
		position: absolute;
		top: 0;
		left: 0;
		border-radius: 50px 0 0 50px;
		z-index: -2;
		margin-right: calc((100vw - 100%) / -2);
	}
	&::before {
		content: "";
		width: calc((100vw - 100%) / 2 + 100%);
		height: 100%;
		background: var(--color-theme-1);
		position: absolute;
		top: 0;
		left: 0;
		border-radius: 50px 0 0 50px;
		mix-blend-mode: plus-lighter;
		z-index: -1;
	}
	&::after {
		content: "";
		width: calc((100vw - 100%) / 2 + 100%);
		height: 100%;
		background: var(--color-theme-1);
		position: absolute;
		top: 0;
		left: 0;
		border-radius: 50px 0 0 50px;
		mix-blend-mode: soft-light;
		opacity: 0.6;
		z-index: -1;
	}
}

.top-mission-content {
	display: grid;
	grid-template-columns: 465px 1fr;
	align-items: center;
	gap: 100px;
	max-width: 920px;
	margin-inline: auto;
}

.top-mission-text {
	h3 {
		--fs: 30;
		font-size: var(--font-size);
		line-height: calc(47 / 30);
		font-weight: bold;
		margin-bottom: 14px;
	}
	.section-title {
		position: relative;
		&::before {
			content: "";
			width: 466px;
			aspect-ratio: 466 / 180;
			background: url(./img/sig-logo.svg) center / cover;
			position: absolute;
			top: 50%;
			left: -15px;
			transform: translateY(-50%);
		}
	}
}

.top-mission-image {
	filter: drop-shadow(10px 10px 0 var(--color-theme-1));
	margin-right: -80px;
	img {
		-webkit-mask-image: url(./img/sig-mask.png);
		mask-image: url(./img/sig-mask.png);
		mask-size: cover;
	}
}

@media(max-width: 991px) {
	.top-mission-inner {
		padding: 80px 0;
		.top-mission-bg,
		&::before,
		&::after {
			width: 100vw;
			left: 50%;
			border-radius: 30px 30px 0 0;
			transform: translateX(-50%);
		}
	}
	.top-mission-content {
		grid-template-columns: 1fr;
		gap: 40px;
	}
	.top-mission-text {
		& .section-title {
			max-inline-size: max-content;
			margin-inline: auto;
			text-align: center;
			&::before {
				width: 350px;		
			}
		}
		h3 {
			--fs: 25;
		}
	}
	.top-mission-image {
		max-width: 500px;
		margin-inline: auto;
	}
}

/*		事業体制		*/
.top-business {
	--container: calc(965px);
	overflow-x: clip;
}

.top-business-content {
	position: relative;
	display: grid;
	grid-template-columns: 1fr 45%;
	align-items: end;
	padding-inline: 40px;
	margin-top: 120px;
	&::before {
		content: "";
		width: 474px;
		aspect-ratio: 474 / 301;
		background: url(img/top-business-bg01.png) center / cover;
		position: absolute;
		top: 0;
		left: 0;
		transform: translate(-30%,0%);
		z-index: -5;
	}
	&::after {
		content: "";
		width: 650px;
		aspect-ratio: 650 / 550;
		background: url(img/top-business-bg02.png) center /cover;
		position: absolute;
		top: 0;
		right: 0;
		transform: translate(55%,-30%);
		z-index: -5;
	}
	.business-group {
		position: relative;
		display: grid;
		place-content: center;
		place-items: center;
		gap: 40px;
		max-width: 490px;
		width: 100%;
		aspect-ratio: 1 / 1;
		background: #FFF;
		border-radius: 50%;
		&::before {
			content: "";
			width: calc(100% + 80px);
			height: calc(100% + 80px);
			background: linear-gradient(to bottom, #FFD5C1, var(--color-theme-1));
			border-radius: 50%;
			position: absolute;
			top: 50%;
			left: 50%;
			transform: translate(-50%,-50%);
			z-index: -2;
		}
		&::after {
			content: "";
			width: 100%;
			height: 100%;
			background: #FFF;
			border-radius: 50%;
			position: absolute;
			top: 50%;
			left: 50%;
			transform: translate(-50%,-50%);
			z-index: -1;
		}
		span {
			--fs: 22;
			font-size: var(--font-size);
			font-weight: bold;
			color: #FFF;
			line-height: 1;
			background: var(--color-body-1);
			border-radius: 100px;
			padding: 8px 35px;
		}
	}
	.business-company {
		position: relative;
		display: grid;
		place-content: center;
		place-items: center;
		gap: 40px;
		max-width: 400px;
		width: 100%;
		aspect-ratio: 1 / 1;
		border-radius: 50%;
		margin-bottom: -15%;
		z-index: 1;
		&::before {
			content: "";
			width: calc(100% + 80px);
			height: calc(100% + 80px);
			background: linear-gradient(to bottom, #FFE8CE, #FAC587);
			border-radius: 50%;
			position: absolute;
			top: 50%;
			left: 50%;
			transform: translate(-50%,-50%);
			z-index: -2;
		}
		&::after {
			content: "";
			width: 100%;
			height: 100%;
			background: #FFF;
			border-radius: 50%;
			position: absolute;
			top: 50%;
			left: 50%;
			transform: translate(-50%,-50%);
			z-index: -1;
		}
		span {
			--fs: 22;
			font-size: var(--font-size);
			font-weight: bold;
			color: #FFF;
			line-height: 1;
			background: var(--color-body-1);
			border-radius: 100px;
			padding: 8px 35px;
		}
		ul {
			text-align: center;
			list-style: none;
			padding: 0;
			margin-bottom: 0;
			li {
				display: block;
				max-inline-size: max-content;
				margin-inline: auto;
				position: relative;
				font-weight: bold;
				line-height: calc(20 / 15);
				padding-left: 14px;
				&:not(:last-child) {
					margin-bottom: 15px;
				}
				&::before {
					content: "";
					height: 11px;
					aspect-ratio: cos(50deg);
					clip-path: polygon(0 0,100% 50%,0 100%);
					background: linear-gradient(45deg,#FAC587);
					position: absolute;
					top: 5px;
					left: 0;
				}
				a {
					text-decoration: underline;
				}
			}
		}
	}
}

.top-business-deco01 {
	position: absolute;
	top: 0;
	left: 0;
	transform: translate(-50%, -90%);
}

.top-business-deco02 {
	position: absolute;
	top: 0;
	right: 0;
	transform: translate(30%, -60%);
}

.top-business-deco03 {
	position: absolute;
	bottom: 0;
	right: 0;
	transform: translate(5%,105%);
	z-index: 1;
}

@media(max-width: 991px) {
	.top-business-content {
		max-width: 840px;
		margin-inline: auto;
		grid-template-columns: 1fr;
		&::before {
			top: auto;
			bottom: 0;
			transform: translate(-20%,0%);
		}
		&::after {
			transform: translate(45%,-30%);
		}
		.business-group {
			width: 80%;
			&::before {
				width: 115%;
				height: 115%;
			}
		}
		.business-company {
			width: 65%;
			margin-top: -10%;
			margin-right: 0;
			margin-left: auto;
			&::before {
				width: 115%;
				height: 115%;
			}
		}
	}
	.top-business-deco01 {
		max-width: 200px;
		top: 50%;
		transform: translate(-25%, 20%);
	}
	.top-business-deco02 {
		max-width: 176px;
		transform: translate(-15%, -20%);
	}
	.top-business-deco03 {
		max-width: 150px;
		transform: translate(5%,125%);
	}
}

@media(max-width: 767px) {
	.top-business-content {
		max-width: 530px;
		padding-inline: 20px;
		margin-top: 80px;
		&::before {
			width: 300px;
			transform: translate(-20%,35%);
		}
		&::after {
			width: 400px;
			transform: translate(60%,-20%);
		}
		.business-group {
			max-width: 310px;
            width: 100%;
			gap: 15px;
			transform: translateX(-35px);
			&::before {
				width: calc(100% + 40px);
				height: calc(100% + 40px);
			}
			span {
				--fs: 15;
				padding: 5px 20px;
			}
			h3 {
				max-width: 215px;
				margin-inline: auto;
			}
		}
		.business-company {
			width: 90%;
			gap: 10px;
			margin-top: -5%;
			max-width: 280px;
			transform: translateX(30px);
			&::before {
				width: calc(100% + 40px);
				height: calc(100% + 40px);
			}
			span {
				--fs: 15;
				padding: 5px 20px;
			}
			h3 {
				max-width: 180px;
				margin-inline: auto;
			}
			ul {
				li {
					--fs: 12;
					padding-left: 10px;
					&:not(:last-child) {
						margin-bottom: 5px;
					}
					&::before {
						top: 4px;
						height: 8px;
					}
				}
			}
		}
	}
	.top-business-deco01 {
		width: 150px;
		transform: translate(-25%, 20%);
		z-index: 1;
	}
	.top-business-deco02 {
		width: 120px;
		transform: translate(25%, 75%)
	}
	.top-business-deco03 {
		width: 120px;
		transform: translate(35%,110%);
	}
}

/*		スライド		*/
.top-slide {
	padding-top: 170px;
	padding-bottom: 70px;
}

.top-slide .splide__slide {
	--fs: 165;
	font-size: var(--font-size);
	font-family: var(--en);
	font-weight: bold;
	white-space: nowrap;
	line-height: 1;
}

@media(max-width: 991px) {
	.top-slide {
		padding-top: 100px;
		padding-bottom: 20px;
	}
	.top-slide .splide__slide {
		--fs: 90;
	}
}

/*		リンク リスト		*/
.top-links {
	padding-bottom: 170px;
	.link-list {
		&::before {
			content: "";
			display: block;
			width: 475px;
			aspect-ratio: 475 / 301;
			background: url(./img/top-links-deco01.png) center / cover;
			position: absolute;
			bottom: 0;
			left: 0;
			z-index: -5;
			transform: translate(-70%,35%);
		}
		&::after {
			content: "";
			width: 659px;
			aspect-ratio: 659 / 660;
			background: url(./img/top-links-deco02.png) center / cover;
			position: absolute;
			top: 0;
			right: 0;
			z-index: -5;
			transform: translate(60%,-65%);
		}
	}
}

.link-list {
	position: relative;
	display: grid;
	grid-template-columns: repeat(2,1fr);
	gap: 24px 60px;
	list-style: none;
	padding: 0;
	margin-bottom: 0;
}

.link-item {
	position: relative;
	display: grid;
	align-items: center;
	width: 100%;
	aspect-ratio: 552 / 347;
	border-radius: 30px;
	padding: 15px;
	overflow: hidden;
	img {
		width: 100%;
		height: 100%;
		position: absolute;
		top: 0;
		left: 0;
		object-fit: cover;
		transition: 0.4s;
		z-index: -1;
	}
	&:hover {
		opacity: 1;
	}
	&:hover img {
		transform: scale(1.1);		
	}
}

.link-item-content {
	display: grid;
	place-content: center;
	justify-content: center;
	gap: 5px;
	text-align: center;
	max-width: 286px;
	width: 100%;
	background: rgba(255,255,255,0.8);
	border-radius: 15px;
	padding: 25px 15px;
	margin-inline: auto;
	p {
		--fs: 20;
		font-size: var(--font-size);
		letter-spacing: 0.05em;
		font-weight: bold;
		margin-bottom: 0;
	}
	span {
		--fs: 28;
		font-size: var(--font-size);
		letter-spacing: 0.05em;
		font-weight: bold;
		font-family: var(--en);
		color: var(--color-theme-1);
		line-height: 1;
		order: -1;
	}
}

@media(max-width: 991px) {
	.top-links {
		padding-bottom: 80px;
	}
	.link-list {
		gap: 25px 30px;
	}
}

@media(max-width: 767px) {
	.link-list {
		grid-template-columns: 1fr;	
	}
}

/*		CTA パーツ		*/
.cta-parts {
	position: relative;
	background: linear-gradient(to bottom, #FAC587, var(--color-theme-1));
	padding-block: 65px;
	overflow-x: clip;
}

.cta-parts-inner {
	position: relative;
	max-width: 1440px;
	margin-inline: auto;
}

.cta-parts-image {
	max-width: 570px;
	width: 80%;
	position: absolute;
	top: -65px;
	right: 0;
	transform: translate(75px,-105px);
}

.cta-parts-content {
	position: relative;
	z-index: 1;
}

.cta-parts-title {
	display: grid;
	gap: 20px;
	margin-bottom: 20px;
	h2 {
		--fs: 18;
		font-size: var(--font-size);
		line-height: 1;
		font-weight: bold;
		color: #FFF;
		margin-bottom: 0;
	}
	span {
		display: inline-block;
		--fs: 65;
		font-size: var(--font-size);
		font-family: var(--en);
		font-weight: bold;
		color: #FFF;
		line-height: 1;
		order: -1;
	}
}

@media(max-width: 991px) {
	.cta-parts-title {
		gap: 10px;
		span {
			--fs: 55;	
		}
	}
}

@media(max-width: 575px) {
	.cta-parts {
		padding-block: 50px;
	}
	.cta-parts-title {
		text-align: center;
	}
}

/*		下層ページ		*/
body:not(.home) main {
	margin-top: 90px;
}

.page-header {
	--container: 1100px;
	margin-bottom: 90px;
}

.page-header-content {
	display: grid;
	grid-template-columns: 1fr;
	align-items: center;
}

.page-header-text {
	position: relative;
	grid-column: 1 / 2;
	grid-row: 1 / 2;
	z-index: 1;
}

.page-header-title {
	display: grid;
	gap: 10px;
	margin-bottom: 55px;
}

.page-header-title-ja {
	--fs: 28;
	font-size: var(--font-size);
	line-height: calc(32 / 28);
	letter-spacing: 0.05em;
	font-weight: bold;
	margin-bottom: 0;
	&:not(:has( + .page-header-title-en)) {
		--fs: 55;
		color: var(--color-theme-1);
	}
}

.page-header-title-en {
	--fs: 90;
	font-size: var(--font-size);
	font-weight: bold;
	font-family: var(--en);
	line-height: 1;
	color: var(--color-theme-1);
	order: -1;
}

.page-header-image {
	position: relative;
	grid-column: 1 / 2;
	grid-row: 1 / 2;
	margin-left: 250px;
	margin-right: calc((100vw - 100%) / -2);
	&::before {
		content: "";
		display: block;
		width: 100%;
		height: 100%;
		background: url(img/page-header-effect.png) center / cover;
		position: absolute;
		top: 0;
		left: 0;
	}
	&::after {
		content: "";
		height: 100%;
		aspect-ratio: 322 / 462;
		background: url(img/page-header-mask.png) center / 100% 100%;
		position: absolute;
		top: 0;
		left: 0;
	}
	img {
		width: 100%;
		max-height: 460px;
		object-fit: cover;
		object-position: center right;
	}
}

.breadcrumb-container {
	ul {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		gap: 6px;
		--fs: 13;
		font-size: var(--font-size);
		font-weight: 500;
		padding: 0;
		margin: 0;
		list-style: none;
		li {
			display: inline-flex;
			align-items: center;
			gap: 6px;
		}
		a {
			color: var(--color-theme-1);
		}
		.breadcrumb-sep {
			color: #C9C9C9;
		}
	}
}

@media(max-width: 991px) {
	.page-header {
		margin-bottom: 50px;
	}
	.page-header-content {
		gap: 15px;
	}
	.page-header-text {
		display: grid;
		grid-column: auto;
		grid-row: auto;
	}
	.page-header-image {
		margin-right: calc(var(--padding) * -1);
		margin-left: 0;
		img {
			max-height: 300px;
		}
	}
	.page-header-title {
		gap: 10px;
		margin-bottom: 10px;
	}
	.page-header-title-ja {
		--fs: 18;
		&:not(:has( + .page-header-title-en)) {
			--fs: 40;
		}
	}
	.page-header-title-en {
		--fs: 50;
	}
	.breadcrumb-container {
		margin-block: 10px;
	}
}

@media(max-width: 575px) {
	body:not(.home) main {
		margin-top: 75px;
	}
}

/*		会社を知る		*/

.company-message {
	--container: 1100px;
}

.company-message-wrapper {
	background: #FFF;
	border-radius: 30px;
	padding: 55px 15px 85px;
	h3 {
		position: relative;
		--fs: 30;
		font-size: var(--font-size);
		line-height: calc(38 / 30);
		max-inline-size: max-content;
		padding: 25px 55px;
		margin-bottom: 90px;
		margin-inline: auto;
		&::before {
			content: "";
			width: 55px;
			height: 52px;
			border-top: 2px solid var(--color-theme-1);
			border-left: 2px solid var(--color-theme-1);
			position: absolute;
			top: 0;
			left: 0;
		}
		&::after {
			content: "";
			width: 55px;
			height: 52px;
			border-bottom: 2px solid var(--color-theme-1);
			border-right: 2px solid var(--color-theme-1);
			position: absolute;
			bottom: 0;
			right: 0;
		}
	}
}

.sig-tab-nav {
	position: relative;
	display: grid;
	grid-template-columns: 1fr 1fr;
	list-style: none;
	max-width: 650px;
	width: 100%;
	border: none;
	background: var(--color-gray-2);
	margin-inline: auto;
	border-radius: 999px;
	padding: 0;
	margin-bottom: 30px;
	&::before {
		content: "";
		width: 50%;
		height: 100%;
		background: var(--color-theme-1);
		position: absolute;
		top: 0;
		left: 0;
		border-radius: 999px;
		transition: 0.3s;
	}
	&:has(.nav-item:nth-child(2) .nav-link.active)::before {
		background: #FAB76A;
		transform: translateX(100%);
	}
	.nav-item {
		z-index: 5;
	}
	.nav-link {
		display: flex;
		align-items: center;
		justify-content: center;
		min-height: 64px;
		border: none;
		width: 100%;
		padding: 5px 10px;
		border-radius: 999px;
		&.active {
			background: transparent;
			color: #FFF;
		}
	}
	a {
		--fs: 20;
		font-size: var(--font-size);
		font-weight: 500;
		letter-spacing: 0.05em;
	}
}

.company-message-content {
	display: grid;
	grid-template-columns: 38.5% 1fr;
	gap: 0 65px;
	max-width: 935px;
	margin-inline: auto;
}

.company-message-text .sign {
	display: grid;
	gap: 15px;
	line-height: calc(18 / 15);
	--fs: 20;
	font-size: var(--font-size);
	font-weight: bold;
	letter-spacing: 0.05em;
	span {
		--fs: 15;
		font-size: var(--font-size);
		font-weight: bold;
	}
}

.company-message-image img {
	border-radius: 30px;
}

.company-philosophy {
	--container: 935px;
	.section-title {
		margin-bottom: 45px;		
	}
}

.company-philosophy-content {
	display: grid;
	grid-template-columns: repeat(2,1fr);
}

.company-philosophy-item {
	position: relative;
	background: #FFF;
	padding: 35px;
	&::before {
		content: "";
		width: 67px;
		height: 11px;
		background: var(--color-theme-1);
		position: absolute;
		top: 0;
		left: 32px;
		border-radius: 20px;
		transform: translateY(-50%);
	}
	&:nth-child(1) {
		border-radius: 30px 0 0 0;
		border: solid #D9D9D9;
		border-width: 2px 1px 1px 2px;
	}
	&:nth-child(2) {
		border-radius: 0 30px 0 0;
		border: solid #D9D9D9;
		border-width: 2px 2px 1px 1px;
	}
	&:nth-child(3) {
		border-radius: 0 0 0 30px;
		border: solid #D9D9D9;
		border-width: 1px 1px 2px 2px;
	}
	&:nth-child(4) {
		border-radius: 0 0 30px 0;
		border: solid #D9D9D9;
		border-width: 1px 2px 2px 1px;
	}
	h3 {
		display: grid;
		grid-template-columns: 75px 1fr;
		align-items: center;
		gap: 15px;
		--fs: 20;
		font-size: var(--font-size);
		font-weight: bold;
		line-height: calc(30 / 20);
		margin-bottom: 30px;
		span {
			--fs: 60;
			font-size: var(--font-size);
			font-weight: 900;
			font-family: var(--num);
			line-height: 1;
			color: var(--color-theme-1);
		}
	}
	p {
		line-height: calc(28 / 15);
		margin-bottom: 0;
	}
}

.company-outline {
	background: #FFF;
	--container: 790px;
}

.company-outline-table:not(:last-child) {
	margin-bottom: 100px;
}

.company-outline-table table {
	width: 100%;
	tr:last-child {
		th,td {
			border-bottom: none;
		}
	}
	th {
		width: 150px;
		font-weight: bold;
		letter-spacing: 0.05em;
		vertical-align: baseline;
		border-bottom: 1px dashed #ACACAC;
		padding: 25px 10px;
	}
	td {
		--fs: 16;
		line-height: calc(25 / 16);
		border-bottom: 1px dashed #ACACAC;
		padding: 25px 10px;
	}
}

.map-link {
	display: inline-flex;
	align-items: center;
	gap: 3px;
	--fs: 14;
	font-size: var(--font-size);
	text-decoration: underline;
	&::before {
		content: "";
		display: inline-block;
		width: 8px;
		aspect-ratio: 8 / 10;
		background: url(img/icon-map.svg) center / cover;
	}
}

@media(max-width: 991px) {
	.company-message-wrapper {
		border-radius: 15px;
		padding: 35px 20px;
		h3 {
			--fs: 22;
			padding: 15px 20px;
			margin-bottom: 30px;
			&::before,
			&::after {
				width: 30px;
				height: 30px;
			}
		}
	}
	.sig-tab-nav {
		.nav-link {
			min-height: 52px;
		}
	}
	.company-message-content {
		grid-template-columns: 1fr;
		gap: 20px;
	}
	.company-message-image {
		max-width: 350px;
		margin-inline: auto;
		img {
			border-radius: 15px;
		}
	}
}

@media(max-width: 767px) {
	.nav-item:nth-child(1) .nav-link img {
		width: 125px;
	}
	.nav-item:nth-child(2) .nav-link img {
		width: 90px;
	}
	.company-philosophy-content {
		grid-template-columns: 1fr;
	}
	.company-philosophy-item {
		padding: 25px 20px;
		&::before {
			width: 60px;
			height: 8px;
			left: 18px;
		}
		h3 {
			grid-template-columns: 60px 1fr;
			gap: 10px;
			--fs: 17;
			margin-bottom: 15px;
			span {
				--fs: 50;
			}
		}
		&:nth-child(1) {
			border-radius: 15px 15px 0 0;
			border-width: 2px 2px 1px 2px;
		}
		&:nth-child(2) {
			border-radius: 0;
			border-width: 1px 2px 1px 2px;
		}
		&:nth-child(3) {
			border-radius: 0;
			border-width: 1px 2px 1px 2px;
		}
		&:nth-child(4) {
			border-radius: 0 0 15px 15px;
			border-width: 1px 2px 2px 2px;
		}
	}
}

@media(max-width: 575px) {
	.company-outline-table table {
		th,td {
			display: block;
		}
		th {
			border-bottom: none;
			padding: 10px 10px 5px;
		}
		td {
			--fs: 14;
			padding: 5px 10px 10px;
		}
	}
}

/*		事業を知る		*/
.business-service-content {
	display: grid;
	grid-template-columns: 53% 1fr;
	align-items: center;
	margin-bottom: 80px;
	.section-title {
		margin-bottom: 40px;
	}
	p {
		--fs: 18;
		line-height: calc(32 / 18);
	}
	h3 {
		position: relative;
		max-inline-size: max-content;
		--fs: 23;
		font-size: var(--font-size);
		font-weight: bold;
		letter-spacing: 0.05em;
		line-height: calc(25 / 23);
		padding-inline: 30px;
		margin-block: 140px 30px;
		&::before {
			content: "";
			width: 20px;
			height: 2px;
			background: var(--color-body-1);
			position: absolute;
			top: 50%;
			left: 5px;
		}
		&::after {
			content: "";
			width: 20px;
			height: 2px;
			background: var(--color-body-1);
			position: absolute;
			top: 50%;
			right: 5px;
		}
		span {
			--fs: 190;
			font-size: var(--font-size);
			font-family: var(--en);
			font-weight: bold;
			background: linear-gradient(to top,transparent 13%, #FFB18B 54%);
			-webkit-background-clip: text;
			-webkit-text-fill-color: transparent;
			position: absolute;
			bottom: 0;
			left: 0;
			transform: translate(-2%,20%);
			z-index: -1;
		}
	}
}

.business-service-client {
	grid-column: 1 / 2;
	grid-row: 2 / 3;
}

.business-service-client-image {
	margin-right: -55px;
}

.business-service-image {
	grid-column: 2 / 3;
	grid-row: span 2;
	position: relative;
	margin-left: -50px;
	margin-right: calc((1440px - 1130px) / -2 - 35%);
	z-index: -2;
	&::before {
		content: "";
		width: 518px;
		aspect-ratio: 518 / 509;
		background: url(img/business-service-deco.png) center / cover;
		transform: translate(-30%,10%);
		position: absolute;
		top: 0;
		left: 0;
		z-index: -1;
	}
}

.business-domain {
	h3 {
		position: relative;
		max-inline-size: max-content;
		--fs: 23;
		font-size: var(--font-size);
		font-weight: bold;
		letter-spacing: 0.05em;
		line-height: calc(25 / 23);
		padding-inline: 30px;
		margin-bottom: 60px;
		&::before {
			content: "";
			width: 20px;
			height: 2px;
			background: var(--color-body-1);
			position: absolute;
			top: 50%;
			left: 5px;
		}
		&::after {
			content: "";
			width: 20px;
			height: 2px;
			background: var(--color-body-1);
			position: absolute;
			top: 50%;
			right: 5px;
		}
	}
}

.business-domain-content {
	display: grid;
	grid-template-columns: repeat(3,1fr);
	max-width: 1080px;
	margin-inline: auto;
}

.business-domain-item {
	position: relative;
	background: #FFF;
	padding: 0 30px 30px;
	border: solid #D9D9D9;
	&:nth-child(1) {
		border-radius: 30px 0 0 30px;
		border-width: 2px 1px 2px 2px;
	}
	&:nth-child(2) {
		border-width: 2px 1px 2px 1px;
	}
	&:nth-child(3) {
		border-radius: 0 30px 30px 0;
		border-width: 2px 2px 2px 1px;
	}
	h4 {
		display: flex;
		align-items: center;
		justify-content: center;
		--fs: 16;
		font-size: var(--font-size);
		letter-spacing: 0.05em;
		line-height: calc(18 / 16);
		font-weight: bold;
		color: #FFF;
		min-height: 35px;
		max-width: 180px;
		background: var(--color-theme-1);
		border-radius: 999px;
		padding: 2px 5px;
		margin-top: -17px;
		margin-bottom: 30px;
		margin-inline: auto;
	}
	p {
		--fs: 18;
		font-weight: bold;
		line-height: calc(30 / 18);
		margin-bottom: 30px;
	}
	ul.is-style-list-1 li {
		margin-bottom: 0;
	}
}

@media(max-width: 1439px) {
	.business-service-image {
		margin-right: calc((100vw - 1130px) / -2 - 35%);
	}
}

@media(max-width: 1129px) {
	.business-service-image {
		margin-right: -35%;
	}
}

@media(max-width: 991px) {
	.business-service-content {
		.section-title {
			margin-bottom: 20px;
		}
		h3 {
			--fs: 20;
			margin-block: 100px 30px;
			span {
				--fs: 140;
			}
		}
		p {
			--fs: 16;
		}
	}
	.business-service-text {
		grid-column: span 2;
	}
	.business-service-image {
		grid-row: 2 / 3;
		margin-top: 5%;
		margin-right: -10%;
		margin-left: -20%;
		&::before {
			width: 300px;
			transform: translate(-30%,0);
		}
	}
	.business-domain {
		h3 {
			--fs: 20;
		}
	}
	.business-domain-content {
		grid-template-columns: 1fr;
		gap: 40px;
	}
	.business-domain-item {
		padding-inline: 20px;
		&:nth-child(1),
		&:nth-child(2),
		&:nth-child(3) {
			border-radius: 15px;
			border-width: 2px;
		}
		h4 {
			--fs: 15;
			min-height: 30px;
			max-width: 155px;
			margin-bottom: 15px;
		}
		p {
			--fs: 16;
			margin-bottom: 15px;
		}
	}
}

@media(max-width: 575px) {
	.business-service-content {
		grid-template-columns: 1fr;
		h3 {
			margin-top: 60px;
			span {
				--fs: 95;
			}
		}
	}
	.business-service-text {
		grid-column: auto;
	}
	.business-service-client {
		grid-column: auto;
	}
	.business-service-image {
		grid-column: auto;
		grid-row: auto;
		margin-top: -10%;
		margin-right: -15%;
		margin-left: auto;
		&::before {
			width: 200px;
			transform: translate(-30%,-35%);
		}
	}
}

.business-strengths {
	background: #FFF;
}

.business-strengths-content {
	display: grid;
	grid-template-columns: repeat(2,1fr);
	gap: 75px;
	max-width: 840px;
	margin-inline: auto;
}

.business-strengths-item {
	position: relative;
	padding-top: 150px;
	padding-left: 80px;
	z-index: 1;
	&::before {
		content: "";
		width: 312px;
		aspect-ratio: 1 / 1;
		background: url(img/business-strengths-bg01.png) center / cover;
		position: absolute;
		top: 0;
		left: 0;
		z-index: -1;
	}
	&::after {
		content: "";
		--fs: 210;
		font-size: var(--font-size);
		font-weight: 900;
		font-family: var(--num);
		line-height: 1;
		color: #FFF;
		position: absolute;
		top: 0;
		left: 0;
		transform: translate(20%,15%);
		filter: drop-shadow(4px 4px 20px rgba(0,0,0,0.1));
		z-index: -1;
	}
	&:nth-child(1) {
		&::before {
			background: url(img/business-strengths-bg01.png) center / cover;
		}
		&::after {
			content: "01";
		}
	}
	&:nth-child(2) {
		&::before {
			background: url(img/business-strengths-bg02.png) center / cover;
		}
		&::after {
			content: "02";
		}
	}
	&:nth-child(3) {
		display: grid;
		grid-template-columns: calc(50% - 80px) 1fr;
		grid-template-rows: auto 1fr;
		align-items: start;
		gap: 0 45px;
		grid-column: 1 / 3;
		&::before {
			background: url(img/business-strengths-bg03.png) center / cover;
		}
		&::after {
			content: "03";
		}
		> h3 {
			grid-column: 1 / 2;
		}
		> p {
			grid-column: 1 / 2;
		}
	}
	> h3 {
		max-width: 310px;
		--fs: 20;
		font-size: var(--font-size);
		line-height: calc(30 / 20);
		margin-bottom: 10px;
	}
	> p {
		max-width: 310px;
		line-height: calc(28 / 15);
		margin-bottom: 0;
	}
}

.business-strengths-image {
	grid-row: 1 / 3;
	grid-column: 2 / 3;
	padding-bottom: 40px;
	margin-top: -70px;
	margin-left: -210px;
}

.business-strengths-place {
	grid-column: 2 / 3;
	grid-row: 2 / 3;
	background: #FFF;
	border: 2px solid var(--color-theme-1);
	border-radius: 30px;
	max-width: 360px;
	width: 100%;
	padding: 25px 15px;
	margin-top: auto;
	margin-left: auto;
	p {
		--fs: 14;
		line-height: calc(25 / 14);
		font-weight: 500;
		max-width: 270px;
		margin-inline: auto;
		margin-bottom: 0;
	}
}

@media(max-width: 991px) {
	.business-strengths-content {
		gap: 75px 10px;
	}
	.business-strengths-item {
		padding-left: 20px;
		> h3 {
			--fs: 18;
		}
	}
}

@media(max-width: 767px) {
	.business-strengths-content {
		grid-template-columns: 1fr;
		gap: 30px;
	}
	.business-strengths-item {
		padding-top: 40px;
		padding-left: 170px;
		&::before {
			width: 180px;
		}
		&::after {
			--fs: 100;
			transform: translate(28%,34%);
		}
		&:nth-child(3) {
			display: block;
			grid-column: auto;
		}
		h3 {
			max-width: 100%;
		}
		> p {
			max-width: 100%;
		}
	}
	.business-strengths-image {
		text-align: center;
		padding-bottom: 10px;
		margin-top: 10px;
		margin-left: 0;
	}
	.business-strengths-place {
		border-radius: 15px;
		padding: 15px;
		p {
			--fs: 13;
		}
	}
}

@media(max-width: 575px) {
	.business-strengths-content {
		gap: 15px;
	}
	.business-strengths-item {
		padding-top: 35px;
		padding-left: 120px;
		&::before {
			top: -10px;
			left: -40px;
		}
		&::after {
			--fs: 90;
			left: -30px;
		}
	}
}

.business-work {
	position: relative;
	overflow: hidden;
	&::before {
		content: "";
		width: 100%;
		height: 100%;
		background: linear-gradient(135deg, var(--color-theme-4),var(--color-theme-1));
		opacity: 0.2;
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		z-index: -1;
	}
	.splide__track {
		overflow: visible;
	}
}

.work-slide {
	max-width: 525px;
	margin-inline: auto;
	.splide__arrow {
		width: 70px;
		height: 70px;
		background: #000;
		opacity: 1;
		&::before {
			content: "";
			--mask: url(img/arrow-right.svg);
			width: 16px;
			aspect-ratio: 16 / 14;
			background: #FFF;
			-webkit-mask: var(--mask);
			mask: var(--mask);
			position: absolute;
			top: 50%;
			left: 50%;
			transform: translate(-50%,-50%);
		}
	}
	.splide__arrow--prev {
		left: calc(25px / -2);
		transform: translate(-50%,-50%);
		&::before {
			transform: translate(-50%,-50%) scale(-1,1);
		}
	}
	.splide__arrow--next {
		right: calc(25px / -2);
		transform: translate(50%,-50%);
	}
	.splide__arrow svg {
		display: none;
	}
}

.business-work-item {
	max-width: 525px;
	width: 100%;
	height: 100%;
	background: #FFF;
	border-radius: 30px;
	padding: 45px 20px 70px;
	box-shadow: 6px 6px 0 var(--color-theme-1);
	> * {
		max-width: 400px;
		width: 100%;
		margin-inline: auto;
	}
	h3 {
		--fs: 23;
		font-size: var(--font-size);
		line-height: calc(30 / 23);
		font-weight: bold;
		text-align: center;
		color: var(--color-theme-1);
		margin-bottom: 40px;
	}
	p {
		line-height: calc(25 / 15);
		margin-bottom: 0;
	}
}

.business-work-image {
	margin-bottom: 30px;
	img {
		border-radius: 30px;
	}
}

@media(max-width: 767px) {
	.business-work-item {
		border-radius: 15px;
		padding: 30px 20px;
		h3 {
			--fs: 20;
			margin-bottom: 20px;
		}
	}
	.business-work-image {
		margin-bottom: 15px;
		img {
			border-radius: 15px;
		}
	}
	.work-slide {
		padding-inline: 15px;
		.splide__arrow {
			width: 46px;
			height: 46px;
			transform: translateY(-50%);
		}
		.splide__arrow--prev {
			left: -15px;
		}
		.splide__arrow--next {
			right: -15px;
		}
	}
}

.business-clients {
	--container: 940px;
}

.business-clients-content {
	background: #FFF;
	padding: 45px 20px;
	border-radius: 30px;
	ul {
		column-count: 2;
		max-width: 800px;
		margin-inline: auto;
	}
}

@media(max-width: 767px) {
	.business-clients-content {
		padding: 30px 20px;
		border-radius: 15px;
		ul {
			column-count: 1;
		}
	}
}

/*		よくある質問		*/
.faq-nav {
	max-width: 960px;
	margin-inline: auto;
}

.faq-nav-list {
	display: flex;
	gap: 20px;
	list-style: none;
	padding: 0;
	margin-bottom: 0;
	li {
		display: contents;
	}
	a {
		position: relative;
		display: block;
		--fs: 18;
		font-size: var(--font-size);
		font-weight: 500;
		line-height: 1.5;
		text-align: center;
		width: 100%;
		color: #FFF;
		background: #000;
		border-radius: 999px;
		padding: 18px 50px;
		&::after {
			content: "";
			width: 13px;
			aspect-ratio: 13 / 11;
			background: var(--color-theme-1);
			--mask: url(img/arrow-right.svg);
			-webkit-mask: var(--mask);
			mask: var(--mask);
			mask-size: cover;
			position: absolute;
			top: 50%;
			right: 25px;
			transform: translateY(-50%) rotate(90deg);
		}
	}
}

.faq-wrapper {
	--container: 1080px;
	&:not(:last-child) {
		padding-bottom: 0;
	}
 	h2 {
		position: relative;
		max-inline-size: max-content;
		--fs: 23;
		font-size: var(--font-size);
		font-weight: bold;
		letter-spacing: 0.05em;
		line-height: calc(25 / 23);
		padding-inline: 30px;
		margin-inline: auto;
		margin-bottom: 40px;
		&::before {
			content: "";
			width: 20px;
			height: 2px;
			background: var(--color-body-1);
			position: absolute;
			top: 50%;
			left: 0;
		}
		&::after {
			content: "";
			width: 20px;
			height: 2px;
			background: var(--color-body-1);
			position: absolute;
			top: 50%;
			right: 0;
		}
	}
}

.faq-content {
	background: #FFF;
	border-radius: 30px;
	padding: 40px 20px 70px;
	> * {
		max-width: 935px;
		margin-inline: auto;
	}
	h3 {
		--fs: 23;
		font-size: var(--font-size);
		font-weight: bold;
		line-height: calc(30 / 23);
		color: var(--color-theme-1);
		margin-bottom: 20px;
	}
	* + h3 {
		margin-top: 35px;	
	}
}

.faq-item {
	background: var(--color-theme-1-3);
	border-radius: 20px;
	&:not(:last-child) {
		margin-bottom: 15px;
	}
}

.faq-question {
	margin-bottom: 0;
	button {
		--fs: 18;
		font-size: var(--font-size);
		line-height: calc(30 / 18);
		text-align: start;
		color: var(--color-body-1);
		width: 100%;
		border: none;
		background: transparent;
		position: relative;
		padding: 17px 70px 17px 95px;
		&::before {
			content: "Q";
			--fs: 30;
			font-size: var(--font-size);
			font-family: var(--en);
			font-weight: bold;
			line-height: 1;
			color: var(--color-theme-1);
			position: absolute;
			top: 17px;
			left: 45px;
		}
		&::after {
			content: "";
			width: 14px;
			height: 14px;
			background: url(img/icon-minus.svg) no-repeat center / contain;
			position: absolute;
			top: 25px;
			right: 45px;
			transition: 0.2s;
		}
		&.collapsed::after {
			background: url(img/icon-plus.svg) no-repeat center / contain;
		}
	}
}

.faq-answer {
	padding-inline: 45px;
}

.faq-answer-body {
	position: relative;
	--fs: 16;
	line-height: calc(28 / 16);
	padding: 25px 60px 50px;
	z-index: 1;
	&::before {
		content: "";
		width: 100%;
		height: calc(100% - 25px);
		background: #FFF;
		border-radius: 20px;
		position: absolute;
		top: 0;
		right: 0;
		left: 0;
		z-index: -1;
	}
}


@media(max-width: 991px) {
	.faq-nav-list {
		justify-content: center;
		flex-wrap: wrap;
		gap: 15px;
		a {
			--fs: 14;
			max-width: 240px;
			padding: 16px 50px;
		}
	}
	.faq-wrapper {
		h2 {
			margin-bottom: 20px;
		}
	}
	.faq-content {
		border-radius: 15px;
		padding: 30px 20px;
		h3 {
			--fs: 18;
			margin-bottom: 15px;
		}
	}
	.faq-item {
		border-radius: 10px;
		&:not(:last-child) {
			margin-bottom: 10px;
		}
	}
	.faq-question {
		button {
			--fs: 14;
			padding: 15px 40px 15px 50px;
			&::before {
				--fs: 25;
				top: 15px;
				left: 15px;
			}
			&::after {
				top: 20px;
				right: 15px;
			}
		}
	}
	.faq-answer {
		padding-inline: 15px;
	}
	.faq-answer-body {
		--fs: 14;
		padding: 10px 15px 25px;
		&::before {
			height: calc(100% - 15px);
			border-radius: 10px;
		}
	}
}

/*		働く環境を知る		*/
.work-numbers-content > p {
	--fs: 13;
	font-weight: 500;
	margin-right: 20px;
}

.work-numbers-list {
	display: grid;
	grid-template-columns: repeat(3,1fr);
	gap: 15px 24px;
	list-style: none;
	padding: 0;
	margin-bottom: 0;
}

.work-numbers-item {
	text-align: center;
	background: #FFF;
	border-radius: 30px;
	padding: 30px 20px;
	h3 {
		--fs: 18;
		font-size: var(--font-size);
		font-weight: bold;
		line-height: calc( 28 / 18 );
		padding-bottom: 12px;
		margin-bottom: 0;
		position: relative;
		&::before {
			content: "";
			width: 34px;
			height: 4px;
			border-radius: 2px;
			background: var(--color-theme-1);
			position: absolute;
			bottom: 0;
			left: 50%;
			transform: translateX(-50%);
		}
	}
	h4 {
		--fs: 16;
		font-size: var(--font-size);
		font-weight: 500;
		margin-bottom: 0;
	}
	.number {
		--fs: 75;
		font-size: var(--font-size);
		font-family: var(--num);
		line-height: 1;
		font-weight: 900;
		color: var(--color-theme-1);
		margin-bottom: 0;
		span {
			display: inline-block;
			--fs: 23;
			font-size: var(--font-size);
			font-weight: bold;
			font-family: var(--noto-sans);
			color: var(--color-body-1);
		}
	}
	.work-numbers-columns {
		display: grid;
		grid-template-columns: 1fr 1fr;
		position: relative;
		margin-top: -20px;
		&::before {
			content: "";
			width: 1px;
			height: 65px;
			border-right: 1px dashed #ACACAC;
			position: absolute;
			bottom: 18px;
			left: 50%;
			transform: translateX(-50%);
		}
	}
}

.work-numbers-image {
}

.sig-tab .work-numbers-item {
	h3::before {
		background: var(--color-theme-1-4);
	}
	.number {
		color: var(--color-theme-1-4);
	}
	p.small {
		--fs: 10;
		font-size: var(--font-size);
		font-weight: 500;
		line-height: normal;
	}
}

.work-education {
	--container: 1130px;
	background: #FFF;
}

.work-education-list {
	display: flex;
	flex-wrap: wrap;
	gap: 60px 24px;
	justify-content: center;
	list-style: none;
	padding: 0;
	margin-block: 90px;
}

.work-education-item {
	max-width: 264px;
	width: 100%;
	border-radius: 30px;
	padding: 30px 25px 60px;
	box-shadow: 4px 4px 30px var(--color-theme-1);
	position: relative;
	&::before {
		content: "";
		width: 80px;
		height: 13px;
		background: var(--color-theme-1);
		border-radius: 13px;
		position: absolute;
		top: 0;
		left: 50%;
		transform: translate(-50%,-50%);
	}
	h3 {
		display: grid;
		align-items: center;
		--fs: 18;
		font-size: var(--font-size);
		font-weight: bold;
		line-height: calc(23 / 18);
		text-align: center;
		color: var(--color-theme-1);
		min-height: 46px;
		margin-bottom: 30px;
	}
	p {
		line-height: calc(24 / 15);
		margin-bottom: 0;
	}
}

.work-welfare {
	--container: 936px;
	h3 {
		--fs: 23;
		font-size: var(--font-size);
		line-height: calc(30 / 23);
		font-weight: bold;
		color: var(--color-theme-1);
		margin-bottom: 30px;
	}
}

.work-welfare-content {
	display: grid;
	grid-template-columns: repeat(2,1fr);
	align-items: start;
	gap: 24px;
	&:not(:last-child) {
		margin-bottom: 70px;
	}
}
	
.work-welfare-list {
	display: grid;
	gap: 24px;
	list-style: none;
	padding: 0;
	margin-bottom: 0;
	&.column-2 {
		grid-column: span 2;
	}
}

.work-welfare-item {
	background: var(--color-theme-1-3);
	border-radius: 20px;
}

.work-welfare-item-title {
	margin-bottom: 0;
	button {
		position: relative;
		width: 100%;
		--fs: 18;
		font-size: var(--font-size);
		font-weight: bold;
		letter-spacing: 0.05em;
		line-height: calc(23 / 18);
		color: var(--color-body-1);
		text-align: start;
		background: transparent;
		outline: none;
		border: none;
		padding: 20px 85px 20px 60px;
		&::before {
			content: "";
			width: 10px;
			height: 10px;
			background: var(--color-theme-1);
			border-radius: 50%;
			position: absolute;
			top: 28px;
			left: 35px;
		}
		&::after {
			content: "";
			width: 36px;
			height: 36px;
			background: url(img/icon-minus.svg) no-repeat center / 14px ,#FFF;
			border-radius: 50%;
			position: absolute;
			top: 14px;
			right: 30px;
			transition: 0.2s;
		}
		&.collapsed::after {
			background: url(img/icon-plus.svg) no-repeat center / 14px ,#FFF;
		}
	}
}

.work-welfare-item-content {
	padding-inline: 30px;
}

.work-welfare-item-body {
	position: relative;
	--fs: 15;
	line-height: calc(24 / 15);
	padding: 30px 30px 60px;
	z-index: 1;
	&::before {
		content: "";
		width: 100%;
		height: calc(100% - 30px);
		background: #FFF;
		border-radius: 10px;
		position: absolute;
		top: 0;
		right: 0;
		left: 0;
		z-index: -1;
	}
}

.work-welfare-gallery {
	display: grid;
	grid-template-columns: repeat(3,1fr);
	gap: 25px 20px;
	figure {
		margin-bottom: 0;
	}
	img {
		border-radius: 10px;
		margin-bottom: 10px;
	}
	figcaption {
		--fs: 15;
		line-height: calc(20 / 15);
		font-weight: 500;
		text-align: center;
		margin-bottom: 0;
	}
}

.work-office {
	--container: 1040px;
	background: #FFF;
}

.work-office-content {
	display: grid;
	grid-template-columns: repeat(2,1fr);
	gap: 30px 65px;
}

.work-office-item {
	position: relative;
	h3 {
		--fs: 16;
		font-size: var(--font-size);
		letter-spacing: 0.05em;
		line-height: calc(20 / 16);
		color: var(--color-theme-1);
		text-align: center;
		background: #FFF;
		max-width: 173px;
		width: 100%;
		border-radius: 20px;
		padding: 5px 10px;
		margin-bottom: 0;
		position: absolute;
		top: 25px;
		left: 25px;
		z-index: 1;
	}
	.splide__track {
		border-radius: 30px;
		overflow: hidden;
	}
	.splide__arrow {
		width: 37px;
		height: 37px;
		background: var(--color-theme-1);
		opacity: 1;
		&::before {
			content: "";
			--mask: url(img/arrow-right.svg);
			width: 13px;
			aspect-ratio: 13 / 12;
			background: #FFF;
			-webkit-mask: var(--mask);
			mask: var(--mask);
			mask-size: contain;
			mask-position: center;
			mask-repeat: no-repeat;
			position: absolute;
			top: 50%;
			left: 50%;
			transform: translate(-50%,-50%);
		}
	}
	.splide__arrow--prev {
		left: 10px;
		&::before {
			transform: translate(-50%,-50%) scale(-1,1);
		}
	}
	.splide__arrow--next {
		right: 10px;
	}
	.splide__arrow svg {
		display: none;
	}
	.splide__pagination {
		bottom: 20px;
		gap: 20px;
	}
	.splide__pagination__page {
		width: 12px;
		height: 12px;
		background: #FFF;
		border: 2px solid var(--color-theme-1-2);
		opacity: 1;
		margin: 0;
		&.is-active {
			background: var(--color-theme-1);
			transform: none;
		}
	}
}

@media(max-width: 991px) {
	.work-numbers-list {
		gap: 20px;
	}
	.work-numbers-item {
		border-radius: 15px;
		h3 {
			--fs: 16;
		}
		.number {
			--fs: 50;
			span {
				--fs: 18;
			}
		}
		.work-numbers-columns {
			&::before {
				height: 50px;
				bottom: 10px;
			}
		}
	}
	.work-education-item {
		border-radius: 15px;
		padding: 20px 20px 50px;
		&::before {
			width: 65px;
			height: 10px;
		}
		h3 {
			margin-bottom: 15px;
		}
	}
	.work-welfare {
		h3 {
			--fs: 20;
			margin-bottom: 20px;
		}
	}
	.work-welfare-content {
		gap: 20px;
	}
	.work-welfare-list {
		gap: 15px;
	}
	.work-welfare-item {
		border-radius: 10px;
	}
	.work-welfare-item-title {
		button {
			--fs: 14;
			padding: 15px 50px 15px 35px;
			&::after {
				width: 28px;
				height: 28px;
				background: url(img/icon-minus.svg) no-repeat center / 10px ,#FFF;
				top: 10px;
				right: 10px;
			}
			&.collapsed::after {
				background: url(img/icon-plus.svg) no-repeat center / 10px ,#FFF;
			}
			&::before {
				width: 8px;
				height: 8px;
				top: 20px;
				left: 20px;
			}
		}
	}
	.work-welfare-item-content {
		padding-inline: 15px;
	}
	.work-welfare-item-body {
	    --fs: 14;
        padding: 10px 15px 25px;
		&::before {
			height: calc(100% - 15px);
            border-radius: 10px;
		}
	}
	.work-welfare-gallery {
		gap: 20px 15px;
		figcaption {
			--fs: 14;
		}
	}
	.work-office-content {
		gap: 30px 20px;
	}
	.work-office-item {
		.splide__track {
			border-radius: 15px;
		}
	}
}

@media(max-width: 767px) {
	.work-numbers-list {
		grid-template-columns: repeat(2,1fr);
	}
	.work-welfare-content {
		grid-template-columns: 1fr;
	}
	.work-welfare-list.column-2 {
		grid-column: auto;
	}
	.work-office-content {
		grid-template-columns: 1fr;
	}
}

@media(max-width: 575px) {
	.work-numbers-list {
		gap: 20px 15px;
	}
	.work-numbers-item {
		padding: 15px 10px;
		h3 {
			--fs: 16;
			padding-bottom: 8px;
			&::before {
				width: 30px;
				height: 3px;
			}
		}
		.number {
			--fs: 35;
			span {
				--fs: 15;
			}
		}
		h4 {
			--fs: 13;
		}
		.work-numbers-columns {
			&::before {
				height: 30px;
			}
		}
	}
	.work-numbers-image {
		max-width: 100px;
		margin-inline: auto;
	}
	.work-education-list {
		gap: 50px;
		margin-top: 50px;
	}
	.work-education-item {
		max-width: 100%;
	}
	.work-welfare-gallery {
		grid-template-columns: repeat(2,1fr);
	}
	.work-office-item {
		h3 {
			--fs: 15;
			max-width: 120px;
			padding: 2px 10px;
			top: 15px;
			;vector-effect: 15px;
		}
	}
}

/*		社員を知る		*/

.crosstalk-member {
	padding-bottom: calc(var(--stack) / 2);
}

.member-interview {
	&:nth-child(1) {
		padding-top: 0;
	}
	&:last-child {
		padding-bottom: calc(var(--stack) * 2);
	}
}

.member-crosstalk {
	background: #FFF;
	&:nth-child(1) {
		background: #FBF6F0;
		padding-top: 0;
	}
	&:last-child {
		padding-bottom: calc(var(--stack) * 2);
	}
}

.member-crosstalk-list {
	display: grid;
	grid-template-columns: repeat(2,1fr);
	gap: 75px 24px;
	list-style: none;
	padding: 0;
	margin-bottom: 0;
}

.member-crosstalk-item {
	display: block;
}

.member-crosstalk-image {
	position: relative;
	padding-right: 6px;
	margin-bottom: 20px;
	&::before {
		content: "";
		width: 70px;
		height: 70px;
		background: url(img/arrow-right.svg) no-repeat center / 16px, #000;
		border: 2px solid #FFF;
		border-radius: 50%;
		position: absolute;
		right: 0;
		bottom: -20px;
	}
	img {
		width: 100%;
		object-fit: cover;
		aspect-ratio: 552 / 392;
		border-radius: 30px;
		box-shadow: 6px 6px 0 var(--color-theme-1);
	}
}

.member-crosstalk-title {
	--fs: 18;
	font-size: var(--font-size);
	font-weight: 500;
	text-align: center;
	line-height: calc(32 / 18);
	margin-bottom: 0;
}

@media(max-width: 767px) {
	.member-crosstalk-list {
		grid-template-columns: 1fr;
	}
}

/*	 	社員を知る詳細		*/
.single-member {
	background: #FFF;
	.page-body {
		--container: 935px;
		background: #FBF6F0;
		padding-top: 60px;
	}
	.breadcrumb-container {
		padding-block: 45px;
	}
}

.single-member-content {
	position: relative;
	padding-bottom: calc(var(--stack) * 2);
	z-index: 1;
	&::before {
		content: "";
		width: 561px;
		height: 100%;
		background: url(img/member-bg01.svg) repeat-y top center / contain;
		position: absolute;
		top: -60px;
		left: 0;
		transform: translateX(-80%);
		z-index: -1;
	}
	&::after {
		content: "";
		width: 613px;
		height: 100%;
		background: url(img/member-bg02.svg) repeat-y top center / contain;
		position: absolute;
		top: -60px;
		right: 0;
		transform: translateX(80%);
		z-index: -1;
	}
}

.member-header-content {
	display: grid;
	&:has(.member-header-image) {
		grid-template-columns: max(calc(50% - 100px / 2),515px) 1fr;
		gap: 100px;
	}
}

.member-header-image img {
	width: 100%;
	border-radius: 30px;
	box-shadow: 6px 6px 0 var(--color-theme-1);
}

.member-header-text {
	max-width: 800px;
	padding-top: 35px;
	padding-inline: 55px;
}

.member-header-catchcopy {
	display: grid;
	align-items: center;
	--fs: 28;
	font-size: var(--font-size);
	line-height: calc(45 / 28);
	font-weight: bold;
	padding-block: 35px;
	min-height: 195px;
	margin-bottom: 35px;
	position: relative;
	&::before {
		content: "";
		width: calc(100% + 110px);
		aspect-ratio: 536 / 203;
		background: url(img/member-logo.svg) center / cover;
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%,-50%);
	}
	span {
		display: block;
		max-inline-size: max-content;
		position: relative;
		&::before {
			content: "";
			width: 47px;
			aspect-ratio: 47 / 37;
			background: url(img/icon-dq.svg) center / cover;
			position: absolute;
			top: 0;
			left: 0;
			transform: translate(-100%,-100%);
		}
		&::after {
			content: "";
			width: 47px;
			aspect-ratio: 47 / 37;
			background: url(img/icon-dq.svg) center / cover;
			position: absolute;
			bottom: 0;
			right: 0;
			transform: translate(60%,100%) scale(-1,-1);
		}
	}
}

.member-header-position {
	--fs: 19;
	font-weight: 500;
	line-height: normal;
	margin-bottom: 3px;
}

.member-header-title {
	--fs: 29;
	font-size: var(--font-size);
	font-weight: 500;
	line-height: normal;
	margin-bottom: 10px;
}

.member-header-join {
	--fs: 14;
	font-size: var(--font-size);
	font-weight: 500;
	line-height: 1;
	color: #FFF;
	background: var(--color-theme-1);
	border-radius: 5px;
	padding: 4px 7px;
	max-inline-size: max-content;
	margin-bottom: 0;
}

.type-member .page-body p {
	line-height: calc(28 / 15);
}

.single-member-button {
	margin-top: 170px;
}

@media(max-width: 1199px) {
	.member-header-content {
		&:has(.member-header-image) {
			gap: 50px;
		}
	}
}

@media(max-width: 991px) {
	.single-member {
		.breadcrumb-container {
			padding-block: 20px;
		} 
	}
	.member-header-content {
		&:has(.member-header-image) {
			grid-template-columns: 50% 1fr;
			gap: 50px;
		}
	}
	.member-header-text {
		max-width: 800px;
		padding-top: 0;
		padding-inline: 25px;
	}
	.member-header-catchcopy {
		--fs: 20;
		min-height: 160px;
		padding-block: 20px;
		margin-bottom: 20px;
		&::before {
			width: calc(100% + 50px);
		}
		span {
			margin-inline: auto;
			&::before,
			&::after {
				width: 20px;
			}
		}
	}
	.member-header-position {
		--fs: 16;
	}
	.member-header-title {
		--fs: 25;
	}
	.member-header-join {
		--fs: 13;
	}
	.single-member-button {
		margin-top: 80px;
	}
}

@media(max-width: 767px) {
	.member-header-content {
		&:has(.member-header-image) {
			grid-template-columns: 1fr;
			gap: 30px;
		}
	}
	.member-header-image {
		order: -1;
		img {
			border-radius: 15px;
		}
	}
}

/*		採用情報		*/
.tax-job_category .page-body {
	--container: 1080px;
}

.job-nav {
	margin-bottom: 100px;
}

.job-nav-list {
	display: grid;
	grid-template-columns: repeat(3,1fr);
	gap: 46px 35px;
	list-style: none;
	padding: 0;
	margin-bottom: 0;
	a {
		position: relative;
		display: flex;
		align-items: center;
		justify-content: center;
		min-height: 64px;
		--fs: 16;
		font-weight: 500;
		line-height: calc(22 / 16);
		border: 1px solid #000;
		border-radius: 999px;
		padding: 5px 40px;
		&::after {
			content: "";
			width: 13px;
			aspect-ratio: 13 / 11;
			--mask: url(img/arrow-right.svg);
			background: var(--color-theme-1);
			-webkit-mask: var(--mask);
			mask: var(--mask);
			mask-size: contain;
			mask-position: center;
			mask-repeat: no-repeat;
			position: absolute;
			top: 50%;
			right: 20px;
			transform: translateY(-50%) rotate(90deg);
		}
	}
}

.job-content {
	background: #FFF;
	border-radius: 30px;
	/* padding: 65px 20px 100px; */
	overflow: hidden;
	&:not(:last-child) {
		margin-bottom: 20px;
	}
	h2 {
		margin-bottom: 0;
		button {
			width: 100%;
			background: #FFF;
			border: none;
			padding: 30px 60px;
			position: relative;
			&::after {
				content: "";
				width: 20px;
				height: 20px;
				right: 25px;
				background: url(img/icon-minus.svg) no-repeat center / 20px;
				border-radius: 50%;
				position: absolute;
				top: 50%;
				transform: translateY(-50%);
			}
			&.collapsed::after {
				background: url(img/icon-plus.svg) no-repeat center / 20px;
			}
			span {
				display: grid;
				align-items: center;
				/* grid-template-columns: 20px auto 20px; */
				gap: 15px;
				--fs: 20;
				font-size: var(--font-size);
				letter-spacing: 0.05em;
				text-align: center;
				max-inline-size: max-content;
				margin-inline: auto;
				/* &::before,
				&::after {
					content: "";
					width: 20px;
					height: 2px;
					background: #000;
				} */
			}
		}
	}
	.wp-block-table:not([class*=is-style-table]) {
		max-width: 790px;
		margin-inline: auto;
		a {
			text-decoration: underline;
		}
	}
	.wp-block-table:not([class*=is-style-table]) :not(thead) td:first-child,
	.is-style-table-1 :not(thead) th td:first-child {
		width: 180px;
	}
	.wp-block-buttons:last-child {
		padding-bottom: 50px;
	}
}

.job-flow-content {
	display: grid;
	grid-template-columns: repeat(5,1fr);
	gap: 20px 5px;
	&:not(:last-child) {
		margin-bottom: 60px;
	}
}

.job-flow-content.column-2 {
	grid-template-columns: repeat(2,1fr);
	max-width: max-content;
	margin-inline: auto;
}

.job-flow-item {
	position: relative;
	&:not(:last-child)::after {
		content: "";
		width: 33px;
		aspect-ratio: 33 / 14;
		background: url(img/flow-arrow.svg) no-repeat center / contain;
		position: absolute;
		top: 50%;
		right: -4px;
	}
}

.job-cta:last-child {
	padding-bottom: calc(var(--stack) * 2);
}

.job-cta-content {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 125px 25px;
}

.job-cta-mynavi {
	width: calc((100% - 25px) / 2);
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 140px;
	border-radius: 30px;
	background: #FFF;
	box-shadow: 0 4px 4px rgba(0,0,0,0.25);
	overflow: hidden;
}

.job-cta-document {
	width: calc((100% - 25px) / 2);
	display: grid;
	align-items: end;
	background: url(img/job-cta02.jpg) center / cover;
	padding: 20px 50px;
	border-radius: 30px;
	box-shadow: 0 4px 4px rgba(0,0,0,0.25);
	min-height: 140px;
	overflow: hidden;
	span {
		display: grid;
		grid-template-columns: 1fr 49px;
		align-items: center;
		--fs: 20;
		font-size: var(--font-size);
		font-weight: 500;
		line-height: 1;
		letter-spacing: 0.05em;
		background: #FFF;
		border-radius: 999px;
		padding: 7px 7px 7px 45px;
		&::after {
			content: "";
			display: block;
			width: 49px;
			height: 49px;
			background: url(img/arrow-right.svg) no-repeat center / 11px,#000;
			border-radius: 50%;
		}
	}
}

.job-cta-entry {
	position: relative;
	grid-column: span 2;
	display: grid;
	align-items: center;
	justify-content: center;
	place-content: center;
	text-align: center;
	min-height: 257px;
	width: 100%;
	border-radius: 30px;
	padding: 45px;
	overflow: hidden;
	&::before {
		content: "";
		width: 100%;
		height: 100%;
		background: url(img/job-cta-entry-bg.png) no-repeat center / 100% 100%;
		position: absolute;
		top: 0;
		left: 0;
		z-index: -2;
	}
	&::after {
		content: "";
		width: calc(100% - 70px);
		height: calc(100% - 70px);
		border: 1px solid #FFF;
		border-radius: 30px;
		position: absolute;
		top: 50%;
		left: 50%;
		z-index: -1;
		transform: translate(-50%,-50%);
	}
	p {
		--fs: 18;
		font-size: var(--font-size);
		line-height: 1;
		letter-spacing: 0.05em;
		font-weight: bold;
		margin-bottom: 0;
	}
	span {
		--fs: 65;
		line-height: calc(80 / 65);
		font-size: var(--font-size);
		font-family: var(--en);
		font-weight: bold;
		color: #FFF;
		order: -1;
	}
}

@media(max-width: 991px) {
	.job-nav {
		margin-bottom: 60px;
	}
	.job-nav-list {
		gap: 20px 15px;
		a {
			--fs: 14;
			min-height: 56px;
			padding: 5px 30px;
			&::after {
				right: 15px;
			}
		}
	}
	.job-content {
		border-radius: 15px;
		h2 {
			button {
				padding: 15px 40px;
				&::after {
					width: 15px;
					height: 15px;
					background: url(img/icon-minus.svg) no-repeat center / 15px;
					right: 15px;
				}
				&.collapsed::after {
					background: url(img/icon-plus.svg) no-repeat center / 15px;
				}
				span {
					--fs: 15;
				}
			}
		}
	}
	.job-flow-content,
	.job-flow-content.column-2 {
		grid-template-columns: 1fr;
		justify-content: center;
		text-align: center;
		padding-right: 15px;
		max-inline-size: max-content;
		margin-inline: auto;
	}
	.job-flow-item {
		&:not(:last-child)::after {
			left: 50%;
			right: auto;
			top: auto;
			bottom: 0;
			transform: translate(-25%,25%) rotate(90deg);
		}
	}
	.job-cta-content {
		gap: 60px 20px;
	}
	.job-cta-mynavi {
		border-radius: 15px;
	}
	.job-cta-document {
		border-radius: 15px;
		padding: 20px;
		span {
			--fs: 16;
			padding: 5px 5px 5px 20px;
			&::after {
				width: 30px;
				height: 30px;
			}
		}
	}
	.job-cta-entry {
		border-radius: 15px;
	}
}

@media(max-width: 767px) {
	.job-nav-list {
		grid-template-columns: repeat(2,1fr);	
	}
	.job-cta-content {
		gap: 30px;
	}
	.job-cta-mynavi,
	.job-cta-document {
		width: 100%;
	}
	.job-cta-entry {
		grid-column: auto;
		&::after {
			border-radius: 15px;
		}
	}
}


@media(max-width: 575px) {
	.job-nav-list {
		grid-template-columns: 1fr;	
		gap: 10px;
	}
	.job-cta-entry {
		min-height: 140px;
		padding: 30px;
		&::after {
			width: calc(100% - 30px);
			height: calc(100% - 30px);
		}
		p {
			--fs: 15;
		}
		span {
			--fs: 50;
		}
	}
}

/*		お問い合わせ		*/
.contact-tel {
	text-align: center;
	h2 {
		--fs: 28;
		font-size: var(--font-size);
		font-weight: bold;
		line-height: normal;
		margin-bottom: 35px;
	}
	a {
		display: inline-flex;
		align-items: center;
		gap: 5px;
		--fs: 43;
		font-size: var(--font-size);
		font-weight: 900;
		font-family: var(--num);
		line-height: 1;
		color: var(--color-theme-1);
	}
}

.contact-tel-info {
	border-top: 1px dashed #ACACAC;
	padding: 15px 5px;
	max-inline-size: max-content;
	margin-top: 15px;
	margin-inline: auto;
	p {
		--fs: 20;
		font-weight: 500;
		font-size: var(--font-size);
		line-height: calc(35 / 23);
		&.small {
			--fs: 11;
			font-weight: normal;
		}
	}
}


.form-contact {
	background: #FFF;
	border-radius: 30px;
	max-width: 1030px;
	padding: 40px 100px 120px;
	margin-inline: auto;
	.note {
		--fs: 12;
		color: var(--color-theme-1);
	}
}

.form-group {
	align-items: baseline;
}

.col-form-label {
	--fs: 16;
	font-weight: 500;
	&.required::after {
		content: "※";
		display: inline-block;
		--fs: 14;
		color: var(--color-theme-1);
		margin-left: 10px;
	}
}

.form-control {
	background: #F5F5F5;
	border: none;
	border-radius: 10px;
	padding-block: 12px;
	&::placeholder {
		color: #CFCFCF;
	}
}

.privacy-policy-content {
	display: block;
	height: 200px;
	background: #F5F5F5;
	border-radius: 10px;
	padding: 12px 30px 30px;
	margin-bottom: 20px;
	overflow: scroll;
	p {
		--fs: 14;
		font-weight: 400;
		line-height: normal;
	}
}

.button-send,
.button-back {
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--color-theme-1);
	width: 330px;
	min-height: 74px;
	--fs: 15;
	font-weight: 500;
	color: #FFF;
	outline: none;
	border: none;
	border-radius: 10px;
	padding: 5px 15px;
	&:hover {
		opacity: 0.6;
	}
}

.page-body > .stack:last-child {
	padding-bottom: calc(var(--stack) * 2);
}

.mw_wp_form .horizontal-item {
	margin-right: 10px;
}

.mw_wp_form .horizontal-item + .horizontal-item {
	margin-left: 0;	
}

@media(max-width: 991px){
	.contact-tel {
		h2 {
			--fs: 20;
			margin-bottom: 20px;
		}
		a {
			--fs: 35;
			img {
				width: 40px;
			}
		}
	}
	.contact-tel-info {
		padding-top: 10px;
		margin-top: 10px;
		p {
			--fs: 16;
		}
	}
	.sig-tab-nav {
		a {
			--fs: 15;
			padding: 5px!important;
		}
	}
	.form-contact {
		border-radius: 15px;
		padding: 30px 20px 50px;
	}
	.button-send,
	.button-back {
		width: 220px;
		min-height: 56px;
		margin-inline: auto;
	}
	.privacy-policy-content {
		padding-inline: 10px;
	}
}

/*		お知らせ		*/

.archive-news-content {
	max-width: 900px;
	padding-bottom: calc(var(--stack) * 2);
	margin-inline: auto;
}

.pagination {
	margin-top: 80px;
	.nav-links {
		width: 100%;
		display: flex;
		gap: 10px;
		justify-content: center;
	}
	.page-numbers {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 34px;
		height: 34px;
		border: 2px solid var(--color-theme-1);
		border-radius: 50%;
		font-weight: 500;
		position: relative;
		&.current {
			background: var(--color-theme-1);
			color: #FFF;
		}
		&.next::before,
		&.prev::before {
			content: "";
			position: absolute;
			top: 50%;
			left: 50%;
			--mask: url(img/arrow-right.svg);
			width: 12px;
			aspect-ratio: 16 / 14;
			background: #000;
			-webkit-mask: var(--mask);
			mask: var(--mask);
			mask-size: cover;
			transform: translate(-50%,-50%);
		}
		&.prev::before {
			transform: translate(-50%,-50%) scale(-1,1);
		}
	}
}

.single-content {
	--container: 935px;
	.news-title {
		--fs: 28;
		font-size: var(--font-size);
		border-bottom: 2px solid var(--color-theme-1);
		padding-bottom: 20px;
		margin-bottom: 50px;
	}
	.news-date {
		display: block;
		--fs: 14;
		font-weight: 400;
		margin-bottom: 10px;
	}
}

@media(max-width: 991px) {
	.single-content {
		.news-title {
			--fs: 20;
			margin-bottom: 40px;
		}
	}
}

@media(max-width: 575px) {
	.pagination {
		.nav-links {
			gap: 5px;
		}
		.page-numbers {
			width: 28px;
			height: 28px;
		}
	}
}


















.wow {
	animation-duration: 2s;
	animation-delay: .3s;
}

.wow:not(.animate__animated) {
	animation-name: none;
	visibility: hidden;
}

@keyframes fadeInUp {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(0,100px,0);
        transform: translate3d(0,100px,0)
    }

    to {
        opacity: 1;
        -webkit-transform: translateZ(0);
        transform: translateZ(0)
    }
}




.top-fv {
	position: relative;
	overflow-x: clip;
	background: url(img/hero-bg.png) center / auto 100%;
	padding-top: 220px;
}

.top-fv-content {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 20px;
	place-content: end center;
	/* height: 100svh; */
	max-height: 900px;
}

.top-fv-text {
	position: relative;
	padding-top: 30px;
	z-index: 5;
	&::before {
		content: "";
		width: 281px;
		aspect-ratio: 281 / 277;
		background: url(img/hero-deco01.png) center / cover;
		position: absolute;
		top: 0;
		left: 0;
		transform: translate(-50%,-25%);
		z-index: -1;
	}
	&::after {
		content: "";
		width: 300px;
		aspect-ratio: 1 / 1;
		background: url(img/hero-deco02.png) center / cover;
		position: absolute;
		right: 0;
		bottom: 0;
		transform: translate(-25%,-5%);
	}
	h2 {
		--fs: 60;
		font-size: var(--font-size);
		line-height: calc(90 / 60);
		font-weight: bold;
		color: #FFF;
		margin-bottom: 20px;
	}
	p {
		--fs: 20;
		line-height: calc(38 / 20);
		letter-spacing: 0.05em;
		font-weight: 500;
		color: #FFF;
		margin-bottom: 0;
	}
}

.top-fv-image {
	position: relative;
	display: flex;
	align-items: end;
	justify-content: center;
	text-align: center;
	z-index: 1;
	&::before {
		content: "";
		width: 48%;
		max-width: 248px;
		aspect-ratio: 248 / 244;
		background: url(img/hero-deco03.png) center / cover;
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(5%,-80%);
		z-index: 2;
	}
}

.top-fv-image01 {
	position: relative;
	z-index: -1;
}

.top-fv-image02 {
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	z-index: 5;
}

.hero-line {
	width: 431.373%;
    max-width: 2200px;
	position: absolute;
	bottom: 0;
	left: 0;
	transform: translate(-50%,7%);
	overflow: visible;
	z-index: 3;
	.hero-line-path {
		fill: none;
		stroke: url(#uuid-37201b39-bdc6-40bf-9f22-7bf6d8aada5e);
		stroke-width: 6.86364%;
		stroke-linecap: round;
		stroke-linejoin: round;
		stroke-dasharray: 1000;
		stroke-dashoffset: 1000;
		opacity: 0;
	}
}

@media(max-width: 991px) {
	.top-fv {
		padding-top: 150px;
	}
	.top-fv-content {
		gap: 0;
	}
	.top-fv-text {
		h2 {
			--fs: 50;
		}
		p {
			--fs: 18;
		}
	}
}

@media(max-width: 767px) {
	.top-fv-content {
		grid-template-columns: 1fr;
	}
	.top-fv-text {
		padding-top: 0;
		&::before {
			width: 200px;
			transform: translate(-50%,-40%);
		}
		&::after {
			width: 220px;
			right: auto;
			left: 0;
			transform: translate(5%,110%);
		}
		h2 {
			--fs: 40;
			margin-bottom: 15px;
		}
		p {
			--fs: 16;
		}
	}
	.top-fv-image {
		justify-content: end;
		max-width: 400px;
		width: 60vw;
		margin-left: auto;
		margin-top: -30%;
		transform: translateX(15%);
	}
	.top-fv-image02 {
		right: 0;
		left: auto;
		transform: none;
	}
}

@media(max-width: 575px) {
	.top-fv {
		padding-top: 100px;
	}
	.top-fv-text::after {
		transform: translate(-25%,155%);
	}
	.top-fv-image {
		width: 70vw;
		margin-top: -20%;
		transform: translateX(20%);
	}
}