@charset "utf-8";

/* ------------------------------------------------------------------------ */
/* --- Page layout -------------------------------------------------------- */
/* ------------------------------------------------------------------------ */
body {
  /* for IE10-11 */
  display: -ms-flexbox;
  -ms-flex-direction: column;
}

#base {
  min-height: 100%;
  width: 100%;

  display: -webkit-box;  /* for Android<=4.3 iOS<=6.0 */
  display: -ms-flexbox;  /* for IE10 */
  display: -webkit-flex; /* for Safari */
  display: flex;
  -webkit-box-orient: vertical;
  -ms-flex-direction: column;
  -webkit-flex-flow: column nowrap;
  flex-flow: column nowrap;
  /* for IE11 */
  -ms-flex: 1 0 auto;
}

#wrapper {
  width: 100%;

  /* 省略形で書くと問題が出る(IE10-11) */
  -webkit-box-flex: 1;
  -ms-flex: 1 0 auto;
  -webkit-flex: 1 0 auto;
  flex: 1 0 auto;
}

/* --- wrapper ----------------------------------------------- */
#header {
  width: 100%;
  margin-bottom: 10px;
  padding-bottom: 10px;
  background-color: #EFEFEF;
}
body.menu_none #header {
  padding-bottom: 0;
}

#pagebody {
  width: 100%;
}

#column3 {
  display: none;
  width: 190px;
  overflow: hidden;
}

/* --- header ----------------------------------------------- */
#header_picture {
  position: relative;
}

#header_picture img {
  width: 100%;
}

#header_picture #header_tellink {
  display: block;
  position: absolute;
}

h1#headline {
  padding: 3px 6px;
  background-color: #999999;
  font-weight: normal;
  line-height: 1.3;
  color: #FFFFFF;
}

#header_menu {
  position: relative;
}
#header_menu::after {
  content: "";
  clear: both;
  display: block;
}

#header_menu ul {
  width: 100%;
  margin-top: 1px;
  overflow: hidden;
}
#header_menu li {
  display: table;
  table-layout: fixed;
  box-sizing: border-box;
  width: 33.3%;
  height: 41px;
  border-right: 1px solid transparent;
  border-bottom: 1px solid transparent;
  float: left;
}
#header_menu li:nth-child(3n) {
  border-right: 0 none;
}

#header_menu li a {
  display: table-cell;
  background-color: #4682B4;
  color: #FFFFFF;
  font-size: 1.3rem;
  line-height: 1.1;
  text-align: center;
  vertical-align: middle;
}

#header_menu li span {
  display: inline-block;
  width: 90%;
  max-height: 2.2em;
  overflow: hidden;
  word-break: break-all;
}

p#catch_phrase {
  margin: 10px 10px 0;
  padding: 8px;
  background-color: #FFFFFF;
  text-align: left;
}
body.menu_none p#catch_phrase {
  display: none;
}

/* --- slide_menu ------ */
#header_menu #slide_menu_button_holder {
  position: absolute;
  top: 41px;
  left: calc(83.3% - 58px);
}

/* --- pagebody ----------------------------------------------- */
/* --- top_hero ------ */
#top_hero {
  display: none;
  margin: 0 6px 12px;
}
#top_hero.top_hero_display_sp {
  display: block;
}
#top_hero img {
  max-width: 100%;
}

/* --- contents ------ */
#contents {
  margin: 0 6px 18px;
}

body.menu_none #contents {
  min-height: 300px;
}

#contents h3,
.modal_contents h3 {
  border-top: 1px solid #FFC300;
  margin-bottom: 14px;
  padding-left: 10px;
  background-color: #FFF7DB;
  font-weight: normal;
  line-height: 2.0;
}

/* --- column3 ----------------------------------------------- */
#column3_free_space {
  width: 190px;
}

/* --- sidebar ----------------------------------------------- */
#sidebar {
  display: none;
  width: 240px;
  overflow: hidden;
}

#sidebar h3 {
  line-height: 30px;
  font-weight: normal;
  text-align: center;
}

/* --- sidebar_account ------ */
#sidebar_account {
  background-color: #F0F0F0;
  margin-bottom: 14px;
}

#sidebar_account h3 {
  border-bottom: 2px solid #999999;
  background-color: #D3D3D3;
}

#account_nav {
  padding: 6px 8px 8px;
}

#account_nav .login_error {
  padding: 2px;
  background-color: #FF6600;
  font-weight: bold;
  color: #FFFFFF;
  text-align: center;
}

#account_nav .account_nav_links {
  margin-bottom: 8px;
}

.for_member #account_nav .account_nav_links {
  margin-bottom: 0;
}

#account_nav .account_nav_links a {
  display: inline-block;
  text-decoration: underline;
}

#account_nav .account_register img {
  width: 170px;
}

