@charset "UTF-8";
/* ------------------------------------

colors setting

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

colors setting の変数ではなく
下記の左側の変数をcssで指定する

×：$black
◯：$dark-text

------------------------------------ */
/*  text-color
*----------------------------------- */
/*  background-color
*----------------------------------- */
/*  border-color
*----------------------------------- */
/*  system-color
*----------------------------------- */
/*  cv
*----------------------------------- */
/*  footer
*----------------------------------- */
/*  menu
*----------------------------------- */
/*  new icon
*----------------------------------- */
/*  horizontal
*----------------------------------- */
/*  slick-color
*----------------------------------- */
.en {
  font-family: "nexa", sans-serif;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1;
}

.en02 {
  font-family: "nexa", sans-serif;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1;
}

.yakuhan {
  font-family: "YakuHanJP", "source-han-sans-japanese", sans-serif;
}

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

cmn

------------------------------------ */
.page-top .p-header {
  text-align: center;
  max-width: 90%;
  margin: 0 auto 20px;
}
.page-top .p-header__title {
  font-size: 50px;
  line-height: 1;
}
.page-top .p-header__subtitle {
  font-size: 13px;
  margin-top: 4px;
}
.page-top .p-header__text {
  font-size: 15px;
  margin-top: 10px;
}

.page-top .more_button a {
  padding: 10px 0;
}
.page-top .more_button span {
  font-size: 15px;
  display: inline-block;
  font-weight: 700;
  font-family: "nexa", sans-serif;
  color: #222222;
  position: relative;
  padding-right: 22px;
}
.page-top .more_button span::before {
  content: "";
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 16px;
  height: 16px;
  background-color: #222222;
  mask: url(../images/cmn/circle_arrow.svg) center/contain no-repeat;
  -webkit-mask: url(../images/cmn/circle_arrow.svg) center/contain no-repeat;
}

.page-top .l-main {
  padding-bottom: 0;
}

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

l-〇〇

------------------------------------ */
.page-top .l-〇〇__container {
  width: 1200px;
  margin: 0 auto;
}
@media print, screen and (max-width: 760px) {
  .page-top .l-〇〇__container {
    width: auto;
  }
}

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

topvisual

