@charset "UTF-8";
:root {
  --inner-scale: 1;
  --vw-base: calc(1440 / var(--inner-scale));
  --inner: 1280;
  --inner-1305: 1305;
  --fz-ratio: 1; /* font-size倍率 */
}
@media screen and (max-width: 1024px) {
  :root {
    --inner-scale: calc(0.9 / (1280 / 1440));
    --fz-ratio: 1.57;
  }
}
@media screen and (max-width: 767px) {
  :root {
    --vw-base: 375;
    --inner-scale: 1;
    --inner: 343;
    --fz-ratio: 1;
  }
}

/* ===============================
  TOP
=============================== */
/*------------------------------
fv
------------------------------*/
.fv {
  background: url(../img/fv.jpg) no-repeat center bottom/cover;
  position: relative;
}
@media (min-width: 768px) {
  .fv {
    height: 90vh;
    height: 90svh;
  }
}
@media (max-width: 767px) {
  .fv {
    aspect-ratio: 1440/1440;
  }
}

/*------------------------------
about
------------------------------*/
.about {
  padding: min( 214 * 100vw / var(--vw-base) , 214/var(--vw-base) * 1440px ) 0 min( 250 * 100vw / var(--vw-base) , 250/var(--vw-base) * 1440px );
  position: relative;
}
.about::before {
  content: "";
  position: absolute;
  background: url(../img/top/about1.png) no-repeat center center/100%;
  aspect-ratio: 1554/1654;
  transform: translate(0%, -0.4%);
  width: min( 777 * 100vw / var(--vw-base) , 777/var(--vw-base) * 1440px );
  right: 0%;
  top: 0;
}
.about::after {
  content: "";
  position: absolute;
  background: url(../img/top/about2.png) no-repeat center center/100%;
  aspect-ratio: 90/678;
  transform: translate(0%, 0%);
  width: min( 44 * 100vw / var(--vw-base) , 44/var(--vw-base) * 1440px );
  left: 0%;
  top: 0%;
}
@media (max-width: 767px) {
  .about {
    padding: min( 260 * 100vw / var(--vw-base) , 260/var(--vw-base) * 1440px ) 0 min( 100 * 100vw / var(--vw-base) , 100/var(--vw-base) * 1440px );
    padding-top: 10%;
  }
  .about::before {
    top: 7%;
    width: 54%;
    display: none;
  }
  .about::after {
    width: 7%;
    display: none;
  }
}

@media (min-width: 768px) {
  .about__inner {
    width: min( 1300 * 100vw / var(--vw-base) , 1300/var(--vw-base) * 1440px );
  }
}

.about__wrapper {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
}
@media (max-width: 767px) {
  .about__wrapper {
    display: block;
  }
}

.about__body {
  width: calc(560 / var(--inner) * 100%);
}
@media (max-width: 767px) {
  .about__body {
    width: 100%;
  }
}

.about__description {
  font-size: min( (16 * 100vw / var(--vw-base)) * var(--fz-ratio) , 16/var(--vw-base) * 1440px );
  font-weight: 500;
  line-height: 2.1875;
  margin-top: 4.56em;
}
@media (max-width: 767px) {
  .about__description {
    margin-top: 2em;
  }
}

.about__image {
  width: calc(438 / var(--inner) * 100%);
}
@media (max-width: 767px) {
  .about__image {
    width: 100%;
  }
}

/*------------------------------
service
------------------------------*/
.service {
  padding: min( 280 * 100vw / var(--vw-base) , 280/var(--vw-base) * 1440px ) 0 min( 135 * 100vw / var(--vw-base) , 135/var(--vw-base) * 1440px );
  color: #fff;
  position: relative;
}
.service > * {
  position: relative;
  z-index: 10;
}
@media (max-width: 767px) {
  .service {
    padding: min( 100 * 100vw / var(--vw-base) , 100/var(--vw-base) * 1440px ) 0 min( 60 * 100vw / var(--vw-base) , 60/var(--vw-base) * 1440px );
  }
}

.service-bg {
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0%;
  top: 0%;
  background: #404040;
}
.service-bg::after {
  content: "";
  position: -webkit-sticky;
  position: sticky;
  background: url(../img/top/service-bg.png) no-repeat center center/100%;
  aspect-ratio: 2880/2069;
  width: 100%;
  max-height: 100%;
  left: 0%;
  top: 0%;
  display: block;
}
@media (max-width: 767px) {
  .service-bg {
    background: #404040;
  }
  .service-bg::after {
    background: url(../img/top/service-bg.png) no-repeat center center/100% 100%;
    aspect-ratio: 2880/4000;
  }
}

