/*
Theme Name: NKTS IT Company Theme
Theme URI: https://nk-ts.com/
Description: IT企業・DX支援・システム開発・ITコンサルティング企業向けのNKTS子テーマ。Heroは初期状態で全OFF、必要な要素だけチェックボックスで有効化できます。
Author: NK Technical Support
Author URI: https://nk-ts.com/
Template: nk-base-theme
Version: 1.0.3
Text Domain: nkts-it-company
Tags: it-company, corporate, dx, system-development, consulting, saas, cybersecurity
*/

:root{
  --nk-it-bg:#f5f8fc;
  --nk-it-surface:#ffffff;
  --nk-it-ink:#101827;
  --nk-it-muted:#617086;
  --nk-it-primary:#1457d9;
  --nk-it-primary-dark:#0b2e78;
  --nk-it-accent:#00c2ff;
  --nk-it-accent-2:#7c3aed;
  --nk-it-line:#dde7f3;
  --nk-it-shadow:0 18px 50px rgba(15,38,76,.12);
  --nk-it-radius:20px;
  --nk-it-radius-lg:30px;
  --nk-it-container:1180px;
}
body.nk-it-theme{background:var(--nk-it-bg);color:var(--nk-it-ink);} 
.nk-it-container{max-width:var(--nk-it-container);margin:0 auto;padding:0 22px;box-sizing:border-box;}
.nk-it-section{padding:clamp(56px,7vw,96px) 0;position:relative;overflow:hidden;}
.nk-it-section--white{background:#fff;}
.nk-it-section--dark{background:#0b1020;color:#fff;}
.nk-it-eyebrow{display:block;color:var(--nk-it-primary);font-weight:900;letter-spacing:.16em;text-transform:uppercase;font-size:.78rem;margin-bottom:.7rem;}
.nk-it-title{font-size:clamp(1.9rem,3.6vw,3.05rem);line-height:1.25;margin:0;color:inherit;font-weight:900;letter-spacing:.01em;}
.nk-it-lead{color:var(--nk-it-muted);font-size:1.02rem;line-height:2;margin:1rem 0 0;}
.nk-it-section--dark .nk-it-lead{color:rgba(255,255,255,.78);} 
.nk-it-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:30px;}
.nk-it-head__text{max-width:780px;}
.nk-it-head__actions{flex:0 0 auto;}
.nk-it-btn{display:inline-flex;align-items:center;justify-content:center;gap:.55em;min-height:54px;padding:.95rem 1.42rem;border-radius:999px;text-decoration:none;font-weight:900;letter-spacing:.02em;border:1px solid transparent;transition:transform .25s ease,box-shadow .25s ease,background .25s ease,color .25s ease;box-shadow:0 12px 28px rgba(15,38,76,.1);}
.nk-it-btn:hover{transform:translateY(-2px);box-shadow:0 18px 38px rgba(15,38,76,.18);}
.nk-it-btn--primary{background:linear-gradient(135deg,var(--nk-it-primary),var(--nk-it-accent-2));color:#fff;}
.nk-it-btn--secondary{background:#fff;color:var(--nk-it-primary-dark);border-color:rgba(20,87,217,.22);}
.nk-it-btn--outline{background:transparent;color:var(--nk-it-primary);border-color:rgba(20,87,217,.35);box-shadow:none;}
.nk-it-btn--ghost{background:rgba(255,255,255,.12);color:#fff;border-color:rgba(255,255,255,.35);backdrop-filter:blur(8px);}
.nk-it-btn:focus-visible{outline:3px solid rgba(0,194,255,.38);outline-offset:3px;}

/* Hero: default is fully OFF via Customizer. These styles apply only when enabled. */
.nk-it-hero{position:relative;min-height:min(86vh,820px);display:grid;align-items:center;overflow:hidden;color:#fff;background:radial-gradient(circle at 72% 24%,rgba(0,194,255,.25),transparent 34%),linear-gradient(135deg,#07101f,#0b2e78 55%,#0b1020);}
.nk-it-hero::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:52px 52px;opacity:.7;}
.nk-it-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,10,22,.76),rgba(4,10,22,.44) 48%,rgba(4,10,22,.12));}
.nk-it-hero__content{position:relative;z-index:1;max-width:780px;padding:clamp(92px,12vw,148px) 0 clamp(70px,8vw,110px);}
.nk-it-hero__eyebrow{display:inline-flex;align-items:center;gap:.7rem;color:#a8eaff;font-size:.86rem;letter-spacing:.14em;text-transform:uppercase;font-weight:900;margin-bottom:1rem;}
.nk-it-hero__eyebrow::before{content:"";width:42px;height:2px;background:var(--nk-it-accent);display:inline-block;}
.nk-it-hero__title{font-size:clamp(2.35rem,5.2vw,4.8rem);line-height:1.12;margin:0;font-weight:950;letter-spacing:.01em;text-wrap:balance;text-shadow:0 16px 45px rgba(0,0,0,.34);}
.nk-it-hero__lead{font-size:clamp(1rem,1.45vw,1.15rem);line-height:1.95;margin:1.35rem 0 0;color:rgba(255,255,255,.9);max-width:660px;}
.nk-it-hero__actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:2rem;align-items:center;}
.nk-it-hero__badges{display:flex;gap:10px;flex-wrap:wrap;margin-top:1.45rem;padding:0;list-style:none;}
.nk-it-hero__badges li{padding:.58rem .86rem;border-radius:999px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);font-weight:850;font-size:.88rem;backdrop-filter:blur(10px);}
.nk-it-hero__panel{position:absolute;right:max(22px,calc((100vw - var(--nk-it-container))/2));bottom:34px;z-index:2;width:min(390px,calc(100vw - 44px));background:rgba(9,20,40,.58);border:1px solid rgba(255,255,255,.22);border-radius:24px;padding:20px;backdrop-filter:blur(16px);box-shadow:0 24px 60px rgba(0,0,0,.22);}
.nk-it-hero__panel strong{display:block;color:#fff;font-size:1.05rem;margin-bottom:.45rem;line-height:1.5;}
.nk-it-hero__panel p{margin:0;color:rgba(255,255,255,.82);line-height:1.8;font-size:.92rem;}
.nk-it-stats{position:relative;margin-top:-42px;z-index:4;}
.nk-it-stats__inner{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--nk-it-line);border-radius:24px;overflow:hidden;box-shadow:var(--nk-it-shadow);}
.nk-it-stat{background:#fff;padding:24px;text-align:center;display:flex;align-items:baseline;justify-content:center;gap:2px;flex-wrap:wrap;}
.nk-it-stat strong{display:block;font-size:clamp(1.8rem,3vw,2.7rem);color:var(--nk-it-primary);font-weight:950;line-height:1;}
.nk-it-stat em{font-style:normal;font-size:1.25rem;font-weight:900;color:var(--nk-it-accent-2);line-height:1;}
.nk-it-stat span{display:block;flex-basis:100%;margin-top:.55rem;color:var(--nk-it-muted);font-weight:800;font-size:.9rem;}

/* Cards */
.nk-it-grid{display:grid;gap:24px;}
.nk-it-grid--3{grid-template-columns:repeat(3,minmax(0,1fr));}
.nk-it-grid--4{grid-template-columns:repeat(4,minmax(0,1fr));}
.nk-it-card{background:#fff;border:1px solid var(--nk-it-line);border-radius:var(--nk-it-radius);overflow:hidden;box-shadow:0 10px 25px rgba(15,38,76,.06);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;}
.nk-it-card:hover{transform:translateY(-5px);box-shadow:var(--nk-it-shadow);border-color:rgba(20,87,217,.24);}
.nk-it-card__image{aspect-ratio:16/10;background:linear-gradient(135deg,#101827,#1457d9);display:flex;align-items:center;justify-content:center;position:relative;color:#fff;font-size:2.5rem;text-decoration:none;}
.nk-it-card__image::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 70% 30%,rgba(0,194,255,.28),transparent 42%);}
.nk-it-card__icon{position:relative;z-index:1;width:62px;height:62px;border-radius:18px;display:grid;place-items:center;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);backdrop-filter:blur(10px);}
.nk-it-card__body{padding:22px;}
.nk-it-card__meta{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px;}
.nk-it-chip{display:inline-flex;align-items:center;gap:.35em;border-radius:999px;padding:.34rem .65rem;background:#eef5ff;color:var(--nk-it-primary);font-size:.78rem;font-weight:850;}
.nk-it-card__title{font-size:1.2rem;margin:0 0 .7rem;font-weight:900;line-height:1.45;color:var(--nk-it-ink);}
.nk-it-card__title a{color:inherit;}
.nk-it-card__text{color:var(--nk-it-muted);line-height:1.85;margin:0;font-size:.94rem;}
.nk-it-card__link{display:inline-flex;margin-top:1rem;color:var(--nk-it-primary);font-weight:900;text-decoration:none;}
.nk-it-card__price{font-weight:900;color:var(--nk-it-primary-dark);margin-top:.8rem;}

/* Feature/process */
.nk-it-feature{position:relative;padding:28px;background:#fff;border-radius:var(--nk-it-radius);border:1px solid var(--nk-it-line);}
.nk-it-feature::before{content:attr(data-no);display:block;color:rgba(20,87,217,.14);font-size:3rem;font-weight:950;line-height:1;margin-bottom:.5rem;}
.nk-it-feature h3{font-size:1.15rem;margin:0 0 .7rem;}
.nk-it-feature p{color:var(--nk-it-muted);line-height:1.85;margin:0;}
.nk-it-process{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;}
.nk-it-step{background:#fff;border:1px solid var(--nk-it-line);border-radius:18px;padding:20px;position:relative;box-shadow:0 10px 24px rgba(15,38,76,.05);}
.nk-it-step__no{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:12px;background:var(--nk-it-primary);color:#fff;font-weight:900;margin-bottom:12px;}
.nk-it-step h3{font-size:1rem;margin:0 0 .55rem;}
.nk-it-step p{font-size:.9rem;line-height:1.75;color:var(--nk-it-muted);margin:0;}
.nk-it-badgelist{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0 0;padding:0;list-style:none;}
.nk-it-badgelist li{background:#eef5ff;color:var(--nk-it-primary-dark);font-weight:850;border-radius:999px;padding:.58rem .85rem;}

/* CTA */
.nk-it-cta{position:relative;overflow:hidden;background:#081225;color:#fff;padding:clamp(72px,8vw,108px) 0;}
.nk-it-cta::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 78% 20%,rgba(0,194,255,.24),transparent 34%),linear-gradient(90deg,rgba(8,18,37,.95),rgba(8,18,37,.72));}
.nk-it-cta__inner{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:28px;align-items:center;}
.nk-it-cta__text .nk-it-title{color:#fff;font-size:clamp(2rem,3.5vw,3rem);}
.nk-it-cta__text .nk-it-lead{color:rgba(255,255,255,.84);max-width:720px;}
.nk-it-cta__buttons{display:flex;gap:12px;flex-wrap:wrap;justify-content:flex-end;align-items:center;}
.nk-it-cta__buttons .nk-it-btn{white-space:nowrap;}

/* News/footer home */
.nk-it-news-list{display:grid;gap:10px;}
.nk-it-news-item{display:grid;grid-template-columns:140px minmax(0,1fr);gap:16px;align-items:center;padding:16px 18px;background:#fff;border:1px solid var(--nk-it-line);border-radius:16px;text-decoration:none;color:var(--nk-it-ink);box-shadow:0 8px 20px rgba(15,38,76,.04);}
.nk-it-news-item time{font-weight:850;color:var(--nk-it-primary);font-size:.92rem;}
.nk-it-news-item strong{font-weight:900;line-height:1.6;overflow-wrap:anywhere;}
.nk-it-footer-home{background:#fff;border-top:1px solid var(--nk-it-line);padding:24px 0;text-align:center;}
.nk-it-footer-home .nk-it-btn{min-width:180px;}
.nk-it-footer-home--bar .nk-it-btn{width:min(520px,100%);}
.nk-it-footer-home--dark{background:#081225;}
.nk-it-footer-home--dark .nk-it-btn{background:#fff;color:var(--nk-it-primary-dark);}

/* Archives/single */
.nk-it-archive-hero{background:linear-gradient(135deg,#0b1020,#0b2e78);color:#fff;padding:88px 0;text-align:center;}
.nk-it-archive-hero .nk-it-lead{color:rgba(255,255,255,.78);max-width:720px;margin-left:auto;margin-right:auto;}
.nk-it-single{background:#fff;padding:clamp(48px,6vw,86px) 0;}
.nk-it-single__layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:34px;align-items:start;}
.nk-it-single__main{background:#fff;border:1px solid var(--nk-it-line);border-radius:var(--nk-it-radius-lg);padding:clamp(24px,4vw,42px);box-shadow:0 10px 25px rgba(15,38,76,.06);}
.nk-it-single__side{position:sticky;top:32px;display:grid;gap:18px;}
.nk-it-detail-table{width:100%;border-collapse:separate;border-spacing:0;border:1px solid var(--nk-it-line);border-radius:18px;overflow:hidden;}
.nk-it-detail-table th,.nk-it-detail-table td{padding:14px;border-bottom:1px solid var(--nk-it-line);text-align:left;vertical-align:top;}
.nk-it-detail-table tr:last-child th,.nk-it-detail-table tr:last-child td{border-bottom:0;}
.nk-it-detail-table th{width:34%;background:#f2f7ff;color:var(--nk-it-primary-dark);}

[data-nk-it-animate]{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease,filter .7s ease;}
[data-nk-it-animate].is-visible{opacity:1;transform:none;filter:none;}

@media (max-width:1100px){
  .nk-it-grid--3{grid-template-columns:repeat(2,minmax(0,1fr));}
  .nk-it-grid--4,.nk-it-process{grid-template-columns:repeat(2,minmax(0,1fr));}
  .nk-it-hero__panel{position:relative;right:auto;bottom:auto;margin:0 22px 28px;}
  .nk-it-cta__inner,.nk-it-single__layout{grid-template-columns:1fr;}
  .nk-it-cta__buttons{justify-content:flex-start;}
}
@media (max-width:760px){
  .nk-it-head{display:block;}
  .nk-it-head__actions{margin-top:18px;}
  .nk-it-grid--3,.nk-it-grid--4,.nk-it-process,.nk-it-stats__inner{grid-template-columns:1fr;}
  .nk-it-hero{min-height:auto;}
  .nk-it-hero__title{font-size:clamp(2.05rem,9vw,3.25rem);}
  .nk-it-hero__actions,.nk-it-cta__buttons{display:grid;grid-template-columns:1fr;}
  .nk-it-btn{width:100%;}
  .nk-it-news-item{grid-template-columns:1fr;gap:4px;}
}

.nk-it-grid--2{grid-template-columns:repeat(2,minmax(0,1fr));}


/* v1.0.1: Homepage fixed page content directly below header */
.nk-it-home-fixed-page{background:#f5f8fc;padding:clamp(32px,5vw,64px) 0;}
.nk-it-home-fixed-page__inner{box-sizing:border-box;}
.nk-it-home-fixed-page--boxed .nk-it-home-fixed-page__inner{background:#fff;border:1px solid var(--nk-it-line);border-radius:var(--nk-it-radius-lg);box-shadow:0 12px 34px rgba(15,38,76,.07);padding:clamp(24px,4vw,48px);}
.nk-it-home-fixed-page--plain{background:#fff;}
.nk-it-home-fixed-page--plain .nk-it-home-fixed-page__inner{padding:0;}
.nk-it-home-fixed-page--wide .nk-it-container{max-width:1320px;}
.nk-it-home-fixed-page--wide .nk-it-home-fixed-page__inner{background:#fff;border-top:1px solid var(--nk-it-line);border-bottom:1px solid var(--nk-it-line);padding:clamp(28px,4vw,54px);}
.nk-it-home-fixed-page__title{margin:0 0 1rem;color:var(--nk-it-ink);font-size:clamp(1.9rem,3.8vw,3.1rem);line-height:1.25;font-weight:950;}
.nk-it-home-fixed-page__content{color:var(--nk-it-ink);font-size:1rem;line-height:1.9;}
.nk-it-home-fixed-page__content > *:first-child{margin-top:0;}
.nk-it-home-fixed-page__content > *:last-child{margin-bottom:0;}
.nk-it-home-fixed-page__content h1,.nk-it-home-fixed-page__content h2,.nk-it-home-fixed-page__content h3{color:var(--nk-it-ink);line-height:1.35;}
.nk-it-home-fixed-page__content a{color:var(--nk-it-primary);font-weight:800;}
@media(max-width:760px){.nk-it-home-fixed-page{padding:28px 0}.nk-it-home-fixed-page--boxed .nk-it-home-fixed-page__inner,.nk-it-home-fixed-page--wide .nk-it-home-fixed-page__inner{padding:22px;border-radius:20px}}


/* v1.0.3: 親テーマ由来の追従CTAはIT子テーマでは初期非表示 */
body.nk-it-theme .nk-floating-cta{display:none !important;}
body.nk-it-theme.nk-it-show-parent-floating-cta .nk-floating-cta{display:block !important;}
