#contentsWrap {
  padding-bottom: 0;
}

.bg_color01 {
  background: var(--color-01);
  color: #fff;
}

.block-sustainable-01 {
  padding-top: 0.9rem;
  padding-bottom: 1.5rem;
}
@media only screen and (max-width: 767px) {
  .block-sustainable-01 {
    padding-top: 0.6rem;
    padding-bottom: 1rem;
  }
}
.block-sustainable-01 .secttl:before {
  background: #fff;
}
.block-sustainable-01 .grid {
  margin-top: 1rem;
  display: grid;
  grid-template-columns: 5rem auto;
  gap: 1.5rem;
  align-items: center;
}
@media only screen and (max-width: 767px) {
  .block-sustainable-01 .grid {
    grid-template-columns: 1fr;
    gap: 0.5rem;
  }
}
@media only screen and (max-width: 767px) {
  .block-sustainable-01 .grid .logo {
    width: 5rem;
    margin: 0 auto;
  }
}
.block-sustainable-01 .grid .text {
  font-weight: 400;
  line-height: 2.5;
}

.block-sustainable-02 {
  padding-bottom: 1.5rem;
}
@media only screen and (max-width: 767px) {
  .block-sustainable-02 {
    padding-bottom: 1rem;
  }
}
.block-sustainable-02 .secttl {
  margin-bottom: 1.5rem;
}
@media only screen and (max-width: 767px) {
  .block-sustainable-02 .secttl {
    margin-bottom: 1rem;
  }
}
.block-sustainable-02 .secttl:before {
  background: #fff;
}
@media only screen and (min-width: 768px) {
  .block-sustainable-02 .item {
    display: grid;
    grid-template-columns: 48% auto;
    gap: 0 min(5.21vw, 1rem);
    grid-template-areas: "text image";
  }
}
.block-sustainable-02 .item + .item {
  padding-top: 1.8rem;
  margin-top: 1.8rem;
  border-top: 1px solid #e8e2d9;
}
@media only screen and (max-width: 767px) {
  .block-sustainable-02 .item + .item {
    padding-top: 1rem;
    margin-top: 1rem;
  }
}
@media only screen and (min-width: 768px) {
  .block-sustainable-02 .item:nth-child(even) {
    grid-template-areas: "image text";
  }
}
.block-sustainable-02 .item .text {
  place-content: center;
}
@media only screen and (min-width: 768px) {
  .block-sustainable-02 .item .text {
    grid-area: text;
  }
}
.block-sustainable-02 .item .enttl {
  font-family: "EB Garamond", serif;
  letter-spacing: 0.12em;
  line-height: 1.2;
  margin-bottom: 0.1rem;
}
.block-sustainable-02 .item .sttl {
  font-size: 0.2rem;
  letter-spacing: 0.2em;
  line-height: 2;
}
@media only screen and (max-width: 767px) {
  .block-sustainable-02 .item .sttl {
    font-size: 0.32rem;
  }
}
.block-sustainable-02 .item p {
  margin: 0.3rem 0 0;
  letter-spacing: 0.05em;
}
@media only screen and (min-width: 768px) {
  .block-sustainable-02 .item .image {
    grid-area: image;
  }
}
@media only screen and (max-width: 767px) {
  .block-sustainable-02 .item .image {
    margin-top: 0.6rem;
  }
}
.block-sustainable-02 .item > *:only-child {
  grid-column: 1/3;
}
.block-sustainable-02 .item--01 .mark {
  width: min(16.41vw, 3.15rem);
  margin-top: 0.8rem;
}
@media only screen and (max-width: 767px) {
  .block-sustainable-02 .item--01 .mark {
    width: 50%;
  }
}
.block-sustainable-02 .item--01 .mark figcaption {
  right: auto;
  left: 100%;
  padding: 0 0 0 0.2rem;
  width: 100%;
  line-height: 1.8;
}
@media only screen and (min-width: 768px) {
  .block-sustainable-02 .item--01 .mark figcaption {
    font-size: min(0.83vw, 0.16rem);
  }
}
@media only screen and (max-width: 767px) {
  .block-sustainable-02 .item--02 .text {
    display: grid;
    grid-template-columns: 62% auto;
    gap: 0.4rem;
  }
}
@media only screen and (max-width: 767px) {
  .block-sustainable-02 .item--02 .sttl {
    grid-column: 1/3;
  }
}
@media only screen and (max-width: 767px) {
  .block-sustainable-02 .item--02 p {
    margin: 0;
  }
}
.block-sustainable-02 .item--02 .mark {
  width: min(16.67vw, 3.2rem);
  margin-top: 0.3rem;
}
@media only screen and (max-width: 767px) {
  .block-sustainable-02 .item--02 .mark {
    width: 40%;
    margin-top: 0.4rem;
    width: 100%;
    margin: 0;
  }
}

