/*	cmn-color
------------------------------------ */
/*	transition,hover
------------------------------------ */
/*	media-screen
------------------------------------ */
/*	font
------------------------------------ */
@font-face {
  font-family: "yu-go-r";
  src: url("../fonts/YuGothic-Regular.ttf");
}
@font-face {
  font-family: "yu-go-m";
  src: url("../fonts/YuGothic-Medium.ttf");
}
@font-face {
  font-family: "yu-go-b";
  src: url("../fonts/YuGothic-Bold.ttf");
}
@font-face {
  font-family: "zen-r";
  src: url("../fonts/ZenKakuGothicNew-Regular.ttf");
}
@font-face {
  font-family: "zen-m";
  src: url("../fonts/ZenKakuGothicNew-Medium.ttf");
}
@font-face {
  font-family: "zen-b";
  src: url("../fonts/ZenKakuGothicNew-Bold.ttf");
}
@font-face {
  font-family: "jo-r";
  src: url("../fonts/JosefinSans-Regular.ttf");
}
@font-face {
  font-family: "jo-m";
  src: url("../fonts/JosefinSans-Medium.ttf");
}
@font-face {
  font-family: "jo-sb";
  src: url("../fonts/JosefinSans-SemiBold.ttf");
}
@font-face {
  font-family: "jo-b";
  src: url("../fonts/JosefinSans-Bold.ttf");
}
@font-face {
  font-family: "shi-m";
  src: url("../fonts/ShipporiMinchoB1-Medium.ttf");
}
/*	layout
------------------------------------ */
/*	cmn-color
------------------------------------ */
/*	transition,hover
------------------------------------ */
/*	media-screen
------------------------------------ */
/*	font
------------------------------------ */
@font-face {
  font-family: "yu-go-r";
  src: url("../fonts/YuGothic-Regular.ttf");
}
@font-face {
  font-family: "yu-go-m";
  src: url("../fonts/YuGothic-Medium.ttf");
}
@font-face {
  font-family: "yu-go-b";
  src: url("../fonts/YuGothic-Bold.ttf");
}
@font-face {
  font-family: "zen-r";
  src: url("../fonts/ZenKakuGothicNew-Regular.ttf");
}
@font-face {
  font-family: "zen-m";
  src: url("../fonts/ZenKakuGothicNew-Medium.ttf");
}
@font-face {
  font-family: "zen-b";
  src: url("../fonts/ZenKakuGothicNew-Bold.ttf");
}
@font-face {
  font-family: "jo-r";
  src: url("../fonts/JosefinSans-Regular.ttf");
}
@font-face {
  font-family: "jo-m";
  src: url("../fonts/JosefinSans-Medium.ttf");
}
@font-face {
  font-family: "jo-sb";
  src: url("../fonts/JosefinSans-SemiBold.ttf");
}
@font-face {
  font-family: "jo-b";
  src: url("../fonts/JosefinSans-Bold.ttf");
}
@font-face {
  font-family: "shi-m";
  src: url("../fonts/ShipporiMinchoB1-Medium.ttf");
}
/*	layout
------------------------------------ */
/*	font-size  cmn
------------------------------------ */
/* =========================================

  main layout  all

========================================= */
/*	com parts  PC
------------------------------------ */
.sns-none {
  display: none !important;
}

.over {
  overflow: hidden;
}

.pre {
  white-space: pre-line;
}

.no-sb {
  margin: 50px auto 0;
}

.anchor-mp {
  margin: -140px auto 0;
  padding-top: 140px;
}

.com-txt-box p:nth-of-type(n+2) {
  margin-top: 32px;
}
.com-txt-lg {
  font-size: 24px;
  font-size: 2.4rem;
  font-family: "zen-m", sans-serif;
}
@media screen and (max-width: 767px) {
  .com-txt-lg {
    font-size: 18px;
    font-size: 1.8rem;
  }
}

.clamp1 {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}

