/* =========================================================
   DAHN WORLD JAPAN
   Custom Styles
   ========================================================= */


/* ---------------------------------------------------------
   HOME : HERO
   --------------------------------------------------------- */

.dwj-home {
  width: 100%;
}

.dwj-hero {
  position: relative;
  padding: 110px 24px 120px;
  background:
    radial-gradient(
      circle at 85% 25%,
      rgba(72, 171, 188, 0.14) 0,
      rgba(72, 171, 188, 0.06) 25%,
      transparent 48%
    ),
    linear-gradient(
      135deg,
      #f8fbfa 0%,
      #ffffff 55%,
      #f3f8f7 100%
    );
  overflow: hidden;
}

.dwj-hero__inner {
  width: min(1180px, 100%);
  margin: 0 auto;
}

.dwj-hero__content {
  max-width: 760px;
}

.dwj-hero__eyebrow {
  margin: 0 0 30px;
  color: #477d76;
  font-size: 15px;
  font-weight: 600;
  letter-spacing: 0.14em;
}

.dwj-hero__title {
  margin: 0;
  color: #222;
  font-size: clamp(38px, 4.2vw, 64px);
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: 0.02em;
}

.dwj-hero__title span {
  display: block;
  color: #477d76;
}

.dwj-hero__lead {
  margin: 38px 0 0;
  color: #444;
  font-size: 17px;
  line-height: 2;
  letter-spacing: 0.03em;
}

.dwj-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  margin-top: 42px;
}

.dwj-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 210px;
  min-height: 56px;
  padding: 12px 28px;
  border: 1px solid #477d76;
  border-radius: 4px;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.4;
  text-decoration: none !important;
  transition:
    background-color 0.25s ease,
    color 0.25s ease,
    transform 0.25s ease;
}

.dwj-button--primary {
  background: #477d76;
  color: #fff !important;
}

.dwj-button--outline {
  background: #fff;
  color: #477d76 !important;
}

.dwj-button:hover {
  transform: translateY(-2px);
}

.dwj-button--primary:hover {
  background: #365f5a;
}

.dwj-button--outline:hover {
  background: #f3f8f7;
}


/* ---------------------------------------------------------
   HOME : HERO / Mobile
   --------------------------------------------------------- */

@media (max-width: 767px) {

  .dwj-hero {
    padding: 70px 20px 80px;
  }

  .dwj-hero__eyebrow {
    margin-bottom: 22px;
    font-size: 13px;
  }

  .dwj-hero__title {
    font-size: 34px;
    line-height: 1.45;
  }

  .dwj-hero__lead {
    margin-top: 28px;
    font-size: 15px;
    line-height: 1.9;
  }

  .dwj-pc-only {
    display: none;
  }

  .dwj-hero__actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
    margin-top: 34px;
  }

  .dwj-button {
    width: 100%;
    min-width: 0;
  }
}
/* ---------------------------------------------------------
   HOME : ABOUT
   --------------------------------------------------------- */

.dwj-about {
  padding: 120px 24px;
  background: #fff;
}

.dwj-about__inner {
  width: min(1180px, 100%);
  margin: 0 auto;
}

.dwj-section-head__en {
  margin: 0 0 18px;
  color: #477d76;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.16em;
}

.dwj-section-head__title {
  margin: 0;
  color: #222;
  font-size: clamp(32px, 3.4vw, 48px);
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.03em;
}

.dwj-about__body {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.35fr);
  gap: 90px;
  margin-top: 70px;
  align-items: start;
}

.dwj-about__message {
  color: #444;
  font-size: 16px;
  line-height: 2;
}

.dwj-about__message p {
  margin: 0 0 24px;
}

.dwj-text-link {
  display: inline-flex;
  gap: 14px;
  align-items: center;
  margin-top: 12px;
  padding-bottom: 6px;
  border-bottom: 1px solid #477d76;
  color: #477d76 !important;
  font-weight: 600;
  text-decoration: none !important;
}

.dwj-about__vision {
  border-top: 1px solid #dce7e5;
}

.dwj-vision-item {
  position: relative;
  padding: 28px 10px 30px 76px;
  border-bottom: 1px solid #dce7e5;
}

.dwj-vision-item__number {
  position: absolute;
  top: 31px;
  left: 4px;
  color: #8aafaa;
  font-size: 13px;
  letter-spacing: 0.08em;
}

.dwj-vision-item__en {
  margin: 0 0 7px;
  color: #477d76;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.14em;
}

.dwj-vision-item h3 {
  margin: 0 0 8px;
  color: #222;
  font-size: 24px;
  font-weight: 600;
}

.dwj-vision-item p:last-child {
  margin: 0;
  color: #666;
  font-size: 14px;
  line-height: 1.8;
}


/* HOME : ABOUT / Mobile */

@media (max-width: 767px) {

  .dwj-about {
    padding: 80px 20px;
  }

  .dwj-section-head__title {
    font-size: 30px;
  }

  .dwj-about__body {
    grid-template-columns: 1fr;
    gap: 50px;
    margin-top: 45px;
  }

  .dwj-about__message {
    font-size: 15px;
    line-height: 1.9;
  }

  .dwj-vision-item {
    padding: 24px 0 25px 54px;
  }

  .dwj-vision-item__number {
    top: 27px;
    left: 0;
  }

  .dwj-vision-item h3 {
    font-size: 21px;
  }
}
/* ---------------------------------------------------------
   HOME : BUSINESS / BRANDS
   --------------------------------------------------------- */

.dwj-business {
  padding: 120px 24px;
  background: #f5f9f8;
}

.dwj-business__inner {
  width: min(1180px, 100%);
  margin: 0 auto;
}

.dwj-business__intro {
  max-width: 680px;
  margin: 35px 0 0;
  color: #555;
  font-size: 16px;
  line-height: 2;
}

.dwj-business__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
  margin-top: 65px;
}

.dwj-brand-card {
  position: relative;
  min-height: 360px;
  padding: 38px 34px 34px;
  background: #fff;
  border: 1px solid #e1e9e7;
  transition:
    transform 0.25s ease,
    box-shadow 0.25s ease;
}

.dwj-brand-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 14px 35px rgba(36, 73, 68, 0.08);
}

.dwj-brand-card__number {
  margin: 0 0 50px;
  color: #9bb8b4;
  font-size: 13px;
  letter-spacing: 0.1em;
}

.dwj-brand-card__category {
  margin: 0 0 12px;
  color: #477d76;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.12em;
}

.dwj-brand-card h3 {
  margin: 0 0 22px;
  color: #222;
  font-size: 24px;
  font-weight: 600;
  line-height: 1.5;
}

.dwj-brand-card__description {
  margin: 0;
  color: #666;
  font-size: 14px;
  line-height: 1.9;
}

.dwj-brand-card__link {
  position: absolute;
  right: 34px;
  bottom: 32px;
  left: 34px;
  display: flex;
  justify-content: space-between;
  padding-top: 15px;
  border-top: 1px solid #dce7e5;
  color: #477d76 !important;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none !important;
}

.dwj-business__more {
  margin-top: 45px;
  text-align: center;
}


/* HOME : BUSINESS / Mobile */

@media (max-width: 767px) {

  .dwj-business {
    padding: 80px 20px;
  }

  .dwj-business__intro {
    margin-top: 28px;
    font-size: 15px;
    line-height: 1.9;
  }

  .dwj-business__grid {
    grid-template-columns: 1fr;
    gap: 16px;
    margin-top: 45px;
  }

  .dwj-brand-card {
    min-height: 310px;
    padding: 30px 26px;
  }

  .dwj-brand-card__number {
    margin-bottom: 36px;
  }

  .dwj-brand-card h3 {
    font-size: 22px;
  }

  .dwj-brand-card__link {
    right: 26px;
    bottom: 27px;
    left: 26px;
  }

  .dwj-business__more {
    margin-top: 35px;
  }
}
/* ---------------------------------------------------------
   HOME : BRAIN EDUCATION
   --------------------------------------------------------- */

.dwj-brain {
  padding: 120px 24px;
  background: #244944;
  color: #fff;
}

.dwj-brain__inner {
  width: min(1180px, 100%);
  margin: 0 auto;
}

.dwj-brain .dwj-section-head__en {
  color: #a8d0ca;
}

.dwj-brain__label {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}

.dwj-brain__number {
  margin: 0;
  color: #7fa9a3;
  font-size: 13px;
  letter-spacing: 0.14em;
}

.dwj-brain__content {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(300px, 0.8fr);
  gap: 90px;
  margin-top: 45px;
  align-items: start;
}

.dwj-brain__title {
  margin: 0;
  color: #fff;
  font-size: clamp(36px, 4vw, 56px);
  font-weight: 600;
  line-height: 1.55;
  letter-spacing: 0.03em;
}

.dwj-brain__text {
  color: rgba(255, 255, 255, 0.82);
  font-size: 15px;
  line-height: 2;
}

.dwj-brain__text p {
  margin: 0 0 22px;
}

.dwj-brain .dwj-text-link {
  margin-top: 10px;
  border-bottom-color: #a8d0ca;
  color: #c5e2de !important;
}

.dwj-brain__steps {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  margin-top: 85px;
  border-top: 1px solid rgba(255, 255, 255, 0.2);
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
}

.dwj-brain-step {
  min-height: 150px;
  padding: 26px 22px;
  border-right: 1px solid rgba(255, 255, 255, 0.16);
}

.dwj-brain-step:last-child {
  border-right: 0;
}

.dwj-brain-step span {
  display: block;
  margin-bottom: 34px;
  color: #8fb9b3;
  font-size: 12px;
  letter-spacing: 0.1em;
}

.dwj-brain-step p {
  margin: 0;
  color: #fff;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.7;
}


/* HOME : BRAIN EDUCATION / Mobile */

@media (max-width: 767px) {

  .dwj-brain {
    padding: 80px 20px;
  }

  .dwj-brain__content {
    grid-template-columns: 1fr;
    gap: 38px;
    margin-top: 35px;
  }

  .dwj-brain__title {
    font-size: 31px;
  }

  .dwj-brain__text {
    font-size: 15px;
    line-height: 1.9;
  }

  .dwj-brain__steps {
    grid-template-columns: 1fr;
    margin-top: 55px;
  }

  .dwj-brain-step {
    display: grid;
    grid-template-columns: 45px 1fr;
    align-items: center;
    min-height: 0;
    padding: 20px 4px;
    border-right: 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.16);
  }

  .dwj-brain-step:last-child {
    border-bottom: 0;
  }

  .dwj-brain-step span {
    margin: 0;
  }
}
/* ---------------------------------------------------------
   HOME : SOCIAL ACTION
   --------------------------------------------------------- */

.dwj-social {
  padding: 120px 24px;
  background: #fff;
}

.dwj-social__inner {
  width: min(1180px, 100%);
  margin: 0 auto;
}

.dwj-social__head {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(300px, 0.85fr);
  gap: 90px;
  align-items: end;
}

.dwj-social__intro {
  padding-bottom: 5px;
  color: #555;
  font-size: 15px;
  line-height: 2;
}

.dwj-social__intro p {
  margin: 0 0 22px;
}

.dwj-social__message {
  margin-top: 85px;
  padding: 55px 50px;
  background: #f3f8f7;
  text-align: center;
}

.dwj-social__message-en {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 25px;
  margin: 0;
  color: #477d76;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.12em;
}

.dwj-social__message-en span {
  color: #9bb8b4;
  font-weight: 400;
}

.dwj-social__message-ja {
  margin: 22px 0 0;
  color: #222;
  font-size: 24px;
  font-weight: 600;
  letter-spacing: 0.04em;
}


/* HOME : SOCIAL ACTION / Mobile */

@media (max-width: 767px) {

  .dwj-social {
    padding: 80px 20px;
  }

  .dwj-social__head {
    grid-template-columns: 1fr;
    gap: 35px;
  }

  .dwj-social__intro {
    font-size: 15px;
    line-height: 1.9;
  }

  .dwj-social__message {
    margin-top: 50px;
    padding: 38px 22px;
  }

  .dwj-social__message-en {
    flex-direction: column;
    gap: 8px;
  }

  .dwj-social__message-en span {
    transform: rotate(90deg);
  }

  .dwj-social__message-ja {
    margin-top: 25px;
    font-size: 21px;
    line-height: 1.7;
  }
}
/* ---------------------------------------------------------
   HOME : BUSINESS PROGRAM
   --------------------------------------------------------- */

.dwj-corporate {
  padding: 120px 24px;
  background: #edf5f3;
}

.dwj-corporate__inner {
  width: min(1180px, 100%);
  margin: 0 auto;
}

.dwj-corporate__head {
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap: 90px;
  align-items: end;
}

.dwj-corporate__title {
  margin: 0;
  color: #222;
  font-size: clamp(36px, 4vw, 54px);
  font-weight: 700;
  line-height: 1.45;
}

.dwj-corporate__lead {
  margin: 0;
  color: #555;
  font-size: 16px;
  line-height: 2;
}

.dwj-corporate__body {
  display: grid;
  grid-template-columns: 0.85fr 1.15fr;
  gap: 70px;
  margin-top: 65px;
  padding-top: 55px;
  border-top: 1px solid #cadbd8;
}

.dwj-corporate__program {
  padding-right: 20px;
}

.dwj-corporate__label {
  margin: 0 0 15px;
  color: #477d76;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.14em;
}

.dwj-corporate__program h3 {
  margin: 0 0 22px;
  color: #222;
  font-size: 28px;
  font-weight: 600;
}

.dwj-corporate__program > p:not(.dwj-corporate__label) {
  margin: 0 0 22px;
  color: #555;
  font-size: 15px;
  line-height: 2;
}

.dwj-corporate__targets {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  border-top: 1px solid #cadbd8;
  border-left: 1px solid #cadbd8;
}

.dwj-corporate-target {
  min-height: 145px;
  padding: 25px 28px;
  border-right: 1px solid #cadbd8;
  border-bottom: 1px solid #cadbd8;
}

.dwj-corporate-target span {
  display: block;
  margin-bottom: 26px;
  color: #82a9a3;
  font-size: 12px;
}

.dwj-corporate-target p {
  margin: 0;
  color: #333;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.6;
}

.dwj-corporate__actions {
  display: flex;
  justify-content: center;
  gap: 16px;
  margin-top: 55px;
}


/* HOME : BUSINESS PROGRAM / Mobile */

@media (max-width: 767px) {

  .dwj-corporate {
    padding: 80px 20px;
  }

  .dwj-corporate__head,
  .dwj-corporate__body {
    grid-template-columns: 1fr;
  }

  .dwj-corporate__head {
    gap: 28px;
  }

  .dwj-corporate__title {
    font-size: 31px;
  }

  .dwj-corporate__lead {
    font-size: 15px;
    line-height: 1.9;
  }

  .dwj-corporate__body {
    gap: 45px;
    margin-top: 45px;
    padding-top: 40px;
  }

  .dwj-corporate__targets {
    grid-template-columns: 1fr 1fr;
  }

  .dwj-corporate-target {
    min-height: 125px;
    padding: 20px;
  }

  .dwj-corporate-target p {
    font-size: 14px;
  }

  .dwj-corporate__actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
    margin-top: 40px;
  }
}
/* ---------------------------------------------------------
   HOME : CONTACT CTA
   --------------------------------------------------------- */

.dwj-contact-cta {
  padding: 125px 24px;
  background: #214f49;
  color: #fff;
}

.dwj-contact-cta__inner {
  width: min(900px, 100%);
  margin: 0 auto;
  text-align: center;
}

.dwj-contact-cta__en {
  margin: 0 0 28px;
  color: #b9d3cf;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.18em;
}

.dwj-contact-cta__title {
  margin: 0;
  color: #fff;
  font-size: clamp(38px, 4.5vw, 58px);
  font-weight: 600;
  line-height: 1.45;
  letter-spacing: 0.03em;
}

.dwj-contact-cta__text {
  max-width: 650px;
  margin: 30px auto 0;
  color: rgba(255, 255, 255, 0.82);
  font-size: 15px;
  line-height: 2;
}

.dwj-contact-cta__button {
  display: inline-flex;
  justify-content: space-between;
  align-items: center;
  gap: 70px;
  min-width: 300px;
  margin-top: 42px;
  padding: 20px 25px;
  border: 1px solid rgba(255, 255, 255, 0.7);
  color: #fff;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  transition:
    background-color 0.25s ease,
    color 0.25s ease;
}

.dwj-contact-cta__button:hover {
  background: #fff;
  color: #214f49;
  text-decoration: none;
}


/* HOME : CONTACT CTA / Mobile */

@media (max-width: 767px) {

  .dwj-contact-cta {
    padding: 85px 20px;
  }

  .dwj-contact-cta__en {
    margin-bottom: 22px;
  }

  .dwj-contact-cta__title {
    font-size: 32px;
  }

  .dwj-contact-cta__text {
    margin-top: 24px;
    font-size: 14px;
    line-height: 1.9;
  }

  .dwj-contact-cta__button {
    width: 100%;
    min-width: 0;
    margin-top: 35px;
  }
}
/* ---------------------------------------------------------
   HOME : HERO mobile fine tuning
   --------------------------------------------------------- */

@media (max-width: 767px) {

  .dwj-hero {
    padding-left: 18px;
    padding-right: 18px;
  }

  .dwj-hero__title {
    font-size: 28px;
    line-height: 1.45;
    letter-spacing: 0;
  }

  .dwj-hero__title-accent {
    font-size: 34px;
  }

  .dwj-hero__lead {
    font-size: 14px;
    line-height: 1.9;
  }
}
/* ---------------------------------------------------------
   HOME : ABOUT mobile fine tuning
   --------------------------------------------------------- */

@media (max-width: 767px) {

  .dwj-about .dwj-section-head__title {
    font-size: 27px;
    line-height: 1.55;
    letter-spacing: 0;
  }

}
/* ========================================
   ABOUT US 見出し：スマホ2行固定
======================================== */
@media (max-width: 767px) {

  #dwj-about-title {
    font-size: clamp(22px, 6.1vw, 24px);
    line-height: 1.65;
    letter-spacing: -0.04em;
    white-space: nowrap;
  }

}
/* ========================================
   BUSINESS & BRANDS 見出し：スマホ2行固定
======================================== */
@media (max-width: 767px) {

  #dwj-business-title {
    font-size: clamp(22px, 5.8vw, 23px);
    line-height: 1.65;
    letter-spacing: -0.05em;
    white-space: nowrap;
  }

}
/* ==================================================
   Footer
================================================== */

/* Lightning 標準の Powered by 表示を非表示 */
.site-footer-copyright > p:nth-child(2) {
  display: none;
}
/* =========================================================
   下層ページ：私たちについて
   ========================================================= */

.dwj-about-page {
  color: #222;
}

.dwj-about-page .dwj-inner {
  width: min(100% - 48px, 1120px);
  margin-inline: auto;
}


/* -------------------------
   INTRO
   ------------------------- */

.dwj-about-page__intro {
  padding: 80px 0 88px;
}

.dwj-about-page .dwj-section-head {
  margin: 0 0 36px;
}

.dwj-about-page .dwj-section-head__eyebrow {
  margin: 0 0 20px;
  padding-bottom: 18px;
  border-bottom: 2px solid #3987c7;

  color: #176f69;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.16em;
  line-height: 1.5;
}

.dwj-about-page .dwj-section-head__title {
  margin: 0;
  padding-bottom: 28px;
  border-bottom: 1px solid #e5e9e8;

  color: #171717;
  font-size: clamp(30px, 4vw, 46px);
  font-weight: 700;
  line-height: 1.45;
  letter-spacing: 0.01em;
}

