/*==================
*
* Common
*
*===================*/

@font-face {
  font-family: 'FontSetL';
  src: url("/font/NotoSansCJKjp-Light.woff");
}

@font-face {
  font-family: 'FontSetM';
  src: url("/font/NotoSansCJKjp-Medium.woff");
}

body {
	font-size: 18px;
	/* font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif; */
	/* font-family: Verdana, Roboto, “Droid Sans”, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", “Hiragino Kaku Gothic ProN”, "ＭＳ Ｐゴシック", sans-serif; */
	font-family: 'FontSetL';
}

a {
	transition: all .4s ease-out;
}

h2 {
	font-family: 'Minion Pro', sans-serif;
	color: #fff;
	line-height: 1;
}

h3 {
	font-size: 40px;
	color: #fff;
	font-family: 'FontSetM';
}

h4 {
	font-size: 34px;
	color: #fff;
	font-family: 'FontSetM';
	line-height: 1.2;
}

h4 span {
	font-size: 21px;
}

.pc {display: block;}
.sp {display: none;}

/*==================
*
* Header
*
*===================*/

header {
	padding: 20px 40px 20px 26px;
	background: #000;
	/* position: sticky; */
	position: fixed;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	top: 0;
	z-index: 100;
	width: 100%;
	min-height: 80px;
}

header h1 {
	max-width: 218px;
}

header h1 img {
	width: 100%;
}

header nav {
	width: 738px;
}

header nav ul {
	display: flex;
	justify-content: space-between;
}

header nav ul li a {
	display: block;
	width: 100%;
	color: #fff;
}

header nav ul li a:hover {
	opacity: .6;
}

header nav ul:last-child {
	display: none;
}

header .barger {
	display: none;
}

/*==================
*
* Mv
*
*===================*/

#mv {
	position: relative;
    width: 100%;
    height: 100vh;
    overflow: hidden;
}

#mv .logo {
	width: 100%;
  height: 100vh;
	display: flex;
	align-items: center;
	justify-content: center;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 20;
}

#mv .logo img {
	max-width: 436px;
	width: 100%;
}

#mv .scroll {
	position: absolute;
	left: 50%;
	bottom: 80px;
	transform: translate(-50%, 0);
	width: 74px;
	z-index: 50;
}

#mv .scroll a {
	display: block;
	width: 100%;
	text-align: center;
	color: #fff;
	font-size: 20px;
	font-family: 'Minion Pro', sans-serif;
	line-height: 1;
}

#mv .scroll a:hover {
	opacity: .6;
}

#mv section {
	position: relative;
	width: 100vw;
	height: 100vh;
	overflow: hidden;
}

#mv section video {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	min-width: 100%;
	min-height: 100%;
}

/* #mv video {
	position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
    min-width: 100%;
    min-height: 100%;
} */

/*==================
*
* About
*
*===================*/

#about {
	width: 100%;
	background: #fff;
	padding: 140px 0;
}

#about section {
	max-width: 1375px;
	margin: 0 auto;
	/* position: relative; */
	/* padding: 93px 0 0 0; */
	overflow: hidden;
}

/* #about section h2 {
	color: #0068B6;
	font-size: 132px;
	margin: 90px 0 97px;
	max-width: 448px;
	float: left;
} */
#about section h2 {
	color: #0068B6;
	font-size: 132px;
	margin: 93px 0 97px;
	max-width: 448px;
	/* width: 36%; */
	/* padding: 90px 0 0 0; */
	float: left;
}

#about section h2 span {
	/* font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif; */
	/* font-family: Verdana, Roboto, “Droid Sans”, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", “Hiragino Kaku Gothic ProN”, "ＭＳ Ｐゴシック", sans-serif; */
	font-family: 'FontSetM';
	font-size: 20px;
	display: block;
	text-align: right;
	font-weight: bold;
	color: #000;
}

#about section img {
	max-width: 100%;
	/* position: absolute; */
	/* top: 0; */
	/* right: 0; */
	float: right;
}

#about section div {
	max-width: 448px;
}

#about section div p:first-child {
	margin: 0 0 55px;
}

/*==================
*
* Service
*
*===================*/

#service {
	width: 100%;
}

#service section {
	position: relative;
	overflow: hidden;
}


#service section:not(.news) a,
#group section a,
#contact .submit-area,
 .btn_back a {
	display: block;
	max-width: 500px;
	width: 100%;
	text-align: center;
	color: #fff;
	font-size: 21px;
	background: linear-gradient(to right, #0068B6 0%, #00B2EB 50%, #0068B6);
	position: relative;
	padding: 21px 0;
	/* margin: 0 70px 0 auto; */
    /* margin: 0px auto; */
	margin: 21px auto;
	background-size: 200% auto;
}

 
#service section:not(.news) a:before,
#group section a:before,
#contact .submit-area:before,
.btn_back a:before{
	content: "";
	display: block;
	width: 44px;
	height: 44px;
	border-radius: 100%;
	border: 1px solid #fff;
	top: 50%;
	right: 25px;
	transform: translate(0, -50%);
	position: absolute;
}


#service section:not(.news) a:after,
#group section a:after,
#contact .submit-area:after,
.btn_back a:after{
	content: "→";
	display: block;
	top: 50%;
	right: 38px;
	transform: translate(0, -50%);
	position: absolute;
	font-size: 18px;
}


#service section:not(.news) a:hover,
#group section a:hover,
#contact .submit-area:hover,
 .btn_back a:hover{
	background-position: 100% 0;
}

#service section:not(.news) a span {
	  font-size: 16px;
  }  

#service section.drone:before {
	top: 17.5%;
}

#service section:nth-of-type(odd) > .w50per {
	display: flex;
	width: 100%;
	flex-wrap: wrap;
}

#service section:nth-of-type(even) > .w50per {
	display: flex;
	width: 100%;
	flex-wrap: wrap;
	flex-direction: row-reverse;
}

#service section > .w50per > div {
	width: 50%;
	overflow: hidden;
	/* position: relative; */
}

#service section > .w50per > div h2 {
	font-size: 160px;
	margin: 0 60px 100px 0;
}

#service section > .w50per > div h2 span {
	color: #fff;
	font-size: 54px;
	display: block;
}


/* #service section.data > img {
	position: absolute;
	top: 15px;
	left: 32%;
	z-index: 9;
} */
#service section.data > img {
	position: absolute;
	top: 15px;
	top: 1%;
	/* left: 32%; */
	right: 40%;
	z-index: 9;
	max-width: 100%;
	/* width: 30%; */
	opacity: 0;
}

/* #service section > .w50per > div img {
	object-fit: cover;
} */
#service section.data > .w50per > div:nth-of-type(1) {
  	position: absolute;
	background: url(/images/service_data_bg.jpg) center no-repeat;
	background-size: cover;
	display: flex;
	align-items: end;
	justify-content: end;
}

#service section.data a {
	max-width: 440px;
	width: 100%;
}

#service section.data > .w50per > div:nth-of-type(2) > .backimage {
  	position: absolute;
	background: url(/images/earth-add.jpg) center no-repeat;
	background-size: 100%;
	display: block;
	background-position: 0 20px, 5% 5%;
  	align-items: end;
	justify-content: end;
    margin-top: 30px;
    padding-top: 30px;
    padding-bottom: 30px;
}

#service section.data > .w50per > div:nth-of-type(2) > .nobackimage {
	display: block;
    margin-top: 30px;
}

#service section.data > .w50per > div:nth-of-type(2) > div > img {
    opacity: 0.5;
}

#service section:nth-of-type(odd) > .w50per > div:nth-of-type(2) {
	color: #fff;
	padding: 283px 0;
}

