/* Home business section — adopted from the selected V51 demo. */
  .s-home-business {
    /* Section-local semantics: core -> home token bridge -> business. */
    --ink:var(--home-section-heading, var(--heading, #17345f));
    --ink-deep:var(--ink-strong, #0f284c);
    --text:var(--home-section-copy, var(--muted, #3f4e5c));
    --muted:#596975;
    --faint:#687986;
    --coral:#df665d;
    --coral-deep:#b94440;
    --gold:#ae8339;
    --gold-deep:#80601f;
    --blue-deep:#4f7580;
    --line:var(--home-section-rule, rgba(40,78,105,.14));
    --business-heading-feature:var(--home-section-heading-feature);
    --business-heading-sub:var(--home-section-heading-sub);
    --business-copy-size:var(--home-section-copy-size);
    --business-motion-ease:var(--home-section-motion-ease);
    --paper:#fffdf8;
    --wood:#c9a274;
    --wood-mid:#bb9366;
    --wood-dark:#9d7850;
    --before:#3b6a73;
    --before-soft:#edf6f6;
    --before-line:rgba(59,106,115,.22);
    --before-wash:rgba(59,106,115,.08);
    --after:#983d38;
    --after-soft:#fff0eb;
    --after-line:rgba(152,61,56,.24);
    --after-wash:rgba(152,61,56,.1);
    --accent:var(--coral);
    --accent-deep:var(--coral-deep);
    --accent-soft:rgba(223,102,93,.2);
    --name-surface:rgba(255,253,249,.96);
    box-sizing:border-box;
    position:relative;
    overflow-x:clip;
    overflow-y:visible;
    padding:clamp(84px,8vw,122px) 0 clamp(88px,8.5vw,130px);
    background:linear-gradient(180deg,#fffdf7 0%,#fdfdfa 50%,#fffdf7 100%);
    color:var(--ink);
    isolation:isolate;
  }
  .s-home-business *,
  .s-home-business *::before,
  .s-home-business *::after { box-sizing:inherit; }
  .s-home-business :where(a) { color:inherit; text-decoration:none; }
  .s-home-business__inner { position:relative; z-index:1; width:min(1120px,calc(100% - 44px)); margin:0 auto; }
  .s-home-business__stage--rules {
    --accent:var(--gold);
    --accent-deep:var(--gold-deep);
    --accent-soft:rgba(174,131,57,.22);
    --name-surface:rgba(255,252,243,.97);
  }

  .s-home-business__sky { position:absolute; z-index:-1; inset:0; pointer-events:none; }
  .s-home-business__sky svg { width:100%; height:100%; overflow:visible; }
  .s-home-business__stroke { fill:none; stroke-linecap:round; }
  .s-home-business__stroke--a { stroke:rgba(203,233,243,.55); stroke-width:62; }
  .s-home-business__stroke--b { stroke:rgba(252,234,199,.5); stroke-width:92; }
  .s-home-business__stroke--c { stroke:rgba(210,238,245,.44); stroke-width:50; }

  /* ---------- section header ---------- */
  .s-home-business__head { max-width:860px; margin:0 0 clamp(42px,4.8vw,66px); }
  .s-home-business__eyebrow {
    display:flex;
    align-items:center;
    gap:14px;
    margin:0 0 18px;
    color:var(--gold-deep);
    font-size:.8rem;
    font-weight:800;
  }
  .s-home-business__eyebrow span {
    display:inline-flex;
    align-items:center;
    gap:12px;
    font-family:Georgia,serif;
    font-size:.66rem;
    letter-spacing:.2em;
  }
  .s-home-business__eyebrow span::after {
    content:"";
    width:44px;
    height:1px;
    background:currentColor;
    opacity:.55;
  }
  .s-home-business__head h2 {
    margin:0;
    font-family:var(--home-section-serif, "Yu Mincho", "Hiragino Mincho ProN", "Noto Serif JP", serif);
    font-size:var(--business-heading-feature);
    font-weight:700;
    line-height:1.42;
    text-wrap:balance;
  }
  .s-home-business__head h2 span {
    display:block;
    width:max-content;
    max-width:100%;
  }
  .s-home-business__lead {
    max-width:560px;
    margin:18px 0 0;
    color:var(--text);
    font-size:var(--business-copy-size);
    line-height:1.95;
    text-wrap:pretty;
  }

  /* ===================== main service stage ===================== */
  .s-home-business__stage {
    position:relative;

    display:grid;
    align-items:center;
    column-gap:clamp(12px,1.8vw,28px);
    padding:clamp(34px,3.9vw,56px) 0;
  }
  .s-home-business__stage--text-left {
    grid-template-columns:minmax(0,.86fr) minmax(0,1.1fr) minmax(0,.56fr);
  }
  .s-home-business__stage--text-right {
    grid-template-columns:minmax(0,.56fr) minmax(0,1.1fr) minmax(0,.86fr);
  }
  .s-home-business__stage + .s-home-business__stage { margin-top:clamp(20px,2.4vw,38px); }
  .s-home-business__offer,
  .s-home-business__board,
  .s-home-business__chara { grid-row:1; }

  .s-home-business__scene {
    position:absolute;
    z-index:0;
    inset:0;
    overflow:hidden;
    -webkit-mask-image:radial-gradient(112% 118% at 50% 48%,#000 52%,rgba(0,0,0,.5) 78%,transparent 100%);
    mask-image:radial-gradient(112% 118% at 50% 48%,#000 52%,rgba(0,0,0,.5) 78%,transparent 100%);
    pointer-events:none;
  }
  .s-home-business__bg {
    position:absolute;
    left:0;
    top:50%;
    display:block;
    width:100%;
    height:auto;
    transform:translateY(-50%);
  }
  .s-home-business__stage--text-left .s-home-business__bg {
    -webkit-mask-image:linear-gradient(90deg,transparent 2%,rgba(0,0,0,.3) 18%,#000 36%);
    mask-image:linear-gradient(90deg,transparent 2%,rgba(0,0,0,.3) 18%,#000 36%);
  }
  .s-home-business__stage--text-right .s-home-business__bg {
    -webkit-mask-image:linear-gradient(270deg,transparent 2%,rgba(0,0,0,.3) 18%,#000 36%);
    mask-image:linear-gradient(270deg,transparent 2%,rgba(0,0,0,.3) 18%,#000 36%);
  }
  .s-home-business__prop {
    position:absolute;
    z-index:1;
    display:block;
    height:auto;
    opacity:.58;
    filter:saturate(.82);
  }
  .s-home-business__stage--payroll .s-home-business__prop {
    left:1.2%;
    bottom:1.5%;
    width:31%;
  }
  .s-home-business__stage--rules .s-home-business__prop {
    left:1.4%;
    bottom:-1.5%;
    width:26%;
  }

  /* ---------- service name / office offer ---------- */
  .s-home-business__offer {
    position:relative;
    z-index:3;
    min-width:0;
  }
  .s-home-business__stage--text-left .s-home-business__offer { grid-column:1; }
  .s-home-business__stage--text-right .s-home-business__offer { grid-column:3; }
  .s-home-business__service-name {
    position:relative;
    isolation:isolate;
    padding:
      clamp(17px,1.55vw,22px)
      clamp(16px,1.4vw,22px)
      clamp(19px,1.8vw,25px)
      clamp(22px,2.15vw,30px);
  }
  .s-home-business__service-name::before {
    content:"";
    position:absolute;
    z-index:-1;
    left:0;
    top:0;
    bottom:0;
    width:4px;
    border-radius:999px;
    background:var(--accent);
    box-shadow:9px 0 22px var(--accent-soft);
  }
  .s-home-business__service-name::after {
    content:"";
    position:absolute;
    z-index:-2;
    inset:0 clamp(-18px,-1.4vw,-8px) 0 0;
    border-radius:0 10px 10px 0;
    background:
      linear-gradient(
        90deg,
        var(--name-surface) 0%,

        var(--name-surface) 62%,
        rgba(255,255,255,.52) 82%,
        rgba(255,255,255,0) 100%
      );
    box-shadow:
      inset 0 1px rgba(70,91,109,.08),
      inset 0 -1px rgba(70,91,109,.07);
  }
  .s-home-business__index { margin:0 0 clamp(8px,.8vw,12px); }
  .s-home-business__index span {
    display:inline-flex;
    align-items:center;
    gap:10px;
    color:var(--accent-deep);
    font-family:Georgia,"Times New Roman",serif;
    font-size:clamp(.86rem,1.04vw,1rem);
    font-weight:700;
    letter-spacing:.14em;
  }
  .s-home-business__index span::after {
    content:"";
    width:clamp(24px,2.8vw,40px);
    height:1px;
    background:currentColor;
    opacity:.45;
  }
  .s-home-business__index small {
    margin-left:9px;
    color:var(--muted);
    font-family:Georgia,"Times New Roman",serif;
    font-size:.57rem;
    font-weight:700;
    letter-spacing:.12em;
  }
  .s-home-business__service-name h3 {
    margin:0;
    font-family:var(--home-section-serif, "Yu Mincho", "Hiragino Mincho ProN", "Noto Serif JP", serif);
    font-size:clamp(1.72rem,2.42vw,2.05rem);
    font-weight:700;
    line-height:1.34;
    letter-spacing:.005em;
    word-break:keep-all;
    overflow-wrap:normal;
  }
  .s-home-business__title-part {
    display:inline-block;
    white-space:nowrap;
  }
  .s-home-business__body {
    margin:clamp(12px,1.25vw,18px) 0 0;
    color:var(--text);
    font-size:clamp(.88rem,.95vw,.92rem);
    line-height:1.92;
    text-wrap:pretty;
  }
  .s-home-business__action {
    display:inline-flex;
    align-items:center;
    gap:12px;
    margin-top:clamp(18px,2vw,26px);
    min-height:clamp(48px,3.7vw,55px);
    padding:0 clamp(18px,1.6vw,24px);
    border-radius:11px;
    background:var(--accent-deep);
    color:#fff;
    font-size:clamp(.82rem,.92vw,.9rem);
    font-weight:800;
    box-shadow:0 12px 26px rgba(23,52,95,.16);
    transition:transform .2s ease,background .2s ease,box-shadow .2s ease;
  }
  .s-home-business__action i {
    display:grid;
    place-items:center;
    width:24px;
    height:24px;
    border-radius:50%;
    background:rgba(255,255,255,.19);
    font-style:normal;
    font-size:.78rem;
    transition:transform .2s ease;
  }
  .s-home-business__action:hover,
  .s-home-business__action:focus-visible {
    transform:translateY(-2px);
    background:var(--ink-deep);
    box-shadow:0 16px 32px rgba(23,52,95,.22);
  }
  .s-home-business__action:hover i,
  .s-home-business__action:focus-visible i { transform:translateX(3px); }

  /* ===================== board ===================== */
  .s-home-business__board {
    position:relative;
    z-index:2;
    grid-column:2;
    margin:0;
    padding:clamp(9px,.95vw,14px);
    border-radius:clamp(6px,.6vw,9px);
    background:
      repeating-linear-gradient(90deg,rgba(255,255,255,.13) 0 2px,rgba(0,0,0,.045) 2px 5px,rgba(255,255,255,0) 5px 9px),

      linear-gradient(178deg,var(--wood) 0%,var(--wood-mid) 62%,var(--wood-dark) 100%);
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.34),
      inset 0 -2px 3px rgba(0,0,0,.14),
      0 clamp(13px,1.5vw,22px) clamp(24px,3vw,44px) rgba(40,73,96,.18);
    transform:rotate(-.38deg);
  }
  .s-home-business__stage--rules .s-home-business__board { transform:rotate(.38deg); }
  .s-home-business__board::before {
    content:"";
    position:absolute;
    left:50%;
    top:calc(-1 * clamp(15px,1.5vw,22px));
    width:clamp(30px,3.2vw,46px);
    height:clamp(10px,1vw,15px);
    transform:translateX(-50%);
    border-radius:4px 4px 0 0;
    background:linear-gradient(180deg,var(--wood-mid),var(--wood-dark));
    box-shadow:inset 0 1px 0 rgba(255,255,255,.3);
  }
  .s-home-business__board::after {
    content:"";
    position:absolute;
    top:100%;
    left:8%;
    right:8%;
    height:clamp(30px,3.4vw,52px);
    background:
      radial-gradient(60% 22% at 50% 100%,rgba(40,73,96,.14),transparent 70%),
      linear-gradient(90deg,transparent 0 3%,var(--wood-mid) 3% 8.6%,transparent 8.6% 91.4%,var(--wood-mid) 91.4% 97%,transparent 97%);
  }
  .s-home-business__face {
    position:relative;
    padding:clamp(17px,1.9vw,27px) clamp(16px,1.8vw,26px) clamp(18px,2vw,29px);
    border-radius:clamp(3px,.3vw,5px);
    background:
      repeating-linear-gradient(0deg,rgba(40,73,96,.022) 0 1px,transparent 1px 4px),
      linear-gradient(180deg,#fffef9 0%,#fffdf3 100%);
    box-shadow:inset 0 2px 7px rgba(40,73,96,.09),inset 0 -1px 0 rgba(255,255,255,.7);
  }
  .s-home-business__face::before {
    content:"";
    position:absolute;
    inset:clamp(5px,.55vw,8px);
    pointer-events:none;
    background:
      radial-gradient(circle at 0 0,rgba(157,120,80,.5) 0 1.6px,transparent 1.9px),
      radial-gradient(circle at 100% 0,rgba(157,120,80,.5) 0 1.6px,transparent 1.9px),
      radial-gradient(circle at 0 100%,rgba(157,120,80,.5) 0 1.6px,transparent 1.9px),
      radial-gradient(circle at 100% 100%,rgba(157,120,80,.5) 0 1.6px,transparent 1.9px);
  }
  .s-home-business__story-head {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin:0 0 clamp(12px,1.3vw,18px);
    padding-bottom:clamp(11px,1.15vw,15px);
    border-bottom:1px solid rgba(40,78,105,.13);
  }
  .s-home-business__story-label {
    flex-shrink:0;
    color:var(--ink);
    font-size:clamp(.68rem,.75vw,.75rem);
    font-weight:800;
  }
  .s-home-business__story-label b {
    display:inline-block;
    margin-right:7px;
    color:var(--accent-deep);
    font-family:Georgia,"Times New Roman",serif;
    font-size:.62rem;
    letter-spacing:.13em;
  }
  .s-home-business__who {
    display:inline-flex;
    align-items:center;
    gap:8px;
    min-width:0;
    color:var(--muted);
    font-size:clamp(.66rem,.7vw,.7rem);
    line-height:1.45;
  }
  .s-home-business__who img {
    flex:0 0 auto;
    width:clamp(28px,2.4vw,34px);
    height:clamp(28px,2.4vw,34px);
    border-radius:50%;
    object-fit:cover;
    background:#fdf6ec;
  }
  .s-home-business__who > span { min-width:0; }
  .s-home-business__who b {
    display:block;
    overflow:hidden;
    color:var(--ink);
    font-size:clamp(.7rem,.76vw,.76rem);
    text-overflow:ellipsis;
    white-space:nowrap;
  }

  .s-home-business__journey { display:grid; gap:clamp(8px,.9vw,12px); }
  .s-home-business__phase {
    display:grid;
    grid-template-columns:clamp(74px,7.3vw,96px) minmax(0,1fr);
    align-items:stretch;
    min-height:clamp(66px,6.3vw,82px);
    margin:0;
    overflow:hidden;
    border:1px solid transparent;
    border-radius:8px;
  }
  .s-home-business__phase--before {
    border-color:var(--before-line);
    background:linear-gradient(96deg,var(--before-soft),#faffff 72%);
    box-shadow:0 5px 14px rgba(45,88,96,.055);
  }
  .s-home-business__phase--after {
    border-color:var(--after-line);
    background:linear-gradient(96deg,var(--after-soft),#fffaf7 72%);
    box-shadow:0 7px 18px rgba(121,61,56,.08);
  }
  .s-home-business__phase-label {
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:2px;
    padding:8px;
    border-right:1px solid rgba(40,78,105,.09);
    text-align:center;
  }
  .s-home-business__phase--before .s-home-business__phase-label {
    background:var(--before-wash);
    color:var(--before);
  }
  .s-home-business__phase--after .s-home-business__phase-label {
    background:var(--after-wash);
    color:var(--after);
  }
  .s-home-business__phase-label b {
    font-family:Georgia,"Times New Roman",serif;
    font-size:clamp(.65rem,.7vw,.7rem);
    letter-spacing:.1em;
  }
  .s-home-business__phase-label small {
    font-size:clamp(.66rem,.72vw,.72rem);
    font-weight:800;
  }
  .s-home-business__phase-text {
    display:block;
    align-self:center;
    min-width:0;
    padding:clamp(11px,1.2vw,16px) clamp(12px,1.35vw,18px);
    color:var(--ink);
    font-family:var(--home-section-serif, "Yu Mincho", "Hiragino Mincho ProN", "Noto Serif JP", serif);
    font-size:clamp(.96rem,1.12vw,1.08rem);
    font-weight:700;
    line-height:1.62;
  }
  .s-home-business__support {
    display:grid;
    grid-template-columns:auto minmax(0,1fr) 24px;
    align-items:center;
    gap:clamp(8px,.9vw,12px);
    margin:0 clamp(7px,.8vw,11px);
    color:var(--muted);
  }
  .s-home-business__support-label {
    padding:4px 8px;
    border-radius:999px;
    background:var(--ink);
    color:#fff;
    font-size:clamp(.62rem,.68vw,.68rem);
    font-weight:800;
    white-space:nowrap;
  }
  .s-home-business__support-text {
    min-width:0;
    font-size:clamp(.72rem,.8vw,.8rem);
    font-weight:700;
    line-height:1.55;
  }
  .s-home-business__support-arrow {
    display:grid;
    place-items:center;
    width:22px;
    height:22px;
    border-radius:50%;
    background:var(--accent-soft);
    color:var(--accent-deep);
    font-size:.76rem;
    font-weight:900;
  }
  .s-home-business__seg { display:block; }

  /* ---------- guide character ---------- */
  .s-home-business__chara {
    position:relative;
    z-index:2;
    align-self:end;

    display:block;
    width:100%;
    height:auto;
    margin-bottom:clamp(-16px,-1.5vw,-8px);
  }
  .s-home-business__stage--text-left .s-home-business__chara {
    grid-column:3;
    margin-left:clamp(-58px,-5.2vw,-26px);
  }
  .s-home-business__stage--text-right .s-home-business__chara {
    grid-column:1;
    margin-right:clamp(-58px,-5.2vw,-26px);
  }

  /* ===================== daily support chapter ===================== */
  .s-home-business__support-chapter {
    position:relative;
    z-index:1;
    margin-top:clamp(68px,7.2vw,104px);
    padding-top:clamp(44px,4.6vw,66px);
    border-top:1px solid var(--line);
  }
  .s-home-business__support-chapter::before {
    content:"";
    position:absolute;
    z-index:-2;
    inset:clamp(94px,9vw,130px) clamp(-84px,-6vw,-42px) clamp(-42px,-3vw,-22px);
    border-radius:46% 54% 48% 52% / 30% 28% 72% 70%;
    background:
      radial-gradient(70% 82% at 18% 34%,rgba(213,239,245,.66),transparent 76%),
      radial-gradient(76% 86% at 84% 68%,rgba(252,232,196,.58),transparent 78%),
      linear-gradient(112deg,rgba(247,252,251,.9),rgba(255,253,247,.86));
    filter:blur(.2px);
  }
  .s-home-business__support-chapter::after {
    content:"";
    position:absolute;
    z-index:-1;
    left:50%;
    top:clamp(184px,18vw,246px);
    bottom:clamp(22px,2vw,34px);
    width:1px;
    background:linear-gradient(180deg,transparent,rgba(80,121,132,.19) 13%,rgba(174,131,57,.18) 84%,transparent);
  }
  .s-home-business__support-head {
    display:grid;
    grid-template-columns:minmax(0,1.34fr) minmax(280px,.66fr);
    gap:clamp(30px,5vw,72px);
    align-items:end;
    margin:0 0 clamp(40px,5vw,64px);
    padding-left:0;
    border-left:3px solid rgba(79,117,128,.56);
  }
  .s-home-business__support-head > div { padding-left:clamp(18px,2vw,28px); }
  .s-home-business__support-eyebrow {
    display:flex;
    align-items:center;
    gap:12px;
    margin:0 0 11px;
    color:var(--blue-deep);
    font-size:.75rem;
    font-weight:800;
  }
  .s-home-business__support-eyebrow span {
    font-family:Georgia,"Times New Roman",serif;
    font-size:.62rem;
    letter-spacing:.18em;
  }
  .s-home-business__support-eyebrow span::after {
    content:"";
    display:inline-block;
    width:34px;
    height:1px;
    margin-left:11px;
    vertical-align:middle;
    background:currentColor;
    opacity:.45;
  }
  .s-home-business__support-head h3 {
    margin:0;
    font-family:var(--home-section-serif, "Yu Mincho", "Hiragino Mincho ProN", "Noto Serif JP", serif);
    font-size:clamp(1.9rem,3vw,2.55rem);
    font-weight:700;
    line-height:1.32;
    letter-spacing:.01em;
    white-space:nowrap;
  }
  .s-home-business__support-head > p {
    max-width:28em;
    margin:0 0 4px;
    color:var(--text);
    font-size:clamp(.87rem,.95vw,.94rem);
    line-height:1.92;
    text-wrap:pretty;
  }
  .s-home-business__subs {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:clamp(46px,6.2vw,78px);
    position:relative;
  }
  .s-home-business__sub {

    --sub-accent:#5e8f99;
    --sub-accent-deep:#416f79;
    --sub-soft:rgba(206,235,241,.68);
    --sub-bubble:rgba(250,254,253,.95);
    --sub-bubble-border:rgba(94,143,153,.22);
    --sub-tail-x:68%;
    position:relative;
    display:flex;
    flex-direction:column;
    min-width:0;
    padding:0 clamp(10px,1.2vw,16px) clamp(18px,2vw,28px);
  }
  .s-home-business__sub--consultation {
    --sub-accent:#b18a44;
    --sub-accent-deep:#806328;
    --sub-soft:rgba(248,225,185,.66);
    --sub-bubble:rgba(255,253,247,.96);
    --sub-bubble-border:rgba(177,138,68,.22);
    --sub-tail-x:42%;
  }
  .s-home-business__sub::before {
    content:"";
    position:absolute;
    z-index:-1;
    inset:34px -8px 0;
    border-radius:48% 52% 44% 56% / 34% 36% 64% 66%;
    background:radial-gradient(78% 70% at 50% 38%,rgba(255,255,255,.8),rgba(255,255,255,0) 78%);
  }
  .s-home-business__sub-heading {
    position:relative;
    z-index:3;
    display:grid;
    grid-template-columns:auto minmax(0,1fr);
    align-items:center;
    gap:clamp(15px,1.8vw,24px);
    margin:0 clamp(10px,1.2vw,16px) clamp(-14px,-1vw,-8px);
  }
  .s-home-business__sub-heading::after {
    content:"";
    position:absolute;
    z-index:-1;
    right:0;
    bottom:0;
    left:clamp(72px,7.6vw,96px);
    height:1px;
    background:linear-gradient(90deg,var(--sub-accent),rgba(255,255,255,0));
    opacity:.42;
  }
  .s-home-business__sub-heading h4 {
    position:relative;
    margin:0;
    padding:clamp(11px,1.25vw,16px) clamp(16px,1.8vw,24px) clamp(12px,1.35vw,17px);
    color:var(--ink);
    font-family:var(--home-section-serif, "Yu Mincho", "Hiragino Mincho ProN", "Noto Serif JP", serif);
    font-size:clamp(1.34rem,1.78vw,1.58rem);
    font-weight:700;
    line-height:1.42;
    letter-spacing:.005em;
    text-wrap:balance;
  }
  .s-home-business__sub-heading h4::before {
    content:"";
    position:absolute;
    z-index:-1;
    inset:0 clamp(-14px,-1vw,-7px) 0 0;
    border-left:3px solid var(--sub-accent);
    background:
      linear-gradient(
        90deg,
        rgba(255,254,250,.97) 0%,
        rgba(255,254,250,.88) 62%,
        rgba(255,254,250,.46) 82%,
        rgba(255,254,250,0) 100%
      );
    box-shadow:
      inset 0 1px rgba(72,99,112,.065),
      inset 0 -1px rgba(72,99,112,.055);
  }
  .s-home-business__sub-index {
    display:flex;
    align-items:flex-start;
    flex-direction:column;
    gap:3px;
    min-width:clamp(66px,6.9vw,88px);
    margin:0;
    color:var(--sub-accent-deep);
  }
  .s-home-business__sub-index span {
    display:inline-flex;
    align-items:center;
    gap:10px;
    font-family:Georgia,"Times New Roman",serif;
    font-size:.98rem;
    font-weight:700;
    letter-spacing:.14em;
  }
  .s-home-business__sub-index span::after {
    content:"";
    width:clamp(24px,2.8vw,36px);
    height:1px;

    background:currentColor;
    opacity:.45;
  }
  .s-home-business__sub-index small {
    color:var(--muted);
    font-family:Georgia,"Times New Roman",serif;
    font-size:.56rem;
    font-weight:700;
    letter-spacing:.13em;
  }
  .s-home-business__sub-scene {
    position:relative;
    padding:clamp(20px,2vw,28px) clamp(2px,.5vw,7px) 0;
  }
  .s-home-business__sub-visual {
    position:relative;
    margin:0;
    overflow:hidden;
  }
  .s-home-business__sub-visual::after {
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    background:
      linear-gradient(180deg,rgba(255,255,255,.25),transparent 26%),
      radial-gradient(105% 82% at 50% 52%,transparent 55%,rgba(255,253,247,.28) 82%,rgba(255,253,247,.82) 100%);
  }
  .s-home-business__sub-visual img {
    display:block;
    width:100%;
    height:auto;
    -webkit-mask-image:radial-gradient(112% 98% at 50% 48%,#000 58%,rgba(0,0,0,.68) 77%,transparent 100%);
    mask-image:radial-gradient(112% 98% at 50% 48%,#000 58%,rgba(0,0,0,.68) 77%,transparent 100%);
    transition:transform .46s var(--business-motion-ease);
  }
  .s-home-business__sub:hover .s-home-business__sub-visual img { transform:scale(1.018); }
  .s-home-business__sub-concern {
    position:relative;
    z-index:2;
    width:calc(100% - clamp(28px,4vw,54px));
    margin:clamp(-38px,-3.1vw,-25px) auto 0;
    padding:clamp(16px,1.45vw,20px) clamp(18px,1.8vw,25px);
    border:1px solid var(--sub-bubble-border);
    border-radius:clamp(18px,1.7vw,23px);
    background:var(--sub-bubble);
    box-shadow:
      0 14px 30px rgba(49,76,93,.09),
      inset 0 1px 0 rgba(255,255,255,.78);
    -webkit-backdrop-filter:blur(8px);
    backdrop-filter:blur(8px);
  }
  .s-home-business__sub-concern::before {
    content:"";
    position:absolute;
    z-index:-1;
    top:-17px;
    left:calc(var(--sub-tail-x) - 15px);
    width:30px;
    height:24px;
    background:var(--sub-bubble);
    clip-path:polygon(50% 0,100% 100%,0 100%);
    filter:drop-shadow(0 -1px 0 var(--sub-bubble-border));
  }
  .s-home-business__sub-concern span {
    display:inline-flex;
    align-items:center;
    gap:7px;
    margin-bottom:8px;
    padding:4px 10px 4px 8px;
    border-radius:999px;
    background:var(--sub-soft);
    color:var(--sub-accent-deep);
    font-size:.63rem;
    font-weight:800;
    letter-spacing:.08em;
  }
  .s-home-business__sub-concern span::before {
    content:"";
    width:5px;
    height:5px;
    border-radius:50%;
    background:var(--sub-accent);
    box-shadow:0 0 0 3px rgba(255,255,255,.58);
  }
  .s-home-business__sub-concern p {
    margin:0;
    color:var(--ink);
    font-family:var(--home-section-serif, "Yu Mincho", "Hiragino Mincho ProN", "Noto Serif JP", serif);
    font-size:clamp(.96rem,1.18vw,1.08rem);
    font-weight:700;
    line-height:1.65;
    text-wrap:pretty;
  }
  .s-home-business__sub-copy {
    display:flex;
    flex:1;
    flex-direction:column;
    padding:clamp(18px,2vw,26px) clamp(14px,1.7vw,22px) 0;
  }

  .s-home-business__sub-copy .s-home-business__body {
    margin-top:0;
  }
  .s-home-business__sub-action {
    display:inline-flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    align-self:flex-start;
    min-height:46px;
    margin-top:auto;
    padding:clamp(16px,1.7vw,21px) 0 4px;
    border-bottom:1px solid var(--sub-accent);
    border-bottom-color:color-mix(in srgb,var(--sub-accent-deep) 58%,transparent);
    color:var(--ink);
    font-size:.84rem;
    font-weight:800;
    transition:color .18s ease,border-color .18s ease;
  }
  .s-home-business__sub-action i {
    display:grid;
    place-items:center;
    width:24px;
    height:24px;
    border-radius:50%;
    background:var(--sub-soft);
    color:var(--sub-accent-deep);
    font-style:normal;
    transition:transform .18s ease;
  }
  .s-home-business__sub-action:hover,
  .s-home-business__sub-action:focus-visible {
    color:var(--sub-accent-deep);
    border-color:var(--sub-accent-deep);
  }
  .s-home-business__sub-action:hover i,
  .s-home-business__sub-action:focus-visible i { transform:translateX(3px); }

  /* ===================== closing ===================== */
  .s-home-business__closing {
    position:relative;
    isolation:isolate;
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(300px,.55fr);
    grid-template-areas:"message portrait" "action portrait";
    column-gap:clamp(40px,6vw,72px);
    row-gap:clamp(28px,3vw,40px);
    align-items:center;
    min-height:390px;
    margin-top:clamp(76px,7.8vw,116px);
    padding:clamp(88px,9vw,132px) 0;
  }
  .s-home-business__closing::before {
    content:"";
    position:absolute;
    z-index:-2;
    top:0;
    bottom:0;
    left:50%;
    width:100vw;
    transform:translateX(-50%);
    background:
      linear-gradient(90deg,transparent,rgba(138,104,41,.32) 17%,rgba(138,104,41,.1) 64%,transparent) center 17% / 100% 1px no-repeat,
      radial-gradient(circle at 88% 116%,rgba(228,244,247,.72),rgba(228,244,247,0) 34%),
      linear-gradient(180deg,rgba(255,253,248,.36),rgba(249,252,251,.3) 55%,rgba(255,253,248,.42));
  }
  .s-home-business__closing::after {
    content:"";
    position:absolute;
    inset:clamp(88px,9vw,132px) auto clamp(88px,9vw,132px) clamp(-24px,-3vw,-6px);
    width:1px;
    background:linear-gradient(180deg,transparent,rgba(23,52,95,.3) 18%,rgba(138,104,41,.32) 78%,transparent);
  }
  .s-home-business__msg {
    grid-area:message;
    position:relative;
    min-width:0;
    padding-left:clamp(24px,3vw,38px);
  }
  .s-home-business__portrait {
    grid-area:portrait;
    align-self:stretch;
    display:grid;
    place-items:end center;
    min-height:390px;
    margin:0;
  }
  .s-home-business__arch {
    position:relative;
    width:min(100%,322px);
    height:100%;
    min-height:390px;
    overflow:hidden;
    border-radius:176px 176px 16px 16px;
    background:linear-gradient(180deg,rgba(219,239,244,.92),rgba(245,249,245,.5) 68%,rgba(247,237,215,.36));
    box-shadow:inset 0 0 0 1px rgba(88,133,146,.18),0 18px 44px rgba(37,77,100,.08);
  }
  .s-home-business__arch::before {
    content:"";
    position:absolute;
    inset:15px;
    border:1px solid rgba(79,117,128,.27);
    border-radius:161px 161px 9px 9px;
  }
  .s-home-business__arch::after {
    content:"";
    position:absolute;
    right:-24%;
    bottom:4%;
    width:68%;
    aspect-ratio:1;
    border:1px solid rgba(174,131,57,.29);
    border-radius:50%;
  }
  .s-home-business__arch-sun {
    position:absolute;
    top:58px;
    left:50%;
    width:80px;
    aspect-ratio:1;
    border-radius:50%;
    background:rgba(255,253,247,.74);
    box-shadow:0 0 0 12px rgba(255,253,247,.23);
    transform:translateX(-50%);
  }
  .s-home-business__arch img {
    position:absolute;
    z-index:1;
    bottom:-1px;
    left:50%;
    display:block;
    width:245px;
    max-width:none;
    height:auto;
    transform:translateX(-50%);
  }
  .s-home-business__msg-label {
    display:flex;
    align-items:center;
    gap:13px;
    margin:0 0 20px;
    color:var(--gold-deep);
    font-size:.72rem;
    font-weight:800;
  }
  .s-home-business__msg-label span {
    font-family:Georgia,"Times New Roman",serif;
    font-size:.63rem;
    letter-spacing:.2em;
  }
  .s-home-business__msg-label span::after {
    content:"";
    display:inline-block;
    width:44px;
    height:1px;
    margin-left:12px;
    vertical-align:middle;
    background:currentColor;
    opacity:.55;
  }
  .s-home-business__msg h3 {
    margin:0;
    font-family:var(--home-section-serif, "Yu Mincho", "Hiragino Mincho ProN", "Noto Serif JP", serif);
    font-size:clamp(1.78rem,3.05vw,2.65rem);
    font-weight:700;
    line-height:1.36;
    letter-spacing:.01em;
  }
  .s-home-business__msg h3 span { display:block; }
  .s-home-business__msg h3 span + span {
    margin-top:3px;
    color:var(--ink-deep);
  }
  .s-home-business__msg > p:not(.s-home-business__msg-label,.s-home-business__sign) {
    max-width:42em;
    margin:22px 0 17px;
    color:var(--text);
    font-size:.94rem;
    line-height:1.94;
    text-wrap:pretty;
  }
  .s-home-business__sign {
    display:flex;
    align-items:baseline;
    gap:12px;
    margin:0;
    color:var(--muted);
    font-size:.8rem;
  }
  .s-home-business__sign strong {
    color:var(--ink);
    font-family:var(--home-section-serif, "Yu Mincho", "Hiragino Mincho ProN", "Noto Serif JP", serif);
    font-size:1.05rem;
  }
  .s-home-business__cta {
    grid-area:action;
    display:inline-flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    justify-self:start;
    min-width:310px;
    min-height:62px;
    padding:0 21px 0 23px;
    border-radius:0 13px 13px 0;
    background:var(--ink);
    color:#fff !important;
    font-size:.91rem;
    font-weight:800;
    box-shadow:0 15px 28px rgba(23,52,95,.2);
    transition:transform .2s ease,background .2s ease;
  }
  .s-home-business__cta::before {
    content:"";
    align-self:stretch;
    width:5px;
    margin-left:-23px;
    background:var(--gold-deep);
  }
  .s-home-business__cta i {
    display:grid;
    place-items:center;
    flex:0 0 auto;
    width:28px;
    height:28px;
    border-radius:50%;
    background:rgba(255,255,255,.16);
    font-style:normal;
    transition:transform .2s ease;
  }
  .s-home-business__cta:hover,
  .s-home-business__cta:focus-visible { transform:translateY(-2px); background:var(--ink-deep); }
  .s-home-business__cta:hover i,
  .s-home-business__cta:focus-visible i { transform:translateX(3px); }

  .s-home-business.is-motion-enabled [data-home-business-reveal] {
    opacity:0;
    transform:translateY(22px);
    transition:
      opacity .72s var(--business-motion-ease) var(--home-reveal-delay, 0ms),
      transform .72s var(--business-motion-ease) var(--home-reveal-delay, 0ms);
  }

  .s-home-business.is-motion-enabled [data-home-business-reveal].is-inview {
    opacity:1;
    transform:none;
  }

  /* ===================== responsive ===================== */
  @media (max-width:767px) {
    .s-home-business,
    .s-home-business__sky svg {
      overflow:hidden;
    }
    .s-home-business__stroke--a { display:none; }
    .s-home-business__stroke--b { transform:none; }
    .s-home-business__closing::before {
      background:
        linear-gradient(90deg,transparent,rgba(138,104,41,.32) 17%,rgba(138,104,41,.1) 64%,transparent) center 17% / 100% 1px no-repeat,
        radial-gradient(circle at 88% 116%,rgba(228,244,247,.72),rgba(228,244,247,0) 34%),
        linear-gradient(180deg,#fffdf8,#f9fcfb 55%,#fffdf8);
    }
    .s-home-business__head h2 span {
      display:inline;
      width:auto;
    }
  }

  @media (max-width:1000px) {
    .s-home-business__stage--text-left {
      grid-template-columns:minmax(0,.92fr) minmax(0,1.14fr) minmax(0,.46fr);
    }
    .s-home-business__stage--text-right {
      grid-template-columns:minmax(0,.46fr) minmax(0,1.14fr) minmax(0,.92fr);
    }
    .s-home-business__story-head {
      align-items:flex-start;
      flex-direction:column;
    }
  }

  @media (max-width:920px) {
    .s-home-business__support-head {
      grid-template-columns:1fr;
      gap:15px;
      align-items:start;
    }
    .s-home-business__support-head h3 { white-space:normal; }
    .s-home-business__support-head > p {
      max-width:42em;
      padding-left:clamp(18px,2vw,28px);
    }
  }

  @media (max-width:820px) {
    .s-home-business__stage,
    .s-home-business__stage--text-left,
    .s-home-business__stage--text-right {
      grid-template-columns:minmax(0,1fr) minmax(0,.46fr);
      row-gap:clamp(18px,3vw,26px);
      padding:clamp(24px,4vw,36px) 0;
    }
    .s-home-business__stage--text-left .s-home-business__offer,
    .s-home-business__stage--text-right .s-home-business__offer {
      grid-column:1;
      grid-row:1;
    }
    .s-home-business__board { grid-column:1 / -1; grid-row:2; }
    .s-home-business__stage--text-left .s-home-business__chara,
    .s-home-business__stage--text-right .s-home-business__chara {
      grid-column:2;
      grid-row:1;
      align-self:end;
      margin:0 0 clamp(-10px,-1.4vw,-4px);
    }
    .s-home-business__scene {
      -webkit-mask-image:radial-gradient(120% 108% at 50% 34%,#000 46%,rgba(0,0,0,.45) 74%,transparent 100%);
      mask-image:radial-gradient(120% 108% at 50% 34%,#000 46%,rgba(0,0,0,.45) 74%,transparent 100%);
    }
    .s-home-business__stage--text-left .s-home-business__bg,
    .s-home-business__stage--text-right .s-home-business__bg {
      -webkit-mask-image:linear-gradient(180deg,#000 0%,rgba(0,0,0,.4) 52%,transparent 78%);
      mask-image:linear-gradient(180deg,#000 0%,rgba(0,0,0,.4) 52%,transparent 78%);
    }
    .s-home-business__prop { display:none; }
    .s-home-business__service-name { padding-left:18px; }
    .s-home-business__support-chapter::after { display:none; }
    .s-home-business__support-head {
      max-width:680px;
      margin-inline:0;
    }
    .s-home-business__support-head > p br { display:none; }
    .s-home-business__subs {
      grid-template-columns:1fr;
      gap:clamp(48px,7vw,66px);
    }
    .s-home-business__sub {
      width:min(100%,660px);
      margin-inline:auto;
    }
  }

  @media (max-width:760px) {
    .s-home-business__closing {
      grid-template-columns:1fr;
      grid-template-areas:"message" "portrait" "action";
      min-height:0;
      row-gap:32px;
      padding:72px 0 84px;
    }
    .s-home-business__closing::after {
      inset:72px auto 84px 0;
    }
    .s-home-business__portrait {
      justify-self:center;
      width:min(100%,280px);
      min-height:340px;
    }
    .s-home-business__arch { min-height:340px; }
    .s-home-business__arch img { width:216px; }
  }

  @media (max-width:620px) {
    .s-home-business { padding:68px 0 84px; }
    .s-home-business__inner { width:min(100% - 30px,600px); }
    .s-home-business__eyebrow { flex-direction:column; align-items:flex-start; gap:7px; }
    .s-home-business__action { width:100%; justify-content:space-between; }
    .s-home-business__story-head { gap:9px; }
    .s-home-business__who { width:100%; }
    .s-home-business__support-chapter::before {
      inset:clamp(112px,23vw,142px) -24px -20px;
      border-radius:40% 60% 44% 56% / 18% 22% 78% 82%;
    }
    .s-home-business__support-head {
      padding-left:0;
      border-left-width:2px;
    }
    .s-home-business__support-head > div,
    .s-home-business__support-head > p { padding-left:16px; }
    .s-home-business__support-head h3 br { display:none; }
    .s-home-business__sub { padding-inline:0; }
    .s-home-business__sub-heading {
      grid-template-columns:1fr;
      gap:5px;
      margin:0 4px -8px;
    }
    .s-home-business__sub-heading::after { left:0; }
    .s-home-business__sub-heading h4 {
      padding:10px 14px 12px 16px;
      font-size:clamp(1.24rem,6vw,1.48rem);
    }
    .s-home-business__sub-index {
      align-items:center;
      flex-direction:row;
      gap:8px;
      min-width:0;
      padding-left:4px;
    }
    .s-home-business__sub-concern {
      width:calc(100% - 24px);
      margin-top:-27px;
    }
    .s-home-business__sub-copy { padding-inline:10px; }
    .s-home-business__sub-action { width:100%; }
  }

  @media (max-width:480px) {
    .s-home-business__msg { padding-left:21px; }
    .s-home-business__msg-label {
      align-items:flex-start;
      flex-direction:column;
      gap:7px;
    }
    .s-home-business__msg h3 { font-size:clamp(1.5rem,6.9vw,1.75rem); }
    .s-home-business__msg h3 span { display:inline; }
    .s-home-business__msg h3 span + span { margin-top:0; }
    .s-home-business__msg > p:not(.s-home-business__msg-label,.s-home-business__sign) {
      margin-top:18px;
      font-size:.9rem;
    }
    .s-home-business__cta {
      width:100%;
      min-width:0;
    }
  }

  @media (max-width:430px) {
    .s-home-business__head h2 br,
    .s-home-business__msg h3 br { display:none; }
    .s-home-business__stage,
    .s-home-business__stage--text-left,
    .s-home-business__stage--text-right {
      grid-template-columns:minmax(0,1fr) minmax(0,.56fr);
    }
    .s-home-business__service-name h3 { font-size:clamp(1.48rem,7.1vw,1.78rem); }
    .s-home-business__phase {
      grid-template-columns:68px minmax(0,1fr);
      min-height:76px;
    }
    .s-home-business__phase-text { padding:12px 11px; font-size:.94rem; }
    .s-home-business__support {
      grid-template-columns:auto minmax(0,1fr) 22px;
      margin-inline:2px;
    }
    .s-home-business__support-label { padding-inline:7px; font-size:.6rem; }
    .s-home-business__support-text { font-size:.7rem; }
    .s-home-business__sub-index {
      align-items:center;
      flex-direction:row;
      gap:8px;
      padding-left:4px;
    }
  }

  @media (prefers-reduced-motion:reduce) {
    .s-home-business.is-motion-enabled [data-home-business-reveal] { transition:none; }
    .s-home-business__sub-visual img,
    .s-home-business__action,
    .s-home-business__cta,
    .s-home-business__sub-action { transition:none; }
  }
