/* =========================================================
   Source: 10-contact-sitemap.css
   ========================================================= */

/* =========================================================
   Contact & Sitemap
   ========================================================= */
.contact-bg {
  background: #f4f4f4;
  padding: 20px 0;
}

.page-content .contact {
  background: #fff;
  padding: 20px;
  border-radius: var(--radius-sm);
  margin: 0 20px;
}

.contact p {
  font-size: 1rem;
  line-height: 1.5;
  color: var(--color-text);
}

.contact a {
  color: var(--color-primary);
  text-decoration: none;
}

.contact a:hover {
  text-decoration: underline;
}

/* Sitemap */
.sitemap-title {
  font-size: 1.5rem;
  margin-block-end: 20px;
  text-align: center;
}

.sitemap-list {
  list-style: none;
  padding: 0;
}

.sitemap-list li {
  margin-block-end: 10px;
}

.sitemap-list li a {
  color: var(--color-primary);
  text-decoration: none;
  transition: color var(--ease-fast);
}

.sitemap-list li a:hover {
  color: #004494;
}


/* =========================================================
   Source: 23-contact-page.css
   ========================================================= */

/* =========================================================
   Contact Page
   Reiwa-style contact page refinement
   対象HTML: post-76 / .recruit-bg / .contact-form / .form-card
   ========================================================= */

/* ページ全体 */
#post-76 .entry-body {
  position: relative;
  max-width: 1200px;
  margin: 0 auto;
  padding: 48px 20px 72px;
}

#post-76 .entry-body::before {
  content: "";
  position: absolute;
  top: 10px;
  right: -120px;
  width: 420px;
  height: 420px;
  pointer-events: none;
  z-index: -1;
  border-radius: 999px;
  background:
    radial-gradient(
      circle,
      rgba(0, 194, 215, 0.14) 0%,
      rgba(0, 123, 255, 0.05) 46%,
      rgba(255, 255, 255, 0) 72%
    );
}

#post-76 .entry-body::after {
  content: "";
  position: absolute;
  left: -160px;
  top: 520px;
  width: 360px;
  height: 360px;
  pointer-events: none;
  z-index: -1;
  border-radius: 999px;
  background:
    radial-gradient(
      circle,
      rgba(0, 123, 255, 0.08) 0%,
      rgba(0, 194, 215, 0.04) 44%,
      rgba(255, 255, 255, 0) 74%
    );
}

/* Hero */
#post-76 .recruit-bg {
  position: relative;
  margin: 0 0 42px;
  padding: 0;
  background: transparent;
}

#post-76 .page-title {
  margin: 0;
}

#post-76 .page-title-bg {
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
  gap: 28px;
  align-items: center;
  min-height: 300px;
  margin: 0;
  padding: 30px;
  border-radius: 30px;
  text-align: left;
  background:
    linear-gradient(
      135deg,
      rgba(255, 255, 255, 0.98) 0%,
      rgba(240, 249, 252, 0.95) 100%
    );
  border: 1px solid rgba(0, 86, 179, 0.08);
  box-shadow:
    0 14px 36px rgba(15, 45, 75, 0.09),
    0 1px 0 rgba(255, 255, 255, 0.95) inset;
}

#post-76 .page-title-bg::before {
  content: "CONTACT";
  position: absolute;
  top: 28px;
  left: 30px;
  display: inline-flex;
  align-items: center;
  height: 26px;
  padding: 0 12px;
  border-radius: 999px;
  background: rgba(0, 123, 255, 0.08);
  color: var(--color-primary);
  font-size: 0.76rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.12em;
}

#post-76 .page-title-bg::after {
  content: "";
  position: absolute;
  top: -120px;
  right: -100px;
  width: 300px;
  height: 300px;
  pointer-events: none;
  border-radius: 999px;
  background:
    radial-gradient(
      circle,
      rgba(0, 194, 215, 0.18) 0%,
      rgba(0, 123, 255, 0.06) 44%,
      rgba(255, 255, 255, 0) 74%
    );
}

#post-76 .page-title-bg h1 {
  position: relative;
  z-index: 1;
  grid-column: 1;
  margin: 34px 0 12px;
  color: var(--color-secondary);
  font-size: clamp(2rem, 3vw, 2.6rem);
  line-height: 1.25;
  letter-spacing: 0.05em;
}

#post-76 .page-title-bg > p {
  position: relative;
  z-index: 1;
  grid-column: 1;
  margin: 0;
  color: rgba(51, 51, 51, 0.76);
  font-size: 1.04rem;
  line-height: 1.8;
}

#post-76 .page-title-bg > p:first-of-type strong {
  color: var(--color-primary);
  font-size: 0.92rem;
  letter-spacing: 0.08em;
}

#post-76 .page-title-bg > p:has(img) {
  grid-column: 2;
  grid-row: 1 / span 3;
  align-self: stretch;
  margin: 0;
}

#post-76 .page-title-bg img {
  width: 100%;
  height: 100%;
  min-height: 238px;
  display: block;
  object-fit: cover;
  object-position: center 45%;
  border-radius: 24px;
  transform: scale(1.01);
  box-shadow: 0 10px 28px rgba(15, 45, 75, 0.12);
}

/* Lead + Form */
#post-76 .contact-form {
  position: relative;
  max-width: 980px;
  margin: 0 auto 52px;
  padding: 0;
}

#post-76 .contact-form > p {
  max-width: 760px;
  margin: 0 auto 8px;
  color: rgba(51, 51, 51, 0.78);
  font-size: 1rem;
  line-height: 1.85;
  text-align: center;
}

#post-76 .contact-form > p:first-child {
  color: var(--color-secondary);
  font-size: 1.08rem;
  font-weight: 700;
}

#post-76 .wpcf7 {
  margin-top: 24px;
}

#post-76 .form-card {
  position: relative;
  overflow: hidden;
  padding: 30px;
  border-radius: 28px;
  background:
    linear-gradient(
      180deg,
      rgba(255, 255, 255, 0.98) 0%,
      rgba(250, 253, 255, 0.96) 100%
    );
  border: 1px solid rgba(0, 86, 179, 0.08);
  box-shadow:
    0 12px 34px rgba(15, 45, 75, 0.09),
    0 1px 0 rgba(255, 255, 255, 0.92) inset;
}

#post-76 .form-card::before {
  content: "";
  position: absolute;
  top: -96px;
  right: -96px;
  width: 210px;
  height: 210px;
  pointer-events: none;
  border-radius: 999px;
  background:
    radial-gradient(
      circle,
      rgba(0, 194, 215, 0.14) 0%,
      rgba(0, 123, 255, 0.05) 48%,
      rgba(255, 255, 255, 0) 76%
    );
}

#post-76 .form-card > div {
  position: relative;
  z-index: 1;
  text-align: left !important;
}

#post-76 .form-card p {
  margin: 0 0 20px;
}

#post-76 .form-card p:last-child {
  margin-bottom: 0;
}

#post-76 .form-card label {
  display: block;
  color: var(--color-secondary);
  font-size: 0.92rem;
  font-weight: 700;
  line-height: 1.65;
  letter-spacing: 0.02em;
}

#post-76 .wpcf7-form-control-wrap {
  display: block;
  margin-top: 6px;
}

#post-76 .form-card input[type="text"],
#post-76 .form-card input[type="email"],
#post-76 .form-card input[type="tel"],
#post-76 .form-card input[type="url"],
#post-76 .form-card textarea,
#post-76 .form-card select {
  width: 100%;
  max-width: none;
  border: 1px solid rgba(0, 86, 179, 0.14);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.94);
  padding: 0.85rem 1rem;
  color: var(--color-text);
  font-size: 1rem;
  line-height: 1.6;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.92) inset;
  transition:
    border-color var(--ease-fast),
    box-shadow var(--ease-fast),
    background-color var(--ease-fast);
}

#post-76 .form-card select {
  min-height: 48px;
  appearance: auto;
}

#post-76 .form-card textarea {
  min-height: 180px;
  resize: vertical;
}

#post-76 .form-card input:focus,
#post-76 .form-card textarea:focus,
#post-76 .form-card select:focus {
  outline: none;
  border-color: rgba(0, 123, 255, 0.45);
  background: #fff;
  box-shadow: 0 0 0 4px rgba(0, 123, 255, 0.10);
}

/* 名前とメールを横並びにする。非対応ブラウザでは縦並びのままでも崩れない */
#post-76 .form-card p:has(input[name="your-name"]):has(input[name="your-email"]) {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  align-items: start;
}

#post-76 .form-card p:has(input[name="your-name"]):has(input[name="your-email"]) br {
  display: none;
}

/* Checkbox */
#post-76 .wpcf7-checkbox {
  display: block;
  padding: 14px 16px;
  border-radius: 16px;
  background: rgba(0, 123, 255, 0.045);
  border: 1px solid rgba(0, 86, 179, 0.08);
}

#post-76 .wpcf7-list-item {
  margin: 0;
}

#post-76 .wpcf7-list-item label {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  color: rgba(51, 51, 51, 0.82);
  font-size: 0.92rem;
  font-weight: 600;
  line-height: 1.7;
}

#post-76 .wpcf7-list-item input[type="checkbox"] {
  flex: 0 0 auto;
  margin-top: 0.35em;
}

/* Submit */
#post-76 .form-card input[type="submit"],
#post-76 .form-card button[type="submit"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  min-width: 190px;
  padding: 0 30px;
  border: none;
  border-radius: 999px;
  background: linear-gradient(90deg, #00c2d7, var(--color-primary));
  color: #fff;
  font-weight: 700;
  letter-spacing: 0.06em;
  box-shadow: 0 10px 24px rgba(0, 86, 179, 0.18);
  cursor: pointer;
  transition:
    transform var(--ease-fast),
    box-shadow var(--ease-fast),
    opacity var(--ease-fast);
}

#post-76 .form-card input[type="submit"]:hover,
#post-76 .form-card button[type="submit"]:hover {
  transform: translateY(-1px);
  box-shadow: 0 14px 30px rgba(0, 86, 179, 0.24);
  opacity: 0.94;
}

#post-76 .wpcf7-spinner {
  vertical-align: middle;
}

#post-76 .wpcf7-not-valid-tip {
  margin-top: 6px;
  font-size: 0.86rem;
}

#post-76 .wpcf7-response-output {
  margin: 20px 0 0;
  padding: 14px 16px;
  border-radius: 14px;
}

/* Reference links */
#post-76 .contact-reference {
  max-width: 980px;
  margin: 0 auto 48px;
}

#post-76 .contact-reference h2 {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 18px;
  color: var(--color-secondary);
  font-size: clamp(1.35rem, 2vw, 1.7rem);
  line-height: 1.35;
  letter-spacing: 0.04em;
}

#post-76 .contact-reference h2::after {
  content: "LINKS";
  display: inline-flex;
  align-items: center;
  height: 24px;
  padding: 0 10px;
  border-radius: 999px;
  background: rgba(0, 123, 255, 0.08);
  color: var(--color-primary);
  font-size: 0.68rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.1em;
}

#post-76 .contact-links {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 14px;
  list-style: none;
  margin: 0;
  padding: 0;
}

#post-76 .contact-links li {
  margin: 0;
}

