/* ==========================
全体
========================== */
.faq .pege-heade-inner {
	background: url('../img/faq/faq-header.png') center right no-repeat;
	background-size: contain;
}
	.faq-page {
		max-width: 1000px;
		padding: 40px 20px;
		color: #333;
	}
/* ==========================
カテゴリナビ
========================== */
	.faq-nav ul {
		display: flex;
		justify-content: center;
		flex-wrap: wrap;
		gap: 20px;
		list-style: none;
		padding: 0;
		margin: 0 0 56px;
	}
	.faq-nav ul li{
		width: calc(100% / 4 - 20px);
		min-width: 193px;
	}
@media (max-width: 900px) {
	.faq-nav ul li {
		width: calc(50% - 20px); 
		display: flex;
		justify-content: center;
	}
	.faq-nav a {
		width: 100%;
		min-width: 0;
	}
}
	.faq-nav a {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 10px;
		min-width: 180px;
		padding: 14px 20px;
		border: 1.5px solid #7da453;
		border-radius: 10px;
		background: #fff;
		color: #7da453;
		font-size: 15px;
		font-weight: 600;
		text-decoration: none;
		box-shadow: 0 4px 10px rgba(0, 0, 0, 0.06);
		transition: all 0.25s ease;
	}
	.faq-nav a::after {
		content: "↓";
		font-size: 14px;
	}
	.faq-nav a:hover,
	.faq-nav a.is-active {
		background: #7da453;
		color: #fff;
		box-shadow: 0 6px 14px rgba(0, 0, 0, 0.14);
	}
	/* ==========================
セクション
========================== */
	.faq-section {
		display: none;
		margin-bottom: 72px;
	}
	.faq-section.is-active {
		display: block;
	}
	.faq-section-title {
		font-size: 24px;
		font-weight: bold;
		margin-bottom: 12px;
	}
	.faq-section-title::after {
		content: "";
		display: block;
		height: 1px;
		background: #7da453;
		margin-top: 14px;
	}
	/* ==========================
FAQ 行
========================== */
	.faq-row {
		padding: 18px 0;
		border-bottom: 1px solid #e5e5e5;
	}
	/* 質問 */
	.faq-question {
		display: flex;
		align-items: center;
		gap: 14px;
		cursor: pointer;
	}
	.faq-list{
		padding: 0 10px;
	}
	/* ==========================
＋／− アイコン（確定版）
========================== */
	.faq-toggle {
		position: relative;
		width: 16px;
		height: 16px;
		min-width: 16px;
	}
	/* 横線・縦線 共通 */
	.faq-toggle::before,
	.faq-toggle::after {
		content: "";
		position: absolute;
		top: 50%;
		left: 0;
		width: 100%;
		height: 1px;
		/* ← ★ 1px にする */
		background: #7da453;
		transform: translateY(-50%);
		transition: opacity 0.25s ease;
	}
	/* 縦線 */
	.faq-toggle::after {
		transform: translateY(-50%) rotate(90deg);
	}
	/* 開いたら縦線を消す → − */
	.faq-row.is-open .faq-toggle::after {
		opacity: 0;
	}
	/* 質問文 */
	.faq-text {
		margin: 0;
		font-size: 18px;
		font-weight: 600;
	}
	/* ==========================
回答（スムーズ開閉）
========================== */
	.faq-answer {
		display: block;
		max-height: 0;
		overflow: hidden;
		margin-left: 30px;
		margin-top: 0;
		line-height: 1.8;
		color: #333;
		transition:
			max-height 0.45s ease,
			margin-top 0.3s ease;
	}
	.faq-row.is-open .faq-answer {
		max-height: 500px;
		margin-top: 8px;
	}
	/* 備考 */
	.faq-note {
		margin-top: 6px;
		font-size: 16px;
	}
	/* ==========================
レスポンシブ
========================== */
	@media (max-width: 768px) {
		.faq .pege-heade-inner {
				background: url('../img/faq/faq-header.png') center right -142px no-repeat;
				background-size: contain;
		}
		.faq-nav ul {
			flex-wrap: wrap;
			gap: 12px;
		}
		.faq-nav ul li {
			width: 100%; 
			max-width: 280px;
			display: flex;
			justify-content: center;
		}
		.faq-nav a {
			min-width: auto;
			padding: 12px 20px;
			font-size: 14px;
		}
		.faq-section-title {
			font-size: 20px;
		}
	}