#service section:nth-of-type(odd) > .w50per > div:nth-of-type(2)::before{
	display: none;
	content: "";
	background: #0068B6;
	position: absolute;
	top: 0;
	width: 100%;
	height: 100%;
	z-index: -1;
}

#service section:nth-of-type(even) > .w50per > div:nth-of-type(2) {
	color: #fff;
	padding: 283px 0;
}

#service section:nth-of-type(even) > .w50per > div:nth-of-type(2)::before{
	display: none;
	content: "";
	background: #00B2EB;
	position: absolute;
	top: 0;
	width: 100%;
	height: 100%;
	z-index: -1;
}

#service section:nth-of-type(odd) > .w50per > div h3 {
	max-width: 440px;
	margin: 0 0 60px 165px;
	font-weight: bold;
}

#service section:nth-of-type(even) > .w50per > div h3 {
	max-width: 490px;
	width: 100%;
	margin: 0 0 60px 165px;
	/* margin: 0 auto 60px; */
	font-weight: bold;
}

#service section:nth-of-type(odd) > .w50per > div h4 {
  	position: relative;
    color: #fff;
	max-width: 440px;
	margin: 0 0 0 165px;
	font-weight: bold;
}

#service section:nth-of-type(even) > .w50per > div h4 {
	position: relative;
	max-width: 490px;
	width: 100%;
	margin: 60px 0 0 165px;
	/* margin: 0 auto 60px; */
	font-weight: bold;
}

#service section:nth-of-type(even) > .w50per > div h4:before {
	position: absolute;
	content: '';
	top: -124px;
    left: -300px;
	width: 100%;
	padding-top: 90%;
	display: block;
}

#service section:nth-of-type(even) > .w50per > div h4:after {
	position: absolute;
	content: '';
	top: -124px;
    left: -300px;
	display: block;
	width: 100%;
	height: 397px;
	background-image: url(/images/service_deep_bg_02.png);
	background-size: contain;
	background-repeat: no-repeat;
}

#service section:nth-of-type(1) > .w50per > div a {
	color: #fff;
	background: linear-gradient(to right, #0068B6 0%, #00B2EB 50%, #0068B6);
	background-size: 200% auto;
	padding: 21px 90px 21px 20px;
	margin: 20px 0 0 0;
}

#service section:nth-of-type(1) > .w50per > div .colorchange {
	color: #0068B6;
	background: linear-gradient(to right, #C4D8E6 0%, #FFFFFF 50%, #C4D8E6);
	background-size: 200% auto;
	padding: 21px 90px 21px 20px;
	margin: 20px 0 0 0;
}

#service section:nth-of-type(1) > .w50per > div a:before {
	content: "";
	border: 1px solid #0068B6;
}

#service section:nth-of-type(1) > .w50per > div a:hover {
	background-position: 100% 0;
}

#service section:nth-of-type(even) > .w50per > div a {
	color: #0068B6;
	background: linear-gradient(to right, #C4D8E6 0%, #FFFFFF 50%, #C4D8E6);
	background-size: 200% auto;
	padding: 21px 90px 21px 20px;
	margin: 20px 0 0 0;
}

#service section:nth-of-type(even) > .w50per > div a:before {
	content: "";
	border: 1px solid #0068B6;
}

#service section:nth-of-type(even) > .w50per > div a:hover {
	background-position: 100% 0;
}

#service section > .w50per > div p {
	max-width: 440px;
	width: 100%;
	margin: 0 0 0 165px;
	line-height: 2em;
}

#service section > .w50per > div p2 {
	max-width: 440px;
	width: 100%;
	margin: 0 0 0 165px;
	line-height: 2em;
}

#service section.deep > img {
	position: absolute;
	top: 33px;
	left: 40%;
	z-index: 9;
	opacity: 0;
}

#service section.deep > .w50per > div:nth-of-type(1) {
	background: url(/images/service_deep_bg.jpg) right no-repeat;
	background-size: cover;
	display: flex;
	align-items: end;
	justify-content: end;
}

#service section.deep a {
	max-width: 440px;
	width: 100%;
}

#service section.drone > .w50per > div:nth-of-type(1) {
	background: url(/images/service_drone_bg.jpg) center no-repeat;
	background-size: cover;
	display: flex;
	align-items: end;
	justify-content: end;
}

#service section.drone > .w50per > div h2 {
	margin: 0 60px 142px 0;
}

#service section.drone > img {
	position: absolute;
	top: 55px;
	left: 30%;
	z-index: 9;
	opacity: 0;
}

#service section.drone .info {
	position: relative;
	display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
	background: #fff;
    max-width: 1045px;
    width: 95%;
    border: 3px solid #B49B56;
    margin: -110px auto 150px;
}

#service section.drone .info:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 40px 40px 0 0;
    border-color: #b49b56 transparent transparent transparent;	
}

#service section.drone .info:after {
    content: "";
    position: absolute;
    right: 0;
    bottom: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 0 40px 40px;
    border-color: transparent transparent #b49b56 transparent;		
}

#service section.drone .info .text {
	width: 50%;
	padding: 30px 20px 50px 50px;
}

#service section.drone .info h4 {
	font-size: 40px;
	font-weight: bold;
	color: #0068B6;
	text-align: center;
}

#service section.drone .info h4 span {
	font-size: 22px;
}

#service section.drone .info h4 + p {
	position: relative;
	font-size: 22px;
	color: #0068B6;
	text-align: center;
	padding: 0 0 90px;
}

#service section.drone .info h4 + p::before {
	position: absolute;
	content: "";
	width: 3px;
	height: 25px;
	background: #B49B56;
	top: 65px;
	left: 0;
	right: 0;
	margin: 0 auto;
}

#service section.drone .info .text p:last-of-type {
	line-height: 2.22;
}

#service section.drone .info .flow {
	width: 50%;
	padding: 30px 50px 50px 35px;
}

#service section.drone .info .flow p {
	font-size: 18px;
	font-weight: bold;
	text-align: center;
	margin-bottom: 10px;
}

#service section.drone .info .flow ul {
    max-width: 365px;
	width: 83.43%;
    display: flex;
    justify-content: space-between;
    margin: 0 auto 53px;
}

#service section.drone .info .flow ul li {
	position: relative;
	max-width: 50px;
    width: 13.7%;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #0068B6;
	font-weight: bold;
	text-align: center;
	line-height: 1;
	border: 1px solid #0068B6;
	padding: 20px 0 20px;
}

#service section.drone .info .flow ul li:before {
	content: "";
	position: absolute;
	top: 0;
	left: 120%;
	bottom: 0;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 9px 0 9px 11px;
	border-color: transparent transparent transparent #363636;
	margin: auto 0;
}

#service section.drone .info .flow ul li span {
	writing-mode: vertical-rl;
}

#service section.drone .info .flow ul li:last-child {
	color: #B49B56;
	border: 1px solid #B49B56;
}

#service section.drone .info .flow ul li:last-child::before {
	content: none;
}

#service section.drone .info .flow a {
	max-width: 437px;
    width: 100%;
	font-size: 21px;
	padding: 21px 30px 21px 20px;
    margin-bottom: 10px;
    line-height: 1.5;
}

#service section.drone .info .flow a:after {
	right: 28px;
}

#service section.drone .info .flow a:before {
    width: 44px;
    height: 44px;
	right: 15px;
}

#service section.recruit {
	background: url(/images/service_recruit_bg.png) top center no-repeat;
    background-size: 100%;
	padding: 185px 0 190px;
}

#service section.recruit:nth-of-type(even) > .w50per:first-of-type {
	margin: 0 0 45px;
}

