@charset "utf-8";

html {
    scroll-behavior: smooth;
}

/* outline
------------------------------*/
.l-page * {
  font-family: 'Noto Sans JP', sans-serif;
  box-sizing: border-box;
  font-size: 16px;
  color: #333333;
}

.l-page {
  overflow: hidden;
}

#contents {
  width: 100%;
  padding: 0;
}

.l-page-container * {
  box-sizing: border-box;
}
.l-page-container {
  width: 100%;
  min-width: 1200px;
  background: #fff;
}
.l-page-container img {
  width: 100%;
  vertical-align: bottom;
}

.link-anchor {
  margin-top: -100px;
  padding-top: 100px;
}

.ly-container {
  width: 1200px;
  margin: 0 auto;
}
.l-page-container a:hover {
  opacity: 0.7;
  text-decoration: none;
  color: #333;
}
#contents .content-btn.shop-event.assessment {
  line-height: 1.5;
  margin-top: 23px;
  height: 175px;
}
.object-fit {
  object-fit: cover;
  object-position: center center;
  font-family: 'object-fit: cover; object-position: center center;';
}

#contents .content-btn:hover {
opacity: 1;
}

.content-title {
  margin: 0 auto;
  font-size: 42px;
  text-align: center;
  font-weight: 500;
  letter-spacing: 0.07em;
  position: relative;
  color: #573E50;
  margin: 2px 0 40px;
}


.contents__inner {
  width: 1200px;
  margin: 0 auto ;
  }

  [class*="contents__wrap--"] {
    padding-block: 100px;
  }

/*mainview*/

.section__wrapper--mainimg {
  padding-top: 39px;
}

.swiper-slide img {
  border-radius: 20px
}
/* Swiperオプションのレイアウト */
.swiper-option__wrap {
    margin-top: 17px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 17px;
    position: relative;
    z-index: 1;
}
    .swiper-option__wrap .swiper-button-prev, .swiper-option__wrap .swiper-button-next {
        position: unset;
        margin: 0;
        width: 30px;
        height: 30px;
        border: 1px solid #B60081;
        border-radius: 50%;
        background: #ffffff;
        justify-content: start;
        padding-left: 10px;
    }

    .swiper-option__wrap .swiper-button-prev {
        padding-left: 14px;
    }
        .swiper-option__wrap .swiper-button-prev::after, .swiper-option__wrap .swiper-button-next::after {
            content: "";
            display: block;
            position: relative;
            width: 6px;
            height: 6px;
            border-top: 1px solid #B60081;
            border-right: 1px solid #B60081;
            left: -2px;
        }
            /* 左向き */
        .swiper-option__wrap .swiper-button-prev::after {
            transform: rotate(-135deg);
        }
        /* 右向き */
        .swiper-option__wrap .swiper-button-next::after {
            transform: rotate(45deg);
            left: -1px;
        }

    .swiper-option__wrap .swiper-pagination {
        position: unset;
        width: fit-content!important;
    }
        .swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet, .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
            margin: 0 3px!important;
            width: 26px;
            height: 3px;
            background: #E6E6E6;
            opacity: 1;
            border-radius: 0;
        }
        .swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet, .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet.swiper-pagination-bullet-active {
            background: #B60081;
        }

/* Swiper 1件以下で発火させない場合のレイアウト */
.noslide .swiper-wrapper {
    display: flex;
    justify-content: center;
    gap: 30px;
}
    .noslide .swiper-slide {
        width: 320px;
    }
.noslide .swiper-option__wrap {
    display: none;
}

.contents__area{
	width: 1200px;
	margin: 0 auto;
}


.search-wrap {
    max-width: 1200px;
    margin: 25px auto 0;
    border-radius: 8px;
    overflow: hidden;
}

.tab-buttons {
    display: flex;
    background-color: #EFEFEF;
    border-radius: 30px;
    margin-bottom: 20px;
}

.tab-button {
    flex: 1;
    padding: 17px 20px;
    border: none;
    background-color: transparent;
    cursor: pointer;
    font-size: 18px;
    font-weight: 500;
    color: #9A9A9A;
    transition: background-color 0.3s, color 0.3s;
    text-align: center;
    border-radius: 30px;
}

.search-menu.tab-content a::after {
  transition: right 0.3s cubic-bezier(0.4,0,0.2,1);
}
.search-menu.tab-content a:hover::after {
  right: 17px;
}

.tab-button.active {
    background-color: #B60081;
    color: #fff;
     /* アクティブなタブの下線 */
    border-radius: 30px;
    letter-spacing: 0.02em;
}

.tab-pane {
    display: none; /* デフォルトでは非表示 */
}

.tab-pane.active {
    display: block; /* アクティブなタブコンテンツのみ表示 */
}

.modal-menu li {position: relative;z-index: 0;}

.modal-search-btn {
    display: block;
    padding: 10px 0;
    text-decoration: none;
    font-weight: bold;
    position: relative;
}

.modal-search-btn::after {
    content: "";
    position: absolute;
    background: url(/images/top/modal-search-btn-arrow.png) center / cover no-repeat;
    right: 27px;
    width: 9px;
    height: 15px;
}

.modal-content {
    position: relative;
    background-color: #fff;
    margin: 10.5% auto;
    padding: 0;
    width: 100%;
    max-width: 806px;
    border-radius: 8px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
    overflow: hidden;
    height: auto;
    max-height: 600px;
    overflow-y: auto;
}

.modal-item {
    padding: 15px;
    margin-bottom: 10px;
}

.modal-item h3 {
    margin-top: 0;
    color: #333;
}

.modal-item-area {
    margin-top: 15px;
}

.modal-item-area h4 {
    margin-bottom: 5px;
    color: #666;
}

