/* ==========================================================================
   サービス紹介（/service/）— 参考サイトの service-*.js / main.css を読み取って同じ構造で組み直し
   ========================================================================== */
.cw{width:90%;max-width:1280px;margin:0 auto}
.ani-fade{opacity:0}
.sbody{background:#f9f9f9;color:#000}

/* ── メインビジュアル（参考 .service-main-visual） ── */
.smv{position:relative;width:100%;height:46.875rem;overflow:hidden;background:#000;color:#fafafa}
.smv__bg{position:absolute;inset:0;z-index:0}
.smv__bg img{width:100%;height:100%;object-fit:cover;opacity:.6}
.smv__ov{position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,rgba(0,0,0,.55),rgba(0,0,0,.25) 45%,rgba(0,0,0,.7))}
.smv__in{position:relative;z-index:2;padding-top:13.625rem}
.smv__h{display:flex;align-items:baseline;gap:1.5rem}
.smv__en{font-family:var(--en);font-weight:700;font-size:2.6875rem;line-height:1;opacity:.4}
.smv__ja{font-weight:500;font-size:.875rem;line-height:29px;letter-spacing:.1em}
.smv__catch{margin-top:3.75rem;font-weight:700;font-size:3.5rem;line-height:1.7;letter-spacing:.1em}
.smv__wm{position:absolute;top:27.8125rem;left:50%;transform:translate(calc(-50% + 17.9375rem));font-family:var(--en);font-weight:700;font-size:7.5rem;line-height:1;text-transform:uppercase;white-space:nowrap;color:#fafafa;opacity:.2;pointer-events:none;z-index:1}
/* 参考 .ani-title の1文字ずつ */
.smv .ani-title{opacity:0;transform:translateY(40px)}
.smv .ani-title.is-split{opacity:1;transform:none}
.smv .al{display:inline-block;overflow:hidden;vertical-align:top}
.smv .ac{display:inline-block;transform:translateY(105%);transition:transform 1s cubic-bezier(.16,1,.3,1)}
.smv .is-visible .ac{transform:translateY(0)}

/* ── CONCEPT（参考 .service-sec01） ── */
.sc1{background:#fff;padding:5rem 0 0}
.sc1__intro{font-weight:500;font-size:1.25rem;line-height:1.9;letter-spacing:.1em}
.sc1__btof{margin-top:2.25rem;font-family:var(--en);font-weight:700;font-size:2.75rem;line-height:1;text-transform:uppercase}
.sc1__cw{position:relative;margin-top:3.75rem;padding-top:1.875rem}
.sc1__en{position:absolute;left:-5vw;top:0;margin-left:-1.875rem;font-family:var(--en);font-weight:700;font-size:10rem;line-height:1;text-transform:uppercase;white-space:nowrap;display:inline-block;
  background:linear-gradient(to right,#afbed3 11.78%,#182f44 63.43%,#8db3cb);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;opacity:.4;pointer-events:none}
.sc1__ja{margin-top:2.5rem;font-weight:700;font-size:2.75rem;line-height:1.636;letter-spacing:.1em}
.sc1__ja span{display:block}
.sc1__ja small{display:block;margin-top:.5rem;font-size:1.125rem}
.sc1__desc{margin-top:5rem;font-weight:500;font-size:1.125rem;line-height:2.14;letter-spacing:.1em;padding-left:20%;padding-bottom:6rem}

/* ── STEP パネル（参考 .service_sec04 .p-landing / .p-goods / .p-design） ── */
.s4p{position:relative;z-index:3;padding-bottom:0}
.s4p__pi{position:relative}
.s4p__pi+.s4p__pi{z-index:2}
.pl{position:relative;z-index:2;border-radius:3.125rem 3.125rem 0 0;background:#000;margin-top:-3.125rem;transform:translateZ(0);backface-visibility:hidden;will-change:transform;contain:paint;box-shadow:0 -1.25rem 1.5625rem rgba(0,0,0,.08);color:#fff}
.pl--light{background:#f7f5f1;color:#000;z-index:3}
.pl--3{background:#0b1a1c url(/assets/img/ph12.jpg) center/cover no-repeat;z-index:4}
.pl--3::before{content:"";position:absolute;inset:0;background:rgba(6,20,22,.9);border-radius:inherit}
.pl__bg{position:absolute;inset:0;border-radius:inherit}
.pl__in{position:relative}
.st{position:relative;padding:5rem 0 7.5rem;overflow:hidden}
.st__top{position:relative;margin-bottom:2.5rem}
.st__page{font-family:var(--en);font-weight:700;font-size:clamp(56px,6.9vw,100px);line-height:1;letter-spacing:-.01em;margin-left:-1%;
  background:linear-gradient(to right,#afbed3 11.78%,#182f44 63.43%,#8db3cb);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;opacity:.6;display:block;margin-bottom:-.3em;position:relative}
.st__bar{display:flex;flex-direction:column;align-items:flex-start;gap:12px;margin-left:calc(-1 * (100vw - 100%) / 2)}
.st__bar span{display:inline-block;background:#fff;color:#000;font-weight:700;padding:.55rem 2rem .55rem calc((100vw - 100%) / 2 + 6.5rem);
  font-size:clamp(22px,2.6vw,36px);letter-spacing:.06em;line-height:1.45}
.st__bar span.en{font-family:var(--en);text-transform:uppercase}
.pl--light .st__bar span{background:#000;color:#fff}
/* 参考 .service-step-indicator */
.si{display:flex;align-items:center;gap:.5rem;max-width:42.5rem}
.si__s{display:flex;align-items:center;gap:1.5rem;opacity:.7}
.si__s.is-current{opacity:1}
.si__n{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.125rem;width:5rem;height:5rem;border:1px solid #afbed3;font-family:var(--en);font-weight:400;font-size:2rem;line-height:1;color:#fff}
.si__n i{font-style:normal;font-size:1rem;letter-spacing:.05em}
.si__s.is-current .si__n{background:#fff;border-color:#fff;font-weight:700;color:transparent;background-image:linear-gradient(90deg,#afbed3 11.78%,#182f44 63.43%,#8db3cb);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;position:relative}
.si__s.is-current .si__n::after{content:"";position:absolute;inset:0;background:#fff;z-index:-1}
.si__l{font-weight:500;font-size:1.5rem;letter-spacing:.1em;white-space:nowrap}
.si__line{flex:1;height:1px;min-width:2.5rem;background:linear-gradient(90deg,#afbed3 11.78%,#182f44 63.43%,#8db3cb)}
.pl--light .si__n{border-color:#0e141c;color:#000}
.pl--light .si__s span{color:#000}
.pl--light .si__s.is-current .si__n{border-color:#0e141c;color:transparent}
.pl--light .si__line{background:#0e141c}
/* 参考 .service-product-card */
.pc{position:relative;margin-top:2.5rem;padding:3rem 0 4.5rem;background:#212d38;border:1px solid #fff;display:grid;grid-template-columns:minmax(0,1fr) minmax(26.25rem,36.25rem);column-gap:2.5rem;align-items:start}
.pc__label{grid-column:1/-1;font-family:var(--en);font-size:1rem;padding:0 0 1.75rem 70px}
.pc__title{grid-column:1/-1;padding:1.5rem 4.5rem 10px;border-top:1px solid #fff;border-bottom:1px solid #fff;font-family:var(--en);font-weight:700;font-size:3.5rem;line-height:4.5625rem;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}
.pc__body{grid-column:1/2;grid-row:3;display:flex;flex-direction:column;gap:1.5rem;padding:2rem 0 0 70px}
.pc__catch{font-weight:500;font-size:1.5rem;line-height:3rem;letter-spacing:.1em;color:#a8854a;text-shadow:0 0 6px rgba(0,0,0,.7)}
.pc__desc{font-weight:500;font-size:.875rem;line-height:2.14;letter-spacing:.1em}
.pc__btn{display:flex;align-items:center;justify-content:center;width:20rem;max-width:100%;height:4rem;background:#fff;color:#000;font-weight:500;font-size:.875rem;letter-spacing:.1em;transition:opacity .3s}
.pc__btn:hover{opacity:.8}
.pc__img{position:relative;grid-column:2/3;grid-row:3;align-self:center;width:100%;margin-top:-7.5rem;margin-right:-2.5rem;aspect-ratio:1140/988;overflow:hidden;box-shadow:0 30px 60px rgba(0,0,0,.45)}
.pc__img img{width:100%;height:100%;object-fit:cover;display:block}
.pl--light .pc{background:#fff;border-color:#000;color:#000}
.pl--light .pc__title,.pl--light .pc__label{border-color:#000}
.pl--light .pc__catch{color:#16283c;text-shadow:none}
.pl--light .pc__btn{background:#000;color:#fff}
/* 診断フロー（参考 __flow / __graphs / _slide / __phases / __issues） */
.fl{margin-top:7.5rem}
.fl__title{position:relative;height:6.875rem}
.fl__en{position:absolute;top:1.375rem;left:16.25rem;font-family:var(--en);font-weight:700;font-size:5rem;letter-spacing:.04em;line-height:1;white-space:nowrap;
  background:linear-gradient(to right,#afbed3 11.78%,#182f44 63.43%,#8db3cb);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;opacity:.6}
.fl__ja{position:absolute;top:50%;left:0;transform:translateY(-50%);font-weight:700;font-size:3.125rem}
.fl__lead{margin:1.5rem 0 1.5625rem;font-weight:500;font-size:1.5rem;line-height:2.17;letter-spacing:.1em}
.fl__note{margin-top:1.5rem;font-weight:500;font-size:.875rem;line-height:2.14;letter-spacing:.1em}
.gr{display:grid;grid-template-columns:repeat(6,1fr);align-items:flex-start;gap:2.5rem .75rem;margin-top:3.75rem;list-style:none;padding:0}
.gr__i{display:flex;flex-direction:column;align-items:center;gap:1.25rem;text-align:center}
.gr__c{position:relative;width:100%;max-width:12.5rem;aspect-ratio:1/1;border-radius:50%;background:rgba(255,255,255,.15);display:flex;flex-direction:column;align-items:center;justify-content:center}
.gr__c::after{content:"";position:absolute;inset:0;border-radius:50%;background:linear-gradient(90deg,#0e141c,#182f44 40%,#8db3cb 93.39%);
  -webkit-mask:conic-gradient(#000 0 var(--rate,0%),transparent var(--rate,0%) 100%);mask:conic-gradient(#000 0 var(--rate,0%),transparent var(--rate,0%) 100%);pointer-events:none}
.gr__c::before{content:"";position:absolute;inset:1.25rem;border-radius:50%;background:#192329;z-index:1}
.gr__l{position:relative;z-index:2;font-weight:500;font-size:1.125rem;color:rgba(255,255,255,.7)}
.gr__r{position:relative;z-index:2;margin-top:.5rem;font-family:var(--en);display:flex;align-items:baseline;line-height:1}
.gr__r .num{font-weight:500;font-size:3rem}
.gr__r .unit{font-weight:500;font-size:1.75rem}
.gr__d{font-weight:500;font-size:.875rem;line-height:2.14}
.sl{position:relative;width:100vw;margin:7.5rem calc(50% - 50vw);overflow:hidden;padding-bottom:3.75rem}
.sl__track{display:flex;align-items:center;gap:1.5rem;padding:0 5vw;will-change:transform}
.sl__track::after{content:"";flex:0 0 3.75rem}
.sl__item{position:relative;flex:0 0 auto;width:52.5rem;aspect-ratio:1080/720;overflow:hidden;background:#000}
.sl__item img{width:100%;height:100%;object-fit:cover;display:block}
.ph{position:relative;display:grid;grid-template-columns:repeat(6,1fr);gap:0;margin:3.75rem 0 20px;z-index:1}
.ph__i{position:relative;padding:1rem 20px 1rem .125rem;display:flex;flex-direction:column;align-items:center;gap:.25rem;text-align:center;
  clip-path:polygon(0 0,calc(100% - 16px) 0,100% 50%,calc(100% - 16px) 100%,0 100%);background:linear-gradient(90deg,rgba(24,47,68,.9),rgba(141,179,203,.35))}
.ph__n{font-family:var(--en);font-weight:700;font-size:3.5rem;line-height:1;position:absolute;left:0;top:0;letter-spacing:.04em;opacity:.8;
  background:linear-gradient(to right,#0e141c,#182f44,#8db3cb);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.ph__l{font-weight:700;font-size:1.125rem;margin-top:2.6rem}
.is{position:relative;display:flex;flex-direction:column;gap:1rem;margin-top:1rem;list-style:none;padding:0;z-index:1}
.is li{width:66.67%;height:3rem;display:flex;align-items:center;justify-content:center;padding:.625rem;background:rgba(255,255,255,.1);border:1px solid #fff;font-weight:500;font-size:1.125rem;letter-spacing:.1em}
.is li[data-col="2"]{margin-left:16.67%}
.is li[data-col="3"]{margin-left:33.33%}
/* STEP02（明るいパネル）の 4×2 ピルと data×design */
.it{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem .625rem;margin-top:2.5rem;list-style:none;padding:0}
.it li{display:flex;align-items:center;justify-content:center;gap:.5rem;min-height:4.5rem;padding:.875rem 1.5rem;background:linear-gradient(to right,#0e141c,#182f44,#8db3cb 63.391%);border:1px solid #0e141c;border-radius:3.125rem;font-weight:700;font-size:1.25rem;line-height:1.2;color:#fff;text-align:center}
.it li:last-child{color:rgba(255,255,255,.6)}
.cap{font-weight:500;font-size:1.5rem;text-align:center;margin:5rem 0 1.25rem}
.dd{margin:2.5rem auto 0;max-width:47.5rem;display:flex;justify-content:center;align-items:center}
.dd__i{position:relative;width:50%;aspect-ratio:1/1;border-radius:50%;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#0e141c}
.dd__i img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.55;mix-blend-mode:luminosity}
.dd__i--a{margin-right:-1.875rem;z-index:2}
.dd__i--b{margin-left:-1.875rem;z-index:1}
.dd__t{position:relative;z-index:2;text-align:center;padding:0 2.5rem;color:#fff}
.dd__t b{display:block;font-size:2rem;letter-spacing:.1em;margin-bottom:.75rem}
.dd__t span{font-size:.875rem;line-height:1.8;letter-spacing:.05em;color:rgba(255,255,255,.85)}
.wk2{clip-path:inset(0 20% 0 20%);margin-top:2.5rem}
.wk2 img{width:100%;aspect-ratio:1280/480;object-fit:cover;display:block}
/* CTA in panel */
.cta2{margin:5rem auto 2.5rem;max-width:35rem;width:100%;padding:0 1.25rem}
.cta2 a{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;height:6rem;padding:1rem 2.5rem;background:rgba(255,255,255,.08);border:1px solid #fff;color:#fff;font-weight:700;font-size:1.125rem;letter-spacing:.05em;transition:background-color .3s,transform .3s}
.cta2 a:hover{background:rgba(255,255,255,.2);transform:translateX(.25rem)}
.pl--light .cta2 a{border-color:#000;color:#000;background:rgba(0,0,0,.04)}

/* ── CASE（参考 .section-case） ── */
.cs{position:relative;background:#fff;padding:5rem 0 7.5rem;overflow:hidden;color:#000}
.cs__head{position:relative;height:7.5rem;margin-bottom:40px}
.cs__en{position:absolute;top:0;left:-5vw;font-family:var(--en);font-weight:700;font-size:10rem;line-height:1;white-space:nowrap;display:inline-block;
  background:linear-gradient(to right,#afbed3 11.78%,#182f44 63.43%,#8db3cb);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;opacity:.6;pointer-events:none}
.cs__ja{position:absolute;bottom:0;left:0;font-weight:700;font-size:2.75rem;line-height:1;letter-spacing:.1em}
.cs__list{display:grid;grid-template-columns:repeat(4,1fr);gap:1.25rem;margin-top:3.75rem;list-style:none;padding:0}
.cs__item{position:relative;padding-bottom:3.75rem}
.cs__item:nth-child(odd) .cs__ph{transform:rotate(2deg)}
.cs__item:nth-child(odd) .cs__cap{transform:translate(-50%) rotate(-2deg)}
.cs__item:nth-child(2n) .cs__ph{transform:rotate(-2deg)}
.cs__item:nth-child(2n) .cs__cap{transform:translate(-50%) rotate(2deg)}
.cs__ph{width:100%;aspect-ratio:400/260;background:#b5b5b5;overflow:hidden}
.cs__ph img{width:100%;height:100%;object-fit:cover;display:block}
.cs__cap{position:absolute;bottom:0;right:-2%;width:20rem;max-width:90%;height:7.5rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;
  background:linear-gradient(to right,#0e141c,#182f44,#8db3cb 63%);opacity:.9;color:#fff;text-align:center;left:50%}
.cs__cap small{font-weight:700;font-size:.875rem;letter-spacing:.1em;line-height:1.6}
.cs__cap b{font-weight:700;font-size:2rem;letter-spacing:.1em;line-height:1.2;color:#F3DC9A}
.cs__lead{margin-top:5rem;font-weight:700;font-size:2.75rem;line-height:1.5;letter-spacing:.1em;text-align:center}
.cs__notice{margin-top:.9375rem;text-align:center;display:flex;flex-direction:column;gap:1rem}
.cs__strong{font-weight:700;font-size:1.5rem;line-height:1.6;letter-spacing:.1em}
.cs__strong--hi{color:#a8854a}
.cs__text{font-weight:500;font-size:.875rem;line-height:2;letter-spacing:.1em}
.cs__flow{position:relative;margin-top:5rem}
.cs__flowl{display:grid;grid-template-columns:repeat(3,1fr);margin:0 auto;list-style:none;padding:0;justify-items:center;width:100%;max-width:50rem}
.cs__fi{display:flex;align-items:baseline;gap:1rem;position:relative;padding-top:30px}
.cs__fi::before{content:"";position:absolute;top:-1.75rem;left:0;width:2rem;height:2rem;border-radius:50%;background:#182f44}
.cs__fn{font-family:var(--en);font-weight:700;line-height:1;opacity:.8;background:linear-gradient(to right,#afbed3 11.78%,#182f44 63.43%,#8db3cb);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.cs__fi--1 .cs__fn{font-size:6.25rem}.cs__fi--2 .cs__fn{font-size:5rem}.cs__fi--3 .cs__fn{font-size:4rem}
.cs__fl{font-weight:700;font-size:2.75rem;line-height:1}
.cs__fi--2 .cs__fl,.cs__fi--3 .cs__fl{font-size:1.5rem}
.cs__catch{margin-top:5rem;font-weight:700;font-size:2.75rem;line-height:1.6;letter-spacing:.1em}
.cs__cd{margin-top:2.5rem;font-weight:500;font-size:1.125rem;line-height:2.2;letter-spacing:.1em;padding-left:20%}

/* ── CONTACT（参考 .section-contact） ── */
.sct{position:relative;background:#000;color:#fff;padding:5rem 0 7.5rem;overflow:hidden;isolation:isolate}
.sct__bg{position:absolute;inset:0;z-index:0;pointer-events:none}
.sct__bg img{width:100%;height:100%;object-fit:cover;opacity:.5}
.sct__en{position:absolute;top:0;right:0;font-family:var(--en);font-weight:700;font-size:11.25rem;line-height:.9;text-transform:uppercase;white-space:nowrap;
  background:linear-gradient(to right,#0e141c,#182f44,#8db3cb 63%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;mix-blend-mode:exclusion;pointer-events:none;z-index:1}
.sct__in{position:relative;z-index:2;padding-top:2.5rem}
.sct__catch{font-weight:700;font-size:2.75rem;line-height:1.6;letter-spacing:.1em}
.sct__btns{margin-top:5rem;display:grid;grid-template-columns:repeat(2,1fr);gap:10%;max-width:75rem}
.sct__btn{display:flex;align-items:center;justify-content:space-between;height:6rem;padding:1rem 2.5rem;background:rgba(255,255,255,.1);border:1px solid #fff;color:#fff;transition:background-color .3s,transform .3s}
.sct__btn:hover{background:rgba(255,255,255,.2);transform:translate(.25rem)}
.sct__btn b{font-weight:700;font-size:1.5rem;letter-spacing:.05em}
.sct__btn i{font-style:normal;font-size:1.875rem;line-height:1}

@media(max-width:1024px){
  .smv{height:auto;padding-bottom:8rem}.smv__in{padding-top:9rem}.smv__catch{font-size:2rem}.smv__wm{font-size:4rem;top:24rem}
  .sc1__en{font-size:5rem}.sc1__ja{font-size:1.75rem}.sc1__desc{padding-left:0}
  .pc{grid-template-columns:1fr;padding:2rem 1.25rem}.pc__label,.pc__body{padding-left:0}.pc__title{padding:1rem 0;font-size:2rem;line-height:1.3;white-space:normal}.pc__img{grid-column:1;grid-row:auto;margin:1rem 0 0;}
  .gr{grid-template-columns:repeat(3,1fr)}.ph{grid-template-columns:repeat(3,1fr)}.is li{width:100%;margin-left:0!important}
  .it{grid-template-columns:repeat(2,1fr)}.cs__list{grid-template-columns:repeat(2,1fr)}.sct__btns{grid-template-columns:1fr;gap:1rem}
  .fl__en{left:0;top:0;font-size:3rem}.fl__ja{top:auto;bottom:0;transform:none;font-size:2rem}.fl__title{height:7rem}
  .sl__item{width:80vw}
}
@media(max-width:600px){
  .st__bar span{font-size:18px;padding-left:calc((100vw - 100%) / 2 + 1.5rem)}.st__page{font-size:44px}
  .si{flex-wrap:wrap}.si__n{width:2.5rem;height:2.5rem;font-size:1.1rem}.si__n i{font-size:.6rem}.si__l{font-size:.85rem}.si__line{display:none}
  .gr{grid-template-columns:repeat(2,1fr)}.cs__list{grid-template-columns:1fr}.cs__en{font-size:5rem}.cs__ja{font-size:1.75rem}.sct__en{font-size:5rem}.sct__catch{font-size:1.5rem}
  .dd__t b{font-size:1.2rem}.dd__t span{font-size:.75rem}.it li{font-size:.95rem;min-height:3.2rem}
}

/* スマホ専用の改行（PCでは非表示） */
.smv .br-sp{display:none}
/* ── スマホ：切れていた英字と1行に収める見出し ── */
@media(max-width:600px){
  .fl__title{height:auto;display:flex;flex-direction:column;gap:.25rem}
  .fl__en{position:static;font-size:1.75rem;white-space:normal;line-height:1.1}
  .fl__ja{position:static;transform:none;font-size:1.6rem}
  .fl__lead{font-size:1.1rem;line-height:1.9}
  .sc1__cw{padding-top:0}
  .sc1__en{position:static;display:block;margin-left:0;font-size:2.6rem;white-space:normal;line-height:1}
  .sc1__ja{margin-top:1rem;font-size:1.35rem;line-height:1.6}
  .sc1__ja small{font-size:.9rem}
  .sc1__btof{font-size:1.5rem;line-height:1.3}
  /* 5) SERVICE と事業名を折り返さず横一列に */
  .smv__h{gap:.75rem;flex-wrap:nowrap;align-items:baseline}
  .smv__en{font-size:1.9rem;white-space:nowrap}
  .smv__ja{font-size:11.5px;line-height:1.4;white-space:nowrap;letter-spacing:.06em}
  .smv__catch{font-size:1.6rem;line-height:1.6;letter-spacing:.06em}
  .smv .br-sp{display:inline}
}

/* ── スマホ：ボタン文字と大見出しの折り返しを整える ── */
.sp-br{display:none}
@media(max-width:600px){
  /* 「〜について / 問い合わせしてみる」を各行1行に収める */
  .cta2{padding:0 .75rem}
  .cta2 a{padding:1rem 1.25rem;gap:.75rem;font-size:1rem}
  .cta2 a>span:first-child{white-space:nowrap}
  /* CONTACT の2ボタンを2行に収める */
  .sct__btn{padding:1rem 1.25rem}
  .sct__btn b{font-size:1.25rem;white-space:nowrap}
  .sct__btn i{font-size:1.5rem}
  /* 「数字は、渡して／終わりにしない。」を2行で見せる */
  .cs__lead{font-size:2rem;line-height:1.55;letter-spacing:.06em}
  .sp-br{display:inline}
}

/* ── スマホ：泣き別れ（行末に1〜2文字だけ落ちる）を解消 ── */
@media(max-width:600px){
  /* CASE 大見出し：44px→24px。「広告の内側だけで止めない。」を1行に */
  .cs__catch{font-size:1.5rem;line-height:1.6;letter-spacing:.05em;text-wrap:balance}
  /* CONTACT キャッチ：2文とも1行に収める */
  .sct__catch{font-size:1.25rem;line-height:1.7;letter-spacing:.05em;text-wrap:balance}
  /* 各STEPのキャッチ：「獲得したあとを、商談につなげる。」を1行に */
  .pc__catch{font-size:1.15rem;line-height:1.7;letter-spacing:.05em;text-wrap:balance}
  /* 課題リスト：「レポートが数字の羅列で終わっている」を1行に */
  .is li{font-size:1rem;letter-spacing:.04em}
  /* 円形ラベルの説明文：「る」だけ落ちるのを均等割りに */
  .dd__t{padding:0 1rem}
  /* 6フェーズのラベル：「接点・認知」等を1行に */
  .ph__l{font-size:.95rem;letter-spacing:.02em;white-space:nowrap}
  /* 採点カードの説明：「この項目を採点します。」を1行に */
  .gr__d{font-size:.8rem;letter-spacing:0;text-wrap:balance}
  /* CONCEPT 導入文・診断リード：行末の孤立を回避 */
  .sc1__intro{font-size:1.15rem;line-height:1.9;letter-spacing:.05em;text-wrap:pretty}
  .fl__lead{font-size:1rem;letter-spacing:.04em}
  .dd__i--a{margin-right:-.75rem}
  .dd__i--b{margin-left:-.75rem}
  .dd__t b{font-size:.95rem;letter-spacing:.02em}
  .dd__t span{display:block;font-size:.75rem;letter-spacing:0;line-height:1.6;text-wrap:balance}
  /* CONCEPT 補足と本文：行末の孤立を回避 */
  .sc1__ja small{font-size:.85rem;letter-spacing:.02em;text-wrap:pretty}
  .cs__cd,.fl__lead{text-wrap:pretty}
}
