@charset "UTF-8";
/* ----------------------------------------------
	共通
---------------------------------------------- */
html {
  height: 100%;
  font-size: 8px;
  /* 1rem = 10px */
}
body {
  min-width: 100%;
  height: 100%;
  font-size: 2rem;
  color: #212121;
  letter-spacing: 0.05em;
  word-wrap: break-word;
}

a {
  color: #000;
  text-decoration: none;
}
a:hover {
  color: #000;
  text-decoration: none;
}

button,
input,
textarea,
body {
  font-family: 'Noto Sans Japanese', 'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, sans-serif;
}

i {
  display: inline-block;
  font-family: FontAwesome;
  font-style: normal;
  font-weight: normal;
}

/* -------------------------------------
	各要素の初期設定
---------------------------------------- */
input {
  vertical-align: middle;
}
input::-webkit-input-placeholder {
  color: #aaa;
}
input::-moz-placeholder {
  color: #aaa;
}
input:-ms-input-placeholde {
  color: #aaa;
}
select {
  color: #000;
}

.ja {
  ime-mode: active;
}
.en {
  ime-mode: inactive;
}

img {
  max-width: 100%;
}

.bold,
em,
strong {
  font-weight: 700;
}
.del,
del {
  text-decoration: line-through;
}

.underline {
  text-decoration: underline;
}

.left {
  text-align: left !important;
}
.right {
  text-align: right !important;
}
.center {
  text-align: center !important;
}

.flex_container {
  display: flex;
  flex-wrap: wrap;
}

/* カテゴリーアイコン */ /*
.category.icon:before {
	display: inline-block;
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	transform: translate(0, -50%);
	background-repeat: no-repeat;
	background-size: 100% auto;
}
.category.icon.category1:before {
	background-image: url(../images/common/icon_category1.png);
}
.category.icon.category2:before {
	background-image: url(../images/common/icon_category2.png);
}
.category.icon.category3:before {
	background-image: url(../images/common/icon_category3.png);
}
.category.icon.category4:before {
	background-image: url(../images/common/icon_category4.png);
}
.category.icon.category5:before {
	background-image: url(../images/common/icon_category5.png);
}
.category.icon.category6:before {
	background-image: url(../images/common/icon_category6.png);
}
.category.icon.category7:before {
	background-image: url(../images/common/icon_category7.png);
}
.category.icon.category8:before {
	background-image: url(../images/common/icon_category8.png);
}*/

/* -------------------------------------
	form初期設定
---------------------------------------- */
input[type='checkbox'],
input[type='radio'] {
  display: inline-block;
  margin: 0 3px 0 0;
  vertical-align: middle;
}
input[type='text'],
input[type='number'],
input[type='tel'],
input[type='url'],
input[type='search'],
input[type='email'],
input[type='password'] {
  border: 1px solid #cfd8dc;
  line-height: 1.5;
  margin: 0;
  padding: 10px 15px;
}

label {
  display: inline-block;
  vertical-align: middle;
}
textarea {
  border: 1px solid #cfd8dc;
  line-height: 1.5;
  margin: 0;
  padding: 10px 15px;
  resize: vertical;
}
select {
  /* デフォルト装飾を解除 */
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: 1px solid #cfd8dc;
  line-height: 1.5;
  margin: 0;
  padding: 10px 10px 10px 15px;
  cursor: pointer;
}
select::-ms-expand {
  /* デフォルト装飾を解除　IE版 */
  display: none;
}

*:disabled,
.disabled {
  background: #eee;
  color: #555;
}

/* -------------------------------------
	汎用パーツ
---------------------------------------- */
.pc {
  display: block !important;
}
.pc_inline {
  display: inline !important;
}
.pc_inline_block {
  display: inline-block !important;
}

.sp {
  display: none !important;
}
.sp_inline {
  display: none !important;
}
.sp_inline_block {
  display: none !important;
}

.red {
  color: #e60033;
}

.link_area {
  display: block;
  color: #000;
  text-decoration: none;
}

/* タイトル */
.main_title {
  border-left: 5px solid #00796b;
  font-size: 2rem;
  font-weight: 700;
  margin: 0 0 20px;
  padding: 8px 13px;
}
.sub_title {
  border-left: 3px solid #f8bbd0;
  font-size: 1.8rem;
  font-weight: 700;
  margin: 0 0 15px;
  padding: 5px 10px;
}
.normal_title {
  border-left: 3px solid #e1f5fe;
  font-size: 1.6rem;
  font-weight: 700;
  margin: 0 0 15px;
  padding: 5px 10px;
}
.title_sub {
  float: right;
}
.center_title {
  margin: 0 0 25px 0;
  font-size: 3.4rem;
  text-align: center;
}
.new_title {
  position: relative;
  margin: 0 0 25px 0;
  padding: 35px 120px 0 120px;
  background: linear-gradient(to bottom, #ededed, #fff 40%);
  border-top: 1px solid #e0e0e0;
  font-size: 3.4rem;
  text-align: center;
  line-height: 1;
}
.new_title:before {
  display: inline-block;
  content: '';
  position: absolute;
  top: -15px;
  left: 34px;
  width: 75px;
  height: 89px;
  background: url(../images/common/top/img_new.png) no-repeat;
  background-size: 100% auto;
}
.new_title em {
  color: #cea97a;
}
.square_title {
  margin: 0 0 40px 0;
  padding: 12px;
  border: 5px solid #66cad5;
  font-size: 3.4rem;
  font-weight: 700;
  text-align: center;
  line-height: 1.3;
}

/* 黒丸リスト */
.normal > li {
  list-style-type: disc;
  margin: 0 0 0 1em;
  text-indent: 0;
  font-size: 1.6rem;
  line-height: 1.4;
}

/* 数字リスト */
.number > li {
  list-style-position: inside;
  list-style-type: decimal;
  margin: 0 0 0 1em;
  text-indent: -1em;
  font-size: 1.6rem;
  line-height: 1.4;
}

/* 黒四角リスト */
.square > li {
  list-style-type: square;
  margin: 0 0 0 1em;
  text-indent: 0;
  font-size: 1.6rem;
  line-height: 1.4;
}

/* ※リスト */
.notes_list > li {
  list-style-type: none;
  margin: 0 0 0 1em;
  text-indent: -1em;
  font-size: 1.6rem;
  line-height: 1.4;
}

/*	ボタン
------------------------*/
.btn_area {
  margin: 30px 0;
}
.base_btn {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  width: 100%;
  height: 70px;
  margin: 0 auto;
  padding: 0 35px;
  background: #f2f2f2;
  border-top: 1px solid #e1e1e1;
  border-right: 1px solid #e1e1e1;
  border-left: 1px solid #e1e1e1;
  border-radius: 3px;
  box-shadow: 0 5px 0 0 #e1e1e1;
  color: #000;
  font-size: 2rem;
  text-align: center;
  text-decoration: none;
  line-height: 1.2;
  cursor: pointer;
  transition: color, background, border, box-shadow, 0.3s;
}
.base_btn:after {
  content: '\f105';
  font-family: FontAwesome;
  position: absolute;
  top: 50%;
  right: 20px;
  transform: translate(0, -50%);
  font-size: 2.4rem;
}
.base_btn.reverse {
  background: #66cad5;
  border-color: #27abba;
  box-shadow: 0 5px 0 0 #27abba;
  color: #fff;
}

.col02 .base_btn {
  height: 60px;
}
.col04 .base_btn {
  height: 50px;
}

.base_btn.medium {
  max-width: 530px;
  margin-right: auto;
  margin-left: auto;
}
.base_btn.mini {
  max-width: 400px;
  margin-right: auto;
  margin-left: auto;
}

.more_btn {
  background: #353535;
  box-shadow: 0 5px 0 0 #000;
  color: #fff;
}
.more_btn:after {
  content: '\f107';
}

.contact_btn,
.regist_btn {
  background: #f05f5f;
  border: none;
  box-shadow: 0 5px 0 0 #c82d19;
  color: #fff;
}

.regist_btn {
  flex-direction: column;
  align-items: flex-start;
  text-align: left;
}
.regist_btn .small_text {
  margin: 0 0 2px 0;
  font-size: 1.6rem;
}

.white_btn {
  background: #fff;
  border: none;
  box-shadow: 0 5px 0 0 #e0f7f9;
}

.print_btn:before {
  display: inline-block;
  content: '\f02f';
  margin: 0 8px 0 0;
  font-family: FontAwesome;
}
.print_btn:after {
  display: none;
}

.half_btn {
  width: 100%;
  height: 224px;
  background-color: #ad9f77;
}
.half_btn + .half_btn {
  margin: 80px 0 0 0;
}
.half_btn a:before {
  display: block;
  content: '';
  width: 500px;
  height: 100%;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}
.half_btn a {
  display: flex;
  align-items: center;
  height: 100%;
  color: #fff;
  font-size: 2.8rem;
  font-weight: 500;
  text-align: center;
  text-decoration: none;
}
.half_btn .text {
  position: relative;
  width: calc(100% - 500px);
  padding: 0 40px;
}
.half_btn .text:after {
  display: inline-block;
  content: '\f105';
  position: absolute;
  top: calc((100% - 1em) / 2);
  right: 25px;
  font-family: FontAwesome;
}

.favorite_btn {
  z-index: 1;
  background: #fff;
  border: 1px solid #e5e5e5;
  border-radius: 5px;
  box-shadow: 0 0 2px 0 #f7f7f7;
  display: inline-block;
  color: #212121;
  font-size: 1.6rem;
  cursor: pointer;
}
.favorite_btn .btn {
  padding: 8px;
  line-height: 1;
}
.favorite_btn .btn:before {
  display: inline-block;
  content: '\f08a';
  margin: 0 6px 0 0;
  color: #d6d6d6;
  font-family: FontAwesome;
}
.favorite_btn.active .btn:before {
  content: '\f004';
  color: #ff1456;
}

.back_btn {
  position: relative;
  margin: 0 0 20px 0;
  color: #000;
  font-size: 1.4rem;
  text-align: center;
  text-decoration: none;
  line-height: 1.2;
  text-align: right;
}
.back_btn .btn {
  display: inline-block;
  padding: 10px;
  background: #f0f0f1;
  border: 1px solid #e8e8e8;
  border-radius: 3px;
  cursor: pointer;
}
.back_btn .btn:before {
  display: inline-block;
  content: url(../images/common/icon_btn_back.png);
  margin: 0 12px 0 0;
}
.back_btn .btn.prev,
.back_btn .btn.next {
  padding: 7px 10px;
}
.back_btn .btn.prev:before {
  font-family: FontAwesome;
  content: '\f104';
  display: inline-block;
  margin: 0 12px 0 0;
  font-size: 1.8rem;
}
.back_btn .btn.next:before {
  display: none;
}
.back_btn .btn.next:after {
  font-family: FontAwesome;
  content: '\f105';
  display: inline-block;
  margin: 0 0 0 12px;
  font-size: 1.8rem;
}

/*	画像の正方形トリミング
------------------------*/
.square_img {
  position: relative;
  width: 100%;
}
.square_img:before {
  display: block;
  content: '';
  position: relative;
  z-index: -1;
  padding-top: 100%;
}
.square_img .img {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: #ccc;
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
}
.square_img .contain {
  background-size: contain;
}

/*	画像の正円トリミング
------------------------*/
.circle_img {
  position: relative;
  width: 100%;
  margin-right: auto;
  margin-left: auto;
}
.circle_img:before {
  display: block;
  content: '';
  padding-top: 100%;
}
.circle_img .img {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: #ccc;
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
  border-radius: 50%;
}

/*	タグリスト
------------------------*/
.tag_list {
  margin: 0 0 -8px 0;
  font-size: 0;
}
.tag_list li {
  display: inline-block;
  position: relative;
  margin: 0 5px 8px 0;
  box-sizing: border-box;
  font-size: 1.6rem;
  line-height: 1;
  letter-spacing: 0;
  transition: 0.3s;
}
.tag_list li:only-of-type {
  margin: 0 0 5px 0;
}
.tag_list li a {
  display: block;
  padding: 4px;
  background: #f3f3f3;
  border: solid 1px #ebebeb;
  color: #000;
  text-decoration: none;
  transition: 0.3s;
}
.tag_list li .no_link {
  display: block;
  background: #f3f3f3;
  border: solid 1px #ebebeb;
  padding: 4px;
  color: #000;
}
.tag_list.reverse li a {
  color: #fff;
}

.tag_list.area li a {
  background: #fff;
  border: 1px solid #000;
}
.tag_list.area li .no_link {
  background: #fff;
  border: 1px solid #000;
}

/*	物件ステータス
------------------------*/
.status_label_block {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  margin: 15px 0;
}
.status_label {
  display: flex;
  margin: 0 0 -4px 0;
}
.status_label li {
  margin: 0 4px 4px 0;
  padding: 5px 10px;
  font-size: 1.8rem;
  font-weight: 700;
}
.status_label .bukken_type {
  background: #66cad5;
  border: solid 2px #66cad5;
  color: #fff;
}
.status_label .bukken_category {
  color: #66cad5;
  border: solid 2px #66cad5;
}
.status_label .bukken_status {
  background: #ad9f77;
  border: solid 2px #ad9f77;
  color: #fff;
}

/*	カテゴリラベル
------------------------*/
.category_label {
  display: inline-block;
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  padding: 8px 5px;
  background: #000;
  color: #fff;
  font-size: 1.8rem;
  line-height: 1;
}

/*	column
------------------------*/
.col_block {
  letter-spacing: -0.5em;
  line-height: 1.5;
  text-align: left;
  margin-left: -2%;
}
.col_block .item {
  display: inline-block;
  letter-spacing: normal;
  margin: 0 0 2.4% 0;
  vertical-align: top;
}
.col_block.col02 .item {
  width: 48%;
  margin: 0 2% 0 0;
}
.col_block.col03 .item {
  width: 31.333333333333%;
  margin: 0 2% 0 0;
}
.col_block.col04 .item {
  width: 23%;
  margin: 0 2% 0 0;
}
.col_block.col05 .item {
  width: 18%;
  margin: 0 2% 0 0;
}
.col_block .ranking_item {
}

.column {
  display: flex;
  flex-wrap: wrap;
  /* 左寄せ（初期値） */
  justify-content: flex-start;
}
.column.start {
  /* 左寄せ */
  justify-content: flex-start;
}
.column.center {
  /* 真ん中基準に寄せるとき */
  justify-content: center;
}
.column.around {
  /* 真ん中基準で等間隔 */
  justify-content: space-around;
}
.column.between {
  /* 両端から等間隔 */
  justify-content: space-between;
}

.column.col02 .item {
  width: 48%;
}
.column.col03 .item {
  width: 32%;
}
.column.col04 .item {
  width: 23%;
}
.column.col05 .item {
  width: 19%;
}
.column .ranking_item {
  width: 19%;
}
/* -------------------------------------
	レイアウト初期設定
---------------------------------------- */
.container {
  overflow: hidden;
  min-width: 100%;
  min-height: 100%;
  position: relative;
}

.footer_inner,
.content_inner {
  margin: auto;
  max-width: 1920px;
}

/* -------------------------------------
	header
---------------------------------------- */
.header {
  position: fixed;
  z-index: 200;
  top: 0;
  width: 100%;
  min-width: 1280px;
  height: 50px;
  box-shadow: 0 0 11px 0 rgba(0, 0, 0, 0.2);
}
.header + * {
  padding-top: 50px;
}
.header_inner {
  display: flex;
  justify-content: space-between;
  position: relative;
  z-index: 1000;
  width: 100%;
  height: 100%;
  background: #fff;
}

.header .main_menu {
  display: flex;
  width: calc(100% - 50px);
}
.header .logo_area {
  display: flex;
  background: #66cad5;
  width: 240px;
}
.header .logo_area .logo {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  transition: opacity, 0.3s;
}
.header .logo_area .logo img {
  width: 180px;
}
.header .gnavi {
  width: calc(100% - 240px);
}
.header .gnavi_list {
  display: flex;
  align-items: center;
  width: 100%;
  height: 100%;
  padding: 0 0 0 55px;
}
.header .gnavi_list > li {
  display: flex;
  align-items: center;
  height: 100%;
  cursor: default;
}
.header .gnavi_list > .company {
  flex-grow: 1;
}
.header .gnavi_list .gnavi_title {
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 50px;
  padding: 0 30px;
  font-size: 2.2rem;
  font-weight: 700;
  cursor: pointer;
}
.header .gnavi_list > .company .gnavi_title {
  margin: 0 0 0 auto;
  color: #999;
  font-size: 2rem;
  font-weight: 500;
  transition: opacity, 0.3s;
}
.header .gnavi_list > li:not(.company) .gnavi_title:after {
  display: block;
  content: '';
  width: 0;
  height: 3px;
  margin: 3px 0 0 0;
  background: #66cad5;
  transition: 0.2s;
}
.header .gnavi_list > li:not(.company) .active:after {
  width: 100%;
}
.header .gnavi_target {
  display: none;
  position: absolute;
  z-index: 10;
  top: 100%;
  right: 0;
  left: 0;
  width: 100%;
  height: 300px;
}
.header .gnavi_inner {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  box-sizing: border-box;
  z-index: 1000;
}
.header .gnavi_inner .inner_top {
  overflow: hidden;
  display: flex;
}
.header .gnavi_inner .inner_top:after {
  display: block;
  content: '';
  width: calc(100% - 410px - 985px);
  height: 300px;
  background-size: cover;
}
.header .estate .gnavi_inner .inner_top:after {
  background-image: url(../images/common/header/bg_header_inner01.jpg);
}
.header .expert .gnavi_inner .inner_top:after {
  background-image: url(../images/common/header/bg_header_inner02.jpg);
}
.header .lifestyle .gnavi_inner .inner_top:after {
  background-image: url(../images/common/header/bg_header_inner03.jpg);
}
.header .gnavi_inner .title_block {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 410px;
  height: 300px;
  background: #fff;
  border-top: 2px solid #66cad5;
  border-bottom: 2px solid #66cad5;
}
.header .gnavi_inner .title_block .title {
  font-size: 3.4rem;
  font-weight: 700;
}
.header .gnavi_inner .title_block .title:before {
  display: inline-block;
  content: '';
  width: 45px;
  height: 45px;
  margin: 0 10px 0 0;
  background-repeat: no-repeat;
  background-size: 100% auto;
  vertical-align: top;
}
.header .estate .gnavi_inner .title_block .title:before {
  background-image: url(../images/common/header/icon_gnavi_estate.png);
}
.header .expert .gnavi_inner .title_block .title:before {
  background-image: url(../images/common/header/icon_gnavi_expert.png);
}
.header .lifestyle .gnavi_inner .title_block .title:before {
  background-image: url(../images/common/header/icon_gnavi_lifestyle.png);
}
.header .gnavi_inner .list_block {
  width: 985px;
  background: #66cad5;
}
.header .gnavi_inner_list {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: flex-start;
  height: 300px;
  padding: 40px 65px;
}
.header .gnavi_inner_list > li {
  width: 48%;
  margin: 0 4% 0 0;
  border-bottom: 1px solid #fff;
}
.header .gnavi_inner_list > li a {
  display: block;
  position: relative;
  padding: 10px 0 15px 0;
  color: #fff;
  font-size: 2.2rem;
  transition: 0.3s;
}
.header .gnavi_inner_list > li a:after {
  display: inline-block;
  content: '\f105';
  position: absolute;
  top: 50%;
  right: 0;
  font-family: FontAwesome;
  transform: translate(0, -50%);
}
.header .close_btn {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 40px;
  background: #fff;
  font-size: 3rem;
  font-weight: 700;
  text-align: center;
  line-height: 1;
  cursor: pointer;
  box-shadow: 0 0 11px 0 rgba(0, 0, 0, 0.2);
}

.header .sub_menu_list {
  display: flex;
  height: 100%;
}
.header .sub_menu_list > li {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  text-align: center;
}
.header .sub_menu_list > li.gnavi_btn {
  display: none;
}
.header .sub_menu_list > li a {
  display: flex;
  align-items: center;
  height: 100%;
}
.header .sub_menu_list > li .sub_menu_btn {
  display: flex;
  align-items: center;
  height: 50px;
  padding: 0 10px;
  font-size: 1.8rem;
  font-weight: 700;
  cursor: pointer;
  transition: 0.3s;
}
.header .sub_menu_list > li .sub_menu_btn:before {
  display: block;
  content: '';
  width: 30px;
  height: 30px;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: auto 100%;
  vertical-align: middle;
}
.header .sub_menu_list > li.login .sub_menu_btn:before {
  background-image: url(../images/common/header/icon_header_login.png);
  margin: 0 15px 0 0;
}
.header .sub_menu_list > li.search {
  background-color: #000;
}
.header .sub_menu_list > li.search .sub_menu_btn.active {
  background: #66cad5;
  transition: 0.3s;
}
.header .sub_menu_list > li.search .sub_menu_btn:before {
  background-image: url(../images/common/header/icon_header_search.png);
}
.header .sub_menu_list > li.search .sub_menu_btn .text {
  display: none;
}
.header .sub_menu_inner {
  overflow: hidden;
  display: flex;
  z-index: 10;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 285px;
  box-sizing: border-box;
}
.header .active + .gnavi_target .sub_menu_inner {
  z-index: 1000;
}
.header .sub_menu_inner .search_block {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: center;
  width: 50%;
  background: #49b7c3;
}
.header .sub_menu_inner .search_block.estate {
  align-items: flex-start;
}
.header .sub_menu_inner .search_block a {
  width: 100%;
  background: #66cad5;
  transition: opacity, 0.3s;
}
.header .sub_menu_inner .search_block .inner {
  display: flex;
  flex-direction: column;
  width: 600px;
  margin: 0 40px;
}
.header .sub_menu_inner .search_block .title_box {
  display: flex;
  flex-grow: 1;
  align-items: center;
  position: relative;
}
.header .sub_menu_inner .estate .title_box:after {
  display: inline-block;
  content: '\f105';
  position: absolute;
  top: 50%;
  right: 0;
  color: #fff;
  font-family: FontAwesome;
  font-size: 5rem;
  transform: translate(0, -50%);
}
.header .sub_menu_inner .search_block .title {
  position: relative;
  padding: 0 0 0 70px;
  color: #fff;
  font-size: 3.4rem;
  font-weight: 700;
}
.header .sub_menu_inner .search_block .title:before {
  display: inline-block;
  content: '';
  background-image: url(../images/common/header/icon_header_search02.png);
  background-size: 100% auto;
  background-repeat: no-repeat;
  background-position: center;
  position: absolute;
  top: 50%;
  left: 0;
  width: 42px;
  height: 42px;
  transform: translate(0, -50%);
  line-height: 0;
}
.header .sub_menu_inner .estate .title:before {
  background-image: url(../images/common/header/icon_header_search01.png);
}
.header .sub_menu_inner .search_block .content_box {
  margin: 20px 0 0 0;
}
.header .sub_menu_inner .search_block .form_inner {
  display: flex;
  height: 60px;
}
.header .sub_menu_inner .search_block input {
  height: 100%;
}
.header .sub_menu_inner .search_block input[type='search'] {
  flex-grow: 1;
  border: none;
  border-radius: 5px 0 0 5px;
}
.header .sub_menu_inner .search_block input[type='submit'] {
  padding: 0 28px;
  background: #ebebeb;
  border-radius: 0 5px 5px 0;
  cursor: pointer;
  transition: 0.3s;
}
.header .sub_menu_inner .search_block .base_btn {
  width: 100%;
  height: 60px;
}

/* -------------------------------------
	footer
---------------------------------------- */
.footer {
  position: relative;
  z-index: 100;
  background: #2b2b2b;
  width: 100%;
  min-width: 1280px;
}

.footer_area {
  padding-right: calc((100% - 1280px) / 2);
  padding-left: calc((100% - 1280px) / 2);
}

.footer_top_area {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  padding-top: 24px;
  padding-bottom: 24px;
  border-bottom: 1px solid #484848;
}
.footer_top_area .link_block {
  display: flex;
}
.footer_top_area .link_block > li {
  border-right: 1px solid #484848;
}
.footer_top_area .link_block > li:first-child {
  border-left: 1px solid #484848;
}
.footer_top_area .link_block > li a {
  display: block;
  position: relative;
  padding: 10px 50px;
  color: #fff;
  font-size: 1.8rem;
}
.footer_top_area .link_block > li a:before {
  display: inline-block;
  content: '\f105';
  position: absolute;
  top: 50%;
  left: 30px;
  color: #74d8ce;
  font-family: FontAwesome;
  transition: 0.3s;
  transform: translate(0, -50%);
}

.footer_content_area {
  display: flex;
  padding-top: 40px;
  padding-bottom: 40px;
}
.footer_content_area .sitemap_block {
  display: flex;
  flex-shrink: 0;
  width: 720px;
}
.footer_content_area .sitemap_block > .item {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  width: 50%;
  padding: 0 0 0 30px;
}
.footer_content_area .sitemap_block > .item:first-child {
  border-right: 1px solid #484848;
}
.footer_content_area .sitemap_list {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  margin: 0 0 10px 0;
}
.footer_content_area .sitemap_list dt {
  margin: 0 0 10px 0;
  color: #66cad5;
  font-size: 2rem;
  font-weight: 300;
}
.footer_content_area .sitemap_list dd {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  justify-content: space-between;
}
.footer_content_area .bottom_list {
  margin-top: 20px;
}
.footer_content_area .sitemap_list dd a,
.footer_content_area .bottom_list > li a {
  display: block;
  position: relative;
  padding: 5px 0;
  color: #fff;
  font-size: 1.8rem;
  font-weight: 300;
  transition: 0.3s;
}
.footer_content_area .sitemap_list dd a:before,
.footer_content_area .bottom_list > li a:before {
  display: block;
  content: '';
  position: absolute;
  top: 50%;
  left: 0;
  transform: translate(0, 50%);
  width: 0;
  height: 1px;
  background: #74d8ce;
  transition: 0.3s;
}
.footer_content_area .sitemap_list .main_item {
  margin: 0 0 20px 0;
}
.footer_content_area .sitemap_list .main_item a {
  padding-left: 25px;
  font-weight: 700;
}
.footer_content_area .sitemap_list .main_item a:before {
  display: block;
  content: '';
  position: absolute;
  top: 50%;
  left: 0;
  transform: translate(0, 50%);
  width: 16px;
  height: 1px;
  background: #74d8ce;
  transition: 0.3s;
}
.footer_content_area .benefits_block {
  width: 560px;
}
.footer_content_area .benefits_box {
  display: flex;
  padding: 20px 20px 20px 30px;
  background: #383839;
}
.footer_content_area .benefits_box .text_item {
  flex-shrink: 0;
  width: 260px;
  margin: 0 30px 0 0;
}
.footer_content_area .benefits_box .text_item .title {
  margin: 0 0 10px 0;
  color: #fff;
  font-size: 2rem;
  font-weight: 700;
}
.footer_content_area .benefits_box .text_item .title img {
  margin: 0 12px 0 0;
  vertical-align: top;
}
.footer_content_area .benefits_box .text_item .text {
  color: #fff;
  font-size: 1.8rem;
  font-weight: 300;
  line-height: 1.6;
}
.footer_content_area .benefits_box .img_item {
  flex-shrink: 0;
  width: 220px;
  text-align: center;
}
.footer_content_area .benefits_box .img_item .btn_area {
  margin: 12px 0 0 0;
}
.footer_content_area .benefits_box .img_item .base_btn {
  padding: 8px 0;
  background: none;
  border: 1px solid #6f6f70;
  box-shadow: none;
  color: #fff;
  font-size: 1.8rem;
  font-weight: 300;
}
.footer_content_area .benefits_box .img_item .base_btn:after {
  right: 16px;
  font-size: 2rem;
}
.footer_content_area .bnr_box {
  /*margin: 24px 0 0 0;*/
}
.footer_content_area .bnr_box .bnr_list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  width: 100%;
}
.footer_content_area .bnr_box .bnr_list > li:not(:nth-of-type(-n + 2)) {
  margin: 10px 0 0 0;
}
.footer_content_area .bnr_box .bnr_list > li {
  transition: opacity, 0.3s;
}