.modal-item-area ul {
    list-style: none;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.bay-menu  .link-btn-item:hover,
.lend-menu .link-btn-item:hover {
  color: #8D3A75;
}

.bay-menu .link-btn-item,
.lend-menu .link-btn-item {
    display: block;
    padding: 15px 20px;
    background-color: rgba(141,58,117,0.1);
    color: #8D3A75;
    text-decoration: none;
    border-radius: 5px;
    text-align: center;
    font-weight: bold;
    border: 1px solid #8D3A75;
    width: 356px;
    font-size: 18px;
    align-items: center;
    display: flex;
    height: 80px;
    position: relative;
}

.bay-menu .link-btn-item::after ,
.lend-menu .link-btn-item::after {
    content: "";
    position: absolute;
    background: url(/images/top/bay-btn-arrow.png) center / cover no-repeat;
    right: 27px;
    width: 9px;
    height: 15px;
}


.bay-item-area .link-btn-item--shop::before {
    content: "";
    position: absolute;
    background: url(/images/top/baysearch-icon1.png) center / cover no-repeat;
    left: 19px;
    width: 27px;
    height: 27px;
}


.bay-item-area .link-btn-item--ai::before {
    content: "";
    position: absolute;
    background: url(/images/top/baysearch-icon2.png) center / cover no-repeat;
    left: 19px;
    width: 27px;
    height: 27px;
}

.bay-item-area .link-btn-item--flow::before {
    content: "";
    position: absolute;
    background: url(/images/top/baysearch-icon3.png) center / cover no-repeat;
    left: 19px;
    width: 27px;
    height: 27px;
}

.bay-item-area .link-btn-item--method::before {
    content: "";
    position: absolute;
    background: url(/images/top/baysearch-icon4.png) center / cover no-repeat;
    left: 19px;
    width: 27px;
    height: 27px;
}

.bay-item-area .link-btn-item::after {
    content: "";
    position: absolute;
    background: url(/images/top/bay-btn-arrow.png) center / cover no-repeat;
    right: 27px;
    width: 9px;
    height: 15px;
}





.search-under__img {
  height: 145px;
}

.search-under__img img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}



.shop-container {
  padding-top: 40px;
  padding-bottom: 59px;
  background-color: #f8f5f7;
}
.shop-title {
  margin-bottom: 58px;
}
.shop-inner {
      display: flex;
      justify-content: space-between;
      flex-wrap: wrap;
      gap: 20px;
}

.shop-top {
  margin-bottom: 22px;
}
.shop-container a {
  text-align: center;
  font-size: 25px;
  color: #333;
  line-height: 147px;
  display: block;
  width: 590px;
  height: 147px;
  border-radius: 4px;
  box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.12);
  border: solid 1px #efeeee;
  background-color: #fff;
}
.shop-container a {
  padding-left: 52px;
}



.shop-container .new_open{
  line-height: 1.8;
  padding-top: 25px;
}


.shop-campaign::before {
  width: 56px;
  height: 44px;
  background-image: url(/images/top/campaign-link-icon.png);
}
.shop-waon::before {
  width: 71px;
  height: 71px;
  background-image: url(/images/top/waon-link-icon.png);
}
.shop-container a::after {
  content: "";
  display: block;
  position: absolute;
  background-size: cover;
  background-position: center center;
  top: 50%;
  transform: translateY(-50%);
  background-image: url(/images/top/arrow2.png);
  width: 8px;
  height: 16px;
  right: 46px;
}

.search-container {
  padding: 54px 0 0;
  min-height: 439px;
}

.search-container p {
  font-size: 24px;
  text-align: center;
  color: #fff;
  margin-bottom: 35px;
}
.search-menu {
  /* width:1200px; */
  display: flex;
  justify-content: space-between;
  position: relative;
}


.modal-search {
  width: 1200px;
}
.modal-search2 {
  padding: 0 13px 16px;
  margin-bottom: 2px;
  display: flex;
}
.modal-search-btn {
  width: 356px;
  height: 80px;
  font-size: 18px;
  color: #B60081;
  border-radius: 10px;
  background-color: #FEF8FC;
  padding-left: 3px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  border: 1px solid #B60081;
}
.modal-search-btn span {
  color: #b61381;
  padding-left: 10px;
}
.modal-btn2 span {
  color: #b61381;
  padding-left: 10px;
}
.new-modal::before {
  content: "";
  position: absolute;
  background-image: url(/images/top/search-icon1.png);
  left: 19px;
  width: 30px;
  height: 26px;
}
.old-modal::before {
  content: "";
  position: absolute;
  background-image: url(/images/top/search-icon2.png);
  left: 21px;
  width: 25px;
  height: 21px;
}
.apartment-modal::before {
  content: "";
  position: absolute;
  background-image: url(/images/top/search-icon3.png);
  top: 25px;
  left: 21px;
  width: 22px;
  height: 27px;
}
.land-modal::before {
  content: "";
  position: absolute;
  background-image: url(/images/top/search-icon4.png);
  top: 26px;
  left: 18px;
  width: 27px;
  height: 27px;
}

.revenue-modal::before {
  content: "";
  position: absolute;
  background-image: url(/images/top/search-icon5.png);
  top: 26px;
  left: 22px;
  width: 27px;
  height: 27px;
  z-index: 1;
} 
.shpo-modal::before {
  content: "";
  position: absolute;
  background-image: url(/images/top/search-icon6.png);
  top: 27px;
  left: 23px;
  width: 27px;
  height: 27px;
  z-index: 1;
} 

.type-search-btn {
  display: block;
  width: 257px;
  height: 57px;
  font-size: 18px;
  line-height: 57px;
  text-align: center;
  color: #b61381;
  border-radius: 4px;
  background-color: #fff;
  margin: 0 auto;
  margin-bottom: 10px;
  padding-left: 30px;
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: 500;
}

