@charset "utf-8";

@import url(https://fonts.googleapis.com/css?family=Quicksand:300,400,700);


@font-face {
    font-family: 'icomoon';
    src:    url('/shared/fonts/icomoon.eot?r3hwt4');
    src:    url('/shared/fonts/icomoon.eot?r3hwt4#iefix') format('embedded-opentype'),
        url('/shared/fonts/icomoon.ttf?r3hwt4') format('truetype'),
        url('/shared/fonts/icomoon.woff?r3hwt4') format('woff'),
        url('/shared/fonts/icomoon.svg?r3hwt4#icomoon') format('svg');
    font-weight: normal;
    font-style: normal;
}



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, dialog, figure, footer, header,
hgroup, menu, nav, section,
time, mark, audio, video {
	margin:0;
	padding:0;
	border:0;
	outline:0;
	font-size:100%;
	vertical-align:baseline;
	background:transparent;
}
body {
	line-height:1;
}



article, aside, dialog, figure, footer, header,
hgroup, nav, section {
	display: block;
}

blockquote, q {
	quotes:none;
}

blockquote:before, blockquote:after,
q:before, q:after {
	content:'';
	content:none;
}

a {
	margin:0;
	padding:0;
	border:0;
	font-size:100%;
	color:#fff;
	vertical-align:baseline;
	background:transparent;
}


table {
	border-collapse:collapse;
	border-spacing:0;
}

input, select {
	vertical-align:middle;
}


::-moz-selection {
	color: #000;
	background: #fff;
}
::selection {
	color: #000;
	background: #fff;
}



li {
	list-style: none;
}
img {
	vertical-align: bottom;
}






body {
	color: #fff;
	background: #000;
	font-family: Futura, "FuturaLight", "Century Gothic", "Quicksand", Arial, sans-serif;
	-webkit-font-smoothing: antialiased;
}
#content {
	position: relative;
	width: 1000px;
	margin: 0 auto;
	padding: 55px 0 0;
}

#wrap > header {
	position: relative;
	height: 142px;
	border-bottom: 1px solid #fff;
}
h1 {
	position: absolute;
	width: 246px;
	height: 67px;
	left: 36px;
	top: 34px;
}
#menu-button {
	display: none;
}
#wrap > header nav a {
	text-decoration: none;
	letter-spacing: 3px;
}
#wrap > header nav ul {
	position: absolute;
	width: auto;
	right: 36px;
	top: 76px;
	font-size: 0;
	line-height: 1;
}
#wrap > header nav li {
	display: inline-block;
	font-size: 15px;
}
#wrap > header nav li + li {
	margin-left: 64px;
}

#wrap > header nav a:hover,
body.top #wrap > header nav li.top a,
body.works #wrap > header nav li.works a,
body.profile #wrap > header nav li.profile a,
body.news #wrap > header nav li.news a,
body.products #wrap > header nav li.products a,
body.contact #wrap > header nav li.contact a {
	color: #000;
	background: #fff;
}



#wrap > header .lang {
	position: absolute;
	font-size: 0;
	right: 102px;
	top: 27px;
}
#wrap > header .lang a {
	display: inline-block;
	padding-left: 2px;
	font-size: 14px;
	text-decoration: none;
	line-height: 1;
	letter-spacing: 2px;
}
#wrap > header .lang ul,
#wrap > header .lang li {
	display: inline;
}
#wrap > header .lang li + li:before {
	content: "/";
	margin: 0 5px;
	font-size: 13px;
	vertical-align: 1px;
}
#wrap > header .lang a:hover,
body.jp #wrap > header li.jp a,
body.en #wrap > header li.en a {
	color: #000;
	background: #fff;
}







#wrap > header .social {
	position: absolute;
	right: 32px;
	top: 25px;
	font-size: 0;
}
#wrap > header .social a {
	display: inline-block;
	width: 20px;
	height: 20px;
	text-align: center;
	text-decoration: none;
}
#wrap > header .social a:before {
	font-family: icomoon;
	line-height: 20px;
}
#wrap > header .social a + a {
	margin-left: 5px;
}
#wrap > header .social .facebook:before {
	content: "\e908";
	font-size: 14px;
}
#wrap > header .social .twitter:before {
	content: "\e90b";
	font-size: 15px;
}
#wrap > header .social a:hover {
	color: #000;
	background: #fff;
}







