@charset "UTF-8";
#loading {
  z-index: 50000;
  position: fixed;
  top: 0;
  left: 0;
  display: flex;
  align-items: center;
  width: 100vw;
  height: 100vh;
  background-color: #fff;
}

#loading .contentWrap {
  display: none;
}

#loading .titleWrap .title {
  margin: 0 auto;
  width: 19.53vw;
  max-width: 375px;
}

@media only screen and (min-width: 768px) and (max-width: 1023px) {
  #loading .titleWrap .title {
    width: 50rem;
  }
}

@media only screen and (max-width: 767px) {
  #loading .titleWrap .title {
    width: 27rem;
  }
}

#loading .titleWrap .title img {
  width: 100%;
}

#loading .textWrap {
  margin-top: 2rem;
  text-align: center;
}

#loading .textWrap .text {
  font-size: 2rem;
  font-weight: 300;
  line-height: 1.7;
}

#kv {
  position: relative;
}

#kv .contentWrap {
  position: absolute;
  top: 2.9vw;
  left: 50%;
  transform: translateX(-50%);
}

@media only screen and (min-width: 768px) and (max-width: 1023px) {
  #kv .contentWrap {
    position: absolute;
    top: 6.5rem;
  }
}

@media only screen and (max-width: 767px) {
  #kv .contentWrap {
    top: 5rem;
    width: 100%;
  }
}

#kv .contentWrap .titleWrap,
#kv .contentWrap .textWrap {
  position: relative;
  opacity: 0;
  transition: 1s ease 0s;
}

#kv .contentWrap .titleWrap .title {
  margin: 0 auto;
  width: 30.73vw;
  max-width: 590px;
}

@media only screen and (min-width: 768px) and (max-width: 1023px) {
  #kv .contentWrap .titleWrap .title {
    width: 50rem;
  }
}

@media only screen and (max-width: 767px) {
  #kv .contentWrap .titleWrap .title {
    width: 27rem;
  }
}

#kv .contentWrap .titleWrap .title img {
  width: 100%;
}

#kv .contentWrap .textWrap {
  margin-top: 2rem;
  text-align: center;
}

#kv .contentWrap .textWrap .text {
  font-size: 1.7rem;
  font-weight: 300;
  color: #fff;
  text-shadow: 5px 0px 7px #090909, -5px 0px 7px #090909, 0px 5px 7px #090909, 0px -5px 7px #090909;
}

#kv .kvImageWrap .image {
  width: 100%;
}

@media only screen and (max-width: 767px) {
  #kv .kvImageWrap .image {
    display: flex;
    justify-content: center;
  }
}

#kv .kvImageWrap .image img {
  width: 100%;
}

@media only screen and (min-width: 768px) and (max-width: 1023px) {
  #kv .kvImageWrap .image img {
    height: 100%;
    object-fit: cover;
    object-position: center;
  }
}

@media only screen and (max-width: 767px) {
  #kv .kvImageWrap .image img {
    margin: 0 auto;
    width: 60rem;
    max-width: none;
  }
}

#kv #scroll {
  z-index: 3;
  position: absolute;
  bottom: 0;
  left: 50%;
  padding-bottom: 6rem;
  transform: translateX(-50%);
}

@media only screen and (max-width: 1023px) {
  #kv #scroll {
    padding-bottom: 4.5rem;
  }
}

#kv #scroll::before, #kv #scroll::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 1px;
  height: 5rem;
  background-color: #fff;
  transform: translateX(-50%);
}

@media only screen and (max-width: 1023px) {
  #kv #scroll::before, #kv #scroll::after {
    height: 3.5rem;
  }
}

#kv #scroll::before {
  opacity: 0.3;
}

#kv #scroll::after {
  animation: scrollDownAfter 1.2s linear 0s infinite;
}

#kv #scroll .text {
  font-size: 1.4rem;
  font-weight: 300;
  color: #fff;
}

@keyframes scrollDownAfter {
  0% {
    transform: scale(1, 0);
    transform-origin: 0 0;
  }
  50% {
    transform: scale(1, 1);
    transform-origin: 0 0;
  }
  50.1% {
    transform: scale(1, 1);
    transform-origin: 0 100%;
  }
  100% {
    transform: scale(1, 0);
    transform-origin: 0 100%;
  }
}

#kvUnder .galleryWrap {
  display: flex;
}

@media only screen and (max-width: 767px) {
  #kvUnder .galleryWrap {
    display: block;
  }
}

#kvUnder .galleryWrap .image {
  width: calc(100% / 3);
}

@media only screen and (max-width: 767px) {
  #kvUnder .galleryWrap .image {
    width: 100%;
  }
}

#kvUnder .galleryWrap .image img {
  width: 100%;
}

@media only screen and (max-width: 1023px) {
  #exterior .sectionContentWrap {
    margin-top: 1rem;
  }
}

#exterior .spaceListWrap .spaceWrap {
  position: relative;
  padding-top: 5vw;
  margin-top: 10.78vw;
  display: flex;
}

@media only screen and (max-width: 1023px) {
  #exterior .spaceListWrap .spaceWrap {
    display: block;
  }
}

#exterior .spaceListWrap .spaceWrap:first-of-type {
  margin-top: 0;
  padding-top: 0;
}

#exterior .spaceListWrap .spaceWrap:nth-of-type(odd) .imageWrap {
  margin-left: calc(-50vw + 50%);
  width: 46.87vw;
  max-width: 90rem;
}

@media only screen and (max-width: 1023px) {
  #exterior .spaceListWrap .spaceWrap:nth-of-type(odd) .imageWrap {
    width: 81.06vw;
    max-width: none;
  }
}

#exterior .spaceListWrap .spaceWrap:nth-of-type(odd) .contentWrap {
  margin-left: 8.75vw;
}

@media only screen and (max-width: 1023px) {
  #exterior .spaceListWrap .spaceWrap:nth-of-type(odd) .contentWrap {
    margin: 3rem 0 0;
  }
}

#exterior .spaceListWrap .spaceWrap:nth-of-type(even) {
  flex-direction: row-reverse;
}

#exterior .spaceListWrap .spaceWrap:nth-of-type(2) {
  padding-bottom: 25vw;
}

@media only screen and (max-width: 1023px) {
  #exterior .spaceListWrap .spaceWrap:nth-of-type(2) {
    margin-top: 7rem;
    padding-bottom: 20rem;
  }
}

#exterior .spaceListWrap .spaceWrap:nth-of-type(2)::before {
  content: "";
  z-index: -1;
  position: absolute;
  bottom: 0;
  right: 6.77vw;
  width: 14.27vw;
  height: 100%;
  background-color: #f7f4ee;
}

@media only screen and (max-width: 1023px) {
  #exterior .spaceListWrap .spaceWrap:nth-of-type(2)::before {
    width: 26.13vw;
    height: 90%;
  }
}

#exterior .spaceListWrap .spaceWrap:nth-of-type(2) .imageWrap {
  position: absolute;
  right: calc(-50vw + 45%);
  bottom: 0;
}

@media only screen and (max-width: 1023px) {
  #exterior .spaceListWrap .spaceWrap:nth-of-type(2) .imageWrap {
    position: relative;
    right: auto;
    left: 0;
    bottom: 0;
  }
}

#exterior .spaceListWrap .spaceWrap:nth-of-type(2) .imageWrap .image {
  width: 56.4vw;
}

@media only screen and (max-width: 1023px) {
  #exterior .spaceListWrap .spaceWrap:nth-of-type(2) .imageWrap .image {
    width: 103.46vw;
  }
}

#exterior .spaceListWrap .spaceWrap:nth-of-type(2) .contentWrap {
  margin-right: auto;
}

