@charset "UTF-8";
/*==========================================
変数 inc.scss
===========================================*/
/*==========================================
変数 fonts.scss
===========================================*/
/*===================================
userSS 追加
=====================================*/
/*==========================================
 共通
===========================================*/
/*==========================================
 FV
===========================================*/
.fv-block {
  position: relative; }
  .fv-block .fv-mainImg {
    height: 120vh;
    min-height: 900px; }
    @media screen and (max-width: 1200px) {
      .fv-block .fv-mainImg {
        height: 80vh;
        min-height: 800px; } }
    @media screen and (max-width: 767px) {
      .fv-block .fv-mainImg {
        min-height: 400px; } }
    .fv-block .fv-mainImg .slide-item img {
      width: 100%;
      height: 100%;
      object-fit: cover; }
  .fv-block .fv-mask {
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    background-image: linear-gradient(0deg, transparent, #000000bf);
    z-index: 1; }
  .fv-block .fv-txt {
    position: absolute;
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    -webkit-text-orientation: upright;
    -ms-text-orientation: upright;
    text-orientation: upright;
    color: #fff;
    font-size: min(2.4vw, 3.6rem);
    letter-spacing: 0.2em;
    line-height: 2;
    top: calc(50% - 9em);
    left: 20%;
    height: 18em;
    z-index: 2;
    text-shadow: 0px 0px 20px black; }
    @media screen and (max-width: 767px) {
      .fv-block .fv-txt {
        font-size: min(3.6vw, 3.6rem);
        left: calc(50% - 2em); } }

/*==========================================
 売りたい／買いたい
===========================================*/
.estate-selectBtn-block {
  position: relative;
  z-index: 1;
  max-width: 1360px;
  width: 100%;
  margin: -2em auto 0;
  background: #fff;
  display: flex;
  justify-content: space-between;
  font-size: clamp(2rem, 2.6vw, 3.6rem); }
  .estate-selectBtn-block .estate-btn {
    text-align: center;
    width: calc(100% - 0.5px);
    position: relative; }
    .estate-selectBtn-block .estate-btn:nth-of-type(1)::after {
      content: "";
      display: block;
      background: var(--text-primary);
      width: 1px;
      height: calc(100% - clamp(10px,2vw,20px));
      position: absolute;
      right: -1px;
      top: clamp(5px, 1vw, 10px); }
    .estate-selectBtn-block .estate-btn a {
      display: block;
      padding: 1.5em 0; }
      @media (hover: hover) {
        .estate-selectBtn-block .estate-btn a:hover {
          background: var(--brand-primary);
          color: #fff; }
          .estate-selectBtn-block .estate-btn a:hover .btn-moreR .btn-mainUnit {
            background: #fff;
            border-color: #fff;
            color: var(--brand-primary); }
            .estate-selectBtn-block .estate-btn a:hover .btn-moreR .btn-mainUnit .arw svg {
              transform: rotateX(360deg); }
              .estate-selectBtn-block .estate-btn a:hover .btn-moreR .btn-mainUnit .arw svg polygon {
                fill: var(--brand-primary); } }
      @media screen and (max-width: 767px) {
        .estate-selectBtn-block .estate-btn a {
          padding: 0.8em 0; } }
    .estate-selectBtn-block .estate-btn .btn-ttl {
      letter-spacing: 0.3em;
      margin-bottom: 0.8em; }
      @media screen and (max-width: 767px) {
        .estate-selectBtn-block .estate-btn .btn-ttl {
          margin-bottom: 0.2em; } }
      .estate-selectBtn-block .estate-btn .btn-ttl .sml {
        display: block;
        font-size: clamp(1.4rem, 2vw, 2.4rem); }
    @media screen and (max-width: 767px) {
      .estate-selectBtn-block .estate-btn .btn-moreR {
        font-size: clamp(1rem, 1.4vw, 1.4rem); } }
    @media screen and (max-width: 767px) {
      .estate-selectBtn-block .estate-btn .btn-moreR .btn-mainUnit {
        width: 50%; } }
    @media screen and (max-width: 767px) {
      .estate-selectBtn-block .estate-btn .btn-moreR .btn-mainUnit .arw {
        width: clamp(10px, 1.5vw, 15px); } }

/*==========================================
 新着情報
===========================================*/
.sec-news {
  display: flex;
  justify-content: space-between; }
  @media screen and (max-width: 960px) {
    .sec-news {
      flex-direction: column; } }
  .sec-news .news-head {
    width: 20%; }
    @media screen and (max-width: 960px) {
      .sec-news .news-head {
        width: 100%; } }
  .sec-news .news-body {
    width: 78%; }
    @media screen and (max-width: 960px) {
      .sec-news .news-body {
        margin-top: clamp(25px, 4vw, 40px);
        width: 100%; } }

/*==========================================
 長野市を中心とした近隣の
 土地や建物などの不動産情報
===========================================*/
.sec-area {
  display: flex;
  justify-content: space-between;
  align-items: flex-end; }
  @media screen and (max-width: 960px) {
    .sec-area {
      flex-direction: column; } }
  .sec-area .area-head {
    width: 45%;
    padding: 0 0 clamp(100px, 20vw, 230px); }
    @media screen and (max-width: 960px) {
      .sec-area .area-head {
        width: 100%;
        padding: 0 0 clamp(40px, 10vw, 230px); } }
  .sec-area .area-body {
    width: 50%; }
    @media screen and (max-width: 960px) {
      .sec-area .area-body {
        display: none;
        width: 100%; } }
  .sec-area .area-ttl {
    letter-spacing: 0.1em;
    font-size: clamp(1.8rem, 2.6vw, 3.6rem); }
  .sec-area .registrations-block {
    font-size: clamp(1.4rem, 1.6vw, 1.6rem);
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative; }
    @media screen and (max-width: 960px) {
      .sec-area .registrations-block {
        width: fit-content; } }
    .sec-area .registrations-block .ilst-area {
      background: url(../img/common/ilst-01.svg) no-repeat center/contain;
      width: clamp(70px, 13vw, 188px);
      aspect-ratio: 106 / 150;
      position: absolute;
      right: calc(0px - clamp(65px, 10vw, 104px));
      top: 0;
      animation: yurayura 4s linear infinite; }
      @media screen and (max-width: 960px) {
        .sec-area .registrations-block .ilst-area {
          right: calc(0px - clamp(30px, 10vw, 125px));
          top: calc(0px - clamp(65px, 15vw, 100px)); } }
    .sec-area .registrations-block .block-head {
      width: 35%; }
      @media screen and (max-width: 1360px) {
        .sec-area .registrations-block .block-head {
          min-width: 12em; } }
    .sec-area .registrations-block .block-body {
      width: 60%; }
      @media screen and (max-width: 1360px) {
        .sec-area .registrations-block .block-body {
          width: 100%;
          padding: 0 0 0 0.5em; } }
    .sec-area .registrations-block .block-ttl {
      font-size: clamp(1.6rem, 1.8vw, 1.8rem);
      border-bottom: 1px solid var(--text-primary);
      letter-spacing: 0.3em; }
      @media screen and (max-width: 767px) {
        .sec-area .registrations-block .block-ttl {
          letter-spacing: 0.2em; } }
    .sec-area .registrations-block .block-date {
      letter-spacing: 0.1em; }
    .sec-area .registrations-block .number-block {
      margin: clamp(40px, 8vw, 80px) 0;
      font-size: clamp(2rem, 3vw, 4.8rem);
      display: flex;
      align-items: flex-end; }
      .sec-area .registrations-block .number-block .num {
        font-family: "MinionVC", "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 ProN W6", "HiraMinProN-W6", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
        font-size: clamp(6rem, 8vw, 15rem);
        line-height: 0.6; }
      .sec-area .registrations-block .number-block .unit {
        margin-left: 0.2em;
        letter-spacing: 0.1em; }
  .sec-area .area-category {
    font-size: clamp(1.4rem, 1.8vw, 1.8rem); }
    .sec-area .area-category .category-item:not(:last-child) {
      margin-bottom: 2em; }
    .sec-area .area-category .category-item .item-ttlWrap {
      font-size: clamp(1.6rem, 2vw, 2.4rem);
      letter-spacing: 0.1em;
      margin-bottom: 0.8em;
      display: flex;
      align-items: center; }
    .sec-area .area-category .category-item .item-siteLink {
      margin-left: 3em; }
      @media screen and (max-width: 767px) {
        .sec-area .area-category .category-item .item-siteLink {
          margin-left: 2em; } }
      .sec-area .area-category .category-item .item-siteLink .txtLink_rgl {
        font-size: clamp(1.4rem, 1.6vw, 1.8rem); }
        @media screen and (max-width: 1200px) {
          .sec-area .area-category .category-item .item-siteLink .txtLink_rgl {
            font-size: clamp(1rem, 1.4vw, 1.4rem); } }
    .sec-area .area-category .category-item .item-list {
      display: flex;
      flex-wrap: wrap; }
      .sec-area .area-category .category-item .item-list li:nth-of-type(n+2)::before {
        content: "/";
        margin: 0 0.5em; }
  .sec-area .img-areaMap {
    font-size: 0; }
    .sec-area .img-areaMap .cls-1 {
      transition: 0.8s ease-in-out; }
    .sec-area .img-areaMap.show .map_point.point1 {
      transition-delay: 0.4s;
      fill: var(--brand-primary);
      stroke: #fff; }
    .sec-area .img-areaMap.show .map_point.point2 {
      transition-delay: 0.8s;
      fill: var(--brand-primary);
      stroke: #fff; }
    .sec-area .img-areaMap.show .map_point.point3 {
      transition-delay: 1.2s;
      fill: var(--brand-primary);
      stroke: #fff; }
    .sec-area .img-areaMap.show .map_point.point4 {
      transition-delay: 1.6s;
      fill: var(--brand-primary);
      stroke: #fff; }
    .sec-area .img-areaMap.show .map_point.point5 {
      transition-delay: 2s;
      fill: var(--brand-primary);
      stroke: #fff; }

/*==========================================
 物件情報
===========================================*/
.sec-estate {
  overflow-x: clip; }
  @media screen and (min-width: 961px) {
    .sec-estate #swiper_Estate {
      overflow: initial; } }
  @media screen and (max-width: 960px) {
    .sec-estate #swiper_Estate {
      margin: 0 -4% 0 0; } }
  .sec-estate .normalEstateList-pc {
    margin-top: clamp(40px, 10vw, 100px); }
    @media screen and (max-width: 960px) {
      .sec-estate .normalEstateList-pc {
        display: none !important; } }
    .sec-estate .normalEstateList-pc .estate-itemRgl .item-data {
      font-size: clamp(1rem, 1.2vw, 1.6rem); }

/*==========================================
 物件を探す
===========================================*/
.sec-search {
  margin-top: clamp(40px, 10vw, 100px);
  border-bottom: 1px solid var(--text-primary);
  padding: 0 0 clamp(30px, 6vw, 60px);
  position: relative; }
  .sec-search .ilst-search {
    background: url("../img/common/ilst-02.svg") no-repeat center/contain;
    width: clamp(60px, 12vw, 175px);
    aspect-ratio: 175/210;
    position: absolute;
    right: 0;
    bottom: calc(0px - clamp(10px,3vw,30px));
    animation: yurayura 4s linear infinite; }
    @media screen and (max-width: 576px) {
      .sec-search .ilst-search {
        width: clamp(60px, 20vw, 175px); } }
  .sec-search .search-head {
    position: relative;
    margin-bottom: clamp(30px, 6vw, 60px); }
    .sec-search .search-head::before {
      content: "";
      display: block;
      width: 100%;
      height: 1px;
      background: var(--text-primary);
      position: absolute;
      bottom: 0.5em;
      left: 0; }
    .sec-search .search-head .sec-ttlRgl {
      width: fit-content;
      background: #fff;
      position: relative;
      padding: 0 1em 0 0; }
  .sec-search .search-ctsBlock {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    max-width: 1290px;
    width: 75%;
    margin: 0 auto; }
    @media screen and (max-width: 1360px) {
      .sec-search .search-ctsBlock {
        flex-direction: column;
        width: 100%; } }
    .sec-search .search-ctsBlock .block-main {
      width: 70%;
      max-width: 795px; }
      @media screen and (max-width: 1360px) {
        .sec-search .search-ctsBlock .block-main {
          width: 100%;
          max-width: none; } }
    .sec-search .search-ctsBlock .block-btn {
      width: 38%;
      max-width: 270px; }
      @media screen and (max-width: 1360px) {
        .sec-search .search-ctsBlock .block-btn {
          margin-top: clamp(30px, 4vw, 40px);
          width: 100%;
          max-width: none; } }

/*==========================================
 不動産を売りたい方
===========================================*/
.sec-sell .wrapW {
  width: 100%; }
@media screen and (min-width: 577px) {
  .sec-sell .sell-ttl {
    display: flex;
    align-items: flex-end; } }
.sec-sell .sell-ttl .ttl-en {
  font-weight: 500;
  font-size: clamp(4rem, 10vw, 15rem);
  line-height: 1; }
.sec-sell .sell-ttl .ttl-ja {
  font-size: clamp(1.6rem, 1.8vw, 2.4rem); }
  @media screen and (min-width: 577px) {
    .sec-sell .sell-ttl .ttl-ja {
      margin-left: 2em; } }
.sec-sell .sell-ctsBlock {
  display: flex;
  justify-content: space-between;
  padding: clamp(40px, 10vw, 100px) clamp(4%, 4vw, 80px) clamp(40px, 20vw, 200px);
  position: relative;
  overflow: hidden; }
  .sec-sell .sell-ctsBlock::before {
    content: "";
    background: url("../img/common/img-mapBg.svg") no-repeat center/contain;
    width: 47%;
    aspect-ratio: 93/150;
    position: absolute;
    top: 0;
    left: calc(50% - 30%); }
  @media screen and (max-width: 1360px) {
    .sec-sell .sell-ctsBlock::before {
      width: 60%; } }
  @media screen and (max-width: 960px) {
    .sec-sell .sell-ctsBlock {
      flex-direction: column; }
      .sec-sell .sell-ctsBlock::before {
        width: 110%;
        left: calc(50% - 55%);
        top: calc(50% - 17%); } }
  .sec-sell .sell-ctsBlock .block-head {
    width: 45%;
    position: relative; }
    @media screen and (max-width: 960px) {
      .sec-sell .sell-ctsBlock .block-head {
        width: 100%; } }
  .sec-sell .sell-ctsBlock .block-body {
    width: 50%;
    position: relative; }
    @media screen and (min-width: 1361px) {
      .sec-sell .sell-ctsBlock .block-body {
        padding-right: 8%; } }
    @media screen and (max-width: 960px) {
      .sec-sell .sell-ctsBlock .block-body {
        max-width: 600px;
        width: 100%;
        margin: 100px auto 0; } }
.sec-sell .sell-txt {
  letter-spacing: 0.1em;
  max-width: 562px;
  margin: clamp(40px, 8vw, 80px) 0 clamp(60px, 10vw, 100px); }
  @media screen and (min-width: 768px) {
    .sec-sell .sell-txt {
      line-height: 2; } }
.sec-sell .ilst-sell {
  background: url("../img/common/ilst-03.svg") no-repeat center/contain;
  aspect-ratio: 110/150;
  width: clamp(110px, 16vw, 196px);
  position: absolute;
  left: clamp(170px, 20vw, 200px);
  bottom: calc(0px - clamp(140px, 15vw, 170px));
  animation: yurayura 4s linear infinite; }
  @media screen and (max-width: 960px) {
    .sec-sell .ilst-sell {
      bottom: calc(0px - clamp(90px, 10vw, 170px)); } }
  @media screen and (max-width: 576px) {
    .sec-sell .ilst-sell {
      left: auto;
      right: 0; } }

/*==========================================
 イベント情報
===========================================*/
.sec-event {
  padding: clamp(60px, 12vw, 120px) 0 clamp(40px, 10vw, 100px); }
  @media screen and (min-width: 961px) {
    .sec-event #swiper_Event {
      overflow: initial; } }
  @media screen and (max-width: 767px) {
    .sec-event #swiper_Event {
      margin: 0 -4% 0 0; } }

/*==========================================
 お客さまの声
===========================================*/
.sec-voice .ilst-voice {
  position: absolute;
  z-index: 2;
  background: url("../img/common/ilst-04.svg") no-repeat center/contain;
  aspect-ratio: 122/150;
  max-width: 246px;
  width: 20%;
  right: 260px;
  top: calc(0px - clamp(70px,7vw,100px));
  animation: yurayura 4s linear infinite; }
  @media screen and (max-width: 960px) {
    .sec-voice .ilst-voice {
      right: 0; } }
  @media screen and (max-width: 767px) {
    .sec-voice .ilst-voice {
      display: none; } }
@media screen and (min-width: 768px) {
  .sec-voice .swiper-wrapper {
    transition-timing-function: linear !important; } }
.sec-voice .voice-list {
  padding: 0 0 0 4%; }
  @media screen and (min-width: 768px) {
    .sec-voice .voice-list {
      padding: 0; } }

/*==========================================
 店舗
===========================================*/
.sec-shop .shop-list .shop-item {
  display: flex;
  justify-content: space-between; }
  .sec-shop .shop-list .shop-item:not(:last-child) {
    margin-bottom: clamp(60px, 10vw, 100px); }
  .sec-shop .shop-list .shop-item .item-head {
    width: 60%; }
    @media screen and (max-width: 960px) {
      .sec-shop .shop-list .shop-item .item-head {
        width: 100%;
        display: none; } }
  .sec-shop .shop-list .shop-item .item-body {
    width: 35%;
    display: flex;
    flex-direction: column;
    justify-content: space-between; }
    @media screen and (max-width: 960px) {
      .sec-shop .shop-list .shop-item .item-body {
        width: 100%; } }
  .sec-shop .shop-list .shop-item .item-ttl {
    font-size: clamp(1.8rem, 2vw, 2.8rem);
    letter-spacing: 0.2em; }
  @media screen and (max-width: 960px) {
    .sec-shop .shop-list .shop-item .item-mainimg {
      display: none; } }
  .sec-shop .shop-list .shop-item .item-mainimg img {
    width: 100%;
    object-fit: cover;
    aspect-ratio: 1.4555873926; }
  @media screen and (max-width: 960px) {
    .sec-shop .shop-list .shop-item .item-subimg {
      display: none; } }
  .sec-shop .shop-list .shop-item .item-subimg img {
    width: 100%;
    object-fit: cover;
    aspect-ratio: 1.6828478964; }
  .sec-shop .shop-list .shop-item .swiper_shopImgSP {
    margin: 0 -4%;
    width: 100vw; }
    @media screen and (min-width: 961px) {
      .sec-shop .shop-list .shop-item .swiper_shopImgSP {
        display: none; } }
    .sec-shop .shop-list .shop-item .swiper_shopImgSP .shopImgSP-list .shopImgSP-item img {
      width: 100%;
      object-fit: cover;
      aspect-ratio: 1.4516129032; }
  .sec-shop .shop-list .shop-item .item-data {
    margin: clamp(40px, 8vw, 80px) 0 clamp(20px, 4vw, 40px);
    font-size: clamp(1.4rem, 1.8vw, 1.8rem);
    line-height: 1.2; }
    .sec-shop .shop-list .shop-item .item-data .data-box {
      display: flex; }
      .sec-shop .shop-list .shop-item .item-data .data-box:not(:last-child) {
        margin-bottom: 1em; }
      .sec-shop .shop-list .shop-item .item-data .data-box dt {
        min-width: 9em;
        position: relative; }
        .sec-shop .shop-list .shop-item .item-data .data-box dt::after {
          content: "/";
          position: absolute;
          top: 0;
          right: 0; }
        @media screen and (max-width: 960px) {
          .sec-shop .shop-list .shop-item .item-data .data-box dt {
            min-width: 8em;
            letter-spacing: normal; } }
      .sec-shop .shop-list .shop-item .item-data .data-box dd {
        width: 100%;
        padding: 0 0 0 1em; }
  .sec-shop .shop-list .shop-item .btn-moreR {
    margin-bottom: clamp(20px, 4vw, 40px); }

/*==========================================
 スタッフ
===========================================*/
@media screen and (min-width: 768px) {
  .sec-staff .swiper-wrapper {
    transition-timing-function: linear !important; } }
.sec-staff .staff-list {
  padding: 0 0 0 4%; }
  @media screen and (min-width: 768px) {
    .sec-staff .staff-list {
      padding: 0; } }

/*# sourceMappingURL=index.css.map */
