@media screen and (max-width: 1200px) {
}

@media screen and (max-width: 1024px) {
  .open-btn-wrap,
  .pc-side-menu {
    display: none !important;
  }

  .ttl01 {
    font-size: 2.6rem;
    padding-bottom: 20px;
    background-size: auto 14px;
    margin-bottom: 40px;
  }

  .ttl02 {
    font-size: 2.2rem;
    padding-bottom: 20px;
    background-size: auto 7px;
    margin-bottom: 30px;
  }

  .head01 {
    font-size: 1.5rem;
    padding-bottom: 5px;
    margin-bottom: 10px;
  }

  .btn01 {
    font-size: 1.6rem;
  }

  .list01 li {
    background-size: 15px auto;
    background-position: left top 4px;
    padding-left: 22px;
  }

  .slider-catch {
    width: 100px !important;
  }

  .slider-catch img {
    width: 100px !important;
  }

  .n2-ss-slide-backgrounds {
    height: 500px !important;
  }

  .news-section {
    background-size: 100px auto, 180px auto, 80px auto;
    background-position: left 5% top 10%, right -50px top 50%, left 5% top 80%;
    padding-bottom: 50px;
  }

  .news-block {
    margin-bottom: 40px;
  }

  .news-ttl {
    width: 100%;
  }

  .news-ttl img {
    max-width: 180px;
    margin: 0 auto 25px;
  }

  .news-content {
    width: 100%;
  }

  .service-section {
    padding-top: 80px;
    background-position: top 65% left 10%, top 50% right 2%, top 85% right -50px,
      top 20% left -40px, top 0 right 15%, top 40% left 0, top 65% right 0,
      top -2px center, bottom left;
    background-size: 40px auto, 80px auto, 180px auto, 180px auto, 120px auto,
      60px auto, 60px auto, 100% auto, 220px auto;
  }

  .service-list01 {
    justify-content: space-between;
  }

  .service-list01 li {
    width: 47%;
    margin: 0 0 25px;
  }

  .service-btn01 {
    max-width: 280px;
  }

  .service-box01 {
    margin-bottom: 30px;
  }

  .service-open01 {
    padding: 30px 20px;
  }

  .service-block03 {
    margin-bottom: 20px;
  }

  .service-day {
    padding: 20px;
  }

  .service-day-txt {
    font-size: 1.4rem;
  }

  .service-btn01::before {
    top: 41px;
    right: 23px;
  }

  .service-btn01::before {
    width: 22px;
    height: 22px;
  }

  .para {
    height: 250px;
  }

  .staff-section {
    background-size: 70px auto, 120px auto, 100px auto, 100px auto;
    background-position: top 70px left 3%, top 70px right 3%, top 30% right 20px,
      top 80% left 20px;
    padding-bottom: 20px;
  }

  .staff-list li {
    width: 47%;
    margin: 0 1.5% 40px;
  }

  .staff-img {
    max-width: 200px;
    margin: 0 auto 20px;
    width: 100%;
  }

  .staff-position {
    font-size: 1.4rem;
  }

  .staff-name {
    font-size: 1.8rem;
  }

  .staff-head {
    padding: 5px 10px;
    font-size: 1.4rem;
  }

  .complete-txt {
    margin-bottom: 30px;
  }

  .ttl03 {
    font-size: 1.6rem;
    margin: 0 auto 30px;
    max-width: 300px;
  }

  .guide-section {
    background-repeat: no-repeat;
    background-size: 60px auto, 100% auto, 200px auto, 200px auto, 150px auto;
    background-position: top right 30px, top center, top 40% left 0,
      top 80% right, top 100% left -20px;
    padding-top: 80px;
    padding-bottom: 40px;
  }

  .faq-list dt,
  .faq-list dd {
    font-size: 1.4rem;
  }

  .faq-list dt::before,
  .faq-list dt::after {
    width: 15px;
    height: 2px;
  }

  .pdf-list.flex {
    justify-content: space-between;
  }

  .pdf-list li {
    width: 49%;
    margin: 0 0 25px;
  }

  .pdf-list li a {
    padding: 7px 10px;
    font-size: 1.4rem;
  }

  .top-recruit-section {
    background-position: top 40px left 20px, top 40px right 20px, top center,
      bottom left 20px, bottom 50% right 10%;
    background-size: 120px auto, 120px auto, 100% auto, 100px auto, 200px auto;
    padding-top: 80px;
  }

  .tr-txt01 {
    font-size: 1.5rem;
  }

  .link-bnr01 {
    max-width: 280px;
  }

  .overview-section {
    background-size: 120px auto, 200px auto;
    background-position: top 100px right 10%, top 97% left 0;
  }

  .contact-section {
    background-position: top center, top 18% right, top 95% left 5%,
      bottom right;
    background-size: 100% auto, 200px auto, 70px auto, 250px auto;
    padding-top: 80px;
    padding-bottom: 100px;
  }

  .tel-bnr {
    max-width: 300px;
  }

  .recruit-section01 {
    padding-top: 50px !important;
    background-size: 50px auto, 80px auto, 100px auto, 100px auto;
    background-position: top 0px left 3%, top 15px right 3%, top 95% right -20px,
      top 95% left -20px;
  }

  .message-txt {
    font-size: 1.5rem;
    line-height: 1.75em;
  }

  .sign {
    font-size: 1.5rem;
  }

  .recruit-section02 {
    background-size: 120px auto, 100% auto, 40px auto;
    background-position: top right 10%, top center, top 95% left 20px;
    padding-top: 100px;
    padding-bottom: 100px;
  }

  .recommend-head {
    font-size: 1.6rem;
  }

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

  .recruit-section03 {
    background-repeat: no-repeat;
    background-size: 60px auto, 100% auto, 200px auto, 200px auto, 70px auto;
    background-position: top right 30px, top center, top 40% left 0,
      top 80% right, top 99% left 20px;
    padding-top: 100px;
    padding-bottom: 100px;
  }

  .feature-ttl {
    font-size: 1.6rem;
    padding: 5px 10px;
  }

  .look-img {
    max-width: 500px;
    margin: 0 auto;
  }

  .recruit-section04 {
    background-size: 100% auto, 50px auto, 50px auto;
    padding-top: 80px;
  }

  .recruit-section05 {
    background-position: top center, top 18% right, top 95% left 5%,
      bottom right;
    background-size: 100% auto, 200px auto, 70px auto, 250px auto;
    padding-top: 60px;
    padding-bottom: 100px;
  }
}

