.mv {
    aspect-ratio: auto
}

.mv .inner {
    margin-top: -20%;
    position: relative;
    z-index: 1
}

.general-section .inner {
    max-width: 1270px
}

.sec .inner .lead {
    font-size: 3rem
}

.image-section {
  position: relative;
  overflow: hidden;
}

.image-wrapper {
  position: relative;
  max-height: 745px;
}

.image-wrapper img {
    display: block;
    width: 100%;
    height: auto;
    max-height: 745px;
    object-fit: cover;
    object-position: bottom;
}

.curve {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100px; 
}
.general-section{
    background-color: #f5ebe8;
}
.general-section .inner{
    z-index: 3;
}
.general-section .section-bg{
    position: relative;
    padding-bottom: 80px;
}
.general-section .section-bg::before{
    	content: "";
    background-image: url(../images/location/location-bg.webp);
    position: absolute;
    width: 100%;
    height: 100%;
    background-repeat: no-repeat;
    background-size: 100%;
    z-index: 3;
    background-position: top;
    top: -20vw;
}
.next-section {
    background-color: #f5ebe8;
    padding: 0px 0px 80px;
    text-align: center;
    margin-top: -7vh;
    position: relative;
    z-index: 2;
}
.next-section p{
    color: #b37b7a;
}
.next-section p.tertiary-heading{
    color: #604c3f;
}
.caption{
    position: absolute;
    bottom: 13vh;
    right: 1vw;
}
.vertical-line:after{
    content: unset;
}
.vertical-line:before{
    content: '';
    display: block;
    width: 2px;
    height: 80px;
    background: #b37b7a;
    margin: 30px auto 10px;
    position: relative;
    top: -30px;
}
.section-bg img{
    width: 100%;
    position: relative;
    z-index: 3;
}
.shopping{
    background-color: #f4efee;
}
.inner-wide-img{
    width: 100%;
    padding: 80px 0;
}
#map-area{
    background-color: #fff;
}
#map-area .primary-heading{
    color: #b37b7a;
    border-bottom: solid 1px #b37b7a;
    padding-bottom: 0px;
    letter-spacing: 10px;
    display: inline-block;
}
.map-img {
  display: none;
  width: 100%;
}
.map-img.is-active {
  display: block;
}
.lifeinfo--tab {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	border-bottom: solid #231815 1px;
	margin-bottom: 30px
}
@media screen and (max-width: 767px) {
}
.lifeinfo--tab--item {
	-ms-flex-preferred-size: 100%;
	flex-basis: 100%;
	font-size: 20px;
	padding: 10px;
	text-align: center;
	cursor: pointer;
	-webkit-transition: all .3s ease;
	transition: all .3s ease;
}
@media screen and (max-width: 767px) {
	.lifeinfo--tab--item {
		font-size: 14px;
		padding: 10px 1px;
		display: flex;
		justify-content: center;
		align-items: center;
		line-height: 1.3;
	}
	.image-wrapper img {
        height: 100vh;
        max-height: 250px;
        object-fit: cover;
    }
    .curve {
        left: -50%;
        width: 200%;
        height: 100px;
    }
	.vertical-line:before {
        height: 50px;
        top: -10px;
    }
	.caption{
		bottom: 17vw;
	}
}
.lifeinfo--tab--item:not(:last-child) {
	border-right: solid #231815 1px
}
.lifeinfo--tab--item.is-active {
	background: #BCD4C0;
	color: #fff
}
@media(hover) {
	.lifeinfo--tab--item:hover {
		background: #BCD4C0;
		color: #fff
	}
}
.lifeinfo--cont {
	width: 32%;
	font-size: clamp(12px, 1.75vw, 20px);
	overflow-y: scroll;
}
@media screen and (max-width: 767px) {
	.lifeinfo--cont {
		font-size: 14px;
		max-height: 300px
	}
}
.lifeinfo--cont--item:not(.is-active) {
	display: none
}
.lifeinfo--cont--item dl {
	/* -webkit-columns: 2;
	-moz-columns: 2;
	columns: 2; */
	/* gap: 100px; */
	font-size: 1.6rem;
}
@media screen and (max-width: 1200px) {
	.lifeinfo--cont--item dl {
		gap: 50px
	}
}
@media screen and (max-width: 900px) {
	.lifeinfo--cont--item dl {

	}
}
@media screen and (max-width: 767px) {
	.lifeinfo--cont--item dl {
		-webkit-columns: 1;
		-moz-columns: 1;
		columns: 1;
		font-size: 1.3rem;
	}
}
.lifeinfo--cont--item dl div {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	gap: .5em;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	padding-top: 5px;
	padding-bottom: 10px;
	padding-left: 30px;
	margin-bottom: 10px;
	-webkit-column-break-inside: avoid;
	-moz-column-break-inside: avoid;
	break-inside: avoid-column;
	cursor: pointer;
	position: relative;
}
.lifeinfo--cont--item dl div::before {
	content: attr(data-num) "";
	position: absolute;
	top: 0;
	left: 0;
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: #18322F;
	width: 25px;
	height: 25px;
	/* margin-top: -4px; */
	font-size: 14px;
	color: #fff;
	letter-spacing: -0.04em;
	line-height: 1;
	border-radius: 50%;
}
.lifeinfo--cont--item dl div dd {
	margin-left: auto
}
.lifeinfo--cont--item dl div dd .min {
	display: inline-block;
	width: 1.5em;
	text-align: right
}
.lifeinfo--cont--item dl div dd .dist {
	display: inline-block;
	width: 2.5em;
	text-align: right
}



@media screen and (max-width: 767px) {
    .sec .inner .lead {
        font-size:2rem
    }
	.hamburger, .sp-tel-btn{
	display: flex;
	}
}

@keyframes blurZoomIn {
	from {
		opacity: 0;
		filter: brightness(1.8) blur(20px);
		transform: scale3d(1.1, 1.1, 1.1);
	}
	50% {
		filter: brightness(1) blur(0);
		opacity: 1;
	}
}
.blurZoomIn {
	animation-name: blurZoomIn;
}
@keyframes blurFadeIn {
	from {
		opacity: 0;
		filter: blur(20px);
	}
	50% {
		filter: blur(0);
		opacity: 1;
	}
}