/*loading*/
#loading {
  width: 100%;
  height: 100vh;
  position: fixed;
  background: #fff;
  top: 0;
  left: 0;
  z-index: 10010;
  opacity: 1;
}

@media screen\0 {
  /*#loading { display: none!important; }*/
  .js-scroll-fade {
    opacity: 1 !important;
  }
}

/*common*/
.pc-only {
  display: block !important;
}
.sp-only {
  display: none !important;
}

a.link_line:link,
a.link_line:visited {
  text-decoration: underline;
}
a.link_line:active,
a.link_line:hover {
  text-decoration: none;
}

section {
  position: relative;
}

html,
body {
  width: 100%;
  overflow-x: hidden;
}

img {
  max-width: 100%;
}

.header_logo.sp {
  display: none;
}
.header_nav.sp {
  display: none;
}

@media screen and (max-width: 1000px) {
  .pc-only {
    display: none !important;
  }
  .sp-only {
    display: block !important;
  }

  header.pc {
    display: none;
  }
  .header_logo.sp {
    display: block;
    position: fixed;
    top: 27px;
    z-index: 9999;
  }
  .header_nav.sp {
    display: block;
    position: fixed;
    right: calc((100% - 600px) / 2 + 45px);
    top: 27px;
    z-index: 10001;
  }
}
@media screen and (max-width: 600px) {
  .header_nav.sp {
    display: block;
    position: fixed;
    right: 7.06%;
    top: 27px;
  }
}

/*scroll*/
.js-scroll-fade:not(.top_contents_item):not(.about_main_list):not(
    .about_main_bg
  ) {
  opacity: 0;
}
.isActive:not(.top_contents_item):not(.about_main_list):not(.about_main_bg) {
  -webkit-animation-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
  animation-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
  -webkit-animation-duration: 1.2s;
  animation-duration: 1.2s;
  -webkit-animation-name: fadeUp;
  animation-name: fadeUp;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
}
@-webkit-keyframes fadeUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(10px);
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
@keyframes fadeUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(10px);
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

/*navi*/
.global_nav {
  position: fixed;
  top: 0;
  right: 0;
  width: 100%;
  height: 100vh;
  background: #fff;
  z-index: 10000;
  opacity: 0;
  pointer-events: none;
  -webkit-transition: opacity 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: opacity 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
}
body.open .global_nav {
  opacity: 1;
  pointer-events: visible;
}
.global_nav > .inner {
  width: 86.66%;
  max-width: 456px;
  margin: 0 auto;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}
.global_nav > .inner .main a {
  display: block;
  text-align: center;
  color: #567c8c;
  font-size: 2.4rem;
  font-weight: 600;
}
.global_nav > .inner .main a + a {
  margin-top: 40px;
}
.global_nav > .inner .function .btn {
  margin-top: 60px;
}
.global_nav > .inner .function .btn a {
  font-size: 2.4rem;
  display: block;
  background: #567c8c;
  color: #fff;
  padding: 20px 0;
  text-align: center;
  margin-top: 18px;
}

.btn_humberger_box {
  display: block;
  transform: translateY(0%);
  -webkit-transform: translateY(0%);
  display: flex;
  align-items: center;
  width: 40px;
  cursor: pointer;
}
.btn_humberger {
  width: 40px;
  height: 25px;
  position: relative;
}
.btn_humberger > span {
  width: 100%;
}
.btn_humberger span {
  content: "";
  height: 2px;
  border-radius: 2px;
  display: block;
  -webkit-transition: all 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: all 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
  background: #fff;
  position: absolute;
}
.btn_humberger span:nth-child(2) {
  left: 0;
  top: calc(50% - 1px);
}
.btn_humberger span:nth-child(3) {
  left: 0;
  bottom: 0;
}
.btn_humberger span:nth-child(1) {
  left: 0;
  top: 0;
}
body.open .btn_humberger span {
  background: #567c8c;
}
body.open .btn_humberger span:nth-child(3) {
  -webkit-transform: rotate(45deg) translate(-50%, -50%);
  transform: rotate(45deg) translate(-50%, -50%);
  bottom: 50% !important;
  left: 50%;
  transform-origin: left bottom;
}
body.open .btn_humberger span:nth-child(1) {
  -webkit-transform: rotate(-45deg) translate(-50%, -50%);
  transform: rotate(-45deg) translate(-50%, -50%);
  top: 50% !important;
  left: 50%;
  transform-origin: left top;
}
body.open .btn_humberger span:nth-child(2) {
  opacity: 0;
}

@media screen and (max-width: 1000px) {
  .btn_humberger_box {
    display: block;
    transform: translateY(0%);
    -webkit-transform: translateY(0%);
    display: flex;
    align-items: center;
    width: 38px;
    cursor: pointer;
  }
  .btn_humberger {
    width: 38px;
    height: 24px;
    position: relative;
  }
  .btn_humberger > span {
    width: 100%;
  }
  .btn_humberger span {
    content: "";
    height: 2px;
    border-radius: 2px;
    display: block;
    -webkit-transition: all 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
    transition: all 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
    background: #567c8c;
    position: absolute;
  }
}
@media screen and (max-width: 600px) {
  .global_nav > .inner .main a {
    font-size: 1.8rem;
  }
  .global_nav > .inner .function .btn a {
    font-size: 1.8rem;
  }
}

/*top*/
header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  height: 103px;
  padding: 0 6.75%;
  position: fixed;
  top: 0;
  box-sizing: border-box;
  z-index: 10001;
  background: rgba(255, 255, 255, 0.35);
}
.header_logo {
  width: 207px;
  text-align: center;
}
.header_logo .logo {
  width: 100%;
}

