@charset "utf-8";
/*------------------------------------------------------------
	トープページ
------------------------------------------------------------*/
.mainImg .logo {
	text-align: center;
	position: absolute;
	left: 0;
	top: 27.3%;
	width: 100%;
	z-index: 10;
	display: none;
}

.mainImg .logo img {
	width: auto;
    height: 197px;
}

    
.mainImg .link {
	position: absolute;
	left: 0;
	bottom: 10%;
	width: 100%;
	text-align: center;
	z-index: 10;
}
.mainImg .link a {
	-webkit-transition: opacity 0.4s;
	-moz-transition: opacity 0.4s;
	-ms-transition: opacity 0.4s;
	transition: opacity 0.4s;
}
.mainImg .link a:hover {
	opacity: 0.5;
}
.mainImg .link a img {
	-webkit-animation: scrollLead 1.8s infinite;
	-moz-animation: scrollLead 1.8s infinite;
	animation: scrollLead 1.8s infinite;
	-webkit-animation-fill-mode: both;
	-moz-animation-fill-mode: both;
	animation-fill-mode: both;
}
#main .concept {
	padding: 93px 0;
	text-align: center;
}
#main .concept h2 {
	margin-bottom: 77px;
}

#main .concept h2 img {
    width: auto;
    height: 77px;
}
#main .concept p {
	margin-bottom: 45px;
	font-size: 14px;
	line-height: 3.2;
}
#main .concept .text {
	margin-bottom: 0;
}
.conceptBox {
	position: relative;
}
.canvasBox {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	z-index: -1;
}
#canvas {
	display: block;
	margin: 0 auto;
}
#main .works {
	padding: 66px 0 0;
	text-align: center;
}
#main .works h2 {
	margin-bottom: 92px;
}
#main .works h2 img {
    width: auto;
    height: 77px;
}
#main .works .photoList li {
	width: 33.33%;
	float: left;
}
#main .works .photoList li a {
	display: block;
	position: relative;
	overflow: hidden;
}
#main .works .photoList li a:hover {
	text-decoration: none;
}
#main .works .photoList li a > img {
	transition: all 0.3s ease-in-out 0s;
	-webkit-transition: all 0.3s ease-in-out 0s;
}
#main .works .photoList li img {
	width: 100%;
}
#main .works .photoList li .link img {
	width: auto;
}
#main .works .photoList li .text {
	font-size: 14px;
	text-align: left;
}
#main .works .photoList li .sub {
	padding: 6% 6% 0;
	width: 88%;
	height: 92%;
	position: absolute;
	left: 0;
	top: 0;
	background: url(../img/index/photo_link_bg.png) repeat left top;
	zoom: 1;
	opacity: 0;
	filter: alpha(opacity=0);
	transition: all 0.3s ease 0s;
	-webkit-transition: all 0.3s ease 0s;
}
#main .works .photoList li p {
	margin-bottom: 26px;
	color: #FFF;
	line-height: 1.55;
}
#main .works .photoList li .title {
	margin-bottom: 14px;
	font-size: 24px;
	font-weight: bold;
}
#main .works .photoList li .text02 {
	margin-bottom: 0;
	position: absolute;
	left: 25px;
	bottom: 27px;
	color: #8fdfdc;
	font-size: 13px;
	font-weight: bold;
	text-align: left;
}
#main .flow {
	padding: 120px 0 145px;
	background-color: #DEF6F5;
}
#main .flow h2 {
	margin-bottom: 81px;
	text-align: center;
}
#main .flow h2 img {
    width: auto;
    height: 77px;
}
#main .flow ul {
	margin: 0 auto;
	width: 950px;
}
#main .flow li {
	width: 230px;
	float: left;
	font-size: 14px;
}

#main .flow .step img{
	width: 230px;
	height: auto;
}
#main .flow .arrow {
	margin: 102px 56px 0;
	width: auto;
}
#main .flow li span {
	margin-top: 26px;
	display: block;
	line-height: 1.7;
}
#footer {
	background: url(../img/index/contact_bg.jpg) no-repeat left top;
}
.contact {
	padding: 120px 0 170px;
	text-align: center;
	position: relative;
	z-index: 100;
}
.contact h2 {
	margin-bottom: 70px;
}
.contact h2 img {
    width: auto;
    height: 77px;
}
.contact p {
	margin-bottom: 41px;
	font-size: 14px;
	line-height: 2.2;
}
.contact .mail a img  {
	width: auto;
	height: 60px;
}
.contact .link a:hover img {
	opacity: 0.7;
	filter: alpha(opacity=70);
}
#main .works .photoList li a:hover > img {
	transform: scale(1.2);
	-webkit-transform: scale(1.2);
}
#main .works .photoList li a:hover .sub {
	opacity: 1;
	filter: alpha(opacity=100);
}