#post-76 .contact-links a {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 54px;
  padding: 0 18px;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.82);
  border: 1px solid rgba(0, 86, 179, 0.08);
  color: var(--color-secondary);
  text-decoration: none;
  font-size: 0.9rem;
  font-weight: 700;
  line-height: 1.45;
  box-shadow: 0 8px 22px rgba(15, 45, 75, 0.06);
  transition:
    color var(--ease-fast),
    transform var(--ease-fast),
    box-shadow var(--ease-fast),
    border-color var(--ease-fast);
}

#post-76 .contact-links a::after {
  content: "›";
  margin-left: auto;
  color: var(--color-primary);
  font-size: 1.2rem;
  line-height: 1;
}

#post-76 .contact-links a:hover {
  color: var(--color-primary);
  transform: translateY(-2px);
  border-color: rgba(0, 123, 255, 0.18);
  box-shadow: 0 12px 28px rgba(15, 45, 75, 0.10);
}

/* Privacy */
#post-76 .privacy-policy {
  max-width: 980px;
  margin: 0 auto 52px;
  padding: 24px 26px;
  border-radius: 24px;
  background: rgba(255, 255, 255, 0.72);
  border: 1px solid rgba(0, 86, 179, 0.08);
  box-shadow:
    0 8px 24px rgba(15, 45, 75, 0.055),
    0 1px 0 rgba(255, 255, 255, 0.88) inset;
}

#post-76 .privacy-policy h6 {
  margin: 0 0 8px;
  color: var(--color-secondary);
  font-size: 1rem;
  line-height: 1.5;
  letter-spacing: 0.03em;
}

#post-76 .privacy-policy p {
  margin: 0 0 20px;
  color: rgba(51, 51, 51, 0.76);
  font-size: 0.92rem;
  line-height: 1.85;
}

#post-76 .privacy-policy p:last-child {
  margin-bottom: 0;
}

#post-76 .privacy-policy a {
  color: var(--color-primary);
  text-decoration: underline;
  text-underline-offset: 0.18em;
}

/* Bottom cards */
#post-76 .entry-body > .card-container {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  max-width: 980px;
  margin: 0 auto;
  padding: 0;
  border-radius: 0;
}

#post-76 .entry-body > .card-container .card {
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  min-width: 0;
  margin: 0;
  padding: 0;
  border-radius: 22px;
  text-align: left;
  background:
    linear-gradient(
      180deg,
      rgba(255, 255, 255, 0.98) 0%,
      rgba(250, 253, 255, 0.96) 100%
    );
  border: 1px solid rgba(0, 86, 179, 0.08);
  box-shadow:
    0 10px 28px rgba(15, 45, 75, 0.08),
    0 1px 0 rgba(255, 255, 255, 0.9) inset;
  transition:
    transform var(--ease-fast),
    box-shadow var(--ease-fast),
    border-color var(--ease-fast);
}

/* HOME用 .plan-section がこのカードに誤適用されるのを止める */
#post-76 .entry-body > .card-container .card.plan-section {
  width: auto !important;
  max-width: none !important;
  padding: 0 !important;
}

#post-76 .entry-body > .card-container .card.plan-section::before {
  content: none !important;
  display: none !important;
}

#post-76 .entry-body > .card-container .card:hover {
  transform: translateY(-6px);
  border-color: rgba(0, 123, 255, 0.18);
  box-shadow:
    0 18px 42px rgba(15, 45, 75, 0.14),
    0 1px 0 rgba(255, 255, 255, 0.95) inset;
}

#post-76 .entry-body > .card-container .card h4 {
  width: 100%;
  margin: 0;
  padding: 18px 18px 12px;
  color: var(--color-primary);
  font-size: 1.04rem;
  line-height: 1.5;
  letter-spacing: 0.03em;
}

#post-76 .entry-body > .card-container .card a {
  display: block;
  width: 100%;
  overflow: hidden;
  color: var(--color-primary);
  text-decoration: none;
}

#post-76 .entry-body > .card-container .banner-img {
  width: 100%;
  aspect-ratio: 3 / 1;
  display: block;
  object-fit: cover;
  object-position: center;
  border-radius: 0;
  transform: scale(1.01);
  transition:
    transform 700ms cubic-bezier(.16, .84, .28, 1),
    filter 700ms cubic-bezier(.16, .84, .28, 1);
}

#post-76 .entry-body > .card-container .card:hover .banner-img {
  transform: scale(1.045);
  filter: saturate(1.04) contrast(1.03);
}

#post-76 .entry-body > .card-container .card p {
  width: 100%;
  margin: 0;
  padding: 16px 18px 20px;
  color: rgba(51, 51, 51, 0.78);
  font-size: 0.9rem;
  line-height: 1.75;
}

/* 旧contact-pageクラスにも対応しておく */
.contact-page {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 48px 20px 72px;
}

/* Tablet */
@media (max-width: 1024px) {
  #post-76 .entry-body {
    padding: 42px 20px 64px;
  }

  #post-76 .page-title-bg {
    grid-template-columns: 1fr;
  }

  #post-76 .page-title-bg > p:has(img) {
    grid-column: 1;
    grid-row: auto;
  }

  #post-76 .page-title-bg img {
    aspect-ratio: 3 / 1;
    height: auto;
    min-height: 0;
  }

  #post-76 .contact-links {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  #post-76 .entry-body > .card-container {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

/* Mobile */
@media (max-width: 768px) {
  #post-76 .entry-body {
    padding: 34px 16px 56px;
  }

  #post-76 .recruit-bg {
    margin-bottom: 34px;
  }

  #post-76 .page-title-bg {
    gap: 20px;
    min-height: 0;
    padding: 24px;
    border-radius: 24px;
  }

  #post-76 .page-title-bg::before {
    top: 22px;
    left: 24px;
  }

  #post-76 .page-title-bg h1 {
    margin-top: 34px;
    font-size: clamp(1.75rem, 8vw, 2.2rem);
  }

  #post-76 .page-title-bg img {
    aspect-ratio: 3 / 1.25;
    border-radius: 18px;
  }

  #post-76 .contact-form,
  #post-76 .contact-reference,
  #post-76 .privacy-policy {
    margin-bottom: 42px;
  }

  #post-76 .contact-form > p {
    text-align: left;
  }

  #post-76 .form-card {
    padding: 22px;
    border-radius: 22px;
  }

  #post-76 .form-card p:has(input[name="your-name"]):has(input[name="your-email"]) {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  #post-76 .contact-links {
    grid-template-columns: 1fr;
  }

  #post-76 .privacy-policy {
    padding: 20px;
    border-radius: 20px;
  }

  #post-76 .entry-body > .card-container {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  #post-76 .entry-body > .card-container .card {
    border-radius: 20px;
  }

  #post-76 .entry-body > .card-container .card h4 {
    padding: 16px 16px 10px;
  }

  #post-76 .entry-body > .card-container .card p {
    padding: 14px 16px 18px;
  }
}

/* Motion */
@media (prefers-reduced-motion: reduce) {
  #post-76 .form-card input[type="submit"],
  #post-76 .form-card button[type="submit"],
  #post-76 .contact-links a,
  #post-76 .entry-body > .card-container .card,
  #post-76 .entry-body > .card-container .banner-img {
    transition: none !important;
    transform: none !important;
  }

  #post-76 .entry-body > .card-container .card:hover,
  #post-76 .entry-body > .card-container .card:hover .banner-img {
    transform: none !important;
  }
}


/* =========================================================
   Human Resources Page
   Reiwa-style human resources page refinement
   対象HTML: post-74 / .recruit-bg / .page-content / .hu_list
   ========================================================= */

/* ページ全体 */
#post-74 .entry-body {
  position: relative;
  max-width: 1200px;
  margin: 0 auto;
  padding: 48px 20px 72px;
}

#post-74 .entry-body::before {
  content: "";
  position: absolute;
  top: 14px;
  right: -130px;
  width: 430px;
  height: 430px;
  pointer-events: none;
  z-index: -1;
  border-radius: 999px;
  background:
    radial-gradient(
      circle,
      rgba(0, 194, 215, 0.14) 0%,
      rgba(0, 123, 255, 0.05) 46%,
      rgba(255, 255, 255, 0) 72%
    );
}

#post-74 .entry-body::after {
  content: "";
  position: absolute;
  left: -160px;
  top: 560px;
  width: 380px;
  height: 380px;
  pointer-events: none;
  z-index: -1;
  border-radius: 999px;
  background:
    radial-gradient(
      circle,
      rgba(0, 123, 255, 0.09) 0%,
      rgba(0, 194, 215, 0.04) 48%,
      rgba(255, 255, 255, 0) 74%
    );
}

/* Hero */
#post-74 .recruit-bg {
  margin-bottom: 52px;
  background: transparent;
}

#post-74 .page-title {
  margin: 0;
}

#post-74 .page-title-bg {
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-columns: minmax(0, 0.88fr) minmax(0, 1.12fr);
  gap: 28px;
  align-items: center;
  min-height: 320px;
  padding: 30px;
  border-radius: 30px;
  background:
    linear-gradient(
      135deg,
      rgba(255, 255, 255, 0.98) 0%,
      rgba(240, 249, 252, 0.96) 100%
    );
  border: 1px solid rgba(0, 86, 179, 0.08);
  box-shadow:
    0 14px 36px rgba(15, 45, 75, 0.09),
    0 1px 0 rgba(255, 255, 255, 0.95) inset;
  text-align: left;
}

#post-74 .page-title-bg::before {
  content: "HUMAN RESOURCES";
  position: relative;
  z-index: 1;
  grid-column: 1;
  grid-row: 1;
  align-self: start;
  justify-self: start;
  display: inline-flex;
  align-items: center;
  height: 26px;
  margin-bottom: 14px;
  padding: 0 12px;
  border-radius: 999px;
  background: rgba(0, 123, 255, 0.08);
  color: var(--color-primary);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.12em;
}

#post-74 .page-title-bg::after {
  content: "";
  position: absolute;
  top: -120px;
  right: -100px;
  width: 300px;
  height: 300px;
  pointer-events: none;
  border-radius: 999px;
  background:
    radial-gradient(
      circle,
      rgba(0, 194, 215, 0.18) 0%,
      rgba(0, 123, 255, 0.06) 44%,
      rgba(255, 255, 255, 0) 74%
    );
}

#post-74 .page-title-bg h1 {
  position: relative;
  z-index: 1;
  grid-column: 1;
  grid-row: 1;
  align-self: center;
  margin: 42px 0 10px;
  color: var(--color-secondary);
  font-size: clamp(2rem, 4vw, 2.7rem);
  line-height: 1.32;
  letter-spacing: 0.04em;
}

#post-74 .page-title-bg h1 strong {
  font-weight: 800;
}

#post-74 .page-title-bg p {
  position: relative;
  z-index: 1;
  grid-column: 1;
  margin: 0;
  color: rgba(51, 51, 51, 0.74);
  font-size: 1.02rem;
  line-height: 1.8;
}

#post-74 .page-title-bg p:has(img) {
  grid-column: 2;
  grid-row: 1 / span 3;
  align-self: stretch;
  margin: 0;
}

#post-74 .page-title-bg img {
  width: 100%;
  height: 100%;
  min-height: 250px;
  display: block;
  object-fit: cover;
  object-position: center 42%;
  border-radius: 24px;
  box-shadow: 0 10px 28px rgba(15, 45, 75, 0.12);
}

/* Main content */
#post-74 .page-content {
  width: 100%;
  max-width: 980px;
  margin: 0 auto 56px;
  padding: 0;
}

