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

@media screen and (max-width: 1024px) {
  .sp-header-inner .logo img {
    max-height: 30px;
  }

  .ttl-wrap01 {
    margin-bottom: 40px;
  }

  .home {
    margin-top: 60px;
  }

  .ttl-wrap01 .en {
    font-size: 3.6rem;
  }

  .ttl-wrap01 .ja {
    font-size: 1.8rem;
  }

  .ttl02 {
    font-size: 2rem;
    padding-bottom: 40px;
    margin-bottom: 40px;
    background-size: auto 25px;
  }

  .ttl03 {
    padding: 10px;
    font-size: 1.5rem;
    margin: 0 auto 25px;
  }

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

  .head01 {
    font-size: 1.6rem;
  }

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

  .btn {
    font-size: 1.8rem;
    max-width: 240px;
    padding: 4px 0;
  }

  .list01 li {
    background-size: 20px auto;
    background-position: left top 1px;
    padding-left: 27px;
  }

  .greeting-txt-wrap p {
    line-height: 2em;
    font-size: 1.4rem;
  }

  .greeting-bg01 {
    width: 100px;
    bottom: 14vw;
  }

  .greeting-bg02 {
    width: 120px;
  }

  .greeting-wrap {
    padding-bottom: 60px;
  }

  .philosophy-ttl-wrap {
    position: absolute;
    top: -100px;
    width: 330px;
    margin: 0 auto;
    top: -25px;
  }

  .philosophy-wrap {
    padding: 100px 0px 40px;
  }

  .philosophy-ttl.en {
    font-size: 3.6rem;
  }

  .philosophy-ttl.ja {
    font-size: 1.8rem;
  }

  .philosophy-box {
    width: 49%;
    padding: 30px 20px;
    margin-bottom: 20px;
  }

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

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

  .about-section {
    background-size: 100px auto;
    padding-bottom: 0px;
  }

  .about-box01 {
    width: 100%;
    margin-bottom: 30px;
  }

  .about-block01 {
    margin-bottom: 0px;
  }

  .feature-img,
  .feature-content {
    width: 100%;
  }

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

  .class-ttl {
    padding: 10px;
    font-size: 1.4rem;
  }

  .class-box {
    margin: 0 1.5% 30px;
  }

  .flow-wrap {
    padding-top: 90px;
  }

  .life-wrap {
    padding: 30px 20px;
    margin-top: 40px;
  }

  .life-ttl-wrap {
    position: absolute;
    top: -100px;
    width: 330px;
    margin: 0 auto;
    top: -25px;
  }

  .life-ttl.en {
    font-size: 3.6rem;
  }

  .life-ttl.ja {
    font-size: 1.8rem;
  }

  .ttl04 {
    padding: 10px;
    margin: 0 auto 20px;
    font-size: 1.7rem;
    max-width: 400px;
    margin: 0 auto 25px;
  }

  .ttl05 {
    padding: 8px;
    font-size: 1.6rem;
  }

  .life-section {
    padding-bottom: 30px;
  }

  .tab-panel-a.life-tab .tab-group {
    justify-content: space-between;
  }

  .tab-panel-a.life-tab .tab {
    width: 48%;
    font-size: 1.6rem;
  }

  .flow-time {
    font-size: 1.6rem;
  }

  .tablepress tbody td {
    font-size: 1.4rem !important;
  }

  .event-wrap {
    background-size: 100px auto;
  }

  .custody-section {
    background-size: 120px auto, 100px auto, 80px auto;
    background-position: top 10% right 6%, top 50% left 8%, top 95% right 6%;
  }

  .support-section {
    background-size: 100px auto;
    background-position: top 20% left, top 50% right, top 80% left;
    padding-bottom: 30px;
  }

  .support-txt01 p {
    font-size: 1.4rem;
  }

  .local-pdf li a {
    padding: 15px 15px 15px 45px;
    background-size: 23px auto;
    background-position: left 15px top 15px;
  }

  .overview-ttl-wrap {
    position: absolute;
    top: -100px;
    width: 330px;
    margin: 0 auto;
    top: -25px;
  }

  .overview-ttl.en {
    font-size: 3.6rem;
  }

  .overview-ttl.ja {
    font-size: 1.8rem;
  }

  .overview-block {
    padding: 30px 20px;
  }

  .overview-wrap {
    padding-top: 100px;
    padding-bottom: 60px;
  }

  .contact-section {
    background-size: 100px auto;
    padding-bottom: 120px;
  }

  .info-wrap {
    padding: 60px 0;
  }

  .line-bnr {
    margin: 30px auto 0;
  }

  .txt-roll-wrap {
    bottom: -18px;
  }

  .txt-roll {
    font-size: 8rem;
  }

  .recruit-section01 {
    padding-top: 0;
    background-size: 120px auto, 100px auto;
    background-position: top 10% right 6%, top 100% left 6%;
    padding-bottom: 60px;
  }

  .recruit-greeting-txt-wrap p {
    line-height: 2em;
    font-size: 1.4rem;
  }

  .recruit-section02 {
    padding-top: 0;
    padding-bottom: 120px;
    background-size: 100px auto;
    background-position: top 8% left, top 40% right, top 75% left;
  }

  .recruit-section03 {
    padding-top: 100px;
    padding-bottom: 40px;
  }

  .interview-ttl-wrap {
    position: absolute;
    top: -100px;
    width: 330px;
    margin: 0 auto;
    top: -25px;
  }

  .interview-ttl.en {
    font-size: 3.6rem;
  }

  .interview-ttl.ja {
    font-size: 1.8rem;
  }

  .recruit-section05 {
    background-size: 100px auto;
    background-position: top 50px left, top 50px right;
  }
}

