@charset "utf-8";
/*
SP ～600px
tab 601px～1024px
PC 1025px～
*/

/*================
mv
================*/
#mv {
  position: relative;
  margin-top: 172px;
  margin-bottom: 56px;
  padding-right: 136px;
  width: 100%;
}

#mv::before,
#mv::after {
  position: absolute;
  width: 100%;
  display: block;
}

#mv::before {
  content: "";
  top: -480px;
  right: -56px;
  padding-top: 82.09%;
}

#mv::after {
  content: "";
  top: -480px;
  right: -56px;
  height: 700px;
  background-image: var(--bg-wave-large);
  background-position: right top;
  background-size: contain;
  background-repeat: no-repeat;
  transform: rotate(360deg);
  z-index: 2;
}

#mv .mv__inner {
  display: flex;
  flex-direction: row-reverse;
  align-items: center;
  justify-content: space-between;
  gap: 56px;
  width: 100%;
  height: 640px;
}

#mv .mv__inner .mv__title {
  width: 200px;
  padding-left: 40px;
  flex-shrink: 0;
  flex-basis: 200px;
}

#mv .mv__inner .mv__title-image-pc {
  max-width: 172px;
  object-fit: cover;
  z-index: 3;
  position: relative;
}

#mv .mv__inner .mv__title-image-sp {
  display: none;
}

/* swiper設定 */
#mv .mv__inner .mv__swiper {
  width: 100%;
  height: 100%;
}

#mv .mv__inner .mv__swiper .mv__swiper-wrapper {
  overflow: hidden;
  border-radius: 0 80px 80px 0;
}

#mv .mv__inner .mv__swiper .mv__swiper-slide .mv__swiper-slide-image {
  width: 100%;
  height: 640px;
  left: 0;
  border-radius: 0 80px 80px 0;
  object-fit: cover;
  z-index: 1;
  animation: ZoomOut 15s linear both;
}

/* ズームイン */
@keyframes ZoomOut {
  0% {
    transform: scale(1);
  }

  100% {
    transform: scale(1.1);
  }
}

@media screen and (max-width: 1200px) {
  #mv {
    padding-right: 80px;
  }

  #mv .mv__inner {
    gap: 24px;
  }

  /*===========max-width:1200px============*/
}

@media screen and (max-width: 960px) {
  #mv {
    margin-top: 120px;
    padding-right: 0;
  }

  #mv::before {
    top: -240px;
    right: -28px;
    padding-top: 41.045%;
  }

  #mv::after {
    top: -60%;
    right: -15%;
    height: 525px;
  }

  #mv .mv__inner {
    display: block;
    overflow: hidden;
  }

  #mv .mv__inner .mv__title-image-pc {
    display: none;
  }

  #mv .mv__inner .mv__title-image-sp {
    position: absolute;
    display: block;
    max-width: 440px;
    object-fit: cover;
    z-index: 3;
    right: 96px;
    top: -136px;
  }

  #mv .mv__inner .mv__swiper {
    margin-left: 0;
    padding-right: 8%;
  }

  /*===========max-width:960px============*/
}

@media screen and (max-width: 768px) {
  #mv .mv__inner .mv__title-image-sp {
    width: 320px;
    top: -128px;
  }

  #mv::after {
    top: -70%;
    right: -25%;
    height: 500px;
  }

  /*===========max-width:768px============*/
}

@media screen and (max-width: 600px) {
  #mv {
    margin-top: 120px;
    padding-right: 0;
  }

  #mv::before {
    top: -180px;
    right: -14px;
    padding-top: 20.5225%;
  }

  #mv::after {
    top: -85%;
    height: 300px;
  }

  #mv .mv__inner {
    flex-direction: column;
    height: auto;
  }

  #mv .mv__inner .mv__title {
    width: auto;
    padding-left: 0;
  }

  #mv .mv__inner .mv__swiper .mv__swiper-slide .mv__swiper-slide-image {
    height: 320px;
  }

  #mv .mv__inner .mv__title-image-sp {
    right: 50px;
    top: -112px;
    width: 200px;
  }

  /*===========max-width:600px============*/
}

