@charset "UTF-8" ;

body {
    font-family: 'YuGothic','Hiragino Kaku Gothic Pro','Meiryo',Arial, Helvetica, sans-serif;
    font-size: 15px;
    list-style: none;
    margin: 0%;
}

a{
    text-decoration: none;
    color: #333;
}

li{
    list-style: none;
}

html{
    margin-top: 0 !important; 
}

.l-header {
    top: 0;
    position: relative;
}

*, *:before, *:after {
    box-sizing: border-box;
    }

.html{
    margin-top: 0 !important;
}

img{
    object-fit: cover;
}

/* 別のヘッダーのスタイル */
.alternative-header {
    display: none; /* 別のヘッダーはデフォルトでは非表示 */
}

/* 1023ピクセル以下の画面サイズ用のメディアクエリ */
  @media screen and (max-width: 1023px) {
    /* デフォルトのヘッダーを非表示にする */
    .l-header {
      display: none;
    }
  
    /* 別のヘッダーを表示する */
    .alternative-header {
      display: block;
      width: 100%;
        padding: 10px 40px;
        box-sizing: border-box;
        background-color: #1e1c1c;
        text-align: center;
    }
        
    .alternative-header h1 {
        max-width: 150px;
        height: 34px;
        display: block;
        margin: auto auto;
    }

    .alternative-header h1 a {
        display: block;
        width: 100%;
        height: 100%;
        background-image: url(https://beli.co.jp/wp-content/themes/snow-monkey/assessment-form-images/logo.png);
        background-size: 100%;
        background-repeat: no-repeat;
        background-position: center center;
    }
}



/**************************
 タブ切り替え
***************************/

.tab-header {
    max-width: 1120px;
    height: 39.09px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin: auto;
    margin-top: clamp(1.563rem, 0.481rem + 2.88vw, 2.5rem);
    margin-bottom: 28px;
    padding-left: 20px;
    padding-right: 20px;
    list-style: none;
}

/* タブの横並びのため親要素にflexを指定 */
.tab-wrap {
    display: flex;
    flex-wrap: wrap;
    gap: 0 1px; /* タブ間の余白 */
    width: 100%;
    max-width: 1120px;
    height: 39.09px;
    margin: 0 auto;
}

/* タブ１～３と書いているタブメニュー部分 */
.tab-label {
    flex: 1;
    order: -1; /* タブを上段に表示する */
    color: #A5A595;
    text-align: center;
    padding: .5em 1em;
    cursor: pointer;
    font-size: 18px;
    font-weight: bold;
    transition: 0.2s;
    background: none;
    border: none;
    outline: none;
    border-bottom: rgba(0, 0, 0, 0.4) solid 1px;
}


@media screen and (max-width:400px){
    .tab-label{
        font-size: 17px;
    }
}

.tab-label:hover {
    color: #79796b;
    border-bottom: rgba(0, 0, 0, 0.4) solid 1px; /* ホバー時に下線を追加 */
}

/* タブのコンテンツ部分 */
.tab-inner {
    width: 100%;
    display: block; /* inline-block から block に変更 */
    max-width: 1120px;
    margin: 0 auto;
    padding-left: 20px;
    padding-right: 20px;
    padding-bottom: 120px;
}

.tab-content {
    width: 100%;
    display: none;
}

/* 選択したタブのスタイル */
.tab-label.active {
    color: #333;
    border-bottom: #333 solid 3px;
}

.tab-wrap:after {
    content: '';
    width: 100%;
    height: 1px;
    background-color: var(--active-tab-color);
    display: block;
    order: -1;
}

/* ------------------【一覧表示】--------------- */
/* コンテンツ幅やセクション見出しのスタイリング */

.category-section__articles{
    min-width: 1120px;
    margin-top: 28px;
    margin-left: auto;
    margin-right: auto;
}

  
.inner-box {
  margin: auto;
  width: 100%;
  max-width: 1120px;
}

.list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    column-gap: 20px;
    row-gap: 32px;
    justify-content:space-between;
    max-width: 1120px;
    padding: 0;
    margin: 0 auto;
}


