@charset "utf-8";

/*////////////////////////////////////////////////////////////
common
////////////////////////////////////////////////////////////*/

body {
	font-family: "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,"ＭＳ Ｐゴシック","MS PGothic",sans-serif;
	font-size: 16px;
}

img {
	vertical-align: bottom;
}

a img {
	transition: opacity 0.2s ease-out;
}

a:hover img {
	opacity: 0.6;
}

* {
	box-sizing: border-box;
}

.wrap {
	width: 1082px;
	margin: 0 auto;
}

.content {
	margin: 0 0 50px 0;
	overflow: hidden;
}

.content h2 {
	font-size: 32px;
	font-weight: bold;
	text-align: center;
	margin: 0 0 25px 0;
	letter-spacing: 0.15em;
}

.content h2 span {
	margin: 0 20px 0 0;
	vertical-align: middle;
}

.content .lead {
	text-align: center;
	margin: 0 0 30px 0;
	letter-spacing: 0.15em;
	line-height: 1.875;
}

.under-mv {
	height: 500px;
	overflow: hidden;
	padding: 0;
	margin: 0 0 5px 0;
}

.under-mv .line {
	display: block;
	margin: 0 auto;
}

.breadcrumb {
	margin: 0 auto 20px auto;
}
.breadcrumb ul li {
	font-size: 17px;
	display: inline-block;
}

.breadcrumb ul li:after {
	content: "＞";
	margin: 0 5px;
}

.breadcrumb ul li:last-child:after {
	content: none;
}

.breadcrumb ul li a {
	color: #000;
	text-decoration: none;
}

@media(min-width: 768px) {
	.pc-none {
		display: none;
	}
}

@media(max-width: 767px) {
	
	body {
		font-size: 7.5px;
	}
	.sp-none {
		display: none;
	}

	img {
		max-width: 100%;
	}

	.wrap {
		width: 100%;
	}

	.content {
		margin: 0 0 23px 0;
		overflow: hidden;
	}
	

	.content .lead {
		margin: 0 0 10px 0;
	}

	.content h2 {
		font-size: 16px;
		font-weight: bold;
		text-align: center;
		margin: 0 0 15px 0;
	}

	.content h2 span {
		margin: 0 0 15px 0;
	}
	
	.content h2 span img {
		width: 8%;
	}

	.under-mv {
		height: 170px;
		overflow: hidden;
		padding: 0;
		margin: 0 0 5px 0;
	}

	.under-mv .line {
		display: block;
		margin: 0 auto;
		width: 10%;
	}

	.breadcrumb {
		padding: 0 0 10px 10px;
	}
	.breadcrumb ul li {
		font-size: 8.5px;
		display: inline-block;
	}

	.breadcrumb ul li:after {
		content: "＞";
		margin: 0 5px;
	}

	.breadcrumb ul li:last-child:after {
		content: none;
	}

	.breadcrumb ul li a {
		color: #000;
		text-decoration: none;
	}
	
	.sp-head-contact {
		width: 48%;
		margin: 0 auto 20px auto;
	}
	
	.sp-head-contact li {
		margin: 0 0 10px 0;
	}
}

/*---------------------------------------------------------
header
---------------------------------------------------------*/

header {
	overflow: hidden;
	margin: 32px 0 0 0;
}

header .logo {
	width: 560px;
	float: left;
	margin: 0 0 0 40px;
}

header h1 {
	font-size: 15px;
	letter-spacing: 0.15em;
	margin: 0 0 20px 0;
}

header .contact {
	width: 320px;
	float: right;
	margin: 0 36px 20px 0;
}

header .contact li {
	width: 75px;
	float: right;
	margin: 0 0 0 25px;
}

header nav {
	clear: both;
	text-align: right;
	margin: 0 36px 10px 0;
}

header nav ul li {
	display: inline-block;
}

