#header .header .head-logo {
  position: absolute;
  top: 40px;
  width: 420px;
  height: 75px;
  padding-top: 0;
}

@media (max-width: 480px) {
  #header .header .head-logo {
    position: static;
    width: 51vw;
    height: auto;
  }
}

#header .header .head-logo img.only_pc {
  display: none;
}

#header .header .head-logo img.only_sp {
  display: block;
}

#contents {
  position: relative;
}

#contents::before {
  position: absolute;
  content: "";
  display: block;
  width: 590px;
  height: 850px;
  background-image: url(../img/section_bg_top.png);
  background-size: contain;
  background-repeat: no-repeat;
  top: 0;
  right: -20px;
}

@media (max-width: 480px) {
  #contents::before {
    width: 94.4vw;
    height: 184.3vw;
    background-image: url(../img/section_bg_top-sp.png);
  }
}

#contents::after {
  position: absolute;
  content: "";
  display: block;
  width: 552px;
  height: 880px;
  background-image: url(../img/section_bg_bottom.png);
  background-size: contain;
  background-repeat: no-repeat;
  bottom: 0;
  left: 0;
}

@media (max-width: 480px) {
  #contents::after {
    width: 47vw;
    height: 106.7vw;
    background-image: url(../img/section_bg_bottom-sp.png);
    bottom: 10%;
  }
}

#visual {
  position: relative;
  width: 100%;
  height: 900px;
  overflow-x: clip;
  z-index: 1;
}

@media (max-width: 480px) {
  #visual {
    aspect-ratio: 782 / 934;
    height: auto;
    max-height: none;
    min-height: auto;
  }
}

#visual .visual-imgarea {
  position: relative;
  width: 100%;
  min-width: 1600px;
  height: 100%;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

@media (max-width: 480px) {
  #visual .visual-imgarea {
    min-width: 100%;
  }
}

#visual .visual-imgarea::after {
  position: absolute;
  content: "";
  display: block;
  width: 536px;
  height: 320px;
  top: calc(50% - 105px);
  left: 240px;
  background-image: url(../img/visual_ttl.png);
  background-size: contain;
  background-repeat: no-repeat;
  z-index: 10;
}

@media (max-width: 480px) {
  #visual .visual-imgarea::after {
    content: none;
  }
}

#visual .visual-imgarea .visual_bg {
  position: relative;
  height: 100%;
  background-image: url(../img/visual_bg.png);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

@media (max-width: 480px) {
  #visual .visual-imgarea .visual_bg {
    background-image: url(../img/visual-img01-sp.jpg);
  }
}

#visual .visual-imgarea .left-image {
  position: absolute;
  top: 0;
  left: -1px;
  width: 746px;
  height: auto;
  z-index: 10;
}

@media (max-width: 480px) {
  #visual .visual-imgarea .left-image {
    display: none;
  }
}

#visual .visual-imgarea .left-image img {
  width: 100%;
  height: auto;
  vertical-align: bottom;
  display: block;
}

#visual .visual-imgarea .left-image::after {
  position: absolute;
  content: "";
  display: block;
  width: 322px;
  height: 538px;
  background-image: url(../img/point_mv-t.png);
  background-size: contain;
  background-repeat: no-repeat;
  top: 0;
  left: 640px;
  opacity: 0.2;
}

#visual .right-image {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 123px;
  height: auto;
}

@media (max-width: 480px) {
  #visual .right-image img {
    opacity: 0;
  }
}

#visual .right-image::after {
  position: absolute;
  content: "";
  display: block;
  width: 231px;
  height: 386px;
  background-image: url(../img/point_mv-b.png);
  background-size: contain;
  background-repeat: no-repeat;
  bottom: -165px;
  right: 123px;
  opacity: 0.6;
}

@media (max-width: 480px) {
  #visual .right-image::after {
    right: 7vw;
    bottom: -36px;
    width: 19vw;
    height: 32vw;
  }
}

/*============================
#about
============================*/
#about.sec-top-about {
  position: relative;
  padding-top: 140px;
  overflow-x: clip;
  z-index: 10;
}

@media (max-width: 480px) {
  #about.sec-top-about {
    padding-top: 50px;
  }
}

#about.sec-top-about .top-about__set01 .top-about-block01 .top-about-block01__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 52px;
}

@media (max-width: 480px) {
  #about.sec-top-about .top-about__set01 .top-about-block01 .top-about-block01__body {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    gap: 25px;
  }
}

#about.sec-top-about .top-about__set01 .top-about-block01 .top-about-block01__body .top-about-block01__body--txt {
  width: 56%;
}

