@charset "utf-8";


/* // Container //
----------------------------------------------- */
#Container {
	padding-top: 0px;
}
/* // ________SP________ // */
@media screen and (max-width: 840px) {
	#Container {
		padding-top: 0px;
	}
}

/* // ContentsWrap //
----------------------------------------------- */
.grandContents #ContentsWrap {
	padding-bottom: 0px;
}
/* // ________SP________ // */
@media screen and (max-width: 840px) {
	.grandContents #ContentsWrap {
		padding-bottom: 0px;
	}
}

/* // display:none //
----------------------------------------------- */
#SPHeader,
#GnaviSP,
#SPModalMenu,
.modalBtn.A,
#Header {
	display:none;
}



/* // modal //
----------------------------------------------- */
.modalBtn.grand {
	position: fixed;
}
.modalBtn.grand.fixed {
	position: fixed;
}
.modalBtn.grand,
.modalMenuBox.A .closeBg .btn {
	top: 5px;
	border-radius: 0;
	width: 40px;
	height: 40px;
    background-color: transparent;
	color: #fff !important;
	box-shadow: 0 0 0 rgba(0, 0, 0, 0);
}
.modalBtn.grand {
	right: 5px;
}
.modalMenuBox.A .closeBg .btn.on {
	left: 5px;
}
.modalBtn.grand i {
	font-size: 180% !important;
}
.modalMenuBox.grand .closeBg .btn .in:after {
	font-size: 120% !important;
}

/* // SPModalMenu //
----------------------------------------------- */
.modalMenuBox.grand > .inner {
	background-color: rgba(0,0,0,0.6);
}
.modalMenuBox.grand .closeBg .btn {
	background-color: transparent;
}
.modalMenuBox.grand > .inner > .menuWrap {
background-color: #000;
border-left-width: 0px;
}

  

.modalMenuBox.grand .navilist {
	padding-top: 16px;
	padding-bottom: 10px;
}
.modalMenuBox.grand .navilist li {
	line-height: 1.4;
	border: 0 !important;
	position: relative;
}
.modalMenuBox.grand .navilist li a {
	padding: 11px 30px;
	color: #fff;
}
.modalMenuBox.grand .navilist li.on a {
	font-weight: 500;
}
.modalMenuBox.grand .navilist li.on a:before {
	content: " ";
	position: absolute;
	display: block;
	width: 13px;
	height: 3px;
	background-color: #000;
	left: 7px;
	top: 50%;
	transform: translateY(-50%);
}
.modalMenuBox.grand .navilist li a i {
    color: #CCC;
  }
  
/* //    |- s1 */
.modalMenuBox.grand .navilist.s1 {
	padding: 10px 30px;
}
.modalMenuBox.grand .navilist.s1 li {
	border-bottom: 1px solid #676767 !important;
}
.modalMenuBox.grand .navilist.s1 li:first-of-type {
	border-top: 1px solid #676767 !important;
}
.modalMenuBox.grand .navilist.s1 li a {
	padding: 10px 0;
	font-size: 80%;
	color: #CCC;
}


.modalMenuBox.grand .spModalCtaA > .inner {
  background-color: #333;
}


	
/* // BtmCtaB //
----------------------------------------------- */
#BtmCtaB{
	background: #444;
}
#BtmCtaB ul {
	padding: 0px;
}

#BtmCtaB ul li a {
	display: flex;
	display: -ms-flexbox;
	align-items: center;
	-ms-align-items: center;
	justify-content: center;
	-ms-justify-content: center;
	padding:  0px;
	height:35px;
	box-shadow: 0 0 0px rgb(0 0 0 / 0%);
	font-size: 13px;
}
#BtmCtaB ul li a i {
	display: none;
}
#BtmCtaB ul li.btn_tel a img {
  width:26px;
}

/* // historyHomeA //
----------------------------------------------- */
html.grandtop .historyHomeA {
	border-top:0;
}
html.grandtop .historyHomeA.boundaryA::before {
	display:none;
}

/* // .grandContents //
----------------------------------------------- */
.grandContents {
	background-color: #000;
	color:#FFF;
	position:relative;
	overflow:hidden;
}
.grandContents a{
	color:#FFF;
}
.grandContents a:hover{
	color:#DDD;
}
.grandContents,
.grandContents .ffMin {
	font-family: "Zen Old Mincho", serif;
	font-weight: 400;
	font-style: normal;
}
/* TEXT */
.grandHtx1 {
	line-height: 1;
	font-size: 22px;
	text-align:center;
	margin-bottom: 40px;
	letter-spacing: 2px;
}

/* grandBlock1 */
:root {
	--grandBlock1-text-shadow1: 0px 0px 25px rgba(0,0,0,0.8);
}

.grandBlockWrap1{
	transition:1.0s;
}
.grandBlockWrap1.hide{
	transition-delay:0.5s;
	opacity:0;
}

.grandBlock1 .contents{
	opacity:1;
	transition:0.7s;
}
.grandBlock1.hide .contents{
	opacity:0;
}

