@charset "utf-8";


.roomplan-intro {
	border-bottom: none;
}

.roomplan-intro__contents__photo {
	width: min(100%, 930px);
	margin-inline: auto;
	margin-bottom: 9.0rem;
}

.roomplan-intro__contents__list {
	margin-bottom: 14.0rem;
}

.roomplan-intro__contents__list__item {
	width: calc(490 / 1500 * 100%);
	font-size: 2.7rem;
	line-height: 1.45;
	letter-spacing: 0;
	color: var(--white);
	text-align: center;
	padding-block: 2.0rem 2.1rem;
	background: #7c7c7c;
	/*background: url('../img/bg_intro_list.webp') no-repeat center center/cover;*/
}

.roomplan-intro__contents__list__item span {
	font-size: calc(29 / 24 * 1.0em);
	line-height: 1;
}

.roomplan-intro__contents__list__item i {
	font-weight: 600;
	color: #ddd59d;
}

.roomplan-intro__contents__list__item em {
	font-size: calc(33 / 24 * 1.0em);
	line-height: 1;
	letter-spacing: 0;
}

.roomplan-intro__contents__list__item sup {
	vertical-align: baseline;
}

.roomplan-intro__contents__desc {
	width: min(100%, 710px);
	margin-inline: auto;
	margin-bottom: 4.0rem;
	background: #759091;
	border: solid 1px var(--white);
	font-size: 1.8rem;
	line-height: 1.65;
	letter-spacing: 0;
	color: var(--white);
	text-align: center;
	padding-block: 1.1rem 1.3rem;
}

.roomplan-intro__contents__figure {
	width: min(100%, 710px);
	margin-inline: auto;
}

.roomplan-intro__contents__figure__list {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	z-index: 1;
}

.roomplan-intro__contents__figure__list__item {
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	pointer-events: auto;
	background-color: rgba(255, 255, 255, 0);
	width: calc(131 / 710 * 100%);
}

.roomplan-intro__contents__figure__list__item--Atype {
	padding-bottom: calc(908 / 710 * 100%);
	margin-top: calc(144 / 710 * 100%);
	margin-left: calc(187 / 710 * 100%);
	/*background-color: rgba(0, 255, 255, .6);*/
}

.roomplan-intro__contents__figure__list__item--Btype {
	padding-bottom: calc(743 / 710 * 100%);
	margin-top: calc(309 / 710 * 100%);
	margin-left: calc(317 / 710 * 100%);
	/*background-color: rgba(255, 0, 255, .6);*/
}

.roomplan-intro__contents__figure__list__item--Ctype {
	padding-bottom: calc(825 / 710 * 100%);
	margin-top: calc(144 / 710 * 100%);
	margin-left: calc(448 / 710 * 100%);
	/*background-color: rgba(255, 255, 0, .6);*/
}

.roomplan-intro__contents__figure__list__item--Dtype {
	padding-bottom: calc(991 / 710 * 100%);
	margin-top: calc(144 / 710 * 100%);
	margin-left: calc(579 / 710 * 100%);
	/*background-color: rgba(0, 0, 255, .6);*/
}

.roomplan-intro__contents__figure__list__item--Etype {
	padding-bottom: calc(991 / 710 * 100%);
	margin-top: calc(144 / 710 * 100%);
	margin-left: calc(56 / 710 * 100%);
	/*background-color: rgba(255, 0, 0, .6);*/
}

.roomplan-intro__contents__figure__list__item--Ftype {
	padding-bottom: calc(83 / 710 * 100%);
	margin-top: calc(1052 / 710 * 100%);
	margin-left: calc(317 / 710 * 100%);
	/*background-color: rgba(0, 0, 0, .6);*/
}

.roomplan-intro__contents__figure__list__item--Itype {
	padding-bottom: calc(82 / 710 * 100%);
	width: calc(174 / 710 * 100%);
	margin-top: calc(61 / 710 * 100%);
	margin-left: calc(535 / 710 * 100%);
	/*background-color: rgba(30, 0, 0, .6);*/
}

.roomplan-intro__contents__figure__list__item--Jtype {
	padding-bottom: calc(82 / 710 * 100%);
	margin-top: calc(61 / 710 * 100%);
	margin-left: calc(56 / 710 * 100%);
	/*background-color: rgba(0, 30, 0, .6);*/
}

@media (any-hover: hover) {
	.roomplan-intro__contents__figure__list__item {
		transition: background-color .5s;
	}

	.roomplan-intro__contents__figure__list__item:hover {
		background-color: rgba(255, 255, 255, .4);
	}
}

