@charset "UTF-8";
.container {
  width: 100%;
  max-width: 116.6rem;
  margin: 0 auto;
  position: relative;
}
@media screen and (max-width: 767.98px) {
  .container {
    padding: 0 2.4rem;
  }
}

.section-title {
  width: -moz-fit-content;
  width: fit-content;
}
.section-title:after {
  content: attr(data-title-en);
  display: block;
  text-transform: uppercase;
  font-size: 4.4rem;
  font-family: "Inter", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  line-height: 1.0909090909;
  letter-spacing: 0.06em;
  margin-top: 1.2rem;
}
@media screen and (max-width: 767.98px) {
  .section-title:after {
    font-size: 3.2rem;
    line-height: 1.21875;
    margin-top: 0.8rem;
  }
}
.section-title span {
  font-size: 1.2rem;
  font-weight: 500;
  padding-left: 1.6rem;
  letter-spacing: 0.1em;
  position: relative;
}
@media screen and (max-width: 767.98px) {
  .section-title span {
    font-size: 1.3rem;
  }
}
.section-title span:before {
  content: "";
  display: block;
  width: 0.6rem;
  height: 0.6rem;
  background-color: #ff6510;
  position: absolute;
  top: 0.4rem;
  left: 0;
}
.swiper {
  position: relative;
}
.swiper-slide a {
  position: relative;
}

.btn-prev,
.btn-next {
  position: absolute;
  z-index: 4;
  cursor: pointer;
}
/* 現在のスライド番号 */
/* スライド総数 */
@keyframes fadeMoveLeft {
  0% {
    transform: scale(1.1) translateX(0);
  }
  100% {
    transform: scale(1.1) translateX(-4rem);
  }
}
@keyframes fadeMoveLeftSp {
  0% {
    transform: scale(1.1) translateX(1rem);
  }
  100% {
    transform: scale(1.1) translateX(-2rem);
  }
}
@keyframes textSlideDown {
  0% {
    clip-path: inset(0 0 100% 0);
  }
  100% {
    clip-path: inset(0 0 0 0);
  }
}
body {
  transition: all 0.5s ease 0s;
}
body.bg-black {
  background-color: #2d2d2d;
}