.main_contents {
  width: 100%;
  max-width: 600px;
  margin: 103px auto 0;
  background: #fff;
}
.top {
  background: url("../img/bg_top.png") repeat-y center top / cover;
  padding: 50px 0 45px;
}
.top_copy {
  width: 67.5%;
  margin-left: 7.5%;
}
.top_mainph {
  margin: -15px 0 0 10.83%;
  width: 79.66%;
  position: relative;
}
.topph_txt {
  width: 28.1%;
  position: absolute;
  right: 2%;
  top: 0;
}
.top_ttl {
  margin: 10px auto 0;
  width: 60%;
}
.top_detail {
  position: relative;
  margin-top: 33px;
}
.top_detail .date {
  width: 36%;
  margin-left: 7.66%;
  height: 120px;
  line-height: 140px;
}
.top_detail .modelhouse {
  width: 34%;
  position: absolute;
  left: 39%;
  top: -10%;
}
.top_detail .ico {
  width: 24%;
  position: absolute;
  left: 75%;
  top: 12%;
  visibility: hidden;
  transition: .35s;
  opacity: 0;
}
.top_detail .ico.scroll-on {
    visibility: inherit;
    opacity: 1;
}

.banner {
  background: #f4f2f1;
  padding: 25px 4.67%;
}

.present {
  background: #a69a77;
}
.present .btn {
  display: block;
  width: 90.66%;
  margin: 0 auto;
  padding: 12px 0 25px;
}

.concept {
  background: #f4f2f1;
  padding: 84px 0;
}
.concept_txt .hd {
  font-size: 1.5rem;
  font-weight: 600;
  color: #567c8c;
  letter-spacing: 0.15em;
  text-align: right;
}
.concept_txt .hd span {
  border-bottom: 1px solid #567c8c;
  display: inline-block;
  padding-bottom: 3px;
}
.concept_txt .catch {
  font-size: 2.8rem;
  line-height: 1.9;
  font-weight: 600;
  color: #585c69;
  margin-top: 50px;
}
.concept_top {
  display: flex;
}
.concept_ph01 {
  width: 42.33%;
}
.concept_txt {
  margin: 0 9.16% 70px 5%;
  flex-grow: 2;
}
.concept_ph02 {
  width: 62%;
  margin: -30px 0 0 29.5%;
}
.concept_ph03 {
  width: 60.66%;
  margin: 40px 0 0 0;
  position: relative;
}


.concept_ph04 {
  position: relative;
  z-index: 10;
  width: 42%;
  margin-top: -10%;
  margin-left: auto;
}
.concept_ph04 .img {
  width: 45.71%;
  position: absolute;
  left: -85%;
  top: 25%;
}

.concept_copy {
  position: relative;
  z-index: 100;
  width: 69.33%;
  margin: -10% 0 0 3.66%;
}
.concept_read {
  width: 76.33%;
  margin: 0 auto;
}
.concept_read p {
  font-size: 1.68rem;
  line-height: 2.5;
}