#account_nav .login_input {
  margin-bottom: 2px;
}
#account_nav .login_input input[type=text],
#account_nav .login_input input[type=password] {
  width: 95%;
}

#account_nav .login_ctrl {
  margin: 10px 0 6px;
}

#account_nav .a-button {
  width: 97%;
  margin-bottom: 4px;
  display: block;
}

/* --- sidebar_menu ------ */
.sidebar_menu_outer {
  margin-bottom: 14px;
}

.sidebar_menu li {
  margin: 0 0 1px;
  padding: 0;
}
.sidebar_menu li:last-child {
  margin-bottom: 0;
}

.sidebar_menu li.sidebar_submenu {
  display: none;
}

.sidebar_menu a {
  display: block;
  padding: 11px 0;
  background: url(../../images/front/sp/arrow_s.png) calc(100% - 15px) 50% no-repeat;
  color: #333333;
  font-size: 1.4rem;
  line-height: 1.6;
  text-indent: 15px;
}

/* --- sidebar_rental --- */
#sidebar_rental h3 {
  border-bottom: 2px solid #5CBC77;
  background-color: #BFF0CE;
  letter-spacing: 1em;
  text-indent: 1em;
}

#sidebar_rental .sidebar_menu li {
  background-color: #DFF6EE;
}

/* --- sidebar_sale --- */
#sidebar_sale h3 {
  border-bottom: 2px solid #8AAADB;
  background-color: #E0ECFF;
  letter-spacing: 1em;
  text-indent: 1em;
}

#sidebar_sale .sidebar_menu li {
  background-color: #E6FAFF;
}

/* --- sidebar_eldercare --- */
/* rental style */
#sidebar_eldercare h3 {
  border-bottom: 2px solid #5CBC77;
  background-color: #BFF0CE;
}

#sidebar_eldercare .sidebar_menu li {
  background-color: #DFF6EE;
}

/* sale style */
#sidebar_eldercare.sidebar_eldercare_near_rental h3 {
  border-bottom: 2px solid #8AAADB;
  background-color: #E0ECFF;
}

#sidebar_eldercare.sidebar_eldercare_near_rental .sidebar_menu li {
  background-color: #E6FAFF;
}

/* --- sidebar_links --- */
#sidebar_links h3 {
  border-bottom: 2px solid #999999;
  background-color: #D3D3D3;
}

#sidebar_links .sidebar_menu li {
  background-color: #F0F0F0;
}

/* --- sidebar_feature --- */
#sidebar_feature {
  display: none;
}

/* --- sidebar_search ------ */
.sidebar_search_outer {
  display: none;
}

.sidebar_search fieldset {
  border: 0 none;
  margin: 0 0 8px;
  padding: 0;
  overflow: hidden;
}

.sidebar_search legend {
  box-sizing: border-box;
  width: 100%;
  margin-bottom: 10px;
  padding: 4px 7px 0;
  background-color: #EFEFEF;
  colro: #434343;
  font-size: 1.4rem;
  font-weight: bold;
}

.sidebar_search .ctrl_holder {
  margin-bottom: 14px;
  padding: 0 7px;
  overflow: hidden;
}
.sidebar_search .cb_holder {
  width: 50%;
}
.sidebar_search .cb_holder_s {
  width: 33.3%;
}

.sidebar_search .a-button {
  display: block;
  height: 32px;
  width: 60%;
  margin: 0 auto 14px;
}

.a-button .a-button-text {
  font-size: 1.4rem;
}

.sidebar_search .sidebar_detail_search_holder {
  margin-bottom: 14px;
  padding-left: 7px;
}

.sidebar_search .sidebar_detail_search_holder a {
  text-decoration: underline;
}

/* --- sidebar_personal ------ */
.sidebar_personal_outer {
  display: none;
}

.sidebar_personal {
  width: 330px;
  max-width: 100%;
  margin: 0 auto 10px;
  overflow: hidden;
  text-aligh: cener;
}

.sidebar_personal #history_link,
.sidebar_personal #favorite_link {
  width: 155px;
  max-width: calc(50% - 4px);
  border: 1px solid #CCCCCC;
  border-radius: 3px;
}

.sidebar_personal #history_link {
  float: left;
}

.sidebar_personal #favorite_link {
  float: right;
}

.sidebar_personal a {
  display: block;
  height: 30px;
  padding: 2px 0;
  color: #545454 !important;
  line-height: 29px;
  font-size: 1.4rem;
  text-decoration: none;
  position: relative;
}
.sidebar_personal a:hover {
  color: #545454 !important;
  font-size: 1.4rem;
  text-decoration: underline;
}

.sidebar_personal #history_link a {
  padding-left: 34px;
  background: url(../../images/front/common/history_icon.png) 6px 49% no-repeat;
}