#service section.recruit:nth-of-type(even) > .w50per:first-of-type .left {
    display: flex;
    justify-content: right;
    align-items: flex-end;
}

#service section.recruit:before {
	content: none;
}

#service section.recruit .w50per .right .inner {
	background: #fff;
}

#service section.recruit .parent01 {
	max-width: 642px;
	width: 100%;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	grid-template-rows: repeat(3, 1fr);
	gap: 0.93%;
	/*grid-column-gap: 0px;
	grid-row-gap: 0px;*/
	font-weight: bold;
	padding: 0 60px 0 0;
	margin: 0 0 55px auto;
}

#service section.recruit .parent01 .div1 { grid-area: 1 / 1 / 2 / 2; background: #0068B6; color: #fff; padding: 10px;}
#service section.recruit .parent01 .div2 { grid-area: 1 / 2 / 3 / 4; overflow: hidden;}
#service section.recruit .parent01 .div3 { grid-area: 2 / 1 / 4 / 2; overflow: hidden;}
#service section.recruit .parent01 .div4 { grid-area: 3 / 2 / 4 / 3; background: #00B2EB; color: #fff; text-align: right; padding: 10px; display: flex; justify-content: end; align-items: end;}
#service section.recruit .parent01 .div5 { grid-area: 3 / 3 / 4 / 4; }

#service section.recruit .parent02 {
	max-width: 642px;
	width: 100%;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	grid-template-rows: repeat(3, 1fr);
	gap: 0.93%;
	/*grid-column-gap: 0px;
	grid-row-gap: 0px;*/
	font-weight: bold;
	padding: 0 0 0 60px;
}
	
#service section.recruit .parent02 .div1 { grid-area: 1 / 1 / 2 / 3; }
#service section.recruit .parent02 .div2 { grid-area: 1 / 3 / 2 / 4; display: flex; align-items: end; background: #B49B56; color: #fff; padding: 10px;}
#service section.recruit .parent02 .div3 { grid-area: 2 / 1 / 3 / 2; }
#service section.recruit .parent02 .div4 { grid-area: 3 / 1 / 4 / 2; display: flex; justify-content: end; align-items: end; background: #00B2EB; color: #fff; text-align: right; padding: 10px;}
#service section.recruit .parent02 .div5 { grid-area: 2 / 2 / 4 / 4; overflow: hidden;}

#service section.recruit div[class^="parent0"] div {
	width: auto;
	padding: 0;
}

#service section.recruit div[class^="parent0"] div img {
	width: 100%;
}

#service section.recruit > .w50per .right h2 {
	max-width: 560px;
	display: inline-block;
	font-size: 132px;
	color: #00B2EB;
	text-align: right;
	margin: 180px 0 70px 85px;
	padding: 0;
}

#service section.recruit > .w50per .right h2 span {
	color: #363636;
	font-size: 20px;
	font-weight: bold;
	font-family: 'FontSetM';
}

#service section.recruit > .w50per .right h3 {
	max-width: 560px;
	color: #0068B6;
	text-align: right;
	margin: 0 0 55px 85px;
}

#service section.recruit > .w50per .right h3 span {
	margin-right: 40px;
}

#service section.recruit > .w50per .right p {
	max-width: 560px;
	margin: 0 0 55px 85px;
}

#service section.recruit > .w50per > div.left {
	padding: 0;
}

#service section.recruit > .w50per > div.left::before{
	content: "";
	background: none;
}

#service section.recruit > .w50per > .left p {
	max-width: 560px;
	color: #000;
	margin: 0 85px 55px auto;
}

#service section.recruit > .w50per > .left a {
	color: #fff;
	margin: 15px 145px 0 auto;
	background: linear-gradient(to right, #0068B6 0%, #00B2EB 50%, #0068B6);
	background-size: 200% auto;
	font-size: 24px;
}

#service section.recruit > .w50per > .left a:before {
	border: 1px solid #fff;
}

#service section.recruit > .w50per > .left a:after {
	content: "↓";
	right: 38px;
}

#service section.recruit > .w50per > .left a:hover {
	background-position: 100% 0;
}

#service section.recruit ul {
	max-width: 480px;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	margin: 0 0 55px 135px;
	color: #0068B6;
}

#service section.recruit ul li {
	width: 127px;
	height: 127px;
	border: 1px solid #0068B6;
	border-radius: 100%;
	display: flex;
	justify-content: center;
	font-size: 24px;
	flex-wrap: wrap;
	padding: 25px 10px 10px 10px;
	text-align: center;
	line-height: 1.2;
	font-weight: bold;
	position: relative;
}

#service section.recruit ul li:last-child {
	padding: 10px;
	align-items: center;
}

#service section.recruit ul li span {
	display: block;
	width: 100%;
	font-size: 18px;
	font-weight: normal;
	position: absolute;
	bottom: 13px;
}

#service section.company {
	margin: 0 0 150px;
}

#service section.company:before {
	display: none !important;
}

#service section.company > .w50per > div h2 span {
	font-size: 20px;
	text-align: right;
	font-weight: bold;
}

#service section.company > .w50per > div:nth-of-type(1) {
	background: url(/images/service_company_bg.png) center no-repeat;
	background-size: cover;
	display: flex;
	align-items: end;
	justify-content: end;
}

#service section.company > .w50per > div:nth-of-type(2) {
	color: #fff;
	padding: 142px 0 120px;
}

#service section.company dl {
	max-width: 522px;
	/* margin: 0 0 160px auto; */
	margin: 0 auto 80px 165px;
	display: flex;
	flex-wrap: wrap;
}

#service section.company dt {
	width: 25%;
	padding: 0 45px 40px 0;
}

#service section.company dd {
	width: 75%;
	border-left: 1px solid #fff;
	padding: 0 0 40px 40px;
}

#service section.company dd li {
	list-style: disc;
	padding: 0 0 0 10px;
	margin: 0 0 10px;
}

/*==================
*
* Group
*
*===================*/

#group section{
	margin: 180px auto 200px;
}

#group section > div {
	clear: both;
	overflow: hidden;
	max-width: 1330px;
    margin: 0 auto;
}

#group section > div div:first-of-type {
	float: right;
	max-width: 500px;
    width: 38.76%;
}

#group section > div div:nth-of-type(2) {
	float: left;
	max-width: 688px;
    width: 53.33%;
}

#group section > div div:nth-of-type(2) img {
	width: 100%;
}

#group section > div div:nth-of-type(3) {
	float: right;
	max-width: 500px;
    width: 38.76%;
}

#group section > div h2 {
    font-size: 132px;
    color: #0068B6;
	text-align: right;
	margin: 0 0 0 auto;
}

#group section > div h2 span {
	display: block;
	text-align: right;
	font-size: 20px;
	font-weight: bold;
	font-family: 'FontSetM';
	color: #000;
}

#group section a {
	width: 100%;
	font-size: 24px;
	margin: 50px 0 0 auto;
}

/*==================
*
* Access
*
*===================*/

.access {
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	flex-direction: row-reverse;
	margin: 0 0 200px;
}

.access > div {
	width: 50%;
}

.access > div:nth-of-type(2) {
	max-width: 645px;
}

.access > div.map {
	position: relative;
	height: 0;
	padding-top: 30.25%;
	overflow: hidden;
}

.access > div.map iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: calc(100% + 182px);
	margin-top: -170px;
	-webkit-filter: grayscale(100%);
	-moz-filter: grayscale(100%);
	-ms-filter: grayscale(100%);
	-o-filter: grayscale(100%);
	filter: grayscale(100%);
}