.concept_madori {
  width: 86.66%;
  margin: 60px auto 0;
  border: 2px solid #fff;
  padding: 5px;
  box-sizing: border-box;
}
.concept_madori > .inner {
  margin: 0 auto;
  background: #fff;
  position: relative;
  padding: 40px 0 60px;
}
.concept_madori .txt {
  width: 15.27%;
  position: absolute;
  left: 1%;
  top: 5%;
}
.concept_madori .ttl {
  font-size: 2.6rem;
  text-align: center;
  color: #8e8071;
  font-weight: 500;
  margin-bottom: 30px;
}
.concept_madori .img {
  width: 74.2%;
  margin-left: 16.26%;
}
.concept_btn {
  display: flex;
  justify-content: space-between;
  width: 86.66%;
  margin: 40px auto 0;
}
.concept_btn a {
  width: 49.23%;
  text-align: center;
  color: #fff;
  font-size: 2rem;
  position: relative;
  box-sizing: border-box;
}
.concept_btn01 {
  border: 1px solid #547988;
  padding: 4px;
}
.concept_btn01 > div {
  background: #567c8c;
}
.concept_btn02 {
  border: 1px solid #9e9184;
  padding: 4px;
}
.concept_btn02 > div {
  background: #9e9184;
}
.concept_btn a .num {
  font-size: 3rem;
}
.concept_btn a .ico {
  display: block;
  width: 14px;
  line-height: 0;
  position: absolute;
  right: 15px;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

.interior1F {
  background: url("../img/bg_1f.png") no-repeat center top / cover;
  padding: 50px 0 100px;
}
.interior_head {
  width: 86.66%;
  margin: 0 auto;
  position: relative;
}
.interior1F .hd {
  font-size: 1.5rem;
  font-weight: 600;
  color: #567c8c;
  letter-spacing: 0.15em;
  text-align: center;
}
.interior1F .hd span {
  border-bottom: 1px solid #567c8c;
  display: inline-block;
  padding-bottom: 3px;
}
.interior1F .num {
  font-size: 6.2rem;
  color: #567c8c;
  text-align: right;
}
.interior_head .ttl {
  text-align: center;
  font-size: 3rem;
  font-weight: 500;
  line-height: 1.75;
  letter-spacing: 0.05em;
  position: relative;
}
.interior1F .ttl {
  color: #567c8c;
}
.interior1F .ttl .ico {
  width: 36px;
  margin: 0 auto;
  display: block;
  line-height: 0;
}
.interior1F .ttl .txt {
  width: 16.34%;
  position: absolute;
  left: -5%;
  top: 10px;
}
.interior_head .read {
  padding: 0 9.61% 0 14.03%;
  margin: 50px 0;
  position: relative;
}
.interior_ph01 {
  width: 86.66%;
  margin: 0 auto;
}
.interior_phlist {
  width: 86.66%;
  margin: 40px auto 0;
  display: flex;
}
.interior_phlist .item {
  width: 33.33%;
  position: relative;
}
.interior_phlist .item span {
  display: inline-block;
  font-size: 1.6rem;
  background: rgba(255, 255, 255, 0.6);
  position: absolute;
  left: 0;
  bottom: 0;
  padding: 0 5px;
}

.interior_head_kitchen {
  margin-top: 120px;
}
.interior_head_kitchen .txt {
  width: 16.34%;
  position: absolute;
  left: -5%;
  top: 10px;
}
.kitchen_ph01 {
  width: 80%;
}
.kitchen_ph02 {
  width: 80%;
  margin: 90px 0 0 20%;
  position: relative;
}
.kitchen_ph02 .ph {
  position: relative;
  z-index: 2;
}
.kitchen_ph02 .ico {
  width: 27%;
  position: absolute;
  z-index: 0;
  top: 0;
  right: 5%;
  transform: translateY(-70%);
  -webkit-transform: translateY(-70%);
}
.kitchen_ph02 .line {
  width: 46.04%;
  position: absolute;
  bottom: 0;
  left: -16.66%;
  z-index: 3;
}

.point_hd {
  width: 17.33%;
  margin: 0 auto 0;
  padding: 135px 0 40px;
}
.point_slide {
  overflow: hidden;
  width: 100%;
  position: relative;
}
.point_slide .ph {
  width: 69.33%;
  margin: 0 auto;
  border-radius: 50%;
  border: 1px solid #a69a77;
  padding: 6px;
}
.point_slide .ph > div {
  border-radius: 50%;
  overflow: hidden;
}
.point_slide .ph > div img {
  width: 100%;
}
.point_slide .txt {
  width: 69.33%;
  margin: 0 auto;
}
.point_slide .txt p {
  line-height: 2;
}
.point_slide h2 {
  font-size: 2.08rem;
  text-align: center;
  color: #567c8c;
  margin: 50px 0 40px;
}
.point_slide .swiper-prev {
  width: 13px;
  position: absolute;
  left: 4.16%;
  top: 30%;
  z-index: 10;
}
.point_slide .swiper-next {
  width: 13px;
  position: absolute;
  right: 4.16%;
  top: 30%;
  z-index: 10;
}
.point_slide_inner {
  display: flex;
  position: absolute;
}

.interior_head_bath {
  margin-top: 230px;
}
.bath_ph01 {
  width: 80%;
  position: relative;
}
.bath_ph01 .img {
  width: 27.29%;
  position: absolute;
  right: -20%;
  top: -70px;
}
.bath_ph02 {
  width: 52.5%;
  margin: 90px 0 0 47.5%;
  position: relative;
}
.bath_ph02 .txt {
  width: 45.71%;
  position: absolute;
  left: -80%;
  top: -50px;
}
.bath_ph02 .ico {
  width: 42.22%;
  position: absolute;
  left: -50%;
  bottom: 0;
}
.bath_ph02 .line {
  width: 72.38%;
  position: absolute;
  left: -60%;
  bottom: 0;
}

.interior2F {
  background: url("../img/bg_2f.png") no-repeat center top / cover;
  padding: 50px 0 100px;
}
.interior2F .num {
  font-size: 6.2rem;
  color: #8e8071;
  text-align: right;
}
.interior2F .ttl {
  color: #8e8071;
}
.living_ph01 {
  width: 80%;
  margin: 90px 0 0 20%;
  position: relative;
}
.living_ph01 .img {
  width: 20.83%;
  position: absolute;
  left: -18%;
  bottom: -80px;
}
.living_ph02 {
  width: 52.5%;
  margin-top: 85px;
  position: relative;
}
.living_ph02 .txt {
  width: 26.98%;
  position: absolute;
  right: -80%;
  top: -50px;
}
.living_ph02 .ico {
  width: 77.46%;
  position: absolute;
  right: -64%;
  bottom: -3%;
}
.living_ph02 .line {
  width: 81.58%;
  position: absolute;
  right: -60%;
  top: 5%;
}

.interior_head_kids {
  margin-top: 180px;
}
.interior_head_kids .txt {
  width: 16.34%;
  position: absolute;
  left: -5%;
  top: 10px;
}
.kids_ph01 {
  width: 80%;
  margin: 90px 0 0 20%;
  position: relative;
}
.kids_ph01 .line {
  width: 53.33%;
  position: absolute;
  left: -20%;
  bottom: 5%;
}
.kids_ph02 {
  width: 52.5%;
  margin-top: 90px;
  position: relative;
}
.kids_ph02 .img {
  width: 65.07%;
  position: absolute;
  right: -54%;
  top: -70px;
}
.kids_ph02 .ico {
  width: 50.79%;
  position: absolute;
  right: -42%;
  bottom: -20px;
}

.interior_head_master {
  margin-top: 180px;
}
.interior_head_master .txt {
  width: 16.34%;
  position: absolute;
  left: -5%;
  top: 70px;
}
.master_ph01 {
  width: 80%;
  margin: 90px 0 0 20%;
  position: relative;
}
.master_ph01 .line {
  width: 53.33%;
  position: absolute;
  left: -20%;
  bottom: 5%;
}
.master_ph02 {
  width: 52.5%;
  margin-top: 90px;
  position: relative;
}
.master_ph02 .img {
  width: 100%;
  position: absolute;
  right: -80%;
  top: -50px;
}
.master_ph02 .line {
  width: 82.53%;
  position: absolute;
  right: -70%;
  bottom: 20px;
}

.access {
  background: #eff4f6;
  padding: 55px 0;
  margin-bottom: 50px;
}
.access .hd {
  font-size: 1.5rem;
  font-weight: 600;
  color: #567c8c;
  letter-spacing: 0.15em;
  text-align: center;
}
.access .hd span {
  border-bottom: 1px solid #567c8c;
  display: inline-block;
  padding-bottom: 3px;
}
.access .ttl {
  font-size: 2.4rem;
  color: #567c8c;
  text-align: center;
  font-weight: 600;
  margin: 30px 0 20px;
}
.access .read {
  font-size: 1.68rem;
  color: #567c8c;
  text-align: center;
}
.access .txt {
  font-size: 1.92rem;
  color: #567c8c;
  text-align: center;
}
.access .txt span {
  font-size: 2.8rem;
  font-weight: 700;
}
.googlemap_wrapper {
  width: 86.66%;
  margin: 25px auto 5px;
}

.kukaku {
  width: 86.66%;
  margin: 0 auto;
}
.kukaku_ttl {
  font-size: 2.08rem;
  background: #567c8c;
  color: #fff;
  text-align: center;
  margin-top: 50px;
  padding: 3px 0;
}
.kukaku_point {
  width: 80%;
  margin: 40px auto 30px;
  display: flex;
  justify-content: space-between;
}
.kukaku_point > div {
  width: 28.84%;
  position: relative;
}
.kukaku_point > div > div {
  padding-bottom: 100%;
  background: #a69a77;
  border-radius: 50%;
}
.kukaku_point > div span {
  display: block;
  width: 100%;
  font-size: 1.78rem;
  text-align: center;
  color: #fff;
  position: absolute;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}
.kukaku_img {
  width: 76.92%;
  margin: 0 auto;
}
.kukaku_data {
  width: 76.92%;
  margin: 25px auto 0;
}
.kukaku_notes {
  font-size: 1.52rem;
  line-height: 1.9;
  margin-top: 25px;
  color: #585c69;
}

.access_data {
  width: 334px;
  margin: 25px auto;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  flex-wrap: wrap;
}
.access_data dt {
  width: 222px;
  font-size: 1.8rem;
  margin-top: 10px;
}
.access_data dd {
  width: 90px;
  font-size: 1.8rem;
  margin-top: 10px;
}
.access_data dd .num {
  display: inline-block;
  width: 1em;
  text-align: right;
  font-size: 2.8rem;
  font-weight: 700;
  line-height: 18px;
}
.access_notes {
  width: 334px;
  margin: 0 auto;
  padding-top: 15px;
  border-top: 1px solid #000;
  font-size: 1.6rem;
  line-height: 1.8;
}

.presents {
  background: #a69a77;
  padding: 80px 0;
}
.presents .hd {
  font-size: 1.5rem;
  font-weight: 600;
  color: #fff;
  letter-spacing: 0.15em;
  text-align: center;
}
.presents .hd span {
  border-bottom: 1px solid #fff;
  display: inline-block;
  padding-bottom: 3px;
}
.presents .ttl {
  font-size: 2.4rem;
  color: #fff;
  text-align: center;
  font-weight: 600;
  margin: 30px 0 20px;
}
.presents_body {
  background: #fff;
  width: 90.66%;
  margin: 0 auto;
  padding: 5%;
  box-sizing: border-box;
}
.presents_body .img {
  margin-top: -8%;
}

.about {
  background: #eff4f6;
  padding: 55px 0 1px;
}
.about .hd {
  font-size: 1.5rem;
  font-weight: 600;
  color: #567c8c;
  letter-spacing: 0.15em;
  text-align: center;
}
.about .hd span {
  border-bottom: 1px solid #567c8c;
  display: inline-block;
  padding-bottom: 3px;
}
.about .ttl {
  font-size: 2.4rem;
  color: #567c8c;
  text-align: center;
  font-weight: 600;
  margin: 30px 0 20px;
}
.about .read {
  width: 65.66%;
  margin: 0 auto;
  font-size: 1.68rem;
  color: #567c8c;
  text-align: left;
}
.about .ph {
  width: 86.66%;
  margin: 60px auto 40px;
}
.about .btn {
  width: 70%;
  margin: 40px auto 80px;
}
.about .btn a {
  display: block;
  border: 1px solid #3d5b79;
  font-size: 1.92rem;
  color: #3d5b79;
  font-weight: 600;
  position: relative;
  text-align: center;
  padding: 18px 0;
}
.about .btn .arrow {
  width: 18px;
  position: absolute;
  top: 50%;
  right: 20px;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  line-height: 0;
}

.top_contact {
  padding: 50px 0 80px;
  width: 90.66%;
  margin: 0 auto;
}
.top_contact .hd {
  font-size: 1.5rem;
  font-weight: 600;
  color: #567c8c;
  letter-spacing: 0.15em;
  text-align: center;
}
.top_contact .hd span {
  border-bottom: 1px solid #567c8c;
  display: inline-block;
  padding-bottom: 3px;
}
.top_contact .ttl {
  font-size: 2.4rem;
  color: #567c8c;
  text-align: center;
  font-weight: 600;
  margin: 30px 0 60px;
}
.top_contact .btn {
  width: 70%;
  margin: 40px auto 80px;
}
.top_contact .btn a {
  display: block;
  border: 1px solid #3d5b79;
  font-size: 1.92rem;
  color: #3d5b79;
  font-weight: 600;
  position: relative;
  text-align: center;
  padding: 15px 0;
}
.top_contact .btn a + a {
  margin-top: 15px;
}
.top_contact .btn .arrow {
  width: 18px;
  position: absolute;
  top: 50%;
  right: 20px;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  line-height: 0;
}
.top_contact .notes {
  font-size: 1.36rem;
}

footer .inner {
  width: 90%;
  max-width: 1000px;
  margin: 100px auto 27px;
  text-align: center;
  position: relative;
}
footer * {
  color: #fff !important;
}
.company_info {
  display: flex;
  align-items: flex-end;
}
.company_info .company {
  flex-grow: 2;
}
.company .name {
  font-size: 2rem;
}
footer .logo {
  width: 120px;
}
footer .name {
  width: 252px;
  margin: 5px auto;
}
footer .hd {
  font-size: 1.6rem;
}
footer address {
  font-size: 1.7rem;
  margin-top: 20px;
}
.footer_tel {
  font-size: 1.7rem;
}
.footer_function {
  border-top: 1px solid #fff;
  margin-top: 25px;
  padding-top: 16px;
}
.footer_privacy {
  font-size: 1.5rem;
}
.footer_copylights {
  font-size: 1.3rem;
  padding-top: 10px;
}

.left_contents,
.right_contents {
  width: calc((100% - 600px) / 2);
  height: 100vh;
  position: fixed;
  top: 0;
}
.left_contents {
  left: 0;
}
.right_contents {
  right: 0;
}
.left_contents > .inner {
  width: 100%;
  position: absolute;
  left: 50%;
  bottom: 15%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}
.left_contents .date {
  min-width: calc(228px * 0.66);
  max-width: 228px;
  width: 69.22%;
  margin: 0 auto;
}
.left_contents .modelhouse {
  min-width: calc(174px * 0.66);
  max-width: 174px;
  width: 52.39%;
  margin: 20px auto 0;
}
.right_contents > .inner {
  width: 100%;
  position: absolute;
  left: 50%;
  bottom: 15%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}
.right_contents .ico {
  min-width: calc(245px * 0.66);
  max-width: 245px;
  width: 73.78%;
  margin: 0 auto;
}

/* Google Mapを囲う要素 */
.googlemap {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 56.92%; /* 比率を4:3に固定 */
}

/* Google Mapのiframe */
.googlemap iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

@media screen and (max-width: 1000px) {
  .left_contents,
  .right_contents {
    display: none;
  }

  .main_contents {
    width: 100%;
    max-width: 600px;
    margin: 0 auto;
    background: #fff;
  }

  .top {
    background: url("../img/bg_top.png") repeat-y center top / cover;
    padding: 115px 0 45px;
  }
  .header_logo {
    width: 164px;
    margin: 0 0 54px 6.53%;
  }

  .interior_head_bath {
    margin-top: 100px;
  }

  .interior1F {
    background: url("../img/bg_1f.png") no-repeat center top / cover;
    padding: 50px 0;
  }
  .top_detail .date {
    height: 100px;
    line-height: 90px;
  }
  .top_detail .ico {
    width: 24%;
    max-width: 150px;
    position: fixed;
    left: auto;
    right: calc((100% - 500px) / 2 + 25px);
    top: auto;
    bottom: 27px;
    z-index: 10;
  }

  footer .inner {
    width: 90%;
    max-width: 1000px;
    margin: 20px auto 27px;
    text-align: left;
    position: relative;
    z-index: 11;
    background: #567c8b;
  }
  footer * {
    color: #fff !important;
  }
  .company_info {
    display: flex;
    align-items: flex-end;
  }
  .company_info .company {
    flex-grow: 2;
    padding-right: 0;
    margin-left: 10%;
  }
  footer .logo {
    width: 100px;
  }
  footer .name {
    width: 250px;
    margin: 5px 0;
  }
  footer .hd {
    font-size: 1.6rem;
  }
  footer address {
    font-size: 1.7rem;
    margin-top: 20px;
  }
  .footer_tel {
    font-size: 1.4rem;
  }
  .footer_function {
    display: flex;
    justify-content: space-between;
    border-top: 1px solid #fff;
    margin-top: 25px;
    padding-top: 16px;
  }
  .footer_privacy {
    font-size: 1.5rem;
  }
  .footer_copylights {
    font-size: 1.3rem;
    padding-top: 0;
  }
}

@media screen and (max-width: 600px) {
  .top_detail .ico {
    width: 24%;
    max-width: 150px;
    position: fixed;
    left: auto;
    right: 2.06%;
    top: auto;
    bottom: 27px;
    z-index: 100;
  }

  .concept_txt .hd {
    font-size: 1.2rem;
    font-weight: 600;
    color: #567c8c;
    letter-spacing: 0.15em;
    text-align: right;
  }
  .concept_txt .catch {
    font-size: 1.8rem;
    line-height: 1.9;
    font-weight: 600;
    color: #585c69;
    margin-top: 35px;
  }
  .concept_read p {
    font-size: 1.44rem;
    line-height: 2;
  }

  .concept_madori .ttl {
    font-size: 2rem;
    text-align: center;
    color: #8e8071;
    font-weight: 500;
  }
  .concept_btn a {
    width: 49.23%;
    text-align: center;
    color: #fff;
    font-size: 1.4rem;
    position: relative;
    box-sizing: border-box;
  }
  .concept_btn a .num {
    font-size: 2rem;
  }

  .interior1F .hd {
    font-size: 1.3rem;
    font-weight: 600;
    color: #567c8c;
    letter-spacing: 0.15em;
    text-align: center;
  }
  .interior1F .num {
    font-size: 5.3rem;
    color: #567c8c;
    text-align: right;
  }
  .interior1F .ttl .ico {
    width: 28px;
  }
  .interior_head .ttl {
    text-align: center;
    font-size: 2.4rem;
    font-weight: 500;
    line-height: 1.75;
    letter-spacing: 0.05em;
    position: relative;
  }
  .interior_phlist .item span {
    display: inline-block;
    font-size: 1rem;
    background: rgba(255, 255, 255, 0.6);
    position: absolute;
    left: 0;
    bottom: 0;
    padding: 0 5px;
  }

  .point_slide h2 {
    font-size: 2.08rem;
    text-align: center;
    color: #567c8c;
    margin: 50px 0 40px;
  }

  .interior2F .num {
    font-size: 5.3rem;
    color: #8e8071;
    text-align: right;
  }

  .access .hd {
    font-size: 1.3rem;
    font-weight: 600;
    color: #567c8c;
    letter-spacing: 0.15em;
    text-align: center;
  }
  .access .ttl {
    font-size: 2.06rem;
    color: #567c8c;
    text-align: center;
    font-weight: 600;
    margin: 30px 0 20px;
  }
  .access .read {
    font-size: 1.44rem;
    color: #567c8c;
    text-align: center;
  }
  .access .txt {
    font-size: 1.65rem;
    color: #567c8c;
    text-align: center;
  }
  .access .txt span {
    font-size: 2.4rem;
    font-weight: 700;
  }

  .kukaku_ttl {
    font-size: 1.8rem;
    background: #567c8c;
    color: #fff;
    text-align: center;
    margin-top: 50px;
    padding: 3px 0;
  }
  .kukaku_point > div span {
    display: block;
    width: 100%;
    font-size: 1.4rem;
    text-align: center;
    color: #fff;
    position: absolute;
    left: 50%;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
  }
  .kukaku_notes {
    font-size: 1.3rem;
    line-height: 1.9;
    margin-top: 25px;
    color: #585c69;
  }

  .access_data dt {
    width: 222px;
    font-size: 1.54rem;
    margin-top: 10px;
  }
  .access_data dd {
    width: 90px;
    font-size: 1.54rem;
    margin-top: 10px;
  }
  .access_data dd .num {
    display: inline-block;
    width: 1em;
    text-align: right;
    font-size: 2.4rem;
    font-weight: 700;
    line-height: 18px;
  }
  .access_notes {
    width: 334px;
    margin: 0 auto;
    padding-top: 15px;
    border-top: 1px solid #000;
    font-size: 1.37rem;
    line-height: 1.8;
  }

  .presents .hd {
    font-size: 1.3rem;
    font-weight: 600;
    color: #fff;
    letter-spacing: 0.15em;
    text-align: center;
  }
  .presents .ttl {
    font-size: 2.06rem;
    color: #fff;
    text-align: center;
    font-weight: 600;
    margin: 30px 0 20px;
  }

  .about .hd {
    font-size: 1.3rem;
    font-weight: 600;
    color: #567c8c;
    letter-spacing: 0.15em;
    text-align: center;
  }
  .about .ttl {
    font-size: 2.06rem;
    color: #567c8c;
    text-align: center;
    font-weight: 600;
    margin: 30px 0 20px;
  }
  .about .read {
    width: 65.66%;
    margin: 0 auto;
    font-size: 1.44rem;
    color: #567c8c;
    text-align: left;
  }
  .about .btn a {
    display: block;
    border: 1px solid #3d5b79;
    font-size: 1.65rem;
    color: #3d5b79;
    font-weight: 600;
    position: relative;
    text-align: center;
    padding: 18px 0;
  }

  .top_contact .hd {
    font-size: 1.3rem;
    font-weight: 600;
    color: #567c8c;
    letter-spacing: 0.15em;
    text-align: center;
  }
  .top_contact .ttl {
    font-size: 2.06rem;
    color: #567c8c;
    text-align: center;
    font-weight: 600;
    margin: 30px 0 50px;
  }
  .top_contact .btn a {
    display: block;
    border: 1px solid #3d5b79;
    font-size: 1.65rem;
    color: #3d5b79;
    font-weight: 600;
    position: relative;
    text-align: center;
    padding: 15px 0;
  }
  .top_contact .notes {
    font-size: 1.16rem;
  }

  footer .hd {
    font-size: 1rem;
  }
  footer address {
    font-size: 1.2rem;
    margin-top: 10px;
  }
  .footer_tel {
    font-size: 1.2rem;
  }
  .footer_privacy {
    font-size: 1rem;
  }
  .footer_copylights {
    font-size: 1rem;
    padding-top: 0;
  }

  .concept_top {
    display: flex;
    align-items: flex-end;
  }
  .concept_txt {
    margin-bottom: 85px;
  }

  .point_slide .swiper-prev {
    width: 13px;
    position: absolute;
    left: 4.16%;
    top: 32vw;
    z-index: 10;
  }
  .point_slide .swiper-next {
    width: 13px;
    position: absolute;
    right: 4.16%;
    top: 32vw;
    z-index: 10;
  }
}

/*contact*/
.input_txt {
  width: 100%;
  box-sizing: border-box;
  border: 1px solid #d2d2d2;
  padding: 16px 20px;
  border-radius: 4px;
}
.input_tel {
  width: 100%;
  box-sizing: border-box;
  border: 1px solid #d2d2d2;
  padding: 16px 20px;
  border-radius: 4px;
}
.select_date {
  width: 100%;
  box-sizing: border-box;
  border: 1px solid #d2d2d2;
  padding: 16px 20px;
  border-radius: 4px;
}
.textarea {
  width: 100%;
  height: 84px;
  box-sizing: border-box;
  border: 1px solid #d2d2d2;
  padding: 16px 20px;
}
.input_txt,
.input_tel,
.select_date,
.textarea {
  font-size: 1.6rem;
  font-weight: 700;
}
.input_txt::placeholder,
.textarea::placeholder {
  color: #d2d2d2;
}
.form_item dt,
.form_item dd {
  margin-bottom: 36px;
  font-size: 1.68rem;
}
.form_item dt {
  margin-bottom: 10px;
}
.form_item .required {
  font-size: 1.4rem;
  font-weight: 700;
  background: #567c8c;
  color: #fff;
  padding: 1px 4px;
  margin-left: 13px;
  display: inline-block;
}
.form_item .ninni {
  font-size: 1.4rem;
  font-weight: 700;
  background: #d2d2d2;
  color: #585c69;
  padding: 1px 4px;
  margin-left: 13px;
  display: inline-block;
}
.form_item label {
  font-size: 1.6rem;
}
.form_item .notes {
  font-size: 1.4rem;
}
.form_item label {
  display: inline-block;
  margin-bottom: 15px;
  margin-right: 10px;
}
input[type="checkbox"] {
  vertical-align: baseline;
  margin-right: 5px;
}
.check_privacy {
  text-align: center;
  margin-top: 30px;
  font-size: 1.6rem;
}
.btn_submit {
  width: 275px;
  background: #567c8c;
  color: #fff;
  padding: 20px 0;
  margin: 0;
  font-size: 2rem;
  display: block;
  cursor: pointer;
  border: none;
}
.form_item .name {
  margin-top: 92px;
}
.input_name {
  display: flex;
  justify-content: space-between;
}
.input_name > div {
  width: 49.16%;
}
.box_tel {
  display: flex;
  align-items: center;
  width: 100%;
}
.box_tel > .num {
  width: 24.16%;
}
.box_tel > .line {
  margin: 0 10px;
}

.submit_btn {
  display: flex;
  justify-content: center;
  width: 100%;
  margin-top: 50px;
}
.submit_btn * + * {
  margin-left: 10px;
}
.btn_back {
  width: 275px;
  border: none !important;
  background: ccc;
  padding: 20px 0;
  margin: 0;
  font-size: 1.6rem;
  display: block;
}

.confirm_ttl {
  font-size: 1.8rem;
}
.confirm_txt {
  margin-bottom: 50px;
}

.recaptcha_txt {
  font-size: 1.1rem;
  margin: 20px 0;
}

/*必須エラーメッセージ*/
div.error {
  font-size: 1.6rem;
  color: #f00;
  margin: 10px 0 !important;
}
div.error img {
  display: none;
}

@media screen and (max-width: 900px) {
  .input_txt {
    width: 100%;
    box-sizing: border-box;
    border: 1px solid #ddd;
    padding: 16px 20px;
  }
  .input_zip {
    width: 228px;
    box-sizing: border-box;
    border: 1px solid #ddd;
    padding: 16px 20px;
  }
  .select_pref,
  .select_date {
    width: 100%;
    box-sizing: border-box;
    border: 1px solid #ddd;
    padding: 16px 20px;
  }
  .textarea {
    width: 100%;
    height: 120px;
    box-sizing: border-box;
    border: 1px solid #ddd;
    padding: 16px 20px;
  }
  .input_txt,
  .input_zip .select_pref,
  .textarea {
    font-size: 1.6rem;
    font-weight: 700;
  }
  .input_txt::placeholder,
  .textarea::placeholder {
    color: #ddd;
  }
  .form_item dt,
  .form_item dd {
    margin-bottom: 43px;
  }
  .form_item dt {
    font-size: 1.6rem;
    margin-bottom: 14px;
  }
  .form_item dd:last-child {
    margin-bottom: 32px;
  }
  .form_item .required {
    font-size: 1rem;
    background: #6f6754;
    color: #fff;
    padding: 3px 7px;
    margin-left: 13px;
    display: inline-block;
  }
  .form_item .ninni {
    font-size: 1rem;
    background: #6f6f6f;
    color: #fff;
    padding: 3px 7px;
    margin-left: 13px;
    display: inline-block;
  }
  .form_item label {
    font-size: 1.4rem;
  }
  .form_item .notes {
    font-size: 1.2rem;
    margin-left: 13px;
  }
  .form_item label {
    display: block;
    margin-bottom: 10px;
  }
  input[type="checkbox"] {
    vertical-align: baseline;
    margin-right: 8px;
  }
  .check_privacy {
    text-align: center;
    margin-top: 0;
    font-size: 1.6rem;
  }
  .btn_submit {
    width: 275px;
    background: #567c8c;
    color: #fff;
    padding: 20px 0;
    margin: 0 auto;
    font-size: 1.6rem;
    display: block;
  }
  .form_item .name {
    margin-top: 92px;
  }
  .input_name {
    display: flex;
    justify-content: space-between;
  }
  .input_name > div {
    width: 49.16%;
  }
  .address > div + div {
    margin-top: 14px;
  }
}

/*reserve*/
.reserve_head {
  margin-top: 119px;
  position: relative;
}
.reserve_head_ph {
  width: 74.78%;
  margin-left: 25.22%;
  position: relative;
}
.reserve_head_ph img {
  width: 100%;
}
.reserve_head_noph {
  height: 180px;
}
.reserve_head_ph:after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background: rgba(0, 0, 0, 0.15);
}
.reserve_head_txt {
  position: absolute;
  top: 6.07vw;
  left: 10%;
  z-index: 2;
}
.reserve_head_txt .en {
  font-size: 7.2rem;
  position: relative;
  line-height: 1;
}
.reserve_head_txt .en:after {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  position: absolute;
  left: 0;
  bottom: 3px;
  background: #fff;
}
.reserve_head_txt .ja {
  font-size: 2rem;
  margin-top: 8px;
}

