@charset "utf-8";

/* ローディング画面 */
#loading {
	width: 100vw;
	height: 100vh;
	transition: all 1s;
	background-color:#c4c4c4;

	position: fixed;
	top: 0;
	left: 0;
	z-index: 9999;
}
.spinner {
	width: 50px;
	height: 50px;
	margin: 50vh auto 0 auto;
	background-color: #e2e2e2;
	border-radius: 100%;
	animation: sk-scaleout 1.0s infinite ease-in-out;
}
/* ローディングアニメーション */
@keyframes sk-scaleout {
	0% {
		transform: scale(0);
	} 100% {
		transform: scale(1.0);
		opacity: 0;
	}
}

.loaded {
	opacity: 0;
	visibility: hidden;
}

@media screen and (max-width: 768px) {

	.spinner {
		margin: 40vh auto 0 auto;
	}

}

/*************************************************/
#top_page {
	margin:0;
	margin-left:auto;
	margin-right:auto;
	width:100%;
	box-sizing: border-box;
}

#about {
	margin:50px auto 0 auto;
	width:100%;
	box-sizing: border-box;
}

#drone {
	margin:50px auto 0 auto;
	width:100%;
	box-sizing: border-box;
}

#streaming {
	margin:50px auto 0 auto;
	width:100%;
	box-sizing: border-box;
}

#works {
	margin:50px auto 0 auto;
	width:100%;
	box-sizing: border-box;
}

#company {
	margin:50px auto 0 auto;
	width:100%;
	box-sizing: border-box;
}

#news {
	margin:50px auto 0 auto;
	width:100%;
	box-sizing: border-box;
}

#contact {
	margin:50px auto 0 auto;
	width:700px;
	box-sizing: border-box;
}

#contact .contact_text1{
	margin-left:auto;
	margin-right:auto;
	width:620px;
	white-space: nowrap;
}

#basic {
	margin:50px auto 0 auto;
	width:100%;
	box-sizing: border-box;
}

#top_page img, #about img, #drone img, #streaming img, #works img, #company img, #news img, #contact img, #basic img{
	width:100%;
}

#top_page h3 {
	font-size:170%;
}

.grid_container_1200 {
	margin-left:auto;
	margin-right:auto;
	width:1200px;
	box-sizing: border-box;
}

.grid_container_1100 {
	margin-left:auto;
	margin-right:auto;
	width:1100px;
	box-sizing: border-box;
}

.grid_container_1000 {
	margin-left:auto;
	margin-right:auto;
	width:1000px;
	box-sizing: border-box;
}

.grid_container_800 {
	margin-left:auto;
	margin-right:auto;
	width:800px;
	box-sizing: border-box;
}

.grid_container_company {
	margin-left:auto;
	margin-right:auto;
	width:600px;
	box-sizing: border-box;
}

.grid_company_title{
	width:30%;
}

.grid_company_desc{
	width:70%;
	word-break:break-all;
}

.grid_container_flex {
	display:flex;
	width:100%;
	align-items:stretch;
	box-sizing: border-box;
	justify-content:space-between;
}

.grid_container_item{
	position: relative;
	padding:0;
	width:33%;
	text-align:center;
	box-sizing: border-box;
}

.grid_container_item .img_text {
	position: absolute;
	top: 40%;
	left: 50%;
	transform: translate(-50%, -50%);
	color: #fff;
	font-size:32px;
	font-weight:bold;
	line-height:40px;
}

.grid_container_item600{
	width:600px;
}

.grid_container_item600 img{
	width:100%;
}

.grid_container_item500{
	width:500px;
}

.grid_container_item500 img{
	width:100%;
}


.grid_container_item300{
	width:300px;
}

.grid_container_item300 img{
	width:100%;
}


.grid_container_text{
	word-break:break-all;
}

.grid_container_text20{
	padding:0 20px;
}

.grid_container_text40{
	padding:0 40px;
}

.grid_container_text60{
	padding:0 60px;
}

.grid_container_text80{
	padding:0 80px;
}

