@charset "utf-8";

/**
 *
 *  ページ用CSS
 *　plan
 */

/*--------------------------------------------------------------------------
	Overwright
---------------------------------------------------------------------------*/
.content{
	font-family: YakuHanMP, "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", YuMincho, serif;
}

/* btn
-----------------------------------------------------------------*/

.btn{
  display: flex;
  justify-content: center;
  align-items: center;
  align-content: center;
  position: relative;
  width: 100%;
  background-color: #000;
  color: #fff;
  font-size: 18px;
  letter-spacing: 0.15em;
  line-height: 1.6;
  padding: 1em;
  text-align: center;
  border-radius: 0;
  transition: .4s ease-out;
  z-index: 0;
}
.btn .txt {
	color: #fff;
}
.btn.has-arrow {
	justify-content: space-between;
	padding-inline: 2em 1em;
}
.btn.has-arrow::after {
	content: '';
	display: block;
	width: 20px;
	height: 20px;
	background-color: rgb(255 255 255 / 1);
	-webkit-mask-image: url(../../asset/img/common/ico_btn-arrow.svg);
	mask-image: url(../../asset/img/common/ico_btn-arrow.svg);
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-size: contain;
	mask-size: contain;
	transition: .4s;
}

.opa {
	transition: opacity .5s;
}

.ib { display: inline-block; }

@media (hover: hover) and (pointer: fine) {
	.opa:hover {
		opacity: .7;
	}
}

/* tab
---------------------------------------------- */
.tab{
  cursor: pointer;
	border: none;
	padding: 0;
	border-radius: 0;
}
.tabpanel{
  display: none;
  position: relative;
}
.tabpanel.active{
  display: block;
  animation: tabFadeIn .5s;
}
@keyframes tabFadeIn{
  0%{ opacity: 0; }
  100%{ opacity: 1; }
}

/* kv
-----------------------------------------------------------------*/
.kv {
	position: relative;
	z-index: 0;
}

.kv__txt {
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	background: linear-gradient(135deg, rgba(40, 91, 158, 1) 0%, rgba(23, 73, 133, 1) 33.76%, rgba(6, 56, 109, 1) 74.77%, rgba(0, 50, 100, 1) 100%);
	color: #fff;
	font-size: clamp(30px, -1.21rem + 5.47vw, 70px);
	letter-spacing: 0.04em;
	line-height: 1;
	text-align: center;
	padding: .5393em 1.425em;
	z-index: 1;
}

.kv__img {
	width: calc(1300 / 1500 * 100%);
	margin-left: auto;
}

@media screen and (max-width: 768px) {
	.kv__txt {
		padding: .35em 1em .5em;
	}
}

/*--------------------------------------------------------------------------
	Content
---------------------------------------------------------------------------*/

/* pageIntro
-----------------------------------------------------------------*/
.pageIntro {
	padding-block: 100px 80px;
}

.pageIntro__copy {
	font-size: clamp(20px, 0.95rem + 1.37vw, 30px);
	letter-spacing: 0.1em;
	line-height: 1.9;
	text-align: center;
}

@media screen and (max-width: 768px) {
	.pageIntro {
		padding-block: 70px 60px;
	}
}

/* anchorBtnArea
-----------------------------------------------------------------*/
.anchorBtnArea {
	max-width: 910px;
}
.anchorBtnList {
	display: flex;
	justify-content: center;
	align-items: center;
	column-gap: 20px;
}
.anchorBtnList > li {
	width: calc(425 / 870 * 100%);
}
.anchorBtnList__link {
	position: relative;
	background-color: #ccc;
	font-size: 20px;
	padding-block: 1.4em;
	transition: .4s;
	z-index: 0;
}
.anchorBtnList__link.is-active {
	background: linear-gradient(90deg, rgba(40, 91, 158, 1) 0%, rgba(23, 73, 133, 1) 33.76%, rgba(6, 56, 109, 1) 74.77%, rgba(0, 50, 100, 1) 100%);
}
.anchorBtnList__link::after {
	content: '';
	position: absolute;
	bottom: 10%;
	left: 50%;
	transform: translateX(-50%);
	width: calc(30 / 425 * 100%);
	height: 20px;
	background: url(../img/plan/icon_btn-arrow.svg) center/contain no-repeat;
	z-index: 1;
}

.anchorBtnList__link .txt {
	transform: translateY(-.2em);
}

@media (hover: hover) and (pointer: fine) {
	.anchorBtnList__link:hover {
		opacity: .7;
	}
}

@media screen and (max-width: 768px) {
	.anchorBtnArea {
		padding: 0;
	}
	.anchorBtnList {
		column-gap: 2px;
	}
	.anchorBtnList > li {
		flex: 1;
		width: 100%;
	}
	.anchorBtnList__link {
		font-size: 14px;
	}
	.anchorBtnList__link::after {
		bottom: 10%;
		width: 22px;
		height: 15px;
	}
}

/* view
-----------------------------------------------------------------*/
.view {
	position: relative;
	padding-bottom: 200px;
	z-index: 0;
}
.viewHead {
	background: linear-gradient(180deg, rgba(233, 242, 248, 1) 0%, rgba(233, 242, 248, 0) 100%);
	padding-block: 100px 150px;
	z-index: -1;
}

.view__copy {
	font-size: clamp(20px, 1.16rem + 1.09vw, 28px);
	letter-spacing: 0.1em;
	line-height: 1.8;
	text-align: center;
}

.viewBox {
	max-width: 1240px;
	margin-top: 40px;
}
.viewBox__inner {
	position: relative;
	z-index: 0;
}

.viewFloor {
	position: absolute;
	top: 0;
	left: 0;
	width: calc(120 / 1200 * 100%);
	z-index: 1;
}

