@charset "utf-8";

@import url('https://fonts.googleapis.com/css?family=Montserrat:100,400&display=swap');

html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {
	margin:0;
	padding:0;
	border:0;
	outline:0;
	vertical-align:baseline;
	background:transparent;
	list-style-type: none;
}
*, *:before, *:after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
	display:block;
}
nav ul {
	list-style:none;
}
blockquote, q {
	quotes:none;
}
blockquote:before, blockquote:after, q:before, q:after {
	content:'';
	content:none;
}
a {
	margin:0;
	padding:0;
	font-size:100%;
	text-decoration:none;
	background:transparent;
	color:#fff;
	outline : none !important;
}
/* change colours to suit your needs */
ins {
	background-color:#ff9;
	color:#000;
	text-decoration:none;
}
/* change colours to suit your needs */
mark {
	background-color:#ff9;
	color:#000;
	font-style:italic;
	font-weight:900 !important;
}
del {
	text-decoration: line-through;
}
abbr[title], dfn[title] {
	border-bottom:1px dotted;
	cursor:help;
}
table {
	border-collapse:collapse;
	border-spacing:0;
}
/* change border colour to suit your needs */
hr {
	display:block;
	height:1px;
	border:0;
	border-top:1px solid #cccccc;
	margin:1em 0;
	padding:0;
}
input, select {
	vertical-align:middle;
}
/*------------------------------------------------------------------------------ SET --*/
.pcv {
	display:block !important;
}
.spv {
	display:none !important;
}
@media screen and (max-width:750px) {
.pcv {
	display:none !important;
}
.spv {
	display:block !important;
}
img {
	width:100%;
	height:auto;
}
}
.dispNon {
	display:none !important;
}
/* ----------------------------------------------------------
#preloader
---------------------------------------------------------- */ 
#preloader {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: #000000;
	z-index: 99998;
	overflow:hidden;
}
/*
#preloader p{
	position:absolute;
	top: 0;
	left: -100%;
	width:100%;
	height:100%;
	z-index: 99999;
	background:url(../img/intro_bar.png) center left no-repeat;
	background-size:100% 20px;
	transition: transform 0.6s cubic-bezier(0.86, 0, 0.07, 1);
	overflow:hidden;
	}
#preloader p.start{
	left:0;
}
#preloader p.out{
	transition: transform 0.6s cubic-bezier(0.86, 0, 0.07, 1);
	left:100% !important;
}
@media screen and (max-width:750px) {
#preloader p{
	position:absolute;
	top: 0;
	left: -100%;
	width:100%;
	height:100%;
	z-index: 99999;
	background:url(../img/intro_bar.png) center left no-repeat;
	background-size:100% 10px;
	transition:.4s ease-in-out;
	overflow:hidden;
	}	
}
*/
#preloader p{
	position:absolute;
	top: 0;
	left: -200%;
	width:100%;
	height:100%;
	z-index: 99999;
	background:url(../img/intro_bar_line.png) center left no-repeat;
	background-size:100% 1px;
	transition: all 600ms cubic-bezier(0.86, 0, 0.07, 1);
	overflow:hidden;
	}
#preloader p.start{
	left:0;
}
#preloader p.out{
	left:100% !important;
}
@media screen and (max-width:750px) {
#preloader p{
	position:absolute;
	top: 0;
	left: -200%;
	width:100%;
	height:100%;
	z-index: 99999;
	background:url(../img/intro_bar_line.png) center left no-repeat;
	background-size:100% 1px;
	overflow:hidden;
	}	
}
/*
.spinner {
	text-align: center;
	width: 50px;
	height: 50px;
	background: url(../img/line_move_100.gif) no-repeat center center;
	background-size:50px 50px;
	position: absolute;
	left: 50%;
	top: 50%;
	margin: -25px 0 0 -25px;
	z-index: 99999;
	color:#fff;
}
*/
/*------------------------------------------------------------------------------ COMMON --*/
body {
	width:100%;
	/*min-width:1140px;*/
	margin: 0;
	padding:0;
	color:#ffffff;
	background:#111111;
	text-align:left;
	font-family:"游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "Helvetica Neue", Helvetica, Arial, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	-webkit-text-size-adjust: 100%;
	-webkit-font-smoothing: antialiased;
	position:relative;
	line-height:0;
	font-size:15px;
	font-weight: 400;
	overflow-x:hidden;
}
.en{
	font-family: 'Montserrat', sans-serif !important;
	}
html,
body {
	height: 100%;
	margin:0;
}
body {
  cursor: none;
}
a {
  cursor: none;
}
.cursor,
.follower {
  border-radius: 50%;
  position: absolute;
  top: 0;
  left: 0; 
  pointer-events: none;
}

.cursor {
  width: 8px;
  height: 8px;
  background-color: #dc0000;
  z-index: 1102 !important;
  opacity:0.9;
}

.follower {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 40px;
  height: 40px;
  /*background-color: #dc0000;
  opacity:0.24;
  follower
  */
	border-radius: 50%;
	background-color: #dc0000;
	opacity:0.2;
  z-index: 1101 !important;
  transition: transform ease .3s;
  text-align: center;
}
.follower span {
    display: inline-block;
    font-size: 14px;
    font-weight: bold;
    transform: scale(0);
  }
.cursor.is-active {
    background-color: #ffffff;
  }
.follower.is-active {
    transform: scale(2);
  }
#cont {
	position:relative;
	width:100%;
	margin:0 auto;
	padding:0;
}
@media screen and (max-width:750px) {
body {
	min-width:320px;
	font-size:13px;
}
#cont {
	position:relative;
	width:100%;
	min-width:320px;
	padding:0;
}
body {
  cursor:default;
}
a {
  cursor:pointer;
}
.cursor,
.follower {
	display:none;
}
}
/*------------------------------------------------------------------------------ HEAD --*/
header {
	position:fixed;
	top:40px;
	left:40px;
	width:140px;
	z-index:998;
}
header h1 {
	position:relative;
	width:140px;
}
header h1{
	width:100%;
	height:auto;
	}
nav{
	position:fixed;
	top:0;
	right:-80px;
	width:80px;
	height:100%;
	z-index:990;
	transition: all 1200ms cubic-bezier(0.265, 0.950, 0.095, 0.985) !important;
	/*transform:rotate(90deg);*/
	overflow:hidden;
	}
nav.start{
	right:0;
}
nav ul{
	position:absolute;
	top:50%;
	left:25px;
	width:30px;
	transform:translateY(-50%);
	text-align:center;
	overflow:hidden;
}
nav ul li{
	position:relative;
	/*
	font-size:10px;
	line-height:10px;
	font-weight:400;
	letter-spacing:.1em;
	font-family: 'Montserrat', sans-serif !important;
	*/
	text-align:left;
	margin-top:4vh;
}
nav ul li:nth-child(1){
	margin-top:0;
}
nav ul li a{
	display:block;
	padding:0 11px;
}
.line1{
	position:fixed;
	width: 1px;
	height: 100%;
	top:0;
	left:80px;
	background:#333;
	z-index:-1;
	}

.line2{
	position:fixed;
	width: 1px;
	height: 100%;
	top:0;
	left:50%;
	transform:translateX(-50%);
	background:#333;
	z-index:-1;
}
.line3{
	display:none;
	}
.line_current{
	position:fixed;
	top:103vh;
	right:77px;
	width: 2px;
	height: 50px;
	background:#dc0000;
	transition: all 600ms cubic-bezier(0.265, 0.950, 0.095, 0.985) !important;	
	}
.line_move{position:fixed;top:0;right:80px;width:1px;height:100vh;z-index:500;background:none;overflow:hidden;}
.line_move_progress{
	position:absolute;
	top:-100vh;
	right:0;
	width:1px;
	height:100vh;
	background:#dc0000;
	transition:.3s ease-in-out;
	z-index:501;
	}
