@charset "UTF-8";
/*! ---------------------------------
Theme Name: Main
Version: 3.4.1
Tested up to: 6.8.1
---------------------------------- */
/* -----------------------------------------------
  Variables
--------------------------------------------------*/
:root {
  --color-text: #000;
  --color-bg: #fff;
  --color-base: #557c64;
  --color-link: #557c64;
  --color-hover: rgb(121.8038277512, 163.6961722488, 137.9162679426);
  --color-visited: #557c64;
  --color-error: #dd0000;
  --swiper-theme-color: #557c64;
}

/* -----------------------------------------------
  Mixins
--------------------------------------------------*/
.c-en {
  font-family: "Outfit", sans-serif;
}

.fw-r {
  font-weight: 400;
}

.fw-m {
  font-weight: 500;
}

.fw-sb {
  font-weight: 600;
}

.fw-b {
  font-weight: 700;
}

.ls01 {
  letter-spacing: 0.1em;
}

.l-section-title {
  padding-top: min(10rem, 7.4074074074vw);
}
@media all and (max-width: 768px) {
  .l-section-title {
    padding-top: 13.3333333333vw;
  }
}

.page-design-casa .feature__works .l-section-title,
.page-hiraya .feature__faq .l-section-title {
  flex-direction: column;
  row-gap: 0.5em;
}

/*--------------------------------------------------
  特集TOP
--------------------------------------------------*/
.feature .l-others {
  padding-top: 0;
}
.feature .l-others__list {
  width: 100%;
}
.feature .l-others__list-link {
  padding-top: 0;
}
.feature .l-others__list-image {
  height: auto;
}
.feature .l-others__list-image > img {
  aspect-ratio: 4/3;
}

