@charset "utf-8";
/* ▼フォント系 */
* {
	font-family: 'メイリオ', Meiryo, sans-serif;
	font-size: 16px;
	letter-spacing: 0.1em;
	-webkit-font-feature-settings: "palt";
	font-feature-settings: "palt";
    line-height: 1.6em;
    font-weight: 400;
	color: #655d5b;
	-webkit-text-size-adjust: 100%;
}

/* リンク系 */
.text_link {
	color: #1e88a8;
	margin: 0 0.2em;
	cursor: pointer;
	display : inline-block;
}
.text_link:hover {
	text-decoration: underline;
}
/* パンくずリスト */
#BREADCRUMB {
	display: block;
	margin-top: 10px;
}

#BREADCRUMB li {
	display: inline-block;
	font-size: 0.875rem;
	color: #999999;
}

#BREADCRUMB li a:hover {
	color: #1e88a8;
}

#BREADCRUMB li:not(:last-of-type)::after {
	content: ">";
	font-size: 0.85rem;
	vertical-align: middle;
	margin-left: 0.5em;
}

/* ▼ボタン */
.button_style{
	position : relative;
	display : inline-block;
	padding : 10px 20px;
	text-align : center;
	text-decoration : none;
	transition : .3s;
	min-width : 180px;
	z-index : 0;
	overflow : hidden;
    cursor : pointer;
	border : 2px solid;
	border-radius : 100vh;
}

.button_style.large{
	min-width : 300px;
	font-size : 1.125rem;
	padding : 15px 25px;
}
.button_style:hover{
	-ms-transform: scale(1.1);
	transform: scale(1.1);
	filter: brightness(1.2);
}
.button_style.button_disabled{
	pointer-events : none;
	color : #999;
	background-image : none;
	background-color: #cccccc;
	border-color: #cccccc;
}
.button_style.button_abled{
	background-color: #1e88a8;
	border-color: #1e88a8;
	color : #ffffff
}
.close_btn{
	font-size : 1.5em;
	padding : 20px;
	color : #ffffff;
	font-weight : bold;
	position : absolute;
	top : 3%;
	right : 4%;
	cursor : pointer;
}
.button_wrapper{
	text-align: center;
}
.button_wrapper .button_style{
	margin-left : 5px;
	margin-right : 5px;
	margin-bottom : 5px;
}
/* ▼ボタン色 */
.bg_color_blue{
    background-color: #1e88a8;
    color : #ffffff;
    border-color: #1e88a8;
}
.bg_color_red{
    background-color: #c73e3a;
    color : #ffffff;
    border-color: #c73e3a;
}
.bg_color_border_red{
    background-color: #fff;
    color : #c73e3a;
    border-color: #c73e3a;
	margin-top: 1.0em;
	padding-left: 5.5em;
	padding-right: 4em;
	background-image: url(../img/button_icon.png);
	background-repeat: no-repeat;
	background-position: 3.5em center;
}