.line_move_progress_end{
	position:absolute;
	top:-100vh;
	right:0;
	width:1px;
	height:100vh;
	background:#333;
	transition:.3s ease-in-out;
	z-index:502;
	}
.line_move_progress.start,
.line_move_progress_end.start{
	top:0;
	transform: translate3d(0, 0, 0);
	transition:.3s ease-in-out;
}
/*------------------------------------------------------------------------------ FOOT --*/
#contact{
	position:relative !important;
	width:100%;
	padding:60px 80px 0;
	margin:0;
}
#contact>div{
	position:relative;
	width:100%;
	max-width:1200px;
	margin:0 auto;
	text-align:center;
}
#contact h3{
	position:relative;
	text-align:left;
	font-size:20px;
	line-height:30px;
	font-weight:100;
	letter-spacing:.2em;
	font-family: 'Montserrat', sans-serif !important;
	padding:30px 0;
}
#contact ul{
	position:relative;
	width:100%;
	display:table;
	zoom:1;
	overflow:hidden;
}
#contact ul li{
	display:table-cell;
	width:23%;
	text-align:left;
	vertical-align:top;
	padding:0;
}
#contact ul li:nth-child(1){
	width:51%;
	}
#contact ul li:nth-child(2){
	width:28%;
	padding:0 20px;
}
#contact ul li dl{
	position:relative;
}
#contact ul li dl dt{
	font-size:14px;
	line-height:14px;
	font-weight:600;
	letter-spacing:.2em;
	font-family: 'Montserrat', sans-serif !important;
}
#contact ul li dl dd{
	font-size:14px;
	line-height:14px;
	font-weight:400;
	letter-spacing:.1em;
	padding:20px 0 0;
}
#contact ul li p{
	font-size:12px;
	line-height:20px;
	font-weight:400;
	padding:20px 0 0;
}
#contact .showroom{
	position:relative;
	width:100%;
	zoom:1;
	overflow:hidden;
	margin:40px 0 0;
	}
#contact .showroom dl{
	position:relative;
	text-align:left;
}
#contact .showroom dl dt{
	font-size:14px;
	line-height:14px;
	font-weight:600;
	letter-spacing:.2em;
	font-family: 'Montserrat', sans-serif !important;
}
#contact .showroom dl dd{
	font-size:14px;
	line-height:14px;
	font-weight:400;
	letter-spacing:.1em;
	padding:20px 0 0;
}
#contact .showroom p.txt{
	font-size:12px;
	line-height:20px;
	font-weight:400;
	padding:20px 0 0;
	text-align:left;
}
#contact .showroom .room{
	position:relative;
	display:table;
	border-collapse:collapse;
	margin:32px 0 0;
}
#contact .showroom .room p.cap{
	position:relative;
	display:table-cell;
	text-align:left;
	vertical-align:top;
	padding:0 25px 0 22px;
	font-size:12px;
	line-height:20px;
	font-weight:400;
	text-indent:-12px;
}
#contact .showroom .room a{
	position:relative;
	display:table-cell;
	text-align:left;
	vertical-align:top;
	padding:0 24px 0 0;
}
#contact .showroom .room a img{
	width:160px;
	height:auto;
}
#contact .showroom .room a span{
	position:relative;
	display:block;
	font-size:12px;
	line-height:14px;
	font-weight:400;
	padding:9px 0 0;
	text-align:left;
}
footer{
	position:relative;
	width:100%;
	max-width:1200px;
	margin:0 auto;
	padding:100px 0 0;
	text-align:center;
}
footer .cc{
	position:relative;
	text-align:center;
	font-size:12px;
	line-height:30px;
	font-weight:400;
	letter-spacing:.2em;
	font-family: 'Montserrat', sans-serif !important;
	padding:0 0 30px;
}
footer a{
	position:absolute;
	display:block;
	left:0;
	bottom:30px;
	z-index:100;
}
#totop{
	position:absolute;
	display:block;
	right:115px;
	bottom:0;
	width:200px;
	height:10px;
    transform: rotate(90deg);
	transform-origin:right top;
	z-index:9999;
}
#totop .txt{
	position:absolute;
	top:0;
	left:120px;
	font-size:10px;
	line-height:10px;
	font-family: 'Montserrat', sans-serif !important;
	font-weight: 400;
	font-style: normal;	
	color:#fff;
	letter-spacing:0.2em;
	/*transform: rotate(180deg);
	transform-origin:center center;*/
}
#totop .arrow{
	position:absolute;
	left:0;
	top:4px;
	width:100px;
	height:1px;
	background:#333;
	overflow:hidden;
}
#totop .arrow span{
	position:absolute;
	display:block;
	left:0;
	top:0;
	width:100px;
	height:1px;
	background:#dc0000;
	transform: translate3d(0, 0, 0);
	animation: arrow_animation2 2s ease-out infinite;	
}
#totop .pin{
	position:absolute;
	left:0;
	top:1px;
	width:100px;
	height:10px;
	background:#dc0000;
	overflow:hidden;
	border-radius:5px;
}
@keyframes arrow_animation2 {
  0% {left:100px;}
  25% {left:0;}
  75% {left:0;}
  100% {left:-100px;}
}
.btn_menu,
#sp_nav{
	display:none;
	}
/*------------------------------------------------------------------------------ 750px under --*/
@media screen and (max-width:750px) {
header {
	position:fixed;
	top:5vw;
	left:4vw;
	width:34vw;
	z-index:998;
}
header h1 {
	position:relative;
}
nav{
	display:none !important;
	}
.line1{
	position:fixed;
	width: 1px;
	height: 100%;
	top:0;
	left:4vw;
	background:#333;
	z-index:-1;
	}

.line2{
	position:fixed;
	width: 1px;
	height: 100%;
	top:0;
	left:50%;
	transform:translateX(-50%);
	background:#333;
	z-index:-1;
}
.line3{
	position:fixed;
	top:0;
	right:4vw;
	width: 1px;
	height: 100%;
	background:#333;
	z-index:-1;
	display:block;
	}
.line_current{
	display:none;
	}
.line_move{display:none;}
.btn_menu {
	display: inline-block;
	position:fixed;
	top:4vw;
	right:4vw;
	width: 30px;
	height: 30px;
	z-index:999;
	cursor:pointer;
}
.btn_menu.closebg {
}
.btn_menu_icon {
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	width: 30px;
	height: 2px;
	margin: -1px 0 0 -15px;
	background: #dc0000;
	transition: .2s;
}
.btn_menu_icon:before{
	display: block;
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	width: 30px;
	height: 2px;
	background: #dc0000;
	transition: .3s;
}
.btn_menu_icon:after {
	display: block;
	content: "";
	position: absolute;
	top: 50%;
	left: 10px;
	width: 20px;
	height: 2px;
	background: #dc0000;
	transition: .3s;
}
.btn_menu_icon:before {
	margin-top: -12px;
}
.btn_menu_icon:after {
	margin-top: 10px;
}
.btn_menu .close {
	background: transparent;
}
.btn_menu .close:before, .btn_menu .close:after {
	margin-top: 0;
}
.btn_menu .close:before {
	background-color:#dc0000;
	transform: rotate(-45deg);
	-webkit-transform: rotate(-45deg);
}
.btn_menu .close:after {
	background-color:#dc0000;
	transform: rotate(-135deg);
	-webkit-transform: rotate(-135deg);
	left: 0;
	width: 30px;
}
#sp_nav{
	display: inline-block;
	position:fixed;
	top:0;
	right:-100vw;
	width:auto;
	height: 100%;
	z-index:990;
	background:#111111;
	transition: all 1200ms cubic-bezier(0.265, 0.950, 0.095, 0.985) !important;
	overflow-y:auto;
	}