@media only screen and (max-width: 1023px) {
  #exterior .spaceListWrap .spaceWrap:nth-of-type(2) .contentWrap {
    margin-top: 3.5rem;
  }
}

#exterior .spaceListWrap .spaceWrap .imageWrap .image img {
  width: 100%;
}

#exterior .spaceListWrap .spaceWrap .contentWrap {
  flex: none;
}

@media only screen and (min-width: 1280px) {
  #exterior .spaceListWrap .spaceWrap .contentWrap .bigPcH {
    display: none;
  }
}

#exterior .spaceListWrap .spaceWrap .contentWrap .titleWrap .title {
  font-size: 3.5rem;
  font-weight: 300;
  line-height: 1.5;
}

@media only screen and (max-width: 767px) {
  #exterior .spaceListWrap .spaceWrap .contentWrap .titleWrap .title {
    font-size: 2.7rem;
  }
}

#exterior .spaceListWrap .spaceWrap .contentWrap .titleWrap .title span {
  color: #ff6600;
}

#exterior .spaceListWrap .spaceWrap .contentWrap .textWrap {
  margin-top: 3rem;
}

@media only screen and (max-width: 767px) {
  #exterior .spaceListWrap .spaceWrap .contentWrap .textWrap {
    margin-top: 1.5rem;
  }
}

#exterior .spaceListWrap .spaceWrap .contentWrap .btnWrap {
  margin-top: 3rem;
}

#exterior .pickupInteriorWrap {
  z-index: 2;
  position: relative;
  display: flex;
  margin: -6.5vw calc(50% - 50vw) 0;
  width: 100vw;
}

@media only screen and (max-width: 1023px) {
  #exterior .pickupInteriorWrap {
    display: block;
  }
}

@media only screen and (min-width: 768px) and (max-width: 1023px) {
  #exterior .pickupInteriorWrap {
    margin-top: -17rem;
  }
}

@media only screen and (max-width: 767px) {
  #exterior .pickupInteriorWrap {
    margin-top: -13.5rem;
  }
}

#exterior .pickupInteriorWrap .imageWrap {
  width: 50%;
}

@media only screen and (max-width: 1023px) {
  #exterior .pickupInteriorWrap .imageWrap {
    width: 100%;
  }
}

#exterior .pickupInteriorWrap .imageWrap .image {
  width: 100%;
  height: 100%;
  overflow: hidden;
}

@media only screen and (min-width: 768px) and (max-width: 1023px) {
  #exterior .pickupInteriorWrap .imageWrap .image {
    height: 28rem;
  }
}

#exterior .pickupInteriorWrap .imageWrap .image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: bottom;
}

#exterior .pickupInteriorWrap .contentWrap {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 4rem;
  width: 50%;
  background-image: url("../../images/lp/tree-box/space/bg_pickup.jpg");
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  box-sizing: border-box;
}

@media only screen and (min-width: 1280px) {
  #exterior .pickupInteriorWrap .contentWrap {
    padding: 0 6vw 0 7.96vw;
  }
}

@media only screen and (max-width: 1023px) {
  #exterior .pickupInteriorWrap .contentWrap {
    padding: 6rem 5%;
    width: 100%;
    text-align: center;
  }
}

#exterior .pickupInteriorWrap .contentWrap .titleWrap .title,
#exterior .pickupInteriorWrap .contentWrap .textWrap .text {
  color: #fff;
}

#exterior .pickupInteriorWrap .contentWrap .titleWrap .title {
  font-size: 2.8rem;
  font-weight: 300;
  line-height: 1.4;
}

@media only screen and (min-width: 1280px) {
  #exterior .pickupInteriorWrap .contentWrap .titleWrap .title {
    font-size: 3rem;
  }
}

#exterior .pickupInteriorWrap .contentWrap .textWrap {
  margin-top: 3rem;
  max-width: 50rem;
}

@media only screen and (max-width: 1023px) {
  #exterior .pickupInteriorWrap .contentWrap .textWrap {
    max-width: none;
  }
}

@media only screen and (max-width: 767px) {
  #exterior .pickupInteriorWrap .contentWrap .textWrap {
    margin-top: 2rem;
  }
}

#exterior .pickupInteriorWrap .contentWrap .textWrap .text {
  font-size: 1.5rem;
}

#space .sectionTitleWrap {
  margin-bottom: 6rem;
}

#interior .sectionContentWrap {
  margin-top: 4rem;
}

#interior .interiorGalleryWrap {
  position: relative;
}

#interior .interiorGalleryWrap .contentWrap .textWrap .text {
  font-size: 2.4rem;
  font-weight: 300;
}

#interior .interiorGalleryWrap .contentWrap .textWrap .text span {
  color: #ff6600;
}

#interior .interiorGalleryWrap .contentWrap .imageWrap .image img {
  width: 100%;
}

#interior .interiorGalleryWrap .contentWrap#interiorBg {
  z-index: -1;
  position: absolute;
  top: 24rem;
  left: 29.1%;
  display: block;
  width: 51.5%;
  height: 26.45vw;
  background-color: #f7f4ee;
}

@media only screen and (min-width: 768px) and (max-width: 1023px) {
  #interior .interiorGalleryWrap .contentWrap#interiorBg {
    top: 15rem;
  }
}

@media only screen and (max-width: 767px) {
  #interior .interiorGalleryWrap .contentWrap#interiorBg {
    top: 52vw;
    left: 10%;
    width: 79.41%;
    height: 52.8vw;
  }
}

#interior .interiorGalleryWrap .contentWrap#interior01 {
  z-index: 2;
  position: relative;
  float: left;
  width: 35.44%;
}

@media only screen and (max-width: 767px) {
  #interior .interiorGalleryWrap .contentWrap#interior01 {
    z-index: -1;
    left: -6%;
    width: 77.64%;
  }
}

#interior .interiorGalleryWrap .contentWrap#interior02 {
  z-index: 2;
  float: right;
  margin-top: 10.15%;
  margin-right: 9.7%;
  width: 50.97%;
}

@media only screen and (max-width: 767px) {
  #interior .interiorGalleryWrap .contentWrap#interior02 {
    z-index: 2;
    margin-top: -10.3%;
    margin-right: -6%;
    width: 79.41%;
  }
}

#interior .interiorGalleryWrap .contentWrap#interior03 {
  z-index: 2;
  position: relative;
  padding-top: 8%;
  display: flex;
  align-items: center;
  width: 100%;
}

@media only screen and (max-width: 767px) {
  #interior .interiorGalleryWrap .contentWrap#interior03 {
    flex-wrap: wrap;
  }
}

@media only screen and (max-width: 767px) {
  #interior .interiorGalleryWrap .contentWrap#interior03 .textWrap {
    width: 100%;
  }
}

#interior .interiorGalleryWrap .contentWrap#interior03 .imageWrap {
  position: absolute;
  right: calc(50% - 50vw);
  width: 63.73%;
}

@media only screen and (max-width: 767px) {
  #interior .interiorGalleryWrap .contentWrap#interior03 .imageWrap {
    position: relative;
    right: 0;
    margin-top: 3.5rem;
    width: 105vw;
  }
}

#interior .interiorGalleryWrap .contentWrap#interior03 .imageWrap .image {
  width: 100%;
}

@media only screen and (max-width: 767px) {
  #interior .interiorGalleryWrap .contentWrap#interior03 .imageWrap .image {
    width: 105vw;
  }
}

#interior .interiorGalleryWrap .contentWrap#interior04 {
  margin-top: 18.65%;
  width: 86%;
}