.grandBlock1 .contents .grandContentsLabel{
	font-size: 14px;
	line-height: 1;
	letter-spacing:2px;
	margin-bottom: 17px;
	text-shadow: var(--grandBlock1-text-shadow1);
	opacity:0;
	transition:0.2;
	transform: translateX(30px);
}
.grandBlock1 .contents .grandContentsHtx1{
	margin-bottom: 25px;
	font-size: 22px;
	line-height: 1.6;
	letter-spacing:2px;
	text-shadow: var(--grandBlock1-text-shadow1);
	opacity:0;
	transition:0.2;
	transform: translateX(30px);
}
.grandBlock1 .contents .grandContentsTx1{
	font-size: 14px;
	line-height: 2.3;
	letter-spacing:2px;
	text-shadow: var(--grandBlock1-text-shadow1);
	opacity:0;
	transition:0.2;
	transform: translateX(30px);
}

.grandBlock1 .contents.vertical{
	display: flex;
	display: -ms-flexbox;
	justify-content: center;
	-ms-justify-content: center;
	flex-direction: row-reverse;
	-ms-flex-direction: row-reverse;
}
.grandBlock1 .contents.vertical .grandContentsLabel{
	margin-bottom: 0;
	margin-left: 14px;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
}
.grandBlock1 .contents.vertical .grandContentsHtx1{
	margin-bottom: 0;
	margin-left: 25px;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
}
.grandBlock1 .contents.vertical .grandContentsTx1{
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
}

:root {
	--grandBlock1-duration: 1.6s;
	--grandBlock1-delay0: 0.1s;
	--grandBlock1-delay1: 0.4s;
}
.grandBlock1.view .contents .grandContentsLabel{
	opacity:1;
	transition-duration:var(--grandBlock1-duration);
	transition-delay:calc(var(--grandBlock1-delay0) + var(--grandBlock1-delay1) * 0);
	transform: translateX(0px);
}
.grandBlock1.view .contents .grandContentsHtx1{
	opacity:1;
	transition-duration:var(--grandBlock1-duration);
	transition-delay:calc(var(--grandBlock1-delay0) + var(--grandBlock1-delay1) * 1);
	transform: translateX(0px);
}
.grandBlock1.view .contents .grandContentsTx1{
	opacity: 0.85;
	transition-duration:var(--grandBlock1-duration);
	transition-delay:calc(var(--grandBlock1-delay0) + var(--grandBlock1-delay1) * 2);
	transform: translateX(0px);
}

/* ________SP________ */
@media screen and (max-width: 800px)  {
	/* TEXT */
	.grandHtx1 {
		font-size: 16px;
		margin-bottom: 25px;
		letter-spacing: 2px;
	}
	/* grandBlock1 */
	.grandBlock1{
	}
	.grandBlockWrap1{
		transition:1.0s;
	}
	.grandBlockWrap1.hide{
		transition-delay:0.5s;
	}
	.grandBlock1 .contents{
		transition:0.7s;
	}

	.grandBlock1 .contents .grandContentsLabel{
		font-size: 13px;
		margin-bottom: 16px;
		transform: translateX(30px);
	}
	.grandBlock1 .contents .grandContentsHtx1{
		margin-bottom: 15px;
		font-size: 20px;
		line-height: 1.6;
		letter-spacing:2px;
		transform: translateX(30px);
	}
	.grandBlock1 .contents .grandContentsTx1{
		font-size: 12px;
		line-height: 2.2;
		letter-spacing:0px;
		transform: translateX(30px);
	}

	.grandBlock1 .contents.vertical{
		display: block;
	}
	.grandBlock1 .contents.vertical .grandContentsLabel{
		margin-bottom: 16px;
		margin-left: 0;
		writing-mode: horizontal-tb;
	}
	.grandBlock1 .contents.vertical .grandContentsHtx1{
		margin-bottom: 15px;
		margin-left: 0;
		writing-mode: horizontal-tb;
	}
	.grandBlock1 .contents.vertical .grandContentsTx1{
		writing-mode: horizontal-tb;
	}
}

/* // BtmCtaA //
----------------------------------------------- */
html.grandtop #BtmCtaA .titleBtn {
	background-color: #000;
	padding: 20px 10px;
	font-size: 112%;
	font-family: "Zen Old Mincho", serif;
}

/* // Breadcrumb //
----------------------------------------------- */
#Breadcrumb.grand {
	position:absolute;
	top:70px;
	left:0px;
	opacity:0;
	transition-delay:0.8s;
	transition-duration:1.0s
}
html.on #Breadcrumb.grand {
	opacity:0.8;
}
#Breadcrumb.grand .widthFix {
	width:100%;
	padding: 0px 20px;
}

/* ________SP________ */
@media screen and (max-width: 800px)  {
	#Breadcrumb.grand {
		display: none;
	}
}



/* // grandHeader //
----------------------------------------------- */
.grandHeader {
	display: flex;
	display: -ms-flexbox;
	align-items: center;
	-ms-align-items: center;
	line-height:1;
	height:60px;
	padding: 15px 20px 0;
	position:fixed;
	top:0px;
	left:0px;
	width:100%;
	z-index: 200;
	transform: translateY(-110%);
	opacity:0;
	transition:1.0s;
}
html.on .grandHeader {
	opacity:1;
	transform: translateY(0%);
}
.grandHeader.hide {
	transform: translateY(-110%) !important;
}