.type-search-btn:hover {
 color: #b61381;
}

.type-search-btn::before {
  background-image: url(/images/top/buy-icon1.png);
  left: 40.5px;
  width: 22.71px;
  height: 19.08px;
}
.type-search-btn span {
  color: #b61381;
  padding-left: 10px;
}
.modal-menu li:nth-of-type(3) .type-search-btn::before {
  background-image: url(/images/top/buy-icon2.png);
  left: 40.5px;
  width: 17.44px;
  height: 21.43px;
}
.modal-menu li:nth-of-type(4) .type-search-btn::before {
  background-image: url(/images/top/buy-icon3.png);
  left: 40.5px;
  width: 22.16px;
  height: 13.1px;
}
.new-search-btn {
  display: block;
  width: 280px;
  height: 57px;
  font-size: 17px;
  line-height: 57px;
  text-align: center;
  color: #333;
  border-radius: 4px;
  background-color: #fff;
  margin: 0 auto;
  margin-bottom: 10px;
  padding-left: 30px;
}
.new-search-btn::before {
  background-image: url(/images/top/buy-icon1.png);
  left: 40.5px;
  width: 22.71px;
  height: 19.08px;
}

.bay-menu,
.lend-menu {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 26px;
  border-radius: 20px;
  border: solid 1px #D4D4D4;
  padding: 40px;
}

.lend-menu .link-btn-item {
    background: url(/images/top/tab_icn_owner.png) left 23px center / 26px 27px no-repeat, #fff;
    background-color: rgba(141, 58, 117, 0.1);
}

.lend-item-area {
  width: 1200px;
}

.l-page .infor_item a:hover {
  color: #fff;
}

.link-btn-item {
  display: block;
  width: 274px;
  height: 75px;
  font-size: 20px;
  text-align: center;
  color: #333;
  border-radius: 4px;
  background-color: #B60081;
  padding-left: 3px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}

.infor-btn {
  font-size: 25px;
  letter-spacing: 0.014em;
  line-height: 1.2;
  text-align: center;
  color: #fff;
  display: block;
  width: 593px;
  height: 108px;
  box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.16);
  border: solid 1px #b60081;
  background-color: #b60081;
  padding: 39px;
  border-radius: 4px;
}

.infor_item:first-child {
  margin-bottom: 12px;
}

.infor_item:nth-child(2) .infor-btn {
  padding: 18px;
}

.modal-item {
  background: rgba(0,0,0,0.7);
  width: 100vw;
  height: 100vh;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100;
  display: none;
}
.modal-item.active {
  display: block;
}
.modal-item-inner {
  margin: 0 auto;
  width: 810px;
  height: 600px;
  overflow-y: scroll;
  -ms-overflow-style: none;
  scrollbar-width: none;
  white-space: nowrap;
  padding: 41px 50px 50px;
  border-radius: 10px;
  background: #FFFFFF;
  box-sizing: border-box;
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  z-index: 200;
}
.modal-item-inner::-webkit-scrollbar {
  display: none;
}
.modal-item-inner h3 {
  color: #B60081;
  padding-bottom: 1px;
  font-size: 26px;
  font-weight: 500;
  text-align: center;
}
.modal-item-inner h4 {
  font-size: 16px;
  line-height: 1.1;
  margin-bottom: 11px;
}
.modal-item-inner .sub-text {
  font-size: 16px;
  text-align: center;
  color: #333;
}
.modal-item-area {
  margin-top: 34px;
  max-width: 670px;
}
.modal-item-area ul {
  display: flex;
  flex-wrap: wrap;
}
.modal-item-area a {
  display: block;
  height: 33px;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 16px;
  border-radius: 19px;
  border: 1px solid #E8B1D8;
  color: #B60081;
  letter-spacing: 0.02em;
  padding: 0 20px 0 20px;
}
.modal-item-area span {
  color: #b61381;
  padding-left: 10px;
}
.modal-item-inner .modal-item-area a:hover {
  color: #fff;
  opacity:1;
  background-color: #B61381;
  border: 1px solid #B61381;
}

.modal-item-inner .modal-item-area a:hover span {
  color: #fff;
}
.map-link.no-count {
  background-color: #ECECEC;
  color: #A5A5A5;
}
.modal-item-inner .modal-item-area .map-link.no-count:hover {
  opacity: 1;
  color: #A5A5A5;
  background-color: #ECECEC;
  
}
.modal-item-inner .close-btn {
  display: block;
  background: rgba(0,0,0,0);
  width: 40px;
  height: 40px;
  position: absolute;
  top: 10px;
  right: 10px;
  cursor: pointer;
  margin-bottom: 0;
}
.close-btn span {
  width: 30px;
  height: 2px;
  margin: auto;
  background: #707070;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  transform: rotateZ(45deg);
}
.close-btn span:nth-of-type(2) {
  transform: rotateZ(135deg);
}
.search-modal {
  border-radius: 4px;
  box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.16);
  border: solid 3px #b60081;
  background-color: #b60081;
}
.search-menu a:hover {
  opacity: 1;
  color: #B60081;
}
.search-menu-inner {
  border-radius: 20px;
  border: solid 1px #D4D4D4;
  height: auto;
  padding: 40px;
  width: 1200px;
  justify-content: space-between;
}

.rental-menu {
  padding: 40px;
}

.search-menu-inner:not(:first-child) {
  margin-top: 10px;
}
.modal-menu {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 24px;
}
.modal-btn2 {
  width: 547px;
  margin: 0;
  background: url(/images/top/tab_icn_key.png) left 23px center / 26px 27px no-repeat,#fff;
  background-color: #FEF8FC;
  border: 1px solid #B60081;
  height: 80px;
  position: relative;
}

