@charset "UTF-8";
/* arguments inittial */
/* font style */
/* site style */
/* [ opacity ]
-------------------------------------------------*/
/* [ display style ]
-------------------------------------------------*/
/* [ background-image ]
-------------------------------------------------*/
/* [ writing-mode ]
-------------------------------------------------*/
/* [ illustrator & photoshop letter spacing ]
-------------------------------------------------*/
/* [ easy breakpoint ]
-------------------------------------------------*/
/* [ easy transform ]
-------------------------------------------------*/
.bottom-0 {
  bottom: 0;
}

.top-0 {
  top: 0;
}

.left-0 {
  left: 0;
}

.right-0 {
  right: 0;
}

.text-right {
  text-align: right;
}

.w-100 {
  width: 100%;
}

.overlay {
  background: #ffffff;
  opacity: 0.7;
  position: absolute;
  width: 100%;
  bottom: 0;
  padding: 10px 0;
}

.d-none {
  display: none;
}

.visibility-hidden {
  visibility: hidden;
}

.bg-blue {
  background: #74ccfc;
}

.bg-blue2 {
  background: #edf7f9;
}

.bg-blue3 {
  background: #2176a7;
}

.text-white {
  color: #ffffff;
}

.text-blue {
  color: #2176a7;
}

.pt-1 {
  padding-top: 1rem;
}

.gradient-blue {
  background: rgb(169, 210, 216);
  background: linear-gradient(90deg, rgb(169, 210, 216) 0%, rgb(28, 124, 165) 100%);
  padding: 5px 0 5px 0;
}
.gradient-blue img {
  height: 20px;
}

.p-half {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}

.p-one {
  padding-top: 1rem;
  padding-bottom: 1rem;
}

.p-onehalf {
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
}

.gradient-brown {
  background: rgb(209, 200, 183);
  background: linear-gradient(90deg, rgb(209, 200, 183) 0%, rgb(161, 143, 110) 100%);
  padding: 5px 0 5px 0;
}
.gradient-brown img {
  height: 20px;
}

.px-half {
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}

.px-one {
  padding-left: 1rem;
  padding-right: 1rem;
}

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

.font-weight-bold {
  font-weight: bold;
}

.flex-1 {
  flex: 1;
}

.banner {
  margin-top: 0.5rem;
  margin-bottom: 3rem;
}

