@charset "UTF-8";
/**
 * 株式会社イエリテ 売却査定LP 専用スタイル
 *
 * - モバイルファーストで記述しています（ブレークポイント：768px / 1024px）。
 * - 既存テーマとの衝突を防ぐため、すべてのクラスに .ierite-lp 接頭辞を付けています。
 * - 色を変更する場合は、下の「カラー設定」だけを修正してください。
 *
 * @package Ierite_LP
 */

/* =====================================================================
 * カラー設定
 *
 * 【要確認】下記の色は仮の設定です。
 * イエリテの正式なブランドカラーが決まったら、この2行を差し替えてください。
 *   --ierite-lp-brand : メインカラー（見出し・アクセント）
 *   --ierite-lp-cta   : CTAボタンの色（LP内で1色に統一）
 *
 * 変更する場合は、白文字とのコントラスト比が 4.5:1 以上になる濃さを選んでください。
 * ===================================================================== */

.ierite-lp {
	--ierite-lp-brand: #1b5e7e;
	--ierite-lp-brand-dark: #144a64;
	--ierite-lp-brand-tint: #eef4f7;
	--ierite-lp-brand-line: #cfe0e8;

	--ierite-lp-cta: #b45309;
	--ierite-lp-cta-dark: #92400e;

	--ierite-lp-text: #333333;
	--ierite-lp-text-muted: #5f6b72;
	--ierite-lp-bg: #ffffff;
	--ierite-lp-bg-gray: #f5f7f8;
	--ierite-lp-border: #e2e6e9;

	--ierite-lp-radius-card: 14px;
	--ierite-lp-radius-button: 10px;
	--ierite-lp-radius-image: 16px;
	--ierite-lp-shadow: 0 2px 8px rgba(27, 94, 126, 0.08);

	--ierite-lp-header-height: 56px;
	--ierite-lp-sticky-height: 64px;
}


/* =====================================================================
 * ベース
 * ===================================================================== */

.ierite-lp {
	margin: 0;
	padding: 0;
	background: var(--ierite-lp-bg);
	color: var(--ierite-lp-text);
	font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
	font-size: 16px;
	line-height: 1.8;
	-webkit-text-size-adjust: 100%;
	overflow-x: hidden;
}

.ierite-lp *,
.ierite-lp *::before,
.ierite-lp *::after {
	box-sizing: border-box;
}

.ierite-lp img {
	max-width: 100%;
	height: auto;
	vertical-align: middle;
}

.ierite-lp a {
	color: var(--ierite-lp-brand);
}

.ierite-lp p {
	margin: 0 0 1em;
}

.ierite-lp p:last-child {
	margin-bottom: 0;
}

.ierite-lp ul,
.ierite-lp ol,
.ierite-lp dl,
.ierite-lp dd {
	margin: 0;
	padding: 0;
	list-style: none;
}

/* -----------------------------------------------------------------
 * 見出しの共通設定
 *
 * 見出しは行間を詰め、本文は広く取ることで、
 * サイズだけに頼らず文字の役割の違いを伝えます。
 * ----------------------------------------------------------------- */

.ierite-lp h1,
.ierite-lp h2,
.ierite-lp h3,
.ierite-lp h4 {
	margin: 0;
	font-weight: 700;
	line-height: 1.42;
	letter-spacing: 0.01em;
}

/* 本文中の強調は、色とサイズの両方で差をつけます */
.ierite-lp strong {
	color: var(--ierite-lp-brand);
	font-size: 1.12em;
	font-weight: 700;
}

/* キーボード操作時のフォーカス表示（消さない） */
.ierite-lp a:focus-visible,
.ierite-lp button:focus-visible,
.ierite-lp summary:focus-visible,
.ierite-lp input:focus-visible,
.ierite-lp select:focus-visible,
.ierite-lp textarea:focus-visible {
	outline: 3px solid var(--ierite-lp-brand);
	outline-offset: 2px;
}

/* スマートフォンの固定CTA分の余白 */
.ierite-lp .ierite-lp__main {
	padding-bottom: calc(var(--ierite-lp-sticky-height) + 12px);
}

.ierite-lp__skip-link {
	position: absolute;
	left: -9999px;
	top: 0;
	z-index: 100;
	padding: 12px 20px;
	background: #ffffff;
	color: var(--ierite-lp-brand);
	font-weight: 700;
}

.ierite-lp__skip-link:focus {
	left: 0;
}


/* =====================================================================
 * 共通パーツ
 * ===================================================================== */

.ierite-lp__inner {
	width: 100%;
	max-width: 1160px;
	margin: 0 auto;
	padding: 0 20px;
}

.ierite-lp__inner--narrow {
	max-width: 860px;
}

.ierite-lp__section {
	padding: 64px 0;
}

.ierite-lp__section--gray {
	background: var(--ierite-lp-bg-gray);
}

/* セクション見出し（H2）：ページ内で最も強い文字 */
.ierite-lp__heading {
	margin-bottom: 32px;
	color: var(--ierite-lp-brand);
	font-size: 30px;
	line-height: 1.38;
	letter-spacing: 0.005em;
	text-align: center;
}