/*--------------------------------------------------
  平屋・design casa共通
--------------------------------------------------*/
.feature__keyvisual figure {
  position: relative;
  height: min(70rem, 51.8518518519vw);
  overflow: hidden;
}
@media all and (max-width: 768px) {
  .feature__keyvisual figure {
    height: 66.6666666667vw;
  }
}
.feature__keyvisual figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 70%;
}
.feature__main {
  border-bottom: 1px solid #000;
}
@media all and (min-width: 769px) {
  .feature__main .inner {
    max-width: min(95rem, 70.3703703704vw);
    margin-inline: auto;
  }
}
@media all and (max-width: 768px) {
  .feature__main .inner {
    padding-inline: 6.6666666667vw;
  }
}
.feature__content {
  font-size: min(1.5rem, 1.1111111111vw);
  margin-bottom: min(10rem, 7.4074074074vw);
}
@media all and (max-width: 768px) {
  .feature__content {
    font-size: 4vw;
    margin-bottom: 13.3333333333vw;
  }
}
.feature__title {
  font-size: min(2.8rem, 2.0740740741vw);
  line-height: inherit;
  text-align: center;
  margin-block: min(4rem, 2.962962963vw);
}
@media all and (max-width: 768px) {
  .feature__title {
    font-size: 4.8vw;
    margin-block: 8.6666666667vw;
  }
}
.feature__points {
  display: grid;
}
@media all and (min-width: 769px) {
  .feature__points {
    grid-template-columns: repeat(2, 1fr);
    gap: min(5rem, 3.7037037037vw);
    max-width: min(95rem, 70.3703703704vw);
    margin-inline: auto;
    margin-block: min(10rem, 7.4074074074vw);
  }
}
@media all and (max-width: 768px) {
  .feature__points {
    padding-inline: 6.6666666667vw;
    row-gap: 6.6666666667vw;
    margin-block: 13.3333333333vw;
  }
}
.feature__points-image {
  border-radius: 0.5rem;
  overflow: hidden;
}
.feature__points-text {
  font-size: min(1.5rem, 1.1111111111vw);
  margin: 0;
}
@media all and (max-width: 768px) {
  .feature__points-text {
    font-size: 4vw;
  }
}
.feature.hiraya .feature__points-title {
  color: var(--color-base);
  font-size: min(2rem, 1.4814814815vw);
  text-align: center;
  margin-block: 1em;
}
@media all and (max-width: 768px) {
  .feature.hiraya .feature__points-title {
    font-size: 4.2666666667vw;
  }
}
.feature.design-casa .feature__points {
  grid-template-columns: auto;
  row-gap: 2em;
}
.feature.design-casa .feature__points-item {
  display: flex;
  flex-wrap: nowrap;
  align-items: baseline;
  justify-content: flex-start;
  column-gap: 2em;
  row-gap: 1em;
  padding-top: 2em;
  border-top: 1px solid #000;
}
@media all and (max-width: 768px) {
  .feature.design-casa .feature__points-item {
    flex-wrap: wrap;
  }
}
.feature.design-casa .feature__points-item:last-of-type {
  padding-bottom: 2em;
  border-bottom: 1px solid #000;
}
.feature.design-casa .feature__points-title {
  flex: 0 0 min(32rem, 23.7037037037vw);
  color: var(--color-base);
  line-height: inherit;
  margin-block: 0;
  display: flex;
  align-items: baseline;
  column-gap: 0.5em;
}
@media all and (max-width: 768px) {
  .feature.design-casa .feature__points-title {
    flex: 1;
  }
}
.feature.design-casa .feature__points-title .num {
  white-space: nowrap;
  color: var(--color-base);
  font-weight: 500;
}
.feature__recommend {
  background: #e6f0ee;
  padding: min(8rem, 5.9259259259vw);
}
@media all and (min-width: 769px) {
  .feature__recommend {
    max-width: min(95rem, 70.3703703704vw);
    margin-inline: auto;
  }
}
@media all and (max-width: 768px) {
  .feature__recommend {
    padding: 13.3333333333vw 6.6666666667vw;
  }
}
.feature__recommend-title {
  color: var(--color-base);
  font-size: min(2.2rem, 1.6296296296vw);
  line-height: inherit;
  text-align: center;
  margin-top: 0;
  margin-bottom: 2em;
}
@media all and (max-width: 768px) {
  .feature__recommend-title {
    font-size: 4.8vw;
  }
}
.feature__recommend-label {
  font-size: min(1.6rem, 1.1851851852vw);
  font-weight: 400;
  text-transform: uppercase;
  display: block;
  width: fit-content;
  padding: 0.5em 1em;
  background: #000;
  color: #fff;
  margin-inline: auto;
  line-height: 1;
  margin-bottom: 2em;
  letter-spacing: 0.1em;
  border-radius: 2px;
}
@media all and (max-width: 768px) {
  .feature__recommend-label {
    font-size: 3.2vw;
  }
}
.feature__recommend .section-point {
  width: fit-content;
  margin-inline: auto;
}
.feature__gallery {
  padding: min(10rem, 7.4074074074vw) min(5rem, 3.7037037037vw);
  display: grid;
  gap: min(5rem, 3.7037037037vw);
}
@media all and (min-width: 769px) {
  .feature__gallery {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media all and (max-width: 768px) {
  .feature__gallery {
    padding: 6.6666666667vw;
    gap: 6.6666666667vw;
  }
}
.feature__gallery-item .wp-block-embed {
  margin: 0;
}

/* SECTION TITLE */
.section-title {
  font-size: min(2rem, 1.4814814815vw);
  text-align: center;
  margin: 0;
  padding-block: min(5rem, 3.7037037037vw);
}
.section-title.--event {
  background: #f6f6f5;
  padding-bottom: min(10rem, 7.4074074074vw);
}
@media all and (max-width: 768px) {
  .section-title {
    font-size: 6.4vw;
    padding-block: 5.3333333333vw;
  }
}
.section-title .c-en {
  display: block;
  margin-top: min(1.5rem, 1.1111111111vw);
  font-size: min(1.2rem, 0.8888888889vw);
}
@media all and (max-width: 768px) {
  .section-title .c-en {
    margin-top: 2vw;
    font-size: 4.8vw;
  }
}

.feature__works {
  border-bottom: 1px solid #000;
}

.feature__event {
  border-top: 1px solid #000;
}

/* CTA */
@media all and (min-width: 769px) {
  .feature__contact {
    background: #e4e7e5;
    padding-block: min(10rem, 7.4074074074vw);
  }
}
@media all and (min-width: 769px) {
  .feature__contact .inner {
    max-width: min(122rem, 90.3703703704vw);
    margin-inline: auto;
  }
}
.feature__contact-div {
  background: #fff;
  padding: min(7rem, 5.1851851852vw) min(13rem, 9.6296296296vw) min(9rem, 6.6666666667vw);
  box-shadow: 0 0 18px rgba(0, 0, 0, 0.03);
}
@media all and (max-width: 768px) {
  .feature__contact-div {
    background: #f0f9f3;
    padding-block: 20vw;
    padding-inline: 6.4vw;
  }
}
.feature__contact-title {
  font-size: min(2rem, 1.4814814815vw);
  line-height: inherit;
  text-align: center;
  margin-top: 0;
  margin-bottom: min(4rem, 2.962962963vw);
}
@media all and (max-width: 768px) {
  .feature__contact-title {
    font-size: 4.8vw;
    margin-bottom: 5.3333333333vw;
  }
}
.feature__contact-cta {
  display: flex;
  flex-wrap: nowrap;
  align-items: flex-start;
  justify-content: center;
  gap: min(4rem, 2.962962963vw);
}
@media all and (max-width: 768px) {
  .feature__contact-cta {
    flex-direction: column;
    row-gap: 4vw;
  }
}
.feature__contact-button {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  width: min(45.6rem, 33.7777777778vw);
  height: min(13.4rem, 9.9259259259vw);
  background: #fff;
  font-size: min(1.6rem, 1.1851851852vw);
  border: 1px solid #000;
  text-decoration: none;
}
@media all and (max-width: 768px) {
  .feature__contact-button {
    width: 100%;
    height: 22.9333333333vw;
    font-size: 3.4666666667vw;
    border: none;
  }
}
.feature__contact-button .num {
  font-size: min(2.4rem, 1.7777777778vw);
}
@media all and (max-width: 768px) {
  .feature__contact-button .num {
    font-size: 4.8vw;
  }
}
@media all and (max-width: 768px) {
  .feature__contact-button.--tel {
    color: var(--color-text);
  }
}
.feature__contact-button.--mail {
  color: #fff;
  background: #4a7970;
  border: 1px solid #4a7970;
}
@media all and (max-width: 768px) {
  .feature__contact-button.--mail {
    font-size: 4.2666666667vw;
  }
}
.feature__contact-button.--mail:hover {
  background: #fff;
  color: #4a7970;
}

/* 平屋モデルハウス */
@media all and (min-width: 769px) {
  .model-house {
    background: #e4e7e5;
    padding-block: min(16rem, 11.8518518519vw);
  }
}
@media all and (min-width: 769px) {
  .model-house .inner {
    max-width: min(122rem, 90.3703703704vw);
    margin-inline: auto;
  }
}
.model-house__div {
  display: flex;
  flex-wrap: nowrap;
  align-items: stretch;
  justify-content: space-between;
  border-top: 1px solid #000;
  border-bottom: 1px solid #000;
  box-shadow: 0 0 18px rgba(0, 0, 0, 0.03);
}
@media all and (max-width: 768px) {
  .model-house__div {
    position: relative;
    flex-wrap: wrap;
    padding-top: 13.3333333333vw;
    border: none;
  }
}
.model-house__image {
  position: relative;
}
@media all and (min-width: 769px) {
  .model-house__image {
    flex: 0 0 min(63.4rem, 46.962962963vw);
    max-width: min(63.4rem, 46.962962963vw);
  }
}
@media all and (max-width: 768px) {
  .model-house__image {
    height: 91.4666666667vw;
    overflow: hidden;
  }
}
.model-house__image img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}
@media all and (max-width: 768px) {
  .model-house__image img {
    transform: scale(1.2);
  }
}
.model-house__image figcaption {
  position: absolute;
  top: 0;
  left: 0;
  background: #fff;
  width: min(7.2rem, 5.3333333333vw);
  height: 100%;
  margin: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: min(1.1rem, 0.8148148148vw);
  writing-mode: vertical-rl;
  transform: rotate(180deg);
  letter-spacing: 0.2em;
}
@media all and (max-width: 768px) {
  .model-house__image figcaption {
    display: none;
  }
}
.model-house__content {
  background: #fff;
  padding-inline: min(9rem, 6.6666666667vw);
}
@media all and (max-width: 768px) {
  .model-house__content {
    padding-inline: 9.6vw;
    padding-bottom: 13.3333333333vw;
  }
}
.model-house__label {
  width: fit-content;
  min-width: min(27rem, 20vw);
  height: min(9rem, 6.6666666667vw);
  margin: auto;
  background: #f2f2e7;
  padding-bottom: min(1rem, 0.7407407407vw);
  border-bottom: 1px solid #000;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  font-size: min(1.6rem, 1.1851851852vw);
  font-weight: bold;
}
@media all and (max-width: 768px) {
  .model-house__label {
    width: 72vw;
    height: 24vw;
    font-size: 4.2666666667vw;
    padding-bottom: 2.6666666667vw;
    position: absolute;
    top: 0;
    inset-inline: 0;
  }
}
.model-house__title {
  font-size: min(2.8rem, 2.0740740741vw);
  text-align: center;
  margin-block: min(6rem, 4.4444444444vw) min(3rem, 2.2222222222vw);
}
@media all and (max-width: 768px) {
  .model-house__title {
    font-size: 8vw;
    text-align: center;
    margin-block: 9.3333333333vw 5.3333333333vw;
  }
}
.model-house__text {
  font-size: min(1.5rem, 1.1111111111vw);
}
@media all and (max-width: 768px) {
  .model-house__text {
    font-size: 4vw;
  }
}
.model-house__link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: min(6.5rem, 4.8148148148vw);
  padding-inline: min(2rem, 1.4814814815vw);
  font-size: min(1.4rem, 1.037037037vw);
  font-weight: normal;
  text-align: center;
  border: 1px solid #000;
  margin-block: min(5rem, 3.7037037037vw);
  margin-inline: auto;
}
@media all and (max-width: 768px) {
  .model-house__link {
    font-size: 3.2vw;
    height: 13.3333333333vw;
    margin-top: 9.3333333333vw;
  }
}
.model-house__link.c-link-more::before {
  right: min(3rem, 2.2222222222vw);
}
@media all and (max-width: 768px) {
  .model-house__link.c-link-more::before {
    right: 8vw;
  }
}
.model-house__link:hover {
  color: #fff;
  background: #000;
}
.model-house__link:hover.c-link-more::before {
  background-color: #fff;
}