.clamp2 {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.clamp3 {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

@media screen and (min-width: 768px) {
  .com-pd {
    padding: 110px 0 130px;
  }
}

.news-post article:nth-of-type(n+2) {
  border-top: 1px solid #dedede;
}
.news-post article:nth-of-type(n+2) a {
  padding-top: 20px;
}
.news-post-link {
  display: block;
  padding-bottom: 20px;
}
@media screen and (min-width: 768px) {
  .news-post-link:hover h4 {
    left: 10px;
    color: #e70100;
  }
}
.news-post-time {
  font-family: "zen-m", sans-serif;
  font-size: 16px;
  font-size: 1.6rem;
  letter-spacing: 0.1em;
  color: #5f5f5f;
  line-height: 1.3;
}
@media screen and (max-width: 767px) {
  .news-post-time {
    font-size: 16px;
    font-size: 1.6rem;
  }
}
.news-post-tag {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin-left: 11px;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  line-height: 1.3;
  border-left: 1px solid #e70100;
}
.news-post-tag-txt {
  padding: 0 6px;
  border-right: 1px solid #e70100;
  text-align: center;
  color: #e70100;
  font-family: "zen-m", sans-serif;
  font-size: 16px;
  font-size: 1.6rem;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .news-post-tag-txt {
    font-size: 16px;
    font-size: 1.6rem;
  }
}
.news-post-ttl {
  margin-top: 7px;
  font-family: "zen-m", sans-serif;
  font-size: 17px;
  font-size: 1.7rem;
  letter-spacing: 0.1em;
  color: #333333;
  line-height: 2;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  position: relative;
  left: 0;
}
@media screen and (max-width: 767px) {
  .news-post-ttl {
    font-size: 16px;
    font-size: 1.6rem;
  }
}

.com-tel {
  display: inline-block;
  line-height: 1;
}
.com-tel-note {
  text-align: right;
}
.com-tel-num {
  padding-left: 49px;
  background: url(../img/top/contact-tel.png) no-repeat left center;
  font-size: 40px;
  font-size: 4rem;
  color: #000000;
  font-family: "jo-m", sans-serif;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .com-tel-num {
    font-size: 22px;
    font-size: 2.2rem;
  }
}

.com-drone-btn {
  display: block;
  width: 100%;
  max-width: 930px;
  background: #e70100;
  background: -webkit-linear-gradient(135deg, #e70100 50%, #ab032e 60%, #e70100 70%);
  background: linear-gradient(-45deg, #e70100 50%, #ab032e 60%, #e70100 70%);
  background-size: 600% 100%;
  -webkit-animation: shine 20s infinite;
          animation: shine 20s infinite;
  -webkit-animation-delay: 0s;
          animation-delay: 0s;
  -webkit-animation-timing-function: linear;
          animation-timing-function: linear;
  background-size: 600% 100%;
  text-align: center;
  font-family: "zen-b", sans-serif;
  font-size: 34px;
  font-size: 3.4rem;
  letter-spacing: 0.1em;
  color: #fff;
  position: relative;
  -webkit-animation: shine 14s infinite;
          animation: shine 14s infinite;
  animation-delay: 0s;
  animation-timing-function: linear;
}
@media screen and (max-width: 767px) {
  .com-drone-btn {
    font-size: 22px;
    font-size: 2.2rem;
  }
}
.com-drone-btn::before {
  content: "";
  display: block;
  width: 10px;
  height: 30px;
  margin: auto;
  background: url(../img/top/com-btn-arw.png) no-repeat center/contain;
  position: absolute;
  right: 30px;
  top: 0;
  bottom: 0;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.com-drone-btn-sm {
  font-size: 26px;
  font-size: 2.6rem;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .com-drone-btn-sm {
    font-size: 21px;
    font-size: 2.1rem;
  }
}
.com-drone-btn:hover {
  opacity: 1;
}
.com-drone-btn:hover::before {
  right: 25px;
}

@-webkit-keyframes shine {
  0% {
    background-position-x: 400%;
  }
  50% {
    background-position-x: 0%;
  }
  100% {
    background-position-x: -400%;
  }
}

@keyframes shine {
  0% {
    background-position-x: 400%;
  }
  50% {
    background-position-x: 0%;
  }
  100% {
    background-position-x: -400%;
  }
}
.com-works {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin: 42px auto 0;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}
.com-works-item {
  width: 100%;
  max-width: 528px;
  padding: 30px 34px 24px;
  background: #fff;
}
@media screen and (min-width: 768px) {
  .com-works-item:nth-of-type(n+3) {
    margin-top: 19px;
  }
}
.com-works-area {
  display: inline-block;
  padding: 0 10px;
  background: #000000;
  text-align: center;
  font-family: "zen-r", sans-serif;
  font-size: 16px;
  font-size: 1.6rem;
  letter-spacing: 0.1em;
  line-height: 1.6;
  color: #fff;
}
@media screen and (max-width: 767px) {
  .com-works-area {
    font-size: 16px;
    font-size: 1.6rem;
  }
}
.com-works-ttl {
  margin-top: 17px;
  padding-left: 14px;
  border-left: 6px solid #ab032e;
  font-family: "zen-m", sans-serif;
  font-size: 20px;
  font-size: 2rem;
  letter-spacing: 0.1em;
  color: #333333;
  line-height: 1.7;
}
@media screen and (max-width: 767px) {
  .com-works-ttl {
    font-size: 19px;
    font-size: 1.9rem;
  }
}
.com-works-img {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  margin: 19px auto 0;
  background: url(../img/top/works-arw.png) no-repeat 161px 119px;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
}
.com-works-img-before {
  width: 42%;
  max-width: 190px;
}
.com-works-img-before-wrap {
  width: 100%;
  height: 0;
  padding-top: 58.9%;
  position: relative;
}
.com-works-img-after {
  width: 56.5%;
  max-width: 260px;
  margin-top: 10px;
}
.com-works-img-after-wrap {
  width: 100%;
  height: 0;
  padding-top: 65.4%;
  position: relative;
}
.com-works-txt {
  font-family: "jo-sb", sans-serif;
  font-size: 16px;
  font-size: 1.6rem;
  letter-spacing: 0.1em;
  color: #e70100;
}
@media screen and (max-width: 767px) {
  .com-works-txt {
    font-size: 16px;
    font-size: 1.6rem;
  }
}
.com-works-txt-after {
  text-align: right;
  color: #ab032e;
}
.com-works-link {
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
@media screen and (min-width: 768px) {
  .com-works-link:hover::after {
    margin-left: 26px;
  }
}

.com-bg {
  background: url(../img/top/service-bg-r.png) no-repeat right bottom, url(../img/company/greeting-bg.jpg) no-repeat center/cover;
  position: relative;
  overflow: hidden;
}
.com-bg::before, .com-bg::after {
  content: "";
  display: block;
  position: absolute;
}
.com-bg::before {
  width: 9.6%;
  height: 0;
  padding-top: 12.9%;
  background: url(../img/top/service-bg-lt.png) no-repeat left top/contain;
  top: 0;
  left: 11.1%;
}
.com-bg::after {
  width: 13.1%;
  height: 0;
  padding-top: 15.5%;
  background: url(../img/top/service-bg-lb.png) no-repeat left top/contain;
  bottom: 0;
  left: 0;
}
.com-bg02 {
  background-color: #f6f6f6;
}
.com-bg03 {
  background: url(../img/price/about-l.png) no-repeat calc(50% - 785px) bottom, url(../img/price/about-bg.jpg) no-repeat center/cover;
  position: relative;
  overflow: hidden;
}
.com-bg03::before, .com-bg03::after {
  content: "";
  display: block;
  position: absolute;
}
.com-bg03::before {
  width: 17%;
  height: 0;
  padding-top: 15.5%;
  background: url(../img/price/about-b.png) no-repeat center/contain;
  bottom: 0;
  right: 20px;
}
.com-bg03::after {
  width: 9.6%;
  height: 0;
  padding-top: 12.9%;
  background: url(../img/price/about-t.png) no-repeat center/contain;
  top: 0;
  right: 19%;
}

.com-box {
  width: 70%;
  padding: 67px 15px 80px;
  background: #fff;
}
.com-box02 {
  width: 70%;
  margin-left: auto;
  padding: 70px 70px 70px 85px;
  background: #fff;
}

.com-con {
  width: 67.6%;
  margin-left: auto;
}
@media screen and (min-width: 768px) {
  .com-con {
    min-width: 500px;
  }
}
.com-con02 {
  width: 100%;
  max-width: 840px;
}

.com-list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin: 60px auto 0;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}
.com-list-item {
  width: 100%;
  max-width: 340px;
  padding: 37px 20px 40px;
  background: #fff;
  -webkit-box-shadow: 0px 0px 38px 0px rgba(76, 76, 76, 0.13);
          box-shadow: 0px 0px 38px 0px rgba(76, 76, 76, 0.13);
}
@media screen and (min-width: 768px) {
  .com-list-item:not(:nth-of-type(3n-2)) {
    margin-left: 29px;
  }
  .com-list-item:nth-of-type(n+4) {
    margin-top: 37px;
  }
}
.com-list-head {
  text-align: center;
}
.com-list-head-en {
  font-family: "jo-m", sans-serif;
  font-size: 18px;
  font-size: 1.8rem;
  letter-spacing: 0.1em;
  color: #e70100;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .com-list-head-en {
    font-size: 17px;
    font-size: 1.7rem;
  }
}
.com-list-head-ja {
  display: block;
  margin: 13px auto 0;
  font-family: "zen-m", sans-serif;
  font-size: 24px;
  font-size: 2.4rem;
  letter-spacing: 0.1em;
  line-height: 1.5;
  color: #333333;
}
@media screen and (max-width: 767px) {
  .com-list-head-ja {
    font-size: 18px;
    font-size: 1.8rem;
  }
}
.com-list-ico {
  margin: 20px auto 0;
  text-align: center;
}
.com-list-txt {
  margin: 15px auto 0;
}

/*	top-service  PC
------------------------------------ */
#top-service .service-bg {
  background: url(../img/top/service-bg-r.png) no-repeat right bottom, url(../img/top/service-bg.jpg) no-repeat center/cover;
  position: relative;
  overflow: hidden;
}
#top-service .service-bg::before, #top-service .service-bg::after {
  content: "";
  display: block;
  position: absolute;
}
#top-service .service-bg::before {
  width: 185px;
  height: 247px;
  background: url(../img/top/service-bg-lt.png) no-repeat left top/contain;
  top: 0;
  left: calc(50% - 749px);
}
#top-service .service-bg::after {
  width: 251px;
  height: 298px;
  background: url(../img/top/service-bg-lb.png) no-repeat left top/contain;
  bottom: 0;
  left: calc(50% - 961px);
}
#top-service .service-circle {
  width: 80%;
  height: 32%;
  position: absolute;
  top: 50%;
  left: 66%;
  -webkit-animation-duration: 15s;
          animation-duration: 15s;
  -webkit-transform-origin: 0 0;
          transform-origin: 0 0;
  -webkit-animation-timing-function: linear;
          animation-timing-function: linear;
  -webkit-animation-iteration-count: infinite;
          animation-iteration-count: infinite;
  -webkit-animation-name: rotate-item;
          animation-name: rotate-item;
}
#top-service .service-circle-drone {
  position: relative;
  -webkit-transform-origin: 0% 0%;
          transform-origin: 0% 0%;
  -webkit-animation-timing-function: linear;
          animation-timing-function: linear;
  -webkit-animation-iteration-count: infinite;
          animation-iteration-count: infinite;
  top: 142%;
  z-index: 1;
  -webkit-animation-duration: 15s;
          animation-duration: 15s;
  animation-direction: reverse;
  -webkit-animation-name: rotate-interior;
          animation-name: rotate-interior;
}
@-webkit-keyframes rotate-item {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}
@keyframes rotate-item {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}
@-webkit-keyframes rotate-interior {
  0% {
    -webkit-transform: rotate(0deg) translate(-50%, -50%);
            transform: rotate(0deg) translate(-50%, -50%);
  }
  100% {
    -webkit-transform: rotate(360deg) translate(-50%, -50%);
            transform: rotate(360deg) translate(-50%, -50%);
  }
}
@keyframes rotate-interior {
  0% {
    -webkit-transform: rotate(0deg) translate(-50%, -50%);
            transform: rotate(0deg) translate(-50%, -50%);
  }
  100% {
    -webkit-transform: rotate(360deg) translate(-50%, -50%);
            transform: rotate(360deg) translate(-50%, -50%);
  }
}
#top-service .service-box {
  width: 48.9%;
  background-color: #fff;
}
#top-service .service-box-con {
  width: 100%;
  max-width: 520px;
  margin-left: auto;
  padding-bottom: 35px;
  position: relative;
  top: -35px;
}
#top-service .service-txt {
  margin-top: 38px;
}

/*	top-check  PC
------------------------------------ */
#top-check .check-bg {
  background: url(../img/top/check-ila-l.png) no-repeat calc(50% - 524px) 216px, url(../img/top/check-ila-r.png) no-repeat calc(50% + 571px) 191px #f6f6f6;
  text-align: center;
}
#top-check .check-fuki {
  display: inline-block;
  padding: 14px 34px;
  border: 1px solid #000000;
  background: #fff;
  text-align: center;
  font-family: "zen-m", sans-serif;
  font-size: 30px;
  font-size: 3rem;
  letter-spacing: 0.1em;
  line-height: 1;
  position: relative;
}
@media screen and (max-width: 767px) {
  #top-check .check-fuki {
    font-size: 22px;
    font-size: 2.2rem;
  }
}
#top-check .check-fuki::before {
  content: "";
  display: block;
  width: 16px;
  height: 14px;
  margin: auto;
  background: url(../img/top/check-arw.png) no-repeat center/contain;
  position: absolute;
  bottom: -13px;
  left: 0;
  right: 0;
}
#top-check .check-head {
  margin: 40px auto 0;
  font-family: "zen-m", sans-serif;
  font-size: 40px;
  font-size: 4rem;
  letter-spacing: 0.1em;
  color: #333333;
}
@media screen and (max-width: 767px) {
  #top-check .check-head {
    font-size: 22px;
    font-size: 2.2rem;
  }
}
#top-check .check-head-lg {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(75%, transparent), color-stop(75%, #f6d4d4));
  background: -webkit-linear-gradient(transparent 75%, #f6d4d4 75%);
  background: linear-gradient(transparent 75%, #f6d4d4 75%);
  font-size: 50px;
  font-size: 5rem;
  letter-spacing: 0.1em;
  line-height: 1.6;
  position: relative;
}
@media screen and (max-width: 767px) {
  #top-check .check-head-lg {
    font-size: 30px;
    font-size: 3rem;
  }
}
#top-check .check-head-lg::before {
  content: "";
  display: block;
  width: 221px;
  height: 8px;
  background: url(../img/top/check-dot.png) no-repeat center/contain;
  position: absolute;
  top: -9px;
  left: 24px;
}
#top-check .check-box {
  width: 93.7%;
  max-width: 1800px;
  height: 745px;
  margin: 200px auto 0;
  border: 20px solid #fff;
  background: url(../img/top/check-bg.jpg) no-repeat center top/cover;
  position: relative;
  z-index: 1;
}
#top-check .check-box-link {
  display: block;
  width: 47px;
  height: 47px;
  background: url(../img/top/check-ico.png) no-repeat center/contain;
  position: absolute;
  -webkit-transform: scale(1);
          transform: scale(1);
  z-index: 2;
}
#top-check .check-box-link:hover {
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
  opacity: 1;
  cursor: pointer;
}
#top-check .check-box-link01 {
  top: 110px;
  left: calc(50% - 294px);
}
#top-check .check-box-link01:hover + .check-box-content01 {
  visibility: inherit;
  opacity: 1;
}
#top-check .check-box-link02 {
  top: 202px;
  right: calc(50% - 19px);
}
#top-check .check-box-link02:hover + .check-box-content02 {
  visibility: inherit;
  opacity: 1;
}
#top-check .check-box-link03 {
  top: 195px;
  right: calc(50% - 211px);
}
#top-check .check-box-link03:hover + .check-box-content03 {
  visibility: inherit;
  opacity: 1;
}
#top-check .check-box-link04 {
  bottom: 254px;
  left: calc(50% - 337px);
}
#top-check .check-box-link04:hover + .check-box-content04 {
  visibility: inherit;
  opacity: 1;
}
#top-check .check-box-link05 {
  bottom: 156px;
  left: calc(50% - 190px);
}
#top-check .check-box-link05:hover + .check-box-content05 {
  visibility: inherit;
  opacity: 1;
}
#top-check .check-box-link06 {
  bottom: 130px;
  right: calc(50% - 90px);
}
#top-check .check-box-link06:hover + .check-box-content06 {
  visibility: inherit;
  opacity: 1;
}
#top-check .check-box-link07 {
  bottom: 260px;
  right: calc(50% - 326px);
}
#top-check .check-box-link07:hover + .check-box-content07 {
  visibility: inherit;
  opacity: 1;
}
#top-check .check-box-content {
  width: 260px;
  min-height: 220px;
  padding: 15px;
  background: #fff;
  position: absolute;
  z-index: 1;
  visibility: hidden;
  opacity: 0;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