.sidebar_personal #favorite_link a {
  padding-left: 38px;
  background: url(../../images/front/common/favorite_icon.png) 6px 49% no-repeat;
}

.sidebar_personal .personal_count {
  display: block;
  min-width: 2.6rem;
  background-color: #FFFFFF;
  color: #42A800;
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 28px;
  position: absolute;
  top: 2px;
  right: calc(16% - 20px);

}
.sidebar_personal .personal_count.personal_count_none {
  color: #767676;
}

/* --- sidebar_corporate ------ */
#sidebar_corporate {
  margin-bottom: 14px;
  padding-left: 8px;
}

#sidebar_corporate h3 {
  margin: 18px 0 4px;
  font-weight: bold;
  text-align: left;
  line-height: 1;
}

#sidebar_corporate address {
  display: block;
  font-style: normal;
}

#sidebar_corporate .sidebar_corporate_field {
  display: block;
  margin-bottom: 4px;
}
#sidebar_corporate .sidebar_corporate_field:last-child {
  margin-bottom: 0;
}
#sidebar_corporate .sidebar_corporate_freedial {
  display: inline-block;
  height: 21px;
  padding: 2px 0 2px 42px;
  background: url(/images/front/common/freedial.gif) 2px 2px no-repeat;
  color: #525252;
  font-weight: bold;
  font-size: 1.5rem;
  line-height: 21px;
  white-space: nowrap;
}

.sidebar_tel,
.sidebar_fax {
  display: block;
}

#sidebar_qr {
  display: none;
}

/* --- footer ------------------------------------------------------- */
#footer {
  border-top: 4px solid navy;
  position: relative;
  text-align: center;

  /* 省略すると問題が出る(IE11) */
  -webkit-box-flex: 0;
  -ms-flex: 0 0 auto;
  -webkit-flex: 0 0 auto;
  flex: 0 0 auto;
}

#footer_information {
  padding-top: 4px;
}

#footer_information a {
  text-decoration: none;
}
#footer_information a:hover {
  text-decoration: underline;
}

#copyright {
  font-size: 1.2rem;
}

#copyright a {
  color: #4C4C4C;
  text-decoration: none;
}
#copyright a:hover {
  text-decoration: underline;
}

/* ------------------------------------------------------------------------ */
/* --- Exception Page ----------------------------------------------------- */
/* ------------------------------------------------------------------------ */

#contents.exception {
  margin-bottom: 100px;
}

/* ------------------------------------------------------------------------ */
/* --- Top Page ----------------------------------------------------------- */
/* ------------------------------------------------------------------------ */

#contents .top_content {
  margin-bottom: 12px;
}

#contents .top_content h2 {
  border-bottom: 2px solid #FF8C00;
  margin-bottom: 10px;
  font-size: 1.8rem;
}

/* --- top_feature ------ */
#top_feature {
  overflow: hidden;
}

#top_feature ul {
  width: calc(100% + 1px);
  font-size: 0;
  line-height: 0;
}

#top_feature li {
  display: inline-block;
  box-sizing: border-box;
  width: 33.33%;
  border-right: 1px solid transparent;
  border-bottom: 1px solid transparent;
  font-size: 1.2rem;
  line-height: 1.1;
  vertical-align: top;
  position: relative;
}

#top_feature li::before {
  content: "";
  display: block;
  padding-top: 40%;
}

#top_feature li a {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
}

#top_feature li img {
  width: 100%;
  height: 100%;
}

#top_feature li .feature_title_outer {
  display: block;
  width: 90%;
  position: absolute;
  bottom: 6px;
  left: 5%;
}

#top_feature li .feature_title {
  display: block;
  max-height: 2.2em;
  padding: 1px 0 0 2px;
  background-color: rgba(255, 255, 255, 0.80);
  overflow: hidden;
  word-break: break-all;
}

/* --- top_banner_small ------ */
/* --- top_banner_small2 ------ */
#top_banner_small,
#top_banner_small2 {
  overflow: hidden;
}

#top_banner_small ul,
#top_banner_small2 ul {
  width: calc(100% + 1px);
  font-size: 0;
  line-height: 0;
}

#top_banner_small li,
#top_banner_small2 li {
  display: inline-block;
  box-sizing: border-box;
  width: 33.3%;
  border-right: 1px solid transparent;
  border-bottom: 1px solid transparent;
  vertical-align: top;
  font-size: 1.2rem;
  line-height: 1.1;
  position: relative;
}

#top_banner_small li::before,
#top_banner_small2:not(.banner_small2_free_ratio) li::before {
  content: "";
  display: block;
  padding-top: 40%;
}

#top_banner_small li a,
#top_banner_small2 li a {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
}
#top_banner_small2.banner_small2_free_ratio li a {
  position: relative;
  bottom: auto;
  right: auto;
}

