@charset "UTF-8";
/* ------------------------------------------------
リセットCSS
------------------------------------------------ */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
margin: 0;
padding: 0;
border: 0;
font-size: 100%;
font: inherit;
vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
display: block;
}
body {
line-height: 1;
font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
}
ol, ul {
list-style: none;
}
blockquote, q {
quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
content: '';
content: none;
}
table {
border-collapse: collapse;
border-spacing: 0;
}

*, *: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;
}

/* ------------------------------------------------
リンクカラー
------------------------------------------------ */
a:link,
a:visited {
color:#ff495a;
text-decoration:none;
}
a:hover,
a:active {
text-decoration:none;
}

/* ------------------------------------------------

html

-----------------------------------------------*/
html{
}

body{
color: #000000;
background:#fff;
-webkit-background-size:contain;
}

/* ------------------------------------------------

global

----------------------------------------------- */
#page{
	position: relative;
	overflow-x: hidden;: 
}

.inner{
	position: relative;
	min-height: 100%;
}

.left{
	float: left;
}

.right{
	float: right;
}

#globalHeader{
	top: 0;
	left: 0;
	width: 100%;
	z-index: 10;	
	transition: 300ms;
	-webkit-backdrop-filter:blur(7px);
	-moz-backdrop-filter:blur(7px);
	-o-backdrop-filter:blur(7px);
	-ms-backdrop-filter:blur(7px);
	backdrop-filter:blur(7px);
}

#globalHeader .inner{

}

#logo a{
	display: block;
	height:100%;
	background: url(../../resources/images/logo.png) no-repeat;
	text-indent: 100%;
	overflow: hidden;
	white-space: nowrap;
	transition: 300ms;
}

#topImage::after{
	content: 'More';
	position: absolute;
	bottom: 45px;
	left:50%;
	transform: translateX(-50%);
	width: 28px;
	height:26px;
	padding-bottom: 16px;
	color:#fff;
	letter-spacing: 1px;
	font-family: 'Heebo', sans-serif;
	font-weight: 400;
	font-size:11px;
	text-align: center;
	opacity: 0;
	background:url('../../resources/images/icon_down.png') no-repeat bottom center;
	-webkit-background-size:18px 10px;
	-moz-background-size:18px 10px;
	-o-background-size:18px 10px;
	-ms-background-size:18px 10px;
	background-size:18px 10px;
	animation: down 2500ms 1800ms 1 ease-in-out forwards;

}

@keyframes down{
	0%{
		bottom:15px;
	}

	50%{
		bottom:45px;
	}

	100%{
		bottom:15px;
		opacity: 1;
	}
}

#catchPhrase{
	position: absolute;
	top:50%;
	left: 50%;
	width: 100%;
	color: #fff;
	transform: translate(-50%,-50%);
	-ms-transform: translate(-50%,-50%);
}

#catchPhrase h2{
	font-family: 'Heebo', sans-serif;
	font-weight: bold;
	opacity: 0;
	animation: fadeIn 800ms 300ms forwards;
}

#catchPhrase p{
	opacity: 0;
	animation: fadeIn 800ms 800ms forwards;
}

/*- IE9向けCSSハック-*/
:root #catchPhrase h2,
:root #catchPhrase p,
:root #contact{
	opacity:1\9;
}

@keyframes fadeIn{
	from{
		opacity:0;
		filter: blur(10px);
		transform: translateY(20px);
	}

	to{
		opacity:1;
		filter: blur(0px);
		transform: translateY(0);	
	}
}

#contact{
	position: absolute;
	bottom: 0;
	right: 0;
	text-align: center;
	font-weight:bold;
	background-color: #e24856;
	opacity: 0;
	animation: slideIn 700ms 1400ms forwards;
}

#contact:hover{
	background:#ff495a;
}

#contact a{
	display: block;
	color: #fff;
}

@keyframes slideIn{
	from{
		opacity:0;
		transform:translateX(40px);
	}

	to{
		opacity:1;
		transform:translateX(0);
	}
}

/* ---------- Our Business ---------- */
.catName{
	position: relative;
	font-weight: 500;
	font-family: 'Heebo', sans-serif;
}

.catName::after{
	content: '';
	position: absolute;
	bottom: -30px;
	left: 0px;
	width: 50px;
	height: 6px;
	background-color: #065282;
}