#top-check .check-box-content::before {
  content: "";
  display: block;
  width: 2px;
  height: 100px;
  background-color: #fff;
  position: absolute;
  z-index: -1;
}
#top-check .check-box-content01 {
  top: -143px;
  left: calc(50% - 424px);
}
#top-check .check-box-content01::before {
  left: 121px;
  bottom: -40px;
  -webkit-transform: rotate(-24deg);
          transform: rotate(-24deg);
}
#top-check .check-box-content02 {
  top: -93px;
  right: calc(50% - 123px);
}
#top-check .check-box-content02::before {
  left: 132px;
  bottom: -74px;
}
#top-check .check-box-content03 {
  top: -147px;
  right: calc(50% - 420px);
}
#top-check .check-box-content03::before {
  left: 62px;
  bottom: -82px;
  -webkit-transform: rotate(24deg);
          transform: rotate(24deg);
}
#top-check .check-box-content04 {
  bottom: -79px;
  left: calc(50% - 530px);
}
#top-check .check-box-content04::before {
  height: 129px;
  top: -119px;
  left: 182px;
  -webkit-transform: rotate(24deg);
          transform: rotate(24deg);
}
#top-check .check-box-content05 {
  bottom: -145px;
  left: calc(50% - 253px);
}
#top-check .check-box-content05::before {
  top: -81px;
  left: 77px;
  -webkit-transform: rotate(6deg);
          transform: rotate(6deg);
}
#top-check .check-box-content06 {
  bottom: -121px;
  right: calc(50% - 276px);
}
#top-check .check-box-content06::before {
  top: -34px;
  left: 77px;
  -webkit-transform: rotate(-19deg);
          transform: rotate(-19deg);
}
#top-check .check-box-content07 {
  bottom: -6px;
  right: calc(50% - 516px);
}
#top-check .check-box-content07::before {
  top: -43px;
  left: 90px;
  -webkit-transform: rotate(-39deg);
          transform: rotate(-39deg);
}
#top-check .check-box-ttl {
  margin-top: 10px;
  text-align: center;
  font-family: "zen-m", sans-serif;
  font-size: 24px;
  font-size: 2.4rem;
  letter-spacing: 0.1em;
  color: #333333;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  #top-check .check-box-ttl {
    font-size: 18px;
    font-size: 1.8rem;
  }
}
@media screen and (min-width: 768px) {
  #top-check .check-box-ttl {
    white-space: nowrap;
  }
}
#top-check .check-box-ttl-ac {
  color: #ab032e;
}

/*	top-about  PC
------------------------------------ */
#top-about .about-bg {
  background: url(../img/top/about-bg-b.png) no-repeat calc(50% + 356px) bottom, url(../img/top/about-ico-l.png) no-repeat calc(50% - 738px) 237px;
  position: relative;
}
#top-about .about-arw {
  text-align: center;
}
#top-about .about-img-t {
  width: 30.5%;
  position: absolute;
  top: 138px;
  right: 0;
}
#top-about .about-img-t img {
  width: 100%;
}
#top-about .about-img-b {
  position: absolute;
  left: calc(50% - 960px);
  bottom: 122px;
}
#top-about .about-box {
  width: 54.6%;
  margin-top: 65px;
  margin-left: auto;
  padding: 90px 0 110px 96px;
  background: url(../img/top/about-ico-r.png) no-repeat right top/28% #f6f6f6;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 1391px) {
  #top-about .about-box {
    background-size: 157px;
  }
}
#top-about .about-box-ila {
  position: absolute;
  left: -497px;
  top: -68px;
}
#top-about .about-box-con {
  max-width: 543px;
}
#top-about .about-btn {
  margin-top: 47px;
}
#top-about .com-txt-box {
  margin-top: 28px;
}