.modal-btn2::after,
.information-btn::after {
    content: "";
    position: absolute;
    background: url(/images/top/modal-search-btn-arrow.png) center / cover no-repeat;
    right: 27px;
    width: 9px;
    height: 15px;
}

.information-btn span {
  padding-left: 10px;
  }

.modal-detail {
  width: 325px;
  margin: 0 auto;
  padding-left: 26px;
  background: url(/images/top/icn_key.png) left 13px center / 15px 21px no-repeat,#fff;
}

.search-menu .search-link {
  font-size: 25px;
  letter-spacing: 0.014em;
  line-height: 1.2;
  text-align: center;
  color: #fff;
  display: block;
  padding-top: 11px;
  width: 300px;
  height: 86px;
  box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.16);
  border: solid 1px #b60081;
  background-color: #b60081;
  padding-left: 0;
  border-radius: 4px;
  margin-top: 10px;
}
.search-menu .search-link:hover {
  color: #fff;
}

.search-link span {
  display: block;
  font-size: 17px;
  letter-spacing: 0.014em;
  text-align: center;
  color: #fff;
  margin-top: 10px;
}


.information_list {
  display: flex;
  justify-content: center;
}
.information-btn {
  font-size: 18px;
  letter-spacing: 0.014em;
  line-height: 1.2;
  text-align: center;
  color: #B60081;
  display: block;
  border: solid 1px #b60081;
  padding-left: 0;
  border-radius: 4px;
  margin-top: 1px;
  width: 547px;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 80px;
  font-weight: 500;
  background: url(/images/top/icn_labd.png) left 23px center / 26px 27px no-repeat, #fff;
  background-color: #FEF8FC;
}

#buy .search-menu-inner {
     height: 266px;
}



  .scrollbar-content.vertical{
    max-height: 400px;
}
/* スクロールバーの色 */
.simplebar-track.simplebar-vertical{
          background: #bfbfbf;
        width: 4px;
        border-radius: 4px;
        height: 90%;
        top: 40px;
        right: 60px;
        }
/* トラックの色 */
.simplebar-scrollbar.simplebar-visible:before {
    width: 4px;
    background-color: #B60081;
    border-radius: 4px;
    opacity: 1;
    top: 2px;
    bottom: 2px;
    left:0;
            }

/* お近くのイオンハウジングを探す */

.contents__wrap--search {
  padding: 22px 0 84px;
}

.search__ttl--en {
  width: fit-content;
  margin: 0 auto;
  }

.search--area__box {
  display: flex;
  justify-content: start;
  gap: 70px;
  }

.search--area__imgbox {
  width: 458px;
  margin-left: 25px;
  }

.search--arealink__box {
  width: 647px;
  margin-top: 2px;
  }

.search--arealink__list {
  display: flex;
  gap: 30px;
  align-items: center;
  padding-bottom: 19px;
  border-bottom: 1px solid #D4D4D4;
  margin-bottom: 20px;
  }

.search--area__text {
  min-width: 55px;
  font-size: 18px;
  font-weight: 500;
  letter-spacing: 0.02em;
  }

.search--list {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  }

  .search--link a:hover {
    opacity: 1;
      }

.search--link {
  color: #B60081;
  border: 1px solid #E8B1D8;
  padding: 0 20px;
  border-radius: 20px;
  height: 34px;
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: 500;
  letter-spacing: 0.02em;
}

#contents .search--link:hover {
  color: #FFF;
  background: #B60081;
  border: 1px solid #B60081;
  opacity: 1;
}

/*  お近くのイオンハウジングをさがすのモーダル*/

.modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 9999;
    overflow: auto;
}

.modal-content {
    position: relative;
    background-color: #fff;
    margin: 10.5% auto;
    padding: 0;
    width: 100%;
    max-width: 806px;
    border-radius: 8px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
    overflow: hidden;
    height: auto;
    max-height: 540px;
    overflow-y: auto;
}

.modal-header {
    display: flex;
    padding: 42px 10px 0px 44px;
    text-align: center;
    justify-content: end;
}

.modal-in__h2 {
    margin: 0;
    font-size: 24px;
    color: #B60081;
    text-align: center;
    font-weight: 600;
    font-family: 'Noto Sans JP', sans-serif;
}

.modal-close {
    background: none;
    border: none;
    font-size: 43px;
    cursor: pointer;
    color: #999;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
    font-weight: 300;
    position: relative;
    margin-top: 11px;
    position: absolute;
    top: 0;
}

.modal-close:hover {
    background-color: #e9ecef;
    color: #333;
}

.modal-body {
    padding: 57px 53px;
    overflow-y: auto;
    width: 698px;
}

.area-section {
}

.area-title {
    font-size: 20px;
    color: #007bff;
    margin-bottom: 15px;
    padding-bottom: 5px;
    border-bottom: 2px solid #007bff;
    font-family: 'Noto Sans JP', sans-serif;
}

.prefecture-section {
}

.prefecture-title {
    font-size: 16px;
    color: #555;
    margin-bottom: 10px;
    font-weight: bold;
}

.store-list {
    list-style: none;
    padding: 0;
    justify-content: start;
    flex-wrap: wrap;
    display: flex;
    gap: 28px 26px;
}

.store-item {width: fit-content;}

.store-link {
    color: #333;
    text-decoration: none;
    display: block;
    transition: all 0.3s ease;
    font-family: 'Noto Sans JP', sans-serif;
    width: 336px;
    height: 80px;
    border-radius: 10px;
    color: #fff;
    background: #B60081;
    font-size: 18px;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    letter-spacing: 0.04em;
    position: relative;
}