.viewTab {
	display: flex;
	position: absolute;
	top: 20px;
	right: 20px;
	width: calc(280 / 1200 * 100%);
	z-index: 1;
}
.viewTab__btn {
	flex: 1;
	background-color: #fff;
	border: none;
	color: #666;
	font-family: YakuHanMP, "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", YuMincho, serif;
	font-size: 18px;
	letter-spacing: 0.1em;
	padding: 0.4em;
	cursor: pointer;
	transition: .4s;
	opacity: .5;
}
.viewTab__btn.is-active {
	opacity: 1;
	background-color: #2682bc;
	color: #fff;
}

.viewImg {
	position: relative;
	overflow: hidden;
	z-index: 0;
}

.viewImg__inner {
	overflow: auto;
	-ms-overflow-style:none;
}
.viewImg__inner::-webkit-scrollbar{
  display: none;
}

.viewImg__contents {
	width: 3170px;
}

.viewScrollBtn {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: calc(60 / 1200 * 100%);
	aspect-ratio: 1;
	background: none;
	border: none;
	padding: 0;
	cursor: pointer;
	z-index: 1;
}

.viewScrollBtn--left {
	left: calc(30 / 1200 * 100%);
}
.viewScrollBtn--right {
	right: calc(30 / 1200 * 100%);
	transform: translateY(-50%) scaleX(-1);
}

.viewScrollBtn img {
	display: block;
}

.viewListBox {
	max-width: 1440px;
}
.viewListBox + .viewListBox {
	margin-top: 100px;
}

.viewListBox__inner {
	padding-inline: calc(100 / 1400 * 100%);
}
.viewListBox--14 .viewListBox__inner {
	background: linear-gradient(90deg, rgba(255, 255, 255, 1) 0%, rgba(239, 233, 222, 1) 15%, rgba(239, 233, 222, 1) 85%, rgba(255, 255, 255, 1) 100%);
	padding-block: 80px;
}

.viewListBox__ttl {
	display: flex;
	justify-content: center;
	align-items: center;
	column-gap: 1em;
	color: #ad9159;
	font-size: clamp(18px, 0.75rem + 1.37vw, 28px);
	font-weight: normal;
	letter-spacing: 0.1em;
	line-height: 1.4;
	margin-bottom: 35px;
	text-align: center;
	white-space: nowrap;
}
.viewListBox__ttl::before,
.viewListBox__ttl::after {
	content: '';
	display: block;
	width: 80%;
	height: 1px;
	background-color: #d6c8ac;
}

.viewList {
	display: flex;
	column-gap: calc(20 / 1200 * 100%);
}
.viewList__ttl {
	width: calc(100 / 1200 * 100%);
}

.viewList_inner {
	width: calc(1080 / 1200 * 100%);
}

.viewListBtn {
	max-width: 500px;
	margin-top: 40px;
	margin-inline: auto;
}
.viewListBtn__btn.has-arrow {
	font-family: YakuHanMP, "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", YuMincho, serif;
	background: linear-gradient(90deg, rgba(40, 91, 158, 1) 0%, rgba(23, 73, 133, 1) 33.76%, rgba(6, 56, 109, 1) 74.77%, rgba(0, 50, 100, 1) 100%);
	padding-inline: 5.5em 1.5em;
}
.viewListBtn__btn.has-arrow::after {
	transform: rotate(-90deg);
}

.superiorBnr {
	position: relative;
	z-index: 0;
}
* + .superiorBnr {
	margin-top: 40px;
}

@media (hover: hover) and (pointer: fine) {
	.viewTab__btn:hover {
		background-color: #2682bc;
		color: #fff;
	}
}

@media screen and (max-width: 768px) {
	.view {
		padding-bottom: 90px;
	}
	.viewHead {
		padding-block: 50px 60px;
	}

	.viewBox {
		max-width: 1240px;
		margin-top: 30px;
		padding: 0;
	}

	.viewFloor {
		width: 50px;
	}

	.viewTab {
		top: 0;
		right: 0;
		width: 120px;
	}
	.viewTab__btn {
		font-size: 12px;
	}
	.viewTab__btn.is-active {
		opacity: 1;
		background-color: #2682bc;
		color: #fff;
	}

	.viewImg__contents {
		width: 1585px;
	}

	.viewScrollBtn {
		width: 40px;
	}

	.viewScrollBtn--left {
		left: 0;
	}
	.viewScrollBtn--right {
		right: 0;
	}

	.viewListBox {
		padding: 0;
	}
	.viewListBox + .viewListBox {
		margin-top: 50px;
	}

	.viewListBox__inner {
		padding-inline: 0;
	}
	.viewListBox--14 .viewListBox__inner {
		padding-block: 40px 50px;
	}

	.viewListBox__ttl {
		margin-bottom: 30px;
	}
	.viewListBox__ttl::before,
	.viewListBox__ttl::after {
		width: 30px;
	}

	.viewList {
		column-gap: calc(10 / 357.5 * 100%);
		padding-left: 17.5px;
	}
	.viewList__ttl {
		width: 60px;
	}

	.viewList_inner {
		flex: 1;
		overflow: auto;
		-ms-overflow-style:none;
	}
	.viewList_inner::-webkit-scrollbar{
		display: none;
	}
	.viewList__img {
		width: 756px;
	}

	.viewListBtn {
		max-width: 280px;
		margin-top: 50px;
	}
	.viewListBtn__btn.has-arrow {
		font-size: 14px;
		letter-spacing: 0;
		padding-inline: 2.3em 1.2em;
	}

	.superiorBnr {
		max-width: 350px;
		margin-inline: auto;
	}
	.superiorBnr .p-caption {
		bottom: 33%;
	}
}

/* anchor
-----------------------------------------------------------------*/

.anchor{
	padding: 100px 0;
}
.anchor .inner {
	max-width: 1240px;
}