/* design casa モデルハウス */
.design-casa-model-house {
  padding-bottom: min(5rem, 3.7037037037vw);
}
@media all and (max-width: 768px) {
  .design-casa-model-house {
    border-top: 1px solid #000;
    padding-bottom: 13.3333333333vw;
  }
}
@media all and (min-width: 769px) {
  .design-casa-model-house .inner {
    max-width: min(95rem, 70.3703703704vw);
    margin-inline: auto;
  }
}
.design-casa-model-house__image img {
  object-fit: cover;
  aspect-ratio: 16/6;
}
.design-casa-model-house__title {
  font-size: min(2.8rem, 2.0740740741vw);
  margin-block: min(4rem, 2.962962963vw);
  text-align: center;
  line-height: inherit;
  word-break: keep-all;
}
@media all and (max-width: 768px) {
  .design-casa-model-house__title {
    font-size: 4.8vw;
    margin-block: 6.6666666667vw;
    padding-inline: 6.6666666667vw;
  }
}
@media all and (min-width: 769px) {
  .design-casa-model-house .model-house__link {
    max-width: min(47rem, 34.8148148148vw);
    margin-inline: auto;
  }
}
@media all and (max-width: 768px) {
  .design-casa-model-house .model-house__link {
    width: auto;
    margin-inline: 6.6666666667vw;
  }
}

