/* ---- blog.html ---- */
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#ffffff;color:#1f2a24;font-family:"Noto Sans JP",system-ui,sans-serif;line-height:1.9;font-size:16px;-webkit-font-smoothing:antialiased;text-wrap:pretty;padding-bottom:0}
h1,h2,h3,h4,p,ul,ol,dl,dd,figure,table{margin:0}
ul,ol{padding:0;list-style:none}
a{color:#14730d;text-decoration:none}
a:hover{color:#14730d}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #32BE29;outline-offset:3px}
img{max-width:100%;display:block}
span.line-chunk{display:inline-block;overflow-wrap:anywhere;word-break:normal}
table{border-collapse:collapse;width:100%}
@keyframes ak-fv{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion: reduce){
  *{animation:none !important;transition:none !important}
}
@media (max-width:1279px){
  #ak-rail{display:none !important}
}
@media (max-width:767px){
  .ak-main h2{margin-bottom:50px !important}
}

/* ---- index.html ---- */
h1,h2,h3,h4,p,ul,dl,dd,figure{margin:0}
ul{padding:0;list-style:none}
summary::-webkit-details-marker{display:none}
@keyframes ak-h1slide{from{transform:translateX(9%)}to{transform:none}}
@keyframes ak-char{from{opacity:0;transform:translateX(18px)}to{opacity:1;transform:none}}
@keyframes ak-shine{0%{opacity:0;transform:translateX(-115%)}18%{opacity:1}70%{opacity:1}100%{opacity:0;transform:translateX(115%)}}
a:hover .ak-arrow-line{width:52px !important}
.ak-recruit-card:hover{transform:translateY(-8px) scale(1.02) !important;box-shadow:0 12px 28px rgba(11,61,7,.14) !important;transition:transform .35s cubic-bezier(.2,.7,.3,1),box-shadow .35s ease !important}
.ak-area-card:hover{transform:scale(1.05) !important;box-shadow:0 12px 28px rgba(11,61,7,.14) !important}
details[open] .ak-faq-bar{transform:rotate(90deg) !important;opacity:0 !important}
.ak-svc-card:hover .ak-svc-img{transform:scale(1.07) !important}
@keyframes ak-sheen{0%{left:-40%}34%{left:120%}100%{left:120%}}
@keyframes ak-slidein{from{opacity:0;transform:translateX(48px)}to{opacity:1;transform:none}}
@keyframes ak-up{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}
@keyframes ak-scrollline{0%{transform:translateY(-100%)}60%{transform:translateY(250%)}100%{transform:translateY(250%)}}
@keyframes ak-marquee{from{transform:translateX(100vw)}to{transform:translateX(-100%)}}
@keyframes ak-slide{0%{opacity:0}5%{opacity:1}33%{opacity:1}38%{opacity:0}100%{opacity:0}}
@keyframes ak-scan{from{transform:translateX(-100%)}to{transform:translateX(220%)}}
@media (max-width:767px){
  .ak-area-sec{background-image:url('https://cdn.cuezilla-cms.com/enjoyworks-test17.site/images/1493/sp_bg_sec6.webp') !important;background-position:center top !important;background-size:100% auto !important}
  .ak-recruit-bg{background-image:url('https://cdn.cuezilla-cms.com/enjoyworks-test17.site/images/1493/sp_bg_sec7.webp') !important;background-position:center top !important}
  .ak-reason-sec{background-image:url('https://cdn.cuezilla-cms.com/enjoyworks-test17.site/images/1493/sp_bg_sec1.webp') !important;background-position:right top !important;background-size:auto 100% !important}
  .ak-area-wrap{max-width:none !important}
  .ak-license-grid{grid-template-columns:minmax(0,1fr) !important}
  .ak-quality-btn{margin-top:40px !important}
  .ak-main h2[id^="ak-"]{margin-bottom:50px !important}
  .parts131415_blog_title_wrap{margin-bottom:50px !important}
  .ak-scroll-cue{display:none !important}
  .ak-hero-card{height:auto !important;min-height:calc(100svh - 64px) !important;margin:0 10px !important}
  .ak-hero-copy{justify-content:flex-start !important;padding:34px 18px calc(0.86 * clamp(46px,15vw,90px) + 20px) !important}
  .ak-hero-copy h1{font-size:clamp(25px,7.4vw,36px) !important;margin-bottom:16px !important}
  .ak-hero-copy > p:nth-of-type(1){font-size:10.5px !important;letter-spacing:.18em !important}
  .ak-hero-copy > p:nth-of-type(2){font-size:13.5px !important;letter-spacing:.06em !important;line-height:1.85 !important}
  .ak-hero-copy > p:nth-of-type(3){font-size:14px !important;letter-spacing:.06em !important;line-height:1.85 !important;padding-left:12px !important}
  .ak-hq{font-size:clamp(46px,15vw,90px) !important}
  .ak-hq-wrap{transform:translateY(-85%) !important}
  .ak-hero-btns{flex-direction:column !important;gap:10px !important;margin-top:calc(-1 * clamp(44px,6.2svh,62px) - 26px) !important}
  .ak-hero-btns > a{width:100% !important;min-height:52px !important;font-size:14px !important;justify-content:space-between !important}
  .ak-hero-facts{display:grid !important;grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:24px 22px !important}
  .ak-hero-facts > span{align-items:flex-start !important;text-align:left !important}
  .ak-hero-facts > span > span:last-child{font-size:clamp(17px,5.2vw,22px) !important}
  .ak-cta-sec{padding-left:12px !important;padding-right:12px !important}
  .ak-cta-text{flex:1 1 100% !important}
  .ak-cta-tel{max-width:none !important}
  .ak-cta-btns{flex:1 1 100% !important;flex-direction:column !important;gap:10px !important}
  .ak-cta-btns > a{flex:1 1 auto !important;min-height:60px !important;font-size:14.5px !important;padding:0 18px !important;justify-content:space-between !important}
}
@media (min-width:768px) and (max-width:1023px){
  .ak-cta-sec{padding-left:15px !important;padding-right:15px !important}
  .ak-cta-text{flex:1 1 100% !important}
  .ak-cta-tel{max-width:none !important}
  .ak-cta-text h2, .ak-cta-text > p{text-shadow:0 2px 10px rgba(3,26,1,.75), 0 1px 3px rgba(3,26,1,.6) !important}
  .ak-cta-btns{flex:1 1 100% !important;flex-direction:row !important;gap:12px !important}
  .ak-cta-btns > a{flex:1 1 0 !important;min-width:0 !important;justify-content:center !important;gap:10px !important;padding:0 12px !important;min-height:66px !important;font-size:14.5px !important}
  .ak-cta-btns .ak-arrow{width:26px !important}
  .ak-cta-btns .ak-arrow-line{width:14px !important}
  .ak-hero-card{height:auto !important;min-height:calc(100svh - 72px) !important}
  .ak-hq{font-size:clamp(96px,min(26vw,30svh),360px) !important}
  .ak-hq-wrap{transform:translateY(-85%) !important}
  .ak-hero-copy h1{margin-bottom:clamp(10px,1.8svh,22px) !important}
  .ak-hero-copy{justify-content:center !important;padding-top:clamp(24px,4svh,56px) !important;padding-bottom:calc(0.86 * clamp(96px,min(26vw,30svh),360px) + 24px) !important}
  .ak-main h2[id^="ak-"]{margin-bottom:50px !important}
  .ak-main h2[id^="ak-"]:not(#ak-cta){font-size:clamp(29px,5vw,48px) !important}
  #ak-cta{font-size:clamp(68px,12.8vw,136px) !important}
  .parts131415_blog_title_wrap h2{font-size:clamp(29px,5vw,48px) !important}
  .parts131415_blog_title_wrap{margin-bottom:50px !important}
  .ak-hero-card{margin-left:calc(clamp(0px,1.2vw,18px) + 5px) !important;margin-right:calc(clamp(0px,1.2vw,18px) + 5px) !important}
  .ak-hero-btns{justify-content:flex-end !important}
  .ak-hero-copy h1{font-size:clamp(31px,min(6.5vw,7.7svh),70px) !important}
  .ak-hero-copy > p:nth-of-type(1){font-size:14.4px !important}
  .ak-hero-copy > p:nth-of-type(2){font-size:clamp(17px,min(2.5vw,2.8svh),22px) !important}
  .ak-hero-copy > p:nth-of-type(3){font-size:clamp(17px,min(2.5vw,2.9svh),23px) !important}
}
@media (max-width:1023px){
  .ak-reason-row{display:grid !important;grid-template-columns:repeat(auto-fit,minmax(260px,1fr)) !important;gap:18px;padding-bottom:0 !important;align-items:stretch}
  .ak-reason-card{margin-left:0 !important;margin-top:0 !important;padding-right:26px !important}
  .ak-reason-btn{margin-top:40px !important}
}
@media (prefers-reduced-motion: reduce){
  h1 span:not([aria-hidden]){opacity:1 !important;transform:none !important}
  h1 span[aria-hidden]{display:none !important}
  p span{opacity:1 !important;transform:none !important}
}

/* ---- information.html ---- */
.ak-on-dark h2, .ak-on-dark h3, .ak-on-dark p, .ak-on-dark li, .ak-on-dark span, .ak-on-dark dt, .ak-on-dark dd, .ak-on-dark th, .ak-on-dark td, .ak-on-dark a{color:#ffffff !important}
.ak-on-dark .ak-card-light, .ak-on-dark .ak-card-light h3, .ak-on-dark .ak-card-light span, .ak-on-dark .ak-card-light li, .ak-on-dark .ak-card-light td, .ak-on-dark .ak-card-light th, .ak-on-dark .ak-card-light a{color:#14730d !important}
.ak-on-dark span[style*="background:#fff"], .ak-on-dark span[style*="background:#ffffff"]{color:#14730d !important}
.ak-on-dark .ak-card-light p, .ak-on-dark .ak-card-light > span:last-child, .ak-on-dark .ak-card-light div > span:last-child{color:#3f4f47 !important}
.ak-on-dark .ak-on-green, .ak-on-dark .ak-on-green span, .ak-on-dark .ak-card-light .ak-on-green, .ak-on-dark .ak-card-light .ak-on-green span, .ak-on-dark .ak-card-light span.ak-on-green{color:#0b3d07 !important}
html,body{overflow-x:clip}
@media (max-width:767px){
  .ak-area2{grid-template-columns:minmax(0,1fr) !important}
}

/* ---- reason.html ---- */
@media (max-width:767px){
  .ak-flow-item.is-right{margin-left:0 !important}
  .ak-flow-link{height:44px !important}
  .ak-flow-link > span{display:none !important}
  .ak-flow-link::before{content:'';position:absolute;top:0;bottom:0;left:48px;border-left:1px dashed #ffffff}
}

/* ---- recruit.html ---- */
.ak-on-dark .ak-flow-num, .ak-on-dark .ak-flow .ak-flow-num{color:#0b3d07 !important}
@media (max-width:767px){
  .ak-env2{grid-template-columns:minmax(0,1fr) !important}
}

/* ---- work-civil.html ---- */
.ak-on-dark .ak-base-card, .ak-on-dark .ak-base-card span{color:#ffffff !important}

/* ---- work.html ---- */
@keyframes ak-strip{from{transform:translateX(0)}to{transform:translateX(calc(-50% - 3px))}}
.ak-strip:hover .ak-strip-track{animation-play-state:paused !important}
.ak-strip-card:hover .ak-strip-img{transform:scale(1.06) !important}

/* ---- インライン animation / transition / will-change の退避先 ---- */
.aka1{will-change:transform;}
.aka2{transition:opacity .35s ease, transform .35s ease, background .25s ease;}
.aka3{transition:transform .45s cubic-bezier(.2,.7,.3,1);}
.aka4{transition:background .25s ease, min-height .25s ease, margin-top .25s ease;}
.aka5{animation:ak-scrollline 2.2s ease-in-out infinite;}
.aka6{animation:ak-slide 18s linear 0s infinite;}
.aka7{animation:ak-slide 18s linear 6s infinite;}
.aka8{animation:ak-slide 18s linear 12s infinite;}
.aka9{animation:ak-fv .9s .05s both cubic-bezier(.2,.7,.3,1);}
.aka10{animation:ak-h1slide 1.1s .1s both cubic-bezier(.16,.84,.28,1);}
.aka11{animation:ak-char .55s 200ms both cubic-bezier(.2,.7,.3,1);}
.aka12{animation:ak-char .55s 260ms both cubic-bezier(.2,.7,.3,1);}
.aka13{animation:ak-char .55s 320ms both cubic-bezier(.2,.7,.3,1);}
.aka14{animation:ak-char .55s 380ms both cubic-bezier(.2,.7,.3,1);}
.aka15{animation:ak-char .55s 440ms both cubic-bezier(.2,.7,.3,1);}
.aka16{animation:ak-char .55s 500ms both cubic-bezier(.2,.7,.3,1);}
.aka17{animation:ak-char .55s 560ms both cubic-bezier(.2,.7,.3,1);}
.aka18{animation:ak-char .55s 620ms both cubic-bezier(.2,.7,.3,1);}
.aka19{animation:ak-char .55s 680ms both cubic-bezier(.2,.7,.3,1);}
.aka20{animation:ak-char .55s 740ms both cubic-bezier(.2,.7,.3,1);}
.aka21{animation:ak-char .55s 800ms both cubic-bezier(.2,.7,.3,1);}
.aka22{animation:ak-char .55s 860ms both cubic-bezier(.2,.7,.3,1);}
.aka23{animation:ak-char .55s 920ms both cubic-bezier(.2,.7,.3,1);}
.aka24{animation:ak-char .55s 980ms both cubic-bezier(.2,.7,.3,1);}
.aka25{animation:ak-char .55s 1040ms both cubic-bezier(.2,.7,.3,1);}
.aka26{animation:ak-char .55s 1100ms both cubic-bezier(.2,.7,.3,1);}
.aka27{animation:ak-char .55s 1160ms both cubic-bezier(.2,.7,.3,1);}
.aka28{animation:ak-char .55s 1220ms both cubic-bezier(.2,.7,.3,1);}
.aka29{animation:ak-char .55s 1280ms both cubic-bezier(.2,.7,.3,1);}
.aka30{animation:ak-shine 1.1s 1460ms both ease-out;}
.aka31{animation:ak-fv 1s .34s both cubic-bezier(.2,.7,.3,1);}
.aka32{animation:ak-fv 1s .46s both cubic-bezier(.2,.7,.3,1);}
.aka33{animation:ak-marquee 26s linear infinite;}
.aka34{transition:color .3s ease;}
.aka35{transition:width .3s ease;}
.aka36{animation:ak-up .7s 900ms both cubic-bezier(.2,.7,.3,1);}
.aka37{animation:ak-up .7s 1040ms both cubic-bezier(.2,.7,.3,1);}
.aka38{animation:ak-up .7s 1180ms both cubic-bezier(.2,.7,.3,1);}
.aka39{animation:ak-up .7s 1320ms both cubic-bezier(.2,.7,.3,1);}
.aka40{transition:transform .6s cubic-bezier(.2,.7,.3,1);will-change:transform;}
.aka41{transition:color .3s ease, border-color .3s ease;}
.aka42{transition:transform .35s cubic-bezier(.2,.7,.3,1),box-shadow .35s ease;}
.aka43{transition:transform .3s ease, opacity .3s ease;}
.aka44{animation:ak-sheen 5s 1.2s linear infinite;}
.aka45{animation:ak-strip 46s linear infinite;}
.aka46{transition:transform .5s cubic-bezier(.2,.7,.3,1);}

/* ---- style-hover の退避先 ---- */
.akh1:hover,.akh1:focus-visible{background:rgba(20,115,13,.12)!important}
.akh2:hover,.akh2:focus-visible{background:#e6f7e4!important;color:#14730d!important}
.akh3:hover,.akh3:focus-visible{background:#32BE29!important;color:#0b3d07!important}
.akh4:hover,.akh4:focus-visible{background:#32BE29!important}
.akh5:hover,.akh5:focus-visible{background:#4ad33f!important;color:#14730d!important;min-height:65px!important;margin-top:-5px!important}
.akh6:hover,.akh6:focus-visible{background:#1ee06d!important;color:#14730d!important;min-height:65px!important;margin-top:-5px!important}
.akh7:hover,.akh7:focus-visible{background:#5cdc51!important;color:#14730d!important;min-height:65px!important;margin-top:-5px!important}
.akh8:hover,.akh8:focus-visible{color:#ffffff!important}
.akh9:hover,.akh9:focus-visible{color:#e6f7e4!important}
.akh10:hover,.akh10:focus-visible{color:#14730d!important;border-color:#32BE29!important}
.akh11:hover,.akh11:focus-visible{color:#d7f2d3!important}
.akh12:hover,.akh12:focus-visible{color:#14730d!important}
.akh13:hover,.akh13:focus-visible{background:#2aa622!important}
.akh14:hover,.akh14:focus-visible{filter:brightness(1.06)!important}

/* ---- tel: リンクのインラインstyle退避先（R-7／convertの誤検知回避） ---- */
.ak-tel1{color:#14730d;font-size:20px;font-weight:700;letter-spacing:.04em}
.ak-tel2{display:inline-flex;align-items:center;gap:10px;color:#ffffff;font-family:'Shippori Mincho',serif;font-weight:800;font-size:clamp(22px,3.4vw,26px);letter-spacing:.02em}
.ak-tel3{flex:0 0 auto;width:26px;height:26px;border-radius:50%;background:#0b3d07;display:inline-flex;align-items:center;justify-content:center;font-size:13px}
.ak-tel4{display:inline-flex;align-items:center;justify-content:center;min-height:56px;padding:0 30px;background:#32BE29;color:#0b3d07;font-weight:700;font-size:17px;border-radius:4px;letter-spacing:.04em}

/* R-27：::before/::after の content 依存を実要素へ置換（AddCssInfo が content を落とすため） */
.ak-line{position:absolute;left:0;right:0;bottom:0;height:2px;background:#32BE29;transform:scaleX(0);transform-origin:left center;transition:transform .32s cubic-bezier(.3,.7,.3,1);pointer-events:none;}
a[data-akline]:hover .ak-line,a[data-akline]:focus-visible .ak-line{transform:scaleX(1);}
.ak-fill{position:absolute;left:0;top:0;right:0;bottom:0;transform:scaleX(0);transform-origin:left center;transition:transform .38s cubic-bezier(.3,.7,.3,1);z-index:0;pointer-events:none;}
a[data-akfill]:hover .ak-fill,a[data-akfill]:focus-visible .ak-fill{transform:scaleX(1);}
.ak-fill-1{background:#32BE29;}
.ak-fill-2{background:#ffffff;}
.ak-fill-3{background:#1ee06d;}
.ak-fill-4{background:#14730d;}

/* ヘッダーナビ：受領の {{ }} 束縛（JS state）を CSS＋BODY内JS へ置き換えた分 */
.ak-nav{display:flex;}
.ak-burger{display:none;}
.ak-drawer{display:none;}
[data-aksub]{display:none;}
@media (min-width:1081px){
  .ak-has-sub:hover [data-aksub],.ak-has-sub:focus-within [data-aksub]{display:block;}
}
@media (max-width:1080px){
  .ak-nav{display:none;}
  .ak-burger{display:flex;}
}
html.ak-menu-open .ak-drawer{display:block;}
/* 未支給の写真スロット（申し送り①）。写真が入るまでの寸法確保 */
.ak-slot-empty{line-height:1.6;}


/* ===== 21_add.css ===== */
/* === add.css 貼り付け ここから === */
/* 株式会社アキヨシ工業｜TOPページ内 動的セクション（NEWS帯 / 記事カード）
   theme_default.css の後に読み込まれる前提。固有IDサフィックスに依存しないセレクタで指定。 */

:root{
  --ak-green:#32BE29;
  --ak-green-d:#14730d;
  --ak-green-l:#e6f7e4;
  --ak-ink:#1f2a24;
  --ak-gray:#5c6b63;
  --ak-line:#d8e2db;
  --ak-head:"Shippori Mincho",serif;
  --ak-body:"Noto Sans JP",system-ui,sans-serif;
}

/* ------------------------------------------------------------------
   新着情報（NEWS帯）design-parts-52 系
------------------------------------------------------------------ */
section[class*="design-parts-52"]{
  background:var(--ak-green-l) !important;
  border-top:1px solid #dbe8e0 !important;
  border-bottom:1px solid #dbe8e0 !important;
}
section[class*="design-parts-52"].bg-color{ background:var(--ak-green-l) !important; }

section[class*="design-parts-52"] .container{
  max-width:1200px !important;
  margin:0 auto !important;
  padding:0 20px !important;
}
section[class*="design-parts-52"] .content{
  display:flex !important;
  /* KEEP: flex-direction:row は必須（2026-08-24 実機トップを計測して追加）。
     テーマが 576px未満だけ .content を flex-direction:column にしており、軸が縦になると
     下の ul の flex-basis:320px が「幅」ではなく【高さ320px】として効く。
     結果、記事1件（70px）しか無いのに NEWS帯が 391px の巨大な空箱になる（実測 SP 414px）。
     軸をここで固定すると basis が幅に戻り 391px→141px。ラベルの位置・折り返し（ラベル1行目／
     一覧2行目）は変わらない＝直るのは無駄な高さだけ。
     ★576px以上は完全に無変化（375/414/576/768/992/1024/1200/1440px で実測・差分ゼロ）。 */
  flex-direction:row !important;
  /* /KEEP */
  flex-wrap:wrap !important;
  align-items:center !important;   /* stretch にしない（ラベルが伸びるのを防ぐ） */
  gap:0 22px !important;
  min-height:60px !important;
  padding:10px 0 !important;
}
section[class*="design-parts-52"] h4.banner-area{
  background:var(--ak-green-d) !important;   /* 元パーツの #bf172e を上書き */
  color:#ffffff !important;
  font-family:var(--ak-head) !important;
  font-weight:700 !important;
  font-size:13px !important;
  letter-spacing:.2em !important;
  line-height:1.4 !important;
  padding:9px 22px !important;
  margin:6px 0 !important;
  border-radius:2px !important;
  flex:0 0 auto !important;
}
section[class*="design-parts-52"] ul{
  flex:1 1 320px !important;
  min-width:0 !important;
  margin:0 !important;
  padding:0 !important;
  list-style:none !important;
}
section[class*="design-parts-52"] li{
  display:flex !important;
  align-items:center !important;
  min-height:60px !important;
}
section[class*="design-parts-52"] li a{
  display:flex !important;
  align-items:center !important;
  width:100% !important;
  color:var(--ak-ink) !important;
  text-decoration:none !important;
  padding:8px 0 !important;
}
section[class*="design-parts-52"] li a:hover,
section[class*="design-parts-52"] li a:focus-visible{ color:var(--ak-green-d) !important; }
section[class*="design-parts-52"] .parts-52-textarea{
  display:flex !important;
  flex-wrap:wrap !important;
  align-items:baseline !important;
  gap:4px 20px !important;
  width:100% !important;
}
section[class*="design-parts-52"] .date{
  font-size:13px !important;
  color:var(--ak-gray) !important;
  letter-spacing:.06em !important;
  flex:0 0 auto !important;
}
section[class*="design-parts-52"] .d-inline-block{
  font-size:15px !important;
  font-weight:500 !important;
  max-width:100% !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  white-space:nowrap !important;
}
/* 横並び化は PC=992px から（前倒ししない） */
@media (max-width:991.98px){
  section[class*="design-parts-52"] .content{ align-items:flex-start !important; }
  section[class*="design-parts-52"] h4.banner-area{ margin:10px 0 4px !important; }
  section[class*="design-parts-52"] li{ min-height:0 !important; }
  section[class*="design-parts-52"] .d-inline-block{ white-space:normal !important; }
}

/* ------------------------------------------------------------------
   記事カード（3列グリッド）parts131415_blog 系 ＝ BLOGセクション
------------------------------------------------------------------ */
/* KEEP: 受領デザイン再現（BLOGセクションの背景写真）。
   bg_blog.webp は 2026-08-21 の受領データ更新で支給された画像（前回は未支給＝参照が404に
   なるため背景を除去し白背景にしていた）。CMSが描画するパーツなので add.css 側で当てる。
   background-color の濃緑は「画像が未アップロードのとき白文字が消えない」ためのフォールバック。
   3行（color/image/fallback）はセットで意味を持つので個別に削除しない。 */
section[class*="parts131415_blog"]{
  background-color:#0e5a08 !important;
  background-image:url('https://cdn.cuezilla-cms.com/enjoyworks-test17.site/images/1493/bg_blog.webp') !important;
  background-size:cover !important;
  background-position:center !important;
  background-repeat:no-repeat !important;
  padding:clamp(64px,9vw,104px) 0 !important;
}
section[class*="parts131415_blog"].bg-img{
  background-image:url('https://cdn.cuezilla-cms.com/enjoyworks-test17.site/images/1493/bg_blog.webp') !important;
}
/* /KEEP */

section[class*="parts131415_blog"] .container-lg{
  max-width:1200px !important;
  margin:0 auto !important;
  padding:0 20px !important;
}
section[class*="parts131415_blog"] .parts131415_blog_title_wrap{ margin-bottom:34px !important; }
section[class*="parts131415_blog"] .parts131415_blog_title_wrap h2{
  font-family:var(--ak-head) !important;
  font-weight:700 !important;
  font-size:clamp(24px,4.2vw,40px) !important;
  line-height:1.5 !important;
  color:#ffffff !important;               /* 受領デザイン＝背景写真の上の白文字 */
  margin:0 !important;
}
section[class*="parts131415_blog"] .parts131415_blog_title_wrap p{
  font-family:var(--ak-body) !important;
  font-size:15px !important;
  color:#ffffff !important;               /* 受領デザイン＝背景写真の上の白文字 */
  margin:8px 0 0 !important;
}

section[class*="parts131415_blog"] .card{
  background:#ffffff !important;
  border:1px solid var(--ak-line) !important;
  border-radius:0 !important;
  height:100% !important;
  transition:transform .3s ease, box-shadow .3s ease !important;
}
section[class*="parts131415_blog"] .card:hover{
  transform:translateY(-4px) !important;
  box-shadow:0 14px 30px rgba(15,50,30,.12) !important;
}
section[class*="parts131415_blog"] .card-body{
  padding:22px 20px 24px !important;
  display:flex !important;
  flex-direction:column !important;
  gap:12px !important;
}
section[class*="parts131415_blog"] h5.card-title{
  font-family:var(--ak-body) !important;
  font-size:12px !important;
  letter-spacing:.14em !important;
  font-weight:700 !important;
  color:var(--ak-green-d) !important;
  background:var(--ak-green-l) !important;
  padding:7px 12px !important;
  margin:0 !important;
}
section[class*="parts131415_blog"] .card-body a{
  display:flex !important;
  flex-direction:column !important;
  gap:12px !important;
  color:var(--ak-ink) !important;
  text-decoration:none !important;
}
section[class*="parts131415_blog"] p.card-text{
  font-weight:700 !important;
  font-size:16.5px !important;
  line-height:1.7 !important;
  margin:0 !important;
}
section[class*="parts131415_blog"] .card-body a:hover p.card-text{ color:var(--ak-green-d) !important; }
section[class*="parts131415_blog"] .parts131415_blog_thumbnail{
  display:block !important;
  overflow:hidden !important;
  background:#eff4ee !important;
  height:240px !important;
}
section[class*="parts131415_blog"] .parts131415_blog_thumbnail img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  transition:transform .5s ease !important;
}
section[class*="parts131415_blog"] .card:hover .parts131415_blog_thumbnail img{ transform:scale(1.05) !important; }

@media (max-width:991.98px){
  section[class*="parts131415_blog"] .parts131415_blog_thumbnail{ height:215px !important; }
}
@media (max-width:575.98px){
  section[class*="parts131415_blog"] .parts131415_blog_thumbnail{ height:205px !important; }
}

@media (prefers-reduced-motion: reduce){
  section[class*="parts131415_blog"] .card,
  section[class*="parts131415_blog"] .parts131415_blog_thumbnail img{ transition:none !important; }
}

/* ------------------------------------------------------------------
   施工実績 一覧 parts228 系（/blog-ex/instance）
------------------------------------------------------------------ */
.parts228_section{ padding:clamp(32px,5vw,56px) 0 clamp(56px,8vw,96px) !important; }
.parts228_wrap{ max-width:1200px !important; margin:0 auto !important; padding:0 20px !important; }
.parts228_post_list{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:24px !important;
}
@media (max-width:991.98px){ .parts228_post_list{ grid-template-columns:repeat(2,minmax(0,1fr)) !important; } }
@media (max-width:575.98px){ .parts228_post_list{ grid-template-columns:1fr !important; } }
.parts228_post_wrap{
  border:1px solid var(--ak-line) !important;
  background:#fff !important;
  display:flex !important;
  flex-direction:column !important;
  min-width:0 !important;
  transition:transform .3s ease, box-shadow .3s ease !important;
}
.parts228_post_wrap:hover{ transform:translateY(-4px) !important; box-shadow:0 14px 30px rgba(15,50,30,.12) !important; }
.parts228_post_img{ height:210px !important; background:#eff4ee !important; overflow:hidden !important; }
.parts228_post_img a,
.parts228_post_img img{ display:block !important; width:100% !important; height:100% !important; object-fit:cover !important; }
.parts228_post_status{ padding:18px 20px 0 !important; }
.parts228_post_date{ font-size:13px !important; color:var(--ak-gray) !important; letter-spacing:.06em !important; }
.parts228_post_title-excerpt{ padding:8px 20px 0 !important; }
.parts228_post_title{
  font-family:var(--ak-head) !important;
  font-size:17px !important; font-weight:700 !important;
  color:var(--ak-green-d) !important; line-height:1.6 !important; margin:0 !important;
}
.parts228_post_excerpt{ padding:6px 20px 0 !important; font-size:14.5px !important; color:#3f4f47 !important; }
.parts-blog-ex-tag_wrap{ display:flex !important; flex-wrap:wrap !important; gap:8px !important; padding:10px 20px 22px !important; }
.parts-blog-ex_tag{
  font-size:12px !important; color:var(--ak-green-d) !important;
  background:var(--ak-green-l) !important; border:1px solid #cfe8cb !important;
  padding:4px 12px !important; border-radius:99px !important;
}
.parts228_pagenation{ display:flex !important; flex-wrap:wrap !important; gap:8px !important; justify-content:center !important; margin-top:40px !important; }
.parts228_pagenation a,
.parts222_pagenation a{
  min-width:44px !important; min-height:44px !important;
  display:inline-flex !important; align-items:center !important; justify-content:center !important;
  padding:0 14px !important; border:1px solid var(--ak-line) !important;
  color:var(--ak-green-d) !important; font-size:14px !important; text-decoration:none !important;
}
/* KEEP: アクティブ（現在ページ）の箱サイズ指定は必須（2026-08-24 実機を計測して追加）。
   現在ページだけは中に <a> が無い素の <span class="pagination_num current"> なので、
   上の「a」向け指定（44×44 / padding:0 14px / 14px）が当たらず、テーマ既定がそのまま残る。
     /blog（parts222）      padding:15px 20px・16px → 51×62px（他は44px＝18px背が高い）
     /blog-ex（parts228）   padding:8px 13px ・16px → 37×48px（背が高く幅は狭い）
   下の3行で他のボタンと同じ 44×44 に揃える。
   ★display は絶対に足さないこと。この span はテーマが `d-none d-xl-block` を持っており、
     display を !important で上書きすると xl未満（＝スマホ・タブレット）で隠れているはずの
     数字が出てしまう。縦中央は line-height（44px − 上下border 2px = 42px）で取る。 */
.parts228_pagenation .pagination_num.current,
.parts222_pagenation .pagination_num.current{
  background:var(--ak-green) !important; color:#0b3d07 !important; border-color:var(--ak-green-d) !important; font-weight:700 !important;
  box-sizing:border-box !important;
  min-width:44px !important; min-height:44px !important;
  padding:0 14px !important; font-size:14px !important; line-height:42px !important;
}
/* /KEEP */
.parts228_pagenation a:hover,
.parts222_pagenation a:hover{ background:var(--ak-green-l) !important; }

/* ------------------------------------------------------------------
   ブログ 一覧＋サイドバー parts222 系（/blog）
------------------------------------------------------------------ */
.parts222_section{ padding:clamp(32px,5vw,56px) 0 clamp(56px,8vw,96px) !important; }
/* KEEP: text-align は必須。実機のテーマ既定が text-align:center を当てており、
   これを消さないとパーツ名の見出し（例「ブログ」）だけが中央に浮いて、導入文・カードの
   左揃えと食い違う（2026-08-21 /blog の実機で確認）。受領デザインにはこの見出し自体が無い。 */
.parts222_section > h2{
  max-width:1200px !important; margin:0 auto 24px !important; padding:0 20px !important;
  text-align:left !important;
  font-family:var(--ak-head) !important; font-size:clamp(22px,3.6vw,34px) !important;
  color:var(--ak-green-d) !important;
}
/* /KEEP */
.parts222_wrap{
  max-width:1200px !important; margin:0 auto !important; padding:0 20px !important;
  display:grid !important; grid-template-columns:minmax(0,1fr) 320px !important;
  gap:clamp(28px,4vw,48px) !important; align-items:start !important;
}
@media (max-width:991.98px){ .parts222_wrap{ grid-template-columns:1fr !important; } }
/* KEEP: max-width:none は必須。実機のテーマ既定が本文に max-width:780px、サイドバーに
   max-width:28.179%（＝グリッド列320pxの28%＝90px）を当てていて、消さないと
   サイドバーが90px幅に潰れ「カ/テ/ゴ/リ」と1文字ずつ改行される（2026-08-21 /blog の実機で確認・
   解除して 90px→320px / 780px→792px になることを実測）。min-width:0 だけでは1pxも直らない。 */
.parts222_main{ min-width:0 !important; max-width:none !important; }
.parts222_post_list{ display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:22px !important; }
@media (max-width:575.98px){ .parts222_post_list{ grid-template-columns:1fr !important; } }
.parts222_post_wrap{
  border:1px solid var(--ak-line) !important; background:#fff !important;
  display:flex !important; flex-direction:column !important; min-width:0 !important;
  color:var(--ak-ink) !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 14px 30px rgba(15,50,30,.12) !important; }
.parts222_post_img{ height:190px !important; background:#eff4ee !important; overflow:hidden !important; }
.parts222_post_img img{ width:100% !important; height:100% !important; object-fit:cover !important; }
.parts222_post_status{ display:flex !important; flex-wrap:wrap !important; align-items:center !important; gap:6px 14px !important; padding:16px 18px 0 !important; }
.parts222_post_date{ font-size:13px !important; color:var(--ak-gray) !important; letter-spacing:.06em !important; }
.parts222_post_category{ font-size:12px !important; color:var(--ak-green-d) !important; background:var(--ak-green-l) !important; padding:3px 12px !important; }
.parts222_post_title-excerpt{ padding:8px 18px 20px !important; }
.parts222_post_title{ font-family:var(--ak-head) !important; font-size:17px !important; font-weight:700 !important; color:var(--ak-green-d) !important; line-height:1.6 !important; margin:0 !important; }
.parts222_sidebar{ min-width:0 !important; max-width:none !important; }  /* /KEEP（上のmax-width注記と同件） */
.parts222_sidebar_wrap{ margin-bottom:28px !important; }
.parts222_sidebar_wrap h3{
  background:var(--ak-green-d) !important; color:#fff !important;
  font-family:var(--ak-head) !important; font-size:15px !important; font-weight:700 !important;
  letter-spacing:.08em !important; padding:11px 16px !important; margin:0 !important;
}
/* KEEP: background と border-left/right は必須（2026-08-21 実機で確認）。
   ① ul に背景色を入れないとテーマ既定が transparent のままで、章の背景テクスチャが透けて
      受領デザインの白箱にならない（受領 blog.html は background:#ffffff）。
   ② カテゴリ一覧（.category_post_count）の li にテーマ既定の左右ボーダー #666 が残り、
      白箱の中に濃いグレーの縦線が2本出る（受領は border-bottom だけ）。 */
.parts222_sidebar_wrap ul{ border:1px solid var(--ak-line) !important; border-top:none !important; background:#ffffff !important; margin:0 !important; padding:0 !important; list-style:none !important; }
.parts222_sidebar_wrap li{ border-bottom:1px solid #e3ece1 !important; border-left:0 !important; border-right:0 !important; }
/* /KEEP */
.parts222_sidebar_wrap li:last-child{ border-bottom:none !important; }
.parts222_sidebar_wrap li a{ display:block !important; padding:14px 16px !important; color:var(--ak-ink) !important; text-decoration:none !important; min-height:44px !important; }
.parts222_sidebar_wrap li a:hover{ background:var(--ak-green-l) !important; }
.parts222_sidebar_date{ display:block !important; font-size:12px !important; color:var(--ak-gray) !important; letter-spacing:.06em !important; }
.parts222_sidebar_post_title{ font-size:14.5px !important; font-weight:500 !important; line-height:1.7 !important; margin:0 !important; }
.parts222_sidebar_wrap.category_post_count li a{ display:flex !important; align-items:center !important; justify-content:space-between !important; gap:10px !important; padding:13px 16px !important; }
.parts222_sidebar_post_category{ font-size:14.5px !important; margin:0 !important; }
.parts222_sidebar_post_category_count{ font-size:12px !important; color:var(--ak-green-d) !important; border:1px solid #cfe8cb !important; min-width:30px !important; text-align:center !important; padding:1px 6px !important; }

/* ------------------------------------------------------------------
   KEEP: ★動的パーツのテーマ既定を打ち消す層（2026-08-21 実機 /blog を計測して追加）
   CueZillaテーマ theme_default.css が動的パーツに次を撒いており、案件CSSで同じプロパティを
   書いていない箇所は既定がそのまま残る。**ローカルの preview には theme_default.css が無いため
   機械ゲートでは検出できない**（教訓: 70_運用ルール/教訓メモリ/
   dynamic-page-breakage-invisible-in-both-preview-and-sandbox.md）。消すと実機だけで再発する。

   ① %指定の max-width
        .parts222_post_wrap 47.735% ／ .parts228_post_wrap 32.465%
        → グリッドが列を渡してもカードが半分幅に潰れる（実測: 385px の列にカード 184px）
   ② .parts222_sidebar .parts222_sidebar_wrap:nth-child(n+2) の margin-top:40.5px
        → 受領の 28px にならない（margin相殺で40.5px側が勝つ・実測41px）。
          狭い幅では同セレクタに max-width:47.735% も入るので併せて解除する
   ③ CMSが付ける f_meiryo / f_yugothic クラス
        → font-family を書いていない箇所だけメイリオになる（受領・他ページは Noto Sans JP）
------------------------------------------------------------------ */
.parts222_post_wrap,
.parts228_post_wrap{ max-width:none !important; }
.parts222_sidebar .parts222_sidebar_wrap:nth-child(n+2){ margin-top:0 !important; max-width:none !important; }
.parts222_post_date, .parts222_post_category,
.parts222_sidebar_date, .parts222_sidebar_post_title,
.parts222_sidebar_post_category, .parts222_sidebar_post_category_count,
.parts228_post_date, .parts228_post_excerpt,
.parts-blog-ex_tag{ font-family:var(--ak-body) !important; }
/* /KEEP */

/* ------------------------------------------------------------------
   施工実績 詳細 parts-blog-ex-single-wrap（CMSがBladeで描画・/blog-ex/instance/<記事>）
   意匠の基準＝受領 works-detail.html。実セレクタは組立側から受領したBlade（2026-08-21）。
   打ち消しが必要なテーマ既定（theme_default.css）:
     .parts-blog-ex-single-wrap{max-width:750px;padding:120px 0}  → 受領は「テクスチャ背景は全幅・中身900px」
     .parts-blog-ex-single-wrap h2{text-align:center}             → 受領は左揃え
     .parts-blog-ex_text_wrap{margin-bottom:60px}                 → 余白はこちらで管理
     .article_status{color:#666;font-size:17px;margin-bottom:50px}→ 受領は13px #5c6b63
   `bex-*` はBlade独自クラスでテーマ既定は無い（0件）＝ここが唯一の定義元。
------------------------------------------------------------------ */
.parts-blog-ex-single-wrap{
  max-width:none !important; width:auto !important;
  padding:clamp(40px,6vw,72px) 0 clamp(56px,8vw,96px) !important;
  background-image:url('https://cdn.cuezilla-cms.com/enjoyworks-test17.site/images/1493/lower_bg_01.webp') !important;
  background-size:cover !important; background-position:center !important; background-repeat:no-repeat !important;
}
.parts-blog-ex-single-wrap .content_wrap,
.parts-blog-ex-single-wrap .parts-blog-ex_before-after .container{
  max-width:900px !important; margin:0 auto !important; padding:0 20px !important;
}
/* ★重要（2026-08-21 実機Bladeを見て追加）:
   記事本文（$blogEx->html の中身）・署名・SNSボタン・前後記事・最近の投稿は
   **.content_wrap を通らず single-wrap の直下**に出る。テーマはこれらに幅を持たせておらず、
   `.parts-blog-ex-single-wrap{max-width:750px}` 1本だけで全部の幅を作っていた。
   その750pxを解除している（受領は背景全幅＋中身900px）ので、**受け皿をここで作らないと
   本文・SNS・前後記事・最近の投稿だけが画面幅いっぱいに広がって崩れる**。
   section（＝中に .content_wrap / .container を持つ）は対象外にする＝二重パディングを防ぐ。 */
.parts-blog-ex-single-wrap > *:not(section){
  max-width:900px !important;
  margin-left:auto !important; margin-right:auto !important;
  padding-left:20px !important; padding-right:20px !important;
}
/* WYSIWYG本文の素の要素（.parts-blog-ex_text を経由しないためテーマの見出し指定も当たらない） */
.parts-blog-ex-single-wrap > h2,
.parts-blog-ex-single-wrap > h3,
.parts-blog-ex-single-wrap > h4{
  font-family:var(--ak-head) !important; font-weight:700 !important;
  color:#0b3d07 !important; line-height:1.5 !important; text-align:left !important;
  margin-top:1.6em !important; margin-bottom:.6em !important;
}
.parts-blog-ex-single-wrap > h2{ font-size:clamp(20px,3vw,28px) !important; }
.parts-blog-ex-single-wrap > h3{ font-size:clamp(18px,2.4vw,22px) !important; }
.parts-blog-ex-single-wrap > h4{ font-size:17px !important; }
.parts-blog-ex-single-wrap > p,
.parts-blog-ex-single-wrap > ul,
.parts-blog-ex-single-wrap > ol{
  font-family:var(--ak-body) !important; font-size:15.5px !important;
  line-height:1.9 !important; color:#3f4f47 !important;
}
.parts-blog-ex-single-wrap > img{ height:auto !important; }
.parts-blog-ex-single-wrap .parts-blog-ex_text_wrap{ margin-bottom:0 !important; }
.parts-blog-ex-single-wrap > section + section{ margin-top:clamp(28px,4vw,44px) !important; }

/* タイトル（受領: Shippori Mincho 800 / clamp(24,4.2vw,40) / #0b3d07 / 下100px） */
.parts-blog-ex-single-wrap .parts-blog-ex_text h2{
  font-family:var(--ak-head) !important; font-weight:800 !important;
  font-size:clamp(24px,4.2vw,40px) !important; line-height:1.5 !important;
  color:#0b3d07 !important; text-align:left !important; margin:0 0 100px !important;
}
/* 日付＋タグの帯（受領: 日付13px #5c6b63 ls.06em ／ タグはピル） */
.parts-blog-ex-single-wrap .article_status{
  display:flex !important; flex-wrap:wrap !important; align-items:center !important;
  gap:10px 16px !important; margin:0 0 28px !important;
  font-family:var(--ak-body) !important; font-size:13px !important; color:var(--ak-gray) !important;
}
.parts-blog-ex-single-wrap .article_date{ font-size:13px !important; color:var(--ak-gray) !important; letter-spacing:.06em !important; }
.parts-blog-ex-single_tag_wrap{ display:flex !important; flex-wrap:wrap !important; gap:8px !important; }
.parts-blog-ex_tag a{ color:inherit !important; text-decoration:none !important; }
/* 本文 */
.parts-blog-ex-single-wrap .parts-blog-ex_text p{
  font-family:var(--ak-body) !important; font-size:15.5px !important;
  line-height:1.9 !important; color:#3f4f47 !important;
}

/* Before / After（受領: 2列 gap14px・高さ clamp(170,26vw,280)・ラベルは左上） */
.parts-blog-ex_before-after{ padding:0 !important; }
.bex-ba-heading{
  font-family:var(--ak-head) !important; font-weight:800 !important;
  font-size:clamp(20px,3vw,28px) !important; line-height:1.5 !important;
  color:#0b3d07 !important; text-align:left !important; margin:0 0 20px !important;
}
/* ★受領 works-detail.html は「重ねるスライダー」ではなく **BEFORE左・AFTER右の2列並び**（gap14px・
   高さ clamp(170px,26vw,280px)・ラベルは各画像の左上）。Bladeのマークアップは変えずに、
   .bex-compare-wrap をグリッドにして受領の並びへ寄せる:
     img(=AFTER)        → 右列（grid-column:2）
     .bex-compare-clip  → 左列（grid-column:1・clip-pathは解除＝全部見せる）
     .bex-compare-handle→ 非表示（受領に仕切りは無い）
     ラベルは wrap の子なので absolute で各列の左上へ置く（7px＝gap14pxの半分）
   受領にSP用の1列化指定は無いので、狭い幅でも2列を維持する（＝並べて比較する意図を保つ）。 */
.bex-compare-wrap{
  position:relative !important; overflow:visible !important; background:transparent !important;
  display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:14px !important; height:auto !important;
}
/* ★grid-column だけでは足りない: HTMLの順が img(AFTER)→clip(BEFORE) なので、自動配置は
   前に戻らず clip が2行目に落ちて「右上にAFTER・左下にBEFORE」の段違いになる（実測 top 0 / 184）。
   行も明示（grid-area: 行 / 列）して同じ行に並べる。 */
.bex-compare-wrap > img{
  grid-area:1 / 2 !important; position:static !important; inset:auto !important;
  width:100% !important; height:clamp(170px,26vw,280px) !important;
  object-fit:cover !important; display:block !important; background:#eff4ee !important;
}
.bex-compare-clip{
  grid-area:1 / 1 !important; position:relative !important; inset:auto !important;
  clip-path:none !important; overflow:hidden !important;
  height:clamp(170px,26vw,280px) !important; background:#eff4ee !important;
}
.bex-compare-clip img{
  position:static !important; inset:auto !important;
  width:100% !important; height:100% !important; object-fit:cover !important; display:block !important;
}
.bex-compare-handle{ display:none !important; }
.bex-compare-label,
.bex-ba-item-label{
  position:absolute !important; top:0 !important;
  font-family:var(--ak-body) !important; font-size:12px !important; font-weight:700 !important;
  letter-spacing:.14em !important; padding:6px 14px !important; pointer-events:none !important;
}
.bex-compare-label.before,
.bex-ba-item-label.before{ left:0 !important; background:var(--ak-gray) !important; color:#ffffff !important; }
/* 右列（AFTER画像）の左上に置く。50% + gap14pxの半分 */
.bex-compare-label.after{ left:calc(50% + 7px) !important; right:auto !important; background:var(--ak-green) !important; color:#0b3d07 !important; }
.bex-ba-item-label.after{ left:0 !important; background:var(--ak-green) !important; color:#0b3d07 !important; }
.bex-ba-static{ display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:14px !important; }
.bex-ba-static.single-col{ grid-template-columns:1fr !important; }
.bex-ba-item{
  position:relative !important; min-width:0 !important;
  height:clamp(170px,26vw,280px) !important; background:#eff4ee !important;
}
.bex-ba-item img{ width:100% !important; height:100% !important; object-fit:cover !important; display:block !important; }

/* 場所・工期・ポイント（受領のth/tdテーブル意匠を grid で再現） */
.bex-info{ font-family:var(--ak-body) !important; margin:0 !important; }
.bex-info-row{ display:grid !important; grid-template-columns:30% 1fr !important; }
.bex-info-label{
  background:var(--ak-green-l) !important; color:var(--ak-green-d) !important;
  font-size:15px !important; font-weight:700 !important; padding:14px 18px !important;
  border:1px solid var(--ak-line) !important; border-bottom:none !important;
}
/* KEEP: 値セルの background:#ffffff は可読性のため（ディレクター指示 2026-08-21）。
   受領 works-detail.html の td は地色なしだが、実機は章の背景がテクスチャなので
   透明のままだと本文が読みにくい（実機 /blog-ex/instance/10214 で確認）。 */
.bex-info-val{
  padding:14px 18px !important; font-size:15px !important; color:var(--ak-ink) !important;
  background:#ffffff !important;
  border:1px solid var(--ak-line) !important; border-left:none !important; border-bottom:none !important;
}
/* /KEEP */
.bex-info-row:last-child .bex-info-label,
.bex-info-row:last-child .bex-info-val{ border-bottom:1px solid var(--ak-line) !important; }
/* 受領のテーブルは overflow-x:auto の1枚だが、狭い幅では th/td を縦積みにして読めるようにする
   （画像の2列並びは受領どおり維持＝ここでは触らない） */
@media (max-width:575.98px){
  .bex-info-row{ grid-template-columns:1fr !important; }
  .bex-info-val{ border-left:1px solid var(--ak-line) !important; }
}

/* ------------------------------------------------------------------
   ブログ 詳細 parts166_single_article（CMSがテーマで描画・/blog/<記事ID>）
   ★2026-08-21 追加（ディレクター指示「詳細ページの背景を受領データに合わせて」）。
   申し送り ①-3 では「受領デザインが無い＝テーマ既定のまま」としていたが、実機で見ると
   **下層ページで唯一ここだけ地色が真っ白**で、受領データの下層（blog.html /
   works-detail.html はいずれも先頭セクションに lower_bg_01 のテクスチャを全幅で敷く）から
   浮いていた。一覧（parts222/228＝override.css ③）・施工実績詳細（上のセクション）は
   既にテクスチャ済みで、ブログ詳細だけ取り残されていた形。
   ★今回は「背景」だけ受領に合わせる。幅730px・書体・見出しサイズはテーマ既定のまま
     （＝最小差分。書体メイリオ／幅の是正は別途指示があれば行う）。
   「最近の投稿」がテクスチャ透けする問題は、下の共通ブロック（.recent_posts_wrap ul の
   白箱）が既に両詳細ページを面倒見ているので、ここでは重複して書かない。
------------------------------------------------------------------ */
.parts166_single_article{
  background-image:url('https://cdn.cuezilla-cms.com/enjoyworks-test17.site/images/1493/lower_bg_01.webp') !important;
  background-size:cover !important; background-position:center !important; background-repeat:no-repeat !important;
}
/* KEEP: カテゴリ帯のテーマ既定は background:rgba(0,0,0,.3)（＝30%の黒）。白地の上では
   薄いグレーで目立たないが、上のテクスチャに重ねると「汚れた黒帯」になる。受領データの
   カテゴリ表記は淡緑地＋濃緑文字（blog.html の .parts222_post_category ＝ #e6f7e4 / #14730d）
   なので、そちらへ揃える。**背景を敷いた副作用の後始末＝上の指定とセットで意味を持つ**ので
   片方だけ消さない。2026-08-21 実機 /blog/98799 で計測して追加。 */
.parts166_single_article .article_category_wrap{
  background:var(--ak-green-l) !important;
}
/* /KEEP */

/* ------------------------------------------------------------------
   記事詳細ページ 共通の付属ブロック（署名・SNS・前後記事・最近の投稿）
   ★スコープを付けない。この4クラスは**ブログ記事詳細（parts166_single_article）と
     施工実績詳細（parts-blog-ex-single-wrap）の両方**に出るため、
     どちらかに寄せて書くと片方だけ直らない（2026-08-21 に実機の両ページで確認）。
   受領データに該当ブロックは無いので、狙いは「サイトの書体・部品の見た目に揃える」こと。
------------------------------------------------------------------ */
.signature_wrap,
.sns_button_wrap,
.article_prevnext_wrap,
.recent_posts_wrap{ font-family:var(--ak-body) !important; }
.recent_posts_wrap .recent_post_title{
  font-family:var(--ak-head) !important; background-color:var(--ak-green-d) !important;
  font-size:15px !important; letter-spacing:.08em !important; padding:11px 16px !important;
}
/* KEEP: 「最近の投稿」の一覧はテーマ既定が地色なし（透明）で、章のテクスチャや地色が透ける。
   /blog サイドバーの同じ部品（受領 blog.html は「白箱＋薄い枠」）と同じ見た目に揃える。
   2026-08-21 実機（/blog-ex/instance/10214 と /blog/98799 の両方）で確認して追加。 */
.recent_posts_wrap ul{
  background:#ffffff !important;
  border:1px solid var(--ak-line) !important; border-top:none !important;
  margin:0 !important; padding:0 !important; list-style:none !important;
}
.recent_posts_wrap li{ border-bottom:1px solid #e3ece1 !important; }
.recent_posts_wrap li:last-child{ border-bottom:none !important; }
.recent_posts_wrap li a{
  display:block !important; padding:14px 16px !important;
  color:var(--ak-ink) !important; text-decoration:none !important; min-height:44px !important;
}
.recent_posts_wrap li a:hover{ background:var(--ak-green-l) !important; }
.recent_posts_wrap .recent_post_date{
  display:block !important; font-size:12px !important;
  color:var(--ak-gray) !important; letter-spacing:.06em !important;
}
/* /KEEP */
.recent_posts_wrap h3{
  font-family:var(--ak-body) !important; font-size:14.5px !important; font-weight:500 !important;
  color:var(--ak-ink) !important; line-height:1.7 !important; margin:0 !important;
}
.prev_post_title,
.next_post_title{ font-family:var(--ak-body) !important; }

/* ------------------------------------------------------------------
   フォーム parts213（お問い合わせ）／parts219（応募）共通
   ※装飾枠は足さず、入力欄だけのフラットな見た目にする
------------------------------------------------------------------ */
.contact_section{ background:#ffffff !important; }
.contact_section .parts213_section_form,
.contact_section .parts219_section_form{ max-width:820px !important; margin:0 auto !important; padding:clamp(48px,7vw,88px) 20px !important; }
.contact_section dl{ display:flex !important; flex-direction:column !important; gap:6px !important; margin:0 0 24px !important; }
.contact_section dt{ display:flex !important; align-items:flex-start !important; gap:10px !important; font-size:15px !important; font-weight:700 !important; color:var(--ak-ink) !important; }
.contact_section dd{ margin:0 !important; }
/* KEEP: 必須バッジは「白文字＋赤地」＋サイズ自動（2026-08-24 実機 /form/inquiry を計測して変更）。
   テーマ既定が .required に background:#dd4444 と固定サイズを当てており、次の2点をここで打ち消している。
   ① 文字色だけ白にしても #fff × #dd4444 は 4.21:1 で AA(4.5:1) に届かない
      → 地色をサイト既定の赤 #b23b3b（.attention/.error と同色）へ寄せて 5.86:1 にする
   ② ★スマホ（≤1024px）でテーマが 35×20px / padding:0 / letter-spacing:-0.28px まで縮め、
      さらに行高22.8px が箱の高さ20px を超えるため上下左右とも文字が詰まる（PC幅は50×30pxで出ない）
      → width/height を auto へ戻し padding で余白を作る（実測 35×20px → 49×24px・はみ出し0）
   消すと実機だけで「赤地に暗赤文字＝ほぼ読めない」状態へ戻る（ローカルpreviewにはテーマCSSが無く再現しない）。 */
.contact_section .required{
  display:inline-flex !important; align-items:center !important; justify-content:center !important;
  width:auto !important; min-width:0 !important; max-width:none !important;
  height:auto !important; min-height:24px !important;
  padding:4px 12px !important; box-sizing:border-box !important;
  font-size:12px !important; font-weight:700 !important; line-height:1.2 !important;
  letter-spacing:.06em !important; white-space:nowrap !important;
  color:#ffffff !important; background:#b23b3b !important;
  border:0 !important; border-radius:2px !important;
  flex:0 0 auto !important;
}
/* /KEEP */
.contact_section .attention{ display:block !important; font-size:13px !important; font-weight:400 !important; color:#b23b3b !important; }
.contact_section input[type="text"],
.contact_section input[type="email"],
.contact_section input[type="tel"],
.contact_section textarea{
  width:100% !important; min-height:48px !important; padding:12px 14px !important;
  border:1px solid var(--ak-line) !important; border-radius:0 !important;
  font-size:16px !important; font-family:var(--ak-body) !important;
  background:#fff !important; color:var(--ak-ink) !important; box-shadow:none !important;
}
.contact_section textarea{ line-height:1.8 !important; }
.contact_section input:focus-visible,
.contact_section textarea:focus-visible{ outline:3px solid var(--ak-green) !important; outline-offset:2px !important; }
.contact_section .form_address dd{ display:flex !important; flex-wrap:wrap !important; gap:10px !important; align-items:center !important; }
.contact_section .form_address .zip{ width:140px !important; flex:0 0 auto !important; }
.contact_section label{ display:flex !important; align-items:center !important; gap:10px !important; min-height:44px !important; font-size:15px !important; cursor:pointer !important; }
.contact_section input[type="checkbox"]{ width:20px !important; height:20px !important; }
.contact_section input[type="file"]{ width:100% !important; min-height:48px !important; padding:11px 0 !important; font-size:15px !important; }
.contact_section .error{ display:block !important; font-size:13px !important; color:#b23b3b !important; margin-top:4px !important; }
.contact_section .contact_submit{ display:flex !important; }
.contact_section .contact_submit input[type="submit"]{
  min-height:52px !important; padding:0 40px !important;
  font-size:16px !important; font-weight:700 !important; font-family:var(--ak-body) !important;
  color:var(--ak-green-d) !important; background:#fff !important;
  border:1.5px solid var(--ak-green) !important; border-radius:0 !important; cursor:pointer !important;
}
.contact_section .contact_submit input[type="submit"]:hover{ background:var(--ak-green-l) !important; }

/* 導入文 parts210 系 */
.parts210_section_content{ background:#f5faf4 !important; border-bottom:1px solid #e3ece1 !important; }
.parts210_content_wrap{ max-width:900px !important; margin:0 auto !important; padding:clamp(40px,6vw,72px) 20px !important; }
.parts210_content p{ font-size:15.5px !important; color:#3f4f47 !important; }

@media (prefers-reduced-motion: reduce){
  .parts228_post_wrap,.parts222_post_wrap{ transition:none !important; }
}
/* === add.css 貼り付け ここまで === */


/* ===== 29_override.css ===== */
/* ============================================================
   override.css — CueZilla 実DOM向けの最小上書き（skin不採用・cz-judgment §3）
   受領 add.css が parts52/131415/222/228/213/219/210 を自前フルstyle済みのため、
   汎用 skin は同梱しない（skinの !important が受領デザインを壊す）。
   ============================================================ */

/* ① CueZilla自動パンくずは全ページ非表示（各ページのヒーロー内に自前パンくずがある＝R-10a） */
[class*="_breadcrumb"],.p-breadcrumb{display:none !important;}

/* ② sticky ヘッダーを殺す theme_default.css の打ち消し（★2行セットで効く） */
html,body{height:auto !important;}   /* height:100% だと1画面分しか追従しない */
body{overflow-x:clip !important;}     /* overflow:hidden はスクロールコンテナを作り sticky を無効化する */

/* ③ 一覧パーツの背景：受領では自前ラッパー div が lower_bg_01 を持っていたが、
   そのラッパーは CMS パーツの外側になるためパーツ自身へ当て直す */
.parts228_section,.parts222_section{background-image:url(https://cdn.cuezilla-cms.com/enjoyworks-test17.site/images/1493/lower_bg_01.webp);background-size:cover;background-position:center;background-repeat:no-repeat;}

/* ④ モーション無効時の保険（教訓 css-animation-hidden-base-state-blanks-under-motion-kill）。
   入場演出の初期非表示は BODY内JS が付けるだけで、JS側も reduced-motion なら隠さない実装だが、
   万一その分岐が壊れても真っ白にならないよう CSS 側でも可視へ戻す（!important でinlineに勝つ） */
@media (prefers-reduced-motion: reduce){
  .ak-rv,[data-reveal]{opacity:1 !important;transform:none !important;transition:none !important;}
  /* 「上へ戻る」は受領時点で inline opacity:0（JSがフッター到達で出す）。
     動きを減らす設定の人には出現アニメ自体が余計なので常時表示にする */
  #ak-top{opacity:1 !important;transform:none !important;pointer-events:auto !important;}
}
/* JSが動かなかったときも「上へ戻る」を使えるようにする（R-4：JS前提の非表示を単独で出さない） */
html:not(.ak-js) #ak-top{opacity:1 !important;transform:none !important;pointer-events:auto !important;}

/* ⑤ タップ領域（R-19軸②・44px）：文字が短いリンクだけ幅で44pxを確保する。
   対象＝フッターナビと下層ヘッダーのパンくずの「TOP」。文字と文字位置は変えず箱だけ広げる */
a[data-akline]{min-width:44px;}
.ak-bc{display:inline-block;min-width:44px;}

/* 事業内容の3カード見出しは h3→h2 へ昇格した（アウトラインの段飛び解消）。
   SPの h2 一律 margin-bottom:50px を打ち消して見た目を受領どおりに据え置く */
@media (max-width:767px){
  .ak-main h2.ak-svc-h{margin-bottom:0 !important;}
}

/* ============================================================
   ⑥ 追従バーのコントラスト是正（2026-08-20 ディレクター承認・B類）
   受領は白文字だが AA 4.5:1 に届かないため、**文字色だけ**濃色へ。
     1番目「見積もり相談」 白×#32BE29 = 2.46:1 → #0b3d07 で 5.06:1
     2番目「LINEで相談」   白×#06c755 = 2.26:1 → #0b3d07 で 5.52:1
     3番目「採用エントリー」白×#14730d = 6.02:1 ＝基準内なので触らない
   ホバー時（地が #4ad33f / #1ee06d に明るくなる）も濃色のまま＝6.34:1 / 7.09:1。
   ★元に戻すときは **このブロックだけ削除**する（他の指定に手を入れていない）。
   ★href ではなく順番で当てている（LINEのURLが後で決まっても当たり続けるため）。
   ============================================================ */
#ak-cta-bar a:nth-child(-n+2),
#ak-cta-bar a:nth-child(-n+2):hover{color:#0b3d07 !important;}

/* ⑦ テーマ(Bootstrap)の既定と衝突する余白のリセット（R-20/R-21） */
.ak-main p,.ak-main ul,.ak-main ol,.ak-main dl,.ak-main dd,.ak-main figure{margin:0;}
.ak-main img{max-width:100%;display:block;}