@charset "utf-8";
#SEARCH_MENU_SWITCH,
#SEARCH_MENU_SWITCH_BUTTON{
    display: none;
}
#SEARCH_MENU{
    width : 300px;
}
#SEARCH_LIST{
    width: calc(100% - 300px);
    padding-left: 50px;
}
.freeword_box {
	border: 1px solid #C3002F;
    border-radius: 0px;
    padding: 5px;
}
.go_to_top{
	background-color : #333333;
	color : #ffffff;
	border-radius : 80px;
	font-size : 0.8em;
	display : block;
	width : 80px;
    padding : 20px 0px;
	text-align : center;
	line-height : 1.5em;
	position : fixed;
	right : 20px;
	bottom : 20px;
	z-index : 500;
}
.go_to_top:hover{
	opacity : 0.8;
}
.go_to_top img{
	transform : rotateZ(-90deg);
}
/* ----------------------------------------------------------------------------- */
/* 物件種別の選択 */
/* ----------------------------------------------------------------------------- */

#SELECT_CATEGORY_WRAPPER{
	position : fixed;
	top : 0;
	left : 0;
	width : 100%;
	height : 100%;
	background: rgba(0,0,0,0.5);
	z-index: 1000;
}
#SELECT_CATEGORY{
	background : #fff;
	padding : 50px;
	position : absolute;
	top: 50%;
	left: 50%;
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	width : calc(100% - 40px);
	max-width : 1200px;
	max-height : calc(100% - 100px);
}
#SELECT_CATEGORY .estate_category_tile{
	margin : 10px 20px;
	cursor : pointer;
}
/* ----------------------------------------------------------------------------- */
/* 検索条件 */
/* ----------------------------------------------------------------------------- */
#SEARCH_CONDITIONS_PRESENT li{
	border-bottom : 1px dotted #cccccc;
	padding : 5px 0px;
}
#SEARCH_CONDITIONS{
	position : relative;
	padding : 30px;
}

#SEARCH_CONDITIONS h2{
	position : absolute;
	top : -20px;
	left : 50px;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-align-items: center;
	/* IE10 */
	-ms-align-items: center;
	/* IE10 */
	align-items: center;
	width : calc(100% - 100px);
}

#SEARCH_CONDITIONS h2 span{
	background-color : rgba(255,255,255,0.5);
	padding : 0px 10px;
}
#SEARCH_CONDITIONS h2:after{
	border: 1px solid #C40030;
	content : "";
	display : block;
	height : 1px;
	flex-grow : 1;
	margin-left : 20px;
}
#SEARCH_CONDITIONS_MENU h3{
	border-left : 5px solid #C3002F;
	padding-left : 10px;
}
#SEARCH_CONDITIONS_MENU{
	background-color : rgba(0,0,0,0.5);
	width : 100%;
	position : relative;
	z-index : 5000;
	height : 100%;
	position : fixed;
	top : 0;
	left : 0;
}
#SEARCH_CONDITIONS_MENU > div{
	width : 90%;
	background-color : #ffffff;
	margin : 100px auto;
	padding : 20px;
	height : 70%;
	overflow : auto;
}
#SEARCH_CONDITIONS_MENU > div > div{
	max-height : 10000000px;
}
.search_table{
	width : 100%;
}
.search_table p{
	font-size : 1.2em;
	padding : 10px 20px;
	background-color : #F2F2F2;
	color : #C3002F;
	margin : 0px 0px 20px;
}
.search_menu_content{
    margin-bottom : 30px;
}
/*
.search_table div{
	margin : 30px 10px 50px 10px;
}
*/
.select_mini{
	width: calc((100% - 2em) / 2);
}
select{
	border : 1px solid #C3002F;
	border-radius : 0px;
	padding : 5px;
	color : #3a3a3a;
}
#SEARCH_CONDITIONS_MENU > div#SEARCH_BTN{
	text-align : center;
	position : absolute;
	top : 70%;
	left : 0;
	background-color : #7f7f7f;
	z-index : 2;
	height : 100px;
	width : 100%;
	overflow : hidden;
}
.search_menu{
	display : none;
}
#SEARCH_LINE div{
	margin : 0px;
}
#SEARCH_LINE div.search_line{
	padding : 10px;
	background-color : #fff6f8;
	margin-bottom : 2px;
}
.search_line label{
	margin : 0px;
}
#SEARCH_LINE{
	height : 200px;
	overflow : auto;
	width : 90%;
	margin : auto;
}
.button_style img{
	margin-right : 5px;
}
#FLOATING_SEARCH_BUTTON{
	position: fixed;
    bottom: 0;
    background: rgba(0,0,0,0.4);
    left: 0;
    width: 100%;
    z-index: 100;
    padding: 10px;
}
#FLOATING_SEARCH_BUTTON .button_style{
	vertical-align: middle;
	cursor: pointer;
}
/* ----------------------------------------------------------------------------- */
/* 物件リスト */
/* ----------------------------------------------------------------------------- */
.search_estate_box{
	border-top : 2px solid #F2F2F2;
	position : relative;
}
.search_estate_box:before{
	content : "";
	height : 2px;
	border-top : 2px solid #C40030;
	display : block;
	position : absolute;
	top : -2px;
	left : 0px;
	width : 50px;
}
.search_estate_box + div{
	width : 100%;
}
.search_estate_title span{
	margin-left : 10px;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-align-items: center;
	/* IE10 */
	-ms-align-items: center;
	/* IE10 */
	align-items: center;
}
.search_estate_title span.bg_color_red,
.search_estate_title span.bg_color_green,
.search_estate_title span.bd_color_red{
	padding : 5px;
}
.search_estate_title img{
	height : 25px;
	margin-right : 10px;
}
.search_estate_photo1{
	width : 35%;
	position : relative;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-align-items: center;
	/* IE10 */
	-ms-align-items: center;
	/* IE10 */
	align-items: center;
	-webkit-justify-content: center;
	-ms-justify-content: center;
	/* IE10 */
	justify-content: center;
}
.search_estate_photo2{
	width : 15%;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	flex-direction : column;
	justify-content : space-between;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}
