:root {
	--theme-primary: #267048; /* メインボタン・ボーダー色 */
	--theme-secondary: #037c49; /* フォント・アクセント色 */
	--theme-background: #e7f8ef; /* 背景色 */
}

/* 見出し */
h2,
h3 {
	border-left: 6px solid var(--theme-secondary);
	padding-left: 12px;
	margin-top: 24px;
	margin-bottom: 24px;
	font-size: 1.5rem;
	color: #333;
}

@media (max-width: 767px) {
	h2,
	h3 {
		font-size: 1.2rem;
		margin-top: 0;
	}
}

@media (max-width: 767px) {
	#job-offer-reservation hr {
		margin: 2em 0;
	}
}
@media (max-width: 500px) {
	#job-offer-reservation hr {
		margin: 1em 0;
	}
}

.job-offer-FV {
	margin-bottom: 8%;
}

.main-content {
	max-width: 800px;
	margin-inline: auto;
}

.mc-des {
	margin-bottom: 2%;
	font-size: 0.9rem;
}

@media (max-width: 767px) {
	.mc-des {
		font-size: 0.9rem;
		line-height: 1.3 !important;
	}
}

.contact-methods {
	display: flex;
	gap: 20px;
	flex-wrap: wrap;
	margin-bottom: 3%;
}

.contact-option {
	flex: 1 1 300px;
	border: 2px solid #ccc;
	border-radius: 10px;
	padding: 16px;
	cursor: pointer;
	transition: all 0.3s;
	background: #f9f9f9;
}

.contact-option:hover {
	border-color: var(--theme-secondary);
}

.contact-option input[type="radio"] {
	display: none;
}

/* 選択中のスタイル */
.contact-option.selected {
	border: 2px solid var(--theme-secondary);
	background-color: var(--theme-background);
	border-radius: 10px;
}

/* 中身のデザイン */
.option-content {
	display: flex;
	gap: 12px;
	align-items: flex-start;
}

.option-icon {
	width: 40px;
	height: 40px;
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	flex-shrink: 0;
}

.option-icon.web {
	background-image: url("../images/web-icon.png");
}

.option-icon.phone {
	background-image: url("../images/phone-icon.png");
}

.option-text ul {
	margin: 8px 0 0 0;
	padding-left: 20px;
	font-size: 0.85rem;
	color: #555;
}

.submit-div {
	margin: 6% 0 12% 0;
}

#save-reservation {
	display: block;
	width: 100%;
	max-width: 500px;
	background-color: var(--theme-primary);
	color: #fff;
	border: none;
	padding: 14px;
	border-radius: 8px;
	font-size: 16px;
	cursor: pointer;
	margin-top: 24px;
	margin-inline: auto;
}

.contact-group {
	justify-content: center;
}

.call-contact {
	width: 100%;
	max-width: 500px;
}