/* 見出し下のアクセント線。装飾を足しすぎずに存在感を出します */
.ierite-lp__heading::after {
	display: block;
	width: 48px;
	height: 3px;
	margin: 18px auto 0;
	border-radius: 2px;
	background: var(--ierite-lp-brand);
	content: "";
}

.ierite-lp__heading--cta {
	margin-bottom: 24px;
}

/* 導入文：本文より一段強く、見出しより弱い中間の階層 */
.ierite-lp__lead {
	margin-bottom: 36px;
	font-size: 17px;
	font-weight: 500;
	line-height: 1.85;
	text-align: left;
}

.ierite-lp__lead--left {
	text-align: left;
}

/* 補足：最も弱い階層。小さく、色を落とします */
.ierite-lp__note {
	margin: 12px 0 0;
	color: var(--ierite-lp-text-muted);
	font-size: 13px;
	font-weight: 400;
	line-height: 1.75;
}

.ierite-lp__note--block {
	margin-top: 24px;
	padding: 16px;
	border: 1px solid var(--ierite-lp-border);
	border-radius: 10px;
	background: #ffffff;
	font-size: 14px;
	text-align: left;
}

.ierite-lp__image-placeholder {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 220px;
	padding: 16px;
	border: 2px dashed var(--ierite-lp-brand-line);
	border-radius: var(--ierite-lp-radius-image);
	background: var(--ierite-lp-brand-tint);
	color: var(--ierite-lp-text-muted);
	font-size: 14px;
	text-align: center;
}


/* =====================================================================
 * CTAボタン
 * ===================================================================== */

.ierite-lp__cta-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	max-width: 420px;
	min-height: 64px;
	padding: 14px 28px;
	border-radius: var(--ierite-lp-radius-button);
	background: var(--ierite-lp-cta);
	color: #ffffff;
	font-size: 19px;
	font-weight: 700;
	line-height: 1.45;
	letter-spacing: 0.02em;
	text-align: center;
	text-decoration: none;
	box-shadow: 0 4px 14px rgba(180, 83, 9, 0.22);
	transition: background-color 0.2s ease;
}

.ierite-lp__cta-button:hover,
.ierite-lp__cta-button:focus {
	background: var(--ierite-lp-cta-dark);
	color: #ffffff;
	text-decoration: none;
}

.ierite-lp__cta-button--small {
	width: auto;
	min-height: 46px;
	padding: 8px 18px;
	font-size: 15px;
	letter-spacing: 0.01em;
	box-shadow: none;
}

.ierite-lp__cta-area {
	display: flex;
	flex-direction: column;
	align-items: center;
}


/* =====================================================================
 * ヘッダー
 * ===================================================================== */

.ierite-lp__header {
	position: sticky;
	top: 0;
	z-index: 50;
	background: rgba(255, 255, 255, 0.96);
	border-bottom: 1px solid var(--ierite-lp-border);
	backdrop-filter: saturate(180%) blur(6px);
}

.ierite-lp__header-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	max-width: 1160px;
	min-height: var(--ierite-lp-header-height);
	margin: 0 auto;
	padding: 6px 16px;
}

.ierite-lp__header-logo a {
	display: inline-flex;
	align-items: center;
	text-decoration: none;
}

.ierite-lp__header-logo-image {
	width: auto;
	max-height: 36px;
}

.ierite-lp__header-logo-text {
	color: var(--ierite-lp-brand);
	font-size: 16px;
	font-weight: 700;
}

.ierite-lp__header-actions {
	display: flex;
	align-items: center;
	gap: 16px;
}

/* 電話番号はPCのみ表示 */
.ierite-lp__header-tel {
	display: none;
}


/* =====================================================================
 * ファーストビュー
 * ===================================================================== */