------------------------------------ */
.page-top .l-visual {
  position: relative;
  width: 100vw;
  height: 736px;
}
@media print, screen and (min-width: 761px) {
  .page-top .l-visual {
    height: 51.1111111111vw;
    margin-bottom: 90px;
  }
}
@media print, screen and (max-width: 760px) {
  .page-top .l-visual {
    height: 171.7948717949vw;
    margin-bottom: 14vw;
  }
}
.page-top .l-visual__parts {
  position: absolute;
  opacity: 0;
}
.page-top .l-visual__parts.visible {
  opacity: 1;
  translate: 0 0 !important;
}
.page-top .l-visual__parts.green_square {
  width: 235px;
  top: 178px;
  left: 321px;
  transition: opacity 0.3s linear, translate 2.2s cubic-bezier(0.1, 1, 0.2, 1);
  translate: -20px -20px;
}
@media print, screen and (min-width: 761px) {
  .page-top .l-visual__parts.green_square {
    width: 16.3194444444vw;
    top: 12.3611111111vw;
    left: 22.2916666667vw;
  }
}
@media print, screen and (max-width: 760px) {
  .page-top .l-visual__parts.green_square {
    width: 35.2692307692vw;
    top: 51.7948717949vw;
    left: -0.7692307692vw;
  }
}
.page-top .l-visual__parts.orange_square {
  width: 393.09px;
  top: 183px;
  left: 822px;
  transition: opacity 0.3s linear, translate 2s cubic-bezier(0.1, 1, 0.2, 1);
  translate: 20px -20px;
}
@media print, screen and (min-width: 761px) {
  .page-top .l-visual__parts.orange_square {
    width: 27.2979166667vw;
    top: 12.7083333333vw;
    left: 57.0833333333vw;
  }
}
@media print, screen and (max-width: 760px) {
  .page-top .l-visual__parts.orange_square {
    width: 59.9794871795vw;
    top: 55.7179487179vw;
    left: 50vw;
  }
}
.page-top .l-visual__parts.red_z {
  width: 406px;
  top: 270px;
  left: 205px;
  transition: opacity 0.3s linear, translate 1.8s cubic-bezier(0.1, 1, 0.2, 1);
  translate: -20px 20px;
}
@media print, screen and (min-width: 761px) {
  .page-top .l-visual__parts.red_z {
    width: 28.1944444444vw;
    top: 18.75vw;
    left: 14.2361111111vw;
  }
}
@media print, screen and (max-width: 760px) {
  .page-top .l-visual__parts.red_z {
    width: 62.0512820513vw;
    top: 71.7948717949vw;
    left: 0.2564102564vw;
  }
}
.page-top .l-visual__parts.purple_ellipse {
  width: 410px;
  top: 189px;
  left: 416px;
  transition: opacity 0.3s linear, translate 1.6s cubic-bezier(0.1, 1, 0.2, 1);
  translate: -15px 15px;
}
@media print, screen and (min-width: 761px) {
  .page-top .l-visual__parts.purple_ellipse {
    width: 28.4722222222vw;
    top: 13.125vw;
    left: 28.8888888889vw;
  }
}
@media print, screen and (max-width: 760px) {
  .page-top .l-visual__parts.purple_ellipse {
    width: 62.5641025641vw;
    top: 42vw;
    left: 13.4871794872vw;
    translate: -10px -15px;
  }
}
.page-top .l-visual__parts.blue_sector {
  width: 231.14px;
  top: 174px;
  left: 665px;
  transition: opacity 0.3s linear, translate 1.4s cubic-bezier(0.1, 1, 0.2, 1);
  translate: 0 -15px;
}
@media print, screen and (min-width: 761px) {
  .page-top .l-visual__parts.blue_sector {
    width: 16.0513888889vw;
    top: 12.0833333333vw;
    left: 46.1805555556vw;
  }
}
@media print, screen and (max-width: 760px) {
  .page-top .l-visual__parts.blue_sector {
    width: 35.2692307692vw;
    top: 52.7179487179vw;
    left: 50.2564102564vw;
  }
}
.page-top .l-visual__parts.pink_ellipse3 {
  width: 211px;
  top: 388px;
  left: 1020px;
  transition: opacity 0.3s linear, translate 1.2s cubic-bezier(0.1, 1, 0.2, 1);
  translate: 15px 15px;
}
@media print, screen and (min-width: 761px) {
  .page-top .l-visual__parts.pink_ellipse3 {
    width: 14.6527777778vw;
    top: 26.9444444444vw;
    left: 70.8333333333vw;
  }
}
@media print, screen and (max-width: 760px) {
  .page-top .l-visual__parts.pink_ellipse3 {
    width: 32.0512820513vw;
    top: 104.0512820513vw;
    left: 72.0512820513vw;
  }
}
.page-top .l-visual__parts.green_triangle {
  width: 406px;
  top: 315px;
  left: 714px;
  transition: opacity 0.3s linear, translate 1s cubic-bezier(0.1, 1, 0.2, 1);
  translate: 10px 15px;
}
@media print, screen and (min-width: 761px) {
  .page-top .l-visual__parts.green_triangle {
    width: 28.1944444444vw;
    top: 21.875vw;
    left: 49.5833333333vw;
    z-index: 1;
  }
}
@media print, screen and (max-width: 760px) {
  .page-top .l-visual__parts.green_triangle {
    width: 61.7948717949vw;
    top: 87.9743589744vw;
    left: 48.2051282051vw;
  }
}
.page-top .l-visual__parts.purple_wave {
  width: 71.94px;
  top: 273px;
  right: 0;
  transition: opacity 0.3s linear, translate 1s cubic-bezier(0.1, 1, 0.2, 1);
  translate: 0 15px;
}
@media print, screen and (min-width: 761px) {
  .page-top .l-visual__parts.purple_wave {
    width: 4.9958333333vw;
    top: 18.9583333333vw;
    right: 0;
  }
}
@media print, screen and (max-width: 760px) {
  .page-top .l-visual__parts.purple_wave {
    width: 7.7512820513vw;
    top: 117.7179487179vw;
  }
}
.page-top .l-visual__parts.blue_ring {
  width: 156px;
  top: 126px;
  left: 931px;
  transition: opacity 0.3s linear, translate 1s cubic-bezier(0.1, 1, 0.2, 1);
  translate: -5px 10px;
}
@media print, screen and (min-width: 761px) {
  .page-top .l-visual__parts.blue_ring {
    width: 10.8333333333vw;
    top: 8.75vw;
    left: 64.6527777778vw;
  }
}
@media print, screen and (max-width: 760px) {
  .page-top .l-visual__parts.blue_ring {
    width: 18.4615384615vw;
    top: 23.6666666667vw;
    left: 41.358974359vw;
    translate: 0 10px;
  }
}
.page-top .l-visual__parts.blue_circle {
  width: 74.27px;
  top: 632px;
  left: 342px;
  transition: opacity 0.3s linear, translate 1s cubic-bezier(0.1, 1, 0.2, 1);
  translate: 10px -10px;
}
@media print, screen and (min-width: 761px) {
  .page-top .l-visual__parts.blue_circle {
    width: 5.1576388889vw;
    top: 43.8888888889vw;
    left: 23.75vw;
  }
}
@media print, screen and (max-width: 760px) {
  .page-top .l-visual__parts.blue_circle {
    width: 9.2820512821vw;
    top: 128.3076923077vw;
    left: 38.0256410256vw;
    translate: 5px -10px;
  }
}
.page-top .l-visual__parts.red_ring {
  width: 97.69px;
  top: 578px;
  left: 871px;
  transition: opacity 0.3s linear, translate 1s cubic-bezier(0.1, 1, 0.2, 1);
  translate: -5px -10px;
}
@media print, screen and (min-width: 761px) {
  .page-top .l-visual__parts.red_ring {
    width: 6.7840277778vw;
    top: 40.1388888889vw;
    left: 60.4861111111vw;
  }
}
@media print, screen and (max-width: 760px) {
  .page-top .l-visual__parts.red_ring {
    width: 12.6512820513vw;
    top: 111.3333333333vw;
    left: 55.3846153846vw;
    translate: -2px -10px;
  }
}
.page-top .l-visual__parts.orange_star {
  width: 259.23px;
  top: 59px;
  left: 92px;
  transition: opacity 0.3s linear, translate 1s cubic-bezier(0.1, 1, 0.2, 1);
  translate: 10px 10px;
}
@media print, screen and (min-width: 761px) {
  .page-top .l-visual__parts.orange_star {
    width: 18.0020833333vw;
    top: 4.0972222222vw;
    left: 6.3888888889vw;
  }
}
@media print, screen and (max-width: 760px) {
  .page-top .l-visual__parts.orange_star {
    width: 31.2256410256vw;
    top: 13.8717948718vw;
    left: 3.2051282051vw;
  }
}
.page-top .l-visual__parts.red_u {
  width: 161.93px;
  top: 97px;
  left: 514px;
  transition: opacity 0.3s linear, translate 1s cubic-bezier(0.1, 1, 0.2, 1);
  translate: 5px 10px;
}
@media print, screen and (min-width: 761px) {
  .page-top .l-visual__parts.red_u {
    width: 11.2451388889vw;
    top: 6.7361111111vw;
    left: 35.6944444444vw;
  }
}
@media print, screen and (max-width: 760px) {
  .page-top .l-visual__parts.red_u {
    width: 19.5076923077vw;
    top: 41.1794871795vw;
    left: 48.1794871795vw;
    translate: -5px 10px;
  }
}
.page-top .l-visual__parts.pink_oval {
  width: 123.93px;
  top: 103px;
  left: 333px;
  transition: opacity 0.3s linear, translate 1s cubic-bezier(0.1, 1, 0.2, 1);
  translate: 10px 10px;
}
@media print, screen and (min-width: 761px) {
  .page-top .l-visual__parts.pink_oval {
    width: 8.60625vw;
    top: 7.1527777778vw;
    left: 23.125vw;
  }
}
@media print, screen and (max-width: 760px) {
  .page-top .l-visual__parts.pink_oval {
    width: 14.9282051282vw;
    top: 44.641025641vw;
    left: -1.4358974359vw;
  }
}
.page-top .l-visual__parts.green_circle {
  width: 29.79px;
  top: 140px;
  left: 774px;
  transition: opacity 0.3s linear, translate 0.833s cubic-bezier(0.1, 1, 0.2, 1);
  translate: -2px -5px;
}
@media print, screen and (min-width: 761px) {
  .page-top .l-visual__parts.green_circle {
    width: 2.06875vw;
    top: 9.7222222222vw;
    left: 53.75vw;
  }
}
@media print, screen and (max-width: 760px) {
  .page-top .l-visual__parts.green_circle {
    width: 3.4923076923vw;
    top: 37.9487179487vw;
    left: 36.2820512821vw;
  }
}
.page-top .l-visual__parts.yellow_ring {
  width: 168.29px;
  top: 58px;
  left: 34px;
  transition: opacity 0.3s linear, translate 0.833s cubic-bezier(0.1, 1, 0.2, 1);
  translate: 10px 10px;
}
@media print, screen and (min-width: 761px) {
  .page-top .l-visual__parts.yellow_ring {
    width: 11.6868055556vw;
    top: 4.0277777778vw;
    left: 2.3611111111vw;
  }
}
@media print, screen and (max-width: 760px) {
  .page-top .l-visual__parts.yellow_ring {
    width: 20.2717948718vw;
    top: 12.3076923077vw;
    left: -3.8461538462vw;
  }
}
.page-top .l-visual__parts.yellow_asterisk {
  width: 125.42px;
  top: 57px;
  left: 843px;
  transition: opacity 0.3s linear, translate 0.833s cubic-bezier(0.1, 1, 0.2, 1);
  translate: -5px 10px;
}
@media print, screen and (min-width: 761px) {
  .page-top .l-visual__parts.yellow_asterisk {
    width: 8.7097222222vw;
    top: 3.9583333333vw;
    left: 58.5416666667vw;
  }
}
@media print, screen and (max-width: 760px) {
  .page-top .l-visual__parts.yellow_asterisk {
    width: 14.7vw;
    top: 15.6666666667vw;
    left: 32.4358974359vw;
    translate: 2px 10px;
  }
}
.page-top .l-visual__parts.yellow_line {
  width: 232.08px;
  top: 452px;
  left: 1112px;
  transition: opacity 0.3s linear, translate 0.833s cubic-bezier(0.1, 1, 0.2, 1);
  translate: -10px -5px;
}
@media print, screen and (min-width: 761px) {
  .page-top .l-visual__parts.yellow_line {
    width: 16.1166666667vw;
    top: 31.3888888889vw;
    left: 77.2222222222vw;
  }
}
@media print, screen and (max-width: 760px) {
  .page-top .l-visual__parts.yellow_line {
    width: 29.4769230769vw;
    top: 121.1282051282vw;
    left: 54vw;
    translate: -5px -10px;
  }
}
.page-top .l-visual__parts.yellow_star {
  width: 261.05px;
  top: 496px;
  left: 574px;
  transition: opacity 0.3s linear, translate 0.833s cubic-bezier(0.1, 1, 0.2, 1);
  translate: 0 -10px;
}
@media print, screen and (min-width: 761px) {
  .page-top .l-visual__parts.yellow_star {
    width: 18.1284722222vw;
    top: 34.4444444444vw;
    left: 39.8611111111vw;
  }
}
@media print, screen and (max-width: 760px) {
  .page-top .l-visual__parts.yellow_star {
    width: 29.4538461538vw;
    top: 102.7692307692vw;
    left: 29.3333333333vw;
    translate: 5px -10px;
  }
}
.page-top .l-visual__photo {
  position: absolute;
  opacity: 0;
}
.page-top .l-visual__photo.left {
  width: 280px;
  top: 356px;
  left: -16px;
  rotate: -10deg;
  mask-image: url("../../images/top/mv/photo_left_mask.svg");
  -webkit-mask-image: url("../../images/top/mv/photo_left_mask.svg");
  /* Safari用 */
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
  /* Safari用 */
  mask-position: center;
  -webkit-mask-position: center;
  /* Safari用 */
  mask-size: cover;
  -webkit-mask-size: cover;
  /* Safari用 */
  transition: opacity 0.3s linear, translate 0.833s cubic-bezier(0.1, 1, 0.2, 1);
  translate: 10px -10px;
}
@media print, screen and (min-width: 761px) {
  .page-top .l-visual__photo.left {
    width: 19.4444444444vw;
    top: 24.7222222222vw;
    left: -1.1111111111vw;
  }
}
@media print, screen and (max-width: 760px) {
  .page-top .l-visual__photo.left {
    width: 34.358974359vw;
    top: 108.2051282051vw;
    left: -0.5128205128vw;
  }
}
.page-top .l-visual__photo.right {
  width: 372px;
  top: 97px;
  left: 1102px;
  rotate: -4deg;
  mask-image: url("../../images/top/mv/photo_right_mask.svg");
  -webkit-mask-image: url("../../images/top/mv/photo_right_mask.svg");
  /* Safari用 */
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
  /* Safari用 */
  mask-position: center;
  -webkit-mask-position: center;
  /* Safari用 */
  mask-size: cover;
  -webkit-mask-size: cover;
  /* Safari用 */
  transition: opacity 0.3s linear, translate 0.667s cubic-bezier(0.1, 1, 0.2, 1);
  translate: -10px 10px;
}
@media print, screen and (min-width: 761px) {
  .page-top .l-visual__photo.right {
    width: 25.8333333333vw;
    top: 6.7361111111vw;
    left: 76.5277777778vw;
  }
}
@media print, screen and (max-width: 760px) {
  .page-top .l-visual__photo.right {
    width: 45.641025641vw;
    top: 12.8205128205vw;
    left: 60vw;
  }
}
.page-top .l-visual__photo.visible {
  opacity: 1;
  translate: 0 0 !important;
}
.page-top .l-visual__photo.fadeSwitch .inner .top {
  animation: fadeSwitch 10s infinite linear;
}
.page-top .l-visual__photo .inner {
  position: relative;
}
.page-top .l-visual__photo .inner .top {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 10;
  opacity: 0;
}
@keyframes fadeSwitch {
  0% {
    opacity: 0;
  }
  45% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  95% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
.page-top .l-visual__title {
  position: absolute;
  top: 278px;
  left: 0;
  z-index: 1000;
  font-size: 72px;
  letter-spacing: -1.5px;
  font-weight: 700;
  color: #fff;
  width: 100%;
  text-align: center;
  line-height: 1.25;
}
@media print, screen and (min-width: 761px) {
  .page-top .l-visual__title {
    top: 19.3055555556vw;
    font-size: 5vw;
    letter-spacing: -0.1041666667vw;
  }
}
@media print, screen and (max-width: 760px) {
  .page-top .l-visual__title {
    font-size: 10.5vw;
    letter-spacing: -0.2vw;
    width: 100%;
    line-height: 1.24;
    top: 63vw;
  }
}
.page-top .l-visual__title.main {
  opacity: 0;
}
.page-top .l-visual__title.main.visible {
  opacity: 1;
  translate: 0 0;
}
.page-top .l-visual__title.first {
  z-index: -1;
  opacity: 1;
  color: #222222;
}
.page-top .l-visual__title.first.hidden {
  opacity: 0;
}
.page-top .l-visual__title.first .accent {
  color: #F25552;
}
.page-top .l-visual__title.first .cover01,
.page-top .l-visual__title.first .cover02,
.page-top .l-visual__title.first .cover03 {
  position: relative;
}
.page-top .l-visual__title.first .cover01::after,
.page-top .l-visual__title.first .cover02::after,
.page-top .l-visual__title.first .cover03::after {
  content: "";
  position: absolute;
  z-index: 1;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
  background: #fff;
  transition: 0.3s;
}
.page-top .l-visual__title.first .cover01.visible::after,
.page-top .l-visual__title.first .cover02.visible::after,
.page-top .l-visual__title.first .cover03.visible::after {
  width: 0;
}

.page-top .l-visual .l-visual__news {
  position: absolute;
  z-index: 1000;
  right: 20px;
  bottom: 22px;
  opacity: 0;
  transition: 0.3s;
}
@media print, screen and (min-width: 761px) {
  .page-top .l-visual .l-visual__news {
    right: 1.3888888889vw;
    bottom: 1.5277777778vw;
  }
}
@media print, screen and (max-width: 760px) {
  .page-top .l-visual .l-visual__news {
    left: 0;
    right: 0;
    bottom: 5vw;
    width: 95vw;
    margin: auto;
  }
}
.page-top .l-visual .l-visual__news.visible {
  opacity: 1;
}
.page-top .l-visual .l-visual__news a {
  width: 400px;
  min-height: 58px;
  display: grid;
  background-color: #fff;
  grid-template-columns: max-content auto;
  border-radius: 30px;
  border: 1px solid #222222;
  overflow: hidden;
}
@media print, screen and (max-width: 760px) {
  .page-top .l-visual .l-visual__news a {
    width: 95vw;
    min-height: 14.3vw;
  }
}
.page-top .l-visual .l-visual__news .p-title {
  min-width: 83px;
  background-color: #222222;
  color: #fff;
  font-size: 21px;
  font-family: "nexa", sans-serif;
  font-weight: 700;
  line-height: 1;
  display: grid;
  place-content: center;
  padding-left: 7px;
}
@media print, screen and (max-width: 760px) {
  .page-top .l-visual .l-visual__news .p-title {
    min-width: 21.2vw;
    font-size: 5.38vw;
    padding-left: 1.79vw;
  }
}
.page-top .l-visual .l-visual__news .p-detail {
  padding: 0 18px 0 9px;
  display: grid;
  align-items: center;
}
.page-top .l-visual .l-visual__news .p-detail p {
  font-size: 13px;
  font-weight: 500;
  line-height: 1.5384615385;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}
@media print, screen and (max-width: 760px) {
  .page-top .l-visual .l-visual__news .p-detail p {
    font-size: 3.3vw;
  }
}

.page-top.is-locked {
  overflow: hidden;
}
.page-top .l-header,
.page-top .l-cv_button,
.page-top .l-toggle,
.page-top .l-concept,
.page-top .l-what,
.page-top .fixed-btn {
  opacity: 0;
  transition: 0.3s;
}
.page-top .l-header.visible,
.page-top .l-cv_button.visible,
.page-top .l-toggle.visible,
.page-top .l-concept.visible,
.page-top .l-what.visible,
.page-top .fixed-btn.visible {
  opacity: 1;
}

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

l-concept

------------------------------------ */
.page-top .l-concept {
  position: relative;
}
@media print, screen and (min-width: 761px) {
  .page-top .l-concept {
    margin-bottom: 100px;
  }
}
@media print, screen and (max-width: 760px) {
  .page-top .l-concept {
    margin-bottom: 61vw;
  }
}
.page-top .l-concept__flow-text {
  position: absolute;
  z-index: -1;
  top: 39%;
  left: 0;
  opacity: 0.18;
  width: 100vw;
  overflow: hidden;
  white-space: nowrap;
  box-sizing: border-box;
  transition: 0.1s;
}
@media print, screen and (max-width: 760px) {
  .page-top .l-concept__flow-text {
    top: 46%;
  }
}
.page-top .l-concept__flow-text__inner {
  display: flex;
  width: max-content;
  animation: concept-text 40s linear infinite;
}
.page-top .l-concept__flow-text span {
  display: inline-block;
  height: 179px;
  width: auto;
  margin-right: 30px;
}
@media print, screen and (max-width: 760px) {
  .page-top .l-concept__flow-text span {
    height: 36vw;
    margin-right: 6vw;
  }
}
.page-top .l-concept__flow-text span img {
  height: 100%;
  width: auto;
}
@keyframes concept-text {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}
.page-top .l-concept__container {
  width: 1200px;
  margin: 0 auto;
}
@media print, screen and (max-width: 760px) {
  .page-top .l-concept__container {
    width: auto;
  }
}
.page-top .l-concept__title {
  text-align: center;
  font-size: 56px;
  font-weight: 700;
  line-height: 1.29;
  margin-bottom: 40px;
}
@media print, screen and (max-width: 760px) {
  .page-top .l-concept__title {
    font-size: 8.7vw;
    margin-bottom: 7vw;
  }
}
.page-top .l-concept__title .line {
  position: relative;
}
.page-top .l-concept__title .line::before {
  content: "";
  position: absolute;
  z-index: -1;
  bottom: -8px;
  left: 50%;
  transform: translateX(-50%);
  width: 315px;
  height: 30px;
  background: url("../images/cmn/line_yellow.svg") no-repeat center bottom;
  background-size: contain;
}
@media print, screen and (max-width: 760px) {
  .page-top .l-concept__title .line::before {
    height: 5vw;
    width: 50vw;
    bottom: -1.6vw;
  }
}
.page-top .l-concept__text {
  font-size: 21px;
  font-weight: 700;
  line-height: 2;
  text-align: center;
  margin-bottom: 40px;
}
@media print, screen and (max-width: 760px) {
  .page-top .l-concept__text {
    font-size: 4.6vw;
    margin-bottom: 10vw;
  }
}
.page-top .l-concept__catch {
  font-size: 32px;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
  color: #F25552;
}
@media print, screen and (max-width: 760px) {
  .page-top .l-concept__catch {
    font-size: 6.1vw;
  }
}

.l-concept__slide {
  position: relative;
  width: 1020px;
  height: 435px;
  margin: 0 auto;
}
@media print, screen and (max-width: 760px) {
  .l-concept__slide {
    width: 90vw;
    height: 115.13vw;
  }
}
.l-concept__slide .p-item {
  position: relative;
}
.l-concept__slide .p-item span {
  position: absolute;
}
@media print, screen and (max-width: 760px) {
  .l-concept__slide .p-item span {
    width: 100%;
  }
}
.l-concept__slide .concept {
  opacity: 0;
  visibility: hidden;
  transition: opacity 1s ease, visibility 1s ease;
  position: absolute;
}
.l-concept__slide .concept.show {
  opacity: 1;
  visibility: visible;
}
.l-concept__slide .l-concept__text__inner {
  position: relative;
  height: 435px;
}
@media print, screen and (max-width: 760px) {
  .l-concept__slide .l-concept__text__inner {
    height: 115.13vw;
  }
}

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

l-what

------------------------------------ */
@media print, screen and (min-width: 761px) {
  .page-top .l-what {
    margin-bottom: 118px;
  }
}
@media print, screen and (max-width: 760px) {
  .page-top .l-what {
    margin-bottom: 27vw;
  }
}
.page-top .l-what__container {
  width: 1100px;
  margin: 0 auto;
}
@media print, screen and (max-width: 760px) {
  .page-top .l-what__container {
    width: 90vw;
  }
}
.page-top .l-what a {
  display: block;
}

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

l-philosophy

------------------------------------ */
@media print, screen and (min-width: 761px) {
  .page-top .l-philosophy {
    margin-bottom: 120px;
  }
}
@media print, screen and (max-width: 760px) {
  .page-top .l-philosophy {
    margin-bottom: 13vw;
  }
}
.page-top .l-philosophy__container {
  width: 1200px;
  margin: 0 auto;
  display: flex;
}
@media print, screen and (max-width: 760px) {
  .page-top .l-philosophy__container {
    width: 90vw;
    flex-wrap: wrap;
  }
}
@media print, screen and (min-width: 761px) {
  .page-top .l-philosophy__inner {
    width: 680px;
    padding-top: 37px;
  }
}
@media print, screen and (max-width: 760px) {
  .page-top .l-philosophy__inner {
    width: 100%;
  }
}
.page-top .l-philosophy__head {
  position: relative;
  margin-bottom: 30px;
}
@media print, screen and (max-width: 760px) {
  .page-top .l-philosophy__head {
    margin-bottom: 5.5vw;
  }
}
.page-top .l-philosophy__head::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: -36px;
  left: -66px;
  width: 407px;
  height: 305px;
  background: url("../images/top/philosophy_bg.svg") no-repeat center center;
  background-size: contain;
}
@media print, screen and (max-width: 760px) {
  .page-top .l-philosophy__head::before {
    width: 69.4vw;
    height: 51.8vw;
    top: -7vw;
    left: -7.25vw;
  }
}
.page-top .l-philosophy__head .p-title {
  font-size: 104px;
  font-weight: 700;
  line-height: 1;
  margin-left: -8px;
}
@media print, screen and (max-width: 760px) {
  .page-top .l-philosophy__head .p-title {
    font-size: 16.9vw;
    margin-left: -1vw;
  }
}
.page-top .l-philosophy__head .p-title span {
  color: #008AC8;
}
.page-top .l-philosophy__head .p-sub {
  font-size: 18px;
  font-weight: 700;
  line-height: 1;
  margin-top: 6px;
}
@media print, screen and (max-width: 760px) {
  .page-top .l-philosophy__head .p-sub {
    font-size: 4.1vw;
    margin-top: 0.5vw;
  }
}
.page-top .l-philosophy__title {
  text-align: left;
  font-size: 48px;
  font-weight: 700;
  line-height: 1.33;
  margin-bottom: 18px;
}
@media print, screen and (max-width: 760px) {
  .page-top .l-philosophy__title {
    font-size: 7.69vw;
    margin-bottom: 4.7vw;
  }
}
.page-top .l-philosophy__title .line {
  position: relative;
}
.page-top .l-philosophy__title .line::before {
  content: "";
  position: absolute;
  z-index: -1;
  bottom: -5px;
  left: 50%;
  transform: translateX(-50%);
  width: 265px;
  height: 23px;
  background: url("../images/cmn/line_blue.svg") no-repeat center bottom;
  background-size: contain;
}
@media print, screen and (max-width: 760px) {
  .page-top .l-philosophy__title .line::before {
    height: 3.31vw;
    width: 38.6vw;
    bottom: -0.6vw;
  }
}
.page-top .l-philosophy__text {
  font-size: 18px;
  font-weight: 700;
  line-height: 1.66;
  margin-bottom: 26px;
}
@media print, screen and (max-width: 760px) {
  .page-top .l-philosophy__text {
    font-size: 4.1vw;
    margin-bottom: 6.4vw;
  }
}
@media print, screen and (min-width: 761px) {
  .page-top .l-philosophy__image {
    width: 565px;
    margin-left: -45px;
  }
}
@media print, screen and (max-width: 760px) {
  .page-top .l-philosophy__image {
    width: 100%;
  }
}

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