.reserve_body {
  width: 80%;
  margin: 120px auto 0;
}
.reserve_body .read {
  text-align: center;
}
.reserve_tel {
  background: #1f1f1f;
  padding: 35px 0;
  margin: 40px 0 126px;
  text-align: center;
}
.reserve_tel .main {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 7px;
}
.reserve_tel .main .ico {
  width: 30px;
}
.reserve_tel .main .num {
  margin-left: 14px;
  font-size: 4rem;
}
.reserve_tel .main .time {
  margin-left: 14px;
  font-size: 1.3rem;
}
.attention span {
  border: 1px solid #fff;
  padding: 5px 55px;
  margin-top: 15px;
  display: inline-block;
}

.check_modelhouse {
  width: 90% !important;
  margin: 30px auto 0;
  padding-bottom: 40px;
}
.check_modelhouse .item {
  display: flex;
  justify-content: space-between;
}
.check_modelhouse label {
  text-align: center;
  width: 47%;
  margin-right: 0;
}
.check_modelhouse img {
  margin-bottom: 20px;
  width: 100%;
}

.date_item {
  display: flex;
  align-items: center;
  margin-top: 5px;
}
.date_item .hd {
  font-size: 1.8rem;
  white-space: nowrap;
}
.date_item .date {
  width: calc((100% - 70px) / 2);
}
.date_item .time {
  margin-left: 10px;
}

