:root{
  --paper:#FFFFFF;--wash:#F4F8FE;--ink:#0C1B33;--ink-soft:#46566E;
  --blue:#1F5AFF;--blue-d:#1440C2;--cyan:#13C2E8;--navy:#0B2A5B;
  --chip:#EAF1FF;--chip-cy:#E2F8FD;--line:rgba(12,27,51,0.12);
  --grad:linear-gradient(135deg,#1F5AFF 0%,#13C2E8 100%);
  --disp:"Zen Kaku Gothic New",sans-serif;--sans:"Noto Sans JP",sans-serif;--mono:"Space Mono",monospace;
  --wm:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cg fill='none' stroke='%23ffffff' stroke-opacity='0.4' stroke-width='2.5'%3E%3Ccircle cx='50' cy='50' r='38'/%3E%3Cline x1='50' y1='8' x2='50' y2='92'/%3E%3Cline x1='8' y1='50' x2='92' y2='50'/%3E%3C/g%3E%3Ccircle cx='50' cy='50' r='6' fill='%23ffffff' fill-opacity='0.55'/%3E%3C/svg%3E");
}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{font-family:var(--sans);color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;line-height:1.7;}
a{color:inherit;text-decoration:none;cursor:pointer;}
/* 画像の基本制御（クラス未適用でも原寸はみ出しを防ぐ安全網）*/
img{max-width:100%;height:auto;}
svg.ic{width:24px;height:24px;stroke:var(--blue);stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round;}

/* utility + nav */
.utility{background:var(--navy);color:#bcd0ee;font-family:var(--mono);font-size:11px;letter-spacing:.05em;text-align:center;padding:7px;}
.utility b{color:#fff;}
nav{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.9);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:14px 40px;}
.brand{display:flex;align-items:center;gap:11px;}
.brand .axm{width:32px;height:32px;}
.brand .bt{font-family:var(--disp);font-weight:900;font-size:22px;letter-spacing:.05em;}.brand .bt .x{color:var(--blue);}
.brand .by{font-family:var(--mono);font-size:9px;color:var(--ink-soft);letter-spacing:.08em;border-left:1px solid var(--line);padding-left:9px;}
.menu{display:flex;align-items:center;gap:26px;font-size:13.5px;font-weight:500;}
.menu a{position:relative;padding:4px 0;color:var(--ink-soft);transition:color .2s;}
.menu a:hover,.menu a.active{color:var(--ink);}
.menu a::after{content:"";position:absolute;left:0;bottom:-2px;width:0;height:2px;background:var(--grad);transition:width .25s;}
.menu a:hover::after,.menu a.active::after{width:100%;}
/* グローバルナビを右寄せ（一般的なPCサイトのグロナビ） */
.menu{margin-left:auto;}
.nav-cta{display:flex;align-items:center;gap:10px;margin-left:28px;}
/* 記事一覧のメガメニュー（ホバーで展開） */
.has-mega{position:relative;}
.has-mega > a{display:inline-flex;align-items:center;gap:5px;}
.has-mega > a .caret{width:13px;height:13px;stroke:currentColor;stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s;}
.has-mega:hover > a .caret{transform:rotate(180deg);}
.mega{position:absolute;top:100%;left:50%;transform:translateX(-50%);margin-top:12px;min-width:264px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 18px 44px rgba(11,42,91,.18);padding:14px;opacity:0;visibility:hidden;transition:opacity .2s,margin-top .2s;z-index:80;}
.mega::before{content:"";position:absolute;top:-12px;left:0;right:0;height:12px;}
.has-mega:hover .mega{opacity:1;visibility:visible;margin-top:8px;}
.mega-all{display:block;font-family:var(--disp);font-weight:700;font-size:13.5px;color:var(--blue-d);background:var(--chip);border-radius:8px;padding:12px 14px;margin-bottom:10px;text-align:center;}
.mega-all:hover{background:var(--grad);color:#fff;}
.mega-all::after{content:none;}
.mega-cats{display:flex;flex-direction:column;}
.mega-h{font-family:var(--mono);font-size:10px;font-weight:700;letter-spacing:.1em;color:var(--ink-soft);text-transform:uppercase;padding:4px 10px 8px;}
.mega-cats a{font-size:13px;color:var(--ink-soft);padding:9px 12px;border-radius:7px;display:flex;align-items:center;gap:8px;transition:background .15s,color .15s;}
.mega-cats a::before{content:"#";color:var(--blue);font-family:var(--mono);font-weight:700;}
.mega-cats a::after{content:none;}
.mega-cats a:hover{background:var(--wash);color:var(--ink);}
/* 記事のハッシュタグ */
.tags{display:flex;flex-wrap:wrap;align-items:center;gap:9px;margin:30px 0 4px;}
.tags .tags-h{font-family:var(--mono);font-size:10.5px;font-weight:700;letter-spacing:.1em;color:var(--ink-soft);margin-right:2px;}
.tags a{font-size:12.5px;font-weight:500;color:var(--blue-d);background:var(--chip);padding:6px 13px;border-radius:30px;transition:background .15s,color .15s;}
.tags a:hover{background:var(--grad);color:#fff;}
/* 横スクロール防止（オフキャンバスのドロワー対策。stickyを壊さない clip を使用）*/
body{overflow-x:clip;}
/* モバイルナビ（ハンバーガー＋右スライドのドロワー）。既定は非表示／画面外 */
.navtoggle{display:none;width:42px;height:42px;border:none;background:transparent;cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:5px;padding:0;}
.navtoggle span{display:block;width:24px;height:2px;background:var(--ink);border-radius:2px;transition:transform .25s,opacity .2s;}
body.mnav-open .navtoggle span:nth-child(1){transform:translateY(7px) rotate(45deg);}
body.mnav-open .navtoggle span:nth-child(2){opacity:0;}
body.mnav-open .navtoggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
.mnav-ov{position:fixed;inset:0;background:rgba(11,42,91,.45);opacity:0;visibility:hidden;transition:opacity .25s;z-index:90;}
body.mnav-open .mnav-ov{opacity:1;visibility:visible;}
.mnav{position:fixed;top:0;right:0;height:100%;width:min(86vw,340px);background:#fff;z-index:95;transform:translateX(100%);transition:transform .3s ease;overflow-y:auto;box-shadow:-12px 0 40px rgba(11,42,91,.18);}
body.mnav-open .mnav{transform:none;}
body.mnav-open{overflow:hidden;}
.mnav-inner{padding:80px 24px 36px;display:flex;flex-direction:column;}
.mnav-link,.mnav-acc{font-family:var(--disp);font-weight:700;font-size:16px;color:var(--ink);padding:15px 4px;border:none;border-bottom:1px solid var(--line);background:none;width:100%;text-align:left;display:flex;align-items:center;justify-content:space-between;cursor:pointer;}
.mnav-acc .caret{width:16px;height:16px;stroke:var(--blue);stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round;transition:transform .25s;flex-shrink:0;}
.mnav-acc[aria-expanded="true"] .caret{transform:rotate(180deg);}
.mnav-sub{overflow:hidden;max-height:0;transition:max-height .3s ease;}
.mnav-sub a{display:block;font-size:14px;color:var(--ink-soft);padding:12px 4px 12px 18px;border-bottom:1px solid var(--line);position:relative;}
.mnav-sub a::before{content:"#";color:var(--blue);font-family:var(--mono);font-weight:700;margin-right:7px;}
.mnav-sub a:first-child{font-weight:700;color:var(--blue-d);}
.mnav-sub a:first-child::before{content:"›";}
.mnav-cta{margin-top:26px;display:flex;flex-direction:column;gap:10px;}
.mnav-cta .btn{width:100%;justify-content:center;}
/* インライン2カラムフォームのレスポンシブ用クラス */
.form2col{display:grid;grid-template-columns:1fr 1fr;gap:0 20px;}
.btn{display:inline-flex;align-items:center;gap:8px;font-weight:700;border-radius:8px;padding:11px 20px;font-size:14px;transition:transform .18s,box-shadow .18s;cursor:pointer;border:none;font-family:var(--sans);}
.btn svg{width:16px;height:16px;stroke:currentColor;stroke-width:2.4;fill:none;stroke-linecap:round;stroke-linejoin:round;}
.btn-acc{background:var(--grad);color:#fff;box-shadow:0 8px 20px rgba(31,90,255,.30);}
.btn-acc:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(31,90,255,.40);}
.btn-ghost{background:transparent;color:var(--blue-d);border:1.5px solid var(--blue);}
.btn-ghost:hover{background:var(--chip);}
.btn-white{background:#fff;color:var(--blue-d);}.btn-white:hover{transform:translateY(-2px);}
.btn-navy{background:var(--navy);color:#fff;}.btn-navy:hover{transform:translateY(-2px);}

/* page system */
section{padding:84px 44px;}
.wrap{max-width:1180px;margin:0 auto;}
.kick{font-family:var(--mono);font-size:12px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--blue);display:inline-flex;align-items:center;gap:12px;margin-bottom:16px;}
.kick::before{content:"";width:30px;height:3px;background:var(--grad);border-radius:2px;}
.h2{font-family:var(--disp);font-weight:900;font-size:33px;line-height:1.4;letter-spacing:.01em;}.h2 .em{color:var(--blue);}
.lead{font-size:15.5px;color:var(--ink-soft);line-height:1.9;margin-top:12px;max-width:680px;}

/* page header (sub pages) */
.phead{position:relative;background:var(--wash);overflow:hidden;padding:62px 44px 56px;border-bottom:1px solid var(--line);}
.phead .gridbg{position:absolute;inset:0;background-image:linear-gradient(rgba(12,27,51,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(12,27,51,.04) 1px,transparent 1px);background-size:46px 46px;mask-image:radial-gradient(circle at 80% 20%,#000,transparent 75%);}
.phead .wrap{position:relative;}
.phead h1{font-family:var(--disp);font-weight:900;font-size:38px;line-height:1.3;}
.phead p{font-size:15px;color:var(--ink-soft);margin-top:12px;max-width:680px;line-height:1.85;}
.crumb{font-family:var(--mono);font-size:11px;color:var(--ink-soft);letter-spacing:.08em;margin-bottom:14px;}.crumb b{color:var(--blue);}

/* placeholder thumbnails 16:9 */
.ph{position:relative;aspect-ratio:16/9;border-radius:10px;overflow:hidden;background-image:var(--wm),var(--g);background-size:38%,cover;background-position:center,center;background-repeat:no-repeat,no-repeat;}
.g-blue{--g:linear-gradient(135deg,#1F5AFF,#13C2E8);}
.g-navy{--g:linear-gradient(135deg,#0B2A5B,#1F5AFF);}
.g-cyan{--g:linear-gradient(135deg,#13C2E8,#3a7bff);}
.g-deep{--g:linear-gradient(135deg,#1440C2,#5b8cff);}
.g-mix{--g:linear-gradient(135deg,#0B2A5B,#13C2E8);}
.g-slate{--g:linear-gradient(135deg,#27496b,#1F5AFF);}
.pchip{position:absolute;left:10px;top:10px;font-family:var(--mono);font-size:10px;font-weight:700;background:rgba(255,255,255,.92);color:var(--blue-d);padding:3px 8px;border-radius:4px;letter-spacing:.03em;}

/* HERO */
.hero{position:relative;background:var(--wash);overflow:hidden;padding:74px 44px 84px;}
.hero .orb{position:absolute;border-radius:50%;pointer-events:none;}
.hero .orb1{width:520px;height:520px;right:-120px;top:-170px;background:radial-gradient(circle,rgba(19,194,232,.22),transparent 65%);}
.hero .orb2{width:440px;height:440px;left:-150px;bottom:-200px;background:radial-gradient(circle,rgba(31,90,255,.16),transparent 65%);}
.hero .gridbg{position:absolute;inset:0;background-image:linear-gradient(rgba(12,27,51,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(12,27,51,.04) 1px,transparent 1px);background-size:48px 48px;mask-image:radial-gradient(circle at 28% 40%,#000,transparent 78%);}
.hero .axbg{position:absolute;right:5%;top:50%;transform:translateY(-50%);width:540px;height:540px;opacity:.09;pointer-events:none;}
.hero-grid{position:relative;z-index:2;max-width:1180px;margin:0 auto;display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center;}
.hero .tag{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:12px;letter-spacing:.1em;color:var(--blue-d);background:var(--chip);padding:7px 14px;border-radius:30px;margin-bottom:22px;}
.hero h1{font-family:var(--disp);font-weight:900;font-size:46px;line-height:1.42;color:var(--ink);}
.hero h1 .em{background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
.hero .sub{font-size:16px;line-height:1.95;color:var(--ink-soft);margin-top:22px;max-width:520px;}.hero .sub b{color:var(--ink);font-weight:500;}
.hero .cta-row{display:flex;gap:13px;margin-top:30px;flex-wrap:wrap;}
.hero .trust{margin-top:30px;display:flex;gap:30px;}
.hero .trust .ti{font-family:var(--mono);font-size:12px;color:var(--ink-soft);}.hero .trust .ti b{display:block;font-family:var(--disp);font-size:22px;color:var(--blue-d);font-weight:900;}

/* latest panel */
.latest{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px 22px 14px;box-shadow:0 30px 60px rgba(11,42,91,.14);}
.latest .lh{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;}
.latest .lt{font-family:var(--mono);font-size:12px;font-weight:700;letter-spacing:.14em;color:var(--blue);}
.latest .ld{font-size:11px;color:var(--ink-soft);font-family:var(--mono);}
.lfeat{display:block;border-radius:10px;margin-bottom:14px;}
.lfeat .ftitle{font-family:var(--disp);font-weight:700;font-size:15px;line-height:1.5;margin-top:12px;color:var(--ink);transition:color .2s;}
.lfeat:hover .ftitle{color:var(--blue);}
.lfeat .meta{font-size:11px;color:var(--ink-soft);margin-top:6px;font-family:var(--mono);}
.lsmall{display:flex;gap:13px;align-items:center;padding:12px 0;border-top:1px solid var(--line);}
.lsmall .ph.sm{width:110px;flex-shrink:0;}
.lsmall .scat{font-family:var(--mono);font-size:9px;font-weight:700;color:var(--blue-d);letter-spacing:.04em;}
.lsmall .stitle{font-family:var(--disp);font-weight:700;font-size:12.5px;line-height:1.45;color:var(--ink);margin-top:3px;transition:color .2s;}
.lsmall:hover .stitle{color:var(--blue);}
.lsmall .meta{font-size:10px;color:var(--ink-soft);margin-top:4px;font-family:var(--mono);}
.latest .more{display:block;text-align:center;font-size:13px;font-weight:700;color:var(--blue);padding:12px 0 4px;}.latest .more:hover{color:var(--blue-d);}

/* empathy */
.empathy{background:var(--paper);}
.voices{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:36px;}
.vcol{background:var(--wash);border:1px solid var(--line);border-radius:16px;padding:30px 32px;}
.vcol .vh{display:flex;align-items:center;gap:12px;margin-bottom:20px;}
.vcol .vh .vic{width:44px;height:44px;border-radius:12px;background:var(--chip);display:flex;align-items:center;justify-content:center;}
.vcol .vh h4{font-family:var(--disp);font-size:18px;font-weight:700;}
.vcol .vh .pill{font-family:var(--mono);font-size:10px;font-weight:700;color:var(--blue-d);}
.vcol ul{list-style:none;display:flex;flex-direction:column;gap:14px;}
.vcol li{position:relative;padding-left:32px;font-size:14.5px;line-height:1.6;color:var(--ink-soft);}
.vcol li::before{content:"";position:absolute;left:0;top:0;width:22px;height:22px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231F5AFF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M9.2 9a2.8 2.8 0 1 1 3.8 2.5c-.7.4-1 .9-1 1.6'/%3E%3Cline x1='12' y1='17' x2='12.01' y2='17'/%3E%3C/svg%3E") center/contain no-repeat;}
.elead{font-size:16px;line-height:1.9;color:var(--ink-soft);margin-top:14px;max-width:760px;}.elead b{color:var(--ink);font-weight:700;}
.pains{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.pain{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:11px;padding:14px 16px;transition:transform .2s,border-color .2s;}
.pain:hover{transform:translateY(-2px);border-color:var(--blue);}
.pain .pic{width:38px;height:38px;border-radius:10px;background:var(--chip);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.pain .pic svg{width:20px;height:20px;stroke:var(--blue);stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round;}
.pain span{font-size:13.5px;font-weight:500;color:var(--ink);line-height:1.4;}

/* cards generic */
.vgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:40px;}
.vc{padding:32px 30px;border-radius:16px;background:#fff;border:1px solid var(--line);transition:transform .25s,box-shadow .25s;}
.vc:hover{transform:translateY(-6px);box-shadow:0 22px 44px rgba(11,42,91,.12);}
.vc .vi{width:54px;height:54px;border-radius:14px;background:var(--chip);display:flex;align-items:center;justify-content:center;margin-bottom:18px;}
.vc h3{font-family:var(--disp);font-size:18px;font-weight:700;line-height:1.5;margin-bottom:10px;}
.vc p{font-size:14px;color:var(--ink-soft);line-height:1.8;}
.value{background:var(--wash);}

/* categories */
.cats{background:var(--paper);}
.cgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:38px;}
.cat-card{background:var(--wash);border:1px solid var(--line);border-radius:14px;padding:26px;display:flex;flex-direction:column;gap:10px;transition:transform .2s,border-color .2s;position:relative;overflow:hidden;}
.cat-card:hover{transform:translateY(-4px);border-color:var(--blue);}
.cat-card .ci{width:46px;height:46px;border-radius:12px;background:var(--chip);display:flex;align-items:center;justify-content:center;}
.cat-card h4{font-family:var(--disp);font-size:17px;font-weight:700;}
.cat-card p{font-size:13px;color:var(--ink-soft);line-height:1.65;}
.cat-card .arrow{margin-top:auto;font-family:var(--mono);font-size:12px;color:var(--blue);font-weight:700;}
.cat-card.feat{background:linear-gradient(150deg,#0B2A5B,#1440C2);color:#fff;border-color:var(--navy);}
.cat-card.feat h4{color:#fff;}.cat-card.feat p{color:#bcd0ee;}.cat-card.feat .arrow{color:var(--cyan);}
.cat-card.feat .ci{background:rgba(255,255,255,.14);}.cat-card.feat .ci svg{stroke:var(--cyan);}
.cat-card .badge{position:absolute;top:14px;right:14px;font-family:var(--mono);font-size:9px;letter-spacing:.06em;background:var(--grad);color:#fff;padding:3px 8px;border-radius:5px;}

/* proof */
.proof{background:linear-gradient(150deg,#0B2A5B,#143FC0);color:#EAF1FF;position:relative;overflow:hidden;}
.proof .axbg{position:absolute;right:-80px;top:50%;transform:translateY(-50%);width:440px;height:440px;opacity:.12;}
.proof .h2{color:#fff;}.proof .h2 .em{color:var(--cyan);}.proof .kick{color:var(--cyan);}.proof .kick::before{background:var(--cyan);}.proof .lead{color:#bcd0ee;}
.proof-lead{margin-top:30px;max-width:980px;}
.proof-lead p{font-family:var(--disp);font-weight:700;font-size:clamp(21px,4.1vw,34px);line-height:1.75;color:#fff;letter-spacing:.01em;}
.proof-lead .hl{color:var(--cyan);}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:42px;position:relative;}
.stat{text-align:center;padding:0 12px;}
.stat .sic{width:40px;height:40px;border-radius:11px;background:rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;margin:0 auto 14px;}
.stat .sic svg{stroke:var(--cyan);}
.stat .num{font-family:var(--disp);font-weight:900;font-size:42px;color:#fff;line-height:1;}.stat .num .u{font-size:18px;color:var(--cyan);}
.stat .lab{font-size:12.5px;color:#9fb6e0;margin-top:10px;}

/* offer */
.offer{background:var(--grad);color:#fff;}
.offer .wrap{display:grid;grid-template-columns:1fr 1fr;gap:26px;}
.ocard{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);border-radius:16px;padding:32px;backdrop-filter:blur(4px);}
.ocard .oi{width:50px;height:50px;border-radius:13px;background:rgba(255,255,255,.16);display:flex;align-items:center;justify-content:center;margin-bottom:16px;}
.ocard .oi svg{stroke:#fff;}
.ocard h3{font-family:var(--disp);font-size:22px;font-weight:700;line-height:1.5;margin-bottom:10px;}
.ocard p{font-size:14px;color:#e3f2ff;line-height:1.8;margin-bottom:20px;}

/* service */
.service{background:var(--wash);}
.sgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:36px;}
.scard{background:#fff;border:1px solid var(--line);border-radius:16px;padding:30px;}
.scard .si{width:54px;height:54px;border-radius:14px;background:var(--chip);display:flex;align-items:center;justify-content:center;margin-bottom:16px;}
.scard h4{font-family:var(--disp);font-size:18px;font-weight:700;margin-bottom:10px;}
.scard p{font-size:13.5px;color:var(--ink-soft);line-height:1.8;}
.scard ul{list-style:none;margin-top:14px;display:flex;flex-direction:column;gap:8px;}
.scard li{position:relative;padding-left:22px;font-size:13px;color:var(--ink-soft);line-height:1.55;}
.scard li::before{content:"";position:absolute;left:0;top:6px;width:13px;height:13px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231F5AFF' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5L20 6'/%3E%3C/svg%3E") center/contain no-repeat;}
.srv-cta{text-align:center;margin-top:34px;}

/* about */
.about{background:var(--paper);}
.about-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center;}
.manifesto{font-family:var(--disp);font-size:24px;line-height:1.95;font-weight:700;color:var(--ink);}
.manifesto .em{background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
.sig-card{background:var(--navy);color:#fff;border-radius:16px;padding:32px;}
.sig-card .row{display:flex;gap:18px;align-items:center;}
.sig-card .av{width:68px;height:68px;border-radius:50%;background:var(--grad);flex-shrink:0;display:flex;align-items:center;justify-content:center;color:#fff;font-family:var(--disp);font-weight:900;font-size:26px;}
.sig-card .nm{font-family:var(--disp);font-weight:700;font-size:17px;}
.sig-card .ro{font-size:12.5px;color:#bcd0ee;margin-top:4px;line-height:1.6;}
.sig-card .desc{font-size:13px;color:#cfdcf2;line-height:1.85;margin-top:18px;padding-top:18px;border-top:1px solid rgba(255,255,255,.15);}

/* final */
.final{background:radial-gradient(circle at 50% 0%,#143FC0,#0B2A5B 70%);color:#fff;text-align:center;padding:92px 44px;position:relative;overflow:hidden;}
.final .axbg{position:absolute;left:50%;top:-120px;transform:translateX(-50%);width:500px;height:500px;opacity:.1;}
.final h2{font-family:var(--disp);font-weight:900;font-size:36px;line-height:1.5;position:relative;}.final h2 .em{color:var(--cyan);}
.final p{font-size:15.5px;color:#bcd0ee;margin:20px auto 34px;max-width:580px;line-height:1.9;position:relative;}
.final .cta-row{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;position:relative;}

/* article grid (articles page) */
.filters{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px;margin-bottom:8px;}
.fchip{font-size:13px;font-weight:500;padding:8px 16px;border-radius:30px;border:1px solid var(--line);color:var(--ink-soft);background:#fff;transition:all .2s;}
.fchip:hover{border-color:var(--blue);color:var(--blue-d);}
.fchip.on{background:var(--grad);color:#fff;border-color:transparent;}
.pgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:30px;}
.post{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;transition:transform .2s,box-shadow .2s;}
.post:hover{transform:translateY(-5px);box-shadow:0 20px 40px rgba(11,42,91,.12);}
.post .pbody{padding:18px 20px 22px;}
.post .cat{font-family:var(--mono);font-size:10px;font-weight:700;color:var(--blue-d);background:var(--chip);padding:3px 8px;border-radius:4px;display:inline-block;margin-bottom:10px;}
.post h3{font-family:var(--disp);font-size:16px;font-weight:700;line-height:1.5;color:var(--ink);}
.post .meta{font-size:11px;color:var(--ink-soft);margin-top:10px;font-family:var(--mono);}

/* resource cards */
.rgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:36px;}
.rcard{display:flex;gap:20px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:24px;align-items:center;transition:border-color .2s,transform .2s;}
.rcard:hover{border-color:var(--blue);transform:translateY(-3px);}
.rcard .rico{width:64px;height:80px;border-radius:8px;background:var(--grad);flex-shrink:0;display:flex;align-items:center;justify-content:center;}
.rcard .rico svg{stroke:#fff;width:30px;height:30px;}
.rcard h4{font-family:var(--disp);font-size:16px;font-weight:700;line-height:1.5;}
.rcard p{font-size:12.5px;color:var(--ink-soft);margin:6px 0 12px;line-height:1.6;}
.rcard .rdl{font-family:var(--mono);font-size:12px;font-weight:700;color:var(--blue);}

/* forms */
.formwrap{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:10px;align-items:start;}
.fcard{background:#fff;border:1px solid var(--line);border-radius:16px;padding:34px;}
.field{margin-bottom:18px;}
.field label{display:block;font-size:12.5px;font-weight:700;color:var(--ink);margin-bottom:7px;}
.field label .req{color:var(--blue);font-size:11px;margin-left:5px;}
.field input:not([type="checkbox"]):not([type="radio"]),.field textarea,.field select{width:100%;border:1px solid var(--line);border-radius:9px;padding:12px 14px;font-family:var(--sans);font-size:14px;color:var(--ink);background:var(--wash);transition:border-color .2s,box-shadow .2s;}
.field input:focus,.field textarea:focus,.field select:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgba(31,90,255,.12);background:#fff;}
.field textarea{resize:vertical;min-height:110px;}
.fnote{font-size:11px;color:var(--ink-soft);margin-top:8px;font-family:var(--mono);}

/* Contact Form 7 をサイトのトンマナに合わせる */
.fcard .wpcf7-form-control-wrap{display:block;}
.fcard .wpcf7 p{margin:0;}
.fcard .wpcf7-acceptance .wpcf7-list-item{margin:0;}
.fcard .wpcf7-acceptance label{display:flex;align-items:center;gap:9px;font-size:13px;font-weight:500;color:var(--ink);cursor:pointer;}
.fcard .wpcf7-acceptance input[type="checkbox"]{width:16px;height:16px;flex-shrink:0;accent-color:var(--blue);}
.fcard .wpcf7-submit{width:100%;justify-content:center;margin-top:6px;}
.fcard .wpcf7-submit:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(31,90,255,.40);}
.fcard .wpcf7-spinner{margin:2px 0 0 12px;}
.fcard .wpcf7-not-valid-tip{color:#e02f2f;font-size:12px;margin-top:6px;}
.fcard .wpcf7-form-control.wpcf7-not-valid{border-color:#e02f2f;box-shadow:0 0 0 3px rgba(224,47,47,.12);}
.fcard .wpcf7-response-output{display:none;margin:16px 0 0;padding:12px 14px;border-radius:9px;font-size:13px;line-height:1.6;border:1px solid var(--line);}
.fcard form.sent .wpcf7-response-output,.fcard form.invalid .wpcf7-response-output,.fcard form.unaccepted .wpcf7-response-output,.fcard form.spam .wpcf7-response-output{display:block;}
.fcard form.invalid .wpcf7-response-output,.fcard form.unaccepted .wpcf7-response-output,.fcard form.spam .wpcf7-response-output{background:#fff4f4;border-color:#f2c2c2;color:#a12626;}
.fcard form.sent .wpcf7-response-output{background:var(--chip-cy);border-color:var(--cyan);color:var(--navy);}
.benefit{list-style:none;display:flex;flex-direction:column;gap:16px;}
.benefit li{display:flex;gap:14px;align-items:flex-start;}
.benefit .bic{width:42px;height:42px;border-radius:11px;background:var(--chip);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.benefit h5{font-family:var(--disp);font-size:15px;font-weight:700;margin-bottom:3px;}
.benefit p{font-size:13px;color:var(--ink-soft);line-height:1.65;}

/* diagnosis */
.dsteps{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:38px;}
.dstep{background:#fff;border:1px solid var(--line);border-radius:14px;padding:24px 22px;text-align:center;position:relative;}
.dstep .di{width:52px;height:52px;border-radius:14px;background:var(--chip);display:flex;align-items:center;justify-content:center;margin:0 auto 14px;}
.dstep .dn{font-family:var(--mono);font-size:11px;color:var(--blue);font-weight:700;}
.dstep h4{font-family:var(--disp);font-size:15px;font-weight:700;margin:6px 0 6px;}
.dstep p{font-size:12px;color:var(--ink-soft);line-height:1.6;}
.dquiz{background:#fff;border:1px solid var(--line);border-radius:16px;padding:34px;margin-top:38px;max-width:720px;}
.dquiz .qn{font-family:var(--mono);font-size:12px;color:var(--blue);font-weight:700;}
.dquiz .qq{font-family:var(--disp);font-size:20px;font-weight:700;margin:8px 0 20px;line-height:1.5;}
.opts{display:flex;flex-direction:column;gap:12px;}
.opt{display:flex;align-items:center;gap:14px;border:1.5px solid var(--line);border-radius:10px;padding:14px 18px;cursor:pointer;transition:all .2s;}
.opt:hover{border-color:var(--blue);background:var(--wash);}
.opt .rad{width:20px;height:20px;border-radius:50%;border:2px solid var(--line);flex-shrink:0;}
.opt:hover .rad{border-color:var(--blue);}
.opt span{font-size:14px;}
.dprog{height:6px;background:var(--chip);border-radius:4px;margin-top:24px;overflow:hidden;}
.dprog i{display:block;height:100%;width:20%;background:var(--grad);border-radius:4px;}

/* company table */
.ctable{margin-top:36px;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fff;}
.ctable .crow{display:flex;border-bottom:1px solid var(--line);}.ctable .crow:last-child{border-bottom:none;}
.ctable .ck{width:200px;background:var(--wash);padding:18px 24px;font-weight:700;font-size:13.5px;color:var(--ink);flex-shrink:0;border-right:1px solid var(--line);}
.ctable .cv{padding:18px 24px;font-size:14px;color:var(--ink-soft);}
.vmiss{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:36px;}
.mc{background:var(--wash);border:1px solid var(--line);border-radius:14px;padding:28px;}
.mc .mi{width:48px;height:48px;border-radius:12px;background:var(--chip);display:flex;align-items:center;justify-content:center;margin-bottom:14px;}
.mc h4{font-family:var(--disp);font-size:16px;font-weight:700;margin-bottom:8px;}
.mc p{font-size:13px;color:var(--ink-soft);line-height:1.75;}

/* article detail */
.artwrap{max-width:760px;margin:0 auto;}
.art-top{max-width:1100px;margin:0 auto 26px;}
.art-head .cat{font-family:var(--mono);font-size:11px;font-weight:700;color:var(--blue-d);background:var(--chip);padding:4px 10px;border-radius:5px;display:inline-block;}
.art-head h1{font-family:var(--disp);font-weight:900;font-size:32px;line-height:1.5;margin:16px 0 18px;}
.art-meta{display:flex;align-items:center;gap:12px;}
.art-meta .aav{width:42px;height:42px;border-radius:50%;background:var(--grad);display:flex;align-items:center;justify-content:center;color:#fff;font-family:var(--disp);font-weight:900;font-size:17px;}
.art-meta .anm{font-size:13.5px;font-weight:700;color:var(--ink);}
.art-meta .amt{font-family:var(--mono);font-size:11px;color:var(--ink-soft);margin-top:2px;}
.art-cover{margin:0 0 4px;}
.art-body{font-size:16px;line-height:2.0;color:var(--ink-soft);}
.art-body p{margin:18px 0;}
.art-body h2{font-family:var(--disp);font-weight:700;font-size:22px;color:var(--ink);line-height:1.5;margin:38px 0 14px;padding-left:14px;border-left:4px solid var(--blue);}
.art-body ol,.art-body ul{margin:18px 0;padding-left:4px;list-style:none;display:flex;flex-direction:column;gap:12px;}
.art-body li{position:relative;padding-left:34px;line-height:1.7;}
.art-body ol{counter-reset:s;}
.art-body ol li::before{counter-increment:s;content:counter(s);position:absolute;left:0;top:2px;width:24px;height:24px;border-radius:7px;background:var(--grad);color:#fff;font-family:var(--mono);font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;}
.art-body ul li::before{content:"";position:absolute;left:4px;top:11px;width:9px;height:9px;border-radius:2px;background:var(--grad);}
.art-body li b{color:var(--ink);}
.art-callout{background:var(--chip);border-left:4px solid var(--blue);border-radius:0 12px 12px 0;padding:20px 24px;margin:28px 0;font-size:14.5px;line-height:1.85;color:var(--ink);}
.art-callout .cl{font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.1em;color:var(--blue-d);display:block;margin-bottom:6px;}
.art-cta{margin:40px 0 8px;background:linear-gradient(135deg,#0B2A5B,#143FC0);border-radius:16px;padding:32px 34px;color:#fff;text-align:center;}
.art-cta h3{font-family:var(--disp);font-size:20px;font-weight:700;margin-bottom:8px;}
.art-cta p{font-size:13.5px;color:#bcd0ee;margin-bottom:20px;}
.art-author{display:flex;gap:18px;align-items:center;border:1px solid var(--line);border-radius:14px;padding:24px;margin-top:36px;background:var(--wash);}
.art-author .aav{width:60px;height:60px;border-radius:50%;background:var(--grad);display:flex;align-items:center;justify-content:center;color:#fff;font-family:var(--disp);font-weight:900;font-size:24px;flex-shrink:0;}
.art-author .nm{font-family:var(--disp);font-weight:700;font-size:16px;}
.art-author .bio{font-size:12.5px;color:var(--ink-soft);margin-top:5px;line-height:1.65;}
.related{margin-top:18px;}
/* article: h3 subheading */
.art-body h3{font-family:var(--disp);font-weight:700;font-size:17px;color:var(--ink);line-height:1.6;margin:28px 0 10px;}
/* article: 取り組むタイミング バッジ */
.art-body .timing{display:inline-flex;align-items:center;gap:7px;font-family:var(--mono);font-size:11px;font-weight:700;color:var(--blue-d);background:var(--chip);padding:6px 13px;border-radius:6px;margin:10px 0 2px;}
/* article: 得られる知見ボックス */
.art-take{background:var(--wash);border:1px solid var(--line);border-radius:12px;padding:20px 24px;margin:26px 0;}
.art-take .tt{font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.1em;color:var(--blue-d);margin-bottom:10px;}
.art-take ul{margin:0;}
/* article: 途中挿入画像プレースホルダー（グレーバック 16:9）*/
figure.fig{margin:32px 0;}
/* 実画像（サムネイル・文中図） */
.art-img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:14px;}
/* 文中の図表は切り抜かず、原比率で全体を表示（端のラベルが切れないように）*/
.figimg{display:block;width:100%;height:auto;border-radius:10px;border:1px solid var(--line);}
/* 記事カード／最新パネルの実サムネイル */
.post .thumb{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;}
.lthumb{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:10px;}
.lthumb-sm{width:110px;flex-shrink:0;aspect-ratio:16/9;object-fit:cover;border-radius:8px;display:block;}
/* アーカイブの該当0件メッセージ */
.archive-empty{grid-column:1/-1;text-align:center;color:var(--ink-soft);font-size:14px;padding:44px 0;}
.figph{position:relative;aspect-ratio:16/9;border-radius:10px;background:#E7EAF0;border:1.5px dashed #b6bfd0;display:flex;align-items:center;justify-content:center;}
.figph .fl{font-family:var(--mono);font-size:12px;font-weight:700;color:#8a93a6;letter-spacing:.06em;display:flex;flex-direction:column;align-items:center;gap:9px;text-align:center;padding:0 20px;}
.figph .fl svg{width:36px;height:36px;stroke:#aeb7c7;stroke-width:1.6;fill:none;stroke-linecap:round;stroke-linejoin:round;}
figure.fig figcaption{font-size:12.5px;color:var(--ink-soft);margin-top:11px;line-height:1.7;}
figure.fig figcaption b{display:block;color:var(--ink);font-family:var(--mono);font-size:10.5px;font-weight:700;letter-spacing:.06em;margin-bottom:3px;}
/* article: 実例ボックス（水色）*/
.art-example{background:var(--chip-cy);border:1px solid rgba(19,194,232,.35);border-radius:12px;padding:22px 24px;margin:28px 0;}
.art-example .ex-label{display:inline-block;font-family:var(--mono);font-size:10.5px;font-weight:700;letter-spacing:.05em;color:#0a7e96;background:#fff;border:1px solid rgba(19,194,232,.4);padding:3px 10px;border-radius:5px;margin-bottom:11px;}
.art-example h4{font-family:var(--disp);font-size:15.5px;font-weight:700;color:var(--ink);margin-bottom:9px;line-height:1.55;}
.art-example p{font-size:14px;color:var(--ink-soft);line-height:1.85;margin:0;}
.art-example .ex-note,.ex-note{font-family:var(--mono);font-size:10.5px;color:#8a93a6;margin-top:13px;}
/* article sidebar */
.art-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:46px;max-width:1100px;margin:0 auto;align-items:start;}
.art-main{min-width:0;}
.art-side{position:sticky;top:88px;display:flex;flex-direction:column;gap:20px;}
.side-card{background:var(--wash);border:1px solid var(--line);border-radius:14px;padding:22px;}
.side-card .sh{font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.12em;color:var(--blue);text-transform:uppercase;margin-bottom:16px;display:flex;align-items:center;gap:9px;}
.side-card .sh svg{width:16px;height:16px;stroke:var(--blue);stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round;}
.rank{list-style:none;display:flex;flex-direction:column;gap:15px;}
.rank li{display:flex;gap:12px;align-items:flex-start;cursor:pointer;}
.rank .rnum{width:24px;height:24px;border-radius:7px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:12px;font-weight:700;color:#fff;background:var(--ink-soft);}
.rank li:nth-child(-n+3) .rnum{background:var(--grad);}
.rank .rt{font-family:var(--disp);font-weight:700;font-size:13px;line-height:1.5;color:var(--ink);transition:color .2s;}
.rank li:hover .rt{color:var(--blue);}
.side-cta{background:linear-gradient(150deg,#0B2A5B,#143FC0);color:#fff;border-radius:14px;padding:26px 24px;text-align:center;}
.side-cta .sci{width:46px;height:46px;border-radius:12px;background:rgba(255,255,255,.14);display:flex;align-items:center;justify-content:center;margin:0 auto 14px;}
.side-cta .sci svg{width:24px;height:24px;stroke:#fff;stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round;}
.side-cta h4{font-family:var(--disp);font-size:16px;font-weight:700;margin-bottom:8px;}
.side-cta p{font-size:12.5px;color:#bcd0ee;line-height:1.7;margin-bottom:18px;}
/* service detail cards */
.svc-card{border:1px solid var(--line);border-radius:16px;padding:30px 32px;background:#fff;}
.svc-card + .svc-card{margin-top:18px;}
.svc-card .top{display:flex;gap:18px;align-items:center;}
.svc-card .ic-box{width:56px;height:56px;border-radius:14px;background:var(--chip);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.svc-card h3{font-family:var(--disp);font-size:20px;font-weight:700;}.svc-card h3 small{font-size:12px;color:var(--ink-soft);font-weight:500;margin-left:8px;}
.svc-card .one{font-size:13px;color:var(--blue-d);margin-top:3px;font-weight:500;}
.svc-card .detail{font-size:14px;color:var(--ink-soft);line-height:1.85;margin:16px 0 18px;}
.plans{display:flex;gap:12px;flex-wrap:wrap;}
.plan{background:var(--wash);border:1px solid var(--line);border-radius:10px;padding:13px 18px;min-width:158px;}
.plan .pn{font-family:var(--mono);font-size:10px;letter-spacing:.08em;color:var(--blue-d);font-weight:700;}
.plan .pp{font-family:var(--disp);font-size:19px;font-weight:900;color:var(--ink);margin-top:5px;}.plan .pp small{font-size:11px;font-weight:500;color:var(--ink-soft);}
.plan .pd{font-size:11px;color:var(--ink-soft);margin-top:5px;line-height:1.45;}
.svc-card .foot-row{display:flex;justify-content:space-between;align-items:center;margin-top:18px;padding-top:16px;border-top:1px dashed var(--line);gap:14px;flex-wrap:wrap;}
.svc-card .plabel{font-family:var(--mono);font-size:10px;letter-spacing:.08em;color:var(--ink-soft);}
.case-link{font-size:13px;font-weight:700;color:var(--blue);display:inline-flex;gap:6px;align-items:center;cursor:pointer;}
.case-link:hover{color:var(--blue-d);}.case-link svg{width:15px;height:15px;stroke:currentColor;stroke-width:2.2;fill:none;stroke-linecap:round;stroke-linejoin:round;}
@media(max-width:980px){.art-layout{grid-template-columns:1fr;}.art-side{position:static;}.plan{min-width:130px;}}

/* footer */
footer{background:var(--ink);color:#8c97ac;padding:54px 44px 30px;}
.fgrid{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:1.8fr 1fr 1fr;gap:30px;padding-bottom:34px;border-bottom:1px solid rgba(255,255,255,.08);}
footer .brand .bt{color:#fff;}footer .brand .by{color:#8c97ac;border-color:rgba(255,255,255,.18);}
footer .fdesc{font-size:13px;line-height:1.85;margin-top:16px;max-width:300px;}
footer h5{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#fff;margin-bottom:16px;}
footer ul{list-style:none;display:flex;flex-direction:column;gap:11px;}
footer ul a{font-size:13.5px;color:#8c97ac;transition:color .2s;}footer ul a:hover{color:var(--cyan);}
.fbot{max-width:1180px;margin:22px auto 0;display:flex;justify-content:space-between;font-size:11px;font-family:var(--mono);letter-spacing:.06em;color:#5f6a7e;}

.rv{opacity:0;transform:translateY(22px);transition:opacity .65s ease,transform .65s ease;}.rv.in{opacity:1;transform:none;}

@media(max-width:980px){
  .hero-grid,.voices,.offer .wrap,.about-grid,.formwrap{grid-template-columns:1fr;}
  .vgrid,.cgrid,.sgrid,.stats,.pgrid,.rgrid,.dsteps,.vmiss{grid-template-columns:1fr 1fr;}
  /* ナビ：PC用メニューとCTAを隠してハンバーガーを出す */
  .menu{display:none;}.nav-cta{display:none;}.navtoggle{display:flex;margin-left:auto;}
  nav{padding:12px 22px;}
  section{padding:64px 30px;}
  .hero{padding:54px 30px 64px;}.hero h1{font-size:34px;}
  .phead{padding:48px 30px 44px;}.phead h1{font-size:30px;}
  .h2{font-size:28px;}
  .final{padding:72px 30px;}.final h2{font-size:30px;}
}
/* スマホ最適化（SAIRU等のBtoBメディアの作法に準拠：主要グリッドは1カラム、テーブル/フォームは縦積み）*/
@media(max-width:600px){
  .utility{font-size:10px;padding:6px 12px;letter-spacing:0;}
  nav{padding:11px 18px;}
  .brand .bt{font-size:19px;}.brand .by{display:none;}
  section{padding:48px 20px;}
  .wrap{max-width:100%;}
  /* 見出し・本文 */
  .h2{font-size:23px;line-height:1.45;}.lead{font-size:14.5px;}
  .kick{font-size:11px;letter-spacing:.14em;}
  /* HERO */
  .hero{padding:42px 20px 52px;}
  .hero h1{font-size:27px;line-height:1.4;}
  .hero .sub{font-size:14.5px;}
  .hero .cta-row{gap:10px;}.hero .cta-row .btn{flex:1 1 100%;justify-content:center;}
  .latest{padding:18px 18px 10px;box-shadow:0 16px 36px rgba(11,42,91,.12);}
  /* サブページヘッダー */
  .phead{padding:40px 20px 36px;}.phead h1{font-size:25px;}.phead p{font-size:14px;}
  /* グリッド類を1カラムに（ステップ・実績数値だけ2カラム維持）*/
  .vgrid,.cgrid,.sgrid,.pgrid,.rgrid,.vmiss,.pains{grid-template-columns:1fr;}
  .dsteps,.stats{grid-template-columns:1fr 1fr;}
  .voices{gap:16px;}.vcol{padding:24px 22px;}
  .vc{padding:26px 24px;}.cat-card{padding:22px;}
  .stat .num{font-size:34px;}
  /* サービス */
  .service .sgrid,.svc-card{}
  .svc-card{padding:24px 22px;}
  .svc-card h3{font-size:18px;}
  .plans{flex-direction:column;}.plan{min-width:0;width:100%;}
  .svc-card .foot-row{flex-direction:column;align-items:flex-start;gap:10px;}
  /* 会社概要テーブルを縦積み */
  .ctable .crow{flex-direction:column;}
  .ctable .ck{width:100%;border-right:none;border-bottom:1px solid var(--line);}
  /* フォーム2カラム→1カラム */
  .form2col{grid-template-columns:1fr;}
  .fcard{padding:24px 20px;}
  /* 診断 */
  .dquiz{padding:24px 20px;}.dquiz .qq{font-size:18px;}
  /* CTA・フッター */
  .offer .wrap{gap:18px;}.ocard{padding:26px 22px;}
  .final{padding:60px 20px;}.final h2{font-size:25px;}.final p{font-size:14.5px;}
  .final .cta-row .btn{flex:1 1 100%;justify-content:center;}
  footer{padding:44px 22px 26px;}
  .fgrid{grid-template-columns:1fr;gap:26px;}
  .fbot{flex-direction:column;gap:8px;text-align:center;}
  /* 記事詳細 */
  .art-top,.art-layout,.related .wrap{padding:0;}
  .art-head h1{font-size:23px;line-height:1.5;}
  .art-body{font-size:15px;line-height:1.95;}
  .art-body h2{font-size:19px;margin:30px 0 12px;}
  .art-body h3{font-size:16px;}
  .art-cta{padding:26px 22px;}.art-cta h3{font-size:18px;}
  .art-example{padding:18px 20px;}
  .art-author{flex-direction:column;text-align:center;align-items:center;}
  figure.fig figcaption{font-size:12px;}
  /* ドロワーCTA余白 */
  .mnav-inner{padding:76px 22px 32px;}
}