.store-link:hover {
    color: #fff;
  text-decoration: none;
}

.store-link::before {
    content: "";
    display: block;
    position: absolute;
    background-size: cover;
    background-position: center center;
    top: 0;
    bottom: 0;
    margin: auto;
    background-image: url(/images/top/member--more-arrowicon.png);
    width: 9px;
    height: 15px;
    right: 19px;
    transition: right 0.3s cubic-bezier(0.4,0,0.2,1);
}

.store-link:hover::before {
right: 13px;
}

.store-link:hover::before {
    transition: right 0.3s cubic-bezier(0.4,0,0.2,1);
}



/* イオンハウジング店舗情報 */

.contents__wrap--store,
.contents__wrap--reform,
.contents__wrap--qa {
  background: #FEF8FC;
}

.card__list {display: flex;justify-content: space-between;flex-wrap: wrap;gap: 20px;}


#contents .card__anchor:hover {
  opacity: 1;
  }

.card__img {
width: 276px;
height: 200px;
overflow: hidden;
border-radius: 10px;
}

.card__text {font-size: 18px;color: #B60081;font-weight: 500;padding-left: 16px;position: relative;margin-top: 8px;letter-spacing: 0.04em;}

.card__text span {font-size: 14px;color: #B60081;display: block;margin-top: 2px;}

.card__text::before {
    content: "";
    position: absolute;
    background: url(/images/top/card__arrow.png) center / cover no-repeat;
    left: 0px;
    width: 7px;
    height: 11px;
    top: 7px;
}

.new__box .content-btn .new-imgbox img {
    transform: scale(1.0);
    transition: transform 0.4s ease-in-out;
}


.content-btn:hover .new-imgbox img {
    transform: scale(1.08);
    transition: transform 0.4s ease-in-out;
}



/* イオンハウジングの
会員登録サービス */

.contents__wrap--member {
  background: url(/images/top/member__bg.jpg) center / cover no-repeat;
  height: 538px;
  padding: 78px 0;
}


.member__box {
  display: flex;
  gap: 38px;
  justify-content: center;
  }

.member__ttlbox {
  width: 406px;
  }

.contents__wrap--member .search__ttl--en {margin-left: 0;}


.contents__wrap--member .content-title {
text-align: start;
margin-bottom: 33px;
}

.member__link--new .member__link {
  background: url(/images/top/member__new.png) center / cover no-repeat;
  display: flex;
  width: 170px;
  height: 170px;
  align-items: center;
  color: #fff;
  font-size: 18px;
  font-weight: 500;
  padding-left: 20px;
  letter-spacing: 0.05em;
  position: relative;
  border-radius: 70px;
  }

.member__link--login .member__link {
  background: url(/images/top/member__login.png) center / cover no-repeat;
  display: flex;
  width: 140px;
  height: 140px;
  position: relative;
  align-items: center;
  color: #fff;
  font-size: 18px;
  font-weight: 500;
  padding-left: 30px;
  letter-spacing: 0.05em;
  position: relative;
  border-radius: 70px;
  }

  .member__link--new {
    width: 170px;
    height: 170px;
    position: absolute;
    left: 61px;
    z-index: 2;
  }

  .member__link--login {
    width: 140px;
    height: 140px;
    position: absolute;
    left: 204px;
    bottom: -205px;
    z-index: 0;
  }

  .member__linkbox {
    margin: 0 auto;
    position: relative;
  }

  #contents .member__link:hover {
    color: #fff;
    opacity: 1;
  }

  .member__link::before {
    content: "";
    display: block;
    position: absolute;
    background-size: cover;
    background-position: center center;
    top: 3px;
    bottom: 0;
    margin: auto;
    background-image: url(/images/top/member__link-arrowicon.png);
    width: 8px;
    height: 13px;
    right: 21px;
    transition: right 0.3s cubic-bezier(0.4,0,0.2,1);
  }

   #contents .member__link:hover::before {
    right: 15px;
  }



  .member__textbox {
  width: 758px;
  padding: 30px 29px 50px;
  border: 1px solid #B60081;
  margin-top: 13px;
  position: relative;
  }

.member__list {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  }

[class*="member__item--merit"] {
  width: 339px;
  height: 112px;
  background: #fff;
  padding: 20px 11px 20px 111px;
  box-shadow: 8px 8px 0px #EEEBED;
  position: relative;
  }

  [class*="member__item--merit"]::before {
    content: "";
    position: absolute;
    left: 0px;
    width: 77px;
    height: 58px;
    top: 0;
    bottom: 0;
    margin: auto;
  }

  .member__item--merit1::before {
    background: url(/images/top/merit__icon1.png) center / cover no-repeat;
    left: 17px;
    width: 80px;
    height: 60px;
    }

  .member__item--merit2::before {
    background: url(/images/top/merit__icon2.png) center / cover no-repeat;
    left: 25px;
    width: 78px;
    height: 54px;
    }

  .member__item--merit3::before {
    background: url(/images/top/merit__icon3.png) center / cover no-repeat;
    left: 22px;
    width: 68px;
    height: 47px;
  }

  .member__item--merit4::before {
    background: url(/images/top/merit__icon4.png) center / cover no-repeat;
    left: 23px;
    width: 81px;
    height: 53px;
  }

.member__item--ttl {
  color: #B60081;
  font-weight: bold;
  letter-spacing: 0.03em;
  }