/*  logo */
.grandHeader .logo {
	width:130px;
	margin-right: 30px;
}
.grandHeader .logo .logo1 {
	width:100%;
	height:auto;
	display: block;
}
.grandHeader .logo .logo2 {
	width:100%;
	height:auto;
	margin-top: 6px;
	display: block;
}
/*  naviWrap */
.grandHeader .naviWrap {
	flex:1
}
.grandHeader .naviWrap .navi {
	display: flex;
	display: -ms-flexbox;
	gap:12px;
	font-size: 15px;
}
.grandHeader .naviWrap .navi a{
	display: flex;
	display: -ms-flexbox;
	align-items: center;
	-ms-align-items: center;
	justify-content: center;
	-ms-justify-content: center;
	height:25px;
	padding: 10px;
}
/*  menus */
.grandHeader .menus {
	display: flex;
	display: -ms-flexbox;
	align-items: center;
	-ms-align-items: center;
	gap:8px;
}
.grandHeader .menus a{
	display: flex;
	display: -ms-flexbox;
	align-items: center;
	-ms-align-items: center;
	justify-content: center;
	-ms-justify-content: center;
	height:25px;
	padding: 10px;
}
.grandHeader .menus .tel {
	font-size: 18px;
	letter-spacing:1.5px;
}

/* ________SP________ */
@media screen and (max-width: 800px)  {
	.grandHeader {
		display:none;
	}
}



/* // grandFixContainer
----------------------------------------------- */
.grandFixContainer {
	position:fixed;
	top:0%;
	left:0%;
	transform: translate(100%,0%);
	width:100vw;
	height:100vh;
	overflow:hidden;
	transition-delay:0.5s;
}
.grandFixContainer.view {
	transition-delay:0s;
	transform: translate(0%,0%);
}
.grandFixContainer > .inner {
	width:100%;
	height:100%;
	position:relative;
	opacity:0;
	transition-duration:0.5s;
}
.grandFixContainer.view > .inner {
	opacity:1;
	transition-delay:0.2s;
	transition-duration:1.0s;
}

/* // grandMv
----------------------------------------------- */
.grandMv{
	width:100vw;
	height:200vh;
	position:relative;
}
/*  grandMvImages */
.grandMv .grandMvImages{
	width:100vw;
	height:100vh;
	position:absolute;
	top:50%;
	left:50%;
	transform: translate(-50%,-50%);
	padding: 0px;
	opacity:0;
	transition-delay:0.3s;
	transition-duration:1.3s
}
html.on .grandMv .grandMvImages {
	opacity:1;
}
.grandMv .grandMvImages .swiperA .swiper-slide {
	width:100vw;
	height:100vh;
	margin: 0px;
}
.grandMv .grandMvImages .swiperA .swiper-slide .wrap {
	display:block;
	position:relative;
	width:100%;
	height:100%;
	background-position:center center ;
	background-repeat:no-repeat;
	background-size:cover;
	cursor: default;
}
/* ________PC________ */
@media screen and (min-width: 801px)  {
	.grandMv .grandMvImages .swiperA .swiper-slide._1 .wrap {
		background-position:center center; ;
	}
	.grandMv .grandMvImages .swiperA .swiper-slide._2 .wrap {
		background-position:center bottom -20px; ;
	}
	.grandMv .grandMvImages .swiperA .swiper-slide._3 .wrap {
		background-position:center bottom -21px; ;
	}
	.grandMv .grandMvImages .swiperA .swiper-slide._4 .wrap {
		background-position:center 58%; ;
	}
	.grandMv .grandMvImages .swiperA .swiper-slide._5 .wrap {
		background-position:center bottom -32px; ;
	}
}

/*  contents */
.grandMv .contents {
	position:absolute;
	left:50%;
	top:50%;
	transform: translate(-50%,-50%);
	z-index:10;
	transition-duration:0.5s;
}
.grandMv.hide .contents {
	opacity:0;
}
.grandMv .contents .catch {
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	font-size: 18px;
	line-height: 1.8;
	display:inline-block;
	letter-spacing: 4px;
	margin-bottom: 63px;
	opacity:0;
	transition-delay:1.0s;
	transition-duration:2.3s
}
html.on .grandMv .contents .catch {
	opacity:1;
}

.grandMv .contents .logo {
	display: block;
	width:210px;
	opacity:0;
	transition-delay:1.8s;
	transition-duration:2.3s
}
html.on .grandMv .contents .logo {
	opacity:1;
}

.grandMv .contents .logo .name {
	display: block;
	text-align: center;
	margin-top: 10px;
	font-size: 14px;
}

