/* 開発サイトの実績詳細に共通適用します。本文とURLは保持します。 */
body.um-case-detail.page-template-template-wide.parent-pageid-4449 {
  --um-text: #292740;
  --um-text-secondary: #494759;
  --um-text-tertiary: #635f74;
  --um-bg: #fff;
  --um-bg-alt: #f5f5f5;
  --um-bg-dark: #37357a;
  background: #f5f5f5 !important;
  color: #292740;
  font-family: "Zen Maru Gothic UMK", "Noto Sans JP", sans-serif;
}
body.um-case-detail #olHeader,
body.um-case-detail #umMobileMenu { font-family: "Zen Maru Gothic UMK", "Noto Sans JP", sans-serif; }
@media (min-width: 1024px) {
  body.um-case-detail #olHeader .custom-global-nav .custom-global-nav-list {
    background: rgba(255,255,255,.88) !important;
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
    border-radius: 40px !important;
  }
}
@media (max-width: 1023px) {
  body.um-case-detail #umMobileMenu {
    top: 80px;
    height: calc(100vh - 80px);
    height: calc(100dvh - 80px);
    max-height: calc(100dvh - 80px);
  }
}

/* 既存の本文の構造を保ち、左説明・右概要の冒頭と幅1200pxの本文へ配置します。 */
body.um-case-detail.page-template-template-wide.parent-pageid-4449 main.ol-single__template {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 40px 0 0;
}
body.um-case-detail.page-template-template-wide.parent-pageid-4449 .ol-article__body {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, min(640px, calc((100% - 128px) * 5 / 9))) 48px minmax(0, min(512px, calc((100% - 128px) * 4 / 9))) minmax(0, 1fr);
  align-items: start;
  position: relative;
  isolation: isolate;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 72px 0 0 !important;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  background: #f5f5f5;
  color: #292740;
  font-family: "Zen Maru Gothic UMK", "Noto Sans JP", sans-serif;
  overflow-wrap: break-word;
}
body.um-case-detail.page-template-template-wide.parent-pageid-4449 .ol-article__body::before {
  content: "";
  position: absolute;
  inset: -72px 0 0;
  grid-column: 1 / -1;
  grid-row: 1 / 3;
  z-index: -1;
  background: #f5f5f5;
  border-bottom: 1px solid #e2dfee;
  pointer-events: none;
}
body.um-case-detail.page-template-template-wide.parent-pageid-4449 .ol-article__body *,
body.um-case-detail.page-template-template-wide.parent-pageid-4449 .ol-article__body *::before,
body.um-case-detail.page-template-template-wide.parent-pageid-4449 .ol-article__body *::after { box-sizing: border-box; }
body.um-case-detail.page-template-template-wide.parent-pageid-4449 .ol-article__inner,
body.um-case-detail.page-template-template-wide.parent-pageid-4449 .ol-article__content,
body.um-case-detail.page-template-template-wide.parent-pageid-4449 .um-case-wrapper,
body.um-case-detail.page-template-template-wide.parent-pageid-4449 .um-case-wrapper > .um-case-section:first-of-type,
body.um-case-detail.page-template-template-wide.parent-pageid-4449 .um-case-wrapper > .um-case-section:first-of-type > .um-case-section-inner {
  display: contents;
}
body.um-case-detail.page-template-template-wide.parent-pageid-4449 #oltanaPostTitle {
  grid-column: 2;
  grid-row: 1;
  min-width: 0;
  margin: 0 0 24px;
  padding: 0;
  font-family: inherit;
  font-size: clamp(30px, 3vw, 44px);
  font-weight: 700;
  line-height: 1.65;
  letter-spacing: 0;
  color: #292740;
  text-align: left;
  text-wrap: balance;
  word-break: keep-all;
  overflow-wrap: anywhere;
}
body.um-case-detail.page-template-template-wide.parent-pageid-4449 .um-v2-case-intro {
  grid-column: 2;
  grid-row: 2;
  min-width: 0;
  margin: 0;
  padding: 0 0 76px;
  font-size: 17px;
  line-height: 1.95;
  color: #494759;
  letter-spacing: 0;
}
body.um-case-detail.page-template-template-wide.parent-pageid-4449 .um-case-overview {
  grid-column: 4;
  grid-row: 1 / 3;
  align-self: center;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin: 0 0 76px !important;
  padding: 24px;
  border: 1px solid #dfdced;
  border-top: 4px solid #37357a;
  border-radius: 20px;
  background: #fff;
}
body.um-case-detail.page-template-template-wide.parent-pageid-4449 .um-case-overview-item {
  display: flex;
  align-items: center;
  min-width: 0;
  min-height: 100px;
  padding: 18px;
  border: 1px solid #e2dfee;
  border-radius: 10px;
  background: #f5f5f5;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.85;
  color: #37357a;
}
body.um-case-detail.page-template-template-wide.parent-pageid-4449 #case-detail-title {
  grid-column: 2 / 5;
  grid-row: 3;
  padding-top: 76px;
}
body.um-case-detail.page-template-template-wide.parent-pageid-4449 .um-case-caution[data-um-case-scope] {
  grid-column: 2 / 5;
  grid-row: 4;
  margin: 0 0 24px !important;
}
body.um-case-detail.page-template-template-wide.parent-pageid-4449 .um-case-view-grid {
  grid-column: 2 / 5;
  grid-row: 5;
  grid-template-columns: minmax(0, 1fr);
  margin: 0 0 76px;
}
body.um-case-detail.page-template-template-wide.parent-pageid-4449 .um-case-section:not(:first-of-type),
body.um-case-detail.page-template-template-wide.parent-pageid-4449 .um-tr-cta {
  grid-column: 1 / -1;
  width: 100%;
  margin: 0;
  padding: 76px 0;
}
body.um-case-detail.page-template-template-wide.parent-pageid-4449 .um-case-section-inner,
body.um-case-detail.page-template-template-wide.parent-pageid-4449 .um-tr-cta-inner {
  width: min(1200px, calc(100% - 80px));
  max-width: none;
  margin-inline: auto;
  padding: 0;
}
body.um-case-detail.page-template-template-wide.parent-pageid-4449 .um-case-section:has(#case-source-note-title) { background: #f5f5f5; }
body.um-case-detail.page-template-template-wide.parent-pageid-4449 .um-case-heading,
body.um-case-detail.page-template-template-wide.parent-pageid-4449 .um-tr-cta-title {
  margin: 0 0 24px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: none;
  font-family: inherit;
  font-size: clamp(24px, 2.1vw, 31px);
  font-weight: 700;
  line-height: 1.65;
  letter-spacing: 0;
  color: #292740;
  text-align: left;
  text-wrap: balance;
}
body.um-case-detail.page-template-template-wide.parent-pageid-4449 .um-case-caution {
  padding: 24px 28px;
  border-left: 3px solid #aaa3cd;
  border-radius: 0 10px 10px 0;
  background: #f5f5f5;
  font-size: 16px;
  line-height: 1.95;
  color: #494759;
}
body.um-case-detail.page-template-template-wide.parent-pageid-4449 .um-case-section:has(#case-source-note-title) .um-case-caution { background: #fff; }
body.um-case-detail.page-template-template-wide.parent-pageid-4449 .um-case-view-card {
  min-width: 0;
  padding: 32px;
  border: 1px solid #dfdced;
  border-top: 3px solid #37357a;
  border-radius: 10px;
  box-shadow: none;
  background: #fff;
}
body.um-case-detail.page-template-template-wide.parent-pageid-4449 .um-case-view-card--single .um-case-view-kicker {
  margin: 0 0 24px;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: .06em;
  color: #37357a;
}
body.um-case-detail.page-template-template-wide.parent-pageid-4449 .um-case-dl {
  display: grid;
  grid-template-columns: 144px minmax(0, 1fr);
  gap: 24px 32px;
  margin: 0;
}
body.um-case-detail.page-template-template-wide.parent-pageid-4449 .um-case-dl dt {
  margin: 0;
  padding-top: 3px;
  color: #37357a;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: 0;
}
body.um-case-detail.page-template-template-wide.parent-pageid-4449 .um-case-dl dd {
  margin: 0;
  color: #494759;
  font-size: 16px;
  line-height: 1.95;
}
body.um-case-detail.page-template-template-wide.parent-pageid-4449 .um-case-tag-label { color: #635f74; font-size: 13px; }
body.um-case-detail.page-template-template-wide.parent-pageid-4449 .um-case-tag {
  color: #37357a;
  background: #f5f5f5;
  border: 1px solid #ded9ee;
  border-radius: 5px;
  font-size: 13px;
}
body.um-case-detail.page-template-template-wide.parent-pageid-4449 .um-case-related-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}
body.um-case-detail.page-template-template-wide.parent-pageid-4449 .ol-article__content .um-case-related-card {
  min-width: 0;
  min-height: 0;
  padding: 26px;
  border: 1px solid #dfdced;
  border-top: 3px solid #37357a;
  border-radius: 10px;
  box-shadow: none;
  background: #fff;
  color: #292740;
  text-decoration: none;
}
body.um-case-detail.page-template-template-wide.parent-pageid-4449 .um-case-related-shared-label { color: #635f74; font-size: 12px; }
body.um-case-detail.page-template-template-wide.parent-pageid-4449 .um-case-related-title { color: #37357a; font-size: 19px; line-height: 1.75; }
body.um-case-detail.page-template-template-wide.parent-pageid-4449 .um-case-related-excerpt { color: #494759; font-size: 15px; line-height: 1.95; }
body.um-case-detail.page-template-template-wide.parent-pageid-4449 .um-case-related-more { color: #37357a; font-size: 14px; }
body.um-case-detail.page-template-template-wide.parent-pageid-4449 .um-case-backlinks { margin: 0; }
body.um-case-detail.page-template-template-wide.parent-pageid-4449 .ol-article__content .um-case-backlink,
body.um-case-detail.page-template-template-wide.parent-pageid-4449 .ol-article__content .um-tr-btn-pill {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  max-width: 100%;
  padding: 16px 24px;
  border: 1px solid #37357a;
  border-radius: 999px;
  background: #37357a;
  color: #fff;
  font-family: inherit;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.7;
  text-align: center;
  text-decoration: none;
}
body.um-case-detail.page-template-template-wide.parent-pageid-4449 .um-tr-cta {
  padding: 65px 0;
  background: #37357a;
  color: #fff;
  text-align: left;
}
body.um-case-detail.page-template-template-wide.parent-pageid-4449 .um-tr-cta-title { color: #fff; }
body.um-case-detail.page-template-template-wide.parent-pageid-4449 .um-tr-cta-desc { max-width: 780px; margin: 0 0 28px; color: #eeecf7; font-size: 16px; line-height: 1.95; }
body.um-case-detail.page-template-template-wide.parent-pageid-4449 .um-tr-cta-buttons { justify-content: flex-start; }
body.um-case-detail.page-template-template-wide.parent-pageid-4449 .ol-article__content .um-tr-btn-pill { border-color: #fff; background: #fff; color: #37357a; }
body.um-case-detail.page-template-template-wide.parent-pageid-4449 .ol-article__sns-share { grid-column: 2 / 5; margin: 0; padding: 32px 0; }
body.um-case-detail.page-template-template-wide.parent-pageid-4449 .ol-article__body a:focus-visible { outline: 3px solid #7772b1; outline-offset: 5px; }
body.um-case-detail.page-template-template-wide.parent-pageid-4449 .ol-article__content .um-case-related-card:hover { border-color: #aaa3cd; background: #f5f5f5; }
body.um-case-detail.page-template-template-wide.parent-pageid-4449 .ol-article__content .um-case-backlink:hover { background: #29275f; }
body.um-case-detail.page-template-template-wide.parent-pageid-4449 .ol-article__content .um-tr-btn-pill:hover { background: #f5f5f5; }

@media (max-width: 1000px) {
  body.um-case-detail.page-template-template-wide.parent-pageid-4449 .ol-article__body { grid-template-columns: 40px minmax(0, 1fr) 40px; }
  body.um-case-detail.page-template-template-wide.parent-pageid-4449 .ol-article__body::before { grid-row: 1 / 4; }
  body.um-case-detail.page-template-template-wide.parent-pageid-4449 .um-v2-case-intro { padding-bottom: 0; }
  body.um-case-detail.page-template-template-wide.parent-pageid-4449 .um-case-overview { grid-column: 2; grid-row: 3; max-width: 650px; margin: 32px 0 76px !important; }
  body.um-case-detail.page-template-template-wide.parent-pageid-4449 #case-detail-title { grid-column: 2; grid-row: 4; }
  body.um-case-detail.page-template-template-wide.parent-pageid-4449 .um-case-caution[data-um-case-scope] { grid-column: 2; grid-row: 5; }
  body.um-case-detail.page-template-template-wide.parent-pageid-4449 .um-case-view-grid { grid-column: 2; grid-row: 6; }
  body.um-case-detail.page-template-template-wide.parent-pageid-4449 .ol-article__sns-share { grid-column: 2; }
  body.um-case-detail.page-template-template-wide.parent-pageid-4449 .um-case-related-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 700px) {
  body.um-case-detail.page-template-template-wide.parent-pageid-4449 .ol-article__body { grid-template-columns: 20px minmax(0, 1fr) 20px; padding-top: 42px !important; }
  body.um-case-detail.page-template-template-wide.parent-pageid-4449 .ol-article__body::before { inset-block-start: -42px; }
  body.um-case-detail.page-template-template-wide.parent-pageid-4449 #oltanaPostTitle { font-size: 30px; }
  body.um-case-detail.page-template-template-wide.parent-pageid-4449 .um-v2-case-intro { font-size: 16px; }
  body.um-case-detail.page-template-template-wide.parent-pageid-4449 .um-case-overview { padding: 16px; gap: 12px; margin-bottom: 38px !important; }
  body.um-case-detail.page-template-template-wide.parent-pageid-4449 .um-case-overview-item { padding: 14px; font-size: 14px; }
  body.um-case-detail.page-template-template-wide.parent-pageid-4449 #case-detail-title { padding-top: 48px; }
  body.um-case-detail.page-template-template-wide.parent-pageid-4449 .um-case-view-grid { margin-bottom: 48px; }
  body.um-case-detail.page-template-template-wide.parent-pageid-4449 .um-case-section:not(:first-of-type) { padding: 48px 0; }
  body.um-case-detail.page-template-template-wide.parent-pageid-4449 .um-case-section-inner,
  body.um-case-detail.page-template-template-wide.parent-pageid-4449 .um-tr-cta-inner { width: calc(100% - 40px); }
  body.um-case-detail.page-template-template-wide.parent-pageid-4449 .um-case-caution { padding: 22px; font-size: 15px; }
  body.um-case-detail.page-template-template-wide.parent-pageid-4449 .um-case-view-card { padding: 24px; }
  body.um-case-detail.page-template-template-wide.parent-pageid-4449 .um-case-dl { grid-template-columns: minmax(0, 1fr); gap: 10px; }
  body.um-case-detail.page-template-template-wide.parent-pageid-4449 .um-case-dl dd { margin-bottom: 14px; }
  body.um-case-detail.page-template-template-wide.parent-pageid-4449 .um-case-related-grid { grid-template-columns: minmax(0, 1fr); gap: 18px; }
  body.um-case-detail.page-template-template-wide.parent-pageid-4449 .um-tr-cta { padding: 46px 0; }
}
@media (max-width: 480px) {
  body.um-case-detail.page-template-template-wide.parent-pageid-4449 .um-case-overview { grid-template-columns: minmax(0, 1fr); }
  body.um-case-detail.page-template-template-wide.parent-pageid-4449 .um-case-overview-item { min-height: 0; padding: 16px; }
}

/* 共通のアクセントと、概要欄のない詳細の冒頭です。 */
body.um-case-detail #olHeader { background: rgba(245,245,245,.9) !important; backdrop-filter: blur(12px); }
body.um-case-detail #umMobileMenu { background: #f5f5f5; }
body.um-case-detail .ol-breadcrumb__wrapper { background: transparent; }
body.um-case-detail.page-template-template-wide.parent-pageid-4449 #oltanaPostTitle,
body.um-case-detail.page-template-template-wide.parent-pageid-4449 .um-case-heading { color: #37357a; }
body.um-case-detail.page-template-template-wide.parent-pageid-4449 .ol-article__body:not(:has(.um-case-overview > *)) #oltanaPostTitle { grid-column: 2 / 5; }
body.um-case-detail.page-template-template-wide.parent-pageid-4449 .ol-article__body:not(:has(.um-case-overview > *)) .um-v2-case-intro { grid-column: 2 / 5; }
/* 概要や導入文がないページでも、本文→関連実績→戻る→相談の順を保ちます。 */
body.um-case-detail.page-template-template-wide.parent-pageid-4449 .um-case-wrapper > .um-case-section:nth-of-type(2) { grid-row: 7; }
body.um-case-detail.page-template-template-wide.parent-pageid-4449 .um-case-wrapper > .um-case-section:nth-of-type(3) { grid-row: 8; }
body.um-case-detail.page-template-template-wide.parent-pageid-4449 .um-tr-cta { grid-row: 9; }
body.um-case-detail.page-template-template-wide.parent-pageid-4449 .ol-article__sns-share { grid-row: 10; }
@media (max-width: 1000px) {
  body.um-case-detail.page-template-template-wide.parent-pageid-4449 .ol-article__body:not(:has(.um-case-overview > *)) #oltanaPostTitle,
  body.um-case-detail.page-template-template-wide.parent-pageid-4449 .ol-article__body:not(:has(.um-case-overview > *)) .um-v2-case-intro { grid-column: 2; }
}

body.um-case-detail.page-template-template-wide.parent-pageid-4449 .um-case-overview:not(:has(*)) { display: none; }