.dwj-about-page__lead {
  max-width: 760px;
}

.dwj-about-page__lead p {
  margin: 0 0 22px;
  font-size: 16px;
  line-height: 2;
}

.dwj-about-page__lead p:last-child {
  margin-bottom: 0;
}


/* -------------------------
   COMPANY GUIDE
   ------------------------- */

.dwj-about-page__guide {
  padding: 80px 0 100px;
  background: #f4f8f7;
}

.dwj-about-page__cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
}


/* -------------------------
   CARD
   ------------------------- */

.dwj-about-page .dwj-about-card {
  position: relative;
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr) 32px;
  gap: 18px;
  align-items: start;

  min-height: 245px;
  padding: 34px 30px;

  background: #fff;
  border: 1px solid #dfe8e6;

  color: #222;
  text-decoration: none;

  transition:
    transform 0.2s ease,
    box-shadow 0.2s ease,
    border-color 0.2s ease;
}

.dwj-about-page .dwj-about-card:hover {
  transform: translateY(-3px);
  border-color: #8bb9b3;
  box-shadow: 0 10px 30px rgba(30, 75, 70, 0.08);
  color: #222;
  text-decoration: none;
}

.dwj-about-card__number {
  padding-top: 2px;
  color: #6da29d;
  font-size: 12px;
  letter-spacing: 0.08em;
}

.dwj-about-card__en {
  margin: 0 0 14px !important;

  color: #176f69;
  font-size: 11px !important;
  font-weight: 600;
  letter-spacing: 0.13em;
  line-height: 1.5 !important;
}

.dwj-about-card__body h3 {
  position: relative;

  margin: 0 0 20px;
  padding: 0 0 18px;

  color: #171717;
  font-size: 22px;
  font-weight: 700;
  line-height: 1.5;
}

.dwj-about-card__body h3::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;

  width: 56px;
  height: 2px;
  background: #3987c7;
}

.dwj-about-card__body p:not(.dwj-about-card__en) {
  margin: 0;
  color: #4b5553;
  font-size: 14px;
  line-height: 1.9;
}

.dwj-about-card__arrow {
  align-self: end;
  justify-self: end;

  color: #176f69;
  font-size: 20px;
  line-height: 1;
}


/* -------------------------
   TABLET
   ------------------------- */

@media (max-width: 991px) {

  .dwj-about-page__intro {
    padding: 64px 0 70px;
  }

  .dwj-about-page__guide {
    padding: 64px 0 80px;
  }

  .dwj-about-page .dwj-section-head__title {
    font-size: 36px;
  }

}


/* -------------------------
   MOBILE
   ------------------------- */

@media (max-width: 767px) {

  .dwj-about-page .dwj-inner {
    width: min(100% - 40px, 1120px);
  }

  .dwj-about-page__intro {
    padding: 52px 0 60px;
  }

  .dwj-about-page__guide {
    padding: 54px 0 64px;
  }

  .dwj-about-page .dwj-section-head {
    margin-bottom: 28px;
  }

  .dwj-about-page .dwj-section-head__eyebrow {
    margin-bottom: 16px;
    padding-bottom: 14px;
    font-size: 11px;
  }

  .dwj-about-page .dwj-section-head__title {
    padding-bottom: 20px;
    font-size: 27px;
    line-height: 1.55;
  }

  .dwj-about-page__lead p {
    margin-bottom: 20px;
    font-size: 14px;
    line-height: 1.9;
  }

  .dwj-about-page__cards {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .dwj-about-page .dwj-about-card {
    grid-template-columns: 34px minmax(0, 1fr) 22px;
    gap: 12px;

    min-height: 0;
    padding: 26px 20px;
  }

  .dwj-about-card__number {
    font-size: 10px;
  }

  .dwj-about-card__en {
    margin-bottom: 10px !important;
    font-size: 10px !important;
  }

  .dwj-about-card__body h3 {
    margin-bottom: 14px;
    padding-bottom: 14px;
    font-size: 19px;
  }

  .dwj-about-card__body h3::after {
    width: 44px;
  }

  .dwj-about-card__body p:not(.dwj-about-card__en) {
    font-size: 13px;
    line-height: 1.8;
  }

  .dwj-about-card__arrow {
    font-size: 17px;
  }

}
/* =========================================================
   ABOUT PAGE : heading fine tuning
   ========================================================= */

/* ABOUT US / COMPANY の青線を1本に */
.dwj-about-page .dwj-section-head__eyebrow {
  border-bottom: 0;
  padding-bottom: 0;
}

.dwj-about-page .dwj-section-head {
  padding-bottom: 18px;
  border-bottom: 2px solid #477d76;
}

.dwj-about-page .dwj-section-head__title {
  border-bottom: 0;
  padding-bottom: 0;
}


/* ---------------------------------------------------------
   ABOUT PAGE : Mobile
   --------------------------------------------------------- */

@media (max-width: 767px) {

  .dwj-about-page .dwj-section-head {
    padding-bottom: 14px;
  }

  .dwj-about-page .dwj-section-head__eyebrow {
    padding-bottom: 0;
  }

  .dwj-about-page .dwj-section-head__title {
    padding-bottom: 0;
    font-size: 24px;
    line-height: 1.55;
    letter-spacing: -0.03em;
  }

}
/* =========================================================
   DAHN WORLD JAPAN
   Mission & Philosophy
========================================================= */

.dwj-mission-page {
  color: #222;
}

.dwj-mission-page .dwj-inner {
  max-width: 1080px;
  margin: 0 auto;
}

/* 英字ラベル */
.dwj-mission-page .dwj-section-label {
  margin: 0 0 22px;
  padding-bottom: 16px;
  border-bottom: 2px solid #2f80c4;
  color: #176f68;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .12em;
}

/* 導入 */
.dwj-mission-page__intro {
  padding: 64px 0 72px;
}

.dwj-mission-page__title {
  margin: 0 0 28px;
  padding-bottom: 28px;
  border-bottom: 1px solid #e4e7e7;
  font-size: clamp(30px, 3vw, 44px);
  line-height: 1.45;
  font-weight: 700;
}

.dwj-mission-page__lead {
  max-width: 820px;
  margin: 0;
  font-size: 16px;
  line-height: 2;
}

/* ミッション */
.dwj-mission-page__mission {
  padding: 64px 0;
  background: #f3f8f7;
}

.dwj-mission-page__mission h2,
.dwj-mission-page__philosophy h2 {
  margin: 0 0 30px;
  font-size: 30px;
  line-height: 1.5;
}

.dwj-mission-page__statement {
  padding: 40px 48px;
  background: #fff;
  border-left: 4px solid #397f77;
}

.dwj-mission-page__statement p {
  margin: 0;
  font-size: 22px;
  font-weight: 600;
  line-height: 2;
}

/* 理念 */
.dwj-mission-page__philosophy {
  padding: 72px 0 80px;
}

.dwj-mission-page__philosophy p:not(.dwj-section-label) {
  max-width: 880px;
  margin: 0 0 18px;
  font-size: 16px;
  line-height: 2;
}

/* Smartphone */
@media (max-width: 767px) {

  .dwj-mission-page .dwj-inner {
    width: auto;
    margin: 0 22px;
  }

  .dwj-mission-page__intro {
    padding: 42px 0 48px;
  }

  .dwj-mission-page .dwj-section-label {
    margin-bottom: 18px;
    padding-bottom: 12px;
    font-size: 11px;
  }

  .dwj-mission-page__title {
    margin-bottom: 22px;
    padding-bottom: 22px;
    font-size: 25px;
    line-height: 1.55;
  }

  .dwj-mission-page__lead {
    font-size: 14px;
    line-height: 1.9;
  }

  .dwj-mission-page__mission {
    padding: 44px 0;
  }

  .dwj-mission-page__mission h2,
  .dwj-mission-page__philosophy h2 {
    margin-bottom: 22px;
    font-size: 23px;
  }

  .dwj-mission-page__statement {
    padding: 26px 22px;
  }

  .dwj-mission-page__statement p {
    font-size: 17px;
    line-height: 1.9;
  }

  .dwj-mission-page__philosophy {
    padding: 48px 0 56px;
  }

  .dwj-mission-page__philosophy p:not(.dwj-section-label) {
    font-size: 14px;
    line-height: 1.9;
  }
}
/* =========================================================
   DAHN WORLD JAPAN
   Mission & Philosophy
========================================================= */

.dwj-mission-page {
  color: #222;
}

.dwj-mission-page .dwj-inner {
  max-width: 1080px;
  margin: 0 auto;
}

/* 英字ラベル */
.dwj-mission-page .dwj-section-label {
  margin: 0 0 22px;
  padding-bottom: 16px;
  border-bottom: 0;
  color: #176f68;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .12em;
}

/* 導入 */
.dwj-mission-page__intro {
  padding: 64px 0 72px;
}

.dwj-mission-page__title {
  margin: 0 0 28px;
  padding-bottom: 28px;
  border-bottom: 1px solid #e4e7e7;
  font-size: clamp(30px, 3vw, 44px);
  line-height: 1.45;
  font-weight: 700;
}

.dwj-mission-page__lead {
  max-width: 820px;
  margin: 0;
  font-size: 16px;
  line-height: 2;
}

/* ミッション */
.dwj-mission-page__mission {
  padding: 64px 0;
  background: #f3f8f7;
}

.dwj-mission-page__mission h2,
.dwj-mission-page__philosophy h2 {
  margin: 0 0 30px;
  font-size: 30px;
  line-height: 1.5;
}

.dwj-mission-page__statement {
  padding: 40px 48px;
  background: #fff;
  border-left: 4px solid #397f77;
}

.dwj-mission-page__statement p {
  margin: 0;
  font-size: 22px;
  font-weight: 600;
  line-height: 2;
}

/* 理念 */
.dwj-mission-page__philosophy {
  padding: 72px 0 80px;
}

.dwj-mission-page__philosophy p:not(.dwj-section-label) {
  max-width: 880px;
  margin: 0 0 18px;
  font-size: 16px;
  line-height: 2;
}

/* Smartphone */
@media (max-width: 767px) {

  .dwj-mission-page .dwj-inner {
    width: auto;
    margin: 0 22px;
  }

  .dwj-mission-page__intro {
    padding: 42px 0 48px;
  }

  .dwj-mission-page .dwj-section-label {
    margin-bottom: 18px;
    padding-bottom: 12px;
    font-size: 11px;
  }

  .dwj-mission-page__title {
    margin-bottom: 22px;
    padding-bottom: 22px;
    font-size: 25px;
    line-height: 1.55;
  }

  .dwj-mission-page__lead {
    font-size: 14px;
    line-height: 1.9;
  }

  .dwj-mission-page__mission {
    padding: 44px 0;
  }

  .dwj-mission-page__mission h2,
  .dwj-mission-page__philosophy h2 {
    margin-bottom: 22px;
    font-size: 23px;
  }

  .dwj-mission-page__statement {
    padding: 26px 22px;
  }

  .dwj-mission-page__statement p {
    font-size: 17px;
    line-height: 1.9;
  }

  .dwj-mission-page__philosophy {
    padding: 48px 0 56px;
  }

  .dwj-mission-page__philosophy p:not(.dwj-section-label) {
    font-size: 14px;
    line-height: 1.9;
  }
}
/* =========================================================
   DAHN WORLD JAPAN
   代表メッセージ
========================================================= */

.dwj-message-page {
  color: #222;
}

.dwj-message-page .dwj-inner {
  max-width: 1080px;
  margin: 0 auto;
}

/* MESSAGE */
.dwj-message-page .dwj-section-label {
  margin: 0 0 22px;
  padding-bottom: 16px;
  border-bottom: 2px solid #2f80c4;
  color: #006b63;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .12em;
}

/* メイン見出し */
.dwj-message-page__title {
  margin: 0 0 38px;
  padding-bottom: 28px;
  border-bottom: 1px solid #e5e5e5;
  font-size: clamp(28px, 3vw, 40px);
  line-height: 1.45;
  font-weight: 700;
}

/* 代表者プロフィール */
.dwj-message-page__profile {
  display: flex;
  align-items: center;
  gap: 34px;
  margin: 0 0 55px;
  padding: 32px;
  background: #f3f8f7;
}

.dwj-message-page__photo {
  flex: 0 0 180px;
  margin: 0;
}

.dwj-message-page__photo img {
  display: block;
  width: 180px;
  height: auto;
}

.dwj-message-page__profile-text {
  margin: 0;
}

.dwj-message-page__role {
  margin: 0 0 8px;
  color: #555;
  font-size: 14px;
}

.dwj-message-page__name {
  margin: 0;
  font-size: 24px;
  font-weight: 700;
  letter-spacing: .08em;
}

/* 本文 */
.dwj-message-page__body {
  margin-top: 0;
}

.dwj-message-page__body .dwj-inner {
  max-width: 1080px;
}

.dwj-message-page__body p {
  margin: 0 0 24px;
  font-size: 16px;
  line-height: 2;
}

/* 署名 */
.dwj-message-page__signature {
  margin-top: 50px;
  padding-top: 28px;
  border-top: 1px solid #e2e2e2;
  text-align: right;
}

.dwj-message-page__signature p {
  margin: 0 0 6px;
}

.dwj-message-page__signature img {
  display: inline-block;
  width: 180px;
  max-width: 100%;
  height: auto;
  margin-top: 12px;
}


/* =========================================================
   Smartphone
========================================================= */

@media (max-width: 767px) {

  .dwj-message-page .dwj-inner {
    width: auto;
    margin-left: 20px;
    margin-right: 20px;
  }

  .dwj-message-page .dwj-section-label {
    margin-bottom: 18px;
    padding-bottom: 12px;
  }

  .dwj-message-page__title {
    margin-bottom: 28px;
    padding-bottom: 22px;
    font-size: 23px;
    line-height: 1.55;
  }

  .dwj-message-page__profile {
    display: block;
    margin-bottom: 38px;
    padding: 24px;
  }

  .dwj-message-page__photo {
    width: 150px;
    margin: 0 auto 20px;
  }

  .dwj-message-page__photo img {
    width: 150px;
  }

  .dwj-message-page__profile-text {
    text-align: center;
  }

  .dwj-message-page__name {
    font-size: 21px;
  }

  .dwj-message-page__body p {
    font-size: 15px;
    line-height: 1.9;
  }

  .dwj-message-page__signature {
    margin-top: 38px;
  }
}
/* ==================================================
   DAHN WORLD JAPAN
   Company Profile
================================================== */

.dwj-company-page {
  color: #222;
}

.dwj-company-page .dwj-inner {
  max-width: 1080px;
  margin: 0 auto;
}

/* INTRO */
.dwj-company-page__intro {
  padding: 64px 0 36px;
}

.dwj-company-page .dwj-section-label {
  margin: 0 0 22px;
  padding-bottom: 16px;
  border-bottom: 2px solid #2f80c4;
  color: #006b65;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .12em;
}

.dwj-company-page__title {
  margin: 0;
  padding-bottom: 20px;
  border-bottom: 1px solid #e3e6e8;
  font-size: 32px;
  font-weight: 700;
  line-height: 1.45;
}

.dwj-company-page__lead {
  margin: 26px 0 0;
  font-size: 15px;
  line-height: 1.9;
}

/* PROFILE TABLE */
.dwj-company-page__profile {
  padding: 12px 0 90px;
}

.dwj-company-table {
  margin: 0;
  border-top: 2px solid #2f80c4;
}

.dwj-company-table__row {
  display: grid;
  grid-template-columns: 220px 1fr;
  margin: 0;
  border-bottom: 1px solid #dfe4e7;
}

.dwj-company-table__row dt,
.dwj-company-table__row dd {
  margin: 0;
  padding: 24px 28px;
  line-height: 1.9;
}

.dwj-company-table__row dt {
  background: #f1f6f5;
  color: #174e4b;
  font-weight: 700;
}

.dwj-company-table__row dd {
  background: #fff;
}

/* ORGANIZATION */
.dwj-company-organization p {
  display: grid;
  grid-template-columns: 170px 1fr;
  gap: 20px;
  margin: 0 0 10px;
}

.dwj-company-organization p:last-child {
  margin-bottom: 0;
}

.dwj-company-organization strong {
  font-weight: 700;
}

/* MOBILE */
@media (max-width: 767px) {

  .dwj-company-page .dwj-inner {
    width: auto;
    margin: 0 24px;
  }

  .dwj-company-page__intro {
    padding: 48px 0 28px;
  }

  .dwj-company-page__title {
    font-size: 25px;
  }

  .dwj-company-page__lead {
    margin-top: 20px;
    font-size: 14px;
  }

  .dwj-company-page__profile {
    padding: 8px 0 64px;
  }

  .dwj-company-table__row {
    display: block;
  }

  .dwj-company-table__row dt {
    padding: 14px 18px;
  }

  .dwj-company-table__row dd {
    padding: 18px;
    font-size: 14px;
  }

  .dwj-company-organization p {
    display: block;
    margin-bottom: 18px;
  }

  .dwj-company-organization strong,
  .dwj-company-organization span {
    display: block;
  }

  .dwj-company-organization span {
    margin-top: 3px;
  }
}
/* ==================================================
   HISTORY
================================================== */

.dwj-history-page {
  width: 100%;
}

.dwj-history-page .dwj-inner {
  max-width: 1080px;
  margin: 0 auto;
}

.dwj-history-page__intro {
  padding: 55px 0 30px;
}

.dwj-history-page .dwj-section-label {
  margin: 0 0 22px;
  padding-bottom: 16px;
  border-bottom: 2px solid #2e80c4;
  color: #006b68;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .12em;
}

.dwj-history-page__title {
  margin: 0;
  padding: 0 0 22px;
  border-bottom: 1px solid #ddd;
  font-size: 30px;
  line-height: 1.5;
  font-weight: 700;
}

.dwj-history-page__lead {
  margin: 28px 0 0;
  font-size: 15px;
  line-height: 2;
}


/* Timeline
---------------------------------- */

.dwj-history-page__timeline {
  padding: 25px 0 90px;
}

.dwj-history-list {
  position: relative;
}

/* 縦のライン */
.dwj-history-list::before {
  content: "";
  position: absolute;
  top: 10px;
  bottom: 10px;
  left: 150px;
  width: 1px;
  background: #b9d3df;
}

.dwj-history-item {
  position: relative;
  display: grid;
  grid-template-columns: 120px 1fr;
  column-gap: 60px;
  padding: 25px 0;
  border-bottom: 1px solid #e2e6e8;
}

/* 丸 */
.dwj-history-item::before {
  content: "";
  position: absolute;
  left: 144px;
  top: 34px;
  width: 13px;
  height: 13px;
  border: 3px solid #2e80c4;
  border-radius: 50%;
  background: #fff;
  box-sizing: border-box;
}

.dwj-history-date {
  color: #176f79;
  font-size: 22px;
  line-height: 1.2;
  font-weight: 700;
}

.dwj-history-date span {
  display: block;
  margin-top: 5px;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: .04em;
}

.dwj-history-content {
  padding-top: 1px;
}

.dwj-history-content p {
  margin: 0 0 7px;
  font-size: 15px;
  line-height: 1.8;
}

.dwj-history-content p:last-child {
  margin-bottom: 0;
}


/* 社名変更 */
.dwj-history-item--important .dwj-history-content {
  font-weight: 600;
}


/* 最新年 */
.dwj-history-item--latest {
  margin-top: 8px;
  padding: 28px 20px 28px 0;
  background: #f2f7f7;
}

.dwj-history-item--latest::before {
  background: #2e80c4;
}

.dwj-history-item--latest .dwj-history-date {
  padding-left: 15px;
}


/* ==================================================
   HISTORY - MOBILE
================================================== */

@media (max-width: 767px) {

  .dwj-history-page .dwj-inner {
    width: auto;
    margin: 0;
    padding: 0 24px;
  }

  .dwj-history-page__intro {
    padding: 42px 0 20px;
  }

  .dwj-history-page__title {
    font-size: 23px;
    line-height: 1.55;
  }

  .dwj-history-page__lead {
    margin-top: 22px;
    font-size: 14px;
    line-height: 1.9;
  }

  .dwj-history-page__timeline {
    padding: 15px 0 65px;
  }

  .dwj-history-list::before {
    left: 7px;
  }

  .dwj-history-item {
    display: block;
    padding: 22px 0 22px 30px;
  }

  .dwj-history-item::before {
    left: 1px;
    top: 28px;
  }

  .dwj-history-date {
    margin-bottom: 10px;
    font-size: 20px;
  }

  .dwj-history-date span {
    display: inline;
    margin: 0 0 0 5px;
    font-size: 12px;
  }

  .dwj-history-content p {
    font-size: 14px;
    line-height: 1.8;
  }

  .dwj-history-item--latest {
    margin-left: 0;
    padding: 22px 12px 22px 30px;
  }

  .dwj-history-item--latest .dwj-history-date {
    padding-left: 0;
  }
}
/* =========================================================
   BUSINESS & BRANDS
========================================================= */

.dwj-business-page {
  color: #222;
}

.dwj-business-page .dwj-inner {
  width: min(1080px, calc(100% - 40px));
  margin: 0 auto;
}


/* INTRO
--------------------------------------------------------- */

.dwj-business-page__intro {
  padding: 70px 0 60px;
}

.dwj-business-page .dwj-section-label,
.dwj-business-card__label {
  margin: 0 0 18px;
  color: #087d78;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .12em;
}

.dwj-business-page__title {
  margin: 0;
  padding: 22px 0 24px;
  border-top: 2px solid #2f80c5;
  border-bottom: 1px solid #ddd;
  font-size: clamp(30px, 3vw, 42px);
  line-height: 1.45;
  font-weight: 700;
}

.dwj-business-page__lead {
  max-width: 850px;
  margin: 28px 0 0;
  font-size: 16px;
  line-height: 2;
}


/* BUSINESS AREA
--------------------------------------------------------- */

.dwj-business-page__businesses {
  padding: 20px 0 80px;
}

.dwj-business-card {
  display: grid;
  grid-template-columns: 100px 1fr;
  gap: 36px;
  padding: 55px 0;
  border-top: 1px solid #d9e1e1;
}

.dwj-business-card:last-child {
  border-bottom: 1px solid #d9e1e1;
}

.dwj-business-card__number {
  color: #91b4b3;
  font-size: 17px;
  letter-spacing: .1em;
}

.dwj-business-card__content {
  max-width: 820px;
}

.dwj-business-card__label {
  margin-bottom: 12px;
}

.dwj-business-card__title {
  margin: 0 0 22px;
  padding: 0 0 18px;
  border-bottom: 1px solid #d9dede;
  font-size: 30px;
  line-height: 1.4;
}

.dwj-business-card__title::after {
  display: block;
  width: 90px;
  height: 2px;
  margin-top: 18px;
  background: #2f80c5;
  content: "";
}

.dwj-business-card__catch {
  margin: 0 0 22px;
  font-size: 21px;
  font-weight: 600;
  line-height: 1.7;
}

.dwj-business-card__text {
  margin: 0 0 14px;
  font-size: 15px;
  line-height: 2;
}

.dwj-business-card__link {
  margin-top: 30px;
}

.dwj-business-card__link a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  max-width: 390px;
  padding: 16px 4px;
  border-top: 1px solid #d9e1e1;
  border-bottom: 1px solid #d9e1e1;
  color: #087d78;
  font-weight: 600;
  text-decoration: none;
}

