/**
 * TOP（front-page）用。親テーマのレイアウトと干渉しないようプレフィックス depost- でスコープ。
 * 配色: 清潔なライトトーン + アクセント（キット近似 #1f3b95 / #ff4d00）
 */

/* 親 Gensen: body min-width 1330px + overflow-x:clip がヒーローのはみ出し・可変幅をクリップするため TOP で緩和 */
body.home#body.depost-coded-header,
body.home.depost-coded-header#body,
body.depost-is-front#body.depost-coded-header,
body.depost-is-front.depost-coded-header#body,
body.home.depost-coded-header,
body.depost-is-front.depost-coded-header {
	min-width: 0;
	overflow-x: visible;
	background-color: #fdfbf4 !important;
}

.depost-front-shell {
	max-width: 100%;
}

/* クリーム帯の上丸み外側は透明になるため、その裏までネイビーを伸ばす基準量（radius と同期） */
body.depost-is-front,
body.home.depost-coded-header {
	/* サイト下地：#main_col 外・マージン相殺部のすき間に親 body の #fff が出ないよう統一 */
	background-color: #fdfbf4;
	--depost-cream-top-r: clamp(48px, 11vw, 110px);
	/* 青（ABOUT）基準の段階的内寸 — 背景色が違っても左右・上方向の余白を同じ比率に */
	--depost-section-pad-x: clamp(1.35rem, 4vw, 2.25rem);
	--depost-section-pad-y: clamp(1.5rem, 3.5vw, 2.5rem);
	/* 見出しブロック共通余白（ABOUT 青背景の値を全セクション共有） */
	--depost-label-mb: clamp(0.4rem, 1.2vw, 0.65rem);
	--depost-display-mb: clamp(0.55rem, 1.6vw, 0.95rem);
	--depost-lead-mb: clamp(0.6rem, 1.5vw, 1rem);
	--depost-lead-fz: clamp(1.25rem, 5vw, 40px);
	--depost-body-mt: clamp(14px, 3.5vw, 26px);
	--depost-body-fz: clamp(1rem, 2.8vw, 20px);
	--depost-body-lh: 1.65;
	/* 角のウェッジ＋重なりゆれを吸収する下方向ブリード（ABOUT・タブパネル共通）— 角丸外側まで確実にネイビーを足す */
	--depost-navy-under-cream-bleed: calc(
		var(--depost-cream-top-r, clamp(48px, 11vw, 110px)) * 2.35 + clamp(28px, 5vw, 56px)
	);
	/*
	 * クリーム帯を上のネイビーに「少し食い込ませる」量（角丸のラインがはっきり見える程度）。
	 * 本文は padding-top で相殺。ABOUT 側は下パディング＋ブリード内に収める。
	 */
	--depost-cream-overlap-up: calc(
		var(--depost-cream-top-r, clamp(48px, 11vw, 110px)) * 0.42 + clamp(12px, 2.8vw, 22px)
	);
	/* 会社情報クリームを事業タブのネイビーパネル上に十分食い込ませる（角丸外はネイビー／白抜け防止） */
	--depost-company-overlap-extra: clamp(48px, 10vw, 100px);
	/* 会社情報セクションのネガティブマージン量（padding-top との組で本文位置を維持）— セクション内で再定義しない */
	--depost-company-overlap: calc(
		var(--depost-cream-overlap-up) + var(--depost-company-overlap-extra)
	);
	/* 会社情報の下：固定バーにかぶらない最低限＋パンくず直後のわずかな余白（旧 196px + 二重 clamp は過大） */
	--depost-company-pad-for-fixed-cta: calc(80px + env(safe-area-inset-bottom, 0px));
}

/* 本番カスタム CSS（改行制御）に合わせる */
.br-pc,
.br-tab,
.br-sp {
	display: none;
}

@media (min-width: 1025px) {
	.br-pc {
		display: inline;
	}
}

@media (min-width: 768px) and (max-width: 1024px) {
	.br-tab {
		display: inline;
	}
}

@media (max-width: 767px) {
	.br-sp {
		display: inline;
	}
}

/* TOP カラム余白（親 #main_col の上下マージンをヒーローで詰める） */
body.home #main_col.depost-front-shell,
body.depost-is-front #main_col.depost-front-shell,
body.home.depost-coded-header #main_col.depost-front-shell {
	margin-top: 0;
	margin-bottom: 0 !important; /* 親の margin: … 150px が白帯の原因になり得る */
	padding-top: 0;
	overflow: visible;
	/* カラム領域のデフォルト透過で親 body の #fff がチラつくのを防ぐ */
	background-color: #fdfbf4;
}

/* TOP下部: 会社情報〜フッター直前までをシンプルにクリームで統一 */
body.depost-is-front #footer,
body.home.depost-coded-header #footer {
	background-color: #fdfbf4 !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	box-shadow: none !important;
}

body.depost-is-front #footer_nav,
body.home.depost-coded-header #footer_nav {
	background-color: #fdfbf4 !important;
	margin: 0 !important;
	padding: 0 !important;
	display: none !important;
	border: 0 !important;
	box-shadow: none !important;
}

body.depost-is-front #footer_contents,
body.home.depost-coded-header #footer_contents {
	background-color: #fdfbf4 !important;
	color: #1a3b75 !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	box-shadow: none !important;
}

body.depost-is-front #footer .inner,
body.home.depost-coded-header #footer .inner,
body.depost-is-front #footer_info,
body.home.depost-coded-header #footer_info,
body.depost-is-front #footer_widget,
body.home.depost-coded-header #footer_widget {
	margin: 0 !important;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
	border: 0 !important;
	box-shadow: none !important;
	background-color: #fdfbf4 !important;
}

@media (max-width: 1023px) {
	body.depost-is-front,
	body.home.depost-coded-header {
		--depost-company-pad-for-fixed-cta: calc(66px + env(safe-area-inset-bottom, 0px));
	}
}

/* landscape SP: 固定CTA分の下余白を圧縮 */
@media (max-width: 896px) and (orientation: landscape) and (max-height: 460px) {
	body.depost-is-front,
	body.home.depost-coded-header {
		--depost-company-pad-for-fixed-cta: calc(54px + env(safe-area-inset-bottom, 0px));
	}

	.depost-fv-main__lead {
		font-size: 15px;
	}
}

/*
 * 固定ヘッダー: #main_contents の padding-top は body 背景＝白の帯になる。.depost-fv 内で確保する。
 * 非ログイン時はネガティブマージンで #main_contents に残りうる header 分のズレを詰める。
 */
body.home #main_contents,
body.depost-is-front #main_contents,
body.home.depost-coded-header #main_contents {
	padding-top: 0 !important;
	/* #main_col〜#footer のあいだに旧値で巨大な空きができるため、会社ブロック側の下余白に任せる */
	padding-bottom: 0 !important;
	/* 会社ブロックの絶対配置延長がレイアウト高に入らないため、#footer 手前にクリームを流動レイヤで追加 */
	/* #main_col 外周・フッター直前ですき間が body 白にならないよう（.home のみの環境も吸収） */
	background-color: #fdfbf4;
	overflow: visible;
}

body.home:not(.admin-bar) .depost-fv,
body.depost-is-front:not(.admin-bar) .depost-fv,
body.home.depost-coded-header:not(.admin-bar) .depost-fv {
	margin-top: -98px;
	padding-top: calc(98px + 98px);
	box-sizing: border-box;
}

@media (max-width: 767px) {
	body.home:not(.admin-bar) .depost-fv,
	body.depost-is-front:not(.admin-bar) .depost-fv,
	body.home.depost-coded-header:not(.admin-bar) .depost-fv {
		/*
		 * #main_contents には `padding-top: 0 !important` が掛かっているため、
		 * 固定ヘッダー（SP ロゴ＋キャッチを縦積みで約 78px）を避ける余白は
		 * ここ .depost-fv で全部確保する。78px + 20px ≈ 98px を最低値に、
		 * 絶対値ピクセルで CSS変数キャッシュ/PageSpeed 影響を回避。
		 */
		margin-top: 0;
		padding-top: 98px;
	}
}

@media (max-width: 374px) {
	body.home:not(.admin-bar) .depost-fv,
	body.depost-is-front:not(.admin-bar) .depost-fv,
	body.home.depost-coded-header:not(.admin-bar) .depost-fv {
		padding-top: 84px;
	}
}

/* SP 管理バー時: WPロゴバー(46px) + ヘッダー(78px) + 余白(20px) ≈ 144px */
@media screen and (max-width: 767px) {
	body.admin-bar.home .depost-fv,
	body.admin-bar.depost-is-front .depost-fv,
	body.admin-bar.home.depost-coded-header .depost-fv {
		margin-top: 0;
		padding-top: 144px;
	}
}

/* 管理バー時はヘッダー top オフセットぶんを上乗せ（ネガティブマージンは衝突しやすいので使わない） */
body.admin-bar.home .depost-fv,
body.admin-bar.depost-is-front .depost-fv,
body.admin-bar.home.depost-coded-header .depost-fv {
	margin-top: 0;
	padding-top: calc(32px + 98px);
	box-sizing: border-box;
}

