@charset "UTF-8";

/* =========================================================
 * SOY-KUFU 採用サイト ベーススタイル
 * モバイルファースト
 * SWELL 親テーマの上書きはここに集約
 * ========================================================= */

/* --- SWELLコンテナの上書き --- */
.l-container {
	max-width: 1200px;
	padding-inline: var(--sk-container-px);
	padding-top: 0;
}
.l-content {
	padding-top: 0;
	margin-top: 0;
}

/* --- 本文タイポグラフィ --- */
body,
.l-content {
	font-family: var(--sk-font-body);
	color: var(--sk-text);
	background: var(--sk-bg);
	line-height: var(--sk-leading-base);
	font-feature-settings: "palt";
	-webkit-font-smoothing: antialiased;
}

/* スマホ下部フローティング CTA 分の余白を確保
 * + フルワイドセクション(100vw)の僅かなはみ出しを body 側で吸収。
 *   `.sk-front-page` で clip すると親 .l-container (1200px) 内に閉じ込められ、
 *   100vw 拡張が左右 clip されるため、より外側の body に上げる。 */
body {
	padding-bottom: var(--sk-sticky-h);
	overflow-x: clip;
}
@media (min-width: 768px) {
	body {
		padding-bottom: 0;
	}
}

/* --- 共通リセット寄り --- */
img {
	max-width: 100%;
	height: auto;
	display: block;
}

a {
	color: inherit;
	text-decoration: none;
}

ul, ol {
	list-style: none;
	padding: 0;
	margin: 0;
}

/* --- ユーティリティ --- */
.sk-container {
	width: 100%;
	max-width: var(--sk-content-max);
	margin-inline: auto;
	padding-inline: var(--sk-container-px);
}

.sk-container--narrow {
	max-width: var(--sk-content-narrow);
}

.sk-section {
	padding-block: var(--sk-section-py);
}

.sk-section--sub {
	background: var(--sk-bg-sub);
}

.sk-section--deep {
	background: var(--sk-bg-deep);
	color: var(--sk-text-on-dark);
}
.sk-section--deep .sk-section__title,
.sk-section--deep .sk-section-heading__ja {
	color: var(--sk-surface);
}

/* --- SP/PC 改行制御 --- */
.sk-br-sp {
	display: inline;
}
@media (min-width: 768px) {
	.sk-br-sp {
		display: none;
	}
}
.sk-br-pc {
	display: none;
}
@media (min-width: 768px) {
	.sk-br-pc {
		display: inline;
	}
}

/* --- フォーカス --- */
a:focus-visible,
button:focus-visible {
	outline: 2px solid var(--sk-accent-dark);
	outline-offset: 2px;
}

/* --- prefers-reduced-motion --- */
@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		transition-duration: 0.01ms !important;
	}
}