.grid_container_text100{
	padding:0 100px;
}

.grid_container_text125{
	padding:0 125px;
}

.grid_container_text150{
	padding:0 150px;
}

.grid_container_text160{
	padding:0 160px;
}

.grid_container_text180{
	padding:0 180px;
}

.grid_container_text200{
	padding:0 190px;
}

.grid_container_info {
	margin-top:30px;
	padding-bottom:30px;
	border-bottom:1px solid #333333;
	box-sizing: border-box;
}

.grid_container_info p{
	padding:5px 0;
	word-break:break-all;
	line-height:1.4em;
}

.grid_container_info p.date{
	font-weight:bold;
}

.grid_container_works{
	letter-spacing: 0.05em;
	font-size:85%;
	line-height:1.8em;
}

.bold1{
	font-size:120%;
	font-weight:bold;
	font-family:'SourceHanSans_normal';
}

.grid_works_left {
	float:left;
	min-width:200px;
	white-space:nowrap;
}

.grid_works_right {
	float:right;
	min-width:200px;
	white-space:nowrap;
}

.grid_container_top1 {
	margin-top:100px;
	margin-left:auto;
	margin-right:auto;
	width:1000px;
	box-sizing: border-box;
	background-image:url("/file/images/content/img_drone_overlay1.svg");
	background-repeat:no-repeat;
	background-position:right 0;
	background-size:62% auto;
}

.grid_container_top2 {
	margin-top:70px;
	margin-left:auto;
	margin-right:auto;
	width:1000px;
	box-sizing: border-box;
	background-image:url("/file/images/top/ol_250a_230512_TOP_LIVE STREAMING.svg");
	background-repeat:no-repeat;
	background-position:left 0;
	background-size:100% auto;
}

.grid_container_top3 {
	margin-top:70px;
	margin-left:auto;
	margin-right:auto;
	width:1000px;
	box-sizing: border-box;
	background-image:url("/file/images/content/img_movie_overlay1.svg");
	background-repeat:no-repeat;
	background-position:right bottom;
	background-size:58% auto;
}

.grid_container_top4 {
	margin-top:100px;
	margin-left:auto;
	margin-right:auto;
	width:1000px;
}

.grid_container_top5 {
	margin-top:100px;
	margin-left:auto;
	margin-right:auto;
	width:1000px;
}

.grid_container_top6 {
	margin-top:100px;
	margin-left:auto;
	margin-right:auto;
	width:1000px;
}

.grid_container_top_sub1 {
	float:right;
	min-width:50px;
	white-space: nowrap;
}

.grid_container_about1 {
	margin-top:150px;
	margin-left:auto;
	margin-right:auto;
	width:80%;
	height:50px;
	background-image:url("/file/images/about/OK_ol_50_230512_TOP_Logo.svg");
	background-repeat:no-repeat;
	background-position:center center;
	background-size:70% auto;
}

.grid_container_about2 {
	margin-top:50px;
	margin-left:auto;
	margin-right:auto;
	width:1000px;
}

.grid_container_about3 {
	margin-top:100px;
	margin-left:auto;
	margin-right:auto;
	width:1000px;
}


.grid_top_left{
	width:50%;
}

.grid_top_right{
	margin-left:50%;
	width:50%;
}

.grid_works_menu{
	margin:0 auto;
	width:400px;
}

.grid_works_menu ul{
	display:flex;
	margin: 0;
	list-style-type: none;
	box-sizing: border-box;
	justify-content:space-between;
}

.grid_works_menu ul li{
	min-width: 10%;
}

.grid_container_policy {
	margin-left:auto;
	margin-right:auto;
	width:1000px;
	box-sizing: border-box;
}

.grid_container_policy p{
	padding-bottom:20px;
}

.grid_streaming_drone {
	margin-top:-180px;
	margin-left:30px;
	color:#FFFFFF;
}