.ierite-lp__hero {
	padding: 28px 0 52px;
	background: linear-gradient(180deg, var(--ierite-lp-brand-tint) 0%, #f6fafb 58%, #ffffff 100%);
}

.ierite-lp__hero-inner {
	display: grid;
	grid-template-areas:
		"head"
		"figure"
		"body";
	gap: 22px;
	max-width: 1160px;
	margin: 0 auto;
	padding: 0 20px;
}

.ierite-lp__hero-head {
	grid-area: head;
}

.ierite-lp__hero-figure {
	grid-area: figure;
	margin: 0;
}

.ierite-lp__hero-body {
	grid-area: body;
}

.ierite-lp__hero-eyebrow {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 14px;
	color: var(--ierite-lp-brand);
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.1em;
}

.ierite-lp__hero-eyebrow::before {
	flex: 0 0 auto;
	width: 24px;
	height: 2px;
	background: var(--ierite-lp-brand);
	content: "";
}

/* ページ内で最も強い文字。ほかの見出しと明確に差をつけます */
.ierite-lp__hero-title {
	margin-bottom: 16px;
	color: var(--ierite-lp-text);
	font-size: 34px;
	line-height: 1.32;
	letter-spacing: 0.005em;
}

.ierite-lp__hero-sub {
	margin: 0;
	color: var(--ierite-lp-brand);
	font-size: 18px;
	font-weight: 700;
	line-height: 1.6;
}

.ierite-lp__hero-image {
	width: 100%;
	aspect-ratio: 4 / 3;
	max-height: 44vh;
	border-radius: var(--ierite-lp-radius-image);
	object-fit: cover;
	box-shadow: 0 6px 20px rgba(27, 94, 126, 0.12);
}

/* 代表者を明示して、会社ではなく「人」が見えるようにします */
.ierite-lp__hero-caption {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 4px 10px;
	margin-top: 14px;
}

.ierite-lp__hero-caption-role {
	color: var(--ierite-lp-text-muted);
	font-size: 13px;
}

.ierite-lp__hero-caption-name {
	font-size: 20px;
	font-weight: 700;
	letter-spacing: 0.04em;
}

.ierite-lp__hero-caption-note {
	width: 100%;
	color: var(--ierite-lp-text-muted);
	font-size: 13px;
	line-height: 1.6;
}

.ierite-lp__hero-body {
	line-height: 1.85;
}

.ierite-lp__hero-cta {
	margin-top: 28px;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	width: 100%;
}

.ierite-lp__hero-cta .ierite-lp__cta-button {
	max-width: 100%;
}

/* CTA直下の補足は、送信前の不安をやわらげる役割のため少し強くします */
.ierite-lp__hero-cta .ierite-lp__note {
	margin-top: 14px;
	font-size: 14px;
	font-weight: 500;
}


/* =====================================================================
 * 共感セクション
 * ===================================================================== */

.ierite-lp__check-list {
	display: grid;
	gap: 12px;
}

.ierite-lp__check-item {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	padding: 16px 18px;
	border: 1px solid var(--ierite-lp-border);
	border-radius: var(--ierite-lp-radius-card);
	background: #ffffff;
}

.ierite-lp__check-mark {
	position: relative;
	flex: 0 0 auto;
	width: 22px;
	height: 22px;
	margin-top: 4px;
	border-radius: 50%;
	background: var(--ierite-lp-brand);
}

.ierite-lp__check-mark::after {
	position: absolute;
	top: 4px;
	left: 7px;
	width: 6px;
	height: 11px;
	border-right: 2px solid #ffffff;
	border-bottom: 2px solid #ffffff;
	transform: rotate(45deg);
	content: "";
}

.ierite-lp__check-text {
	font-size: 17px;
	font-weight: 500;
	line-height: 1.65;
}

.ierite-lp__concern-close {
	margin: 28px 0 0;
	font-size: 17px;
	font-weight: 700;
	line-height: 1.7;
	text-align: center;
}


/* =====================================================================
 * イエリテの約束
 * ===================================================================== */

.ierite-lp__card-grid {
	display: grid;
	gap: 16px;
}

.ierite-lp__card {
	padding: 24px 20px;
	border: 1px solid var(--ierite-lp-border);
	border-radius: var(--ierite-lp-radius-card);
	background: #ffffff;
	box-shadow: var(--ierite-lp-shadow);
}

.ierite-lp__card-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 56px;
	margin-bottom: 16px;
	border-radius: 50%;
	background: var(--ierite-lp-brand-tint);
	color: var(--ierite-lp-brand);
}

.ierite-lp__card-title {
	margin-bottom: 12px;
	color: var(--ierite-lp-brand);
	font-size: 21px;
	line-height: 1.4;
}

.ierite-lp__card-text {
	margin: 0;
	color: var(--ierite-lp-text-muted);
	font-size: 15px;
	line-height: 1.8;
}


/* =====================================================================
 * 査定額に対する考え方
 * ===================================================================== */

/* ブロック（説明項目と比較図を明確に分けるための区切り） */
.ierite-lp__block {
	margin-top: 40px;
}

/* 比較図ブロックの前は、説明項目と区別できるよう大きく空けます */
.ierite-lp__block--compare {
	margin-top: 72px;
}

/* ブロック見出し（H3）：セクション見出しより一段弱く、カード見出しより強く */
.ierite-lp__block-heading {
	margin-bottom: 22px;
	color: var(--ierite-lp-text);
	font-size: 23px;
	line-height: 1.45;
	text-align: center;
}

.ierite-lp__block-lead {
	margin: 0 auto 30px;
	max-width: 720px;
	color: var(--ierite-lp-text-muted);
	font-size: 16px;
	line-height: 1.85;
	text-align: center;
}

/* 説明項目：背景色ではなく白いカードにして、比較図と別ブロックであることを示します */
.ierite-lp__explain-list {
	display: grid;
	gap: 0;
	max-width: 860px;
	margin: 0 auto;
	padding: 8px 20px;
	border: 1px solid var(--ierite-lp-brand-line);
	border-radius: var(--ierite-lp-radius-card);
	background: #ffffff;
	box-shadow: var(--ierite-lp-shadow);
}

.ierite-lp__explain-item {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	padding: 15px 0;
	border-bottom: 1px solid var(--ierite-lp-border);
	font-size: 17px;
	font-weight: 700;
	line-height: 1.6;
}

.ierite-lp__explain-item:last-child {
	border-bottom: none;
}