#sp_nav.open{
	right:0;
}
#sp_nav ul{
	position:relative;
	padding:20vw 8vw 0;
}
#sp_nav ul li{
	position:relative;
	text-align:left;
	font-size:14px;
	line-height:14px;
	font-weight:400;
	letter-spacing:.1em;
	font-family: 'Montserrat', sans-serif !important;
	color:#fff;
	padding:0 0 12vw;
}
#sp_nav ul li a{
	color:#fff;
}
/*------------------------------------------------------------------------------ FOOT --*/
#contact{
	position:relative !important;
	width:100%;
	padding:20vw 0 0;
	margin:0;
}
#contact>div{
	position:relative;
	width:100%;
	max-width:1200px;
	margin:0 auto;
	text-align:center;
	padding:0 4vw;
}
#contact h3{
	position:relative;
	text-align:left;
	font-size:20px;
	line-height:30px;
	font-weight:100;
	letter-spacing:.2em;
	font-family: 'Montserrat', sans-serif !important;
	padding:0;
}
#contact ul{
	position:relative;
	width:100%;
	display:block;
	zoom:1;
	overflow:hidden;
}
#contact ul li{
	display:block;
	float:left;
	width:50%;
	text-align:left;
	vertical-align:top;
	padding:8vw 2vw 0;
}
#contact ul li:nth-child(1){
	width:50%;
	}
#contact ul li:nth-child(2){
	width:50%;
	padding:8vw 2vw 0;
}
#contact ul li dl{
	position:relative;
}
#contact ul li dl dt{
	font-size:14px;
	line-height:14px;
	font-weight:600;
	letter-spacing:.1em;
	font-family: 'Montserrat', sans-serif !important;
}
#contact ul li dl dd{
	font-size:13px;
	line-height:13px;
	font-weight:400;
	letter-spacing:.1em;
	padding:4vw 0 0;
}
#contact ul li p{
	font-size:12px;
	line-height:20px;
	font-weight:400;
	letter-spacing:0;
	padding:4vw 0 0;
}
#contact .showroom{
	position:relative;
	display:block;
	float:left;
	width:100%;
	text-align:left;
	vertical-align:top;
	padding:8vw 2vw 0;
	margin:0;
	}
#contact ul li .room_l{
	position:relative;
	float:left;
	width:50%;
}
#contact .showroom p.txt{
	font-size:13px;
	line-height:13px;
	font-weight:400;
	letter-spacing:.1em;
	padding:4vw 0 0;
}
#contact .showroom .room{
	position:relative;
	display:block;
	border-collapse:collapse;
	margin:0 0 0;
	float:left;
	width:50%;
	padding:4vw 2vw 0;
}
#contact .showroom .room p.cap{
	position:relative;
	display:block;
	text-align:left;
	vertical-align:top;
	padding:14px 0 0 12px;
	font-size:12px;
	line-height:20px;
	font-weight:400;
	text-indent:-12px;
}
#contact .showroom .room a{
	position:relative;
	display:block;
	text-align:left;
	vertical-align:top;
	padding:4vw 0 0 0;
}
#contact .showroom .room a img{
	width:100%;
	height:auto;
}
#contact .showroom .room a span{
	position:relative;
	display:block;
	font-size:12px;
	line-height:14px;
	font-weight:400;
	padding:2vw 0 0;
	text-align:left;
}
footer{
	position:relative;
	width:100%;
	max-width:1200px;
	margin:0 auto;
	padding:16vw 4vw 0;
	text-align:center;
}
footer .cc{
	position:relative;
	text-align:center;
	font-size:10px;
	line-height:15px;
	font-weight:400;
	letter-spacing:0;
	font-family: 'Montserrat', sans-serif !important;
	padding:8vw 0 4vw;
}
footer a{
	position:relative;
	display:block;
	left:0;
	bottom:0;
	width:32vw;
	z-index:100;
}
#totop{
	position:absolute;
	display:block;
	right:4vw;
	bottom:0;
	width:200px;
	height:10px;
    transform: rotate(90deg);
	transform-origin:right top;
	z-index:9999;
}
#totop .txt{
	position:absolute;
	top:0;
	left:80px;
	font-size:10px;
	line-height:10px;
	font-family: 'Montserrat', sans-serif !important;
	font-weight: 400;
	font-style: normal;	
	color:#fff;
	letter-spacing:0.2em;
	/*transform: rotate(180deg);
	transform-origin:center center;*/
}
#totop .arrow{
	position:absolute;
	left:0;
	top:4px;
	width:60px;
	height:1px;
	background:#333;
	overflow:hidden;
}
#totop .arrow span{
	position:absolute;
	display:block;
	left:0;
	top:0;
	width:60px;
	height:1px;
	background:#dc0000;
	transform: translate3d(0, 0, 0);
	animation: arrow_animation2 2s ease-out infinite;	
}
#totop .pin{
	position:absolute;
	left:0;
	top:1px;
	width:60px;
	height:10px;
	background:#dc0000;
	overflow:hidden;
	border-radius:5px;
}
@keyframes arrow_animation2 {
  0% {left:60px;}
  25% {left:0;}
  75% {left:0;}
  100% {left:-60px;}
}
}
/*------------------------------------------------------------------------------ CONT --*/
section .log {
	position:absolute;
	left:0;
	top:20%;
	width:1px;
	height:20%;
	z-index:1;
	opacity:0;
}
#main_v {
	position:relative;
	width:100%;
	height:100vh;
	overflow:hidden;
	margin:0 auto;
	background:#000;
}
#main_v>div{
	position:relative;
	width:100%;
	height:100%;
	background:url(../img/fv.png) center center no-repeat;
	background-size:cover;
	opacity:0;
}
#main_v>div.start{
	transition: all 1200ms cubic-bezier(0.265, 0.950, 0.095, 0.985) !important;	
	opacity:1;
}
#main_v h2{
	position:absolute;
	text-align:center;
	top:50%;
	left:50%;
	transform:translate(-50%,-50%);
	font-size:20px;
	line-height:20px;
	font-weight:100;
	letter-spacing:.8em;
	font-family: 'Montserrat', sans-serif !important;
	color:#fff;
}
#main_v h2 span{
	position:relative;
	display:inline-block;
	transform:translateX(-50px);
	opacity:0;
}
#main_v h2 span.start{
	transform:translateX(0);
	transition: all 900ms cubic-bezier(0.265, 0.950, 0.095, 0.985) !important;	
	opacity:1 !important;
}
#main_v .scr{
	position:absolute;
	display:block;
	left:35px;
	bottom:-100px;
	width:200px;
	height:10px;
    transform: rotate(90deg);
	transform-origin:left top;
}
#main_v .scr.start{
	transition:.9s ease-in-out;
	bottom:190px;	
}

#main_v .scr .txt{
	position:absolute;
	top:0;
	left:0;
	font-size:10px;
	line-height:10px;
	font-family: 'Montserrat', sans-serif !important;
	font-weight: 400;
	font-style: normal;	
	color:#fff;
	letter-spacing:0.2em;
	transform: rotate(180deg);
	transform-origin:center center;
}
#main_v .scr .arrow{
	position:absolute;
	left:70px;
	top:4px;
	width:130px;
	height:1px;
	background:#333;
	overflow:hidden;
}
#main_v .scr .arrow span{
	position:absolute;
	display:block;
	left:0;
	top:0;
	width:130px;
	height:1px;
	background:#dc0000;
}
#main_v .scr.start .arrow span{
	transform: translate3d(0, 0, 0);
	animation: arrow_animation 2s ease-out infinite;	
}
#main_v .scr .pin{
	position:absolute;
	left:70px;
	top:1px;
	width:130px;
	height:10px;
	background:#dc0000;
	overflow:hidden;
	border-radius:5px;
}
@keyframes arrow_animation {
  0% {left:-130px;}
  25% {left:0;}
  75% {left:0;}
  100% {left:130px;}
}

