:root{
  --gold:#EDBB2B;
  --gold-deep:#D09C09;
  --gold-lite:#F8D766;
  --gold-grad-l:#F7E3A8;
  --gold-grad-r:#F6CA4A;
  --cream:#FFFDEA;
  --cream2:#FEFCE6;
  --cream3:#FFFEF2;
  --ink:#3B4043;
  --gray:#676767;
  --gray-l:#A5A5A5;
  --line:#A7A7A7;
  --line-soft:#EFECE0;
  --sky:#6DC4F9;
  --sky-pale:#F4FAFD;


  --r-card:20px;
  --r-card-s:10px;
  --r-btn:4px;
  --r-pill:58px;
  --r-cta:40px;

  --head-h:66px;
  --nav-h:52px;


  --fs-xs:12px;
  --fs-sm:15px;
  --fs-cap:16px;
  --fs-base:16px;
  --fs-lg:20px;
  --fs-xl:20px;
  --fs-2xl:36px;
  --fs-3xl:28px;
  --fs-hero:48px;


  --lh-base:24px;
  --lh-lg:32px;
  --lh-3xl:48px;
  --lh-2xl:60px;
  --lh-hero:68px;
}

/* --------------------------------------------------------------------------
   ベース（#purpose-body 配下のみ）
   ⚠️ テーマの style.css のリセットは要素セレクタの列挙で、box-sizing を含まない
      （`* { box-sizing: border-box }` のグローバル指定が無い）。button / input も
      列挙に含まれないため、ここでスコープ内だけに当てる。これを外すと SP で
      `.inner{width:100%;padding:0 20px}` が viewport を 40px 超えて横スクロールが出る。
   -------------------------------------------------------------------------- */
#purpose-body *,#purpose-body *::before,#purpose-body *::after{margin:0;padding:0;box-sizing:border-box;}
/* ベース（デザイン版 v11 から欠落していた分。リンクがブラウザ既定色になるのを防ぐ） */
#purpose-body{color:var(--ink);}
#purpose-body a{color:inherit;text-decoration:none;-webkit-tap-highlight-color:rgba(237,187,43,.2);}
#purpose-body button{-webkit-tap-highlight-color:rgba(237,187,43,.2);}
#purpose-body img{max-width:100%;display:block;}

#purpose-body .inner{width:95%;max-width:1180px;margin:0 auto;}

#purpose-body .enttl{font-family:'Montserrat',sans-serif;font-weight:600;font-size:var(--fs-cap);letter-spacing:.05em;color:var(--gold);line-height:var(--lh-base);margin-bottom:0;}
#purpose-body .jattl{font-size:var(--fs-3xl);line-height:var(--lh-3xl);}

#purpose-body .jattl.gold{color:var(--gold);}
#purpose-body .ttlarea{margin-bottom:60px;}
#purpose-body .ttlarea .txt{font-size:var(--fs-base);color:var(--ink);line-height:var(--lh-base);margin-top:10px;max-width:820px;}



#purpose-body .enttl .secno{display:inline-block;margin-right:10px;padding:1px 8px;border-radius:2px;
  background:var(--gold);color:#fff;font-size:13px;letter-spacing:.06em;vertical-align:1px;}

#purpose-body section[id]{scroll-margin-top:calc(145px + var(--nav-h) + 12px);}


#purpose-body .secnav{position:sticky;top:145px;z-index:65;background:#fff;border-bottom:1px solid var(--line-soft);}
#purpose-body .secnav-prog{height:3px;background:var(--line-soft);}
#purpose-body .secnav-prog span{display:block;height:100%;width:0;background:var(--gold);}
#purpose-body .secnav-inner{width:95%;max-width:1120px;margin:0 auto;display:flex;align-items:center;
  overflow-x:auto;scrollbar-width:none;}
#purpose-body .secnav-inner::-webkit-scrollbar{display:none;}
#purpose-body .secnav ul{list-style:none;display:flex;gap:2px;margin:0;padding:0;}
#purpose-body .secnav li{margin:0;}
#purpose-body .secnav ul a{display:flex;align-items:center;gap:7px;height:calc(var(--nav-h) - 3px);padding:0 13px;
  font-family:"Hiragino Sans W6","Hiragino Sans",sans-serif;font-size:var(--fs-sm);font-weight:bold;
  color:var(--gray);white-space:nowrap;position:relative;}
#purpose-body .secnav ul a .n{font-family:'Montserrat',sans-serif;font-weight:600;font-size:12px;color:var(--gray-l);}
#purpose-body .secnav ul a:hover{color:var(--ink);}
#purpose-body .secnav ul a.on{color:var(--ink);}
#purpose-body .secnav ul a.on .n{color:var(--gold);}
#purpose-body .secnav ul a.on::after{content:"";position:absolute;left:9px;right:9px;bottom:0;height:3px;background:var(--gold);}

