@charset "UTF-8";

@import url(https://fonts.googleapis.com/css?family=Open+Sans:300,400,500,600,700,800);
@import url(https://fonts.googleapis.com/css?family=Marcellus);

@font-face {
	font-family:"NewYork";
	src:url("../fonts/NewYork.eot?") format("eot"),url("../fonts/NewYork.woff") format("woff"),url("../fonts/NewYork.ttf") format("truetype"),url("../fonts/NewYork.svg#NewYork") format("svg");
	font-weight:normal;
	font-style:normal;
}

@font-face {
	font-family:"ProximanovaLight";
	src:url("../fonts/ProximanovaLight.eot?") format("eot"),url("../fonts/ProximanovaLight.woff") format("woff"),url("../fonts/ProximanovaLight.ttf") format("truetype"),url("../fonts/ProximanovaLight.svg#ProximanovaLight") format("svg");
	font-weight:normal;
	font-style:normal;
}

html{
	font-size:62.5%;
}

body{
	margin:0 auto;
	padding:0;
	color:#333;
	background:#FFF;
	font-size:1.4rem;
	line-height:160%;
	font-family:'Times New Roman','BIZ UD明朝','BIZ UDMincho','游明朝','YuMincho','ヒラギノ明朝 ProN','Hiragino Mincho ProN','メイリオ','Meiryo','ＭＳ Ｐ明朝','MS PMincho',serif;
	font-family:'Verdana','BIZ UDゴシック','BIZ UDGothic','游ゴシック','YuGothic','ヒラギノ角ゴ ProN','Hiragino Kaku Gothic ProN','メイリオ','Meiryo','ＭＳ Ｐゴシック','MS PGothic',sans-serif;
	-webkit-text-size-adjust:100%;
	-moz-text-size-adjust:100%;
	-ms-text-size-adjust:100%;
	-o-text-size-adjust:100%;
	text-size-adjust:100%;
}
body.active{
	overflow:hidden;
}

h1,h2,h3,h4,h5,h6{
	margin:0;
	padding:0;
	font-weight:normal;
	line-height:150%;
}
p{
	margin:0;
	padding:0;
	line-height:180%;
}
img{
	border:none 0;
	width:100%;
}

a{
	color:#333;
	text-decoration:none;
	-webkit-transition:ease-in-out 0.5s;
	-moz-transition:ease-in-out 0.5s;
	-ms-transition:ease-in-out 0.5s;
	-o-transition:ease-in-out 0.5s;
	transition:ease-in-out 0.5s;
}
a:hover{
	color:#333;
	text-decoration:none;
}

br.clearb,
.clear{
	clear:both;
}
br.br375-2,br.br414-2,br.br568-2,br.br667-2,br.br736-2,br.br768-2,br.br812-2,br.br1024-2{
	display:none;
}
@media (min-width: 375px) {
	br.br375{
		display:none;
	}
	br.br375-2{
		display:inline;
	}
}
@media (min-width: 414px) {
	br.br414{
		display:none;
	}
	br.br414-2{
		display:inline;
	}
}
@media (min-width: 568px) {
	br.br568{
		display:none;
	}
	br.br568-2{
		display:inline;
	}
}
@media (min-width: 667px) {
	br.br667{
		display:none;
	}
	br.br667-2{
		display:inline;
	}
}
@media (min-width: 736px) {
	br.br736{
		display:none;
	}
	br.br736-2{
		display:inline;
	}
}
@media (min-width: 768px) {
	br.br768{
		display:none;
	}
	br.br768-2{
		display:inline;
	}
}
@media (min-width: 812px) {
	br.br812{
		display:none;
	}
	br.br812-2{
		display:inline;
	}
}
@media (min-width: 1024px) {
	br.br1024{
		display:none;
	}
	br.br1024-2{
		display:inline;
	}
}
@media (min-width: 1200px) {
	br.br1200{
		display:none;
	}
}

ul{
	list-style-type:none;
	margin:0;
	padding:0;
}
ul li{
	margin:0;
	padding:0;
}

ol, ol li{
	margin:0;
	padding:0;
}

dl{
	margin:0;
	padding:0;
}
dt{
	margin:0;
	padding:0;
}
dd{
	margin:0;
	padding:0;
}

.pc568, .pc667, .pc736, .pc768, .pc812, .pc1024, .pc1300{
	display:none;
}
@media (min-width: 568px) {
	.sp568{
		display:none;
	}
	.pc568{
		display:inline;
	}
}
@media (min-width: 667px) {
	.sp667{
		display:none;
	}
	.pc667{
		display:inline;
	}
}
@media (min-width: 736px) {
	.sp736{
		display:none;
	}
	.pc736{
		display:inline;
	}
}
@media (min-width: 768px) {
	.sp768{
		display:none;
	}
	.pc768{
		display:inline;
	}
}
@media (min-width: 812px) {
	.sp812{
		display:none;
	}
	.pc812{
		display:inline;
	}
}
@media (min-width: 1024px) {
	.sp1024{
		display:none;
	}
	.pc1024{
		display:inline;
	}
}
@media (min-width: 1250px) {
	.sp1250{
		display:none;
	}
	.pc1250{
		display:inline;
	}
}

.black{
	background:#333;
	line-height:0;
	vertical-align:bottom;
}


header{
	position:fixed;
	width:100%;
	background:#FFF;
	height:70px;
	border-bottom:1px solid #E8EBE9;
	z-index:100;
}
#header{
	padding:15px;
}

#logo h1{
	padding-top:6px;
}
#logo img{
	width:auto;
	height:30px;
	line-height:0;
}
#logo h2{
	display:none;
}
@media (min-width: 568px) {
	#header{
		padding:15px 30px;
	}
	#logo h2{
		display:inline;
		position:absolute;
		bottom:22px;
		left:245px;
		font-size:1.2rem;
		letter-spacing:0.2em;
	}
}
@media (min-width: 768px) {
	#header{
		padding:15px 40px;
	}
	#logo h2{
		left:255px;
	}
}
@media (min-width: 1024px) {
	header{
		width:140px;
		height:100vh;
		border:none;
		overflow:hidden;
	}
	#logo h1{
		position:absolute;
		top:35px;
		right:35px;
	}
	#logo img{
		width:32.5px;
		height:auto;
	}
	#logo h2{
		bottom:auto;
		left:35px;
		top:40px;
		font-size:1.3rem;
		letter-spacing:0.3em;
		font-weight:bold;
		writing-mode:vertical-rl;
	}
}

