/* ===== 20_site.css ===== */
/* ===== S01274 株式会社明和設備工業 site.css =====
   受領14ページの helmet 内スタイル要素を全ページ union（同一宣言は1本化・食い違いは index / form-inquiry 優先）。
   ・受領は <main> でラップされていたので、`main …` セレクタは下層本文ラッパー `.mw-sub` へ振り替え済み。
     （トップは .mw-top なので下層専用の文字サイズ+2px 規則が当たらない＝受領と同じ）
   ・受領の `[style*="font-size: 14px"]` 等の style属性セレクタは `[data-sw-m~="mN"]` へ振り替え済み。
     dc-runtime は style をCSSOMで再直列化する（コロンの後に空白が入る）ため受領プレビューでは当たるが、
     納品HTMLの生テキストには空白が無く当たらない。マーク属性にして機械的に同じ結果を再現している。
   ・受領の image-slot 要素セレクタは `img.ph-slot` へ振り替え済み。
   ・::before/::after の content 依存装飾は実 span（.fx-*）へ昇格済み（R-27）。
 */
*,*::before,*::after{box-sizing:border-box}
.en-head,.en-head .en-head-txt,.en-head-txt{font-family:'Elms Sans','Zen Kaku Gothic New','Hiragino Kaku Gothic ProN','Yu Gothic',sans-serif !important;letter-spacing:.07em !important}
.stat-num{font-family:'Elms Sans','Zen Kaku Gothic New','Hiragino Kaku Gothic ProN','Yu Gothic',sans-serif !important}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:"Zen Kaku Gothic New","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;color:#1F3247;background:#FFFFFF;line-height:1.9;font-size:19px}
img{max-width:100%;display:block}
h1,h2,h3,p{text-wrap:pretty}
span.line-chunk{display:inline-block;overflow-wrap:anywhere;word-break:normal}
:where(a,button):focus-visible{outline:2px solid currentColor;outline-offset:3px}
html,body{height:auto !important;min-height:100%}
header a,header nav span,header .header-brand span{white-space:nowrap}
.skip-link{position:absolute;left:8px;top:-61px;z-index:300;background:#1E3A5F;color:#FFFFFF;padding:14px 22px;font-size:17px;font-weight:700;text-decoration:none;border-radius:0 0 4px 4px;transition:top .15s}
.skip-link:focus{top:0}
.sp-only{display:inline-flex}
@media(max-width:991px){
  header > div{min-height:60px !important}
}
@media(max-width:600px){
  .hd-contact{display:none !important}
}
#sp-menu nav > a{min-height:44px !important;padding:7px 4px !important;font-size:17px !important}
#sp-menu nav > div:not(:last-child) > a{min-height:34px !important;padding:5px 4px 5px 20px !important;font-size:14px !important}
#sp-menu nav > div:last-child{margin-top:18px !important;gap:10px !important}
#sp-menu nav > div:last-child > a:first-child{min-height:48px !important;padding:12px 24px !important;font-size:17px !important}
#sp-menu nav > div:last-child > a:last-child span:last-child{font-size:24px !important}
.pc-only{display:none}
.xl-only{display:none}
@media(min-width:992px){
  .sp-only{display:none}
  .pc-only{display:inline-flex}
}
@media(min-width:1200px){
  .xl-only{display:inline-flex}
}
.reason-radial{display:none}
@media(max-width:1024px){
  .fv-cta-head{white-space:nowrap;font-size:clamp(17px,4.4vw,22px) !important}
  .fv-cta-head .line-chunk{display:inline}
}
@media(min-width:601px) and (max-width:1024px){
  .fv-cta-head{font-size:clamp(15px,4.4vw,20px) !important}
  .contact-form-cta{font-size:17px !important;gap:8px !important}
}
@media(max-width:600px){
  .contact-form-sub{font-size:13px !important;letter-spacing:.1em !important}
  .contact-form-cta{font-size:16px !important;gap:8px !important}
}
@keyframes spOverlayIn{from{opacity:0}to{opacity:1}}
@keyframes spHeadIn{from{opacity:0}to{opacity:1}}
@keyframes spItemIn{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
#sp-menu{animation:spOverlayIn .24s ease both}
#sp-menu > div:first-child{animation:spHeadIn .42s cubic-bezier(.22,.61,.36,1) both}
#sp-menu nav > *{animation:spItemIn .5s cubic-bezier(.22,.61,.36,1) both}
#sp-menu nav > *:nth-child(1){animation-delay:.10s}
#sp-menu nav > *:nth-child(2){animation-delay:.15s}
#sp-menu nav > *:nth-child(3){animation-delay:.20s}
#sp-menu nav > *:nth-child(4){animation-delay:.25s}
#sp-menu nav > *:nth-child(5){animation-delay:.30s}
#sp-menu nav > *:nth-child(6){animation-delay:.35s}
#sp-menu nav > *:nth-child(7){animation-delay:.40s}
#sp-menu nav > *:nth-child(8){animation-delay:.45s}
#sp-menu nav > *:nth-child(9){animation-delay:.50s}
@media(prefers-reduced-motion:reduce){
  #sp-menu,#sp-menu > div:first-child,#sp-menu nav > *{animation:none !important}
}
.reason-stacked{display:block}
@media(min-width:1080px){
  .reason-radial{display:block}
  .reason-stacked{display:none}
}
.rb-ripple{transform-box:fill-box;transform-origin:center;animation:rbRipple 5.4s cubic-bezier(.4,0,.2,1) infinite}
.rb-ripple.d2{animation-delay:1.8s}
@keyframes rbRipple{0%{transform:scale(.27);opacity:0}12%{opacity:.5}100%{transform:scale(1);opacity:0}}
@media(min-width:820px){
  .rb-arclist>li:nth-child(1){margin-left:14px}
  .rb-arclist>li:nth-child(2){margin-left:58px}
  .rb-arclist>li:nth-child(3){margin-left:58px}
  .rb-arclist>li:nth-child(4){margin-left:14px}
}
@keyframes fvSlide{0%{opacity:0;transform:scale(1.02)}5%{opacity:1}38%{opacity:1}46%{opacity:0;transform:scale(1.1)}100%{opacity:0;transform:scale(1.1)}}
.fv-slide{animation:fvSlide 18s linear infinite;will-change:opacity,transform}
.reveal{transition:opacity .9s cubic-bezier(.22,.61,.36,1),transform .9s cubic-bezier(.22,.61,.36,1)}
body.js-anim .reveal{opacity:0;transform:translateY(26px)}
body.js-anim .reveal.is-on{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){
  .fv-slide{animation:none !important}
  .rb-ripple{animation:none !important;opacity:.32}
  .reveal{transition:none !important}
  body.js-anim .reveal{opacity:1 !important;transform:none !important}
  *,*::before,*::after{transition-duration:.01ms !important;animation-duration:.01ms !important;scroll-behavior:auto !important}
}
[class*="design-parts-52"]{background-color:#FFFFFF !important;background-image:none !important;margin:0 !important;padding:0 !important;border-bottom:1px solid #E2EAF2 !important}
[class*="design-parts-52"] .container{max-width:1176px !important;width:auto !important;float:none !important;margin:0 auto !important;padding:18px clamp(16px,3vw,28px) !important}
[class*="design-parts-52"] .content{display:flex !important;flex-direction:column !important;align-items:flex-start !important;gap:8px !important;width:100% !important;max-width:none !important;margin:0 !important}
[class*="design-parts-52"] h4.banner-area{background:transparent !important;color:#1E3A5F !important;font-family:'Elms Sans','Zen Kaku Gothic New','Hiragino Kaku Gothic ProN','Yu Gothic',sans-serif !important;font-size:23px !important;font-weight:600 !important;letter-spacing:.32em !important;line-height:1 !important;margin:0 !important;padding:0 0 0 14px !important;border-left:2px solid #2E6FB7 !important;border-radius:0 !important;display:inline-flex !important;align-items:center !important;flex:0 0 auto !important;width:auto !important}
[class*="design-parts-52"] ul.mb-0{list-style:none !important;margin:0 !important;padding:0 !important;width:100%;flex:1 1 auto;min-width:0}
[class*="design-parts-52"] ul.mb-0 li{margin:0 !important;padding:0 !important;border:0 !important}
[class*="design-parts-52"] ul.mb-0 li a{display:flex !important;align-items:center !important;min-height:44px !important;padding:2px 0 !important;text-decoration:none !important;color:#1F3247 !important}
[class*="design-parts-52"] .parts-52-textarea{display:flex !important;flex-wrap:wrap;align-items:baseline;gap:2px 16px;min-width:0}
[class*="design-parts-52"] .parts-52-textarea span.date{font-size:16px !important;font-weight:700 !important;color:#2E6FB7 !important;letter-spacing:.08em !important;flex:0 0 auto}
[class*="design-parts-52"] .parts-52-textarea span.d-inline-block{font-size:18px !important;line-height:1.8 !important;color:#1F3247 !important;text-decoration:none !important;transition:color .15s}
[class*="design-parts-52"] ul.mb-0 li a:hover .parts-52-textarea span.d-inline-block{color:#2E6FB7 !important}
@media(min-width:992px){
  [class*="design-parts-52"] .container{padding:0 clamp(16px,3vw,28px) !important}
  [class*="design-parts-52"] .content{flex-direction:row !important;align-items:center !important;gap:36px !important}
  [class*="design-parts-52"] ul.mb-0 li a{min-height:60px !important}
}
.container-fluid[class*="parts131415_blog"]{background-image:none !important;background-color:#2E6FB7 !important;margin:0 !important;padding:clamp(64px,9vw,112px) 0 !important;width:100%}
[class*="parts131415_blog"] .container-lg{max-width:1176px !important;width:auto !important;margin:0 auto !important;padding:0 clamp(16px,3vw,28px) !important}
[class*="parts131415_blog"] .parts131415_blog_title_wrap{margin:0 0 clamp(32px,5vw,52px) !important;text-align:left !important}
[class*="parts131415_blog"] .parts131415_blog_title_wrap h2{color:#FFFFFF !important;font-family:'Zen Kaku Gothic New','Hiragino Kaku Gothic ProN','Yu Gothic',sans-serif !important;font-size:clamp(45px,4.6vw,59px) !important;font-weight:600 !important;letter-spacing:.14em !important;line-height:1.2 !important;margin:0 !important}
[class*="parts131415_blog"] .parts131415_blog_title_wrap p{color:#FFFFFF !important;font-size:17px !important;font-weight:700 !important;letter-spacing:.14em !important;line-height:1.9 !important;margin:12px 0 0 !important}
[class*="parts131415_blog"] .row{display:grid !important;grid-template-columns:1fr !important;gap:20px !important;margin:0 !important;padding:0 !important;width:auto !important}
[class*="parts131415_blog"] .row > .col{padding:0 !important;margin:0 !important;width:auto !important;max-width:none !important}
[class*="parts131415_blog"] .card{background:#FFFFFF !important;border:0 !important;border-radius:0 !important;overflow:hidden !important;height:100% !important;box-shadow:0 6px 24px rgba(30,58,95,.07) !important}
[class*="parts131415_blog"] .card-body{padding:26px 26px 28px !important;display:flex !important;flex-direction:column !important;gap:14px !important;height:100%}
[class*="parts131415_blog"] h5.card-title{margin:0 !important;font-size:15px !important;font-weight:700 !important;letter-spacing:.22em !important;text-indent:.22em;color:#2E6FB7 !important;text-align:center !important}
[class*="parts131415_blog"] .card-body a{display:flex !important;flex-direction:column !important;gap:14px !important;text-decoration:none !important;color:#1F3247 !important;flex:1 1 auto}
[class*="parts131415_blog"] p.card-text{margin:0 !important;font-size:19px !important;font-weight:700 !important;line-height:1.8 !important;letter-spacing:.02em !important;color:inherit !important}
[class*="parts131415_blog"] .parts131415_blog_thumbnail{overflow:hidden !important;margin-top:auto !important;border-radius:0 !important}
[class*="parts131415_blog"] .parts131415_blog_thumbnail img{width:100% !important;height:205px !important;object-fit:cover !important;display:block !important;transition:transform .3s}
[class*="parts131415_blog"] .card-body a:hover p.card-text{color:#2E6FB7 !important}
[class*="parts131415_blog"] .card-body a:hover .parts131415_blog_thumbnail img{transform:scale(1.04)}
@media(min-width:576px){
  [class*="parts131415_blog"] .row{grid-template-columns:repeat(2,1fr) !important}
  [class*="parts131415_blog"] .parts131415_blog_thumbnail img{height:215px !important}
}
@media(min-width:992px){
  [class*="parts131415_blog"] .row{grid-template-columns:repeat(3,1fr) !important;gap:24px !important}
  [class*="parts131415_blog"] .parts131415_blog_thumbnail img{height:240px !important}
}
@media(hover:hover){
  .hd-contact:hover{background:#2E6FB7 !important}
  .fv-cta-recruit:hover{background:#1E3A5F !important}
  .fv-cta-service:hover{background:#1E3A5F !important;color:#FFFFFF !important;border-color:#1E3A5F !important}
  .fv-cta-service:hover > span:not(.fv-cta-head){color:#CFE2F4 !important}
  .fv-cta-service:hover span[aria-hidden="true"]{border-color:#5C82AC !important}
  .recruit-btn:hover{background:#163050 !important;color:#FFFFFF !important}
  .works-btn:hover{background:#2E6FB7 !important}
  .contact-form-btn:hover{background:#2E6FB7 !important}
  .contact-form-btn:hover .contact-form-sub{color:#FFFFFF !important}
  .contact-tel-btn:hover{background:#2E6FB7 !important;border-color:#2E6FB7 !important;color:#FFFFFF !important}
  .contact-tel-btn:hover span{color:#FFFFFF !important}
  .lk-nav{position:relative}
  .lk-nav > .fx-nav{position:absolute;left:13px;right:13px;bottom:10px;height:2px;background:#2E6FB7;border-radius:2px;transform:scaleX(0);transform-origin:right center;transition:transform .42s cubic-bezier(.22,.61,.36,1)}
  .lk-nav:hover > .fx-nav{transform:scaleX(1);transform-origin:left center}
  .ul-text{position:relative}
  .ul-text > .fx-ul{position:absolute;left:0;right:0;bottom:-3px;height:2px;background:currentColor;transform:scaleX(0);transform-origin:right center;transition:transform .42s cubic-bezier(.22,.61,.36,1)}
  .ul-host:hover .ul-text > .fx-ul{transform:scaleX(1);transform-origin:left center}
  .lk-arrow span[data-sw-m~="m1"]{transition:transform .34s cubic-bezier(.22,.61,.36,1),background-color .2s,color .2s,border-color .2s}
  .lk-arrow:hover span[data-sw-m~="m1"]{transform:translateX(5px)}
  .lk-pill{position:relative;overflow:hidden;isolation:isolate}
  .lk-pill > .fx-pill{position:absolute;top:0;bottom:0;left:-130%;width:55%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.38),transparent);transform:skewX(-16deg);transition:left .62s cubic-bezier(.22,.61,.36,1);pointer-events:none;z-index:-1}
  .lk-pill:hover > .fx-pill{left:130%}
  .lk-card .lk-thumb [role="img"]{transition:transform .6s cubic-bezier(.22,.61,.36,1)}
  .lk-card:hover .lk-thumb [role="img"]{transform:scale(1.06)}
  .lk-foot{transition:color .18s,transform .32s cubic-bezier(.22,.61,.36,1) !important}
  .lk-foot:hover{transform:translateX(7px)}
}
@media(prefers-reduced-motion:reduce){
  .lk-nav > .fx-nav,.lk-arrow span[data-sw-m~="m1"],.lk-pill > .fx-pill,.lk-card .lk-thumb [role="img"],.lk-foot{transition:none !important}
  .lk-foot:hover,.lk-arrow:hover span[data-sw-m~="m1"],.lk-card:hover .lk-thumb [role="img"]{transform:none !important}
}
.en-head{position:relative;overflow:hidden;display:inline-block}
.en-head .en-head-txt{display:inline-block}
body.js-anim .en-head .en-head-txt{opacity:0}
.en-head > .fx-enhead{position:absolute;inset:0;background:#1E3A5F;transform:translateX(-101%);z-index:2;pointer-events:none}
.en-head.en-on > .fx-enhead{animation:enWipe 1s cubic-bezier(.7,0,.25,1) forwards}
.en-head.en-on .en-head-txt{animation:enShow 1s linear forwards}
@keyframes enWipe{0%{transform:translateX(-101%)}42%{transform:translateX(0)}56%{transform:translateX(0)}100%{transform:translateX(101%)}}
@keyframes enShow{0%,48%{opacity:0}56%,100%{opacity:1}}
@media(prefers-reduced-motion:reduce){
  .en-head > .fx-enhead{display:none}
  .en-head .en-head-txt{opacity:1 !important;animation:none}
}
@media(min-width:768px){
  .en-head{font-size:clamp(55px,4.6vw,69px) !important}
  [class*="parts131415_blog"] .parts131415_blog_title_wrap h2{font-size:clamp(55px,4.6vw,69px) !important}
}
@media(min-width:1025px){
  .jp-sub{font-size:20px !important}
}
@media(min-width:768px){
  .about-vert p,.recruit-vert,.works-vert{font-size:clamp(20px,2vw,25px) !important}
}
@media(min-width:1025px){
  .about-vert-jp2{transform:translateY(64px)}
}
.pc-br{display:none}
@media(min-width:1025px){
  .pc-br{display:inline}
}
@media(max-width:640px){
  .reason-2x2{grid-template-columns:1fr !important}
}
@media(min-width:1025px){
  section[data-screen-label="採用情報ダイジェスト"]{position:relative}
  section[data-screen-label="採用情報ダイジェスト"] .reveal.recruit-grid{transform:none !important;padding-top:clamp(52px,6vw,88px) !important;padding-bottom:clamp(52px,6vw,88px) !important}
  .recruit-grid{grid-template-columns:1fr 1fr !important}
  .recruit-media{position:static !important;min-height:min(27vw,380px)}
  .recruit-img{position:absolute !important;left:0;top:0;height:100%;width:min(46vw,680px);z-index:1}
  .recruit-vert{left:calc(min(46vw,680px) - 50px) !important;transform:translateY(calc(-50% - 84px)) !important}
  section[data-screen-label="施工実績"]{position:relative}
  section[data-screen-label="施工実績"] .reveal.works-grid{transform:none !important;padding-top:clamp(52px,6vw,88px) !important;padding-bottom:clamp(52px,6vw,88px) !important}
  .works-grid{grid-template-columns:1fr 1fr !important}
  .works-media{position:static !important;min-height:min(27vw,380px)}
  .works-img{position:absolute !important;left:0;top:0;height:100%;width:min(46vw,680px);z-index:1}
  .works-vert{left:calc(min(46vw,680px) - 50px) !important;transform:translateY(calc(-50% - 84px)) !important}
}
@media(max-width:640px){
  .recruit-media,.works-media{margin-top:calc(-1 * clamp(72px,11vw,136px)); margin-left:calc(-1 * clamp(16px,3vw,28px)); margin-right:calc(-1 * clamp(16px,3vw,28px));}
  .recruit-img,.works-img{border-radius:0 !important;aspect-ratio:4/3 !important}
}
@media(max-width:1024px){
  .recruit-vert,.works-vert{left:auto !important; right:clamp(16px,4vw,28px) !important; top:clamp(16px,4vw,28px) !important; transform:none !important;}
}
@media(min-width:1025px){
  .stat-num{min-height:92px !important;display:flex !important;align-items:center !important;justify-content:center !important;padding-top:0 !important;padding-bottom:0 !important}
}
@media(min-width:768px) and (max-width:1024px){
  .en-head{font-size:clamp(63px,5.4vw,77px) !important}
  [class*="parts131415_blog"] .parts131415_blog_title_wrap h2{font-size:clamp(63px,5.4vw,77px) !important}
}
.img-wipe{position:relative;overflow:hidden}
.img-wipe > .fx-imgwipe{position:absolute;inset:0;background:#2E6FB7;transform:translateX(-101%);z-index:5;pointer-events:none}
body.js-anim .img-wipe > .fx-imgwipe{transform:translateX(0)}
.img-wipe.en-on > .fx-imgwipe{animation:imgReveal .9s cubic-bezier(.7,0,.25,1) forwards}
@keyframes imgReveal{0%{transform:translateX(0)}100%{transform:translateX(101%)}}
@media(prefers-reduced-motion:reduce){
  .img-wipe > .fx-imgwipe{display:none}
}
.about-img-lg{width:100%}
.about-img-sm{width:64%;margin:-12% 0 0 4%}
@media(max-width:1024px){
  .about-vert{top:auto !important;bottom:0 !important}
}
@media(min-width:1025px){
  section[data-screen-label="明和設備工業について"]{position:relative;z-index:2;overflow:visible}
  section[data-screen-label="明和設備工業について"] .reveal{transform:none !important}
  .about-media{position:static !important}
  .about-img-lg{position:absolute;right:0;top:0;width:min(50.4vw,836px);z-index:1}
  .about-img-sm{position:absolute;right:auto;left:calc(44vw + 30px);bottom:clamp(-48px,-3vw,-24px);width:min(27vw,366px);margin:0;z-index:3}
  .about-vert{top:clamp(-72px,-4.5vw,-36px) !important;right:clamp(12px,3vw,40px) !important;z-index:4 !important}
  .about-text{transform:translateY(-30px)}
}
.fv-bg{position:absolute;inset:0;display:grid;grid-template-columns:1fr 1fr;z-index:0}
.title-col > .fx-title{position:absolute;inset:0;background:#2E6FB7;transform:translateY(-101%);animation:titleWipe 1.05s cubic-bezier(.7,0,.25,1) forwards;z-index:2}
.title-col .title-txt{display:block;opacity:0;animation:titleShow 1.05s linear forwards}
.title-col:nth-child(2) > .fx-title,.title-col:nth-child(2) .title-txt{animation-delay:.18s}
.title-col:nth-child(3) > .fx-title,.title-col:nth-child(3) .title-txt{animation-delay:.36s}
@keyframes titleWipe{0%{transform:translateY(-101%)}42%{transform:translateY(0)}56%{transform:translateY(0)}100%{transform:translateY(101%)}}
@keyframes titleShow{0%,48%{opacity:0}56%,100%{opacity:1}}
@media(prefers-reduced-motion:reduce){
  .title-col > .fx-title{display:none}
  .title-col .title-txt{opacity:1;animation:none}
}
.fv-limg,.fv-rimg{position:relative;overflow:hidden;background:#D9E5EF}
.fv-content{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;text-align:center}
@media(max-width:1024px){
  .fv-bg{grid-template-columns:1fr;grid-template-rows:1fr 1fr}
  .contact-inner{padding-top:56px !important;padding-bottom:56px !important}
}
@media(max-width:600px){
  section[data-screen-label="FV（メインビジュアル）"]{height:calc(100svh - 80px);min-height:480px;display:flex;flex-direction:column}
  .fv-content{flex:1 1 auto;justify-content:center;padding:14px 14px !important}
  .fv-content > div:first-child{padding:6px 0 !important}
  .fv-content > div:first-child > p:first-child{font-size:12px !important;margin:0 0 10px !important}
  .fv-content h1{gap:8px !important;font-size:clamp(24px,7.4vw,32px) !important;padding:0 !important}
  .fv-content > div:first-child > p:last-child{font-size:14px !important;line-height:2 !important;margin-top:12px !important}
  .fv-content > div:last-child{margin-top:14px !important;gap:10px !important}
  .fv-content a.lk-arrow{padding:12px 16px !important;gap:3px !important}
  .fv-content a.lk-arrow > span:nth-child(2){font-size:17px !important;line-height:1.4 !important}
  .fv-content a.lk-arrow > span:first-child{font-size:12px !important}
  .fv-content a.lk-arrow > span:last-child{margin-top:2px !important;font-size:14px !important}
  .fv-divider{height:28px !important;margin-top:-14px !important}
}
@media(min-width:1025px){
  section[data-screen-label="FV（メインビジュアル）"]{height:calc(100svh - 76px);min-height:560px;display:flex;flex-direction:column}
  .fv-content{flex:1 1 auto;justify-content:center;padding-top:20px !important;padding-bottom:20px !important}
  .fv-content > div:first-child{padding:10px 0 !important}
  .fv-content h1{font-size:clamp(40px,5.6vw,60px) !important}
  .fv-content > div:first-child > p:last-child{margin-top:16px !important}
  .fv-content > div:last-child{margin-top:20px !important}
}
@media(min-width:1025px) and (max-height:920px){
  .fv-content{padding-top:16px !important;padding-bottom:16px !important}
  .fv-content > div:first-child{padding:6px 0 !important}
  .fv-content > div:first-child > p:first-child{margin-bottom:8px !important}
  .fv-content h1{font-size:clamp(38px,4.6vw,54px) !important;gap:12px !important}
  .fv-content > div:first-child > p:last-child{margin-top:12px !important;font-size:clamp(15px,1.5vw,18px) !important}
  .fv-content > div:last-child{margin-top:16px !important}
  .fv-content a.lk-arrow{padding:16px 22px !important;gap:6px !important}
  .fv-content a.lk-arrow > span:nth-child(2){font-size:20px !important;line-height:1.5 !important}
}
@media(min-width:1025px) and (max-height:800px){
  .fv-content h1{font-size:clamp(34px,4vw,46px) !important}
}
@media(max-width:600px){
  .pr-items{grid-template-columns:1fr !important}
  .area-items{flex-direction:column !important;align-items:center !important}
}
@media(max-width:1024px){
  .fv-emb{object-position:40% 50% !important}
  .fv-emb-pc{display:none !important}
  .fv-emb-sp{display:block !important}
}
@media(max-width:600px){
  .fv-emb{object-position:55% 50% !important}
  section[data-screen-label="クロージングCTA"]{background-position:70% center !important}
}
@media(hover:hover){
  .cta-tel-btn:hover span{color:#FFFFFF !important}
  .cta-form-btn:hover .cta-form-sub{color:#FFFFFF !important}
  .cta-form-btn:hover{background:#2E6FB7 !important}
  .cta-tel-btn:hover{background:#2E6FB7 !important;border-color:#2E6FB7 !important;color:#FFFFFF !important}
}
@media(prefers-reduced-motion:reduce){
  .lk-nav > .fx-nav,.lk-pill > .fx-pill,.lk-foot{transition:none !important}
  .lk-foot:hover{transform:none !important}
}
.mw-sub p[data-sw-m~="m2"]{font-size:17px !important}
.mw-sub [data-sw-m~="m3"]{font-size:15px !important}
.mw-sub [data-sw-m~="m4"]{font-size:16px !important}
.mw-sub [data-sw-m~="m5"]{font-size:15px !important}
/* KEEP: ブロック間（ヘッダー/本文/フッター）に混入する全角スペース U+3000（　）が、
   body の line-height（≒36px）分の行ボックスを生み、ヘッダー上やCTA〜フッター間に
   余白を作る問題への対策。body の line-height を 0 にして stray テキストノードの行ボックスを潰し、
   直下ブロックには元の係数 1.9 を戻す（配下テキストの行間は不変・実機で検証済）。2026-08-26
   ※この2行を消すと余白が復活する。全角スペースは CueZilla 保存側にあり本HTMLには無い */
body{line-height:0 !important}
body>*{line-height:1.9 !important}
/* /KEEP */
.mw-sub [role="img"][data-sw-m~="m6"],.mw-sub [role="img"][data-sw-m~="m7"]{border:0 !important;border-radius:0 !important;box-shadow:0 10px 34px rgba(30,58,95,.1) !important}
.mw-sub [data-sw-m~="m6"],.mw-sub [data-sw-m~="m8"],.mw-sub [data-sw-m~="m9"]{border-radius:0 !important}
@media(max-width:1024px){
  .cta-form-cta{font-size:17px !important;gap:8px !important}
}
@media(max-width:600px){
  .cta-form-sub{font-size:13px !important;letter-spacing:.1em !important}
  .cta-form-cta{font-size:16px !important;gap:8px !important}
}
.en-rv{position:relative;overflow:hidden;display:inline-block}
.en-rv .en-rv-txt{display:inline-block}
body.js-anim .en-rv .en-rv-txt{opacity:0}
.en-rv > .fx-enrv{position:absolute;inset:0;background:#1E3A5F;transform:translateX(-101%);z-index:2;pointer-events:none}
body.js-anim .reveal.is-on .en-rv > .fx-enrv{animation:enWipe 1s cubic-bezier(.7,0,.25,1) forwards}
body.js-anim .reveal.is-on .en-rv .en-rv-txt{animation:enShow 1s linear forwards}
@media(prefers-reduced-motion:reduce){
  .en-rv > .fx-enrv{display:none}
  .en-rv .en-rv-txt{opacity:1 !important;animation:none}
}
@media(hover:hover){
  .xcta:hover{background:#2E6FB7 !important;color:#FFFFFF !important;border-color:#2E6FB7 !important}
  .xcta:hover span[aria-hidden="true"]:not(.fx-pill){color:#FFFFFF !important;border-color:rgba(255,255,255,.55) !important}
  .xcta{transition:background .2s,color .2s,border-color .2s !important}
  /* 矢印(丸)の transition。:not(.fx-pill) で光沢スイープ span を除外し、.lk-pill>.fx-pill の left .62s を殺さない */
  .xcta span[aria-hidden="true"]:not(.fx-pill){transition:transform .34s cubic-bezier(.22,.61,.36,1),color .2s,border-color .2s}
}
@media(max-width:640px){
  .flow-steps{flex-direction:column !important;align-items:stretch !important}
  .flow-arrow{transform:rotate(90deg);padding:2px 0}
}
@media(max-width:600px){
  .flow-steps [data-sw-m~="m10"]{font-size:18px !important}
  .flow-steps [data-sw-m~="m5"]{font-size:15px !important}
}
@media(max-width:860px){
  .spec-grid{grid-template-columns:1fr 1fr !important}
}
@media(max-width:560px){
  .spec-grid{grid-template-columns:1fr !important}
}
@media(max-width:820px){
  section[data-screen-label="なぜ点検が必要か"] img.ph-slot{aspect-ratio:16/9 !important;height:auto !important;min-height:0 !important}
  .insp-photo{grid-template-columns:1fr !important}
  .insp-photo > img.ph-slot{aspect-ratio:16/9 !important;height:auto !important;min-height:0 !important;order:-1}
  section[data-screen-label="そのほかの消防設備"] > div{grid-template-columns:1fr !important}
  section[data-screen-label="そのほかの消防設備"] img.ph-slot{aspect-ratio:16/9 !important;height:auto !important;min-height:0 !important}
}
section.contact_section .parts219_section_form{max-width:760px;margin:0 auto;padding:0 clamp(16px,3vw,28px)}
section.contact_section .parts219_form_wrap{background:transparent !important;border:0 !important;border-radius:0 !important;box-shadow:none !important;padding:0 !important}
section.contact_section input[type="text"], section.contact_section input[type="email"], section.contact_section input[type="tel"], section.contact_section textarea{width:100%;font-family:inherit;font-size:16px;line-height:1.6;color:#1F3247;background:#FFFFFF;border:1px solid #C9D9E6;border-radius:0;padding:12px 14px;min-height:48px}
section.contact_section input.zip{width:10em;max-width:100%}
section.contact_section dl.form_address dd{display:flex;flex-direction:column;gap:10px}
section.contact_section input[type="file"]{font-size:14px;color:#1F3247;padding:8px 0;max-width:100%}
@media(hover:hover){
  /* recruitトップの2ボタンは hover で「隣ボタンの通常色」へスワップ。
     募集要項を見る（xswap-a）hover→背景#FFFFFF/文字#1E3A5F、応募する（xswap-b）hover→背景#1E3A5F/文字#FFFFFF。
     矢印(丸)の transition は :not(.fx-pill) で光沢スイープ span を除外し、.lk-pill>.fx-pill の left .62s を活かす（2026-08-26 改訂） */
  .xswap-a,.xswap-b{transition:background .2s,color .2s,border-color .2s !important}
  .xswap-a span[aria-hidden="true"]:not(.fx-pill),.xswap-b span[aria-hidden="true"]:not(.fx-pill){transition:color .2s,border-color .2s}
  .xswap-a:hover{background:#FFFFFF !important;color:#1E3A5F !important;border-color:#FFFFFF !important}
  .xswap-a:hover span[aria-hidden="true"]:not(.fx-pill){color:#1E3A5F !important;border-color:#9FC0E2 !important}
  .xswap-b:hover{background:#1E3A5F !important;color:#FFFFFF !important;border-color:#1E3A5F !important}
  .xswap-b:hover span[aria-hidden="true"]:not(.fx-pill){color:#FFFFFF !important;border-color:#5C82AC !important}
}
@media(min-width:992px){
  #recruit-point{aspect-ratio:5/6 !important}
}
@media(max-width:991px){
  .point-grid{grid-template-columns:1fr !important}
  .point-grid > img.ph-slot{position:relative !important;top:auto !important;max-width:520px}
  .point-cards{grid-template-columns:1fr !important}
  #recruit-ph1{width:100% !important}
}
@media(max-width:600px){
  .lic-chips{grid-template-columns:1fr !important}
  .flow-steps [data-sw-m~="m2"]{font-size:17px !important}
  .flow-steps [data-sw-m~="m11"]{font-size:22px !important}
  .exp-reason-2x2{grid-template-columns:1fr !important}
}
@media(max-width:820px){
  .photo-grid{grid-template-columns:1fr !important}
  .photo-grid > img.ph-slot{aspect-ratio:16/9 !important;height:auto !important;max-width:520px}
  section[data-screen-label="活かせる資格"] > div,section[data-screen-label="こんな方を歓迎"] > div{grid-template-columns:1fr !important}
  section[data-screen-label="活かせる資格"] img.ph-slot,section[data-screen-label="こんな方を歓迎"] img.ph-slot{aspect-ratio:16/9 !important;height:auto !important;order:-1}
}
details.faq-item summary::-webkit-details-marker{display:none}
details.faq-item summary{list-style:none}
details.faq-item[open] .faq-toggle{transform:rotate(45deg)}
.parts228_section{background:#FFFFFF !important;margin:0 !important;padding:clamp(48px,7vw,88px) 0 clamp(72px,10vw,120px) !important}
.parts228_wrap{max-width:1176px !important;margin:0 auto !important;padding:0 clamp(16px,3vw,28px) !important}
.parts228_main{margin:0 !important;padding:0 !important}
.parts228_post_list{display:grid !important;grid-template-columns:1fr !important;gap:clamp(20px,3vw,28px) !important;margin:0 !important;padding:0 !important;list-style:none !important}
.parts228_post_wrap{margin:0 !important;padding:0 !important;list-style:none !important;background:#FFFFFF !important;border:1px solid #E2EAF2 !important;border-radius:0 !important;overflow:hidden !important;display:flex !important;flex-direction:column !important;transition:box-shadow .25s ease,transform .25s ease}
.parts228_post_wrap:hover{box-shadow:0 14px 34px rgba(30,58,95,.12) !important;transform:translateY(-3px)}
.parts228_post_img{margin:0 !important;overflow:hidden !important;aspect-ratio:4/3}
.parts228_post_img a{display:block !important;width:100% !important;height:100% !important}
.parts228_post_img img{width:100% !important;height:100% !important;object-fit:cover !important;display:block !important;transition:transform .3s}
.parts228_post_wrap:hover .parts228_post_img img{transform:scale(1.04)}
.parts228_post_status{display:flex !important;align-items:center !important;margin:0 !important;padding:20px 22px 0 !important}
.parts228_post_date{font-size:13px !important;font-weight:700 !important;letter-spacing:.06em !important;color:#2E6FB7 !important}
.parts228_post_title-excerpt{padding:10px 22px 0 !important}
.parts228_post_title{margin:0 !important;font-size:17px !important;font-weight:700 !important;line-height:1.7 !important;letter-spacing:.02em !important;color:#1E3A5F !important}
.parts-blog-ex-tag_wrap{display:flex !important;flex-wrap:wrap !important;gap:8px !important;margin:0 !important;padding:14px 22px 22px !important;list-style:none !important}
.parts-blog-ex_tag{font-size:12px !important;letter-spacing:.04em !important;color:#54677C !important;background:#EAF2F8 !important;border:1px solid #D7E4EF !important;border-radius:0 !important;padding:5px 12px !important;margin:0 !important}
.parts228_post_excerpt{padding:0 22px 22px !important;margin:0 !important;font-size:14px !important;line-height:1.9 !important;color:#54677C !important}
.parts228_pagenation{display:flex !important;flex-wrap:wrap !important;justify-content:center !important;align-items:center !important;gap:8px !important;margin:clamp(36px,5vw,56px) 0 0 !important;padding:0 !important;list-style:none !important}
.parts228_pagenation a,.parts228_pagenation span{display:inline-flex !important;align-items:center !important;justify-content:center !important;min-width:44px !important;min-height:44px !important;padding:0 14px !important;font-size:14px !important;font-weight:700 !important;letter-spacing:.04em !important;color:#1E3A5F !important;background:#FFFFFF !important;border:1px solid #D7E4EF !important;border-radius:0 !important;text-decoration:none !important;transition:background .15s,color .15s,border-color .15s}
.parts228_pagenation a:hover{border-color:#2E6FB7 !important;color:#2E6FB7 !important}
.parts228_pagenation .pagination_num.current{background:#1E3A5F !important;border-color:#1E3A5F !important;color:#FFFFFF !important}
@media(min-width:640px){
  .parts228_post_list{grid-template-columns:repeat(2,1fr) !important}
}
@media(min-width:992px){
  .parts228_post_list{grid-template-columns:repeat(3,1fr) !important;gap:24px !important}
}
.parts222_section{background:#FFFFFF !important;margin:0 !important;padding:clamp(48px,7vw,88px) 0 clamp(72px,10vw,120px) !important}
.parts222_section > h2{max-width:1176px !important;margin:0 auto clamp(28px,4vw,44px) !important;padding:0 clamp(16px,3vw,28px) !important;font-family:'Elms Sans','Zen Kaku Gothic New','Hiragino Kaku Gothic ProN','Yu Gothic',sans-serif !important;font-size:clamp(26px,4vw,38px) !important;font-weight:600 !important;letter-spacing:.14em !important;color:#1E3A5F !important;line-height:1.3 !important}
.parts222_wrap{max-width:1176px !important;margin:0 auto !important;padding:0 clamp(16px,3vw,28px) !important;display:grid !important;grid-template-columns:1fr !important;gap:clamp(36px,5vw,56px) !important;align-items:start}
.parts222_main{margin:0 !important;padding:0 !important;min-width:0}
.parts222_post_list{display:grid !important;grid-template-columns:1fr !important;gap:clamp(18px,2.5vw,24px) !important;margin:0 !important;padding:0 !important;list-style:none !important}
.parts222_post_wrap{margin:0 !important;padding:0 !important;list-style:none !important}
.parts222_post_wrap > a{display:flex !important;flex-direction:column !important;background:#FFFFFF !important;border:1px solid #E2EAF2 !important;border-radius:0 !important;overflow:hidden !important;text-decoration:none !important;color:#1F3247 !important;height:100% !important;transition:box-shadow .25s ease,transform .25s ease}
.parts222_post_wrap > a:hover{box-shadow:0 14px 34px rgba(30,58,95,.12) !important;transform:translateY(-3px)}
.parts222_post_img{overflow:hidden !important;aspect-ratio:16/9 !important;background:#D9E5EF !important}
.parts222_post_img img{width:100% !important;height:100% !important;object-fit:cover !important;display:block !important;transition:transform .3s}
.parts222_post_wrap > a:hover .parts222_post_img img{transform:scale(1.04)}
.parts222_post_status{display:flex !important;flex-wrap:wrap !important;align-items:center !important;gap:8px 14px !important;margin:0 !important;padding:18px 22px 0 !important}
.parts222_post_date{font-size:13px !important;font-weight:700 !important;letter-spacing:.06em !important;color:#2E6FB7 !important}
.parts222_post_category{font-size:12px !important;letter-spacing:.06em !important;color:#54677C !important;background:#EAF2F8 !important;border:1px solid #D7E4EF !important;border-radius:0 !important;padding:4px 12px !important}
.parts222_post_title-excerpt{padding:10px 22px 22px !important}
.parts222_post_title{margin:0 !important;font-size:17px !important;font-weight:700 !important;line-height:1.7 !important;letter-spacing:.02em !important;color:#1E3A5F !important}
.parts222_post_wrap > a:hover .parts222_post_title{color:#2E6FB7 !important}
.parts222_pagenation{display:flex !important;flex-wrap:wrap !important;justify-content:center !important;align-items:center !important;gap:8px !important;margin:clamp(32px,4.5vw,48px) 0 0 !important;padding:0 !important;list-style:none !important}
.parts222_pagenation a,.parts222_pagenation span{display:inline-flex !important;align-items:center !important;justify-content:center !important;min-width:44px !important;min-height:44px !important;padding:0 14px !important;font-size:14px !important;font-weight:700 !important;letter-spacing:.04em !important;color:#1E3A5F !important;background:#FFFFFF !important;border:1px solid #D7E4EF !important;border-radius:0 !important;text-decoration:none !important;transition:background .15s,color .15s,border-color .15s}
.parts222_pagenation a:hover{border-color:#2E6FB7 !important;color:#2E6FB7 !important}
.parts222_pagenation .pagination_num.current{background:#1E3A5F !important;border-color:#1E3A5F !important;color:#FFFFFF !important}
.parts222_sidebar{margin:0 !important;padding:0 !important;display:flex !important;flex-direction:column !important;gap:clamp(20px,3vw,28px) !important;min-width:0}
.parts222_sidebar_wrap{margin:0 !important;padding:0 !important;border:1px solid #E2EAF2 !important;border-radius:0 !important;overflow:hidden !important;background:#FFFFFF !important}
.parts222_sidebar_wrap > h3{margin:0 !important;padding:16px 20px !important;font-size:14px !important;font-weight:700 !important;letter-spacing:.14em !important;color:#1E3A5F !important;background:#EAF2F8 !important;border-bottom:1px solid #E2EAF2 !important}
.parts222_sidebar_wrap > ul{list-style:none !important;margin:0 !important;padding:0 8px !important}
.parts222_sidebar_wrap li{margin:0 !important;padding:0 !important;border-bottom:1px solid #EDF2F7 !important}
.parts222_sidebar_wrap li:last-child{border-bottom:0 !important}
.parts222_sidebar_wrap li a{display:flex !important;flex-direction:column !important;gap:4px !important;min-height:44px !important;justify-content:center !important;padding:12px !important;text-decoration:none !important;color:#1F3247 !important;transition:color .15s}
.parts222_sidebar_wrap li a:hover{color:#2E6FB7 !important}
.parts222_sidebar_date{font-size:12px !important;font-weight:700 !important;letter-spacing:.06em !important;color:#2E6FB7 !important}
.parts222_sidebar_post_title{margin:0 !important;font-size:14px !important;line-height:1.7 !important;color:inherit !important}
.category_post_count li a{flex-direction:row !important;align-items:center !important;justify-content:space-between !important;gap:12px !important}
.category_post_count ul li{border-left:unset !important;border-right:unset !important}
.parts222_sidebar_post_category{margin:0 !important;font-size:14px !important;color:inherit !important}
.parts222_sidebar_post_category_count{font-size:12px !important;font-weight:700 !important;color:#54677C !important;background:#F2F6FA !important;border:1px solid #E2EAF2 !important;border-radius:0 !important;min-width:28px !important;text-align:center !important;padding:2px 8px !important}
@media(min-width:640px){
  .parts222_post_list{grid-template-columns:repeat(2,1fr) !important}
}
@media(min-width:992px){
  .parts222_wrap{grid-template-columns:minmax(0,1fr) 300px !important}
  .parts222_post_list{grid-template-columns:repeat(2,1fr) !important}
}
.parts210_section_content{background:transparent !important;margin:0 !important;padding:0 !important}
.parts210_content_wrap{max-width:760px !important;margin:0 auto !important;padding:0 clamp(16px,3vw,28px) !important}
.parts210_content{margin:0 !important;font-size:15px !important;line-height:2.2 !important;letter-spacing:.05em !important;color:#54677C !important}
section.contact_section{background:#FFFFFF !important;margin:0 !important;padding:clamp(36px,5vw,56px) 0 clamp(72px,10vw,120px) !important}
section.contact_section .parts213_section_form{max-width:760px !important;margin:0 auto !important;padding:0 clamp(16px,3vw,28px) !important}
section.contact_section .parts213_form_wrap{background:transparent !important;border:0 !important;border-radius:0 !important;box-shadow:none !important;padding:0 !important}
section.contact_section dl{display:flex !important;flex-direction:column !important;gap:8px !important;margin:0 0 26px !important;padding:0 !important}
section.contact_section dt{font-size:14px !important;font-weight:700 !important;letter-spacing:.06em !important;color:#1E3A5F !important;display:flex !important;align-items:center !important;flex-wrap:wrap !important;gap:10px !important}
section.contact_section dt .required{background:transparent !important;color:#B43A2B !important;font-size:12px !important;font-weight:700 !important;letter-spacing:.08em !important}
section.contact_section dd{margin:0 !important}
section.contact_section input[type="text"], section.contact_section input[type="email"], section.contact_section textarea{width:100% !important;font-family:inherit !important;font-size:16px !important;line-height:1.6 !important;color:#1F3247 !important;background:#FFFFFF !important;border:1px solid #C9D9E6 !important;border-radius:0 !important;padding:12px 14px !important;min-height:48px !important}
section.contact_section input:focus,section.contact_section textarea:focus{outline:2px solid #2E6FB7 !important;outline-offset:1px !important}
section.contact_section textarea{min-height:200px !important;resize:vertical !important}
section.contact_section .checkbox_wrap{display:flex !important;flex-direction:row !important;flex-wrap:wrap !important;gap:8px 24px !important}
section.contact_section .checkbox_wrap label{display:flex !important;align-items:center !important;gap:10px !important;min-height:44px !important;font-size:15px !important;color:#1F3247 !important;cursor:pointer}
section.contact_section .checkbox_wrap input[type="checkbox"]{width:18px !important;height:18px !important;accent-color:#1E3A5F !important;flex:0 0 auto}
section.contact_section dt.form_text_dt{flex-direction:row !important;flex-wrap:wrap !important;align-items:baseline !important;gap:4px 10px !important}
section.contact_section dt.form_text_dt > span:first-child{display:contents !important}
section.contact_section dt.form_text_dt .attention{order:2 !important;flex-basis:100% !important;width:100% !important;display:block !important;font-size:12px !important;font-weight:500 !important;color:#B43A2B !important;letter-spacing:.04em !important;margin-top:2px !important}
section.contact_section p.error{margin:4px 0 0 !important;font-size:13px !important;color:#B43A2B !important}
section.contact_section .contact_submit{margin-top:36px !important;text-align:center !important}
section.contact_section .contact_submit input[type="submit"]{font-family:inherit !important;font-size:15px !important;font-weight:700 !important;letter-spacing:.1em !important;color:#1E3A5F !important;background:#FFFFFF !important;border:1px solid #1E3A5F !important;border-radius:0 !important;padding:14px 56px !important;width:auto !important;min-height:52px !important;cursor:pointer !important;transition:background .2s,color .2s}
section.contact_section .contact_submit input[type="submit"]:hover{background:#1E3A5F !important;color:#FFFFFF !important;opacity:1 !important}
@media(min-width:720px){
  section.contact_section dl{flex-direction:row !important;align-items:flex-start !important;gap:clamp(20px,3vw,36px) !important}
  section.contact_section dt{flex:0 0 200px !important;padding-top:13px !important}
  section.contact_section dt.form_text_dt{padding-top:0 !important}
  section.contact_section dd{flex:1 1 auto !important;min-width:0 !important}
  section.contact_section .contact_submit{padding-left:calc(200px + clamp(20px,3vw,36px)) !important;text-align:left !important}
}
/* === R-27対応: AddCssInfo は ::before/::after の content を落とすため実 span へ昇格 ===
   受領CSSの .ul-text::after / .lk-nav::after / .lk-pill::before / .en-rv::after /
   .en-head::after / .img-wipe::after / .title-col::after を、上の各ルールでは
   「 > .fx-… 」に書き換えてある。ここはその土台。
   KEEP: 消すと英字見出しのワイプ・ナビの下線・ピルCTAのシャインが全部消える */
.fx-ul,.fx-nav,.fx-pill{display:none}
@media(hover:hover){.fx-ul,.fx-nav,.fx-pill{display:block}}
.fx-enrv,.fx-enhead,.fx-imgwipe,.fx-title{display:block}
/* /KEEP */

/* === PCナビのサブメニュー（受領は dc の state 開閉 → 純CSS開閉に置換）===
   KEEP: .mw-submenu の既定非表示。消すとサブメニューが開いたまま固定される */
.mw-navitem > .mw-submenu{display:none}
.mw-navitem:hover > .mw-submenu,
.mw-navitem:focus-within > .mw-submenu,
.mw-navitem.is-open > .mw-submenu{display:flex}
/* /KEEP */

/* === SPドロワー（受領は sc-if menuOpen → 既定非表示＋JSで .is-open）===
   KEEP: これが無いとドロワーが常時開いて画面を覆う */
#sp-menu{display:none}
#sp-menu.is-open{display:flex}
/* /KEEP */

/* === 変換後 img（受領 image-slot）の土台 === */
img.ph-slot{max-width:100%}
/* === インライン animation/transition の退避（CueZillaは style 属性から除去する） ===
   3重クラス＝インライン相当の詳細度を保つ。animation-delay は .fv-slide の
   ショートハンドより後に来る必要があるため、必ずこの位置（site.css 末尾側）に置く。 */
.swa1.swa1.swa1{transition:color .15s;}
.swa2.swa2.swa2{transition:background .15s,color .15s;}
.swa3.swa3.swa3{transition:background .2s;}
.swa4.swa4.swa4{animation-delay:6s;}
.swa5.swa5.swa5{animation-delay:12s;}
.swa6.swa6.swa6{transition:background .2s,color .2s,border-color .2s;}
.swa7.swa7.swa7{transition:background .2s,color .2s;}
.swa8.swa8.swa8{transition:opacity .8s cubic-bezier(.22,.61,.36,1),transform .45s cubic-bezier(.22,.61,.36,1);}
.swa9.swa9.swa9{transition:border-color .2s,background .2s,color .2s;}
.swa10.swa10.swa10{transition:border-color .2s,background .2s;}
.swa11.swa11.swa11{transition:opacity .8s cubic-bezier(.22,.61,.36,1),transform .45s cubic-bezier(.22,.61,.36,1),box-shadow .25s ease;}
.swa12.swa12.swa12{transition:transform .2s;}
/* === style-hover / style-focus 由来の生成クラス（3重クラスで詳細度確保） === */
.swx1.swx1.swx1:hover{color:#2E6FB7;}
.swx2.swx2.swx2:hover{background:#EEF4FA;color:#2E6FB7;}
.swx3.swx3.swx3:hover{background:#2E6FB7;}
.swx4.swx4.swx4:hover{color:#8FB4D9;}
.swx5.swx5.swx5:hover{color:#FFFFFF;}
.swx6.swx6.swx6:hover{background:#163050;color:#FFFFFF;}
.swx7.swx7.swx7:hover{transform:translateY(-4px);}
.swx8.swx8.swx8:hover{color:#9FC0E2;}
.swx9.swx9.swx9:hover{background:#2E6FB7;border-color:#2E6FB7;color:#FFFFFF;}
.swx10.swx10.swx10:hover{background:#F4F8FB;border-color:#9FC0E2;}
.swx11.swx11.swx11:hover{transform:translateY(-3px);box-shadow:0 14px 34px rgba(30,58,95,.14);}
.swx12.swx12.swx12:hover{background:#D8E6F3;}


/* ===== 29_override.css ===== */
/* S01274 株式会社明和設備工業 — override（site.css の後に結合・!important で最後に当てる）
   skin不採用（cz-judgment §3）: 受領が helmet 内に「add.css 相当」を持ち、動的パーツ
   （parts222 / parts228 / parts210 / parts213 / parts219 / design-parts-52 / parts131415_blog）を
   !important で自前フルstyle済み。skin を足すと結合順（site → skin → override）で skin が
   後勝ちして意匠を潰すため入れない。 */

/* KEEP: CueZilla自動パンくずは全ページ非表示（ユーザー標準ルール・採番非依存で当てる） */
[class*="_breadcrumb"], .p-breadcrumb{ display:none !important; }
/* /KEEP */

/* KEEP: sticky ヘッダーの復活（2行セット・片方だけでは不完全）
   theme_default が body{overflow-x:hidden}（=スクロールコンテナ化）と html,body{height:100%}
   （=stickyの可動域が1画面）を当てており、この2つ両方が position:sticky を殺す。
   教訓 cuezilla-theme-html-body-height-100-kills-sticky */
html, body{ height:auto !important; }
body{ overflow-x:clip !important; }
/* /KEEP */

/* KEEP: ★theme_default.css が .pc-only を !important で定義している（display:none / 992px以上で
   display:block）ため、受領の .pc-only{display:inline-flex} が負ける。実測（verify/local-sandbox の
   theme_default 込みで描画）で PCナビが display:block になり、ヘッダーが 76px → 140px に膨らんだ。
   受領の表示ユーティリティ3種をここで !important で取り戻す。
   ※.sp-only / .xl-only は現行 theme に同名定義は無いが、テーマ更新で増えても壊れないよう揃えて宣言する。 */
.pc-only{ display:none !important; }
.sp-only{ display:inline-flex !important; }
.xl-only{ display:none !important; }
@media(min-width:992px){
  .sp-only{ display:none !important; }
  .pc-only{ display:inline-flex !important; }
}
@media(min-width:1200px){
  .xl-only{ display:inline-flex !important; }
}
/* /KEEP */

/* KEEP: JS不動時のフォールバック（BODY内JSが読まれない場合も本文を必ず見せる／R-4）
   受領の初期非表示は全て body.js-anim 配下なので JS が無ければ表示されるが、
   js-anim が付いた直後に IntersectionObserver が失敗した場合の保険。 */
html:not(.js) body.js-anim .reveal{ opacity:1 !important; transform:none !important; }
html:not(.js) body.js-anim .en-rv .en-rv-txt,
html:not(.js) body.js-anim .en-head .en-head-txt{ opacity:1 !important; }
html:not(.js) .fx-enrv, html:not(.js) .fx-enhead, html:not(.js) .fx-imgwipe{ display:none !important; }
/* /KEEP */

/* KEEP: 応募フォーム（/form/recruit）固有の郵便番号欄。
   受領は recruit.html 側に非!important で input.zip{width:10em} を持っていたが、
   お問い合わせ側（form-inquiry.html）の共通入力欄ルールが !important 付きの
   width:100% なので、CSSを1本に結合すると打ち消される（実測 100% になった）。
   parts219 スコープ＋!important で受領の見た目（10em）に戻す。 */
section.contact_section .parts219_section_form input.zip{ width:10em !important; max-width:100% !important; }
/* /KEEP */

/* KEEP: 「トップに戻る」ボタン（受領 back-to-top.js が生成していた要素を CSS 側に持たせる）
   01b_site.js が .to-top-btn を body 末尾に作り、スクロール量で .is-on を付け外しする。 */
.to-top-btn{position:fixed;right:clamp(16px,3vw,28px);bottom:clamp(16px,3vw,28px);z-index:400;
  width:52px;height:52px;display:inline-flex;align-items:center;justify-content:center;border:none;
  border-radius:50%;background:#1E3A5F;color:#FFFFFF;cursor:pointer;opacity:0;visibility:hidden;
  transform:translateY(10px);transition:opacity .3s ease,transform .3s ease,background .2s ease,visibility .3s}
.to-top-btn.is-on{opacity:1;visibility:visible;transform:translateY(0)}
@media(hover:hover){.to-top-btn:hover{background:#2E6FB7}}
/* /KEEP */

/* KEEP: 記事カード（parts222 ブログ一覧／parts228 施工実績／TOPの parts131415_blog）の
   グリッド項目に min-width:0 を与える。CSS Grid の既定 min-width:auto は
   「中身の min-content 以上」を要求し、サムネイル img は width:100% でも
   intrinsic サイズ（例 640px）を min-content として主張するため、SP幅でカードが
   横にはみ出す（verify/local-sandbox の実サムネで実測：375px幅に対しカード 429px）。
   ※受領プレビューでも同じ症状。CMSが実画像を入れると必ず起きるのでここで潰す。 */
[class*="parts222_post_list"] > *, [class*="parts228_post_list"] > *,
[class*="parts222_post_list"], [class*="parts228_post_list"],
[class*="parts131415_blog"] .row > *{ min-width:0 !important; }
/* /KEEP */

/* KEEP: 会社概要「アクセス」のマップ枠（.mw-map-ph）のSPはみ出し補正。
   受領は aspect-ratio:16/7 ＋ min-height:240px。CSSサイジングは アスペクト比を通して
   min-height を min-width へ転写する（240 × 16/7 = 549px）ため、375px幅で右が切れる。
   受領プレビューでも同じ症状（＝受領データ側の不備）。SPだけ min-height を解除して比率を守る。
   ※Googleマップの実埋め込みに差し替えたらこの枠ごと不要（申し送り A-2）。 */
@media(max-width:600px){ .mw-map-ph{ min-height:0 !important; } }
/* /KEEP */

/* KEEP: システム補完ページ（送信完了・確認・既定404）に 04e を置かない場合の逃げ道。
   ヘッダーは sticky（=場所を取る）なので本文が隠れることは無いが、余白が詰まるページ用。 */
.mw-sys-pad{ padding-top:clamp(36px,5vw,64px) !important; }
/* /KEEP */

/* 追記 */
/* 全体 */
.parts231_breadcrumb {
    display:none !important;
}
/* 施工実績*/
.parts228_post_wrap {
    max-width: 100% !important;
}
.parts228_post_wrap:nth-last-child(-n+3) {
    margin-bottom: 45px !important;
}
.parts-blog-ex-single-wrap .parts-blog-ex_gallery-slider .gallery-blog-ex {
    background: #FFFFFF !important;
}
.parts228_post_wrap .parts228_post_img {
    height: auto !important;
}
@media screen and (min-width: 992px) and (max-width: 1260px) {
.parts228_post_wrap .parts228_post_img img {
    max-height: unset !important;
    height: 200px !important;
}
}

/* ブログ */
.parts222_sidebar {
    max-width: none !important;
}
.parts222_post_wrap {
    max-width: 100% !important;
}
.parts222_post_status {
    padding: 0 20px !important;
    justify-content: left !important;
}
.parts222_post_title-excerpt {
    padding: 0 20px !important;
}
.parts131415_blog_5xIrFGrIU6 .card-text {
    height: auto !important;
}
.parts219_section_form dd input {
    height: auto !important;
}