/*************************
HERO
************************ */
.hero__slide {
  width: 100%;
  height: 100vh;
}
.hero__slide .swiper-slide {
  overflow: hidden;
}
.hero__slide .swiper-slide.swiper-slide-active img, .hero__slide .swiper-slide.swiper-slide-duplicate-active img, .hero__slide .swiper-slide.swiper-slide-prev img {
  animation: fadeMoveLeft 12s linear 0s normal both;
}
@media screen and (max-width: 767.98px) {
  .hero__slide .swiper-slide.swiper-slide-active img, .hero__slide .swiper-slide.swiper-slide-duplicate-active img, .hero__slide .swiper-slide.swiper-slide-prev img {
    animation: fadeMoveLeftSp 12s linear 0s normal both;
  }
}
.hero__bg {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100vh;
}
.hero__content {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 10;
}
.hero__content-inner {
  width: 100%;
  height: 100%;
}
.hero__title {
  font-size: 10.6rem;
  font-family: "Inter", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  line-height: 1;
  letter-spacing: 0.05em;
  color: #fff;
  position: absolute;
  bottom: 8rem;
  left: 4rem;
}
@media screen and (max-width: 767.98px) {
  .hero__title {
    font-size: 4.7rem;
    left: 2.3rem;
    bottom: auto;
    top: 44%;
    transform: translateY(-50%);
  }
}
.hero__subtitle {
  font-size: 2.2rem;
  line-height: 3.4090909091;
  color: #fff;
  position: absolute;
  bottom: 4rem;
  left: 4rem;
  display: flex;
  align-items: center;
  gap: 1.6rem;
}
@media screen and (max-width: 767.98px) {
  .hero__subtitle {
    width: 100%;
    font-size: 1.3rem;
    display: block;
    padding: 0 2.3rem;
    bottom: auto;
    top: 54%;
    left: 0;
    transform: translateY(-50%);
  }
}
.hero__subtitle span {
  display: inline-block;
  font-size: 1.3rem;
  line-height: 2;
  color: #fff;
}
@media screen and (max-width: 767.98px) {
  .hero__subtitle span {
    display: block;
    width: -moz-fit-content;
    width: fit-content;
  }
}
.hero__subtitle span:nth-of-type(2) {
  padding-left: 11.6rem;
  position: relative;
}
@media screen and (max-width: 767.98px) {
  .hero__subtitle span:nth-of-type(2) {
    margin-left: auto;
    margin-right: 0;
    padding-left: 5.4rem;
  }
}
.hero__subtitle span:nth-of-type(2):before {
  content: "";
  display: block;
  width: 10rem;
  height: 1px;
  background-color: #fff;
  position: absolute;
  top: 50%;
  left: 0;
  z-index: 1;
}
@media screen and (max-width: 767.98px) {
  .hero__subtitle span:nth-of-type(2):before {
    width: 4rem;
  }
}
.hero__news {
  position: absolute;
  bottom: 3rem;
  right: 4rem;
  z-index: 10;
}
@media screen and (max-width: 767.98px) {
  .hero__news {
    width: calc(100% - 2.4rem);
    bottom: 1.2rem;
    right: auto;
    left: 1.2rem;
  }
}
.hero__news-link {
  width: auto;
  padding: 0 3.2rem;
  padding-right: 6rem;
  height: 4.8rem;
  background-color: rgba(0, 0, 0, 0.6);
  border-radius: 2px;
  display: flex;
  align-items: center;
  gap: 1.6rem;
  position: relative;
}
@media screen and (max-width: 767.98px) {
  .hero__news-link {
    gap: 1.2rem;
    padding: 0.6rem 2rem;
    padding-right: 5.4rem;
    height: auto;
    min-height: 4.8rem;
  }
}
.hero__news-link:before {
  content: "";
  display: block;
  width: 0.7rem;
  height: 0.8rem;
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 11.585 12.949"><path fill="%23ffffff" d="M1.05,12.94l-1.05-1.7,7.77-4.77L0,1.7,1.05,0l10.54,6.47L1.05,12.94Z"/></svg>');
  background-size: 1.1585rem 1.2949rem;
  background-position: center;
  background-repeat: no-repeat;
  aspect-ratio: 11.585/12.949;
  background-size: contain;
  position: absolute;
  top: calc((100% - 0.8rem) / 2);
  right: 2rem;
  transition: all 0.3s ease 0s;
}
.hero__news-link:after {
  opacity: 0;
  content: "";
  display: block;
  width: 0.7rem;
  height: 0.8rem;
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 11.585 12.949"><path fill="%23ffffff" d="M1.05,12.94l-1.05-1.7,7.77-4.77L0,1.7,1.05,0l10.54,6.47L1.05,12.94Z"/></svg>');
  background-size: 1.1585rem 1.2949rem;
  background-position: center;
  background-repeat: no-repeat;
  aspect-ratio: 11.585/12.949;
  background-size: contain;
  position: absolute;
  top: calc((100% - 0.8rem) / 2);
  right: 2rem;
  transform: translateX(-1rem);
  transition: all 0.3s ease 0s;
}
@media (hover: hover) {
  .hero__news-link:hover {
    opacity: 1;
    background-color: rgba(0, 0, 0, 0.8);
  }
  .hero__news-link:hover:before {
    opacity: 0;
    transform: translateX(1rem);
  }
  .hero__news-link:hover:after {
    opacity: 1;
    transform: translateX(0);
  }
}
.hero__news-date {
  font-size: 1.3rem;
  line-height: 1.4615384615;
  font-family: "Inter", sans-serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
  color: #fff;
  transform: translateY(1px);
}
@media screen and (max-width: 767.98px) {
  .hero__news-date {
    font-size: 1.2rem;
    transform: translateY(0.2rem);
  }
}
.hero__news-text {
  font-size: 1.3rem;
  line-height: 1.4615384615;
  color: #fff;
}
@media screen and (max-width: 767.98px) {
  .hero__news-text {
    font-size: 1.2rem;
  }
}