/* ナビゲーションラベル */
#gnavi-label{
  	position:absolute;
	width:70px;
	height:70px;
	top:0;
	right:0;
	cursor: pointer;
	-webkit-transition:ease-in-out 0.3s;
    -moz-transition:ease-in-out 0.3s;
    -ms-transition:ease-in-out 0.3s;
    -o-transition:ease-in-out 0.3s;
    transition:ease-in-out 0.3s;
	z-index:101;
}
#gnavi-label span{
  	position: absolute;
	right:15px;
  	width:40px;
  	height:1px;
  	background-color:#777;
	-webkit-transition:ease-in-out 0.3s;
    -moz-transition:ease-in-out 0.3s;
    -ms-transition:ease-in-out 0.3s;
    -o-transition:ease-in-out 0.3s;
    transition:ease-in-out 0.3s;
	transform: translateY(0) rotate(0);
}
#gnavi-label span:nth-of-type(1){
  	top: 32px;
	webkit-animation:bar01 .75s forwards;
	animation: bar01 .75s forwards;
}
#gnavi-label span:nth-of-type(2){
  	top: 37px;
	webkit-animation:bar02 .75s forwards;
	animation: bar02 .75s forwards;
}
#gnavi-label.active span:nth-of-type(1) {
	top:30px;
	webkit-animation: active-bar01 .75s forwards;
	animation: active-bar01 .75s forwards;
}
#gnavi-label.active span:nth-of-type(2) {
	top:40px;
	webkit-animation: active-bar02 .75s forwards;
	animation: active-bar02 .75s forwards;
}
@media (min-width: 568px) {
	#gnavi-label{
		right:30px;
	}
}
@media (min-width: 768px) {
	#gnavi-label{
		right:40px;
	}
}
@media (min-width: 1024px) {
	#gnavi-label{
		display:none;
	}
}