#overview {
	position:relative;
	width:100%;
	height:1080px;
	overflow:hidden;
	background:#000;
}
#overview #video {
	position:relative;
	width:100%;
	height:100%;
	padding-bottom: 56.25%;
	height: 0;
	overflow: hidden;
	margin:0;
	padding-top:0;
	padding-left:0;
	padding-right:0;
}
#overview #video video {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	margin:0;
	padding:0;
}
#overview #video::after {
    content:  '';
    height: 100%;
    width: 100%;
    display:  block;
    position:  absolute;
    top: 0;
	right:0;
	background:url(../img/dot.png) 0 0 repeat;
	background-size:2px 2px;
}
#overview a{
	position:absolute;
	text-align:center;
	top:50%;
	left:50%;
	transform:translate(-50%,-50%);
}
#overview .box{
	position:absolute;
	top:120px;
	left:50%;
	width:100%;
	max-width:1360px;
	margin:0;
	text-align:center;
	transform:translateX(-50%);
	padding:0 80px;
}
#overview .box h3{
	position:relative;
	text-align:left;
	font-size:60px;
	line-height:60px;
	font-weight:100;
	letter-spacing:.2em;
	font-family: 'Montserrat', sans-serif !important;
	padding:0;
}
#overview .box p{
	position:relative;
	text-align:left;
	font-size:20px;
	line-height:36px;
	font-weight:400;
	letter-spacing:.1em;
	padding:35px 0 0;
	text-align: justify;
	text-justify: inter-ideograph;
}
#overview .box span{
	position:relative;
	display:block;
	text-align:left;
	font-size:14px;
	line-height:28px;
	font-weight:400;
	letter-spacing:.1em;
	padding:20px 0 0;
	text-align: justify;
	text-justify: inter-ideograph;
}
#overview .box h3,
#overview .box p,
#overview .box span{
	transform:translateX(-50px);
	opacity:0;
}
#overview .box h3.start,
#overview .box p.start,
#overview .box span.start{
	transform:translateX(0);
	transition: all 1200ms cubic-bezier(0.265, 0.950, 0.095, 0.985) !important;	
	opacity:1 !important;
}
#features {
	position:relative;
	width:100%;
	max-width:1360px;
	overflow:hidden;
	margin:0 auto 0;
	padding:0 80px;
}
#features h3{
	position:absolute;
	top:130px;
	right:80px;
	pointer-events: none;
}
#features h3 img{
	width:43px;
	height:auto;
}
#features .box{
	position:relative;
	width:100%;
	margin:0;
	text-align:center;
	padding:130px 90px 30px 0;
	pointer-events: none;
}
#features .box p{
	position:relative;
	text-align:left;
	font-size:20px;
	line-height:36px;
	font-weight:400;
	letter-spacing:.1em;
	padding:0 0 0;
	text-align: justify;
	text-justify: inter-ideograph;
}
#features .box span{
	position:relative;
	display:block;
	text-align:left;
	font-size:14px;
	line-height:28px;
	font-weight:400;
	letter-spacing:.1em;
	padding:20px 0 0;
	text-align: justify;
	text-justify: inter-ideograph;
}
#features h3{
	transform:translateY(-50px);
	opacity:0;
}
#features h3.start{
	transform:translateY(0);
	transition: all 1200ms cubic-bezier(0.265, 0.950, 0.095, 0.985) !important;	
	opacity:1 !important;
}
#features .box p,
#features .box span{
	transform:translateX(-50px);
	opacity:0;
}
#features .box p.start,
#features .box span.start{
	transform:translateX(0);
	transition: all 1200ms cubic-bezier(0.265, 0.950, 0.095, 0.985) !important;	
	opacity:1 !important;
}

#features #color_box{
	position:absolute;
	bottom:0;
	right:80px;
	padding:40px 0;
	width:90px;
	background:#eeeeee;
	z-index:10;
}
#features #color_box .sub_ttl{
	position:relative;
	text-align:center;
}
#features #color_box .sub_ttl img{
	margin:0 auto;
}
#features #color_box ul{
	position:relative;
	padding:20px 0 0 !important;
	margin:0 auto !important;
	width:35px;
}
#features #color_box ul li{
	position:relative;
	margin:5px 0 0 !important;	
	padding:0 !important;	
}
#features #color_box ul li:nth-child(1),
#features #color_box ul li:nth-child(2),
#features #color_box ul li:nth-child(3){
	display:none;
}
#features #color_box ul li a{
	position:relative;
	display:block;
}
#features #color_box ul li img{
	position:relative;
	width:100% !important;	
	height:auto;
	z-index:12 !important;
}
#features #features_set {
	position:relative;
	width:100% !important;
	height:auto !important;
	padding:0 90px 0 0;
}
#features #color_box ul li.current a::before {
    content:  '';
    height: 100%;
    width: 100%;
    display:  block;
    position:  absolute;
    top: 0;
	left:0;
	border-radius: 50%;
	background-color: #dc0000;
	opacity:0.4;
	z-index:11 !important;
}
#features #features_set .color_set{
	position:absolute;
	top:0;
	left:0;
	width:100%;
	padding:0 90px 0 0;
	z-index:4;
}

#features #features_set .color_set.current{
	z-index:5;
	}
#features #features_set .bg{
	pointer-events: none;
}
#features #features_set .bg img,
#features #features_set .color_set p img{
	width:100% !important;	
	height:auto;
}
#features #features_set .color_set a {
	position:absolute;
	display:block;
	top:0;
	left:0;
	width:10px;
	height:10px;
	/*
	background:url(../img/point.png) center center no-repeat;
	background-size:100% auto;
	*/
	border-radius: 50%;
	background-color: #dc0000;
	opacity:0.8;
}
#features #features_set .color_set a::before{
    content:  '';
    height: 100%;
    width: 100%;
    display:  block;
    position:  absolute;
    top: 50%;
	left:50%;
	transform:translate(-50%,-50%) scale(3);
	transform-origin:50% 50%;
	border-radius: 50%;
	background-color: #dc0000;
	opacity:0.3;
	animation: point_animation 3s ease-in-out infinite;
}

@keyframes point_animation {
  0% {opacity:0.3;transform:translate(-50%,-50%) scale(3);}
  50% {opacity:0.3;transform:translate(-50%,-50%) scale(3.8);}
  0% {opacity:0.3;transform:translate(-50%,-50%) scale(3);}
}
#features #features_set .color_set a.point1 {top:16%;left:36%;}/*開口部　1*/
#features #features_set .color_set a.point2 {top:85%;left:36%;}/*開口部　1*/
#features #features_set .color_set a.point3 {top:68%;left:42%;}/*端部　2*/
#features #features_set .color_set a.point4 {top:91%;left:55%;}/*コーナー　3*/
#features #features_set .color_set a.point5 {top:79%;left:69%;}/*直線　4*/
#features #features_set .color_set a.point6 {top:72%;left:49%;}/*扉　5*/
#features #features_set .color_set a.point7 {top:57%;left:47%;}/*DG　6*/
#features #features_set .color_set a.point8 {top:76%;left:44%;}/*3way　7*/
#features #features_set .color_set a.point9 {top:89%;left:49%;}/*吊り金具　8*/
#features #features_set .color_set a.point10 {top:57%;left:36%;}/*ドアハンドル　9*/
#features #features_set .color_set a.point11 {top:82%;left:30%;}/*追加　11*/
#features #features_set .color_set a.point12 {top:86.5%;left:42%;}/*追加　12*/
#features #features_set .color_set span {
	position:absolute;
	display:block;
	top:57%;
	left:47%;
	margin:-12px 0 0 5px;
	pointer-events: none;
}
#features #features_set #color4 span,
#features #features_set #color5 span,
#features #features_set #color6 span {
	position:absolute;
	display:block;
	top:57%;
	left:36%;
	margin:-12px 0 0 5px;
	pointer-events: none;
}
#features #features_set #color7 span {
	position:absolute;
	display:block;
	top:86.3%;
	left:42%;
	margin:-10px 0 0 5px;
	pointer-events: none;
}
#features_modal{
	position:fixed;
	top:0;
	left:-200%;
	width:100%;
	height:100%;
	z-index:1000 !important;
	opacity:0;
	}