.member__item--text {
  color: #573E50;
  font-weight: 500;
  letter-spacing: 0.04em;
  line-height: 1.6;
  }

 .member__item--merit2,
 .member__item--merit4 {
    padding-left: 123px;
  }


  .member__morebox {
    width: fit-content;
    position: absolute;
    bottom: -30px;
    left: 0;
    right: 0;
    margin: auto;
    }

  .member--more__btn {
    width: 280px;
    height: 60px;
    background: #B60081;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    color: #fff;
    font-weight: 500;
    border-radius: 30px;
    letter-spacing: 0.05em;
    }

  .member--more__btn::before {
    content: "";
    display: block;
    position: absolute;
    background-size: cover;
    background-position: center center;
    top: 0;
    bottom: 0;
    margin: auto;
    background-image: url(/images/top/member--more-arrowicon.png);
    width: 9px;
    height: 15px;
    right: 19px;
    transition: right 0.3s cubic-bezier(0.4,0,0.2,1);
    }

    .member--more__btn:hover::before {
    background-image: url(/images/top/member--more-arrowicon_on.png);
    }

    #container .member--more__btn:hover::before {
        right: 15px;
    }

    #container .member--more__btn:hover {
      color: #fff;
      opacity: 1;
    }

    #container .more__btn-hover:hover {
      color: #B60081;
      background: #fff;
      border: 1px solid #B60081;
          }

          .info__anchorbtn:hover::before {
              background-image: url(/images/top/member--more-arrowicon_on.png);
                        }




/* お役立ち情報 */

/* NEW・おすすめ*/

.contents__wrap--new {
  background: url(/images/top/newcontents__bg.jpg) center / cover no-repeat;
  height: 703px;
}

.assessment .new__textbox span {
  color: #fff;
  }

  .new-left__box .new__box .content-btn {
  width: 585px;
  height: 181px;
  overflow: hidden;
  }



.new__box .content-btn {
  width: 585px;
  height: 380px;
  display: block;
  position: relative;
  border-radius: 10px;
  }

  .new__textbox {
  position: absolute;
  bottom: 11px;
  font-size: 18px;
  font-weight: 500;
  left: 37px;
  letter-spacing: 0.04em;
  z-index: 1;
  border-radius: 10px;
  }

  .new__textbox span {
  font-size: 18px;
  font-weight: 500;
  letter-spacing: 0.04em;
  position: relative;
  }

    .new__textbox span::before {
    content: "";
    position: absolute;
    background: url(/images/top/newtext__arrow.png) center / cover no-repeat;
    left: -18px;
    width: 9px;
    height: 15px;
    top: 7px;
}

   .assessment .new__textbox span::before {
    background: url(/images/top/newtext-white__arrow.png) center / cover no-repeat;
}

.assessment .new__textbox {}

.new__box .content-btn .new-imgbox {
    width: 585px;
    height: 380px;
    overflow: hidden;
    border-radius: 10px;
}

.card__anchor .card__img img {
    transform: scale(1.0);
    transition: transform 0.4s ease-in-out; 
}


.card__anchor:hover .card__img img {
    transform: scale(1.08);
    transition: transform 0.4s ease-in-out;
}

.new-left__box .new__box .content-btn .new-imgbox {
    width: 585px;
    height: 181px;
    overflow: hidden;
    border-radius: 10px;
}


/* ハウスメーカー・工務店をさがす*/

.contents__wrap--housemaker .card__list {
gap: 40px 32px ;
}

.card__item--planning,
.card__item--planning .card__img {
  width: 1200px;
}

.card__item--planning .card__img {
height: 240px;

}


#housemaker {
padding-top: 20px;
margin-top: -20px;
}




/* */

.l-page .homepla-item:hover {
  color: #fff;
}

.l-page .homepla-item {
  font-size: 36px;
  letter-spacing: 0.014em;
  line-height: 1.2;
  text-align: center;
  color: #fff;
  display: block;
  width: 1200px;
  height: 147px;
  box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.16);
  border: solid 1px #b60081;
  background-color: #b60081;
  padding: 50px;
  border-radius: 4px;
  margin-top: 1px;
  position: relative;
}
.homepla-3d {
  display: flex;
  justify-content: center;
  padding-top: 20px;
}

.homepla-3d.recommend {
  padding-top: 0;
  border: solid 1px #b60081;
  background-color: #b60081;
  color: #fff;
  line-height: 1.8;
  display: flex;
  align-items: center;
  position: relative;
}

.l-page .recommend a:hover {
  opacity: 0.7;
  text-decoration: none;
  color: #333;
}
.l-page .recommend:hover {
  color: #fff;
}

.recommend:before {
  content: "";
  position: absolute;
  background: url(../images/top/vr-item.png) no-repeat;
  background-size: 100%;
  width: 66px;
  height: 66px;
  top: 42px;
  left: 44px;
}

.recommend:after {
  content: "";
  position: absolute;
  background: url(../images/top/arrow_img.png) no-repeat !important;
  background-size: 100%;
  width: 8px;
  height: 16px;
  top:0px;
  right: 48px !important;
}


.l-page .information_item {
  margin-bottom: 0;
}