/*================
news
================*/
#top-news {
  position: relative;
  padding-bottom: 48px;
}

#top-news .top-news__inner {
  padding-left: 40px;
  position: relative;
  display: flex;
  justify-content: center;
  gap: 40px;
}

#top-news .top-news__inner .top-news__posts {
  position: relative;
  max-width: 480px;
}

#top-news .top-news__inner .top-news__posts .top-news__title-wrapper {
  position: absolute;
  left: -156px;
  top: -18%;
}

#top-news
  .top-news__inner
  .top-news__posts
  .top-news__title-wrapper
  .top-nav__title-image {
  right: 0;
  width: 140px;
  height: auto;
}

#top-news
  .top-news__inner
  .top-news__posts
  .top-news__title-wrapper
  .top-news__title {
  position: absolute;
  top: 50%;
  left: 60%;
  transform: translate(-50%, -50%);
  font-family: var(--font-tsukimi);
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.12em;
}

#top-news
  .top-news__inner
  .top-news__posts
  .top-news__post
  .top-news__post-link {
  display: flex;
  flex-direction: row;
  gap: 32px;
  align-items: center;
  padding-top: 24px;
  padding-bottom: 24px;
  border-bottom: 0.5px solid var(--color-purple-light);
  width: 480px;
}

#top-news
  .top-news__inner
  .top-news__posts
  .top-news__post
  .top-news__post-link:first-child {
  padding-top: 0;
}

#top-news
  .top-news__inner
  .top-news__posts
  .top-news__post
  .top-news__post-link:hover {
  opacity: 0.8;
  transition: all 0.3s ease;
}

#top-news
  .top-news__inner
  .top-news__posts
  .top-news__post
  .top-news__post-link
  .top-news__post-date,
#top-news
  .top-news__inner
  .top-news__posts
  .top-news__post
  .top-news__post-link
  .top-news__post-title {
  font-family: var(--font-ibmplex);
  font-size: 12px;
  letter-spacing: 0.2em;
  font-weight: 500;
  text-align: left;
}

#top-news
  .top-news__inner
  .top-news__posts
  .top-news__post
  .top-news__post-link
  .top-news__post-title {
  text-wrap: initial;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

#top-news .top-news__inner .top-news__link {
  grid-column: span 2;
  text-align: right;
  padding-top: 24px;
}

#top-news .property-circle {
  right: 16px;
  top: -24px;
}

@media screen and (max-width: 1370px) {
  #top-news .property-circle {
    right: 92px;
  }

  /*===========max-width:1370px============*/
}

@media screen and (max-width: 960px) {
  #top-news .top-news__inner {
    flex-direction: column;
    align-items: center;
    padding-left: 0;
    padding-top: 8px;
    max-width: 480px;
    margin: 0 auto;
  }

  #top-news .top-news__inner .top-news__posts .top-news__title-wrapper {
    left: 0;
  }

  #top-news
    .top-news__inner
    .top-news__posts
    .top-news__post
    .top-news__post-link:first-child {
    padding-top: 72px;
  }

  #top-news .property-circle {
    right: 20%;
  }

  /*===========max-width:960px============*/
}

@media screen and (max-width: 768px) {
  #top-news .top-news__inner .top-news__posts {
    max-width: 440px;
  }

  #top-news .top-news__inner .top-news__posts .top-news__title-wrapper {
    top: -14%;
    left: 5%;
  }

  #top-news
    .top-news__inner
    .top-news__posts
    .top-news__title-wrapper
    .top-nav__title-image {
    width: 104px;
  }

  #top-news
    .top-news__inner
    .top-news__posts
    .top-news__post
    .top-news__post-link:first-child {
    padding-top: 64px;
  }

  /*===========max-width:768px============*/
}

