@charset "UTF-8";
.top-numbers__list-item {
  position: relative;
}

.top-numbers__list-title {
  position: absolute;
  top: 13%;
  left: 50%;
  transform: translate(-50%, 0);
  font-size: 1.15vw;
  font-weight: 700;
}

@media (max-width: 834px) {
  .top-numbers__list-title {
    font-size: 1.9vw;
  }
}
@media (max-width: 640px) {
  .top-numbers__list-title {
    font-size: 2.9vw;
  }
}
/* 250206 add */
@media screen and (min-width: 835px) {
  .top-system__item {
    padding-bottom: 24px;
  }
}
/* -------------------

  250404 add

-------------------*/
.top-mv {
  position: relative;
  padding: 0 0 clamp(42px, 7.28vw, 60px);
}
@media screen and (min-width: 834px) {
  .top-mv {
    height: 100vh;
  }
}

.top-mv__inner {
  width: 90%;
  margin: 0 auto;
}
@media screen and (min-width: 834px) {
  .top-mv__inner {
    height: 100vh;
  }
}

@media screen and (min-width: 835px) {
  .top-mv__img.--first {
    margin-right: -1vw;
    width: 33.5%;
    width: 42.76vh;
    max-width: 30vw;
  }
}

.top-mv__img.--second {
  margin-right: 5.9%;
  margin-bottom: 9.8%;
  margin-bottom: 10vh;
  right: -4.6%;
}
@media screen and (min-width: 835px) {
  .top-mv__img.--second {
    position: absolute;
    max-width: 22vw;
    width: 24.45%;
    margin-right: 5.9%;
    margin-left: auto;
    margin-bottom: 2vh;
    margin-top: -1vw;
    width: 31.02vh;
    right: 10vw;
    margin: 0;
  }
}
@media screen and (max-width: 500px) {
  .top-mv__img.--second {
    bottom: 25.8%;
  }
}

@media screen and (min-width: 835px) {
  .top-mv__img.--three {
    max-width: 32vw;
    width: 35.6%;
    left: 35.05%;
    top: 6.1%;
    width: 44.95vh;
    left: auto;
    top: 7vh;
    right: 26vw;
  }
}

@media screen and (min-width: 835px) {
  .top-mv__img.--four {
    max-width: 24vw;
    width: 33.5vh;
    left: auto;
    bottom: 23vh;
    right: 51vw;
  }
}

.top-mv__ct {
  margin-top: 10vh;
}
@media screen and (max-width: 834px) {
  .top-mv__ct {
    position: relative;
    z-index: 5;
  }
}

/* -------------
 new item start
------------- */
/* -------------
 new mv item
------------- */
.top-mv__point {
  position: relative;
  max-width: 1200px;
  width: 100%;
  margin: 0 auto;
  top: -3vw;
}
@media screen and (min-width: 835px) {
  .top-mv__point {
    position: absolute;
    top: auto;
    bottom: 4rem;
    left: 50%;
    transform: translateX(-50%);
  }
}

.top-mv__point-tag {
  position: absolute;
  width: 104px;
  height: auto;
  top: -30px;
  left: -56px;
}
@media screen and (max-width: 1100px) {
  .top-mv__point-tag {
    width: 10vw;
    top: -2vw;
    left: -5vw;
  }
}
@media screen and (max-width: 500px) {
  .top-mv__point-tag {
    top: -45px;
    width: 80px;
  }
}

.top-mv__point-list {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border: 2px solid #fff;
  border-radius: 12.5px;
  color: #fff;
  background-color: rgb(232, 193, 232);
  background-image: linear-gradient(165deg, rgba(175, 199, 237, 0) 0%, rgba(175, 199, 237, 0) 40%, rgb(175, 199, 237) 60%, rgb(175, 199, 237) 100%);
}
@media screen and (max-width: 500px) {
  .top-mv__point-list {
    flex-wrap: wrap;
  }
}

