/**
 * 福本建設
 * 色: 森の緑 × 安全オレンジ × オフホワイト
 * 骨組み: ヒーロー → 仕事内容 → 働く環境 → 特徴・魅力 → 募集要項 → FAQ → CTA → 応募
 */

:root {
	--fk-green: #143d30;
	--fk-green-deep: #0f2f25;
	--fk-green-mid: #2d6a4f;
	--fk-orange: #e67e22;
	--fk-orange-hot: #d35400;
	--fk-cream: #f5f5f5;
	--fk-mint: #eef4f1;
	--fk-white: #ffffff;
	--fk-text: #333333;
	--fk-muted: #5a6573;
	--fk-line: #d8e4dc;
	--fk-radius: 12px;
	--fk-header-h: 64px;
	--fk-sticky-h: 60px;
	--fk-max: 1080px;

	--accent-color: var(--fk-green);
	--sub-accent-color: var(--fk-orange);
	--wp--preset--color--sm-accent: var(--fk-green);
	--wp--preset--color--sm-sub-accent: var(--fk-orange);
}

html {
	scroll-behavior: smooth;
	scroll-padding-top: calc(var(--fk-header-h) + 50px);
}

/* Snow Monkey トップをフル幅のLPにする */
.home .p-section-front-page-content,
.home .p-section-front-page-content--no-vpadding {
	padding: 0 !important;
}

.home .c-entry__content,
.home .p-entry-content,
.home .c-entry__content.c-container {
	max-width: none !important;
	width: 100% !important;
	padding: 0 !important;
}

.home .c-entry__content > .fk-lp {
	margin: 0;
}

.home .c-entry__content > .fk-lp > *:first-child {
	margin-top: 0;
}

/* 汎用の見出し下線はLP内では使わない（セクション見出し側で描く） */
.home .fk-section h2::after,
.home .fk-hero h1::after,
.home .fk-hero h2::after,
.home .fk-cta h2::after,
.home .fk-company h2::after,
.home .fk-company h3::after,
.editor-styles-wrapper .fk-section h2::after {
	display: none !important;
}

/* ボタン（Snow Monkey 既定） */
.wp-block-button__link,
.c-btn,
.smb-btn {
	border-radius: 999px;
}

.wp-block-button:not(.is-style-outline) .wp-block-button__link,
.c-btn--primary {
	background-color: var(--fk-green) !important;
	border-color: var(--fk-green) !important;
	color: var(--fk-white) !important;
}

.wp-block-button:not(.is-style-outline) .wp-block-button__link.has-white-background-color {
	background-color: var(--fk-white) !important;
	color: var(--fk-green) !important;
	border-color: var(--fk-white) !important;
}

.wp-block-button.is-style-fk-cta .wp-block-button__link,
.fk-cta-btn .wp-block-button__link,
a.fk-cta-btn {
	background-color: var(--fk-orange) !important;
	border-color: var(--fk-orange) !important;
	color: var(--fk-white) !important;
}

.wp-block-button.is-style-outline .wp-block-button__link {
	color: var(--fk-green) !important;
	border-color: var(--fk-green) !important;
	background: transparent !important;
}

.has-fk-green-background-color,
.has-sm-accent-background-color {
	background-color: var(--fk-green) !important;
	color: var(--fk-white);
}

.has-fk-orange-background-color {
	background-color: var(--fk-orange) !important;
	color: var(--fk-white);
}

.has-fk-cream-background-color {
	background-color: var(--fk-cream) !important;
}

.c-page-top {
	background-color: var(--fk-green) !important;
}

/* ヘッダー：ロゴ左・ナビ・エントリー */
.c-site-branding,
.c-site-branding__title,
.c-site-branding__title a.custom-logo-link {
	display: flex;
	align-items: center;
	gap: 0.55rem;
	line-height: 1.2;
}

.fk-brand-name {
	font-weight: 800;
	font-size: 1.05rem;
	letter-spacing: 0.08em;
	white-space: nowrap;
	line-height: 1.2;
	color: inherit;
}

.c-site-branding__title .custom-logo,
.c-site-branding__title .custom-logo-link img {
	width: 58px !important;
	height: 58px !important;
	max-width: 58px !important;
	max-height: 58px !important;
	border-radius: 0;
	object-fit: contain;
	background: transparent;
	display: block;
	filter: drop-shadow(0 1px 6px rgba(0, 0, 0, 0.35));
}

@media (max-width: 1023px) {
	.c-site-branding__title .custom-logo,
	.c-site-branding__title .custom-logo-link img {
		width: 48px !important;
		height: 48px !important;
		max-width: 48px !important;
		max-height: 48px !important;
	}

	.fk-brand-name {
		font-size: 0.95rem;
		letter-spacing: 0.06em;
	}

	.c-site-branding,
	.c-site-branding__title,
	.c-site-branding__title a.custom-logo-link {
		gap: 0.4rem;
	}
}

.p-global-nav .c-navbar__item > a {
	color: var(--fk-green);
	font-weight: 500;
}

.p-global-nav--vertical .c-navbar {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.15rem 1.1rem;
}

.p-global-nav--vertical .c-navbar__item {
	display: block;
}

.p-global-nav--vertical .c-navbar__item > a,
.p-global-nav--vertical .c-navbar__item > a * {
	writing-mode: horizontal-tb !important;
	min-width: 0 !important;
	text-align: center;
}

.fk-header-tools {
	display: inline-flex;
	align-items: center;
	gap: 12px;
}

.fk-header-instagram,
.fk-header-tiktok {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	line-height: 0;
	background: transparent;
}

@media (min-width: 1024px) {
	.fk-header-socials-col {
		display: none !important;
	}
}

.fk-header-instagram img,
.fk-header-tiktok img,
.fk-header-tiktok svg {
	display: block;
	width: 36px;
	height: 36px;
	object-fit: contain;
	background: transparent;
	border-radius: 10px;
}

.fk-header-instagram:hover,
.fk-header-tiktok:hover {
	opacity: 0.85;
}

.fk-header-entry {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 40px;
	padding: 8px 20px;
	border-radius: 999px;
	background: var(--fk-orange);
	color: var(--fk-white) !important;
	font-weight: 700;
	font-size: 0.88rem;
	text-decoration: none;
	white-space: nowrap;
}

@media (max-width: 1023px) {
	.fk-header-entry {
		padding: 8px 14px;
		font-size: 0.8rem;
	}

	.l-1row-header .c-row--nowrap {
		max-width: 100%;
	}

	.l-1row-header .c-row__col--auto {
		flex: 1 1 0%;
		min-width: 0;
	}

	.fk-header-socials-col {
		display: flex !important;
		flex: 0 0 auto;
		align-items: center;
	}

	.l-1row-header .c-row__col:has(.c-hamburger-btn) {
		flex: 0 0 auto;
	}

	.fk-header-socials {
		display: inline-flex;
		align-items: center;
		gap: 8px;
	}

	.fk-header-socials .fk-header-instagram,
	.fk-header-socials .fk-header-tiktok {
		width: 32px;
		height: 32px;
	}

	.fk-header-socials .fk-header-instagram img,
	.fk-header-socials .fk-header-tiktok img,
	.fk-header-socials .fk-header-tiktok svg {
		width: 32px;
		height: 32px;
	}
}

/* 本文の先頭に出るモバイル用ヘッダー（Instagram / エントリー）を消す */
.l-contents > .p-header-content--sm {
	display: none !important;
}

.fk-header-entry:hover {
	background: var(--fk-orange-hot);
	color: var(--fk-white) !important;
}

/* ハンバーガー内のエントリーCTA */
.c-drawer .fk-drawer-entry {
	overflow: visible;
}

.c-drawer .fk-drawer-entry > a,
.c-drawer .c-drawer__item:has(> a[href*="#apply"]) > a {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 12px 20px;
	border-radius: 999px;
	background: var(--fk-orange);
	color: var(--fk-white) !important;
	font-weight: 800;
	font-size: 1rem;
	letter-spacing: 0.06em;
	text-align: center;
	text-decoration: none;
	box-sizing: border-box;
}

.c-drawer .fk-drawer-entry > a:hover,
.c-drawer .fk-drawer-entry > a:focus,
.c-drawer .c-drawer__item:has(> a[href*="#apply"]) > a:hover,
.c-drawer .c-drawer__item:has(> a[href*="#apply"]) > a:focus {
	background: var(--fk-orange-hot);
	color: var(--fk-white) !important;
}

html[data-scrolled="true"] .l-header.l-header--sticky-overlay-colored-sm,
html[data-scrolled="true"] .l-header.l-header--sticky-overlay-colored-lg {
	background-color: #0f2f25 !important;
	box-shadow: 0 1px 8px rgba(0, 0, 0, 0.22);
}

html[data-scrolled="true"] .l-header .c-site-branding__title a,
html[data-scrolled="true"] .l-header .p-global-nav .c-navbar__item > a {
	color: #fff;
	text-shadow: none;
}

/* フッター */
.l-footer,
.c-copyright,
.p-infobar {
	background-color: var(--fk-green) !important;
	color: var(--fk-white);
}

.l-footer a,
.c-copyright,
.c-copyright a {
	color: var(--fk-white);
}

.fk-footer-nap {
	display: grid;
	gap: 24px;
	width: min(100% - 40px, var(--fk-max));
	margin: 0 auto;
	padding: 48px 0 8px;
	color: rgba(255, 255, 255, 0.85);
	font-size: 0.9rem;
}

.fk-footer-nap__name {
	margin: 0 0 8px;
	font-size: 1.15rem;
	color: var(--fk-white);
	font-weight: 700;
}

.fk-footer-nap p {
	margin: 0 0 8px;
}

.fk-footer-nap a {
	color: var(--fk-white);
}

.l-footer-widget-area {
	padding-top: 48px;
	padding-bottom: 16px;
}

.l-footer .c-widget__title {
	margin: 0 0 0.85rem;
	color: var(--fk-white);
	font-size: 1rem;
	font-weight: 800;
	letter-spacing: 0.06em;
}

.l-footer .c-widget,
.l-footer .c-widget p,
.l-footer .c-widget li {
	color: rgba(255, 255, 255, 0.88);
	font-size: 0.9rem;
	line-height: 1.75;
}

.l-footer .c-widget p {
	margin: 0 0 0.45rem;
}

.l-footer .c-widget a:hover {
	color: var(--fk-orange);
}

.fk-footer-privacy {
	margin-top: 1rem !important;
	font-size: 0.8rem;
	opacity: 0.78;
}

.fk-footer-nav {
	list-style: none;
	margin: 0 0 1rem;
	padding: 0;
}

.fk-footer-nav li {
	margin: 0;
}

.fk-footer-nav a {
	display: inline-block;
	padding: 0.12em 0;
}

.fk-footer-entry {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 40px;
	padding: 8px 20px;
	border-radius: 999px;
	background: var(--fk-orange);
	color: var(--fk-white) !important;
	font-weight: 700;
	font-size: 0.88rem;
	text-decoration: none;
	white-space: nowrap;
}

.fk-footer-entry:hover {
	background: var(--fk-orange-hot);
	color: var(--fk-white) !important;
}

.fk-footer-socials {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0.85rem 0 0;
}

.fk-footer-socials .fk-header-instagram,
.fk-footer-socials .fk-header-tiktok {
	width: 32px;
	height: 32px;
}