/* テキスト色 */
.text_white{
    color: #ffffff;
}
.text_blue{
    color: #1e88a8;
}
.text_red{
    color: #c73e3a;
}
.text_black{
    color: #231815;
}
.ruby_base{
	position : relative;
	display: inline-block;
}
.ruby{
	color : #c73e3a;
	position: absolute;
	display: inline-block;
	top : -2.1em;
	left : 0;
	right: 0;
	margin: auto;
	text-align: center;
	font-size : 0.4em; 
}
/* タイトル */
.subtitle{
	font-size : 16px;
	color: #1e88a8;
	line-height: 1.1em;
	display: block;
	margin-bottom: 0.5em;
}
.main_title{
	color: #261e47;
	font-size : 48px;
	font-weight: bold;
	line-height: 2em;
}
.contents_title{
	color : #655d5b;
	font-size : 36px;
	line-height: 1.1em;
}
.title_accent{
	color : #231815;
	font-weight: bold;
}
.item_title{
	color : #1e88a8;
	font-size : 28px;
	line-height: 1.1em;
	position : relative;
}
.item_title::after {
	content : "";
	display: block;
	position : absolute;
	width: 80px;
	height : 3px;
	left: 0px;
	bottom: -15px;
	background  : v;
}
/* リスト */
.list_style{
    padding-left: 2em;
}
.list_style_decimal{
	list-style-type: decimal;
}
.list_style_rhombus li{
	position: relative;
}
.list_style_rhombus{
    padding-left: 1.5em;

}
.list_style_rhombus li::before{
	content: "◆";
	position : absolute;
	left: -1.25em;
	font-size : 1.25rem;
	color: #1e88a8;
}
/* テーブル */
.table_style {
	width: 100%;
}
.table_style th, .table_style td{
	padding: 15px 30px;
}
.table_style th {
	position: relative;
	vertical-align: top;
	text-align: center;
	color: #c73e3a;
	z-index : -1;
	text-align: right;
	word-break: keep-all;
	font-size : 14px;
	padding-left: 0;
}
.table_style th:after{
	content: "";
	display: block;
	width : 30px;
	height : 1px;
	background: #cccccc;
	position: absolute;
	top : calc(0.7em + 15px);
	right: -15px;
}
.table_style td{
	position: relative;
	padding-right: 0;
}
/* バナー系 */
.other_contents_link{
	text-align: center;
}
.other_contents_link .small_banner{
	margin : 5px;
	display: inline-block;
	transition: 0.2s;
}
.small_banner:hover{
	-ms-transform: scale(1.01);
	transform: scale(1.01);
	filter: brightness(1.2);
}
/* ヘッダー */
main{
	margin-top : 60px;
}
header{
    background : #ffffff;
    width : 100%;
    height : 60px;
    position : fixed;
    top : 0;
	left: 0;
	z-index: 1000;
	box-shadow: 0 4px 10px 0 rgba(40,49,53,.1);
}
#HEADER_CONTENTS{
    height: 100%;
}
#HEADER_LOGO{
    height: 100%;
}
.side_menu{
    color: #c73e3a;
    font-size : 12px;
    line-height: 30px;
    display: block;
    transition: 0.2s;
	padding-top : 30px;
	background : url(../img/icon.png);
	background-repeat : no-repeat;
	background-position : 50% 20%;
}
.side_menu:hover{
    opacity: 0.5 ;
}
.side_menu.accent{
    color: #1e88a8;
}
.header_icon_link{
    padding: 0 15px;
}
.header_icon_link:hover{
	opacity: 0.5 ;
}
.header_icon_link .header_icon{
	fill: #231815;
	transition: 0.2s;
}
.header_icon_link:hover .header_icon{
	fill: #1e88a8;
}
.header_icon_link span{
	transition: 0.2s;
}
.header_icon_link:hover span{
    opacity: 0.5 ;
}
.deployment_menu_base{
    position : relative;
    padding: 0 10px;
}
.deployment_menu{
    position: fixed;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    left: 0;
    top: 60px;
    height: 0;
    background: #fff;
    width: 100vw;
    z-index: 0;
    overflow: hidden;
}
.line_title{
	transition: 0.2s;
	height: 0;
    color : #1e88a8;
	overflow: hidden;
}
.line_title::before{
	display: none;
}
.deployment_menu a{
	display: block;
	margin-right: 20px;
	min-width: 100%;
	overflow: hidden;
	transition: 0.2s;
	height: 0;
}
.deployment_menu a::after{
	content : " ≫";
	color: #1e88a8;
}
.deployment_menu_base:not(.no_submenu):hover::after{
    content: "";
    position : absolute;
    display: block;
    width : 20px;
    height : 20px;
    margin: auto;
    border : 10px solid;
    border-color: #006934 transparent transparent transparent;
    bottom : -20px;
    right: 0;
    left: 0;
}
.deployment_menu_base:hover .deployment_menu{
	height: auto;
	padding : 20px;
    padding-bottom: 0;
    border-bottom : 2px solid #006934;
}
.deployment_menu_base:hover .deployment_menu .line_title{
	height: auto;
}
.deployment_menu_base:hover .deployment_menu .line_title::before{
	display: block;
}
.deployment_menu_base:hover .deployment_menu a{
	height: 2em;
	line-height: 2em;
	margin-bottom : 20px;
}
.deployment_menu_base:hover .deployment_menu li a {
	height : 28px;
	transition : 0.2s;
}
.tel_text{
	color: #c73e3a;
	font-size: 18px;
	padding-left: 10px;
	font-weight: bold;
}
/* フッター */
footer{
	background : #1e88a8;
	padding: 10px 0;
}
.footer_link{
	font-size : 12px;
	display: inline-block;
	vertical-align : top;
	text-align: center;
	line-height: 14px;
	padding : 5px 10px;
	padding-top : 40px;
	color: #ffffff;
	transition: 0.2s;
	background : url(../img/icon_white.png);
	background-repeat : no-repeat;
	background-position : center 8px;
}
.footer_link:hover{
	opacity: 0.5 ;
}
.footer_link.accent{
	color: #1e88a8;
}
#FOOTER_CONTENTS{
	margin-bottom: 50px;
	text-align : right;
}
#FOOTER_LOGO{
	margin-top: 0px;
	text-align : left;
}
#COPYRIGHT{
	font-size: 12px;
	color : #ffffff;
}
/*物件一覧　three_column_res*/
.three_column_res_tile_title{
	display: flex;
}
.syubetsu_icon{
	height: 3em;
	width: 3.5em;
	text-align: center;
}
.syubetsu_icon img{
	width: 2.2em;
}
.syubetsu_icon p{
	color: #c73e3a;
	font-size: 11px;
	margin-top: -1.2em;
	letter-spacing: -0.03em;
}
.bukken_title_container{
	padding-left: 0.8em;
}
.bukken_title_sub{
	font-size: 11px;
	color: gray;
}
.bukken_title{
	font-size: 20px;
}
.bukken_text li{
	display: inline-block;
	position: relative;
	padding-left: 0.9em;
	font-size: 14px;
}
.bukken_text li::before{
	content: "";
	background: url(../img/icon.png)no-repeat;
	background-size: contain;
	position: absolute;
	width: 10px;
	height: 20px;
	left: 0;
}
.bukken_kakaku{
	font-size: 24px;
    font-weight: bold;
    letter-spacing: -0.03em;
    /*padding-right: 0.3em;*/
}
.bukken_comment{
	height: 3em;
	width: auto;
	line-height: 1.5;
	font-size: 14px;
}
.bukken_button_wrapper{
	text-align: right;
	padding-bottom: 1em;
}
.bukken_button_wrapper a{
	color: #c73e3a;
}
/* 3カラムタイル （3カラム→2カラム→1カラムと変更するレスポンシブ用）*/
.three_column_res_contents_wrapper{
	display:-ms-flexbox;
	display:flex;
	-ms-flex-wrap:wrap;
	flex-wrap:wrap;
}
.three_column_res_tile{
	width : 27%;
	height: auto;
	margin-right: 9%;
}
.three_column_res_tile:nth-of-type(3n){
	margin-right: 0;
}
.three_column_res_tile .img_decoration{
	display: block;
}
.three_column_res_tile_img{
	text-align: center;
	/*margin: 1em;*/
}
.img_estate_container{
	position: relative;
	height: 0%;
	overflow: hidden;
	padding-bottom : calc(100% / 3 * 2);
}
.img_estate_container img{
	position: absolute;
	top: 0;
	left: 0;
}
.label_style{
	font-size: 0.875rem;
    display: inline-block;
    padding: 12px 15px;
    margin: 0 0.5em 8px 0;
    line-height: 1em;
    border: 1px solid #808080;
    color: #808080;
    cursor: pointer;
    background: #fff;
    border-radius: 5px;
}
input:checked+.label_style {
    border-color: #1E88A8;
    background-color: #1E88A8;
    color: #fff;
}

