@charset "UTF-8";
/* CSS Document */


/*　初期ローディング　*/
.loading {
  width: 100vw;
  height: 100vh;
  transition: all 1s;
  background-color: #FFF;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
  opacity: 1;
  visibility: visible;
}

.loading.is-active {
  opacity: 0;
  visibility: hidden;
}

.loading-animation {
  width: 100vw;
  height: 100vh;
  transition: all 1s;
  background-color: #fff;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  visibility: hidden;
}
.loading-animation img{
	width:200px;
	margin-top:-10vh;
}

.loading-animation.is-active {
  opacity: 1;
  visibility: visible;
}

/* Loading fadeup　*/
.fadeUp{
animation-name: fadeUpAnime;
animation-duration:0.5s;
animation-fill-mode:forwards;
}

@keyframes fadeUpAnime{
  from {
    opacity: 1;
  transform: translateY(100px);
  }

  to {
    opacity: 1;
  transform: translateY(0);
  }
}

/*　初期ローディング ここまで　*/


/* section .mainV */
article#top_firstview{
	position:relative;
}
article#top_firstview .title_image{
	position:absolute;
	height:100%;
	top:0;
	left:0;
	display:block;
}
article#top_firstview .title_image dt{
	width:110px;
	margin:auto;
	position: -webkit-sticky;
	position: sticky;
	top:0;
}
article#top_firstview .title_image dt img{
	height:100%;
	opacity:0.8;
}

section .mainV{
	height:100vh;
	display:flex;
	justify-content:space-between;
	position:relative;
}
section .mainV .title_box{
	width:30%;
	height:100%;
	position:relative;
}
section .mainV .title_box dl{
	position: -webkit-sticky;
	position: sticky;
	margin:0 0 0 125px;
	top:0;
}
section .mainV .title_box dl h1{
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	font-size:150%;
	margin:0;
}
section .mainV .image_box{
	width:70%;
	height:100%;
	display:flex;
	justify-content:space-between;
}
section .mainV .image_box .infinity-slide,
section .mainV .image_box .infinity-slide2,
section .mainV .image_box .infinity-slide3{
  width: 33%;
  height:100%;
  margin: 0 0 0 1vh;
  overflow: hidden;
}

section .mainV .image_box .infinity-slide #slide{
  animation: infinity-loop 25s infinite linear 1s both;
  width: 100%;
  height: 100vh;
}
section .mainV .image_box .infinity-slide2 #slide {
  animation: infinity-loop2 35s infinite linear 1s both;
  width: 100%;
  height: 100vh;
}
section .mainV .image_box .infinity-slide3 #slide {
  animation: infinity-loop3 25s infinite linear 1s both;
  width: 100%;
  height: 100vh;
}

section .mainV .image_box .infinity-slide #slide li,
section .mainV .image_box .infinity-slide2 #slide li,
section .mainV .image_box .infinity-slide3 #slide li{
  height: 33vh;
  list-style:none;
  overflow:hidden;
  box-sizing: border-box;
  margin-bottom:1vh;
}
section .mainV .image_box .infinity-slide #slide li img,
section .mainV .image_box .infinity-slide2 #slide li img,
section .mainV .image_box .infinity-slide3 #slide li img{
  height:100%;
  width:100%;
  object-fit:cover;
}
@keyframes scrollAnime{
    0% { transform: translateX(0)}
    100% { transform: translateX(-100%)}
}


/* 無限ループアニメーション */
@keyframes infinity-loop {
  from {
    transform: translateY(0vh);
  }
  to {
    transform: translateY(-102vh);
  }
}
@keyframes infinity-loop2 {
  from {
    transform: translateY(-102vh);
  }
  to {
    transform: translateY(0vh);
  }
}
@keyframes infinity-loop3 {
  from {
    transform: translateY(0vh);
  }
  to {
    transform: translateY(-102vh);
  }
}


section .mainV .catch_logo{
	width:180px;
	height:180px;
	position:absolute;
	bottom:2vh;
	right:20px;
}
section .mainV .catch_logo dl{
	position:relative;
	overflow:hidden;
}
section .mainV .catch_logo dl.active{
	overflow:visible;
	animation: toplogo 2.8s cubic-bezier(0.6,0,0.4,1);
}
@keyframes toplogo{
  0%{
   transform: translateX(300px);
  }
  40%{
   transform: translateX(300px);
  }
  100%{
    transform: translateX(0px);
  }
}