/* ________SP________ */
@media screen and (max-width: 800px)  {
	.grandMv{
		width:100vw;
		height:200vh;
		position:relative;
	}
	/*  grandMvImages */
	.grandMv .grandMvImages{
		width:100vw;
		height:100vh;
		position:absolute;
		top:50%;
		left:50%;
		transform: translate(-50%,-50%);
		padding: 0px;
		opacity:0;
		transition-delay:0.3s;
		transition-duration:1.3s
	}
	html.on .grandMv .grandMvImages {
		opacity:1;
	}
	.grandMv .grandMvImages .swiperA .swiper-slide {
		width:100vw;
		height:100vh;
		margin: 0px;
	}
	.grandMv .grandMvImages .swiperA .swiper-slide .wrap {
		display:block;
		position:relative;
		width:100%;
		height:100%;
		background-position:center center ;
		background-repeat:no-repeat;
		background-size:cover;
		cursor: default;
	}
	.grandMv .grandMvImages .swiperA .swiper-slide:nth-of-type(1) .wrap {
		background-position:44% center;
	}
	
	

	/*  contents */
	.grandMv .contents {
		position:absolute;
		left:50%;
		top:47%;
		transform: translate(-50%,-50%);
		z-index:10;
		transition-duration:0.5s;
	}
	.grandMv.hide .contents {
		opacity:0;
	}
	.grandMv .contents .catch {
		-ms-writing-mode: tb-rl;
		writing-mode: vertical-rl;
		font-size: 16px;
		line-height: 1.8;
		display:inline-block;
		letter-spacing: 4px;
		margin-bottom: 49px;
		opacity:0;
		transition-delay:1.0s;
		transition-duration:2.3s
	}
	html.on .grandMv .contents .catch {
		opacity:1;
	}
	
	.grandMv .contents .logo {
		display: block;
		width:200px;
		opacity:0;
		transition-delay:1.8s;
		transition-duration:2.3s
	}
	html.on .grandMv .contents .logo {
		opacity:1;
	}
	
	.grandMv .contents .logo .name {
		display: block;
		text-align: center;
		margin-top: 10px;
		font-size: 14px;
	}
}


/* // grandLocationA
----------------------------------------------- */
.grandLocationA{
	position:relative;
	z-index:110;
	width:100vw;
	height:200vh;
}
.grandLocationA .bg{
	width:100vw;
	height:100vh;
	position:absolute;
	z-index:-1;
	left:0px;
	top:0px;
	background-color: transparent;
	transition-duration:0.1s;
}
.grandLocationA.view .bg{
	transition-duration:1.0s;
	background-color: rgba(0,0,0,0.5);
}
.grandLocationA .contents{
	position:absolute;
	z-index:1;
	left:50%;
	top:50%;
	transform: translate(-50%,-50%);
}
.grandLocationA .homes{
	display: flex;
	display: -ms-flexbox;
	align-items: center;
	-ms-align-items: center;
	justify-content: center;
	-ms-justify-content: center;
	flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	gap:30px;
	width: 1130px;
}
:root {
	--grandLocationA_img_w: 350px;
	--grandLocationA_delay_1: 0.7s;
	--grandLocationA_delay_2: 0.2s;
}

.grandLocationA .homes li{
	width:var(--grandLocationA_img_w);
	opacity:0;
	transition-duration:0.5s;
	transition-delay:0s;
	transform: translateX(40px);
}
.grandLocationA.view .homes li{
	opacity:1;
	transform: translateX(0px);
	transition-delay:1s;
	transition-duration:1s;
}
.grandLocationA.view .homes li:nth-of-type(1){
	transition-delay:calc(var(--grandLocationA_delay_1) + var(--grandLocationA_delay_2)*0);
}
.grandLocationA.view .homes li:nth-of-type(2){
	transition-delay:calc(var(--grandLocationA_delay_1) + var(--grandLocationA_delay_2)*1);
}
.grandLocationA.view .homes li:nth-of-type(3){
	transition-delay:calc(var(--grandLocationA_delay_1) + var(--grandLocationA_delay_2)*2);
}
.grandLocationA.view .homes li:nth-of-type(4){
	transition-delay:calc(var(--grandLocationA_delay_1) + var(--grandLocationA_delay_2)*3);
}
.grandLocationA.view .homes li:nth-of-type(5){
	transition-delay:calc(var(--grandLocationA_delay_1) + var(--grandLocationA_delay_2)*4);
}
.grandLocationA.view .homes li:nth-of-type(6){
	transition-delay:calc(var(--grandLocationA_delay_1) + var(--grandLocationA_delay_2)*5);
}
.grandLocationA.view .homes li:nth-of-type(7){
	transition-delay:calc(var(--grandLocationA_delay_1) + var(--grandLocationA_delay_2)*6);
}
.grandLocationA.view .homes li:nth-of-type(8){
	transition-delay:calc(var(--grandLocationA_delay_1) + var(--grandLocationA_delay_2)*7);
}