.footer_bottom_area {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-top: 30px;
  padding-bottom: 30px;
  background: #000;
}
.footer_bottom_area .link_list {
  display: flex;
}
.footer_bottom_area .link_list > li + li {
  margin: 0 0 0 45px;
}
.footer_bottom_area .link_list > li a {
  color: #fff;
  font-weight: 300;
  transition: color, 0.3s;
}
.footer_bottom_area .sns_list {
  display: flex;
}
.footer_bottom_area .sns_list > li + li {
  margin: 0 0 0 50px;
}
.footer_bottom_area .sns_list a {
  transition: opacity, 0.3s;
}
.footer_bottom_area .sns_list img {
  width: 25px;
  height: auto;
}

.copyright_area {
  padding: 25px 0 18px 0;
  text-align: center;
}
.copyright_area .logo_block {
  display: block;
  margin: 0 0 10px 0;
}
.copyright_area .logo_block a {
  transition: opacity, 0.3s;
}
.copyright_area .logo_block .logo img {
  width: 262px;
}
.copyright_area .copyright {
  display: block;
  color: #fff;
  font-size: 1.2rem;
}

/*	固定ボタン
------------------------*/
.follow_area {
  display: none;
  position: fixed;
  z-index: 101;
  bottom: 0;
  width: 100%;
  min-height: 85px;
  padding: 15px 0;
  background: none;
  text-align: center;
  pointer-events: none;
}
.follow_area > .btn_area {
  display: none;
  margin: 0;
}

/* 固定お問合せボタンを表示 */
.company_detail .follow_area,
.specialist_detail .follow_area,
.medicare_detail .follow_area,
.lawyer_detail .follow_area,
.school_detail .follow_area,
.restaurant_detail .follow_area,
.shop_detail .follow_area,
.lifestyle_detail .follow_area {
  background: rgba(0, 0, 0, 0.7);
  pointer-events: auto;
}
.company_detail .follow_area > .btn_area,
.specialist_detail .follow_area > .btn_area,
.medicare_detail .follow_area > .btn_area,
.lawyer_detail .follow_area > .btn_area,
.school_detail .follow_area > .btn_area,
.restaurant_detail .follow_area > .btn_area,
.shop_detail .follow_area > .btn_area,
.lifestyle_detail .follow_area > .btn_area {
  display: inline-block;
}
body:not(.company_detail):not(.agent_detail) .follow_area > .btn_area.estate {
  display: none;
}
.company_detail .follow_area > .btn_area:not(.estate),
.agent_detail .follow_area > .btn_area:not(.estate) {
  display: none;
}

.follow_area .base_btn {
  min-height: 0;
  padding: 10px 17px;
  border-radius: 5px;
  box-shadow: none;
}
.follow_area > .btn_area > .contact_btn {
  min-width: 300px;
  padding: 18px 55px;
}
.follow_area > .btn_area > .contact_btn:before {
  display: inline-block;
  content: '';
  position: absolute;
  top: 50%;
  left: 17px;
  width: 28px;
  height: 35px;
  background-image: url(../images/common/icon_follow.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100% auto;
  transform: translate(0, -50%);
}
.follow_area > .btn_area > .contact_btn:after {
  right: 15px;
}

.follow_area > .btn_area.search,
.follow_area > .btn_area.agent {
  display: none;
}
.follow_area .inner {
  display: none;
}

/*	ページトップ
------------------------*/
.pagetop {
  display: flex;
  align-items: center;
  position: absolute;
  z-index: 99;
  top: 15px;
  right: 15px;
  bottom: 15px;
  pointer-events: auto;
}
.pagetop a {
  display: inline-block;
  padding: 12px;
  background: #fff;
  border: 1px solid rgba(0, 0, 0, 0.7);
  border-radius: 5px;
  font-size: 1.4rem;
  text-align: center;
  text-decoration: none;
  transition: opacity, 0.3s;
}
.pagetop a:after {
  display: inline-block;
  content: '\f148';
  margin: 0 0 0 5px;
  font-family: FontAwesome;
  font-size: 2rem;
}

/* -------------------------------------
	visual_area
---------------------------------------- */
.visual_area .visual {
  /*background-color: #66cad5;*/
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  /*height:240px;*/
  display: flex;
  align-items: center;
  align-content: center;
  flex-wrap: wrap;
  justify-content: flex-start;
  padding: 20px 0;
  border-bottom: 1px solid #000;
}
.no_bg .visual {
  /*background: linear-gradient(to right,#edf7f8, #bcf3f9);*/
}

.visual_area .parent_title {
  width: 1280px;
  min-height: 1em;
  margin: 0 auto 10px auto;
  color: #000;
}
.visual_area .parent_title:before {
  display: inline-block;
  content: '';
  width: 35px;
  height: 2px;
  margin: calc((1em - 2px) / 2) 10px calc((1em - 2px) / 2) 0;
  background: #66cad5;
}

.visual_area .visual_title {
  position: relative;
  width: 1280px;
  font-size: 3.8rem;
  color: #000;
  line-height: 1;
}
.no_bg .visual_title,
.no_bg .visual_title {
  color: #000;
}
/*
.school .visual_area .visual_title,
.restaurant .visual_area .visual_title,
.lifestyle .visual_area .visual_title,
.medicare .visual_area .visual_title,
.lawyer .visual_area .visual_title,
.specialist .visual_area .visual_title,
.shop .visual_area .visual_title {
	padding: 0 0 0 60px;
}
.school .visual_area .visual_title:before,
.restaurant .visual_area .visual_title:before,
.lifestyle .visual_area .visual_title:before,
.medicare .visual_area .visual_title:before,
.lawyer .visual_area .visual_title:before,
.specialist .visual_area .visual_title:before,
.shop .visual_area .visual_title:before {
	display: inline-block;
	content: "";
	position: absolute;
	top: -6px;
	left: -10px;
	width: 60px;
	height: 60px;
	background-repeat: no-repeat;
	background-size: 100% auto;
}
.school .visual_area .visual_title:before {
	background-image: url(../images/common/icon_category2_sp.png);
}
.restaurant .visual_area .visual_title:before {
	background-image: url(../images/common/icon_category3_sp.png);
}
.lifestyle .visual_area .visual_title:before {
	background-image: url(../images/common/icon_category4_sp.png);
}
.medicare .visual_area .visual_title:before {
	background-image: url(../images/common/icon_category5_sp.png);
}
.lawyer .visual_area .visual_title:before {
	background-image: url(../images/common/icon_category6_sp.png);
}
.specialist .visual_area .visual_title:before {
	background-image: url(../images/common/icon_category7_sp.png);
}
.shop .visual_area .visual_title:before {
	background-image: url(../images/common/icon_category8_sp.png);
}*/

/* -------------------------------------
	content
---------------------------------------- */
.content {
  width: 1280px;
  margin: 0 auto;
}
.main_content {
  display: flex;
  justify-content: space-between;
  width: 1280px;
  margin: 0 auto;
  padding-bottom: 80px;
  align-items: flex-start;
}
.main {
  width: 980px;
}
.main.full {
  width: 100%;
}

.main .intro_area .title {
  margin: 0 0 16px 0;
  font-size: 3.4rem;
  line-height: 1.2;
}
.main .intro_area .before_text {
  font-size: 1.8rem;
  line-height: 1.4;
}
.main .intro_area .after_text {
  font-size: 2.8rem;
  font-weight: 700;
  text-align: center;
  line-height: 1.4;
}
.main .intro_area .text_link {
  display: block;
  margin: 10px 0 0 0;
  text-align: center;
  text-decoration: underline;
  line-height: 1.4;
}
.main .intro_area .intro_item {
  display: flex;
  justify-content: space-between;
  width: 100%;
  border-bottom: 1px solid #dcdcdc;
}
.main .intro_area .tag_list {
  padding: 0 0 20px 0;
}
.main .intro_area .data_block {
  display: flex;
  text-align: right;
  font-size: 3rem;
  font-weight: 700;
  line-height: 32px;
}
.main .intro_area .data_block .data_item + .data_item {
  margin-left: 20px;
}
.main .intro_area .data_block .bed,
.main .intro_area .data_block .bath {
  flex-shrink: 0;
}
.main .intro_area .data_block .bed:before,
.main .intro_area .data_block .bath:before {
  display: inline-block;
  content: '';
  width: 28px;
  height: 30px;
  margin: 0 8px 0 0;
  background-size: 100% auto;
  background-repeat: no-repeat;
  background-position: center;
  vertical-align: top;
}
.main .intro_area .data_block .bed:before {
  background-image: url(../images/common/icon_bed_bk.png);
}
.main .intro_area .data_block .bath:before {
  background-image: url(../images/common/icon_bath_bk.png);
}

.sub_content .sub_area {
  width: 100%;
  padding: 0 calc((100% - 1280px) / 2) 80px;
}
.sub_content .btn_area + .sub_area {
  padding-top: 80px;
}
.sub_content .sub_area.bg {
  padding: 40px calc((100% - 1280px) / 2);
  background: #f3fdfe;
}
.sub_content .sub_area:last-child:not(.bg) {
  padding-bottom: 80px;
}
.sub_content .sub_area:not(:last-of-type).bg {
  background: none;
}

/*	side
------------------------*/
.side {
  width: 250px;
  position: relative;
}

.side_content_wrap {
  width: 250px;
}

.side_menu_title {
  margin: 0 0 20px 0;
  padding: 0 0 10px 0;
  border-bottom: 1px solid #ccc;
}
.top_line_title {
  margin: 0 0 12px 0;
  padding: 25px 10px;
  background: #e4f7f9;
  border-bottom: none;
  font-weight: 700;
  text-align: center;
}
.side_content .btn_area,
.center_content .btn_area {
  margin-bottom: 0;
}
.side_content .base_btn,
.center_content .base_btn {
  height: 50px;
}
.side_content .base_btn:after,
.center_content .base_btn:after {
  font-size: 2.4rem;
}
.side_content + .side_content,
.center_content + .center_content {
  margin: 55px 0 0 0;
}

/* サイドナビ */
.side_navi_list {
  border-top: 1px solid #000;
  border-bottom: 1px solid #000;
}
.side_navi_list li + li {
  border-top: 1px solid #ccc;
}
.side_navi_list li a {
  display: block;
  padding: 18px 0;
  font-weight: 700;
  transition: color, 0.3s;
}
.side_navi_list .active a {
  color: #66cad5;
}

/* おすすめの新着記事 */
.side_content .article_list > li + li,
.center_ranking_list .article_list > li + li {
  margin: 30px 0 0 0;
}
.side_content .article_list > li a,
.center_ranking_list .article_list > li a {
  transition: opacity, 0.3s;
}
.side_content .article_list .category_label,
.center_ranking_list .article_list .category_label {
  font-size: 1.6rem;
}
.side_content .article_list .text,
.center_ranking_list .article_list .text {
  font-size: 1.8rem;
  font-weight: 700;
}

/* 不動産会社・エージェントを探す */
.side_tab_switch {
  margin-bottom: 27px;
  font-size: 0;
  letter-spacing: -0.4em;
}
.side_tab_switch > li {
  display: inline-block;
  width: 100%;
  padding: 14px 0;
  background: #000;
  box-sizing: border-box;
  color: #fff;
  font-size: 1.6rem;
  text-align: center;
  vertical-align: bottom;
  letter-spacing: 0;
}
.side_tab_switch > li.active {
  padding: 20px 0 20px 0;
  background: #fff;
  border-top: 2px solid #000;
  border-right: 2px solid #000;
  border-left: 2px solid #000;
  border-bottom: 2px solid #000;
  color: #000;
}
.side_tab_group .side_tab_target:not(:first-of-type) {
  display: none;
}
.side_tab_target .side_tab_list > li {
  border-top: 2px solid #e0e0e0;
}
.side_tab_target .side_tab_list > li .link_area {
  padding-top: 20px;
  display: flex;
  align-items: flex-start;
  transition: opacity, 0.3s;
}
.side_tab_target .side_tab_list > li + li {
  margin-top: 20px;
}
.side_tab_target .side_tab_list > li .square_img,
.side_tab_target .side_tab_list > li .circle_img {
  width: 80px;
  margin: 0 14px 0 0;
}
.side_tab_target .side_tab_list > li .text {
  width: calc(100% - 94px);
  font-weight: 700;
  line-height: 1.3;
}
.side_tab_target .side_tab_list > li .base_btn {
  display: none;
}

/* お知らせ */
.side_area_list li {
  display: flex;
  align-items: flex-start;
  margin: 0 0 15px 0;
}
.side_area_list li:not(:last-child) {
  padding: 0 0 15px 0;
  border-bottom: 1px solid #ccc;
}
.side_area_list .img_block {
  display: flex;
  align-items: center;
}
.side_area_list .square_img {
  flex-shrink: 0;
  width: 70px;
  margin: 0 10px 10px 0;
}
.side_area_list .-text_block {
  overflow: hidden;
  width: calc(100% - 80px);
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.3;
}

.side_area_list .company_name {
  font-size: 85%;
}

/* ランキング(サイド) */
.side_ranking_list {
  counter-reset: ranking_num;
}
.side_ranking_list li + li {
  margin: 35px 0 0 0;
}
.side_ranking_list li a {
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
  transition: opacity, 0.3s;
}
.side_ranking_list .img_block {
  display: flex;
  align-items: center;
  position: relative;
  width: 100%;
  background: #66cad5;
}
.side_ranking_list .img_block:before {
  display: block;
  counter-increment: ranking_num;
  content: counter(ranking_num);
  width: 70px;
  color: #fff;
  font-size: 2rem;
  font-weight: 700;
  text-align: center;
}
.side_ranking_list .square_img {
  flex-shrink: 0;
  width: calc(100% - 70px);
}
.side_ranking_list .title {
  line-height: 1.3;
}

/* ランキング(センター) */
.center_ranking_list {
  counter-reset: ranking_num;
  justify-content: space-between;
}
.center_ranking_list li a {
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
  transition: opacity, 0.3s;
}
.center_ranking_list .img_block {
  display: flex;
  align-items: center;
  position: relative;
  width: 100%;
  background: #66cad5;
}
.center_ranking_list .img_block:before {
  display: block;
  counter-increment: ranking_num;
  content: counter(ranking_num);
  width: 70px;
  color: #fff;
  font-size: 2rem;
  font-weight: 700;
  text-align: center;
}
.center_ranking_list .square_img {
  flex-shrink: 0;
  width: calc(100% - 70px);
}
.center_ranking_list .title {
  line-height: 1.3;
}

/* ニュース */
.side_news_list li {
  padding: 0 0 20px 0;
  border-bottom: solid 1px #cccccc;
}
.side_news_list li + li {
  padding: 15px 0;
}
.side_news_list .-date_block {
  font-size: 1.6rem;
  margin: 0 0 5px 0;
}
.side_news_list .-text_block {
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.3;
}

/* 検索条件 */
.side_search_sub {
  margin: 40px 0 0 0;
}
.side_search_block + .side_search_block {
  margin: 15px 0 0 0;
}
.side_search_block dt {
  position: relative;
  margin: 0 0 15px 0;
  font-weight: 700;
}
.side_search_area .side_search_block.sub dt {
  padding: 10px 0;
  border-bottom: 1px solid #ccc;
}
.side_search_block.accordion dt {
  cursor: pointer;
}
.side_search_block.accordion dt:after {
  display: inline-block;
  content: '\f107';
  position: absolute;
  top: 50%;
  right: 10px;
  transform: translate(0, -50%);
  color: #555;
  font-family: FontAwesome;
  font-size: 2.4rem;
  font-weight: normal;
}
.side_search_block.accordion dt.active:after {
  content: '\f106';
}
.side_search_block dd {
  position: relative;
}
.side_search_block dd + dd {
  margin: 16px 0 0 0;
}
.side_search_block.price {
  font-size: 0;
  letter-spacing: -0.4em;
}
.side_search_block.price dt {
  font-size: 2rem;
  letter-spacing: normal;
}
.side_search_block.price dd {
  display: inline-block;
  width: 80%;
  font-size: 2rem;
  letter-spacing: normal;
}
.side_search_block.price .text_from {
  width: 20%;
  text-align: center;
}
.side_search_area .side_search_block.accordion dd {
  display: none;
}
.side_search_area .side_search_block.accordion.active dd {
  display: block;
}
.side_search_block dd input[type='text'],
.side_search_block dd select {
  width: 100%;
  background: #fff;
  border: 1px solid #ccc;
}
.side_search_block select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  padding-right: 25px;
}
.side_search_block ::-ms-expand {
  display: none;
}
.side_search_block .select_box:after {
  display: inline-block;
  content: '\f0d7';
  position: absolute;
  z-index: 2;
  top: 50%;
  right: 10px;
  transform: translate(0, -50%);
  font-family: FontAwesome;
  font-size: 2rem;
  pointer-events: none;
}
.side_search_block .initial_text {
  position: absolute;
  z-index: 1;
  top: 1px;
  right: 1px;
  bottom: 1px;
  left: 1px;
  padding: 10px 10px 10px 15px;
  background: #fff;
  border-radius: 5px;
  color: #aaa;
  pointer-events: none;
}
.side_search_block .check_box {
  margin: 0 -8px -16px 0;
}
.side_search_block .check_box label {
  display: inline-block;
  margin: 0 8px 16px 0;
  vertical-align: top;
  cursor: pointer;
}
.side_search_block .check_box .label_text {
  position: relative;
  padding: 2px 10px 2px 37px;
  background: #fff;
  border: 1px solid #000;
  border-radius: 2em;
  line-height: 17px;
}
.side_search_block .check_box .label_text:before {
  display: inline-block;
  content: '';
  position: absolute;
  top: 50%;
  left: 10px;
  width: 17px;
  height: 17px;
  background: #fff;
  border: 1px solid #ccc;
  border-radius: 5px;
  box-sizing: border-box;
  color: #fff;
  font-family: FontAwesome;
  font-size: 1.3rem;
  text-align: center;
  transform: translate(0, -50%);
}
.side_search_block .check_box input[type='checkbox'] {
  display: none;
}
.side_search_block .check_box input[type='checkbox']:checked + .label_text:before {
  content: '\f00c';
  background: #777;
  border: none;
}
.side_search_area .hit_block {
  margin: 50px 0 0 0;
}
.side_search_area .hit_block dt {
  position: relative;
  margin: 0 0 12px 0;
  padding: 25px 10px;
  background: #e4f7f9;
  font-weight: 700;
  text-align: center;
}
.side_search_area .hit_block dt:after {
  display: block;
  content: '';
  position: absolute;
  right: 25px;
  bottom: -12px;
  width: 0;
  height: 0;
  border-top: solid 14px #e4f7f9;
  border-right: solid 8px transparent;
  border-left: solid 8px transparent;
}
.side_search_area .hit_block dd {
  margin: 15px 0 0 0;
  color: #66cad5;
  font-size: 2.2rem;
  font-weight: 700;
  text-align: right;
  line-height: 1;
}
.side_search_area .hit_block dd .num {
  font-size: 4.5rem;
}
.side_search_area .btn_area {
  margin-top: 30px;
}
.side_search_area .btn_area .base_btn + .base_btn {
  margin-top: 20px;
}
.side_search_area .contact_btn {
  padding: 20px;
}
.side_search_area .clear_btn {
  justify-content: flex-start;
  padding: 10px 20px 10px 70px;
  border-radius: 2em;
}
.side_search_area .clear_btn:after {
  content: '\f021';
  right: auto;
  left: 40px;
  font-size: 2rem;
}

