@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    Version: 1.0.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/
@import url('https://fonts.googleapis.com/css2?family=Roboto+Condensed:ital,wght@0,100..900;1,100..900&display=swap');
/* ==========================================================================
   oa tokens  ─ 司法書士法人エルノア LP
   ========================================================================== */
:root {
	/* color (Figma変数準拠) */
	--oa-c-text: #333;
	--oa-c-accent: #168db9; /* sky-deep = SWELLメインカラー */
	--oa-c-sky: #5dc8f0;
	--oa-c-sky-pale: #eff9ff;
	--oa-c-line: #d7e6dc;
	--oa-c-muted: #667085;
	--oa-c-white: #fff;
	--oa-c-red: #d93025; /* 0円 等の強調 */
	--oa-c-green: #6bc84d; /* points 2枚目アクセント */
	--oa-c-ink: #1d2939; /* points 見出し濃紺 */
	--oa-c-marker: #f4ff93; /* hero 強調マーカー */
	--oa-grad-badge: linear-gradient(180deg, #007d99 0%, #16b9b9 100%);
	--oa-grad-cta-hero: linear-gradient(90deg, #ff9e1a 0%, #ff6b00 100%);

	/* typography */
	--oa-ff-base: 'Noto Sans JP', 'Hiragino Kaku Gothic Pro', sans-serif;
	--oa-ff-en: 'Roboto Condensed', 'Noto Sans JP', sans-serif;
	--oa-fw-regular: 400;
	--oa-fw-medium: 500;
	--oa-fw-semibold: 600;
	--oa-fw-bold: 700;
	--oa-fw-extrabold: 800;
	--oa-fw-black: 900;

	/* layout */
	--oa-inner: 1000px;
	--oa-pad-x: 5%;
	--oa-pad-y: 100px;
}

/* ==========================================================================
   カスタム追加
   ========================================================================== */

/*  Tablet~SPのみで表示固定CTAボタン
------------------------*/
@media screen and (max-width: 959px) {
	footer {
		padding-bottom: 64px;
		/* 固定メニューの高さに合わせて余白を設定 */
	}
	.p-fixBtnWrap {
		bottom: 6em;
		/* 上に戻るボタンの位置を上に */
	}
	#before_footer_widget {
		margin: 0;
		padding: 0;
	}
	#sp_fixed-button {
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		align-items: end;
		position: fixed;
		left: 0;
		bottom: 0;
		width: 100%;
		z-index: 99;
		padding: 0;
		background: none;
	}

	#sp_fixed-button a {
		width: 100%;
		min-width: auto;
		padding: 18px 8px;
		border-radius: 0;
	}
	#sp_fixed-button .swell-block-button .swell-block-button__link::before {
		content: none;
	}
	#sp_fixed-button .swell-block-button .swell-block-button__link span {
		position: relative;
		font-size: max(12px, 3vw);
		font-weight: var(--font-weight-bold);
		padding-left: 2.15em;
	}
	#sp_fixed-button .cta-btn--tel span::before {
		content: '';
		position: absolute;
		top: 50%;
		left: 0;
		transform: translateY(-50%);
		width: 1.7em;
		height: 2em;
		background: url(http://jikou.elnoah.jp/wp-content/uploads/2026/06/icon-tel_white.webp)
			no-repeat center / contain;
	}
	#sp_fixed-button .cta-btn--line span::before {
		content: '';
		position: absolute;
		top: 50%;
		left: 0;
		transform: translateY(-50%);
		width: 1.5em;
		height: 2em;
		background: url(http://jikou.elnoah.jp/wp-content/uploads/2026/06/icon-line_white.webp)
			no-repeat center / contain;
	}
	#sp_fixed-button .cta-btn--mail span::before {
		content: '';
		position: absolute;
		top: 50%;
		left: 0;
		transform: translateY(-50%);
		width: 1.2em;
		height: 2em;
		background: url(http://jikou.elnoah.jp/wp-content/uploads/2026/06/icon-mail.webp)
			no-repeat center / contain;
	}
}
@media screen and (min-width: 960px) {
	#sp_fixed-button {
		display: none;
	}
	#before_footer_widget {
		position: fixed;
		bottom: 5%;
		right: 5%;
		z-index: 999;
	}
}

/* ==========================================================================
   reset / 全セクション共通の縦リズム
   ========================================================================== */
.home {
	overflow-x: hidden;
}
.home #content {
	padding-top: 0 !important;
}
.home .l-content {
	padding: 0 !important;
	margin: 0 auto !important;
}
/* SWELL全幅ユーティリティ（親テーマ未定義のため子テーマで定義） */
.full-screen {
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	max-width: 100vw;
	margin-bottom: 0;
}
.full-screen > img {
	width: 100%;
}
.home .post_content > section.wp-block-group {
	margin-bottom: 0;
	padding-block: min(15vw, var(--oa-pad-y));
}
/* セクション内側コンテナを1000px上限に */
.home .post_content .l-container {
	max-width: calc(var(--oa-inner) + 5%);
}
.home em {
	font-style: normal;
}
/* 見出しのSWELLデフォルト装飾をリセット（独自装飾を当てるため） */
.home .post_content :where(h1, h2, h3, h4, h5, h6) {
	margin: 0;
	padding: 0;
	border: 0;
	letter-spacing: 0;
}
.home .post_content :where(h1, h2, h3, h4)::before,
.home .post_content :where(h1, h2, h3, h4)::after {
	content: none;
}

/* ==========================================================================
   共通：セクション見出し  p_ttl-head / p_ttl-en / p_ttl-main
   ========================================================================== */