@media screen and (max-width: 820px) {
  .recruit-section02 {
    padding-bottom: 80px;
  }
}

@media screen and (max-width: 770px) {
  .mv-swiper img {
    aspect-ratio: 1 / 1;
    border-radius: 60px 0 0 0;
  }

  .mv-inner {
    width: 90%;
  }

  .mv-catch {
    width: 8vw;
    right: 30px;
  }

  .flow-list > li {
    margin-bottom: 20px;
    border-bottom: none;
  }

  .flow-list-img-on .flow-time-box,
  .flow-list-img-off .flow-time-box {
    width: 100%;
    padding: 10px;
  }

  .flow-time {
    padding: 0;
  }

  .flow-list-img-on .flow-content-box,
  .flow-list-img-off .flow-content-box {
    width: 100%;
    padding: 20px 0;
    text-align: center;
  }

  .flow-list-img-on .flow-img-box {
    width: 100%;
    padding: 0;
  }

  .flow-list-img-on .flow-img-box img {
    max-width: 400px;
    width: 100%;
    margin: 0 auto;
  }

  .flow-other {
    margin-top: 0px;
  }
}

@media screen and (max-width: 600px) {
  .philosophy-box {
    width: 100%;
  }

  .class-box {
    width: 47%;
    margin: 0 1.5% 30px;
  }

  .about-img-box {
    width: 47%;
    margin: 0 1.5% 10px;
  }

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

  .class-ttl {
    font-size: 1.2rem;
    padding: 5px;
  }

  .greeting-bg02 {
    top: 20vw;
  }

  .philosophy-wrap {
    background-position: top 100% right 50%;
  }

  .page-swiper-wrap {
    top: -36vw;
  }

  .flow-wrap {
    padding-top: 60px;
    padding-bottom: 25vw;
    margin-bottom: 25vw;
  }

  .event-wrap {
    padding-top: 7vw;
  }

  .tablepress tbody td {
    font-size: 1.2rem !important;
  }

  .swiper-button-next::after,
  .swiper-button-prev::after {
    font-size: 1.8rem;
  }

  .swiper-button-prev {
    left: 0 !important;
  }

  .swiper-button-next {
    right: 0 !important;
  }

  .gmap {
    padding-top: 75%;
  }

  .recruit-section03 {
    padding-bottom: 60px;
  }
}