.pickup {
  padding-top: 8rem;
  padding-bottom: 8rem;
}
.pickup__inner {
  display: flex;
}
@media screen and (max-width: 767.98px) {
  .pickup__inner {
    flex-direction: column;
  }
}
.pickup__label {
  width: 31rem;
}
@media screen and (max-width: 767.98px) {
  .pickup__label {
    width: 100%;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
  }
}
.pickup__title.section-title:after {
  font-size: 3.2rem;
  line-height: 1.21875;
  margin-top: 0.8rem;
}
.pickup__pagination {
  height: 4rem;
  display: flex;
  margin-top: 2rem;
  gap: 0.4rem;
}
.pickup__pagination .pickup-prev,
.pickup__pagination .pickup-next {
  padding-right: 4rem;
}
@media (hover: hover) {
  .pickup__pagination .pickup-prev:hover,
  .pickup__pagination .pickup-next:hover {
    opacity: 0.8;
  }
}
.pickup__pagination .pickup-prev {
  transform: scaleX(-1);
}
.pickup__content {
  width: 87.6rem;
  margin-right: -2.4rem;
}
@media screen and (max-width: 767.98px) {
  .pickup__content {
    width: calc(100% + 4.8rem);
    margin: 2.8rem -2.4rem 0;
  }
}
.pickup__item {
  width: 26.8rem;
  position: relative;
  overflow: hidden;
  transition: all 0.5s ease 0s;
}
@media screen and (max-width: 767.98px) {
  .pickup__item {
    width: 100%;
  }
}
.pickup__item img {
  width: 100%;
  height: auto;
  aspect-ratio: 268/160;
  -o-object-fit: cover;
     object-fit: cover;
  transition: all 0.5s ease 0s;
}
@media (hover: hover) {
  .pickup__item:hover {
    opacity: 1;
  }
  .pickup__item:hover img {
    transform: scale(1.05);
  }
}
@media (hover: hover) {
  .pickup__item.-unlink:hover {
    opacity: 1;
  }
  .pickup__item.-unlink:hover img {
    transform: none;
  }
}
.pickup__item .pickup-url-group {
  position: absolute;
  inset: 0;
  background-color: rgba(0, 0, 0, 0.55);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.6rem;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.25s ease;
}
.pickup__item .pickup-url-group.is-open {
  opacity: 1;
  pointer-events: auto;
}
.pickup__item .pickup-url-item {
  color: #fff;
  font-size: 1.3rem;
  letter-spacing: 0.05em;
  padding: 0.6rem 1.4rem;
  border: 1px solid #fff;
  text-decoration: none;
  transition: background-color 0.2s ease, color 0.2s ease;
}
@media (hover: hover) {
  .pickup__item .pickup-url-item:hover {
    background-color: #fff;
    color: #333;
  }
}

.model-house {
  padding-top: 7rem;
  padding-bottom: 6rem;
  background-color: #f4f4f4;
}
.model-house .section-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
}
.model-house .section-more {
  position: absolute;
  top: 4rem;
  right: 0;
}
@media screen and (max-width: 767.98px) {
  .model-house .section-more {
    margin-top: 3rem;
    position: relative;
    top: auto;
    right: auto;
  }
}
.model-house__swiper {
  margin-top: 4rem;
  min-width: 0;
  width: 100%;
}
@media screen and (max-width: 767.98px) {
  .model-house__swiper {
    width: calc(100% + 4.8rem);
    margin-left: -2.4rem;
    padding: 0 2.4rem;
    margin-top: 3rem;
  }
}
.model-house__swiper .swiper-wrapper {
  display: flex;
  justify-content: flex-start;
}
@media screen and (max-width: 767.98px) {
  .model-house__swiper .swiper-slide {
    width: 100%;
  }
}
@media screen and (max-width: 767.98px) {
  .model-house__grid {
    gap: 0;
  }
}
.model-house__grid > .swiper-slide {
  height: auto;
}
.model-house__card {
  width: 100%;
  height: 100%;
}
@media (hover: hover) {
  .model-house__card a:hover {
    opacity: 1;
  }
  .model-house__card a:hover .model-house__img img {
    transform: scale(1.05);
  }
}
.model-house__img {
  overflow: hidden;
  transition: all 0.5s ease 0s;
}
.model-house__img img {
  width: 100%;
  height: auto;
  aspect-ratio: 268/160;
  -o-object-fit: cover;
     object-fit: cover;
  transition: all 0.5s ease 0s;
}
.model-house__body {
  margin-top: 2rem;
}
.model-house__tag {
  display: flex;
  gap: 0.8rem;
}
.model-house__tag span {
  display: inline-block;
  background: #000;
  color: #fff;
  font-size: 1.2rem;
  line-height: 1.4166666667;
  font-weight: 400;
  border-radius: 0.3rem;
  padding: 0.4rem 1.2rem;
}
.model-house__name {
  font-size: 1.6rem;
  line-height: 1.875;
  font-family: "Inter", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  color: #000;
  margin-top: 0.8rem;
}
.model-house__date {
  font-size: 1.3rem;
  line-height: 1.4615384615;
  font-family: "Inter", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  color: #666;
  margin-top: 0.4rem;
}