@media screen and (max-width: 600px) {
  #top-news .top-news__inner .top-news__posts {
    width: 100%;
    padding-top: 0;
  }

  #top-news
    .top-news__inner
    .top-news__posts
    .top-news__post
    .top-news__post-link {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    padding-top: 16px;
    padding-bottom: 12px;
    width: 100%;
  }

  #top-news
    .top-news__inner
    .top-news__posts
    .top-news__post
    .top-news__post-link
    .top-news__post-title {
    width: 100%;
  }

  /*===========max-width:600px============*/
}

/*================
description
================*/
#top-description {
  margin: 0 auto;
  padding-bottom: 80px;
}

#top-description .description__text {
  font-weight: 700;
}

#top-description .top-description__form {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  padding-top: 80px;
  gap: 0.5em;
}

#top-description .top-description__form .top-description__form-title {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.2em;
  line-height: 1.8;
  font-family: var(--font-ibmplex);
}

@media screen and (max-width: 768px) {
  #top-description {
    padding-bottom: 40px;
  }
  #top-description .top-description__form {
    padding-top: 40px;
  }
  /*===========max-width:768px============*/
}

/*================
navigation
================*/
#top-nav {
  position: relative;
}

#top-nav .top-nav__container {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 28px;
  flex-wrap: nowrap;
}

#top-nav .top-nav__container .top-nav__item {
  width: 100%;
  height: 100%;
  aspect-ratio: 210 / 252;
  position: relative;
}

#top-nav .top-nav__container .top-nav__item .top-nav__link:hover {
  opacity: 0.8;
  transition: all 0.3s ease;
}

#top-nav .top-nav__container .top-nav__item .top-nav__link .top-nav__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 40px;
}

#top-nav
  .top-nav__container
  .top-nav__item
  .top-nav__link
  .top-nav__title-wrapper {
  position: absolute;
  bottom: -40px;
  left: -24px;
}

#top-nav .top-nav__container .top-nav__item .top-nav__link img {
  width: 100px;
  height: auto;
}

#top-nav
  .top-nav__container
  .top-nav__item
  .top-nav__link
  .top-nav__title-wrapper
  .top-nav__title {
  position: absolute;
  width: 100%;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-family: var(--font-zenmaru);
  font-size: 24px;
  font-weight: 900;
  letter-spacing: 0.05em;
  color: var(--color-white);
  text-align: center;
}
#top-nav
  .top-nav__container
  .top-nav__item
  .top-nav__link
  .top-nav__title-wrapper
  .top-nav__title-icon {
  position: absolute;
  width: 24px;
  top: 50%;
  right: -8px;
  transform: translate(0, -50%);
}
#top-nav
  .top-nav__container
  .top-nav__item
  .top-nav__link
  .top-nav__title-wrapper
  .top-nav__title-icon.rent {
  right: -16px;
}

#top-nav .top-nav__container .top-nav__item .top-nav__link .top-nav__note {
  position: absolute;
  bottom: -15px;
  right: 5%;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: var(--color-white);
  padding: 6px 8px;
  background-color: var(--color-brown-dark);
}

/* 背景画像 */
#top-nav .top-nav__bg-left {
  position: absolute;
  background-image: var(--bg-wave-medium);
  background-repeat: no-repeat;
  background-position: left top;
  background-size: contain;
  width: 420px;
  height: 307px;
  left: -372px;
  top: 0;
  z-index: -1;
}

#top-nav .top-nav__bg-right {
  position: absolute;
  background-image: var(--bg-wave-small);
  background-repeat: no-repeat;
  background-position: right top;
  background-size: contain;
  width: 256px;
  height: 294px;
  right: -152px;
  bottom: 0;
  z-index: -1;
}

@media screen and (max-width: 960px) {
  #top-nav .top-nav__container {
    display: flex;
    flex-wrap: wrap;
    gap: 40px;
  }

  #top-nav .top-nav__container .top-nav__item {
    flex: 1 1 calc(50% - 20px);
    min-width: 256px;
    max-width: 210px;
    height: 252px;
  }

  #top-nav .top-nav__container .top-nav__item:nth-child(3) {
    flex-basis: 100%;
  }

  #top-nav .top-nav__bg-right {
    top: 50%;
  }

  /*===========max-width:960px============*/
}