.anchor div > figure{
	/* max-width: 600px; */
	margin: 0 auto;
}
.anchor div > figure a{
	display: block;
	position: relative;
	transition: .5s;
	z-index: 0;
}

.anchor div > figure a:hover {
    opacity: .7;
}

.anchor div > figure a .p-caption {
	left: 0;
	right: auto;
}


/* plan
-----------------------------------------------------------------*/
.plan{
	position: relative;
	background: url(../../asset/img/plan/bg_plan.png) center/cover no-repeat, #bed9eb;
	padding-block: 140px 200px;
	z-index: 0;
}
.plan::before {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 420px;
	background: linear-gradient(0deg, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 100%);
	z-index: -1;
}

.planList {
	display: grid;
	/* grid-template-columns: repeat(3, 1fr); */
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 50px calc(30 / 1200 * 100%);
	max-width: 1240px;
}
.planList > li {
	padding-top: 20px;
}
.planList__link {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	width: calc(360 / 380 * 100%);
	background-color: #fff;
	margin-left: auto;
	aspect-ratio: 36 / 28;
	box-shadow: 0 0 20px rgba(0 0 0 / .1);
	z-index: 0;
}
.planList__link.has-payment {
	align-items: flex-start;
}
.planList__link.has-payment .planList__head {
	padding-bottom: 18px;
	padding-left: 15%;
}
.typeName {
	position: absolute;
	top: calc(-20 / 280 * 100%);
	left: calc(-20 / 380 * 100%);
	width: calc(100 / 380 * 100%);
	z-index: 1;
}
.typeName .last {
	display: block;
	font-size: 16px;
	background: linear-gradient(135deg, rgba(167, 67, 91, 1) 0%, rgba(161, 53, 79, 1) 22.66%, rgba(149, 29, 58, 1) 70.54%, rgba(145, 20, 50, 1) 100%);
	color: #e8d4ac;
	margin-top: 10px;
	padding-block: .5em .4em;
	padding-right: .2em;
	text-align: center;
}
.typeName .last .num {
	font-size: 244%;
	line-height: 1;
}
.planList__head {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	padding: 30px 2% 25px;
}
.planList__head .spec {
	font-size: clamp(34px, 2.77rem + 0.82vw, 40px);
	font-weight: 500;
	letter-spacing: 0.1em;
	line-height: 1;
}
.planList__head .spec .num {
	font-size: 200%;
	color: #ad9159;
}
.planList__head .spec .small {
	display: block;
	font-size: 55%;
	letter-spacing: 0.1em;
	margin-top: -0.2em;
}
.planList__head .spec .small._il {
	display: inline;
}
.planList__head .spec .small .plus {
	font-size: 72%;
	margin-left: 4px;
	vertical-align: 2px;
}

.planList__head .area {
	font-size: clamp(16px, 1.18rem + 0.55vw, 20px);
	letter-spacing: 0;
	line-height: 1;
	margin-top: 25px;
}
.planList__link.has-payment .planList__head .area {
	margin-top: 0;
}
.has-last .planList__head .area {
	padding-left: 3em;
}
.planList__head .area__ttl {
	display: block;
	font-size: 14px;
	letter-spacing: 0.1em;
	margin-bottom: 7px;
}
.planList__head .area .num {
	font-size: 150%;
	letter-spacing: 0;
	color: #ad9159;
	margin-right: 4px;
}
.planList__head .area .num__large {
	font-size: 173.4%;
	letter-spacing: -0.08em;
}
.planList__link.has-payment .planList__head .area .num__large {
	font-size: 140%;
}
.planList__head .area .dot {
	font-family: YakuHanMP, "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", YuMincho, serif;
	letter-spacing: 0;
}
.planList__head .area .small {
	font-size: 70%;
	letter-spacing: 0.1em;
}

.detailLink {
	position: relative;
	width: 100%;
	background-color: #f3eee6;
	font-size: clamp(14px, 1.19rem + 0.27vw, 16px);
	letter-spacing: 0.1em;
	line-height: 1.8;
	padding: .663em;
	text-align: center;
	z-index: 0;
}
.detailLink::after {
	content: '';
	position: absolute;
	top: 50%;
	right: 7%;
	transform: translateY(-50%);
	width: 20px;
	height: 20px;
	background-color: rgb(51 51 51 / 1);
	-webkit-mask-image: url(../../asset/img/common/ico_btn-arrow.svg);
	mask-image: url(../../asset/img/common/ico_btn-arrow.svg);
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-size: contain;
	mask-size: contain;
	transition: .4s;
	z-index: 1;
}

.planList__link .tagList {
	display: flex;
	justify-content: flex-end;
	position: absolute;
	top: 0;
	right: 0;
	z-index: 1;
}
.planList__link .tag {
	color: #fff;
	font-size: clamp(12px, 0.84rem + 0.37vw, 14px);
	letter-spacing: 0.1em;
	padding: .11em .63em;
	text-align: center;
	z-index: 1;
}
.planList__link .tag--corner {
	background-color: #ad9159;
}
.planList__link .tag--layout {
	background-color: #a7435b;
}

.planList__link .flexible {
	position: absolute;
	top: 15%;
	right: 4%;
	color: #fff;
	background-color: #007e5e;
	font-size: clamp(12px, 0.4rem + 0.67vw, 14px);
	font-weight: 600;
	letter-spacing: 0.1em;
	line-height: 1.4;
	padding: .6em;
	text-align: center;
	z-index: 1;
}

.planList__link .model3d {
	position: absolute;
	top: 15%;
	right: 4%;
	width: calc(80 / 360 * 100%);
	z-index: 1;
}

.equipBnr {
	max-width: 940px;
	margin-top: 80px;
}

@media screen and (max-width: 1024px) {
	.planList {
		max-width: 800px;
	}
}

