@charset "utf-8";

/* common
----------------------------------------------------------------------------------*/

body {
	margin: 0;
	padding: 0;
	font-size: 87.5%;
	font-family: Verdana,Arial,"メイリオ",Meiryo,"Osaka","ヒラギノ角ゴPro W3","Hiragino Kaku Gothic Pro","ＭＳ Ｐゴシック",sans-serif;
	line-height: 1.8;
	color: #646464;
	vertical-align: top;
	background: #fac03d;
	-webkit-text-size-adjust: 100%;
}

a:link   {color: #0063c6;text-decoration: underline;}
a:visited{color: #0063c6;text-decoration: underline;}
a:hover  {color: #ff6400;text-decoration: none;}
a:active {color: #0063c6;text-decoration: underline;}


.section{
	width: 990px;
	margin: 0 auto 20px;
	padding: 20px;
	background: #fff;
	overflow: hidden;
}
.section h2.fL{margin-right: 30px;}
.section h2.fR{margin-left: 30px;}
.section h2.fL img,
.section h2.fR img{
	-webkit-filter: drop-shadow(5px 5px 5px #ccc);
	filter: drop-shadow(5px 5px 5px #ccc);
}
.section .catch{margin: 0 0 40px;}

@media only screen and (max-width: 990px){
.section{width: 768px;}
.section h2.fL,
.section h2.fR{float: none!important;margin: 0 0 20px;text-align: center;}
.section .catch{text-align: center;}
}
@media only screen and (max-width: 768px){
.section{
	width: auto;
	margin: 0 10px 20px;
	padding: 10px;
}
}


/* header
----------------------------------------------------------------------------------*/
#header{
	margin: 0 0 20px;
	border-top: 3px solid #cc3333;
	background: #fff;
}
#header .section{
	margin: 0 auto;
	padding: 0 0 20px;
	background: url(../img/bg-header.png) center 65px no-repeat;
	overflow: hidden;
}
#header #logo{
	padding: 5px 0 0;
	line-height: 1.3;
}
#header #logo span{
	display: block;
	font-size: 8px;
	line-height: 1;
}
#header #logo a{
	line-height: 1;
}
#header #logo img{
	width: 125px;
	height: auto;
}
#gnavi{
	float: left;
	width: 525px;
	padding: 140px 0 0;
}
#gnavi li{
	float: left;
	width: 175px;
}
#gnavi li.nav-works{
	clear: left;
}
#gnavi li a img{
	-webkit-filter: drop-shadow(5px 5px 5px #ccc);
	filter: drop-shadow(5px 5px 5px #ccc);
}
#header #facebook{
	float: right;
	width: 300px;
	padding: 390px 0 0;
}
@media only screen and (max-width: 990px){
#header .section{
	-webkit-background-size: 100% auto;
	background-size: 100% auto;
}
#header #facebook{display: none;}
}
@media only screen and (max-width: 768px){
#header .section{margin: 0 10px;}
}
@media only screen and (max-width: 545px){
#gnavi{
	float: none;
	width: 100%;
	padding: 30% 0 0;
}
#gnavi li{
	width: 33.333%;
}
}


/* concept
----------------------------------------------------------------------------------*/
#concept-photo{
	margin: 40px 0 0;
	padding: 20px;
	border: 1px solid #ccc;
	-webkit-box-shadow: 5px 5px 5px #ccc;
	-moz-box-shadow: 5px 5px 5px #ccc;
	box-shadow: 5px 5px 5px #ccc;
}
#concept-photo h3{text-align: center;}
#concept-photo ul{
	margin: 10px -12px 0;	
}
#concept-photo ul li{
	width: 50%;
	padding: 0 12px;	
}
@media only screen and (max-width: 768px){
#concept-photo{padding: 10px;}
}
@media only screen and (max-width: 480px){
#concept-photo ul{
	margin: 0;	
}
#concept-photo ul li{
	width: 100%;
	margin: 10px 0 0;
	padding: 0;
	text-align: center;
}
}


/* works
----------------------------------------------------------------------------------*/
#works h3{
	margin: 0 0 10px;
	padding: 5px 10px;
	background: #ec5312;
	overflow: hidden;
}
.works-flow{
	float: left;
	width: 30.52%;
}
.works-photo{
	float: right;
	width: 67.36%;
	margin: 0 -20px;
}
.works-photo li{
	width: 50%;
	padding: 0 20px 20px;
}
@media only screen and (max-width: 640px){
.works-flow{
	float: none;
	width: auto;
	margin: 0 0 20px;
	text-align: center;
}
.works-photo{
	float: none;
	width: auto;
	margin: 0 -5px;
}
.works-photo li{
	padding: 0 5px 10px;
}
}