@media (max-width: 480px) {
  #about.sec-top-about .top-about__set01 .top-about-block01 .top-about-block01__body .top-about-block01__body--txt {
    width: 100%;
  }
}

#about.sec-top-about .top-about__set01 .top-about-block01 .top-about-block01__body .top-about-block01__body--txt .ttl {
  font-size: 2.6rem;
  line-height: 1.6;
  font-weight: bold;
  color: #076891;
  margin-bottom: 40px;
}

@media (max-width: 480px) {
  #about.sec-top-about .top-about__set01 .top-about-block01 .top-about-block01__body .top-about-block01__body--txt .ttl {
    font-size: 1.6rem;
    letter-spacing: 0.15rem;
    margin-bottom: 20px;
    -webkit-font-feature-settings: "palt";
            font-feature-settings: "palt";
  }
}

#about.sec-top-about .top-about__set01 .top-about-block01 .top-about-block01__body .top-about-block01__body--txt .msg p {
  margin-bottom: 30px;
}

@media (max-width: 480px) {
  #about.sec-top-about .top-about__set01 .top-about-block01 .top-about-block01__body .top-about-block01__body--txt .msg p {
    line-height: 1.5;
  }
}

#about.sec-top-about .top-about__set01 .top-about-block01 .top-about-block01__body .top-about-block01__body--txt .msg p:last-child {
  margin-bottom: 0;
}

#about.sec-top-about .top-about__set01 .top-about-block01 .top-about-block01__body .top-about-block01__body--img {
  width: 498px;
  height: 414px;
}

#about.sec-top-about .top-about__set01 .top-about-block01 .top-about-block01__body .top-about-block01__body--img img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

@media (max-width: 480px) {
  #about.sec-top-about .top-about__set01 .top-about-block01 .top-about-block01__body .top-about-block01__body--img {
    width: 100vw;
    min-width: auto;
    height: auto;
    margin-left: -4.4%;
    overflow-x: clip;
  }
}

/*============================
#service
============================*/
#service.sec-top-service .top-service__set01 {
  padding: 190px 0;
}

@media (max-width: 480px) {
  #service.sec-top-service .top-service__set01 {
    padding: 50px 0;
  }
}

#service.sec-top-service .top-service__set01 .top-service-block01 .top-service-block01__body .top-service-block01__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
}

@media (max-width: 480px) {
  #service.sec-top-service .top-service__set01 .top-service-block01 .top-service-block01__body .top-service-block01__list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 22px;
  }
}

#service.sec-top-service .top-service__set01 .top-service-block01 .top-service-block01__body .top-service-block01__list .top-service-block01__item {
  display: -ms-grid;
  display: grid;
  grid-auto-columns: 90px 1fr;
  -ms-grid-rows: 65px 80px 1fr;
      grid-template-rows: 65px 80px 1fr;
  gap: 30px 20px;
  width: calc(100% / 3);
  padding: 20px 34px;
}

@media (max-width: 480px) {
  #service.sec-top-service .top-service__set01 .top-service-block01 .top-service-block01__body .top-service-block01__list .top-service-block01__item {
    grid-auto-columns: 28vw 1fr;
    -ms-grid-rows: 20vw 15vw 1fr;
        grid-template-rows: 20vw 15vw 1fr;
    width: 100%;
    gap: 17px;
    padding: 8px 0 35px;
  }
}

#service.sec-top-service .top-service__set01 .top-service-block01 .top-service-block01__body .top-service-block01__list .top-service-block01__item:not(:last-child) {
  border-right: 2px solid rgba(7, 104, 145, 0.2);
}

@media (max-width: 480px) {
  #service.sec-top-service .top-service__set01 .top-service-block01 .top-service-block01__body .top-service-block01__list .top-service-block01__item:not(:last-child) {
    border-right: none;
    border-bottom: 2px solid rgba(7, 104, 145, 0.2);
  }
}

#service.sec-top-service .top-service__set01 .top-service-block01 .top-service-block01__body .top-service-block01__list .top-service-block01__item .item__num {
  -ms-grid-row: 1;
  -ms-grid-row-span: 1;
  grid-row: 1 / 2;
  -ms-grid-column: 1;
  -ms-grid-column-span: 1;
  grid-column: 1 / 2;
  font-family: "Poppins", sans-serif;
  font-size: 8rem;
  font-weight: 500;
  line-height: 0.9;
  color: rgba(138, 159, 186, 0.2);
}

