@charset "UTF-8";

/* -------------------------------------
index
------------------------------------- */
#mainimg {
	position:relative;
}
#mainimg #logo {
	width:35.7%;
	max-width:366px;
	margin:0 auto;
	position:absolute;
	top:50%;
	left:0;
	right:0;
	z-index:2;
	transform:translateY(-50%);
}
#mainimg .slide {
	position:relative;
}
#mainimg li {
	outline:none;
}
#mainimg .slick-arrow {
	display:none!important;
}


.wh:before {
	margin:50px auto;
}
.wh:after {
	margin:50px auto;
}

section {
	padding:50px 0 70px 0;
}
section .head {
	margin-bottom:35px;
}
section .head h2 {
	font-size:0;
	font-weight:bold;
	padding-left:30px;
	margin-bottom:5px;
	position:relative;
	box-sizing:border-box;
}
section .head h2 span {
	line-height:1.2;
	display:inline-block;
	vertical-align:middle;
}
section .head h2 .ja {
	font-size:24px;
}
section .head h2 .en {
	font-size:12px;
	margin-left:1em;
	vertical-align:-3px;
}
section .head h2::after {
	content:"";
	width:19px;
	height:19px;
	display:block;
	position:absolute;
	top:3px;
	left:0;
	z-index:1;
}
section#video .head h2::after {
	background-color:#0086C9;
}
section#drone_movie .head h2::after {
	background-color:#00A972;
}
section#photo .head h2::after {
	background-color:#EA4D63;
}
section .head .wys p:not(:last-child) {
	margin-bottom:15px;
}
section .head .wys p a {
	color:#3F4364;
	text-decoration:underline;
	word-break:break-all;
	display:inline;
}


.blkimg {
	margin-bottom:60px;
}

.latest {
	text-align:center;
}
.latest .frame {
	width:750px;
	height:415px;
	margin:0 auto 20px auto;
	position:relative;
	overflow:hidden;
}
.latest .frame iframe {
	width:100%;
	height:100%;
	display:block;
	border:none;
	position:absolute;
	top:0;
	left:0;
	z-index:1;
}
.latest p {
	margin-bottom:30px;
}
.latest a {
	font-size:0;
	width:100%;
	max-width:310px;
	display:block;
	padding:11px 10px 10px 10px;
	margin:0 auto;
	border:1px solid #3F4364;
	box-sizing:border-box;
	transition:background-color 0.3s;
}
.latest a span {
	font-size:17px;
	font-weight:bold;
	color:#3F4364;
	display:inline-block;
	padding:0 20px 0 0;
	box-sizing:border-box;
	position:relative;
	transition:color 0.3s;
}
.latest a span::after {
	content:"";
	display:block;
	border-left:13px solid #3F4364;
	border-top:7px solid transparent;
	border-bottom:7px solid transparent;
	box-sizing:border-box;
	position:absolute;
	top:calc(50% - 1px);
	right:0;
	z-index:1;
	transform:translateY(-50%);
	transition:border 0.3s;
}
.latest a:hover {
	background-color:#3F4364;
	opacity:1.0;
}
.latest a:hover span {
	color:#FFF;
}
.latest a:hover span::after {
	border-left:13px solid #FFF;
}



#drone_movie {
	background-color:#E7E8EA;
}

section#photo {
	padding-bottom:20px;
}
#photo .head {
	padding-bottom:30px;
	margin-bottom:65px;
	border-bottom:1px solid #333;
}
#photo li {
	float:left;
	margin:0 20px 50px 0;
	position:relative;
}
#photo li.clm2 {
	width:calc((99.9% - 20px) / 2);
}
#photo li.clm3 {
	width:calc((99.9% - 40px) / 3);
	margin-bottom:0;
}
#photo li.clm2:nth-child(2n) {
	margin-right:0;
}
#photo li.clm3:last-child {
	margin-right:0;
}
#photo li h3 {
	font-size:0;
	text-align:center;
	width:235px;
	max-width:calc(100% - 30px);
	padding:7px 5px 4px 5px;
	margin:0 auto;
	border-radius:8px;
	background-color:#3F4364;
	position:absolute;
	top:0;
	left:0;
	right:0;
	z-index:2;
	transform:translateY(-50%);
	box-sizing:border-box;
}
#photo li h3 span {
	font-weight:bold;
	color:#FFF;
	display:inline-block;
	vertical-align:middle;
}
#photo li h3 .ja {
	font-size:23px;
}
#photo li h3 .en {
	font-size:14px;
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", serif;
	margin-left:8px;
}
#photo li .imgbox {
	margin-bottom:8px;
	overflow:hidden;
	position:relative;
}
#photo li .imgbox .in {
	width:100%;
	height:100%;
	background-repeat:no-repeat;
	background-position:center center;
	background-size:cover;
	position:absolute;
	top:0;
	left:0;
	z-index:1;
	transition:transform 0.7s;
}
#photo li a:hover .imgbox .in {
	transform:scale(1.1);
}
#photo li.clm2 .imgbox {
	padding-top:50.8%;
}
#photo li.clm3 .imgbox {
	padding-top:64.2%;
}


