#top {
}
#top h3 {
	font-family: 'Noto Sans JP', sans-serif;
	font-optical-sizing: auto;
	font-weight: 500;
	font-style: normal;
	font-size: clamp(1.125rem, 0.386rem + 1.845vw, 2rem);
	line-height: 1em;
	text-align: left;
	color: #af8445;
	width: 100%;
	max-width: 1200px;
}
#top h3 b {
	color: #131d3d;
	font-size: clamp(2.5rem, 0.072rem + 6.061vw, 5.375rem);
	line-height: 1em;
	font-family: proxima-sera, sans-serif;
	font-weight: 400;
	font-style: normal;
	letter-spacing: 0.05em;
}
#top h3 span {
	display: block;
	margin-top: 0.8em;
}
#top .view_bt {
	width: 20vw;
	margin: 0px auto 0 auto;
}
#top .view_bt a {
	background-color: #6c7584;
	color: #fff;
	border-radius: 100vh;
	display: block;
	text-align: center;
	text-decoration: none;
	font-size: clamp(14px, 1.5vw, 1.5vw);
	line-height: 1.5em;
	padding: 0.2em 0 0.3em 0;
}
#top .view_bt a:hover {
	background-color: #131d3d;
}



/*--------------------
		MV
--------------------*/
#mainimage {
	opacity: 1;
	position: relative;
}
#mainimage .soldout {
	background-color: #9f3020;
	color: #fff;
	display: block;
	font-size: clamp(20px, 3vw, 3vw);
	line-height: 1.5em;
	width: 90%;
	margin: 40px auto 0 auto;
	padding: 0.5em 0 0.5em 0;
	border: 1px solid #ffffff;
	position: absolute;
	z-index: 8000;
	top: 50%;
	left: 50%;
	-webkit-transform: translateY(-50%) translateX(-50%);
	transform: translateY(-50%) translateX(-50%);
}
#mainimage {
	padding: 0;
	position: relative;
	background-image: url('../image/top/mv.jpg');
	background-size: cover;
	/*min-height: calc(100vh - 115px);
height: 100vh;*/
	height: 45vw;
	overflow: hidden;
}
#mainimage.image2 {
	background-image: url('../image/top/mv2.jpg');
}
#mainimage.image3 {
	background-image: url('../image/top/mv3.jpg');
}
#mainimage.image4 {
	background-image: url('../image/top/mv4.jpg');
}
#mainimage.image5 {
	background-image: url('../image/top/mv5.jpg');
}
#mainimage #opening {
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translateY(-50%) translateX(-50%);
	transform: translateY(-50%) translateX(-50%);
}
#mainimage #opening .logo {
	width: 20vw;
}
#mainimage #opening .logo img {
	width: 100%;
}

/*--------------------
		price
--------------------*/
#price {
	background-color: #131d3d;
	background-image: url('../image/top/price_bg.jpg');
	background-size: cover;
	font-family: shippori-mincho, sans-serif;
	font-weight: 400;
	font-style: normal;
	color: #fff;
	padding: 5vw 0;
}
#price h2 {
	color: #fff;
	font-size: clamp(2.125rem, 0.753rem + 3.426vw, 3.75rem);
	line-height: 1.5em;
	padding: 0 0 1em 0;
	text-align: center;
	width: 100%;
}
#price h2:after {
	content: '';
	width: 60%;
	max-width: 600px;
	border-top: 2px solid #af8445;
	display: block;
	position: relative;
	margin: 1em auto 0 auto;
}
/*#price p.maincopy {
font-size: clamp(1rem, 0.714rem + 0.71vw, 1.25rem);
line-height: 1.7em;
margin-bottom: 3em;
}
#price p.maincopy:after {
content: "";
max-width: 600px;
border-top: 1px solid #727272;
display: block;
position: relative;
margin: 3em auto 0 auto;
}*/
#price h4 {
	color: #af8445;
	font-size: clamp(3.125rem, 1.696rem + 3.57vw, 4rem);
	line-height: 1.7em;
}
#price h4 b {
	font-size: clamp(2rem, 3rem + 3vw, 5rem);
}
#price p.area {
	font-size: clamp(1.125rem, 0.554rem + 1.43vw, 1.625rem);
	line-height: 1.7em;
}
#price dl {
	text-align: center;
	margin: 3em auto 0 auto;
	max-width: 1200px;
	width: 90%;
	border: 1px solid #d1d1d1;
	box-sizing: border-box;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: stretch;
}
#price dt {
	background-color: #d1d1d1;
	color: #000;
	font-size: clamp(1.125rem, 0.554rem + 1.43vw, 1.625rem);
	line-height: 1.5em;
	padding: 0.4em 0 0.4em 0;
	width: 100%;
}
#price dd {
	width: calc(100% / 3);
	/*color: #b79478;*/
	color: #af8445;
	font-size: clamp(0.875rem, 0.446rem + 1.07vw, 1.25rem);
	line-height: 1.2em;
	padding: 2em 0 1em 0;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	justify-content: center;
}
#price dd:nth-of-type(1),
#price dd:nth-of-type(2) {
	border-right: 1px solid #d1d1d1;
}
#price dd span {
	font-size: clamp(1rem, -1.429rem + 6.07vw, 3.125rem);
	line-height: 1.2em;
}
#price dd span b {
	font-size: clamp(1.25rem, -2.321rem + 8.93vw, 4.375rem);
	line-height: 1.3em;
}