.fk-footer-socials img {
	display: block;
	width: 32px;
	height: 32px;
	object-fit: contain;
	border-radius: 8px;
}

.l-footer .c-widget a[href^="mailto"] {
	overflow-wrap: anywhere;
	word-break: break-all;
}

@media (min-width: 768px) {
	.fk-footer-nap {
		grid-template-columns: 1fr auto;
		align-items: start;
	}
}

/* LP 骨組み */
.fk-lp {
	font-size: 16px;
	line-height: 1.8;
	color: var(--fk-text);
	background: var(--fk-white);
}

.fk-sp-only {
	display: inline;
}

.fk-container {
	width: min(100% - 40px, var(--fk-max));
	margin-inline: auto;
}

.fk-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 10px 28px;
	border-radius: 999px;
	font-weight: 700;
	text-decoration: none;
	border: 2px solid transparent;
	cursor: pointer;
	font-size: 0.95rem;
}

.fk-btn--primary {
	background: var(--fk-orange);
	color: var(--fk-white);
	border-color: var(--fk-orange);
}

.fk-btn--primary:hover {
	background: var(--fk-orange-hot);
	border-color: var(--fk-orange-hot);
	color: var(--fk-white);
}

.fk-btn--white {
	background: var(--fk-white);
	color: var(--fk-green);
	border-color: var(--fk-white);
}

.fk-btn--white:hover {
	background: var(--fk-cream);
	color: var(--fk-green);
}

.fk-btn--outline {
	background: transparent;
	color: var(--fk-green);
	border-color: var(--fk-green);
}

.fk-section {
	padding: 72px 0;
}

.fk-environment:not(.has-background),
.fk-recruit:not(.has-background),
.fk-apply:not(.has-background) {
	background: var(--fk-mint);
}

.fk-features {
	position: relative;
	overflow: hidden;
}

.fk-features::before {
	content: "Fukumoto Kensetsu";
	position: absolute;
	right: -2%;
	top: 8%;
	font-family: Georgia, "Times New Roman", serif;
	font-style: italic;
	font-size: clamp(2.5rem, 8vw, 5.5rem);
	color: rgba(20, 61, 48, 0.08);
	white-space: nowrap;
	pointer-events: none;
	z-index: 0;
}

.fk-features .fk-container {
	position: relative;
	z-index: 1;
}

.fk-section-head {
	margin-bottom: 36px;
}

.fk-section-head__title {
	margin: 0 0 12px;
	color: var(--fk-green);
	font-size: clamp(1.4rem, 4.5vw, 1.85rem);
	line-height: 1.4;
	font-weight: 700;
	padding-bottom: 10px;
	border-bottom: 4px solid var(--fk-orange);
	display: inline-block;
}

.fk-section-head__lead {
	margin: 0;
	color: var(--fk-muted);
	max-width: 42em;
}

.fk-hero {
	position: relative;
	min-height: 88vh;
	display: flex;
	align-items: flex-end;
	padding: calc(var(--fk-header-h) + 48px) 0 80px;
	color: var(--fk-green);
	overflow: hidden;
}

.fk-hero__bg {
	position: absolute;
	inset: 0;
	background:
		linear-gradient(90deg, rgba(255, 255, 255, 0.88) 0%, rgba(255, 255, 255, 0.35) 48%, rgba(255, 255, 255, 0.08) 100%),
		url("assets/img/hero.svg") center / cover no-repeat;
}

.fk-hero__inner {
	position: relative;
	z-index: 1;
	max-width: 640px;
}

.fk-hero__title {
	margin: 0 0 12px;
	font-size: 0.78rem;
	font-weight: 500;
	color: var(--fk-muted);
}

.fk-hero__catch {
	margin: 0 0 16px;
	font-size: clamp(2rem, 7vw, 3rem);
	line-height: 1.25;
	font-weight: 700;
	color: var(--fk-green);
}

.fk-hero__lead {
	margin: 0 0 32px;
	max-width: 32em;
	color: var(--fk-text);
}

.fk-hero__points {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 16px;
}

.fk-hero__points li {
	display: grid;
	justify-items: start;
	gap: 8px;
}

.fk-hero__points strong {
	font-size: 0.88rem;
	color: var(--fk-green);
}

.fk-icon-circle {
	width: 56px;
	height: 56px;
	border-radius: 50%;
	border: 2px solid var(--fk-green-mid);
	background: var(--fk-white);
	display: grid;
	place-items: center;
	color: var(--fk-green-mid);
}

.fk-icon-circle svg {
	width: 22px;
	height: 22px;
}

.fk-work {
	background: var(--fk-white);
}

.fk-work__grid {
	display: grid;
	gap: 32px;
	align-items: start;
}

.fk-work__copy p {
	margin: 16px 0 0;
	color: var(--fk-text);
	max-width: 28em;
}

.fk-work__gallery {
	display: grid;
	grid-template-columns: 1fr;
	gap: 16px;
}

.fk-work-card {
	margin: 0;
	background: transparent;
	border: 0;
}

.fk-work-card__photo {
	aspect-ratio: 1 / 1;
	border-radius: 8px;
	overflow: hidden;
}

.fk-work-card figcaption {
	margin: 10px 0 0;
	color: var(--fk-green);
	font-size: 0.9rem;
	font-weight: 700;
	text-align: center;
}

.fk-photo-placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--fk-mint);
	color: var(--fk-muted);
	font-size: 0.82rem;
	flex-direction: column;
	gap: 8px;
}