#chart{
	position: relative;
	margin: 0 auto;
	z-index:1;
	overflow: hidden;
}

.slide{
	width: 100%;
}

.slide::before{
	content:'';
	position: absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	background:#f8f8f8;
	z-index:2;
	transition:all 800ms cubic-bezier(0.500, 0.630, 0.110, 1.005);
}

#first .slide::before{
	background:#fff;
}

:root .slide::before{
	display: none\0;
}

.slideOut::before{
	transform:translateX(105%);
}


/* ---------- エンターテインメント関連 ---------- */
#entertainment{
position: relative;
z-index: 1;
}

#entertainment::before{
	content:'';
	position: absolute;
	left:0;
	width:100%;
	z-index: -1;
	background:url(../../resources/images/bg_entertainment.jpg) no-repeat center center fixed;
	background-size:cover;
}

.contentBox{
	background:#fff;
	border:1px #065282 solid;
	overflow:hidden; 
	box-shadow: 0 0 30px rgba(0,0,0, 0.15);
}

.subHead{
	position: relative;
	font-weight: 500;
	font-family: 'Heebo', sans-serif;
}

.subHead span{
	color:#065282;
}

.subHead::after{
	content: '';
	position: absolute;
	bottom: -30px;
	left: 0px;
	width: 50px;
	height: 2px;
	background-color: #065282;
}

.thumbNail{
	border:1px #065282 solid;
	overflow: hidden;
	z-index: 1;
}

/* ---------- Works ---------- */
#works{
	background:#f2f2f2;
}

#worksList li{
	background-color:#fff;
}

#worksList .worksImages img{
	border:1px #065282 solid;
}

#worksList .worksTxt{
	border:1px #065282 solid;
	background-repeat: no-repeat;
}

.logoMeijiza{
	background-image:url(../../resources/images/logo_meijiza.png);
	background-size:107px 25px;
}

.loogGraceHotel{
	background-image:url(../../resources/images/logo_grace_hotel.png);
	background-size:138px 29px;
}

.logoXiv{
	background-image:url(../../resources/images/logo_xiv.png);
	background-size:121px 22px;
}

.logoShinkabukiza{
	background-image:url(../../resources/images/logo_shinkabukiza.png);
	background-size:124px 32px;	
}

.other{
	text-align: center;
	font-weight: bold;
	font-size: 18px;
	color:#999999;
}

/* ---------- Company ---------- */
.message{
	line-height: 1.5;
	border-bottom:1px #065282 solid;
}

.message span{
	display: block;
	text-align: right;	
}

#map{
	border:1px #065282 solid;
}

#companyInfo{
line-height: 1.5;
}

#companyInfo dt{
margin-bottom:15px;
font-weight: bold;
}

#companyInfo dd{
margin-bottom:15px;
}

#globalFooter{
	padding:30px 0;
	border-top:1px #065282 solid;
}

#globalFooter small{
	display: block;
	text-align:center;
	font-size: 11px;
	font-family: 'Heebo', sans-serif;
	clear: both;
}
/* ------------------------------------------------

PC

----------------------------------------------- */

