body {
  font-family: "Helvetica Neue",
    Arial,
    "Hiragino Kaku Gothic ProN",
    "Hiragino Sans",
    Meiryo,
    sans-serif;
}

header, #container,
footer {
	width: 100%;
}

header {
	margin-bottom: 20px;
}

.headerBar,
footer {
	background: #000;
}

.headerBar {
	height: 30px;
}

div.main,
div#container,
footer div.footInner {
	width: 90%;
	margin: 0 auto;
}

div.main {
	padding: 20px 0;
	border-bottom: solid 1px #aaa;
}

header div.main {
	overflow: hidden;
	font-size: max(1.2vw,16px);
}

header div.main nav img {
	width: 1.6vw;
	position: relative;
	top: 4px;
}

header a {
	text-decoration: none;
	color: #000;
}

.logo {
	width: 15%;
	min-width: 120px;
	float: left;
}

nav {
	float: right;
	text-align: right;
	padding: 0;
	margin-top: 10px;
}

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

nav li {
	display: inline-block;
	margin-left: 15px;
}

nav li.top {
	display: none; /* PC‚Í”ñ•\Ž¦ */
}

nav li.now {
	font-weight: bold;
}

div#container > h1 {
	font-size: max(1.1vw,12px);
	margin-top: 8px;
}

footer {
	font-size: max(1.0vw,12px);
	padding: 20px 0;
	clear: both;
	margin-top: 100px;
}

footer, footer a {
	color: #fff;
}

footer a {
	text-decoration: none;
}

footer .footerMenu1 {
	width: 200px;
	float: left;
}

footer .footerMenu1 p,
footer .footerMenu2 p {
	margin-bottom: 14px;
}

footer .footerMenu1 ul,
footer .footerMenu2 ul {
	list-style-type: none;
	padding: 0;
}

footer .footerMenu1 li {
	margin-bottom: 6px;
}

footer .footerMenu2 {
	width: 100px;
	float: right;
	text-align: right;
}

footer .footerMenu2 div {
	float: right;
	width: 1.6vw;
}

footer .cRight {
	text-align: center;
	padding-top: 30px;
	clear: both;
}

/*
	top
*/

div#container.top {
	overflow: hidden;
}

div#container.top p {
	margin-bottom: 15px;
	float: left;
	text-align: center;
}

div#container.top p.img1 {
	width: 100%;
}

div#container.top p.img2 {
	width: 49%;
	margin-left: 2%;
}

div#container.top p.img3 {
	width: 32.5%;
	margin-left: 1.25%;
}

div#container.top p.img4 {
	width: 19%;
	margin-left: 1.25%;
	margin-bottom: 20px;
}

div#container.top p:nth-of-type(2),
div#container.top p:nth-of-type(4),
div#container.top p:nth-of-type(7) {
	margin-left: 0%;
}

div#container.top p[class^="img"] span {
	display: inline-block;
	margin-top: 8px;
}

div#container.top p.img2 span {
	font-size: 1.2vw;
	font-weight: bold;
}

div#container.top p.img4 span {
	font-size: 1.0vw;
}

div#container.top p.img4 span span {
	margin-top: 0;
	font-weight: bold;
}

/*
	news, story
*/

div#container.news section div,
div#container.story section div,
div#container.contact section div {
	margin-top: 40px;
	padding: 0 15vw;
}

div#container.news section h1,
div#container.story section h1,
div#container.contact section h1 {
	font-size: max(1.25vw,12px);
	font-weight: normal;
}

div#container.news section h2,
div#container.story section h2 {
	font-size: max(1.0vw,10px);
	margin-top: 24px;
}

div#container.news section p,
div#container.story section p {
	font-size: max(1.0vw,10px);
	margin-top: 10px;
	line-height: 2.0;
}

div#container.news hr,
div#container.story hr {
	width: 20vw;
	margin: 50px auto;
}

/*
	story
*/

div#container.story .project {
	padding: 0 20vw;
}

div#container.story .project h1 {
	text-align: center;
	margin-top: 40px;
}

div#container.story .project dl {
	display: inline-block;
	font-size: max(0.9vw,9px);
	text-align: center;
	margin-right: max(0.8vw,8px);
	margin-top: 20px;
}

div#container.story .project dl:first-of-type {
	margin-left: 3.0vw;
}

div#container.story .project dt span {
	font-size: max(1.1vw,11px);
}

div#container.story .concept,
div#container.story .designer {
	text-align: center;
}

div#container.story .concept img {
	width: 18vw;
	margin: 20px auto;
}

div#container.story .maru {
	width: 6vw;
	height: 6vw;
	background: #000;
	margin: 40px auto;
	border-radius: 4vw;
}

/*
	products
*/

div#container.products {
	overflow: hidden;
}

div#container.products .imgArea {
	margin: 20px 0;
}

div#container.products p {
	margin-bottom: 15px;
	float: left;
	text-align: center;
}

div#container.products p.prodImg {
	width: 32.5%;
	margin-left: 1.25%;
}