#purpose-body .secnav .secnav-cv{margin-left:auto;flex-shrink:0;min-width:0;padding:9px 20px;font-size:var(--fs-sm);
  font-weight:bold;border-radius:var(--r-pill);}

#purpose-body .totop{position:fixed;right:24px;bottom:24px;z-index:68;width:48px;height:48px;border-radius:50%;
  border:1px solid var(--line);background:#fff;cursor:pointer;box-shadow:0 3px 6px rgba(0,0,0,.16);
  opacity:0;pointer-events:none;transition:opacity .2s ease,background .15s ease;
  display:flex;align-items:center;justify-content:center;}
#purpose-body .totop.on{opacity:1;pointer-events:auto;}
#purpose-body .totop:hover{background:var(--cream2);border-color:var(--gold);}
#purpose-body .totop::before{content:"";width:10px;height:10px;border-left:2px solid var(--ink);
  border-top:2px solid var(--ink);transform:rotate(45deg);margin-top:3px;}
#purpose-body section{padding:80px 20px;}

#purpose-body .btn{display:inline-block;text-align:center;border:none;font-family:inherit;cursor:pointer;
  transition:background .15s ease,color .15s ease,opacity .15s ease;}
#purpose-body .btn-cv{background:var(--gold);color:#fff;font-weight:500;padding:20px;font-size:var(--fs-base);line-height:var(--lh-base);border-radius:var(--r-btn);min-width:250px;}
#purpose-body .btn-cv:hover{background:var(--gold-deep);color:#fff;}
#purpose-body .btn-cv.lg{padding:16px 40px;font-size:var(--fs-base);border-radius:var(--r-pill);font-weight:700;}
#purpose-body .btn-line{border:1px solid var(--ink);padding:16px 40px;font-size:var(--fs-base);line-height:var(--lh-base);border-radius:var(--r-pill);background:var(--cream2);color:var(--ink);font-weight:500;}
#purpose-body .btn-line:hover{background:var(--ink);color:#fff;}
#purpose-body .btn-dark{background:var(--ink);color:#fff;padding:16px 40px;font-size:var(--fs-base);line-height:var(--lh-base);border-radius:var(--r-pill);font-weight:700;letter-spacing:1.2px;}
#purpose-body .btn-dark:hover{opacity:.85;}

#purpose-body .ckmark::before{content:"✓";position:absolute;left:0;top:.1em;width:20px;height:20px;border-radius:10px;
  background:var(--gold);color:#fff;font-size:13px;line-height:20px;text-align:center;font-weight:700;}







#purpose-body .hero{background:var(--cream2);padding:40px 0 41px;}
#purpose-body .hero-head{padding-top:6px;max-width:1180px;}

#purpose-body .hero-tag{display:inline-flex;background:var(--gold);color:#000;font-size:24px;line-height:34px;font-weight:600;padding:4px 20px;margin-bottom:20px;}
#purpose-body .hero h1{font-size:var(--fs-hero);line-height:var(--lh-hero);color:#000;letter-spacing:0;}
#purpose-body .hero h1 .u{text-decoration:underline;text-decoration-color:var(--gold);text-decoration-thickness:18%;}
#purpose-body .hero-lead{margin-top:20px;font-size:18px;color:var(--ink);line-height:30px;max-width:760px;}


#purpose-body .hero-fig{margin-top:40px;border:1px solid var(--line);border-radius:var(--r-card);overflow:hidden;background:#fff;}
#purpose-body .hero-fig img{width:100%;height:auto;display:block;max-height:460px;object-fit:cover;object-position:center;}

#purpose-body .hero-note{display:flex;flex-wrap:wrap;gap:12px 40px;margin-top:24px;}
#purpose-body .hero-note li{list-style:none;flex:1 1 380px;font-size:var(--fs-base);color:var(--ink);
  line-height:var(--lh-base);padding-left:34px;position:relative;}
#purpose-body .hero-note li::before{content:"✓";position:absolute;left:0;top:0;width:24px;height:24px;border-radius:13px;
  background:var(--gold);color:var(--ink);font-size:13px;line-height:24px;text-align:center;font-weight:700;}
#purpose-body .hero-note b{color:var(--ink);font-weight:700;text-decoration:underline;text-decoration-color:var(--gold);text-decoration-thickness:18%;}
#purpose-body .hero-note .sub{color:var(--gray);}

#purpose-body .bar{background:#fff;padding-bottom:80px;}
#purpose-body .bar-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:40px;}
#purpose-body .bar-item{padding:20px;border:1px solid var(--line);border-radius:var(--r-card);background:#fff;}
#purpose-body .bar-item .k{font-size:28px;line-height:var(--lh-3xl);font-weight:600;color:var(--gold);}
#purpose-body .bar-item .v{font-size:var(--fs-lg);line-height:var(--lh-lg);font-weight:700;color:var(--ink);}
#purpose-body .bar-item .d{font-size:var(--fs-base);color:var(--ink);line-height:var(--lh-base);margin-top:10px;}

