/* =========================
下層ページ共通
========================= */

.sub-page{
  overflow:hidden;
}

.sub-hero{
  width:min(1160px, calc(100% - 60px));
  margin:30px auto 70px;
  padding:80px 30px;
  border-radius:30px;
  background:
    linear-gradient(rgba(255,253,248,.82), rgba(255,253,248,.82)),
    url("../../images/photo03.jpg") center/cover no-repeat;
  text-align:center;
}

.sub-hero__en{
  margin:0 0 8px;
  color:var(--green);
  font-size:15px;
  font-weight:800;
  letter-spacing:.16em;
}

.sub-hero h1{
  margin:0 0 18px;
  font-size:36px;
  line-height:1.5;
  color:var(--brown);
}

.sub-hero p{
  margin:0;
  font-size:16px;
  line-height:2.1;
}

.section-label{
  display:inline-block;
  margin:0 0 14px;
  color:var(--green);
  font-size:14px;
  font-weight:800;
  letter-spacing:.14em;
}

.about-lead,
.about-message{
  width:min(1160px, calc(100% - 60px));
  margin:0 auto 80px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:54px;
  align-items:center;
}

.about-lead h2,
.about-message h2{
  margin:0 0 24px;
  font-size:30px;
  line-height:1.8;
}

.about-lead p,
.about-message p{
  font-size:15px;
  line-height:2.2;
}

.about-lead__photo img,
.about-message__photo img{
  width:100%;
  height:360px;
  object-fit:cover;
  border-radius:24px;
  box-shadow:0 12px 32px rgba(93,61,27,.08);
}

.about-values{
  width:min(1160px, calc(100% - 60px));
  margin:0 auto 80px;
  padding:44px 38px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:26px;
  box-shadow:0 10px 30px rgba(93,61,27,.05);
}
.about-values__grid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:24px;
}
.about-values h2{
  margin:0 0 32px;
  text-align:center;
  font-size:26px;
}

.about-values h2 span:before{
  content:"";
  display:inline-block;
  width:48px;
  height:18px;
  background:url("../../images/leaf-left.png") center/contain no-repeat;
  margin-right:18px;
}

.about-values h2 span:after{
  content:"";
  display:inline-block;
  width:48px;
  height:18px;
  background:url("../../images/leaf-right.png") center/contain no-repeat;
  margin-left:18px;
}

.about-values__grid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:24px;
}

.about-values__grid article{
  padding:28px 24px;
  background:var(--soft);
  border-radius:20px;
}

.about-values__grid span{
  color:var(--gold);
  font-size:14px;
  font-weight:800;
}

.about-values__grid h3{
  margin:8px 0 12px;
  color:var(--green);
  font-size:18px;
}

.about-values__grid p{
  margin:0;
  font-size:13px;
  line-height:2;
  color:#2d2119;
}

.about-overview{
  width:min(900px, calc(100% - 60px));
  margin:0 auto 90px;
}

.about-overview h2{
  margin:0 0 28px;
  text-align:center;
  font-size:26px;
}

.about-overview dl{
  margin:0;
  background:#fff;
  border:1px solid var(--line);
  border-radius:24px;
  overflow:hidden;
}

.about-overview dl div{
  display:grid;
  grid-template-columns:220px 1fr;
  border-bottom:1px solid var(--line);
}

.about-overview dl div:last-child{
  border-bottom:0;
}

.about-overview dt,
.about-overview dd{
  margin:0;
  padding:20px 24px;
}

.about-overview dt{
  background:#f8f4eb;
  color:var(--green);
  font-weight:800;
}

.about-overview dd{
  background:#fff;
}

/* スマホ */
@media (max-width:1000px){

  .sub-hero{
    width:calc(100% - 36px);
    margin:20px auto 50px;
    padding:58px 20px;
    border-radius:24px;
  }

  .sub-hero h1{
    font-size:24px;
  }

  .about-lead,
  .about-message{
    width:calc(100% - 36px);
    grid-template-columns:1fr;
    gap:28px;
    margin-bottom:58px;
  }

  .about-message__photo{
    order:2;
  }

  .about-message__text{
    order:1;
  }

  .about-lead h2,
  .about-message h2{
    font-size:24px;
  }

  .about-lead__photo img,
  .about-message__photo img{
    height:260px;
  }

  .about-values{
    width:calc(100% - 36px);
    padding:34px 22px;
  }

  .about-values h2{
    font-size:22px;
  }

  .about-values h2 span:before,
  .about-values h2 span:after{
    display:none;
  }

  .about-values__grid{
    grid-template-columns:1fr;
  }

  .about-overview{
    width:calc(100% - 36px);
  }

  .about-overview dl div{
    grid-template-columns:1fr;
  }

  .about-overview dt,
  .about-overview dd{
    padding:16px 18px;
  }
}