/* ===== 20_site.css ===== */
[hidden]{display:none!important}

/* sc-if desktop/mobile 静的化（本文は860pxで切替＝TOP mq に一致） */
.et-only-desk{display:contents}.et-only-mob{display:none}
@media(max-width:860px){.et-only-desk{display:none}.et-only-mob{display:contents}}

/* 共通ヘッダー（Header.dc.html 由来・1024pxでPCナビ⇔バーガー切替） */
.nk-hdr-desk{display:contents}.nk-hdr-mob{display:none}
@media(max-width:1024px){.nk-hdr-desk{display:none}.nk-hdr-mob{display:block}}
.nk-recruit-wrap:hover .nk-recruit-menu,.nk-recruit-wrap:focus-within .nk-recruit-menu{opacity:1!important;visibility:visible!important;transform:none!important}
.nk-recruit-wrap:hover .nk-caret,.nk-recruit-wrap:focus-within .nk-caret{transform:rotate(180deg)}
.nk-recruit-menu a:hover{background:rgba(200,16,46,.16);color:#fff}
.nk-drawer.is-open{transform:none!important;opacity:1!important;pointer-events:auto!important}
.nk-msub.is-open{max-height:480px!important;opacity:1!important}
.nk-msub-btn.is-open .nk-mcaret{transform:rotate(180deg)}
.nk-nav-a.is-active{color:#fff!important}

/* === header === */
*{box-sizing:border-box}
.lc{display:inline-block;overflow-wrap:anywhere;word-break:normal}
:focus-visible{outline:3px solid #ffcf33;outline-offset:2px}
@keyframes nkLoadLine{0%{transform:scaleX(0)}100%{transform:scaleX(1)}}
@keyframes nkLoadGlow{0%,100%{filter:drop-shadow(0 0 6px rgba(255,80,110,.9)) drop-shadow(0 0 18px rgba(220,20,55,.7))}50%{filter:drop-shadow(0 0 12px rgba(255,120,150,1)) drop-shadow(0 0 34px rgba(255,40,80,.85))}}
@keyframes nkLoadUp{0%{opacity:0;transform:translateY(14px)}100%{opacity:1;transform:none}}
@media (prefers-reduced-motion: reduce){#nk-loader-line{animation:none!important;transform:scaleX(1)!important}#nk-loader-lock{animation:none!important;opacity:1!important;transform:none!important}}

/* === footer === */
@media (min-width:761px) and (max-width:1024px){.nk-foot-grid{grid-template-columns:repeat(3,1fr)!important;gap:40px 40px!important}.nk-foot-grid>div:first-child{grid-column:1 / -1!important}}

/* === index === */
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#101216;font-family:'Zen Kaku Gothic New',sans-serif;color:#1a1a1a;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a{color:#c8102e;text-decoration:none}
a:hover{color:#9d0c23}
img{display:block;max-width:100%}
.lc{display:inline-block;overflow-wrap:anywhere;word-break:normal}
:focus-visible{outline:3px solid #ffcf33;outline-offset:2px}
@keyframes nkScroll{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
@keyframes nkKen{0%{transform:scale(1.24) translate(1.6%,-1.2%)}100%{transform:scale(1.04) translate(0,0)}}
@keyframes nkLineUp{0%{transform:translateY(112%) skewY(6deg)}100%{transform:translateY(0) skewY(0)}}
@keyframes nkSweep{0%{opacity:0;transform:translateX(-130%) skewX(-12deg)}18%{opacity:1}100%{opacity:0;transform:translateX(130%) skewX(-12deg)}}
@keyframes nkBarWipe{0%{transform:scaleX(1)}100%{transform:scaleX(0)}}
@keyframes nkHLine{0%{transform:scaleX(0)}100%{transform:scaleX(1)}}
@keyframes nkFlash{0%{opacity:0}12%{opacity:.9}100%{opacity:0}}
@keyframes nkRise{0%{opacity:0;transform:translateY(30px)}100%{opacity:1;transform:none}}
@keyframes nkNeon{0%,100%{filter:drop-shadow(0 0 6px rgba(255,120,150,1)) drop-shadow(0 0 16px rgba(255,60,90,.95)) drop-shadow(0 0 40px rgba(255,30,70,.85)) drop-shadow(0 0 80px rgba(200,16,46,.7))}50%{filter:drop-shadow(0 0 10px rgba(255,160,185,1)) drop-shadow(0 0 28px rgba(255,80,110,1)) drop-shadow(0 0 64px rgba(255,40,80,.95)) drop-shadow(0 0 120px rgba(220,20,55,.8))}}
@keyframes nkLoadLine{0%{transform:scaleX(0)}100%{transform:scaleX(1)}}
@keyframes nkLoadGlow{0%,100%{filter:drop-shadow(0 0 6px rgba(255,80,110,.9)) drop-shadow(0 0 18px rgba(220,20,55,.7))}50%{filter:drop-shadow(0 0 12px rgba(255,120,150,1)) drop-shadow(0 0 34px rgba(255,40,80,.85))}}
@keyframes nkLoadUp{0%{opacity:0;transform:translateY(14px)}100%{opacity:1;transform:none}}
.rimg{transition:transform .7s cubic-bezier(.2,.7,.2,1),filter .5s ease;filter:grayscale(1)}
.rpanel:hover .rimg{transform:scale(1.09);filter:grayscale(0)}
.rpanel .rttl{transition:transform .45s cubic-bezier(.2,.7,.2,1)}
.rpanel:hover .rttl{transform:translateY(-6px)}
.rpanel .rbar{transition:width .5s cubic-bezier(.2,.7,.2,1)}
.rpanel:hover .rbar{width:56px}
.nk-strip:hover .nk-track{animation-play-state:paused}
.nk-line{display:block;overflow:hidden;padding-top:.14em;margin-bottom:-.14em}
.nk-line>span{display:block;transform:translateY(112%);animation:nkLineUp 1s cubic-bezier(.16,1,.3,1) both}
body.nk-hero-hold .nk-rise{animation-play-state:paused!important;opacity:0!important}
body.nk-hero-hold .nk-ken,body.nk-hero-hold .nk-line>span,body.nk-hero-hold .nk-sweep,body.nk-hero-hold .nk-bar>i,body.nk-hero-hold .nk-hline{animation-play-state:paused!important}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}.nk-track{animation:none!important}.nk-ken{animation:none!important}.nk-rise{animation:none!important;opacity:1!important;transform:none!important}.nk-line>span{animation:none!important;transform:none!important}.nk-sweep{display:none!important}.nk-bar>i{animation:none!important;transform:scaleX(0)!important}.nk-hline{animation:nkNeon 2.4s ease-in-out infinite!important;transform:scaleX(1)!important}#nk-loader-line{animation:none!important;transform:scaleX(1)!important}#nk-loader-lock{animation:none!important;opacity:1!important;transform:none!important}}
@media (max-width:760px){.nk-steps{flex-direction:column;gap:10px}.nk-steps>div{margin-left:0!important;clip-path:none!important;padding-left:30px!important;min-width:0!important}
#nk-s1cap{top:34px!important;right:10px!important;font-size:19px!important;padding:10px 12px!important}
.nk-works-head{flex-direction:column;align-items:flex-start!important}
.nk-works-headbtn{display:none!important}.nk-works-btm{display:flex!important}
.nk-hero-copy{justify-content:flex-start!important;padding-top:46vh!important;padding-bottom:0!important}}
@media (min-width:761px) and (max-width:1024px){.nk-hero-copy{justify-content:flex-start!important;padding-top:44vh!important;padding-bottom:0!important}
.nk-start-cards{display:grid!important;grid-template-columns:1fr 1fr!important;gap:16px!important}
.nk-people{flex-direction:column!important;gap:clamp(56px,9vw,80px)!important}.nk-people>div{flex:1 1 auto!important;min-width:0!important}.nk-people>div:first-child{width:100%!important;max-width:640px!important;margin:0 auto!important}.nk-people>div:last-child{width:100%!important}
.nk-blog-grid{grid-template-columns:repeat(3,1fr)!important;gap:16px!important}
.nk-foot-grid{grid-template-columns:repeat(3,1fr)!important;gap:40px 40px!important}.nk-foot-grid>div:first-child{grid-column:1 / -1!important}}

/* === work === */
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#2c2e34;font-family:'Zen Kaku Gothic New',sans-serif;color:#1a1a1a;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a{color:#c8102e;text-decoration:none}
a:hover{color:#9d0c23}
img{display:block;max-width:100%}
.lc{display:inline-block;overflow-wrap:anywhere;word-break:normal}
:focus-visible{outline:3px solid #ffcf33;outline-offset:2px}
@keyframes nkNeon{0%,100%{filter:drop-shadow(0 0 6px rgba(255,120,150,1)) drop-shadow(0 0 16px rgba(255,60,90,.95)) drop-shadow(0 0 40px rgba(255,30,70,.85)) drop-shadow(0 0 80px rgba(200,16,46,.7))}50%{filter:drop-shadow(0 0 10px rgba(255,160,185,1)) drop-shadow(0 0 28px rgba(255,80,110,1)) drop-shadow(0 0 64px rgba(255,40,80,.95)) drop-shadow(0 0 120px rgba(220,20,55,.8))}}
.wcard image-slot{display:block;width:100%;height:100%;transition:transform .7s cubic-bezier(.2,.7,.2,1),filter .5s ease;filter:grayscale(0)}
.wcard:hover image-slot{transform:scale(1.07);filter:grayscale(1)}
@media (hover:none){.wcard.is-mono image-slot{filter:grayscale(1)}}
/* 施工実績カード（Cuezilla parts131415_blog）— 見た目のみ、実クラスに一致 */
[class*="parts131415_blog"].nk-worksec{position:relative;z-index:3;background:transparent!important;padding:clamp(20px,3vw,40px) 0 0}
[class*="parts131415_blog"] .container-lg{max-width:1240px;margin:0 auto;padding:0 clamp(20px,5vw,48px)}
[class*="parts131415_blog"] .parts131415_blog_title_wrap{display:flex;flex-direction:column-reverse;align-items:flex-start;gap:12px;margin-bottom:clamp(36px,5vw,60px)}
[class*="parts131415_blog"] .parts131415_blog_title_wrap h2{margin:0!important;font-family:'Shippori Mincho',serif;font-weight:800;font-size:clamp(30px,4.6vw,50px);line-height:1.2;color:#fff!important}
[class*="parts131415_blog"] .parts131415_blog_title_wrap p{margin:0;font-family:'Oswald',sans-serif;letter-spacing:.24em;color:#ff5069;font-weight:600;font-size:14px;text-transform:uppercase}
[class*="parts131415_blog"] .row{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2.2vw,24px);margin:0;padding:0;list-style:none}
[class*="parts131415_blog"] .col{margin:0;padding:0}
[class*="parts131415_blog"] .card{background:#fff;border:0!important;border-radius:0!important;overflow:hidden;height:100%;transition:transform .5s cubic-bezier(.2,.7,.2,1),box-shadow .5s ease}
[class*="parts131415_blog"] .col:hover .card{transform:translateY(-6px);box-shadow:0 40px 70px -30px rgba(0,0,0,.8)}
[class*="parts131415_blog"] .card-body{padding:clamp(22px,2.4vw,28px)}
[class*="parts131415_blog"] .card-title{margin:0 0 12px;font-family:'Oswald',sans-serif;letter-spacing:.14em;font-size:12px;font-weight:600;color:#c8102e;text-transform:uppercase}
[class*="parts131415_blog"] .card-text{margin:0;font-family:'Shippori Mincho',serif;font-size:clamp(17px,1.6vw,20px);font-weight:800;line-height:1.5;color:#161418}
[class*="parts131415_blog"] a{color:inherit}
[class*="parts131415_blog"] .parts131415_blog_thumbnail{margin-top:18px;height:240px;overflow:hidden;background:linear-gradient(135deg,#2f343b,#0f1013)}
[class*="parts131415_blog"] .parts131415_blog_thumbnail img{width:100%;height:100%;object-fit:cover}
@media (max-width:991px){[class*="parts131415_blog"] .parts131415_blog_thumbnail{height:215px}}
@media (max-width:575px){[class*="parts131415_blog"] .row{grid-template-columns:1fr}[class*="parts131415_blog"] .parts131415_blog_thumbnail{height:205px}}
@media (max-width:640px){.nk-statband{grid-template-columns:1fr!important;gap:0!important}.nk-statcol{border-left:0!important;padding-left:0!important;border-top:1px solid rgba(255,255,255,.16);padding-top:clamp(24px,6vw,32px);margin-top:clamp(24px,6vw,32px)}}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}[data-reveal]{opacity:1!important;transform:none!important}}

/* === blog-ex-instance === */
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#2c2e34;font-family:'Zen Kaku Gothic New',sans-serif;color:#1a1a1a;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a{color:#c8102e;text-decoration:none}
a:hover{color:#9d0c23}
img{display:block;max-width:100%}
.lc{display:inline-block;overflow-wrap:anywhere;word-break:normal}
:focus-visible{outline:3px solid #ffcf33;outline-offset:2px}
@keyframes nkNeon{0%,100%{filter:drop-shadow(0 0 6px rgba(255,120,150,1)) drop-shadow(0 0 16px rgba(255,60,90,.95)) drop-shadow(0 0 40px rgba(255,30,70,.85)) drop-shadow(0 0 80px rgba(200,16,46,.7))}50%{filter:drop-shadow(0 0 10px rgba(255,160,185,1)) drop-shadow(0 0 28px rgba(255,80,110,1)) drop-shadow(0 0 64px rgba(255,40,80,.95)) drop-shadow(0 0 120px rgba(220,20,55,.8))}}
.parts228_post_wrap{transition:transform .5s cubic-bezier(.2,.7,.2,1),box-shadow .5s ease}
.parts228_post_wrap:hover{transform:translateY(-6px);box-shadow:0 40px 70px -30px rgba(0,0,0,.8)}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}[data-reveal]{opacity:1!important;transform:none!important}}

/* === recruit === */
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#2c2e34;font-family:'Zen Kaku Gothic New',sans-serif;color:#1a1a1a;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a{color:#c8102e;text-decoration:none}
a:hover{color:#9d0c23}
img{display:block;max-width:100%}
.lc{display:inline-block;overflow-wrap:anywhere;word-break:normal}
:focus-visible{outline:3px solid #ffcf33;outline-offset:2px}
summary{list-style:none;cursor:pointer}
summary::-webkit-details-marker{display:none}
@keyframes nkNeon{0%,100%{filter:drop-shadow(0 0 6px rgba(255,120,150,1)) drop-shadow(0 0 16px rgba(255,60,90,.95)) drop-shadow(0 0 40px rgba(255,30,70,.85)) drop-shadow(0 0 80px rgba(200,16,46,.7))}50%{filter:drop-shadow(0 0 10px rgba(255,160,185,1)) drop-shadow(0 0 28px rgba(255,80,110,1)) drop-shadow(0 0 64px rgba(255,40,80,.95)) drop-shadow(0 0 120px rgba(220,20,55,.8))}}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}[data-reveal]{opacity:1!important;transform:none!important}}
@media (min-width:761px) and (max-width:1024px){.nk-tab3{grid-template-columns:repeat(3,1fr)!important}}
.lm-grid{display:grid;gap:clamp(12px,1.6vw,20px);grid-template-columns:repeat(4,1fr)}
.lm-panel{position:relative;height:clamp(320px,34vw,440px);overflow:hidden;display:block;border:1px solid rgba(255,255,255,.1)}
.lm-imgwrap{position:absolute;inset:0;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.lm-panel:hover .lm-imgwrap{transform:scale(1.06)}
.lm-ov{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.05) 38%,rgba(10,11,13,.94) 100%);transition:background .25s}
.lm-panel:hover .lm-ov{background:linear-gradient(180deg,rgba(200,16,46,.16) 30%,rgba(10,11,13,.95) 100%)}
.lm-num{position:absolute;left:16px;top:12px;font-family:'Anton',sans-serif;font-size:40px;font-weight:400;color:#fff;line-height:1;text-shadow:0 2px 14px rgba(0,0,0,.6)}
.lm-cap{position:absolute;left:18px;right:14px;bottom:16px}
@media(max-width:860px){.lm-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.lm-grid{grid-template-columns:1fr}.lm-panel{height:clamp(240px,60vw,320px)}}

/* === recruit-beginner === */
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#2c2e34;font-family:'Zen Kaku Gothic New',sans-serif;color:#1a1a1a;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a{color:#c8102e;text-decoration:none}
a:hover{color:#9d0c23}
img{display:block;max-width:100%}
.lc{display:inline-block;overflow-wrap:anywhere;word-break:normal}
:focus-visible{outline:3px solid #ffcf33;outline-offset:2px}
@keyframes nkNeon{0%,100%{filter:drop-shadow(0 0 6px rgba(255,120,150,1)) drop-shadow(0 0 16px rgba(255,60,90,.95)) drop-shadow(0 0 40px rgba(255,30,70,.85)) drop-shadow(0 0 80px rgba(200,16,46,.7))}50%{filter:drop-shadow(0 0 10px rgba(255,160,185,1)) drop-shadow(0 0 28px rgba(255,80,110,1)) drop-shadow(0 0 64px rgba(255,40,80,.95)) drop-shadow(0 0 120px rgba(220,20,55,.8))}}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}[data-reveal]{opacity:1!important;transform:none!important}}
@media (min-width:761px) and (max-width:1024px){.nk-tab3{grid-template-columns:repeat(3,1fr)!important}.nk-firststeps{grid-template-columns:1fr 1fr!important}.nk-firststeps>div{padding:26px 22px!important;border-left:0!important}.nk-firststeps>div:nth-child(even){border-left:1px solid rgba(255,255,255,.16)!important;padding-left:32px!important}}
@media (max-width:760px){.nk-firststeps>div{padding:24px 0!important;border-left:0!important}}

/* === recruit-experienced === */
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#2c2e34;font-family:'Zen Kaku Gothic New',sans-serif;color:#1a1a1a;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a{color:#c8102e;text-decoration:none}
a:hover{color:#9d0c23}
img{display:block;max-width:100%}
.lc{display:inline-block;overflow-wrap:anywhere;word-break:normal}
:focus-visible{outline:3px solid #ffcf33;outline-offset:2px}
@keyframes nkNeon{0%,100%{filter:drop-shadow(0 0 6px rgba(255,120,150,1)) drop-shadow(0 0 16px rgba(255,60,90,.95)) drop-shadow(0 0 40px rgba(255,30,70,.85)) drop-shadow(0 0 80px rgba(200,16,46,.7))}50%{filter:drop-shadow(0 0 10px rgba(255,160,185,1)) drop-shadow(0 0 28px rgba(255,80,110,1)) drop-shadow(0 0 64px rgba(255,40,80,.95)) drop-shadow(0 0 120px rgba(220,20,55,.8))}}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}[data-reveal]{opacity:1!important;transform:none!important}}
@media (max-width:760px){.nk-cmp>div{grid-template-columns:64px 1fr 1.25fr!important;gap:7px!important}.nk-cmp>div>div,.nk-cmp>div>span{padding-left:6px!important;padding-right:6px!important}.nk-cmp>div>div:first-child{padding-left:0!important;font-size:15px!important}.nk-cmp>div>div{font-size:13px!important;line-height:1.6!important}
.nk-cmap{flex-direction:column!important;gap:14px!important}.nk-cmap>div{clip-path:polygon(0 0,100% 0,100% calc(100% - 16px),50% 100%,0 calc(100% - 16px))!important;padding:26px 26px 40px 26px!important;min-width:0!important}.nk-cmap>div:last-child{clip-path:none!important;padding:26px!important}}

/* === recruit-member === */
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#2c2e34;font-family:'Zen Kaku Gothic New',sans-serif;color:#1a1a1a;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a{color:#c8102e;text-decoration:none}
a:hover{color:#9d0c23}
img{display:block;max-width:100%}
.lc{display:inline-block;overflow-wrap:anywhere;word-break:normal}
:focus-visible{outline:3px solid #ffcf33;outline-offset:2px}
@keyframes nkNeon{0%,100%{filter:drop-shadow(0 0 6px rgba(255,120,150,1)) drop-shadow(0 0 16px rgba(255,60,90,.95)) drop-shadow(0 0 40px rgba(255,30,70,.85)) drop-shadow(0 0 80px rgba(200,16,46,.7))}50%{filter:drop-shadow(0 0 10px rgba(255,160,185,1)) drop-shadow(0 0 28px rgba(255,80,110,1)) drop-shadow(0 0 64px rgba(255,40,80,.95)) drop-shadow(0 0 120px rgba(220,20,55,.8))}}
.nk-marticle + .nk-marticle{border-top:1px solid rgba(255,255,255,.16);padding-top:clamp(48px,7vw,96px)}
@media (max-width:600px){.nk-mphoto{flex:0 0 100%!important;max-width:min(340px,100%)!important;margin:0 auto}}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}[data-reveal]{opacity:1!important;transform:none!important}}

/* === recruit-environment === */
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#2c2e34;font-family:'Zen Kaku Gothic New',sans-serif;color:#1a1a1a;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a{color:#c8102e;text-decoration:none}
a:hover{color:#9d0c23}
img{display:block;max-width:100%}
.lc{display:inline-block;overflow-wrap:anywhere;word-break:normal}
:focus-visible{outline:3px solid #ffcf33;outline-offset:2px}
@keyframes nkNeon{0%,100%{filter:drop-shadow(0 0 6px rgba(255,120,150,1)) drop-shadow(0 0 16px rgba(255,60,90,.95)) drop-shadow(0 0 40px rgba(255,30,70,.85)) drop-shadow(0 0 80px rgba(200,16,46,.7))}50%{filter:drop-shadow(0 0 10px rgba(255,160,185,1)) drop-shadow(0 0 28px rgba(255,80,110,1)) drop-shadow(0 0 64px rgba(255,40,80,.95)) drop-shadow(0 0 120px rgba(220,20,55,.8))}}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}[data-reveal]{opacity:1!important;transform:none!important}}

/* === recruit-flow === */
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#2c2e34;font-family:'Zen Kaku Gothic New',sans-serif;color:#1a1a1a;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a{color:#c8102e;text-decoration:none}
a:hover{color:#9d0c23}
img{display:block;max-width:100%}
.lc{display:inline-block;overflow-wrap:anywhere;word-break:normal}
:focus-visible{outline:3px solid #ffcf33;outline-offset:2px}
@keyframes nkNeon{0%,100%{filter:drop-shadow(0 0 6px rgba(255,120,150,1)) drop-shadow(0 0 16px rgba(255,60,90,.95)) drop-shadow(0 0 40px rgba(255,30,70,.85)) drop-shadow(0 0 80px rgba(200,16,46,.7))}50%{filter:drop-shadow(0 0 10px rgba(255,160,185,1)) drop-shadow(0 0 28px rgba(255,80,110,1)) drop-shadow(0 0 64px rgba(255,40,80,.95)) drop-shadow(0 0 120px rgba(220,20,55,.8))}}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}[data-reveal]{opacity:1!important;transform:none!important}}
@media (max-width:760px){.nk-steps{flex-direction:column;gap:10px}.nk-steps>div{margin-left:0!important;clip-path:none!important;padding-left:30px!important;min-width:0!important}}

/* === information === */
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#2c2e34;font-family:'Zen Kaku Gothic New',sans-serif;color:#1a1a1a;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a{color:#c8102e;text-decoration:none}
a:hover{color:#9d0c23}
img{display:block;max-width:100%}
.lc{display:inline-block;overflow-wrap:anywhere;word-break:normal}
:focus-visible{outline:3px solid #ffcf33;outline-offset:2px}
@keyframes nkNeon{0%,100%{filter:drop-shadow(0 0 6px rgba(255,120,150,1)) drop-shadow(0 0 16px rgba(255,60,90,.95)) drop-shadow(0 0 40px rgba(255,30,70,.85)) drop-shadow(0 0 80px rgba(200,16,46,.7))}50%{filter:drop-shadow(0 0 10px rgba(255,160,185,1)) drop-shadow(0 0 28px rgba(255,80,110,1)) drop-shadow(0 0 64px rgba(255,40,80,.95)) drop-shadow(0 0 120px rgba(220,20,55,.8))}}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}[data-reveal]{opacity:1!important;transform:none!important}}
@media (min-width:761px) and (max-width:1024px){.nk-tab3{grid-template-columns:repeat(3,1fr)!important}}

/* === privacypolicy === */
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#2c2e34;font-family:'Zen Kaku Gothic New',sans-serif;color:#1a1a1a;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a{color:#c8102e;text-decoration:none}
a:hover{color:#9d0c23}
img{display:block;max-width:100%}
.lc{display:inline-block;overflow-wrap:anywhere;word-break:normal}
:focus-visible{outline:3px solid #ffcf33;outline-offset:2px}
@keyframes nkNeon{0%,100%{filter:drop-shadow(0 0 6px rgba(255,120,150,1)) drop-shadow(0 0 16px rgba(255,60,90,.95)) drop-shadow(0 0 40px rgba(255,30,70,.85)) drop-shadow(0 0 80px rgba(200,16,46,.7))}50%{filter:drop-shadow(0 0 10px rgba(255,160,185,1)) drop-shadow(0 0 28px rgba(255,80,110,1)) drop-shadow(0 0 64px rgba(255,40,80,.95)) drop-shadow(0 0 120px rgba(220,20,55,.8))}}
.nk-pp-grid{display:grid;grid-template-columns:minmax(0,210px) minmax(0,1fr);gap:clamp(40px,6vw,88px);align-items:start}
.nk-toc{position:sticky;top:100px}
@media (max-width:860px){.nk-pp-grid{grid-template-columns:1fr}.nk-toc{display:none}}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}[data-reveal]{opacity:1!important;transform:none!important}}

/* === blog === */
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#2c2e34;font-family:'Zen Kaku Gothic New',sans-serif;color:#1a1a1a;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a{color:#c8102e;text-decoration:none}
a:hover{color:#9d0c23}
img{display:block;max-width:100%}
.lc{display:inline-block;overflow-wrap:anywhere;word-break:normal}
:focus-visible{outline:3px solid #ffcf33;outline-offset:2px}
@keyframes nkNeon{0%,100%{filter:drop-shadow(0 0 6px rgba(255,120,150,1)) drop-shadow(0 0 16px rgba(255,60,90,.95)) drop-shadow(0 0 40px rgba(255,30,70,.85)) drop-shadow(0 0 80px rgba(200,16,46,.7))}50%{filter:drop-shadow(0 0 10px rgba(255,160,185,1)) drop-shadow(0 0 28px rgba(255,80,110,1)) drop-shadow(0 0 64px rgba(255,40,80,.95)) drop-shadow(0 0 120px rgba(220,20,55,.8))}}
/* ===== ブログ一覧（Cuezilla parts222・実クラスにCSSで見た目のみ付与） ===== */
.parts222_wrap{display:flex;flex-wrap:wrap;gap:clamp(32px,4vw,60px);align-items:flex-start}
.parts222_main{flex:1 1 480px;min-width:0}
.parts222_post_list{display:grid;gap:clamp(22px,2.8vw,34px);grid-template-columns:repeat(2,1fr)}
@media (max-width:600px){.parts222_post_list{grid-template-columns:1fr}}
.parts222_post_wrap{display:flex!important;flex-direction:column;background:#fff;color:#1a1a1a!important;text-decoration:none;border-top:3px solid transparent;box-shadow:0 20px 46px -30px rgba(0,0,0,.5);transition:transform .5s cubic-bezier(.2,.7,.2,1),box-shadow .5s ease,border-color .3s ease}
.parts222_post_wrap:hover{transform:translateY(-6px);box-shadow:0 44px 74px -32px rgba(0,0,0,.55);border-top-color:#c8102e}
.parts222_post_img{position:relative;aspect-ratio:16/10;overflow:hidden;background:linear-gradient(135deg,#aeb3ba,#7c828a)}
.parts222_post_img img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.2,1),filter .5s ease;filter:grayscale(1)}
.parts222_post_wrap:hover .parts222_post_img img{transform:scale(1.06);filter:grayscale(0)}
.parts222_post_status{display:flex;align-items:center;gap:12px;padding:16px 20px 0}
.parts222_post_date{font-family:'Oswald',sans-serif;letter-spacing:.06em;color:#8a8f96;font-size:13px}
.parts222_post_category{font-family:'Oswald',sans-serif;letter-spacing:.08em;font-size:11px;font-weight:600;color:#c8102e;border:1px solid #c8102e;padding:3px 9px}
.parts222_post_title-excerpt{padding:10px 20px 22px}
.parts222_post_title{margin:0;font-family:'Shippori Mincho',serif;font-size:clamp(16px,1.6vw,18px);font-weight:800;line-height:1.55;color:#161418;transition:color .3s ease}
.parts222_post_wrap:hover .parts222_post_title{color:#c8102e}
/* サイドバー（構造中心・帯/罫線/カウント枠） */
.parts222_sidebar{flex:1 1 280px;max-width:320px;display:flex;flex-direction:column;gap:clamp(22px,3vw,34px)}
.parts222_sidebar_wrap h3{margin:0;font-family:'Shippori Mincho',serif;font-size:15px;font-weight:800;color:#fff;background:#161418;border-left:4px solid #c8102e;padding:13px 16px;display:flex;align-items:center;gap:10px}
.parts222_sidebar_wrap h3::before{content:attr(data-en);font-family:'Oswald',sans-serif;font-size:10px;font-weight:600;letter-spacing:.18em;color:#ff5069;text-transform:uppercase}
.parts222_sidebar_wrap ul{margin:0;padding:0;list-style:none}
.parts222_sidebar_wrap li{border-bottom:1px solid #e2e5e9}
.parts222_sidebar_wrap li a{display:block;padding:14px 6px;color:#1a1a1a;transition:color .25s ease,padding-left .25s ease}
.parts222_sidebar_wrap li a:hover{color:#c8102e;padding-left:12px}
.parts222_sidebar_date{display:block;font-family:'Oswald',sans-serif;font-size:12px;color:#9a9fa6;margin-bottom:4px}
.parts222_sidebar_post_title{margin:0;font-size:14.5px;font-weight:600;line-height:1.55}
.category_post_count li a{display:flex;align-items:center;justify-content:space-between;gap:10px}
.parts222_sidebar_post_category{margin:0;font-size:14.5px;font-weight:600}
.parts222_sidebar_post_category_count{font-family:'Oswald',sans-serif;font-size:12px;color:#666;border:1px solid #d3d7dc;min-width:26px;text-align:center;padding:2px 6px}
/* ページネーション */
.parts222_pagenation{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px;margin-top:clamp(38px,4.5vw,58px)}
.parts222_pagenation a{display:inline-flex;align-items:center;justify-content:center;min-width:46px;min-height:46px;padding:0 14px;border:1px solid #d3d7dc;color:#333;font-family:'Oswald',sans-serif;font-weight:600;font-size:14px;transition:background .25s,color .25s,border-color .25s}
.parts222_pagenation a:hover{border-color:#c8102e;color:#c8102e}
.parts222_pagenation .current{background:#c8102e;border-color:#c8102e;color:#fff}
.parts222_pagenation .current:hover{color:#fff}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}[data-reveal]{opacity:1!important;transform:none!important}}


/* ===== 22_override.css ===== */
/* ============================================================
   案件override（結合順で最後）。skinは§3判定で不採用（受領CSSが動的パーツを!important付きでstyle済み）。
   ※動的ページ（ブログ一覧parts222/施工実績一覧parts228/フォームparts213・219）の崩れ・詳細度は
     投入後の実DOMで確認し、必要なら実採番セレクタ＋!importantをここへ追記する（R-28）。
   ============================================================ */
/* CueZilla自動パンくずを全ページ非表示（ユーザー標準ルール）。各下層HEROに独自パンくずがあり重複＝隠す。 */
[class*="_breadcrumb"],.p-breadcrumb{display:none!important}
/* 一覧カードの既定枠線を消す（番号非依存で parts222/228 等を対象） */
[class*="_post_wrap"]{border:none!important}
/* footer以外のテキストリンク既定色（インライン色を持たない素リンクのみ変わる。ボタン/ナビ/footerは非影響）: #c2c2c2 / hover #ff0000（ユーザー指示） */
a:not(footer a){color:#c2c2c2}
a:not(footer a):hover{color:#ff0000}
/* TOP ブログセクション（実機調整・R-28／ユーザー指示） */
/* parts131415_blog.bg-color 共通は #2c2e34（work等・番号非依存）。TOPの実採番だけ背景を #f5f7f9 に上書き（詳細度0,4,1で後勝ち）。 */
section[class*="parts131415_blog"].bg-color{background:#2c2e34!important;padding-top:0px!important;position:relative!important;z-index:1!important;margin-top:0!important}
section.container-fluid.parts131415_blog_ePodcX3OQX.parts131415_blog.bg-color{background:#f5f7f9!important}
/* 施工実績一覧(parts228)が nk-base(固定z0)の後ろに潜る対策＝前面へ（ホバーで見える症状の恒久対策・R-28） */
section[class*="parts228"]{position:relative!important;z-index:1!important}
/* 施工実績 記事詳細ページの本文エリアを白に（ユーザー指定クラス・R-28） */
.parts-blog-ex-single-wrap,section.parts-blog-ex-single-wrap{background:#f5f7f9!important;position:relative!important;z-index:1!important}
/* /form/recruit 応募フォーム(parts219) 上余白 130px→150px（ユーザー指示） */
.parts219_section_form{padding-top:150px!important}
/* お問い合わせフォーム(parts213) を nk-base(黒)の前面へ＝背景色が見えるように（ユーザー指示・R-28） */
.parts213_section_form{position:relative!important;z-index:1!important}
/* PageCTA(recruit)のボタン列を ≤520px で縦並び。実機で行にクラスが無いため primary ボタンの data-x で:has掴み（ユーザー指示） */
@media(max-width:520px){div:has(> a[data-x="cta-primary"]){flex-direction:column!important;align-items:center!important}div:has(> a[data-x="cta-primary"]) > a{width:100%!important;max-width:340px!important;flex:1 1 auto!important}}
/* 2カラムグリッド(repeat(2,1fr))を ≤640px で1カラムに（資格カード等・ユーザー指示） */
@media(max-width:640px){[style*="grid-template-columns:repeat(2,1fr)"]{grid-template-columns:1fr!important}}
/* さらに ≤520px では display:grid を無効化（block化）＝完全に縦積み（ユーザー指示） */
@media(max-width:520px){[style*="grid-template-columns:repeat(2,1fr)"]{display:block!important}}
/* blog一覧(parts222) 背景白＋前面（施工実績と同様・ユーザー指示・R-28） */
section[class*="parts222"]{position:relative!important;z-index:1!important;background:#f5f7f9!important}
.parts222_post_wrap{max-width:100%!important}
.parts222_post_img{background:none!important}
.parts222_wrap{max-width:none!important}
@media(max-width:520px){.parts222_sidebar{max-width:none!important}}
/* blog記事詳細の記事エリア白＋前面（実機クラス：ユーザー提供） */
.parts166_single_article .article_wrap{background:#f5f7f9!important;position:relative!important;z-index:1!important}
[class*="parts131415_blog"] .parts131415_blog_thumbnail{background:#ffffff!important}
.row-cols-lg-3>*{width:100%!important}

.nk-marticle + .nk-marticle{border-top:1px solid rgba(255,255,255,.16);padding-top:clamp(48px,7vw,96px)}
@media (max-width:600px){.nk-mphoto{flex:0 0 100%!important;max-width:min(340px,100%)!important;margin:0 auto}}