.block-sustainable-03 {
  background: #534d31;
  padding: 1.5rem 0;
}
@media only screen and (max-width: 767px) {
  .block-sustainable-03 {
    padding: 1rem 0;
  }
}
.block-sustainable-03 .item--01 {
  position: relative;
}
@media only screen and (max-width: 767px) {
  .block-sustainable-03 .item--01 .image {
    height: 3rem;
  }
  .block-sustainable-03 .item--01 .image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
}
.block-sustainable-03 .item--01 .cont {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
  width: 100%;
  color: #fff;
}
.block-sustainable-03 .item--01 .cont .enttl {
  font-family: "EB Garamond", serif;
  letter-spacing: 0.12em;
  line-height: 1.2;
  font-size: 0.3rem;
}
@media only screen and (max-width: 767px) {
  .block-sustainable-03 .item--01 .cont .enttl {
    font-size: 0.4rem;
  }
}
.block-sustainable-03 .item--01 .cont .jpttl {
  font-size: 0.2rem;
  letter-spacing: 0.2em;
  margin-top: 0.2rem;
}
@media only screen and (max-width: 767px) {
  .block-sustainable-03 .item--01 .cont .jpttl {
    font-size: 0.3rem;
  }
}
.block-sustainable-03 .item--02 {
  display: grid;
  grid-template-columns: auto 6rem;
  gap: 1rem;
  align-items: end;
  margin-top: 1rem;
}
@media only screen and (max-width: 767px) {
  .block-sustainable-03 .item--02 {
    margin-top: 0.5rem;
    grid-template-columns: 1fr;
  }
}
.block-sustainable-03 .item--02 .cont {
  color: #fff;
}
.block-sustainable-03 .item--02 .cont .inner:nth-child(n+2) {
  margin-top: 0.5rem;
}
.block-sustainable-03 .item--02 .cont .ttl {
  font-size: 0.2rem;
}
@media only screen and (max-width: 767px) {
  .block-sustainable-03 .item--02 .cont .ttl {
    font-size: 0.32rem;
  }
}
.block-sustainable-03 .item--02 .cont .text {
  margin-top: 0.2rem;
}