#post-74 .page-content p {
  margin: 0 0 1.35em;
  color: rgba(51, 51, 51, 0.82);
  font-size: 1rem;
  line-height: 1.95;
  letter-spacing: 0.01em;
}

/* Section heading */
#post-74 .hu_h2 {
  margin: 54px 0 22px;
}

#post-74 .hu_h2:first-child {
  margin-top: 0;
}

#post-74 .hu_title1 {
  position: relative;
  display: inline-flex;
  flex-direction: column;
  gap: 8px;
  margin: 0;
  padding: 16px 0 0;
  color: var(--color-secondary);
  font-size: clamp(1.45rem, 2.6vw, 2rem);
  line-height: 1.45;
  letter-spacing: 0.04em;
  border: none;
}

#post-74 .hu_title1::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 72px;
  height: 3px;
  border-radius: 999px;
  background: linear-gradient(90deg, #00c2d7, var(--color-primary));
}

#post-74 .hu_title1 strong {
  font-weight: 800;
}

#post-74 .hu_title1 span {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  height: 24px;
  padding: 0 10px;
  border-radius: 999px;
  background: rgba(0, 123, 255, 0.08);
  color: var(--color-primary);
  font-size: 0.72rem !important;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.1em;
}

/* Credo cards */
#post-74 .hu_list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
  margin: 26px 0 34px;
}

#post-74 .hu_list .card {
  position: relative;
  overflow: hidden;
  min-height: 148px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 26px 20px;
  border-radius: 24px;
  border: 1px solid rgba(0, 86, 179, 0.08);
  background:
    linear-gradient(
      180deg,
      rgba(255, 255, 255, 0.98) 0%,
      rgba(250, 253, 255, 0.96) 100%
    );
  box-shadow:
    0 10px 28px rgba(15, 45, 75, 0.08),
    0 1px 0 rgba(255, 255, 255, 0.9) inset;
  color: var(--color-secondary);
  text-align: center;
  font-size: 1.06rem;
  font-weight: 800;
  line-height: 1.75;
  letter-spacing: 0.04em;
}

#post-74 .hu_list .card::before {
  content: "";
  position: absolute;
  top: -76px;
  right: -76px;
  width: 160px;
  height: 160px;
  pointer-events: none;
  border-radius: 999px;
  background:
    radial-gradient(
      circle,
      rgba(0, 194, 215, 0.18) 0%,
      rgba(0, 123, 255, 0.06) 46%,
      rgba(255, 255, 255, 0) 74%
    );
}

#post-74 .hu_list .card::after {
  content: "";
  position: absolute;
  left: 18px;
  right: 18px;
  bottom: 0;
  height: 3px;
  border-radius: 999px 999px 0 0;
  background: linear-gradient(90deg, #00c2d7, var(--color-primary));
  opacity: 0.62;
  transform: scaleX(0.72);
  transform-origin: left center;
  transition:
    opacity var(--ease-fast),
    transform var(--ease-fast);
}

#post-74 .hu_list .card:hover {
  transform: translateY(-6px);
  box-shadow:
    0 18px 42px rgba(15, 45, 75, 0.14),
    0 1px 0 rgba(255, 255, 255, 0.95) inset;
}

#post-74 .hu_list .card:hover::after {
  opacity: 1;
  transform: scaleX(1);
}

/* Contact information block */
#post-74 .contact-info {
  position: relative;
  overflow: hidden;
  margin: 44px 0 0;
  padding: 24px 26px;
  border-radius: 24px;
  background:
    linear-gradient(
      135deg,
      rgba(255, 255, 255, 0.96) 0%,
      rgba(240, 249, 252, 0.92) 100%
    );
  border: 1px solid rgba(0, 86, 179, 0.08);
  box-shadow:
    0 10px 28px rgba(15, 45, 75, 0.07),
    0 1px 0 rgba(255, 255, 255, 0.92) inset;
}

#post-74 .contact-info::before {
  content: "CONTACT";
  display: inline-flex;
  align-items: center;
  height: 24px;
  margin-bottom: 12px;
  padding: 0 10px;
  border-radius: 999px;
  background: rgba(0, 123, 255, 0.08);
  color: var(--color-primary);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.1em;
}

#post-74 .contact-info p {
  margin-bottom: 0;
}

#post-74 .contact-info a {
  color: var(--color-primary);
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 0.18em;
}

/* Bottom navigation cards
   card.plan-section にHOME用 .plan-section が当たるのを抑える */
#post-74 .entry-body > .card-container {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  max-width: 980px;
  margin: 0 auto;
  padding: 0;
  border-radius: 0;
}

#post-74 .entry-body > .card-container .card,
#post-74 .entry-body > .card-container .card.plan-section,
#post-74 .entry-body > .card-container .card.stella-medix-section,
#post-74 .entry-body > .card-container .card.services-section {
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  text-align: left;
  min-height: auto;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
  border-radius: 22px;
  border: 1px solid rgba(0, 86, 179, 0.08);
  background:
    linear-gradient(
      180deg,
      rgba(255, 255, 255, 0.98) 0%,
      rgba(250, 253, 255, 0.96) 100%
    );
  box-shadow:
    0 10px 28px rgba(15, 45, 75, 0.08),
    0 1px 0 rgba(255, 255, 255, 0.9) inset;
}

#post-74 .entry-body > .card-container .card::before {
  content: "";
  position: absolute;
  top: -76px;
  right: -76px;
  width: 160px;
  height: 160px;
  pointer-events: none;
  border-radius: 999px;
  background:
    radial-gradient(
      circle,
      rgba(0, 194, 215, 0.16) 0%,
      rgba(0, 123, 255, 0.05) 46%,
      rgba(255, 255, 255, 0) 74%
    );
}

#post-74 .entry-body > .card-container .card:hover {
  transform: translateY(-6px);
  box-shadow:
    0 18px 42px rgba(15, 45, 75, 0.14),
    0 1px 0 rgba(255, 255, 255, 0.95) inset;
}

#post-74 .entry-body > .card-container .card h4 {
  width: 100%;
  margin: 0;
  padding: 18px 18px 12px;
  color: var(--color-primary);
  font-size: 1.06rem;
  line-height: 1.5;
  letter-spacing: 0.03em;
}

#post-74 .entry-body > .card-container .card a {
  display: block;
  width: 100%;
  overflow: hidden;
  color: var(--color-primary);
  text-decoration: none;
}

#post-74 .entry-body > .card-container .banner-img {
  width: 100%;
  aspect-ratio: 3 / 1;
  height: auto;
  display: block;
  object-fit: cover;
  border-radius: 0;
  transform: scale(1.01);
  transition:
    transform 700ms cubic-bezier(.16, .84, .28, 1),
    filter 700ms cubic-bezier(.16, .84, .28, 1);
}

#post-74 .entry-body > .card-container .card:hover .banner-img {
  transform: scale(1.04);
  filter: saturate(1.04) contrast(1.03);
}

#post-74 .entry-body > .card-container .card p {
  width: 100%;
  margin: 0;
  padding: 16px 18px 20px;
  color: rgba(51, 51, 51, 0.78);
  font-size: 0.9rem;
  line-height: 1.78;
}

/* Tablet */
@media (max-width: 1024px) {
  #post-74 .page-title-bg {
    grid-template-columns: 1fr;
  }

  #post-74 .page-title-bg p:has(img) {
    grid-column: 1;
    grid-row: auto;
  }

  #post-74 .page-title-bg img {
    aspect-ratio: 3 / 1;
    min-height: 0;
  }

  #post-74 .hu_list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
  }

  #post-74 .entry-body > .card-container {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

/* Mobile */
@media (max-width: 768px) {
  #post-74 .entry-body {
    padding: 34px 16px 56px;
  }

  #post-74 .recruit-bg {
    margin-bottom: 34px;
  }

  #post-74 .page-title-bg {
    gap: 20px;
    min-height: 0;
    padding: 24px;
    border-radius: 24px;
  }

  #post-74 .page-title-bg::before {
    margin-bottom: 8px;
  }

  #post-74 .page-title-bg h1 {
    margin-top: 26px;
    font-size: clamp(1.65rem, 7vw, 2.1rem);
  }

  #post-74 .page-title-bg img {
    aspect-ratio: 3 / 1.25;
    border-radius: 18px;
  }

  #post-74 .page-content {
    margin-bottom: 42px;
  }

  #post-74 .page-content p {
    font-size: 0.96rem;
    line-height: 1.9;
  }

  #post-74 .hu_h2 {
    margin: 42px 0 18px;
  }

  #post-74 .hu_h2:first-child {
    margin-top: 0;
  }

  #post-74 .hu_title1 {
    font-size: clamp(1.28rem, 6vw, 1.7rem);
  }

  #post-74 .hu_list {
    grid-template-columns: 1fr;
    gap: 16px;
    margin: 22px 0 30px;
  }

  #post-74 .hu_list .card {
    min-height: 112px;
    padding: 22px 18px;
    border-radius: 20px;
  }

  #post-74 .contact-info {
    margin-top: 34px;
    padding: 20px;
    border-radius: 20px;
  }

  #post-74 .entry-body > .card-container {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  #post-74 .entry-body > .card-container .card {
    border-radius: 20px;
  }

  #post-74 .entry-body > .card-container .card h4 {
    padding: 16px 16px 10px;
  }

  #post-74 .entry-body > .card-container .card p {
    padding: 14px 16px 18px;
  }
}

/* Motion */
@media (prefers-reduced-motion: reduce) {
  #post-74 .hu_list .card,
  #post-74 .entry-body > .card-container .card,
  #post-74 .entry-body > .card-container .banner-img {
    transition: none !important;
    transform: none !important;
  }

  #post-74 .hu_list .card:hover,
  #post-74 .entry-body > .card-container .card:hover,
  #post-74 .entry-body > .card-container .card:hover .banner-img {
    transform: none !important;
  }
}



/* =========================================================
   Human Resources Page Fine Tune
   見出しサイズの最適化
   ========================================================= */

/* 画像とのバランスを取り、見出しの圧迫感を抑える */
#post-74 .page-title-bg {
  grid-template-columns: minmax(0, 0.82fr) minmax(0, 1.18fr);
}

#post-74 .page-title-bg h1 {
  max-width: 9.5em;
  font-size: clamp(1.68rem, 3.15vw, 2.24rem);
  line-height: 1.42;
  letter-spacing: 0.035em;
}

#post-74 .hu_title1 {
  font-size: clamp(1.32rem, 2.2vw, 1.78rem);
}


/* =========================================================
   Plans Pages
   Reiwa-style plan index and detail page refinement
   対象HTML:
   - post-72   / plans index
   - post-2094 / books
   - post-2092 / movies
   - post-3028 / owned media
   ========================================================= */

/* ---------------------------------------------------------
   Shared plan page foundation
   --------------------------------------------------------- */

#post-72 .entry-body,
#post-2094 .entry-body,
#post-2092 .entry-body,
#post-3028 .entry-body {
  position: relative;
  max-width: 1200px;
  margin: 0 auto;
  padding: 48px 20px 72px;
}

#post-72 .entry-body::before,
#post-2094 .entry-body::before,
#post-2092 .entry-body::before,
#post-3028 .entry-body::before {
  content: "";
  position: absolute;
  top: 14px;
  right: -130px;
  width: 430px;
  height: 430px;
  pointer-events: none;
  z-index: -1;
  border-radius: 999px;
  background:
    radial-gradient(
      circle,
      rgba(0, 194, 215, 0.14) 0%,
      rgba(0, 123, 255, 0.05) 46%,
      rgba(255, 255, 255, 0) 72%
    );
}

