
:root{
  --navy:#102b50;
  --navy-soft:#183d69;
  --blue:#5c9ab2;
  --blue-pale:#eaf3f6;
  --gold:#b99755;
  --accent-text:#705a30;
  --gold-pale:#f3ead8;
  --ivory:#f8f5ed;
  --paper:#fffefa;
  --white:#ffffff;
  --ink:#172436;
  --muted:#3f4d59;
  --line:#d9e0e5;
  --shadow:0 16px 42px rgba(16,43,80,.08);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:"Noto Sans JP","Hiragino Sans","Yu Gothic",Meiryo,sans-serif;
  line-height:1.9;
  letter-spacing:.02em;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit;text-decoration:none}

img,svg{max-width:100%;height:auto}
main,section,.container{min-width:0}
section[id]{scroll-margin-top:110px}
p,h1,h2,h3,li,a{overflow-wrap:break-word;line-break:strict}
.container{width:min(1180px,calc(100% - 64px));margin:0 auto}

/* review label */
.review-bar{
  background:#0a213e;
  color:#dce7f0;
  font-size:12px;
  letter-spacing:.06em;
  padding:7px 20px;
  text-align:center;
}
.review-bar strong{color:#fff}

/* header */
.header{
  height:78px;
  position:sticky;
  top:0;
  z-index:20;
  background:rgba(255,254,250,.97);
  border-bottom:1px solid var(--line);
  backdrop-filter:blur(8px);
}
.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:28px}
.brand{display:flex;align-items:center;gap:11px;color:var(--navy);font-weight:750;letter-spacing:.08em;white-space:nowrap}
.brand-mark{width:29px;height:29px;position:relative;border:2px solid var(--blue);border-radius:50%}
.brand-mark:before,.brand-mark:after{content:"";position:absolute;border-radius:50%;border:2px solid var(--gold)}
.brand-mark:before{width:15px;height:15px;left:4px;top:4px;border-left-color:transparent}
.brand-mark:after{width:7px;height:7px;left:9px;top:9px;border-right-color:transparent}
.brand-text{font-size:18px}
.nav{display:flex;align-items:center;gap:21px;font-size:12.5px;font-weight:650;color:#314154}
.nav a:not(.nav-cta){position:relative;padding:10px 0}
.nav a:not(.nav-cta):after{content:"";position:absolute;left:0;right:100%;bottom:5px;height:1px;background:var(--blue);transition:.2s}
.nav a:not(.nav-cta):hover:after{right:0}
.nav-cta{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 20px;background:var(--navy);color:white;font-size:13px;font-weight:750}
.mobile-actions{display:none;align-items:center;gap:8px}
.mobile-cta{display:inline-flex;min-height:38px;align-items:center;padding:0 13px;border:1px solid var(--navy);color:var(--navy);font-size:11.5px;font-weight:750}
.menu-button{width:39px;height:39px;border:1px solid var(--line);background:#fff;display:grid;place-items:center;padding:0}
.menu-button span,.menu-button span:before,.menu-button span:after{display:block;width:17px;height:1.5px;background:var(--navy);position:relative}
.menu-button span:before,.menu-button span:after{content:"";position:absolute;left:0}
.menu-button span:before{top:-5px}.menu-button span:after{top:5px}

/* hero */
.hero{min-height:620px;display:flex;align-items:center;position:relative;overflow:hidden;background:var(--paper)}
.hero:before{display:none}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(360px,.88fr);align-items:center;gap:48px;padding:80px 0}
.hero-copy{position:relative;z-index:2;min-width:0;max-width:760px}
.eyebrow{display:flex;align-items:center;gap:12px;color:var(--blue);font-size:14px;font-weight:750;margin-bottom:22px}
.eyebrow:before{content:"";width:35px;height:2px;background:var(--gold)}
h1{margin:0;color:var(--navy);font-size:48px;line-height:1.48;letter-spacing:.01em;font-weight:750}
.hero-body{max-width:850px;margin-top:27px;color:#3f4b58;font-size:15.5px}
.hero-body p{margin:0 0 13px}
.hero-visual{position:relative;z-index:1;min-height:420px;display:flex;align-items:center;justify-content:center}
.image-shell{width:100%;height:390px;position:relative;overflow:hidden;background:#eaf0f2;border:1px solid var(--line)}
.image-shell:before,.image-shell:after{display:none}
.image-note{position:absolute;left:24px;bottom:24px;right:24px;padding:14px 16px;background:rgba(255,255,255,.92);border-left:2px solid var(--gold);font-size:12px;color:#586671}
.image-note strong{display:block;color:var(--navy);font-size:14px;margin-bottom:2px}
.pc-only-break{display:block}
.hero-line{white-space:normal}
.semantic-break{display:block}
.mobile-semantic-break{display:none}
.mobile-only-break{display:none}
.desktop-separator{display:inline}
.narrow-semantic-break{display:none}
.keep-phrase{white-space:nowrap}
.consult-keyphrase{display:inline-block;white-space:nowrap}

/* issues */
.issues{background:var(--ivory);padding:90px 0 96px}
.section-head{max-width:1040px;margin-bottom:48px}
.kicker{color:var(--accent-text);font-size:12px;font-weight:750;letter-spacing:.05em;margin-bottom:10px}
h2{position:relative;margin:0;padding-left:20px;color:var(--navy);font-size:35px;line-height:1.52;letter-spacing:.01em}
h2:before{content:"";position:absolute;left:0;top:.22em;width:3px;height:1.25em;background:var(--blue)}
.lead{margin:19px 0 0;color:var(--muted);font-size:15.5px;max-width:900px}
.issue-list{border-top:1px solid #cfd7dc}
.issue{padding:34px 8px 37px;border-bottom:1px solid #cfd7dc}
.issue:last-child{border-bottom:0}
.issue-heading{display:grid;grid-template-columns:44px minmax(0,1fr);gap:16px;align-items:start}
.issue-no{padding-top:3px;color:var(--accent-text);font-size:12px;font-weight:800;letter-spacing:.08em}
.issue h3{color:var(--navy);font-size:21px;line-height:1.6;margin:0;font-weight:750}
.issue ul{margin:18px 0 0 60px;padding:0;max-width:930px;list-style:none;color:var(--muted);font-size:14px;line-height:1.85;display:grid;gap:9px}
.issue li{position:relative;padding-left:18px}
.issue li:before{content:"";position:absolute;left:1px;top:.82em;width:6px;height:6px;border:1.5px solid var(--gold);transform:rotate(45deg)}
.issue-close{max-width:none;margin:38px auto 0;padding-top:28px;position:relative;text-align:center}
.issue-close:before{content:"";position:absolute;top:0;left:50%;width:42px;height:2px;background:var(--gold);transform:translateX(-50%)}
.issue-close p{margin:0;color:var(--navy);font-weight:700;line-height:1.85}
.issue-close .close-lead{display:block;margin-bottom:6px;font-size:16.5px;font-weight:750}
.issue-close .close-main{display:block;color:var(--navy);font-size:16.5px;font-weight:750;letter-spacing:.01em}

.keep-ending{
  white-space:nowrap;
}

@media(min-width:1240px){
  .lead{max-width:none}
}

.definition-break{display:block}


/* growth / block 2
   Structural wireframe only. Final colors, typography, spacing and decoration
   must be aligned with the current corporate website before implementation. */
.growth{
  background:var(--paper);
  padding:98px 0 104px;
}
.growth-head{
  max-width:980px;
  margin-bottom:31px;
}
.growth-copy{
  max-width:980px;
  color:var(--muted);
  font-size:15.5px;
}
.growth-copy p{
  margin:0 0 8px;
}
.growth-copy p:last-child{margin-bottom:0}

.growth-spiral{
  margin-top:52px;
}
.spiral-label{
  margin-bottom:18px;
  color:var(--accent-text);
  font-size:13px;
  font-weight:800;
  letter-spacing:.08em;
  text-align:center;
}
.spiral-field{
  width:min(100%,880px);
  height:540px;
  margin:0 auto;
  position:relative;
  overflow:hidden;
  background:radial-gradient(circle at 50% 50%,rgba(234,243,246,.45) 0,rgba(255,254,250,0) 42%);
}
.spiral-art{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  overflow:visible;
  pointer-events:none;
}
.spiral-curve{
  fill:none;
  stroke:rgba(92,154,178,.34);
  stroke-width:1.7;
  stroke-linecap:round;
}
.spiral-curve-accent{
  fill:none;
  stroke:rgba(185,151,85,.36);
  stroke-width:1.25;
  stroke-linecap:round;
  stroke-dasharray:6 10;
}
.spiral-connector{
  fill:none;
  stroke:rgba(16,43,80,.20);
  stroke-width:1.05;
  stroke-linecap:round;
}
.spiral-center{
  width:154px;
  height:154px;
  position:absolute;
  left:50%;
  top:50%;
  z-index:3;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(16,43,80,.30);
  border-radius:50%;
  background:var(--paper);
  box-shadow:0 12px 34px rgba(16,43,80,.08);
  color:var(--navy);
  transform:translate(-50%,-50%);
  text-align:center;
}
.spiral-center span{font-size:13px;font-weight:700;letter-spacing:.06em}
.spiral-center strong{margin-top:2px;font-size:28px;line-height:1.35;letter-spacing:.05em}
.spiral-node{
  width:230px;
  position:absolute;
  z-index:2;
  color:var(--muted);
  text-align:center;
}
.spiral-node h3{
  margin:0 0 7px;
  color:var(--navy);
  font-size:23px;
  line-height:1.5;
  font-weight:800;
  letter-spacing:.04em;
}
.spiral-node p{
  margin:0;
  font-size:13.5px;
  line-height:1.8;
}
.spiral-node.dialogue{left:50%;top:9px;transform:translateX(-50%)}
.spiral-node.awareness{right:0;top:50%;transform:translateY(-50%)}
.spiral-node.practice{left:50%;bottom:5px;transform:translateX(-50%)}
.spiral-node.reflection{left:0;top:50%;transform:translateY(-50%)}

.growth-definition{
  max-width:1040px;
  margin:72px 0 0;
  padding:0;
  text-align:left;
}
.definition-prefix{
  display:block;
  margin-bottom:12px;
  color:var(--accent-text);
  font-size:26px;
  line-height:1.5;
  font-weight:800;
  letter-spacing:.04em;
}
.definition-main{
  display:block;
  max-width:980px;
  color:var(--navy);
  font-size:27px;
  font-weight:750;
  line-height:1.72;
  letter-spacing:.01em;
}
.growth-responsibility{
  max-width:1040px;
  margin-top:70px;
  padding:29px 31px 31px;
  background:rgba(234,243,246,.48);
  border-left:3px solid rgba(92,154,178,.52);
}
.growth-responsibility h3{
  margin:0;
  color:var(--navy);
  font-size:22px;
  line-height:1.65;
  font-weight:750;
}
.growth-responsibility p{
  max-width:930px;
  margin:11px 0 0;
  color:var(--muted);
  font-size:14.5px;
  line-height:1.9;
}

@media(max-width:900px){
  .growth-head,.growth-copy,.growth-definition{max-width:760px}
  .spiral-field{
    height:auto;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px;
    overflow:visible;
  }
  .spiral-art{display:none}
  .spiral-center{
    width:142px;
    height:142px;
    position:relative;
    left:auto;
    top:auto;
    grid-column:1/-1;
    margin:0 auto 10px;
    transform:none;
  }
  .spiral-node{
    width:auto;
    min-height:150px;
    position:relative;
    left:auto!important;
    right:auto!important;
    top:auto!important;
    bottom:auto!important;
    transform:none!important;
    padding:23px 22px 24px;
    border-top:1px solid #cfd7dc;
    text-align:left;
  }
  .spiral-node h3{font-size:21px}
  .spiral-node p{font-size:14px}
}

@media(max-width:680px){
  .growth{padding:61px 0 66px}
  .growth-head{margin-bottom:27px}
  .growth-copy{font-size:14px;line-height:1.9}
  .growth-copy p{margin-bottom:7px}
  .growth-spiral{margin-top:40px}
  .spiral-label{text-align:left;margin-bottom:16px;font-size:12.5px}
  .spiral-field{grid-template-columns:1fr;gap:0}
  .spiral-center{width:130px;height:130px;margin-bottom:18px}
  .spiral-center strong{font-size:25px}
  .spiral-node{min-height:0;padding:22px 0 23px}
  .spiral-node h3{font-size:20px;margin-bottom:5px}
  .spiral-node p{font-size:14px;line-height:1.8}
  .growth-definition{margin-top:52px}
  .definition-prefix{margin-bottom:10px;font-size:22px;line-height:1.5}
  .definition-main{font-size:21px;line-height:1.78}
  .definition-break{display:none}
  .growth-responsibility{margin-top:52px;padding:23px 21px 25px}
  .growth-responsibility h3{font-size:19px;line-height:1.65}
  .growth-responsibility p{margin-top:9px;font-size:14px;line-height:1.85}
}

/* support / block 3 */
.support-block{
  background:var(--ivory);
  padding:98px 0 104px;
}
.support-head{
  max-width:1020px;
  margin-bottom:31px;
}
.support-copy{
  max-width:980px;
  color:var(--muted);
  font-size:15.5px;
}
.support-copy p{
  margin:0 0 8px;
}
.support-copy p:last-child{
  margin-bottom:0;
}
.support-scopes{
  margin-top:58px;
  border-top:1px solid #cfd7dc;
  border-bottom:1px solid #cfd7dc;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.support-scope{
  min-width:0;
  padding:32px 26px 35px;
  border-right:1px solid #cfd7dc;
}
.support-scope:first-child{padding-left:0}
.support-scope:last-child{padding-right:0;border-right:0}
.support-scope-meta{
  display:flex;
  align-items:baseline;
  gap:12px;
  margin-bottom:7px;
}
.support-scope-no{
  color:#0069c6;
  font-size:11px;
  font-weight:800;
  letter-spacing:.10em;
}
.support-scope-name{
  color:#0069c6;
  font-size:13px;
  font-weight:800;
  letter-spacing:.08em;
}
.support-scope h3{
  margin:0;
  color:var(--navy);
  font-size:21px;
  line-height:1.6;
  font-weight:750;
}
.support-scope ul{
  margin:18px 0 0;
  padding:0;
  max-width:none;
  list-style:none;
  color:var(--muted);
  font-size:14px;
  line-height:1.85;
  display:grid;
  gap:9px;
}
.support-scope li{
  position:relative;
  padding-left:18px;
}
.support-scope li:before{
  content:"";
  position:absolute;
  left:1px;
  top:.82em;
  width:6px;
  height:6px;
  border:1.5px solid #0069c6;
  transform:rotate(45deg);
}
.support-summary{
  max-width:none;
  min-height:104px;
  margin:0;
  padding:34px 0 36px;
  display:flex;
  align-items:center;
}
.support-summary p{
  margin:0;
  color:var(--navy);
  font-size:16.5px;
  line-height:1.85;
  font-weight:750;
}
.support-summary p + p{
  margin-top:6px;
}
.seibi-route{
  margin-top:0;
  padding:27px 0;
  border-top:1px solid #cfd7dc;
  border-bottom:1px solid #cfd7dc;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:34px;
  align-items:center;
}
.seibi-route-copy{
  max-width:780px;
}
.seibi-route-kicker{
  color:var(--accent-text);
  font-size:11px;
  font-weight:800;
  letter-spacing:.10em;
  margin-bottom:5px;
}
.seibi-route h3{
  margin:0;
  color:var(--navy);
  font-size:21px;
  line-height:1.6;
  font-weight:750;
}
.seibi-route p{
  margin:12px 0 0;
  color:var(--muted);
  font-size:14px;
  line-height:1.85;
}
.seibi-route-button{
  min-width:0;
  padding:8px 0 7px;
  display:inline-flex;
  align-items:center;
  gap:10px;
  border-bottom:1px solid var(--navy);
  color:var(--navy);
  min-height:44px;
  font-size:14px;
  font-weight:750;
  text-align:left;
  white-space:nowrap;
  transform:translateY(10px);
}
.seibi-route-button:after{content:"→";font-size:16px;margin-left:4px}

/* why support continues */
.support-reason{
  background:var(--paper);
  padding:98px 0 104px;
}
.reason-grid{
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(340px,.9fr);
  gap:70px;
  align-items:center;
}
.reason-copy{
  min-width:0;
}
.reason-copy .section-head{
  margin-bottom:28px;
}
.reason-body{
  max-width:740px;
  color:var(--muted);
  font-size:15px;
}
.reason-body p{
  margin:0 0 14px;
}
.reason-body p:last-child{
  margin-bottom:0;
}
.reason-facts{
  color:var(--navy);
  font-size:17px;
  line-height:1.9;
  font-weight:500;
}
.reason-facts strong{
  color:var(--accent-text);
  font-size:1em;
  white-space:nowrap;
}
.reason-desktop-break{display:block}
.reason-visual{
  min-height:430px;
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
}
.reason-image-shell{
  width:100%;
  height:410px;
  position:relative;
  overflow:hidden;
  background:#eaf0f2;
  border:1px solid var(--line);
}
.reason-image-shell:before{display:none}
.reason-image-note{
  position:absolute;
  left:25px;
  right:25px;
  bottom:25px;
  padding:15px 17px;
  background:rgba(255,255,255,.88);
  border-left:3px solid var(--gold);
  color:#586671;
  font-size:12px;
  line-height:1.7;
}
.reason-image-note strong{
  display:block;
  color:var(--navy);
  font-size:14px;
  margin-bottom:2px;
}

@media(min-width:1180px){
  .support-copy{max-width:none}
}

@media(max-width:920px){
  .support-copy{max-width:760px}
  .support-scopes{
    grid-template-columns:1fr;
    border-bottom:0;
  }
  .support-scope,
  .support-scope:first-child,
  .support-scope:last-child{
    padding:31px 4px 34px;
    border-right:0;
    border-bottom:1px solid #cfd7dc;
  }
  .support-scope h3{min-height:0}
  .support-scope ul{max-width:930px}
}

@media(min-width:921px){
  .support-scope h3{min-height:68px}
  .support-pc-break{display:block}
}

@media(max-width:920px){
  .support-pc-break{display:none}
}

@media(max-width:960px){
  .reason-desktop-break{display:none}
  .reason-grid{
    grid-template-columns:1fr;
    gap:40px;
  }
  .reason-body{max-width:760px}
  .reason-visual{min-height:auto}
  .reason-image-shell{height:360px;max-width:760px}
}

@media(max-width:760px){
  h1{font-size:37px}
  h2{font-size:31px}
  .seibi-route{
    grid-template-columns:1fr;
    gap:18px;
  }
  .seibi-route-button{
    justify-self:start;
    white-space:normal;
    transform:none;
  }
}

@media(max-width:680px){
  .support-block{padding:61px 0 66px}
  .support-head{margin-bottom:27px}
  .support-copy{font-size:14px;line-height:1.9}
  .support-copy p{margin-bottom:6px}
  .support-scopes{margin-top:43px}
  .support-scope,
  .support-scope:first-child,
  .support-scope:last-child{padding:27px 0 29px}
  .support-scope-meta{gap:9px;margin-bottom:6px}
  .support-scope-no{font-size:11px}
  .support-scope-name{font-size:12.5px}
  .support-scope h3{font-size:18px;line-height:1.65}
  .support-scope ul{margin-top:16px;font-size:14px;gap:9px}
  .support-summary{min-height:0;margin:0;padding:28px 0 30px}
  .support-summary p{font-size:15px;line-height:1.85}
  .seibi-route{margin-top:0;padding:23px 0}
  .seibi-route-kicker{font-size:11px}
  .seibi-route h3{font-size:18px;line-height:1.65}
  .seibi-route p{font-size:14px}
  .seibi-route-button{padding:0;font-size:14px;min-height:44px}
  .support-reason{padding:61px 0 66px}
  .reason-grid{gap:31px}
  .reason-copy .section-head{margin-bottom:24px}
  .reason-body{font-size:14px;line-height:1.9}
  .reason-facts{font-size:15px;line-height:1.9}
  .reason-image-shell{height:270px}
  .reason-image-note{left:18px;right:18px;bottom:18px;padding:12px 13px;font-size:10.5px}
  .reason-image-note strong{font-size:12.5px}
}

/* responsive */
@media(max-width:1040px){
  .container{width:calc(100% - 48px)}
  .nav{display:none}
  h1{font-size:42px}
  h2{font-size:32px}
  .mobile-actions{display:flex}
  .hero-grid{gap:36px}
  .issue{padding:31px 4px 33px}
  .issue-heading{grid-template-columns:40px minmax(0,1fr)}
  .issue ul{margin-left:56px}
  .keep-ending{white-space:normal}
}
@media(max-width:1040px) and (min-width:921px){
  .hero-grid{grid-template-columns:minmax(0,1.18fr) minmax(330px,.82fr)}
  .image-shell{height:360px}
  .support-scope{padding-left:20px;padding-right:20px}
  .reason-grid{grid-template-columns:minmax(0,1.08fr) minmax(330px,.92fr);gap:44px}
  .reason-image-shell{height:370px}
  .case-item{grid-template-columns:minmax(290px,.78fr) minmax(0,1.22fr);gap:40px}
  .consult-point{padding-left:20px;padding-right:20px}
}

@media(max-width:920px){
  .hero{min-height:auto}
  .hero-grid{grid-template-columns:1fr;gap:34px;padding:62px 0 66px}
  .hero-copy{max-width:760px;width:auto}
  .hero-body{max-width:740px}
  .hero-line{white-space:normal}
  .pc-only-break{display:none}
  .hero-visual{min-height:auto}
  .image-shell{height:340px;max-width:760px;margin:0 auto}
}
@media(max-width:900px){
  .container{width:calc(100% - 42px)}
  .narrow-semantic-break{display:block}
}
@media(max-width:820px){
  h1{font-size:37px}
  h2{font-size:31px}
}
@media(max-width:680px){
  .review-bar{font-size:10px;padding:6px 12px}
  .header{height:66px}
  .container{width:calc(100% - 32px)}
  .brand-text{font-size:15px;letter-spacing:.04em}
  .brand-mark{width:25px;height:25px}
  .mobile-cta{min-height:36px;padding:0 10px;font-size:10.5px}
  .menu-button{width:36px;height:36px}
  .hero{background:var(--paper)}
  .hero-grid{padding:45px 0 52px;gap:27px}
  .eyebrow{font-size:12px;margin-bottom:16px;line-height:1.65;align-items:flex-start}
  .eyebrow:before{width:24px;margin-top:.75em;flex:none}
  h1{font-size:31px;line-height:1.52}
  .hero-body{font-size:14px;line-height:1.85;margin-top:21px}
  .image-shell{height:240px}
  .image-note{left:18px;right:18px;bottom:18px;padding:12px 13px;font-size:10.5px}
  .image-note strong{font-size:12.5px}
  .issues{padding:58px 0 62px}
  .section-head{margin-bottom:32px}
  .kicker{font-size:12px;margin-bottom:8px}
  h2{font-size:27px;padding-left:15px;line-height:1.55}
  .lead{font-size:14px;line-height:1.85;margin-top:17px}
  .issue{padding:27px 0 29px}
  .issue-heading{grid-template-columns:34px minmax(0,1fr);gap:10px}
  .issue h3{font-size:18px;line-height:1.65}
  .issue ul{margin:16px 0 0 44px;font-size:14px;gap:9px}
  .issue-close{margin-top:30px;padding-top:24px;text-align:left}
  .issue-close:before{left:0;transform:none}
  .issue-close p{line-height:1.85}
  .issue-close .close-lead{font-size:15px}
  .issue-close .close-main{font-size:15px;white-space:normal}
}


/* cases / block 4
   Structural wireframe only. Final colors, typography, spacing, images,
   buttons and footer treatment must be aligned with the current corporate website. */
.case-studies{
  background:var(--ivory);
  padding:98px 0 104px;
}
.case-head{
  max-width:1040px;
  margin-bottom:31px;
}
.case-intro{
  max-width:980px;
  color:var(--muted);
  font-size:15.5px;
}
.case-intro p{margin:0 0 8px}
.case-intro p:last-child{margin-bottom:0}
.case-list{
  margin-top:56px;
  border-top:1px solid #cfd7dc;
}
.case-item{
  display:grid;
  grid-template-columns:minmax(300px,.82fr) minmax(0,1.18fr);
  gap:54px;
  align-items:center;
  padding:38px 0 42px;
  border-bottom:1px solid #cfd7dc;
}
.case-visual{min-width:0}
.case-image-shell{
  width:100%;
  height:300px;
  position:relative;
  overflow:hidden;
  background:#eaf0f2;
  border:1px solid var(--line);
}
.case-image-note{
  position:absolute;
  left:22px;
  right:22px;
  bottom:22px;
  padding:13px 15px;
  background:rgba(255,255,255,.9);
  border-left:2px solid var(--gold);
  color:#586671;
  font-size:11px;
  line-height:1.7;
}
.case-image-note strong{
  display:block;
  color:var(--navy);
  font-size:13.5px;
  margin-bottom:2px;
}
.case-copy{min-width:0}
.case-category{
  color:#0069c6;
  font-size:12px;
  font-weight:800;
  letter-spacing:.08em;
  margin-bottom:8px;
}
.case-copy h3{
  margin:0;
  color:var(--navy);
  font-size:25px;
  line-height:1.58;
  font-weight:750;
}
.case-company{
  margin-top:10px;
  color:#435263;
  font-size:13.5px;
  font-weight:700;
}
.case-body{
  margin-top:18px;
  max-width:680px;
  color:var(--muted);
  font-size:14px;
  line-height:1.85;
}
.case-body p{margin:0 0 7px}
.case-body p:last-child{margin-bottom:0}
.case-link{
  margin-top:20px;
  padding:7px 0 6px;
  display:inline-flex;
  align-items:center;
  gap:10px;
  border-bottom:1px solid var(--navy);
  color:var(--navy);
  min-height:44px;
  font-size:14px;
  font-weight:750;
}
.case-link:after{content:"→";font-size:16px;margin-left:4px}

/* first consultation */
.first-consultation{
  background:var(--paper);
  padding:98px 0 104px;
}
.consult-inner{
  max-width:1040px;
  margin:0 auto;
}
.consult-head{
  max-width:850px;
  margin:0 auto;
  text-align:center;
}
.consult-head h2{
  padding-left:0;
  text-align:center;
}
.consult-head h2:before{display:none}
.consult-body{
  max-width:850px;
  margin:24px auto 0;
  color:var(--muted);
  font-size:15.5px;
  text-align:center;
}
.consult-body p{margin:0;line-height:2}
.consult-points{
  margin-top:52px;
  border-top:1px solid #cfd7dc;
  border-bottom:1px solid #cfd7dc;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.consult-point{
  min-width:0;
  padding:31px 27px 34px;
  border-right:1px solid #cfd7dc;
}
.consult-point:first-child{padding-left:0}
.consult-point:last-child{padding-right:0;border-right:0}
.consult-point h3{
  margin:0;
  color:var(--navy);
  font-size:19px;
  line-height:1.65;
  font-weight:750;
}
.consult-point p{
  margin:14px 0 0;
  color:var(--muted);
  font-size:14px;
  line-height:1.85;
}
.consult-action{
  margin-top:44px;
  text-align:center;
}
.consult-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:56px;
  padding:0 32px;
  background:var(--navy);
  color:var(--white);
  font-size:15px;
  font-weight:750;
}
.consult-button:after{content:"→";margin-left:12px;font-size:17px}
.consult-note{
  margin:11px 0 0;
  color:var(--muted);
  font-size:12.5px;
  font-weight:650;
}

/* footer: current corporate-site structure reused; one LP link added */
.site-footer{
  background:#27363a;
  color:#fff;
  padding:54px 0 29px;
}
.footer-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:36px;
}
.footer-brand{
  display:flex;
  align-items:center;
  gap:12px;
  font-size:28px;
  font-weight:800;
  letter-spacing:.05em;
  white-space:nowrap;
}
.footer-brand .brand-mark{border-color:#fff}
.footer-brand .brand-mark:before,.footer-brand .brand-mark:after{border-color:#fff}
.footer-nav{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:wrap;
  gap:20px 38px;
  font-size:13px;
  font-weight:750;
}
.footer-nav a,.footer-bottom a{color:#fff}
.footer-rule{
  height:1px;
  margin:31px 0 24px;
  background:rgba(255,255,255,.23);
}
.footer-bottom{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:28px;
  font-size:12.5px;
  font-weight:700;
}
.footer-legal-links{display:flex;flex-wrap:wrap;gap:25px 36px}
.footer-copy{white-space:nowrap}
@media(max-width:980px){
  .footer-top{align-items:flex-start;flex-direction:column}
  .footer-nav{justify-content:flex-start}
  .footer-bottom{align-items:flex-start;flex-direction:column}
}
@media(max-width:680px){
  .site-footer{padding:42px 0 26px}
  .footer-brand{font-size:23px}
  .footer-nav{display:grid;grid-template-columns:1fr 1fr;width:100%;gap:15px 22px;font-size:12.5px}
  .footer-rule{margin:27px 0 22px}
  .footer-bottom{gap:18px;font-size:12px}
  .footer-legal-links{gap:13px 23px}
  .footer-copy{white-space:normal}
}

@media(max-width:920px){
  .case-item{
    grid-template-columns:1fr;
    gap:30px;
  }
  .case-image-shell{height:340px;max-width:760px}
  .case-body{max-width:760px}
  .consult-points{
    grid-template-columns:1fr;
    border-bottom:0;
  }
  .consult-point,
  .consult-point:first-child,
  .consult-point:last-child{
    padding:28px 4px 30px;
    border-right:0;
    border-bottom:1px solid #cfd7dc;
  }
}

@media(max-width:680px){
  .case-studies{padding:61px 0 66px}
  .case-head{margin-bottom:27px}
  .case-intro{font-size:14px;line-height:1.9}
  .case-list{margin-top:42px}
  .case-item{padding:29px 0 32px;gap:24px}
  .case-image-shell{height:235px}
  .case-image-note{left:17px;right:17px;bottom:17px;padding:11px 12px;font-size:10.5px}
  .case-image-note strong{font-size:12.5px}
  .case-category{font-size:11.5px;margin-bottom:6px}
  .case-copy h3{font-size:20px;line-height:1.65}
  .case-company{font-size:13px;margin-top:8px}
  .case-body{margin-top:15px;font-size:14px;line-height:1.85}
  .case-link{margin-top:17px;font-size:14px;white-space:normal;text-align:left}
  .first-consultation{padding:61px 0 66px}
  .consult-head{text-align:left}
  .consult-head h2{text-align:left}
  .mobile-semantic-break{display:block}
  .mobile-only-break{display:block}
  .desktop-separator{display:none}
  .consult-body{margin-top:20px;font-size:14px;line-height:1.9;text-align:left}
  .consult-points{margin-top:40px}
  .consult-point,
  .consult-point:first-child,
  .consult-point:last-child{padding:26px 0 28px}
  .consult-point h3{font-size:18px;line-height:1.65}
  .consult-point p{margin-top:12px;font-size:14px}
  .consult-action{margin-top:36px;text-align:left}
  .consult-button{width:100%;padding:0 20px;font-size:14.5px}
  .consult-note{text-align:center;font-size:12px}
}


@media(max-width:920px) and (min-width:681px){
  .issues,.growth,.support-block,.support-reason,.case-studies,.first-consultation{
    padding-top:78px;
    padding-bottom:84px;
  }
  .growth-responsibility{margin-top:58px}
}




/* ===== integrated common site parts v1 ===== */
.header{height:78px;position:sticky;top:0;z-index:50;background:rgba(255,254,250,.97);border-bottom:1px solid var(--line);backdrop-filter:blur(8px)}
.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:28px}
.header .brand{display:flex;align-items:center;gap:11px;color:var(--navy);font-weight:750;letter-spacing:.08em;white-space:nowrap}
.header .brand-mark{width:29px;height:29px;position:relative;border:2px solid var(--blue);border-radius:50%}
.header .brand-mark:before,.header .brand-mark:after{content:"";position:absolute;border-radius:50%;border:2px solid var(--gold)}
.header .brand-mark:before{width:15px;height:15px;left:4px;top:4px;border-left-color:transparent}
.header .brand-mark:after{width:7px;height:7px;left:9px;top:9px;border-right-color:transparent}
.header .brand-text{font-size:18px}
.header .nav{display:flex;align-items:center;gap:24px;font-size:12.8px;font-weight:650;color:#314154}
.header .nav a:not(.nav-cta){position:relative;padding:10px 0}
.header .nav a:not(.nav-cta):after{content:"";position:absolute;left:0;right:100%;bottom:5px;height:1px;background:var(--blue);transition:.2s}
.header .nav a:not(.nav-cta):hover:after{right:0}
.header .nav-cta{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 20px;background:var(--navy);color:#fff;font-size:13px;font-weight:750}
.header .mobile-actions{display:none;align-items:center;gap:8px}
.header .mobile-cta{display:inline-flex;min-height:38px;align-items:center;padding:0 13px;border:1px solid var(--navy);color:var(--navy);font-size:11.5px;font-weight:750;white-space:nowrap}
.header .menu-button{width:39px;height:39px;border:1px solid var(--line);background:#fff;display:grid;place-items:center;padding:0;cursor:pointer}
.header .menu-button span,.header .menu-button span:before,.header .menu-button span:after{display:block;width:17px;height:1.5px;background:var(--navy);position:relative;transition:.2s}
.header .menu-button span:before,.header .menu-button span:after{content:"";position:absolute;left:0}
.header .menu-button span:before{top:-5px}.header .menu-button span:after{top:5px}
.header .menu-button[aria-expanded="true"] span{background:transparent}
.header .menu-button[aria-expanded="true"] span:before{top:0;transform:rotate(45deg)}
.header .menu-button[aria-expanded="true"] span:after{top:0;transform:rotate(-45deg)}
.mobile-menu-panel{display:none;position:fixed;top:78px;left:0;right:0;z-index:45;background:rgba(255,254,250,.99);border-bottom:1px solid var(--line);box-shadow:0 12px 26px rgba(16,43,80,.07)}
.mobile-menu-panel.is-open{display:block}
.mobile-menu-inner{width:min(1180px,calc(100% - 48px));margin:0 auto;padding:20px 0 24px;display:grid}
.mobile-menu-inner a{padding:12px 2px;border-bottom:1px solid var(--line);color:#314154;font-size:14px;font-weight:700}
.mobile-menu-inner a:last-child{border-bottom:0}

.common-cta{background:linear-gradient(135deg,#102b50 0%,#173b66 100%);color:#fff;padding:86px 0 92px}
.common-cta .cta-inner{max-width:1020px;margin:0 auto;text-align:left}
.common-cta .cta-kicker{color:#d8c59d;font-size:12px;font-weight:800;letter-spacing:.08em;margin-bottom:11px}
.common-cta h2{position:static;max-width:880px;margin:0;padding:0;color:#fff;font-size:34px;line-height:1.62;font-weight:750;text-align:left}
.common-cta h2:before{display:none}
.common-cta .cta-body{max-width:1020px;margin:24px 0 0;color:#e2e9ef;font-size:15px;line-height:1.95;text-align:left}
.common-cta .cta-body p{margin:0}
.common-cta .cta-body p+p{margin-top:0}
.common-cta .cta-meta{display:flex;flex-wrap:wrap;gap:0;margin-top:28px;color:#fff;font-size:13.5px;font-weight:700}
.common-cta .cta-meta span{display:flex;align-items:center}
.common-cta .cta-meta span+span:before{content:"";width:1px;height:15px;margin:0 16px;background:rgba(255,255,255,.34)}
.common-cta .cta-action{margin-top:31px;text-align:left}
.common-cta .cta-button{display:inline-flex;align-items:center;justify-content:center;min-width:250px;min-height:54px;padding:0 28px;background:#fff;color:var(--navy);font-size:14px;font-weight:800}
.common-cta .cta-button:after{content:"→";margin-left:11px;font-size:16px}

.site-footer{background:#27363a;color:#fff;padding:54px 0 29px;text-align:left}
.site-footer .footer-top{display:flex;align-items:flex-start;justify-content:space-between;gap:46px}
.site-footer .footer-brand-wrap{min-width:260px}
.site-footer .footer-brand{display:flex;align-items:center;gap:12px;font-size:28px;font-weight:800;letter-spacing:.05em;white-space:nowrap;color:#fff}
.site-footer .footer-brand .brand-mark{width:29px;height:29px;position:relative;border:2px solid #fff;border-radius:50%}
.site-footer .footer-brand .brand-mark:before,.site-footer .footer-brand .brand-mark:after{content:"";position:absolute;border-radius:50%;border:2px solid #fff}
.site-footer .footer-brand .brand-mark:before{width:15px;height:15px;left:4px;top:4px;border-left-color:transparent}
.site-footer .footer-brand .brand-mark:after{width:7px;height:7px;left:9px;top:9px;border-right-color:transparent}
.site-footer .footer-company{margin-top:10px;color:#d3dde4;font-size:12.5px}
.site-footer .footer-tag{margin-top:4px;color:#bfcbd4;font-size:12px}
.site-footer .footer-nav-wrap{display:grid;grid-template-columns:auto auto;gap:14px 42px;font-size:13px;font-weight:750}
.site-footer .footer-nav-wrap a{color:#fff}
.site-footer .footer-rule{height:1px;margin:31px 0 24px;background:rgba(255,255,255,.23)}
.site-footer .footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:28px;font-size:12.5px;font-weight:700;color:#d8e0e6}
.site-footer .footer-copy{white-space:nowrap}

@media(min-width:1041px){
  .header .nav{display:flex!important}.header .mobile-actions{display:none!important}.mobile-menu-panel{display:none!important}
}
@media(max-width:1040px){
  .header .nav{display:none!important}.header .mobile-actions{display:flex!important}
  .mobile-menu-panel{top:78px}
}
@media(max-width:900px){
  .site-footer .footer-top{flex-direction:column}
  .mobile-menu-inner{width:calc(100% - 42px)}
}
@media(max-width:680px){
  .header{height:66px}.header .brand-mark{width:25px;height:25px}.header .brand-text{font-size:15px;letter-spacing:.04em}
  .header .mobile-cta{min-height:36px;padding:0 10px;font-size:10.5px}.header .menu-button{width:36px;height:36px}
  .mobile-menu-panel{top:66px}.mobile-menu-inner{width:calc(100% - 32px);padding:16px 0 20px}
  .common-cta{padding:62px 0 66px}.common-cta h2{font-size:27px;line-height:1.65}.common-cta .cta-body{font-size:14px;line-height:1.92}
  .common-cta .cta-meta{display:grid;gap:6px;margin-top:23px}.common-cta .cta-meta span+span:before{display:none}.common-cta .cta-button{width:100%;min-width:0}
  .site-footer{padding:42px 0 26px}.site-footer .footer-brand{font-size:23px}.site-footer .footer-nav-wrap{grid-template-columns:1fr 1fr;width:100%;gap:14px 24px;font-size:12.5px}.site-footer .footer-rule{margin:27px 0 22px}.site-footer .footer-bottom{flex-direction:column;align-items:flex-start;gap:14px;font-size:12px}.site-footer .footer-copy{white-space:normal}
}




/* ===== top integrated v2 refinements ===== */
.support-heading-mobile-v2{display:none}
.support-detail-route{margin-top:34px;text-align:center}
.support-detail-route a{display:inline-flex;align-items:center;gap:11px;padding:5px 0;border-bottom:1px solid var(--navy);color:var(--navy);font-size:14px;font-weight:800}
.support-detail-route a:after{content:"→";font-size:17px}
.site-footer{padding:44px 0 25px}
.site-footer .footer-top{display:flex;align-items:center;justify-content:space-between;gap:38px}
.site-footer .footer-brand{flex:none}
.site-footer .footer-nav-main{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:14px 30px;font-size:12.5px;font-weight:750}
.site-footer .footer-rule{margin:24px 0 20px}
.site-footer .footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:28px}
.site-footer .footer-legal-links{display:flex;align-items:center;flex-wrap:wrap;gap:12px 30px;font-size:12px;font-weight:700}
.site-footer .footer-nav-main a,.site-footer .footer-legal-links a{color:#fff}
@media(max-width:980px){
  .site-footer .footer-top{align-items:flex-start;flex-direction:column;gap:25px}
  .site-footer .footer-nav-main{justify-content:flex-start}
  .site-footer .footer-bottom{align-items:flex-start;flex-direction:column;gap:15px}
}
@media(max-width:680px){
  .support-heading-pc-v2{display:none}.support-heading-mobile-v2{display:inline}
  .support-detail-route{margin-top:28px;text-align:left}
  .site-footer{padding:38px 0 24px}
  .site-footer .footer-nav-main{display:grid;grid-template-columns:1fr 1fr;width:100%;gap:13px 22px;font-size:12.5px}
  .site-footer .footer-rule{margin:23px 0 19px}
  .site-footer .footer-legal-links{display:grid;grid-template-columns:1fr 1fr;width:100%;gap:12px 20px;font-size:12px}
}



/* ===== top integrated v3 refinements ===== */
.support-copy-break{display:block}

/* CTA: desktop lower row uses the full width instead of accumulating weight on the left */
.common-cta{padding:78px 0 80px}
.common-cta .cta-bottom{display:flex;align-items:center;justify-content:space-between;gap:36px;margin-top:29px}
.common-cta .cta-bottom .cta-meta{margin-top:0;flex:1}
.common-cta .cta-bottom .cta-action{margin-top:0;flex:none}

/* footer: compact two-row desktop layout */
.site-footer .footer-brand-block{flex:none}
.site-footer .footer-tagline{margin-top:5px;color:#c4cfd7;font-size:11.5px;font-weight:600;letter-spacing:.02em}

@media(max-width:980px){
  .common-cta .cta-bottom{align-items:flex-start;flex-direction:column;gap:24px}
}
@media(max-width:680px){
  .common-cta{padding:62px 0 66px}
  .common-cta .cta-bottom{display:grid;grid-template-columns:1fr;gap:23px;margin-top:23px}
  .common-cta .cta-bottom .cta-meta{margin-top:0}
  .common-cta .cta-bottom .cta-action{width:100%;margin-top:0}
  .site-footer .footer-tagline{margin-top:4px;font-size:11px}
}



/* ===== top integrated v4 refinements ===== */
/* semantic line break: company/supervisor roles -> person's own role */
.responsibility-break{display:block}

/* CTA: keep conditions and action as one visual group, slightly more compact */
.common-cta{padding:72px 0 74px}
.common-cta .cta-body{margin-top:22px}
.common-cta .cta-bottom{justify-content:flex-start;gap:46px;margin-top:24px}
.common-cta .cta-bottom .cta-meta{flex:0 1 auto}
.common-cta .cta-bottom .cta-action{flex:none}

/* Footer: center tagline under brand; align main navigation with tagline baseline */
.site-footer .footer-top{align-items:flex-end}
.site-footer .footer-brand-block{display:flex;flex-direction:column;align-items:center}
.site-footer .footer-tagline{width:100%;margin-top:6px;text-align:center}
.site-footer .footer-nav-main{padding-bottom:1px}

@media(max-width:980px){
  .site-footer .footer-top{align-items:flex-start}
  .site-footer .footer-brand-block{align-items:flex-start}
  .site-footer .footer-tagline{text-align:left}
  .site-footer .footer-nav-main{padding-bottom:0}
}
@media(max-width:680px){
  .responsibility-break{display:none}
  .common-cta{padding:60px 0 64px}
  .common-cta .cta-bottom{gap:19px;margin-top:21px}
}



/* ===== top integrated v5 refinements ===== */
/* tablet: keep support explanation compact */
@media(min-width:681px) and (max-width:1040px){
  .support-copy-break{display:none}
}

/* mobile heading control */
@media(max-width:680px){
  .issues h2 br.mobile-only-break{display:none}
  .growth h2 br.mobile-only-break{display:none}
  .case-head h2{font-size:22px;letter-spacing:0;white-space:nowrap}
  .growth-definition .definition-main{font-size:19.5px;letter-spacing:0}
}

/* CTA: desktop button left / conditions right, mobile button above conditions */
.common-cta{padding:70px 0 72px}
.common-cta .cta-bottom{margin-top:24px}
@media(min-width:681px){
  .common-cta .cta-bottom{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:34px}
  .common-cta .cta-bottom .cta-action{order:1;margin-top:0}
  .common-cta .cta-bottom .cta-meta{order:2;display:flex;flex-wrap:wrap;gap:0;justify-content:flex-start;margin-top:0}
}
@media(max-width:680px){
  .common-cta .cta-bottom{display:flex;flex-direction:column;align-items:stretch;gap:18px;margin-top:21px}
  .common-cta .cta-bottom .cta-action{order:1;width:100%;margin-top:0}
  .common-cta .cta-bottom .cta-meta{order:2;margin-top:0}
}

/* footer: move secondary links a bit right and align more naturally under brand area */
.site-footer .footer-bottom{display:grid;grid-template-columns:320px 1fr;align-items:center;gap:28px}
.site-footer .footer-legal-links{padding-left:28px}
.site-footer .footer-copy{justify-self:end}
@media(max-width:980px){
  .site-footer .footer-bottom{display:flex;align-items:flex-start;flex-direction:column;gap:15px}
  .site-footer .footer-legal-links{padding-left:0}
  .site-footer .footer-copy{justify-self:auto}
}

/* specific title handling */
.case-title-mobile-break{display:none}
@media(max-width:680px){
  .case-title-mobile-break{display:block}
  .case-title-line1{white-space:nowrap}
}



/* final mobile definition line break */
@media(max-width:680px){
  .growth-definition .definition-break{display:block}
  .growth-definition .definition-main{font-size:18.5px;line-height:1.78;letter-spacing:0}
}



/* ===== final v3: tablet refinement for experience section ===== */
/* Around tablet widths, the two-column layout makes the heading too narrow.
   Stack this section earlier instead of shrinking the heading. */
@media(max-width:1180px){
  .support-reason .reason-grid{grid-template-columns:1fr!important;gap:40px!important}
  .support-reason .reason-body{max-width:760px}
  .support-reason .reason-visual{min-height:auto}
  .support-reason .reason-image-shell{width:100%;max-width:760px;height:360px;margin:0 auto}
}
@media(max-width:680px){
  .support-reason .reason-grid{gap:31px!important}
  .support-reason .reason-image-shell{height:270px}
}



/* ===== final v6: page-to-page navigation before the existing consultation CTA ===== */
.next-content{
  background:var(--paper);
  padding:44px 0 46px;
  border-top:1px solid var(--line);
}
.next-content-link{
  min-height:96px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:32px;
  padding:22px 26px;
  border-top:1px solid #cfd7dc;
  border-bottom:1px solid #cfd7dc;
  transition:background .18s ease,border-color .18s ease;
}
.next-content-link:hover{background:rgba(234,243,246,.34);border-color:#bdcbd3}
.next-content-copy{min-width:0}
.next-content-kicker{
  margin-bottom:5px;
  color:#0069c6;
  font-size:11px;
  font-weight:800;
  letter-spacing:.08em;
}
.next-content-title{
  color:var(--navy);
  font-size:24px;
  line-height:1.5;
  font-weight:750;
}
.next-content-desc{
  margin-top:4px;
  color:var(--muted);
  font-size:13px;
  line-height:1.75;
}
.next-content-action{
  flex:none;
  display:inline-flex;
  align-items:center;
  gap:12px;
  color:#0069c6;
  font-size:14px;
  font-weight:800;
  white-space:nowrap;
}
.next-content-action span{font-size:18px;line-height:1}
@media(max-width:680px){
  .next-content{padding:32px 0 34px}
  .next-content-link{min-height:0;padding:20px 0;align-items:flex-end;gap:18px}
  .next-content-title{font-size:21px}
  .next-content-desc{font-size:12.5px}
  .next-content-action{font-size:13px}
  .next-content-action .action-text{display:none}
}



/* ===== final site integration: shared compact footer ===== */
.site-footer{background:#27363a;color:#fff;padding:44px 0 25px;text-align:left}
.site-footer .footer-top{display:flex;align-items:flex-end;justify-content:space-between;gap:38px}
.site-footer .footer-brand-block{flex:none;display:flex;flex-direction:column;align-items:center}
.site-footer .footer-brand{display:flex;align-items:center;gap:12px;font-size:28px;font-weight:800;letter-spacing:.05em;white-space:nowrap;color:#fff}
.site-footer .footer-tagline{width:100%;margin-top:6px;color:#c4cfd7;font-size:11.5px;font-weight:600;letter-spacing:.02em;text-align:center}
.site-footer .footer-nav-main{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:14px 30px;padding-bottom:1px;font-size:12.5px;font-weight:750}
.site-footer .footer-rule{height:1px;margin:24px 0 20px;background:rgba(255,255,255,.23)}
.site-footer .footer-bottom{display:grid;grid-template-columns:320px 1fr;align-items:center;gap:28px;color:#d8e0e6;font-size:12.5px;font-weight:700}
.site-footer .footer-legal-links{display:flex;align-items:center;flex-wrap:wrap;gap:12px 30px;padding-left:28px;font-size:12px;font-weight:700}
.site-footer .footer-copy{justify-self:end;white-space:nowrap}
.site-footer .footer-nav-main a,.site-footer .footer-legal-links a{color:#fff}
.site-footer .footer-brand .brand-mark{width:29px;height:29px;position:relative;border:2px solid #fff;border-radius:50%}
.site-footer .footer-brand .brand-mark:before,.site-footer .footer-brand .brand-mark:after{content:"";position:absolute;border-radius:50%;border:2px solid #fff}
.site-footer .footer-brand .brand-mark:before{width:15px;height:15px;left:4px;top:4px;border-left-color:transparent}
.site-footer .footer-brand .brand-mark:after{width:7px;height:7px;left:9px;top:9px;border-right-color:transparent}
@media(max-width:980px){
  .site-footer .footer-top{align-items:flex-start;flex-direction:column;gap:25px}
  .site-footer .footer-brand-block{align-items:flex-start}
  .site-footer .footer-tagline{text-align:left}
  .site-footer .footer-nav-main{justify-content:flex-start;padding-bottom:0}
  .site-footer .footer-bottom{display:flex;align-items:flex-start;flex-direction:column;gap:15px}
  .site-footer .footer-legal-links{padding-left:0}
  .site-footer .footer-copy{justify-self:auto}
}
@media(max-width:680px){
  .site-footer{padding:38px 0 24px}
  .site-footer .footer-brand{font-size:23px}
  .site-footer .footer-nav-main{display:grid;grid-template-columns:1fr 1fr;width:100%;gap:13px 22px;font-size:12.5px}
  .site-footer .footer-rule{margin:23px 0 19px}
  .site-footer .footer-legal-links{display:grid;grid-template-columns:1fr 1fr;width:100%;gap:12px 20px;font-size:12px}
  .site-footer .footer-copy{white-space:normal}
}



/* ===== footer revision: company profile moved to secondary links ===== */
@media(min-width:981px){
  .site-footer .footer-bottom{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:28px;
  }
  .site-footer .footer-legal-links{
    display:flex;
    align-items:center;
    flex-wrap:nowrap;
    gap:30px;
    padding-left:0;
    white-space:nowrap;
  }
  .site-footer .footer-copy{
    flex:none;
    margin-left:auto;
  }
}
@media(max-width:680px){
  .site-footer .footer-legal-links a:first-child{grid-column:1 / -1}
}


/* ===== WordPress renewal provisional integration ===== */
.p-renewal-top-wrap{position:relative;overflow:hidden}
.p-renewal-top-wrap > .c-fixed-bg{pointer-events:none}
.p-renewal-top-wrap .p-renewal-top-image-shell img{display:block;width:100%;height:100%;object-fit:cover}
.p-renewal-top-wrap .hero .p-renewal-top-image-shell img{object-position:center}
.p-renewal-top-wrap .reason-image-shell img{object-position:center 20%}
.p-renewal-top-wrap .case-image-shell img{object-position:center}
.p-renewal-top-wrap .image-note,.p-renewal-top-wrap .reason-image-note,.p-renewal-top-wrap .case-image-note{display:none!important}
.p-renewal-top-contact{position:relative;z-index:2}
/* Hide legacy review labels if any content/filter reintroduces them. */
.review-bar{display:none!important}


/* ===== sitewide v2: reveal shared fixed-wave background on the top page ===== */
.p-renewal-top-wrap > .c-fixed-bg{opacity:.86}
.p-renewal-top-wrap .hero,
.p-renewal-top-wrap .growth,
.p-renewal-top-wrap .support-reason,
.p-renewal-top-wrap .first-consultation,
.p-renewal-top-wrap .next-content{background:rgba(255,254,250,.95)}
.p-renewal-top-wrap .issues,
.p-renewal-top-wrap .support-block,
.p-renewal-top-wrap .case-studies{background:rgba(248,245,237,.94)}


/* ===== sitewide v3: use the same fixed-wave stacking model as service/about ===== */
.p-renewal-top-wrap > .c-fixed-bg{opacity:.86}

/* ===== sitewide v4: top-only reliable fixed-wave background =====
   The shared .c-fixed-bg is covered by legacy top-page stacking contexts.
   Paint the same approved wave asset directly on the top wrapper instead. */
.p-renewal-top-wrap{
  background-image:url(../images/common/bg_mv.png);
  background-position:center 56%;
  background-repeat:no-repeat;
  background-size:cover;
  background-attachment:fixed;
}
.p-renewal-top-wrap > .c-fixed-bg{display:none!important}

@media screen and (max-width:767px){
  .p-renewal-top-wrap{
    background-image:url(../images/common/bg_mv_sp.png);
    background-position:center center;
    background-size:cover;
    background-attachment:scroll;
  }
}

/* ===== sitewide v5: fixed viewport wave for top page =====
   v4 painted the 1440x732 asset on the full page wrapper with cover,
   which enlarged it against the very tall page and made the wave effectively disappear.
   Keep one viewport-sized fixed layer instead, matching the service/contact behavior. */
.p-renewal-top-wrap{
  position:relative;
  overflow:visible;
  isolation:isolate;
  background-image:none!important;
}
.p-renewal-top-wrap::before{
  content:"";
  position:fixed;
  left:0;
  top:0;
  width:100vw;
  height:100vh;
  z-index:0;
  pointer-events:none;
  background-image:url(../images/common/bg_mv.png);
  background-position:center center;
  background-repeat:no-repeat;
  background-size:cover;
  opacity:.74;
}
.p-renewal-top-wrap > .c-fixed-bg{display:none!important}
.p-renewal-top-wrap > section,
.p-renewal-top-wrap > #support-block{
  position:relative;
  z-index:1;
}
@media screen and (max-width:767px){
  .p-renewal-top-wrap::before{
    position:absolute;
    width:100%;
    height:73.2rem;
    background-image:url(../images/common/bg_mv_sp.png);
    background-position:center top;
    background-size:cover;
  }
}


/* ===== sitewide v6: keep the wave visible through every top-page section =====
   The fixed wave layer is already working. The remaining issue was that the
   section fills were too opaque, and the main wrapper ended before case studies.
   Keep the approved white/ivory rhythm while allowing the same wave to remain visible. */
.p-renewal-top-wrap .hero,
.p-renewal-top-wrap .growth,
.p-renewal-top-wrap .support-reason,
.p-renewal-top-wrap .first-consultation,
.p-renewal-top-wrap .next-content{
  background:rgba(255,254,250,.86)!important;
}
.p-renewal-top-wrap .issues,
.p-renewal-top-wrap .support-block,
.p-renewal-top-wrap .case-studies{
  background:rgba(248,245,237,.84)!important;
}

/* All top-page sections stay above the decorative wave, while their translucent
   fills preserve the page's alternating surface colors. */
.p-renewal-top-wrap > section{
  position:relative;
  z-index:1;
}


/* ===== top wave visibility v7: top-page sections transparent =====
   Keep the fixed wave layer already defined above.
   Only remove the outer section fills on the top page so the wave remains visible.
   CTA/footer/card/image backgrounds are intentionally untouched. */
.p-renewal-top-wrap .hero,
.p-renewal-top-wrap .issues,
.p-renewal-top-wrap .growth,
.p-renewal-top-wrap .support-block,
.p-renewal-top-wrap .support-reason,
.p-renewal-top-wrap .case-studies,
.p-renewal-top-wrap .first-consultation,
.p-renewal-top-wrap .next-content{
  background:transparent!important;
}


/* ===== top v8: final-balance review adjustments =====
   Scope: top page only.
   - tighten section rhythm
   - restyle the growth summary without a filled card
   - hide the representative portrait for comparison
   - preview footer tagline slightly right and without the final punctuation
   Existing wave-background v7 remains unchanged.
*/

/* 1) Section rhythm: reduce the large vertical gaps without changing internal layouts. */
@media (min-width:921px){
  .p-renewal-top-wrap .issues,
  .p-renewal-top-wrap .growth,
  .p-renewal-top-wrap .support-block,
  .p-renewal-top-wrap .support-reason,
  .p-renewal-top-wrap .case-studies,
  .p-renewal-top-wrap .first-consultation{
    padding-top:44px!important;
    padding-bottom:46px!important;
  }

  /* The FV used its own 80px bottom padding, so tighten only its lower edge. */
  .p-renewal-top-wrap .hero-grid{
    padding-bottom:46px!important;
  }
}
@media (max-width:920px) and (min-width:681px){
  .p-renewal-top-wrap .issues,
  .p-renewal-top-wrap .growth,
  .p-renewal-top-wrap .support-block,
  .p-renewal-top-wrap .support-reason,
  .p-renewal-top-wrap .case-studies,
  .p-renewal-top-wrap .first-consultation{
    padding-top:58px!important;
    padding-bottom:62px!important;
  }
}
@media (max-width:680px){
  .p-renewal-top-wrap .issues,
  .p-renewal-top-wrap .growth,
  .p-renewal-top-wrap .support-block,
  .p-renewal-top-wrap .support-reason,
  .p-renewal-top-wrap .case-studies,
  .p-renewal-top-wrap .first-consultation{
    padding-top:50px!important;
    padding-bottom:54px!important;
  }
}

/* 2) Growth summary: make it read as a section conclusion, not a separate card. */
.p-renewal-top-wrap .growth-responsibility{
  position:relative;
  max-width:1040px;
  margin-top:46px;
  padding:26px 0 0;
  background:transparent!important;
  border-left:0!important;
}
.p-renewal-top-wrap .growth-responsibility::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  width:42px;
  height:2px;
  background:var(--gold);
}
.p-renewal-top-wrap .growth-responsibility h3{
  font-size:20px;
  line-height:1.65;
}
.p-renewal-top-wrap .growth-responsibility p{
  max-width:980px;
  margin-top:12px;
}
@media(max-width:680px){
  .p-renewal-top-wrap .growth-responsibility{
    margin-top:42px;
    padding-top:24px;
  }
  .p-renewal-top-wrap .growth-responsibility h3{
    font-size:18px;
  }
}

/* 3) Representative portrait: remove it for this comparison version and let the copy stand alone. */
.p-renewal-top-wrap .support-reason .reason-visual{
  display:none!important;
}
.p-renewal-top-wrap .support-reason .reason-grid{
  display:block!important;
}
.p-renewal-top-wrap .support-reason .reason-copy{
  max-width:920px;
}
.p-renewal-top-wrap .support-reason .reason-body{
  max-width:850px;
}

/* 4) Footer tagline preview: slightly right on desktop, no final punctuation visually.
   The underlying footer HTML is untouched in this top-only test version. */
.site-footer .footer-tagline{
  font-size:0!important;
}
.site-footer .footer-tagline::before{
  content:"仕事を楽しく、意味あるものに";
  font-size:11.5px;
  font-weight:600;
  letter-spacing:.02em;
}
@media(min-width:981px){
  .site-footer .footer-tagline{
    transform:translateX(17px);
  }
}
@media(max-width:980px){
  .site-footer .footer-tagline{
    transform:none;
  }
}
@media(max-width:680px){
  .site-footer .footer-tagline::before{
    font-size:11px;
  }
}


/* ===== top v10: real-copy growth-summary layout =====
   The copy now lives in front-page.php; this block only styles that markup. */
.p-renewal-top-wrap .growth-responsibility__list{
  max-width:920px;
  margin-top:20px;
  display:grid;
  gap:0;
  border-top:1px solid rgba(16,43,80,.18);
}
.p-renewal-top-wrap .growth-responsibility__item{
  margin:0!important;
  padding:13px 0;
  display:grid;
  grid-template-columns:120px minmax(0,1fr);
  gap:20px;
  align-items:baseline;
  border-bottom:1px solid rgba(16,43,80,.14);
  color:var(--muted);
  font-size:14.5px;
  line-height:1.85;
}
.p-renewal-top-wrap .growth-responsibility__item strong{
  color:var(--navy);
  font-size:14px;
  font-weight:800;
  letter-spacing:.02em;
}
.p-renewal-top-wrap .growth-responsibility__item span{
  min-width:0;
}
.p-renewal-top-wrap .growth-responsibility__close{
  max-width:920px!important;
  margin-top:19px!important;
  color:var(--navy)!important;
  font-size:15px!important;
  line-height:1.9!important;
  font-weight:700;
}
@media(max-width:680px){
  .p-renewal-top-wrap .growth-responsibility__list{
    margin-top:17px;
  }
  .p-renewal-top-wrap .growth-responsibility__item{
    grid-template-columns:1fr;
    gap:3px;
    padding:11px 0;
    font-size:14px;
    line-height:1.8;
  }
  .p-renewal-top-wrap .growth-responsibility__item strong{
    font-size:13.5px;
  }
  .p-renewal-top-wrap .growth-responsibility__close{
    margin-top:16px!important;
    font-size:14px!important;
  }
}


/* ===== top v12: align top-page visual system to finished About page ===== */
.p-renewal-top-wrap .top-shared-label{
  margin:0;
  padding:0;
}
.p-renewal-top-wrap .top-section-head > .top-shared-label + h2{
  margin-top:4.2rem;
}

@media(min-width:921px){
  .p-renewal-top-wrap .issues,
  .p-renewal-top-wrap .growth,
  .p-renewal-top-wrap .support-block,
  .p-renewal-top-wrap .support-reason,
  .p-renewal-top-wrap .case-studies{
    padding-top:4.8rem!important;
    padding-bottom:2.6rem!important;
  }

  .p-renewal-top-wrap .hero{
    min-height:0!important;
    display:block!important;
  }
  .p-renewal-top-wrap .hero-grid{
    display:grid!important;
    grid-template-columns:minmax(0,1.12fr) minmax(360px,.88fr)!important;
    grid-template-areas:
      "label label"
      "copy image";
    column-gap:48px!important;
    row-gap:5.2rem!important;
    align-items:start!important;
    padding:10.8rem 0 3.2rem!important;
  }
  .p-renewal-top-wrap .hero-shared-label{
    grid-area:label;
  }
  .p-renewal-top-wrap .hero-copy{
    grid-area:copy;
    align-self:start;
  }
  .p-renewal-top-wrap .hero-visual{
    grid-area:image;
    align-self:start;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    display:block!important;
  }
  .p-renewal-top-wrap .hero .image-shell{
    margin:0!important;
  }
}

@media(max-width:920px){
  .p-renewal-top-wrap .hero{
    min-height:0!important;
    display:block!important;
  }
  .p-renewal-top-wrap .hero-grid{
    display:grid!important;
    grid-template-columns:1fr!important;
    grid-template-areas:
      "label"
      "copy"
      "image";
    gap:0!important;
    padding:6.2rem 0 6.6rem!important;
  }
  .p-renewal-top-wrap .hero-shared-label{
    grid-area:label;
    margin-bottom:3.6rem;
  }
  .p-renewal-top-wrap .hero-copy{
    grid-area:copy;
  }
  .p-renewal-top-wrap .hero-visual{
    grid-area:image;
    margin-top:3.4rem;
    min-height:0!important;
  }
}

.p-renewal-top-wrap .eyebrow,
.p-renewal-top-wrap .kicker{
  display:none!important;
}


/* ===== top v13: About page as visual source of truth =====
   Desktop focus:
   - same FV start distance from header as completed About page
   - same small-heading component in the same copy-column structure
   - same small-heading -> main-title spacing
   - photo begins at the visual top of the main title
   - section rhythm follows the same top-heavy cadence as About
*/

@media(min-width:921px){
  .p-renewal-top-wrap .hero{
    min-height:0!important;
    display:block!important;
  }

  .p-renewal-top-wrap .hero-grid{
    display:grid!important;
    grid-template-columns:minmax(0,1.12fr) minmax(360px,.88fr)!important;
    grid-template-areas:"copy image"!important;
    column-gap:48px!important;
    row-gap:0!important;
    align-items:start!important;

    /* Completed About FV: desktop starts at 19rem and finishes with a short 5rem tail. */
    padding:19rem 0 5rem!important;
  }

  .p-renewal-top-wrap .hero-copy{
    grid-area:copy!important;
    align-self:start!important;
    max-width:760px;
  }

  .p-renewal-top-wrap .hero-shared-label{
    margin:0!important;
    padding:0!important;
  }

  /* Completed About page uses 5.2rem between the shared small heading and main title. */
  .p-renewal-top-wrap .hero-copy > h1{
    margin-top:5.2rem!important;
  }

  .p-renewal-top-wrap .hero-visual{
    grid-area:image!important;
    align-self:start!important;
    min-height:0!important;
    display:block!important;
    padding:0!important;

    /* label line + 5.2rem title gap:
       nudged to align the visible photo edge with the visible H1 glyph edge. */
    margin:8.0rem 0 0!important;
  }

  .p-renewal-top-wrap .hero .image-shell{
    margin:0!important;
  }

  /* About-based section cadence.
     Keep the same generous start / shorter finish relationship without
     reintroducing the oversized gaps from the earliest Top versions. */
  .p-renewal-top-wrap .issues,
  .p-renewal-top-wrap .growth,
  .p-renewal-top-wrap .support-block,
  .p-renewal-top-wrap .support-reason,
  .p-renewal-top-wrap .case-studies{
    padding-top:10.5rem!important;
    padding-bottom:6.8rem!important;
  }

  /* Shared small heading -> section title spacing, identical rule across Top. */
  .p-renewal-top-wrap .top-section-head > .top-shared-label + h2{
    margin-top:4.2rem!important;
  }
}

/* Keep the existing mobile/tablet structure safe until the dedicated responsive pass. */
@media(max-width:920px){
  .p-renewal-top-wrap .hero-grid{
    grid-template-areas:
      "copy"
      "image"!important;
  }
  .p-renewal-top-wrap .hero-copy{
    grid-area:copy!important;
  }
  .p-renewal-top-wrap .hero-shared-label{
    margin-bottom:0!important;
  }
  .p-renewal-top-wrap .hero-copy > h1{
    margin-top:3.6rem!important;
  }
  .p-renewal-top-wrap .hero-visual{
    grid-area:image!important;
    margin-top:3.4rem!important;
  }
}

/* ===== top v14: align to the ACTUAL final About CSS values =====
   Source of truth: current about.css after all later overrides.
   Scope is intentionally limited to shared-heading/FV alignment on Top.
   No PHP, section content, cards, wave background, CTA, or footer changes. */

/* About final: the small logo mark is lowered slightly inside shared labels. */
.p-renewal-top-wrap .c-title-wrap.-small .logo-title .logo{
  position:relative;
  top:.45rem;
}

@media screen and (min-width:1241px){
  /* About final desktop FV resolves to 15.5rem top / 5rem bottom
     (the later v10 rule overrides the older 19rem top value). */
  .p-renewal-top-wrap .hero-grid{
    padding:15.5rem 0 5rem!important;
  }

  /* About final image offset is 12rem after its later v9 override. */
  .p-renewal-top-wrap .hero-visual{
    margin:12rem 0 0!important;
  }

  /* About final section start spacing is 11.5rem on desktop. */
  .p-renewal-top-wrap .issues,
  .p-renewal-top-wrap .growth,
  .p-renewal-top-wrap .support-block,
  .p-renewal-top-wrap .support-reason,
  .p-renewal-top-wrap .case-studies{
    padding-top:11.5rem!important;
  }

  /* About uses 5.2rem from shared small heading to section title. */
  .p-renewal-top-wrap .top-section-head > .top-shared-label + h2{
    margin-top:5.2rem!important;
  }
}

/* Keep 921–1240px behavior unchanged for this pass.
   The completed About page has its own tablet rules, and Top should be
   reviewed visually before copying those geometry values across. */


/* ===== top v16: latest PC visual QA =====
   Scope:
   - keep the approved Issues heading unchanged
   - soften the fixed wave slightly
   - match Top FV H1 size to About desktop
   - move the FV photo up to the visible H1 top
   - PHP handles the revised semantic desktop line breaks
   No changes to the temporary representative-photo comparison rule in this pass. */

/* The v5 fixed-wave layer was .74. Reduce it slightly so copy/diagram stay primary. */
.p-renewal-top-wrap::before{
  opacity:.62;
}

@media screen and (min-width:1241px){
  /* About FV title baseline: 4.4rem. */
  .p-renewal-top-wrap .hero-copy > h1{
    font-size:4.4rem!important;
  }

  /* Latest PC capture showed the photo edge roughly 3rem below the visible H1 edge. */
  .p-renewal-top-wrap .hero-visual{
    margin:9rem 0 0!important;
  }
}

/* ===== top v17: final CTA cleanup =====
   Representative portrait remains intentionally hidden on Top because
   the About page already carries that visual/context.
   Remove the legacy blue heading rule from the final consultation CTA. */
.p-renewal-top-contact .title::before,
.p-renewal-top-contact .title:before{
  display:none!important;
  content:none!important;
}


/* ===== top v18: final PC FV horizontal alignment =====
   Sitewide QA 2026-08-16.
   About / Service use the shared 120rem content width on desktop.
   Align only the Top FV container to that same left/right baseline.
   Vertical rhythm, responsive layouts, body sections, CTA and footer stay unchanged. */
@media screen and (min-width:1244px){
  .p-renewal-top-wrap .hero > .container{
    width:120rem!important;
    max-width:100%!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
}

/* ===== top final QA v7: remove top-only section-title vertical rule =====
   Sitewide QA decision: lower pages no longer use the blue vertical rule on
   section titles. Keep Top aligned by removing only the section-title rule
   and its reserved left padding. Hero, CTA, article headings and other pages
   are intentionally untouched. */
.p-renewal-top-wrap .top-section-head > h2{
  padding-left:0!important;
}
.p-renewal-top-wrap .top-section-head > h2::before{
  display:none!important;
  content:none!important;
}

/* ===== final QA v17: Top mobile CTA now uses the shared .p-renewal-contact component. ===== */


/* ===== 2026-08-19 smartphone hierarchy pass =====
   Phone only. Preserve PC/tablet geometry and copy; normalize hierarchy and
   release over-prescribed line breaks so headings read naturally. */
@media screen and (max-width:680px){
  .p-renewal-top-wrap .top-shared-label .logo-title{
    font-size:14px!important;
    line-height:1.5!important;
    font-weight:800!important;
    letter-spacing:.015em!important;
  }
  .p-renewal-top-wrap .top-shared-label .logo-title .logo{
    width:16px!important;
    height:17px!important;
    top:1px!important;
    flex:0 0 auto;
  }
  .p-renewal-top-wrap .hero-copy>h1{
    font-size:31px!important;
    line-height:1.5!important;
    font-weight:800!important;
    letter-spacing:-.012em!important;
  }
  .p-renewal-top-wrap .hero-body,
  .p-renewal-top-wrap .lead,
  .p-renewal-top-wrap .growth-copy,
  .p-renewal-top-wrap .support-copy,
  .p-renewal-top-wrap .reason-body,
  .p-renewal-top-wrap .case-intro,
  .p-renewal-top-wrap .case-body{
    font-size:15.5px!important;
    line-height:1.9!important;
    letter-spacing:.005em!important;
  }
  .p-renewal-top-wrap .top-section-head>.top-shared-label+h2{
    margin-top:20px!important;
  }
  .p-renewal-top-wrap .top-section-head>h2,
  .p-renewal-top-wrap .case-head h2{
    max-width:none!important;
    font-size:26px!important;
    line-height:1.5!important;
    font-weight:800!important;
    letter-spacing:-.012em!important;
    white-space:normal!important;
    text-wrap:pretty!important;
  }
  .p-renewal-top-wrap .top-section-head>h2 br,
  .p-renewal-top-wrap .case-head h2 br{
    display:none!important;
  }
  .p-renewal-top-wrap .lead{margin-top:18px!important}

  /* Middle-level headings must remain visibly above their child items. */
  .p-renewal-top-wrap .growth-responsibility h3,
  .p-renewal-top-wrap .seibi-route h3,
  .p-renewal-top-wrap .p-renewal-top-contact .title{
    font-weight:800!important;
  }
  .p-renewal-top-wrap .growth-responsibility h3{
    font-size:21px!important;
    line-height:1.5!important;
    letter-spacing:-.005em!important;
    text-wrap:pretty!important;
  }

  /* Child-item titles: clear, but one step below the section/middle headings. */
  .p-renewal-top-wrap .issue h3,
  .p-renewal-top-wrap .spiral-node h3,
  .p-renewal-top-wrap .support-scope h3,
  .p-renewal-top-wrap .case-copy h3,
  .p-renewal-top-wrap .consult-point h3{
    font-size:18px!important;
    line-height:1.55!important;
    font-weight:800!important;
    letter-spacing:-.005em!important;
  }
  .p-renewal-top-wrap .case-copy h3 br,
  .p-renewal-top-wrap .issue h3 br{
    display:none!important;
  }
  .p-renewal-top-wrap .case-title-line1{
    white-space:normal!important;
  }
  .p-renewal-top-wrap .case-title-mobile-break{
    display:none!important;
  }

  /* Body/list text: move one step up from the old 14px phone baseline. */
  .p-renewal-top-wrap .issue ul,
  .p-renewal-top-wrap .support-scope ul,
  .p-renewal-top-wrap .spiral-node p,
  .p-renewal-top-wrap .growth-responsibility__item,
  .p-renewal-top-wrap .consult-point p{
    font-size:14.5px!important;
    line-height:1.85!important;
  }
  .p-renewal-top-wrap .reason-facts{
    font-size:16px!important;
    line-height:1.9!important;
  }
  .p-renewal-top-wrap .support-summary p,
  .p-renewal-top-wrap .growth-responsibility__close,
  .p-renewal-top-wrap .issue-close .close-lead,
  .p-renewal-top-wrap .issue-close .close-main{
    font-size:15px!important;
    line-height:1.85!important;
  }

  /* Let phone widths decide wraps instead of preserving legacy copy breaks. */
  .p-renewal-top-wrap .top-section-head .semantic-break,
  .p-renewal-top-wrap .top-section-head .mobile-only-break,
  .p-renewal-top-wrap .support-heading-pc-v2 br,
  .p-renewal-top-wrap .support-heading-mobile-v2 br{
    display:none!important;
  }
  .p-renewal-top-wrap .support-heading-pc-v2{display:inline!important}
  .p-renewal-top-wrap .support-heading-mobile-v2{display:none!important}
}

/* ===== 2026-08-19 smartphone hierarchy v3: runtime-style cascade fix =====
   Structural finding:
   top.js replaces Perspectives/Growth markup at runtime and injects its own <style>
   after top.css. Several legacy phone rules in that injected style use !important
   and deliberate two-line wrappers. These selectors intentionally have higher
   specificity so the external phone hierarchy remains authoritative even when
   the older runtime style is still present. */
@media screen and (max-width:720px){
  /* Shared small section label. */
  body .p-renewal-top-wrap .top-shared-label.c-title-wrap.-small > .logo-title{
    font-size:14px!important;
    line-height:1.5!important;
    font-weight:800!important;
    letter-spacing:.015em!important;
  }

  /* Perspectives: same main-heading hierarchy as the rest of the page. */
  body .p-renewal-top-wrap section.issues.issues-v24 > .container > .section-head.top-section-head.perspectives-v24-head > h2.perspectives-v60-title{
    width:100%!important;
    max-width:none!important;
    margin-top:20px!important;
    padding-left:0!important;
    font-size:26px!important;
    line-height:1.52!important;
    font-weight:800!important;
    letter-spacing:-.012em!important;
    white-space:normal!important;
    text-wrap:pretty!important;
    word-break:normal!important;
    overflow-wrap:normal!important;
  }
  body .p-renewal-top-wrap section.issues.issues-v24 > .container > .section-head.top-section-head.perspectives-v24-head > h2.perspectives-v60-title > span.perspectives-v60-title-line{
    display:inline!important;
    margin-top:0!important;
    white-space:normal!important;
  }
  body .p-renewal-top-wrap section.issues.issues-v24 > .container > .section-head.top-section-head.perspectives-v24-head > h2.perspectives-v60-title .perspectives-v60-mobile-break{
    display:none!important;
  }
  body .p-renewal-top-wrap section.issues.issues-v24 > .container > .section-head.top-section-head.perspectives-v24-head > .perspectives-v24-lead{
    margin-top:19px!important;
    font-size:15.5px!important;
    line-height:1.9!important;
    letter-spacing:.005em!important;
  }

  /* Growth uses the same section-title scale and natural wrapping. */
  body .p-renewal-top-wrap section.growth.growth-v21 > .container > .growth-head.top-section-head.growth-v21-head > h2.growth-v60-title{
    width:100%!important;
    max-width:none!important;
    margin-top:20px!important;
    font-size:26px!important;
    line-height:1.52!important;
    font-weight:800!important;
    letter-spacing:-.012em!important;
    white-space:normal!important;
    text-wrap:pretty!important;
  }
  body .p-renewal-top-wrap section.growth.growth-v21 > .container > .growth-head.top-section-head.growth-v21-head > h2.growth-v60-title > span.growth-v60-title-line{
    display:inline!important;
    margin-top:0!important;
    white-space:normal!important;
  }
  body .p-renewal-top-wrap section.growth.growth-v21 > .container > .growth-head.top-section-head.growth-v21-head > h2.growth-v60-title .growth-v60-mobile-break{
    display:none!important;
  }

  /* Support heading is rewritten by top.js too. Keep one phone hierarchy and
     ignore the old mobile-specific hard-break copy. */
  body .p-renewal-top-wrap .support-block .support-head.top-section-head > h2{
    width:100%!important;
    max-width:none!important;
    margin-top:20px!important;
    font-size:26px!important;
    line-height:1.52!important;
    font-weight:800!important;
    letter-spacing:-.012em!important;
    white-space:normal!important;
    text-wrap:pretty!important;
  }
  body .p-renewal-top-wrap .support-block .support-head.top-section-head > h2 > .support-v47-title-pc{
    display:inline!important;
  }
  body .p-renewal-top-wrap .support-block .support-head.top-section-head > h2 > .support-v47-title-pc br{
    display:none!important;
  }
  body .p-renewal-top-wrap .support-block .support-head.top-section-head > h2 > .support-v47-title-mobile{
    display:none!important;
  }

  /* Remaining top-page main headings: same rank, same scale. */
  body .p-renewal-top-wrap .support-reason .section-head.top-section-head > h2,
  body .p-renewal-top-wrap .case-studies .case-head.top-section-head > h2,
  body .p-renewal-top-wrap .case-studies .case-head > h2{
    max-width:none!important;
    font-size:26px!important;
    line-height:1.52!important;
    font-weight:800!important;
    letter-spacing:-.012em!important;
    white-space:normal!important;
    text-wrap:pretty!important;
  }
  body .p-renewal-top-wrap .support-reason .section-head.top-section-head > h2 br,
  body .p-renewal-top-wrap .case-studies .case-head > h2 br{
    display:none!important;
  }
}