/* 担当エージェント紹介 */
.side_agent_intro .side_menu_text {
  margin: 0 0 25px 0;
  font-size: 1.8rem;
  letter-spacing: 0;
  font-weight: 700;
}
.side_agent_intro_list {
  margin: 0 0 30px 0;
}
.side_agent_intro_list > li {
  overflow: hidden;
  width: 100%;
  background: #f6f6f7;
  border-radius: 10px;
  cursor: pointer;
}
.side_agent_intro_list > li + li {
  margin: 20px 0 0 0;
}
.side_agent_intro_list > li label {
  width: 100%;
}
.side_agent_intro_list input[type='checkbox'],
.destination_block .agent_box .selected_agent_list input[type='checkbox'] {
  display: none;
}
.side_agent_intro_list input:not([disabled='disabled']) + .inner {
  cursor: pointer;
  transition: opacity, 0.3s;
}
.side_agent_intro_list .inner {
  position: relative;
  padding: 17px 17px 30px 17px;
} /*
.side_agent_intro_list input[type="checkbox"]:checked + .inner {
	background: #66cad5;
	color: #fff;
}*/
.side_agent_intro_list .inner:before,
.destination_block .agent_box .selected_agent_list .img_item.img_box:before {
  display: inline-block;
  content: '';
  position: absolute;
  top: 10px;
  left: 10px;
  width: 20px;
  height: 20px;
  background: #cbcbcb;
  border-radius: 5px;
  box-sizing: border-box;
  color: #f0f0f1;
  font-family: FontAwesome;
  font-size: 1.5rem;
  text-align: center;
  line-height: 20px;
  vertical-align: top;
}
.side_agent_intro_list .inner.active:before,
.destination_block .agent_box .selected_agent_list .img_item.img_box.active:before {
  background: #66cad5;
}
.destination_block .agent_box .selected_agent_list .img_item.img_box:before {
  top: auto;
  left: auto;
}
.destination_block .agent_box .selected_agent_list .img_item.img_box.nonactive:before {
  content: '\f00c';
}
.destination_block .agent_box .selected_agent_list label {
  display: block;
}
.side_agent_intro_list input[type='checkbox']:checked + .inner:before,
.side_agent_intro_list input[type='checkbox']:checked + .label_text + .inner:before,
.destination_block .agent_box .selected_agent_list input[type='checkbox']:checked + .img_item.img_box:before {
  content: '\f00c';
  /*	background: #037885;
	color: #66cad5;*/
}
.side_agent_intro_list .label_text {
  /*margin: 0 17px 10px 17px;*/
  padding: 8px 17px;
  background: #cbcbcb;
  /*border-bottom: 1px solid #d5d5d5;*/
  color: #fff;
  font-weight: 700;
  line-height: 20px;
}
.side_agent_intro_list .img_block {
  display: flex;
  align-items: flex-start;
  margin: 0 0 8px 0;
  padding: 0 0 8px 0;
  border-bottom: 1px solid #d5d5d5;
  font-weight: 700;
} /*
.side_agent_intro_list input[type="checkbox"]:checked + .inner .img_block {
	border-bottom: 1px solid #fff;
}*/
.side_agent_intro_list .name {
  width: calc(100% - 80px);
  margin: 20px 0 0 0;
  font-size: 1.8rem;
}
.side_agent_intro_list .square_img {
  flex-shrink: 0;
  width: 70px;
  margin: 0 0 0 10px;
}
.side_agent_intro_list .tel {
  font-size: 1.6rem;
  font-weight: 700;
}
.side_agent_intro .base_btn {
  height: 70px;
}
.side_agent_intro .base_btn + .base_btn {
  margin: 20px 0 0 0;
}

.selected_agent_list .item .tel_item.h35 {
  height: 35px;
}

/* 施設情報 */
.facility_info_list > li {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding: 15px 0;
  border-bottom: 1px solid #ccc;
}
.facility_info_list > li:first-child {
  border-top: 1px solid #ccc;
}
.facility_info_list .item {
  font-weight: 700;
}
.facility_info_list .data {
  font-size: 1.6rem;
}

/* -------------------------------------
	インクルードパーツ
---------------------------------------- */

/*	inc: content_head
/*	inc: content_bottom
------------------------*/
.content_head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  width: 100%;
  margin: 0 0 15px 0;
}
.intro_area + .content_head {
  margin: 20px 0 20px 0;
}
.content_bottom {
  margin: 20px 0 0 0;
}

/* ページャー */
.pager_area {
  display: flex;
  align-items: flex-end;
}
.pager_area .num_block {
  margin: 0 30px 0 0;
}
.content_bottom .pager_area .num_block,
.content_bottom .no_results_text {
  display: none;
}
.pager_area .num_block .text {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1;
}
.pager_area .num_block .text + .text {
  margin-top: 5px;
}
.pager_area .num_block .num {
  margin: 0 5px 0 0;
  color: #66cad5;
  font-size: 5rem;
}
.pager_list {
  display: flex;
  align-items: center;
  text-align: center;
}
.pager_list_sp {
  display: none;
}
.pager_list li {
  min-width: 28px;
  height: 28px;
  background: #fff;
  border: 2px solid #66cad5;
  border-radius: 2px;
  box-sizing: content-box;
  line-height: 28px;
}
.pager_list li:not(:first-child) {
  margin: 0 0 0 5px;
}
.pager_list li a {
  display: block;
  padding: 0 4px;
  color: #66cad5;
  font-size: 2rem;
  text-decoration: none;
  transition: 0.3s;
}
.pager_list .active {
  background: #66cad5;
  border-color: #66cad5;
  color: #fff;
}
.pager_list .prev a,
.pager_list .next a {
  font-size: 1.8rem;
}
.pager_list .prev a i,
.pager_list .next a i {
  line-height: 1;
}

/* 並び替え */
.sort_area {
  display: flex;
  align-items: center;
}
/*.sort_area:before {
	display: inline-block;
	content: "\f160";
	margin: 0 5px 0 0;
	color: #66cad5;
	font-family: FontAwesome;
	font-size: 2.8rem;
	vertical-align: top;
}*/
.sort_area dt {
  font-size: 2rem;
}
.sort_area dd {
  position: relative;
}
.sort_area dd:after {
  display: inline-block;
  content: '\f0d7';
  position: absolute;
  top: 50%;
  right: 10px;
  transform: translate(0, -50%);
  font-family: FontAwesome;
  font-size: 2rem;
}
.sort_area dd select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  width: 100%;
  padding-right: 25px;
  background: #fff;
  border: 1px solid #ccc;
}

.sort_list {
  display: flex;
  width: 320px;
  border: 2px solid #66cad5;
  border-radius: 5px;
}
.sort_list > li {
  flex-grow: 1;
  width: 100%;
  padding: 8px 0;
  color: #66cad5;
  font-weight: 700;
  text-align: center;
  line-height: 1;
  cursor: pointer;
}
.sort_list > li.active {
  background: #66cad5;
  color: #fff;
}
.sort_list > li + li:not(.active) {
  border-left: 2px solid #66cad5;
}

/* 一覧へ戻る */
.back_btn_area {
  width: 100%;
}
.back_btn_area .back_list {
  display: flex;
  align-items: center;
  text-align: center;
}
.back_btn_area .back_list li {
  background: #f0f0f1;
  border: 1px solid #e8e8e8;
  border-radius: 2px;
}
.back_btn_area .back_list li:not(:first-child) {
  margin: 0 0 0 5px;
}
.back_btn_area .back_list li a {
  display: block;
  padding: 10px;
  font-size: 1.6rem;
  text-decoration: none;
  line-height: 1;
}
.back_btn_area .back_list li.prev a:before {
  display: inline-block;
  content: '\f104';
  margin: 0 5px 0 0;
  font-family: FontAwesome;
}
.back_btn_area .back_list li.next a:after {
  display: inline-block;
  content: '\f105';
  margin: 0 0 0 5px;
  font-family: FontAwesome;
}
.back_btn_area .back_list li.back a {
  padding: 10px 40px;
}

/* SNSシェア */
.sns_share_area {
  margin: 0 0 0 auto;
}
.sns_share_list {
  display: flex;
  align-items: center;
  justify-content: flex-end;
}
.sns_share_list li {
  transition: opacity, 0.3s;
}
.sns_share_list li.fb {
  background: #4267b2;
}
.sns_share_list li.line {
  background: #00b800;
}
.sns_share_list li.tw {
  background: #1da1f2;
}
.sns_share_list li.mail {
  background: #9ba2c5;
}
.sns_share_list li a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  padding: 6px 0;
}
.sns_share_list li a img {
  max-height: 100%;
}

/*	パンくず
------------------------*/
.breadcrumb {
  margin: 15px 0;
}
.breadcrumb .inner {
  margin: 0 auto;
  width: 1280px;
}
.breadcrumb ol {
  display: -webkit-flex;
  display: -ms-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}
.breadcrumb ol li {
  color: #000;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 2;
}
.breadcrumb ol li:before {
  font-family: FontAwesome, sans-serif;
  content: '\f105';
  margin: 0 10px;
}
.breadcrumb ol li:first-child:before {
  content: '';
  margin: 0;
}
.breadcrumb ol li a {
  color: #000;
  font-weight: normal;
  text-decoration: none;
}

/*	inc: info_slider
------------------------*/
.info_slider_area {
  padding: 0 0 80px 0;
  min-width: 1280px;
  overflow: hidden;
}
.info_slider_area .-title {
  font-size: 3.4rem;
  font-weight: 700;
  padding: 70px 0 60px 0;
  text-align: center;
}
.info_slider {
  min-width: 1280px;
}
.info_slider .sl_prev {
  left: calc(50% - 670px);
  transform: translate(100%, -50%);
}
.info_slider .sl_next {
  right: calc(50% - 670px);
  transform: translate(-100%, -50%);
}
.info_slider_area .info_slider_block {
  position: relative;
}
.info_slider_area .info_slider_block:before,
.info_slider_area .info_slider_block:after {
  content: '';
  display: block;
  width: 100%;
  height: 100%;
  background: #fff;
  opacity: 0.5;
  position: absolute;
  z-index: 5;
  top: 0;
}
.info_slider_area .info_slider_block:before {
  left: calc(50% + 680px);
}
.info_slider_area .info_slider_block:after {
  right: calc(50% + 680px);
}
.info_slider_area .info_slider_block .bx-viewport {
  overflow: visible !important;
}
.info_slider_area .sl_item {
  width: 1280px;
  margin: 0 20px;
  background: #fff;
}
.info_slider_area .sl_item .slide_inner {
  border: solid 5px #66cad5;
}
.info_slider_area .sl_item .flex_container {
}
.info_slider_area .sl_item .flex_container > .link_area {
  display: flex;
  flex-direction: row-reverse;
  justify-content: space-between;
  position: relative;
  width: 100%;
  padding: 40px 55px;
}
.info_slider_area .sl_item .flex_container > .link_area *:not(.img) {
  transition: opacity, 0.3s;
}

.info_slider_area .link_area .square_img {
  width: 600px;
  height: 400px;
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
  margin: 0 0 0 40px;
  vertical-align: top;
  position: relative;
}
.info_slider_area .square_img .favorite_btn {
  position: absolute;
  right: 10px;
  top: 10px;
}
.info_slider_area .-detail_box {
  width: calc(100% - 640px);
}
.info_slider_area .-detail_box .-property_name {
  font-size: 3.4rem;
  font-weight: 700;
}
.info_slider_area .-detail_box .-property_text {
  font-size: 3rem;
  font-weight: 700;
  margin: 0 0 20px 0;
}
.info_slider_area .-detail_box .-date {
  font-size: 1.6rem;
  margin: 0 0 20px 0;
}
.info_slider_area .-detail_box .-data {
  margin: 20px 0;
}
.info_slider_area .-detail_box .-data .-address {
  width: 100%;
}
.info_slider_area .-detail_box .-data p {
  font-size: 1.8rem;
  margin: 20px 0 0 0;
  line-height: 32px;
}
.info_slider_area .-detail_box .-data p:before {
  display: inline-block;
  content: '';
  width: 28px;
  height: 28px;
  margin: 0 10px 0 0;
  background-repeat: no-repeat;
  background-position: center;
  vertical-align: middle;
}
.info_slider_area .-detail_box .-data p:first-of-type {
  margin: 0;
}
.info_slider_area .-detail_box .-data .-address:before {
  background-image: url('../images/common/icon_map.png');
  background-size: auto 100%;
}
.info_slider_area .-detail_box .-data .-money:before {
  display: none;
}
.info_slider_area .-detail_box .-data_item {
  margin: 20px 0 0 0;
}
.info_slider_area .-detail_box .-data .-bed {
  display: inline-block;
}
.info_slider_area .-detail_box .-data .-bed:before {
  background-image: url('../images/common/icon_bed.png');
  background-size: 100% auto;
}
.info_slider_area .-detail_box .-data .-bath {
  display: inline-block;
  margin: 0 0 0 70px;
}
.info_slider_area .-detail_box .-data .-bath:before {
  background-image: url('../images/common/icon_bath.png');
  background-size: 100% auto;
}
.info_slider_area .-detail_box .-data .-money {
  font-size: 2.8rem;
  font-weight: 700;
  text-align: right;
}