@media(max-width: 767px) {
	header {
		margin: 16px 0 0 0;
	}

	header .logo {
		width: 100%;
		float: none;
		margin: 0 0 12px 7px;
	}

	header h1 {
		font-size: 7.5px;
		letter-spacing: 0.15em;
		margin: 0 0 20px 0;
	}
	
	header .logo img {
		width: 31%;
	}

	header .contact {
		display: none;
	}
	
	.sp-nav {
		position: relative;
	}
	.toggle {
		position: absolute; /* bodyに対しての絶対位置指定 */
		right: 13px;
		top: -50px;
		display: block;
		width: 37px;
		height: 37px;
		cursor: pointer;
		z-index: 3;
		background: #14567d;
		border-radius: 50px;
	}
	.toggle span {
		display: block;
		position: absolute; /* .toggleに対して */
		width: 60%;
		border-bottom: solid 2px #fff;
		-webkit-transition: .35s ease-in-out;
		-moz-transition: .35s ease-in-out;
		transition: .35s ease-in-out;
		padding-top: 5px;
		right: 7px;
	}
	.toggle span:nth-child(1) {
		top: 6px;
	}
	.toggle span:nth-child(2) {
		top: 13px;
	}
	.toggle span:nth-child(3) {
		top: 20px;
	}
	/* 最初のspanをマイナス45度に */
	.toggle.active span:nth-child(1) {
		top: 13px;
		left: 4px;
		-webkit-transform: rotate(-45deg);
		-moz-transform: rotate(-45deg);
		transform: rotate(-45deg);
	}
	/* 2番目と3番目のspanを45度に */
	.toggle.active span:nth-child(2),
	.toggle.active span:nth-child(3) {
		top: 13px;
		-webkit-transform: rotate(45deg);
		-moz-transform: rotate(45deg);
		transform: rotate(45deg);
	}
	
	/* .global_nav */
	.global_nav {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		transform: translateY(-100%);
		z-index: 2;
		padding-top: 50px;
		text-align: left;
		color: #000;
		background: rgba(255,255,255,.9);
		transition: all 0.8s;
		
	}
	.global_nav li {
		width: 100%;
		padding: 10px;
		list-style-type: none;
		border-bottom: 1px dotted #ccc;
	}
	.global_nav li a {
		display: block;
		color: #000;
		text-decoration: none;
	}
	
	/* .global_navに.activeが追加 */
	.global_nav.active {
		transform: translateY(0%);
	}



}
/*---------------------------------------------------------
footer
---------------------------------------------------------*/

footer {
	background: #14567d;
	overflow: hidden;
	padding: 20px 0;
}

footer .wrap {
	background: url(../images/img_footer.png) right bottom no-repeat;
	overflow: hidden;
}

footer .left {
	width: 400px;
	float: left;
	margin: 20px 0 85px 40px;
}

footer .left h1 {
	margin: 0 0 20px 0;
}

footer .left p {
	font-size: 14px;
	color: #fff;
	line-height: 1.4;
	letter-spacing: 0.1em;
}

footer nav {
	font-size: 17px;
	color: #fff;
	float: right;
}

footer nav ul li {
	display: inline-block;
}

footer nav ul li:after {
	content: "／";
	margin: 0 15px;
}

footer nav ul li:last-child:after {
	content: none;
}

footer nav ul li a {
	color: #fff;
	text-decoration: none;
	transition: opacity 0.2s ease-out;
}

footer nav ul li a:hover {
	opacity: 0.6;
}

footer .copy {
	clear: both;
	font-size: 14px;
	color: #fff;
	text-align: center;
	letter-spacing: 0.1em;
}

@media(max-width: 767px) {
	footer {
		background: #14567d;
		overflow: hidden;
		padding: 15px 0;
	}

	footer .wrap {
		background: none;
	}

	footer .left {
		width: 100%;
		float: none;
		margin: 0 0 40px 18px;
	}

	footer .left h1 {
		margin: 0 0 20px 0;
	}

	footer .left p {
		font-size: 7.5px;
		color: #fff;
		line-height: 1.4;
		letter-spacing: 0.1em;
	}

	footer nav {
		font-size: 11px;
		color: #fff;
		float: none;
		margin: 0 0 35px 0;
	}

	footer nav ul {
		text-align: center;
	}

	footer nav ul li:after {
		content: "／";
		margin: 0 5px;
	}

	footer nav ul li:last-child:after {
		content: none;
	}
	
	footer h1 {
		text-align:center;
		margin: 0 0 10px 0;
	}

	footer .copy {
		clear: both;
		font-size: 7px;
		color: #fff;
		text-align: center;
		letter-spacing: 0.1em;
	}
	
	footer a {
		color: #fff;
	}
}