#features_modal.open{
	animation: modal_open 0.9s ease-out forwards;	
}
@keyframes modal_open {
  0% {left:0;opacity:0;}
  100% {left:0;opacity:1;}
}
#features_modal.close{
	animation: modal_close 0.9s ease-out forwards;	
}
@keyframes modal_close {
  0% {left:0;opacity:1;}
  95% {left:0;opacity:0;}
  100% {left:-200%;opacity:0;}
}
#features_modal .bg{
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	background:rgba(0,0,0,0.8);
	}
#features_modal .features_modal_set{
	position:absolute;
	top:50%;
	left:50%;
	transform:translate(-50%,-50%);
	width:100%;
	max-width:900px;
	padding:60px;
	background:#eeeeee;
	z-index:1001;
	opacity:0;
}
#features_modal .features_modal_set.current{
	z-index:1005 !important;
	opacity:1 !important;
}
#features_modal .features_modal_set img{
	width:100%;
	height:auto;
}
#features_modal .features_modal_set dt{
	position:relative;
	width:100%;
	text-align:left;
	font-size:16px;
	line-height:28px;
	font-weight:400;
	letter-spacing:.1em;
	padding:16px 0 0;
	text-align: justify;
	text-justify: inter-ideograph;
	color:#111;
}
#features_modal .features_modal_set dd{
	position:relative;
	width:100%;
	text-align:left;
	font-size:12px;
	line-height:24px;
	font-weight:400;
	letter-spacing:.1em;
	padding:12px 0 0;
	text-align: justify;
	text-justify: inter-ideograph;
	color:#111;
}
#features_modal .features_modal_set .close{
	position:absolute;
	top:-20px;
	right:-20px;
	width:40px;
	height:40px;
	background:url(../img/close_f.png) center center no-repeat;
	background-size:100% auto;
	z-index:1010;
}


#finishing {
	position:relative;
	width:100%;
	max-width:1360px;
	overflow:hidden;
	margin:0 auto 0;
	padding:0 80px;
}

#finishing .box{
	position:relative;
	width:100%;
	margin:0;
	text-align:center;
	padding:130px 90px 30px 0;
}
#finishing .box h3{
	position:relative;
	text-align:left;
	font-size:60px;
	line-height:60px;
	font-weight:100;
	letter-spacing:.2em;
	font-family: 'Montserrat', sans-serif !important;
	padding:0;
}
#finishing .box p{
	position:relative;
	text-align:left;
	font-size:20px;
	line-height:36px;
	font-weight:400;
	letter-spacing:.1em;
	padding:35px 0 0;
	text-align: justify;
	text-justify: inter-ideograph;
}
#finishing .box span{
	position:relative;
	display:block;
	text-align:left;
	font-size:14px;
	line-height:28px;
	font-weight:400;
	letter-spacing:.1em;
	padding:20px 0 0;
	text-align: justify;
	text-justify: inter-ideograph;
}
#finishing .box h3,
#finishing .box p,
#finishing .box span{
	transform:translateX(-50px);
	opacity:0;
}
#finishing .box h3.start,
#finishing .box p.start,
#finishing .box span.start{
	transform:translateX(0);
	transition: all 1200ms cubic-bezier(0.265, 0.950, 0.095, 0.985) !important;	
	opacity:1 !important;
}

#finishing_set{
	position:relative;
	width:100%;	
	}
#finishing_set dl{
	position:relative;
	width:100%;
	margin:45px 0 0;
	display:table;
}
#finishing_set dt{
	position:relative;
	display:table-cell;
	vertical-align:top;
	text-align:left;
	width:220px;
	font-size:14px;
	line-height:24px;
	font-weight:400;
	letter-spacing:.1em;
	font-family: 'Montserrat', sans-serif !important;
}

#finishing_set dt span{
	display:block;
	font-size:12px;
	line-height:30px;
	font-weight:400;
	font-family:"游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "Helvetica Neue", Helvetica, Arial, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif !important;
}
#finishing_set dd{
	position:relative;
	display:table-cell;
	vertical-align:top;
	text-align:left;
}
#finishing_set dd .pc_list{
	position:relative;
	width:100%;
	zoom:1;
	overflow:hidden;
}
#finishing_set dd .pc_list a{
	display:block;
	float:left;
	width:14%;
	border-left:#111111 4px solid;
	overflow:hidden;
}

#finishing_set dd .pc_list a img{
	display:block;
	width:100%;
	height:49px;
}
#finishing_set dd .pc_list a.g_line img{
	border:#666 1px solid;
}
#finishing_set dd .sp_list a img{
	display:block;
	width:100%;
	height:10.6vw;
}
#finishing_set dd .sp_list a.b_line{
	display:block;
	border-right:#111 1px solid;
}
#finishing_set dd .pc_list a p{
	display:block;
	font-size:10px;
	line-height:16px;
	font-weight:400;
	letter-spacing:.1em;
	font-family: 'Montserrat', sans-serif !important;
	padding:10px 0 0;
}
#finishing_set dd .sp_list{
	position:absolute;
	top:0;
	left:-100%;
	width:0;
}
#finishing_modal{
	position:fixed;
	top:0;
	left:-200%;
	width:100%;
	height:100%;
	z-index:1000 !important;
	opacity:0;
	}
#finishing_modal.open{
	animation: modal_open 0.9s ease-out forwards;	
}
#finishing_modal.close{
	animation: modal_close 0.9s ease-out forwards;	
}
#finishing_modal .bg{
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	background:rgba(0,0,0,0.8);
	}
#finishing_modal .finishing_modal_set{
	position:absolute;
	top:50%;
	left:50%;
	transform:translate(-50%,-50%);
	width:600px;
	padding:0;
	z-index:1002;
	opacity:0;
}
#finishing_modal .finishing_modal_set.current{
	opacity:1;
	z-index:1005 !important;
}
#finishing_modal .finishing_modal_set .close{
	position:absolute;
	top:-40px;
	right:-40px;
	width:80px;
	height:80px;
	background:url(../img/close_f2.png) center center no-repeat;
	background-size:100% auto;
	z-index:1010;
}
#finishing_modal .finishing_modal_set img{
	display:block;
	width:100%;
	height:auto;
}
#finishing_modal .finishing_modal_set p{
	display:block;
	font-size:13px;
	line-height:16px;
	font-weight:400;
	letter-spacing:.1em;
	font-family: 'Montserrat', sans-serif !important;
	padding:13px 0 0;
	color:#fff;
}
#finishing_modal1 .slide1 img,
#finishing_modal5 .slide1 img{
	border:#666 1px solid;
}

