/*-------------------------------
---.section_title
-------------------------------*/

.section_title .subject {
  font-size: 4rem;
  font-weight: 500;
  color: #A53C14;
  line-height: 1.2;
}

.section_title .subtitle {
  font-size: revert;
  font-weight: normal;
  color: var(--text-color);
}


/*-------------------------------
---#reservation_btn
-------------------------------*/

#reservation_btn {
  background-color: #A53C14;
}

#reservation_btn .visible_contents {
  width: 27.5rem;
}

#reservation_btn .hide_contents {
  padding: 1.5rem 2rem;
}

#reservation_btn .hide_contents .contents_inner {
  display: grid;
  grid-template-columns: 12.5rem 36rem;
  align-items: end;
  grid-gap: 2.5rem;
}

@media (hover: hover) and (pointer: fine) {
  #reservation_btn:hover .visible_contents {
    display: none;
  }
}


/*-------------------------------
---#pagetop
-------------------------------*/

#pagetop .general {
  background-color: #A53C14;
}

#pagetop:hover .general {
  background-color: #D04A19;
}

#pagetop .general .arrow {
  font-size: 2rem;
}

#pagetop .general .arrow::before {
  content: '\f062';
}

#pagetop .general .arrow i {
  display: none;
}

#pagetop .general .pagetop_txt {
  display: none !important;
}


/*-------------------------------
---.page-hero
-------------------------------*/

.page-hero .section_inner {
  position: relative;
}

.page-hero .page-title {
  position: absolute;
  top: calc(50% + 7.5%);
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  display: grid;
  grid-template-columns: 1fr;
  grid-auto-rows: max-content;
  grid-gap: 0.15em;
  width: 90%;
  font-size: 6.35rem;
  font-size: clamp(3.6rem, calc((48 / 768) * 100vw), 6.35rem);
  color: #fff;
  line-height: 1;
  text-align: center;
  text-shadow: 0 0 0.35em rgba(0, 0, 0, 0.8);
}

.page-hero .page-title .en_title span {
  display: inline-block;
  padding-left: 0.15em;
  padding-right: 0.15em;
}

.page-hero .page-title .jp_title {
  font-size: max(1.4rem, 0.35em);
}

.page-hero .video_container {
  width: 100%;
  height: max(35rem, 33.3vw);
}

.page-hero .bg_video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}


/*-------------------------------
---.summary
-------------------------------*/

.summary {
  margin-top: 12rem;
  margin-bottom: 18rem;
}

.summary .section_inner {
  display: grid;
  grid-template-columns: 1fr 2fr;
  grid-auto-rows: max-content;
  align-items: flex-end;
}

.summary .lead_copy {
  margin-top: 3rem;
}


/*-------------------------------
---.facility-feature
-------------------------------*/

.facility-feature {
  margin-bottom: 13.5rem;
}

.facility-feature .section_title {
  margin-bottom: 0;
}

.facility-feature .list_feature {
  display: grid;
  grid-template-columns: 100%;
  grid-auto-rows: max-content;
}

.facility-feature .item {
  padding-top: 9rem;
  padding-bottom: 9rem;
}

.facility-feature .item:nth-child(even) {
  background-color: #FAF5EB;
}

.facility-feature .item_inner {
  display: grid;
  grid-auto-rows: max-content;
}

.facility-feature .item_inner {
  display: grid;
  grid-auto-rows: max-content;
  align-items: center;
  grid-gap: 4rem;
}

.facility-feature .item:nth-child(odd).hor .item_inner {
  grid-template-columns: 1.28fr 0.787fr;
}

.facility-feature .item:nth-child(even).hor .item_inner {
  grid-template-columns: 0.787fr 1.28fr;
}

.facility-feature .item.vert .item_inner,
.facility-feature .item.squ .item_inner {
  grid-template-columns: repeat(2, 1fr);
}

.facility-feature .item_contents {
  width: min(30em, 100%);
}

.facility-feature .item:nth-child(odd) .item_contents {
  margin-left: auto;
}

.facility-feature .item:nth-child(even) .item_contents {
  order: -1;
}