/*////////////////////////////////////////////////////////////
top
////////////////////////////////////////////////////////////*/

.main-visual {
	/*background: url(../images/bg_mv_inner.png) center top no-repeat #000;*/
	background-color:#000;
	height: 609px;
	padding: 0 0 0 0;
	text-align :center;
}

.main-visual .inner {
	width: 1082px;
	height: 609px;
	margin: 0 auto;
	overflow: hidden;
}

.main-visual .inner video {
	width: 100%;
	
}

.information {
	background: #14567d;
	overflow: hidden;
	height: 38px;
	margin: 0 0 45px 0;
}

.information .ttl {
	font-size: 15px;
	margin: 0 20px 0 40px;
	color: #fff;
	float: left;
	line-height: 38px;
	letter-spacing: 0.15em;
}

.information dl {
	font-size: 15px;
	color: #fff;
	float: left;
	letter-spacing: 0.15em;
	width: 880px;
	line-height: 38px;
}

.information dl dt {
	width: 125px;
	float: left;
	clear: left;
}

.top-service {
	overflow: hidden;
}

.top-service .left {
	width: 497px;
	float: left;
	background: #f7eb3a;
	margin: 0 0 0 40px;
	padding: 20px 13px 20px 20px;
	overflow: hidden;
}

.top-service .right {
	width: 497px;
	float: right;
	background: #f7eb3a;
	margin: 0 36px 0 0;
	padding: 20px 13px 20px 20px;
	overflow: hidden;
}

.top-service .pic {
	width: 240px;
	float: left;
}

.top-service .text {
	width: 210px;
	height: 227px;
	float: right;
	padding: 20px 0 0 0;
	position: relative;
}

.top-service h3 {
	font-size: 21px;
	font-weight: bold;
	margin: 0 0 15px 0;
	letter-spacing: 0.15em;
}

.top-service p {
	font-size: 15px;
	line-height: 1.6;
	letter-spacing: 0.1em;
}

.top-service .btn {
	position: absolute;
	bottom: 0;
	right: 0;
	margin: 0;
	background: #000;
	width: 143px;
	height: 29px;
	line-height: 29px;
	text-align: center;
}

.top-service a {
	color: #fff;
	text-decoration: none;
	display: block;
	width: 100%;
	height: 100%;
}

.top-service a:hover {
	background: rgba(255,255,255,.3);
}

.top-works {
	background: #f4f4f4;
	padding: 26px 36px 0 38px;
	overflow: hidden;
}

.top-works ul {
	margin: 0 0 0 -16px;
}

.top-works ul li {
	width: 325px;
	float: left;
	margin: 0 0 40px 16px;
}

.top-works ul li .video {
	/*background: url(../images/bg_top_works.png) center top no-repeat;*/
	background:#000;
	padding: 10px 0 0 32px;
	margin: 0 0 10px 0;
}

.top-works ul li p {
	font-size: 14px;
	color: #010c19;
	height: 18px;
	text-align:left;
	font-weight: bold;
	line-height:1.55;
}

.top-contact {
	overflow:hidden;
	margin: 0 40px 0 36px 0;
}

.top-contact .left {
	width: 350px;
	float: left;
}

.top-contact .right {
	width: 624px;
	min-height: 372px;
	float: right;
	background: url(../images/bg_top_contact.png) center top no-repeat;
	padding: 62px 29px 0 33px;
}

.top-contact ul {
	border-bottom: 1px solid #000;
	margin: 0 0 30px 0;
}

.top-contact ul li {
	font-size: 24px;
	letter-spacing: 0.1em;
	margin: 0 0 15px 140px;
	height: 55px;
	line-height: 55px;
	padding: 0 0 0 63px;
}

.top-contact ul li.tel {
	background: url(../images/ico_top_contact_tel.png) 0 0 no-repeat;
}

.top-contact ul li.email {
	background: url(../images/ico_top_contact_email.png) 0 0 no-repeat;
}

.top-contact p {
	font-size: 24px;
	text-align: center;
	margin: 0 0 15px 0;
}