#purpose-body .purpose{background:#fff;}
#purpose-body .pf-cards{display:flex;flex-wrap:wrap;gap:20px;justify-content:center;}

#purpose-body .pf-card{flex:1 1 232px;max-width:262px;background:var(--cream3);border:1px solid var(--line);
  border-radius:var(--r-card);padding:20px 16px;text-align:center;font-family:inherit;color:var(--ink);cursor:pointer;
  position:relative;transition:border-color .15s ease,background .15s ease;}
#purpose-body .pf-card .no{display:block;font-size:20px;line-height:var(--lh-lg);font-weight:600;color:var(--gold);}
#purpose-body .pf-card .lb{display:block;font-family:"Hiragino Sans W6","Hiragino Sans",sans-serif;font-size:var(--fs-base);font-weight:500;line-height:20px;margin-top:4px;}
#purpose-body .pf-card .sb{display:block;font-size:var(--fs-sm);color:var(--gray);line-height:1.6;margin-top:6px;}

#purpose-body .pf-card .ic{display:block;width:56px;height:56px;margin:0 auto 9px;border-radius:6px;}
#purpose-body .pf-card:hover{border-color:var(--gold);background:var(--cream2);}
#purpose-body .pf-card.on{background:var(--gold);border-color:var(--gold);}
#purpose-body .pf-card.on .no{color:#fff;}
#purpose-body .pf-card.on .sb{color:#6B5A20;}

#purpose-body .pf-card.on::after{content:"";position:absolute;left:50%;bottom:-7px;width:14px;height:14px;
  background:var(--gold);transform:translateX(-50%) rotate(45deg);z-index:2;}

#purpose-body .pf-panel{margin-top:40px;background:var(--cream2);border-radius:var(--r-card);overflow:hidden;padding:40px;}
#purpose-body .pf-panel h3{font-size:var(--fs-xl);line-height:var(--lh-lg);}
#purpose-body .pf-lead{font-size:var(--fs-base);color:var(--ink);line-height:var(--lh-base);margin:20px 0 0;}

#purpose-body .pf-top{display:grid;grid-template-columns:1fr 336px;gap:40px;align-items:start;margin-bottom:40px;}
#purpose-body .pf-fig{margin:0;border-radius:var(--r-card-s);overflow:hidden;background:#fff;}
#purpose-body .pf-fig img{width:100%;height:auto;display:block;}

#purpose-body .pf-list{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
#purpose-body .pf-link{background:#fff;border:1px solid var(--line);border-radius:var(--r-card-s);padding:20px;display:block;transition:background .15s ease;}
#purpose-body .pf-link:hover{background:var(--cream3);}

#purpose-body .tag{display:inline-block;font-family:"Hiragino Sans W6","Hiragino Sans",sans-serif;font-size:14px;font-weight:bold;
  letter-spacing:0;padding:4px 12px;border-radius:2px;margin-bottom:10px;
  border:1px solid var(--gray-l);background:linear-gradient(to right bottom,var(--cream),var(--sky-pale));color:var(--gray);}
#purpose-body .tag-f{background:var(--gold);border-color:var(--gold);color:#fff;}
#purpose-body .tag-s{background:var(--ink);border-color:var(--ink);color:#fff;}
#purpose-body .tag-g{border-color:var(--sky);color:#2A9AD8;}
#purpose-body .tag-c{border-color:var(--gray-l);color:var(--gray);}
#purpose-body .pf-link .tt{display:block;font-size:var(--fs-base);font-weight:700;line-height:var(--lh-base);}
#purpose-body .pf-link .dd{display:block;font-size:var(--fs-sm);color:var(--ink);line-height:var(--lh-base);margin-top:6px;}
#purpose-body .pf-link .path{display:block;font-family:'Montserrat',sans-serif;font-size:var(--fs-xs);color:var(--gray-l);margin-top:10px;word-break:break-all;}
#purpose-body .pf-cta{margin-top:40px;display:flex;align-items:center;gap:20px;flex-wrap:wrap;}
#purpose-body .pf-cta .mini{font-size:var(--fs-sm);color:var(--ink);}


/* ボーダーは SP アコーディオン時のみ（PCでは .pf-acc-head が非表示のため線だけが残る） */
#purpose-body .pf-item{scroll-margin-top:calc(var(--head-h) + 8px);}
#purpose-body .pf-acc-head{display:block;width:100%;text-align:left;background:none;border:none;font-family:inherit;color:var(--ink);
  padding:15px 40px 15px 12px;position:relative;cursor:pointer;min-height:56px;}