l-message

------------------------------------ */
.page-top .l-message {
  background: #FFF6E8;
}
@media print, screen and (min-width: 761px) {
  .page-top .l-message {
    padding-top: 80px;
    padding-bottom: 80px;
  }
}
@media print, screen and (max-width: 760px) {
  .page-top .l-message {
    padding-top: 10vw;
    padding-bottom: 14vw;
  }
}
.page-top .l-message__container {
  position: relative;
  z-index: 1;
  width: 1200px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
}
@media print, screen and (max-width: 760px) {
  .page-top .l-message__container {
    width: 90vw;
    flex-wrap: wrap;
    gap: 4vw;
  }
}
.page-top .l-message__container::before {
  content: "";
  position: absolute;
  z-index: -1;
  bottom: -17px;
  right: -48px;
  width: 230px;
  height: 172px;
  background: url("../images/top/message_bg.svg") no-repeat center center;
  background-size: contain;
}
@media print, screen and (max-width: 760px) {
  .page-top .l-message__container::before {
    width: 34.31vw;
    height: 25.59vw;
    bottom: -7.7vw;
    right: -2.5vw;
  }
}
@media print, screen and (min-width: 761px) {
  .page-top .l-message__inner {
    width: 550px;
    padding-top: 21px;
  }
}
@media print, screen and (max-width: 760px) {
  .page-top .l-message__inner {
    width: 100%;
  }
}
.page-top .l-message__head {
  margin-bottom: 30px;
}
@media print, screen and (max-width: 760px) {
  .page-top .l-message__head {
    margin-bottom: 5.5vw;
  }
}
.page-top .l-message__head .p-title {
  font-size: 104px;
  font-weight: 700;
  line-height: 1;
  margin-left: -6px;
}
@media print, screen and (max-width: 760px) {
  .page-top .l-message__head .p-title {
    font-size: 16.9vw;
    margin-left: -1vw;
  }
}
.page-top .l-message__head .p-title span {
  color: #FFA519;
}
.page-top .l-message__head .p-sub {
  font-size: 18px;
  font-weight: 700;
  line-height: 1;
  margin-top: 6px;
}
@media print, screen and (max-width: 760px) {
  .page-top .l-message__head .p-sub {
    font-size: 4.1vw;
    margin-top: 0.5vw;
  }
}
.page-top .l-message__title {
  text-align: left;
  font-size: 48px;
  font-weight: 700;
  line-height: 1.33;
  margin-bottom: 28px;
}
@media print, screen and (max-width: 760px) {
  .page-top .l-message__title {
    font-size: 7.69vw;
    margin-bottom: 6.8vw;
  }
}
.page-top .l-message__title .line {
  position: relative;
  z-index: 10;
}
.page-top .l-message__title .line::before {
  content: "";
  position: absolute;
  z-index: -1;
  bottom: -5px;
  left: 50%;
  transform: translateX(-50%);
  width: 265px;
  height: 23px;
  background: url("../images/cmn/line_orange.svg") no-repeat center bottom;
  background-size: contain;
}
@media print, screen and (max-width: 760px) {
  .page-top .l-message__title .line::before {
    height: 3.31vw;
    width: 38.6vw;
    bottom: -0.6vw;
  }
}
.page-top .l-message__name {
  margin-bottom: 30px;
}
@media print, screen and (max-width: 760px) {
  .page-top .l-message__name {
    margin-bottom: 8vw;
  }
}
.page-top .l-message__name .p-sub {
  font-size: 15px;
  font-weight: 700;
  line-height: 1;
  margin-bottom: 12px;
}
@media print, screen and (max-width: 760px) {
  .page-top .l-message__name .p-sub {
    font-size: 3.58vw;
  }
}
.page-top .l-message__name .p-name {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 9px;
  font-size: 24px;
  font-weight: 700;
  line-height: 1;
}
@media print, screen and (max-width: 760px) {
  .page-top .l-message__name .p-name {
    font-size: 6.15vw;
  }
}
.page-top .l-message__name .p-name .en {
  color: #FFA519;
  font-size: 15px;
  font-weight: 700;
}
@media print, screen and (max-width: 760px) {
  .page-top .l-message__name .p-name .en {
    font-size: 3.84vw;
  }
}
@media print, screen and (min-width: 761px) {
  .page-top .l-message__image {
    width: 600px;
  }
}
@media print, screen and (max-width: 760px) {
  .page-top .l-message__image {
    width: 100%;
  }
}

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

