@import url(./common_import.css);
/*************************************************************************/
/****************************  keyvisual  ********************************/
/*************************************************************************/

.lower_layer_keyvisual{
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    background-image: url(/express_assets/asia/img/properties/header_properties.jpg);
    padding: 50px 0 70px 0;
    margin-bottom: 135px;
}

/* .lower_layer_keyvisual.thailand{
    background-image: url(/express_assets/asia/img/properties/header_properties.jpg);
}

.lower_layer_keyvisual.phillipines{
    background-image: url(/express_assets/asia/img/properties/header_properties.jpg);
}

.lower_layer_keyvisual.singapore{
    background-image: url(/express_assets/asia/img/properties/header_properties.jpg);
}

.lower_layer_keyvisual.malaysia{
    background-image: url(/express_assets/asia/img/properties/header_properties.jpg);
}

.lower_layer_keyvisual.dubai{
    background-image: url(/express_assets/asia/img/properties/header_properties.jpg);
} */

.lower_layer_keyvisual .breadcrumbs *{
    color: #000;
}

.lower_layer_keyvisual .breadcrumbs{
    font-size: 16px;
    display: flex;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 400;
    line-height: 215%;
    gap: 25px;
    margin-bottom: 80px;
}

.lower_layer_keyvisual .breadcrumbs > span{
    position: relative;
}

.lower_layer_keyvisual .breadcrumbs > span:not(:last-child):before {
  content: '';
  width: 8px;
  height: 8px;
  border-top: solid 1px #000;
  border-right: solid 1px #000;
  position: absolute;
  right: -12px;
  top: 0;
  bottom: 0;
  margin: auto;
  transform: rotate(45deg);
}

.lower_layer_keyvisual h1{
    font-family: "Noto Serif JP", serif;
    font-size: 60px;
    line-height: 100%;
    font-weight: 400;
    color: var(--main-color);
    margin-bottom: 80px;
}

.lower_layer_keyvisual h1 span{
    font-size: 21px;
    font-family: "Noto Sans JP", sans-serif;
    line-height: 100%;
    font-weight: 500;
    letter-spacing: 2px;
    color: #AD7B00;
    display: block;
    margin-bottom: 27px;
    text-transform:capitalize;
}   

.country_list{
    display: flex;
    gap: 14.4px;
}

.country_box{
    width: calc(100% / 6 - 7.7px);
}

.country_box a{
    display: flex;
}

.country_box .country_box_image{
    width: 26.315%;
}

.country_box .country_box_text{
    width: 73.6%;
    background-color: #fff;
    display: flex;
    align-items: center;
    padding-left: 10px;
}

.country_box_text h5{
    font-size: 16px;
    font-weight: 600;
    font-family: "Noto Serif JP", serif;
    color: var(--main-color);
}

.country_box_text h5 span{
    color: #BB9C50;
    font-size: 13px;
    line-height: 100%;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 400;
    margin-bottom: 10px;
    display:block;
}

.country_box.select .country_box_text{
    background-color: var(--main-color);
}

.country_box.select .country_box_text h5{
    color: #fff;
}

@media screen and (max-width:1440px){
    .country_list{
        gap: 20px 22px;
        flex-wrap: wrap;
    }
    .country_box{
        width: calc(100% / 3 - 15px);
    }
    .lower_layer_keyvisual{
        margin-bottom: 80px;
    }
}

/*スマホ*/
@media screen and (max-width:767px){
    .country_box .country_box_image{
        width: 25%;
    }
    .country_list{
        gap: 10px;
    }
    .country_box{
        width: calc(100% / 2 - 5px);
    }
    .country_box .country_box_text{
        padding: 5px;
        padding-left: 5px;
        width: calc(100% - 34px);
    }
    .country_box_text h5 span{
        margin-bottom: 5px;
    }
    .country_box_text h5{
        font-size: 15px;
    }
    .country_box_text h5 span{
        font-size: 11px;
    }
    .lower_layer_keyvisual{
        margin-top: 60px;
        padding-bottom: 50px;
    }
    .lower_layer_keyvisual h1{
        font-size: 24px;
        margin-bottom: 50px;
    }
    .lower_layer_keyvisual h1 span{
        font-size: 18px;
        margin-bottom: 22px;
    }
    .lower_layer_keyvisual .breadcrumbs{
        margin-bottom: 50px;
        font-size: 13px;
    }
    .lower_layer_keyvisual .breadcrumbs > span:not(:last-child):before {
        width: 5px;
        height: 5px;
    }
}

