/* Service Detail Visual baseline rollout for the five remaining approved service pages.
   This file applies the approved standard corporate / restrained Research Lab language
   without changing canonical content, positioning, Research links, or CTA meaning. */

.medical-strategy-page:not(.strategy-v2) {
  --svc-bg:#fbfbfa;
  --svc-panel:#f5f7f7;
  --svc-text:#202326;
  --svc-muted:#687077;
  --svc-line:#dfe4e6;
  --svc-accent:#566572;
  --svc-max:1180px;
  background:var(--svc-bg);
  color:var(--svc-text);
  font-family:"Source Han Sans JP","Noto Sans CJK JP","Hiragino Kaku Gothic ProN","Yu Gothic","Meiryo",sans-serif;
  font-weight:400;
}

.medical-strategy-page:not(.strategy-v2) .strategy-hero,
.medical-strategy-page:not(.strategy-v2) .strategy-band {
  width:min(calc(100% - 112px),var(--svc-max));
  max-width:var(--svc-max);
  margin-inline:auto;
  padding-inline:0;
  background:transparent;
  border:0;
}

.medical-strategy-page:not(.strategy-v2) .strategy-hero {
  padding-top:84px;
  padding-bottom:92px;
}

.medical-strategy-page:not(.strategy-v2) .strategy-hero__grid {
  display:grid;
  grid-template-columns:minmax(0,1fr) 220px;
  gap:72px;
  align-items:center;
}

.medical-strategy-page:not(.strategy-v2) .strategy-hero__copy { max-width:780px; }
.medical-strategy-page:not(.strategy-v2) .breadcrumb { margin:0 0 24px!important; color:var(--svc-muted); font-size:12px; line-height:1.5; letter-spacing:.06em; }
.medical-strategy-page:not(.strategy-v2) .eyebrow { margin:0 0 30px!important; color:var(--svc-muted); font-size:12px; line-height:1.4; letter-spacing:.11em; text-transform:uppercase; }

.medical-strategy-page:not(.strategy-v2) h1,
.medical-strategy-page:not(.strategy-v2) h2,
.medical-strategy-page:not(.strategy-v2) h3 {
  font-family:"Source Han Serif JP","Noto Serif CJK JP","Hiragino Mincho ProN","Yu Mincho","IPAexMincho",serif!important;
  font-weight:400!important;
  color:var(--svc-text);
}

.medical-strategy-page:not(.strategy-v2) .strategy-hero h1 {
  max-width:720px;
  margin:0 0 28px;
  font-size:clamp(48px,4vw,58px)!important;
  line-height:1.36;
  letter-spacing:.012em;
  line-break:strict;
}
.medical-strategy-page:not(.strategy-v2) .strategy-hero__lead { max-width:560px; margin:0; color:var(--svc-text); font-size:16.5px; line-height:1.9; }

