/* ----------------------------------------------------------
	お問い合わせ・ブランド選択 共通スタイル
---------------------------------------------------------- */
@media (max-width: 768px) {

	.page-hero-title {
		font-size: var(--fs-lg) !important;
	}
}
/* =========================================
	カードグリッド (共通)
========================================= */
.inquiry-grid,
.brand-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 30px;
}
@media (max-width: 960px) {
	.inquiry-grid,
	.brand-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}
@media (max-width: 600px) {
	.inquiry-grid,
	.brand-grid {
		grid-template-columns: 1fr;
	}
}
/* =========================================
	カードデザイン (共通化)
	inquiry-card と brand-card のスタイルを統一
========================================= */
.inquiry-card,
.brand-card {
	background: var(--bg-white);
	border: 1px solid var(--border-light);
	border-radius: 8px;
	padding: 30px;
	display: flex;
	flex-direction: column;
	text-decoration: none;
	color: var(--text-main);
	transition: all 0.3s ease;
	box-shadow: 0 2px 5px rgba(0,0,0,0.02);
	height: 100%;
	box-sizing: border-box;
	cursor: pointer;
}
@media (max-width: 768px) {
	.inquiry-card,
	.brand-card {
		padding: 20px;
	}
}

.inquiry-card:hover,
.brand-card:hover {
	transform: translateY(-5px);
	box-shadow: 0 10px 20px rgba(0,0,0,0.08);
	border-color: var(--primary-orange);
}

.inquiry-card .card-header,
.brand-card .card-header {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	margin-bottom: 20px;
	min-height: 40px;
}

.inquiry-card .card-header {
	justify-content: flex-start;
}
@media (max-width: 768px) {
	.brand-card .card-header {
		margin-bottom: 15px;
	}
}

.inquiry-card .card-arrow,
.brand-card .arrow-icon {
	color: var(--primary-orange);
	font-size:  var(--fs-md);
	font-weight: bold;
	margin-left: auto;
	transition: transform 0.3s;
}

.inquiry-card:hover .card-arrow,
.brand-card:hover .arrow-icon {
	transform: translateX(5px);
}

/* =========================================
	お問い合わせ種別選択 (page-inquiry.php) 固有パーツ
========================================= */
.inquiry-card .card-icon-box {
	width: 48px;
	height: 48px;
	background-color: var(--primary-orange);
	border-radius: 6px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-right: 15px;
	flex-shrink: 0;
	color: var(--text-white);
}
.inquiry-card .card-icon-box svg {
	width: 24px;
	height: 24px;
	fill: currentColor;
}

.inquiry-card .card-title-group {
	flex-grow: 1;
}

.inquiry-card .card-title-ja {
	font-size:  var(--fs-md);
	font-weight: 700;
	margin-bottom: 4px;
	display: block;
	line-height: 1.4;
}

.inquiry-card .card-title-en {
	font-size: var(--fs-sm);
	color: var(--text-gray);
	display: block;
}

.inquiry-card .card-body {
	font-size: var(--fs-sm);
	color: var(--text-gray);
	line-height: 1.8;
}
.inquiry-card .card-body-ja {
	margin-bottom: 15px;
	display: block;
}
.inquiry-card .card-body-en {
	font-size: var(--fs-sm);
	color: var(--border-muted);
	display: block;
	line-height: 1.6;
}

/* =========================================
	ブランド選択 (page-bland-select.php) 固有パーツ
========================================= */

.brand-select-title {
	text-align: center;
	font-size:  var(--fs-lg);
	font-weight: bold;
	margin-bottom: 50px;
	color: var(--text-main);
}

.brand-logo {
	max-height: 40px;
	max-width: 180px;
	object-fit: contain;
	margin: 0;
}

.text-logo {
	font-size: var(--fs-lg);
	font-weight: bold;
	color: var(--text-main);
}

.card-desc {
	font-size: var(--fs-sub);
	line-height: 1.6;
	color: var(--text-gray);
	margin: 0;
	text-align: left;
}
@media (max-width: 768px) {
	.card-desc {
		font-size: var(--fs-sm);
		line-height: 1.5;
	}
}
/* =========================================
	よくあるお問い合わせ
====================================== */
.faq .section{
	margin-bottom: 0px;
}

.faq-page-title {
	text-align: start;
	font-size: var(--fs-lg);
	font-weight: bold;
	margin-bottom: 30px;
	color: var(--text-main);
	line-height: 1.4;
}

@media (max-width: 900px) {
	.faq-page-title {
		font-size: var(--fs-md);
	}
}

.faq .faq-page-title i.fa-circle {
	/* font-size: var(--fs-base); */
	color: var(--primary-orange);
}

.faq-section-title {
	font-size: var(--fs-md);
	font-weight: bold;
	margin-top: 40px;
	margin-bottom: 15px;
	color: var(--text-main);
}

.text-link {
	color: var(--badge-text-blue);
	text-decoration: underline;
}

.faq-link-list {
	list-style: none;
	padding: 0;
	margin: 20px 0;
}
.faq-link-list li {
	margin-bottom: 12px;
}

