/* screen - index */

.home .pwrap {
    background-color: var(--light-gley);
}
.index .fv_bg {
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: 30px;
  width: 100%;
}
.index .fv_bg .swiper {
  width:100%;
}
.index .fv_bg .swiper-wrapper {
  height:auto;
}
.index .fv_bg .overlap-group11{
  width: 100%;
  height: 480px;
  position: relative;
}
.index .fv_bg .overlap-group11 img {
  width:100%;
  height:100%;
  object-fit: cover;
}
@media (max-width:768px){
  .index .fv_bg .overlap-group11 {
    height: 230px;
  }
}
.index .text-76 {
  color: var(--white);
  font-family: var(--font-family-noto_sans_jp-medium);
  font-size: var(--font-size-xxxl);
  font-weight: 500;
  left: 0;
  letter-spacing: 0;
  line-height: 1.4;
  position: absolute;
  bottom: 0;
  z-index: 2;
  width: 100%;
  height: 80px;
  padding-inline: 120px;
  padding-bottom:40px;
  display: flex;
  align-items: flex-end;
}
.index .fv_bg .overlap-group11:before {
  content:"";
  background: linear-gradient(0deg, rgb(0, 0, 0) 0%, rgba(0, 0, 0, 0.7) 53%, rgba(60, 60, 60, 0) 100%);
  height: 149px;
  opacity: 0.8;
  position: absolute;
  left: 0;
  bottom:0;
  width: 100%;
  z-index: 1;
}
.swiper-pagination {
  position: relative;
  top:auto;
  bottom:auto;
  left:auto;
  right:auto;
  margin-top:30px;
}
.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet{
  width:13px;
  height:13px;
  border:#7F7F7F 1px solid;
  border-radius: 50%;
  background-color: white;
  margin:0 16px;
  opacity:1;
}
.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet.swiper-pagination-bullet-active, .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet:hover {
  background-color: #7F7F7F;
}

.index .view-7 {
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: 51px;
  margin-top: 56px;
}
.index .home-item-area {
  overflow: hidden;
  width:100%;
}
.index .home-item-area .d-grid-wrap {
  grid-template-columns: repeat(auto-fit, minmax(279px, 1fr));
}

.index .home-item-area .view-7 {
    margin-top:30px;
    gap:30px;
}

.home-topics-area{
    padding-top:2px;
    margin-top:24px;
}
.index .home-topics-wrap {
  width:100%;
}
.index .home-topics-wrap .swiper-area {
  width:100%;
  position:relative;
}

.home-topics-wrap .swiper-button-prev, .home-topics-wrap .swiper-button-next {
  position: absolute;
  z-index: 1;
  top: 0;
  bottom: 0;
  margin: auto;
}
.home-topics-wrap:not(.area-topics-wrap) .swiper-button-prev {
  right: 100%;
  left:auto;
}
.home-topics-wrap:not(.area-topics-wrap) .swiper-button-next {
  left: 100%;
}
@media (min-width:1280px){
  .home-topics-wrap:not(.area-topics-wrap) .swiper-button-prev {
    right: calc(100% + 21px);
    left:auto;
  }
  .home-topics-wrap:not(.area-topics-wrap) .swiper-button-next {
    left: calc(100% + 21px);
  }
}
@media (max-width:1024px){
.index .text-76 {
  padding-inline: 80px;
}
.index .home-topics-wrap {
  padding-bottom:42px;
}

.home-topics-wrap .swiper-button-prev, .home-topics-wrap .swiper-button-next {
   width:24px;
   height:24px;
    padding:0;
    justify-content: center;
    align-items: center;
}
.home-topics-wrap:not(.area-topics-wrap) .swiper-button-prev {
  right: 97%;
}
.home-topics-wrap:not(.area-topics-wrap) .swiper-button-next {
  left: 97%;
}
}
@media (max-width:768px){
  .index .text-76 {
    padding-inline: 40px;
    font-size: 17px;
  }
  .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
    width: 10px;
    height: 10px;
    margin: 0 8px;
}
 .index .home-item-area {
    padding-bottom:64px;
 }
 .index .home-topics-area{
   margin-top:0;
    }
 .index .home-topics-wrap {
   padding-bottom: 24px;
    }


}
@media (max-width:599px){
  .home-topics-wrap:not(.area-topics-wrap) .swiper-button-prev {
   right: 94%;
     }
  .home-topics-wrap:not(.area-topics-wrap) .swiper-button-next {
       left: 94%;
     }
}
.index .bg_lightgley + footer {
    padding-top:0;
  }

/* 県別おすすめ物件横スクロール */
.index .recommend-prefecture-block {
  width: 100%;
}

.index .recommend-prefecture-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 16px;
  padding-left: 60px;
}

.index .recommend-prefecture-name {
  font-size: 20px;
  font-weight: 500;
  color: var(--masala);
  margin: 0;
}

.index .recommend-scroll-wrapper {
  position: relative;
  width: 100%;
  padding: 0 60px;
}

.index .recommend-arrow-prev,
.index .recommend-arrow-next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  cursor: pointer;
  z-index: 6;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  background-color: white;
  border-radius: 50%;
}

.index .recommend-arrow-prev {
  left: 0;
}

.index .recommend-arrow-next {
  right: 0;
}

.index .recommend-arrow-prev img {
  width: 40px;
  height: 40px;
  transform: scaleX(-1);
}