section .mainV .catch_logo dl dt{
	position:absolute;
	overflow:hidden;
	top:0;
}
section .mainV .catch_logo dl dt img{
	width:100%;
	height:100%;
}
section .mainV .catch_logo dl dt:nth-child(1) img{
	animation:30s linear infinite rotation-toplogo;
}
@keyframes rotation-toplogo{
  0%{ transform:rotate(0);}
  100%{ transform:rotate(-360deg); }
}



.fade_image {
}
.fade_image_effect {
	position: relative;
	overflow: hidden;
	padding: 0 1px 0 0;
}
.fade_image_effect:after {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 100;
	width: 100%;
	height: 100.5%;
	background:#fff;
	transform: translate3d(0%,0,0);
}
.fade_image_effect.active:after {
	animation: swipeRight 1.6s cubic-bezier(0.6,0,0.4,1);
	animation-fill-mode: forwards;
}
@keyframes swipeRight {
	0% {
		transform: translate(0);
	}
	50%, 60% {
		transform: translate3d(0,100%,0);
	}
	100% {
		transform: translate3d(0,100%,0);
	}
}
@media screen and (max-width: 640px) {
	.fade_image {
		flex-wrap: wrap;
		flex-direction: column;
	}
	.fade_image_effect {
		width: 100%;
		margin: 0 0 10px 0;
		padding: 0 0 0 0;
	}
	/*.fade_image .fade_image_effect:last-child {
		margin: 0;
	}*/
}



section.ep,
section.ep2,
section.ep3{
	position:relative;
	height:100vh;
	background:#f5f5f5;
}
section.ep{
	padding-top:20vh;
}
section.ep3{
	padding-bottom:20vh;
}
section.ep .ep_copy,
section.ep2 .ep2_copy,
section.ep3 .ep3_copy{
	width:50%;
	position: -webkit-sticky;
	position: sticky;
	top:35vh;
	display:block;
	float:right;
	margin:0;
	background:#fff;
	padding:50px;
}
section.ep .ep_copy h5,
section.ep2 .ep2_copy h5,
section.ep3 .ep3_copy h5{
	font-size:100%;
	margin:0 0 1em;
	font-family:'Jost', sans-serif;
}
section.ep .ep_copy h4,
section.ep2 .ep2_copy h4,
section.ep3 .ep3_copy h4{
	font-size:150%;
	margin:0 auto 2em;;
}
section.ep .ep_copy h4 span,
section.ep2 .ep2_copy h4 span{
	font-size:140%;
    font-family:'Jost', sans-serif;
}

section.ep .scroll,
section.ep3 .scroll{
  margin:auto;
  width:100%;
  text-align:center;
  overflow:hidden;
  position:absolute;
  top:7vh;
}
section.ep3 .scroll{
  top:unset;
  bottom:7vh;
}
section.ep .scroll h5,
section.ep2 .scroll h5,
section.ep3 .scroll h5{
	color:#fff;
	font-size:300%;
	font-family:'Jost', sans-serif;
	display:inline-block;
	padding-left:100%;
	white-space:nowrap;
	line-height:1.5em;
	letter-spacing:0.3em;
	margin:0;
	animation:scrollAnime 50s linear infinite;
}

section.ep ul,
section.ep2 ul,
section.ep3 ul{
	width:100%;
	padding:0;
	left:0;
	right:0;
	margin:auto;
	position:absolute;
	display: grid;
	gap: 30px;
	grid-template-columns: 1fr 1fr 1fr 1fr;
	grid-template-rows: 30vh 30vh 30vh;
}
section.ep ul li,
section.ep2 ul li,
section.ep3 ul li{
	list-style:none;
	overflow:hidden;
}
section.ep ul li img,
section.ep2 ul li img,
section.ep3 ul li img{
	width:100%;
	height:100%;
	object-fit:cover;
}

section.ep ul li:nth-child(1) {
  grid-column: ;
  grid-row: 1 / 3;
}
section.ep ul li:nth-child(2) {
  grid-column: 2 / 4;
  grid-row: 1 / 1;
}
section.ep ul li:nth-child(7) {
  grid-column:1 / 3;
  grid-row: 3 / 4;
}
section.ep ul li:nth-child(8) {
  grid-column:4 / 4;
  grid-row: 2 / 4;
}