#top_banner_small li img,
#top_banner_small2 li img {
  width: 100%;
  height: 100%;
}
#top_banner_small2.banner_small2_free_ratio li img {
  height: auto;
}

#top_banner_small li span {
  display: block;
  max-height: 2.2em;
  margin-top: -1.1em;
  position: absolute;
  top: 50%;
  overflow: hidden;
}

#top_banner_small li.theme span {
  width: 74%;
  left: 26%;
  word-break: break-all;
}

#top_banner_small li.common span {
  width: 90%;
  left: 5%;
  text-align: center;
}

/* --- top_banner_medium ------ */
#top_banner_medium ul {
  font-size: 0;
  line-height: 0;
}

#top_banner_medium li {
  display: inline-block;
  width: 50%;
  font-size: 1.2rem;
  line-height: 1;
  vertical-align: top;
}

#top_banner_medium li a {
  display: block;
  margin-right: 1px;
  margin-bottom: 1px;
}

#top_banner_medium li img {
  width: 100%;
}

/* --- top_banner_large ------ */
#top_banner_large li {
  width: 100%;
}

#top_banner_large li a {
  margin-bottom: 1px;
}

#top_banner_large li img {
  width: 100%;
}

/* --- top_whatsnew, top_estate_news ------ */
#top_whatsnew #whatsnew_inner,
#top_estate_news #estate_news_inner {
  margin: 10px 0;
}

#top_whatsnew dt,
#top_estate_news dt {
  color: #FF7777;
  font-weight: bold;
  margin-bottom: 10px;
}

#top_whatsnew dd,
#top_estate_news dd {
  border-bottom: 1px dotted #999999;
  margin-bottom: 14px;
  padding: 0 6px 12px;
}

/* --- top_recommend ------ */
#top_recommend ul#recommend_list {
  overflow: hidden;
}

#top_recommend ul#recommend_list li {
  border-bottom: 1px solid #D0D0D0;
  padding: 12px 0;
}

#recommend_list .recommend_item {
  padding-left: 5px;
  font-size: 1.2rem;
  line-height: 14px;
  position: relative;
  overflow: hidden;
}

#recommend_list .recommend_pict {
  width: 90px;
  margin-bottom: 2px;
  float: left;
  position: relative;
  text-align: center;
}

#recommend_list .recommend_pict img.estate-pict {
  max-width: 90px;
  max-height: 90px;
}

#recommend_list .recommend_pict img.alpha-icon {
  width: 40px;
  height: 40px;
  border: 0;
  position: absolute;
  bottom: -10px;
  right: -10px;
  z-index: 10;
}

#recommend_list a {
  text-decoration: none;
  color: #3838AA;
}

#recommend_list .recommend_text {
  min-height: 90px;
  border-left: 1px solid #D0D0D0;
  margin-left: 95px;
  margin-bottom: 2px;
  padding-left: 4px;
}

#recommend_list a.estate_title {
  display: block;
  margin-bottom: 2px;
  overflow: hidden;
  font-weight: bold;
}

#recommend_list .estate_type {
  display: block;
  float: left;
}

#recommend_list .estate_name {
  display: block;
  max-width: 100%;
  float: left;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  -o-text-overflow: ellipsis;
}

#recommend_list .price {
  margin-bottom: 2px;
  font-weight: bold;
  color: #F52200;
}

#recommend_list .price_value {
  font-size: 1.2rem;
}
#recommend_list .price_value .price_number {
  font-size: 1.5rem;
}

#recommend_list .price_yield {
  font-size: 1.1rem;
  display: inline-block;
}
#recommend_list .price_yield .price_number {
  font-size: 1.2rem;
}

#recommend_list .location {
  margin-bottom: 2px;
}

#recommend_list .kotsu {
  color: #0033FF;
}

#recommend_list .mark {
  width: 100%;
  clear: both;
  overflow: hidden;
  font-size: 0;
  line-height: 0;
}
#recommend_list .mark img {
  margin-right: 2px;
}

#recommend_list p.sellingpoint {
  margin-top: 3px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

#recommend_list .detail_link {
  width: 100%;
  height: 100%;
  background: url(../../images/front/sp/arrow.png) center right no-repeat;
  position: absolute;
  top: 0;
  left: 0;
  text-decoration: none;
  font-size: 0;
  line-height: 0;
}

#recommend_list .detail_link a {
  display: block;
  width: 100%;
  height: 100%;
}

/* ------------------------------------------------------------------------ */
/* --- Lower Page --------------------------------------------------------- */
/* ------------------------------------------------------------------------ */

#contents #page_banner {
  margin-bottom: 14px;
}

#contents #page_banner h2 {
  border-bottom: 1px solid #434343;
  color: #434343;
}

/* TODO 修正 */
#contents .breadcrumbs {
  display: none;
}