l-career

------------------------------------ */
@media print, screen and (min-width: 761px) {
  .page-top .l-career {
    background: url("../images/top/career_bg.svg") no-repeat center center;
    background-size: 1528px auto;
    padding-top: 97px;
    padding-bottom: 110px;
  }
}
@media print, screen and (max-width: 760px) {
  .page-top .l-career {
    background: url("../images/top/career_bg_sp.svg") no-repeat center bottom;
    background-size: 113vw auto;
    padding-top: 15vw;
    padding-bottom: 48.2vw;
  }
}
.page-top .l-career__container {
  width: 1200px;
  margin: 0 auto;
}
@media print, screen and (max-width: 760px) {
  .page-top .l-career__container {
    width: 100vw;
  }
}
.page-top .l-career__head {
  text-align: center;
  position: relative;
  margin-bottom: 25px;
}
@media print, screen and (max-width: 760px) {
  .page-top .l-career__head {
    margin-bottom: 6vw;
  }
}
.page-top .l-career__head .p-title {
  font-size: 104px;
  font-weight: 700;
  line-height: 1;
}
@media print, screen and (max-width: 760px) {
  .page-top .l-career__head .p-title {
    font-size: 15.38vw;
  }
}
.page-top .l-career__head .p-title span {
  color: #F25552;
}
.page-top .l-career__head .p-sub {
  font-size: 18px;
  font-weight: 700;
  line-height: 1;
  margin-top: 6px;
}
@media print, screen and (max-width: 760px) {
  .page-top .l-career__head .p-sub {
    font-size: 4.1vw;
    margin-top: 0.5vw;
  }
}
.page-top .l-career__text {
  font-size: 18px;
  font-weight: 700;
  text-align: center;
  line-height: 1.66;
  margin-bottom: 26px;
}
@media print, screen and (max-width: 760px) {
  .page-top .l-career__text {
    font-size: 4.1vw;
    margin-bottom: 6.4vw;
  }
}
.page-top .l-career .more_button {
  text-align: center;
}

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