#post-72 .entry-body::after,
#post-2094 .entry-body::after,
#post-2092 .entry-body::after,
#post-3028 .entry-body::after {
  content: "";
  position: absolute;
  left: -160px;
  top: 560px;
  width: 380px;
  height: 380px;
  pointer-events: none;
  z-index: -1;
  border-radius: 999px;
  background:
    radial-gradient(
      circle,
      rgba(0, 123, 255, 0.09) 0%,
      rgba(0, 194, 215, 0.04) 48%,
      rgba(255, 255, 255, 0) 74%
    );
}

#post-72 article,
#post-2094 article,
#post-2092 article,
#post-3028 article {
  margin: 0 0 40px;
}

#post-72 article:last-of-type,
#post-2094 article:last-of-type,
#post-2092 article:last-of-type,
#post-3028 article:last-of-type {
  margin-bottom: 56px;
}

/* 画像の共通調整 */
#post-72 article > figure,
#post-72 section > figure,
#post-2094 article > figure,
#post-2094 section > figure,
#post-2092 article > figure,
#post-2092 section > figure,
#post-3028 article > figure,
#post-3028 section > figure {
  margin: 22px 0 28px;
}

#post-72 article > figure img,
#post-72 section > figure img,
#post-2094 article > figure img,
#post-2094 section > figure img,
#post-2092 article > figure img,
#post-2092 section > figure img,
#post-3028 article > figure img,
#post-3028 section > figure img {
  width: 100%;
  aspect-ratio: 3 / 1;
  height: auto;
  display: block;
  object-fit: cover;
  object-position: center 44%;
  border-radius: 24px;
  box-shadow: 0 10px 28px rgba(15, 45, 75, 0.12);
}

#post-72 figcaption,
#post-2094 figcaption,
#post-2092 figcaption,
#post-3028 figcaption {
  margin-top: 8px;
  color: rgba(44, 62, 80, 0.58);
  font-size: 0.82rem;
  line-height: 1.6;
  text-align: center;
}

/* 共通本文 */
#post-72 .enhanced-text,
#post-2094 .enhanced-text,
#post-2092 .enhanced-text,
#post-3028 .enhanced-text {
  max-width: none;
  margin: 0 0 18px;
  padding: 18px 20px;
  border-inline-start: 4px solid rgba(0, 123, 255, 0.42);
  border-radius: 18px;
  background:
    linear-gradient(
      180deg,
      rgba(255, 255, 255, 0.86) 0%,
      rgba(250, 253, 255, 0.72) 100%
    );
  box-shadow:
    0 8px 22px rgba(15, 45, 75, 0.06),
    0 1px 0 rgba(255, 255, 255, 0.92) inset;
  color: rgba(51, 51, 51, 0.80);
  font-size: 0.98rem;
  line-height: 1.88;
  text-align: left;
}

/* ボタン */
#post-72 .intro-button,
#post-72 .introduction-button,
#post-2094 .intro-button,
#post-2094 .introduction-button,
#post-2092 .intro-button,
#post-2092 .introduction-button,
#post-3028 .intro-button,
#post-3028 .introduction-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 0 20px;
  border-radius: 999px;
  background: linear-gradient(90deg, #00c2d7, var(--color-primary));
  color: #fff !important;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.04em;
  text-decoration: none !important;
  box-shadow: 0 10px 24px rgba(0, 86, 179, 0.18);
  transition:
    transform var(--ease-fast),
    box-shadow var(--ease-fast),
    opacity var(--ease-fast);
}

#post-72 .intro-button:hover,
#post-72 .introduction-button:hover,
#post-2094 .intro-button:hover,
#post-2094 .introduction-button:hover,
#post-2092 .intro-button:hover,
#post-2092 .introduction-button:hover,
#post-3028 .intro-button:hover,
#post-3028 .introduction-button:hover {
  transform: translateY(-1px);
  box-shadow: 0 14px 30px rgba(0, 86, 179, 0.24);
  opacity: 0.94;
}

/* テーブル */
#post-2094 table,
#post-2092 table,
#post-3028 table,
#post-3028 .plan-table {
  width: 100%;
  margin: 24px 0 34px;
  border-collapse: separate;
  border-spacing: 0;
  overflow: hidden;
  border: 1px solid rgba(0, 86, 179, 0.10);
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.86);
  box-shadow: 0 10px 28px rgba(15, 45, 75, 0.07);
}

#post-2094 th,
#post-2094 td,
#post-2092 th,
#post-2092 td,
#post-3028 th,
#post-3028 td {
  padding: 12px 14px;
  border: none;
  border-bottom: 1px solid rgba(0, 86, 179, 0.08);
  color: rgba(51, 51, 51, 0.82);
  font-size: 0.93rem;
  line-height: 1.7;
  vertical-align: top;
}

#post-2094 th,
#post-2092 th,
#post-3028 th {
  background: rgba(0, 123, 255, 0.08);
  color: var(--color-secondary);
  font-weight: 800;
}

#post-2094 tr:last-child td,
#post-2092 tr:last-child td,
#post-3028 tr:last-child td {
  border-bottom: none;
}

/* ---------------------------------------------------------
   post-72: plans index
   --------------------------------------------------------- */

#post-72 .business-plan.content-section {
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-columns: minmax(0, 0.86fr) minmax(0, 1.14fr);
  gap: 28px;
  align-items: center;
  min-height: 320px;
  margin: 0 0 52px;
  padding: 30px;
  border-radius: 30px;
  background:
    linear-gradient(
      135deg,
      rgba(255, 255, 255, 0.98) 0%,
      rgba(240, 249, 252, 0.96) 100%
    );
  border: 1px solid rgba(0, 86, 179, 0.08);
  box-shadow:
    0 14px 36px rgba(15, 45, 75, 0.09),
    0 1px 0 rgba(255, 255, 255, 0.95) inset;
}

#post-72 .business-plan.content-section::before {
  content: "SERVICE PLANS";
  position: relative;
  z-index: 1;
  grid-column: 1;
  grid-row: 1;
  align-self: start;
  justify-self: start;
  display: inline-flex;
  align-items: center;
  height: 26px;
  margin-bottom: 14px;
  padding: 0 12px;
  border-radius: 999px;
  background: rgba(0, 123, 255, 0.08);
  color: var(--color-primary);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.12em;
}

#post-72 .business-plan.content-section::after {
  content: "";
  position: absolute;
  top: -120px;
  right: -100px;
  width: 300px;
  height: 300px;
  pointer-events: none;
  border-radius: 999px;
  background:
    radial-gradient(
      circle,
      rgba(0, 194, 215, 0.18) 0%,
      rgba(0, 123, 255, 0.06) 44%,
      rgba(255, 255, 255, 0) 74%
    );
}

#post-72 .business-plan.content-section .content-wrapper {
  display: contents;
}

#post-72 .content-title {
  position: relative;
  z-index: 1;
  grid-column: 1;
  grid-row: 1;
  align-self: center;
  max-width: 10.5em;
  margin: 42px 0 10px;
  color: var(--color-secondary);
  font-size: clamp(1.68rem, 3.15vw, 2.28rem);
  line-height: 1.42;
  letter-spacing: 0.035em;
}

#post-72 .business-plan.content-section .subtitle {
  position: relative;
  z-index: 1;
  grid-column: 1;
  margin: 0;
  color: rgba(51, 51, 51, 0.74);
  font-size: 1.02rem;
  line-height: 1.8;
}

#post-72 .business-plan.content-section > figure {
  grid-column: 2;
  grid-row: 1 / span 3;
  align-self: stretch;
  margin: 0;
}

#post-72 .business-plan.content-section > figure img {
  height: 100%;
  min-height: 250px;
  object-position: center 44%;
}

#post-72 .video-card {
  max-width: 900px;
  margin: 0 auto 34px;
  overflow: hidden;
  border-radius: 24px;
  box-shadow: 0 12px 34px rgba(15, 45, 75, 0.10);
  background: #000;
}

#post-72 .video-frame {
  width: 100%;
  aspect-ratio: 16 / 9;
  display: block;
}

/* plans index sections as cards */
#post-72 article > .plan-section,
#post-72 article > .business-direction {
  position: relative;
  overflow: hidden;
  max-width: 980px;
  margin: 0 auto 34px;
  padding: 26px;
  border-radius: 26px;
  border: 1px solid rgba(0, 86, 179, 0.08);
  background:
    linear-gradient(
      180deg,
      rgba(255, 255, 255, 0.98) 0%,
      rgba(250, 253, 255, 0.96) 100%
    );
  box-shadow:
    0 10px 28px rgba(15, 45, 75, 0.08),
    0 1px 0 rgba(255, 255, 255, 0.9) inset;
}

#post-72 article > .plan-section::before,
#post-72 article > .business-direction::before {
  content: "";
  position: absolute;
  top: -90px;
  right: -90px;
  width: 190px;
  height: 190px;
  pointer-events: none;
  border-radius: 999px;
  background:
    radial-gradient(
      circle,
      rgba(0, 194, 215, 0.14) 0%,
      rgba(0, 123, 255, 0.05) 48%,
      rgba(255, 255, 255, 0) 76%
    );
}

#post-72 article > .plan-section h2,
#post-72 article > .business-direction h2,
#post-72 article > h3 {
  position: relative;
  display: inline-flex;
  flex-direction: column;
  gap: 8px;
  margin: 0 0 8px;
  padding: 16px 0 0;
  color: var(--color-secondary);
  font-size: clamp(1.28rem, 2.2vw, 1.72rem);
  line-height: 1.45;
  letter-spacing: 0.035em;
  border: none;
}

#post-72 article > .plan-section h2::before,
#post-72 article > .business-direction h2::before,
#post-72 article > h3::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 72px;
  height: 3px;
  border-radius: 999px;
  background: linear-gradient(90deg, #00c2d7, var(--color-primary));
}

#post-72 article > .plan-section > p:first-of-type,
#post-72 article > .business-direction > p:first-of-type,
#post-72 article > h3 + p {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  min-height: 24px;
  margin: 0 0 18px;
  padding: 0 10px;
  border-radius: 999px;
  background: rgba(0, 123, 255, 0.08);
  color: var(--color-primary);
  font-size: 0.72rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.1em;
}

#post-72 article > .plan-section figure,
#post-72 article > .business-direction figure {
  margin: 18px 0 20px;
}

#post-72 article > .plan-section figure img,
#post-72 article > .business-direction figure img {
  border-radius: 20px;
}

/* Works article */
#post-72 article > h3#Works {
  max-width: 980px;
  margin: 0 auto 8px;
}

#post-72 article > h3#Works + p {
  margin-left: calc((100% - min(100%, 980px)) / 2);
}

#post-72 article:has(#Works) {
  max-width: 980px;
  margin-left: auto;
  margin-right: auto;
  padding: 26px;
  border-radius: 26px;
  border: 1px solid rgba(0, 86, 179, 0.08);
  background:
    linear-gradient(
      180deg,
      rgba(255, 255, 255, 0.98) 0%,
      rgba(250, 253, 255, 0.96) 100%
    );
  box-shadow:
    0 10px 28px rgba(15, 45, 75, 0.08),
    0 1px 0 rgba(255, 255, 255, 0.9) inset;
}

#post-72 article:has(#Works) ul {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 18px 0 0;
  padding: 0;
  list-style: none;
}

#post-72 article:has(#Works) li {
  margin: 0;
}