@media screen and (min-width:1080px) {

	#page{
		min-width: 1080px;
	}

	.inner{
		width: 1080px;
		margin: 0 auto;
	}

	#globalHeader{
		position: fixed;
		padding:30px 0;
	}

	#logo{
		width:100px;
		height:63px;
		float: left;
	}

	#logo a{
		-webkit-background-size:100px 63px;
		-moz-background-size:100px 63px;
		-o-background-size:100px 63px;
		-ms-background-size:100px 63px;
		background-size:100px 63px;
	}

	#gloabaNav{
		text-align:right;
		letter-spacing: -.4em;
	}

	#gloabaNav li{
		display: inline-block;
		margin: 0 30px;
		font-size: 18px;
		letter-spacing: 1px;
		line-height: 63px;
	}

	#gloabaNav li:last-child{
		margin-right:0;
	}

	#gloabaNav li a{
		position: relative;
		display: block;
		height:100%;
		font-family: 'Heebo', sans-serif;
		font-weight: 500;
		color: #fff;
		z-index: 1;
	}

	#gloabaNav li a::after{
		content:'';
		position: absolute;
		bottom:0;
		left:0;
		width:0%;
		border-top:1px #fff solid;
		z-index: 2;
		transition: width 300ms ease;
	}

	#gloabaNav li a:hover::after{
		width:100%;
	}

	#topImage{
		height: 800px;
	}

	#catchPhrase h2{
		margin-bottom: 30px;
		font-size: 60px;
	}

	#catchPhrase p{
		font-size: 18px;
	}

	#contact{
		width: 360px;
		line-height: 120px;
		font-size: 24px;
	}

	#topImage{
		position: relative;
		width: 100%;
		height: 100%;
		background: url(../../resources/images/hero_image.png) no-repeat fixed;
		overflow: hidden;
		-webkit-background-size:cover;
		-moz-background-size:cover;
		-o-background-size:cover;
		-ms-background-size:cover;
		background-size:cover;
	}

	/* ---------- Our Business ---------- */
	.catName{
		margin-bottom: 96px;
		font-size: 60px;
	}

	#first{
		margin-bottom: 240px;
		padding:120px 0 60px;
		overflow: hidden;
	}

	#first .left,
	#first .right{
		width: 50%;
	}

	#first .left p{
		font-size: 16px;
		line-height: 2;
	}

	#chart{
		width: 482px;
	}

	/* ---------- エンターテインメント関連 ---------- */

	#entertainment{
		margin-bottom: 120px;
	}

	#entertainment::before{
		top:-240px;
		height: 300px;
	}

	.contentBox{
		position: relative;
		padding:60px;
	}

	.contentBox li h5{
		margin-bottom:15px;
		font-weight: bold;
		font-size:116%;
	}

	.contentBox li p{
		font-size:93%;
		line-height: 1.5;
	}

	#entertainment ul{
		letter-spacing: -.4em;
	}

	#entertainment li{
		display: inline-block;
		width:50%;
		margin-bottom:30px;
		vertical-align: top;
		letter-spacing: normal;
	}

	#entertainment li:nth-child(3),
	#entertainment li:nth-child(4){
		margin-bottom:0;
	}

	#entertainment li:nth-child(odd){
		padding-right:5%;
	}

	.subHead{
		margin-bottom:60px;
		font-size: 32px;
	}

	.subHead span{
		margin-left:1em;
		font-size: 18px;
	}

	#realEstate{
		margin-bottom: 30px;
	}

	#realEstate .contentBox,
	#investment .contentBox{
		width: 570px;
		height: 280px;
		z-index: 3;
	}

	#realEstate .thumbNail{
		top:-60px;
		right:0;
	}

	#investment{
		margin-bottom: 120px;	
	}

	#investment::after{
		content: '';
		display: block;
		clear: both;
	}

	#investment .contentBox{
		float: right;
	}

	#investment .thumbNail{
		top:60px;
		left:0;
	}

	.thumbNail{
		position: absolute;
		width:570px;
		height:280px;
	}

	/* ---------- Works ---------- */
	#works{
		padding:120px 0 60px;
		clear: both;
	}

	#worksList{
		margin-bottom: 30px;
		overflow: hidden;
	}

	#worksList .worksTxt{
		width:200px;
		height:200px;
		padding:130px 20px 20px;
		text-align: center;
		line-height: 1.5;
		font-size: 15px;
		background-position: center 50px;
	}

	#worksList li{
		float: left;
		margin:0 20px 20px 0;
	}

	#worksList li:nth-child(5){
		margin-right:0;
	}

	#worksList .worksImages{
		width:200px;
		height:200px;
	}

	/* ---------- Company ---------- */
	#company{
		padding:120px 0 60px;
		overflow: hidden;
	}

	.message{
		margin-bottom: 60px;
		padding-bottom:30px;
	}

	#companyInfo{
		width:540px;
		padding:0 30px;
		font-size:14px;
	}

	#companyInfo dt{
		width:80px;
		float:left;
		
	}

	#companyInfo dd{
		margin-left:80px;
	}
}

