@charset "utf-8";
#root {
  position: relative;
}
.top-bg {
      position: absolute;
    z-index: -1;
    width: 100%;
    height: auto;
    left: 0;
    top: 40%;
  min-height: 1400px;
}
.top-bg-2 {
      position: absolute;
    z-index: -1;
    width: 100%;
    height: auto;
    left: 0;
    bottom: 0;
}
.top__box {
    width: clamp(32.5rem, -5.75rem + 79.69vw, 89.875rem);
    margin-left: auto;
}
.pg-fv__inner {
      padding-top: 67px;
    padding-right: clamp(1.25rem, -1.917rem + 6.6vw, 6rem);
}
.fv__title {
      font-size: clamp(1.875rem, 0.625rem + 2.6vw, 3.75rem);
    font-weight: 700;
    line-height: 1.5;
}
.fv__text {
      margin-top: 30px;
    font-size: clamp(1rem, 0.667rem + 0.69vw, 1.5rem);
    font-weight: 500;
}
.fv-slide {
  margin-top: clamp(2.75rem, 2.417rem + 0.69vw, 3.25rem);
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: clamp(0.625rem, -0.208rem + 1.74vw, 1.875rem);
}

.fvSwiper {
  width: 100%;
  overflow: hidden;
}

.fvSwiper .swiper-slide {
  overflow: hidden;
  border-radius: 10px;
}

.fvSwiper img {
  width: 100%;
  aspect-ratio: 700 / 800;
  object-fit: cover;
  border-radius: 10px;
  display: block;

  will-change: transform;
  transform: scale(1.15);
}

.about__inner {
        margin-top: clamp(2.25rem, 0.708rem + 3.21vw, 4.563rem);
  padding-top: clamp(1.875rem, 0.625rem + 2.6vw, 3.75rem);
    padding-right: clamp(1.875rem, -8.875rem + 22.4vw, 18rem);
    padding-left: clamp(0rem, -14.167rem + 29.51vw, 21.25rem);
    position: relative;
}
.about__bg {
      position: absolute;
    width: clamp(36.063rem, 29.979rem + 12.67vw, 45.188rem);
    left: clamp(-18.75rem, -31.25rem + 26.04vw, 0rem);
    top: 0;
    z-index: -1;
}
.about__title {
      font-size: clamp(1.5rem, 0.833rem + 1.39vw, 2.5rem);
    font-weight: 700;
    line-height: 1.5;
}
.about__text {
      margin-top: clamp(2.5rem, 1.667rem + 1.74vw, 3.75rem);
    line-height: 1.7;
    font-size: clamp(0.875rem, 0.708rem + 0.35vw, 1.125rem);
    font-weight: 500;
}
.about__bottom {
      margin-top: clamp(2.5rem, 1.667rem + 1.74vw, 3.75rem);
    display: flex;
    justify-content: flex-end;
}