/*--------------------
		location
--------------------*/
#location {
	position: relative;
	text-align: left;
	/* padding: 0 0 7vw; 周辺photo 表示時 */
	padding: 0;
}
#location .bg {
	background-color: #fff;
	background-image: url('../image/top/location_bg.jpg');
	background-repeat: no-repeat;
	background-size: cover;
	padding: 7vw 0 10vw;
	position: relative;
	overflow: hidden;
}

#location .location_img_01 {
	position: absolute;
	content: '';
	top: 15vw;
	left: 50%;
	margin: 0;
	padding: 0;
	height: 40vw;
	width: 50%;
	display: flex;
	align-items: flex-start;
}
#location .location_img_01 img {
	width: auto;
	height: 100%;
}
#location .location_img_02 {
	position: absolute;
	content: '';
	bottom: 7vw;
	left: 50%;
	margin: 0;
	padding: 0;
	height: auto;
	width: 50%;
	display: flex;
	align-items: flex-start;
}
#location .location_img_02 img {
	width: 100%;
}

#location .body {
	margin: 0 auto;
	max-width: 1200px;
	width: 90%;
	position: relative;
	z-index: 2;
}
#location h4 {
	color: #333;
	font-size: clamp(1.875rem, 0.446rem + 3.57vw, 3.125rem);
	line-height: 1.5em;
	margin: 1.5em 0 1em;
	padding: 0 20px 0 6.5vw;
	text-align: left;
	display: inline-block;
	background: rgba(255, 255, 255, 0.6);
	position: relative;
	z-index: 2;
}
#location p.subcopy {
	color: #333;
	font-family: 'Noto Sans JP', sans-serif;
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
	font-size: clamp(0.875rem, 0.739rem + 0.68vw, 1.25rem);
	line-height: 2.7em;
	padding: 0 0 0 7.5vw;
	text-align: left;
	position: relative;
	text-shadow:
		-1px 0 #fff,
		1px 0 #fff,
		0 -1px #fff,
		0 1px #fff;
	z-index: 2;
}
@media (min-width: 1200px) {
	#location h4,
	#location p.subcopy {
		padding-left: calc((100% - 1200px) / 2 + 20px);
	}
	#location h4.is-right {
		width: max-content;
		padding-left: 20px;
		padding-right: calc((100% - 1200px) / 2 + 20px);
		display: block;
		margin: 1.5em 0 1em auto;
	}
	#location p.subcopy.is-right {
		width: max-content;
		padding-left: 6.5vw;
		padding-right: calc((100% - 1200px) / 2 + 20px);
		display: block;
		margin: 1.5em 0 1em auto;
	}
}
#location ul.photos {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	max-width: 1200px;
	width: 90%;
	position: relative;
	margin: -6vw auto 4vw;
}
#location ul.photos:after {
	content: '';
	display: block;
	width: 31.5%;
}
#location ul.photos li {
	width: 31.5%;
	line-height: 0;
	margin-bottom: 1.5vw;
}
#location img {
	width: 100%;
	height: auto;
}
#location ul.photos li p {
	text-align: left;
	font-size: clamp(0.813rem, 0.744rem + 0.34vw, 1rem);
	line-height: 1.5em;
	padding: 0.2em 0 0 0;
	font-family: 'Noto Sans JP', sans-serif;
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
}