#gallery {
	position:relative;
	width:100%;
	max-width:1360px;
	overflow:hidden;
	margin:0 auto;
	padding:130px 80px 0;
}
#gallery h3{
	position:absolute;
	top:130px;
	right:80px;
}
#gallery h3 img{
	width:43px;
	height:auto;
}
#gallery .room_ttl{
	position:absolute;
	bottom:0;
	right:15px;
	font-size:12px;
	line-height:15px;
	font-weight:400;
	letter-spacing:.2em;
	font-family: 'Montserrat', sans-serif !important;
	padding:0;
	transform:rotate(90deg);
	transform-origin:right bottom;
	z-index:100;
}
#gallery #slider_set {
	position:relative;
	width:100% !important;
	height:auto !important;
	padding:0 90px 0 0;
}
#gallery #thumbnail_set {
	position:relative;
	width:800px !important;
	height:auto !important;
	margin:60px 0 0;
}
#gallery #slider_set img{
	width:100% !important;
	height:auto;
}
#gallery #thumbnail_set img {
	width:100% !important;
	height:auto;
}
.slick-slide img {
	    width: 100%;
	    height: auto;
}
#gallery h3{
	transform:translateY(-50px);
	opacity:0;
}
#gallery h3.start{
	transform:translateY(0);
	transition: all 1200ms cubic-bezier(0.265, 0.950, 0.095, 0.985) !important;	
	opacity:1 !important;
}
#gallery #thumbnail_set .slick-slide{
	background:#111;
	}
#gallery #thumbnail_set .slick-slide img{
	opacity:0.6;
	}
#gallery #thumbnail_set .slick-slide a{
	position:relative;
	display:block;
	}
#gallery #thumbnail_set .slick-slide a::after {
    content:  '';
    height: 100%;
    width: 100%;
    display:  block;
    position:  absolute;
    top: 0;
	left:0;
	background:url(../img/dot2.png) 0 0 repeat;
	background-size:4px 4px;
}
#gallery #thumbnail_set .slick-current img{
	opacity:1 !important;
	}
#gallery #thumbnail_set .slick-current a::after{
	background:none !important;
	}
#showroom_modal{
	position:fixed;
	top:0;
	left:-200%;
	width:100%;
	height:100%;
	z-index:1000 !important;
	opacity:0;
	}
#showroom_modal.open{
	animation: modal_open 0.9s ease-out forwards;	
}
#showroom_modal.close{
	animation: modal_close 0.9s ease-out forwards;	
}
#showroom_modal .bg{
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	background:rgba(0,0,0,0.8);
	}
#showroom_modal .showroom_modal_set{
	position:absolute;
	top:50%;
	left:50%;
	transform:translate(-50%,-50%);
	width:100%;
	max-width:900px;
	padding:60px;
	background:#eeeeee;
	z-index:1001;
	opacity:0;
}
#showroom_modal .showroom_modal_set.current{
	z-index:1005 !important;
	opacity:1 !important;
}
#showroom_modal .showroom_modal_set img{
	width:100%;
	height:auto;
}
#showroom_modal .showroom_modal_set dt{
	position:relative;
	width:100%;
	text-align:left;
	font-size:16px;
	line-height:28px;
	font-weight:400;
	letter-spacing:.1em;
	padding:16px 0 0;
	text-align: justify;
	text-justify: inter-ideograph;
	color:#111;
}
#showroom_modal .showroom_modal_set dd{
	position:relative;
	width:100%;
	text-align:left;
	font-size:12px;
	line-height:24px;
	font-weight:400;
	letter-spacing:.1em;
	padding:12px 0 0;
	text-align: justify;
	text-justify: inter-ideograph;
	color:#111;
}
#showroom_modal .showroom_modal_set .close{
	position:absolute;
	top:-20px;
	right:-20px;
	width:40px;
	height:40px;
	background:url(../img/close_f.png) center center no-repeat;
	background-size:100% auto;
	z-index:1010;
}
@media screen and (max-width:750px) {
section .log {
	position:absolute;
	left:0;
	top:20%;
	width:1px;
	height:20%;
	z-index:1;
	opacity:0;
}
#main_v{
	position:relative;
	width:100%;
	height:100vh;
	overflow:hidden;
	margin:0 auto;
	background:#000;
}
#main_v>div{
	position:relative;
	width:100%;
	height:100%;
	background:url(../img/sp_fv.png) center center no-repeat;
	background-size:100% auto;
	opacity:0;
}
#main_v>div.start{
	transition: all 1200ms cubic-bezier(0.265, 0.950, 0.095, 0.985) !important;	
	opacity:1;
}
#main_v h2{
	position:absolute;
	text-align:left;
	top:50%;
	left:50%;
	transform:translate(-50%,-50%);
	font-size:13px;
	line-height:13px;
	font-weight:400;
	letter-spacing:.8em;
	font-family: 'Montserrat', sans-serif !important;
	color:#fff;
}
#main_v h2 span{
	position:relative;
	display:inline-block;
	transform:translateX(-50px);
	opacity:0;
}
#main_v h2 span.space{
	display:block;
}
#main_v h2 span.start{
	transform:translateX(0);
	transition: all 900ms cubic-bezier(0.265, 0.950, 0.095, 0.985) !important;	
	opacity:1 !important;
}
#main_v .scr{
	position:absolute;
	display:block;
	left:35px;
	bottom:-100px;
	width:130px;
	height:10px;
    transform: rotate(90deg);
	transform-origin:left top;
}
#main_v .scr.start{
	transition:.9s ease-in-out;
	bottom:120px;	
}

#main_v .scr .txt{
	position:absolute;
	top:0;
	left:0;
	font-size:10px;
	line-height:10px;
	font-family: 'Montserrat', sans-serif !important;
	font-weight: 400;
	font-style: normal;	
	color:#fff;
	letter-spacing:0.2em;
	transform: rotate(180deg);
	transform-origin:center center;
}
#main_v .scr .arrow{
	position:absolute;
	left:70px;
	top:4px;
	width:60px;
	height:1px;
	background:#333;
	overflow:hidden;
}
#main_v .scr .arrow span{
	position:absolute;
	display:block;
	left:0;
	top:0;
	width:60px;
	height:1px;
	background:#dc0000;
}
#main_v .scr.start .arrow span{
	transform: translate3d(0, 0, 0);
	animation: arrow_animation 2s ease-out infinite;	
}
#main_v .scr .pin{
	position:absolute;
	left:70px;
	top:1px;
	width:60px;
	height:10px;
	background:#dc0000;
	overflow:hidden;
	border-radius:5px;
}
@keyframes arrow_animation {
  0% {left:-60px;}
  25% {left:0;}
  75% {left:0;}
  100% {left:60px;}
}

#overview {
	position:relative;
	width:100%;
	height:auto;
	overflow:hidden;
	background:#000;
}
#overview #video {
	position:absolute;
	left:0;
	top:0;
	height:100% !important;
	width:auto !important;
	padding-bottom:0 !important;
	z-index:2;
}
#overview #video video {
	position:relative;
	top: 0;
	left: 0;
	width: auto;
	height: 100%;
	margin:0;
	padding:0;
}
#overview #video::after {
    content:  '';
    height: 100%;
    width: 100%;
    display:  block;
    position:  absolute;
    top: 0;
	right:0;
	background:url(../img/dot.png) 0 0 repeat;
	background-size:2px 2px;
}
#overview a{
	position:relative;
	text-align:center;
	top:0;
	left:0;
	transform:none;
	width:100%;
	z-index:6;
}
#overview .box{
	position:relative;
	top:0;
	left:0;
	width:100%;
	max-width:1360px;
	margin:0;
	text-align:center;
	transform:none;
	padding:26vw 4vw 0;
	z-index:5;
}
#overview .box h3{
	position:relative;
	text-align:left;
	font-size:35px;
	line-height:35px;
	font-weight:100;
	letter-spacing:.2em;
	font-family: 'Montserrat', sans-serif !important;
	padding:0;
}
#overview .box p{
	position:relative;
	text-align:left;
	font-size:16px;
	line-height:31px;
	font-weight:400;
	letter-spacing:.1em;
	padding:8vw 0 0;
}
#overview .box span{
	position:relative;
	display:block;
	text-align:left;
	font-size:12px;
	line-height:34px;
	font-weight:400;
	letter-spacing:.1em;
	padding:6vw 0 0;
}
#overview .box h3,
#overview .box p,
#overview .box span{
	transform:translateX(-50px);
	opacity:0;
}
#overview .box h3.start,
#overview .box p.start,
#overview .box span.start{
	transform:translateX(0);
	transition: all 1200ms cubic-bezier(0.265, 0.950, 0.095, 0.985) !important;	
	opacity:1 !important;
}
#features {
	position:relative;
	width:100%;
	height:auto;
	overflow:hidden;
	padding:0;
	text-align:right;
}
#features h3{
	position:relative;
	top:0;
	right:0;
	text-align:left;
	font-size:35px;
	line-height:35px;
	font-weight:100;
	letter-spacing:.2em;
	font-family: 'Montserrat', sans-serif !important;
	padding:26vw 4vw 0;
}