.home .p_ttl-head {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: min(2vw, 14px);
	margin-bottom: min(8vw, 50px);
}
.home .p_ttl-en {
	font-family: var(--oa-ff-en);
	font-weight: var(--oa-fw-black);
	font-size: min(5.5vw, 24px);
	letter-spacing: 0.1em;
	color: var(--oa-c-sky);
	line-height: 1;
}
.home .p_ttl-main {
	font-size: min(7vw, 38px);
	font-weight: var(--oa-fw-black);
	letter-spacing: 0.03em;
	color: var(--oa-c-accent);
	line-height: 1.4;
}
.home .p_ttl-main em {
	color: var(--oa-c-accent);
}
/* enラベルのバッジ版（points 等） */
.home .p_ttl-en.is-bg {
	font-family: var(--oa-ff-base);
	font-size: min(4.5vw, 20px);
	color: var(--oa-c-white);
	background: linear-gradient(90deg, var(--oa-c-sky), var(--oa-c-accent));
	box-shadow: 0 6px 16px rgba(22, 141, 185, 0.25);
	letter-spacing: 0.05em;
	padding: 0.6em 1.4em;
	border-radius: 50vh;
}
/* 見出し下の3点ドット装飾 */
.home .p_ttl-head::after {
	content: '';
	width: 4px;
	height: 4px;
	margin-top: 0.5em;
	background: var(--oa-c-accent);
	box-shadow:
		-10px 0 0 var(--oa-c-accent),
		10px 0 0 var(--oa-c-accent);
}
/* 左寄せバリエーション（firstcheck等） */
.home .p_ttl-head:has(.has-text-align-left) {
	align-items: flex-start;
}
.home .p_ttl-head:has(.has-text-align-left)::after {
	margin-left: 10px;
}

/* ==========================================================================
   共通：注意ボックス  caption-box（クリーム警告）
   ========================================================================== */
.home .p_caption-box {
	background: #fff8e6;
	border: 1px solid var(--oa-c-red);
	border-radius: 16px;
	padding: min(5vw, 16px) min(5vw, 28px) min(5vw, 22px);
	margin-top: min(6vw, 40px);
}
.home .caption-box__title {
	width: fit-content;
	position: relative;
	padding-left: 1.6em;
	font-size: min(4.5vw, 20px);
	font-weight: var(--oa-fw-black);
	color: var(--oa-c-red);
	margin: 0 auto;
	margin-bottom: 0.4em;
}
.home .caption-box__title::before {
	content: '';
	position: absolute;
	top: 0.25em;
	left: 0;
	width: 1.2em;
	height: 1.2em;
	background: #d97300;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M1 21h22L12 2 1 21zm12-3h-2v-2h2v2zm0-4h-2v-4h2v4z'/%3E%3C/svg%3E")
		no-repeat center / contain;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M1 21h22L12 2 1 21zm12-3h-2v-2h2v2zm0-4h-2v-4h2v4z'/%3E%3C/svg%3E")
		no-repeat center / contain;
}
.home .caption-box__message {
	font-size: min(3.75vw, 16px);
	line-height: 1.85;
	color: var(--oa-c-text);
	text-align: center;
}

/* ==========================================================================
   共通：チェックリスト  p_check-list
   ========================================================================== */
.home .p_check-list {
	padding-left: 0;
}
.home .p_check-list li {
	position: relative;
	list-style: none;
	padding-left: 1.8em;
	margin-bottom: 0.6em;
	font-size: min(4vw, 18px);
	font-weight: var(--oa-fw-bold);
	line-height: 1.4;
}
.home .p_check-list li::before {
	content: '';
	position: absolute;
	top: 0.2em;
	left: 0;
	width: 1.2em;
	height: 1.2em;
	background: url(http://jikou.elnoah.jp/wp-content/uploads/2026/06/icon_check.webp)
		no-repeat center / contain;
	border-radius: 0;
}

/* ==========================================================================
   共通：CTAボタン  c-cta-btn（色はSWELL側指定／ここは字組・余白のみ）
   ========================================================================== */
.home .c-cta-btn .swell-block-button__link {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 0.6em;
	min-width: min(100%, 320px);
	font-weight: var(--oa-fw-bold);
	padding: min(4vw, 20px) min(5vw, 32px);
}

/* ==========================================================================
   hero  #home-hero
   ※ fv_pc.png を全面背景に敷き、左にコピーを重ねる
   ========================================================================== */
#home-hero {
	position: relative;
	overflow: hidden;
	padding-block: 0 !important;
	min-height: min(42vw, 600px);
}
#home-hero .home-hero__main {
	position: absolute;
	inset: 0;
	margin: 0;
	z-index: -1;
}
#home-hero .home-hero__main img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: right center;
}

