/*
--------------------------------------------------
--------------------------------------------------
--------------------------------------------------
※注意※

ここから下部は全体適用及びモバイル向けCSS
次区画に960px以上の追加設定区画あり

※注意※
--------------------------------------------------
--------------------------------------------------
--------------------------------------------------
*/



/*--------------------------------------------------
 common mobile用
--------------------------------------------------*/
.pc {
  display: none;
}
.pointer {
  cursor: pointer;
}
.section-inner_01 {
  padding: 70px 20px;
  background-color: #fff;
}
.section-inner_02,
.section-inner_05 {
  padding: 70px 20px;
  background-color: #f8f8f8;
}
.section-inner_03 {
  padding: 70px 20px;
  background-color: #f8601e;
}
.section-inner_04 {
  padding: 70px 20px 0;
  background-color: #fff;
}
.section-titile {
  color: #2e2e2e;
  font-size: 2.4rem;
  font-weight: bold;
  margin-bottom: 45px;
}
.section-titile_fl {
  color: #f8601e;
}
.section-titile_contact {
  color: #fff;
  font-size: 1.2rem;
  font-weight: bold;
  margin-bottom: 40px;
}
.section-text_title {
  color: #2e2e2e;
  font-size: 1.8rem;
  font-weight: bold;
  margin-bottom: 40px;
}
.section-text_title2 {
  color: #2e2e2e;
  font-size: 1.4rem;
  font-weight: bold;
  margin-bottom: 5px;
  line-height: 1.5;
}
.section-text {
  color: #2e2e2e;
  font-size: 1.4rem;
  font-weight: 300;
  line-height: 1.6;
  margin-bottom: 40px;
}
.section-text2 {
  color: #2e2e2e;
  font-size: 1.4rem;
  font-weight: 300;
  line-height: 1.6;
  margin-bottom: 25px;
}
.page-title_inner {
  padding-top: 65px;
  background-color: #f5f5f5;
}
.page-title_header {
  color: #f8601e;
  font-size: 1.2rem;
  font-weight: 300;
  text-transform: uppercase;
  line-height: 2;
  padding-left: 20px;
  border-bottom: solid 1px #f8601e;
}
.page-title_header > span {
  color: #2e2e2e;
}
.page-title_header > span.nomal {
  text-transform: none;
}

.page-title_header a {
  color: #f8601e;
}

.page-title {
  color: #2e2e2e;
  font-size: 3.2rem;
  font-weight: bold;
  text-transform: uppercase;
  padding: 30px 0 30px 20px;
}
.page-title.nomal {
  font-size: 2.8rem;
  text-transform: none;
}
.page-title > span {
  display: block;
  font-size: 1.4rem;
  font-weight: 300;
  margin-top: 10px;
}

.text-right {
  text-align: right;
}

/*--------------------------------------------------
 top mobile用
--------------------------------------------------*/


/*service*/
.service-item_inner {
  display: flex;
  flex-direction: row;
  align-items: center;
  margin-bottom: 40px;
}
.service-list {
  margin-left: 20px;
}
.service-img {
  width: 60px;
}
.service-item_title {
  font-size: 1.8rem;
  margin-bottom: 10px;
}
.service-item_text {
  font-size: 1.4rem;
  font-weight: 300;
  line-height: 1.5;
}

/*news*/
.news-list {
  padding: 20px 0;
  border-bottom: solid 1px #f8601e;
}
.news-list.first {
  border-top: solid 1px #f8601e;
}
.news-list.last {
  margin-bottom: 40px;
}
.news-inner {
  display: flex;
  flex-direction: row;
  align-items: center;
  margin-bottom: 20px;
}
.news-item_category {
  color: #fff;
  font-size: 1.2rem;
  background-color: #2e2e2e;
  width: 80px;
  text-align: center;
  padding: 3px 0;
  margin-left: 20px;
}
.news-item_text {
  font-weight: 300;
  line-height: 1.5;
  margin-bottom: 20px;
}
.twitter-box {
  margin-top: 40px;
}
.twitter-box,
.twitter-box iframe {
  width: 100% !important;
}

/*recruit*/
.recruit-img {
  width: 100vw;
  margin-left: -20px;
  margin-bottom: 40px;
}