@media screen and (max-width: 768px) {
	.plan{
		padding-block: 70px;
	}

	.planList {
		row-gap: 30px;
		padding-inline: 27.5px;
	}
	.planList__link {
		width: calc(300 / 320 * 100%);
		aspect-ratio: 300 / 235;
	}
	.typeName {
    position: absolute;
    top: calc(-20 / 235 * 100%);
    left: calc(-20 / 300 * 100%);
    width: calc(85 / 300 * 100%);
	}
	.planList__head {
		padding-block: 25px 20px;
	}
	.planList__head .area {
		margin-top: 20px;
	}
	.planList__head .area__ttl {
		font-size: 12px;
	}
	.planList__link .tag {
	}
}

/* plan-detail
-----------------------------------------------------------------*/
.plan-detail {
	position: relative;
	padding-block: 100px 50px;
	z-index: 0;
}
.plan-detail::before,
.plan-detail::after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 53vw;
}
.plan-detail::before {
	background: url(../../asset/img/plan/bg_detail.png) center/cover no-repeat, #bed9eb;
	z-index: -2;
}
.plan-detail::after {
	background : linear-gradient(0deg, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 100%);
	z-index: -1;
}

.modelArea {
	max-width: 1240px;
	margin-bottom: 100px;
}
.modelArea__item {
	box-shadow: 0 0 16px rgba(0 0 0 / .1);
}

.detailBox {
	/* max-width: 1240px;
	background-color: #fff;
	box-shadow: 0 0 20px rgba(0 0 0 / .1);
	padding: min(calc(100 / 1500 * 100%),100px); */
	max-width: 1240px;
}
.detailBox__inner {
	position: relative;
	background-color: #fff;
	box-shadow: 0 0 20px rgba(0 0 0 / .1);
	padding: min(calc(80 / 1200 * 100%),80px);
	padding-inline: 6.666667%;
	z-index: 0;
}

.detailHead {
	display: flex;
}
.detailHead .type {
	font-size: clamp(24px, 1.14rem + 1.64vw, 36px);
	letter-spacing: .04em;
	line-height: 1;
	color: #003264;
	padding-right: calc(30 / 1040 * 100%);
	text-align: center;
}
.detailHead .type .em {
	display: block;
	font-style: normal;
	font-size: 333.334%;
	margin-bottom: -15px;
}
.detailHead .type .menu {
	display: block;
	background-color: #335b83;
	color: #fff;
	font-size: clamp(16px, 1.18rem + 0.55vw, 20px);
	letter-spacing: 0.04em;
	margin-top: 20px;
	padding: .4em 1.1em .3em;
}
.detailHead .type .menu .num {
	font-size: 120%;
}

.detailHead .specBox {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex: 1;
	position: relative;
	padding-left: calc(50 / 1040 * 100%);
	z-index: 0;
}
.detailHead .specBox::before {
	content: '';
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	width: 1px;
	height: 140px;
	background-color: #879fb6;
}

.detailHead .space01 {
	flex: 1;
	font-size: clamp(24px, -0.12rem + 3.28vw, 48px);
	letter-spacing: 0.1em;
	line-height: 1;
}
.detailHead .space01 .tagList {
	display: flex;
	/* width: fit-content; */
	gap: 5px 3%;
	margin-bottom: 15px;
}
.detailHead .space01 .tag {
	width: fit-content;
	font-size: clamp(12px, 0.78rem + 0.55vw, 16px);
	letter-spacing: 0.1em;
	color: #fff;
	padding: .4em .6em;
}
.detailHead .space01 .tag--corner {
	background-color: #ad9159;
}
.detailHead .space01 .tag--layout {
	background-color: #a7435b;
}
.detailHead .space01 .num {
	color: #ad9159;
	font-size: 183.3334%;
	letter-spacing: 0.1em;
}
.detailHead .space01 .small {
	font-size: 58.3334%;
	letter-spacing: 0.1em;
}
.detailHead .space01 .small .plus {
	font-size: 78.57%;
	vertical-align: 2px;
}

.detailHead .spec02 {
	width: fit-content;
}
.detailHead .area {
	font-size: clamp(14px, -0.28rem + 2.19vw, 30px);
	letter-spacing: 0.1em;
	line-height: 1;
}
.detailHead .area__ttl {
	font-size: clamp(14px, 0.77rem + 0.82vw, 20px);
}
.detailHead .area .num {
	color: #ad9159;
	font-size: 160%;
	letter-spacing: 0;
	margin-right: 8px;
}
.detailHead .area .num__large {
	font-size: 145.8334%;
	letter-spacing: -.1em;
}
.detailHead .area .dot {
	font-family: YakuHanMP, "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", YuMincho, serif;
  letter-spacing: 0;
}
.detailHead .area .small {
	font-size: clamp(12px, 0.78rem + 0.55vw, 16px);
	letter-spacing: 0.1em;
}
.detailHead .subArea {
	margin-top: 12px;
}
.detailHead .subArea > li {
	font-size: clamp(12px, 0.78rem + 0.55vw, 16px);
	letter-spacing: 0.1em;
	line-height: 1.5;
	text-align: right;
}
.detailHead .subArea > li + li {
	margin-top: 0.2em;
}

.detailBox .payment {
	margin-top: 50px;
}

.layout {
	position: relative;
	max-width: 450px;
	margin-top: 40px;
	margin-inline: auto;
	z-index: 0;
}

.layout--point {
	max-width: revert;
}

.detail-b .layout {
	max-width: 470px;
}
.detail-f .layout {
	max-width: 440px;
}
.detail-g .layout {
	/* max-width: 420px; */
}