.concept {
  padding-top: 15rem;
  padding-bottom: 7rem;
  position: relative;
}
@media screen and (max-width: 767.98px) {
  .concept {
    padding-top: 12rem;
    padding-bottom: 4rem;
  }
}
.concept .container {
  z-index: 1;
}
.concept .section-more {
  margin-top: 4rem;
}
@media screen and (max-width: 767.98px) {
  .concept .section-more {
    text-align: right;
  }
}
.concept__title {
  font-size: 8.8rem;
  font-family: "Inter", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  line-height: 1;
  letter-spacing: 0.05em;
  color: #000;
}
@media screen and (max-width: 767.98px) {
  .concept__title {
    font-size: 4.4rem;
    line-height: 1.1363636364;
  }
}
.concept__lead {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.875;
  letter-spacing: 0.2em;
  margin-top: 2rem;
}
.concept__body {
  margin-top: 10rem;
  width: 50rem;
  margin-left: auto;
}
@media screen and (max-width: 767.98px) {
  .concept__body {
    width: 100%;
    margin-top: 40rem;
  }
}
.concept__body p {
  font-weight: 500;
  line-height: 2.1428571429;
  margin-top: 2.2rem;
}
.concept__body p:first-child {
  margin-top: 0;
}
.concept__img {
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
}
.concept__img-figure {
  overflow: hidden;
}
.concept__img-figure img {
  transform: scale(1.1);
  transform-origin: center;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.concept__img-1 {
  width: 39.8rem;
  position: absolute;
  top: 54rem;
  right: calc(50% + 28.5rem);
}
@media screen and (max-width: 767.98px) {
  .concept__img-1 {
    aspect-ratio: 200/260;
    width: 20rem;
    top: 38rem;
    left: 0;
    right: auto;
  }
}
.concept__img-2 {
  width: 39rem;
  position: absolute;
  top: 12rem;
  left: calc(50% + 23.5rem);
}
@media screen and (max-width: 767.98px) {
  .concept__img-2 {
    width: 9.2rem;
    top: 8rem;
    left: auto;
    right: 0;
  }
}
@media screen and (max-width: 767.98px) {
  .concept__img-2 img {
    aspect-ratio: 92/70;
  }
}
.concept__img-3 {
  width: 16rem;
  position: absolute;
  top: 46rem;
  right: calc(50% + 4.5rem);
}
@media screen and (max-width: 767.98px) {
  .concept__img-3 {
    width: 11rem;
    aspect-ratio: 110/140;
    top: 34rem;
    right: 2.5rem;
  }
}

.about {
  padding-top: 14rem;
  padding-bottom: 6rem;
}
@media screen and (max-width: 767.98px) {
  .about {
    padding-top: 4rem;
    padding-bottom: 4rem;
  }
}
.about__grid {
  margin-top: 4rem;
  display: flex;
  gap: 7.6rem;
}
@media screen and (max-width: 767.98px) {
  .about__grid {
    flex-direction: column;
    gap: 4rem;
  }
}
.about__item {
  display: block;
  width: calc((100% - 15.2rem) / 2);
  position: relative;
}
@media screen and (max-width: 767.98px) {
  .about__item {
    width: calc(100% - 1.8rem);
    margin-left: auto;
  }
}
.about__item:before {
  display: block;
  font-size: 1rem;
  font-weight: 500;
  font-family: "Inter", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
  color: #c1c1c1;
  writing-mode: vertical-rl;
  overflow: hidden;
  position: absolute;
  top: 0;
  left: -2rem;
  clip-path: inset(0 0 0 0);
  transition: clip-path 0.4s cubic-bezier(0.25, 0.1, 0.25, 1);
}
@media screen and (max-width: 767.98px) {
  .about__item:before {
    font-size: 0.8rem;
    left: -2rem;
  }
}
.about__item.-technology:before {
  content: "( QUALITY & TECHNOLOGY )";
}
.about__item.-process:before {
  content: "( OUR HOME-BUILDING PROCESS )";
}
.about__item.-aftercare:before {
  content: "( QWARRANTY & AFTERCARE )";
}
@media (hover: hover) {
  .about__item:hover {
    opacity: 1;
  }
  .about__item:hover:before {
    animation: textSlideDown 0.6s cubic-bezier(0.25, 0.1, 0.25, 1) forwards;
  }
  .about__item:hover img {
    transform: scale(1.05);
  }
  .about__item:hover span:before {
    background-position: 150% center;
  }
  .about__item:hover span:after {
    opacity: 1;
    transform: translateX(0);
  }
}
.about__img {
  display: block;
  overflow: hidden;
}
.about__img img {
  transition: all 0.5s ease 0s;
}
.about__btn {
  margin-top: 1.6rem;
  font-size: 1.6rem;
  font-weight: 700;
  display: flex;
  align-items: center;
  min-height: 4rem;
}

.works {
  padding-top: 8rem;
  padding-bottom: 20rem;
}
@media screen and (max-width: 767.98px) {
  .works {
    padding-bottom: 8rem;
  }
}
.works .section-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
}
.works .section-more {
  padding-bottom: 0.4rem;
}
.works__content {
  margin-top: 4rem;
  padding: 0 calc((20rem - (100vw - 100%)) / 2);
}
@media screen and (min-width: 1366px) {
  .works__content {
    padding: 0 calc((100% - 116.6rem) / 2);
  }
}
@media screen and (max-width: 767.98px) {
  .works__content {
    padding: 0;
    width: 100%;
  }
}
.works__slider {
  overflow: visible;
}
@media screen and (max-width: 767.98px) {
  .works__slider {
    overflow: hidden;
  }
}
.works__slider .swiper-slide {
  width: auto;
}
@media screen and (max-width: 767.98px) {
  .works__slider .swiper-slide {
    width: 100%;
  }
}
@media screen and (max-width: 767.98px) {
  .works__slider-btn {
    width: 2.1rem;
    height: 2.5rem;
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 23.5 27.58"><path fill="%23ffffff" d="M1.05,27.58l-1.05-1.7,19.68-12.09L0,1.7,1.05,0l22.45,13.8L1.05,27.58Z"/></svg>');
    background-size: 2.35rem 2.758rem;
    background-position: center;
    background-repeat: no-repeat;
    aspect-ratio: 23.5/27.58;
    position: absolute;
    top: calc(50% - 1.25rem);
    z-index: 1;
  }
}
@media screen and (max-width: 767.98px) {
  .works__slider-btn.works-prev {
    left: 1.2rem;
    transform: scaleX(-1);
  }
}
@media screen and (max-width: 767.98px) {
  .works__slider-btn.works-next {
    right: 1.2rem;
  }
}
.works__item {
  width: 85.8rem;
  display: block;
}
@media screen and (max-width: 767.98px) {
  .works__item {
    width: 100%;
  }
}
@media (hover: hover) {
  .works__item:hover {
    opacity: 1;
  }
}
.works__img {
  position: relative;
  overflow: hidden;
}
.works__img img {
  transition: all 0.5s ease 0s;
  aspect-ratio: 858/571;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 767.98px) {
  .works__img img {
    aspect-ratio: 375/420;
  }
}
.works__img figcaption {
  font-size: 1.6rem;
  font-weight: 700;
  color: #fff;
  position: absolute;
  bottom: 2.4rem;
  left: 3rem;
}
@media screen and (max-width: 767.98px) {
  .works__img figcaption {
    width: calc(100% - 4.8rem);
    left: 2.4rem;
  }
}
@media (hover: hover) {
  .works__img:hover img {
    filter: brightness(1.2);
  }
}
.works__fraction {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  margin-top: 3rem;
}
@media screen and (max-width: 767.98px) {
  .works__fraction {
    margin-top: 1.6rem;
    margin-left: 2.4rem;
  }
}
.works__fraction span {
  display: inline-block;
  font-family: "Inter", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
  font-size: 1.3rem;
}
.works__fraction .current {
  color: #000;
  width: 1.7rem;
}
.works__fraction .progress-pagination {
  position: relative;
  width: 6.4rem;
  height: 1px;
  background-color: #c1c1c1;
  display: block;
  overflow: hidden;
}
.works__fraction .progress-pagination .progress-inner {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #ff6510;
  transform-origin: left top;
  display: block;
  transition: transform 0.5s ease;
}
.works__fraction .total {
  color: #c1c1c1;
  position: relative;
}
.works__links {
  margin-top: 10rem;
  display: flex;
  justify-content: flex-start;
  gap: 4rem;
}
@media screen and (max-width: 767.98px) {
  .works__links {
    margin-top: 6rem;
    flex-direction: column;
    align-items: flex-start;
    gap: 1rem;
  }
}
.works__links a {
  width: calc((100% - 4rem) / 2);
  border: 1px solid #c1c1c1;
  background-color: #fff;
  padding-right: 2.4rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
@media screen and (max-width: 767.98px) {
  .works__links a {
    width: 100%;
  }
}
@media (hover: hover) {
  .works__links a:hover {
    opacity: 1;
    border: 1px solid #2d2d2d;
  }
  .works__links a:hover img {
    transform: scale(1.05);
  }
  .works__links a:hover button:before {
    background-position: 150% center;
  }
  .works__links a:hover button:after {
    opacity: 1;
    transform: translateX(0);
  }
}
.works__links-img {
  width: 16.8rem;
  overflow: hidden;
}
@media screen and (max-width: 767.98px) {
  .works__links-img {
    width: 9.8rem;
  }
}
.works__links-img img {
  transition: all 0.5s ease 0s;
}
.works__links-btn {
  width: calc(100% - 16.8rem);
  font-size: 2rem;
  font-weight: 700;
  padding-left: 2.8rem;
}
@media screen and (max-width: 767.98px) {
  .works__links-btn {
    width: calc(100% - 9.8rem);
    font-size: 1.5rem;
    padding-left: 2rem;
  }
}
.works__links-btn span {
  display: block;
  font-family: "Inter", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  font-size: 1.1rem;
  line-height: 1.2727272727;
  color: #c1c1c1;
  margin-bottom: 0.2rem;
}
@media screen and (max-width: 767.98px) {
  .works__links-btn span {
    font-size: 1rem;
  }
}

.room-tour {
  padding-top: 20rem;
  padding-bottom: 10rem;
}
@media screen and (max-width: 767.98px) {
  .room-tour {
    padding-top: 10rem;
  }
}
.room-tour__inner {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 767.98px) {
  .room-tour__inner {
    flex-direction: column;
    align-items: flex-start;
  }
}
.room-tour .section-header {
  width: 32rem;
}
.bg-black .room-tour .section-title {
  color: #fff;
}
.room-tour .section-txt {
  font-size: 1.4rem;
  line-height: 2.1428571429;
  font-weight: 500;
  margin-top: 4rem;
}
.bg-black .room-tour .section-txt {
  color: #fff;
}
.room-tour .section-more {
  position: absolute;
  top: 25.4rem;
  left: 0;
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
}
@media screen and (max-width: 767.98px) {
  .room-tour .section-more {
    width: 100%;
    margin-top: 3rem;
    flex-direction: row;
    justify-content: center;
    gap: 3.2rem;
    position: relative;
    top: auto;
    left: auto;
  }
}
.bg-black .room-tour .section-more {
  color: #fff;
}
.bg-black .room-tour .section-more .c-btn.-arrow1:before {
  background-color: #fff;
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 11.585 12.949"><path fill="%23000000" d="M1.05,12.94l-1.05-1.7,7.77-4.77L0,1.7,1.05,0l10.54,6.47L1.05,12.94Z"/></svg>');
  background-size: 1.1585rem 1.2949rem;
  background-position: center;
  background-repeat: no-repeat;
  aspect-ratio: 11.585/12.949;
}
.bg-black .room-tour .section-more .c-btn.-arrow1:after {
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 11.585 12.949"><path fill="%23000000" d="M1.05,12.94l-1.05-1.7,7.77-4.77L0,1.7,1.05,0l10.54,6.47L1.05,12.94Z"/></svg>');
  background-size: 1.1585rem 1.2949rem;
  background-position: center;
  background-repeat: no-repeat;
  aspect-ratio: 11.585/12.949;
}
@media (hover: hover) {
  .bg-black .room-tour .section-more .c-btn.-arrow1:hover:before {
    background-position: 150% center;
  }
}
.room-tour__slider {
  min-width: 0;
  width: 72.1rem;
  margin-left: auto;
}
@media screen and (max-width: 767.98px) {
  .room-tour__slider {
    width: calc(100% + 4.8rem);
    margin-top: 3rem;
    margin-left: -2.4rem;
    margin-right: -2.4rem;
    position: relative;
  }
}
@media screen and (max-width: 767.98px) {
  .room-tour__slider-btn {
    width: 4.4rem;
    height: 4.4rem;
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 23.5 27.58"><path fill="%23ffffff" d="M1.05,27.58l-1.05-1.7,19.68-12.09L0,1.7,1.05,0l22.45,13.8L1.05,27.58Z"/></svg>');
    background-size: 2.35rem 2.758rem;
    background-position: center;
    background-repeat: no-repeat;
    aspect-ratio: 23.5/27.58;
    background-size: 2.1rem 2.5rem;
    position: absolute;
    top: calc(50% - 2.2rem);
    z-index: 100;
  }
}
@media screen and (max-width: 767.98px) {
  .room-tour__slider-btn.room-tour-prev {
    left: 1.2rem;
    transform: scaleX(-1);
  }
}
@media screen and (max-width: 767.98px) {
  .room-tour__slider-btn.room-tour-next {
    right: 1.2rem;
  }
}
.room-tour__slider .swiper-wrapper {
  display: flex;
}
.room-tour__movie {
  width: 100%;
  position: relative;
  aspect-ratio: 390/693;
}
.room-tour__movie::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 10;
  cursor: pointer;
  background: rgba(0, 0, 0, 0);
}
.room-tour__movie.is-active::after {
  display: none;
}
.room-tour__movie iframe {
  width: 100%;
  height: 100%;
}
.news-blog {
  padding-top: 10rem;
  padding-bottom: 10rem;
  border-top: 1px solid #3e3e3e;
}
@media screen and (max-width: 767.98px) {
  .news-blog {
    padding-top: 6rem;
    padding-bottom: 6rem;
  }
}
.news-blog__grid {
  display: flex;
  justify-content: space-between;
  gap: 11.4rem;
}
@media screen and (max-width: 767.98px) {
  .news-blog__grid {
    flex-direction: column;
    align-items: flex-start;
    gap: 6rem;
  }
}
.news-blog__col {
  width: calc((100% - 11.4rem) / 2);
  position: relative;
}
@media screen and (max-width: 767.98px) {
  .news-blog__col {
    width: 100%;
  }
}
.news-blog__col.-news {
  padding-bottom: 4rem;
  position: relative;
}
@media screen and (max-width: 767.98px) {
  .news-blog__col.-news:after {
    content: "";
    display: block;
    width: calc(100% + 4.8rem);
    height: 1px;
    background-color: #3e3e3e;
    position: absolute;
    bottom: 0;
    left: -2.4rem;
  }
}
.news-blog .section-header {
  padding-bottom: 4rem;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}