.border-gradient {
  background: linear-gradient(to right, #e6ece4, #b2cee8);
  padding: 5px;
}

.border-gradient02 {
  background: linear-gradient(to right, #e1e9ea, #6e8bb1);
  padding: 5px;
}

.border-gradient03 {
  background: linear-gradient(to right, #bed2f0, #406eb0);
  padding: 5px;
}

.banner {
  transition: 0.3s;
}

.banner:hover {
  opacity: 0.5;
  transition: 0.3s;
}

.banner p {
  text-shadow: #000 0 0 5px;
}

.banner .image {
  width: 276px;
}

.bannerNew {
  position: relative;
}

.bannerNew:before {
  content: "";
  display: block;
  width: 40px;
  height: 40px;
  background: url(../image/icn_new.svg) no-repeat center center;
  position: absolute;
  top: -8px;
  right: -15px;
  z-index: 30;
}

@media screen and (max-width: 1030px) {
  .bannerNew:before {
    top: -8px;
    right: -3px;
  }
}
@media screen and (max-width: 1000px) {
  .bannerNew:before {
    top: -8px;
    right: 8px;
  }
}
@media screen and (max-width: 780px) {
  .bannerNew:before {
    top: -13px;
    width: 40px;
    height: 40px;
  }
}
@media screen and (max-width: 667px) {
  .bannerNew:before {
    width: 30px;
    height: 30px;
  }
}
.fv-content {
  width: 100%;
  height: 100vh;
}
.fv-content-img {
  object-fit: cover;
  position: absolute;
  width: 100%;
  height: 100%;
  z-index: 1;
  background-size: cover;
  background-position: center center;
  background-image: url("../img/top/fv-img07.webp");
}
.fv-content-img .caption {
  position: absolute;
  right: 25px;
  bottom: 70px;
  font-size: 10px;
  z-index: 3;
}
.fv-content-img:after {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  background: rgba(0, 0, 0, 0.5);
  z-index: 2;
  top: 0;
  left: 0;
}
@media (min-width: 768px) {
  .fv-content-img {
    background-image: url("../img/top/fv-img07-pc.webp");
  }
}
.fv-content-img:after {
  background: rgba(0, 0, 0, 0.5);
}
.fv-content .bottomline {
  position: absolute;
  width: 100%;
  height: 15px;
  bottom: 0;
  left: 0;
  z-index: 3;
}
.fv-content-title {
  font-size: 28px;
  font-weight: bold;
  line-height: 1.2;
}
@media (min-width: 768px) {
  .fv-content-title {
    font-size: 48px;
    line-height: 1.2;
  }
}
.fv-content-title-img {
  max-width: 60%;
}
@media (min-width: 768px) {
  .fv-content-title-img {
    max-width: 100%;
  }
}
.fv-content-text {
  position: relative;
  z-index: 3;
  display: flex;
  flex-direction: column;
  gap: 20px;
  padding: 50px 15px;
  pointer-events: none;
  justify-content: center;
  height: 100%;
}
@media (min-width: 768px) {
  .fv-content-text {
    padding: 140px 50px;
    /*max-width: 1200px;*/
    margin: 0 auto;
    justify-content: flex-end;
  }
}
.fv-content .scroll {
  position: absolute;
  z-index: 5;
  bottom: 0px;
  left: 50%;
  transform: translateX(-50%);
  color: #fff;
  font-size: 12px;
  height: 60px;
  overflow: hidden;
}
@media (min-width: 768px) {
  .fv-content .scroll {
    bottom: 0;
  }
}
.fv-content .scroll:after {
  content: "";
  top: 0;
  left: 50%;
  width: 1px;
  height: 90px;
  position: absolute;
  background: #fff;
  animation: scrollanimation 1.3s infinite;
}

.main {
  padding: 10px 0 30px;
}
.main-subtitle {
  font-size: 12px;
  width: 100%;
  margin: 15px auto;
  max-width: 360px;
  padding-bottom: 20px;
  width: 70%;
}
@media (min-width: 768px) {
  .main-subtitle {
    max-width: 450px;
    font-size: 27px;
    width: 100%;
    margin: 0 auto;
    padding-bottom: 80px;
  }
}
@media (min-width: 768px) {
  .main {
    padding: 70px 0;
  }
}
.main-content {
  position: relative;
  padding-top: 40vw;
  max-width: 1000px;
  margin: 0 auto;
}
@media (min-width: 768px) {
  .main-content {
    padding-top: 200px;
  }
}
.main-content .img {
  position: relative;
}
.main-content .text {
  position: absolute;
  z-index: 2;
  top: 0;
  right: 15px;
  width: 80vw;
  max-width: 540px;
}
.main-text {
  padding: 15px;
  max-width: 1000px;
  margin: 0 auto;
}
@media screen and (min-width: 1000px) {
  .main-text {
    padding: 15px 0;
  }
}
.main-detail {
  background: #ecf7f8;
  padding: 15px;
  max-width: 1000px;
  margin: 0 15px;
}
@media screen and (min-width: 1000px) {
  .main-detail {
    padding: 15px 0;
    margin: 0 auto;
  }
}
.main-detail-flex {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}
@media (min-width: 768px) {
  .main-detail-flex {
    flex-direction: row;
  }
}
.main-detail-logo {
  width: 100%;
  padding: 15px;
  max-width: 250px;
  margin: 0 auto;
}
@media (min-width: 768px) {
  .main-detail-logo {
    width: 50%;
  }
}
.main-detail-text {
  font-size: 14px;
  line-height: 1.8;
  padding: 15px;
}
@media (min-width: 768px) {
  .main-detail-text {
    font-size: 16px;
    border-left: 2px solid #000;
  }
}

.sec01 {
  padding: 40px 15px;
}
.sec01 .info {
  display: flex;
  flex-direction: column;
  border-top: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
}
@media (min-width: 768px) {
  .sec01 .info {
    flex-direction: row;
  }
}
.sec01 .info-title {
  font-size: 23px;
  font-weight: bold;
}
.sec01 .info-left {
  width: 100%;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media (min-width: 768px) {
  .sec01 .info-left {
    width: 30%;
  }
}
.sec01 .info-right {
  width: 100%;
  height: 200px;
  overflow-y: scroll;
  padding: 15px 0;
  font-size: 14px;
  line-height: 1.2;
}
@media (min-width: 768px) {
  .sec01 .info-right {
    width: 70%;
    font-size: 16px;
  }
}
.sec01 .info-right .d-flex {
  padding: 10px 0;
}
.sec01 .info-right .d-flex p {
  display: flex;
  flex-direction: row;
  gap: 10px;
}
.sec01 .info a {
  text-decoration: underline;
}

.sec02 {
  padding: 15px 0;
}
.sec02 .swiper-slide {
  position: relative;
}
.sec02 .swiper-slide-caption {
  position: absolute;
  left: 0;
  bottom: 0;
  background: rgba(255, 255, 255, 0.7);
  width: 100%;
  padding: 5px;
  text-align: right;
  font-size: 11px;
}
@media (min-width: 768px) {
  .sec02 .swiper-slide-caption {
    font-size: 16px;
    padding: 10px;
  }
}
.sec02 .swiper-dots {
  position: relative;
  width: 100%;
  padding: 15px;
  margin-top: 30px;
}
.sec02 .swiper-pagination-bullet {
  width: 12px;
  height: 12px;
  opacity: 0.5;
  background: #ccc;
  margin: 0 15px;
}
.sec02 .swiper-pagination-bullet-active {
  opacity: 1;
  background: #333;
}
.sec02 .swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet,
.sec02 .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 0 7px;
}
.sec02 .swiper-button-next {
  transform: translateY(-50%);
}
.sec02 .swiper-button-next:after {
  content: "";
  width: 0;
  height: 0;
  border-left: 12px solid #fff;
  border-top: 12px solid transparent;
  border-bottom: 12px solid transparent;
}
.sec02 .swiper-button-prev {
  transform: translateY(-50%);
}
.sec02 .swiper-button-prev::after {
  content: "";
  width: 0;
  height: 0;
  border-top: 12px solid transparent;
  border-right: 12px solid #fff;
  border-bottom: 12px solid transparent;
}
.sec02 .swiper-pagenation {
  padding: 15px;
}

.sec03 {
  padding: 30px 15px;
}
.sec03-content-title {
  text-align: center;
  color: #005ea9;
  font-size: 18px;
  font-weight: bold;
}
@media (min-width: 768px) {
  .sec03-content-title {
    font-size: 32px;
  }
}
.sec03-content-subtitle {
  margin-top: 30px;
  background: #74ccfc;
  color: #fff;
  font-weight: bold;
  font-size: 18px;
  text-align: center;
  padding: 7px 0 12px;
  line-height: 1;
  letter-spacing: 3px;
}
@media (min-width: 768px) {
  .sec03-content-subtitle {
    margin-top: 30px;
  }
}
.sec03-content-subtitle02 {
  margin-top: 22px;
  background: #74ccfc;
  color: #fff;
  font-weight: bold;
  font-size: 18px;
  text-align: center;
  padding: 7px 0 12px;
  line-height: 1;
  letter-spacing: 3px;
}
.sec03-content-subtitle02 span {
  display: inline-block;
}
@media (min-width: 768px) {
  .sec03-content-subtitle02 {
    font-size: 22px;
  }
}
.sec03-content-logo {
  max-width: 800px;
  margin: 6.25rem auto;
}
.sec03-content-text {
  font-size: 18px;
  font-weight: bold;
  color: #fff;
  text-align: center;
  background: #005ea9;
  border-radius: 8px;
  max-width: 300px;
  margin: 0 auto;
  padding: 10px;
  margin-top: 10px;
}
@media (min-width: 768px) {
  .sec03-content-text {
    font-size: 32px;
  }
}
.sec03-content-frame .frame-wrap {
  position: relative;
  margin-bottom: 50px;
}
.sec03-content-frame .frame-wrap-bg {
  width: 100%;
  max-width: 800px;
  background: url("../img/heimsuite/sec03-bg01.jpg");
  background-size: cover;
  padding: 6vw 6vw 15vw;
}
@media (min-width: 768px) {
  .sec03-content-frame .frame-wrap-bg {
    width: 80%;
    padding: 50px;
  }
}
.sec03-content-frame .frame-wrap-title {
  width: 50%;
  max-width: 250px;
  margin-bottom: 10vw;
}
@media (min-width: 768px) {
  .sec03-content-frame .frame-wrap-title {
    margin-bottom: 50px;
  }
}
.sec03-content-frame .frame-wrap-text {
  font-size: 3.7vw;
  line-height: 2.4;
  color: #fff;
}
@media (min-width: 768px) {
  .sec03-content-frame .frame-wrap-text {
    font-size: 1.8vw;
  }
}
@media screen and (min-width: 1024px) {
  .sec03-content-frame .frame-wrap-text {
    font-size: 18px;
  }
}
.sec03-content-frame .frame-wrap-text span {
  color: #ffff00;
}
.sec03-content-frame .frame-wrap-img {
  display: flex;
  justify-content: flex-end;
  align-items: flex-end;
  flex-wrap: wrap;
  flex-direction: column-reverse;
}
@media (min-width: 768px) {
  .sec03-content-frame .frame-wrap-img {
    flex-direction: row;
  }
}
.sec03-content-frame .frame-wrap-img .cap {
  text-align: right;
  font-size: 12px;
  line-height: 2;
}
@media (min-width: 768px) {
  .sec03-content-frame .frame-wrap-img .cap {
    text-align: left;
    margin-right: 1rem;
  }
}
.sec03-content-frame .frame-wrap-img .img {
  position: relative;
  display: flex;
  justify-content: flex-end;
  width: 65%;
  margin-top: -10vw;
}
@media (min-width: 768px) {
  .sec03-content-frame .frame-wrap-img .img {
    width: 40%;
  }
}
.sec03-content-frame .frame-wrap-img .img figcaption {
  position: absolute;
  font-size: 10px;
  bottom: 5px;
  right: 5px;
  color: #fff;
  text-shadow: 0 0 5px #000;
}
.sec03-content-frame .flow-wrap {
  position: relative;
  margin-bottom: 50px;
}
.sec03-content-frame .flow-wrap-bg {
  width: 100%;
  max-width: 800px;
  background: url("../img/heimsuite/sec03-bg02.jpg");
  background-size: cover;
  padding: 6vw 6vw 15vw;
}
@media (min-width: 768px) {
  .sec03-content-frame .flow-wrap-bg {
    width: 80%;
    padding: 50px;
    margin-left: 20%;
  }
}
.sec03-content-frame .flow-wrap-title {
  width: 100%;
  margin-bottom: 10vw;
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
}
@media (min-width: 768px) {
  .sec03-content-frame .flow-wrap-title {
    margin-bottom: 50px;
  }
}
.sec03-content-frame .flow-wrap-title .img {
  display: block;
  width: 100%;
  max-width: 250px;
  height: auto;
}
.sec03-content-frame .flow-wrap-text {
  font-size: 3.7vw;
  text-align: left;
  line-height: 2.4;
}
@media (min-width: 768px) {
  .sec03-content-frame .flow-wrap-text {
    font-size: 1.8vw;
    text-align: right;
  }
}
@media screen and (min-width: 1024px) {
  .sec03-content-frame .flow-wrap-text {
    font-size: 18px;
  }
}
.sec03-content-frame .flow-wrap-text span {
  color: #e71c24;
}
.sec03-content-frame .flow-wrap-img {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-wrap: wrap;
  flex-direction: column-reverse;
}
@media (min-width: 768px) {
  .sec03-content-frame .flow-wrap-img {
    flex-direction: row;
  }
}
.sec03-content-frame .flow-wrap-img .cap {
  margin-right: 1rem;
  font-size: 12px;
}
.sec03-content-frame .flow-wrap-img .img {
  position: relative;
  display: flex;
  justify-content: flex-end;
  margin-top: -10vw;
  width: 65%;
}
@media (min-width: 768px) {
  .sec03-content-frame .flow-wrap-img .img {
    width: 40%;
  }
}
.sec03-content-frame .flow-wrap-img .img figcaption {
  position: absolute;
  font-size: 10px;
  bottom: 5px;
  right: 5px;
  color: #fff;
  text-shadow: 0 0 5px #000;
}
.sec03-content-frame .lead {
  font-size: 3.7vw;
  text-align: center;
  line-height: 2.6;
  padding-top: 30px;
}
@media (min-width: 768px) {
  .sec03-content-frame .lead {
    font-size: 20px;
  }
}
.sec03-content-frame .lead span {
  position: relative;
}
.sec03-content-frame .lead span::after {
  content: "";
  position: absolute;
  bottom: 3px;
  left: 0;
  width: 100%;
  height: 7px;
  background-color: rgba(144, 190, 211, 0.6);
  z-index: -1;
}
.sec03-content-frame .illust {
  width: 100%;
  max-width: 800px;
  margin: 0 auto 30px;
}
.sec03-content-frame .designer {
  background-color: #1a1a1a;
  padding: 30px;
  display: flex;
  flex-direction: column;
  position: relative;
}
@media screen and (min-width: 480px) {
  .sec03-content-frame .designer {
    flex-direction: row;
  }
}
.sec03-content-frame .designer-photo {
  height: 50vw;
  width: 70%;
  align-self: center;
  background-image: url("../img/heimsuite/sec03-img07.jpg");
  background-size: cover;
  background-position: center;
}
@media screen and (min-width: 480px) {
  .sec03-content-frame .designer-photo {
    width: 50%;
    height: 30vw;
  }
}
@media (min-width: 768px) {
  .sec03-content-frame .designer-photo {
    width: 20%;
    height: 100%;
    min-height: 150px;
  }
}
.sec03-content-frame .designer-profile {
  margin-left: 0;
  width: 100%;
  margin-top: 10px;
  color: #fff;
}
@media screen and (min-width: 480px) {
  .sec03-content-frame .designer-profile {
    margin-left: 20px;
    width: calc(100% - 20px);
  }
}
.sec03-content-frame .designer-profile .name {
  font-size: 3vw;
  line-height: 1.4;
  border-bottom: 1px solid #fff;
  padding-bottom: 10px;
}
@media (min-width: 768px) {
  .sec03-content-frame .designer-profile .name {
    font-size: 16px;
  }
}
.sec03-content-frame .designer-profile .name em {
  font-size: 1.5em;
  margin: 0 10px;
  font-style: normal;
}
.sec03-content-frame .designer-profile .name span {
  display: inline-block;
}
.sec03-content-frame .designer-profile .text {
  font-size: 2vw;
  margin: 10px 0;
  line-height: 1.6;
}
@media (min-width: 768px) {
  .sec03-content-frame .designer-profile .text {
    font-size: 14px;
  }
}
.sec03-content-frame .designer-profile .url {
  text-align: right;
  font-size: 13px;
  color: #fff;
}
.sec03-content-frame .designCode {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 50px 0;
}
.sec03-content-frame .designCode dt {
  width: 100%;
  text-align: center;
  font-size: 26px;
  font-weight: bold;
  margin-bottom: 40px;
}
@media screen and (max-width: 768px) {
  .sec03-content-frame .designCode dt {
    font-size: 5vw;
    line-height: 1.4;
  }
}
.sec03-content-frame .designCode dd {
  width: calc(50% - 20px);
  background-color: #ececec;
  transition: 0.3s;
  cursor: pointer;
}
.sec03-content-frame .designCode dd .modalBtn_ttl {
  line-height: 1;
}
.sec03-content-frame .designCode dd .modalBtn_ttl img {
  width: 100%;
}
.sec03-content-frame .designCode dd .imgArea {
  overflow: hidden;
}
.sec03-content-frame .designCode dd .imgArea img {
  width: 100%;
  transition: 0.5s;
}
.sec03-content-frame .designCode dd:hover {
  background-color: #7397b7;
}
.sec03-content-frame .designCode dd:hover .imgArea img {
  transform: scale(110%);
}
.sec03-content-frame .designCode dd:hover .viewMore {
  color: #fff;
}
.sec03-content-frame .designCode dd:hover .viewMore:after {
  border-color: transparent transparent transparent #fff;
}
@media screen and (max-width: 768px) {
  .sec03-content-frame .designCode dd {
    width: 49%;
  }
}
.sec03-content-frame .hsd_summary {
  background-color: #ececec;
}
.sec03-content-frame .hsd_summary .txtBox {
  padding: 30px 30px 0;
  text-align: center;
  font-size: 20px;
  line-height: 2.4;
}
@media screen and (max-width: 768px) {
  .sec03-content-frame .hsd_summary .txtBox {
    font-size: 3.7vw;
    padding: 5vw;
  }
}
.sec03-content-frame .hsd_summary .txtBox h3 {
  display: block;
  font-size: 24px;
  line-height: 1.6;
  margin-bottom: 30px;
  padding-bottom: 10px;
  border-bottom: 1px solid #000;
}
@media screen and (max-width: 768px) {
  .sec03-content-frame .hsd_summary .txtBox h3 {
    font-size: 5vw;
  }
}
.sec03-content-frame .hsd_summary figure {
  position: relative;
}
.sec03-content-frame .hsd_summary figure img {
  width: 100%;
}
.sec03-content-frame .hsd_summary figure figcaption {
  font-size: 12px;
  position: absolute;
  bottom: 25%;
  right: 10px;
}
@media screen and (max-width: 480px) {
  .sec03-content-frame .hsd_summary figure figcaption {
    font-size: 10px;
    bottom: 23%;
  }
}
.sec03-content-frame .hsd_summary .frames_flow_txt {
  display: block;
  width: 100%;
  max-width: 800px;
  margin: 30px auto 0;
}
.sec03-content-frame .propertyList {
  padding: 80px 0 30px;
}
.sec03-content-frame .propertyList h3 {
  font-size: 26px;
  text-align: center;
  margin-bottom: 50px;
}
@media screen and (max-width: 768px) {
  .sec03-content-frame .propertyList h3 {
    font-size: 5vw;
  }
}
.sec03-content-frame .propertyList ul {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  list-style: none;
}
.sec03-content-frame .propertyList ul li {
  width: calc(50% - 10px);
  margin-bottom: 20px;
}
@media screen and (max-width: 768px) {
  .sec03-content-frame .propertyList ul li {
    width: 100%;
  }
}
.sec03-content-frame .propertyList ul li a {
  display: block;
  width: 100%;
  height: 100%;
  display: flex;
  border: 4px solid #eee;
  box-sizing: border-box;
  text-decoration: none;
  color: initial;
  transition: 0.3s;
}
.sec03-content-frame .propertyList ul li a .imgArea {
  position: relative;
  width: 50%;
  background-size: cover;
  background-position: center;
}
.sec03-content-frame .propertyList ul li a .imgArea img {
  object-fit: cover;
  height: 100%;
  width: 100%;
  position: absolute;
}
.sec03-content-frame .propertyList ul li a .imgArea span {
  font-size: 10px;
  position: absolute;
  top: 5px;
  right: 5px;
  color: #fff;
  text-shadow: 0 0 5px #000, 0 0 5px #000;
}
.sec03-content-frame .propertyList ul li a:hover {
  opacity: 0.6;
}
.sec03-content-frame .propertyList ul li a .propertyInfo {
  width: 50%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  background-color: rgba(255, 242, 225, 0.5);
  transition: 0.3s;
}
.sec03-content-frame .propertyList ul li a .propertyInfo .linkTxt {
  text-align: right;
  padding: 10px 5px 0;
  font-size: 14px;
  line-height: 1;
}
.sec03-content-frame .propertyList ul li a .propertyInfo .linkTxt span {
  color: #0bccfd;
  font-weight: bold;
  margin-left: 5px;
}
@media screen and (max-width: 768px) {
  .sec03-content-frame .propertyList ul li a .propertyInfo .linkTxt {
    font-size: 2vw;
  }
}
.sec03-content-frame .propertyList ul li a .propertyInfo .propertyName {
  padding: 25px 10px;
  text-align: center;
  font-size: 18px;
  line-height: 1.2;
  font-weight: bold;
}
@media screen and (max-width: 1024px) {
  .sec03-content-frame .propertyList ul li a .propertyInfo .propertyName {
    font-size: 1.8vw;
  }
}
@media screen and (max-width: 768px) {
  .sec03-content-frame .propertyList ul li a .propertyInfo .propertyName {
    font-size: 3vw;
    padding: 5vw 1.5vw;
  }
}
.sec03-content-frame .propertyList ul li a .propertyInfo .propertyName span.area {
  display: block;
  font-size: 0.8em;
  font-weight: normal;
}
.sec03-content-frame .propertyList ul li a .propertyInfo .infoTxt {
  padding: 5px;
  color: #fff;
  text-align: center;
  font-weight: bold;
}
.sec03-content-frame .propertyList ul li a .propertyInfo .infoTxt.request {
  background-color: #f6ab00;
}
.sec03-content-frame .propertyList ul li a .propertyInfo .infoTxt.modelroom {
  background-color: #2e318c;
}
.sec03-content-frame .propertyList ul li a .propertyInfo .infoTxt.soldout {
  background-color: #4d4d4d;
}
.sec03-content-frame .propertyList .note {
  font-size: 11px;
  line-height: 1.4;
}
.sec03-content .feature-text {
  font-size: 14px;
  text-align: center;
  line-height: 1.8;
  padding: 15px 0;
}
.sec03-content .feature-resilience {
  display: flex;
  flex-direction: row;
  gap: 15px;
  flex-wrap: wrap;
  justify-content: center;
  max-width: 1000px;
  padding: 15px 0;
}
.sec03-content .feature-content {
  padding: 15px 0;
}
.sec03-content .feature-content-logo {
  padding: 15px;
  text-align: center;
}
.sec03-content .feature-content-text, .sec03-content .feature-content-text02 {
  font-size: 12px;
  text-align: left;
  line-height: 1.8;
  padding-bottom: 15px;
  max-width: 750px;
  margin: 0 auto;
  letter-spacing: -1px;
}
@media (min-width: 768px) {
  .sec03-content .feature-content-text, .sec03-content .feature-content-text02 {
    font-size: 16px;
    text-align: center;
    letter-spacing: 0;
  }
}
.sec03-content .feature-content-text .caption, .sec03-content .feature-content-text02 .caption {
  margin-top: 15px;
}
.sec03-content .feature-content-text02 {
  text-align: center;
}
.sec03-content .banner {
  padding-top: 20px;
}

.modal_box {
  position: fixed;
  max-height: calc(100vh - 40px);
  z-index: 9;
  display: none;
  width: 80%;
  max-width: 1024px;
  margin: 0;
  padding: 80px 30px 30px;
  text-align: center;
  background: #fff;
  box-sizing: border-box;
  overflow-y: scroll;
}
@media screen and (max-width: 768px) {
  .modal_box {
    width: 90%;
    top: 10vw !important;
  }
}
.modal_box h2 {
  border-bottom: 1px solid #333;
  font-size: 24px;
  margin-bottom: 50px;
}
.modal_box h2 img {
  height: 24px;
  width: auto;
}
@media screen and (max-width: 768px) {
  .modal_box h2 img {
    height: 3vw;
  }
}
.modal_box .detail {
  display: flex;
  align-items: center;
  margin: 30px 0;
}
.modal_box .detail.-column {
  flex-direction: column;
}
.modal_box .detail.-column .disc {
  text-align: center;
}
.modal_box .detail.-column figure {
  width: 100%;
  margin-top: 50px;
  margin-right: 0 !important;
}
.modal_box .detail .disc {
  font-size: 20px;
  text-align: left;
  line-height: 2.4;
}
@media screen and (max-width: 1024px) {
  .modal_box .detail .disc {
    font-size: 1.8vw;
  }
}
@media screen and (max-width: 768px) {
  .modal_box .detail .disc {
    font-size: 3vw;
  }
}
.modal_box .detail .disc span {
  position: relative;
}
.modal_box .detail .disc span::after {
  content: "";
  position: absolute;
  bottom: 3px;
  left: 0;
  width: 100%;
  height: 7px;
  background-color: rgba(144, 190, 211, 0.6);
  z-index: -1;
}
.modal_box .detail figure {
  width: 30%;
  margin-right: 30px;
}
@media screen and (max-width: 768px) {
  .modal_box .detail figure {
    width: 50%;
    margin-right: 5vw;
  }
}
.modal_box .detail figure img {
  width: 100%;
  height: auto;
}
.modal_box .detail figure figcaption {
  font-size: 10px;
  text-align: right;
}
.modal_box .modal_close {
  position: absolute;
  top: 5px;
  right: 5px;
  display: block;
  width: 30px;
  height: 30px;
  border: 1px solid #ccc; /* 枠の調整 */
  background: #fff; /* ボタンの背景色 */
  cursor: pointer;
}
.modal_box .modal_close::before, .modal_box .modal_close:after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 2px; /* 棒の幅（太さ） */
  height: 27px; /* 棒の高さ */
  background: #ccc; /* バツ印の色 */
  transition: 0.3s;
}
.modal_box .modal_close::before {
  transform: translate(-50%, -50%) rotate(45deg);
}
.modal_box .modal_close::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}
.modal_box .modal_close:hover {
  background-color: #ccc;
}
.modal_box .modal_close:hover::before, .modal_box .modal_close:hover:after {
  background: #fff; /* バツ印の色 */
}
.modal_box .note {
  font-size: 11px;
  line-height: 1.4;
  text-align: left;
}

.modal_bg {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 8;
  display: none;
  width: 100%;
  height: 120%;
  background-color: rgba(0, 0, 0, 0.7);
}

.view {
  cursor: pointer;
}
.view-more {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.view-more .arrow {
  transition: all 0.5s;
}
.view-more .arrow.active {
  transform: rotate(-180deg);
}

.toggle-content {
  display: none;
}

.link_area {
  position: absolute;
  top: 5px;
  right: 35px;
  text-align: center;
}
.link_area .modal_link {
  position: relative;
  display: block;
  margin-right: 10px;
}
.link_area .modal_link a {
  display: block;
  width: 25px;
  height: 30px;
  background-image: url(../img/heimsuite/arrow.svg);
  background-size: contain;
  background-repeat: no-repeat;
  cursor: pointer;
}
.link_area .modal_link a:hover {
  background-image: url(../img/heimsuite/arrow_on.svg);
}

@media screen and (max-width: 769px) {
  /*  ウィンドウサイズ769px以下の時のスタイル  */
  .modal_box {
    padding: 50px 2vw 40px;
  }
  .modal_close {
    width: 40px;
    line-height: 40px;
    font-size: 30px;
  }
  .modal_close i {
    line-height: 44px;
  }
  .link_area ul li.modal_link:first-child a {
    float: none;
    margin-top: 0;
  }
  .link_area ul li.modal_link:last-child a {
    float: none;
  }
}
.smart_movie {
  background-color: #c5e7ea;
  padding: 30px;
  margin-bottom: 50px;
}
.smart_movie .movieWrap {
  max-width: 700px;
  width: 100%;
  margin: 0 auto;
  aspect-ratio: 16/9;
}
.smart_movie .movieWrap iframe {
  margin-top: 10px;
  width: 100%;
  height: 100%;
}

@keyframes scrollanimation {
  0% {
    top: 15px;
    height: 1px;
  }
  50% {
    top: 15px;
    height: 70px;
  }
  100% {
    top: 80px;
  }
}
.fmenu-gallery {
  display: none;
}

.galleryarea {
  padding: 0 15px 30px;
}
.galleryarea .btn-gallery {
  overflow: hidden;
  width: 100%;
}
@media screen and (min-width: 550px) {
  .galleryarea .btn-gallery {
    width: 70%;
    max-width: 800px;
    margin: 0 auto;
  }
}
.galleryarea .btn-gallery .bg07 {
  position: relative;
  width: 100%;
  height: 100%;
}
.galleryarea .btn-gallery .bg07:after {
  content: "";
  transition: 0.5s all;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  background-image: url("../img/common/fmenubg07.jpg");
}
@media (min-width: 768px) {
  .galleryarea .btn-gallery .bg07:after {
    background-image: url("../img/common/fmenubg07-pc.jpg");
  }
}
.galleryarea .btn-gallery .bg07:hover:after {
  transform: scale(1.2);
}/*# sourceMappingURL=heimsuite.css.map */