#purpose-body .pf-acc-head .no{display:block;font-family:'Montserrat',sans-serif;font-size:var(--fs-xs);letter-spacing:.08em;color:var(--gray-l);}
#purpose-body .pf-acc-head .lb{display:block;font-size:var(--fs-lg);font-weight:600;line-height:1.5;margin-top:1px;}
#purpose-body .pf-acc-head .sb{display:block;font-size:var(--fs-sm);color:var(--gray);line-height:1.6;margin-top:1px;}
#purpose-body .pf-acc-head::after{content:"";position:absolute;right:14px;top:50%;width:9px;height:9px;
  border-right:1.5px solid var(--gray);border-bottom:1.5px solid var(--gray);
  transform:translateY(-70%) rotate(45deg);transition:transform .22s ease;}
#purpose-body .pf-item.on{background:var(--cream2);}
#purpose-body .pf-item.on .pf-acc-head{padding-left:16px;}
#purpose-body .pf-item.on .pf-acc-head::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--gold);}
#purpose-body .pf-item.on .pf-acc-head::after{transform:translateY(-30%) rotate(-135deg);border-color:var(--ink);}


#purpose-body .situation{background:linear-gradient(to right top,var(--sky-pale),var(--cream));}

#purpose-body .situation .pf-panel{background:#fff;}

#purpose-body .situation .pf-card{flex:1 1 320px;max-width:352px;}
#purpose-body .situation .pf-pc .pf-panel{box-shadow:0 3px 6px rgba(0,0,0,.16);}
#purpose-body .situation .pf-item.on{background:#fff;}

#purpose-body .sit-q{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-bottom:40px;}

#purpose-body .sit-q .qq{font-size:var(--fs-lg);font-weight:700;line-height:var(--lh-lg);padding-bottom:10px;border-bottom:1px solid var(--gold);}
#purpose-body .sit-q .aa{font-size:var(--fs-base);color:var(--ink);line-height:var(--lh-base);margin-top:10px;}

#purpose-body .style{background:#fff;}
#purpose-body .style-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:40px;align-items:start;}
#purpose-body .style-left{display:flex;flex-direction:column;gap:20px;}
#purpose-body .style-flow{margin:0;background:#fff;border:1px solid #E6E6E6;border-radius:14px;padding:22px 20px 18px;}
#purpose-body .style-flow .fh{font-size:14px;font-weight:700;color:var(--ink);letter-spacing:.04em;display:flex;align-items:center;gap:8px;margin:0 0 10px;}
#purpose-body .style-flow .fh::before{content:"";width:4px;height:16px;border-radius:2px;background:var(--gold);}
#purpose-body .style-flow svg{display:block;width:100%;height:auto;margin:0 auto;}
#purpose-body .style-flow .flow-sp{display:none;}
#purpose-body .style-flow .fn{font-size:12px;line-height:1.75;color:var(--gray);margin:10px 0 0;}

#purpose-body .style-def{background:var(--cream2);border-radius:var(--r-card);padding:40px;}
#purpose-body .style-def h3{font-size:var(--fs-xl);line-height:var(--lh-lg);margin-bottom:10px;}
#purpose-body .style-def p{font-size:var(--fs-base);color:var(--ink);line-height:var(--lh-base);}
#purpose-body .style-def .src{font-size:var(--fs-xs);color:var(--gray-l);margin-top:20px;}

#purpose-body .mlist{}
#purpose-body .mgroup + .mgroup{margin-top:40px;}

#purpose-body .mhead{display:inline-block;font-size:var(--fs-base);line-height:var(--lh-base);font-weight:600;letter-spacing:0;
  padding:4px 24px;margin-bottom:20px;background:var(--gold);color:#fff;border-radius:var(--r-btn);}
#purpose-body .mgroup.neg .mhead{background:#E0E0E0;color:var(--ink);}
#purpose-body .mitem + .mitem{margin-top:20px;}
#purpose-body .mitem b{display:block;font-size:var(--fs-lg);font-weight:700;color:var(--ink);line-height:var(--lh-lg);margin-bottom:4px;}
#purpose-body .mitem span{display:block;font-size:var(--fs-base);color:var(--ink);line-height:var(--lh-base);}

#purpose-body .style-more{display:inline-block;margin-top:24px;padding:10px 0 10px 50px;font-size:14px;line-height:1.42em;
  font-family:'Montserrat',sans-serif;font-weight:600;color:var(--ink);
  background:url("https://it-partners.type.jp/wp-content/themes/it-partners/common/images/more_btn_arrow.png") no-repeat left center;background-size:38px;}
#purpose-body .style-more:hover{opacity:.8;}

#purpose-body .axes{background:var(--cream2);}