.search_estate_photo2 span{
	height : 110px;
	overflow : hidden;
	display : block;
	text-align : center;
}
.search_estate_photo1 span{
	display: block;
	width: 100%;
	text-align: center;
}
.search_estate_photo1 img{
	max-height : 300px;
}
.search_estate_photo2 img{
	max-height : 100%;
}
.search_estate_syosai{
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	justify-content : center;
	align-items : center;
	width : 100%;
}
.search_estate_gaiyou{
	width : 30%;
}
.search_estate_gaiyou table tr{
	border-bottom : 1px dotted #999999;
	padding-bottom : 5px;
}
.search_estate_gaiyou table th{
	font-weight : bold;
	margin-right : 10px;
	padding : 10px;
	width : 90px;
}
.search_estate_gaiyou table th,
.search_estate_gaiyou table td{
	font-size: 0.875rem;
}
.search_estate_contact{
	width : 160px;
}
.search_estate_title{
    margin-bottom : 20px;
    margin-top : 10px;
}

/* ----------------------------------------------------------------------------- */
/* モザイク物件 */
/* ----------------------------------------------------------------------------- */
.search_member_text{
	width : 150px;
	height : 30px;
	background-repeat : no-repeat;
	background-size: 80%;
}
.search_estate_gaiyou .search_member_text{
	float : left;
}
.search_estate_title .search_member_text{
	float : left;
	width : 250px;
}
.search_member_btn{
	width : 100%;
	position : relative;
}
.search_member_btn:hover{
	opacity : 0.8;
}
.search_member_btn_left{
	background-color : #C3002F;
	background-image : url(../img/bg_shine.png);
	background-repeat : no-repeat;
	background-position : top right;
	background-size : 25%;
	padding : 5px;
	width : calc(100% /2);
	padding : 30px 10px 70px 10px;
	text-shadow : 1px 1px 3px #c3002f;
}
.search_member_btn_right{
	background-color : #f2f2f2;
	width : calc(100% /2);
	padding : 15px 20px;
	z-index : 1;
}
.search_member_btn_right img{
	height : 180px;
	position : absolute;
	top : -35px;
	right : 5px;
	z-index : -1;
}
.search_member_btn_left span,
.search_member_btn_right span{
	display : block;
}
.search_member_btn .button_style{
	position : absolute;
	bottom : 10px;
	right : 0;
	left : 0;
	margin : auto;
	width: calc(100% - 20px);
    max-width: 450px;
	z-index : 10;
}
.search_member_div{
	width : 65%;
}
.member_tile .search_estate_title{
	margin : 10px 0;
}
.search_member_btn a{
	display : block;
	width : 100%;
	height : 100%;
	position : absolute;
	z-index: 100;
}
.search_member_photo_text{
	position : absolute;
	top : calc(50% / 2 - 1px);
	bottom : 0;
	right : 0;
	left : 0;
	margin : auto;
	text-align : center;
	text-shadow : 0px 0px 6px #000000;
}
.search_member_photo_text a{
	display : block;
}
.bg_color_block{
	background-color : #000000;
}
/* popup */
#POPUP {
    position: fixed;
    top: calc(50% + 35px);
    left: 50%;
	width: 400px;
	max-width : calc(100% - 40px);
    background: #fff;
    z-index: 200;
    box-shadow: 0 0 10px rgba(0,0,0,0.5);
    border-radius: 10px;
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
	-webkit-animation: rolldown 1s ease-in forwards;
	animation: rolldown 1s ease-in forwards;
}
#POPUP_WRAPPER{
	position: fixed;
	width: 100%;
	height: 100%;
	background-color: rgba(0,0,0,0.5);
	z-index: 100;
	top: 0;
    left: 0;
	-webkit-animation: fadein 0.5s ease-in forwards;
	animation: fadein 0.5s ease-in forwards;
}
@-webkit-keyframes fadein {
	0%{
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}
@keyframes fadein {
	0%{
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}
@-webkit-keyframes rolldown {
	0%{
		top: -50%;
	}
	50%{
		top: -50%;
	}
	100% {
		top: calc(50% + 35px);
	}
}
@keyframes rolldown {
	0%{
		top: -50%;
	}
	50%{
		top: -50%;
	}
	100% {
		top: calc(50% + 35px);
	}
}
#POPUP_CLOSE{
	position: absolute;
    line-height: 1em;
    padding: 10px;
    border-radius: 50%;
    background-color: #000000;
    color: #fff;
    top: -20px;
    right: -20px;
    cursor: pointer;
	border: 2px #fff solid;
	z-index: 1;
}
#POPUP_IMAGE_WRAPPER {
    height: 200px;
    width: 100%;
    position: relative;
    background: #F2F2F2;
    border-radius: 10px 10px 0px 0px;
}
.popup_present_img{
	position : absolute;
	height : calc(100% + 40px);
	bottom : 10px;
	left : 0;
	right : 0;
	margin: auto;
}
#POPUP_TEXT_WRAPPER {
	padding : 20px;
	text-align: center;
}
#POPUP_TEXT_WRAPPER p{
	line-height: 1.1em;
}
#POPUP_MEMBER_ENTRY{
	text-align: center;
	display: block;
	background: #C3002F;
	color: #fff;
	padding: 15px;
	width: 50%;
    border-bottom-left-radius: 10px;
}
#POPUP_LOGIN{
	text-align: center;
	display: block;
	background: #000000;
	color: #fff;
	padding: 15px;
	width: 50%;
    border-bottom-right-radius: 10px;
}
#BANNER_LIST.search_banner{
	margin-top: 10px;
}
.member_merit{
	padding : 10px;
	background : #fff0f3;
}
.member_merit_title{
	border-bottom: 2px solid #c40030;
    margin-bottom: 10px;
    color: #c40030;
}
#ESTATE_ALL_COUNT{
	font-size : 1.7rem;
	color: #C3002F;
	font-weight: bold;
	letter-spacing: 0;
}
.estate_count_annotation{
	font-size : 0.75rem;
	color: #333333;
	margin-left: 0.5em;
}
#SEARCH_LIST_HEADER{
	position: sticky;
    top: 70px;
    background: #fff;
    z-index: 100;
    padding: 10px 0;
}
#SEARCH_MEMBER_ENTRY_CTA{
	border : 2px solid #C3002F;
}
#SEARCH_MEMBER_ENTRY_TITLE{
	background : #C3002F;
	color: #fff;
	background-image: url(../img/bg_shine.png);
	background-size: auto 80px;
	background-repeat: no-repeat;
	background-position: top right;
	padding : 10px 15px;
	padding-right: 60px;
}
#SEARCH_MEMBER_ENTRY_TITLE em{
	font-size : 1.5em;
	letter-spacing: 0;
	margin : 0 0.1em;
}
#SEARCH_MEMBER_ENTRY_CONTENTS{
	padding : 10px 15px;
}
#SEARCH_MEMBER_ENTRY_PRESENT{
	position : relative;
	padding : 10px 0;
	padding-right: 160px;
}
#SEARCH_MEMBER_ENTRY_PRESENT img{
	width : 130px;
	position : absolute;
	bottom : 0px;
	right: 10px;
}
#SEARCH_MEMBER_ENTRY_PRESENT_ACCENT{
	padding : 0.2em 0.6em;
	background : #C3002F;
	color : #ffffff;
	margin : 0.2em 0;
	margin-right: 0.5em;
}
.button_wrapper .button_style{
	margin : 2px;
}
.member_estate_img{
	position: relative;
}
.member_estate_img::before{
	content : "";
	position: absolute;
	top : 0;
	left: 0;
	display: block;
	width : 100%;
	height: 100%;
	background-image: url(../img/member_estate_img.png);
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
}
/* ----------------------------------------------------------------------------- */
/* 1200px以下                                                                    */
/* ----------------------------------------------------------------------------- */
@media screen and (max-width: 1200px){
    #SEARCH_MENU{
		display : none;
		position : fixed;
		width : 100%;
		height : 50%;
		bottom : 0px;
		left : 0;
		right : 0;
		margin: auto;
		background : rgba(100,100,100,0.8);
		z-index: 101;
		padding : 20px;
		overflow-y : scroll;
	}
	#SEARCH_MENU .contents_title{
		color : #fff;
	}
	.search_menu_content{
		background: #fff;
        padding : 20px;
        margin-bottom : 20px;
    }
    .search_table p{
        margin-top : 0;
    }
	#SEARCH_MENU_SWITCH_BUTTON{
		display: inline-block;
		position : fixed;
		bottom : 10px;
		left : 0;
		right: 0;
		margin: auto;
		z-index: 12;
		overflow-y: auto;
		width : calc(100% - 20px);
		border : 2px solid #ffffff;
	}
	#SEARCH_MENU_SWITCH:checked + #SEARCH_MENU_SWITCH_BUTTON{
		bottom : 50%;
		width : 100%;
		border-width: 0;
	}
	#SEARCH_MENU_SWITCH:checked + #SEARCH_MENU_SWITCH_BUTTON + #SEARCH_MENU{
		display: block;
	}
	#SEARCH_LIST{
		width : 100%;
		padding : 0;
    }
	#FLOATING_SEARCH_BUTTON{
		position: static;
		background: none;
		padding: 0;
    }
    #SEARCH_MENU h2{
        color: #ffffff;
    }
}
/* ----------------------------------------------------------------------------- */
/* 900px以下                                                                    */
/* ----------------------------------------------------------------------------- */
@media screen and (max-width: 900px){
	/* 通常物件 */ 
	.search_estate_syosai{
		position : relative;
		justify-content: space-around;
	}
	
	.search_estate_contact{
		position : absolute;
		top : calc(100% + 15px);
		right : 0;
		width : 52%;
		text-align: right;
	}
	.search_estate_contact a{
		margin : 0;
		margin-right : 5px;
		padding : 10px 20px;
		font-size : 14px;
		vertical-align: middle;
	}
	.search_estate_comment{
		margin-top : 80px;
	}
	.search_estate_box{
		padding : 20px 0px;
	}
	/* 会員バナー */ 
	.search_member_div table{
		position : absolute;
		left : 0;
		top : 200px;
	}
	.search_member_div{
		margin : 0px;
	}
	.search_member_btn{
		flex-direction : column;
		margin : 0px;
	}
	.search_member_btn_left{
		padding : 10px 85px 10px 10px;
		width : 100%;
	}
	.search_member_btn_left span{
		line-height: 1.5em;
	}
	.search_member_btn_right {
		font-size: 1.5em;
		padding : 10px 10px 60px;
		width : 100%;
	}
	.search_member_btn_right br{
		display: none;
	}
	.search_member_btn_right img{
		height : 110px;
		top : 10px;
	}
	.search_member_btn .button_style{
		width : calc(100% - 20px);
	}
	.search_estate_title .search_member_text{
		margin-bottom : 30px;
	}
}

