@charset "utf-8";
/*------------------------------------------------------------
	map
------------------------------------------------------------*/
#main .mapArea {
	display: flex;
	font-family: "Inter", sans-serif;
}
#main .mapArea .textBox {
	position: relative;
	width: 41.6rem;
	background: #F9F9FB;
	height: calc(100vh - 7.6rem);
}
#main .mapArea .textBox .detailBox {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	overflow: auto;
	background: #F9F9FB;
	transform: translateX(-105%);
	transition: .3s;
}
#main .mapArea .textBox .detailBox.show {
	transform: translateX(0);
}
#main .mapArea .listBox {
	width: 100%;
	height: 100%;
	overflow-y: auto;
}
#main .mapArea .addlist {
	padding: 3rem 4rem;
	color: #000;
	font-size: 1.8rem;
	font-weight: 400;
	line-height: 2;
}
#main .mapArea .addlist a {
	padding-left: 3rem;
	display: block;
	position: relative;
}
#main .mapArea .addlist a:hover {
	opacity: 0.7;
}
#main .mapArea .addlist a::before {
	width: 2rem;
	height: 2rem;
	position: absolute;
	left: 0;
	top: 0.8rem;
	background-color: #FF6060;
	;
	content: '';
	border-radius: 100%;
	box-sizing: border-box;
}
#main .mapArea .addlist .bod a::before {
	border: 0.3rem solid #000;
}
#main .mapArea .addlist .green a::before {
	background-color: #23AF00;
}
#main .mapArea .addlist .blue a::before {
	background-color: #6085FF;
}
#main .detailBox .title {
	background: #000;
}
#main .detailBox .title a {
	display: block;
	padding: 1.2rem 5rem 1.1rem;
	position: relative;
	color: #FFF;
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 2;
	background: url(../img/map/arrow.png) no-repeat 1.7rem center / 2.3rem;
}
#main .detailBox .title a:hover {
	opacity: 0.7;
}
#main .txtDl {
	padding: 2.7rem 1.4rem;
}
#main .txtDl dt {
	margin-bottom: 0.2rem;
	color: #999;
	font-size: 1.4rem;
	font-weight: 400;
}
#main .txtDl dd {
	margin-bottom: 2.1rem;
	font-size: 1.8rem;
	line-height: 2;
}
#main .txtDl dd:last-child {
	margin-bottom: 0;
}
#main .photo {
	margin: 0 1.4rem;
}
#main .photo img {
	width: 100%;
	aspect-ratio: 388/226;
	object-fit: cover;
}
#main .mapArea .mapBox {
	flex: 1;
}
#main .mapArea .mapBox img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
@media all and (max-width: 896px) {
	#main .mapArea {
		width: 100%;
		height: calc(100vh - 9.4rem);
		display: block;
		position: relative;
	}
	#main .mapArea .textBox {
		width: 100%;
		height: auto;
		max-height: 100%;
		display: flex;
		flex-direction: column;
		position: absolute;
		left: 0;
		bottom: 0;
		background: #F9F9FB;
		z-index: 10;
	}
	#main .mapArea .textBox .btn {
		width: 100%;
	}
	#main .mapArea .textBox .btn a {
		padding: 3.2rem 5rem 2.8rem 2.3rem;
		display: flex;
		align-items: center;
		gap: 1.8rem;
		position: relative;
		font-size: 2rem;
		font-weight: 700;
	}
	#main .mapArea .textBox .btn a .icon {
		margin-top: -0.4rem;
		width: 2.7rem;
	}
	#main .mapArea .textBox .btn a::after {
		content: '';
		width: 1.6rem;
		height: 1.1rem;
		position: absolute;
		right: 2.8rem;
		top: 50%;
		transform: translateY(-50%) rotate(180deg);
		background: url(../img/common/icon04.png) no-repeat center center / 100%;
		transition: 0.3s;
	}
	#main .mapArea .textBox .btn a.on::after {
		transform: translateY(-50%) rotate(0deg);
	}
	#main .mapArea .textBox .detailBox {
		top: auto;
		bottom: 0;
		height: calc(61.7vh - 9.4rem);
		overflow: hidden;
	}
	#main .mapArea .listBox {
		flex: 1;
		display: none;
	}
	#main .mapArea .addlist {
		padding: 1.8rem 4rem 0.5rem;
	}
	#main .detailBox .infoBox {
		padding: 0 0 3.5rem;
		height: 100%;
		position: relative;
		overflow-y: auto;
	}
	#main .detailBox .title {
		width: 100%;
		position: sticky;
		left: 0;
		top: 0;
		z-index: 100;
	}
	#main .photo {
		margin: 0 1.6rem;
	}
	#main .photo img {
		aspect-ratio: 402/230;
	}
	#main .mapArea .mapBox {
		width: 100%;
		height: 100%;
	}
}