@charset "utf-8";

/* スマホ（〜767px） */
@media (max-width: 767px) {
  /* スマホ専用スタイル */
}

/* タブレット（768px〜1024px） */
@media (min-width: 768px) and (max-width: 1024px) {
  /* タブレット専用スタイル */
}

/* PC（1025px〜） */
@media (min-width: 1025px) {
  /* PC専用スタイル */
}



body { overflow: visible; }

/*PCスマホ表示切り替え用→PCタブレット切り替えに変更*/
.br_pc {display: none !important;}
.pc {display: none;}
.sp {display: block;}
.inline_sp { display: inline; }
.inline_pc { display: none; }
.display_none { display: none; }
.no_wrap { white-space: nowrap; }
@media screen and ( min-width: 1025px ) {
    .sp {display: none !important;}
    .pc {display: block;}
    .br_sp {display: none !important;}
    .br_pc {display: inline !important;}
    .inline_sp { display: none; }
    .inline_pc { display: inline; }
}



/*---------- 上部のリンクリスト ----------*/
.buyList_link_list { display: none; flex-wrap: wrap; gap: 16px 20px; padding: 40px 0; font-size: 14px; line-height: 1em; }
@media (min-width: 1025px) {
  .buyList_link_list { display: flex; font-size: 16px; gap: 32px; padding: 60px 0 24px; }
}

/*---------- メイン部分全体 ----------*/
.buyList_main { padding-top: 40px; }
@media (min-width: 1025px) {
  .buyList_main { display: flex; gap: 40px; }
}