.grandLocationA .homes li a{
	width:100%;
	height:calc(var(--grandLocationA_img_w) * 3 / 4);
	overflow:hidden;
	background-color: #000;
	position:relative;
	display:block;
}
.grandLocationA .homes li a img{
	width:100%;
	opacity:0.55;
	transition-duration:0.4s;
}
.grandLocationA .homes li a:hover img{
	opacity:1;
}
.grandLocationA .homes li a .tx{
	position:absolute;
	left:50%;
	top:50%;
	transform: translate(-50%,-50%);
	line-height:1;
	width: 100%;
	color:#fff;
}
.grandLocationA .homes li a .tx ._1{
	display: block;
	text-align: center;
	font-size: 15px;
}
.grandLocationA .homes li a .tx ._2{
	display: block;
	text-align: center;
	font-size: 16px;
	margin-top: 17px;
	letter-spacing: 1.5px;
}

/* ________SP________ */
@media screen and (max-width: 800px)  {
	.grandLocationA{
		height:160vh;
	}
	.grandLocationA .bg{
	}
	.grandLocationA.view .bg{
	}
	.grandLocationA .contents{
		top:47%;
	}
	.grandLocationA .homes{
		padding: 0 15px;
		gap:10px;
		width:100vw;
	}
	.grandLocationA .homes li{
		width: 100%;
		transform: translateX(20px);
	}
	.grandLocationA.view .homes li{
		transition-delay:1s;
		transition-duration:1s;
	}
	
	.grandLocationA .homes li a{
		width:100%;
		height:auto;
		overflow:hidden;
		background-color: #000;
		position:relative;
		display: flex;
		display: -ms-flexbox;
		align-items: center;
		-ms-align-items: center;
	}
	.grandLocationA .homes li a img{
		width:110px;
	}
	.grandLocationA .homes li a:hover img{
	}
	.grandLocationA .homes li a .tx{
		position:relative;
		left:auto;
		top:auto;
		transform: translate(0%,0%);
		line-height:1;
		width: auto;
		flex: 1;
	}
	.grandLocationA .homes li a .tx ._1{
		font-size: 13px;
	}
	.grandLocationA .homes li a .tx ._2{
		font-size: 13px;
		margin-top: 12px;
		letter-spacing: 1.5px;
	}
}


/* // grandConcept
----------------------------------------------- */
.grandConcept{
	z-index:120;
	width:100vw;
	height:300vh;
	position:relative;
}
.grandConcept .bg{
	width:100vw;
	height:100vh;
	position:relative;
}
.grandConcept .bg li{
	width:100%;
	height:100%;
	position:absolute;
	top:50%;
	left:50%;
	transform: translate(-50%,-50%); 
	background-size:cover;
}
.grandConcept .bg li._2{
	opacity:0;
	transition:0.8s;
}
.grandConcept .bg li._2.view{
	opacity:1;
}
.grandConcept .contents{
	position:absolute;
	top:50%;
	left:50%;
	transform: translate(calc(0% - 600px),-50%);
}

/* ________SP________ */
@media screen and (max-width: 800px)  {
	.grandConcept{
		height:250vh;
	}
	.grandConcept .inner{
		background-color: #000;
	}
	.grandConcept .bg{
		height:70vh;
		position:relative;
	}
	.grandConcept .bg:after{
		content:" ";
		display:block;
		width:100%;
		height:70px;
		background-image: linear-gradient(to bottom, rgba(0,0,0,0) 0%, rgba(0,0,0,1) 100%);
		position:absolute;
		left:0px;
		bottom:0px;
	}
	.grandConcept .bg li._1{		background-position: 50% 50%;		background-size: auto 100%;}
	.grandConcept .bg li._2{		background-position: 72% 100%;		background-size: auto 110%;}
	.grandConcept .contents{
		top:auto;
		left:20px;
		transform: translate(0,0);
		bottom: 95px;
		width: calc(100vw - 40px);
	}

}

/* // grandLiving
----------------------------------------------- */
.grandLiving{
	z-index:120;
	width:100vw;
	height:300vh;
	position:relative;
}
.grandLiving .bg{
	width:100vw;
	height:100vh;
	position:relative;
}
.grandLiving .bg li{
	width:100%;
	height:100%;
	position:absolute;
	top:50%;
	left:50%;
	transform: translate(-50%,-50%); 
	background-size:cover;
	background-repeat: no-repeat;
}
.grandLiving .bg li._2{
	opacity:0;
	transition:0.8s;
}
.grandLiving .bg li._2.view{
	opacity:1;
}
.grandLiving .contents{
	position:absolute;
	top:50%;
	left:50%;
	transform: translate(calc(-100% + 600px),-50%);
}

/* ________SP________ */
@media screen and (max-width: 800px)  {
	.grandLiving{
		height:250vh;
	}
	.grandLiving .inner{
		background-color: #000;
	}
	.grandLiving .bg{
		height:70vh;
		position:relative;
	}
	.grandLiving .bg:after{
		content:" ";
		display:block;
		width:100%;
		height:70px;
		background-image: linear-gradient(to bottom, rgba(0,0,0,0) 0%, rgba(0,0,0,1) 100%);
		position:absolute;
		left:0px;
		bottom:-2px;
	}
	.grandLiving .bg li._1{		background-position: 54% 50%;		background-size: auto 100%;}
	.grandLiving .bg li._2{		background-position: 55% 50%;		background-size: auto 100%;}
	.grandLiving .contents{
		top:auto;
		left:20px;
		transform: translate(0,0);
		bottom: 95px;
		width: calc(100vw - 40px);
	}
}