@media screen and (max-width:768px) {
	.roomplan-intro {
		padding-block: 7.0rem;
	}

	.roomplan-intro__contents__photo {
		width: calc(360 / 320 * 100%);
		margin-left: calc(-20 / 320 * 100%);
		margin-bottom: 4.0rem;
	}

	.roomplan-intro__contents__list {
		margin-bottom: 4.5rem;
	}

	.roomplan-intro__contents__list__item {
		width: 100%;
		font-size: 1.8rem;
		padding-block: 1.5rem 1.6rem;
	}

	.roomplan-intro__contents__list__item+.roomplan-intro__contents__list__item {
		margin-top: .5rem;
	}

	.roomplan-intro__contents__desc {
		width: calc(300 / 320 * 100%);
		margin-bottom: 2.0rem;
		font-size: 1.2rem;
		letter-spacing: 0.01em;
		padding-block: .8rem .9rem;
	}

	.roomplan-intro__contents__figure {
		width: calc(300 / 320 * 100%);
	}
}




/*  l-sky
--------------------------------------------------*/
.l-sky {
	position: relative;
	padding-block: 11.0rem 0;
}

.sky-head {
	margin-bottom: 9.0rem;
}

.sky-head__heading {
	/*font-size: 3.0rem;*/
	font-size: 3.4rem;
	line-height: 1.66666667;
	letter-spacing: .05em;
	text-align: center;
}

@media screen and (max-width:768px) {
	.l-sky {
		padding-block: 6.5rem 0;
	}

	.sky-container {
		padding-block: 6.5rem 6.0rem;
	}

	.sky-head {
		margin-bottom: 4.5rem;
	}

	.sky-head__heading {
		font-size: 1.9rem;
	}
}



/*  l-equipment
--------------------------------------------------*/
.l-equipment {
	position: relative;
}

.equipment-container {
	position: relative;
	width: 100%;
	padding-block: 11.0rem 12.0rem;
}

.equipment-head {
	margin-bottom: 9.0rem;
}

.equipment-head__heading {
	/*font-size: 3.0rem;*/
	font-size: 3.4rem;
	line-height: 1.66666667;
	letter-spacing: .05em;
	text-align: center;
}

.equipment-contents {
	position: relative;
}

.equipment-contents+.equipment-contents {
	margin-top: 10.5rem;
}

.equipment-contents__ttl {
	position: relative;
	font-size: 3.0rem;
	color: #858585;
	padding-left: 3.5rem;
	margin-bottom: 3.0rem;
}

.equipment-contents__ttl::before {
	content: '';
	position: absolute;
	left: 0;
	top: 50%;
	width: 2.4rem;
	height: 1px;
	background: #808080;
}

.equipment-slide {
	width: 100%;
}

.equipment-slide__item {
	position: relative;
	aspect-ratio: 1 / 1;
}

.equipment-contents2 .equipment-slide__item {
	aspect-ratio: 480 / 720;
}

.equipment-slide__item__photo {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
}

.equipment-slide__item__photo img {
	object-fit: cover;
	object-position: left center;
	width: 100%;
	height: 100%;
}

.equipment-slide__item__detail {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	flex-wrap: wrap;
	z-index: 1;
}

.equipment-slide__item__detail__desc {
	font-size: 2.4rem;
	line-height: 1.75;
	letter-spacing: 0;
	color: var(--white);
	text-align: center;
}

.equipment-slide__item__detail__desc--clogged {
	letter-spacing: -.005em;
}

.equipment-slide__item__detail__desc em {
	display: block;
	font-size: 1em;
	line-height: 1.16666667 !important;
	letter-spacing: .05em !important;
	margin-bottom: .3em;
}

.equipment-slide__item__detail__desc span {
	position: relative;
	display: block;
	width: fit-content;
	margin-inline: auto;
}

.equipment-slide__item__detail__desc span+span {
	margin-top: .5em;
}

/*.equipment-slide__item__detail__desc span::before,
.equipment-slide__item__detail__desc span::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 20px;
  height: calc(100% - .5em);
  background-color: currentColor;
}
.equipment-slide__item__detail__desc span::before {
  left: 0;
  clip-path: polygon(calc(10px + 1px) 0, calc(0% + 1px) 50%, calc(10px + 1px) 100%, 10px 100%, 0 50%, 10px 0);
}
.equipment-slide__item__detail__desc span::after {
  right: 0;
  clip-path: polygon(10px 0%, 100% 50%, 10px 100%, calc(10px - 1px) 100%, calc(100% - 1px) 50%, calc(10px - 1px) 0);
}*/
.equipment-slide__item__detail__desc small {
	display: block;
	font-size: max(10px, 1.2rem);
}