section.ep2 ul li:nth-child(1) {
  grid-column: ;
  grid-row: 1 / 3;
}
section.ep2 ul li:nth-child(2) {
  grid-column: 2 / 4;
  grid-row: 1 / 1;
}
section.ep2 ul li:nth-child(7) {
  grid-column:1 / 3;
  grid-row: 3 / 4;
}
section.ep2 ul li:nth-child(8) {
  grid-column:4 / 4;
  grid-row: 2 / 4;
}

section.ep3 ul li:nth-child(1) {
  grid-column: ;
  grid-row: 1 / 3;
}
section.ep3 ul li:nth-child(2) {
  grid-column: 2 / 4;
  grid-row: 1 / 1;
}
section.ep3 ul li:nth-child(7) {
  grid-column:1 / 3;
  grid-row: 3 / 4;
}
section.ep3 ul li:nth-child(8) {
  grid-column:4 / 4;
  grid-row: 2 / 4;
}


section.ep ul li.animate:nth-child(1):after,
section.ep2 ul li.animate:nth-child(1):after,
section.ep3 ul li.animate:nth-child(1):after {
	background:#f5f5f5;
}
section.ep ul li.animate:nth-child(2):after,
section.ep2 ul li.animate:nth-child(2):after,
section.ep3 ul li.animate:nth-child(2):after {
	background:#f5f5f5;
}
section.ep ul li.animate:nth-child(3):after,
section.ep2 ul li.animate:nth-child(3):after,
section.ep3 ul li.animate:nth-child(3):after {
	background:#f5f5f5;
}
section.ep ul li.animate:nth-child(4):after,
section.ep2 ul li.animate:nth-child(4):after,
section.ep3 ul li.animate:nth-child(4):after {
	background:#f5f5f5;
}
section.ep ul li.animate:nth-child(5):after,
section.ep2 ul li.animate:nth-child(5):after,
section.ep3 ul li.animate:nth-child(5):after {
	background:#f5f5f5;
}
section.ep ul li.animate:nth-child(6):after,
section.ep2 ul li.animate:nth-child(6):after,
section.ep3 ul li.animate:nth-child(6):after {
	background:#f5f5f5;
}
section.ep ul li.animate:nth-child(7):after,
section.ep2 ul li.animate:nth-child(7):after,
section.ep3 ul li.animate:nth-child(7):after {
	background:#f5f5f5;
}
section.ep ul li.animate:nth-child(8):after,
section.ep2 ul li.animate:nth-child(8):after,
section.ep3 ul li.animate:nth-child(8):after {
	background:#f5f5f5;
}