@media screen and (max-width: 768px) {

	#top_page {
		margin-bottom;100px;
	}

	#about {
		margin:10px auto 0 auto;
	}

	#drone {
		margin:10px auto 0 auto;
	}

	#streaming {
		margin:10px auto 0 auto;
	}

	#works {
		margin:10px auto 0 auto;
	}

	#company {
		margin:10px auto 0 auto;
	}

	#news {
		margin:10px auto 0 auto;
	}

	#contact {
		margin:10px auto;
		width:90%;
	}

	#contact .contact_text1{
		margin-left:auto;
		margin-right:auto;
		width:100%;
		white-space: normal;
	}

	#basic {
		margin:10px auto 0 auto;
	}

	.grid_container_1200 {
		margin-top:50px;
		width:95%;
	}

	.grid_container_1200 img{
		max-width:95%;
	}

	.grid_container_1100 {
		margin-top:50px;
		width:95%;
	}

	.grid_container_1100 img{
		max-width:95%;
	}

	.grid_container_1000 {
		margin-top:50px;
		width:95%;
	}

	.grid_container_1000 img{
		max-width:95%;
	}

	.grid_container_800 {
		margin-top:50px;
		width:95%;
	}

	.grid_container_800 img{
		max-width:95%;
	}

	.grid_container_company {
		width:95%;
	}

	.grid_company_title{
		padding:0 10px;
		width:95%;
	}

	.grid_company_desc{
		padding:0 10px;
		width:95%;
	}

	.grid_container_flex {
		display:block;
	}

	.grid_container_item{
		padding:0 10px;
		width:100%;
	}

	.grid_container_item img{
		max-width:95%;
	}

	.grid_container_text{
		padding:0 10px;
	}

	.grid_container_text20{
		padding:0 10px;
	}

	.grid_container_text40{
		padding:0 10px;
	}

	.grid_container_text60{
		padding:0 10px;
	}

	.grid_container_text80{
		padding:0 10px;
	}

	.grid_container_info {
		margin-top:30px;
		padding-bottom:10px;
	}

	.grid_container_info p{
		padding:0 10px 20px 10px;
	}

	.grid_container_works{
		font-size:85%;
	}

	.grid_works_left {
		float:none;
		width:100%;
		white-space:normal;
	}

	.grid_works_right {
		float:none;
		margin-top:20px;
		width:100%;
		white-space:normal;
	}

	.grid_top_left{
		float:none;
		width:100%;
	}

	.grid_top_right{
		float:none;
		margin-left:0;
		width:100%;
	}

	.grid_container_text20{
		padding:0;
	}

	.grid_container_text40{
		padding:0;
	}

	.grid_container_text60{
		padding:0;
	}

	.grid_container_text80{
		padding:0;
	}

	.grid_container_text100{
		padding:0;
	}

	.grid_container_text125{
		padding:0;
	}

	.grid_container_text150{
		padding:0;
	}

	.grid_container_text160{
		padding:0;
	}

	.grid_container_text180{
		padding:0;
	}

	.grid_container_text200{
		padding:0;
	}

	.grid_container_item600{
		margin-top:20px;
		width:100%;
	}

	#streaming .grid_container_flex {
		display:flex;
		margin:0;
	}
	.grid_container_item500{
		margin-top:20px;
	}
	.grid_streaming_drone {
		margin-top:0;
		margin-left:0;
		color:#333;
	}

	.grid_container_item300{
		margin-top:20px;
		width:100%;
	}

	.grid_works_menu{
		width:90%;
		font-size:85%
	}

	.grid_container_top1 {
		margin-top:70px;
		width:95%;
		background-position:90% bottom;
	}

	.grid_container_top2 {
		width:95%;
		background-position:10% 93%;
		background-size:95% auto;
	}

	.grid_container_top3 {
		width:95%;
		background-position:90% bottom;
	}

	.grid_container_top4 {
		margin-top:70px;
		width:95%;
	}

	.grid_container_top5 {
		margin-top:70px;
		width:95%;
	}

	.grid_container_top6 {
		margin-top:70px;
		margin-bottom:50px;
		width:95%;
	}

	.grid_container_about1 {
		margin-top:50px;
		margin-left:auto;
		margin-right:auto;
		width:100%;
		height:100px;
		background-image:url("/file/images/about/OK_ol_230512_TOP_Logo.svg");
		background-repeat:no-repeat;
		background-position:center center;
		background-size:60% auto;

	}

	.grid_container_about2 {
		margin-top:50px;
		width:95%;
	}

	.grid_container_about3 {
		margin-top:50px;
		width:95%;
	}

	.grid_container_policy {
		width:95%;
	}

}

