@charset "UTF-8";
/* ===================================================================
top
=================================================================== */
#home #fv {
  margin-bottom: 120px;
}

#home #fv .wrap {
  height: 100vh;
  height: 100svh;
  width: 100vw;
  min-width: 1310px;
  position: relative;
  background-image: url(../img/top_fv_bg_pc.jpg);
  background-position: center;
  background-size: cover;
  padding: 40px;
  padding-top: 20px;
}

#home #fv .wrap::before,
#home #fv .wrap::after {
  content: "";
  background-color: #000;
  position: absolute;
  width: 100%;
  height: 30%;
  left: 0;
  z-index: 0;
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0, rgba(23, 56, 153, 0.4) 100%);
}

#home #fv .wrap::before {
  top: 0;
  transform: rotate(180deg);
}

#home #fv .wrap::after {
  bottom: 0;
}

#home #fv .inner {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 100%;
}

#home #fv .head {
  position: absolute;
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  z-index: 1;
}

#home #fv .head .logo {
  width: 60px;
  line-height: 0;
}
#home #fv .head .logo img {
  width: 100%;
}
#home #fv .head .logo a {
  display: block;
}

#home #fv .head nav {
  padding-top: 20px;
}

#home #fv .head nav ul {
  display: flex;
  align-items: center;
}

#home #fv .head nav ul li {
}

#home #fv .head nav ul li a {
  color: #fff;
  font-weight: bold;
  line-height: 1;
  font-size: 14px;
  padding: 0;
  background: unset;
}

#home #fv .tit {
  position: absolute;
  right: 0;
  left: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  display: flex;
  justify-content: center;
  align-items: center;
  max-width: 900px;
  width: 100%;
  z-index: 0;
  filter: drop-shadow(0px 0px 6px rgba(5, 45, 116, 0.5));
  /* background-color: rgb(5 45 116); */
}

#home #fv .tit picture {
  width: 100%;
}

#home #fv .tit img {
  /* width: 100%; */
  /* max-width: unset; */
}

#home #fv .sub {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 360px;
  z-index: 1;
}
#home #fv .sub img {
  width: 100%;
}

#home #fv .btn {
  position: absolute;
  bottom: 0;
  right: 0;
  z-index: 1;
}

#home #fv .btn a {
  border: solid 1px #fff;
  width: 120px;
  height: 120px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  border-radius: 100%;
  color: #fff;
}

#home #fv .btn a img {
  width: 70px;
}

#home #fv .humb {
  display: none;
}

#home #fv .btn_banner{
  position: absolute;
  width: 240px;
  bottom: 0;
  right: 0;
  line-height: 0;
  display: block;
  border-radius: 5px;
  overflow: hidden;
}
#home #fv .btn_banner a{
    display: block;
    line-height: 0;
    transition: opacity .3s;
}
#home #fv .btn_banner a:hover{
    opacity: 0.5;
}

/* ===================================================================
news
=================================================================== */
#home #news .wrap {
  margin-bottom: 120px;
}

#home #news .inner {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
}

#home #news .sec_tit {
  width: 18%;
}

#home #news .news_list {
  width: 80%;
}

#home #news .news_list ul li {
  border-bottom: solid 1px #f8f8f8;
}

#home #news .news_list ul li:nth-child(1) {
  border-top: solid 1px #f8f8f8;
}

#home #news .news_list ul li a {
  display: flex;
  align-items: flex-start;
  padding: 30px 0px;
}

#home #news .news_list ul li a p {
  color: #333333;
}

#home #news .news_list ul li a .day {
  width: 120px;
  color: #888888;
}

#home #news .news_list ul li a .tit {
  width: calc(100% - 120px);
  font-size: 14px;
}

/* ===================================================================
banner
=================================================================== */
#home #banner .inner {
  padding: 120px 0px;
}

#banner {
  background-color: #f8f8f8;
}

#banner .group_flex {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
  position: relative;
}
#banner .group_flex::after{
  content:"";
  /* position: absolute; */
  width: calc(50% - 10px);
}
#banner .group_flex .box {
  width: calc(25% - 10px);
  margin-bottom: 20px;
}

#banner .group_flex .box p {
  font-size: 12px;
}

#banner .group_flex .box a {
  display: block;
}

#banner .group_flex .box img {
  width: 100%;
}

/* ===================================================================
about
=================================================================== */
#home #about .wrap {
  position: relative;
  margin-bottom: 100px;
}

#home #about .inner::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
  margin: auto;
  background-color: #000;
  z-index: 0;
  opacity: 0.2;
}

#home #about .inner {
  padding: 140px 80px;
  position: relative;
  z-index: 1;
  color: #fff;
  background-image: url(../img/top_news_bg_pc.jpg);
  background-position: center;
  background-size: cover;
}