@media screen and (max-width: 900px) {
  .reserve_head {
    margin-top: 119px;
    margin-left: 8.21%;
    position: relative;
  }
  .reserve_head_ph {
    width: 100%;
    margin-left: 0;
    position: relative;
  }
  .reserve_head_ph:after {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background: rgba(0, 0, 0, 0.15);
  }
  .reserve_head_txt {
    position: relative;
    top: 0;
    left: 0;
    z-index: 2;
    margin-top: -25px;
  }
  .reserve_head_txt .en {
    font-size: 6.4rem;
    position: relative;
    line-height: 1;
  }
  .reserve_head_txt .en:after {
    content: "";
    display: block;
    width: 100%;
    height: 1px;
    position: absolute;
    left: 0;
    bottom: 3px;
    background: #fff;
  }
  .reserve_head_txt .ja {
    font-size: 2rem;
    margin-top: 8px;
  }

  .reserve_body {
    width: 82.82%;
    margin: 50px auto 0;
  }
  .reserve_body .read {
    font-size: 1.6rem;
    text-align: center;
  }
  .reserve_tel {
    background: #1f1f1f;
    width: 120.74%;
    padding: 35px 0;
    margin: 40px 0 60px -10.37%;
    text-align: center;
  }
  .reserve_tel .main {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    margin-top: 7px;
  }
  .reserve_tel .main .ico {
    width: 30px;
  }
  .reserve_tel .main .num {
    margin-left: 14px;
    font-size: 4rem;
  }
  .reserve_tel .main .time {
    margin-left: 0;
    font-size: 1.3rem;
    width: 100%;
  }
  .attention span {
    border: 1px solid #fff;
    padding: 5px 55px;
    margin-top: 15px;
    display: inline-block;
  }

  .check_modelhouse {
    width: 100% !important;
    margin: 10px auto 0;
    padding-bottom: 0;
    display: flex;
    justify-content: space-between;
  }
  .check_modelhouse label {
    text-align: left;
    width: 49%;
    margin-right: 0;
  }
  .check_modelhouse img {
    margin-bottom: 15px;
    width: 100%;
  }

  .date_item {
    display: block;
    align-items: center;
    justify-content: space-between;
    margin-top: 35px;
  }
  .date_item .hd {
    font-size: 1.8rem;
    white-space: nowrap;
  }
  .date_item .date {
    margin-left: 0;
    margin-top: 20px;
    width: 100%;
  }
  .date_item .time {
    margin-left: 0;
    margin-top: 5px;
  }
}