.fk-photo-placeholder--logging {
	background: linear-gradient(160deg, #cfe3d4, #7eab8c);
}

.fk-photo-placeholder--mow {
	background: linear-gradient(160deg, #d4e8c8, #9fbf8a);
}

.fk-photo-placeholder--civil {
	background: linear-gradient(160deg, #ddd5c8, #b5a894);
}

.fk-photo-placeholder--team {
	min-height: 280px;
	border-radius: var(--fk-radius);
	background: linear-gradient(160deg, #dce8e2, #8fb3a0);
}

.fk-photo-placeholder--cta {
	min-height: 220px;
	background: linear-gradient(160deg, #0f2f25, #2d6a4f);
}

.fk-env-grid {
	display: grid;
	gap: 20px;
	grid-template-columns: repeat(2, 1fr);
}

.fk-env-card {
	background: var(--fk-white);
	border: 1px solid var(--fk-line);
	box-shadow: 0 2px 10px rgba(20, 61, 48, 0.06);
	border-radius: 10px;
	padding: 36px 18px 32px;
	text-align: center;
	height: 100%;
}

.fk-env-card .fk-icon-circle {
	margin: 0 auto;
}

.fk-env-card__title {
	margin: 12px 0 8px;
	color: var(--fk-green);
	font-size: 1.05rem;
}

.fk-env-card p {
	margin: 0;
	font-size: 0.95rem;
	line-height: 1.7;
	color: var(--fk-text);
}

.fk-environment .wp-block-columns {
	align-items: stretch;
	gap: 16px;
}

.fk-environment .wp-block-column {
	display: flex;
}

.fk-environment .fk-env-card {
	flex: 1;
	width: 100%;
}

.fk-environment .fk-env-card::before {
	content: "";
	display: block;
	width: 40px;
	height: 40px;
	margin: 0 auto 16px;
	background-color: var(--fk-green);
	-webkit-mask: var(--fk-env-icon) center / contain no-repeat;
	mask: var(--fk-env-icon) center / contain no-repeat;
}

.fk-environment .wp-block-column:nth-child(1) .fk-env-card {
	--fk-env-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round' viewBox='0 0 24 24'%3E%3Cpath d='M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='9' cy='7' r='4'/%3E%3Cpath d='M22 21v-2a4 4 0 0 0-3-3.87'/%3E%3Cpath d='M16 3.13a4 4 0 0 1 0 7.75'/%3E%3C/svg%3E");
}

.fk-environment .wp-block-column:nth-child(2) .fk-env-card {
	--fk-env-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round' viewBox='0 0 24 24'%3E%3Crect x='3' y='4' width='18' height='18' rx='2'/%3E%3Cpath d='M16 2v4M8 2v4M3 10h18'/%3E%3C/svg%3E");
}

.fk-environment .wp-block-column:nth-child(3) .fk-env-card {
	--fk-env-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E");
}

.fk-environment .wp-block-column:nth-child(4) .fk-env-card {
	--fk-env-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round' viewBox='0 0 24 24'%3E%3Cpath d='M12 21s7-5.3 7-11a7 7 0 1 0-14 0c0 5.7 7 11 7 11z'/%3E%3Ccircle cx='12' cy='10' r='2.5'/%3E%3C/svg%3E");
}

.fk-environment .fk-env-card h3.wp-block-heading {
	color: var(--fk-green) !important;
	font-size: 1.05rem;
	font-weight: 700;
	line-height: 1.4;
	margin: 0 0 10px;
	padding: 0;
	border: 0;
}

.fk-environment .fk-env-card p {
	color: var(--fk-text);
}

.fk-environment .fk-env-card p strong {
	font-weight: 700;
	color: var(--fk-text);
}

.fk-features__grid {
	display: grid;
	gap: 32px;
	align-items: center;
}

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

.fk-check-list li {
	position: relative;
	padding: 0 0 20px 28px;
}

.fk-check-list li::before {
	content: "✓";
	position: absolute;
	left: 0;
	top: 0;
	color: var(--fk-orange);
	font-weight: 700;
}

.fk-check-list strong {
	display: block;
	color: var(--fk-green);
	margin-bottom: 4px;
}

.fk-check-list p {
	margin: 0;
	color: var(--fk-muted);
	font-size: 0.92rem;
}

.fk-check-list--compact li {
	padding-bottom: 10px;
	font-size: 0.92rem;
}

.fk-recruit__grid {
	display: grid;
	gap: 32px;
}

.fk-table {
	width: 100%;
	border-collapse: collapse;
	background: var(--fk-white);
	border: 1px solid var(--fk-line);
	border-radius: var(--fk-radius);
	overflow: hidden;
}

.fk-table th,
.fk-table td {
	text-align: left;
	vertical-align: top;
	padding: 16px 18px;
	border-bottom: 1px solid var(--fk-line);
	font-weight: 400;
}

.fk-table th {
	width: 7em;
	background: var(--fk-mint);
	color: var(--fk-green);
	font-weight: 700;
	white-space: nowrap;
}

.fk-table tr:last-child th,
.fk-table tr:last-child td {
	border-bottom: 0;
}

.fk-aside-box,
.fk-aside-cta {
	border-radius: var(--fk-radius);
	padding: 24px;
}

.fk-aside-box {
	background: var(--fk-white);
	border: 1px solid var(--fk-line);
	margin-bottom: 16px;
}

.fk-aside-box__title {
	margin: 0 0 12px;
	color: var(--fk-green);
	font-size: 1.05rem;
}

.fk-aside-cta {
	background: var(--fk-green);
	color: var(--fk-white);
	text-align: center;
}

.fk-aside-cta p {
	margin: 0 0 16px;
	font-weight: 700;
}

.fk-faq-item {
	border: 1px solid var(--fk-line);
	border-radius: var(--fk-radius);
	background: var(--fk-white);
	margin-bottom: 12px;
	padding: 0 18px;
}

.fk-faq-item summary {
	cursor: pointer;
	font-weight: 700;
	color: var(--fk-green);
	padding: 16px 0;
	list-style: none;
}

.fk-faq-item summary::-webkit-details-marker {
	display: none;
}

.fk-faq-item p {
	margin: 0 0 16px;
	color: var(--fk-muted);
	font-size: 0.92rem;
}

.fk-cta-banner {
	position: relative;
	padding: 72px 0;
	color: var(--fk-white);
	text-align: center;
}

.fk-cta-banner__bg {
	position: absolute;
	inset: 0;
	opacity: 0.95;
}

.fk-cta-banner__inner {
	position: relative;
	z-index: 1;
}

.fk-cta-banner__title {
	margin: 0 0 24px;
	font-size: clamp(1.3rem, 4vw, 1.8rem);
	line-height: 1.4;
	color: var(--fk-white);
	border: 0;
	padding: 0;
}

.fk-apply__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

.p-footer-sticky-nav {
	background: var(--fk-green) !important;
}

.p-footer-sticky-nav a {
	color: var(--fk-white) !important;
}

@media (min-width: 768px) {
	.fk-sp-only {
		display: none !important;
	}

	.fk-section {
		padding: 96px 0;
	}

	.fk-hero {
		padding-bottom: 96px;
	}

	.fk-hero__points {
		grid-template-columns: repeat(3, max-content);
		gap: 28px;
	}

	.fk-hero__points li {
		justify-items: center;
		text-align: center;
	}

	.fk-icon-circle {
		margin: 0 auto 4px;
	}

	.fk-work__grid {
		grid-template-columns: 0.38fr 0.62fr;
		gap: 48px;
	}

	.fk-work__gallery {
		grid-template-columns: repeat(3, 1fr);
	}

	.fk-env-grid {
		grid-template-columns: repeat(4, 1fr);
	}

	.fk-features__grid {
		grid-template-columns: 1fr 1fr;
	}

	.fk-recruit__grid {
		grid-template-columns: 1.4fr 0.8fr;
		align-items: start;
	}
}

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

	body.fk-lp-page {
		padding-bottom: var(--fk-sticky-h);
	}
}

/* --- Gutenberg で組んだ骨格 --- */

.fk-section h2.wp-block-heading,
.fk-section .wp-block-heading:is(h2) {
	color: var(--fk-green);
	font-size: clamp(1.4rem, 4.5vw, 1.85rem);
	line-height: 1.4;
	font-weight: 700;
	padding-bottom: 10px;
	border-bottom: 4px solid var(--fk-orange);
	display: inline-block;
	margin-top: 0;
}

.fk-cta h2.wp-block-heading {
	border-bottom: 0;
	padding-bottom: 0;
	display: block;
	color: var(--fk-white);
}

.fk-hero.wp-block-cover {
	min-height: 88vh;
}

.home .fk-hero.wp-block-cover > .wp-block-cover__background.has-background-dim,
.editor-styles-wrapper .fk-hero.wp-block-cover > .wp-block-cover__background.has-background-dim {
	background-color: transparent !important;
	background-image: linear-gradient(
		90deg,
		rgba(255, 255, 255, 0.94) 0%,
		rgba(255, 255, 255, 0.84) 24%,
		rgba(255, 255, 255, 0.42) 44%,
		rgba(255, 255, 255, 0.1) 60%,
		rgba(255, 255, 255, 0) 74%
	) !important;
	opacity: 1 !important;
}

.home .fk-hero .has-sm-text-alt-color,
.home .fk-hero .fk-hero__catch,
.home .fk-hero .fk-hero__lead {
	color: var(--fk-green) !important;
}

.home .fk-hero .fk-hero__title.has-sm-text-alt-color,
.home .fk-hero .fk-hero__title {
	color: var(--fk-muted) !important;
}

@media (max-width: 767px) {
	.home .fk-hero.wp-block-cover > .wp-block-cover__background.has-background-dim {
		background-image: linear-gradient(
			180deg,
			rgba(255, 255, 255, 0.12) 0%,
			rgba(255, 255, 255, 0.55) 42%,
			rgba(255, 255, 255, 0.9) 100%
		) !important;
	}
}

.fk-hero.wp-block-cover:not(.has-background-image) {
	background-image: url("assets/img/hero.svg");
	background-size: cover;
	background-position: center;
}

.fk-hero .fk-hero__title {
	font-size: 0.78rem;
	font-weight: 500;
	color: var(--fk-muted);
}

.fk-hero .fk-hero__catch {
	margin: 0 0 16px;
	font-size: clamp(2rem, 7vw, 3rem);
	line-height: 1.25;
	font-weight: 700;
	color: var(--fk-green);
}

.fk-hero .fk-hero__lead {
	margin: 0 0 32px;
	max-width: 32em;
	color: var(--fk-text);
}

p.fk-icon-circle {
	width: 56px;
	height: 56px;
	margin: 0 auto 8px;
	border-radius: 50%;
	border: 2px solid var(--fk-green-mid);
	background: var(--fk-white);
	color: var(--fk-green-mid);
	font-weight: 700;
	line-height: 52px;
	padding: 0 !important;
}

.fk-works:not(.has-background),
.fk-company:not(.has-background) {
	background: var(--fk-mint);
}

.fk-work .fk-photo-placeholder,
.fk-works .fk-photo-placeholder,
.fk-work .wp-block-image img,
.fk-works .wp-block-image img {
	aspect-ratio: 1 / 1;
	width: 100%;
	object-fit: cover;
	border-radius: 8px;
}

.fk-features .fk-photo-placeholder,
.fk-features .wp-block-image img {
	min-height: 280px;
	width: 100%;
	object-fit: cover;
	border-radius: var(--fk-radius);
}

.fk-features .wp-block-columns,
.fk-features .wp-block-heading {
	position: relative;
	z-index: 1;
}

.fk-recruit .wp-block-table table,
.fk-company .wp-block-table table,
.fk-table table {
	width: 100%;
	border-collapse: collapse;
	background: var(--fk-white);
	border: 1px solid var(--fk-line);
}

.fk-recruit .wp-block-table td,
.fk-company .wp-block-table td,
.fk-table td {
	text-align: left;
	vertical-align: top;
	padding: 14px 16px;
	border-bottom: 1px solid var(--fk-line);
}

.fk-recruit .wp-block-table tr td:first-child,
.fk-company .wp-block-table tr td:first-child,
.fk-table tr td:first-child {
	width: 7em;
	background: var(--fk-mint);
	color: var(--fk-green);
	font-weight: 700;
	white-space: nowrap;
}

.fk-faq .wp-block-details {
	border: 1px solid var(--fk-line);
	border-radius: var(--fk-radius);
	background: var(--fk-white);
	margin: 0 0 12px;
	padding: 0 18px;
}

.fk-faq .wp-block-details summary {
	cursor: pointer;
	font-weight: 700;
	color: var(--fk-green);
	padding: 16px 0;
}

.fk-cta.wp-block-cover:not(.has-background-image) {
	background-image: linear-gradient(160deg, #0f2f25, #2d6a4f);
	background-size: cover;
}

.fk-work-card .wp-block-image,
.fk-work-photo {
	aspect-ratio: 1 / 1;
	background: var(--fk-mint);
	border-radius: 8px;
	overflow: hidden;
	margin: 0 0 10px;
}

.fk-work-card .wp-block-image img,
.fk-work-photo img {
	aspect-ratio: 1 / 1;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.fk-work-card .wp-block-image figcaption {
	margin: 10px 0 0;
	color: var(--fk-green);
	font-size: 0.9rem;
	font-weight: 700;
	text-align: center;
	background: transparent;
}

.fk-team-photo {
	min-height: 280px;
	background: var(--fk-mint);
	border-radius: var(--fk-radius);
	overflow: hidden;
}

.fk-work-photo:not(:has(img)),
.fk-team-photo:not(:has(img)) {
	min-height: 180px;
	display: grid;
	place-items: center;
}

.fk-feature-item {
	position: relative;
	padding: 0 0 20px 28px;
}

.fk-feature-item::before {
	content: "✓";
	position: absolute;
	left: 0;
	top: 0.15em;
	color: var(--fk-orange);
	font-weight: 700;
}

.fk-feature-item h3 {
	margin: 0 0 4px;
	color: var(--fk-green);
	font-size: 1.05rem;
}

.fk-feature-item p {
	margin: 0;
	color: var(--fk-muted);
	font-size: 0.92rem;
}

.fk-spec-list {
	background: var(--fk-white);
	border: 1px solid var(--fk-line);
	border-radius: var(--fk-radius);
	overflow: hidden;
}

.fk-spec-row {
	margin: 0 !important;
	gap: 0 !important;
	border-bottom: 1px solid var(--fk-line);
}

.fk-spec-list > .fk-spec-row:last-child {
	border-bottom: 0;
}

.fk-spec-row .wp-block-column {
	margin: 0;
}

.fk-spec-row .wp-block-column:first-child {
	background: var(--fk-mint);
}

.fk-spec-row .wp-block-column p {
	margin: 0;
	padding: 16px 18px;
}

.fk-spec-row .wp-block-column:first-child p {
	color: var(--fk-green);
	font-weight: 700;
}

.fk-wish-item {
	position: relative;
	padding: 0 0 10px 28px;
}

.fk-wish-item::before {
	content: "✓";
	position: absolute;
	left: 0;
	top: 0.1em;
	color: var(--fk-orange);
	font-weight: 700;
}

.fk-wish-item p {
	margin: 0;
	font-size: 0.92rem;
}

.fk-section h3.wp-block-heading {
	color: var(--fk-green);
}

.fk-company .wp-block-heading:is(h2) {
	color: var(--fk-green);
}

.fk-company a {
	color: var(--fk-green);
}

.fk-map {
	border-radius: var(--fk-radius);
	overflow: hidden;
	border: 1px solid var(--fk-line);
	background: var(--fk-white);
	margin-top: 24px;
	margin-bottom: 16px;
}

.fk-map iframe {
	display: block;
	width: 100%;
	height: 280px;
	border: 0;
}

.fk-section.wp-block-group {
	padding-top: 64px;
	padding-bottom: 64px;
}

@media (min-width: 768px) {
	.fk-section.wp-block-group {
		padding-top: 80px;
		padding-bottom: 80px;
	}
}

.home .fk-cta.wp-block-cover {
	min-height: 320px;
}

.fk-cta .wp-block-buttons {
	justify-content: center;
	gap: 12px;
}

.fk-cta .wp-block-button.is-style-outline .wp-block-button__link {
	color: var(--fk-white) !important;
	border-color: var(--fk-white) !important;
	background: transparent !important;
}

.fk-cta .fk-cta-lead {
	color: rgba(255, 255, 255, 0.88);
	text-align: center;
	margin: 0 0 8px;
}

/* --- 別ページ TOP（スノーモンキーブロック） --- */

body.fk-lp-page.page .c-entry__header,
body.fk-lp-page.page .p-entry-header,
body.page-slug-top .c-entry__header {
	display: none !important;
}

body.fk-lp-page.page .c-entry__content,
body.fk-lp-page.page .c-entry__content.c-container,
body.fk-lp-page.page .c-entry__body {
	max-width: none !important;
	width: 100% !important;
	padding: 0 !important;
}

body.fk-lp-page .c-entry__content h2,
body.fk-lp-page .c-entry__content h3,
body.fk-lp-page .smb-hero-header .wp-block-heading {
	background: none !important;
	background-color: transparent !important;
	background-image: none !important;
	border: 0 !important;
	box-shadow: none !important;
	padding: 0 !important;
}

body.fk-lp-page .l-header {
	background: transparent;
	box-shadow: none;
	transition: background-color 0.2s ease, box-shadow 0.2s ease;
}

html[data-scrolled="true"] body.fk-lp-page .l-header {
	background-color: #0f2f25 !important;
}

body.fk-lp-page .c-site-branding__title a,
body.fk-lp-page .p-global-nav .c-navbar__item > a {
	color: #fff;
	text-shadow: 0 1px 8px rgba(0, 0, 0, 0.35);
}


@media (max-width: 1023px) {
	body.fk-lp-page .l-1row-header .c-row__col.u-invisible-md-down {
		display: none !important;
	}

	body.fk-lp-page .p-header-content--sm {
		display: none !important;
	}

	body.fk-lp-page .c-hamburger-btn__label {
		display: none;
	}

	body.fk-lp-page .c-hamburger-btn__bar {
		background: #fff;
	}

	body.fk-lp-page .c-hamburger-btn__label {
		color: #fff;
	}
}

.fk-lp-page .c-entry__content > .alignfull {
	margin-left: 0;
	margin-right: 0;
}

.fk-lp-page .smb-section {
	padding-block: clamp(4.5rem, 8vw, 6.5rem);
}

.fk-lp-page .smb-section__header {
	margin-bottom: 2.25rem;
}

.fk-lp-page .smb-section__title {
	color: var(--fk-green);
	font-size: clamp(1.55rem, 4.6vw, 2.05rem);
	line-height: 1.4;
	font-weight: 700;
	letter-spacing: 0.02em;
	padding-bottom: 0;
	border-bottom: none;
	display: block;
	margin: 0 0 1rem;
}

.fk-lp-page .smb-section__title::after {
	content: "";
	display: block;
	width: 3rem;
	height: 4px;
	margin: 0.85rem auto 0;
	border-radius: 999px;
	background: var(--fk-orange);
}

.fk-lp-page .fk-section-dark .smb-section__title,
.fk-lp-page .smb-section[style*="--smb-section--color:#ffffff"] .smb-section__title,
.fk-lp-page #logging .smb-section__title,
.fk-lp-page #cta .smb-section__title,
.fk-lp-page #company .smb-section__title {
	color: var(--fk-white);
}

.fk-lp-page .smb-section__lede {
	color: var(--fk-muted);
	max-width: 42em;
	font-size: 1.02rem;
	line-height: 1.85;
}

.fk-lp-page .fk-section-dark,
.fk-lp-page .fk-section-dark .smb-section__lede,
.fk-lp-page .fk-section-dark .smb-section__body,
.fk-lp-page .fk-section-dark .smb-section__body p,
.fk-lp-page #logging .smb-section__lede,
.fk-lp-page #cta .smb-section__lede,
.fk-lp-page #company .smb-section__lede {
	color: rgba(255, 255, 255, 0.92) !important;
}

.fk-lp-page #logging,
.fk-lp-page #cta,
.fk-lp-page #company {
	position: relative;
}

.fk-lp-page #logging::before,
.fk-lp-page #cta::before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: -47px;
	height: 48px;
	background: #143d30;
	clip-path: polygon(0 100%, 100% 0, 100% 100%);
	pointer-events: none;
	z-index: 1;
}

.fk-lp-page #company::before {
	content: none;
}

.fk-lp-page #works {
	position: relative;
}