@media screen and (max-width: 767.98px) {
  .news-blog .section-header {
    padding-bottom: 2rem;
  }
}
.bg-black .news-blog .section-title {
  color: #fff;
}
.news-blog .section-more {
  position: absolute;
  top: 3.3rem;
  right: 0;
}
@media screen and (max-width: 767.98px) {
  .news-blog .section-more {
    position: relative;
    top: auto;
    right: auto;
    margin-top: 3rem;
  }
}
.bg-black .news-blog .section-more {
  color: #fff;
}
.bg-black .news-blog .section-more .c-btn.-arrow1:before {
  background-color: #fff;
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 11.585 12.949"><path fill="%23000000" d="M1.05,12.94l-1.05-1.7,7.77-4.77L0,1.7,1.05,0l10.54,6.47L1.05,12.94Z"/></svg>');
  background-size: 1.1585rem 1.2949rem;
  background-position: center;
  background-repeat: no-repeat;
  aspect-ratio: 11.585/12.949;
}
.bg-black .news-blog .section-more .c-btn.-arrow1:after {
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 11.585 12.949"><path fill="%23000000" d="M1.05,12.94l-1.05-1.7,7.77-4.77L0,1.7,1.05,0l10.54,6.47L1.05,12.94Z"/></svg>');
  background-size: 1.1585rem 1.2949rem;
  background-position: center;
  background-repeat: no-repeat;
  aspect-ratio: 11.585/12.949;
}
@media (hover: hover) {
  .bg-black .news-blog .section-more .c-btn.-arrow1:hover:before {
    background-position: 150% center;
  }
}
.news-blog__list {
  border-top: 1px solid #3e3e3e;
}
.news-blog__item {
  border-bottom: 1px solid #3e3e3e;
}
.news-blog__link {
  display: block;
  padding: 2.4rem 0;
}
.news-blog__link-title {
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.5;
  margin-top: 0.8rem;
}
@media screen and (max-width: 767.98px) {
  .news-blog__link-title {
    font-size: 1.4rem;
  }
}
.bg-black .news-blog__link-title {
  color: #fff;
}
@media (hover: hover) {
  .news-blog__link:hover {
    background-color: rgba(0, 0, 0, 0.1);
  }
}
.news-blog__tag {
  display: inline-block;
  background-color: #3e3e3e;
  color: #fff;
  font-size: 1.2rem;
  line-height: 1.4166666667;
  font-weight: 400;
  border-radius: 0.3rem;
  padding: 0.4rem 1.2rem;
}
.news-blog__date {
  margin-left: 1.2rem;
  font-size: 1.3rem;
  line-height: 1.4615384615;
  font-family: "Inter", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  color: #666;
  margin-top: 0.4rem;
}
.bg-black .news-blog__date {
  color: #fff;
}

