:root {
	--color-grn: #007B89;
	--color-grn2: rgba(0, 123, 137, 0.07);
	--color-brw: #987B53;
	--color-grey: #A7A7A7;
	--color-wh: #fff;
	--font-jp: "游明朝", "Yu Mincho", YuMincho, "游明朝体", 'ヒラギノ明朝 Pro W3', 'Hiragino Mincho Pro', 'HGS明朝E', 'ＭＳ Ｐ明朝', serif
}
.bg-black {
	background: url(../images/top/bg01.webp) repeat-y center;
	background-size: 100% auto;
	color: #fff
}
.bg-black .content-title {
	color: #d6be97
}
.bg-beige {
	background: url(../images/top/bg02.webp) repeat-y center;
	background-size: 100% auto
}
.bg-beige .content-title {
	color: #4a3628
}
.lead {
	font-size: clamp(20px, 19.4px + .1875vw, 23px);
	letter-spacing: .1em
}
.note {
	font-size: clamp(14px, 13.6px + .125vw, 16px)
}
.content-title {
	border-bottom: 1px solid;
	font-size: clamp(30px, 28.8px + .375vw, 36px);
	letter-spacing: .1em;
	padding: 120px 0 5px;
	text-align: center
}
@media screen and (max-width: 767px) {
	.content-title {
		padding: 50px 0 5px
	}
}
.main-content .gold-btn {
	margin: 40px auto
}
.main-content .gold-btn a {
	font-size: clamp(14px, 12px + .625vw, 24px)
}
.main-content .gold-btn a::after {
	display: inline-block;
	vertical-align: middle;
	color: #fff;
	line-height: 1;
	width: 0;
	height: 0;
	border-style: solid;
	border-color: rgba(0, 0, 0, 0);
	border-width: .375em .64952em;
	border-left-color: currentColor;
	border-right: 0;
	content: "";
	position: absolute;
	right: 15px;
	top: 35%
}
.gold-btn {
	margin: 0 auto;
	max-width: 300px
}
.gold-btn a {
	background: #dcba8f;
	background: -webkit-gradient(linear, left top, right top, from(rgb(220, 186, 143)), to(rgb(174, 143, 102)));
	background: linear-gradient(90deg, rgb(220, 186, 143) 0%, rgb(174, 143, 102) 100%);
	color: #fff;
	display: block;
	padding: 15px;
	position: relative;
	text-align: center;
	-webkit-transition: all .5s ease-in-out;
	transition: all .5s ease-in-out
}
.gold-btn a:hover {
	opacity: .7
}
.mv {
	position: relative;
	width: 100%;
	aspect-ratio: 1920/1080;
	overflow: hidden
}
@media screen and (max-width: 767px) {
	.mv {
		aspect-ratio: 1
	}
}
.mv {
	background: url(../images/top/mv-bg01.webp) center center/cover no-repeat
}
.mv .caption {
	bottom: 0;
	position: absolute;
	left: 5px
}
.mv .caption.tezt-right {
	right: 5px
}
.mv-slide {
	position: absolute;
	inset: 0;
	opacity: 0
}
.mv-slide img {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover
}
.is-scene2 .mv-slide.mv-slide-01 {
	opacity: 1;
	-webkit-transition: all 8s linear;
	transition: all 8s linear
}
.mv-slide.mv-slide-02 img {
	-webkit-transition: all 2s ease;
	transition: all 2s ease;
	-webkit-transform: scale(1.05);
	transform: scale(1.05)
}
.is-scene3 .mv-slide.mv-slide-02 {
	opacity: 1;
	-webkit-transition: all 2s linear;
	transition: all 2s linear
}
.is-scene3 .mv-slide.mv-slide-02 img {
	-webkit-transform: scale(1);
	transform: scale(1)
}
.mv-object {
	position: absolute;
	z-index: 10;
	opacity: 0
}
.mv-object img {
	width: 100%
}
.mv-object.mv-obj-01 {
	inset: 0;
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	max-width: 60%;
	height: -webkit-fit-content;
	height: -moz-fit-content;
	height: fit-content;
	margin: auto;
	scale: 1.1
}
.is-scene1 .mv-object.mv-obj-01 {
	opacity: 1;
	-webkit-transition: all 1.5s ease;
	transition: all 1.5s ease;
	scale: 1
}
.is-scene2 .mv-object.mv-obj-01 {
	opacity: 0;
	-webkit-transition: all 8s linear;
	transition: all 8s linear
}
.mv-object.mv-obj-02 {
	bottom: 40px;
	left: 40px;
	-webkit-transform: translateY(25%);
	transform: translateY(25%);
	-webkit-filter: drop-shadow(0px 0px 1rem rgb(0, 0, 0)) drop-shadow(0px 0px 0.5rem rgb(0, 0, 0));
	filter: drop-shadow(0px 0px 1rem rgb(0, 0, 0)) drop-shadow(0px 0px 0.5rem rgb(0, 0, 0))
}
@media screen and (max-width: 767px) {
	.mv-object.mv-obj-02 {
		bottom: 20px;
		left: 20px;
		max-width: 90%;
		display: none
	}
}
.is-scene2-1 .mv-object.mv-obj-02 {
	opacity: 1;
	-webkit-transition: all 1.5s ease;
	transition: all 1.5s ease;
	-webkit-transform: translateY(0%);
	transform: translateY(0%)
}
.is-scene2-2 .mv-object.mv-obj-02 {
	opacity: 0
}
@media screen and (max-width: 767px) {
	.mv-object.mv-obj-02 {
		bottom: 30px
	}
}
.mv-object.mv-obj-03 {
	bottom: 40px;
	right: 40px;
	-webkit-transform: translateY(25%);
	transform: translateY(25%);
	-webkit-filter: drop-shadow(0px 0px 1rem rgb(0, 0, 0)) drop-shadow(0px 0px 0.5rem rgb(0, 0, 0));
	filter: drop-shadow(0px 0px 1rem rgb(0, 0, 0)) drop-shadow(0px 0px 0.5rem rgb(0, 0, 0));
	max-width: 90%;
  z-index: 1;
}
@media screen and (max-width: 767px) {
	.mv-object.mv-obj-03 {
		opacity: 0
	}
}
.is-scene3-1 .mv-object.mv-obj-03 {
	opacity: 1;
	-webkit-transition: all 1.5s ease;
	transition: all 1.5s ease;
	-webkit-transform: translateY(0%);
	transform: translateY(0%)
}
@media screen and (max-width: 767px) {
	.is-scene3-1 .mv-object.mv-obj-03 {
		opacity: 0
	}
}
#intro.general-section .inner {
	padding: 30px 0
}
.intro-wrap .merit {
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	margin: 0 auto
}
@media screen and (max-width: 767px) {
	.intro-wrap .merit {
		display: block
	}
}
.intro-wrap .merit img {
	width: 1000px;
	max-width: 100%
}
.info-title {
	border-bottom: 1px solid rgba(166, 136, 102, .5);
	color: #7c6850;
	font-size: clamp(14px, 12px + .625vw, 24px);
	letter-spacing: .15em;
	margin: 0 auto 50px;
	padding-bottom: 5px;
	max-width: 300px
}
@media screen and (max-width: 767px) {
	.info-title {
		margin-bottom: 30px
	}
}
.info-text {
	font-size: clamp(24px, 23.2px + .25vw, 28px);
	letter-spacing: .1em;
	line-height: 1.5
}
.info-text .fz_s {
	font-size: 50%
}
.info-text .fz_l {
	font-size: 120%
}
.info-list {
	font-size: clamp(14px, 13.6px + .125vw, 16px);
	text-align: center
}
.info-list li {
	margin-bottom: 15px
}
.info-list li p {
	border-bottom: 1px solid rgba(166, 136, 102, .7);
	display: inline-block;
	padding-bottom: 5px
}
@media screen and (max-width: 767px) {
	.inte-title {
		margin: 0 auto 20px;
		width: 80%
	}
}
.intelli-wrap .lead {
	margin: 0 auto 50px
}
.intelli-wrap .note {
	line-height: 2
}
.position-bg {
	background: url(../images/top/position01.webp) no-repeat bottom right;
	background-size: cover;
	position: relative
}
@media screen and (max-width: 767px) {
	.position-bg {
		background-position: bottom right;
		background-size: 160% auto
	}
}
.position-bg .inner {
	padding-bottom: 250px
}
@media screen and (max-width: 767px) {
	.position-bg .inner {
		padding-bottom: 210px
	}
}
.position-bg .caption {
	bottom: 0;
	position: absolute;
	right: 5px
}
.location-detail {
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between
}
@media screen and (max-width: 960px) {
	.location-detail {
		-ms-flex-wrap: wrap;
		flex-wrap: wrap
	}
}
.location-detail-text {
	width: 43.75%
}
@media screen and (max-width: 960px) {
	.location-detail-text {
		width: 100%
	}
}
.location-detail-text .note {
	line-height: 2
}
.location-detail-img {
	width: 47.6973684211%
}
@media screen and (max-width: 960px) {
	.location-detail-img {
		width: 100%
	}
}
.location-detail .mb20 {
	margin-bottom: 20px
}
.location-detail01 .location-detail-img {
	margin-top: 180px
}
@media screen and (max-width: 1920px) {
	.location-detail01 .location-detail-img {
		margin-top: 10vh
	}
}
@media screen and (max-width: 960px) {
	.location-detail01 .location-detail-img {
		margin-top: 30px
	}
}
.location-detail02 {
	-webkit-box-align: end;
	-ms-flex-align: end;
	align-items: flex-end;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: reverse;
	-ms-flex-direction: row-reverse;
	flex-direction: row-reverse;
	margin-top: 2vh
}
@media screen and (max-width: 960px) {
	.location-detail02 {
		margin-top: 30px;
		flex-direction: column-reverse;
		gap: 24px;
	}
}
.location-detail02 .location-detail-text {
	width: 47.6973684211%
}
@media screen and (max-width: 960px) {
	.location-detail02 .location-detail-text {
		margin-bottom: 30px;
		width: 100%
	}
}
.location-detail02 .location-detail-img {
	margin-left: -13.1578947368%;
	width: 53.7790697674%
}
@media screen and (max-width: 1920px) {
	.location-detail02 .location-detail-img {
		margin-left: 0;
		width: 48.1770833333%
	}
}
@media screen and (max-width: 960px) {
	.location-detail02 .location-detail-img {
		margin-left: auto;
		width: 100%
	}
}
.location-detail-dl:first-child {
	margin-bottom: 10vh
}
@media screen and (max-width: 1920px) {
	.location-detail-dl:first-child {
		margin-bottom: 12vh
	}
}
@media screen and (min-width: 961px) {
	.location-detail-dl.sp-none{
		display: block;
	}
	.location-detail-dl.pc-none{
		display: none;
	}
}
@media screen and (max-width: 960px) {
	.location-detail-dl:first-child {
		margin-bottom: 0
	}
	.location-detail-dl.pc-none{
		margin-top: 32px;
		display: block;
	}
	.location-detail-dl.sp-none{
		display: none;
	}
}
.location-detail-dl dt {
	font-size: clamp(18px, 17.6px + .125vw, 20px);
	margin-bottom: 30px
}
.location-detail-dl dt .fz_s {
	font-size: 58%
}
.location-detail-dl dd {
	font-size: 14px;
	line-height: 1.5
}
.location-content {
	margin-bottom: 70px;
	position: relative
}
@media screen and (max-width: 960px) {
	.location-content {
		margin-bottom: 0
	}
}
.location-content .vertical-text {
	position: absolute;
	right: 0;
	top: 0;
	width: 18.2894736842%;
	max-width: 278px
}
.location-content:nth-child(even) .vertical-text {
	left: 0;
	right: auto
}
@media screen and (max-width: 960px) {
	.location-content:nth-child(even) .vertical-text {
		left: auto;
		right: 0
	}
}
.location-content:nth-child(even) .location-detail {
	-webkit-box-orient: horizontal;
	-webkit-box-direction: reverse;
	-ms-flex-direction: row-reverse;
	flex-direction: row-reverse
}
.location-content:nth-child(even) .location-detail02 {
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	-ms-flex-direction: row;
	flex-direction: row
}
.location-content:nth-child(even) .location-detail02 .location-detail-img {
	margin-right: -13.1578947368%;
	margin-left: auto
}
@media screen and (max-width: 1920px) {
	.location-content:nth-child(even) .location-detail02 .location-detail-img {
		margin-right: 0
	}
}
@media screen and (max-width: 960px) {
	.location-content:nth-child(even) .location-detail02 .location-detail-img {
		margin-right: auto;
		width: 100%
	}
}
.design-detail {
	-webkit-box-align: end;
	-ms-flex-align: end;
	align-items: flex-end
}
.design-detail-img {
	width: 56%
}
@media screen and (max-width: 960px) {
	.design-detail-img {
		margin: 0 auto;
		width: 80%
	}
}
.design-detail-text {
	width: 43.8857142857%
}
@media screen and (max-width: 960px) {
	.design-detail-text {
		width: 100%
	}
}
.design-detail-text li {
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	margin-top: 50px
}
.design-detail-text li .design-detail-text-img {
	width: 32.03125%
}
.design-detail-text li dl {
	width: 63.28125%
}
.design-detail-text li dl dt {
	border-bottom: 1px solid;
	font-size: clamp(16px, 14.4px + .5vw, 24px);
	margin-bottom: 20px;
	padding-bottom: 10px
}
@media screen and (max-width: 960px) {
	.design-detail-text li dl dt {
		padding-left: 24px;
		position: relative
	}
	.design-detail-text li dl dt::before {
		position: absolute;
		top: -2px;
		left: 0;
		content: "";
		width: 20px;
		height: 20px
	}
}
.design-detail-text li dl dd {
	font-size: clamp(10px, 8px + .625vw, 20px);
	line-height: 1.5
}
@media screen and (max-width: 960px) {
	.design-detail-text li:nth-child(1) dt::before {
		background: url(../images/design/intro-number01.svg) no-repeat center/contain
	}
	.design-detail-text li:nth-child(2) dt::before {
		background: url(../images/design/intro-number02.svg) no-repeat center/contain
	}
	.design-detail-text li:nth-child(3) dt::before {
		background: url(../images/design/intro-number03.svg) no-repeat center/contain
	}
	.design-detail-text li:nth-child(4) dt::before {
		background: url(../images/design/intro-number04.svg) no-repeat center/contain
	}
}
.planning-content {
	-webkit-box-align: end;
	-ms-flex-align: end;
	align-items: flex-end;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	margin-bottom: 80px
}
@media screen and (max-width: 767px) {
	.planning-content {
		margin-bottom: 50px
	}
}
.planning-content-text {
	padding-bottom: 40px;
	width: 34.4736842105%
}
@media screen and (max-width: 767px) {
	.planning-content-text {
		padding-bottom: 20px;
		width: 100%
	}
}
.planning-content-text .lead .fz_s {
	font-size: 50%
}
.planning-content-img {
	width: 59.2105263158%
}
@media screen and (max-width: 767px) {
	.planning-content-img {
		width: 100%
	}
}
.planning-corridor {
	display: grid;
	grid-template-rows: 1fr;
	gap: 0 45px;
	margin-top: 50px
}
@media screen and (max-width: 767px) {
	.planning-corridor {
		display: block
	}
}
.planning-corridor-text, .planning-corridor-img {
	grid-row: 1/2;
	width: 100%
}
.planning-corridor .lead {
	margin-top: 0
}
.plan-wrap .inner {
	max-width: 1086px
}
.plan-wrap .inner .bnr {
	margin-top: 60px
}
.plan-content {
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	position: relative
}
.plan-content .hanrei {
	bottom: 0;
	font-size: 10px;
	margin-top: 50px;
	left: 0;
	position: absolute
}
@media screen and (max-width: 960px) {
	.plan-content .hanrei {
		margin-top: 0;
		position: relative
	}
}
.plan-content .hanrei p {
	margin-bottom: 5px
}
.plan-detail {
	width: 27.6243093923%
}
@media screen and (max-width: 960px) {
	.plan-detail {
		width: 100%
	}
	.plan-detail-wrapper {
		display: grid;
		grid-template-columns: 1fr 2fr;
		gap: 0 20px
	}
}
.plan-detail-type {
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	background: url(../images/top/bg01.webp) no-repeat center;
	color: #d3be88;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	font-size: clamp(10px, 8.4px + .5vw, 18px);
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	height: 150px;
	margin-bottom: 20px;
	width: 150px
}
.plan-detail-type .fz_l {
	font-size: 260%
}
@media screen and (max-width: 960px) {
	.plan-detail-type {
		grid-row-start: 1;
		grid-row-end: 4
	}
}
.plan-detail-ldk {
	border-bottom: 1px solid;
	font-size: clamp(12px, 10px + .625vw, 22px);
	letter-spacing: .1em;
	margin-bottom: 10px;
	padding-bottom: 5px
}
.plan-detail-ldk .fz_l {
	font-size: 150%
}
.plan-detail-ldk .fz_ll {
	font-size: 200%
}
.plan-detail-area {
	font-size: clamp(20px, 16px + 1.25vw, 40px);
	line-height: .8
}
.plan-detail-area .area-sub {
	font-size: clamp(10px, 9.2px + .25vw, 14px)
}
.plan-detail-area .fz_m {
	font-size: 65%
}
.plan-detail-area .fz_s {
	font-size: 52%
}
.plan-detail-merit {
	margin: 80px auto 30px
}
@media screen and (max-width: 767px) {
	.plan-detail-merit {
		margin: 30px auto
	}
}
.plan-detail-merit li {
	background: url(../images/top/bg01.webp) no-repeat center;
	color: #fff;
	font-size: clamp(10px, 8.4px + .5vw, 18px);
	margin-bottom: 5px;
	padding: 10px;
	text-align: center
}
.plan-img {
	width: 47.6973684211%
}
@media screen and (max-width: 960px) {
	.plan-img {
		width: 100%
	}
}
.developer-wrap .inner {
	position: relative;
	max-width: 1560px
}
.developer-wrap figure {
	width: 85.641025641%
}
@media screen and (max-width: 960px) {
	.developer-wrap figure {
		width: 100%
	}
}
.developer-wrap .result-list {
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between
}
.developer-wrap .result-list li {
	width: 31.9230769231%
}
.developer-wrap .result-list li figure {
	width: 100%
}
.developer-list {
	font-size: clamp(14px, 11.2px + .875vw, 28px);
	letter-spacing: -0.1em;
	line-height: 1.3;
	position: absolute;
	right: -6.5789473684%;
	top: 180px
}
@media screen and (max-width: 1920px) {
	.developer-list {
		font-size: clamp(14px, 12.8px + .375vw, 20px);
		right: 0;
		top: 13vw
	}
}
@media screen and (max-width: 960px) {
	.developer-list {
		left: 10px;
		margin: 30px auto;
		position: relative;
		right: 10px;
		top: 0
	}
}
.developer-list li {
	list-style: disc
}
.map-img {
	margin: 0 auto 130px;
	max-width: 1200px
}
@media screen and (max-width: 767px) {
	.map-img {
		margin-bottom: 50px
	}
}
body.home .new-header .logo {
	-webkit-transition: height .4s ease-out, -webkit-transform .4s ease-out, -webkit-filter .4s ease-out;
	transition: height .4s ease-out, -webkit-transform .4s ease-out, -webkit-filter .4s ease-out;
	transition: height .4s ease-out, transform .4s ease-out, filter .4s ease-out;
	transition: height .4s ease-out, transform .4s ease-out, filter .4s ease-out, -webkit-transform .4s ease-out, -webkit-filter .4s ease-out
}
body.home:not(.is-down):not(.has-nav):not(.is-menu-open) .new-header .logo {
	-webkit-transform: translateY(124px);
	transform: translateY(124px);
	-webkit-filter: invert(1);
	filter: invert(1)
}
@media screen and (max-width: 900px) {
	body.home .new-header .logo {
		-webkit-transition: opacity .3s ease-out, -webkit-transform .3s ease-out, -webkit-filter .3s ease-out;
		transition: opacity .3s ease-out, -webkit-transform .3s ease-out, -webkit-filter .3s ease-out;
		transition: opacity .3s ease-out, transform .3s ease-out, filter .3s ease-out;
		transition: opacity .3s ease-out, transform .3s ease-out, filter .3s ease-out, -webkit-transform .3s ease-out, -webkit-filter .3s ease-out
	}
}
.lifeinfo-list {
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	margin: 0 auto;
	max-width: 1185px
}
.lifeinfo-list.col3 li {
	width: 32.9113924051%
}
@media screen and (max-width: 767px) {
	.lifeinfo-list.col3 li {
		width: 100%
	}
}
.lifeinfo-list.col2 li {
	width: 32.9113924051%
}
.lifeinfo-list.col2 li:nth-child(even) {
	width: 48.9451476793%
}
@media screen and (max-width: 767px) {
	.lifeinfo-list.col2 li:nth-child(even) {
		width: 100%
	}
}
@media screen and (max-width: 767px) {
	.lifeinfo-list.col2 li {
		width: 100%
	}
}
.lifeinfo-list li {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	margin-bottom: 30px
}
@media screen and (max-width: 767px) {
	.lifeinfo-list li {
		margin-bottom: 20px
	}
}
.lifeinfo-list li .num {
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	background: #a68866;
	color: #fff;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	font-size: clamp(18px, 17.6px + .125vw, 20px);
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	height: 35px;
	margin-right: 20px;
	width: 35px
}
@media screen and (max-width: 767px) {
	.lifeinfo-list li .num {
		height: 25px;
		width: 25px
	}
}
.lifeinfo-list li .place {
	font-size: clamp(20px, 19.2px + .25vw, 24px)
}
.lifeinfo-list li .place .ls {
	letter-spacing: -0.2em
}
.lifeinfo-list li .min {
	font-size: clamp(12px, 10.8px + .375vw, 18px)
}