#features .box{
	position:relative;
	width:100%;
	margin:0;
	text-align:center;
	padding:0 4vw 8vw;
}
#features .box p{
	position:relative;
	text-align:left;
	font-size:16px;
	line-height:31px;
	font-weight:400;
	letter-spacing:.1em;
	padding:8vw 0 0;
}
#features .box span{
	position:relative;
	display:block;
	text-align:left;
	font-size:12px;
	line-height:34px;
	font-weight:400;
	letter-spacing:.1em;
	padding:6vw 0 0;
}
#features h3{
	transform:translateX(-50px);
	opacity:0;
}
#features h3.start{
	transform:translateX(0);
	transition: all 1200ms cubic-bezier(0.265, 0.950, 0.095, 0.985) !important;	
	opacity:1 !important;
}
#features .box p,
#features .box span{
	transform:translateX(-50px);
	opacity:0;
}
#features .box p.start,
#features .box span.start{
	transform:translateX(0);
	transition: all 1200ms cubic-bezier(0.265, 0.950, 0.095, 0.985) !important;	
	opacity:1 !important;
}

#features #color_box{
	position:relative;
	display:inline-block;
	bottom:0;
	right:0;
	padding:4vw;
	width:auto !important;
	background:#eeeeee;
	zoom:1;
	overflow:hidden;
}
#features #color_box .sub_ttl{
	position:relative;
	text-align:center;
	float:left;
}
#features #color_box .sub_ttl img{
	width:17vw;
	height:auto;
	margin:0;
}
#features #color_box ul{
	position:relative;
	padding:0 0 !important;
	margin:0 auto !important;
	width:auto;
	zoom:1;
	overflow:hidden;
	float:left;
}
#features #color_box ul li{
	position:relative;
	margin:0 5px 0 !important;	
	padding:0 !important;
	float:left;
	width:30px;
}
#features #color_box ul li a{
	position:relative;
	display:block;
}
#features #color_box ul li img{
	width:100% !important;	
	height:auto;
}
#features #features_set {
	position:relative;
	width:100% !important;
	height:auto !important;
	padding:0;
}
#features #color_box ul li.current a::after {
    content:  '';
    height: 100%;
    width: 100%;
    display:  block;
    position:  absolute;
    top: 0;
	left:0;
	border-radius: 50%;
	background-color: #dc0000;
	opacity:0.4;
}
#features #features_set .color_set{
	position:absolute;
	top:0;
	left:0;
	width:100%;
	padding:0;
}
#features #features_set .bg img,
#features #features_set .color_set p img{
	width:100% !important;	
	height:auto;
}
#features #features_set .color_set a {
	position:absolute;
	display:block;
	top:0;
	left:0;
	width:10px;
	height:10px;
	/*
	background:url(../img/point.png) center center no-repeat;
	background-size:100% auto;
	*/
	border-radius: 50%;
	background-color: #dc0000;
	opacity:0.8;
}
#features #features_set .color_set a::before{
    content:  '';
    height: 100%;
    width: 100%;
    display:  block;
    position:  absolute;
    top: 50%;
	left:50%;
	transform:translate(-50%,-50%) scale(2.5);
	transform-origin:50% 50%;
	border-radius: 50%;
	background-color: #dc0000;
	opacity:0.3;
	animation: point_animation 3s ease-in-out infinite;
}

@keyframes point_animation {
  0% {opacity:0.3;transform:translate(-50%,-50%) scale(2.5);}
  50% {opacity:0.3;transform:translate(-50%,-50%) scale(3.2);}
  0% {opacity:0.3;transform:translate(-50%,-50%) scale(2.5);}
}
#features #features_set .color_set a.point1 {top:16%;left:37%;}/*開口部　1*/
#features #features_set .color_set a.point2 {top:83%;left:37%;}/*開口部　1*/
#features #features_set .color_set a.point3 {top:67%;left:43%;}/*端部　2*/
#features #features_set .color_set a.point4 {top:89%;left:59%;}/*コーナー　3*/
#features #features_set .color_set a.point5 {top:77%;left:73%;}/*直線　4*/
#features #features_set .color_set a.point6 {top:72%;left:51%;}/*扉　5*/
#features #features_set .color_set a.point7 {top:57%;left:49%;}/*DG　6*/
#features #features_set .color_set a.point8 {top:76%;left:44%;}/*3way　7*/
#features #features_set .color_set a.point9 {top:87%;left:52%;}/*吊り金具　8*/
#features #features_set .color_set a.point10 {top:56%;left:36%;}/*ドアハンドル　9*/
#features #features_set .color_set a.point11 {top:81.5%;left:30%;}/*追加　11*/
#features #features_set .color_set a.point12 {top:86%;left:43%;}/*追加　12*/
#features #features_set .color_set span {
	position:absolute;
	display:block;
	top:57%;
	left:49%;
	margin:-10px 0 0 5px;
	pointer-events: none;
	width:59px;
}
#features #features_set #color4 span,
#features #features_set #color5 span,
#features #features_set #color6 span {
	position:absolute;
	display:block;
	top:56%;
	left:36%;
	margin:-10px 0 0 5px;
	pointer-events: none;
}
#features #features_set #color7 span {
	position:absolute;
	display:block;
	top:86%;
	left:43%;
	margin:-10px 0 0 5px;
	pointer-events: none;
}
#features_modal{
	position:fixed;
	top:0;
	left:-200%;
	width:100%;
	height:100%;
	z-index:1000 !important;
	opacity:0;
	}
#features_modal.open{
	animation: modal_open 0.9s ease-out forwards;	
}
@keyframes modal_open {
  0% {left:0;opacity:0;}
  100% {left:0;opacity:1;}
}
#features_modal.close{
	animation: modal_close 0.9s ease-out forwards;	
}
@keyframes modal_close {
  0% {left:0;opacity:1;}
  95% {left:0;opacity:0;}
  100% {left:-200%;opacity:0;}
}
#features_modal .bg{
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	background:rgba(0,0,0,0.8);
	}