/* メニューの文字 */
#menu{
	display:none;
	position:absolute;
	font-family:'Open Sans';
	font-weight:400;
	font-size:1.2rem;
	color:#777;
}
@media (min-width: 568px) {
	#menu{
		display:inline;
		right:65px;
		top:50%;
		margin-top:-10px;
	}
}

/* グローバルナビゲーション */
#navi-wrap{
	position:fixed;
	top:71px;
	left:0;
	width:100%;
	height:calc(100% - 71px);
	background:#FFF;
	overflow:scroll;
	padding:15px 25px;
	box-sizing:border-box;
	-webkit-transition:ease-out 0.7s;
    -moz-transition:ease-out 0.7s;
    -ms-transition:ease-out 0.7s;
    -o-transition:ease-out 0.7s;
    transition:ease-out 0.7s;
	-webkit-transform:translate3d(0, -100%, 0);
	-moz-transform:translate3d(0, -100%, 0);
	-ms-transform:translate3d(0, -100%, 0);
	-o-transform:translate3d(0, -100%, 0);
	transform:translate3d(0, -100%, 0);
	-webkit-overflow-scrolling:touch;
	-moz-overflow-scrolling:touch;
	-ms-overflow-scrolling:touch;
	-o-overflow-scrolling:touch;
	overflow-scrolling:touch;
	z-index:99;
}
#navi-wrap.active{
	-webkit-transform:translate3d(0, 0, 0);
	-moz-transform:translate3d(0, 0, 0);
	-ms-transform:translate3d(0, 0, 0);
	-o-transform:translate3d(0, 0, 0);
	transform:translate3d(0, 0, 0);
}

#gnavi ul li{
	font-size:1.7rem;
	font-family:'Open Sans';
	font-weight:600;
	padding:8px 0;
}
#gnavi ul li a{
	position:relative;
  	display:inline-block;
}
#gnavi ul li a::after{
	content:'';
  	position:absolute;
  	bottom:-2px;
  	left:0;
  	width:100%;
  	height:1px;
  	background-color:#333;
  	-webkit-transform:scaleX(0);
  	-moz-transform:scaleX(0);
  	-ms-transform:scaleX(0);
  	-o-transform:scaleX(0);
  	transform:scaleX(0);
	-webkit-transition:ease-in-out 0.5s;
	-moz-transition:ease-in-out 0.5s;
	-ms-transition:ease-in-out 0.5s;
	-o-transition:ease-in-out 0.5s;
	transition:ease-in-out 0.5s;
}
#gnavi ul li a:hover::after{
	-webkit-transform:scaleX(1);
  	-moz--transform:scaleX(1);
  	-ms-transform:scaleX(1);
  	-o-transform:scaleX(1);
  	transform:scaleX(1);
}
#gnavi ul li.dead{
	color:#DDD;
}
#home #gnavi ul li.home a::after,
#concept #gnavi ul li.concept a::after,
#plan #gnavi ul li.plan a::after,
#spec #gnavi ul li.spec a::after,
#location #gnavi ul li.location a::after,
#column #gnavi ul li.column a::after,
#structure #gnavi ul li.structure a::after{
	background-color:#333;
	-webkit-transform:scaleX(1);
  	-moz--transform:scaleX(1);
  	-ms-transform:scaleX(1);
  	-o-transform:scaleX(1);
  	transform:scaleX(1);
}