.access > div h2 {
	font-size: 132px;
	color: #0068B6;
	/*margin: 100px 0 100px 180px;*/
	margin: 100px 0 100px;
	max-width: 465px;
}

.access > div h2 span {
	display: block;
	text-align: right;
	font-size: 20px;
	color: #000;
	/* font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif; */
	/* font-family: Verdana, Roboto, “Droid Sans”, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", “Hiragino Kaku Gothic ProN”, "ＭＳ Ｐゴシック", sans-serif;} */
	font-weight: bold;
	font-family: 'FontSetM';
}

.access > div ul {
	max-width: 465px;
}

.access > div li {
	margin: 0 0 20px;
}

/*==================
*
* Contact
*
*===================*/

#contact .contact_inner {
	background: #0068B6;
	padding: 120px 0 200px;
	margin: 0 0 260px;
}

#contact h2 {
    max-width: 1290px;
    font-size: 132px;
    color: #fff;
    text-align: right;
    margin: 0 auto;
}

#contact h2 span {
	display: block;
	color: #fff;
    font-size: 20px;
	font-weight: bold;
    font-family: 'FontSetM';
}

#contact sup {
	color: #D80000;
}

#contact .contact_area {
	position: relative;
	max-width: 1290px;
	background: #fff;
	color: #363636;
	padding: 100px 14.81% 140px 8.22%;
	margin: 36px auto 0;
	z-index: 1;
}

#contact .contact_area:before {
	content: "";
	background: #fff;
	position: absolute;
	top: 0;
	right: 0;
	width: 100vw;
	height: 100%;
    margin-left: calc(50% - 50vw);
	z-index: -1;
}

#contact .contact_area dl {
	margin: 50px 0 0;
}

#contact .contact_area dl dt {
	font-size: 22px;
    font-weight: bold;
    margin: 0 0 30px;
}

#contact .contact_area dl dd {
	clear: both;
	overflow: hidden;
	font-size: 22px;
	padding: 0 0 20px;
	margin: 0 0 60px;
	border-bottom: 1px solid #0068B6;
}

#contact .contact_area dl dd:last-of-type {
	margin: 0 0 160px;
}

#contact .contact_area dl dd div {
	display: flex;
    align-items: center;
	float: left;
}

#contact .contact_area dl dd div:first-of-type {
	padding: 0 22% 0 0;
}

#contact ::placeholder {
	color: #AEAEAE;
}

#contact textarea {
	height: 180px;
}

#contact input[type="text"],
#contact input[type="mail"],
#contact textarea {
	width: 100%;
	outline: 0;
}

#contact .contact_area dl dd div:nth-of-type(2) label {
	margin: 0 15px 0 60px;
}

#contact .contact_area dl dd div label {
	display: flex;
    vertical-align: middle;
	margin: 0 0 0 37px;
}

#contact .contact_area dl dd div input {
    display: none;
}

.radio__text {
    position: relative;
    cursor: pointer;
}

/* ラジオボタンデザイン▼ */
.radio__text::before {
    content: '';
    display: block; 
    border-radius: 50%;
	border: 1px solid #AEAEAE;
    width: 27px;
    height: 27px;
    position: absolute;
    top: 50%;
    left: -37px;
    transform: translateY(-50%);
}

.radio__text::after {
    content: '';
    display: block;
    border-radius: 50%;
    width: 13px;
    height: 13px;
    background-color: #AEAEAE;
    position: absolute;
    top: 50%;
    left: -30px;
    transform: translateY(-50%);
}

#contact input[type="radio"]:checked +.radio__text::after {
    background-color: #0068B6;
}
/* ラジオボタンデザイン▲ */

#contact input[type="text"]:focus,
#contact input[type="mail"]:focus,
#contact textarea:focus {
	border: none;
	color: #000;
}

#contact .check_area {
	font-size: 24px;
	text-align: center;
	color: #363636;
	margin: 0 0 55px;
}

/* チェックボックスデザイン▼ */
#contact input[type="checkbox"] {
    cursor: pointer;
    padding-left: 30px;
    vertical-align: middle;
    position: relative;
}
 
#contact input[type="checkbox"]::before,
#contact input[type="checkbox"]::after {
    content: "";
    display: block; 
    position: absolute;
}
 
#contact input[type="checkbox"]::before {
    background-color: #fff;
    border-radius: 0%;
    border: 1px solid #707070;
    width: 21px;
    height: 21px;
    transform: translateY(-50%);
    top: 50%;
    left: 5px;
}
 
#contact input[type="checkbox"]::after {
	border-bottom: 2px solid #707070;
    border-left: 2px solid #707070;
    opacity: 0;
    height: 6px;
    width: 11px;
    transform: rotate(-45deg);
    top: -4px;
    left: 10px;
	bottom: 0;
	margin: auto 0;
}
 
#contact input[type="checkbox"]:checked::after {
    opacity: 1;
}
/* チェックボックスデザイン▲ */

#contact .check_area a {
	color: #0068B6;
	text-decoration: underline;
}

#contact .submit-area {
	transition: all .4s ease-out;
	padding: 0;
}

#contact .submit-area input {
	position: relative;
	width: 100%;
	height: 100%;
	font-size: 24px;
	padding: 23px 0;
	cursor: pointer;
	z-index: 1;
}

#contact .submit-area:before {
	width: 50px;
	height: 50px;
}

#contact .submit-area:after {
	font-size: 24px;
}

/*==================
*
* Footer
*
*===================*/
footer {
	width: 100%;
}

footer section {
	display: flex;
	flex-wrap: wrap;
	max-width: 1290px;
	margin: 0 auto 10px;
}

footer section > div {
	width: 50%;
	display: flex;
	align-items: start;
	flex-wrap: wrap;
}

footer section > div:last-child {
	justify-content: end;
}

footer section > div img {
	max-width: 100%;
}

footer section > div li {
	width: 100%;
	margin: 0 0 10px;
}

footer section > div li a:hover {
	opacity: .6;
}

footer > div {
	background: #000;
	width: 100%;
	padding: 10px 0;
}

footer section > div li a {
	display: block;
	width: 100%;
    color: #0068B6;
    text-decoration: underline;
	padding: 0 25px 0 0;
	/*background: url(/images/icon_external-link.png) right center no-repeat;*/
	font-size: 14px;
}

footer > div p {
	max-width: 1290px;
	text-align: right;
	color: #fff;
	font-size: 14px;
	margin: 0 auto;
	padding: 0 20px;
}

@media screen and (min-width: 1051px) {
	header nav {
		display: block !important;
	}

}

@media screen and (max-width: 1700px) {
	#service section.deep > .w50per > div:nth-of-type(1) {
    background: url(/images/service_deep_bg.jpg) right no-repeat;
    background-size: cover;
    display: flex;
    align-items: end;
    justify-content: start;
}

#service section > .w50per > div h2 {
	font-size: 160px;
	font-size: 9vw;
	margin: 0 0 100px 0;
	padding: 0 20px;
}

}

@media screen and (max-width: 1500px) {
	#service section.data > .w50per > div:nth-of-type(1) {
    background: url(/images/service_data_bg.jpg) center no-repeat;
    background-size: cover;
    display: flex;
    align-items: end;
    justify-content: flex-start;
}

#service section > .w50per > div h2 {
	font-size: 9vw;
	margin: 0 60px 100px 0;
	padding: 0 0 0 20px;
}

#service section > .w50per > div h2 span {
	color: #fff;
	display: block;
	font-size: 4vw;
}

}

@media screen and (max-width: 1400px) {
	#about {
    width: 100%;
    background: #fff;
    padding: 140px 20px;
}

#about section {
	max-width: 1375px;
	margin: 0 auto;
	/* position: relative; */
	/* padding: 93px 0 0 0; */
	overflow: hidden;
	position: relative;
}

