.main {
  overflow: visible;
}

@media only screen and (max-width: 640px) {
  .main {
    overflow: hidden;
  }
}

.mainvisual {
  margin-bottom: 60px;
  padding: 0;
}

@media only screen and (max-width: 640px) {
  .mainvisual {
    margin-bottom: 10vw;
  }
}

.mainvisual-slider .slick-track li {
  padding: 0 15px 15px;
  overflow: hidden;
}

.mainvisual-slider .slick-track li img {
  -webkit-box-shadow: 0 7px 7px 0 rgba(0, 0, 0, 0.1);
  box-shadow: 0 7px 7px 0 rgba(0, 0, 0, 0.1);
}

.mainvisual-slider .slick-slide {
  width: 900px;
  position: relative;
}

@media only screen and (max-width: 1400px) {
  .mainvisual-slider .slick-slide {
    width: 72.8571428571vw;
  }
}

@media only screen and (max-width: 640px) {
  .mainvisual-slider .slick-slide {
    width: 100%;
  }
}

.mainvisual-slider img {
  position: relative;
  z-index: 0;
}

.mainvisual-slider .slick-slide .catchcopy {
  position: absolute;
  top: 40%;
  left: 50%;
  -webkit-transform: translate(-50%, -40%);
  transform: translate(-50%, -40%);
  z-index: 1;
  font-size: 3rem;
  font-weight: 400;
  letter-spacing: 0.15em;
  text-align: center;
  line-height: 1.3;
  width: 100%;
}

@media only screen and (max-width: 640px) {
  .mainvisual-slider .slick-slide .catchcopy {
    top: 30%;
    -webkit-transform: translate(-50%, -30%);
    transform: translate(-50%, -30%);
    font-size: 2.2rem;
  }
}

.mainvisual-slider .slick-slide .catchcopy span {
  padding: .25em 1em;
  display: inline-block;
  color: #fff;
}

@media only screen and (max-width: 640px) {
  .mainvisual-slider .slick-slide .catchcopy span {
    padding: .15em .5em;
  }
}