#contact-navi{
	padding-top:10px;
}
#contact-navi ul li{
	font-size:1.4rem;
	text-align:center;
	margin-top:10px;
	-webkit-border-radius:26px;
	-moz-border-radius:26px;
	-msborder-radius:26px;
	-o-border-radius:26px;
	border-radius:26px;
}
#contact-navi ul li:last-child{
	padding-bottom:20px;
}
#contact-navi ul li a{
	display:block;
	padding:7px 0;
	border:1px solid #E8EBE9;
	-webkit-border-radius:26px;
	-moz-border-radius:26px;
	-msborder-radius:26px;
	-o-border-radius:26px;
	border-radius:26px;
}
#contact-navi ul li a:hover{
	border:1px solid #333;
	background:#333;
	color:#FFF;
	-webkit-border-radius:26px;
	-moz-border-radius:26px;
	-msborder-radius:26px;
	-o-border-radius:26px;
	border-radius:26px;
}
#contact-navi ul li.dead{
	padding:3px 0;
	border:1px solid #E8EBE9;
	color:#DDD;
	-webkit-border-radius:26px;
	-moz-border-radius:26px;
	-msborder-radius:26px;
	-o-border-radius:26px;
	border-radius:26px;
}
#outline #contact-navi ul li.outline a{
	border:1px solid #333;
	background:#333;
	color:#FFF;
	-webkit-border-radius:26px;
	-moz-border-radius:26px;
	-msborder-radius:26px;
	-o-border-radius:26px;
	border-radius:26px;
}
@media (min-width: 768px) {
	#navi-wrap{
		height:505px;
	}
}
@media (min-width: 1024px) {
	#navi-wrap{
		top:auto;
		bottom:30px;
		width:140px;
		height:auto;
		background:none;
		padding:0 25px;
		-webkit-transform:translate3d(0, 0, 0);
		-moz-transform:translate3d(0, 0, 0);
		-ms-transform:translate3d(0, 0, 0);
		-o-transform:translate3d(0, 0, 0);
		transform:translate3d(0, 0, 0);
		z-index:101;
		-ms-overflow-style:none; /* Edge */
		scrollbar-width:none; /* FireFox */
	}
	#navi-wrap::-webkit-scrollbar{
		display:none; /* Chrome */
	}
	
	#gnavi{
		padding-left:10px;
	}
	#gnavi ul li{
		font-size:1.3rem;
		padding:1.5px 0;
	}
	#gnavi ul li a::after{
		bottom:0;
	}
	
	#contact-navi ul li{
		font-size:1.2rem;
	}
	#contact-navi ul li{
		margin-top:5px;
		width:90px;
	}
	#contact-navi ul li:last-child{
		padding-bottom:0;
	}
	#contact-navi ul li a{
		padding:4px 0 3px;
		line-height:100%;
	}
	#contact-navi ul li.dead{
		padding:4px 0 3px;
		line-height:100%;
	}
}

/* コンテンツ */
#content{
	position:relative;
	top:71px;
	padding:0 15px 40px;
	box-sizing:border-box;
	background:#F9F9F9;
	text-shadow:0 1px 0 #FFF;
	-webkit-transition:ease-in-out 0.3s;
	-moz-transition:ease-in-out 0.3s;
	-ms-transition:ease-in-out 0.3s;
	-o-transition:ease-in-out 0.3s;
	transition:ease-in-out 0.3s;
}
#content.active{
	-ms-filter: blur(3px);
	filter: blur(3px);
}
#content > h3{
	font-family:'Open Sans';
	font-weight:400;
	font-size:6.0rem;
	line-height:100%;
	border-bottom:1px solid #333;
	padding-bottom:10px;
}
.contents{
	padding-top:10px;
}
@media (min-width: 568px) {
	#content{
		padding:0 30px 40px;
	}
}
@media (min-width: 768px) {
	#content{
		padding:0 40px 40px;
	}
}
@media (min-width: 1024px) {
	#content{
		padding:0 40px 60px;
		top:auto;
		left:140px;
		width:calc(100% - 140px);
	}
	.contents{
		padding:10px 15px 0;
	}
}
@media (min-width: 1200px) {
	#content{
		padding:0 50px 70px;
	}
	.contents{
		padding:10px 30px 0;
	}
}

/*  */
.item-wrap{
	font-size:0;
	/*padding-top:30px;*/
}
#page-title{
	padding:30px 0;
}
#page-title h3{
	float:left;
	font-family:'Open Sans';
	font-weight:600;
	font-size:2.5rem;
	letter-spacing:0.2em;
}
#page-title h3.sub-title{
	float:left;
	font-weight:400;
	font-size:1.1rem;
	letter-spacing:0;
	line-height:120%;
	padding-top:5px;
	padding-left:5px;
}
.item-cont{
	/*padding-top:20px;*/
}
.item-cont h5{
	font-size:1.4rem;
}
.item-cont p{
	font-size:1.3rem;
}
@media (min-width: 1024px) {
	.item-cont{
		display:inline-block;
		box-sizing:border-box;
		width:calc(65% - 70px);
		margin-right:70px;
	}
	.item-photo{
		display:inline-block;
		width:35%;
	}
	.item-cont h5{
		font-size:1.5rem;
	}
}