.dwj-business-card__link a:hover {
  opacity: .7;
}


/* OUR APPROACH
--------------------------------------------------------- */

.dwj-business-page__message {
  margin-top: 10px;
  padding: 65px 0 75px;
  background: #f2f7f6;
}

.dwj-business-page__message h2 {
  margin: 0 0 25px;
  padding: 20px 0 22px;
  border-top: 2px solid #2f80c5;
  border-bottom: 1px solid #d9e1e1;
  font-size: 28px;
  line-height: 1.6;
}

.dwj-business-page__message p:not(.dwj-section-label) {
  max-width: 850px;
  margin: 0 0 15px;
  font-size: 15px;
  line-height: 2;
}


/* MOBILE
--------------------------------------------------------- */

@media (max-width: 767px) {

  .dwj-business-page .dwj-inner {
    width: calc(100% - 40px);
  }

  .dwj-business-page__intro {
    padding: 48px 0 35px;
  }

  .dwj-business-page__title {
    padding: 17px 0 19px;
    font-size: 26px;
    line-height: 1.5;
  }

  .dwj-business-page__lead {
    margin-top: 22px;
    font-size: 14px;
    line-height: 1.9;
  }

  .dwj-business-page__businesses {
    padding: 10px 0 50px;
  }

  .dwj-business-card {
    display: block;
    padding: 40px 0;
  }

  .dwj-business-card__number {
    margin-bottom: 16px;
    font-size: 14px;
  }

  .dwj-business-card__title {
    font-size: 24px;
  }

  .dwj-business-card__catch {
    font-size: 18px;
    line-height: 1.7;
  }

  .dwj-business-card__text {
    font-size: 14px;
    line-height: 1.9;
  }

  .dwj-business-card__link a {
    max-width: none;
  }

  .dwj-business-page__message {
    padding: 48px 0 55px;
  }

  .dwj-business-page__message h2 {
    font-size: 22px;
  }

  .dwj-business-page__message p:not(.dwj-section-label) {
    font-size: 14px;
    line-height: 1.9;
  }
}
/* =========================================================
   BRAND DETAIL
   ILCHI BRAIN YOGA
========================================================= */

.dwj-brand-page {
  color: #222;
}

.dwj-brand-page .dwj-inner {
  width: min(1080px, calc(100% - 40px));
  margin: 0 auto;
}


/* HERO
--------------------------------------------------------- */

.dwj-brand-hero {
  padding: 70px 0 65px;
}

.dwj-brand-page .dwj-section-label {
  margin: 0 0 18px;
  color: #087d78;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .12em;
}

.dwj-brand-hero__title {
  margin: 0;
  padding: 22px 0 24px;
  border-top: 2px solid #2f80c5;
  border-bottom: 1px solid #ddd;
  font-size: clamp(30px, 3vw, 42px);
  font-weight: 700;
  line-height: 1.45;
}

.dwj-brand-hero__lead {
  max-width: 820px;
  margin: 28px 0 0;
  font-size: 16px;
  line-height: 2;
}


/* COMMON SECTION
--------------------------------------------------------- */

.dwj-brand-section {
  padding: 65px 0;
}

.dwj-brand-section__title {
  margin: 0 0 28px;
  padding: 18px 0 20px;
  border-top: 2px solid #2f80c5;
  border-bottom: 1px solid #dce2e2;
  font-size: 28px;
  line-height: 1.55;
}

.dwj-brand-section__text {
  max-width: 850px;
}

.dwj-brand-section__text p {
  margin: 0 0 18px;
  font-size: 15px;
  line-height: 2;
}


/* THREE ELEMENTS
--------------------------------------------------------- */

.dwj-brand-features {
  padding: 70px 0;
  background: #f2f7f6;
}

.dwj-brand-features .dwj-brand-section__title {
  margin-bottom: 38px;
}

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

.dwj-brand-feature {
  padding: 32px 30px 35px;
  background: #fff;
  border: 1px solid #dce4e3;
}

.dwj-brand-feature__number {
  margin: 0 0 30px;
  color: #91b4b3;
  font-size: 15px;
  letter-spacing: .12em;
}

.dwj-brand-feature__en {
  margin: 0 0 10px;
  color: #087d78;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .12em;
}

.dwj-brand-feature h3 {
  position: relative;
  margin: 0 0 24px;
  padding: 0 0 20px;
  border-bottom: 1px solid #dce2e2;
  font-size: 22px;
  line-height: 1.5;
}

.dwj-brand-feature h3::after {
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 75px;
  height: 2px;
  background: #2f80c5;
  content: "";
}

.dwj-brand-feature > p:last-child {
  margin: 0;
  font-size: 14px;
  line-height: 1.9;
}


/* TRAINING
--------------------------------------------------------- */

.dwj-brand-section--training {
  padding-top: 80px;
  padding-bottom: 80px;
}


/* NETWORK
--------------------------------------------------------- */

.dwj-brand-network {
  padding: 65px 0 75px;
  background: #f2f7f6;
}

.dwj-brand-network__text {
  max-width: 820px;
  margin: 0;
  font-size: 15px;
  line-height: 2;
}

.dwj-brand-network__link {
  margin-top: 32px;
}

.dwj-brand-network__link a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  max-width: 430px;
  padding: 17px 4px;
  border-top: 1px solid #cfdada;
  border-bottom: 1px solid #cfdada;
  color: #087d78;
  font-weight: 600;
  text-decoration: none;
}

.dwj-brand-network__link a:hover {
  opacity: .7;
}


/* BACK
--------------------------------------------------------- */

.dwj-brand-back {
  padding: 50px 0 70px;
}

.dwj-brand-back a {
  display: inline-flex;
  gap: 14px;
  align-items: center;
  color: #087d78;
  font-weight: 600;
  text-decoration: none;
}

.dwj-brand-back a:hover {
  opacity: .7;
}


/* MOBILE
--------------------------------------------------------- */

@media (max-width: 767px) {

  .dwj-brand-page .dwj-inner {
    width: calc(100% - 40px);
  }

  .dwj-brand-hero {
    padding: 48px 0 40px;
  }

  .dwj-brand-hero__title {
    padding: 17px 0 19px;
    font-size: 26px;
    line-height: 1.5;
  }

  .dwj-brand-hero__lead {
    margin-top: 22px;
    font-size: 14px;
    line-height: 1.9;
  }

  .dwj-brand-section {
    padding: 48px 0;
  }

  .dwj-brand-section__title {
    margin-bottom: 22px;
    padding: 15px 0 17px;
    font-size: 22px;
    line-height: 1.6;
  }

  .dwj-brand-section__text p {
    font-size: 14px;
    line-height: 1.9;
  }

  .dwj-brand-features {
    padding: 50px 0;
  }

  .dwj-brand-features__grid {
    display: block;
  }

  .dwj-brand-feature {
    margin-bottom: 18px;
    padding: 26px 22px 28px;
  }

  .dwj-brand-feature:last-child {
    margin-bottom: 0;
  }

  .dwj-brand-feature__number {
    margin-bottom: 20px;
  }

  .dwj-brand-feature h3 {
    font-size: 20px;
  }

  .dwj-brand-section--training {
    padding-top: 50px;
    padding-bottom: 50px;
  }

  .dwj-brand-network {
    padding: 48px 0 52px;
  }

  .dwj-brand-network__text {
    font-size: 14px;
    line-height: 1.9;
  }

  .dwj-brand-network__link a {
    max-width: none;
  }

  .dwj-brand-back {
    padding: 38px 0 50px;
  }
}
/* =========================================================
   HEALING LIFE STYLE
========================================================= */

/* 薄い背景セクション */
.dwj-brand-section--soft {
  background: #f2f7f6;
}

/* 3サービス */
.dwj-brand-elements {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin-top: 38px;
}

.dwj-brand-element {
  padding: 32px 30px 35px;
  background: #fff;
  border: 1px solid #dce4e3;
}

.dwj-brand-element__number {
  margin: 0 0 30px;
  color: #91b4b3;
  font-size: 15px;
  letter-spacing: .12em;
}

.dwj-brand-element__label {
  margin: 0 0 10px;
  color: #087d78;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .12em;
}

.dwj-brand-element h3 {
  position: relative;
  margin: 0 0 24px;
  padding: 0 0 20px;
  border-bottom: 1px solid #dce2e2;
  font-size: 22px;
  line-height: 1.5;
}

.dwj-brand-element h3::after {
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 75px;
  height: 2px;
  background: #2f80c5;
  content: "";
}

.dwj-brand-element > p:last-child {
  margin: 0;
  font-size: 14px;
  line-height: 1.9;
}

/* 共通本文 */
.dwj-brand-text {
  max-width: 850px;
}

.dwj-brand-text p {
  margin: 0 0 18px;
  font-size: 15px;
  line-height: 2;
}

/* 公式サイト */
.dwj-brand-link {
  margin-top: 32px;
}

.dwj-brand-link a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  max-width: 430px;
  padding: 17px 4px;
  border-top: 1px solid #cfdada;
  border-bottom: 1px solid #cfdada;
  color: #087d78;
  font-weight: 600;
  text-decoration: none;
}

.dwj-brand-link a:hover {
  opacity: .7;
}


/* MOBILE */
@media (max-width: 767px) {

  .dwj-brand-elements {
    display: block;
    margin-top: 28px;
  }

  .dwj-brand-element {
    margin-bottom: 18px;
    padding: 26px 22px 28px;
  }

  .dwj-brand-element:last-child {
    margin-bottom: 0;
  }

  .dwj-brand-element__number {
    margin-bottom: 20px;
  }

  .dwj-brand-element h3 {
    font-size: 20px;
  }

  .dwj-brand-text p {
    font-size: 14px;
    line-height: 1.9;
  }

  .dwj-brand-link a {
    max-width: none;
  }
}
/* =========================================================
   KAKUREMINOYA
========================================================= */

.dwj-kakuremino-services {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
  margin-top: 38px;
}

.dwj-kakuremino-service {
  padding: 32px 30px 35px;
  background: #fff;
  border: 1px solid #dce4e3;
}

.dwj-kakuremino-service__number {
  margin: 0 0 30px;
  color: #91b4b3;
  font-size: 15px;
  letter-spacing: .12em;
}

.dwj-kakuremino-service__label {
  margin: 0 0 10px;
  color: #087d78;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .12em;
}

.dwj-kakuremino-service h3 {
  position: relative;
  margin: 0 0 24px;
  padding: 0 0 20px;
  border-bottom: 1px solid #dce2e2;
  font-size: 22px;
  line-height: 1.5;
}

.dwj-kakuremino-service h3::after {
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 75px;
  height: 2px;
  background: #2f80c5;
  content: "";
}

.dwj-kakuremino-service > p:last-child {
  margin: 0;
  font-size: 14px;
  line-height: 1.9;
}


/* MOBILE */
@media (max-width: 767px) {

  .dwj-kakuremino-services {
    display: block;
    margin-top: 28px;
  }

  .dwj-kakuremino-service {
    margin-bottom: 18px;
    padding: 26px 22px 28px;
  }

  .dwj-kakuremino-service:last-child {
    margin-bottom: 0;
  }

  .dwj-kakuremino-service__number {
    margin-bottom: 20px;
  }

  .dwj-kakuremino-service h3 {
    font-size: 20px;
  }
}
/* =========================================================
   BRAIN EDUCATION
========================================================= */

.dwj-brain-page {
  color: #222;
}

.dwj-brain-page .dwj-inner {
  width: min(1080px, calc(100% - 40px));
  margin: 0 auto;
}


/* HERO */
.dwj-brain-hero {
  padding: 70px 0 65px;
}

.dwj-brain-page .dwj-section-label {
  margin: 0 0 18px;
  color: #087d78;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .12em;
}

.dwj-brain-hero__title {
  margin: 0;
  padding: 22px 0 24px;
  border-top: 2px solid #2f80c5;
  border-bottom: 1px solid #ddd;
  font-size: clamp(30px, 3vw, 42px);
  font-weight: 700;
  line-height: 1.45;
}

.dwj-brain-hero__lead {
  max-width: 820px;
  margin: 28px 0 0;
  font-size: 16px;
  line-height: 2;
}


/* COMMON SECTION */
.dwj-brain-section {
  padding: 70px 0;
}

.dwj-brain-section--soft {
  background: #f2f7f6;
}

.dwj-brain-section__title {
  margin: 0 0 28px;
  padding: 18px 0 20px;
  border-top: 2px solid #2f80c5;
  border-bottom: 1px solid #dce2e2;
  font-size: 28px;
  line-height: 1.55;
}

.dwj-brain-text {
  max-width: 850px;
}

.dwj-brain-text p {
  margin: 0 0 18px;
  font-size: 15px;
  line-height: 2;
}


/* BODY × MIND × BRAIN */
.dwj-brain-elements {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin-top: 38px;
}

.dwj-brain-element {
  padding: 32px 30px 35px;
  background: #fff;
  border: 1px solid #dce4e3;
}

.dwj-brain-element__number {
  margin: 0 0 30px;
  color: #91b4b3;
  font-size: 15px;
  letter-spacing: .12em;
}

.dwj-brain-element__label {
  margin: 0 0 10px;
  color: #087d78;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .12em;
}

.dwj-brain-element h3 {
  position: relative;
  margin: 0 0 24px;
  padding: 0 0 20px;
  border-bottom: 1px solid #dce2e2;
  font-size: 22px;
  line-height: 1.5;
}

.dwj-brain-element h3::after {
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 75px;
  height: 2px;
  background: #2f80c5;
  content: "";
}

.dwj-brain-element > p:last-child {
  margin: 0;
  font-size: 14px;
  line-height: 1.9;
}


/* BOS 5 STEPS */
.dwj-brain-steps__intro {
  max-width: 850px;
  margin: 0 0 38px;
  font-size: 15px;
  line-height: 2;
}

.dwj-brain-steps__list {
  border-top: 1px solid #dce2e2;
}

.dwj-brain-step {
  display: grid;
  grid-template-columns: 100px 1fr;
  gap: 30px;
  padding: 32px 0;
  border-bottom: 1px solid #dce2e2;
}

.dwj-brain-step__number {
  color: #91b4b3;
  font-size: 24px;
  font-weight: 500;
  letter-spacing: .08em;
}

.dwj-brain-step__en {
  margin: 0 0 7px;
  color: #087d78;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .12em;
}

.dwj-brain-step h3 {
  margin: 0 0 12px;
  font-size: 21px;
  line-height: 1.5;
}

.dwj-brain-step__content > p:last-child {
  max-width: 750px;
  margin: 0;
  font-size: 14px;
  line-height: 1.9;
}


/* BUSINESS LINK */
.dwj-brain-link {
  margin-top: 32px;
}

.dwj-brain-link a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  max-width: 430px;
  padding: 17px 4px;
  border-top: 1px solid #cfdada;
  border-bottom: 1px solid #cfdada;
  color: #087d78;
  font-weight: 600;
  text-decoration: none;
}

.dwj-brain-link a:hover {
  opacity: .7;
}