/*contact*/
.contact-item_company01 {
  color: #fff;
  font-size: 1.2;
  font-weight: bold;
  margin-bottom: 20px;
}
.contact-item_company02 {
  display: block;
  font-size: 1.2rem;
  font-weight: 300;
  margin-top: 10px;
}
.contact-item {
  display: inline-block;
  color: #fff;
  font-size: 1.2rem;
  font-weight: 300;
  margin-bottom: 5px;
}
.contact-item.last {
  margin-bottom: 40px;
}
.contact-item_location {
  display: flex;
  flex-direction: column;
}
/*--------------------------------------------------
 about mobile用
--------------------------------------------------*/
.section-inner_message {
  position: relative;
  z-index: 50;
  padding: 70px 20px;
  background-color: #fff;
}
.section-text_message {
  position: absolute;
  bottom: 0;
  left: 0;
  color: rgba(248, 96, 30, 0.1);
  font-size: 11rem;
  font-weight: bold;
}
.profile-item {
  color: #2e2e2e;
  font-size: 1.4rem;
  font-weight: 300;
  border-bottom: solid 1px #f8601e;
  margin-bottom: 15px;
  padding-bottom: 10px;
  line-height: 2;
}
.profile-item:first-of-type {
  padding-top: 20px;
  border-top: solid 1px #f8601e;
}
.profile-title {
  margin-bottom: 5px;
}
.profile-detail {
}
.profile-detail_member {
  font-size: 1rem;
}
.profile-detail_tel {
  display: inline-block;
  color: #2e2e2e;
}
.profile-detail.point::before {
  content: "・";
}
.profile-map {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
}
.profile-map iframe,
.profile-map object,
.profile-map embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.company-philosophy {
  display: block;
  width: cal(100%-20px);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  padding: 80px 20px 20px;
  margin: 40px 20px;
  color: #fff;
  font-size: 2.4rem;
  font-weight: bold;
}
.company-philosophy > span {
  display: block;
  font-size: 1.8rem;
  font-weight: 300;
  margin-top: 20px;
}
.company-philosophy.info01 {
  background-image: url("../images/about01.jpeg");
  transition-duration: 0.3s;
}
.company-philosophy.info02 {
  background-image: url("../images/about02.jpeg");
  transition-duration: 0.3s;
}
.company-philosophy.info03 {
  background-image: url("../images/about03.jpeg");
  transition-duration: 0.3s;
}
.company-philosophy.info01:hover,
.company-philosophy.info02:hover,
.company-philosophy.info03:hover {
  background-color: rgba(0, 0, 0, 0.5);
  background-blend-mode: darken;
}

/*--------------------------------------------------
 service mobile用
--------------------------------------------------*/
.section-inner_what-we-do {
  padding: 70px 20px 10px;
  background-color: #fff;
  line-height: 1.5;
}

.service-item_inner a:link,
.service-item_inner a:visited {
  color: #2e2e2e;
}

.service-item_inner a:hover {
  color: #f8601e;
}

.details p {
  font-size: 2rem;
  margin-bottom: 5rem;
  text-align: center;
}

.details a:link,
.details a:visited {
  color: #2e2e2e;
  text-decoration: underline;
}

.details a:hover {
  color: #f8601e;
}

/*--------------------------------------------------
 service/drone mobile用
--------------------------------------------------*/

.drone {
  margin: 5rem 0;
  width: 100%;
}

.drone h2 {
  font-size: 1.8rem;
  margin-bottom: 1rem;
  text-align: center;
}

.drone p {
  font-size: 1.4rem;
  font-weight: 300;
  line-height: 1.5;
  width: 35rem;
  margin: auto;
}

.drone_flow {
  margin: 3rem 0;
}

.drone_flow_text {
  font-size: 1.4rem;
  font-weight: 300;
  line-height: 2.5rem;
}

.drone_flow_text h2 {
  font-size: 1.8rem;
  margin-bottom: 1rem;
}

.drone_flow_image {
  height: auto;
  width: 40%;
  margin-left: auto;
}

.drone_background {
  background: linear-gradient(90deg, rgba(255, 255, 255, 1), rgba(255, 255, 255, 0.8)), url(../images/plan_back.jpg);
  background-size: 90%;
  background-repeat: no-repeat;
  background-position: right center;
}

#drone_plan {
  margin: 3rem 0;
}

#drone_plan .plan_section .plan_title {
  margin-bottom: 1rem;
}

#drone_plan .plan_section .plan_title p {
  font-size: 1.8rem;
}

#drone_plan .plan_section .plan_text {
  margin-bottom: 3rem;
  margin-left: 3rem;
}

#drone_plan .plan_section .plan_text p {
  font-size: 1.4rem;
  font-weight: 300;
  line-height: 2.5rem;
}

.itirei p {
  font-size: 1.4rem;
  font-weight: 300;
}

/*--------------------------------------------------
 service/its mobile用
--------------------------------------------------*/

.its_parts {
  width: 85%;
  margin: auto;
}

.its {
  margin: 3rem 0;
  width: 100%;
  padding-bottom: 5rem;
}

.its h2 {
  width: 26rem;
  margin: auto;
  font-size: 2.4rem;
  margin-bottom: 1rem;
  text-align: center;
  border-bottom: 2px #707070 solid;
  padding-bottom: 4px;
}

.its p {
  font-size: 1.4rem;
  font-weight: 300;
  line-height: 1.5;
  width: 70%;
  margin: auto;
  text-align: center;
}

.its_detail {
  padding-bottom: 5rem;
}

.its_detail img {
  width: 100%;
  height: auto;
  padding-top: 1rem;
  padding-bottom: 5rem;
}

.its_detail h2 {
  font-size: 1.8rem;
  margin-bottom: 1rem;
  display: flex;
  align-items: center;
}

.its_detail h2:after,
.its_detail2 h2:after {
  content: "";
  flex-grow: 1;
  height: 2px;
  background: #888;
  display: block;
}

.its_detail p {
  font-size: 1.2rem;
  font-weight: 200;
  line-height: 1.5;
  width: 100%;
}

.its_detail2 {
  padding-bottom: 5rem;
}

.its_detail2 img {
  width: 100%;
  height: auto;
  padding-top: 1rem;
  padding-bottom: 5rem;
}

.its_detail2 h2 {
  font-size: 1.8rem;
  margin-bottom: 1rem;
  display: flex;
  align-items: center;
}

