@charset "UTF-8";

/* ==========================================================

  BLD Real Estate Business SP Styles

========================================================== */

.page__body--business {
  padding-bottom: 89px;
}

.page__f-contact {
  margin-top: 68px;
}

.business-page {
  margin-top: 0;
}

/* 事業ブロック
--------------------------------------------------------- */
.b-item--acquisition {
  padding-top: 58px;
  padding-bottom: 72px;
}

.b-item--brokerage {
  padding-top: 61px;
}

.b-item__unit {
  grid-template-columns: minmax(0, 1fr);
}

.b-item__head {
  margin-top: 0;
}

.b-item__num {
  font-size: 3.75rem;
}

.b-item__title {
  margin-top: 17px;
}

.b-item__title-ja {
  font-size: 1.5625rem;
  letter-spacing: 0.07em;
  line-height: calc(33 / 25);
}

.b-item__title-en {
  font-size: 0.875rem;
  letter-spacing: 0.1em;
  line-height: calc(18 / 14);
  margin-top: 6px;
}

.b-item__text {
  font-size: 0.875rem;
  letter-spacing: 0.1em;
  line-height: calc(25 / 14);
  margin-top: 43px;
}

/* Our Approach
--------------------------------------------------------- */
.approach {
  margin-top: 71px;
}

.approach__slider {
  margin-top: 44px;
  margin-left: auto;
  margin-right: auto;
  width: 87%;
}

.approach__viewport {
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  touch-action: pan-x;
  -webkit-overflow-scrolling: touch;
}

.approach__viewport::-webkit-scrollbar {
  display: none;
}

.approach__list {
  column-gap: 0;
  display: flex;
}

.approach__card {
  box-sizing: border-box;
  flex: 0 0 100%;
  width: 100%;
  padding: 40px 16px 43px;
  scroll-snap-align: start;
}

.approach__card-title {
  font-size: 1.5625rem;
  letter-spacing: 0.07em;
  line-height: calc(40 / 25);
}

.approach__card-img {
  margin-top: 19px;
}

.approach__card-img--1 {
  width: 101.52px;
}

.approach__card-img--2 {
  width: 88.75px;
}

.approach__card-img--3 {
  width: 118.19px;
}

.approach__card-img img {
  height: 88px;
}

.approach__card-text {
  font-size: 0.875rem;
  letter-spacing: 0.06em;
  line-height: calc(25 / 14);
  margin-top: 22px;
}

.approach__arrow {
  aspect-ratio: 10.716 / 19.75;
  background: transparent;
  display: block;
  padding: 0;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 11px;
  z-index: 1;
}

.approach__arrow::after {
  content: "";
  height: 44px;
  left: 50%;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 44px;
}

.approach__arrow::before {
  aspect-ratio: 10.716 / 19.75;
  background-color: var(--primary);
  content: "";
  display: block;
  left: 0;
  -webkit-mask-image: url("../images/business/business_arrow.svg");
  mask-image: url("../images/business/business_arrow.svg");
  mask-mode: alpha;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
  position: absolute;
  top: 0;
  width: 100%;
}

.approach__arrow--prev {
  left: -20px;
}

.approach__arrow--next {
  right: -20px;
}

.approach__arrow--next::before {
  transform: scaleX(-1);
}

.approach__arrow.is-disabled {
  opacity: 0;
  pointer-events: none;
}

/* Case Studies
--------------------------------------------------------- */
.case {
  margin-top: 76px;
}

.case__panels {
  --case-pad-x: 20px;
  margin-top: 72px;
  padding: 29px var(--case-pad-x) 39px;
}

.case__tabs {
  column-gap: 20px;
  justify-content: center;
  max-width: 100%;
  width: min(100%, calc(124px * 2 + 20px));
  right: auto;
  left: 50%;
  transform: translate(-50%, -100%);
}

.case__tab {
  flex: 1 1 124px;
  font-size: 0.875rem;
  max-width: 124px;
  min-width: 0;
  padding: 8px 12px 6px;
}

.case__story-name {
  padding-left: 20px;
}

.case__story-name::after {
  width: 161px;
}

.case__story-name picture {
  height: 28px;
}

.case__title {
  font-size: 1rem;
  letter-spacing: 0.06em;
  line-height: calc(28 / 16);
  margin-top: 14px;
}

.case__overview {
  margin-top: 22px;
  padding: 23px 22px 22px 20px;
}

.case__overview-label,
.case__point-label {
  font-size: 0.875rem;
  letter-spacing: 0.08em;
}

.case__list {
  margin-top: 14px;
}

.case__list li {
  font-size: 0.875rem;
  letter-spacing: 0.1em;
  line-height: calc(25 / 14);
  padding-left: 1.2em;
  text-indent: -1.1em;
}

.case__list li+li {
  margin-top: 0px;
}

.case__points {
  margin-top: 21px;
  padding: 23px 22px 22px 20px;
}

.case__point-title {
  font-size: 1rem;
  letter-spacing: 0.08em;
  line-height: calc(28 / 16);
  margin-top: 10px;
}

.case__point .case__list {
  margin-top: 12px;
}

.case__point+.case__point {
  margin-top: 40px;
}

.case__closing {
  font-size: 0.875rem;
  letter-spacing: 0.1em;
  line-height: calc(25 / 14);
  margin-top: 22px;
}

.case__pager {
  --pager-gap: 100px;
  margin-top: 36px;
}

.case__pager-item {
  font-size: 0.875rem;
  letter-spacing: 0.02em;
}

/* business-img
--------------------------------------------------------- */
.business-img {
  aspect-ratio: 350 / 328;
  margin-left: -20px;
  overflow: hidden;
  width: calc(100% + 40px);
}

.business-img picture {
  height: 100%;
  width: 100%;
}

.business-img img {
  height: calc(100% + 80px);
  left: 0;
  object-position: center top;
  top: -40px;
  width: 100%;
}