.planTabList {
	display: flex;
	justify-content: center;
	gap: 20px;
	margin-top: 40px;
}
.planTabList > .tab {
	width: 280px;
	font-size: 20px;
	letter-spacing: 0.1em;
	line-height: 1.4;
	background-color: rgb(6 56 109 / 1);
	border: 1px solid rgb(6 56 109 / 0);
	color: #fff;
	padding: .5em .4em .3em;
	transition: .4s;
}
.planTabList > .tab.active {
	background-color: #fff;
	color: #333;
	border: 1px solid rgb(6 56 109 / 1);
	pointer-events: none;
}
.planTabList > .tab .small {
	display: block;
	font-size: 75%;
	letter-spacing: .01em;
}

@media (hover: hover) and (pointer: fine) {
	.planTabList > .tab:hover {
		opacity: .7;
	}
}

.sample {
  margin-top: 25px;
}
.sampleListWrap {
	display: flex;
	justify-content: center;
}
.sample__list01 {
	display: flex;
  justify-content: center;
}
.sample__list01 > li {
  display: flex;
  align-items: center;
  font-size: 12px;
  letter-spacing: 0.1em;
  margin: 2px 15px 2px 0;
  white-space: nowrap;
}
.sample__list01 > li::before {
  content: '';
  display: inline-block;
  width: 23px;
  height: 10px;
  margin-right: 8px;
}
.sample__list01 > li.water::before {
  background: #d8e3ef;
}
.sample__list01 > li.storage::before {
  background: #d5ceb5;
}
.sample__list01 > li.floor::before {
  background: #f9e4ee;
}
.sample__list01 > li.wind::before {
	width: 35px;
	height: 7px;
  background: url(../../asset/img/plan/ico_wind.png) no-repeat center/100% auto;
}
.sample__list01 > li.light::before {
	width: 35px;
	height: 7px;
  background: url(../../asset/img/plan/ico_light.png) no-repeat center/100% auto;
}

.sample__list02 {
	display: flex;
  justify-content: center;
  margin-top: .5em;
}
.sample__list02 > li {
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.66;
  margin-right: 1em;
}

.plan-detail .backBtnWrap {
	max-width: 340px;
	margin-top: 50px;
}
.plan-detail .backBtn.has-arrow {
	justify-content: center;
	background: linear-gradient(90deg, rgba(40, 91, 158, 1) 0%, rgba(23, 73, 133, 1) 33.76%, rgba(6, 56, 109, 1) 74.77%, rgba(0, 50, 100, 1) 100%);
	padding: 1.15em 1em;
}
.plan-detail .backBtn.has-arrow::after {
	position: absolute;
	top: 50%;
	left: 7%;
	transform: translateY(-50%) scaleX(-1);
}

@media screen and (min-width: 769px) {
	.detailHead .space01 .small.is-block {
		display: block;
	}
}

@media screen and (max-width: 960px) {
	.detailHead .space01 .tagList {
		flex-direction: column;
	}
}

@media screen and (max-width: 768px) {
	.plan-detail {
		padding-block: 30px 50px;
	}
	.plan-detail::before,
	.plan-detail::after {
		height: 285vw;
	}

	.modelArea {
		max-width: 600px;
		padding-inline: 27.5px;
		margin-bottom: 40px;
	}

	.detailBox {
		max-width: 600px;
		padding-inline: 27.5px;
	}
	.detailBox__inner {
		padding: calc(30 / 320 * 100%);
	}

	.detailHead {
		flex-direction: column;
	}
	.detailHead .type {
		padding-right: 0;
	}
	.detailHead .type .em {
		margin-bottom: -10px;
	}
	.detailHead .type .menu {
		width: fit-content;
		margin-top: 15px;
		margin-inline: auto;
		padding: .5em 1em .4em;
	}
	.detailHead .type .menu .num {
		font-size: 17px;
	}

	.detailHead .specBox {
		flex-direction: column;
		flex: revert;
		margin-top: 20px;
		padding-top: 20px;
		padding-left: 0;
	}
	.detailHead .specBox::before {
		top: 0;
		left: 50%;
		transform: translateX(-50%);
		width: 100%;
		height: 1px;
	}

	.detailHead .space01 .tag {
		margin-inline: auto;
		padding: .5em .8em;
	}
	.detailHead .space01 .small {
		display: inline-block;
		font-size: 66.6667%;
	}
	.detailHead .space01 .small .plus {
		font-size: 75%;
	}

	.detailHead .spec02 {
		width: 100%;
		margin-top: 15px;
	}
	.detailHead .area {
		text-align: center;
	}
	.detailHead .area__ttl {
		display: block;
		margin-bottom: 0.5em;
	}
	.detailHead .area .num {
		font-size: 200%;
		margin-right: 4px;
	}
	.detailHead .subArea {
		width: 110%;
		transform: translateX(-5%);
	}
	.detailHead .subArea > li {
		line-height: 1.667;
		text-align:  center;
	}

	.detailBox .payment {
		margin-top: 20px;
	}

	.layout {
		margin-top: 30px;
		padding-inline: 17.5px;
	}

	/* .layout .num {
		display: flex;
		align-items: center;
		justify-content: center;
		position: absolute;
		background: linear-gradient(135deg, rgba(40, 91, 158, 1) 0%, rgba(23, 73, 133, 1) 33.76%, rgba(6, 56, 109, 1) 74.77%, rgba(0, 50, 100, 1) 100%);
		color: #fff;
		width: 30px;
		font-size: 24px;
		letter-spacing: 0;
		line-height: 1;
		aspect-ratio: 1;
		padding-top: 3px;
		text-align: center;
		z-index: 1;
	} */

	.descArea {
		margin-top: 50px;
	}

	.descBox {
		position: relative;
		/* position: absolute; */
		/* width: min(calc(260 / 1200 * 100%),260px); */
		background-color: #f4f4f4;
		padding: 25px;
		box-sizing: border-box;
		z-index: 1;
	}
	.descBox + .descBox {
		margin-top: 40px;
	}
	/* .descBox._left {
		left: 100%;
		border-right: 2px solid #003264;
	}
	.descBox._right {
		right: 100%;
		border-left: 2px solid #003264;
	}
	.descBox::before {
		content: '';
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
		background-color: #285b9e;
		height: 1px;
		z-index: -1;
	}
	.descBox._left::before {
		left: 100%;
	}
	.descBox._right::before {
		right: 100%;
	} */
	.descBox__num {
		display: flex;
		align-items: center;
		justify-content: center;
		position: absolute;
		width: 30px;
		aspect-ratio: 1;
		top: -12px;
		left: 12px;
		background: linear-gradient(135deg, rgba(40, 91, 158, 1) 0%, rgba(23, 73, 133, 1) 33.76%, rgba(6, 56, 109, 1) 74.77%, rgba(0, 50, 100, 1) 100%);
		color: #fff;
		font-size: 24px;
		line-height: 1;
		padding-top: 3px;
		text-align: center;
		z-index: 1;
	}
	.descBox__txt {
		color: #333;
		font-size: 14px;
		line-height: 2.1;
		/* padding-inline: calc(25 / 260 * 100%); */
		box-sizing: border-box;
		text-align: justify;
	}
	.descBox__txt .em {
		background-color: #fcfc22;
		font-style: normal;
	}

	.planTabList {
		gap: 10px;
		margin-top: 30px;
	}
	.planTabList > .tab {
		width: 125px;
		font-size: 13px;
	}

	.sample {
		margin-top: 15px;
	}
	.sampleListWrap {
		display: block;
	}
	.sample__list01 {
		flex-wrap: wrap;
	}
	.sample__list01 > li {
		font-size: 10px;
	}
	.sample__list01 > li::before {
		width: 20px;
		height: 8px;
		margin-right: 6px;
	}
	.sample__list01 > li.water::before {
		background: #d8e3ef;
	}
	.sample__list01 > li.storage::before {
		background: #d5ceb5;
	}
	.sample__list01 > li.floor::before {
		background: #f9e4ee;
	}
	.sample__list01 > li.wind::before {
		width: 25px;
	}
	.sample__list01 > li.light::before {
		width: 25px;
	}

	.sample__list02 {
		flex-wrap: wrap;
	}
	.sample__list02 > li {
		font-size: 10px;
	}

	.plan-detail .backBtnWrap {
		max-width: 290px;
		margin-top: 30px;
	}
	.plan-detail .backBtn.has-arrow {
		font-size: 16px;
	}
}

