/* ==========================================================================
   スゴヨクAI ／ デザインカンプ v2 ／ /subsidy/ リスキリング助成金サポート
   ========================================================================== */
:root{
  --ink:#101725; --navy:#141B3D; --deep:#0B1026; --soft:#5C6579; --mute:#949CB0;
  --line:#E3E8F0; --line2:#EEF2F8; --bg:#FFFFFF; --bg2:#F5F8FC;
  --blue:#1B6FE0; --blue-d:#0F52B4; --blue-l:#E9F2FE;
  --cyan:#27D9FF; --lime:#A6F750;
  --s1:#FF5E7A; --s2:#FFA43D; --s3:#A6F750; --s4:#27D9FF; --s5:#6C7BFF; --s6:#C25CFF;
  --spectrum:linear-gradient(90deg,var(--s1),var(--s2),var(--s3),var(--s4),var(--s5),var(--s6));
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{font-family:'Noto Sans JP',-apple-system,BlinkMacSystemFont,'Hiragino Kaku Gothic ProN',sans-serif;
  color:var(--ink);background:var(--bg);font-size:16px;line-height:1.9;-webkit-font-smoothing:antialiased;overflow-x:hidden;}
img,svg{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
.en{font-family:'Montserrat',sans-serif;font-feature-settings:"tnum";}
.wrap{width:100%;max-width:1200px;margin:0 auto;padding:0 24px;}
.wrap-n{max-width:960px;}
section{position:relative;}
.bg2{background:var(--bg2);}

.sec-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap;}
.sec-jp{display:block;font-size:12px;font-weight:700;color:var(--soft);letter-spacing:.14em;}
.sec-en{font-family:'Montserrat',sans-serif;font-weight:800;font-size:clamp(28px,4.2vw,42px);
  line-height:1.15;letter-spacing:-.02em;color:var(--ink);margin-top:6px;}
.sec-sub{font-size:14.5px;color:var(--soft);max-width:27em;line-height:1.9;}
.sec-rule{position:relative;height:1px;background:var(--line);margin-top:22px;}
.sec-rule::before{content:"";position:absolute;left:0;top:-1.5px;width:96px;height:4px;border-radius:99px;background:var(--spectrum);}
h3{font-weight:900;line-height:1.6;color:var(--ink);}
.mk{background-image:linear-gradient(transparent 62%, rgba(166,247,80,.9) 62%);font-weight:700;padding:0 2px;}
.mk-c{background-image:linear-gradient(transparent 62%, rgba(39,217,255,.55) 62%);font-weight:700;padding:0 2px;}
.todo{display:inline-block;background:#FFF6D9;border:1px dashed #DDBB55;color:#7E6210;
  font-size:11px;font-weight:700;border-radius:6px;padding:1px 8px;line-height:1.7;}

.pill{display:inline-flex;align-items:center;gap:16px;background:var(--ink);color:#fff;border-radius:999px;
  padding:9px 9px 9px 30px;font-weight:700;font-size:15px;
  transition:transform .25s cubic-bezier(.2,.8,.2,1),box-shadow .25s;}
.pill .arw{width:40px;height:40px;border-radius:50%;background:#fff;color:var(--ink);
  display:grid;place-items:center;flex:none;transition:transform .25s;}
.pill .arw svg{width:15px;height:15px;}
.pill:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(16,23,37,.22);}
.pill:hover .arw{transform:translateX(3px);}
.pill.lite{background:#fff;color:var(--ink);border:1px solid var(--line);}
.pill.lite .arw{background:var(--ink);color:#fff;}
.pill.on-dark{background:#fff;color:var(--ink);}
.pill.on-dark .arw{background:var(--blue);color:#fff;}
.pill.lime{background:var(--lime);color:var(--navy);}
.pill.lime .arw{background:var(--navy);color:#fff;}
.btn-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px;}

.rv{opacity:0;transform:translateY(24px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.8,.2,1);}
.rv.in{opacity:1;transform:none;}
@media (prefers-reduced-motion:reduce){.rv{opacity:1;transform:none;transition:none;}}

.comp-bar{background:var(--deep);color:rgba(255,255,255,.72);font-size:11.5px;font-weight:700;text-align:center;padding:8px 16px;}
.review-bar{background:#FFF6D9;border-bottom:1px solid #E3C36A;color:#7E6210;font-size:11.5px;font-weight:700;text-align:center;padding:8px 16px;}

/* ヘッダー */
header.site{position:sticky;top:0;z-index:80;background:rgba(255,255,255,.9);
  backdrop-filter:saturate(180%) blur(16px);border-bottom:1px solid var(--line2);}
header.site .bar{display:flex;align-items:center;height:70px;gap:18px;}
.logo{display:flex;align-items:center;gap:10px;font-weight:900;font-size:18px;color:var(--ink);letter-spacing:-.01em;}
.logo .mark{width:30px;height:30px;background:url('../images/logo-mark.svg') center/contain no-repeat;position:relative;flex:none;}
.logo .mark::after{content:none;}
.logo .ai{font-family:'Montserrat',sans-serif;font-weight:800;}
nav.gnav{display:none;margin-left:38px;gap:26px;font-size:13.5px;font-weight:700;}
nav.gnav a{position:relative;padding:6px 0;white-space:nowrap;}
nav.gnav a::after{content:"";position:absolute;left:0;bottom:0;height:2px;width:0;background:var(--spectrum);transition:width .3s;}
nav.gnav a:hover::after,nav.gnav a.cur::after{width:100%;}
.head-r{margin-left:auto;display:flex;align-items:center;gap:12px;}
.head-tel{display:none;text-align:right;font-size:10.5px;color:var(--soft);line-height:1.25;}
.head-tel b{display:block;font-family:'Montserrat',sans-serif;font-size:17px;color:var(--ink);}
.head-btn{display:inline-flex;align-items:center;gap:10px;background:var(--ink);color:#fff;
  font-weight:700;font-size:13px;padding:10px 10px 10px 20px;border-radius:999px;white-space:nowrap;}
.head-btn i{width:26px;height:26px;border-radius:50%;background:#fff;color:var(--ink);display:grid;place-items:center;}
.head-btn i svg{width:11px;height:11px;}
@media(min-width:1080px){nav.gnav{display:flex;}.head-tel{display:block;}}

/* ページヒーロー */
.phero{padding:22px 0 0;}
.crumb{font-size:12px;color:var(--mute);padding-bottom:16px;}
.crumb a{color:var(--soft);}
.phero-panel{position:relative;border-radius:14px;overflow:hidden;background:#EEF7FF;padding:44px 28px 46px;}
.phero-panel .bgsvg{position:absolute;inset:0;width:100%;height:100%;}
.phero-inner{position:relative;max-width:760px;}
.phero .tag{display:inline-flex;align-items:center;gap:9px;background:#fff;border:1px solid var(--line);
  border-radius:999px;padding:7px 18px 7px 10px;font-size:12.5px;font-weight:700;box-shadow:0 6px 18px rgba(16,23,37,.06);}
.phero .tag .dot{width:9px;height:9px;border-radius:50%;background:var(--spectrum);}
.phero h1{font-size:clamp(27px,4.8vw,46px);font-weight:900;line-height:1.38;letter-spacing:-.02em;margin-top:20px;}
.phero h1 .hl{position:relative;display:inline-block;z-index:0;}
.phero h1 .hl::after{content:"";position:absolute;left:-6px;right:-6px;bottom:.03em;height:.38em;
  background:var(--spectrum);opacity:.52;border-radius:3px;z-index:-1;}
.phero .lead{margin-top:22px;font-size:15.5px;line-height:2.05;max-width:40em;}
.phero .disc{margin-top:18px;font-size:11.5px;color:var(--mute);line-height:1.85;}
@media(min-width:900px){.phero-panel{padding:56px 56px 58px;}}

/* 3行サマリー */
.summary{display:grid;gap:16px;margin-top:26px;}
.sm{background:#fff;border:1px solid var(--line);border-radius:12px;padding:24px 24px 26px;position:relative;overflow:hidden;}
.sm::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;}
.sm:nth-child(1)::before{background:linear-gradient(180deg,var(--s4),var(--s5));}
.sm:nth-child(2)::before{background:linear-gradient(180deg,var(--s3),var(--s4));}
.sm:nth-child(3)::before{background:linear-gradient(180deg,var(--s2),var(--s1));}
.sm .q{font-size:11.5px;font-weight:800;color:var(--soft);letter-spacing:.08em;}
.sm .a{font-size:17px;font-weight:900;margin-top:6px;line-height:1.65;}
.sm p{font-size:13.5px;color:var(--soft);margin-top:10px;line-height:1.95;}
@media(min-width:900px){.summary{grid-template-columns:repeat(3,1fr);}}

/* 制度図解 */
.scheme{padding:96px 0;}
.diagram{margin-top:44px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:30px 24px;}
.dgm{display:grid;gap:14px;}
.dnode{border:1.5px solid var(--line);border-radius:12px;padding:22px 22px;background:var(--bg2);}
.dnode .lbl{font-family:'Montserrat',sans-serif;font-size:11px;font-weight:800;letter-spacing:.1em;}
.dnode h4{font-size:17px;font-weight:900;margin-top:5px;}
.dnode p{font-size:13.5px;color:var(--soft);margin-top:8px;line-height:1.95;}
.dnode.n1{border-color:#A9E0F5;} .dnode.n1 .lbl{color:#0C8AA8;}
.dnode.n2{border-color:#C2C9F6;} .dnode.n2 .lbl{color:var(--s5);}
.dnode.n3{border-color:#CDEF9E;} .dnode.n3 .lbl{color:#6FA524;}
.darrow{display:grid;place-items:center;font-size:11.5px;color:var(--soft);font-weight:700;padding:4px 0;}
.darrow span{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;}
.darrow span::before,.darrow span::after{content:"";width:20px;height:3px;border-radius:2px;background:var(--spectrum);}
@media(min-width:960px){.dgm{grid-template-columns:1fr auto 1fr auto 1fr;align-items:stretch;}}
.dgm-note{margin-top:20px;font-size:13.5px;color:var(--soft);background:var(--bg2);border-radius:10px;padding:16px 20px;line-height:1.95;}

/* 警告 */
.alert{margin-top:34px;border-radius:14px;padding:2px;background:linear-gradient(100deg,var(--s1),var(--s2));}
.alert .in{background:#fff;border-radius:12px;padding:24px 26px;}
.alert .h{display:flex;align-items:center;gap:11px;font-size:17.5px;font-weight:900;}
.alert .h i{width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,var(--s1),var(--s2));
  color:#fff;display:grid;place-items:center;font-style:normal;font-weight:900;font-size:16px;flex:none;}
.alert p{font-size:14.5px;color:var(--soft);margin-top:12px;line-height:2;}

/* 計算例 */
.sim{padding:0 0 96px;}
.calc-grid{display:grid;gap:20px;margin-top:44px;}
.calc{border-radius:14px;padding:2px;background:var(--spectrum);}
.calc .in{background:#fff;border-radius:12px;padding:28px 26px;height:100%;}
.calc .ttl{font-family:'Montserrat',sans-serif;font-size:11px;font-weight:800;letter-spacing:.12em;color:var(--soft);}
.calc h3{font-size:20px;margin-top:5px;}
.calc .rows{margin-top:20px;}
.calc .row{display:flex;justify-content:space-between;align-items:baseline;gap:14px;padding:12px 0;
  border-bottom:1px dashed var(--line);font-size:14px;color:var(--soft);}
.calc .row b{font-family:'Montserrat',sans-serif;font-size:17px;color:var(--ink);white-space:nowrap;}
.calc .row.minus b{color:var(--blue);}
.calc .res{display:flex;justify-content:space-between;align-items:baseline;gap:14px;margin-top:18px;
  background:var(--bg2);border-radius:10px;padding:18px 20px;}
.calc .res span{font-size:14px;font-weight:800;}
.calc .res b{font-family:'Montserrat',sans-serif;font-size:31px;line-height:1;
  background:var(--spectrum);-webkit-background-clip:text;background-clip:text;color:transparent;}
.calc .fm{margin-top:16px;font-size:12.5px;color:var(--soft);background:#fff;border:1px dashed var(--line);
  border-radius:10px;padding:13px 16px;line-height:1.9;}
.calc .fm b{color:var(--ink);font-family:'Montserrat',sans-serif;}
.calc .nt{font-size:11.5px;color:var(--mute);margin-top:12px;line-height:1.8;}
@media(min-width:900px){.calc-grid{grid-template-columns:1fr 1fr;}}
.sim-note{margin-top:26px;font-size:13px;color:var(--soft);background:var(--bg2);border-radius:12px;padding:18px 22px;line-height:1.95;}

/* 対応表 */
.target{padding:96px 0;}
.table-wrap{margin-top:44px;overflow-x:auto;border:1px solid var(--line);border-radius:12px;background:#fff;}
table{width:100%;border-collapse:collapse;min-width:680px;font-size:14.5px;}
thead th{background:var(--ink);color:#fff;font-weight:700;text-align:left;padding:16px 20px;font-size:13.5px;white-space:nowrap;}
tbody td{padding:18px 20px;border-bottom:1px solid var(--line2);vertical-align:top;}
tbody tr:last-child td{border-bottom:none;}
tbody tr:nth-child(even){background:var(--bg2);}
td .cname{font-weight:800;display:block;}
td .cdesc{font-size:13px;color:var(--soft);margin-top:3px;display:block;line-height:1.85;}
td .ctx{font-size:13.5px;color:var(--soft);line-height:1.9;}
.pill-y,.pill-m,.pill-n{display:inline-block;font-size:12px;font-weight:800;border-radius:999px;padding:4px 13px;white-space:nowrap;}
.pill-y{background:#EDFBDC;color:#5E8F17;border:1px solid #C7EB92;}
.pill-m{background:#E0F8FF;color:#0C8AA8;border:1px solid #A9E6F7;}
.pill-n{background:#F3F4F8;color:var(--soft);border:1px solid var(--line);}

/* 申請の流れ */
.flow{padding:0 0 96px;}
.timeline{margin-top:44px;}
.tl{display:grid;grid-template-columns:auto 1fr;gap:22px;padding-bottom:26px;position:relative;}
.tl:last-child{padding-bottom:0;}
.tl::before{content:"";position:absolute;left:25px;top:56px;bottom:0;width:2px;background:var(--line);}
.tl:last-child::before{display:none;}
.tl .num{width:52px;height:52px;border-radius:14px;display:grid;place-items:center;
  font-family:'Montserrat',sans-serif;font-weight:900;font-size:17px;color:#fff;z-index:1;}
.tl:nth-child(1) .num{background:linear-gradient(135deg,var(--s1),var(--s2));}
.tl:nth-child(2) .num{background:linear-gradient(135deg,var(--s2),var(--s3));color:var(--ink);}
.tl:nth-child(3) .num{background:linear-gradient(135deg,var(--s3),var(--s4));color:var(--ink);}
.tl:nth-child(4) .num{background:linear-gradient(135deg,var(--s4),var(--s5));}
.tl:nth-child(5) .num{background:linear-gradient(135deg,var(--s5),var(--s6));}
.tl .body{background:#fff;border:1px solid var(--line);border-radius:12px;padding:22px 26px;}
.tl .when{font-family:'Montserrat',sans-serif;font-size:11px;font-weight:800;letter-spacing:.1em;color:var(--soft);}
.tl h3{font-size:18.5px;margin-top:4px;}
.tl p{font-size:14.5px;color:var(--soft);margin-top:8px;line-height:2;}
.tl .who{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px;}
.tl .who span{font-size:11.5px;font-weight:700;border-radius:999px;padding:3px 12px;
  background:var(--bg2);border:1px solid var(--line);color:var(--soft);}
.tl .who span.us{background:var(--ink);color:#fff;border-color:var(--ink);}
.tl.key .body{border:2px solid var(--s1);box-shadow:0 12px 30px rgba(255,94,122,.14);}

/* サポート範囲 */
.support{padding:96px 0;}
.scope{display:grid;gap:18px;margin-top:44px;}
.sc{background:#fff;border:1px solid var(--line);border-radius:12px;padding:28px 26px;}
.sc .who{font-family:'Montserrat',sans-serif;font-size:11px;font-weight:800;letter-spacing:.1em;}
.sc h3{font-size:19px;margin-top:6px;}
.sc ul{list-style:none;margin-top:16px;display:grid;gap:10px;}
.sc ul li{font-size:14px;color:var(--soft);padding-left:24px;position:relative;line-height:1.85;}
.sc ul li::before{content:"✓";position:absolute;left:0;font-weight:900;}
.sc.us{border:2px solid var(--ink);}
.sc.us .who{color:var(--blue);} .sc.us ul li::before{color:var(--blue);}
.sc.sr .who{color:var(--s6);} .sc.sr ul li::before{color:var(--s6);}
.sc.cl .who{color:#6FA524;} .sc.cl ul li::before{color:#6FA524;}
@media(min-width:900px){.scope{grid-template-columns:repeat(3,1fr);}}

/* 注意事項 */
.notice-sec{padding:0 0 96px;}
.notice{margin-top:44px;background:var(--bg2);border:1px solid var(--line);border-radius:14px;padding:30px 28px;}
.notice h3{font-size:18px;}
.notice ul{list-style:none;margin-top:16px;display:grid;gap:12px;}
.notice ul li{font-size:14px;color:var(--soft);padding-left:24px;position:relative;line-height:1.95;}
.notice ul li::before{content:"";position:absolute;left:2px;top:12px;width:9px;height:9px;border-radius:50%;background:var(--spectrum);}
.notice .src{margin-top:20px;padding-top:18px;border-top:1px dashed var(--line);font-size:12.5px;color:var(--mute);line-height:1.9;}

/* FAQ */
.faq-sec{padding:96px 0;}
.faq{display:grid;gap:12px;margin-top:44px;}
.faq details{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;}
.faq summary{list-style:none;cursor:pointer;padding:21px 56px 21px 24px;font-size:16px;font-weight:700;position:relative;}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::before{content:"Q.";font-family:'Montserrat',sans-serif;font-weight:900;margin-right:10px;
  background:var(--spectrum);-webkit-background-clip:text;background-clip:text;color:transparent;}
.faq summary::after{content:"";position:absolute;right:24px;top:50%;width:11px;height:11px;
  border-right:2.5px solid var(--soft);border-bottom:2.5px solid var(--soft);transform:translateY(-70%) rotate(45deg);transition:transform .3s;}
.faq details[open] summary::after{transform:translateY(-30%) rotate(225deg);}
.faq .a{padding:0 24px 24px;font-size:14.5px;color:var(--soft);line-height:2;}

/* Contact */
.contact{background:var(--blue);color:#fff;position:relative;overflow:hidden;}
.contact .rib{position:absolute;inset:0;width:100%;height:100%;opacity:.55;}
.contact .inner{position:relative;padding:76px 0 80px;}
.ct-grid{display:grid;gap:32px;align-items:center;}
.contact .sec-jp{color:rgba(255,255,255,.7);}
.contact .sec-en{color:#fff;}
.contact p{color:rgba(255,255,255,.86);font-size:15px;line-height:2;margin-top:20px;max-width:30em;}
.contact .disc{font-size:11.5px;color:rgba(255,255,255,.6);margin-top:18px;line-height:1.85;}
.ct-actions{display:grid;gap:14px;}
.ct-tel{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.24);border-radius:12px;padding:20px 24px;}
.ct-tel .lb{font-size:11.5px;color:rgba(255,255,255,.7);}
.ct-tel b{display:block;font-family:'Montserrat',sans-serif;font-size:31px;line-height:1.35;}
.ct-tel .hr{font-size:11.5px;color:rgba(255,255,255,.7);}
@media(min-width:900px){.ct-grid{grid-template-columns:1.1fr .9fr;gap:56px;}}

/* フッター */
footer.site{background:var(--deep);color:rgba(255,255,255,.72);padding:64px 0 0;}
.f-top{display:grid;gap:40px;padding-bottom:44px;border-bottom:1px solid rgba(255,255,255,.12);}
footer .logo{color:#fff;}
.f-co{font-size:12.5px;line-height:2;margin-top:20px;color:rgba(255,255,255,.6);}
.f-co b{display:block;color:#fff;font-size:14px;margin-bottom:4px;}
.f-nav{display:grid;grid-template-columns:repeat(2,1fr);gap:26px;}
.f-col h4{font-family:'Montserrat',sans-serif;font-size:11px;letter-spacing:.12em;color:rgba(255,255,255,.45);font-weight:700;}
.f-col ul{list-style:none;margin-top:12px;display:grid;gap:9px;}
.f-col ul li a{font-size:13px;color:rgba(255,255,255,.78);}
.f-col ul li a:hover{color:#fff;}
.f-bottom{padding:22px 0 34px;display:grid;gap:14px;font-size:11.5px;color:rgba(255,255,255,.4);line-height:1.9;}
@media(min-width:900px){.f-top{grid-template-columns:300px 1fr;gap:64px;}.f-nav{grid-template-columns:repeat(4,1fr);}
  .f-bottom{grid-template-columns:1fr auto;align-items:center;}}

/* スマホ固定CTA */
.mcta{position:fixed;left:0;right:0;bottom:0;z-index:90;display:flex;gap:8px;
  padding:9px 12px calc(9px + env(safe-area-inset-bottom));
  background:rgba(255,255,255,.95);backdrop-filter:blur(12px);border-top:1px solid var(--line);}
.mcta::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--spectrum);}
.mcta a{flex:1;text-align:center;font-weight:800;font-size:14px;padding:13px 6px;border-radius:10px;}
.mcta .m1{background:var(--ink);color:#fff;}
.mcta .m2{background:#fff;color:var(--ink);border:1px solid var(--line);}
@media(min-width:1080px){.mcta{display:none;}}
@media(max-width:1079px){footer.site{padding-bottom:60px;}}