.block-sustainable-04 {
  background: var(--color-01);
  color: #fff;
  padding: 1.5rem 0;
}
@media only screen and (max-width: 767px) {
  .block-sustainable-04 {
    padding: 1rem 0 1.5rem;
  }
}
.block-sustainable-04 .secttl {
  margin-bottom: 1.5rem;
}
@media only screen and (max-width: 767px) {
  .block-sustainable-04 .secttl {
    margin-bottom: 1rem;
  }
}
.block-sustainable-04 .secttl:before {
  background: #fff;
}
@media only screen and (min-width: 768px) {
  .block-sustainable-04 .item {
    display: grid;
    grid-template-columns: 48% auto;
    gap: 0 min(5.21vw, 1rem);
    grid-template-areas: "text image";
  }
}
.block-sustainable-04 .item + .item {
  padding-top: 1rem;
  margin-top: 1rem;
  border-top: 1px solid #e8e2d9;
}
@media only screen and (max-width: 767px) {
  .block-sustainable-04 .item + .item {
    padding-top: 1rem;
    margin-top: 1rem;
  }
}
@media only screen and (min-width: 768px) {
  .block-sustainable-04 .item:nth-child(even) {
    grid-template-areas: "image text";
  }
}
.block-sustainable-04 .item .text {
  place-content: center;
}
@media only screen and (min-width: 768px) {
  .block-sustainable-04 .item .text {
    grid-area: text;
  }
}
.block-sustainable-04 .item .enttl {
  font-family: "EB Garamond", serif;
  letter-spacing: 0.12em;
  line-height: 1.2;
  margin-bottom: 0.1rem;
}
.block-sustainable-04 .item .sttl {
  font-size: 0.2rem;
  letter-spacing: 0.2em;
  line-height: 2;
}
@media only screen and (max-width: 767px) {
  .block-sustainable-04 .item .sttl {
    font-size: 0.32rem;
  }
}
.block-sustainable-04 .item p {
  margin: 0.3rem 0 0;
  letter-spacing: 0.05em;
}
@media only screen and (min-width: 768px) {
  .block-sustainable-04 .item .image {
    grid-area: image;
  }
}
@media only screen and (max-width: 767px) {
  .block-sustainable-04 .item .image {
    margin-top: 0.6rem;
  }
}
.block-sustainable-04 .item > *:only-child {
  grid-column: 1/3;
}
.block-sustainable-04 .item--01 .mark {
  width: min(16.41vw, 3.15rem);
  margin-top: 0.8rem;
}
@media only screen and (max-width: 767px) {
  .block-sustainable-04 .item--01 .mark {
    width: 50%;
  }
}
.block-sustainable-04 .item--01 .mark figcaption {
  right: auto;
  left: 100%;
  padding: 0 0 0 0.2rem;
  width: 100%;
  line-height: 1.8;
}
@media only screen and (min-width: 768px) {
  .block-sustainable-04 .item--01 .mark figcaption {
    font-size: min(0.83vw, 0.16rem);
  }
}
@media only screen and (max-width: 767px) {
  .block-sustainable-04 .item--02 .text {
    display: grid;
    grid-template-columns: 62% auto;
    gap: 0.4rem;
  }
}
@media only screen and (max-width: 767px) {
  .block-sustainable-04 .item--02 .sttl {
    grid-column: 1/3;
  }
}
@media only screen and (max-width: 767px) {
  .block-sustainable-04 .item--02 p {
    margin: 0;
  }
}
.block-sustainable-04 .item--02 .mark {
  width: min(16.67vw, 3.2rem);
  margin-top: 0.3rem;
}
@media only screen and (max-width: 767px) {
  .block-sustainable-04 .item--02 .mark {
    width: 40%;
    margin-top: 0.4rem;
    width: 100%;
    margin: 0;
  }
}

.block-sustainable-05 {
  padding-bottom: 1.5rem;
}
.block-sustainable-05 .lead .secttl {
  margin-bottom: 0.3rem;
}
.block-sustainable-05 .lead .secttl:before {
  background: #fff;
}
.block-sustainable-05 .lead .text {
  text-align: center;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.2em;
}
.block-sustainable-05 .grid {
  margin-top: 1rem;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.5rem 1rem;
}
@media only screen and (max-width: 767px) {
  .block-sustainable-05 .grid {
    margin-top: 0.8rem;
    gap: 0.5rem 0.4rem;
  }
}
.block-sustainable-05 .grid .ttl {
  margin-top: 0.3rem;
  font-size: 0.2rem;
  letter-spacing: 0.2em;
}
@media only screen and (max-width: 767px) {
  .block-sustainable-05 .grid .ttl {
    font-size: 0.32rem;
  }
}
@media only screen and (max-width: 767px) {
  .block-sustainable-05 .grid .ttl.spttl {
    height: 0.98rem;
  }
}
.block-sustainable-05 .grid .text {
  margin-top: 0.2rem;
}