/* superior
-----------------------------------------------------------------*/

#superior.spcont{
	background: #010e19;
	color: #fff;
}

#superior.spcont .mv{
	background: #010e19;
}

#superior.spcont .mv > div{
	background: url(../img/plan/bg_pc.jpg) no-repeat center bottom #010e19;
	padding: 200px 0 60px;
}

#superior.spcont .mv h2{
	font-size: 30px;
	text-align: center;
	line-height: 1.6;
	font-weight: 300;
	letter-spacing: .08em;
}
#superior.spcont .mv figure figcaption{
	text-align: right;
}

@media screen and (max-width: 1200px) {
	#superior.spcont .mv > div{
		padding: 160px 0 60px;
	}
}

#superior.spcont figure figcaption{
	padding: 10px;
    font-size: 1.3rem;
    line-height: 1.2;
    letter-spacing: .08em;
}

#superior.spcont .specification{
	padding: 110px 0;
}

#superior.spcont .specification h2{
	font-size: 38px;
	font-weight: 300;
	margin-bottom: 25px;
	letter-spacing: .08em;
	color: #d3a358;
	text-align: center;
}
#superior.spcont .specification h2 span{
	display: block;
	font-size: 16px;
	font-weight: 300;
}
#superior.spcont .specification .subtit{
	margin: 0 auto 96px;
	padding: 5px 10px 2px;
	letter-spacing: .14em;
    text-align: center;
	color: #d3a358;
	border-top: 1px solid #d3a358;
	border-bottom: 1px solid #d3a358;
}

#superior.spcont .specification .intro.inner{
	display: flex;
	align-items: flex-start;
	gap: 5vw;
	max-width: 100%;
    margin: 0;
    padding: 0;
}

#superior.spcont .specification .intro .gaikan{
	position: relative;
	width: 60%;
	max-width: 1000px;

}
#superior.spcont .specification .intro .gaikan figure{
	padding: 0 4vw 0 0;
	margin-top: 1vw;
}

#superior.spcont .specification .intro .gaikan h3{
	position: absolute;
	right: 0;
	top: 0;
	z-index: 10;
	font-size: 26px;
	font-weight: 300;
	letter-spacing: .18em;
	line-height: 2;
	-webkit-writing-mode: vertical-rl;
	-moz-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	-ms-writing-mode: vertical-rl;
	writing-mode: vertical-rl;
	font-family: "Hiragino Mincho ProN", "Noto Serif JP", "Yu Mincho", YuMincho, serif;
}

#superior.spcont .specification .intro .gaikan p{
	line-height: 2.4;
	letter-spacing: .08em;
	padding-left: 18vw;
	margin-top: 50px;
	text-align: justify;
}

#superior.spcont .specification .intro .floor{
	position: relative;
	width: 26%;
	min-width: 358px;
	background: #fff;
	border: 5px solid #b99758;
	color: #333;
	padding: 20px 30px 10px;
}
#superior.spcont .specification .intro .floor figure{
	padding: 10px 10% 20px;
}

#superior.spcont .specification .intro .floor .wappen{
	position: absolute;
	right: -1px;
	top: -1px;
	padding: 3px 14px;
	background: #b99758;
	color: #fff;
	display: inline-block;
	z-index: 10;
}