#post-72 article:has(#Works) li a {
  display: inline-flex;
  align-items: center;
  min-height: 38px;
  padding: 0 14px;
  border-radius: 999px;
  background: rgba(0, 123, 255, 0.08);
  color: var(--color-primary);
  font-weight: 700;
  text-decoration: none;
}

/* ---------------------------------------------------------
   Plan detail pages
   --------------------------------------------------------- */

/* Books */
#post-2094 .book-publishing-section:first-of-type {
  position: relative;
  overflow: hidden;
  margin: 0 0 24px;
  padding: 30px;
  border-radius: 30px;
  background:
    linear-gradient(
      135deg,
      rgba(255, 255, 255, 0.98) 0%,
      rgba(240, 249, 252, 0.96) 100%
    );
  border: 1px solid rgba(0, 86, 179, 0.08);
  box-shadow:
    0 14px 36px rgba(15, 45, 75, 0.09),
    0 1px 0 rgba(255, 255, 255, 0.95) inset;
}

#post-2094 .book-publishing-section:first-of-type::before {
  content: "BOOKS";
}

/* Movies */
#post-2092 .video-business-section {
  position: relative;
  overflow: hidden;
  margin: 0 0 52px;
  padding: 30px;
  border-radius: 30px;
  background:
    linear-gradient(
      135deg,
      rgba(255, 255, 255, 0.98) 0%,
      rgba(240, 249, 252, 0.96) 100%
    );
  border: 1px solid rgba(0, 86, 179, 0.08);
  box-shadow:
    0 14px 36px rgba(15, 45, 75, 0.09),
    0 1px 0 rgba(255, 255, 255, 0.95) inset;
}

#post-2092 .video-business-section::before {
  content: "MOVIES";
}

/* Owned media */
#post-3028 .site-construction-business {
  margin: 0 0 52px;
}

#post-3028 .site-construction-business > .business-plan {
  position: relative;
  overflow: hidden;
  margin: 0;
  padding: 30px;
  border-radius: 30px;
  background:
    linear-gradient(
      135deg,
      rgba(255, 255, 255, 0.98) 0%,
      rgba(240, 249, 252, 0.96) 100%
    );
  border: 1px solid rgba(0, 86, 179, 0.08);
  box-shadow:
    0 14px 36px rgba(15, 45, 75, 0.09),
    0 1px 0 rgba(255, 255, 255, 0.95) inset;
}

#post-3028 .site-construction-business > .business-plan::before {
  content: "OWNED MEDIA";
}

/* Detail hero badges */
#post-2094 .book-publishing-section:first-of-type::before,
#post-2092 .video-business-section::before,
#post-3028 .site-construction-business > .business-plan::before {
  display: inline-flex;
  align-items: center;
  height: 26px;
  margin: 0 0 16px;
  padding: 0 12px;
  border-radius: 999px;
  background: rgba(0, 123, 255, 0.08);
  color: var(--color-primary);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.12em;
}

/* Detail hero titles */
#post-2094 .book-publishing-title,
#post-2092 .video-business-title,
#post-3028 .site-construction-business h2 {
  max-width: 16em;
  margin: 0 0 10px;
  color: var(--color-secondary);
  font-size: clamp(1.58rem, 2.7vw, 2.1rem);
  line-height: 1.42;
  letter-spacing: 0.035em;
}

#post-2094 .book-publishing-subtitle,
#post-2092 .video-business-subtitle,
#post-3028 .site-construction-business .subtitle {
  margin: 0 0 22px;
  color: rgba(51, 51, 51, 0.74);
  font-size: 1.02rem;
  line-height: 1.8;
}

/* Detail inner cards */
#post-2094 .book-plan-section,
#post-2092 .video-plan-section,
#post-3028 .site-construction-business-details {
  max-width: 980px;
  margin: 0 auto;
}

#post-2094 .book-plan-title,
#post-3028 .site-construction-business h3 {
  position: relative;
  display: inline-flex;
  margin: 34px 0 8px;
  padding: 16px 0 0;
  color: var(--color-secondary);
  font-size: clamp(1.28rem, 2.2vw, 1.72rem);
  line-height: 1.45;
  letter-spacing: 0.035em;
}

#post-2094 .book-plan-title::before,
#post-3028 .site-construction-business h3::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 72px;
  height: 3px;
  border-radius: 999px;
  background: linear-gradient(90deg, #00c2d7, var(--color-primary));
}

#post-2094 .book-plan-section .subtitle {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  min-height: 24px;
  margin: 0 0 20px;
  padding: 0 10px;
  border-radius: 999px;
  background: rgba(0, 123, 255, 0.08);
  color: var(--color-primary);
  font-size: 0.72rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.1em;
}

#post-2094 .book-plan-item,
#post-2092 .video-plan-item,
#post-3028 .site-construction-business-item {
  position: relative;
  overflow: hidden;
  margin: 0 0 26px;
  padding: 24px;
  border-radius: 24px;
  border: 1px solid rgba(0, 86, 179, 0.08);
  background:
    linear-gradient(
      180deg,
      rgba(255, 255, 255, 0.98) 0%,
      rgba(250, 253, 255, 0.96) 100%
    );
  box-shadow:
    0 10px 28px rgba(15, 45, 75, 0.08),
    0 1px 0 rgba(255, 255, 255, 0.9) inset;
}

#post-2094 .book-plan-item h4,
#post-2092 .video-plan-item h4,
#post-3028 .site-construction-business-item h4 {
  margin: 0 0 16px;
  color: var(--color-primary);
  font-size: 1.18rem;
  line-height: 1.5;
  letter-spacing: 0.03em;
}

#post-2092 .video-plan-item p,
#post-3028 .site-construction-business p {
  color: rgba(51, 51, 51, 0.80);
  font-size: 0.98rem;
  line-height: 1.88;
}

/* ---------------------------------------------------------
   Shared bottom cards for plan pages
   --------------------------------------------------------- */

#post-72 .entry-body > .card-container,
#post-2094 .entry-body > .card-container,
#post-2092 .entry-body .card-container,
#post-3028 .entry-body > .card-container {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  max-width: 980px;
  margin: 56px auto 0;
  padding: 0;
  border-radius: 0;
}

#post-72 .entry-body > .card-container .card,
#post-2094 .entry-body > .card-container .card,
#post-2092 .entry-body .card-container .card,
#post-3028 .entry-body > .card-container .card,
#post-72 .entry-body > .card-container .card.plan-section,
#post-2094 .entry-body > .card-container .card.plan-section,
#post-2092 .entry-body .card-container .card.plan-section,
#post-3028 .entry-body > .card-container .card.plan-section {
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  text-align: left;
  min-height: auto;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
  border-radius: 22px;
  border: 1px solid rgba(0, 86, 179, 0.08);
  background:
    linear-gradient(
      180deg,
      rgba(255, 255, 255, 0.98) 0%,
      rgba(250, 253, 255, 0.96) 100%
    );
  box-shadow:
    0 10px 28px rgba(15, 45, 75, 0.08),
    0 1px 0 rgba(255, 255, 255, 0.9) inset;
}

#post-72 .entry-body > .card-container .card::before,
#post-2094 .entry-body > .card-container .card::before,
#post-2092 .entry-body .card-container .card::before,
#post-3028 .entry-body > .card-container .card::before {
  content: "";
  position: absolute;
  top: -76px;
  right: -76px;
  width: 160px;
  height: 160px;
  pointer-events: none;
  border-radius: 999px;
  background:
    radial-gradient(
      circle,
      rgba(0, 194, 215, 0.16) 0%,
      rgba(0, 123, 255, 0.05) 46%,
      rgba(255, 255, 255, 0) 74%
    );
}

#post-72 .entry-body > .card-container .card:hover,
#post-2094 .entry-body > .card-container .card:hover,
#post-2092 .entry-body .card-container .card:hover,
#post-3028 .entry-body > .card-container .card:hover {
  transform: translateY(-6px);
  box-shadow:
    0 18px 42px rgba(15, 45, 75, 0.14),
    0 1px 0 rgba(255, 255, 255, 0.95) inset;
}

#post-72 .entry-body > .card-container .card h4,
#post-2094 .entry-body > .card-container .card h4,
#post-2092 .entry-body .card-container .card h4,
#post-3028 .entry-body > .card-container .card h4 {
  width: 100%;
  margin: 0;
  padding: 18px 18px 12px;
  color: var(--color-primary);
  font-size: 1.06rem;
  line-height: 1.5;
  letter-spacing: 0.03em;
}

#post-72 .entry-body > .card-container .card a,
#post-2094 .entry-body > .card-container .card a,
#post-2092 .entry-body .card-container .card a,
#post-3028 .entry-body > .card-container .card a {
  display: block;
  width: 100%;
  overflow: hidden;
  color: var(--color-primary);
  text-decoration: none;
}

#post-72 .entry-body > .card-container .banner-img,
#post-2094 .entry-body > .card-container .banner-img,
#post-2092 .entry-body .card-container .banner-img,
#post-3028 .entry-body > .card-container .banner-img {
  width: 100%;
  aspect-ratio: 3 / 1;
  height: auto;
  display: block;
  object-fit: cover;
  border-radius: 0;
  transform: scale(1.01);
  transition:
    transform 700ms cubic-bezier(.16, .84, .28, 1),
    filter 700ms cubic-bezier(.16, .84, .28, 1);
}

#post-72 .entry-body > .card-container .card:hover .banner-img,
#post-2094 .entry-body > .card-container .card:hover .banner-img,
#post-2092 .entry-body .card-container .card:hover .banner-img,
#post-3028 .entry-body > .card-container .card:hover .banner-img {
  transform: scale(1.04);
  filter: saturate(1.04) contrast(1.03);
}

#post-72 .entry-body > .card-container .card p,
#post-2094 .entry-body > .card-container .card p,
#post-2092 .entry-body .card-container .card p,
#post-3028 .entry-body > .card-container .card p {
  width: 100%;
  margin: 0;
  padding: 16px 18px 20px;
  color: rgba(51, 51, 51, 0.78);
  font-size: 0.9rem;
  line-height: 1.78;
}

/* Tablet */
@media (max-width: 1024px) {
  #post-72 .business-plan.content-section {
    grid-template-columns: 1fr;
  }

  #post-72 .business-plan.content-section > figure {
    grid-column: 1;
    grid-row: auto;
  }

  #post-72 .business-plan.content-section > figure img {
    aspect-ratio: 3 / 1;
    min-height: 0;
  }

  #post-72 .entry-body > .card-container,
  #post-2094 .entry-body > .card-container,
  #post-2092 .entry-body .card-container,
  #post-3028 .entry-body > .card-container {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