/* ------------------------------------------------

スマホ

----------------------------------------------- */
@media screen and (max-width:1079px) {

	#topImage{
		position: relative;
		width: 100%;
		height: 100%;
		background: url(../../resources/images/hero_image.png) no-repeat fixed;
		overflow: hidden;
		z-index: 1;
		-webkit-background-size:cover;
		-moz-background-size:cover;
		-o-background-size:cover;
		-ms-background-size:cover;
		background-size:cover;
	}

	.inner{
		width:100%;
		padding:0 15px;
	}

	#globalHeader{
		position: absolute;
		height:60px;
	}

	#logo{
		width:50px;
		height:32px;
		margin:14px auto;
	}

	#logo a{
		-webkit-background-size:50px 32px;
		-moz-background-size:50px 32px;
		-o-background-size:50px 32px;
		-ms-background-size:50px 32px;
		background-size:50px 32px;
	}

	#gloabaNav{
		display: none;
	}

	#topImage{
		padding:0 5%;
	}

	#catchPhrase h2{
		margin-bottom: 15px;
		font-size: 8vw;
		line-height:1.1;
	}

	#catchPhrase p{
		font-size: calc(100% + 0.5vw);
		line-height:1.3;
	}

	#contact{
		width: 40%;
		padding:20px 0;
		font-size: calc(93% + 0.5vw);
	}

	/* ---------- Our Business ---------- */
	.catName{
		margin-bottom: 60px;
		font-size: calc(197% + 0.5vw);
	}

	#first .left,
	#first .right{
		width: 100%;
	}

	#first{
		margin-bottom: 120px;
		padding:60px 0 30px;
	}

	#first .left,
	#first .right{
		float:none;
	}

	#first .left p{
		font-size: 14px;
		line-height: 1.5;
	}

	#first .left{
		margin-bottom: 30px;
	}

	#chart{
		width: calc(100% - 45vw);
		height:100%;
	}

	#chart img{
		width: 100%;
		height:100%;
	}

	/* ---------- エンターテインメント関連 ---------- */
	#entertainment{
		margin-bottom: 135px;
	}

	#entertainment::before{
		top:-120px;
		height: 150px;
	}

	.contentBox{
		width:95%;
		margin:0 auto;
		padding:30px;
		z-index: 3;
	}

	.contentBox::before{
		width:95%;
		margin:0 auto;
	}

	.contentBox li{
		margin-bottom:15px;
	}

	.contentBox li:last-child{
		margin-bottom: 0;
	}

	.contentBox li h5{
		margin-bottom:10px;
		font-weight: bold;
	}

	.contentBox li p{
		font-size:85%;
		line-height: 1.5;
	}

	.subHead{
		margin-bottom:60px;
		font-size: calc( 116% + 0.4vw);
	}

	.subHead span{
		display: block;
		margin-top:5px;
		font-size: calc(77% - 0.5vw);
	}

	.thumbNail{	
		position: absolute;
		top: -105px;
		left:50%;
		width:300px;
		height:150px;
		z-index: -1;
		transform: translateX(-50%);
	}

	.thumbNail img{
		text-align: center;
		vertical-align: middle;
		width: 300px;
		height: auto;
	}

	#realEstate{
		margin-bottom: 135px;
	}

	/* ---------- Works ---------- */
	#works{
		padding:30px 0;
	}

	#worksList{
		width:300px;
		margin:0 auto;
		margin-bottom: 30px;
		overflow: hidden;
	}

	#worksList .worksTxt{
		width:135px;
		height:135px;
		padding:85px 10px 10px;
		text-align: center;
		font-size:13px;
		line-height: 1.5;
		background-position: center 20px;
	}

	#worksList li{
		float: left;
		margin:0 20px 20px 0;
	}

	#worksList li:nth-child(even){
		margin-right:0;
	}

	#worksList .worksImages,
	#worksList .worksImages img{
		width:135px;
		height:135px;
	}

	/* ---------- Company ---------- */
	#company{
		padding:30px 0;
	}

	.message{
		margin-bottom: 30px;
		padding-bottom:15px;
	}

	#company .left,
	#company .right{
		width:100%;
		float:none;
	}
	#map{
		margin-bottom: 15px;
	}
	#map iframe{
		width:100%;
		height: 50vh;
	}
}

@media screen and (max-width:414px) {

	#topImage::before{
		content: '';
		position:fixed;
		top:0;
		left:0;
		width:100%;
		height:100vh;
		z-index: -1;
		background: url(../../resources/images/hero_image.png) no-repeat;
		background-size:auto 100%;
	}
}