#home #about .sec_tit {
  margin-bottom: 40px;
}

#home #about .text_area p {
  font-size: 16px;
}

/* ===================================================================
pickup
=================================================================== */
#home #pickup .inner {
  display: flex;
  align-items: center;
  position: relative;
  padding-top: 160px;
  padding-bottom: 100px;
}

#home #pickup .inner::before {
  content: "";
  background-color: #fff;
  position: absolute;
  width: 60%;
  height: 60%;
  z-index: 0;
  right: 0;
  bottom: 10%;
}

#home #pickup .wrap {
  background-color: #f8f8f8;
  margin-bottom: 120px;
}

#home #pickup .main_thumb_slider {
  width: 55%;
}

#home #pickup .property_summary {
  width: 45%;
  padding-left: 7%;
  z-index: 1;
  position: relative;
  padding-top: 5%;
}

#home #pickup .property_summary .sec_tit {
  margin-bottom: 30px;
}

#home #pickup .property_tit {
  /* margin-bottom: 10px; */
}

#home #pickup .property_price {
  margin-bottom: 20px;
}

#home #pickup .property_detail {
  /* border: unset; */
  margin-bottom: 40px;
}

#home #pickup .catch {
  margin-bottom: 20px;
}

#home #pickup .btn {
  line-height: 1;
}

#home #pickup .btn a {
  display: inline-block;
  font-size: 14px;
  position: relative;
  padding-right: 15px;
  line-height: 1;
  font-weight: bold;
}

#home #pickup .btn a::before {
  content: "";
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 6px;
  height: 6px;
  border-top: 1px solid #000;
  border-right: 1px solid #000;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

#home #pickup .sp_block {
  display: none;
}

/* ===================================================================
property_list_section
=================================================================== */
#home #property_list_section .wrap {
  margin-bottom: 120px;
}

#home #property_list_section .group {
  margin-bottom: 120px;
}
#home #property_list_section .group .common_btn {
  margin: 20px 0px 40px;
}

#home #property_list_section .group_head {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  padding-bottom: 20px;
  margin-bottom: 40px;
  border-bottom: solid 1px #c9c9c9;
}

#home #property_list_section .group_head .all_link {
  position: relative;
  padding-right: 12px;
  line-height: 1;
}

#home #property_list_section .group_head .all_link a {
  line-height: 1;
  color: #888888;
  font-size: 12px;
}

#home #property_list_section .group_head .all_link a::before {
  content: "";
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 6px;
  height: 6px;
  border-top: 1px solid #888888;
  border-right: 1px solid #888888;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

/* ===================================================================
consulting_banner
=================================================================== */
#home #consulting_banner .wrap {
  margin-bottom: 120px;
  padding: 0 40px;
}

#home #consulting_banner .inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

#home #consulting_banner .group {
  width: calc(50% - 10px);
}

#home #consulting_banner .group a {
  padding: 200px 80px;
  display: block;
  color: #fff;
  position: relative;
  background-color: #000;
}

#home #consulting_banner .group a .bg {
  background-position: center;
  background-size: cover;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  opacity: 0.8;
}

#home #consulting_banner .group.purchase a .bg {
  background-image: url(../img/top_purchase_bg.jpg);
}

#home #consulting_banner .group.sales a .bg {
  background-image: url(../img/top_sales_bg.jpg);
}

#home #consulting_banner .group .sec_tit {
  position: relative;
  z-index: 1;
}

/* ===================================================================
contact
=================================================================== */
#contact_banner .wrap {
  background-image: url(../img/contact_banner_bg.jpg);
  background-position: center;
  background-size: cover;
  position: relative;
}

#contact_banner .wrap::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
  margin: auto;
  background-color: #000;
  z-index: 0;
  opacity: 0.5;
}

#contact_banner .inner {
  position: relative;
  z-index: 1;
  color: #fff;
  padding-top: 120px;
  padding-bottom: 120px;
}

#contact_banner .btn_flex {
  display: flex;
  justify-content: space-between;
  /* align-items: center; */
}

#contact_banner .btn_flex a {
  width: calc(50% - 10px);
  border: solid 1px #fff;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 30px 40px;
  position: relative;
}

#contact_banner .btn_flex a p {
  line-height: 1;
  margin-bottom: 5px;
  font-size: 13px;
}

#contact_banner .btn_flex a h6 {
  line-height: 1;
}

#contact_banner .btn_flex a.tel h6 {
  font-size: 18px;
}

#contact_banner .btn_flex a::before {
  content: "";
  position: absolute;
  right: 40px;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 8px;
  height: 8px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

#contact_banner .sec_tit {
  margin-bottom: 40px;
}

/* ===================================================================
page
=================================================================== */
.page_wrap {
  padding: 140px 0px 140px;
}