@media screen  and (max-width:600px) {
   .list{
    grid-template-columns: repeat(1, 1fr);
    column-gap: clamp(1.25rem, -0.536rem + 8.93vw, 2.813rem)
   }

   .list >li{
    max-width: 600px;
    height: 100%;
   }

    .top-body >.inner-box >.list{
        padding: 0 20px;
        row-gap: 48px;
        grid-template-columns: repeat(1, 1fr);
    }
}


.cateory-section_articles>.inner-box>.list>li{
    width: 100%;
}

.link{
    width: 360px;
    height: 275.8px;
}



@media screen and (max-width:600px){
    .link{
        width: 100%;
        height: 100%;
    }
}

.image-box{
    max-height: 203px;
}

.image-box >img{
    display: block;
    width: 100%;
    max-height: 203px ;
    border-radius: 10px;
    aspect-ratio: 16/9;
}

@media screen and (max-width:600px) {
    .image-box{
        max-height: 500px;
    }
    .image-box >img{
        max-height: 500px;
        aspect-ratio: 16/9;
    }
}

.image{
    object-fit: cover;
    object-position: center;
}

@media screen  and (max-width:600px) {
    .img {
        max-width:100%;
    }
}

.image:hover{
    transform: scale(1.05, 1.05);
    opacity: 0.7;
}

.title-box {
    margin-top: 10px;
}

.title {
    font-weight: bold;
    font-size: 18px;
    color: #333333;
}

.tag-item{
    margin-top: 3px;
}

@media screen  and (max-width:600px) {
    .tag-item{
        margin-top: 2px;
    }
}


.tag {
    display: block;
    max-width: 78px;
    background-color: #eeeeee;
    font-size: 12px;
    color: #000000  !important ;
    text-align: center;
    border-radius: 6%;
    padding: 5.5px 11px;
}


/* 各物件の */
.card_item:hover .card_item_imgWrapper::before {
  opacity: 1;
}
  
.card_item:hover .card_item_imgWrapper::after {
  content: "Read More";
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  opacity: 1;
}
   
/* 「もっとみる」｜表示非表示*/
.link-main {
    display: none;
}

.link-main.visible {
    display: list-item;
}
  
/* 「もっとみる」*/
.btn001{
    display: block;
    max-width: 1120px;
    width: 100%;
    margin: 40px auto 120px;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
}

.btn001 a{
    padding-top: 12px;
    padding-bottom: 12px;
    padding-right: 32px;
    display: inline-block;
    width: 165.75px;
    color: #fff ;
    background:#F39200;
    font-weight: bold;
    font-size:16px;
    border-radius: 3px;
    text-align:center;
    text-decoration:none;    
  }

.btn001 a:before {
    content: "";
    display: inline-block;
    width: 18px;
    height: 18px;
    margin: -3px 5px 0 0;
    background: no-repeat url(img/arrow_left.svg);
    background-size: contain;
    vertical-align: middle;
}

.btn001 a:hover {
    background: #FFF;
    color: #F39200;
    border: #F39200 1px solid;
}

footer{
    margin-top:120px;
    width: 100%;
    bottom: 0;
    clear: both;
}
  
.top-body {
    flex-direction: column;
    min-height: 100vh;
}


/* ----------------ボタン--------------------------- */
/* ボタンの基本スタイル */
.btn00 {
    display: inline-block;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
}