/*#main .works .photoList li .spec:hover > img {
	transform: scale(1);
	-webkit-transform: scale(1);
}*/

@media all and (min-width: 0) and (max-width: 736px) {
.mainImg .logo a {
	display: inline-block;
	width: 40%;
}
.mainImg .logo img {
	width: 100%;
	height: auto;
}
.mainImg .link img {
	width: 30px;
}
#main .concept {
	padding: 22px 0;
}
#main .concept h2 {
	margin-bottom: 40px;
	margin-top: 40px;
}
#main .concept h2 img {
	/*width: 89px;*/
	height: 40px;
}
#main .concept p {
	margin-bottom: 20px;
	font-size: 12px;
	line-height: 2.5;
}
#main .works {
	margin: 0 auto;
	padding: 66px 0 0;
	width: auto;
}
#main .works h2 {
	margin-bottom: 40px;
	margin-top: 40px;
}
#main .works h2 img {
	height: 40px;
}
#main .works .photoList li {
	width: auto;
	float: none;
}
#main .works .photoList li img {
	width: 100%;
}
#main .works .photoList li .link img {
	width: 100%;
}
#main .works .photoList li .text {
	height: inherit !important;
	font-size: 12px;
	line-height: 1.8;
}
#main .works .photoList li .sub {
	margin-top: -17%;
	padding: 4% 5% 16.5%;
	width: 90%;
	height: auto;
	position: inherit;
	left: inherit;
	top: inherit;
	opacity: 1;
}
#main .works .photoList li a:hover > img {
	transform: scale(1);
	-webkit-transform: scale(1);
}
#main .works .photoList li:nth-child(9) {
	display: none;
}
#main .works .photoList li:nth-child(2) .sub,  #main .works .photoList li:nth-child(6) .sub,  #main .works .photoList li:nth-child(7) .sub,  #main .works .photoList li:nth-child(8) .sub {
	margin-top: -15%;
	padding: 4% 5% 10%;
	top: inherit;
}
#main .works .photoList li:nth-child(2) .text,  #main .works .photoList li:nth-child(6) .text,  #main .works .photoList li:nth-child(7) .text,  #main .works .photoList li:nth-child(8) .text {
	margin-bottom: 0;
}
#main .works .photoList li p {
	margin-bottom: 20px;
	color: #FFF;
	line-height: 1.7;
}
#main .works .photoList li .title {
	margin-bottom: 7px;
	font-size: 17px;
	font-weight: bold;
}
#main .works .photoList li .link {
	margin: 0 auto;
	width: 45%;
}
#main .works .photoList li .link a img {
	width: 100%;
}
#main .works .photoList li .text02 {
	margin-bottom: 0;
	position: absolute;
	left: 15px;
	bottom: 10px;
	font-size: 10px;
}
#main .flow {
	padding: 35px 0 55px;
}
#main .flow h2 {
	margin-bottom: 40px;
	margin-top: 40px;
}
#main .flow h2 img {
	height: 40px;
}
#main .flow ul {
	margin: 0 15px;
	width: auto;
}
#main .flow li {
	width: auto;
	float: none;
	font-size: 12px;
	line-height: 1.8;
	overflow: hidden;
	zoom: 1;
}
#main .flow li img {
	margin-top: 5px;
	float: left;
	width: 26%;
}
	
#main .flow .step img{
	width: 26%;
	height: auto;
}	
#main .flow .arrow {
	margin: 20px 10%;
	width: auto;
}
#main .flow .arrow img {
	margin: 0;
	width: 18px;
	float: none;
}
#main .flow li span {
	margin-top: 0;
	width: 66%;
	display: block;
	float: right;
	line-height: 1.65;
}
#main .flow li span span {
	margin: 0;
	width: auto;
	float: none;
}
.contact {
	padding: 35px 0 60px;
	text-align: center;
}
.contact h2 {
	margin-bottom: 40px;
	margin-top: 40px;
}
.contact h2 img {
	height: 40px;
}
.contact p {
	margin-bottom: 25px;
	font-size: 12px;
	line-height: 1.8;
}
.contact .link {
	margin: 0 80px;
}
.contact .link img {
	width: 100%;
}
	
.contact .mail a img  {
	width: 100%;
	height: auto;
}
#footer {
	background: url(../img/index/sp_contact_bg.jpg) no-repeat left top;
	background-size: 100% auto;
}
}
