.map-content {
	position: relative;
	z-index: 1;
	background: #e7f1f7;
	overflow: hidden;
}

.map-content .map-content-circle_bg {
	position: absolute;
	top: 308px;
	left: -315px;
	z-index: -1;
	width: 1050px;
	height: 928px;
	background: rgba(232, 250, 255, 0.5);
	border-radius: 50%;
}

.map-content .map-content-circle_bg span {
	display: block;
	width: 1050px;
	height: 928px;
	background: #e9f6fb;
	border-radius: 50%;
	margin-top: 20px;
	margin-left: -40px;
}

.map-content-top {
	text-align: center;
}

.map-content-top h2 {
	margin-bottom: 7px;
}

.map-image-col {
	position: relative;
	width: 330px;
	margin: 0 auto;
}

.map-image-col img {
	width: 100%;
}

.map-content-circle {
	position: absolute;
	bottom: -15px;
	right: 22px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 88px;
	height: 88px;
	background: rgba(64, 153, 78, 0.05);
	border-radius: 50%;
}

.map-content-circle span {
	display: block;
	width: 82px;
	height: 82px;
	background: rgba(64, 153, 78, 0.05);
	border-radius: 50%;
}

.map-content-circle.learge {
	bottom: unset;
	right: unset;
	top: 22px;
	left: -12px;
	width: 144px;
	height: 144px;
}

.map-content-circle.learge span {
	width: 134px;
	height: 134px;
}

.map-content-details {
	text-align: center;
	margin-top: 22px;
}

.map-content-details p {
	position: relative;
	display: inline-block;
	padding-left: 21px;
	margin-bottom: 16px;
}

.map-content-details p::before {
	position: absolute;
	content: "";
	top: 50%;
	left: 0;
	-webkit-transform: translate(0, -50%);
	transform: translate(0, -50%);
	width: 13px;
	height: 13px;
	background: var(--primary-color);
	border: 1px solid #ffffff;
	border-radius: 50%;
}

.map-content-details .location-details {
	position: relative;
	background: #ffffff;
	border-radius: 24px;
	overflow: hidden;
	padding: 24px 43px;
}

.map-content-details .location-details span {
	display: block;
	font-size: 16px;
	line-height: 1.5em;
	margin-bottom: 5px;
}

.map-content-details .location-details .location-name {
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: 5px;
	font-size: 18px;
	line-height: 1.5em;
	font-weight: 700;
	color: var(--motive);
}

.map-content-details .location-details .location-name i {
	font-size: 24px;
	color: var(--blue);
}

.map-content-details .location-details a {
	position: absolute;
	bottom: 0;
	right: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 38px;
	background: var(--green);
	border-radius: 0px 0px 24px 0px;
	font-size: 15px;
	color: #ffffff;
}

.map-content-bottom {
	text-align: center;
	margin-top: 34px;
}

.map-content-bottom p {
	margin-bottom: 24px;
}

.map-content-bottom p:last-of-type {
	margin-bottom: 32px;
}

.map-content-btn-group a:last-child {
	margin-top: 24px;
}

#homepage-map_inner svg {
	-webkit-filter: drop-shadow(0px 0px 16px rgba(12, 40, 55, 0.16));
	filter: drop-shadow(0px 0px 16px rgba(12, 40, 55, 0.16));
}

@media (min-width: 768px) {
	.map-content .map-content-circle_bg {
		top: 472px;
		left: -884px;
		width: 2645px;
		height: 2338px;
	}

	.map-content .map-content-circle_bg span {
		width: 2645px;
		height: 2338px;
		margin-top: 50px;
		margin-left: -108px;
	}

	.map-content-top h2 {
		margin-bottom: 30px;
	}

	.map-image-col {
		width: 588px;
	}

	.map-content-circle {
		right: 55px;
		bottom: -15px;
		width: 157px;
		height: 157px;
	}

	.map-content-circle span {
		width: 145px;
		height: 145px;
	}

	.map-content-circle.learge {
		top: 20px;
		left: -39px;
		width: 294px;
		height: 294px;
	}

	.map-content-circle.learge span {
		width: 273px;
		height: 273px;
	}

	.map-content-details {
		margin-top: 0px;
	}

	.map-content-details p {
		padding-left: 28px;
		margin-bottom: 20px;
	}

	.map-content-details p::before {
		width: 20px;
		height: 20px;
	}

	.map-content-details .location-details {
		max-width: 580px;
		padding: 22px 43px;
		margin: 0 auto;
	}

	.map-content-details .location-details span {
		font-size: 20px;
	}

	.map-content-details .location-details .location-name {
		font-size: 20px;
		align-items: flex-start;
	}

	.map-content-details .location-details a {
		width: 63px;
		height: 57px;
		transition: 0.3s;
	}

	.map-content-bottom {
		max-width: 614px;
		margin: 0 auto;
		margin-top: 40px;
	}

	.map-content-bottom p:last-of-type {
		margin-bottom: 38px;
	}

	.map-content-btn-group a:last-child {
		margin-top: 0;
	}
}

@media (min-width: 1200px) {
	.map-content {
		border-radius: 100px 0 0 0;
	}

	.map-content .map-content-circle_bg {
		left: -308px;
	}

	.map-content-top h2 {
		margin-bottom: 10px;
	}

	.map-content-top h2 span {
		display: block;
	}

	.map-content-flex {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		margin-top: -14px;
	}

	.map-image-col {
		width: 772px;
	}

	.map-content-circle {
		right: 80px;
		width: 196px;
		height: 196px;
	}

	.map-content-circle span {
		width: 181px;
		height: 181px;
	}

	.map-content-circle.learge {
		top: 20px;
		left: -83px;
		width: 395px;
		height: 395px;
	}

	.map-content-circle.learge span {
		width: 367px;
		height: 367px;
	}

	.map-content-details {
		width: calc(100% - 772px);
		text-align: left;
		padding-left: 0;
		margin-top: 0px;
	}

	.map-content-details p {
		margin-bottom: 25px;
	}

	.map-content-details .location-details {
		padding: 25px 29px;
	}

	.map-content-details .location-details span {
		font-size: 24px;
	}

	.map-content-details .location-details .location-name {
		font-size: 24px;
	}

	.map-content-details .location-details .location-name i {
		font-size: 34px;
	}

	.map-content-details .location-details a:hover {
		background: var(--primary-color);
		color: #2c5f34;
		border-bottom: 0;
	}

	.map-content-bottom {
		max-width: 1056px;
		margin: 0 auto;
		margin-top: 35px;
	}
}