/*	top-flow  PC
------------------------------------ */
#top-flow .flow-bg {
  background: url(../img/top/flow-bg.png) no-repeat 87px bottom;
}
#top-flow .flow-list {
  margin: 65px auto 0;
  padding-top: 28px;
  padding-left: 616px;
  background: url(../img/top/flow-drone.png) no-repeat 0 116px, url(../img/top/flow-shape.png) no-repeat 251px top;
}
@media screen and (min-width: 768px) {
  #top-flow .flow-list {
    height: 590px;
  }
}
#top-flow .flow-list-item {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
#top-flow .flow-list-item:nth-of-type(n+2) {
  margin-top: 47px;
}
#top-flow .flow-list-item:nth-of-type(2), #top-flow .flow-list-item:nth-of-type(4) {
  margin-left: 90px;
}
#top-flow .flow-list-item:nth-of-type(3) {
  margin-left: 125px;
}
#top-flow .flow-list-ico {
  display: block;
  width: 70px;
  height: 70px;
  background-color: #fff;
  background-position: center;
  background-repeat: no-repeat;
  border-radius: 50%;
  -webkit-box-shadow: 0px 0px 0 0px rgba(76, 76, 76, 0);
          box-shadow: 0px 0px 0 0px rgba(76, 76, 76, 0);
  -webkit-animation-delay: 0;
          animation-delay: 0;
}
#top-flow .flow-list-ico01 {
  background-image: url(../img/top/flow-ico01.png);
  -webkit-animation: shadow01 5s infinite;
          animation: shadow01 5s infinite;
}
#top-flow .flow-list-ico02 {
  background-image: url(../img/top/flow-ico02.png);
  -webkit-animation: shadow02 5s infinite;
          animation: shadow02 5s infinite;
}
#top-flow .flow-list-ico03 {
  background-image: url(../img/top/flow-ico03.png);
  -webkit-animation: shadow03 5s infinite;
          animation: shadow03 5s infinite;
}
#top-flow .flow-list-ico04 {
  background-image: url(../img/top/flow-ico04.png);
  -webkit-animation: shadow04 5s infinite;
          animation: shadow04 5s infinite;
}
#top-flow .flow-list-ico05 {
  background-image: url(../img/top/flow-ico05.png);
  -webkit-animation: shadow05 5s infinite;
          animation: shadow05 5s infinite;
}
@-webkit-keyframes shadow01 {
  0% {
    -webkit-box-shadow: 0px 0px 10px 0px rgba(76, 76, 76, 0);
            box-shadow: 0px 0px 10px 0px rgba(76, 76, 76, 0);
  }
  10% {
    -webkit-box-shadow: 0px 0px 38px 0px rgba(76, 76, 76, 0.5);
            box-shadow: 0px 0px 38px 0px rgba(76, 76, 76, 0.5);
  }
  20% {
    -webkit-box-shadow: 0px 0px 10px 0px rgba(76, 76, 76, 0);
            box-shadow: 0px 0px 10px 0px rgba(76, 76, 76, 0);
  }
  100% {
    -webkit-box-shadow: 0px 0px 0 0px rgba(76, 76, 76, 0);
            box-shadow: 0px 0px 0 0px rgba(76, 76, 76, 0);
  }
}
@keyframes shadow01 {
  0% {
    -webkit-box-shadow: 0px 0px 10px 0px rgba(76, 76, 76, 0);
            box-shadow: 0px 0px 10px 0px rgba(76, 76, 76, 0);
  }
  10% {
    -webkit-box-shadow: 0px 0px 38px 0px rgba(76, 76, 76, 0.5);
            box-shadow: 0px 0px 38px 0px rgba(76, 76, 76, 0.5);
  }
  20% {
    -webkit-box-shadow: 0px 0px 10px 0px rgba(76, 76, 76, 0);
            box-shadow: 0px 0px 10px 0px rgba(76, 76, 76, 0);
  }
  100% {
    -webkit-box-shadow: 0px 0px 0 0px rgba(76, 76, 76, 0);
            box-shadow: 0px 0px 0 0px rgba(76, 76, 76, 0);
  }
}
@-webkit-keyframes shadow02 {
  0% {
    -webkit-box-shadow: 0px 0px 0 0px rgba(76, 76, 76, 0);
            box-shadow: 0px 0px 0 0px rgba(76, 76, 76, 0);
  }
  20% {
    -webkit-box-shadow: 0px 0px 0 0px rgba(76, 76, 76, 0);
            box-shadow: 0px 0px 0 0px rgba(76, 76, 76, 0);
  }
  30% {
    -webkit-box-shadow: 0px 0px 38px 0px rgba(76, 76, 76, 0.5);
            box-shadow: 0px 0px 38px 0px rgba(76, 76, 76, 0.5);
  }
  40% {
    -webkit-box-shadow: 0px 0px 10px 0px rgba(76, 76, 76, 0);
            box-shadow: 0px 0px 10px 0px rgba(76, 76, 76, 0);
  }
  100% {
    -webkit-box-shadow: 0px 0px 0 0px rgba(76, 76, 76, 0);
            box-shadow: 0px 0px 0 0px rgba(76, 76, 76, 0);
  }
}
@keyframes shadow02 {
  0% {
    -webkit-box-shadow: 0px 0px 0 0px rgba(76, 76, 76, 0);
            box-shadow: 0px 0px 0 0px rgba(76, 76, 76, 0);
  }
  20% {
    -webkit-box-shadow: 0px 0px 0 0px rgba(76, 76, 76, 0);
            box-shadow: 0px 0px 0 0px rgba(76, 76, 76, 0);
  }
  30% {
    -webkit-box-shadow: 0px 0px 38px 0px rgba(76, 76, 76, 0.5);
            box-shadow: 0px 0px 38px 0px rgba(76, 76, 76, 0.5);
  }
  40% {
    -webkit-box-shadow: 0px 0px 10px 0px rgba(76, 76, 76, 0);
            box-shadow: 0px 0px 10px 0px rgba(76, 76, 76, 0);
  }
  100% {
    -webkit-box-shadow: 0px 0px 0 0px rgba(76, 76, 76, 0);
            box-shadow: 0px 0px 0 0px rgba(76, 76, 76, 0);
  }
}
@-webkit-keyframes shadow03 {
  0% {
    -webkit-box-shadow: 0px 0px 0 0px rgba(76, 76, 76, 0);
            box-shadow: 0px 0px 0 0px rgba(76, 76, 76, 0);
  }
  40% {
    -webkit-box-shadow: 0px 0px 0 0px rgba(76, 76, 76, 0);
            box-shadow: 0px 0px 0 0px rgba(76, 76, 76, 0);
  }
  50% {
    -webkit-box-shadow: 0px 0px 38px 0px rgba(76, 76, 76, 0.5);
            box-shadow: 0px 0px 38px 0px rgba(76, 76, 76, 0.5);
  }
  60% {
    -webkit-box-shadow: 0px 0px 10px 0px rgba(76, 76, 76, 0);
            box-shadow: 0px 0px 10px 0px rgba(76, 76, 76, 0);
  }
  100% {
    -webkit-box-shadow: 0px 0px 0 0px rgba(76, 76, 76, 0);
            box-shadow: 0px 0px 0 0px rgba(76, 76, 76, 0);
  }
}
@keyframes shadow03 {
  0% {
    -webkit-box-shadow: 0px 0px 0 0px rgba(76, 76, 76, 0);
            box-shadow: 0px 0px 0 0px rgba(76, 76, 76, 0);
  }
  40% {
    -webkit-box-shadow: 0px 0px 0 0px rgba(76, 76, 76, 0);
            box-shadow: 0px 0px 0 0px rgba(76, 76, 76, 0);
  }
  50% {
    -webkit-box-shadow: 0px 0px 38px 0px rgba(76, 76, 76, 0.5);
            box-shadow: 0px 0px 38px 0px rgba(76, 76, 76, 0.5);
  }
  60% {
    -webkit-box-shadow: 0px 0px 10px 0px rgba(76, 76, 76, 0);
            box-shadow: 0px 0px 10px 0px rgba(76, 76, 76, 0);
  }
  100% {
    -webkit-box-shadow: 0px 0px 0 0px rgba(76, 76, 76, 0);
            box-shadow: 0px 0px 0 0px rgba(76, 76, 76, 0);
  }
}
@-webkit-keyframes shadow04 {
  0% {
    -webkit-box-shadow: 0px 0px 0 0px rgba(76, 76, 76, 0);
            box-shadow: 0px 0px 0 0px rgba(76, 76, 76, 0);
  }
  60% {
    -webkit-box-shadow: 0px 0px 0 0px rgba(76, 76, 76, 0);
            box-shadow: 0px 0px 0 0px rgba(76, 76, 76, 0);
  }
  70% {
    -webkit-box-shadow: 0px 0px 38px 0px rgba(76, 76, 76, 0.5);
            box-shadow: 0px 0px 38px 0px rgba(76, 76, 76, 0.5);
  }
  80% {
    -webkit-box-shadow: 0px 0px 10px 0px rgba(76, 76, 76, 0);
            box-shadow: 0px 0px 10px 0px rgba(76, 76, 76, 0);
  }
  100% {
    -webkit-box-shadow: 0px 0px 0 0px rgba(76, 76, 76, 0);
            box-shadow: 0px 0px 0 0px rgba(76, 76, 76, 0);
  }
}
@keyframes shadow04 {
  0% {
    -webkit-box-shadow: 0px 0px 0 0px rgba(76, 76, 76, 0);
            box-shadow: 0px 0px 0 0px rgba(76, 76, 76, 0);
  }
  60% {
    -webkit-box-shadow: 0px 0px 0 0px rgba(76, 76, 76, 0);
            box-shadow: 0px 0px 0 0px rgba(76, 76, 76, 0);
  }
  70% {
    -webkit-box-shadow: 0px 0px 38px 0px rgba(76, 76, 76, 0.5);
            box-shadow: 0px 0px 38px 0px rgba(76, 76, 76, 0.5);
  }
  80% {
    -webkit-box-shadow: 0px 0px 10px 0px rgba(76, 76, 76, 0);
            box-shadow: 0px 0px 10px 0px rgba(76, 76, 76, 0);
  }
  100% {
    -webkit-box-shadow: 0px 0px 0 0px rgba(76, 76, 76, 0);
            box-shadow: 0px 0px 0 0px rgba(76, 76, 76, 0);
  }
}
@-webkit-keyframes shadow05 {
  0% {
    -webkit-box-shadow: 0px 0px 0 0px rgba(76, 76, 76, 0);
            box-shadow: 0px 0px 0 0px rgba(76, 76, 76, 0);
  }
  80% {
    -webkit-box-shadow: 0px 0px 0 0px rgba(76, 76, 76, 0);
            box-shadow: 0px 0px 0 0px rgba(76, 76, 76, 0);
  }
  90% {
    -webkit-box-shadow: 0px 0px 38px 0px rgba(76, 76, 76, 0.5);
            box-shadow: 0px 0px 38px 0px rgba(76, 76, 76, 0.5);
  }
  100% {
    -webkit-box-shadow: 0px 0px 10px 0px rgba(76, 76, 76, 0);
            box-shadow: 0px 0px 10px 0px rgba(76, 76, 76, 0);
  }
}
@keyframes shadow05 {
  0% {
    -webkit-box-shadow: 0px 0px 0 0px rgba(76, 76, 76, 0);
            box-shadow: 0px 0px 0 0px rgba(76, 76, 76, 0);
  }
  80% {
    -webkit-box-shadow: 0px 0px 0 0px rgba(76, 76, 76, 0);
            box-shadow: 0px 0px 0 0px rgba(76, 76, 76, 0);
  }
  90% {
    -webkit-box-shadow: 0px 0px 38px 0px rgba(76, 76, 76, 0.5);
            box-shadow: 0px 0px 38px 0px rgba(76, 76, 76, 0.5);
  }
  100% {
    -webkit-box-shadow: 0px 0px 10px 0px rgba(76, 76, 76, 0);
            box-shadow: 0px 0px 10px 0px rgba(76, 76, 76, 0);
  }
}
#top-flow .flow-list-ttl {
  margin-left: 30px;
  font-family: "zen-m", sans-serif;
  font-size: 24px;
  font-size: 2.4rem;
  letter-spacing: 0.1em;
  color: #333333;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  #top-flow .flow-list-ttl {
    font-size: 18px;
    font-size: 1.8rem;
  }
}
#top-flow .flow-list-ttl-num {
  display: block;
  font-family: "jo-m", sans-serif;
  font-size: 18px;
  font-size: 1.8rem;
  color: #e70100;
  letter-spacing: 0.1em;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  #top-flow .flow-list-ttl-num {
    font-size: 17px;
    font-size: 1.7rem;
  }
}

/*	top-works  PC
------------------------------------ */
#top-works .works-bg {
  background: url(../img/top/works-ila.png) no-repeat calc(50% + 400px) 44px, url(../img/top/works-shape.png) no-repeat calc(50% + 615px) 56% #f6f6f6;
}
#top-works .works-txt {
  margin: 38px auto 0;
  text-align: center;
}
#top-works .works-btn {
  margin: 60px auto 0;
}
#top-works .com-head01 {
  text-align: center;
}