/* // grandMeal
----------------------------------------------- */
.grandMeal{
	z-index:120;
	width:100vw;
	height:300vh;
	position:relative;
}
.grandMeal .bg{
	width:100vw;
	height:100vh;
	position:relative;
}
.grandMeal .bg li{
	width:100%;
	height:100%;
	position:absolute;
	top:50%;
	left:50%;
	transform: translate(-50%,-50%); 
	background-size:cover;
}
.grandMeal .bg li._2{
	opacity:0;
	transition:0.8s;
}
.grandMeal .bg li._2.view{
	opacity:1;
}
.grandMeal .contents{
	position:absolute;
	top:50%;
	left:50%;
	transform: translate(calc(0% - 600px),-50%);
}

/* ________SP________ */
@media screen and (max-width: 800px)  {
	.grandMeal{
		height:250vh;
	}
	.grandMeal .inner{
		background-color: #000;
	}
	.grandMeal .bg{
		height:70vh;
		position:relative;
	}
	.grandMeal .bg:after{
		content:" ";
		display:block;
		width:100%;
		height:70px;
		background-image: linear-gradient(to bottom, rgba(0,0,0,0) 0%, rgba(0,0,0,1) 100%);
		position:absolute;
		left:0px;
		bottom:0px;
	}
	.grandMeal .bg li._1{		background-position: 26% 50%;		background-size: auto 100%;}
	.grandMeal .bg li._2{		background-position: 50% 50%;		background-size: auto 100%;}
	.grandMeal .contents{
		top:auto;
		left:20px;
		transform: translate(0,0);
		bottom: 95px;
		width: calc(100vw - 40px);
	}

}

/* // grandExchange
----------------------------------------------- */
.grandExchange{
	z-index:120;
	width:100vw;
	height:300vh;
	position:relative;
}
.grandExchange .bg{
	width:100vw;
	height:100vh;
	position:relative;
}
.grandExchange .bg li{
	width:100%;
	height:100%;
	position:absolute;
	top:50%;
	left:50%;
	transform: translate(-50%,-50%); 
	background-size:cover;
	background-repeat: no-repeat;
}
.grandExchange .bg li._2{
	opacity:0;
	transition:0.8s;
}
.grandExchange .bg li._2.view{
	opacity:1;
}
.grandExchange .contents{
	position:absolute;
	top:50%;
	left:50%;
	transform: translate(calc(-100% + 600px),-50%);
}

/* ________SP________ */
@media screen and (max-width: 800px)  {
	.grandExchange{
		height:250vh;
	}
	.grandExchange .inner{
		background-color: #000;
	}
	.grandExchange .bg{
		height:70vh;
		position:relative;
	}
	.grandExchange .bg:after{
		content:" ";
		display:block;
		width:100%;
		height:70px;
		background-image: linear-gradient(to bottom, rgba(0,0,0,0) 0%, rgba(0,0,0,1) 100%);
		position:absolute;
		left:0px;
		bottom:-1px;
	}
	.grandExchange .bg li._1{		background-position: 50% 50%;		background-size: auto 100%;}
	.grandExchange .bg li._2{		background-position: 47% 50%;		background-size: auto 100%;}
	.grandExchange .contents{
		top:auto;
		left:20px;
		transform: translate(0,0);
		bottom: 95px;
		width: calc(100vw - 40px);
	}

}

/* // grandCare
----------------------------------------------- */
.grandCare{
	z-index:120;
	width:100vw;
	height:300vh;
	position:relative;
	transition:0.6s;
}
.grandCare .bg{
	width:100vw;
	height:100vh;
	position:relative;
}
.grandCare .bg li{
	width:100%;
	height:100%;
	position:absolute;
	top:50%;
	left:50%;
	transform: translate(-50%,-50%); 
	background-size:cover;
	background-repeat: no-repeat;
}
.grandCare .bg li._2{
	opacity:0;
	transition:0.8s;
}
.grandCare .bg li._2.view{
	opacity:1;
}
.grandCare .contents{
	position:absolute;
	top:50%;
	left:50%;
	transform: translate(calc(0% - 600px),-50%);
}

/* ________SP________ */
@media screen and (max-width: 800px)  {
	.grandCare{
		height:250vh;
	}
	.grandCare .inner{
		background-color: #000;
	}
	.grandCare .bg{
		height:70vh;
		position:relative;
	}
	.grandCare .bg:after{
		content:" ";
		display:block;
		width:100%;
		height:70px;
		background-image: linear-gradient(to bottom, rgba(0,0,0,0) 0%, rgba(0,0,0,1) 100%);
		position:absolute;
		left:0px;
		bottom:0px;
	}
	.grandCare .bg li._1{		background-position: 50% 50%;		background-size: auto 100%;}
	.grandCare .bg li._2{		background-position: 62% 50%;		background-size: auto 100%;}
	.grandCare .contents{
		top:auto;
		left:20px;
		transform: translate(0,0);
		bottom: 95px;
		width: calc(100vw - 40px);
	}

}


