/*-------------------------------
---common
-------------------------------*/

section {
  margin-bottom: 6rem;
}


/*-------------------------------
---.home_hero
-------------------------------*/

.home_hero {
  font-size: 1.8rem;
  margin-bottom: 6rem;
}

.home_hero .contents {
  padding-left: 2rem;
  padding-right: 2rem;
}

.home_hero .scrolldown {
  display: none;
}


/*-------------------------------
---.home_topics
-------------------------------*/

.home_topics .item {
  margin-left: 2vw;
  margin-right: 2vw;
}

.home_topics .item_inner {
  grid-template-rows: max-content 1fr;
  width: 100%;
  min-height: unset;
  margin-left: 0;
  margin-right: 0;
}

.home_topics .image::before {
  content: '';
  display: block;
  width: 100%;
  padding-top: calc((2 / 3) * 100%);
}

.home_topics .slider-arrow.slider-prev {
  left: calc(50% - 2.6rem - ((75vw / 2) + (12.5vw * 0.2 / 2) - 0.5rem));
}

.home_topics .slider-arrow.slider-next {
  right: calc(50% - 2.6rem - ((75vw / 2) + (12.5vw * 0.2 / 2) - 0.5rem));
}

.home_topics .contents dt {
  font-size: 1em;
}

.home_topics .contents dd {
  font-size: 0.85em;
  -webkit-line-clamp: 3;
  max-height: calc(1em * 3 * 1.5);
}

/*-------------------------------
---.event
-------------------------------*/

.event .contents .info_item a {
  grid-template-columns: 12rem 1fr;
  grid-gap: 1.5rem;
}

.event .contents .info_item .info_image {
  grid-column: unset;
  grid-row: unset;
  order: 2;
}

.event .contents .info_item .info_summary {
  grid-column: 1/3;
  order: 1;
}

.event .contents .info_item .info_body {
  order: 3;
}


/*-------------------------------
---.to_reservation
-------------------------------*/

.to_reservation {
  margin-bottom: 6rem;
}


/*-------------------------------
---.blog
-------------------------------*/

.staff_blog .contents {
  margin-bottom: 6rem;
}

.staff_blog .blog_txt {
  padding-left: 2rem;
  padding-right: 2rem;
}


/*-------------------------------
---.house_navi
-------------------------------*/

.house_navi {
  width: 90%;
  margin-right: auto;
  margin-left: auto;
}

.house_navi .upper_contents {
  grid-template-columns: 1fr;
  grid-gap: 15px;
  margin-bottom: 1.5rem;
}

.house_navi .lower_contents {
  grid-template-columns: 1fr;
  grid-gap: 1.5rem;
}

.house_navi .house_navi_item a {
  height: auto;
	overflow:		hidden;
	position:		relative;
}

.house_navi .house_navi_item a::after {
  display: none;
}

.house_navi .house_navi_item .caption {
  width: 80%;
}

.house_navi .upper_contents .house_navi_item .caption .subject,
.house_navi .lower_contents .house_navi_item .caption .subject {
  margin-bottom: 1rem;
  font-weight: bold;
}

.house_navi .upper_contents .house_navi_item .caption .subtitle,
.house_navi .lower_contents .house_navi_item .caption .subtitle {
  margin-bottom: 1.5rem;
}

.house_navi .house_navi_item .caption .caption_txt {
  visibility: visible;
  opacity: 1;
}


/*-------------------------------
---.for_sale
-------------------------------*/

.for_sale .article.homes {
  border-width: 0.15rem;
}

.for_sale .land {
  border-width: 0.15rem;
}

.for_sale .archive_contents {
  grid-row-gap: 2rem;
  padding: 3rem 2rem;
}

.for_sale .archive_title {
  max-width: 28rem;
}

.for_sale .contents .image {
  position: relative;
  order: -1;
}

.for_sale .contents .image::before {
  content: '';
  display: block;
  width: 100%;
  padding-top: calc((150 / 335) * 100%);
}

.for_sale .lisvo-iema .image {
  border-top: 0.3rem solid #23224c;
  border-bottom: 0.3rem solid #23224c;
  border-right: 0.3rem solid #23224c;
}

.for_sale .lisvo-iema .image {
  border-width: 0.15rem;
  border-bottom: none;
  border-left: 0.15rem solid #23224C;
}

.for_sale .contents .image img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  -ms-transform: translateY(-50%) translateX(-50%);
  -webkit-transform: translateY(-50%) translateX(-50%);
}


/*-------------------------------
---.business_introduction
-------------------------------*/

.business_introduction {
  margin-bottom: 9rem;
}

.business_introduction .slider {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-gap: 2rem 1rem;
  padding: 3rem 5%;
}

.business_introduction .slider .item a {
  opacity: 1;
  margin: 0;
}

.business_introduction .slider .item .business_name {
  margin-top: 1rem;
}


/*-------------------------------
---.more_btn
-------------------------------*/

.more_btn.total a {
  font-size: 1.5rem;
  color: #fff;
  background-color: var(--main-color);
}