.fk-lp-page #works::before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: -47px;
	height: 48px;
	background: #eef4f1;
	clip-path: polygon(0 0, 100% 100%, 0 100%);
	pointer-events: none;
	z-index: 1;
}

.home .c-entry__content > .smb-section-with-bgimage.smb-section--full,
.fk-lp-page .c-entry__content > .smb-section-with-bgimage.smb-section--full {
	isolation: isolate;
}

.home .c-entry__content > .smb-section-with-bgimage.smb-section--full .smb-section-with-bgimage__bgimage,
.fk-lp-page .c-entry__content > .smb-section-with-bgimage.smb-section--full .smb-section-with-bgimage__bgimage {
	z-index: 0;
}

.home .c-entry__content > .smb-section-with-bgimage.smb-section--full .smb-section-with-bgimage__bgimage img,
.fk-lp-page .c-entry__content > .smb-section-with-bgimage.smb-section--full .smb-section-with-bgimage__bgimage img {
	opacity: 1 !important;
}

.home .c-entry__content > .smb-section-with-bgimage.smb-section--full .smb-section-with-bgimage__mask,
.fk-lp-page .c-entry__content > .smb-section-with-bgimage.smb-section--full .smb-section-with-bgimage__mask {
	display: none;
}

.home .c-entry__content > .smb-section-with-bgimage.smb-section--full::after,
.fk-lp-page .c-entry__content > .smb-section-with-bgimage.smb-section--full::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
	background: linear-gradient(
		90deg,
		rgba(10, 32, 24, 0.72) 0%,
		rgba(10, 32, 24, 0.5) 32%,
		rgba(10, 32, 24, 0.2) 58%,
		rgba(10, 32, 24, 0.06) 100%
	);
}

.home .c-entry__content > .smb-section-with-bgimage.smb-section--full .smb-section__inner,
.fk-lp-page .c-entry__content > .smb-section-with-bgimage.smb-section--full .smb-section__inner {
	z-index: 2;
}

.home .c-entry__content > .smb-section-with-bgimage.smb-section--full .smb-section__body,
.fk-lp-page .c-entry__content > .smb-section-with-bgimage.smb-section--full .smb-section__body {
	text-shadow: 0 2px 14px rgba(0, 0, 0, 0.45), 0 0 22px rgba(10, 32, 24, 0.35);
}

@media (max-width: 781px) {
	.home .c-entry__content > .smb-section-with-bgimage.smb-section--full,
	.fk-lp-page .c-entry__content > .smb-section-with-bgimage.smb-section--full {
		align-items: flex-end;
		min-height: 88svh;
		--smb-section--min-height: 88svh;
		--smb-section-with-bgimage--lg-media-position: 96% 40%;
		--smb-section-with-bgimage--md-media-position: 96% 40%;
		--smb-section-with-bgimage--sm-media-position: 96% 40%;
	}

	.home .c-entry__content > .smb-section-with-bgimage.smb-section--full .smb-section-with-bgimage__bgimage img,
	.fk-lp-page .c-entry__content > .smb-section-with-bgimage.smb-section--full .smb-section-with-bgimage__bgimage img {
		object-fit: cover;
		object-position: 96% 40% !important;
		transform: none;
	}

	.home .c-entry__content > .smb-section-with-bgimage.smb-section--full::after,
	.fk-lp-page .c-entry__content > .smb-section-with-bgimage.smb-section--full::after {
		background: linear-gradient(
			180deg,
			rgba(10, 32, 24, 0.1) 0%,
			rgba(10, 32, 24, 0.18) 34%,
			rgba(10, 32, 24, 0.5) 64%,
			rgba(10, 32, 24, 0.74) 100%
		);
	}
}

.fk-lp-page .smb-hero-header {
	overflow: hidden;
	background: var(--fk-green-deep);
}

.fk-lp-page .smb-hero-header__figure {
	aspect-ratio: auto !important;
	min-height: 88vh;
}

.fk-lp-page .smb-hero-header__figure img {
	opacity: 1 !important;
}

.fk-lp-page .smb-hero-header__mask {
	background: linear-gradient(
		90deg,
		rgba(10, 32, 24, 0.7) 0%,
		rgba(10, 32, 24, 0.46) 34%,
		rgba(10, 32, 24, 0.18) 58%,
		rgba(10, 32, 24, 0.08) 100%
	) !important;
	opacity: 1 !important;
}

.fk-lp-page .smb-hero-header__body,
.fk-lp-page .smb-hero-header__body.has-background,
.fk-lp-page .smb-hero-header .is-style-sme-post-it-narrow {
	background: transparent !important;
	box-shadow: none !important;
	border: 0 !important;
	color: #ffffff !important;
}

.fk-lp-page .smb-hero-header,
.fk-lp-page .smb-hero-header .wp-block-heading,
.fk-lp-page .smb-hero-header p {
	color: #ffffff !important;
	text-shadow: 0 2px 12px rgba(0, 0, 0, 0.55), 0 0 24px rgba(10, 32, 24, 0.45);
}

.fk-lp-page .smb-hero-header h1.wp-block-heading {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.fk-lp-page .smb-hero-header h2.wp-block-heading {
	font-size: clamp(2.15rem, 7vw, 3.25rem);
	line-height: 1.22;
	font-weight: 700;
	margin: 0 0 18px;
}

.fk-lp-page .smb-hero-header p {
	font-size: 1.05rem;
	line-height: 1.8;
	margin: 0 0 1.25rem;
	overflow-wrap: break-word;
	word-break: keep-all;
	line-break: strict;
}

.fk-lp-page .fk-hero-br,
.fk-lp-page br.fk-wrap-sm {
	display: none;
}

.fk-lp-page .fk-hero-badge {
	display: inline-flex;
	align-items: center;
	margin: 0 0 1.5rem !important;
	padding: 0.35rem 0.9rem;
	border-radius: 999px;
	background: rgba(230, 126, 34, 0.92);
	color: #fff !important;
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-shadow: none;
}

.fk-lp-page .smb-hero-header .smb-buttons {
	gap: 0.75rem 1rem;
}

.fk-lp-page .smb-items__item {
	overflow: hidden;
	background: var(--fk-white);
	border: 0;
	border-radius: 18px;
	padding: 0 0 24px;
	height: 100%;
	box-shadow: 0 10px 28px rgba(20, 61, 48, 0.1);
	transition: transform 0.28s ease, box-shadow 0.28s ease;
}

.fk-lp-page .smb-items__item:hover {
	transform: translateY(-6px);
	box-shadow: 0 18px 36px rgba(20, 61, 48, 0.16);
}

.fk-lp-page .smb-items__item__body {
	padding: 18px 20px 4px;
}

.fk-lp-page .smb-items__item__title {
	color: var(--fk-green);
	font-size: 1.18rem;
	font-weight: 700;
	margin: 0 0 0.35rem;
}

.fk-lp-page .smb-items__item__lede {
	color: var(--fk-orange);
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.06em;
}

.fk-lp-page .smb-items__item__figure {
	margin: 0;
}

.fk-lp-page .smb-items__item__figure img {
	width: 100%;
	aspect-ratio: 16 / 10;
	object-fit: cover;
	border-radius: 0;
}

.fk-lp-page .smb-recent-posts .c-entries__item > a,
.fk-works-page .c-entries__item > a {
	display: block;
	height: 100%;
	color: inherit;
	text-decoration: none;
}

.fk-lp-page .smb-recent-posts .c-entry-summary,
.fk-works-page .c-entry-summary {
	overflow: hidden;
	height: 100%;
	margin: 0;
	padding: 0 0 24px;
	background: var(--fk-white);
	border: 0;
	border-radius: 18px;
	box-shadow: 0 10px 28px rgba(20, 61, 48, 0.1);
	transition: transform 0.28s ease, box-shadow 0.28s ease;
}

.fk-lp-page .smb-recent-posts .c-entries__item > a:hover .c-entry-summary,
.fk-works-page .c-entries__item > a:hover .c-entry-summary {
	transform: translateY(-6px);
	box-shadow: 0 18px 36px rgba(20, 61, 48, 0.16);
}

.fk-lp-page .smb-recent-posts .c-entry-summary__figure,
.fk-works-page .c-entry-summary__figure {
	margin: 0;
}

.fk-lp-page .smb-recent-posts .c-entry-summary__figure::before,
.fk-works-page .c-entry-summary__figure::before {
	padding-top: 62.5%;
}

.fk-lp-page .smb-recent-posts .c-entry-summary__term,
.fk-works-page .c-entry-summary__term {
	display: none;
}

.fk-lp-page .smb-recent-posts .c-entry-summary__body,
.fk-works-page .c-entry-summary__body {
	padding: 18px 20px 4px;
}

.fk-lp-page .smb-recent-posts .c-entry-summary__title,
.fk-works-page .c-entry-summary__title {
	color: var(--fk-green);
	font-size: 1.18rem;
	font-weight: 700;
	margin: 0 0 0.35rem;
}

.fk-lp-page .smb-recent-posts .c-entry-summary__lede,
.fk-works-page .c-entry-summary__lede {
	color: var(--fk-orange);
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	margin: 0 0 0.45rem;
}

.fk-lp-page .smb-recent-posts .c-entry-summary__content,
.fk-works-page .c-entry-summary__content {
	margin: 0;
	color: var(--fk-text);
	font-size: 0.95rem;
	line-height: 1.7;
}

.fk-lp-page .fk-logging-photo img {
	width: 100%;
	border-radius: 20px;
	box-shadow: 0 18px 40px rgba(0, 0, 0, 0.28);
	object-fit: cover;
}

.fk-lp-page .fk-logging-grid .wp-block-column p {
	font-size: 1.05rem;
	line-height: 1.9;
}

.fk-lp-page .smb-btn {
	border-radius: 999px;
	min-height: 3.1rem;
	padding-inline: 1.6rem;
	font-weight: 700;
}

.fk-lp-page .smb-section--center .smb-buttons,
.fk-lp-page #cta .smb-buttons,
.fk-lp-page #apply .smb-buttons {
	justify-content: center;
	flex-wrap: wrap;
	gap: 0.75rem 1rem;
}