.btn-last {
  width: 297px;
}
.information_list
.information-btn span {
  display: block;
  font-size: 17px;
  letter-spacing: 0.014em;
  text-align: center;
  color: #b61381;
  padding-left: 10px;
}
.information-btn.content-btn:hover {
  color: #b61381;
}
.map-hokkaido {
  width: 153px;
  padding: 13px 15px;
  border-radius: 10px;
  box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.16);
  background-color: #fff;
  position: absolute;
  right: -4px;
  top: 158px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
}
.map-tohoku {
  width: 292px;
  padding: 20px;
  border-radius: 10px;
  box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.16);
  background-color: #fff;
  position: absolute;
  left: 411px;
  top: 25px;
}
.map-kantou {
  width: 292px;
  padding: 20px;
  border-radius: 10px;
  box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.16);
  background-color: #fff;
  position: absolute;
  right: 1px;
  top: 399px;
}
.map-chubu {
  width: 292px;
  padding: 20px;
  border-radius: 10px;
  box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.16);
  background-color: #fff;
  position: absolute;
  right: 63px;
  bottom: 4.3px;
}
.map-shikoku {
  width: 292px;
  padding: 20px;
  border-radius: 10px;
  box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.16);
  background-color: #fff;
  position: absolute;
  right: 417px;
  bottom: 4.3px;
}
.map-hokuriku {
  left: 72px;
  top: 141.3px;
  padding: 1px 25px 7px;
  border-radius: 10px;
  box-shadow: 0 3px 6px 0 rgb(0 0 0 / 16%);
  background-color: #fff;
  position: absolute;
}
.map-hokuriku p {
  margin-bottom: 6px;
  padding-left: 92px;
  text-align: start;
  margin-top: -5px;
}
.map-kinki {
  width: 292px;
  padding: 20px;
  border-radius: 10px;
  box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.16);
  background-color: #fff;
  position: absolute;
  left: 162px;
  top: 229px;
}
.map-chugoku {
  width: 292px;
  padding: 20px;
  border-radius: 10px;
  box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.16);
  background-color: #fff;
  position: absolute;
  left: 0px;
  top: 479px;
}
.map-kyushu {
  width: 292px;
  left: -3px;
  bottom: 15px;
  padding: 20px;
  border-radius: 10px;
  box-shadow: 0 3px 6px 0 rgb(0 0 0 / 16%);
  background-color: #fff;
  position: absolute;
}
.map-toukai {
  width: 145px;
  left: 660px;
  top: 290px;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  padding: 0 18px 18px 24px;
  border-radius: 10px;
  box-shadow: 0 3px 6px 0 rgb(0 0 0 / 16%);
  background-color: #fff;
  position: absolute;
}
.map-link-area .flex-container {
  flex-wrap: wrap;
  justify-content: flex-start;
}
.search-map-inner p {
  font-size: 20px;
  text-align: center;
  color: #333;
}
.search-map-inner .map-link {
  display: block;
  width: 80px;
  height: 40px;
  margin-bottom: 6px;
  margin-right: 6px;
  border-radius: 4px;
  background-color: #f6e0f0;
  font-size: 14px;
  line-height: 18px;
  letter-spacing: 0.1em;
  text-align: center;
  color: #b61381;
  padding: 2px;
}
    .search-map-inner .map-link:nth-child(3n) {
      margin-right: 0;
    }
    .map-link span {
      display: block;
  }
.search-map-inner .map-link.no-count {
  background-color: #ECECEC;
  color: #A5A5A5;
  line-height: 35px;
  /* pointer-events: none; */
}
.modal-item-area .no-count {
  background-color: #ECECEC;
  color: #A5A5A5;
  pointer-events: none;
}

.modal-item-area .no-count span {
  display: none;
}
.map-link-area a:hover {
  color: #b61381;
}
.search-link-area {
  margin-top: 52.6px;
  display: flex;
  justify-content: center;
}
.search-link-area li {
  width: 184px;
}
.search-link-area li:not(:first-child) {
  margin-left: 20px;
}

.areaModal {
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, .7);  display: none;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10;
}
.areaModal__wrap {
  width: 564px;
  margin: 200px auto;
  position: relative;
}
.areaModal__inner {
  display: none;
}
.areaModal__list {
  padding: 0 17px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.areaModal__close {
  width: 40px;
  height: 40px;
  display: block;
  position: absolute;
  top: -100px;
  right: -140px;
  cursor: pointer;
}
[class*="closeLine--"] {
  width: 40px;
  height: 3px;
  margin: auto;
  display: block;
  background: #fff;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}
.closeLine--1 {
  transform: rotateZ(45deg);
}
.closeLine--2 {
  transform: rotateZ(-45deg);
}


/* 事業用・投資用物件を探す */
  .business-inner {
      width: 1200px;
      margin: 0 auto;
      padding: 40px 107px;
      background: #f8f5f7;
    }
    .business-menu {
      padding: 14px 5px 5px;
      border-radius: 4px;
      box-shadow: 0 3px 6px 0 rgb(0 0 0 / 16%);
      border: solid 3px #b60081;
      background-color: #b60081;
    }
      .menu-panel-title {
        font-size: 24px;
        text-align: center;
        color: #fff;
        padding-top: 1px;
        margin-bottom: 10px;
      }
      .menu-panel-btn {
        display: block;
        width: 300px;
        height: 57px;
        font-size: 17px;
        line-height: 57px;
        text-align: center;
        color: #333;
        border-radius: 4px;
        background-color: #fff;
        margin: 5px;
        padding-left: 25px;
      }
      .menu-panel-btn span {
        color: #b61381;
        padding-left: 10px;
      }
      .ui-icon-c2 {
        background: url(/images/top/icn_c2.png) left 38px center / 28px 14px no-repeat, #fff;
      }
      .ui-icon-b4 {
        background: url(/images/top/icn_b4.png) left 50px center / 25px 24px no-repeat, #fff;
      }
      .ui-icon-t1 {
        background: url(/images/top/icn_t1.png) left 90px center / 20px 20px no-repeat, #fff;
      }

/* ハウスメーカー・工務店を探す */
.housemaker-container {
  padding: 60px 0;
}
  .content-title.housemaker-title {
    margin-bottom: 64px;
  }
  .housemaker-inner {
    display: flex;
    justify-content: space-between;
  }
  .housemaker-container a {
    padding-left: 52px;
  }
  .housemaker-container a {
    text-align: center;
    font-size: 25px;
    color: #333;
    line-height: 147px;
    display: block;
    width: 590px;
    height: 147px;
    border-radius: 4px;
    box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.12);
    border: solid 1px #efeeee;
    background-color: #fff;
  }
  .shop-company::before {
    width: 46px;
    height: 57px;
    background-image: url(/images/top/company-link-icon.png);
  }

  .homepla-3d a {
    position: relative;
}

.l-page .homepla-3d a:after {
    content: '';
    width: 15px;
    height: 15px;
    border: 0;
    border-top: solid 3px #fff;
    border-right: solid 3px #fff;
    transform: rotate(45deg);
    position: absolute;
    top: 0;
    right: 100px;
    bottom: 0;
    margin: auto;
}

  .housemaker-container a::after {
    content: "";
    display: block;
    position: absolute;
    background-size: cover;
    background-position: center center;
    top: 47%;
    transform: translateY(-50%);
    background-image: url(/images/top/arrow2.png);
    width: 8px;
    height: 16px;
    right: 46px;
}
/* お知らせ */
.contents__wrap--info--all {padding-bottom: 0;}

.contents__wrap--info--all .contents__inner {
  display: flex;
  justify-content: center;
  gap: 88px;
  padding-bottom: 69px;
  border-bottom: 1px solid #D4D4D4;
  }

.contents__wrap--info,
.contents__wrap--blog {width: 556px;padding: 0;}



.contents__wrap--info {
position: relative;
}

.contents__wrap--info::before {
    content: "";
    display: block;
    position: absolute;
    background-size: cover;
    background: #D4D4D4;
    width: 1px;
    height: 100%;
    right: -45px;
}

.info__item:not(:last-child) {
  margin-bottom: 20px;
  }

.info__imgbox {
  width: 200px;
  height: 150px;
  border-radius: 10px;
  overflow: hidden;
  }

  .info__imgbox img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    background: #eeebed;
    }


