/**
 * Flow page ("ご相談の流れ"). Figma node 119:2507 (Narrow) / 119:2743 (Wide).
 * This page reads narrower than others (max-width 800px, not 1120px) —
 * see .page-title--narrow in components.css.
 */

/* -- Q&A -- */

.qa-section {
	display: flex;
	justify-content: center;
	padding: 0 var(--container-px) var(--section-py);
	background-color: var(--color-bg-base);
}

.qa-list {
	display: flex;
	flex-direction: column;
	gap: 16px;
	width: 100%;
	max-width: 800px;
}

.qa-item {
	display: flex;
	flex-direction: column;
	gap: 16px;
	padding: 24px 20px;
	background-color: var(--color-bg-muted);
	border: 1px solid var(--color-border-base);
	border-radius: var(--radius-lg);
}

.qa-item__question {
	display: flex;
	gap: 14px;
	align-items: flex-start;
}

.qa-item__badge {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	flex-shrink: 0;
	border-radius: var(--radius-full);
	background-color: var(--color-brand-primary);
	font: 700 13px/1 var(--font-dm-sans);
	color: var(--color-bg-muted);
}

.qa-item__question-text {
	font: 700 18px/1.5 var(--font-sans);
	color: var(--color-text-primary);
	margin: 0;
}

.qa-item__answer {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.qa-item__answer-lead {
	font: 700 17px/1.7 var(--font-sans);
	color: var(--color-text-accent);
	margin: 0;
}

.qa-item__answer-body p {
	font: 400 16px/1.8 var(--font-sans);
	color: var(--color-text-primary);
	margin: 0;
}

.qa-item__answer-body p strong {
	font-weight: 700;
}

/* -- Steps ("ご相談から、お引き渡しまで") -- */

.flow-steps {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--block-gap);
	padding: var(--section-py) var(--container-px);
	background-color: var(--color-bg-muted);
}

.flow-steps > .section-heading,
.flow-steps__list,
.flow-steps__closing {
	width: 100%;
	max-width: 800px;
}

.flow-steps__list {
	display: flex;
	flex-direction: column;
}

.flow-step {
	display: flex;
	gap: 16px;
}

.flow-step__rail {
	display: flex;
	flex-direction: column;
	align-items: center;
	flex-shrink: 0;
}

.flow-step__number {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	flex-shrink: 0;
	border-radius: var(--radius-full);
	background-color: var(--color-brand-primary);
	font: 700 17px/1 var(--font-dm-sans);
	color: var(--color-text-inverse);
}

.flow-step__line {
	width: 2px;
	flex: 1 0 0;
	margin-top: 4px;
	background-color: var(--color-border-strong);
}

.flow-step__content {
	flex: 1 1 0;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: 6px 0 36px;
}

.flow-step__title {
	font: 700 20px/1.5 var(--font-sans);
	color: var(--color-text-primary);
	margin: 0;
}

.flow-step__title .u-text-accent {
	font-weight: 700;
}

.flow-step__body p {
	font: 400 16px/1.8 var(--font-sans);
	color: var(--color-text-primary);
	margin: 0;
}

.flow-step__methods {
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: 16px;
	background-color: var(--color-bg-base);
	border-radius: var(--radius-md);
}

.flow-step__method {
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.flow-step__method-name {
	display: flex;
	align-items: center;
	gap: 8px;
	font: 700 15px/1.6 var(--font-sans);
	color: var(--color-text-primary);
}

.flow-step__method-name svg {
	width: 20px;
	height: 20px;
	flex-shrink: 0;
}

.flow-step__method-note {
	font: 400 14px/1.7 var(--font-sans);
	color: var(--color-text-primary);
	margin: 0;
}

.flow-steps__closing {
	padding-top: 8px;
	text-align: center;
}

.flow-steps__closing p {
	margin: 0;
}