/* Mobile */
@media (max-width: 768px) {
  #post-72 .entry-body,
  #post-2094 .entry-body,
  #post-2092 .entry-body,
  #post-3028 .entry-body {
    padding: 34px 16px 56px;
  }

  #post-72 .business-plan.content-section,
  #post-2094 .book-publishing-section:first-of-type,
  #post-2092 .video-business-section,
  #post-3028 .site-construction-business > .business-plan {
    padding: 24px;
    border-radius: 24px;
  }

  #post-72 .content-title,
  #post-2094 .book-publishing-title,
  #post-2092 .video-business-title,
  #post-3028 .site-construction-business h2 {
    font-size: clamp(1.45rem, 6.5vw, 1.95rem);
    line-height: 1.45;
  }

  #post-72 article > .plan-section,
  #post-72 article > .business-direction,
  #post-72 article:has(#Works),
  #post-2094 .book-plan-item,
  #post-2092 .video-plan-item,
  #post-3028 .site-construction-business-item {
    padding: 22px;
    border-radius: 22px;
  }

  #post-72 article > .plan-section h2,
  #post-72 article > .business-direction h2,
  #post-72 article > h3,
  #post-2094 .book-plan-title,
  #post-3028 .site-construction-business h3 {
    font-size: clamp(1.22rem, 5.6vw, 1.58rem);
  }

  #post-72 article > figure img,
  #post-72 section > figure img,
  #post-2094 article > figure img,
  #post-2094 section > figure img,
  #post-2092 article > figure img,
  #post-2092 section > figure img,
  #post-3028 article > figure img,
  #post-3028 section > figure img {
    aspect-ratio: 3 / 1.22;
    border-radius: 18px;
  }

  #post-72 .entry-body > .card-container,
  #post-2094 .entry-body > .card-container,
  #post-2092 .entry-body .card-container,
  #post-3028 .entry-body > .card-container {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  #post-72 .entry-body > .card-container .card,
  #post-2094 .entry-body > .card-container .card,
  #post-2092 .entry-body .card-container .card,
  #post-3028 .entry-body > .card-container .card {
    border-radius: 20px;
  }

  #post-72 .entry-body > .card-container .card h4,
  #post-2094 .entry-body > .card-container .card h4,
  #post-2092 .entry-body .card-container .card h4,
  #post-3028 .entry-body > .card-container .card h4 {
    padding: 16px 16px 10px;
  }

  #post-72 .entry-body > .card-container .card p,
  #post-2094 .entry-body > .card-container .card p,
  #post-2092 .entry-body .card-container .card p,
  #post-3028 .entry-body > .card-container .card p {
    padding: 14px 16px 18px;
  }
}

/* Motion */
@media (prefers-reduced-motion: reduce) {
  #post-72 .intro-button,
  #post-72 .introduction-button,
  #post-2094 .intro-button,
  #post-2094 .introduction-button,
  #post-2092 .intro-button,
  #post-2092 .introduction-button,
  #post-3028 .intro-button,
  #post-3028 .introduction-button,
  #post-72 .entry-body > .card-container .card,
  #post-2094 .entry-body > .card-container .card,
  #post-2092 .entry-body .card-container .card,
  #post-3028 .entry-body > .card-container .card,
  #post-72 .entry-body > .card-container .banner-img,
  #post-2094 .entry-body > .card-container .banner-img,
  #post-2092 .entry-body .card-container .banner-img,
  #post-3028 .entry-body > .card-container .banner-img {
    transition: none !important;
    transform: none !important;
  }
}



/* =========================================================
   Global Page Polish v3
   Contact quality restored + old enhanced-text left bars removed
   ========================================================= */

/* ---------------------------------------------------------
   1. Remove old blue left bars from enhanced text everywhere
   --------------------------------------------------------- */

.entry-body p.enhanced-text,
.entry-body .enhanced-text,
body.page .entry-body p.enhanced-text,
body.page .entry-body .enhanced-text,
body.page-child.parent-pageid-72 .entry-body p.enhanced-text,
body.page-child.parent-pageid-72 .entry-body .enhanced-text {
  position: static !important;
  margin: 0 0 1.55em !important;
  padding: 0 !important;
  border: 0 !important;
  border-left: 0 !important;
  border-inline-start: 0 !important;
  border-inline-end: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: rgba(30, 43, 56, 0.84) !important;
  font-size: 1rem !important;
  line-height: 1.95 !important;
  letter-spacing: 0.012em !important;
  text-align: left !important;
}

.entry-body p.enhanced-text::before,
.entry-body .enhanced-text::before,
.entry-body p.enhanced-text::after,
.entry-body .enhanced-text::after,
body.page .entry-body p.enhanced-text::before,
body.page .entry-body .enhanced-text::before,
body.page .entry-body p.enhanced-text::after,
body.page .entry-body .enhanced-text::after,
body.page-child.parent-pageid-72 .entry-body p.enhanced-text::before,
body.page-child.parent-pageid-72 .entry-body .enhanced-text::before,
body.page-child.parent-pageid-72 .entry-body p.enhanced-text::after,
body.page-child.parent-pageid-72 .entry-body .enhanced-text::after {
  content: none !important;
  display: none !important;
}

/* Details cards: keep body copy plain inside the card */
body.page-child.parent-pageid-72 .entry-body [class*="-item"] p.enhanced-text,
body.page-child.parent-pageid-72 .entry-body [class*="-details"] p.enhanced-text,
body.page-child.parent-pageid-72 .entry-body [class*="-description"] p.enhanced-text {
  margin: 0 0 1.15em !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* Price/note lines: subtle, but not with a left bar */
body.page-child.parent-pageid-72 .entry-body p.enhanced-text:has(strong),
body.page-child.parent-pageid-72 .entry-body [class*="-item"] p.enhanced-text:has(strong) {
  margin-top: 1.25em !important;
  padding: 0.85em 1em !important;
  border: 0 !important;
  border-radius: 12px !important;
  background: rgba(15, 45, 75, 0.035) !important;
  box-shadow: none !important;
}

/* ---------------------------------------------------------
   2. Contact page: restore the clean card-based design
   --------------------------------------------------------- */

/* Keep the beautiful contact page independent from enhanced-text overrides */
#post-76 .entry-body {
  position: relative !important;
  max-width: 1200px !important;
  margin: 0 auto !important;
  padding: 48px 20px 72px !important;
}

#post-76 .recruit-bg {
  position: relative !important;
  margin: 0 0 42px !important;
  padding: 0 !important;
  background: transparent !important;
}

#post-76 .page-title-bg {
  position: relative !important;
  overflow: hidden !important;
  display: grid !important;
  grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr) !important;
  gap: 28px !important;
  align-items: center !important;
  min-height: 300px !important;
  margin: 0 !important;
  padding: 30px !important;
  border-radius: 30px !important;
  text-align: left !important;
  background:
    linear-gradient(
      135deg,
      rgba(255, 255, 255, 0.98) 0%,
      rgba(240, 249, 252, 0.95) 100%
    ) !important;
  border: 1px solid rgba(0, 86, 179, 0.08) !important;
  box-shadow:
    0 14px 36px rgba(15, 45, 75, 0.09),
    0 1px 0 rgba(255, 255, 255, 0.95) inset !important;
}

#post-76 .page-title-bg::before {
  content: "CONTACT" !important;
  position: absolute !important;
  top: 28px !important;
  left: 30px !important;
  display: inline-flex !important;
  align-items: center !important;
  height: 26px !important;
  padding: 0 12px !important;
  border-radius: 999px !important;
  background: rgba(0, 123, 255, 0.08) !important;
  color: var(--color-primary) !important;
  font-size: 0.76rem !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  letter-spacing: 0.12em !important;
}

#post-76 .page-title-bg h1 {
  position: relative !important;
  z-index: 1 !important;
  grid-column: 1 !important;
  margin: 34px 0 12px !important;
  color: var(--color-secondary) !important;
  font-size: clamp(2rem, 3vw, 2.6rem) !important;
  line-height: 1.25 !important;
  letter-spacing: 0.05em !important;
}

#post-76 .page-title-bg > p {
  position: relative !important;
  z-index: 1 !important;
  grid-column: 1 !important;
  margin: 0 !important;
  color: rgba(51, 51, 51, 0.76) !important;
  font-size: 1.04rem !important;
  line-height: 1.8 !important;
}

#post-76 .page-title-bg > p:first-of-type strong {
  color: var(--color-primary) !important;
  font-size: 0.92rem !important;
  letter-spacing: 0.08em !important;
}

#post-76 .page-title-bg > p:has(img) {
  grid-column: 2 !important;
  grid-row: 1 / span 3 !important;
  align-self: stretch !important;
  margin: 0 !important;
}

#post-76 .page-title-bg img {
  width: 100% !important;
  height: 100% !important;
  min-height: 238px !important;
  display: block !important;
  object-fit: cover !important;
  object-position: center 45% !important;
  border-radius: 24px !important;
  transform: scale(1.01) !important;
  box-shadow: 0 10px 28px rgba(15, 45, 75, 0.12) !important;
}

#post-76 .contact-form {
  position: relative !important;
  max-width: 980px !important;
  margin: 0 auto 52px !important;
  padding: 0 !important;
}

#post-76 .contact-form > p {
  max-width: 760px !important;
  margin: 0 auto 8px !important;
  color: rgba(51, 51, 51, 0.78) !important;
  font-size: 1rem !important;
  line-height: 1.85 !important;
  text-align: center !important;
}

#post-76 .contact-form > p:first-child {
  color: var(--color-secondary) !important;
  font-size: 1.08rem !important;
  font-weight: 700 !important;
}

#post-76 .form-card {
  position: relative !important;
  overflow: hidden !important;
  padding: 30px !important;
  border-radius: 28px !important;
  background:
    linear-gradient(
      180deg,
      rgba(255, 255, 255, 0.98) 0%,
      rgba(250, 253, 255, 0.96) 100%
    ) !important;
  border: 1px solid rgba(0, 86, 179, 0.08) !important;
  box-shadow:
    0 12px 34px rgba(15, 45, 75, 0.09),
    0 1px 0 rgba(255, 255, 255, 0.92) inset !important;
}

#post-76 .form-card > div {
  position: relative !important;
  z-index: 1 !important;
  text-align: left !important;
}

#post-76 .form-card input[type="text"],
#post-76 .form-card input[type="email"],
#post-76 .form-card input[type="tel"],
#post-76 .form-card input[type="url"],
#post-76 .form-card textarea,
#post-76 .form-card select {
  width: 100% !important;
  max-width: none !important;
  border: 1px solid rgba(0, 86, 179, 0.14) !important;
  border-radius: 14px !important;
  background: rgba(255, 255, 255, 0.94) !important;
  padding: 0.85rem 1rem !important;
  color: var(--color-text) !important;
  font-size: 1rem !important;
  line-height: 1.6 !important;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.92) inset !important;
}

#post-76 .form-card input:focus,
#post-76 .form-card textarea:focus,
#post-76 .form-card select:focus {
  outline: none !important;
  border-color: rgba(0, 123, 255, 0.45) !important;
  background: #fff !important;
  box-shadow: 0 0 0 4px rgba(0, 123, 255, 0.10) !important;
}

/* Reference, privacy, and lower cards should remain card-based */
#post-76 .contact-reference,
#post-76 .privacy-policy,
#post-76 .entry-body > .card-container {
  max-width: 980px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

#post-76 .privacy-policy {
  padding: 24px 26px !important;
  border-radius: 24px !important;
  background: rgba(255, 255, 255, 0.72) !important;
  border: 1px solid rgba(0, 86, 179, 0.08) !important;
  box-shadow:
    0 8px 24px rgba(15, 45, 75, 0.055),
    0 1px 0 rgba(255, 255, 255, 0.88) inset !important;
}

#post-76 .entry-body > .card-container {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 24px !important;
  padding: 0 !important;
  border-radius: 0 !important;
}

#post-76 .entry-body > .card-container .card {
  position: relative !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 22px !important;
  text-align: left !important;
  background:
    linear-gradient(
      180deg,
      rgba(255, 255, 255, 0.98) 0%,
      rgba(250, 253, 255, 0.96) 100%
    ) !important;
  border: 1px solid rgba(0, 86, 179, 0.08) !important;
  box-shadow:
    0 10px 28px rgba(15, 45, 75, 0.08),
    0 1px 0 rgba(255, 255, 255, 0.9) inset !important;
}

