
body {
	font-size: 16px;
	font-family: Helvetica,'游ゴシック',YuGothic,'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','メイリオ',Meiryo,sans-serif;
	line-height: 148%;
	background-color: #fff;
}
.wrapper {
	width: 1080px;
    margin: 0 auto;
}
.clearfix{zoom:1;}
.clearfix:after{
  display:block;
  content:'';
  clear:both;
}
h1 {
	font-size: 40px;
	color: #101010;
	z-index: 0;
}
h2 {
	font-size: 35px;
    letter-spacing: 4px;
    font-weight: normal;
}
a {
	text-decoration: none;
	color: #101010;
}
img {
	max-width: 100%;
}
.view_pc {
	display: block;
}
.view_sp {
	display: none;
}
header {
	background-color: #101010;
	position: relative;
}
header .header_logo {
	float: left;
	padding: 20px 0;
	font-family: 'Lato', sans-serif;
	font-weight: normal;
    letter-spacing: 1px;
    font-size: 18px;
    margin-left: 10px;
}
header .header_logo a {
	color: #00de05;
}
header .header_logo a:hover {
	color: #7de57f;
}
header .nav {
	float: right;
	color: #fff;
	margin-right: 30px;
}
header .nav ul {
	display: block;
    float: right;
    font-family: 'Lato', sans-serif;
    letter-spacing: 0.1em;
}
header .nav li {
	margin: 20px 13px 20px;
	font-size: 16px;
	display: block;
    float: left;
}
header .nav li a {
	color: #fff;
    text-decoration: none;
}
header .nav li a:hover {
	color: #ccc;
    text-decoration: none;
}
header i.fa-bars {
    display: block;
    font-size: 2em;
}
header #mmenu_wrap {
	display: none;
}
header #mmenu_wrap a {
	color: #fff;
}
#mmenu {
	z-index: 1;
}
section.main {
	background-color: #00de05;
	text-align: center;
	padding: 50px 0 100px;
}
section.main h1 {
	text-align: center;
	position: absolute;
	top: 270px;
	width: 1080px;
	font-size: 55px;
	font-weight: normal;
	line-height: 1.2em;
	font-family: 'Lato', sans-serif;
	letter-spacing: 2px;
	z-index: 2;
}
section.main h1 span {
	font-size: 18px;
	font-weight: normal;
	letter-spacing: 1px;
	font-family: Helvetica,'游ゴシック',YuGothic,'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','メイリオ',Meiryo,sans-serif;
}