.block-blossom-01 {
  padding-bottom: 2rem;
  margin-top: 0;
  position: relative;
}
@media only screen and (max-width: 767px) {
  .block-blossom-01 {
    margin-top: 0;
    padding-bottom: 1rem;
  }
}
.block-blossom-01__bg {
  width: 100vw;
  height: 100%;
  display: block;
  position: absolute;
  bottom: 0;
  left: 50%;
  background: #e4ded4;
  background: #e8e2d9;
  mix-blend-mode: multiply;
  content: "";
  transform: translateX(-50%);
}
.block-blossom-01 .secttl {
  color: #fff;
}
.block-blossom-01 .secttl:before {
  background: #fff;
  height: min(13.54vw, 2.6rem);
}
.block-blossom-01 .seccatch {
  color: #fff;
  text-align: center;
}
.block-blossom-01 .lead {
  display: grid;
  position: relative;
  z-index: 0;
}
.block-blossom-01 .lead .text {
  grid-area: 1/1;
  z-index: 1;
}
.block-blossom-01 .lead .eyecatch {
  grid-area: 1/1;
  z-index: -1;
  height: min(35.42vw, 6.8rem);
}
@media only screen and (max-width: 767px) {
  .block-blossom-01 .lead .eyecatch {
    height: 4.5rem;
  }
}
.block-blossom-01 .lead .eyecatch img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.block-blossom-01 .item {
  display: grid;
  grid-template-columns: 36% auto;
  grid-template-areas: "text image";
  gap: 0 min(5.21vw, 1rem);
  padding-top: 2.5rem;
}
@media only screen and (max-width: 767px) {
  .block-blossom-01 .item {
    display: block;
    padding-top: 1rem;
  }
}
@media only screen and (min-width: 768px) {
  .block-blossom-01 .item .text {
    place-content: center;
    grid-area: text;
  }
}
.block-blossom-01 .item .sttl {
  font-size: 0.2rem;
  letter-spacing: 0.2em;
  line-height: 2;
}
@media only screen and (max-width: 767px) {
  .block-blossom-01 .item .sttl {
    font-size: 0.32rem;
  }
}
.block-blossom-01 .item p {
  margin: 0.3rem 0 0;
  line-height: 2.6;
  letter-spacing: 0.05em;
}
@media only screen and (min-width: 768px) {
  .block-blossom-01 .item .images {
    grid-area: image;
  }
}
@media only screen and (max-width: 767px) {
  .block-blossom-01 .item .images {
    margin-top: 0.6rem;
  }
}
.block-blossom-01 .item:nth-child(even) {
  grid-template-columns: auto 36%;
  grid-template-areas: "image text";
}
.block-blossom-01 .item--01 .images {
  display: grid;
  grid-template-columns: 54.2% auto;
  gap: 0.2rem;
  position: relative;
}
.block-blossom-01 .item--01 .images .figcaption {
  transform: translateY(100%);
}
.block-blossom-01 .item--02 {
  align-items: start;
}
.block-blossom-01 .item--02 .images {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.2rem;
  align-items: start;
}

@media only screen and (min-width: 768px) {
  .block-sustainable-04.block-cert .items {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0.6rem min(4.17vw, 0.8rem);
    align-items: start;
  }
}
@media only screen and (min-width: 768px) {
  .block-sustainable-04.block-cert .item {
    display: block;
  }
}
@media only screen and (min-width: 768px) {
  .block-sustainable-04.block-cert .item + .item {
    padding-top: 0;
    margin-top: 0;
    border-top: none;
  }
}
.block-sustainable-04.block-cert .item .image {
  margin-top: 0.3rem;
}
.block-sustainable-04.block-cert .item .image img {
  width: 100%;
}
.block-sustainable-04.block-cert .cert--03 .image,
.block-sustainable-04.block-cert .cert--04 .image {
  width: fit-content;
  margin: 0.3rem auto 0;
  padding: 0.25rem 0.3rem;
  background: #fff;
}
.block-sustainable-04.block-cert .cert--03 .image img,
.block-sustainable-04.block-cert .cert--04 .image img {
  display: block;
  margin: 0;
  width: auto;
  height: 2.4rem;
}

.block-sustainable-04.block-cert,
.block-sustainable-04.is-beige {
  background: #e8e2d9;
  color: var(--color-01);
}
.block-sustainable-04.block-cert .item + .item,
.block-sustainable-04.is-beige .item + .item {
  border-top-color: rgba(103, 93, 56, 0.25);
}

.block-sustainable-04 .item--03 .image img {
  display: block;
  margin: 0 auto;
  width: 70%;
}
@media only screen and (max-width: 767px) {
  .block-sustainable-04 .item--03 .image img {
    width: 85%;
  }
}

.block-sustainable-04:not(.block-cert) .item + .item {
  border-top: none;
}

@media only screen and (min-width: 768px) {
  .block-sustainable-04.is-reverse .item {
    grid-template-areas: "image text";
  }
}

.block-sustainable-04.block-cert .secttl:before,
.block-sustainable-04.is-beige .secttl:before {
  background: var(--color-01);
}

.block-sustainable-04.block-cert:not(.is-single) {
  padding-bottom: 0;
}

.block-sustainable-04.is-beige {
  padding-top: 1.2rem;
}