#page .page_head {
  margin-bottom: 60px;
}

/* ===================================================================
sale
=================================================================== */
#page.sales .page_wrap {
  /* padding-bottom: 140px; */
}

#page.sales .inner {
  position: relative;
}
#page.sales .property_list {
  width: 100%;
}

#page.sales #sort_head {
  position: absolute;
  top: 10px;
  right: 0;
}

#page.sales #sort_head a {
  padding: 14px 40px;
  color: #5796db;
  border-radius: 5px;
  position: relative;
  border: solid 1px #5796db;
  display: flex;
  align-items: center;
  transition: 0.3s ease-in-out;
}

#page.sales #sort_head a svg {
  width: 16px;
  display: block;
  margin-left: 5px;
  transition: 0s ease-in-out;
}

#page.sales #sort_head a:hover {
  background-color: #5796db;
  color: #fff;
}

#page.sales #sort_head a:hover svg {
  stroke: #fff;
  transition: 0.3s ease-in-out;
}
#page.sales .wp-pagenavi {
  display: flex;
  align-items: center;
  justify-content: center;
}
#page.sales .wp-pagenavi a,
#page.sales .wp-pagenavi span {
  display: block;
  margin: 0 20px;
  font-size: 16px;
  line-height: 1;
  font-weight: bold;
  transition: opacity 0.3s;
}
#page.sales .wp-pagenavi a:hover {
  opacity: 0.5;
}
#page.sales .wp-pagenavi .previouspostslink,
#page.sales .wp-pagenavi .nextpostslink {
  background-image: url(../img/arrow.svg);
  background-position: center;
  background-size: contain;
  width: 30px;
  height: 10px;
  background-repeat: no-repeat;
}
#page.sales .wp-pagenavi .previouspostslink {
  transform: scaleX(-1);
}
#page.sales .wp-pagenavi .current {
  background-color: #000;
  border-radius: 100%;
  width: 30px;
  height: 30px;
  color: #fff;
  text-align: center;
  justify-content: center;
  align-items: center;
  display: flex;
}

/* modal */
.modal {
  display: none;
  position: fixed;
  z-index: 9999;
  width: 100vw;
  height: 100%;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(255, 255, 255, 0.8);
  min-width: 1080px;
  margin: auto;
}

.modal .wrap {
  height: 100%;
  width: 100%;
  padding: 80px 20px;
}

.modal .inner {
  height: auto;
  width: 100%;
  padding: 80px;
  background-color: #f8f8f8;
  position: relative;
  max-width: 1000px;
  margin: auto;
}
#modal_sort .none {
  display: none;
}

#modal_sort .group {
  margin-bottom: 40px;
}

#modal_sort .group:last-child {
  margin-bottom: 60px;
}

#modal_sort .head {
  font-weight: bold;
  margin-bottom: 5px;
  font-size: 16px;
}

#modal_sort .list {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  position: relative;
  align-items: flex-start;
  position: relative;
}

#modal_sort .list label {
  width: 205px;
  margin-bottom: 10px;
  margin-right: 5px;
  display: block;
  text-align: center;
  line-height: 1;
  padding: 20px 0;
  background-color: #fff;
  font-size: 12px;
  border-radius: 6px;
  color: #888888;
  transition: 0.3s;
  cursor: pointer;
}

#modal_sort .list input[type="checkbox"] {
  display: none; /* チェックボックスを非表示にする */
  appearance: auto;
  -webkit-appearance: auto;
}

#modal_sort .list input[type="checkbox"]:checked + label {
  background: #5796db; /* マウス選択時の背景色を指定する */
  color: #ffffff; /* マウス選択時のフォント色を指定する */
}

#modal_sort .list label:hover {
  background: #5796db; /* マウス選択時の背景色を指定する */
  color: #ffffff; /* マウス選択時のフォント色を指定する */
}
#modal_sort .group.area .list {
  padding-top: 40px;
  margin-bottom: 40px;
}
#modal_sort .group.area .list:last-child {
  margin-bottom: 0px;
}
#modal_sort .group.area .head {
  margin-bottom: 20px;
}
#modal_sort .group.area label {
  padding: 0;
  background-color: unset;
  border-radius: 0px;
  width: auto;
  display: flex;
  align-items: center;
  color: #151515;
  cursor: pointer;
}
#modal_sort .group.area input[type="checkbox"] {
  display: block;
  margin: unset;
}

#modal_sort .group.area label .text {
  display: flex;
  align-items: flex-end;
  margin-left: 5px;
}

#modal_sort .group.area label .main {
  line-height: 1;
  font-size: 14px;
  text-align: left;
}

#modal_sort .group.area label .num {
  display: block;
  line-height: 1;
  margin-left: 5px;
  opacity: 0.5;
}