.ierite-lp__explain-icon {
	position: relative;
	flex: 0 0 auto;
	width: 20px;
	height: 20px;
	margin-top: 3px;
}

.ierite-lp__explain-icon::after {
	position: absolute;
	top: 2px;
	left: 5px;
	width: 7px;
	height: 13px;
	border-right: 2px solid var(--ierite-lp-brand);
	border-bottom: 2px solid var(--ierite-lp-brand);
	transform: rotate(45deg);
	content: "";
}

.ierite-lp__compare {
	display: grid;
	gap: 24px;
}

.ierite-lp__compare-column {
	padding: 24px 20px;
	border: 1px solid var(--ierite-lp-border);
	border-radius: var(--ierite-lp-radius-card);
	background: #ffffff;
}

.ierite-lp__compare-column--caution {
	border-color: #e6d9c4;
	background: #fdfaf4;
}

.ierite-lp__compare-column--good {
	border-color: var(--ierite-lp-brand-line);
	background: var(--ierite-lp-brand-tint);
}

.ierite-lp__compare-title {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	margin-bottom: 22px;
	font-size: 20px;
	line-height: 1.4;
	text-align: center;
}

/* どちらの流れかを一目で区別するためのアイコン */
.ierite-lp__compare-icon {
	position: relative;
	flex: 0 0 auto;
	width: 24px;
	height: 24px;
	border-radius: 50%;
}

.ierite-lp__compare-icon--caution {
	background: #a97c2f;
}

.ierite-lp__compare-icon--caution::after {
	position: absolute;
	top: 50%;
	left: 50%;
	color: #ffffff;
	font-size: 15px;
	font-weight: 700;
	line-height: 1;
	transform: translate(-50%, -50%);
	content: "!";
}

.ierite-lp__compare-icon--good {
	background: var(--ierite-lp-brand);
}

.ierite-lp__compare-icon--good::after {
	position: absolute;
	top: 5px;
	left: 8px;
	width: 6px;
	height: 11px;
	border-right: 2px solid #ffffff;
	border-bottom: 2px solid #ffffff;
	transform: rotate(45deg);
	content: "";
}

.ierite-lp__compare-column--caution .ierite-lp__compare-title {
	color: #8a6a2f;
}

.ierite-lp__compare-column--good .ierite-lp__compare-title {
	color: var(--ierite-lp-brand);
}

.ierite-lp__flow-list {
	display: grid;
	gap: 22px;
}

.ierite-lp__flow-step {
	position: relative;
	padding: 13px 14px;
	border-radius: 8px;
	background: #ffffff;
	border: 1px solid var(--ierite-lp-border);
	font-size: 16px;
	font-weight: 500;
	line-height: 1.5;
	text-align: center;
}

.ierite-lp__flow-step:not(:last-child)::after {
	position: absolute;
	bottom: -17px;
	left: 50%;
	width: 0;
	height: 0;
	border-top: 7px solid var(--ierite-lp-border);
	border-right: 6px solid transparent;
	border-left: 6px solid transparent;
	transform: translateX(-50%);
	content: "";
}


/* =====================================================================
 * CTAセクション
 * ===================================================================== */

.ierite-lp__section--cta {
	background: var(--ierite-lp-brand-tint);
}

/* CTA下の補足：バッジではなく、静かに安心感が伝わる一覧にします */
.ierite-lp__point-list {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 10px;
	width: fit-content;
	margin: 26px auto 0;
}

.ierite-lp__point-item {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	color: var(--ierite-lp-text);
	font-size: 16px;
	font-weight: 700;
	line-height: 1.6;
	text-align: left;
}

.ierite-lp__point-check {
	position: relative;
	flex: 0 0 auto;
	width: 18px;
	height: 18px;
	margin-top: 3px;
}

.ierite-lp__point-check::after {
	position: absolute;
	top: 1px;
	left: 5px;
	width: 7px;
	height: 12px;
	border-right: 2px solid var(--ierite-lp-brand);
	border-bottom: 2px solid var(--ierite-lp-brand);
	transform: rotate(45deg);
	content: "";
}


/* =====================================================================
 * 査定の流れ
 * ===================================================================== */

.ierite-lp__step-list {
	display: grid;
	gap: 16px;
}

.ierite-lp__step {
	padding: 20px;
	border: 1px solid var(--ierite-lp-border);
	border-radius: var(--ierite-lp-radius-card);
	background: #ffffff;
}

.ierite-lp__step-number {
	display: inline-block;
	margin-bottom: 10px;
	padding: 4px 13px;
	border-radius: 999px;
	background: var(--ierite-lp-brand);
	color: #ffffff;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.06em;
}

.ierite-lp__step-title {
	margin-bottom: 8px;
	font-size: 20px;
	line-height: 1.4;
}

.ierite-lp__step-text {
	margin: 0;
	color: var(--ierite-lp-text-muted);
	font-size: 15px;
	line-height: 1.8;
}


/* =====================================================================
 * 代表紹介
 * ===================================================================== */

.ierite-lp__profile {
	display: grid;
	gap: 28px;
}

