main {
	padding-bottom: 3vw;
}

.banner-box {
	height: 40vw;
	position: relative;
}

.banner-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.banner-content {
	position: absolute;
	width: 100%;
	top: 11vw;
}

.banner-title-img {
	width: 40vw;
}

.banner-title {
	margin-bottom: 2vw;
	display: flex;
	align-items: center;
	gap: 2vw;
}

.banner-title>span {
	font-size: 1.8vw;
}

.banner-title>a {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 1vw;
	background: #0D6200;
	width: 15vw;
	border-radius: 0.2vw;
	height: 2.8vw;
	line-height: 2.8vw;
	cursor: pointer;
	animation: sway 3s linear infinite;
}

.banner-title>a:hover {
	opacity: 0.9;
}

@keyframes sway {
	25% {
		transform: translateX(0.5vw);
	}

	50% {
		transform: translateX(1vw);
	}

	75% {
		transform: translateX(0.5vw);
	}

	100% {
		transform: translateX(0vw);
	}
}

.banner-title>a img {
	width: 1.3vw;
}

.banner-title>a label {
	font-size: 1.1vw;
	cursor: pointer;
}

.banner-subtitle {
	font-size: 1.2vw;
	line-height: 2vw;
}

.contact-card-list {
	display: flex;
	width: 100%;
	gap: 2vw;
	margin-top: 4vw;
}

.contact-card {
	width: 30%;
	border-radius: 0.3vw;
	background: #ffffff;
	font-weight: bold;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 1vw;
	min-height: 8vw;
}

.contact-card:hover {
	cursor: pointer;
	transition: all 0.5s;
	box-shadow: 0.4vw 0.4vw 1vw #0D6200;
	transform: translate(0, -0.8vw);
}

.contact-card>div:nth-of-type(1) {
	background: #0D6200;
	width: 3vw;
	height: 3vw;
	display: flex;
	justify-content: center;
	align-items: center;
	border-radius: 50%;
}

.contact-card>div:nth-of-type(2) {
	width: 75%;
}

.contact-card>div:nth-of-type(1) img {
	width: 90%;
	height: 90%;
}

.contact-card>div {
	display: flex;
	flex-direction: column;
	gap: 0.2vw;
	flex-shrink: 0;
}

.contact-card>div span:first-child {
	color: #333333;
	font-size: 1.2vw;
}

.contact-card>div span:nth-child(2) {
	color: #0D6200;
	font-size: 1.5vw;
}

.contact-card-addresss {
	font-size: 1vw !important;
}

#allmap {
	width: 90%;
	margin-left: 5vw;
	height: 35vw;
	position: absolute;
	left: 0;
	top: 47.5vw;
	border-radius: 0.2vw;
}

.BMap_cpyCtrl,
.anchorBL {
	display: none !important;
}

.message-form {
	margin-top: 2.5vw;
}

.message-form form {
	width: 100%;
	background: #ffffff;
	border-radius: 0.2vw;
	padding: 3vw 4vw;
}

.form-title {
	font-size: 1.8vw;
	font-weight: bold;
	color: #333333;
	margin-bottom: 1vw;
}

.form-subtitle {
	color: #333333;
	font-size: 1.2vw;
	margin-bottom: 2vw;
}

.form-input {
	width: 100%;
	display: flex;
	flex-wrap: wrap;
}

.form-input>div {
	width: 45%;
	display: flex;
	justify-content: space-between;
	margin-right: 2vw;
	margin-bottom: 2vw;
}

.form-input label {
	color: #333333;
	margin-right: 1vw;
	font-size: 1.2vw;
}

.form-input sup {
	color: #BD1D21;
	font-size: 1.2vw;
}

.form-input input {
	width: 28vw;
	border: none;
	outline: none;
	color: #333333;
	background: #F1F8FF;
	border-radius: 0.4vw;
	font-size: 1.1vw;
	padding-left: 1vw;
	height: 3.5vw;
}