#contents .content_description {
  margin-bottom: 14px;
}

#contents .not_found {
  margin: 28px 0;
  font-size: 1.4rem;
}

/* --- area_search, railway_search ----------------------------------------------- */
body.rental #search_rail h3,
body.rental #search_area h3 {
  border-top-color: #007300;
  background-color: #EAF7EA;
}
body.sale #search_rail h3,
body.sale #search_area h3 {
  border-top-color: #6890DA;
  background-color: #EBEFF9;
}
body.eldercare #search_rail h3,
body.eldercare #search_area h3 {
  border-top-color: #784116;
  background-color: #FEF9E9;
}

#search_rail dl,
#search_area dl {
  margin-bottom: 14px;
  font-size: 1.4rem;
  overflow: hidden;
}

#search_rail dt,
#search_area dt {
  box-sizing: border-box;
  width: 60%;
  padding-left: 10px;
  clear: left;
  float: left;
}

#search_rail dd,
#search_area dd {
  border-bottom: 1px dashed #999999;
  margin-bottom: 12px;
  text-align: right;
}

#search_rail dd a,
#search_area dd a {
  display: inline-block;
  width: 40%;
  text-align: left;
}

#search_area ul {
  margin-bottom: 14px;
  padding-left: 10px;
  font-size: 1.4rem;
  overflow: hidden;
}

#search_area li {
  width: 50%;
  margin: 6px 0;
  float: left;
}

/* --- search ----------------------------------------------- */
body.estate_list #search_condition,
body.estate_latest #search_condition,
body.estate_feature #search_condition {
  display: none;
}

#search_condition h3 {
  font-size: 1.4rem;
  line-height: 2;
}
body.rental #search_condition h3 {
  border: 1px solid #007300;
  background-color: #EAF7EA;
}
body.sale #search_condition h3 {
  border: 1px solid #6890DA;
  background-color: #EBEFF9;
}
body.eldercare #search_condition h3 {
  border: 1px solid #784116;
  background-color: #FEF9E9;
}

#search_condition table {
  margin-bottom: 14px;
}

#search_condition table,
#search_condition tbody,
#search_condition tr,
#search_condition th,
#search_condition td {
  display: block;
}

#search_condition th {
  margin-bottom: 10px;
  padding: 2px 7px;
  background-color: #EFEFEF;
  color: #434343;
  font-size: 1.4rem;
  text-align: left;
}

#search_condition th br {
  display: none;
}

#search_condition td {
  margin-bottom: 14px;
  padding: 0 7px;
  /* for .ch_holder */
  overflow: hidden;
}

#search_condition .search_button {
  margin-bottom: 14px;
  text-align: center;
}

/* --- rental/list, sale/list ----------------------------------------------- */
#search_info {
  margin-bottom: 21px;
}

#search_info #search_stats,
#search_info #current_condition {
  border: 1px solid #FFC300;
  margin-bottom: 14px;
  padding: 10px;
  background-color: #FFF7DB;
}

#search_info .heading {
  margin-bottom: 6px;
  font-size: 1.4rem;
  font-weight: bold;
  line-height: 1;
}

#search_info .a-button {
  box-sizing: border-box;
  height: 32px;
  width: 100%;
}

#search_stats dl {
  margin-bottom: 6px;
  padding: 4px 10px;
  background-color: #FFFFFF;
  overflow: hidden;
  font-size: 1.4rem;
}

#search_stats dt {
  display: inline-block;
  width: 50%;
  vertical-align: bottom;
}

#search_stats dd {
  display: inline-block;
  vertical-align: bottom;
}

#search_stats dd span {
  font-size: 1.8rem;
  font-weight: bold;
}

#search_stats span.count_total {
  color: #FF5400;
}

#search_stats .register {
  overflow: hidden;
}

#search_stats .register span {
  width: 49%;
  float: right;
}

#search_stats .register a {
  width: 49%;
  float: left;
}

#search_stats .register img {
  max-width: 100%;
}

#current_condition dl {
  margin-bottom: 6px;
  padding: 4px 10px;
  background-color: #FFFFFF;
  overflow: hidden;
}

#current_condition dt {
  width: 100px;
  float: left;
}

#current_condition dd {
  margin-left: 100px;
}

.page_navigation {
  height: 51px;
  position: relative;
}

.page_navigation .page_information {
  width: 100%;
  font-size: 1.3rem;
  position: absolute;
}

.page_navigation .pagination {
  width: 100%;
  font-size: 1.4rem;
  text-align: center;
  position: absolute;
}

.page_navigation ul.pagination {
  padding: 0;
  margin: 0;
  font-size: 0;
  list-style-type: none;
}

.page_navigation ul.pagination li {
  display: inline-block;
  margin: 0 2.5px;
  font-size: 1.4rem;
}