#superior.spcont .specification .intro .floor h3{
	margin-bottom: 10px;
	text-align: center;
	line-height: 1;
}
#superior.spcont .specification .intro .floor h3 .txt-type{
	display: block;
	margin-bottom: 10px;
	color: #d3a358;
}
#superior.spcont .specification .intro .floor h3 .txt-type strong{
	margin-right: 5px;
	font-size: 5rem;
	font-weight: 600;
}
#superior.spcont .specification .intro .floor h3 .txt-type small{
	font-size: 2rem;
	letter-spacing: .05em;
}
#superior.spcont .specification .intro .floor h3 .txt-layout{
	font-size: 3.6rem;
	font-weight: normal;
	letter-spacing: .05em;
}
#superior.spcont .specification .intro .floor h3 .txt-layout small{
	font-size: 90%;
}
#superior.spcont .specification .intro .floor .area{
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 20px;
	padding: 5px 15px;
	background: #718bc7;
	color: #fff;
	line-height: 1.2;
}
#superior.spcont .specification .intro .floor .area .spec-ttl{
	font-size: 1.4rem;
}
#superior.spcont .specification .intro .floor .area .value{
	font-size: 1.8rem;
}
#superior.spcont .specification .intro .floor .area .value strong{
	font-size: 2.6rem;
	font-weight: normal;
}


@media screen and (max-width: 1500px) {
	#superior.spcont .specification .intro .gaikan figure{
		margin-top: 2vw;
		padding: 0 5vw 0 0;
	}
	#superior.spcont .specification .intro .gaikan h3{
		font-size: 24px;
	}
	#superior.spcont .specification .intro .floor figure{
		padding: 10px 6% 20px;
	}
}

@media screen and (max-width: 1200px) {
	#superior.spcont .specification .intro.inner{
		max-width: 1120px;
		padding-right: 20px;
	}
	#superior.spcont .specification .intro .gaikan figure{
		margin-top: 8vw;
	}
	#superior.spcont .specification .intro .gaikan h3{
		font-size: 22px;
	}
	#superior.spcont .specification .intro .gaikan p{
		padding-left: 5vw;
	}
}

#superior.spcont .specification .equipment{
	margin: 160px 0 0;
}
#superior.spcont .specification .equipment .lead{
	display: flex;
	align-items: flex-start;
	gap: 5vw;
	max-width: 100%;
    margin: 0;
    padding: 0;
}

#superior.spcont .specification .equipment .lead h3{
	font-size: 26px;
	padding-left: 17.2vw;
	font-weight: 300;
	letter-spacing: .18em;
	line-height: 2;
	-webkit-writing-mode: vertical-rl;
	-moz-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	-ms-writing-mode: vertical-rl;
	writing-mode: vertical-rl;
	font-family: "Hiragino Mincho ProN", "Noto Serif JP", "Yu Mincho", YuMincho, serif;
}

@media screen and (max-width: 1200px) {
	#superior.spcont .specification .equipment{
		margin: 120px 0 0;
	}
	#superior.spcont .specification .equipment .lead h3{
		font-size: 24px;
		padding-left: 4.2vw;
	}
}

#superior.spcont .specification .equipment .box ul{
	display: flex;
	align-items: stretch;
	flex-wrap: wrap;
    align-content: flex-start;
	justify-content: space-between;
}
#superior.spcont .specification .equipment .box{
	margin-top: 90px;
}
@media screen and (max-width: 1200px) {
	#superior.spcont .specification .equipment .box{
		margin-top: 60px;
	}
}

#superior.spcont .specification .equipment .box ul li{
	width: 50%;
	padding-bottom: 6%;
	display: flex;
	flex-direction: column;
}
#superior.spcont .specification .equipment .box ul >  li >  div{
	padding: 0 10% 0 0;
	flex-grow: 1;
}

#superior.spcont .specification .equipment .box ul li:nth-child(2) figure{
	position: relative;
}
#superior.spcont .specification .equipment .box ul li:nth-child(2) figcaption{
	position: absolute;
	right: 0;
	bottom: 0;
	color: #000;
}
#superior.spcont .specification .equipment .box ul li:nth-child(2n) >  div{
	border-left: 1px solid #4e575e;
	padding: 0 0 0 10%;
}
#superior.spcont .specification .equipment .box ul li:nth-child(n+3){
	padding-top: 6%;
	border-top: 1px solid #4e575e;
}
#superior.spcont .specification .equipment .box ul li div .name{
	font-size: 22px;
	line-height: 1.6;
}
#superior.spcont .specification .equipment .box ul li div p{
	margin-bottom: 16px;
}
#superior.spcont .specification .equipment .box ul li div ul li{
	width: 46%;
	text-align: justify;
	padding-bottom: 0;
}
#superior.spcont .specification .equipment .box ul li:nth-child(3) figcaption{
	text-align: right;
}
#superior.spcont .specification .equipment .box ul li:nth-child(4) figcaption{
	position: static;
	margin-top: -5rem;
	color: #fff;
}

@media screen and (max-width: 1200px) {
	#superior.spcont .specification .equipment .box ul li div ul{
		display: block;
	}
	#superior.spcont .specification .equipment .box ul li div ul li{
		width: 100%;
		margin-bottom: 6%;
	}
	#superior.spcont .specification .equipment .box ul li div .name{
		font-size: 20px;

	}
}