.top-contact .btn {
	width: 362px;
	margin: 0 auto;
}

@media(max-width: 767px) {
	.main-visual {
		background: none;
		height: 100%;
		padding: 0;
	}

	.main-visual .inner {
		width: 100%;
		height: 100%;
	}

	.information {
		background: #14567d;
		overflow: hidden;
		height: auto;
		margin: 0 0 25px 0;
		padding: 6px 0;
	}

	.information .ttl {
		font-size: 7.5px;
		margin: 0 0 7px 0;
		color: #fff;
		float: none;
		line-height: 1.6;
		letter-spacing: 0.15em;
		text-align: center;
	}

	.information dl {
		font-size: 7.5px;
		color: #fff;
		float: none;
		letter-spacing: 0.15em;
		width: 100%;
		line-height: 1.6;
		margin: 0 0 0 35px;
	}

	.information dl dt {
		width: 70px;
		float: left;
		clear: left;
	}

	.top-service .left {
		width: 77%;
		float: none;
		background: #f7eb3a;
		margin: 0 auto 8px auto;
		padding: 10px;
		overflow: hidden;
	}

	.top-service .right {
		width: 77%;
		float: none;
		background: #f7eb3a;
		margin: 0 auto;
		padding: 10px;
		overflow: hidden;
	}

	.top-service .pic {
		width: 48%;
		float: left;
	}

	.top-service .text {
		width: 48%;
		height: auto;
		float: right;
		padding: 10px 0 0 0;
		position: relative;
		overflow: hidden;
	}

	.top-service h3 {
		font-size: 10px;
		margin: 0 0 8px 0;
	}

	.top-service p {
		font-size: 7px;
	}

	.top-service .btn {
		position: static;
		margin: 10px 0 0 0;
		width: 70px;
		height: 30px;
		line-height: 30px;
		display: block;
		float: right;
	}

	.top-works {
		background: #f4f4f4;
		padding: 7px 15px 0 15px;
		overflow: hidden;
	}

	.top-works ul {
		margin: 0 0 0 -3%;
	}

	.top-works ul li {
		width: 47%;
		float: left;
		margin: 0 0 15px 3%;
		height: 1%;
		overflow: hidden;
	}

	.top-works ul li .video {
		background: url(../images/bg_top_works.png) center top no-repeat;
		background-size: contain;
		padding: 4px 15px;
		margin: 0 0 10px 0;
		position: relative;
		padding-bottom: 52.25%; /*アスペクト比 16:9の場合の縦幅*/
		height: 0;
		overflow: hidden;
	}
	
	.top-works ul li .video iframe {
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		margin: auto;
		width: 80%;
		height: 100%;
	}

	.top-works ul li p {
		font-size: 7px;
		color: #010c19;
		height: 18px;
		line-height: 18px;
		text-align: center;
	}

	.top-contact {
		display: none;
	}

	.sp-contact {
		width: 95%;
		margin: 0 auto;
	}
	
	.sp-contact .inner {
		background: url(../images/img_top_contact_middle_sp.png) center top repeat-y;
		background-size: contain;
		padding: 0 29px 0 30px;
		overflow: hidden;
	}
	
	.sp-contact .left {
		width: 38%;
		float: left;
	}
	
	.sp-contact .right {
		width: 62%;
		float: right;
	}
	
	.sp-contact .btn {
		width: 90%;
		margin: 0 auto 10px auto;
	}

}


/*////////////////////////////////////////////////////////////
service
////////////////////////////////////////////////////////////*/

.service-mv {
	background: url(../images/bg_mv_service.jpg) center center no-repeat;
	background-size: cover;
}

.service-mv h2 {
	text-shadow: #0e7998 1px 1px 0px, #0e7998 -1px 1px 0px,
		#0e7998 1px -1px 0px, #0e7998 -1px -1px 0px;
}

.drone {
	background: url(../images/bg_service.png);
	margin: 0 36px 30px 40px;
	padding: 44px 45px 45px 43px;
	overflow: hidden;
}

.drone .left {
	width: 420px;
	float: left;
}

.drone .left h3 {
	font-size: 27px;
	font-weight: bold;
	letter-spacing: 0.1em;
	margin: 0 0 30px 0;
}