.page_navigation_top {
  border-bottom: 1px solid #434343;
  padding-bottom: 2px;
}

.page_navigation_top .page_information {
  bottom: 0;
}

.page_navigation_top .pagination {
  top: 0;
}

.page_navigation_bottom {
  border-top: 1px solid #434343;
  margin-bottom: 21px;
  padding-top: 2px;
}

.page_navigation_bottom .page_information {
  top: 0;
}

.page_navigation_bottom .pagination {
  bottom: 0;
}

#list_config {
  font-size: 1.3rem;
}

#estate_list {
  margin-top: 21px;
}

.estate_item {
  width: 100%;
  margin-bottom: 14px;
}
body.rental .estate_item {
  border-top: 2px solid #007300;
  border-bottom: 2px solid #007300;
}
body.sale .estate_item {
  border-top: 2px solid #6890DA;
  border-bottom: 2px solid #6890DA;
}
body.eldercare .estate_item {
  border-top: 2px solid #784116;
  border-bottom: 2px solid #784116;
}

table.estate_item,
table.estate_item tbody,
table.estate_item tr,
table.estate_item th,
table.estate_item td {
  display: block;
}

.estate_item tr:first-child {
  position: relative;
}
.estate_item tr::after {
  content: "";
  clear: both;
  display: block;
}

body.rental .estate_item tr:first-child,
body.rental .estate_item tr:last-child {
  background-color: #EAF7EA;
}
body.sale .estate_item tr:first-child,
body.sale .estate_item tr:last-child {
  background-color: #EBEFF9;
}
body.eldercare .estate_item tr:first-child,
body.eldercare .estate_item tr:last-child {
  background-color: #FEF9E9;
}

.estate_item tr.list_spec {
  border-bottom: 1px dotted #999999;
  padding-left: 2px;
  word-break: break-all;
}
.estate_item tr.list_text {
  padding-left: 2px;
  word-break: break-all;
}

.estate_item tr.list_spec th {
  box-sizing: border-box;
  width: 16%;
  height: 3em;
  margin-top: 2px;
  float: left;
  text-align: left;
  white-space: nowrap;
  overflow: hidden;
}
.estate_item tr.list_text th {
  width: 100%;
  max-height: 3em;
  padding-top: 2px;
  text-align: left;
  overflow: hidden;
}

.estate_item tr.list_spec td {
  box-sizing: border-box;
  width: 34%;
  height: 3em;
  margin-top: 2px;
  padding-left: 2px;
  float: left;
  overflow: hidden;
}
.estate_item tr.list_text td {
  width: 100%;
  max-height: 4.5em;
  padding-top: 2px;
  padding-left: 2px;
  overflow: hidden;
}
.estate_item tr.list_text td br {
  display: none;
}

.estate_item td.check {
  display: block;
  position: absolute;
  top: 10px;
  right: 10px;
}

.estate_item td.check input {
  margin: 0;
}

.estate_item td.picture {
  border: 1px solid #999999;
  background-color: #999999;
  float: left;
}

.estate_item td.picture .picture_inner {
  display: table;
  table-layout: fixed;
  position: relative;
}

.estate_item td.picture a {
  width: 90px;
  height: 90px;
  display: table-cell;
  text-align: center;
  vertical-align: middle;
}

.estate_item td.picture img.estate-pict {
  max-width: 90px;
  max-height: 90px;
}

.estate_item td.picture img.alpha-icon {
  width: 40px;
  height: 40px;
  position: absolute;
  bottom: -10px;
  right: -10px;
}

.estate_item th.midashi {
  margin-left: 97px;
  padding-top: 5px;
  text-align: left;
}

.estate_item th.midashi .estate_title {
  margin-right: 30px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.estate_item th.midashi .price {
  color: #FF0000;
}
.estate_item th.midashi .price_number {
  font-size: 1.4rem;
}

.estate_item th.midashi .mark {
  overflow: hidden;
}

.estate_item th.midashi .mark img {
  margin-right: 2px;
}

.estate_item th.midashi .detail_link {
  position: absolute;
  bottom: 10px;
  right: 10px;
}

.estate_item .open_house_place::before {
  content: " ";
}

.list_selling_point {
  max-height: calc(4.5em + 6px);
  width: 100%;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  border: 1px dotted #999999;
  margin: -7px 0 14px;
  padding: 3px 1px 3px 5px;
  overflow: hidden;
  word-break: break-all;
}

.rental .list_selling_point {
  border-color: #007300;
}
.sale .list_selling_point {
  border-color: #6890DA;
}

.list_selling_point br {
  display: none;
}

.button_box {
  margin-bottom: 21px;
  text-align: center;
}

.button_box input,
.button_box a {
  display: inline-block;
  max-width: 49%;
  margin: 0;
  vertical-align: middle;
}

.button_box img {
  width: 100%;
}

/* --- contact_info --- */
#list_contact_info {
  border: 2px solid #999999;
  margin-bottom: 28px;
  overflow: hidden;
  color: #664000;
}