.index .recommend-arrow-next img {
  width: 40px;
  height: 40px;
}

.index .recommend-scroll-container {
  display: flex;
  gap: 20px;
  overflow-x: auto;
  scroll-snap-type: x proximity;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none; /* Firefox */
  padding-bottom: 8px;
}

.index .recommend-scroll-container::-webkit-scrollbar {
  display: none; /* Chrome / Safari */
}

.index .recommend-item {
  flex-shrink: 0;
  width: calc((100% - 60px) / 4);
  scroll-snap-align: start;
}

.index .recommend-item .x-box {
  width: 100%;
}

.index .recommend-map-link-item {
  display: flex;
  align-items: flex-start;
}

.index .recommend-map-link {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  width: 100%;
  height: 216px;
  background-color: #f5f5f0;
  border-radius: 8px;
  text-decoration: none;
  overflow: hidden;
  position: relative;
  transition: opacity 0.2s;
}

.index .recommend-map-link:hover {
  opacity: 0.85;
}

/* プレビュー画像（重ね表示） */
.index .recommend-map-preview {
  position: absolute;
  inset: 0;
  bottom: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.index .recommend-map-preview-img {
  position: absolute;
  width: 40%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: 5px;
  border: 2px solid #fff;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.18);
  pointer-events: none;
}

.index .recommend-map-preview-img:nth-child(1) {
  transform: rotate(-3deg) translate(3px, -15px);
  z-index: 1;
}

.index .recommend-map-preview-img:nth-child(2) {
  transform: rotate(10deg) translate(45px, 0px);
  z-index: 2;
}

.index .recommend-map-preview-img:nth-child(3) {
  transform: rotate(-5deg) translate(-37px, 30px);
  z-index: 3;
}

/* 画像なし（物件2件以下）の場合 */
.index .recommend-map-link--no-preview {
  align-items: center;
  justify-content: center;
  background-color: #f5f5f0;
}

.index .recommend-map-link--no-preview .recommend-map-link-footer {
  padding: 16px;
}

.index .recommend-map-link--no-preview .recommend-map-link-text {
  color: var(--masala);
}

/* テキストフッター */
.index .recommend-map-link-footer {
  position: relative;
  z-index: 10;
  padding: 0 12px 14px;
  width: 100%;
  box-sizing: border-box;
}

.index .recommend-map-link-text {
  font-size: 14px;
  font-weight: 700;
  color: var(--masala);
  text-align: center;
  display: block;
  line-height: 1.5;
}

/* スクロール矢印表示制御 */
.index .recommend-arrow-next.is-hidden,
.index .recommend-arrow-prev.is-hidden {
  display: none;
}

.index .recommend-arrow-next.is-half-transparent,
.index .recommend-arrow-prev.is-half-transparent {
  opacity: 0.3;
}

/* SP: 物件カードサイズを小さく */
@media (max-width: 768px) {
  .index .recommend-scroll-wrapper {
    padding: 0;
  }

  .index .recommend-prefecture-header {
    padding-left: 0;
  }

  .index .recommend-arrow-next,
  .index .recommend-arrow-prev {
    display: none !important;
  }

  .index .recommend-item {
    width: 160px;
  }

  .index .recommend-scroll-container {
    gap: 12px;
  }

  .index .recommend-item .x-box .img-block {
    height: auto;
    aspect-ratio: 4 / 3;
    -webkit-mask-image: -webkit-radial-gradient(white, black);
  }

  .index .recommend-item .x-box .view-1 .item-tit {
    font-size: 13px;
    line-height: 1.3;
    white-space: normal;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
  }

  .index .recommend-item .x-box .view-1 .text-3 {
    display: none;
  }

  .index .recommend-prefecture-name {
    font-size: 16px;
  }

  /* テキストサイズ調整 */
  .index .recommend-item .x-box .view-1 .item-txt {
    gap: 6px;
    margin-top: 8px;
  }

  .index .recommend-item .x-box .view-1 .text-4 {
    font-size: 11px;
    line-height: 1.4;
    letter-spacing: 0;
  }

  .index .recommend-item .x-box .item-spec .text-5 {
    font-size: 13px;
    line-height: 1.4;
  }

  .index .recommend-item .x-box .item-spec .label-3 {
    height: auto;
    padding: 0 6px 1px;
  }

  .index .recommend-item .x-box .item-spec .label-3 .text {
    font-size: 10px;
  }

  /* 画像上ラベルのサイズ調整（お気に入りボタン可視性確保） */
  .index .recommend-item .x-box .label-box {
    gap: 4px;
  }

  .index .recommend-item .label-box .label {
    height: 22px;
    padding: 0 6px;
  }

  .index .recommend-item .label-box .label .text {
    font-size: 10px;
  }

  .index .recommend-map-link {
    height: auto;
    aspect-ratio: 4 / 3;
  }

  .index .recommend-map-preview-img:nth-child(1) {
    transform: rotate(-3deg) translate(2px, -9px);
  }

  .index .recommend-map-preview-img:nth-child(2) {
    transform: rotate(10deg) translate(25px, 0px);
  }

  .index .recommend-map-preview-img:nth-child(3) {
    transform: rotate(-5deg) translate(-21px, 17px);
  }

  .index .recommend-map-link-footer {
    padding: 0 8px 10px;
  }

  .index .recommend-map-link-text {
    font-size: 10px;
  }
}