@media (max-width: 480px) {
  #service.sec-top-service .top-service__set01 .top-service-block01 .top-service-block01__body .top-service-block01__list .top-service-block01__item .item__num {
    -ms-grid-column: 1;
    -ms-grid-column-span: 2;
    grid-column: 1 / 3;
    font-size: 24.4vw;
    text-align: center;
  }
}

#service.sec-top-service .top-service__set01 .top-service-block01 .top-service-block01__body .top-service-block01__list .top-service-block01__item .item__num.ls {
  letter-spacing: 0.45rem;
}

#service.sec-top-service .top-service__set01 .top-service-block01 .top-service-block01__body .top-service-block01__list .top-service-block01__item .item__ttl {
  -ms-grid-row: 1;
  -ms-grid-row-span: 1;
  grid-row: 1 / 2;
  -ms-grid-column: 2;
  -ms-grid-column-span: 1;
  grid-column: 2 / 3;
  font-size: 2.5rem;
  font-weight: bold;
  color: #076891;
  line-height: 1.4;
}

@media (max-width: 480px) {
  #service.sec-top-service .top-service__set01 .top-service-block01 .top-service-block01__body .top-service-block01__list .top-service-block01__item .item__ttl {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -ms-grid-row: 2;
    -ms-grid-row-span: 1;
    grid-row: 2 / 3;
    -ms-grid-column: 2;
    -ms-grid-column-span: 1;
    grid-column: 2 / 3;
    font-size: 5.7vw;
  }
}

#service.sec-top-service .top-service__set01 .top-service-block01 .top-service-block01__body .top-service-block01__list .top-service-block01__item .item__img {
  -ms-grid-row: 2;
  -ms-grid-row-span: 1;
  grid-row: 2 / 3;
  -ms-grid-column: 1;
  -ms-grid-column-span: 2;
  grid-column: 1 / 3;
  width: 115px;
  height: auto;
  margin: 0 auto;
}

@media (max-width: 480px) {
  #service.sec-top-service .top-service__set01 .top-service-block01 .top-service-block01__body .top-service-block01__list .top-service-block01__item .item__img {
    -ms-grid-column: 1;
    -ms-grid-column-span: 1;
    grid-column: 1 / 2;
    width: 21vw;
  }
}

#service.sec-top-service .top-service__set01 .top-service-block01 .top-service-block01__body .top-service-block01__list .top-service-block01__item .item__img img {
  display: block;
  width: 100%;
}

#service.sec-top-service .top-service__set01 .top-service-block01 .top-service-block01__body .top-service-block01__list .top-service-block01__item .item__txt {
  -ms-grid-row: 3;
  -ms-grid-row-span: 1;
  grid-row: 3 / 4;
  -ms-grid-column: 1;
  -ms-grid-column-span: 2;
  grid-column: 1 / 3;
  letter-spacing: 0.05rem;
}

/*============================
#recruit
============================*/
#recruit.sec-top-recruit {
  position: relative;
  padding-bottom: 80px;
  z-index: 10;
}

@media (max-width: 480px) {
  #recruit.sec-top-recruit {
    padding-bottom: 50px;
  }
}

#recruit.sec-top-recruit .top-recruit__set01 .uni-btn02 {
  position: relative;
  width: 1100px;
  overflow-x: clip;
}

@media (max-width: 480px) {
  #recruit.sec-top-recruit .top-recruit__set01 .uni-btn02 {
    width: 100%;
  }
}

#recruit.sec-top-recruit .top-recruit__set01 .uni-btn02 .inner {
  position: relative;
  display: block;
  z-index: 1;
}

#recruit.sec-top-recruit .top-recruit__set01 .uni-btn02 .inner .inner_txt {
  position: absolute;
  bottom: 35px;
  right: 100px;
  color: #fff;
  font-size: 3.5rem;
  font-weight: 500;
}

@media (max-width: 480px) {
  #recruit.sec-top-recruit .top-recruit__set01 .uni-btn02 .inner .inner_txt {
    display: none;
  }
}

#recruit.sec-top-recruit .top-recruit__set01 .uni-btn02 .inner .inner_txt .arrow {
  position: relative;
  display: inline-block;
  width: 40px;
  height: 2px;
  background-color: #fff;
  margin-left: 10px;
  margin-bottom: 5px;
}

#recruit.sec-top-recruit .top-recruit__set01 .uni-btn02 .inner .inner_txt .arrow::before {
  content: "";
  position: absolute;
  top: calc(50% - 2px);
  right: 0;
  width: 10px;
  height: 2px;
  background-color: #fff;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  -webkit-transform-origin: calc(100% - 2px) 50%;
          transform-origin: calc(100% - 2px) 50%;
}