@media screen and (max-width: 768px) {
  #top-nav .top-nav__container {
    gap: 32px;
  }

  #top-nav .top-nav__container .top-nav__item {
    height: auto;
    min-width: initial;
  }

  #top-nav .top-nav__container .top-nav__item .top-nav__link .top-nav__img {
    aspect-ratio: 210 / 252;
    height: auto;
  }

  #top-nav
    .top-nav__container
    .top-nav__item
    .top-nav__link
    .top-nav__title-wrapper {
    bottom: -24px;
    left: -16px;
  }

  #top-nav
    .top-nav__container
    .top-nav__item
    .top-nav__link
    .top-nav__title-wrapper
    img {
    width: 80px;
  }

  #top-nav
    .top-nav__container
    .top-nav__item
    .top-nav__link
    .top-nav__title-wrapper
    .top-nav__title {
    font-size: 18px;
  }

  #top-nav .top-nav__container .top-nav__item .top-nav__link .top-nav__note {
    font-size: 8px;
  }

  /*===========max-width:768px============*/
}

@media screen and (max-width: 600px) {
  #top-nav .top-nav__container {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    justify-items: center;
    gap: 16px;
  }

  #top-nav
    .top-nav__container
    .top-nav__item
    .top-nav__link
    .top-nav__title-wrapper {
    left: -8px;
    bottom: -6px;
  }

  #top-nav .top-nav__container .top-nav__item .top-nav__link .top-nav__note {
    bottom: -6px;
  }

  #top-nav .top-nav__bg-left {
    width: 210px;
    height: 153px;
    left: -186px;
  }

  #top-nav .top-nav__bg-right {
    width: 128px;
    height: 147px;
    right: -76px;
    bottom: -5%;
    top: initial;
  }

  /*===========max-width:600px============*/
}

/*================
Our Strengths
================*/
#top-about {
  position: relative;
}

/* step */
#top-about .top-about__container {
  padding-bottom: 32px;
}

#top-about .top-about__container .top-about__steps {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 16px;
}

#top-about .top-about__container .top-about__steps .top-about__step {
  width: 331px;
  height: 382px;
  border: 2px solid var(--color-blue-pastel);
  border-radius: 45px;
  background-color: var(--color-white);
  position: relative;
  overflow: hidden;
  padding: 32px;
}

#top-about
  .top-about__container
  .top-about__steps
  .top-about__step
  .top-about__step-icon {
  position: absolute;
  width: 120px;
  height: 120px;
  right: 0;
  background-color: var(--color-blue-pastel);
  border-radius: 50%;
  right: -60px;
  top: 12%;
}

#top-about
  .top-about__container
  .top-about__steps
  .top-about__step
  .top-about__step-icon
  img {
  position: absolute;
  top: calc(12% + 40px);
  left: 30%;
  transform: translate(-50%, -50%);
  width: 37px;
  height: auto;
}

#top-about
  .top-about__container
  .top-about__steps
  .top-about__step
  .top-about__arrow-icon {
  width: 8px;
  color: var(--color-blue-pastel);
}

#top-about
  .top-about__container
  .top-about__steps
  .top-about__step
  .top-about__step-title {
  color: var(--color-blue-pastel);
  font-family: var(--font-ibmplex);
  letter-spacing: 0.28em;
  font-weight: 700;
  line-height: 1.5;
  padding-top: 16px;
  padding-bottom: 40px;
  font-size: 22px;
}

#top-about
  .top-about__container
  .top-about__steps
  .top-about__step
  .flow__step-description {
  font-family: var(--font-ibmplex);
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.2em;
  line-height: 2em;
  text-align: justify;
}

/* リンクボタン */
#top-about .btn-gradation {
  margin: 0 auto;
}

/* 背景 */
#top-about .top-about__bg-color {
  position: absolute;
  display: block;
  width: 78.1vw;
  top: 240px;
  height: 368px;
  background-color: var(--color-blue-ice);
  left: 0;
  border-radius: 0 90px 90px 0;
  z-index: -2;
}