.btn00 a {
    position: relative;
    padding: 15px 0;
    color: #fff;
    line-height: 1.6;
    box-sizing: border-box;
    padding-top: 12px;
    padding-bottom: 12px;
    padding-right: 16px;
    display: inline-block;
    width: 165.75px;
    background: #F39200;
    font-weight: bold;
    font-size: 16px;
    border-radius: 3px;
    text-align: center;
    text-decoration: none;
    transition: .2s;
}


  .btn00 a::after {
    content: '';
    position: absolute;
    top: -3px;
    bottom: 0;
    right: 25px;
    width: 9px;
    height: 9px;
    margin: auto;
    border-bottom: 2px solid #fff;
    border-left: 2px solid #fff;
    transform: rotate(-45deg);
    transition: .2s;
    box-sizing: border-box;
  }



.more-btn {
    margin-top: 80px;
}

@media screen and (max-width:600px) {
    .more-btn {
        margin-top: 40px;
    }
}

/* ------------------------------【詳細画面】---------------------------------*/

.ly_section_inner{
    margin: auto;
    width: 100%;
    max-width: 1120px;
}

.estateHead{
    top:10px;
    margin-top: 85px;
    margin-left: 20px;
}

@media screen and (max-width:600px) {
    .estateHead{
        margin-top: 55px;
    }
}

.estateHead_title{
    font-size: 32px;
    letter-spacing: 4%;
} 

/*SPのマージン */
@media screen and (max-width:1023px) {
    .estateHead {
        margin-top: 28px;
    }
}



/*SPのマージン */
@media screen and (max-width:600px) {

    .estateHead {
        margin-left: 20px;
    }
    .thumbnail  {
        margin-left: 20px;
        margin-right: 20px;
    }

    .ConstructionInformation  {
        margin-left: 20px;
        margin-right: 20px;
    }

    .relatedBlock {
        margin-left: 20px;
        margin-right: 20px;
    }

    /* タイトルのフォントサイズ（SP） */
    .estateHead_title{
        width: 100%;
        font-size: clamp(1.375rem, 0.661rem + 3.57vw, 2rem);
        letter-spacing: 4%;
        font-variant-ligatures:none
    }    
}

/* iphoneのみ */
.iphone {
    .estateHead {
        margin-top:60px
  }
}


.mainvisual{
    margin: 16px 0 0 0;
    width: 100%;
}

@media screen and (max-width:600px) {
    .mainvisual{
        margin-top: 8px;
    }
}

.mainvisual_thumnail_inner{
    margin: auto;
    width: 100%;
    max-width: 1120px;
    min-width: 600px;
}

.thumb-box{
    max-width: 100%;
    width: 1120px;
    height: auto;
    margin: auto;
    aspect-ratio: 16 / 9;
    object-fit: cover;
}


.thumb-box img{
    display: block;
    max-width: 1120px;
    min-width: 600px;
    width: 100%;
}

/* SP） */
@media screen and (max-width:600px) {
    .thumb-box img{
        margin: 0;
    }
}

.before-building{
    display: inline;

}


/* 物件画像（小）*/

.thumbnail {
    margin-top: 16px;
    margin-left: 20px;
    margin-left: 20px;
}

.small-image-three {
    width: 100%;
    list-style: none;   
    display: flex !important; 
    padding: 0;
}


.small-image-three img{
    display: block;
    min-width: 104px;
    max-width: 169px;
    max-height: 95px;
    background: #333;
    opacity: 1;
    transition: .3s;
    margin-right:  clamp(0.688rem, 0.58rem + 0.54vw, 1.063rem);
}

.small-image-three  :hover{
    opacity: 0.1;
}

.small-image-card {
    width: 168px;
    height: 95px;
    margin-right: clamp(0.237rem, -0.348rem + 2.93vw, 0.75rem);
    aspect-ratio: 16/9;
}

@media screen and (max-width:600px) {
.small-image-card{
    width: clamp(6.25rem, 1.393rem + 24.29vw, 10.5rem);
    height: auto;
}
}

.small_card{
    font-size: 18px;
    color: #000000;
    text-align: center;
    font-weight: bold;
}




@media (max-width: 600px) {
    .thumbnail {
        margin-top: 6px;
    }
    
    .mainvisual_thumnail_inner, .thumbnail-img {
        padding: 0;
        margin: 0;
    }
}