.block-sustainable-00 {
  padding-bottom: 1.5rem;
}
@media only screen and (max-width: 767px) {
  .block-sustainable-00 {
    padding-bottom: 1rem;
  }
}
.block-sustainable-00 .dummy-box {
  margin: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 1920/900;
  background: #c9c4bb;
  color: #fff;
  text-align: center;
  line-height: 1.8;
  font-size: 0.3rem;
  letter-spacing: 0.08em;
}
.block-sustainable-00 .dummy-box small {
  display: block;
  margin-top: 0.2rem;
  font-size: 0.16rem;
  letter-spacing: 0.04em;
}
@media only screen and (max-width: 767px) {
  .block-sustainable-00 .dummy-box {
    aspect-ratio: 375/420;
    font-size: 0.34rem;
  }
  .block-sustainable-00 .dummy-box small {
    margin-top: 0.3rem;
    font-size: 0.2rem;
  }
}

.block-sustainable-lead {
  padding: 0 0 1.2rem;
}
@media only screen and (max-width: 767px) {
  .block-sustainable-lead {
    padding: 0 0 0.9rem;
  }
}
.block-sustainable-lead .secttl {
  margin-bottom: 0;
}
/* 修景邸宅思想：確定原稿 */
.block-sustainable-lead,
.block-sustainable-00 { background: #e8e2d9; }
.block-sustainable-lead { padding-bottom: clamp(48px, 6vw, 84px); }
.block-sustainable-lead .secttl { margin-bottom: 0; }
.block-sustainable-00 { padding-bottom: clamp(80px, 10vw, 150px); text-align: center; }
.block-sustainable-00 .philosophy-title { margin: 0; font-size: clamp(18px, 1.5vw, 24px); font-weight: 400; letter-spacing: .24em; line-height: 2; }
.block-sustainable-00 .philosophy-copy { margin: 36px 0 0; font-size: clamp(13px, 1vw, 16px); letter-spacing: .16em; line-height: 3.2; }
.block-sustainable-00 .philosophy-copy span { display: block; }
@media only screen and (max-width: 767px) {
  .block-sustainable-lead { padding-bottom: 40px; }
  .block-sustainable-00 { padding-bottom: 72px; }
  .block-sustainable-00 .mw-1400 { width: calc(100% - 48px); }
  .block-sustainable-00 .philosophy-title { font-size: 18px; letter-spacing: .12em; line-height: 2; }
  .block-sustainable-00 .philosophy-copy { max-width: 480px; margin: 28px auto 0; font-size: 13px; letter-spacing: .08em; line-height: 2.5; text-align: left; }
  .block-sustainable-00 .philosophy-copy span { display: inline; }
}
/*# sourceMappingURL=sustainable.css.map */
/* 認証ロゴの白地をページ背景になじませる */
.block-sustainable-04.block-cert .items:has(> .cert--03) {
  mix-blend-mode: multiply;
}
.block-sustainable-04.block-cert .cert--03 .image,
.block-sustainable-04.block-cert .cert--04 .image {
  background: transparent;
}

/* SPのみ認証ロゴを少し大きく表示 */
@media only screen and (max-width: 767px) {
  .block-sustainable-04.block-cert .cert--03 .image img,
  .block-sustainable-04.block-cert .cert--04 .image img {
    height: 3rem;
  }
}

/* 2026-09-26 見出しを他の見出しと同じウエイト・字間に揃える */
.block-sustainable-00 .philosophy-title {
  font-size: 0.2rem;
  font-weight: 300;
  letter-spacing: 0.2em;
  line-height: 2;
}
@media only screen and (max-width: 767px) {
  .block-sustainable-00 .philosophy-title { font-size: 0.32rem; letter-spacing: 0.2em; }
}

/* Landscape Stones: lead copy spacing */
.block-sustainable-04.is-reverse .item .text .sttl + p {
  line-height: 2.1;
}

/* Keep the four cherry blossom photos in matching frames. */
.block-blossom-01 .item--02 .images .image img {
  width: 100%;
  height: auto;
  aspect-ratio: 5 / 3;
  object-fit: cover;
}

/* 2026-09-28 桜4種のブロックは見出し・リードを外したので横一列に */
.block-blossom-01 .item.item--02,
.block-blossom-01 .item.item--02:nth-child(even) {
  grid-template-columns: 1fr;
  grid-template-areas: "image";
}
.block-blossom-01 .item.item--02 .images { grid-area: image; }
@media only screen and (min-width: 768px) {
  .block-blossom-01 .item.item--02 { padding-top: 1.2rem; }
}
@media only screen and (min-width: 768px) {
  .block-blossom-01 .item.item--02 .images { grid-template-columns: repeat(4, 1fr); }
}
.block-blossom-01 .item.item--02 .images img { width: 100%; }