/* MOBILE */
@media (max-width: 767px) {

  .dwj-brain-page .dwj-inner {
    width: calc(100% - 40px);
  }

  .dwj-brain-hero {
    padding: 48px 0 40px;
  }

  .dwj-brain-hero__title {
    padding: 17px 0 19px;
    font-size: 26px;
    line-height: 1.5;
  }

  .dwj-brain-hero__lead {
    margin-top: 22px;
    font-size: 14px;
    line-height: 1.9;
  }

  .dwj-brain-section {
    padding: 50px 0;
  }

  .dwj-brain-section__title {
    margin-bottom: 22px;
    padding: 15px 0 17px;
    font-size: 22px;
    line-height: 1.6;
  }

  .dwj-brain-text p,
  .dwj-brain-steps__intro {
    font-size: 14px;
    line-height: 1.9;
  }

  .dwj-brain-elements {
    display: block;
    margin-top: 28px;
  }

  .dwj-brain-element {
    margin-bottom: 18px;
    padding: 26px 22px 28px;
  }

  .dwj-brain-element:last-child {
    margin-bottom: 0;
  }

  .dwj-brain-element__number {
    margin-bottom: 20px;
  }

  .dwj-brain-element h3 {
    font-size: 20px;
  }

  .dwj-brain-steps__intro {
    margin-bottom: 28px;
  }

  .dwj-brain-step {
    display: block;
    padding: 26px 0;
  }

  .dwj-brain-step__number {
    margin-bottom: 14px;
    font-size: 20px;
  }

  .dwj-brain-step h3 {
    font-size: 19px;
  }

  .dwj-brain-link a {
    max-width: none;
  }
}
.dwj-brain-step__en {
  display: block !important;
  color: #087d78 !important;
}

.dwj-brain-step__text {
  display: block !important;
  margin: 0 !important;
  color: #222 !important;
  font-size: 14px !important;
  line-height: 1.9 !important;
}
/* =========================================================
   SOCIAL INITIATIVES
========================================================= */

.dwj-social-page {
  color: #222;
}

.dwj-social-page .dwj-inner {
  width: min(1080px, calc(100% - 40px));
  margin: 0 auto;
}


/* HERO */
.dwj-social-hero {
  padding: 70px 0 65px;
}

.dwj-social-page .dwj-section-label {
  margin: 0 0 18px;
  color: #087d78;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .12em;
}

.dwj-social-hero__title {
  margin: 0;
  padding: 22px 0 24px;
  border-top: 2px solid #2f80c5;
  border-bottom: 1px solid #ddd;
  font-size: clamp(30px, 3vw, 42px);
  font-weight: 700;
  line-height: 1.45;
}

.dwj-social-hero__lead {
  max-width: 820px;
  margin: 28px 0 0;
  font-size: 16px;
  line-height: 2;
}


/* COMMON */
.dwj-social-section {
  padding: 70px 0;
}

.dwj-social-section--soft {
  background: #f2f7f6;
}

.dwj-social-section__title {
  margin: 0 0 28px;
  padding: 18px 0 20px;
  border-top: 2px solid #2f80c5;
  border-bottom: 1px solid #dce2e2;
  font-size: 28px;
  line-height: 1.55;
}

.dwj-social-text {
  max-width: 850px;
}

.dwj-social-text p {
  margin: 0 0 18px;
  font-size: 15px;
  line-height: 2;
}


/* ACTIVITIES */
.dwj-social-activities {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
  margin-top: 38px;
}

.dwj-social-activity {
  padding: 34px 32px 38px;
  background: #fff;
  border: 1px solid #dce4e3;
}

.dwj-social-activity__number {
  margin: 0 0 28px;
  color: #91b4b3;
  font-size: 15px;
  letter-spacing: .12em;
}

.dwj-social-activity__label {
  margin: 0 0 10px;
  color: #087d78;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .12em;
}

.dwj-social-activity h3 {
  position: relative;
  margin: 0 0 24px;
  padding: 0 0 20px;
  border-bottom: 1px solid #dce2e2;
  font-size: 22px;
  line-height: 1.55;
}

.dwj-social-activity h3::after {
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 75px;
  height: 2px;
  background: #2f80c5;
  content: "";
}

.dwj-social-activity > p:not(.dwj-social-activity__number):not(.dwj-social-activity__label) {
  margin: 0 0 16px;
  font-size: 14px;
  line-height: 1.9;
}

.dwj-social-activity > p:last-child {
  margin-bottom: 0;
}


/* MOBILE */
@media (max-width: 767px) {

  .dwj-social-page .dwj-inner {
    width: calc(100% - 40px);
  }

  .dwj-social-hero {
    padding: 48px 0 40px;
  }

  .dwj-social-hero__title {
    padding: 17px 0 19px;
    font-size: 26px;
    line-height: 1.5;
  }

  .dwj-social-hero__lead {
    margin-top: 22px;
    font-size: 14px;
    line-height: 1.9;
  }

  .dwj-social-section {
    padding: 50px 0;
  }

  .dwj-social-section__title {
    margin-bottom: 22px;
    padding: 15px 0 17px;
    font-size: 22px;
    line-height: 1.6;
  }

  .dwj-social-text p {
    font-size: 14px;
    line-height: 1.9;
  }

  .dwj-social-activities {
    display: block;
    margin-top: 28px;
  }

  .dwj-social-activity {
    margin-bottom: 18px;
    padding: 26px 22px 28px;
  }

  .dwj-social-activity:last-child {
    margin-bottom: 0;
  }

  .dwj-social-activity__number {
    margin-bottom: 20px;
  }

  .dwj-social-activity h3 {
    font-size: 20px;
  }
}
/* 社会への取り組み：PCカード配置修正 */
@media (min-width: 768px) {
  .dwj-social-activities {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 24px !important;
  }

  .dwj-social-activity {
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
  }
}
/* 社会への取り組み：WordPress自動pを除外 */
.dwj-social-activities > p {
  display: none !important;
}

@media (min-width: 768px) {
  .dwj-social-activities {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 24px !important;
  }

  .dwj-social-activity {
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
  }
}
/* ========================================
   法人・団体の皆さまへ
======================================== */

.dwj-corporate-page {
  color: #222;
}

.dwj-corporate-page .dwj-inner {
  width: min(1080px, calc(100% - 40px));
  margin: 0 auto;
}

.dwj-corporate-page .dwj-section-label {
  margin: 0 0 18px;
  color: #087d78;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .12em;
}


/* HERO */

.dwj-corporate-hero {
  padding: 70px 0 65px;
}

.dwj-corporate-hero__title {
  margin: 0;
  padding: 22px 0 24px;
  border-top: 2px solid #2f80c5;
  border-bottom: 1px solid #ddd;
  font-size: clamp(30px, 3vw, 42px);
  font-weight: 700;
  line-height: 1.45;
}

.dwj-corporate-hero__lead {
  max-width: 850px;
  margin: 28px 0 0;
  font-size: 16px;
  line-height: 2;
}


/* SECTION */

.dwj-corporate-section {
  padding: 70px 0;
}

.dwj-corporate-section--soft {
  background: #f2f7f6;
}

.dwj-corporate-section__title {
  margin: 0 0 28px;
  padding: 18px 0 20px;
    border-top: 2px solid #6fae72;
    border-bottom: 1px solid #dce2e2;
  font-size: 28px;
  line-height: 1.55;
}

.dwj-corporate-section__lead {
  max-width: 850px;
  margin: 0 0 34px;
  font-size: 15px;
  line-height: 2;
}

.dwj-corporate-text {
  max-width: 850px;
}

.dwj-corporate-text p {
  margin: 0 0 18px;
  font-size: 15px;
  line-height: 2;
}


/* 企業・自治体 */

.dwj-corporate-targets {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
  margin-top: 38px;
}

.dwj-corporate-target {
  padding: 34px 32px 36px;
  background: #fff;
  border: 1px solid #dce4e3;
}

.dwj-corporate-target__number {
  margin: 0 0 26px;
  color: #91b4b3;
  font-size: 15px;
  letter-spacing: .12em;
}

.dwj-corporate-target__label {
  margin: 0 0 10px;
  color: #087d78;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .12em;
}

.dwj-corporate-target h3 {
  position: relative;
  margin: 0 0 24px;
  padding: 0 0 20px;
  border-bottom: 1px solid #dce2e2;
  font-size: 22px;
  line-height: 1.5;
}

.dwj-corporate-target h3::after {
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 75px;
  height: 2px;
 background: #6fae72;
  content: "";
}

.dwj-corporate-target > p:not([class]) {
  margin: 0 0 22px;
  font-size: 14px;
  line-height: 1.9;
}

.dwj-corporate-target ul {
  margin: 0;
  padding: 20px 0 0 20px;
  border-top: 1px solid #e4e9e8;
}

.dwj-corporate-target li {
  margin: 0 0 8px;
  font-size: 14px;
  line-height: 1.7;
}


/* PROGRAM */

.dwj-corporate-programs {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
  margin-top: 38px;
}

.dwj-corporate-program {
  padding: 30px;
  border: 1px solid #dce4e3;
  background: #fff;
}

.dwj-corporate-program__number {
  margin: 0 0 22px;
  color: #91b4b3;
  font-size: 15px;
  letter-spacing: .12em;
}

.dwj-corporate-program__label {
  margin: 0 0 8px;
  color: #087d78;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .12em;
}

.dwj-corporate-program h3 {
  margin: 0 0 18px;
  font-size: 21px;
}

.dwj-corporate-program > p:last-child {
  margin: 0;
  font-size: 14px;
  line-height: 1.9;
}

.dwj-corporate-note {
  margin: 24px 0 0;
  color: #666;
  font-size: 12px;
  line-height: 1.8;
}


/* FLOW */

.dwj-corporate-flow {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
  margin-top: 38px;
}

.dwj-corporate-flow__item {
  padding: 27px 24px 30px;
  background: #fff;
border-top: 3px solid #6fae72;
}

.dwj-corporate-flow__step {
  margin: 0 0 18px;
  color: #087d78;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .12em;
}

.dwj-corporate-flow__item h3 {
  margin: 0 0 14px;
  font-size: 19px;
}

.dwj-corporate-flow__item > p:last-child {
  margin: 0;
  font-size: 13px;
  line-height: 1.8;
}


/* CTA */

.dwj-corporate-cta {
  padding: 70px 0 80px;
  background: #f2f7f6;
}

.dwj-corporate-cta h2 {
  margin: 0 0 25px;
  padding: 18px 0 20px;
border-top: 2px solid #6fae72;
  border-bottom: 1px solid #dce2e2;
  font-size: 28px;
  line-height: 1.55;
}

.dwj-corporate-cta > .dwj-inner > p:not(.dwj-section-label) {
  max-width: 760px;
  margin: 0;
  font-size: 15px;
  line-height: 2;
}

.dwj-corporate-cta__link {
  margin-top: 32px;
}

.dwj-corporate-cta__link a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  max-width: 430px;
  padding: 17px 4px;
  border-top: 1px solid #cfdada;
  border-bottom: 1px solid #cfdada;
  color: #087d78;
  font-weight: 600;
  text-decoration: none;
}

.dwj-corporate-cta__link a:hover {
  opacity: .7;
}


/* MOBILE */

@media (max-width: 767px) {

  .dwj-corporate-page .dwj-inner {
    width: calc(100% - 40px);
  }

  .dwj-corporate-hero {
    padding: 48px 0 40px;
  }

  .dwj-corporate-hero__title {
    padding: 17px 0 19px;
    font-size: 26px;
    line-height: 1.5;
  }

  .dwj-corporate-hero__lead {
    margin-top: 22px;
    font-size: 14px;
    line-height: 1.9;
  }

  .dwj-corporate-section {
    padding: 50px 0;
  }

  .dwj-corporate-section__title {
    margin-bottom: 22px;
    padding: 15px 0 17px;
    font-size: 22px;
    line-height: 1.6;
  }

  .dwj-corporate-section__lead,
  .dwj-corporate-text p {
    font-size: 14px;
    line-height: 1.9;
  }

  .dwj-corporate-targets,
  .dwj-corporate-programs,
  .dwj-corporate-flow {
    display: block;
    margin-top: 28px;
  }

  .dwj-corporate-target,
  .dwj-corporate-program,
  .dwj-corporate-flow__item {
    margin-bottom: 18px;
  }

  .dwj-corporate-target:last-child,
  .dwj-corporate-program:last-child,
  .dwj-corporate-flow__item:last-child {
    margin-bottom: 0;
  }

  .dwj-corporate-target {
    padding: 27px 22px 30px;
  }

  .dwj-corporate-target__number {
    margin-bottom: 20px;
  }

  .dwj-corporate-target h3 {
    font-size: 20px;
  }

  .dwj-corporate-program {
    padding: 26px 22px 28px;
  }

  .dwj-corporate-flow__item {
    padding: 24px 22px 26px;
  }

  .dwj-corporate-cta {
    padding: 50px 0 55px;
  }

  .dwj-corporate-cta h2 {
    font-size: 22px;
  }

  .dwj-corporate-cta > .dwj-inner > p:not(.dwj-section-label) {
    font-size: 14px;
    line-height: 1.9;
  }

  .dwj-corporate-cta__link a {
    max-width: none;
  }
}
/* =========================================================
   DAHN WORLD JAPAN
   Contact Page
========================================================= */

.dwj-contact-page {
  color: #222;
}

.dwj-contact-page .dwj-inner,
.wpcf7 {
  width: min(1080px, calc(100% - 40px));
  margin-left: auto;
  margin-right: auto;
}

/* HERO */
.dwj-contact-hero {
  padding: 70px 0 65px;
}

.dwj-contact-page .dwj-section-label {
  margin: 0 0 18px;
  color: #087d78;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .12em;
}

.dwj-contact-hero__title,
.dwj-contact-section__title {
  margin: 0;
  padding: 18px 0 20px;
  border-top: 2px solid #2f80c5;
  border-bottom: 1px solid #dce2e2;
  font-weight: 700;
  line-height: 1.55;
}

.dwj-contact-hero__title {
  padding-top: 22px;
  padding-bottom: 24px;
  font-size: clamp(30px, 3vw, 42px);
}

.dwj-contact-hero__lead {
  max-width: 850px;
  margin: 28px 0 0;
  font-size: 16px;
  line-height: 2;
}

/* GUIDE */
.dwj-contact-guide {
  padding: 70px 0;
  background: #f2f7f6;
}

.dwj-contact-section__title {
  margin-bottom: 38px;
  font-size: 28px;
}

.dwj-contact-guide__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}

.dwj-contact-guide__item {
  padding: 34px 32px 36px;
  background: #fff;
  border: 1px solid #dce4e3;
}

.dwj-contact-guide__label {
  margin: 0 0 15px;
  color: #087d78;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .1em;
}

.dwj-contact-guide__item h3 {
  position: relative;
  margin: 0 0 24px;
  padding: 0 0 20px;
  border-bottom: 1px solid #dce2e2;
  font-size: 22px;
  line-height: 1.5;
}

.dwj-contact-guide__item h3::after {
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 75px;
  height: 2px;
  background: #2f80c5;
  content: "";
}

.dwj-contact-guide__item > p:last-child {
  margin: 0;
  font-size: 14px;
  line-height: 1.9;
}

.dwj-contact-guide__note {
  margin-top: 25px;
  padding: 20px 24px;
  border-left: 3px solid #2f80c5;
  background: rgba(255, 255, 255, .65);
}

.dwj-contact-guide__note p {
  margin: 0;
  font-size: 13px;
  line-height: 1.9;
}

/* FORM INTRO */
.dwj-contact-form-section {
  padding: 70px 0 20px;
}

.dwj-contact-form-section__lead {
  margin: -12px 0 0;
  font-size: 15px;
  line-height: 2;
}

/* Contact Form 7 */
.wpcf7 {
  padding-top: 20px;
  padding-bottom: 80px;
}

.dwj-contact-form {
  max-width: 850px;
}

.dwj-contact-form label {
  display: block;
  margin: 0 0 28px;
}

.dwj-contact-form__label {
  display: block;
  margin-bottom: 10px;
  font-size: 15px;
  font-weight: 600;
}

.dwj-required,
.dwj-optional {
  display: inline-block;
  margin-left: 8px;
  padding: 2px 7px;
  font-size: 11px;
  font-weight: 500;
  line-height: 1.5;
}

.dwj-required {
  color: #fff;
  background: #087d78;
}

.dwj-optional {
  color: #666;
  background: #edf1f1;
}

.dwj-contact-form input[type="text"],
.dwj-contact-form input[type="email"],
.dwj-contact-form input[type="tel"],
.dwj-contact-form select,
.dwj-contact-form textarea {
  width: 100%;
  max-width: 100%;
  padding: 13px 14px;
  border: 1px solid #cfd8d8;
  border-radius: 0;
  background: #fff;
  font-size: 16px;
  box-sizing: border-box;
}

.dwj-contact-form select {
  min-height: 50px;
}

.dwj-contact-form textarea {
  min-height: 220px;
  resize: vertical;
}

.dwj-contact-form input:focus,
.dwj-contact-form select:focus,
.dwj-contact-form textarea:focus {
  border-color: #2f80c5;
  outline: 1px solid #2f80c5;
}

.dwj-contact-form__privacy {
  margin: 35px 0 30px;
  padding: 20px 22px;
  background: #f2f7f6;
  font-size: 14px;
  line-height: 1.8;
}

.dwj-contact-form__privacy a {
  color: #087d78;
  text-decoration: underline;
}

.dwj-contact-form__submit input[type="submit"] {
  width: 100%;
  max-width: 360px;
  padding: 16px 25px;
  border: 0;
  border-radius: 0;
  background: #087d78;
  color: #fff;
  font-size: 15px;
  font-weight: 600;
  cursor: pointer;
  transition: opacity .2s;
}

.dwj-contact-form__submit input[type="submit"]:hover {
  opacity: .8;
}

/* CF7 messages */
.wpcf7 form .wpcf7-response-output {
  margin: 25px 0 0;
  padding: 15px 18px;
  border-width: 1px;
  font-size: 14px;
  line-height: 1.8;
}


/* =========================================================
   Mobile
========================================================= */

@media (max-width: 767px) {

  .dwj-contact-page .dwj-inner,
  .wpcf7 {
    width: calc(100% - 40px);
  }

  .dwj-contact-hero {
    padding: 48px 0 40px;
  }

  .dwj-contact-hero__title {
    padding: 17px 0 19px;
    font-size: 26px;
    line-height: 1.5;
  }

  .dwj-contact-hero__lead {
    margin-top: 22px;
    font-size: 14px;
    line-height: 1.9;
  }

  .dwj-contact-guide {
    padding: 50px 0;
  }

  .dwj-contact-section__title {
    margin-bottom: 28px;
    padding: 15px 0 17px;
    font-size: 22px;
    line-height: 1.6;
  }

  .dwj-contact-guide__grid {
    display: block;
  }

  .dwj-contact-guide__item {
    margin-bottom: 18px;
    padding: 27px 22px 30px;
  }

  .dwj-contact-guide__item:last-child {
    margin-bottom: 0;
  }

  .dwj-contact-guide__item h3 {
    font-size: 20px;
  }

  .dwj-contact-guide__note {
    margin-top: 20px;
    padding: 18px;
  }

  .dwj-contact-form-section {
    padding: 50px 0 15px;
  }

  .dwj-contact-form-section__lead {
    font-size: 14px;
    line-height: 1.9;
  }

  .wpcf7 {
    padding-top: 18px;
    padding-bottom: 55px;
  }

  .dwj-contact-form label {
    margin-bottom: 24px;
  }

  .dwj-contact-form input[type="text"],
  .dwj-contact-form input[type="email"],
  .dwj-contact-form input[type="tel"],
  .dwj-contact-form select,
  .dwj-contact-form textarea {
    font-size: 16px;
  }

  .dwj-contact-form textarea {
    min-height: 180px;
  }

  .dwj-contact-form__submit input[type="submit"] {
    max-width: none;
  }
}
/* =========================================================
   HOME HERO - PHOTO / PLAN 02
========================================================= */

.dwj-hero--photo {
  position: relative;
  width: 100%;
  aspect-ratio: 1672 / 941;
  min-height: 0;

  background-image:
    url("http://test.dahnworldjapan.co.jp/wp-content/uploads/2026/09/DWJ-hero02.png");

  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
}