/*	top-bnr  PC
------------------------------------ */
#top-bnr .bnr-list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}
#top-bnr .bnr-list-item {
  width: 29.7%;
  padding: 8px;
  background: url(../img/top/bnr-bg.png) no-repeat center/cover;
  position: relative;
}
#top-bnr .bnr-list-item:nth-of-type(n+2) {
  margin-left: 35px;
}
#top-bnr .bnr-list-link {
  display: block;
  padding-top: 55%;
}
@media screen and (min-width: 768px) {
  #top-bnr .bnr-list-link:hover {
    background-size: 120%;
    opacity: 1;
  }
  #top-bnr .bnr-list-link:hover .bnr-list-btn {
    background-position: calc(100% - 15px) center, center;
  }
}
#top-bnr .bnr-list-link-reason {
  background: url(../img/top/bnr-reason.jpg) no-repeat center/100%;
}
#top-bnr .bnr-list-link-price {
  background: url(../img/top/bnr-price.jpg) no-repeat center/100%;
}
#top-bnr .bnr-list-link-company {
  background: url(../img/top/bnr-company.jpg) no-repeat center/100%;
}
#top-bnr .bnr-list-ttl {
  margin: auto;
  text-align: center;
  font-family: "jo-sb", sans-serif;
  font-size: 3vw;
  letter-spacing: 0.1em;
  color: #fff;
  position: absolute;
  top: 55%;
  left: 7%;
  right: 0;
}
#top-bnr .bnr-list-ttl03 {
  left: 22%;
}
#top-bnr .bnr-list-btn {
  width: 59.7%;
  margin-left: auto;
  padding: 4.2% 0;
  background: url(../img/top/com-btn-arw.png) no-repeat calc(100% - 20px) center/3%, url(../img/top/bnr-btn-bg.png) no-repeat center/cover;
  text-align: center;
  font-family: "zen-m", sans-serif;
  font-size: clamp(15px, 1.65vw, 32px);
  letter-spacing: 0.1em;
  color: #fff;
  line-height: 1;
  position: absolute;
  bottom: 0;
  right: 0;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

/*	top-drone  PC
------------------------------------ */
#top-drone .drone-bg {
  background: url(../img/top/drone-shape-l.png) no-repeat 10.9% top/16.5%, url(../img/top/drone-img.jpg) no-repeat left top/69.5%;
}
#top-drone .drone-box {
  width: 58.9%;
  margin-left: auto;
  padding: 94px 0 85px 85px;
  background: #f6f6f6;
  position: relative;
}
@media screen and (max-width: 1278px) {
  #top-drone .drone-box {
    padding-left: 20px;
  }
}
#top-drone .drone-box::before, #top-drone .drone-box::after {
  content: "";
  display: block;
  position: absolute;
}
#top-drone .drone-box::before {
  width: 756px;
  height: 372px;
  background: url(../img/top/drone-ico.png) no-repeat center/contain;
  top: -257px;
  right: 150px;
}
@media screen and (max-width: 1714px) {
  #top-drone .drone-box::before {
    width: 454px;
    height: 227px;
    top: -157px;
  }
}
#top-drone .drone-box::after {
  width: 326px;
  height: 298px;
  background: url(../img/top/drone-shape-r.png) no-repeat center/contain;
  right: 114px;
  bottom: -70px;
}
#top-drone .drone-btn {
  margin: 80px auto 0;
}
#top-drone .com-txt-box {
  margin-top: 37px;
}

/*	top-recruit  PC
------------------------------------ */
#top-recruit .recruit-bg {
  background: url(../img/top/recruit-img-lg.jpg) no-repeat calc(50% - 210px) 80px, url(../img/top/recruit-img.jpg) no-repeat center top;
}
@media screen and (min-width: 1921px) {
  #top-recruit .recruit-bg {
    background-size: auto, 100%;
  }
}
#top-recruit .recruit-box {
  width: 100%;
  max-width: 1000px;
  margin: 50px 0 0;
  padding: 30px 0 52px;
  border: 10px solid #fff;
  text-align: center;
  position: relative;
}
#top-recruit .recruit-box-ila {
  position: absolute;
  top: -414px;
  right: -59px;
}
#top-recruit .recruit-box-ttl {
  display: inline-block;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(70%, transparent), color-stop(70%, #d85664));
  background: -webkit-linear-gradient(transparent 70%, #d85664 70%);
  background: linear-gradient(transparent 70%, #d85664 70%);
  font-family: "zen-b", sans-serif;
  font-size: 52px;
  font-size: 5.2rem;
  letter-spacing: 0.1em;
  line-height: 1.5;
  color: #fff;
}
@media screen and (max-width: 767px) {
  #top-recruit .recruit-box-ttl {
    font-size: 30px;
    font-size: 3rem;
  }
}
#top-recruit .recruit-box-ttl-sm {
  font-size: 42px;
  font-size: 4.2rem;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  #top-recruit .recruit-box-ttl-sm {
    font-size: 22px;
    font-size: 2.2rem;
  }
}
#top-recruit .recruit-box-txt {
  margin: 18px auto 0;
  font-family: "zen-b", sans-serif;
  font-size: 24px;
  font-size: 2.4rem;
  letter-spacing: 0.1em;
  color: #fff;
  line-height: 1.9;
}
@media screen and (max-width: 767px) {
  #top-recruit .recruit-box-txt {
    font-size: 18px;
    font-size: 1.8rem;
  }
}
#top-recruit .recruit-btn {
  margin: 37px auto 0;
}
#top-recruit .com-head01-en, #top-recruit .com-head01-ja, #top-recruit .com-head01-ac {
  color: #fff;
}

/*	com-contact  PC
------------------------------------ */
.com-contact-bg {
  background: url(../img/top/contact-shape.png) no-repeat 90% bottom/10%, url(../img/top/contact-bg.jpg) no-repeat center/cover;
}
.com-contact-info {
  margin: 50px auto 0;
}
.com-contact-btn {
  padding-left: 40px;
  background: url(../img/top/contact-mail.png) no-repeat 100px center, url(../img/top/com-btn-arw.png) no-repeat calc(100% - 20px) center/7px #000000;
}
@media screen and (min-width: 768px) {
  .com-contact-btn {
    width: 355px;
  }
  .com-contact-btn:hover {
    background-position: 100px center, calc(100% - 17px) center;
  }
}
@media screen and (min-width: 768px) {
  .com-contact-btn-wrap {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    height: 90px;
    margin-left: 76px;
    padding-left: 82px;
    border-left: 2px dashed #888888;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
@media screen and (min-width: 768px) {
  .com-contact-line-wrap {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    height: 90px;
    margin-left: 82px;
    padding-left: 82px;
    border-left: 2px dashed #888888;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.com-contact-time {
  margin: 60px auto 0;
  padding: 8px;
  background-color: #fff;
  text-align: center;
  font-family: "zen-m", sans-serif;
  font-size: 18px;
  font-size: 1.8rem;
  letter-spacing: 0.1em;
  color: #333333;
}
@media screen and (max-width: 767px) {
  .com-contact-time {
    font-size: 17px;
    font-size: 1.7rem;
  }
}
.com-contact .com-tel-num {
  margin-top: 17px;
}

/*	top-news  PC
------------------------------------ */
#top-news .com-head01-en {
  font-size: 54px;
  font-size: 5.4rem;
}
@media screen and (max-width: 767px) {
  #top-news .com-head01-en {
    font-size: 30px;
    font-size: 3rem;
  }
}
#top-news .com-head01-ja {
  font-size: 28px;
  font-size: 2.8rem;
}
@media screen and (max-width: 767px) {
  #top-news .com-head01-ja {
    font-size: 21px;
    font-size: 2.1rem;
  }
}
#top-news .news-post {
  width: 100%;
  max-width: 826px;
}
#top-news .news-btn {
  margin-top: 90px;
}