#top-about .top-about__bg-image {
  position: absolute;
  display: block;
  background-image: url("../../img/top/eishin-building.webp");
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
  top: -48px;
  left: 15%;
  width: 100%;
  max-width: 387px;
  max-height: 464px;
  height: 100%;
  border-radius: 0 90px 0 90px;
  z-index: -1;
}

@media screen and (max-width: 1870px) {
  #top-about .top-about__bg-color {
    width: 80vw;
  }

  /*===========max-width:1870px============*/
}

@media screen and (max-width: 1780px) {
  #top-about .top-about__bg-color {
    width: 85vw;
  }

  /*===========max-width:1780px============*/
}

@media screen and (max-width: 1575px) {
  #top-about .top-about__bg-color {
    width: 87vw;
    top: 240px;
  }

  #top-about .top-about__bg-image {
    left: 40px;
  }

  /*===========max-width:1575px============*/
}

@media screen and (max-width: 1300px) {
  #top-about .top-about__bg-color {
    width: 93vw;
  }

  /*===========max-width:1300px============*/
}

@media screen and (max-width: 1200px) {
  #top-about
    .top-about__container
    .top-about__steps
    .top-about__step
    .top-about__step-title {
    padding-bottom: 24px;
  }

  #top-about .top-about__bg-color {
    height: 47%;
  }

  /*===========max-width:1200px============*/
}

@media screen and (max-width: 960px) {
  #top-about {
    padding-top: 120px;
  }

  #top-about .top-about__container .top-about__steps {
    flex-direction: column;
  }

  #top-about .top-about__container .top-about__steps .top-about__step {
    width: 80%;
    height: auto;
  }

  #top-about
    .top-about__container
    .top-about__steps
    .top-about__step
    .top-about__step-title {
    padding-bottom: 24px;
    width: 240px;
  }

  #top-about .top-about__bg-image {
    left: 5%;
    top: 40px;
  }

  #top-about .top-about__bg-color {
    width: 87vw;
    top: 23%;
    height: 65.5%;
  }

  /*===========max-width:960px============*/
}

@media screen and (max-width: 768px) {
  #top-about {
    padding-top: 60px;
    padding-bottom: 130px;
  }

  #top-about .top-about__container {
    padding-bottom: 0;
  }

  #top-about .top-about__container .top-about__steps .top-about__step {
    display: none;
  }

  #top-about
    .top-about__container
    .top-about__steps
    .top-about__step
    .top-about__step-icon {
    width: 104px;
    height: 104px;
  }

  #top-about
    .top-about__container
    .top-about__steps
    .top-about__step
    .top-about__step-icon
    img {
    left: 25%;
  }

  #top-about
    .top-about__container
    .top-about__steps
    .top-about__step
    .top-about__step-title {
    font-size: 18px;
  }

  #top-about .top-about__bg-color {
    display: none;
  }

  #top-about .top-about__bg-image {
    display: none;
  }

  /*===========max-width:768px============*/
}

@media screen and (max-width: 600px) {
  #top-about {
    padding-top: 30px;
    padding-bottom: 90px;
  }

  #top-about .top-about__container .top-about__steps .top-about__step {
    padding: 24px 40px 32px 24px;
  }

  #top-about
    .top-about__container
    .top-about__steps
    .top-about__step
    .top-about__step-title {
    width: 200px;
  }

  #top-about .top-about__bg-color {
    top: 18%;
    height: 74%;
    width: 97%;
  }

  #top-about .top-about__bg-image {
    left: -40%;
  }

  #top-about
    .top-about__container
    .top-about__steps
    .top-about__step
    .flow__step-description {
    line-height: initial;
  }

  /*===========max-width:600px============*/
}

/*================
Property
================*/
#top-property {
  padding-bottom: 214px;
}
#top-property .property-tab__section-title::after {
  width: 53.2vw;
}

#top-property .property-tab__section-title.line-left::before {
  right: calc(46.8vw + 20px);
}