#recruit.sec-top-recruit .top-recruit__set01 .uni-btn02 .inner::before {
  position: absolute;
  content: "";
  width: 453px;
  height: 570px;
  bottom: -27px;
  left: -28px;
  background-image: url(../img/bunner-item01.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: bottom left;
  z-index: 10;
}

@media (max-width: 480px) {
  #recruit.sec-top-recruit .top-recruit__set01 .uni-btn02 .inner::before {
    content: none;
  }
}

#recruit.sec-top-recruit .top-recruit__set01 .uni-btn02 .inner::after {
  content: "";
  position: absolute;
  bottom: 4%;
  left: 24%;
  width: 123px;
  height: 65px;
  background-image: url(../img/bunner-item02.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: top left;
  z-index: 2;
  pointer-events: none;
  -webkit-transition: none;
  transition: none;
}

@media (max-width: 480px) {
  #recruit.sec-top-recruit .top-recruit__set01 .uni-btn02 .inner::after {
    display: none;
  }
}

@-webkit-keyframes drive {
  0% {
    left: 25%;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  5% {
    -webkit-transform: translateY(-1px);
            transform: translateY(-1px);
  }
  10% {
    -webkit-transform: translateY(1px);
            transform: translateY(1px);
  }
  15% {
    -webkit-transform: translateY(-1px);
            transform: translateY(-1px);
  }
  20% {
    -webkit-transform: translateY(1px);
            transform: translateY(1px);
  }
  25% {
    -webkit-transform: translateY(-1px);
            transform: translateY(-1px);
  }
  30% {
    -webkit-transform: translateY(1px);
            transform: translateY(1px);
  }
  35% {
    -webkit-transform: translateY(-1px);
            transform: translateY(-1px);
  }
  40% {
    -webkit-transform: translateY(1px);
            transform: translateY(1px);
  }
  45% {
    -webkit-transform: translateY(-1px);
            transform: translateY(-1px);
  }
  50% {
    -webkit-transform: translateY(1px);
            transform: translateY(1px);
  }
  55% {
    -webkit-transform: translateY(-1px);
            transform: translateY(-1px);
  }
  60% {
    -webkit-transform: translateY(1px);
            transform: translateY(1px);
  }
  65% {
    -webkit-transform: translateY(-1px);
            transform: translateY(-1px);
  }
  70% {
    -webkit-transform: translateY(1px);
            transform: translateY(1px);
  }
  75% {
    -webkit-transform: translateY(-1px);
            transform: translateY(-1px);
  }
  80% {
    -webkit-transform: translateY(1px);
            transform: translateY(1px);
  }
  85% {
    -webkit-transform: translateY(-1px);
            transform: translateY(-1px);
  }
  90% {
    -webkit-transform: translateY(1px);
            transform: translateY(1px);
  }
  95% {
    -webkit-transform: translateY(-1px);
            transform: translateY(-1px);
  }
  100% {
    left: calc(100% + 123px);
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}

@keyframes drive {
  0% {
    left: 25%;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  5% {
    -webkit-transform: translateY(-1px);
            transform: translateY(-1px);
  }
  10% {
    -webkit-transform: translateY(1px);
            transform: translateY(1px);
  }
  15% {
    -webkit-transform: translateY(-1px);
            transform: translateY(-1px);
  }
  20% {
    -webkit-transform: translateY(1px);
            transform: translateY(1px);
  }
  25% {
    -webkit-transform: translateY(-1px);
            transform: translateY(-1px);
  }
  30% {
    -webkit-transform: translateY(1px);
            transform: translateY(1px);
  }
  35% {
    -webkit-transform: translateY(-1px);
            transform: translateY(-1px);
  }
  40% {
    -webkit-transform: translateY(1px);
            transform: translateY(1px);
  }
  45% {
    -webkit-transform: translateY(-1px);
            transform: translateY(-1px);
  }
  50% {
    -webkit-transform: translateY(1px);
            transform: translateY(1px);
  }
  55% {
    -webkit-transform: translateY(-1px);
            transform: translateY(-1px);
  }
  60% {
    -webkit-transform: translateY(1px);
            transform: translateY(1px);
  }
  65% {
    -webkit-transform: translateY(-1px);
            transform: translateY(-1px);
  }
  70% {
    -webkit-transform: translateY(1px);
            transform: translateY(1px);
  }
  75% {
    -webkit-transform: translateY(-1px);
            transform: translateY(-1px);
  }
  80% {
    -webkit-transform: translateY(1px);
            transform: translateY(1px);
  }
  85% {
    -webkit-transform: translateY(-1px);
            transform: translateY(-1px);
  }
  90% {
    -webkit-transform: translateY(1px);
            transform: translateY(1px);
  }
  95% {
    -webkit-transform: translateY(-1px);
            transform: translateY(-1px);
  }
  100% {
    left: calc(100% + 123px);
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}

#recruit.sec-top-recruit .top-recruit__set01 .uni-btn02 .inner:hover .arrow {
  -webkit-transform: translateX(10px);
          transform: translateX(10px);
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
}

#recruit.sec-top-recruit .top-recruit__set01 .uni-btn02 .inner:hover::after {
  -webkit-animation: drive 3s cubic-bezier(0.31, 0.07, 0.71, 0.32) forwards;
          animation: drive 3s cubic-bezier(0.31, 0.07, 0.71, 0.32) forwards;
  opacity: 1;
}

#recruit.sec-top-recruit::after {
  position: absolute;
  content: "";
  display: block;
  width: 167px;
  height: 225px;
  background-image: url(../img/point_bottom.png);
  background-size: contain;
  background-repeat: no-repeat;
  bottom: 0;
  left: 0;
}

@media (max-width: 480px) {
  #recruit.sec-top-recruit::after {
    content: none;
  }
}