l-welfare

------------------------------------ */
.page-top .l-welfare {
  background: #5ABAAF;
  color: #fff;
}
@media print, screen and (min-width: 761px) {
  .page-top .l-welfare {
    padding-top: 66px;
    padding-bottom: 68px;
  }
}
@media print, screen and (max-width: 760px) {
  .page-top .l-welfare {
    padding-top: 14vw;
    padding-bottom: 15vw;
  }
}
.page-top .l-welfare__container {
  width: 1200px;
  margin: 0 auto;
}
@media print, screen and (max-width: 760px) {
  .page-top .l-welfare__container {
    width: 100vw;
  }
}
.page-top .l-welfare__head {
  text-align: center;
  position: relative;
  margin-bottom: 21px;
}
@media print, screen and (max-width: 760px) {
  .page-top .l-welfare__head {
    margin-bottom: 5vw;
  }
}
.page-top .l-welfare__head .p-title {
  font-size: 80px;
  font-weight: 700;
  line-height: 1;
}
@media print, screen and (max-width: 760px) {
  .page-top .l-welfare__head .p-title {
    font-size: 11.28vw;
  }
}
.page-top .l-welfare__head .p-sub {
  font-size: 18px;
  font-weight: 700;
  line-height: 1;
  margin-top: 2px;
}
@media print, screen and (max-width: 760px) {
  .page-top .l-welfare__head .p-sub {
    font-size: 4.1vw;
    margin-top: 1vw;
  }
}
.page-top .l-welfare__text {
  font-size: 18px;
  font-weight: 700;
  text-align: center;
  line-height: 1.66;
  margin-bottom: 21px;
}
@media print, screen and (max-width: 760px) {
  .page-top .l-welfare__text {
    font-size: 4.1vw;
    line-height: 1.5;
    margin-bottom: 7vw;
  }
}
.page-top .l-welfare__image {
  margin-bottom: -12px;
}
@media print, screen and (max-width: 760px) {
  .page-top .l-welfare__image {
    width: 90vw;
    margin: 0 auto 8.7vw;
  }
}
.page-top .l-welfare .more_button {
  text-align: center;
}
.page-top .l-welfare .more_button span {
  color: #fff;
}
.page-top .l-welfare .more_button span::before {
  background: #fff;
}

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