@media screen and (max-width: 782px) {
	body.admin-bar.home .depost-fv,
	body.admin-bar.depost-is-front .depost-fv,
	body.admin-bar.home.depost-coded-header .depost-fv {
		padding-top: calc(46px + var(--depost-main-pad-top, 64px) + clamp(0.35rem, 2vw, 0.65rem));
	}
}

/* ---- ファーストビュー（見切れ防止を優先したレイアウト設計） ---- */
.depost-fv {
	position: relative;
	isolation: isolate;
	overflow: visible;
	width: 100%;
	max-width: 100%;
	margin-left: 0;
	margin-right: 0;
	--depost-fv-rocket-w: clamp(44px, 5.2vw, 72px);
	--depost-fv-rocket-h: clamp(52px, 6.2vw, 92px);
	/* 整備士: 基準サイズの 1.5 倍 */
	--depost-fv-lottie-mech-w: 63%;
	--depost-fv-lottie-mech-max-h: clamp(173px, 17.25vw, 237px);
	--depost-fv-safe-bottom: clamp(1.5rem, 3vw, 2.5rem);
}

/* SP: クラスタは行内ラップ。768px↑ で display:block に切替えし三角形の absolute 配置 */
.depost-fv-fixed__cluster {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: flex-end;
	align-items: flex-start;
	width: 100%;
	position: relative;
	box-sizing: border-box;
}

.depost-fv__lottie {
	width: 100%;
	max-width: 100%;
	flex: 0 0 auto;
}

.depost-fv__lottie--a,
.depost-fv__lottie--b,
.depost-fv__lottie--mech {
	max-width: 100%;
	align-self: flex-end;
}

.depost-fv__lottie dotlottie-player,
.depost-fv__lottie dotlottie-wc,
.depost-fv-hero-rocket dotlottie-player,
.depost-fv-hero-rocket dotlottie-wc {
	display: block;
	width: 100%;
	vertical-align: bottom;
}

/*
 * 本番 elementor-page-1460 と同等:
 * PC  → Top-background-blue2.png: bottom center / cover / fixed
 * TAB → Top-background.png:       bottom left  / cover / scroll
 * SP  → Top-background.png:       bottom left  / cover / scroll（1e2f12d 相当）
 */
.depost-fv__backdrop {
	position: absolute;
	z-index: 0;
	inset: 0;
	pointer-events: none;
	overflow: hidden;
	background-color: #e8eef5;
}

.depost-fv__backdrop picture,
.depost-fv__backdrop-img {
	display: block;
	width: 100%;
	height: 100%;
}

.depost-fv__backdrop-img {
	object-fit: cover;
	object-position: bottom center;
}

@media (min-width: 1025px) {
	.depost-fv__backdrop-img {
		position: fixed;
		left: 0;
		width: 100%;
		height: 100vh;
		max-height: none;
	}
}

@media (max-width: 1024px) {
	.depost-fv__backdrop-img {
		object-position: bottom left;
	}
}

.depost-fv__content {
	position: relative;
	z-index: 2;
	overflow: visible;
}

/* Elementor / 親の見出し指定より優先（リード含めブロック内は中央のバランスに統一） */
.depost-fv .depost-fv-main__copy,
.depost-fv .depost-fv-main__copy .depost-fv-main__h2,
.depost-fv .depost-fv-main__copy .depost-fv-main__h2-line1,
.depost-fv .depost-fv-main__copy .depost-fv-main__h2-line1-core,
.depost-fv .depost-fv-main__copy .depost-fv-main__h2-line1-wo-unit,
.depost-fv .depost-fv-main__copy .depost-fv-main__h2-line1-wo-text,
.depost-fv .depost-fv-main__copy .depost-fv-main__h2-line2,
.depost-fv .depost-fv-main__copy .depost-fv-main__h2-line2-inner,
.depost-fv .depost-fv-main__copy .depost-fv-main__lead {
	text-align: center !important;
}

/* メインヒーロー（テキスト＋Lottie。高さは内容＋セーフエリアで決める） */
.depost-fv-main {
	box-sizing: border-box;
	padding: var(--depost-section-pad-y, clamp(1.5rem, 3.5vw, 2.5rem)) 0 var(--depost-fv-safe-bottom, 1rem);
	overflow: visible;
}

.depost-fv-main__inner {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	margin: 0 auto;
	padding: 0 var(--depost-section-pad-x, clamp(1.35rem, 4vw, 2.25rem))
		var(--depost-fv-safe-bottom, 1rem);
	max-width: min(1200px, 100%);
	overflow: visible;
}

/* 見出し＋Lottie を1グループとして justify-content:center で画面中央に */
.depost-fv-main__hero-row {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 100%;
	gap: clamp(0.75rem, 3vw, 1.75rem);
	box-sizing: border-box;
}

.depost-fv-main__cluster-wrap {
	flex: 0 0 auto;
	pointer-events: none;
	width: 100%;
	max-width: 100%;
	display: flex;
	justify-content: center;
	box-sizing: border-box;
}

@media (min-width: 768px) {
	/* 上の空きを詰める（ヘッダー直下〜見出しまで） */
	.depost-fv-main {
		padding-top: clamp(0.35rem, 0.9vw, 0.75rem);
	}

	.depost-fv-main__hero-row {
		flex-direction: row;
		flex-wrap: nowrap;
		align-items: flex-start;
		justify-content: center;
		gap: clamp(1rem, 2.5vw, 2.5rem);
	}

	/* 左コピーは上寄せのまま（中央寄せにすると上に隙間が出る） */
	.depost-fv-main__copy {
		align-self: flex-start;
		padding-bottom: 0;
		overflow: visible;
	}

	/* 右Lottieだけさらに下げる */
	.depost-fv-main__cluster-wrap {
		width: auto;
		max-width: min(48vw, 520px);
		flex-shrink: 0;
		justify-content: flex-start;
		align-self: flex-start;
		margin-left: clamp(0.75rem, 2vw, 2rem);
		margin-top: clamp(3.75rem, 7.5vw, 6.5rem);
		margin-bottom: 0;
		padding-right: clamp(0.25rem, 1vw, 0.75rem);
		padding-bottom: clamp(0.35rem, 1vw, 0.75rem);
		overflow: visible;
	}

	/* 足元がクリーム帯に隠れないよう、PCでは重ねない */
	.depost-fv-overlap {
		margin-top: 0;
	}
}

@media (min-width: 1025px) {
	.depost-fv-main__inner {
		max-width: min(1320px, 100%);
		padding-left: clamp(1rem, 2.5vw, 2rem);
		padding-right: clamp(1rem, 2.5vw, 2rem);
	}
}

/*
 * 768px↑: 本番 Elementor 同型 flex（上段: 車2台 / 下段: 整備士）。
 * 3つとも幅ベースでスケールを揃え、固定の巨大 min-height は使わない。
 */
@media (min-width: 768px) {
	.depost-fv-fixed__cluster {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		align-items: flex-end;
		align-content: flex-end;
		width: min(48vw, 520px);
		flex: 0 0 auto;
		pointer-events: none;
		gap: 0;
		overflow: visible;
	}

	.depost-fv-fixed__cluster .depost-fv__lottie {
		position: static;
		width: auto;
		max-width: 100%;
		flex: 0 0 auto;
		align-self: flex-end;
		overflow: visible;
		min-width: 0;
	}

	.depost-fv-fixed__cluster .depost-fv__lottie dotlottie-player,
	.depost-fv-fixed__cluster .depost-fv__lottie dotlottie-wc {
		width: 100%;
		height: auto;
		max-height: none;
	}

	.depost-fv-fixed__cluster .depost-fv__lottie--a {
		width: 57%;
		flex: 0 0 57%;
		align-self: flex-start;
		margin-top: 18%;
		z-index: 2;
	}

	.depost-fv-fixed__cluster .depost-fv__lottie--b {
		width: 40%;
		flex: 0 0 40%;
		align-self: flex-end;
		z-index: 1;
	}

	/* 整備士: 車Lottieと同程度の見た目サイズ（幅＋max-height で縦長を抑える） */
	.depost-fv-fixed__cluster .depost-fv__lottie--mech {
		width: var(--depost-fv-lottie-mech-w, 63%);
		flex: 0 0 var(--depost-fv-lottie-mech-w, 63%);
		align-self: flex-end;
		margin: 0;
		height: var(--depost-fv-lottie-mech-max-h, 210px);
		max-height: var(--depost-fv-lottie-mech-max-h, 210px);
		min-height: 0;
		z-index: 4;
		display: flex;
		align-items: flex-end;
		justify-content: center;
		overflow: visible;
	}

	.depost-fv-fixed__cluster .depost-fv__lottie--mech dotlottie-player,
	.depost-fv-fixed__cluster .depost-fv__lottie--mech dotlottie-wc {
		width: 100%;
		height: 100%;
		max-height: var(--depost-fv-lottie-mech-max-h, 210px);
		min-height: 0;
		object-fit: contain;
		object-position: bottom center;
	}
}