.service__section {
  display: flex;
  justify-content: space-between;
  margin-top: calc(154 / var(--inner) * 100%);
}
.service__section:nth-child(n+2) {
  margin-top: calc(200 / var(--inner) * 100%);
}
@media (max-width: 767px) {
  .service__section {
    display: block;
    margin-top: calc(50 / var(--inner) * 100%);
  }
  .service__section:nth-child(n+2) {
    margin-top: calc(100 / var(--inner) * 100%);
  }
}

.service__content {
  width: calc(441 / var(--inner) * 100%);
}
@media (max-width: 767px) {
  .service__content {
    width: 100%;
  }
}

.service__number {
  display: inline-block;
  font-size: min( (20 * 100vw / var(--vw-base)) * var(--fz-ratio) , 20/var(--vw-base) * 1440px );
  font-weight: 500;
  letter-spacing: 0.05em;
  text-align: center;
  padding: 0.25em 0;
  background: #fff;
  border-radius: 100px;
  font-family: "Poppins", sans-serif;
  padding: 0.65em 2em;
  color: #1D2088;
}

.service__heading {
  margin-top: 1.875em;
}

.service__heading-ja {
  display: block;
  font-size: min( (40 * 100vw / var(--vw-base)) * var(--fz-ratio) , 40/var(--vw-base) * 1440px );
  line-height: normal;
  font-weight: 700;
  letter-spacing: 0.05em;
}
@media (max-width: 767px) {
  .service__heading-ja {
    font-size: min( (30 * 100vw / var(--vw-base)) * var(--fz-ratio) , 30/var(--vw-base) * 1440px );
  }
}

.service__heading-en {
  display: block;
  font-size: min( (16 * 100vw / var(--vw-base)) * var(--fz-ratio) , 16/var(--vw-base) * 1440px );
  font-weight: 500;
  line-height: normal;
  letter-spacing: 0.05em;
  font-family: "Poppins", sans-serif;
  margin-top: 0.625em;
}
.service__description {
  font-size: min( (15 * 100vw / var(--vw-base)) * var(--fz-ratio) , 15/var(--vw-base) * 1440px );
  font-weight: 500;
  line-height: 1.8666666667;
  margin-top: 2.3em;
}
.service__link {
  margin-top: min( 32 * 100vw / var(--vw-base) , 32/var(--vw-base) * 1440px );
}
.service__link a::after {
  background: url(../img/icon_arrow_wh2.png) no-repeat center center/contain;
  right: -2.1em;
  width: 1.8em;
}

.service__image {
  width: calc(766 / var(--inner) * 100%);
}
@media (min-width: 768px) {
  .service__image {
    transform: translateX(2%);
  }
}
@media (max-width: 767px) {
  .service__image {
    width: 100%;
    margin-top: calc(30 / var(--inner) * 100%);
  }
}

/*------------------------------
company
------------------------------*/
.company {
  padding-top: min( 190 * 100vw / var(--vw-base) , 190/var(--vw-base) * 1440px );
}
@media (max-width: 767px) {
  .company {
    padding-top: min( 40 * 100vw / var(--vw-base) , 40/var(--vw-base) * 1440px );
  }
}

.company__container {
  margin-top: calc(80 / var(--inner) * 100%);
  margin-left: 7.3%;
  overflow: scroll;
  overflow-y: hidden;
  display: flex;
  padding-right: min( 50 * 100vw / var(--vw-base) , 50/var(--vw-base) * 1440px );
}
@media (max-width: 767px) {
  .company__container {
    margin-top: calc(40 / var(--inner) * 100%);
    overflow: hidden;
  }
}

@media (max-width: 767px) {
  .company-arrow {
    display: flex;
    justify-content: space-between;
    width: 30%;
    margin-top: 10%;
    margin-left: auto;
    margin-right: 5%;
  }
  .company-arrow span {
    display: block;
    background: url(../img/icon_arrow_blue.png) no-repeat center center/100%;
    aspect-ratio: 1/1;
    width: 40%;
  }
  .company-arrow span.no {
    opacity: 0.5;
    pointer-events: none;
  }
  .company-arrow .prev {
    transform: scale(-1, 1);
  }
}

@media (max-width: 767px) {
  .company__progress {
    margin: 2% auto 0;
    width: 85%;
    height: 3px;
    background: rgba(0, 0, 0, 0.25);
    position: relative;
  }
  .company__progress span {
    position: absolute;
    background: #333;
    height: 100%;
    left: 0%;
    top: 0%;
    transition: all 0.3s;
  }
}