#about section h2 {
	color: #0068B6;
	font-size: 132px;
	font-size: 10vw;
	margin: 0 0 97px;
	max-width: 448px;
	width: 36%;
	float: none;
	padding: 90px 0 0 0;
}

#about section img {
	max-width: 100%;
	width: 52%;
	position: absolute;
	top: 0;
	right: 0;
	float: none;
}

#about section div {
	max-width: 448px;
	width: 36%;
}

#group section > div {
	padding: 0 20px;
}

#group section > div h2 {
	font-size: 10vw
}

.access > div:nth-of-type(2) {
	padding: 0 20px;
}

.access > div h2 {
	font-size: 132px;
	color: #0068B6;
	font-size: 10vw;
	/*margin: 100px 0 100px 180px;
	margin: 3vw 0 100px 25%;*/
	/*max-width: 465px;
	width: 71%;*/
	margin: 3vw 0 100px 0;
	max-width: 475px;
    width: 78.51%;
}

.access > div ul {
	/*margin: 0 0 0 25%;*/
	max-width: 465px;
}

#contact h2 {
	font-size: 10vw;	
}

#contact .contact_inner {
	padding: 120px 20px 200px;
}

footer section {
	display: flex;
	flex-wrap: wrap;
	max-width: 1290px;
	margin: 0 auto;
	padding: 0 20px;
}

}

@media screen and (max-width: 1300px) {
	#service section:nth-of-type(odd) > .w50per > div:nth-of-type(2) {
    padding: 283px 20px 283px 0;
}

#service section.data > img {
	position: absolute;
	top: 15px;
	top: 1%;
	/* left: 32%; */
	right: 37%;
	z-index: 9;
	max-width: 100%;
	/* width: 30%; */
}

#service section:nth-of-type(odd) > .w50per > div h3 {
	max-width: 600px;
	width: 70%;
	margin: 0 auto 60px;
	font-weight: bold;
	font-size: 3vw;
}

#service section > .w50per > div p {
	max-width: 490px;
	width: 100%;
	margin: 0 auto;
	padding: 0 20px;
	line-height: 2em;
}
  
#service section > .w50per > div p2 {
	max-width: 490px;
	width: 100%;
	margin: 0 auto;
	padding: 0 20px;
	line-height: 2em;
}

#service section.drone > img {
	position: absolute;
	top: 55px;
	top: 6%;
	left: inherit;
	right: 30%;
	z-index: 9;
}

#service section.drone .info h4 {
	font-size: 3.5vw;
}

#service section.drone .info .flow a {
	padding: 21px 80px 21px 20px;
}

#service section:nth-of-type(even) > .w50per > div h3 {
	max-width: 490px;
	width: 100%;
	/* margin: 0 0 60px 165px; */
	margin: 0 auto 60px;
	font-weight: bold;
	font-size: 3vw;
	padding: 0 20px;
}

#service section:nth-of-type(even) > .w50per > div h4 {
	max-width: 490px;
	width: 100%;
	margin: 60px auto 0;
	font-size: 2.5vw;
	padding: 0 20px;
}

#service section:nth-of-type(even) > .w50per > div h4 span {
	font-size: 1.7vw;
}

#service section:nth-of-type(even) > .w50per > div a {
    max-width: 490px;
	margin: 20px auto 0;
	padding: 21px 90px 21px 20px;
    line-height: 1.5;
}

#service section.deep > img {
	position: absolute;
	top: 33px;
	top: 2%;
	left: inherit;
	right: 20%;
	z-index: 9;
	width: 48%;
}

#service section.recruit .parent01,
#service section.recruit .parent02 {
	max-width: 550px;
	font-size: 1.4vw;
    padding: 0 20px;
    margin: 0 auto 55px;
}

#service section.recruit > .w50per .right h2 {
	font-size: 9vw;
}

#service section.recruit > .w50per .right h3 {
	font-size: 3vw;
}

#service section.recruit > .w50per .right h3,
#service section.recruit > .w50per .right p,
#service section.recruit > .w50per .left h3,
#service section.recruit > .w50per .left p {
	max-width: 490px;
	margin: 0 auto 55px;
}

#service section.recruit > .w50per .left a {
	width: 100%;
	padding: 24px 0;
}

#service section.recruit ul {
	max-width: 480px;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	color: #0068B6;
	margin: 0 auto 55px;
	padding: 0 20px;
}


#group section a {
	padding: 21px 90px 21px 20px;
	line-height: 1.5;
}



}

@media screen and (max-width: 1050px) {
	header {
    padding: 20px;
    background: #000;
    /* position: sticky; */
		position: fixed;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    top: 0;
    z-index: 100;
		width: 100%;
		min-height: 80px;
}

	header .barger {
		display: block;
		width: 40px;
		height: 40px;
		position: relative;
	}

	header .barger span {
		display: block;
    width: 100%;
    height: 3px;
    background: #fff;
    position: absolute;
    left: 50%;
    transform: translate(-50%, 0);
    transition: all .4s ease;
	}

	header .barger span:nth-of-type(1) {
    top: 8px;
}
header .barger span:nth-of-type(2) {
	top: 17px;
}
header .barger span:nth-of-type(3) {
	top: 26px;
}

header.onNav .barger span:nth-of-type(1) {
	transform: rotate(45deg);
	left: 3px;
	top: 19px;
}
header.onNav .barger span:nth-of-type(2) {
	/* display: none; */
	/* transform: translate(100px,0); */
	opacity: 0;
}
header.onNav .barger span:nth-of-type(3) {
	transform: rotate(-45deg);
	left: 3px;
	top: 19px;
}


header nav {
	position: absolute;
	top: 100%;
	right: -70%;
	width: 70%;
	background: rgba(0, 104, 182, .8);
	opacity: 0;
	transition: all .4s ease;
	height: calc(100vh - 80px);
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
}

header.onNav nav {
	position: absolute;
	top: 100%;
	right: 0%;
	width: 70%;
	background: rgba(0, 104, 182, .8);
	opacity: 1;
}

	header.onNav nav {
		display: block;
	}

	header nav ul {
    display: block;
    padding: 20px 0 20px 20px;
    justify-content: space-between;
}

header nav ul li {
	margin: 0 0 15px;
}

header nav ul li a {
	display: block;
	width: 100%;
	color: #fff;
	padding: 0 0 10px;
	border-bottom: 1px solid #fff;
}

header nav ul:last-child {
	display: block;
	padding: 20px;
}

header nav ul:last-child a {
	border-bottom: none;
	/*background: url(/images/icon_external-linkF.png) right center no-repeat;*/
	padding: 0 25px 0 0;
	background-size: 14px;
	font-size: 14px;
}

#mv .logo img {
	max-width: 436px;
	width: 50%;
}

#mv .scroll {
	position: absolute;
	left: 50%;
	bottom: 10px;
	transform: translate(-50%, 0);
	width: 74px;
	z-index: 50;
}

#service section.data > img {
	position: absolute;
	top: 15px;
	top: 5%;
	/* left: 32%; */
	right: 40%;
	z-index: 9;
	max-width: 100%;
	width: 50%;
}

#service section.drone > img {
	position: absolute;
	top: 55px;
	top: 6%;
	left: inherit;
	right: 30%;
	z-index: 9;
	width: 60%;
}

#service section.company dl {
	max-width: 522px;
	margin: 0 0 160px auto;
	display: flex;
	flex-wrap: wrap;
	padding: 0 20px;
}