/* カタログ請求ボタン */
.btn_to_footer a{
  color: white;
  display: block;
  width: 100%;
  text-align: center;
  font-size: 95%;
  text-decoration: none;
  padding: 2% 0%;
}
.btn_to_footer{
    font-size: 120%;
    font-weight: bold;
    text-align: center;
    border-radius: 60px;
    background: linear-gradient(45deg, #E91E63,#9844b7,#3F51B5);
    background-size: 200% 200%;
    animation: bggradient 5s ease infinite;
    width: 65%;
    margin: 30px auto;

}



/* section model_town */
section.model_town .modelhouse{
	position:relative;
}
section.model_town .modelhouse h4{
	font-size:230%;
	font-weight:normal;
	font-family:'Jost', sans-serif;
	line-height:1em;
	top:0.4em;
	right:0.5em;
	margin:0;
	position:absolute;
	display:flex;
	justify-content:space-between;
}
section.model_town .modelhouse h4 em{
	width:80px;
	position:relative;
}
section.model_town .modelhouse h4 em img{
	width:70px;
	position:absolute;
	top:-0.4em;
	left:0;
}
section.model_town .modelhouse h4 em img:nth-child(2){
	animation:30s linear infinite rotation1;
}
@keyframes rotation1{
  0%{ transform:rotate(0);}
  100%{ transform:rotate(360deg); }
}
section.model_town .modelhouse h4 span{
	font-size:70%;
}
section.model_town .modelhouse h4 strong{
	font-size:70%;
	display:block;
	line-height:1em;
}
section.model_town iframe{
	width:100%;
	height:70vh;
	border:0;
}

section.model_town .fullscreen{
	text-align:right;
}
section.model_town .fullscreen span{
	font-family:'Jost', sans-serif;
	font-size:120%;
	padding:10px;

}
section.model_town .fullscreen span a{
	color:#000;
	background:url("../img/common/fullscreen_icon.gif") left center no-repeat;
	background-size:auto 1.5em;
	padding:10px 1em 10px 2em !important;
	text-decoration:none;
}


/* section lineup */
section.lineup{
	width:96%;
	margin:5vh auto;
}
section.lineup ul{
	padding:0;
	display:flex;
	justify-content:space-between;
	flex-wrap:wrap;
}
section.lineup ul li{
	width:49%;
	list-style:none;
	background:#ebecee;
	margin-bottom:2vh;
	padding:40px 1%;
	box-sizing:border-box;
	transition: all 0.8s;
}
section.lineup ul li a{
	text-decoration:none;
	color:#000;
}
section.lineup ul li:hover{
	background:#fff;
}
section.lineup ul li:hover dl dd .price{
	color:#fff;
	background:#000000;
}
section.lineup ul li:before{
	line-height:1em;
	color:#fff;
	font-size:500%;
	font-family:'Jost', sans-serif;
	position:absolute;
	top:0px;
	left:10px;
	z-index:1;
	transition: all 1.5s;
}
section.lineup ul li:hover:before{
	color:#000;
}
section.lineup ul li:nth-child(1):before{
	content:"01";
}
section.lineup ul li:nth-child(2):before{
	content:"02";
}
section.lineup ul li:nth-child(3):before{
	content:"03";
}
section.lineup ul li:nth-child(4):before{
	content:"04";
}
section.lineup ul li:nth-child(5):before{
	content:"05";
}
section.lineup ul li:nth-child(6):before{
	content:"06";
}
section.lineup ul li:nth-child(7):before{
	content:"07";
}
section.lineup ul li:nth-child(8):before{
	content:"08";
}
section.lineup ul li:nth-child(9):before{
	content:"09";
}

section.lineup ul li dl dt{
	text-align:center;
}
section.lineup ul li dl dt img{
	width:80%;
	margin:auto;
	-webkit-filter: drop-shadow(10px 23px 16px rgba(0,0,0,0.25));
    filter: drop-shadow(10px 23px 16px rgba(0,0,0,.25));
    transition: all 0.4s;
}
section.lineup ul li dl dt img:hover{
	transform: translate(5px,5px);
	-webkit-filter: drop-shadow(0px 0px 0px rgba(0,0,0,0.25));
    filter: drop-shadow(0px 0px 0px rgba(0,0,0,.25));
}
section.lineup ul li dl dd{
	width:90%;
	padding:0;
	margin:0 auto;
}
section.lineup ul li dl dd h6{
	font-family:'Jost', sans-serif;
	font-size:180%;
	padding:0;
	margin:30px 0 0;
	text-align:center;
	font-weight:normal;
}
section.lineup ul li dl dd h5{

	font-size:120%;
	padding:0;
	margin:0;
	text-align:center;
}
section.lineup ul li dl dd p{
	padding:0;
	margin:1em 0 0 0;
}

section.lineup ul li dl dd .price{
	text-align:center;
	font-size:100%;
	display:block;
	margin:1em auto;
	background:#fff;
	transition: all 0.8s;
}
section.lineup ul li dl dd .price span{
	font-size:170%;
	font-family:'Jost', sans-serif;
	margin:0 0.2em;
}




/* ----------スクロール時 表示アニメーション–---------- */

.animate {
	transform: translateY(20px);
	transition: all 1.0s;
	position: relative;
	overflow: hidden;
	padding: 0 0 0 0;
}
.animate:after {
	content: '';
	display: block;
	position: absolute;
	top: 0px;
	left: 0;
	z-index: 100;
	width: 100%;
	height: 100.5%;
	background:#fff;
	transform: translate3d(0%,0,0);
}
.animate.show {
	transform: translateY(0);
}
.animate.show:after{
	animation: swipebottom 1.8s cubic-bezier(0.1,0,0.4,1);
	animation-fill-mode: forwards;
}


@keyframes swipebottom {
	0% {
		transform: translate(0);
	}
	50%, 60% {
		transform: translate3d(0,100%,0);
	}
	100% {
		transform: translate3d(0,100%,0);
	}
}
@media screen and (min-width: 2001px) {
	.animate.show:nth-of-type(4n+1){
	  transition-delay: 0.3s;
	}
	.animate.show:nth-of-type(4n+2){
	  transition-delay: 0.6s;
	}
	.animate.show:nth-of-type(4n+3){
	  transition-delay: 0.9s;
	}
	.animate.show:nth-of-type(4n+4){
	  transition-delay: 1.2s;
	}
	.animate.show:nth-of-type(4n+1):after{
		animation-delay: 0.0s;
	}
	.animate.show:nth-of-type(4n+2):after{
		animation-delay: 0.3s;
	}
	.animate.show:nth-of-type(4n+3):after{
		animation-delay: 0.6s;
	}
	.animate.show:nth-of-type(4n+4):after{
		animation-delay: 0.9s;
	}
}
@media screen and (max-width: 2000px) {
	.animate.show:nth-of-type(2n+1){
	  transition-delay: 0.3s;
	}
	.animate.show:nth-of-type(2n+2){
	  transition-delay: 0.6s;
	}
	.animate.show:nth-of-type(2n+1):after{
		animation-delay: 0.0s;
	}
	.animate.show:nth-of-type(2n+2):after{
		animation-delay: 0.3s;
	}
}


/* ----------768px–---------- */

@media screen and (max-width: 768px) {
	section .mainV .title_box{
		width:unset;
	}
	section .mainV .title_box dl{
		margin:0 0 0 85px;
		top:0;
	}
	section .mainV .title_box dl h1{
	}
	article#top_firstview .title_image dt{
		width:unset;
		height:70vh;
		max-height:700px;
	}
	section .mainV .image_box .infinity-slide,
	section .mainV .image_box .infinity-slide2{
	  width: 48%;
	  height:100%;
	  margin: 0 0 0 1vh;
	  overflow: hidden;
	}
	section .mainV .image_box .infinity-slide3{
		display:none;
	}
		section.ep,
	section.ep2,
	section.ep3{
		height:unset;
		background:#f5f5f5;
	}
	section.ep ul,
	section.ep2 ul,
	section.ep3 ul{
		left:unset;
		right:unset;
		margin:auto;
		position:unset;
		gap: 10px;
		grid-template-columns: 1fr 1fr 1fr 1fr;
		grid-template-rows: 20vh 20vh 20vh;
		box-sizing:border-box;
		padding:0;
	}
	section.ep .ep_copy,
	section.ep2 .ep2_copy,
	section.ep3 .ep3_copy{
		width:100%;
		position:unset;
		position:unset;
		top:unset;
		display:block;
		margin:0;
		float:unset;
		background:#fff;
		padding:5% 3% 5% 23%;
		box-sizing:border-box;
	}
}