@media (max-width: 1024px) {
  #post-76 .page-title-bg {
    grid-template-columns: 1fr !important;
  }

  #post-76 .page-title-bg > p:has(img) {
    grid-column: 1 !important;
    grid-row: auto !important;
  }

  #post-76 .page-title-bg img {
    aspect-ratio: 3 / 1 !important;
    height: auto !important;
    min-height: 0 !important;
  }

  #post-76 .entry-body > .card-container {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 768px) {
  #post-76 .entry-body {
    padding: 34px 16px 56px !important;
  }

  #post-76 .page-title-bg {
    gap: 20px !important;
    min-height: 0 !important;
    padding: 24px !important;
    border-radius: 24px !important;
  }

  #post-76 .page-title-bg::before {
    top: 22px !important;
    left: 24px !important;
  }

  #post-76 .page-title-bg h1 {
    margin-top: 34px !important;
    font-size: clamp(1.75rem, 8vw, 2.2rem) !important;
  }

  #post-76 .form-card {
    padding: 22px !important;
    border-radius: 22px !important;
  }

  #post-76 .entry-body > .card-container {
    grid-template-columns: 1fr !important;
    gap: 20px !important;
  }
}



/* =========================================================
   Company / Works / Media / Message / News Pages Polish
   トーンは変えず、Contact と同じ淡い青白カード調に統一
   対象:
   - post-69   : 会社情報
   - post-2443 : English company profile
   - post-67   : メッセージ
   - Works / Media pages using article.Message-bg
   - category news archive using .post-list.vk_posts
   ========================================================= */

/* ---------------------------------------------------------
   Shared page shell
   --------------------------------------------------------- */

#post-69 .entry-body,
#post-2443 .entry-body,
#post-67 .entry-body,
.entry-body > article.Message-bg,
body.category-news .main-section {
  position: relative;
  max-width: 1200px;
  margin: 0 auto;
  padding: 48px 20px 72px;
}

#post-69 .entry-body::before,
#post-2443 .entry-body::before,
#post-67 .entry-body::before,
.entry-body > article.Message-bg::before,
body.category-news .main-section::before {
  content: "";
  position: absolute;
  top: 12px;
  right: -130px;
  width: 430px;
  height: 430px;
  pointer-events: none;
  z-index: -1;
  border-radius: 999px;
  background:
    radial-gradient(
      circle,
      rgba(0, 194, 215, 0.13) 0%,
      rgba(0, 123, 255, 0.05) 46%,
      rgba(255, 255, 255, 0) 72%
    );
}

#post-69 .entry-body::after,
#post-2443 .entry-body::after,
#post-67 .entry-body::after,
.entry-body > article.Message-bg::after,
body.category-news .main-section::after {
  content: "";
  position: absolute;
  left: -160px;
  top: 560px;
  width: 380px;
  height: 380px;
  pointer-events: none;
  z-index: -1;
  border-radius: 999px;
  background:
    radial-gradient(
      circle,
      rgba(0, 123, 255, 0.08) 0%,
      rgba(0, 194, 215, 0.035) 48%,
      rgba(255, 255, 255, 0) 74%
    );
}

/* ---------------------------------------------------------
   Shared hero
   --------------------------------------------------------- */

#post-69 .company-info,
#post-2443 .company-info,
#post-67 .Message-bg,
.entry-body > article.Message-bg > header {
  margin: 0 0 42px;
  background: transparent;
}

#post-69 .page-title,
#post-2443 .page-title,
#post-67 .page-title,
.entry-body > article.Message-bg .page-title {
  margin: 0;
}

#post-69 .page-title-bg,
#post-2443 .page-title-bg,
#post-67 .page-title-bg,
.entry-body > article.Message-bg .page-title {
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
  gap: 28px;
  align-items: center;
  min-height: 300px;
  margin: 0;
  padding: 30px;
  border-radius: 30px;
  text-align: left;
  background:
    linear-gradient(
      135deg,
      rgba(255, 255, 255, 0.98) 0%,
      rgba(240, 249, 252, 0.95) 100%
    );
  border: 1px solid rgba(0, 86, 179, 0.08);
  box-shadow:
    0 14px 36px rgba(15, 45, 75, 0.09),
    0 1px 0 rgba(255, 255, 255, 0.95) inset;
}

/* Hero badges */
#post-69 .page-title-bg::before {
  content: "COMPANY";
}

#post-2443 .page-title-bg::before {
  content: "COMPANY";
}

#post-67 .page-title-bg::before {
  content: "MESSAGE";
}

.entry-body > article.Message-bg .page-title::before {
  content: "STELLA MEDIX";
}

#post-69 .page-title-bg::before,
#post-2443 .page-title-bg::before,
#post-67 .page-title-bg::before,
.entry-body > article.Message-bg .page-title::before {
  position: absolute;
  top: 28px;
  left: 30px;
  display: inline-flex;
  align-items: center;
  height: 26px;
  padding: 0 12px;
  border-radius: 999px;
  background: rgba(0, 123, 255, 0.08);
  color: var(--color-primary);
  font-size: 0.76rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.12em;
}

#post-69 .page-title-bg::after,
#post-2443 .page-title-bg::after,
#post-67 .page-title-bg::after,
.entry-body > article.Message-bg .page-title::after {
  content: "";
  position: absolute;
  top: -120px;
  right: -100px;
  width: 300px;
  height: 300px;
  pointer-events: none;
  border-radius: 999px;
  background:
    radial-gradient(
      circle,
      rgba(0, 194, 215, 0.18) 0%,
      rgba(0, 123, 255, 0.06) 44%,
      rgba(255, 255, 255, 0) 74%
    );
}

#post-69 .page-title-bg h1,
#post-2443 .page-title-bg h1,
#post-67 .page-title-bg h1,
.entry-body > article.Message-bg .page-title h1 {
  position: relative;
  z-index: 1;
  grid-column: 1;
  margin: 34px 0 12px;
  color: var(--color-secondary);
  font-size: clamp(1.78rem, 3vw, 2.42rem);
  line-height: 1.35;
  letter-spacing: 0.045em;
}

#post-69 .page-title-bg h1 strong,
#post-2443 .page-title-bg h1 strong,
#post-67 .page-title-bg h1 strong,
.entry-body > article.Message-bg .page-title h1 strong {
  font-weight: 800;
}

#post-69 .page-title-bg > p,
#post-2443 .page-title-bg > p,
#post-67 .page-title-bg > p,
.entry-body > article.Message-bg .page-title > p {
  position: relative;
  z-index: 1;
  grid-column: 1;
  margin: 0;
  color: rgba(51, 51, 51, 0.76);
  font-size: 1.02rem;
  line-height: 1.8;
}

/* Image directly after hero */
#post-69 .entry-body > figure,
#post-2443 .entry-body > section:first-of-type figure,
#post-67 .entry-body > figure,
.entry-body > article.Message-bg header figure {
  grid-column: 2;
  grid-row: 1 / span 3;
  align-self: stretch;
  margin: 0;
}

#post-69 .entry-body > figure img,
#post-2443 .entry-body > section:first-of-type figure img,
#post-67 .entry-body > figure img,
.entry-body > article.Message-bg header figure img,
.entry-body > article.Message-bg header figure section img {
  width: 100%;
  aspect-ratio: 3 / 1;
  height: auto;
  display: block;
  object-fit: cover;
  object-position: center 45%;
  border-radius: 24px;
  transform: scale(1.005);
  box-shadow: 0 10px 28px rgba(15, 45, 75, 0.12);
}

.entry-body > article.Message-bg header figure figcaption {
  margin-top: 8px;
  color: rgba(38, 50, 63, 0.56);
  font-size: 0.82rem;
  line-height: 1.6;
  text-align: center;
}

/* If image is outside the hero, keep it as a separated visual card */
#post-69 .entry-body > figure,
#post-2443 .entry-body > section:first-of-type,
#post-67 .entry-body > figure {
  max-width: 980px;
  margin: 0 auto 42px;
}

/* ---------------------------------------------------------
   Company overview / tables
   --------------------------------------------------------- */

#post-69 .company-overview,
#post-2443 article,
#post-69 .access-info,
#post-2443 section[aria-labelledby="access-info"],
#post-69 .company-president,
#post-2443 .company-president,
#post-69 .page-content,
#post-2443 .page-content,
#post-67 .page-content,
.entry-body > article.Message-bg > section,
.entry-body > article.Message-bg > p,
.entry-body > article.Message-bg > h3 {
  max-width: 980px;
  margin-left: auto;
  margin-right: auto;
}

#post-69 .company-overview,
#post-2443 article,
#post-69 .access-info,
#post-2443 section[aria-labelledby="access-info"],
#post-69 .company-president,
#post-2443 .company-president,
#post-67 .page-content > section,
#post-67 .additional-note,
.entry-body > article.Message-bg > section {
  position: relative;
  overflow: hidden;
  margin-bottom: 40px;
  padding: 26px;
  border-radius: 26px;
  border: 1px solid rgba(0, 86, 179, 0.08);
  background:
    linear-gradient(
      180deg,
      rgba(255, 255, 255, 0.98) 0%,
      rgba(250, 253, 255, 0.96) 100%
    );
  box-shadow:
    0 10px 28px rgba(15, 45, 75, 0.08),
    0 1px 0 rgba(255, 255, 255, 0.9) inset;
}

#post-69 h2,
#post-2443 h2,
#post-67 .page-content h2,
.entry-body > article.Message-bg h2 {
  position: relative;
  display: inline-flex;
  flex-direction: column;
  gap: 8px;
  margin: 0 0 20px;
  padding: 16px 0 0;
  color: var(--color-secondary);
  font-size: clamp(1.35rem, 2.2vw, 1.78rem);
  line-height: 1.45;
  letter-spacing: 0.04em;
  border: none;
}

#post-69 h2::before,
#post-2443 h2::before,
#post-67 .page-content h2::before,
.entry-body > article.Message-bg h2::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 72px;
  height: 3px;
  border-radius: 999px;
  background: linear-gradient(90deg, #00c2d7, var(--color-primary));
}

#post-69 h3,
#post-2443 h3,
#post-67 .page-content h3,
.entry-body > article.Message-bg h3 {
  position: relative;
  margin: 34px 0 18px;
  padding-top: 14px;
  color: var(--color-secondary);
  font-size: clamp(1.16rem, 1.9vw, 1.48rem);
  line-height: 1.5;
  letter-spacing: 0.035em;
}

#post-69 h3::before,
#post-2443 h3::before,
#post-67 .page-content h3::before,
.entry-body > article.Message-bg h3::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 56px;
  height: 2px;
  border-radius: 999px;
  background: rgba(0, 123, 255, 0.45);
}

#post-69 p,
#post-2443 p,
#post-67 .page-content p,
.entry-body > article.Message-bg p {
  color: rgba(38, 50, 63, 0.84);
  font-size: 1rem;
  line-height: 1.92;
  letter-spacing: 0.012em;
}

/* Tables */
#post-69 table,
#post-2443 table {
  width: 100%;
  margin: 22px 0 26px;
  border-collapse: separate;
  border-spacing: 0;
  overflow: hidden;
  border: 1px solid rgba(0, 86, 179, 0.10);
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.86);
  box-shadow: 0 10px 28px rgba(15, 45, 75, 0.07);
}