section.service {
	text-align: center;
	padding: 100px 0;
}
section .content_title {
	font-family: 'Lato', sans-serif;
    font-weight: 300;
    font-size: 42px;
}
section .content_title span {
	font-family: Helvetica,'游ゴシック',YuGothic,'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','メイリオ',Meiryo,sans-serif;
 	letter-spacing: 1px;
 	margin: 20px 0 30px;
 	font-size: 18px;
 	display: block;
}
section.service h2 {
	margin-top: 0px;
}
section.service li {
	width: 24%;
    float: left;
    margin-right: 14px;
}
section.service li:last-child {
	margin-right: 0;
}
section.service .box {
	background-color: #00de05;
	height: 250px;
	width: 250px;
	margin: 0 auto;
}
section.service li {
	width: 24%;
}
section.service img {
	padding-top: 62px;
	width: 36%;
}
section.service p.service {
	padding-top: 15px;
	font-family: 'Nunito', sans-serif;
    letter-spacing: 1px;
}
section.service p.under_box {
	padding: 20px 0px;
}
section.works {
	text-align: center;
	padding: 100px 0;
	background-color: #101010;
}
section.works h2 {
	color: #fff;
}
section.works span {
    color: #fff;
}
section.works .works01 li {
	float: left;
    margin-right: 26px;
}
section.works ul.works02 {
	display: table;
}
section.works .works02 li {
	float: left;
    margin-right: 20px;
    width: 346px;
}
section.works li:last-child {
	margin-right: 0;
}
section.works ul.works02 {
	padding-top: 50px;
}
section.works p.logo_text {
	color: #00de05;
	padding: 20px 0 10px;
}
section.works p.logo_text2 {
	color: #fff;
}
section.works p.works02_text {
	color: #00de05;
	padding: 20px 0 10px;
}
section.works p.works02_text2 {
	color: #fff;
}
section.company {
	text-align: center;
	padding: 100px 0 100px;
}
section.company span.map {
	display: block;
	margin: 10px 0 0;
}
section.company table.company_01 {
	text-align: left;
	width: 50%;
	float: left;
	display: block;
	padding-top: 35px;
}
section.company table.company_02 {
	text-align: left;
	width: 50%;
	display: block;
	padding-top: 35px;
	float: right;
}
section.company tr {
	border-left: solid 2px #00de05;
    display: block;
    margin: 30px 0 0;
}
section.company th {
    padding: 0px 10px 0 10px;
    width: 120px;
}
section.company td {
	line-height: 1.5em;
	padding: 16px 0;
}
section.company table a {
	color: #618ac6;
}
section.access {
	text-align: center;
	padding: 60px 0 80px;
	background-color: #00de05;
}
section.access p {
	padding-top: 30px;
	line-height: 1.5em;
}
section.access p a {
	color: #fff;
}
section.access iframe {
	max-width: 100%;
}
section.contact {
	text-align: center;
	padding: 100px 0 100px;
}
section.contact p.upper_form {
	width: 55%;
    margin: 0 auto;
    text-align: left;
    background-color: #f7f7f7;
    padding: 20px;
    border-top: solid 5px #101010;
    border-bottom: solid 5px #101010;
    font-size: 16px;
    line-height: 160%;
}
section.contact form {
	padding: 50px 0 20px;
}
section.contact .form {
	padding-bottom: 25px;
}
section.contact .form label {
	display: block;
}
section.contact input {
	background-color: #f7f7f7;
	border: solid 2px #101010;
}
section.contact #name, #tel, #mail, #subject {
	width: 320px;
    height: 30px;
}
section.contact #message {
	width: 600px;
	max-width: 80%;
	height: 200px;
}
section.contact button {
	background-color: #00de05;
    color: #101010;
    width: 90px;
    height: 35px;
    border: none;
    font-size: 14px;
}
footer {
	background-color: #101010;
	color: #00de05;
	font-size: 14px;
	text-align: center;
	padding: 25px 0 25px;
}

/*contact*/
.contact_form #inner h1 {
	border-top: 5px solid #00de05;
	font-family: 'Lato', sans-serif;
	letter-spacing: 2px;
	color: #fff;
	background-color: #101010;
	font-size: 25px;
	margin-bottom: 50px;
}
.contact_form p.upper_form {
	width: 70%;
    margin: 0 auto;
    text-align: left;
    background-color: #f7f7f7;
    padding: 20px;
    border-top: solid 5px #101010;
    border-bottom: solid 5px #101010;
    font-size: 16px;
    line-height: 160%;
}
.contact_form .form label {
	display: block;
}
.contact_form input {
	background-color: #f7f7f7;
	border: solid 2px #101010;
}
.contact_form #inner div.btnarea input[type="submit"] {
	background-color: #00de05;
	border-radius: 0px;
}
.contact_form #inner > * {
	font-size: 1.6rem;
}
.contact_form #inner label {
	text-align: center;
	padding-top: 20px;
	display: block;
}
.contact_form #inner input[type="text"] {
	width: 45%;
    margin: 0 auto;
    display: block;
    border-radius: 0px;
}
.contact_form #inner select {
	margin: 0 auto;
    display: block;
}
.contact_form #inner input.plural {
	display: inline-block;
}
.contact_form #inner div.phone {
	margin: 0 auto;
    width: 44%;
}
.contact_form #inner textarea {
	width: 70%;
	margin: 0 auto;
    display: block;
    border-radius: 0px;
}
.contact_form #inner div.btnarea input {
	padding: 15px 50px;
	border-radius: 0px;
}
.contact_form #inner div.btnarea input:hover {
	box-shadow: none;
}