.other-links {
  padding-top: 10rem;
  padding-bottom: 10rem;
}
@media screen and (max-width: 767.98px) {
  .other-links {
    padding-top: 6rem;
    padding-bottom: 6rem;
  }
}
.other-links__inner {
  display: flex;
  justify-content: space-between;
  gap: 4rem;
}
@media screen and (max-width: 767.98px) {
  .other-links__inner {
    flex-direction: column;
    align-items: flex-start;
  }
}
.other-links__item {
  display: block;
  width: 100%;
  height: 100%;
  position: relative;
}
@media (hover: hover) {
  .other-links__item:hover {
    opacity: 1;
  }
  .other-links__item:hover img {
    transform: scale(1.05);
  }
  .other-links__item:hover button.-arrow1:before {
    background-position: 150% center;
  }
  .other-links__item:hover button.-arrow1:after {
    opacity: 1;
    transform: translateX(0);
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 11.585 12.949"><path fill="%23000000" d="M1.05,12.94l-1.05-1.7,7.77-4.77L0,1.7,1.05,0l10.54,6.47L1.05,12.94Z"/></svg>');
    background-size: 1.1585rem 1.2949rem;
    background-position: center;
    background-repeat: no-repeat;
    aspect-ratio: 11.585/12.949;
    background-color: #fff;
  }
}
.other-links__img {
  position: relative;
  overflow: hidden;
}
.other-links__img:after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: linear-gradient(180deg, rgba(102, 102, 102, 0) 0%, rgb(51, 51, 51) 100%);
  opacity: 0.7;
  position: absolute;
  bottom: 0;
  left: 0;
}
.other-links__img img {
  transition: all 0.5s ease 0s;
}
.other-links__btn {
  width: calc(100% - 4rem);
  position: absolute;
  left: 2rem;
  bottom: 2rem;
}
.other-links__btn button {
  display: block;
  width: 100%;
  font-size: 2.2rem;
  font-weight: 700;
  color: #fff;
  letter-spacing: 0.15em;
}
.other-links__btn button span {
  display: block;
  font-size: 1.1rem;
  font-family: "Inter", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  color: #c1c1c1;
  letter-spacing: 0.08em;
}
.other-links__btn button.-arrow1 {
  line-height: 1.5;
}
.other-links__btn button.-arrow1:before {
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 11.585 12.949"><path fill="%23000000" d="M1.05,12.94l-1.05-1.7,7.77-4.77L0,1.7,1.05,0l10.54,6.47L1.05,12.94Z"/></svg>');
  background-size: 1.1585rem 1.2949rem;
  background-position: center;
  background-repeat: no-repeat;
  aspect-ratio: 11.585/12.949;
  background-color: #fff;
}

