@charset "utf-8";

/* ===== Base（スマホ想定：1カラム） ===== */
.mapestate { margin-bottom:71px; display:grid; grid-template-columns:1fr; grid-template-areas:"map" "list"; /*gap:16px; */align-items:start; position:relative; }
.map_wrapper { height:100%; position:relative; overflow:hidden; }
#map { grid-area:map; position:static; top:auto; height:360px; background:#eef2f6; overflow:hidden; margin-top:0; margin-bottom:0; }
.property_card_wrap.list { grid-area:list; height:auto; overflow:visible; scrollbar-gutter:stable; min-width:0; box-sizing:border-box; }
.property_card_wrap.list .cards-grid { display:grid; grid-template-columns:1fr;}
.property_card_wrap.list .property_card { width:100%; min-width:0; height:440px; box-sizing:border-box; margin:0 0 20px 0; }
.property_card_wrap.list .property_card.border{ height:310px;width:100%; }
.property_card_wrap.list .property_card.border .overlay_title { margin-top:30px; }
.property_card_wrap.list .property_card.border .overlay_inner .button { height:50px; }

@media (min-width:768px){
  .mapestate { margin-bottom:0; gap:16px; }
  #map { margin-bottom:initial; }
  .property_card_wrap.list .cards-grid { gap:40px; display: grid;grid-template-columns: repeat(3, minmax(0, 1fr));justify-content: start;margin-bottom: 40px;}
  .property_card_wrap.list .property_card { height:310px; margin:0;width: 45vw!important; }
  .property_card_wrap.list .bukken_photo { height:140px; }
  .property_card_wrap.list .property_card .flag_wrap { position:absolute; top:-5px; left:0; z-index:1; gap:2px; }
  .property_card_wrap.list .property_card .flag_wrap .flag_type { width:auto; padding:0 5px; }
  .property_card_wrap.list .property_card .property_card_link .icon_madori { top:100px; z-index:2; }

}
.property_card_wrap.list .property_card img { display:block; max-width:100%; max-height:100%; height:auto; }

.property_card_wrap.list .property_card .noimage img { height:100%; object-fit: cover;}

@media (min-width:1024px){
.property_card_wrap.list .property_card.border{ height:300px;width: calc(calc(100% - 30px) / 2) !important; }
.property_card_wrap.list .property_card{ height:300px;width: calc(calc(100% - 30px) / 2) !important; }
}

/* ===== 地図非表示 ===== */
.mapestate.is-map-hidden { grid-template-columns:1fr; grid-template-areas:"list"; }
.mapestate.is-map-hidden #map { display:none; }
.mapestate.is-map-hidden .box_caution  { display:none; }
@media (min-width:768px){
 .mapestate.is-map-hidden .property_card_wrap.list { position:relative; }
 .mapestate.is-map-hidden .property_card_wrap.list .property_card { width:415px!important; height:470px; }
 .mapestate.is-map-hidden .property_card_wrap.list .bukken_photo { height:260px; margin-bottom:16px; }
 .mapestate.is-map-hidden .property_card_wrap.list .property_card .bukken_info_price { /*position:absolute; bottom:20px; */margin-bottom:0; }
 .mapestate.is-map-hidden .property_card_wrap.list.property_card_wrap.list .property_card .flag_wrap { position:initial; }
 .mapestate.is-map-hidden .property_card_wrap.list .property_card .overlay_title { margin-top:100px; }
 .mapestate.is-map-hidden .property_card_wrap.list .property_card .property_card_link .icon_madori { top:205px; }

}
@media (min-width: 768px) and (max-width: 1024px) {
 .mapestate.is-map-hidden .property_card_wrap.list .property_card { width:45vw !important; }
 .pagenation_wrap div { width:auto; }
}


/* =========================
   キーワード検索
   ========================= */