.model-house-tags {
  margin-bottom: min(4rem, 2.962962963vw);
}
@media all and (max-width: 768px) {
  .model-house-tags {
    margin-bottom: 6.6666666667vw;
  }
}

.design-casa-architect {
  display: flex;
  flex-wrap: nowrap;
  justify-content: flex-start;
  gap: min(5rem, 3.7037037037vw);
  background: #f2f2e7;
  padding: min(4rem, 2.962962963vw);
  border-top: 1px solid #000;
  border-bottom: 1px solid #000;
  margin-bottom: min(5rem, 3.7037037037vw);
}
@media all and (max-width: 768px) {
  .design-casa-architect {
    flex-wrap: wrap;
    justify-content: center;
    row-gap: 5.3333333333vw;
    padding-block: 6.6666666667vw 13.3333333333vw;
    padding-inline: 6.6666666667vw;
  }
}
@media all and (min-width: 769px) {
  .design-casa-architect .architect-image {
    flex: 0 0 min(16rem, 11.8518518519vw);
    max-width: min(16rem, 11.8518518519vw);
  }
}
@media all and (max-width: 768px) {
  .design-casa-architect .architect-image {
    max-width: 32vw;
  }
}
.design-casa-architect .architect-image img {
  object-fit: cover;
  aspect-ratio: 1/1;
  border-radius: 50%;
  border: 1px solid #000;
}
.design-casa-architect .architect-profile p:last-child {
  margin-bottom: 0;
}
.design-casa-architect .architect-name {
  font-size: min(1.8rem, 1.3333333333vw);
  margin-top: 0;
}
@media all and (max-width: 768px) {
  .design-casa-architect .architect-name {
    font-size: 4.8vw;
    text-align: center;
  }
}