@media (min-width: 768px) and (max-width: 1024px) {
	.depost-fv-fixed__cluster {
		width: min(50vw, 440px);
	}

	.depost-fv-fixed__cluster .depost-fv__lottie--a {
		width: 55%;
		flex-basis: 55%;
		margin-top: 14%;
	}

	.depost-fv-fixed__cluster .depost-fv__lottie--b {
		width: 38%;
		flex-basis: 38%;
	}

	.depost-fv-fixed__cluster .depost-fv__lottie--mech {
		width: 57%;
		flex-basis: 57%;
		height: clamp(150px, 15.75vw, 198px);
		max-height: clamp(150px, 15.75vw, 198px);
	}

	.depost-fv-fixed__cluster .depost-fv__lottie--mech dotlottie-player,
	.depost-fv-fixed__cluster .depost-fv__lottie--mech dotlottie-wc {
		max-height: clamp(150px, 15.75vw, 198px);
	}
}

.depost-fv-main__copy {
	position: relative;
	z-index: 5;
	width: 100%;
	max-width: none;
	margin: 0 auto;
	flex: 0 1 auto;
	text-align: center;
	box-sizing: border-box;
	padding: 0 1rem;
	overflow: visible;
}

@media (min-width: 768px) and (max-width: 1024px) {
	.depost-fv-main__copy {
		width: auto;
		max-width: min(46rem, 62vw);
		min-width: 0;
	}
}

@media (min-width: 1025px) {
	.depost-fv-main__copy {
		width: auto;
		/* PC: line2 を 1 行にしたときの見切れ防止 */
		max-width: min(56rem, 72vw);
		min-width: 0;
	}
}

/* ブラウザ既定の <h1> スタイルで FV が崩れないようリセット */
h1.depost-fv-main__h2 {
	font-size: inherit;
	margin: 0;
}

/*
 * メインFV見出し: 両行とも同じ幅（copy div 全幅）内で text-align:center → 同じ中心軸に揃う。
 * align-items: stretch で line1/line2 ともに見出し全幅に広げる。（セマンティックは <h1>）
 */
.depost-fv-main__h2 {
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	align-items: stretch;
	width: 100%;
	text-align: center;
	overflow: visible;
	gap: 17px;
	font: inherit;
	color: inherit;
}

@media (max-width: 767px) {
	.depost-fv-main__h2 {
		gap: 12px;
	}
}

/* 本番 elementor-element-987add7 相当（2行目よりやや小さめ） */
.depost-fv-main__h2-line1 {
	margin: 0;
	font-size: 3.5vw;
	font-weight: 700;
	line-height: 1.25;
	letter-spacing: 0.9px;
	text-transform: uppercase;
	color: #363636;
	font-family: "Noto Sans JP", sans-serif;
	text-align: center;
	word-break: keep-all;
	overflow-wrap: normal;
	overflow: visible;
	align-self: stretch;
}

@media (min-width: 768px) {
	.depost-fv-main__h2-line1 {
		display: inline-flex;
		flex-wrap: nowrap;
		align-items: flex-end;
		justify-content: center;
		gap: 0 0.06em;
	}
}

/* タブレット以下では本番どおり px（vw は 1025px 超のみ） */
@media (max-width: 1024px) {
	.depost-fv-main__h2-line1 {
		font-size: 31px;
	}
}

@media (max-width: 767px) {
	.depost-fv-main__h2-line1 {
		font-size: 22px;
	}
}

/* PC: 本番値 4vw / 7.5vw に下限を追加して極端な小サイズを防ぐ */
@media (min-width: 1025px) {
	.depost-fv-main__h2-line1 {
		font-size: clamp(2rem, 4.5vw, 5.5rem);
	}

	.depost-fv-highlight-heading__pre {
		font-size: clamp(2rem, 4vw, 5rem);
	}

	.depost-fv-highlight-heading__hl {
		font-size: clamp(4rem, 7.5vw, 9rem);
	}

	.depost-fv-highlight-heading__suf {
		font-size: clamp(2rem, 4vw, 5rem);
	}
}

.depost-fv-main__h2-line1-core {
	display: inline;
}

/* 「を」＋ロケット: 縦積みの専用スロット（absolute ではなくフロー内に確保） */
.depost-fv-main__h2-line1-wo-unit {
	display: inline-flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-end;
	vertical-align: baseline;
	line-height: 1;
	gap: 0.08em;
	flex-shrink: 0;
}

.depost-fv-rocket-slot {
	display: flex;
	align-items: flex-end;
	justify-content: center;
	width: var(--depost-fv-rocket-w, 56px);
	height: var(--depost-fv-rocket-h, 68px);
	flex: 0 0 auto;
	overflow: visible;
}

.depost-fv-main__h2-line1-wo-text {
	font-size: inherit;
	font-weight: inherit;
	color: inherit;
	font-family: inherit;
	letter-spacing: inherit;
	line-height: 1.25;
}

/*
 * PC（1025px↑）: 「解決」から + 「飛躍」へ を 1 行で中央寄せ。
 * TB/SP（1024px以下）: 2 段（pre 行 / hl 行）。
 */
.depost-fv-main__h2-line2 {
	display: flex;
	flex-direction: column;
	flex-wrap: nowrap;
	justify-content: center;
	align-items: center;
	margin: 0;
	padding: 0;
	width: 100%;
	box-sizing: border-box;
	font-family: "Noto Sans JP", sans-serif;
	line-height: 1.12;
	gap: 6px;
}

.depost-fv-main__h2-line2-row {
	display: flex;
	flex-wrap: nowrap;
	align-items: baseline;
	justify-content: center;
	width: 100%;
	text-align: center;
	line-height: 1.1;
}

.depost-fv-main__h2-line2-row--hl {
	position: relative;
	gap: 0 0.04em;
	margin-top: 4px;
}

@media (min-width: 1025px) {
	.depost-fv-main__h2-line2 {
		flex-direction: row;
		flex-wrap: nowrap;
		align-items: baseline;
		justify-content: center;
		gap: 0 0.18em;
	}

	.depost-fv-main__h2-line2-row {
		width: auto;
		flex: 0 0 auto;
	}

	.depost-fv-main__h2-line2-row--hl {
		margin-top: 0;
	}
}

@media (max-width: 767px) {
	.depost-fv-main__h2-line2 {
		gap: 2px;
	}

	.depost-fv-main__h2-line2-row--hl {
		margin-top: 2px;
	}
}

/* 本番 dd44472 .wpr-advanced-text-preffix — PC:4vw, TAB:65px, SP:40px */
.depost-fv-highlight-heading__pre {
	display: inline-block;
	font-size: 4vw;
	font-weight: 700;
	color: #363636;
	line-height: 1.15;
	white-space: nowrap;
}

@media (max-width: 1024px) {
	.depost-fv-highlight-heading__pre {
		font-size: 65px;
	}
}

@media (max-width: 767px) {
	.depost-fv-highlight-heading__pre {
		font-size: 40px;
	}
}

/* 「「」（line2 開始の引用符）— suf と同じ font-metrics で出す（PC/SP 共通の 1 種類） */
.depost-fv-highlight-heading__quote {
	display: inline-block;
	font-weight: 700;
	color: #363636;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 4vw;
	line-height: 1.15;
	white-space: nowrap;
}

@media (max-width: 1024px) {
	.depost-fv-highlight-heading__quote {
		font-size: 37px;
	}
}

@media (max-width: 767px) {
	.depost-fv-highlight-heading__quote {
		font-size: 30px;
	}
}

/* 本番 dd44472 .wpr-highlighted-text — PC:7.5vw, TAB:65px, SP:66px */
.depost-fv-highlight-heading__hl {
	position: relative;
	display: inline-block;
	color: #1e1b86;
	font-size: 7.5vw;
	font-weight: 700;
	padding: 0 0.05em 0.08em;
	font-family: "Noto Sans JP", sans-serif;
	line-height: 1.05;
	white-space: nowrap;
	overflow: visible;
}

@media (max-width: 1024px) {
	.depost-fv-highlight-heading__hl {
		font-size: 65px;
	}
}

@media (max-width: 767px) {
	.depost-fv-highlight-heading__hl {
		font-size: 66px;
	}
}

.depost-fv-highlight-heading__hl-text {
	position: relative;
	z-index: 1;
	font-family: inherit;
	white-space: inherit;
}

.depost-fv-highlight-heading__svg {
	position: absolute;
	left: 0;
	top: calc(100% - 0.16em);
	bottom: auto;
	width: 100%;
	height: auto;
	aspect-ratio: 500 / 150;
	margin-top: -0.18em;
	z-index: 0;
	font-size: 1em;
	overflow: visible;
	pointer-events: none;
	animation: depost-fv-underline-lift 1.1s cubic-bezier(0.2, 0.7, 0.1, 1) 0.8s both;
}