.its_detail2 p {
  font-size: 1.2rem;
  font-weight: 200;
  line-height: 1.5;
  width: 100%;
}

/*--------------------------------------------------
 service/ceb mobile用
--------------------------------------------------*/
.ceb_parts {
  width: 85%;
  margin: auto;
}

.ceb {
  margin: 3rem 0;
  width: 100%;
}

.ceb h2 {
  width: 30rem;
  margin: auto;
  font-size: 2.4rem;
  margin-bottom: 1rem;
  text-align: center;
  border-bottom: 2px #707070 solid;
  padding-bottom: 4px;
}

.ceb p {
  font-size: 1.4rem;
  font-weight: 300;
  line-height: 1.5;
  width: 70%;
  margin: auto;
  text-align: center;
}

.ceb_detail {
  padding: 3rem;
}

.ceb_detail img {
  width: 50%;
  height: auto;
  padding-bottom: 1rem;
}

.ceb_detail h2 {
  font-size: 1.8rem;
  margin-bottom: 1rem;
}

.ceb_detail p {
  font-size: 1.2rem;
  font-weight: 200;
  line-height: 1.5;
  width: 100%;
}

.ceb_detail span {
  color: rgb(173, 166, 166);
}

.ceb_contact {
  margin: auto;
  width: 90%;
  text-align: center;
  padding: 3rem 0;
}

.ceb_contact p {
  margin: auto;
  font-size: 1.2rem;
  font-weight: 200;
  line-height: 2rem;
  width: 70%;
}

/*--------------------------------------------------
 service/sop mobile用
--------------------------------------------------*/
.sop_parts {
  width: 85%;
  margin: auto;
}

.sop {
  margin: 3rem 0;
  width: 100%;
}

.sop h2 {
  width: 26rem;
  margin: auto;
  font-size: 2.4rem;
  margin-bottom: 1rem;
  text-align: center;
  border-bottom: 2px #707070 solid;
  padding-bottom: 4px;
}

.sop p {
  font-size: 1.4rem;
  font-weight: 300;
  line-height: 1.5;
  width: 70%;
  margin: auto;
  text-align: center;
}

.sop_detail {
  padding: 3rem;
}

.sop_detail img {
  width: 50%;
  height: auto;
  padding-bottom: 1rem;
}

.sop_detail h2 {
  font-size: 1.8rem;
  margin-bottom: 1rem;
  display: flex;
  align-items: center;
}

.sop_detail h2:after,
.sop_detail h2:after {
  content: "";
  flex-grow: 1;
  height: 2px;
  background: #888;
  display: block;
}

.sop_detail p {
  font-size: 1.2rem;
  font-weight: 200;
  line-height: 1.5;
  width: 100%;
}

.sop_detail span {
  color: rgb(173, 166, 166);
}

.sop_contact {
  margin: auto;
  width: 90%;
  text-align: center;
  padding: 3rem 0;
}

.sop_contact p {
  margin: auto;
  font-size: 1.2rem;
  font-weight: 200;
  line-height: 2rem;
  width: 70%;
}

/*
-------------------------------------------------
 service/remote mobile用
-------------------------------------------------
*/

.remote_title {
  text-align: center;
}

.remote_title h2 {
  margin: 10rem auto 5rem auto;
  font-size: 2rem;
  border-bottom: 0.2rem #707070 solid;
  padding-bottom: 0.5rem;
  display: inline-block;
}

.remote_worries {
  margin: auto;
  width: 100%;
}

.remote_worries ul {
  width: 80%;
  margin: auto;
}

.remote_worries_image {
  width: 125px;
  height: auto;
  margin: auto;
  padding-bottom: 4rem;
}

.remote_text {
  font-size: 1.4rem;
  font-weight: 300;
  line-height: 1.8rem;
  margin: auto;
  text-align: center;
}

.remote_text_list {
  display: block;
  margin: auto;
  width: 80%;
}

.list_small {
  width: 35rem;
}

.remote_text_list ul {
  text-align: left;
  display: inline-block;
}

.remote_text_list h3 {
  font-size: 1.8rem;
  margin-top: 1rem;
  margin-bottom: 1rem;
}

.list_style_disc {
  list-style: disc;
}

.list_style_square {
  list-style: square;
}

.remote_call {
  margin: 3rem auto;
  width: 45rem;
  text-align: center;
  font-size: 1.4rem;
}

.remote_call_p {
  background: #f8601e; /*背景色*/
  padding: 1rem; /*文字周りの余白*/
  color: white; /*文字を白に*/
  border-radius: 1rem; /*角の丸み*/
  text-align: center;
  font-size: 2rem;
}

.remote_call_p p {
  padding-top: 5px;
}

.remote_call img {
  width: 30px;
}

.remote_call a {
  color: #f8601e;
}

.remote_call_phone ul {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 2rem 0;
}

.remote_call_text p {
  font-size: 2.4rem;
  padding-top: 7px;
  padding-left: 5px;
}

.remote {
  width: 350px;
  margin: 3rem auto;
}

.remote img {
  margin-bottom: 3rem;
}

.remote p {
  font-size: 1rem;
  text-align: right;
}

.remote_router {
  width: 80%;
  margin: auto;
  text-align: center;
}