l-interview

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

l-number

------------------------------------ */
.page-top .l-number {
  background: #726BD6;
  color: #fff;
}
@media print, screen and (min-width: 761px) {
  .page-top .l-number {
    padding-top: 66px;
    padding-bottom: 68px;
  }
}
@media print, screen and (max-width: 760px) {
  .page-top .l-number {
    padding-top: 14vw;
    padding-bottom: 15vw;
  }
}
.page-top .l-number__container {
  width: 1200px;
  margin: 0 auto;
}
@media print, screen and (max-width: 760px) {
  .page-top .l-number__container {
    width: 100vw;
  }
}
.page-top .l-number__head {
  text-align: center;
  position: relative;
  margin-bottom: 21px;
}
@media print, screen and (max-width: 760px) {
  .page-top .l-number__head {
    margin-bottom: 5vw;
  }
}
.page-top .l-number__head .p-title {
  font-size: 80px;
  font-weight: 700;
  line-height: 1;
}
@media print, screen and (max-width: 760px) {
  .page-top .l-number__head .p-title {
    font-size: 15.38vw;
  }
}
.page-top .l-number__head .p-sub {
  font-size: 18px;
  font-weight: 700;
  line-height: 1;
  margin-top: 2px;
}
@media print, screen and (max-width: 760px) {
  .page-top .l-number__head .p-sub {
    font-size: 4.1vw;
    margin-top: 1vw;
  }
}
.page-top .l-number__text {
  font-size: 18px;
  font-weight: 700;
  text-align: center;
  line-height: 1.66;
  margin-bottom: 21px;
}
@media print, screen and (max-width: 760px) {
  .page-top .l-number__text {
    font-size: 4.1vw;
    line-height: 1.5;
    margin-bottom: 7vw;
  }
}
.page-top .l-number__image {
  margin-bottom: -12px;
}
@media print, screen and (min-width: 761px) {
  .page-top .l-number__image {
    width: 990px;
    margin: 0 auto 30px;
  }
}
@media print, screen and (max-width: 760px) {
  .page-top .l-number__image {
    width: 90vw;
    margin: 0 auto 8.7vw;
  }
}
.page-top .l-number .more_button {
  text-align: center;
}
.page-top .l-number .more_button span {
  color: #fff;
}
.page-top .l-number .more_button span::before {
  background: #fff;
}

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

l-story

------------------------------------ */
.page-top .l-story {
  position: relative;
  z-index: 100;
  padding-top: 101px;
  margin-bottom: 100px;
  overflow: hidden;
}
@media print, screen and (max-width: 760px) {
  .page-top .l-story {
    padding-top: 15vw;
    margin-bottom: 20vw;
  }
}
.page-top .l-story::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 47px;
  left: -89px;
  width: 385px;
  height: 308px;
  background: url("../images/top/story_bg.svg") no-repeat center center;
  background-size: contain;
}
@media print, screen and (max-width: 760px) {
  .page-top .l-story::before {
    width: 50vw;
    height: 40.76vw;
    top: 32vw;
    left: -14vw;
  }
}
.page-top .l-story__container {
  margin: 0 auto;
}
@media print, screen and (max-width: 760px) {
  .page-top .l-story__container {
    max-width: 100%;
  }
}
.page-top .l-story__head {
  text-align: center;
  position: relative;
  margin-bottom: 21px;
}
@media print, screen and (max-width: 760px) {
  .page-top .l-story__head {
    margin-bottom: 4.5vw;
  }
}
.page-top .l-story__head .p-title {
  font-size: 80px;
  font-weight: 700;
  line-height: 1;
}
@media print, screen and (max-width: 760px) {
  .page-top .l-story__head .p-title {
    font-size: 13.84vw;
  }
}
.page-top .l-story__head .p-title span {
  color: #F25552;
}
.page-top .l-story__head .p-sub {
  font-size: 18px;
  font-weight: 700;
  line-height: 1;
  margin-top: 16px;
}
@media print, screen and (max-width: 760px) {
  .page-top .l-story__head .p-sub {
    font-size: 4.1vw;
    margin-top: 3.2vw;
  }
}
.page-top .l-story__text {
  font-size: 18px;
  font-weight: 700;
  text-align: center;
  line-height: 1.66;
  margin-bottom: 34px;
}
@media print, screen and (max-width: 760px) {
  .page-top .l-story__text {
    font-size: 4.1vw;
    line-height: 1.5;
    margin-bottom: 7vw;
  }
}
.page-top .l-story__list {
  display: flex;
  flex-wrap: wrap;
  gap: 50px 30px;
  padding-bottom: 42px;
}
@media print, screen and (max-width: 760px) {
  .page-top .l-story__list {
    width: 100%;
    padding-bottom: 9vw;
  }
}
.page-top .l-story__list .slick-prev,
.page-top .l-story__list .slick-next {
  top: auto;
  bottom: 0;
  width: 39px;
  height: 39px;
  border: 2px solid #fff;
  border-radius: 50%;
}
.page-top .l-story__list .slick-prev {
  background: url(../images/cmn/prev_icon.svg);
  background-size: contain;
  left: 50%;
  transform: translateX(-42px);
}
.page-top .l-story__list .slick-next {
  background: url(../images/cmn/next_icon.svg);
  background-size: contain;
  right: 50%;
  transform: translateX(42px);
}
@media print, screen and (max-width: 760px) {
  .page-top .l-story .slick-list {
    padding: 0 7vw !important;
  }
}
@media print, screen and (min-width: 761px) {
  .page-top .l-story .p-item {
    width: 378px;
    margin-right: 33px;
  }
}
@media print, screen and (max-width: 760px) {
  .page-top .l-story .p-item {
    margin: 0 2vw;
  }
}
.page-top .l-story .p-item a {
  display: block;
  position: relative;
}
.page-top .l-story .p-item__photo {
  margin-bottom: 9px;
  overflow: hidden;
}
@media print, screen and (max-width: 760px) {
  .page-top .l-story .p-item__photo {
    margin-bottom: 3vw;
  }
}
.page-top .l-story .p-item__post-title {
  font-size: 16px;
  font-weight: 700;
  line-height: 1.5;
  margin-bottom: 6px;
}
@media print, screen and (max-width: 760px) {
  .page-top .l-story .p-item__post-title {
    font-size: 4.61vw;
    margin-bottom: 1.5vw;
  }
}
.page-top .l-story .p-item__post-date {
  font-size: 15px;
  font-weight: 500;
}
@media print, screen and (max-width: 760px) {
  .page-top .l-story .p-item__post-date {
    font-size: 4.1vw;
  }
}
.page-top .l-story .p-item__hash {
  text-align: left;
  margin-bottom: 5px;
}
.page-top .l-story .more_button {
  text-align: center;
}

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