#service section.company a {
	display: block;
	max-width: 500px;
	width: 85%;
	text-align: center;
	color: #fff;
	font-size: 24px;
	background: linear-gradient(to right, #0068B6 0%, #00B2EB 50%, #0068B6);
	position: relative;
	padding: 25px 0;
	margin: 0 auto;
	background-size: 200% auto;
}

}

@media screen and (max-width: 900px) {
	#service section:nth-of-type(odd) > .w50per > div h3 {
    max-width: 600px;
    width: 80%;
    margin: 0 auto 60px auto;
    font-weight: bold;
    font-size: 3vw;
    padding: 0 20px;
}

#service section > .w50per > div p {
    max-width: 440px;
    width: 100%;
    margin: 0 auto;
    padding: 0 20px;
		line-height: 2em;
}
  
#service section > .w50per > div p2 {
    max-width: 440px;
    width: 100%;
    margin: 0 auto;
    padding: 0 20px;
		line-height: 2em;
}

#service section.deep > img {
	position: absolute;
	top: 33px;
	top: 5%;
	left: inherit;
	right: 20%;
	z-index: 9;
	width: 48%;
}

#service section.company a {
	display: block;
	max-width: 500px;
	width: 85%;
	text-align: left;
	color: #fff;
	font-size: 24px;
	background: linear-gradient(to right, #0068B6 0%, #00B2EB 50%, #0068B6);
	position: relative;
	padding: 25px 10px;
	margin: 0 auto;
	background-size: 200% auto;
}

#service section.company a:before {
	content: "";
	display: block;
	width: 50px;
	height: 50px;
	border-radius: 100%;
	border: 1px solid #fff;
	top: 50%;
	right: 10px;
	transform: translate(0, -50%);
	position: absolute;
}

#service section.company a:after {
	content: "→";
	display: block;
	top: 50%;
	right: 24px;
	transform: translate(0, -50%);
	position: absolute;
}

#service section.recruit ul li {
	width: 100px;
	height: 100px;
	border: 1px solid #0068B6;
	border-radius: 100%;
	display: flex;
	justify-content: center;
	font-size: 18px;
	flex-wrap: wrap;
	padding: 25px 10px 10px 10px;
	text-align: center;
	line-height: 1.2;
	font-weight: bold;
	position: relative;
}

#service section.recruit ul li span {
	display: block;
	width: 100%;
	font-size: 14px;
	font-weight: normal;
	position: absolute;
	bottom: 13px;
}

}

/*==================
*
* Privacy
*
*===================*/
#privacy {
	background: #0068B6;
	padding: 0 0 200px;
	margin: 80px auto 260px;
}

#privacy h2 {
    max-width: 1290px;
    font-size: 132px;
    color: #fff;
    text-align: right;
    margin: 100px auto 0;
}

#privacy h2 span {
    display: block;
    color: #fff;
    font-size: 20px;
    font-weight: bold;
    font-family: 'FontSetM';
}

#privacy h3 {
    display: flex;
    align-items: center;
    height: 60px;
    color: #0068B6;
    font-size: 22px;
    font-weight: bold;
    border-left: 2px solid #0068B6;
    padding: 0 0 0 22px;
    margin: 0 0 15px;
}

#privacy .pan {
    max-width: 1290px;
    padding: 10px 0 0;
    margin: 0 auto;
}

#privacy .pan ul {
	display: flex;
    justify-content: flex-end;
}

#privacy .pan ul li {
	color: #fff;
	font-size: 14px;
}

#privacy .pan ul li:not(:last-child)::after {
	content: "/";
	margin: 0 5px;
}

#privacy .content_area {
    position: relative;
    max-width: 1290px;
    background: #fff;
    padding: 120px 11.16% 110px 11.16%;
    margin: 36px auto 0;
    z-index: 1;
}

#privacy .content_area:before {
    content: "";
    background: #fff;
    position: absolute;
    top: 0;
    right: 0;
    width: 100vw;
    height: 100%;
    margin-left: calc(50% - 50vw);
    z-index: -1;
}

#privacy .content_area p,
#privacy .content_area ol {
	margin: 0 0 50px;
}

#privacy .content_area ol li {
    padding-left: 1.7em;
    text-indent: -1.7em;
}

#privacy .content_area a {
	color: #0068B6;
    text-decoration: underline;
}

@media screen and (max-width: 1400px) {
#privacy {
	padding: 0 20px 200px;
}

#privacy h2 {
	font-size: 10vw;
}
}

/*==================
*
* NEWS
*
*===================*/
.news .inner {
	display: flex;
	-webkit-box-pack: justify;
	justify-content: space-between;
	margin: 0 0 200px;
	max-width: 1330px;
	margin: 25px auto 0;
	padding: 0 0 185px;
}
.news h2 {
	font-size: 132px;
	color: #0068B6;
}
.news h2 span {
	display: block;
	text-align: right;
	font-size: 20px;
	color: #000;
	font-weight: bold;
	font-family: 'FontSetM';
}
.news_list {
	margin: 0 0 0 14.66%;
}
.news_list a:hover dl {
	background: #f2f7fb;
}
.news_list dl {
	width: 1060px;
	padding: 45px 0 20px 0;
	border-bottom: 1px solid #0068b6;
}
.news_list a:first-child dl {
	padding-top: 20px;
}
.news_list dl dt {
	width: 745px;
	padding: 0 0 0 15px;
	color: #0068b6;
	line-height: 1;
}
.news_list dl dt span.new-tag {
	display: inline-block;
	margin-left: 16px;
	padding: 5px 2em 3px;
	text-align: center;
	color: #fff;
	background: #de1818;
}
.news_list dl dd {
	position: relative;
	width: 745px;
	padding: 0 0 0 15px;
}
.news_list dl dd:before {
	  content: "";
	  display: block;
	  width: 44px;
	  height: 44px;
	  border-radius: 100%;
	  border: 1px solid #0068b6;
	  top: 30%;
	  right: 0;
	  transform: translate(0, -50%);
	  position: absolute;
}
.news_list dl dd:after {
	  content: "→";
	  display: block;
	  top: 30%;
	  right: 15px;
	  transform: translate(0, -50%);
	  position: absolute;
	  font-size: 18px;
	  color: #0068b6;
}
.news_list dl dd p {
	margin-top: 25px;
	padding-right: 64px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.news_more {
	width: 745px;
	text-align: right;
	margin-top: 25px;
}
.news_more a {
	position: relative;
	padding-right: 45px;
}
.news_more a:before {
	  content: "";
	  display: block;
	  width: 25px;
	  height: 25px;
	  border-radius: 100%;
	  border: 1px solid #0068b6;
	  top: 49%;
	  right: 0;
	  transform: translate(0, -50%);
	  position: absolute;
}
.news_more a:after {
	  content: "→";
	  display: block;
	  top: 49%;
	  right: 7px;
	  transform: translate(0, -50%);
	  position: absolute;
	  font-size: 12px;
	  color: #0068b6;
}
.news_more a:hover:before {
	background: #f2f7fb;
}
@media screen and (max-width: 1400px) {
	.news h2 {
		font-size: 10vw;
	}
}
@media screen and (max-width: 1330px) {
	.news .inner {
		padding: 0 0 185px 20px;
	}
	.news_list {
		margin-left: 1em;
		width: 56.01%;
	}
	.news_list dl {
		width: 100%;
		padding-right: 20px;
	}
	.news_list dl dt,
	.news_list dl dd {
		width: 100%;
	}
	.news_more {
		width: 100%;
		padding-right: 20px;
	}
}

/*==================
  *
  * NewsArchive
  *
  *===================*/
  #news_archive {
    background: #0068B6;
    padding: 0 0 200px;
    margin: 80px auto 260px;
}