/*----- 検索部分 -----*/
.buyList_search.sp { position: fixed; bottom: 0; right: 0; left: 0; transform: translateZ(0); will-change: transform; -webkit-backface-visibility: hidden !important; backface-visibility: hidden; display: flex; justify-content: center; gap: 12px; padding: 16px 0; background: #00000070; z-index: 100; }
.buyList_search_sticky { position:relative; display: block; width:100%; }
.button.buyList_search_button_sp { width: 160px; }
.buyList_search_area_heading { font-size: 14px; }
.buyList_search_condition_heading { line-height: 1em; padding-bottom: 16px; }
.buyList_search_condition_item { display: flex; align-items: center; flex-wrap: wrap; gap: 12px 20px; line-height: 1em; }
.buyList_search_condition_item .selectStepperItem select { width: 110px; }
.buyList_search_condition_price { gap: 8px; }
.buyList_search_condition_row { display: flex; align-items: center; gap: 12px; }
.buyList_search_condition_row .buyList_search_condition_heading { padding-bottom: 0; }
.buyList_search_button_area { display:none; }
.buyList_search_button_area .results_count { font-size: 40px; }
.buyList_search_heading { display:none; }
.buyList_search_area_heading { display:none; }
.buyList_search_area { width:100%; padding:0 5%; display:flex; justify-content:space-between; align-items:center; background: #fff; font-size: 14px; }
.buyList_search_area_item { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; line-height:1.5; }
.buyList_search_hr { width:100%; margin:0 auto; background:none; border:none; border-bottom:1px solid #eee; }
.buyList_search_conditions { width:100%; padding:0 5%; display:flex; justify-content:space-between; align-items:center; background: #fff; font-size: 14px; }
.buyList_search_conditions_item { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; line-height:1.5; }
.buyList_search_sticky .button { width:auto; margin-left:10px; display:flex; align-items:center; border:none; white-space:nowrap; }
.buyList_search_sticky .button_arrow { width:20px; margin:0 0 0 5px; padding:2px; border:1px solid #529535; border-radius:50%; position:relative; }
@media (min-width: 768px) and (max-width: 1024px) {
  .buyList_search.sp { display: flex !important; }
  .modal_window_close_text.sp { display: inline-block !important; }
  .modal_window_close_icon.sp { display: block !important; }
}
@media (min-width: 1025px) {
  .buyList_search form { height: 100%; }
  .buyList_search_sticky { position: sticky; top: 120px; display: block; width: 320px; z-index: 100; }
  .buyList_search_sticky .button { display: block; width: 240px; height: 48px; margin: 8px auto 0; border: 1px solid #529535; }
  .buyList_search_sticky .button_text { padding: 9px 0; }
  .buyList_search_sticky .button_arrow { width: 48px; margin:0; padding: 16px; border:none; position:absolute; }
  .buyList_search_heading { display: flex; align-items: center; gap: 4px; }
  .buyList_search_heading .search_icon { width: 1em; aspect-ratio: 1 / 1; }
  .buyList_search_item_wrap { position: relative; max-height: calc(100vh - 180px); border: 1px solid #529535; background: #FFF; overflow-y: scroll; }
  .buyList_search_area { width:auto; padding:12px 5%; display:block; background:none; }
  .buyList_search_area::after { content: ''; display: block; width: 100%; height: 1px; margin-top: 24px; background: #529535; }
  .buyList_search_area_heading { display:block; font-size: 14px; }
  .buyList_search_area_item { display:block; padding: 12px 16px; border-radius: 4px; background: #F4F4F4; font-size: 14px; line-height:1.8; }
  .buyList_search_conditions { display: flex; flex-direction: column; gap: 20px; width:auto; padding:0 0 134px 0; margin: 24px; }
  .buyList_search_conditions .modal { display: flex; flex-direction: column; gap: 20px; position:relative; z-index:1;background:none; }
  .buyList_search_conditions .modal_window { width:100%; border:none; position:relative; }
  .buyList_search_conditions .modal_window_main { padding:0; }
  .buyList_search_conditions .modal_window_main .heading { display:none; }
  .buyList_search_conditions .modal_window_close { display:none; }
  .buyList_search_condition_heading { line-height: 1em; padding-bottom: 16px; }
  .buyList_search_condition_item { display: flex; align-items: center; flex-wrap: wrap; gap: 12px 20px; line-height: 1em; }
  .buyList_search_condition_item .selectStepperItem select { width: 120px; }
  .buyList_search_condition_price { gap: 4px; }
  .buyList_search_condition_row { display: flex; align-items: center; gap: 12px; }
  .buyList_search_condition_row .buyList_search_condition_heading { padding-bottom: 0; }
  .buyList_search_button_area { position: absolute; display: flex; flex-direction: column; bottom: 0; left: 0; right: 0; z-index:2; padding: 12px 24px 24px; background: #D4E6CDDD; border: 1px solid #529535; border-top: transparent; text-align: center; }
  .buyList_search_button_area .results_count_wrap { align-items: center; }
}

/*----- 一覧部分 -----*/
.card_property .checkboxItem { display: none; }
.buyList_card_pc { display: none; }
@media (min-width: 1025px) {
  .buyList_list { width: calc( 100% - 360px); padding-top: 30px; }
  .buyList_card_sp { width: calc(calc(100% - 30px) / 2) !important; }
  .buyList_card_pc.card { width: 100%; padding: 24px 40px; }
  .buyList_card_pc.card:hover { box-shadow: 0px 4px 8px 0px #00000020; transform: translateY(0); }
  .buyList_card_pc .card_inner { display: flex; flex-wrap: wrap; gap: 16px 32px; width: 100%; }
  .buyList_card_pc .favo { top: 24px; right: 40px; }
  .buyList_card_pc .card_title_wrap { display: flex; flex-direction: column; gap: 8px; width: 100%; }
  .buyList_card_pc .card_title_wrap .card_flag_wrap { position: static; gap: 8px; }
  .buyList_card_pc .card_img_wrap { display: flex; width: 320px; margin-bottom: 0; }
  .buyList_card_pc .card_text_wrap { display: flex; flex-direction: column; justify-content: space-between; width: calc(100% - 352px); }
  .buyList_card_pc .card_text_wrap .card_price { margin-bottom: 12px; }
  .buyList_card_pc .card_text_wrap .card_info_wrap { display: flex; flex-direction: column; padding: 16px 18px; background: #F4F4F4; }
  .buyList_card_pc .card_text_wrap .card_info_wrap .card_info { letter-spacing: 0.08em; }
  .buyList_card_pc .card_text_wrap .button { width: 240px; height: 48px; }
  .buyList_card_pc .card_text_wrap .button_text { padding: 9px 0; }
  .buyList_card_pc .card_text_wrap .button_arrow { width: 48px; padding: 16px; }
  .buyList_card_pc .card_text_wrap .card_symbol { width: auto; }
}
@media (min-width: 1300px) {
  .buyList_card_sp { display: none; }
  .buyList_card_pc { display: block; }
}

/* 0件で選択不可の見た目 */
.checkboxItem.is-zero,
.school-name.is-zero,
.town-name.is-zero { opacity: 0.45; }

/* pointer を出さない・クリックも無効（label側） */
.checkboxItem.is-zero,
.school-name.is-zero,
.town-name.is-zero { cursor: default !important; pointer-events: none; }

/* input 自体も触れないように（念のため） */
.checkboxItem.is-zero input,
.school-name.is-zero input,
.town-name.is-zero input { pointer-events: none; }

/* 一覧の上下 */
.results_count_wrap { width: 100%; letter-spacing: 0.08em; line-height: 1.5em; }
.results_count_wrap .results_count { padding: 0 0.1em; line-height: 1em; }
.pagination { display: flex; gap: 20px; }
.pagination .page-link_none { opacity: 0.4; cursor: not-allowed; pointer-events: none; }
.buyList_list_top_left { display: flex; justify-content: space-between; padding-bottom: 20px; }
.buyList_list_top_left .results_count_wrap .results_count { font-size: 32px; }
.buyList_list_top_left .selectPulldownItem { font-size: 14px; }
.buyList_list_top_left .selectPulldownItem select { width: 150px; }
.buyList_list_bottom_wrap { display: flex; flex-direction: column; align-items: center; gap: 20px; padding-top: 40px; }
.buyList_list_bottom_wrap.pc { display: none; }
.buyList_list_bottom_wrap .results_count_wrap { text-align: center; }
.buyList_list_bottom_wrap .results_count_wrap .results_count { font-size: 40px; }
@media (min-width: 768px) {
  .buyList_list_bottom_wrap.sp { display: flex !important; }
}
@media (min-width: 1025px) {
  .buyList_list_top_wrap { display: flex; justify-content: space-between; }
  .buyList_list_top_left { justify-content: left; gap: 24px; }
  .buyList_list_top_left .results_count_wrap { font-size: 18px; }
  .buyList_list_top_left .inline_pc { line-height: 35px; margin-right: -20px; white-space: nowrap; }
  .buyList_list_top_left .selectPulldownItem { font-size: 16px !important; }
  .buyList_list_top_left .selectPulldownItem select { width: 170px; }
  .buyList_list_top_right .pagination { gap: 8px; }
  .buyList_list_top_right .pagination .symbol_link_text { display: none; }
  .buyList_list_top_right .pagination .page-info::after { content: 'ページ'; font-size: 13px; }
  .buyList_list_bottom_wrap.sp { display: none !important; }
  .buyList_list_bottom_wrap.pc { display: flex; padding-top: 80px; }
}
@media (min-width: 1300px) {
  .buyList_list_top_right .pagination { gap: 20px; }
  .buyList_list_top_right .pagination .symbol_link_text { display: inline; }
  .buyList_list_top_right .pagination .page-info::after { display: none; }
}

/*----- モーダル -----*/
.modal { display:none; position: fixed; top: 0; bottom: 0; right: 0; left: 0; background: #00000040; z-index: 1100; }
.modal_window { position: absolute; top: 0; bottom: 0; right: 0; left: 0; display: flex; flex-direction: column; width: min(90vw, 1080px); /*max-height: 80vh;*/ height: fit-content; margin: auto; border: 1px solid #529535; background: rgba(255, 255, 255, 0.95); }
.modal_window_main { position: relative; display: flex; flex-direction: column; padding: 16px; padding-bottom: 12px; }
.modal_window_main .heading { padding-bottom: 8px; margin-bottom: 0; }
.modal_window_main .heading h2 { font-size: 18px; }
.modal_window_main_form { display: flex; flex-direction: column; gap: 16px; max-height: calc(83vh - 50px); }
.modal_window_main_form .search_wrap { display:flex; flex-direction: column; gap:16px; overflow-y: scroll; }
.conditions_modal .modal_window_main_form .search_wrap ul { display: flex; gap: 16px; }
.modal_window_main_form .search_wrap ul li { display: flex; flex-direction: column; gap: 16px; }
.conditions_modal .modal_window_main_form .search_wrap ul li ul { flex-direction: row; }
.modal_window_main_form .buyList_search_condition_heading { padding-bottom: 8px; }
.modal_window_main_form .buyList_search_condition_heading.nopadding { padding-bottom: 0; }
.buyList_search_condition.margin_top { padding-top: 8px; }
.modal_window_main_form .results_wrap { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 0 16px; }
.modal_window_main_form .results_count_wrap { text-align: center; }
.modal_window_main_form .results_count { font-size: 40px; }
.modal_window_main_form .button { margin-top: 16px;}
.modal_window_main_form .button#showTownSelect { margin-top: 8px; }
.modal_window_close { display: flex; justify-content: center; align-items: center; height: 48px; border-top: 1px solid #529535; }
/* .modal_window_close_text { padding: 9px 0; } */
/* .modal_window_close_icon { position: absolute; bottom: 0; right: 0; width: 52px; padding: 16px; transform: rotate(45deg); } */
.modal_window_close { position: absolute; top: 0; right: 0; width: 70px; height: 70px; border: none; }
.modal_window_close_line { padding: 19px 6px; }
.modal_window_close_line::before, .modal_window_close_line::after { content: ''; display: block; width: 28px; height: 1px; background: #343330; }
.modal_window_close_line::before { transform: rotate(45deg); transform-origin: 50%; }
.modal_window_close_line::after { transform: rotate(-45deg); transform-origin: 50%; }
@media (min-width: 768px) {
  .modal_window_main { padding: 40px 60px; }
  .modal_window_main .heading h2 { font-size: 24px; }
  .buyList_search_conditions .modal_window_main_form { max-height:none; }
  .buyList_search_conditions .modal_window_main_form .search_wrap { display:flex; gap:20px; flex-direction:column; overflow-y:hidden; }
  .buyList_search_conditions .modal_window_main_form .results_wrap { display:none; }
  /*
  .conditions_modal .modal_window_main_form .search_wrap ul li { flex-direction: row; gap: 40px; padding: 12px 0 28px; border-bottom: 1px solid #CECECE; }
  .conditions_modal .modal_window_main_form .search_wrap ul li ul li { border: none; padding: 8px 0; }
  .conditions_modal .modal_window_main_form .buyList_search_condition { display: flex; align-items: center; gap: 12px; }
  .conditions_modal .modal_window_main_form .buyList_search_condition_heading { padding-bottom: 0; }
  */
  .modal_window_main_form .button#showTownSelect { margin-top: 16px; }
  .modal_window_close { width: 80px; height: 80px; }
  .modal_window_close_line { padding: 19px 0; }
  .modal_window_close_line::before, .modal_window_close_line::after { width: 40px; }
}
@media (max-width: 767px) {
  #backToCitySelect { top: 75px; }
  #showTownSelect.button { width: -moz-available; margin: 0 -16px; border-radius: 0; border: none; border-top: 1px solid #529535; }
  .modal_window { background: #FFF; }
  .modal_bottom { display: flex; align-items: center; justify-content: center; min-width: min(90vw, 1080px); margin: 0 -16px -12px; padding: 12px 16px; background-color: #F1F7EF; border: 1px solid #529535; border-bottom: none; }
  .results_wrap.modal_bottom { transform: translateX(-0.8px)}
  .modal_bottom .button { flex: 1; max-width: 200px; margin-top: 0; }
  .modal_bottom .button .button_arrow { display: none; }
  .modal_window_main_form .results_count_wrap { flex: 1; justify-content: center; max-width: 200px; height: 48px; font-size: 14px; }
  .modal_window_main_form .results_count_wrap .results_count { font-size: 32px; line-height: 48px; }
}



/*========== 駅名リスト ==========*/
.line-block{border-bottom: 1px solid #CECECE;padding: 12px 0;}
.line-block:first-child { padding-top: 0; }
.line-block:last-child { border: none;}
.line_name{font-size: 18px;font-weight: bold;}
.line-block ul{ display: flex; flex-wrap: wrap; margin-top: 12px; gap: 12px 10px; }
.line-block li { min-width: calc(50% - 3px); }
@media (min-width:1025px) {
    .line-block{ padding: 20px 0 ; }
    .line-block ul{flex-direction: row; } 
    .line-block li {width: calc((100% - 50px)/ 6 ); min-width: auto;}
}
/*========== 学校名リスト ==========*/
.school-block { border-bottom: 1px solid #CECECE; padding: 12px 0;}
.school-block:first-child { padding-top: 0; }
.school-block:last-child { border: none;}
.school-title { font-size: 18px; font-weight: bold; }
.school-name_wrap { display: flex; gap: 16px 10px; flex-wrap: wrap; margin-top: 12px; }
.school-name_wrap .school-name { display: flex; align-items: center; gap: 8px; min-width: calc(50% - 3px); cursor: pointer; }
.school-name_wrap .school-name input { appearance: none; position: relative; width: 22px; height: 22px; aspect-ratio: 1 / 1; border: 1px solid #343330; border-radius: 50%; cursor: pointer; }
.school-name_wrap .school-name input:checked { border: 1px solid #529535; }
.school-name_wrap .school-name input:checked::after { content: ""; position: absolute; inset: 0; width: 12px; aspect-ratio: 1 / 1; margin: auto; border-radius: 50%; background-color: #529535; }

.school-pref-name{font-size: 24px;font-weight: bold;margin-top: 40px;}
.school-line-block{padding-top: 0;}
.school-line-block ul{flex-direction: row;}
.school-line-block li{width: calc((100% - 10px)/ 2 );}
@media (min-width: 768px) and (max-width: 1024px) {
  .school-name_wrap .school-name { min-width: calc(50% - 5px); }
}
@media (min-width:1025px) {
  .school-block { padding: 20px 0 ; }
  .school-name_wrap .school-name { min-width: auto; }
  .school-line-block li{width: calc((100% - 40px)/ 5 );}
  .school-name_wrap { flex-direction: row; }
}
/*========== 市リスト ==========*/
.town-block { border-bottom: 1px solid #CECECE; padding: 12px 0;}
.town-block:first-child { padding-top: 0; }
.town-block:last-child { border: none;}
.town-city {font-size: 18px; font-weight: bold; }
.town-wrap { display: flex; gap: 0; flex-wrap: wrap; margin-top: 12px; }
.town-name { display: flex; align-items: center; gap: 20px; width: 100%; background: rgb(242, 241, 241); border-bottom: 1px solid #CECECE; }
.town-name:first-child { border-top: 1px solid #CECECE; }
.town-name input { margin-left: 7%; }
.town-name span { flex-grow: 1; padding: 20px; padding-left: 7%; background: #FFF; }
.city-line-block{padding-top: 0;}
.city-line-block ul{flex-direction: row;}
.city-line-block li{width: 100%;}
@media (min-width:768px) {
.town-wrap { gap: 16px 10px; }
  .town-name { display: block; width: auto; min-width: auto; background: transparent; border: none; }
  .town-name:first-child { border: none; }
  .town-name input { margin-right: 8px; margin-left: 0; }
  .town-name span { padding: 0; background: transparent; }
  .city-line-block li{width: calc((100% - 40px)/ 5 );}
}



.checkboxItem:not(:last-of-type) { margin-right: 0; }
.station-checkbox, .school-checkbox { margin-right: 4px; }
@media (min-width: 768px) {
  .line-block li { width: calc((100% - 30px)/ 4 ); }
  .school-name { width: calc((100% - 30px)/ 4 ); }
  .town-name { width: calc((100% - 30px)/ 4 ); }
}
  
#backToCitySelect { position: absolute; top: 76px; right: 24px; z-index: 10; }
#backToCitySelect a { display: flex; align-items: center; gap: 10px; }
@media (min-width: 1025px) {
  #backToCitySelect { top: 44px; right: 100px; }
}





.buyList_search_item_wrap {
  border:1px solid #529535;
  /*IE(Internet Explorer)・Microsoft Edgeへの対応*/
  -ms-overflow-style: none;
  /*Firefoxへの対応*/
  scrollbar-width: none;
  margin-bottom:20px;
}
/*Google Chrome、Safariへの対応*/
.buyList_search_item_wrap::-webkit-scrollbar{
  display: none;
}