.service {
  padding-top: clamp(6.063rem, 5.729rem + 0.69vw, 6.563rem);
}
.service__inner {
      padding: clamp(3.125rem, 2.458rem + 1.39vw, 4.125rem) clamp(0.625rem, -7.292rem + 16.49vw, 12.5rem) clamp(2.75rem, 1.25rem + 3.13vw, 5rem);
    background-image: url(https://momosebk.co.jp/system_panel/uploads/images/t-service-bg.png);
    background-position: center;
    background-size: cover;
    border-radius: 10px 0 0 10px;
}
.title1__icon--white {
  background-color: #fff;
}
.title1__main--white {
  color: #Fff;
}
.service__items {
      margin-top: clamp(2.5rem, 1.667rem + 1.74vw, 3.75rem);
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    column-gap: clamp(1.625rem, -5.917rem + 15.71vw, 12.938rem);
    row-gap: clamp(2.5rem, 1.667rem + 1.74vw, 3.75rem);
}
.service-item__img {
      aspect-ratio: 443/322;
    object-fit: cover;
    height: auto;
    border-radius: 5px;
}
.service-item__title {
      margin-top: 20px;
    font-size: clamp(1.25rem, 0.75rem + 1.04vw, 2rem);
    font-weight: 500;
    color: #fff;
}
.service-item__text {
      margin-top: 14px;
    color: #fff;
    line-height: 1.7;
    font-weight: 400;
}
.service__bottom {
      margin-top: clamp(0.375rem, 0.042rem + 0.69vw, 0.875rem);
    display: flex;
    justify-content: flex-end;
}

.btn1--outline {
  width: auto;
  padding: 0;
  background: transparent;
  border: none;
  border-radius: 0;
  color: #fff;
  gap: clamp(1rem, 0.75rem + 0.52vw, 1.375rem);
}
.btn1--outline .btn1__icon {
  background: #fff;
}
.btn1--outline .btn1__arrow {
  color: #2A60B6;
}
/* ホバー時も色は変えない */
.btn1--outline:hover {
  background: transparent;
  color: #fff;
}
.btn1--outline:hover .btn1__icon {
  background: #fff;
}
.btn1--outline:hover .btn1__arrow {
  color: #2A60B6;
}
/* 矢印だけ右へ抜ける */
.btn1--outline:hover .btn1__arrow--current {
  transform: translate(300%, -50%);
}
.btn1--outline:hover .btn1__arrow--next {
  transform: translate(-50%, -50%);
}

.reason {
  padding-top: clamp(8.188rem, 6.396rem + 3.73vw, 10.875rem);
}
.reason__inner {
      padding-right: clamp(1.875rem, -5.208rem + 14.76vw, 12.5rem);
    padding-left: clamp(0rem, -8.333rem + 17.36vw, 12.5rem);
}
.reason__container {
      padding: 35px clamp(1.875rem, -1.042rem + 6.08vw, 6.25rem);
    border: 2px solid #2A60B6;
    border-radius: 10px;
    display: flex;
    flex-direction: column;
    align-items: center;
    row-gap: 40px;
    background-color: #fff;
    padding-top: 0;
  position: relative;
}
.reason__title {
      font-size: clamp(1.75rem, 0.833rem + 1.91vw, 3.125rem);
    font-weight: 700;
    color: #2A60B6;
    line-height: 1;
}
.reason__title strong {
      font-size: clamp(10.313rem, 7.438rem + 5.99vw, 14.625rem);
    color: #fff;
    -webkit-text-stroke: 3px #2A60B6;
    text-stroke: 3px #2A60B6;
}

.reason__text {
      position: absolute;
    background-color: #2A60B6;
    padding: clamp(1.875rem, 0.208rem + 3.47vw, 4.375rem) clamp(1.25rem, 0.417rem + 1.74vw, 2.5rem);
    border-radius: 50%;
    color: #fff;
    font-weight: 700;
}
.reason__text--1 {
  left: 5%;
    top: -16%;
    font-size: clamp(1rem, 0.5rem + 1.04vw, 1.75rem);
}
.reason__text--2 {
  right: 2%;
    top: -16%;
    font-size: clamp(0.625rem, 0.333rem + 0.61vw, 1.063rem);
}
.reason__text--3 {
  left: 5%;
    bottom: -10%;
    font-size: clamp(0.625rem, 0.333rem + 0.61vw, 1.063rem);
}
.reason__text--4 {
  right: 5%;
    bottom: -16%;
    font-size: clamp(1rem, 0.5rem + 1.04vw, 1.75rem);
}
.reason__text::after {
      content: "";
    position: absolute;
    width: clamp(1.375rem, 0.625rem + 1.56vw, 2.5rem);
    height: clamp(1.375rem, 0.625rem + 1.56vw, 2.5rem);
    background: #2A60B6;
    transform: rotate(45deg);
}
.reason__text--1::after {
      bottom: 0;
    right: 35px;
    transform: rotate(110deg);
}
.reason__text--2::after {
        bottom: 0;
    left: 35px;
    transform: rotate(-110deg);
}
.reason__text--3::after {
    top: 0;
    right: 35px;
    transform: rotate(70deg);
}
.reason__text--4::after {
    top: 0;
    left: 35px;
    transform: rotate(-70deg);
}

/* 色反転版 */
.btn1--reverse {
  background: #fff;
  border-color: #2A60B6;
  color: #2A60B6;
}
.btn1--reverse .btn1__icon {
  background: #2A60B6;
}
.btn1--reverse .btn1__arrow {
  color: #fff;
}
/* Hover */
.btn1--reverse:hover {
  background: #2A60B6;
  color: #fff;
}
.btn1--reverse:hover .btn1__icon {
  background: #fff;
}
.btn1--reverse:hover .btn1__arrow {
  color: #2A60B6;
}



.case {
  padding-top: 104px;
}
.case__text {
      margin-top: clamp(0.625rem, 0.458rem + 0.35vw, 0.875rem);
    color: #2A60B6;
    font-weight: 500;
    margin-left: 2em;
}
.worksSwiper {
  margin-top: 40px;
  overflow: hidden;
}
.worksSwiper .swiper-wrapper {
  transition-timing-function: linear !important;
}
.worksSwiper .swiper-slide {
  width: clamp(10.125rem, 6.09rem + 17.22vw, 26.75rem);
}
.worksSwiper img {
  width: 100%;
  aspect-ratio: 428 / 388;
  object-fit: cover;
  border-radius: 5px;
}
.worksSwiper p {
  margin-top: 12px;
}
.caseItemTit {
  margin-top: clamp(0.375rem, 0.254rem + 0.52vw, 0.875rem);
      font-size: clamp(0.75rem, 0.659rem + 0.39vw, 1.125rem);
    font-weight: 400;
    color: #2A60B6;
}
.case__bottom {
      margin-top: clamp(2.5rem, 2.197rem + 1.29vw, 3.75rem);
    padding-right: clamp(3.125rem, 0.971rem + 9.19vw, 12rem);
    padding-left: 50px;
    display: flex;
    justify-content: flex-end;
}

.company {
  padding-top: clamp(3.75rem, 2.917rem + 1.74vw, 5rem);
}
.company__inner {
  padding-right: clamp(1.25rem, -3.417rem + 9.72vw, 8.25rem);
  position: relative;
}
.company__bg {
       position: absolute;
    z-index: 1;
    width: 46%;
    top: 26%;
    right: 0;
}
.company__container {
      display: flex;
    column-gap: clamp(1.25rem, -3.417rem + 9.72vw, 8.25rem);
      position: relative;
    z-index: 10;
}
.company__left {
  width: 45%;
}
.company__text {
      margin-top: clamp(1.25rem, 0.417rem + 1.74vw, 2.5rem);
    font-weight: 500;
    font-size: clamp(0.875rem, 0.625rem + 0.52vw, 1.25rem);
    line-height: 1.7;
}
.company__bottom {
      margin-top: clamp(1.25rem, -0.417rem + 3.47vw, 3.75rem);
    display: flex;
    justify-content: flex-end;
}
.company__right {
  width: 55%;
}
.company__img {
      height: auto;
    aspect-ratio: 653/390;
    object-fit: cover;
    border-radius: 5px;
}

.recruit {
  padding-top: clamp(3.813rem, 1.146rem + 5.56vw, 7.813rem);
}
.recruit__inner {
  padding-right: clamp(1.25rem, -9.917rem + 23.26vw, 18rem);
}
.recruit__container {
      max-width: 1036px;
    margin-left: auto;
    background-color: #2A60B6;
    padding: clamp(2.938rem, 1.479rem + 3.04vw, 5.125rem) 35px 98px;
    position: relative;
  cursor: pointer;
}
.recruit__bottom {
      position: absolute;
    right: clamp(0.625rem, -0.292rem + 1.91vw, 2rem);
    bottom: clamp(0.75rem, 0.542rem + 0.43vw, 1.063rem);
    z-index: 10;
}
.recruit__title {
      font-size: clamp(1.5rem, 1rem + 1.04vw, 2.25rem);
    font-weight: 700;
    color: #Fff;
      position: relative;
    z-index: 10;
}
.recruit__text {
        font-weight: 400;
    color: #Fff;
    margin-top: clamp(1rem, 2.08vw, 2.5rem);
      position: relative;
    z-index: 10;
}
.recruit__bg {
       position: absolute;
    width: 70%;
    top: -1%;
    height: 101%;
    object-fit: cover;
    right: 0;
    clip-path: polygon(30% 1%, 1% 100%, 100% 100%, 100% 1%);
    z-index: 1;
}

.btn1--outline:hover .btn1__arrow--current,
.recruit__container:hover .btn1__arrow--current {
  transform: translate(300%, -50%);
}
.btn1--outline:hover .btn1__arrow--next,
.recruit__container:hover .btn1__arrow--next {
  transform: translate(-50%, -50%);
}

.news {
      padding-top: clamp(3.75rem, 2.5rem + 2.6vw, 5.625rem);
    padding-bottom: clamp(5rem, 4.583rem + 0.87vw, 5.625rem);
}
.news__inner {
  padding-right: clamp(1.25rem, -5.917rem + 14.93vw, 12rem);
}
.news__block {
  margin-top: clamp(1.25rem, 0.417rem + 1.74vw, 2.5rem);
}
.news__block section {
      display: flex;
    flex-direction: column;
    row-gap: clamp(1.875rem, 0.625rem + 2.6vw, 3.75rem);
}
.news__block section article a {
      padding-bottom: clamp(0.625rem, 0.208rem + 0.87vw, 1.25rem);
    display: block;
    border-bottom: 1px dotted #02244C;
  transition: all 0.5s;
}
.news__block section article a:hover {
  opacity: 0.5;
}
.newsItemBottom {
      display: flex;
    column-gap: clamp(1.25rem, 0.417rem + 1.74vw, 2.5rem);
    align-items: flex-start;
}
.newsItemText {
      display: flex;
    align-items: center;
    column-gap: clamp(0.625rem, 0.375rem + 0.52vw, 1rem);
  min-width: clamp(12.5rem, 9.167rem + 6.94vw, 17.5rem);
}
.newsItemTime {
      font-size: clamp(0.875rem, 0.708rem + 0.35vw, 1.125rem);
    font-weight: 500;
    color: #84888D;
}
.newsItemCate {
      font-size: clamp(0.75rem, 0.583rem + 0.35vw, 1rem);
    font-weight: 500;
    color: #fff;
    background-color: #2A60B6;
        text-align: center;
    padding: clamp(0.25rem, 0.167rem + 0.17vw, 0.375rem) 20px;
  min-width: clamp(6.25rem, 3.5rem + 5.73vw, 10.375rem);
    border-radius: 18px;
}
.newsItemTit {
    font-size: clamp(0.875rem, 0.625rem + 0.52vw, 1.25rem);
    font-weight: 500;
    line-height: 1.5;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
    overflow: hidden;
}
.news__bottom {
      margin-top: clamp(2.5rem, 2.197rem + 1.29vw, 3.75rem);
    padding-left: 50px;
    display: flex;
    justify-content: flex-end;
}

@media (max-width: 767px) {
  .top__box {
    width: 100%;
  }
  .pg-top__bg {
    height: 597px;
  }
  .top-bg {
        height: 2202px;
    object-fit: cover;
  }
  .top-bg-2 {
        height: 1200px;
    object-fit: cover;
  }
  
  .pg-fv__inner {
        padding-left: 10px;
    padding-right: 10px;
    padding-top: 97px;
  }
  .fv__title,
  .fv__text {
        padding-left: 10px;
    padding-right: 10px;
  }
  .fvSwiper img {
     aspect-ratio: 172/240;
  }
  
  .about__inner {
    padding-left: 30px;
  }
  .about__bg {
    left: -160px;
  }
  
  .service__inner {
    border-radius: 0;
  }
  .service__container {
        max-width: 580px;
    margin-left: auto;
    margin-right: auto;
  }
  .service__items {
        grid-template-columns: repeat(1, 1fr);
    padding-left: clamp(0.625rem, -12.596rem + 56.41vw, 2rem);
    padding-right: clamp(0.625rem, -12.596rem + 56.41vw, 2rem);
  }
  .service-item__img {
    aspect-ratio: 335/211;
  }
  
  .reason__inner {
    padding-left: 30px;
  }
  .reason__container {
        padding-top: 38px;
    text-align: center;
    max-width: 500px;
    margin-left: auto;
    margin-right: auto;
  }
  .reason__text--1 {
        top: -15%;
    left: -5%;
  }
  .reason__text--2 {
        top: -13%;
    right: -5%;
  }
  .reason__text--3 {
        left: -5%;
    bottom: -15%;
  }
  .reason__text--4 {
    right: -5%;
  }
  
  .case__inner {
    padding-left: 20px;
  }
  .case__bottom,
  .news__bottom {
        justify-content: center;
    padding: 0;
  }
  
  .company__inner {
    padding-left: 20px;
  }
  .company__bg {
    top: 55%;
  }
  .company__container {
        position: relative;
    flex-direction: column-reverse;
    row-gap: 18px;
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
    padding-top: 75px;
  }
  .company__left,
  .company__right {
    width: 100%;
  }
  .company__title {
        position: absolute;
    top: 0;
  }
  .company__text {
    margin-top: unset;
  }
  .company__bottom {
    justify-content: center;
  }
  
  .recruit__inner {
    padding-left: 20px;
  }
  .recruit__container {
        padding-bottom: 242px;
    max-width: 500px;
    margin-left: auto;
    margin-right: auto;
        padding-left: 20px;
    padding-right: 20px;
  }
  .recruit__bg {
        width: 100%;
    height: 50%;
    top: unset;
    bottom: 0;
    clip-path: polygon(0% 24%, 100% 0%, 100% 100%, 0% 100%);
  }
  
  .news__inner {
    padding-left: 20px;
  }
  .newsItemBottom {
        flex-direction: column;
    row-gap: 8px;
  }
}

@media (max-width: 374px) {
  .fv__title {
    font-size: 24px;
  }
  .reason__inner {
        padding-left: 20px;
    padding-right: 20px;
  }
  .reason__container {
        padding-left: 20px;
    padding-right: 20px;
  }
  .reason__title {
    font-size: 22px;
  }
  .reason__title strong {
    font-size: 140px;
  }
  .recruit__container {
    padding-bottom: 200px;
  }
  .recruit__title {
    font-size: 20px;
  }
  .recruit__text {
    font-size: 12px;
  }
}