#modal_sort .group.area label {
  width: 205px;
  padding: 0px 20px;
  margin-bottom: 10px;
}
#modal_sort .group.area .other_list label {
  width: auto;
}
#modal_sort .group.area label.tokyo,
#modal_sort .group.area label.saitama,
#modal_sort .group.area label.other {
  width: 100%;
  padding: 0;
  margin: unset;
  position: absolute;
  top: 0;
  left: 0;
  border-bottom: solid 1px #ececec;
  padding-bottom: 10px;
}
#modal_sort .group.select_group .list {
  display: flex;
  justify-content: space-between;
  position: relative;
}
#modal_sort .group.select_group select {
  width: calc(50% - 20px);
  display: block;
  text-align: center;
  line-height: 1;
  padding: 20px 20px;
  background-color: #fff;
  font-size: 12px;
  border-radius: 6px;
  color: #666;
  transition: 0.3s;
  position: relative;
  z-index: 1;
  text-align: -webkit-center;
}

#modal_sort .group.select_group .list::before {
  content: "~";
  position: absolute;
  right: 0;
  left: 0;
  top: -6px;
  bottom: 0;
  margin: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  line-height: 1;
  color: #888888;
}
#modal_sort .group.cat .list {
  justify-content: space-between;
}
#modal_sort .group.cat label {
  width: calc(50% - 5px);
  display: block;
  text-align: center;
  line-height: 1;
  padding: 20px 20px;
  background-color: #fff;
  font-size: 12px;
  border-radius: 6px;
  color: #666;
  transition: 0.3s;
  position: relative;
  z-index: 1;
  text-align: -webkit-center;
}
#modal_sort ul li a:hover {
  background: #5796db;
  color: #fff;
}

#modal_sort #property_sort_btn {
  margin-top: 60px;
}
#modal_sort #property_sort_btn input {
  width: 100%;
  display: block;
  text-align: center;
  line-height: 1;
  padding: 25px 0;
  background-color: #5796db;
  font-size: 14px;
  border-radius: 6px;
  color: #fff;
  font-weight: bold;
}

/* ===================================================================
about
=================================================================== */
#page.about .page_head {
  margin-bottom: 30px;
}

#page.about .group {
  padding: 140px 0px;
}

#page.about .group .sec_tit {
  margin-bottom: 30px;
}

#page.about #company-profile.group {
  padding-top: 0;
}

#page.about #company-profile .group_flex {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}

#page.about #company-profile .group_flex .main_thumb_slider {
  width: calc(50% - 10px);
}

#page.about #company-profile .group_flex .table_area {
  width: calc(50% - 10px);
}

#page.about #company-profile .group_flex .table_area table {
  width: 100%;
}
#page.about #company-profile .group_flex .table_area table th,
#page.about #company-profile .group_flex .table_area table td {
  font-size: 14px;
      font-weight: 400;
}
#page.about #company-profile .group_flex .table_area table td {
  width: 140px;
}

#page.about #company-profile .group_flex .table_area table th {
  width: calc(10% - 135px);
}

#page.about #staff {
  background-color: #f8f8f8;
}

#page.about #staff .group_flex {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
}

#page.about #staff .group_flex .box {
  width: calc(50% - 10px);
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  background-color: #fff;
  margin-bottom: 20px;
}

#page.about #staff .group_flex .box .thumb {
  width: 40%;
  line-height: 0;
}

#page.about #staff .group_flex .box .text {
  width: 60%;
  padding: 40px;
}

#page.about #staff .group_flex .box .text h5 {
  margin-bottom: 20px;
}

#page.about #staff .group_flex .box .text p {
  margin-bottom: 20px;
}

#page.about #staff .group_flex .box .btn a {
  font-size: 12px;
  font-weight: 500;
}

#page.about #staff .group_flex .box .btn.open {
  opacity: 0;
}

#page.about #staff .group_flex .box .hide_text {
  width: 100%;
  padding: 40px;
  display: none;
}

#page.about #staff .group_flex .box .hide_text_inner {
  display: flex;
  align-items: center;
}

#page.about #staff .group_flex .box .hide_text table {
  width: 100%;
  width: calc(50% - 5px);
}

#page.about #staff .group_flex .box .hide_text table td,
#page.about #staff .group_flex .box .hide_text table th {
  vertical-align: top;
  font-size: 12px;
  font-weight: normal;
}

#page.about #staff .group_flex .box .hide_text table td {
  width: 80px;
}

#page.about #staff .group_flex .box .hide_text table th {
  width: calc(10% - 135px);
}

#page.about #access .map {
  position: relative;
  width: 100%;
  padding-bottom: 40%;
  margin-bottom: 10px;
}

#page.about #access .map iframe {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
}

#page.about #access .map_detail {
  margin-bottom: 10px;
}