.dwj-hero--photo .dwj-hero__inner {
  position: relative;
  z-index: 2;

  width: min(1320px, calc(100% - 60px));
  min-height: 500px;
  margin: 0 auto;

  display: flex;
  align-items: center;
}

.dwj-hero--photo .dwj-hero__content {
  width: 52%;
  max-width: 650px;
  padding: 40px 0;
}

.dwj-hero--photo::before {
  position: absolute;
  z-index: 1;
  inset: 0;
  content: "";

  background: linear-gradient(
    90deg,
    rgba(255,255,255,.92) 0%,
    rgba(255,255,255,.72) 30%,
    rgba(255,255,255,.10) 51%,
    rgba(255,255,255,0) 64%
  );

  pointer-events: none;
}

.dwj-hero--photo .dwj-hero__title {
  margin: 0;
  color: #163c59;
  font-size: clamp(34px, 3vw, 48px);
  font-weight: 500;
  line-height: 1.45;
  letter-spacing: .03em;
}

.dwj-hero--photo .dwj-hero__lead {
  margin: 24px 0 0;
  color: #26465d;
  font-size: 15px;
  line-height: 1.9;
}

.dwj-hero--photo .dwj-hero__actions {
  margin-top: 26px;
}
/* =========================================================
   HOME HERO - PC TEXT POSITION
========================================================= */

@media (min-width: 768px) {

  .dwj-hero--photo .dwj-hero__content {
    width: 60%;
    max-width: 760px;
    padding: 40px 0;
    transform: translateY(-40px);
  }

  .dwj-hero--photo .dwj-hero__title {
    font-size: clamp(32px, 2.55vw, 43px);
    line-height: 1.45;
    letter-spacing: .02em;
  }

}
/* =========================================================
   HOME HERO - MOBILE
========================================================= */

@media (max-width: 767px) {

.dwj-hero--photo {
  position: relative;
  width: 100%;
  aspect-ratio: auto;
  height: auto !important;
  max-height: none !important;
  min-height: 0 !important;

  padding-top: 56.28%;
  padding-bottom: 0 !important;

  overflow: visible;

  background-image:
    url("http://test.dahnworldjapan.co.jp/wp-content/uploads/2026/09/DWJ-hero02.png");

  background-repeat: no-repeat;
  background-size: 100% auto;
  background-position: center top;
}

  .dwj-hero--photo::before {
    display: none;
  }

  .dwj-hero--photo .dwj-hero__inner {
    width: 100%;
    height: auto;
    min-height: 0;
    margin: 0;
    display: block;
  }

.dwj-hero--photo .dwj-hero__content {
  width: auto;
  max-width: none;
  margin: 0;
  padding: 26px 20px 24px;
  transform: none;
  background: #fff;
}

.dwj-hero--photo .dwj-hero__title {
  margin: 0;
  color: #163c59;
  font-size: 25px;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: .02em;
}
  .dwj-hero--photo .dwj-hero__lead {
    margin: 20px 0 0;
    color: #26465d;
    font-size: 14px;
    line-height: 1.9;
  }

  .dwj-hero--photo .dwj-hero__actions {
    margin-top: 24px;
  }

  .dwj-hero--photo .dwj-button--hero {
    min-width: 220px;
    padding: 14px 20px;
  }

}
/* =========================================================
   HOME - MOBILE HERO TO ABOUT SPACING
========================================================= */

@media (max-width: 767px) {

  .dwj-about {
    padding-top: 40px !important;
  }

}
/* =========================================================
   HOME ABOUT - VISUAL
========================================================= */

.dwj-about {
  padding: 90px 0;
  background: #fff;
}

.dwj-about__inner {
  width: min(1080px, calc(100% - 60px));
  margin: 0 auto;
  display: grid;
  grid-template-columns: 42% 58%;
  align-items: center;
}

.dwj-about__content {
  padding: 20px 65px 20px 0;
}

.dwj-about .dwj-section-label {
  margin: 0 0 14px;
  color: #087d78;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .16em;
}

.dwj-about__title {
  margin: 0;
  color: #163c59;
  font-size: 30px;
  font-weight: 600;
  line-height: 1.5;
}

.dwj-about__catch {
  margin: 24px 0 0;
  color: #163c59;
  font-size: 21px;
  font-weight: 600;
  line-height: 1.7;
}

.dwj-about__text {
  margin: 20px 0 0;
  color: #3d5261;
  font-size: 15px;
  line-height: 2;
}

.dwj-about__link {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 45px;
  min-width: 210px;
  margin-top: 30px;
  padding: 13px 20px;
  border: 1px solid #1685c7;
  border-radius: 30px;
  color: #164d73;
  font-weight: 600;
  text-decoration: none;
}

.dwj-about__visual {
  position: relative;
  min-height: 400px;
  overflow: hidden;
  background: #edf7f4;
}

.dwj-about__image {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(rgba(255,255,255,.04), rgba(255,255,255,.04)),
url("http://test.dahnworldjapan.co.jp/wp-content/uploads/2026/09/DWJ-about.png");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

.dwj-about__message {
  position: absolute;
  z-index: 2;
  left: 38px;
  bottom: 38px;
  margin: 0;
}

.dwj-about__message span {
  display: table;
  margin-top: 7px;
  padding: 5px 10px;
  background: rgba(255,255,255,.88);
  color: #164d73;
  font-size: 18px;
  font-weight: 600;
  line-height: 1.5;
}


/* HOME ABOUT - MOBILE */
@media (max-width: 767px) {

  .dwj-about {
    padding: 40px 0 55px !important;
  }

  .dwj-about__inner {
    width: calc(100% - 40px);
    display: flex;
    flex-direction: column;
  }

  .dwj-about__content {
    width: 100%;
    padding: 0;
  }

  .dwj-about__title {
    font-size: 25px;
  }

  .dwj-about__catch {
    margin-top: 20px;
    font-size: 19px;
  }

  .dwj-about__text {
    margin-top: 17px;
    font-size: 14px;
    line-height: 1.9;
  }

  .dwj-about__link {
    margin-top: 24px;
  }

  .dwj-about__visual {
    width: 100%;
    min-height: 260px;
    margin-top: 35px;
  }

  .dwj-about__message {
    left: 18px;
    right: 18px;
    bottom: 20px;
  }

  .dwj-about__message span {
    font-size: 14px;
  }
}
/* =========================================================
   HOME BUSINESS / BRANDS - VISUAL CARDS
   2026-09
========================================================= */

.dwj-business {
  padding: 90px 0 95px;
  background: #f4fafb;
}

.dwj-business__inner {
  width: min(1080px, calc(100% - 60px));
  margin: 0 auto;
}

.dwj-business__heading {
  max-width: 760px;
  margin: 0 auto 48px;
  text-align: center;
}

.dwj-business .dwj-section-label {
  margin: 0 0 14px;
  color: #087d78;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .16em;
}

.dwj-business__title {
  margin: 0;
  color: #163c59;
  font-size: 30px;
  font-weight: 600;
  line-height: 1.55;
}

.dwj-business__intro {
  max-width: 680px;
  margin: 18px auto 0;
  color: #526675;
  font-size: 15px;
  line-height: 1.9;
}

.dwj-business__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 28px;
}

.dwj-brand-card {
  position: relative;
  overflow: hidden;
  background: #fff;
  border: 1px solid #e3ecef;
  box-shadow: 0 10px 30px rgba(25, 73, 99, .06);
}

.dwj-brand-card__image {
  width: 100%;
  aspect-ratio: 8 / 5;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

/* 01 ILCHI Brain Yoga */
.dwj-brand-card__image--ilchi {
  background-image:
    url("http://test.dahnworldjapan.co.jp/wp-content/uploads/2026/09/DWJ-brand-ilchi.jpg");
}

/* 02 Healing Life Style */
.dwj-brand-card__image--healing {
  background-image:
    url("http://test.dahnworldjapan.co.jp/wp-content/uploads/2026/09/DWJ-brand-healing.jpg");
}

/* 03 カクレミノ家 */
.dwj-brand-card__image--kakuremino {
  background-image:
    url("http://test.dahnworldjapan.co.jp/wp-content/uploads/2026/09/DWJ-brand-kakuremino.jpg");
}

.dwj-brand-card__body {
  position: relative;
  min-height: 300px;
  padding: 30px 28px 28px;
}

.dwj-brand-card__number {
  position: absolute;
  top: 25px;
  right: 26px;
  margin: 0;
  color: #c7dce4;
  font-size: 28px;
  font-weight: 400;
  line-height: 1;
}

.dwj-brand-card__category {
  margin: 0 45px 9px 0;
  color: #087d78;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .12em;
}

.dwj-brand-card h3 {
  margin: 0;
  color: #163c59;
  font-size: 21px;
  font-weight: 600;
  line-height: 1.5;
}

.dwj-brand-card__description {
  margin: 18px 0 0;
  color: #526675;
  font-size: 14px;
  line-height: 1.9;
}

.dwj-brand-card__link {
  position: absolute;
  left: 28px;
  bottom: 28px;

  display: inline-flex;
  align-items: center;
  gap: 20px;

  color: #167bb3;
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
}

.dwj-brand-card__link:hover {
  text-decoration: underline;
}

.dwj-business__more {
  margin-top: 42px;
  text-align: center;
}


/* =========================================================
   HOME BUSINESS / BRANDS - MOBILE
========================================================= */

@media (max-width: 767px) {

  .dwj-business {
    padding: 55px 0 60px;
  }

  .dwj-business__inner {
    width: calc(100% - 40px);
  }

  .dwj-business__heading {
    margin-bottom: 32px;
    text-align: left;
  }

  .dwj-business__title {
    font-size: 24px;
    line-height: 1.55;
  }

  .dwj-business__intro {
    margin-top: 16px;
    font-size: 14px;
    line-height: 1.9;
  }

  .dwj-business__grid {
    display: block;
  }

  .dwj-brand-card {
    margin-bottom: 24px;
  }

  .dwj-brand-card:last-child {
    margin-bottom: 0;
  }

  .dwj-brand-card__body {
    min-height: 260px;
    padding: 26px 22px 24px;
  }

  .dwj-brand-card__number {
    top: 23px;
    right: 22px;
    font-size: 25px;
  }

  .dwj-brand-card__category {
    margin-right: 42px;
  }

  .dwj-brand-card h3 {
    font-size: 20px;
  }

  .dwj-brand-card__description {
    margin-top: 15px;
  }

  .dwj-brand-card__link {
    left: 22px;
    bottom: 24px;
  }

  .dwj-business__more {
    margin-top: 32px;
  }
}
/* =========================================================
   HOME OUR BRANDS - CARD HEIGHT ADJUST
========================================================= */

@media (min-width: 768px) {

  .dwj-brand-card {
    min-height: 0;
    height: auto;
  }

  .dwj-brand-card__link {
    margin-top: 32px;
  }

}
/* HOME OUR BRANDS - MOBILE TITLE */
@media (max-width: 767px) {

  .dwj-business .dwj-business__title {
    font-size: 22px;
    line-height: 1.55;
    letter-spacing: 0;
    white-space: normal !important;
    max-width: 100%;
    overflow-wrap: anywhere;
  }

}
/* =========================================================
   HOME BRAIN EDUCATION - STEPS PC
========================================================= */

@media (min-width: 768px) {

  .dwj-brain__steps {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }

  .dwj-brain-step {
    display: block;
    padding: 24px 18px 26px;
  }

  .dwj-brain-step span {
    display: block;
    margin-bottom: 10px;
  }

  .dwj-brain-step p {
    display: block;
    width: 100%;
    margin: 0;
    font-size: 14px;
    line-height: 1.7;
    word-break: normal;
    overflow-wrap: normal;
  }
}
.dwj-brain__more {
  margin-top: 28px;
  text-align: right;
}

@media (max-width: 767px) {
  .dwj-brain__more {
    margin-top: 24px;
    text-align: left;
  }
}
/* HOME 脳教育：5段階 詳細リンク PC */
@media (min-width: 768px) {
  .dwj-brain__more {
    margin-top: 28px;
  }

  .dwj-brain__more .dwj-text-link {
    display: inline-flex;
    align-items: center;
    gap: 18px;
    width: auto;
    min-width: 230px;
    white-space: nowrap;
  }
}
/* =========================================================
   HOME SOCIAL ACTION - VISUAL
========================================================= */

.dwj-social__visual {
  position: relative;
  margin-top: 58px;
  overflow: hidden;
}

.dwj-social__visual img {
  display: block;
  width: 100%;
  height: 360px;
  object-fit: cover;
  object-position: center;
}

.dwj-social__visual-copy {
  position: absolute;
  top: 50%;
  right: 7%;
  transform: translateY(-50%);
  color: #163c59;
}

.dwj-social__visual-copy p {
  margin: 0;
  font-size: clamp(25px, 2.2vw, 36px);
  font-weight: 500;
  line-height: 1.65;
  letter-spacing: .05em;
}

@media (max-width: 767px) {

  .dwj-social__visual {
    margin-top: 36px;
  }

  .dwj-social__visual img {
    height: 300px;
    object-position: 35% center;
  }

  .dwj-social__visual-copy {
    top: 34px;
    right: 22px;
    transform: none;
  }

  .dwj-social__visual-copy p {
    font-size: 21px;
    line-height: 1.6;
  }
}
/* =========================================================
   SOCIAL ACTION IMAGE - MOBILE POSITION
========================================================= */
@media (max-width: 767px) {

  .dwj-social__image {
    overflow: hidden;
  }

  .dwj-social__image img {
    display: block;
    width: 100%;
    transform: translateY(12px);
  }

}
/* SOCIAL ACTION - MOBILE IMAGE POSITION */
@media (max-width: 767px) {

  .dwj-social__visual img {
    height: 300px;
    object-fit: cover;
    object-position: 35% 35%;
  }

}
/* =========================================================
   CORPORATE - PC BOTTOM SPACE
========================================================= */
@media (min-width: 768px) {

  .dwj-corporate {
    padding-bottom: 90px;
  }

}
/* =========================================================
   CORPORATE TARGETS - MOBILE FIX
========================================================= */
@media (max-width: 767px) {

  .dwj-corporate__targets {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    grid-auto-rows: 125px;
    gap: 1px !important;
  }

  .dwj-corporate-target {
    width: auto !important;
    min-width: 0 !important;
    height: 125px !important;
    margin: 0 !important;
    padding: 20px 14px !important;
    box-sizing: border-box;
  }

  .dwj-corporate-target p {
    margin: 14px 0 0 !important;
  }

}
/* =========================================================
   HOME CONTACT - PREMIUM COLOR
   Deep Green × Champagne Gold
========================================================= */

/* CONTACT内の青い横線をシャンパンゴールドへ */
.dwj-contact-cta__inner::before,
.dwj-contact-cta__inner::after {
  background-color: #B8A06A !important;
  border-color: #B8A06A !important;
}

/* CONTACTラベル */
.dwj-contact-cta__en {
  color: #D8C89D !important;
}

/* お問い合わせボタン */
.dwj-contact-cta__button {
  border-color: rgba(216, 200, 157, .85) !important;
  color: #ffffff !important;
}

/* ボタン hover */
.dwj-contact-cta__button:hover {
  background: #B8A06A !important;
  border-color: #B8A06A !important;
  color: #1F514B !important;
}

/* フッター上部の青線をシャンパンゴールドへ */
.site-footer {
  border-top-color: #B8A06A !important;
}
/* CONTACT 上部の横線 */
.dwj-contact-cta__title {
  border-top-color: #B8A06A !important;
}
/* =========================================================
   DWJ FOOTER
   2026-09
========================================================= */

.site-footer {
  margin-top: 0;
  padding: 0;
  background: #173f3b;
  border-top: 1px solid #c9ad6a;
  color: #f7f4ec;
}

.site-footer .site-footer-content {
  width: min(1080px, calc(100% - 40px));
  max-width: 1080px;
  margin: 0 auto;
  padding: 64px 0 50px;
}

.site-footer .site-footer-content .row {
  display: grid;
  grid-template-columns: 1.15fr 1fr 1.25fr;
  gap: 70px;
  margin: 0;
}

.site-footer .site-footer-content .row > div {
  width: auto;
  max-width: none;
  padding: 0;
}

/* 見出し */
.dwj-footer-menu__title,
.dwj-footer-brand__title {
  margin: 0 0 22px;
  color: #d6bd7a;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .12em;
}

/* 会社名 */
.dwj-footer-brand__name {
  margin: 0 0 20px;
  color: #fff;
  font-size: 17px;
  font-weight: 600;
  line-height: 1.6;
}

/* 説明文 */
.dwj-footer-brand__text {
  margin: 0;
  color: rgba(255,255,255,.76);
  font-size: 13px;
  line-height: 1.9;
}

/* リンク */
.dwj-footer-menu__nav {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 11px;
}

.dwj-footer-menu__nav a {
  display: block;
  color: rgba(255,255,255,.82);
  font-size: 13px;
  line-height: 1.7;
  text-decoration: none;
  transition: .2s ease;
}

.dwj-footer-menu__nav a:hover {
  color: #d6bd7a;
}

/* コピーライト */
.site-footer .site-footer-copyright {
  width: min(1080px, calc(100% - 40px));
  max-width: 1080px;
  margin: 0 auto;
  padding: 22px 0 26px;
  border-top: 1px solid rgba(214,189,122,.35);
  color: rgba(255,255,255,.58);
  font-size: 11px;
  text-align: center;
}

/* Lightning側の余計な背景などをリセット */
.site-footer a {
  text-decoration: none;
}

/* =========================================================
   FOOTER MOBILE
========================================================= */

@media (max-width: 767px) {

  .site-footer .site-footer-content {
    width: calc(100% - 40px);
    padding: 46px 0 36px;
  }

  .site-footer .site-footer-content .row {
    display: block;
  }

  .site-footer .site-footer-content .row > div {
    margin: 0;
    padding: 28px 0;
    border-bottom: 1px solid rgba(255,255,255,.12);
  }

  .site-footer .site-footer-content .row > div:first-child {
    padding-top: 0;
  }

  .site-footer .site-footer-content .row > div:last-child {
    padding-bottom: 0;
    border-bottom: 0;
  }

  .dwj-footer-menu__title,
  .dwj-footer-brand__title {
    margin-bottom: 17px;
  }

  .dwj-footer-menu__nav {
    gap: 10px;
  }

  .site-footer .site-footer-copyright {
    width: calc(100% - 40px);
    padding: 20px 0 24px;
    font-size: 10px;
    line-height: 1.7;
  }
}
/* =========================================================
   HOME CONTACT → FOOTER SPACE
========================================================= */

.home .dwj-contact-cta {
  margin-bottom: 0 !important;
}

.home .site-footer {
  margin-top: 0 !important;
}

.home .site-body,
.home .site-body-container,
.home .main-section {
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
}
/* =========================================================
   HOME - REMOVE SPACE BEFORE FOOTER
========================================================= */

.home .site-body {
  padding-bottom: 0 !important;
}

.home .site-body-container {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

.home .main-section {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

.home .entry-body {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}
/* =========================================================
   DWJ FOOTER - MOBILE FINAL
========================================================= */

@media (max-width: 767px) {

  .site-footer .site-footer-content {
    padding-top: 38px;
    padding-bottom: 30px;
  }

  .dwj-footer-brand__name {
    font-size: 15px;
  }

  .dwj-footer-brand__text {
    font-size: 12px;
    line-height: 1.8;
  }

  .dwj-footer-menu__title,
  .dwj-footer-brand__title {
    font-size: 11px;
    letter-spacing: .1em;
  }

  .dwj-footer-menu__nav a {
    font-size: 12px;
    line-height: 1.6;
  }

  .site-footer .site-footer-content .row > div {
    padding: 24px 0;
  }

  .site-footer .site-footer-copyright {
    padding: 18px 0 20px;
    font-size: 9px;
  }
}
/* =========================================================
   SITE HEADER - PC NAV POSITION
========================================================= */

@media (min-width: 992px) {

  #site-header-container {
    justify-content: flex-start !important;
  }

  #site-header .global-nav--layout--float-right {
    width: auto !important;
    margin-left: 70px !important;
  }

  body:not(.header_scrolled) #site-header .global-nav--layout--float-right {
    justify-content: flex-start !important;
  }

}
/* =========================================================
   SITE HEADER - MOBILE
========================================================= */