.facility-feature .item_contents dt {
  font-weight: 500;
  color: #A53C14;
  line-height: 1;
}

.facility-feature .item_contents .en_title {
  font-size: 4rem;
  font-size: clamp(3rem, calc((32 / 768) * 100vw), 4rem);
  margin-bottom: 0.35em;
}

.facility-feature .item_contents .ja_title {
  font-size: 1.5rem;
  margin-bottom: 1.33em;
}

.facility-feature .item .image {
  position: relative;
  z-index: var(--z-index-low);
}

.facility-feature .item.vert .image,
.facility-feature .item.squ .image {
  width: 85.6%;
}

.facility-feature .item:nth-child(odd).vert .image,
.facility-feature .item:nth-child(odd).squ .image {
  margin-left: auto;
}

.facility-feature .item .image::after {
  content: '';
  position: absolute;
  top: 3rem;
  z-index: -1;
  display: block;
  width: 100%;
  height: 100%;
}

.facility-feature .item:nth-child(odd) .image::after {
  left: 3rem;
  background-color: #faf5eb;
}

.facility-feature .item:nth-child(even) .image::after {
  right: 3rem;
  background-color: #fff;
}


/*-------------------------------
---.designers-message
-------------------------------*/

.designers-message {
  margin-bottom: 18rem;
}

.designers-message .section_inner {
  display: grid;
  grid-template-columns: 1.0675fr 2.045fr;
  grid-auto-rows: max-content;
  grid-gap: 0 3.5rem;
  background-color: #EBEBEB;
  margin-left: 4.5rem;
}

.designers-message .image {
  position: relative;
  top: -4.5rem;
  left: -4.5rem;
}

.designers-message .image .designer {
  position: absolute;
  bottom: 1rem;
  left: 1rem;
  width: calc(100% - 2rem);
  font-size: clamp(2rem, calc(24 / 768 * 100vw), 3.2rem);
  font-weight: 600;
  color: #fff;
  letter-spacing: 0.025em;
  line-height: 1;
}

.designers-message .image .designer.right {
  text-align: right;
}

.designers-message .image .designer .bussiness-post {
  font-size: max(1rem, 0.375em);
  font-weight: 500;
  margin-bottom: 0.25em;
}

.designers-message .designer .bussiness-post span {
  display: inline-block;
}

.designers-message .message_contents {
  padding-top: 6rem;
  padding-bottom: 4.5rem;
  padding-right: 10rem;
}

.designers-message .message_title {
  width: max(30rem, 50%);
}

.designers-message .catch_copy {
  font-size: var(--font-size-xxxl);
  color: #A53C14;
  line-height: var(--line-height-narrow);
  font-weight: bold;
  margin-bottom: 6rem;
}

.designers-message .catch_copy span {
  display: inline-block;
}

.designers-message .lead_copy {
  text-align: justify;
  margin-bottom: 2.25em;
}

.designers-message .message_contents .designer {
  color: #5F1E0A;
  line-height: var(--line-height-narrow);
  text-align: right;
}

.designers-message .message_contents .designer .bussiness-post {
  /* font-size: 1.5rem; */
}

.designers-message .message_contents .designer .name {
  font-size: var(--font-size-xxxl);
  letter-spacing: 0.1em;
}


/*-------------------------------
---.access
-------------------------------*/

.access {
  margin-bottom: 20rem;
}

.access .section_inner {
  display: grid;
  grid-template-columns: 1fr 2.25fr;
  grid-auto-rows: max-content;
  justify-content: center;
  align-items: center;
  margin-bottom: 8rem;
}

.access .section_title {
  padding-left: 1em;
  padding-right: 1em;
  margin-bottom: 0;
}

.access .access_contents {
  border-left: 0.1rem solid #A53C14;
  padding-left: 13.5%;
}

.access .gallery_name {
  font-size: var(--font-size-xxxl);
  font-weight: 500;
  color: #A53C14;
  margin-bottom: 4rem;

}