#page.about #access .map_detail p {
  font-size: 12px;
}

#page.about #access .note a {
  text-decoration: underline;
}

#page.about .page_wrap {
  padding-bottom: 0;
}

/* ===================================================================
consulting
=================================================================== */
#page.consulting #content .group {
  margin-bottom: 120px;
}

#page.consulting #content .group:last-child {
  margin-bottom: 0px;
}

#page.consulting #content .group .group_wrap {
  background-color: #f8f8f8;
}

#page.consulting #content #performance.group .group_wrap {
  background-color: unset;
}

#page.consulting #content #performance.group .group_head {
  margin-bottom: 0;
}

#page.consulting #content .group .group_head {
  position: relative;
  top: -20px;
  margin-bottom: 20px;
}

#page.consulting #content .group .group_list ul {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

#page.consulting #content .group .group_list ul li {
  width: calc(50% - 20px);
  background-color: #fff;
  padding: 40px;
  position: relative;
  margin-bottom: 40px;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}

#page.consulting #content .group .group_list ul li .num {
  position: absolute;
  top: -33px;
  font-size: 36px;
  font-weight: bold;
  letter-spacing: -0.01em;
}

#page.consulting #content .group .group_list ul li .lead {
  text-align: center;
  margin-bottom: 10px;
}

#page.consulting #content .group .group_list ul li .lead .icon {
  width: 60px;
  height: 60px;
  margin: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 10px;
}
#page.consulting.sales-consulting #content .group .group_wrap {
  padding-top: 40px;
}

#page.member {
}
#page.member .member_login_wrap {
  background-color: #f8f8f8;
}
#page.member .member_login_inner {
  max-width: 700px;
  margin: auto;
  padding: 60px 40px;
  font-size: 14px;
}
#page.member.members.login .member_login_wrap{
  background: unset;
}
#page.member.members.login .member_login_inner {
  max-width: unset;
  margin: auto;
  padding: 0;
}
#page.member.members .property_list ul li .cat{
  position: absolute;
  z-index: 1;
  font-size: 12px;
  background-color: rgb(255 255 255 / 80%);
  padding: 2px 10px;
}
#page.member #wpmem_login {
  margin: auto;
}
#page.member #wpmem_login h3 {
  /* display: none; */
  margin-bottom: 15px;
}
#page.member #wpmem_login label {
  font-size: 16px;
  font-weight: bold;
}
#page.member #wpmem_login .div_text {
  margin: 10px 0 15px;
}
#page.member #wpmem_login legend, #wpmem_reg legend{
  margin-bottom: 20px;
}
#page.member #wpmem_login .aiowps-captcha {
  margin-top: 20px;
  /* margin-bottom: 0px; */
}
#page.member #wpmem_login .button_div {
  display: flex;
  flex-wrap: wrap;
  padding: 0;
  margin-bottom: 20px;
  margin-top: 20px;
}
#page.member input[type="checkbox"] {
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
/* チェックボックスデザイン */
#page.member #wpmem_login input[type="checkbox"] {
  cursor: pointer;
  /* padding-left: 30px; */ /*label手前にチェックボックス用の余白を開ける*/
  /* vertical-align: middle; */
  position: relative;
  width: 20px;
  height: 20px;
  display: block;
  position: relative;
  margin: 0;
  border: solid 1px #666464;
  margin-right: 5px;
  top: 0px;
}
#page.member #wpmem_login .button_div label {
  font-weight: 400;
  font-size: 14px;
}

#page.member #wpmem_login input[type="checkbox"]::after {
  content: "";
  display: block;
  position: absolute;
}

#page.member #wpmem_login input[type="checkbox"]::before {
  /* background-color: #fff; */
  /* border-radius: 0%; */
  /* border: 1px solid #666464; */
  /* width: 100%; */ /*チェックボックスの横幅*/
  /* height: 100%; */ /*チェックボックスの縦幅*/
  /* transform: translateY(-50%); */
  /* top: 50%; */
  /* left: 5px; */
}

#page.member #wpmem_login input[type="checkbox"]::after {
  border-bottom: 2px solid #666464; /*チェックの太さ*/
  border-left: 2px solid #666464; /*チェックの太さ*/
  opacity: 0; /*チェック前は非表示*/
  height: 6px; /*チェックの高さ*/
  width: 10px; /*チェックの横幅*/
  transform: rotate(-45deg);
  /* top: -7px; */ /*チェック時の位置調整*/
  /* left: 10px; */ /*チェック時の位置調整*/
  right: 0;
  left: 0;
  top: -3px;
  bottom: 0;
  margin: auto;
}

