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

/* header */
header{
	width:100%;
	padding-top:10px;
}
header .title_box{
	width:300px;
	padding-left:2vw;
}
header .title_box dl{
	margin:0;
}
header .title_box dl h1{
	font-size:90%;
	margin:0;
}
header .title_box dl .title_image{
	width:200px;
}


/* section .mainV */
section.main{
}
section.main .mainV{
	width:100%;
	margin:10vh 0 10vh;
	position:relative;
}
section.main .mainV dl{
	width:65%;
	margin:auto;
	padding-bottom:50px;
}

section.main .mainV dl img{
	width:100%;
	margin:auto;
	-webkit-filter: drop-shadow(15px 15px 20px rgba(0,0,0,0.25));
    filter: drop-shadow(15px 15px 20px rgba(0,0,0,.25));
}
section.main .mainV .scroll{
  margin:auto;
  display:block;
  width:100%;
  text-align:center;
  overflow:hidden;
  position:absolute;
  z-index:-1;
  top: 40%;
}
section.main .mainV .scroll h5{
	color:#f5f5f5;
	font-size:700%;
	font-family:'Jost', sans-serif;
	font-weight:normal;
	display:inline-block;
	padding-left:100%;
	white-space:nowrap;
	line-height:1.5em;
	letter-spacing:0.3em;
	margin:0;
	animation:scrollAnime 50s linear infinite;
}

@keyframes scrollAnime{
    0% { transform: translateX(0)}
    100% { transform: translateX(-100%)}
}

@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.ep{
	width:90%;
	margin:0 auto 15vh;
}
section.ep dl{
	padding:0;
	margin:0;
	display:flex;
	justify-content:space-between;
}
section.ep dl dd:nth-of-type(1){
	width:45%;
	margin:0;
}
section.ep dl dd:nth-of-type(2){
	width:50%;
	margin:0;
}
section.ep dl dd h4{
	font-size:170%;
	line-height:1.3em;
	margin:0 0 1em 0;
}
section.ep dl dd h4 strong{
	font-family:'Jost', sans-serif;
	font-weight:normal;
	font-size:400%;
	line-height:1em;
	display:block;
}
section.ep dl dd h4 span{
	font-family:'Jost', sans-serif;
	font-size:60%;
	letter-spacing:0.2em;
	display:block;
}
section.ep dl dd h5{
	font-weight:normal;
	font-size:130%;
	line-height:1.8em;
	margin:0;
	margin:0 0 1em 0;
}
section.ep dl dd p{
}


/* section .detail*/
section.detail{
	width:100%;
	margin:0 0 0 0;
	background:#f0f0f0;
	padding:10vh 0;
}
section.detail ul{
    padding:0;
}
section.detail ul li{
	width:90%;
	margin:0 auto 10vh;
	padding:0 0 10vh;
	display:flex;
	justify-content:space-between;
	position:relative;
	border-bottom:1px solid #ccc;
}
section.detail ul li strong{
	font-size:200%;
	font-weight:normal;
	position:absolute;
	top:-0.5em;
	left:-0.5em;
	font-family:'Jost', sans-serif;
	-ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    z-index:1;
}
section.detail ul li:nth-child(even){
	flex-direction: row-reverse;	
}
section.detail ul li:nth-child(even) strong{
	left:unset;
	right:-0.5em;
}
section.detail ul li:last-child{
	margin:0 auto 0;
	padding:0 0 0;
	border-bottom:none;
}
section.detail ul li dt{
    width:50%;
    overflow:hidden;
    	-webkit-filter: drop-shadow(15px 15px 20px rgba(0,0,0,0.25));
    filter: drop-shadow(15px 15px 20px rgba(0,0,0,.25));
}
section.detail ul li dt img{
	width:100%;
	height:100%;
	object-fit:cover;
}
section.detail ul li dd{
    width:45%;
    margin:0;
    box-sizing:border-box;
    display: table;
}
section.detail ul li dd .inner{
	display: table-cell;
	vertical-align: middle;
}
section.detail ul li dd h6{
	font-size:100%;
	font-weight:normal;
	font-family:'Jost', sans-serif;
	margin:0;
}
section.detail ul li dd h5{
	font-size:120%;
	margin:0 0 1em;
}
section.detail ul li dd p{
	margin:0;
}