/* FAQ */
.feature__faq {
  border-top: 1px solid #000;
  border-bottom: 1px solid #000;
  padding-bottom: min(10rem, 7.4074074074vw);
}
@media all and (max-width: 768px) {
  .feature__faq {
    padding-bottom: 20vw;
  }
}
.feature__faq .section-title {
  background: none;
}
@media all and (min-width: 769px) {
  .feature__faq .inner {
    max-width: min(95rem, 70.3703703704vw);
    margin-inline: auto;
  }
}
@media all and (max-width: 768px) {
  .feature__faq .inner {
    padding-inline: 6.6666666667vw;
  }
}

.m-faq__item {
  position: relative;
  margin-bottom: 0;
  overflow: hidden;
  border-bottom: 1px solid #333;
}
.m-faq__item[open] .m-faq__question {
  background: #e6f0ee;
}
.m-faq__item[open] .m-faq__question::before {
  rotate: 180deg;
}
.m-faq__item::before {
  content: "Q";
  font-family: "Outfit", sans-serif;
  font-size: 1.5em;
  font-weight: 400;
  line-height: 1;
  color: var(--color-base);
  position: absolute;
  top: 0.75em;
  left: 0.25em;
  z-index: 1;
}

.m-faq__question {
  position: relative;
  display: block;
  cursor: pointer;
  font-weight: 600;
  padding: 1em 2.25em;
  transition: 0.3s;
  /* デフォルトアイコン: + */
  /* マーカーを非表示に */
}
.m-faq__question::before, .m-faq__question::after {
  content: "";
  display: block;
  position: absolute;
  right: 16px;
  top: 50%;
  translate: 0 -50%;
  width: 14px;
  height: 2px;
  background: var(--color-base);
  transition: 0.3s;
}
.m-faq__question::before {
  rotate: 90deg;
}
.m-faq__question::-webkit-details-marker {
  display: none;
}

.m-faq__answer {
  overflow: hidden;
}
.m-faq__answer-content {
  position: relative;
  padding-block: 1em;
  padding-inline: 2.25em 1em;
}
.m-faq__answer-content::before {
  content: "A";
  font-family: "Outfit", sans-serif;
  font-size: 1.5em;
  font-weight: 400;
  line-height: 1;
  color: rgba(85, 124, 100, 0.5);
  position: absolute;
  top: 0.75em;
  left: 0.25em;
}
.m-faq__answer-content p:first-child {
  margin-top: 0;
}
.m-faq__answer-content p:last-child {
  margin-bottom: 0;
}

/*--------------------------------------------------
  施工事例（本体サイトのものを調整）
--------------------------------------------------*/
.feature .l-works__list {
  border-top: none;
  border-right: 1px solid #333;
}
@media all and (min-width: 769px) {
  .feature .l-works__list {
    max-width: min(122rem, 90.3703703704vw);
    margin-inline: auto;
  }
}
.feature .l-works__list.m-works-list .m-works-article__link {
  padding-left: min(3rem, 2.2222222222vw);
}
@media all and (max-width: 768px) {
  .feature .l-works__list.m-works-list .m-works-article__link {
    padding-left: 10vw;
  }
}
@media all and (min-width: 769px) {
  .feature .l-works__more-wrap {
    border-left: 1px solid #333;
    border-right: 1px solid #333;
    border-bottom: 1px solid #333;
  }
}
.feature .l-works__more-wrap .l-works__more::before {
  right: min(3rem, 2.2222222222vw);
}
@media all and (min-width: 769px) {
  .feature .l-works__more-wrap {
    max-width: min(122rem, 90.3703703704vw);
    margin-inline: auto;
    margin-bottom: min(15rem, 11.1111111111vw);
  }
}

body.page-design-casa .m-page-title__heading .en {
  text-transform: lowercase;
}