#page.member #wpmem_login input[type="checkbox"]:checked::after {
  opacity: 1; /*チェック後表示*/
}
#page.member  input[type="text"]:focus {
}
#page.member .button_div .buttons {
  width: 100%;
  background-color: #b9b9b9;
  font-size: 16px;
  font-weight: 600;
  padding: 16px;
  background-color: #5796db;
  padding: 14px 30px;
  color: #fff;
  border-radius: 5px;
  margin-top: 20px;
  cursor: pointer;
  transition: opacity 0.3s ease-in-out;
}
#page.member .button_div .buttons:hover {
  opacity: 0.5;
}
#page.member .button_div input[type="text"]:focus {
  outline: none;
  border: none;
}
#page.member #wpmem_login .link-text {
  font-size: 14px;
}
#page.member #wpmem_login .link-text a {
  text-decoration: underline;
  transition: opacity 0.3s ease-in-out;
}
#page.member #wpmem_login .link-text a:hover {
  opacity: 0.5;
}

#page.member #wpmem_reg{
  margin: auto;
  width: 100%;
}

#page.member .wpmem_msg{
  width: 100%;
  font-size: 14px;
  padding: 20px;
}

#page.member #wpmem_restricted_msg{

}
#page.member #wpmem_restricted_msg .btn_wrap,
#page.member.profile ul{display: flex;justify-content: space-between;margin-top: 20px;}
#page.member.profile ul li{
    width: 100%;
    width: calc(50% - 5px);
}
#page.member.profile ul li a{
  background-color: #5796db;
  padding: 14px 30px;
  color: #fff;
  border-radius: 5px;
  display: block;
  transition: opacity 0.3s ease-in-out;
  text-align: center;
  width: 100%;
}
#page.member #wpmem_restricted_msg .btn_wrap a{
      width: calc(50% - 5px);
   background-color: #5796db;
  padding: 14px 30px;
  color: #fff;
  border-radius: 5px;
  display: block;
  transition: opacity 0.3s ease-in-out;
  text-align: center;
}
#page.member.profile ul li a:hover,
#page.member #wpmem_restricted_msg .btn_wrap a:hover{
  opacity:0.5
}
/* ===================================================================
single
=================================================================== */
#single #fv .wrap {
  margin-bottom: 60px;
}

#single #fv .thumb {
  padding-bottom: 50%;
  position: relative;
  overflow: hidden;
}
#single #fv .thumb .thumb_main{
  position: absolute;
  z-index: 1;
  right: 0;
  left: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  padding: 70px 0px 0px;
}
#single #fv .thumb .thumb_img {
  position: absolute;
  width: 100%;
  height: 100%;
  background-position: center;
  background-size: cover;
  filter: blur(3px);
  transform: scale(1.1);
  opacity: 0.8;
}

#single #content .summary {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 40px;
}

#single #content .summary .text {
  width: 50%;
  padding-right: 40px;
}

#single #content .summary .property_detail {
  width: 50%;
  padding: 0;
  border: unset;
}

#single #content .table_area table {
  width: 100%;
  margin-bottom: 20px;
}

#single #content .table_area table tbody {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
}

#single #content .table_area table tr {
  width: 50%;
  display: flex;
}

#single #content .table_area table td {
  width: 140px;
}

#single #content .table_area table th {
  width: calc(100% - 140px);
}
#single #content .table_area table p {
  line-height: 1.5;
}
#single #content .publication_date {
  margin-bottom: 80px;
}
#single #content .publication_date p {
  font-size: 12px;
}

#single #content .table_area a {
  transition: opacity 0.3s;
  text-decoration: underline;
}
#single #content .table_area a:hover {
  opacity: 0.5;
}
#single #recommended {
  margin-top: 100px;
  background-color: #f8f8f8;
}

#single #recommended .recommended_inner {
  padding-top: 100px;
  padding-bottom: 20px;
}

#single #recommended .recommended_tit {
  margin-bottom: 20px;
}

#single #gallery {
  margin-bottom: 100px;
}
#single #gallery .gallery_wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
#single #gallery .gallery_wrap::after {
  content: "";
  width: calc(33.333% - 5px);
}
#single #gallery .thumb {
  width: calc(33.333% - 20px / 3);
  margin-bottom: 10px;
  overflow: hidden;
  position: relative;
  display: block;
  border: solid 1px #f8f8f8;
}
#single #gallery .thumb .thumb_img {
  background-position: center;
  background-size: cover;
  padding-bottom: 66.666%;
  position: relative;
}
#single #gallery .thumb .zoom {
  position: absolute;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: rgb(0 0 0 / 50%);
  transition: opacity 0.3s;
  opacity: 0;
  z-index: 1;
}
#single #gallery .thumb .zoom img {
  width: 20px;
}
#single #gallery .thumb:hover .zoom {
  opacity: 1;
}
.modal.gallery_modal .wrap {
  padding: 0;
}
.modal.gallery_modal .inner {
  background-color: unset;
  max-width: unset;
  padding: 40;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
}
.modal.gallery_modal .inner img {
  height: 100%;
}