.info_slider_area .-detail_box .-profile_box {
  padding: 20px;
  background: #4c4c4c;
}
.info_slider_area .-detail_box .-comment {
  font-size: 1.6rem;
  font-weight: 300;
  padding: 0 0 20px 0;
  border-bottom: solid 2px #fff;
  margin: 0 0 20px 0;
}
.info_slider_area .-detail_box .base_btn {
  margin: 0 auto 0 0;
  height: 50px;
}
.info_slider_area .-profile_box {
  background: #66cad5;
  padding: 10px 25px;
  color: #fff;
  display: flex;
  flex-wrap: wrap;
}
.info_slider_area .-profile_wrap {
  display: block;
  transition: opacity, 0.3s;
}
.info_slider_area .-profile {
  padding: 0 20px 0 0;
  width: 740px;
}
.info_slider_area .-profile .-thum {
  width: 70px;
  float: left;
  margin: 0 20px 0 0;
}
.info_slider_area .-profile .-text {
  overflow: hidden;
  padding: 10px 0;
}
.info_slider_area .-profile .-company_name {
  font-weight: 300;
}
.info_slider_area .-profile .-agent_name {
  font-size: 2.4rem;
}
.info_slider_area .-profile_box .-comment {
  color: #000;
  width: calc(100% - 740px);
  border-left: solid 1px #55b1bb;
  padding: 10px 40px 10px 20px;
  position: relative;
}
.info_slider_area .-profile_box .-comment:after {
  content: '\f105';
  font-family: 'FontAwesome';
  display: block;
  position: absolute;
  right: 0px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 3rem;
}
.info_slider_area .-profile .base_btn,
.info_slider_area .-profile .base_btn:after {
  font-size: 1.5rem;
  padding: 15px 0px;
  margin: 0;
}

/*	inc: thum_slider
------------------------*/
.thum_slider_area {
  position: relative;
  margin: 20px 0 0 0;
  padding: 0 0 40px 0;
  border-bottom: 1px solid #dcdcdc;
}
.thum_slider_area .logo_block {
  width: 100%;
  height: 100px;
  margin: 0 0 20px 0;
}
.thum_slider_area .logo_block .img {
  background-color: transparent;
  background-position: center left;
}
.thum_slider_area .favorite_btn {
  position: absolute;
  top: 10px;
  right: 80px;
}
.thum_slider_area .thum_slider_block {
  margin: 20px 0 30px 0;
}
.thum_slider_area .thum_slider_block .slick-list {
  display: flex;
}
.thum_slider_area .thum_slider_block .slick-track {
  display: flex;
  flex-shrink: 0;
}
.thum_slider_area .thum_slider_block .thum_slider .sl_item {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  flex-grow: 1;
  margin: 0 45px;
  padding: 0 0 20px 0;
  border-bottom: 1px solid #dcdcdc;
  text-align: center;
}
.shop .thum_slider_area .thum_slider_block .slick-track,
.restaurant .thum_slider_area .thum_slider_block .slick-track {
  align-items: flex-start;
}
.shop .thum_slider_area .thum_slider_block .thum_slider .sl_item,
.restaurant .thum_slider_area .thum_slider_block .thum_slider .sl_item {
  padding: 0;
}
.shop .thum_slider_area .square_img:before,
.restaurant .thum_slider_area .square_img:before {
  padding-top: 476px;
}
.thum_slider_area .thum_slider_block .thum_slider .sl_item img {
  width: 100%;
  max-height: 593px;
  object-fit: contain;
  object-position: center center;
  font-family: 'object-fit: contain;object-position: center center;' !important;
}
.thum_slider_area .thum_slider_block .thum_slider .sl_item .caption_text {
  height: calc(2em * 1.5);
  padding: 20px 16px;
  background: #f8f8f8;
  box-sizing: content-box;
  color: #000;
  text-align: left;
  line-height: 1.5;
}
.thum_slider_area .thum_slider_block .thum_slider .sl_item .caption_text:empty {
  display: none;
}
.thum_slider .sl_prev,
.thum_slider .sl_next {
  background: none;
  height: auto;
  color: #66cad5;
  font-size: 5rem;
  font-weight: 700;
  line-height: 1;
}
.thum_slider_area .thum_slider_pager {
  margin: 0 0 0 -10px;
}
.thum_slider_area .thum_slider_pager.no_move .slick-track {
  left: 0px !important;
}
.thum_slider_area .thum_slider_pager .slick-list {
  width: 90%;
  margin: 0 auto;
}
.thum_slider_area .thum_slider_pager .sl_item {
  display: block;
  opacity: 0.5;
  position: relative;
  width: 134px;
  float: left;
  margin: 0 0 0 10px;
  cursor: pointer;
}
.thum_slider_area .thum_slider_pager .sl_item:only-child {
  display: none;
}
.thum_slider_area .thum_slider_pager .sl_item img {
  width: 100%;
  height: 100%;
  max-height: 89px;
  object-fit: cover;
  object-position: center top;
  font-family: 'object-fit: cover;object-position: center top;' !important;
}
.thum_slider_area .thum_slider_pager .slick-current {
  opacity: 1;
}
.thum_slider_area .thum_slider_pager .slick-current:before {
  display: block;
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: solid 5px #66cad5;
  box-sizing: border-box;
}
.thum_slider_area .text_block .text {
  padding: 0 79px;
}
.thum_slider_area .btn_area {
  margin: 30px 0 0 0;
}
.thum_slider_area .base_btn {
  width: 290px;
  margin: 0 auto 0 0;
  font-size: 1.8rem;
}
.thum_slider_area .base_btn:after {
  font-size: 1.8rem;
}
.thum_slider_pager_wrap {
  position: relative;
  /*min-height: 89px;*/
  margin: 0 0 30px 0;
}
.thum_slider_pager .sl_prev,
.thum_slider_pager .sl_next {
  top: 0;
  background: #000;
  height: 89px;
  font-size: 3.5rem;
  line-height: 89px;
  transform: translate(0);
}
.thum_slider_area .text_block .title {
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 38px;
}
.thum_slider_area .text_block .title:before {
  display: inline-block;
  content: '';
  width: 5px;
  height: 38px;
  margin: 0 18px 10px 0;
  background: #000;
  vertical-align: top;
}

/*	inc: news_area
------------------------*/
.news_area {
  width: 100%;
  padding: 0 0 150px 0;
}
.news_area .news_list li:nth-of-type(n + 3) {
  margin: 60px 0 0 0;
}
.news_list .link_area {
  display: flex;
  color: #000;
}
.news_list .square_img {
  align-self: flex-start;
  width: 200px;
  margin: 0 20px 0 0;
}
.news_list .summary_block {
  width: calc(100% - 220px);
}
.news_list .summary_block .news_name {
  margin: 0 0 15px 0;
  padding: 0 0 20px 0;
  border-bottom: 1px solid #eff0f2;
  font-size: 2.2rem;
}
.news_area .btn_area {
  margin: 60px auto 0 auto;
}

/*	inc: contact_btn
------------------------*/
.contact_btn_area {
  margin: 80px 0;
  text-align: center;
}
.contact_btn_area .text {
  font-size: 2rem;
}

/*	inc: contact_link
------------------------*/
.contact_link_area {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  width: 100%;
  height: 224px;
  margin: 80px 0 0 0;
  background-color: #f8f8f8;
  background-image: url(../images/common/img_contact_link.jpg);
  background-repeat: no-repeat;
  background-position: left center;
}
.contact_link_area .text {
  width: calc(100% - 500px);
  text-align: center;
}
.contact_link_area .text strong {
  font-size: 2.2rem;
  font-weight: 700;
}
.contact_link_area .text .link_text {
  color: #000;
  font-weight: 700;
}
.contact_link_area .text .link_text:after {
  display: inline;
  content: '\f08e';
  font-family: FontAwesome;
  font-weight: normal;
}

/*	inc: agent_comment
------------------------*/
.agent_comment_area .inner {
  display: flex;
  color: #fff;
}
.agent_comment_area .comment_block {
  flex-shrink: 0;
  width: 600px;
  padding: 35px;
  background: #858585;
}
.agent_comment_area .comment_block .comment {
  padding: 0;
  border: none;
}
.agent_comment_area .agent_block {
  display: flex;
  flex-grow: 1;
  flex-wrap: wrap;
  align-items: flex-start;
  padding: 35px;
  background: #4c4c4c;
}
.agent_comment_area .agent_block .square_img {
  width: 90px;
  margin: 0 16px 0 0;
}
.agent_comment_area .agent_block .text_box {
  width: calc(100% - 106px);
  line-height: 1.4;
}
.agent_comment_area .agent_block .text_box .company_name {
  margin: 10px 0 0 0;
}
.agent_comment_area .btn_area {
  align-self: flex-end;
  margin: 20px 0 0 0;
  width: 100%;
}
.agent_comment_area .base_btn {
  max-width: 400px;
  margin: 0 0 0 auto;
  font-weight: normal;
}
.agent_comment_area .base_btn:after {
  font-weight: normal;
}

/*	inc: past_information
------------------------*/
.past_information_area {
  width: 100%;
}
.past_information_list {
  width: 100%;
  margin-bottom: -60px;
}
.past_information_list > li {
  display: flex;
  flex-direction: column;
  margin-bottom: 60px;
}
.past_information_list > li:not(:nth-of-type(4n + 1)) {
  margin-left: 2.6%;
}
.past_information_list li .title {
  flex-grow: 1;
  margin: 0 0 15px 0;
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 1.1;
}
.past_information_list li .img_block {
  display: flex;
  width: 100%;
}
.past_information_list li .square_img {
  width: 120px;
}
/*.past_information_list li .square_img .img:before {
	display: block;
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background: rgba(0, 0, 0, 0.5);
}*/
.past_information_list li .square_img:after {
  display: inline-block;
  content: '成約済';
  position: absolute;
  top: 50%;
  left: calc(50% - 17px);
  padding: 7px 8px;
  background: rgba(0, 0, 0, 0.5);
  border: 2px solid #fff;
  border-radius: 3px;
  color: #fff;
  font-size: 2.2rem;
  line-height: 1;
  transform: translate(calc(-50% + 17px), -50%) rotate(-25deg);
}
.past_information_list li .price_box {
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: calc(100% - 120px);
  padding: 10px 15px;
  background: #f8f8f8;
  font-size: 1.6rem;
  line-height: 1;
}
.past_information_list li .price_box dt {
  margin: 0 0 10px 0;
  font-size: 1.6rem;
}
.past_information_list li .price_box dd {
  font-size: 2.2rem;
}