/*--------------------
		plan
--------------------*/

#plan {
	background-image: url('../image/top/plan_bg.jpg');
	background-size: cover;
	background-position: center;
	padding: 7vw 0;
}
#plan h3 {
	text-align: center;
	margin: 0 auto;
}
#plan .body {
	margin: 4vw auto 0;
	padding: 4vw 0 2vw;
	max-width: 1190px;
	width: 86%;
	text-align: center;
	background: rgba(255, 255, 255, 0.5);
}
#plan h4 {
	color: #333;
	font-size: clamp(1.875rem, 0.446rem + 3.57vw, 3.125rem);
	line-height: 1.5em;
	padding: 0 0 0.5em 0;
	text-align: center;
	width: 100%;
}
#plan p.subcopy {
	font-family: 'Noto Sans JP', sans-serif;
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
	font-size: clamp(0.875rem, 0.739rem + 0.68vw, 1.25rem);
	line-height: 2.7em;
	padding: 0 4.5em 0 4.5em;
}

#plan img {
	width: 94%;
	margin: 2vw auto 0;
}

/*--------------------
		overview
--------------------*/

#overview {
	width: 90%;
	max-width: 1200px;
	margin: 7vw auto;
}
#overview h3 {
	text-align: center;
}
#overview h3 b {
	font-size: clamp(2.5rem, 1.18rem + 3.294vw, 4.063rem);
}
#overview .body {
	width: 100%;
	max-width: 1000px;
	margin: 2vw auto 0;
}
#overview dl {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	text-align: left;
	font-size: 18px;
	line-height: 1.7em;
	color: #595959;
	border-bottom: 1px solid #b2b2b2;
	box-sizing: border-box;
	width: 100%;
}
#overview dt {
	width: 20%;
	max-width: 200px;
	box-sizing: border-box;
	background-color: #f4f4f4;
	padding: 1em;
	border-top: 1px solid #b2b2b2;
}
#overview dd {
	width: 80%;
	max-width: 800px;
	box-sizing: border-box;
	padding: 1em 1.5em 1em 1.5em;
	border-top: 1px solid #b2b2b2;
}
#overview p {
	text-align: right;
}

/*--------------------
		quality
--------------------*/

#quality {
	background-image: url('../image/top/quality_bg.jpg');
	background-size: cover;
	padding: 7vw 0;
	overflow: hidden;
}

#quality .body {
	margin: 0 auto;
	max-width: 1200px;
	width: 90%;
	position: relative;
	z-index: 2;
}
#quality h3 {
	text-align: right;
}

.quality-inn01 {
	text-align: right;
	padding: 5.7vw 0 18vw;
	position: relative;
}
.quality-inn01 .quality_img {
	position: absolute;
	content: '';
	top: 0;
	right: 45%;
	margin: 0;
	padding: 0;
	height: 100%;
	width: 100%;
	display: flex;
	justify-content: flex-end;
}
.quality-inn01 .quality_img img {
	width: auto;
	height: 100%;
}
.quality-inn02 {
	margin-top: -4vw;
	padding: 8vw 0;
	position: relative;
}
.quality-inn02 .quality_img {
	position: absolute;
	content: '';
	top: 0;
	left: 45%;
	margin: 0;
	padding: 0;
	height: 100%;
	width: 100%;
	display: flex;
	justify-content: flex-start;
}
.quality-inn02 .quality_img img {
	width: auto;
	height: 100%;
}
#quality h4 {
	color: #333;
	font-size: clamp(1.875rem, 0.446rem + 3.57vw, 3.125rem);
	line-height: 1.5em;
	padding: 0 6.5vw 0 20px;
	margin-bottom: 1em;
	text-align: right;
	display: inline-block;
	background: rgba(255, 255, 255, 0.6);
	position: relative;
	z-index: 2;
}
@media (min-width: 1200px) {
	#quality h4 {
		padding-right: calc((100% - 1200px) / 2 + 20px);
	}
}
#quality p.subcopy {
	width: 40%;
	font-family: 'Noto Sans JP', sans-serif;
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
	font-size: clamp(0.875rem, 0.739rem + 0.68vw, 1.25rem);
	line-height: 2.7em;
	position: relative;
	z-index: 2;
}
.quality-inn01 p.subcopy {
	text-align: left;
	margin: 0 0 0 auto;
}
.quality-inn02 p.subcopy {
	text-align: right;
}
