/* Common renewal elements for legacy lower-page templates. */
.cmn-mainContents {
  background: #fbf9f2;
  color: #4a4438;
}

/* Breadcrumbs now precede the page title in every lower-page template. */
.cmn-mainContents .cmn-breadcrumbs {
  width: 100%;
  max-width: 1100px;
  margin: 0 auto;
  padding: 30px 6% 0;
  color: #a09c90;
  font-size: 12px;
  line-height: 1.5;
}
.cmn-mainContents .cmn-breadcrumbs_item,
.cmn-mainContents .cmn-breadcrumbs.is-white .cmn-breadcrumbs_item,
.cmn-mainContents .cmn-breadcrumbs > span {
  color: #a09c90;
  font-size: 12px;
}
.cmn-mainContents .cmn-breadcrumbs_item a,
.cmn-mainContents .cmn-breadcrumbs.is-white .cmn-breadcrumbs_item a,
.cmn-mainContents .cmn-breadcrumbs > span a {
  color: #2b5aa3;
  font-size: inherit;
}
.cmn-mainContents .cmn-breadcrumbs_item a:hover {
  color: #e2703a;
}

.cmn-mainContents .mod-pageTitle,
.cmn-mainContents .mod-imageTitle {
  display: flex;
  flex-direction: column-reverse;
  justify-content: center;
  gap: 8px;
  margin: 0;
  padding: 20px 20px 40px;
  background-color: #fbf9f2;
  background-image: none;
  color: #2b5aa3;
}
.cmn-mainContents .mod-pageTitle_sub,
.cmn-mainContents .mod-imageTitle_sub {
  color: #2b5aa3;
  font-family: "Noto Sans CJK JP", "Hiragino Kaku Gothic ProN", sans-serif;
  font-size: 32px;
  font-weight: 900;
  line-height: 1.4;
  letter-spacing: 0;
}
.cmn-mainContents .mod-pageTitle_main,
.cmn-mainContents .mod-imageTitle_main {
  color: #e2703a;
  font-family: "Montserrat", sans-serif;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 2px;
}
.cmn-mainContents .mod-sectionTitle01:not(.is-white) {
  color: #2b5aa3;
  font-family: "Noto Sans CJK JP", "Hiragino Kaku Gothic ProN", sans-serif;
  font-size: 24px;
  font-weight: 900;
}
.cmn-mainContents .mod-sectionTitle01:not(.is-white)::after {
  width: 40px;
  height: 4px;
  border-radius: 2px;
  background: #e2703a;
}

/* Reuse the new palette for shared legacy buttons and contact invitation. */
.cmn-mainContents .mod-button {
  background: #2b5aa3;
  box-shadow: none;
}
.cmn-mainContents .mod-button02 {
  border-color: #c9d6e4;
  color: #2b5aa3;
}
.cmn-mainContents .parts-contact {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 24px;
  padding: 60px 20px;
  background: #2b5aa3;
  text-align: center;
}
.cmn-mainContents .parts-contact_title {
  width: auto;
  margin: 0;
  padding: 0;
  color: #fff;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.7;
}
.cmn-mainContents .parts-contact .parts-contactButton {
  width: auto;
  max-width: 100%;
  margin: 0;
}
.cmn-mainContents .parts-contact .mod-contactButton {
  width: auto;
  min-width: 0;
  min-height: 0;
  height: auto;
  padding: 15px 44px;
  background: #e2703a;
  box-shadow: none;
  color: #fff4ec;
  font-size: 15px;
  letter-spacing: .04em;
}
.cmn-mainContents .parts-contact .mod-contactButton::before,
.cmn-mainContents .parts-contact .mod-contactButton::after {
  display: none;
}
.cmn-mainContents .parts-contact .mod-contactButton:hover {
  opacity: .8;
}

.p-partners .partners-introduction_lede {
  margin-top: 0;
}

/* Restore the original white background on works listings only. */
body.post-type-archive-works,
body.tax-work_cate,
.cmn-mainContents.works-list-page,
.works-list-page .mod-pageTitle {
  background-color: #fff;
}
.works-list-page .aNews-articleList .mod-card {
  background: #fff;
}

/* Restore white on works detail pages, keeping their original gray sections. */
body.single-works,
body.single-works .cmn-mainContents,
body.single-works .cmn-mainContents .mod-pageTitle {
  background-color: #fff;
}

@media (max-width: 768px) {
  .cmn-mainContents .cmn-breadcrumbs {
    padding: 24px 20px 0;
  }
  .cmn-mainContents .mod-pageTitle,
  .cmn-mainContents .mod-imageTitle {
    padding: 20px 20px 30px;
  }
  .cmn-mainContents .mod-pageTitle_sub,
  .cmn-mainContents .mod-imageTitle_sub {
    font-size: 24px;
  }
  .cmn-mainContents .mod-sectionTitle01:not(.is-white) {
    font-size: 20px;
  }
  .cmn-mainContents .parts-contact {
    gap: 20px;
    padding: 40px 20px;
  }
  .cmn-mainContents .parts-contact_title {
    font-size: 16px;
  }
  .cmn-mainContents .parts-contact .mod-contactButton {
    padding: 13px 28px;
    font-size: 14px;
  }
  .footer,
  .copyright {
    margin-bottom: 0;
  }
}