.fk-lp-page #apply .is-style-sme-alert-success {
	max-width: 40rem;
	margin-inline: auto 0;
	margin-bottom: 1.5rem;
}

.fk-lp-page #apply.smb-section--center .is-style-sme-alert-success {
	margin-inline: auto;
	text-align: left;
}

.fk-lp-page #apply .wpcf7,
.fk-lp-page #apply .wp-block-contact-form-7-contact-form-selector,
.fk-cf7 {
	max-width: 40rem;
	margin-inline: auto;
	text-align: left;
}

.home .c-entry__content > .wp-block-contact-form-7-contact-form-selector,
.fk-lp-page .c-entry__content > .wp-block-contact-form-7-contact-form-selector {
	max-width: none;
	width: 100%;
	margin: 0;
	padding: clamp(4.5rem, 8vw, 6.5rem) 1.25rem 5rem;
	background:
		radial-gradient(circle at 12% 18%, rgba(230, 126, 34, 0.08), transparent 28%),
		radial-gradient(circle at 88% 8%, rgba(45, 106, 79, 0.1), transparent 32%),
		var(--fk-mint);
}

.home .c-entry__content > .wp-block-contact-form-7-contact-form-selector::before,
.fk-lp-page .c-entry__content > .wp-block-contact-form-7-contact-form-selector::before {
	content: "エントリー";
	display: block;
	margin: 0 auto 2.25rem;
	padding-bottom: 1.15rem;
	color: var(--fk-green);
	font-size: clamp(1.55rem, 4.6vw, 2.05rem);
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: 0.02em;
	text-align: center;
	background-image: linear-gradient(var(--fk-orange), var(--fk-orange));
	background-repeat: no-repeat;
	background-size: 3rem 4px;
	background-position: center bottom;
}

.fk-cf7 {
	padding: 2.1rem 1.85rem 1.85rem;
	background: var(--fk-white);
	border: 1px solid rgba(216, 228, 220, 0.9);
	border-radius: 24px;
	box-shadow:
		0 1px 0 rgba(255, 255, 255, 0.8) inset,
		0 18px 40px rgba(20, 61, 48, 0.1);
	color: var(--fk-text);
}

.fk-cf7-intro {
	margin: 0 0 1.5rem;
	padding: 0.9rem 1rem;
	border-radius: 12px;
	background: #f4faf6;
	border: 1px solid #d9eadf;
	color: var(--fk-green);
	font-size: 0.92rem;
	line-height: 1.75;
}

.fk-cf7-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0 1rem;
}

.fk-cf7-field {
	margin: 0 0 1.2rem;
}

.fk-cf7-field:last-child,
.fk-cf7-submit {
	margin-bottom: 0;
}

.fk-cf7 br {
	display: none;
}

.fk-cf7-label {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.45rem;
	margin: 0 0 0.5rem;
	font-weight: 700;
	color: var(--fk-green);
	font-size: 0.9rem;
	letter-spacing: 0.02em;
}

.fk-cf7-label em,
.fk-cf7-label span {
	display: inline-flex;
	align-items: center;
	min-height: 1.2rem;
	padding: 0 0.45rem;
	border-radius: 999px;
	font-size: 0.66rem;
	font-style: normal;
	font-weight: 700;
	letter-spacing: 0.04em;
	line-height: 1;
}

.fk-cf7-label em {
	background: var(--fk-orange);
	color: var(--fk-white);
}

.fk-cf7-label span {
	background: var(--fk-mint);
	color: var(--fk-muted);
}

.fk-cf7 label,
.wpcf7 .fk-cf7 label {
	display: block;
	font-weight: inherit;
	color: inherit;
}

.fk-cf7 .wpcf7-form-control-wrap {
	display: block;
}

.fk-cf7 input.wpcf7-text,
.fk-cf7 input.wpcf7-email,
.fk-cf7 input.wpcf7-tel,
.fk-cf7 textarea.wpcf7-textarea,
.fk-cf7 input[type="text"],
.fk-cf7 input[type="email"],
.fk-cf7 input[type="tel"],
.fk-cf7 textarea {
	width: 100%;
	max-width: 100%;
	margin: 0;
	padding: 0.88rem 1rem;
	border: 1px solid var(--fk-line);
	border-radius: 12px;
	background: #f7faf8;
	box-shadow: none;
	color: var(--fk-text);
	-webkit-text-fill-color: var(--fk-text);
	font-size: 1rem;
	line-height: 1.5;
	transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
}

.fk-cf7 input::placeholder,
.fk-cf7 textarea::placeholder {
	color: #8a9690;
	-webkit-text-fill-color: #8a9690;
	opacity: 1;
}

.fk-cf7 input:hover,
.fk-cf7 textarea:hover {
	border-color: #b9cfc3;
}

.fk-cf7 input:focus,
.fk-cf7 textarea:focus {
	outline: none;
	border-color: var(--fk-green-mid);
	background: var(--fk-white);
	box-shadow: 0 0 0 3px rgba(45, 106, 79, 0.16);
}

.fk-cf7 textarea {
	min-height: 8.5rem;
	resize: vertical;
}

.fk-cf7 input:-webkit-autofill,
.fk-cf7 textarea:-webkit-autofill {
	-webkit-box-shadow: 0 0 0 1000px #f7faf8 inset;
	-webkit-text-fill-color: var(--fk-text);
}

.fk-cf7 .wpcf7-not-valid {
	border-color: #c0392b;
	background: #fff8f7;
}

.fk-cf7 .wpcf7-not-valid-tip,
.wpcf7 span.wpcf7-not-valid-tip {
	margin-top: 0.4rem;
	color: #c0392b;
	font-size: 0.8rem;
}

.fk-cf7-field--choice .wpcf7-radio {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0.75rem;
}

.fk-cf7 .wpcf7-radio .wpcf7-list-item {
	margin: 0;
	display: block;
}

.fk-cf7 .wpcf7-radio .wpcf7-list-item label {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.45rem;
	min-height: 3rem;
	padding: 0.55rem 0.85rem;
	border: 1px solid var(--fk-line);
	border-radius: 12px;
	background: #f7faf8;
	font-weight: 700;
	color: var(--fk-green);
	cursor: pointer;
	transition: border-color 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease;
}

.fk-cf7 .wpcf7-radio .wpcf7-list-item input {
	accent-color: var(--fk-orange);
}

.fk-cf7 .wpcf7-radio .wpcf7-list-item label:has(input:checked) {
	border-color: var(--fk-orange);
	background: #fff7ef;
	box-shadow: 0 0 0 3px rgba(230, 126, 34, 0.16);
}

.fk-cf7-submit {
	margin: 0.35rem 0 0;
	text-align: center;
}

.fk-cf7 input.wpcf7-submit,
.fk-cf7 input[type="submit"] {
	--btn--background-color: var(--fk-orange);
	--btn--color: var(--fk-white);
	--btn--border-radius: 999px;
	--btn--border: none;
	width: 100%;
	background: var(--fk-orange);
	color: var(--fk-white);
	border: 0;
	border-radius: 999px;
	min-height: 3.25rem;
	padding: 0 2rem;
	font-size: 1.02rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	cursor: pointer;
	box-shadow: 0 8px 20px rgba(230, 126, 34, 0.28);
	filter: none;
	transition: background-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}

.fk-cf7 input.wpcf7-submit:hover,
.fk-cf7 input[type="submit"]:hover {
	background: var(--fk-orange-hot);
	filter: none;
	transform: translateY(-1px);
	box-shadow: 0 10px 24px rgba(211, 84, 0, 0.32);
}

.fk-cf7-note {
	margin: 1rem 0 0;
	text-align: center;
	color: var(--fk-muted);
	font-size: 0.86rem;
	line-height: 1.7;
}

.fk-cf7-note a {
	color: var(--fk-green);
	font-weight: 700;
	text-decoration: none;
	border-bottom: 1px solid var(--fk-line);
}

.wpcf7 .wpcf7-response-output {
	margin: 1rem 0 0;
	padding: 0.85rem 1rem;
	border-radius: 12px;
	font-size: 0.92rem;
	line-height: 1.7;
}

@media (max-width: 640px) {
	.fk-cf7 {
		padding: 1.45rem 1.1rem 1.3rem;
		border-radius: 18px;
	}

	.fk-cf7-grid,
	.fk-cf7-field--choice .wpcf7-radio {
		grid-template-columns: 1fr;
	}
}

.fk-lp-page #flow .smb-section__body > p,
.fk-lp-page #flow .smb-step__body > p,
.fk-lp-page #flow .smb-step__item__summary > p:empty,
.fk-lp-page #flow .smb-step__item__summary > p.wp-block-paragraph:empty {
	display: none;
}

.fk-lp-page #flow .smb-step__body {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1.5rem;
	counter-reset: item;
}

.fk-lp-page #flow .smb-step__body::before {
	display: none;
}

.fk-lp-page #flow .smb-step__item {
	margin-left: 0;
	height: 100%;
	padding: 1.75rem 1.5rem 1.6rem;
	background: var(--fk-white);
	border-radius: 18px;
	box-shadow: 0 10px 28px rgba(20, 61, 48, 0.08);
}