.top-mv__point-list__item {
  width: 33.3333333333%;
  padding: 1.8vw 1vw;
  text-align: center;
}
@media screen and (min-width: 1800px) {
  .top-mv__point-list__item {
    padding: 40px 15px;
  }
}
@media screen and (max-width: 500px) {
  .top-mv__point-list__item {
    padding: 15px;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: left;
    gap: 10px 15px;
  }
}
.top-mv__point-list__item:not(:first-of-type) {
  position: relative;
}
.top-mv__point-list__item:not(:first-of-type)::before {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  width: 4px;
  height: 100%;
  background-image: radial-gradient(circle, rgba(255, 255, 255, 0.5) 2px, transparent 2px);
  background-size: 4px 6px;
  background-repeat: repeat-y;
}
@media screen and (max-width: 500px) {
  .top-mv__point-list__item:not(:first-of-type)::before {
    width: 100%;
    height: 4px;
    background-repeat: repeat-X;
  }
}
.top-mv__point-list__item h2 {
  text-align: center;
  font-size: 18px;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
}
@media screen and (max-width: 1100px) {
  .top-mv__point-list__item h2 {
    font-size: 2vw;
  }
}
@media screen and (max-width: 500px) {
  .top-mv__point-list__item h2 {
    width: 97px;
    font-size: 16px;
  }
}
@media screen and (max-width: 500px) {
  .top-mv__point-list__item div {
    max-width: 198px;
    width: calc(100% - 110px);
  }
}

.top-mv__point-list__txt01 {
  margin-top: 5px;
  font-weight: bold;
  font-size: 32px;
}
@media screen and (max-width: 1100px) {
  .top-mv__point-list__txt01 {
    font-size: 1.9vw;
  }
}
@media screen and (max-width: 500px) {
  .top-mv__point-list__txt01 {
    font-size: 20px;
  }
}
.top-mv__point-list__txt01 span {
  font-size: 80px;
  font-family: Kalnia, serif;
  font-weight: normal;
}
@media screen and (max-width: 1100px) {
  .top-mv__point-list__txt01 span {
    font-size: 8vw;
  }
}
@media screen and (max-width: 500px) {
  .top-mv__point-list__txt01 span {
    font-size: 30px;
  }
}

.top-mv__point-list__txt02 {
  margin-top: 10px;
  font-size: 20px;
  font-weight: bold;
}
@media screen and (max-width: 1100px) {
  .top-mv__point-list__txt02 {
    margin-top: 10px;
    font-size: 2vw;
  }
}
@media screen and (max-width: 500px) {
  .top-mv__point-list__txt02 {
    font-size: 18px;
  }
}
@media screen and (max-width: 420px) {
  .top-mv__point-list__txt02 {
    font-size: 4vw;
  }
}

/* -------------
 new numbers item
------------- */
.top-numbers__list-txt {
  position: absolute;
  top: 6vw;
  font-size: 1.34vw;
}
@media screen and (min-width: 1800px) {
  .top-numbers__list-txt {
    top: 30%;
    font-size: 2.4rem;
  }
}
@media screen and (max-width: 834px) {
  .top-numbers__list-txt {
    top: 9vw;
    font-size: 2vw;
  }
}
@media screen and (max-width: 640px) {
  .top-numbers__list-txt {
    top: 15vw;
    font-size: 3vw;
  }
}
.top-numbers__list-txt .wave {
  position: relative;
  top: -1em;
}

.top-numbers__list-item:nth-of-type(6) .top-numbers__list-txt {
  top: 28%;
}

