@charset "UTF-8";

/*
 * Uchiplant is the structural and visual baseline.
 * Only the brand variables and the site-specific masthead image differ.
 */

:root {
  --color_main: var(--codex-brand-primary);
  --color_header_text: var(--codex-brand-primary);
  --color_footer_bg: var(--codex-brand-primary);
  --color_gnav_bg: var(--codex-brand-primary);
  --color_htag: var(--codex-brand-primary);
  --color_bg: var(--codex-brand-soft);
}

.c-postThumb__cat {
  background: var(--codex-brand-primary);
  color: #fff;
}

.post_content h2:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title)) {
  border-radius: 0;
  background: var(--codex-brand-primary);
  color: #fff;
}

.p-profileBox__btnLink {
  background: var(--codex-brand-primary) !important;
}

.l-header__gnav,
.l-header__spNav {
  background: var(--codex-brand-primary);
  color: #fff;
}

.c-widget__title.-side {
  background: var(--codex-brand-primary) !important;
  color: #fff;
}

.p-articleFoot .c-categoryList,
.p-articleFoot .c-tagList,
.p-articleMetas .c-categoryList,
.p-articleMetas .c-tagList,
.p-entry__foot .c-categoryList,
.p-entry__foot .c-tagList,
.c-tagList {
  display: none !important;
}

@media (min-width: 960px) {
  .l-header {
    min-height: 176px;
    background:
      linear-gradient(
        120deg,
        color-mix(in srgb, var(--codex-brand-ink) 72%, transparent),
        color-mix(in srgb, var(--codex-brand-primary) 42%, transparent)
      ),
      var(--codex-hero-image) center 54% / cover no-repeat !important;
  }

  .l-header__inner {
    min-height: 176px;
  }

  .l-header__logo,
  .c-headLogo {
    line-height: 1.18 !important;
    text-shadow: 0 3px 14px rgba(0, 0, 0, .32);
  }

  .l-header__logo a,
  .c-headLogo a,
  .c-headLogo__link {
    color: #fff !important;
    font-size: 56px !important;
    font-weight: 800 !important;
    letter-spacing: 0 !important;
  }

  .l-header__gnav .c-gnav,
  .c-gnav {
    flex-wrap: nowrap !important;
    justify-content: center !important;
  }

  .l-header__gnav .c-gnav > .menu-item > a,
  .l-header__gnav .c-gnav > li > a,
  .c-gnav > li > a {
    padding-right: 12px !important;
    padding-left: 12px !important;
    white-space: nowrap !important;
    font-size: 14px !important;
    letter-spacing: 0 !important;
  }

  .l-fixHeader .c-gnav > li > a,
  .-fix .c-gnav > li > a,
  .l-header.-fixed .c-gnav > li > a {
    padding-right: 14px !important;
    padding-left: 14px !important;
    white-space: nowrap !important;
    font-size: 14px !important;
    letter-spacing: 0 !important;
  }

  .c-catchphrase,
  .l-header__catchphrase,
  .c-headLogo + .c-catchphrase {
    font-size: 14px !important;
    letter-spacing: 0 !important;
  }

  .l-header__spNav {
    display: none !important;
  }
}

@media (max-width: 959px) {
  .l-header {
    min-height: 118px;
    background:
      linear-gradient(
        120deg,
        color-mix(in srgb, var(--codex-brand-ink) 72%, transparent),
        color-mix(in srgb, var(--codex-brand-primary) 42%, transparent)
      ),
      var(--codex-hero-image) center 54% / cover no-repeat !important;
  }

  .l-header__inner {
    min-height: 118px;
  }

  .l-header__logo a,
  .c-headLogo a,
  .c-headLogo__link {
    color: #fff !important;
    font-size: 28px !important;
    font-weight: 800 !important;
    letter-spacing: 0 !important;
    text-shadow: 0 3px 14px rgba(0, 0, 0, .32);
  }

  .l-header__spNav,
  .p-spHeadMenu {
    display: none !important;
    height: 0 !important;
  }
}

.codex-sidebar-profile,
.uchip-sidebar-profile {
  text-align: center;
}

.codex-sidebar-profile img,
.uchip-sidebar-profile img {
  display: block;
  width: 112px;
  height: 112px;
  margin: 0 auto 12px;
  border: 3px solid color-mix(in srgb, var(--codex-brand-primary) 20%, #fff);
  border-radius: 50%;
  background: color-mix(in srgb, var(--codex-brand-soft) 55%, #fff);
  object-fit: cover;
}

.codex-sidebar-profile-name,
.uchip-sidebar-profile-name {
  margin: 0 0 2px !important;
  color: var(--codex-brand-ink);
  font-size: 18px;
  font-weight: 700;
}

.codex-sidebar-profile-role,
.uchip-sidebar-profile-role {
  margin: 0 0 12px !important;
  color: color-mix(in srgb, var(--codex-brand-ink) 68%, #fff);
  font-size: 13px;
}

.codex-sidebar-profile p,
.uchip-sidebar-profile p {
  text-align: left;
  line-height: 1.8;
}

.codex-sidebar-profile-links,
.uchip-sidebar-profile-links {
  display: grid;
  gap: 8px;
  margin-top: 12px;
}

.codex-sidebar-profile-links a,
.uchip-sidebar-profile-links a {
  display: block;
  padding: 9px 10px;
  border: 1px solid color-mix(in srgb, var(--codex-brand-primary) 20%, #fff);
  border-radius: 4px;
  color: var(--codex-brand-primary) !important;
  font-weight: 700;
  text-decoration: none !important;
}

.post_content > p {
  line-height: 1.9;
}

.post_content > ul,
.post_content > ol {
  line-height: 1.85;
}

.codex-profile-page .post_content > figure.wp-block-image:first-child {
  margin: 0 auto 24px;
  text-align: center;
}

.codex-profile-page .post_content > figure.wp-block-image:first-child img {
  display: block;
  width: min(180px, 48vw);
  height: auto;
  margin: 0 auto;
  border: 4px solid color-mix(in srgb, var(--codex-brand-primary) 14%, #fff);
  border-radius: 50%;
  box-shadow: 0 8px 24px color-mix(in srgb, var(--codex-brand-ink) 12%, transparent);
}

.wpcf7 form p {
  margin-bottom: 18px;
}

.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 textarea {
  width: 100%;
}
