@charset "utf-8";


/*  l-intro
--------------------------------------------------*/
.l-intro {
	padding-block: 18.0rem 9.0rem;
}
.intro-headingEn {
	text-align: center;
	margin-inline: auto;
	margin-bottom: 3.5rem;
}
.intro-headingEn img {
	width: calc(var(--ttlEnWidth) * .1rem);
}
.intro-headingJp {
	position: relative;
	font-size: 2.6rem;
	line-height: 2.16666667;
	text-align: center;
}
.intro-headingJp em {
	font-size: 1.75em;
}
.intro-desc {
	font-size: 2.1rem;
	line-height: 2;
	text-align: center;
	margin-top: 3.5rem;
}
.intro-desc i {
	color: #6f7a61;
}
@media screen and (max-width: 768px){
	.l-intro {
		padding-block: 9.0rem 6.0rem;
	}
	.intro-headingEn {
		margin-bottom: 2.0rem;
	}
	.intro-headingEn img {
		width: calc(calc(var(--ttlEnWidth) * 0.62) / 340 * 100%);
	}
	.intro-headingJp {
		font-size: 2.0rem;
	}
	.intro-desc {
		font-size: 1.8rem;
		line-height: 2;
		text-align: left;
		margin-top: 2.0rem;
	}
}




/*  l-plan（一般・限定）
--------------------------------------------------*/
.l-plan {
	padding-bottom: 18.5rem;
}
.plan-head {
	margin-bottom: 9.0rem;
}
.plan-head__nav {
	gap: 10px 20px;
}
.plan-head__nav__item {
	width: min(calc((100% - 20px) / 2),210px);
	height: 60px;
	font-size: 40px;
	color: #7f6d4e;
	border: solid 1px #7f6d4e;
	border-radius: 30px;
	background-color: transparent;
}
.plan-head__nav__item em {
	font-size: 1.25em;
}
.plan-wrapper {
	position: relative;
}
.plan-container {
	position: relative;
}
.plan-container + .plan-container {
	margin-top: 16.0rem;
}
.plan-container__heading {
	font-size: 5.0rem;
	overflow: clip;
	margin-bottom: 4.5rem;
}
.plan-container__heading span {
	position: relative;
	display: inline-block;
}
.plan-container__heading span::after {
	content: '';
	position: absolute;
	top: 50%;
	left: calc(100% + 3.5rem);
	width: 100vw;
	height: 1px;
	background: #a1a1a1;
}
.plan-container__heading em {
	font-size: 1.2em;
}
.plan-slide__item {
	position: relative;
}
.plan-slide__item.new:before {
  content: 'NEW';
  display: flex;
  justify-content: center;
  align-items: center;
  padding-right: 1.0rem;
  width: 12.0rem;
  height: 2.6rem;
  font-size: 2.0rem;
  color: var(--white);
  font-weight: 500;
  background: linear-gradient(90deg, rgba(83, 0, 0, 1) 0%, rgba(111, 0, 12, 1) 16.49%, rgba(141, 0, 25, 1) 37.95%, rgba(153, 0, 30, 1) 50%, rgba(83, 0, 0, 1) 100%);
  clip-path: polygon(0% 0%, calc(100% - 1.0rem) 0%, 100% 100%, 0% 100%);
  box-sizing: border-box;
  font-family: "Cormorant Infant", serif;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1cap;
  --leading-trim: calc((1cap - 1lh) / 2);
}
.plan-box {
	width: 100%;
}
.plan-detail {
	width: 100%;
	padding-block: 1.5rem;
	background-color: #7f6d4e;
}
.plan-detail__type {
	width: 16.0rem;
	min-height: 8.0rem;
	font-size: 2.0rem;
	color: var(--white);
}
.plan-detail__type p {
	text-align: center;
	line-height: 1 !important;
}
.plan-detail__type em {
	display: block;
	font-size: 3.0em;
	line-height: 1cap;
	margin-bottom: 0.15em;
}
.plan-detail__spec {
	width: calc(100% - 16.0rem);
	padding-left: 3.5rem;
	color: var(--white);
	border-left: solid 1px rgba(var(--white-rgb), 0.24);
}
.plan-detail__spec__floor {
	font-size: 2.2rem;
	margin-bottom: 1.5rem;
}
.plan-detail__spec__floor em {
	font-size: 2.0em;
}
.plan-detail__spec__floor i {
	font-size: 1.22727273em;
}
.plan-detail__spec__area {
	gap: 0.5rem;
}
.plan-detail__spec__area__heading {
	font-size: 1.3rem;
	padding-bottom: 1.6em;
}
.plan-detail__spec__area__desc {
	font-size: 2.4rem;
}
.plan-detail__spec__area__desc span {
	font-size: 1.25em;
}
.plan-detail__spec__area__desc em {
	font-size: 2em;
}
.plan-detail__spec__area__desc small {
	font-size: 1.4rem;
}
.plan-detail__spec__other {
	margin-top: 1.3rem;
}
.plan-detail__spec__other__text {
	font-size: max(10px,1.1rem);
	line-height: 1.25;
}
.plan-detail__spec__other__text + .plan-detail__spec__other__text {
	margin-top: .2em;
}
.plan-floorPlan {
	position: relative;
	width: 100%;
	aspect-ratio: 488 / 600;
	background: var(--white);
}
.plan-slide__item[data-status="limited"] .plan-floorPlan:after {
	content: '';
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	background: url(../img/img_plan_limited.svg) no-repeat center center/cover;
	z-index: 1;
}
.plan-floorPlan__item {
	width: 100%;
	text-align: center;
}
.plan-floorPlan__item img {
	width: calc(calc(var(--madoriWidth) / 2) / 488 * 100%);
}
.plan-slide__item[data-status="limited"] .plan-floorPlan__item img {
	filter: blur(2px);
}
@media (any-hover: hover){
	.plan-head__nav__item {
		transition: color .3s linear,background-color .3s linear;
	}
	.plan-head__nav__item:hover {
		width: min(calc((100% - 20px) / 2),210px);
		color: var(--white);
		background-color: #7f6d4e;
	}
}
@media screen and (min-width: 769px){
	:root .plan-slide {
		overflow: visible;
	}
	:root .plan-slide .swiper-wrapper {
		height: auto;
		display: flex;
		justify-content: flex-start;
		align-items: flex-end;
		flex-wrap: wrap;
		gap: 2.8rem;
	}
	:root .plan-slide .plan-slide__item {
		max-width: 488px;
		width: calc((100% - 5.6rem) / 3);
		height: auto;
	}
	:root .plan-slide .custom-fraction {
		display: none;
	}
	:root .plan-slide .swiper-pagination {
		display: none;
	}
}
@media screen and (min-width: 769px) and (max-width: 1100px){
	:root .plan-slide .plan-slide__item {
		width: calc((100% - 2.8rem) / 2);
	}
}
@media screen and (max-width: 768px){
	.l-plan {
		padding-bottom: 8.0rem;
	}
	.plan-head {
		margin-bottom: 5.0rem;
	}
	.plan-head__nav {
		width: calc(200 / 320 * 100%);
		margin-inline: auto;
		gap: .8rem .8rem;
	}
	.plan-head__nav__item {
		width: min(calc((100% - .8rem) / 2),300px);
		height: 4.0rem;
		font-size: 2.0rem;
		border-radius: 2.0rem;
	}
	.plan-container {
		max-width: 660px;
		width: calc(350 / 380 * 100%);
		margin-inline: auto 0;
	}
	.plan-container + .plan-container {
		margin-top: 7.0rem;
	}
	.plan-container__heading {
		font-size: 2.5rem;
		margin-bottom: 3.0rem;
	}
	.plan-container__heading span::after {
		left: calc(100% + 1.0rem);
	}
	:root .plan-slide .swiper-wrapper {
		align-items: flex-end;
	}
	.plan-slide__item {
		width: calc(320 / 350 * 100%);
	}
	.plan-slide__item.new:before {
		padding-right: .8rem;
		width: 7.2rem;
		height: 2.0rem;
		font-size: 1.6rem;
		clip-path: polygon(0% 0%, calc(100% - .8rem) 0%, 100% 100%, 0% 100%);
	}
	.plan-detail {
		padding-block: 1.0rem;
	}
	.plan-detail__type {
		width: 10.4rem;
		min-height: 6.0rem;
		font-size: 1.3rem;
	}
	.plan-detail__spec {
		width: calc(100% - 10.4rem);
		padding-left: 2.0rem;
	}
	.plan-detail__spec__floor {
		font-size: 1.5rem;
		margin-bottom: 1.1rem;
	}
	.plan-detail__spec__area__heading {
		font-size: 1.0rem;
	}
	.plan-detail__spec__area__desc {
		font-size: 1.8rem;
	}
	.plan-detail__spec__area__desc small {
		font-size: 1.2rem;
	}
	.plan-detail__spec__other {
		margin-top: .7rem;
	}
	.plan-detail__spec__other__text {
		font-size: .9rem;
	}
	.plan-floorPlan {
		aspect-ratio: 320 / 400;
	}
	.plan-slide__item[data-status="limited"] .plan-floorPlan:after {
		background: url(../img/img_plan_limited-sp.svg) no-repeat center center/cover;
	}
	.plan-floorPlan__item img {
		width: calc(calc(calc(var(--madoriWidth) / 2) * 0.6) / 320 * 100%);
	}
	.plan-slide__control {
		width: calc(320 / 350 * 100%);
		margin-inline: 0 auto;
		margin-top: 2.0rem;
		padding-bottom: 2.0rem;
	}
	.plan-slide__control__fraction {
		position: relative;
		width: fit-content;
		gap: 0 1.5rem;
	}
	.plan-slide__control__fraction__item--current {
		position: relative;
		display: inline-block;
		font-size: 1.8rem;
		color: var(--green);
	}
	.plan-slide__control__fraction__item--total {
		position: relative;
		display: inline-block;
		font-size: 1.8rem;
		color: #a1a1a1;
		padding-top: 0.6rem;
	}
	.plan-slide__control__fraction__item--total:before {
		content: '';
		position: absolute;
		left: -0.4rem;
		top: 0.1rem;
		width: 1px;
		height: 2rem;
		transform: rotate(25deg);
		background: #a1a1a1;
		transform-origin: top right;
	}
	:root .plan-slide .swiper-pagination{
		position: relative;
		left: auto;
		right: auto;
		top: auto;
		bottom: auto;
		width: fit-content;
		border-radius: 0;
		line-height: 1;
		display: flex;
		justify-content: center;
		margin: 0;
		gap: 15px;
		z-index: 1;
	}
	:root .plan-slide .swiper-pagination-bullet {
		width: 12px;
		height: 12px;
		margin: 0;
		top: auto;
		position: relative;
		display: block;
		border-radius: 50%;
		background: #a1a1a1;
		opacity: 1;
	}
	:root .plan-slide .swiper-pagination-bullet.swiper-pagination-bullet-active {
		background: var(--green);
	}

}