l-business

------------------------------------ */
@media print, screen and (min-width: 761px) {
  .page-top .l-business {
    margin-bottom: 116px;
  }
}
@media print, screen and (max-width: 760px) {
  .page-top .l-business {
    margin-bottom: 18vw;
  }
}
.page-top .l-business__container {
  position: relative;
  z-index: 1;
  width: 1200px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
}
@media print, screen and (max-width: 760px) {
  .page-top .l-business__container {
    width: 90vw;
    flex-wrap: wrap;
    gap: 4vw;
  }
}
.page-top .l-business__container::before {
  content: "";
  position: absolute;
  z-index: -1;
  bottom: -90px;
  right: -71px;
  width: 205px;
  height: 290px;
  background: url("../images/top/business_bg02.svg") no-repeat center center;
  background-size: contain;
}
@media print, screen and (max-width: 760px) {
  .page-top .l-business__container::before {
    width: 28.7vw;
    height: 40.61vw;
    bottom: -10vw;
    right: -5.12vw;
  }
}
@media print, screen and (min-width: 761px) {
  .page-top .l-business__inner {
    width: 580px;
    padding-top: 75px;
  }
}
@media print, screen and (max-width: 760px) {
  .page-top .l-business__inner {
    width: 100%;
  }
}
.page-top .l-business__head {
  margin-bottom: 20px;
}
@media print, screen and (max-width: 760px) {
  .page-top .l-business__head {
    margin-bottom: 3vw;
  }
}
.page-top .l-business__head .p-title {
  font-size: 80px;
  font-weight: 700;
  line-height: 1;
  margin-left: -6px;
}
@media print, screen and (max-width: 760px) {
  .page-top .l-business__head .p-title {
    font-size: 15.38vw;
    margin-left: -1vw;
  }
}
.page-top .l-business__head .p-title span {
  color: #008AC8;
}
.page-top .l-business__head .p-sub {
  font-size: 18px;
  font-weight: 700;
  line-height: 1;
  margin-top: 2px;
}
@media print, screen and (max-width: 760px) {
  .page-top .l-business__head .p-sub {
    font-size: 4.1vw;
    margin-top: 1vw;
  }
}
.page-top .l-business__title {
  text-align: left;
  font-size: 26px;
  font-weight: 700;
  line-height: 1.33;
  margin-bottom: 25px;
}
@media print, screen and (max-width: 760px) {
  .page-top .l-business__title {
    font-size: 6.15vw;
    line-height: 1.41;
    margin-bottom: 4.4vw;
  }
}
.page-top .l-business__image {
  position: relative;
}
.page-top .l-business__image::before {
  content: "";
  position: absolute;
  z-index: 10;
  top: -25px;
  left: -28px;
  width: 168px;
  height: 168px;
  background: url("../images/top/business_bg01.svg") no-repeat center center;
  background-size: contain;
}
@media print, screen and (max-width: 760px) {
  .page-top .l-business__image::before {
    width: 27.58vw;
    height: 27.58vw;
    top: -4.1vw;
    left: -4.6vw;
  }
}
@media print, screen and (min-width: 761px) {
  .page-top .l-business__image {
    width: 568px;
  }
}
@media print, screen and (max-width: 760px) {
  .page-top .l-business__image {
    width: 100%;
  }
}

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

l-news

------------------------------------ */
.page-top .l-news.page-system.page-system-index {
  background: #EFF8F7;
  padding-top: 60px;
  padding-bottom: 68px;
}
@media print, screen and (max-width: 760px) {
  .page-top .l-news.page-system.page-system-index {
    padding-top: 14.4vw;
    padding-bottom: 15vw;
  }
}
.page-top .l-news.page-system.page-system-index .l-news__head {
  text-align: center;
  position: relative;
  margin-bottom: 32px;
}
@media print, screen and (max-width: 760px) {
  .page-top .l-news.page-system.page-system-index .l-news__head {
    margin-bottom: 6.5vw;
  }
}
.page-top .l-news.page-system.page-system-index .l-news__head .p-title {
  font-size: 80px;
  font-weight: 700;
  line-height: 1;
}
@media print, screen and (max-width: 760px) {
  .page-top .l-news.page-system.page-system-index .l-news__head .p-title {
    font-size: 15.38vw;
  }
}
.page-top .l-news.page-system.page-system-index .l-news__head .p-title span {
  color: #5ABAAF;
}
.page-top .l-news.page-system.page-system-index .l-news__head .p-sub {
  font-size: 18px;
  font-weight: 700;
  line-height: 1;
  margin-top: 16px;
}
@media print, screen and (max-width: 760px) {
  .page-top .l-news.page-system.page-system-index .l-news__head .p-sub {
    font-size: 4.1vw;
    margin-top: 3.2vw;
  }
}
.page-top .l-news.page-system.page-system-index .list-page__list {
  float: none;
  width: 1200px;
  max-width: inherit;
  margin: 0 auto;
}
@media print, screen and (max-width: 760px) {
  .page-top .l-news.page-system.page-system-index .list-page__list {
    width: 100%;
  }
}
.page-top .l-news.page-system.page-system-index .l-list {
  margin: 0 auto;
}
@media print, screen and (min-width: 761px) {
  .page-top .l-news.page-system.page-system-index .l-list {
    gap: 33px;
    margin-bottom: 48px;
  }
}
@media print, screen and (max-width: 760px) {
  .page-top .l-news.page-system.page-system-index .l-list {
    display: block;
    width: 90%;
    padding-bottom: 4vw;
    margin-bottom: 7vw;
  }
}
@media print, screen and (max-width: 760px) {
  .page-top .l-news.page-system.page-system-index .p-item {
    margin-right: 1vw;
    margin-left: 1vw;
    margin-bottom: 20px;
  }
}
@media print, screen and (max-width: 760px) {
  .page-top .l-news.page-system.page-system-index .p-item__inner {
    margin-top: 2vw;
  }
}
.page-top .l-news.page-system.page-system-index .p-item__hash {
  text-align: left;
  margin-bottom: 5px;
}
.page-top .l-news.page-system.page-system-index .p-item__post-title {
  font-size: 16px;
  font-weight: 700;
  line-height: 1.5;
  margin-bottom: 6px;
}
@media print, screen and (max-width: 760px) {
  .page-top .l-news.page-system.page-system-index .p-item__post-title {
    font-size: 4.1vw;
    margin-bottom: 1.5vw;
  }
}
.page-top .l-news.page-system.page-system-index .p-item__post-date {
  font-size: 15px;
  font-weight: 500;
}
@media print, screen and (max-width: 760px) {
  .page-top .l-news.page-system.page-system-index .p-item__post-date {
    font-size: 4.1vw;
  }
}
.page-top .l-news.page-system.page-system-index .p-item .ph_sys img {
  aspect-ratio: 3/2;
}
.page-top .l-news.page-system.page-system-index .slick-dots li {
  width: 13px;
  height: 13px;
  margin: 0 5px;
  background: #bababa;
}
.page-top .l-news.page-system.page-system-index .slick-dots li.slick-active {
  background: #5ABAAF;
}
.page-top .l-news.page-system.page-system-index .more_button {
  text-align: center;
}

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