.fk-lp-page #flow .smb-step__item__title {
	display: flex;
	align-items: center;
	gap: 0.85rem;
	margin-bottom: 0.85rem;
	color: var(--fk-green);
	font-size: 1.05rem;
	line-height: 1.45;
}

.fk-lp-page #flow .smb-step__item__title > .smb-step__item__number {
	position: static;
	margin: 0;
	transform: none;
	flex: 0 0 2.5rem;
	background-color: var(--fk-green);
	color: var(--fk-white);
}

.fk-lp-page #flow .smb-step__item__summary p {
	margin: 0;
	color: var(--fk-muted);
	line-height: 1.8;
}

@media (max-width: 781px) {
	.fk-lp-page #flow .smb-step__body {
		grid-template-columns: 1fr;
	}
}

.fk-lp-page #company .smb-information {
	overflow: hidden;
	border-radius: 16px;
	box-shadow: 0 12px 32px rgba(0, 0, 0, 0.18);
}

.fk-lp-page #company a {
	color: var(--fk-green);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.fk-lp-page #company a:hover {
	color: var(--fk-orange);
}

.fk-lp-page #company .fk-map {
	margin-top: 2rem;
	overflow: hidden;
	border-radius: 16px;
	border: 1px solid rgba(255, 255, 255, 0.22);
	background: var(--fk-white);
	box-shadow: 0 12px 32px rgba(0, 0, 0, 0.18);
}

.fk-lp-page #company .fk-map iframe {
	display: block;
	width: 100%;
	height: 320px;
	border: 0;
}

@media (max-width: 781px) {
	.fk-lp-page .fk-logging-grid {
		gap: 1.5rem;
	}

	.fk-lp-page .smb-hero-header__body {
		padding: 2rem 1.25rem 2.5rem !important;
		max-width: 100% !important;
	}

	.fk-lp-page .smb-hero-header .smb-buttons {
		flex-direction: column;
		align-items: stretch;
		width: min(100%, 22rem);
	}

	.fk-lp-page .smb-hero-header .smb-btn {
		width: 100%;
		justify-content: center;
	}
}

/* --- 施工事例 --- */

body.fk-works-page .l-header {
	background-color: #0f2f25 !important;
}

body.fk-works-page .l-header .c-site-branding__title a,
body.fk-works-page .l-header .p-global-nav .c-navbar__item > a {
	color: #fff;
	text-shadow: none;
}

body.fk-works-page .c-hamburger-btn__bar,
body.fk-contact-page .c-hamburger-btn__bar,
body.fk-thanks-page .c-hamburger-btn__bar,
body.fk-privacy-page .c-hamburger-btn__bar {
	background: #fff;
}

body.fk-works-page .c-entry__header,
body.fk-works-page .c-breadcrumbs,
body.fk-works-page .p-breadcrumbs-wrapper {
	display: none !important;
}

body.fk-works-page .l-contents {
	padding-top: var(--fk-header-h);
}

.fk-works-page .fk-work-title {
	margin: 1.75rem 0 0.85rem;
	color: var(--fk-green);
	font-size: clamp(1.55rem, 4vw, 2rem);
	line-height: 1.4;
}

.fk-work-card__photo img {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
}

.fk-works-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1.5rem;
}

.fk-work-card {
	overflow: hidden;
	background: var(--fk-white);
	border-radius: 18px;
	box-shadow: 0 10px 28px rgba(20, 61, 48, 0.08);
}

.fk-work-card__link {
	display: block;
	color: inherit;
	text-decoration: none;
}

.fk-work-card__photo {
	background: var(--fk-mint);
}

.fk-work-card__placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
	aspect-ratio: 4 / 3;
	color: var(--fk-muted);
}

.fk-work-card__body {
	padding: 1.15rem 1.2rem 1.3rem;
}

.fk-work-meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.45rem 0.7rem;
	margin: 0 0 0.55rem;
	color: var(--fk-muted);
	font-size: 0.82rem;
}

.fk-work-tag {
	display: inline-flex;
	align-items: center;
	min-height: 1.4rem;
	padding: 0 0.55rem;
	border-radius: 999px;
	background: var(--fk-mint);
	color: var(--fk-green);
	font-weight: 700;
	font-size: 0.72rem;
	letter-spacing: 0.04em;
}

.fk-work-card__title {
	margin: 0 0 0.4rem;
	color: var(--fk-green);
	font-size: 1.05rem;
	line-height: 1.45;
}

.fk-work-card__text {
	margin: 0;
	color: var(--fk-muted);
	font-size: 0.92rem;
	line-height: 1.7;
}

.fk-works-empty {
	margin: 0;
	color: var(--fk-muted);
	text-align: center;
}


.single-fk_work .fk-work-meta {
	margin-bottom: 1.25rem;
}

.single-fk_work .p-entry-content > .wp-block-heading {
	color: var(--fk-green);
	margin-top: 2.4rem;
}

.single-fk_work .fk-ba {
	margin-top: 0.5rem;
}

.single-fk_work .fk-ba .wp-block-heading {
	margin: 0 0 0.6rem;
	color: var(--fk-green);
	font-size: 1rem;
	letter-spacing: 0.04em;
}

.single-fk_work .fk-ba .wp-block-image img {
	width: 100%;
	aspect-ratio: 16 / 10;
	object-fit: cover;
	border-radius: 14px;
}

.single-fk_work .fk-ba .wp-element-caption {
	margin-top: 0.45rem;
	color: var(--fk-muted);
	font-weight: 700;
	font-size: 0.82rem;
}

.single-fk_work .fk-work-flow {
	margin: 0.75rem 0 0;
	padding: 0;
	list-style: none;
	counter-reset: fk-flow;
}

.single-fk_work .fk-work-flow li {
	position: relative;
	margin: 0 0 1.15rem;
	padding: 0.15rem 0 0 3.4rem;
	color: var(--fk-text);
	line-height: 1.8;
}

.single-fk_work .fk-work-flow li::before {
	counter-increment: fk-flow;
	content: counter(fk-flow);
	position: absolute;
	left: 0;
	top: 0.05rem;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 2.4rem;
	height: 2.4rem;
	border-radius: 999px;
	background: var(--fk-green);
	color: var(--fk-white);
	font-weight: 700;
	font-size: 0.95rem;
}

.single-fk_work .fk-work-flow strong {
	display: block;
	margin-bottom: 0.15rem;
	color: var(--fk-green);
	font-size: 1.02rem;
}

@media (max-width: 781px) {
	.fk-works-grid {
		grid-template-columns: 1fr;
	}
}

/* --- 応募サンクス --- */

body.fk-thanks-page {
	background: var(--fk-mint);
}

body.fk-thanks-page .l-contents,
body.fk-thanks-page .c-entry,
body.fk-thanks-page .c-entry__body,
body.fk-thanks-page .c-entry__content {
	background: transparent;
}

body.fk-thanks-page .c-entry__header,
body.fk-thanks-page .p-entry-header,
body.fk-thanks-page .c-breadcrumbs {
	display: none !important;
}

body.fk-thanks-page .c-entry__content {
	max-width: none !important;
	padding: calc(var(--fk-header-h) + 56px) 20px 88px !important;
}

.fk-thanks-page .fk-thanks {
	max-width: 640px;
	margin: 0 auto;
	padding: 3rem 2.4rem 2.6rem;
	background: var(--fk-white);
	border: 1px solid var(--fk-line);
	border-radius: 24px;
	box-shadow: 0 18px 40px rgba(20, 61, 48, 0.08);
	text-align: center;
}

.fk-thanks-page .fk-thanks__title {
	margin: 0 0 0.65rem;
	color: var(--fk-green);
	font-size: clamp(1.7rem, 4vw, 2.15rem);
	font-weight: 800;
	letter-spacing: 0.04em;
	line-height: 1.35;
}

.fk-thanks-page .fk-thanks__title::before {
	content: "";
	display: block;
	width: 4.25rem;
	height: 4.25rem;
	margin: 0 auto 1.15rem;
	border-radius: 999px;
	background: var(--fk-orange);
	box-shadow: 0 10px 22px rgba(230, 126, 34, 0.28);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4 8-9'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: 50% 54%;
	background-size: 2rem;
}

.fk-thanks-page .fk-thanks__lead {
	margin: 0 0 1.4rem;
	color: var(--fk-green);
	font-size: 1.12rem;
	font-weight: 700;
	letter-spacing: 0.04em;
}

.fk-thanks-page .fk-thanks p {
	margin: 0 0 1rem;
	color: var(--fk-text);
	font-size: 0.98rem;
	line-height: 1.9;
}

.fk-thanks-page .fk-thanks__phone {
	margin-top: 1.35rem;
	color: var(--fk-muted);
	font-size: 0.92rem;
}

.fk-thanks-page .fk-thanks__phone a {
	color: var(--fk-green);
	font-weight: 800;
	font-size: 1.15rem;
	letter-spacing: 0.04em;
	text-decoration: none;
	border-bottom: 1px solid var(--fk-line);
}

.fk-thanks-page .fk-thanks__actions {
	margin: 1.8rem 0 0;
	gap: 12px;
}

.fk-thanks-page .fk-thanks .wp-block-button__link {
	min-width: 10.5rem;
	min-height: 3.1rem;
	padding: 0.75rem 1.5rem;
	font-weight: 700;
	letter-spacing: 0.06em;
}

@media (max-width: 640px) {
	body.fk-thanks-page .c-entry__content {
		padding: calc(var(--fk-header-h) + 36px) 14px 64px !important;
	}

	.fk-thanks-page .fk-thanks {
		padding: 2.3rem 1.25rem 2rem;
		border-radius: 20px;
	}

	.fk-thanks-page .fk-thanks__actions {
		flex-direction: column;
		align-items: stretch;
	}

	.fk-thanks-page .fk-thanks .wp-block-button,
	.fk-thanks-page .fk-thanks .wp-block-button__link {
		width: 100%;
	}
}

/* --- お問い合わせ --- */

body.fk-contact-page {
	background: var(--fk-mint);
}

body.fk-contact-page .l-header,
body.fk-thanks-page .l-header,
body.fk-privacy-page .l-header {
	background-color: #0f2f25 !important;
}

body.fk-contact-page .l-header .c-site-branding__title a,
body.fk-contact-page .l-header .p-global-nav .c-navbar__item > a,
body.fk-thanks-page .l-header .c-site-branding__title a,
body.fk-thanks-page .l-header .p-global-nav .c-navbar__item > a,
body.fk-privacy-page .l-header .c-site-branding__title a,
body.fk-privacy-page .l-header .p-global-nav .c-navbar__item > a {
	color: #fff;
	text-shadow: none;
}