.medical-strategy-page:not(.strategy-v2) .strategy-geometry { position:relative; justify-self:center; width:170px; aspect-ratio:1; opacity:.85; }
.medical-strategy-page:not(.strategy-v2) .strategy-geometry__v { position:absolute; left:50%; top:0; bottom:0; width:1px; background:var(--svc-line); }
.medical-strategy-page:not(.strategy-v2) .strategy-geometry__h { position:absolute; top:50%; left:0; right:0; height:1px; background:var(--svc-line); }
.medical-strategy-page:not(.strategy-v2) .strategy-geometry__ring { position:absolute; width:58%; aspect-ratio:1; left:50%; top:50%; transform:translate(-50%,-50%); border:1px solid #8398a6; border-radius:50%; }
.medical-strategy-page:not(.strategy-v2) .strategy-geometry__dot { position:absolute; width:5px; height:5px; left:82%; top:50%; transform:translate(-50%,-50%); border-radius:50%; background:#8398a6; }

.medical-strategy-page:not(.strategy-v2) .strategy-band { padding-top:88px; }
.medical-strategy-page:not(.strategy-v2) .strategy-band h2 { margin:0 0 22px; font-size:29px; line-height:1.52; letter-spacing:.005em; }
.medical-strategy-page:not(.strategy-v2) .strategy-band h3 { margin:0 0 8px; font-size:20px; line-height:1.55; }
.medical-strategy-page:not(.strategy-v2) .strategy-band p,
.medical-strategy-page:not(.strategy-v2) .strategy-band li { color:var(--svc-text); font-size:16px; line-height:1.9; }
.medical-strategy-page:not(.strategy-v2) .strategy-band p + p { margin-top:1.35em; }

/* Overview: sequential editorial rows rather than equal cards. */
.medical-strategy-page:not(.strategy-v2) .strategy-band--overview .strategy-three { display:block!important; }
.medical-strategy-page:not(.strategy-v2) .strategy-band--overview .strategy-three > div {
  display:grid!important;
  grid-template-columns:92px minmax(270px,330px) minmax(0,1fr)!important;
  gap:0 44px!important;
  align-items:start;
  padding:0 0 46px!important;
  border:0!important;
}
.medical-strategy-page:not(.strategy-v2) .strategy-band--overview .strategy-three > div + div { margin-top:46px!important; }
.medical-strategy-page:not(.strategy-v2) .strategy-band--overview .strategy-three > div:not(:last-child) { border-bottom:1px solid var(--svc-line)!important; }
.medical-strategy-page:not(.strategy-v2) .strategy-band--overview .strategy-three > div::before { grid-column:1; margin-top:7px; color:var(--svc-muted); font-size:11px; line-height:1.4; letter-spacing:.14em; text-transform:uppercase; font-family:"Source Han Sans JP","Noto Sans CJK JP","Yu Gothic",sans-serif; }
.medical-strategy-page:not(.strategy-v2) .strategy-band--overview .strategy-three > div:nth-child(1)::before { content:'ISSUES'; }
.medical-strategy-page:not(.strategy-v2) .strategy-band--overview .strategy-three > div:nth-child(2)::before { content:'WHY'; }
.medical-strategy-page:not(.strategy-v2) .strategy-band--overview .strategy-three > div:nth-child(3)::before { content:'APPROACH'; }
.medical-strategy-page:not(.strategy-v2) .strategy-band--overview .strategy-three h2 { grid-column:2; margin:0!important; font-size:27px; }
.medical-strategy-page:not(.strategy-v2) .strategy-band--overview .strategy-three ul,
.medical-strategy-page:not(.strategy-v2) .strategy-band--overview .strategy-three > div > p { grid-column:3; max-width:39em; margin-top:0; }

/* PROCESS: approved panel, desktop two columns, mobile one column. */
.medical-strategy-page:not(.strategy-v2) .strategy-band--process {
  width:100%; max-width:none; margin-top:96px; padding:82px max(56px,calc((100vw - var(--svc-max))/2)) 88px; background:var(--svc-panel);
}
.medical-strategy-page:not(.strategy-v2) .strategy-band--process > .eyebrow,
.medical-strategy-page:not(.strategy-v2) .strategy-band--process > h2 { width:min(100%,var(--svc-max)); max-width:680px; margin-left:auto!important; margin-right:auto!important; }
.medical-strategy-page:not(.strategy-v2) .strategy-band--process > .eyebrow { margin-bottom:14px!important; }
.medical-strategy-page:not(.strategy-v2) .strategy-band--process > h2 { margin-bottom:48px!important; }
.medical-strategy-page:not(.strategy-v2) .strategy-process {
  width:min(100%,var(--svc-max)); max-width:var(--svc-max); margin:0 auto!important; display:grid!important; grid-template-columns:repeat(2,minmax(0,1fr))!important; column-gap:64px!important; row-gap:44px!important; border:0!important;
}
.medical-strategy-page:not(.strategy-v2) .strategy-process + .strategy-process { margin-top:44px!important; }
.medical-strategy-page:not(.strategy-v2) .strategy-process > div { padding:20px 0 0!important; border:0!important; border-top:1px solid var(--svc-line)!important; }
.medical-strategy-page:not(.strategy-v2) .strategy-process span { display:block; margin:0 0 10px; color:#566572!important; font-size:11.5px; line-height:1; letter-spacing:.1em; }
.medical-strategy-page:not(.strategy-v2) .strategy-process p { max-width:34em; margin:0; color:var(--svc-muted); font-size:15.5px; line-height:1.85; }

/* Lower content: stable two-column hierarchy. */
.medical-strategy-page:not(.strategy-v2) .strategy-three--lower { display:grid!important; grid-template-columns:minmax(0,1.22fr) minmax(280px,.78fr)!important; gap:58px 72px!important; align-items:start; }
.medical-strategy-page:not(.strategy-v2) .strategy-three--lower > div:nth-child(3) { grid-column:2; }
.medical-strategy-page:not(.strategy-v2) .strategy-three--lower > div { min-width:0; border:0!important; padding:0!important; }
.medical-strategy-page:not(.strategy-v2) .strategy-two { display:grid!important; grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important; gap:72px!important; }
.medical-strategy-page:not(.strategy-v2) .strategy-two > div { min-width:0; border:0!important; padding:0!important; }
.medical-strategy-page:not(.strategy-v2) .strategy-links { display:grid; gap:12px; margin-top:22px!important; }
.medical-strategy-page:not(.strategy-v2) .strategy-links a,
.medical-strategy-page:not(.strategy-v2) .strategy-band a:not(.wp-element-button) { width:fit-content; color:var(--svc-text); font-size:13.5px; line-height:1.6; text-decoration:none; border-bottom:1px solid var(--svc-line); padding-bottom:3px; }

/* Closing CTA: copy and action stay on the same reading axis. */
.medical-strategy-page:not(.strategy-v2) .strategy-band--closing { margin-top:96px; padding-top:68px; padding-bottom:76px; border-top:1px solid var(--svc-line); }
.medical-strategy-page:not(.strategy-v2) .strategy-band--closing .strategy-two { display:block!important; max-width:760px; }
.medical-strategy-page:not(.strategy-v2) .strategy-band--closing .strategy-contact { margin-top:28px; }
.medical-strategy-page:not(.strategy-v2) .strategy-band--closing .strategy-contact h2 { display:none; }
.medical-strategy-page:not(.strategy-v2) .strategy-band--closing .strategy-contact p:first-of-type { margin-top:0; }
.medical-strategy-page:not(.strategy-v2) .strategy-band--closing .wp-element-button { display:inline-flex; align-items:center; min-height:44px; width:auto; margin-top:18px; padding:0 0 3px; background:transparent!important; color:var(--svc-text)!important; border:0!important; border-bottom:1px solid #8398a6!important; border-radius:0!important; box-shadow:none!important; font-size:13.5px; text-decoration:none; }

@media (max-width:980px) {
  .medical-strategy-page:not(.strategy-v2) .strategy-hero,
  .medical-strategy-page:not(.strategy-v2) .strategy-band { width:min(calc(100% - 72px),var(--svc-max)); }
  .medical-strategy-page:not(.strategy-v2) .strategy-hero__grid { grid-template-columns:minmax(0,1fr) 160px; gap:48px; }
  .medical-strategy-page:not(.strategy-v2) .strategy-geometry { width:150px; }
  .medical-strategy-page:not(.strategy-v2) .strategy-band--overview .strategy-three > div { grid-template-columns:78px minmax(220px,280px) minmax(0,1fr)!important; column-gap:32px!important; }
  .medical-strategy-page:not(.strategy-v2) .strategy-band--process { width:100%; padding-left:36px; padding-right:36px; }
}

@media (max-width:700px) {
  .medical-strategy-page:not(.strategy-v2) .strategy-hero,
  .medical-strategy-page:not(.strategy-v2) .strategy-band { width:calc(100% - 48px); }
  .medical-strategy-page:not(.strategy-v2) .strategy-hero { padding-top:58px; padding-bottom:72px; }
  .medical-strategy-page:not(.strategy-v2) .strategy-hero__grid { grid-template-columns:1fr; gap:0; }
  .medical-strategy-page:not(.strategy-v2) .strategy-hero h1 { max-width:none; font-size:34px!important; line-height:1.42; letter-spacing:0; }
  .medical-strategy-page:not(.strategy-v2) .strategy-hero__lead { max-width:none; font-size:16px; line-height:1.9; }
  .medical-strategy-page:not(.strategy-v2) .strategy-geometry { width:88px; margin:36px 0 0 auto; justify-self:end; }
  .medical-strategy-page:not(.strategy-v2) .strategy-band { padding-top:68px; }
  .medical-strategy-page:not(.strategy-v2) .strategy-band h2 { font-size:25px; line-height:1.5; margin-bottom:18px; }
  .medical-strategy-page:not(.strategy-v2) .strategy-band h3 { font-size:18.5px; }
  .medical-strategy-page:not(.strategy-v2) .strategy-band p,
  .medical-strategy-page:not(.strategy-v2) .strategy-band li { font-size:15.75px; line-height:1.9; }
  .medical-strategy-page:not(.strategy-v2) .strategy-band--overview .strategy-three > div { display:block!important; padding-bottom:44px!important; }
  .medical-strategy-page:not(.strategy-v2) .strategy-band--overview .strategy-three > div + div { margin-top:44px!important; }
  .medical-strategy-page:not(.strategy-v2) .strategy-band--overview .strategy-three > div::before { display:block; margin:0 0 12px; }
  .medical-strategy-page:not(.strategy-v2) .strategy-band--overview .strategy-three h2 { margin:0 0 18px!important; }
  .medical-strategy-page:not(.strategy-v2) .strategy-band--process { width:100%; margin-top:72px; padding:64px 24px 68px; }
  .medical-strategy-page:not(.strategy-v2) .strategy-band--process > .eyebrow,
  .medical-strategy-page:not(.strategy-v2) .strategy-band--process > h2 { width:100%; max-width:none; }
  .medical-strategy-page:not(.strategy-v2) .strategy-process { grid-template-columns:1fr!important; gap:0!important; width:100%; }
  .medical-strategy-page:not(.strategy-v2) .strategy-process + .strategy-process { margin-top:30px!important; }
  .medical-strategy-page:not(.strategy-v2) .strategy-process > div + div { margin-top:30px; }
  .medical-strategy-page:not(.strategy-v2) .strategy-three--lower,
  .medical-strategy-page:not(.strategy-v2) .strategy-two { grid-template-columns:1fr!important; gap:46px!important; }
  .medical-strategy-page:not(.strategy-v2) .strategy-three--lower > div:nth-child(3) { grid-column:auto; }
  .medical-strategy-page:not(.strategy-v2) .strategy-band--closing { margin-top:72px; padding-top:56px; padding-bottom:64px; }
}

/* 60 Wave typography corrections for the five Service Detail rollout pages only.
   Keep the approved baseline structure unchanged; correct display line breaks per viewport. */

/* Accounting titles: avoid a one-character final line on desktop. */
@media (min-width: 701px) {
  .medical-strategy-page.medical-accounting-page:not(.strategy-v2) .strategy-hero h1 {
    font-size: 53px !important;
  }

  /* Accounting APPROACH heading follows the shared semantic line structure. */
  .medical-strategy-page.medical-accounting-page:not(.strategy-v2) .strategy-band--overview .strategy-three > div:nth-child(3) h2 {
    font-size: 22px;
  }
}

.medical-strategy-page.care-management-page:not(.strategy-v2) .svc-title-segment {
  white-space: nowrap;
}

.medical-strategy-page.care-management-page:not(.strategy-v2) .svc-mobile-break {
  display: none;
}

@media (max-width: 700px) {
  /* Global: the first overview heading must not orphan the final 「て」. */
  .medical-strategy-page:not(.strategy-v2) .strategy-band--overview .strategy-three > div:first-child h2 {
    font-size: 24px;
    letter-spacing: 0;
  }

  /* Care management: explicit semantic break keeps 「構築」 together. */
  .medical-strategy-page.care-management-page:not(.strategy-v2) .strategy-hero h1 {
    max-width: none;
  }

  .medical-strategy-page.care-management-page:not(.strategy-v2) .svc-mobile-break {
    display: inline;
  }
}