/* fadein */
.animation {
	visibility: hidden;
}
.fadeInDown {
	-webkit-animation-fill-mode:both;
	-ms-animation-fill-mode:both;
	animation-fill-mode:both;
	-webkit-animation-duration:1s;
	-ms-animation-duration:1s;
	animation-duration:1s;
	-webkit-animation-name: fadeInDown;
	animation-name: fadeInDown;
	visibility: visible !important;
}
@-webkit-keyframes fadeInDown {
	0% { opacity: 0; -webkit-transform: translateY(20px); }
	100% { opacity: 1; -webkit-transform: translateY(0); }
}
@keyframes fadeInDown {
	0% { opacity: 0; -webkit-transform: translateY(20px); -ms-transform: translateY(20px); transform: translateY(20px); }
	100% { opacity: 1; -webkit-transform: translateY(0); -ms-transform: translateY(0); transform: translateY(0); }
}

@media screen and (max-width: 1024px) {
	.wrapper {
		width: 100%;
	}
	header p.logo {
		padding: 20px;
	}
	section.main h1 {
		width: 100%;
	}
	section.service .box {
		height: 200px;
		width: 200px;
	}
	section.service .box img {
    	padding-top: 45px;
    	width: 36%;
	}
	section.service p.service {
		font-size: 14px;
	}
	section.service li {
		width: 23%;
    	margin: 1%;
	}
	section.service li:first-child {
		padding-left: 0px;
	}
	section.service li:last-child {
		padding-right: 0px;
	}
	section.service p.under_box {
    	font-size: 14px;
    }
	section.works {
		padding: 80px 0 100px;
	}
    section.works .works01 li {
    	margin: 0 10px 30px;
    	width: 38%;
    	float: none;
    	display: inline-block;
    	vertical-align: top;
    }
    section.works .works01 li:last-child {
    	margin: 0 10px 30px;
    }
	section.works li:first-child {
		padding-left: 0px;
	}
	section.works li:last-child {
		padding-right: 0px;
	}
	section.works .works01 img {
		width: 230px;
	}
	section.works .works02 {
		margin: 0 auto;
	}
	section.works .works02 li {
		float: none;
    	text-align: center;
    	display: block;
    	margin: 0 0 30px;
	}
	section.works .works02 li:last-child {
    	margin-right: 0;
    }
	section.company table.company_01 {
        width: 45%;
        display: block;
        padding: 10px 0 0 0px;
        margin: 0 2%;
	}
	section.company table.company_02 {
		width: 45%;
        display: block;
        padding: 10px 0px 0 0;
        margin: 0 2%;
	}
	section.company table th {
		width: 100px;
	}
	.contact_form #inner {
		width: 100%;
	}
	.contact_form #inner select {
		height: 50px;
	}
	.contact_form #inner h1 {
	    width: 90%;
        margin: 60px auto;
    }
}
@media screen and (max-width: 870px) {
	section.service .box {
		height: 180px;
		width: 180px;
	}
}
@media screen and (max-width: 768px) {
	header .nav {
		display: none;
	}
	header #mmenu_wrap {
		display: block;
		position: fixed;
		right: 10px;
		top: 16px;
	}
	section.service ul {
		margin: 0 10px;
	}
	section.service li {
		width: 46%;
        margin: 2%;
	}
	section.service li:first-child {
		padding-left: 0;
	}
	section.service li:last-child {
		padding-right: 0;
	}
	section.service li:nth-child(even) {
		margin-right: 0;
	}
	section.service p.under_box {
		height: 46px;
	}
	section.works ul.works01 {
		margin: 0 50px;
	}
	section.works .works01 img {
		width: 323px;
	}
	section.works li:first-child {
		padding-left: 0;
	}
	section.works li:last-child {
		padding-right: 0;
	}
	section.service .box {
		height: 285px;
		width: 285px;
		margin: 0 auto;
	}
	section.service .box img {
    	padding-top: 65px;
    	width: 36%;
	}
	section.service p.service {
    	font-size: 16px;
	}
	section.works p.logo_text {
		padding: 20px 0 15px;
		font-size: 25px;
	}
	section.works p.logo_text2 {
		padding-bottom: 70px;
		line-height: 1.5em;
		font-size: 25px;
	}
	section.works ul.works02 {
		margin: 0 auto;
	}
	section.works .works02 li {
		margin-right: 0;
		padding-top: 80px;
	}
	section.works .works02 li:first-child {
		padding-top: 0;
	}
    section.works .works02 img {
    	width: 668px;
    }
    section.works p.works02_text {
    	font-size: 25px;
    }
    section.works p.works02_text2 {
    	font-size: 25px;
    }
    section.company table.company_01,.company_02 {
    	float: none;
        margin: 0 50px;
        padding-left: 0;
        width: 85%;
        font-size: 18px;
    }
    section.company table.company_02 {
    	float: none;
        margin: 0 50px;
        padding-left: 0;
        width: 85%;
        font-size: 18px;
    }
    section.company table.company_01 th {
        width: 160px;
    }
    section.company table.company_02 th {
        width: 160px;
    }
    section.access iframe {
    	width: 90%;
    	margin: 0 auto;
    }
    .contact_form #inner > * {
    	font-size: 17px;
    }
    .contact_form #inner div.phone {
    	width: 52%;
    }
}
@media screen and (max-width: 680px) {
	section.service .box {
		height: 220px;
		width: 220px;
	}
	section.service .box img {
    	padding-top: 55px;
    }
}
@media screen and (max-width: 560px) {
	section.service .box {
		height: 180px;
		width: 180px;
	}
	section.service .box img {
		padding-top: 35px;
	}
	section.service p.service {
		font-size: 14px;
	}
}
@media screen and (max-width: 414px) {
	.view_sp {
		display: block;
	}
	.view_pc {
		display: none;
	}
	header {
		position: fixed;
    	width: 100%;
    	z-index: 100;
	}
	section.main {
		padding: 0px 0 0;
		height: 100vh;
		position: relative;
	}
	section.main h1 {
    	font-size: 46px;
    	top: 160px;
    	line-height: 148%;
    	font-weight: 600;
    	letter-spacing: 0;
	}
	section.main h1 span {
		font-size: 22px;
		line-height: 180%;
		margin-top: 20px;
		display: block;
	}
	section.main img.main_bg {
		position: absolute;
		bottom: 0;
		left: 0;
		width: 100%;
	}
    section.main .sp {
    	display: block;
    }
    section.service .box {
    	height: 200px;
    }
    section.service ul {
    	margin: 0 0px;
    }
    section.service li {
    	width: 46%;
        margin: 2%;
    }
    section.service .box {
		height: 160px;
		width: 160px;
	}
	section.service .box img {
		padding-top: 35px;
	}
	section.service p.service {
		font-size: 13px;
		letter-spacing: 0;
	}
    section.service p.under_box {
    	font-size: 12px;
    	padding: 10px 0px 30px;
    }
    section.works {
    	padding: 90px 0 80px;
    }
    section.works ul.works01 {
    	margin: 0 0px;
    	width: 100%;
    }
    section.works .works01 img {
    	width: 175px;
    }
    section.works .works01 li {
    	margin: 0px 4%;
    	width: 38%;
	}
	section.works .works01 li:last-child {
    	margin: 0px 4%;
	}
    section.works ul.works02 {
    	margin: 0 0px;
    	width: 100%;
    }
    section.works p.logo_text {
    	font-size: 14px;
    	padding: 10px 0 5px;
    }
    section.works p.logo_text2 {
    	font-size: 13px;
    }
    section.works p.works02_text {
        font-size: 14px;
        padding: 10px 0 0px;
    }
    section.works p.works02_text2 {
        font-size: 14px;
    }
    section.works .works02 li {
    	padding-top: 30px;
    	margin: 0 auto;
    }
    section.works .works02 li:last-child {
    	margin: 0 auto;
    }
    section.works .works02 img {
    	width: 100%;
	}
	section.contact #message {
	    width: 320px;
	    height: 200px;
    }
    section.company table.company_01, .company_01 {
    	font-size: 18px;
    	margin: 0 20px;
    } 
    section.company table.company_02 {
    	font-size: 18px;
    	margin: 0 20px;
    }
    section.company table.company_01 th {
    	width: 90px;
    }
    section.company table.company_02 th {
    	width: 90px;
    }
    section.company table td {
    	padding: 0;
    }
    section.access {
    	padding: 90px 0 80px;
    }
    section.access iframe {
    	width: 90%;
    }
    section.contact {
    	padding: 90px 0 40px;
	}
    section.contact p.upper_form {
    	width: 80%;
    }
    section.contact #message {
    	width: 90%;
    	max-width: none;
    }
    .contact_form #inner h1 {
    	margin-top: 0;
    	width: 100%;
    }
    .contact_form p.upper_form {
		width: 90%;
	}
	.contact_form #inner input[type="text"] {
		width: 80%;
	}
	.contact_form #inner input.plural {
		max-width: 70px;
	}
	.contact_form #inner input.plural:last-of-type {
		max-width: 70px;
	}
	#inner input.plural + input.plural {
		margin-left: 0;
	}
	.contact_form #inner div.phone {
		width: 77%;
	}
	.contact_form #inner textarea {
		width: 80%;
	}
	.contact_form #inner div.btnarea input {
		padding: 10px 25px;
	}
}
@media screen and (max-width: 375px) {
	h2 {
	    font-size: 30px;
	}
	section.service {
		padding-bottom: 40px;
	}
	section.service li {
		width: 46%;
		line-height: 1.2em;
	}
	section.works .works01 img {
		width: 146px;
	}
	section.works ul.works02 {
		padding-top: 0;
	}
    .contact_form #inner div.phone {
    	width: 85%;
    }
}
@media screen and (max-width: 360px) {
	section.works .works01 img {
    	width: 149px;
    }
    section.works p.logo_text {
    	font-size: 12px;
    }
    section.works p.logo_text2 {
    	font-size: 12px;
    }
    section.works p.works02_text {
        font-size: 12px;
    }
    section.works p.works02_text2 {
        font-size: 12px;
    }

}
@media screen and (max-width: 320px) {
	section.main h1 {
		font-size: 35px;
	}
	section.main h1 span {
		font-size: 14px;
	}
	section.service .box {
    	height: 140px;
    	width: 140px;
	}
	section.service p.service {
	    font-size: 12px;
	    line-height: 140%;
	    padding-top: 5px;
	}
	section.works .works02 li {
		width: 280px;
    	margin: 0 auto;
	}
	section.works .works01 img {
		width: 127px;
	}
	section.works p.logo_text {
		font-size: 11px;
	}
	section.works p.logo_text2 {
		font-size: 11px;
	}
	section.contact #name, #tel, #mail, #subject {
		width: 90%;
	}
	.contact_form #inner input.plural {
		max-width: 50px;
	}
	.contact_form #inner input.plural:last-of-type {
		max-width: 50px;
	}
	#inner input.plural + input.plural {
		margin-left: 0;
	}
	.contact_form #inner div.phone {
		width: 80%;
	}
	.contact_form #inner div.btnarea input {
		padding: 10px 25px;
	}
	.contact_form #inner > * {
		font-size: 16px;
	}
	
}
