@charset "UTF-8";

main {
	background: url("../image/landplan/bg.webp") repeat;
}

#map .contents {
	text-align: center;
}

#map .contents .flexBox {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	align-items: center;
	margin-bottom: 65px;
}

#map .contents .flexBox02 {
	display: flex;
	justify-content: space-between;
	flex-flow: row-reverse;
	flex-wrap: wrap;
	align-items: center;
	margin-bottom: 65px;
}

#map .contents .mainVisual {
	text-align: center;
}

#map .contents .mainVisual img {
	width: 100vw;
}


.pageTitle {
	text-align: center;
	margin: 75px auto 70px;
}

.pageTitle h2 {
	font-size: min(6vw,50px);
	font-weight: bold;
	line-height: 1.6;
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", serif;
	letter-spacing: 1px;
}

.pageTitle h2 span {
	font-size: min(2.1vw,26px);
	font-weight: bold;
	line-height: 1;
	display: block;
	font-family: "Noto Sans JP", sans-serif;
}

#map .contents h3 {
	font-size: min(7vw,50px);
	font-weight: 600;
	letter-spacing: 15px;
	margin-bottom: 40px;
	line-height: 1;
}

#map .contents .bgWhite h3 {
	margin-bottom: 40px;
}

#map .contents h4 {
	font-size: min(4.8vw,30px);
	font-weight: bold;
	margin-bottom: 15px;
}

.reserve {
	background: #C9AB49;
	transition: all 0.3s;
}

.reserve:hover {
	background: #C1910A;
}

.reserve:hover a {
	opacity: 1;
}

.reserveBlock {
	height: 150px;
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.reserve .e-en img {
	width: 100%;
}

.reserve .e-jp {
	font-size: min(3.3vw,40px);
	font-weight: bold;
	color: #fff;
	padding-right: 163px;
	position: relative;
}

.reserve .e-jp:after {
	content: "";
	display: inline-block;
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 143px;
	height: 16px;
	background: url(../image/common/reserve_arrow.svg) no-repeat center/contain;
	transition: all 0.3s;
}

.reserve:hover .e-jp:after {
	right: -20px;
}

#map .contents .textBig {
    font-size: min(5.3vw,40px);
}

#map .contents .subText {
    margin-bottom: 40px;
    font-size: min(5.3vw,40px);
}

#map .contents .mapImage {
	margin-bottom: 60px;
}

#map .contents .text {
    font-size: min(3vw,23px);
	margin-bottom: 70px;
}

.mapBtn {
	text-align: center;
	margin-bottom: 130px;
}

.mapBtn.color02 {
	margin-bottom: 100px;
}

.bgWhite .mapBtn:last-child {
	margin-bottom: 80px;
}

.mapBtn a {
	position: relative;
	display:inline-block;
	align-items: center;
	background: #808080;
	color: #fff;
	width: 370px;
    line-height: 75px;
	font-size: 33px;
	letter-spacing: 1px;
	transition: all 0.3s;
}

.mapBtn.color02 a {
	background: #C9AB49;
}

.mapBtn a:before,.mapBtn a:after {
	content: '';
	position: absolute;
	display: inline-block;
	transition: all 0.3s;
}

.mapBtn a:before {
    width: 120px;
    background: #212529;
    top: calc(50% + 2px);
    right: -65px;
    height: 2px;
}

.mapBtn a:after {
    width: 0;
    height: 0;
    border-style: solid;
    border-color: transparent transparent transparent #212529;
    border-width: 8px 0px 0px 11px;
    top: calc(50% - 4px);
    right: -72px;
}

.mapBtn a:hover {
	opacity: 1;
	filter: brightness(1.2);
}

.mapBtn a:hover:before {
    right: -85px;
}

.mapBtn a:hover:after {
    right: -92px;
}

.bgWhite {
	background: #fff;
	padding: 80px 0 25px; 
}

.borderTB {
    border-top: 1px solid #212529;
    border-bottom: 1px solid #212529;
    padding: 40px 0;
    margin-bottom: 90px;
}

.borderTB p {
	font-size: 26px;
}



@media screen and (max-width: 768px) {
/*＝＝＝＝＝＝common＝＝＝＝＝＝＝＝*/
	
	#map .contents .inner {
		width: 90%;
	}
	
		.pageTitle {
		margin: 40px auto 30px;
	}

	.pageTitle h2 {
		font-size: min(8vw,50px);
		line-height: 1.6;
	}
		

	.pageTitle h2 span {
		font-size: min(3.4vw,26px);
	}

	
	#map .contents h3 {
		margin-bottom: 30px;
		letter-spacing: 5px;
	}
	
	#map .contents .bgWhite h3 {
		margin-bottom: 20px;
	}	
	
	#map .contents h4 {
		margin-bottom: 10px;
	}
	
	#map .contents .pageTitle img {
		max-width: 22%;
	}

	.reserve .inner {
		width: 90%;
	}

	.reserveBlock {
		height: 54px;
	}

	.reserve .e-en img {
		max-width: 158px;
	}

	.reserve .e-jp {
		font-size: min(4vw,30px);
		padding-right: 61px;
	}

	.reserve .e-jp:after {
		width: 51px;
		height: 6px;
	}

	.reserve:hover .e-jp:after {
		right: -3%;
	}
	
	#map .contents .subText {
		margin-bottom: 15px;
	}	
	
	#map .contents .mapImage {
		margin-bottom: 30px;
	}	
	
	#map .contents .text {
		margin-bottom: 30px;
	}
	
	.mapBtn {
		margin-bottom: 70px;
	}
	
	.mapBtn.color02 {
		margin-bottom: 50px;
	}
	
	.bgWhite .mapBtn:last-child {
		margin-bottom: 50px;
	}	
	
	.mapBtn a {
		width: 60%;
		line-height: 50px;
		font-size: 20px;
	}	
	
	.mapBtn a:before {
		width: 70px;
		right: -40px;
	}

	.mapBtn a:after {
		right: -48px;
		border-width: 6px 0px 0px 8px;
    	top: calc(50% - 2px);
	}	

	.mapBtn a:hover:before {
		right: -60px;
	}

	.mapBtn a:hover:after {
		right: -68px;
	}

	.bgWhite {
		padding: 50px 0 10px;
	}	

	.borderTB {
		padding: 25px 0;
		margin-bottom: 40px;
	}

	.borderTB p {
		font-size: 15px;
	}
	
	
}