.icon-link {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 100%;
	box-sizing: border-box;
	border: 1px solid var(--border-light);
	border-radius: 8px;
	background-color: var(--bg-white);
	padding: 15px 20px;
	color: var(--text-main);
	font-weight: bold;
	text-decoration: none;
	transition: all 0.2s ease;
}
.icon-link:hover {
	background-color: var(--border-light);
	border-color: var(--text-light);
	opacity: 1;
	text-decoration: none;
}
.bold-link {
	font-weight: bold;
}
.external-icon {
	margin-left: 10px;
	flex-shrink: 0;
	color: var(--border-muted);
}

.faq-divider {
	border: 0;
	border-top: 1px solid var(--border-light);
	/* margin: 20px; */
}

.warning-box {
	background-color: #fff5f5;
	border: 1px solid #ffcccc;
	padding: 20px;
	border-radius: 8px;
	margin-top: 30px;
}
.warning-box-title {
	font-size: var(--fs-md);
	font-weight: bold;
	margin-bottom: 10px;
	color: var(--text-red);
}
.warning-text {
	color: var(--text-red);
	font-weight: normal;
}

.text-highlight {
	color: var(--text-main);
	/* font-size: var(--fs-base); */
	font-weight: bold;
	border-bottom: 2px solid #ffcc00;
	display: inline;
	line-height: 1.8;
}

.ec-link-box {
	padding: 20px;
	border-radius: 6px;
}
.ec-link-url {
	/* font-size: var(--fs-base); */
	word-break: break-all;
}

.info-group-box {
	background-color: var(--bg-white);
	padding: 30px;
	border: 1px solid var(--border-light);
	border-radius: 8px;
	margin-top: 20px;
}
.info-group-title {
	/* font-size: var(--fs-base); */
	font-weight: bold;
	color: var(--text-main);
	border-bottom: 2px solid #ddd;
	padding-bottom: 10px;
	margin-bottom: 15px;
	margin-top: 40px;
}
.info-group-title:first-of-type {
	margin-top: 0;
}

.text-small {
	font-size: var(--fs-sub);
	color: var(--text-gray);
	line-height: 1.8;
}
.example-text {
	margin-top: 10px;
}


.inquiry-form-btn {
	display: block;
	width: 100%;
	max-width: 800px;
	margin: 60px auto;
	padding: 15px 0;
	border: 1px solid var(--tag-border);
	color: var(--primary-orange);
	text-align: center;
	text-decoration: none;
	font-weight: bold;
	background-color: var(--bg-white);
	border-radius: 4px;
	transition: all 0.3s ease;
	cursor: pointer;
}
.inquiry-form-btn:hover {
	background-color: var(--primary-orange);
	color: var(--text-white);
}

/* =========================================
	お問い合わせフォームモーダル (共通)
========================================= */

.modal-overlay {
	display: none;
	position: fixed;
	z-index: 9999;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.6);
	justify-content: center;
	align-items: center;
}

.modal-content {
	background-color: var(--bg-light);
	padding: 0;
	border-radius: 8px;
	width: 90%;
	max-width: 700px;
	max-height: 90vh;
	overflow-y: auto;
	box-shadow: 0 4px 20px rgba(0,0,0,0.2);
	position: relative;
	animation: fadeIn 0.3s;
}

@keyframes fadeIn {
	from {opacity: 0; transform: translateY(-20px);}
	to {opacity: 1; transform: translateY(0);}
}

.modal-header {
	padding: 20px 30px;
	border-bottom: 1px solid var(--border-light);
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.modal-title {
	margin: 0;
	font-size: var(--fs-md);
	font-weight: bold;
	color: var(--text-main);
}
.close-modal {
	color: var(--text-gray);
	font-size: var(--fs-lg);
	font-weight: bold;
	cursor: pointer;
	line-height: 1;
}
.close-modal:hover,
.close-modal:focus {
	color: var(--text-main);
	text-decoration: none;
}

.modal-body {
	padding: 30px;
	font-size: var(--fs-sub);
	color: var(--text-main);
	line-height: 1.6;
}
.modal-list {
	margin: 15px 0 15px 20px;
	padding-left: 0;
}
.modal-list li {
	list-style-type: disc;
	margin-bottom: 5px;
}
.modal-note {
	font-size: var(--fs-xs);
	color: var(--text-gray);
	margin-top: 20px;
}
.english-text {
	margin-top: 20px;
	padding-top: 20px;
	border-top: 1px solid var(--border-light);
	font-size: var(--fs-sm);
	color: var(--text-gray);
}

.modal-footer {
	padding: 20px 30px 30px;
	background-color: var(--bg-light);
	border-bottom-left-radius: 8px;
	border-bottom-right-radius: 8px;
	text-align: center;
}
.agree-btn {
	display: block;
	width: 100%;
	background-color: var(--primary-orange);
	color: var(--text-white) !important;
	text-align: center;
	padding: 15px;
	border-radius: 4px;
	text-decoration: none;
	font-weight: bold;
	font-size: var(--fs-sub);
	transition: background-color 0.3s;
	line-height: 1.4;
}
.agree-btn:hover {
	background-color: var(--primary-orange);
	opacity: 1;
}
.btn-sub {
	font-size: var(--fs-xs);
	font-weight: normal;
	display: block;
	margin-top: 2px;
}

