@charset "utf-8";

/* 既存ベースのトーン＆マナー維持用カスタムスタイル */
body {
	font-family: 'Noto Sans JP', sans-serif;
	color: #333;
	background-color: #fcfcfc;
	margin-top: 180px;
}

.color-primary {
	color: #BF282A;
}

.bg-primary {
	background-color: #BF282A;
}

.bg-primary-hover:hover {
	background-color: #a01f21;
}

.color-secondary {
	color: #38ad36;
}

.bg-secondary {
	background-color: #38ad36;
}

/* ヘッダー・フッター等の既存構造簡易再現 */
#header-sp {
	background: #fff;
	padding: 10px;
	border-bottom: 2px solid #BF282A;
}

.mainHd {
	background: #fff;
	padding: 15px 0;
	border-bottom: 3px solid #BF282A;
}

.mainHd .wrap {
	max-width: 1100px;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.telBox {
	font-size: 1.5rem;
	font-weight: bold;
	color: #BF282A;
}

/* 診断ツール専用スタイル */
.diagnosis-container {
	max-width: 800px;
	margin: 40px auto;
	padding: 20px;
	background: #fff;
	border-radius: 12px;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
}

.swiper-slide {
	padding: 10px 20px 40px;
	box-sizing: border-box;
}

.check-item {
	display: flex;
	align-items: center;
	padding: 16px;
	margin-bottom: 12px;
	border: 2px solid #e5e7eb;
	border-radius: 8px;
	cursor: pointer;
	transition: all 0.2s ease;
}

.check-item:hover {
	border-color: #BF282A;
	background-color: #fffafb;
}

.check-item.selected {
	border-color: #BF282A;
	background-color: #fff0f2;
}

.check-item input[type="checkbox"] {
	width: 24px;
	height: 24px;
	margin-right: 16px;
	accent-color: #BF282A;
	cursor: pointer;
}

.check-item span {
	font-size: 1.1rem;
	font-weight: 500;
	line-height: 1.5;
	pointer-events: none;
}

.progress-container {
	width: 100%;
	height: 8px;
	background: #e5e7eb;
	border-radius: 4px;
	overflow: hidden;
	margin-bottom: 24px;
}

.progress-bar {
	height: 100%;
	background: #BF282A;
	width: 0%;
	transition: width 0.4s ease;
}

.result-screen,
#diagnosis-area {
	display: none;
}

#diagnosis-area {
	animation: fadeIn 0.5s;
}

.result-screen {
	animation: fadeIn 0.5s;
}

@media (max-width: 750px) {
	body {
		margin-top: 50px;
	}

	/* .bg-gray-50.py-8 {
		padding-top: 100vw;
	} */
}

@keyframes fadeIn {
	from {
		opacity: 0;
		transform: translateY(10px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}