.form-textarea {
	width: 100%;
	display: flex;
	align-items: center;
	margin-bottom: 2vw;
}

.form-textarea label {
	color: #333333;
	margin-right: 1vw;
	font-size: 1.2vw;
}

.form-textarea sup {
	color: #BD1D21;
	font-size: 1.2vw;
}

.form-textarea textarea {
	width: 70vw;
	border: none;
	outline: none;
	color: #333333;
	background: #F1F8FF;
	border-radius: 0.4vw;
	font-size: 1.1vw;
	padding-left: 1vw;
	padding-top: 1vw;
	height: 10vw;
	resize: none;
}

.form-button {
	display: flex;
	justify-content: center;
	gap: 2vw;
}

.form-button>button {
	height: 3vw;
	width: 15vw;
	font-size: 1.2vw;
	background: #0D6200;
	border-radius: 0.4vw;
	cursor: pointer;
	border: none;
}

.form-button>button:hover {
	opacity: 0.9;
}

.map-title {
	text-align: center;
	font-size: 1.8vw;
	margin-top: 2vw;
}

.message-form-title {
	text-align: center;
	margin-top: 42.5vw;
	font-size: 1.8vw;
}

@media (max-width:768px) {
	.banner-box {
		height: 146vw;
	}

	.banner-content {
		top: 19vw;
	}

	.banner-title>span {
		font-size: 3.8vw;
		font-weight: bold;
	}

	.banner-title>a {
		display: none;
	}

	.banner-subtitle {
		font-size: 3.2vw;
		line-height: 6.5vw;
	}

	.contact-card-list {
		flex-wrap: wrap;
		gap: 5vw;
		margin-top: 6vw;
	}

	.contact-card {
		width: 100%;
		border-radius: 0.8vw;
		gap: 2vw;
		min-height: 22vw;
	}

	.contact-card>div {
		gap: 0.4vw;
	}

	.contact-card>div:nth-of-type(1) {
		width: 8.5vw;
		height: 8.5vw;
	}

	.contact-card>div span:first-child {
		font-size: 3.2vw;
	}

	.contact-card>div span:nth-child(2) {
		font-size: 3.5vw;
	}

	.contact-card-addresss {
		line-height: 3.2vw;
		font-size: 2.4vw !important;
	}

	.map-title {
		font-size: 3.8vw;
	}

	#allmap {
		top: 158.5vw;
		height: 55vw;
		border-radius: 0.6vw;
	}

	.message-form {
		margin-top: 5.5vw;
	}

	.message-form-title {
		margin-top: 68vw;
		font-size: 3.8vw;
	}

	.message-form form {
		padding: 6vw 4vw;
		border-radius: 0.8vw;
		margin-bottom: 5vw;
	}

	.form-title {
		font-size: 3.8vw;
		margin-bottom: 2vw;
	}

	.form-subtitle {
		font-size: 3.2vw;
		line-height: 5vw;
		margin-bottom: 2vw;
	}

	.form-input {
		gap: 4vw;
	}

	.form-input>div {
		width: 100%;
		justify-content: flex-start;
		align-items: center;
	}

	.form-input label {
		margin-right: 2vw;
		font-size: 3.2vw;
	}

	.form-input input {
		width: 68vw;
		border-radius: 0.8vw;
		font-size: 3.1vw;
		padding-left: 2vw;
		height: 7.5vw;
	}

	.form-textarea {
		width: 100%;
		margin-top: 4vw;
		margin-bottom: 2vw;
	}

	.form-textarea label {
		font-size: 3.2vw;
	}

	.form-textarea textarea {
		border-radius: 0.8vw;
		font-size: 3.1vw;
		padding-left: 2vw;
		padding-top: 2vw;
		height: 24vw;
	}

	.form-button {
		margin-top: 6vw;
		gap: 4vw;
	}

	.form-button>button {
		height: 8vw;
		width: 40vw;
		line-height: 6.5vw;
		font-size: 3vw;
		border-radius: 0.8vw;
	}
}