.drone .left p {
	font-size: 20px;
	line-height: 1.5;
	letter-spacing: 0.15em;
}

.drone .pic {
	width: 475px;
	float: right;
}

.btn-service {
	width: 396px;
	margin: 0 auto;
}

.service-works {
	background: #f4f4f4;
	padding: 26px 36px 26px 38px;
	overflow: hidden;
	margin: 0 0 30px 0;
}

.service-works ul {
	margin: 0 0 0 -16px;
}

.service-works ul li {
	width: 325px;
	float: left;
	margin: 0 0 0 16px;
}

.service-works ul li .video {
	/*background: url(../images/bg_top_works.png) center top no-repeat;*/
	background:#000;
	padding: 10px 0 0 32px;
	margin: 0 0 10px 0;
}

.service-works ul li p {
	font-size: 14px;
	color: #010c19;
	height: 18px;
	
	text-align:left;
	font-weight: bold;
	line-height:1.55;
}

.pricing {
	width: 100%;
	border: 1px solid #000;
	margin: 0 0 15px 0;
}

.pricing th, .pricing td {
	font-size: 20px;
	letter-spacing: 0.15em;
	text-align: center;
	width: 33.3333333%;
	border: 1px solid #000;
	padding: 15px 0;
}

.pricing .grn {
	background: url(../images/bg_grn.png);
}

.pricing .blu {
	background: url(../images/bg_blu.png);
}

.pricing .red {
	background: url(../images/bg_red.png);
}

.price-caution {
	margin: 0 0 0 540px;
}

.price-caution {
	line-height: 1.5;
	font-size: 13px;
	letter-spacing: 0.15em;
}

@media(max-width: 767px) {
	.service-mv {
		background: url(../images/bg_mv_service_sp.jpg) center center no-repeat;
		background-size: cover;
	}

	.drone {
		width: 95%;
		background: url(../images/bg_service.png);
		margin: 0 auto 15px auto;
		padding: 15px;
		overflow: hidden;
	}

	.drone .left {
		width: 100%;
		float: none;
		margin: 0 0 10px 0;
	}

	.drone .left h3 {
		font-size: 10.5px;
		margin: 0 0 13px 0;
		text-align: center;
	}

	.drone .left p {
		font-size: 8px;
		line-height: 1.1;;
		letter-spacing: 0.15em;
	}

	.drone .pic {
		width: 60%;
		float: none;
		margin: 0 auto;
	}

	.btn-service {
		width: 60%;
		margin: 0 auto;
	}

	.service-works {
		background: #f4f4f4;
		padding: 15px 10px;
		overflow: hidden;
		margin: 0 0 30px 0;
	}

	.service-works ul {
		margin: 0 0 0 -3%;
	}

	.service-works ul li {
		width: 45%;
		float: left;
		margin: 0 0 15px 4%;
	}

	.service-works ul li .video {
		background: url(../images/bg_top_works.png) center top no-repeat;
		background-size: contain;
		padding: 4px 15px;
		margin: 0 0 10px 0;
		position: relative;
		padding-bottom: 52.25%; /*アスペクト比 16:9の場合の縦幅*/
		height: 0;
		overflow: hidden;
	}
	
	.service-works ul li .video iframe {
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		margin: auto;
		width: 80%;
		height: 100%;
	}

	.service-works ul li p {
		font-size: 7.5px;
		color: #010c19;
		height: 18px;
		line-height: 18px;
		text-align: center;
	}

	.pricing {
		width: 100%;
		border: 1px solid #000;
		margin: 0 0 15px 0;
	}

	.pricing th, .pricing td {
		font-size: 8px;
		letter-spacing: 0.15em;
		text-align: center;
		width: 33.3333333%;
		border: 1px solid #000;
		padding: 8px 0;
		vertical-align: middle;
	}

	.pricing .grn {
		background: url(../images/bg_grn.png);
	}

	.pricing .blu {
		background: url(../images/bg_blu.png);
	}

	.pricing .red {
		background: url(../images/bg_red.png);
	}

	.price-caution {
		margin: 0;
	}

	.price-caution {
		line-height: 1.5;
		font-size: 6px;
		letter-spacing: 0.15em;
		margin: 0 0 0 20%;
	}
}


