/*
Theme Name: サンフィールド様
Template: lightning
*/

/********* のがみ追加分 *********/
:root {
	--vk-color-text-body: #2c2c2c;
	--vk-color-text-link: #2c2c2c;
	--vk-width-container: 1110px;
	--vk-line-height: 2;
}

body {
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 400;
}
body.page-id-7502 .site-body,
body.page-id-7965 .site-body {
	background-image: url('https://www.sunfield-eg.co.jp/login/wp-content/uploads/2026/10/bg02-a-scaled.png');
	background-size: contain;
	background-position: top center;
	background-repeat: no-repeat;
}
body.page-id-7508 .site-body,
body.page-id-7510 .site-body {
	background-image: url('https://www.sunfield-eg.co.jp/login/wp-content/uploads/2026/10/bg04-scaled.png');
	background-size: contain;
	background-position: top center;
	background-repeat: no-repeat;
}
.site-body {
	padding-bottom: 0 !important;
}

@media (992px < width) {
	.page-header {
		padding-top: 94.5px !important;
	}
}
@media (width <= 992px) {
	body,
	html {
		font-size: var(--vk-size-text);
	}
	.page-header {
		padding-top: 66px !important;
	}
}

/* 見出し */
.title-h2 h2 {
	font-size: clamp(1.625rem, 1.29rem + 1.68vw, 2.5rem);
	font-weight: 600;
	line-height: 1.3;
	margin-bottom: 40px !important;
	margin-left: 0 !important;
}
.title-h2 h2 span.sub {
	font-size: clamp(1.1875rem, 1.04rem + 0.75vw, 1.5625rem);
	font-weight: 600;
	display: inline-block;
	margin-bottom: 0.5rem;
}
.title-h2 .sub-title {
	color: #0060b3;
	font-size: clamp(0.9375rem, 0.9rem + 0.38vw, 1.125rem);
	font-weight: 600;
	margin-left: 0 !important;
	margin-bottom: 0 !important;
}
.title-h2.h2-02 h2 {
	font-size: 30px;
}
.title-h2-home {
	margin-left: 0 !important;
	margin-right: 0 !important;
}
@media screen and (max-width: 575px) {
	.title-h2 h2 span.sub {
		margin-bottom: 1rem;
	}
}

/* section-bg */
.bg-full {
	margin-right: calc(50% - 50vw);
	margin-left: calc(50% - 50vw);
	padding-right: calc(50vw - 50%);
	padding-left: calc(50vw - 50%);
}
.bg02 {
	margin-right: calc(50% - 50vw);
	margin-left: calc(50% - 50vw);
	padding-right: calc(50vw - 50%);
	padding-left: calc(50vw - 50%);

	position: relative; /* 子要素の基準位置にする */
	overflow: hidden;
	min-height: 400px; /* はみ出しを隠す */
	/* padding等のレイアウト設定はここにそのまま残す */
	padding-top: 70px;
	padding-bottom: 70px;
}

/* 背景画像とマスクを「疑似要素」に持たせる */
.bg02::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 1; /* 中のコンテンツの背面に配置する */

	/* 背景の設定 */
	background-image: url('https://www.sunfield-eg.co.jp/login/wp-content/uploads/2026/10/bg02-a-scaled.png');
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;

	/* 上下でグラデーション（マスク）させる設定 */
	-webkit-mask-image: linear-gradient(
		to bottom,
		transparent 0px,
		black 100px,
		black calc(100% - 70px),
		transparent 100%
	);
	mask-image: linear-gradient(
		to bottom,
		transparent 0px,
		black 100px,
		black calc(100% - 70px),
		transparent 100%
	);
}
.bg02 div {
	z-index: 3;
}

.bg03 {
	margin-right: calc(50% - 50vw);
	margin-left: calc(50% - 50vw);
	padding-right: calc(50vw - 50%);
	padding-left: calc(50vw - 50%);

	position: relative; /* 子要素の基準位置にする */
	overflow: hidden;
	min-height: 400px; /* はみ出しを隠す */
	/* padding等のレイアウト設定はここにそのまま残す */
	padding-top: 70px;
	padding-bottom: 70px;
}

/* 背景画像とマスクを「疑似要素」に持たせる */
.bg03::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 1; /* 中のコンテンツの背面に配置する */

	/* 背景の設定 */
	background: url(https://www.sunfield-eg.co.jp/login/wp-content/uploads/2026/10/bg03-scaled.png);
	background-size: contain;
	background-position: center top;
	background-repeat: no-repeat;

	/* 上下でグラデーション（マスク）させる設定 */
	-webkit-mask-image: linear-gradient(
		to bottom,
		transparent 0px,
		black 100px,
		black calc(100% - 70px),
		transparent 100%
	);
	mask-image: linear-gradient(
		to bottom,
		transparent 0px,
		black 100px,
		black calc(100% - 70px),
		transparent 100%
	);
}
.bg03 div {
	z-index: 3;
}

@media (min-width: 1200px) {
	.bg03::before {
		background-size: cover;
	}
}

.bg05 {
	margin-right: calc(50% - 50vw);
	margin-left: calc(50% - 50vw);
	padding-right: calc(50vw - 50%);
	padding-left: calc(50vw - 50%);
	background-color: #f1f8ff;
	background-image: url('https://www.sunfield-eg.co.jp/login/wp-content/uploads/2026/10/bg05-scaled.png');
	background-size: contain;
	background-position: center;
	background-repeat: no-repeat;

	/* 上下100pxで白になじむ（ぼかす）指定 */
	-webkit-mask-image: linear-gradient(
		to bottom,
		transparent 0px,
		black 100px,
		black calc(100% - 70px),
		transparent 100%
	);
	mask-image: linear-gradient(
		to bottom,
		transparent 0px,
		black 100px,
		black calc(100% - 70px),
		transparent 100%
	);

	/* マスクで削れる分、余白をしっかり確保（調整可能） */
	padding-top: 70px;
	padding-bottom: 70px;
}
/* common */
a {
	transition: opacity 0.3s ease;
}
a:hover {
	opacity: 0.7;
}
.t-blue {
	color: #0060b3;
}
.fz18 {
	font-size: 1.125rem;
}
.fz20 {
	font-size: clamp(1rem, 0.91rem + 0.45vw, 1.25rem); /* 最大20px (1.25rem) / 最小16px (1rem) */
}
.fz30 {
	font-size: clamp(1.25rem, 1.05rem + 1vw, 1.875rem);
}
.fw60 {
	font-weight: 600;
}
h2 {
	margin-left: 0 !important;
}
/* .wp-block-paragraph {
	margin-left: 0 !important;
	margin-right: 0 !important;
} */
.is-layout-constrained > p.title-description,
.company-box {
	margin-left: 0 !important;
	margin-right: 0 !important;
}
@media screen and (min-width: 769px) {
	.tel-link {
		pointer-events: none; /* クリック・タップを完全に無効化 */
		cursor: default; /* カーソルを普通のテキストと同じにする */
		color: inherit; /* 文字色を親要素と同じにする */
		text-decoration: none; /* 下線を消す */
	}
}
/* タブレット・スマホ（960px以下）の時、全幅要素の内側に余白を作る */
@media screen and (max-width: 1161px) {
	.alignfull:where(:not([class*='section--base--on'] .alignfull)) {
		padding-left: 20px !important;
		padding-right: 20px !important;
		box-sizing: border-box !important;
	}
}

.breadcrumb .fa-fw {
	display: none;
}

/* 改行 */
.br-xs,
.br-sm,
.br-md,
.br-lg {
	display: none;
}

/* 1. 【575px以下】のときだけ表示 (Extra Small) */
@media screen and (max-width: 575px) {
	.br-xs {
		display: inline;
	}
}

/* 2. 【576px 〜 768px】のときだけ表示 (Small) */
@media screen and (min-width: 576px) and (max-width: 768px) {
	.br-sm {
		display: inline;
	}
}

/* 3. 【769px 〜 992px】のときだけ表示 (Medium) */
@media screen and (min-width: 769px) and (max-width: 992px) {
	.br-md {
		display: inline;
	}
}

/* 4. 【993px以上】のときだけ表示 (Large) */
@media screen and (min-width: 993px) {
	.br-lg {
		display: inline;
	}
}
/* header */
.site-header {
	box-shadow: none;
	background-color: #fff;
}
.header_scrolled .site-header {
	box-shadow: none;
}
.header_scrolled .site-header-logo {
	display: flex;
}
.site-header-logo a,
.site-header-logo {
	-webkit-tap-highlight-color: transparent;
}
.site-header-logo img {
	margin-left: 0;
	margin-right: 0;
}
@media (width >= 993px) {
	.header_scrolled .site-header .global-nav {
		display: flex;
		align-items: center;
	}
}
@media (min-width: 1200px) {
	.site-header-container {
		max-width: none;
		padding-left: 35px;
		padding-right: 35px;
	}
}
/* @media (768px < width) {
	.home .container,
	.home .container-md,
	.home .container-sm {
		max-width: 100%;
	}
}
@media (576px < width) {
	.home .container,
	.home .container-sm {
		max-width: 100%;
	}
} */

/* g-nav */
.global-nav-name {
	font-weight: 400;
}
.global-nav-list > li .global-nav-name {
	font-size: 16px;
}
.global-nav-list li {
	line-height: 1;
}
.global-nav-list li a {
	position: relative !important;
}
.global-nav-list li#menu-item-7523 a {
	background-color: var(--vk-color-primary-vivid);
	color: #fff;
	padding: 8px 24px;
}
.global-nav-list li a:hover {
	opacity: 1;
}
.global-nav-list li#menu-item-7523 a:hover {
	opacity: 0.7;
}

.global-nav-list li a::after {
	position: absolute;
	content: '';
	bottom: 0;
	left: 0;
	width: 0;
	height: 1px;
	background: #0060b3;
	transition: all 0.3s ease 0s;
}
.global-nav-list li a:hover::after {
	width: 100%;
}
.global-nav-list > li > ul.sub-menu {
	margin-left: -82px;
	width: 164px;
}
.global-nav-list .sub-menu li {
	font-size: 14px;
}
.global-nav-list .sub-menu li a:hover {
	background-color: color-mix(in srgb, var(--vk-color-primary-vivid) 70%, transparent);
}
@media (992px < width) {
	.device-pc .global-nav-list > li > a {
		padding: 8px 10px;
	}
	/* li や ul 側の最小高さ指定を解除 */
	.device-pc .global-nav-list > li,
	.device-pc .global-nav-list {
		min-height: 0 !important;
		height: 34px !important;
		gap: 22px;
	}
}