/* ------------【施工箇所】-----------*/

/* 施工箇所_大枠*/
.ConstructionInformation{
    position: relative;
    margin-top: 24px;
    max-width: 1120px;
    background-color: #EAEDF1;
    margin-right: 20px;
    margin-left: 20px;
}



/* 施工箇所_詳細_フォント幅*/
.ConstructionInformation_text{
    padding-top: 68px;
    padding-left: 34px;
    padding-right: 35px;
    padding-bottom: 30px;
    letter-spacing: 0.72px;
}


/* 施工箇所_タイトル_デザイン*/
.ConstructionInformation_title{
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    font-size: 18px;
    letter-spacing: 6%;
    text-align: center;
    padding: 9px 43px;
    background-color:#333333;
    color:#fff
}

@media screen and (max-width:600px) {
    .ConstructionInformation_text{
        font-size: 13px;
        padding-top: 49px;
        padding-left: 16px;
        padding-right: 16px;
        padding-bottom: 16px;
        letter-spacing: 0.72px;
    }

    .ConstructionInformation_title{
        font-size: 13px;
        padding: 9px 30px;
    }
}



/* ------------【おすすめの物件】-----------*/
.relatedBlock{
    margin-top: 80px;
    margin-right: 20px;
    margin-left: 20px;
}


/* おすすめ物件_マージン*/
.related_title{
    border-left:5px solid #000000; /*線の設定*/
    padding-top:1px;
    padding-bottom: 1px;
    padding-left: clamp(0.563rem, 0.346rem + 1vw, 1.25rem); 
    font-size: 28px;
    font-weight: bold !important;
    text-decoration: none;
    margin-bottom: 28px;
}

@media screen and (max-width:600px) {
    .relatedBlock{
        margin-top: 40px;
    }

    .related_title{
        font-size: clamp(1.188rem, 0.545rem + 3.21vw, 1.75rem);
        margin-bottom: 8px;
    }

}


.related_title>.inner-box{
    padding: 0%;
}

.relatedBlock .inner-box .list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    column-gap: 20px;
    justify-content:space-between;
    max-width: 1120px;
    list-style: none;
}

@media screen and (max-width:600px){
    .relatedBlock .inner-box .list {
        row-gap: 20px;
        grid-template-columns: repeat(1, 1fr);
    }

    .relatedBlock .image{
        display: block;
        width: 100%;
    }
}



/* 一覧に戻る*/
.back-top{
    display: inline-block;
    width: 100%;
    margin: 40px auto 120px;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
}

@media screen and (max-width:600px){
    .back-top{
    margin: 40px auto 100px;
}
}