#list_contact_info .introduction {
  padding: 6px;
  background-color: #EFEFEF;
  color: #333333;
  font-weight: bold;
  font-size: 1.4rem;
  line-height: 1;
}

#list_contact_info .company_name_box {
  padding: 6px;
}

#list_contact_info .company_name {
  font-weight: bold;
  font-size: 1.6rem;
  line-height: 1.8;
}

#list_contact_info .company_name a {
  display: inline-block;
  vertical-align: middle;
  margin-bottom: 5px;
}

#list_contact_info .company_tel {
  padding: 6px 6px 4px;
  border-top: 1px dashed #CCCCCC;
  font-size: 0;
}

#list_contact_info .normal_tel,
#list_contact_info .freedial {
  display: inline-block;
  margin-right: 6px;
  font-size: 2.0rem;
  font-weight: bold;
  line-height: 1;
  color: #434343;
  overflow: hidden;
}

#list_contact_info .freedial {
  height: 26px;
  padding-left: 46px;
  background: url(../../images/front/common/freedial_l.gif) 0 0 no-repeat;
}

#list_contact_info span.phone_number {
  font-size: 2.6rem;
  color: #FF3300;
  vertical-align: middle;
}

#list_contact_info span.tel {
  color: #006400;
  vertical-align: middle;
}

#list_contact_info .feel_free,
#list_contact_info .from_ktai {
  display: inline-block;
  font-size: 1.2rem;
  overflow: hidden;
}

#list_contact_info .from_ktai span {
  color: #000080;
  font-size: 1.4rem;
  font-weight: bold;
}

/* --- company ----------------------------------------------- */
/* TODO まとめて指定する書き方に修正する */
#access_map,
#president,
#company_info {
  margin-bottom: 21px;
}

#company_info table,
#company_info tbody,
#company_info tr,
#company_info th,
#company_info td {
  display: block;
}

#company_info th,
#company_info td {
  padding-left: 7px;
}

#company_info th {
  border-bottom: 1px dotted #999999;
  margin-bottom: 10px;
  color: #434343;
  font-size: 1.4rem;
  text-align: left;
}

#company_info th br {
  display: none;
}

#company_info td {
  margin-bottom: 14px;
  font-size: 1.2rem;
}

#access_map #map_area {
  width: 100%;
  height: 250px;
}

/* --- terms_of_use, privacy_policy ----------------------------------------------- */
#privacy,
#term {
  padding: 0 3px 0 7px;
}

/* --- inquiry ----------------------------------------------- */
.form_table_container table {
  width: 100%;
  margin-bottom: 14px;
}

.form_table_container th {
  margin-bottom: 10px;
  background-color: #EFEFEF;
  color: #434343;
  text-align: left;
}

.form_table_container table.form_table,
.form_table_container table.form_table tbody,
.form_table_container table.form_table tr,
.form_table_container table.form_table th,
.form_table_container table.form_table td {
  display: block;
}

.form_table_container table.form_table th {
  font-size: 1.4rem;
  padding: 4px 7px;
}

.form_table_container table.form_table th br {
  display: none;
}

.form_table_container table.form_table td {
  margin-bottom: 14px;
  padding: 0 7px;
  font-size: 1.3rem;
}

.form_table_container table.estate_list th {
  border: 1px solid #FFFFFF;
  padding: 2px;
  text-align: center;
  white-space: nowrap;
}

.form_table_container table.estate_list td {
  padding: 2px;
}

.form_simple .form_table_container input[type=text],
.form_simple .form_table_container input[type=password] {
  height: 3.2rem;
  padding-left: 6px;
  font-size: 1.4rem;
}

.form_simple .form_table_container textarea {
  padding-top: 6px;
  padding-left: 6px;
  font-size: 1.4rem;
}

.form_simple .form_table_container select {
  height: 3.0rem;
  padding-left: 3px;
  font-size: 1.4rem;
}

.form_simple .form_table_container input.textMiddle2 {
  width: 100%;
}

.form_table_container .exp {
  margin-bottom: 14px;
}

.form_table_container .mark {
  color: #FF0000;
}

.form_table_container .required_mark,
.form_table_container .option_mark {
  display: inline-block;
  border-radius: 2px;
  margin-left: 4px;
  padding: 1px 5px;
  color: #FFFFFF;
  font-size: 1.1rem;
  vertical-align: baseline;
}
.form_table_container .required_mark {
  background-color: #ED741A;
}
.form_table_container .option_mark {
  background-color: #4EBC3E;
}

.form_table_container .form_error {
  border-radius: 3px;
  margin-bottom: 3px;
  padding: 5px 0 5px 5px;
  background-color: #FF6633;
  line-height: 1.2;
  color: #FFFFFF;
}