.ierite-lp__profile-figure {
	margin: 0;
	text-align: center;
}

.ierite-lp__profile-image {
	width: 100%;
	max-width: 320px;
	border-radius: var(--ierite-lp-radius-image);
	object-fit: cover;
}

.ierite-lp__profile-caption {
	margin-top: 14px;
}

.ierite-lp__profile-name {
	display: block;
	font-size: 24px;
	font-weight: 700;
	letter-spacing: 0.04em;
	line-height: 1.4;
}

.ierite-lp__profile-role {
	display: block;
	margin-top: 6px;
	color: var(--ierite-lp-text-muted);
	font-size: 14px;
}

.ierite-lp__profile-body {
	line-height: 1.9;
}

/* 冒頭の一文だけ少し強くして、読み始めの入口を作ります */
.ierite-lp__profile-body p:first-child {
	color: var(--ierite-lp-brand);
	font-size: 18px;
	font-weight: 700;
	line-height: 1.7;
}


/* =====================================================================
 * よくある質問
 * ===================================================================== */

.ierite-lp__faq-list {
	display: grid;
	gap: 12px;
}

.ierite-lp__faq-item {
	border: 1px solid var(--ierite-lp-border);
	border-radius: var(--ierite-lp-radius-card);
	background: #ffffff;
	overflow: hidden;
}

.ierite-lp__faq-question {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 12px;
	padding: 18px 20px;
	cursor: pointer;
	list-style: none;
}

.ierite-lp__faq-question::-webkit-details-marker {
	display: none;
}

.ierite-lp__faq-question-text {
	margin: 0;
	font-size: 17px;
	font-weight: 700;
	line-height: 1.55;
}

.ierite-lp__faq-icon {
	position: relative;
	flex: 0 0 auto;
	width: 20px;
	height: 20px;
	margin-top: 4px;
}

.ierite-lp__faq-icon::before,
.ierite-lp__faq-icon::after {
	position: absolute;
	top: 50%;
	left: 50%;
	background: var(--ierite-lp-brand);
	transform: translate(-50%, -50%);
	content: "";
}

.ierite-lp__faq-icon::before {
	width: 14px;
	height: 2px;
}

.ierite-lp__faq-icon::after {
	width: 2px;
	height: 14px;
	transition: transform 0.2s ease;
}

.ierite-lp__faq-item[open] .ierite-lp__faq-icon::after {
	transform: translate(-50%, -50%) scaleY(0);
}

.ierite-lp__faq-answer {
	padding: 0 20px 20px;
	color: var(--ierite-lp-text-muted);
	font-size: 15px;
	line-height: 1.85;
}


/* =====================================================================
 * フォーム
 * ===================================================================== */

.ierite-lp__section--form {
	scroll-margin-top: calc(var(--ierite-lp-header-height) + 8px);
	background: var(--ierite-lp-bg-gray);
}

.ierite-lp__form-wrap {
	padding: 24px 20px;
	border-radius: var(--ierite-lp-radius-card);
	background: #ffffff;
	box-shadow: var(--ierite-lp-shadow);
}

.ierite-lp__form-notice {
	padding: 16px;
	border: 2px dashed var(--ierite-lp-cta);
	border-radius: 8px;
	color: var(--ierite-lp-cta-dark);
	font-size: 15px;
}

.ierite-lp__form-row {
	margin-bottom: 22px;
}

.ierite-lp__form-label {
	display: block;
	margin-bottom: 10px;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.5;
}

.ierite-lp__form-required,
.ierite-lp__form-optional {
	display: inline-block;
	margin-left: 8px;
	padding: 2px 8px;
	border-radius: 4px;
	font-size: 12px;
	font-weight: 700;
	vertical-align: middle;
}

.ierite-lp__form-required {
	background: var(--ierite-lp-cta);
	color: #ffffff;
}

.ierite-lp__form-optional {
	border: 1px solid var(--ierite-lp-border);
	background: #ffffff;
	color: var(--ierite-lp-text-muted);
}

.ierite-lp__form-hint {
	margin: 6px 0 0;
	color: var(--ierite-lp-text-muted);
	font-size: 13px;
}

/* Contact Form 7 の入力欄 */
.ierite-lp__form-wrap input[type="text"],
.ierite-lp__form-wrap input[type="tel"],
.ierite-lp__form-wrap input[type="email"],
.ierite-lp__form-wrap select,
.ierite-lp__form-wrap textarea {
	width: 100%;
	padding: 14px 14px;
	border: 1px solid #c8ced3;
	border-radius: 8px;
	background: #ffffff;
	color: var(--ierite-lp-text);
	font-family: inherit;
	font-size: 16px; /* 16px未満にするとiOSで画面が拡大されます */
	line-height: 1.6;
}

.ierite-lp__form-wrap textarea {
	min-height: 140px;
	resize: vertical;
}

.ierite-lp__form-wrap select {
	appearance: none;
	background-image: linear-gradient(45deg, transparent 50%, var(--ierite-lp-text) 50%), linear-gradient(135deg, var(--ierite-lp-text) 50%, transparent 50%);
	background-position: calc(100% - 20px) calc(50% + 2px), calc(100% - 14px) calc(50% + 2px);
	background-size: 6px 6px, 6px 6px;
	background-repeat: no-repeat;
	padding-right: 40px;
}