@media screen and (max-width: 820px) {
  .flow-inner {
    width: 100%;
    margin-bottom: 40px;
  }

  .flow-img {
    max-width: 400px;
    margin: 0 auto;
  }

  .guide-block01 {
    margin-bottom: 20px;
  }

  .overview-section {
    padding-bottom: 20px;
  }

  .overview-box {
    width: 100%;
    margin-bottom: 40px;
  }
}

@media screen and (max-width: 600px) {
  .slider-catch {
    width: 20vw !important;
  }

  .slider-catch img {
    width: 20vw !important;
    max-width: none !important;
  }

  .n2-ss-slide-backgrounds {
    height: 100vw !important;
  }

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

  .service-img01 {
    max-width: 300px;
    margin: 0 auto;
    margin-bottom: 20px;
  }

  .service-area {
    position: relative;
    padding: 20px;
  }

  .pdf-list li {
    width: 100%;
    margin-bottom: 15px;
  }

  .tr-txt01 br {
    display: none;
  }

  .recommend-txt {
    text-align: left;
  }

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

  .look-img {
    max-width: 380px;
    margin: 0 auto;
  }

  .pc-img {
    display: none;
  }

  .sp-img {
    display: block;
  }
}

@media screen and (max-width: 450px) {
  .staff-section {
    background-position: top 120px left 3%, top 120px right 3%,
      top 30% right 20px, top 80% left 20px;
  }

  .staff-list {
    justify-content: space-between;
  }

  .staff-list li {
    width: 100%;
    margin: 0 0 30px;
  }
}