a.back-top-btn {
    padding-top: 12px;
    padding-bottom: 12px;
    padding-right: 32px;
    display: inline-block;
    width: 165.75px;
    color: #fff ;
    background:#F39200;
    font-weight: bold;
    font-size:16px;
    border-radius: 3px;
    text-align:center;
    text-decoration:none;
    transition: background-color 0.3s ease; /* 変化をゆっくりにする */
  }
  
  a.back-top-btn:before {
    content: "";
    display: inline-block;
    width: 18px;
    height: 18px;
    margin: -3px 5px 0 0;
    background: no-repeat url(img/arrow_left.svg);
    background-size: contain;
    vertical-align: middle;
  }
  
  a.back-top-btn:hover {
    background: linear-gradient(#FFF, #FFF), #F39200; /* 背景画像と色を同時に指定 */
    color: #F39200 !important;
    border: #F39200 1px solid;
    transition: background-color 0.5s ease; /* 変化をゆっくりにする */
  }

/* ----------------ボタン--------------------------- */
/* ボタンの基本スタイル */
.btn {
    display: inline-block;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
}



.btn a {
    position: relative;
    padding: 15px 0;
    color: #fff;
    line-height: 1.6;
    box-sizing: border-box;
    padding-top: 12px;
    padding-bottom: 12px;
    padding-left: 16px;
    display: inline-block;
    width: 165.75px;
    background: #F39200;
    font-weight: bold;
    font-size: 16px;
    border-radius: 3px;
    text-align: center;
    text-decoration: none;
    transition: .2s;
}


  .btn a::after {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: 25px;
    width: 9px;
    height: 9px;
    margin: auto;
    border-bottom: 2px solid #fff;
    border-left: 2px solid #fff;
    transform: rotate(45deg);
    transition: .2s;
    box-sizing: border-box;
  }


  
  /* ホバー時のスタイル */
  .btn-color-change a {
    background-color: #F39200;
    border: 1.5px solid #F39200;
  }
  .btn-color-change a:hover {
    background-color: #fff;
    color: #F39200 !important;
  }
  .btn-color-change a:hover::after {
    border-color: #F39200;
  }  



/* ^^^^^^^^^^^^^^^^^^テスト：スライダー2 ^^^^^^^^^^^^^^^^^^^^^^^^^^^*/

.slider{
    margin-top: clamp(0.438rem, 0.424rem + 0.06vw, 1rem);
    margin-right: 20px;
    margin-bottom: 0;
    margin-left:  20px;
}
   
.thumbnail .slick-track {
    transform: unset !important;
  }
   

.thumbnail-img {
   display: block;
   max-width: 169px;
   max-height: 124px;
   margin-right:  clamp(0.688rem, 0.58rem + 0.54vw, 1.063rem);
   transition: opacity .3s linear;
}

   
.thumbnail .slick-current {
   opacity: 1;
}

.thumbnail-img {
    position: relative;
    display: inline-block;
    text-align: center; /* pタグをセンターに配置 */
    aspect-ratio: 16/9;
}

.thumbnail-img img {
    display: block;
    position: relative;
}

.thumbnail-img .overlay {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(40, 32, 22, 0.73); /* 73%の透明度のオーバーレイ */
    pointer-events: none; /* オーバーレイがクリックイベントをブロックしないようにする */
    opacity: 0; /* デフォルトは非表示 */
    transition: opacity 0.3s linear;
}

.thumbnail .slick-current .overlay {
    opacity: 1; /* 現在表示されているサムネイルにオーバーレイを適用 */
}

.small_card {
    font-size: 18px;
    color: #FFF;
    text-align: center;
    font-weight: bold;
    position: absolute; /* テキストの位置を調整するために絶対位置指定 */
    bottom: 0; /* 画像の下部に配置 */
    left: 0;
    right: 0;
    margin: auto; /* 中央揃え */
}




@media screen and (max-width:600px) {
.slider {
    margin-bottom: 0;
    margin-left: 0px;
    margin-right: 0px;
    }
}


/* 共通スタイル */
.thumbnail-img {
    position: relative;
    display: inline-block;
    text-align: center; /* pタグをセンターに配置 */
    width: 100%; /* 親要素に合わせる */
    height: auto; /* 自動調整 */
}

.thumbnail-img img {
    display: block;
    width: 100%; /* 画像の幅を親要素に合わせる */
    height: auto; /* 画像の高さを自動調整 */
}

.thumbnail-img .overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%; /* オーバーレイを親要素の幅に合わせる */
    height: 100%; /* オーバーレイを親要素の高さに合わせる */
    background-color: rgba(40, 32, 22, 0.73); /* 73%の透明度のオーバーレイ */
    pointer-events: none; /* オーバーレイがクリックイベントをブロックしないようにする */
    opacity: 0; /* デフォルトは非表示 */
    transition: opacity 0.3s linear;
}

.thumbnail .slick-current .overlay {
    opacity: 1; /* 現在表示されているサムネイルにオーバーレイを適用 */
}