.ierite-lp__form-wrap .wpcf7-list-item {
	display: block;
	margin: 0 0 8px;
}

.ierite-lp__form-wrap .wpcf7-list-item label {
	display: flex;
	align-items: center;
	gap: 10px;
	min-height: 44px;
	cursor: pointer;
}

.ierite-lp__form-wrap input[type="checkbox"],
.ierite-lp__form-wrap input[type="radio"] {
	width: 22px;
	height: 22px;
	flex: 0 0 auto;
}

/* 任意項目の折りたたみ */
.ierite-lp__form-optional-block {
	padding: 16px;
	border: 1px solid var(--ierite-lp-border);
	border-radius: 8px;
	background: #fbfcfc;
}

.ierite-lp__form-optional-block > summary {
	display: flex;
	align-items: center;
	gap: 8px;
	min-height: 44px;
	margin-bottom: 0;
	color: var(--ierite-lp-brand);
	cursor: pointer;
	list-style: none;
}

.ierite-lp__form-optional-block > summary::-webkit-details-marker {
	display: none;
}

.ierite-lp__form-optional-block > summary::before {
	flex: 0 0 auto;
	width: 0;
	height: 0;
	border-top: 6px solid transparent;
	border-bottom: 6px solid transparent;
	border-left: 8px solid var(--ierite-lp-brand);
	transition: transform 0.2s ease;
	content: "";
}

.ierite-lp__form-optional-block[open] > summary::before {
	transform: rotate(90deg);
}

.ierite-lp__form-optional-block[open] > summary {
	margin-bottom: 16px;
}

.ierite-lp__form-optional-block .ierite-lp__form-row:last-child {
	margin-bottom: 0;
}

.ierite-lp__form-agree {
	margin: 24px 0;
	padding: 16px;
	border: 1px solid var(--ierite-lp-border);
	border-radius: 8px;
	background: var(--ierite-lp-bg-gray);
}

.ierite-lp__form-submit {
	text-align: center;
}

.ierite-lp__form-submit .ierite-lp__form-hint {
	margin-top: 14px;
	font-size: 14px;
	font-weight: 500;
}

.ierite-lp__form-wrap input[type="submit"] {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	max-width: 420px;
	min-height: 64px;
	padding: 14px 28px;
	border: none;
	border-radius: var(--ierite-lp-radius-button);
	background: var(--ierite-lp-cta);
	color: #ffffff;
	font-family: inherit;
	font-size: 19px;
	font-weight: 700;
	letter-spacing: 0.02em;
	cursor: pointer;
	box-shadow: 0 4px 14px rgba(180, 83, 9, 0.22);
	transition: background-color 0.2s ease;
}

.ierite-lp__form-wrap input[type="submit"]:hover {
	background: var(--ierite-lp-cta-dark);
}

.ierite-lp__form-wrap input[type="submit"]:disabled {
	background: #9aa2a8;
	cursor: not-allowed;
}

/* エラー表示（色だけに頼らず、記号と枠線でも伝えます） */
.ierite-lp__form-wrap .wpcf7-not-valid-tip {
	display: block;
	margin-top: 8px;
	padding: 8px 12px;
	border-left: 4px solid #b3261e;
	background: #fdf2f1;
	color: #b3261e;
	font-size: 14px;
	font-weight: 500;
}

.ierite-lp__form-wrap .wpcf7-not-valid-tip::before {
	margin-right: 6px;
	content: "\26A0";
}

.ierite-lp__form-wrap .wpcf7-not-valid {
	border-color: #b3261e;
	background: #fdf2f1;
}

.ierite-lp__form-wrap .wpcf7-response-output {
	margin: 20px 0 0;
	padding: 14px 16px;
	border: 2px solid var(--ierite-lp-border);
	border-radius: 8px;
	font-size: 15px;
}

.ierite-lp__form-wrap .wpcf7-spinner {
	display: block;
	margin: 12px auto 0;
}

.ierite-lp__form-tel {
	margin-top: 32px;
	padding: 24px 20px;
	border: 1px solid var(--ierite-lp-border);
	border-radius: var(--ierite-lp-radius-card);
	background: #ffffff;
	text-align: center;
}

.ierite-lp__form-tel-lead {
	margin-bottom: 10px;
	font-size: 16px;
	font-weight: 700;
}

.ierite-lp__form-tel-number {
	display: inline-block;
	color: var(--ierite-lp-brand);
	font-size: 30px;
	font-weight: 700;
	letter-spacing: 0.03em;
	line-height: 1.3;
	text-decoration: none;
}


/* =====================================================================
 * フッター
 * ===================================================================== */

.ierite-lp__footer {
	padding: 48px 0 40px;
	border-top: 1px solid var(--ierite-lp-border);
	background: #ffffff;
}