#purpose-body .ax-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:40px;}
#purpose-body .ax{background:#fff;border:1px solid var(--line);border-radius:var(--r-card);padding:20px;display:block;transition:background .15s ease;}
#purpose-body .ax:hover{background:var(--cream3);}
#purpose-body .ax .num{font-size:28px;line-height:var(--lh-3xl);font-weight:600;color:var(--gold);}
#purpose-body .ax h4{font-size:var(--fs-lg);line-height:var(--lh-lg);font-weight:700;margin:0 0 10px;}
#purpose-body .ax p{font-size:var(--fs-base);color:var(--ink);line-height:var(--lh-base);}
#purpose-body .ax .path{font-family:'Montserrat',sans-serif;font-size:var(--fs-xs);color:var(--gray-l);margin-top:10px;word-break:break-all;}


#purpose-body .consult{background:var(--cream2);}
#purpose-body .consult .inner{background:var(--cream2);}
#purpose-body .consult-main{display:grid;grid-template-columns:443px 1fr;gap:40px;align-items:center;margin-bottom:40px;}
#purpose-body .consult-fig{margin:0;border-radius:var(--r-card);overflow:hidden;background:#fff;}
#purpose-body .consult-fig img{width:100%;height:auto;display:block;}
#purpose-body .consult h2{font-size:var(--fs-2xl);line-height:var(--lh-2xl);font-weight:700;color:var(--ink);margin-bottom:20px;}
#purpose-body .consult h2 .u{text-decoration:underline;text-decoration-color:var(--gold);text-decoration-thickness:18%;}
#purpose-body .consult p{font-size:var(--fs-base);line-height:var(--lh-base);color:var(--ink);margin-bottom:24px;}
#purpose-body .consult .btns{display:flex;gap:20px;flex-wrap:wrap;}

#purpose-body .support3{background:#fff;border-radius:var(--r-card);padding:40px;}
#purpose-body .support3 .h{font-size:var(--fs-lg);line-height:var(--lh-lg);font-weight:700;margin-bottom:20px;}
#purpose-body .support3 ul{display:grid;grid-template-columns:repeat(3,1fr);gap:20px 40px;}
#purpose-body .support3 li{list-style:none;font-size:var(--fs-base);color:var(--ink);line-height:var(--lh-base);}
#purpose-body .support3 li b{display:block;font-size:var(--fs-lg);line-height:var(--lh-lg);font-weight:700;color:var(--ink);
  padding-bottom:10px;margin-bottom:10px;border-bottom:1px solid var(--gold);}

#purpose-body .faq{background:#fff;}
#purpose-body .faq-list{max-width:1120px;display:flex;flex-direction:column;gap:16px;}
#purpose-body .faq-item{border-radius:5px;box-shadow:0 3px 6px rgba(0,0,0,.16);overflow:hidden;}

#purpose-body .faq-q{width:100%;text-align:left;border:none;
  background:linear-gradient(var(--gray),var(--gray)) no-repeat right 40px center / 25px 3px, var(--cream2);
  font-family:"Hiragino Sans W6","Hiragino Sans",sans-serif;color:var(--ink);
  font-size:18px;font-weight:bold;line-height:1.72em;padding:15px 80px 15px 39px;cursor:pointer;position:relative;}
#purpose-body .faq-q::before{content:"Q.";position:absolute;left:14px;top:15px;}
#purpose-body .faq-q::after{content:"";position:absolute;right:40px;top:calc(50% - 1.5px);width:25px;height:3px;
  background:var(--gray);transform:rotate(90deg);transition:transform .22s ease;}
#purpose-body .faq-item.open .faq-q::after{transform:rotate(0);}
#purpose-body .faq-a{display:none;background:#fff;}
#purpose-body .faq-item.open .faq-a{display:block;}
#purpose-body .faq-a .in{padding:30px 42px 30px 68px;font-size:14px;color:var(--ink);line-height:1.78em;position:relative;}
#purpose-body .faq-a .in::before{content:"A.";position:absolute;left:42px;top:30px;font-size:18px;font-weight:bold;
  font-family:"Hiragino Sans W6","Hiragino Sans",sans-serif;}
#purpose-body .faq-a b{color:var(--ink);font-weight:700;}
#purpose-body .faq-a a{text-decoration:underline;}
#purpose-body .faq-src{font-size:var(--fs-xs);color:var(--gray-l);margin-top:20px;}

#purpose-body .column{background:var(--cream2);}
#purpose-body .col-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
#purpose-body .col{background:#fff;border-radius:8px;box-shadow:0 3px 6px rgba(0,0,0,.16);overflow:hidden;display:block;transition:transform .15s ease;}
#purpose-body .col:hover{transform:translateY(-2px);}
#purpose-body .col .cat{background:var(--gold);color:#fff;font-size:var(--fs-base);line-height:var(--lh-base);font-weight:700;padding:7px 0;text-align:center;}
#purpose-body .col-in{padding:20px 22px 22px;}
#purpose-body .col h4{font-size:var(--fs-base);line-height:var(--lh-base);font-weight:700;margin:0 0 10px;}
#purpose-body .col .path{font-family:'Montserrat',sans-serif;font-size:var(--fs-xs);color:var(--gray-l);word-break:break-all;}
#purpose-body .col-more{margin-top:40px;text-align:center;}