#top-property .property-tab__section-title.line-left .section-title__text-en,
#top-property .property-tab__section-title.line-left .section-title__text-ja {
  padding-right: calc(46.8vw + 64px);
}

#top-property .property-tab__header {
  display: flex;
  justify-content: space-between;
  padding-bottom: 56px;
}

/* 検索 */
#top-property .property-tab__header .property-tab__search-box {
  display: flex;
  align-items: center;
  width: 224px;
  height: 32px;
  border: 2px solid var(--color-blue-pastel);
  padding: 8px;
  background-color: var(--color-white);
  border-radius: 30px;
}

.top-search.vkfs {
  display: flex;
  align-items: center;
  width: 224px;
  height: 32px;
  border: 2px solid var(--color-blue-pastel);
  padding: 8px;
  background-color: var(--color-white);
  border-radius: 30px;
}

.top-search .vkfs__labels::after {
  display: none;
}

.top-search .vkfs__taxonomy,
.top-search .vkfs__outer-wrap {
  border-bottom: none;
  margin-bottom: initial;
  width: 100%;
}

.top-search .vkfs__label-name {
  display: none;
}

.top-search .vkfs__labels {
  border: none;
  outline: none;
  flex: 1;
  font-size: 8px;
  color: var(--color-gray2);
  padding: 0;
  background-color: initial;
  max-width: initial;
  width: auto;
}

.top-search .vkfs input[type="number"],
.vkfs input[type="text"],
.vkfs select:not(.does-not-exist) {
  border: none;
  width: 180px;
  background-color: initial;
  padding: 0;
}

.top-search .reset-button {
  display: none;
}

.top-search.vkfs button[type="submit"] {
  margin-top: 0;
  width: 16px;
  border: none;
  background-color: initial;
  padding: initial;
}

.top-search .vkfs__input-wrap {
  padding: 0;
}

/*　不動産リスト */
/* チェックされたラジオボタンに対応するコンテンツを表示 */
#top-buy:checked ~ #top-buy__content {
  display: block;
}

#top-rent:checked ~ #top-rent__content {
  display: block;
}

/* 背景画像 */
#top-property .bg-right {
  position: absolute;
  background-image: var(--bg-wave-large);
  background-repeat: no-repeat;
  background-position: right top;
  background-size: contain;
  width: 420px;
  height: 307px;
  right: -287px;
  top: -10%;
  z-index: -1;
}

@media screen and (max-width: 768px) {
  #top-property {
    padding-bottom: 120px;
  }
  #top-property .property-tab__section-title.line-left .section-title__text-en,
  #top-property .property-tab__section-title.line-left .section-title__text-ja {
    padding-right: calc(46.8vw + 32px);
  }

  /*===========max-width:768px============*/
}

@media screen and (max-width: 600px) {
  #top-property .property-tab__section-title.line-left::before {
    right: calc(18vw + 20px);
  }

  #top-property .property-tab__section-title::after {
    width: 82vw;
  }

  #top-property .property-tab__section-title.line-left .section-title__text-en,
  #top-property .property-tab__section-title.line-left .section-title__text-ja {
    padding-right: calc(18vw + 32px);
  }

  /* 背景画像 */
  #top-property .bg-right {
    width: 210px;
    height: 153px;
    right: -143px;
    top: -5%;
  }

  /*===========max-width:600px============*/
}

/*================
service
================*/
/* タイトル */
#top-service {
  position: relative;
}

#top-service .top-service__section-title::after {
  width: 73.05vw;
}

#top-service .top-service__section-title.line-right::before {
  left: calc(26.95vw + 20px);
}

#top-service .top-service__section-title.line-right .section-title__text-en,
#top-service .top-service__section-title.line-right .section-title__text-ja {
  padding-left: calc(26.95vw + 64px);
}

/* 各コンテンツ */
#top-service .top-service__content {
  width: 100%;
  padding-bottom: 92px;
}