#photo li a {
	display:block;
}
#photo li p {
	font-size:0;
	text-align:right;
	line-height:1.4;
}
#photo li p span {
	font-size:17px;
	font-weight:bold;
	color:#3F4364;
	display:inline-block;
	padding-left:20px;
	box-sizing:border-box;
	position:relative;
}
#photo li p span::before,
#photo li p span::after {
	content:"";
	display:block;
	position:absolute;
	z-index:1;
}
#photo li p span::before {
	width:100%;
	height:1px;
	background-color:#3F4364;
	bottom:-2px;
	right:0;
	opacity:0;
	transition:opacity 0.3s;
}
#photo li p span::after {
	border-left:13px solid #3F4364;
	border-top:7px solid transparent;
	border-bottom:7px solid transparent;
	box-sizing:border-box;
	top:4px;
	left:0;
}


#photo li a:hover p span::before {
	opacity:1.0;
}



#fb {
	text-align:center;
	margin-bottom:110px;
	overflow:hidden;
}


@media screen and (max-width:1064px) {
	section {
		padding:46px 0 66px 0;
	}
	section .head {
		margin-bottom:32px;
	}
	section .head h2 {
		padding-left:27px;
	}
	section .head h2 .ja {
		font-size:22px;
	}
	section .head h2 .en {
		vertical-align:-2px;
	}
	section .head h2::after {
		width:17px;
		height:17px;
		top:2px;
	}
	
	.blkimg {
		margin-bottom:55px;
	}
	
	
	.latest a span {
		font-size:16px;
		padding:0 18px 0 0;
	}
	
	
	section#photo {
		padding-bottom:15px;
	}
	#photo .head {
		padding-bottom:27px;
		margin-bottom:60px;
	}
	#photo li {
		margin:0 20px 45px 0;
	}
	#photo li h3 .ja {
		font-size:21px;
	}
	#photo li p span {
		font-size:16px;
		padding-left:18px;
	}
	#photo li p span::after {
		top:3px;
	}
	
	
	#fb {
		margin-bottom:100px;
	}
}
@media screen and (max-width:980px) {
	#mainimg {
		overflow:hidden;
	}
	#mainimg #logo {
		width:343px;
	}
	#mainimg li img {
		width:963px;
		position:relative;
		left:50%;
		transform:translateX(-50%);
		z-index:1;
	}
}
@media screen and (max-width:810px) {
	.latest .frame {
		width:100%;
		height:auto;
		padding-top:56.25%;
	}
}
@media screen and (max-width:768px) {
	#mainimg #logo {
		width:300px;
	}
	#mainimg li img {
		width:850px;
	}
	
	
	section {
		padding:42px 0 62px 0;
	}
	section .head {
		margin-bottom:29px;
	}
	section .head h2 {
		padding-left:24px;
	}
	section .head h2 .ja {
		font-size:20px;
	}
	section .head h2 .en {
		vertical-align:-3px;
	}
	section .head h2::after {
		width:16px;
		height:16px;
		top:3px;
	}
	
	.blkimg {
		margin-bottom:50px;
		overflow:hidden;
	}
	.blkimg img {
		width:751px;
		position:relative;
		left:50%;
		transform:translateX(-50%);
		z-index:1;
	}
	
	
	.latest p {
		font-size:13px;
	}
	.latest a {
		padding:12px 10px 10px 10px;
	}
	.latest a span {
		font-size:15px;
		padding:0 16px 0 0;
	}
	.latest a span::after {
		border-left:11px solid #3F4364;
		border-top:6px solid transparent;
		border-bottom:6px solid transparent;
		top:calc(50% - 2px);
	}
	.latest a:hover span::after {
		border-left:11px solid #FFF;
	}
	
	
	section#photo {
		padding-bottom:10px;
	}
	#photo .head {
		padding-bottom:24px;
		margin-bottom:55px;
	}
	#photo li {
		margin:0 20px 40px 0;
	}
	#photo li h3 .ja {
		font-size:19px;
	}
	#photo li h3 .en {
		font-size:13px;
	}
	#photo li p span {
		font-size:15px;
		padding-left:16px;
	}
	#photo li p span::after {
		border-left:11px solid #3F4364;
		border-top:6px solid transparent;
		border-bottom:6px solid transparent;
		top:4px;
	}
	
	
	#fb {
		margin-bottom:90px;
	}
}
@media screen and (max-width:700px) {
	#photo li {
		float:none;
		margin:0 0 40px 0;
	}
	#photo li.clm2 {
		width:calc((100% - 0px) / 1);
	}
	#photo li.clm3 {
		width:calc((100% - 0px) / 1);
		margin-bottom:40px;
	}
	#photo li.clm3:last-child {
		margin-bottom:0;
	}
	#photo li.clm2 .imgbox {
		padding-top:50.8%;
	}
	#photo li.clm3 .imgbox {
		padding-top:50.8%;
	}
	#photo li h3 {
		padding:10px 5px 7px 5px;
	}
}
@media screen and (max-width:640px) {
	#mainimg #logo {
		width:250px;
	}
	#mainimg li img {
		width:750px;
	}
	
	
	section {
		padding:39px 0 59px 0;
	}
	section .head {
		margin-bottom:27px;
	}
	section .head h2 {
		padding-left:22px;
		margin-bottom:10px;
	}
	section .head h2 .ja {
		font-size:19px;
	}
	section .head h2 .en {
		display:block;
		margin:5px 0 0 0;
	}
	section .head h2::after {
		width:15px;
		height:15px;
	}
	
	.blkimg {
		margin-bottom:45px;
	}
	.blkimg img {
		width:700px;
	}
	
	
	section#photo {
		padding-bottom:5px;
	}
	#photo .head {
		padding-bottom:22px;
		margin-bottom:51px;
	}
	#photo li h3 {
		padding:10px 5px 7px 5px;
	}
	#photo li h3 .ja {
		font-size:18px;
	}
	
	
	#fb {
		margin-bottom:80px;
	}
}
@media screen and (max-width:500px) {
	#mainimg #logo {
		width:200px;
	}
	#mainimg li img {
		width:650px;
	}
	
	
	section {
		padding:35px 0 55px 0;
	}
	section .head {
		margin-bottom:25px;
	}
	section .head h2 {
		padding-left:20px;
	}
	section .head h2 .ja {
		font-size:18px;
	}
	section .head h2::after {
		width:14px;
		height:14px;
		top:2px;
	}
	
	.blkimg {
		margin-bottom:40px;
	}
	.blkimg img {
		width:650px;
	}
	
	
	.latest a {
		padding:12px 10px 10px 10px;
	}
	.latest a span {
		font-size:14px;
		padding:0 14px 0 0;
	}
	.latest a span::after {
		border-left:10px solid #3F4364;
		border-top:5px solid transparent;
		border-bottom:5px solid transparent;
		top:calc(50% - 1px);
	}
	.latest a:hover span::after {
		border-left:10px solid #FFF;
	}
	
	
	section#photo {
		padding-bottom:0;
	}
	#photo .head {
		padding-bottom:20px;
		margin-bottom:47px;
	}
	#photo li p span {
		font-size:14px;
		padding-left:14px;
	}
	#photo li p span::after {
		border-left:10px solid #3F4364;
		border-top:5px solid transparent;
		border-bottom:5px solid transparent;
	}
	
	
	#fb {
		margin-bottom:70px;
	}
}
@media screen and (max-width:320px) {
	#mainimg #logo {
		width:170px;
	}
	#mainimg li img {
		width:600px;
	}
	
	
	section .head h2 {
		padding-left:18px;
	}
	section .head h2 .ja {
		font-size:17px;
	}
	section .head h2::after {
		width:13px;
		height:13px;
	}
	
	
	.blkimg img {
		width:600px;
	}
	
	
	#fb {
		margin-bottom:65px;
	}
}
@media screen and (min-width:769px) {
	
}