.info__textbox {
width: 336px;
}

.info__anchor {
  display: flex;
  justify-content: center;
  gap: 19px;
  align-items: center;
}

.info__anchor .info__imgbox img  {
    transform: scale(1.0);
    transition: transform 0.4s ease-in-out; 
}

.info__anchor:hover .info__imgbox img {
    transform: scale(1.08);
    transition: transform 0.4s ease-in-out;
}

.info__ttltext {
  font-size: 18px;
  font-weight: 600;
  margin-bottom: 10px;
  letter-spacing: 0.05em;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  }

.info__text {
  letter-spacing: 0.05em;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  }

.info__anchorbtn {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 42px auto 0;
  background: #B60081;
  color: #fff;
  font-size: 18px;
  width: 280px;
  height: 60px;
  border-radius: 40px;
  position: relative;
  letter-spacing: 0.05em;
  font-weight: 500;
  }

  .info__anchorbtn::before {
    content: "";
    display: block;
    position: absolute;
    background-size: cover;
    background-position: center center;
    top: 0;
    bottom: 0;
    margin: auto;
    background-image: url(/images/top/member--more-arrowicon.png);
    width: 9px;
    height: 15px;
    right: 19px;
    transition: right 0.3s cubic-bezier(0.4,0,0.2,1);
  }

  #container .info__anchorbtn:hover {
    opacity: 1;
  }

  #container .info__anchorbtn:hover::before {
      right: 15px;
  }
    


.business-container {
    padding-top: 90px;
    margin-top: -90px;
}

/* 動画 */

.contents__wrap--movie {
  padding-top: 69px;
}

.contents__wrap--movie .content-title{
  margin-bottom: 30px;
}

.movie__list {
  display: flex;
  justify-content: space-between;
  }

.movie__item {
  width: 580px;
  }

.movie__item video {
    width: 100%;
    vertical-align: bottom;
    border-radius: 10px;
}

.movie-text {
  font-size: 18px;
  font-weight: 500;
  color: #B60081;
  text-align: center;
  margin-top: 9px;
  letter-spacing: 0.04em;
  }

/* よくある質問 */


.contents__wrap--qa .content-title {margin-bottom: 30px;}
.contents__wrap--qa .info__anchorbtn {
  width: 360px;
  align-items: flex-start;
  padding-top: 16px;
  }

.qa__item {
 background: #fff;
 padding: 43px 40px 37px;
}

.qa__item:not(:last-child) {
  margin-bottom: 20px;
} 

.qa__text--question {
  font-size: 18px;
  font-weight: 600;
  padding: 0 0 23px 43px;
  position: relative;
  letter-spacing: 0.04em;
  margin-bottom: 21px;
  border-bottom: 1px solid #D4D4D4;
  }

  .qa__text--question::before {
    content: "Q";
    top: -23px;
    bottom: 0;
    margin: auto;
    width: 30px;
    height: 30px;
    left: 0;
    border: 1px solid #B60081;
    border-radius: 30px;
    color: #B60081;
    font-weight: 500;
    font-size: 16px;
    position: absolute;
    display: flex;
    justify-content: center;
    padding-top: 1px;
    box-sizing: border-box;
  }

.qa__text--answer {
  padding-left: 42px;
  position: relative;
  letter-spacing: 0.04em;
  line-height: 1.75;
}

.qa__text--answer::before {
    content: "A";
    top: -29px;
    bottom: 0;
    margin: auto;
    width: 30px;
    height: 30px;
    left: 0;
    border: 1px solid #B60081;
    border-radius: 30px;
    color: #FFF;
    background: #B60081;
    font-weight: 500;
    font-size: 16px;
    position: absolute;
    display: flex;
    justify-content: center;
    padding-top: 0px;
    box-sizing: border-box;
    line-height: 1.5;
  }

/* モーダル表示時にbody固定 */
body.modal-open {
  overflow: hidden !important;
  touch-action: none;
}