@media (max-width: 767px) {
  .company__section-wrap {
    display: flex;
    padding-right: min( 50 * 100vw / var(--vw-base) , 50/var(--vw-base) * 1440px );
    transition: all 0.3s;
  }
}

@media (min-width: 768px) {
  .company__item-wrap {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-top: 6%;
    gap: min( 90 * 100vw / var(--vw-base) , 90/var(--vw-base) * 1440px ) 0;
  }
}

@media (min-width: 768px) {
  .company__section {
    width: 47%;
    display: block;
  }
}
@media (max-width: 767px) {
  .company__section {
    display: block;
    padding-right: min( 30 * 100vw / var(--vw-base) , 30/var(--vw-base) * 1440px );
    width: min( 330 * 100vw / var(--vw-base) , 330/var(--vw-base) * 1440px );
  }
}

.company__image {
  width: min( 615 * 100vw / var(--vw-base) , 615/var(--vw-base) * 1440px );
  position: relative;
}
.company__image::before {
  content: "";
  position: absolute;
  background: #9DC93A;
  aspect-ratio: 35/2;
  transform: translate(-50%, -50%);
  width: 5.7%;
  left: 100%;
  top: 24.3%;
  display: none;
}
@media (min-width: 768px) {
  .company__image {
    width: 100%;
  }
  .company__image img {
    aspect-ratio: 601/392;
    -o-object-fit: cover;
       object-fit: cover;
  }
}
@media (max-width: 767px) {
  .company__image {
    width: min( 280 * 100vw / var(--vw-base) , 280/var(--vw-base) * 1440px );
  }
  .company__image img {
    -o-object-fit: cover;
       object-fit: cover;
  }
}

.company__body {
  width: min( 550 * 100vw / var(--vw-base) , 550/var(--vw-base) * 1440px );
  padding-left: min( 36 * 100vw / var(--vw-base) , 36/var(--vw-base) * 1440px );
}
@media (min-width: 768px) {
  .company__body {
    padding-left: 0;
    width: 100%;
  }
}
@media (max-width: 767px) {
  .company__body {
    width: 100%;
    padding-left: 0;
  }
}

.company__heading {
  padding: min( 30 * 100vw / var(--vw-base) , 30/var(--vw-base) * 1440px ) 0 min( 20 * 100vw / var(--vw-base) , 20/var(--vw-base) * 1440px );
}
@media (min-width: 768px) {
  .company__heading {
    padding-bottom: min( 10 * 100vw / var(--vw-base) , 10/var(--vw-base) * 1440px );
  }
}

.company__heading-en {
  display: block;
  font-size: min( (30 * 100vw / var(--vw-base)) * var(--fz-ratio) , 30/var(--vw-base) * 1440px );
  font-weight: 500;
  line-height: normal;
  letter-spacing: 0.05em;
}
@media (max-width: 767px) {
  .company__heading-en {
    font-size: min( (24 * 100vw / var(--vw-base)) * var(--fz-ratio) , 24/var(--vw-base) * 1440px );
  }
}

.company__heading-ja {
  display: block;
  font-size: min( (23 * 100vw / var(--vw-base)) * var(--fz-ratio) , 23/var(--vw-base) * 1440px );
  font-weight: 500;
  line-height: normal;
  letter-spacing: 0.05em;
  margin-top: 0.5em;
}
@media (min-width: 768px) {
  .company__heading-ja {
    margin-top: 0.2em;
  }
}
@media (max-width: 767px) {
  .company__heading-ja {
    font-size: min( (20 * 100vw / var(--vw-base)) * var(--fz-ratio) , 20/var(--vw-base) * 1440px );
  }
}

.company__description {
  font-size: min( (16 * 100vw / var(--vw-base)) * var(--fz-ratio) , 16/var(--vw-base) * 1440px );
  font-weight: 400;
  line-height: 1.4375;
  padding-top: 1.45em;
  border-top: 1px solid #E6E6E6;
  width: min( 330 * 100vw / var(--vw-base) , 330/var(--vw-base) * 1440px );
  letter-spacing: 0.05em;
}
@media (min-width: 768px) {
  .company__description {
    width: 100%;
    height: 2lh;
  }
}