/*	inc: company_estate
------------------------*/
.col_wrap_list.col02 > .item {
  display: flex;
  flex-direction: column;
  width: 626px;
}
.col_wrap_list > li > .title {
  width: 100%;
  margin: 0 0 20px 0;
  padding: 10px 0 0 0;
  border-top: 1px solid #000;
  font-size: 2.4rem;
  font-weight: 700;
  text-align: center;
}
.company_estate_list {
  flex-grow: 1;
  justify-content: flex-start;
  margin-bottom: -40px;
}
.company_estate_list > li.item {
  display: flex;
  flex-direction: column;
  position: relative;
}
.company_estate_list.col04 > li:not(:nth-of-type(4n + 1)) {
  margin-left: 2.6%;
}
.company_estate_list > li {
  display: flex;
  flex-direction: column;
  margin-bottom: 40px;
  padding-bottom: 40px;
  border-bottom: 1px solid #bcb8b8;
}
.company_estate_list li .favorite_btn {
  position: absolute;
  z-index: 5;
  top: 10px;
  right: 10px;
}
.company_estate_list li .square_img {
  margin: 0 0 15px 0;
}
.company_estate_list li .title {
  flex-grow: 1;
  margin: 0 0 8px 0;
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 1.1;
}
.company_estate_list li .link_area {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  justify-content: flex-start;
}
.company_estate_list li .text_block {
  display: flex;
  flex-direction: column;
  margin: 20px 0 0 0;
}
.company_estate_list li .text_block .text {
  flex-grow: 1;
  margin: 5px 0 15px 0;
  font-size: 2.2rem;
  font-weight: 700;
}
.company_estate_list li .text_block .price_box {
  /*	border-top: 1px solid #bcb8b8;
	border-bottom: 1px solid #bcb8b8;*/
  line-height: 1;
}
.company_estate_list li .text_block .price_box .data {
  display: flex;
  justify-content: space-around;
  align-items: center;
  padding: 6px 40px;
  background: #f8f8f8;
}
.company_estate_list li .text_block .price_box .data .data_item {
  font-size: 2rem;
  line-height: 32px;
}
.company_estate_list li .text_block .price_box .data .data_item:before {
  display: inline-block;
  content: '';
  width: 28px;
  height: 30px;
  margin: 0 14px 0 0;
  background-size: 100% auto;
  background-repeat: no-repeat;
  background-position: center;
  vertical-align: top;
}
.company_estate_list li .text_block .price_box .data .bed:before {
  background-image: url(../images/common/icon_bed_bk.png);
}
.company_estate_list li .text_block .price_box .data .bath:before {
  background-image: url(../images/common/icon_bath_bk.png);
}
.company_estate_list li .text_block .price_box .price {
  padding: 10px 5px;
  font-size: 2.4rem;
  text-align: right;
}
.company_estate_list li .agent_block {
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: relative;
  padding: 20px 0 0 0;
}
.company_estate_list li .agent_block .comment_btn {
  overflow: hidden;
  display: flex;
  align-items: center;
  position: relative;
  z-index: 3;
  padding: 1px 8px 1px 1px;
  background: #66cad5;
  box-shadow: 2px 3px 0 0 #6fcad6;
  border-radius: 2em;
  cursor: pointer;
  transition: 0.3s;
}
.company_estate_list li .agent_block .comment_btn:before {
  display: block;
  content: '';
  position: absolute;
  z-index: -1;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: linear-gradient(#9fe0e7 50%, #89d8e1 50%);
  transition: 0.3s;
}
.company_estate_list li .agent_block .circle_img {
  width: 48px;
  margin: 0 7px 0 0;
}
.company_estate_list li .agent_block .comment_btn:after {
  display: inline-block;
  content: '\f27a';
  color: #fff;
  font-family: FontAwesome;
  font-size: 2.8rem;
}
.company_estate_list li .agent_block .comment_inner {
  display: none;
  position: absolute;
  z-index: 150;
  padding: 20px 16px;
  background: #474646;
  border: 3px solid #66cad5;
  border-radius: 10px;
  color: #fff;
  font-size: 1.6rem;
}
.company_estate_list li .agent_block .comment_item {
  margin: 0 0 8px 0;
  padding: 0 0 8px 0;
  border-bottom: 1px solid #fff;
}
.company_estate_list li .btn_area {
  position: absolute;
  right: 0;
  bottom: 40px;
  margin: 0;
}
.company_estate_list li .base_btn {
  font-size: 1.8rem;
}
.company_estate_list li .base_btn:after {
  right: 15px;
  font-size: 1.8rem;
}
.col_wrap_list > li > .btn_area {
  margin-bottom: 0;
  padding: 20px 0;
  background: #ccf1f5;
}
.col_wrap_list > li > .btn_area .base_btn {
  font-size: 1.8rem;
}

/*	inc: related_article
------------------------*/
.related_article_list .img_block {
  background: url(../images/common/agent_list_bg.png) no-repeat center center / cover;
  text-align: center;
  height: 250px;
  margin: 0 0 5px 0;
}
.related_article_list .img_block .thum_box .img {
  position: relative;
  z-index: 5;
  width: 155px;
  height: 155px;
  margin: 0 auto 30px auto;
  border-radius: 50%;
  background-position: center center;
  background-size: 102% auto;
}
.related_article_list .img_block .text,
.agent_detail_btn .link_area {
  color: #fff;
}
.related_article_list .detail_block .name {
  margin: 0 0 5px 0;
  font-size: 1.8rem;
  font-weight: 700;
}
.related_article_list .detail_block .affiliation {
  margin: 0 0 5px 0;
  font-size: 1.5rem;
}

/*	inc: accordion_news
------------------------*/
.accordion_news_list li {
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
  position: relative;
  padding: 40px 0 20px 0;
  border-top: 1px solid #bdc2c3;
}
.accordion_news_list li:last-child {
  border-bottom: 1px solid #bdc2c3;
}
.accordion_news_list li .accodion_btn {
  position: absolute;
  top: 0;
  right: 0;
  width: 40px;
  height: 40px;
  background: #66cad5;
  color: #fff;
  font-size: 2.4rem;
  text-align: center;
  line-height: 40px;
  cursor: pointer;
}
.accordion_news_list li .accodion_btn.active .btn:not(.active),
.accordion_news_list li .accodion_btn .btn.active {
  display: none;
}
.accordion_news_list li .accodion_btn:not(.active) .btn:not(.active),
.accordion_news_list li .accodion_btn.active .btn.active {
  display: inline;
}
.accordion_news_list li .img_block {
  display: flex;
  flex-shrink: 0;
  flex-wrap: wrap;
  width: 619px;
  margin: 0 25px 0 0;
  padding: 0 30px 0 0;
  border-right: 1px solid #bdc2c3;
  cursor: pointer;
}
.accordion_news_list li .square_img {
  flex-shrink: 0;
  width: 150px;
  margin: 0;
  background-color: #eee;
}
.accordion_news_list li .active + .img_block .square_img {
  order: 1;
  width: 100%;
}
.accordion_news_list li .active + .img_block .square_img .img {
  background-size: contain;
}
.accordion_news_list li .title_block {
  flex-shrink: 0;
  width: 418px;
  margin: 0 0 0 20px;
  padding: 4px 0 0 0;
}
.accordion_news_list li .active + .img_block .title_block {
  width: 100%;
  margin: 0 0 10px 0;
}
.accordion_news_list li .title_block .date {
  font-size: 1.6rem;
}
.accordion_news_list li .title {
  padding: 8px 0;
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 1.4;
}
.accordion_news_list li .text_block {
  width: calc(100% - 644px);
  padding: 0 20px 0 0;
  line-height: 1.8;
}
.accordion_news_list li .text_block br {
  display: none;
}
.accordion_news_list li .active + .text_block br {
  display: block;
}
.accordion_news_list li .text_block .text {
}
.accordion_news_list li .active + .text_block .text {
}
.accordion_news_list li .text_block .hide_text_box {
  display: none;
  padding: 0 0 30px 0;
}
.accordion_news_area .btn_area {
  margin: 40px auto 0 auto;
}

/*	inc: company_location
------------------------*/
.sub_content .sub_area.company_location_area.bg {
  width: 1280px;
  margin: 0 auto 80px auto;
  padding: 40px;
  background: #f3fdfe;
}
.company_location_area .title {
  font-size: 2.2rem;
  font-weight: 700;
}
.company_location_area .title:before {
  display: inline-block;
  content: '';
  width: 5px;
  height: 39px;
  margin: 0 12px 0 0;
  background: #000;
  vertical-align: middle;
}
.company_location_area .text_block.item {
  width: 50%;
}
.company_location_area .company_name {
  margin: 28px 0 20px 0;
  font-size: 2.2rem;
}
.company_location_area .detail_box {
  padding: 14px 24px;
  background: #e4f7f9;
}
.company_location_area .detail_box + .detail_box {
  margin: 10px 0 0 0;
}
.company_location_area .detail_box .tel {
  display: inline-block;
  margin: 0 30px 0 0;
}
.company_location_area .btn_block .btn_area {
  margin: 30px 0 0 0;
}
.company_location_area .btn_block .white_btn {
  font-size: 1.8rem;
}
.company_location_area .btn_block .white_btn:before {
  display: inline-block;
  position: absolute;
  top: 50%;
  left: 20px;
  transform: translate(0, -50%);
}
.company_location_area .btn_block .white_btn.blog:before {
  content: url(../images/common/icon_btn_blog.png);
}
.company_location_area .btn_block .white_btn.site:before {
  content: url(../images/common/icon_btn_site.png);
}
.company_location_area .btn_block .white_btn:after {
  font-size: 2.4rem;
}
.company_location_area .btn_area {
  margin: 35px 0 0 0;
}
.company_location_area .contact_btn {
  margin: 0;
}
.map_block {
  width: calc(50% - 40px);
  height: 476px;
}
.map_block iframe {
  width: 100%;
  height: 100%;
}
.map_copyright,
.map_copyright a {
  color: #858585;
  font-size: 1.6rem;
  word-break: break-word;
}
.map_copyright {
  margin-top: 15px;
}

/*	inc: keyword
------------------------*/
.keyword_area {
  margin: 40px 0 0 0;
}
.keyword_area .title {
  margin: 0 0 16px 0;
  padding: 0 0 16px 0;
  border-bottom: 1px solid #bec1c1;
  font-size: 2.2rem;
  font-weight: 700;
}

/*	inc: expert_info
------------------------*/
.expert_info_list > li {
  display: flex;
  padding: 10px 10px 0 10px;
  border: 1px solid #ebebeb;
}
.expert_info_list > li:not(:nth-of-type(-n + 4)) {
  margin: 40px 0 0 0;
}
.expert_info_list .link_area {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}
.expert_info_list .title {
  margin: 20px 0 25px 0;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.4;
}
.expert_info_list .category_block {
  display: flex;
  align-items: center;
  flex-grow: 1;
  padding: 20px 10px;
  border-top: 1px solid #c8c8c8;
}
.expert_info_list .category_block .category {
  position: relative;
  padding: 0 0 0 44px;
  color: #616060;
  font-size: 1.6rem;
  font-weight: 700;
}
.expert_info_list .category_block .category:before {
  display: inline-block;
  content: '';
  position: absolute;
  top: 12px;
  left: 0;
  transform: translate(0, -50%);
  width: 34px;
  height: 34px;
  background-repeat: no-repeat;
  background-size: 100% auto;
}

/*	inc: open_area
------------------------*/
.open_area {
  margin: 140px 0 0 0;
  background: #f8f8f8;
  padding: 30px 50px;
}
.open_area .title {
  width: 100%;
  margin: 0 0 20px 0;
  font-size: 3rem;
  font-weight: 700;
  text-align: center;
}
.open_area .inner {
  display: flex;
  flex-wrap: wrap;
}
.open_area .square_img {
  width: 150px;
  margin: 0 55px 0 0;
}
.open_area .data_block {
  width: 100%;
}
.open_area .data_block + .data_block {
  margin-top: 20px;
  padding-top: 20px;
  border-top: 1px solid #dcdcdc;
}
.open_area .data_block > li {
  display: flex;
  position: relative;
  padding: 0 0 0 22px;
}
.open_area .data_block > li + li {
  margin: 20px 0 0 0;
}
.open_area .data_block > li:before {
  display: block;
  content: '';
  position: absolute;
  left: 0;
  width: 4px;
  height: 38px;
  background: #66cad5;
}
.open_area .data_block .data_name {
  flex-shrink: 0;
  margin: 0 45px 0 0;
  line-height: 38px;
}
.open_area .data_block .data {
  align-self: center;
  font-size: 1.6rem;
}
.open_area .text_block {
  margin: 30px 0 0 0;
}
.open_area .text_block .text {
  font-size: 1.6rem;
}

/*	inc: property_detail_area
------------------------*/
.property_detail_area {
  margin-top: 70px;
}
.property_detail_area .inner {
  padding: 50px;
  background: #f8f8f8;
}
.property_detail_area .title {
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 38px;
}
.property_detail_area .title:before {
  display: inline-block;
  content: '';
  width: 5px;
  height: 38px;
  margin: 0 18px 25px 0;
  background: #000;
  vertical-align: top;
}
.property_detail_table {
  width: 100%;
  table-layout: fixed;
  border-collapse: collapse;
  border: 1px solid #dcdcdc;
}
.property_detail_table + .property_detail_table {
  margin-top: 40px;
}
.property_detail_table th,
.property_detail_table td {
  padding: 20px 16px;
  border: 1px solid #dcdcdc;
  font-size: 1.6rem;
}
.property_detail_table th {
  width: 170px;
  font-weight: 700;
  background: #ebebeb;
}
.property_detail_table td {
  background: #fff;
}
.property_detail_area .map_block {
  width: 100%;
  margin: 40px 0 0 0;
}

/* -------------------------------------
	ページごとの設定
---------------------------------------- */

/*	page: top
------------------------*/
.top_main_content {
}
.main_section_area {
  min-width: 1280px;
  padding-top: 0;
  padding-bottom: 80px;
}

/* top_mv_area */
.top_mv_area {
  padding: 20px 0;
  /*background-image: url(../images/common/bg_top_mv.jpg);*/
  /*background-size: cover;*/
}
.top_mv_area .bx-wrapper {
  min-width: 1280px;
  margin: 0 auto;
}
.top_mv_area .sl_prev,
.top_mv_area .sl_next {
  background: #66cad5;
  color: #fff;
  font-size: 3.9rem;
}
.top_mv_list {
  width: 1280px;
  margin: 0 auto;
}
.top_mv_list .slick-list {
  margin: 0 -20px;
}
.top_mv_list .sl_item {
  flex-shrink: 0;
  width: 400px;
}
.top_mv_list .inner {
  height: 100%;
  margin: 0 20px;
  /*background: #fff;*/
  /*box-shadow: 0 0 15px 0 rgba(0, 0, 0, 0.3);*/
}
.top_mv_list .link_area {
  position: relative;
}
.top_mv_list .title {
  position: absolute;
  bottom: 0;
  width: 100%;
  padding: 15px 18px;
  background: linear-gradient(rgba(0, 0, 0, 0), #000);
  color: #fff;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.2;
}
.top_mv_list .tag_list {
  margin-top: 10px;
  padding: 0 10px 0 10px;
}

/* local_news_area */
.local_news_area {
  width: 1280px;
  margin: 0 auto;
  padding: 20px 0 50px 0;
}
.local_news_area .title {
  margin: 0 0 10px 0;
  font-size: 2rem;
  font-weight: 700;
}
.local_news_list {
  display: flex;
  flex-direction: column;
  margin: 0 0 -10px 0;
}
.local_news_list li {
  margin: 0 0 10px 0;
  box-shadow: 0 0 2px 0 rgba(0, 0, 0, 0.3);
}
.local_news_list li .link_area {
  display: flex;
  border: 1px solid #d3d3d3;
}
.local_news_list .date {
  flex-shrink: 0;
  width: 160px;
  background: #f1f1f1;
  font-size: 2rem;
  font-weight: 700;
  text-align: center;
  line-height: 50px;
  transition: 0.3s;
}
.local_news_list .text {
  flex-shrink: 0;
  width: calc(100% - 160px);
  padding: 0 20px;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  line-height: 55px;
  transition: 0.3s;
}

/* by_hawaii_area */
.by_hawaii_area {
  padding-top: 40px;
  background: url(../images/common/top/bg_by_hawaii.jpg) no-repeat;
  background-size: 100% auto;
}
.by_hawaii_area > .center_title {
  color: #fff;
}
.by_hawaii_area .inner {
  display: flex;
  width: 1280px;
  margin: 0 auto;
}
.by_hawaii_area .main_inner {
  flex-shrink: 0;
  width: 980px;
  margin: 0 50px 0 0;
}
.by_hawaii_area .side_inner {
  width: calc(100% - 980px);
}
.main_section_area .article_list {
  display: flex;
  flex-wrap: wrap;
}
.main_section_area .article_list + .article_list {
  margin-top: 36px;
}
.main_section_area .article_list > li {
  display: flex;
  flex-direction: column;
  position: relative;
  margin: 0 0 0 2.6%;
}
.main_section_area .article_list > li:nth-of-type(4n + 1) {
  margin-left: 0;
}
.main_section_area .article_list > li:not(:nth-of-type(-n + 4)) {
  margin-top: 36px;
}
.main_section_area .article_list > li .link_area {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  transition: opacity, 0.3s;
}
.main_section_area .article_list .category_label {
  font-size: 1.6rem;
}
.main_section_area .article_list .text {
  margin: 10px 0 0 0;
  font-weight: 700;
  line-height: 1.3;
}
.main_section_area .article_list .title {
  flex-grow: 1;
  margin: 10px 0 0 0;
  line-height: 1.3;
}
.main_section_area .article_list .date {
  margin: 10px 0 0 0;
  font-size: 1.4rem;
  text-align: right;
  line-height: 1;
}
.by_hawaii_area .side_inner .border_box {
  margin: 0 0 45px 0;
  padding: 15px 16px 40px;
  border: 1px solid #ececec;
  border-radius: 5px;
  background: #fff;
}
.by_hawaii_area .side_inner .border_box .side_menu_title {
  border-bottom: none;
  margin: 0 0 15px 0;
  padding: 0;
  font-size: 2rem;
}

/* top_bnr_area */
.top_bnr_area {
  min-width: 1280px;
  margin: 0 0 80px 0;
  padding: 40px calc((100% - 1280px) / 2);
  background: #f2f2f2;
}
.top_bnr_list {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  justify-content: flex-start;
  margin: 0 -20px -20px 0;
}
.top_bnr_list .sl_item {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 305px;
  height: 130px;
  margin: 0 20px 20px 0;
  text-align: center;
}
.top_bnr_list .link_area {
  overflow: hidden;
  display: inline-block;
  max-width: 305px;
  max-height: 130px;
  box-shadow: 0 0 10px 1px rgba(0, 0, 0, 0.2);
  text-align: center;
  transition: opacity, 0.3s;
}

/* bg_link_area */
.bg_link_area + .bg_link_area {
  margin-bottom: 80px;
  padding-bottom: 0;
}
.bg_link_area .inner {
  display: flex;
  justify-content: space-between;
  position: relative;
  z-index: 0;
  width: 100%;
  background: #000;
}
.bg_link_list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  width: 100%;
}
.bg_link_list > li {
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
  flex-shrink: 0;
  position: relative;
}
.bg_link_list > li:before {
  display: block;
  content: '';
  position: absolute;
  z-index: -1;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: -5px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  transition: 0.3s;
}
.bg_link_list .purchase-guide:before {
  background-image: url(../images/common/top/bg_link_purchase-guide.jpg);
}
.bg_link_list .life-guide:before {
  background-image: url(../images/common/top/bg_link_life-guide.jpg);
}
.bg_link_list .life-guide:before {
  background-image: url(../images/common/top/bg_link_life-guide.jpg);
}
.bg_link_list .estate:before {
  background-image: url(../images/common/top/bg_link_estate.jpg);
}
.bg_link_list .sale:before {
  background-image: url(../images/common/top/bg_link_sale.jpg);
}
.bg_link_list .rent:before {
  background-image: url(../images/common/top/bg_link_rent.jpg);
}
.bg_link_list .vacation-rental:before {
  background-image: url(../images/common/top/bg_link_vacation-rental.jpg);
}
.bg_link_list .time-share:before {
  background-image: url(../images/common/top/bg_link_time-share.jpg);
}
.bg_link_list .cond:before {
  background-image: url(../images/common/top/bg_link_cond.jpg);
}
.bg_link_list a {
  color: #fff;
}
.bg_link_list .link_area {
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative;
  width: 100%;
  height: 100%;
  padding: 0 50px;
}
.bg_link_list .link_area:after {
  display: inline-block;
  content: '\f105';
  position: absolute;
  top: 50%;
  right: 30px;
  font-family: FontAwesome;
  font-size: 4rem;
  transform: translate(0, -50%);
}
.bg_link_list .title {
  font-weight: 700;
  text-align: center;
  line-height: 1.3;
}
.bg_link_list .btn_block {
  text-align: center;
}
.bg_link_list .size1 {
  width: 50%;
  height: 600px;
  position: relative;
}
.bg_link_list .size1 .title {
  font-size: 3rem;
}
.bg_link_list .size1 .btn_block {
  display: flex;
  align-items: flex-start;
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  padding: 28px;
  text-align: center;
}
.bg_link_list .estate .btn_block {
  background: rgba(23, 182, 199, 0.6);
}
.bg_link_list .sale .btn_block {
  background: rgba(0, 0, 0, 0.6);
}
.bg_link_list .size1 .text {
  width: 100%;
  font-size: 2rem;
}
.bg_link_list .size2 {
  width: 50%;
  height: 300px;
}
.bg_link_list .size2 .link_area {
  padding: 65px 0;
}
.bg_link_list .size2 .title {
  font-size: 3rem;
}
.bg_link_list .size2 .text {
  margin: 8px 0 0 0;
}
.bg_link_list .size3 {
  width: 50%;
  height: 300px;
}
.bg_link_list .size3 .title {
  font-size: 3rem;
}
.bg_link_list .btn {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  width: 300px;
  height: 65px;
  margin: 0 auto;
  padding: 0 35px;
  background: rgba(0, 0, 0, 0.5);
  border: 2px solid #fff;
  border-radius: 2em;
  font-size: 2rem;
  font-weight: 700;
}
.bg_link_list .btn:after {
  content: '\f105';
  font-family: FontAwesome;
  position: absolute;
  top: 50%;
  right: 20px;
  transform: translate(0, -50%);
  font-size: 2.4rem;
}

/* top_info_slider_area */
.top_info_slider_area {
  /*background: #e1f7fa;*/
}
.top_info_slider_area .company_estate_list {
  max-width: 1280px;
  margin: 0 auto;
}
.top_info_slider_area > .btn_area,
.top_agent_area > .btn_area {
  width: 1280px;
  margin: 0 auto;
  padding: 30px 0;
  background: #ccf1f5;
}

/* top_agent_area */
.top_agent_area {
  width: 1280px;
  margin: 0 auto;
  padding-top: 0;
}
.top_agent_area .tab_group {
  margin: 0 0 40px 0;
  padding: 0;
}
.top_agent_area .catalog_list > li:not(:nth-of-type(-n + 2)) {
  margin: 0;
}
.top_agent_area .catalog_list > li:not(:nth-of-type(-n + 4)) {
  margin-top: 40px;
}
.top_agent_area .catalog_list.col04 > li {
  margin: 0 0 2% 2.6%;
}
.top_agent_area .catalog_list.col04 > li:nth-of-type(4n + 1) {
  margin-left: 0;
}
.top_agent_area .company_catalog .catalog_list li .company_name {
  margin: 0 0 8px 0;
  font-size: 2rem;
}
.top_agent_area .company_catalog .catalog_list li .square_img {
  margin: 0;
}
.top_agent_area .catalog_list li .base_btn {
  margin-top: 20px;
  font-size: 1.8rem;
}
.top_agent_area .company_catalog .catalog_list.priority_2 li:not(:nth-of-type(-n + 2)) {
  margin-top: 36px;
}
.top_agent_area .company_catalog .catalog_list.priority_2 li .img_block {
  margin: 0;
}
.top_agent_area .company_catalog .catalog_list.priority_2 li .square_img,
.top_agent_area .agent_catalog .catalog_list.priority_2 li .square_img {
  width: 134px;
  margin: 0 10px 0 0;
}
.top_agent_area .catalog_list.priority_2 li .link_area .inner {
  flex-direction: row;
  align-items: flex-start;
}
.top_agent_area .company_catalog .catalog_list.priority_2 .text_block,
.top_agent_area .agent_catalog .catalog_list.priority_2 .text_block {
  display: block;
  width: calc(100% - 144px);
}
.top_agent_area .company_catalog .catalog_list.priority_2 li .company_name,
.top_agent_area .agent_catalog .catalog_list.priority_2 li .agent_name {
  margin: 0 0 60px 0;
  font-size: 2rem;
}
.top_agent_area .catalog_list.priority_2 li .base_btn {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 187px;
  height: 40px;
}
.top_agent_area .company_catalog .catalog_list.priority_3 li:not(:nth-of-type(-n + 2)),
.top_agent_area .agent_catalog .catalog_list.priority_3 li:not(:nth-of-type(-n + 2)) {
  margin-top: 30px;
}
.top_agent_area .company_catalog .catalog_list.priority_3 li .link_area,
.top_agent_area .agent_catalog .catalog_list.priority_3 li .link_area {
  align-items: flex-start;
}
.top_agent_area .company_catalog .catalog_list.priority_3 li .inner,
.top_agent_area .agent_catalog .catalog_list.priority_3 li .inner {
  flex-direction: column;
  width: 100%;
  margin: 0;
}
.top_agent_area .company_catalog .catalog_list.priority_3 li .company_name,
.top_agent_area .agent_catalog .catalog_list.priority_3 li .agent_name {
  display: flex;
  margin: 0;
  padding: 20px 230px 20px 10px;
}
.top_agent_area .company_catalog .catalog_list.priority_3 li .base_btn,
.top_agent_area .agent_catalog .catalog_list.priority_3 li .base_btn {
  flex-shrink: 0;
  position: absolute;
  top: 10px;
  right: 20px;
  bottom: auto;
}
.top_agent_area .agent_catalog .catalog_list li {
  background: none;
}
.top_agent_area .agent_catalog .catalog_list li.priority_1 .link_area .inner {
  margin-bottom: 20px;
}
.top_agent_area .agent_catalog .catalog_list li .text_block {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}

.top_agent_area .agent_catalog .catalog_list li .agent_name {
  flex-grow: 1;
  margin: 0 0 20px 0;
  padding: 10px 14px;
  background: #e4f7f9;
  border-top: 2px solid #66cad5;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.2;
}
.top_agent_area .agent_catalog .catalog_list.priority_2 > li {
  background: none;
}
.top_agent_area .agent_catalog .catalog_list.priority_2 li:not(:nth-of-type(-n + 2)) {
  margin-top: 36px;
}
.top_agent_area .agent_catalog .catalog_list.priority_2 li .circle_img {
  flex-shrink: 0;
  width: 135px;
  margin: 0 10px 0 0;
}

/* top_news_area */
.top_news_area {
  width: 1280px;
  margin: 0 auto;
  padding-top: 0;
}
.top_news_area .btn_area {
  margin-top: 46px;
  margin-bottom: 0;
}

/* top_other_news_area */
.top_other_news_area {
  width: 1280px;
  margin: 0 auto;
  padding-top: 0;
}
.top_other_news_list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.top_other_news_list > li {
  width: 24%;
  height: 80px;
  border-top: 4px solid #66cad5;
  border-right: 1px solid #eef1ef;
  border-bottom: 1px solid #eef1ef;
  border-left: 1px solid #eef1ef;
  transition: 0.3s;
}
.top_other_news_list > li:not(:nth-of-type(-n + 4)) {
  margin-top: 5px;
}
.top_other_news_list .link_area {
  display: flex;
  align-items: center;
  position: relative;
  height: 100%;
  /*padding: 0 50px 0 80px;*/
  padding: 0 50px 0 20px;
}
.top_other_news_list .link_area:before {
  width: 39px;
  height: 41px;
  left: 24px;
}
.top_other_news_list .link_area:after {
  content: '\f105';
  font-family: FontAwesome;
  position: absolute;
  top: 50%;
  right: 20px;
  transform: translate(0, -50%);
  color: #66cad5;
  font-size: 2.4rem;
  transition: 0.3s;
}

/*	page: estate
------------------------*/
.estate .main {
  background: url(../images/common/bg_estate_visual.jpg) no-repeat;
  background-size: 100% auto;
}
.estate .breadcrumb {
  margin: 0;
}

/* estate_top_area */
.estate_top_area {
  display: flex;
  width: 1280px;
  margin: 0 auto;
  padding: 20px 20px 80px 20px;
  background: #fff;
}
.estate_top_area .intro_area {
  display: none;
}
.estate_top_area .main_block {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  width: 760px;
  margin: 0 20px 0 0;
}
.estate_top_area .sub_block {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  width: 460px;
}
.estate_top_area .inner + .inner {
  margin: 10px 0 0 0;
}
.estate_top_area .bg {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}
.estate_top_area .inner > .title {
  padding: 5px 15px;
  background: #73cfd9;
  color: #fff;
  font-size: 2.2rem;
  font-weight: 700;
}
.estate_top_area .inner_list {
  padding: 10px;
  background: #e8f9fb;
}
.estate_top_area .inner_list + .inner_list {
  margin: 10px 0 0 0;
}
.estate_top_area .inner_list > li {
  background: #fff;
  border: 1px solid #cdedf1;
  border-radius: 3px;
  box-shadow: 1px 1px 5px 0 #b7cacc;
}
.estate_top_area .inner_list > .reverse {
  background: #73cfd9;
  border: 1px solid #73cfd9;
}
.estate_top_area .inner_list > .reverse .link_area {
  color: #fff;
}
.estate_top_area .inner_list > li:not(.sale) .link_area {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  position: relative;
  padding: 10px 40px 10px 10px;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.2;
  transition: opacity, 0.3s;
}
.estate_top_area .inner_list > li:not(.sale) .link_area:before {
  flex-shrink: 0;
  display: inline-block;
  content: '';
  margin: 0 18px 0 0;
  background-repeat: no-repeat;
  background-size: cover;
  width: 107px;
  height: 80px;
}
.estate_top_area .inner_list > .time-share .link_area:before {
  background-image: url(../images/common/top/img_estate_time-share.jpg);
}
.estate_top_area .inner_list > .rent .link_area:before {
  background-image: url(../images/common/top/img_estate_rent.jpg);
}
.estate_top_area .inner_list > .vacation-rental .link_area:before {
  background-image: url(../images/common/top/img_estate_vacation-rental.jpg);
}
.estate_top_area .inner_list > .purchase-guide .link_area:before {
  background-image: url(../images/common/top/img_estate_purchase-guide.jpg);
}
.estate_top_area .inner_list > .cond .link_area:before {
  background-image: url(../images/common/top/img_estate_cond.jpg);
}
.estate_top_area .inner_list > .agent .link_area:before {
  background-image: url(../images/common/top/img_estate_agent.jpg?date=20180911);
}
.estate_top_area .inner_list > li:not(.sale) .link_area:after {
  display: inline-block;
  content: '\f105';
  position: absolute;
  top: 50%;
  right: 10px;
  color: #73cfd9;
  font-family: FontAwesome;
  font-size: 4.2rem;
  transform: translate(0, -50%);
}
.estate_top_area .inner_list > li.reverse .link_area:after {
  color: #fff;
}
.estate_top_area .inner_list > li + li {
  margin: 10px 0 0 0;
}
.estate_top_area .inner_list > .sale {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  padding: 10px;
}
.estate_top_area .inner_list > .sale .bg_box {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}
.estate_top_area .inner_list > .sale .bg_box .link_area {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  align-items: center;
  justify-content: flex-end;
  background: url(../images/common/top/bg_estate_sale.jpg);
  background-size: cover;
  text-align: center;
  text-shadow: 0 0 3px #000;
  transition: opacity, 0.3s;
}
.estate_top_area .inner_list > .sale .bg_box .text {
  color: #fff;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.8;
}
.estate_top_area .inner_list > .sale .bg_box .title {
  margin: 10px 0 25px 0;
  color: #fff;
  font-size: 4.2rem;
  font-weight: 700;
}
.estate_top_area .inner_list > .sale .bg_box .title:after {
  display: inline-block;
  content: '\f0a9';
  margin: 0 0 0 5px;
  font-family: FontAwesome;
}
.estate_top_area .inner_list .child_list {
  counter-reset: terms_num;
}
.estate_top_area .inner_list .child_list > li + li {
  border-top: 1px solid #d9dcdc;
}
.estate_top_area .inner_list .child_list > li .link_area {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  position: relative;
  padding: 16px 10px;
}
.estate_top_area .inner_list .child_list > li .link_area:after {
  display: inline-block;
  content: '\f105';
  position: absolute;
  top: 50%;
  right: 10px;
  font-family: FontAwesome;
  font-size: 3rem;
  transform: translate(0, -50%);
  transition: color, 0.3s;
}
.estate_top_area .inner_list .child_list .terms_text {
  margin: 0 40px 0 0;
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 1;
}
.estate_top_area .inner_list .child_list .terms_text:after {
  display: inline-block;
  content: '0' counter(terms_num);
  counter-increment: terms_num;
  color: #73cfd9;
}
.estate_top_area .inner_list .child_list .title {
  font-size: 3rem;
  font-weight: 700;
  line-height: 1;
  transition: color, 0.3s;
}

/* top_search_area */
.top_search_area {
  width: 1280px;
  margin: 20px auto 0 auto;
  padding-top: 0;
  padding-bottom: 80px;
}
.top_search_area .company_estate_list {
  margin-bottom: 0;
}
.top_search_area > .btn_area {
  margin: 0;
  padding: 50px 0;
  background: #ccf1f5;
}

/*	page: news
------------------------*/
.news_catalog_list > li {
  padding: 0 0 25px 0;
  border-bottom: 1px solid #ccc;
  line-height: 1.2;
}
.news_catalog_list > li + li {
  margin: 25px 0 0 0;
}
.news_catalog_list > li .link_area {
  transition: opacity, 0.3s;
}
.news_catalog_list .date {
  margin: 0 0 6px 0;
  font-size: 1.6rem;
}
.news_catalog_list .title {
  margin: 0 0 10px 0;
  font-size: 2.8rem;
  font-weight: 700;
}
.news_catalog_list .text {
  font-size: 2.4rem;
}

/*	page: restaurant / shop
------------------------*/
.restaurant .company_summary_area .column.col02 .item,
.shop .company_summary_area .column.col02 .item {
  width: 100%;
}
.restaurant .company_summary_area .img_main .square_img:before,
.shop .company_summary_area .img_main .square_img:before {
  padding-top: 476px;
}
.restaurant .company_summary_area .img_block .img_list .img_thum,
.shop .company_summary_area .img_block .img_list .img_thum {
  width: calc((100% - 36px) / 10);
}
.restaurant .company_summary_area .img_block .img_list .img_thum:not(:nth-of-type(-n + 5)),
.shop .company_summary_area .img_block .img_list .img_thum:not(:nth-of-type(-n + 5)) {
  margin-top: 0;
}
.restaurant .company_summary_area .img_block .img_list .img_thum:not(:nth-of-type(5n + 1)),
.shop .company_summary_area .img_block .img_list .img_thum:not(:nth-of-type(5n + 1)) {
  margin-left: 0;
}
.restaurant .company_summary_area .img_block .img_list .img_thum:not(:first-child),
.shop .company_summary_area .img_block .img_list .img_thum:not(:first-child) {
  margin-left: 4px;
}
.restaurant .company_summary_area .text_block,
.shop .company_summary_area .text_block {
  margin-top: 20px;
}
.restaurant .company_summary_area .img_block .caption_text,
.shop .company_summary_area .img_block .caption_text {
  height: calc(2em * 1.5);
}

/*	page: contact
------------------------*/
.contact_flow_list {
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: space-around;
  height: 80px;
  margin: 0 0 40px 0;
  background: #f0f0f1;
  color: #a0a5a7;
  font-size: 2.4rem;
  font-weight: 700;
}
.contact_flow_list > li {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  width: 33%;
  height: 100%;
  padding: 0 60px;
}
.contact_flow_list > li:not(.actrive),
.contact_flow_list > .active:not(:first-child) {
  padding: 0 60px 0 100px;
}
.contact_flow_list > .active {
  background: #66cad5;
  color: #fff;
}
.contact_flow_list > .active:not(:first-child):before {
  display: block;
  content: '';
  position: absolute;
  top: -10px;
  left: 0;
  width: 0;
  height: 0;
  border-color: transparent transparent transparent #fff;
  border-style: solid;
  border-width: 50px 0 50px 40px;
}
.contact_flow_list > li:not(.active):not(:first-child):before {
  display: block;
  content: '';
  position: absolute;
  top: -10px;
  left: 0;
  width: 0;
  height: 0;
  border-color: transparent transparent transparent #fff;
  border-style: solid;
  border-width: 50px 0 50px 40px;
}
.contact_flow_list > .active:not(:last-child):after {
  display: block;
  content: '';
  position: absolute;
  z-index: 1;
  top: -10px;
  right: -40px;
  width: 0;
  height: 0;
  border-color: transparent transparent transparent #66cad5;
  border-style: solid;
  border-width: 50px 0 50px 40px;
}
.contact_flow_list > li:not(.active):not(:last-child):after {
  display: block;
  content: '';
  position: absolute;
  z-index: 1;
  top: -10px;
  right: -40px;
  width: 0;
  height: 0;
  border-color: transparent transparent transparent #f0f0f1;
  border-style: solid;
  border-width: 50px 0 50px 40px;
}

.destination_block {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin: 0 0 50px 0;
  padding: 20px;
  background: #e4f6f8;
}
.destination_block .text {
  flex-shrink: 0;
  width: 240px;
  margin: 0 20px 0 0;
  font-size: 2.4rem;
  font-weight: 700;
}
.destination_block .agent_box .text {
  width: 100%;
}
.destination_block .photo_box {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  width: calc(100% - 260px);
  padding: 20px;
  background: #fff;
}
.destination_block .photo_box .square_img {
  width: 120px;
  margin: 0 20px 0 0;
}
.destination_block .photo_box .detail {
  width: calc(100% - 140px);
}
.destination_block .photo_box .detail .inner {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.destination_block .photo_box .name {
  width: 600px;
  margin: 0 20px 0 0;
  font-size: 1.6rem;
  font-weight: 700;
}
.destination_block .photo_box .price {
  width: calc(100% - 620px);
  font-size: 2.4rem;
  font-weight: 700;
  text-align: right;
}
.destination_block .photo_box .data {
  display: flex;
  justify-content: space-around;
  align-items: center;
  width: 300px;
  margin: 26px 0 0 0;
  padding: 6px 40px;
  background: #f8f8f8;
}
.destination_block .photo_box .data_item {
  font-size: 2rem;
  line-height: 32px;
}
.destination_block .photo_box .data_item:before {
  display: inline-block;
  content: '';
  width: 28px;
  height: 30px;
  margin: 0 10px 0 0;
  background-size: 100% auto;
  background-repeat: no-repeat;
  background-position: center;
  vertical-align: top;
}
.destination_block .photo_box .bed:before {
  background-image: url(../images/common/icon_bed_bk.png);
}
.destination_block .photo_box .bath:before {
  background-image: url(../images/common/icon_bath_bk.png);
}
.destination_block .agent_box {
  width: 100%;
  margin: 40px 0 0 0;
}
.destination_block .agent_box .title {
  width: 100%;
  padding: 10px;
  background: #66cad5;
  color: #fff;
  font-weight: 500;
}
.destination_block .agent_box .selected_agent_list {
  display: flex;
  margin: 10px calc(-4% / 3) 0 0;
}
.destination_block .agent_box .selected_agent_list > li {
  width: 24%;
  margin: 0 calc(4% / 3) 0 0;
  padding: 14px;
  background: #fff;
}
.destination_block .agent_box .selected_agent_list .img_item {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
}
.destination_block .agent_box .selected_agent_list .name {
  width: calc(100% - 80px);
  margin: 20px 10px 0 0;
  font-size: 1.6rem;
  font-weight: 700;
}
.destination_block .agent_box .selected_agent_list .square_img {
  margin: 0;
  width: 70px;
}
.destination_block .agent_box .selected_agent_list .tel_item {
  width: 100%;
  margin: 20px 0 0 0;
  padding: 10px 0 0 0;
  border-top: 1px solid #000;
}

.contact_intro_text {
  margin: 0 0 40px 0;
}
.contact_intro_text .title {
  font-size: 2rem;
  font-weight: 500;
}
.contact_intro_text .title:before {
  display: inline-block;
  content: '\f00c';
  margin: 0 16px 20px 0;
  color: #66cad5;
  font-family: FontAwesome;
  font-size: 3.6rem;
  vertical-align: middle;
}
.contact_intro_text .em {
  font-weight: 500;
}
.contact_intro_text .text + .text {
  margin: 10px 0 0 0;
}

.contact_form_area {
  width: 100%;
}
.contact_form_area .item + .item,
.contact_form_area .item + .address_table {
  margin: 80px 0 0 0;
}
.contact_form_area .item > .title {
  padding: 10px 38px;
  background: #a0a5a7;
  color: #fff;
  font-size: 2.4rem;
  font-weight: 500;
  vertical-align: middle;
}
.contact_form_area .required > .title:after {
  display: inline-block;
  content: '必須';
  margin: 0 0 0 23px;
  padding: 3px 10px;
  background: #f05f5f;
  border-radius: 2em;
  color: #fff;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1;
}
.contact_form_area .item_list {
  padding: 25px 38px;
  border-right: 1px solid #a0a5a7;
  border-bottom: 1px solid #a0a5a7;
  border-left: 1px solid #a0a5a7;
}
.contact_form_area .required .item_list {
  background: #fbfcee;
}
.contact_form_area .item_list > li {
  width: 100%;
  margin: 0 -50px 0 0;
}
.contact_form_area .item_list > li + li {
  margin-top: 10px;
}
.contact_form_area label {
  display: inline-block;
  min-width: 180px;
  padding: 20px 0;
  cursor: pointer;
  line-height: 1.1;
}
.contact_form_area label:not(:only-of-type) {
  margin-right: 50px;
}
.contact_form_area label .text {
  display: inline;
  position: relative;
  padding: 0 0 0 54px;
  font-weight: 500;
}
.contact_form_area label .text:before {
  display: inline-block;
  content: '';
  position: absolute;
  top: 50%;
  left: 0;
  width: 27px;
  height: 27px;
  margin: 0 27px 0 0;
  background: #fff;
  border: 1px solid #ccc;
  border-radius: 5px;
  box-sizing: border-box;
  color: #fff;
  font-family: FontAwesome;
  font-size: 2.2rem;
  text-align: center;
  line-height: 27px;
  vertical-align: top;
  transform: translate(0, -50%);
}
.contact_form_area input[type='checkbox']:checked + .text:before {
  content: '\f00c';
  background: #777;
  border: none;
  font-family: FontAwesome;
}
.contact_form_area label .text .amendment {
  font-weight: normal;
}
.contact_form_area input[type='checkbox'] {
  display: none;
}
.contact_form_area input,
.contact_form_area select {
  width: 100%;
}
.contact_form_area select {
  color: #000;
}
.contact_form_area .select_box {
  position: relative;
}
.contact_form_area .select_box:after {
  display: inline-block;
  content: '\f0d7';
  position: absolute;
  top: 50%;
  right: 10px;
  transform: translate(0, -50%);
  font-family: FontAwesome;
  font-size: 2rem;
  pointer-events: none;
}
.contact_form_area .select_box .initial_text {
  position: absolute;
  top: 1px;
  right: 1px;
  bottom: 1px;
  left: 1px;
  padding: 10px 10px 10px 15px;
  background: #eff3ba;
  color: #aaa;
  pointer-events: none;
}
.contact_form_area .required input,
.contact_form_area .required select,
.contact_form_area .required textarea {
  background: #eff3ba;
}
.contact_form_area textarea {
  width: 100%;
  background: #f0f0f1;
}
.contact_form_area .text + textarea {
  margin: 10px 0 0 0;
}
.contact_form_area select + textarea {
  margin: 48px 0 0 0;
}
.contact_form_area .questionary_text {
  margin: 30px 0;
  font-weight: 500;
}

.address_table {
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
}
.address_table caption {
  padding: 15px 20px;
  background: #c7d051;
  color: #fff;
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 1;
}
.address_table th,
.address_table td {
  border: 1px solid #a0a5a7;
  line-height: 1.2;
}
.address_table th {
  width: 320px;
  background: #a0a5a7;
  color: #fff;
  font-size: 2rem;
  font-weight: 700;
}
.address_table th .th_inner {
  position: relative;
  padding: 15px 10px;
}
.address_table .required th .th_inner {
  padding-right: 80px;
}
.address_table tr:first-child td,
.address_table tr:first-child th {
  border-top: none;
}
.address_table tr:first-child th,
.address_table tr:not(:last-child) th {
  border-bottom-color: #fff;
}
.address_table tr:not(:first-child) th {
  border-top-color: #fff;
}
.address_table .required th .th_inner:after {
  display: inline-block;
  content: '必須';
  position: absolute;
  top: 15px;
  right: 20px;
  margin: 0 0 0 6px;
  padding: 2px 10px;
  background: #f05f5f;
  border-radius: 2em;
  font-size: 1.6rem;
  line-height: 1;
}
.address_table th .terms {
  display: block;
  margin: 4px 0 0 0;
  color: #f0ef9c;
}
.address_table td {
  color: #999;
  height: 100px;
  padding: 17px 157px 17px 70px;
  background: #fbfcee;
  vertical-align: middle;
}
.address_table .required td .error_text {
  display: block;
  width: 100%;
  margin: 0 0 5px 0;
  color: #f05f5f;
  font-size: 1.6rem;
  font-weight: 700;
}
.address_table .required td .ex {
  margin: 5px 0 0 0;
  color: #000;
}
.address_table input,
.address_table select,
.address_table textarea {
  width: auto;
  background: #eff3ba;
  border: 1px solid #e8e8e8;
}
.address_table input[type='text'] {
  width: calc((100% / 2) - 28px);
}
.address_table input[type='text']:only-of-type {
  width: 100%;
}
.address_table input[type='text'] + input[type='text'] {
  margin-left: 28px;
}
.address_table input[type='tel'] {
  width: 50%;
}
.address_table input[type='tel'] + input[type='tel'] {
  margin-left: 14px;
}
.address_table .caution {
  padding: 0;
}

.contact_form_area .caution_block {
  overflow-y: scroll;
  height: 300px;
  margin: 80px 0 0 0;
  padding: 22px 38px;
  background: #fff;
  border: 1px solid #adb1b3;
  color: #000;
}
.contact_form_area .caution_block .text {
  font-weight: 700;
}
.contact_intro_area .caution_block .caution_list {
  margin: 0;
  color: #000;
}
.contact_form_area .error_list {
  margin: 0 0 30px 0;
  padding: 25px;
  background: #fcecec;
  border: 1px solid #f05f5f;
}
.contact_form_area .error_list > li {
  padding-left: 1em;
  color: #f05f5f;
  font-size: 1.8rem;
  font-weight: normal;
  text-indent: -1em;
}
.contact_form_area .error_list > .icon {
  margin: 0 0 5px 0;
  font-weight: 700;
}
.contact_form_area .error_list > .dots:before {
  display: inline;
  content: '・';
}

.contact_form_area .consent_block {
  margin: 30px 0 50px 0;
  background: #f0f0f1;
}
.contact_form_area .consent_block label {
  width: 100%;
  padding: 12px 20px;
  font-weight: 700;
}

.contact .main_content .btn_area {
  display: flex;
  justify-content: center;
  margin-bottom: 0;
}
.contact .main_content .base_btn {
  margin: 0;
}
.contact .main_content .base_btn + .base_btn {
  margin-left: 94px;
}

/* confirm */
.contact_intro_area .caution_list {
  margin: 50px 0;
  color: #f05f5f;
  font-weight: 700;
}
.contact_confirm_area {
  margin: 50px 0 0 0;
}
.contact_confirm_area .item + .item {
  margin-top: 95px;
}
.contact_confirm_area .item > .title {
  padding: 15px 20px;
  background: #f8f9fa;
  border-bottom: 3px solid #a0a5a7;
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 1;
}
.contact_confirm_area .item_list {
  margin: 0 0 40px 0;
}
.contact_confirm_area .item_list > li {
  margin-top: 35px;
  padding: 0 20px;
  text-indent: -0.5em;
}
.contact_confirm_area .item_list > li:before {
  display: inline-block;
  content: '■';
}
.contact_confirm_area .item_list > li .text {
  margin: 1em 0 0 0;
  text-indent: 0;
}
.contact_confirm_area .base_btn:not(.contact_btn):after {
  content: '\f104';
  right: auto;
  left: 20px;
}

.side_agent_intro p.side_menu_text.check_disp:before,
.agent_box p.text.check_disp:before {
  display: inline-block;
  content: '\f14a';
  margin: 0 5px 2px 0;
  color: #66cad5;
  font-family: FontAwesome;
  font-size: 2.6rem;
  vertical-align: middle;
}

/* complete */
.contact_complete_area {
  padding-top: 50px;
}
.contact_complete_area .thank_text {
  color: #66cad5;
  font-size: 3.4rem;
  text-align: center;
}
.contact_complete_area .thank_text:after {
  display: block;
  content: '\f0e0';
  font-family: FontAwesome;
  font-size: 8rem;
}
.contact_complete_area .center_title {
  margin: 35px 0 75px 0;
}

/*	page: search
------------------------*/
.search_area .search_list > li {
  border-bottom: 1px solid #ccc;
}
.search_area .search_list > li .link_area {
  padding: 40px 0;
}
.search_area .search_list > li .title {
  font-size: 2.8rem;
  font-weight: 700;
}

/*	page: not-found
------------------------*/
.not-found .container {
  background: #e7fefc;
}
.massage_404_area {
  width: 100%;
  padding: 145px 0 0 0;
  color: #66cad5;
  font-weight: 700;
  text-align: center;
  line-height: 1;
}
.massage_404_area:after {
  display: block;
  content: '';
  width: 1280px;
  height: 537px;
  margin: 100px auto 0 auto;
  background: url(../images/common/bg_404.png) no-repeat center;
  background-size: auto 100%;
}
.massage_404_area .title {
  font-size: 20rem;
}
.massage_404_area .sub_title {
  margin: 20px 0 30px 0;
  padding: 0;
  border-left: none;
  font-size: 6rem;
}
.massage_404_area .text {
  font-size: 3.6rem;
}
.massage_404_area .btn_area {
  margin: 100px 0 0 0;
  font-weight: normal;
}

/*	page: getting-ready
------------------------*/
body.getting-ready {
  overflow: hidden;
}
.getting-ready .container {
  background: #e7fefc;
}
.massage_getting_ready_area {
  width: 100%;
  margin: 0 auto;
  padding: 145px 0 0 0;
  color: #fff;
  font-weight: 700;
  text-align: center;
}
.massage_getting_ready_area:after {
  display: block;
  content: '';
  left: 0;
  width: 1280px;
  height: 537px;
  margin: 100px auto 0 auto;
  background: url(../images/common/bg_404.png) no-repeat center;
  background-size: auto 100%;
}
.massage_getting_ready_area > .inner {
  width: 500px;
  margin: 0 auto;
  padding: 20px;
  background: #66cad5;
}
.massage_getting_ready_area .sub_title {
  margin: 10px 0 20px 0;
  padding: 0;
  border-left: none;
  font-size: 2.4rem;
}
.massage_getting_ready_area .text_block {
  background: #fff;
  padding: 20px;
  color: #66cad5;
  font-size: 2.4rem;
  font-weight: normal;
}
.massage_getting_ready_area .text_block .text {
  margin-bottom: 20px;
  font-weight: 700;
  text-align: center;
}
.massage_getting_ready_area .text_block .caution {
  margin-top: 20px;
  text-align: right;
  font-size: 1rem;
}

/*	page: company
------------------------*/
.company .main_content {
  width: auto;
}
.company_area + .company_area {
  margin-top: 80px;
}
.company_area .inner {
  padding: 0 calc((100% - 1280px) / 2);
}
.company_area .bg {
  padding-top: 65px;
  padding-bottom: 65px;
  background: url(../images/common/bg_company01.jpg) no-repeat;
  background-size: cover;
  color: #fff;
}
.company_area .inner .text {
  font-size: 2.4rem;
  text-align: center;
}
.company_area .contents_intro_list {
  display: flex;
  justify-content: space-between;
  margin: 80px 0 0 0;
  padding: 70px 0 0 0;
}
.company_area .contents_intro_list > li {
  position: relative;
  width: 180px;
  padding: 20px 0 0 0;
  border-top: 1px solid #fff;
  font-size: 2rem;
  font-weight: 700;
  text-align: center;
}
.company_area .contents_intro_list > li:before {
  display: block;
  content: '';
  position: absolute;
  top: -67px;
  right: 0;
  left: 0;
  width: 51px;
  height: 44px;
  margin: 0 auto;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}
.company_area .contents_intro_list > .news:before {
  background-image: url(../images/common/icon_company_news.png);
}
.company_area .contents_intro_list > .search:before {
  background-image: url(../images/common/icon_company_search.png);
}
.company_area .contents_intro_list > .school:before {
  background-image: url(../images/common/icon_company_school.png);
}
.company_area .contents_intro_list > .medicare:before {
  background-image: url(../images/common/icon_company_medicare.png);
}
.company_area .contents_intro_list > .estate:before {
  background-image: url(../images/common/icon_company_estate.png);
}
.company_area .company_table {
  width: 1280px;
  margin: 0 auto;
  table-layout: fixed;
  border-collapse: collapse;
  border: 1px solid #a0a5a7;
}
.company_area .company_table th,
.company_area .company_table td {
  padding: 20px;
}
.company_area .company_table th {
  width: 320px;
  background: #a0a5a7;
  color: #fff;
  font-size: 2rem;
  font-weight: 700;
}
.company_area .company_table tr:not(:first-child) th {
  border-top: 1px solid #fff;
}
.company_area .company_table td {
  border: 1px solid #a0a5a7;
}
.number_cycle_list > li + li {
  margin-top: 28px;
}
.company_area .caution_text {
  margin: 8px 0 0 0;
  font-size: 1.6rem;
  text-align: right;
}

/*	page: recruit
------------------------*/
.recruit_table {
  width: 100%;
  table-layout: fixed;
  border-collapse: collapse;
  border-spacing: 0;
  border: 1px solid #66cad5;
}
.recruit_table + .recruit_table {
  margin-top: 80px;
}
.recruit_table tr + tr {
  border-top: 1px solid #66cad5;
}
.recruit_table th {
  width: 230px;
  padding: 20px;
  background: #d1f8f4;
  font-size: 2rem;
  font-weight: 700;
}
.recruit_table td {
  padding: 20px 30px;
}
.recruit_table .double_circle_list {
  padding-left: 1em;
}
.recruit_table .double_circle_list > li {
  text-indent: -1em;
}
.recruit_table .double_circle_list > li:before {
  display: inline;
  content: '◎';
}

/*	page: terms-policy
------------------------*/
.terms_num_list {
  padding: 40px 30px;
  border: 1px solid #a0a5a7;
  counter-reset: terms_num;
  word-break: keep-all;
}
.terms_num_list > li {
  padding: 0 0 0 1em;
  font-weight: 200;
}
.terms_num_list > li + li {
  margin-top: 25px;
}
.terms_num_list > li > .title {
  display: inline-block;
  font-weight: 700;
  text-indent: -1em;
}
.terms_num_list > li > .title:before {
  display: inline;
  counter-increment: terms_num;
  content: counter(terms_num) '.';
  font-weight: 700;
}
.terms_num_list > li .text {
}
.terms_num_list .inner_list {
  margin-top: 15px;
}
.terms_num_list .inner_list > li {
  padding: 0 0 0 1em;
}
.terms_num_list .inner_list > li + li {
  margin-top: 15px;
}
.terms_num_list .inner_list > li > .title {
  font-weight: 500;
  text-indent: -1em;
}
.terms_num_list .item_list {
  margin-top: 10px;
}

/*	page: estate_agent
------------------------*/
.tab_group {
  margin: 70px 0 0 0;
}
.tab_group > .title {
  margin: 0 0 45px 0;
  font-size: 3.4rem;
  font-weight: 700;
  text-align: center;
}
.tab_group .tab_switch {
  width: 100%;
  font-size: 0;
  letter-spacing: 0;
}
.tab_group .tab_switch .item {
  display: inline-block;
  width: 100%;
  padding: 18px 0;
  background: #000;
  box-sizing: border-box;
  color: #fff;
  font-size: 2.4rem;
  text-align: center;
  letter-spacing: 0.24em;
}
.tab_group .tab_switch .item.active {
  background: #fff;
  border-top: 2px solid #000;
  border-right: 2px solid #000;
  border-left: 2px solid #000;
  border-bottom: 2px solid #000;
  color: #000;
}

.tab_target {
  margin: 40px 0 0 0;
}
.tab_target .select_area_list {
  display: flex;
  justify-content: center;
}
.tab_target .select_area_list li a {
  display: block;
  padding: 0 20px;
  font-size: 2.2rem;
  line-height: 1.2;
  cursor: pointer;
}
.tab_target .select_area_list li.active a {
  color: #66cad5;
  font-weight: 700;
}
.tab_target .select_area_name {
  margin: 60px 0 28px 0;
  padding: 12px 20px;
  background: #000;
  color: #fff;
  font-size: 2.2rem;
}
.tab_target .select_area_list li + li {
  border-left: 1px solid #000;
}

.catalog_list > li {
  display: flex;
  position: relative;
}
.catalog_list > li:not(:nth-of-type(-n + 2)) {
  margin-top: 40px;
}
.catalog_list li .link_area {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  width: 100%;
  color: #000;
}
.catalog_list li .link_area .inner {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  transition: opacity, 0.3s;
}
.catalog_list li .summary_block {
  display: flex;
  justify-content: space-between;
}
.catalog_list li .favorite_btn {
  position: absolute;
  z-index: 5;
  top: 12px;
  right: 23px;
}
.category_tag_list {
  display: flex;
  flex-wrap: wrap;
  margin: 0 0 -5px 0;
}
.category_tag_list li {
  margin: 0 0 5px 0;
  padding: 5px 6px;
  background: #fff;
  border: 2px solid #66cad5;
  color: #66cad5;
  font-weight: 700;
  line-height: 1;
}
.category_tag_list li:not(:last-child) {
  margin: 0 5px 5px 0;
}

/* 不動産会社一覧 */
.catalog_list + .catalog_list {
  margin: 40px 0 0 0;
}
.catalog_list li .favorite_btn {
  align-self: flex-end;
  position: static;
  margin: 0 0 10px 0;
}
.catalog_list li .square_img {
  align-self: flex-start;
  flex-shrink: 0;
  margin: 0 0 20px 0;
}
.catalog_list li .company_name {
  flex-grow: 1;
  margin: 0 0 14px 0;
  padding: 10px 14px;
  background: #e4f7f9;
  border-top: 2px solid #66cad5;
  font-size: 2.8rem;
  font-weight: 700;
  line-height: 1.2;
}
.catalog_list li .category_tag_list {
  height: calc(1em + 19px);
}
.catalog_list li .point_box .title {
  margin: 20px 0 10px 0;
  padding: 0 0 5px 0;
  border-bottom: 1px solid #000;
  font-weight: 700;
}
.catalog_list li .base_btn {
  margin-top: 20px;
}

.catalog_list.priority_1 li {
  flex-direction: column;
}
.catalog_list.priority_1 li .summary_block {
  flex-direction: column;
}
.catalog_list.priority_1 li .summary_text {
  height: calc(4em * 1.3);
  margin: 14px 0 0 0;
  line-height: 1.3;
}
.catalog_list.catalog_list.priority_1 li .point_box .text {
  min-height: calc(3em * 1.3);
  line-height: 1.3;
}

.catalog_list.priority_2 li {
  flex-direction: column;
}
.catalog_list.priority_2 li .company_name {
  margin: 0 0 18px 0;
  font-size: 2.4rem;
}
.catalog_list.priority_2 li .img_block {
  flex-direction: row;
  display: flex;
  margin: 0 0 20px 0;
}
.catalog_list.priority_2 li .square_img {
  width: 220px;
  margin: 0 18px 0 0;
}
.catalog_list.priority_2 li .summary_text {
  line-height: 1.3;
}

.catalog_list.priority_3 li {
  flex-direction: column;
}
.catalog_list.priority_3 li .img_block {
  display: flex;
  margin: 16px 0 0 0;
}
.catalog_list.priority_3 li .square_img {
  align-self: flex-start;
  width: 115px;
  margin: 0 20px 0 0;
}
.catalog_list.priority_3 li .summary_text {
  padding: 0 0 50px 0;
  line-height: 1.3;
}
.catalog_list.priority_3 li .base_btn {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 187px;
  height: 40px;
  margin: 0 0 0 auto;
}

/* エージェント一覧 */
.agent_catalog {
  display: none;
}
/*.agent_catalog .catalog_list + .catalog_list {
	margin: 60px 0 0 0;
}
.agent_catalog .catalog_list li {
	background-image: url(../images/bg_agent01.jpg);
	background-size: cover;
	background-position: 0 50px;
	background-repeat: no-repeat;
}
.agent_catalog .catalog_list li .img_block {
	position: relative;
	z-index: 5;
	width: 160px;
	height: 160px;
	margin: 0 auto;
	border-radius: 50%;
	background-color: #ccc;
	background-position: center center;
	background-size: cover;
	background-repeat: no-repeat;
}
.agent_catalog .catalog_list li .favorite_btn {
	top: 63px;
	right: 14px;
}
.agent_catalog .catalog_list li .summary_block {
	flex-direction: column;
	flex-grow: 1;
	margin: -30px 14px 20px 14px;
	padding: 45px 30px 30px 30px;
	background: #fff;
	border-radius: 3px;
}
.agent_catalog .catalog_list li .summary_block .agent_name {
	font-size: 2.4rem;
	font-weight: 700;
	line-height: 1.2;
}
*/
.agent_catalog .catalog_list li .affiliation_text {
  display: block;
  margin: 5px 0 0 0;
  line-height: 1.3;
  font-size: 2rem;
  font-weight: normal;
}
/*
.agent_catalog .catalog_list li .summary_block .summary_text {
	flex-grow: 1;
	margin: 18px 0 0 0;
	line-height: 1.3;
}
.agent_catalog .catalog_list li .summary_block .point_box {
	margin: 20px 0 0 0;
}
.agent_catalog .catalog_list li .summary_block .point_box .title {
	margin: 0 0 8px 0;
	padding: 0 0 8px 0;
	border-bottom: 1px solid #000;
	font-weight: 700;
}
.agent_catalog .catalog_list li .summary_block .point_box .text {
	min-height: calc(2em * 1.5);
	line-height: 1.3;
}
.agent_catalog .category_tag_list {
	width: 100%;
	padding: 20px 0;
	background: #fff;
}
.agent_catalog .catalog_list.priority_2 > li {
	background-image: url(../images/bg_agent02.jpg);
	background-position: 0 68px;
}
.agent_catalog .catalog_list.priority_2 li .affiliation_text {
	margin: 16px 0 0 0;
}
.agent_catalog .catalog_list.priority_2 li .favorite_btn {
	top: 80px;
	right: 14px;
}
.agent_catalog .catalog_list.priority_3 li {
	background: none;
}
.agent_catalog .catalog_list.priority_3 > li:nth-of-type(n+3) {
	margin: 60px 0 0 0;
}
.agent_catalog .catalog_list.priority_3 li .link_area {
	flex-direction: row;
	flex-wrap: wrap;
}
.agent_catalog .catalog_list.priority_3 li .favorite_btn {
	top: auto;
	right: auto;
	bottom: 0;
	left: 170px;
}
.agent_catalog .catalog_list.priority_3 li .img_block {
	align-self: flex-start;
	margin: 0 10px 0 0;
}
.agent_catalog .catalog_list.priority_3 li .inner {
	flex-direction: row;
	flex-grow: 0;
	width: calc(100% - 170px);
}
.agent_catalog .catalog_list.priority_3 li .summary_block {
	align-self: flex-start;
	width: 100%;
	margin: 0 0 50px 0;
	padding: 0;
}
.agent_catalog .catalog_list.priority_3 li .summary_block .agent_name {
	font-size: 2.2rem;
}
.agent_catalog .catalog_list.priority_3 li .summary_block .affiliation_text {
	margin: 10px 0 0 0;
}
.agent_catalog .catalog_list.priority_3 li .base_btn {
	position: absolute;
	right: 0;
	bottom: 0;
	width: 187px;
	margin: 0 0 0 auto;
	min-height: 40px;
	font-size: 1.6rem;
}
.agent_catalog .catalog_list.priority_3 li .base_btn:after {
	font-size: 1.6rem;
}*/

/*	page: estate_agent_detail
------------------------*/

/* 会社概要・事業内容 */
.company_summary_area {
  position: relative;
  padding: 40px 0 0 0;
}
.company_summary_area .logo_block {
  width: 100%;
  height: 100px;
  margin: 0 0 20px 0;
}
.company_summary_area .logo_block .img {
  background-color: transparent;
  background-position: center left;
}
.company_summary_area .column.col02 .img_block {
  width: 476px;
  position: relative;
}
.company_summary_area .img_block .favorite_btn {
  position: absolute;
  z-index: 5;
  top: 10px;
  right: 10px;
}
.company_summary_area .img_block .img_main {
  width: 100%;
  margin: 0 0 4px 0;
}
.company_summary_area .img_block .caption_text {
  min-height: calc(3em * 1.5);
  padding: 20px 16px;
  background: #f8f8f8;
  box-sizing: content-box;
  color: #000;
  line-height: 1.5;
} /*
.company_summary_area .img_block .caption_text:empty {
	display: none;
}*/
.company_summary_area .img_block .img_list {
  display: flex;
  flex-wrap: wrap;
}
.company_summary_area .img_block .img_list .img_thum {
  position: relative;
  width: calc((100% - 16px) / 5);
  cursor: pointer;
}
.company_summary_area .img_block .img_list .img_thum.active:after {
  display: block;
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 5px solid #66cad5;
  box-sizing: border-box;
}
.company_summary_area .img_block .img_list li.img_thum:not(:nth-of-type(5n + 1)) {
  margin-left: 4px;
}
.company_summary_area .img_block .img_list li.img_thum:not(:nth-of-type(-n + 5)) {
  margin-top: 4px;
}
.company_summary_area .text_block .category_tag_list + .detail_box {
  margin-top: 16px;
}
.company_summary_area .text_block .detail_box dt {
  margin: 0 0 20px 0;
  font-size: 2.6rem;
  font-weight: 700;
}
.company_summary_area .text_block .detail_box dd {
  line-height: 1.8;
}

/* サービス内容等 */
.company_detail_area {
  margin-top: 40px;
}
.company_detail_block .inner {
  padding: 30px 35px;
  background: #f8f8f8;
}
.company_detail_block + .company_detail_block {
  margin: 10px 0 0 0;
}
.company_detail_block .title {
  margin: 0 0 10px 0;
  font-size: 2.6rem;
  font-weight: 700;
}
.company_detail_block .text {
  padding: 0 84px;
  line-height: 1.8;
}
.company_detail_block.agent .item {
  align-self: flex-start;
  width: 290px;
  margin: 0 30px 0 0;
  padding: 0 30px 0 0;
  border-right: 1px solid #c9cdd6;
}
.company_detail_block.agent .people_text {
  font-weight: 700;
}
.company_detail_block.agent .people_text .num {
  font-size: 3.4rem;
  line-height: 1;
}
.company_detail_block.agent .language_box {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: 30px 0 0 0;
  padding: 10px 20px;
  background: #eaecf0;
}
.company_detail_block.agent .language_box .propriety {
  font-size: 3rem;
  line-height: 1;
}
.company_detail_block.agent .name_list {
  width: calc(100% - 320px);
}
.company_detail_block.point {
  background: none;
}
.company_detail_block .point_block li {
  background: #f8f8f8;
}
.company_detail_area .point_block .inner {
  width: calc((100% - 10px) / 2);
}
.company_detail_area .point_block .title:before {
  display: inline-block;
  margin: 0 10px 0 0;
  vertical-align: middle;
}
.company_detail_area .point_block .title.area:before {
  content: url(../images/common/icon_company_area.png);
}
.company_detail_area .point_block .title.achievements:before {
  content: url(../images/common/icon_company_achievements.png);
}

/* お客さまからのコメント */
.company_comment_area {
  padding: 35px 0 0 0;
}
.company_comment_area .title {
  margin: 0 0 30px 0;
  font-size: 2.2rem;
  font-weight: 700;
}
.company_comment_area .comment_block {
  overflow-y: scroll;
  max-height: 700px;
  padding: 0 30px 0 0;
}
.company_comment_area .comment_list {
  border-top: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
}
.company_comment_area .comment_list li {
  display: flex;
  flex-direction: column;
  padding: 20px 0;
  line-height: 1.3;
}
.company_comment_area .comment_list li:not(:first-child) {
  border-top: 1px solid #ccc;
}
.company_comment_area .comment_list .inner {
  display: flex;
}
.company_comment_area .comment_list li .square_img {
  align-self: flex-start;
  flex-shrink: 0;
  width: 120px;
  margin: 0 18px 0 0;
}
.company_comment_area .comment_list li .name {
  width: 100%;
  margin: 0 0 15px 0;
  font-size: 1.6rem;
}
.company_comment_area .comment_list li .title_box {
  flex-shrink: 0;
}
.company_comment_area .comment_list li .title_box .text {
  font-size: 1.6rem;
}

/*	page: estate_cond
------------------------*/
.estate_cond_list > li {
  display: flex;
  flex-direction: column;
  position: relative;
}
.estate_cond_list > li:not(:nth-of-type(4n + 1)) {
  margin-left: 2.6%;
}
.estate_cond_list > li:not(:nth-of-type(-n + 4)) {
  margin-top: 40px;
}
.estate_cond_list .link_area {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}
.estate_cond_list .favorite_btn {
  position: absolute;
  top: 10px;
  right: 10px;
}
.estate_cond_list .square_img {
  margin: 0 0 10px 0;
}
.estate_cond_list .title {
  flex-grow: 1;
  margin: 0 0 10px 0;
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 1.1;
}
.estate_cond_list .text_block {
  display: flex;
}
.estate_cond_list .text_block .address {
  margin: 10px 0 0 0;
  font-size: 1.6rem;
  line-height: 1.3;
}
.estate_cond_list .number_block {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: 12px 0 0 0;
  background: #e4f7f9;
  padding: 10px 12px;
}
.estate_cond_list .number_block dt {
  font-size: 1.4rem;
  line-height: 1.1;
}
.estate_cond_list .number_block dd {
  font-size: 2.2rem;
  font-weight: 700;
}
.estate_cond_list .number_block dd .num {
  margin: 0 8px 0 0;
  color: #66cad5;
  font-size: 3.4rem;
  line-height: 1;
}
.estate_cond_list .btn_area {
  margin: 20px 0 0 0;
}
.estate_cond_list .base_btn,
.estate_cond_list .base_btn:after {
  font-size: 1.8rem;
}

/*	page: estate_cond_room
------------------------*/
.estate_cond_room .company_estate_list li .title {
  display: flex;
  justify-content: space-between;
}

/*	page: life-guide
------------------------*/
.manual_guide_area {
  padding: 0 0 126px 0;
}
.manual_guide_list > li {
  position: relative;
  width: calc(100% - 50px);
}
.manual_guide_list > li + li {
  margin: 20px 0 0 0;
}
.manual_guide_list li .inner_block {
  position: relative;
  z-index: 1;
  background: #f9fafa;
  box-shadow: 1px 2px 1px 0 #ccc;
}
.manual_guide_list li .title {
  position: relative;
  padding: 30px 20px;
  color: #000;
  font-size: 2.8rem;
  font-weight: 700;
  cursor: pointer;
  transition: color, 0.3s;
}
.manual_guide_list li .title.active {
  color: #66cad5;
}
.manual_guide_list li .title:after {
  display: block;
  content: '\f107';
  position: absolute;
  right: 0;
  bottom: 0;
  width: 40px;
  height: 40px;
  background: #66cad5;
  color: #fff;
  font-family: FontAwesome;
  font-weight: normal;
  text-align: center;
  line-height: 40px;
}
.manual_guide_list li .title.active:after {
  content: '\f106';
}
.manual_guide_list li .inner_list {
  display: none;
  padding: 0 30px 20px 30px;
  border-top: 1px solid #e9ecec;
}
.manual_guide_list li .inner_list > li {
  margin: 0 0 15px 0;
  border-bottom: 1px solid #000;
  transition: border-color, 0.3s;
}
.manual_guide_list li .inner_list > li a {
  display: block;
  position: relative;
  padding: 20px 30px 5px 1em;
  color: #000;
  font-weight: 500;
  text-decoration: none;
  transition: color, 0.3s;
}
.manual_guide_list li .inner_list > li a:before {
  position: absolute;
  top: calc((1em / 4) + 20px);
  left: 0;
  display: inline-block;
  content: '\f105';
  margin: 0 1em 0 5px;
  font-family: FontAwesome;
}

/*	page: article_cat
------------------------*/
.article_category_list > li {
  position: relative;
  margin: 20px 0 0 0;
  padding: 0 0 20px 0;
  border-bottom: 1px solid #ccc;
}
.article_category_list > li .favorite_btn {
  position: absolute;
  z-index: 1;
  top: 0;
  right: 0;
}
.article_category_list > li .link_area {
  display: flex;
  align-items: flex-start;
  transition: opacity, 0.3s;
}
.article_category_list .square_img {
  width: 120px;
  margin: 0 20px 0 0;
}
.article_category_list .text_block {
  width: calc(100% - 200px);
}
.article_category_list .text_block .category {
  display: inline-block;
  margin: 0 0 10px 0;
  padding: 4px 8px;
  background: #000;
  color: #fff;
  font-size: 1.6rem;
}
.article_category_list .text_block .date {
  margin: 0 0 8px 0;
  font-size: 1.6rem;
}
.article_category_list .text_block .title {
  margin: 0 0 10px 0;
  font-size: 2.8rem;
  font-weight: 700;
  line-height: 1.2;
}
.article_category_list .text_block .text {
  font-size: 2.4rem;
  line-height: 1.2;
}
.article_category_list .tag_list {
  margin-top: 15px;
}
body.article_cat .related_article_area {
  background: #f3fdfe;
}

/*	page: article
------------------------*/
.article .visual_area:not(.paid_visual_area) .visual {
  display: none;
}
.article .paid_visual_area .visual {
  width: 1280px;
  height: 500px;
  margin: 0 auto;
  border-bottom: none;
}
.article .intro_area {
  display: flex;
  position: relative;
}
.article .intro_area .favorite_btn {
  position: absolute;
  top: 0;
  right: 0;
}
.article .intro_area .title_block {
  position: relative;
}
.article .intro_area .title {
  font-size: 3rem;
}
.article .intro_area .date_box {
  display: flex;
  justify-content: flex-start;
  margin: 0 0 16px 0;
}
.article .intro_area .date_box .date {
  color: #727677;
  font-size: 1.6rem;
}
.article .intro_area .date_box .date + .date {
  margin: 0 0 0 20px;
}

.article .intro_text {
  padding: 0 119px;
  line-height: 1.7;
  letter-spacing: 0.08em;
}
.article .intro_text + .toc_area {
  margin: 30px 88px;
}

.toc_area {
  margin: 15px 88px 30px 88px;
  background: #f8f8f8;
  border: 1px solid #74d8ce;
}
.toc_area .title {
  padding: 14px 30px;
  border-bottom: 1px solid #74d8ce;
}
.toc_area .toc_list {
  padding: 18px 30px;
  counter-reset: toc_num;
}
.toc_area .toc_list > li {
  position: relative;
  padding: 0 0 0 1.5em;
}
.toc_area .toc_list > li + li {
  margin: 20px 0 0 0;
}
.toc_area .toc_list > li > a {
  font-weight: 500;
}
.toc_area .toc_list > li:before {
  counter-increment: toc_num;
  content: counter(toc_num) '.';
  position: absolute;
  left: 0;
  color: #1cb0a1;
  font-weight: 500;
}
.toc_area .toc_inner_list {
  margin: 10px 0 0 0;
}
.toc_area .toc_inner_list > li {
  position: relative;
  padding: 0 0 0 1.5em;
  font-size: 1.8rem;
}
.toc_area .toc_inner_list > li:before {
  display: inline-block;
  content: '―';
  position: absolute;
  left: 0;
  margin: 0 5px 0 0;
}

/*	記事用
------------------------*/
.article .intro_text,
.article_area * {
}
.article_area {
  padding: 0 119px;
  line-height: 1.7;
  letter-spacing: 0.08em;
}
.article_area > *:not(p) {
  margin-top: 25px;
  margin-bottom: 25px;
}
/*.article_area h2 {
	margin: 0 0 25px 0;
	padding: 25px 0;
	border-top: 1px solid #bec1c1;
	border-bottom: 1px solid #bec1c1;
	font-size: 2.2rem;
	font-weight: 700;
}*/
.article_area h2 {
  position: relative;
  margin: 0 -40px 25px -40px;
  padding: 0 0 0 18px;
  font-size: 2.4rem;
  font-weight: 700;
}
.article_area * + h2 {
  margin-top: 40px;
}
.article_area h2:before {
  display: inline-block;
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 5px;
  height: 100%;
  background: #66cad5;
}
.article_area h3 {
  margin-bottom: 10px;
  margin-left: 30px;
  position: relative;
  font-size: 2.2rem;
}
.article_area h3:before {
  display: block;
  content: '\f111';
  position: absolute;
  left: -30px;
  color: #66cad5;
  font-family: FontAwesome;
}
.article_area figure {
  margin: 25px -40px;
  text-align: center;
}
.article_area img {
  max-width: 100% !important;
  width: auto !important;
  height: auto !important;
}
.article_area > img {
  max-width: calc(100% - 80px) !important;
}
.article_area figcaption {
  width: 100%;
  font-size: 1.8rem;
  color: #7d7d7d;
}
.article_area blockquote {
  margin-bottom: 0;
  padding: 20px 38px 36px 38px;
  background: #f8f8f8;
}
.article_area blockquote:before {
  display: block;
  width: 30px;
  height: 22px;
  margin: 0 0 12px 0;
  content: '';
  background: url(../images/common/icon_blockquote.png) no-repeat;
  background-size: 100% auto;
}
.article_area cite {
  display: block;
  margin-top: 0;
  padding: 0 0 0 38px;
  color: #7d7d7d;
  font-size: 1.4rem;
}
.article_area cite:before {
  display: inline-block;
  content: '出典：';
}
.article_area cite a {
  border-bottom: 1px solid #7d7d7d;
  color: #7d7d7d;
}
.article_area .div:not(.link_temp_area),
.article_area .div:not(.link_temp_area) div {
  padding: 36px 38px;
  background: #f8f8f8;
  border: 1px solid #66cad5;
}
.article_area table {
  width: 100%;
  table-layout: fixed;
  border-collapse: collapse;
  border: 1px solid #66cad5;
}
.article_area th {
  background: #86e6dc;
}
.article_area td {
  background: #f8f8f8;
}
.article_area th,
.article_area td {
  padding: 10px;
  border: 1px solid #66cad5;
  vertical-align: middle;
}
.article_area ul {
  padding: 18px 30px 18px 60px;
  background: #f8f8f8;
  border: 1px solid #66cad5;
}
.article_area li {
  position: relative;
}
.article_area li:before {
  display: block;
  content: '\f096';
  position: absolute;
  left: -30px;
  color: #66cad5;
  font-family: FontAwesome;
}
.article_area li + li {
  margin: 10px 0 0 0;
}
.article_area p {
  margin-bottom: 10px;
}
.article_area p + p {
  margin-top: 10px;
}
.article_area strong {
  font-weight: 700;
}
.article_area .marker {
  background: linear-gradient(transparent 0%, #fbf9cd 0%);
  font-weight: normal;
}
.article_area a:not(.link_area):not(.base_btn) {
  color: #0033cc;
  text-decoration: underline;
}
.article_area .btn_area .text {
  margin: 20px 0 0 0;
  text-align: center;
}
.article_area iframe {
  width: 100%;
}

/* inc: link_temp */
.link_temp_area {
  margin: 25px -40px 0 -40px;
  border: 1px solid #d5d5d5;
}
.link_temp_area + .link_temp_area {
  margin-top: 40px;
}
.link_temp_area > .link_area {
  display: flex;
}
.link_temp_area .top_block {
  display: flex;
}
.link_temp_area .top_block .link_area {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  width: 100%;
  position: relative;
  padding: 20px;
}
.link_temp_area .square_img {
  width: 120px;
}
.link_temp_area .text_box {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  position: relative;
  width: calc(100% - 140px);
  height: 100%;
}
.link_temp_area .text_box > .inner {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}
.link_temp_area .text_box .name_item {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  justify-content: space-between;
}
.client .text_box .name_item {
  justify-content: flex-start;
}
.link_temp_area .text_box .name,
.link_temp_area .text_box .agent_name {
  padding: 0 300px 0 0;
  font-weight: 700;
  text-decoration: underline;
  line-height: 1.5;
}
.link_temp_area .text_sub {
  display: flex;
  align-items: flex-end;
  flex-grow: 1;
  justify-content: space-between;
  width: 100%;
  margin: 10px 0 0 0;
}
.link_temp_area .text_box .price {
  position: absolute;
  top: 0;
  right: 0;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1;
}
.link_temp_area .text_box .tel {
  align-self: flex-start;
  font-size: 1.6rem;
  font-weight: 700;
}
.link_temp_area .text_box .option_item {
  display: flex;
  justify-content: center;
  width: 220px;
  padding: 10px;
  background: #f8f8f8;
}
.link_temp_area .text_box .option_item .item {
  line-height: 24px;
}
.link_temp_area .text_box .option_item .item:before {
  display: inline-block;
  content: '';
  width: 28px;
  height: 24px;
  margin: 0 12px 0 0;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100% auto;
  vertical-align: top;
}
.link_temp_area .text_box .option_item .bed:before {
  background-image: url(../images/common/icon_bed_bk.png);
}
.link_temp_area .text_box .option_item .bath:before {
  background-image: url(../images/common/icon_bath_bk.png);
}
.link_temp_area .text_box .option_item .item + .item {
  margin: 0 0 0 20px;
}
.link_temp_area .btn_area {
  margin: 0;
}
.link_temp_area .text_box .btn_area {
  position: absolute;
  right: 0;
  bottom: 0;
}
.link_temp_area .top_block .base_btn {
  min-width: 280px;
  height: 50px;
  margin: 0 0 0 auto;
  font-size: 1.8rem;
  font-weight: normal;
}
.link_temp_area .bottom_block {
  display: flex;
  background: #fee9e9;
}
.link_temp_area .bottom_block .link_area {
  width: 100%;
  padding: 20px;
}
.link_temp_area .bottom_block .agent_name {
  display: flex;
  align-items: flex-start;
  margin: 0 0 15px 0;
}
.link_temp_area .bottom_block .agent_name dt {
  flex-shrink: 0;
  display: inline-block;
  margin: 0 18px 0 0;
  padding: 0 24px;
  background: #f05f5f;
  border-radius: 2em;
  color: #fff;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 32px;
}
.link_temp_area .bottom_block .agent_name dd {
  color: #c82d19;
  font-weight: 700;
  line-height: 32px;
}
.link_temp_area .bottom_block .regist_btn {
  align-items: center;
  height: 64px;
  font-size: 2.2rem;
  font-weight: 700;
}

/* -------------------------------------
	service_ad_area
---------------------------------------- */
.service_ad_list > li {
  display: flex;
  flex-direction: column;
  position: relative;
}
.service_ad_list > li:not(:nth-of-type(-n + 2)) {
  margin: 50px 0 0 0;
}
.service_ad_list > li .link_area {
  display: flex;
  align-items: flex-start;
  flex-grow: 1;
  flex-direction: column;
}
.service_ad_list .favorite_btn {
  position: absolute;
  top: 0;
  right: 0;
}
.service_ad_list .img_block {
  display: flex;
  align-items: flex-start;
  width: 100%;
}
.service_ad_list .square_img {
  flex-shrink: 0;
  width: 160px;
}
.service_ad_list .name {
  width: calc(100% - 160px);
  /*margin: 50px 0 0 0;*/
  padding: 0 20px;
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 1.4;
}
.service_ad_list .text {
  flex-grow: 1;
  width: 100%;
  margin: 16px 0 10px 0;
  line-height: 1.3;
}
.service_ad_list .btn_area {
  order: 2;
  margin: 20px 0 0 0;
}

/* -------------------------------------
	ellipsis
---------------------------------------- */
.ellipsis {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* -------------------------------------
	Jquery
---------------------------------------- */

/*	modal
------------------------*/
.hidden_area {
  display: none;
}
.modalBoxContents {
  font-size: 1.4rem;
  color: #333;
  text-align: left;
}
.modalBoxContents a {
  color: #da0000;
  text-decoration: underline;
}
.modalBoxContents .img_box {
  margin: 0 20px 30px 0;
  float: left;
  overflow: hidden;
}
.popup_close_box {
  text-align: center;
  margin: 30px 0;
}
.overLayer {
  background: rgba(0, 0, 0, 0.7);
  width: 100%;
  height: 100%;
  z-index: 999;
  position: fixed;
  top: 0;
  left: 0;
  display: none;
  justify-content: center;
  align-items: center;
}
.modalBox {
  background: #fff;
  padding: 30px;
  width: 920px;
  height: 80%;
  border: solid 5px #004fa9;
  border: solid 5px #999;
  overflow: scroll;
  z-index: 2000;
  text-align: center;
}
.modalBox .close {
  background: #2f2f2f;
  width: 30px;
  height: 30px;
  line-height: 30px;
  color: #fff;
  cursor: pointer;
  text-align: center;
  font-size: 200%;
  position: absolute;
  top: 0px;
  right: 0px;
}

/*	slick
------------------------*/
.js-commonSlider:not(.js-spSlider) {
  display: none;
}
.js-commonSlider.slick-initialized {
  display: block;
}
.sl_prev,
.sl_next {
  position: absolute;
  z-index: 1;
  top: calc(50% - 20px);
  width: 30px;
  height: 80px;
  background: #000;
  color: #fff;
  font-size: 5rem;
  text-decoration: none;
  text-align: center;
  line-height: 80px;
  transform: translateY(-50%);
  cursor: pointer;
}
.sl_prev {
  left: 0;
}
.sl_next {
  right: 0;
}
.sl_dots {
  margin: 30px 0 0 -10px;
  font-size: 0;
  text-align: center;
}
.sl_dots > li {
  display: inline-block;
  text-indent: -9999px;
  width: 10px;
  height: 10px;
  margin: 0 0 0 10px;
  text-decoration: none;
  background: #000;
  border-radius: 50%;
  transition: opacity, 0.3s;
  cursor: pointer;
}
.sl_dots > .slick-active {
  background: #66cad5;
}
.sl_dots > li:only-child {
  display: none;
}

/* -------------------------------------
	エージェント詳細リンク
---------------------------------------- */
.tel_block .tel,
.tel_item .tel {
  position: absolute;
}

.agent_detail_btn {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  height: 20px;
  float: right;
  margin-bottom: 10px;
  width: 35%;
  background: #66cad5;
  border-color: #27abba;
  box-shadow: 0 3px 0 0 #27abba;
  border-radius: 3px;
  font-size: 1.2rem;
  text-align: center;
  text-decoration: none;
  line-height: 1.2;
  cursor: pointer;
  transition: color, background, border, box-shadow, 0.3s;
}
.selected_agent_list .agent_detail_btn {
  height: 35px;
  font-size: 1.6rem;
}
/* -------------------------------------
	clearfix
---------------------------------------- */
.cf:before,
.cf:after {
  content: '';
  display: table;
}
.cf:after {
  clear: both;
}

/* 仮CSS */
/*a[href=""] {
	text-decoration: line-through;
}*/