#news_archive h2 {
    max-width: 1290px;
    font-size: 132px;
    color: #fff;
    text-align: right;
    margin: 100px auto 0;
}

#news_archive h2 span {
    display: block;
    color: #fff;
    font-size: 20px;
    font-weight: bold;
    font-family: 'FontSetM';
}

#news_archive .pan {
    max-width: 1290px;
    padding: 10px 0 0;
    margin: 0 auto;
}

#news_archive .pan ul {
    display: flex;
    justify-content: flex-end;
}

#news_archive .pan ul li {
    color: #fff;
    font-size: 14px;
}

#news_archive .pan ul li:not(:last-child)::after {
    content: "/";
    margin: 0 5px;
}

#news_archive .content_area {
    position: relative;
    max-width: 1290px;
    background: #fff;
    padding: 120px 7.81% 110px;
    margin: 36px auto 0;
    z-index: 1;
}

#news_archive .content_area:before {
    content: "";
    background: #fff;
    position: absolute;
    top: 0;
    right: 0;
    width: 100vw;
    height: 100%;
    margin-left: calc(50% - 50vw);
    z-index: -1;
}

@media screen and (max-width: 1400px) {
#news_archive {
    padding: 0 20px 200px;
}

#news_archive h2 {
    font-size: 10vw;
}
}

#news_archive .news_archive a:hover dl {
	background: #f2f7fb;
}
#news_archive .news_archive dl {
	display: flex;
	padding: 50px 15px 50px 0;
	border-bottom: 1px solid #0068b6;
	align-items: center;
	justify-content: space-between;
}
#news_archive .news_archive dl dt {
	width: 27.45%;
	padding: 0 0 0 15px;
	color: #0068b6;
	line-height: 1;
	width: 280px;
}
#news_archive .news_archive dl dt span.new-tag {
	display: inline-block;
	margin-left: 16px;
	padding: 5px 2em 3px;
	text-align: center;
	color: #fff;
	background: #de1818;
}
#news_archive .news_archive dl dd {
	position: relative;
	width: 72.55%;
	flex: 1;
}
#news_archive .news_archive dl dd:before {
	  content: "";
	  display: block;
	  width: 44px;
	  height: 44px;
	  border-radius: 100%;
	  border: 1px solid #0068b6;
	  top: 50%;
	  right: 0;
	  transform: translate(0, -50%);
	  position: absolute;
}
#news_archive .news_archive dl dd:after {
	  content: "→";
	  display: block;
	  top: 50%;
	  right: 15px;
	  transform: translate(0, -50%);
	  position: absolute;
	  font-size: 18px;
	  color: #0068b6;
}
#news_archive .news_archive dl dd p {
	padding-right: 22.85%;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.news_pagenation {
    margin-top: 100px;
    /* text-align: center; */
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.news_pagenation a {
    display: block;
    margin: 0 25px;
    padding: 0 0.5em;
    color: #0068b6;
    background: linear-gradient(to right, #0068B6 0%, #00B2EB 50%, #0068B6);
    background-size: 200% auto;
    font-size: 24px;
    width: 200px;
    padding: 20px 0;
    text-align: center;
    color: #fff;
    position: relative;
    margin: 0 0 0 auto;
}
.news_pagenation a:before {
    content: "";
    display: block;
    width: 44px;
    height: 44px;
    border-radius: 100%;
    border: 1px solid #fff;
    top: 50%;
    right: 12px;
    transform: translate(0, -50%);
    position: absolute;
}

.news_pagenation a:after {
    content: "→";
    display: block;
    top: 50%;
    right: 24px;
    transform: translate(0px, -50%);
    position: absolute;
    font-size: 18px;
}

.news_pagenation a.prev {
margin: 0 auto 0 0;
}

.news_pagenation a.prev:before {
    content: "";
    display: block;
    width: 44px;
    height: 44px;
    border-radius: 100%;
    border: 1px solid #fff;
    top: 50%;
    left: 12px;
    right: inherit;
    transform: translate(0, -50%);
    position: absolute;
}

.news_pagenation a.prev:after {
    content: "←";
    display: block;
    top: 50%;
    left: 24px;
    right: inherit;
    transform: translate(0px, -50%);
    position: absolute;
    font-size: 18px;
}

.news_pagenation a:hover {
	background-position: 100% 0;
}

.news_pagenation a.next:hover {
	background-position: -100% 0;
}

@media screen and (max-width: 1330px) {
	#news_archive .news_archive dl dd {
		width: 58.55%;
	}
}
@media screen and (max-width: 980px) {
	#news_archive .news_archive dl dd {
		width: 53.55%;
	}
}

/*==================
  *
  * NewsPage
  *
  *===================*/
  #news_page {
    background: #0068B6;
    padding: 0 0 200px;
    margin: 80px auto 260px;
}

#news_page h2 {
    max-width: 1290px;
    font-size: 132px;
    color: #fff;
    text-align: right;
    margin: 100px auto 0;
}

#news_page h2 span {
    display: block;
    color: #fff;
    font-size: 20px;
    font-weight: bold;
    font-family: 'FontSetM';
}

#news_page .pan {
    max-width: 1290px;
    padding: 10px 0 0;
    margin: 0 auto;
}

#news_page .pan ul {
    display: flex;
    justify-content: flex-end;
}

#news_page .pan ul li {
    color: #fff;
    font-size: 14px;
}

#news_page .pan ul li:not(:last-child)::after {
    content: "/";
    margin: 0 5px;
}

#news_page .content_area {
    position: relative;
    max-width: 1290px;
    background: #fff;
    padding: 120px 7.81% 110px;
    margin: 36px auto 0;
    z-index: 1;
}

#news_page .content_area:before {
    content: "";
    background: #fff;
    position: absolute;
    top: 0;
    right: 0;
    width: 100vw;
    height: 100%;
    margin-left: calc(50% - 50vw);
    z-index: -1;
}

@media screen and (max-width: 1400px) {
	#news_page {
		padding: 0 20px 200px;
	}
	
	#news_page h2 {
		font-size: 10vw;
	}
}

#news_page .news_page dl {
	padding: 0 15px;
	border-bottom: 1px solid #0068b6;
}
#news_page .news_page dl dt {
	color: #0068b6;
	line-height: 1;
}
#news_page .news_page dl dt span.new-tag {
	display: inline-block;
	margin-left: 16px;
	padding: 5px 2em 3px;
	text-align: center;
	color: #fff;
	background: #de1818;
}
#news_page .news_page dl dd {
	position: relative;
}
#news_page .news_page dl dd h3 {
	padding: 30px 0 50px;
	color: #000;
	font-size: 22px;
	font-weight: bold;
}
#news_page .news_page .news_detail {
	padding: 50px 15px 0;
}
#news_page .news_page .news_detail > * {
	margin-bottom: 50px;
}
#news_page .news_page .news_detail > *:last-child {
	margin-bottom: 0;
}
#news_page .news_page .news_detail p {
	line-height: 2;
}
#news_page .news_page .news_detail a {
	color: #0068B6;
	text-decoration: underline;
}
#news_page .news_page .news_detail .news_img {
	display: flex;
	justify-content: center;
}
#news_page .news_page .news_detail .news_img div {
	width: 48.88%;
}
#news_page .news_page .news_detail .news_img div + div {
	margin-left: 2.24%;
}
.news_link {
	display: flex;
	justify-content: space-between;
	width: 500px;
	margin: 100px auto 0;
}
.news_link li a {
	position: relative;
	color: #0068B6;
}
.news_link li a:hover {
	opacity: 0.5;
}
.news_link li.news_link_prev a {
	padding: 0 0 0 60px;
}
.news_link li.news_link_prev a:before {
	content: "";
	display: block;
	width: 44px;
	height: 44px;
	border-radius: 100%;
	border: 1px solid #0068b6;
	top: 49%;
	left: 0;
	transform: translate(0, -50%);
	position: absolute;
}
.news_link li.news_link_prev a:after {
	content: "←";
	display: block;
	top: 49%;
	left: 14px;
	transform: translate(0, -50%);
	position: absolute;
	font-size: 16px;
	color: #0068b6;
}
.news_link li.news_link_next a {
	padding: 0 60px 0 0;
}
.news_link li.news_link_next a:before {
	content: "";
	display: block;
	width: 44px;
	height: 44px;
	border-radius: 100%;
	border: 1px solid #0068b6;
	top: 49%;
	right: 0;
	transform: translate(0, -50%);
	position: absolute;
}
.news_link li.news_link_next a:after {
	content: "→";
	display: block;
	top: 49%;
	right: 14px;
	transform: translate(0, -50%);
	position: absolute;
	font-size: 16px;
	color: #0068b6;
}
.btn_back {
	width: 500px;
	margin: 75px auto 0;
}
.btn_back a {
    width: 100%;
    font-size: 24px;
    margin: 0 0 0 auto;
}