#purpose-body .cv{background:#fcefc6;text-align:center;padding:80px 20px;}
#purpose-body .cv-inner{max-width:1120px;margin:0 auto;background:var(--cream2);border-radius:var(--r-cta);padding:40px;}
#purpose-body .cv h2{font-size:var(--fs-hero);line-height:var(--lh-hero);font-weight:700;color:var(--ink);margin-bottom:10px;}
#purpose-body .cv h2 .u{text-decoration:underline;text-decoration-color:var(--gold);text-decoration-thickness:18%;}
#purpose-body .cv p{font-size:20px;line-height:var(--lh-lg);font-weight:700;color:var(--ink);margin-bottom:24px;}





@media (max-width:1200px){
#purpose-body .secnav-inner{scroll-snap-type:x proximity;
    -webkit-mask-image:linear-gradient(to right,#000 0,#000 calc(100% - 28px),transparent 100%);
            mask-image:linear-gradient(to right,#000 0,#000 calc(100% - 28px),transparent 100%);}
#purpose-body .secnav ul a{scroll-snap-align:start;}
#purpose-body .secnav .secnav-cv{display:none;}
}
@media (max-width:1024px){
#purpose-body section{padding:60px 20px;}
#purpose-body .jattl{font-size:24px;line-height:34px;}
#purpose-body .hero h1{font-size:32px;line-height:1.5;}
#purpose-body .hero-head{max-width:none;}
#purpose-body .bar{padding-bottom:var(--sp-4);}
#purpose-body .bar-grid{grid-template-columns:1fr 1fr;gap:20px;}
#purpose-body .bar-item{padding:20px;}
#purpose-body .pf-card{flex:1 1 30%;max-width:none;}

#purpose-body .situation .pf-card{flex:1 1 30%;max-width:none;}

#purpose-body .pf-panel{padding:24px;}
#purpose-body .pf-top{grid-template-columns:1fr 280px;gap:24px;}
#purpose-body .consult-main{grid-template-columns:1fr 1fr;gap:30px;}
#purpose-body .support3 ul{grid-template-columns:1fr;gap:20px;}
#purpose-body .ax-grid{grid-template-columns:1fr 1fr;}
#purpose-body .style-grid{gap:34px;}
#purpose-body .col-grid{grid-template-columns:1fr 1fr;}
#purpose-body .col-grid .col:last-child{grid-column:1 / -1;}
}

@media (max-width:768px){
:root{
    --head-h:56px;--nav-h:48px;

    --fs-xs:12px; --fs-sm:14px;  --fs-cap:15px; --fs-base:15px;
    --fs-lg:18px; --fs-xl:18px;   --fs-2xl:26px; --fs-3xl:24px; --fs-hero:24px;
    --lh-base:24px; --lh-lg:26px; --lh-3xl:34px; --lh-2xl:42px; --lh-hero:38px;
    --sp-1:8px;--sp-2:12px;--sp-3:20px;--sp-4:32px;
  }
#purpose-body{font-size:var(--fs-base);line-height:var(--lh-base);}
#purpose-body .inner{width:100%;padding:0 20px;}

#purpose-body .secnav-inner{width:100%;max-width:none;padding:0 16px;-webkit-overflow-scrolling:touch;}
#purpose-body .secnav ul a{padding:0 11px;font-size:13px;}

#purpose-body .totop{right:14px;bottom:14px;width:44px;height:44px;}
#purpose-body section{padding:var(--sp-4) 20px;}
#purpose-body .jattl{font-size:var(--fs-3xl);line-height:var(--lh-3xl);}
#purpose-body .enttl{font-size:var(--fs-cap);margin-bottom:4px;}
#purpose-body .ttlarea{margin-bottom:var(--sp-4);}
#purpose-body .ttlarea .txt{font-size:var(--fs-base);margin-top:var(--sp-1);line-height:var(--lh-base);}



#purpose-body .hero-tag{font-size:18px;line-height:26px;padding:4px 8px;color:var(--ink);margin-bottom:12px;}

#purpose-body .btn-cv, #purpose-body .btn-line, #purpose-body .btn-dark{font-size:var(--fs-base);}
#purpose-body .btn-cv.lg, #purpose-body .btn-dark{font-size:var(--fs-lg);}
#purpose-body .tag{font-size:var(--fs-xs);}

#purpose-body .faq-src a{position:relative;display:inline-block;}
#purpose-body .faq-src a::after{content:"";position:absolute;left:-6px;right:-6px;
    top:50%;transform:translateY(-50%);height:44px;}

#purpose-body .hero{padding:24px 0 var(--sp-3);}
#purpose-body .hero-head{padding-top:2px;}
#purpose-body .hero h1{font-size:var(--fs-hero);line-height:1.58;}
#purpose-body .hero-lead{margin-top:var(--sp-2);font-size:var(--fs-base);line-height:var(--lh-base);}
#purpose-body .hero-fig{margin-top:var(--sp-3);border-radius:var(--r-card-s);}
#purpose-body .hero-fig img{max-height:none;}

#purpose-body .hero-note{margin-top:var(--sp-3);gap:10px;}
#purpose-body .hero-note li{flex:1 1 100%;font-size:var(--fs-base);line-height:var(--lh-base);padding-left:34px;}
#purpose-body .hero-note li::before{line-height:23px;font-size:20px;border-radius:999px;}
#purpose-body .hero-note b{display:block;}


#purpose-body .bar-grid{grid-template-columns:1fr 1fr;gap:12px;}
#purpose-body .bar-item{padding:14px;border-radius:var(--r-card-s);}
#purpose-body .bar-item .k{font-size:20px;line-height:28px;}
#purpose-body .bar-item .v{font-size:var(--fs-base);line-height:1.5;}
#purpose-body .bar-item .d{font-size:var(--fs-xs);line-height:1.6;margin-top:6px;}

#purpose-body .pf-card .ic{width:40px;height:40px;}
#purpose-body .pf-acc-head .lb{font-size:var(--fs-lg);}
#purpose-body .pf-acc-head .no, #purpose-body .pf-card .no{font-size:var(--fs-xs);}
#purpose-body .pf-acc-head .sb, #purpose-body .pf-card .sb{font-size:var(--fs-sm);}
#purpose-body .pf-panel{margin-top:0;padding:0 12px 20px;background:var(--cream2);border-top:none;}
#purpose-body .pf-panel h3{display:none;}

#purpose-body .pf-lead{font-size:var(--fs-sm);line-height:1.8;margin:0;}

#purpose-body .pf-top{display:flex;flex-direction:column;gap:var(--sp-2);margin-bottom:var(--sp-2);}
#purpose-body .pf-fig{order:-1;}
#purpose-body .pf-list{grid-template-columns:1fr;}
#purpose-body .pf-link{padding:12px 14px;min-height:44px;}
#purpose-body .pf-link .tt{font-size:var(--fs-base);}
#purpose-body .pf-link .dd{font-size:var(--fs-sm);margin-top:2px;}
#purpose-body .pf-link .path{font-size:var(--fs-xs);margin-top:5px;}
#purpose-body .pf-link .tag{margin-bottom:5px;}
#purpose-body .pf-cta{margin-top:var(--sp-3);flex-direction:column;align-items:stretch;gap:var(--sp-1);}
#purpose-body .pf-cta .btn{width:100%;padding:14px 0;font-size:var(--fs-lg);}
#purpose-body .pf-cta .mini{font-size:var(--fs-sm);text-align:center;line-height:1.6;}

#purpose-body .sit-q{grid-template-columns:1fr;gap:var(--sp-3);margin-bottom:var(--sp-3);}
#purpose-body .sit-q .qq{font-size:var(--fs-base);padding-top:10px;}
#purpose-body .sit-q .aa{font-size:var(--fs-sm);margin-top:6px;}

#purpose-body .style-grid{grid-template-columns:1fr;gap:var(--sp-3);}
  #purpose-body .style-flow .flow-pc{display:none;}
  #purpose-body .style-flow .flow-sp{display:block;}
#purpose-body .style-def{padding:18px 16px;}
#purpose-body .style-def h3{font-size:var(--fs-lg);}
#purpose-body .style-def p{font-size:var(--fs-sm);line-height:1.9;}
#purpose-body .style-def .src{font-size:var(--fs-xs);margin-top:10px;}
#purpose-body .mgroup + .mgroup{margin-top:var(--sp-3);}
#purpose-body .mhead{font-size:var(--fs-sm);padding:5px 11px;margin-bottom:var(--sp-2);}
#purpose-body .mitem + .mitem{margin-top:var(--sp-2);}
#purpose-body .mitem b{font-size:var(--fs-base);}
#purpose-body .mitem span{font-size:var(--fs-sm);line-height:1.9;}
#purpose-body .style-more{margin-top:var(--sp-3);padding:10px 0;}


#purpose-body .ax-grid{grid-template-columns:1fr;}
#purpose-body .ax{padding:16px;}
#purpose-body .ax .num{font-size:var(--fs-xs);}
#purpose-body .ax h4{font-size:var(--fs-base);margin:4px 0 3px;}
#purpose-body .ax p{font-size:var(--fs-sm);line-height:1.7;}
#purpose-body .ax .path{font-size:var(--fs-xs);margin-top:7px;}

#purpose-body .consult-main{grid-template-columns:1fr;gap:var(--sp-3);margin-bottom:var(--sp-3);}
#purpose-body .consult-fig{order:-1;}
#purpose-body .consult h2{font-size:var(--fs-2xl);line-height:1.6;}
#purpose-body .consult h2 br{display:none;}
#purpose-body .consult p{font-size:var(--fs-sm);line-height:1.95;margin-bottom:var(--sp-3);}
#purpose-body .consult .btns{flex-direction:column;gap:var(--sp-1);}
#purpose-body .consult .btns .btn{width:100%;padding:15px 0;}
#purpose-body .support3{padding:16px 16px;}
#purpose-body .support3 .h{font-size:var(--fs-sm);margin-bottom:10px;}
#purpose-body .support3 li{font-size:var(--fs-sm);line-height:1.7;}

#purpose-body .faq-q{font-size:17px;padding:12px 44px 12px 34px;min-height:52px;
    background:linear-gradient(var(--gray),var(--gray)) no-repeat right 15px center / 19px 3px, var(--cream2);}
#purpose-body .faq-q::before{left:12px;top:12px;}
#purpose-body .faq-q::after{right:15px;width:19px;}
#purpose-body .faq-a .in{padding:19px 20px 19px 44px;font-size:13px;line-height:1.78em;}
#purpose-body .faq-a .in::before{left:20px;top:19px;font-size:15px;}
#purpose-body .faq-src{font-size:var(--fs-xs);margin-top:12px;}

#purpose-body .col-grid{grid-template-columns:1fr;gap:var(--sp-2);}
#purpose-body .col-grid .col:last-child{grid-column:auto;}
#purpose-body .col-in{padding:14px 16px 16px;}
#purpose-body .col .cat{font-size:var(--fs-sm);}
#purpose-body .col h4{font-size:var(--fs-base);margin:0 0 7px;}
#purpose-body .col .path{font-size:var(--fs-xs);}
#purpose-body .col:hover{transform:none;}
#purpose-body .col-more{margin-top:var(--sp-3);}
#purpose-body .col-more .btn{width:100%;}

#purpose-body .cv{padding:var(--sp-4) 20px;background:var(--cream2);}
#purpose-body .cv-inner{border-radius:var(--r-card);padding:24px 20px;background:#fff;}
#purpose-body .cv h2{font-size:var(--fs-hero);line-height:1.58;}
#purpose-body .cv p{font-size:var(--fs-base);line-height:var(--lh-base);margin-bottom:var(--sp-3);}
#purpose-body .cv .btn-dark{width:100%;padding:14px 0;}

}