@media only screen and (max-width: 767px) {
  #interior .interiorGalleryWrap .contentWrap#interior04 {
    margin-left: -6%;
    width: 100.5vw;
  }
}

#interior .interiorGalleryWrap .contentWrap#interior05 {
  z-index: 2;
  position: relative;
  margin-top: 10%;
}

#interior .interiorGalleryWrap .contentWrap#interior05 .imageWrap {
  margin-left: auto;
  width: 42.31%;
}

@media only screen and (max-width: 767px) {
  #interior .interiorGalleryWrap .contentWrap#interior05 .imageWrap {
    margin-right: -6%;
    width: 47%;
  }
}

#interior .interiorGalleryWrap .contentWrap#interior06 {
  margin-top: -23.73%;
  width: 100%;
}

#interior .interiorGalleryWrap .contentWrap#interior06 .imageWrap {
  width: 62.68%;
}

@media only screen and (max-width: 767px) {
  #interior .interiorGalleryWrap .contentWrap#interior06 .imageWrap {
    margin-left: -6%;
    width: 69.11%;
  }
}

#dayAndNight {
  position: relative;
}

#dayAndNight::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 10vw;
  background-color: #ff6600;
}

@media only screen and (min-width: 1280px) {
  #dayAndNight::before {
    height: 13vw;
  }
}

@media only screen and (max-width: 1023px) {
  #dayAndNight::before {
    display: none;
  }
}

#dayAndNight .sectionInner {
  z-index: 2;
  position: relative;
}

@media only screen and (min-width: 1024px) {
  #dayAndNight .sectionInner {
    padding-bottom: 0;
  }
}

#dayAndNight .sectionTitleWrap + .sectionContentWrap {
  margin-top: 1.5rem;
}

#dayAndNight .dayAndNightWrap {
  display: flex;
  justify-content: flex-start;
  margin: 0 calc(50% - 50vw);
  width: 100vw;
}

@media only screen and (max-width: 1023px) {
  #dayAndNight .dayAndNightWrap {
    display: block;
  }
}

#dayAndNight .dayAndNightWrap .contentWrap {
  margin-top: 4vw;
  margin-left: 6.45vw;
  width: 25vw;
}

@media only screen and (min-width: 1280px) {
  #dayAndNight .dayAndNightWrap .contentWrap {
    margin-top: 8.85vw;
  }
}

@media only screen and (max-width: 1023px) {
  #dayAndNight .dayAndNightWrap .contentWrap {
    margin: 5% auto 0;
    width: 90%;
  }
}

#dayAndNight .dayAndNightWrap .contentWrap .titleWrap .title {
  font-size: 2.4rem;
  font-weight: 300;
  line-height: 1.5;
}

#dayAndNight .dayAndNightWrap .contentWrap .titleWrap .title span {
  color: #ff6600;
}

#dayAndNight .dayAndNightWrap .contentWrap .textWrap {
  margin-top: 3rem;
}

@media only screen and (max-width: 767px) {
  #dayAndNight .dayAndNightWrap .contentWrap .textWrap {
    margin-top: 2rem;
  }
}

#dayAndNight .dayAndNightWrap .imageWrap {
  position: relative;
  padding-bottom: 7.5rem;
  width: 60vw;
  overflow: hidden;
}

@media only screen and (max-width: 1023px) {
  #dayAndNight .dayAndNightWrap .imageWrap {
    width: 100%;
  }
}

#dayAndNight .dayAndNightWrap .imageWrap::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #ff6600;
}

@media only screen and (min-width: 1280px) {
  #dayAndNight .dayAndNightWrap .imageWrap::before {
    display: none;
  }
}

#vr {
  position: relative;
  background-color: #f7f4ee;
}

@media only screen and (max-width: 1023px) {
  #vr {
    background-color: transparent;
  }
}

#vr::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 42rem;
  background-color: #f7f4ee;
}

#vr .sectionInner {
  z-index: 2;
  position: relative;
}

#vr .sectionContentWrap {
  margin-top: 3.5rem;
}

@media only screen and (max-width: 767px) {
  #vr .sectionContentWrap {
    margin-top: 1.5rem;
  }
}

#vr .vrInfoWrap {
  position: relative;
  width: 100%;
}

#vr .vrInfoWrap .vrWrap {
  width: 100%;
}

@media only screen and (max-width: 767px) {
  #vr .vrInfoWrap .vrWrap {
    margin: 0 calc(50% - 50vw);
    width: 100vw;
  }
}

#vr .vrInfoWrap .vrWrap .vr {
  width: 100%;
}

@media only screen and (max-width: 767px) {
  #vr .vrInfoWrap .vrWrap .vr {
    height: 100%;
  }
}

#vr .vrInfoWrap .vrWrap .vr iframe {
  width: 100%;
  height: 44.06vw;
}

@media only screen and (max-width: 1023px) {
  #vr .vrInfoWrap .vrWrap .vr iframe {
    height: 52rem;
  }
}

#vr .vrInfoWrap .contentWrap {
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
}

@media only screen and (max-width: 767px) {
  #vr .vrInfoWrap .contentWrap {
    margin: 0 calc(50% - 50vw);
    width: 100vw;
  }
}

#vr .vrInfoWrap .contentWrap .bgWrap {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
}

#vr .vrInfoWrap .contentWrap .contentInner {
  z-index: 2;
  position: relative;
}

#vr .vrInfoWrap .contentWrap .titleWrap {
  text-align: center;
}

#vr .vrInfoWrap .contentWrap .titleWrap .title {
  font-size: 4rem;
  font-weight: 300;
  line-height: 1.6;
  color: #fff;
}

@media only screen and (max-width: 767px) {
  #vr .vrInfoWrap .contentWrap .titleWrap .title {
    font-size: 2.8rem;
  }
}

#vr .vrInfoWrap .contentWrap .titleWrap .title .minText {
  font-size: 3.2rem;
}

@media only screen and (max-width: 767px) {
  #vr .vrInfoWrap .contentWrap .titleWrap .title .minText {
    font-size: 2.1rem;
  }
}

#vr .vrInfoWrap .contentWrap .btnWrap {
  margin-top: 2.5rem;
  text-align: center;
}

#vr .vrInfoWrap .contentWrap .btnWrap .btn {
  width: 34rem;
  font-size: 1.8rem;
}

#vr .toMovieWrap {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 3rem;
}

@media only screen and (max-width: 767px) {
  #vr .toMovieWrap {
    display: block;
  }
}

@media only screen and (max-width: 767px) {
  #vr .toMovieWrap .textWrap {
    text-align: center;
  }
}

#vr .toMovieWrap .textWrap .text {
  position: relative;
  display: inline-block;
  font-size: 2.2rem;
  font-weight: 300;
}

@media only screen and (max-width: 767px) {
  #vr .toMovieWrap .textWrap .text::before, #vr .toMovieWrap .textWrap .text::after {
    content: "";
    position: absolute;
    top: 45%;
    width: 1px;
    height: 2.5rem;
    background-color: #333;
  }
  #vr .toMovieWrap .textWrap .text::before {
    left: -1.5rem;
    transform: scale(-1, 1) rotate(30deg) translateY(-50%);
  }
  #vr .toMovieWrap .textWrap .text::after {
    right: -1.5rem;
    transform: rotate(30deg) translateY(-50%);
  }
}

#vr .toMovieWrap .btnWrap {
  margin-left: 2.5rem;
}

@media only screen and (max-width: 767px) {
  #vr .toMovieWrap .btnWrap {
    margin: 0.5rem 0 0;
    text-align: center;
  }
}

#vr .toMovieWrap .btnWrap .btn {
  width: 34rem;
  font-size: 1.8rem;
}