.remote_router ul {
  text-align: left;
  width: 40rem;
  margin: auto;
}

.remote_router_image img {
  margin-top: 2rem;
  margin-bottom: 4rem;
}

.spanner {
  padding: 2rem 0;
}

.spanner ul {
  display: flex;
  justify-content: center;
}

.spanner li {
  padding: 10px 20px;
}

.spanner li img {
  width: 60px;
}

.remote_spc {
  margin-bottom: 30px;
}

.migration {
  width: 400px;
  margin: 5rem auto;
}

/*--------------------------------------------------
 recruit mobile用
--------------------------------------------------*/
.section-inner_recruit-message {
  padding: 50px 20px 10px;
  background-color: #fff;
  line-height: 1.5;
}
.flow-list {
  margin-bottom: 20px;
}
.flow-item_inner01 {
  position: relative;
  width: 100%;
  background-color: #fcc0a7;
  padding: 20px;
  box-sizing: border-box;
}
.flow-item_inner02 {
  position: relative;
  width: 100%;
  background-color: #f5f5f5;
  padding: 20px;
  box-sizing: border-box;
}
.flow-item_inner01:not(:first-child):after {
  position: absolute;
  content: "";
  top: 0;
  left: 50%;
  transform: translate(-50%, 0);
  border-top: 30px solid #f5f5f5;
  border-right: 40px solid transparent;
  border-left: 40px solid transparent;
  box-sizing: border-box;
}
.flow-item_inner02::before {
  position: absolute;
  content: "";
  top: 0;
  left: 50%;
  transform: translate(-50%, 0);
  border-top: 30px solid #fcc0a7;
  border-right: 40px solid transparent;
  border-left: 40px solid transparent;
  box-sizing: border-box;
}
.flow-item_step {
  color: #2e2e2e;
  font-size: 1.4rem;
  font-weight: bold;
  margin-bottom: 20px;
}
.flow-item {
  color: #2e2e2e;
  font-size: 1.6rem;
  font-weight: 300;
  margin-bottom: 20px;
  text-align: center;
}
.flow-note {
  color: #2e2e2e;
  font-size: 1.2rem;
  font-weight: 300;
  margin-bottom: 10px;
}
.flow-note:last-of-type {
  margin-bottom: 40px;
}

/*--------------------------------------------------
 contact mobile用
--------------------------------------------------*/
.section-titile_center {
  color: #2e2e2e;
  font-size: 2.4rem;
  font-weight: bold;
  text-align: center;
  margin-bottom: 40px;
}
.section-text_center {
  color: #2e2e2e;
  font-size: 1.4rem;
  font-weight: 300;
  text-align: center;
  line-height: 1.5;
}
.section-text_left {
  color: #2e2e2e;
  font-size: 1.4rem;
  font-weight: 300;
  text-align: left;
  line-height: 1.5;
  margin-top: 40px;
  margin-bottom: 40px;
}
.section-text_tel {
  display: block;
  color: #f8601e;
  font-size: 2.8rem;
  font-weight: bold;
  text-align: center;
  margin-top: 40px;
  margin-bottom: 40px;
}
.form-parts {
  -webkit-appearance: none;
  appearance: none;
  box-sizing: border-box;
  border: solid 1px #e8e8e8;
  background-color: #e8e8e8;
}
.form-parts_text {
  width: 100%;
  padding: 9px 8px;
  border-radius: 4px;
  color: #2e2e2e;
  font-size: 1.6rem;
}
.form-parts_checkbox {
  width: 30px;
  height: 30px;
  border-radius: 15px;
  margin-right: 10px;
  vertical-align: -13px;
}
.form-parts_checkbox:checked {
  background-color: #f8601e;
}
.form-title {
  color: #f8601e;
  font-weight: bold;
  margin-bottom: 10px;
}
.form-item {
  margin-bottom: 15px;
}
.form-item_check {
  text-align: center;
  margin-bottom: 20px;
}
.caution {
  display: inline-block;
  width: 50px;
  margin-left: 10px;
  padding: 3px 0;
  border-radius: 4px;
  background-color: #f8601e;
  color: #fff;
  font-size: 1.2rem;
  text-align: center;
  vertical-align: middle;
}
.caution.wide {
  width: 80px;
}
.form-policy {
  color: #2e2e2e;
  font-size: 1.2rem;
  font-weight: 300;
  line-height: 1.5;
  height: 8em;
  border-radius: 4px;
  overflow: scroll;
  border: #c7c7c7 1px solid;
  background-color: #fff;
  padding: 20px;
  box-sizing: border-box;
}
.form-policy_title {
  font-size: 1.4rem;
  font-weight: bold;
  margin-bottom: 5px;
}
.form-policy_subtitle {
  font-weight: bold;
  margin: 10px 0 5px;
}

/*--------------------------------------------------
 news mobile用
--------------------------------------------------*/
.section-inner_news {
  padding: 40px 20px 0;
  background-color: #fff;
}
.news-item_title {
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 1.5;
  margin-bottom: 10px;
}
.news-archive {
  font-size: 2.4rem;
  font-weight: bold;
  padding: 0 20px;
  margin-bottom: 20px;
}
.archive-list {
  display: flex;
  flex-wrap: wrap;
  background-color: #f5f5f5;
  padding: 20px;
}
.archive-item {
  width: 50%;
  box-sizing: border-box;
  padding: 10px 0;
}
.archive-item:nth-child(odd) {
  border-right: solid 1px #f8601e;
}
.archive-item.under-line {
  border-bottom: solid 1px #f8601e;
}
.archive-item.under-line:last-of-type {
  border-bottom: none;
}
.archive-item_link {
  display: block;
  color: #f8601e;
  font-size: 1.8rem;
  font-weight: 300;
  text-align: center;
  padding: 30px 0;
}