/* ----------------------------------------------------------------------------- */
/* 650px以下                                                                    */
/* ----------------------------------------------------------------------------- */
@media screen and (max-width: 650px){
	/* 通常物件 */
	.search_estate_box{
		width : 100%;
	} 
	.icon_list{
		order : 1;
	}
	.sale_name{
		order : 2;
	}
	.search_estate_title span{
		margin : 0px 10px 5px 0px;
	}
	.search_estate_syosai{
		display : block;
	}
	.search_estate_syosai > div{
		width : 100%;
		position : relative;
		top : 0;
	}
	.search_estate_contact,
	.search_estate_photo2 {
		flex-direction : unset;
		width: 100%;
		position: relative;
		display: flex;
		justify-content: space-around;
		align-items: center;
		align-content: center;
		flex-direction: unset;
		margin-top : 10px;
	}
	.search_estate_gaiyou{
		margin-top : 0px;
	}
	.search_estate_gaiyou table{
		width : 90%;
		margin : 20px auto;
	}
	.search_estate_contact{
		margin-top : 20px;
	}
	.search_estate_contact a,
	.search_estate_contact p{
		width : calc(100% / 2 - 10px);
	}
	.search_estate_contact p span{
		text-align : center;
		padding-left : 20px;
		float: none;
	}
	.search_estate_comment{
		margin-top : 20px;
	}
	/* 会員バナー */ 
	.search_member_div table{
		position : relative;
		margin : 20px 0px;
		top : 0;
	}
	.search_member_btn_left{
		padding : 10px 50px 10px 10px;
	}
	.search_member_btn_right br{
		display: inline;
	}
	.select_mini{
		width : calc(50% - 20px);
	}
	.favorite_entry{
		width: 110px;
		top: -15px;
    	left: 10px;
	}
	.search_estate_contact a.favo_banner{
		width : 110px;
	}
	.search_estate_title .search_member_text{
		width : 300px;
		margin : 10px 0px;
	}
	#SELECT_CATEGORY .estate_category_tile{
		margin: 10px 10px;
	}
	#SELECT_CATEGORY .estate_category_icon{
		width: 80px;
	    height: 80px;
	}
	#POPUP_IMAGE_WRAPPER{
		height : 150px;
    }
    #SELECT_CATEGORY{
        padding : 20px;
    }
	#SEARCH_LIST_HEADER{
		top: 50px;
		height : 50px;
	}
	.estate_count_annotation {
		position: absolute;
		bottom: 0;
		left: 0;
	}
	#SORT {
		position: absolute;
		right: 0;
		top: 0;
	}
	#SEARCH_MEMBER_ENTRY_PRESENT img{
		width : 100px;
	}
	#SEARCH_MEMBER_ENTRY_PRESENT{
		padding-right: 120px;
	}
}
/* ----------------------------------------------------------------------------- */
/* 450px以下                                                                    */
/* ----------------------------------------------------------------------------- */
@media screen and (max-width: 450px){
	.search_member_btn .button_style{
		max-width: 350px;
	}
	.search_member_btn_right {
		padding: 10px 10px 80px;
	}
	#SEARCH_MEMBER_ENTRY_PRESENT{
		padding-top : 0;
		padding-bottom : 0;
	}
	#SEARCH_MEMBER_ENTRY_TITLE{
		padding-left: 10px;
	}
	#SEARCH_MEMBER_ENTRY_CONTENTS{
		padding : 10px;
	}
}
/* ----------------------------------------------------------------------------- */
/* 380px以下                                                                    */
/* ----------------------------------------------------------------------------- */
@media screen and (max-width: 380px){
	#SEARCH_LIST_HEADER{
		height : auto;
	}
	.estate_count_annotation {
		position: static;
	}
	#SORT {
		position: static;
		width: 100%;
	}
	#SEARCH_MEMBER_ENTRY_PRESENT img{
		width : 80px;
	}
	#SEARCH_MEMBER_ENTRY_PRESENT{
		padding-right: 100px;
	}
}
/* ----------------------------------------------------------------------------- */
/* 360px以下                                                                    */
/* ----------------------------------------------------------------------------- */
@media screen and (max-width: 360px){
	.search_estate_title span.bd_color_red{
		padding : 2px;
	}
}
/* ----------------------------------------------------------------------------- */
/* 高さ540px以下                                                                    */
/* ----------------------------------------------------------------------------- */
@media screen and (max-height: 540px){
	#POPUP_IMAGE_WRAPPER{
		height: 100px;
	}
}
/* ----------------------------------------------------------------------------- */
/* 高さ400px以下                                                                    */
/* ----------------------------------------------------------------------------- */
@media screen and (max-height: 400px){
	#POPUP_IMAGE_WRAPPER{
		display: none;
	}
}