/* // bg background-position
----------------------------------------------- */
/* ________PC________ */
@media screen and (min-width: 801px)  {
	.grandConcept .bg ._1 {	background-position:center 60%; }
	.grandConcept .bg ._2 {	background-position:center bottom; }
	.grandLiving .bg ._1 {	background-position:center 50%; }
	.grandLiving .bg ._2 {	background-position:center bottom; }
	.grandMeal .bg ._1 {	background-position:center bottom -50px; }
	.grandMeal .bg ._2 {	background-position:center bottom; }
	.grandExchange .bg ._1 {	background-position:center 50%; }
	.grandExchange .bg ._2 {	background-position:center 50%; }
	.grandCare .bg ._1 {	background-position:center 50%; }
	.grandCare .bg ._2 {	background-position:center 45%; }
}


/* // grandGallery
----------------------------------------------- */
.grandGallery{
	z-index:120;
	width:100vw;
	padding-top: 30vh;
	position:relative;
	transition:0.6s;
	padding-bottom: 220px;
}
.grandGallery .bg{
	transition-duration: 0.9s;
	background-color: transparent;
	z-index:10;
}
.grandGallery.view .bg{
	transition-delay: 0.2s;
	background-color: rgba(0,0,0,1.0);
}
.grandGallery .contents{
	position:relative;
	z-index:15;
	margin-top: -80px;
}
/* grandGalleryPhotos */
.grandGallery .grandGalleryPhotos {
	align-items:  flex-start !important;
	-ms-align-items:  flex-start !important;
	padding-top: 100px;
}
.grandGallery .grandGalleryPhotos .swiper-wrapper {
	transition-timing-function: linear;
}



.grandGalleryPhotos .swiperA .swiper-slide {
	width:auto;
	align-items: flex-start;
	flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	align-content: flex-start ;
}

.grandGallery .grandGalleryPhotos .swiper-slide{
	margin-right: 50px;
}
.grandGallery .grandGalleryPhotos .swiper-slide img{
	display:block;
	width:100%;
	margin-bottom: 50px;
}
.grandGallery .grandGalleryPhotos .swiper-slide img:last-of-type{
	margin-bottom: 0;
}

.grandGallery .grandGalleryPhotos .swiper-slide.ph01{	width:380px;	transform: translateY(0px);}
.grandGallery .grandGalleryPhotos .swiper-slide.ph02{	width:240px;	transform: translateY(0px);}
.grandGallery .grandGalleryPhotos .swiper-slide.ph03{	width:240px;	transform: translateY(0px);}
.grandGallery .grandGalleryPhotos .swiper-slide.ph04{	width:440px;	transform: translateY(0px);}
.grandGallery .grandGalleryPhotos .swiper-slide.ph05{	width:570px;	transform: translateY(0px);}
.grandGallery .grandGalleryPhotos .swiper-slide.ph06{	width:300px;	transform: translateY(0px);}
.grandGallery .grandGalleryPhotos .swiper-slide.ph07{	width:300px;	transform: translateY(0px);}
.grandGallery .grandGalleryPhotos .swiper-slide.ph08{	width:540px;	transform: translateY(0px);}
.grandGallery .grandGalleryPhotos .swiper-slide.ph09{	width:460px;	transform: translateY(0px);}
.grandGallery .grandGalleryPhotos .swiper-slide.ph10{	width:250px;	transform: translateY(0px);}
.grandGallery .grandGalleryPhotos .swiper-slide.ph11{	width:250px;	transform: translateY(0px);}
.grandGallery .grandGalleryPhotos .swiper-slide.ph12{	width:430px;	transform: translateY(0px);}
.grandGallery .grandGalleryPhotos .swiper-slide.ph13{	width:430px;	transform: translateY(0px);}