/* section .plan*/
section.plan{
	padding:15vh 0;
	margin:0 auto;
	background:
	    linear-gradient(
	        0deg,
	        transparent 9px,
	        #f5f5f5 10px
	        ),
	    linear-gradient(
	        90deg,
	        transparent 9px,
	        #f5f5f5 10px
	        );
	background-size: 10px 10px;
}
section.plan h4{
	width:90%;
	max-width:1000px;
	color:#000;
	font-size:110%;
	font-family:'Jost', sans-serif;
	font-weight:normal;
	line-height:1em;
	margin:0 auto 2em;
	display: flex;
    align-items: center;
    letter-spacing:0.1em;
}
section.plan h4:after {
    content: "";
    height: 1px;
    flex-grow: 1;
    background-color: #999;
}

section.plan ul{
	width:90%;
	margin:auto;
	display:flex;
	justify-content:space-evenly;
}
section.plan ul li{
	width:32%;
	list-style:none;
	position:relative;
}
section.plan ul li em{
	font-size:180%;
	font-family:'Jost', sans-serif;
	font-style:normal;
	position:absolute;
	top:0;
	left:0;
}
section.plan ul li img{
	width:100%;
}
section.plan p.note{
	font-size:85%;
	line-height:1.5em;
	width:90%;
	max-width:800px;
	margin:auto;
	border:1px solid #999;
	padding:5px 10px;
	background:#fff;
}


/* section .price*/
section.price{
	padding:20vh 0;
}
section.price h4{
	color:#000;
	font-size:110%;
	font-family:'Jost', sans-serif;
	font-weight:normal;
	line-height:1em;
	margin:0 auto 4em;
	display: flex;
    align-items: center;
    letter-spacing:0.1em;
}
section.price h4:after {
    content: "";
    height: 1px;
    flex-grow: 1;
    background-color: #999;
}
section.price dl{
	width:96%;
	max-width:600px;
	margin:auto;
}
section.price dl h5{
	text-align:center;
	font-size:150%;
	margin-bottom:1em;
}
section.price dl h5 span{
	font-size:220%;
	font-family:'Jost', sans-serif;
}
section.price dl p{
	font-size:90%;
	line-height:2.1em;
}
section.price dl table{
	font-size:90%;
	width:100%;
	border-collapse:  collapse;
	margin-top:50px;
}
section.price dl table tr{
	border-bottom:4px solid #fff;
}
section.price dl table th{
	width:100px;
	padding:1em;
	background:#f5f5f5;
}
section.price dl table td{
	padding:0 0 0 1em;
	border-left:4px solid #fff;
	background:#f9f9f9;
}




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

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

}
section.model .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 .spec*/
section.spec{
	width:90%;
	margin:0 auto 10vh;
}
section.spec h4{
	font-size:150%;
	margin-bottom:20px;
	line-height:1.5em;
}
section.spec h4 span{
	font-family:'Jost', sans-serif;
	font-weight:normal;
	font-size:80%;
	letter-spacing:0em;
	display:block;
}
section.spec ol{
	margin:0 auto 20px;
}
section.spec ol div.floor{
	width:100%;
	padding:30px 0;
	display: flex;
	justify-content: center;
	align-items: center;
	background: linear-gradient(0deg, transparent 9px, #ccc 10px), linear-gradient(90deg,  transparent 9px, #ccc 10px);
	background-size: 10px 10px
}
section.spec ol div.floor .inner{
	width:80%;
	max-width:400px;
}
section.spec ol div.floor .inner.wide{
	max-width:500px;
}
section.spec ol div.floor .inner img{
	width:100%;
}
section.spec ol div.detail{
	width:100%;
	margin-bottom:20px;
}
section.spec ol div.detail ul{
	margin-bottom:20px;
}
section.spec ol div.detail ul li{
	list-style:none;
	font-size:110%;
	border-bottom:1px dotted #000;
}
section.spec ol div.detail ul li span{
	font-size:140%;
	font-family:'Jost', sans-serif;
}
section.spec p{
	font-size:90%;
	line-height:2.1em;
}
section.spec p.note{
	border:1px solid #999;
	padding:5px 10px;
}





/*  section variation */
section.variation{
	margin:0 0 15vh;
	padding:0 0;
}
section.variation .inner{
	width:90%;
	margin:auto;
}
section.variation h4{
	font-family:'Jost', sans-serif;
	font-size:180%;
	line-height:1em;
	font-weight:normal;
	margin:0 0 0.5em 0;
}
section.variation h4 span{
	font-size:70%;
	display:block;
}
section.variation ul{
	margin:auto;
	padding:20px;
	display:flex;
	justify-content:space-between;
	flex-wrap:wrap;
	background: linear-gradient(0deg, transparent 9px, #ccc 10px), linear-gradient(90deg,  transparent 9px, #ccc 10px);
	background-size: 10px 10px;
	margin:20px 0;
}
section.variation ul li{
	width:23%;
	margin:0 0 20px 0;
}
section.variation ul li:nth-child(n+4){
	margin:0 0 0 0;
}
section.variation ul li img{
	width:100%;
}

/* scroll animation */

.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);
	}
}

