.parts231_breadcrumb.p-breadcrumb.c-breadcrumb.f_yugothic{display:none !important;}
*{box-sizing:border-box;}
  [data-role-grid],[data-method-grid],[data-where-grid],[data-sign-grid],[data-strength-grid],[data-dr-grid],[data-num-grid],[data-charm-grid],[data-career],[data-value-grid],[data-sdgs-grid],[data-cert-grid],[data-flow-grid]{grid-auto-rows:1fr;}
  html{scroll-behavior:smooth;}
  body{margin:0;background:#fff;color:#1F2D22;font-family:'Noto Sans JP',sans-serif;-webkit-font-smoothing:antialiased;}
  a{color:inherit;text-decoration:none;}
  image-slot{display:block;}
  .rv,.rvl,.rvr{opacity:0;transition:opacity .95s cubic-bezier(.16,1,.3,1),transform .95s cubic-bezier(.16,1,.3,1);}
  .rv{transform:translateY(44px);}.rvl{transform:translateX(-52px);}.rvr{transform:translateX(52px);}
  .rv.show,.rvl.show,.rvr.show{opacity:1;transform:none;}
  .d1{transition-delay:.1s;}.d2{transition-delay:.2s;}.d3{transition-delay:.32s;}.d4{transition-delay:.46s;}.d5{transition-delay:.62s;}
  /* card scale-fade */
  .rv-scale{opacity:0;transform:scale(.94) translateY(24px);transition:opacity .85s cubic-bezier(.16,1,.3,1),transform .85s cubic-bezier(.16,1,.3,1);}
  .rv-scale.show{opacity:1;transform:none;}
  /* OUR WORK: diagonal wipe transition ④ */
  [data-biz-img]{transition:opacity .4s ease,visibility .4s;}
  [data-biz-img].biz-exit{animation:bizOut .6s .3s ease forwards;}
  [data-biz-img].biz-enter{animation:bizIn .9s cubic-bezier(.77,0,.175,1) forwards;}
  @keyframes bizIn{0%{clip-path:polygon(100% 0,100% 0,100% 100%,100% 100%);}100%{clip-path:polygon(0 0,100% 0,100% 100%,0 100%);}}
  @keyframes bizOut{0%{opacity:1;}100%{opacity:0;}}
  /* progress bar */
  [data-biz-progress]{transform-origin:left;animation:none;}
  @keyframes bizProgress{from{transform:scaleX(0);}to{transform:scaleX(1);}}
  /* OUR WORK panel text: fade-slide in/out */
  .biz-panel-in{animation:bizTxtIn .55s cubic-bezier(.16,1,.3,1) forwards;}
  .biz-panel-out{animation:bizTxtOut .3s ease forwards;}
  @keyframes bizTxtIn{0%{opacity:0;transform:translateY(18px);}100%{opacity:1;transform:none;}}
  @keyframes bizTxtOut{0%{opacity:1;transform:none;}100%{opacity:0;transform:translateY(-10px);}}
  #company a:not(:active){transition:transform .55s cubic-bezier(.16,1,.3,1),box-shadow .55s cubic-bezier(.16,1,.3,1);}
  #company a:hover{transform:translateY(-6px);box-shadow:0 24px 56px rgba(20,45,34,.28);}
  .marq{display:inline-flex;white-space:nowrap;animation:marq 30s linear infinite;will-change:transform;}
  @keyframes marq{from{transform:translateX(0);}to{transform:translateX(-50%);}}
  @keyframes sdot{0%{transform:translateY(-4px);opacity:0;}30%{opacity:1;}100%{transform:translateY(24px);opacity:0;}}
  @keyframes ldraw{to{stroke-dashoffset:0;}}
  @keyframes dtravel{from{stroke-dashoffset:0;}to{stroke-dashoffset:-349;}}
  @keyframes dredraw{0%{stroke-dashoffset:350;}45%{stroke-dashoffset:0;}55%{stroke-dashoffset:0;}100%{stroke-dashoffset:-350;}}
  @keyframes dredraw2{0%{stroke-dashoffset:275;}45%{stroke-dashoffset:0;}55%{stroke-dashoffset:0;}100%{stroke-dashoffset:-275;}}
  @keyframes dredraw3{0%{stroke-dashoffset:232;}45%{stroke-dashoffset:0;}55%{stroke-dashoffset:0;}100%{stroke-dashoffset:-232;}}
  @keyframes bgdrift{from{transform:scale(1.06) translate(-1.2%,-0.8%);}to{transform:scale(1.16) translate(1.2%,0.8%);}}
  /* ── Hero entrance animations ── */
  @keyframes heroReveal{from{clip-path:inset(0 0 100% 0);}to{clip-path:inset(0 0 0% 0);}}
  @keyframes heroSlideL{from{opacity:0;transform:translateX(-48px);}to{opacity:1;transform:none;}}
  @keyframes heroSlideR{from{opacity:0;transform:translateX(48px);}to{opacity:1;transform:none;}}
  @keyframes heroUp{from{opacity:0;transform:translateY(26px);}to{opacity:1;transform:none;}}
  @keyframes heroFade{from{opacity:0;}to{opacity:1;}}
  @keyframes sqPop{0%{opacity:0;transform:scale(0) rotate(-18deg);}65%{transform:scale(1.18) rotate(4deg);opacity:1;}100%{transform:scale(1) rotate(0deg);opacity:1;}}
  @keyframes sqFloat{0%,100%{transform:none;}50%{transform:translateY(-7px);}}
  @media (max-width:840px){
    header{flex-wrap:wrap;row-gap:10px;}
    nav[data-gnav]{width:100%;justify-content:center;gap:clamp(14px,3.5vw,24px)!important;}
  }
  [data-navitem]:hover [data-dropdown],[data-navitem]:focus-within [data-dropdown]{opacity:1!important;visibility:visible!important;}
  .mnav-toggle,.mnav-btn,.mnav-panel{display:none;}
  @media(max-width:840px){
    nav[data-gnav]{display:none!important;}
    header{align-items:center!important;flex-wrap:nowrap!important;}
    [data-protect]{display:none!important;}
    header>div:first-child{min-width:0;flex:1 1 auto;}
    header>div:first-child a[href="#top"]{padding:12px 8px 12px 14px!important;gap:9px!important;min-width:0;}
    .mnav-btn{display:flex;align-items:center;justify-content:center;width:44px;height:44px;background:#0E9E55;border-radius:7px;margin:auto 12px!important;cursor:pointer;flex:none;position:relative;z-index:75;}
    .mnav-btn span{position:absolute;left:12px;right:12px;height:2px;background:#fff;transition:transform .3s ease,opacity .3s ease,top .3s ease;}
    .mnav-btn span:nth-child(1){top:15px;}.mnav-btn span:nth-child(2){top:21px;}.mnav-btn span:nth-child(3){top:27px;}
    .mnav-toggle:checked ~ .mnav-btn span:nth-child(1){top:21px;transform:rotate(45deg);}
    .mnav-toggle:checked ~ .mnav-btn span:nth-child(2){opacity:0;}
    .mnav-toggle:checked ~ .mnav-btn span:nth-child(3){top:21px;transform:rotate(-45deg);}
    .mnav-panel{display:flex;flex-direction:column;position:fixed;inset:0;background:#0E9E55;z-index:74;padding:90px 26px 40px;transform:translateX(100%);transition:transform .42s cubic-bezier(.16,1,.3,1);overflow-y:auto;}
    .mnav-toggle:checked ~ .mnav-panel{transform:none;}
    .mnav-panel a{color:#fff;font-family:'Noto Sans JP',sans-serif;font-size:16px;font-weight:700;padding:15px 4px;border-bottom:1px solid rgba(255,255,255,.12);letter-spacing:.04em;display:flex;align-items:center;justify-content:space-between;gap:12px;}
    .mnav-panel a.sub{font-size:13.5px;font-weight:500;padding-left:18px;color:rgba(255,255,255,.66);}
    .mnav-panel a em{font-family:'Josefin Sans',sans-serif;font-style:normal;font-size:10.5px;letter-spacing:.14em;color:#34C5D6;font-weight:600;}
  }
  @media (max-width:430px){
    nav[data-gnav]{gap:14px!important;}
    nav[data-gnav] a{font-size:12px!important;letter-spacing:.08em!important;}
  }
  /* タブレット：BLOG・施工実績カードを3列固定 */
  @media (min-width:641px) and (max-width:1280px){
    #works-cards,#blog-cards{grid-template-columns:repeat(3,1fr)!important;}
  }
  /* ── Tablet hero (641–1024px) ── */
  @media (min-width:641px) and (max-width:1024px){
    #hero-photo{top:clamp(108px,13vh,150px)!important;left:62px!important;right:62px!important;bottom:clamp(54px,7vh,80px)!important;}
    #hero-sq{display:none!important;}
    #top [data-hero-ghost]{font-size:clamp(72px,12vw,128px)!important;}
    #top #hero-lockup h1{font-size:clamp(20px,3.2vw,28px)!important;}
  }
  /* ── Smartphone hero (≤640px): fit all elements in first view ── */
  @media (max-width:640px){
    /* 高さ連動で常にファーストビューに収める（svh基準） */
    #hero-photo{top:clamp(58px,9svh,78px)!important;left:12px!important;right:12px!important;bottom:clamp(40px,6.5svh,62px)!important;}
    #hero-leftbox,#hero-rightcol,#hero-scroll,#hero-sq{display:none!important;}
    #top [data-hero-ghost]{font-size:clamp(34px,min(11.5vw,6.6svh),58px)!important;letter-spacing:.02em!important;margin-bottom:clamp(6px,1.4svh,12px)!important;white-space:normal!important;}
    #top #hero-lockup{left:18px!important;right:18px!important;bottom:clamp(14px,3svh,30px)!important;}
    #top #hero-lockup p{font-size:clamp(11.5px,1.9svh,14px)!important;margin-bottom:clamp(6px,1.4svh,11px)!important;letter-spacing:.06em!important;}
    #top h1{white-space:normal!important;font-size:clamp(15px,min(4.8vw,2.9svh),22px)!important;line-height:1.5!important;}
    #top [data-ha]{animation-name:heroFade!important;}
  }
  /* 低い画面（横長スマホ等）はさらに圧縮 */
  @media (max-width:640px) and (max-height:620px){
    #hero-photo{top:50px!important;bottom:34px!important;}
    #top [data-hero-ghost]{font-size:clamp(26px,8vw,38px)!important;margin-bottom:5px!important;}
    #top #hero-lockup p{margin-bottom:5px!important;}
    #top h1{font-size:clamp(12px,3.4vw,15px)!important;line-height:1.45!important;}
  }
  @media (max-width:760px){
    /* about等のリンクパネル：スマホでは縦1列 */
    #company{grid-template-columns:1fr!important;}
    #company a{aspect-ratio:16/10!important;}
    /* RECRUIT：募集職種・働く環境を縦に */
    #recruit-grid{grid-template-columns:1fr!important;}
    /* フッター情報：縦に並べる */
    #footer-grid{grid-template-columns:1fr!important;}
    /* 02 NORIMEN：スマホでは写真→見出しの順に */
    #lead2-img{order:0!important;}
    #lead2-txt{order:1!important;}
    /* OUR WORK：スマホではカルーセルを隠し、縦積みリストに */
    #work-carousel{display:none!important;}
    #work-stack{display:flex!important;}
  }
  @media (prefers-reduced-motion: reduce){
    .rv,.rvl,.rvr{opacity:1!important;transform:none!important;transition:none!important;}
    .marq{animation:none!important;}
    [data-diamond] path{animation:none!important;stroke-dashoffset:0!important;}
    [data-hero-bg]{animation:none!important;transform:scale(1.2) translateY(0)!important;}
    .rv-scale{opacity:1!important;transform:none!important;transition:none!important;}
    [data-ha]{animation:none!important;opacity:1!important;clip-path:none!important;transform:none!important;}
    [data-ha-sq]{animation:none!important;}
    html{scroll-behavior:auto;}
    #site-loader{animation:ldOut .3s ease .4s forwards!important;}
    #site-loader .ld-badge,#site-loader .ld-word,#site-loader .ld-bar span{animation:none!important;}
  }
  #site-loader{position:fixed;inset:0;z-index:9999;background:#E8F0E9;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;animation:ldOut .7s cubic-bezier(.16,1,.3,1) 1.55s forwards;}
  #site-loader .ld-badge{width:132px;height:132px;border-radius:50%;background:radial-gradient(circle at 50% 36%,#fff 0%,#eef3ee 100%);display:flex;align-items:center;justify-content:center;box-shadow:0 22px 54px rgba(0,0,0,.42),0 0 0 1px rgba(255,255,255,.08),0 0 0 7px rgba(52,197,214,.08);animation:ldPop .8s cubic-bezier(.16,1,.3,1) both;}
  #site-loader .ld-logo{height:74px;width:auto;display:block;}
  #site-loader .ld-word{display:flex;flex-direction:column;align-items:center;gap:5px;animation:ldFade .7s ease .25s both;}
  #site-loader .ld-en{font-family:'Bebas Neue',sans-serif;font-size:22px;letter-spacing:.18em;color:#1F2D22;line-height:1;}
  #site-loader .ld-jp{font-family:'Noto Sans JP',sans-serif;font-weight:700;font-size:15px;letter-spacing:.16em;color:#1F2D22;line-height:1;}
  #site-loader .ld-bar{width:140px;height:3px;background:rgba(31,45,34,.14);border-radius:2px;overflow:hidden;}
  #site-loader .ld-bar span{display:block;height:100%;width:100%;transform-origin:left;background:linear-gradient(90deg,#34C5D6,#2E7D4F);animation:ldBar 1.5s cubic-bezier(.5,0,.2,1) forwards;}
  @keyframes ldPop{0%{opacity:0;transform:scale(.6) translateY(8px);}100%{opacity:1;transform:none;}}
  @keyframes ldFade{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:none;}}
  @keyframes ldBar{from{transform:scaleX(0);}to{transform:scaleX(1);}}
  @keyframes ldOut{to{opacity:0;visibility:hidden;}}
  .preboot [data-ha],.preboot [data-ha-sq]{animation-play-state:paused!important;}

*{box-sizing:border-box;}
  [data-role-grid],[data-method-grid],[data-where-grid],[data-sign-grid],[data-strength-grid],[data-dr-grid],[data-num-grid],[data-charm-grid],[data-career],[data-value-grid],[data-sdgs-grid],[data-cert-grid],[data-flow-grid]{grid-auto-rows:1fr;}
  html{scroll-behavior:smooth;}
  body{margin:0;background:#fff;color:#1F2D22;font-family:'Noto Sans JP',sans-serif;-webkit-font-smoothing:antialiased;}
  a{color:inherit;text-decoration:none;}
  [data-navitem]:hover [data-dropdown],[data-navitem]:focus-within [data-dropdown]{opacity:1!important;visibility:visible!important;}
  .mnav-toggle,.mnav-btn,.mnav-panel{display:none;}
  @media(max-width:840px){
    nav[data-gnav]{display:none!important;}
    #footer-grid{grid-template-columns:1fr!important;}
    header{align-items:center!important;}
    [data-protect]{display:none!important;}
    .mnav-btn{display:flex;align-items:center;justify-content:center;width:44px;height:44px;background:#0E9E55;border-radius:7px;margin:auto 16px;cursor:pointer;flex:none;position:relative;z-index:75;}
    .mnav-btn span{position:absolute;left:12px;right:12px;height:2px;background:#fff;transition:transform .3s ease,opacity .3s ease,top .3s ease;}
    .mnav-btn span:nth-child(1){top:15px;}.mnav-btn span:nth-child(2){top:21px;}.mnav-btn span:nth-child(3){top:27px;}
    .mnav-toggle:checked ~ .mnav-btn span:nth-child(1){top:21px;transform:rotate(45deg);}
    .mnav-toggle:checked ~ .mnav-btn span:nth-child(2){opacity:0;}
    .mnav-toggle:checked ~ .mnav-btn span:nth-child(3){top:21px;transform:rotate(-45deg);}
    .mnav-panel{display:flex;flex-direction:column;position:fixed;inset:0;background:#0E9E55;z-index:74;padding:90px 26px 40px;transform:translateX(100%);transition:transform .42s cubic-bezier(.16,1,.3,1);overflow-y:auto;}
    .mnav-toggle:checked ~ .mnav-panel{transform:none;}
    .mnav-panel a{color:#fff;font-family:'Noto Sans JP',sans-serif;font-size:16px;font-weight:700;padding:15px 4px;border-bottom:1px solid rgba(255,255,255,.12);letter-spacing:.04em;display:flex;align-items:center;justify-content:space-between;gap:12px;}
    .mnav-panel a.sub{font-size:13.5px;font-weight:500;padding-left:18px;color:rgba(255,255,255,.66);}
    .mnav-panel a em{font-family:'Josefin Sans',sans-serif;font-style:normal;font-size:10.5px;letter-spacing:.14em;color:#34C5D6;font-weight:600;}
  }
  .rv,.rvl,.rvr,.rv-scale{opacity:0;transition:opacity .9s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1);}
  .rv{transform:translateY(40px);}.rvl{transform:translateX(-48px);}.rvr{transform:translateX(48px);}.rv-scale{transform:scale(.95) translateY(22px);}
  .rv.show,.rvl.show,.rvr.show,.rv-scale.show{opacity:1;transform:none;}
  .d1{transition-delay:.1s;}.d2{transition-delay:.2s;}.d3{transition-delay:.3s;}.d4{transition-delay:.42s;}
  @keyframes subheroZoom{from{transform:scale(1.12);}to{transform:scale(1.2);}}
  @media (prefers-reduced-motion:reduce){
    .rv,.rvl,.rvr,.rv-scale{opacity:1!important;transform:none!important;transition:none!important;}
    [data-subhero-bg]{animation:none!important;transform:scale(1.12)!important;}
    html{scroll-behavior:auto;}
  }
  @media (max-width:840px){
    [data-gnav]{display:none!important;}
    [data-worklist]{grid-template-columns:1fr 1fr!important;}
    [data-dr-grid]{grid-template-columns:1fr!important;}
    [data-strength-grid]{grid-template-columns:1fr 1fr!important;}
    [data-flow-grid]{grid-template-columns:1fr!important;}
    [data-rel-grid]{grid-template-columns:1fr!important;}
  }
  @media (max-width:520px){
    [data-strength-grid]{grid-template-columns:1fr!important;}
    [data-worklist]{grid-template-columns:1fr!important;}
  }

*{box-sizing:border-box;}
  [data-role-grid],[data-method-grid],[data-where-grid],[data-sign-grid],[data-strength-grid],[data-dr-grid],[data-num-grid],[data-charm-grid],[data-career],[data-value-grid],[data-sdgs-grid],[data-cert-grid],[data-flow-grid]{grid-auto-rows:1fr;}
  html{scroll-behavior:smooth;}
  body{margin:0;background:#fff;color:#1F2D22;font-family:'Noto Sans JP',sans-serif;-webkit-font-smoothing:antialiased;}
  a{color:inherit;text-decoration:none;}
  [data-navitem]:hover [data-dropdown],[data-navitem]:focus-within [data-dropdown]{opacity:1!important;visibility:visible!important;}
  .mnav-toggle,.mnav-btn,.mnav-panel{display:none;}
  @media(max-width:840px){
    nav[data-gnav]{display:none!important;}
    #footer-grid{grid-template-columns:1fr!important;}
    header{align-items:center!important;}
    [data-protect]{display:none!important;}
    .mnav-btn{display:flex;align-items:center;justify-content:center;width:44px;height:44px;background:#0E9E55;border-radius:7px;margin:auto 16px;cursor:pointer;flex:none;position:relative;z-index:75;}
    .mnav-btn span{position:absolute;left:12px;right:12px;height:2px;background:#fff;transition:transform .3s ease,opacity .3s ease,top .3s ease;}
    .mnav-btn span:nth-child(1){top:15px;}.mnav-btn span:nth-child(2){top:21px;}.mnav-btn span:nth-child(3){top:27px;}
    .mnav-toggle:checked ~ .mnav-btn span:nth-child(1){top:21px;transform:rotate(45deg);}
    .mnav-toggle:checked ~ .mnav-btn span:nth-child(2){opacity:0;}
    .mnav-toggle:checked ~ .mnav-btn span:nth-child(3){top:21px;transform:rotate(-45deg);}
    .mnav-panel{display:flex;flex-direction:column;position:fixed;inset:0;background:#0E9E55;z-index:74;padding:90px 26px 40px;transform:translateX(100%);transition:transform .42s cubic-bezier(.16,1,.3,1);overflow-y:auto;}
    .mnav-toggle:checked ~ .mnav-panel{transform:none;}
    .mnav-panel a{color:#fff;font-family:'Noto Sans JP',sans-serif;font-size:16px;font-weight:700;padding:15px 4px;border-bottom:1px solid rgba(255,255,255,.12);letter-spacing:.04em;display:flex;align-items:center;justify-content:space-between;gap:12px;}
    .mnav-panel a.sub{font-size:13.5px;font-weight:500;padding-left:18px;color:rgba(255,255,255,.66);}
    .mnav-panel a em{font-family:'Josefin Sans',sans-serif;font-style:normal;font-size:10.5px;letter-spacing:.14em;color:#34C5D6;font-weight:600;}
  }
  .rv,.rvl,.rvr,.rv-scale{opacity:0;transition:opacity .9s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1);}
  .rv{transform:translateY(40px);}.rvl{transform:translateX(-48px);}.rvr{transform:translateX(48px);}.rv-scale{transform:scale(.95) translateY(22px);}
  .rv.show,.rvl.show,.rvr.show,.rv-scale.show{opacity:1;transform:none;}
  .d1{transition-delay:.1s;}.d2{transition-delay:.2s;}.d3{transition-delay:.3s;}.d4{transition-delay:.42s;}
  @keyframes subheroZoom{from{transform:scale(1.12);}to{transform:scale(1.2);}}
  @media (prefers-reduced-motion:reduce){
    .rv,.rvl,.rvr,.rv-scale{opacity:1!important;transform:none!important;transition:none!important;}
    [data-subhero-bg]{animation:none!important;transform:scale(1.12)!important;}
    html{scroll-behavior:auto;}
  }
  @media (max-width:840px){
    [data-gnav]{display:none!important;}
    [data-role-grid]{grid-template-columns:1fr!important;}
    [data-method-grid]{grid-template-columns:1fr 1fr!important;}
    [data-where-grid]{grid-template-columns:1fr 1fr!important;}
    [data-sign-grid]{grid-template-columns:1fr!important;}
    [data-rel-grid]{grid-template-columns:1fr!important;}
  }
  @media (max-width:560px){
    [data-method-grid]{grid-template-columns:1fr!important;}
    [data-where-grid]{grid-template-columns:1fr!important;}
  }

*{box-sizing:border-box;}
  [data-role-grid],[data-method-grid],[data-where-grid],[data-sign-grid],[data-strength-grid],[data-dr-grid],[data-num-grid],[data-charm-grid],[data-career],[data-value-grid],[data-sdgs-grid],[data-cert-grid],[data-flow-grid]{grid-auto-rows:1fr;}
  html{scroll-behavior:smooth;}
  body{margin:0;background:#fff;color:#1F2D22;font-family:'Noto Sans JP',sans-serif;-webkit-font-smoothing:antialiased;}
  a{color:inherit;text-decoration:none;}
  .rv{opacity:0;transform:translateY(40px);transition:opacity .9s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1);}
  .rv.show{opacity:1;transform:none;}
  .d1{transition-delay:.1s;}.d2{transition-delay:.2s;}
  @keyframes subheroZoom{from{transform:scale(1.12);}to{transform:scale(1.2);}}
  [data-navitem]:hover [data-dropdown],[data-navitem]:focus-within [data-dropdown]{opacity:1!important;visibility:visible!important;}
  .mnav-toggle,.mnav-btn,.mnav-panel{display:none;}
  @media(max-width:840px){
    nav[data-gnav]{display:none!important;}
    #footer-grid{grid-template-columns:1fr!important;}
    header{align-items:center!important;}
    [data-protect]{display:none!important;}
    .mnav-btn{display:flex;align-items:center;justify-content:center;width:44px;height:44px;background:#0E9E55;border-radius:7px;margin:auto 16px;cursor:pointer;flex:none;position:relative;z-index:75;}
    .mnav-btn span{position:absolute;left:12px;right:12px;height:2px;background:#fff;transition:transform .3s ease,opacity .3s ease,top .3s ease;}
    .mnav-btn span:nth-child(1){top:15px;}.mnav-btn span:nth-child(2){top:21px;}.mnav-btn span:nth-child(3){top:27px;}
    .mnav-toggle:checked ~ .mnav-btn span:nth-child(1){top:21px;transform:rotate(45deg);}
    .mnav-toggle:checked ~ .mnav-btn span:nth-child(2){opacity:0;}
    .mnav-toggle:checked ~ .mnav-btn span:nth-child(3){top:21px;transform:rotate(-45deg);}
    .mnav-panel{display:flex;flex-direction:column;position:fixed;inset:0;background:#0E9E55;z-index:74;padding:90px 26px 40px;transform:translateX(100%);transition:transform .42s cubic-bezier(.16,1,.3,1);overflow-y:auto;}
    .mnav-toggle:checked ~ .mnav-panel{transform:none;}
    .mnav-panel a{color:#fff;font-family:'Noto Sans JP',sans-serif;font-size:16px;font-weight:700;padding:15px 4px;border-bottom:1px solid rgba(255,255,255,.12);letter-spacing:.04em;display:flex;align-items:center;justify-content:space-between;gap:12px;}
    .mnav-panel a.sub{font-size:13.5px;font-weight:500;padding-left:18px;color:rgba(255,255,255,.66);}
    .mnav-panel a em{font-family:'Josefin Sans',sans-serif;font-style:normal;font-size:10.5px;letter-spacing:.14em;color:#34C5D6;font-weight:600;}
  }

  /* ===== add.css : parts228 施工実績一覧（実在クラスを上書き・見た目のみ） ===== */
  .parts228_section{max-width:1200px;margin:0 auto;padding:clamp(40px,6vh,72px) clamp(24px,5vw,40px) clamp(64px,9vh,110px);}
  .parts228_wrap,.parts228_main{width:100%;}
  .parts228_post_list{display:grid;grid-template-columns:1fr 1fr 1fr;gap:clamp(18px,2.5vw,28px);list-style:none;margin:0;padding:0;}
  .parts228_post_wrap{position:relative;background:#fff;border:1px solid #E9F0EA;border-radius:2px;overflow:hidden;transition:transform .4s ease,box-shadow .4s ease;}
  .parts228_post_wrap:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(20,45,34,.12);}
  .parts228_post_img{position:relative;display:block;aspect-ratio:4/3;overflow:hidden;background:#dfe6e0;margin:0;}
  .parts228_post_img a{display:block;width:100%;height:100%;}
  .parts228_post_img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s ease;}
  .parts228_post_wrap:hover .parts228_post_img img{transform:scale(1.05);}
  .parts228_post_status{display:flex;align-items:center;gap:12px;padding:18px 20px 0;}
  .parts228_post_date{font-family:'Josefin Sans',sans-serif;font-weight:600;font-size:11px;letter-spacing:.1em;color:#2E7D4F;}
  .parts-blog-ex-tag_wrap{display:flex;flex-wrap:wrap;gap:6px;padding:12px 20px 0;}
  .parts-blog-ex_tag{font-family:'Noto Sans JP',sans-serif;font-size:10.5px;letter-spacing:.04em;color:#557;background:#F4F7F4;border:1px solid #E2EAE3;padding:3px 10px;border-radius:1px;}
  .parts228_post_title-excerpt{padding:8px 20px 22px;}
  .parts228_post_title{font-size:15px;font-weight:700;color:#1F2D22;line-height:1.6;letter-spacing:.02em;margin:0;}
  .parts228_post_excerpt{font-size:12.5px;color:#888;line-height:1.9;margin:10px 0 0;}
  .parts228_pagenation{display:flex;justify-content:center;align-items:center;gap:8px;margin-top:clamp(40px,6vh,64px);}
  .parts228_pagenation a,.parts228_pagenation span{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:40px;padding:0 12px;font-family:'Josefin Sans',sans-serif;font-weight:600;font-size:13px;color:#1F2D22;border:1px solid #E9F0EA;background:#fff;transition:background .25s ease,color .25s ease,border-color .25s ease;}
  .parts228_pagenation a:hover{border-color:#2E7D4F;color:#2E7D4F;}
  .parts228_pagenation .pagination_num.current{background:#0E9E55;color:#fff;border-color:#0E9E55;}
  .parts228_pagenation .pagination_prev,.parts228_pagenation .pagination_next{letter-spacing:.04em;}

  @media (max-width:920px){ .parts228_post_list{grid-template-columns:1fr 1fr;} }
  @media (max-width:560px){ .parts228_post_list{grid-template-columns:1fr;} }
  @media (prefers-reduced-motion:reduce){
    .rv{opacity:1!important;transform:none!important;transition:none!important;}
    [data-subhero-bg]{animation:none!important;transform:scale(1.12)!important;}
    html{scroll-behavior:auto;}
  }
  @media (max-width:840px){ [data-gnav]{display:none!important;} }

*{box-sizing:border-box;}
  [data-role-grid],[data-method-grid],[data-where-grid],[data-sign-grid],[data-strength-grid],[data-dr-grid],[data-num-grid],[data-charm-grid],[data-career],[data-value-grid],[data-sdgs-grid],[data-cert-grid],[data-flow-grid]{grid-auto-rows:1fr;}
  html{scroll-behavior:smooth;}
  body{margin:0;background:#fff;color:#1F2D22;font-family:'Noto Sans JP',sans-serif;-webkit-font-smoothing:antialiased;}
  a{color:inherit;text-decoration:none;}
  [data-navitem]:hover [data-dropdown],[data-navitem]:focus-within [data-dropdown]{opacity:1!important;visibility:visible!important;}
  .mnav-toggle,.mnav-btn,.mnav-panel{display:none;}
  @media(max-width:840px){
    nav[data-gnav]{display:none!important;}
    #footer-grid{grid-template-columns:1fr!important;}
    header{align-items:center!important;}
    [data-protect]{display:none!important;}
    .mnav-btn{display:flex;align-items:center;justify-content:center;width:44px;height:44px;background:#0E9E55;border-radius:7px;margin:auto 16px;cursor:pointer;flex:none;position:relative;z-index:75;}
    .mnav-btn span{position:absolute;left:12px;right:12px;height:2px;background:#fff;transition:transform .3s ease,opacity .3s ease,top .3s ease;}
    .mnav-btn span:nth-child(1){top:15px;}.mnav-btn span:nth-child(2){top:21px;}.mnav-btn span:nth-child(3){top:27px;}
    .mnav-toggle:checked ~ .mnav-btn span:nth-child(1){top:21px;transform:rotate(45deg);}
    .mnav-toggle:checked ~ .mnav-btn span:nth-child(2){opacity:0;}
    .mnav-toggle:checked ~ .mnav-btn span:nth-child(3){top:21px;transform:rotate(-45deg);}
    .mnav-panel{display:flex;flex-direction:column;position:fixed;inset:0;background:#0E9E55;z-index:74;padding:90px 26px 40px;transform:translateX(100%);transition:transform .42s cubic-bezier(.16,1,.3,1);overflow-y:auto;}
    .mnav-toggle:checked ~ .mnav-panel{transform:none;}
    .mnav-panel a{color:#fff;font-family:'Noto Sans JP',sans-serif;font-size:16px;font-weight:700;padding:15px 4px;border-bottom:1px solid rgba(255,255,255,.12);letter-spacing:.04em;display:flex;align-items:center;justify-content:space-between;gap:12px;}
    .mnav-panel a.sub{font-size:13.5px;font-weight:500;padding-left:18px;color:rgba(255,255,255,.66);}
    .mnav-panel a em{font-family:'Josefin Sans',sans-serif;font-style:normal;font-size:10.5px;letter-spacing:.14em;color:#34C5D6;font-weight:600;}
  }
  .rv,.rvl,.rvr,.rv-scale{opacity:0;transition:opacity .9s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1);}
  .rv{transform:translateY(40px);}.rvl{transform:translateX(-48px);}.rvr{transform:translateX(48px);}.rv-scale{transform:scale(.95) translateY(22px);}
  .rv.show,.rvl.show,.rvr.show,.rv-scale.show{opacity:1;transform:none;}
  .d1{transition-delay:.1s;}.d2{transition-delay:.2s;}.d3{transition-delay:.3s;}.d4{transition-delay:.42s;}
  @keyframes subheroZoom{from{transform:scale(1.12);}to{transform:scale(1.2);}}
  @media (prefers-reduced-motion:reduce){
    .rv,.rvl,.rvr,.rv-scale{opacity:1!important;transform:none!important;transition:none!important;}
    [data-subhero-bg]{animation:none!important;transform:scale(1.12)!important;}
    html{scroll-behavior:auto;}
  }
  @media (max-width:840px){
    [data-gnav]{display:none!important;}
    [data-charm-grid]{grid-template-columns:1fr 1fr!important;}
    [data-num-grid]{grid-template-columns:1fr 1fr!important;}
    [data-sub-nav]{grid-template-columns:1fr!important;}
  }
  @media (max-width:560px){
    [data-charm-grid]{grid-template-columns:1fr!important;}
    [data-num-grid]{grid-template-columns:1fr!important;}
  }
  [data-career]{display:grid;grid-template-columns:1fr 1fr 1fr;gap:clamp(14px,2vw,20px);align-items:stretch;}
  @media (max-width:780px){
    [data-career]{grid-template-columns:1fr!important;}
  }
  @media (max-width:560px){
    [data-qual-row]{flex-direction:column!important;align-items:flex-start!important;gap:8px!important;}
    [data-qual-row] [data-qual-amt]{text-align:left!important;}
  }
  [data-navcard]{transition:transform .45s cubic-bezier(.16,1,.3,1),box-shadow .45s ease;}
  [data-navcard]:hover{transform:translateY(-6px);box-shadow:0 24px 54px rgba(15,28,21,.32);}
  [data-navcard]:hover [data-navcard-bg]{transform:scale(1.07);}
  [data-navcard]:hover [data-navcard-btn]{background:#34C5D6;color:#0f2a23;box-shadow:0 10px 26px rgba(52,197,214,.5);}
  [data-navcard]:hover [data-navcard-arrow]{transform:translateX(7px);}
  [data-navcard]:focus-visible{outline:3px solid #34C5D6;outline-offset:4px;}
  @media (prefers-reduced-motion:reduce){
    [data-navcard]:hover,[data-navcard]:hover [data-navcard-bg],[data-navcard]:hover [data-navcard-arrow]{transform:none!important;}
  }

*{box-sizing:border-box;}
  @media(max-width:640px){[data-atmos]{grid-template-columns:1fr 1fr!important;grid-template-rows:auto!important;}[data-atmos]>div{aspect-ratio:1!important;}[data-atmos]>div:first-child{grid-row:auto!important;}}
  [data-role-grid],[data-method-grid],[data-where-grid],[data-sign-grid],[data-strength-grid],[data-dr-grid],[data-num-grid],[data-charm-grid],[data-career],[data-value-grid],[data-sdgs-grid],[data-cert-grid],[data-flow-grid]{grid-auto-rows:1fr;}
  html{scroll-behavior:smooth;}
  body{margin:0;background:#fff;color:#1F2D22;font-family:'Noto Sans JP',sans-serif;-webkit-font-smoothing:antialiased;}
  a{color:inherit;text-decoration:none;}
  [data-navitem]:hover [data-dropdown],[data-navitem]:focus-within [data-dropdown]{opacity:1!important;visibility:visible!important;}
  .mnav-toggle,.mnav-btn,.mnav-panel{display:none;}
  @media(max-width:840px){
    nav[data-gnav]{display:none!important;}
    #footer-grid{grid-template-columns:1fr!important;}
    header{align-items:center!important;}
    [data-protect]{display:none!important;}
    .mnav-btn{display:flex;align-items:center;justify-content:center;width:44px;height:44px;background:#0E9E55;border-radius:7px;margin:auto 16px;cursor:pointer;flex:none;position:relative;z-index:75;}
    .mnav-btn span{position:absolute;left:12px;right:12px;height:2px;background:#fff;transition:transform .3s ease,opacity .3s ease,top .3s ease;}
    .mnav-btn span:nth-child(1){top:15px;}.mnav-btn span:nth-child(2){top:21px;}.mnav-btn span:nth-child(3){top:27px;}
    .mnav-toggle:checked ~ .mnav-btn span:nth-child(1){top:21px;transform:rotate(45deg);}
    .mnav-toggle:checked ~ .mnav-btn span:nth-child(2){opacity:0;}
    .mnav-toggle:checked ~ .mnav-btn span:nth-child(3){top:21px;transform:rotate(-45deg);}
    .mnav-panel{display:flex;flex-direction:column;position:fixed;inset:0;background:#0E9E55;z-index:74;padding:90px 26px 40px;transform:translateX(100%);transition:transform .42s cubic-bezier(.16,1,.3,1);overflow-y:auto;}
    .mnav-toggle:checked ~ .mnav-panel{transform:none;}
    .mnav-panel a{color:#fff;font-family:'Noto Sans JP',sans-serif;font-size:16px;font-weight:700;padding:15px 4px;border-bottom:1px solid rgba(255,255,255,.12);letter-spacing:.04em;display:flex;align-items:center;justify-content:space-between;gap:12px;}
    .mnav-panel a.sub{font-size:13.5px;font-weight:500;padding-left:18px;color:rgba(255,255,255,.66);}
    .mnav-panel a em{font-family:'Josefin Sans',sans-serif;font-style:normal;font-size:10.5px;letter-spacing:.14em;color:#34C5D6;font-weight:600;}
  }
  .rv,.rvl,.rvr,.rv-scale{opacity:0;transition:opacity .9s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1);}
  .rv{transform:translateY(40px);}.rvl{transform:translateX(-48px);}.rvr{transform:translateX(48px);}.rv-scale{transform:scale(.95) translateY(22px);}
  .rv.show,.rvl.show,.rvr.show,.rv-scale.show{opacity:1;transform:none;}
  .d1{transition-delay:.1s;}.d2{transition-delay:.2s;}.d3{transition-delay:.3s;}
  @keyframes subheroZoom{from{transform:scale(1.12);}to{transform:scale(1.2);}}
  @media (prefers-reduced-motion:reduce){
    .rv,.rvl,.rvr,.rv-scale{opacity:1!important;transform:none!important;transition:none!important;}
    [data-subhero-bg]{animation:none!important;transform:scale(1.12)!important;}
    html{scroll-behavior:auto;}
  }
  @media (max-width:840px){
    [data-gnav]{display:none!important;}
  }
  [data-interview]{display:flex;gap:clamp(24px,4vw,56px);align-items:center;}
  [data-iv-media]{flex:none;width:clamp(210px,30vw,320px);}
  @media (max-width:760px){
    [data-interview]{flex-direction:column!important;align-items:stretch!important;gap:22px;}
    [data-iv-media]{width:min(248px,68vw);align-self:center;}
  }
  span.line-chunk{display:inline-block;overflow-wrap:anywhere;word-break:normal;}
  [data-reqcta]:hover [data-reqbtn]{transform:translateY(-3px);background:#46d3e3;box-shadow:0 16px 42px rgba(52,197,214,.5);}
  [data-reqcta]:hover [data-reqarrow]{transform:translateX(7px);}
  [data-reqcta]:focus-visible{outline:3px solid #34C5D6;outline-offset:6px;}

*{box-sizing:border-box;}
  [data-role-grid],[data-method-grid],[data-where-grid],[data-sign-grid],[data-strength-grid],[data-dr-grid],[data-num-grid],[data-charm-grid],[data-career],[data-value-grid],[data-sdgs-grid],[data-cert-grid],[data-flow-grid]{grid-auto-rows:1fr;}
  html{scroll-behavior:smooth;}
  body{margin:0;background:#fff;color:#1F2D22;font-family:'Noto Sans JP',sans-serif;-webkit-font-smoothing:antialiased;}
  a{color:inherit;text-decoration:none;}
  [data-navitem]:hover [data-dropdown],[data-navitem]:focus-within [data-dropdown]{opacity:1!important;visibility:visible!important;}
  .mnav-toggle,.mnav-btn,.mnav-panel{display:none;}
  @media(max-width:840px){
    nav[data-gnav]{display:none!important;}
    #footer-grid{grid-template-columns:1fr!important;}
    header{align-items:center!important;}
    [data-protect]{display:none!important;}
    .mnav-btn{display:flex;align-items:center;justify-content:center;width:44px;height:44px;background:#0E9E55;border-radius:7px;margin:auto 16px;cursor:pointer;flex:none;position:relative;z-index:75;}
    .mnav-btn span{position:absolute;left:12px;right:12px;height:2px;background:#fff;transition:transform .3s ease,opacity .3s ease,top .3s ease;}
    .mnav-btn span:nth-child(1){top:15px;}.mnav-btn span:nth-child(2){top:21px;}.mnav-btn span:nth-child(3){top:27px;}
    .mnav-toggle:checked ~ .mnav-btn span:nth-child(1){top:21px;transform:rotate(45deg);}
    .mnav-toggle:checked ~ .mnav-btn span:nth-child(2){opacity:0;}
    .mnav-toggle:checked ~ .mnav-btn span:nth-child(3){top:21px;transform:rotate(-45deg);}
    .mnav-panel{display:flex;flex-direction:column;position:fixed;inset:0;background:#0E9E55;z-index:74;padding:90px 26px 40px;transform:translateX(100%);transition:transform .42s cubic-bezier(.16,1,.3,1);overflow-y:auto;}
    .mnav-toggle:checked ~ .mnav-panel{transform:none;}
    .mnav-panel a{color:#fff;font-family:'Noto Sans JP',sans-serif;font-size:16px;font-weight:700;padding:15px 4px;border-bottom:1px solid rgba(255,255,255,.12);letter-spacing:.04em;display:flex;align-items:center;justify-content:space-between;gap:12px;}
    .mnav-panel a.sub{font-size:13.5px;font-weight:500;padding-left:18px;color:rgba(255,255,255,.66);}
    .mnav-panel a em{font-family:'Josefin Sans',sans-serif;font-style:normal;font-size:10.5px;letter-spacing:.14em;color:#34C5D6;font-weight:600;}
  }
  .rv,.rvl,.rvr,.rv-scale{opacity:0;transition:opacity .9s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1);}
  .rv{transform:translateY(40px);}.rvl{transform:translateX(-48px);}.rvr{transform:translateX(48px);}.rv-scale{transform:scale(.95) translateY(22px);}
  .rv.show,.rvl.show,.rvr.show,.rv-scale.show{opacity:1;transform:none;}
  .d1{transition-delay:.1s;}.d2{transition-delay:.2s;}.d3{transition-delay:.3s;}
  @keyframes subheroZoom{from{transform:scale(1.12);}to{transform:scale(1.2);}}

  /* ===== parts219 応募フォーム（フラット・装飾枠なし／.contact_section 上書き） ===== */
  .contact_section{max-width:760px;margin:0 auto;padding:0 clamp(24px,5vw,40px);}
  .parts219_section_form,.parts219_form_wrap{width:100%;}
  .parts219_form_wrap form dl{display:flex;flex-direction:column;gap:8px;padding:18px 0;border:0;margin:0;}
  .parts219_form_wrap form dt{font-size:14px;font-weight:700;color:#1F2D22;letter-spacing:.02em;display:flex;align-items:center;gap:10px;margin:0;}
  .parts219_form_wrap form dd{margin:0;}
  .parts219_form_wrap .required{font-family:'Noto Sans JP',sans-serif;font-size:10px;font-weight:700;letter-spacing:.08em;color:#2E7D4F;border:1px solid #2E7D4F;padding:2px 8px;border-radius:1px;}
  .parts219_form_wrap .attention{display:block;font-size:11.5px;font-weight:400;color:#999;margin-top:4px;line-height:1.7;letter-spacing:0;}
  .parts219_form_wrap input[type=text],.parts219_form_wrap input[type=email],.parts219_form_wrap input[type=tel],.parts219_form_wrap textarea,.parts219_form_wrap input.zip{width:100%;font-family:'Noto Sans JP',sans-serif;font-size:15px;color:#1F2D22;background:#fff;border:1px solid #d2dcd5;border-radius:0;padding:13px 14px;outline:none;transition:border-color .25s ease;}
  .parts219_form_wrap input:focus,.parts219_form_wrap textarea:focus{border-color:#2E7D4F;}
  .parts219_form_wrap input::placeholder,.parts219_form_wrap textarea::placeholder{color:#b3bdb6;}
  .parts219_form_wrap textarea{min-height:160px;resize:vertical;line-height:1.8;}
  .parts219_form_wrap input[type=file]{font-size:13px;color:#555;}
  .parts219_form_wrap dl.form_address dd{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
  .parts219_form_wrap dl.form_address .zip{max-width:160px;}
  .parts219_form_wrap .error{font-size:12px;color:#c0392b;margin:6px 0 0;}
  .parts219_form_wrap .contact_submit{margin-top:14px;text-align:center;}
  .parts219_section_form .parts219_form_wrap .contact_submit{width:auto!important;} /* theme_default の width:301px を打ち消し */
  .parts219_form_wrap .contact_submit input{font-family:'Noto Sans JP',sans-serif;font-size:15px;font-weight:700;letter-spacing:.08em;color:#fff;background:#0E9E55;border:0;padding:16px 56px;cursor:pointer;transition:background .3s ease;border-radius:0;}
  .parts219_form_wrap .contact_submit input:hover{background:#0E9E55;}

  [data-reqtable] dl{display:flex;gap:clamp(14px,3vw,32px);padding:18px 0;border-bottom:1px solid #E9F0EA;margin:0;}
  [data-reqtable] dl:last-child{border-bottom:0;}
  [data-reqtable] dt{flex:none;width:clamp(104px,15vw,160px);font-size:15.5px;font-weight:700;color:#2E7D4F;letter-spacing:.04em;margin:0;padding-top:2px;line-height:1.6;}
  [data-reqtable] dd{margin:0;font-size:14.5px;color:#333;line-height:1.95;flex:1;min-width:0;}
  @media (prefers-reduced-motion:reduce){
    .rv,.rvl,.rvr,.rv-scale{opacity:1!important;transform:none!important;transition:none!important;}
    [data-subhero-bg]{animation:none!important;transform:scale(1.12)!important;}
    html{scroll-behavior:auto;}
  }
  @media (max-width:840px){
    [data-gnav]{display:none!important;}
    [data-job-grid]{grid-template-columns:1fr!important;}
    [data-cert-grid]{grid-template-columns:1fr!important;}
  }
  @media (max-width:600px){
    [data-reqtable] dl{flex-direction:column;gap:8px;}
    [data-reqtable] dt{width:auto;padding-top:0;}
  }

*{box-sizing:border-box;}
  [data-role-grid],[data-method-grid],[data-where-grid],[data-sign-grid],[data-strength-grid],[data-dr-grid],[data-num-grid],[data-charm-grid],[data-career],[data-value-grid],[data-sdgs-grid],[data-cert-grid],[data-flow-grid]{grid-auto-rows:1fr;}
  html{scroll-behavior:smooth;}
  body{margin:0;background:#fff;color:#1F2D22;font-family:'Noto Sans JP',sans-serif;-webkit-font-smoothing:antialiased;}
  a{color:inherit;text-decoration:none;}
  [data-navitem]:hover [data-dropdown],[data-navitem]:focus-within [data-dropdown]{opacity:1!important;visibility:visible!important;}
  .mnav-toggle,.mnav-btn,.mnav-panel{display:none;}
  @media(max-width:840px){
    nav[data-gnav]{display:none!important;}
    #footer-grid{grid-template-columns:1fr!important;}
    header{align-items:center!important;}
    [data-protect]{display:none!important;}
    .mnav-btn{display:flex;align-items:center;justify-content:center;width:44px;height:44px;background:#0E9E55;border-radius:7px;margin:auto 16px;cursor:pointer;flex:none;position:relative;z-index:75;}
    .mnav-btn span{position:absolute;left:12px;right:12px;height:2px;background:#fff;transition:transform .3s ease,opacity .3s ease,top .3s ease;}
    .mnav-btn span:nth-child(1){top:15px;}.mnav-btn span:nth-child(2){top:21px;}.mnav-btn span:nth-child(3){top:27px;}
    .mnav-toggle:checked ~ .mnav-btn span:nth-child(1){top:21px;transform:rotate(45deg);}
    .mnav-toggle:checked ~ .mnav-btn span:nth-child(2){opacity:0;}
    .mnav-toggle:checked ~ .mnav-btn span:nth-child(3){top:21px;transform:rotate(-45deg);}
    .mnav-panel{display:flex;flex-direction:column;position:fixed;inset:0;background:#0E9E55;z-index:74;padding:90px 26px 40px;transform:translateX(100%);transition:transform .42s cubic-bezier(.16,1,.3,1);overflow-y:auto;}
    .mnav-toggle:checked ~ .mnav-panel{transform:none;}
    .mnav-panel a{color:#fff;font-family:'Noto Sans JP',sans-serif;font-size:16px;font-weight:700;padding:15px 4px;border-bottom:1px solid rgba(255,255,255,.12);letter-spacing:.04em;display:flex;align-items:center;justify-content:space-between;gap:12px;}
    .mnav-panel a.sub{font-size:13.5px;font-weight:500;padding-left:18px;color:rgba(255,255,255,.66);}
    .mnav-panel a em{font-family:'Josefin Sans',sans-serif;font-style:normal;font-size:10.5px;letter-spacing:.14em;color:#34C5D6;font-weight:600;}
  }
  .rv,.rvl,.rvr,.rv-scale{opacity:0;transition:opacity .9s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1);}
  .rv{transform:translateY(40px);}.rvl{transform:translateX(-48px);}.rvr{transform:translateX(48px);}.rv-scale{transform:scale(.95) translateY(22px);}
  .rv.show,.rvl.show,.rvr.show,.rv-scale.show{opacity:1;transform:none;}
  .d1{transition-delay:.1s;}.d2{transition-delay:.2s;}.d3{transition-delay:.3s;}.d4{transition-delay:.42s;}
  @keyframes subheroZoom{from{transform:scale(1.12);}to{transform:scale(1.2);}}
  @media (prefers-reduced-motion:reduce){
    .rv,.rvl,.rvr,.rv-scale{opacity:1!important;transform:none!important;transition:none!important;}
    [data-subhero-bg]{animation:none!important;transform:scale(1.12)!important;}
    html{scroll-behavior:auto;}
  }
  @media (max-width:840px){
    [data-gnav]{display:none!important;}
    [data-value-grid]{grid-template-columns:1fr 1fr!important;}
    [data-msg]{flex-direction:column!important;}
    [data-msg-photo]{width:100%!important;}
    [data-dragon]{flex-direction:column!important;}
    [data-sdgs-intro]{flex-direction:column!important;}
    [data-sdgs-grid]{grid-template-columns:1fr!important;}
  }
  @media (max-width:560px){
    [data-value-grid]{grid-template-columns:1fr!important;}
  }
  [data-reqcta]:hover [data-reqbtn]{transform:translateY(-3px);background:#46d3e3;box-shadow:0 16px 42px rgba(52,197,214,.5);}
  [data-reqcta]:hover [data-reqarrow]{transform:translateX(7px);}
  [data-reqcta]:focus-visible{outline:3px solid #34C5D6;outline-offset:6px;}

*{box-sizing:border-box;}
  [data-role-grid],[data-method-grid],[data-where-grid],[data-sign-grid],[data-strength-grid],[data-dr-grid],[data-num-grid],[data-charm-grid],[data-career],[data-value-grid],[data-sdgs-grid],[data-cert-grid],[data-flow-grid]{grid-auto-rows:1fr;}
  html{scroll-behavior:smooth;}
  body{margin:0;background:#fff;color:#1F2D22;font-family:'Noto Sans JP',sans-serif;-webkit-font-smoothing:antialiased;}
  a{color:inherit;text-decoration:none;}
  [data-navitem]:hover [data-dropdown],[data-navitem]:focus-within [data-dropdown]{opacity:1!important;visibility:visible!important;}
  .mnav-toggle,.mnav-btn,.mnav-panel{display:none;}
  @media(max-width:840px){
    nav[data-gnav]{display:none!important;}
    #footer-grid{grid-template-columns:1fr!important;}
    header{align-items:center!important;}
    [data-protect]{display:none!important;}
    .mnav-btn{display:flex;align-items:center;justify-content:center;width:44px;height:44px;background:#0E9E55;border-radius:7px;margin:auto 16px;cursor:pointer;flex:none;position:relative;z-index:75;}
    .mnav-btn span{position:absolute;left:12px;right:12px;height:2px;background:#fff;transition:transform .3s ease,opacity .3s ease,top .3s ease;}
    .mnav-btn span:nth-child(1){top:15px;}.mnav-btn span:nth-child(2){top:21px;}.mnav-btn span:nth-child(3){top:27px;}
    .mnav-toggle:checked ~ .mnav-btn span:nth-child(1){top:21px;transform:rotate(45deg);}
    .mnav-toggle:checked ~ .mnav-btn span:nth-child(2){opacity:0;}
    .mnav-toggle:checked ~ .mnav-btn span:nth-child(3){top:21px;transform:rotate(-45deg);}
    .mnav-panel{display:flex;flex-direction:column;position:fixed;inset:0;background:#0E9E55;z-index:74;padding:90px 26px 40px;transform:translateX(100%);transition:transform .42s cubic-bezier(.16,1,.3,1);overflow-y:auto;}
    .mnav-toggle:checked ~ .mnav-panel{transform:none;}
    .mnav-panel a{color:#fff;font-family:'Noto Sans JP',sans-serif;font-size:16px;font-weight:700;padding:15px 4px;border-bottom:1px solid rgba(255,255,255,.12);letter-spacing:.04em;display:flex;align-items:center;justify-content:space-between;gap:12px;}
    .mnav-panel a.sub{font-size:13.5px;font-weight:500;padding-left:18px;color:rgba(255,255,255,.66);}
    .mnav-panel a em{font-family:'Josefin Sans',sans-serif;font-style:normal;font-size:10.5px;letter-spacing:.14em;color:#34C5D6;font-weight:600;}
  }
  .rv,.rvl,.rvr,.rv-scale{opacity:0;transition:opacity .9s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1);}
  .rv{transform:translateY(40px);}.rvl{transform:translateX(-48px);}.rvr{transform:translateX(48px);}.rv-scale{transform:scale(.95) translateY(22px);}
  .rv.show,.rvl.show,.rvr.show,.rv-scale.show{opacity:1;transform:none;}
  .d1{transition-delay:.1s;}.d2{transition-delay:.2s;}.d3{transition-delay:.3s;}
  @keyframes subheroZoom{from{transform:scale(1.12);}to{transform:scale(1.2);}}
  @media (prefers-reduced-motion:reduce){
    .rv,.rvl,.rvr,.rv-scale{opacity:1!important;transform:none!important;transition:none!important;}
    [data-subhero-bg]{animation:none!important;transform:scale(1.12)!important;}
    html{scroll-behavior:auto;}
  }
  @media (max-width:840px){
    [data-gnav]{display:none!important;}
    [data-spec-row]{flex-direction:column!important;gap:6px!important;}
    [data-spec-row] [data-spec-label]{width:auto!important;}
    [data-cert-grid]{grid-template-columns:1fr 1fr!important;}
  }

*{box-sizing:border-box;}
  [data-role-grid],[data-method-grid],[data-where-grid],[data-sign-grid],[data-strength-grid],[data-dr-grid],[data-num-grid],[data-charm-grid],[data-career],[data-value-grid],[data-sdgs-grid],[data-cert-grid],[data-flow-grid]{grid-auto-rows:1fr;}
  html{scroll-behavior:smooth;}
  body{margin:0;background:#fff;color:#1F2D22;font-family:'Noto Sans JP',sans-serif;-webkit-font-smoothing:antialiased;}
  a{color:inherit;text-decoration:none;}
  [data-navitem]:hover [data-dropdown],[data-navitem]:focus-within [data-dropdown]{opacity:1!important;visibility:visible!important;}
  .mnav-toggle,.mnav-btn,.mnav-panel{display:none;}
  @media(max-width:840px){
    nav[data-gnav]{display:none!important;}
    #footer-grid{grid-template-columns:1fr!important;}
    header{align-items:center!important;}
    [data-protect]{display:none!important;}
    .mnav-btn{display:flex;align-items:center;justify-content:center;width:44px;height:44px;background:#0E9E55;border-radius:7px;margin:auto 16px;cursor:pointer;flex:none;position:relative;z-index:75;}
    .mnav-btn span{position:absolute;left:12px;right:12px;height:2px;background:#fff;transition:transform .3s ease,opacity .3s ease,top .3s ease;}
    .mnav-btn span:nth-child(1){top:15px;}.mnav-btn span:nth-child(2){top:21px;}.mnav-btn span:nth-child(3){top:27px;}
    .mnav-toggle:checked ~ .mnav-btn span:nth-child(1){top:21px;transform:rotate(45deg);}
    .mnav-toggle:checked ~ .mnav-btn span:nth-child(2){opacity:0;}
    .mnav-toggle:checked ~ .mnav-btn span:nth-child(3){top:21px;transform:rotate(-45deg);}
    .mnav-panel{display:flex;flex-direction:column;position:fixed;inset:0;background:#0E9E55;z-index:74;padding:90px 26px 40px;transform:translateX(100%);transition:transform .42s cubic-bezier(.16,1,.3,1);overflow-y:auto;}
    .mnav-toggle:checked ~ .mnav-panel{transform:none;}
    .mnav-panel a{color:#fff;font-family:'Noto Sans JP',sans-serif;font-size:16px;font-weight:700;padding:15px 4px;border-bottom:1px solid rgba(255,255,255,.12);letter-spacing:.04em;display:flex;align-items:center;justify-content:space-between;gap:12px;}
    .mnav-panel a.sub{font-size:13.5px;font-weight:500;padding-left:18px;color:rgba(255,255,255,.66);}
    .mnav-panel a em{font-family:'Josefin Sans',sans-serif;font-style:normal;font-size:10.5px;letter-spacing:.14em;color:#34C5D6;font-weight:600;}
  }
  .rv,.rvl,.rvr,.rv-scale{opacity:0;transition:opacity .9s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1);}
  .rv{transform:translateY(40px);}.rvl{transform:translateX(-48px);}.rvr{transform:translateX(48px);}.rv-scale{transform:scale(.95) translateY(22px);}
  .rv.show,.rvl.show,.rvr.show,.rv-scale.show{opacity:1;transform:none;}
  .d1{transition-delay:.1s;}.d2{transition-delay:.2s;}.d3{transition-delay:.3s;}
  @keyframes subheroZoom{from{transform:scale(1.12);}to{transform:scale(1.2);}}
  .faq-a{max-height:0;overflow:hidden;transition:max-height .4s ease;}
  .faq-item.open .faq-a{max-height:340px;}
  .faq-item.open .faq-toggle{transform:rotate(45deg);}
  @media (prefers-reduced-motion:reduce){
    .rv,.rvl,.rvr,.rv-scale{opacity:1!important;transform:none!important;transition:none!important;}
    [data-subhero-bg]{animation:none!important;transform:scale(1.12)!important;}
    html{scroll-behavior:auto;}
  }
  @media (max-width:840px){ [data-gnav]{display:none!important;} }

*{box-sizing:border-box;}
  [data-role-grid],[data-method-grid],[data-where-grid],[data-sign-grid],[data-strength-grid],[data-dr-grid],[data-num-grid],[data-charm-grid],[data-career],[data-value-grid],[data-sdgs-grid],[data-cert-grid],[data-flow-grid]{grid-auto-rows:1fr;}
  html{scroll-behavior:smooth;}
  body{margin:0;background:#fff;color:#1F2D22;font-family:'Noto Sans JP',sans-serif;-webkit-font-smoothing:antialiased;}
  a{color:inherit;text-decoration:none;}
  .rv{opacity:0;transform:translateY(40px);transition:opacity .9s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1);}
  .rv.show{opacity:1;transform:none;}
  .d1{transition-delay:.1s;}.d2{transition-delay:.2s;}
  @keyframes subheroZoom{from{transform:scale(1.12);}to{transform:scale(1.2);}}
  [data-navitem]:hover [data-dropdown],[data-navitem]:focus-within [data-dropdown]{opacity:1!important;visibility:visible!important;}
  .mnav-toggle,.mnav-btn,.mnav-panel{display:none;}
  @media(max-width:840px){
    nav[data-gnav]{display:none!important;}
    #footer-grid{grid-template-columns:1fr!important;}
    header{align-items:center!important;}
    [data-protect]{display:none!important;}
    .mnav-btn{display:flex;align-items:center;justify-content:center;width:44px;height:44px;background:#0E9E55;border-radius:7px;margin:auto 16px;cursor:pointer;flex:none;position:relative;z-index:75;}
    .mnav-btn span{position:absolute;left:12px;right:12px;height:2px;background:#fff;transition:transform .3s ease,opacity .3s ease,top .3s ease;}
    .mnav-btn span:nth-child(1){top:15px;}.mnav-btn span:nth-child(2){top:21px;}.mnav-btn span:nth-child(3){top:27px;}
    .mnav-toggle:checked ~ .mnav-btn span:nth-child(1){top:21px;transform:rotate(45deg);}
    .mnav-toggle:checked ~ .mnav-btn span:nth-child(2){opacity:0;}
    .mnav-toggle:checked ~ .mnav-btn span:nth-child(3){top:21px;transform:rotate(-45deg);}
    .mnav-panel{display:flex;flex-direction:column;position:fixed;inset:0;background:#0E9E55;z-index:74;padding:90px 26px 40px;transform:translateX(100%);transition:transform .42s cubic-bezier(.16,1,.3,1);overflow-y:auto;}
    .mnav-toggle:checked ~ .mnav-panel{transform:none;}
    .mnav-panel a{color:#fff;font-family:'Noto Sans JP',sans-serif;font-size:16px;font-weight:700;padding:15px 4px;border-bottom:1px solid rgba(255,255,255,.12);letter-spacing:.04em;display:flex;align-items:center;justify-content:space-between;gap:12px;}
    .mnav-panel a.sub{font-size:13.5px;font-weight:500;padding-left:18px;color:rgba(255,255,255,.66);}
    .mnav-panel a em{font-family:'Josefin Sans',sans-serif;font-style:normal;font-size:10.5px;letter-spacing:.14em;color:#34C5D6;font-weight:600;}
  }

  /* ===== add.css : parts222 ブログ一覧＋サイドバー（実在クラス上書き・見た目のみ） ===== */
  .parts222_section{max-width:1200px;margin:0 auto;padding:clamp(40px,6vh,72px) clamp(24px,5vw,40px) clamp(64px,9vh,110px);}
  .parts222_section > h2{font-family:'Noto Sans JP',sans-serif;font-weight:900;font-size:clamp(20px,2.6vw,26px);letter-spacing:.04em;color:#1F2D22;margin:0 0 clamp(28px,4vh,40px);display:flex;align-items:center;gap:14px;}
  .parts222_section > h2::before{content:"";width:3px;height:1.1em;background:linear-gradient(180deg,#34C5D6,#2E7D4F);display:inline-block;}
  .parts222_wrap{display:grid;grid-template-columns:1fr 300px;gap:clamp(28px,4vw,48px);align-items:start;}
  .parts222_main{min-width:0;}
  .parts222_post_list{display:grid;grid-template-columns:1fr 1fr;gap:clamp(18px,2.5vw,28px);list-style:none;margin:0;padding:0;}
  .parts222_post_wrap{display:block;background:#fff;border:1px solid #E9F0EA;border-radius:2px;overflow:hidden;transition:transform .4s ease,box-shadow .4s ease;}
  .parts222_post_wrap:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(20,45,34,.12);}
  .parts222_post_img{aspect-ratio:16/10;overflow:hidden;background:#dfe6e0;}
  .parts222_post_img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s ease;}
  .parts222_post_wrap:hover .parts222_post_img img{transform:scale(1.05);}
  .parts222_post_status{display:flex;align-items:center;gap:12px;padding:16px 18px 0;}
  .parts222_post_date{font-family:'Josefin Sans',sans-serif;font-weight:600;font-size:11px;letter-spacing:.1em;color:#2E7D4F;}
  .parts222_post_category{font-size:10.5px;letter-spacing:.04em;color:#557;background:#F4F7F4;border:1px solid #E2EAE3;padding:2px 10px;border-radius:1px;}
  .parts222_post_title-excerpt{padding:8px 18px 20px;}
  .parts222_post_title{font-size:15px;font-weight:700;color:#1F2D22;line-height:1.6;letter-spacing:.02em;margin:0;}
  .parts222_pagenation{display:flex;justify-content:center;align-items:center;gap:8px;margin-top:clamp(36px,5vh,56px);flex-wrap:wrap;}
  .parts222_pagenation a,.parts222_pagenation span{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:40px;padding:0 12px;font-family:'Josefin Sans',sans-serif;font-weight:600;font-size:13px;color:#1F2D22;border:1px solid #E9F0EA;background:#fff;transition:background .25s ease,color .25s ease,border-color .25s ease;}
  .parts222_pagenation a:hover{border-color:#2E7D4F;color:#2E7D4F;}
  .parts222_pagenation .pagination_num.current{background:#0E9E55;color:#fff;border-color:#0E9E55;}
  /* サイドバー */
  .parts222_sidebar{display:flex;flex-direction:column;gap:clamp(20px,3vh,32px);}
  .parts222_sidebar_wrap > h3{font-family:'Noto Sans JP',sans-serif;font-size:14px;font-weight:700;color:#1F2D22;letter-spacing:.04em;margin:0 0 14px;padding:10px 14px;background:#F4F7F4;border-left:3px solid #2E7D4F;}
  .parts222_sidebar_wrap ul{list-style:none;margin:0;padding:0;}
  .parts222_sidebar_wrap li{border-bottom:1px solid #E9F0EA;}
  .parts222_sidebar_wrap li a{display:block;padding:12px 4px;transition:background .2s ease;}
  .parts222_sidebar_wrap li a:hover{background:#FAFCFA;}
  .parts222_sidebar_date{display:block;font-family:'Josefin Sans',sans-serif;font-weight:600;font-size:10px;letter-spacing:.08em;color:#2E7D4F;margin-bottom:4px;}
  .parts222_sidebar_post_title{font-size:12.5px;color:#444;line-height:1.7;margin:0;}
  .parts222_sidebar_wrap.category_post_count li a{display:flex;align-items:center;justify-content:space-between;gap:10px;}
  .parts222_sidebar_post_category{font-size:13px;color:#444;margin:0;}
  .parts222_sidebar_post_category_count{font-family:'Josefin Sans',sans-serif;font-weight:600;font-size:11px;color:#667;border:1px solid #E2EAE3;background:#F4F7F4;padding:1px 9px;border-radius:1px;flex:none;}

  @media (max-width:920px){ .parts222_wrap{grid-template-columns:1fr;} }
  @media (max-width:560px){ .parts222_post_list{grid-template-columns:1fr;} }

  /* ===== parts222 skinkit 上書き強制（緑背景・レイアウト競合対策） ===== */
  .parts222_section{background:#fff !important;}
  .parts222_wrap{display:grid !important;grid-template-columns:1fr 300px !important;gap:clamp(28px,4vw,48px) !important;align-items:start !important;}
  .parts222_post_list{display:grid !important;grid-template-columns:1fr 1fr !important;}
  /* 文字色・背景 デザイン合わせ（skinkitのシアンを打ち消し） */
  .parts222_post_wrap a{display:block !important;background:transparent !important;color:inherit !important;text-decoration:none !important;}
  .parts222_post_status,.parts222_post_title-excerpt{background:transparent !important;}
  .parts222_post_list .parts222_post_wrap,.parts225_post_list .parts225_post_wrap{background:#fff !important;background-color:#fff !important;}
  .parts222_post_date{color:#2E7D4F !important;}
  .parts222_post_title{color:#1F2D22 !important;}
  .parts222_post_category{color:#557 !important;background:#F4F7F4 !important;border:1px solid #E2EAE3 !important;}
  /* ページャー（blade構造 span>a・skinkit上書き／デザイン合わせ） */
  .parts222_pagenation{display:flex !important;justify-content:center !important;align-items:center !important;gap:8px !important;flex-wrap:wrap !important;margin-top:clamp(36px,5vh,56px) !important;}
  .parts222_pagenation > span{display:inline-flex !important;align-items:center !important;justify-content:center !important;min-width:40px !important;height:40px !important;margin:0 !important;padding:0 !important;border:1px solid #E9F0EA !important;background:#fff !important;color:#1F2D22 !important;font-family:'Josefin Sans',sans-serif !important;font-weight:600 !important;font-size:13px !important;box-shadow:none !important;border-radius:0 !important;overflow:hidden !important;}
  .parts222_pagenation > span > a{display:flex !important;align-items:center !important;justify-content:center !important;width:100% !important;height:100% !important;padding:0 12px !important;border:0 !important;background:transparent !important;color:inherit !important;text-decoration:none !important;}
  .parts222_pagenation > span:hover,.parts222_pagenation > span > a:hover{border-color:#2E7D4F !important;color:#2E7D4F !important;}
  .parts222_pagenation .pagination_num.current{background:#0E9E55 !important;color:#fff !important;border-color:#0E9E55 !important;}
  .parts222_sidebar_wrap li a{background:transparent !important;}
  .parts222_sidebar .parts222_sidebar_wrap ul li,.parts222_sidebar .parts222_sidebar_wrap.category_post_count ul li{list-style:none !important;border:0 !important;border-bottom:1px solid #E9F0EA !important;margin:0 !important;padding:0 !important;}
  .parts222_sidebar_date{color:#2E7D4F !important;}
  .parts222_sidebar_post_title{color:#444 !important;}
  .parts222_sidebar .parts222_sidebar_wrap.category_post_count li a{display:flex !important;align-items:center !important;justify-content:space-between !important;gap:10px !important;}
  .parts222_sidebar .parts222_sidebar_post_category{font-size:13px !important;color:#444 !important;margin:0 !important;background:transparent !important;border:0 !important;padding:0 !important;border-radius:0 !important;font-family:'Noto Sans JP',sans-serif !important;font-weight:400 !important;letter-spacing:.03em !important;}
  .parts222_sidebar_post_category_count{font-family:'Josefin Sans',sans-serif !important;font-weight:600 !important;font-size:11px !important;color:#667 !important;border:1px solid #E2EAE3 !important;background:#F4F7F4 !important;padding:1px 9px !important;border-radius:1px !important;flex:none !important;}
  .parts222_sidebar{display:flex !important;flex-direction:column !important;align-items:stretch !important;min-width:0 !important;max-width:none !important;width:100% !important;}
  .parts222_sidebar_wrap{width:100% !important;box-sizing:border-box !important;}
  .parts222_sidebar .parts222_sidebar_wrap,.parts222_sidebar .parts222_sidebar_wrap.category_post_count{border:0 !important;background:transparent !important;padding:0 !important;margin:0 !important;box-shadow:none !important;}
  .parts222_sidebar .parts222_sidebar_wrap ul,.parts222_sidebar .parts222_sidebar_wrap.category_post_count ul{border:0 !important;background:transparent !important;padding:0 !important;margin:0 !important;box-shadow:none !important;}
  .parts222_sidebar_wrap > h3,.parts222_sidebar_wrap ul,.parts222_sidebar_wrap li,.parts222_sidebar_wrap li a{width:100% !important;box-sizing:border-box !important;}
  @media (max-width:920px){ .parts222_wrap{grid-template-columns:1fr !important;} }
  @media (max-width:560px){ .parts222_post_list{grid-template-columns:1fr !important;} }

  /* ===== parts225 カテゴリ別ブログ一覧（サイドバー無し・parts222準拠・skinkit上書き） ===== */
  .parts225_section{max-width:1200px !important;margin:0 auto !important;padding:clamp(40px,6vh,72px) clamp(24px,5vw,40px) clamp(64px,9vh,110px) !important;background:#fff !important;}
  .parts225_section > h2,.parts225_section h2{font-family:'Noto Sans JP',sans-serif !important;font-weight:900 !important;font-size:clamp(20px,2.6vw,26px) !important;letter-spacing:.04em !important;color:#1F2D22 !important;text-align:left !important;line-height:1.4 !important;margin:0 0 clamp(28px,4vh,40px) !important;display:flex !important;align-items:center !important;gap:14px !important;}
  .parts225_section h2::before{content:"" !important;width:3px !important;height:1.1em !important;background:linear-gradient(180deg,#34C5D6,#2E7D4F) !important;display:inline-block !important;flex:none !important;}
  .parts225_wrap{display:block !important;max-width:none !important;width:100% !important;margin:0 !important;}
  .parts225_main{display:block !important;width:100% !important;min-width:0 !important;}
  .parts225_post_list{display:grid !important;grid-template-columns:repeat(3,1fr) !important;gap:clamp(18px,2.5vw,28px) !important;list-style:none !important;margin:0 !important;padding:0 !important;}
  .parts225_post_list::after{display:none !important;content:none !important;}
  .parts225_post_wrap{display:block !important;max-width:none !important;width:auto !important;margin:0 !important;background:#fff !important;border:1px solid #E9F0EA !important;border-radius:2px !important;overflow:hidden !important;transition:transform .4s ease,box-shadow .4s ease;}
  .parts225_post_wrap:nth-last-child(-n+3){margin:0 !important;}
  .parts225_post_wrap:hover{transform:translateY(-4px) !important;box-shadow:0 18px 40px rgba(20,45,34,.12) !important;}
  .parts225_post_wrap .parts225_post_img{aspect-ratio:16/10 !important;height:auto !important;margin:0 !important;overflow:hidden !important;background:#dfe6e0 !important;}
  .parts225_post_wrap .parts225_post_img img{width:100% !important;height:100% !important;max-height:none !important;object-fit:cover !important;display:block !important;transition:transform .6s ease;}
  .parts225_post_wrap:hover .parts225_post_img img{transform:scale(1.05) !important;}
  .parts225_post_status{display:flex !important;justify-content:flex-start !important;align-items:center !important;gap:12px !important;margin:0 !important;padding:16px 18px 0 !important;}
  .parts225_post_date{font-family:'Josefin Sans',sans-serif !important;font-weight:600 !important;font-size:11px !important;letter-spacing:.1em !important;color:#2E7D4F !important;}
  .parts225_post_category{font-size:10.5px !important;letter-spacing:.04em !important;color:#557 !important;background:#F4F7F4 !important;border:1px solid #E2EAE3 !important;padding:2px 10px !important;border-radius:1px !important;}
  .parts225_post_title-excerpt{padding:8px 18px 20px !important;}
  .parts225_post_title{font-size:15px !important;font-weight:700 !important;color:#1F2D22 !important;line-height:1.6 !important;letter-spacing:.02em !important;margin:0 !important;}
  .parts225_post_wrap a{display:block !important;background:transparent !important;color:inherit !important;text-decoration:none !important;}
  .parts225_post_status,.parts225_post_title-excerpt{background:transparent !important;}
  @media (max-width:920px){ .parts225_post_list{grid-template-columns:1fr 1fr !important;} }
  @media (max-width:560px){ .parts225_post_list{grid-template-columns:1fr !important;} }

  /* ===== 記事詳細ページ 最近の投稿（recent_posts・skinkit上書き／一覧サイドバーと統一） ===== */
  .recent_posts_wrap .recent_post_title{font-family:'Noto Sans JP',sans-serif !important;font-size:14px !important;font-weight:700 !important;color:#1F2D22 !important;letter-spacing:.04em !important;line-height:1.4 !important;margin:0 0 14px !important;padding:10px 14px !important;background:#F4F7F4 !important;background-color:#F4F7F4 !important;border:0 !important;border-left:3px solid #2E7D4F !important;}
  .recent_posts_wrap ul{list-style:none !important;margin:0 !important;padding:0 !important;border:0 !important;background:transparent !important;}
  .recent_posts_wrap ul li{list-style:none !important;border:0 !important;border-bottom:1px solid #E9F0EA !important;margin:0 !important;padding:0 !important;background:transparent !important;}
  .recent_posts_wrap ul li a{display:block !important;padding:12px 4px !important;background:transparent !important;text-decoration:none !important;}
  .recent_posts_wrap ul li a:hover{background:#FAFCFA !important;}
  .recent_posts_wrap .recent_post_date{display:block !important;font-family:'Josefin Sans',sans-serif !important;font-weight:600 !important;font-size:10px !important;letter-spacing:.08em !important;color:#2E7D4F !important;margin-bottom:4px !important;background:transparent !important;}
  .recent_posts_wrap ul li a h3{font-family:'Noto Sans JP',sans-serif !important;font-size:12.5px !important;font-weight:700 !important;color:#444 !important;line-height:1.7 !important;letter-spacing:.03em !important;margin:0 !important;}

  @media (prefers-reduced-motion:reduce){
    .rv{opacity:1!important;transform:none!important;transition:none!important;}
    [data-subhero-bg]{animation:none!important;transform:scale(1.12)!important;}
    html{scroll-behavior:auto;}
  }
  @media (max-width:840px){ [data-gnav]{display:none!important;} }

*{box-sizing:border-box;}
  [data-role-grid],[data-method-grid],[data-where-grid],[data-sign-grid],[data-strength-grid],[data-dr-grid],[data-num-grid],[data-charm-grid],[data-career],[data-value-grid],[data-sdgs-grid],[data-cert-grid],[data-flow-grid]{grid-auto-rows:1fr;}
  html{scroll-behavior:smooth;}
  body{margin:0;background:#fff;color:#1F2D22;font-family:'Noto Sans JP',sans-serif;-webkit-font-smoothing:antialiased;}
  a{color:inherit;text-decoration:none;}
  .rv{opacity:0;transform:translateY(40px);transition:opacity .9s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1);}
  .rv.show{opacity:1;transform:none;}
  .d1{transition-delay:.1s;}.d2{transition-delay:.2s;}
  @keyframes subheroZoom{from{transform:scale(1.12);}to{transform:scale(1.2);}}
  [data-navitem]:hover [data-dropdown],[data-navitem]:focus-within [data-dropdown]{opacity:1!important;visibility:visible!important;}
  .mnav-toggle,.mnav-btn,.mnav-panel{display:none;}
  @media(max-width:840px){
    nav[data-gnav]{display:none!important;}
    #footer-grid{grid-template-columns:1fr!important;}
    header{align-items:center!important;}
    [data-protect]{display:none!important;}
    .mnav-btn{display:flex;align-items:center;justify-content:center;width:44px;height:44px;background:#0E9E55;border-radius:7px;margin:auto 16px;cursor:pointer;flex:none;position:relative;z-index:75;}
    .mnav-btn span{position:absolute;left:12px;right:12px;height:2px;background:#fff;transition:transform .3s ease,opacity .3s ease,top .3s ease;}
    .mnav-btn span:nth-child(1){top:15px;}.mnav-btn span:nth-child(2){top:21px;}.mnav-btn span:nth-child(3){top:27px;}
    .mnav-toggle:checked ~ .mnav-btn span:nth-child(1){top:21px;transform:rotate(45deg);}
    .mnav-toggle:checked ~ .mnav-btn span:nth-child(2){opacity:0;}
    .mnav-toggle:checked ~ .mnav-btn span:nth-child(3){top:21px;transform:rotate(-45deg);}
    .mnav-panel{display:flex;flex-direction:column;position:fixed;inset:0;background:#0E9E55;z-index:74;padding:90px 26px 40px;transform:translateX(100%);transition:transform .42s cubic-bezier(.16,1,.3,1);overflow-y:auto;}
    .mnav-toggle:checked ~ .mnav-panel{transform:none;}
    .mnav-panel a{color:#fff;font-family:'Noto Sans JP',sans-serif;font-size:16px;font-weight:700;padding:15px 4px;border-bottom:1px solid rgba(255,255,255,.12);letter-spacing:.04em;display:flex;align-items:center;justify-content:space-between;gap:12px;}
    .mnav-panel a.sub{font-size:13.5px;font-weight:500;padding-left:18px;color:rgba(255,255,255,.66);}
    .mnav-panel a em{font-family:'Josefin Sans',sans-serif;font-style:normal;font-size:10.5px;letter-spacing:.14em;color:#34C5D6;font-weight:600;}
  }

  /* ===== add.css : parts210 導入文 + parts213 お問い合わせフォーム（実在クラス上書き・フラット） ===== */
  .parts210_section_content{max-width:760px;margin:0 auto;padding:0 clamp(24px,5vw,40px);}
  .parts210_content_wrap{width:100%;}
  .parts210_content{font-size:14px;color:#666;line-height:2.1;text-align:center;}

  .contact_section{max-width:760px;margin:0 auto;padding:clamp(28px,4vh,44px) clamp(24px,5vw,40px) clamp(64px,9vh,110px);}
  .parts213_section_form,.parts213_form_wrap{width:100%;}
  .parts213_form_wrap form dl{display:flex;flex-direction:column;gap:8px;padding:18px 0;border:0;margin:0;}
  .parts213_form_wrap form dt{font-size:14px;font-weight:700;color:#1F2D22;letter-spacing:.02em;display:flex;align-items:center;gap:10px;margin:0;flex-wrap:wrap;}
  .parts213_form_wrap form dd{margin:0;}
  .parts213_form_wrap .required{font-family:'Noto Sans JP',sans-serif;font-size:10px;font-weight:700;letter-spacing:.08em;color:#2E7D4F;border:1px solid #2E7D4F;padding:2px 8px;border-radius:1px;}
  .parts213_form_wrap .attention{display:block;font-size:11.5px;font-weight:400;color:#c0392b;margin-top:4px;line-height:1.7;letter-spacing:0;}
  .parts213_form_wrap input[type=text],.parts213_form_wrap input[type=email],.parts213_form_wrap textarea{width:100%;font-family:'Noto Sans JP',sans-serif;font-size:15px;color:#1F2D22;background:#fff;border:1px solid #d2dcd5;border-radius:0;padding:13px 14px;outline:none;transition:border-color .25s ease;}
  .parts213_form_wrap input:focus,.parts213_form_wrap textarea:focus{border-color:#2E7D4F;}
  .parts213_form_wrap input::placeholder,.parts213_form_wrap textarea::placeholder{color:#b3bdb6;}
  .parts213_form_wrap textarea{min-height:180px;resize:vertical;line-height:1.8;}
  .parts213_form_wrap .checkbox_wrap,.parts213_form_wrap dd > label{display:flex;align-items:center;gap:8px;font-size:14px;color:#444;font-weight:400;cursor:pointer;}
  .parts213_form_wrap dd > label{margin:0 0 10px;}
  .parts213_form_wrap input[type=checkbox]{width:17px;height:17px;accent-color:#2E7D4F;flex:none;}
  .parts213_form_wrap .error{font-size:12px;color:#c0392b;margin:6px 0 0;}
  .parts213_form_wrap .contact_submit{margin-top:14px;text-align:center;}
  .parts213_form_wrap .contact_submit input{font-family:'Noto Sans JP',sans-serif;font-size:15px;font-weight:700;letter-spacing:.08em;color:#fff;background:#0E9E55;border:0;padding:16px 56px;cursor:pointer;transition:background .3s ease;border-radius:0;}
  .parts213_form_wrap .contact_submit input:hover{background:#0E9E55;}

  @media (prefers-reduced-motion:reduce){
    .rv{opacity:1!important;transform:none!important;transition:none!important;}
    [data-subhero-bg]{animation:none!important;transform:scale(1.12)!important;}
    html{scroll-behavior:auto;}
  }
  @media (max-width:840px){ [data-gnav]{display:none!important;} }

*{box-sizing:border-box;}
  [data-role-grid],[data-method-grid],[data-where-grid],[data-sign-grid],[data-strength-grid],[data-dr-grid],[data-num-grid],[data-charm-grid],[data-career],[data-value-grid],[data-sdgs-grid],[data-cert-grid],[data-flow-grid]{grid-auto-rows:1fr;}
  html{scroll-behavior:smooth;}
  body{margin:0;background:#fff;color:#1F2D22;font-family:'Noto Sans JP',sans-serif;-webkit-font-smoothing:antialiased;}
  a{color:inherit;text-decoration:none;}
  [data-navitem]:hover [data-dropdown],[data-navitem]:focus-within [data-dropdown]{opacity:1!important;visibility:visible!important;}
  .mnav-toggle,.mnav-btn,.mnav-panel{display:none;}
  @media(max-width:840px){
    nav[data-gnav]{display:none!important;}
    #footer-grid{grid-template-columns:1fr!important;}
    header{align-items:center!important;}
    [data-protect]{display:none!important;}
    .mnav-btn{display:flex;align-items:center;justify-content:center;width:44px;height:44px;background:#0E9E55;border-radius:7px;margin:auto 16px;cursor:pointer;flex:none;position:relative;z-index:75;}
    .mnav-btn span{position:absolute;left:12px;right:12px;height:2px;background:#fff;transition:transform .3s ease,opacity .3s ease,top .3s ease;}
    .mnav-btn span:nth-child(1){top:15px;}.mnav-btn span:nth-child(2){top:21px;}.mnav-btn span:nth-child(3){top:27px;}
    .mnav-toggle:checked ~ .mnav-btn span:nth-child(1){top:21px;transform:rotate(45deg);}
    .mnav-toggle:checked ~ .mnav-btn span:nth-child(2){opacity:0;}
    .mnav-toggle:checked ~ .mnav-btn span:nth-child(3){top:21px;transform:rotate(-45deg);}
    .mnav-panel{display:flex;flex-direction:column;position:fixed;inset:0;background:#0E9E55;z-index:74;padding:90px 26px 40px;transform:translateX(100%);transition:transform .42s cubic-bezier(.16,1,.3,1);overflow-y:auto;}
    .mnav-toggle:checked ~ .mnav-panel{transform:none;}
    .mnav-panel a{color:#fff;font-family:'Noto Sans JP',sans-serif;font-size:16px;font-weight:700;padding:15px 4px;border-bottom:1px solid rgba(255,255,255,.12);letter-spacing:.04em;display:flex;align-items:center;justify-content:space-between;gap:12px;}
    .mnav-panel a.sub{font-size:13.5px;font-weight:500;padding-left:18px;color:rgba(255,255,255,.66);}
    .mnav-panel a em{font-family:'Josefin Sans',sans-serif;font-style:normal;font-size:10.5px;letter-spacing:.14em;color:#34C5D6;font-weight:600;}
  }
  .rv{opacity:0;transform:translateY(40px);transition:opacity .9s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1);}
  .rv.show{opacity:1;transform:none;}
  .d1{transition-delay:.1s;}.d2{transition-delay:.2s;}.d3{transition-delay:.3s;}
  @keyframes subheroZoom{from{transform:scale(1.12);}to{transform:scale(1.2);}}
  @media (prefers-reduced-motion:reduce){
    .rv{opacity:1!important;transform:none!important;transition:none!important;}
    [data-subhero-bg]{animation:none!important;transform:scale(1.12)!important;}
    html{scroll-behavior:auto;}
  }
  @media (max-width:840px){ [data-gnav]{display:none!important;} }


/* ===== cuezilla-skin.css ===== */
/* ============================================================
   CueZilla 動的パーツ スキンキット v1.0
   ------------------------------------------------------------
   目的: ブログ/施工実績(blog-ex)/お問い合わせ/パンくず/ページヘッダー等の
         CueZilla 既定パーツを、サイトのトンマナ（ダーク/ライト・ブランド色・
         フォント・角丸）に "自動で寄せる" 汎用CSS。案件ごとの調整を最小化する。

   思想:
     (1) 色は CueZilla テーマ変数(--main-color 等)から自動連動
         → サイトのテーマ設定がそのまま skin にも効く（色は一元管理）
     (2) フォント/角丸/グリッド幅はトークンで指定（テーマ変数に無いため）
     (3) partsNNN は採番が可変だが接尾辞は共通(_post_wrap 等)
         → 属性セレクタ [class*="_xxx"] で番号非依存に当てる

   使い方:
     1. §0 のトークンを案件に合わせて調整（ダーク/ライトはプリセットをコピー）
     2. CueZilla テーマカラー(--main-color 等)をブランド値に設定
     3. 本ファイルをサイト全体CSS(AddCssInfo)へ貼る（サイト固有のフリーコーディングCSSの後ろ）
   ============================================================ */


/* ============================================================
   §0  トークン ─ ここだけ案件ごとに調整
   ============================================================ */
:root{
  /* --- 色: CueZilla テーマ変数から自動取得（無い場合のフォールバック付き） --- */
  --dyn-bg:        var(--background-color, #ffffff);   /* ページ/セクション背景 */
  --dyn-surface:   var(--temporary-color, #f4f4f2);    /* カード/パネル/入力欄の面 */
  --dyn-text:      var(--text-color, #222222);         /* 本文 */
  --dyn-heading:   var(--text-color, #111111);         /* 見出し */
  --dyn-muted:     var(--sub-color, #8a8a8a);          /* 補助/日付 */
  --dyn-border:    var(--sub-color, #dddddd);          /* 罫線/枠 */
  --dyn-accent:    var(--main-color, #1e3a5f);         /* アクセント（ボタン/チップ/見出しバー） */
  --dyn-accent-2:  var(--link-color, var(--main-color, #1e3a5f)); /* リンク/ホバー */
  --dyn-on-accent: #ffffff;                             /* アクセント面の上の文字 */

  /* --- フォント（site.css の :root に定義があればそれを使用） --- */
  --dyn-font-display: var(--font-display, "Noto Serif JP","Yu Mincho",serif);
  --dyn-font-body:    var(--font-body, "Noto Sans JP","Yu Gothic",sans-serif);
  --dyn-font-numeric: var(--font-numeric, "EB Garamond","Noto Serif JP",serif);

  /* --- 角丸（チップ/ボタン/カード）。角なしにするなら 0 --- */
  --dyn-radius: 6px;
  /* --- 一覧カードの最小幅 / 段組ギャップ --- */
  --dyn-card-min: 300px;
  --dyn-gap: 32px;
}

/* === テーマ プリセット（使う方を §0 の後にコピペして上書き） =========
   【ダーク】
   :root{
     --dyn-bg:#0A0A0A; --dyn-surface:#111110; --dyn-text:#F4F1EC; --dyn-heading:#FAF7F1;
     --dyn-muted:#8C857A; --dyn-border:#3A352D; --dyn-accent:#8E3A22; --dyn-accent-2:#B0533A;
     --dyn-on-accent:#FAF7F1; --dyn-radius:0;
   }
   【ライト】
   :root{
     --dyn-bg:#ffffff; --dyn-surface:#f7f7f5; --dyn-text:#222222; --dyn-heading:#111111;
     --dyn-muted:#8a8a8a; --dyn-border:#e3e3e3; --dyn-accent:#1e3a5f; --dyn-accent-2:#1e3a5f;
     --dyn-on-accent:#ffffff; --dyn-radius:6px;
   }
   ※ CueZilla テーマ変数(--main-color 等)を設定する場合は §0 が自動連動するのでプリセット不要。
   ============================================================ */

/* === 案件トークン（O01985 中山法面工業）：§0の自動連動を実値で上書き。
   理由: CueZillaテーマ変数(--background-color/--temporary-color/--main-color)が
   このサイトでは緑/水色に解決され、skin がフォーム等を緑地・水色入力に誤発色するため、
   受領デザイン（ライト・ブランド緑・フラット角丸0・全体サンセリフ）の実値で固定する。 === */
:root{
  --dyn-bg:#ffffff; --dyn-surface:#f4f7f4; --dyn-text:#1F2D22; --dyn-heading:#1F2D22;
  --dyn-muted:#6f8276; --dyn-border:#d2dcd5; --dyn-accent:#2E7D4F; --dyn-accent-2:#2E7D4F;
  --dyn-on-accent:#ffffff; --dyn-radius:0;
  --dyn-font-display:'Noto Sans JP','Yu Gothic',sans-serif;
  --dyn-font-body:'Noto Sans JP','Yu Gothic',sans-serif;
  --dyn-font-numeric:'Josefin Sans',sans-serif;
}


/* ============================================================
   §1  パンくず（CueZilla parts###_breadcrumb / p-breadcrumb）
   実markup: div.parts###_breadcrumb.p-breadcrumb.c-breadcrumb
             > ul.p-breadcrumb__inner(BreadcrumbList) > li.p-breadcrumb__item(ListItem)
   CueZilla共通CSSにパンくず装飾は無い → skin側で横並び・区切り・配色を付与
   ============================================================ */
[class*="_breadcrumb"], .p-breadcrumb{ background:var(--dyn-bg) !important; }
.p-breadcrumb__inner{
  list-style:none; margin:0 auto; padding:14px 24px;
  max-width:1200px; display:flex; flex-wrap:wrap; align-items:center;
}
.p-breadcrumb__item{
  display:inline-flex; align-items:center;
  color:var(--dyn-muted) !important; font-family:var(--dyn-font-body);
  font-size:.78rem; letter-spacing:.04em;
}
.p-breadcrumb__item a{ color:var(--dyn-muted) !important; text-decoration:none; }
.p-breadcrumb__item a:hover{ color:var(--dyn-accent-2) !important; text-decoration:underline; }
.p-breadcrumb__item:last-child{ color:var(--dyn-text) !important; }   /* 現在地 */
/* 区切り（2件目以降の前に "›"） */
.p-breadcrumb__item + .p-breadcrumb__item::before{
  content:"\203A"; margin:0 .6em; color:var(--dyn-border) !important; font-size:.95em;
}
.p-breadcrumb meta{ display:none; }   /* schema.org の <meta itemprop="position"> は非表示 */


/* ============================================================
   §2  ページヘッダー（[class*="_article_header"]）画像上のタイトル
   ============================================================ */
[class*="_article_header"] .ja, [class*="_article_header"] h1, [class*="_article_header"] h2{
  color:var(--dyn-heading) !important; font-family:var(--dyn-font-display) !important;
  text-shadow:0 2px 14px rgba(0,0,0,.5) !important;
}
[class*="_article_header"] .en{ color:var(--dyn-muted) !important; font-family:var(--dyn-font-numeric) !important; letter-spacing:.1em; text-shadow:0 1px 10px rgba(0,0,0,.5) !important; }


/* ============================================================
   §3  ページネーション（.pagination_* / [class*="_pagenation"]）
   ============================================================ */
.pagination_num, .pagination_prev, .pagination_next,
[class*="_pagenation"] a, [class*="_pagenation"] span{
  font-family:var(--dyn-font-numeric); color:var(--dyn-text) !important;
  border:1px solid var(--dyn-border) !important; border-radius:var(--dyn-radius);
  min-width:40px; height:40px; display:inline-flex; align-items:center; justify-content:center; text-decoration:none;
}
.pagination_num.current, [class*="_pagenation"] .current, [class*="_pagenation"] .active{
  background:var(--dyn-accent) !important; border-color:var(--dyn-accent) !important; color:var(--dyn-on-accent) !important;
}
.pagination_num:hover, .pagination_prev:hover, .pagination_next:hover{ border-color:var(--dyn-accent-2) !important; color:var(--dyn-accent-2) !important; }
.pe-none{ opacity:.3; pointer-events:none; }


/* ============================================================
   §4  ブログ / 施工実績(blog-ex) 一覧（番号非依存）
   ============================================================ */
/* 一覧セクションの地 */
[class*="_post_list"], [class*="_post_wrap"]{ } /* 下で個別指定 */
/* カード並び（最小幅を確保して細くなりすぎない） */
[class*="_post_list"]{ display:grid !important; grid-template-columns:repeat(auto-fill, minmax(var(--dyn-card-min), 1fr)) !important; gap:var(--dyn-gap) !important; }
/* カード */
[class*="_post_wrap"]{
  display:block !important; width:auto !important; max-width:none !important; text-decoration:none;
  background:var(--dyn-surface) !important; border:1px solid var(--dyn-border) !important;
  border-radius:var(--dyn-radius); overflow:hidden;
  transition:transform .3s ease, border-color .3s ease;
}
[class*="_post_wrap"]:hover{ transform:translateY(-4px); border-color:var(--dyn-accent-2) !important; }
[class*="_post_img"]{ width:100%; display:block; border-radius:0; }
/* カード内のテキストに左右余白 */
[class*="_post_status"]{ border:none !important; background:transparent !important; margin:14px 16px 0 !important; padding:0 !important; display:flex !important; gap:10px; align-items:center; }
[class*="_post_title-excerpt"]{ padding:10px 16px 16px !important; }
[class*="_post_title"]{ font-family:var(--dyn-font-display) !important; color:var(--dyn-heading) !important; }
[class*="_post_excerpt"]{ color:var(--dyn-muted) !important; }
[class*="_post_date"]{ font-family:var(--dyn-font-numeric) !important; color:var(--dyn-muted) !important; }
/* カテゴリ/ステータスは1チップに */
[class*="_post_category"], [class*="_post_status"] > span:last-child{ border:1px solid var(--dyn-accent); border-radius:var(--dyn-radius); padding:2px 8px; color:var(--dyn-accent-2) !important; }
.parts-blog-ex-tag_wrap{ display:flex; flex-wrap:wrap; gap:6px; padding:0 16px 14px; }
.parts-blog-ex_tag{ font-size:.72rem; color:var(--dyn-muted) !important; background:var(--dyn-surface) !important; border:1px solid var(--dyn-border); border-radius:var(--dyn-radius); padding:2px 8px; }


/* ============================================================
   §5  サイドバー / 最近の投稿 / カテゴリ記事数
   ============================================================ */
[class*="_sidebar"], .recent_posts_wrap{ color:var(--dyn-text); }
[class*="_sidebar_post_title"], .recent_post_title{ font-family:var(--dyn-font-display) !important; color:var(--dyn-heading) !important; }
[class*="_sidebar_date"], .recent_post_date{ font-family:var(--dyn-font-numeric) !important; color:var(--dyn-muted) !important; }
/* カテゴリ右の記事数を視認できるチップに */
[class*="_sidebar_post_category_count"]{ background:var(--dyn-surface) !important; color:var(--dyn-text) !important; border:1px solid var(--dyn-border); border-radius:var(--dyn-radius); padding:0 8px !important; }


/* ============================================================
   §6  詳細ページ（本文 / 署名 / SNS / 詳細内スライダー）
   ============================================================ */
.parts-blog-ex_text{ font-family:var(--dyn-font-body); color:var(--dyn-text) !important; line-height:1.9; }
.parts-blog-ex_text h2, .parts-blog-ex_text h3{ font-family:var(--dyn-font-display) !important; color:var(--dyn-heading) !important; }
.signature_wrap{ font-family:var(--dyn-font-display); color:var(--dyn-muted) !important; border-top:1px solid var(--dyn-border); padding-top:16px; }
.slick-prev, .slick-next{ color:var(--dyn-accent-2) !important; }
/* ※詳細本文の親ラッパーが固定class薄め。崩れる場合は実ページで本文コンテナを確認し追補 */


/* ============================================================
   §7  お問い合わせフォーム
   ============================================================ */
.contact_section, [class*="_section_form"], [class*="_section_content"], [class*="_content_wrap"], [class*="_content"]{ background:var(--dyn-bg) !important; color:var(--dyn-text) !important; }
[class*="_form_wrap"]{ max-width:720px; margin:0 auto; }
[class*="_form_wrap"] label, [class*="_form_wrap"] dt, [class*="_form_wrap"] .ja, [class*="_form_wrap"] .en{ color:var(--dyn-text) !important; }
/* 入力欄を十分な大きさに（チェック/ラジオは除外） */
[class*="_form_wrap"] dd input:not([type="checkbox"]):not([type="radio"]),
[class*="_form_wrap"] dd select{ width:100% !important; max-width:none !important; padding:14px 16px !important; font-size:16px !important; min-height:54px !important; background:var(--dyn-surface) !important; color:var(--dyn-text) !important; border:1px solid var(--dyn-border) !important; border-radius:var(--dyn-radius); }
[class*="_form_wrap"] textarea, .form_textarea textarea{ width:100% !important; padding:14px 16px !important; font-size:16px !important; min-height:220px !important; background:var(--dyn-surface) !important; color:var(--dyn-text) !important; border:1px solid var(--dyn-border) !important; border-radius:var(--dyn-radius); }
/* チェックボックス/ラジオはサイズ統一 */
[class*="_form_wrap"] input[type="checkbox"], [class*="_form_wrap"] input[type="radio"]{ width:18px !important; height:18px !important; min-height:0 !important; padding:0 !important; margin:0 8px 0 0 !important; vertical-align:-3px; accent-color:var(--dyn-accent); flex:none !important; }
/* 必須バッジ: 文字を中央・折り返さない・角丸はトークン */
.required{ display:inline-flex !important; align-items:center !important; justify-content:center !important; line-height:1 !important; white-space:nowrap !important; padding:6px 12px !important; border-radius:var(--dyn-radius) !important; background:var(--dyn-accent) !important; color:var(--dyn-on-accent) !important; }
.error{ color:var(--dyn-accent-2) !important; }
/* 「お問い合わせ内容」を囲む大きな箱(枠線)を撤去 */
.form_textarea, .form_text_dt{ border:none !important; background:transparent !important; }

/* プライバシー同意 */
.privacypolicy{ background:var(--dyn-surface) !important; border:1px solid var(--dyn-border); border-radius:var(--dyn-radius); padding:16px; color:var(--dyn-muted) !important; }
.privacypolicy-link{ color:var(--dyn-accent-2) !important; }
/* 電話/メール等の content バー（角丸はトークン） */
[class*="_content"] [class*="btn"], [class*="_content"] a[class*="round"]{ border-radius:var(--dyn-radius) !important; }


/* ============================================================
   §8  トップ用 お知らせ/ブログ teaser（notice-news / blog teaser）
   ============================================================ */
.parts040506_notice-news{ background:var(--dyn-bg) !important; color:var(--dyn-text) !important; }
.parts040506_notice-news *{ color:var(--dyn-text) !important; }
.parts040506_notice-news .title, .parts040506_notice-news .title a{ color:var(--dyn-heading) !important; }
.parts040506_notice-news [class*="date"], .parts040506_notice-news .f_yugothic{ font-family:var(--dyn-font-numeric) !important; color:var(--dyn-muted) !important; }
.parts040506_notice-news .more{ white-space:nowrap !important; color:var(--dyn-accent-2) !important; }
.parts040506_notice-news a{ color:var(--dyn-accent-2) !important; }
/* サムネ型ブログ teaser */
[class*="_blog_title_wrap"]{ font-family:var(--dyn-font-display) !important; color:var(--dyn-heading) !important; }
[class*="_blog_thumbnail"]{ border-radius:var(--dyn-radius); }
/* teaser内が Bootstrap .card（既定で白）の場合のダーク/トーン化 */
[class*="_blog"] .card{ background:var(--dyn-surface) !important; border-color:var(--dyn-border) !important; border-radius:var(--dyn-radius) !important; }
[class*="_blog"] .card-title, [class*="_blog"] .card-text{ color:var(--dyn-text) !important; }
[class*="_blog"] .card-title{ font-family:var(--dyn-font-display) !important; }


/* ============================================================
   §9  Bootstrap汎用クラスの地ならし（パーツ内に限定）
       text-dark / bg-light 等がパーツ内でトーンを乱すのを抑える
   ============================================================ */
[class*="parts"] .text-dark{ color:var(--dyn-text) !important; }
[class*="parts"] .bg-light{ background:var(--dyn-surface) !important; }
.card-header.bg-light{ background:var(--dyn-accent) !important; color:var(--dyn-on-accent) !important; }


/* ============================================================
   §10  プライバシーポリシー（templates/privacy-policy.html のフリーコーディング設置版）
   ※CueZilla既定パーツ(item_title/item_description)へ転記する場合は §5 等で別途適用される
   ============================================================ */
.privacy{ max-width:880px; margin:0 auto; padding:64px 24px; color:var(--dyn-text); font-family:var(--dyn-font-body); line-height:1.9; }
.privacy__title{ font-family:var(--dyn-font-display); color:var(--dyn-heading); font-size:clamp(1.8rem,4vw,2.6rem); }
.privacy__subtitle{ font-family:var(--dyn-font-display); color:var(--dyn-heading); font-size:1.2rem; margin-top:8px; }
.privacy__lead{ color:var(--dyn-muted); margin:24px 0 40px; }
.privacy-item{ margin-bottom:32px; }
.privacy-item__title{ font-family:var(--dyn-font-display); color:var(--dyn-heading); border-left:3px solid var(--dyn-accent); padding-left:12px; margin-bottom:12px; }
.privacy-item__body{ color:var(--dyn-text); }
/* 原文の (1)(2)… 表記を維持（auto ol の "1." ではなく括弧付き番号で表示） */
.privacy-item__list{ list-style:none; counter-reset:pp; margin:8px 0; padding:0; }
.privacy-item__list li{ counter-increment:pp; padding-left:2.2em; text-indent:-2.2em; margin:4px 0; color:var(--dyn-text); }
.privacy-item__list li::before{ content:"(" counter(pp) ") "; }


/* ============================================================
   §11  下層ヘッダーパーツ（templates/subpage-header.html）
   サイトヘッダーとパンくずの間。フリーコーディングで別パーツ化
   ============================================================ */
/* padding-top に固定ヘッダー高さ(--fixed-header-h)を加算＝固定ヘッダーへのめり込み防止。
   固定ヘッダーが無いサイトは既定0で無影響。固定ヘッダー採用サイトは案件CSSで :root{ --fixed-header-h:88px } 等を設定（R-18）。 */
.subpage-header{ position:relative; padding:calc(72px + var(--fixed-header-h, 0px)) 24px 72px; background:var(--dyn-surface); text-align:center; overflow:hidden; }
.subpage-header__bg{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:.45; z-index:0; }
.subpage-header__inner{ position:relative; z-index:1; }
.subpage-header__title{ font-family:var(--dyn-font-display); color:var(--dyn-heading); font-size:clamp(1.8rem,5vw,3rem); line-height:1.3; text-shadow:0 2px 14px rgba(0,0,0,.5); }
.subpage-header__en{ font-family:var(--dyn-font-numeric); color:var(--dyn-muted); letter-spacing:.12em; margin-top:8px; }


/* ============================================================
   §12  システム定型ページ：送信完了(thanks) / 404
   templates/thanks.html, templates/404.html 用。トークンスキン準拠
   ============================================================ */
.thanks, .notfound{ max-width:760px; margin:0 auto; padding:calc(80px + var(--fixed-header-h, 0px)) 24px 96px; text-align:center; }
/* CueZilla 既定404（section.not-found）はレイアウトを変えず、固定ヘッダー分の上余白だけ確保（R-18） */
.not-found{ padding-top: calc(var(--fixed-header-h, 0px) + 24px); }
.thanks__title, .notfound__title{ font-family:var(--dyn-font-display); color:var(--dyn-heading); font-size:clamp(1.8rem,5vw,2.6rem); line-height:1.3; margin-bottom:28px; }
.thanks__lead, .notfound__lead{ color:var(--dyn-text); line-height:2; margin-bottom:40px; }
.thanks__action, .notfound__action{ margin-top:8px; }


/* ============================================================
   §13  Bootstrap(テーマ)既定の恒久打ち消し（R-20）
   ------------------------------------------------------------
   CueZillaテーマが読み込む Bootstrap の "素のタグ/汎用クラス" が
   フリーHTMLに当たって崩す症状を、案件ごとの手当て無しで地ならしする。
   ここは確認済みの実害2件（test0605）に限定して打ち消す。
   ※「色/余白/タイポ」を意図して変える装飾は接頭辞クラス(.xw- 等)で
     付け直す＝下記より高詳細度になり、本セクションに勝つ（壊さない）。
   ============================================================ */
/* (a) <mark> / .mark の黄ハイライト背景：ロゴや見出しが黄色い箱になる症状 → 無効化。
       意図的なマーカー装飾は専用クラスで（Bootstrap名 .mark を流用しない＝R-20）。 */
mark, .mark{
  background-color:transparent !important; color:inherit !important;
  padding:0 !important; border-radius:0 !important;
}
/* (b) a:hover が Bootstrap青(#0a58ca)になる症状 → 既定は「ホバーで色を変えない」。
       !important は付けない＝個別のホバー装飾(接頭辞クラスや site.css の指定)が
       そのまま勝ち、未指定リンクだけが青化を免れる（フォールバック）。 */
a:hover{ color:inherit; }

/* (c) 電話番号リンク(tel:)の最低タップ確保（R-24／§5.5-3）。
       本文中インラインでも折り返さない。CTA/ボタン用途は接頭辞クラスで44px確保。 */
a[href^="tel:"]{ white-space:nowrap; }


/* ===== site-extra.override.css ===== */
/* 中山法面工業 追補CSS */
/* style-hover 属性はdc-runtime専用でCueZilla(素のHTML)では無効。主要ホバーをCSSで補完する */
nav[data-gnav] a[data-hdr]:hover{opacity:.6;}
[data-dropdown] a:hover{background:#F4F7F4!important;color:#2E7D4F!important;}
[data-cta]:hover{filter:brightness(1.08);}
#footer-grid a:hover{color:#2E7D4F;}

/* ===== 施工実績 parts228：works.htmlモックに合わせる（skinの!importantを再上書き） ===== */
/* Bladeはモック構造（post_img → post_status(日付) → tag_wrap → title-excerpt）に合わせる前提。
   skin(cuezilla-skin.css)がトークン/auto-fill/flex で上書きするため、モックの値を再宣言する。
   スコープは .parts228_ 限定（ブログ一覧parts には影響させない）。 */
/* CueZilla本体がセクションに主カラー(緑)を背景指定する → 白で打ち消す（parts222/225と同様） */
.parts228_section{background:#fff!important;}
.parts228_wrap,.parts228_main{background:transparent!important;}
.parts228_post_list{grid-template-columns:1fr 1fr 1fr!important;}
@media (max-width:920px){.parts228_post_list{grid-template-columns:1fr 1fr!important;}}
@media (max-width:560px){.parts228_post_list{grid-template-columns:1fr!important;}}
.parts228_post_status{display:block!important;margin:0!important;padding:18px 20px 0!important;}
.parts228_post_date{font-family:'Josefin Sans',sans-serif!important;font-weight:600;font-size:11px;letter-spacing:.1em;color:#2E7D4F!important;}
/* skinの [_post_status]>span:last-child が日付に緑枠を付けるため打ち消す（モックは枠なし） */
.parts228_post_status>.parts228_post_date{border:0!important;padding:0!important;background:transparent!important;border-radius:0!important;}
.parts228_post_list .parts-blog-ex-tag_wrap{padding:12px 20px 0!important;}
.parts228_post_list .parts-blog-ex_tag{font-family:'Noto Sans JP',sans-serif;font-size:10.5px;letter-spacing:.04em;color:#557!important;background:#F4F7F4!important;border:1px solid #E2EAE3;padding:3px 10px;border-radius:1px;}
.parts228_post_title-excerpt{padding:8px 20px 22px!important;}
.parts228_post_title{font-family:'Noto Sans JP',sans-serif!important;font-size:15px;font-weight:700;line-height:1.6;letter-spacing:.02em;color:#1F2D22!important;margin:0;}
.parts228_post_excerpt{font-size:12.5px;color:#888!important;line-height:1.9;margin:10px 0 0;}
.parts228_section>h2{margin:0 0 clamp(8px,2vh,16px);font-size:clamp(18px,2.4vw,24px);font-weight:700;color:#1F2D22;letter-spacing:.04em;}
/* カード面・枠・ページネーションもモック色で固定（skinの surface/accent緑 を上書き） */
.parts228_post_wrap{background:#fff!important;border:1px solid #E9F0EA!important;border-radius:2px!important;}
.parts228_post_wrap:hover{border-color:#E9F0EA!important;box-shadow:0 18px 40px rgba(20,45,34,.12);transform:translateY(-4px);}
.parts228_post_img{background:#dfe6e0!important;}
/* ページネーション：実Bladeは span>a の入れ子。箱は a と現在ページ(span)に付け、
   ラッパー span(prev/next/num)は素通し＝二重枠・不揃いを防ぐ */
.parts228_pagenation .pagination_prev,.parts228_pagenation .pagination_next,.parts228_pagenation .pagination_num{border:0!important;background:transparent!important;padding:0!important;min-width:0!important;height:auto!important;}
.parts228_pagenation a,.parts228_pagenation .pagination_num.current{display:inline-flex!important;align-items:center;justify-content:center;min-width:40px!important;height:40px!important;padding:0 12px!important;background:#fff!important;color:#1F2D22!important;border:1px solid #E9F0EA!important;border-radius:0!important;}
.parts228_pagenation a:hover{border-color:#2E7D4F!important;color:#2E7D4F!important;}
.parts228_pagenation .pagination_num.current{background:#0E9E55!important;color:#fff!important;border-color:#0E9E55!important;}

/* ============================================================
   施工実績 parts131415_blog_PRE9WvHbNb  ＝これ1つに置き換え
   ============================================================ */
/* セクション：背景写真の上に暗幕（白文字を読みやすく／デザインの暗い緑に） */
.parts131415_blog_PRE9WvHbNb{ position:relative; overflow:hidden; }
.parts131415_blog_PRE9WvHbNb::after{
  content:""; position:absolute; inset:0; z-index:0;
  background:rgba(18,34,26,.74); pointer-events:none;
}
/* 中身（タイトル・カード）は暗幕より前面に＝カードは暗くならない */
.parts131415_blog_PRE9WvHbNb > .container-lg,
.parts131415_blog_PRE9WvHbNb > .container{
  position:relative; z-index:1;
}
/* タイトル：eyebrow（施工実績）＋WORKS＋説明文 */
.parts131415_blog_PRE9WvHbNb .parts131415_blog_title_wrap{
  text-align:left; margin-bottom:clamp(36px,5vw,60px);
}
.parts131415_blog_PRE9WvHbNb .parts131415_blog_title_wrap::before{
  content:"施工実績"; display:block;
  font-size:13px; font-weight:700; letter-spacing:.18em; color:#fff; opacity:.8;
  margin:0 0 14px; padding-left:44px;
  background:linear-gradient(#fff,#fff) left center/32px 1px no-repeat;
}
.parts131415_blog_PRE9WvHbNb .parts131415_blog_title_wrap h2{
  font-family:'Josefin Sans',sans-serif;
  font-size:clamp(48px,8vw,104px); line-height:1; letter-spacing:.12em;
  margin:0; color:#fff;
}
.parts131415_blog_PRE9WvHbNb .parts131415_blog_title_wrap p{
  font-size:clamp(13px,1.5vw,15px); line-height:2.1;
  color:rgba(255,255,255,.8); margin:18px 0 0;
  max-width:none;            /* ★560px → none に（1行に収める） */
  text-wrap:pretty;          /* 折り返す時も変な位置で切れにくく */
}

/* カード並び：3列／隙間防止（上揃え・行は中身なり） */
.parts131415_blog_PRE9WvHbNb .content{
  display:grid !important;
  grid-template-columns:repeat(3,1fr) !important;
  gap:clamp(18px,3vw,28px);
  align-items:start !important;
  grid-auto-rows:max-content !important;
}
@media (max-width:900px){
  .parts131415_blog_PRE9WvHbNb .content{ grid-template-columns:repeat(2,1fr) !important; }
}
@media (max-width:600px){
  .parts131415_blog_PRE9WvHbNb .content{ grid-template-columns:1fr !important; }
}

/* カード：列いっぱいに伸ばす＋高さは中身なり＋写真を全幅に */
.parts131415_blog_PRE9WvHbNb .content > *{
  width:100% !important; max-width:none !important;
  flex:initial !important; margin:0 !important; align-self:start !important;
}
.parts131415_blog_PRE9WvHbNb .card{
  width:100% !important; height:auto !important;
  background:#fff !important; border:0 !important; border-radius:0 !important;
  overflow:hidden; padding:0 !important;
}
.parts131415_blog_PRE9WvHbNb .card a{ display:block; }

/* 文字色（skinの !important を詳細度で上回るため .card を挟む） */
.parts131415_blog_PRE9WvHbNb .card .card-title{
  margin:0; font-size:12.5px; font-weight:700; color:#2E7D4F !important;
  letter-spacing:.06em; padding:15px 12px 9px; text-align:center;
}
.parts131415_blog_PRE9WvHbNb .card .card-text{
  margin:0; font-size:14.5px; font-weight:700; line-height:1.6; color:#1F2D22 !important;
  padding:0 16px 14px; text-align:center;
}

/* 写真：全幅・横長240pxで切り抜き */
.parts131415_blog_PRE9WvHbNb .parts131415_blog_thumbnail{
  width:100% !important; height:auto !important; overflow:hidden;
}

/* ===== ブログ parts131415_blog（index）===== */
/* bg-colorの緑背景を打ち消し */
.parts131415_blog_Qe2fOaT2un.parts131415_blog {
  background: #F4F7F2 !important;
  padding: clamp(70px, 11vh, 140px) clamp(16px, 4vw, 56px) !important;
  font-family: 'Noto Sans JP', sans-serif;
}

.parts131415_blog_Qe2fOaT2un .container-lg {
  max-width: 1080px !important;
  margin: 0 auto !important;
}

/* 見出し：受領モックと同じ＝小さい日本語eyebrow(両脇に線) ＋ 大きな英字「BLOG」。
   h2=eyebrow(両脇線は h2::before/::after)、大見出しBLOGは title_wrap::after で足す。 */
.parts131415_blog_Qe2fOaT2un .parts131415_blog_title_wrap {
  text-align: center;
  margin-bottom: clamp(36px, 5vw, 60px);
}

.parts131415_blog_Qe2fOaT2un .parts131415_blog_title_wrap h2 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  font-family: 'Josefin Sans', 'Noto Sans JP', sans-serif !important;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .18em;
  color: #2E7D4F !important;
  margin: 0;
}

.parts131415_blog_Qe2fOaT2un .parts131415_blog_title_wrap h2::before,
.parts131415_blog_Qe2fOaT2un .parts131415_blog_title_wrap h2::after {
  content: "";
  display: block;
  width: 32px;
  height: 1px;
  background: #2E7D4F;
}

.parts131415_blog_Qe2fOaT2un .parts131415_blog_title_wrap::after {
  content: "BLOG";
  display: block;
  font-family: 'Josefin Sans', sans-serif;
  font-size: clamp(36px, 5vw, 64px);
  line-height: 1;
  letter-spacing: .12em;
  color: #1F2D22;
  margin-top: 14px;
}

.parts131415_blog_Qe2fOaT2un .parts131415_blog_title_wrap p:empty {
  display: none;
}

/* カードグリッド：bootstrapの.row+g-4をgridに上書き */
.parts131415_blog_Qe2fOaT2un .row {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(260px, 340px)) !important;
  justify-content: center !important;
  gap: clamp(18px, 3vw, 28px) !important;
  margin: 0 !important;
}

.parts131415_blog_Qe2fOaT2un .col {
  width: auto !important;
  max-width: none !important;
  flex: initial !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* カード */
.parts131415_blog_Qe2fOaT2un .card {
  background: #fff !important;
  height: 100%;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: 0 10px 30px -22px rgba(31, 45, 34, .5);
  transition: transform .35s ease, box-shadow .35s ease;
}

.parts131415_blog_Qe2fOaT2un .card-body {
  padding: 0 !important;
}

.parts131415_blog_Qe2fOaT2un .card {
  width: 100% !important;
}

.parts131415_blog_Qe2fOaT2un .card a {
  display: block;
  text-decoration: none;
  padding: 0 !important;
  margin: 0 !important;
}

.parts131415_blog_Qe2fOaT2un .col:hover .card {
  transform: translateY(-4px);
  box-shadow: 0 18px 40px rgba(20, 45, 34, .14);
}

/* カテゴリ(h5)・タイトル(p)：skinの色!importantに.cardを挟んで詳細度勝ち */
.parts131415_blog_Qe2fOaT2un .card .card-title {
  font-family: 'Noto Sans JP', sans-serif !important;
  margin: 0;
  font-size: 12.5px;
  font-weight: 700;
  color: #2E7D4F !important;
  letter-spacing: .06em;
  padding: 15px 12px 9px;
  text-align: center;
}

.parts131415_blog_Qe2fOaT2un .card .card-text {
  font-family: 'Noto Sans JP', sans-serif !important;
  margin: 0;
  font-size: 14.5px;
  font-weight: 700;
  line-height: 1.6;
  color: #1F2D22 !important;
  padding: 0 16px 14px;
  text-align: center;
  text-wrap: pretty;
}

/* サムネ(<img>) */
.parts131415_blog_Qe2fOaT2un .parts131415_blog_thumbnail {
  width: 100% !important;
  height: 240px;
  overflow: hidden;
  margin: 0 !important;
  padding: 0 !important;
}

.parts131415_blog_Qe2fOaT2un .parts131415_blog_thumbnail img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block;
  transition: transform .6s ease;
}

.parts131415_blog_Qe2fOaT2un .col:hover .parts131415_blog_thumbnail img {
  transform: scale(1.05);
}

@media (max-width:560px) {
  .parts131415_blog_Qe2fOaT2un .parts131415_blog_thumbnail {
    height: 200px;
  }
}



#site-loader{position:fixed;inset:0;z-index:9999;background:#E8F0E9;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;}
#site-loader.is-done{animation:ldOut .7s cubic-bezier(.16,1,.3,1) forwards;}
#site-loader .ld-badge{width:132px;height:132px;border-radius:50%;background:radial-gradient(circle at 50% 36%,#fff 0%,#eef3ee 100%);display:flex;align-items:center;justify-content:center;box-shadow:0 22px 54px rgba(0,0,0,.42),0 0 0 1px rgba(255,255,255,.08),0 0 0 7px rgba(52,197,214,.08);animation:ldPop .8s cubic-bezier(.16,1,.3,1) both;}
#site-loader .ld-logo{height:74px;width:auto;display:block;}
#site-loader .ld-word{display:flex;flex-direction:column;align-items:center;gap:5px;animation:ldFade .7s ease .25s both;}
#site-loader .ld-en{font-family:'Bebas Neue',sans-serif;font-size:22px;letter-spacing:.18em;color:#1F2D22;line-height:1;}
#site-loader .ld-jp{font-family:'Noto Sans JP',sans-serif;font-weight:700;font-size:15px;letter-spacing:.16em;color:#1F2D22;line-height:1;}
#site-loader .ld-bar{width:140px;height:3px;background:rgba(31,45,34,.14);border-radius:2px;overflow:hidden;}
#site-loader .ld-bar span{display:block;height:100%;width:100%;transform-origin:left;background:linear-gradient(90deg,#34C5D6,#2E7D4F);animation:ldBar 1.5s cubic-bezier(.5,0,.2,1) forwards;}
@keyframes ldPop{0%{opacity:0;transform:scale(.6) translateY(8px);}100%{opacity:1;transform:none;}}
@keyframes ldFade{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:none;}}
@keyframes ldBar{from{transform:scaleX(0);}to{transform:scaleX(1);}}
@keyframes ldOut{to{opacity:0;visibility:hidden;}}
@media (prefers-reduced-motion: reduce){
  #site-loader.is-done{animation:ldOut .3s ease forwards!important;}
  #site-loader .ld-badge,#site-loader .ld-word,#site-loader .ld-bar span{animation:none!important;}
}


/* ===== お問い合わせ/応募フォーム：skinの !important が漏れる項目を再上書き ===== */
/* skin(cuezilla-skin.css) は .required(緑塗り) と .error(accent色=このテーマでは緑) を
   !important 指定しており、pages.css の無印ルールに勝ってしまう（[[cuezilla-section-green-bg]] と同類）。
   モック（必須バッジ=白地・緑アウトライン / エラー=赤）へ戻すため、フォーム内に限定して
   !important で再宣言する。specificity 0,2,0 > skin の 0,1,0 なので確実に勝つ。
   パーツのインライン<style>は本番で破棄されるため、必ずこの外部CSSで当てること。 */
.parts213_form_wrap .required,
.parts219_form_wrap .required{
  display:inline-block!important;
  background:transparent!important;
  color:#2E7D4F!important;
  border:1px solid #2E7D4F!important;
  border-radius:1px!important;
  padding:2px 8px!important;
  line-height:1.5!important;
  white-space:nowrap!important;
  vertical-align:middle;
}
.parts213_form_wrap .error,
.parts219_form_wrap .error,
.parts213_form_wrap .error span,
.parts219_form_wrap .error span{
  color:#c0392b!important;
}

/* ===== フォーム送信ボタン：skin §7 の「コンテナ緑ベタ」を解除 ===== */
/* 【原因】skin §7 は ".contact_submit, .contact_submit button, .contact_submit input"
   と列挙して、ボタンを囲む div(.contact_submit)自体にも background:accent !important を当てる。
   → div が全幅の緑ベタ帯になり、上に緑ボタンが乗って「緑1本バー」に見える。
   【対処】コンテナ(.contact_submit)は透明に戻し、緑は input(ボタン)だけに残す。
   コンテナへの !important は input には及ばないので、ボタンは緑のまま。
   specificity 0,2,0(コンテナ) > skin 0,1,0。入力画面・確認画面の両方に適用してOK。 */
/* gap/flex は .contact_submit 本体に当てる。
   ※ d-flex は CueZilla がユーティリティクラスを剥がすため当てにできない（ボタンがくっつく原因だった）。
   .contact_submit は確実に残る（背景透明が効いている＝一致確認済み）ので、こちらで flex 化＋間隔を取る。
   確認画面=2ボタン、入力画面=1ボタンのどちらも中央寄せでOK。 */
.contact_section .contact_submit{ background:transparent!important; display:flex!important; justify-content:center!important; align-items:center!important; flex-wrap:wrap!important; margin-top:20px; }
/* ボタン間の余白は input 自身の margin で確保する。
   gap はコンテナが直接の flex 親でない構造（CueZillaが中間要素を挟む）だと効かないので当てにしない。
   ※ 以前ここに input+input{margin-left:0!important} を置いてしまい、余白を消していた（撤去済み）。 */
/* 入力フォームの送信ボタン(pages.css: padding 16px 56px / fs15 / 700 / .08em / 緑・角なし)と同じ見た目に揃える。
   確認画面は2ボタンなので、間隔だけ margin で確保（他は入力フォームと同一）。 */
.contact_section .contact_submit input{ flex:0 0 auto!important; width:auto!important; margin:6px 10px!important; padding:16px 56px!important; font-size:15px!important; font-weight:700!important; letter-spacing:.08em!important; cursor:pointer; }
.contact_section .contact_submit input[name="store"]:disabled{ background:#b9c4bd!important; cursor:not-allowed; }
/* reCAPTCHA 中央寄せ（確認画面のみ存在） */
.contact_section .g-recaptcha{ display:flex; justify-content:center; margin:24px 0 4px; }

/* ===== ヘッダー：スマホ時のみハンバーガー左にInstagram ===== */
/* KEEP: 02_header.html の a[data-ig-sp] を≤840px（ハンバーガー表示と同ブレークポイント）で表示。
   PC(≥841px)はnav内の別Instagramを使うため非表示のまま。inline display:none を !important で上書きする */
header a[data-ig-sp]{display:none;}
@media(max-width:840px){
  header a[data-ig-sp]{display:inline-flex!important;}
}
/* /KEEP */
.career-map {
  max-width: 1160px;
  margin: 0 auto;
  padding: clamp(56px, 8vh, 96px) clamp(24px, 5vw, 40px);
}

/* 見出し */
.career-map__intro {
  text-align: center;
  margin-bottom: clamp(36px, 5vh, 52px);
}
.career-map .eyebrow {
  font-family: 'Josefin Sans', sans-serif;
  font-weight: 600;
  font-size: 11px;
  letter-spacing: .2em;
  color: #2E7D4F;
  margin: 0 0 12px;
}
.career-map h2 {
  font-size: clamp(20px, 2.6vw, 28px);
  font-weight: 900;
  color: #1F2D22;
  letter-spacing: .04em;
  margin: 0 0 12px;
}
.career-map .lead {
  font-size: 14px;
  color: #666;
  line-height: 1.9;
  margin: 0;
}

/* 3ステップのグリッド */
.career-steps {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: clamp(14px, 2vw, 20px);
  align-items: stretch;
}

/* カード */
.career-step {
  background: #fff;
  border-radius: 2px;
  padding: clamp(26px, 3vw, 34px);
  border-top: 3px solid #34C5D6;   /* STEPごとに下で上書き */
  display: flex;
  flex-direction: column;
}
.career-steps > .career-step:nth-child(1) { border-top-color: #9AD7E0; }
.career-steps > .career-step:nth-child(2) { border-top-color: #34C5D6; }
.career-steps > .career-step:nth-child(3) { border-top-color: #2E7D4F; }

.career-step__num {
  font-family: 'Josefin Sans', sans-serif;
  font-weight: 600;
  font-size: 10px;
  letter-spacing: .14em;
  color: #2E7D4F;
  margin: 0 0 8px;
}
.career-step__year {
  font-size: 20px;
  font-weight: 800;
  color: #1F2D22;
  letter-spacing: .03em;
  margin: 0 0 4px;
}
.career-step__theme {
  font-size: 13px;
  font-weight: 700;
  color: #2E7D4F;
  letter-spacing: .04em;
  margin: 0 0 20px;
}

/* 小見出し（主な業務／めざす資格） */
.career-step__label {
  font-size: 11px;
  font-weight: 700;
  color: #2592A3;
  letter-spacing: .08em;
  margin: 0 0 8px;
}
.career-step__label::before {
  content: "▶ ";
}
.career-step__desc {
  font-size: 14px;
  color: #5a6b60;
  line-height: 1.95;
  margin: 0 0 22px;
  text-wrap: pretty;
}
/* 「めざす資格」の小見出しだけ下マージンを少し広く */
.career-step__label + .cert-list {
  margin-top: 2px;
}

/* 資格チップ */
.cert-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.cert-list li {
  font-size: 12px;
  font-weight: 700;
  color: #256B43;
  background: #EAF3EC;
  border: 1px solid #cfe6d5;
  border-radius: 3px;
  padding: 3px 10px;
  letter-spacing: .02em;
  line-height: 1.5;
}

/* レスポンシブ：狭幅で1カラム */
@media (max-width: 780px) {
  .career-steps { grid-template-columns: 1fr; }
}