.fk-contact-page .fk-cf7-field--choice .wpcf7-radio {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

body.fk-contact-page .l-contents,
body.fk-contact-page .c-entry,
body.fk-contact-page .c-entry__body,
body.fk-contact-page .c-entry__content {
	background: transparent;
}

body.fk-contact-page .c-entry__header,
body.fk-contact-page .p-entry-header,
body.fk-contact-page .c-breadcrumbs {
	display: none !important;
}

body.fk-contact-page .c-entry__content {
	max-width: none !important;
	padding: calc(var(--fk-header-h) + 56px) 20px 88px !important;
}

.fk-contact-page .fk-contact {
	max-width: 720px;
	margin: 0 auto;
}

.fk-contact-page .fk-contact__title {
	margin: 0 0 0.6rem;
	color: var(--fk-green);
	font-size: clamp(1.7rem, 4vw, 2.15rem);
	font-weight: 800;
	letter-spacing: 0.04em;
	line-height: 1.35;
	text-align: center;
}

.fk-contact-page .fk-contact__lead {
	margin: 0 0 0.45rem;
	color: var(--fk-green);
	font-size: 1.05rem;
	font-weight: 700;
	text-align: center;
	line-height: 1.7;
}

.fk-contact-page .fk-contact__note {
	margin: 0 0 1.6rem;
	color: var(--fk-muted);
	font-size: 0.9rem;
	text-align: center;
}

.fk-contact-page .fk-contact__note a {
	color: var(--fk-green);
	font-weight: 700;
}

/* --- プライバシーポリシー --- */

body.fk-privacy-page {
	background: var(--fk-mint);
}

body.fk-privacy-page .l-contents,
body.fk-privacy-page .c-entry,
body.fk-privacy-page .c-entry__body,
body.fk-privacy-page .c-entry__content {
	background: transparent;
}

body.fk-privacy-page .c-entry__header,
body.fk-privacy-page .p-entry-header,
body.fk-privacy-page .c-breadcrumbs {
	display: none !important;
}

body.fk-privacy-page .c-entry__content {
	max-width: none !important;
	padding: calc(var(--fk-header-h) + 56px) 20px 88px !important;
}

.fk-privacy-page .fk-privacy {
	max-width: 720px;
	margin: 0 auto;
}

.fk-privacy-page .fk-privacy__title {
	margin: 0 0 0.6rem;
	color: var(--fk-green);
	font-size: clamp(1.7rem, 4vw, 2.15rem);
	font-weight: 800;
	letter-spacing: 0.04em;
	line-height: 1.35;
	text-align: center;
}

.fk-privacy-page .fk-privacy__lead {
	margin: 0 0 2rem;
	color: var(--fk-green);
	font-size: 1.02rem;
	font-weight: 700;
	text-align: center;
	line-height: 1.8;
}

.fk-privacy-page .fk-privacy__h {
	margin: 2rem 0 0.7rem;
	color: var(--fk-green);
	font-size: 1.15rem;
	font-weight: 800;
	letter-spacing: 0.04em;
}

.fk-privacy-page .fk-privacy p,
.fk-privacy-page .fk-privacy li {
	color: var(--fk-text);
	font-size: 0.95rem;
	line-height: 1.9;
}

.fk-privacy-page .fk-privacy a {
	color: var(--fk-green);
	font-weight: 700;
}

.fk-privacy-page .fk-privacy__date {
	margin-top: 2.2rem;
	color: var(--fk-muted);
	font-size: 0.86rem;
}

@media (max-width: 640px) {
	body.fk-privacy-page .c-entry__content {
		padding: calc(var(--fk-header-h) + 36px) 14px 64px !important;
	}
}

@media (max-width: 640px) {
	body.fk-contact-page .c-entry__content {
		padding: calc(var(--fk-header-h) + 36px) 14px 64px !important;
	}

	.fk-contact-page .fk-cf7-field--choice .wpcf7-radio {
		grid-template-columns: 1fr;
	}
}

/* --- モバイル／タブレット：ズレ・改行・ブロック配置 --- */

@media (max-width: 1023px) {
	:root {
		--fk-header-h: 56px;
	}

	html {
		scroll-padding-top: calc(var(--fk-header-h) + 16px);
	}

	html,
	body.fk-lp-page {
		overflow-x: clip;
	}

	/* キャリア／機種でフォントが膨らんで改行がズレないようにする */
	html body.fk-lp-page {
		-webkit-text-size-adjust: 100%;
		text-size-adjust: 100%;
		line-break: strict;
		overflow-wrap: break-word;
		word-break: keep-all;
		--wp--preset--font-size--sm-4-xl: clamp(1.12rem, 4.8vw, 1.38rem) !important;
		--wp--preset--font-size--sm-5-xl: clamp(1.12rem, 4.9vw, 1.5rem) !important;
		--wp--preset--font-size--sm-6-xl: clamp(1.18rem, 5.1vw, 1.62rem) !important;
		--wp--preset--font-size--sm-3-xl: clamp(1.04rem, 4.3vw, 1.3rem) !important;
		--wp--preset--font-size--sm-2-xl: clamp(1rem, 3.9vw, 1.2rem) !important;
		--wp--preset--font-size--sm-xl: clamp(0.96rem, 3.5vw, 1.12rem) !important;
		--wp--preset--font-size--sm-l: clamp(0.88rem, 3.2vw, 1.02rem) !important;
	}

	@supports (word-break: auto-phrase) {
		body.fk-lp-page {
			word-break: auto-phrase;
		}
	}

	.fk-lp-page h1,
	.fk-lp-page h2,
	.fk-lp-page h3,
	.fk-lp-page p,
	.fk-lp-page li,
	.fk-lp-page td,
	.fk-lp-page .wp-block-heading,
	.fk-lp-page .smb-section__title,
	.fk-lp-page .smb-section__lede,
	.fk-lp-page .smb-section__body,
	.fk-lp-page .smb-items__item__title,
	.fk-lp-page .c-entry-summary__title,
	.fk-lp-page .fk-cta h2,
	.fk-lp-page .smb-btn,
	.fk-lp-page .smb-btn-wrapper,
	.fk-lp-page .wp-block-button,
	.fk-lp-page .wp-block-button__link {
		min-width: 0;
		max-width: 100%;
		line-break: strict;
		overflow-wrap: break-word;
		word-break: keep-all;
		hyphens: none;
	}

	.fk-lp-page h2,
	.fk-lp-page h3,
	.fk-lp-page .smb-section__title,
	.fk-lp-page .fk-cta h2 {
		text-wrap: pretty;
	}

	.fk-lp-page .fk-nowrap {
		white-space: nowrap !important;
	}

	.fk-lp-page p,
	.fk-lp-page li,
	.fk-lp-page td,
	.fk-lp-page .smb-section__lede,
	.fk-lp-page p strong,
	.fk-lp-page p span {
		text-wrap: pretty;
	}

	.fk-lp-page .smb-section,
	.fk-lp-page .smb-section .c-container,
	.fk-lp-page .smb-section__contents-wrapper,
	.fk-lp-page .fk-cta,
	.fk-lp-page .fk-cta .wp-block-cover__inner-container {
		box-sizing: border-box;
		max-width: 100%;
	}

	.fk-lp-page .smb-btn {
		white-space: normal;
		box-sizing: border-box;
		max-width: 100%;
	}

	.fk-lp-page .c-entry__content,
	.fk-lp-page .c-entry__content > .alignfull,
	.fk-lp-page .c-entry__content > .smb-section,
	.fk-lp-page .c-entry__content > .wp-block-cover {
		width: 100% !important;
		max-width: 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}

	.fk-hero-sep {
		display: none;
	}

	body.fk-lp-page .l-header .c-fluid-container,
	body.fk-lp-page .l-header .c-container {
		padding-inline: 12px;
	}

	body.fk-lp-page .c-hamburger-btn {
		flex-shrink: 0;
	}

	body.fk-lp-page .l-1row-header .c-row--nowrap {
		align-items: center;
	}

	.fk-lp-page .smb-section {
		padding-block: 3.25rem;
	}

	.fk-lp-page .smb-section__header {
		margin-bottom: 1.35rem;
	}

	.fk-lp-page .smb-section__title {
		font-size: clamp(1.28rem, 5.6vw, 1.7rem);
		line-height: 1.45;
		padding-inline: 0.15rem;
	}

	.fk-lp-page .smb-section__lede {
		font-size: 0.95rem;
		line-height: 1.85;
	}

	.fk-lp-page #logging::before,
	.fk-lp-page #cta::before,
	.fk-lp-page #company::before,
	.fk-lp-page #works::before {
		top: -23px;
		height: 24px;
	}

	.fk-lp-page #environment .wp-block-columns {
		display: grid !important;
		grid-template-columns: 1fr 1fr;
		gap: 12px !important;
		align-items: stretch !important;
	}

	.fk-lp-page #environment .wp-block-column {
		flex-basis: auto !important;
		width: auto !important;
		margin: 0 !important;
	}

	.fk-lp-page #environment .fk-env-card {
		padding: 22px 12px 18px;
	}

	.fk-lp-page #environment .fk-env-card h3.wp-block-heading {
		font-size: 0.92rem;
		margin-bottom: 6px;
	}

	.fk-lp-page #environment .fk-env-card p {
		font-size: 0.86rem;
		line-height: 1.65;
	}

	.fk-lp-page .smb-recent-posts .c-entries--rich-media,
	.fk-works-page .c-entries--rich-media {
		display: flex;
		flex-wrap: wrap;
		gap: 1.15rem;
	}

	.fk-lp-page .smb-recent-posts .c-entries--rich-media .c-entries__item,
	.fk-works-page .c-entries--rich-media .c-entries__item {
		flex: 1 1 calc(50% - 0.6rem);
		width: calc(50% - 0.6rem) !important;
		max-width: calc(50% - 0.6rem) !important;
	}
}