#home-hero .home-hero__body {
	position: relative;
	/* max-width: calc(var(--oa-inner) + 5% * 2); */
	max-width: 100%;
	margin: 0 auto;
	padding-inline: 5%;
}
#home-hero .p-blogParts {
	margin-left: 0;
	padding-block: min(10vw, 72px);
}
#home-hero .home-hero__title {
	font-size: min(8vw, 40px);
	font-weight: var(--oa-fw-black);
	line-height: 1.4;
	letter-spacing: -0.04em;
	color: var(--oa-c-text);
	margin-bottom: 0.6em;
}
#home-hero .home-hero__title em {
	background: linear-gradient(transparent 62%, var(--oa-c-marker) 62%);
}
#home-hero .home-hero__title .has-swl-main-color {
	color: var(--oa-c-accent);
}
#home-hero .home-hero__message {
	font-size: min(3.5vw, 18px);
	font-weight: var(--oa-fw-bold);
	line-height: 1.8;
	margin-bottom: min(5vw, 28px);
}
/* ミニバッジ：画像で差し込み予定（¥0相談料無料／全国対応／秘密厳守） */
#home-hero .home-hero__point {
	margin-bottom: min(5vw, 28px);
}
#home-hero .home-hero__point-item {
	flex: 0 0 auto;
	width: auto;
}
#home-hero .home-hero__point-item :is(.wp-block-image, figure) {
	margin: 0;
}
#home-hero .home-hero__point-item img {
	display: block;
	width: auto;
	height: min(20vw, 110px);
}
/* ヒーローCTA（オレンジグラデ＋白丸電話アイコン） */
.home-hero .cta-btn--hero .swell-block-button__link {
	gap: 14px;
	min-width: 0;
	width: min(100%, 280px);
	padding: 10px 20px 12px 12px;
	border-radius: 999px;
	background: var(--oa-grad-cta-hero);
	box-shadow: 0 8px 20px rgba(255, 107, 0, 0.35);
	line-height: 1;
}
.home-hero .cta-btn--hero .swell-block-button__link span {
	display: inline-flex;
	align-items: center;
	gap: 0.6em;
	font-size: min(4vw, 18px);
	font-weight: var(--oa-fw-black);
	color: var(--oa-c-white);
}
.home-hero .cta-btn--hero .swell-block-button__link span::before {
	content: '';
	flex: 0 0 auto;
	width: 34px;
	height: 34px;
	border-radius: 50%;
	background: url(http://jikou.elnoah.jp/wp-content/uploads/2026/06/icon-tel_white.webp)
		no-repeat center / contain;
}
.home-hero .home-hero__caption {
	font-size: min(3.2vw, 12px);
	color: var(--oa-c-muted);
	margin-top: 1em;
}

/* ==========================================================================
   intro  #home-intro
   ========================================================================== */
.home-intro {
	background: var(--oa-c-sky);
	clip-path: polygon(
		0 0,
		100% 0,
		100% calc(100% - 80px),
		50% 100%,
		0 calc(100% - 80px)
	);
	padding-block: min(15vw, 50px) min(15vw, 100px) !important ;
}
.home-intro .home-intro__box {
	background: var(--oa-c-white);
	border-radius: 18px;
	box-shadow: 0 14px 30px rgba(0, 0, 0, 0.12);
	padding: min(5vw, 30px) min(4vw, 20px) min(6vw, 20px);
}
.home-intro .home-intro__title {
	text-align: center;
	font-size: min(6vw, 24px);
	font-weight: var(--oa-fw-black);
	letter-spacing: 0.03em;
	color: var(--oa-c-red);
	margin-bottom: min(6vw, 16px);
}
.home-intro .p_check-list {
	width: fit-content;
	margin-inline: auto;
}

/* ==========================================================================
   firstcheck  #home-firstcheck（左:写真 / 右:確認リスト）
   ========================================================================== */
.home-check {
	background: #fff;
}
.home-check .p_ttl-main {
	font-size: min(6vw, 32px);
}
.home-check .p_ttl-head {
	margin-bottom: min(8vw, 20px);
}
.home-check .p_ttl-head::after {
	content: none;
}
.home-check .home-check__item > .swell-block-columns__inner {
	align-items: flex-start;
}
.home-check .home-check__media {
	flex: 1;
}
.home-check .home-check__media .wp-block-image {
	margin: 0;
}
.home-check .home-check__media .wp-block-image img {
	border-radius: 12px;
}
.home-check .home-check__body {
	flex: 1;
}
.home-check .home-check__checkbox {
	background: var(--oa-c-white);
	border-radius: 16px;
	box-shadow: 0 8px 12px rgba(22, 141, 185, 0.1);
	padding: min(1vw, 8px) min(4vw, 24px);
	margin-block: min(3vw, 20px);
}

.home-check .p_caption-box {
	border: 0;
	margin-top: min(6vw, 20px);
}
.home-check .caption-box__title {
	margin: 0;
	margin-right: auto;
}
.home-check .home-check__caption {
	font-size: min(4vw, 18px);
	font-weight: var(--oa-fw-bold);
	line-height: 1.8;
	color: var(--oa-c-text);
	padding: 0 3% 3%;
	margin-top: 1em;
}
.home-check .caption-box__message {
	text-align: left;
}

/* ==========================================================================
   共通：セクション下の小注記  home-points__caption（risk/points 等で流用）
   ========================================================================== */
.home .home-points__caption {
	font-size: min(3.75vw, 16px);
	color: var(--oa-c-muted);
	text-align: center;
	line-height: 1.75;
	margin-top: min(5vw, 32px);
}

/* ==========================================================================
   about  #home-about（3カード：写真＋見出し＋本文）
   ========================================================================== */
.home-about {
	background: url(http://jikou.elnoah.jp/wp-content/uploads/2026/06/home-about_bg.webp)
		no-repeat center / cover;
}
.home-about .home-about__message.has-text-align-center {
	text-align: center;
	font-size: min(4vw, 18px);
	font-weight: var(--oa-fw-bold);
	margin-bottom: min(6vw, 40px);
}
.home-about .home-about__item {
	background: var(--oa-c-white);
	border-radius: 10px;
	padding: min(2vw, 10px) min(2vw, 10px) min(4vw, 24px);
	box-shadow: 0 10px 30px rgba(22, 141, 185, 0.12);
}
.home-about .home-about__media {
	margin: 0 0 min(3vw, 20px);
	background: var(--oa-c-sky-pale);
	border-radius: 10px;
	overflow: hidden;
}
.home-about .home-about__media img {
	width: 100%;
	height: auto;
}
.home-about .home-about__body {
	padding: 0 3%;
}
.home-about .home-about__title {
	font-size: min(4.5vw, 20px);
	font-weight: var(--oa-fw-black);
	color: var(--oa-c-accent);
	margin-bottom: 0.5em;
}
.home-about .home-about__item .home-about__message {
	font-size: min(3.75vw, 16px);
	font-weight: var(--oa-fw-medium);
	line-height: 1.85;
}

/* ==========================================================================
   risk  #home-risk（3カード：ラインアイコン＋見出し＋本文）
   ========================================================================== */
.home-risk {
	background: #fff;
}
.home-risk .home-risk__item {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: min(2vw, 12px);
	background: var(--oa-c-white);
	border-radius: 18px;
	box-shadow: 0 10px 30px 0 rgba(22, 141, 185, 0.12);
	padding: min(4vw, 28px) min(4vw, 24px);
	text-align: center;
}
.home-risk .home-risk__media {
	margin: 0;
}
.home-risk .home-risk__media img {
	width: auto;
	max-height: min(22vw, 90px);
	margin-inline: auto;
}
.home-risk .home-risk__title {
	font-size: min(5vw, 22px);
	font-weight: var(--oa-fw-black);
	letter-spacing: 0.03em;
	color: var(--oa-c-text);
	margin-bottom: 0;
}
.home-risk .home-risk__message {
	font-size: min(3.75vw, 16px);
	font-weight: var(--oa-fw-regular);
	line-height: 1.85;
	text-align: left;
}

/* ==========================================================================
   letters  #home-letters（3＋2 カード：ラベル＋書類サンプル）
   ========================================================================== */
.home-letters {
	background: url(http://jikou.elnoah.jp/wp-content/uploads/2026/06/home-letters_bg.webp)
		no-repeat center / cover;
}
.home-letters .home-letters__message {
	text-align: center;
	font-size: min(4vw, 18px);
	font-weight: var(--oa-fw-bold);
	color: var(--oa-c-muted);
	line-height: 1.8;
	margin-bottom: min(6vw, 50px);
}
.home-letters .home-letters__contents > div {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: min(5vw, 32px) min(2.5vw, 18px);
}
.home-letters .home-letters__item {
	flex: 0 0 calc((100% - 2 * min(2.5vw, 18px)) / 3);
	max-width: 340px;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
}
.home-letters .home-letters__head {
	font-size: min(6vw, 22px);
	font-weight: var(--oa-fw-bold);
	color: var(--oa-c-accent);
	text-align: center;
	margin-bottom: min(4vw, 10px);
}
.home-letters .home-letters__card {
	width: 100%;
	background: var(--oa-c-white);
	border: 1px solid #ccc;
	border-radius: 10px;
	box-shadow: 0 8px 20px rgba(22, 141, 185, 0.1);
	padding: min(4vw, 22px) min(5vw, 28px) min(4vw, 20px);
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: min(3vw, 20px);
}
.home-letters .home-letters__photo {
	width: 100%;
	margin: 0;
}
.home-letters .home-letters__photo img {
	display: block;
	width: 100%;
	height: auto;
}
.home-letters .home-letters__text {
	font-size: min(3.75vw, 16px);
	font-weight: var(--oa-fw-regular);
	line-height: 1.8;
}

/* ==========================================================================
   cta band  #home-cta（cta-1 / cta-2 共通）
   ※ ボタン色はSWELL側（red_/green_/blue_）／ここは字組・余白・角丸のみ
   ========================================================================== */
.home-cta {
	background: url(http://jikou.elnoah.jp/wp-content/uploads/2026/06/cta_bg.webp)
		no-repeat center / cover;
	padding-block: min(15vw, 60px) !important;
}
.home-cta .l-container {
	max-width: 1100px !important;
}
.home-cta .home-cta__title {
	text-align: center;
	font-size: min(6vw, 32px);
	font-weight: var(--oa-fw-black);
	line-height: 1.5;
	letter-spacing: 0.03em;
	color: var(--oa-c-white);
	text-shadow: 0 4px 20px var(--oa-c-accent);
}
.home-cta .home-cta__message {
	text-align: center;
	font-size: min(4vw, 18px);
	font-weight: var(--oa-fw-regular);
	line-height: 1.75;
	color: var(--oa-c-white);
	text-shadow: 0 4px 10px rgba(22, 141, 185, 0.5);
	margin-top: min(3vw, 20px);
}
.home-cta .home-cta__column {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: min(2vw, 14px);
	margin-top: min(5vw, 32px);
}
/* CTAボタン共通（字組・余白・角丸） */
.home-cta .c-cta-btn .swell-block-button__link {
	gap: 14px;
	min-width: 0;
	border-radius: 10px;
	padding: min(3.5vw, 18px) min(4vw, 28px);
	box-shadow: 0 6px 16px rgba(0, 0, 0, 0.12);
}
.home-cta .c-cta-btn .swell-block-button__link span {
	display: inline-flex;
	align-items: center;
	gap: 0.6em;
	font-size: min(4.5vw, 22px);
	font-weight: var(--oa-fw-black);
	letter-spacing: 0.02em;
	color: var(--oa-c-white);
}
/* ボタン地色（Figma準拠グラデ） */
.home-cta .cta-btn__tel .swell-block-button__link {
	/* width: min(100%, 271px); */
	background: var(--oa-grad-cta-hero);
}
.home-cta .cta-btn__line .swell-block-button__link {
	/* width: min(100%, 271px); */
	background: linear-gradient(90deg, #06c755 0%, #04a847 100%);
}
.home-cta .cta-btn__mail .swell-block-button__link {
	/* width: min(100%, 321px); */
	background: linear-gradient(90deg, #168db9 0%, #00739e 100%);
}
/* ボタンアイコン */
.home-cta .c-cta-btn .swell-block-button__link span::before {
	content: '';
	flex: 0 0 auto;
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
}
.home-cta .cta-btn__tel .swell-block-button__link span::before {
	width: 34px;
	height: 34px;
	border-radius: 50%;
	background: url(http://jikou.elnoah.jp/wp-content/uploads/2026/06/icon-tel_white.webp)
		no-repeat center / contain;
}
.home-cta .cta-btn__line .swell-block-button__link span::before {
	width: 29px;
	height: 28px;
	background-image: url(http://jikou.elnoah.jp/wp-content/uploads/2026/06/icon-line_white.webp);
}
.home-cta .cta-btn__mail .swell-block-button__link span::before {
	width: 24px;
	height: 34px;
	background-image: url(http://jikou.elnoah.jp/wp-content/uploads/2026/06/icon-mail.webp);
}

/* ==========================================================================
   cost  #home-cost（0円訴求カード）
   ========================================================================== */
.home-cost {
	background: url(http://jikou.elnoah.jp/wp-content/uploads/2026/06/home-cost_bg.webp)
		no-repeat center / cover;
}
.home-cost .home-cost__box {
	max-width: 560px;
	margin-inline: auto;
	background: var(--oa-c-white);
	border-radius: 24px 24px 20px 20px;
	box-shadow: 0 12px 15px rgba(22, 141, 185, 0.15);
	overflow: hidden;
}
.home-cost .home-cost__head {
	background: linear-gradient(90deg, var(--oa-c-sky), var(--oa-c-accent));
	color: var(--oa-c-white);
	font-size: min(5vw, 26px);
	font-weight: var(--oa-fw-black);
	text-align: center;
	padding: min(3vw, 16px);
}
.home-cost .home-cost__body {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: min(2vw, 12px);
	padding: min(6vw, 32px) min(5vw, 28px);
}
.home-cost .home-cost__num {
	font-size: min(6vw, 32px);
	font-weight: var(--oa-fw-black);
	color: var(--oa-c-red);
	line-height: 1;
	text-align: center;
}
.home-cost .home-cost__num em {
	font-family: var(--oa-ff-en);
	font-size: min(16vw, 85px);
	color: var(--oa-c-red);
}
.home-cost .home-cost__text {
	font-size: min(4.5vw, 24px);
	font-weight: var(--oa-fw-bold);
	color: var(--oa-c-text);
	text-align: center;
}
.home-cost .home-cost__caption {
	font-size: min(3.75vw, 15px);
	color: var(--oa-c-muted);
	text-align: center;
}

/* ==========================================================================
   flow  #home-flow（4ステップ・縦並びカード）
   ========================================================================== */
.home-flow {
	background: #eff9ff;
}
.home-flow .home-flow__message.has-text-align-center {
	text-align: center;
	font-size: min(4vw, 18px);
	font-weight: var(--oa-fw-bold);
	margin-bottom: min(6vw, 40px);
}
.home-flow .home-flow__contents {
	display: flex;
	flex-direction: column;
	gap: min(3vw, 20px);
}
.home-flow .home-flow__item {
	background: var(--oa-c-white);
	border-radius: 10px;
	box-shadow: 0 10px 15px rgba(22, 141, 185, 0.12);
	padding: min(4vw, 28px) min(5vw, 36px);
	margin-bottom: 0;
}
.home-flow .home-flow__item > .swell-block-columns__inner {
	align-items: center;
}
.home-flow .home-flow__num {
	position: relative;
	margin: 0;
}
/* ステップ番号の下に連結ドット（最後のステップは非表示） */
.home-flow .home-flow__num::before {
	content: '';
	position: absolute;
	top: calc(100% + 0.8em);
	left: 50%;
	transform: translateX(-50%);
	width: 0.35em;
	height: 3em;
	background: url(http://jikou.elnoah.jp/wp-content/uploads/2026/06/home-flow_dot.webp)
		no-repeat center / contain;
}
.home-flow
	.home-flow__contents
	.home-flow__item:last-child
	.home-flow__num::before {
	content: none;
}

.home-flow .home-flow__head {
	font-size: min(4.5vw, 21px);
	font-weight: var(--oa-fw-black);
	color: var(--oa-c-accent);
	margin-bottom: 0.3em;
}
.home-flow .home-flow__text {
	font-size: min(4vw, 18px);
	font-weight: var(--oa-fw-regular);
	line-height: 1.85;
}

/* ==========================================================================
   points  #home-points（3つの安心ポイント・横並びカード）
   ========================================================================== */
.home-points {
	background: url(http://jikou.elnoah.jp/wp-content/uploads/2026/06/home-points_bg.webp)
		no-repeat center / cover;
}
.home .home-points .l-container {
	max-width: calc(800px + 5%);
}
.home-points .l-container {
	max-width: 840px;
}
.home-points .p_ttl-main {
	color: var(--oa-c-ink);
}
.home-points .p_ttl-main em {
	font-family: var(--oa-ff-en);
	font-size: 1.85em;
	line-height: 1;
	margin: 4px;
	background: linear-gradient(120deg, #56b8ff, #0090c5);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}
.home-points .home-points__item {
	background: var(--oa-c-white);
	border-radius: 20px;
	box-shadow: 0 10px 15px rgba(22, 141, 185, 0.12);
	padding: min(4vw, 28px) min(5vw, 36px);
	margin-bottom: min(3vw, 18px);
}
.home-points .home-points__item > .swell-block-columns__inner {
	align-items: flex-start;
}
.home-points h3.home-points__title {
	font-size: min(5vw, 22px);
	font-weight: var(--oa-fw-black);
	letter-spacing: 0.03em;
	color: var(--oa-c-accent);
	margin-bottom: 10px;
}
.home-points h3.home-points__title.home-points__title--green {
	color: var(--oa-c-green);
}
.home-points h3.home-points__title.home-points__title--red {
	color: var(--oa-c-red);
}

/* ==========================================================================
   compare  #home-compare（比較表）
   ========================================================================== */
.home-compare {
	background: #fff;
}
.home-compare .p_ttl-main {
	color: var(--oa-c-text);
}
.home-compare .home-compare__table {
	margin: 0;
}
.home-compare .home-compare__table table {
	width: 100%;
	border-collapse: collapse;
	box-shadow: 0 10px 30px rgba(22, 141, 185, 0.12);
}
.home-compare .home-compare__table :is(th, td) {
	border: none;
	padding: min(3vw, 16px) min(3vw, 18px);
	font-size: min(3.5vw, 17px);
	line-height: 1.6;
	vertical-align: middle;
}
.home-compare .home-compare__table thead th {
	font-weight: var(--oa-fw-black);
	text-align: center;
}
.home-compare .home-compare__table thead th:nth-child(1) {
	width: 180px;
	background: #78cdee;
	color: var(--oa-c-accent);
}
.home-compare .home-compare__table thead th:nth-child(2) {
	background: #00a9e8;
	color: var(--oa-c-white);
}
.home-compare .home-compare__table thead th:nth-child(3) {
	background: #ebebeb;
	color: var(--oa-c-accent);
}
.home-compare .home-compare__table tbody th {
	width: 180px;
	background: #c2e7f5;
	color: var(--oa-c-accent);
	font-weight: var(--oa-fw-black);
	font-size: min(3.5vw, 16px);
	text-align: left;
}
.home-compare .home-compare__table tbody td {
	font-size: min(3.5vw, 16px);
	font-weight: var(--oa-fw-bold);
}
.home-compare .home-compare__table tbody td:nth-child(2) {
	background: #f5fcff;
	color: var(--oa-c-ink);
}
/* 専門家列：先頭にオレンジの丸（◯） */
.home-compare .home-compare__table tbody td:nth-child(2)::before {
	content: '';
	display: inline-block;
	width: 1.15em;
	height: 1.15em;
	margin-right: 0.4em;
	border: 0.18em solid #ef7d00;
	border-radius: 50%;
	vertical-align: -0.2em;
}
.home-compare .home-compare__table tbody td:nth-child(3) {
	background: var(--oa-c-white);
	color: var(--oa-c-muted);
}

/* ==========================================================================
   voice  #home-voice（ご相談者の声）※カードはHTML未追加
   ========================================================================== */
.home-voice {
	background: #eff9ff;
}
.home-voice .p_ttl-main {
	color: #006f97;
}
.home-voice .home-voice__headmessage {
	text-align: center;
	font-size: min(4vw, 18px);
	font-weight: var(--oa-fw-bold);
	color: var(--oa-c-text);
	line-height: 1.8;
	margin-bottom: min(4vw, 48px);
}
/* 声カード（white 角丸20＋影） */
.home-voice .home-voice__item {
	background: var(--oa-c-white);
	border-radius: 20px;
	box-shadow: 0 10px 30px rgba(22, 141, 185, 0.12);
	padding: min(5vw, 28px);
}
.home-voice .home-voice__head {
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: 14px;
}
.home-voice .home-voice__photo {
	flex: 0 0 auto;
	width: min(18vw, 72px);
	margin: 0;
}
.home-voice .home-voice__photo img {
	width: 100%;
	height: auto;
}
.home-voice .home-voice__old {
	font-size: min(3.5vw, 16px);
	font-weight: var(--oa-fw-black);
	color: var(--oa-c-accent);
	line-height: 1.5;
}
.home-voice .home-voice__title {
	font-size: min(4.5vw, 20px);
	font-weight: var(--oa-fw-black);
	color: var(--oa-c-accent);
	line-height: 1.5;
}
.home-voice .home-voice__text {
	font-size: min(4vw, 18px);
	font-weight: var(--oa-fw-regular);
	line-height: 1.9;
}
.home-voice .home-voice__caption {
	font-size: min(3.5vw, 14px);
	font-weight: var(--oa-fw-regular);
	color: var(--oa-c-muted);
	line-height: 1.7;
}

/* ==========================================================================
   vendors  #home-vendors（業者アコーディオン）
   ========================================================================== */
.home-vendors {
	background: #fff;
}
.home-vendors .home-vendor__headmessage {
	text-align: center;
	font-size: min(4vw, 18px);
	font-weight: var(--oa-fw-bold);
	line-height: 1.8;
	margin-bottom: min(6vw, 40px);
}
.home-vendors .swell-block-accordion__item {
	background: var(--oa-c-white);
	border-radius: 10px;
	margin-bottom: 1em;
	overflow: hidden;
	box-shadow: none;
}
.home-vendors .swell-block-accordion__title {
	font-size: min(4vw, 18px);
	font-weight: var(--oa-fw-bold);
	color: var(--oa-c-accent);
	padding: min(4vw, 18px) min(4vw, 24px);
	background: #eff9ff;
}
.home-vendors .swell-block-accordion__body ul {
	column-count: 3;
	column-gap: min(4vw, 40px);
	padding: min(3vw, 20px) min(4vw, 24px);
	padding-top: 0;
	margin: 0;
	list-style: none;
}
.home-vendors .swell-block-accordion__body li {
	position: relative;
	break-inside: avoid;
	padding-left: 1em;
	margin: 0;
	font-size: 18px;
	line-height: 1.9;
}
.home-vendors .swell-block-accordion__body li::before {
	content: '';
	position: absolute;
	top: 0.9em;
	left: 0.2em;
	background: var(--oa-c-accent);
	width: 0.25em;
	height: 0.25em;
	border-radius: 50vh;
}
@media (max-width: 960px) {
	.home-vendors .swell-block-accordion__body ul {
		column-count: 2;
		padding: 0;
	}
}
@media (max-width: 600px) {
	.home-vendors .swell-block-accordion__body ul {
		column-count: 1;
	}
	.home-vendors .swell-block-accordion__body li {
		font-size: 18px;
	}
}

/* ==========================================================================
   office  #home-office（事務所のご案内）※HTMLのセクションclassは home-*** を home-office へ要リネーム
   ========================================================================== */
.home-office {
	background: #eff9ff;
}
.home-office .home-office__head {
	margin-bottom: min(2vw, 16px);
}
.home-office .home-office__job {
	font-size: min(3.5vw, 16px);
	font-weight: var(--oa-fw-black);
	color: var(--oa-c-sky);
	letter-spacing: 0.05em;
}
.home-office .home-office__name {
	font-size: min(6vw, 28px);
	font-weight: var(--oa-fw-black);
	color: var(--oa-c-accent);
	letter-spacing: 0.03em;
}
.home-office .home-office__messageBox p {
	font-size: min(3.75vw, 16px);
	line-height: 1.9;
}
.home-office .home-office__media {
	margin: 0;
	border-radius: 20px;
	overflow: hidden;
	box-shadow: 0 10px 30px rgba(22, 141, 185, 0.12);
}
.home-office .home-office__media img {
	width: 100%;
	height: auto;
}
.home-office iframe {
	width: 100%;
	border-radius: 12px;
}
.home-office .wp-block-table table {
	width: 100%;
	border-collapse: collapse;
	border: 2px solid var(--oa-c-accent);
}
.home-office .wp-block-table th {
	width: 200px !important;
	background: var(--oa-c-accent);
	color: var(--oa-c-white);
	font-weight: var(--oa-fw-semibold);
	font-size: min(3.75vw, 16px);
	text-align: left;
	white-space: nowrap;
	padding: 10px 20px;
	border: none;
	border-bottom: 2px solid #0f6296;
}
.home-office .wp-block-table td {
	background: var(--oa-c-white);
	color: var(--oa-c-text);
	font-size: min(3.75vw, 16px);
	line-height: 1.6;
	padding: 9px 20px;
	border-bottom: 2px solid var(--oa-c-accent);
}

/* ==========================================================================
   faq  #home-faq（Q&Aアコーディオン is-style-simple）
   ========================================================================== */
.home-faq {
	background: #a9e2f5;
}
.home-faq .l-container {
	max-width: 840px;
}
.home-faq .p_ttl-en {
	color: var(--oa-c-white);
}
.home-faq .p_ttl-main {
	color: #0f6296;
}
.home-faq .is-style-simple .swell-block-accordion__title,
.home-faq .is-style-simple .swell-block-accordion__body {
	position: relative;
	padding-left: min(15vw, 65px);
	margin: 0;
}
.home-faq .is-style-simple .swell-block-accordion__body {
	padding-right: min(13vw, 35px);
}
.home-faq .swell-block-accordion__item {
	background: var(--oa-c-white);
	border: none;
	border-radius: 10px;
	box-shadow: 0 6px 18px rgba(22, 141, 185, 0.1);
	margin-bottom: 14px;
	overflow: hidden;
}
.home-faq .swell-block-accordion__title {
	position: relative;
	padding: min(3vw, 16px) min(4vw, 24px) min(3vw, 16px) min(11vw, 64px);
	font-size: min(4vw, 18px);
	font-weight: var(--oa-fw-black);
	color: var(--oa-c-accent);
}
.home-faq .swell-block-accordion__title::before {
	content: 'Q';
	position: absolute;
	left: min(4vw, 24px);
	top: min(3vw, 16px);
	display: flex;
	align-items: center;
	justify-content: center;
	width: 1.75em;
	height: 1.75em;
	border-radius: 8px;
	background: var(--oa-c-sky);
	color: var(--oa-c-white);
	font-family: var(--oa-ff-en);
	font-weight: var(--oa-fw-bold);
	font-size: 18px;
}
.home-faq .swell-block-accordion__icon {
	color: var(--oa-c-sky);
}
.home-faq .swell-block-accordion__body {
	position: relative;
	padding: 0 min(4vw, 24px) min(4vw, 20px) min(11vw, 64px);
	font-size: min(3.75vw, 16px);
	line-height: 1.85;
	color: var(--oa-c-text);
	border: none;
}
.home-faq .swell-block-accordion__body::before {
	content: 'A';
	position: absolute;
	left: min(4vw, 24px);
	top: min(4vw, 14px);
	display: flex;
	align-items: center;
	justify-content: center;
	width: 1.75em;
	height: 1.75em;
	border-radius: 8px;
	background: var(--oa-c-sky-pale);
	color: var(--oa-c-accent);
	font-family: var(--oa-ff-en);
	font-weight: var(--oa-fw-bold);
	font-size: 18px;
}

/* ==========================================================================
   contact  #home-contact（CF7フォーム）
   ========================================================================== */
.home-contact {
	background: #eff9ff;
}
.home-contact .wpcf7 {
	max-width: 830px;
	margin-inline: auto;
	background: var(--oa-c-white);
	border-radius: 20px;
	box-shadow: 0 10px 30px rgba(22, 141, 185, 0.12);
	padding: min(6vw, 36px);
}
.home-contact .CF7_table,
.home-contact .CF7_table tbody,
.home-contact .CF7_table tr,
.home-contact .CF7_table th,
.home-contact .CF7_table td {
	display: block;
	width: 100%;
}
/* SWELLコアの .post_content td,th 装飾（border / 背景 / padding）を打ち消し */
.home-contact .CF7_table :is(th, td) {
	border: none;
	background: none;
	color: inherit;
}
.home-contact .CF7_table td {
	padding: 0;
}
.home-contact .CF7_table tr {
	margin-bottom: 18px;
}
.home-contact .CF7_table th {
	text-align: left;
	font-size: min(4vw, 18px);
	font-weight: var(--oa-fw-extrabold);
	color: var(--oa-c-accent);
	padding: 0 0 8px;
}
.home-contact .CF7_table th p {
	font-weight: inherit;
}
.home-contact :is(.CF7_req, .CF7_unreq) {
	display: inline-block;
	font-size: 12px;
	color: var(--oa-c-white);
	padding: 0.2em 0.7em;
	border-radius: 4px;
	margin-right: 0.6em;
	vertical-align: middle;
}
.home-contact .CF7_req {
	background: var(--oa-c-red);
}
.home-contact .CF7_unreq {
	background: var(--oa-c-muted);
}
.home-contact
	:is(
		input[type='text'],
		input[type='email'],
		input[type='tel'],
		select,
		textarea
	) {
	width: 100%;
	background: var(--oa-c-sky-pale);
	border: 1.5px solid var(--oa-c-sky);
	border-radius: 10px;
	padding: 16px;
	font-size: min(4vw, 16px);
	color: var(--oa-c-text);
}
.home-contact textarea {
	min-height: 120px;
	line-height: 1.75;
}
/* ドロップダウン：ネイティブ矢印を消し sky色の下向き三角を再現
   ※ 入力欄まとめルール(:is(input[type='text']…)=0,2,1)のbackgroundショートハンドに
     打ち消されるため、.CF7_table .wpcf7-select(0,3,0)で詳細度を勝たせる */
.home-contact .CF7_table .wpcf7-select {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	padding-right: 44px;
	cursor: pointer;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8' fill='%235dc8f0'%3E%3Cpath d='M6 8 0 0h12z'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 16px center;
	background-size: 12px 8px;
}
.home-contact .wpcf7-select::-ms-expand {
	display: none;
}
.home-contact .CF7_btn {
	text-align: center;
	margin-top: 8px;
}
.home-contact .wpcf7-submit {
	width: 100%;
	max-width: 400px;
	background: var(--oa-grad-cta-hero);
	color: var(--oa-c-white);
	font-weight: var(--oa-fw-black);
	font-size: min(5vw, 22px);
	line-height: normal;
	border: none;
	border-radius: 999px;
	padding: 19px 56px;
	box-shadow: 0 10px 24px rgba(255, 107, 0, 0.4);
	cursor: pointer;
	transition: opacity 0.3s;
}
.home-contact .wpcf7-submit:hover {
	opacity: 0.85;
}
.wpcf7-spinner {
	display: none;
}

/* ==========================================================================
   responsive  ─ SP (max 960px)
   ========================================================================== */
@media (max-width: 960px) {
	.l-header__inner {
		height: 60px;
	}
	#home-hero {
		/* height: 75vh; */
		height: 600px;
		min-height: auto;
	}
	#home-hero > div {
		height: 100%;
	}
	#home-hero .home-hero__main {
		inset: auto;
		bottom: 0;
		height: 60%;
		margin: 0;
	}
	#home-hero .home-hero__main img {
		object-position: 72%;
	}
	#home-hero .home-hero__point-item img {
		mix-blend-mode: unset;
	}
	#home-hero .p-blogParts {
		height: 100%;
		max-width: 100%;
		padding-block: min(14vw, 56px);
	}
	#home-hero .cta-btn--hero {
		margin-bottom: 0;
	}
	#home-hero .home-hero__caption {
		font-size: min(3.5vw, 15px);
		color: #fff;
		line-height: 1.6;
		margin-top: 1em;
		padding: 8px;
		text-shadow: 0 0 9px black;
	}
	.c-cta-btn {
		width: 90%;
	}
	.home-intro {
		clip-path: polygon(
			0 0,
			100% 0,
			100% calc(100% - 40px),
			50% 100%,
			0 calc(100% - 40px)
		);
	}
	.home-intro .home-intro__box {
		width: 90%;
		margin: 0 auto;
		padding: min(8vw, 40px) min(6vw, 28px);
	}
	.home-intro .home-intro__title {
		margin-bottom: 32px;
	}
	.home-intro .p_check-list li {
		font-size: min(4.25vw, 20px);
	}
	.home-check .home-check__item > .swell-block-columns__inner {
		flex-direction: column;
	}
	.home-check .home-check__media,
	.home-check .home-check__body {
		--clmn-w: 100%;
	}
	.home-letters .home-letters__contents {
		width: 80%;
		margin: 0 auto;
	}
	.home-letters .home-letters__item {
		flex-basis: calc((100% - min(2.5vw, 18px)) / 2);
	}
	.home-cta .home-cta__column .c-cta-btn .swell-block-button__link {
		min-width: 100%;
	}
	.home-flow .home-flow__item > .swell-block-columns__inner {
		align-items: flex-start;
	}
	.home-flow .home-flow__num::before {
		top: calc(100% + 3.8em);
	}
	.home-points .home-points__item > .swell-block-columns__inner {
		align-items: flex-start;
		justify-content: center;
		gap: 1em;
	}
	.home-points h3.home-points__title {
		text-align: center;
	}
	.home-points .home-points__media img {
		max-width: 120px;
	}
	.home-compare .home-compare__table thead th:nth-child(1) {
		width: 140px;
	}
	.home-office .home-office__media {
		width: 80%;
		margin: 0 auto;
	}
	.home-office .home-office__item .swell-block-columns__inner {
		flex-direction: column-reverse;
		align-items: center;
	}
	.home-office .wp-block-table th {
		width: 130px !important;
		white-space: break-spaces;
	}
	.home-office iframe {
		height: 40vh;
	}
}
@media (max-width: 600px) {
	.home-letters .home-letters__item {
		flex-basis: 100%;
	}
}

/* ==========================================================================
   header（PC ≥960px）─ 指定クラスのみ
   ========================================================================== */
@media (min-width: 960px) {
	.l-header {
		height: 80px;
		display: flex;
		align-items: stretch;
	}
	.l-fixHeader__inner {
		height: 80px;
	}
	#gnav,
	.l-fixHeader__gnav.c-gnavWrap {
		margin-left: auto;
	}
	.-series-left .w-header {
		margin-left: 1em;
	}
	.-series .l-header__logo {
		width: 20vw;
	}
	.c-gnav > .menu-item > a .ttl {
		font-size: min(1.2vw, 16px);
		font-weight: 700;
	}
	.h_button-column {
		gap: 0.8em;
		margin: 0;
	}
	.header-address {
		align-items: flex-end;
	}
	.header-address_tel {
		display: flex;
		align-items: center;
		gap: 0;
		font-family: var(--oa-ff-en);
		font-size: min(1.5vw, 24px);
		font-weight: var(--oa-fw-bold);
		line-height: 1.1;
		color: var(--oa-c-accent);
	}
	.header-address_tel strong {
		font-weight: inherit;
	}
	.header-address_tel::before {
		content: '';
		flex: 0 0 auto;
		width: 20px;
		height: 26px;
		background: url(http://jikou.elnoah.jp/wp-content/uploads/2026/06/icon-tel_blue.webp)
			no-repeat center / contain;
	}
	.header-address_caption {
		font-size: min(1vw, 12px);
		font-weight: var(--oa-fw-regular);
		line-height: 1.2;
		color: var(--oa-c-muted);
	}

	/* LINEボタン（緑pill） */
	.cta-btn--header .swell-block-button__link {
		display: flex;
		align-items: center;
		gap: 8px;
		min-width: 0;
		padding: 11px 20px 11px 18px;
		border-radius: 999px;
		background: #06c755;
		box-shadow: none;
	}
	.cta-btn--header .swell-block-button__link span {
		display: inline-flex;
		align-items: center;
		gap: 8px;
		font-size: min(1vw, 15px);
		font-weight: var(--oa-fw-black);
		color: var(--oa-c-white);
	}
	.cta-btn--header .swell-block-button__link span::before {
		content: '';
		flex: 0 0 auto;
		width: min(1vw, 20px);
		height: min(1vw, 20px);
		background: url(http://jikou.elnoah.jp/wp-content/uploads/2026/06/icon-line_white.webp)
			no-repeat center / contain;
	}
}
