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

/* header */
header{
	width:100%;
	padding-top:10px;
}
header .title_box{
	width:350px;
	padding-left:2vw;
}
header .title_box dl:nth-child(1),
header .title_box dl:nth-child(2){
	margin:0;
}
header .title_box dl:nth-child(2) a{
	display:block;
}
header .title_box dl:nth-child(1) h1{
	font-size:100%;
	margin:0;
}


/* section .mainV */
section.main{
}
section.main .mainV{
	width:100%;
	margin:10vh 0 10vh;
	position:relative;
}
section.main .mainV dl{
	width:50%;
	max-width:800px;
	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:80%;
	max-width:1400px;
	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:40%;
	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;
	margin-bottom:0px;
}
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{
	font-size:105%;
	line-height:2.4em;
	letter-spacing:0.2em;
}


/* 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:80%;
	max-width:1400px;
	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:50%;
    padding:0 30px;
    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,
	        #eee 10px
	        ),
	    linear-gradient(
	        90deg,
	        transparent 9px,
	        #eee 10px
	        );
	background-size: 10px 10px;
}
section.plan h4{
	width:80%;
	max-width:1400px;
	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:80%;
	max-width:1400px;
	padding:40px 0;
	margin:auto;
	display:flex;
	justify-content:space-evenly;
}

section.plan ul li{
	width:40%;
	list-style:none;
	position:relative;
}

section.plan ul li:nth-last-child(n+3),
section.plan ul li:nth-last-child(n+3):first-child ~ li {
  width:30%;
}


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:60%;
	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%;
	background:#f0f0f0;
	margin:0 auto;
}
section.model .modelhouse{
	position:relative;
}

section.model .modelhouse iframe{
	width:100%;
	height:75vh;
	border:none;
}
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:90px;
	position:relative;
}
section.model .modelhouse h4 em img{
	width:80px;
	position:absolute;
	top:-0.5em;
	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:80%;
}
section.model .modelhouse h4 strong{
	font-size:80%;
	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:80%;
	max-width:1400px;
	margin:0 auto 15vh;
}
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{
	display:flex;
	justify-content:space-between;
	margin-bottom:20px;
}
section.spec ol div.floor{
	width:55%;
	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:40%;
}
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;
}




/* 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 {
	background:#fff;
}
.variation ul > li.animate.show:nth-of-type(4n+1):after{
	animation-delay: 0.0s;
	-webkit-filter:none;
    filter: none;
}
.variation ul > li.animate.show:nth-of-type(4n+2):after{
	animation-delay: 0.3s;
	-webkit-filter:none;
    filter: none;
}
.variation ul > li.animate.show:nth-of-type(4n+3):after{
    animation-delay: 0.6s;
    -webkit-filter:none;
    filter: none;
}
.variation ul > li.animate.show:nth-of-type(4n+4):after{
	animation-delay: 0.9s;
	-webkit-filter:none;
    filter: none;
}