.access .gallery_info {
  display: grid;
  grid-template-columns: max-content 1fr;
  grid-auto-rows: max-content;
  grid-gap: 1em 3.5em;
}

.access .gallery_info dt {
  color: #A53C14;
  letter-spacing: 0.05em;
}

.access .access_map {
  max-width: 120rem;
  margin-left: auto;
  margin-right: auto;
}


/*-------------------------------
---.model-house
-------------------------------*/

.model-house .section_inner {
  background-color: #EBEBEB;
  padding-top: 9rem;
  padding-bottom: 12rem;
}

.model-house .list_facility {
  display: grid;
  grid-template-columns: 100%;
  grid-auto-rows: max-content;
  grid-gap: 30rem;
}

.model-house .model-house_name {
  font-size: var(--font-size-xxxl);
  font-weight: 500;
  text-align: center;
  margin-top: 2.4em;
  margin-bottom: 2.4em;
}

.model-house .catch_copy {
  font-size: var(--font-size-xxxl);
  color: #A53C14;
  text-align: center;
  line-height: var(--line-height-narrow);
  margin-bottom: 2.4em;

}

.model-house .catch_copy span {
  display: inline-block;
  font-weight: bold;
}

.model-house .lead_copy {
  width: min(50em, 100%);
  margin-left: auto;
  margin-right: auto;
}

.model-house .matterport {
  position: relative;
  margin-top: 9rem;
}

.model-house .matterport::before {
  content: '';
  display: block;
  width: 100%;
  padding-top: calc((9 / 16) * 100%);
}

.model-house .matterport iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.model-house .feature {
  margin-top: 9rem;
}

.model-house .feature_gallery {
  padding-bottom: calc(2.7rem + 2rem);
}

.model-house .feature_gallery .slider {
  position: relative;
  width: 100%;
  margin-bottom: 0;
}

.model-house .feature_gallery .slider .slick-track {
  display: flex;
}

.model-house .feature_gallery .slider .slick-slide {
  height: auto !important;
}

.model-house .feature_gallery .slider .slide_item {
  display: grid;
  grid-template-columns: repeat(2, calc(calc(100vw - calc(100vw - 100%)) / 2));
}

.model-house .feature_gallery .slider .slide_item .image {
  position: relative;
  background-color: #fff;
}

.model-house .feature_gallery .slider .slide_item .image::after {
  content: '';
  display: block;
  width: 100%;
  padding-top: 100%;
}

.model-house .feature_gallery .slider .slide_item .image img {
  position: absolute;
  top: 0;
  left: 0;
  z-index: var(--z-index-low);
  height: 100%;
  object-fit: contain;
}

.model-house .feature_gallery .slider .slide_item .caption {
  display: flex;
  align-items: center;
  padding: 0 calc(6rem + 5%);
}

.model-house .feature_gallery .slider .slide_item .caption_heading {
  font-size: var(--font-size-xxl);
  line-height: var(--line-height-narrow);
  font-weight: 500;
  color: #A53C14;
  margin-bottom: 3rem;
}

.model-house .feature_gallery .slider .slide_item .slide_num {
  position: absolute;
  bottom: 0;
  right: 0;
  font-size: 2.6rem;
  color: #C8C8C8;
}

.model-house .feature_gallery .slider .slide_item .caption .slide_num .numerator {
  font-size: 3.6rem;
  letter-spacing: 0.028em;
  margin-right: 0.2em;
}

.model-house .feature_gallery .slick-dots {
  bottom: calc(-2.7rem - 2rem);
}

.model-house .feature_gallery .slick-dots li {
  margin: 0 .3rem;
}

.model-house .feature_gallery .slick-dots li button:before,
.model-house .feature_gallery .slick-dots li.slick-active button:before {
  color: #AFAFAF;
  font-size: 1.2rem;
}

.model-house .feature_gallery .slick-dots li button:before {
  opacity: 0.35;
}

.model-house .feature_gallery .slick-dots li.slick-active button:before {
  opacity: 1;
}

.model-house .grid_gallery {
  margin-top: 12rem;
}

.model-house .grid_gallery .gallery_list {
  margin-bottom: 0;
}