/* フッターは情報として読ませる場所のため、見出しは控えめにします */
.ierite-lp__footer-heading {
	margin-bottom: 24px;
	color: var(--ierite-lp-brand);
	font-size: 20px;
	text-align: center;
}

.ierite-lp__footer-heading::after {
	display: block;
	width: 36px;
	height: 2px;
	margin: 14px auto 0;
	border-radius: 2px;
	background: var(--ierite-lp-brand-line);
	content: "";
}

.ierite-lp__company {
	margin-bottom: 28px;
	border-top: 1px solid var(--ierite-lp-border);
}

.ierite-lp__company-row {
	display: grid;
	gap: 2px;
	padding: 12px 4px;
	border-bottom: 1px solid var(--ierite-lp-border);
}

.ierite-lp__company-label {
	color: var(--ierite-lp-text-muted);
	font-size: 13px;
	font-weight: 700;
}

.ierite-lp__company-value {
	font-size: 15px;
}

.ierite-lp__footer-links {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 12px 20px;
	margin-bottom: 24px;
}

.ierite-lp__footer-links a {
	font-size: 14px;
}

.ierite-lp__copyright {
	color: var(--ierite-lp-text-muted);
	font-size: 13px;
	text-align: center;
}


/* =====================================================================
 * スマートフォン固定CTA
 * ===================================================================== */

.ierite-lp__sticky-cta {
	position: fixed;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 60;
	display: flex;
	gap: 8px;
	padding: 6px 10px calc(6px + env(safe-area-inset-bottom));
	background: rgba(255, 255, 255, 0.97);
	border-top: 1px solid var(--ierite-lp-border);
	transition: transform 0.25s ease;
}

.ierite-lp__sticky-cta.is-hidden {
	transform: translateY(110%);
}

.ierite-lp__sticky-button {
	display: flex;
	flex: 1 1 0;
	align-items: center;
	justify-content: center;
	min-height: var(--ierite-lp-sticky-height);
	padding: 8px;
	border-radius: var(--ierite-lp-radius-button);
	font-size: 17px;
	font-weight: 700;
	letter-spacing: 0.02em;
	text-decoration: none;
}

.ierite-lp__sticky-button--tel {
	border: 2px solid var(--ierite-lp-brand);
	background: #ffffff;
	color: var(--ierite-lp-brand);
}

.ierite-lp__sticky-button--form {
	background: var(--ierite-lp-cta);
	color: #ffffff;
}

.ierite-lp__sticky-button--form:hover,
.ierite-lp__sticky-button--form:focus {
	background: var(--ierite-lp-cta-dark);
	color: #ffffff;
}


/* =====================================================================
 * サンクスページ
 * ===================================================================== */

.ierite-lp--thanks .ierite-lp__main {
	padding-bottom: 0;
}

.ierite-lp__section--thanks {
	padding: 56px 0 72px;
}

.ierite-lp__thanks-box {
	margin-top: 32px;
	padding: 24px 20px;
	border: 1px solid var(--ierite-lp-border);
	border-radius: var(--ierite-lp-radius-card);
	background: var(--ierite-lp-bg-gray);
}

.ierite-lp__thanks-tel {
	color: var(--ierite-lp-brand);
	font-size: 22px;
	font-weight: 700;
	text-decoration: none;
}

.ierite-lp__thanks-back {
	margin-top: 32px;
	text-align: center;
}


/* =====================================================================
 * タブレット（768px以上）
 * ===================================================================== */

