﻿
html, body {
	height: 100%;
	margin: 0px;

	box-sizing: border-box;
	display: block;

	text-rendering: optimizeLegibility;
}
body {
	min-height: 100%;

	background-color: #fbfbfb;

	color: #424242;
	font-family: 'Open Sans', 'Segoe UI', 'source-han-sans-japanese', 'Meiryo', sans-serif;
	font-weight: 200;
}

a {
	color: black;
	text-decoration: none;
	transition: color .3s ease;
}
a:hover {
	color: #aaaaaa;
}
h2 {
	margin-bottom: 1em;
	margin-top: 60px;

	font-family: 'Raleway', 'Segoe UI', sans-serif;
	font-size: 33px;
	font-weight: 600;
}
h3 {
	margin-bottom: 0.2em;
	margin-top: 0.75em;

	color: black;
	font-size: 30px;
	font-weight: 300;
}

/*******************************************************************************/

.invisible {
	border: 0;
	padding: 0;
	margin: 0;
	visibility: hidden;
}
.stop_float {
	clear: both;
}
.dyn_bottom {
	margin-bottom: 200px;
}
.resizable_outer {
	width: 100%;

	overflow: hidden;
}
.resizable_inner {
	transform-origin: top left;
}

/*******************************************************************************/

header {
	height: 100%;
	width: 100%;

	overflow: hidden;
}

article {
	box-sizing: border-box;
	margin-top: -100px;
	min-height: 100%;
	padding-left: 5%;
	padding-right: 5%;
	width: 100%;

	background-color: #eaeaea;

	text-align: center;
}
article .kanji {
	line-height: 34px;
}
section {
	max-width: 1200px;
	min-height: 100%;
	width: 100%;

	clear: both;
	display: inline-block;

	font-size: 22px;
	font-weight: 200;
	text-align: left;
}

footer {
	box-sizing: border-box;
	padding-top: 75px;
	padding-bottom: 175px;
	padding-left: 5%;
	padding-right: 5%;
	width: 100%;

	clear: both;

	background-color: #fbfbfb;

	text-align: center;
}
footer section {
	max-width: 1200px;
	width: 100%;
}
footer #lang_select {
	width: 120px;

	float: left;

	line-height: 1.4em;
}
footer #copy {
	max-width: 60%;
	width: 450px;

	float: right;

	font-size: 16px;
	font-weight: 200;
}
footer ul {
	padding: 0;
	margin: 0;
}
footer li {
	display: block;
}

/*******************************************************************************/

#bg, #bg_canvas {
	width: 100%;

	overflow: hidden;
}
#bg {
	height: 100%;
	position: fixed;
	z-index: -99;

	background-color: #F4F4F4;
}
#bg_canvas {
	display: block;
}
#title {
	height: 100%;
	position: fixed;
	width: 100%;
	z-index: -1;
}
#logo {
	height: 204px;
	width: 463px;

	display: inline-block;
	opacity: 0;

	background: url('logo.png') center no-repeat;
}

/*******************************************************************************/

#scroll_tip {
	height: 100px;
	margin-bottom: 5%;
	padding-top: 25px;
	width: 100%;

	color: #9a9a9a;
	text-align: center;
}
#about_text {
	max-width: 800px;
	width: 100%;
}
#works {
	padding-bottom: 30px;
}
#works .column {
	max-width: 540px;
	width: 45%;

	display: inline-block;
	vertical-align: top;
}
#works .column_divider {
	width: 10%;

	display: inline-block;
}
#works .work_img {
	height: 268px;
	width: 540px;

	display: block;
}
#works .work_img#purifier {
	background: url('works.png') 0px 0px;
	background-size: cover;
}
#works .work_img#proc_earth {
	background: url('works.png') 0px -268px;
	background-size: cover;
}
#works .column:nth-of-type(1) {
	padding-left: 0px;
}
#contact {
	padding-bottom: 100px;
}
#contact ul {
	padding: 0;
	margin: 0;

	font-size: 48px;
}
#contact li {
	display: block;
}

/*******************************************************************************/
/*******************************************************************************/

@media only screen and (max-width: 480px) {

	body {
		min-width: 320px;
	}
	article .kanji {
		font-size: 18px;
		line-height: 27px;
	}
	section {
		font-size: 20px;
	}
	footer {
		padding-bottom: 50px;
	}
	footer #lang_select {
		padding-bottom: 100px;
		width: 100%;

		float: none;
	}
	footer #copy {
		max-width: 100%;
		width: 100%;

		float: none;
	}

	.dyn_bottom {
		margin-bottom: 50px;
	}

	#bg {
		position: absolute;
	}
	#title {
		position: static;
	}
	#about_text {
		width: 100%;
	}
	#works .column {
		padding-left: 0px;
		padding-top: 25px;
		width: 100%;
	}
	#works .column:nth-of-type(1) {
		padding-bottom: 40px;
	}
	#contact ul {
		font-size: 42px;
	}

}