/* staff
----------------------------------------------------------------------------------*/
#staff{
	min-height: 1100px;
	background: #fff url(../img/bg-staff.png) center 50px no-repeat;
}
#staff01{float: right;margin: -60px 0 0;}
#staff02{float: left;margin: -40px 0 0;}
#staff03{float: right;margin: -80px 0 0;}
@media only screen and (max-width: 990px){
#staff{min-height: inherit;}
#staff .catch{margin: 0 0 10px;}
#staff01,
#staff02,
#staff03{float: none;margin: 0 0 20px;text-align: center;}
#staff03{margin: 0;}
}


/* environment
----------------------------------------------------------------------------------*/
#environment .catch{padding: 80px 0 0;}
#environment-list{
	clear: both;
	padding: 30px 0 0;
}
#environment-list li{
	margin: 0 0 30px;
	padding: 10px;
	border: 1px solid #ccc;
	-webkit-box-shadow: 5px 5px 5px #ccc;
	-moz-box-shadow: 5px 5px 5px #ccc;
	box-shadow: 5px 5px 5px #ccc;
	overflow: hidden;
}
#environment-list li .photo{
	float: right;
	margin-left: 30px;
}
#environment-list li h3{margin: 0 0 10px;}
@media only screen and (max-width: 768px){
#environment .catch{margin: 0 0 20px;padding: 0;}
#environment-list{padding: 0;}
#environment-list li .photo{
	float: none;
	margin: 0 0 20px;
	text-align: center;
}
#environment-list li h3{text-align: center;}
}


/* data
----------------------------------------------------------------------------------*/
#data .ttl{
	margin: 0 0 20px;
	padding: 5px 10px;
	background: #a12a95;
}
#data table{
	border-top: 1px solid #ea3536;
	border-left: 1px solid #ea3536;
}
#data table th,
#data table td{
	padding: 5px 10px;
	border-bottom: 1px solid #ea3536;
	border-right: 1px solid #ea3536;
}
#data table th{width: 25%;background: #ccc;}
@media only screen and (max-width: 768px){
#data table th{width:9em;}
}


/* process
----------------------------------------------------------------------------------*/
#process .ttl{
	margin: 0 0 20px;
	padding: 5px 10px;
	background: #ea3536;
}
#recruit-process li{
	margin: 0 0 5px;
	padding: 0 0 56px;
	background: url(../img/icon-arrow.png) no-repeat center bottom;
}
#recruit-process li:last-child{
	background: none;
	padding: 0;
}
#recruit-process dl{
	display: table;
	table-layout: fixed;
	width: 100%;
	font-size: 18px;
}
#recruit-process dl dt{
	display: table-cell;
	width: 40px;
	padding: 5px 0;
	text-align: center;
	vertical-align: middle;
	border: 1px solid #ea3536;
}
#recruit-process dl dd{
	display: table-cell;
	width: 100%;
	padding-left: 10px;
	vertical-align: middle;
}
#recruit-process dl dd p{
	padding: 5px 10px;
	border: 1px solid #ea3536;
}


/* entry
----------------------------------------------------------------------------------*/
#entry{
	margin: 0 auto;
	background: #52bdb7;
}
#entry .inner{
	padding: 10px 10px 30px;
	background: #6bd0be;
}
#entry .ttl{
	margin: 0 0 30px;
	padding: 5px 10px;
	background: #52bdb7;
}
#entry ul{text-align: center;}
#entry ul li{
	padding: 0 10px;
	vertical-align: middle;
}
@media only screen and (max-width: 480px){
#entry ul li{
	display: block;
	margin: 10px 0 0;
	text-align: center;
}
#entry ul li:first-child{margin: 0;}
}


/* footer
----------------------------------------------------------------------------------*/
#f-logo{
	float: left;
	width: 170px;
	margin-right: 20px;
}
#f-navi{overflow: hidden;}
#f-navi li{
	margin-right: 25px;
}
#footer .copyright{padding: 50px 0 0;}
@media only screen and (max-width: 768px){
#f-logo{
	float: none;
	margin: 0 auto 10px;
}
}