/*link*/
.link_txt {
  text-decoration: underline !important;
}

@media screen and (min-width: 901px) {
  .link_txt:hover {
    text-decoration: none !important;
  }

  .link_more a .ico .hover,
  .link_more a .ico .normal,
  .link_more a,
  .top_contact a .ico .hover,
  .top_contact a .ico .normal,
  .top_contact a {
    -webkit-transition: all 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
    transition: all 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
  }
  .link_more a:hover .ico .hover,
  .top_contact a:hover .ico .hover {
    -webkit-transform: translate(0%);
    transform: translate(0%);
  }
  .link_more a:hover .ico .normal,
  .top_contact a:hover .ico .normal {
    -webkit-transform: translate(100%);
    transform: translate(100%);
  }
  .link_more a:hover,
  .top_contact a:hover {
    border-bottom: 1px solid #756e53;
    color: #756e53;
  }

  .top_contents_item_name,
  .top_contents_item_ttl {
    -webkit-transition: color 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
    transition: color 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
  }
  .top_contents_item:hover .top_contents_item_name,
  .top_contents_item:hover .top_contents_item_ttl {
    color: #756e53;
  }

  .top_instagram_item:before {
    content: "";
    display: block;
    -webkit-transition: background 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
    transition: background 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
  }
  .top_instagram_item:after {
    content: "";
    display: block;
    -webkit-transition: opacity 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
    transition: opacity 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
    position: absolute;
    left: 50%;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: 20px;
    height: 20px;
    background: url("../img/ico_instagram.svg") no-repeat center / cover;
    opacity: 0;
  }
  .top_instagram_item:hover:before {
    background: rgba(0, 0, 0, 0.45);
  }
  .top_instagram_item:hover:after {
    opacity: 1;
  }

  .top_contact a,
  .top_contact a .top_contact_ico,
  .top_contact a .top_contact_en,
  .top_contact a .top_contact_ja,
  .top_contact a .top_contact_ja:before {
    -webkit-transition: all 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
    transition: all 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
  }
  .top_contact a:hover {
    border-bottom: 1px solid #756e53;
  }
  .top_contact a:hover .top_contact_ico {
    fill: #756e53;
  }
  .top_contact a:hover .top_contact_en,
  .top_contact a:hover .top_contact_ja {
    color: #756e53;
  }
  .top_contact a:hover .top_contact_ja:before {
    background: #dedcd7;
  }
}