/* ________SP________ */
@media screen and (max-width: 800px)  {
	.grandGallery{
		padding-top: 0vh;
		padding-bottom: 130px;
	}
	.grandGallery .bg{
		transition-duration: 0.9s;
		background-color: transparent;
		z-index:10;
	}
	.grandGallery.view .bg{
	}
	.grandGallery .contents{
		margin-top: 0;
	}
	/* photos */
	.grandGallery .grandGalleryPhotos {
		padding-top: 70px;
	}
	
	.grandGallery .grandGalleryPhotos .swiper-slide{
		margin-right: 25px;
	}
	.grandGallery .grandGalleryPhotos .swiper-slide img{
		display:block;
		margin-bottom: 25px;
	}
	.grandGallery .grandGalleryPhotos .swiper-slide img:last-of-type{}

	:root {
		--grandGallery_n1: 0.6;
	}
	.grandGallery .grandGalleryPhotos .swiper-slide.ph01{	width:calc(380px * var(--grandGallery_n1));	transform: translateY(0px);}
	.grandGallery .grandGalleryPhotos .swiper-slide.ph02{	width:calc(240px * var(--grandGallery_n1));	transform: translateY(0px);}
	.grandGallery .grandGalleryPhotos .swiper-slide.ph03{	width:calc(240px * var(--grandGallery_n1));	transform: translateY(0px);}
	.grandGallery .grandGalleryPhotos .swiper-slide.ph04{	width:calc(440px * var(--grandGallery_n1));	transform: translateY(0px);}
	.grandGallery .grandGalleryPhotos .swiper-slide.ph05{	width:calc(570px * var(--grandGallery_n1));	transform: translateY(0px);}
	.grandGallery .grandGalleryPhotos .swiper-slide.ph06{	width:calc(300px * var(--grandGallery_n1));	transform: translateY(0px);}
	.grandGallery .grandGalleryPhotos .swiper-slide.ph07{	width:calc(300px * var(--grandGallery_n1));	transform: translateY(0px);}
	.grandGallery .grandGalleryPhotos .swiper-slide.ph08{	width:calc(540px * var(--grandGallery_n1));	transform: translateY(0px);}
	.grandGallery .grandGalleryPhotos .swiper-slide.ph09{	width:calc(460px * var(--grandGallery_n1));	transform: translateY(0px);}
	.grandGallery .grandGalleryPhotos .swiper-slide.ph10{	width:calc(250px * var(--grandGallery_n1));	transform: translateY(0px);}
	.grandGallery .grandGalleryPhotos .swiper-slide.ph11{	width:calc(250px * var(--grandGallery_n1));	transform: translateY(0px);}
	.grandGallery .grandGalleryPhotos .swiper-slide.ph12{	width:calc(430px * var(--grandGallery_n1));	transform: translateY(0px);}
	.grandGallery .grandGalleryPhotos .swiper-slide.ph13{	width:calc(430px * var(--grandGallery_n1));	transform: translateY(0px);}

}


/* // grandLocationB
----------------------------------------------- */
.grandLocationB{
	position:relative;
	z-index:200;
	margin-bottom: 450px;
}
.grandLocationB .homes{
	display: grid;
	grid-auto-flow: row;
	gap: 30px;
	width:1000px;
	margin:0 auto;
}
.grandLocationB .homes .item{
	background-color: #3A3A3A;
}
.grandLocationB .homes .item a{
	display: flex;
	display: -ms-flexbox;
}
.grandLocationB .homes .item:nth-of-type(even) a{
	flex-direction: row-reverse;
	-ms-flex-direction: row-reverse;
}
.grandLocationB .homes .item a .image{
	width:580px;
}
.grandLocationB .homes .item a .image img{
	width:100%;
}
.grandLocationB .homes .item a .text{
	flex:1;
	padding: 28px 25px;
	display:block;
	position:relative;
}
.grandLocationB .homes .item a .text .tx1{
	display:block;
	font-size: 15px;
	line-height: 1.7;
}
.grandLocationB .homes .item a .text .tx1 ._1 {
	display:block;
}
.grandLocationB .homes .item a .text .tx1 ._2 {
	display:block;
	margin-top: 5px;
	font-size: 130%;
}
.grandLocationB .homes .item a .text .tx2{
	display:block;
	position:absolute;
	left:38px;
	bottom:25px;
	font-size: 13px;
	line-height:1;
}
.grandLocationB .homes .item a .text .tx2 ._2{
	font-size: 110%;
	padding-left: 10px;
}

/* ________SP________ */
@media screen and (max-width: 800px)  {
	.grandLocationB{
		margin-bottom: 140px;
	}
	.grandLocationB .homes{
		gap: 15px;
		width:100vw;
		padding: 0 15px ;
	}
	.grandLocationB .homes .item{
		background-color: #3A3A3A;
	}
	.grandLocationB .homes .item a{
		display: flex;
		display: -ms-flexbox;
	}
	.grandLocationB .homes .item:nth-of-type(even) a{
		flex-direction: row;
		-ms-flex-direction: row;
	}
	.grandLocationB .homes .item a .image{
		width:130px;
		height: 105px;
		overflow: hidden;
		position: relative;
	}
	.grandLocationB .homes .item a .image img{
		position: absolute;
		top:50%;
		left:50%;
		transform: translate(-50%,-50%);
		height: 100%;
		width: auto
	}
	
	.grandLocationB .homes .item a .text{
		padding: 0;
		position: relative;
	}
	.grandLocationB .homes .item a .text .tx1{
		display:none;
	}
	.grandLocationB .homes .item a .text .tx2{
		display:block;
		position:absolute;
		left:50%;
		bottom:auto;
		top:50%;
		transform: translate(-50%,-50%);
		font-size: 13px;
		line-height:1;
		width: 100%
	}
	.grandLocationB .homes .item a .text .tx2 ._1{
		font-size: 100%;
		display:block;
		text-align: center;
	}
	.grandLocationB .homes .item a .text .tx2 ._2{
		font-size: 110%;
		padding-left: 0;
		display:block;
		text-align: center;
		margin-top: 8px;
	}

}

/* // xxx
----------------------------------------------- */
.xxx{
	
}

/* ________SP________ */
@media screen and (max-width: 800px)  {

}