/*////////////////////////////////////////////////////////////
works
////////////////////////////////////////////////////////////*/

.works-mv {
	background: url(../images/bg_mv_works.jpg) center center no-repeat;
	background-size: cover;
}

.works-mv h2 {
	text-shadow: #453302 1px 1px 0px, #453302 -1px 1px 0px,
		#453302 1px -1px 0px, #453302 -1px -1px 0px;
}

.works-mv h2 span {
	text-shadow: none;
}

.works {
	background: #fefff2;
	padding: 26px 36px 26px 38px;
	overflow: hidden;
	margin: 0;
}

.works ul {
	margin: 0 0 0 -16px;
}

.works ul li {
	width: 325px;
	float: left;
	margin: 0 0 30px 16px;
}

.works ul li .video {
	/*background: url(../images/bg_top_works.png) center top no-repeat;*/
	background:#000;
	padding: 10px 0 0 32px;
	margin: 0 0 10px 0;
}

.works ul li p {
	font-size: 14px;
	color: #010c19;
	height: 18px;
	
	text-align:left;
	font-weight: bold;
	line-height: 1.55;
}

@media(max-width: 767px) {
	.works-mv {
		background: url(../images/bg_mv_works_sp.jpg) center center no-repeat;
		background-size: cover;
	}

	.works-mv h2 span {
		text-shadow: none;
	}

	.works {
		background: #f4f4f4;
		padding: 15px 10px;
		overflow: hidden;
		margin: 0;
	}

	.works ul {
		margin: 0 0 0 -3%;
	}

	.works ul li {
		width: 47%;
		float: left;
		margin: 0 0 15px 3%;
	}

	.works ul li .video {
		background: url(../images/bg_top_works.png) center top no-repeat;
		background-size: contain;
		padding: 4px 15px;
		margin: 0 0 10px 0;
		position: relative;
		padding-bottom: 52.25%; /*アスペクト比 16:9の場合の縦幅*/
		height: 0;
		overflow: hidden;
	}

	.works ul li .video iframe {
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		margin: auto;
		width: 80%;
		height: 100%;
	}

	.works ul li p {
		font-size: 7.5px;
		color: #010c19;
		height: 18px;
		line-height: 18px;
		text-align: center;
	}
}

/*////////////////////////////////////////////////////////////
contact
////////////////////////////////////////////////////////////*/

.contact-mv {
	background: url(../images/bg_mv_contact.jpg) center bottom no-repeat;
	background-size: cover;
}

.contact-mv h2 {
	text-shadow: #044084 1px 1px 0px, #044084 -1px 1px 0px,
		#044084 1px -1px 0px, #044084 -1px -1px 0px;
}

.contact-mv h2 span {
	text-shadow: none;
}

.entry-form {
	width: 717px;
	margin: 0 auto;
}

.entry-form dl dt {
	font-size: 17px;
	letter-spacing: 0.15em;
}

.entry-form .input-text {
	width: 100%;
	height: 50px;
	padding: 10px;
	border: 1px solid #000;
	margin: 0 0 40px 0;
}

.entry-form .input-textarea {
	width: 100% !important;
	height: 100px !important;
	margin: 0 0 50px 0 !important;
	border: 1px solid #000 !important;
}

.entry-form .submit {
	display: block;
	width: 270px;
	margin: 0 auto;
	background: none;
	border: none;
	padding: 0;
}

.entry-form .submit:hover {
	opacity: 0.7;
	cursor: pointer;
}

@media(max-width: 767px) {
	.contact-mv {
		background: url(../images/bg_mv_contact_sp.jpg) center bottom no-repeat;
		background-size: cover;
		text-shadow: none;
	}

	.entry-form {
		width: 89%;
		}

	.entry-form dl dt {
		font-size: 8.5px;
		letter-spacing: 0.15em;
		margin: 0 0 5px 0;
	}

	.entry-form .input-text {
		width: 100%;
		height: 25px;
		padding: 5px;
		margin: 0 0 20px 0;
	}

	.entry-form .input-textarea {
		width: 100% !important;
		height: 50px !important;
		margin: 0 0 25px 0 !important;
	}

	.entry-form .submit {
		width: 42%;
		padding: 0;
	}
}
