@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:300px;
}

.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:220px;
	height:220px;
	position:absolute;
	bottom:2vh;
	right:1vw;
}
section .mainV .catch_logo dl{
	position:relative;
}

section .mainV .catch_logo dl.fade_image_effect.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;
	top:0;
	overflow:hidden;

}
section .mainV .catch_logo dl dt img{
	width: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: 101%;
	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 1px 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{
	max-width:500px;
	width:40%;
	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-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:80%;
	max-width:1400px;
	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{
    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;
}
.btn_to_footer a{
  color: #fff;
  display: block;
  width: 100%!important;
  text-align: center;
  font-size: 120%;
  text-decoration: none;
  padding: 2% 0%;
}

/* section model_town */
section.model_town .modelhouse{
	position:relative;
}
section.model_town .modelhouse h4{
	font-size:300%;
	font-weight:normal;
	font-family:'Jost', sans-serif;
	line-height:1em;
	top:0.5em;
	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.2em;
	left:0;
}
section.model_town .modelhouse h4 em img:nth-child(2){
}
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:75vh;
	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 */
@media screen and (min-width: 2001px) {
	section.lineup{
		width:96%;
		margin:5vh auto;
	}
	section.lineup ul{
		padding:0;
		display:flex;
		flex-wrap:wrap;
		justify-content:flex-start;
	}
	section.lineup ul li{
		width:23%;
		list-style:none;
		background:#ebecee;
		margin-right:2.3%;
		margin-bottom:5vh;
		padding:2%;
		box-sizing:border-box;
	}
	section.lineup ul li:nth-child(4n){
		margin-right:0;
	}
}
@media screen and (min-width:1301px) and (max-width:2000px) {
	section.lineup{
		width:90%;
		margin:5vh auto;
	}
	section.lineup ul{
		padding:0;
		display:flex;
		justify-content:flex-start;
		flex-wrap:wrap;
	}
	section.lineup ul li{
		width:31.0%;
		list-style:none;
		background:#ebecee;
		margin-right:3%;
		margin-bottom:5vh;
		padding:2% 1.5%;
		box-sizing:border-box;
		transition: all 0.4s;
	}
	section.lineup ul li:nth-child(3n){
		margin-right:0;
	}
}

@media screen and (max-width: 1300px) {
	section.lineup{
		width:90%;
		max-width:1400px;
		margin:5vh auto;
	}
	section.lineup ul{
		padding:0;
		display:flex;
		justify-content:space-between;
		flex-wrap:wrap;
	}
	section.lineup ul li{
		width:47.5%;
		list-style:none;
		background:#ebecee;
		margin-bottom:5vh;
		padding:3%;
		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 dt img{
	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:hover dl dd .price{
	color:#fff;
	background:#000000;
}


section.lineup ul li:before{
	line-height:1em;
	color:#fff;
	font-size:700%;
	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:nth-child(10):before{
	content:"10";
}


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 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:100%;
	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;
}



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


@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 (min-width:1301px) and (max-width:2000px) {
	.animate.show:nth-of-type(3n+1){
	  transition-delay: 0.3s;
	}
	.animate.show:nth-of-type(3n+2){
	  transition-delay: 0.6s;
	}
	.animate.show:nth-of-type(3n+3){
	  transition-delay: 0.9s;
	}
	.animate.show:nth-of-type(3n+1):after{
		animation-delay: 0.0s;
	}
	.animate.show:nth-of-type(3n+2):after{
		animation-delay: 0.3s;
	}
	.animate.show:nth-of-type(3n+3):after{
		animation-delay: 0.6s;
	}
}

@media screen and (max-width: 1300px) {
	.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;
	}
}