#features_modal .features_modal_set{
	position:absolute;
	top:50%;
	left:50%;
	transform:translate(-50%,-50%);
	width:92%;
	max-width:1200px;
	padding:4vw 4vw 16vw;
	background:#eeeeee;
	z-index:1001;
}
#features_modal .features_modal_set.current{
	z-index:1005 !important;
}
#features_modal .features_modal_set img{
	width:100%;
	height:auto;
}
#features_modal .features_modal_set dt{
	position:relative;
	width:100%;
	text-align:left;
	font-size:14px;
	line-height:28px;
	font-weight:400;
	letter-spacing:.1em;
	padding:14px 0 0;
	text-align: justify;
	text-justify: inter-ideograph;
	color:#111;
}
#features_modal .features_modal_set dd{
	position:relative;
	width:100%;
	text-align:left;
	font-size:11px;
	line-height:22px;
	font-weight:400;
	letter-spacing:.1em;
	padding:11px 0 0;
	text-align: justify;
	text-justify: inter-ideograph;
	color:#111;
}
#features_modal .features_modal_set .close{
	position:absolute;
	top:auto;
	bottom:4vw;
	right:4vw;
	width:30px;
	height:30px;
	background:url(../img/close_f.png) center center no-repeat;
	background-size:100% auto;
	z-index:1010;
}
#finishing {
	position:relative;
	width:100%;
	height:auto;
	overflow:hidden;
	padding:0;
}
#finishing .box h3{
	position:relative;
	top:0;
	right:0;
	text-align:left;
	font-size:35px;
	line-height:35px;
	font-weight:100;
	letter-spacing:.2em;
	font-family: 'Montserrat', sans-serif !important;
	padding:0;
}

#finishing .box{
	position:relative;
	width:100%;
	margin:0;
	text-align:center;
	padding:26vw 4vw 0;
}
#finishing .box p{
	position:relative;
	text-align:left;
	font-size:16px;
	line-height:31px;
	font-weight:400;
	letter-spacing:.1em;
	padding:8vw 0 0;
}
#finishing .box span{
	position:relative;
	display:block;
	text-align:left;
	font-size:12px;
	line-height:34px;
	font-weight:400;
	letter-spacing:.1em;
	padding:6vw 0 0;
}
#finishing .box h3,
#finishing .box p,
#finishing .box span{
	transform:translateX(-50px);
	opacity:0;
}
#finishing .box h3.start,
#finishing .box p.start,
#finishing .box span.start{
	transform:translateX(0);
	transition: all 1200ms cubic-bezier(0.265, 0.950, 0.095, 0.985) !important;	
	opacity:1 !important;
}

#finishing_set{
	position:relative;
	width:100%;
	padding:0 4vw;	
	}
#finishing_set dl{
	position:relative;
	width:100%;
	margin:8vw 0 0;
	display:block;
}
#finishing_set dt{
	position:relative;
	display:block;
	vertical-align:top;
	text-align:left;
	width:100%;
	font-size:14px;
	line-height:30px;
	font-weight:400;
	letter-spacing:.1em;
	font-family: 'Montserrat', sans-serif !important;
	padding:0 0 4vw;
}

#finishing_set dt span{
	display:block;
	font-size:12px;
	line-height:30px;
	font-weight:400;
	font-family:"游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "Helvetica Neue", Helvetica, Arial, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif !important;
}
#finishing_set dd{
	position:relative;
	display:block;
	vertical-align:top;
	text-align:left;
	width:100%;
}
#finishing_set dd .pc_list{
	display:none;
}
#finishing_set dd .sp_list{
	position:relative;
	top:0;
	left:0;
	width:100%;
}
#finishing_set dd .sp_list .slider{
	padding:0 0 25px !important;
}
#finishing_set dd .sp_list .slider p{
	display:none;
}

#finishing_modal{
	position:fixed;
	top:0;
	left:-200%;
	width:100%;
	height:100%;
	z-index:1000 !important;
	opacity:0;
	}
#finishing_modal.open{
	animation: modal_open 0.9s ease-out forwards;	
}
#finishing_modal.close{
	animation: modal_close 0.9s ease-out forwards;	
}
#finishing_modal .bg{
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	background:rgba(0,0,0,0.8);
	}
#finishing_modal .finishing_modal_set{
	position:absolute;
	top:50%;
	left:50%;
	transform:translate(-50%,-50%);
	width:88vw;
	padding:0;
	z-index:1002;
	opacity:0;
}

#finishing_modal .finishing_modal_set .close{
	position:absolute;
	top:-6vw;
	right:-6vw;
	width:12vw;
	height:12vw;
	background:url(../img/close_f2.png) center center no-repeat;
	background-size:100% auto;
	z-index:1010;
}
#finishing_modal .finishing_modal_set img{
	display:block;
	width:100%;
	height:auto;
}
#finishing_modal .finishing_modal_set p{
	display:block;
	font-size:12px;
	line-height:16px;
	font-weight:400;
	letter-spacing:.1em;
	font-family: 'Montserrat', sans-serif !important;
	padding:12px 0 0;
	color:#fff;
}

#gallery {
	position:relative;
	width:100%;
	height:auto;
	overflow:hidden;
	padding:0;
}
#gallery h3{
	position:relative;
	top:0;
	right:0;
	text-align:left;
	font-size:35px;
	line-height:35px;
	font-weight:100;
	letter-spacing:.2em;
	font-family: 'Montserrat', sans-serif !important;
	padding:26vw 4vw 10vw;
}
#gallery .room_ttl{
	position:relative;
	bottom:0;
	right:0;
	font-size:14px;
	line-height:30px;
	font-weight:400;
	letter-spacing:.2em;
	font-family: 'Montserrat', sans-serif !important;
	padding:6vw 4vw;
	transform:rotate(0);
	transform-origin:left left;
	z-index:100;
}
#gallery #slider_set {
	position:relative;
	width:100% !important;
	height:auto !important;
	padding:0;
}
#gallery #thumbnail_set {
	position:relative;
	width:100% !important;
	height:auto !important;
	margin:0 auto 0;
}
#gallery #slider_set img{
	width:100% !important;
	height:auto;
}
#gallery #thumbnail_set img {
	width:100% !important;
	height:auto;
}
.slick-slide img {
	    width: 100%;
	    height: auto;
}
#gallery h3{
	transform:translateX(-50px);
	opacity:0;
}
#gallery h3.start{
	transform:translateX(0);
	transition: all 1200ms cubic-bezier(0.265, 0.950, 0.095, 0.985) !important;	
	opacity:1 !important;
}
#showroom_modal{
	position:fixed;
	top:0;
	left:-200%;
	width:100%;
	height:100%;
	z-index:1000 !important;
	opacity:0;
	}
#showroom_modal.open{
	animation: modal_open 0.9s ease-out forwards;	
}
#showroom_modal.close{
	animation: modal_close 0.9s ease-out forwards;	
}
#showroom_modal .bg{
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	background:rgba(0,0,0,0.8);
	}
#showroom_modal .showroom_modal_set{
	position:absolute;
	top:50%;
	left:50%;
	transform:translate(-50%,-50%);
	width:92%;
	max-width:1200px;
	padding:4vw 4vw 16vw;
	background:#eeeeee;
	z-index:1001;
}
#showroom_modal .showroom_modal_set.current{
	z-index:1005 !important;
}
#showroom_modal .showroom_modal_set img{
	width:100%;
	height:auto;
}
#showroom_modal .showroom_modal_set dt{
	position:relative;
	width:100%;
	text-align:left;
	font-size:14px;
	line-height:28px;
	font-weight:400;
	letter-spacing:.1em;
	padding:14px 0 0;
	text-align: justify;
	text-justify: inter-ideograph;
	color:#111;
}
#showroom_modal .showroom_modal_set dd{
	position:relative;
	width:100%;
	text-align:left;
	font-size:11px;
	line-height:22px;
	font-weight:400;
	letter-spacing:.1em;
	padding:11px 0 0;
	text-align: justify;
	text-justify: inter-ideograph;
	color:#111;
}
#showroom_modal .showroom_modal_set .close{
	position:absolute;
	top:auto;
	bottom:4vw;
	right:4vw;
	width:30px;
	height:30px;
	background:url(../img/close_f.png) center center no-repeat;
	background-size:100% auto;
	z-index:1010;
}
}

/*add*/
#gallery .room_ttl{
	display:none !important;
	}