#wrap > footer {
	width: 1000px;
	margin: 100px auto 0;
	padding: 0 0 30px;
	text-align: right;
	font-family: sans-serif;
}
#wrap > footer .ja {
	line-height: 1;
	font-size: 11px;
}
#wrap > footer .en {
	margin: 8px 0 0;
	line-height: 1.4;
	font-size: 11px;
	font-style: italic;
}




h2 {
	margin: 0 0 55px;
	letter-spacing: 4px;
	font-size: 36px;
	font-weight: 300;
}
h2 span,
h2 a {
	color: #000;
	background: #fff;
	text-decoration: none;
}





@media screen and (min-width: 737px) and (max-width: 1000px) {
	#content {
		width: 100%;
	}
	#wrap > footer {
		width: 100%;
	}
}
@media screen and (max-width: 736px) {
	#content {
		box-sizing: border-box;
		width: 100%;
		padding: 25px 10px;
	}
	#wrap > footer {
		box-sizing: border-box;
		width: 100%;
		padding: 10px;
	}
	
	#wrap > header {
		height: 64px;
		border: none;
	}
	h1 {
		width: 128px;
		height: 34px;
		left: 12px;
		top: 12px;
		z-index: 1001;
	}
	h1 img {
		width: 100%;
		height: auto;
	}
	
	h2 {
		margin: 0 0 30px;
		font-size: 24px;
	}
	
	
	#menu {
		position: absolute;
		width: 100%;
		height: 64px;
		left: 0;
		top: 0;
		z-index: 1000;
		background: #000;
		overflow: hidden;
		
		-webkit-transition: height 300ms ease-out;
		-moz-transition:    height 300ms ease-out;
		transition:         height 300ms ease-out;
	}
	#menu-button {
		position: absolute;
		display: block;
		width: 30px;
		height: 21px;
		right: 10px;
		top: 14px;
		background: url(../img/btn_menu.png) 50% 50% no-repeat;
		background-size: 30px auto;
	}
	
	#menu > nav,
	#menu > div {
		visibility: hidden;
		
		-webkit-transition: visibility 300ms ease-out;
		-moz-transition:    visibility 300ms ease-out;
		transition:         visibility 300ms ease-out;
	}
	
	body.show-menu #wrap {
		height: 500px;
		overflow: hidden;
	}
	body.show-menu #menu {
		height: 500px;
	}
	body.show-menu #menu > nav,
	body.show-menu #menu > div {
		visibility: visible;
	}
	
	body.show-menu #menu-button {
		background-image: url(../img/btn_menu_close.png);
	}
	
	
	#wrap > header nav {
		padding-top: 64px;
	}
	#wrap > header nav ul {
		position: relative;
		display: block;
		width: 100%;
		right: 0;
		top: 0;
		padding-top: 16px;
	}
	#wrap > header nav li {
		display: block;
		width: 100%;
		text-align: center;
		font-size: 18px;
	}
	#wrap > header nav li + li {
		margin: 22px 0 0;
	}
	#wrap > header nav a:hover,
	#wrap > header .lang a:hover,
	#wrap > header .social a:hover {
		color: #fff;
		background: none;
	}
	
	#wrap > header .lang,
	#wrap > header .social {
		position: relative;
		right: auto;
		top: auto;
	}
	#wrap > header .lang {
		margin: 50px 0 0;
		text-align: center;
	}
	#wrap > header .social {
		margin: 32px 0 0;
		text-align: center;
	}
	#wrap > header .social a {
		display: block;
		width: 30px;
		height: 30px;
		margin: 0 auto;
	}
	#wrap > header .social a + a {
		margin: 5px auto 0;
	}
	
	#wrap > header .social .facebook:before {
		font-size: 17px;
	}
	#wrap > header .social .twitter:before {
		font-size: 16px;
	}
	
	#wrap > footer .ja {
		font-size: 10px;
	}
	#wrap > footer .en {
		font-size: 9px;
	}

}