/*--------------------------------------------------
 policy/terms/sitemap mobile用
--------------------------------------------------*/
.section-inner_policy {
  padding: 40px 20px;
  background-color: #fff;
}
.page-title_policy {
  color: #2e2e2e;
  font-size: 2rem;
  font-weight: bold;
  padding: 50px 20px;
}
.section-text_title_org {
  width: 100%;
  font-size: 1.45rem;
  font-weight: bold;
  margin-bottom: 20px;
}
.section-text_title {
  width: 100%;
  font-size: 3.5rem;
  font-weight: bold;
  margin-bottom: 20px;
}
.section-text_policy {
  width: 100%;
  font-weight: bold;
  margin-bottom: 20px;
}
.sitemap-item {
  margin-bottom: 10px;
}
.sitemap-1 > a {
  color: #2e2e2e;
  font-weight: bold;
  text-transform: uppercase;
  line-height: 3;
}
.sitemap-2 > a {
  color: #707070;
  line-height: 2.5;
}
.sitemap-2::before {
  content: "∟";
  color: #707070;
  font-size: 1.2rem;
  margin-right: 5px;
}

/*--------------------------------------------------
add policy mobile
--------------------------------------------------*/
#about_privacy{
  counter-reset: cnt1;
}
.section-title{
    font-size: 1.4em;
    margin-bottom: 1.0em;
}
.section-text_policy_number{
    font-size: 1.0em;
    font-weight: bold;
    margin-bottom: 1.0em;
}
.section-text_policy_number::before {
    counter-increment: cnt1+1;
    content: "("counter(cnt1)") ";
}
.privacy-text{
    font-size: 1.0em;
    font-weight: 300;
    margin-bottom: 2.0em;
}
.privacy-table-subject{
    margin-top: 1.0em;
}
.privacy-table{
    width: 100%;
    border-collapse: collapse;
    border-style: solid;
    border-width: 1px;
}
.privacy-table th,td{
    border-style: solid;
    border-width: 1px;
    padding: 0.5em;
    font-weight: 300;
}
.privacy-table th,td .column{
    font-weight: bold;
    border-collapse: collapse;
}
.privacy-text dt::after{
    content: ":";
}
.privacy-text dl {
    display: flex;
    flex-wrap: wrap;
}
.privacy-text dl dt {
    width: 40%;
    font-weight: 300;
}
.privacy-text dl dd {
    width: 60%;
    font-weight: 300;
}
/*
--------------------------------------------------
--------------------------------------------------
--------------------------------------------------
※注意※

responsive switch 960px

ここから下はウィンドウ幅960px以上に追加適用されるCSS！

※注意※
--------------------------------------------------
--------------------------------------------------
--------------------------------------------------
*/

