/* ===== 20_site.css ===== */
/* ===== O01540 三和電設 site.css（受領 helmet の style 要素を全ページ union） =====
   ・ヘッダー/フッター/下層ヘッダー/基本リセットは全ページ共通（無スコープ）。
   ・ページ間で値が違う規則は .sw-p-（ページ名） ラッパーにスコープして共存させる
     （例 .hero-h1 の font-size・body の文字色・reveal の移動量がページごとに違う）。 */
*{box-sizing:border-box;}
html,body{margin:0;padding:0;scroll-behavior:smooth;}
body{font-family:'Noto Sans JP',sans-serif;color:#38463a;background:#fffdf9;-webkit-font-smoothing:antialiased;overflow-x:clip;}
img{display:block;max-width:100%;}
a{text-decoration:none;color:inherit;}
a,button,input[type="submit"]{transition:opacity .25s ease;}
a:hover,button:hover,input[type="submit"]:hover{opacity:.62;}
.sw-burger,.sw-burger:hover{opacity:1 !important;}
image-slot{display:block;width:100%;height:100%;}
span.line-chunk{display:inline-block;overflow-wrap:anywhere;word-break:normal;}
.foot-tel-sp{display:none;}
@media (max-width:880px){
  .foot-tel-sp{display:flex !important;}
}
@keyframes heroFade{0%{opacity:0;}4%{opacity:1;}30%{opacity:1;}36%{opacity:0;}100%{opacity:0;}}
@keyframes taRise{0%{opacity:0;transform:translateY(16px);}100%{opacity:1;transform:none;}}
@media (max-width:880px){
  .sw-navlinks{display:none !important;}
  .footer-top{grid-template-columns:1fr !important;}
  .sitemap{grid-template-columns:1fr 1fr !important;}
  .hdr-tel{display:none !important;}
  .hdr-tel-sp{display:flex !important;}
}
.hdr-tel-sp{display:none;}
.navitem{position:relative;}
.navitem > a{display:inline-flex;align-items:center;}
.navitem .submenu{position:absolute;top:100%;left:0;transform:translateY(10px);min-width:188px;background:#fffdf7;border:1px solid rgba(39,71,51,.16);border-radius:2px;box-shadow:0 6px 16px rgba(39,71,51,.12);padding:6px;display:flex;flex-direction:column;gap:2px;opacity:0;visibility:hidden;transition:opacity .22s,transform .22s;z-index:60;}
.navitem:hover .submenu{opacity:1;visibility:visible;transform:translateY(4px);}
.navitem .submenu a{display:block;padding:10px 14px;color:#2c4a37;font-size:13px;font-weight:700;border-radius:2px;white-space:nowrap;}
.navitem .submenu a:hover{background:#f5f0e4;color:#cf5c76;}
@media (max-width:1080px){
  .sw-navlinks{display:none !important;}
  .sw-burger{display:flex !important;}
}
@media (min-width:1081px){
  .sw-burger{display:none !important;}
}
.page-hd{min-height:var(--hd-h,420px) !important;}
.page-hd{padding-top:max(86px,calc(var(--hd-h,420px) * .24)) !important;padding-bottom:max(26px,calc(var(--hd-h,420px) * .1)) !important;}
.page-hd > img{object-position:center var(--hd-y,30%) !important;transform:scale(var(--hd-zoom,1));transform-origin:center center;}
@media (max-width:880px){
  .page-hd{min-height:var(--hd-h-sp,300px) !important;padding-top:92px !important;padding-bottom:30px !important;}
}
@keyframes wkZoom{from{transform:scale(1.05);}to{transform:scale(1.17);}}
.gal-grid image-slot{border-radius:2px;overflow:hidden;}
/* === R-27対応: AddCssInfo は擬似要素の content を落とすため実要素へ昇格 === */
/* KEEP: ::after content:"▾" の代替（実 span .sw-caret）。消すとPCナビの▾が消える */
.navitem > a{display:inline-flex;align-items:center;}
.navitem .sw-caret{font-size:9px;margin-left:5px;color:#cf5c76;}
/* /KEEP */
/* KEEP: .submenu::before（ホバー橋渡しの透明帯）の代替（実 span .sw-bridge） */
.navitem .submenu .sw-bridge{position:absolute;top:-12px;left:0;right:0;height:12px;display:block;}
/* /KEEP */
/* ===== ページ限定（各ページ本文ラッパー .sw-p-* にスコープ） ===== */
@media (max-width:880px){
  .sw-p-index .news-content{padding:12px 0 !important;}
}
.sw-p-index .hero-slide{animation:heroFade 18s linear infinite;}
@media (prefers-reduced-motion:reduce){
  .sw-p-index .hero-slide{animation:none !important;}
  .sw-p-index .hero-slide+.hero-slide{opacity:0 !important;}
}
.sw-p-index .ta-el{opacity:0;}
body.armed .sw-p-index .ta.in .ta-el{animation:taRise .8s cubic-bezier(.2,.7,.3,1) both;}
body.armed .sw-p-index .ta.in .ta-el.d1{animation-delay:.1s;}
@media (prefers-reduced-motion:reduce){
  .sw-p-index .ta-el{opacity:1 !important;animation:none !important;}
}
.sw-p-index .reveal{transition:opacity .7s ease,transform .7s ease;}
body.armed .sw-p-index .reveal{opacity:0;transform:translateY(18px);}
body.armed .sw-p-index .reveal.in{opacity:1;transform:none;}
@media (prefers-reduced-motion:reduce){
  body.armed .sw-p-index .reveal,body.armed .sw-p-index .reveal.in{opacity:1 !important;transform:none !important;transition:none !important;}
}
@media (max-width:880px){
  .sw-p-index .g3{grid-template-columns:1fr !important;}
  .sw-p-index .cap-grid{grid-template-columns:1fr !important;}
  .sw-p-index .entries{grid-template-columns:1fr !important;}
  .sw-p-index .cta-tel{flex-direction:column !important;align-items:center !important;gap:6px !important;text-align:center !important;}
  .sw-p-index .roadmap-steps{flex-direction:column !important;align-items:stretch !important;gap:0 !important;}
  .sw-p-index .rm-line{display:none !important;}
  .sw-p-index .rm-step{flex-direction:row !important;text-align:left !important;align-items:center !important;gap:16px !important;padding:16px 0 !important;border-top:1px solid rgba(39,71,51,.14);}
  .sw-p-index .rm-body{align-items:flex-start !important;text-align:left !important;}
  .sw-p-index .coffee-wrap{grid-template-columns:1fr !important;}
  .sw-p-index .coffee-media{max-width:420px;margin:0 auto;width:100%;}
  .sw-p-index .hero-h1{font-size:clamp(30px,8.4vw,42px) !important;}
  .sw-p-index .lead-q{font-size:clamp(24px,7.2vw,36px) !important;}
  .sw-p-index .hide-sp-doodle{display:none !important;}
}
.sw-p-index .hero-band{height:var(--hero-h,76vh) !important;min-height:var(--hero-min,500px) !important;}
.sw-p-index .hero-slide{transform:scale(var(--hero-zoom,1));transform-origin:center center;}
.sw-p-index .hero-slide:nth-of-type(1){object-position:center var(--hero-y1,40%) !important;}
.sw-p-index .hero-slide:nth-of-type(2){object-position:center var(--hero-y2,55%) !important;}
.sw-p-index .hero-slide:nth-of-type(3){object-position:center var(--hero-y3,40%) !important;}
@media (max-width:880px){
  .sw-p-index .hero-band{height:var(--hero-h-sp,66vh) !important;min-height:var(--hero-min-sp,420px) !important;}
}
.sw-p-service{font-family:'Noto Sans JP',sans-serif;color:#243524;background:#fffdf9;-webkit-font-smoothing:antialiased;overflow-x:clip;}
.sw-p-service a:hover,.sw-p-service button:hover,.sw-p-service input[type="submit"]:hover{opacity:.55;}
.sw-p-service .reveal{transition:opacity .85s cubic-bezier(.22,.61,.36,1),transform .85s cubic-bezier(.22,.61,.36,1);}
body.armed .sw-p-service .reveal{opacity:0;transform:translateY(30px);}
body.armed .sw-p-service .reveal.in{opacity:1;transform:none;}
@media (prefers-reduced-motion:reduce){
  body.armed .sw-p-service .reveal,body.armed .sw-p-service .reveal.in{opacity:1 !important;transform:none !important;transition:none !important;}
}
@media (max-width:880px){
  .sw-p-service .svc-grid{grid-template-columns:1fr !important;}
  .sw-p-service .flow{grid-template-columns:1fr 1fr !important;}
  .sw-p-service .hero-h1{font-size:clamp(26px,7.2vw,40px) !important;}
}
.sw-p-service .doodle{animation:none !important;opacity:.5;transform:scale(.62) rotate(var(--rot,0deg));}
.sw-p-service .reveal{transition-duration:.7s !important;}
@media (max-width:880px){
  .sw-p-reason .cta-tel{flex-direction:column !important;align-items:center !important;gap:6px !important;text-align:center !important;}
}
.sw-p-reason .reveal{transition:opacity .85s cubic-bezier(.22,.61,.36,1),transform .85s cubic-bezier(.22,.61,.36,1);}
body.armed .sw-p-reason .reveal{opacity:0;transform:translateY(30px);}
body.armed .sw-p-reason .reveal.in{opacity:1;transform:none;}
@media (prefers-reduced-motion:reduce){
  body.armed .sw-p-reason .reveal,body.armed .sw-p-reason .reveal.in{opacity:1 !important;transform:none !important;transition:none !important;}
}
@media (max-width:880px){
  .sw-p-reason .reason-row{grid-template-columns:1fr !important;}
  .sw-p-reason .reason-row .reason-media{order:-1 !important;}
  .sw-p-reason .area-grid{grid-template-columns:1fr !important;}
  .sw-p-reason .hero-h1{font-size:clamp(28px,7.6vw,40px) !important;}
}
.sw-p-reason .doodle{animation:none !important;opacity:.5;transform:scale(.62) rotate(var(--rot,0deg));}
.sw-p-reason .reveal{transition-duration:.7s !important;}
.sw-p-recruit .reveal{transition:opacity .85s cubic-bezier(.22,.61,.36,1),transform .85s cubic-bezier(.22,.61,.36,1);}
body.armed .sw-p-recruit .reveal{opacity:0;transform:translateY(30px);}
body.armed .sw-p-recruit .reveal.in{opacity:1;transform:none;}
@media (prefers-reduced-motion:reduce){
  body.armed .sw-p-recruit .reveal,body.armed .sw-p-recruit .reveal.in{opacity:1 !important;transform:none !important;transition:none !important;}
}
@media (max-width:880px){
  .sw-p-recruit .person-grid{grid-template-columns:1fr !important;}
  .sw-p-recruit .year-grid{grid-template-columns:1fr !important;}
  .sw-p-recruit .req-grid{grid-template-columns:1fr !important;}
  .sw-p-recruit .explore-grid{grid-template-columns:1fr !important;}
  .sw-p-recruit .hero-h1{font-size:clamp(30px,8.4vw,44px) !important;}
}
.sw-p-recruit .doodle{animation:none !important;opacity:.5;transform:scale(.62) rotate(var(--rot,0deg));}
.sw-p-recruit .reveal{transition-duration:.7s !important;}
.sw-p-recruit-work .reveal{transition:opacity .85s cubic-bezier(.22,.61,.36,1),transform .85s cubic-bezier(.22,.61,.36,1);}
.sw-p-recruit-work .wk-slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.4s ease;transform:scale(1.05);will-change:opacity,transform;}
.sw-p-recruit-work .wk-slide.on{opacity:1;animation:wkZoom 6.5s ease-out forwards;}
@media (prefers-reduced-motion:reduce){
  .sw-p-recruit-work .wk-slide.on{animation:none;transform:scale(1.05);}
}
.sw-p-recruit-work .wk-dot{width:9px;height:9px;border-radius:50%;background:#fff;transition:background .3s,transform .3s;}
.sw-p-recruit-work .wk-dot.on{background:#fff;transform:scale(1.25);}
.sw-p-recruit-work .gal-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:clamp(130px,14vw,185px);gap:12px;}
.sw-p-recruit-work .gal-big{grid-column:span 2;grid-row:span 2;}
body.armed .sw-p-recruit-work .reveal{opacity:0;transform:translateY(30px);}
body.armed .sw-p-recruit-work .reveal.in{opacity:1;transform:none;}
@media (prefers-reduced-motion:reduce){
  body.armed .sw-p-recruit-work .reveal,body.armed .sw-p-recruit-work .reveal.in{opacity:1 !important;transform:none !important;transition:none !important;}
}
@media (max-width:880px){
  .sw-p-recruit-work .row2{grid-template-columns:1fr !important;}
  .sw-p-recruit-work .row2 .row2-media{order:-1 !important;}
  .sw-p-recruit-work .ba-grid{grid-template-columns:1fr !important;}
  .sw-p-recruit-work .hero-h1{font-size:clamp(28px,7.6vw,42px) !important;}
  .sw-p-recruit-work .fld-grid{grid-template-columns:1fr !important;}
  .sw-p-recruit-work .gal-grid{grid-template-columns:1fr 1fr !important;grid-auto-rows:clamp(120px,32vw,170px) !important;}
  .sw-p-recruit-work .gal-big{grid-column:span 2 !important;grid-row:span 1 !important;}
}
.sw-p-recruit-work .doodle{animation:none !important;opacity:.5;transform:scale(.62) rotate(var(--rot,0deg));}
.sw-p-recruit-work .reveal{transition-duration:.7s !important;}
.sw-p-recruit-staff .reveal{transition:opacity .85s cubic-bezier(.22,.61,.36,1),transform .85s cubic-bezier(.22,.61,.36,1);}
body.armed .sw-p-recruit-staff .reveal{opacity:0;transform:translateY(30px);}
body.armed .sw-p-recruit-staff .reveal.in{opacity:1;transform:none;}
@media (prefers-reduced-motion:reduce){
  body.armed .sw-p-recruit-staff .reveal,body.armed .sw-p-recruit-staff .reveal.in{opacity:1 !important;transform:none !important;transition:none !important;}
}
@media (max-width:880px){
  .sw-p-recruit-staff .staff-row{grid-template-columns:1fr !important;}
  .sw-p-recruit-staff .staff-row .staff-media{order:-1 !important;}
  .sw-p-recruit-staff .hero-h1{font-size:clamp(28px,7.6vw,42px) !important;}
}
.sw-p-recruit-staff .doodle{animation:none !important;opacity:.5;transform:scale(.62) rotate(var(--rot,0deg));}
.sw-p-recruit-staff .reveal{transition-duration:.7s !important;}
.sw-p-recruit-environment .reveal{transition:opacity .85s cubic-bezier(.22,.61,.36,1),transform .85s cubic-bezier(.22,.61,.36,1);}
body.armed .sw-p-recruit-environment .reveal{opacity:0;transform:translateY(30px);}
body.armed .sw-p-recruit-environment .reveal.in{opacity:1;transform:none;}
@media (prefers-reduced-motion:reduce){
  body.armed .sw-p-recruit-environment .reveal,body.armed .sw-p-recruit-environment .reveal.in{opacity:1 !important;transform:none !important;transition:none !important;}
}
@media (max-width:880px){
  .sw-p-recruit-environment .row2{grid-template-columns:1fr !important;}
  .sw-p-recruit-environment .row2 .row2-media{order:-1 !important;}
  .sw-p-recruit-environment .cards3{grid-template-columns:1fr !important;}
  .sw-p-recruit-environment .hero-h1{font-size:clamp(26px,7.2vw,40px) !important;}
}
.sw-p-recruit-environment .doodle{animation:none !important;opacity:.5;transform:scale(.62) rotate(var(--rot,0deg));}
.sw-p-recruit-environment .reveal{transition-duration:.7s !important;}
.sw-p-recruit-faq .reveal{transition:opacity .85s cubic-bezier(.22,.61,.36,1),transform .85s cubic-bezier(.22,.61,.36,1);}
body.armed .sw-p-recruit-faq .reveal{opacity:0;transform:translateY(30px);}
body.armed .sw-p-recruit-faq .reveal.in{opacity:1;transform:none;}
@media (prefers-reduced-motion:reduce){
  body.armed .sw-p-recruit-faq .reveal,body.armed .sw-p-recruit-faq .reveal.in{opacity:1 !important;transform:none !important;transition:none !important;}
}
@media (max-width:880px){
  .sw-p-recruit-faq .hero-h1{font-size:clamp(26px,7.2vw,40px) !important;}
}
.sw-p-recruit-faq .doodle{animation:none !important;opacity:.5;transform:scale(.62) rotate(var(--rot,0deg));}
.sw-p-recruit-faq .reveal{transition-duration:.7s !important;}
.sw-p-information .reveal{transition:opacity .85s cubic-bezier(.22,.61,.36,1),transform .85s cubic-bezier(.22,.61,.36,1);}
body.armed .sw-p-information .reveal{opacity:0;transform:translateY(30px);}
body.armed .sw-p-information .reveal.in{opacity:1;transform:none;}
@media (prefers-reduced-motion:reduce){
  body.armed .sw-p-information .reveal,body.armed .sw-p-information .reveal.in{opacity:1 !important;transform:none !important;transition:none !important;}
}
@media (max-width:880px){
  .sw-p-information .info-row{flex-direction:column !important;}
  .sw-p-information .info-row dt{flex-basis:auto !important;}
  .sw-p-information .hero-h1{font-size:clamp(26px,7.2vw,40px) !important;}
}
.sw-p-information .doodle{animation:none !important;opacity:.5;transform:scale(.62) rotate(var(--rot,0deg));}
.sw-p-information .reveal{transition-duration:.7s !important;}
.sw-p-company .reveal{transition:opacity .85s cubic-bezier(.22,.61,.36,1),transform .85s cubic-bezier(.22,.61,.36,1);}
body.armed .sw-p-company .reveal{opacity:0;transform:translateY(30px);}
body.armed .sw-p-company .reveal.in{opacity:1;transform:none;}
@media (prefers-reduced-motion:reduce){
  body.armed .sw-p-company .reveal,body.armed .sw-p-company .reveal.in{opacity:1 !important;transform:none !important;transition:none !important;}
}
@media (max-width:880px){
  .sw-p-company .row2{grid-template-columns:1fr !important;}
  .sw-p-company .row2 .row2-media{order:-1 !important;}
  .sw-p-company .values{grid-template-columns:1fr !important;}
  .sw-p-company .hero-h1{font-size:clamp(30px,8.4vw,44px) !important;}
}
.sw-p-company .doodle{animation:none !important;opacity:.5;transform:scale(.62) rotate(var(--rot,0deg));}
.sw-p-company .reveal{transition-duration:.7s !important;}
@media (max-width:880px){
  .sw-p-blog-ex-instance .hero-h1{font-size:clamp(26px,7.2vw,40px) !important;}
}
.sw-p-blog-ex-instance .doodle{animation:none !important;opacity:.5;transform:scale(.62) rotate(var(--rot,0deg));}
.sw-p-blog-ex-instance .reveal{transition-duration:.7s !important;}
@media (max-width:880px){
  .sw-p-blog .hero-h1{font-size:clamp(26px,7.2vw,40px) !important;}
}
.sw-p-blog .doodle{animation:none !important;opacity:.5;transform:scale(.62) rotate(var(--rot,0deg));}
.sw-p-blog .reveal{transition-duration:.7s !important;}
@media (max-width:880px){
  .sw-p-form-inquiry .hero-h1{font-size:clamp(26px,7.2vw,40px) !important;}
}
.sw-p-form-inquiry .doodle{animation:none !important;opacity:.5;transform:scale(.62) rotate(var(--rot,0deg));}
.sw-p-form-inquiry .reveal{transition-duration:.7s !important;}
.sw-p-privacypolicy .reveal{transition:opacity .85s cubic-bezier(.22,.61,.36,1),transform .85s cubic-bezier(.22,.61,.36,1);}
body.armed .sw-p-privacypolicy .reveal{opacity:0;transform:translateY(30px);}
body.armed .sw-p-privacypolicy .reveal.in{opacity:1;transform:none;}
@media (prefers-reduced-motion:reduce){
  body.armed .sw-p-privacypolicy .reveal,body.armed .sw-p-privacypolicy .reveal.in{opacity:1 !important;transform:none !important;transition:none !important;}
}
@media (max-width:880px){
  .sw-p-privacypolicy .hero-h1{font-size:clamp(24px,6.8vw,38px) !important;}
}
.sw-p-privacypolicy .doodle{animation:none !important;opacity:.5;transform:scale(.62) rotate(var(--rot,0deg));}
.sw-p-privacypolicy .reveal{transition-duration:.7s !important;}
@media (max-width:880px){
  .sw-p-privacypolicy .page-hd{min-height:clamp(250px,58vw,340px) !important;padding-top:92px !important;padding-bottom:30px !important;}
}
.sw-p-privacypolicy .page-hd{min-height:var(--hd-h,420px) !important;padding-top:max(86px,calc(var(--hd-h,420px) * .24)) !important;padding-bottom:max(26px,calc(var(--hd-h,420px) * .1)) !important;}
/* === TOP動的パーツ（CueZillaが描画する実DOMへ受領意匠を当てる・R-7／番号非依存） ===
   受領は「実在クラス＋インラインstyle」で見た目を作っていたが、パーツ出力にはインラインstyleが
   付かないため、ここでクラスCSSとして書き起こす。詳細度で負ける場合は実機の採番付きセレクタ
   （section.design-parts-52_（採番） …）を末尾に追記する（R-28・申し送りC-2）。 */
/* --- NEWS帯（design-parts-52） --- */
section[class*="design-parts-52"]{background:#274733 !important;width:100% !important;}
section[class*="design-parts-52"] .container{max-width:1120px !important;margin:0 auto !important;padding:0 clamp(16px,4vw,30px) !important;}
section[class*="design-parts-52"] .content{display:flex !important;align-items:center !important;gap:18px !important;min-height:50px !important;flex-wrap:wrap !important;}
section[class*="design-parts-52"] h4.banner-area{margin:0 !important;display:inline-flex !important;align-items:center !important;background:#fffdf9 !important;color:#274733 !important;font-family:'Saira',sans-serif !important;font-weight:700 !important;font-size:14px !important;letter-spacing:2px !important;padding:5px 14px !important;border-radius:2px !important;}
section[class*="design-parts-52"] ul{list-style:none !important;margin:0 !important;padding:0 !important;flex:1 !important;min-width:240px !important;}
section[class*="design-parts-52"] li{margin:0 !important;}
section[class*="design-parts-52"] li a{display:block !important;text-decoration:none !important;}
section[class*="design-parts-52"] .parts-52-textarea{display:flex !important;align-items:center !important;gap:16px !important;flex-wrap:wrap !important;}
section[class*="design-parts-52"] .date{color:#f0a3b5 !important;font-family:'Saira',sans-serif !important;font-size:13px !important;font-weight:600 !important;letter-spacing:1px !important;}
section[class*="design-parts-52"] .parts-52-textarea > span:not(.date){color:#fff !important;font-size:15px !important;font-weight:500 !important;}
@media (max-width:880px){
  section[class*="design-parts-52"] .content{padding:12px 0 !important;}
}
/* --- 施工実績・ブログ teaser（parts131415_blog） --- */
/* 意匠見出しは 05b 末尾の .sw-blog-head が担当＝パーツ側の見出しは隠す */
section[class*="parts131415_blog"] .parts131415_blog_title_wrap{display:none !important;}
.sw-blog-head{background:#f5f0e4;border-top:1px solid rgba(39,71,51,.12);padding:clamp(46px,6.5vw,78px) clamp(20px,5vw,40px) 0;}
.sw-blog-head-wrap{max-width:1120px;margin:0 auto;}
.sw-blog-head-inner{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:0;}
/* ↑ 保険。実体は 05b のインラインstyleから margin-bottom を外してある（インラインの方が強い）。
   見出し帯(05b)とパーツは
   CueZillaの別ブロックなので margin が2ブロックの隙間へ抜け、body地色(#fffdf9)の白帯になる。
   見出しとカードの間隔は下のパーツ側 padding-top で作る（2026-08-20 実機で確認）。 */
section[class*="parts131415_blog"]{background:#f5f0e4 !important;padding:clamp(24px,3vw,34px) clamp(20px,5vw,40px) clamp(46px,6.5vw,78px) !important;}
section[class*="parts131415_blog"] .container-lg,
section[class*="parts131415_blog"] .container{max-width:1120px !important;margin:0 auto !important;}
section[class*="parts131415_blog"] .row{display:grid !important;grid-template-columns:repeat(3,1fr) !important;gap:20px !important;}
section[class*="parts131415_blog"] .col{padding:0 !important;}
/* Bootstrap の .row-cols-lg-3 > * が width:33.33% を当てるため、grid セル内でカードが
   1/3 幅(実測112px)に痩せる。grid 側で列を作っているので子は 100% にする（2026-08-20 実機で確認）。 */
section[class*="parts131415_blog"] .row-cols-lg-3 > *,
section[class*="parts131415_blog"] .row > *{width:100% !important;}
section[class*="parts131415_blog"] .card{display:flex !important;flex-direction:column !important;height:100% !important;background:#fffdf9 !important;border:1px solid rgba(39,71,51,.16) !important;border-radius:2px !important;overflow:hidden !important;}
section[class*="parts131415_blog"] .parts131415_blog_thumbnail{height:190px !important;overflow:hidden !important;background:#e3ddcd !important;}
section[class*="parts131415_blog"] .parts131415_blog_thumbnail img{width:100% !important;height:100% !important;object-fit:cover !important;display:block !important;}
section[class*="parts131415_blog"] .card-body{display:flex !important;flex-direction:column !important;flex:1 !important;padding:16px 18px 20px !important;gap:9px !important;}
section[class*="parts131415_blog"] h5.card-title{margin:0 !important;align-self:flex-start !important;display:inline-block !important;background:#274733 !important;color:#fff !important;font-size:12px !important;font-weight:700 !important;letter-spacing:1px !important;padding:4px 10px !important;border-radius:2px !important;}
section[class*="parts131415_blog"] .card-body time,
section[class*="parts131415_blog"] .card-body .date,
section[class*="parts131415_blog"] .card-body [class*="_date"]{font-family:'Saira',sans-serif !important;font-size:13px !important;font-weight:600 !important;color:#6b7468 !important;letter-spacing:.5px !important;}
section[class*="parts131415_blog"] p.card-text{margin:0 !important;color:#274733 !important;font-weight:700 !important;font-size:17px !important;line-height:1.6 !important;}
section[class*="parts131415_blog"] .card-body a{text-decoration:none !important;}
@media (max-width:880px){
  section[class*="parts131415_blog"] .row{grid-template-columns:1fr !important;}
}
/* === インライン animation/transition の退避（CueZillaはstyle属性から除去する） ===
   3重クラス＝インライン相当の詳細度を保つ（O02083の定石）。 */
.swa1.swa1.swa1{animation-delay:0s;}
.swa2.swa2.swa2{animation-delay:-6s;}
.swa3.swa3.swa3{animation-delay:-12s;}
.swa4.swa4.swa4{transition:transform .35s;}
.swa5.swa5.swa5{transition:max-height .4s ease,opacity .4s ease;}
.swa6.swa6.swa6{transition:transform .25s,box-shadow .25s;}
/* === style-hover / style-focus 由来の生成クラス === */
.swx1.swx1.swx1:hover{transform:translateY(-5px);}


/* ===== 21_add-blog.css ===== */
/* === add.css 貼り付け ここから（ブログページ／parts222系） === */
/* 三和電設トンマナ：ネイビー #274733 / #3a6647 ・ピンク #cf5c76 / #f0a3b5 ・ライト #f3ecdd */
/* 動的部分は作り直さず、CMS出力の実在クラスをこのCSSで上書きして見た目だけ整える */

.parts222_section{
  background:#f3ecdd !important;
  padding:clamp(40px,6vw,84px) clamp(20px,5vw,40px) clamp(56px,8vw,100px) !important;
}
.parts222_section > h2{
  max-width:1160px !important;margin:0 auto clamp(28px,4vw,44px) !important;
  font-family:'Zen Kaku Gothic New',sans-serif !important;font-weight:900 !important;
  color:#274733 !important;font-size:clamp(24px,3vw,38px) !important;
}

/* 本文2カラム：左=記事一覧（広い）／右=サイドバー（固定幅）。タブ・スマホで縦積み */
.parts222_wrap{
  max-width:1160px !important;margin:0 auto !important;
  display:grid !important;grid-template-columns:minmax(0,1fr) 320px !important;
  gap:clamp(28px,3.5vw,48px) !important;align-items:start !important;
}
@media (max-width:900px){.parts222_wrap{grid-template-columns:1fr !important;}}

/* 一覧グリッド：PC2列／タブ2列／スマホ1列 */
.parts222_post_list{
  display:grid !important;grid-template-columns:repeat(2,1fr) !important;gap:24px !important;
  list-style:none !important;margin:0 !important;padding:0 !important;
}
@media (max-width:520px){.parts222_post_list{grid-template-columns:1fr !important;}}

.parts222_post_wrap{
  display:block !important;background:#fff !important;border-radius:12px !important;overflow:hidden !important;
  box-shadow:0 10px 26px rgba(39,71,51,.1) !important;text-decoration:none !important;
  transition:transform .3s ease, box-shadow .3s ease !important;
}
.parts222_post_wrap:hover{transform:translateY(-4px) !important;box-shadow:0 16px 34px rgba(39,71,51,.16) !important;}
.parts222_post_img{display:block !important;aspect-ratio:16/10 !important;background:#e2d8c2 !important;overflow:hidden !important;}
.parts222_post_img img{width:100% !important;height:100% !important;object-fit:cover !important;display:block !important;}
.parts222_post_status{display:flex !important;align-items:center !important;gap:10px !important;padding:16px 18px 0 !important;}
.parts222_post_date{color:#8a9184 !important;font-family:'Saira',sans-serif !important;font-size:13px !important;font-weight:600 !important;}
.parts222_post_category{background:#274733 !important;color:#fff !important;font-size:11px !important;font-weight:700 !important;padding:3px 11px !important;border-radius:4px !important;}
.parts222_post_title-excerpt{display:block !important;padding:10px 20px 24px !important;}
.parts222_post_title{margin:0 !important;color:#243524 !important;font-weight:700 !important;font-size:16px !important;line-height:1.6 !important;}

/* ページネーション */
.parts222_pagenation{grid-column:1 / -1 !important;display:flex !important;justify-content:center !important;align-items:center !important;flex-wrap:wrap !important;gap:8px !important;margin-top:clamp(34px,5vw,54px) !important;}
.parts222_pagenation a,.parts222_pagenation span{
  display:inline-flex !important;align-items:center !important;justify-content:center !important;
  min-width:42px !important;height:42px !important;padding:0 14px !important;border:1px solid rgba(39,71,51,.25) !important;
  border-radius:8px !important;color:#274733 !important;font-weight:700 !important;font-family:'Saira',sans-serif !important;
  text-decoration:none !important;background:#fff !important;transition:all .25s ease !important;
}
.parts222_pagenation .pagination_num.current{background:#cf5c76 !important;border-color:#cf5c76 !important;color:#fff !important;}
.parts222_pagenation a:hover{background:#274733 !important;border-color:#274733 !important;color:#fff !important;}

/* サイドバー */
.parts222_sidebar{display:flex !important;flex-direction:column !important;gap:24px !important;}
.parts222_sidebar_wrap{background:#fff !important;border-radius:12px !important;overflow:hidden !important;box-shadow:0 8px 22px rgba(39,71,51,.08) !important;}
.parts222_sidebar_wrap > h3{
  margin:0 !important;background:#274733 !important;color:#fff !important;
  font-family:'Zen Kaku Gothic New',sans-serif !important;font-weight:700 !important;
  font-size:15px !important;letter-spacing:1px !important;padding:14px 18px !important;
}
.parts222_sidebar_wrap ul{list-style:none !important;margin:0 !important;padding:0 !important;}
.parts222_sidebar_wrap li{border-bottom:1px solid #e8dcc4 !important;}
.parts222_sidebar_wrap li:last-child{border-bottom:none !important;}
.parts222_sidebar_wrap li a{display:block !important;padding:14px 18px !important;text-decoration:none !important;transition:background .2s ease !important;}
.parts222_sidebar_wrap li a:hover{background:#efe7d6 !important;}
.parts222_sidebar_date{display:block !important;color:#8a9184 !important;font-family:'Saira',sans-serif !important;font-size:12px !important;font-weight:600 !important;}
.parts222_sidebar_post_title{margin:4px 0 0 !important;color:#243524 !important;font-size:14px !important;font-weight:700 !important;line-height:1.5 !important;}
/* カテゴリ：名称＋件数枠 */
.parts222_sidebar_wrap.category_post_count li a{display:flex !important;align-items:center !important;justify-content:space-between !important;gap:10px !important;}
.parts222_sidebar_post_category{margin:0 !important;color:#274733 !important;font-size:14px !important;font-weight:700 !important;}
.parts222_sidebar_post_category_count{
  flex:none !important;min-width:26px !important;height:24px !important;display:inline-flex !important;align-items:center !important;justify-content:center !important;
  border:1px solid rgba(39,71,51,.25) !important;border-radius:6px !important;color:#274733 !important;
  font-family:'Saira',sans-serif !important;font-size:12px !important;font-weight:700 !important;padding:0 6px !important;
}
/* === add.css 貼り付け ここまで === */


/* ===== 22_add-jisseki.css ===== */
/* === add.css 貼り付け ここから（施工実績ページ／parts228系） === */
/* 三和電設トンマナ：ネイビー #274733 / #3a6647 ・ピンク #cf5c76 / #f0a3b5 ・ライト #f3ecdd */
/* 動的部分は作り直さず、CMS出力の実在クラスをこのCSSで上書きして見た目だけ整える */

.parts228_section{
  background:#f3ecdd !important;
  padding:clamp(40px,6vw,84px) clamp(20px,5vw,40px) clamp(56px,8vw,100px) !important;
}
.parts228_wrap{max-width:1120px !important;margin:0 auto !important;}
.parts228_main{width:100% !important;}

/* 一覧グリッド：PC3列／タブ2列／スマホ1列 */
.parts228_post_list{
  display:grid !important;
  grid-template-columns:repeat(3,1fr) !important;
  gap:28px !important;
  list-style:none !important;margin:0 !important;padding:0 !important;
}
@media (max-width:980px){.parts228_post_list{grid-template-columns:repeat(2,1fr) !important;}}
@media (max-width:600px){.parts228_post_list{grid-template-columns:1fr !important;}}

.parts228_post_wrap{
  background:#ffffff !important;
  border-radius:12px !important;
  overflow:hidden !important;
  box-shadow:0 10px 26px rgba(39,71,51,.1) !important;
  list-style:none !important;
  transition:transform .3s ease, box-shadow .3s ease !important;
}
.parts228_post_wrap:hover{transform:translateY(-4px) !important;box-shadow:0 16px 34px rgba(39,71,51,.16) !important;}

.parts228_post_img{
  display:block !important;
  aspect-ratio:4/3 !important;
  background:#e2d8c2 !important;
  overflow:hidden !important;
}
.parts228_post_img img{width:100% !important;height:100% !important;object-fit:cover !important;display:block !important;}

.parts228_post_status{display:flex !important;align-items:center !important;gap:10px !important;padding:16px 18px 0 !important;}
.parts228_post_date{color:#8a9184 !important;font-family:'Saira',sans-serif !important;font-size:13px !important;font-weight:600 !important;letter-spacing:.5px !important;}

.parts-blog-ex-tag_wrap{display:flex !important;flex-wrap:wrap !important;gap:6px !important;padding:10px 18px 0 !important;}
.parts-blog-ex_tag{
  background:#274733 !important;color:#ffffff !important;
  font-size:11px !important;font-weight:700 !important;
  padding:3px 11px !important;border-radius:4px !important;text-decoration:none !important;
}

.parts228_post_title-excerpt{padding:8px 18px 22px !important;}
.parts228_post_title{color:#243524 !important;font-weight:700 !important;font-size:16px !important;line-height:1.6 !important;margin:0 !important;}
.parts228_post_title a{color:inherit !important;text-decoration:none !important;}
.parts228_post_excerpt{color:#4a5a4c !important;font-size:13px !important;line-height:1.85 !important;margin:8px 0 0 !important;}

/* ページネーション */
.parts228_pagenation{display:flex !important;justify-content:center !important;align-items:center !important;flex-wrap:wrap !important;gap:8px !important;margin-top:clamp(34px,5vw,54px) !important;}
.parts228_pagenation a,.parts228_pagenation span{
  display:inline-flex !important;align-items:center !important;justify-content:center !important;
  min-width:42px !important;height:42px !important;padding:0 14px !important;
  border:1px solid rgba(39,71,51,.25) !important;border-radius:8px !important;
  color:#274733 !important;font-weight:700 !important;font-family:'Saira',sans-serif !important;
  text-decoration:none !important;background:#ffffff !important;transition:all .25s ease !important;
}
.parts228_pagenation .pagination_num.current{background:#cf5c76 !important;border-color:#cf5c76 !important;color:#ffffff !important;}
.parts228_pagenation a:hover{background:#274733 !important;border-color:#274733 !important;color:#ffffff !important;}
/* === add.css 貼り付け ここまで === */


/* ===== 23_add-contact.css ===== */
/* === add.css 貼り付け ここから（お問い合わせページ／parts213系・parts210導入文） === */
/* 三和電設トンマナ：ネイビー #274733 ・ピンク #cf5c76 ・ライト #f3ecdd */
/* フォームは装飾枠を足さずフラットに。ラベルと入力欄を縦に並べるだけ（§3 フォーム共通指針） */

/* 導入文 parts210 */
.parts210_section_content{background:#f3ecdd !important;padding:clamp(40px,6vw,72px) clamp(20px,5vw,40px) 0 !important;}
.parts210_content_wrap{max-width:720px !important;margin:0 auto !important;}
.parts210_content{color:#4a5a4c !important;font-size:clamp(14px,1.5vw,16px) !important;line-height:2 !important;}

/* フォーム本体 contact_section / parts213（フラット・囲み装飾なし） */
.contact_section{background:#f3ecdd !important;padding:clamp(32px,5vw,56px) clamp(20px,5vw,40px) clamp(56px,8vw,100px) !important;}
.parts213_section_form{max-width:720px !important;margin:0 auto !important;}
.parts213_form_wrap{background:transparent !important;border:none !important;box-shadow:none !important;padding:0 !important;}
.parts213_form_wrap form{display:block !important;}

.parts213_form_wrap dl{margin:0 0 22px !important;border:none !important;}
.parts213_form_wrap dt{
  display:block !important;margin:0 0 8px !important;
  color:#274733 !important;font-weight:700 !important;font-size:14px !important;
}
.parts213_form_wrap dd{margin:0 !important;}
.parts213_form_wrap .required{
  display:inline-block !important;background:#cf5c76 !important;color:#fff !important;
  font-size:11px !important;font-weight:700 !important;padding:2px 8px !important;border-radius:3px !important;margin-left:8px !important;
}
.parts213_form_wrap .attention{display:block !important;color:#cf5c76 !important;font-size:12px !important;font-weight:400 !important;margin-top:4px !important;}
.parts213_form_wrap input[type="text"],
.parts213_form_wrap input[type="email"],
.parts213_form_wrap input[type="tel"],
.parts213_form_wrap textarea{
  width:100% !important;padding:13px 14px !important;border:1px solid #cdbfa3 !important;border-radius:6px !important;
  font-size:16px !important;font-family:inherit !important;background:#fff !important;color:#243524 !important;
}
.parts213_form_wrap textarea{min-height:160px !important;resize:vertical !important;}
.parts213_form_wrap input:focus,.parts213_form_wrap textarea:focus{outline:2px solid #274733 !important;outline-offset:1px !important;border-color:#274733 !important;}
.parts213_form_wrap .error{margin:6px 0 0 !important;color:#cf5c76 !important;font-size:12px !important;}

/* お問い合わせ項目（チェックボックス群） */
.parts213_form_wrap dd label{
  display:inline-flex !important;align-items:center !important;gap:8px !important;
  margin:0 18px 10px 0 !important;color:#243524 !important;font-size:15px !important;font-weight:500 !important;cursor:pointer !important;
}
.parts213_form_wrap dd input[type="checkbox"]{width:18px !important;height:18px !important;accent-color:#cf5c76 !important;}

/* 送信ボタン（控えめ・テーマトーン） */
.contact_submit{text-align:center !important;margin-top:8px !important;}
.contact_submit input[type="submit"]{
  appearance:none !important;-webkit-appearance:none !important;border:none !important;cursor:pointer !important;
  background:#cf5c76 !important;color:#fff !important;font-weight:900 !important;font-size:16px !important;font-family:inherit !important;
  padding:16px 54px !important;border-radius:8px !important;
}
.contact_submit input[type="submit"]:hover{background:#cf5c76 !important;}
/* === add.css 貼り付け ここまで === */


/* ===== 29_override.css ===== */
/* O01540 三和電設 — override（skin後・!important で最後に当てる）
   skin不採用：受領がデザイナー作 add-blog/add-jisseki/add-contact.css で
   parts222 / parts228 / parts213 / parts210 を !important で自前フルstyle済み。
   skin を入れると結合順（site→add→skin→override）で skin が後勝ちして意匠を潰すため入れない。 */

/* KEEP: 固定ヘッダーの実高さ（R-18）。ヘッダーは position:fixed＝高さ PC 64px / SP 59px（実測）。
   skin不採用のため skin 側の calc(... + var(--fixed-header-h)) は効かない。
   CueZillaが描画するシステムページ（送信完了・確認画面・既定404）に 04_下層ヘッダー を
   設置しない場合は、下の .sw-sys-pad を該当ページ本文の最上部要素に付けるか、
   実機の採番を確認して同じ padding-top をそのセクションへ当てる（申し送りC-13）。 */
:root{ --fixed-header-h: 64px; }
@media (max-width:1080px){ :root{ --fixed-header-h: 59px; } }
.sw-sys-pad{ padding-top: calc(var(--fixed-header-h,0px) + 24px) !important; }
.not-found, .not-found-title{ padding-top: calc(var(--fixed-header-h,0px) + 24px) !important; }
/* /KEEP */

/* KEEP: CueZilla自動パンくずは全ページ非表示（ユーザー標準ルール） */
[class*="_breadcrumb"], .p-breadcrumb { display: none !important; }
/* /KEEP */

/* KEEP: 固定ヘッダーが theme_default の body{overflow-x:hidden} で効かなくなる対策 */
body { overflow-x: clip !important; }
/* /KEEP */

/* KEEP: JS不動時のフォールバック（BODY内JSが読まれない場合も本文を必ず見せる）
   ・.ta-el は無条件 opacity:0 ＝ JSが .ta.in を付けないと永久に不可視になる
   ・.reveal は body.armed が付いた時だけ隠れる設計なので JS 無しでも見えるが、
     armed が付いた直後に IntersectionObserver が失敗した場合の保険として同時に解除する */
html:not(.js) .ta-el { opacity: 1 !important; animation: none !important; }
html:not(.js) .reveal,
html:not(.js) body.armed .reveal { opacity: 1 !important; transform: none !important; }
/* /KEEP */

/* KEEP: prefers-reduced-motion 時にヒーローが真っ白（地色だけ）になる受領バグの補正。
   受領は .hero-slide をインライン opacity:0 ＋ CSS animation で見せる設計なので、
   reduce で animation:none にすると1枚目も消える。1枚目だけ固定表示にする。 */
@media (prefers-reduced-motion:reduce){
  .hero-slider .hero-slide:first-of-type { opacity: 1 !important; }
}
/* /KEEP */


/* ===== 60_追補-20260820.css ===== */
/* O01540 三和電設 — 追補CSS（2026-08-20 実機実測で追加）
   ★convert の結合順で override より後（最後尾）に来る。ファイル名の「追補」が cssPrio=3 を立てているので
     リネームしないこと（`add` を含む名前にすると override より前に回って効かなくなる）。
   ★decompose.mjs は ai-output を毎回クリアするが、「追補」を含むファイルは残すようにしてある。

   経緯: 実機（サイトID1489）の /form/inquiry を実測したところ、受領同梱の add-contact.css が
   想定していなかった CueZilla パーツ側のDOM・自動CSSがあり、デザイナー指定の見た目になっていなかった。
   下記はいずれも実機に注入して「勝つこと」を確認してから確定させた（R-28: 投機で書かない）。 */

/* KEEP: お問い合わせフォームの「白い箱」を消す
   症状: ベージュ地(#F3ECDD)の上に .parts213_section_form が白背景＋余白で乗り、
         デザイナーの意図（add-contact.css 冒頭「フォームは装飾枠を足さずフラットに」）と食い違っていた。
   原因: add-contact.css は内側の .parts213_form_wrap を透明化しているが、その外側の
         .parts213_section_form には触れていない。実機のパーツはこちらに白を持っている。
   実測: white → transparent、padding 30px 25px 60px → 0 になることを確認（(0,2,0)+!important で勝てる）。 */
.contact_section .parts213_section_form{
  background: transparent !important;
  padding: 0 !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
/* /KEEP */

/* KEEP: フォームのラベルと入力欄を縦積みに戻す
   症状: 実機は dl が display:flex で「ラベル｜入力欄」の2カラムになり、入力欄が半分幅(335px)だった。
   意図: add-contact.css は dt{display:block} dd{margin:0} ＝ ラベルの下に全幅の入力欄、という設計。
         dt/dd 個別の指定では親の flex を解除できないため dl 自体を block に戻す。
   実測: dd の幅 335px → 720px、dt の下に dd が来る（縦積み）ことを確認。 */
.contact_section .parts213_form_wrap dl{ display: block !important; }
.contact_section .parts213_form_wrap dt{ width: auto !important; float: none !important; }
.contact_section .parts213_form_wrap dd{ width: auto !important; float: none !important; margin-left: 0 !important; }
/* /KEEP */

/* KEEP: ブログ一覧カードの高さが揃わない問題（2026-08-20 ユーザー指摘・実機で確認）
   原因: テーマ側に `.parts222_post_wrap:nth-child(7), .parts222_post_wrap:last-child{margin-bottom:0}`
         があり、最後のカードだけ下マージンが無い。一覧は grid なので行の高さは最も高い要素で決まり、
         マージンの無い最後のカードだけが行いっぱいまで伸びて背丈が変わる
         （実測: 1〜3枚目 315px / 4枚目 370px）。
   対処: 全部の .parts222_post_wrap の margin-bottom を 0 にして条件分岐そのものを無効化する。
         行間はもともと .parts222_post_list の grid gap:24px が担当しているので、マージンは不要
         （実測: 行間 78.9px → 24px、カード高さは全て 315px で一致）。 */
.parts222_post_wrap{ margin-bottom: 0 !important; }
/* /KEEP */


/* ===== 61_追補-組立担当-20260819.css ===== */
/* O01540 三和電設 — 追補CSS（組立担当が 2026-08-19 に実機で追記したもの）
   ★出典: CueZilla用コード/site.combined.css の末尾に直接書かれていた41行。
     convert を再実行すると消える位置にあったため、ソース（ai-output）へ退避して恒久化した。
     内容は実機のパーツDOMを見て当てた調整＝実機で確認済みのものとして扱う。
   ※ファイル名の「追補」で結合順が override より後になる（リネーム禁止）。

   KEEP: 以下は組立担当の作業。経緯が分からないという理由で消さないこと。 */
/* KEEP: 組立担当（2026-08-19）が実機を見て追記した調整 */
/* 追記 */
/* 全体 */
.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;
}
/* /KEEP */


/* ===== 62_追補-20260820b.css ===== */
/* O01540 三和電設 — 追補CSS その2（2026-08-20）
   ★このファイルは結合順で 61_追補-組立担当-20260819.css より**後**に来る（同じ prio=3 で名前順）。
     前担当者が書いた指定を「消さずに後勝ちで無効化する」ために分けてある。
     61 のKEEPブロックを書き換えないこと（誰が何をしたかが追えなくなる）。 */

/* KEEP: 施工実績カードの下マージンを無効化（2026-08-20 ユーザー指示）
   対象: 61_追補-組立担当-20260819.css の
         `.parts228_post_wrap:nth-last-child(-n+3){ margin-bottom:45px !important; }`
   理由: ブログ一覧（parts222）と同じく、一覧は grid（実測 gap:28px）なのでカードの下マージンは不要。
         最終行だけマージンの有無が変わると行の高さが揃わなくなる（parts222 で実際に発生）。
   ★詳細度に注意: 相手の指定は `:nth-last-child(-n+3)` のぶん (0,2,0) なので、
     素の `.parts228_post_wrap{...!important}` では**勝てない**（実機で確認済み）。
     同じ擬似クラスを含めて同詳細度にし、後に置くことで上書きしている。
   実測: 各カードの margin-bottom 45px → 0px（高さは390pxで変化なし）。 */
.parts228_post_wrap,
.parts228_post_wrap:nth-last-child(-n+3){ margin-bottom: 0 !important; }
/* /KEEP */