#company ul{
	margin: 0 auto;
	width: 80%;
	list-style-type: none;
	box-sizing: border-box;
}
#company ul li{
	display:flex;
	padding: 15px 0;

}
#company ul li .date{
	margin: 0px;
	vertical-align: top;
	width: 25%;
}
#company ul li .text{
	margin: 0px;
	vertical-align: middle;
	min-width: 50%;
}
#company ul li .text .name{
	margin-right: 16px;
}
#company ul li .text a{
	-moz-transition: all .5s ease;
	-webkit-transition: all .5s ease;
	transition: all .5s ease;
}
#company ul li .text a:hover{
	color: #999;
	opacity: 1;
}

h2.f1{
	font-size: 200%;
	color: #000;
	font-weight: bold;
	letter-spacing: 0.1em;
	position: relative;
	text-align: center;
	font-family:'SourceHanSans_normal';
}
h2.f1::after{
	content: "";
	display: block;
	width: 33px;
	height: 3px;
	background: #000;
	margin: 0 auto;
	position: relative;
	top: 20px;
	border-radius: 2px;
}

#map{
	margin: 50px 0 0 0;
}

#map .map_box {
	position: relative;
	padding-bottom: 45%;
	height: 0;
	overflow: hidden;
}

#map .map_box iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100% !important;
	height: 100% !important;
	filter: grayscale(99%);
	-webkit-filter: grayscale(99%);
	-moz-filter: grayscale(99%);
	-ms-filter: grayscale(99%);
	-o-filter: grayscale(99%);
	-webkit-backface-visibility: hidden;
}
#map .legend{
	text-align: center;
	margin-top: 30px;
	font-family: Roboto_regular,SourceHanSans_normal;
	font-size: 14px;
	margin-bottom: 0px;
	line-height: 28px;
	letter-spacing: 1px;
}

#map_s{
	display:none;
	box-sizing: border-box;
}


@media screen and (max-width: 768px) {

	#company ul{
		width: 100%;
	}

	#company ul li{
		padding: 5px 0%;
	}

	#company ul li .date{
		margin: 0 0 0 5%;
		width: 35%;
	}
	#company ul li .text{
		width: 60%;
	}

	#map{
		display:none;
	}

	#map_s{
		display:block;
		padding-top: 30px;
		margin-bottom: 0px;
	}
	#map_s .map_box {
		position: relative;
		padding-bottom: 45%;
		height: 0;
		overflow: hidden;
	}
	#map_s .map_box iframe {
		position: absolute;
		top: 0;
		left: 0;
		width: 100% !important;
		height: 100% !important;
		filter: grayscale(99%);
		-webkit-filter: grayscale(99%);
		-moz-filter: grayscale(99%);
		-ms-filter: grayscale(99%);
		-o-filter: grayscale(99%);
		-webkit-backface-visibility: hidden;
	}
	#map_s .legend{
		text-align: center;
		margin-top: 30px;
		font-family: Roboto_regular,SourceHanSans_normal;
		font-size: 14px;
		margin-bottom: 0px;
		line-height: 28px;
		letter-spacing: 1px;
	}

	h2.f1{
		font-size:140%;
		color: #000;
		font-weight: bold;
		letter-spacing: 0.1em;
		position: relative;
		text-align: center;
		font-family:'SourceHanSans_normal';
	}
	h2.f1::after{
		content: "";
		display: block;
		width: 25px;
		height: 3px;
		background: #000;
		margin: 0 auto;
		position: relative;
		top: 5px;
		border-radius: 2px;
	}

}