div#container.products p:nth-of-type(3n-4) {
	margin-left: 0%;
}

div#container.products p.prodImg span {
	display: inline-block;
	margin-top: 8px;
	font-size: max(1.0vw,10px);
}

div#container.products p.prodImg span span {
	margin-top: 0;
	font-weight: bold;
}

div#container.products > h1 {
	margin-bottom: 20px;
}

/*
	contact
*/

div#container.contact dl {
	font-size: max(1.0vw,10px);
	margin-top: 30px;
	overflow: hidden;
}

div#container.contact dt {
	margin-top: 30px;
}

div#container.contact dd {
	margin-top: 5px;
}

div#container.contact dl span {
	display: inline-block;
	width: 40px;
}

div#container.contact input {
	width: 300px;
}

div#container.contact span {
	float: left;
}

div#container.contact textarea {
	width: 600px;
	float: left;
}

div#container.contact p.btn {
	margin-top: 40px;
	margin-left: 40px;
}

div#container.contact p.btn input {
	width: 60px;
	font-size: max(1.0vw,10px);
	border: 0;
	background: none;
	border: solid 1px #000;
	color: #000;
}

/*
	mobile
*/

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

	nav li.top {
		display: block;
	}

	/* nav */

	#wrapper nav {
		position: fixed;
		top: 0;
		right: -300px;
		width: 160px;
		height: 100%;
		padding-top: 80px;
		background: rgba(51,51,51,0.8);
		font-size: 16px;
		box-sizing: border-box;
		z-index: 2
	}

	#wrapper nav ul li {
		display:block;
		padding: 20px 28px
	}
	  
	#wrapper nav ul li a {
		text-decoration: none;
		color: #ddd
	}
	  
	#wrapper .btn-gnavi {
		position: fixed;
		top: 34px;
		right: 20px;
		width: 30px;
		height: 24px;
		z-index: 3;
		box-sizing: border-box;
		cursor: pointer;
		-webkit-transition: all 400ms;
		transition: all 400ms
	}
	  
	#wrapper .btn-gnavi span {
		position: absolute;
		width: 30px;
		height: 4px;
		background: #666;
		border-radius: 10px;
		-webkit-transition: all 400ms;
		transition: all 400ms
	}
	  
	#wrapper .btn-gnavi span:nth-child(1) {
		top: 0
	}
	  
	#wrapper .btn-gnavi span:nth-child(2) {
		top: 10px
	}
	  
	#wrapper .btn-gnavi span:nth-child(3) {
		top: 20px
	}
	  
	#wrapper .btn-gnavi.open {
		-webkit-transform: rotate(180deg);
		transform: rotate(180deg)
	}
	  
	#wrapper .btn-gnavi.open span {
		background: #fff
	}
	  
	#wrapper .btn-gnavi.open span {
		width: 24px;
	}

	#wrapper .contents section p {
		position: absolute;
		top: 50%;
		width: 30%;
		line-height: 1.4;
		font-size: 20px;
		color: #fff;
		text-shadow: 0 0 6px #666
	}
	  
	#wrapper .contents section:nth-child(odd) p {
		left: 10%
	}
	  
	#wrapper .contents section:nth-child(even) p {
		right: 10%
	}

	/* other */

	.headerBar {
		height: 10px;
	}

	nav {
		margin-top: 0;
	}
	
	nav li {
		text-align: left;
	}

	div#container.news section div,
	div#container.story section div,
	div#container.contact section div {
		padding: 0 30px;
	}

	div#container.story .project {
	  padding: 0 50px;
	}

	div#container.story .concept img {
		width: 120px;
	}

	div#container.products p {
	  margin-bottom: 6px;
	}

	div#container.products > h1 {
	  margin-bottom: 10px;
	}

	div#container.contact input {
		width: 240px;
	}
	
	div#container.contact textarea {
  	width: 240px;
  }

	div#container.products p.prodImg {
		width: 49.5%;
		margin-left: 1.0%;
	}

	div#container.products p:nth-of-type(2n) {
		margin-left: 0%;
	}

	div#container.products p.prodImg span {
		display: inline-block;
		margin-top: 8px;
		font-size: max(1.0vw,10px);
	}

	div#container.products p.prodImg span span {
		margin-top: 0;
		font-weight: bold;
	}
	
	footer .footerMenu2 div {
		width: 30px;
	}

	header div.main nav img {
		width: 30px;
	}
	
	div#container.story .project dl {
		margin: 5px;
	}

	div#container.story .project dl:first-of-type {
		margin-left: 10px;
	}

	div#container.story .project dl:nth-of-type(4) {
		margin-left: 25px;
	}
	
	div#container.top p.img4 {
		width: 49.5%;
		margin-left: 0%;
	}

	div#container.top p:nth-of-type(8), div#container.top p:nth-of-type(10) {
		margin-left: 1.0%;
	}
	
	div#container.top p.img2 span {
		font-size: max(1.1vw,12px);
	}
	
	div#container.top p.img4 span {
		font-size: max(1.0vw,10px);
	}
	

}