#post-69 th,
#post-69 td,
#post-2443 th,
#post-2443 td {
  padding: 12px 14px;
  border: none;
  border-bottom: 1px solid rgba(0, 86, 179, 0.08);
  color: rgba(51, 51, 51, 0.82);
  font-size: 0.93rem;
  line-height: 1.7;
  vertical-align: top;
}

#post-69 th,
#post-2443 th {
  width: 28%;
  background: rgba(0, 123, 255, 0.06);
  color: var(--color-secondary);
  font-weight: 800;
}

#post-69 tr:last-child th,
#post-69 tr:last-child td,
#post-2443 tr:last-child th,
#post-2443 tr:last-child td {
  border-bottom: none;
}

/* Map */
#post-69 .map-container,
#post-2443 .map-container {
  max-width: none !important;
  margin: 0 !important;
  overflow: hidden;
  border-radius: 22px;
  box-shadow: 0 10px 28px rgba(15, 45, 75, 0.10);
}

#post-69 .map-container iframe,
#post-2443 .map-container iframe {
  display: block;
  width: 100%;
  border: 0;
}

/* President / advisors */
#post-69 .president-info,
#post-2443 .president-info,
#post-69 .c_doc_wap,
#post-2443 .c_doc_wap {
  display: grid;
  grid-template-columns: minmax(120px, 180px) minmax(0, 1fr);
  gap: 22px;
  align-items: start;
}

#post-69 .president-info figure,
#post-2443 .president-info figure,
#post-69 .c_doc_wap figure,
#post-2443 .c_doc_wap figure {
  margin: 0;
}

#post-69 .president-info img,
#post-2443 .president-info img,
#post-69 .c_doc_wap img,
#post-2443 .c_doc_wap img {
  width: 100%;
  max-width: 180px;
  height: auto;
  border-radius: 18px;
  box-shadow: 0 8px 22px rgba(15, 45, 75, 0.10);
}

/* Inline old border boxes are softened */
#post-69 [style*="border: 2px solid"],
#post-2443 [style*="border: 2px solid"] {
  border: 1px solid rgba(0, 86, 179, 0.08) !important;
  border-radius: 22px !important;
  background:
    linear-gradient(
      180deg,
      rgba(255, 255, 255, 0.98) 0%,
      rgba(250, 253, 255, 0.96) 100%
    ) !important;
  box-shadow:
    0 10px 28px rgba(15, 45, 75, 0.07),
    0 1px 0 rgba(255, 255, 255, 0.9) inset !important;
}

/* ---------------------------------------------------------
   Works / Media pages
   --------------------------------------------------------- */

.entry-body > article.Message-bg ul,
#post-67 .page-content ul {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px 18px;
  margin: 18px 0 26px;
  padding: 0;
  list-style: none;
}

.entry-body > article.Message-bg li,
#post-67 .page-content li {
  position: relative;
  margin: 0;
  padding: 12px 14px 12px 34px;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.68);
  border: 1px solid rgba(0, 86, 179, 0.06);
  color: rgba(38, 50, 63, 0.84);
  line-height: 1.7;
}

.entry-body > article.Message-bg li::before,
#post-67 .page-content li::before {
  content: "";
  position: absolute;
  left: 16px;
  top: 1.42em;
  width: 6px;
  height: 6px;
  border-radius: 999px;
  background: rgba(0, 123, 255, 0.45);
}

/* Media partners as compact link chips */
.entry-body > article.Message-bg .page-content > section:first-of-type ul,
.entry-body > article.Message-bg .company-media ul {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.entry-body > article.Message-bg .page-content > section:first-of-type li a {
  color: var(--color-primary);
  text-decoration: none;
}

/* Our media visual cards */
.entry-body > article.Message-bg .company-media li {
  padding: 0;
  overflow: hidden;
}

.entry-body > article.Message-bg .company-media figure {
  margin: 0;
}

.entry-body > article.Message-bg .company-media img {
  width: 100%;
  aspect-ratio: 16 / 9;
  display: block;
  object-fit: cover;
  border-radius: 14px 14px 0 0;
}

.entry-body > article.Message-bg .company-media figcaption {
  padding: 12px 14px;
  color: var(--color-secondary);
  font-weight: 700;
  text-align: left;
}

/* Message page */
#post-67 .page-content > h2.M_title1 {
  max-width: 980px;
  margin: 0 auto 28px;
}

#post-67 .page-content > h2.M_title1 small {
  display: block;
  margin-top: 10px;
  color: var(--color-primary);
  font-size: 0.78rem;
  letter-spacing: 0.08em;
}

#post-67 .additional-note {
  margin-top: 42px;
}

/* ---------------------------------------------------------
   News archive
   --------------------------------------------------------- */

body.category-news .post-list.vk_posts {
  max-width: 980px;
  margin: 0 auto;
}

body.category-news .vk_post {
  overflow: hidden;
  margin-bottom: 22px;
  padding: 18px;
  border-radius: 24px;
  background:
    linear-gradient(
      180deg,
      rgba(255, 255, 255, 0.98) 0%,
      rgba(250, 253, 255, 0.96) 100%
    );
  border: 1px solid rgba(0, 86, 179, 0.08);
  box-shadow:
    0 10px 28px rgba(15, 45, 75, 0.08),
    0 1px 0 rgba(255, 255, 255, 0.9) inset;
}

body.category-news .vk_post_imgOuter {
  border-radius: 18px;
  overflow: hidden;
}

body.category-news .vk_post_title {
  margin-top: 0;
  font-size: clamp(1.08rem, 1.8vw, 1.32rem);
  line-height: 1.55;
}

body.category-news .vk_post_title a {
  color: var(--color-secondary);
  text-decoration: none;
}

body.category-news .vk_post_title a:hover {
  color: var(--color-primary);
}

body.category-news .vk_post_date {
  color: rgba(38, 50, 63, 0.55);
  font-size: 0.86rem;
}

body.category-news .vk_post_excerpt {
  color: rgba(38, 50, 63, 0.76);
  line-height: 1.75;
}

body.category-news .vk_post_btn {
  border-radius: 999px;
  border: 0;
  background: linear-gradient(90deg, #00c2d7, var(--color-primary));
  box-shadow: 0 8px 20px rgba(0, 86, 179, 0.16);
}

/* Bottom cards shared for company/message/media/works */
#post-69 .entry-body > .card-container,
#post-2443 .entry-body > .card-container,
#post-67 .entry-body > .card-container,
.entry-body > article.Message-bg + .card-container {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  max-width: 980px;
  margin: 56px auto 0;
  padding: 0;
  border-radius: 0;
}

#post-69 .entry-body > .card-container .card,
#post-2443 .entry-body > .card-container .card,
#post-67 .entry-body > .card-container .card,
.entry-body > article.Message-bg + .card-container .card {
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  text-align: left;
  min-height: auto;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
  border-radius: 22px;
  border: 1px solid rgba(0, 86, 179, 0.08);
  background:
    linear-gradient(
      180deg,
      rgba(255, 255, 255, 0.98) 0%,
      rgba(250, 253, 255, 0.96) 100%
    );
  box-shadow:
    0 10px 28px rgba(15, 45, 75, 0.08),
    0 1px 0 rgba(255, 255, 255, 0.9) inset;
}

#post-69 .entry-body > .card-container .card h4,
#post-2443 .entry-body > .card-container .card h4,
#post-67 .entry-body > .card-container .card h4,
.entry-body > article.Message-bg + .card-container .card h4 {
  width: 100%;
  margin: 0;
  padding: 18px 18px 12px;
  color: var(--color-primary);
  font-size: 1.06rem;
  line-height: 1.5;
  letter-spacing: 0.03em;
}

#post-69 .entry-body > .card-container .banner-img,
#post-2443 .entry-body > .card-container .banner-img,
#post-67 .entry-body > .card-container .banner-img,
.entry-body > article.Message-bg + .card-container .banner-img {
  width: 100%;
  aspect-ratio: 3 / 1;
  display: block;
  object-fit: cover;
  border-radius: 0;
}

#post-69 .entry-body > .card-container .card p,
#post-2443 .entry-body > .card-container .card p,
#post-67 .entry-body > .card-container .card p,
.entry-body > article.Message-bg + .card-container .card p {
  width: 100%;
  margin: 0;
  padding: 16px 18px 20px;
  color: rgba(51, 51, 51, 0.78);
  font-size: 0.9rem;
  line-height: 1.78;
}

/* ---------------------------------------------------------
   Responsive
   --------------------------------------------------------- */

@media (max-width: 1024px) {
  #post-69 .page-title-bg,
  #post-2443 .page-title-bg,
  #post-67 .page-title-bg,
  .entry-body > article.Message-bg .page-title {
    grid-template-columns: 1fr;
  }

  .entry-body > article.Message-bg ul,
  #post-67 .page-content ul,
  .entry-body > article.Message-bg .page-content > section:first-of-type ul,
  .entry-body > article.Message-bg .company-media ul {
    grid-template-columns: 1fr 1fr;
  }

  #post-69 .entry-body > .card-container,
  #post-2443 .entry-body > .card-container,
  #post-67 .entry-body > .card-container,
  .entry-body > article.Message-bg + .card-container {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 768px) {
  #post-69 .entry-body,
  #post-2443 .entry-body,
  #post-67 .entry-body,
  .entry-body > article.Message-bg,
  body.category-news .main-section {
    padding: 34px 16px 56px;
  }

  #post-69 .page-title-bg,
  #post-2443 .page-title-bg,
  #post-67 .page-title-bg,
  .entry-body > article.Message-bg .page-title {
    gap: 20px;
    min-height: 0;
    padding: 24px;
    border-radius: 24px;
  }

  #post-69 .page-title-bg::before,
  #post-2443 .page-title-bg::before,
  #post-67 .page-title-bg::before,
  .entry-body > article.Message-bg .page-title::before {
    top: 22px;
    left: 24px;
  }

  #post-69 .page-title-bg h1,
  #post-2443 .page-title-bg h1,
  #post-67 .page-title-bg h1,
  .entry-body > article.Message-bg .page-title h1 {
    margin-top: 34px;
    font-size: clamp(1.55rem, 7vw, 2.05rem);
  }

  #post-69 .company-overview,
  #post-2443 article,
  #post-69 .access-info,
  #post-2443 section[aria-labelledby="access-info"],
  #post-69 .company-president,
  #post-2443 .company-president,
  #post-67 .page-content > section,
  #post-67 .additional-note,
  .entry-body > article.Message-bg > section {
    padding: 22px;
    border-radius: 22px;
  }

  #post-69 .president-info,
  #post-2443 .president-info,
  #post-69 .c_doc_wap,
  #post-2443 .c_doc_wap {
    grid-template-columns: 1fr;
  }

  #post-69 table,
  #post-2443 table {
    display: block;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  .entry-body > article.Message-bg ul,
  #post-67 .page-content ul,
  .entry-body > article.Message-bg .page-content > section:first-of-type ul,
  .entry-body > article.Message-bg .company-media ul {
    grid-template-columns: 1fr;
  }

  #post-69 .entry-body > .card-container,
  #post-2443 .entry-body > .card-container,
  #post-67 .entry-body > .card-container,
  .entry-body > article.Message-bg + .card-container {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  body.category-news .vk_post {
    padding: 16px;
    border-radius: 20px;
  }
}
