/* ネオリーフ用の差分（ネオスタイル B案v8 の style.css / corporate.css をそのまま読み込み、色と印だけ葉の緑に寄せる） 2026-09-24 */
:root{--leaf:#497736;--leaf-deep:#2f5a27;--leaf-pale:#eef4e6}
.brand img{height:34px;width:auto;display:block;margin-right:10px}
.brand{font-size:0;line-height:0}
.brand .brand-text{font-size:19px;line-height:1;letter-spacing:-.02em;color:var(--ink);font-weight:700}
.brand .brand-text b{color:var(--leaf)}
.catch-accent{color:#8fd46a}
.campaign-corner{color:var(--leaf-deep)}
.page-intro h1>span{color:var(--leaf)}
.button.primary:not(.enterprise-hero .primary){background:var(--leaf-deep)}
.enterprise-hero{background:#12291a}
.hero-image{object-position:60% 30%}
.hero-shade{background:linear-gradient(90deg,rgba(6,28,14,.86),rgba(6,28,14,.58) 40%,rgba(6,28,14,0) 78%)}
.dot{background:var(--leaf)}
.service-icon{background:var(--leaf-pale);color:var(--leaf-deep)}
.metrics strong{color:var(--leaf-deep)}
.company-wordmark.neoleaf{color:var(--leaf)}
.values-grid article span{color:var(--leaf)}
.hub-grid>a span{color:var(--leaf)}
.strengths{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:34px}
.strengths div{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:24px 22px}
.strengths div strong{display:block;font-size:22px;letter-spacing:-.02em;color:var(--leaf-deep);margin-bottom:8px}
.strengths div p{margin:0;font-size:14px;color:var(--muted);line-height:1.8}
.contract-list{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:26px 0 0;padding:0;list-style:none}
.contract-list li{background:var(--leaf-pale);border-radius:14px;padding:16px 18px;font-size:14px;line-height:1.7}
.contract-list li b{display:block;color:var(--leaf-deep);font-size:15px;margin-bottom:4px}
.area-note{margin-top:22px;font-size:14px;color:var(--muted)}
@media(max-width:850px){.strengths,.contract-list{grid-template-columns:1fr}}

.enterprise-hero .hero-desc{color:#dfe8e0}
.brand-intro h2 span{color:var(--leaf)}

/* ===== やわらかテイスト（2026-09-24 中村さん「ボタンとか全体的に角丸・柔らかい雰囲気」） ===== */
:root{--leaf:#5a9a3e;--leaf-deep:#3d7a2c;--leaf-pale:#eef6e6;--paper:#faf8f1;--soft-shadow:0 12px 32px rgba(61,122,44,.10);--round:28px;--sans:"Zen Maru Gothic","M PLUS Rounded 1c","Hiragino Maru Gothic ProN","Yu Gothic UI","Meiryo",sans-serif}
html body{font-family:var(--sans);background:var(--paper)}
html body h1,html body h2,html body h3{font-weight:700;letter-spacing:-.01em}
/* ボタン類はすべて丸い端（ピル型） */
html body .button,html body .nav-cta,html body .menu-toggle,html body .enterprise-hero .primary,html body .text-link[data-consult],html body #copy-topic{border-radius:999px}
html body .button.primary{background:linear-gradient(135deg,var(--leaf),var(--leaf-deep));color:#fff;box-shadow:0 8px 22px rgba(61,122,44,.28);border:0}
html body .button.primary:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(61,122,44,.34)}
html body .enterprise-hero .button.primary{background:#fff;color:var(--leaf-deep);box-shadow:0 8px 24px rgba(0,0,0,.18)}
html body .nav-cta{background:var(--leaf-deep);padding-inline:22px}
/* ヒーローは角を丸めた大きな1枚に */
html body .enterprise-hero{margin:12px 12px 0;border-radius:36px;overflow:hidden}
html body .catch-accent{color:#b9e89a}
/* カード類：線をやめて、白い面＋やわらかい影＋大きな角丸 */
html body .service-card,html body .hub-grid>a,html body .values-grid article,html body .strengths div,html body .contract-list li,html body .metrics>div{border:0;border-radius:var(--round);background:#fff;box-shadow:var(--soft-shadow)}
html body .service-card{padding:30px 28px}
html body .service-card:hover,html body .hub-grid>a:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(61,122,44,.16);background:#fff}
html body .values-grid article{border-top:0;padding:28px 26px}
html body .metrics{gap:16px}
html body .metrics>div{padding:24px 24px 22px}
html body .contract-list li{background:#fff}
html body .hub-grid{gap:18px}
html body .service-icon{border-radius:50%;width:52px;height:52px;display:inline-grid;place-items:center}
/* 面の切り替わりもやわらかく */
html body .proof{background:transparent;border:0}
html body .proof .wrap{background:var(--leaf-pale);border-radius:40px;padding:40px clamp(20px,4vw,48px)}
html body .brand-intro{background:radial-gradient(circle at 88% 20%,rgba(143,212,106,.20),transparent 34%),radial-gradient(circle at 8% 90%,rgba(90,154,62,.10),transparent 30%)}
html body .consultation-cta{border-top:0;background:#fff;border-radius:var(--round);box-shadow:var(--soft-shadow);padding:30px 32px}
html body .section-note{background:#fff;border-radius:999px;padding:10px 18px;display:inline-flex;box-shadow:0 4px 14px rgba(61,122,44,.08)}
html body .corporate-footer{background:#fff;border-radius:40px 40px 0 0;margin-top:40px}
html body .site-header{background:rgba(250,248,241,.94);border-bottom:0}
html body dialog{border-radius:32px}
html body textarea{border-radius:18px}
@media(max-width:850px){
  html body .enterprise-hero{margin:8px 8px 0;border-radius:26px}
  html body .proof .wrap{border-radius:28px;padding:26px 18px}
  html body .consultation-cta{padding:24px 20px}
  html body .section-note{border-radius:20px}
  html body .corporate-footer{border-radius:28px 28px 0 0}
  html body .button{min-width:0}
}

/* ヒーロー細部・数字の並び（2回目） */
html body .hero-sub span,html body .campaign-corner,html body .hero-actions .text-link{border-radius:999px}
html body .hero-sub span{padding-inline:18px}
html body .campaign-corner{border-radius:20px;padding:12px 16px}
html body .hero-actions .text-link{padding:12px 22px;background:rgba(255,255,255,.85)}
html body .hero-foot{border-radius:0 0 36px 36px}
html body .metrics{grid-template-columns:repeat(3,1fr)}
html body .metrics>div{box-shadow:0 8px 22px rgba(61,122,44,.08)}
@media(max-width:850px){html body .metrics{grid-template-columns:1fr}html body .hero-foot{border-radius:0 0 26px 26px}}
/* スマホは写真の下が地の色になる＝濃い緑の上に紺の見出しで読めなかったのを、やわらかい若葉色の地に */
@media(max-width:850px){html body .enterprise-hero{background:#f1f6ea}html body .enterprise-hero .hero-desc{color:var(--ink)}html body .enterprise-hero .button.primary{background:linear-gradient(135deg,var(--leaf),var(--leaf-deep));color:#fff}}

/* ===== 大きな文字・洗練（2026-09-24 中村さん「もっと文字を大きく洗練された感じで／キャッチの色が写真と被って見にくい」） =====
   原因＝紺の見出しを濃い緑の影の上に置き、アクセントの緑が写真の観葉植物と同じ色域で重なっていた。
   方針＝写真の左側を生成り色でやわらかく覆い（文字の面）、見出しは濃い墨＋濃い葉色。写真は右に抜ける。 */
html body{font-size:18px;line-height:1.9}
html body nav{font-size:15px;gap:32px}
html body .hero-shade{height:100%;background:linear-gradient(90deg,rgba(250,248,241,.97) 0%,rgba(250,248,241,.93) 34%,rgba(250,248,241,.55) 52%,rgba(250,248,241,0) 68%)}
html body .enterprise-hero{background:var(--paper)}
html body .enterprise-hero .hero-copy{max-width:640px}
html body .enterprise-hero h1{font-size:clamp(40px,7.2vw,96px);line-height:1.22;font-weight:700;letter-spacing:-.035em;color:#16301f;text-shadow:none}
html body .enterprise-hero h1 .headline-line{display:block}
html body .enterprise-hero .catch-accent{color:var(--leaf-deep);background:linear-gradient(transparent 68%,rgba(185,232,154,.75) 68%);padding:0 .04em;border-radius:4px}
html body .enterprise-hero .eyebrow{font-size:14px;letter-spacing:.24em;color:var(--leaf-deep);opacity:1}
html body .enterprise-hero .hero-sub{margin-top:30px}
html body .enterprise-hero .hero-sub span{font-size:clamp(18px,1.9vw,24px);background:var(--leaf-deep);color:#fff;padding:8px 22px;box-shadow:none}
html body .enterprise-hero .hero-desc{font-size:clamp(17px,1.55vw,20px);line-height:2;color:#2c3e33;margin-top:22px;letter-spacing:.02em}
html body .enterprise-hero .button.primary{background:linear-gradient(135deg,var(--leaf),var(--leaf-deep));color:#fff;font-size:17px;padding:18px 34px;box-shadow:0 10px 26px rgba(61,122,44,.30)}
html body .enterprise-hero .hero-actions .text-link{font-size:16px;color:#16301f;background:#fff;box-shadow:0 6px 18px rgba(22,48,31,.08);border:0}
html body .enterprise-hero .hero-foot{background:rgba(255,255,255,.92);color:#16301f;font-size:13px;letter-spacing:.12em}
html body .campaign-corner{font-size:13px;background:rgba(255,255,255,.88);color:var(--leaf-deep)}
/* 本文側も一段大きく */
html body main h2{font-size:clamp(30px,4vw,52px);line-height:1.35;letter-spacing:-.03em;font-weight:700}
html body .eyebrow{font-size:14px;letter-spacing:.22em}
html body .service-card h3{font-size:24px}
html body .service-card p,html body .values-grid article p,html body .strengths div p,html body .contract-list li,html body .area-note{font-size:17px;line-height:1.95}
html body .metrics strong{font-size:clamp(40px,4.4vw,58px);letter-spacing:-.03em}
html body .section-note{font-size:15px}
@media(max-width:850px){
  html body{font-size:17px}
  html body .hero-shade{background:linear-gradient(180deg,rgba(250,248,241,0) 55%,var(--paper) 99%)}
  html body .enterprise-hero h1{font-size:clamp(38px,11vw,48px);line-height:1.3}
  html body .enterprise-hero .eyebrow{font-size:12px;letter-spacing:.18em}
  html body .enterprise-hero .hero-foot{font-size:11px}
  html body .enterprise-hero .hero-sub span{font-size:18px}
  html body .enterprise-hero .hero-desc{font-size:17px}
  html body main h2{font-size:clamp(28px,8vw,36px)}
  html body .campaign-corner{font-size:11px}
}
/* 仕上げ（見出しの効き・アクセントの線・英字札） */
html body main .section-heading h2,html body main .intro-grid h2,html body main .editorial-copy h2,html body main .editorial-statement h2,html body main .group-overview h2{font-size:clamp(34px,4.2vw,54px);line-height:1.4;letter-spacing:-.03em;font-weight:700}
html body .enterprise-hero .catch-accent{background:none;padding:0;text-decoration:underline;text-decoration-color:rgba(185,232,154,.9);text-decoration-thickness:.2em;text-underline-offset:-.02em;text-decoration-skip-ink:none}
html body .hero-shade{background:linear-gradient(90deg,rgba(250,248,241,.96) 0%,rgba(250,248,241,.9) 32%,rgba(250,248,241,.45) 50%,rgba(250,248,241,0) 62%)}
html body .campaign-corner{white-space:nowrap;text-align:left}
@media(max-width:850px){
  html body main .section-heading h2,html body main .intro-grid h2,html body main .editorial-copy h2,html body main .editorial-statement h2,html body main .group-overview h2{font-size:clamp(28px,8vw,34px);line-height:1.5}
  html body .enterprise-hero .hero-copy{padding-top:26px}
  html body .hero-shade{background:linear-gradient(180deg,rgba(250,248,241,0) 70%,var(--paper) 100%)}
}
@media(max-width:850px){html body .campaign-corner{white-space:normal;max-width:150px;font-size:10px;padding:10px 12px}}

/* ── 人物写真（2026-09-24 中村さん「女優男優さんっぽいの入れて・大手っぽさ」）── */
.nl-photo{margin:56px 0 0;border-radius:36px;overflow:hidden;box-shadow:0 30px 60px -30px rgba(23,60,40,.35);aspect-ratio:21/9;background:#e9efe4}
.nl-photo img{display:block;width:100%;height:100%;object-fit:cover}
.nl-photo-vision img{object-position:75% 30%}
.nl-photo-values img{object-position:50% 35%}
.nl-photo-talk img{object-position:70% 40%}
.consultation .nl-photo{margin:8px 0 40px}
@media(max-width:850px){.nl-photo{margin-top:32px;border-radius:24px;aspect-ratio:4/3}.consultation .nl-photo{margin:4px 0 28px}}
@media(max-width:850px){html body .enterprise-hero .hero-image{object-position:82% 6%}}

/* ===== 下層ページ（2026-09-24 中村さん「グループ会社の紹介も・下層ページも今のデザインに合わせて」） ===== */
.nl-sub .breadcrumb{font-size:13px;color:#6b7d70;padding-top:30px}
.nl-sub .breadcrumb a{color:var(--leaf-deep)}
.nl-sub .page-intro{padding-top:40px;padding-bottom:10px}
.nl-sub .page-intro h1{font-size:clamp(44px,6vw,84px);line-height:1.25;letter-spacing:-.035em;color:#16301f;font-weight:700}
.nl-sub .page-intro .eyebrow{color:var(--leaf-deep)}
.nl-sub .page-lead{font-size:clamp(17px,1.6vw,21px);color:#2c3e33;line-height:2;max-width:760px}
.nl-sub .nl-photo-intro{margin-top:26px;aspect-ratio:21/8}
.nl-jumps{display:flex;flex-wrap:wrap;gap:10px;margin-top:34px}
.nl-jumps a{background:#fff;border-radius:999px;padding:10px 18px;font-size:14px;color:var(--leaf-deep);box-shadow:0 4px 14px rgba(61,122,44,.08);text-decoration:none}
.nl-jumps a:hover{background:var(--leaf-pale)}
.nl-sub .section{scroll-margin-top:90px}
.nl-tint{background:var(--leaf-pale);border-radius:48px;margin:0 12px}
.nl-subhead{font-size:clamp(22px,2.2vw,28px);margin:56px 0 20px;color:#16301f;letter-spacing:-.01em}
.nl-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:30px}
.nl-cards.two{grid-template-columns:repeat(2,1fr)}
.nl-cards article{background:#fff;border-radius:var(--round);box-shadow:var(--soft-shadow);padding:28px 26px}
.nl-cards article span{display:inline-block;font-size:12px;letter-spacing:.14em;color:var(--leaf);font-weight:700}
.nl-cards article h3{font-size:22px;line-height:1.5;margin:10px 0 10px;color:#16301f}
.nl-cards article p{margin:0;font-size:16px;line-height:1.9;color:#465a4c}
.nl-cards article p b{color:var(--leaf-deep)}
.nl-chips{margin-top:36px}
.nl-chips h3{font-size:18px;margin:0 0 14px;color:#16301f}
.nl-chips ul{display:flex;flex-wrap:wrap;gap:10px;list-style:none;margin:0;padding:0}
.nl-chips li{background:#fff;border-radius:999px;padding:9px 18px;font-size:15px;color:#2c3e33;box-shadow:0 4px 12px rgba(61,122,44,.07)}
.nl-facts{background:#fff;border-radius:var(--round);box-shadow:var(--soft-shadow);padding:10px 32px;margin:30px 0 0}
.nl-facts>div{display:grid;grid-template-columns:170px 1fr;gap:20px;padding:20px 0;border-top:1px solid #e6ece0}
.nl-facts>div:first-child{border-top:0}
.nl-facts dt{font-weight:700;color:var(--leaf-deep);font-size:15px}
.nl-facts dd{margin:0;font-size:16px;line-height:1.9;color:#2c3e33}
.nl-facts dd a{color:var(--leaf-deep);text-decoration:underline;text-underline-offset:3px}
.nl-facts.compact{padding:4px 26px;margin:14px 0}
.nl-facts.compact>div{grid-template-columns:200px 1fr;padding:14px 0}
.nl-message{display:grid;grid-template-columns:.8fr 1.4fr;gap:56px;align-items:start}
.nl-profile{margin-top:30px;background:#fff;border-radius:var(--round);box-shadow:var(--soft-shadow);padding:26px 28px}
.nl-profile b{display:block;font-size:28px;color:#16301f}
.nl-profile span{font-size:13px;color:#6b7d70;letter-spacing:.1em}
.nl-profile p{margin:8px 0 0;color:var(--leaf-deep);font-weight:700}
.nl-message-body p{font-size:17px;line-height:2.05;color:#2c3e33}
.nl-message-body .nl-subhead{margin-top:36px}
.nl-access{display:grid;grid-template-columns:1fr 1.1fr;gap:32px;align-items:start;margin-top:30px}
.nl-access .nl-facts{margin:0 0 18px}
.nl-map{border-radius:var(--round);overflow:hidden;box-shadow:var(--soft-shadow);background:#e9efe4;aspect-ratio:4/3}
.nl-map iframe{display:block;width:100%;height:100%;border:0}
#access>.wrap>.nl-map{aspect-ratio:21/8;margin-top:30px}
.nl-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;list-style:none;margin:30px 0 0;padding:0}
.nl-steps li{background:#fff;border-radius:var(--round);box-shadow:var(--soft-shadow);padding:26px 24px;position:relative}
.nl-steps li span{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,var(--leaf),var(--leaf-deep));color:#fff;font-weight:700;font-size:15px}
.nl-steps li h3{font-size:20px;margin:16px 0 8px;color:#16301f}
.nl-steps li p{margin:0;font-size:15px;line-height:1.85;color:#465a4c}
.nl-steps li:not(:last-child)::after{content:"";position:absolute;right:-13px;top:44px;width:8px;height:8px;border-top:2px solid var(--leaf);border-right:2px solid var(--leaf);transform:rotate(45deg)}
.nl-callout{margin:60px 12px 0;border-radius:48px;background:linear-gradient(135deg,#3d7a2c,#27561d);color:#fff;padding:72px 0}
.nl-callout .wrap{display:flex;justify-content:space-between;align-items:center;gap:36px;flex-wrap:wrap}
.nl-callout .eyebrow{color:#cfe9bd}
html body main .nl-callout h2{color:#fff;margin:14px 0 12px}
.nl-callout p{color:#e4efdc;margin:0}
.nl-callout-actions{display:flex;flex-wrap:wrap;gap:12px}
html body .nl-callout .button{border-radius:999px;background:rgba(255,255,255,.14);color:#fff;border:1px solid rgba(255,255,255,.5);box-shadow:none}
html body .nl-callout .button.primary{background:#fff;color:var(--leaf-deep);border:0;box-shadow:0 10px 26px rgba(0,0,0,.18)}
/* グループ会社：3社を白い角丸の面に */
.nl-sub .group-overview{grid-template-columns:1fr;padding:56px 0 40px}
.nl-sub .company-jumps{gap:10px}
.nl-sub .company-jumps a{border:0;background:#fff;border-radius:999px;padding:10px 18px;font-size:13px;color:var(--leaf-deep);box-shadow:0 4px 14px rgba(61,122,44,.08)}
.nl-sub .company-section{background:var(--leaf-pale);border-radius:48px;margin:0 12px;padding:64px 0}
.nl-sub .company-profile{background:#fff;border:0;border-radius:36px;box-shadow:var(--soft-shadow);padding:44px 48px;margin-top:22px}
.nl-sub .company-wordmark.neostyle{color:#1d4e89}
.nl-sub .company-wordmark.naplus{color:#345e79}
.nl-sub .company-description h3{color:#16301f}
.nl-sub .business-tags li{border:0;border-radius:999px;background:var(--leaf-pale);color:var(--leaf-deep);padding:7px 16px;font-size:13px}
.nl-sub .company-facts{border-top:1px solid #e6ece0}
.nl-sub .company-profile .company-facts div{grid-template-columns:92px 1fr}
.nl-sub .company-facts dt{color:var(--leaf-deep)}
.nl-sub .company-description .text-link{border-radius:999px;background:var(--leaf-pale);padding:10px 20px;color:var(--leaf-deep)}
/* お問い合わせ */
.nl-contact{display:grid;grid-template-columns:1.5fr 1fr;gap:26px;margin-top:30px;align-items:start}
.nl-form{background:#fff;border-radius:36px;box-shadow:var(--soft-shadow);padding:36px;display:grid;grid-template-columns:1fr 1fr;gap:18px 20px;position:relative}
.nl-form label{display:flex;flex-direction:column;gap:8px;font-size:15px;font-weight:700;color:#16301f}
.nl-form label em{font-style:normal;font-size:11px;background:var(--leaf-deep);color:#fff;border-radius:999px;padding:2px 9px;margin-left:6px;font-weight:500;align-self:flex-start}
.nl-form label small{font-size:11px;color:#6b7d70;font-weight:500}
.nl-form .wide{grid-column:1/-1}
.nl-form input,.nl-form select,.nl-form textarea{font:inherit;font-weight:400;font-size:16px;border:1.5px solid #dbe5d2;background:var(--paper);border-radius:16px;padding:13px 16px;color:#16301f;width:100%;box-sizing:border-box}
.nl-form input:focus,.nl-form select:focus,.nl-form textarea:focus{outline:0;border-color:var(--leaf);box-shadow:0 0 0 4px rgba(90,154,62,.15);background:#fff}
.nl-form-foot{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.nl-form-foot .button{font-size:17px;padding:16px 42px;cursor:pointer}
.nl-form-status{margin:0;font-size:15px;color:var(--leaf-deep);font-weight:700;white-space:pre-line}
.nl-form-status.err{color:#b3261e}
.nl-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.nl-contact-side{display:grid;gap:16px}
.nl-contact-side>div{background:#fff;border-radius:var(--round);box-shadow:var(--soft-shadow);padding:22px 26px}
.nl-contact-side span{font-size:12px;letter-spacing:.16em;color:var(--leaf);font-weight:700}
.nl-contact-side p{margin:6px 0 0;font-size:15px;color:#465a4c;line-height:1.85}
.nl-big{display:block;font-size:clamp(22px,2.2vw,28px);font-weight:700;color:#16301f;margin-top:6px;text-decoration:none;word-break:break-all}
.nl-assure{list-style:none;margin:0;padding:22px 26px;background:var(--leaf-deep);border-radius:var(--round);color:#fff;display:grid;gap:8px;font-size:15px}
.nl-assure li::before{content:"✓";display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:rgba(255,255,255,.2);margin-right:10px;font-size:12px}
.nl-faq{display:grid;gap:12px;margin-top:30px}
.nl-faq details{background:#fff;border-radius:24px;box-shadow:0 6px 18px rgba(61,122,44,.08);padding:4px 26px}
.nl-faq summary{cursor:pointer;list-style:none;font-weight:700;font-size:17px;color:#16301f;padding:18px 40px 18px 0;position:relative}
.nl-faq summary::-webkit-details-marker{display:none}
.nl-faq summary::before{content:"Q";color:var(--leaf);margin-right:12px;font-weight:700}
.nl-faq summary::after{content:"+";position:absolute;right:0;top:50%;transform:translateY(-50%);width:28px;height:28px;border-radius:50%;background:var(--leaf-pale);color:var(--leaf-deep);display:grid;place-items:center;font-size:18px}
.nl-faq details[open] summary::after{content:"−"}
.nl-faq details p{margin:0 0 20px;font-size:16px;line-height:1.95;color:#465a4c;padding-left:26px}
/* トップのグループ紹介 */
.nl-group-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:30px}
.nl-group-strip a{display:block;background:#fff;border-radius:var(--round);box-shadow:var(--soft-shadow);padding:28px 26px;text-decoration:none;color:inherit;transition:transform .2s,box-shadow .2s}
.nl-group-strip a:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(61,122,44,.16)}
.nl-group-strip b{display:block;font-size:30px;letter-spacing:-.03em;line-height:1.1}
.nl-group-strip .neoleaf b{color:var(--leaf)}.nl-group-strip .neostyle b{color:#1d4e89}.nl-group-strip .naplus b{color:#345e79}
.nl-group-strip small{display:block;font-size:11px;letter-spacing:.18em;color:#6b7d70;margin:8px 0 14px}
.nl-group-strip h3{font-size:18px;margin:0 0 6px;color:#16301f}
.nl-group-strip p{margin:0;font-size:15px;line-height:1.85;color:#465a4c}
.nl-group-strip i{font-style:normal;display:inline-block;margin-top:12px;font-size:12px;color:var(--leaf-deep);background:var(--leaf-pale);border-radius:999px;padding:4px 12px}
@media(max-width:1000px){.nl-steps{grid-template-columns:repeat(2,1fr)}.nl-steps li::after{display:none}}
@media(max-width:850px){
  .nl-tint,.nl-sub .company-section{border-radius:28px;margin:0 8px}
  .nl-cards,.nl-cards.two,.nl-group-strip,.nl-steps{grid-template-columns:1fr}
  .nl-sub .nl-photo-intro{aspect-ratio:4/3}
  .nl-facts{padding:6px 20px}
  .nl-facts>div,.nl-facts.compact>div{grid-template-columns:1fr;gap:4px;padding:14px 0}
  .nl-message,.nl-access,.nl-contact{grid-template-columns:1fr;gap:24px}
  .nl-form{grid-template-columns:1fr;padding:24px 20px;border-radius:28px}
  .nl-form-foot .button{width:100%;justify-content:center}
  .nl-callout{margin:40px 8px 0;border-radius:28px;padding:48px 0}
  .nl-sub .company-profile{padding:28px 22px;border-radius:28px}
  #access>.wrap>.nl-map{aspect-ratio:4/3}
  .nl-faq details{padding:2px 18px}
  .nl-faq summary{font-size:16px}
}
.nl-form .lb{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.nl-form .lb em,.nl-form .lb small{margin-left:0}

/* 締めの緑帯の主ボタン：緑地に緑文字で見えなかったのを白地に戻す（2026-09-24） */
section.nl-callout .nl-callout-actions a.button.primary{background:#fff !important;background-image:none !important;color:#27561d !important;border:0}
section.nl-callout .nl-callout-actions a.button.primary span{color:#27561d}

/* 数字カードの左余白（2026-09-24 中村さん「スマホで見た時おかしいね」）
   原因＝骨組みの style.css が区切り線の並び用に .metrics>div:first-child／:nth-child(3) の左余白を0にしており、
   カードにした後もその指定の方が強く、1枚目・3枚目だけ文字がカードの縁に貼り付いていた。 */
html body .metrics>div:nth-child(n){padding:24px 24px 22px;border:0}
@media(max-width:850px){html body .metrics>div:nth-child(n){padding:22px 22px 20px}}

/* ===== 書体・PCの文字（2026-09-24 中村さん「PCもっと文字大きく／支える。→『え』で改行しないで／フォントなんか変」）=====
   原因①＝見出しの箱が640pxで止まっており、幅1440では「支え｜る。」で折れていた（1280では収まるので見落とし）。
   原因②＝丸ゴシック（Zen Maru Gothic）に字間を-0.035em詰めていたため、かなが潰れて不揃いに見えていた。
   直し＝書体を角ゴシック（Noto Sans JP）へ。Zen Kaku は配信版に字詰め情報が無く palt が効かないと実測（幅1500→1500。Noto は1497→1399）。字詰めは負の字間でなく「palt」（かなの字幅を詰める組版機能）で行う。
         見出しの各行は折り返さない。角丸・色はそのまま＝やわらかさは形で残す。 */
:root{--sans:"Noto Sans JP","Hiragino Sans","Yu Gothic UI","Meiryo",sans-serif}
html body{letter-spacing:.04em}
html body h1,html body h2,html body h3,html body .hero-sub span,html body .nl-group-strip b,html body .metrics strong{font-feature-settings:"palt";letter-spacing:.02em}
html body .enterprise-hero .hero-copy{max-width:none}
html body .enterprise-hero h1 .headline-line,html body .enterprise-hero .catch-accent{white-space:nowrap}
@media(min-width:851px){
  html body{font-size:19px}
  html body nav{font-size:16.5px}
  html body .enterprise-hero h1{font-size:clamp(56px,7.4vw,108px);line-height:1.2;letter-spacing:.01em}
  html body .enterprise-hero .eyebrow{font-size:15px}
  html body .enterprise-hero .hero-sub span{font-size:clamp(20px,2vw,27px)}
  html body .enterprise-hero .hero-desc{font-size:clamp(18px,1.7vw,22.5px)}
  html body .enterprise-hero .button.primary{font-size:18.5px}
  html body .enterprise-hero .hero-actions .text-link{font-size:17.5px}
  html body main h2,html body main .section-heading h2,html body main .intro-grid h2,html body main .editorial-copy h2,html body main .editorial-statement h2,html body main .group-overview h2{font-size:clamp(36px,4.5vw,62px)}
  html body .eyebrow{font-size:15px}
  html body .service-card h3{font-size:27px}
  html body .service-card p,html body .values-grid article p,html body .strengths div p,html body .contract-list li,html body .area-note{font-size:18.5px}
  html body .nl-group-strip h3{font-size:20px}
  html body .nl-group-strip p{font-size:16.5px}
  html body .section-note{font-size:16.5px}
}
/* リード文：箱が440pxで止まり「IT教｜育」「必要なだ｜け」と折れていた＝各行を1行で出す（PCのみ） */
@media(min-width:851px){html body .enterprise-hero .hero-desc{max-width:none;white-space:nowrap}}
/* ロゴを大きく・社名を明記（2026-09-24） */
html body .brand{display:inline-flex;align-items:center;gap:12px;font-size:0;line-height:1;text-decoration:none}
html body .brand img{height:54px;width:auto;margin:0}
html body .brand .brand-text{display:none}
html body .brand-name{display:flex;flex-direction:column;gap:5px}
html body .brand-en{font-family:"Noto Sans JP",sans-serif;font-weight:800;font-size:26px;letter-spacing:.12em;color:#2f3a33;line-height:1}
html body .brand-ja{font-weight:700;font-size:14px;letter-spacing:.14em;color:var(--leaf);line-height:1}
.corporate-footer .brand img{height:64px}
.corporate-footer .brand-en{font-size:28px}
.corporate-footer .brand-ja{font-size:15px}
@media (max-width:760px){
  html body .brand{gap:9px}
  html body .brand img{height:40px}
  html body .brand-en{font-size:19px;letter-spacing:.1em}
  html body .brand-ja{font-size:11.5px;letter-spacing:.1em}
}
/* キッティングチーム（請負） */
html body .kitting-team .kitting-box{background:#27561d;color:#fff;border-radius:40px;padding:clamp(28px,5vw,64px)}
html body .kitting-team .eyebrow{color:#bfe8a4}
html body .kitting-team h2{color:#fff}
html body .kitting-team .section-heading>p{color:rgba(255,255,255,.88)}
html body .kitting-team .nl-cards article{background:#fff;color:var(--ink)}
html body .kitting-team .nl-cards article span{color:var(--leaf)}
@media (max-width:760px){html body .kitting-team .kitting-box{border-radius:28px;padding:28px 18px}}
html body .kitting-team h2 .nw{display:inline-block;white-space:nowrap}
@media (min-width:761px){
  html body .site-header .brand img{height:62px}
  html body .site-header .brand-en{font-size:30px}
  html body .site-header .brand-ja{font-size:15px}
}