l-link

------------------------------------ */
@media print, screen and (min-width: 761px) {
  .page-top .l-link {
    padding-top: 100px;
    padding-bottom: 100px;
  }
}
@media print, screen and (max-width: 760px) {
  .page-top .l-link {
    padding-top: 15.38vw;
    padding-bottom: 15.38vw;
  }
}
.page-top .l-link__container {
  width: 1200px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
}
@media print, screen and (max-width: 760px) {
  .page-top .l-link__container {
    width: 90vw;
    flex-wrap: wrap;
    gap: 6.15vw;
  }
}
.page-top .l-link__container .p-item {
  width: 576px;
}
@media print, screen and (max-width: 760px) {
  .page-top .l-link__container .p-item {
    width: 100%;
  }
}
.page-top .l-link__container .p-item a {
  display: block;
}

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

l-gallery

------------------------------------ */
.page-top .l-gallery {
  border-top: 2px solid #222222;
  padding-top: 76px;
  padding-bottom: 84px;
}
@media print, screen and (max-width: 760px) {
  .page-top .l-gallery {
    padding-top: 14vw;
    padding-bottom: 16vw;
  }
}
.page-top .l-gallery__container {
  margin: 0 auto;
}
@media print, screen and (max-width: 760px) {
  .page-top .l-gallery__container {
    max-width: 100%;
  }
}
.page-top .l-gallery__head {
  text-align: center;
  position: relative;
  margin-bottom: 42px;
}
@media print, screen and (max-width: 760px) {
  .page-top .l-gallery__head {
    margin-bottom: 9vw;
  }
}
.page-top .l-gallery__head .p-title {
  font-size: 80px;
  font-weight: 700;
  line-height: 1;
}
@media print, screen and (max-width: 760px) {
  .page-top .l-gallery__head .p-title {
    font-size: 13.84vw;
  }
}
.page-top .l-gallery__head .p-title span {
  color: #F7A8BF;
}
.page-top .l-gallery__head .p-sub {
  font-size: 18px;
  font-weight: 700;
  line-height: 1;
  margin-top: 20px;
}
@media print, screen and (max-width: 760px) {
  .page-top .l-gallery__head .p-sub {
    font-size: 4.1vw;
    margin-top: 3.2vw;
  }
}
.page-top .l-gallery__list {
  display: flex;
  flex-wrap: wrap;
  gap: 50px 30px;
  padding-bottom: 42px;
}
@media print, screen and (max-width: 760px) {
  .page-top .l-gallery__list {
    width: 100%;
    padding-bottom: 11vw;
  }
}
.page-top .l-gallery__list .slick-prev,
.page-top .l-gallery__list .slick-next {
  top: auto;
  bottom: 0;
  width: 39px;
  height: 39px;
  border: 2px solid #fff;
  border-radius: 50%;
}
.page-top .l-gallery__list .slick-prev {
  background: url(../images/cmn/prev_icon.svg);
  background-size: contain;
  left: 50%;
  transform: translateX(-42px);
}
.page-top .l-gallery__list .slick-next {
  background: url(../images/cmn/next_icon.svg);
  background-size: contain;
  right: 50%;
  transform: translateX(42px);
}
@media print, screen and (max-width: 760px) {
  .page-top .l-gallery .slick-list {
    padding: 0 7vw !important;
  }
}
@media print, screen and (min-width: 761px) {
  .page-top .l-gallery .p-item {
    width: 360px;
    margin-right: 25px;
  }
}
@media print, screen and (max-width: 760px) {
  .page-top .l-gallery .p-item {
    margin: 0 1vw;
  }
}
.page-top .l-gallery .p-item a {
  display: block;
  position: relative;
}
.page-top .l-gallery .p-item__photo {
  overflow: hidden;
}
.page-top .l-gallery .more_button {
  text-align: center;
}

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

l-recruitment

------------------------------------ */
.page-top .l-recruitment {
  background: #F0EFFA;
  padding-top: 60px;
  padding-bottom: 70px;
}
@media print, screen and (max-width: 760px) {
  .page-top .l-recruitment {
    padding-top: 14.4vw;
    padding-bottom: 15vw;
  }
}
.page-top .l-recruitment__container {
  width: 1200px;
  margin: 0 auto;
}
@media print, screen and (max-width: 760px) {
  .page-top .l-recruitment__container {
    width: auto;
  }
}
.page-top .l-recruitment__head {
  text-align: center;
  position: relative;
  margin-bottom: 32px;
}
@media print, screen and (max-width: 760px) {
  .page-top .l-recruitment__head {
    margin-bottom: 6.5vw;
  }
}
.page-top .l-recruitment__head .p-title {
  font-size: 60px;
  font-weight: 700;
  line-height: 1;
}
@media print, screen and (max-width: 760px) {
  .page-top .l-recruitment__head .p-title {
    font-size: 12.3vw;
  }
}
.page-top .l-recruitment__head .p-title span {
  color: #726BD6;
}
.page-top .l-recruitment__head .p-sub {
  font-size: 16px;
  font-weight: 700;
  line-height: 1;
  margin-top: 6px;
}
@media print, screen and (max-width: 760px) {
  .page-top .l-recruitment__head .p-sub {
    font-size: 4.1vw;
    margin-top: 3.2vw;
  }
}
.page-top .l-recruitment__list {
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
}
@media print, screen and (max-width: 760px) {
  .page-top .l-recruitment__list {
    width: 90vw;
    margin: 0 auto;
    gap: 4vw;
  }
}
@media print, screen and (min-width: 761px) {
  .page-top .l-recruitment__list li {
    width: 384px;
  }
}
@media print, screen and (max-width: 760px) {
  .page-top .l-recruitment__list li {
    width: 100%;
  }
}
.page-top .l-recruitment__list li a {
  display: block;
  position: relative;
  padding: 20px 50px;
  border-radius: 10px;
  background: #fff;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
}
.page-top .l-recruitment__list li a::before {
  content: "";
  position: absolute;
  right: 18px;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 28px;
  height: 28px;
  background-color: #726BD6;
  mask: url(../images/cmn/circle_arrow.svg) center/contain no-repeat;
  -webkit-mask: url(../images/cmn/circle_arrow.svg) center/contain no-repeat;
}

/*# sourceMappingURL=top.css.map */