.equipment-slide__item__detail__explain {
	width: calc(400 / 480 * 100%);
	margin-inline: auto;
	font-size: 1.6rem;
	line-height: 2;
	letter-spacing: 0;
	color: var(--white);
	text-align: justify;
	margin-top: 5.0rem;
}

.equipment-slide__item__btn {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	pointer-events: auto;
	cursor: pointer;
	z-index: 2;
}

.equipment-slide__item__btn i {
	position: absolute;
	right: 0;
	bottom: 0;
	width: calc(40 / 480 * 100%);
	aspect-ratio: 1 / 1;
	margin-right: calc(40 / 480 * 100%);
	margin-bottom: calc(40 / 480 * 100%);
}

.equipment-slide__item__btn i::before,
.equipment-slide__item__btn i::after {
	content: '';
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%) rotate(0deg);
	width: 100%;
	height: 1px;
	background: var(--white);
}

.equipment-slide__item__btn i::after {
	transform: translateY(-50%) rotate(90deg);
}

/* modal */
.equipment-overlay__photo {
	position: absolute;
	inset: 0;
	margin: auto;
	width: 100%;
	height: 100%;
	overflow: clip;
	pointer-events: none;
}

.equipment-overlay__photo img {
	object-fit: cover;
	object-position: center center;
	width: 100%;
	height: 100%;
}

.equipment-overlay__photo.objectPosition-left img {
	object-position: center left;
}

.equipment-overlay__photo.objectPosition-bottom img {
	object-position: bottom center;
}

.equipment-modal .modal-container {
	/*max-width: 600px;*/
	max-width: 940px;
}

.equipment-modal__box {
	/*width: min(100%, 600px);*/
	width: 100%;
	margin-inline: auto;
}

.equipment-modal__box__heading {
	font-size: 3.4rem;
	line-height: 1.75;
	letter-spacing: .1em;
	color: var(--white);
	text-align: center;
	margin-bottom: 4.5rem;
}

.equipment-modal__box__heading em {
	display: block;
	font-size: .8em;
	line-height: 1.16666667 !important;
	letter-spacing: 0 !important;
	margin-bottom: .8em;
}

.equipment-modal__box__heading span {
	position: relative;
	display: block;
	width: fit-content;
	margin-inline: auto;
}

.equipment-modal__box__heading span+span {
	margin-top: .5em;
}

.equipment-modal__box__heading small {
	display: block;
	font-size: max(10px, 1.2rem);
	letter-spacing: .05em;
}

.equipment-modal__box__photo {
	width: min(100%, 500px);
	margin-inline: auto;
}

.equipment-modal__box__desc {
	/*font-size: 1.6rem;*/
	font-size: 2.0rem;
	line-height: 2;
	letter-spacing: .1em;
	color: var(--white);
	text-align: justify;
	margin-top: 2.5rem;
}

.equipment-modal__box__desc--clogged {
	letter-spacing: -.01em;
}

@media (any-hover: hover) {
	.equipment-slide__item {
		transition: opacity 0.3s ease-in-out;
	}

	.equipment-slide__item:hover {
		opacity: 0.7 !important;
	}
}

@media screen and (min-width: 769px) {
	:root .equipment-slide {
		overflow: visible;
	}

	:root .equipment-slide__wrapper {
		width: 100%;
		height: auto;
		display: block;
		display: flex;
		justify-content: flex-start;
		align-items: stretch;
		flex-wrap: wrap;
		gap: 2.0rem;
	}

	:root .equipment-slide__item {
		width: calc((100% - 4.0rem) / 3) !important;
		height: auto;
	}
}