.modalInner .movieWrap {
  width: 100%;
}

.modalInner .movieWrap .movie video {
  width: 100%;
}

.modalInner .layoutSampleWrap {
  margin-top: 7rem;
}

.modalInner .layoutSampleWrap > .titleWrap .title {
  font-size: 3.5rem;
}

.modalInner .layoutSampleWrap > .titleWrap .title:first-letter {
  color: #ff6600;
}

.modalInner .layoutSampleWrap > .contentWrap {
  margin-top: 2rem;
  padding: 4rem 5rem;
  width: 100%;
  background-color: #f9f9f9;
  box-sizing: border-box;
}

@media only screen and (max-width: 767px) {
  .modalInner .layoutSampleWrap > .contentWrap {
    padding: 3rem 5%;
  }
}

.modalInner .layoutSampleWrap .layoutList .layout {
  position: relative;
  margin-top: 9rem;
}

@media only screen and (max-width: 767px) {
  .modalInner .layoutSampleWrap .layoutList .layout {
    margin-top: 5rem;
  }
}

.modalInner .layoutSampleWrap .layoutList .layout:first-of-type {
  margin-top: 0;
}

.modalInner .layoutSampleWrap .layoutList .layout .imageWrap {
  width: 60%;
}

@media only screen and (max-width: 1023px) {
  .modalInner .layoutSampleWrap .layoutList .layout .imageWrap {
    width: 100%;
  }
}

.modalInner .layoutSampleWrap .layoutList .layout .imageWrap .image {
  width: 100%;
}

.modalInner .layoutSampleWrap .layoutList .layout .imageWrap .image img {
  width: 100%;
}

.modalInner .layoutSampleWrap .layoutList .layout .contentWrap {
  position: absolute;
  top: 0;
  width: 55%;
}

@media only screen and (min-width: 1280px) {
  .modalInner .layoutSampleWrap .layoutList .layout .contentWrap {
    width: 50%;
  }
}

@media only screen and (min-width: 1024px) {
  .modalInner .layoutSampleWrap .layoutList .layout .contentWrap {
    top: -2rem;
  }
}

@media only screen and (max-width: 1023px) {
  .modalInner .layoutSampleWrap .layoutList .layout .contentWrap {
    position: relative;
    width: 100%;
  }
}

@media only screen and (min-width: 768px) and (max-width: 1023px) {
  .modalInner .layoutSampleWrap .layoutList .layout .contentWrap {
    margin-top: 4rem;
  }
}

@media only screen and (max-width: 767px) {
  .modalInner .layoutSampleWrap .layoutList .layout .contentWrap {
    margin-top: 2.5rem;
  }
}

.modalInner .layoutSampleWrap .layoutList .layout .contentWrap .titleWrap .title {
  font-size: 2.7rem;
}

.modalInner .layoutSampleWrap .layoutList .layout .contentWrap .textWrap {
  margin-top: 1.5rem;
}

.modalInner .layoutSampleWrap .layoutList .layout .contentWrap .textWrap .text {
  font-size: 1.4rem;
  line-height: 1.7;
}

.modalInner .layoutSampleWrap .layoutList .layout:nth-of-type(odd) .contentWrap {
  right: 0;
}

.modalInner .layoutSampleWrap .layoutList .layout:nth-of-type(even) .imageWrap {
  margin-left: auto;
}

.modalInner .layoutSampleWrap .layoutList .layout:nth-of-type(even) .contentWrap {
  left: 0;
}

#point {
  position: relative;
}

#point::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 70%;
  background-color: #f7f4ee;
}

#point .sectionInner {
  z-index: 2;
  position: relative;
}

#point .sectionContentWrap {
  margin-top: 2rem;
}

#point .pointSliderWrap {
  margin-top: 10rem;
}

@media only screen and (min-width: 1280px) {
  #point .pointSliderWrap {
    margin-top: 3.5rem;
  }
}

@media only screen and (max-width: 767px) {
  #point .pointSliderWrap {
    margin-top: 3.5rem;
  }
}

#point .pointSliderWrap .pointSlider {
  position: relative;
}

#point .pointSliderWrap .pointSlider .slick-arrow {
  position: absolute;
  top: -8rem;
}

#point .pointSliderWrap .pointSlider .slick-arrow.prev {
  right: 8.5rem;
}

#point .pointSliderWrap .pointSlider .slick-arrow.next {
  right: 0;
}

#point .pointSliderWrap .pointSlider .slick-list {
  width: 95vw;
}

#point .pointSliderWrap .pointSlider .sliderItem {
  margin: 0 2rem;
  width: 30rem;
}

@media only screen and (min-width: 1280px) {
  #point .pointSliderWrap .pointSlider .sliderItem {
    width: 37.3rem;
  }
}

@media only screen and (max-width: 767px) {
  #point .pointSliderWrap .pointSlider .sliderItem {
    margin: 0 1rem;
    width: 25rem;
  }
}

#point .pointSliderWrap .pointSlider .sliderItem .imageWrap {
  width: 100%;
}

#point .pointSliderWrap .pointSlider .sliderItem .imageWrap .image img {
  width: 100%;
}

#point .pointSliderWrap .pointSlider .sliderItem .contentWrap {
  margin-top: 2rem;
}

#point .pointSliderWrap .pointSlider .sliderItem .contentWrap .titleWrap .catchText {
  margin-bottom: 1rem;
  font-size: 1.6rem;
  color: #828282;
}

@media only screen and (max-width: 767px) {
  #point .pointSliderWrap .pointSlider .sliderItem .contentWrap .titleWrap .catchText {
    margin-bottom: 0.7rem;
    font-size: 1.4rem;
  }
}

#point .pointSliderWrap .pointSlider .sliderItem .contentWrap .titleWrap .title {
  font-size: 3.2rem;
  font-weight: 300;
}

@media only screen and (max-width: 767px) {
  #point .pointSliderWrap .pointSlider .sliderItem .contentWrap .titleWrap .title {
    font-size: 2.4rem;
  }
}

#point .pointSliderWrap .pointSlider .sliderItem .contentWrap .titleWrap .title::first-letter {
  color: #ff6600;
}

#point .meritSliderWrap {
  margin: 20rem calc(50% - 50vw) 0;
  width: 100vw;
}

@media only screen and (min-width: 768px) and (max-width: 1023px) {
  #point .meritSliderWrap {
    margin-top: 15rem;
  }
}

@media only screen and (max-width: 767px) {
  #point .meritSliderWrap {
    margin-top: 13rem;
  }
}

#point .meritSliderWrap .meritSlider .sliderItem {
  margin: 0 5rem;
  width: 35.5rem;
}

@media only screen and (max-width: 767px) {
  #point .meritSliderWrap .meritSlider .sliderItem {
    margin: 0 1.5rem;
    width: 90vw;
  }
}

#point .meritSliderWrap .meritSlider .sliderItem.slick-current .contentWrap {
  display: flex;
}

#point .meritSliderWrap .meritSlider .sliderItem .imageWrap {
  margin: 0 auto;
  width: 80%;
  border: 2px solid #ebebeb;
  border-radius: 50%;
  background-color: #fff;
  overflow: hidden;
}

@media only screen and (max-width: 1023px) {
  #point .meritSliderWrap .meritSlider .sliderItem .imageWrap {
    width: 25rem;
  }
}

#point .meritSliderWrap .meritSlider .sliderItem .imageWrap .image {
  width: 100%;
}

#point .meritSliderWrap .meritSlider .sliderItem .imageWrap .image img {
  width: 100%;
}