#single #content .btn_area .summo {
  margin-bottom: 20px;
}
#single #content .btn_area .summo a {
  background-color: #6fba2c;
}
/* ===================================================================
contact
=================================================================== */
#page.contact .page_head {
  /* display: flex; */
  /* justify-content: space-between; */
  /* align-items: flex-start; */
}

#page.contact .page_head .sec_tit {
  margin-top: 10px;
}

#page.contact #content {
  background-color: #f8f8f8;
}
#page.contact .page_head {
}
#page.contact .page_head .sec_tit {
  margin-bottom: 11px;
}

#page.contact .page_head .tel p {
  line-height: 1;
  font-size: 12px;
}

#page.contact #content {
  background-color: #f8f8f8;
}
#page.contact {
}
#page.contact .page_wrap {
  padding-bottom: 0;
}
#page.contact .content_wrap {
  /* padding: 60px 0px 140px; */
  max-width: 900px;
}
#page.contact .content_inner {
  padding: 80px 0px 140px;
}
#page.contact .mw_wp_form {
  margin-bottom: 160px;
}
#page.contact .input_group {
  /* display: flex; */
  /* align-items: center; */
  /* justify-content: flex-start; */
  margin-bottom: 30px;
  position: relative;
  flex-wrap: wrap;
  width: 100%;
  font-size: 16px;
  line-height: 1.5;
}
#page.contact .input_group .input_group_tit {
  width: 200px;
  padding-left: 15px;
  position: relative;
  margin-bottom: 10px;
  font-size: 16px;
}
#page.contact .input_group .input_group_tit::before {
  content: "";
  background-color: #5896dc;
  width: 6px;
  height: 6px;
  display: block;
  border-radius: 100%;
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  margin: auto;
}
#page.contact .input_group .error {
  /* position: absolute; */
  top: 30px;
  /* margin-top: 10px; */
}
#page.contact .input_group input,
#page.contact .input_group textarea {
  background-color: #fff;
  width: 100%;
  display: flex;
  align-items: center;
  margin: unset;
  /* width: calc(100% - 200px); */
  height: 40px;
  display: block;
  padding: 5px 20px;
  font-size: 14px;
  /* max-width: 800px; */
  margin-bottom: 5px;
}
#page.contact .input_group .mwform-tel-field {
  display: flex;
  align-items: center;
  justify-content: space-between;
  /* width: calc(100% - 200px); */
  /* max-width: 800px; */
}
#page.contact .input_group .mwform-tel-field input {
  width: calc(100% / 3 - 15px);
}
#page.contact .input_group.text_area {
  align-items: flex-start;
  margin-top: 40px;
  margin-bottom: 60px;
}
#page.contact .input_group textarea {
  height: auto;
}

#page.contact .btn_area {
  display: flex;
  align-items: center;
  justify-content: center;
}
#page.contact .btn_area input {
  padding: 14px 30px;
  color: #fff;
  border-radius: 5px;
  width: 50%;
  margin: 0 10px;
  background-color: #333;
  padding: 25px;
  color: #fff;
  display: block;
  text-align: center;
  font-weight: bold;
  font-size: 12px;
  transition: background-color 0.3s;
}
#page.contact .btn_area input:hover {
  background-color: #5896dc;
}
#page.contact .contact_tell {
  margin: auto;
}
#page.contact .contact_tell a {
  text-align: center;
  padding: 40px;
  background-color: #fff;
  display: block;
  transition: 0.5s;
}
#page.contact .contact_tell a:hover {
  background-color: #333;
  color: #fff;
}
#page.contact .input_group.check {
  margin: 60px 0px;
}
#page.contact .input_group.check label {
  display: flex;
  align-items: center;
}
#page.contact .input_group.check input {
  -webkit-appearance: auto;
  width: 14px;
  height: 14px;
  margin: unset;
  margin-right: 10px;
}
#page.contact .input_group.check span {
  font-size: 14px;
}
/* ===================================================================
animation
=================================================================== */
.home #fv {
  overflow: hidden;
}

.home #fv .wrap {
  transform: scale(1.02);
  opacity: 0;
}

.home.onload #fv .wrap {
  opacity: 1;
  transform: scale(1);
  transition: opacity 1s ease-in-out, transform 1.4s ease-in-out;
}

.home #fv .tit {
  opacity: 0;
  transform: translate(0px, 10px);
}

.home.onload #fv .tit {
  opacity: 1;
  transform: translate(0px, 0px);
  transition: opacity 0.6s ease-in-out 1s, transform 0.6s ease-in-out 1s;
}