/* =========================================

sub layout  PC

========================================= */
/*	reason  PC
------------------------------------ */
#reason .about-bg {
  padding: 130px 0 290px;
  background: url(../img/top/service-bg-r.png) no-repeat right bottom, url(../img/reason/about-bg.jpg) no-repeat center/cover;
}
#reason .about-ttl {
  text-align: left;
}
@media screen and (min-width: 768px) and (max-width: 1788px) {
  #reason .about-con {
    width: 77%;
  }
}
@media screen and (min-width: 768px) and (max-width: 1788px) and (max-width: 1489px) {
  #reason .about-con {
    width: 95%;
  }
}
#reason .about-ila {
  position: absolute;
  right: calc(50% - 650px);
  bottom: -12px;
}
@media screen and (min-width: 768px) and (max-width: 1788px) {
  #reason .about-ila {
    width: 570px;
  }
}
#reason .about .com-txt-box {
  margin-top: 30px;
}
#reason .reason-bg {
  background: url(../img/reason/reason-l.png) no-repeat calc(50% - 740px) bottom, url(../img/reason/reason-r.png) no-repeat calc(50% + 625px) 1265px, url(../img/reason/reason-drone.png) no-repeat calc(50% - 583px) 130px #f6f6f6;
}
#reason .reason-list {
  margin: 60px auto 0;
}
#reason .reason-list-item {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  padding: 50px 70px 50px 50px;
  background: #fff;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-shadow: 0px 0px 38px 0px rgba(76, 76, 76, 0.13);
          box-shadow: 0px 0px 38px 0px rgba(76, 76, 76, 0.13);
}
@media screen and (min-width: 768px) {
  #reason .reason-list-item {
    min-height: 317px;
  }
}
#reason .reason-list-item:nth-of-type(2n) {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -webkit-flex-direction: row-reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
#reason .reason-list-item:nth-of-type(n+2) {
  margin-top: 51px;
}
#reason .reason-list-con {
  width: 100%;
  max-width: 530px;
}
#reason .reason-list-ttl-en {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  font-family: "jo-m", sans-serif;
  font-size: 18px;
  font-size: 1.8rem;
  letter-spacing: 0.1em;
  color: #e70100;
  line-height: 1;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 767px) {
  #reason .reason-list-ttl-en {
    font-size: 17px;
    font-size: 1.7rem;
  }
}
#reason .reason-list-ttl-en::after {
  content: "";
  display: block;
  width: 6px;
  height: 6px;
  margin-left: 12px;
  background: #e70100;
  border-radius: 50%;
}
#reason .reason-list-ttl-ja {
  display: block;
  margin-top: 3px;
  font-family: "zen-m", sans-serif;
  font-size: 30px;
  font-size: 3rem;
  letter-spacing: 0.1em;
  color: #333333;
}
@media screen and (max-width: 767px) {
  #reason .reason-list-ttl-ja {
    font-size: 22px;
    font-size: 2.2rem;
  }
}
#reason .reason-list-ttl-ac {
  color: #e70100;
}
#reason .reason-list-txt {
  font-size: 16px;
  font-size: 1.6rem;
}
@media screen and (max-width: 767px) {
  #reason .reason-list-txt {
    font-size: 16px;
    font-size: 1.6rem;
  }
}
#reason .reason-list-txt-box {
  margin-top: 17px;
}
#reason .after-bg {
  padding: 200px 0 160px;
  background: url(../img/reason/after-img-b.jpg) no-repeat calc(50% - 257px) bottom, url(../img/reason/after-img-t.jpg) no-repeat calc(50% - 423px) 81px, url(../img/reason/after-bg.png) no-repeat right center;
}
#reason .after-box {
  width: 60.5%;
  margin-left: auto;
  padding: 80px 0 81px 73px;
  background: url(../img/reason/after-shape.png) no-repeat calc(100% - 45px) bottom/28.1% #f6f6f6;
}
@media screen and (max-width: 1441px) {
  #reason .after-box {
    padding: 50px 15px 50px 40px;
  }
  #reason .after-box .after-ttl {
    font-size: 40px;
    font-size: 4rem;
  }
}
@media screen and (max-width: 1441px) and (max-width: 767px) {
  #reason .after-box .after-ttl {
    font-size: 22px;
    font-size: 2.2rem;
  }
}
#reason .after-ttl {
  font-family: "zen-m", sans-serif;
  font-size: 50px;
  font-size: 5rem;
  letter-spacing: 0.1em;
  color: #333333;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  #reason .after-ttl {
    font-size: 30px;
    font-size: 3rem;
  }
}
#reason .after-ttl01 {
  color: #ab032e;
}
#reason .after-ttl02 {
  color: #e70100;
}
#reason .after-list {
  margin-top: 35px;
}
#reason .after-list-item {
  padding-left: 30px;
  font-family: "zen-m", sans-serif;
  font-size: 20px;
  font-size: 2rem;
  letter-spacing: 0.1em;
  color: #333333;
  position: relative;
}
@media screen and (max-width: 767px) {
  #reason .after-list-item {
    font-size: 19px;
    font-size: 1.9rem;
  }
}
#reason .after-list-item::before {
  content: "";
  display: block;
  width: 9px;
  height: 9px;
  margin: auto;
  background: #000000;
  border-radius: 50%;
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
}
#reason .after-list-item:nth-of-type(n+2) {
  margin-top: 10px;
}
#reason .after-list-item-ac {
  font-size: 24px;
  font-size: 2.4rem;
  letter-spacing: 0.1em;
  color: #e70100;
}
@media screen and (max-width: 767px) {
  #reason .after-list-item-ac {
    font-size: 18px;
    font-size: 1.8rem;
  }
}

/*	price  PC
------------------------------------ */
#price .about-ttl {
  text-align: left;
}
#price .about .com-txt-box {
  margin-top: 34px;
}
#price .price-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0 34px;
}
@media screen and (min-width: 768px) {
  #price .price-table-scroll {
    margin: 50px auto 0;
  }
}
#price .price-table th, #price .price-table td {
  vertical-align: middle;
}
#price .price-table th {
  text-align: center;
}
@media screen and (min-width: 768px) {
  #price .price-table th {
    width: 165px;
  }
}
#price .price-table td {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  padding-left: 23px;
  text-align: center;
  font-family: "zen-m", sans-serif;
  font-size: 24px;
  font-size: 2.4rem;
  letter-spacing: 0.1em;
  color: #fff;
}
@media screen and (max-width: 767px) {
  #price .price-table td {
    font-size: 18px;
    font-size: 1.8rem;
  }
}
@media screen and (min-width: 768px) {
  #price .price-table td {
    width: 892px;
  }
  #price .price-table td span {
    padding: 30px 0;
  }
}
#price .price-table-hs {
  font-family: "shi-m", serif;
  font-size: 24px;
  font-size: 2.4rem;
  letter-spacing: 0.1em;
  color: #000000;
}
@media screen and (max-width: 767px) {
  #price .price-table-hs {
    font-size: 18px;
    font-size: 1.8rem;
  }
}
#price .price-table-hs01 {
  color: #ab032e;
}
#price .price-table-hs02 {
  color: #e70100;
}
#price .price-table-hs-price {
  display: block;
  font-family: "zen-b", sans-serif;
  font-size: 24px;
  font-size: 2.4rem;
  letter-spacing: 0.1em;
  color: #e70100;
}
@media screen and (max-width: 767px) {
  #price .price-table-hs-price {
    font-size: 18px;
    font-size: 1.8rem;
  }
}
#price .price-table-other {
  font-family: "zen-m", sans-serif;
  font-size: 24px;
  font-size: 2.4rem;
  letter-spacing: 0.1em;
  color: #ab032e;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  #price .price-table-other {
    font-size: 18px;
    font-size: 1.8rem;
  }
}
#price .price-table-other-price {
  display: block;
  margin: 8px auto 0;
  font-family: "zen-m", sans-serif;
  font-size: 18px;
  font-size: 1.8rem;
  letter-spacing: 0.1em;
  color: #000000;
}
@media screen and (max-width: 767px) {
  #price .price-table-other-price {
    font-size: 17px;
    font-size: 1.7rem;
  }
}
#price .price-table-120 {
  width: 13.5%;
  background: #e70100;
}
#price .price-table-143 {
  width: 16%;
  background-color: #ab032e;
}
#price .price-table-118 {
  width: 13.2%;
  background-color: #aeaeae;
}
#price .price-table-182 {
  width: 20.4%;
  background-color: #ab032e;
}
#price .price-table-200 {
  width: 22.4%;
  background-color: #e09e20;
}
#price .price-table-220 {
  width: 24.7%;
  background-color: #6c6c6c;
}
#price .price-table-170 {
  width: 19.1%;
  background-color: #aeaeae;
}
#price .paint-note {
  margin: 11px auto 0;
  text-align: center;
  font-family: "zen-m", sans-serif;
  font-size: 20px;
  font-size: 2rem;
  letter-spacing: 0.1em;
  color: #333333;
}
@media screen and (max-width: 767px) {
  #price .paint-note {
    font-size: 19px;
    font-size: 1.9rem;
  }
}
#price .paint-list {
  margin: 40px auto 0;
}
#price .paint-list-item:nth-of-type(n+2) {
  margin-top: 50px;
}
#price .paint-list-flex {
  margin-top: 14px;
}
#price .paint-list-detail {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  max-width: 785px;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}
#price .paint-list-detail-item {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  border: 2px solid #6c6c6c;
  text-align: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