/* mobile nav */

.vk-mobile-nav {
	background-color: var(--vk-color-primary-vivid);
	border-bottom: none;
}
.vk-mobile-nav nav > ul {
	border-top: none;
}
.vk-mobile-nav .widget_nav_menu ul li a,
.vk-mobile-nav nav ul li a {
	color: #fff;
	border-bottom: none;
}
.vk-mobile-nav .sub-menu li a {
	padding-top: 0.3em;
	padding-bottom: 0.3em;
}

/* ==========================================
   VK Mobile Nav 開閉ボタン（文字の上下中央に配置）
   ========================================== */

/* 親要素（li） */
#vk-mobile-nav .vk-menu-acc li.menu-item-has-children {
	position: relative !important;
}

/* 1. メニューリンク（aタグ）とボタンの高さを合わせる */
#vk-mobile-nav .vk-menu-acc li.menu-item-has-children > a {
	position: relative !important;
	display: inline-block !important;
	vertical-align: middle !important; /* テキスト自体も中央揃え */
	padding-right: 0 !important;
}

/* 2. ボタン本体（acc-btn）：文字のすぐ右横＆上下中央に配置 */
#vk-mobile-nav .vk-menu-acc li .acc-btn {
	position: relative !important;
	display: inline-block !important;
	vertical-align: middle !important; /* 文字の中央線に揃える */
	right: auto !important;
	top: auto !important;
	bottom: auto !important;
	transform: none !important;
	/* 上下位置を上に持ち上げる微調整 (-3px〜-5px程度) と 左間隔 (8px) */
	margin: 3px 0 0 15px !important;
	padding: 0 !important;
	width: 20px !important;
	height: 20px !important;
	background-color: #005bac !important;
	background-image: none !important;
	border: 1px solid #fff !important;
	border-radius: 0 !important;
	cursor: pointer !important;
	z-index: 10 !important;
}

/* 内部の自動生成要素を非表示 */
#vk-mobile-nav .vk-menu-acc li .acc-btn * {
	display: none !important;
}

/* 3. 中の白矢印（::after）：閉じている時（下向き ∨） */
#vk-mobile-nav .vk-menu-acc li .acc-btn::after {
	content: '' !important;
	position: absolute !important;
	top: calc(50% + 1px) !important;
	left: 50% !important;
	width: 7px !important;
	height: 7px !important;
	border-top: 2px solid #fff !important;
	border-right: 2px solid #fff !important;
	background: none !important;
	transform: translate(-50%, -50%) rotate(-45deg) !important;
	transform-origin: center center !important;
	transition: transform 0.3s ease !important;
	display: block !important;
}

/* 4. 中の白矢印（::after）：開いている時（上向き ∧） */
#vk-mobile-nav .vk-menu-acc li .acc-btn.acc-btn-open::after {
	top: calc(50% - 1px) !important;
	transform: translate(-50%, -50%) rotate(135deg) !important;
}
@media (1199px < width) {
	body.device-pc .vk-mobile-nav-menu-btn {
		display: none !important;
	}
	body.device-pc .vk-mobile-nav {
		display: block;
	}
}
@media (width < 1200px) {
	.global-nav {
		display: none !important;
	}
}
@media (992px < width) {
	body.device-pc .vk-mobile-nav-menu-btn {
		display: block;
	}
	body.device-pc .vk-mobile-nav {
		display: block;
	}
}
@media (width < 991px) {
	.global-nav {
		display: none !important;
	}
}

/* ==================================================
   1. モバイルボタン（通常時：1.5倍 / 高さ45px / 黒 / シャープ階段線）
================================================== */
#vk-mobile-nav-menu-btn {
	background: none !important;
	background-color: transparent !important;
	border: none !important;
	box-shadow: none !important;
	text-indent: 0 !important;
	font-size: 0 !important;
	overflow: visible !important;

	width: 66px !important;
	height: 45px !important;
	padding: 0 !important;
	position: fixed !important;
	cursor: pointer !important;
	z-index: 999999 !important; /* メニューの上に出すための最前面指定 */
}

/* 擬似要素（上・下の線：通常時は黒） */
#vk-mobile-nav-menu-btn::before,
#vk-mobile-nav-menu-btn::after {
	content: '' !important;
	position: absolute !important;
	right: 15px !important; /* 右寄せ */
	height: 2px !important; /* 線の太さ 2px */
	background-color: #000 !important; /* 通常時の線の色：黒 (#000) */
	border-radius: 0 !important; /* 角丸なし（シャープ） */
	transition:
		transform 0.3s ease,
		top 0.3s ease,
		width 0.3s ease,
		background-color 0.3s ease,
		box-shadow 0.3s ease !important;
}

/* 上の線（36px） ＋ 中央の線（27px：box-shadowで右寄せ生成） */
#vk-mobile-nav-menu-btn::before {
	top: 11px !important;
	width: 36px !important;
	box-shadow: 9px 8px 0 0 #000 !important; /* 通常時の中央線 */
}

/* 下の線（18px） */
#vk-mobile-nav-menu-btn::after {
	top: 27px !important;
	width: 18px !important;
}

#vk-mobile-nav-menu-btn:hover {
	opacity: 0.7;
}

/* ==================================================
   2. メニュー開閉時（「✕」印への変形 ＆ 白色化）
================================================== */
/* 開いた時の線の色を「白 (#fff)」に変更 ＆ 長さを36pxに統一 */
#vk-mobile-nav-menu-btn.vk-mobile-nav-menu-btn-open::before,
#vk-mobile-nav-menu-btn.menu-open::before,
#vk-mobile-nav-menu-btn.is-active::before,
#vk-mobile-nav-menu-btn.active::before {
	top: 19px !important;
	width: 36px !important;
	background-color: #fff !important; /* ✕印の色：白 */
	box-shadow: none !important; /* 中央線を消去 */
	transform: rotate(45deg) !important;
}

#vk-mobile-nav-menu-btn.vk-mobile-nav-menu-btn-open::after,
#vk-mobile-nav-menu-btn.menu-open::after,
#vk-mobile-nav-menu-btn.is-active::after,
#vk-mobile-nav-menu-btn.active::after {
	top: 19px !important;
	width: 36px !important;
	background-color: #fff !important; /* ✕印の色：白 */
	transform: rotate(-45deg) !important;
}

/* ==================================================
   3. メニュー本体の開閉制御（表示用）
================================================== */
#vk-mobile-nav-menu-btn.vk-mobile-nav-menu-btn-open + #vk-mobile-nav,
#vk-mobile-nav-menu-btn.menu-open + #vk-mobile-nav,
#vk-mobile-nav-menu-btn.is-active + #vk-mobile-nav,
#vk-mobile-nav.vk-mobile-nav-open,
#vk-mobile-nav.is-active {
	display: block !important;
	opacity: 1 !important;
	visibility: visible !important;
	transform: none !important;
}

/* Footer */
#block-22 {
	width: 187px;
	margin-bottom: 0;
}
.f-address {
	font-size: 0.8125rem;
}
.f-cta {
	color: #fff;
	padding-top: 180px !important;
	padding-bottom: 110px !important;
	margin-right: calc(50% - 50vw);
	margin-left: calc(50% - 50vw);
	padding-right: calc(50vw - 50%);
	padding-left: calc(50vw - 50%);

	position: relative; /* 子要素の基準位置にする */
	overflow: hidden;
}

/* 背景画像とマスクを「疑似要素」に持たせる */
.f-cta:before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 1; /* 中のコンテンツの背面に配置する */

	/* 背景の設定 */
	background: url(https://www.sunfield-eg.co.jp/login/wp-content/uploads/2026/08/bg-cta-scaled.png);
	background-size: cover;
	background-position: center top;
	background-repeat: no-repeat;
}
.f-cta div {
	z-index: 3;
}