@media screen and (max-width:365px){
    .country_box_text h5{
        font-size: 3.8vw;
    }
    .country_box_text h5 span{
        font-size: 2.933333333333333vw;
    }
}


/*************************************************************************/
/**************************  keyvisualここまで  **************************/
/*************************************************************************/


/*************************************************************************/
/****************************  絞り込み検索  ********************************/
/*************************************************************************/

.properties_search{
    margin-bottom: 50px;
}

.properties_search_btn{
    font-family: "Noto Sans JP", sans-serif;
    font-size: 24px;
    font-weight: 400;
    color: #fff;
    height: 50px;
    width: 338px;
    background-color: var(--main-color);
    padding: 0 30px;
    display: flex;
    align-items: center;
    position: relative;
    cursor: pointer;
}

.properties_search_btn:after{
   content: '';
  width: 15px;
  height: 15px;
  border-top: solid 1px #fff;
  border-right: solid 1px #fff;
  position: absolute;
  right: 30px;
  top: calc(50% - 30px);
  bottom: 0;
  margin: auto;
  transition: .5s;   
  transform: rotate(135deg);
}

.properties_search .properties_search_btn.active:after{
  transform: rotate(-45deg);
  top: calc(50% - 15px);
}

.properties_search_content{
    border: solid 1px var(--main-color);
    padding: 30px;
    display: none;
}

.properties_search_content_inner{
    display: flex;
    gap: 30px;
    font-family: "Noto Sans JP", sans-serif;
    margin-bottom: 30px;
}

.properties_search_content_box{
    width: calc(100% / 3 - 15px);
}

.not_all .properties_search_content_box{
    width: calc(100% / 4 - 15px);
}

.properties_search_content_box h3{
    font-size: 22px;
    color: var(--main-color);
    padding-bottom: 20px;
    border-bottom: 1px solid var(--main-color);
    font-size: 22px;
    margin-bottom: 20px;
}

.checkbox_list{
    display: flex;
    gap: 22px 30px;
    flex-wrap: wrap;
}

.checkbox_list label{
    font-size: 18px;
    color: var(--main-color);
    font-weight: 400;
    display: flex;
    gap: 10px;
}

.checkbox_list input[type="checkbox"] {
  display: none;
}

.custom-checkbox {
  width: 20px;
  height: 20px;
  border: 2px solid #555;
  border-radius: 4px;
  position: relative;
  flex-shrink: 0; /* 縮まない */
}

/* チェックされたときの表示（CSSのみ） */
.checkbox_list input[type="checkbox"]:checked + .custom-checkbox::after {
    content: "";
    position: absolute;
    left: 4px;
    top: -12px;
    width: 11px;
    height: 20px;
    border: solid #D4B572;
    border-width: 0 4px 4px 0;
    transform: rotate(45deg);
    background: transparent;
}

/* チェック時の背景色変更 */
/* .checkbox_list input[type="checkbox"]:checked + .custom-checkbox {
  background-color: #0078D4;
  border-color: #0078D4;
} */



.checkbox_list2{
    display: flex;
    gap: 22px 30px;
    flex-wrap: wrap;
}

.checkbox_list2 li{
    width: 100%;
}

.checkbox_list2 label{
    font-size: 18px;
    color: var(--main-color);
    font-weight: 400;
    display: flex;
    gap: 10px;
}

.checkbox_list2 input[type="checkbox"] {
  display: none;
}

.custom-checkbox {
  width: 20px;
  height: 20px;
  border: 2px solid #555;
  border-radius: 4px;
  position: relative;
  flex-shrink: 0; /* 縮まない */
}