@media (max-width: 991px) {

  #site-header .site-header-logo a,
  #site-header .site-header-logo a:visited {
    color: #174d49;
  }

}
/* =========================================================
   MOBILE NAV - CORPORATE
========================================================= */

@media (max-width: 991px) {

  /* メニュー全体 */
  #global-nav .global-nav-list {
    background: #ffffff;
  }

  /* 親メニュー */
  #global-nav .global-nav-list > li {
    border-bottom: 1px solid #e7e3d8;
  }

  #global-nav .global-nav-list > li > a {
    color: #263f3d;
    font-weight: 600;
    padding-top: 14px;
    padding-bottom: 14px;
  }

  /* 子メニュー */
  #global-nav .sub-menu {
    background: #f7f9f7;
  }

  #global-nav .sub-menu li {
    border-top: 1px solid #e8ece9;
  }

  #global-nav .sub-menu li a {
    color: #4b5654;
    font-weight: 400;
    padding-top: 12px;
    padding-bottom: 12px;
  }

  /* 開閉ボタン */
  #global-nav .acc-btn {
    border-color: #c9d3cf;
    background: #ffffff;
  }

}
/* =========================================================
   SITE HEADER - PC SCROLLED NAV CENTER
========================================================= */

@media (min-width: 992px) {

  body.header_scrolled #site-header #global-nav {
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  body.header_scrolled #site-header #global-nav .global-nav-list {
    width: 100% !important;
    display: flex !important;
    justify-content: center !important;
  }

}
/* =========================================================
   HOME - REMOVE SPACE BETWEEN HEADER AND HERO
========================================================= */

@media (min-width: 992px) {

  /* HOMEだけ、ヘッダー下の余白をなくす */
  body.home .site-body {
    padding-top: 0 !important;
    margin-top: 0 !important;
  }

  body.home .site-body-container {
    padding-top: 0 !important;
    margin-top: 0 !important;
  }

  /* HOME最初のコンテンツにも上余白を作らない */
  body.home main,
  body.home main > :first-child {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }

}
/* CONTACT CTA - MOBILE TITLE */
.dwj-contact-cta__sp-br {
  display: none;
}

@media (max-width: 767px) {
  .dwj-contact-cta__sp-br {
    display: block;
  }
}
/* HOME ABOUT - TITLE ONE LINE */
@media (min-width: 992px) {
  .dwj-about__title {
    font-size: 25px;
    white-space: nowrap;
  }
}
/* =========================================================
   SITE BODY BOTTOM - REMOVE EMPTY SPACE
========================================================= */

.site-body-bottom {
  display: none !important;
}
/* =========================================================
   PRIVACY POLICY
========================================================= */

.dwj-privacy a {
  color: #087d78;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 4px;
}

.dwj-privacy__company {
  margin-top: 32px;
  font-weight: 700;
}

@media (max-width: 767px) {
  .dwj-privacy h2 {
    line-height: 1.5;
  }

  .dwj-privacy ul {
    padding-left: 1.4em;
  }
}
/* ========================================
   メディア掲載：更新日・投稿者を非表示
======================================== */

.single-post .category-media .entry-meta-item-updated,
.single-post .category-media .entry-meta-item-author {
    display: none;
}
/* ========================================
   メディア掲載アーカイブ：1カラム化
======================================== */

/* 右サイドバーを非表示 */
body.category-media .sub-section {
    display: none;
}

/* メインコンテンツを1カラム・全幅へ */
body.category-media .main-section {
    width: 100%;
    max-width: 100%;
    flex-basis: 100%;
}

/* 2カラム時の余白を解除 */
body.category-media .site-body-container {
    display: block;
}
/* ========================================
   メディア掲載：画像なし記事の空白枠を削除
======================================== */

/* 画像が存在しない画像エリアを非表示 */
body.category-media .vk_post_imgOuter.media-img:not(:has(img)) {
    display: none;
}

/* 画像なし記事では本文エリアを横幅いっぱいに */
body.category-media .vk_post:not(:has(.media-img img)) .vk_post_body.media-body {
    width: 100%;
    flex: 1 1 100%;
}
/* ========================================
   メディア掲載一覧：続きを読むボタン
======================================== */

body.category-media .vk_post_btnOuter {
  margin-top: 18px;
}

body.category-media .vk_post_btn {
  display: inline-block;
  padding: 9px 22px;
  background: #164e49;
  border: 1px solid #164e49;
  border-radius: 2px;
  color: #fff;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.4;
  text-decoration: none;
  transition: opacity 0.2s ease;
}

body.category-media .vk_post_btn:hover {
  background: #164e49;
  border-color: #164e49;
  color: #fff;
  opacity: 0.82;
}
/* ==================================================
   メディア掲載・インフォメーション：共通サムネイル
================================================== */

body.category-media .vk_post_imgOuter.media-img:has(.dahn-media-fallback-thumb),
body.category-info .vk_post_imgOuter.media-img:has(.dahn-media-fallback-thumb) {
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: auto !important;
}

body.category-media .vk_post_imgOuter.media-img:has(.dahn-media-fallback-thumb)::before,
body.category-info .vk_post_imgOuter.media-img:has(.dahn-media-fallback-thumb)::before {
    display: none !important;
}

body.category-media .dahn-media-fallback-thumb,
body.category-info .dahn-media-fallback-thumb {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    max-width: 100% !important;
    object-fit: contain !important;
    position: static !important;
    margin: 0 !important;
}
/* ========================================
   プレスリリース：個別記事を1カラム化
======================================== */

body.dahn-single-press-release .sub-section {
    display: none !important;
}

body.dahn-single-press-release .main-section {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
}
/* ========================================
   プレスリリース：前後記事ナビを非表示
======================================== */

body.dahn-single-press-release .posts.next-prev {
    display: none !important;
}
/* ========================================
   プレスリリース：前後記事ナビを非表示
======================================== */

body.dahn-single-press-release .vk_posts.next-prev {
    display: none !important;
}
/* ========================================
   プレスリリース一覧：1カラム化
======================================== */

body.dahn-archive-press-release .main-section {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
}

body.dahn-archive-press-release .sub-section {
    display: none !important;
}
/* ========================================
   プレスリリース：共通サムネイル調整
======================================== */

body.dahn-archive-press-release
.vk_post_imgOuter.media-img:has(.dahn-press-release-fallback-thumb) {
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: auto !important;
    align-self: flex-start !important;
}

body.dahn-archive-press-release
.vk_post_imgOuter.media-img:has(.dahn-press-release-fallback-thumb)::before {
    display: none !important;
}

body.dahn-archive-press-release
.vk_post_imgOuter.media-img:has(.dahn-press-release-fallback-thumb) > a {
    height: auto !important;
    display: block !important;
}

body.dahn-archive-press-release
.dahn-press-release-fallback-thumb {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    max-width: 100% !important;
    object-fit: contain !important;
    position: static !important;
    margin: 0 !important;
}
/* ==================================================
   プレスリリース一覧
   共通サムネイル画像の高さを自然にする
================================================== */

body.category-press-release .vk_post_imgOuter.media-img:has(.dahn-press-release-fallback-thumb) {
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: auto !important;
    align-self: flex-start !important;
}

body.category-press-release .vk_post_imgOuter.media-img:has(.dahn-press-release-fallback-thumb)::before {
    display: none !important;
    content: none !important;
}

body.category-press-release .vk_post_imgOuter.media-img:has(.dahn-press-release-fallback-thumb) > a {
    height: auto !important;
    display: block !important;
}

body.category-press-release .dahn-press-release-fallback-thumb {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    max-width: 100% !important;
    object-fit: contain !important;
    position: static !important;
    margin: 0 !important;
}
/* ==================================================
   個別投稿ページ：すべて1カラム
================================================== */

body.single-post .main-section {
    width: 100% !important;
    max-width: 100% !important;
    flex-basis: 100% !important;
}

body.single-post .sub-section {
    display: none !important;
}
/* ==================================================
   個別投稿：前の記事・次の記事を非表示
================================================== */

body.single-post .next-prev {
    display: none !important;
}
/* ==================================================
   プレスリリース一覧：1カラム化
================================================== */

body.dahn-archive-press-release .main-section {
    width: 100% !important;
    max-width: 100% !important;
    flex-basis: 100% !important;
}

body.dahn-archive-press-release .sub-section {
    display: none !important;
}
/* ========================================
   投稿ページ：更新日・投稿者を非表示
======================================== */

/* 更新日 */
body.single-post .entry-meta-item-updated {
    display: none !important;
}

/* 投稿者 */
body.single-post .entry-meta-item-author {
    display: none !important;
}
/* ==================================================
   インフォメーション一覧：1カラム化
================================================== */

body.category-info .main-section {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
}

body.category-info .sub-section {
    display: none !important;
}
/* ========================================
   代表メッセージ：新代表写真
======================================== */

.dwj-message-page__profile--new {
    display: block;
    padding: 28px;
}

.dwj-message-page__photo--wide {
    width: 100%;
    max-width: 680px;
    margin: 0 auto 22px;
}

.dwj-message-page__photo--wide img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: contain;
}

.dwj-message-page__profile--new .dwj-message-page__profile-text {
    display: flex;
    align-items: baseline;
    gap: 18px;
}

.dwj-message-page__profile--new .dwj-message-page__role,
.dwj-message-page__profile--new .dwj-message-page__name {
    margin: 0;
}
/* 代表メッセージ：写真下の肩書・氏名を中央配置 */
.dwj-message-page__profile--new .dwj-message-page__profile-text {
    display: flex !important;
    width: 100% !important;
    justify-content: center !important;
    align-items: baseline !important;
    gap: 14px;
    margin-top: 0 !important;
    text-align: center !important;
}
/* =========================================================
   社会への取り組み：活動記録
========================================================= */

.dwj-social-record {
    margin-top: 56px;
    padding-top: 36px;
    border-top: 1px solid #d7e1df;
}

.dwj-social-record__label {
    margin: 0 0 10px;
    color: #168b83;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .12em;
}

.dwj-social-record__title {
    margin: 0 0 12px;
    font-size: 22px;
    line-height: 1.5;
}

.dwj-social-record__lead {
    margin: 0 0 28px;
    line-height: 1.9;
}

.dwj-social-record__images {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 28px;
    align-items: start;
}

.dwj-social-record__item {
    margin: 0;
    padding: 20px;
    background: #fff;
}

.dwj-social-record__item img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: contain;
}

.dwj-social-record__item figcaption {
    margin-top: 14px;
    font-size: 13px;
    line-height: 1.6;
    text-align: center;
    color: #555;
}

@media (max-width: 767px) {

    .dwj-social-record {
        margin-top: 40px;
        padding-top: 28px;
    }

    .dwj-social-record__images {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .dwj-social-record__item {
        padding: 16px;
    }
}
/* ==================================================
   出張プログラム page-id-41
   専用レイアウト・余白調整
================================================== */

/* --------------------------------
   各セクションの基本余白
-------------------------------- */
body.page-id-41 .dwj-outreach-page .dwj-social-section {
    margin-bottom: 100px !important;
}


/* --------------------------------
   英字ラベル
-------------------------------- */
body.page-id-41 .dwj-outreach-page .dwj-section-label {
    margin-top: 0 !important;
    margin-bottom: 24px !important;
}


/* --------------------------------
   セクションタイトル
-------------------------------- */
body.page-id-41 .dwj-outreach-page .dwj-social-section__title {
    margin-top: 0 !important;
    margin-bottom: 36px !important;
    padding-bottom: 24px !important;
}


/* --------------------------------
   通常本文
-------------------------------- */
body.page-id-41 .dwj-outreach-page .dwj-social-text {
    margin-top: 0 !important;
}

body.page-id-41 .dwj-outreach-page .dwj-social-text p {
    margin-top: 0 !important;
    margin-bottom: 22px !important;
    line-height: 2 !important;
}

body.page-id-41 .dwj-outreach-page .dwj-social-text p:last-child {
    margin-bottom: 0 !important;
}


/* --------------------------------
   最初のINTRO
-------------------------------- */
body.page-id-41 .dwj-outreach-page .dwj-social-hero {
    margin-bottom: 100px !important;
}

body.page-id-41 .dwj-outreach-page .dwj-social-hero__title {
    margin-top: 0 !important;
    margin-bottom: 34px !important;
    padding-bottom: 24px !important;
}

body.page-id-41 .dwj-outreach-page .dwj-social-hero__lead {
    margin-top: 0 !important;
    line-height: 2 !important;
}


/* --------------------------------
   薄グリーン背景
   PROGRAM / HOW IT WORKS
-------------------------------- */
body.page-id-41 .dwj-outreach-page .dwj-social-section--soft {
    padding-top: 52px !important;
    padding-bottom: 52px !important;
}

body.page-id-41 .dwj-outreach-page .dwj-social-section--soft .dwj-section-label {
    margin-bottom: 26px !important;
}

body.page-id-41 .dwj-outreach-page .dwj-social-section--soft .dwj-social-section__title {
    margin-bottom: 38px !important;
}


/* --------------------------------
   カード一覧
-------------------------------- */
body.page-id-41 .dwj-outreach-page .dwj-social-activities {
    gap: 28px !important;
    margin-top: 0 !important;
}


/* 各カード */
body.page-id-41 .dwj-outreach-page .dwj-social-activity {
    padding: 34px 30px !important;
}


/* 番号 */
body.page-id-41 .dwj-outreach-page .dwj-social-activity__number {
    margin-bottom: 18px !important;
}


/* 英字小見出し */
body.page-id-41 .dwj-outreach-page .dwj-social-activity__label {
    margin-bottom: 12px !important;
}


/* カードタイトル */
body.page-id-41 .dwj-outreach-page .dwj-social-activity h3 {
    margin-top: 0 !important;
    margin-bottom: 22px !important;
    padding-bottom: 16px !important;
}


/* カード本文 */
body.page-id-41 .dwj-outreach-page .dwj-social-activity > p:last-child {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    line-height: 1.9 !important;
}


/* --------------------------------
   HOW IT WORKS
-------------------------------- */
body.page-id-41 .dwj-outreach-page
.dwj-social-section--soft .dwj-social-text {
    margin-top: 0 !important;
}

body.page-id-41 .dwj-outreach-page
.dwj-social-section--soft .dwj-social-text p {
    margin-bottom: 24px !important;
    line-height: 2 !important;
}


/* --------------------------------
   CONTACT
-------------------------------- */
body.page-id-41 .dwj-outreach-page
.dwj-social-section:last-of-type {
    margin-bottom: 70px !important;
}

body.page-id-41 .dwj-outreach-page .dwj-brand-link {
    margin-top: 32px !important;
}


/* 戻るリンク */
body.page-id-41 .dwj-outreach-page .dwj-brand-back {
    margin-top: 0 !important;
    margin-bottom: 80px !important;
}


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

    body.page-id-41 .dwj-outreach-page .dwj-social-hero,
    body.page-id-41 .dwj-outreach-page .dwj-social-section {
        margin-bottom: 64px !important;
    }

    body.page-id-41 .dwj-outreach-page .dwj-social-section--soft {
        padding-top: 38px !important;
        padding-bottom: 38px !important;
    }

    body.page-id-41 .dwj-outreach-page .dwj-section-label {
        margin-bottom: 18px !important;
    }

    body.page-id-41 .dwj-outreach-page .dwj-social-section__title,
    body.page-id-41 .dwj-outreach-page .dwj-social-hero__title {
        margin-bottom: 26px !important;
        padding-bottom: 18px !important;
    }

    body.page-id-41 .dwj-outreach-page .dwj-social-text p {
        margin-bottom: 18px !important;
        line-height: 1.9 !important;
    }

    body.page-id-41 .dwj-outreach-page .dwj-social-activities {
        gap: 18px !important;
    }

    body.page-id-41 .dwj-outreach-page .dwj-social-activity {
        padding: 26px 22px !important;
    }

    body.page-id-41 .dwj-outreach-page .dwj-social-activity h3 {
        margin-bottom: 18px !important;
    }

    body.page-id-41 .dwj-outreach-page .dwj-brand-back {
        margin-bottom: 56px !important;
    }
}
/* ========================================
   出張プログラム：薄緑セクションの左右余白
======================================== */

body.page-id-41 .dwj-social-section--soft > .dwj-inner {
    padding-left: 48px !important;
    padding-right: 48px !important;
    box-sizing: border-box;
}

@media (max-width: 767px) {
    body.page-id-41 .dwj-social-section--soft > .dwj-inner {
        padding-left: 24px !important;
        padding-right: 24px !important;
    }
}
/* ========================================
   出張プログラム：スマホ下部の余白調整
======================================== */

@media (max-width: 767px) {

    /* CONTACT セクション下の余白を縮める */
    body.page-id-41 .dwj-social-section:last-of-type {
        margin-bottom: 36px !important;
    }

    /* 戻るリンク周辺 */
    body.page-id-41 .dwj-brand-back {
        margin-top: 0 !important;
        margin-bottom: 48px !important;
    }
}
/* 出張プログラム：スマホ 戻るリンクを上へ */
@media (max-width: 767px) {

    body.page-id-41 .dwj-outreach-page > .dwj-inner:last-child {
        margin-top: -45px !important;
    }

/* 出張プログラム：戻るリンクの余白 */
body.page-id-41 .dwj-brand-back {
    margin: 0 !important;
    padding-top: 28px !important;
    padding-bottom: 20px !important;
}
}
/* =========================================================
   PAGE HEADER
   固定ページ・投稿・アーカイブ共通
   Deep Green × Champagne Gold
========================================================= */

/* タイトル帯 */
.page-header {
    background: #173f3b !important;
    color: #ffffff !important;
}

/* タイトル文字 */
.page-header .page-header-title,
.page-header h1 {
    color: #ffffff !important;
}

/* タイトル帯のアクセント */
.page-header {
    border-bottom: 1px solid #B8A06A;
}
/* =========================================================
   HEADER SUB MENU
   ドロップダウンをブランドカラーに統一
========================================================= */

.site-header .sub-menu > li > a {
    background-color: #477d76 !important;
    color: #ffffff !important;
    border-color: rgba(255,255,255,.18) !important;
}

.site-header .sub-menu > li > a:hover {
    background-color: #173f3b !important;
    color: #ffffff !important;
}
/* =========================================================
   HEADER MENU ACTIVE / HOVER LINE
   Champagne Gold
========================================================= */

.global-nav-list > li.current-menu-item::before,
.global-nav-list > li.current_page_item::before,
.global-nav-list > li:hover::before {
    background: #B8A06A !important;
    background-color: #B8A06A !important;
    border-color: #B8A06A !imp
		ortant;
}
/* =========================================================
   DWJ ORIGINAL PAGE
   Lightning標準のH2装飾を解除
========================================================= */

.dwj-about-page h2 {
    border-top: 0 !important;
    border-bottom: 0 !important;
}
/* 代表メッセージ：MESSAGE下の青線を非表示 */
.dwj-message-page .dwj-section-label {
    border-bottom: 0 !important;
}
/* =========================================================
   COMPANY PAGE : section label blue line off
   ========================================================= */