@media (max-width:430px){
:root{--fs-xs:11px;  --fs-sm:13px;   --fs-cap:14px; --fs-base:14px;
        --fs-lg:17px;   --fs-xl:17px;  --fs-2xl:22px; --fs-3xl:22px; --fs-hero:22px;
        --lh-base:22px; --lh-lg:24px;  --lh-3xl:32px; --lh-2xl:34px; --lh-hero:32px;
        --sp-1:6px;--sp-2:10px;--sp-3:16px;--sp-4:28px;}
#purpose-body .inner{padding:0 16px;}
#purpose-body section{padding:var(--sp-4) 16px;}
#purpose-body .secnav-inner{padding:0 12px;}
#purpose-body .hero h1{font-size:var(--fs-hero);line-height:1.58;}
#purpose-body .hero h1 br{display:none;}
#purpose-body .pf-acc-head{padding:13px 34px 13px 10px;}
#purpose-body .pf-panel{padding:0 10px 18px;}

#purpose-body .bar-grid{grid-template-columns:1fr;}

#purpose-body .cv h2 br{display:none;}
}

@media (min-width:1400px){
#purpose-body .inner{max-width:1180px;}
}

:root{ --hd-h:145px; }



#purpose-body .secnav{ top:var(--hd-h); }
#purpose-body section[id]{ scroll-margin-top:calc(var(--hd-h) + var(--nav-h) + 12px); }

@media (max-width:768px){

  #purpose-body .secnav{ top:0; }
  #purpose-body section[id]{ scroll-margin-top:calc(var(--nav-h) + 12px); }

  #purpose-body .totop{ display:none; }

}


/* 静的DOMによるPCカード／SPアコーディオン切替 */
#purpose-body .pf-items{display:block;}
#purpose-body .pf-acc-head{display:none;}
#purpose-body .pf-panel{display:none;}
#purpose-body .pf-panel.is-active{display:block;}
@media(max-width:768px){
  #purpose-body .secnav{top:0;}
  #purpose-body section[id]{scroll-margin-top:calc(var(--nav-h) + 12px);}
  #purpose-body .pf-cards{display:none;}
  #purpose-body .pf-acc-head{display:grid;}
  #purpose-body .pf-item{border-bottom:1px solid #e0e0e0;}
  #purpose-body .pf-item:first-child{border-top:2px solid var(--ink);}
  #purpose-body .pf-panel.is-active{display:none;}
  #purpose-body .pf-panel.is-open{display:block;}
  #purpose-body .totop{display:none;}
}
