/* =====================================================================
   nm-front.css — トップページ（承認済みLPデザイン）
   ===================================================================== */

/* hero */
.nm-hero{position:relative;padding:56px 0 0;background:linear-gradient(180deg,var(--nm-bg-sky) 0%,#fff 78%);overflow:hidden;text-align:center}
.nm-hero::before{content:"";position:absolute;right:-180px;top:-160px;width:620px;height:620px;border-radius:50%;background:#fff;opacity:.7}
.nm-hero__in{position:relative}
.nm-hero h1{font-size:clamp(32px,4.4vw,58px);margin-bottom:20px}
.nm-hero h1 em{font-style:normal;color:var(--nm-blue);background:linear-gradient(transparent 68%,oklch(0.88 0.16 95 / .7) 68%)}
.nm-hero__lead{font-size:18px;color:var(--nm-ink-2);max-width:640px;margin:0 auto 34px !important}
.nm-hero__cta{display:flex;justify-content:center;align-items:center;gap:18px;flex-wrap:wrap}
.nm-hero__note{margin-top:14px !important;font-size:13px;color:var(--nm-ink-3)}
.nm-hero__visual{position:relative;margin:36px auto 0;max-width:1080px}
.nm-hero__visual img{width:100%;height:auto}
.nm-hero__strip{position:relative;background:#fff;border-top:1px solid var(--nm-line)}
.nm-hero__strip ul{display:grid;grid-template-columns:repeat(3,1fr)}
.nm-hero__strip li{padding:26px 28px;display:flex;align-items:center;justify-content:center;gap:16px;font-weight:700;font-family:var(--nm-head);font-size:17px}
.nm-hero__strip li + li{border-left:1px solid var(--nm-line)}
.nm-hero__strip li span{font-family:var(--nm-num);font-size:13px;color:var(--nm-blue);letter-spacing:.1em;font-weight:600}

/* problems */
.nm-prob-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.nm-prob{background:#fff;border-radius:var(--nm-radius);padding:34px 30px;border:1px solid var(--nm-line)}
.nm-prob .nm-prob__q{font-family:var(--nm-num);font-size:40px;font-weight:700;color:var(--nm-bg-sky);-webkit-text-stroke:1.5px var(--nm-blue);line-height:1;margin-bottom:18px}
.nm-prob h3{font-size:20px;margin-bottom:10px}
.nm-prob p{font-size:15px;color:var(--nm-ink-2)}
.nm-prob-answer{margin-top:56px !important;text-align:center;font-family:var(--nm-head);font-weight:900;font-size:clamp(22px,2.4vw,30px)}
.nm-prob-answer b{color:var(--nm-blue)}
.nm-down{width:0;height:0;border-left:22px solid transparent;border-right:22px solid transparent;border-top:18px solid var(--nm-blue);margin:44px auto 0;opacity:.85}

/* ads points */
.nm-svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.nm-svc{background:#fff;border-radius:var(--nm-radius);padding:36px 32px 32px;border:1px solid var(--nm-line);display:flex;flex-direction:column}
.nm-sec--soft .nm-svc{border-color:transparent}
.nm-svc__no{font-family:var(--nm-num);font-weight:700;color:var(--nm-blue);font-size:14px;letter-spacing:.14em;margin-bottom:14px}
.nm-svc h3{font-size:22px;margin-bottom:12px}
.nm-svc p{color:var(--nm-ink-2);font-size:15px;flex:1}
.nm-svc .nm-tags{margin-top:22px}
.nm-svc .nm-tags li{font-weight:500;font-size:12px;padding:4px 12px}
.nm-front-media{margin-top:40px}
.nm-front-media .nm-media{grid-template-columns:repeat(4,1fr)}

/* seo */
.nm-seo-grid{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center}
.nm-seo-visual{position:relative}
.nm-seo-visual::before{content:"";position:absolute;inset:8% 6% 6% 6%;background:var(--nm-bg-sky);border-radius:50%}
.nm-sec--soft .nm-seo-visual::before{background:#fff}
.nm-seo-visual img{position:relative;width:100%;max-width:520px;margin:0 auto}
.nm-seo-copy h2{font-size:clamp(26px,3vw,38px);margin-bottom:22px}
.nm-seo-copy > p{color:var(--nm-ink-2);margin-bottom:30px}
.nm-seo-copy .nm-check{margin-bottom:36px}
.nm-seo-copy__act{display:flex;flex-wrap:wrap;align-items:center;gap:22px}

/* mid CTA */
.nm-mid{position:relative;z-index:2;margin-top:-40px}
.nm-mid__box{background:var(--nm-blue);color:#fff;border-radius:24px;padding:48px 56px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:32px;position:relative;overflow:hidden}
.nm-mid__box::after{content:"";position:absolute;right:-60px;bottom:-120px;width:320px;height:320px;border-radius:50%;background:rgba(255,255,255,.08)}
.nm-mid__box h2{font-size:clamp(20px,2.3vw,28px);margin-bottom:8px}
.nm-mid__box p{opacity:.9;font-size:15px}
.nm-mid__box .nm-btn{position:relative;z-index:1}

/* pricing */
.nm-price-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:24px;align-items:start}
.nm-price-note{margin-top:28px !important;text-align:center;font-size:14px;color:var(--nm-ink-2)}
.nm-price-more{text-align:center;margin-top:18px}


/* download (main CV) */
.nm-dl{background:linear-gradient(180deg,#fff 0%,var(--nm-bg-sky) 100%)}
.nm-dl-box{display:grid;grid-template-columns:1fr 1.1fr;background:#fff;border-radius:28px;box-shadow:0 30px 80px -40px rgba(22,32,46,.35);overflow:hidden;border:1px solid var(--nm-line)}
.nm-dl-info{padding:40px 48px;background:var(--nm-ink);color:#fff;position:relative;overflow:hidden}
.nm-dl-info .nm-label{color:var(--nm-yellow)}
.nm-dl-info h2{font-size:clamp(24px,2.3vw,30px);margin-bottom:10px}
.nm-dl-info > p{opacity:.8;font-size:14px;margin-bottom:20px}
.nm-doc-stack{position:relative;height:118px;margin-bottom:20px}
.nm-doc{position:absolute;width:150px;height:96px;border-radius:9px;background:#fff;color:var(--nm-ink);padding:14px;box-shadow:0 20px 40px -20px rgba(0,0,0,.6);font-family:var(--nm-head);font-weight:700;font-size:13px;line-height:1.5}
.nm-doc::before{content:"";display:block;width:36px;height:4px;border-radius:4px;background:var(--nm-blue);margin-bottom:12px}
.nm-doc::after{content:"";position:absolute;left:14px;right:14px;bottom:14px;height:18px;background:repeating-linear-gradient(var(--nm-line) 0 3px,transparent 3px 9px)}
.nm-doc:nth-child(1){left:0;top:16px;transform:rotate(-6deg)}
.nm-doc:nth-child(2){left:120px;top:4px;transform:rotate(2deg)}
.nm-doc:nth-child(2)::before{background:var(--nm-orange)}
.nm-doc:nth-child(3){left:240px;top:20px;transform:rotate(7deg)}
.nm-doc:nth-child(3)::before{background:var(--nm-yellow)}
.nm-dl-points{display:grid;gap:6px;font-size:14px}
.nm-dl-points li{display:flex;gap:12px;align-items:center}
.nm-dl-points li::before{content:"";width:18px;height:18px;border-radius:50%;background:var(--nm-yellow) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M6 12.5l4 4 8-9' fill='none' stroke='%2316202e' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'/></svg>") center/11px no-repeat;flex:none}
.nm-dl-form{padding:40px 48px;align-self:center}
.nm-form-steps{display:flex;gap:8px;margin-bottom:28px;font-size:13px;font-weight:700;color:var(--nm-ink-3)}
.nm-form-steps span{flex:1;padding-top:10px;border-top:3px solid var(--nm-line)}
.nm-form-steps span.is-on{color:var(--nm-blue-deep);border-color:var(--nm-blue)}

/* company */
.nm-company-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:64px;align-items:center}
.nm-company-photo{position:relative;border-radius:20px;overflow:hidden;aspect-ratio:4/3.3}
.nm-company-photo img{width:100%;height:100%;object-fit:cover;object-position:60% 50%}
.nm-company-photo figcaption{position:absolute;left:18px;bottom:18px;background:rgba(255,255,255,.92);font-size:12px;font-weight:700;padding:6px 14px;border-radius:999px;color:var(--nm-ink-2)}
.nm-company-copy h2{font-size:clamp(26px,2.6vw,36px);margin-bottom:18px}
.nm-company-copy > p{color:var(--nm-ink-2);margin-bottom:28px}
.nm-company-copy .nm-link{margin-top:22px}

/* トップは下部CTA帯の代わりにフォーム → CTA帯は非表示 */
.home .nm-ctaband{display:none}
.home .nm-ft{margin-top:0}

@media (max-width:960px){
  .nm-seo-grid,.nm-flow-grid,.nm-company-grid,.nm-dl-box,.nm-price-grid{grid-template-columns:1fr}
  .nm-seo-grid,.nm-flow-grid,.nm-company-grid{gap:40px}
  .nm-prob-grid,.nm-svc-grid,.nm-hero__strip ul{grid-template-columns:1fr}
  .nm-front-media .nm-media{grid-template-columns:repeat(2,1fr)}
  .nm-hero__strip li + li{border-left:0;border-top:1px solid var(--nm-line)}
  .nm-mid__box{grid-template-columns:1fr;padding:36px 28px}
  .nm-mid__box .nm-btn{width:100%}
  .nm-dl-info,.nm-dl-form{padding:36px 24px}
  .nm-doc-stack{transform:scale(.85);transform-origin:left top}
  .nm-hero__cta .nm-btn{width:100%;max-width:420px}
}