#top-service .top-service__content .top-service__item {
  position: relative;
  width: 100%;
  height: 264px;
  background-color: var(--color-blue-baby);
  border-radius: 30px 0 0 30px;
  margin-left: 20vw;
  margin-bottom: 56px;
  overflow: visible;
}

#top-service .top-service__content .top-service__item a {
  transition: opacity 0.3s ease-in-out;
}
#top-service .top-service__content .top-service__item a:hover {
  opacity: 0.7;
}

#top-service .top-service__content .top-service__item:nth-child(1) {
  height: 296px;
}

#top-service .top-service__content .top-service__item:nth-child(2) {
  margin-left: 22vw;
}

#top-service .top-service__content .top-service__item:nth-child(3) {
  margin-left: 24vw;
}

#top-service .top-service__content .top-service__item:nth-child(4) {
  margin-left: 26vw;
  margin-bottom: 0;
}

#top-service
  .top-service__content
  .top-service__item
  .top-service__title-wrapper {
  position: absolute;
  left: -50px;
  top: 50%;
  transform: translateY(-50%);
}

#top-service
  .top-service__content
  .top-service__item
  .top-service__title-wrapper
  .top-service__title-image {
  width: 100px;
  height: auto;
}

#top-service
  .top-service__content
  .top-service__item
  .top-service__title-wrapper
  .top-service__title {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: block;
  text-align: center;
  color: var(--color-white);
  font-family: var(--font-zenmaru);
  font-size: 24px;
  letter-spacing: 0.3em;
  font-weight: 900;
  width: 100%;
}

#top-service
  .top-service__content
  .top-service__item
  .top-service__description {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 48px;
  padding-left: 120px;
  height: 100%;
}

#top-service
  .top-service__content
  .top-service__item
  .top-service__description
  .top-service__text {
  max-width: 600px;
}

#top-service
  .top-service__content
  .top-service__item
  .top-service__description
  .top-service__text
  .top-service__text-heading {
  font-family: var(--font-ibmplex);
  font-size: 22px;
  font-weight: 500;
  letter-spacing: 0.2em;
  line-height: 1.6;
  padding-bottom: 24px;
}

#top-service
  .top-service__content
  .top-service__item
  .top-service__description
  .top-service__text
  .top-service__text-description {
  font-family: var(--font-ibmplex);
  font-weight: 500;
  font-size: 14px;
  line-height: 1.8;
  letter-spacing: 0.2em;
  text-align: justify;
}

#top-service
  .top-service__content
  .top-service__item
  .top-service__description
  .top-service__image-detail {
  position: absolute;
  left: 800px;
  width: 200px;
  height: 240px;
  border-radius: 30px;
  object-fit: cover;
  margin-top: 56px;
}

#top-service
  .top-service__content
  .top-service__item:nth-child(1)
  .top-service__description
  .top-service__image-detail {
  margin-top: 0;
}

/* 背景画像 */
#top-service .top-service__bg {
  position: absolute;
  background-image: var(--bg-wave-medium_02);
  background-repeat: no-repeat;
  background-position: left top;
  background-size: contain;
  width: 392px;
  height: 306px;
  left: -240px;
  bottom: 20%;
  z-index: -1;
}

@media screen and (max-width: 1400px) {
  #top-service
    .top-service__content
    .top-service__item
    .top-service__description
    .top-service__text {
    max-width: 500px;
  }

  #top-service
    .top-service__content
    .top-service__item
    .top-service__description
    .top-service__image-detail {
    left: 700px;
  }
  /*===========max-width:1400px============*/
}

@media screen and (max-width: 1200px) {
  #top-service .top-service__content .top-service__item:nth-child(1) {
    margin-left: 10vw;
  }

  #top-service .top-service__content .top-service__item:nth-child(2) {
    margin-left: 12vw;
  }

  #top-service .top-service__content .top-service__item:nth-child(3) {
    margin-left: 14vw;
  }

  #top-service .top-service__content .top-service__item:nth-child(4) {
    margin-left: 16vw;
  }

  #top-service
    .top-service__content
    .top-service__item
    .top-service__description {
    padding-left: 80px;
  }

  #top-service
    .top-service__content
    .top-service__item
    .top-service__description
    .top-service__image-detail {
    left: 600px;
  }

  /*===========max-width:1200px============*/
}