.keyword_wrap { width:100%; display:flex; flex-wrap:wrap; justify-content:space-between;}
.keyword_wrap input { width:100%; height:40px; border:none; color:#000; }
.keyword_wrap input:focus,
.keyword_wrap input:focus-visible {
  outline: none;
  box-shadow: none;
}
.keyword_wrap strong { width:100%; font-size:24px; color:#333333; text-align:center; }
.keyword_wrap span { width:100%; text-align:center; color:#FC5942; }
@media (min-width:768px) {
  .keyword_wrap { width:calc(100% - 600px); display:flex; flex-wrap:wrap; justify-content:space-between;}
  .keyword_wrap div { width:50%; }
  .keyword_wrap div:nth-child(2) { margin-top:0; }
  .keyword_wrap strong { font-size:36px;text-align:left;  color:#000; }
  .keyword_wrap span { text-align:left; }
}
@media (min-width:1280px) {
  .keyword_wrap { width:calc(65% - 600px); }
  .keyword_wrap div:nth-child(2) { width:540px; }
}
.keyword_wrap .kensaku { width:100%; padding-left:10px; display:flex; align-items:center; height:40px; background:#FFF; justify-content: space-between; position:relative; margin-top:10px; border-radius: 5px; }
.keyword_wrap span { color:#000; margin-bottom:20px; letter-spacing:0.1em; }
@media (max-width:768px) {
.keyword_wrap .text_bold { font-weight:normal; font-size:16px; text-align:left; }
.keyword_wrap span { margin-bottom:10px; }
}
@media (min-width:768px) {
  .keyword_wrap .kensaku { height:50px; margin-top:0px; }
}
@media (min-width:1000px) {
  .keyword_wrap .kensaku { height:50px; margin-top:0px; }
}

.search-button { fill:#004680; position:absolute; right:5%; top:15%; }           
.kensaku-form { width:auto; }
@media (min-width:768px) {
  .search-button { top:25%; }           
.kensaku-form { width:85%; margin-left:5%; }
}

.mapestate.is-map-hidden .property_card_wrap.list .cards-grid { margin-bottom:40px; }
@media (min-width:641px) and (max-width:1023px) {
  .property_card_wrap.list .cards-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
  .mapestate.is-map-hidden .property_card_wrap.list .cards-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }



}



/* ===== 地図がある時 ===== */
.mapestate:not(.is-map-hidden) .view-toggle  { width:135px; height:48px;font-size:15px;  background:#333333; display:flex; align-items:center; justify-content:center; color:#fff; font-weight:bold; position:absolute; top:0; left:0; z-index:999; }
.mapestate:not(.is-map-hidden) .view-toggle #toggleMapBtn .inline_sp{display:inline-flex;align-items:center;gap:6px;}
.mapestate:not(.is-map-hidden) .view-toggle #toggleMapBtn .inline_sp .icon{width:18px;height:18px;flex:0 0 auto;vertical-align:middle;}

.mapestate.is-map-hidden .view-toggle #toggleMapBtn { color:#fff; }
.mapestate.is-map-hidden .box_caution { width:100%; position:absolute; z-index:1; top:10px; left:0;  }
.view-toggle .inline_pc{display: none;}

@media (min-width:1024px) {
  .mapestate:not(.is-map-hidden) .view-toggle #toggleMapBtn .inline_sp { display:none; }
  .mapestate.is-map-hidden .view-toggle #toggleMapBtn { color:#2CB6F7; }
  .mapestate:not(.is-map-hidden) .view-toggle span { width:100%; display:inline-block;}
  .mapestate.is-map-hidden .box_caution  { display:none; }
  .mapestate:not(.is-map-hidden) .view-toggle  { width:108px; height:108px;font-size:15px;  background:#fff; border-radius:50%; display:flex; align-items:center; justify-content:center; color:#2CB6F7;  font-weight:bold; position:absolute; top:20px; bottom:initial; left:20px; z-index:999; color:#2CB6F7; border:2px solid #2CB6F7;}
  .mapestate .view-toggle { width:108px; height:108px; background:#fff; border:2px solid #2CB6F7; border-radius:50%; display:flex; align-items:center; justify-content:center; color:#2CB6F7; font-weight:bold; position:absolute; top:20px; left:20px; z-index:999; }
.view-toggle .inline_pc{display: inline;}

}

  .mapestate.is-map-hidden .property_card_wrap.list .list_inner h1 { font-size:24px; line-height:1.7em; margin-top:20px; }
@media (min-width:1024px) {
  .mapestate.is-map-hidden .property_card_wrap.list .list_inner h1 { width:100%; text-align:center; font-size:36px;  margin:0 auto; display:inline-block; }
  .mapestate { /*height:calc(100dvh - 200px); */grid-template-columns:minmax(360px,1fr) auto; grid-template-areas:"map list"; gap:16px; align-items:start; }
  
  .mapestate:not(.is-map-hidden) { position:relative; }
  .mapestate:not(.is-map-hidden) .property_card_wrap.list { grid-area:list; max-width: 800px; padding:20px 0px 0 0px; height:calc(100dvh - var(--header-h,64px)); overflow-y:auto; overflow-x:hidden; box-sizing:content-box; display:block; }
  .mapestate:not(.is-map-hidden) .property_card_wrap.list .cards-grid { grid-template-columns:repeat(2,325px); gap:30px; justify-content:start; margin-bottom:30px; }

  .mapestate.is-map-hidden .property_card_wrap.list { width:100%; margin:40px 0; height:auto; overflow:visible; box-sizing:content-box; }
  .mapestate.is-map-hidden .property_card_wrap.list .list_inner .cards-grid { grid-template-columns:repeat(3,415px); gap:30px; justify-content:start; margin-bottom:40px; }
  .mapestate.is-map-hidden .property_card_wrap.list .list_inner { margin:40px auto 0; }

  
  
}





@media (min-width:768px) {
  .overlay_actions { flex-wrap:wrap; }
  .overlay_inner .button { width:350px; height:70px; }
   
}
/*地図を隠すボタン*/
#map { grid-area:map; position:sticky; top:var(--header-h,0px); height:100%; min-height:100%; min-width:360px; }




/* ===== モバイル（~767px） ===== */
@media (max-width:767px) {
  #map { grid-area:map; position:sticky; top:var(--header-h,0px); height:calc(100dvh - var(--header-h,200px)); }
  .mapestate:not(.is-map-hidden) .property_card_wrap.list { display:none; }
  .search-tabs_wrap { margin-top:0 !important; margin-bottom:0; }
  .mapestate.is-map-hidden .property_card_wrap.list { width:90%; display:block; margin:40px auto 80px auto; }
  .mapestate.is-map-hidden .view-toggle #toggleMapBtn .inline_sp{display:inline-flex;align-items:center;gap:6px;}
  .mapestate.is-map-hidden .view-toggle #toggleMapBtn .inline_sp .icon{width:18px;height:18px;flex:0 0 auto;vertical-align:middle;}
  /* もともとの見た目 */
  .mapestate .view-toggle  {width:135px;height:48px;font-size:15px;background:#333333;border-radius:0;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:bold;position:absolute;z-index:999;left:0;}
  /* スクロールでくっついたとき */
  .mapestate .view-toggle.is-sticky {position: fixed;top: 0;left: 0;width:135px;  z-index: 9999;}

}

@media (min-width:768px) {
  .search-tabs_wrap .contents { justify-content:space-between; }
}

@media (min-width:768px) {
  .modal_contents { top:160px }
  .modal_area .modal_contents { left:2.5%; }
  .modal_school .modal_contents { left:12.5%; }
  .modal_type .modal_contents { left:22.5%; }
  .modal_joken .modal_contents { left:32.5%; }
  #sp-iw { margin:0 0 0 -210px; padding:20px; left:50%; bottom:50px; }
}



/* ===== ページネーション ===== */
.pagenation_wrap { width:100%; display:flex; flex-wrap:wrap; justify-content:space-between; align-items:last baseline; margin-top:5px; margin-bottom:20px; gap:10px; }
.pagenation_wrap div { width:100%; }

.pagenation_wrap div .pagination { width:100%; display:flex; gap:20px; justify-content:space-between; }
.pagenation_wrap div .pagination .active { color:#FC5942; }
.pagenation_wrap .pagenation_results { font-size:20px; font-weight:bold; color:#FC5942;}
.pagenation_wrap div span {display:inline;  }
.pagenation_wrap div .pagination span { letter-spacing:0em; display:inline; }
.pagenation_wrap div .pagination a:hover { text-decoration:underline; }
.page-item.disabled { color:#ccc; }
.pagenation_count { width:100%; padding:10px 0; background:#EDF5FD; border-radius:10px; text-align:center; }
.pagenation_count div { width:100%; display:block; }
.pagenation_count strong { color:#004680; font-size:18px; }
@media (min-width:768px){ 
  .pagenation_wrap div .pagination {
  justify-content: flex-start;
}
  }

@media (min-width:1024px){ 
  .pagenation_wrap { width:97%; margin-bottom:40px;gap:0; }
  .pagenation_wrap .pagenation_results { font-size:32px; font-weight:bold; color:#FC5942; padding:0 5px; letter-spacing:0.05em;} 
  .pagenation_wrap div .pagination { justify-content:flex-end; }
  .pagenation_wrap div .pagination span { letter-spacing:0.1em;  }
  .pagenation_wrap div { width:auto; display:inline-block; }
  .pagenation_wrap div:nth-child(1) { justify-content:flex-start;}
  .pagenation_wrap div:nth-child(2) { display:flex; justify-content:end;}
  .pagenation_wrap.bottom { margin-bottom:80px; }
  .pagenation_wrap div.pagenation_count { width:100%; background:none; text-align:left; }
  .pagenation_count strong { font-size:24px; }
}

.sort_wraps { margin-bottom:10px; display:flex; justify-content:space-between; align-items:center; }
.sort_wraps select { cursor:pointer; }
/* ===== ソート ===== */
.form-select select { min-width:0; width:100%; } 
.sort_wrap .form-select { width:100%; position:relative; display:inline-block; max-width:100%; }
.sort_wrap .form-select select{appearance:none;-webkit-appearance:none;-moz-appearance:none;min-width:100px;height:40px;padding:9px 36px 9px 12px;font-size:14px;line-height:1.2;color:#333;background:#fff;background-image:url(/img/buy/icon_sort.svg);background-repeat:no-repeat;background-size:16px;background-position:right 12px center;border:1px solid transparent;background-clip:padding-box;outline:none;box-shadow:none;border-radius:0;-webkit-tap-highlight-color:transparent;text-align:right;text-align-last:right;-moz-text-align-last:right;}
.sort_wrap { /*width:35%;*/ width:auto; float:right; }
@media (min-width:768px){ 
  .sort_wraps { justify-content: center;}
  .sort_wrap { width:auto; margin-right:3%; }
  .sort_wrap .form-select select { text-align-last:left; }
  .property_card_wrap.list h1 span { display:block; width:auto; margin:0 auto; overflow-wrap:anywhere; text-align: center;line-height: 2;}
  .mapestate.is-map-hidden .property_card_wrap.list h1 span { display:block; width:70%; margin:0 auto; overflow-wrap:anywhere;text-align: center; }
.property_card_wrap.list h1 { border-bottom:1px solid #DADADA; }

}

@media (min-width:1024px){
  .property_card_wrap.list h1 span {text-align: left;line-height: initial;}
  .sort_wraps {justify-content: flex-start;}
}
@media (min-width:1280px) {
.mapestate.is-map-hidden .property_card_wrap.list .list_inner { width: min(90%,1320px); margin:40px auto 0; }
.mapestate.is-map-hidden .property_card_wrap.list .list_inner .cards-grid { display:flex; gap:30px; flex-direction: row;}
.property_card_wrap.list h1 { margin:0 0 20px; padding-bottom:10px; font-size:28px; line-height:1.4; margin-bottom: 10px;}
.mapestate.is-map-hidden .property_card_wrap.list h1 span { width:80%; }
.sort_wrap { display:flex; justify-content:flex-end; align-items:center; gap:8px; float:right; }

}

.sort_wrap .form-select select:focus { outline:none; }
.sort_wrap .form-select select:disabled { opacity:.6; cursor:not-allowed; }


/* =========================
   固定問い合わせバー
   ========================= */
.contact_bar { width:100%; background:rgba(0,0,0,.7); color:#fff; position:fixed; bottom:0; z-index:999; display:none; }
.contact_bar .button { height:auto; }
.contact_bar_item { width:100%; display:flex; align-items:center; flex-wrap:wrap; justify-content:space-between;}
.contact_bar_item li:nth-child(1) { width:100%; }
.contact_bar_item li p.inline_sp { width:100%; text-align:center; font-size:18px; font-weight:bold; letter-spacing:0.05em; display:inline-block; }
.contact_bar_item li p strong { font-size:33px; }
.contact_bar .contents { padding:0; }
.button_register img { display:none; }
.button_login img { display:none; }
.contact_bar_item li.button { width:48%; margin:0; }
.contact_bar_item li.button .button { height:43px; margin-bottom:5px; }
.contact_bar_item .inline_pc { display:none; }
@media (min-width:890px) {
  .contact_bar { padding:20px 0; display:none; }
  .contact_bar .button { height:70px; }
  .contact_bar_item { gap:20px; justify-content: initial;}
  .contact_bar_item li:nth-child(1) { width:45%;  }
  .contact_bar_item li.button { width:25%; max-width:350px; }
  .contact_bar_item li p.inline_sp { display:none; }
  .contact_bar_item li p { width:auto; text-align:left; font-size:24px; font-weight:bold; letter-spacing:0.05em;}
  .contact_bar_item li p .kensu { font-size: clamp(20px, 5vw, 43px);font-weight:bold; color:#FC5942; font-weight:bold; letter-spacing:0.05em; margin:0 5px; }
  .button_register img { display:inline-block; }
  .button_login img { width:50px; display:block; }
  .contact_bar_item li.button .button { height:70px; margin-bottom:0; font-size:24px; }
  .contact_bar_item .button_register { width:100%; max-width:350px; }
  .contact_bar_item .button_login  { width:100%; max-width:350px; }
  .contact_bar_item .inline_pc { display:block; }


}

@media (min-width:768px){ 
  .sorry_contents { width:790px; }
  .sorry_contents .button { margin:0; }
  
}

.breadcrumb_list { display:none; }
@media (min-width:768px){ 
  .breadcrumb_list { position:absolute; z-index:999; top:100px; color:#fff; }
  /*.search-tabs_wrap { padding-top:40px; }*/
  .breadcrumb_list li::before { content: ""; display: inline-block; width:7px; height:7px; background: url('/img/common/icon_arrow_left.svg') no-repeat center / contain; margin-left:5px; }

}

.search-tabs .nanmaru_shiborikomi { display:none; }
.search-tabs { margin-left:0; }
@media (min-width: 768px) {
  .search-tabs { width: calc(100% - 170px); }
  .search-tabs_wrap .search-open { width:22%; }
  .search-tabs_forflex .input_bar { width:150px; }
}
@media (min-width: 1280px) {
  .search-tabs { width:590px; }
  .search-tabs_wrap .search-open { width:136px; }
  .search-tabs_forflex .input_bar { width:180px; }
}

/* スマホ固定お問合せnew */
.detail_footer_wrap{position: fixed;bottom: 0;display: flex;flex-direction: row;z-index: 10000;}
.detail_footer_contents{width: 25vw;display: flex;flex-direction: column;align-items: center;padding: 7px 0;}
.detail_footer_wrap .detail_footer_box {display: block;}
.detail_footer_wrap .detail_footer_box:first-child {background: #FC5942;}
.detail_footer_wrap .detail_footer_box:not(:first-child) {background: rgba(0,0,0,0.7);}
.detail_footer_wrap .detail_footer_box:nth-child(3) {border-right: 1px solid #fff;border-left: 1px solid #fff;}
.detail_footer_img{width: 40px;height: 30px;}
.detail_footer_img img{width: 100%;height: 100%;}
.detail_footer_text{font-size: 14px;font-weight: bold;color: white;}
@media (min-width:768px) {
  .detail_footer_wrap{display: none;}
}

/* スマホ固定お問合せnewで開くモーダル */
.modal__content { width:100%; height:100%; padding:0 5%; display:flex; flex-direction:column; justify-content:center;position:fixed; background:#fff; }
.modal__content .area_arrow_down { transform:rotate(-90deg); }
.modal__content .modal__close { top:20px; right:5%; }


/* 一覧のみのとき地図を消す */
.mapestate.is-map-hidden .map_wrapper,
html.pref-list .mapestate .map_wrapper {
  display: none;
}


@media (min-width:768px){ 
.list_inner{width: 90%;
  margin: 0 auto;}
}
@media (min-width:1024px){ 
.property_card_wrap.list .cards-grid{gap: 40px;display: flex;margin-bottom: 40px;flex-wrap: wrap;}
.property_card_wrap.list .cards-grid{grid-template-columns:none;}
.mapestate.is-map-hidden .property_card_wrap.list .property_card {width: calc(calc(100% - 80px) / 3)!important;}
.mapestate.is-map-hidden .property_card_wrap.list .bukken_photo{margin-bottom: 0px;}
}