.contact {
  background-color: #f4f4f4;
}
.contact__inner {
  display: flex;
  align-items: center;
  height: 76.8rem;
}
@media screen and (max-width: 767.98px) {
  .contact__inner {
    height: auto;
    flex-direction: column;
    align-items: flex-start;
  }
}
.contact__img {
  width: 50%;
}
@media screen and (max-width: 767.98px) {
  .contact__img {
    width: 100%;
    order: 2;
  }
}
.contact__img img {
  width: 100%;
  height: 76.8rem;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
@media screen and (max-width: 767.98px) {
  .contact__img img {
    height: auto;
    aspect-ratio: 375/260;
  }
}
.contact__content {
  width: 50%;
  padding-left: 11.2rem;
}
@media screen and (max-width: 767.98px) {
  .contact__content {
    width: 100%;
    padding: 6rem 2.4rem;
    order: 1;
  }
}
.contact .section-txt {
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 2.1428571429;
  margin-top: 2rem;
}
.contact__btns {
  margin-top: 6rem;
  display: flex;
  flex-direction: column;
  gap: 2rem;
}
@media screen and (max-width: 767.98px) {
  .contact__btns {
    margin-top: 3rem;
    gap: 1rem;
  }
}
.contact__btns a {
  max-width: 45rem;
  height: 9.6rem;
  background-color: #fff;
  display: flex;
  align-items: center;
  padding: 2.8rem;
  border: 1px solid #fff;
}
@media screen and (max-width: 767.98px) {
  .contact__btns a {
    height: 8rem;
    padding: 2rem;
  }
}
.contact__btns a span {
  width: 100%;
  font-size: 2rem;
  font-weight: 700;
  min-height: 4rem;
  display: flex;
  align-items: center;
}
@media screen and (max-width: 767.98px) {
  .contact__btns a span {
    font-size: 1.5rem;
  }
}
@media (hover: hover) {
  .contact__btns a:hover {
    opacity: 1;
    border: 1px solid #2d2d2d;
  }
  .contact__btns a:hover span:before {
    background-position: 150% center;
  }
  .contact__btns a:hover span:after {
    opacity: 1;
    transform: translateX(0);
  }
}

.c-cursor {
  position: fixed;
  top: 0;
  left: 0;
  width: 10rem;
  height: 10rem;
  background-color: #2D2D2D;
  border-radius: 50%;
  pointer-events: none;
  z-index: 9999;
  opacity: 0;
  transition: opacity 0.3s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
}
@media screen and (max-width: 767.98px) {
  .c-cursor {
    display: none !important;
  }
}
.c-cursor:before {
  content: "";
  display: block;
  width: 2.1rem;
  height: 2.3rem;
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 11.585 12.949"><path fill="%23ffffff" d="M1.05,12.94l-1.05-1.7,7.77-4.77L0,1.7,1.05,0l10.54,6.47L1.05,12.94Z"/></svg>');
  background-size: 1.1585rem 1.2949rem;
  background-position: center;
  background-repeat: no-repeat;
  aspect-ratio: 11.585/12.949;
  transform: scaleX(-1);
}
.c-cursor:after {
  content: "";
  display: block;
  width: 2.1rem;
  height: 2.3rem;
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 11.585 12.949"><path fill="%23ffffff" d="M1.05,12.94l-1.05-1.7,7.77-4.77L0,1.7,1.05,0l10.54,6.47L1.05,12.94Z"/></svg>');
  background-size: 1.1585rem 1.2949rem;
  background-position: center;
  background-repeat: no-repeat;
  aspect-ratio: 11.585/12.949;
}
.c-cursor.is-active {
  opacity: 1;
}