.depost-fv-highlight-heading__svg path {
	fill: none;
	stroke: url(#depost-fv-brush-grad);
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-dasharray: 800;
	stroke-dashoffset: 800;
	animation: depost-fv-underline 0.9s cubic-bezier(0.2, 0.7, 0.1, 1) 0.6s forwards;
}

.depost-fv-highlight-heading__svg .depost-fv-highlight-heading__brush--main {
	stroke-width: 12px;
}

.depost-fv-highlight-heading__svg .depost-fv-highlight-heading__brush--kasure {
	stroke-width: 4px;
	opacity: 0.7;
	animation-delay: 0.66s;
	animation-duration: 1s;
}

.depost-fv-highlight-heading__svg .depost-fv-highlight-heading__brush--sub {
	stroke-width: 6px;
	opacity: 0.78;
	animation-delay: 0.78s;
}

/* 本番 dd44472 .wpr-advanced-text-suffix — PC:4vw, TAB:37px, SP:37px */
.depost-fv-highlight-heading__suf {
	display: inline-block;
	font-size: 4vw;
	font-weight: 700;
	color: #363636;
	line-height: 1.15;
	white-space: nowrap;
}

@media (max-width: 1024px) {
	.depost-fv-highlight-heading__suf {
		font-size: 37px;
	}
}

@media (max-width: 767px) {
	.depost-fv-highlight-heading__suf {
		font-size: 37px;
	}
}

/* 「へ」と縦積み（SP でロケットを真上に） */
.depost-fv-highlight-heading__suf-wrap {
	display: inline-flex;
	flex-direction: column;
	align-items: center;
	align-self: baseline;
	vertical-align: baseline;
	line-height: 1.15;
}

@keyframes depost-fv-underline {
	0% {
		stroke-dashoffset: 800;
	}
	100% {
		stroke-dashoffset: 0;
	}
}

@keyframes depost-fv-underline-lift {
	0% {
		transform: translate3d(0, 4px, 0);
	}
	100% {
		transform: translate3d(6px, -3px, 0);
	}
}

/*
 * リードは狭い max-width + 右 pad だと 1 文目の途中で折れて 4 行になる。
 * 親（.depost-fv-main__copy）幅いっぱいにし、768px↑ は 2 行を span＋nowrap で固定。
 */
.depost-fv-main__lead {
	width: 100%;
	max-width: none;
	margin: 30px auto 0;
	padding: 0;
	text-align: center;
	font-size: clamp(1.3rem, 2.05vw, 2.15rem);
	font-weight: 600;
	line-height: 1.75;
	color: #1e1b86;
	font-family: "Noto Sans JP", sans-serif;
	word-break: keep-all;
	overflow-wrap: normal;
	border: none;
	box-sizing: border-box;
}

.depost-fv-main__lead-line {
	display: inline;
}

.depost-fv-main__lead-line--2 {
	margin-left: 0;
}

@media (min-width: 768px) {
	/* タブ〜PC: 1 行目 1 行 */
	.depost-fv-main__h2-line1 {
		white-space: nowrap;
	}

	.depost-fv-main__h2-line2-inner .depost-fv-highlight-heading__pre,
	.depost-fv-main__h2-line2-inner .depost-fv-highlight-heading__hl,
	.depost-fv-main__h2-line2-inner .depost-fv-highlight-heading__suf-wrap,
	.depost-fv-main__h2-line2-inner .depost-fv-highlight-heading__suf {
		flex-shrink: 0;
	}

	.depost-fv-main__lead-line {
		display: block;
	}

	.depost-fv-main__lead-line--1,
	.depost-fv-main__lead-line--2 {
		white-space: nowrap;
	}
}

/* 見出しロケット（PC: wo-unit 内 / SP: line2 インライン） */
.depost-fv-hero-rocket {
	display: block;
	margin: 0;
	pointer-events: none;
	line-height: 0;
	overflow: visible;
}

/* PC・タブ: フロー内配置（見切れ防止） */
@media (min-width: 768px) {
	.depost-fv-hero-rocket--wo {
		position: static;
		width: 100%;
		height: 100%;
		transform: none;
		z-index: 6;
	}
}

.depost-fv-hero-rocket dotlottie-player,
.depost-fv-hero-rocket dotlottie-wc {
	display: block;
	width: 100%;
	height: 100%;
}

/* PC では --he（SP用）は非表示。SP のみ後段で表示する。 */
.depost-fv-hero-rocket--he {
	display: none;
}

/* 768–1024: タブレット中間最適化 */
@media (min-width: 768px) and (max-width: 1024px) {
	.depost-fv-main__lead-line--1,
	.depost-fv-main__lead-line--2 {
		white-space: normal;
	}

	.depost-fv-zengo--line1 { font-size: clamp(1.25rem, 3.2vw, 1.75rem); }
	.depost-fv-zengo--line2 { font-size: clamp(1.35rem, 3.5vw, 1.9rem); }

	.depost-about__display,
	.depost-business-intro__display,
	.depost-company__display {
		font-size: clamp(3rem, 9vw, 5rem);
	}

	.depost-business-tabs__nav {
		gap: 6px;
	}

	.depost-business-tabs__tab {
		font-size: clamp(0.9rem, 2.2vw, 1.1rem);
		padding: 14px 16px;
	}
}

@media (max-width: 767px) {
	.depost-fv-main__h2-line1 {
		white-space: normal;
		font-size: clamp(1.125rem, 5.6vw, 24px);
	}

	/* SP: ロケット非表示時はスロットも畳み、「を」を「課題」と同じ行・ベースラインに */
	.depost-fv-main__h2-line1-wo-unit {
		display: inline;
		vertical-align: baseline;
		line-height: inherit;
	}

	.depost-fv-rocket-slot {
		display: none !important;
		width: 0;
		height: 0;
		overflow: hidden;
		margin: 0;
		padding: 0;
	}

	.depost-fv-main__h2-line1-wo-text {
		display: inline;
		vertical-align: baseline;
		line-height: inherit;
	}

	.depost-fv-hero-rocket--wo {
		display: none !important;
	}

	.depost-fv-hero-rocket--he {
		display: inline-block;
		position: relative;
		left: auto;
		right: auto;
		top: auto;
		bottom: auto;
		width: clamp(38px, 11vw, 52px);
		height: clamp(38px, 11vw, 52px);
		margin-left: 6px;
		transform: translateY(-55%) rotate(28deg);
		transform-origin: bottom left;
		vertical-align: top;
		z-index: 6;
		pointer-events: none;
		line-height: 0;
	}
}

/* PC（768px↑）では --he は完全非表示（PC ではロケットは line1 の --wo 一個のみ） */
@media (min-width: 768px) {
	.depost-fv-hero-rocket--he {
		display: none !important;
	}
}

/* SP 専用: lead は HTML の <br>（__lead-line スパン区切り）でのみ改行させる。
   word-break: keep-all を維持しつつ、フォントサイズを画面幅に合わせて
   自動縮小して 1 スパン = 1 行 を保つ。 */
@media (max-width: 767px) {
	.depost-fv-main__lead-line {
		display: block;
		white-space: nowrap;
		word-break: keep-all;
		overflow-wrap: normal;
	}

	.depost-fv-main__lead-line--1::after {
		content: none;
	}

	.depost-fv-main__lead {
		/* 1 行最大 22 文字を、極小 SP(320px) でも溢れさせない vw ベース */
		font-size: clamp(11px, 3.4vw, 16px);
		line-height: 1.7;
		padding: 0 0.25rem;
		word-break: keep-all;
		overflow-wrap: normal;
	}
}

@media (max-width: 600px) {
	.depost-fv-main__h2-line2-inner {
		flex-wrap: wrap;
		justify-content: center;
	}
}

/* landscape SP: ヒーロー高さ圧縮 */
@media (max-width: 896px) and (orientation: landscape) and (max-height: 460px) {
	.depost-fv-main {
		min-height: 60vh;
	}

	.depost-fv-main__inner {
		min-height: auto;
		margin-top: 0;
		padding-top: 0;
		padding-bottom: 0.5rem;
	}

	.depost-fv-main__copy {
		padding-bottom: 1rem;
	}

	.depost-fv-main__cluster-wrap {
		display: none;
	}

	.depost-fv-overlap {
		margin-top: 0;
	}
}

/* 本番 Elementor 見た目に合わせる（depostlabo-solution.com 実表示ベース） */
.depost-fv-overlap {
	width: 100%;
	max-width: none;
	margin-left: auto;
	margin-right: auto;
	padding: var(--depost-section-pad-y, clamp(1.5rem, 3.5vw, 2.5rem)) 0 clamp(2.5rem, 6vw, 4rem);
	position: relative;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: center;
	align-items: stretch;
	gap: 0;
	border-radius: 52px 52px 0 0;
	box-shadow:
		0 -6px 28px rgba(15, 23, 42, 0.06),
		0 14px 36px rgba(15, 23, 42, 0.07);
	background-color: #faf8f5;
	/* 直前が FV（青系ヒーロー）: クリーム帯の丸みを重ねる */
	margin-top: clamp(-5rem, -8vw, -2.5rem);
	margin-bottom: -10vw;
	/* カード下〜次セクション手前のクリーム帯を確保 */
	padding-bottom: max(14vw, 4rem);
	box-sizing: border-box;
	z-index: 1;
}

.depost-fv-overlap__inner {
	width: 100%;
	max-width: 1100px;
	margin: 0 auto;
	padding: 0 var(--depost-section-pad-x, clamp(1.35rem, 4vw, 2.25rem));
	box-sizing: border-box;
}

.depost-fv-overlap__taglines {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 0;
	width: 100%;
	max-width: 100%;
	margin: 0 auto clamp(1.25rem, 3vw, 1.75rem);
	padding: 0 var(--depost-section-pad-x, clamp(1.35rem, 4vw, 2.25rem));
	text-align: center;
}

.depost-fv-zengo {
	width: 97%;
	max-width: 97%;
	margin: 0;
	font-family: "Zen Old Mincho", serif;
	font-weight: 900;
	text-align: center;
	color: #000;
	text-shadow: 0 0 2px rgba(0, 0, 0, 0.3);
}

.depost-fv-zengo--line1 {
	font-size: 2.8vw;
}

.depost-fv-zengo--line2 {
	font-size: 3.1vw;
}

.depost-fv-zengo__em {
	font-size: 1.3em;
}

.depost-fv-overlap__cards {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	align-items: stretch;
	gap: clamp(16px, 2vw, 24px);
	width: 100%;
	margin: 0 0 clamp(1.25rem, 3.5vw, 2.5rem);
	box-sizing: border-box;
}

.depost-fv-card {
	min-width: 0;
	width: 100%;
	height: 100%;
	box-sizing: border-box;
	border-radius: 18px;
	border: 1px solid rgba(0, 0, 0, 0.06);
	box-shadow: 0 5px 28px rgba(0, 0, 0, 0.07);
	background-color: #ffffff;
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: clamp(2rem, 4.2vw, 2.65rem) clamp(1.6rem, 3.2vw, 2.15rem);
}

.depost-fv-card--media {
	align-self: stretch;
}

.depost-fv-card--seo {
	justify-content: flex-start;
	align-self: stretch;
	gap: clamp(1.125rem, 2.8vw, 1.75rem);
}

.depost-fv-card__yt-head {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: clamp(0.75rem, 1.8vw, 1.125rem);
	width: 100%;
	margin-bottom: clamp(0.5rem, 1.2vw, 0.75rem);
}

.depost-fv-card__yt-icon {
	flex: 0 0 auto;
	font-size: 0;
	line-height: 0;
}

.depost-fv-card__yt-mark {
	width: clamp(72px, 11vw, 96px);
	height: auto;
	display: block;
}

.depost-fv-card__yt-caption {
	margin: 0;
	font-family: "Noto Sans JP", sans-serif;
	font-size: clamp(1rem, 1.25vw, 1.1875rem);
	font-weight: 700;
	color: #1a1a1a;
	text-align: center;
	line-height: 1.65;
}

.depost-fv-card--media .depost-fv-card__video {
	margin-top: auto;
}

.depost-fv-card__video {
	width: 100%;
	max-width: 100%;
	aspect-ratio: 16 / 9;
	flex-shrink: 0;
	position: relative;
	overflow: hidden;
	border-radius: 14px;
	background: #0f0f0f;
}

.depost-fv-card__video-btn {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: inherit;
	cursor: pointer;
	background: #0f0f0f;
	-webkit-tap-highlight-color: transparent;
}

.depost-fv-card__video-btn:focus {
	outline: none;
}

.depost-fv-card__video-btn:focus-visible {
	outline: 3px solid #c00;
	outline-offset: 2px;
}

.depost-fv-card__video-poster {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.depost-fv-card__video-play {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	line-height: 0;
	pointer-events: none;
	filter: drop-shadow(0 2px 10px rgba(0, 0, 0, 0.5));
}

.depost-fv-card__video-play-svg {
	width: clamp(58px, 11vw, 72px);
	height: auto;
	display: block;
}

.depost-fv-card__video--playing iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
}

.depost-fv-card__seo-title {
	margin: 0;
	align-self: center;
	text-align: center;
	font-size: clamp(1.125rem, 1.65vw, 1.3rem);
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: -0.01em;
	color: #8f1d1d;
	font-family: "Noto Sans JP", sans-serif;
}

.depost-fv-card__seo-line {
	display: block;
}

.depost-fv-card--seo .depost-fv-card__seo-img-wrap {
	margin-top: auto;
}

/* 見本：左サムネはカード幅いっぱい／右キャプチャは小さめ・中央・周囲に白余白 */
.depost-fv-card__seo-img-wrap {
	width: 100%;
	margin: 0;
	align-self: stretch;
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	background: transparent;
	border: 0;
	box-shadow: none;
}

.depost-fv-card__seo-img {
	display: block;
	width: min(248px, 58%);
	max-width: 100%;
	height: auto;
	border-radius: 12px;
}

@media (max-width: 1024px) {
	.depost-fv-main__inner {
		margin-top: 0;
		padding-top: 0.5rem;
	}

	/* 本番 1024 以下: 987add7 40px / dd44472 65+65 / suffix 40 は上位 @media で指定済み */
	.depost-fv-main__lead {
		width: 100%;
		max-width: none;
		font-size: max(24px, 1.45rem);
		text-align: center;
	}

	.depost-fv-card {
		min-width: 0;
		width: 100%;
		height: 100%;
	}

	.depost-fv-overlap__cards {
		width: 100%;
		max-width: 100%;
		margin-left: auto;
		margin-right: auto;
	}
}

@media (max-width: 767px) {
	/* 上：テキスト → 下：3 Lottie（DOM 順。以前の order:-1 は撤回） */
	.depost-fv-main__hero-row {
		flex-direction: column;
		align-items: center;
		justify-content: flex-start;
		gap: 0;
		width: 100%;
	}

	.depost-fv-main__copy {
		order: 0;
		width: 100%;
		/* 上はヘッダー直下まで詰める。line1「を」上ロケット分だけ最小限確保 */
		padding: clamp(0.35rem, 2vw, 0.75rem) 0.5rem 0;
	}

	.depost-fv-main__cluster-wrap {
		order: 1;
		width: 100%;
		max-width: 100%;
		/* リード直下とアニメの隙間をほぼなくす（スペーサー廃止＋わずかに食い込ませ） */
		margin-top: clamp(-0.85rem, -3.5vw, -0.35rem);
		margin-bottom: 0;
		justify-content: center;
		padding: 0 clamp(0.5rem, 3vw, 1rem);
	}

	.depost-fv-fixed__cluster {
		justify-content: center;
		align-items: flex-end;
		align-content: flex-end;
		width: 100%;
		max-width: 420px;
		margin: 0 auto;
		gap: 0.35rem 0.5rem;
	}

	.depost-fv__lottie {
		max-width: none;
	}

	/* 本番 SP: a(59%), b(〜25%), mech(85% / 下段) */
	.depost-fv__lottie--a {
		width: 59%;
		max-width: 59%;
		flex: 0 0 59%;
		margin: 0 4% 0 0;
	}

	.depost-fv__lottie--b {
		width: 34%;
		max-width: 34%;
		flex: 0 0 34%;
		margin: 0;
	}

	.depost-fv__lottie--mech {
		flex: 0 0 60%;
		width: 60%;
		max-width: 60%;
		margin: 0.35rem auto 0;
		display: flex;
		align-items: flex-end;
		justify-content: center;
		align-self: center;
		height: clamp(143px, 33vw, 192px);
		max-height: clamp(143px, 33vw, 192px);
		min-height: 0;
		overflow: visible;
	}

	.depost-fv__lottie--mech dotlottie-player,
	.depost-fv__lottie--mech dotlottie-wc {
		width: 100% !important;
		max-width: 233px !important;
		height: 100% !important;
		max-height: clamp(143px, 33vw, 192px) !important;
		min-height: 0 !important;
		margin: 0 auto;
		object-fit: contain;
		object-position: bottom center;
	}

	.depost-fv-main {
		/* SP では画面高さ縛りを外し、内容に応じた高さに（整備士の下の余白を解消） */
		min-height: 0;
		/* 見出し直上の空きを詰める（#main_contents のヘッダー分は維持） */
		padding-top: 0;
		padding-bottom: 0;
	}

	.depost-fv-main__inner {
		flex-direction: column;
		min-height: auto;
		justify-content: flex-start;
		align-items: center;
		margin-top: 0;
		padding-top: 0;
		padding-bottom: 0;
	}

	/* 整備士直下から overlap セクションまでを最短距離に */
	.depost-fv-main__cluster-wrap {
		margin-bottom: 0 !important;
		padding-bottom: 0 !important;
	}

	.depost-fv__lottie--mech {
		margin-bottom: 0 !important;
	}

	/* 本番 767 以下: <br>（__lead-line スパン）でのみ改行。
	   極小 SP(320px) でも 22 文字が 1 行に収まるよう font-size を絞る。 */
	.depost-fv-main__lead {
		width: 100%;
		max-width: 100%;
		text-align: center;
		font-size: clamp(11px, 3.4vw, 16px);
		line-height: 1.7;
		padding: 0 0.25rem;
		margin-top: 18px;
		margin-bottom: 0;
		box-sizing: border-box;
		word-break: keep-all;
		overflow-wrap: normal;
	}

	.depost-fv-overlap {
		gap: 0;
		border-radius: 32px 32px 0 0;
		box-shadow:
			0 -4px 20px rgba(15, 23, 42, 0.05),
			0 10px 28px rgba(15, 23, 42, 0.06);
		margin-top: clamp(0.5rem, 3vw, 1.5rem);
		margin-bottom: -150px;
		padding-bottom: max(140px, 28vw);
	}

	.depost-fv-overlap__taglines {
		width: 100%;
	}

	.depost-fv-zengo--line1 { font-size: clamp(1.2rem, 5.2vw, 1.6rem); }
	.depost-fv-zengo--line2 { font-size: clamp(1.35rem, 5.8vw, 1.85rem); }

	.depost-fv-overlap__cards {
		grid-template-columns: 1fr;
		gap: clamp(16px, 4vw, 22px);
		width: 100%;
		max-width: 100%;
		margin-left: auto;
		margin-right: auto;
		margin-bottom: clamp(1rem, 3vw, 1.75rem);
	}

	.depost-fv-card__yt-caption {
		font-size: clamp(1.08rem, 4.2vw, 1.25rem);
	}

	.depost-fv-card--seo {
		margin-bottom: 0;
	}

	.depost-fv-card__seo-title {
		font-size: clamp(1.2rem, 4.3vw, 1.4rem);
		margin-bottom: 0;
	}

	.depost-fv-card__seo-img {
		width: min(320px, 88vw);
	}
}

.depost-section {
	padding: var(--depost-section-pad-y, clamp(1.5rem, 3.5vw, 2.5rem))
		var(--depost-section-pad-x, clamp(1.35rem, 4vw, 2.25rem));
}

.depost-section__inner {
	max-width: 1100px;
	margin: 0 auto;
}

.depost-section__title {
	margin: 0 0 1rem;
	font-size: clamp(1.35rem, 2.5vw, 1.6rem);
	font-weight: 700;
	color: #141824;
}

.depost-section__title--center {
	text-align: center;
	margin-bottom: 1.75rem;
}

.depost-section__text {
	margin: 0;
	font-size: 1rem;
	line-height: 1.85;
	color: #4b5565;
}

.depost-bento .depost-card {
	background: #fff;
	border: 1px solid #e8ecf4;
	border-radius: 12px;
	padding: clamp(1.25rem, 3vw, 1.75rem);
	box-shadow: 0 8px 28px rgba(20, 24, 36, 0.06);
}

.depost-card--wide {
	max-width: 720px;
	margin: 0 auto;
}

/* 私たちについて — ネイビー帯・白抜きテキスト（オレンジラベルなし・見本どおりの余白） */
.depost-section.depost-section--about {
	padding: var(--depost-section-pad-y) var(--depost-section-pad-x)
		calc(
			clamp(1rem, 3.5vw, 2rem) + var(--depost-navy-under-cream-bleed, calc(48px * 1.9 + 20px))
			- clamp(24px, 5vw, 56px)
		);
	background-color: #1a3b75;
	color: #fff;
	border-radius: clamp(40px, 10vw, 100px) clamp(40px, 10vw, 100px) 0 0;
	box-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
	/* 直前がクリーム帯（終止符ブロック）: 上に軽く重ねてつなぐ。クリームは z-index で手前に重ね角丸を見せる */
	margin-top: clamp(-2.5rem, -5vw, -1.25rem);
	margin-bottom: clamp(-0.65rem, -1.5vw, 0px);
	position: relative;
	z-index: 2;
	box-sizing: border-box;
	overflow: visible;
	/* 固定ヘッダ下にセクション先頭が隠れないようアンカー／scrollIntoView 用 */
	scroll-margin-top: clamp(72px, 14vw, 110px);
}

/* 角丸クリームの左右ウェッジ裏まで、ビューポート全幅でネイビーを足す（パディングだけでは届かない場合の保険） */
.depost-section.depost-section--about::after {
	content: "";
	position: absolute;
	z-index: 0;
	left: 50%;
	transform: translateX(-50%);
	bottom: 0;
	width: 100vw;
	max-width: none;
	height: var(--depost-navy-under-cream-bleed, 120px);
	background-color: #1a3b75;
	pointer-events: none;
	box-sizing: border-box;
}

.depost-about__inner {
	position: relative;
	z-index: 1;
	max-width: 1140px;
	margin: 0 auto;
	padding: 0;
	box-sizing: border-box;
}

.depost-about__row {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: clamp(16px, 2.5vw, 24px);
}

.depost-about__copy {
	flex: 1 1 auto;
	width: 100%;
	min-width: 0;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0;
}

.depost-about__title {
	margin: 0 0 var(--depost-label-mb);
	font-family: "Noto Sans JP", sans-serif;
	font-size: 20px;
	font-weight: 500;
	line-height: 1.35;
	color: #fff;
}

.depost-about__display {
	margin: 0 0 var(--depost-display-mb);
	font-family: "Noto Sans JP", sans-serif;
	font-size: clamp(2.5rem, 12vw, 90px);
	font-weight: 700;
	line-height: 1.05;
	color: #fff;
	letter-spacing: 0.02em;
	text-align: start;
	white-space: nowrap;
}


.depost-about__lead {
	margin: 0 0 var(--depost-lead-mb);
	font-size: var(--depost-lead-fz);
	font-weight: 600;
	line-height: 1.5;
	color: #fff;
	text-align: start;
}

.depost-about__body {
	margin-top: var(--depost-body-mt);
	width: 100%;
}

.depost-about__body p {
	margin: 0 0 0.65em;
	font-family: "Noto Sans JP", sans-serif;
	font-size: var(--depost-body-fz);
	font-weight: 400;
	line-height: var(--depost-body-lh);
	color: #fff;
}

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

.depost-about__aside {
	flex: 0 1 auto;
	width: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
	gap: clamp(12px, 1.8vw, 18px);
	border-radius: 20px;
	box-sizing: border-box;
}

.depost-about__yt-callout {
	margin: 0;
	width: 100%;
	font-size: clamp(1.25rem, 5vw, 40px);
	font-weight: 600;
	line-height: 1.3;
	color: #fff;
	text-align: center;
}

.depost-about-yt-card {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 0.35rem;
	width: 100%;
	max-width: min(340px, 100%);
	padding: clamp(1rem, 2.5vw, 1.5rem);
	background: #fff;
	border-radius: 20px;
	box-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
	text-decoration: none;
	color: inherit;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
	-webkit-tap-highlight-color: transparent;
}

.depost-about-yt-card:hover,
.depost-about-yt-card:focus-visible {
	transform: scale(1.02);
	box-shadow: 0 4px 18px rgba(0, 0, 0, 0.35);
}

.depost-about-yt-card:focus-visible {
	outline: 2px solid #fff;
	outline-offset: 4px;
}

.depost-about-yt-card__icon-wrap {
	display: flex;
	align-items: center;
	justify-content: center;
	line-height: 0;
}

.depost-about-yt-card__icon {
	display: block;
	width: auto;
	height: clamp(72px, 22vw, 113px);
	color: #fa0404;
}

.depost-about-yt-card__label {
	font-family: "Noto Sans JP", sans-serif;
	font-size: clamp(1.25rem, 4vw, 33px);
	font-weight: 700;
	color: #111;
	text-align: center;
}

@media (prefers-reduced-motion: reduce) {
	.depost-about-yt-card:hover,
	.depost-about-yt-card:focus-visible {
		transform: none;
	}
}

/* 事業紹介 — クリーム帯＋タブ（本番 Elementor 852efdf / 4cc6ee6 相当） */
/* z-index: ABOUT(2) < クリーム(3) — 角丸がネイビーに少しかぶってラインが見える。本文は下パディングでカード外 */
.depost-section.depost-section--business {
	/* ABOUT との重なりを共通値よりさらに上へ（角丸外のネイビーも見え方が上に寄る）— 会社情報の overlap とは独立 */
	--depost-business-overlap-extra: clamp(14px, 3.6vw, 36px);
	padding: var(--depost-section-pad-y) 0 0;
	background-color: #fdfbf4;
	color: #1a3b75;
	border-radius: var(--depost-cream-top-r, clamp(48px, 11vw, 110px)) var(--depost-cream-top-r, clamp(48px, 11vw, 110px)) 0 0;
	box-shadow:
		0 -6px 28px rgba(15, 23, 42, 0.06),
		0 8px 24px rgba(15, 23, 42, 0.05);
	margin-top: calc(
		-1 * (var(--depost-cream-overlap-up, 2rem) + var(--depost-business-overlap-extra, 0px))
	);
	margin-bottom: 0; /* 会社情報直上の body 白帯を出さない。余白は会社セクションで確保 */
	position: relative;
	z-index: 3;
	box-sizing: border-box;
	scroll-margin-top: clamp(72px, 14vw, 110px);
}

.depost-business-intro__inner {
	max-width: 1140px;
	margin: 0 auto;
	padding: 0 var(--depost-section-pad-x);
	box-sizing: border-box;
}

.depost-business-intro__label {
	margin: 0 0 var(--depost-label-mb);
	font-family: "Noto Sans JP", sans-serif;
	font-size: 20px;
	font-weight: 500;
	line-height: 1.35;
	color: #1a3b75;
	text-align: start;
}

.depost-business-intro__display {
	margin: 0 0 var(--depost-display-mb);
	font-family: "Noto Sans JP", sans-serif;
	font-size: clamp(2.5rem, 12vw, 90px);
	font-weight: 700;
	line-height: 1.05;
	color: #1a3b75;
	letter-spacing: 0.02em;
	text-align: start;
	white-space: nowrap;
}


.depost-business-intro__lead {
	margin: 0 0 var(--depost-lead-mb);
	font-family: "Noto Sans JP", sans-serif;
	font-size: var(--depost-lead-fz);
	font-weight: 600;
	line-height: 1.5;
	color: #1a3b75;
	text-align: start;
}

.depost-business-intro__body {
	margin-top: var(--depost-body-mt);
	width: 100%;
}

.depost-business-intro__body p {
	margin: 0 0 0.65em;
	font-family: "Noto Sans JP", sans-serif;
	font-size: var(--depost-body-fz);
	font-weight: 400;
	line-height: var(--depost-body-lh);
	color: #1a3b75;
}

.depost-business-intro__body p:last-child {
	margin-bottom: 0;
}

.depost-business-tabs {
	width: 100%;
}

.depost-business-tabs__nav-wrap {
	max-width: 1140px;
	margin: 0 auto;
	padding: clamp(1rem, 2.6vw, 1.85rem) var(--depost-section-pad-x) 0;
	position: relative;
	z-index: 2;
	box-sizing: border-box;
}

.depost-business-tabs__nav {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: center;
	gap: 8px;
}

.depost-business-tabs__tab {
	flex: 0 1 auto;
	margin: 0;
	font-family: "Noto Sans JP", sans-serif;
	font-size: clamp(1rem, 2.75vw, 1.3125rem);
	font-weight: 600;
	line-height: 1.35;
	cursor: pointer;
	border: none;
	border-radius: 12px 12px 0 0;
	padding: 16px 22px;
	min-height: 56px;
	box-sizing: border-box;
	transition: background-color 0.15s ease, color 0.15s ease;
	-webkit-tap-highlight-color: transparent;
	background: #bcd4f5;
	color: #1a3b75;
	text-align: center;
}

.depost-business-tabs__tab.is-active {
	background: #1a3b75;
	color: #fff;
	font-weight: 700;
	padding-bottom: 18px;
	margin-bottom: -2px;
	position: relative;
	z-index: 3;
}

.depost-business-tabs__tab:focus-visible {
	outline: 2px solid #1a3b75;
	outline-offset: 2px;
}

.depost-business-tabs__tab.is-active:focus-visible {
	outline-color: #fff;
}

.depost-business-tabs__panels {
	background: #1a3b75;
	color: #fff;
	border-radius: clamp(28px, 7vw, 52px) clamp(28px, 7vw, 52px) 0 0;
	width: 100%;
	max-width: 100%;
	margin-left: 0;
	margin-right: 0;
	position: relative;
	z-index: 1;
	box-shadow: 0 0 10px rgba(0, 0, 0, 0.35);
	padding: var(--depost-section-pad-y) 0
		clamp(160px, 28vw, 320px);
	box-sizing: border-box;
	overflow: visible;
}

.depost-business-tabs__panel[hidden] {
	display: none !important;
}

.depost-business-tabs__panel-inner {
	max-width: 1140px;
	margin: 0 auto;
	padding: 0 var(--depost-section-pad-x);
	box-sizing: border-box;
}

.depost-business-tabs__panel-title {
	margin: 0 0 clamp(0.65rem, 1.8vw, 0.95rem);
	font-family: "Noto Sans JP", sans-serif;
	font-size: clamp(1.5rem, 4.2vw, 2.125rem);
	font-weight: 700;
	line-height: 1.15;
	color: #fff;
	text-align: start;
}

.depost-business-tabs__media {
	margin: 0 0 clamp(0.85rem, 2.2vw, 1.35rem);
}

.depost-business-tabs__media img {
	display: block;
	width: 100%;
	height: auto;
}

.depost-business-tabs__media--on-white {
	background: #fff;
	border-radius: 10px;
	padding: clamp(10px, 2vw, 16px);
	box-sizing: border-box;
	overflow: hidden;
	box-shadow: 0 2px 14px rgba(0, 0, 0, 0.12);
}

.depost-business-tabs__prose {
	text-align: start;
}

.depost-business-tabs__prose p {
	margin: 0 0 0.55em;
	font-family: "Noto Sans JP", sans-serif;
	font-size: clamp(1rem, 2.6vw, 1.125rem);
	font-weight: 400;
	line-height: 1.62;
	color: #fff;
}

.depost-business-tabs__prose p:last-child {
	margin-bottom: 0;
}

.depost-business-tabs__cta-wrap {
	margin: clamp(1rem, 2.5vw, 1.5rem) 0 0;
	padding: 0;
	text-align: center;
}

.depost-business-tabs__cta {
	display: inline-block;
	min-width: min(100%, 300px);
	padding: 14px 24px;
	background: #f54f11;
	color: #fff;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1.0625rem;
	font-weight: 700;
	line-height: 1.35;
	text-align: center;
	text-decoration: none;
	border-radius: 6px;
	box-sizing: border-box;
	transition: transform 0.15s ease, box-shadow 0.15s ease;
	-webkit-tap-highlight-color: transparent;
}

.depost-business-tabs__cta:hover {
	transform: scale(1.02);
	box-shadow: 0 6px 22px rgba(245, 79, 17, 0.35);
}

.depost-business-tabs__cta:focus-visible {
	outline: 2px solid #fff;
	outline-offset: 3px;
}

@media (max-width: 767px) {
	.depost-business-tabs__nav-wrap {
		padding-top: clamp(0.75rem, 2vw, 1.25rem);
	}

	.depost-business-tabs__nav {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 8px;
	}

	.depost-business-tabs__tab {
		flex: none;
		min-width: 0;
		font-size: clamp(0.92rem, 3.8vw, 1.05rem);
		font-weight: 600;
		padding: 14px 10px;
		min-height: 48px;
		border-radius: 10px;
		background: #fff;
		color: #1a3b75;
		border: 1.5px solid rgba(26, 59, 117, 0.15);
		box-shadow: 0 2px 8px rgba(26, 59, 117, 0.08);
		transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
	}

	.depost-business-tabs__tab.is-active {
		background: #1a3b75;
		color: #fff;
		font-weight: 700;
		border-color: #1a3b75;
		box-shadow: 0 4px 14px rgba(26, 59, 117, 0.25);
		padding-bottom: 14px;
		margin-bottom: 0;
	}

	.depost-business-tabs__panels {
		padding-bottom: clamp(100px, 22vw, 200px);
		border-radius: clamp(20px, 5vw, 36px) clamp(20px, 5vw, 36px) 0 0;
		margin-top: 10px;
	}

	.depost-business-tabs__panel-title {
		font-size: clamp(1.25rem, 5.5vw, 1.625rem);
	}
}

/* 極小SP: セクション余白・見出しサイズ圧縮 */
@media (max-width: 374px) {
	body.depost-is-front,
	body.home.depost-coded-header {
		--depost-section-pad-x: 1rem;
		--depost-section-pad-y: 1.25rem;
		--depost-lead-fz: clamp(1.05rem, 5vw, 1.25rem);
		--depost-body-fz: 0.9375rem;
	}

	.depost-about__display,
	.depost-business-intro__display,
	.depost-company__display {
		font-size: clamp(1.75rem, 10vw, 2.5rem);
	}

	.depost-fv-overlap {
		border-radius: 24px 24px 0 0;
	}

	.depost-fv-card {
		padding: 1.25rem 1rem;
		border-radius: 14px;
	}

	.depost-business-tabs__tab {
		font-size: 0.88rem;
		padding: 10px 6px;
		min-height: 44px;
		border-radius: 8px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.depost-business-tabs__cta:hover {
		transform: none;
	}
}

/*
 * 会社情報 — 事業紹介（.depost-section--business）と同じクリーム帯パターン。
 * section 自体に background / 上のみ角丸 / 負の margin オーバーラップ / box-shadow を載せる。
 */
.depost-section.depost-section--company {
	padding: var(--depost-section-pad-y) 0
		calc(clamp(0.75rem, 2vw, 1.125rem) + var(--depost-company-pad-for-fixed-cta));
	background-color: #fdfbf4;
	color: #1a3b75;
	border-radius: var(--depost-cream-top-r, clamp(48px, 11vw, 110px)) var(--depost-cream-top-r, clamp(48px, 11vw, 110px)) 0 0;
	box-shadow:
		0 -6px 28px rgba(15, 23, 42, 0.06),
		0 8px 24px rgba(15, 23, 42, 0.05);
	margin-top: calc(-1 * var(--depost-company-overlap));
	margin-bottom: 0;
	position: relative;
	z-index: 4;
	box-sizing: border-box;
	/* 固定ヘッダー＋角丸ラインが隠れないよう、アンカー時の余白をヘッダー高より大きめに */
	scroll-margin-top: calc(98px + 48px);
}

@media (max-width: 767px) {
	.depost-section.depost-section--company {
		scroll-margin-top: calc(80px + 48px);
	}
}

.depost-company__inner {
	position: relative;
	z-index: 1;
	max-width: 1140px;
	margin: 0 auto;
	padding: 0 var(--depost-section-pad-x);
	box-sizing: border-box;
}

.depost-company__label {
	margin: 0 0 var(--depost-label-mb);
	font-family: "Noto Sans JP", sans-serif;
	font-size: 20px;
	font-weight: 500;
	line-height: 1.35;
	color: #1a3b75;
	text-align: start;
}

.depost-company__display {
	margin: 0 0 var(--depost-display-mb);
	font-family: "Noto Sans JP", sans-serif;
	font-size: clamp(2.5rem, 12vw, 90px);
	font-weight: 700;
	line-height: 1.05;
	color: #1a3b75;
	letter-spacing: 0.02em;
	text-align: start;
	white-space: nowrap;
}


.depost-company__body {
	margin-top: var(--depost-body-mt);
	width: 100%;
}

.depost-company__body p {
	margin: 0 0 0.65em;
	font-family: "Noto Sans JP", sans-serif;
	font-size: var(--depost-body-fz);
	font-weight: 400;
	line-height: var(--depost-body-lh);
	color: #1a3b75;
}

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

.depost-company__link {
	color: #1a3b75;
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 0.15em;
	word-break: break-all;
}

.depost-company__link:hover,
.depost-company__link:focus-visible {
	color: #0f2555;
}

.depost-company__offices-head {
	margin: 0 0 0.4em;
	font-family: "Noto Sans JP", sans-serif;
	font-size: var(--depost-body-fz);
	font-weight: 600;
	color: #1a3b75;
}

.depost-company__offices {
	list-style: none;
	margin: 0 0 0.65em;
	padding: 0;
	display: grid;
	gap: clamp(0.55rem, 1.4vw, 0.85rem);
}

.depost-company__office {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.55rem 0.9rem;
	margin: 0;
}

.depost-company__office-text {
	margin: 0;
	flex: 1 1 320px;
	font-family: "Noto Sans JP", sans-serif;
	font-size: var(--depost-body-fz);
	font-weight: 400;
	line-height: var(--depost-body-lh);
	color: #1a3b75;
}

.depost-company__office-name {
	font-weight: 700;
}

.depost-company__office-cta-wrap {
	margin: 0;
	flex: 0 0 auto;
}

.depost-company__office-link {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	padding: 0.4rem 0.85rem;
	border-radius: 9999px;
	background: #ffffff;
	color: #1a3b75;
	border: 1px solid rgba(26, 59, 117, 0.32);
	font-size: clamp(0.8rem, 0.18vw + 0.76rem, 0.875rem);
	font-weight: 700;
	letter-spacing: 0.02em;
	line-height: 1.3;
	text-decoration: none;
	transition: background-color .2s ease, border-color .2s ease, color .2s ease, box-shadow .2s ease, transform .15s ease;
}

.depost-company__office-link:hover,
.depost-company__office-link:focus-visible {
	background: #1a3b75;
	border-color: #1a3b75;
	color: #ffffff;
	box-shadow: 0 6px 16px rgba(26, 59, 117, 0.22);
	transform: translateY(-1px);
}

.depost-company__office-link:focus-visible {
	outline: 2px solid rgba(26, 59, 117, 0.55);
	outline-offset: 2px;
}

.depost-company__office-link-icon {
	flex: 0 0 auto;
}

.depost-company__office-map {
	margin-top: 0.85rem;
	border: 1px solid rgba(26, 59, 117, 0.12);
	border-radius: 12px;
	overflow: hidden;
	background: #fff;
	box-shadow: 0 8px 24px rgba(15, 23, 42, 0.06);
}

.depost-company__office-map-frame,
.depost-company__office-map-ifr {
	display: block;
	width: 100%;
	min-height: 220px;
	height: clamp(220px, 42vw, 280px);
	border: 0;
}

.depost-company__hq {
	margin-top: clamp(1.75rem, 4vw, 2.75rem);
	padding-top: clamp(1.25rem, 3vw, 1.75rem);
	border-top: 1px solid rgba(26, 59, 117, 0.12);
}

.depost-company__hq p {
	margin: 0 0 0.5em;
	font-family: "Noto Sans JP", sans-serif;
	font-size: clamp(0.9375rem, 2.5vw, 1.0625rem);
	font-weight: 400;
	line-height: 1.75;
	color: #1a3b75;
}

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

.depost-company__map {
	margin-top: clamp(1.25rem, 3.5vw, 2rem);
	border-radius: 14px;
	overflow: hidden;
	box-shadow: 0 8px 28px rgba(20, 24, 36, 0.1);
	background: #e8ecf4;
}

.depost-company__map-frame {
	display: block;
	width: 100%;
	height: clamp(280px, 52vw, 440px);
	border: 0;
}

.depost-company__breadcrumb {
	margin-top: clamp(1.5rem, 4vw, 2.25rem);
}

.depost-company__breadcrumb-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem 0.5rem;
	align-items: center;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 0.875rem;
}

.depost-company__breadcrumb-list a {
	color: #1a3b75;
	font-weight: 600;
	text-decoration: none;
}

.depost-company__breadcrumb-list a:hover,
.depost-company__breadcrumb-list a:focus-visible {
	text-decoration: underline;
}

.depost-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
	gap: 1rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.depost-card--link {
	display: flex;
	flex-direction: column;
	height: 100%;
	text-decoration: none;
	color: inherit;
	transition: transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease;
}

.depost-card--link:hover,
.depost-card--link:focus-visible {
	transform: translateY(-2px);
	box-shadow: 0 12px 36px rgba(31, 59, 149, 0.12);
	border-color: rgba(31, 59, 149, 0.35);
}

.depost-card__title {
	margin: 0 0 0.5rem;
	font-size: 1.1rem;
	font-weight: 700;
	color: #1f3b95;
}

.depost-card__desc {
	margin: 0 0 1rem;
	flex: 1;
	font-size: 0.92rem;
	line-height: 1.65;
	color: #5c6370;
}

.depost-card__more {
	font-size: 0.88rem;
	font-weight: 600;
	color: #ff4d00;
}

.depost-detail-stack {
	display: grid;
	gap: 1rem;
}

.depost-detail__title {
	margin: 0 0 0.5rem;
	font-size: 1.1rem;
	font-weight: 700;
	color: #141824;
}

.depost-detail__text {
	margin: 0 0 1rem;
	font-size: 0.95rem;
	line-height: 1.75;
	color: #5c6370;
}

.depost-cta-row {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 1rem;
	align-items: stretch;
}

.depost-card--half {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.75rem;
}

.depost-card--accent {
	border-color: rgba(255, 77, 0, 0.25);
	background: linear-gradient(160deg, #fff8f5 0%, #fff 55%);
}

.depost-card--accent .depost-section__title {
	color: #141824;
}

.depost-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 0 1.35rem;
	border-radius: 6px;
	font-size: 0.95rem;
	font-weight: 600;
	text-decoration: none;
	transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
}

.depost-btn--primary {
	background: #ff4d00;
	color: #fff;
	border: 1px solid #ff4d00;
	box-shadow: 0 2px 8px rgba(255, 77, 0, 0.25);
}

.depost-btn--primary:hover,
.depost-btn--primary:focus-visible {
	background: #e64500;
	border-color: #e64500;
	color: #fff;
}

.depost-btn--secondary {
	background: #fff;
	color: #1f3b95;
	border: 1px solid rgba(31, 59, 149, 0.35);
}

.depost-btn--secondary:hover,
.depost-btn--secondary:focus-visible {
	border-color: #1f3b95;
	box-shadow: 0 2px 8px rgba(31, 59, 149, 0.12);
	color: #152a6b;
}

.depost-btn--ghost {
	background: #fff;
	color: #1f3b95;
	border: 1px solid #d8dde8;
}

.depost-btn--ghost:hover,
.depost-btn--ghost:focus-visible {
	border-color: #1f3b95;
	color: #152a6b;
}

/* ============================================================
   スクロールリビール — TOP 専用オーバーライド（共通は scroll-reveal.css）
   ============================================================ */

/* ヒーロー Lottie: 下からふわっと */
.depost-fv__lottie.depost-reveal {
	opacity: 0;
	transform: translate3d(0, 36px, 0) scale(0.94);
}

.depost-fv__lottie.depost-reveal.is-visible {
	opacity: 1;
	transform: translate3d(0, 0, 0) scale(1);
}

.depost-fv-hero-rocket.depost-reveal {
	opacity: 0;
	transform: translate3d(0, 8px, 0) scale(0.85);
	transition-duration: 0.55s;
}

.depost-fv-hero-rocket.depost-reveal.is-visible {
	opacity: 1;
	transform: translate3d(0, 0, 0) scale(1);
}

/* 事業タブパネル: 切替時のフェード */
.depost-business-tabs__panel .depost-reveal {
	transition-duration: 0.65s;
}

@media (prefers-reduced-motion: reduce) {
	.depost-fv__lottie.depost-reveal,
	.depost-fv-hero-rocket.depost-reveal {
		opacity: 1;
		transform: none;
		transition: none;
	}

	.depost-fv-highlight-heading__svg path {
		animation: none;
		stroke-dashoffset: 0;
		opacity: 1;
	}

	.depost-fv-highlight-heading__svg {
		animation: none;
		transform: none;
	}

	.depost-card--link,
	.depost-btn {
		transition: none;
	}

	.depost-card--link:hover,
	.depost-card--link:focus-visible {
		transform: none;
	}
}