.top_video_area{
	width: 100%;
	position: relative;
}

.video_frame{
	width: 100%;
	position: relative;
}

.video_pict{
	position: absolute;
	top: 35%;
	margin: 0 auto;
	display: block;
	left: 0;
	right: 0;
	width: 30%;
}

.video_pict img{
	width:100%;
}

@media screen and (max-width: 1024px) {

	.video_pict{
		width: 80vw;
		top:27%;
	}

}


.embed-container { position: relative; padding-bottom: 42.55%; height: 0; overflow: hidden; max-width: 100%; } 
.embed-container iframe, 
.embed-container object, 
.embed-container embed { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }


@media screen and (max-width: 1024px) {
    header .content_box{
        width: 90%;
    }
    .video_frame{
        width: 100%;
        height: 100vh;
        min-height: 100vh;
        overflow: hidden;
        position: relative;
    }
    
    .video_frame .embed-container{
        position: absolute;
        top: 0;
        left: -1%;
        width: 102%;
        height: 100%;
        width: 300%;
        left: -100%;
        padding-bottom: 0;
        max-width: none;
    }
    
    .video_frame .embed-container iframe, 
    .video_frame .embed-container object, 
    .video_frame .embed-container embed{
        position: absolute; top: 0; left: 0; width: 100%; height: 100%;
    }
}
@media screen and (max-width: 1024px) and (min-aspect-ratio: 16/9) {
  .video_frame .embed-container {
    height: 300%;
    top: -100%;
  }
}

@media screen and (max-width: 1024px) and (max-aspect-ratio: 16/9) {
  .video_frame .embed-container {
    width: 500%;
    left: -200%;
  }
}

.Tb_contact{
	margin:0 auto;
	width:70%;
	font-size:85%;
	border-collapse: collapse;
}

.Tb_contact td{
	padding:15px 10px;
	vertical-align:center;
	word-break:break-all;
}

.Tb_contact td.title{
	width:200px;
	vertical-align:top;
}

.grid_contact_title{
	padding:10px 0;
	width:33%;
	font-size:85%;
}

.grid_contact_input{
	padding:10px 0;
	width:66%;
	font-size:85%;
	word-break:break-all;
}

.grid_contact_notice{
	margin-top:30px;
	padding:10px 0;
	font-size:75%;
}

@media screen and (max-width: 768px) {

	.Tb_contact{
		margin:0;
		width:95%;
	}

	.grid_contact_title{
		margin-left:auto;
		margin-right:auto;
		padding:10px 0 5px 0;
		width:85%;
	}

	.grid_contact_input{
		margin-left:auto;
		margin-right:auto;
		padding:5px 0;
		width:85%;

	}

	.grid_contact_notice{
		margin-top:10px;
		margin-left:auto;
		margin-right:auto;
		padding:10px 0;
		width:85%;
	}

}

#all1 {

}

#drone1 {

}

#streaming1 {

}

#movie1 {

}

.active1 a:link, .active1 a:visited { color:#ffffff; }
.active1 a:active, .active1 a:hover { color:#777777; }

.inactive1 a:link, .inactive1 a:visited { color:#000000; }
.inactive1 a:active, .inactive1 a:hover { color:#777777; }


#page_top_button{
	display:none;
	position: fixed;
	right: 30px;
	bottom: 40px;
	max-width: 20px;
	width: 100%;
	z-index: 10;
}
#page_top_button img{
	width:20px;
}

@media screen and (max-width: 768px) {

	#page_top_button{
		display:none;
		position: fixed;
		right: 15px;
		bottom: 40px;
		max-width: 15px;
		width: 100%;
	}

	#page_top_button img{
		width:15px;
	}

}

.pc {
	display:block;
}

.mobile {
	display:none;
}

@media screen and (max-width: 768px) {

	.pc {
		display:none;
	}

	.mobile {
		margin-top:-40px;
		display:block;
	}

}