/*--------------------------------
アニメーション フェードイン
--------------------------------*/

.js-fade, .js-fade-pb,
.js-fade-b, .js-fade-b-pb,
.js-fade-l, .js-fade-l-pb,
.js-fade-r, .js-fade-r-pb {
	opacity: 0;
}

/* アニメーション その場でフェードイン */
.js-fade.scroll, .js-fade-pb.scroll {
	animation: fadeIn .5s forwards;
}

@keyframes fadeIn {
	from {
	  opacity: 0;
	}
	to {
	  opacity: 1;
	}
  }

/* アニメーション 下からフェードイン */
.js-fade-b.scroll, .js-fade-b-pb.scroll {
	animation: fadeIn-b 1s forwards;
}

@keyframes fadeIn-b {
	from {
	  transform: translateY(50px);
	  opacity: 0;
	}
	to {
	  transform: translateY(0px);
	  opacity: 1;
	}
  }

/* アニメーション 左からフェードイン */
.js-fade-l.scroll, .js-fade-l-pb.scroll {
	animation: fadeIn-l 1s forwards;
}

@keyframes fadeIn-l {
	from {
	  transform: translateX(-80px);
	  opacity: 0;
	}
	to {
	  transform: translateX(0px);
	  opacity: 1;
	}
  }

/* アニメーション 右からフェードイン */
.js-fade-r.scroll, .js-fade-r-pb.scroll {
	animation: fadeIn-r 1s forwards;
}

@keyframes fadeIn-r {
	from {
	  transform: translateX(80px);
	  opacity: 0;
	}
	to {
	  transform: translateX(0px);
	  opacity: 1;
	}
  }

/*--------------------------------
アニメーション スライドイン
--------------------------------*/

/* アニメーション 右からスライドイン */
#service section.animation-bg.active:nth-of-type(odd) > .w50per > div:nth-of-type(2):before{
	display: block;
    animation-name: fadeIn-right;
    animation-duration: 0.8s;
    animation-timing-function: ease;
}

@keyframes fadeIn-right {
	from {
	transform: translateX(100%);
		  opacity: 0;
	}
  
	to {
	transform: translateX(0);
	  opacity: 1;
	}
  }

/* アニメーション 左からスライドイン */
#service section.animation-bg.active:nth-of-type(even) > .w50per > div:nth-of-type(2):before {
	display: block;
    animation-name: fadeIn-left;
    animation-duration: 0.8s;
    animation-timing-function: ease;
}

@keyframes fadeIn-left {
	from {
	transform: translateX(-100%);
		  opacity: 0;
	}
  
	to {
	transform: translateX(0);
	  opacity: 1;
	}
  }

/* アニメーション 右上スライドイン */
#service section.data > img.animation-item.active,
#service section.drone > img.animation-item.active {
	animation: slide-right 0.8s cubic-bezier(0.25, 1, 0.5, 1) forwards;
  }

  @keyframes slide-right {
	0% {
	  transform: translate(180px,-30px);
	  opacity: 0;
	}
	100% {
	  transform: translate(0,0);
	}
	20%,100% {
	  opacity: 1;
	}
  }

/* アニメーション 右上スライドイン ボーダー */
.animation-border-right {
	width: 100%;
	border: 1px solid transparent;
    position: absolute;
    top: 25%;
    right: 0;
    transform: skewY(-15deg);
    z-index: 8;
}

#service section.drone .animation-border-right{
    top: 17.5%;
}

.animation-border-right::before {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	width: 0;
	height: inherit;
	border-bottom: 2px solid #B49B56;
}

.animation-border-right.active::before {
	animation: slide-border-right 1.5s cubic-bezier(0.25, 1, 0.5, 1) forwards;
}

@keyframes slide-border-right {
	0% {
	  width: 0;
	}
	100% {
	  width: 100%;
	}
  }

/* アニメーション 左上スライドイン */
#service section.deep > img.animation-item.active {
	animation: slide-left 0.8s cubic-bezier(0.25, 1, 0.5, 1) forwards;
  }
   
  @keyframes slide-left {
	0% {
	  transform: translate(-180px,-30px);
	  opacity: 0;
	}
	100% {
	  transform: translate(0,0);
	}
	20%,100% {
	  opacity: 1;
	}
  }

/* アニメーション 左上スライドイン ボーダー */
.animation-border-left {
	width: 100%;
	border: 1px solid transparent;
    position: absolute;
    top: 257px;
    left: 0;
    transform: skewY(15deg);
    z-index: 8;
}

.animation-border-left::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 0;
	height: inherit;
	border-bottom: 2px solid #B49B56;
}

.animation-border-left.active::before {
	animation: slide-border-left 1.5s cubic-bezier(0.25, 1, 0.5, 1) forwards;
}

@keyframes slide-border-left {
	0% {
	  width: 0;
	}
	100% {
	  width: 100%;
	}
  }

/*--------------------------------
アニメーション 上から徐々に表示
--------------------------------*/
#service section.recruit .w50per .right .inner.animation,
#service section.recruit .w50per .left .inner.animation {
	opacity: 0;
}

#service section.recruit .w50per .right .inner.animation.active,
#service section.recruit .w50per .left .inner.animation.active {
	opacity: 1;
	height: 0;
	overflow:hidden;
}

#service section.recruit .w50per .right .inner.animation.active {
	animation:jojo 0.8s linear forwards;
}

#service section.recruit .w50per .left .inner.animation.active {
	animation:jojo 0.3s linear forwards;
}

	@keyframes jojo {

		from {
			height:0;
		}
		
		to {
			height:100%;
		}
		
	}

div[class*="parent"] .animation-pd01,
div[class*="parent"] .animation-pd02 {
	position: relative;
	opacity: 0;
}

div[class*="parent"] .animation-pd01::after,
div[class*="parent"] .animation-pd02::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	display: block;
	width: 100%;
	height: 100%;
	background: #fff;
	opacity: 0;
}

div[class*="parent"] .animation-pd01.active,
div[class*="parent"] .animation-pd02.active {
	opacity: 1;
}

div[class*="parent"] .animation-pd01.active::after,
div[class*="parent"] .animation-pd02.active::after {
	animation:jojo-siro 0.3s linear forwards;
	opacity: 1;
}

	@keyframes jojo-siro {

		from {
			height: 100%;
		}
		
		to {
			height: 0;
		}
		
	}

.btn_back {
	margin: 75px auto 0;
}