#price .paint-list-detail-item01 .paint-list-detail-txt {
  width: 150px;
}
#price .paint-list-detail-item02 {
  margin-left: 38px;
}
#price .paint-list-detail-item02 .paint-list-detail-txt {
  width: 275px;
}
#price .paint-list-detail-item03 .paint-list-detail-ttl {
  padding: 8px 27px;
}
#price .paint-list-detail-item04 .paint-list-detail-ttl {
  padding: 8px 30px;
}
#price .paint-list-detail-item05 .paint-list-detail-ttl {
  height: 100%;
  padding-left: 27px;
  padding-right: 27px;
}
#price .paint-list-detail-item:nth-of-type(n+3) {
  margin-top: 21px;
}
#price .paint-list-detail-item:nth-of-type(n+3) .paint-list-detail-txt {
  width: 93px;
}
#price .paint-list-detail-item:nth-of-type(n+4) {
  margin-left: 22px;
}
#price .paint-list-detail-ttl {
  padding: 6px 42px;
  font-family: "zen-m", sans-serif;
  font-size: 18px;
  font-size: 1.8rem;
  letter-spacing: 0.1em;
  color: #fff;
  background: #6c6c6c;
}
@media screen and (max-width: 767px) {
  #price .paint-list-detail-ttl {
    font-size: 17px;
    font-size: 1.7rem;
  }
}
#price .paint-list-detail-txt {
  font-family: "zen-m", sans-serif;
  font-size: 18px;
  font-size: 1.8rem;
  letter-spacing: 0.1em;
  -webkit-column-rule-color: #333333;
     -moz-column-rule-color: #333333;
          column-rule-color: #333333;
}
@media screen and (max-width: 767px) {
  #price .paint-list-detail-txt {
    font-size: 17px;
    font-size: 1.7rem;
  }
}
#price .paint-list-box {
  margin: 32px auto 0;
  padding: 27px 0 30px;
  background: #ffffff;
  text-align: center;
  -webkit-box-shadow: 0px 0px 38px 0px rgba(76, 76, 76, 0.13);
          box-shadow: 0px 0px 38px 0px rgba(76, 76, 76, 0.13);
}
#price .paint-list-box-ttl {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  font-family: "zen-m", sans-serif;
  font-size: 22px;
  font-size: 2.2rem;
  letter-spacing: 0.1em;
  color: #e70100;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (max-width: 767px) {
  #price .paint-list-box-ttl {
    font-size: 18px;
    font-size: 1.8rem;
  }
}
#price .paint-list-box-ttl::before, #price .paint-list-box-ttl::after {
  content: "";
  display: block;
  width: 8px;
  height: 8px;
  background: #e70100;
  border-radius: 50%;
}
#price .paint-list-box-ttl::before {
  margin-right: 20px;
}
#price .paint-list-box-ttl::after {
  margin-left: 20px;
}
#price .paint-tables {
  margin: 82px auto 0;
}
#price .paint-tables-item {
  margin-top: 82px;
}
#price .paint-table {
  width: 100%;
  margin: 34px auto 0;
  table-layout: fixed;
}
#price .paint-table tr:nth-of-type(n+3) {
  border-top: 1px solid #dadada;
}
#price .paint-table tr th:nth-of-type(n+3) {
  border-left: 1px solid #fff;
}
#price .paint-table tr th:nth-of-type(2) {
  background-color: #73c0dd;
}
#price .paint-table tr th:nth-of-type(3) {
  background-color: #ababab;
}
#price .paint-table tr th:nth-of-type(4) {
  background-color: #2c85b8;
}
#price .paint-table tr th:nth-of-type(5) {
  background-color: #2e2e2e;
}
#price .paint-table tr td:nth-of-type(n+2) {
  border-left: 1px solid #dadada;
}
@media screen and (min-width: 768px) {
  #price .paint-table tr td:nth-of-type(1) {
    width: 220px;
  }
}
#price .paint-table th, #price .paint-table td {
  text-align: center;
}
#price .paint-table th {
  font-family: "zen-m", sans-serif;
  font-size: 20px;
  font-size: 2rem;
  letter-spacing: 0.1em;
  color: #fff;
}
@media screen and (max-width: 767px) {
  #price .paint-table th {
    font-size: 19px;
    font-size: 1.9rem;
  }
}
#price .paint-table td {
  padding: 16px 0;
  background: #f6f6f6;
  font-family: "zen-m", sans-serif;
  font-size: 20px;
  font-size: 2rem;
  letter-spacing: 0.1em;
  color: #333333;
}
@media screen and (max-width: 767px) {
  #price .paint-table td {
    font-size: 19px;
    font-size: 1.9rem;
  }
}
#price .plan-bg {
  background: url(../img/price/plan-b.png) no-repeat 5.2% bottom/8.6%, url(../img/price/plan-l.png) no-repeat calc(50% - 640px) 236px, url(../img/price/plan-r.png) no-repeat 100% top/16.5% #f6f6f6;
}
@media screen and (min-width: 1921px) {
  #price .plan-bg {
    background-size: auto, auto, auto;
  }
}
#price .plan-list-item:nth-of-type(n+2) {
  margin: 75px auto 0;
  padding-top: 85px;
  border-top: 1px solid #c1c1c1;
}
#price .plan-list-flex02 {
  margin: 31px auto 0;
}
#price .plan-list-ttl {
  padding-left: 36px;
  font-family: "zen-m", sans-serif;
  font-size: 50px;
  font-size: 5rem;
  letter-spacing: 0.1em;
  color: #333333;
  line-height: 1.5;
  position: relative;
}
@media screen and (max-width: 767px) {
  #price .plan-list-ttl {
    font-size: 30px;
    font-size: 3rem;
  }
}
#price .plan-list-ttl::before {
  content: "";
  display: block;
  width: 12px;
  height: 12px;
  background: #e70100;
  border-radius: 50%;
  position: absolute;
  top: 37px;
  left: 0;
}
#price .plan-list-ttl-ac {
  color: #e70100;
}
#price .plan-list-con {
  width: 100%;
  max-width: 570px;
}
#price .plan-list-txt {
  margin-top: 24px;
}
#price .plan-table {
  width: 100%;
}
#price .plan-table tr:nth-of-type(n+3) {
  border-top: 1px solid #dadada;
}
#price .plan-table tr th:nth-of-type(n+2), #price .plan-table tr td:nth-of-type(n+2) {
  border-left: 1px solid #dadada;
}
#price .plan-table th, #price .plan-table td {
  padding: 13px 0;
  text-align: center;
  font-family: "zen-m", sans-serif;
  font-size: 20px;
  font-size: 2rem;
}
@media screen and (max-width: 767px) {
  #price .plan-table th, #price .plan-table td {
    font-size: 19px;
    font-size: 1.9rem;
  }
}
#price .plan-table th {
  background: #ab032e;
  letter-spacing: 0.1em;
  color: #fff;
}
#price .plan-table td {
  background: #fff;
}
#price .plan-table-list {
  margin: 47px auto 0;
}
#price .plan-table-list li:nth-of-type(n+2) {
  margin-top: 37px;
}
#price .plan-table-list-ttl {
  margin-bottom: 23px;
  font-size: 24px;
  font-size: 2.4rem;
}
@media screen and (max-width: 767px) {
  #price .plan-table-list-ttl {
    font-size: 18px;
    font-size: 1.8rem;
  }
}
@media screen and (min-width: 768px) {
  #price .plan-table-th {
    width: 715px;
  }
}
#price .plan-note {
  margin: 35px auto 0;
  text-align: center;
  font-family: "zen-m", sans-serif;
  font-size: 20px;
  font-size: 2rem;
  letter-spacing: 0.1em;
  color: #333333;
}
@media screen and (max-width: 767px) {
  #price .plan-note {
    font-size: 19px;
    font-size: 1.9rem;
  }
}

/*	works  PC
------------------------------------ */
#works .works-bg {
  background: #f6f6f6;
}
#works .detail .com-works-item {
  max-width: 100%;
  padding: 50px;
}
#works .detail .com-works-ttl {
  margin-top: 24px;
  font-size: 30px;
  font-size: 3rem;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  #works .detail .com-works-ttl {
    font-size: 22px;
    font-size: 2.2rem;
  }
}
#works .detail .com-works-img {
  margin-top: 47px;
  background-size: 41px;
  background-position: 359px 261px;
}
#works .detail .com-works-img-before {
  max-width: 402px;
}
#works .detail .com-works-img-after {
  max-width: 551px;
  margin-top: 21px;
}
#works .detail .com-works-img img {
  width: 100%;
}
#works .detail .com-works-txt {
  margin-top: 15px;
  font-size: 20px;
  font-size: 2rem;
  font-family: "jo-sb", sans-serif;
}
@media screen and (max-width: 767px) {
  #works .detail .com-works-txt {
    font-size: 19px;
    font-size: 1.9rem;
  }
}
#works .detail .com-works-txt-after {
  margin-top: 0;
  font-size: 28px;
  font-size: 2.8rem;
}
@media screen and (max-width: 767px) {
  #works .detail .com-works-txt-after {
    font-size: 21px;
    font-size: 2.1rem;
  }
}
#works .detail .com-works-detail-txt {
  margin-top: 23px;
  white-space: pre-line;
  color: #333333;
}

/*	drone  PC
------------------------------------ */
#drone .about-bg {
  background-image: url(../img/top/service-bg-r.png), url(../img/drone/drone-bg.jpg);
}
@media screen and (min-width: 768px) {
  #drone .about-box {
    width: 58.9%;
  }
  #drone .about-con {
    width: 64%;
  }
}
@media screen and (min-width: 768px) and (max-width: 1597px) {
  #drone .about-con {
    width: 85%;
  }
}
#drone .about-ttl {
  text-align: left;
}
#drone .about-ttl-ac01 {
  padding-left: 15px;
  color: #ab032e;
}
#drone .about-ttl-ac02 {
  color: #e70100;
}
#drone .about .com-txt-box {
  margin-top: 35px;
}
@media screen and (min-width: 768px) {
  #drone .about .com-txt-box {
    padding-left: 15px;
  }
}
#drone .seen-list {
  margin: 35px auto 0;
}
#drone .seen-list-item:nth-of-type(n+2) {
  margin: 34px auto 0;
}
#drone .seen-list-ttl {
  text-align: center;
  font-family: "zen-m", sans-serif;
  font-size: 24px;
  font-size: 2.4rem;
  letter-spacing: 0.1em;
  color: #ab032e;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  #drone .seen-list-ttl {
    font-size: 18px;
    font-size: 1.8rem;
  }
}
#drone .seen-list-ttl::after {
  content: "";
  display: block;
  width: 9px;
  height: 9px;
  margin: 13px auto 0;
  background: #ab032e;
  border-radius: 50%;
}
#drone .seen-list-text {
  text-align: center;
  font-size: 2.0rem;
  line-height: 1.9;
}
#drone .seen-list-text strong {
  font-weight: bold;
  font-size: 2.0rem;
}
#drone .seen-list-text .small {
  font-size: 1.6rem
}
#drone .seen-con {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin: 30px auto 0;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}
#drone .seen-con li:nth-of-type(n+2) {
  margin-left: 30px;
}
#drone .seen-con-item {
  width: 100%;
  max-width: 340px;
}
#drone .seen-con-img {
  margin: 22px auto 0;
}
#drone .seen-con-txt {
  margin: 12px auto 0;
  line-height: 1.9;
}
#drone .drone-bg {
  background-image: url(../img/top/service-bg-r.png), url(../img/drone/sec03-bg.jpg);
  background-size: auto;
  background-position: right bottom, calc(50% + 407px) top;
}
@media screen and (min-width: 1921px) {
  #drone .drone-bg {
    background-position: right bottom, right top;
  }
}
#drone .drone-box {
  background-color: #f6f6f6;
}
@media screen and (min-width: 768px) {
  #drone .drone-box {
    width: 58.9%;
    padding: 51px 15px 70px;
  }
}
@media screen and (min-width: 768px) {
  #drone .drone-con {
    width: 64%;
    min-width: 600px;
  }
}
#drone .drone-ttl {
  text-align: left;
}
#drone .drone-ttl-ac01 {
  color: #ab032e;
}
#drone .drone-ttl-ac02 {
  color: #e70100;
}
#drone .drone .com-txt-box {
  margin-top: 35px;
}
#drone .merit-sns {
  width: 100%;
  max-width: 1280px;
  margin: auto;
  padding-bottom: 130px;
}
#drone .merit-sns-box {
  padding: 85px 0 100px;
  background: #f6f6f6;
}
#drone .merit-sns-box-head {
  text-align: center;
  font-family: "zen-m", sans-serif;
  font-size: 50px;
  font-size: 5rem;
  letter-spacing: 0.1em;
  color: #333333;
}
@media screen and (max-width: 767px) {
  #drone .merit-sns-box-head {
    font-size: 30px;
    font-size: 3rem;
  }
}
#drone .merit-sns-box-head-ac {
  color: #ab032e;
}
#drone .merit-sns-flex {
  margin: 50px auto 0;
}
#drone .merit-sns-flex-item {
  width: 100%;
  max-width: 530px;
}
#drone .merit-sns-flex-item:nth-of-type(n+2) {
  margin-left: 55px;
}
#drone .merit-sns-flex-btn {
  margin: 0;
}