/* -------------
 new system item
------------- */
.top-system__grid--add {
  margin-top: -2rem;
  margin-bottom: clamp(30px, 3.84vw, 69px);
  padding: 4rem 6rem 4rem 7rem;
  gap: 3rem;
  background-color: #f0e8dc;
}
@media screen and (max-width: 1200px) {
  .top-system__grid--add {
    margin-top: 2rem;
    padding: 2rem 3rem;
    flex-wrap: wrap;
    gap: 1rem;
  }
}
.top-system__grid--add h5 {
  margin: 0;
  width: 297px;
  line-height: 1.5;
}
@media screen and (max-width: 1200px) {
  .top-system__grid--add h5 {
    width: 100%;
  }
}
.top-system__grid--add h5 span {
  display: block;
}
.top-system__grid--add .c-txt__01 {
  width: calc(100% - (295px + 8rem));
}
@media screen and (max-width: 1200px) {
  .top-system__grid--add .c-txt__01 {
    width: 100%;
  }
}

/* -------------
 new common
------------- */
.c-ttl__txt {
  position: relative;
  width: fit-content;
  padding-left: 17px;
  font-size: 14px;
  font-weight: bold;
}
.c-ttl__txt::before {
  position: absolute;
  content: "";
  width: 8.4px;
  aspect-ratio: 1/1;
  top: 50%;
  left: 0;
  background-color: #7b9ed0;
  border-radius: 100vmax;
  transform: translateY(-50%);
}

.c-ttl__02 {
  font-size: clamp(4.5rem, 4.45vw, 6rem);
  line-height: 1.2;
}

.c-txt__bg-yellow {
  color: #fff;
  text-align: center;
}
.c-txt__bg-yellow span {
  display: inline-block;
  padding: 0.1em 0.5em;
  background-color: #dbce70;
}
.c-txt__bg-yellow span:not(:first-of-type) {
  margin-top: 10px;
}
@media screen and (max-width: 640px) {
  .c-txt__bg-yellow span:not(:first-of-type) {
    margin-top: 5px;
  }
}

.bd-dott {
  position: relative;
  display: inline-block;
  padding-bottom: 3px;
}
.bd-dott::before {
  position: absolute;
  content: "";
  width: 100%;
  height: 5px;
  bottom: 0;
  left: 0;
  background-image: radial-gradient(circle, rgb(0, 0, 0) 2.5px, transparent 2.5px);
  background-size: 9px 5px;
  background-repeat: repeat-x;
}

.c-txt__marker-yellow {
  position: relative;
  width: fit-content;
}
.c-txt__marker-yellow::before {
  position: absolute;
  content: "";
  width: 100%;
  height: 14px;
  background-color: #ede39c;
  left: 0;
  bottom: 0.26em;
  z-index: -1;
}

.fc-blue {
  color: #7b9ed0;
}

.f18 {
  font-size: clamp(1.6rem, 1.34vw, 1.8rem);
}

.f24 {
  font-size: clamp(1.8rem, 1.34vw, 2.4rem);
}

.f48 {
  font-size: clamp(2rem, 3vw, 4.8rem);
}

.f90 {
  font-size: 5.01vw;
}
@media screen and (min-width: 1800px) {
  .f90 {
    font-size: 9rem;
  }
}
@media screen and (max-width: 834px) {
  .f90 {
    font-size: 7vw;
  }
}
@media screen and (max-width: 640px) {
  .f90 {
    font-size: 12vw;
  }
}

/* -------------
 new item end
------------- */
/* -------------
 color → message
------------- */
.top-color {
  background: #f7e0f9;
}
.top-color .c-ttl__txt {
  margin: 0 auto;
}

.top-color__ttl {
  margin-bottom: 60px;
}
@media screen and (max-width: 640px) {
  .top-color__ttl {
    margin-bottom: 20px;
  }
}

.top-color__txt {
  text-align: center;
}

.c-ttl__01.--lg.top-color__subTtl {
  font-size: clamp(2rem, 3vw, 4.8rem);
}

.top-color__subTtl {
  margin-bottom: 5rem;
}
@media screen and (max-width: 640px) {
  .top-color__subTtl {
    margin-bottom: 3rem;
  }
}