.home #fv .head,
.home #fv .sub,
.home #fv .btn,
.home #fv .btn_banner{
  opacity: 0;
}

.home.onload #fv .head,
.home.onload #fv .sub,
.home.onload #fv .btn,
.home.onload #fv .btn_banner{
  opacity: 1;
  transition: opacity 0.6s ease-in-out 1.5s;
}

#page,
#single {
  opacity: 0;
  transform: translate(0px, 10px);
}

.onload #page,
.onload #single {
  opacity: 1;
  transition: opacity 0.6s ease-in-out, transform 0.6s ease-in-out;
  transform: translate(0px, 0px);
}

.scroll {
  opacity: 0;
  transform: translate(0px, 10px);
  transition: opacity 0.6s ease-in-out 0s, transform 0.6s ease-in-out 0s;
}

.scroll.scrollin {
  opacity: 1;
  transform: translate(0px, 0px);
}

.lazyload {
  opacity: 0;
  transition: opacity 0.6s ease-in-out 0.3s;
}

.lazyloaded {
  opacity: 1;
}

/* ===================================================================
hover
=================================================================== */
.h_o,
.main_thumb_slider .swiper-slide,
.main_thumb_slider .swiper_thumb .swiper-slide.swiper-slide-thumb-active .thumb::before {
  transition: opacity 0.3s ease-in-out;
}

.h_o:hover,
.main_thumb_slider .swiper-slide:hover {
  opacity: 0.5;
}

.h_b,
#home #pickup .btn a,
#home #property_list_section .group_head .all_link a,
#page.about #staff .group_flex .box .text .btn a {
  transition: 0.3s ease-in-out;
}

.h_b:hover,
#home #pickup .btn a:hover,
#home #property_list_section .group_head .all_link a:hover,
#page.about #staff .group_flex .box .text .btn a:hover {
  color: #5796db;
}

#home #property_list_section .group_head .all_link a::before,
#home #pickup .btn a::before {
  transition: 0.3s ease-in-out;
}

#home #property_list_section .group_head .all_link a:hover::before,
#home #pickup .btn a:hover::before {
  border-color: #5796db;
}

#home #fv .btn a {
  transition: 0.3s ease-in-out;
}

#home #fv .btn a:hover {
  background-color: #5796db;
  opacity: 0.8;
}

.common_btn a {
  transition: 0.3s ease-in-out;
}

.common_btn a:hover {
  background-color: #5796db;
}

#contact_banner .btn_flex a {
  transition: 0.3s ease-in-out;
}

#contact_banner .btn_flex a:hover {
  background-color: #fff;
  color: #151515;
}

#contact_banner .btn_flex a::before {
  transition: 0.3s ease-in-out;
}

#contact_banner .btn_flex a:hover::before {
  border-color: #151515;
}

.property_list ul li.residential .investment_detail {
  display: none;
}
.property_list ul li.investment .residential_detail {
  display: none;
}


#members_link{/* background-color: #f8f8f8; *//* background: linear-gradient(180deg, #ffffff 0%, #ffffff 50%, #f8f8f8 50%, #f8f8f8 100%); *//* display: none; */}

#members_link .wrap{
  /* max-width: 1040px; */
  margin-bottom: 160px;
}
#members_link .inner{
  display: flex;
  align-items: end;
  justify-content: space-between;
  background-image: url(../img/top_fv_bg_pc.jpg);
  background-position: center;
  background-size: cover;
  color: #fff;
  position: relative;
  padding: 80px 80px;
}
#members_link .inner::before{
  content:"";
  position: absolute;
  background-color: #3878bd;
  width: 100%;
  height: 100%;
  opacity: 0.8;
  top: 0;
  left: 0;
}
#members_link .left{
  width: 55%;
  position: relative;
  z-index: 1;
}
#members_link .left p{
  font-size: 18px;
  font-weight: bold;
}
#members_link .right{
  width: 45%;
  position: relative;
  z-index: 1;
}
#members_link .right a{
  border: solid 1px #fff;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 20px 40px;
  position: relative;
  transition: 0.3s ease-in-out;
}
#members_link .right a:nth-child(1) {margin-bottom: 10px;}
#members_link .right a::before {
    content: "";
    position: absolute;
    right: 40px;
    top: 0;
    bottom: 0;
    margin: auto;
    width: 8px;
    height: 8px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}
#members_link .right a:hover{
  background-color: #fff;
  color: #151515;
}
#members_link .right a:hover::before {
    border-color: #151515;
}
#members_link .right a p{
    font-size: 16px;
  font-weight: bold;
}
#members_link .sec_tit{
  margin-bottom: 20px;
}
#members_link .sec_tit p{
  font-size: 24px;
}
#members_link .sec_tit h2{
  letter-spacing: 0.1em;
}