@media screen and (max-width: 960px) {
  #top-service .top-service__content {
    padding-left: 5.6%;
    padding-right: 5.6%;
  }

  #top-service .top-service__content .top-service__item {
    max-width: 500px;
    height: initial;
    background-color: initial;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 40px;
    border-radius: initial;
  }

  #top-service .top-service__content .top-service__item:nth-child(1) {
    height: initial;
    margin-left: auto;
  }

  #top-service .top-service__content .top-service__item:nth-child(2),
  #top-service .top-service__content .top-service__item:nth-child(3),
  #top-service .top-service__content .top-service__item:nth-child(4) {
    margin-left: auto;
  }

  #top-service
    .top-service__content
    .top-service__item
    .top-service__title-wrapper {
    left: 90px;
    top: calc(40px + 120px);
    height: auto;
    transform: translate(-50%, -50%);
    border-radius: initial;
    margin-left: auto;
    margin-right: auto;
  }

  #top-service
    .top-service__content
    .top-service__item
    .top-service__description {
    display: flex;
    flex-direction: column-reverse;
    justify-content: flex-start;
    align-items: center;
    gap: 48px;
    padding-left: initial;
    background-color: var(--color-blue-baby);
    border-radius: 30px;
    padding: 40px;
    width: 100%;
  }

  #top-service
    .top-service__content
    .top-service__item
    .top-service__description
    .top-service__image-detail {
    position: initial;
    left: initial;
    width: initial;
    height: 240px;
    margin-left: 24px;
    margin-top: 0;
  }

  #top-service .top-service__bg {
    top: 73%;
  }

  /*===========max-width:960px============*/
}

@media screen and (max-width: 768px) {
  #top-service .top-service__section-title.line-right::before {
    left: calc(18vw + 20px);
  }

  #top-service .top-service__section-title::after {
    width: 82vw;
  }

  #top-service .top-service__section-title.line-right .section-title__text-en,
  #top-service .top-service__section-title.line-right .section-title__text-ja {
    padding-left: calc(18vw + 32px);
  }

  #top-service .top-service__content {
    padding-bottom: 40px;
  }

  #top-service .top-service__content .top-service__item {
    margin-bottom: 32px;
  }

  #top-service
    .top-service__content
    .top-service__item
    .top-service__title-wrapper {
    left: 64px;
    top: calc(32px + 120px);
  }

  #top-service
    .top-service__content
    .top-service__item
    .top-service__title-wrapper
    .top-service__title-image {
    width: 80px;
  }

  #top-service
    .top-service__content
    .top-service__item
    .top-service__title-wrapper
    .top-service__title {
    font-size: 16px;
  }

  #top-service
    .top-service__content
    .top-service__item
    .top-service__description {
    padding: 32px;
    gap: 32px;
  }

  #top-service
    .top-service__content
    .top-service__item
    .top-service__description
    .top-service__text
    .top-service__text-description {
    line-height: initial;
  }

  #top-service
    .top-service__content
    .top-service__item
    .top-service__description
    .top-service__image-detail {
    margin-left: 0;
  }

  #top-service
    .top-service__content
    .top-service__item
    .top-service__description
    .top-service__text
    .top-service__text-heading {
    font-size: 18px;
    padding-bottom: 16px;
  }

  #top-service .top-service__bg {
    top: 80%;
  }

  /*===========max-width:768px============*/
}

@media screen and (max-width: 600px) {
  #top-service
    .top-service__content
    .top-service__item
    .top-service__title-wrapper {
    left: 32px;
  }

  #top-service
    .top-service__content
    .top-service__item
    .top-service__description {
    padding: 32px 24px;
  }

  #top-service .top-service__bg {
    width: 196px;
    height: 153px;
    left: -120px;
  }
  /*===========max-width:600px============*/
}