@media (max-width: 781px) {
	.fk-lp-page .c-entry__content > .smb-section-with-bgimage.smb-section--full {
		min-height: 88svh;
		--smb-section--min-height: 88svh;
		padding-top: calc(var(--fk-header-h) + 28px);
		padding-bottom: 2.4rem;
		overflow-x: clip;
		overflow-y: visible;
		box-sizing: border-box;
	}

	.fk-lp-page .c-entry__content > .smb-section-with-bgimage.smb-section--full .smb-section__inner {
		width: 100%;
		max-width: 100%;
	}

	.fk-lp-page .c-entry__content > .smb-section-with-bgimage.smb-section--full .c-container,
	.fk-lp-page .c-entry__content > .smb-section-with-bgimage.smb-section--full .smb-section__contents-wrapper,
	.fk-lp-page .c-entry__content > .smb-section-with-bgimage.smb-section--full .smb-section__body,
	.fk-lp-page .c-entry__content > .smb-section-with-bgimage.smb-section--full .is-layout-constrained {
		width: 100%;
		max-width: 100%;
		min-width: 0;
		box-sizing: border-box;
	}

	.fk-lp-page .c-entry__content > .smb-section-with-bgimage.smb-section--full .c-container {
		padding-inline: 24px;
	}

	.fk-lp-page .smb-section-with-bgimage.smb-section--full h1.wp-block-heading,
	.fk-lp-page .smb-section-with-bgimage.smb-section--full h1 .has-sm-4-xl-font-size,
	.fk-lp-page .smb-section-with-bgimage.smb-section--full h1 .sme-font-size {
		display: block !important;
		width: 100%;
		max-width: 100%;
		box-sizing: border-box;
		padding-inline: 0.1em;
		font-size: clamp(1.12rem, 4.8vw, 1.38rem) !important;
		line-height: 1.5 !important;
		letter-spacing: 0;
		font-weight: 700;
		word-break: keep-all !important;
		overflow-wrap: break-word !important;
		line-break: strict;
		white-space: normal !important;
	}

	.fk-lp-page .smb-section-with-bgimage.smb-section--full p {
		width: 100%;
		max-width: 100%;
	}

	.fk-lp-page .smb-section-with-bgimage.smb-section--full p,
	.fk-lp-page .smb-section-with-bgimage.smb-section--full p .has-sm-l-font-size,
	.fk-lp-page .smb-section-with-bgimage.smb-section--full p strong {
		font-size: var(--wp--preset--font-size--sm-l) !important;
		line-height: 1.85;
		word-break: keep-all !important;
		overflow-wrap: break-word !important;
		line-break: strict;
		text-wrap: pretty;
		white-space: normal !important;
	}

	.fk-lp-page .c-entry__content > .smb-section-with-bgimage.smb-section--full p strong {
		font-weight: 700;
		white-space: inherit;
	}

	.fk-lp-page .c-entry__content > .smb-section-with-bgimage.smb-section--full .smb-buttons {
		display: flex;
		flex-direction: column;
		align-items: stretch;
		width: 100%;
		max-width: 100%;
		gap: 0.7rem;
	}

	.fk-lp-page .c-entry__content > .smb-section-with-bgimage.smb-section--full .smb-btn-wrapper,
	.fk-lp-page .c-entry__content > .smb-section-with-bgimage.smb-section--full .smb-btn {
		display: flex;
		width: 100%;
		max-width: 100%;
		box-sizing: border-box;
		justify-content: center;
		white-space: normal;
	}

	.fk-lp-page .c-entry__content > .smb-section-with-bgimage.smb-section--full .smb-btn {
		min-height: 3rem;
		padding-inline: 1rem;
		font-size: 0.92rem;
		text-align: center;
	}

	.fk-lp-page #work .smb-items__item {
		margin-bottom: 0;
	}

	.fk-lp-page #work .smb-items__item__title,
	.fk-lp-page #works .c-entry-summary__title {
		font-size: 1.05rem;
		line-height: 1.45;
	}

	.fk-lp-page #work .smb-items__item__body,
	.fk-lp-page #works .c-entry-summary__body {
		padding: 14px 16px 2px;
	}

	.fk-lp-page .smb-recent-posts .c-entries--rich-media,
	.fk-works-page .c-entries--rich-media {
		flex-direction: column;
	}

	.fk-lp-page .smb-recent-posts .c-entries--rich-media .c-entries__item,
	.fk-works-page .c-entries--rich-media .c-entries__item {
		flex: 0 0 auto;
		width: 100% !important;
		max-width: 100% !important;
	}

	.fk-lp-page #logging .smb-section__title {
		font-size: clamp(1.2rem, 5.4vw, 1.55rem);
	}

	.fk-lp-page #logging .smb-media-text__body p,
	.fk-lp-page .fk-logging-grid .wp-block-column p {
		font-size: 0.95rem;
		line-height: 1.9;
	}

	.fk-lp-page #logging .smb-media-text__figure img,
	.fk-lp-page .fk-logging-photo img {
		width: 100%;
		border-radius: 14px;
	}

	.fk-lp-page .smb-list ul {
		padding-left: 1.7rem;
		margin: 0;
	}

	.fk-lp-page .smb-list li {
		line-height: 1.85;
	}

	.fk-lp-page #recruit .smb-section__title,
	.fk-lp-page #recruit .smb-section__title .sme-text-color {
		color: #fff !important;
	}

	.fk-lp-page #recruit .wp-block-columns {
		gap: 1.15rem !important;
	}

	.fk-lp-page .fk-table,
	.fk-lp-page .wp-block-table.fk-table {
		overflow: hidden;
		margin-bottom: 0;
	}

	.fk-lp-page .fk-table table.has-fixed-layout {
		table-layout: auto;
	}

	.fk-lp-page .fk-table table,
	.fk-lp-page .fk-table tbody,
	.fk-lp-page .fk-table tr,
	.fk-lp-page .fk-table td {
		display: block;
		width: 100% !important;
	}

	.fk-lp-page .fk-table tr {
		padding: 0.85rem 1rem;
		border-bottom: 1px solid var(--fk-line);
	}

	.fk-lp-page .fk-table tr:last-child {
		border-bottom: 0;
	}

	.fk-lp-page .fk-table tr td:first-child {
		width: 100%;
		padding: 0 0 0.2rem;
		background: transparent;
		white-space: normal;
		font-size: 0.78rem;
		letter-spacing: 0.04em;
	}

	.fk-lp-page .fk-table tr td:last-child {
		padding: 0;
		font-size: 0.95rem;
		line-height: 1.75;
	}

	.fk-lp-page .fk-aside-box,
	.fk-lp-page .fk-aside-cta {
		padding: 1.25rem 1.1rem;
	}

	.fk-lp-page .fk-aside-box .wp-block-heading {
		font-size: 1rem;
		line-height: 1.5;
	}

	.fk-lp-page .fk-aside-cta .wp-block-buttons,
	.fk-lp-page .fk-aside-cta .wp-block-button,
	.fk-lp-page .fk-aside-cta .wp-block-button__link {
		width: 100%;
	}

	.fk-lp-page .smb-step__item__title {
		align-items: flex-start;
		flex-wrap: nowrap;
	}

	.fk-lp-page .smb-step__item__title > span:last-child {
		min-width: 0;
		line-height: 1.5;
	}

	.fk-lp-page #flow .smb-step__body,
	.fk-lp-page .smb-step .smb-step__body {
		grid-template-columns: 1fr;
	}

	.fk-lp-page #faq .smb-faq__item__question,
	.fk-lp-page #faq .smb-faq__item__answer {
		align-items: flex-start;
	}

	.fk-lp-page #faq .smb-faq__item__question__body,
	.fk-lp-page #faq .smb-faq__item__answer__body {
		min-width: 0;
		line-height: 1.75;
	}

	.fk-lp-page .fk-cta.wp-block-cover {
		min-height: 0 !important;
		padding: 3.4rem 1.15rem !important;
	}

	.fk-lp-page .fk-cta h2.wp-block-heading {
		font-size: clamp(1.12rem, 4.8vw, 1.45rem);
		line-height: 1.6;
	}

	.fk-lp-page .fk-cta .fk-cta-lead {
		font-size: 0.92rem;
	}

	.fk-lp-page .fk-cta .wp-block-buttons {
		flex-direction: column;
		align-items: stretch;
		width: 100%;
		gap: 0.7rem;
	}

	.fk-lp-page .fk-cta .wp-block-button,
	.fk-lp-page .fk-cta .wp-block-button.has-custom-width,
	.fk-lp-page .fk-cta .wp-block-button[class*="wp-block-button__width"] {
		width: 100% !important;
		max-width: 100% !important;
		flex-basis: 100% !important;
	}

	.fk-lp-page .fk-cta .wp-block-button__link {
		width: 100%;
		white-space: normal;
		line-height: 1.45;
		padding-inline: 1rem;
		text-align: center;
	}

	.fk-lp-page #company .smb-section__title,
	.fk-lp-page #company .smb-section__title .sme-text-color {
		color: var(--fk-green) !important;
	}

	.fk-lp-page #company a[href^="mailto"] {
		overflow-wrap: anywhere;
		word-break: break-all;
		line-break: anywhere;
	}

	.fk-lp-page #company .fk-map iframe {
		height: 220px;
	}

	.fk-lp-page #apply.smb-section {
		padding-block: 2.6rem 5.4rem !important;
	}

	.fk-lp-page #apply .smb-section__title {
		color: var(--fk-green);
	}

	.fk-footer-nap {
		width: min(100% - 28px, var(--fk-max));
		padding: 32px 0 8px;
		font-size: 0.86rem;
	}

	.p-footer-sticky-nav .c-navbar {
		display: flex;
		width: 100%;
		margin: 0;
		padding: 0;
	}

	.p-footer-sticky-nav .c-navbar__item {
		flex: 1 1 0%;
		min-width: 0;
		max-width: none;
		text-align: center;
	}

	.p-footer-sticky-nav a {
		display: block;
		width: 100%;
		box-sizing: border-box;
		padding: 0.65em 0.25em;
		font-size: 11px;
		font-weight: 700;
		letter-spacing: 0.04em;
		line-height: 1.3;
		white-space: nowrap;
	}
}

@media (max-width: 430px) {
	html body.fk-lp-page {
		--wp--preset--font-size--sm-4-xl: clamp(1.08rem, 4.6vw, 1.28rem) !important;
		--wp--preset--font-size--sm-l: clamp(0.88rem, 3.2vw, 0.98rem) !important;
	}

	.fk-lp-page .smb-section-with-bgimage.smb-section--full h1.wp-block-heading,
	.fk-lp-page .smb-section-with-bgimage.smb-section--full h1 .has-sm-4-xl-font-size,
	.fk-lp-page .smb-section-with-bgimage.smb-section--full h1 .sme-font-size {
		font-size: clamp(1.08rem, 4.6vw, 1.28rem) !important;
	}

	.fk-lp-page #environment .fk-env-card {
		padding: 18px 10px 16px;
	}

	.fk-lp-page #environment .fk-environment .fk-env-card::before,
	.fk-lp-page #environment .fk-env-card::before {
		width: 32px;
		height: 32px;
		margin-bottom: 10px;
	}
}

@media (max-width: 360px) {
	html body.fk-lp-page {
		--wp--preset--font-size--sm-4-xl: 1.08rem !important;
		--wp--preset--font-size--sm-l: 0.86rem !important;
	}

	.fk-lp-page .smb-section-with-bgimage.smb-section--full h1.wp-block-heading,
	.fk-lp-page .smb-section-with-bgimage.smb-section--full h1 .has-sm-4-xl-font-size,
	.fk-lp-page .smb-section-with-bgimage.smb-section--full h1 .sme-font-size {
		font-size: 1.08rem !important;
	}

	.fk-lp-page .smb-section-with-bgimage.smb-section--full p,
	.fk-lp-page .smb-section-with-bgimage.smb-section--full p strong,
	.fk-lp-page .smb-section-with-bgimage.smb-section--full p .has-sm-l-font-size {
		font-size: 0.82rem !important;
	}

	.fk-lp-page br.fk-wrap-sm {
		display: unset;
	}

	.fk-lp-page .c-entry__content > .smb-section-with-bgimage.smb-section--full {
		min-height: 100svh;
		--smb-section--min-height: 100svh;
		padding-bottom: 1.6rem;
	}

	.fk-lp-page .c-entry__content > .smb-section-with-bgimage.smb-section--full .smb-buttons {
		gap: 0.5rem;
	}

	.fk-header-socials .fk-header-instagram,
	.fk-header-socials .fk-header-tiktok {
		width: 28px;
		height: 28px;
	}

	.fk-header-socials .fk-header-instagram img,
	.fk-header-socials .fk-header-tiktok img {
		width: 28px;
		height: 28px;
	}

	.fk-lp-page #environment .wp-block-columns {
		grid-template-columns: 1fr;
	}

	.fk-lp-page .c-entry__content > .smb-section-with-bgimage.smb-section--full .c-container {
		padding-inline: 20px;
	}

	.fk-lp-page .c-entry__content > .smb-section-with-bgimage.smb-section--full .smb-btn {
		font-size: 0.86rem;
		padding-inline: 0.7rem;
	}
}

@media (hover: none) {
	.fk-lp-page .smb-items__item:hover,
	.fk-lp-page .smb-recent-posts .c-entries__item > a:hover .c-entry-summary,
	.fk-works-page .c-entries__item > a:hover .c-entry-summary {
		transform: none;
	}

	.fk-cf7 input.wpcf7-submit:hover,
	.fk-cf7 input[type="submit"]:hover {
		transform: none;
	}
}