/*--------------------------------------------------------------------------
   mobile
---------------------------------------------------------------------------*/
@media screen and (max-width: 768px) {

/* anchor
-----------------------------------------------------------------*/

	.anchor{
		padding: 80px 0 40px;
	}

	.anchor div > figure{
		max-width: 600px;
		margin: 0 auto;
	}
	.anchor div > figure a{
		transition: .5s;
	}

	.anchor div > figure a:hover {
		opacity: .7;
	}

	.anchor div > figure a .p-caption {
		bottom: 33%;
	}

/* superior
-----------------------------------------------------------------*/

	#superior.spcont .mv > div{
		background: url(../img/plan/bg_sp.jpg) no-repeat center bottom #010e19;
		background-size: cover;
		padding: 110px 0 40px;
	}

	#superior.spcont .mv h2{
		font-size: 2.4rem;
	}

	#superior.spcont .mv figure img{
		width: 100%;
		height: 60vw;
		object-fit: cover;
		object-position: 100% 100%;
	}

	#superior.spcont figure figcaption{
		font-size: 1.1rem;
	}


	#superior.spcont .specification{
		padding: 80px 0;
	}

	#superior.spcont .specification h2{
		font-size: 3rem;
		margin-bottom: 15px;
		line-height: 1.5;
	}
	#superior.spcont .specification h2 span{
		font-size: 1.3rem;
	}
	#superior.spcont .specification .subtit{
		margin: 0 auto 30px;
	}

	#superior.spcont .specification .intro.inner{
		flex-direction: column;
		gap: 10vw;
		max-width: 100%;
		padding: 0 20px 0 0;
	}

	#superior.spcont .specification .intro .gaikan{
		width: 100%;
	}
	#superior.spcont .specification .intro .gaikan figure{
		padding: 8vw 0 0;
	}
	#superior.spcont .specification .intro .gaikan h3{
		left: 20px;
		right: auto;
		font-size: 5vw;
		line-height: 1.6;
		writing-mode: horizontal-tb;
		-webkit-writing-mode: horizontal-tb;
	}

	#superior.spcont .specification .intro .gaikan p{
		line-height: 2;
		padding: 0 0 0 20px;
		margin-top: 35px;
	}

	#superior.spcont .specification .intro .floor{
		position: relative;
		width: calc(100% - 20px);
		min-width: 200px;
		margin-left: 20px;
		padding: 40px 30px 10px;
	}
	#superior.spcont .specification .intro .floor figure{
		padding: 10px 5% 20px;
	}


	#superior.spcont .specification .equipment{
		margin: 90px 0 0;
	}
	#superior.spcont .specification .equipment .lead{
		display: flex;
		align-items: flex-start;
		justify-content: space-between;
		gap: 6vw;
		max-width: 100%;
		margin: 0;
		padding: 0;
	}

	#superior.spcont .specification .equipment .lead h3{
		font-size: 2rem;
		padding-left: 20px;
		line-height: 1.4;
	}
	#superior.spcont .specification .equipment .lead figure{
		padding-top: 2rem;
	}

	#superior.spcont .specification .equipment .box{
		margin-top: 70px;
	}
	#superior.spcont .specification .equipment .box > ul{
		flex-direction: column;
	}
	#superior.spcont .specification .equipment .box ul li{
		width: 100%;
		padding-bottom: 0;
	}
	#superior.spcont .specification .equipment .box ul li div{
		padding-right: 0;
		flex-grow: 1;
	}
	#superior.spcont .specification .equipment .box > ul li:not(:first-child) div{
		padding: 8% 0 0;
		border-top: 1px solid #4e575e;
	}
	#superior.spcont .specification .equipment .box > ul li:nth-child(2n) div{
		padding-top: 8%;
		border-left: none;
	}
	#superior.spcont .specification .equipment .box > ul > li:not(:first-child){
		padding-top: 8%;
	}
	#superior.spcont .specification .equipment .box > ul li:nth-child(n+3){
		padding-top: 8%;
		border-top: none;
	}
	#superior.spcont .specification .equipment .box ul li div p.name{
		font-size: 18px;
	}
	#superior.spcont .specification .equipment .box > ul > li:nth-child(2) > div p.name{
		margin-bottom: 8px;
	}
	#superior.spcont .specification .equipment .box ul li div p{
		font-size: 15px;
		margin-bottom: 14px;
	}
	#superior.spcont .specification .equipment .box ul li:nth-child(2) div ul,
	#superior.spcont .specification .equipment .box ul li:nth-child(4) div ul{
		display: flex;
		flex-direction: row;
	}
	#superior.spcont .specification .equipment .box ul li div ul li{
		width: 46%;
		margin-bottom: 0;
	}
	#superior.spcont .specification .equipment .box > ul > li:nth-child(1) > div{
		display: grid;
		grid-template-columns: 1fr 1fr;
		grid-gap: 4%;
	}
	#superior.spcont .specification .equipment .box > ul > li:nth-child(1) > div .name{
		grid-column: 1 / 2;
		grid-row: 1 / 1;
		grid-column-end: span 2;
		margin-bottom: 0;
	}
	#superior.spcont .specification .equipment .box > ul > li:nth-child(1) > div .txt{
		grid-column: 2 / 2;
		grid-row: 2 / 2;
	}
	#superior.spcont .specification .equipment .box > ul > li:nth-child(1) > div figure{
		grid-column: 1 / 1;
		grid-row: 2 / 2;
		padding-top: 1rem;
	}

	#superior.spcont .specification .equipment .box > ul > li:nth-child(1) figure img{
		width: 90%;
		height: 30vw;
		object-fit: cover;
		object-position: 40% 100%;
	}
	#superior.spcont .specification .equipment .box ul li:nth-child(2) figure{
		margin-bottom: 2%;
	}

	#superior.spcont .specification .equipment .box ul li:nth-child(2) figure img{
		width: 100%;
		height: 50vw;
		object-fit: cover;
		object-position: 0% 100%;
	}
	#superior.spcont .specification .equipment .box ul li:nth-child(3) figcaption{
		text-align: right;
	}
	#superior.spcont .specification .equipment .box ul li:nth-child(4) figcaption{
		margin-top: -3.5rem;
	}




}