@media (min-width: 768px) {

	.ierite-lp {
		--ierite-lp-header-height: 72px;
		font-size: 17px;
	}

	/* PCでは固定CTAを表示しません */
	.ierite-lp__sticky-cta {
		display: none;
	}

	.ierite-lp .ierite-lp__main {
		padding-bottom: 0;
	}

	.ierite-lp__section {
		padding: 88px 0;
	}

	.ierite-lp__heading {
		margin-bottom: 40px;
		font-size: 38px;
	}

	.ierite-lp__heading::after {
		width: 56px;
		margin-top: 22px;
	}

	/* 画面が広い場合のみ、導入文を中央揃えにします */
	.ierite-lp__lead {
		font-size: 18px;
		text-align: center;
	}

	.ierite-lp__lead--left {
		text-align: left;
	}

	.ierite-lp__cta-button {
		min-height: 68px;
		font-size: 20px;
	}

	.ierite-lp__cta-button--small {
		min-height: 46px;
		font-size: 15px;
	}

	.ierite-lp__header-inner {
		padding: 8px 24px;
	}

	.ierite-lp__header-logo-image {
		max-height: 44px;
	}

	.ierite-lp__header-logo-text {
		font-size: 18px;
	}

	.ierite-lp__header-tel {
		display: flex;
		flex-direction: column;
		align-items: flex-end;
		line-height: 1.3;
	}

	.ierite-lp__header-tel-label {
		color: var(--ierite-lp-text-muted);
		font-size: 12px;
	}

	.ierite-lp__header-tel-number {
		color: var(--ierite-lp-brand);
		font-size: 20px;
		font-weight: 700;
		text-decoration: none;
	}

	/* ファーストビュー */
	.ierite-lp__hero {
		padding: 64px 0 88px;
	}

	.ierite-lp__hero-inner {
		grid-template-areas:
			"head figure"
			"body figure";
		grid-template-columns: 1fr 1fr;
		grid-template-rows: auto 1fr;
		gap: 22px 48px;
		align-items: start;
	}

	.ierite-lp__hero-figure {
		align-self: center;
	}

	.ierite-lp__hero-image {
		aspect-ratio: 4 / 5;
		max-height: none;
	}

	.ierite-lp__hero-title {
		margin-bottom: 18px;
		font-size: 46px;
	}

	.ierite-lp__hero-sub {
		font-size: 21px;
	}

	.ierite-lp__hero-eyebrow {
		font-size: 15px;
	}

	.ierite-lp__hero-caption-name {
		font-size: 21px;
	}

	.ierite-lp__hero-body {
		font-size: 17px;
	}

	.ierite-lp__hero-cta {
		margin-top: 32px;
	}

	.ierite-lp__hero-cta .ierite-lp__cta-button {
		max-width: 380px;
	}

	/* 共感セクション */
	.ierite-lp__check-list {
		grid-template-columns: repeat(2, 1fr);
	}

	/* 約束カード */
	.ierite-lp__card-grid--4 {
		grid-template-columns: repeat(2, 1fr);
		gap: 20px;
	}

	/* 査定額に対する考え方 */
	.ierite-lp__block {
		margin-top: 48px;
	}

	.ierite-lp__block--compare {
		margin-top: 96px;
	}

	.ierite-lp__block-heading {
		margin-bottom: 26px;
		font-size: 28px;
	}

	.ierite-lp__block-lead {
		font-size: 17px;
	}

	.ierite-lp__explain-list {
		grid-template-columns: repeat(2, 1fr);
		column-gap: 32px;
		padding: 12px 32px;
	}

	/* 2列表示のとき、右列の最終項目にも区切り線が残らないようにします */
	.ierite-lp__explain-item:nth-last-child(2):nth-child(odd) {
		border-bottom: none;
	}

	.ierite-lp__compare {
		grid-template-columns: repeat(2, 1fr);
		gap: 28px;
	}

	.ierite-lp__compare-title {
		font-size: 21px;
	}

	.ierite-lp__flow-step {
		font-size: 16px;
	}

	/* CTA下の補足は横並びにします */
	.ierite-lp__point-list {
		flex-direction: row;
		flex-wrap: wrap;
		justify-content: center;
		gap: 12px 28px;
		margin-top: 28px;
	}

	.ierite-lp__compare-column {
		padding: 28px 24px;
	}

	/* 査定の流れ */
	.ierite-lp__step-list {
		grid-template-columns: repeat(3, 1fr);
		gap: 20px;
	}

	/* 代表紹介 */
	.ierite-lp__profile {
		grid-template-columns: 320px 1fr;
		gap: 40px;
		align-items: start;
	}

	.ierite-lp__profile-figure {
		text-align: left;
	}

	/* 代表紹介・カード・ステップ */
	.ierite-lp__profile-name {
		font-size: 28px;
	}

	.ierite-lp__profile-body p:first-child {
		font-size: 19px;
	}

	.ierite-lp__card-title {
		font-size: 22px;
	}

	.ierite-lp__step-title {
		font-size: 21px;
	}

	.ierite-lp__faq-question-text {
		font-size: 18px;
	}

	.ierite-lp__faq-answer {
		font-size: 16px;
	}

	/* フォーム */
	.ierite-lp__form-wrap {
		padding: 40px;
	}

	.ierite-lp__form-tel-number {
		font-size: 34px;
	}

	/* フッター */
	.ierite-lp__company-row {
		grid-template-columns: 220px 1fr;
		gap: 16px;
		align-items: baseline;
		padding: 14px 8px;
	}

	.ierite-lp__company-label {
		font-size: 14px;
	}
}


/* =====================================================================
 * PC（1024px以上）
 * ===================================================================== */

@media (min-width: 1024px) {

	.ierite-lp__section {
		padding: 104px 0;
	}

	.ierite-lp__heading {
		font-size: 42px;
	}

	.ierite-lp__hero-title {
		font-size: 52px;
	}

	.ierite-lp__block-heading {
		font-size: 30px;
	}

	/* 約束カードは4列 */
	.ierite-lp__card-grid--4 {
		grid-template-columns: repeat(4, 1fr);
	}

	/* 4列になるとカード幅が狭くなるため、見出しを少し戻します */
	.ierite-lp__card-title {
		font-size: 20px;
	}

	/* 共感セクションは3列 */
	.ierite-lp__check-list {
		grid-template-columns: repeat(3, 1fr);
	}

	.ierite-lp__lead {
		font-size: 18px;
	}
}


/* =====================================================================
 * 動きを減らす設定への配慮
 * ===================================================================== */

@media (prefers-reduced-motion: reduce) {

	.ierite-lp *,
	.ierite-lp *::before,
	.ierite-lp *::after {
		transition-duration: 0.01ms !important;
		animation-duration: 0.01ms !important;
		scroll-behavior: auto !important;
	}
}