/*	recruit  PC
------------------------------------ */
#recruit .about-bg {
  background-image: url(../img/price/about-l.png), url(../img/recruit/about-bg.jpg);
  background-position: calc(50% - 770px) bottom, center;
}
#recruit .about-box {
  width: 90%;
  max-width: 1280px;
  margin: auto;
  padding: 60px 100px;
}
@media screen and (min-width: 768px) {
  #recruit .about-box {
    position: relative;
  }
}
#recruit .about-con {
  margin: 0;
}
@media screen and (min-width: 768px) {
  #recruit .about-con {
    min-width: 616px;
  }
}
#recruit .about-ttl {
  text-align: left;
}
#recruit .about-ila {
  width: 46.7%;
  position: absolute;
  bottom: 0;
  right: -56px;
  z-index: 1;
}
@media screen and (min-width: 768px) and (max-width: 1394px) {
  #recruit .about-ila {
    width: 400px;
    right: -13px;
  }
}
#recruit .about .com-txt-box {
  margin-top: 25px;
}
#recruit .job-bg {
  background: url(../img/recruit/job-bg.jpg) no-repeat center bottom;
}
@media screen and (min-width: 1921px) {
  #recruit .job-bg {
    background-size: 100%;
  }
}
#recruit .job-box {
  width: 57%;
  padding: 85px 0 90px;
  background-image: -webkit-linear-gradient(-45deg, rgb(171, 3, 46) 0%, rgb(231, 1, 0) 100%);
}
#recruit .job-con {
  width: 100%;
  max-width: 675px;
  margin-left: auto;
}
#recruit .job-ttl {
  font-family: "zen-m", sans-serif;
  font-size: 50px;
  font-size: 5rem;
  letter-spacing: 0.1em;
  color: #fff;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  #recruit .job-ttl {
    font-size: 30px;
    font-size: 3rem;
  }
}
#recruit .job-list {
  margin-top: 30px;
}
#recruit .job-list-item {
  padding-left: 28px;
  font-family: "zen-m", sans-serif;
  font-size: 24px;
  font-size: 2.4rem;
  letter-spacing: 0.1em;
  line-height: 1.5;
  color: #fff;
  position: relative;
}
@media screen and (max-width: 767px) {
  #recruit .job-list-item {
    font-size: 18px;
    font-size: 1.8rem;
  }
}
#recruit .job-list-item::before {
  content: "";
  display: block;
  width: 9px;
  height: 9px;
  background: #fff;
  border-radius: 50%;
  position: absolute;
  left: 0;
  top: 15px;
}
#recruit .job-list-item:nth-of-type(n+2) {
  margin-top: 15px;
}
#recruit .feature-bg {
  background: url(../img/recruit/feature-r.png) no-repeat calc(50% + 600px) 494px, url(../img/recruit/feature-l.png) no-repeat calc(50% - 725px) bottom #f6f6f6;
}
@media screen and (min-width: 768px) {
  #recruit .feature .com-list-head-ja02 {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    height: 72px;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
#recruit .feature .com-head02-ac {
  color: #ab032e;
}
#recruit .feature .com-head02-ac02 {
  color: #e70100;
}
#recruit .model-txt {
  margin: 13px auto 0;
  text-align: center;
  font-size: 20px;
  font-size: 2rem;
}
@media screen and (max-width: 767px) {
  #recruit .model-txt {
    font-size: 19px;
    font-size: 1.9rem;
  }
}
#recruit .model-list {
  margin: 38px auto 0;
}
#recruit .model-list-item {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  padding: 42px 40px;
  background: #f6f6f6;
}
#recruit .model-list-con {
  width: 100%;
  max-width: 782px;
  margin-left: 30px;
}
#recruit .model-list-ttl {
  padding: 0 20px 20px;
  border-bottom: 1px solid #909090;
  font-family: "zen-m", sans-serif;
  font-size: 30px;
  font-size: 3rem;
  letter-spacing: 0.1em;
  color: #333333;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  #recruit .model-list-ttl {
    font-size: 22px;
    font-size: 2.2rem;
  }
}
#recruit .model-table {
  width: 100%;
  margin-top: 36px;
}
#recruit .model-table th {
  width: 177px;
  text-align: center;
  border: 2px solid #ab032e;
  font-family: "zen-m", sans-serif;
  font-size: 40px;
  font-size: 4rem;
  letter-spacing: 0.1em;
  color: #ab032e;
}
@media screen and (max-width: 767px) {
  #recruit .model-table th {
    font-size: 22px;
    font-size: 2.2rem;
  }
}
#recruit .model-table td {
  padding-left: 55px;
  font-family: "zen-m", sans-serif;
  font-size: 20px;
  font-size: 2rem;
  letter-spacing: 0.1em;
  color: #333333;
  line-height: 1.7;
}
@media screen and (max-width: 767px) {
  #recruit .model-table td {
    font-size: 19px;
    font-size: 1.9rem;
  }
}
#recruit .recruit-table {
  margin: 43px auto 0;
}
#recruit .recruit-table th, #recruit .recruit-table td {
  line-height: 2.2;
}
#recruit .contact-bg {
  background: url(../img/recruit/contact-ico.png) no-repeat calc(50% - 725px) bottom, url(../img/recruit/contact-ila.png) no-repeat 95% bottom/29.7%, url(../img/recruit/contact-bg.jpg) no-repeat center/cover;
}
@media screen and (min-width: 768px) and (max-width: 1313px) {
  #recruit .contact-bg {
    background-position: calc(50% - 725px) bottom, 98% bottom, center;
  }
}
#recruit .contact .com-head02-ac {
  color: #e70100;
}
@media screen and (min-width: 768px) {
  #recruit .contact .com-contact-btn-wrap {
    margin-left: 45px;
    padding-left: 45px;
  }
}
#recruit .contact-txt {
  margin: 11px auto 0;
  text-align: center;
}
#recruit .contact-time {
  background: #e70100;
  color: #fff;
}
#recruit .contact .com-tel-num {
  margin-top: 17px;
}

/*	company  PC
------------------------------------ */
#company .greeting-box {
  width: 70.2%;
  padding: 70px 80px 70px 0;
  background: #fff;
}
#company .greeting-con {
  width: 67%;
  max-width: 832px;
  min-width: 600px;
  margin-left: auto;
}
#company .greeting .com-head01-en {
  font-size: 60px;
  font-size: 6rem;
  font-family: "zen-m", sans-serif;
}
@media screen and (max-width: 767px) {
  #company .greeting .com-head01-en {
    font-size: 30px;
    font-size: 3rem;
  }
}
#company .greeting .com-head01-ja {
  display: block;
  margin-top: 30px;
  font-family: "zen-m", sans-serif;
  font-size: 32px;
  font-size: 3.2rem;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  #company .greeting .com-head01-ja {
    font-size: 22px;
    font-size: 2.2rem;
  }
}
#company .greeting .com-head01-ac {
  color: #e70100;
}
#company .greeting .com-head01-ac01 {
  color: #ab032e;
}
#company .greeting .com-txt-box {
  margin-top: 45px;
}
#company .company-bg {
  background: #f6f6f6;
}
#company .company-table {
  margin: 35px auto 0;
}

/*	contact  PC
------------------------------------ */
#contact .upload-item-wrap:nth-of-type(n+2) {
  margin-top: 15px;
}

/*	news  PC
------------------------------------ */
#news .detail .com-head02 {
  display: block;
  text-align: left;
  font-size: 40px;
  font-size: 4rem;
}
@media screen and (max-width: 767px) {
  #news .detail .com-head02 {
    font-size: 22px;
    font-size: 2.2rem;
  }
}
#news .detail .com-head02::first-letter {
  color: #e70100;
}