.unit-ttl01 {
  font-family: "Poppins", sans-serif;
  font-size: 10.5rem;
  line-height: 0.8;
  font-weight: bold;
  color: transparent;
  -webkit-text-stroke: 2px rgba(0, 108, 152, 0.6);
  margin-bottom: 30px;
}

@media (max-width: 480px) {
  .unit-ttl01 {
    font-size: 16.7vw;
    -webkit-text-stroke: 1px rgba(0, 108, 152, 0.6);
    margin-bottom: 20px;
    letter-spacing: 0.5vw;
  }
}

@media (max-width: 480px) {
  .unit-ttl01.lh {
    line-height: 0.95;
  }
}

.unit-subttl {
  position: relative;
  display: inline-block;
  font-size: 2.7rem;
  font-weight: bold;
  line-height: 1;
  color: #006c98;
}

@media (max-width: 480px) {
  .unit-subttl {
    font-size: 5.15vw;
    letter-spacing: 0.2vw;
  }
}

.unit-subttl::after {
  position: absolute;
  top: 50%;
  right: -60px;
  content: "";
  display: block;
  width: 40px;
  height: 2px;
  background-color: #f3cd30;
}

@media (max-width: 480px) {
  .unit-subttl::after {
    right: -7vw;
    width: 5.15vw;
    height: 1px;
  }
}

.uni-btn01 .inner {
  width: 279px;
  height: 61px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 2rem;
  color: #076891;
  font-weight: bold;
  background: url(../img/icon-btn-01.png) no-repeat right bottom/78px;
  position: relative;
  -webkit-transition: background-image 0.3s;
  transition: background-image 0.3s;
}

@media (max-width: 480px) {
  .uni-btn01 .inner {
    width: 190px;
    height: 40px;
    font-size: 1.6rem;
    background-size: 39px;
  }
}

.uni-btn01 .inner::after {
  content: "";
  width: calc(100% - 78px);
  height: 1px;
  background-color: #c8c9c9;
  position: absolute;
  bottom: 0;
  left: 0;
  -webkit-transition: background-color 0.3s;
  transition: background-color 0.3s;
}

@media (max-width: 480px) {
  .uni-btn01 .inner::after {
    width: calc(100% - 39px);
  }
}

@media (min-width: 480px) {
  .uni-btn01 .inner:hover {
    background-image: url(../img/icon-btn-01-blu.png);
  }
  .uni-btn01 .inner:hover::after {
    background-color: #076891;
  }
}

.top-block01__head {
  width: 50%;
  display: inline-block;
  margin-bottom: 60px;
}

@media (max-width: 480px) {
  .top-block01__head {
    width: 100%;
    margin-bottom: 16px;
  }
}

.top-block01__head .unit-ttl01,
.top-block01__head .uni-btn01 {
  -ms-grid-column: 1;
  -ms-grid-column-span: 1;
  grid-column: 1/2;
  -ms-grid-row: 1;
  -ms-grid-row-span: 1;
  grid-row: 1/2;
}

.top-block01__head .uni-btn01 .inner {
  width: 288px;
  margin-left: auto;
}

@media (max-width: 480px) {
  .top-block01__head .uni-btn01 .inner {
    width: 190px;
  }
}
/*# sourceMappingURL=top.css.map */