/* ----------599px–---------- */

@media screen and (max-width: 599px) {
	section .mainV .title_box dl h1{
		font-size:130%;
	}
	article#top_firstview .title_image dt{
		max-height:500px;
	}
	section .mainV .title_box dl{
		margin:0 0 0 70px;
		top:0;
	}
	section .mainV .catch_logo{
		width:150px;
		height:150px;
		position:absolute;
		bottom:5vh;
		right:10px;
    }

	section.model_town .modelhouse h4{
		font-size:200%;
		font-weight:normal;
		font-family:'Jost', sans-serif;
		line-height:1em;
		top:0.4em;
		right:0.5em;
		margin:0;
		position:absolute;
		display:flex;
		justify-content:space-between;
	}
	section.model_town .modelhouse h4 em{
		width:70px;
		position:relative;
	}
	section.model_town .modelhouse h4 em img{
		width:60px;
		position:absolute;
		top:-0.4em;
		left:0;
	}
	section.model_town .modelhouse h4 em img:nth-child(2){
		animation:30s linear infinite rotation1;
	}
	@keyframes rotation1{
	  0%{ transform:rotate(0);}
	  100%{ transform:rotate(360deg); }
	}
	section.model_town .modelhouse h4 span{
		font-size:70%;
	}
	section.model_town .modelhouse h4 strong{
		font-size:70%;
		display:block;
		line-height:1em;
	}
	section.model_town iframe{
		width:100%;
		height:70vh;
		border:0;
	}

	section.model_town .fullscreen span{
		font-size:100%;
		padding:0;
	}
	section.model_town .fullscreen span a{
		color:#000;
	}

	section.lineup ul{
		padding:0;
		display:block;
		justify-content:unset;
		flex-wrap:unset;
	}
	section.lineup ul li{
		width:100%;
		padding:50px 5%;
		box-sizing:border-box;
	}
	section.lineup ul li:before{
		font-size:800%;
	}
	section.lineup ul li dl dt img{
		width:90%;
	}
}