.company__link {
  margin-top: min( 30 * 100vw / var(--vw-base) , 30/var(--vw-base) * 1440px );
  margin-left: auto;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.company__link a::after {
  right: -1.1em;
  width: 1.8em;
}
@media (min-width: 768px) {
  .company__link {
    margin-top: 4%;
  }
}

.company__wide-image {
  margin-top: min( 190 * 100vw / var(--vw-base) , 190/var(--vw-base) * 1440px );
}
@media (max-width: 767px) {
  .company__wide-image {
    margin-top: min( 50 * 100vw / var(--vw-base) , 50/var(--vw-base) * 1440px );
  }
  .company__wide-image img {
    aspect-ratio: 375/200;
    -o-object-fit: cover;
       object-fit: cover;
  }
}

/*------------------------------
news
------------------------------*/
.news {
  padding: min( 170 * 100vw / var(--vw-base) , 170/var(--vw-base) * 1440px ) 0 min( 115 * 100vw / var(--vw-base) , 115/var(--vw-base) * 1440px );
}
@media (max-width: 767px) {
  .news {
    padding: min( 80 * 100vw / var(--vw-base) , 80/var(--vw-base) * 1440px ) 0 min( 60 * 100vw / var(--vw-base) , 60/var(--vw-base) * 1440px );
  }
}

.news__wrapper {
  display: flex;
  justify-content: space-between;
}
@media (max-width: 1024px) {
  .news__wrapper {
    display: block;
  }
}
@media (max-width: 767px) {
  .news__wrapper {
    display: block;
  }
}

.news__title {
  width: calc(100% - (900 / var(--inner) * 100%));
}
@media (max-width: 767px) {
  .news__title {
    width: 100%;
  }
}

.news__content {
  width: calc(890 / var(--inner) * 100%);
}
@media (max-width: 1024px) {
  .news__content {
    width: 100%;
    margin-top: 5%;
  }
}
@media (max-width: 767px) {
  .news__content {
    width: 100%;
    margin-top: calc(40 / var(--inner) * 100%);
  }
}

.news__categorys {
  display: flex;
  flex-wrap: wrap;
  gap: 0 min( 10 * 100vw / var(--vw-base) , 10/var(--vw-base) * 1440px );
}
@media (max-width: 767px) {
  .news__categorys {
    gap: min( 10 * 100vw / var(--vw-base) , 10/var(--vw-base) * 1440px );
  }
}

.news__category {
  font-size: min( (14 * 100vw / var(--vw-base)) * var(--fz-ratio) , 14/var(--vw-base) * 1440px );
  font-weight: 600;
  line-height: normal;
  letter-spacing: 0.05em;
  color: #1D2088;
  text-align: center;
  padding: 0.57em 2.57em;
  border: 1px solid #1D2088;
  border-radius: 3.57em;
  min-width: 9em;
}
.news__category:has(.current) {
  background: #1D2088;
  color: #fff;
}
.news-list {
  border-top: 1px solid #E6E6E6;
  margin-top: 3.3%;
}
@media (max-width: 767px) {
  .news-list {
    margin-top: calc(40 / var(--inner) * 100%);
  }
}

.news__item a {
  padding: 4.15% 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid #E6E6E6;
}
.news__item-text {
  display: flex;
  width: 70%;
}
@media (max-width: 767px) {
  .news__item-text {
    display: block;
  }
}

.news__item-meta {
  width: 40%;
  font-size: min( (14 * 100vw / var(--vw-base)) * var(--fz-ratio) , 14/var(--vw-base) * 1440px );
  font-weight: 700;
  line-height: 2.2857142857;
  display: flex;
  align-items: center;
}
@media (max-width: 767px) {
  .news__item-meta {
    width: 100%;
  }
}

.news__item-thumbnail {
  width: 24%;
}
.news__item-thumbnail img {
  width: 100%;
  height: auto;
}
@media (max-width: 767px) {
  .news__item-thumbnail {
    width: 27%;
  }
}

.news__item-category {
  display: inline-block;
  color: #1D2088;
  background: #F4F4F4;
  border-radius: 50px;
  line-height: 1;
  padding: 0.3em 2.57em;
  margin-left: min( 35 * 100vw / var(--vw-base) , 35/var(--vw-base) * 1440px );
}

.news__item-title {
  width: 60%;
  font-size: min( (16 * 100vw / var(--vw-base)) * var(--fz-ratio) , 16/var(--vw-base) * 1440px );
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.01em;
}
@media (max-width: 767px) {
  .news__item-title {
    margin-top: calc(5 / var(--inner) * 100%);
    width: 100%;
  }
}

.news__button {
  text-align: center;
  margin-top: 7.7%;
}
.news__button a {
  display: inline-block;
  font-size: min( (16 * 100vw / var(--vw-base)) * var(--fz-ratio) , 16/var(--vw-base) * 1440px );
  font-weight: 700;
  line-height: normal;
  color: #1D2088;
  text-align: center;
  border: 1px solid #1D2088;
  padding: 1.25em 5em;
  border-radius: 100px;
}
@media (max-width: 767px) {
  .news__button {
    margin-top: calc(40 / var(--inner) * 100%);
  }
}

/*------------------------------
works
------------------------------*/
.works {
  padding: min( 85 * 100vw / var(--vw-base) , 85/var(--vw-base) * 1440px ) 0;
  position: relative;
}
.works > .inner {
  position: relative;
  z-index: 10;
}

.works__container {
  margin-top: calc(80 / var(--inner) * 100%);
  display: flex;
  justify-content: space-between;
}
@media (max-width: 767px) {
  .works__container {
    display: block;
  }
}

.works__section {
  width: 43%;
}
@media (max-width: 767px) {
  .works__section {
    width: 100%;
  }
  .works__section:nth-child(n+2) {
    margin-top: calc(40 / var(--inner) * 100%);
  }
}

.works__section--kenzai .works__header {
  border-left: min( 27 * 100vw / var(--vw-base) , 27/var(--vw-base) * 1440px ) solid #1D2088;
}

.works__section--system .works__header {
  border-left: min( 27 * 100vw / var(--vw-base) , 27/var(--vw-base) * 1440px ) solid #9DC93A;
}

.works__header {
  padding-left: min( 25 * 100vw / var(--vw-base) , 25/var(--vw-base) * 1440px );
  color: #fff;
  margin-bottom: 14%;
}

.works__heading {
  font-size: min( (28 * 100vw / var(--vw-base)) * var(--fz-ratio) , 28/var(--vw-base) * 1440px );
  font-weight: 600;
  line-height: normal;
  letter-spacing: 0.05em;
}

.works__link a {
  padding-top: 0.875em;
  padding-bottom: 0.875em;
  margin-top: 0.7em;
}

/*------------------------------
recruit
------------------------------*/
.recruit {
  padding: min( 120 * 100vw / var(--vw-base) , 120/var(--vw-base) * 1440px ) 0 min( 100 * 100vw / var(--vw-base) , 100/var(--vw-base) * 1440px );
  border-top: 1px solid #D9D9D9;
  position: relative;
  overflow: hidden;
}
.recruit > .inner {
  position: relative;
  z-index: 10;
}
@media (max-width: 767px) {
  .recruit {
    padding: min( 60 * 100vw / var(--vw-base) , 60/var(--vw-base) * 1440px ) 0 min( 50 * 100vw / var(--vw-base) , 50/var(--vw-base) * 1440px );
  }
}

.recruit-en {
  color: #E6E6E6;
  white-space: nowrap;
  letter-spacing: 0.05em;
  opacity: 0.2;
  transform: translateY(13%);
}

.recruit__wrapper {
  width: calc(1170 / var(--inner) * 100%);
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
}
@media (max-width: 767px) {
  .recruit__wrapper {
    width: 100%;
    display: block;
  }
}

.recruit__title {
  width: 26.5%;
}
@media (max-width: 767px) {
  .recruit__title {
    width: 100%;
  }
}

.recruit__content {
  width: 67%;
}
@media (max-width: 767px) {
  .recruit__content {
    width: 100%;
    margin-top: calc(40 / var(--inner) * 100%);
  }
}

.recruit__message {
  font-size: min( (16 * 100vw / var(--vw-base)) * var(--fz-ratio) , 16/var(--vw-base) * 1440px );
  font-weight: 500;
  line-height: normal;
  letter-spacing: 0.05em;
}
.recruit__link {
  text-align: right;
}

#listP {
  padding-left: calc(min( 105 * 100vw / var(--vw-base) , 105/var(--vw-base) * 1440px ) + max(0px, (100vw - 1440px) / 2));
}
@media (max-width: 767px) {
  #listP {
    padding-left: 7.3%;
  }
}
#listP .item {
  display: flex;
  justify-content: space-between;
  flex-shrink: 0;
  width: min( 1335 * 100vw / var(--vw-base) , 1335/var(--vw-base) * 1440px );
}
@media (max-width: 767px) {
  #listP .item {
    flex-direction: column;
    justify-content: flex-start;
    width: 100%;
  }
}
#listP #scrollWrap {
  width: 100%;
  overflow: hidden;
  margin-top: min( 90 * 100vw / var(--vw-base) , 90/var(--vw-base) * 1440px );
}
@media (max-width: 767px) {
  #listP #scrollWrap {
    margin-top: min( 30 * 100vw / var(--vw-base) , 30/var(--vw-base) * 1440px );
  }
}
#listP #scrollWrap2 {
  width: 100%;
  display: flex;
}
#listP #listC {
  top: 0px;
  height: 100vh;
  height: 100svh;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
/*# sourceMappingURL=top.css.map */