@media screen and (min-width: 1024px) {
/*--------------------------------------------------
  header
--------------------------------------------------*/
.btn-trigger span:nth-child(1) {
  top: 30px;
  left: 10px;
  border-bottom: solid 4px #fff;
  -webkit-transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

.btn-trigger span:nth-child(2) {
  top: 30px;
  left: 10px;
  width: 36px;
  border-bottom: solid 4px #fff;
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  transform: rotate(45deg);
}

.btn-trigger.active {
  background-color: #f8601e;
}

.btn-trigger.active span:nth-child(1) {
  top: 22px;
  left: 12px;
  width: 36px;
  border-bottom: solid 4px #fff;
  -webkit-transform: rotate(0deg);
  -moz-transform: rotate(0deg);
  transform: rotate(0deg);
}

.btn-trigger.active span:nth-child(2) {
  top: 32px;
  left: 12px;
  width: 26px;
  border-bottom: solid 4px #fff;
  -webkit-transform: rotate(0deg);
  -moz-transform: rotate(0deg);
  transform: rotate(0deg);
}

.header-inner.active {
  background-color: transparent;
}

.header-logo.active {
  display: none;
}

.gnav {
  display: block;
  height: 60px;
  background-color: transparent;
}

.gnav-list {
  display: flex;
  justify-content: flex-end;
  padding-top: 10px;
  margin: 0 40px 0 0;
}

.gnav-item {
  text-align: right;
  margin: 0 60px 0 0;
}

.gnav-item__en {
  font-size: 1.6rem;
  line-height: 1.4;
}

.gnav-item__ja {
  font-size: 1.2rem;
  margin-top: 0;
}

/*--------------------------------------------------
common
--------------------------------------------------*/
.pc {
  display: block;
}

.br-sp {
  display: none;
}

.sp {
  display: none;
}

.bg-02 {
  background-color: #f8f8f8;
}

.bg-03 {
  background-color: #f8601e;
}

.bg-04 {
  background-color: #f5f5f5;
}

.page-title_inner {
  margin-right: 60px;
}

.section-inner_pc {
  display: flex;
}

.section-inner_01,
.section-inner_02,
.section-outer_04,
.section-inner_policy,
.section-inner_news,
.section-inner_what-we-do {
  width: 100%;
  max-width: 900px;
  margin: 0 auto;
}

.section-inner_03 {
  max-width: 900px;
  padding: 70px 20px;
  margin: 0 auto;
}

.section-inner_05 {
  width: 100%;
  max-width: 700px;
  margin: 0 auto;
}

.side-menu {
  width: 60px;
  background-color: #fff;
}

.side-menu_text {
  position: relative;
  top: 0;
  right: 0;
  text-align: left;
  color: #f8601e;
  -webkit-transform: rotate(90deg) translate(60%, 0);
  -moz-transform: rotate(90deg) translate(60%, 0);
  transform: rotate(90deg) translate(60%, 0);
  white-space: nowrap;
}

.btn-view {
  margin: 0 auto 0 0;
}

.btn-action {
  width: 300px;
  margin: 0 auto;
}

/*--------------------------------------------------
top
--------------------------------------------------*/


/*vision*/
.section-vision_pc {
  display: flex;
}

.section-text_title.vision-pc {
  width: 40%;
}

.section-text.vision-pc {
  width: 60%;
}

/*service*/
.section-sevice_pc {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 20px;
}

.service-item_inner {
  width: 50%;
}

.service-item_inner a:link,
.service-item_inner a:visited {
  color: #2e2e2e;
}

.service-item_inner a:hover {
  color: #f8601e;
}

/*news*/
.section-news_pc {
  display: flex;
}

.news-list,
.news-list:first-of-type {
  border: none;
}

.news-list {
  width: 50%;
  padding-top: 10px;
  margin-right: 20px;
  margin-bottom: 20px;
}

.news-list:last-of-type {
  margin-bottom: 20px;
}

.news-inner {
  padding-top: 20px;
}

.news-inner_uper {
  display: flex;
}

.news-inner_under {
  display: flex;
  /* flex-direction: row-reverse; */
}

.news-img {
  width: 100%;
  height: 180px;
  object-fit: cover;
}

.btn-view_outer {
  width: 50%;
  padding-top: 10px;
  margin-right: 20px;
}

.twitter-box {
  margin: 0 0 0 40px;
}

.twitter-box,
.twitter-box iframe {
  width: 270px !important;
}

/*recruit*/
.recruit-img {
  width: 50%;
  height: 100%;
  margin: 0 0 0 60px;
}

.section-inner_02.recruit {
  display: flex;
  padding-bottom: 0;
}

/*contact*/
.contact-item_inner {
  display: flex;
  justify-content: space-between;
}

.contact-item_company01 {
  margin-right: 100px;
}

.contact-item_location {
  margin-right: 100px;
}

/*--------------------------------------------------
about
--------------------------------------------------*/
.section-inner_message {
  max-width: 700px;
  margin: 0 auto;
}

.section-text_message {
  bottom: 40px;
  right: 0;
  text-align: right;
}

.section-inner_message > .section-titile {
  text-align: center;
}

.profile-item {
  display: flex;
  justify-content: flex-start;
}

.profile-title {
  width: 210px;
}

.profile-detail {
}
.profile-detail_representative,
.profile-detail_addr,
.profile-detail_service {
  display: flex;
  flex-direction: column;
}

.section-inner_company-philosophy {
  max-width: 900px;
  display: flex;
  justify-content: space-between;
  margin: 0 auto;
}

.company-philosophy {
  width: 33.333%;
}

.about-img {
  height: 20vw;
  object-fit: cover;
  /*		object-position: bottom;*/
}

.about-img.last {
  padding-bottom: 70px;
}

/*--------------------------------------------------
service
--------------------------------------------------*/
.service-item_outer {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.service-item_inner {
  width: 45%;
}

/*--------------------------------------------------
service/drone
--------------------------------------------------*/

.drone {
  margin: 10rem 0;
}

.drone h2 {
  font-size: 3rem;
  font-weight: bold;
  padding-bottom: 5rem;
}

.drone p {
  font-size: 1.8rem;
  font-weight: 300;
  line-height: 4rem;
  width: 60rem;
}

.details p {
  font-size: 3rem;
  margin-bottom: 8rem;
}

.drone_flow {
  margin: 3rem 0;
  width: 100%;
}

.drone_flow ul {
  width: 80%;
  margin: auto;
  display: flex;
}

.drone_flow_text {
  font-size: 1.8rem;
  font-weight: 300;
  line-height: 3rem;
  width: 40%;
}

.drone_flow_text h2 {
  font-size: 2.4rem;
  margin-bottom: 1rem;
}

.drone_flow_image {
  width: 40%;
  height: auto;
  margin: auto;
}

.photo_line {
  max-width: 100%;
  height: auto;
}

#drone_plan .plan_section {
  width: 100%;
  max-width: 1200px;
  margin-left: 10%;
}

#drone_plan .plan_section .plan_title {
  margin-bottom: 1rem;
}

#drone_plan .plan_section .plan_title p {
  font-size: 2.4rem;
}

#drone_plan .plan_section .plan_text {
  padding-left: 100px;
  width: 400px;
}

#drone_plan .plan_section .plan_text p {
  font-size: 1.8rem;
  line-height: 3rem;
  font-weight: 300;
}