#point .meritSliderWrap .meritSlider .sliderItem .contentWrap {
  display: none;
  flex-direction: column;
  justify-content: center;
  margin-top: 3.5rem;
  min-height: 10em;
}

@media only screen and (max-width: 767px) {
  #point .meritSliderWrap .meritSlider .sliderItem .contentWrap {
    margin-top: 2rem;
    min-height: 7em;
  }
}

#point .meritSliderWrap .meritSlider .sliderItem .contentWrap .titleWrap {
  text-align: center;
}

#point .meritSliderWrap .meritSlider .sliderItem .contentWrap .titleWrap .title {
  font-size: 3.6rem;
  font-family: "Hannnari", serif;
}

@media only screen and (max-width: 767px) {
  #point .meritSliderWrap .meritSlider .sliderItem .contentWrap .titleWrap .title {
    font-size: 2.8rem;
  }
}

#point .meritSliderWrap .meritSlider .sliderItem .contentWrap .titleWrap .title::first-letter {
  color: #ff6600;
}

#point .meritSliderWrap .meritSlider .sliderItem .contentWrap .textWrap {
  margin-top: 2rem;
  text-align: center;
}

@media only screen and (max-width: 767px) {
  #point .meritSliderWrap .meritSlider .sliderItem .contentWrap .textWrap {
    margin-top: 1rem;
  }
}

#point .meritSliderWrap .meritSlider .sliderItem .contentWrap .textWrap .text {
  font-size: 1.4rem;
  line-height: 2.1;
}

#point .meritSliderWrap .meritSlider .slick-arrow {
  position: absolute;
  top: 42rem;
}

@media only screen and (min-width: 1280px) {
  #point .meritSliderWrap .meritSlider .slick-arrow {
    top: 77%;
  }
}

@media only screen and (min-width: 768px) and (max-width: 1023px) {
  #point .meritSliderWrap .meritSlider .slick-arrow {
    top: 37rem;
  }
}

@media only screen and (max-width: 767px) {
  #point .meritSliderWrap .meritSlider .slick-arrow {
    top: 34rem;
  }
}

#point .meritSliderWrap .meritSlider .slick-arrow.prev {
  left: 25%;
}

@media only screen and (min-width: 1280px) {
  #point .meritSliderWrap .meritSlider .slick-arrow.prev {
    left: calc(58vw - 45rem);
  }
}

@media only screen and (min-width: 768px) and (max-width: 1023px) {
  #point .meritSliderWrap .meritSlider .slick-arrow.prev {
    left: 13%;
  }
}

@media only screen and (max-width: 767px) {
  #point .meritSliderWrap .meritSlider .slick-arrow.prev {
    left: 2%;
  }
}

#point .meritSliderWrap .meritSlider .slick-arrow.next {
  right: 25%;
}

@media only screen and (min-width: 1280px) {
  #point .meritSliderWrap .meritSlider .slick-arrow.next {
    right: calc(58vw - 45rem);
  }
}

@media only screen and (min-width: 768px) and (max-width: 1023px) {
  #point .meritSliderWrap .meritSlider .slick-arrow.next {
    right: 13%;
  }
}

@media only screen and (max-width: 767px) {
  #point .meritSliderWrap .meritSlider .slick-arrow.next {
    right: 2%;
  }
}

#product .sectionContentWrap {
  display: flex;
}

@media only screen and (max-width: 1023px) {
  #product .sectionContentWrap {
    display: block;
  }
}

#product .sectionContentWrap .thumbnailWrap {
  flex: none;
  position: relative;
  width: 34.14vw;
  max-width: 54rem;
}

@media only screen and (min-width: 1280px) {
  #product .sectionContentWrap .thumbnailWrap {
    width: 28.12vw;
  }
}

@media only screen and (max-width: 1023px) {
  #product .sectionContentWrap .thumbnailWrap {
    width: 100%;
    max-width: none;
  }
}

@media only screen and (min-width: 768px) and (max-width: 1023px) {
  #product .sectionContentWrap .thumbnailWrap {
    height: 111.41vw;
  }
}

@media only screen and (max-width: 767px) {
  #product .sectionContentWrap .thumbnailWrap {
    height: 123.54vw;
  }
}

#product .sectionContentWrap .thumbnailWrap .outerWallThumbWrap {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
}

#product .sectionContentWrap .thumbnailWrap .thumbnailSliderWrap {
  width: 100%;
}

#product .sectionContentWrap .thumbnailWrap .thumbnailSliderWrap .thumbnailSlider {
  position: relative;
  width: 100%;
  border: 2px solid #e8e8e8;
}

@media only screen and (min-width: 1024px) {
  #product .sectionContentWrap .thumbnailWrap .thumbnailSliderWrap .thumbnailSlider:hover .slick-arrow {
    opacity: 1;
  }
}

#product .sectionContentWrap .thumbnailWrap .thumbnailSliderWrap .thumbnailSlider .slick-arrow {
  background-color: #f7f4ee;
  border-color: #f7f4ee;
}

@media only screen and (min-width: 1024px) {
  #product .sectionContentWrap .thumbnailWrap .thumbnailSliderWrap .thumbnailSlider .slick-arrow:hover {
    background-color: #ff6600;
    border-color: #ff6600;
  }
}

#product .sectionContentWrap .thumbnailWrap .thumbnailSliderWrap .thumbnailSlider .image {
  display: flex;
  align-items: center;
  width: 100%;
}

#product .sectionContentWrap .thumbnailWrap .thumbnailSliderWrap .thumbnailSlider .image img {
  width: 100%;
}

#product .sectionContentWrap .thumbnailWrap .thumbnailSliderWrap .thumbnailSlider .slick-arrow {
  position: absolute;
  top: 45%;
  transition-property: all;
  transition-duration: 0.5s;
  transition-timing-function: ease;
  transition-delay: 0s;
}

@media only screen and (min-width: 1024px) {
  #product .sectionContentWrap .thumbnailWrap .thumbnailSliderWrap .thumbnailSlider .slick-arrow {
    opacity: 0;
  }
}

#product .sectionContentWrap .thumbnailWrap .thumbnailSliderWrap .thumbnailSlider .slick-arrow.prev {
  left: -5.5%;
}

#product .sectionContentWrap .thumbnailWrap .thumbnailSliderWrap .thumbnailSlider .slick-arrow.next {
  right: -5.5%;
}

#product .sectionContentWrap .thumbnailWrap .thumbnailNavSliderWrap {
  margin-top: 2.5rem;
}

#product .sectionContentWrap .thumbnailWrap .thumbnailNavSliderWrap .thumbnailNavSlider .image {
  display: flex;
  align-items: center;
  margin-right: 0.6rem;
  width: 5.05vw;
  max-width: 9.7rem;
  border: 2px solid #e8e8e8;
  box-sizing: border-box;
}

@media only screen and (max-width: 1023px) {
  #product .sectionContentWrap .thumbnailWrap .thumbnailNavSliderWrap .thumbnailNavSlider .image {
    max-width: none;
  }
}

@media only screen and (min-width: 768px) and (max-width: 1023px) {
  #product .sectionContentWrap .thumbnailWrap .thumbnailNavSliderWrap .thumbnailNavSlider .image {
    width: 16.92vw;
  }
}

@media only screen and (max-width: 767px) {
  #product .sectionContentWrap .thumbnailWrap .thumbnailNavSliderWrap .thumbnailNavSlider .image {
    width: 28vw;
  }
}

#product .sectionContentWrap .thumbnailWrap .thumbnailNavSliderWrap .thumbnailNavSlider .image.slick-current {
  border-color: #ff6600;
}

#product .sectionContentWrap .thumbnailWrap .thumbnailNavSliderWrap .thumbnailNavSlider .image img {
  width: 100%;
}