.item{
	padding-top:30px;
}
.item#one{
	padding-top:0;
}
.item ol{
	margin:0;
	padding:0;
}
.item ol li{
	position:relative;
	list-style:none;
	padding-left:1.25em;
	font-size:1.1rem;
	line-height:150%;
}
.item ol li span{
	position:absolute;
	left:0;
	margin:0;
}

/* フッター */
footer{
	margin-top:71px;
	position:relative;
	background-repeat:none;
	background-position:center;
	background-size:cover;
	color:#FFF;
	-webkit-transition:ease-in-out 0.3s;
	-moz-transition:ease-in-out 0.3s;
	-ms-transition:ease-in-out 0.3s;
	-o-transition:ease-in-out 0.3s;
	transition:ease-in-out 0.3s;
}
footer.active{
	-ms-filter: blur(3px);
	filter: blur(3px);
}

#footer{
	position:relative;
	padding:25px 15px 20px;
	background-color:rgba(0,0,0,0.5);
}

#foot-menu{
	font-size:0;
}
.foot-menu{
	text-align:center;
}
.foot-menu#foot-contact h2{
	font-family:'Open Sans';
	font-weight:600;
	font-size:1.5rem;
	padding-bottom:5px;
	letter-spacing:0.1em;
}
.foot-menu#foot-contact h2.sale-center{
	font-weight:normal;
	font-size:1.1rem;
	padding-bottom:8px;
	letter-spacing:0;
	font-family:'Verdana','BIZ UDゴシック','BIZ UDGothic','游ゴシック','YuGothic','ヒラギノ角ゴ ProN','Hiragino Kaku Gothic ProN','メイリオ','Meiryo','ＭＳ Ｐゴシック','MS PGothic',sans-serif;
}
.freedial{
	font-size:180%;
}
.foot-menu#foot-contact a{
	color:#FFF;
}
.foot-menu#foot-contact ol{
	margin:0;
	padding:0;
}
.foot-menu#foot-contact ol li{
	position:relative;
	list-style:none;
	line-height:170%;
	padding-left:1.25em;
	font-size:1.2rem;
}
.foot-menu#foot-contact ol li span{
	position:relative;
	left:0;
	margin:0;
}

#contact-btn{
	font-size:0;
	text-align:center;
	padding-top:5px;
}
.contact-btn{
	display:inline-block;
	width:calc(50% - 2.5px);
	font-size:1.2rem;
	margin-top:5px;
}
.contact-btn:first-child{
	margin-right:5px;
}
.contact-btn.privacy{
	width:100%;
}
.contact-btn a{
	display:block;
	border:1px solid #FFF;
	padding:2px 0 1px;
	-webkit-border-radius:24px;
	-moz-border-radius:24px;
	-msborder-radius:24px;
	-o-border-radius:24px;
	border-radius:24px;
}
.contact-btn a:hover{
	background:rgba(255,255,255,0.5);
}
	
.foot-menu#foot-logo{
	padding:20px 0;
}
.foot-menu#foot-logo img{
	width:110px;
	height:auto;
}
.foot-menu#foot-logo h2.headline{
	font-size:1.3rem;
	padding-top:10px;
	letter-spacing:0.1em;
	font-family:'Times New Roman','BIZ UD明朝','BIZ UDMincho','游明朝','YuMincho','ヒラギノ明朝 ProN','Hiragino Mincho ProN','メイリオ','Meiryo','ＭＳ Ｐ明朝','MS PMincho',serif;
}

