/* ===== 20_site.css ===== */
/* ===== O01931 株式会社NEXUS site.css =====
   受領13ページ＋共通ヘッダー部品の helmet 内スタイルを全ページ union
   （同一宣言は1本化・ページ間で食い違う宣言は index の値を採用）。
   ・受領の image-slot 要素は img.ph-slot へ振り替え済み（::part(frame)/::part(img) は要素自身へ）。
   ・インラインの animation/transition は CueZilla が style 属性から落とすためクラスへ退避済み（末尾）。
   ・style-hover 属性は :hover の生成クラスへ退避済み（末尾）。
   ・::before/::after の content 依存装飾は R-27 節で実要素／背景へ置き換え済み。
 */
html,body{margin:0;padding:0}
body{font-family:'Noto Sans JP',sans-serif;color:#1B2733;background:#FFFFFF; --navy:#0F2C52;--blue:#1A62C0;--lblue:#6FB1F2; --accent:#1A62C0;--accentDeep:#1A62C0; --pale:#EEF4FB;--dataBg:#EEF4FB;--dataHead:#0F2C52;--dataSub:#5C6878;--heroBadge:#1A62C0;}
span.line-chunk{display:inline-block;overflow-wrap:anywhere;word-break:normal}
img{max-width:100%}
a{-webkit-tap-highlight-color:transparent}
a:focus-visible,button:focus-visible{outline:3px solid #1A62C0;outline-offset:2px}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{transition:none !important;animation:none !important}
}
[data-reveal],[data-reveal-stagger]>*{opacity:0;transform:translateY(28px);transition:opacity .85s cubic-bezier(.16,1,.3,1),transform .85s cubic-bezier(.16,1,.3,1);will-change:opacity,transform}
[data-reveal].is-in,[data-reveal-stagger].is-in>*{opacity:1;transform:none}
[data-reveal-stagger].is-in>*:nth-child(2){transition-delay:.1s}
[data-reveal-stagger].is-in>*:nth-child(3){transition-delay:.2s}
[data-reveal-stagger].is-in>*:nth-child(4){transition-delay:.3s}
[data-reveal-stagger].is-in>*:nth-child(5){transition-delay:.4s}
[data-reveal-stagger].is-in>*:nth-child(6){transition-delay:.5s}
[data-reveal-stagger].is-in>*:nth-child(7){transition-delay:.6s}
[data-reveal-stagger].is-in>*:nth-child(8){transition-delay:.7s}
@media (prefers-reduced-motion:reduce){
  [data-reveal],[data-reveal-stagger]>*{opacity:1 !important;transform:none !important;transition:none !important}
}
[data-chars]>span{display:inline-block;opacity:0;transform:translateY(.5em);transition:opacity .95s ease,transform 1.05s cubic-bezier(.22,.61,.36,1)}
.is-in [data-chars]>span{opacity:1;transform:none}
.is-in [data-chars]>span:nth-child(1){transition-delay:0s}
.is-in [data-chars]>span:nth-child(2){transition-delay:.12s}
.is-in [data-chars]>span:nth-child(3){transition-delay:.24s}
.is-in [data-chars]>span:nth-child(4){transition-delay:.36s}
.is-in [data-chars]>span:nth-child(5){transition-delay:.48s}
.is-in [data-chars]>span:nth-child(6){transition-delay:.6s}
.is-in [data-chars]>span:nth-child(7){transition-delay:.72s}
@media (prefers-reduced-motion:reduce){
  [data-chars]>span{opacity:1 !important;transform:none !important;transition:none !important}
}
@keyframes charRise{from{opacity:0;transform:translateY(.5em)}to{opacity:1;transform:none}}
[data-chars-load]>span{display:inline-block;opacity:0;animation:charRise 1s cubic-bezier(.22,.61,.36,1) both}
@media (prefers-reduced-motion:reduce){
  [data-chars-load]>span{opacity:1 !important;transform:none !important;animation:none !important}
}
#nxLoad{position:fixed;inset:0;width:100%;height:100%;z-index:100000;background:#0F2C52;display:flex;align-items:center;justify-content:center;opacity:1;will-change:opacity,filter}
#nxLoad .nxLoadInner{display:flex;flex-direction:column;align-items:center;gap:26px;will-change:transform,opacity}
#nxLoad .nxLoadMark{width:min(46vw,300px);height:auto;display:block;animation:nxLoadPulse 2.2s ease-in-out infinite}
#nxLoad .nxLoadBar{position:relative;width:min(46vw,300px);height:3px;background:rgba(255,255,255,.18);overflow:hidden}
#nxLoad .nxLoadBar>i{position:absolute;left:0;top:0;bottom:0;width:40%;background:#6FB1F2;animation:nxLoadSlide 1.35s cubic-bezier(.65,.05,.36,1) infinite}
@keyframes nxLoadPulse{0%,100%{opacity:1}50%{opacity:.72}}
@keyframes nxLoadSlide{0%{transform:translateX(-100%)}100%{transform:translateX(350%)}}
html[data-nx-load="on"] [data-hero-seq]>p,html[data-nx-load="on"] [data-hero-seq]>div{animation-play-state:paused !important}
@media (prefers-reduced-motion:reduce){
  #nxLoad .nxLoadMark{animation:none}
  #nxLoad .nxLoadBar>i{animation:none;width:100%}
}
@keyframes heroFadeUp{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
[data-hero-seq]>p,[data-hero-seq]>div{opacity:0;animation:heroFadeUp .85s cubic-bezier(.22,.61,.36,1) both}
[data-hero-seq]>p:first-of-type{animation-delay:.5s}
[data-hero-seq]>p:nth-of-type(2){animation-delay:1.15s}
[data-hero-seq]>div{animation-delay:1.35s}
@media (prefers-reduced-motion:reduce){
  [data-hero-seq]>p,[data-hero-seq]>div{opacity:1 !important;transform:none !important;animation:none !important}
}
@keyframes heroKenBurns{from{transform:scale(1.05) translate3d(0,0,0)}to{transform:scale(1.2) translate3d(-2.6%,-1.7%,0)}}
.hero-kenburns{animation:heroKenBurns 16s ease-in-out infinite alternate;transform-origin:50% 45%;will-change:transform;backface-visibility:hidden}
@media (prefers-reduced-motion:reduce){
  .hero-kenburns{animation:none !important;transform:none !important}
}
[data-block]{position:relative}
@keyframes nxBlockWipe{0%{transform:scaleX(0);transform-origin:left center}45%{transform:scaleX(1);transform-origin:left center}55%{transform:scaleX(1);transform-origin:right center}100%{transform:scaleX(0);transform-origin:right center}}
@keyframes nxBlockShow{0%,55%{opacity:0}72%,100%{opacity:1}}
[data-stepup]{opacity:0;will-change:transform,opacity}
[data-stepup].is-in{animation:nxStepUp .8s cubic-bezier(.16,1,.3,1) var(--d,0s) both}
@keyframes nxStepUp{from{opacity:0;transform:translateY(calc(var(--baseY,0px) + 52px))}to{opacity:1;transform:translateY(var(--baseY,0px))}}
@media (prefers-reduced-motion:reduce){
  [data-stepup]{opacity:1 !important;animation:none !important;transform:translateY(var(--baseY,0px)) !important}
}
.nx-confetti{position:absolute;left:50%;top:-104px;transform:translateX(-50%);width:min(300px,108%);height:200px;pointer-events:none;overflow:visible;z-index:4}
.nx-confetti>i{position:absolute;display:block;opacity:0;clip-path:polygon(22% 0,100% 0,78% 100%,0 100%);will-change:transform,opacity}
.is-in .nx-confetti>i{animation:nxConfettiFall var(--dur,3.4s) linear var(--cd,0s) infinite}
.nx-confetti>i:nth-child(3n){--dur:4s;--sx:-15px;--fall:188px}
.nx-confetti>i:nth-child(3n+1){--dur:3.2s;--sx:13px;--fall:158px}
.nx-confetti>i:nth-child(3n+2){--dur:4.5s;--sx:-9px;--fall:206px}
@keyframes nxConfettiFall{0%{opacity:0;transform:translate(0,-48px) rotate(var(--r,0deg)) scale(.7)} 12%{opacity:.9} 50%{transform:translate(var(--sx,11px),calc(var(--fall,170px)*.5)) rotate(calc(var(--r,0deg) + var(--rr,90deg)*.5)) scale(1)} 88%{opacity:.9} 100%{opacity:0;transform:translate(calc(var(--sx,11px)*-1),var(--fall,170px)) rotate(calc(var(--r,0deg) + var(--rr,90deg))) scale(1)}}
@media (prefers-reduced-motion:reduce){
  .nx-confetti{display:none}
}
.nx-databars{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}
.nx-databars>i{position:absolute;left:0;display:block;transform:translate(-180%,-50%) skewX(-20deg);opacity:0;will-change:transform,opacity}
[data-inview].is-in .nx-databars>i{animation:nxDataBar 1.6s cubic-bezier(.22,.61,.36,1) var(--bd,0s) forwards}
@keyframes nxDataBar{0%{transform:translate(-180%,-50%) skewX(-20deg);opacity:0}16%{opacity:1}78%{opacity:1}100%{transform:translate(calc(100vw + 180%),-50%) skewX(-20deg);opacity:0}}
@media (prefers-reduced-motion:reduce){
  .nx-databars{display:none}
}
.work-list{display:flex;flex-direction:column;gap:clamp(46px,7vw,96px);width:100%}
.work-row{display:flex;flex-direction:column;gap:14px}
.work-photo{position:relative;width:100%;line-height:0;z-index:2}
.work-photo .ph-slot{display:block;width:100%;height:clamp(200px,50vw,270px)}
.work-num{position:absolute;left:10px;bottom:4px;z-index:2;font-family:'Archivo',sans-serif;font-style:italic;font-weight:900;line-height:.8;font-size:clamp(70px,19vw,120px);color:#FFFFFF;-webkit-text-stroke:1px rgba(15,44,82,.28);text-shadow:0 6px 22px rgba(15,44,82,.4);pointer-events:none}
.work-meta{padding:0 clamp(14px,5vw,24px);display:flex;flex-direction:column;gap:10px;position:relative;z-index:1}
.work-title{margin:0;font-size:clamp(21px,2.6vw,30px);font-weight:900;color:#0F2C52;line-height:1.35;display:flex;align-items:center;gap:10px}
.work-row.right .work-title{flex-direction:row-reverse}
.work-desc{margin:0;font-size:clamp(16px,1.5vw,16px);color:#5C6878;line-height:1.95}
.work-row.right .work-meta{text-align:right;align-items:flex-end}
.work-row.right .work-num{left:auto;right:10px}
@media (min-width:992px){
  .work-list{gap:clamp(78px,9vw,132px)}
  .work-row{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);align-items:center;gap:clamp(20px,2.8vw,40px)}
  .work-row.right{grid-template-columns:minmax(0,1fr) minmax(0,1.7fr)}
  .work-photo .ph-slot{height:clamp(300px,32vw,420px)}
  .work-row.left .work-meta{padding:0 clamp(20px,3vw,40px) 0 clamp(28px,4vw,60px)}
  .work-row.right .work-photo{order:2}
  .work-row.right .work-meta{order:1;text-align:right;align-items:flex-end;padding:0 clamp(28px,4vw,60px) 0 clamp(20px,3vw,40px)}
  .work-row.right .work-num{left:auto;right:10px}
}
.nx-sec-sweep{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:9}
.nx-sec-sweep>span{position:absolute;top:-20%;bottom:-20%;left:0;width:34%;transform:skewX(-12deg) translateX(-140%);will-change:transform}
[data-sweep].is-in .nx-sec-sweep>span{animation-name:nxSecSweep;animation-timing-function:cubic-bezier(.76,0,.24,1);animation-fill-mode:both}
[data-sweep].is-in .nx-sec-sweep>.p1{background:var(--sw1,var(--lblue,#6FB1F2));animation-duration:1.05s;animation-delay:0s}
[data-sweep].is-in .nx-sec-sweep>.p2{background:var(--sw2,var(--accent,#1A62C0));animation-duration:1.15s;animation-delay:.13s}
@keyframes nxSecSweep{from{transform:skewX(-12deg) translateX(-140%)}to{transform:skewX(-12deg) translateX(400%)}}
[data-sweep] .nx-sweep-hide{opacity:0}
[data-sweep].is-in .nx-sweep-hide{animation:nxSweepReveal 2.1s cubic-bezier(.33,0,.2,1) both}
@keyframes nxSweepReveal{0%,52%{opacity:0;transform:translateY(16px)}100%{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){
  .nx-sec-sweep{display:none}
  [data-sweep] .nx-sweep-hide{opacity:1 !important;animation:none !important}
}
.heroBadgeMobile{display:none}
@media (max-width:991px){
  .heroB-content{padding-top:76px !important;padding-bottom:76px !important}
}
@media (max-width:991px) and (max-height:640px){
  .heroB-content{padding-top:56px !important;padding-bottom:64px !important}
}
.heroOverlayB{background:linear-gradient(78deg,rgba(7,26,50,.62) 0%,rgba(7,26,50,.24) 40%,rgba(7,26,50,0) 66%)}
@media (max-width:680px){
  .heroB-sec{display:block !important;min-height:0 !important;background:#0A2340 !important}
  video.heroB-media{position:relative !important;inset:auto !important;width:100% !important;height:clamp(240px,58vw,340px) !important;object-fit:cover;display:block}
  .heroB-sec .heroOverlayB{top:0 !important;bottom:auto !important;height:clamp(240px,58vw,340px) !important;background:linear-gradient(180deg,rgba(7,26,50,.14) 0%,rgba(7,26,50,.06) 60%,rgba(7,26,50,.34) 100%) !important}
  .heroB-content{position:relative !important;overflow-x:clip;padding:clamp(26px,7vw,38px) clamp(14px,4vw,22px) clamp(34px,9vw,48px) !important;background:#0A2340}
  .heroB-sec .heroBtnRow{align-items:center}
  .heroBadgeDesktop{display:block !important;position:absolute !important;left:auto !important;right:30px !important;top:auto !important;bottom:calc(100% - 20px) !important;transform:none !important;width:clamp(60px,16vw,74px) !important;height:clamp(60px,16vw,74px) !important;z-index:4}
  .heroBadgeMobile{display:none !important}
  .heroOverlayB{background:linear-gradient(180deg,rgba(7,26,50,.34) 0%,rgba(7,26,50,.2) 42%,rgba(7,26,50,.5) 100%)}
}
[class*="design-parts-52"].bg-color{background-color:#EEF4FB !important}
section[class*="design-parts-52"]{font-family:"Noto Sans JP",sans-serif;padding:14px 16px !important}
[class*="design-parts-52"] .container{max-width:1140px;margin:0 auto}
[class*="design-parts-52"] .content{display:flex !important;flex-direction:column;align-items:flex-start;gap:10px}
[class*="design-parts-52"] h4.banner-area{background-color:#0F2C52 !important;color:#FFFFFF !important;font-size:16px !important;font-weight:700 !important;letter-spacing:.16em;line-height:1 !important;padding:11px 24px !important;margin:0 !important;flex-shrink:0}
[class*="design-parts-52"] ul{list-style:none;margin:0 !important;padding:0 !important;width:100%;flex:1 1 auto}
[class*="design-parts-52"] li{margin:0;padding:0}
[class*="design-parts-52"] li a{display:flex;align-items:center;min-height:44px;padding:6px 4px;text-decoration:none;color:#1B2733 !important}
[class*="design-parts-52"] .parts-52-textarea{display:flex;flex-wrap:wrap;align-items:center;gap:4px 18px}
[class*="design-parts-52"] .parts-52-textarea .date{color:#1A62C0 !important;font-weight:700;font-size:16px;letter-spacing:.06em}
[class*="design-parts-52"] .parts-52-textarea .d-inline-block{font-size:16px;line-height:1.6}
[class*="design-parts-52"] li a:hover .d-inline-block, [class*="design-parts-52"] li a:focus-visible .d-inline-block{text-decoration:underline}
@media (min-width:992px){
  [class*="design-parts-52"] .content{flex-direction:row;align-items:center;gap:28px}
  [class*="design-parts-52"] li a{min-height:60px}
}
[class*="parts131415_blog"].bg-img{background-image:none !important;background-color:#EEF4FB !important}
section[class*="parts131415_blog"]{font-family:"Noto Sans JP",sans-serif;padding:clamp(64px,9vw,110px) 16px !important}
[class*="parts131415_blog"] .container-lg{max-width:1180px;margin:0 auto;display:flex;flex-direction:column;gap:clamp(28px,4vw,40px)}
[class*="parts131415_blog"] .parts131415_blog_title_wrap{text-align:center}
[class*="parts131415_blog"] .parts131415_blog_title_wrap h2{color:#0F2C52 !important;font-family:"Archivo","Noto Sans JP",sans-serif;font-weight:900 !important;font-size:clamp(48px,7vw,80px) !important;line-height:1 !important;letter-spacing:.01em;margin:0 !important}
[class*="parts131415_blog"] .parts131415_blog_title_wrap p{color:#5C6878 !important;font-size:clamp(17px,2vw,21px) !important;font-weight:700;letter-spacing:.05em;margin:14px 0 0 !important}
[class*="parts131415_blog"] .row{display:grid !important;grid-template-columns:1fr;gap:22px;margin:0 !important;padding:0 !important}
@media (min-width:576px){
  [class*="parts131415_blog"] .row{grid-template-columns:repeat(2,1fr)}
}
@media (min-width:992px){
  [class*="parts131415_blog"] .row{grid-template-columns:repeat(3,1fr);gap:26px}
}
[class*="parts131415_blog"] .col{width:auto !important;max-width:none !important;padding:0 !important}
[class*="parts131415_blog"] .card{background:#FFFFFF !important;border:1px solid #E3E9F2 !important;border-radius:0 !important;height:100%;box-shadow:0 6px 18px rgba(15,44,82,.06)}
[class*="parts131415_blog"] .card-body{padding:24px 22px 26px !important;display:flex;flex-direction:column;gap:14px}
[class*="parts131415_blog"] h5.card-title{margin:0 !important;color:#1A62C0 !important;font-size:16px !important;font-weight:700 !important;letter-spacing:.16em;display:flex;align-items:center;justify-content:center;gap:10px}
[class*="parts131415_blog"] .card-body a{display:flex;flex-direction:column;gap:14px;text-decoration:none;color:inherit}
[class*="parts131415_blog"] .card-text{margin:0 !important;color:#1B2733 !important;font-size:16px;font-weight:700 !important;line-height:1.65}
[class*="parts131415_blog"] .parts131415_blog_thumbnail{height:205px;overflow:hidden;background:#EEF4FB url("assets/ogp.png") center/cover no-repeat}
@media (min-width:576px){
  [class*="parts131415_blog"] .parts131415_blog_thumbnail{height:215px}
}
@media (min-width:992px){
  [class*="parts131415_blog"] .parts131415_blog_thumbnail{height:240px}
}
[class*="parts131415_blog"] .parts131415_blog_thumbnail img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease}
[class*="parts131415_blog"] .card-body a:hover img, [class*="parts131415_blog"] .card-body a:focus-visible img{transform:scale(1.05)}
.nx-banner .ph-slot{transition:transform 1.1s cubic-bezier(.16,1,.3,1);will-change:transform}
.nx-banner:hover .ph-slot,.nx-banner:focus-within .ph-slot{transform:scale(1.14)}
.nx-banner>a{transition:background .35s ease}
.nx-banner .nx-banner-arrow{transition:transform .4s cubic-bezier(.16,1,.3,1)}
.nx-banner:hover .nx-banner-arrow,.nx-banner:focus-within .nx-banner-arrow{transform:translateX(6px)}
.nx-arrow{display:inline-block;transition:transform .35s cubic-bezier(.16,1,.3,1);will-change:transform}
@media (max-width:640px){
  [data-chars-load]{font-size:clamp(22px,6.4vw,30px) !important;letter-spacing:-.01em}
}
.photo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:clamp(150px,15vw,200px);gap:12px}
.photo-grid>div{overflow:hidden}
.photo-grid .pg-wide{grid-column:span 2;grid-row:span 2}
.photo-grid .pg-tall{grid-row:span 2}
@media (max-width:860px){
  .photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:clamp(130px,30vw,180px)}
  .photo-grid .pg-wide{grid-column:span 2;grid-row:span 2}
  .photo-grid .pg-tall{grid-row:span 2}
}
.cta-btns{display:flex;flex-wrap:wrap;align-items:stretch;justify-content:center;gap:14px}
@media (max-width:560px){
  .cta-btns{flex-direction:column;width:100%;max-width:380px;margin-left:auto;margin-right:auto}
  .cta-btns>a{width:100%;box-sizing:border-box;padding-left:18px;padding-right:18px;font-size:16px !important}
}
.ph-slot#road-step1-badge,.ph-slot#road-step1-badge-m{background:transparent}
a:hover .nx-arrow,a:focus-visible .nx-arrow,button:hover .nx-arrow,button:focus-visible .nx-arrow{transform:translateX(7px)}
@media (prefers-reduced-motion:reduce){
  .nx-arrow{transition:none !important}
  a:hover .nx-arrow,button:hover .nx-arrow{transform:none !important}
  .nx-banner .ph-slot,.nx-banner>a,.nx-banner .nx-banner-arrow{transition:none !important}
  .nx-banner:hover .ph-slot,.nx-banner:focus-within .ph-slot{transform:none !important}
}
header[data-screen-label="ヘッダー"]{transition:background-color .3s ease,box-shadow .3s ease,backdrop-filter .3s ease,-webkit-backdrop-filter .3s ease,border-color .3s ease}
header[data-screen-label="ヘッダー"].is-scrolled{background:rgba(255,255,255,.7) !important;-webkit-backdrop-filter:blur(8px) saturate(125%);backdrop-filter:blur(8px) saturate(125%);border-bottom-color:rgba(227,233,242,.6);box-shadow:0 2px 16px rgba(15,44,82,.07)}
.nx-gnav{position:relative}
.nx-gnav>*{display:inline-flex;align-items:center;position:relative}
.nx-banner-arrow{transition:transform .4s cubic-bezier(.16,1,.3,1)}
.nx-banner:hover .nx-banner-arrow,.nx-banner:focus-within .nx-banner-arrow,.nx-link-card:hover .nx-banner-arrow,.nx-link-card:focus-visible .nx-banner-arrow{transform:translateX(6px)}
@media (prefers-reduced-motion:reduce){
  .nx-banner .ph-slot,.nx-banner>a,.nx-banner-arrow{transition:none !important}
}
@media (max-width:680px){
  .ph-slot#rec-scene-v4{height:clamp(200px,52vw,300px) !important}
  .ph-slot#rec-scene-v4{object-position:70% center !important}
}
@media (max-width:760px){
  .voice-card{grid-template-columns:1fr !important}
}
details.nx-faq{border:1px solid #E3E9F2;background:#FFFFFF}
details.nx-faq + details.nx-faq{border-top:0}
details.nx-faq > summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 22px;font-size:clamp(16px,1.9vw,18px);font-weight:800;color:#0F2C52;line-height:1.6}
details.nx-faq > summary::-webkit-details-marker{display:none}
details.nx-faq > summary > .nx-q{display:flex;align-items:flex-start;gap:12px}
.nx-faq-mark{flex-shrink:0;width:22px;height:22px;position:relative;transition:transform .3s ease}
details.nx-faq[open] .nx-faq-mark{transform:rotate(135deg) !important}
details.nx-faq > div{padding:0 22px 22px 50px;font-size:16px;line-height:1.95;color:#5C6878}
@media (prefers-reduced-motion:reduce){
  .nx-faq-mark{transition:none !important}
}
.ph-slot[id^="exp-tech-2"]{background:#FFFFFF}
.env-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
@media (max-width:900px){
  .career-grid{grid-template-columns:1fr !important}
}
@media (max-width:760px){
  .env-grid{grid-template-columns:1fr}
}
.ph-slot[id^="ben-voice"]{background:transparent}
.benefit-penta{position:relative;width:100%;min-height:900px;max-width:1060px;margin:0 auto}
.benefit-penta>.penta-line{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:0}
.benefit-penta>.penta-hub{position:absolute;left:50%;top:438px;transform:translate(-50%,-50%);z-index:1;width:clamp(108px,12vw,140px);height:clamp(108px,12vw,140px);border-radius:50%;background:#0F2C52;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;text-align:center;box-shadow:0 14px 34px rgba(15,44,82,.22)}
.benefit-penta>.bcard{position:absolute;width:clamp(220px,22vw,270px);height:252px;transform:translate(-50%,-50%);box-sizing:border-box;z-index:2}
@media (max-width:939px){
  .benefit-penta{min-height:0;display:flex;flex-direction:column;gap:16px;max-width:540px}
  .benefit-penta>.bcard{position:static;transform:none;width:100%;height:auto}
  .benefit-penta>.penta-line,.benefit-penta>.penta-hub{display:none}
}
@keyframes nx-marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.nx-marquee-track{display:flex;width:max-content;animation:nx-marquee 40s linear infinite}
.nx-marquee-track:hover{animation-play-state:paused}
@media (prefers-reduced-motion:reduce){
  .nx-marquee-track{animation:none}
}
section.contact_section{font-family:"Noto Sans JP",sans-serif;padding:clamp(36px,5vw,56px) clamp(14px,2.5vw,24px) clamp(64px,9vw,110px)}
.parts219_section_form{max-width:920px;margin:0 auto}
.parts219_form_wrap{display:flex;flex-direction:column}
.parts219_form_wrap dl{margin:0;display:grid;grid-template-columns:1fr;gap:8px;padding:16px 0}
.parts219_form_wrap dt{margin:0;display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:16px;font-weight:700;color:#1B2733}
.parts219_form_wrap dd{margin:0;min-width:0}
@media (min-width:768px){
  .parts219_form_wrap dl{grid-template-columns:340px minmax(0,1fr);column-gap:24px;align-items:center;padding:14px 0}
  .parts219_form_wrap dl.form_textarea,.parts219_form_wrap dl.attach,.parts219_form_wrap dl.attach2,.parts219_form_wrap dl.form_address{align-items:start}
}
.parts219_form_wrap .required{flex-shrink:0;font-size:16px;font-weight:700;color:#FFFFFF;background:#D8232A;padding:5px 14px;letter-spacing:.04em;line-height:1.5}
.parts219_form_wrap .attention{display:block;font-size:16px;font-weight:600;color:#5C6878;line-height:1.7;margin-top:6px}
.parts219_form_wrap input[type="text"], .parts219_form_wrap input[type="email"], .parts219_form_wrap textarea{width:100%;box-sizing:border-box;font-family:inherit;font-size:16px;line-height:1.6;color:#1B2733;background:#ECECEC;border:0;padding:14px 15px}
.parts219_form_wrap textarea{resize:vertical;min-height:180px}
.parts219_form_wrap input:focus, .parts219_form_wrap textarea:focus{outline:2px solid #1A62C0;outline-offset:1px;background:#E6EEF7}
.parts219_form_wrap input[type="file"]{font-family:inherit;font-size:16px;color:#1B2733;background:#ECECEC;border:0;padding:12px 14px;width:100%;box-sizing:border-box}
.parts219_form_wrap .form_address dd{display:flex;flex-direction:column;gap:8px}
.parts219_form_wrap .zip-row{display:flex;align-items:center;gap:8px}
.parts219_form_wrap .zip-row span{font-weight:700;color:#5C6878}
.parts219_form_wrap input.zip{max-width:200px}
.parts219_form_wrap .error{margin:6px 0 0;font-size:16px;font-weight:700;color:#D8232A}
.parts219_form_wrap .error:empty{display:none}
.parts219_form_wrap dt.form_text_dt{align-items:stretch}
.parts219_form_wrap dt.form_text_dt > span:first-child{align-self:center}
.parts219_form_wrap .contact_submit{display:flex;justify-content:center;padding-top:32px}
.parts219_form_wrap .contact_submit input[type="submit"]{min-height:58px;padding:15px 56px;background:#0F2C52;color:#FFFFFF;font-size:16px;font-weight:800;letter-spacing:.04em;border:0;cursor:pointer}
.parts219_form_wrap .contact_submit input[type="submit"]:hover{opacity:.88}
.ph-slot[id^="company-shikaku"]{background:#FFFFFF}
section[class*="parts228_section"]{font-family:"Noto Sans JP",sans-serif;padding:clamp(48px,7vw,90px) clamp(14px,2.5vw,24px) clamp(64px,9vw,110px)}
[class*="parts228_wrap"]{max-width:1180px;margin:0 auto}
[class*="parts228_main"]{display:grid !important;grid-template-columns:1fr;gap:clamp(22px,3vw,30px);margin:0;padding:0}
@media (min-width:576px){
  [class*="parts228_main"]{grid-template-columns:repeat(2,1fr)}
}
@media (min-width:992px){
  [class*="parts228_main"]{grid-template-columns:repeat(3,1fr);gap:30px}
}
[class*="parts228_post_list"]{display:contents}
[class*="parts228_post_wrap"]{margin:0 !important;padding:0 !important;background:#FFFFFF;border:1px solid #E3E9F2;display:flex;flex-direction:column}
[class*="parts228_post_img"]{position:relative;height:clamp(180px,22vw,220px);overflow:hidden;margin:0}
[class*="parts228_post_img"] a{display:block;width:100%;height:100%}
[class*="parts228_post_img"] img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease}
[class*="parts228_post_wrap"]:hover [class*="parts228_post_img"] img{transform:scale(1.05)}
[class*="parts228_post_status"]{display:flex;align-items:center;gap:10px;padding:16px 18px 0;margin:0}
[class*="parts228_post_date"]{font-family:"Archivo","Noto Sans JP",sans-serif;font-weight:700;font-size:16px;letter-spacing:.04em;color:#1A62C0}
[class*="parts-blog-ex-tag_wrap"]{display:flex;flex-wrap:wrap;gap:6px;padding:12px 18px 0;margin:0;list-style:none}
[class*="parts-blog-ex_tag"]{font-size:16px;font-weight:800;letter-spacing:.08em;color:#0F2C52;background:#EEF4FB;padding:5px 10px}
[class*="parts228_post_title-excerpt"]{padding:8px 18px 20px;margin:0}
[class*="parts228_post_title"]{margin:0;font-size:16px;font-weight:700;line-height:1.65;color:#1B2733}
[class*="parts228_post_excerpt"]{margin:8px 0 0;font-size:16px;line-height:1.8;color:#5C6878}
[class*="parts228_pagenation"]{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;margin-top:clamp(36px,5vw,56px);padding:0;list-style:none}
[class*="parts228_pagenation"] a,[class*="parts228_pagenation"] span{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:0 12px;font-family:"Archivo","Noto Sans JP",sans-serif;font-weight:700;font-size:16px;text-decoration:none;color:#0F2C52;border:1px solid #C7D0DC;background:#FFFFFF}
[class*="parts228_pagenation"] .pagination_num.current{background:#0F2C52;color:#FFFFFF;border-color:#0F2C52}
[class*="parts228_pagenation"] a:hover{border-color:#1A62C0;color:#1A62C0}
@media (prefers-reduced-motion:reduce){
  [class*="parts228_post_img"] img{transition:none}
}
section.parts222_section{font-family:"Noto Sans JP",sans-serif;padding:clamp(48px,7vw,90px) clamp(14px,2.5vw,24px) clamp(64px,9vw,110px)}
section.parts222_section > h2{max-width:1180px;margin:0 auto clamp(28px,4vw,40px);font-family:"Archivo","Noto Sans JP",sans-serif;font-weight:900;font-size:clamp(28px,4vw,40px);color:#0F2C52;letter-spacing:.02em}
.parts222_wrap{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:1fr;gap:clamp(36px,5vw,48px)}
@media (min-width:992px){
  .parts222_wrap{grid-template-columns:minmax(0,1fr) 300px;gap:clamp(40px,4vw,56px);align-items:start}
}
.parts222_main{min-width:0}
.parts222_post_list{display:grid;grid-template-columns:1fr;gap:24px;margin:0;padding:0;list-style:none}
@media (min-width:576px){
  .parts222_post_list{grid-template-columns:repeat(2,1fr)}
}
.parts222_post_wrap{display:flex;flex-direction:column;text-decoration:none;color:inherit;background:#FFFFFF;border:1px solid #E3E9F2}
.parts222_post_img{height:clamp(170px,20vw,200px);overflow:hidden}
.parts222_post_img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease}
.parts222_post_wrap:hover .parts222_post_img img,.parts222_post_wrap:focus-visible .parts222_post_img img{transform:scale(1.05)}
.parts222_post_status{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:15px 16px 0}
.parts222_post_date{font-family:"Archivo","Noto Sans JP",sans-serif;font-weight:700;font-size:16px;letter-spacing:.04em;color:#1A62C0}
.parts222_post_category{font-size:16px;font-weight:800;letter-spacing:.08em;color:#0F2C52;background:#EEF4FB;padding:5px 10px}
.parts222_post_title-excerpt{padding:10px 16px 18px}
.parts222_post_title{margin:0;font-size:16px;font-weight:700;line-height:1.65;color:#1B2733}
.parts222_pagenation{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;margin:clamp(32px,4vw,48px) 0 0;padding:0;list-style:none}
.parts222_pagenation a,.parts222_pagenation span{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:0 12px;font-family:"Archivo","Noto Sans JP",sans-serif;font-weight:700;font-size:16px;text-decoration:none;color:#0F2C52;border:1px solid #C7D0DC;background:#FFFFFF}
.parts222_pagenation .pagination_num.current{background:#0F2C52;color:#FFFFFF;border-color:#0F2C52}
.parts222_pagenation a:hover{border-color:#1A62C0;color:#1A62C0}
.parts222_sidebar{display:flex;flex-direction:column;gap:clamp(24px,3vw,32px)}
.parts222_sidebar_wrap h3{margin:0 0 6px;font-size:16px;font-weight:800;letter-spacing:.08em;padding:8px 0 8px 14px;border-left:4px solid currentColor}
.parts222_sidebar_wrap ul{list-style:none;margin:0;padding:0}
.parts222_sidebar_wrap li{border-bottom:1px solid #E3E9F2}
.parts222_sidebar_wrap li a{display:flex;flex-direction:column;gap:4px;padding:12px 2px;min-height:44px;text-decoration:none;color:inherit}
.parts222_sidebar_date{font-family:"Archivo","Noto Sans JP",sans-serif;font-size:16px;letter-spacing:.04em;opacity:.7}
.parts222_sidebar_post_title{margin:0;font-size:16px;line-height:1.6}
.parts222_sidebar_wrap.category_post_count li a{flex-direction:row;align-items:center;justify-content:space-between;gap:12px}
.parts222_sidebar_post_category{margin:0;font-size:16px}
.parts222_sidebar_post_category_count{flex-shrink:0;min-width:30px;height:26px;display:inline-flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;border:1px solid #C7D0DC}
@media (prefers-reduced-motion:reduce){
  .parts222_post_img img{transition:none}
}
[data-reveal-stagger]>*{opacity:0;transform:translateY(28px);transition:opacity .85s cubic-bezier(.16,1,.3,1),transform .85s cubic-bezier(.16,1,.3,1)}
[data-reveal-stagger].is-in>*{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  [data-reveal-stagger]>*{opacity:1 !important;transform:none !important;transition:none !important}
}
section.parts210_section_content{font-family:"Noto Sans JP",sans-serif;padding:clamp(40px,6vw,72px) clamp(14px,2.5vw,24px) 0}
.parts210_content_wrap{max-width:760px;margin:0 auto}
.parts210_content{font-size:clamp(16px,1.8vw,17px);font-weight:700;line-height:2;color:#1B2733}
.parts213_section_form{max-width:920px;margin:0 auto}
.parts213_form_wrap{display:flex;flex-direction:column}
.parts213_form_wrap dl{margin:0;display:grid;grid-template-columns:1fr;gap:8px;padding:16px 0}
.parts213_form_wrap dt{margin:0;display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:16px;font-weight:700;color:#1B2733}
.parts213_form_wrap dd{margin:0;min-width:0}
@media (min-width:768px){
  .parts213_form_wrap dl{grid-template-columns:340px minmax(0,1fr);column-gap:24px;align-items:center;padding:14px 0}
  .parts213_form_wrap dl.form_textarea{align-items:stretch}
}
.parts213_form_wrap .required{flex-shrink:0;font-size:16px;font-weight:700;color:#FFFFFF;background:#D8232A;padding:5px 14px;letter-spacing:.04em;line-height:1.5}
.parts213_form_wrap .attention{display:block;font-size:16px;font-weight:600;color:#D8232A;line-height:1.7;margin-top:6px}
.parts213_form_wrap input[type="text"], .parts213_form_wrap input[type="email"], .parts213_form_wrap textarea{width:100%;box-sizing:border-box;font-family:inherit;font-size:16px;line-height:1.6;color:#1B2733;background:#ECECEC;border:0;padding:14px 15px}
.parts213_form_wrap textarea{resize:vertical;min-height:230px}
.parts213_form_wrap input:focus, .parts213_form_wrap textarea:focus{outline:2px solid #1A62C0;outline-offset:1px;background:#E6EEF7}
.parts213_form_wrap dd:has(label){display:flex;flex-wrap:wrap;align-items:center;gap:12px 22px}
.parts213_form_wrap dd label{display:inline-flex;align-items:center;gap:8px;min-height:34px;font-size:16px;font-weight:600;color:#1B2733;cursor:pointer;white-space:nowrap}
.parts213_form_wrap dd label input[type="checkbox"]{width:18px;height:18px;flex-shrink:0;accent-color:#1A62C0}
.parts213_form_wrap dd:has(label) .error{flex-basis:100%}
.parts213_form_wrap .error{margin:6px 0 0;font-size:16px;font-weight:700;color:#D8232A}
.parts213_form_wrap .error:empty{display:none}
.parts213_form_wrap dt.form_text_dt{align-items:stretch}
.parts213_form_wrap dt.form_text_dt > span:first-child{align-self:center}
.parts213_form_wrap dt.form_text_dt > .required{align-self:flex-start}
.parts213_form_wrap .contact_submit{display:flex;justify-content:center;padding-top:28px}
.parts213_form_wrap .contact_submit input[type="submit"]{min-height:58px;padding:15px 52px;background:#0F2C52;color:#FFFFFF;font-size:16px;font-weight:800;letter-spacing:.04em;border:0;cursor:pointer}
.parts213_form_wrap .contact_submit input[type="submit"]:hover{opacity:.88}
header[data-sh]{transition:background-color .3s ease,box-shadow .3s ease,backdrop-filter .3s ease,-webkit-backdrop-filter .3s ease,border-color .3s ease}
header[data-sh].is-scrolled{background:rgba(255,255,255,.7) !important;-webkit-backdrop-filter:blur(8px) saturate(125%);backdrop-filter:blur(8px) saturate(125%);border-bottom-color:rgba(227,233,242,.6);box-shadow:0 2px 16px rgba(15,44,82,.07)}
/* ===== R-27 対応：疑似要素 content 依存の装飾を、実要素／背景グラデーションへ置き換えた分 =====
   CueZilla の追加CSS欄は ::before / ::after の content 宣言をサニタイズで落とす（R-27）。
   落ちると疑似要素そのものが生成されないため、受領デザインの装飾が実機で丸ごと消える。
   下は「受領CSSの当該ルールを外し、同じ見た目を content 無しで作り直した」置き換え。 */

/* ヘッダー グローバルナビの区切り線（受領: .nx-gnav>*+*::before）→ 要素自身の背景で描く */
.nx-gnav>*+*{background-image:linear-gradient(#1B2733,#1B2733);background-repeat:no-repeat;background-position:left center;background-size:2px 1.6em}

/* WORK 見出しの平行四辺形マーク（受領: .work-title::before）→ 実要素 .nx-title-mark */
.work-title>.nx-title-mark{flex-shrink:0;width:.34em;height:1.05em;background:var(--accent,#1A62C0);transform:skewX(-20deg)}

/* WORK 写真の暗幕（受領: .work-photo::before）→ 実要素 .nx-photo-veil */
.work-photo>.nx-photo-veil{content:none;position:absolute;inset:0;z-index:1;pointer-events:none;opacity:0;background:radial-gradient(78% 62% at 0% 100%,rgba(8,27,52,.92) 0%,rgba(8,27,52,.55) 30%,rgba(8,27,52,0) 60%)}
.work-row.right .work-photo>.nx-photo-veil{background:radial-gradient(78% 62% at 100% 100%,rgba(8,27,52,.92) 0%,rgba(8,27,52,.55) 30%,rgba(8,27,52,0) 60%)}
.work-photo.is-in>.nx-photo-veil{animation:nxBlockShow 1.05s linear var(--d,0s) both}

/* ブロックリビール（受領: [data-block]::after）→ BODY内JSが挿入する実要素 .nx-blk */
[data-block]>*:not(.nx-blk){opacity:0}
[data-block]>.nx-blk{position:absolute;inset:0;background:var(--blk,var(--accent,#1A62C0));transform:scaleX(0);transform-origin:left center;z-index:8;pointer-events:none}
[data-block].is-in>.nx-blk{animation:nxBlockWipe 1.05s cubic-bezier(.76,0,.24,1) var(--d,0s) both}
[data-block].is-in>*:not(.nx-blk){animation:nxBlockShow 1.05s linear var(--d,0s) both}

/* FAQ の「Q」の記号（受領は .nx-q の疑似要素に文字を持たせていた）→ 実要素 .nx-qmark */
details.nx-faq>summary>.nx-q>.nx-qmark{flex-shrink:0;font-family:'Archivo',sans-serif;font-weight:900;font-style:italic;color:#1A62C0;font-size:20px;line-height:1.3}
/* FAQ の ＋／× マーク（受領: .nx-faq-mark::before/::after）→ 実要素 i×2 */
.nx-faq-mark>i{position:absolute;background:#1A62C0;border-radius:2px;display:block}
.nx-faq-mark>i:first-child{left:50%;top:3px;width:2px;height:16px;transform:translateX(-50%)}
.nx-faq-mark>i:last-child{top:50%;left:3px;height:2px;width:16px;transform:translateY(-50%)}

/* TOPブログカードのカテゴリ見出し左右のダッシュ（受領: h5.card-title::before/::after）
   → CMSが描くDOMなので実要素を足せない。要素自身の背景で左右に線を引く（斜めは落ちる＝軽微な差） */
[class*="parts131415_blog"] h5.card-title{padding:0 30px;background-image:linear-gradient(#1A62C0,#1A62C0),linear-gradient(#1A62C0,#1A62C0);background-repeat:no-repeat,no-repeat;background-position:left center,right center;background-size:20px 2px,20px 2px}

@media (prefers-reduced-motion:reduce){
  .work-photo>.nx-photo-veil{opacity:1 !important;animation:none !important}
  [data-block]>*:not(.nx-blk){opacity:1 !important;animation:none !important}
  [data-block]>.nx-blk{display:none !important}
}
/* ===== 受領の dc 構文（sc-if / image-slot / state）を納品DOMへ置き換えた分の土台 ===== */

/* KEEP: 固定ヘッダー（94px）の高さ。skin 非採用のため案件側で定義する（R-18）。
   ページ内アンカー（協力会社募集の #strength / #partners）が固定ヘッダーに隠れないよう
   scroll-margin も併せて確保する。 */
:root{ --fixed-header-h:94px; }
.nx-root [id]{ scroll-margin-top:calc(var(--fixed-header-h,0px) + 16px); }
@media (prefers-reduced-motion:no-preference){ html{ scroll-behavior:smooth; } }
/* /KEEP */

/* KEEP: PC/SPの出し分け（受領は sc-if isDesktop / isMobile ＝ JSのメディアクエリ判定）。
   display:contents なのでラッパーがレイアウト（flex/grid）を透過する＝親の配置を壊さない。
   これが無いとPC用ナビとSP用バーガーが同時に出る。 */
.nx-desk{display:contents}
.nx-mob{display:none}
@media (max-width:991px){
  .nx-desk{display:none}
  .nx-mob{display:contents}
}
/* /KEEP */

/* KEEP: SPドロワーと採用ドロップダウン（受領は sc-if menuOpen / recruitOpen）。
   既定 display:none。BODY内JS が .is-open を付けて開く。これが無いと常時開いて画面を覆う。 */
.nx-drawer{display:none}
.nx-drawer.is-open{display:block}
.nx-recmenu{display:none}
.nx-recmenu.is-open{display:block}
/* /KEEP */

/* KEEP: タブ（募集要項の募集区分・未経験の1日の流れ）。
   既定で開くパネルにはHTML側で is-on を焼いてあるので、JSが動かなくても内容は必ず見える（R-4）。 */
.nx-panel:not(.is-on){display:none !important}
.nx-ip.is-on{display:contents}
/* /KEEP */

/* 未経験「1日の流れ」タブ（受領 aTabStyle / bTabStyle 相当） */
.nx-daytab{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:62px;padding:12px 14px;border:0;cursor:pointer;font-family:inherit;text-align:center;transition:background-color .3s ease,color .3s ease;background:transparent;color:#BFD8F7}
.nx-daytab.is-on{background:#6FB1F2;color:#0F2C52}

/* 募集要項「募集区分」タブ（受領 tabBtn 相当） */
.nx-postab{flex:1 1 0;min-width:118px;min-height:54px;padding:14px 16px;font-size:15px;font-weight:800;letter-spacing:.04em;cursor:pointer;font-family:'Noto Sans JP',sans-serif;border:2px solid #D4DDE8;background:#FFFFFF;color:#41608C}
.nx-postab.is-on{border-color:#0F2C52;background:#0F2C52;color:#FFFFFF}

/* 施工実績のカテゴリ絞り込み（受領 cats の on/off 相当）。下層ヘッダー枠の末尾に置く */
.nx-catbar{display:flex;flex-wrap:wrap;gap:8px;max-width:1180px;margin:clamp(24px,3.2vw,36px) auto 0;padding:0 clamp(14px,2.5vw,24px)}
.nx-cattab{min-height:46px;padding:11px 20px;font-size:clamp(15px,1.7vw,16px);font-weight:800;letter-spacing:.04em;cursor:pointer;font-family:inherit;transition:background-color .25s ease,color .25s ease,border-color .25s ease;background:#FFFFFF;color:#41608C;border:2px solid #C7D0DC}
.nx-cattab.is-on{background:#0F2C52;color:#FFFFFF;border-color:#0F2C52}

/* 変換後 img（受領 image-slot）の土台 */
img.ph-slot{max-width:100%}
/* 素材待ちの空スロット（受領で src が入っていなかったもの＝00★申し送り★.md 参照） */
.nx-slot-empty{min-height:120px}

/* KEEP: ローディングのフェイルセーフ（R-4）。BODY内JSが読み込まれない/失敗しても
   4.5秒後にCSSアニメで必ず消える。JSが動くときはJS側が animation を切ってから制御する。 */
@keyframes nxLoadFailSafe{to{opacity:0;visibility:hidden;pointer-events:none}}
#nxLoad{animation:nxLoadFailSafe .6s ease 4.5s both}
/* /KEEP */

/* KEEP: JS不動時の保険（R-4）。受領CSSは data-chars / data-sweep の中身を
   「祖先に .is-in が付くまで opacity:0」にしているため、JSが動かないと見出しが消える。
   BODY内JSの先頭で html に js クラスを付けるので、付いていない＝JS不動として素の表示に戻す。 */
html:not(.js) [data-chars]>span,
html:not(.js) [data-sweep] .nx-sweep-hide,
html:not(.js) [data-reveal],
html:not(.js) [data-reveal-stagger]>*{opacity:1 !important;transform:none !important;animation:none !important}
html:not(.js) .nx-sec-sweep,
html:not(.js) .nx-databars{display:none !important}
/* /KEEP */

/* 電話リンク（受領は素のテキスト。表示は変えず色だけ継承させる・R-24） */
a.nx-tel{color:inherit;text-decoration:none;white-space:nowrap}

/* 下層ヘッダーパーツ枠に入るブロック（固定ヘッダー94pxの潜り込み回避・R-18） */
.nx-subhead{padding-top:94px}
/* 同じ枠にブロックを2つ並べたとき（例 /form/recruit の 04d ＋ 15）に94pxが二重に付かないように */
.nx-subhead ~ .nx-subhead{padding-top:0}
/* === インライン animation/transition の退避（CueZillaは style 属性から除去する） ===
   3重クラス＝インライン相当の詳細度を保つ。 */
.nxa1.nxa1.nxa1{transition:border-color .25s ease,background-color .25s ease,color .25s ease;}
.nxa2.nxa2.nxa2{transition:color .25s ease;}
.nxa3.nxa3.nxa3{transition:transform .3s cubic-bezier(.22,.61,.36,1),box-shadow .3s ease,background-color .3s ease;}
.nxa4.nxa4.nxa4{transition:transform .4s cubic-bezier(.22,.61,.36,1),box-shadow .4s cubic-bezier(.22,.61,.36,1);}
.nxa5.nxa5.nxa5{transition:opacity .2s ease;}
.nxa6.nxa6.nxa6{transition:color .2s ease;}
.nxa7.nxa7.nxa7{animation-delay:0.60s;}
.nxa8.nxa8.nxa8{animation-delay:0.65s;}
.nxa9.nxa9.nxa9{animation-delay:0.70s;}
.nxa10.nxa10.nxa10{animation-delay:0.75s;}
.nxa11.nxa11.nxa11{animation-delay:0.80s;}
.nxa12.nxa12.nxa12{animation-delay:0.85s;}
.nxa13.nxa13.nxa13{animation-delay:0.90s;}
.nxa14.nxa14.nxa14{animation-delay:0.95s;}
.nxa15.nxa15.nxa15{animation-delay:1.00s;}
.nxa16.nxa16.nxa16{animation-delay:1.05s;}
.nxa17.nxa17.nxa17{animation-delay:1.10s;}
.nxa18.nxa18.nxa18{animation-delay:1.15s;}
.nxa19.nxa19.nxa19{animation-delay:1.20s;}
.nxa20.nxa20.nxa20{animation-delay:1.25s;}
.nxa21.nxa21.nxa21{animation-delay:1.30s;}
.nxa22.nxa22.nxa22{animation-delay:1.35s;}
.nxa23.nxa23.nxa23{animation-delay:1.40s;}
.nxa24.nxa24.nxa24{animation-delay:1.45s;}
.nxa25.nxa25.nxa25{animation-delay:1.50s;}
.nxa26.nxa26.nxa26{transition:transform .3s cubic-bezier(.22,.61,.36,1),box-shadow .3s ease,background-color .3s ease,color .3s ease;}
.nxa27.nxa27.nxa27{transition:transform .3s cubic-bezier(.22,.61,.36,1),box-shadow .3s ease;}
/* === style-hover 由来の生成クラス（3重クラスで詳細度確保） === */
.nxh1.nxh1.nxh1:hover{color:#1A62C0;}
.nxh2.nxh2.nxh2:hover{background:#F4F8FD;border-left-color:#1A62C0;}
.nxh3.nxh3.nxh3:hover{transform:translateY(-2px);box-shadow:0 8px 18px rgba(10,30,58,.32);background:#1257AE;}
.nxh4.nxh4.nxh4:hover{transform:translateY(-5px);box-shadow:0 18px 34px rgba(10,30,58,.38);}
.nxh5.nxh5.nxh5:hover{opacity:.82;}
.nxh6.nxh6.nxh6:hover{color:#9CC4F0;}
.nxh7.nxh7.nxh7:hover{background:#FFFFFF;color:#0F2C52;box-shadow:0 12px 26px rgba(0,0,0,.22);}
.nxh8.nxh8.nxh8:hover{box-shadow:0 12px 26px rgba(10,30,58,.34);background:#1257AE;}
.nxh9.nxh9.nxh9:hover{background:rgba(15,44,82,.97);}
.nxh10.nxh10.nxh10:hover{box-shadow:0 12px 26px rgba(10,30,58,.34);background:#163a66;}
.nxh11.nxh11.nxh11:hover{background:#0F2C52;color:#FFFFFF;box-shadow:0 12px 26px rgba(10,30,58,.28);}
.nxh12.nxh12.nxh12:hover{background:#FFFFFF;color:#0F2C52;box-shadow:0 12px 26px rgba(0,0,0,.2);}
.nxh13.nxh13.nxh13:hover{box-shadow:0 12px 26px rgba(10,30,58,.4);background:#1257AE;}
.nxh14.nxh14.nxh14:hover{box-shadow:0 16px 34px rgba(10,30,58,.4);background:#163a66;}
.nxh15.nxh15.nxh15:hover{transform:translateY(-3px);box-shadow:0 12px 26px rgba(10,30,58,.22);}
.nxh16.nxh16.nxh16:hover{text-decoration:underline;}
.nxh17.nxh17.nxh17:hover{background:#E3EDF9;}
.nxh18.nxh18.nxh18:hover{transform:translateY(-4px);box-shadow:0 20px 44px rgba(15,44,82,.4);}
.nxh19.nxh19.nxh19:hover{transform:translateY(-4px);box-shadow:0 20px 44px rgba(26,98,192,.46);}
.nxh20.nxh20.nxh20:hover{transform:translateY(-4px);box-shadow:0 18px 42px rgba(15,44,82,.3);}
.nxh21.nxh21.nxh21:hover{transform:translateY(-4px);box-shadow:0 18px 42px rgba(26,98,192,.4);}
.nxh22.nxh22.nxh22:hover{opacity:.88;}


/* ===== 29_override.css ===== */
/* O01931 株式会社NEXUS — override（site.css の後に結合・案件の上書きはここだけ／R-30）

   ★skin（cuezilla-skin.css）は不採用（cz-judgment §3 の例外）。
     受領データが動的パーツの実DOM構造（parts222 / parts228 / parts210 / parts213 / parts219 /
     design-parts-52 / parts131415_blog）に合わせたCSSを自前で持っており「自前完結型」に該当するため。
     skin を重ねると !important 同士でぶつかり、受領デザインを上書きして逆に崩す。
     → 受領が面倒を見ていない範囲（詳細ページ・確認/完了・404・パンくず・固定ヘッダーの潜り込み）だけ
       ここで最小限を補う。実機投入後に harvestEW() で実DOMを採り、崩れがあればここを直す（R-28）。 */

/* KEEP: CueZilla自動パンくずは全ページ非表示（受領デザインが各ページヘッダーに自前パンくずを内包・R-10a） */
[class*="_breadcrumb"], .p-breadcrumb{ display:none !important; }
/* /KEEP */

/* KEEP: 固定ヘッダー（94px）の潜り込み回避（R-18）。
   下層ヘッダーパーツ（.nx-subhead）を置けたページはそちらで余白が付くので、ここは
   「下層ヘッダーを置けない／置き忘れた」CueZilla標準ページ向けの保険。 */
:root{ --fixed-header-h:94px; }
.not-found, .notfound, .thanks{ padding-top:calc(var(--fixed-header-h,0px) + 40px) !important; }
/* /KEEP */

/* === 記事詳細（ブログ /blog/{id}・施工実績 /blog-ex/instance/{id}）＝受領にプレビューが無いページ ===
   受領のトンマナ（白地・#1B2733 本文・#0F2C52 見出し・#1A62C0 アクセント）に寄せる最小限。 */
.parts166_single_article, .parts-blog-ex-single-wrap, .parts-blog-ex_text{
  font-family:'Noto Sans JP',sans-serif; color:#1B2733; line-height:1.95;
}
.parts166_single_article .article_wrap, .parts-blog-ex_text_wrap{ max-width:1180px; margin:0 auto; }
.parts166_single_article h1, .parts-blog-ex_text h2{ color:#0F2C52; font-weight:900; line-height:1.4; }
.parts-blog-ex_text h3{ color:#0F2C52; font-weight:800; }
.article_date, [class*="_post_date"], .recent_post_date{
  font-family:'Archivo','Noto Sans JP',sans-serif; color:#1A62C0; font-weight:700; letter-spacing:.04em;
}
.article_category, [class*="_tag"]{ background:#EEF4FB; color:#0F2C52; font-weight:800; }
.parts166_single_article article a{ color:#1A62C0; }
.article_prevnext_wrap a, .recent_posts_wrap a{ color:#1B2733; text-decoration:none; }
.article_prevnext_wrap a:hover, .recent_posts_wrap a:hover{ color:#1A62C0; }
.signature_wrap{ color:#5C6878; border-top:1px solid #E3E9F2; padding-top:16px; }

/* === 確認／完了画面（parts243-245 系）＝受領にプレビューが無いページ === */
[class*="_complete_form"], [class*="_confirm_form"]{ font-family:'Noto Sans JP',sans-serif; color:#1B2733; }
[class*="_complete_form"] .btn-main, [class*="_confirm_form"] input[type="submit"]{
  background:#0F2C52; color:#FFFFFF; border:0; min-height:58px; padding:15px 52px; font-weight:800;
}
[class*="_confirm_form"] input[name="back"]{ background:#FFFFFF; color:#0F2C52; border:2px solid #C7D0DC; }

/* KEEP: SPでヘッダーの許可番号がハンバーガーに重なるのを回避（R-19 軸②）。
   受領デザインは許可番号を 13px / white-space:nowrap で置いており、375px幅で実測 約10px 重なる。
   文言は変えず、狭い画面でだけ字を小さくして折り返しを許可する。 */
@media (max-width:480px){
  header[data-sh] .nx-hdr-name{ font-size:16px !important; }
  header[data-sh] .nx-hdr-lic{ font-size:11px !important; line-height:1.3 !important; white-space:normal !important; }
}
/* /KEEP */

/* === テーマ(Bootstrap)との衝突を受領の配色へ戻す（R-20） === */
a:hover{ color:#1A62C0; }
mark, .mark{ background-color:transparent; color:inherit; padding:0; border-radius:0; }

/* KEEP: 実機（enjoyworks-seisaku.fun / サイトID 1521）を見て当てた動的パーツの追補（R-28・2026-09-04 ユーザー指示）
   受領CSSはサイドバーを `.parts222_sidebar_wrap`（_wrap 付き）前提で書いているが、実機のDOMは
   `.parts222_sidebar` 直下にも当たる形だったため、当て先を実DOMに合わせて足している。
   `max-width:100%` はテーマ既定の % 幅制約で一覧カード／サイドバーが痩せるのを解除するもの。
   ★投機で書いたものではなく実機の見た目に対する指示。消さないこと。 */
.parts222_post_wrap {
    max-width: 100% !important;
}
.parts222_sidebar {
    max-width: 100% !important;
}
.parts222_sidebar h3 {
    color: #1B2733 !important;
}
.parts222_sidebar ul li {
    border-bottom: 1px solid #E3E9F2 !important;
}
.category_post_count ul li {
    border-left: none !important;
    border-right: none !important;
}
.parts222_sidebar_post_category_count {
    background: #ffffff !important;
}
.parts228_post_wrap {
    max-width: 100% !important;
}
/* /KEEP */

/* KEEP: 施工実績カードの並び替え（R-28・2026-09-04 実機のDOMを見て当てた）

   受領デザインのカードは 画像 → 日付 → タグ → タイトル が**すべて兄弟**で縦に並ぶ形だが、
   CueZilla（parts228）が実際に吐くDOMは入れ子が違い、そのままだと
   「日付」と「タイトル」が横に並び、「タグ」がタイトルの下に来る:

     div.parts228_post_wrap
       div.parts228_post_img
       div.parts228_post_status          ← display:flex(row) なので中身が横並びになる
         a > span.parts228_post_date     ← 日付
         div.parts228_post_title-excerpt
           a > h3.parts228_post_title    ← タイトル
           div.parts-blog-ex-tag_wrap    ← タグ（タイトルより後ろ）

   マークアップはCMSが出すので触れない。**縦積みに変えたうえで order でタグを前に出す**ことで
   受領デザインと同じ 画像 → 日付 → タグ → タイトル にする。
   ★実機で並び順（y座標）が受領デザインと一致することを確認済み。 */
[class*="parts228_post_status"]{
  display:flex !important; flex-direction:column !important; align-items:stretch !important;
  gap:0 !important; padding:16px 18px 20px !important;
}
[class*="parts228_post_title-excerpt"]{
  display:flex !important; flex-direction:column !important;
  width:100% !important; padding:0 !important; margin:0 !important;
}
[class*="parts228_post_title-excerpt"] [class*="parts-blog-ex-tag_wrap"]{
  order:-1 !important; padding:12px 0 0 !important; margin:0 !important;
}
[class*="parts228_post_title-excerpt"] > a{ padding-top:8px !important; }
/* /KEEP */