@media screen and (max-width: 1700px) {
  .service-section01 {
    background-position: left 10% top 0, right 10% top 0, left top 25%,
      right top 50%, left top 75%, bottom 20px right 10%, bottom center;
  }
}

@media screen and (max-width: 1400px) {
  .mv-catch {
    width: 500px;
  }
}

@media screen and (max-width: 1024px) {
  .ttl01 {
    max-width: 260px;
  }

  .news-section {
    background-size: 70px auto, 70px auto, 60px auto;
    background-position: left 10px top 20px, right 10px top 20px, right top 80%;
  }

  .btn01 {
    font-size: 1.4rem;
    max-width: 250px;
  }

  .ttl02 {
    max-width: 160px;
    margin: 0 auto 40px;
  }

  .ttl03 {
    max-width: 320px;
  }

  .list01 li {
    background-size: 14px auto;
    background-position: left top 6px;
    padding-left: 19px;
  }

  .greeting-section {
    background-size: 80px auto;
  }

  .greeting-txt-wrap {
    padding: 30px;
    border-radius: 30px;
  }

  .greeting-txt {
    font-size: 1.4rem;
  }

  .sailboat {
    width: 80px;
    bottom: -30px;
  }

  .office-wrap {
    padding: 40px 25px;
    border-radius: 30px;
  }

  .office-section {
    background-size: 100% auto, 35% auto, 100px auto, 100px auto, cover;
    background-position: top -1px left 0, bottom right, top 25% left -10px,
      top 60% right -10px, top;
    padding-top: 60px;
  }

  .office-ttl,
  .company-ttl {
    max-width: 260px;
  }

  .head01 {
    font-size: 1.5rem;
  }

  .top-recruit-section {
    background-size: 100px auto, 100px auto, 80px auto;
    padding-bottom: 60px;
  }

  .d-link {
    max-width: 200px;
    margin: 15px auto 0;
  }

  .top-guide-section {
    background-size: 140px auto;
    background-position: left bottom 200px;
    padding-top: 0px;
  }

  .ship {
    width: 100px;
    bottom: -40px;
  }

  .para {
    height: 200px;
  }

  .company-section {
    background-size: 100% auto, 35% auto, 100px auto, 100px auto, cover;
    background-position: top -1px left 0, bottom left, top 25% left -10px,
      top 65% right -10px, top;
    padding-top: 60px;
  }

  .company-wrap {
    padding: 40px 25px;
    border-radius: 30px;
  }

  .service-section01 {
    background-size: 70px auto, 70px auto, 80px auto, 80px auto, 80px auto,
      100px auto, auto 60px;
    background-position: left 15px top 0, right 15px top 0, left top 25%,
      right top 50%, left top 75%, bottom 30px right 10%, bottom center;
  }

  .service-img01 {
    max-width: 400px;
  }

  .service-txt-wrap01 {
    width: 100%;
    margin-bottom: 20px;
  }

  .service-block01.flex {
    margin-bottom: 50px;
  }

  .service-table01 {
    width: 100%;
  }

  .service-list > li {
    width: 100%;
    margin-bottom: 30px;
  }

  .service-icon {
    max-width: 120px;
  }

  .recruit-section01 {
    background-size: 70px auto, 70px auto, 0px auto;
    background-position: left 15px top 0, right 15px top 0, left top 50%;
  }

  .view-list li {
    width: 100%;
    margin-bottom: 30px;
  }

  .view-list li:last-of-type {
    margin-bottom: 0;
  }

  .view-img {
    max-width: 300px;
    width: 100%;
    margin: 0 auto 10px;
  }

  .view-ttl {
    font-size: 1.5rem;
    padding: 10px 15px;
  }

  .recruit-section02 {
    background-size: 100% auto, 35% auto, 100px auto, 100px auto, cover;
    background-position: top -1px left 0, bottom right, top 25% left -10px,
      top 60% right -10px, top;
    padding-top: 60px;
  }

  .recommend-ttl,
  .req-ttl {
    max-width: 260px;
  }

  .recommend-wrap {
    padding: 40px 25px;
    border-radius: 30px;
  }

  .recommend-head {
    font-size: 1.5rem;
    padding: 10px 15px;
  }

  .recommend-list li {
    width: 100%;
    margin-bottom: 30px;
  }

  .recommend-list li:last-of-type {
    margin-bottom: 0;
  }

  .recommend-img {
    max-width: 300px;
    width: 100%;
    margin: 0 auto 10px;
  }

  .flow-list-box01 {
    width: 100%;
  }

  .flow-list-head {
    font-size: 1.5rem;
    padding: 10px 15px;
  }

  .flow-list-icon {
    max-width: 60px;
  }

  .flow-list-arrow {
    width: 100%;
    padding: 15px 0;
  }

  .flow-list-arrow img {
    width: 30px;
    margin: 0 auto;
    transform: rotate(90deg);
  }

  .recruit-section03 {
    background-size: 100px auto, 100px auto, 80px auto;
    padding-bottom: 60px;
  }

  .ship02 {
    width: 100px;
    bottom: -40px;
  }

  .recruit-section04 {
    background-size: 100% auto, 35% auto, 100px auto, 100px auto, cover;
    background-position: top -1px left 0, bottom left, top 25% left -10px,
      top 65% right -10px, top;
    padding-top: 60px;
  }

  .contact-section01 {
    background-size: 70px auto, 70px auto, 80px auto, 80px auto, 80px auto,
      100px auto, auto 60px;
    background-position: left 15px top 0, right 15px top 0, left top 25%,
      right top 50%, left top 75%, bottom 30px right 10%, bottom center;
  }
}

@media screen and (max-width: 768px) {
  .mv {
    padding: 20px 0 0 40px;
  }

  .mv-catch-pc {
    display: none;
  }

  .mv-catch-sp {
    display: block;
  }

  .mv-catch {
    width: 35%;
  }

  .swiper-slide img {
    border-radius: 40px 0 0 40px;
  }

  .office-box {
    width: 100%;
    margin-bottom: 30px;
  }

  .office-box02 {
    margin-bottom: 0;
  }

  .top-recruit-box,
  .top-guide-box {
    width: 100%;
  }

  .top-recruit-box img {
    max-width: 400px;
    margin: 0 auto 20px;
  }

  .top-guide-block.flex {
    flex-wrap: wrap-reverse;
  }

  .top-guide-box img {
    max-width: 400px;
    margin: 0 auto 20px;
  }

  .top-guide-section {
    padding-bottom: 40px;
  }

  .company-box {
    width: 100%;
    margin-bottom: 30px;
  }

  .company-box02 {
    margin-bottom: 0;
  }
}

@media screen and (max-width: 600px) {
  .para {
    height: 40vw;
    background-attachment: scroll;
  }
}