/* チェックされたときの表示（CSSのみ） */
.checkbox_list2 input[type="checkbox"]:checked + .custom-checkbox::after {
    content: "";
    position: absolute;
    left: 4px;
    top: -12px;
    width: 11px;
    height: 20px;
    border: solid #D4B572;
    border-width: 0 4px 4px 0;
    transform: rotate(45deg);
    background: transparent;
}

/* チェック時の背景色変更 */
/* .checkbox_list2 input[type="checkbox"]:checked + .custom-checkbox {
  background-color: #0078D4;
  border-color: #0078D4;
} */


.up_down_list{
    display: flex;
    justify-content: space-between;
}

.up_down_list > li{
  width: 45%;
  position: relative;
}

.up_down_list .custom-select {
  width: 100%;
  border: 1px solid #ccc;
    font-family: "Noto Sans JP", sans-serif;
  user-select: none;
  position: relative;
  font-size: 16px;
}

.up_down_list > li:first-child::after{
    content: '～';
    right: -16%;
    top: 23%;
    margin: auto;
    position: absolute;
    font-size: 1.2vw;
    color: var(--main-color);
}

.up_down_list .arrow {
  text-align: center;
  cursor: pointer;
  font-size: 8px;
  color: var(--main-color);
}

.up_down_list .arrow.up{
    position: absolute;
    top: 10px;
    right: 10px;
    margin: auto;
}

.up_down_list .arrow.down{
    position: absolute;
    right: 10px;
    bottom: 10px;
    margin: auto;
}

.up_down_list .selected {
  background: #fff;
  border: 1px solid var(--main-color);
  padding: 10px;
  cursor: pointer;
}

.up_down_list .options {
  display: none;
  position: absolute;
  background: #fff;
  border: 1px solid var(--main-color);
  width: 100%;
  max-height: 150px;
  overflow-y: auto;
  z-index: 10;
}

.up_down_list .options li {
  padding: 6px;
  cursor: pointer;
}

.up_down_list .options li:hover {
  background: var(--main-color);
  color: #fff;
}


.radio_btn_list{
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
}

.radio_btn_list label {
  display: inline-flex;
  align-items: center;
  cursor: pointer;
}

.radio_btn_list label input[type="radio"] {
  display: none;
}

.radio_btn_list .radio-style {
  width: 20px;
  height: 20px;
  font-size: 18px;
  border: 1px solid #A4A4A4;
  border-radius: 50%;
  display: inline-block;
  position: relative;
  margin-right: 10px;
}

.radio_btn_list label input[type="radio"]:checked + .radio-style::after {
  content: '';
  position: absolute;
    top: 3px;
    left: 3.5px;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: #BB9C50;
}

.properties_search .btn_main .btn_inner a{
    padding: 10px 20px;
}

.properties_search_display{
    margin: 50px 0;
}

.properties_search_display ul{
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 30px 60px;
}

.properties_search_display ul li{
    font-family: "Noto Sans JP", sans-serif;
    font-size: 22px;
    font-weight: 400;
    color: var(--main-color);
}

@media screen and (max-width:1350px) and (min-width:1010px){
    .not_all_check .up_down_list > li:first-child::after{
        right: 0;
        left: 0;
        top: auto;
        bottom: -22px;
        margin: auto;
        text-align: center;
        transform: rotate(90deg);
    }
    .not_all_check .up_down_list {
        flex-direction: column;
        gap: 30px;
    }
    .not_all_check .up_down_list > li {
        width: 100%;
    }
}


@media screen and (max-width:1010px){
    .properties_search_content_inner{
        flex-wrap: wrap;
    }
    .properties_search_content_box,.not_all .properties_search_content_box{
        width: calc(100% / 2 - 15px);
    }
    .checkbox_list li{
        width: 100%;
    }
    .radio_btn_list li{
        width: calc(100% / 2 - 15px);
    }
}

