@charset "UTF-8";
/**
 * Colors
==================== */
/**
 * Breakpoints
 ==================== */
/**
 * Design Sizes
==================== */
/**
 * Spacing Units
==================== */
/**
 * Font sizes
==================== */
/**
 * Font Families
==================== */
/**
 * vw変換
==================== */
/**
 * em変換
==================== */
/**
 * mixins
==================== */
.top {
  margin-top: 3.125vw;
}
.top__img {
  max-width: 90.2777777778vw;
  margin: auto;
  display: block;
}
@media (max-width: 1020px) {
  .top__img {
    max-width: 100vw;
    height: 51.2820512821vw;
  }
}
.top__explain {
  margin: 9.375vw 0;
}
.top__h2 {
  font-size: 3.4722222222vw;
  font-weight: bold;
  line-height: 100%;
  text-align: center;
}
@media (max-width: 1020px) {
  .top__h2 {
    font-size: 5.641025641vw;
    line-height: 7.1794871795vw;
  }
}
.top__h3 {
  font-size: 0.9722222222vw;
  font-weight: bold;
  line-height: 2.2222222222vw;
  text-align: center;
}
@media (max-width: 1020px) {
  .top__h3 {
    font-size: 2.8205128205vw;
    line-height: 5.1282051282vw;
  }
}
.top__explain-text {
  display: flex;
  gap: 1.3888888889vw;
  flex-direction: column;
  margin-top: 3.4722222222vw;
}
@media (max-width: 1020px) {
  .top__explain-text {
    width: 79.4871794872vw;
    margin: auto;
    gap: 2.5641025641vw;
    margin-bottom: 7.6923076923vw;
    margin-top: 7.6923076923vw;
  }
}
.top__explain-text p {
  font-size: 1.25vw;
  line-height: 2.2222222222vw;
  font-weight: 500;
  text-align: center;
}
@media (max-width: 1020px) {
  .top__explain-text p {
    font-size: 3.0769230769vw;
    line-height: 5.1282051282vw;
    text-align: left;
    font-weight: bold;
  }
}
.top__news {
  padding: 3.8194444444vw 0 4.8611111111vw;
  background-color: var(--clr-bg-gray);
}
@media (max-width: 1020px) {
  .top__news {
    margin-top: 3.5897435897vw;
    padding: 5.1282051282vw 0;
  }
}
.top__news-wrap {
  display: flex;
  gap: 1.3888888889vw;
  width: 64.5833333333vw;
  margin: auto;
  margin-top: 2.4305555556vw;
}
@media (max-width: 1020px) {
  .top__news-wrap {
    gap: 5.1282051282vw;
    width: unset;
    margin-top: 5.1282051282vw;
  }
}
.top__news-wrap p.center {
  width: 64.5833333333vw;
  margin: auto;
  display: block;
  text-align: center;
  font-size: 1.5277777778vw;
}
@media (max-width: 1020px) {
  .top__news-wrap p.center {
    font-size: 3.0769230769vw;
    width: unset;
    text-align: left;
  }
}
.top__news-detail {
  border-radius: 1.0416666667vw;
  border: 0.1041666667vw solid var(--clr-text-black);
  padding: 2.0833333333vw 1.7361111111vw;
  background-color: var(--clr-main-white);
  width: 19.4444444444vw;
  display: block;
  transition: 0.3s;
}
@media (max-width: 1020px) {
  .top__news-detail {
    width: 64.1025641026vw;
    border-radius: 3.8461538462vw;
    border: 0.3846153846vw solid var(--clr-text-black);
    padding: 12.8205128205vw 3.8461538462vw 10.2564102564vw;
  }
}
.top__news-detail:hover {
  background-color: #f8f8f8;
}
.top__news-swiper {
  width: 65.9722222222vw;
}
@media (max-width: 1020px) {
  .top__news-swiper {
    width: 100%;
  }
}
@media (max-width: 1020px) {
  .top__news-swiper .swiper-slide {
    width: 64.1025641026vw !important;
  }
}
.top__news-within-wrap {
  width: 19.4444444444vw !important;
}
.top__news-title {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 0.6944444444vw;
  height: 3.4722222222vw;
}
@media (max-width: 1020px) {
  .top__news-title {
    margin-bottom: 3.8461538462vw;
  }
}
.top__news-detail-title {
  font-size: 1.5277777778vw;
  font-weight: bold;
  line-height: 1.7361111111vw;
  letter-spacing: 0.2680555556vw;
  width: 12.5vw;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
@media (max-width: 1020px) {
  .top__news-detail-title {
    font-size: 4.6153846154vw;
    line-height: 4.6153846154vw;
    letter-spacing: 0.9897435897vw;
    width: 33.3333333333vw;
  }
}
.top__icon-wrap {
  color: var(--clr-text-white);
  font-size: 0.9027777778vw;
  background-color: var(--clr-back-blue);
  border-radius: 3.4722222222vw;
  width: 1.9444444444vw;
  height: 1.9444444444vw;
  text-align: center;
  padding-top: 0.2777777778vw;
  padding-left: 0.0694444444vw;
}
@media (max-width: 1020px) {
  .top__icon-wrap {
    font-size: 3.3333333333vw;
    border-radius: 12.8205128205vw;
    width: 7.1794871795vw;
    height: 7.1794871795vw;
    padding-top: 1.0256410256vw;
    padding-left: 0.2564102564vw;
  }
}
.top__news-date {
  font-weight: 500;
  font-size: 0.8333333333vw;
  line-height: 1.8104166667vw;
  letter-spacing: 0.1388888889vw;
  margin-bottom: 0.6944444444vw;
}
@media (max-width: 1020px) {
  .top__news-date {
    font-size: 2.5641025641vw;
    line-height: 4.6153846154vw;
    letter-spacing: 0.5128205128vw;
    margin-top: 3.8461538462vw;
    margin-bottom: 3.8461538462vw;
  }
}
.top__news-detail-text {
  font-weight: 400;
  font-size: 1.0069444444vw;
  line-height: 1.875vw;
  letter-spacing: 0vw;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4; /* 任意の行数を指定 */
}
@media (max-width: 1020px) {
  .top__news-detail-text {
    font-size: 3.7179487179vw;
    line-height: 4.358974359vw;
    letter-spacing: 0.7692307692vw;
  }
}
.top__concept {
  padding: 10.625vw 0;
}
.top__concept-img-wrap {
  display: flex;
  gap: 1.3888888889vw;
  width: 64.5833333333vw;
  margin: auto;
  margin-top: 2.4305555556vw;
}
@media (max-width: 1020px) {
  .top__concept-img-wrap {
    flex-direction: column;
    gap: 5.1282051282vw;
    width: 84.6153846154vw;
  }
}
.top__concept-img {
  width: 32.9166666667vw;
  height: 29.2361111111vw;
}
@media (max-width: 1020px) {
  .top__concept-img {
    width: 76.9230769231vw;
    height: unset;
    margin: auto;
    margin-bottom: 4.6153846154vw;
  }
}
.top__sub-h3 {
  font-weight: 700;
  font-size: 1.9444444444vw;
  line-height: 2.1527777778vw;
  vertical-align: middle;
  color: var(--clr-back-blue);
}
@media (max-width: 1020px) {
  .top__sub-h3 {
    font-size: 4.358974359vw;
    line-height: 5.1282051282vw;
    margin-bottom: 3.0769230769vw;
  }
}
.top__concept-detail {
  display: flex;
  gap: 2.0833333333vw;
  flex-direction: column;
}
@media (max-width: 1020px) {
  .top__concept-detail {
    margin-bottom: 3.8461538462vw;
  }
}
.top__concept-detail p {
  font-weight: 500;
  font-size: 1.1111111111vw;
  line-height: 2.1527777778vw;
  letter-spacing: 0.1111111111vw;
}
@media (max-width: 1020px) {
  .top__concept-detail p {
    font-size: 3.3333333333vw;
    line-height: 5.1282051282vw;
    letter-spacing: 0.4102564103vw;
    margin-bottom: 3.8461538462vw;
  }
}
.top__link {
  width: 24.5833333333vw;
  height: 4.2361111111vw;
  border-radius: 2.0833333333vw;
  background-color: var(--clr-back-blue);
  color: var(--clr-text-black);
  position: relative;
  display: flex;
  align-items: center;
  text-align: center;
  justify-content: center;
  color: var(--clr-text-white);
  font-weight: 700;
  font-size: 1.0416666667vw;
  line-height: 2.0180555556vw;
  letter-spacing: 0.2777777778vw;
  text-align: center;
  vertical-align: middle;
  transition: 0.3s;
}
@media (max-width: 1020px) {
  .top__link {
    width: 84.6153846154vw;
    height: 15.641025641vw;
    border-radius: 7.6923076923vw;
    font-size: 3.0769230769vw;
    line-height: 3.8461538462vw;
    letter-spacing: 0.5128205128vw;
  }
}
.top__link img {
  width: 2.3611111111vw;
  position: absolute;
  right: 2.7777777778vw;
}
@media (max-width: 1020px) {
  .top__link img {
    width: 7.6923076923vw;
    right: 7.6923076923vw;
  }
}
.top__link:hover {
  opacity: 0.7;
}
.top__scenes {
  padding: 6.3888888889vw 0 5.9027777778vw;
  background-color: #F6F8FB;
}
@media (max-width: 1020px) {
  .top__scenes {
    padding: 12.8205128205vw 0;
  }
}
.top__scenes-wrap {
  display: flex;
  gap: 2.0833333333vw;
  align-items: center;
  justify-content: space-between;
  margin-top: 3.4722222222vw;
}
@media (max-width: 1020px) {
  .top__scenes-wrap {
    padding: 0vw 13.30462vw;
    margin-top: 7.6923076923vw;
    margin-bottom: 7.6923076923vw;
  }
}
.top__scenes-within-wrap {
  width: 18.4444444444vw;
  height: 19.4444444444vw;
  border-radius: 0.6944444444vw;
  box-shadow: 0 0.2083333333vw 1.1111111111vw 0 rgba(0, 0, 0, 0.1098039216);
  background-color: var(--clr-main-white);
  padding: 2.5641025641vw 0;
  display: flex;
  flex-direction: column;
  gap: 0.6944444444vw;
}
@media (max-width: 1020px) {
  .top__scenes-within-wrap {
    border-radius: 2.5641025641vw;
    box-shadow: 0 0.5128205128vw 1.2820512821vw 0 rgba(0, 0, 0, 0.1098039216);
    padding: 12.8205128205vw 2.5641025641vw;
    gap: 2.5641025641vw;
    height: 61.5384615385vw;
    width: 67.532525vw;
  }
}
.top__scenes-title {
  font-weight: 700;
  font-size: 1.1111111111vw;
  line-height: 2.5vw;
  letter-spacing: 0.1111111111vw;
  text-align: center;
  margin-bottom: 0.6944444444vw;
}
@media (max-width: 1020px) {
  .top__scenes-title {
    font-size: 4.1025641026vw;
    line-height: 5.1282051282vw;
    letter-spacing: 0.4102564103vw;
    margin-bottom: 2.5641025641vw;
  }
}
.top__scenes-img {
  width: 3.8027777778vw;
  margin: auto;
  display: block;
  margin-bottom: 1.25vw;
}
@media (max-width: 1020px) {
  .top__scenes-img {
    width: 10.2564102564vw;
    height: unset;
    margin-bottom: 3.5897435897vw;
  }
}
@media (max-width: 1020px) {
  .top__scenes-img.-sp1 {
    width: 12.8205128205vw;
    margin-bottom: 6.4102564103vw;
  }
}
@media (max-width: 1020px) {
  .top__scenes-img.-sp {
    width: 9.7435897436vw;
    height: unset;
    margin-bottom: 4.6153846154vw;
  }
}
.top__scenes-text {
  font-weight: 700;
  font-size: 1.1111111111vw;
  line-height: 1.7361111111vw;
  letter-spacing: 0.1666666667vw;
  text-align: center;
  vertical-align: middle;
}
@media (max-width: 1020px) {
  .top__scenes-text {
    font-size: 4.1025641026vw;
    line-height: 4.6153846154vw;
    letter-spacing: 0.6153846154vw;
  }
}
.top__service {
  padding: 10.7638888889vw 0 6.25vw;
}
.top__service-wrap {
  display: flex;
  gap: 3.4722222222vw;
  align-items: center;
  flex-direction: column;
  justify-content: space-between;
  width: 64.5833333333vw;
  margin: auto;
  margin-top: 4.1666666667vw;
  margin-bottom: 8.3333333333vw;
}
@media (max-width: 1020px) {
  .top__service-wrap {
    width: 89.7435897436vw;
    margin-top: 12.8205128205vw;
  }
}
.top__service-within-wrap {
  display: flex;
  gap: 4.1666666667vw;
}
@media (max-width: 1020px) {
  .top__service-within-wrap {
    flex-direction: column;
  }
}
@media (max-width: 1020px) {
  .top__service-within-wrap.-sp {
    flex-direction: column-reverse;
  }
}
.top__concept-img {
  width: 32.0138888889vw;
  height: 24.8611111111vw;
}
@media (max-width: 1020px) {
  .top__concept-img {
    width: 76.9230769231vw;
    height: unset;
    margin: auto;
    margin-bottom: 4.6153846154vw;
  }
}
.top__concept-detail-wrap {
  display: flex;
  flex-direction: column;
  gap: 1.3888888889vw;
}
@media (max-width: 1020px) {
  .top__concept-detail-wrap {
    width: 89.7435897436vw;
  }
}
.top__concept-detail-wrap p {
  font-weight: 500;
  font-size: 1.1111111111vw;
  line-height: 2.5vw;
  margin-bottom: 2.0833333333vw;
}
@media (max-width: 1020px) {
  .top__concept-detail-wrap p {
    font-size: 3.3333333333vw;
    line-height: 5.1282051282vw;
    margin-bottom: 5.1282051282vw;
  }
}
.top__concept-h3 {
  font-weight: 700;
  font-size: 1.7361111111vw;
  line-height: 2.1527777778vw;
  vertical-align: middle;
  color: var(--clr-back-blue);
  position: relative;
  padding-left: 1.3888888889vw;
  line-height: 1.3;
}
@media (max-width: 1020px) {
  .top__concept-h3 {
    font-size: 4.358974359vw;
    line-height: 3.8461538462vw;
    padding-left: 2.5641025641vw;
    margin-bottom: 2.5641025641vw;
  }
}
.top__concept-h3.-long-h3 {
  font-weight: 700;
  font-size: 1.7361111111vw;
  line-height: 2.1527777778vw;
  vertical-align: middle;
  color: var(--clr-back-blue);
  position: relative;
  padding-left: 1.3888888889vw;
  line-height: 1.3;
}
@media (max-width: 1020px) {
  .top__concept-h3.-long-h3 {
    font-size: 4.358974359vw;
    line-height: 3.8461538462vw;
    padding-left: 2.5641025641vw;
    margin-bottom: 2.5641025641vw;
    line-height: 1.4;
  }
}
.top__concept-h3::before {
  position: absolute;
  content: "";
  width: 0.2083333333vw;
  height: 3.4722222222vw;
  background-color: var(--clr-back-blue);
  left: 0;
  top: -0.8333333333vw;
}
@media (max-width: 1020px) {
  .top__concept-h3::before {
    width: 0.7692307692vw;
    height: 5.641025641vw;
    top: -0.7692307692vw;
  }
}
.top__concept-h3.-long-h3::before {
  position: absolute;
  content: "";
  width: 0.2083333333vw;
  height: 4.5138888889vw;
  background-color: var(--clr-back-blue);
  left: 0;
  top: -0.4166666667vw;
}
@media (max-width: 1020px) {
  .top__concept-h3.-long-h3::before {
    width: 0.7692307692vw;
    height: 12.3076923077vw;
    top: -1.2820512821vw;
  }
}
.top__view-more {
  background-color: var(--clr-back-gray);
  width: 14.0277777778vw;
  border-radius: 1.7361111111vw;
  font-weight: 700;
  font-size: 0.9722222222vw;
  line-height: 0.1388888889vw;
  letter-spacing: 10%;
  vertical-align: middle;
  position: relative;
  padding: 1.7361111111vw 0.6944444444vw;
  margin: 0 0 0 auto;
  color: var(--clr-main-white);
  text-align: center;
  transition: 0.3s;
}
@media (max-width: 1020px) {
  .top__view-more {
    width: 56.4102564103vw;
    border-radius: 6.4102564103vw;
    font-size: 3.0769230769vw;
    line-height: 0.5128205128vw;
    padding: 5.1282051282vw 2.5641025641vw;
    margin: auto;
    letter-spacing: 0.7692307692vw;
  }
}
.top__view-more:hover {
  opacity: 0.7;
}
.top__view-more::after {
  position: absolute;
  content: "〉";
  color: var(--clr-main-white);
  top: 1.7361111111vw;
  right: 1.3888888889vw;
  font-size: 1.0416666667vw;
}
@media (max-width: 1020px) {
  .top__view-more::after {
    top: 5.1282051282vw;
    right: 8.9743589744vw;
    font-size: 2.5641025641vw;
  }
}
.top__mr-auto {
  margin: auto;
  margin-bottom: 3.4722222222vw;
  width: 18.8090277778vw;
}
@media (max-width: 1020px) {
  .top__mr-auto {
    margin-bottom: 10.2564102564vw;
    width: 69.4487179487vw;
  }
}
.top__contact {
  background-color: var(--clr-bg-gray);
  padding: 6.25vw 0 9.7222222222vw;
}
.top__contact-detail {
  font-weight: 500;
  font-size: 1.0416666667vw;
  line-height: 2.2222222222vw;
  text-align: center;
  margin: 1.3888888889vw 0;
}
@media (max-width: 1020px) {
  .top__contact-detail {
    font-size: 3.3333333333vw;
    line-height: 5.1282051282vw;
    margin: 7.6923076923vw 0;
    font-weight: 700;
  }
}
.top__map-link {
  width: 64.6527777778vw;
  margin: auto;
  border-radius: 1.0416666667vw;
  display: block;
}
@media (max-width: 1020px) {
  .top__map-link {
    width: 87.1794871795vw;
    border-radius: 3.8461538462vw;
  }
}

.swiper-button-prev,
.swiper-button-next,
.swiper-pagination,
.swiper-button-prev:after,
.swiper-rtl .swiper-button-next:after,
.swiper-button-next:after,
.swiper-rtl .swiper-button-prev:after {
  display: none;
}

.swiper-wrapper {
  padding: 1.3888888889vw 0;
}

@media (max-width: 1020px) {
  .hide-on-small-only {
    display: none;
  }
}

@media (min-width: 1021px) {
  .hide-on-med-and-up {
    display: none;
  }
}

@media (max-width: 1020px) {
  .swiper-slide {
    margin-right: 0;
    width: 100%!important;
  }
}

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