/* ----------------------------------------------------------------------------- */
/* 1500px以下 */
/* ----------------------------------------------------------------------------- */
@media screen and (max-width : 1500px){
	
}
/* ----------------------------------------------------------------------------- */
/* 1200px以下 */
/* ----------------------------------------------------------------------------- */
@media screen and (max-width : 1200px){
	/*ヘッダー*/
	#HEADER_LOGO{
		height: 80%;
	}
	#HEADER_NAV{
		width : 50px;
		right: 10px;
		top : 0;
		bottom : 0;
		position: absolute;
	}
	#HEADER_LINK_CONTACT{
		padding-right: 40px;
	}
    #HEADER_LINK_LIST{
        width : 50px;
        height : 50px;
        margin: 0;
	}
	#HEADER_LINK{
		position: fixed;
		width : 100%;
		max-width: 350px;
		right: 0;
		top : 0px;
		height : 100vh;
		background-color: #fff;
		display: block;
		padding: 30px;
		padding-bottom : 100px;
		pointer-events: none;
		opacity: 0;
		transition: 0.5s;
		overflow-y: auto;
		z-index: 1000;
		border : 3px solid #1e88a8;
		
	}
	#HEADER_LINK_LIST::after{
		display : none;
	}
	#HEADER_LINK li{
		width : 100%;
	}
	#HEADER_LINK .button_style{
		width: 100%;
		max-width : 400px;
		margin-bottom : 10px;
	}
	.side_menu .hidden_text{
		font-size: 1rem;
		display: inline;
	}
	#HEADER_LINK_LIST .side_menu img{
		display: none;
	}
	#HEADER_LINK_LIST .deployment_menu{
		position :relative;
		border :none;
	}
	
	#SP_MENU_BUTTON {
		display: block;
		width: 50px;
		height: 100%;
		position: absolute;
		top: 0;
		bottom: 0;
		right: 0;
		margin: auto;
		cursor: pointer;
		font-size: 10px;
		line-height: 1em;
		text-align: center;
		z-index: 1;
	}
	#SP_MENU_BUTTON span:nth-of-type(1) {
		top: calc((100% - 22px) / 2 + 1px);
	}
	#SP_MENU_BUTTON span:nth-of-type(2) {
		top: calc((100% - 22px) / 2 + 9px);
	}
	#SP_MENU_BUTTON span:nth-of-type(3) {
		top: calc((100% - 22px) / 2 + 17px);
	}
	#SP_MENU_SWITCH:checked + #SP_MENU_BUTTON + #HEADER_LINK_LIST #HEADER_LINK{
		opacity: 1;
		pointer-events: all;
	}
	#SP_MENU_SWITCH:checked + #SP_MENU_BUTTON{
		z-index: 0;
	}
	#SP_MENU_BUTTON span {
		display: inline-block;
		transition: all .4s;
		box-sizing: border-box;
		position: absolute;
		left: 0;
		right: 0;
		margin: auto;
		width: 25px;
		height: 2px;
		background-color: #1e88a8;
	}
	#HEADER_NAV #HEADER_MENU_CLOSE{
		display: block;
		position : absolute;
		width : 50px;
		height: 50px;
		top : 0;
		right: 0;
		z-index: 100;
		text-align: center;
		position : fixed;
		top : 0;
		right: 0;
	}
	#HEADER_LINK_LIST .button_style img{
		display: inline-block;
		margin-right: 10px;
		vertical-align: middle;
	}
	#HEADER_MENU_CLOSE label{
		color : #1e88a8;
		font-size : 40px;
		line-height: 50px;
		cursor: pointer;
	}
	#HEADER_LINK_LIST .sp_hidden{
		display: none;
	}
	#HEADER_LINK_LIST .side_menu:hover{
		opacity: 1;
	}
	#HEADER_LINK_LIST .deployment_menu{
		position: relative;
		left: 0;
		top: 0;
	}
	#HEADER_LINK_LIST .deployment_menu,
	#HEADER_LINK_LIST .deployment_menu_base:hover .deployment_menu{
		padding: 0;
		height: auto;
		background: #fff;
		margin-top : 10px;
		width: 100%;
	}
	#HEADER_LINK_LIST .deployment_menu_base:not(last-of-type){
		margin-right: 0;
	}
	.line_title{
		height: auto;
		font-size: 1rem;
		font-weight: bold;
		margin-top : 20px;
	}
	.line_title::before{
		display: block;
	}
	#HEADER_LINK_LIST .deployment_menu_base:hover .deployment_menu a,
	#HEADER_LINK_LIST .deployment_menu_base .deployment_menu a{
		line-height: 2em;
		height: 2em;
		margin-bottom: 0px;
		padding: 0;
    }
    .deployment_menu_base + .deployment_menu_base{
        margin-left: 0;
    }
	.side_menu{
		font-size : 1rem;
		line-height: 1.6em;
		margin-top : 15px;
		padding-top : none;
		padding-left : 20px;
		background-position : 0 98%;
	}
	.deployment_menu_base:not(.no_submenu):hover::after{
		display: none;
	}
}
/* ----------------------------------------------------------------------------- */
/* 1100px以下 */
/* ----------------------------------------------------------------------------- */
@media screen and (max-width : 1100px){
	
}
/* ----------------------------------------------------------------------------- */
/* 950px以下 */
/* ----------------------------------------------------------------------------- */
@media screen and (max-width : 950px){
	/*3カラム（レスポンシブ用）*/
	.three_column_res_tile{
		width : calc(50% - 50px);
		margin: 25px;
		display:-ms-flexbox;
		-ms-flex-wrap:wrap;
		flex-wrap:wrap;
		-ms-justify-content : space-between; /* IE10 */
		justify-content : space-between;
		-ms-align-items : center; /* IE10 */
		align-items : center;
	}
	.three_column_res_tile:nth-of-type(3n){
		margin-right: 25px;
	}
	/*.three_column_res_tile:nth-of-type(2n){
		margin-right: 0;
	}*/
	.three_column_res_tile_text{
		width : calc(100px + 40%);
		order : 1;
	}
	.three_column_res_tile_img{
		width : 100%;
		order : 2;
		text-align: center;
	}
}

	
/* ----------------------------------------------------------------------------- */
/* 850px以下 */
/* ----------------------------------------------------------------------------- */
@media screen and (max-width : 850px){
	/*フッター*/
	.footer_link{
		font-size : 15px;
		display: flex;
		vertical-align : top;
		text-align: center;
		line-height: 14px;
		padding : 10px 10px;
		padding-left: 30px;
		color: #ffffff;
		transition: 0.2s;
		background : url(../img/icon_white.png);
		background-size: 0.7em;
		background-repeat : no-repeat;
		background-position : 10px center ;
	}
	.footer_link br{
		display: none;
	}
	#FOOTER_CONTENTS{
		margin-bottom: 40px;
		text-align : right;
	}
	#FOOTER_LOGO{
		margin-top: 0px;
		text-align : left;
	}
	
	
}
/* ----------------------------------------------------------------------------- */
/* 800px以下 */
/* ----------------------------------------------------------------------------- */
@media screen and (max-width : 800px){
	/*ヘッダー　ロゴ*/
	#HEADER_LOGO{
		height: auto;
		width: 200px;
	}
}
/* ----------------------------------------------------------------------------- */
/* 750px以下 */
/* ----------------------------------------------------------------------------- */
@media screen and (max-width : 750px){
	
}
/* ----------------------------------------------------------------------------- */
/* 650px以下 */
/* ----------------------------------------------------------------------------- */
@media screen and (max-width : 650px){
	/*フォント、タイトル*/
	*{
		font-size : 14px;
	}
	.main_title{
		font-size : 28px;
	}
	.contents_title{
		font-size : 21px;
	}
	.item_title{
		font-size : 18px;
	}
	/*ヘッダー*/
	#HEADER_LINK_CONTACT{
		display: none;
	}
	#HEADER_LINK .pc_hidden{
		display: block;
	}
	/*物件一覧*/
	.syubetsu_icon img{
		padding-bottom: 2px;
	}

	/*3カラム（レスポンシブ用）*/
	.three_column_res_tile{
		width: 100%;
		margin: 0;
		margin-bottom: 3em;
	}
	.three_column_res_tile:nth-of-type(2n){
		margin-right: 0;
	}
	.three_column_res_tile:nth-of-type(3n){
		margin-right: 0;
	}
	.three_column_res_tile_text{
		width : 100%;
		order : 2;
	}
	.three_column_res_tile_img{
		width : 100%;
		order : 1;
	}
}


/* ----------------------------------------------------------------------------- */
/* 550px以下 */
/* ----------------------------------------------------------------------------- */
@media screen and (max-width : 550px){
	/*テーブル*/
	.table_style th, .table_style td{
		padding : 15px 5px;
	}
	.table_style th:after{
		display: none;
	}
	/*3カラム（レスポンシブ用）*/
	.three_column_res_tile_text{
		width : 100%;
		order : 2;
	}
	.three_column_res_tile_img{
		width : 100%;
		order : 1;
	}
}

/* ----------------------------------------------------------------------------- */
/* 450px以下 */
/* ----------------------------------------------------------------------------- */
@media screen and (max-width : 450px){
	
}

/* ----------------------------------------------------------------------------- */
/* 370px以下 */
/* ----------------------------------------------------------------------------- */
@media screen and (max-width : 370px){

}