.itirei {
  width: 80%;
  margin: 0 auto;
}

.itirei p {
  font-size: 1.8rem;
  line-height: 2.5rem;
  font-weight: 300;
}

/*--------------------------------------------------
service/its
--------------------------------------------------*/

.its p {
  font-size: 1.5rem;
  font-weight: 300;
  line-height: 1.5;
  width: 42rem;
  margin: auto;
  text-align: center;
}

.its_detail {
  font-size: 1.8rem;
  font-weight: 300;
  line-height: 4rem;
}

.its_detail ul {
  display: flex;
  justify-content: space-between;
  padding-bottom: 4rem;
}

.its_detail ul li {
  width: 48%;
}

.its_detail h2 {
  font-size: 2.4rem;
  margin-bottom: 0.2rem;
}

.its_detail p {
  font-size: 1.5rem;
  font-weight: 300;
  line-height: 1.5;
  width: 100%;
}

.its_detail img {
  width: 100%;
  height: auto;
  padding-bottom: 0;
}

.its_detail2 {
  font-size: 1.8rem;
  font-weight: 300;
  line-height: 4rem;
  flex-flow: row-reverse;
}

.its_detail2 ul {
  display: flex;
  justify-content: space-between;
  padding-bottom: 4rem;
  flex-flow: row-reverse;
}

.its_detail2 ul li {
  width: 48%;
  flex-flow: row-reverse;
}

.its_detail2 h2 {
  font-size: 2.4rem;
  margin-bottom: 0.2rem;
  flex-flow: row-reverse;
}

.its_detail2 p {
  font-size: 1.5rem;
  font-weight: 300;
  line-height: 1.5;
  width: 100%;
  flex-flow: row-reverse;
}

.its_detail2 img {
  width: 100%;
  height: auto;
  padding-bottom: 0;
  flex-flow: row-reverse;
}

.its_Inquiry p {
  text-align: center;
  font-size: 2.4rem;
  margin-bottom: 0.2rem;
  color: #000;
  margin-bottom: 5rem;
}

/*--------------------------------------------------
service/ceb
--------------------------------------------------*/

.ceb p {
  font-size: 1.8rem;
  font-weight: 300;
  line-height: 1.5;
  width: 60rem;
  margin: auto;
  text-align: center;
}

.ceb h2 {
  white-space: nowrap;
  border-bottom: 2px #707070 solid;
}

.ceb_detail {
  font-size: 1.8rem;
  font-weight: 300;
  line-height: 4rem;
}

.ceb_detail ul {
  display: flex;
  justify-content: space-between;
  padding-bottom: 8rem;
}

.ceb_detail ul li {
  width: 48%;
}

.ceb_detail ul li.img {
  text-align: center;
}

.ceb_detail h2 {
  font-size: 2.4rem;
  margin-bottom: 0.2rem;
}

.ceb_detail p {
  font-size: 2rem;
  font-weight: 300;
  line-height: 1.5;
  width: 100%;
}

.ceb_detail img {
  width: 70%;
  height: auto;
  padding-bottom: 0;
}

.ceb_contact {
  margin: auto;
  width: 90%;
  padding: 5rem 0;
}

.ceb_contact p {
  margin: auto;
  font-size: 1.8rem;
  font-weight: 300;
  line-height: 4rem;
  width: 70%;
}

/*--------------------------------------------------
service/sop
--------------------------------------------------*/

.sop p {
  font-size: 1.8rem;
  font-weight: 300;
  line-height: 1.5;
  width: 50rem;
  margin: auto;
  text-align: center;
}

.sop h2 {
  white-space: nowrap;
  border-bottom: 2px #707070 solid;
}

.sop_detail {
  font-size: 1.8rem;
  font-weight: 300;
  line-height: 4rem;
}

.sop_detail ul {
  display: flex;
  justify-content: space-between;
  padding-bottom: 8rem;
}

.sop_detail ul li {
  width: 48%;
}

.sop_detail ul li.img {
  text-align: center;
}

.sop_detail h2 {
  font-size: 2.4rem;
  margin-bottom: 0.2rem;
}

.sop_detail p {
  font-size: 1.5rem;
  font-weight: 300;
  line-height: 1.5;
  width: 100%;
}

.sop_detail img {
  width: 70%;
  height: auto;
  padding-bottom: 0;
}

.sop_contact {
  margin: auto;
  width: 90%;
  padding: 5rem 0;
}

.sop_contact p {
  margin: auto;
  font-size: 1.8rem;
  font-weight: 300;
  line-height: 4rem;
  width: 70%;
}

/*
-------------------------------------------------
service/remote
-------------------------------------------------
*/

.remote_title h2 {
  margin: 15rem auto 5rem auto;
  font-size: 3.6rem;
}

.remote_worries ul {
  display: flex;
  justify-content: center;
}

.remote_worries_image {
  width: 250px;
}

.remote_text {
  font-size: 1.4rem;
}

.list_small {
  width: 45rem;
}

.list_small li {
  padding: 1.5rem 0;
}

.remote_list_flex ul {
  display: flex;
  width: 80%;
  margin: auto;
}

.remote_text_list ul {
  text-align: left;
  display: inline-block;
}