.foot-menu#foot-company h2{
	padding-bottom:7px;
}
.foot-menu#foot-company img{
	width:80px;
	height:auto;
}
.foot-menu#foot-company p{
	font-size:1.2rem;
	line-height:160%;
}
.foot-menu#foot-company p a{
	color:#FFF;
	position:relative;
  	display:inline-block;
}
.foot-menu#foot-company p a::after{
	content:'';
  	position:absolute;
  	bottom:-2px;
  	left:0;
  	width:100%;
  	height:1px;
  	background-color:#FFF;
  	-webkit-transform:scaleX(1);
  	-moz-transform:scaleX(1);
  	-ms-transform:scaleX(1);
  	-o-transform:scaleX(1);
  	transform:scaleX(1);
	-webkit-transition:ease-in-out 0.5s;
	-moz-transition:ease-in-out 0.5s;
	-ms-transition:ease-in-out 0.5s;
	-o-transition:ease-in-out 0.5s;
	transition:ease-in-out 0.5s;
}
.foot-menu#foot-company p a:hover::after{
	-webkit-transform:scaleX(0);
  	-moz--transform:scaleX(0);
  	-ms-transform:scaleX(0);
  	-o-transform:scaleX(0);
  	transform:scaleX(0);
}

address{
	font-family:"ProximanovaLight";
	font-size:1.2rem;
	font-style:normal;
	text-align:center;
	padding-top:20px;
}
@media (min-width: 568px) {
	#footer{
		padding:40px 30px 35px;
	}
	#contact-btn{
		padding:5px 25% 0;
	}
}
@media (min-width: 768px) {
	footer{
		height:50vh;
	}
	#footer{
		padding:0 40px;
		height:50vh;
	}
	#foot-menu{
		height:50vh;
		display:flex;
		align-items:center;
		justify-content:center;
	}
	.foot-menu{
		text-align:left;
	}
	.foot-menu#foot-contact{
		width:38%;
	}
	.freedial{
		font-size:170%;
	}
	.foot-menu#foot-contact ol li span{
		position:absolute;
	}
	.foot-menu#foot-logo{
		text-align:center;
		padding:0;
		width:33%;
	}
	.foot-menu#foot-logo img{
		width:120px;
	}
	.foot-menu#foot-logo h2.headline{
		font-size:1.4rem;
		padding-top:30px;
	}
	.foot-menu#foot-company{
		width:29%;
	}
	.foot-menu#foot-company h2{
		padding-bottom:10px;
	}
	.foot-menu#foot-company img{
		width:95px;
	}
	#contact-btn{
		padding:5px 0 0;
	}
	address{
		position:absolute;
		width:100%;
		bottom:5%;
		text-align:center;
	}
}
@media (min-width: 1024px) {
	footer{
		margin-top:0;
		left:140px;
		width:calc(100% - 140px);
		height:100vh;
	}
	#footer{
		height:100vh;
	}
	#foot-menu{
		height:100vh;
	}
	.foot-menu#foot-contact,
	.foot-menu#foot-logo,
	.foot-menu#foot-company{
		width:33.333%;
	}
	.freedial{
		font-size:180%;
	}
	.foot-menu#foot-logo img{
		width:130px;
	}
	.foot-menu#foot-logo h2.headline{
		font-size:1.5rem;
		letter-spacing:0.15em;
		padding-top:40px;
	}
	.foot-menu#foot-company p{
		padding-bottom:20px;
	}
	.foot-menu#foot-company p a::after{
		bottom:-1px;
	}
	address{
		position:static;
		width:auto;
		bottom:auto;
		text-align:left;
	}
}
@media (min-width: 1200px) {
	.freedial{
		font-size:200%;
	}
	.foot-menu#foot-logo img{
		width:140px;
	}
	.foot-menu#foot-logo h2.headline{
		letter-spacing:0.3em;
	}
	address{
		font-size:1.3rem;
	}
}
@media (min-width: 1250px) {
	.foot-menu#foot-contact p{
		font-size:1.2rem;
	}
}

br.br768-1023{
	display:none;
}
@media (min-width: 568px) and (max-width: 767px){
	br.br568-767{
		display:none;
	}
}
@media (min-width: 768px) and (max-width: 1023px){
	br.br768-1023{
		display:inline;
	}
}

.pc768-1023{
	display:none;
}
@media (min-width: 768px) and (max-width: 1023px){
	.pc768-1023{
		display:inline;
	}
}