/**
 * Company Message CSS
 * 1410：代表挨拶
 * /message/
 *
 * 代表メッセージ、代表写真、ストーリー、
 * 代表プロフィール・経歴など
 *
 * 基本カラー・共通レイアウトは
 * company-common.css を使用します。
 */


/* =========================================================
   01. Message Hero
========================================================= */

.message-hero {
  padding: 80px 24px 96px;
  background: var(--daikon-color-bg-warm, #faf7ef);
}

.message-hero__inner {
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  gap: 72px;
  align-items: center;

  width: 100%;
  max-width: var(--daikon-width-standard, 1100px);
  margin: 0 auto;
}

.message-hero__content {
  min-width: 0;
}

.message-hero__label {
  margin: 0 0 16px;

  color: var(--daikon-color-primary-dark, #315b40);

  font-size: 16px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.18em;
}

.entry-content .message-hero__title,
.message-hero__title {
  margin: 0 !important;
  padding: 0 !important;

  border: 0 !important;
  background: none !important;

  color: var(--daikon-color-heading, #294535) !important;

  font-family: inherit !important;
  font-size: clamp(36px, 4.5vw, 54px) !important;
  font-weight: 700 !important;
  line-height: 1.45 !important;
  letter-spacing: 0.02em !important;
}

.entry-content .message-hero__title::before,
.entry-content .message-hero__title::after,
.message-hero__title::before,
.message-hero__title::after {
  display: none !important;
  content: none !important;
}

.message-hero__lead {
  margin: 32px 0 0;

  color: var(--daikon-color-text, #59635c);

  font-size: 16px;
  line-height: 2;
}


/* =========================================================
   02. Representative Profile
========================================================= */

.message-hero__profile {
  margin-top: 38px;
}

.message-hero__company,
.message-hero__position,
.message-hero__name,
.message-hero__qualification {
  margin: 0;
  text-align: center !important;
}

.message-hero__company {
  margin-bottom: 5px;

  color: var(--daikon-color-text, #59635c);
  font-size: 14px;
}

.message-hero__position {
  color: var(--daikon-color-text, #59635c);
  font-size: 14px;
}

.message-hero__name {
  margin-top: 4px;

  color: var(--daikon-color-heading, #294535);

  font-size: 25px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.08em;
}

.message-hero__qualification {
  margin-top: 5px;

  color: #748078;
  font-size: 13px;
}


/* =========================================================
   03. Representative Image
========================================================= */

.message-hero__image {
  margin: 0;
  overflow: hidden;

  border-radius: var(--daikon-radius-card, 20px);
}

.message-hero__image img {
  display: block;

  width: 100%;
  height: auto;
  aspect-ratio: 4 / 5;

  object-fit: cover;
}


/* =========================================================
   04. Green Background Block
========================================================= */

.message-hero--green {
  width: calc(100% + 120px);
  max-width: none !important;

  margin-left: -60px !important;
  margin-right: -60px !important;

  background: #eef7ee;
}


/* =========================================================
   05. Section Lead
========================================================= */

.daikon-section-lead {
  margin: 0;

  color: var(--daikon-color-text, #59635c);

  font-size: 16px;
  line-height: 1.9;

  text-align: left !important;
}


/* =========================================================
   06. Origin Card
========================================================= */

.message-origin__content {
  position: relative;

  width: calc(100% - 40px);
  max-width: 1000px;

  margin: 0 auto !important;
  padding: 56px 64px;

  overflow: hidden;

  background:
    linear-gradient(
      180deg,
      #ffffff 0%,
      #f7faf7 100%
    );

  border: 1px solid #e3ebe5;
  border-radius: 16px;

  box-shadow:
    0 12px 30px rgba(35, 75, 55, 0.06),
    0 2px 8px rgba(35, 75, 55, 0.03);
}

.message-origin__content > p {
  position: relative;
  z-index: 1;

  margin-top: 0;
  margin-bottom: 1.6em;

  color: var(--daikon-color-text, #59635c);

  font-size: 16px;
  line-height: 2;
}

.message-origin__content > p:last-child {
  margin-bottom: 0;
}

.message-origin__intro {
  text-align: center !important;
}


/* =========================================================
   07. Origin Decorative Brackets
========================================================= */

.message-origin__content--bracket::before,
.message-origin__content--bracket::after {
  position: absolute;

  color: #8c674d;

  font-size: 62px;
  font-weight: 500;
  line-height: 1;

  opacity: 0.18;
  pointer-events: none;
}

.message-origin__content--bracket::before {
  content: "「";
  top: 34px;
  left: 34px;
}

.message-origin__content--bracket::after {
  content: "」";
  right: 34px;
  bottom: 30px;
}


/* =========================================================
   08. Origin Quote
   深緑 × ゴールド
========================================================= */

.entry-content .message-origin__quote,
.message-origin__quote {
  position: relative;
  z-index: 1;

  width: 100%;
  max-width: 900px;

  margin: 0 auto 40px !important;
  padding: 28px 34px !important;

  background:
    linear-gradient(
      135deg,
      #173a2a 0%,
      #234b37 50%,
      #173a2a 100%
    ) !important;

  border: 1px solid #b9954f !important;
  border-left: 5px solid #c38f35 !important;
  border-radius: 12px !important;

  box-shadow:
    0 10px 24px rgba(23, 58, 42, 0.16),
    inset 0 1px 0 rgba(255, 255, 255, 0.07) !important;

  text-align: center !important;
}

.entry-content .message-origin__quote::before,
.entry-content .message-origin__quote::after,
.message-origin__quote::before,
.message-origin__quote::after {
  display: none !important;
  content: none !important;
}

.entry-content .message-origin__quote p,
.message-origin__quote p {
  margin: 0 !important;
  padding: 0 !important;

  color: #fffaf0 !important;

  font-size: 24px !important;
  font-weight: 600 !important;
  line-height: 1.8 !important;
  letter-spacing: 0.035em !important;

  text-align: center !important;
}


/* =========================================================
   09. Work Statement
   ダークブラウン × ゴールド
========================================================= */

.company-message-box.message-work__statement {
  position: relative;

  width: calc(100% - 40px);
  max-width: 800px;

  margin: 0 auto;
  padding: 34px 42px;

  overflow: hidden;

  background:
    linear-gradient(
      135deg,
      #2f201a 0%,
      #4a3024 50%,
      #2b1d18 100%
    );

  border: 1px solid #b99148;
  border-radius: 14px;

  box-shadow:
    0 14px 30px rgba(48, 30, 22, 0.20),
    inset 0 1px 0 rgba(255, 255, 255, 0.06);

  text-align: center;
}

.company-message-box.message-work__statement::before {
  content: "";

  position: absolute;
  top: 0;
  left: 50%;

  width: 120px;
  height: 3px;

  background:
    linear-gradient(
      90deg,
      transparent,
      #d5b467,
      #b99148,
      #d5b467,
      transparent
    );

  transform: translateX(-50%);
}

.company-message-box.message-work__statement p {
  position: relative;
  z-index: 1;

  margin: 0;

  color: #fff4d6 !important;

  font-size: 22px;
  font-weight: 600;
  line-height: 1.9;
  letter-spacing: 0.04em;

  text-align: center;

  text-shadow:
    0 1px 0 rgba(255, 255, 255, 0.08),
    0 2px 6px rgba(0, 0, 0, 0.28);
}


/* =========================================================
   10. Work Content
========================================================= */

.message-work__content {
  max-width: 900px;

  margin-left: auto !important;
  margin-right: auto !important;
}

.message-work__content p {
  color: var(--daikon-color-text, #59635c);

  font-size: 16px;
  line-height: 2;

  text-align: center !important;
}


/* =========================================================
   11. Management Statement
   白 × 深緑
========================================================= */

.company-message-box.message-management__statement {
  position: relative;

  width: calc(100% - 40px);
  max-width: 760px;

  margin: 0 auto;
  padding: 36px 40px;

  background: #ffffff;

  border: 1px solid #e1e9e3;
  border-radius: 14px;

  box-shadow: 0 10px 28px rgba(35, 75, 55, 0.06);

  text-align: center;
}

.company-message-box.message-management__statement::before {
  content: "";

  position: absolute;
  top: 0;
  left: 50%;

  width: 72px;
  height: 3px;

  background: var(--daikon-color-primary-dark, #315b40);

  border-radius: 0 0 3px 3px;

  transform: translateX(-50%);
}

.company-message-box.message-management__statement p {
  margin: 0;

  color: var(--daikon-color-heading, #294535);

  font-size: 21px;
  font-weight: 600;
  line-height: 1.9;
  letter-spacing: 0.035em;

  text-align: center;
}


/* =========================================================
   12. Future CTA
   深緑 × ゴールド
========================================================= */

.message-future__content {
  width: 100%;
  max-width: 100% !important;

  text-align: center;
}

.message-future__button {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  width: 100% !important;
  max-width: none !important;

  margin: 0 auto !important;
  padding: 0 !important;
}

.message-future__button .wp-block-button {
  margin: 0 !important;
}

.message-future__button
.daikon-a-midcta__button--form
.wp-block-button__link {
  position: relative;

  display: inline-flex !important;
  align-items: center;
  justify-content: center;

  min-width: 390px;
  padding: 19px 42px !important;

  overflow: hidden;
  isolation: isolate;

  background:
    linear-gradient(
      135deg,
      #173a2a 0%,
      #28563f 50%,
      #173a2a 100%
    ) !important;

  background-color: #173a2a !important;
  color: #fffaf0 !important;

  border: 1px solid #c6a55b !important;
  border-radius: 999px !important;

  font-size: 16px !important;
  font-weight: 700 !important;
  line-height: 1.5 !important;
  letter-spacing: 0.05em;

  text-decoration: none !important;

  box-shadow:
    0 12px 28px rgba(23, 58, 42, 0.26),
    0 4px 10px rgba(23, 58, 42, 0.12),
    inset 0 1px 0 rgba(255, 255, 255, 0.16) !important;

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

.message-future__button
.daikon-a-midcta__button--form
.wp-block-button__link::before {
  content: "";

  position: absolute;
  z-index: 0;

  top: -20%;
  left: -45%;

  width: 28%;
  height: 140%;

  background:
    linear-gradient(
      90deg,
      transparent 0%,
      rgba(255, 235, 175, 0.08) 25%,
      rgba(255, 235, 175, 0.36) 50%,
      rgba(255, 235, 175, 0.08) 75%,
      transparent 100%
    );

  transform: skewX(-22deg);
  transition: left 0.7s ease;

  pointer-events: none;
}

.message-future__button
.daikon-a-midcta__button--form
.wp-block-button__link::after {
  content: "→";

  position: relative;
  z-index: 1;

  margin-left: 14px;

  color: #d9ba6b;

  font-size: 18px;
  font-weight: 400;

  transition: transform 0.3s ease;
}

.message-future__button
.daikon-a-midcta__button--form
.wp-block-button__link:hover {
  background:
    linear-gradient(
      135deg,
      #1b4431 0%,
      #306348 50%,
      #1b4431 100%
    ) !important;

  color: #ffffff !important;

  border-color: #d5b86f !important;

  transform: translateY(-3px);

  box-shadow:
    0 18px 38px rgba(23, 58, 42, 0.30),
    0 6px 14px rgba(23, 58, 42, 0.14),
    inset 0 1px 0 rgba(255, 255, 255, 0.20) !important;
}

.message-future__button
.daikon-a-midcta__button--form
.wp-block-button__link:hover::before {
  left: 125%;
}

.message-future__button
.daikon-a-midcta__button--form
.wp-block-button__link:hover::after {
  transform: translateX(5px);
}

.message-future__button
.daikon-a-midcta__button--form
.wp-block-button__link:focus-visible {
  outline: 3px solid rgba(198, 165, 91, 0.42);
  outline-offset: 4px;
}

/* =========================================================
   13. Profile / Career
   シンプル・上品・安定版
========================================================= */

.message-profile-card {
  position: relative;

  width: calc(100% - 40px);
  max-width: 960px !important;

  margin: 0 auto !important;
  padding: 48px 56px;

  background: #ffffff;

  border: 1px solid #e2eae4;
  border-radius: 16px;

  box-shadow:
    0 12px 30px rgba(35, 75, 55, 0.06),
    0 2px 8px rgba(35, 75, 55, 0.03);
}

.message-profile-card::before {
  content: "";

  position: absolute;
  top: 0;
  left: 50%;

  width: 76px;
  height: 3px;

  background: #315b40;

  border-radius: 0 0 3px 3px;

  transform: translateX(-50%);
}


/* 名前・肩書き */

.message-profile__intro {
  width: 100% !important;
  max-width: 820px !important;

  margin: 0 auto 44px !important;

  text-align: center;
}

.entry-content .message-profile__name,
.message-profile__name {
  margin: 0 !important;
  padding: 0 !important;

  border: 0 !important;
  background: none !important;

  color: #294535 !important;

  font-size: 28px !important;
  font-weight: 700 !important;
  line-height: 1.5 !important;
  letter-spacing: 0.08em !important;

  text-align: center !important;
}

.entry-content .message-profile__name::before,
.entry-content .message-profile__name::after,
.message-profile__name::before,
.message-profile__name::after {
  display: none !important;
  content: none !important;
}

.message-profile__role {
  width: 100% !important;
  max-width: none !important;

  margin: 10px 0 0 !important;

  color: #69736d;

  font-size: 14px;
  line-height: 1.9;

  text-align: center !important;
}


/* 経歴全体 */

.message-career {
  position: relative;

  display: block !important;

  width: 100% !important;
  max-width: 800px !important;

  margin: 0 auto !important;
  padding: 0 !important;
}


/* 縦ライン */

.message-career::before {
  content: "";

  position: absolute;
  top: 14px;
  bottom: 14px;
  left: 116px;

  width: 1px;

  background: #dce6df;
}


/* 各行 */

.message-career > .message-career__item {
  position: relative;

  display: grid !important;
  grid-template-columns: 90px minmax(0, 1fr) !important;
  gap: 52px !important;
  align-items: start !important;

  width: 100% !important;
  max-width: none !important;

  margin: 0 !important;
  padding: 17px 0 !important;
}


/* Gutenbergの子要素幅制限を解除 */

.message-career > .message-career__item > .message-career__year,
.message-career > .message-career__item > .message-career__text {
  width: 100% !important;
  max-width: none !important;

  margin-left: 0 !important;
  margin-right: 0 !important;
}


/* 年 */

.message-career > .message-career__item > .message-career__year {
  grid-column: 1 !important;

  position: relative;

  margin: 0 !important;
  padding: 0 !important;

  color: #315b40;

  font-size: 14px;
  font-weight: 700;
  line-height: 1.9;
  letter-spacing: 0.04em;

  text-align: right !important;
  white-space: nowrap;
}


/* 丸 */

.message-career > .message-career__item > .message-career__year::after {
  content: "";

  position: absolute;
  z-index: 2;

  top: 9px;
  right: -31px;

  width: 10px;
  height: 10px;

  background: #ffffff;

  border: 2px solid #315b40;
  border-radius: 50%;

  box-sizing: border-box;
}


/* 本文 */

.message-career > .message-career__item > .message-career__text {
  grid-column: 2 !important;

  min-width: 0 !important;

  margin: 0 !important;
  padding: 0 !important;

  color: #59635c;

  font-size: 15px;
  line-height: 1.9;

  text-align: left !important;

  word-break: normal !important;
  overflow-wrap: anywhere;
}


/* =========================================================
   Tablet / SP
========================================================= */

@media screen and (max-width: 781px) {

  .message-profile-card {
    width: 100%;
    padding: 34px 24px;

    border-radius: 14px;
  }

  .message-profile__intro {
    margin-bottom: 32px !important;
  }

  .entry-content .message-profile__name,
  .message-profile__name {
    font-size: 24px !important;
  }

  .message-career {
    padding-left: 24px !important;
  }

  .message-career::before {
    left: 7px;
  }

  .message-career > .message-career__item {
    display: block !important;

    padding: 14px 0 !important;
  }

  .message-career > .message-career__item > .message-career__year {
    width: 100% !important;

    margin-bottom: 4px !important;

    font-size: 13px;

    text-align: left !important;
  }

  .message-career > .message-career__item > .message-career__year::after {
    top: 8px;
    left: -21px;
    right: auto;
  }

  .message-career > .message-career__item > .message-career__text {
    width: 100% !important;

    font-size: 15px;
    line-height: 1.85;
  }
}


/* =========================================================
   Small SP
========================================================= */

@media screen and (max-width: 480px) {

  .message-profile-card {
    padding: 30px 20px;
  }
}

/* =========================================================
   13. Profile / Career
   最終安定版
========================================================= */

.message-profile-card {
  position: relative;

  width: calc(100% - 40px);
  max-width: 960px !important;

  margin: 0 auto !important;
  padding: 48px 56px;

  background: #ffffff;

  border: 1px solid #e2eae4;
  border-radius: 16px;

  box-shadow:
    0 12px 30px rgba(35, 75, 55, 0.06),
    0 2px 8px rgba(35, 75, 55, 0.03);
}

.message-profile-card::before {
  content: "";

  position: absolute;
  top: 0;
  left: 50%;

  width: 76px;
  height: 3px;

  background: #315b40;

  border-radius: 0 0 3px 3px;
  transform: translateX(-50%);
}


/* 名前・肩書き */

.message-profile-card .message-profile__intro {
  width: 100% !important;
  max-width: 820px !important;

  margin: 0 auto 44px !important;
  text-align: center;
}

.message-profile-card .message-profile__name {
  margin: 0 !important;
  padding: 0 !important;

  border: 0 !important;
  background: none !important;

  color: #294535 !important;

  font-size: 28px !important;
  font-weight: 700 !important;
  line-height: 1.5 !important;
  letter-spacing: 0.08em !important;

  text-align: center !important;
}

.message-profile-card .message-profile__name::before,
.message-profile-card .message-profile__name::after {
  display: none !important;
  content: none !important;
}

.message-profile-card .message-profile__role {
  margin: 10px 0 0 !important;

  color: #69736d;

  font-size: 14px;
  line-height: 1.9;

  text-align: center !important;
}


/* 経歴全体 */

.message-profile-card .message-career {
  position: relative;

  width: 100% !important;
  max-width: 820px !important;

  margin: 0 auto !important;
  padding: 0 !important;
}

.message-profile-card .message-career::before {
  content: "";

  position: absolute;
  top: 14px;
  bottom: 14px;
  left: 118px;

  width: 1px;
  background: #dce6df;
}


/* Gutenberg由来の余計な幅制限を解除 */

.message-profile-card .message-career > .message-career__item,
.message-profile-card .message-career > .message-career__item > *,
.message-profile-card .message-career p {
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  margin-block-start: 0 !important;
  margin-block-end: 0 !important;
}


/* 1行 */

.message-profile-card .message-career > .message-career__item {
  position: relative;

  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: flex-start !important;
  gap: 56px !important;

  width: 100% !important;

  margin: 0 !important;
  padding: 18px 0 !important;
}


/* 年 */

.message-profile-card .message-career > .message-career__item > .message-career__year {
  position: relative;
  flex: 0 0 90px !important;
  width: 90px !important;

  margin: 0 !important;
  padding: 0 !important;

  color: #315b40;

  font-size: 14px;
  font-weight: 700;
  line-height: 1.9;
  letter-spacing: 0.04em;

  text-align: right !important;
  white-space: nowrap;
}

.message-profile-card .message-career > .message-career__item > .message-career__year::after {
  content: "";

  position: absolute;
  top: 9px;
  right: -33px;

  width: 10px;
  height: 10px;

  background: #ffffff;

  border: 2px solid #315b40;
  border-radius: 50%;

  box-sizing: border-box;
}


/* 本文 */

.message-profile-card .message-career > .message-career__item > .message-career__text {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  width: auto !important;

  margin: 0 !important;
  padding: 0 !important;

  color: #59635c;

  font-size: 15px;
  line-height: 1.9;

  text-align: left !important;
  word-break: normal !important;
  overflow-wrap: break-word !important;
}


/* =========================================================
   SP
========================================================= */

@media screen and (max-width: 781px) {

  .message-profile-card {
    width: 100%;
    padding: 34px 24px;
    border-radius: 14px;
  }

  .message-profile-card .message-profile__intro {
    margin-bottom: 32px !important;
  }

  .message-profile-card .message-profile__name {
    font-size: 24px !important;
  }

  .message-profile-card .message-career {
    padding-left: 24px !important;
  }

  .message-profile-card .message-career::before {
    left: 7px;
  }

  .message-profile-card .message-career > .message-career__item {
    display: block !important;
    padding: 14px 0 !important;
  }

  .message-profile-card .message-career > .message-career__item > .message-career__year {
    width: 100% !important;
    margin-bottom: 4px !important;

    font-size: 13px;
    text-align: left !important;
  }

  .message-profile-card .message-career > .message-career__item > .message-career__year::after {
    top: 8px;
    left: -21px;
    right: auto;
  }

  .message-profile-card .message-career > .message-career__item > .message-career__text {
    width: 100% !important;
    font-size: 15px;
    line-height: 1.85;
  }
}

@media screen and (max-width: 480px) {
  .message-profile-card {
    padding: 30px 20px;
  }
}
/* =========================================================
   13. Profile / Career
   Stable Timeline
========================================================= */


/* =========================================================
   Card
========================================================= */

.message-profile-card {
  position: relative;

  width: calc(100% - 40px);
  max-width: 960px !important;

  margin: 0 auto !important;
  padding: 52px 56px;

  background: #fff;

  border: 1px solid #e2eae4;
  border-radius: 16px;

  box-shadow:
    0 12px 30px rgba(35, 75, 55, 0.06),
    0 2px 8px rgba(35, 75, 55, 0.03);
}


/* 上部アクセント */

.message-profile-card::before {
  content: "";

  position: absolute;
  top: 0;
  left: 50%;

  width: 76px;
  height: 3px;

  background: #315b40;

  border-radius: 0 0 3px 3px;

  transform: translateX(-50%);
}


/* =========================================================
   Profile
========================================================= */

.message-profile__intro {
  width: 100% !important;
  max-width: 820px !important;

  margin: 0 auto 46px !important;

  text-align: center;
}

.entry-content .message-profile__name,
.message-profile__name {
  margin: 0 !important;
  padding: 0 !important;

  border: 0 !important;
  background: none !important;

  color: #294535 !important;

  font-size: 28px !important;
  font-weight: 700 !important;
  line-height: 1.5 !important;
  letter-spacing: 0.08em !important;

  text-align: center !important;
}

.entry-content .message-profile__name::before,
.entry-content .message-profile__name::after,
.message-profile__name::before,
.message-profile__name::after {
  display: none !important;
  content: none !important;
}

.message-profile__role {
  margin: 10px 0 0 !important;

  color: #69736d;

  font-size: 14px;
  line-height: 1.9;

  text-align: center !important;
}


/* =========================================================
   Timeline
========================================================= */

.message-career {
  position: relative;

  width: 100%;
  max-width: 800px;

  margin: 0 auto;
}


/* 縦線 */

.message-career::before {
  content: "";

  position: absolute;
  top: 14px;
  bottom: 14px;

  left: 113px;

  width: 1px;

  background: #dce6df;
}


/* =========================================================
   Timeline Row
========================================================= */

.message-career__item {
  position: relative;

  display: grid;

  grid-template-columns:
    88px
    50px
    minmax(0, 1fr);

  align-items: start;

  width: 100%;

  padding: 17px 0;
}


/* =========================================================
   Year
========================================================= */

.message-career__year {
  grid-column: 1;

  padding-top: 1px;

  color: #315b40;

  font-size: 14px;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: 0.04em;

  text-align: right;

  white-space: nowrap;
}


/* =========================================================
   Dot
========================================================= */

.message-career__dot {
  grid-column: 2;

  position: relative;

  width: 50px;
  height: 27px;
}

.message-career__dot::before {
  content: "";

  position: absolute;

  top: 8px;
  left: 21px;

  width: 10px;
  height: 10px;

  background: #fff;

  border: 2px solid #315b40;
  border-radius: 50%;

  box-sizing: border-box;
}


/* =========================================================
   Text
========================================================= */

.message-career__text {
  grid-column: 3;

  min-width: 0;

  padding: 0;

  color: #59635c;

  font-size: 15px;
  line-height: 1.9;

  text-align: left;

  word-break: normal;
  overflow-wrap: break-word;
}


/* =========================================================
   Tablet / SP
========================================================= */

@media screen and (max-width: 781px) {

  .message-profile-card {
    width: 100%;

    padding: 36px 24px;

    border-radius: 14px;
  }

  .message-profile__intro {
    margin-bottom: 34px !important;
  }

  .entry-content .message-profile__name,
  .message-profile__name {
    font-size: 24px !important;
  }


  /* Timeline */

  .message-career {
    padding-left: 4px;
  }

  .message-career::before {
    left: 9px;
  }

  .message-career__item {
    grid-template-columns:
      28px
      minmax(0, 1fr);

    padding: 14px 0;
  }


  /* 年 */

  .message-career__year {
    grid-column: 2;

    margin-bottom: 3px;

    font-size: 13px;

    text-align: left;
  }


  /* 丸 */

  .message-career__dot {
    grid-column: 1;
    grid-row: 1 / span 2;

    width: 28px;
    height: 100%;
  }

  .message-career__dot::before {
    top: 7px;
    left: 1px;
  }


  /* 本文 */

  .message-career__text {
    grid-column: 2;

    font-size: 15px;
    line-height: 1.85;
  }
}


/* =========================================================
   Small SP
========================================================= */

@media screen and (max-width: 480px) {

  .message-profile-card {
    padding: 30px 20px;
  }
}
/* =========================================================
   Profile Career Timeline
========================================================= */

.message-career {
  position: relative;

  width: 100%;
  max-width: 800px;

  margin: 0 auto;
}


/* 縦ライン */

.message-career::before {
  content: "";

  position: absolute;
  top: 14px;
  bottom: 14px;
  left: 116px;

  width: 1px;

  background: #dce6df;
}


/* 1行 */

.message-career__item {
  position: relative;

  display: grid;
  grid-template-columns: 90px minmax(0, 1fr);
  gap: 52px;
  align-items: start;

  width: 100%;

  padding: 18px 0;
}


/* 年 */

.message-career__year {
  position: relative;

  color: #315b40;

  font-size: 14px;
  font-weight: 700;
  line-height: 1.9;
  letter-spacing: 0.04em;

  text-align: right;
  white-space: nowrap;
}


/* 〇 */

.message-career__year::after {
  content: "";

  position: absolute;

  top: 9px;
  right: -31px;

  width: 10px;
  height: 10px;

  background: #fff;

  border: 2px solid #315b40;
  border-radius: 50%;

  box-sizing: border-box;
}


/* 本文 */

.message-career__text {
  min-width: 0;

  color: #59635c;

  font-size: 15px;
  line-height: 1.9;

  text-align: left;

  word-break: normal;
  overflow-wrap: break-word;
}


/* SP */

@media screen and (max-width: 781px) {

  .message-career {
    padding-left: 24px;
  }

  .message-career::before {
    left: 7px;
  }

  .message-career__item {
    display: block;

    padding: 14px 0;
  }

  .message-career__year {
    margin-bottom: 4px;

    font-size: 13px;

    text-align: left;
  }

  .message-career__year::after {
    top: 8px;
    left: -21px;
    right: auto;
  }

  .message-career__text {
    font-size: 15px;
    line-height: 1.85;
  }
}
/* =========================================================
   Career Item
   年 + 本文カード
========================================================= */

.message-career__item {
  width: 100%;
  max-width: 820px;

  margin: 0 auto 18px !important;
}


/* Columns */

.message-career__item .wp-block-columns {
  align-items: stretch;

  gap: 18px !important;

  margin: 0 !important;
}


/* 年のカラム */

.message-career__item .wp-block-column:first-child {
  flex: 0 0 110px !important;

  display: flex;
  align-items: center;
  justify-content: center;

  min-height: 100%;

  background: #f3f7f3;

  border: 1px solid #dbe6dd;
  border-radius: 12px;
}


/* 年 */

.message-career__year {
  margin: 0 !important;

  color: #315b40;

  font-size: 14px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.04em;

  text-align: center !important;
}


/* 本文カラム */

.message-career__item .wp-block-column:last-child {
  position: relative;

  padding: 20px 24px;

  background: #ffffff;

  border: 1px solid #e2eae4;
  border-radius: 12px;

  box-shadow:
    0 6px 18px rgba(35, 75, 55, 0.05);
}


/* 左アクセントライン */

.message-career__item .wp-block-column:last-child::before {
  content: "";

  position: absolute;
  top: 14px;
  bottom: 14px;
  left: 0;

  width: 3px;

  background: #315b40;

  border-radius: 0 3px 3px 0;
}


/* 本文 */

.message-career__text {
  margin: 0 !important;

  color: #59635c;

  font-size: 15px;
  line-height: 1.9;

  text-align: left !important;
}


/* hover */

.message-career__item .wp-block-column:last-child {
  transition:
    transform 0.25s ease,
    box-shadow 0.25s ease,
    border-color 0.25s ease;
}

.message-career__item:hover .wp-block-column:last-child {
  transform: translateY(-2px);

  border-color: #d3e0d6;

  box-shadow:
    0 10px 24px rgba(35, 75, 55, 0.08);
}


/* SP */

@media screen and (max-width: 781px) {

  .message-career__item {
    margin-bottom: 14px !important;
  }

  .message-career__item .wp-block-columns {
    gap: 10px !important;
  }

  .message-career__item .wp-block-column:first-child {
    flex-basis: auto !important;

    min-height: auto;

    padding: 8px 14px;

    justify-content: flex-start;

    border-radius: 10px;
  }

  .message-career__year {
    font-size: 13px;

    text-align: left !important;
  }

  .message-career__item .wp-block-column:last-child {
    padding: 16px 18px;

    border-radius: 10px;
  }

  .message-career__text {
    font-size: 15px;
    line-height: 1.8;
  }
}
/* =========================================================
   Career Item
   Gutenberg Columns 安定版
========================================================= */

.message-career__item {
  width: 100%;
  max-width: 820px;

  margin: 0 auto 16px !important;
}


/* Columns を Grid に変更 */

.message-career__item > .wp-block-columns {
  display: grid !important;

  grid-template-columns: 110px minmax(0, 1fr) !important;
  gap: 18px !important;

  width: 100% !important;

  margin: 0 !important;
}


/* Gutenbergのcolumn幅指定を解除 */

.message-career__item
> .wp-block-columns
> .wp-block-column {
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;

  flex: none !important;
  flex-basis: auto !important;

  margin: 0 !important;
}


/* =========================================================
   年カラム
========================================================= */

.message-career__item
.wp-block-column:first-child {
  display: flex;
  align-items: center;
  justify-content: center;

  padding: 18px 10px;

  background: #f3f7f3;

  border: 1px solid #dbe6dd;
  border-radius: 12px;
}


/* 年 */

.message-career__year {
  margin: 0 !important;

  color: #315b40;

  font-size: 14px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.04em;

  text-align: center !important;

  white-space: nowrap;
}


/* =========================================================
   本文カラム
========================================================= */

.message-career__item
.wp-block-column:last-child {
  position: relative;

  padding: 20px 24px;

  background: #ffffff;

  border: 1px solid #e2eae4;
  border-radius: 12px;

  box-shadow:
    0 6px 18px rgba(35, 75, 55, 0.05);
}


/* 左アクセント */

.message-career__item
.wp-block-column:last-child::before {
  content: "";

  position: absolute;
  top: 14px;
  bottom: 14px;
  left: 0;

  width: 3px;

  background: #315b40;

  border-radius: 0 3px 3px 0;
}


/* 本文 */

.message-career__text {
  width: 100% !important;

  margin: 0 !important;

  color: #59635c;

  font-size: 15px;
  line-height: 1.9;

  text-align: left !important;

  word-break: normal !important;
  overflow-wrap: break-word !important;
}


/* =========================================================
   Hover
========================================================= */

.message-career__item
.wp-block-column:last-child {
  transition:
    transform 0.25s ease,
    box-shadow 0.25s ease,
    border-color 0.25s ease;
}

.message-career__item:hover
.wp-block-column:last-child {
  transform: translateY(-2px);

  border-color: #d3e0d6;

  box-shadow:
    0 10px 24px rgba(35, 75, 55, 0.08);
}


/* =========================================================
   SP
========================================================= */

@media screen and (max-width: 781px) {

  .message-career__item {
    margin-bottom: 14px !important;
  }

  .message-career__item > .wp-block-columns {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  .message-career__item
  .wp-block-column:first-child {
    justify-content: flex-start;

    padding: 8px 14px;

    border-radius: 10px;
  }

  .message-career__year {
    font-size: 13px;
    text-align: left !important;
  }

  .message-career__item
  .wp-block-column:last-child {
    padding: 16px 18px;

    border-radius: 10px;
  }

  .message-career__text {
    font-size: 15px;
    line-height: 1.8;
  }
}
/* =========================================================
   Career Columns 強制リセット
   古いタイムラインCSSを無効化
========================================================= */

/* 親itemの古いGridを解除 */
.message-profile-card
.message-career
> .message-career__item {
  display: block !important;

  grid-template-columns: none !important;
  grid-template-rows: none !important;
  gap: 0 !important;

  width: 100% !important;
  max-width: 820px !important;

  margin: 0 auto 16px !important;
  padding: 0 !important;
}


/* 古い縦ラインを削除 */

.message-profile-card .message-career::before {
  display: none !important;
  content: none !important;
}


/* 古い〇を削除 */

.message-profile-card .message-career__year::after {
  display: none !important;
  content: none !important;
}


/* =========================================================
   Gutenberg Columns
========================================================= */

.message-profile-card
.message-career__item
> .wp-block-columns {
  display: grid !important;

  grid-template-columns: 110px minmax(0, 1fr) !important;
  gap: 18px !important;

  width: 100% !important;
  max-width: none !important;

  margin: 0 !important;
  padding: 0 !important;
}


/* Gutenberg Columnをリセット */

.message-profile-card
.message-career__item
> .wp-block-columns
> .wp-block-column {
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;

  flex: none !important;
  flex-basis: auto !important;

  margin: 0 !important;
}


/* =========================================================
   年
========================================================= */

.message-profile-card
.message-career__item
> .wp-block-columns
> .wp-block-column:first-child {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  padding: 18px 12px !important;

  background: #f3f7f3;

  border: 1px solid #dbe6dd;
  border-radius: 12px;
}

.message-profile-card .message-career__year {
  position: static !important;

  width: auto !important;
  max-width: none !important;

  margin: 0 !important;
  padding: 0 !important;

  color: #315b40;

  font-size: 14px;
  font-weight: 700;
  line-height: 1.5;

  text-align: center !important;

  white-space: nowrap;
}


/* =========================================================
   本文
========================================================= */

.message-profile-card
.message-career__item
> .wp-block-columns
> .wp-block-column:last-child {
  position: relative;

  min-width: 0 !important;

  padding: 20px 24px !important;

  background: #fff;

  border: 1px solid #e2eae4;
  border-radius: 12px;

  box-shadow:
    0 6px 18px rgba(35, 75, 55, 0.05);
}


/* 左アクセント */

.message-profile-card
.message-career__item
> .wp-block-columns
> .wp-block-column:last-child::before {
  content: "";

  position: absolute;
  top: 14px;
  bottom: 14px;
  left: 0;

  width: 3px;

  background: #315b40;

  border-radius: 0 3px 3px 0;
}


/* 本文 */

.message-profile-card .message-career__text {
  position: static !important;

  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;

  margin: 0 !important;
  padding: 0 !important;

  color: #59635c;

  font-size: 15px;
  line-height: 1.9;

  text-align: left !important;

  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: break-word !important;
}


/* =========================================================
   SP
========================================================= */

@media screen and (max-width: 781px) {

  .message-profile-card
  .message-career__item
  > .wp-block-columns {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  .message-profile-card
  .message-career__item
  > .wp-block-columns
  > .wp-block-column:first-child {
    justify-content: flex-start !important;

    padding: 8px 14px !important;
  }

  .message-profile-card .message-career__year {
    font-size: 13px;
    text-align: left !important;
  }

  .message-profile-card
  .message-career__item
  > .wp-block-columns
  > .wp-block-column:last-child {
    padding: 16px 18px !important;
  }
}
/* =========================================================
   Message History
   Gutenberg Columns 独立版
========================================================= */

.message-history-card {
  width: 100% !important;
  max-width: 820px !important;

  margin: 0 auto 16px !important;
  padding: 0 !important;
}


/* =========================================================
   Row
========================================================= */

.message-history-card .message-history-row {
  display: grid !important;

  grid-template-columns:
    110px
    minmax(0, 1fr) !important;

  gap: 18px !important;

  width: 100% !important;
  max-width: none !important;

  margin: 0 !important;
}


/* Gutenberg columnリセット */

.message-history-card
.message-history-row
> .wp-block-column {
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;

  flex: none !important;
  flex-basis: auto !important;

  margin: 0 !important;
}


/* =========================================================
   Year
========================================================= */

.message-history-year-column {
  display: flex !important;

  align-items: center !important;
  justify-content: center !important;

  padding: 18px 12px !important;

  background: #f2f7f3;

  border: 1px solid #dce7df;
  border-radius: 12px;
}

.message-history-year {
  width: auto !important;

  margin: 0 !important;
  padding: 0 !important;

  color: #315b40;

  font-size: 14px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.04em;

  text-align: center !important;

  white-space: nowrap !important;
}


/* =========================================================
   Text Card
========================================================= */

.message-history-text-column {
  position: relative;

  min-width: 0 !important;

  padding: 19px 24px !important;

  background: #ffffff;

  border: 1px solid #e2eae4;
  border-radius: 12px;

  box-shadow:
    0 6px 18px rgba(35, 75, 55, 0.05);
}


/* 深緑アクセント */

.message-history-text-column::before {
  content: "";

  position: absolute;

  top: 14px;
  bottom: 14px;
  left: 0;

  width: 3px;

  background: #315b40;

  border-radius: 0 3px 3px 0;
}


/* 本文 */

.message-history-text {
  width: 100% !important;
  max-width: none !important;

  margin: 0 !important;
  padding: 0 !important;

  color: #59635c;

  font-size: 15px;
  line-height: 1.9;

  text-align: left !important;

  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: break-word !important;
}


/* =========================================================
   Hover
========================================================= */

.message-history-text-column {
  transition:
    transform 0.25s ease,
    box-shadow 0.25s ease,
    border-color 0.25s ease;
}

.message-history-card:hover
.message-history-text-column {
  transform: translateY(-2px);

  border-color: #d1dfd4;

  box-shadow:
    0 10px 24px rgba(35, 75, 55, 0.08);
}


/* =========================================================
   SP
========================================================= */

@media screen and (max-width: 781px) {

  .message-history-card .message-history-row {
    grid-template-columns: 1fr !important;

    gap: 8px !important;
  }

  .message-history-year-column {
    justify-content: flex-start !important;

    padding: 8px 14px !important;

    border-radius: 10px;
  }

  .message-history-year {
    font-size: 13px;

    text-align: left !important;
  }

  .message-history-text-column {
    padding: 16px 18px !important;

    border-radius: 10px;
  }

  .message-history-text {
    font-size: 15px;
    line-height: 1.8;
  }
}
.company-related__grid {
  gap: 24px !important;
}

.company-related__grid > .wp-block-column {
  display: flex;
}

.company-related__card {
  display: flex;
  flex-direction: column;

  width: 100%;
  height: 100%;

  padding: 30px 26px;

  background: #fff;

  border: 1px solid #e2eae4;
  border-radius: 14px;

  box-shadow:
    0 8px 24px rgba(35, 75, 55, 0.05);

  text-align: center;
}

.company-related__label {
  margin: 0 0 10px !important;

  color: #315b40;

  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.16em;

  text-align: center !important;
}

.company-related__title {
  margin: 0 0 14px !important;
  padding: 0 !important;

  color: #294535 !important;

  font-size: 22px !important;
  font-weight: 700 !important;
  line-height: 1.5 !important;

  text-align: center !important;
}

.company-related__text {
  flex: 1;

  margin: 0 0 22px !important;

  color: #59635c;

  font-size: 15px;
  line-height: 1.8;

  text-align: left !important;
}

.company-related__button {
  margin-top: auto !important;
}

.company-related__button .wp-block-button__link {
  padding: 12px 22px;

  background: #315b40 !important;
  color: #fff !important;

  border-radius: 999px;

  font-size: 14px;
  font-weight: 700;

  text-decoration: none;
}
.company-related__label {
  font-size: 16px;
}
@media screen and (max-width: 781px) {

  .entry-content .message-origin__quote,
  .message-origin__quote {
    width: calc(100% + 40px) !important;
    max-width: none !important;

    margin-left: -20px !important;
    margin-right: -20px !important;

    padding: 20px 14px !important;
  }
}
@media screen and (max-width: 781px) {

  .message-origin__intro {
    text-align: left !important;
  }

}
@media screen and (max-width: 781px) {

  .message-origin__content {
    width: calc(100% + 40px) !important;

    margin-left: -20px !important;
    margin-right: -20px !important;

    padding: 26px 14px !important;
  }

}
@media screen and (max-width: 781px) {

  .message-origin__intro {
    text-align: left !important;
  }

  .message-origin__intro br {
    display: none;
  }

}
@media screen and (max-width: 781px) {

  .message-origin__content--bracket::before,
  .message-origin__content--bracket::after {
    display: none !important;
    content: none !important;
  }

}
@media screen and (max-width: 781px) {

  .message-hero--green {
    width: 100vw !important;
    max-width: none !important;

    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;

    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .message-hero--green .message-origin__content {
    width: 100% !important;
    max-width: none !important;

    margin-left: 0 !important;
    margin-right: 0 !important;

    padding-left: 16px !important;
    padding-right: 16px !important;

    border-radius: 0 !important;
  }

}
@media screen and (max-width: 781px) {

  .message-hero--green {
    width: calc(100vw - 24px) !important;
    max-width: none !important;

    margin-left: calc(50% - 50vw + 12px) !important;
    margin-right: calc(50% - 50vw + 12px) !important;

    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .message-hero--green .message-origin__content {
    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;

    padding-left: 16px !important;
    padding-right: 16px !important;

    border-radius: 12px !important;
  }

}
@media screen and (max-width: 781px) {

  .company-message-box.message-work__statement {
    width: calc(100vw - 24px) !important;
    max-width: none !important;

    margin-left: calc(50% - 50vw + 12px) !important;
    margin-right: calc(50% - 50vw + 12px) !important;

    padding-left: 14px !important;
    padding-right: 14px !important;
  }

}
@media screen and (max-width: 781px) {

  .message-work__content p {
    text-align: left !important;
  }

}
@media screen and (max-width: 781px) {

  .company-message-box.message-management__statement {
    width: calc(100vw - 24px) !important;
    max-width: none !important;

    margin-left: calc(50% - 50vw + 12px) !important;
    margin-right: calc(50% - 50vw + 12px) !important;

    padding-left: 14px !important;
    padding-right: 14px !important;
  }

}
@media screen and (max-width: 781px) {

  .message-work__content p {
    text-align: left !important;
  }

}
@media screen and (max-width: 781px) {

  .company-message-box.message-management__statement {
    width: calc(100vw - 16px) !important;
    max-width: none !important;

    margin-left: calc(50% - 50vw + 8px) !important;
    margin-right: calc(50% - 50vw + 8px) !important;

    padding-left: 14px !important;
    padding-right: 14px !important;
  }

}