.small_card {
    font-size: 1.8em; /* フォントサイズを1.8emに設定 */
    color: #FFF;
    text-align: center;
    font-weight: bold;
    position: absolute; /* テキストの位置を調整するために絶対位置指定 */
    top: 50%; /* 画像の垂直方向の中央に配置 */
    left: 50%; /* 画像の水平方向の中央に配置 */
    transform: translate(-50%, -50%); /* 完全に中央に揃える */
    margin: 0; /* 中央揃え */
    width: 90%; /* 親要素の90%に合わせる */
    max-width: 400px; /* 最大幅を400pxに制限 */
}



/* 画面幅が600px未満の場合のスタイル */
@media (max-width: 600px) {
    .custom-field-3-thumbnail, .custom-field-2-thumbnail {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
    }
    .custom-field-3-thumbnail .thumbnail-item, .custom-field-2-thumbnail .thumbnail-item {
        width: 48%;
        margin-bottom: 4%;
    }
    .custom-field-3-thumbnail .thumbnail-item:nth-child(2n+1), .custom-field-2-thumbnail .thumbnail-item:nth-child(2n+1) {
        margin-right: 4%;
    }
    .custom-field-3-thumbnail .thumbnail-item:nth-child(2n), .custom-field-2-thumbnail .thumbnail-item:nth-child(2n) {
        margin-right: 0;
    }
}

@media (max-width: 550px) {
    .small_card {
        top: 49%;
}
}

@media (max-width: 500px) {
    .small_card {
        top: 47%;
}
}

/* 画面幅が480px未満の場合のスタイル */
@media (max-width: 480px) {
    .small_card {
        font-size: 1.4em; /* フォントサイズを1.4emに設定 */
        top: 48%;
    }
}

/* 画面幅が480px未満の場合のスタイル */
@media (max-width: 430px) {
    .small_card {
        top: 50%;

    }
}

/* 画面幅が500px未満の場合のスタイル/* 2つのサムネイルのみに適用 */
@media (max-width: 500px) {
    .thumbnail.two-thumbnails .small_card {
        font-size: 1.8em; /* フォントサイズを1.8emに設定 */
    }
}


/* 画面幅が500px未満の場合のスタイル */
@media screen and (max-width: 440px) {
    /* 2つのサムネイルのみに適用 */
    .thumbnail.two-thumbnails .small_card {
        top: 53%; /* サムネイルが２つでかつ画面幅が500px以下の場合、テキストの位置を53%に変更 */
    }

    /* 2つのサムネイルのみに適用 */
    .thumbnail.two-thumbnails .small_card {
        font-size: 1.7em;
    }
}



/* 画面幅が600px未満の場合のスタイル */
@media screen and (max-width: 400px) {
    /* 2つのサムネイルのみに適用 */
    .thumbnail.two-thumbnails .small_card {
        top: 54%; /* サムネイルが２つでかつ画面幅が500px以下の場合、テキストの位置を53%に変更 */
    }

        /* 2つのサムネイルのみに適用 */
        .thumbnail.two-thumbnails .small_card {
            font-size: 1.4em;
        }
}


/* 3つ｜画面幅が400px未満の場合のスタイル */
@media screen and (max-width: 400px) {
    /* 3つのサムネイルのみに適用 */
    .small_card {
        top: 48%; /* サムネイルが２つでかつ画面幅が500px以下の場合、テキストの位置を53%に変更 */
        font-size: 1.3em;
    }
}

/* ３つ｜画面幅が3600px未満の場合のスタイル */
@media screen and (max-width: 360px) {
    /* 3つのサムネイルのみに適用 */
    .small_card {
        top: 46%; /* サムネイルが２つでかつ画面幅が500px以下の場合、テキストの位置を53%に変更 */
    }
}



/* 画面幅が370px未満の場合のスタイル */
@media screen and (max-width: 400px) {
    /* 2つのサムネイルのみに適用 */
    .thumbnail.two-thumbnails .small_card {
        top: 53%; /* サムネイルが２つでかつ画面幅が500px以下の場合、テキストの位置を53%に変更 */
    }
}