.remote_text_list h3 {
  font-size: 2.4rem;
  margin-top: 1rem;
  margin-bottom: 2rem;
  line-height: 3rem;
}

.remote_text_list p {
  line-height: 2.4rem;
}

.remote_call {
  margin: 3rem auto;
  width: 60%;
  text-align: center;
  font-size: 1.8rem;
}

.remote_call_p {
  border-radius: 2rem;
  font-size: 2.4rem;
}

.remote_call p {
  padding-top: 10px;
}

.remote_call img {
  width: 40px;
}

.remote_call a:link,
.remote_call a:visited {
  color: #2e2e2e;
}

.remote_call a:hover {
  color: #f8601e;
}

.remote_call ul {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 2rem;
}

.remote_call_text p {
  font-size: 2.4rem;
}

.remote {
  width: 500px;
}

.remote p {
  font-size: 1.2rem;
}

.remote_router {
  width: 80%;
  margin: auto;
  text-align: center;
  font-size: 1.4rem;
}

.remote_router ul {
  width: 100%;
  display: flex;
  justify-content: space-between;
}

.remote_router li {
  margin: auto;
}

.spanner {
  padding-right: 10%;
}

.spanner ul {
  display: flex;
  justify-content: center;
}

.spanner li img {
  width: 70px;
}

.migration {
  width: 80%;
  margin: 10rem auto;
}

.w80r {
  width: 80rem;
}

/*--------------------------------------------------
recruit
--------------------------------------------------*/
.section-inner_recruit-message {
  max-width: 700px;
  margin: 0 auto;
  text-align: center;
}

.profile-detail_location,
.profile-detail_terms {
  display: flex;
  flex-direction: column;
}

.section-inner_flow {
  max-width: 900px;
  margin: 0 auto;
  display: flex;
}

.section-inner_01.recruit {
  width: 50%;
}

.recruit-img_inner {
  display: flex;
  flex-direction: column;
  padding: 140px 20px 0;
  box-sizing: border-box;
}

.recruit-img02 {
  width: auto;
  height: 290px;
  /*		width: 50%;*/
  /*		margin: 140px auto auto auto;*/
}

/*--------------------------------------------------
contact
--------------------------------------------------*/
.section-inner_02.contact {
  max-width: 700px;
}

.form-policy {
  height: 16em;
}

.belowspc50 {
  margin-bottom: 70px;
  margin-top: 90px;
}

/*--------------------------------------------------
  policy/terms/sitemap/news
--------------------------------------------------*/
/*policy*/
.section-inner_policy {
  max-width: 900px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
}

/*sitemap*/
.sitemap-item {
  width: 33.333%;
  margin-bottom: 40px;
}

/*news*/
.section-inner_archive {
  max-width: 900px;
  margin: 0 auto;
}

.news-archive {
  margin-top: 40px;
}

.archive-list {
  background-color: transparent;
  justify-content: flex-start;
  padding-bottom: 50px;
}

.archive-item {
  width: 170px;
  border-right: solid 1px #f8601e;
}

.archive-item:first-of-type {
  border-left: solid 1px #f8601e;
}

.archive-item.under-line {
  border-bottom: none;
}

.news-list.flex_L {
  display: flex;
  justify-content: space-between;
  margin: 0;
  width: 100%;
  padding-bottom: 40px;
}

.news-list.flex_R {
  display: flex;
  flex-direction: row-reverse;
  justify-content: space-between;
  margin: 0;
  width: 100%;
  padding-bottom: 40px;
}

.news-outer {
  width: 50%;
}

.news-img_L {
  width: 50%;
  height: 100%;
  padding-top: 20px;
  padding-left: 40px;
}

.news-img_R {
  width: 50%;
  height: 100%;
  padding-top: 20px;
  padding-right: 40px;
}
/*--------------------------------------------------
add policy standard
--------------------------------------------------*/
#about_privacy{
  counter-reset: cnt1;
}
.section-title{
    font-size: 1.4em;
    margin-bottom: 1.0em;
}
.section-text_policy_number{
    font-size: 1.0em;
    font-weight: bold;
    margin-bottom: 1.0em;
}
.section-text_policy_number::before {
    counter-increment: cnt1+1;
    content: "("counter(cnt1)") ";
}
.privacy-text{
    font-size: 1.0em;
    font-weight: 300;
    margin-bottom: 2.0em;
}
.privacy-table-subject{
    margin-top: 1.0em;
}
.privacy-table{
    width: 100%;
    border-collapse: collapse;
    border-style: solid;
    border-width: 1px;
}
.privacy-table th,td{
    border-style: solid;
    border-width: 1px;
    padding: 0.5em;
    font-weight: 300;
}
.privacy-table th,td .column{
    font-weight: bold;
    border-collapse: collapse;
}
.privacy-text dt::after{
    content: ":";
}
.privacy-text dl {
    display: flex;
    flex-wrap: wrap;
}
.privacy-text dl dt {
    width: 20%;
    font-weight: 300;
}
.privacy-text dl dd {
    width: 80%;
    font-weight: 300;
}
/*--------------------------------------------------
  err404
--------------------------------------------------*/
.section-outer_404 {
  display: flex;
}

.img-404 {
  width: 50%;
  height: 100vh;
}

.section-inner_404 {
  padding: 45vh 40px 0;
}

.side-menu_text.err404 {
  top: 60px;
}
}