.mainvisual-thumb {
  margin: 0 auto;
  width: 90rem;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

@media only screen and (max-width: 640px) {
  .mainvisual-thumb {
    width: 100%;
  }
}

.mainvisual-thumb li {
  width: 14.6rem;
  padding: .3rem;
}

@media only screen and (max-width: 640px) {
  .mainvisual-thumb li {
    width: 23%;
    padding: 1%;
  }
}

/*
.mainvisual-slider .slick-slide:nth-of-type(3) .catchcopy {
  color: rgb(255, 255, 255);
}
*/

.index-content {
  padding: 4em 0;
  width: 100%;
  min-width: 120rem;
  position: relative;
  line-height: 1.8;
}

@media only screen and (max-width: 640px) {
  .index-content {
    padding: 3em 0;
    min-width: 100%;
  }
}

.content-title {
  margin-top: 0;
  margin-bottom: 6rem;
  text-align: center;
}

@media only screen and (max-width: 640px) {
  .content-title {
    margin-bottom: 4rem;
  }
}

.content-title .en {
  color: #333333;
  font-size: 3.0rem;
  font-family: "Times New Roman", Times, serif;
  font-style: normal;
  font-weight: normal;
}

@media only screen and (max-width: 640px) {
  .content-title .en {
    font-size: 2.4rem;
  }
}

.content-title .jp {
  font-size: 1.5rem;
}

@media only screen and (max-width: 640px) {
  .content-title .jp {
    font-size: 1.6rem;
  }
}

.content-title .jp:before,
.content-title .jp:after {
  margin: 0 1em;
  content: "";
  width: 4rem;
  height: 1px;
  display: inline-block;
  background: #de634d;
  vertical-align: middle;
}

.column-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

@media only screen and (max-width: 640px) {
  .column-wrapper {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.column-head {
  width: 36%;
  text-align: center;
  justify-content: space-between
}

@media only screen and (max-width: 640px) {
  .column-head {
    width: 100%;
  }
}

.column-head .content-title {
  margin-bottom: 3rem;
}

.column-content {
  width: 59%;
  font-size: 1.5rem;
  letter-spacing: 0.15rem;
}

@media only screen and (max-width: 640px) {
  .column-content {
    width: 100%;
  }
}

.caution-wrapper {
  margin-bottom: 4em;
  text-align: center;
}

.caution-list {
  padding: 1em 2em;
  border: solid 1px #c6161d;
  display: inline-block;
  line-height: 1.3;
}

.caution-list li {
  margin-bottom: 1em;
}

@media only screen and (max-width: 640px) {
  .caution-list li {
    text-align: left;
  }
}

.caution-list li:last-child {
  margin-bottom: 0;
}

.caution-list a {
  display: inline-block;
  color: #c6161d;
  position: relative;
}

.caution-list a:after {
  content: "";
  margin-left: 0.5em;
  display: inline-block;
  width: 1rem;
  height: 1rem;
  border-top: 1px solid #c6161d;
  border-right: 1px solid #c6161d;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

.news-wrapper {
  padding: 3rem;
}

.news-list li {
  margin: 0 0 1.8em 0;
  line-height: 2.8;
}

@media only screen and (max-width: 640px) {

  .news-list li {
    margin: 0 0 2.8em;
    line-height: 1.8;
  }
}

.news-list li a,
.news-list li span {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
}

@media only screen and (max-width: 640px) {

  .news-list li a,
  .news-list li span {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
  }
}

.news-list li time {
  width: 12%;
}

@media only screen and (max-width: 640px) {
  .news-list li time {
    width: auto;
  }
}

.news-list li .cat {
  padding: 0.25em 0.5em;
  border: solid 1px #de634d;
  width: 12%;
  color: #de634d;
  text-align: center;
  font-size: 1.3rem;
}

@media only screen and (max-width: 640px) {
  .news-list li .cat {
    margin-left: 1em;
    width: auto;
  }
}

.news-title {
  width: 85%;
}

@media only screen and (max-width: 640px) {
  .news-title {
    margin-top: 0.5em;
    width: 100%;
  }
}

.news a .news-title {
  text-decoration: underline;
}

@media only screen and (max-width: 640px) {
  .bnr-slider {
    margin: 0 -5vw;
  }
}

.bnr .bnr-item {
  padding: 0 2.2rem;
  font-size: 1.5rem;
  text-align: center;
  width: 43rem;
}

@media only screen and (max-width: 950px) {
  .bnr .bnr-item {
    padding: 0 2rem;
    width: 28.8333333333vw;
  }
}

.bnr .bnr-item img {
  margin: 0 auto;
  max-width: auto !important;
  width: 100%;
}

@media only screen and (max-width: 640px) {
  .bnr .bnr-item {
    margin: 0;
    padding: 0 1rem;
    width: 24rem;
  }
}

@media only screen and (max-width: 640px) {
  .bnr .bnr-item a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
}

.slick-slider .slick-prev,
.slick-slider .slick-next {
  z-index: 1000;
  width: 5.4rem;
  height: 5.4rem;
}

@media screen and (max-width: 640px) {

  .slick-slider .slick-prev,
  .slick-slider .slick-next {
    width: 6vw;
    height: 6vw;
  }
}

.slick-slider .slick-prev {
  background: url(../img/common/arrow_prev.png) no-repeat center center;
  background-size: 100% auto;
}

.slick-slider .slick-next {
  background: url(../img/common/arrow_next.png) no-repeat center center;
  background-size: 100% auto;
}

.slick-slider .slick-prev::before,
.slick-slider .slick-next::before {
  display: none;
}

.slick-slider .slick-dots li {
  margin: 0;
  text-align: center;
}

.slick-slider .slick-dots li button {
  width: inherit;
  height: inherit;
  padding: 0;
}

.slick-slider .slick-dots li button:before {
  width: inherit;
  height: inherit;
  line-height: 1;
  color: #f4f4f4;
  opacity: 1;
}

.slick-slider .slick-dots li.slick-active button:before {
  color: #de634d;
}

.event-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  line-height: 1.3;
}

@media only screen and (max-width: 640px) {
  .event-content {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.event-item {
  width: 30%;
  font-size: 1.5rem;
}

@media only screen and (max-width: 640px) {
  .event-item {
    width: 100%;
  }
}

@media only screen and (max-width: 640px) {
  .event-item a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
}

.event-item figure {
  margin-bottom: 2em;
}

@media only screen and (max-width: 640px) {
  .event-item figure {
    width: 35%;
  }
}

.event-item figure img {
  width: 100%;
  height: 18rem;
  -o-object-fit: cover;
  object-fit: cover;
}

@media only screen and (max-width: 640px) {
  .event-item figure img {
    height: 20vw;
  }
}

@media only screen and (max-width: 640px) {
  .event-body {
    width: 60%;
  }
}

.event-title {
  margin-bottom: 0.75em;
  font-size: 1.8rem;
  color: #de634d;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.event-title:after {
  content: "";
  display: inline-block;
  width: 2rem;
  height: 2rem;
  background: url(../img/common/arrow_sq_green.svg) no-repeat center center;
  background-size: 100% auto;
}


.property-contents {
  margin: 0 auto;
  padding: 0 0 6rem;
  width: 100%;
  max-width: 134rem;
}

@media only screen and (max-width: 640px) {
  .property-contents {
    padding: 5vw;
    max-width: initial;
  }
}

.property-list {
  padding: 0 6rem;
}

@media only screen and (max-width: 640px) {
  .property-list {
    padding: 0;
  }
}

.property-sidebar {
  padding: 10rem 3rem 3rem;
  width: 38rem;
  position: sticky;
  top: 0;
}

@media only screen and (max-width: 640px) {
  .property-sidebar {
    padding-top: 0;
    position: relative;
    width: 100%;
  }
}

.property-title {
  margin: 1em auto;
  text-align: center;
}

.property-title:before,
.property-title:after {
  margin: 0 1em;
  content: "";
  width: 4rem;
  height: 1px;
  display: inline-block;
  background: #de634d;
  vertical-align: middle;
}

.property-title:first-child {
  margin-top: 0;
}

.area-wrapper {
  margin-bottom: 5rem;
}

.area-wrapper .latest-content {
  padding-bottom: 1em;
}

.area-wrapper.js_hidden {
  display: none;
}

.coming-wrapper {
  margin-bottom: 0;
}

.latest-content {
  padding: 0 6rem 6rem;
}

@media only screen and (max-width: 640px) {
  .latest-content {
    margin: 0 -5vw;
    padding: 8vw 5vw 0;
  }
}

.latest-content .property-list {
  padding: 0;
}

input {
  display: none;
}

.js_target {
  display: none;
}

.js_target.js_selected {
  display: block;
}

.bl_selectBlock_check label {
  cursor: pointer;
}

.js_release {
  cursor: pointer;
}

.is-hide {
  display: none;
}

.search-list li label {
  background: #fff;
}

.search-title span {
  background: #f8f8f4;
}

/*
.property {

  &-contents {
    margin: 0 auto;

    @include sp {}
  }

  &-list {
    margin: 0 auto;
    width: 114rem;

    @include sp {
      width: 100%;
    }

  }

  &-item {
    margin-bottom: 3rem;
    padding: 3rem;
    box-shadow: 0 3px 6px 0 rgb(0 0 0 / 10%);
    position: relative;
    background: #fff;

    @include sp {
      width: 100%;
    }

    .icon {
      padding: .25em .5em;
      color: #fff;
      background: $color_font;
      font-size: 1.3rem;
      position: absolute;
      top: -1rem;
      left: 1rem;
      z-index: 1;
      letter-spacing: .1em;
      width: 4em;
      text-align: center;

      &:after {
        content: '';
        width: 0;
        height: 0;
        border-left: .8rem solid transparent;
        border-right: .8rem solid transparent;
        border-top: .8rem solid black;
        position: absolute;
        margin: 0 auto;
        left: 0;
        right: 0;
        bottom: -.8rem;
      }

      &.new {
        background: $color_red;

        &:after {
          border-top: .8rem solid $color_red;
        }
      }

      &.last {
        background: #ef940f;

        &:after {
          border-top: .8rem solid #ef940f;
        }
      }
    }

    span,
    a {
      display: flex;
      justify-content: space-between;
      background: #fff;
      color: $color_font;
      z-index: 0;

      @include sp {
        display: block;
      }
    }

    .category {

      &-list {
        margin-top: 1em;
        display: flex;
        color: #fff;
        font-size: 1.3rem;
        position: absolute;
        top: 0;
        right: 0;

        @include sp {
          position: static;
        }

        li {
          padding: .25em .5em;
          background: $color_font;
          margin-right: .5em;

          &.area {
            background-color: $color_main;
          }

          &.land {
            background-color: #ef940f;

          }

          &.land2 {
            background-color: #6ccc06;

          }

          &.newhouse {
            background-color: #3f83cf;

          }
        }
      }
    }
    .property {
      &-img {
        width: 35%;

        @include sp {
          width: 100%;
        }

        img {
          max-width: initial;
          width: 100%;
        }
      }

      &-body {
        width: 60%;

        @include sp {
          width: 100%;
        }
      }

    }

    .property-name {
      margin: 0 auto .5em;
      display: flex;
      flex-wrap: wrap;
      align-items: flex-end;
      ;

      h2 {
        margin-right: 2em;
        font-size: 2.4rem;
      }

      .lots {
        font-size: 1.8rem;

        em {
          font-size: 2.4rem;
          color: $color_red;
        }
      }
    }

    .price {
      margin-bottom: 1em;
      font-size: 1.6rem;
      line-height: 1.2;

      em {
        color: $color_red;
        font-size: 3.2rem;
      }

    }

    .lead {
      margin-bottom: 1em;
      color: $color_main;
      font-size: 1.6rem;
    }

    .station {

      img {
        margin-right: 1rem;
        display: inline-block;
        width: 1.4rem;
        vertical-align: middle;
      }
    }

    &:after {
      content: '';
      display: block;
      width: 2.6rem;
      height: 2.6rem;
      background: url(../img/common/arrow_sq_green.svg) no-repeat center center;
      background-size: 100% auto;
      position: absolute;
      right: 0;
      bottom: 0;
    }

    &.soldout {
      &:after {
        display: none;
      }
    }
  }
}
*/
.company-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media only screen and (max-width: 640px) {
  .company-list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.company-item {
  padding: 1px;
  text-align: center;
}

@media only screen and (max-width: 640px) {
  .company-item {
    margin-bottom: 3rem;
  }
}

@media only screen and (max-width: 640px) {
  .company-item {
    width: 100%;
  }
}

.company-item figure {
  position: relative;
  z-index: 0;
}

.company-item-body {
  margin: -7rem auto 0;
  padding: 4rem;
  width: 75%;
  min-height: 35rem;
  background: rgb(255, 255, 255);
  position: relative;
  z-index: 1;
  -webkit-box-shadow: 1rem 1rem #de634d;
  box-shadow: 1rem 1rem #de634d;
}

@media only screen and (max-width: 640px) {
  .company-item-body {
    padding: 2rem 0;
    min-height: auto;
    width: 90%;
  }
}

.company-item-body .content-title {
  margin-bottom: 3rem;
}

.company-item .btn-more {
  margin: 1.5em auto 0;
  font-weight: 700;
}



.mediation-head {
  margin-bottom: 3rem;
}

.mediation-content {
  padding: 3rem 3.5rem;
  background: rgb(255, 255, 255);
}

@media only screen and (max-width: 640px) {
  .mediation-content {
    padding: 1rem;
  }
}

.mediation-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  justify-content: space-between;
}

.mediation-list li {
  padding: 0.5rem 1.5rem;
  width: 15%;
  text-align: center;
}

@media only screen and (max-width: 640px) {
  .mediation-list li {
    padding: 1;
    width: 33.3333333333%;
  }
}

.blog-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

@media only screen and (max-width: 640px) {
  .blog-list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.blog-list:after {
  content: "";
  height: 0;
  width: 30%;
}

.blog-item {
  margin-bottom: 5rem;
  width: 30%;
  font-size: 1.5rem;
  line-height: 1.3;
}

@media only screen and (max-width: 640px) {
  .blog-item {
    margin-bottom: 3rem;
    width: 100%;
  }
}

@media only screen and (max-width: 640px) {
  .blog-item a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
}

.blog-item figure {
  margin-bottom: 1.0rem;
}

@media only screen and (max-width: 640px) {
  .blog-item figure {
    margin-bottom: 0;
    width: 35%;
  }
}

.blog-item figure img {
  width: 100%;
  height: 22rem;
  -o-object-fit: cover;
  object-fit: cover;
}

@media only screen and (max-width: 640px) {
  .blog-item figure img {
    height: 22vw;
  }
}

.blog-meta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

@media only screen and (max-width: 640px) {
  .blog-meta {
    width: 60%;
  }
}

.blog-meta .cat {
  padding: 0.25em 0.5em;
  font-size: 1.3rem;
  background: #ccc;
}

.blog-title {
  margin-top: 1em;
  width: 100%;
}

.sns {
  margin-bottom: 0;
}

.sns-wrapper {
  margin-bottom: 6rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

@media only screen and (max-width: 640px) {
  .sns-wrapper {
    margin-bottom: 0;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.sns-item {
  padding: 6rem;
  width: 48%;
  background: #fff;
}

@media only screen and (max-width: 640px) {
  .sns-item {
    margin-bottom: 3rem;
    padding: 3rem;
    width: 100%;
  }
}

.sns-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

@media only screen and (max-width: 640px) {
  .sns-list {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
}

.sns-list li {
  padding: 0 1.5rem;
  line-height: 1.1;
}

@media only screen and (max-width: 640px) {
  .sns-list li {
    margin-bottom: 1em;
    width: 100%;
    text-align: center;
  }
}

.sns-list li figure {
  margin: 0;
  display: inline-block;
  width: 2.2rem;
  vertical-align: middle;
}

.sns-list li.instagram-item {
  margin-bottom: 0;
  text-align: left;
}

.sns-list li.instagram-item figure {
  margin-right: 0.5em;
}

@media only screen and (max-width: 640px) {
  .sns-list li.instagram-item {
    margin-top: 1rem;
    padding: 0 0.5rem;
    width: auto;
    font-size: 1.3rem;
  }

  .sns-list li.instagram-item a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
}