/* ----------scroll animationdetail–---------- */

.detail ul > li dt.animate:after {
	background:#fff;
}



/* ----------scroll animation variation–---------- */
.variation ul > li.animate.show:nth-of-type(4n+1){
	transition-delay: 0.3s;
}
.variation ul > li.animate.show:nth-of-type(4n+2){
	transition-delay: 0.6s;
}
.variation ul > li.animate.show:nth-of-type(4n+3){
	transition-delay: 0.9s;
}
.variation ul > li.animate.show:nth-of-type(4n+4){
  transition-delay: 1.2s;
}
.variation ul > li.animate:after {
}
.variation ul > li.animate.show:nth-of-type(4n+1):after{
	animation-delay: 0.0s;
}
.variation ul > li.animate.show:nth-of-type(4n+2):after{
	animation-delay: 0.3s;
}
.variation ul > li.animate.show:nth-of-type(4n+3):after{
    animation-delay: 0.6s;
}
.variation ul > li.animate.show:nth-of-type(4n+4):after{
	animation-delay: 0.9s;
}



@media screen and (max-width: 768px) {
	section.ep dl{
		padding:0;
		margin:0;
		display:block;
		justify-content:unset;
	}
	section.ep dl dd:nth-of-type(1){
		width:100%;
		margin:0;
	}
	section.ep dl dd:nth-of-type(2){
		width:100%;
		margin:0;
	}
	section.detail ul li dd{
		width:45%;
		padding:0;
		margin:0;
		box-sizing:border-box;
		display: table;
	}

}

@media screen and (max-width: 599px) {
	section.main .mainV dl{
		width:75%;
		margin:auto;
	}
	section.detail ul li{
		padding:0 0 10vh;
		display:block;
		justify-content:unset;
	}
	section.detail ul li dt{
		width:100%;
	}
	section.detail ul li dd{
		width:100%;
		padding:0 0;
	}
	section.plan ul{
		width:96%;
		margin:auto;
		display:block;
		justify-content:unset;
	}
	section.plan ul li{
		width:70%;
		margin:auto;
	}
	section.plan ul li em{
		font-size:180%;
		font-family:'Jost', sans-serif;
		font-style:normal;
		position:absolute;
		top:0;
		left:0;
	}
}
on.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;
}



/* section model_town */
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/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:1%;
	box-sizing:border-box;
	transition: all 0.4s;
}
section.lineup ul li a{
	text-decoration:none;
	color:#000;
}
section.lineup ul li:hover{
	background:#fff;
}
section.lineup ul li:before{
	line-height:1em;
	color:#fff;
	font-size:800%;
	font-family:'Jost', sans-serif;
	position:absolute;
	top:20px;
	left:30px;
	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:230%;
	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;
}



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

.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;
	}
}

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

@media screen and (max-width: 599px) {
	header .title_box{
		width:240px;
	}
	header .title_box dl h1{
	font-size:70%;
	}
	section.ep,
	section.ep2,
	section.ep3{
		height:unset;
	}
	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;
	}
	section.model .modelhouse h4{
		font-size:200%;
		top:0.3em;
	    left:0.5em;
	}
	section.model .modelhouse h4 em{
		width:70px;
		position:relative;
	}
	section.model .modelhouse h4 em img{
		width:60px;
	}
	section.detail ul li:nth-child(even){
		flex-direction: unset;
	}
	section.detail ul li:nth-child(even) strong{
		left:-0.5em;
		right:unset;
	}
	section.model .fullscreen span{
		font-size:100%;
		padding:0;
	}
	section.price dl h5{
		font-size:120%;
		margin-bottom:1em;
	}
	section.price dl h5 span{
		font-size:220%;
		font-family:'Jost', sans-serif;
	}
}


/* ----------499px–---------- */
@media screen and (max-width: 599px) {
	section.price dl h5{
		font-size:110%;
		margin-bottom:1em;
	}
}