#product .sectionContentWrap .productInfoWrap {
  margin-top: 7rem;
  margin-left: 9.5rem;
  width: calc(100% - 34.14vw);
  max-width: calc(100% - 56.5rem);
}

@media only screen and (min-width: 1280px) {
  #product .sectionContentWrap .productInfoWrap {
    width: calc(100% - 28.12vw);
  }
}

@media only screen and (max-width: 1023px) {
  #product .sectionContentWrap .productInfoWrap {
    margin: 4rem 0 0;
    width: 100%;
    max-width: none;
  }
}

#product .sectionContentWrap .productInfoWrap .selectWrap {
  margin-top: 1.5rem;
  display: flex;
  flex-wrap: wrap;
  width: 90%;
  min-width: 360px;
}

@media only screen and (max-width: 1023px) {
  #product .sectionContentWrap .productInfoWrap .selectWrap {
    width: 100%;
    min-width: none;
  }
}

#product .sectionContentWrap .productInfoWrap .selectWrap input {
  display: none;
}

#product .sectionContentWrap .productInfoWrap .selectWrap input:checked + label .selectLabel {
  border-color: #ff6600;
}

#product .sectionContentWrap .productInfoWrap .selectWrap label {
  margin-top: 1rem;
  margin-right: 1.5rem;
}

@media only screen and (min-width: 768px) and (max-width: 1023px) {
  #product .sectionContentWrap .productInfoWrap .selectWrap label {
    margin-top: 0;
  }
}

#product .sectionContentWrap .productInfoWrap .selectWrap label:nth-of-type(-n + 3) {
  margin-top: 0;
}

#product .sectionContentWrap .productInfoWrap .selectWrap label:nth-of-type(3n) {
  margin-right: 0;
}

@media only screen and (min-width: 768px) and (max-width: 1023px) {
  #product .sectionContentWrap .productInfoWrap .selectWrap label:nth-of-type(3n) {
    margin-right: 1.5rem;
  }
}

#product .sectionContentWrap .productInfoWrap .selectWrap label:last-of-type {
  margin-right: 0;
}

#product .sectionContentWrap .productInfoWrap .selectWrap label .selectLabel {
  display: flex;
  align-items: center;
  padding: 1rem;
  border: 2px solid #c8c8c8;
  border-radius: 0.5rem;
  box-sizing: border-box;
}

#product .sectionContentWrap .productInfoWrap .selectWrap label .selectLabel .color {
  margin-right: 0.7rem;
  width: 2.2rem;
  height: 2.2rem;
  border-radius: 0.5rem;
  box-sizing: border-box;
}

#product .sectionContentWrap .productInfoWrap .selectWrap label .selectLabel .text {
  font-size: 1.4rem;
}

#product .sectionContentWrap .productInfoWrap .selectWrap label[for="outerWallSelect_sugi"] .selectLabel .color {
  background-color: #937a5a;
}

#product .sectionContentWrap .productInfoWrap .selectWrap label[for="outerWallSelect_keinen"] .selectLabel .color {
  background-color: #99938d;
}

#product .sectionContentWrap .productInfoWrap .titleAndTextWrap .titleWrap .title {
  font-size: 3.6rem;
  font-weight: 300;
}

#product .sectionContentWrap .productInfoWrap .titleAndTextWrap .textWrap {
  margin-top: 2rem;
}

#product .sectionContentWrap .productInfoWrap .titleAndTextWrap .textWrap .text {
  line-height: 1.8;
}

#product .sectionContentWrap .productInfoWrap .titleAndTextWrap .priceWrap {
  margin-top: 3rem;
}

#product .sectionContentWrap .productInfoWrap .titleAndTextWrap .priceWrap .price {
  display: flex;
  align-items: flex-end;
}

#product .sectionContentWrap .productInfoWrap .titleAndTextWrap .priceWrap .price dt,
#product .sectionContentWrap .productInfoWrap .titleAndTextWrap .priceWrap .price dd {
  font-size: 2.2rem;
  font-weight: 300;
}

#product .sectionContentWrap .productInfoWrap .titleAndTextWrap .priceWrap .price dt {
  padding-bottom: 0.1em;
}

#product .sectionContentWrap .productInfoWrap .titleAndTextWrap .priceWrap .price dd {
  margin-left: 1.5rem;
}

#product .sectionContentWrap .productInfoWrap .titleAndTextWrap .priceWrap .price dd .priceNum {
  font-size: 3.6rem;
}

#product .sectionContentWrap .productInfoWrap .titleAndTextWrap .priceWrap .note {
  margin-top: 1.5rem;
  font-size: 1.4rem;
  color: #c4c4c4;
}

#product .sectionContentWrap .productInfoWrap .floorAreaDlListWrap {
  margin-top: 5.5rem;
}

#product .sectionContentWrap .productInfoWrap .floorAreaDlListWrap .floorAreaDlList dl {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 2rem 0;
  border-top: 1px solid #e8e8e8;
}

#product .sectionContentWrap .productInfoWrap .floorAreaDlListWrap .floorAreaDlList dl:first-of-type {
  padding-top: 0;
  border-top: none;
}

#product .sectionContentWrap .productInfoWrap .floorAreaDlListWrap .floorAreaDlList dl dt {
  width: 60%;
}

#product .sectionContentWrap .productInfoWrap .floorAreaDlListWrap .floorAreaDlList dl dd {
  width: 40%;
}

#gallery .galleryWrap {
  width: 80.5vw;
  max-width: 140rem;
}

@media only screen and (max-width: 1023px) {
  #gallery .galleryWrap {
    max-width: none;
  }
}

@media only screen and (min-width: 768px) and (max-width: 1023px) {
  #gallery .galleryWrap {
    width: calc(100vw - 5%);
  }
}

@media only screen and (max-width: 767px) {
  #gallery .galleryWrap {
    width: 87vw;
  }
}

#gallery .galleryWrap .photo {
  width: 100%;
}

#gallery .galleryWrap .photo img {
  width: 100%;
}

#contact > .inner {
  max-width: 80rem;
}

#contact .sectionTitleWrap {
  display: block;
}

#contact .sectionTitleWrap .logoWrap {
  margin-bottom: 4rem;
}

#contact .sectionTitleWrap .logoWrap .logo {
  margin: 0 auto;
  width: 26rem;
}

#contact .sectionTitleWrap .logoWrap .logo img {
  width: 100%;
}

#contact .sectionTitleWrap .sectionTitle {
  font-family: "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Helvetica", "Arial", "Hiragino Sans", "ヒラギノ角ゴシック", "游ゴシック", "游ゴシック体", "Yu Gothic", YuGothic, "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

#contact .accessWrap {
  display: flex;
  justify-content: center;
}

#contact .accessWrap .accessInner {
  position: relative;
  padding: 2rem 5.5rem;
  border: 1px solid #707070;
}

@media only screen and (max-width: 767px) {
  #contact .accessWrap .accessInner {
    width: 100%;
    box-sizing: border-box;
  }
}

#contact .accessWrap .accessInner::before, #contact .accessWrap .accessInner::after {
  content: "";
  position: absolute;
  left: 50%;
  width: calc(100% - 5rem);
  height: 4px;
  background-color: #fff;
  transform: translateX(-50%);
}

#contact .accessWrap .accessInner::before {
  top: -2px;
}

#contact .accessWrap .accessInner::after {
  bottom: -2px;
}

#contact .accessWrap .accessInner dl {
  display: flex;
  align-items: center;
}

@media only screen and (max-width: 767px) {
  #contact .accessWrap .accessInner dl {
    display: block;
  }
}