.form_table_container .form_inner_row {
  margin-bottom: 8px;
}
.form_table_container .form_inner_row:last-child {
  margin-bottom: 0;
}

.form_table_container .form_agreement_guide {
  margin-bottom: 10px;
  padding: 4px 7px;
  background-color: #EFEFEF;
  color: #434343;
  font-size: 1.3rem;
  font-weight: normal;
  text-align: left;
}

.form_table_container .form_agreement_guide br {
  display: none;
}

.form_button_holder {
  margin: 18px 0;
  text-align: center;
}

.form_button_holder img,
.form_button_holder input {
  margin: 10px 15px;
  vertical-align: middle;
}

.form_finish {
  padding: 0 3px 0 7px;
}

.form_finish p {
  margin-bottom: 1em;
}

.form_finish p br {
  display: none;
}

.error_message {
  border: 1px solid #FF9966;
  margin: 20px 10px;
  padding: 7px 0 7px 10px;
  background-color: #FFEFDD;
  line-height: 1.5;
  font-size: 1.3rem;
  font-weight: bold;
  color: #FF3300;
}

/* --- content ----------------------------------------------- */

/* --- list 共通 ----------------------------------------------- */
.link_list,
.page_list,
.feature_list {
  border: 1px solid #CCCCCC;
  margin-bottom: 14px;
  overflow: hidden;
}

.link_list img,
.page_list img,
.feature_list img {
  max-width: 90px;
  max-height: 90px;
  margin: 7px 7px 7px 0;
  float: right;
}

#contents .link_list h4,
#contents .page_list h4,
#contents .feature_list h4,
#contents .voice_list h4 {
  border-bottom: 1px solid #CCCCCC;
  padding: 5px 8px;
  background: #EEEEEE;
  font-size: 1.4rem;
  font-weight: bold;
}

#contents .link_list h4 a,
#contents .page_list h4 a,
#contents .feature_list h4 a {
  text-decoration: underline;
}

#contents .link_list p.link_list_txt,
#contents .page_list p.page_list_txt,
#contents .feature_list p.feature_list_txt {
  padding: 5px 0 5px 5px;
  margin-bottom: 10px;
}

/* --- page_list ----------------------------------------------- */
/* --- feature_list ----------------------------------------------- */
.page_list p.more_read,
.feature_list p.more_read {
  height: 20px;
  border: 1px solid #CCCCCC;
  margin: 7px 7px 7px 0;
  padding: 2px 6px 0;
  background-color: #E6E6E6;
  float: right;
  letter-spacing: 1px;
  text-align: center;
}

/* --- voice_list ----------------------------------------------- */
.voice_list {
  margin: 10px 0 14px;
  overflow: hidden;
}

#contents .voice_list h4 {
  border: 1px solid #CCCCCC;
  overflow: hidden;
}

#contents .voice_list h4 .voice_date {
  float: right;
}

#contents .voice_list .voice_content {
  padding: 5px 0 5px 5px;
  margin-bottom: 10px;
}

.voice_list img.voice_image {
  max-width: 50%;
  max-height: 50%;
  margin: 7px 7px 7px 0;
  float: left;
}

.voice_headline {
  padding: 7px 0 0 5px;
  font-size: 13px;
  font-weight: bold;
}

.voice_content {
  padding: 5px 0 5px 5px;
  margin: 0 0 10px;
}

/* --- staff ----------------------------------------------- */
.staff_panel {
  border-bottom: 1px dotted #999999;
  margin-bottom: 21px;
  padding-bottom: 10px;
  overflow: hidden;
}

.staff_panel .staff_profile {
  width: 250px;
  margin: 0 auto 14px;
}

.staff_profile .staff_image {
  display: table;
  table-layout: fixed;
  width: 250px;
  height: auto;
  margin-bottom: 5px;
}
.staff_profile .staff_image_inner {
  display: table-cell;
  vertical-align: middle;
  text-align: center;
}
.staff_profile .staff_image img {
  max-width: 240px;
  max-height: 240px;
}

.staff_profile .staff_name {
  color: #434343;
  font-size: 1.6rem;
  font-weight: bold;
  white-space: nowrap;
}

.staff_profile .staff_name span {
  display: inline-block;
  font-size: 1.4rem;
  font-weight: normal;
  margin-left: 5px;
}

.staff_panel .staff_introduction {
  padding: 0 4px;
}

.staff_introduction h4 {
  border-bottom: 1px solid #FFC300;
  margin-bottom: 7px;
  padding: 4px 6px 2px;
  background-color: #FFF7DB;
  font-size: 1.4rem;
  font-weight: bold;
}

.staff_introduction .staff_text {
  padding: 0 3px 0 7px;
}