@media screen and (max-width:768px){
    .properties_search_btn{
        width: 100%;
        font-size: 22px;
    }
    .properties_search_content_box,.not_all .properties_search_content_box{
        width: 100%;
    }
    .radio_btn_list{
        gap: 20px;
    }
    .properties_search_content{
        padding: 30px 20px;
    }
    .checkbox_list label,.checkbox_list2 label{
        font-size: 16px;
    }
    .properties_search_content_box h3{
        font-size: 20px;
        margin-bottom: 18px;
        padding-bottom: 18px;
    }
    .properties_search_content_inner{
        gap: 40px;
        margin-bottom: 40px;
    }
    .btn_list{
        gap: 15px;
    }
    .btn_list .btn_main,.btn_sub{
        width: calc(50% - 7.5px);
    }
    .properties_search .btn_main .btn_inner a{
        width: 100%;
    }
    .properties_search_display {
        margin: 60px 0;
    }
    .properties_search_display ul{
        gap: 20px 60px;
    }
    .properties_search_display ul li{
        font-size: 18px;
        line-height: 22px;
    }
}

@media screen and (max-width:380px){
    .btn_main .btn_inner span,.btn_list .btn_sub *{
        font-size: 3.3vw;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    .btn_list .btn_main .btn_inner a,.btn_list .btn_sub .btn_inner{
        padding: 10px 0;
    }
    .btn_main .btn_inner span::after {
        right: 20px;
    }
}
/*************************************************************************/
/*************************  絞り込み検索ここまで  **************************/
/*************************************************************************/


/*************************************************************************/
/***************************  絞り込み検索結果  ****************************/
/*************************************************************************/
.properties_search_output_list{
    display: flex;
    flex-wrap: wrap;
    gap: 0 2px;    
}
.properties_search_output_content{
    opacity: 0;
    transform: scale(0);
    height: 0;
    overflow: hidden; /* 高さが残らないように調整 */
    transition: .5s;
    visibility: hidden;
    display: none;
}

.properties_search_output_content.search_out.show{
    width: calc(100% / 3 - 2px);
    opacity: 1;
    transform: scale(1);
    visibility: visible;
    height: auto; /* 表示状態に戻す */
    margin-bottom: 80px;
}

.properties_search_output_content_image{
    width: 100%;
    height: 29.53vw;
    max-height: 478px;
    margin-bottom: 20px;
}
.properties_search_output_content_image img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.properties_search_output_content_text{
    width: 91.6435%;
    margin: auto;
}
.properties_search_output_content_text h3{
    font-size: 18px;
    font-family: "Noto Sans JP", sans-serif;
    line-height: 170%;
    color: #000;
    border-bottom: solid 1px #B8B8B8;
    margin-bottom: 15px;
    padding-bottom: 15px;
    font-weight: 500;
}
.properties_search_output_content_text h3 span{
    color: #565656;
    font-family: "Noto Serif JP", serif;
    font-weight: 400;
}
.properties_search_output_content_text ul li{
    font-size: 16px;
    line-height: 170%;
    font-family: "Noto Sans JP", sans-serif;
    color: #000;
}


@media screen and (max-width:1200px){
    .properties_search_output_content.search_out.show{
        width: calc(100% / 2 - 2px);
    }
    .properties_search_output_content_image{
        max-height: none;
        height: 47.2vw;
    }
}

@media screen and (max-width:768px){
    .properties_search_output_content.search_out.show{
        width: 100%;
        margin-bottom: 0;
    }
    .properties_search_output_list{
        gap: 50px;
    }
    .properties_search_output_content_image{
        height: 93.5vw;
    }
    .properties_search_output_content_text h3 span{
        font-size: 16px;
    }
}

.not_more_text{
    display: none;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 22px;
    font-weight: 400;
    text-align: center;
}

.not_select{
    opacity: 0.6;
}

.search_error_text{
    text-align: center;
}

.search_error_text p{
    color: red;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 16px;
    font-weight: 400;
    margin-bottom: 15px;
    display: none;
}

@media screen and (max-width: 768px) {
    .search_error_text.active{
        margin-top: -20px;
    }
}

#search.hide.btn_main .btn_inner a{
    background-color: #888;
    border-color: #888;
    color: #fff;
}

/*************************************************************************/
/************************  絞り込み検索結果ここまで  ***********************/
/*************************************************************************/