.dwj-company-page .dwj-section-label {
    border-bottom: 0 !important;
}
.dwj-company-table {
    border-top: 2px solid #2f80c4;
}
/* 会社概要：会社情報表の上線をグリーンに統一 */
.dwj-company-page .dwj-company-table {
    border-top-color: #477d76 !important;
}
/* 沿革：HISTORY下の青線を非表示 */
.dwj-history-page .dwj-section-label {
    border-bottom: 0 !important;
}
/* 事業・ブランド：見出し線をグリーンに統一 */
.dwj-business-page__title {
    border-top-color: #477d76 !important;
}
/* =========================================================
   BUSINESS PAGE : カードタイトル下の短い青線を非表示
   ========================================================= */

.dwj-business-page .dwj-business-card__title::after {
    display: none !important;
}
/* 事業・ブランド：OUR APPROACH 上部ラインを緑に */
.dwj-business-page .dwj-business-page__message h2 {
    border-top-color: #176f69 !important;
}
/* イルチブレインヨガ：見出し線をサイト共通の緑に統一 */
.dwj-brand-page--ilchi .dwj-brand-hero__title,
.dwj-brand-page--ilchi .dwj-brand-section__title {
    border-top-color: var(--vk-color-primary) !important;
}
/* Healing Life Style：見出し線をサイト共通の緑に統一 */
.dwj-brand-page--hls .dwj-brand-hero__title,
.dwj-brand-page--hls .dwj-brand-section__title {
    border-top-color: var(--vk-color-primary) !important;
}
/* カクレミノ家：5本の見出し線をサイト共通の緑に統一 */
.dwj-brand-page--kakuremino .dwj-brand-hero__title,
.dwj-brand-page--kakuremino .dwj-brand-section__title {
    border-top-color: var(--vk-color-primary) !important;
}
/* 脳教育：5本の見出し線をサイト共通の緑に統一 */
.dwj-brain-page .dwj-brain-hero__title,
.dwj-brain-page .dwj-brain-section__title {
    border-top-color: var(--vk-color-primary) !important;
}
/* 脳教育：3カード内の短いラインを共通緑に */
.dwj-brain-page .dwj-brain-element h3::after {
    background: var(--vk-color-primary) !important;
}
/* =========================================================
   社会への取り組み：ラインカラー統一
========================================================= */

/* ページ上部・各セクション見出し */
.dwj-social-page .dwj-social-hero__title,
.dwj-social-page .dwj-social-section__title {
    border-top-color: #2f8c04 !important;
}

/* カード内4本のライン */
.dwj-social-page .dwj-social-activity h3::after {
    background: #2f8c04 !important;
}
/* =========================================================
   法人・団体ページ
   青ライン → 共通グリーン
========================================================= */

/* HERO */
.dwj-corporate-page .dwj-corporate-hero__title {
    border-top-color: #2f8c04 !important;
}

/* 各セクション見出し */
.dwj-corporate-page .dwj-corporate-section__title {
    border-top-color: #2f8c04 !important;
}

/* 対象：企業・自治体カード内 */
.dwj-corporate-page .dwj-corporate-target h3::after {
    background: #2f8c04 !important;
}

/* PROGRAMカード内 */
.dwj-corporate-page .dwj-corporate-program h3::after {
    background: #2f8c04 !important;
}

/* OUR EXPERIENCEカード */
.dwj-corporate-page .dwj-experience-card {
    border-top-color: #2f8c04 !important;
}

/* 主な導入実績 */
.dwj-corporate-page .dwj-experience-results h3::after {
    background: #2f8c04 !important;
}

/* HOW IT WORKS：STEPカード上端 */
.dwj-corporate-page .dwj-corporate-flow__item {
    border-top-color: #2f8c04 !important;
}

/* CTA */
.dwj-corporate-page .dwj-corporate-cta h2 {
border-top: 2px solid #6fae72;
}
/* =========================================================
   お問い合わせページ
   青ライン → 共通グリーン
========================================================= */

/* HERO・セクション見出し */
.dwj-contact-page .dwj-contact-hero__title,
.dwj-contact-page .dwj-contact-section__title {
    border-top-color: #2f8c04 !important;
}

/* お問い合わせ案内の注意書き：左ライン */
.dwj-contact-page .dwj-contact-guide__note {
    border-left-color: #2f8c04 !important;
}

/* 法人・団体の皆さま：スマホ表示修正 */
@media (max-width: 767px) {

    .dwj-business-program-page .dwj-social-activities,
    .dwj-business-program-page .dwj-program-cards,
    .dwj-business-program-page .dwj-business-cards {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 24px !important;
    }

    .dwj-business-program-page article,
    .dwj-business-program-page [class*="card"] {
        height: auto !important;
        min-height: 0 !important;
    }
}
/* 法人・団体の皆さま：スマホ崩れ修正 */
@media (max-width: 767px) {

    /* 企業・法人／自治体・公共団体を1列に */
    .dwj-corporate-page .dwj-corporate-targets {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 24px !important;
    }

    /* カードの高さを内容に合わせる */
    .dwj-corporate-page .dwj-corporate-target {
        height: auto !important;
        min-height: 0 !important;
    }

    /* カード内見出しの固定高さを解除 */
    .dwj-corporate-page .dwj-corporate-target h3 {
        height: auto !important;
        min-height: 0 !important;
    }
}
/* お知らせ：スマホで2項目の区切りを明確に */
@media (max-width: 767px) {

    body.page-id-4493 .dwj-news-page__grid {
        display: block !important;
    }

    body.page-id-4493 .dwj-news-card + .dwj-news-card {
        margin-top: 48px !important;
    }
}
/* =========================================================
   CORPORATE : OUR EXPERIENCE
   後から導入実績を追加できる構造
========================================================= */

.dwj-corporate-experience {
    padding: 88px 0;
    background: #f5f8f7;
}

.dwj-corporate-experience .dwj-corporate-section__title {
    margin-bottom: 30px;
}

.dwj-corporate-experience .dwj-corporate-text {
    max-width: 820px;
    margin-bottom: 46px;
}


/* 4カテゴリー */

.dwj-experience-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
}

.dwj-experience-card {
    padding: 34px 36px 36px;
    background: #fff;
    border-top: 3px solid var(--vk-color-primary);
}

.dwj-experience-card__en {
    margin: 0 0 12px;
    color: var(--vk-color-primary);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .12em;
}

.dwj-experience-card h3 {
    margin: 0 0 16px;
    padding: 0;
    border: 0;
    font-size: 20px;
    line-height: 1.5;
}

.dwj-experience-card p:last-child {
    margin: 0;
    font-size: 14px;
    line-height: 1.9;
}


/* =========================================================
   将来追加する「主な導入実績」
========================================================= */

.dwj-experience-results {
    margin-top: 54px;
    padding-top: 38px;
    border-top: 1px solid #d9e2df;
}

.dwj-experience-results__en {
    margin: 0 0 10px;
    color: var(--vk-color-primary);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .12em;
}

.dwj-experience-results h3 {
    margin: 0 0 24px;
    padding: 0;
    border: 0;
    font-size: 22px;
}

.dwj-experience-results__list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 40px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.dwj-experience-results__list li {
    padding: 14px 0;
    border-bottom: 1px solid #e3e8e6;
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

    .dwj-corporate-experience {
        padding: 64px 0;
    }

    .dwj-corporate-experience .dwj-corporate-text {
        margin-bottom: 32px;
    }

    .dwj-experience-grid {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .dwj-experience-card {
        padding: 26px 24px 28px;
    }

    .dwj-experience-card h3 {
        font-size: 19px;
    }

    .dwj-experience-results {
        margin-top: 42px;
        padding-top: 32px;
    }

    .dwj-experience-results__list {
        grid-template-columns: 1fr;
    }
}
/* =========================================================
   OUR EXPERIENCE
   実績公開前のテスト表示
========================================================= */

.dwj-experience-results__note {
    margin: 0 0 26px;
    font-size: 15px;
    line-height: 1.9;
}

.dwj-experience-results__placeholder {
    padding: 30px 34px;
    background: #fff;
    border-left: 3px solid var(--vk-color-primary);
}

.dwj-experience-results__placeholder p {
    margin: 0;
    color: #666;
    font-size: 14px;
    line-height: 1.9;
}

@media (max-width: 767px) {

    .dwj-experience-results__placeholder {
        padding: 24px 22px;
    }
}
/* =========================================================
   CORPORATE : AI AURA PICKUP
========================================================= */

.dwj-corporate-aiaura {
    margin-top: 52px;
    padding: 46px 44px 42px;
    background: #f5f8f7;
}

.dwj-corporate-aiaura__head {
    max-width: 760px;
    margin-bottom: 36px;
}

.dwj-corporate-aiaura__label {
    margin: 0 0 12px;
    color: #2f8c04;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .14em;
}

.dwj-corporate-aiaura__head h3 {
    margin: 0 0 18px;
    padding: 0;
    border: 0;
    font-size: 26px;
    line-height: 1.55;
}

.dwj-corporate-aiaura__head > p:last-child {
    margin: 0;
    font-size: 15px;
    line-height: 1.9;
}

.dwj-aiaura-flow {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
}

.dwj-aiaura-flow__item {
    position: relative;
    min-width: 0;
    padding: 25px 22px 26px;
    background: #fff;
    border-top: 3px solid #2f8c04;
}

.dwj-aiaura-flow__number {
    margin: 0 0 16px;
    color: rgba(47, 140, 4, .35);
    font-size: 30px;
    font-weight: 300;
    line-height: 1;
}

.dwj-aiaura-flow__en {
    margin: 0 0 7px;
    color: #2f8c04;
    font-size: 10px;
    font-weight: 600;
    letter-spacing: .12em;
}

.dwj-aiaura-flow__item h4 {
    margin: 0 0 12px;
    padding: 0;
    font-size: 18px;
    line-height: 1.5;
}

.dwj-aiaura-flow__item > p:last-child {
    margin: 0;
    font-size: 13px;
    line-height: 1.8;
}

.dwj-corporate-aiaura__note {
    margin: 24px 0 0;
    color: #666;
    font-size: 12px;
    line-height: 1.8;
}


/* MOBILE */
@media (max-width: 767px) {

    .dwj-corporate-aiaura {
        margin-top: 38px;
        padding: 32px 20px 30px;
    }

    .dwj-corporate-aiaura__head {
        margin-bottom: 26px;
    }

    .dwj-corporate-aiaura__head h3 {
        font-size: 22px;
    }

    .dwj-aiaura-flow {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .dwj-aiaura-flow__item {
        padding: 22px 20px 24px;
    }

    .dwj-aiaura-flow__number {
        margin-bottom: 12px;
        font-size: 26px;
    }
}
/* ========================================
   Corporate - Case
======================================== */

.dwj-corporate-case {
  margin-top: 48px;
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(260px, .85fr);
  gap: 36px;
  align-items: center;
  padding-top: 32px;
  border-top: 1px solid #b8d2c5;
}

.dwj-corporate-case__image {
  margin: 0;
}

.dwj-corporate-case__image img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 2px;
}

.dwj-corporate-case__label {
  margin: 0 0 10px;
  color: #2d7c68;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .14em;
}

.dwj-corporate-case__title {
  margin: 0 0 16px;
  color: #222;
  font-size: 22px;
  line-height: 1.55;
  font-weight: 600;
}

.dwj-corporate-case__text {
  margin: 0;
  color: #444;
  font-size: 14px;
  line-height: 2;
}

.dwj-corporate-case__note {
  margin: 18px 0 0;
  color: #777;
  font-size: 11px;
  line-height: 1.8;
}

@media (max-width: 767px) {

  .dwj-corporate-case {
    margin-top: 36px;
    grid-template-columns: 1fr;
    gap: 22px;
    padding-top: 28px;
  }

  .dwj-corporate-case__title {
    font-size: 20px;
  }

  .dwj-corporate-case__text {
    font-size: 14px;
  }

}
/* ==================================================
   Corporate - Case Study
   実施事例
================================================== */

.dwj-corporate-case {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
  align-items: stretch;
  margin-top: 40px;
  margin-bottom: 48px;
  background: #f3f8f6;
  border-top: 2px solid #2f8b78;
}

.dwj-corporate-case__image {
  margin: 0;
  min-width: 0;
}

.dwj-corporate-case__image img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 360px;
  object-fit: cover;
}

.dwj-corporate-case__body {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 40px 36px;
}

.dwj-corporate-case__label {
  margin: 0 0 12px;
  color: #21836f;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .12em;
}

.dwj-corporate-case__title {
  margin: 0 0 18px;
  padding-bottom: 14px;
  border-bottom: 1px solid #b8d7cf;
  font-size: 24px;
  line-height: 1.5;
}

.dwj-corporate-case__text {
  margin: 0;
  font-size: 15px;
  line-height: 2;
}

.dwj-corporate-case__note {
  margin: 20px 0 0;
  font-size: 12px;
  line-height: 1.7;
  color: #68746f;
}

/* smartphone */
@media (max-width: 767px) {
  .dwj-corporate-case {
    grid-template-columns: 1fr;
    margin-top: 28px;
    margin-bottom: 36px;
  }

  .dwj-corporate-case__image img {
    height: auto;
    min-height: 0;
    aspect-ratio: 4 / 3;
    object-fit: cover;
  }

  .dwj-corporate-case__body {
    padding: 26px 22px 28px;
  }

  .dwj-corporate-case__title {
    font-size: 20px;
  }

  .dwj-corporate-case__text {
    font-size: 14px;
    line-height: 1.9;
  }
}
/* ==================================================
   法人・団体ページ
   PC：本文内の画像をコンパクト表示
================================================== */

@media (min-width: 768px) {

  .dwj-corporate-page img {
    width: 50%;
    height: auto;
    max-width: 50%;
  }

}
/* 法人ページ：PC写真サイズ */
@media (min-width: 768px) {

  /* 御影：ブレイン体操 */
  .dwj-corporate-approach-photo {
    width: 50%;
    margin-left: auto;
    margin-right: auto;
  }

  .dwj-corporate-approach-photo img {
    width: 100%;
    height: auto;
  }

  /* 高齢者施設：実施事例 */
  .dwj-corporate-case {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }

  .dwj-corporate-case__image img {
    width: 100%;
    height: auto;
    min-height: 0;
    object-fit: contain;
  }
}
/* 法人・団体ページ：通常セクションの本文幅を統一 */
.dwj-corporate-page .dwj-corporate-text,
.dwj-corporate-page .dwj-corporate-section__lead {
    max-width: none;
    width: 100%;
}
/* 法人・団体：企業・自治体カードの左右余白 */
.dwj-corporate-page .dwj-corporate-section--soft .dwj-corporate-targets {
    box-sizing: border-box !important;
    padding-left: 32px !important;
    padding-right: 32px !important;
}
.dwj-corporate-targets {
    padding-left: 32px !important;
    padding-right: 32px !important;
    box-sizing: border-box !important;
}
/* 法人・団体：薄緑セクションの見出しもカード位置に揃える */
.dwj-corporate-section--soft .dwj-section-label,
.dwj-corporate-section--soft .dwj-corporate-section__title {
    margin-left: 32px;
    margin-right: 32px;
}
/* 法人・団体：OUR EXPERIENCE セクションの左右余白 */
.dwj-corporate-experience > .dwj-inner {
    box-sizing: border-box;
    padding-left: 32px;
    padding-right: 32px;
}
/* HOW IT WORKS 左右余白テスト */
.dwj-corporate-flow {
    width: calc(100% - 64px) !important;
    margin-left: 32px !important;
    margin-right: 32px !important;
}
/* HOW IT WORKS：説明文もカードと同じ左右32px */
.dwj-corporate-section__lead {
    width: calc(100% - 64px) !important;
    margin-left: 32px !important;
    margin-right: 32px !important;
    box-sizing: border-box;
}
/* 法人・団体ページ：CONTACT CTA 内側余白 */
.dwj-corporate-cta > .dwj-inner {
    width: calc(100% - 64px) !important;
    max-width: none !important;
    margin-left: 32px !important;
    margin-right: 32px !important;
    box-sizing: border-box;
}
/* 法人・団体ページ：写真の縁デザイン */
.dwj-corporate-approach-photo img {
    display: block;
    box-sizing: border-box;
    border: 1px solid #7fae8a;
    outline: 6px solid #fff;
    box-shadow: 0 0 0 7px rgba(127, 174, 138, 0.28);
}
/* 法人・団体ページ：写真とキャプションの間隔 */
.dwj-corporate-approach-photo figcaption {
    margin-top: 8px;
}
/* ==================================================
   法人・団体ページ：スマホレイアウト修正
================================================== */
@media (max-width: 767px) {

    /* 企業・自治体カード：2列 → 1列 */
    .dwj-corporate-targets {
        grid-template-columns: 1fr !important;
        gap: 16px !important;
    }

    /* プログラムカード：2列 → 1列 */
    .dwj-corporate-programs {
        grid-template-columns: 1fr !important;
        gap: 16px !important;
    }

    /* 導入の流れ：4列 → 1列 */
    .dwj-corporate-flow {
        gr/* ==================================================
   法人・団体ページ：スマホ横幅リセット
================================================== */
@media (max-width: 767px) {

    .dwj-corporate-page .dwj-inner,
    .dwj-corporate-page .dwj-corporate-text,
    .dwj-corporate-page .dwj-corporate-section__lead,
    .dwj-corporate-page .dwj-corporate-targets,
    .dwj-corporate-page .dwj-corporate-programs,
    .dwj-corporate-page .dwj-corporate-flow {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        box-sizing: border-box !important;
    }

    /* 薄緑セクションは外側ではなく内側に余白 */
    .dwj-corporate-page .dwj-corporate-section--soft > .dwj-inner,
    .dwj-corporate-page .dwj-corporate-cta > .dwj-inner {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-left: 20px !important;
        padding-right: 20px !important;
        box-sizing: border-box !important;
    }

    /* カードを1列 */
    .dwj-corporate-page .dwj-corporate-targets,
    .dwj-corporate-page .dwj-corporate-programs,
    .dwj-corporate-page .dwj-corporate-flow {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 16px !important;
    }
}id-template-columns: 1fr !important;
        gap: 16px !important;
    }
}
/* 法人・団体ページ：スマホのカード高さを内容に合わせる */
@media (max-width: 767px) {

    .dwj-corporate-target {
        height: auto !important;
        min-height: 0 !important;
    }

}
/* =========================================================
   出張プログラム
   PC：セクション間の縦余白調整
========================================================= */

@media (min-width: 768px) {

  /* ページ冒頭 */
  .dwj-outreach-page .dwj-social-hero {
    padding-top: 70px !important;
    padding-bottom: 70px !important;
  }

  /* 通常セクション */
  .dwj-outreach-page .dwj-social-section {
    padding-top: 70px !important;
    padding-bottom: 70px !important;
  }

  /* セクション同士の余白が二重にならないよう調整 */
  .dwj-outreach-page .dwj-social-hero + .dwj-social-section,
  .dwj-outreach-page .dwj-social-section + .dwj-social-section {
    margin-top: 0 !important;
  }

}
/* =========================================================
   出張プログラム
   ラインカラー統一
========================================================= */

/* セクション見出しの横ライン */
.dwj-outreach-page .dwj-social-hero__title,
.dwj-outreach-page .dwj-social-section__title {
    border-top-color: #2f8065 !important;
}

/* カード見出し下の短いライン */
.dwj-outreach-page .dwj-social-activity h3::after {
    background: #2f8065 !important;
}