@media screen and (max-width:768px) {
	.equipment-container {
		padding-block: 6.5rem 6.0rem;
	}

	.equipment-head {
		margin-bottom: 4.5rem;
	}

	.equipment-head__heading {
		font-size: 1.9rem;
	}

	.equipment-head__desc {
		font-size: 1.4rem;
		line-height: 1.85714286;
		text-align: justify;
		margin-top: 3.0rem;
	}

	.equipment-contents {
		width: 100%;
	}

	.equipment-contents+.equipment-contents {
		margin-top: 6.5rem;
	}

	.equipment-contents__ttl {
		width: calc(320 / 380 * 100%);
		margin-inline: auto;
		font-size: 2.0rem;
		padding-left: 2.5rem;
		margin-bottom: 2.0rem;
	}

	.equipment-contents__ttl::before {
		width: 1.6rem;
	}

	.equipment-slide {
		width: calc(350 / 380 * 100%);
		margin-inline: auto 0;
	}

	.equipment-contents2 .equipment-slide__item {
		aspect-ratio: 320 / 480;
	}

	.equipment-slide__item__photo,
	.equipment-slide__item__detail,
	.equipment-slide__item__btn {
		width: calc(320 / 330 * 100%);
	}

	.equipment-slide__item__detail__desc {
		font-size: 1.8rem;
		letter-spacing: .05em;
	}

	.equipment-slide__item__detail__desc--clogged {
		letter-spacing: -.01em;
	}

	.equipment-slide__item__detail__explain {
		width: calc(280 / 320 * 100%);
		font-size: 1.4rem;
		line-height: 1.85714286;
		margin-top: 3.5rem;
	}

	.equipment-slide__item__btn i {
		width: calc(28 / 380 * 100%);
		margin-right: calc(20 / 380 * 100%);
		margin-bottom: calc(30 / 380 * 100%);
	}

	.equipment-slide__control {
		position: relative;
		width: calc(320 / 350 * 100%);
		margin-inline: 0 auto;
		margin-top: 2.5rem;
		z-index: 1;
	}

	:root .equipment-slide__control .swiper-pagination-bullet.swiper-pagination-bullet-active {
		background: #231815;
	}

	/* modal */
	.equipment-modal .modal-container {
		max-width: none;
	}

	.equipment-modal__box {
		width: min(100%, 560px);
	}

	.equipment-modal__box__heading {
		font-size: 2.1rem;
		letter-spacing: .05em;
	}

	.equipment-modal__box__photo {
		width: 100%;
	}

	.equipment-modal__box__desc {
		font-size: 1.4rem;
		line-height: 1.85714286;
		letter-spacing: .05em;
		margin-top: 1.5rem;
	}

	.equipment-modal__box__desc--clogged {
		letter-spacing: -.01em;
	}
}




/*  l-plan
--------------------------------------------------*/
.l-plan {
	padding-block: 12.5rem 12.0rem;
}

.plan-heading {
	font-size: 3.6rem;
	color: var(--white);
	text-align: center;
	margin-bottom: 10.0rem;
}

.plan-contents {
	width: 100%;
}

.plan-contents+.plan-contents {
	margin-top: 12.0rem;
}

.plan-contents__ldk {
	width: 100%;
	font-size: 3.6rem;
	letter-spacing: .1em;
	text-align: center;
	height: 7.4rem;
	margin-bottom: 5.0rem;
	padding-bottom: .1em;
	background: linear-gradient(180deg, rgba(246, 243, 238, 1) 0%, rgba(154, 149, 142, 1) 100%);
}

.common-plan__list {
	max-width: 1400px;
	width: 100%;
	margin-inline: auto;
	gap: 5.5rem;
}

.common-plan__list__item {
	width: calc((100% - 11.0rem) / 3);
}

.common-plan__list__item.soon a {
	pointer-events: none;
	cursor: default;
}

.plan-btn {
	width: min(100%, 500px);
	height: 6.6rem;
	margin-inline: auto;
	margin-top: 8.0rem;
	color: #70674e;
	background: #f7f7f7;
}

.plan-btn::after {
	border-top: 1px solid #70674e;
	border-right: 1px solid #70674e;
}

@media screen and (max-width:768px) {
	.l-plan {
		padding-block: 6.0rem 6.0rem;
	}

	.plan-heading {
		font-size: 2.3rem;
		margin-bottom: 5.0rem;
	}

	.plan-contents+.plan-contents {
		margin-top: 5.0rem;
	}

	.plan-contents__ldk {
		font-size: 2.3rem;
		height: 5.0rem;
		margin-bottom: 2.5rem;
	}

	.common-plan__list {
		width: calc(270 / 320 * 100%);
		margin-inline: auto;
		gap: 1.5rem;
	}

	.common-plan__list__item {
		width: 100%;
	}

	.plan-btn {
		height: 4.2rem;
		margin-top: 5.0rem;
	}
}




/*  l-tips
--------------------------------------------------*/
.l-tips {
	position: relative;
	padding-block: 12.0rem;
}

.tips-inner {
	max-width: 950px;
	z-index: 1;
}

.tips-item {
	width: calc(476 / 950 * 100%);
}

.tips-item+.tips-item {
	width: calc(400 / 950 * 100%);
}

@media screen and (max-width: 768px) {
	.l-tips {
		padding-block: 6.0rem;
	}

	.tips-inner {
		max-width: 560px;
		gap: 2.0rem;
	}

	.tips-item {
		width: 100% !important;
	}
}