/* ══════════════════════════════
   Front page — inline style extraction
══════════════════════════════ */

/* hero eyebrow2 */
.hero-eyebrow2{font-size:.82rem;font-weight:600;letter-spacing:.14em;color:var(--acc);margin-bottom:14px;}

/* trust-record number widescale label */
.ht-num.en-wide{letter-spacing:.04em;}

/* concept section */
.h2-md{font-size:clamp(1.6rem,2.8vw,2.2rem);}
.hr-concept{margin-top:22px;margin-bottom:48px;}

/* keep-center override: SPでも中央寄せを維持する見出しコンテナ */
@media(max-width:768px){
  .shc.shc-keep{text-align:center;}
  .shc.shc-keep .lbl{text-align:center;}
  .shc.shc-keep .hr{margin-left:auto;margin-right:auto;}
}
.concept-body-sm{font-size:clamp(.92rem,1.7vw,1.05rem);}
.concept-body strong.is-tx1{color:var(--tx1);}
.concept-body strong.is-acc{color:var(--acc);}

/* inhouse callout box */
.inhouse-box{margin-top:44px;background:var(--bg1);border:1px solid var(--br);border-radius:var(--r);padding:32px 36px;}
.inhouse-box-t{font-family:var(--f-ser);font-size:clamp(.95rem,1.6vw,1.08rem);font-weight:600;color:var(--tx1);margin-bottom:14px;}
.inhouse-box-d{font-size:.88rem;color:var(--tx2);line-height:2;}
.inhouse-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px;}

/* trust section */
.trust-flat{padding-top:0;padding-bottom:0;}
.trust-head-pad{padding-top:72px;}
.tgd-mt{margin-top:44px;}
.tn-unit{font-size:.5em;vertical-align:baseline;}
.trust-spacer{height:72px;}

/* strengths section links */
.sgc-link-mt{margin-top:16px;}
.sgc-link-mt-lg{margin-top:45px;}

/* partners heading sub width */
.sub-660{max-width:660px;}

/* works / blog image object-fit */
.wk-img img{width:100%;height:100%;object-fit:cover;}
.wk-img img.pos-top{object-position:center 8%;}
.wk-img img.pos-mid{object-position:center 28%;}

/* greeting partner link */
.greeting-link{display:inline-block;margin-top:28px;font-size:.85rem;font-weight:600;color:var(--acc);letter-spacing:.06em;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:2px;}

/* news / blog hr margin override */
.hr-flush{margin-bottom:0;}

/* empty state */
.empty-note{text-align:center;padding:40px 0;font-size:.88rem;color:var(--tx2);}

/* blog card wrap link reset */
.bc-link{text-decoration:none;color:inherit;display:block;}

/* cta section label */
.cta-lbl-dk{display:block;text-align:center;color:rgba(255,255,255,.5);margin-bottom:20px;}

/* blog thumbnail image */
.bth img{width:100%;height:100%;object-fit:cover;display:block;}

/* ══ hero catch copy — 1文字ずつ出現 ══ */
/* 各行 .hcl は plain text を span 分割。レイアウトは line-height で決まり、
   .hc の transform はレイアウトに影響しないため折り返し・高さは不変。 */
.hero-h1-cs .hcl{display:block;white-space:nowrap;}
.hero-h1-cs .hc{
  display:inline-block;
  opacity:0;
  transform:translateY(.5em);
  transition:opacity .55s ease,transform .7s cubic-bezier(.16,1,.3,1);
  transition-delay:calc(var(--i) * .04s);
}
.hero-h1-cs .hcl.in .hc{opacity:1;transform:none;}
@media(max-width:768px){
  .hero-h1-cs .hcl{white-space:normal;}
}
/* アニメーションを抑制したいユーザー向け：即時表示 */
@media(prefers-reduced-motion:reduce){
  .hero-h1-cs .hc{opacity:1;transform:none;transition:none;}
}