@media screen and (min-width: 641px) {
  .top-color__ct {
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
  }
  .top-color .c-txt__01 {
    text-align: center;
  }
  .top-color__img.--first {
    max-width: 381px;
    width: 26%;
    left: 0;
    transform: translateX(0);
  }
  .top-color__img.--second {
    width: 23.35%;
    left: auto;
    right: 0;
  }
  .top-color__img.--three {
    width: 26.14%;
    aspect-ratio: 392/277;
    left: -4.8%;
  }
}
@media screen and (max-width: 640px) {
  .top-color__img {
    position: absolute;
  }
  .top-color__img.--first {
    margin: 0 0 auto 0;
    width: 23vw;
    top: -5vw;
    left: 0;
  }
}
/* -------------
 about
------------- */
.top-about__top-ttl {
  margin-bottom: 4rem;
}

.top-about__top-ct {
  padding: 0;
}

.top-about__top-str {
  margin-bottom: clamp(20px, 1.45vw, 26px);
}

.top-about__top-desc {
  max-width: 416px;
  width: 77%;
}

.top-about__top-circle {
  top: 0;
  left: 36%;
  background: #b9cff1;
}
.top-about__top-circle picture {
  position: absolute;
  top: 83%;
  left: 50%;
  transform: translateX(-64%);
  z-index: 2;
  max-width: 109px;
  width: 7vw;
}

.top-about__top-img {
  margin-top: 5rem;
}

.top-about__grid-icon {
  width: 22px;
  height: 22px;
  top: 12px;
  right: -20px;
}
.top-about__grid-icon:before {
  width: 12px;
}
.top-about__grid-icon:after {
  height: 12px;
}

@media screen and (min-width: 835px) and (max-width: 1200px) {
  .top-about__top-img {
    margin-top: 2rem;
  }
  .top-about__flex-ct {
    width: 66%;
    padding-top: 6%;
  }
}
@media screen and (min-width: 1201px) {
  .top-about__flex-ct {
    width: 60%;
  }
}
@media screen and (min-width: 835px) {
  .top-about__flex-img {
    width: 37.75%;
    margin-left: -7.8%;
  }
  .top-about__flex {
    margin-top: 7rem;
  }
}
@media screen and (min-width: 641px) {
  .top-about__grid {
    grid-template-columns: repeat(3, 1fr);
  }
  .top-about__grid-item:nth-child(odd) {
    border-right-width: 0;
  }
  .top-about__grid-item:not(:last-of-type) {
    border-right: 1px solid #ddd;
  }
}
@media screen and (max-width: 834px) {
  .top-about__top {
    flex-wrap: wrap;
  }
  .top-about__top-ttl {
    position: relative;
    margin-bottom: 6rem;
  }
  .top-about__top-circle {
    width: 100px;
    height: 100px;
    top: 0;
    left: auto;
    right: 0;
  }
  .top-about__top-circle picture {
    min-width: 40px;
    width: 6vw;
  }
  .top-about__flex-img {
    padding-left: 5vw;
  }
  .top-about__flex-img img {
    width: 50%;
  }
  .top-about__top-desc {
    max-width: 100%;
    width: 100%;
  }
}
@media screen and (max-width: 640px) {
  .top-about__grid-item:nth-child(odd) {
    border-width: 0;
  }
  .top-about__grid-item:not(:last-child) {
    border-bottom: 1px solid #ddd;
  }
}
@media screen and (max-width: 600px) {
  .top-about__top {
    margin-bottom: 2rem;
  }
  .top-about__top-ttl {
    margin-bottom: 4rem;
  }
  .top-about__top-img {
    margin-top: 2rem;
    margin-bottom: 0;
    padding-left: 0;
  }
  .top-about__flex-img {
    margin-bottom: 25px;
  }
}
@media screen and (max-width: 450px) {
  .top-about__top {
    margin-bottom: 0;
  }
  .top-about__top-ttl {
    font-size: 11vw;
    margin-bottom: 3rem;
  }
  .top-about__top-circle {
    right: -20px;
  }
  .top-about__top-str {
    margin-bottom: 3rem;
  }
  .top-about__flex {
    margin-top: -2rem;
  }
  .top-about__top-img {
    position: relative;
    width: 60%;
    right: -1rem;
  }
  .top-about__flex-img {
    position: relative;
    width: 90%;
    padding-left: 0;
    left: -1rem;
  }
}
@media screen and (max-width: 374px) {
  .top-about__top-circle {
    right: -7px;
  }
  .top-about__top-img {
    right: -7px;
  }
  .top-about__flex-img {
    left: -7px;
  }
}
/* -------------
 work
------------- */
.top-work__head {
  padding: 0;
  max-width: 690px;
  margin: 0 auto 5rem;
}
@media screen and (max-width: 834px) {
  .top-work__head {
    margin-bottom: 3rem;
  }
}
@media screen and (min-width: 641px) {
  .top-work__head .c-txt__01 {
    text-align: center;
  }
}