/* その他、このページ内で青を使用している装飾 */
.dwj-outreach-page .dwj-section-label,
.dwj-outreach-page .dwj-social-activity__label {
    color: #2f8065 !important;
}
/* ==================================================
   お知らせページ：リンクカード
================================================== */

.dwj-news-page__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}

.dwj-news-card {
  display: flex;
  flex-direction: column;
  padding: 30px 28px 28px;
  background: #fff;
  border: 1px solid #dfe7e5;
  text-decoration: none;
  color: inherit;
  transition:
    border-color .25s ease,
    box-shadow .25s ease,
    transform .25s ease;
}

.dwj-news-card__label {
  margin: 0 0 14px;
  color: #14897f;
  font-size: 12px;
  letter-spacing: .08em;
}

.dwj-news-card__title {
  position: relative;
  margin: 0 0 20px;
  padding: 0 0 16px;
  font-size: 22px;
  line-height: 1.5;
  border-bottom: 1px solid #dfe7e5;
}

.dwj-news-card__title::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -1px;
  width: 72px;
  height: 2px;
  background: #14897f;
}

.dwj-news-card__text {
  margin: 0 0 24px;
  line-height: 1.9;
}

.dwj-news-card__more {
  display: block;
  margin-top: auto;
  color: #14897f;
  font-weight: 600;
}

@media (hover: hover) {
  .dwj-news-card:hover {
    border-color: #14897f;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .06);
    transform: translateY(-2px);
  }
}

@media (max-width: 767px) {
  .dwj-news-page__grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .dwj-news-card {
    padding: 24px 20px;
  }

  .dwj-news-card__title {
    font-size: 20px;
  }
}
/* ========================================
   Contact Form
   ======================================== */

/* Contact Form 7 全体 */
.wpcf7 {
  width: 100%;
  max-width: 850px;
  margin: 0 auto 90px;
}

/* 各入力項目 */
.wpcf7 p {
  margin: 0 0 28px;
  line-height: 1.8;
}

/* ラベル */
.wpcf7 label {
  display: block;
  font-weight: 600;
  line-height: 1.7;
}

/* テキスト系入力欄 */
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 input[type="url"],
.wpcf7 select,
.wpcf7 textarea {
  width: 100%;
  max-width: 100%;
  margin-top: 10px;
  padding: 14px 16px;
  border: 1px solid #ccd8d5;
  border-radius: 0;
  background: #fff;
  font: inherit;
  line-height: 1.6;
  box-sizing: border-box;
}

/* 通常の入力欄 */
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 input[type="url"],
.wpcf7 select {
  min-height: 48px;
}

/* お問い合わせ内容 */
.wpcf7 textarea {
  min-height: 180px;
  resize: vertical;
}

/* フォーカス時 */
.wpcf7 input:focus,
.wpcf7 select:focus,
.wpcf7 textarea:focus {
  outline: none;
  border-color: #168b80;
}

/* プライバシーポリシー同意部分 */
.wpcf7 .wpcf7-acceptance {
  display: block;
  padding: 20px 22px;
  background: #f2f7f6;
}

/* チェックボックス */
.wpcf7 input[type="checkbox"] {
  margin-right: 8px;
}

/* 送信ボタン */
.wpcf7 input[type="submit"] {
  display: block;
  width: 100%;
  max-width: 360px;
  min-height: 54px;
  padding: 14px 28px;
  border: 0;
  border-radius: 0;
  background: #168b80;
  color: #fff;
  font-weight: 700;
  cursor: pointer;
  transition: opacity 0.2s ease;
}

.wpcf7 input[type="submit"]:hover {
  opacity: 0.82;
}

/* CF7エラー等 */
.wpcf7 .wpcf7-not-valid-tip {
  margin-top: 6px;
  font-size: 13px;
}

.wpcf7 form .wpcf7-response-output {
  margin: 24px 0 0;
  padding: 14px 16px;
}


/* ========================================
   Smartphone
   ======================================== */

@media (max-width: 767px) {

  .wpcf7 {
    width: auto;
    margin: 0 20px 60px;
  }

  .wpcf7 p {
    margin-bottom: 22px;
  }

  .wpcf7 input[type="text"],
  .wpcf7 input[type="email"],
  .wpcf7 input[type="tel"],
  .wpcf7 input[type="url"],
  .wpcf7 select,
  .wpcf7 textarea {
    font-size: 16px;
    padding: 12px 14px;
  }

  .wpcf7 textarea {
    min-height: 160px;
  }

  .wpcf7 .wpcf7-acceptance {
    padding: 16px;
  }

  .wpcf7 input[type="submit"] {
    max-width: none;
    min-height: 52px;
  }
}
.wpcf7 p {
  margin: 0 0 28px;
}
/* ========================================
   Contact Form - vertical spacing fix
   ======================================== */

.dwj-contact-form > label {
  display: block;
  margin: 0 0 30px !important;
  padding: 0 !important;
}

.dwj-contact-form__label {
  display: block;
  margin: 0 0 10px !important;
  line-height: 1.6;
}

/* CF7が生成するフォームコントロール */
.dwj-contact-form .wpcf7-form-control-wrap {
  display: block;
  margin: 0 !important;
  padding: 0 !important;
}

/* 入力欄自体の上余白をリセット */
.dwj-contact-form input[type="text"],
.dwj-contact-form input[type="email"],
.dwj-contact-form input[type="tel"],
.dwj-contact-form select,
.dwj-contact-form textarea {
  margin-top: 0 !important;
}

/* 最後のお問い合わせ内容 */
.dwj-contact-form > label:last-of-type {
  margin-bottom: 24px !important;
}
/* ========================================
   Contact Form 7 フォーム縦余白調整
======================================== */

.dwj-contact-form > p {
  margin: 0 0 32px !important;
}

.dwj-contact-form > p > label {
  display: block;
  margin: 0 !important;
}

.dwj-contact-form__label {
  display: inline-block;
  margin-bottom: 10px;
}

.dwj-contact-form .wpcf7-form-control-wrap {
  display: block;
}

/* CF7が自動挿入するbrの影響をなくす */
.dwj-contact-form > p > label > br {
  display: none;
}

/* 入力欄自体の下余白をリセット */
.dwj-contact-form input,
.dwj-contact-form select,
.dwj-contact-form textarea {
  margin-bottom: 0 !important;
}
/* ========================================
   お問い合わせ：カード内ラインをグリーンに統一
======================================== */

/* お問い合わせ：カード内タイトル下線 */
.dwj-contact-guide__item h3::after {
  background: #2f8c04 !important;
}
/* =========================================================
   Privacy Policy
   見出し：上の緑線を残し、テーマ由来の下線を削除
========================================================= */

.dwj-privacy h2 {
  border-bottom: none !important;
}

/* Lightning等のテーマ側で付く疑似要素の下線も削除 */
.dwj-privacy h2::after {
  display: none !important;
  content: none !important;
}
/* =========================================================
   脳教育ページ：メイン画像をコンパクトな枠付き表示に
========================================================= */

.dwj-brain-education img {
  display: block;
  width: 50%;
  height: auto;
  margin: 28px auto;
  padding: 10px;
  background: #fff;
  border: 1px solid #dce2e2;
  box-sizing: border-box;
}
/* =========================================================
   脳教育：ABOUT BRAIN EDUCATION 画像
========================================================= */

.dwj-brand-photo--brain {
  width: 50% !important;
  max-width: 540px !important;
  margin: 32px auto !important;
  padding: 10px !important;
  background: #fff !important;
  border: 1px solid #dce2e2 !important;
  box-sizing: border-box !important;
}

.dwj-brand-photo--brain img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  margin: 0 !important;
}
/* =========================================================
   脳教育画像：スマホ調整
========================================================= */
@media (max-width: 767px) {

  .dwj-brand-photo--brain {
    width: 88% !important;
    max-width: none !important;
    margin: 28px auto 36px !important;
    padding: 6px !important;
  }

  .dwj-brand-photo--brain img {
    width: 100% !important;
    height: auto !important;
  }

}
/* 事業・ブランド：英字ラベルと事業タイトルの間隔 */
.dwj-business-card__title {
  margin-top:　6px !important;
}
.dwj-business-card__label {
    padding-bottom: 10px;
}
/* ==================================================
   BUSINESS CARD IMAGE
================================================== */

.dwj-business-card__image {
  margin: 28px 0 30px;
  max-width: 100%;
}

.dwj-business-card__image img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 6;
  object-fit: cover;
  border: 1px solid #d9e3df;
}

/* SP */
@media (max-width: 767px) {
  .dwj-business-card__image {
    margin: 20px 0 24px;
  }

  .dwj-business-card__image img {
    aspect-ratio: 16 / 8;
  }
}
.dwj-business-card__image {
  margin: 28px 0 38px;
}
.dwj-business-card__title {
  border-bottom: none !important;
}
/* OUR APPROACH 本文の不自然な改行を解消 */
.dwj-business-page__message p:not(.dwj-section-label) {
  max-width: none !important;
}
/* ==================================================
   社会への取り組み：OUR APPROACH イメージ
================================================== */

.dwj-social-approach-photo {
  width: 100%;
  max-width: 920px;
  margin: 40px auto 0;
}

.dwj-social-approach-photo img {
  display: block;
  width: 100%;
  height: auto;
  border: 1px solid #e3e8e6;
}

/* Smartphone */
@media (max-width: 767px) {
  .dwj-social-approach-photo {
    margin-top: 28px;
  }
}
/* 法人・団体の皆さまへ：冒頭写真 */
.dwj-corporate-page figure:first-of-type {
  width: 60%;
  max-width: 620px;
  margin: 24px auto 28px;
}

.dwj-corporate-page figure:first-of-type img {
  display: block;
  width: 100%;
  height: auto;
}

@media (max-width: 767px) {
  .dwj-corporate-page figure:first-of-type {
    width: 100%;
    max-width: none;
    margin: 20px auto 24px;
  }
}
/* 法人・団体ページ：OUR APPROACHから写真までの余白調整 */
.dwj-corporate-page .dwj-corporate-section:first-of-type {
  padding-bottom: 25px;
}
/* OUR APPROACH：写真直前セクションの下余白だけ調整 */
.dwj-corporate-page .dwj-corporate-section:has(+ p + figure.dwj-corporate-approach-photo) {
  padding-bottom: 25px;
}
/* ========================================
   Brain Education - About Photo
======================================== */

.dwj-brain-about-photo {
  width: 100%;
  max-width: 850px;
  margin: 36px auto 0;
}

.dwj-brain-about-photo img {
  display: block;
  width: 100%;
  height: auto;
  margin: 0;
}

/* Smartphone */
@media (max-width: 767px) {
  .dwj-brain-about-photo {
    width: 100%;
    margin-top: 28px;
  }
}
/* イルチブレインヨガ：スタジオ画像サイズ調整 */
.dwj-ilchi-studio-photo {
    max-width: 700px;
    margin-left: auto;
    margin-right: auto;
}

.dwj-ilchi-studio-photo img {
    width: 100%;
    height: auto;
    display: block;
}
/* ========================================
   イルチブレインヨガ
   スタジオ内観画像 サイズ調整
======================================== */

.dwj-brand-page--ilchi .dwj-brand-network__photo {
    max-width: 700px;
    margin-left: auto;
    margin-right: auto;
}

.dwj-brand-page--ilchi .dwj-brand-network__photo img {
    display: block;
    width: 100%;
    height: auto;
}

/* スマホ */
@media (max-width: 767px) {
    .dwj-brand-page--ilchi .dwj-brand-network__photo {
        max-width: 100%;
    }
}
/* イルチブレインヨガ：スタジオ内観 */
.dwj-brand-page--ilchi .dwj-brand-network__photo {
    width: 100%;
    max-width: 760px;
    margin: 24px auto 0;
}

.dwj-brand-page--ilchi .dwj-brand-network__photo img {
    display: block;
    width: 100%;
    height: auto;
}

@media (max-width: 767px) {
    .dwj-brand-page--ilchi .dwj-brand-network__photo {
        max-width: 100%;
        margin-top: 20px;
    }
}
.dwj-brand-page--hls .dwj-brand-photo--learning {
    width: 100%;
    max-width: none;
    margin: 40px 0 0;
}

.dwj-brand-page--hls .dwj-brand-photo--learning img {
    display: block;
    width: 100%;
    height: auto;
}
/* =========================================================
   Healing Life Style
   LEARNING & SUPPORT
   ========================================================= */

/* 薄緑背景内の左右余白 */
.page-id-38 .dwj-brand-section--soft .dwj-inner {
    padding-left: 40px !important;
    padding-right: 40px !important;
}

/* 見出し上ライン：青 → ブランドグリーン */
.page-id-38 .dwj-brand-section--soft .dwj-brand-section__title {
    border-top-color: #16877f !important;
}

/* スマホ */
@media (max-width: 767px) {
    .page-id-38 .dwj-brand-section--soft .dwj-inner {
        padding-left: 20px !important;
        padding-right: 20px !important;
    }
}
/* HLS：セクション見出し上のラインをグリーンに統一 */
.page-id-38 .dwj-brand-section__title {
    border-top-color: #16877f !important;
}
/* ========================================
   ILCHI Brain UP
   見出しラインをブランド共通グリーンへ
======================================== */
/* ILCHI Brain UP：アクセントカラー統一 */
.dwj-brand-page--brainup .dwj-section-label,
.dwj-brand-page--brainup .dwj-brand-element__label {
  color: #008b80;
}

.dwj-brand-page--brainup .dwj-brand-hero__title,
.dwj-brand-page--brainup .dwj-brand-section__title {
  border-top-color: #008b80 !important;
}

.dwj-brand-page--brainup .dwj-brand-element h3::after {
  background: #008b80 !important;
}
/* TOP - ILCHI Brain UP */
.dwj-brand-card__image--brainup {
  background-image: url("https://test.dahnworldjapan.co.jp/wp-content/uploads/2026/09/ilchibrainup.png");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
/* ========================================
   TOP OUR BRANDS
   4事業：PC 2列 × 2段
======================================== */

@media (min-width: 769px) {

.dwj-business__grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 28px;
  row-gap: 36px;
  max-width: 760px;
  margin-left: auto;
  margin-right: auto;
}

}
/* ========================================
   BRAIN EDUCATION - EXTERNAL PROGRAMS
======================================== */

.dwj-brain-external {
  margin: 80px 0;
}

.dwj-brain-external__title {
  margin: 0 0 28px;
  padding: 0 0 20px;
  border-bottom: 1px solid #d9e2df;
  font-size: 28px;
  line-height: 1.6;
  font-weight: 700;
  color: #222;
}

.dwj-brain-external__lead {
  max-width: 860px;
  margin: 0 0 38px;
  font-size: 15px;
  line-height: 2;
  color: #444;
}

.dwj-brain-external__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
}

.dwj-brain-external__card {
  padding: 30px;
  background: #f3f8f6;
  border-top: 1px solid #177b72;
}

.dwj-brain-external__number {
  margin: 0 0 15px;
  font-size: 14px;
  color: #91bdb7;
}

.dwj-brain-external__label {
  margin: 0 0 8px;
  font-size: 10px;
  line-height: 1.4;
  font-weight: 700;
  letter-spacing: .08em;
  color: #008b80;
}

.dwj-brain-external__card h3 {
  margin: 0 0 16px;
  padding-bottom: 14px;
  border-bottom: 1px solid #d9e2df;
  font-size: 18px;
  line-height: 1.6;
  color: #222;
}

.dwj-brain-external__card p:last-child {
  margin: 0;
  font-size: 14px;
  line-height: 1.9;
  color: #444;
}

.dwj-brain-external__note {
  margin: 18px 0 0;
  font-size: 12px;
  line-height: 1.8;
  color: #777;
}


/* SP */
@media (max-width: 767px) {

  .dwj-brain-external {
    margin: 55px 0;
  }

  .dwj-brain-external__title {
    font-size: 22px;
    line-height: 1.6;
  }

  .dwj-brain-external__lead {
    margin-bottom: 28px;
    font-size: 14px;
  }

  .dwj-brain-external__grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .dwj-brain-external__card {
    padding: 24px 20px;
  }

  .dwj-brain-external__card h3 {
    font-size: 17px;
  }

}
.dwj-brain-external__note {
  margin: 20px 0 0;
  font-size: 13px;
  line-height: 1.8;
  color: #666;
}
/* ========================================
   EXTERNAL PROGRAMS
   SP：上部テキストの左右余白調整
======================================== */
@media (max-width: 767px) {

  .dwj-brain-external > .dwj-section-label,
  .dwj-brain-external > .dwj-brain-external__title,
  .dwj-brain-external > .dwj-brain-external__lead {
    margin-left: 28px;
    margin-right: 20px;
  }

}
/* ========================================
   BRAIN EDUCATION / EXTERNAL PROGRAM ICON
======================================== */

.dwj-brain-external__icon {
  display: flex;
  align-items: center;
  justify-content: center;

  width: 46px;
  height: 46px;
  margin: 0 0 18px;

  border: 1px solid #0b7f78;
  border-radius: 50%;

  color: #0b7f78;
  font-size: 20px;
  line-height: 1;
}

.dwj-brain-external__icon i {
  display: block;
}
/* External Programs：アイコンと番号をコンパクトに配置 */
.dwj-brain-external__card {
  position: relative;
}

.dwj-brain-external__icon {
  margin-bottom: 14px;
}

.dwj-brain-external__number {
  position: absolute;
  top: 30px;
  right: 30px;
  margin: 0;
  font-size: 18px;
  line-height: 1;
  color: #a9d8d4;
}
/* Font Awesome アイコンの視覚的な中央補正 */
.dwj-brain-external__icon i {
  position: relative;
  left: 3.5px;
}
/* ========================================
   BRAIN EDUCATION / EXTERNAL PROGRAMS
   Mobile menu overlap adjustment
======================================== */

@media (max-width: 767px) {

  /* 01以降のカードは動かさない */
  .dwj-brain-external__grid {
    margin-left: 0;
    margin-right: 0;
  }

  /* セクション冒頭だけハンバーガーを避ける */
  .dwj-brain-external > .dwj-section-label,
  .dwj-brain-external > .dwj-brain-external__title,
  .dwj-brain-external > .dwj-brain-external__lead {
    margin-left: 28px;
    margin-right: 14px;
  }

}
/* ==================================================
   PC HEADER / GLOBAL NAV
   メニュー間隔調整・右端切れ対策
================================================== */
@media (min-width: 992px) {

  #site-header .site-header-container {
    width: calc(100% - 40px);
    max-width: 1240px;
    margin-left: auto;
    margin-right: auto;
  }

  #site-header .global-nav {
    margin-left: auto;
  }

  /* li側に入っている大きな余白を縮小 */
  #site-header .global-nav-list > li {
    padding-left: 10px;
    padding-right: 10px;
  }

  #site-header .global-nav-list > li > a {
    padding-left: 8px;
    padding-right: 8px;
  }

  #site-header .global-nav-name {
    white-space: nowrap;
  }
}
/* 1200px前後：ロゴ幅を少しだけ抑える */
@media (min-width: 992px) and (max-width: 1250px) {
  #site-header .site-header-logo {
    font-size: 22px;
  }
}
#site-header .global-nav-list > li {
  padding-left: 5px;
  padding-right: 5px;
}

#site-header .global-nav-list > li > a {
  padding-left: 5px;
  padding-right: 5px;
}
/* ==================================================
   PC HEADER / SCROLLED
   追従時もサイトロゴを表示
================================================== */
@media (min-width: 992px) {

  body.header_scrolled #site-header .site-header-logo {
    display: block;
    font-size: 18px;
    white-space: nowrap;
  }

}