.cta-inner {
	max-width: 748px;
	margin-bottom: 85px;
}
.cta-inner h2 {
	font-size: 30px;
	font-size: clamp(24px, 2vw + 16px, 30px) !important;
	margin-bottom: 50px !important;
	line-break: strict;
	word-break: keep-all;
	overflow-wrap: break-word;
}
.sec-cta__buttons {
	display: flex;
	justify-content: center;
	gap: 45px;
	font-weight: 500;
}
@media (width < 1061px) {
	.sec-cta__buttons {
		gap: 4vw;
	}
}
@media (768px < width) {
	.col-md-6 {
		flex: 0 0 100%;
		max-width: 100%;
	}
}
@media (max-width: 768px) {
	.f-cta:before {
		background: url(https://www.sunfield-eg.co.jp/login/wp-content/uploads/2026/10/bg-cta-sp.png);
		background-size: cover;
		background-position: top center;
	}
}

@media (width < 576px) {
	.f-cta {
		padding-top: 100px !important;
	}
}

/* 白枠カード型ボタン */
.cta-btn {
	position: relative;
	flex: 1;
	max-width: 480px;
	background-color: #fff;
	padding: 43px 50px 43px 30px;
	text-decoration: none;
	display: flex;
	align-items: center;
	justify-content: center;
}
/* borderで作る矢印（＞） */
.cta-btn::after {
	content: '';
	position: absolute;
	right: 28px; /* 右端からの位置 */
	top: 50%; /* 縦中央寄りに配置 */
	width: 10px; /* 矢印のサイズ（幅） */
	height: 10px; /* 矢印のサイズ（高さ） */

	/* 上と右だけに線を引く */
	border-top: 2px solid #005bac; /* 【調整可】線の太さと色 */
	border-right: 2px solid #005bac;

	/* 45度回転させて「＞」にする */
	transform: translateY(-50%) rotate(45deg);
	transition: right 0.2s ease;
}

/* ホバー時に矢印を少し右に動かす */
.cta-btn:hover::after {
	right: 22px;
}
/* アイコンを配置するためのテキスト部分 */
.cta-btn__content {
	display: flex;
	align-items: center;
	gap: 8px; /* アイコンとテキストの間隔 */
}

/* 共通設定 */
.cta-btn__content::before {
	content: '';
	display: inline-block;
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	flex-shrink: 0;
}

/* 電話アイコン */
.cta-btn--tel .cta-btn__content::before {
	width: 30px; /* アイコンの幅 */
	height: 33px; /* アイコンの高さ */
	background-image: url('https://www.sunfield-eg.co.jp/login/wp-content/uploads/2026/08/ico-tel.svg');
	align-self: flex-start;
	margin-top: 7px;
}

/* メールアイコン */
.cta-btn--contact .cta-btn__content::before {
	width: 28px;
	height: 24px;
	background-image: url('https://www.sunfield-eg.co.jp/login/wp-content/uploads/2026/08/ico-mail.svg');
	margin-top: 2px;
}
.cta-btn__number {
	display: block;
	font-size: clamp(1.75rem, 1.25rem + 1.8vw, 2.5rem);
	line-height: 1;
}

.cta-btn__sub {
	font-size: clamp(12px, 5vw, 16px);
	display: block;
	text-align: center;
	margin-top: 4px;
}

.cta-btn__label {
	font-size: 26px;
	font-size: clamp(14px, 4.5vw, 26px);
}
.sec-cta__buttons a:hover {
	opacity: 1;
}

/* スマホ対応（1列縦並び） */
@media screen and (max-width: 768px) {
	.sec-cta__buttons {
		flex-direction: column;
		align-items: center;
	}
	.cta-btn {
		width: 100%;
	}
	.cta-btn--tel {
		padding-top: 32px;
		padding-bottom: 32px;
	}
	.cta-btn--tel .cta-btn__content::before {
		margin-top: 5px;
	}
	/* 1. 親要素：CSS Gridを使って全ボタンの高さを自動で揃える */
	.cta-btn-container {
		/* ※実際の親コンテナのクラス名に変更してください */
		display: grid !important;
		grid-template-columns: minmax(0, 300px) !important; /* ボタンの最大幅（例: 300px） */
		justify-content: center !important; /* 親要素（画面幅）に対して真ん中寄せ */
		gap: 16px !important; /* ボタン同士の上下の隙間 */
		width: 100% !important;
	}

	/* 2. ボタン本体：一番高いボタンに自動で揃う */
	.cta-btn {
		/* ※実際のボタン要素のクラス名に変更してください */
		display: flex !important;
		flex-direction: column !important;
		justify-content: center !important; /* 中身を上下中央寄せ */
		align-items: center !important; /* 中身を左右中央寄せ */
		height: 100% !important; /* Gridの行の高さいっぱいに広げて揃える */
		box-sizing: border-box !important;
	}
}
/********* フッター全体・ナビゲーション追加分 *********/

/* フッター全体設定 */
.site-footer {
	padding: 0 35px 10px;
}
.site-footer-content {
	margin-bottom: 70px;
}
.site-footer-content > .row > div {
	padding-left: 0;
	padding-right: 0;
}
/* PCサイズ（992px以上）でのレイアウト調整 */
@media (min-width: 992px) {
	/* 親要素をFlexbox化して一列に並べる */
	.site-footer-content > .row {
		display: flex !important;
		flex-wrap: nowrap !important; /* 途中で改行させない */
		justify-content: flex-end;
	}

	/* ウィジェット1（ロゴ等）：適切な幅に抑えて左寄せ */
	.site-footer-content > .row > .col-lg-4:nth-child(1) {
		flex: 0 0 auto !important;
		width: 45% !important; /* ロゴ・住所側の幅（お好みに合わせて調整可） */
		max-width: 45% !important;
		margin-right: auto !important; /* 右側に自動で余白を作って押し出す */
	}

	/* ウィジェット2・3（メニュー）：中身の幅に合わせて右寄せ */
	.site-footer-content > .row > .col-lg-4:nth-child(2),
	.site-footer-content > .row > .col-lg-4:nth-child(3) {
		flex: 0 0 auto !important;
		width: auto !important; /* 文字幅に合わせる */
		max-width: none !important;
	}
	.site-footer-content > .row > .col-lg-4:nth-child(2) {
		margin-right: 50px !important; /* 2と3の間の隙間（お好みの数値に変更可） */
	}
}
@media (769px <= width <= 991px) {
	.site-footer-content > .row > .col-lg-4:nth-child(2),
	.site-footer-content > .row > .col-lg-4:nth-child(3) {
		flex: 0 0 50%;
	}
}

/* リンク共通 */
.site-footer a {
	text-decoration: none !important;
	color: #2c2c2c;
}

/* リストの標準スタイルリセット */
.site-footer .widget_nav_menu ul.menu {
	list-style: none !important;
	padding-left: 0 !important;
	margin-left: 0 !important;
}

.site-footer .widget_nav_menu ul.menu li {
	font-size: 16px;
	line-height: 1;
}
.site-footer .widget_nav_menu ul.menu .current_page_item a {
	background-color: inherit;
}

/* ------------------------------------------
   1階層目（親メニュー）： borderで作る矢印（＞）
   ------------------------------------------ */
.site-footer .widget_nav_menu ul.menu > li > a {
	position: relative;
	font-size: 14px;
	padding-left: 20px;
	display: inline-block;
	border-bottom: none;
	padding-top: 0.5em;
	padding-bottom: 0.5em;
}
.widget_nav_menu ul.menu > li > a:hover,
.widget_nav_menu ul.menu li ul li a:hover {
	background-color: transparent !important;
}
/* 擬似要素による「＞」矢印 */
.site-footer .widget_nav_menu ul.menu > li > a::before {
	content: '';
	position: absolute;
	left: 2px;
	top: 50%;
	width: 6px;
	height: 6px;
	border-top: 2px solid #005bac; /* 矢印の線（上） */
	border-right: 2px solid #005bac; /* 矢印の線（右） */
	transform: translateY(-50%) rotate(45deg); /* 45度回転して「＞」に */
	transition: left 0.2s ease;
}

/* ホバー時に少し右へ動くアニメーション */
.site-footer .widget_nav_menu ul.menu > li > a:hover::before {
	left: 5px;
}

/* ------------------------------------------
   2階層目（サブメニュー）： 「ー」記号
   ------------------------------------------ */
/* .site-footer .widget_nav_menu ul.menu li ul {
  list-style: none !important;
  padding-left: 0 !important;
} */

.site-footer .widget_nav_menu ul.menu li ul li a {
	position: relative;
	color: #4d4d4d;
	font-size: 14px;
	padding-left: 5px;
	padding-top: 0.5em;
	padding-bottom: 0.5em;
	margin-left: 1rem;
	font-weight: 400;
	display: inline-block;
	border-bottom: none;
}

/* .site-footer .widget_nav_menu ul.menu li ul li a::before {
  content: "ー";
  position: absolute;
  left: 2px;
  top: 50%;
  transform: translateY(-50%);
} */

/* copyright */
.site-footer-copyright {
	padding: 0;
}
.site-footer-copyright p {
	margin: 0;
	text-align: left;
}
.site-footer-copyright p:nth-of-type(2) {
	display: none;
}

/* page-header*/
/* ページヘッダー全体の調整（背景画像含む） */
.page-header {
	/* margin-top: 0;
	margin-bottom: 0;
	padding-top: 0;
	padding-bottom: 0;*/
	display: flex;
	align-items: flex-end; /* テキストを下に配置 */
	/* position: relative;
	z-index: 1; */
	aspect-ratio: 1366/300;
	text-align: left;
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
}

.page-id-7502 .page-header {
	background-image: url('https://www.sunfield-eg.co.jp/login/wp-content/uploads/2026/10/page-header-support-scaled.jpg');
}
.page-id-7965 .page-header {
	background-image: url('https://www.sunfield-eg.co.jp/login/wp-content/uploads/2026/10/page-header-service-scaled.jpg');
}
.page-id-7510 .page-header {
	background-image: url('https://www.sunfield-eg.co.jp/login/wp-content/uploads/2026/10/page-header-company-scaled.jpg');
}
.page-id-7508 .page-header {
	background-image: url('https://www.sunfield-eg.co.jp/login/wp-content/uploads/2026/10/page-header-recruit-scaled.jpg');
}
.page-id-19 .page-header {
	background-image: url('https://www.sunfield-eg.co.jp/login/wp-content/uploads/2026/10/page-header-contact-scaled.jpg');
}
.page-id-7834 .page-header {
	background-image: url('https://www.sunfield-eg.co.jp/login/wp-content/uploads/2026/10/page-header-entry-scaled.jpg');
}
.page-id-31 .page-header {
	background-image: url('https://www.sunfield-eg.co.jp/login/wp-content/uploads/2026/10/page-header-privacy-scaled.jpg');
}

/* ヘッダー内部のコンテナ（文字の配置・余白の調整） */
.page-header .container,
.page-header .page-header-inner {
	padding-bottom: 1rem;
}

/* タイトル文字のスタイル */
.page-header .page-header-title,
.page-header-title {
	color: #ffffff; /* 白文字 */
	font-size: clamp(1rem, 0.65rem + 1.4vw, 1.875rem);
	font-weight: 500;
}

@media (min-width: 1200px) {
	.page-header {
		aspect-ratio: initial;
		min-height: 300px; /* 画像の高さ（好みに応じて調整） */
	}
}
@media (max-width: 768px) {
	.page-header .container,
	.page-header .page-header-inner {
		padding-bottom: 0;
	}
}
@media (max-width: 576px) {
	.page-header {
		aspect-ratio: inherit;
	}
}

/* TOP */
.home .site-body {
	background: url(https://www.sunfield-eg.co.jp/login/wp-content/uploads/2026/10/bg01-scaled.png)
		no-repeat center 87px / 100% auto;
}
.top-fv {
	width: 100vw;
	margin-left: calc(50% - 50vw);
	max-width: 100vw;
	height: auto;
	min-height: 0;
	box-sizing: border-box;
	gap: 4.5%;
}
.top-fv figure.wp-block-image {
	width: 35%;
	height: auto;
	margin: 0;
	flex-shrink: 0; /* 35%幅を保持 */
}
.top-fv figure.wp-block-image img {
	width: 100%;
	height: auto;
	max-height: none; /* 1024px制限解除 */
	object-fit: unset; /* 比率を固定するためリセット */
}
.top-fv .fv-lead {
	font-size: clamp(26px, 4vw, 48px) !important;
	line-height: 1.6;
	font-weight: 600;
	margin: 0;
	transform: translateY(-50px);
}
.top-fv .fv-lead .f-s {
	font-size: 0.625em;
}
.top-fv2 {
	max-width: 1400px !important; /* 固定幅（表示させたい幅を指定） */
	margin-right: calc(50% - 50vw) !important; /* コンテナの右制限を強制解除 */
	margin-left: auto !important; /* 左側の余白を自動計算して右寄せる */
	height: auto;
	min-height: 0;
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 4.5%;
}
.top-fv2 h2 {
	margin-left: 1rem !important;
}
/* .top-fv2 > *:not(figure) {
	flex: 1;
} */

/* 右側の画像枠（figure）：右端にピッタリ寄せる */
.top-fv2 figure.wp-block-image {
	width: 36.5vw; /* 画面幅全体の35%として計算 */
	max-width: 600px;
	height: auto;
	margin: 0 0 0 auto; /* 右端に密着させる */
	flex-shrink: 0;
}
.top-fv2 h2 {
	font-size: 34px;
	font-size: clamp(22px, 3vw, 34px) !important;
	line-height: 1.7;
	margin-top: 85px;
	margin-bottom: 0;
	margin-left: 15px;
}
.top-fv2 figure.wp-block-image img {
	width: 100%;
	max-width: 600px;
	height: auto;
	max-height: none;
	display: block;
}
@media (1144px <= width) {
	.top-fv2 h2 .br01 {
		display: none;
	}
}
@media (width <= 1143px) {
	.top-fv2 h2 .br01 {
		display: block;
	}
	/* .top-fv2 {
		flex-direction: column-reverse;
	}
	.top-fv2 figure.wp-block-image {
		transform: translateY(0);
	} */
}
@media (width <= 992px) {
	.top-fv .fv-lead {
		transform: translateY(0);
	}
}
@media (width <= 768px) {
	.top-fv h2.fv-lead {
		margin-left: 30px !important;
		margin-top: 100px;
	}

	.top-fv2 {
		width: 100%;
		flex-direction: column;
		align-items: flex-start;
		margin-right: 0 !important;
	}
	.top-fv2 figure.wp-block-image {
		width: 80%;
		margin-top: 3rem;
	}

	.top-fv2 h2 {
		margin-left: 1rem !important;
	}
}
@media (width <= 575px) {
	.top-fv {
		flex-direction: column-reverse;
		align-items: flex-start;
	}

	/* 画像：左上に配置し、右側にテキストを回り込ませる */
	.top-fv .wp-block-image {
		float: left !important;
		width: 80% !important;
		max-width: 80% !important;
		margin: 3rem 15px 10px 0 !important; /* 右と下にテキストとの余白を作成 */
	}

	.top-fv .wp-block-image img {
		width: 100% !important;
		height: auto !important;
		display: block !important;
	}
}
/* ブロック全体を右寄せにする */

/* 1. 外枠セクション：位置基準とスクロール設定 */
.top-support.bg05 {
	background-position: center top;
}

/* 2. .top-support の擬似要素で右上イラストを配置・固定 */
/* .top-support::after {
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	width: 44vw;
	height: 100%;
	background-image: url('https://www.sunfield-eg.co.jp/login/wp-content/uploads/2026/08/top03.png');
	background-repeat: no-repeat;
	background-position: right top 100px;
	background-size: 44vw auto;
	background-attachment: fixed;

	pointer-events: none;
	z-index: 0;
} */

/* （参考） inner 側の余計な擬似要素や指定をリセット */
.top-support-inner {
	position: relative;
	margin-top: 60px !important;
}
.top-support-inner::after {
	display: none !important;
}

/* 内側のテキストコンテンツを画像の上に載せる */
.top-support-inner > * {
	position: relative;
	z-index: 1;
}
.sec-support__body {
	width: 100%;
	margin-top: 20px !important;
}
.sec-support__list {
	overflow: hidden;
	flex: 1;
	margin: 0 !important;
}

.sec-support__image {
	width: 40%;
	flex-shrink: 0;
}
.sec-support__image img {
	width: 100%;
	height: auto;
	display: block;
}

/* 各項目（01, 02, 03） */
.support-item {
	margin-bottom: 70px;
}
.support-item:nth-child(1) {
	margin-left: 0;
}
.support-item:nth-child(2) {
	margin-left: 106px;
}
.support-item:nth-child(3) {
	margin-right: 30px;
	float: right;
	margin-bottom: 0;
}
.support-item__header {
	display: flex;
	align-items: center;
	gap: 25px;
	margin-bottom: 12px;
}

/* 番号（01, 02, 03） */
.support-item__num {
	font-size: 74px;
	font-weight: 300;
	color: #b5b5b5;
	line-height: 1;
}

.support-item__title {
	position: relative; /* 擬似要素の位置の基準にする */
	display: inline-block;
	color: #fff;
	font-size: 22px;
	font-weight: 600;
	padding: 8px 24px;
	margin: 10px 0 0;
	z-index: 1; /* 文字を前面に出す */
}

.support-item__title::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #005bac; /* 背景色を移動 */
	transform: skewX(-15deg); /* 変形を移動 */
	z-index: -1; /* 文字の後ろに配置 */
}

/* テキスト本文 */
.support-item__text {
	width: 475px;
	line-height: 1.6;
	margin: 0;
	margin-left: 124px;
}

/* 1. Lightningテーマの sticky 阻害要因を解除 */
html,
body,
#outer-group,
.site-body,
.mainSection,
.entry-content,
.entry-body {
	overflow: visible !important;
}

/* 2. カードコンテナ（Flexbox解除＆レイアウトの安定化） */

.parallax-container {
	width: 96vw;
	max-width: 1400px;
	box-sizing: border-box;
	position: relative;
	left: 50%;
	transform: translateX(-50%);
	margin-left: 0;
	margin-right: 0;
}

.parallax-card {
	position: sticky !important;
	top: 250px;
	width: 100%;
	max-width: none;
	box-sizing: border-box;
	background: #ffffff;
	border: 1px solid #ececec;
	box-shadow: 0 4px 14px rgba(0, 45, 85, 0.06);
	color: #24394b;
	transform-origin: center top;
	transition:
		transform 0.3s ease,
		opacity 0.3s ease;
	overflow: hidden;
	margin-bottom: 60px;
	border-radius: 4px;
}
/* 重ね順設定 */
.parallax-card:nth-child(1) {
	z-index: 1;
}

.parallax-card:nth-child(2) {
	z-index: 2;
}

.parallax-card:nth-child(3) {
	z-index: 3;
}

/* 4枚目：締めのカード */
.parallax-card:nth-child(4) {
	z-index: 4;
	background: linear-gradient(120deg, #075ca8 0%, #064477 50%, #052b4d 100%);
	color: #ffffff;
	margin-bottom: 0 !important;
	padding-top: 4.5rem;
	padding-bottom: 4.5rem;
	border: none;
}

/* 4枚目を留めるためのスペーサー */
.parallax-spacer {
	height: 80vh;
	width: 100%;
	pointer-events: none;
}

/* スクロール連動アニメーション */
@supports (animation-timeline: view()) {
	.parallax-card:not(:nth-child(4)) {
		animation: card-scale linear forwards;
		animation-timeline: view();
		animation-range: exit 0% exit 100%;
	}

	.parallax-card:nth-child(4) {
		animation: none !important;
	}
}

/* 5. 内側コンテンツ */
.card-inner {
	padding: 10px 40px 10px 10px;
	min-height: 380px;
	display: flex;
	flex-direction: row;
	align-items: stretch;
	justify-content: space-between;
	gap: 40px;
	box-sizing: border-box;
}

/* 左側：テキストエリア */
.card-content {
	flex: 1;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

/* 右側：画像エリア */
.card-image {
	flex: 1;
	min-width: 0;
	display: flex;
	align-self: stretch;
}

.card-image img {
	display: block;
	width: 100%;
	height: 100%;
	max-height: none;
	object-fit: cover;
	border-radius: 4px;
	border: none;
}

/* 番号・英字ラベル */
.card-tag {
	color: #c5cdd4;
	font-size: clamp(48px, 5.5vw, 76px);
	font-weight: 300;
	line-height: 1.1;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	margin-bottom: 24px;
}

/* 見出し */
.card-inner h3 {
	color: #075ca8 !important;
	font-size: clamp(26px, 2.2vw, 36px);
	font-weight: 600;
	line-height: 1.5;
	letter-spacing: 0.02em;
	margin-top: 0;
	margin-bottom: 20px;
	word-break: auto-phrase;
}

/* 本文 */
.card-inner p {
	color: #34495a;
	font-size: 1.1rem;
	font-weight: 400;
	line-height: 1.9;
	margin: 0;
}

/* 強調テキスト */
.parallax-card strong {
	color: #075ca8;
	font-weight: 600;
	background: #e8f3fc;
	padding: 2px 6px;
	border: none;
}

/* 4枚目の文字色 */
.parallax-card:nth-child(4) .card-tag {
	color: #8ccbfa;
}

.parallax-card:nth-child(4) .card-inner h3 {
	color: #ffffff !important;
}

.parallax-card:nth-child(4) .card-inner p {
	color: #f0f5fa;
}

.parallax-card:nth-child(4) strong {
	color: #ffffff;
	border-bottom-color: rgba(255, 255, 255, 0.5);
}

/* 4枚目：中央揃え・ボタン配置用 */
.card-inner.text-center {
	flex-direction: column;
	text-align: center;
	align-items: center;
	justify-content: center;
	padding: 40px;
}

.card-inner.text-center .card-tag {
	margin-bottom: 32px;
}

.card-inner.text-center h3 {
	font-size: clamp(24px, 2vw, 32px);
	line-height: 1.6;
	margin-bottom: 24px;
}

.card-inner.text-center p {
	max-width: 640px;
	margin: 0 auto 30px;
	line-height: 1.9;
}

/* 6. スマホ対応 */
@media (max-width: 768px) {
	.parallax-container {
		max-width: none;
		box-sizing: border-box;
		margin-left: auto;
		margin-right: auto;
		padding-top: 20px;
		margin-bottom: 100px !important;
	}

	.parallax-card {
		position: sticky !important;
		top: 100px;
		left: auto;
		width: 100%;
		max-width: none;
		margin-left: 0;
		margin-right: 0;
		box-sizing: border-box;
		margin-bottom: 36px;
	}

	.card-inner {
		flex-direction: column-reverse;
		padding: 10px 10px 40px;
		gap: 24px;
		min-height: auto;
	}

	.card-content {
		flex: none;
		width: 100%;
	}

	.card-image {
		flex: none;
		height: 200px;
	}

	.card-image img {
		width: 100%;
		height: 200px;
		object-fit: cover;
	}

	.card-tag {
		font-size: 48px;
		margin-bottom: 18px;
	}

	.card-inner h3 {
		font-size: 25px;
		line-height: 1.5;
		margin-bottom: 16px;
	}

	.card-inner p {
		font-size: 1rem;
		line-height: 1.8;
	}

	.card-inner.text-center {
		padding: 30px 24px;
	}

	.card-inner.text-center .card-tag {
		margin-bottom: 24px;
	}

	.card-inner.text-center h3 {
		font-size: 24px;
		line-height: 1.6;
	}

	.card-inner.text-center p {
		margin-bottom: 24px;
	}
}

@media (max-width: 575px) {
	.parallax-card {
		top: 50px;
	}
	.parallax-card:nth-child(4) {
		padding-top: 1.5rem;
		padding-bottom: 1.5rem;
	}
}
/* ボタン本体 */
.top-about-btn {
	position: relative;
	display: inline-flex !important;
	align-items: center;
	padding: 16px 60px 16px 40px !important; /* 青い四角が入る余白 */
	background-color: #ffffff;
	color: #003e7e;
	border-radius: 50px;
	text-decoration: none;
	/* overflow: hidden; は削除（四角の形を保つため） */
}

.top-about-btn:hover {
	background-color: #ffffff;
	opacity: 1;
}

/* 1. 青い四角（::before）の位置調整 */
.top-about-btn::before {
	right: 24px !important; /* ★端ではなく、丸みの内側に配置 */
}
.top-about-btn:hover::before {
	opacity: 0.7;
}

/* 2. 白い矢印「＞」（::after）の位置調整 */
.top-about-btn::after {
	right: 34px !important; /* ★青い四角（right:20px、幅24px）の真ん中に合わせる */
}

/* ホバー時の動作（矢印を少し右へ動かす場合） */
.top-about-btn:hover::after {
	right: 32px !important;
}
/* トップ PRODUCTS */
.top-products {
	gap: 3rem;
}
.top-products-wrap {
	gap: 6.317%;
}
.top-products-box {
	flex: 1;
	gap: 5px;
}
.top-products-box h3 {
	font-size: clamp(2.5rem, 2.1rem + 1.8vw, 3.125rem);
	font-weight: 300;
	color: var(--vk-color-primary-vivid);
	text-align: right;
	width: 100%;
	margin-bottom: 0;
}
.top-products-box h3 a {
	color: var(--vk-color-primary-vivid);
}
.top-products-box .btn01 {
	width: 100%;
	font-size: 18px;
}
/* 下部リンクボタン */
.btn01 {
	display: flex;
	justify-content: right;
}
.btn01-link {
	position: relative;
	display: inline-block;
	color: #333;
	font-weight: bold;
	text-decoration: none;
	padding-right: 36px; /* 四角が入るスペース */
}
/* 1. 青い四角（::before） */
.btn01-link::before {
	content: '';
	position: absolute;
	right: 0;
	top: 50%;
	width: 24px;
	height: 24px;
	background-color: #005bac;
	transform: translateY(-50%);
}

/* 2. 中の白い矢印「＞」（::after） */
.btn01-link:hover::after {
	right: 8px;
}
.btn01-link::after {
	content: '';
	position: absolute;
	right: 10px; /* 青い四角の中央に来るように調整 */
	top: 50%;
	width: 8px;
	height: 8px;
	border-top: 2px solid #fff; /* 上の線 */
	border-right: 2px solid #fff; /* 右の線 */
	transform: translateY(-50%) rotate(45deg); /* 45度回転して「＞」にする */
	transition: right 0.2s ease;
}

/* TOP リクルート */
/* ==========================================
   採用情報（RECRUIT）セクション：決定版
========================================== */

/* 1. 全体セクション（相対配置） */
.recruit-section {
	align-items: center !important;
	position: relative;
	box-sizing: border-box;
	overflow: visible !important;
	padding: 60px 0 !important; /* 画像の上下飛び出し余白 */
}

/* 
   2. 右側の薄青背景（セクションの疑似要素として配置）
   これにより、画面右端から中央（画像の下）まで背景が敷かれます
*/
.recruit-section::before {
	content: '';
	position: absolute;
	top: 93px; /* 画像の「上」飛び出し分だけ下げる */
	bottom: -12px; /* 画像の「下」飛び出し分だけ上げる（下側に背景が被る） */
	right: 0;
	left: 8%; /* 画像の下まで背景を左側に伸ばす（必要に応じて微調整） */
	z-index: 1;
	background-image: url('https://www.sunfield-eg.co.jp/login/wp-content/uploads/2026/09/bg04.png');
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}

/* 3. 内部コンテンツ */
.recruit-section .wp-block-columns {
	position: relative;
	z-index: 2; /* テキストや画像を背景の上にのせる */
	margin: 0 !important;
	max-width: 100% !important;
	align-items: center;
}

/* ------------------------------------------
   4. 左カラム（画像：左寄り＆影なし）
------------------------------------------ */
.recruit-left-col {
	position: relative;
	z-index: 2;
	padding: 0 !important;
}

.recruit-left-col img {
	width: 100%;
	height: auto;
	display: block;
	object-fit: cover;
}

/* ------------------------------------------
   5. 右カラム（テキストエリア）
------------------------------------------ */
.recruit-right-col {
	position: relative;
	z-index: 2;
	background: transparent !important; /* カラム自体の背景は透明化 */
	padding: 40px 60px 40px 80px !important;
	transform: translateY(60px);
}
.recruit-right-col-inner {
	width: fit-content;
}
/* ------------------------------------------
   7. スマホ対応
------------------------------------------ */
@media (max-width: 992px) {
	.recruit-section {
		margin-bottom: 100px;
	}

	.recruit-section::before {
		top: 23%; /* スマホでは下半分のテキスト背景にする */
		left: 0;
	}

	.recruit-right-col {
		padding: 40px 20px !important;
	}
}
@media (max-width: 768px) {
	.recruit-right-col {
		display: flex;
		justify-content: center;
		transform: translateY(0);
	}
}

/* support */
.txt-box {
	width: 70%;
}
h2.page-lead {
	font-size: clamp(1.25rem, 1.05rem + 1vw, 1.875rem); /* 最大30px (1.875rem) */
	line-height: 1.7;
	font-weight: 600;
	margin-left: 0 !important;
	margin-bottom: 1rem !important;
}
.page-lead-sub {
	font-size: clamp(1rem, 0.88rem + 0.6vw, 1.625rem); /* 最大26px (1.625rem) */
}
.total-support-wrap {
	max-width: 1110px;
	background-image: url(https://www.sunfield-eg.co.jp/login/wp-content/uploads/2026/10/support01.png);
	background-position: right bottom;
	background-repeat: no-repeat;
	background-size: 56%;
	justify-content: space-between;
	overflow: hidden;
}
.txt-inner {
	margin-left: 0 !important;
	margin-right: 0 !important;
}
.wp-block-media-text.media-text__content-fl,
.wp-container-core-columns-is-layout-1c666923 {
	margin-left: 0 !important;
	margin-right: 0 !important;
}

.wp-block-media-text.media-text__content-fr > .wp-block-media-text__content,
.wp-block-media-text > .wp-block-media-text__content {
	padding: 0 8% 0 0 !important;
}
.wp-block-media-text.media-text__content-fr.page-top-cont > .wp-block-media-text__content {
	padding-right: 2% !important;
}
.wp-block-media-text.media-text__content-fl > .wp-block-media-text__content {
	padding: 0 0 0 8% !important;
	margin-left: 0;
	margin-right: 0;
}
.wp-block-media-text.media-text__content-fl.page-top-cont > .wp-block-media-text__content {
	padding-left: 2% !important;
}
.page-top-cont .img-s {
	width: 40%;
	max-width: 300px;
	margin-top: 2rem;
}
.reason-box h3 {
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.7;
}
.reason-box h3 span {
	font-size: 1.375rem;
}
.reason-num {
	color: #0060b3;
	font-size: 4rem;
	font-weight: 300;
	line-height: 1;
}

@media (max-width: 768px) {
	.wp-block-media-text > .wp-block-media-text__content {
		padding: 1rem 0 0 !important;
	}
}

/* ==========================================================================
   ステップ表示＆ボーダー＆矢印（VK Blocks対応完全版）
   ========================================================================== */

.flow-wrap {
	max-width: 835px !important;
	width: 75%;
}
/* 1. 外枠カード全体の基準設定 */
.wp-block-group.has-white-background-color.has-border-color {
	position: relative !important;
	overflow: visible !important;
	padding: 0 !important;
	margin-bottom: 62px !important;
	border: 1px solid #b5b5b5 !important;
	background-color: #ffffff !important;
}

/* 2. カード内部のコンテナ（Flexレイアウトの解除と縦並び化） */
.wp-block-group.has-white-background-color.has-border-color > .wp-block-group {
	display: block !important; /* 横並びFlexを解除 */
	width: 100% !important;
	padding: 0 !important;
	margin: 0 !important;
}

/* --------------------------------------------------------------------------
   3. 上部見出しエリア（高さを80pxに固定）
   -------------------------------------------------------------------------- */
.wp-block-group.has-white-background-color.has-border-color .is-nowrap.is-layout-flex {
	position: relative !important;
	display: flex !important;
	align-items: center !important;
	height: 80px !important; /* ★★ 高さを80pxに固定 ★★ */
	padding-left: 100px !important; /* 青枠幅(80px) + 余白(20px) */
	padding-right: 20px !important;
	margin: 0 !important;
	border-bottom: 1px solid #b5b5b5 !important; /* 下線 */
	box-sizing: border-box !important;
}

/* --------------------------------------------------------------------------
   4. 青いSTEPボックス（高さを見出しエリアと完全一致させる）
   -------------------------------------------------------------------------- */
.wp-block-group.has-vk-color-primary-background-color {
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	width: 80px !important; /* 横幅 */
	height: 80px !important; /* ★★ 見出しと同じ80pxに固定 ★★ */
	padding: 0 !important;
	margin: 0 !important;
	background-color: #0060b3 !important;
	border-radius: 0 !important;

	display: flex !important;
	flex-direction: column !important;
	justify-content: center !important;
	align-items: center !important;
	z-index: 2;
}
/* 擬似要素で「STEP」テキストを追加 */
.step-num::before {
	content: 'STEP' !important;
	display: block !important;
	color: #ffffff !important;
	line-height: 1 !important;
	margin-bottom: 3px !important;
}

/* 数字（01）の調整 */
.step-num p {
	color: #ffffff !important;
	font-size: 30px !important;
	font-weight: 300 !important;
	line-height: 1 !important;
	margin: 0 !important;
	padding: 0 !important;
}

/* 5. 見出しテキスト（ヒアリング・現地調査） */
.wp-block-heading.is-style-vk-heading-plain {
	color: #005bac !important;
	font-size: clamp(
		1rem,
		0.77rem + 1.15vw,
		1.375rem
	) !important; /* 最大22px (1.375rem) / 最小16px (1rem) */
	font-weight: 600;
}

/* 6. 本文エリア（下線の下の文章） */
.wp-block-group.has-white-background-color.has-border-color
	p.wp-block-paragraph:not(.has-white-color) {
	padding: 1.6rem 3.5rem !important;
	margin: 0 !important;
	line-height: 1.8 !important;
}

/* Spacer（余白調整ブロック）の無効化 */
.wp-block-spacer {
	display: none !important;
}

/* 7. ボックス下のV字矢印 */
.wp-block-group.has-white-background-color.has-border-color::after {
	content: '' !important;
	position: absolute !important;
	bottom: -45px !important; /* サイズに合わせて位置を微調整 */
	left: 50% !important;
	transform: translateX(-50%) !important;
	width: 73.2px !important; /* 91.5px × 0.8 */
	height: 30px !important; /* 37.5px × 0.8 */
	border: none !important;
	background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 73.2 30"><path d="M 8 4 L 36.6 26.4 L 65.2 4" fill="none" stroke="%23005bac" stroke-width="4" stroke-linecap="butt" stroke-linejoin="miter"/></svg>')
		no-repeat center / contain !important;
	z-index: 5;
}
.wp-block-group.has-white-background-color.has-border-color:last-child::after {
	display: none !important;
}
.service-wrap {
	max-width: 1110px;
	background-image: url(https://www.sunfield-eg.co.jp/login/wp-content/uploads/2026/10/servie01.png);
	background-position: right bottom;
	background-repeat: no-repeat;
	background-size: 56%;
	justify-content: space-between;
	overflow: hidden;
}

/* レスポンシブ対応 */
@media (max-width: 992px) {
	.total-support-wrap,
	.service-wrap {
		background-size: 75%;
	}
	.wp-block-group.has-white-background-color.has-border-color
		p.wp-block-paragraph:not(.has-white-color) {
		padding: 1.6rem !important;
	}
	.flow-wrap {
		width: 100%;
	}
}
@media (max-width: 768px) {
	.total-support-wrap,
	.service-wrap {
		background-size: 90%;
	}
	.wp-block-media-text.is-stacked-on-mobile {
		grid-template-columns: 100% !important;
	}
	.wp-block-media-text.is-stacked-on-mobile > .wp-block-media-text__content {
		grid-column: 1;
		grid-row: 2;
	}
	.wp-block-media-text.media-text__content-fl > .wp-block-media-text__content,
	.wp-block-media-text.media-text__content-fr > .wp-block-media-text__content {
		padding: 1rem 0 0 0 !important;
	}
	.wp-block-media-text.has-media-on-the-right > .wp-block-media-text__media {
		grid-column: 1;
	}
	.layout-container {
		display: flex;
		flex-direction: column;
	}

	.layout-img-bottom {
		width: 100%;
		margin-left: 0;
	}

	.layout-img-right {
		height: 350px;
	}

	.wp-block-group.has-white-background-color.has-border-color .is-nowrap.is-layout-flex {
		height: 60px !important;
		padding-left: 80px !important;
	}

	.wp-block-group.has-vk-color-primary-background-color {
		width: 60px !important; /* 横幅 */
		height: 60px !important; /* ★★ 見出しと同じ80pxに固定 ★★ */
	}
	.step-num p {
		font-size: 26px !important;
	}
}
@media (max-width: 575px) {
	.total-support-wrap,
	.service-wrap {
		background-size: 100%;
	}
}
/* service */
.btn-3d {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 20px;
	border: 1px solid var(--vk-color-primary-vivid);
	padding: 13px 70px 13px 30px;
}
.btn-3d::before {
	right: 16px;
}
.btn-3d::after {
	right: 26px;
}
.btn-3d:hover::after {
	right: 24px;
}
.btn-3d p {
	margin-bottom: 0;
}
.ico-3d {
	display: inline-block;
	width: 34px; /* アイコンの幅 */
	height: 36px; /* アイコンの高さ */
	flex-shrink: 0;
	background-image: url('https://www.sunfield-eg.co.jp/login/wp-content/uploads/2026/10/ico-3d.svg');
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
}

@media (max-width: 575px) {
	.system-hero-section .btn01 {
		width: 100%;
		display: inline !important;
	}
}
@media (max-width: 460px) {
	.btn-3d {
		font-size: 15px;
		gap: 8px;
		padding: 14px 35px 13px 8px;
	}
	.btn-3d::before {
		right: 7px;
	}
	.btn-3d::after {
		right: 17px;
	}
	.btn-3d:hover::after {
		right: 19px;
	}

	.ico-3d {
		width: 26px; /* アイコンの幅 */
		height: 28px; /* アイコンの高さ */
	}
}

/* --------------------------------------------------
  システム紹介カード全体の外枠
-------------------------------------------------- */
.system-card {
	margin: 0 auto 60px !important;
	background-color: #fff;
	border: 1px solid #92badd;
	padding: 20px 50px 40px;
	position: relative; /* 見出しをはみ出させるための基準位置 */
}

/* --------------------------------------------------
  1. ヘッダー / タイトル・リード文
-------------------------------------------------- */
.system-header {
	margin-bottom: 40px;
}

.system-title {
	background-color: #0060b3;
	color: #fff;
	padding: 12px 24px;
	font-size: clamp(18px, 1.2vw, 22px); /* 最小 18px、推奨値 1.5vw + 1rem など、最大 22px */
	font-weight: 500;
	margin: 0 0 50px 0;
	margin-left: -58px;
	width: fit-content; /* 文字の長さに合わせる */
}
.system-title span {
	font-size: 16px;
	font-weight: 500;
}
.system-leads ul {
	list-style: none;
	padding: 0;
	margin: 0;
}

.system-leads li {
	color: #0060b3;
	margin-bottom: 20px;
	font-weight: 500;
	font-size: clamp(16px, 0.8vw + 10px, 20px); /* 最大20px (1.25rem) / 最小18px (1.125rem) */
	position: relative; /* ::before の位置基準 */
	padding-left: 30px; /* アイコン分の余白を左に空ける (アイコン幅20px + マージン20pxなど) */
}

.system-leads li:last-child {
	margin-bottom: 0;
}

/* ::before でアイコンを絶対配置で左端に固定する */
.system-leads li::before {
	content: '';
	position: absolute;
	left: 0;
	top: 5px; /* 文字の高さやバランスに合わせて微調整 */
	width: 20px;
	height: 20px;
	background-color: #f6e035;
}

/* --------------------------------------------------
  2. メインビジュアル & 3Dボタンの横並び設定
-------------------------------------------------- */
.system-hero-section {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 60px;
	margin-bottom: 80px;
}
.system-main-image {
	/* flex: 1; */
	width: 60%;
}

.system-main-image img {
	width: 100%;
	height: auto;
	display: block;
}

/* ご指定の3Dボタン周りのレイアウト調整（右側に配置） */
.btn01 {
	flex-shrink: 0;
	width: 38%;
}

/* セクション全体の横並びレイアウト */
.section-row {
	display: flex;
	align-items: flex-start;
	gap: 40px; /* 見出しと右側コンテンツの間隔 */
}
.proposal-section {
	margin-bottom: 40px;
}

/* 左側の見出し（横棒付き） */
.section-label {
	flex-shrink: 0;
	width: 220px; /* 見出しエリアの幅（必要に応じて調整してください） */
	display: flex;
	align-items: flex-start;
	font-weight: 500;
	gap: 12px;
	padding-top: 15px; /* ボックスの高さに合わせて微調整 */
}

/* 見出しの左側の横棒（ダッシュ） */
.section-label::before {
	content: '';
	display: inline-block;
	width: 20px;
	height: 1px;
	background-color: #222222;
	flex-shrink: 0;
	margin-top: 0.75em;
}

/* 右側のコンテンツボックス（課題・提案） */
.section-content-box {
	flex: 1;
	display: flex;
	gap: 30px;
	padding: 30px 30px;
}

.blue-bg {
	background-color: #eaf3fc;
}

.yellow-bg {
	background-color: #fcf8e3;
}

.section-content-box p {
	margin: 0;
	flex: 1;
	font-size: 18px;
}

/* 右側の主要構成リスト */
.equipment-list-box {
	flex: 1;
	padding-top: 10px;
}

.equipment-list-box ul {
	list-style: disc;
	padding-left: 20px;
	margin: 0;
}

.equipment-list-box li {
	margin-bottom: 8px;
}

/* アバター・ロゴ画像 */
.user-avatar,
.company-logo {
	width: 80px;
	height: 80px;
}
.section-arrow-wrap {
	display: flex;
	justify-content: flex-end;
}
.section-arrow-divider {
	position: relative;
	width: calc(100% - 220px - 40px);
	height: 60px;
}
.section-arrow-divider::after {
	content: '' !important;
	position: absolute !important;
	top: 50% !important;
	left: 50% !important;
	transform: translate(-50%, -50%) !important;
	width: 73.2px !important; /* 91.5px × 0.8 */
	height: 30px !important; /* 37.5px × 0.8 */
	border: none !important;
	background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 73.2 30"><path d="M 8 4 L 36.6 26.4 L 65.2 4" fill="none" stroke="%23B5B5B5" stroke-width="4" stroke-linecap="butt" stroke-linejoin="miter"/></svg>')
		no-repeat center / contain !important;
	z-index: 5;
}

@media (max-width: 992px) {
	.system-hero-section {
		flex-direction: column;
		gap: 50px;
	}
	.system-hero-section .btn01 {
		justify-content: center;
	}
	.section-row {
		flex-direction: column;
		gap: 16px;
	}
	.section-label {
		width: 100%;
		padding-top: 0;
	}
	.section-content-box {
		flex-direction: column;
		align-items: center;
		padding: 20px;
	}
	.section-arrow-wrap {
		display: none;
	}
	.issue-section,
	.proposal-section {
		margin-bottom: 60px;
	}
	.system-leads li {
		padding-left: 25px;
	}
	.system-leads li::before {
		width: 15px;
		height: 15px;
	}
	.system-main-image {
		width: 100%;
	}
	.btn01 {
		width: 100%;
	}
}
@media (max-width: 768px) {
	.system-card {
		padding: 20px 30px 30px;
	}
	.system-title {
		margin-left: -40px;
	}
	.section-content-box p {
		font-size: 16px;
	}
}

/* --------------------------------------------------
  現場写真ギャラリー（横並び設定）
-------------------------------------------------- */
.gallery-grid {
	display: grid;
	grid-template-columns: 1fr 1fr; /* 左右に1frずつ均等に配置して横並びにする */
	gap: 30px; /* 写真同士の間隔 */
	margin-top: 70px;
}

.gallery-item {
	margin: 0;
}

.gallery-item img {
	width: 100%;
	height: auto;
	display: block;
}
.gallery-grid02 {
	display: grid;
	/* 2つの列の比率を固定し、高さの基準を揃える */
	grid-template-columns: auto 1fr;
	align-items: start; /* 上揃えにする場合 */
	gap: 30px;
	margin-top: 70px;
	max-width: 950px; /* 全体の最大幅を制限して右側に余白を作る */
	width: 100%;
}

/* 左側：縦長の画像 */
.gallery-grid02 > *:nth-child(1) {
	width: 100%;
	max-width: 320px; /* 左側の最大幅をここで調整可能 */
	height: auto;
	aspect-ratio: 489 / 654; /* 縦長のバランスに調整 */
	object-fit: cover;
}

/* 右側：横長の画像（ご指定の 489px × 327px の比率をキープ） */
.gallery-grid02 > *:nth-child(2) {
	width: 100%;
	max-width: 489px; /* ご指定の幅を最大値としてレスポンシブに縮小 */
	height: auto;
	aspect-ratio: 489 / 327; /* ご指定の横長比率 */
	object-fit: cover;
}

@media (max-width: 992px) {
	.gallery-grid02 {
		display: grid;
		/* 左側を30%、右側を40%（残りの余白や全体のバランスに合わせた比率）で横並びにする */
		grid-template-columns: 3fr 4fr;
		/* 画像を上揃えにする */
		align-items: start;
		gap: 30px;
		margin-top: 70px;
		max-width: 950px;
		width: 100%;
	}

	/* 左側：縦長の画像 */
	.gallery-grid02 > *:nth-child(1) {
		width: 100%;
		height: auto;
		aspect-ratio: 489 / 654; /* 縦長の比率 */
		object-fit: cover;
	}

	/* 右側：横長の画像（ご指定の 489px × 327px の比率） */
	.gallery-grid02 > *:nth-child(2) {
		width: 100%;
		height: auto;
		aspect-ratio: 489 / 327; /* 横長の比率 */
		object-fit: cover;
	}
}

@media (max-width: 768px) {
	.gallery-grid,
	.gallery-grid02 {
		grid-template-columns: 1fr; /* スマホでは縦並びにする */
		max-width: 100%;
		margin-right: 0;
	}
	.gallery-grid02 > *:nth-child(1) {
		max-width: 100%;
	}
}

/* 全体のコンテナ：PC・タブレットは3カラム、gap: 30px */
.pdf-list-container {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 30px;
	width: 100%;
}

/* 各アイテムのレイアウト */
.pdf-item {
	display: flex;
	flex-direction: column;
	align-items: center;
}

/* 画像リンクのスタイル */
.pdf-image-link {
	margin-bottom: 15px;
}

/* テキストリンクのスタイル（アイコン用） */
.pdf-text-link {
	position: relative;
	display: inline-block;
	text-decoration: none;
	padding-right: 20px; /* アイコンが入る分の余白を確保（13px + 隙間） */
}

/* 疑似要素（::after）でSVGアイコンを指定 */
.pdf-text-link::after {
	content: '';
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
	width: 13px;
	height: 13px;
	background-image: url('https://www.sunfield-eg.co.jp/login/wp-content/uploads/2026/10/ico-blank.svg');
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
}

/* スマホ対応：画面幅768px以下は2カラムに切り替え */
@media screen and (max-width: 768px) {
	.pdf-list-container {
		grid-template-columns: repeat(2, 1fr);
		gap: 30px; /* スマホでもgap30pxを維持 */
	}
}

/* recruit */
.recruit-three-wrap {
}
.recruit-three-box {
	padding: 25px 30px 30px;
}
.recruit-three-box .num {
	color: #93b4d7;
	font-size: 80px;
	font-weight: 300;
	line-height: 1;
}
.recruit-three-box h3 {
	font-size: 20px;
	font-weight: 600;
	line-height: 1.6;
}
.recruitment-list {
	color: var(--vk-color-text-body);
	display: grid;
	grid-template-columns: 25% 75%; /* dtを25%、ddを75%に固定 */
	border-top: 1px solid #ccc;
	border-left: 1px solid #ccc;
	border-right: 1px solid #ccc;
	margin: 0;
	padding: 0;
}

.recruitment-list dt {
	background-color: #f8f9fa;
	padding: 15px;
	border-bottom: 1px solid #ccc;
	box-sizing: border-box;
	font-weight: 500;
	margin: 0;
}

.recruitment-list dd {
	margin: 0;
	padding: 15px;
	border-bottom: 1px solid #ccc;
	box-sizing: border-box;
	background-color: #ffffff;
}

/* 給与ハイライト */
.salary-highlight {
	font-size: 16px;
	font-weight: bold;
	color: #d9534f;
}
.btn02-wrap {
	display: flex;
	justify-content: center;
}
.btn02 a {
	background-color: var(--vk-color-primary-vivid);
	color: #fff;
	padding: 1rem 5rem;
}
@media (max-width: 1200px) {
	.recruit-three-box {
		padding: 25px 20px 20px;
	}
	.recruit-three-box h3 {
		font-size: 18px;
	}
}

/* 992px未満のとき、.recruit-three-box-wrap 内のカラムやフレックスを強制的に縦並びにする */
@media (max-width: 991.98px) {
	.recruit-three-box-wrap,
	.recruit-three-box-wrap .wp-block-columns,
	.recruit-three-box-wrap [class*='__inner'] {
		display: flex !important;
		flex-direction: column !important;
	}

	.recruit-three-box-wrap .wp-block-column,
	.recruit-three-box-wrap > * > * {
		width: 100% !important;
		max-width: 100% !important;
		flex-basis: 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}
}
@media (max-width: 768px) {
	.recruitment-list {
		display: block; /* スマホでは縦並びに切り替え */
	}
	.recruitment-list dt {
		width: 100%;
		background-color: #e9ecef;
		border-bottom: none;
		padding: 10px 15px;
	}
	.recruitment-list dd {
		width: 100%;
		padding: 15px;
	}
}
/* company */
.company-ttl {
	margin-left: 0 !important;
}
.company-message {
	background-image: url(https://www.sunfield-eg.co.jp/login/wp-content/uploads/2026/10/company02.png);
	background-position: right bottom;
	background-repeat: no-repeat;
	background-size: 56%;
	overflow: hidden;
}
.company-message div {
	justify-content: space-between;
}
.company-message div div:first-child {
	flex-basis: 43% !important;
	flex-grow: 0 !important;
}
.company-message div div:nth-child(2) {
	flex-basis: 52% !important;
	flex-grow: 0 !important;
	width: 45% !important;
}
.company-message img {
	width: 100%;
}
/* .philo-box-wrap {
	max-width: 1110px;
	margin-left: auto;
	margin-right: auto;
} */
.philo-box {
	width: 75%;
	padding: 30px;
	background-color: #fff;
	margin-bottom: 65px !important;
}
.philo-box:last-child {
	margin-bottom: 0 !important;
}
.philo-box:nth-child(odd) {
	margin-left: auto !important;
	margin-right: 0 !important;
}
.philo-box:nth-child(even) {
	margin-right: auto !important;
	margin-left: 0 !important;
}
.philo-box h3 {
	font-size: clamp(
		1.25rem,
		1.02rem + 1.15vw,
		1.625rem
	); /* 最大26px (1.625rem) / 最小20px (1.25rem) */
	font-weight: 600;
	border-bottom: 1px solid #707070;
	padding-bottom: 1rem;
}
.philo-box h3 span {
	color: var(--vk-color-primary-vivid);
	font-size: 0.7em;
	padding-left: 1rem;
}
.philo-box .lead {
	font-size: clamp(
		1.125rem,
		1.03rem + 0.45vw,
		1.25rem
	); /* 最大20px (1.25rem) / 最小18px (1.125rem) */
	font-weight: 500;
	color: var(--vk-color-primary-vivid);
	line-height: 1.6;
}

ul.value-list {
	padding-left: 0;
}
.value-item {
	display: flex;
	align-items: center;
	margin-bottom: 1.75rem;
}

.value-item:last-child {
	margin-bottom: 0;
}

/* ナンバー＋タイトルのグループ（幅の固定を解除し、要素に合わせてぴったり配置） */
.value-head {
	display: flex;
	align-items: center;
	flex-shrink: 0;
}

/* 番号ブロック（青色の四角） */
.value-num {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 33px;
	height: 33px;
	background-color: #0060b3;
	color: #ffffff;
	font-size: 1.25rem;
	margin-right: 1rem;
	font-weight: 300;
}

/* 見出しテキスト（青文字） */
.value-title {
	color: #0d62b4;
	font-size: 1.125rem;
	font-weight: 600;
}

/* 中央の区切り線（可変幅にしてタイトルの文字数差を吸収） */
.value-line {
	flex: 1; /* 空きスペースを埋めるように伸び縮み */
	height: 1px;
	background-color: #b5b5b5; /* 薄いグレー */
	margin-left: 1.25rem; /* タイトルと線の間の余白 */
	margin-right: 1.25rem; /* 線と説明文の間の余白 */
	flex-shrink: 0;
}

/* 説明テキスト（右側に寄せて開始位置を完璧に揃える） */
.value-desc {
	font-size: 1.125rem;
	line-height: 1.4;
	margin: 0;
	margin-left: auto; /* 右側の開始位置を統一 */
	width: 100%;
	width: 550px; /* 説明文の表示幅を統一（※デザインに合わせて調整可） */
	word-break: break-word;
	flex-shrink: 1;
}

@media (max-width: 992px) {
	.company-message {
		background-size: 75%;
	}
	.philo-box:nth-child(odd) {
		width: 100%;
		margin-left: 0 !important;
	}
	.philo-box:nth-child(even) {
		width: 100%;
		margin-right: 0 !important;
	}
}
@media screen and (max-width: 768px) {
	.value-item {
		flex-wrap: wrap;
		align-items: flex-start;
		margin-bottom: 2rem;
	}

	.value-line {
		display: none;
	}

	.value-head {
		width: 100%;
		margin-bottom: 8px;
	}

	.value-desc {
		width: 100%;
		margin-left: 0;
	}

	.value-num {
		width: 36px;
		height: 36px;
		font-size: 16px;
		margin-right: 16px;
	}

	.value-title {
		font-size: 18px;
	}
}
@media (max-width: 575px) {
	.company-message {
		background-size: 100%;
	}
}
/* 定義リスト全体の枠線・余白調整 */
.company-list {
	width: 100%;
	margin-left: 0 !important;
	margin-right: 0 !important;
	border-top: 1px solid #b5b5b5;
}

/* 横並びレイアウト（Flexbox） */
.company-list dt,
.company-list dd {
	padding: 2.2rem 2rem;
	margin: 0;
	border-bottom: 1px solid #b5b5b5;
	line-height: var(--vk-line-height);
}
.policy-wrap {
	margin-left: 0 !important;
	margin-right: 0 !important;
}
/* PCサイズ時の横並び設定 */
@media (min-width: 769px) {
	.company-list {
		display: flex;
		flex-wrap: wrap;
	}

	/* 左側（項目名） */
	.company-list dt {
		width: 22%;
		font-weight: 500;
	}

	/* 右側（内容） */
	.company-list dd {
		width: 78%;
	}
}

@media (max-width: 768px) {
	.company-list dt {
		padding-bottom: 0.5rem;
		border-bottom: none;
	}
	.company-list dd {
		padding-top: 0.5rem;
	}
}

.green-box {
	display: flex;
	justify-content: center;
	align-items: center;
	background-image: url(https://www.sunfield-eg.co.jp/login/wp-content/uploads/2026/10/company04-scaled.jpg);
	background-size: cover;
	background-position: center;
	aspect-ratio: 1366/137;
}
.green-box figure {
	width: 60%;
	max-width: 703px;
}
.green-box02 {
	display: flex;
	justify-content: center;
	align-items: center;
	background-image: url(https://www.sunfield-eg.co.jp/login/wp-content/uploads/2026/10/company05-scaled.png);
	background-size: cover;
	background-position: center;
	padding: 3rem 0;
}
.green-box02 p {
	font-size: clamp(1rem, 0.77rem + 1.15vw, 1.25rem); /* 最大20px (1.25rem) / 最小16px (1rem) */
	padding: 1.5rem;
}

@media (max-width: 768px) {
	.green-box {
		aspect-ratio: 683/137;
	}
	.green-box figure {
		width: 80%;
	}
}

/* privacy policy */
body.page-id-31 h2 {
	color: var(--vk-color-primary-vivid);
	font-size: 1.5rem;
	font-weight: 500;
}

/* ==================================================
 *  フォーム装飾用CSS（Snow Monkey Forms）
 * ================================================== */
.snow-monkey-form {
	max-width: 850px;
	padding: 3.5rem 3.5rem 2.5rem;
	margin: 0 auto;
	background: #ffffff;
	border: 1px solid #ececec;
	box-shadow: 0 4px 14px rgba(0, 45, 85, 0.06);
}
.smf-form--letter + .smf-action {
	margin-top: 2.5rem;
}
.smf-item__controls p {
	font-size: 0.8rem;
	margin-bottom: 0.5rem !important;
}
/* デフォルトでついている余白（margin）をリセットして収める */
.smf-item input[type='tel'],
.smf-item input[type='text'],
.smf-item input[type='email'],
.smf-item input[type='number'],
.smf-item input[type='password'],
.smf-item input[type='url'],
.smf-item input[type='date'],
.smf-item select,
.smf-item textarea {
	margin: 0 !important;
}
/* 最後の要素以外に下の余白をつける */
.smf-item__col--controls .smf-text-control:not(:last-child),
.smf-item__col--controls .smf-placeholder:not(:last-child),
.smf-item__col--controls > div > *:not(:last-child) {
	margin-bottom: 0.8rem !important;
}

/* 最後の要素は強制的に下余白を0にする */
.smf-item__col--controls .smf-text-control:last-child,
.smf-item__col--controls .smf-placeholder:last-child,
.smf-item__col--controls > div > *:last-child {
	margin-bottom: 0 !important;
}
/* ★重要：実際の入力欄（input）のサイズと枠をしっかり収める */
.smf-text-control__control {
	width: 100%;
	box-sizing: border-box; /* paddingやborderを含めて幅・高さを計算させる */
	height: auto; /* 固定値ではみ出さないようにする */
	max-height: 100%;
}
.smf-radio-buttons-control__control {
	flex-direction: column;
}

@media (min-width: 993px) {
	.smf-item {
		display: flex;
		align-items: stretch; /* 左右の高さを揃える */
		border-bottom: 1px solid #ccc;
		gap: 30px;
	}

	/* 左側（ラベル） */
	.smf-item__col--label {
		width: 30%;
		flex-shrink: 0;
		display: flex;
		align-items: center; /* ラベルを上下中央に */
		padding: 12px 15px;
	}

	.smf-item__label {
		margin: 0;
		width: 100%;
	}

	/* 右側（入力コントロール） */
	.smf-item__col--controls {
		width: 70%;
		flex-grow: 1;
		display: flex;
		align-items: center; /* 入力欄を上下中央に */
		padding: 12px 15px;
	}

	.smf-item__controls,
	.smf-placeholder,
	.smf-text-control {
		width: 100%;
	}
}
@media (max-width: 768px) {
	.snow-monkey-form {
		max-width: 850px;
		padding: 2.5rem 1.5rem 1.5rem;
	}
}
.smf-item__label__text {
	position: relative;
	font-weight: 500;
}
.smf-form .smf-text-control__control,
.smf-form .smf-textarea-control__control {
	border-radius: 0;
}
.smf-item:has([data-validations~='required']) .smf-item__label__text::after {
	position: absolute;
	top: 50%;
	right: -50px;
	transform: translateY(-50%);
	display: grid;
	place-items: center;
	padding: 2px 8px;
	content: '必須';
	font-size: 0.75rem;
	color: #fff;
	background: #ac0707;
}
.smf-radio-buttons-control__control {
	display: flex;
	gap: 1rem;
}
.smf-action .smf-button-control__control {
	background-image: none;
	background-color: #0060b3;
	color: #fff;
	border: none;
	border-radius: 0;
	transition: opacity 0.3s ease;
	padding: 0.7rem 4rem;
}
:where(form) button[type='submit']:where(:not(.btn, .button)):where(:not(:disabled)):hover,
input[type='submit']:where(:not(:disabled)):hover {
	opacity: 0.7;
}
.smf-button-control__control[data-action='back'] {
	background-color: #898989 !important; /* グレーの色指定 */
	color: #ffffff !important; /* 文字色（白） */
}
.smf-item__description a {
	color: var(--vk-color-primary-vivid);
}

/* アニメーション */
/* 初期状態：隠して少し小さくしておく */
.fade-in-pop {
	opacity: 0;
	transform: scale(0.6);
	/* 時間を1.2sに延ばし、イージングをゆったりした跳ね返りに変更 */
	transition:
		opacity 1.2s cubic-bezier(0.165, 0.84, 0.44, 1.15),
		transform 1.2s cubic-bezier(0.165, 0.84, 0.44, 1.15);
	will-change: opacity, transform;
}

/* 画面内に入ったときの状態 */
.fade-in-pop.is-visible {
	opacity: 1;
	transform: scale(1);
}
/* クラス名をオリジナル（my-slide-up）に変更 */
.my-slide-up {
	opacity: 0 !important;
	transform: translateY(15px) !important; /* プラス値＝下に15pxズレた状態 */
	transition:
		opacity 0.6s ease-out,
		transform 0.6s ease-out !important;
	will-change: opacity, transform;
}

/* 画面内に入った時：元の位置（0）へ昇る */
.my-slide-up.is-active {
	opacity: 1 !important;
	transform: translateY(0) !important;
}
/* メディアクエリ用に置いておく */

@media (width <= 991px) {
}

@media (width <= 767px) {
	.photo-two-col {
		display: block !important;
	}

	.photo-two-col img {
		margin-bottom: 20px;
	}
}

@media (width <= 575px) {
	.t-link br {
		display: block;
	}
}

input[type='text'] {
	border-color: #e3e3da;
	box-shadow: 1px 1px 5px rgb(0 0 0 / 10%);
}

.searchform input[type='submit'] {
	border: 0;
}

.pagination {
	margin-bottom: 8rem;
}

ul.page-numbers li a,
ul.page-numbers li span.page-numbers {
	background-color: #fff;
	border: 1px solid #e3e3da;
}

.searchform,
input[type='submit'] {
	font-size: 16px;
}