.top-work__ttl {
  padding: 0;
}
.top-work__ttl.c-txt__bg-yellow span {
  margin-left: auto;
  margin-right: auto;
  width: fit-content;
}
.top-work__ttl.c-ttl__04 {
  line-height: 1.3;
  gap: 0;
  font-size: clamp(4rem, 1.56vw, 2rem);
}
@media screen and (max-width: 834px) {
  .top-work__ttl.c-ttl__04 {
    font-size: clamp(2rem, 3vw, 4.8rem);
  }
}

/* -------------
 system
------------- */
.top-system {
  background: #f7f0e6;
}
.top-system .c-ttl__txt {
  margin: 0 auto;
}
.top-system .c-ttl__04 {
  margin-top: 3rem;
  font-size: clamp(2.4rem, 1.56vw, 4rem);
}
@media screen and (max-width: 450px) {
  .top-system .c-ttl__04 {
    font-size: 5.2vw;
  }
}
@media screen and (max-width: 834px) {
  .top-system .c-txt__marker-yellow::before {
    display: none;
  }
}

.top-system__ttl {
  position: relative;
  -ms-writing-mode: horizontal-tb;
  writing-mode: horizontal-tb;
  top: auto;
  left: auto;
}

.top-system__anchor a:before {
  width: 8px;
  height: 13px;
  aspect-ratio: 0.8660254038;
  clip-path: polygon(0 0, 100% 50%, 0 100%);
  border-radius: 0;
}

.top-system__flex-ttl {
  font-size: clamp(4.8rem, 1.12vw, 2.2rem);
}
.top-system__flex-ttl .c-txt__marker-yellow {
  font-size: 2.67vw;
}
@media screen and (max-width: 834px) {
  .top-system__flex-ttl .c-txt__marker-yellow {
    font-size: 2.2rem;
  }
}
.top-system__flex-ttl .c-ft--Mulish {
  font-size: 1.8rem;
}
.top-system__flex-ttl .lg {
  font-size: 70%;
}

@media screen and (min-width: 835px) {
  .top-system__box-ct {
    margin: 0 auto;
    width: 100%;
    max-width: 670px;
    padding: 0;
    text-align: center;
  }
}
.top-salary__list-item {
  background: #b9cff1;
}
.top-salary__list-item:nth-child(2) {
  background: #eac6ea;
}
.top-salary__list-item:nth-child(3) {
  background: #e4d4bb;
}
.top-salary__list-item .top-system__item:nth-of-type(1) {
  padding-bottom: 6rem;
}

.top-salary {
  padding-bottom: 0;
}

@media screen and (max-width: 450px) {
  .top-system__item-img02 {
    min-width: 790px;
  }
}

/* -------------
 interview
------------- */
.top-interview {
  background: #d3e4ff;
}

/* -------------
 message
------------- */
.top-message {
  background: #fde8fd;
}

.top-message__ct {
  margin-top: clamp(10px, 1.67vw, 50px);
}


/* -------------------

  250830 add

-------------------*/
.top-system__ttl03 {
  margin-top: 20px;
}