#contact .accessWrap .accessInner dl dt,
#contact .accessWrap .accessInner dl dd {
  font-size: 1.6rem;
  line-height: 1.6;
}

@media only screen and (max-width: 767px) {
  #contact .accessWrap .accessInner dl dt {
    text-align: center;
  }
}

#contact .accessWrap .accessInner dl dd {
  margin-left: 2rem;
  padding-left: 2rem;
  border-left: 1px solid #e8e8e8;
}

@media only screen and (max-width: 767px) {
  #contact .accessWrap .accessInner dl dd {
    display: flex;
    justify-content: center;
    margin: 1rem 0 0;
    padding: 1rem 0 0;
    border-top: 1px solid #e8e8e8;
    border-left: 0;
  }
}

#contact .accessWrap .text {
  font-size: 1.6rem;
  line-height: 1.8;
}

#contact .accessWrap + #measures {
  margin-top: 8rem;
}

#contact #measures + #form {
  margin-top: 8rem;
}

#contact .formWrap {
  margin: 0 auto;
}

#contact .formWrap dl {
  display: flex;
  margin-top: 4rem;
}

@media only screen and (max-width: 767px) {
  #contact .formWrap dl {
    display: block;
  }
}

#contact .formWrap dl:first-of-type {
  margin-top: 0;
}

#contact .formWrap dl dt {
  padding-top: 1rem;
  width: 30%;
  font-size: 1.4rem;
  line-height: 1.5;
}

@media only screen and (max-width: 767px) {
  #contact .formWrap dl dt {
    padding: 0;
    width: 100%;
    font-size: 1.6rem;
  }
}

#contact .formWrap dl dt .req {
  display: inline-block;
  margin-left: 1.5rem;
  padding: 0.2rem 0.7rem;
  font-size: 1.2rem;
  color: #fff;
  border-radius: 0.4rem;
  background-color: #ff6600;
}

#contact .formWrap dl dd {
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 70%;
  font-size: 1.3rem;
}

@media only screen and (max-width: 767px) {
  #contact .formWrap dl dd {
    margin-top: 1.5rem;
    width: 100%;
    font-size: 1.5rem;
  }
}

#contact .formWrap dl dd .wpcf7-list-item {
  margin: 0;
}

#contact .formWrap dl dd .text {
  margin-bottom: 2rem;
  font-size: 1.4rem;
  line-height: 1.5;
}

#contact .formWrap dl dd input[type="text"],
#contact .formWrap dl dd input[type="tel"],
#contact .formWrap dl dd input[type="email"],
#contact .formWrap dl dd input[type="date"],
#contact .formWrap dl dd select,
#contact .formWrap dl dd textarea {
  padding: 1.5rem;
  border: none;
  border-radius: 0.5rem;
  background-color: #efefef;
  box-sizing: border-box;
  outline-color: #ff6600;
  appearance: none;
}

#contact .formWrap dl dd input[type="text"]::placeholder,
#contact .formWrap dl dd input[type="tel"]::placeholder,
#contact .formWrap dl dd input[type="email"]::placeholder,
#contact .formWrap dl dd input[type="date"]::placeholder,
#contact .formWrap dl dd select::placeholder,
#contact .formWrap dl dd textarea::placeholder {
  color: #808080;
}

#contact .formWrap dl dd input[type="text"].w-100,
#contact .formWrap dl dd input[type="tel"].w-100,
#contact .formWrap dl dd input[type="email"].w-100,
#contact .formWrap dl dd input[type="date"].w-100,
#contact .formWrap dl dd select.w-100,
#contact .formWrap dl dd textarea.w-100 {
  width: 100%;
}

#contact .formWrap dl dd .selectBox {
  position: relative;
}

#contact .formWrap dl dd .selectBox::before {
  content: "";
  position: absolute;
  top: 37%;
  right: 1.65rem;
  width: 0.5rem;
  height: 0.5rem;
  border-top: 2px solid #333;
  border-right: 2px solid #333;
  transform: rotate(135deg) translateY(-50%);
}

#contact .formWrap dl dd .selectBox select {
  padding: 1.65rem 3.5rem 1.65rem 1.5rem;
}

#contact .formWrap dl dd .selectBox select::-ms-expand {
  display: none;
}

#contact .formWrap dl dd input[type="checkbox"] {
  display: none;
}

#contact .formWrap dl dd input[type="checkbox"]:checked + span::after {
  opacity: 1;
}

#contact .formWrap dl dd input[type="checkbox"] + span {
  position: relative;
  margin-top: 1.3rem;
  padding-left: 3rem;
  display: inline-block;
  font-size: 1.3rem;
}

@media only screen and (max-width: 767px) {
  #contact .formWrap dl dd input[type="checkbox"] + span {
    font-size: 1.5rem;
  }
}

#contact .formWrap dl dd input[type="checkbox"] + span::before, #contact .formWrap dl dd input[type="checkbox"] + span::after {
  content: "";
  position: absolute;
}

#contact .formWrap dl dd input[type="checkbox"] + span::before {
  top: 50%;
  left: 0;
  width: 2rem;
  height: 2rem;
  border: 1px solid #aaa;
  border-radius: 0.5rem;
  transform: translateY(-50%);
}

#contact .formWrap dl dd input[type="checkbox"] + span::after {
  top: 0.1rem;
  left: 0.5rem;
  width: 1rem;
  height: 0.5rem;
  border-bottom: 2px solid #ff6600;
  border-left: 2px solid #ff6600;
  transform: rotate(-45deg);
  opacity: 0;
}

#contact .formWrap dl dd ul li {
  display: flex;
  align-items: center;
  margin-top: 1rem;
}

@media only screen and (max-width: 1023px) {
  #contact .formWrap dl dd ul li {
    flex-wrap: wrap;
    margin-top: 3rem;
  }
}

#contact .formWrap dl dd ul li:first-of-type {
  margin-top: 0;
}

#contact .formWrap dl dd ul li .text {
  margin-right: 2rem;
  width: 15%;
  font-size: 1.4rem;
}

@media only screen and (max-width: 1023px) {
  #contact .formWrap dl dd ul li .text {
    margin-bottom: 1.5rem;
    width: 100%;
    font-size: 1.6rem;
  }
}

#contact .formWrap dl dd ul li input {
  width: 45%;
}

#contact .formWrap dl dd ul li .selectBox {
  margin-left: 1.5rem;
  width: 35%;
}

@media only screen and (max-width: 767px) {
  #contact .formWrap dl dd ul li .selectBox {
    width: 41%;
  }
}

#contact .formWrap dl dd ul li .selectBox select {
  width: 100%;
}

#contact .formWrap dl dd .note {
  margin-top: 1rem;
  margin-left: 1.5rem;
  font-size: 1rem;
  line-height: 2;
  color: #808080;
}

@media only screen and (max-width: 767px) {
  #contact .formWrap dl dd .note {
    margin-left: 0;
    font-size: 1.2rem;
  }
}

#contact .formWrap dl dd .wpcf7-not-valid-tip {
  margin-top: 1rem;
}

#contact .formWrap dl dd .error {
  margin-top: 1rem;
}

#contact .formWrap .textWrap {
  margin-top: 3rem;
}

#contact .formWrap .textWrap .text {
  font-size: 1.3rem;
  line-height: 1.8;
}

@media only screen and (max-width: 767px) {
  #contact .formWrap .textWrap .text {
    font-size: 1.5rem;
  }
}

#contact .formWrap .btnWrap {
  margin-top: 2.5rem;
  text-align: center;
}

#contact .formWrap .btnWrap .btn {
  padding: 2rem;
  width: 38.5rem;
  font-size: 1.4rem;
  box-sizing: border-box;
  -webkit-appearance: none;
}

@media only screen and (max-width: 767px) {
  #contact .formWrap .btnWrap .btn {
    width: 100%;
    font-size: 1.6rem;
  }
}

#footContactNav {
  margin: 4rem calc(50% - 50vw) 0;
  width: 100vw;
}

#footContactNav .footContactNavListWrap .footContactNavList {
  display: flex;
}

@media only screen and (max-width: 1023px) {
  #footContactNav .footContactNavListWrap .footContactNavList {
    flex-wrap: wrap;
  }
}

#footContactNav .footContactNavListWrap .footContactNavList.column2 .footContactNav {
  width: 50%;
}

@media only screen and (max-width: 767px) {
  #footContactNav .footContactNavListWrap .footContactNavList.column2 .footContactNav {
    width: 100%;
  }
}

#footContactNav .footContactNavListWrap .footContactNavList.column3 .footContactNav {
  width: calc(100% / 3);
  box-sizing: border-box;
}

@media only screen and (min-width: 768px) and (max-width: 1023px) {
  #footContactNav .footContactNavListWrap .footContactNavList.column3 .footContactNav {
    width: 50%;
  }
}

@media only screen and (max-width: 767px) {
  #footContactNav .footContactNavListWrap .footContactNavList.column3 .footContactNav {
    width: 100%;
  }
}

#footContactNav .footContactNavListWrap .footContactNavList .footContactNav {
  position: relative;
}

#footContactNav .footContactNavListWrap .footContactNavList .footContactNav:first-of-type::before {
  display: none;
}

#footContactNav .footContactNavListWrap .footContactNavList .footContactNav::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 1px;
  height: 70%;
  background-color: #c7c7c7;
  transform: translateY(-50%);
}

@media only screen and (max-width: 767px) {
  #footContactNav .footContactNavListWrap .footContactNavList .footContactNav::before {
    top: 0;
    left: 50%;
    width: 90%;
    height: 1px;
    transform: translateX(-50%);
  }
}

#footContactNav .footContactNavListWrap .footContactNavList .footContactNav a {
  display: flex;
  padding: 4.1vw;
  height: 100%;
  box-sizing: border-box;
}

@media only screen and (min-width: 1280px) {
  #footContactNav .footContactNavListWrap .footContactNavList .footContactNav a {
    padding: 5.2vw;
  }
}

@media only screen and (max-width: 1023px) {
  #footContactNav .footContactNavListWrap .footContactNavList .footContactNav a {
    padding: 3rem;
  }
}

@media only screen and (max-width: 767px) {
  #footContactNav .footContactNavListWrap .footContactNavList .footContactNav a {
    padding-right: 5%;
    padding-left: 5%;
  }
}

#footContactNav .footContactNavListWrap .footContactNavList .footContactNav .iconWrap .icon img {
  width: 100%;
}

#footContactNav .footContactNavListWrap .footContactNavList .footContactNav .titleWrap .title {
  font-size: 2.8rem;
  font-weight: 300;
  line-height: 1.3;
}

@media only screen and (min-width: 1280px) {
  #footContactNav .footContactNavListWrap .footContactNavList .footContactNav .titleWrap .title {
    font-size: 3.6rem;
  }
}

#footContactNav .footContactNavListWrap .footContactNavList .footContactNav .textWrap {
  margin-top: 1rem;
}

#footContactNav .footContactNavListWrap .footContactNavList .footContactNav .textWrap .text {
  font-size: 1.4rem;
  line-height: 1.4;
}

@media only screen and (max-width: 1023px) {
  #footContactNav .footContactNavListWrap .footContactNavList .footContactNav .textWrap .text {
    display: inline;
  }
}

#footContactNav .footContactNavListWrap .footContactNavList .footContactNav.contact a {
  align-items: center;
  justify-content: center;
}

#footContactNav .footContactNavListWrap .footContactNavList .footContactNav.contact .iconWrap {
  margin-right: 1.5rem;
}

@media only screen and (max-width: 1023px) {
  #footContactNav .footContactNavListWrap .footContactNavList .footContactNav.contact .iconWrap {
    margin-right: 1rem;
  }
}

#footContactNav .footContactNavListWrap .footContactNavList .footContactNav.contact .iconWrap .icon {
  width: 3.64vw;
}

@media only screen and (min-width: 768px) and (max-width: 1023px) {
  #footContactNav .footContactNavListWrap .footContactNavList .footContactNav.contact .iconWrap .icon {
    width: 5rem;
  }
}

@media only screen and (max-width: 767px) {
  #footContactNav .footContactNavListWrap .footContactNavList .footContactNav.contact .iconWrap .icon {
    width: 4rem;
  }
}

#footContactNav .footContactNavListWrap .footContactNavList .footContactNav.tel a {
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

#footContactNav .footContactNavListWrap .footContactNavList .footContactNav.tel .telNumWrap {
  display: flex;
  align-items: center;
}

#footContactNav .footContactNavListWrap .footContactNavList .footContactNav.tel .iconWrap {
  margin-right: 0.5rem;
  padding-top: 0.5rem;
}

#footContactNav .footContactNavListWrap .footContactNavList .footContactNav.tel .iconWrap .icon {
  width: 2.8rem;
}

#footContactNav .footContactNavListWrap .footContactNavList .footContactNav.tel .textWrap .text {
  justify-content: center;
}

.cd-image-container {
  position: relative;
  width: 100%;
  margin: 0;
}

.cd-image-container img {
  display: block;
  width: 100%;
}

.cd-resize-img {
  position: absolute;
  top: 0;
  left: 0;
  width: 50%;
  height: 100%;
  overflow: hidden;
  transform: translateZ(0);
  backface-visibility: hidden;
}

.cd-resize-img img {
  position: absolute;
  left: 0;
  top: 0;
  display: block;
  height: 100%;
  width: auto;
  max-width: none;
}

.cd-resize-img .cd-image-label {
  right: auto;
  left: 0;
}

.is-visible .cd-resize-img {
  width: 50%;
  animation: cd-bounce-in 0.7s;
}

@keyframes cd-bounce-in {
  0% {
    width: 0;
  }
  60% {
    width: 55%;
  }
  100% {
    width: 50%;
  }
}

.cd-separator {
  position: absolute;
  top: 0;
  left: 50%;
  width: 1px;
  height: calc(100% + 7.5rem);
  background-color: #fff;
}

.cd-handle {
  position: absolute;
  height: 4.4rem;
  width: 4.4rem;
  bottom: -6rem;
  left: 50%;
  margin-left: -2.2rem;
  margin-top: -2.2rem;
  border-radius: 50%;
  border: 1px solid #fff;
  cursor: ew-resize;
}

.cd-handle::before, .cd-handle::after {
  content: "";
  position: absolute;
  top: 50%;
  width: 0.5rem;
  height: 0.5rem;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
}

.cd-handle::before {
  left: 0.8rem;
  transform: rotate(45deg) translateY(-50%) scale(-1);
}

.cd-handle::after {
  right: 1.3rem;
  transform: rotate(45deg) translateY(-50%);
}

.is-visible .cd-handle {
  opacity: 1;
  transform: translate3d(0, 0, 0) scale(1);
  transition: transform 0.3s 0.7s, opacity 0s 0.7s;
}

.cd-handle .cd-handle-label {
  position: absolute;
  top: 50%;
  font-size: 1.8rem;
  color: #fff;
  transform: translateY(-50%);
}

.cd-handle .cd-handle-label.day {
  left: -2.5em;
}

.cd-handle .cd-handle-label.night {
  right: -3.7em;
}
