/* ===== 20_site.css ===== */
/* ============================================================
   株式会社翔組（O00012）案件CSS
   CueZilla「追加CSS（AddCssInfo）」欄へ site.combined.css をそのまま貼る。

   出どころ:
     受領データ（Claude Design / dc-runtime 生ソース）の
       ・各ページ helmet の style
       ・各ページ dc-script の Component.ADD_CSS / Component.CSS
     を1本に統合したもの。宣言値は受領のまま（配色・寸法は変えていない）。

   受領からの機械的な置き換え（見た目は変えない）:
     1) 受領は React ランタイムが毎回 style 属性を書いていた箇所（列組み・段差の高さ）を
        メディアクエリへ移した。JSが動かなくても崩れない。
     2) 受領の セレクタ接頭辞 main を、納品本文のラッパー .sg-page に振り替えた。
        CueZilla では本文が共通領域の中に入るため、main では当たらないことがある。
     3) 疑似要素の content に依存していた装飾を背景グラデーションへ置き換えた（R-27。
        CueZillaの追加CSS欄は content 宣言をサニタイズで落とすため）。
   ============================================================ */

/* ============================================================
   1. 土台（受領 helmet の共通部）
   ============================================================ */
html { -webkit-text-size-adjust:100%; }
body {
  margin:0;
  /* 固定ヘッダー（高さ72px）のぶんを確保する。受領ではJSが body へ書いていた（R-18）。 */
  padding-top:72px;
  background:#FFFFFF;
  color:#14181D;
  font-family:'Noto Sans JP',sans-serif;
  font-size:16px;
  line-height:1.9;
}
@media (min-width:768px){ body{ font-size:17px; } }
span.line-chunk { display:inline-block; overflow-wrap:anywhere; word-break:normal; }
a { color:#0072BC; }
a:hover { color:#EB1919; }
:focus-visible { outline:3px solid #EB1919; outline-offset:2px; }
html { scroll-behavior:smooth; }

/* ============================================================
   2. キーフレーム（受領 index helmet より）
   ============================================================ */
@keyframes scrollCue { 0%{transform:translateY(0);opacity:.35} 50%{transform:translateY(10px);opacity:1} 100%{transform:translateY(0);opacity:.35} }
@keyframes copyRise { from{opacity:0;clip-path:inset(0 0 108% 0);transform:translateY(20px)} to{opacity:1;clip-path:inset(0 0 -12% 0);transform:translateY(0)} }
@keyframes panelIn { 0%{clip-path:inset(100% 0 0 0)} 3.4%{clip-path:inset(0 0 0 0)} 33.3%{clip-path:inset(0 0 0 0)} 36.7%{clip-path:inset(0 0 100% 0)} 100%{clip-path:inset(0 0 100% 0)} }
@keyframes splashOut { 0%{clip-path:inset(0 0 0 0)} 62%{clip-path:inset(0 0 0 0)} 100%{clip-path:inset(0 0 0 100%)} }
@keyframes splashGone { 0%{visibility:visible} 99%{visibility:visible} 100%{visibility:hidden} }
@keyframes splashEdge { 0%{clip-path:inset(0 calc(100% - 6px) 0 -6px);opacity:0} 58%{clip-path:inset(0 calc(100% - 6px) 0 -6px);opacity:0} 62%{clip-path:inset(0 calc(100% - 6px) 0 -6px);opacity:1} 100%{clip-path:inset(0 -6px 0 calc(100% - 6px));opacity:1} }
@keyframes expUp { from{transform:translateY(0)} to{transform:translateY(calc(-33.3333% - 4.6667px))} }
@keyframes expDown { from{transform:translateY(calc(-33.3333% - 4.6667px))} to{transform:translateY(0)} }
@keyframes splashMark { 0%{opacity:0;transform:translateY(12px)} 22%{opacity:1;transform:translateY(0)} 58%{opacity:1;transform:translateY(0)} 74%{opacity:0;transform:translateY(-8px)} 100%{opacity:0} }
@keyframes stepRise { from{ clip-path:inset(100% 0 0 0) } to{ clip-path:inset(0 0 0 0) } }

/* 動きを減らす設定のとき、受領は animation を止めるだけだったため、
   入場演出で opacity:0 から始まる文字が「消えたまま」になっていた。
   文字が読めないのは不具合なので、止めるときは必ず見える状態へ戻す（R-19 軸②）。 */
@media (prefers-reduced-motion:reduce){
  *{ animation:none !important; transition:none !important; }
  /* TOPの入場演出は「アニメで消える」作りなので、アニメを止めると青い幕が出たままになり
     ページ全体が読めなくなる。動きを減らす設定のときは最初から出さない。 */
  .sg-splash{ display:none !important; }
  .sg-page [style*="animation:copyRise"]{ opacity:1 !important; clip-path:none !important; transform:none !important; }
  .sg-page [style*="animation:panelIn"]{ clip-path:none !important; }
  .sg-page [data-steps="stair"] > li[data-stair]{ opacity:1 !important; clip-path:none !important; }
}

/* ============================================================
   3. 共通ヘッダー（02_header.html）
     受領は data-desk / data-mob の display をJSで書き換えていた。
     ここではメディアクエリに移す（1260px が受領の境目）。
   ============================================================ */
/* インラインstyleの display をメディアクエリで上書きするため !important 必須（バーガーが data-mob にインライン display:flex を持つ＝これが無いとPCでも消えない） */
#sg-header [data-desk]{ display:none !important; }
#sg-header [data-mob]{ display:flex !important; }
@media (min-width:1260px){
  #sg-header [data-desk]{ display:flex !important; }
  #sg-header [data-mob]{ display:none !important; }
}
/* 現在ページの下線（BODY内JSが is-current を付ける） */
#sg-header nav a.is-current{ border-bottom-color:#EB1919 !important; }
/* ドロワーを開いている間は背面をスクロールさせない */
body.sg-drawer-open{ overflow:hidden; }
/* ★トップへ戻るボタン：ホバーは背景色だけ変える（style-hover のJS復元で opacity/visibility が戻り、ホバーで消えるのを回避） */
#sg-totop:hover{ background:#005A96 !important; }

/* ============================================================
   4. 共通フッター（03_footer.html／受領 SiteFooter の Component.CSS）
   ============================================================ */
footer a{ transition:background-color .3s cubic-bezier(.2,.7,.2,1), color .3s cubic-bezier(.2,.7,.2,1), border-color .3s ease, transform .3s cubic-bezier(.2,.7,.2,1), box-shadow .3s ease; }
footer [data-foot="cta"] a:hover{ transform:translateY(-2px); box-shadow:0 10px 24px rgba(0,40,70,.28); }
footer [data-foot="cta"] a:active{ transform:translateY(0); box-shadow:0 4px 10px rgba(0,40,70,.24); }
@media (prefers-reduced-motion:reduce){ footer a{ transition:none; } footer [data-foot="cta"] a:hover{ transform:none; box-shadow:none; } }
@media (min-width:600px){
  [data-foot="navlist"]{ grid-template-columns:repeat(3,minmax(0,1fr)) !important; }
}
@media (min-width:768px) and (max-width:899px){
  [data-foot="grid"]{ grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important; column-gap:32px !important; }
  [data-foot="info"]{ grid-column:1 !important; }
  [data-foot="nav"]{ grid-column:2 !important; }
  [data-foot="cta"]{ grid-column:1 / -1 !important; }
}
@media (min-width:900px) and (max-width:1366px){
  [data-foot="grouplink"]{ gap:8px !important; font-size:13px !important; }
  [data-foot="grouplink"] img{ height:23px !important; }
}
@media (min-width:1080px){
  [data-foot="grid"]{ grid-template-columns:minmax(240px,1fr) minmax(300px,1.15fr) minmax(220px,.8fr) !important; gap:56px 44px !important; }
  [data-foot="navlist"]{ grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:2px 28px !important; }
}
/* 住所ブロックの中の電話番号（タップ発信にしたぶん、見た目は地の文のまま保つ・R-24） */
.sg-tel-plain{ color:inherit !important; text-decoration:none !important; white-space:nowrap; }
.sg-tel-plain:hover{ text-decoration:underline !important; }

/* ============================================================
   5. ページ共通
   ============================================================ */
/* CTAボタン（全ページ共通の動き） */
.sg-page a[data-cta]{ transition:background-color .3s cubic-bezier(.2,.7,.2,1), color .3s cubic-bezier(.2,.7,.2,1), border-color .3s ease, transform .3s cubic-bezier(.2,.7,.2,1), box-shadow .3s ease !important; }
.sg-page a[data-cta]:hover{ transform:translateY(-2px); box-shadow:0 10px 24px rgba(10,37,64,.22); }
.sg-page a[data-cta]:active{ transform:translateY(0); box-shadow:0 4px 10px rgba(10,37,64,.18); }
@media (prefers-reduced-motion:reduce){ .sg-page a[data-cta]{ transition:none !important; } .sg-page a[data-cta]:hover{ transform:none; box-shadow:none; } }

/* 下層ページのCTAは中央寄せ（受領の下層ページ共通ルール） */
.sg-page:not(.sg-page--index) a[data-cta]{ display:flex !important; width:fit-content !important; max-width:100% !important; margin-left:auto !important; margin-right:auto !important; }
.sg-page [data-row="cta"]{ justify-content:center !important; }
.sg-page [data-row="cta"] a[data-cta]{ margin-left:0 !important; margin-right:0 !important; }
@media (min-width:900px){
  .sg-page a[data-cta]{ box-sizing:border-box !important; min-width:280px !important; min-height:92px !important; padding-left:26px !important; padding-right:26px !important; font-size:19px !important; }
}
@media (max-width:899px){
  .sg-page a[data-cta]{ display:flex !important; box-sizing:border-box !important; width:100% !important; max-width:100% !important; flex:1 1 100% !important; min-height:82px !important; }
}
@media (min-width:768px) and (max-width:899px){
  .sg-page [data-row="cta"]{ flex-wrap:nowrap !important; align-items:stretch !important; }
  .sg-page [data-row="cta"] a[data-cta]{ width:auto !important; max-width:none !important; flex:1 1 50% !important; min-width:0 !important; padding:0 14px !important; font-size:17px !important; }
}

/* 会社概要の地図スロット（受領は編集ツール専用部品だったため実体が無い） */
/* 受領は編集ツール専用の部品が入っていた枠。外枠（高さ clamp(240px,56vw,420px)・青の細枠）は
   受領のままなので、中を埋めるだけにする（枠が二重にならないよう自前の枠は持たない）。 */
.sg-map-slot{
  position:absolute; inset:0;
  display:flex; align-items:center; justify-content:center;
  padding:24px;
  background:#F2F8FE;
  color:#3D454E; font-size:14px; text-align:center;
}

/* ページ本文に自前のパンくずを持っているため、CueZilla自動パンくずは隠す（R-10a） */
.parts231_breadcrumb{ display:none !important; }

/* ============================================================
   6. ページ別
   ============================================================ */

/* ---- TOP -------------------------------------------------- */
/* 受領は列組みをJSで書いていた（applyGrid）。同じ結果をメディアクエリで作る。 */
.sg-page--index [data-cols="split"]{ gap:0 !important; }
@media (min-width:900px){
  .sg-page--index [data-cols="split"]{ grid-template-columns:1fr 1fr !important; }
  .sg-page--index [data-cols="split"] [data-col="1"]{ grid-column:1 !important; grid-row:1 !important; }
  .sg-page--index [data-cols="split"] [data-col="2"]{ grid-column:2 !important; grid-row:1 !important; }
}
@media (max-width:899px){
  .sg-page--index [data-cols="split"]{ grid-template-columns:1fr !important; }
  .sg-page--index [data-cols="split"] [data-half="img"]{ grid-column:auto !important; grid-row:1 !important; }
  .sg-page--index [data-cols="split"] [data-half="text"]{ grid-column:auto !important; grid-row:2 !important; }
}
@media (max-width:599px){ .sg-page--index [data-half="text"]{ padding-top:64px !important; } }
@media (max-width:899px){
  .sg-page--index [data-half="text"] > p[aria-hidden="true"]{ left:auto !important; right:auto !important; font-size:clamp(56px,14vw,116px) !important; }
  .sg-page--index [data-half="text"] > span[aria-hidden="true"]{ display:none !important; }
  .sg-page--index [data-half="text"]{ padding-bottom:56px !important; max-width:1240px !important; width:100% !important; box-sizing:border-box !important; justify-self:stretch !important; padding-left:20px !important; padding-right:20px !important; }
}
@media (min-width:900px){
  .sg-page--index [data-half="text"]{ padding-top:136px !important; padding-bottom:112px !important; }
  .sg-page--index [data-half-id="allone"]{ padding-top:80px !important; padding-bottom:80px !important; }
  .sg-page--index [data-exp="grid"]{ padding-top:112px !important; padding-bottom:112px !important; }
  .sg-page--index [data-row="cta2"] a[target="_blank"]{ flex:0 0 280px !important; width:280px !important; height:92px !important; }
}
.sg-page--index [data-exp="media"]{ -webkit-mask-image:none !important; mask-image:none !important; }
@media (max-width:1079px){
  .sg-page--index [data-phi="grid"]{ display:grid !important; grid-template-columns:1fr !important; padding-top:0 !important; }
  .sg-page--index [data-phi="media"]{ order:-1 !important; margin:0 -20px !important; height:clamp(420px,86vw,720px) !important; }
  .sg-page--index [data-phi="text"]{ order:0 !important; }
  .sg-page--index [data-exp="grid"]{ display:grid !important; grid-template-columns:1fr !important; padding-top:0 !important; }
  .sg-page--index [data-exp="media"]{ order:-1 !important; margin:0 -20px !important; height:clamp(420px,86vw,720px) !important; }
  .sg-page--index [data-exp="text"]{ order:0 !important; }
}
@media (min-width:1080px){
  /* OUR SKILL と同様の全幅レイアウト：テキストを左側に寄せ（左端≒184px）、写真はデザインサイズ(38%)で反対側の端まで出す。テキストは写真の手前まで広げて中間の余白を詰める */
  .sg-page--index [data-phi="grid"]{ display:block !important; max-width:none !important; margin:0 !important; padding-left:42% !important; padding-right:min(9.6vw,184px) !important; padding-top:112px !important; padding-bottom:112px !important; }
  .sg-page--index [data-phi="media"]{ position:absolute !important; top:0 !important; bottom:0 !important; left:0 !important; width:38% !important; height:auto !important; }
  .sg-page--index [data-phi="text"]{ max-width:none !important; }
  .sg-page--index [data-exp="grid"]{ display:block !important; max-width:none !important; margin:0 !important; padding-right:42% !important; padding-left:min(9.6vw,184px) !important; }
  .sg-page--index [data-exp="media"]{ position:absolute !important; top:0 !important; bottom:0 !important; right:0 !important; width:38% !important; height:auto !important; }
  .sg-page--index [data-exp="text"]{ max-width:none !important; }
  .sg-page--index [data-exp="text"] > p[aria-hidden="true"], .sg-page--index [data-phi="text"] > p[aria-hidden="true"]{ font-size:clamp(56px,8vw,116px) !important; }
  .sg-page--index [data-exp="text"] [data-exp="big"]{ font-size:clamp(26px,2.4vw,38px) !important; }
}
@media (max-width:899px){ .sg-page--index [data-cols="split"] [data-half="img"]{ min-height:clamp(360px,78vw,560px) !important; } }
@media (min-width:768px) and (max-width:899px){
  .sg-page--index [data-row="cta-recruit"]{ flex-wrap:nowrap !important; align-items:stretch !important; }
  .sg-page--index [data-row="cta-recruit"] a[data-cta]{ width:auto !important; max-width:none !important; flex:1 1 50% !important; min-width:0 !important; padding:0 14px !important; font-size:17px !important; }
  .sg-page--index [data-row="cta2"]{ flex-wrap:nowrap !important; align-items:stretch !important; }
  .sg-page--index [data-row="cta2"] a[data-cta]{ width:auto !important; max-width:none !important; min-width:0 !important; flex:1 1 50% !important; padding:0 14px !important; font-size:17px !important; }
  .sg-page--index [data-row="cta2"] a[target="_blank"]{ flex:1 1 50% !important; width:auto !important; }
}
@media (min-width:900px) and (max-width:1366px){
  .sg-page--index [data-brk-nl="cta2"]{ display:block !important; width:100% !important; height:0 !important; }
  .sg-page--index [data-row="cta2"] > a[data-cta]:first-child{ flex-wrap:wrap !important; align-content:center !important; row-gap:6px !important; text-align:center !important; line-height:0.9 !important; }
  .sg-page--index [data-row="cta2"] > a[data-cta]:first-child span[data-brk]{ line-height:0.9 !important; white-space:nowrap !important; }
  .sg-page--index [data-row="cta2"]{ flex-wrap:nowrap !important; align-items:stretch !important; }
  .sg-page--index [data-row="cta2"] a[data-cta]{ min-width:0 !important; width:auto !important; max-width:none !important; flex:0 1 auto !important; padding-left:16px !important; padding-right:16px !important; font-size:17px !important; }
  .sg-page--index [data-row="cta2"] a[target="_blank"]{ flex:0 1 200px !important; width:auto !important; }
}
@media (min-width:1300px){
  .sg-page--index [data-row="cta2"]{ flex-wrap:nowrap !important; align-items:center !important; }
  .sg-page--index [data-row="cta2"] a[data-cta]{ min-width:0 !important; flex:0 1 auto !important; }
  .sg-page--index [data-row="cta2"] a[target="_blank"]{ flex:0 0 auto !important; }
}

/* 採用カード（TOPと採用情報で共通） */
@media (min-width:601px) and (max-width:1024px){
  .sg-page ul[data-recruit-cards]{ grid-template-columns:repeat(3,minmax(0,1fr)) !important; gap:14px !important; }
  .sg-page ul[data-recruit-cards] li > span:last-child{ padding:20px 14px 24px !important; }
  .sg-page ul[data-recruit-cards] li > span:last-child > span:first-child{ font-size:clamp(18px,2.6vw,22px) !important; }
  .sg-page ul[data-recruit-cards] li > span:last-child > span:last-child{ font-size:14px !important; }
}
@media (min-width:1300px){
  .sg-page--index ul[data-recruit-cards]{ width:min(1600px,calc(100vw - 40px)) !important; max-width:1600px !important; margin-left:calc((min(1600px, 100vw - 40px) - 100%) / -2) !important; }
}

/* ---- 下層ページ共通の2カラム（受領 applyGrid をメディアクエリへ） ---- */
@media (max-width:1099px){
  .sg-page--occupation [data-cols="split"],
  .sg-page--particular [data-cols="split"],
  .sg-page--recruit [data-cols="split"]{ display:flex !important; flex-direction:column !important; }
  .sg-page--occupation [data-cols="split"] > div:last-child,
  .sg-page--particular [data-cols="split"] > div:last-child,
  .sg-page--recruit [data-cols="split"] > div:last-child{ order:-1 !important; }
}
/* ★受領HTMLは列組みを style 属性に持っている（受領ではJSが毎回書き換えていた）。
   属性の指定はCSSより強いので、ここは !important でないと1列のまま動かない。 */
.sg-page--occupation [data-cols="split"],
.sg-page--recruit [data-cols="split"]{ grid-template-columns:1fr !important; gap:40px !important; }
@media (min-width:900px){
  .sg-page--occupation [data-cols="split"],
  .sg-page--recruit [data-cols="split"]{ grid-template-columns:1.1fr 1fr !important; gap:56px !important; }
}
.sg-page--particular [data-cols="split"]{ grid-template-columns:1fr !important; gap:40px !important; }
@media (min-width:1100px){
  .sg-page--particular [data-cols="split"]{ grid-template-columns:1.1fr 1fr !important; gap:56px !important; }
}
.sg-page--career [data-cols="split"]{ grid-template-columns:minmax(0,1fr) !important; gap:40px !important; }
.sg-page--career [data-cols="split-text"]{ grid-template-columns:minmax(0,1fr) !important; gap:40px !important; }
@media (min-width:900px){
  .sg-page--career [data-cols="split"]{ grid-template-columns:minmax(0,1fr) minmax(0,1.15fr) !important; gap:56px !important; }
  .sg-page--career [data-cols="split-text"]{ grid-template-columns:minmax(0,1.15fr) minmax(0,1fr) !important; gap:56px !important; }
}
.sg-page--information [data-cols="lead"]{ grid-template-columns:1fr !important; gap:40px !important; }
@media (min-width:900px){
  .sg-page--information [data-cols="lead"]{ grid-template-columns:1.4fr 1fr !important; gap:56px !important; }
}

/* ---- 業務案内 --------------------------------------------- */
@media (min-width:601px) and (max-width:1024px){
  .sg-page--occupation ul[data-cards="tobi"]{ grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
}
@media (max-width:899px){
  .sg-page--occupation [data-cols="safety"]{ grid-template-columns:minmax(0,1fr) !important; }
  .sg-page--occupation [data-cols="safety"] > div:first-child{ order:-1 !important; }
}

/* ---- 翔組について ------------------------------------------ */
@media (max-width:600px){
  .sg-page--particular [data-stats="row"]{ grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
  .sg-page--particular [data-stats="row"] > div:last-child{ grid-column:1 / -1 !important; }
}
@media (min-width:601px) and (max-width:1024px){
  .sg-page--particular [data-stats="row"]{ grid-template-columns:repeat(5,minmax(0,1fr)) !important; }
  .sg-page--particular [data-stats="row"] > div{ padding:22px 8px !important; }
  .sg-page--particular [data-stats="row"] dd{ font-size:clamp(22px,2.6vw,30px) !important; }
  .sg-page--particular [data-stats="row"] dd > span{ font-size:15px !important; }
  .sg-page--particular [data-stats="row"] dd:has([data-count-up]){ font-size:clamp(34px,4.4vw,46px) !important; }
  .sg-page--particular [data-stats="row"] dd [data-count-up]{ font-size:inherit !important; }
  .sg-page--particular [data-stats="row"] dd [data-count-up] + span{ font-size:16px !important; }
  .sg-page--particular [data-stats="row"] dt{ font-size:12px !important; }
}

/* ---- 採用情報 --------------------------------------------- */
@media (max-width:600px){ .sg-page--recruit [data-cards="learn3"]{ grid-template-columns:minmax(0,1fr) !important; } }
@media (min-width:1025px){ .sg-page--recruit ul[data-cards="wanted"]{ grid-template-columns:repeat(3,minmax(0,1fr)) !important; } }
@media (min-width:601px) and (max-width:1024px){
  .sg-page--recruit ol[data-cards="license"]{ grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:12px !important; }
  .sg-page--recruit ol[data-cards="license"] li{ display:flex !important; align-items:center !important; min-height:60px !important; padding:14px 18px !important; border-left:4px solid #009DF7 !important; }
}
@media (max-width:1024px){ .sg-page--recruit img[data-img="recfv"]{ object-position:22% 15% !important; } }
@media (max-width:899px){
  .sg-page--recruit [data-cols="teamtalk"]{ grid-template-columns:minmax(0,1fr) !important; }
  .sg-page--recruit [data-cols="teamtalk"] > img{ order:-1 !important; }
}

/* ---- キャリアと成長 ---------------------------------------- */
.sg-page--career [data-steps="stair"] > li[data-stair="off"]{ opacity:0 !important; }
.sg-page--career [data-steps="stair"] > li[data-stair="in"]{ animation:stepRise .66s cubic-bezier(.72,0,.2,1) both; }
.sg-page--career [data-steps="stair"]{ grid-template-columns:minmax(0,1fr) !important; }
.sg-page--career [data-steps="stair"] > li{ margin-top:0 !important; margin-bottom:0 !important; height:auto !important; align-self:stretch !important; min-height:auto !important; }
@media (min-width:900px){
  /* 受領は data-step-h の値をJSで min-height に書いていた（段差の階段）。同じ値を固定で持つ。 */
  .sg-page--career [data-steps="stair"]{ grid-template-columns:repeat(4,minmax(0,1fr)) !important; }
  .sg-page--career [data-steps="stair"] > li{ align-self:end !important; }
  .sg-page--career [data-steps="stair"] > li:nth-child(1){ min-height:340px !important; }
  .sg-page--career [data-steps="stair"] > li:nth-child(2){ min-height:420px !important; }
  .sg-page--career [data-steps="stair"] > li:nth-child(3){ min-height:480px !important; }
  .sg-page--career [data-steps="stair"] > li:nth-child(4){ min-height:540px !important; }
}
@media (min-width:601px) and (max-width:1024px){ .sg-page--career ul[data-cards="phase"]{ grid-template-columns:minmax(0,1fr) !important; } }

/* ---- 会社概要 --------------------------------------------- */
@media (max-width:899px){
  .sg-page--information [data-ceo="closing"]{ flex-direction:column !important; align-items:stretch !important; }
  .sg-page--information [data-ceo="closing"] > div[data-ceo="photo"]{ order:-1 !important; width:100% !important; margin:0 0 24px !important; }
}
@media (max-width:600px){
  .sg-page--information dl[data-cards="fleet"]{ grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
  .sg-page--information dl[data-cards="fleet"] > div:last-child{ grid-column:1 / -1 !important; }
}
@media (min-width:1025px){
  .sg-page--information ul[data-cards="action"]{ grid-template-columns:repeat(6,minmax(0,1fr)) !important; }
  .sg-page--information ul[data-cards="action"] > li:nth-child(-n+3){ grid-column:span 2 !important; }
  .sg-page--information ul[data-cards="action"] > li:nth-child(n+4){ grid-column:span 3 !important; }
}
@media (max-width:1024px){ .sg-page--information ul[data-cards="action"]{ grid-template-columns:minmax(0,1fr) !important; } }
@media (min-width:601px) and (max-width:1024px){ .sg-page--information dl[data-cards="creed"]{ grid-template-columns:minmax(0,1fr) !important; } }

/* ---- 施工実績（静的部の一覧テーブル） ----------------------- */
/* SPの見出しラベルは受領では 疑似要素の content:attr(data-label) で描いていたが、
   CueZillaの追加CSS欄は content を落とす（R-27）。本文HTML側に実要素を置き、
   PCでは隠す形に作り替えた（表示される文字は受領と同じ）。 */
.sg-wt-label{ display:none; }
@media (max-width:600px){
  .sg-page--works table[data-worktable]{ min-width:0 !important; display:block !important; font-size:15px !important; }
  .sg-page--works table[data-worktable] thead{ display:none !important; }
  .sg-page--works table[data-worktable] tbody{ display:block !important; }
  .sg-page--works table[data-worktable] tr{ display:block !important; padding:0 0 14px !important; border-top:1px solid #CFE3F3 !important; }
  .sg-page--works table[data-worktable] tbody tr:first-child{ border-top:0 !important; }
  .sg-page--works table[data-worktable] th[scope="row"]{ display:block !important; padding:14px 16px 10px !important; border-top:0 !important; background:#E2F0FC !important; font-family:'Zen Kaku Gothic New',sans-serif !important; font-weight:700 !important; font-size:16px !important; }
  .sg-page--works table[data-worktable] td{ display:grid !important; grid-template-columns:78px minmax(0,1fr) !important; gap:10px !important; align-items:baseline !important; padding:8px 16px 0 !important; border-top:0 !important; white-space:normal !important; }
  .sg-page--works table[data-worktable] td .sg-wt-label{ display:block; font-size:12px; font-weight:700; color:#0072BC; letter-spacing:.04em; }
}

/* ============================================================
   7. CueZillaパーツの見た目（受領の add.css ブロックをそのまま）
   ============================================================ */

/* ---- TOP：お知らせ（design-parts-52） ---------------------- */
/* CMSが section/.container/.content に height:100%（＝実質0）を当てるため、中身が箱からはみ出して下のBLOGと重なる。高さを内容なりへ戻す（重なり解消） */
[class*="design-parts-52"]{background:#FFFFFF !important;padding:36px 0 40px !important;height:auto !important;min-height:0 !important}
[class*="design-parts-52"] .container{max-width:1240px !important;margin:0 auto !important;padding:0 20px !important;height:auto !important}
[class*="design-parts-52"] .content{display:block !important;padding:0 !important;height:auto !important}
/* 見出し左の赤いバーは 疑似要素の content で描いていた（R-27 で落ちる）ため背景で描く */
[class*="design-parts-52"] h4.banner-area{display:flex !important;align-items:center !important;width:auto !important;height:auto !important;margin:0 0 24px !important;padding:0 0 0 16px !important;background:linear-gradient(#EB1919,#EB1919) left center / 4px 24px no-repeat !important;color:#009DF7 !important;font-family:'Noto Sans JP',sans-serif !important;font-weight:700 !important;font-size:28px !important;letter-spacing:.12em !important;line-height:1.2 !important}
[class*="design-parts-52"] ul.mb-0{list-style:none !important;margin:0 !important;padding:0 !important}
[class*="design-parts-52"] ul.mb-0 li{border-bottom:1px solid #14181D !important}
[class*="design-parts-52"] ul.mb-0 li a{display:block !important;padding:16px 4px !important;color:#14181D !important;text-decoration:none !important}
[class*="design-parts-52"] ul.mb-0 li a:hover{color:#0072BC !important}
[class*="design-parts-52"] .parts-52-textarea{display:grid !important;grid-template-columns:auto auto !important;align-items:center !important;gap:8px 16px !important}
[class*="design-parts-52"] .parts-52-textarea span.date{color:#14181D !important;font-size:14px !important;letter-spacing:.06em !important;white-space:nowrap !important}
[class*="design-parts-52"] .parts-52-textarea span.cat{display:flex !important;align-items:center !important;justify-content:center !important;justify-self:start !important;min-width:96px !important;height:30px !important;padding:0 12px !important;border:1px solid #0072BC !important;color:#0072BC !important;font-family:'Zen Kaku Gothic New',sans-serif !important;font-weight:500 !important;font-size:12px !important;letter-spacing:.1em !important}
[class*="design-parts-52"] .parts-52-textarea span.d-inline-block{grid-column:1 / -1 !important;font-size:16px !important;line-height:1.8 !important;font-weight:500 !important}
/* 「もっと見る」左の横罫も 疑似要素の content から背景へ置き換え（ホバーで伸びる動きは維持） */
[class*="design-parts-52"] a.parts-52-more{display:inline-flex !important;align-items:center !important;margin:22px 0 0 !important;padding-left:86px !important;background:linear-gradient(#14181D,#14181D) left center / 72px 1px no-repeat !important;transition:background-size .2s ease, padding-left .2s ease !important;color:#14181D !important;text-decoration:none !important;font-size:14px !important;font-weight:500 !important}
[class*="design-parts-52"] a.parts-52-more:hover{padding-left:106px !important;background:linear-gradient(#0072BC,#0072BC) left center / 92px 1px no-repeat !important;color:#0072BC !important}

@media (min-width:768px){
  [class*="design-parts-52"] h4.banner-area{font-size:32px !important;margin-bottom:28px !important;background-size:4px 28px !important}
  [class*="design-parts-52"] ul.mb-0 li a{padding:14px 4px !important}
  [class*="design-parts-52"] .parts-52-textarea{grid-template-columns:104px 112px minmax(0,1fr) !important;gap:20px !important}
  [class*="design-parts-52"] .parts-52-textarea span.d-inline-block{grid-column:auto !important;overflow:hidden !important;text-overflow:ellipsis !important;white-space:nowrap !important}
}

/* ---- TOP：ブログ一覧（parts131415_blog） -------------------- */
/* 受領は背景写真の上に 疑似要素で白81%の幕を重ねていた（R-27 で落ちる）。
   幕を背景の1枚目レイヤーに畳み込み、同じ見え方を疑似要素なしで作る。 */
section[class*="parts131415_blog"]{position:relative !important;background:linear-gradient(rgba(255,255,255,.85),rgba(255,255,255,.85)), #0A2540 url(https://cdn.cuezilla-cms.com/enjoyworks-seisaku.pw/images/1553/blog-bg.webp) center/cover no-repeat fixed !important;padding:64px 0 72px !important;overflow:hidden !important}
section[class*="parts131415_blog"] .container-lg{position:relative !important;z-index:1 !important}
[class*="parts131415_blog"] .container-lg{max-width:1240px !important;margin:0 auto !important;padding:0 20px !important}
[class*="parts131415_blog"] .parts131415_blog_title_wrap{margin:0 0 36px !important;padding:0 !important;background:none !important;text-align:left !important}
[class*="parts131415_blog"] .parts131415_blog_title_wrap h2{margin:0 !important;padding:0 !important;border:0 !important;color:#009DF7 !important;font-family:'Zen Kaku Gothic New',sans-serif !important;font-weight:900 !important;font-size:clamp(34px,9vw,56px) !important;line-height:1.1 !important;letter-spacing:.1em !important}
[class*="parts131415_blog"] .parts131415_blog_title_wrap p{display:flex !important;align-items:center !important;margin:14px 0 0 !important;padding-left:52px !important;background:linear-gradient(#EB1919,#EB1919) left center / 36px 2px no-repeat !important;color:#14181D !important;font-family:'Zen Kaku Gothic New',sans-serif !important;font-weight:700 !important;font-size:17px !important;line-height:1.6 !important}
[class*="parts131415_blog"] .row{display:grid !important;grid-template-columns:1fr !important;gap:24px !important;margin:0 !important;padding:0 !important;list-style:none !important}
@media (min-width:576px){[class*="parts131415_blog"] .row{grid-template-columns:repeat(2,minmax(0,1fr)) !important}}
@media (min-width:992px){[class*="parts131415_blog"] .row{grid-template-columns:repeat(3,minmax(0,1fr)) !important}}
[class*="parts131415_blog"] .col{padding:0 !important;width:auto !important;max-width:none !important}
[class*="parts131415_blog"] .card{background:#FFFFFF !important;border:1px solid #E4EAF0 !important;border-radius:0 !important;overflow:hidden !important;height:100% !important;max-width:none !important}
[class*="parts131415_blog"] .card-body{display:grid !important;grid-template-rows:auto auto 1fr !important;padding:0 !important;height:100% !important;background:#FFFFFF !important}
[class*="parts131415_blog"] .card-body > a{display:contents !important;text-decoration:none !important;color:#14181D !important}
[class*="parts131415_blog"] .parts131415_blog_thumbnail{grid-row:1 !important;padding:0 !important;height:200px !important;overflow:hidden !important;background:#FFFFFF !important}
[class*="parts131415_blog"] .parts131415_blog_thumbnail img{width:100% !important;height:100% !important;object-fit:cover !important;display:block !important}
@media (min-width:992px){[class*="parts131415_blog"] .parts131415_blog_thumbnail{height:225px !important;padding:0 !important}}
[class*="parts131415_blog"] h5.card-title{grid-row:2 !important;justify-self:start !important;width:auto !important;max-width:none !important;margin:18px 18px 0 !important;padding:3px 11px !important;background:#FFFFFF !important;border:1px solid #0072BC !important;border-radius:0 !important;color:#0072BC !important;font-family:'Noto Sans JP',sans-serif !important;font-weight:500 !important;font-size:12px !important;line-height:1.7 !important;letter-spacing:.02em !important;text-align:left !important}
[class*="parts131415_blog"] p.card-text{grid-row:3 !important;margin:0 !important;padding:12px 18px 20px !important;color:#14181D !important;font-family:'Noto Sans JP',sans-serif !important;font-weight:500 !important;font-size:15px !important;line-height:1.8 !important}
[class*="parts131415_blog"] .card:hover{border-color:#009DF7 !important}
[class*="parts131415_blog"] .card:hover p.card-text{color:#0072BC !important}
[class*="parts131415_blog"] a.parts-52-more{display:flex !important;width:fit-content !important;margin:14px 0 0 !important;align-items:center !important;padding-left:86px !important;background:linear-gradient(#14181D,#14181D) left center / 72px 1px no-repeat !important;transition:background-size .2s ease, padding-left .2s ease !important;color:#14181D !important;text-decoration:none !important;font-family:'Zen Kaku Gothic New',sans-serif !important;font-weight:700 !important;font-size:16px !important;letter-spacing:.04em !important}
[class*="parts131415_blog"] a.parts-52-more:hover{padding-left:106px !important;background:linear-gradient(#0072BC,#0072BC) left center / 92px 1px no-repeat !important;color:#0072BC !important}

/* ---- ブログ一覧ページ（parts222） --------------------------- */
.parts222_section{background:#FFFFFF !important;padding:56px 0 72px !important}
/* 見出し左の赤いバーは 疑似要素の content から背景へ置き換え（R-27） */
.parts222_section > h2{max-width:1240px !important;margin:0 auto 32px !important;padding:0 20px 0 36px !important;position:relative !important;background:linear-gradient(#EB1919,#EB1919) 20px center / 5px 1.05em no-repeat !important;font-family:'Zen Kaku Gothic New',sans-serif !important;font-weight:900 !important;font-size:clamp(23px,5.6vw,36px) !important;line-height:1.45 !important;color:#14181D !important}
.parts222_wrap{max-width:1240px !important;margin:0 auto !important;padding:0 20px !important;display:grid !important;grid-template-columns:1fr !important;gap:48px !important}
@media (min-width:992px){.parts222_wrap{grid-template-columns:minmax(0,1fr) 300px !important;gap:56px !important;align-items:start !important}}
.parts222_main{min-width:0 !important}
.parts222_post_list{display:grid !important;grid-template-columns:1fr !important;gap:20px !important}
@media (min-width:576px){.parts222_post_list{grid-template-columns:repeat(2,minmax(0,1fr)) !important}}
.parts222_post_wrap{display:flex !important;flex-direction:column !important;max-width:none !important;background:#FFFFFF !important;border:1px solid #CFE3F3 !important;border-radius:0 !important;overflow:hidden !important;text-decoration:none !important;color:#14181D !important}
.parts222_post_wrap:hover{border-color:#009DF7 !important;color:#0072BC !important}
.parts222_post_img{height:200px !important;background:#E2F0FC !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:14px 18px 0 !important}
.parts222_post_date{font-size:13px !important;color:#3D454E !important;letter-spacing:.06em !important}
.parts222_post_category{display:inline-block !important;max-width:none !important;padding:3px 11px !important;background:#FFFFFF !important;border:1px solid #0072BC !important;color:#0072BC !important;border-radius:0 !important;font-family:'Noto Sans JP',sans-serif !important;font-size:12px !important;font-weight:500 !important;line-height:1.7 !important;letter-spacing:.02em !important}
.parts222_post_title-excerpt{padding:8px 18px 20px !important}
.parts222_post_title{margin:0 !important;font-family:'Zen Kaku Gothic New',sans-serif !important;font-weight:700 !important;font-size:17px !important;line-height:1.7 !important}
.parts222_post_excerpt{display:none !important}
/* ★ブログ一覧：theme_default が parts222 を高詳細度（祖先付き）で上書きするため、.parts222_wrap を付けて勝たせる */
/* 記事カードを4枚とも等高に（行を1frで揃え、カードを高さいっぱいに伸ばす） */
.parts222_wrap .parts222_post_list{grid-auto-rows:1fr !important;align-items:stretch !important}
.parts222_wrap .parts222_post_wrap{display:flex !important;flex-direction:column !important;height:100% !important;background:#FFFFFF !important;border:1px solid #CFE3F3 !important;border-radius:0 !important;overflow:hidden !important}
/* カテゴリbadgeをデザイン通り（青枠の箱・inline-block・線と高さ幅） */
.parts222_wrap .parts222_post_status{display:flex !important;align-items:center !important;gap:10px !important;padding:14px 18px 0 !important}
.parts222_wrap .parts222_post_category{display:inline-block !important;max-width:none !important;padding:3px 11px !important;background:#FFFFFF !important;border:1px solid #0072BC !important;color:#0072BC !important;border-radius:0 !important;font-family:'Noto Sans JP',sans-serif !important;font-size:12px !important;font-weight:500 !important;line-height:1.7 !important;letter-spacing:.02em !important}
.parts222_pagenation{display:flex !important;flex-wrap:wrap !important;align-items:center !important;justify-content:center !important;gap:8px !important;margin:36px 0 0 !important;padding:0 !important;list-style:none !important}
.parts222_pagenation .pagination_prev,.parts222_pagenation .pagination_next,.parts222_pagenation .page-item,.parts222_pagenation .pagination_num{display:flex !important;align-items:center !important;justify-content:center !important;min-width:48px !important;min-height:48px !important;padding:0 14px !important;border:1px solid #CFE3F3 !important;border-radius:0 !important;font-size:14px !important;color:#0072BC !important;background:#FFFFFF !important;cursor:pointer !important}
.parts222_pagenation .pagination_num.current{background:#0072BC !important;border-color:#0072BC !important;color:#FFFFFF !important;font-weight:700 !important}
.parts222_pagenation .d-none{display:none !important}
@media (min-width:1200px){.parts222_pagenation .d-xl-block{display:flex !important}}
.parts222_sidebar{min-width:0 !important;max-width:none !important;display:flex !important;flex-direction:column !important;gap:32px !important}
.parts222_sidebar_wrap > h3{margin:0 0 0 !important;padding:12px 18px !important;background:#0072BC !important;color:#FFFFFF !important;font-family:'Zen Kaku Gothic New',sans-serif !important;font-weight:700 !important;font-size:16px !important;letter-spacing:.08em !important}
.parts222_sidebar_wrap > ul{list-style:none !important;margin:0 !important;padding:0 !important;border:1px solid #CFE3F3 !important;border-top:0 !important}
/* ★カテゴリ等サイドバー：theme が各liに左右の枠を付け、ul枠と二重線になるため下線のみへ戻す（祖先付きで勝たせる） */
.parts222_wrap .parts222_sidebar_wrap li{border:0 !important;border-bottom:1px solid #CFE3F3 !important}
.parts222_wrap .parts222_sidebar_wrap li:last-child{border-bottom:0 !important}
.parts222_sidebar_wrap li a{display:block !important;min-height:56px !important;padding:12px 16px !important;color:#14181D !important;text-decoration:none !important}
.parts222_sidebar_wrap li a:hover{background:#F2F8FE !important;color:#0072BC !important}
.parts222_sidebar_date{display:block !important;font-size:12px !important;color:#3D454E !important;letter-spacing:.06em !important}
.parts222_sidebar_post_title{margin:4px 0 0 !important;font-size:15px !important;line-height:1.7 !important;font-weight:500 !important}
.category_post_count li a{display:flex !important;align-items:center !important;justify-content:space-between !important;gap:12px !important}
.parts222_sidebar_post_category{margin:0 !important;font-size:15px !important;font-weight:500 !important}
.parts222_sidebar_post_category_count{flex:none !important;display:inline-flex !important;align-items:center !important;justify-content:center !important;min-width:32px !important;height:26px !important;padding:0 8px !important;border:1px solid #CFE3F3 !important;border-radius:0 !important;font-size:12px !important;color:#3D454E !important;background:#F2F8FE !important}

/* ---- お問い合わせ（parts210 / parts213） --------------------- */
.parts210_section_content{background:#FFFFFF !important;padding:56px 0 8px !important}
.parts210_content_wrap{max-width:1240px !important;margin:0 auto !important;padding:0 20px !important}
.parts210_content h2{margin:0 0 24px !important;padding-left:16px !important;border-left:5px solid #EB1919 !important;font-family:'Zen Kaku Gothic New',sans-serif !important;font-weight:900 !important;font-size:clamp(23px,5.6vw,36px) !important;line-height:1.45 !important;color:#14181D !important}
.parts210_content p{margin:0 0 16px !important;font-size:16px !important;line-height:1.9 !important}
.parts210_content ul{margin:0 0 20px !important;padding:0 !important;list-style:none !important;display:grid !important;grid-template-columns:1fr !important;gap:8px !important}
@media (min-width:768px){.parts210_content ul{grid-template-columns:repeat(2,minmax(0,1fr)) !important}}
.parts210_content li{padding:14px 18px !important;background:#F2F8FE !important;border-radius:0 !important;font-size:15px !important;line-height:1.8 !important}
.parts210_content .parts210_tel{padding:16px 20px !important;background:#E2F0FC !important;border-radius:0 !important;font-weight:700 !important}
.parts210_content .parts210_lead{padding:20px 22px !important;background:#F2F8FE !important;border-left:5px solid #009DF7 !important;border-radius:0 !important;font-family:'Zen Kaku Gothic New',sans-serif !important;font-weight:700 !important;font-size:17px !important;line-height:1.85 !important}
.contact_section{background:#FFFFFF !important;padding:24px 0 72px !important;border:0 !important;box-shadow:none !important}
.parts213_section_form{max-width:840px !important;margin:0 auto !important;padding:0 20px !important;background:transparent !important;border:0 !important;border-radius:0 !important;box-shadow:none !important}
.parts213_form_wrap{background:transparent !important;border:0 !important;border-radius:0 !important;box-shadow:none !important;padding:0 !important}
.parts213_form_wrap form{display:block !important}
.parts213_form_wrap dl{display:block !important;margin:0 0 28px !important;padding:0 !important;border:0 !important}
.parts213_form_wrap dt{display:flex !important;align-items:center !important;flex-wrap:wrap !important;gap:10px !important;margin:0 0 8px !important;padding:0 !important;font-family:'Zen Kaku Gothic New',sans-serif !important;font-weight:700 !important;font-size:16px !important;color:#14181D !important}
.parts213_form_wrap dt .required{flex:none !important;display:inline-flex !important;align-items:center !important;height:22px !important;padding:0 10px !important;background:#EB1919 !important;color:#FFFFFF !important;font-size:12px !important;font-weight:700 !important;border-radius:0 !important}
.parts213_form_wrap dt .attention{display:block !important;width:100% !important;margin-top:4px !important;color:#EB1919 !important;font-size:13px !important;font-weight:400 !important;line-height:1.7 !important}
.parts213_form_wrap dd{margin:0 !important;padding:0 !important}
.parts213_form_wrap input,.parts213_form_wrap textarea,.parts213_form_wrap select{box-sizing:border-box !important;max-width:100% !important}
.parts213_form_wrap input[type="text"],.parts213_form_wrap input[type="email"],.parts213_form_wrap input[type="tel"],.parts213_form_wrap input[type="number"],.parts213_form_wrap input[type="url"],.parts213_form_wrap textarea{width:100% !important;box-sizing:border-box !important;min-height:52px !important;padding:12px 14px !important;background:#FFFFFF !important;border:1px solid #8FB8D4 !important;border-radius:0 !important;font-family:'Noto Sans JP',sans-serif !important;font-size:16px !important;line-height:1.8 !important;color:#14181D !important;box-shadow:none !important}
.parts213_form_wrap textarea{min-height:200px !important;resize:vertical !important}
.parts213_form_wrap input:focus,.parts213_form_wrap textarea:focus{outline:3px solid #EB1919 !important;outline-offset:1px !important;border-color:#0072BC !important}
.parts213_form_wrap dd label{display:flex !important;align-items:center !important;gap:10px !important;min-height:48px !important;padding:4px 0 !important;font-size:16px !important;cursor:pointer !important}
.parts213_form_wrap dd input[type="checkbox"]{width:22px !important;height:22px !important;flex:none !important;accent-color:#0072BC !important}
.parts213_form_wrap .error{margin:6px 0 0 !important;color:#EB1919 !important;font-size:14px !important}
.parts213_form_wrap .error:empty{display:none !important}
.contact_submit{margin:36px 0 0 !important;padding:0 !important;display:flex !important;flex-wrap:wrap !important;justify-content:center !important;gap:12px !important;text-align:center !important;background:transparent !important}
.contact_submit input[type="submit"]{width:100% !important;max-width:420px !important;min-height:64px !important;padding:0 40px !important;background:#EB1919 !important;color:#FFFFFF !important;border:0 !important;border-radius:0 !important;font-family:'Zen Kaku Gothic New',sans-serif !important;font-weight:700 !important;font-size:19px !important;cursor:pointer !important}
.contact_submit input[type="submit"]:hover{background:#C41111 !important}

/* ---- 応募フォーム（parts219） ------------------------------- */
/* ★受領には「任意」バッジ（疑似要素の content）があったが、CueZillaの追加CSS欄は
     content を落とすため再現できない（R-27）。必須項目の赤いバッジは残るので、
     任意項目は「バッジが無い」ことで見分ける形にした。 */
.parts219_section_form{max-width:840px !important;margin:0 auto !important;padding:0 20px !important;background:transparent !important;border:0 !important;border-radius:0 !important;box-shadow:none !important}
.parts219_form_wrap{background:#FFFFFF !important;border:1px solid #CFE3F3 !important;border-radius:0 !important;box-shadow:none !important;padding:clamp(24px,4vw,44px) !important}
.parts219_form_wrap dl{display:block !important;margin:0 !important;padding:22px 0 !important;border:0 !important;border-bottom:1px solid #E8F1F9 !important}
.parts219_form_wrap dl:first-of-type{padding-top:0 !important}
.parts219_form_wrap dt{display:flex !important;align-items:flex-start !important;flex-wrap:wrap !important;gap:10px !important;margin:0 0 8px !important;padding:0 !important;font-family:'Zen Kaku Gothic New',sans-serif !important;font-weight:700 !important;font-size:16px !important;color:#14181D !important}
.parts219_form_wrap .form_radio .radio_row{display:flex !important;flex-wrap:wrap !important;gap:10px 20px !important}
.parts219_form_wrap .form_radio .radio_row label{display:inline-flex !important;align-items:center !important;gap:8px !important;min-height:44px !important;padding:0 16px !important;border:1px solid #8FB8D4 !important;font-size:16px !important;cursor:pointer !important}
.parts219_form_wrap .form_radio .radio_row label:hover{border-color:#0072BC !important;background:#F7FBFE !important}
.parts219_form_wrap .form_radio input[type="radio"],.parts219_form_wrap .form_radio input[type="checkbox"]{width:20px !important;height:20px !important;accent-color:#0072BC !important;margin:0 !important}
.parts219_form_wrap dt .required{flex:none !important;display:inline-flex !important;align-items:center !important;align-self:flex-start !important;height:22px !important;margin-top:4px !important;padding:0 10px !important;background:#EB1919 !important;color:#FFFFFF !important;font-size:12px !important;font-weight:700 !important;border-radius:0 !important}
.parts219_form_wrap dt > span:has(.attention){display:contents !important}
.parts219_form_wrap dt .attention{display:block !important;flex:1 0 100% !important;order:9 !important;width:100% !important;margin-top:4px !important;color:#EB1919 !important;font-size:13px !important;font-weight:400 !important;line-height:1.7 !important}
.parts219_form_wrap dd{margin:0 !important;padding:0 !important}
.parts219_form_wrap input,.parts219_form_wrap textarea,.parts219_form_wrap select{box-sizing:border-box !important;max-width:100% !important}
.parts219_form_wrap input[type="text"],.parts219_form_wrap input[type="email"],.parts219_form_wrap input[type="tel"],.parts219_form_wrap input[type="number"],.parts219_form_wrap input[type="url"],.parts219_form_wrap textarea{width:100% !important;box-sizing:border-box !important;min-height:52px !important;padding:12px 14px !important;background:#FFFFFF !important;border:1px solid #8FB8D4 !important;border-radius:0 !important;font-family:'Noto Sans JP',sans-serif !important;font-size:16px !important;line-height:1.8 !important;color:#14181D !important;box-shadow:none !important}
.parts219_form_wrap textarea{min-height:180px !important;resize:vertical !important}
.parts219_form_wrap input:focus,.parts219_form_wrap textarea:focus{outline:3px solid #EB1919 !important;outline-offset:1px !important;border-color:#0072BC !important}
.parts219_form_wrap .form_address .zip_row{display:flex !important;align-items:center !important;gap:8px !important;margin:0 0 10px !important;font-size:16px !important}
.parts219_form_wrap .form_address input.zip{width:180px !important;max-width:60% !important}
.parts219_form_wrap input[type="file"]{display:block !important;width:100% !important;min-height:52px !important;padding:12px 14px !important;background:#FFFFFF !important;border:1px dashed #8FB8D4 !important;border-radius:0 !important;font-family:'Noto Sans JP',sans-serif !important;font-size:15px !important;color:#14181D !important}
.parts219_form_wrap .error{margin:6px 0 0 !important;color:#EB1919 !important;font-size:14px !important}
.parts219_form_wrap .error:empty{display:none !important}


/* ===== 30_override.css ===== */
/* ============================================================
   O00012 翔組 — 案件の上書き（override）
   cuezilla-skin.css は同梱しない。
     理由: 受領デザインが CueZillaパーツ（design-parts-52 / parts131415 /
     parts222 / parts210・213 / parts219）を自前CSSで全部 style 済みで、
     skin の !important が受領デザインを上書きして逆に崩すため
     （判断基準: .claude/skills/cz-judgment/SKILL.md §3 の「自前完結型＝skin不採用」）。
   そのぶん、受領CSSが触れていない動的ページ（施工実績一覧・送信完了・404）と、
   テーマ（Bootstrap）由来の地ならしを、ここで最小限だけ受け持つ。

   ★この中の動的ページ向けの記述は「投入前の先回り」であって実測ではない。
     投入後に実機で harvestEW() を流し、採番と実DOMに合わせて詰め直すこと（R-28）。
   ============================================================ */

/* ------------------------------------------------------------
   1. テーマ（Bootstrap）との衝突の地ならし（R-20）
   ------------------------------------------------------------ */
mark, .mark{ background-color:transparent !important; color:inherit !important; padding:0 !important; border-radius:0 !important; }

/* ------------------------------------------------------------
   2. 施工実績一覧（parts228系）
      受領デザインにはこのパーツの見た目指定が無い（静的な一覧テーブルで表現していた）。
      ブログ一覧（parts222）と同じ語彙に合わせる。番号非依存のセレクタで書く。
   ------------------------------------------------------------ */
[class*="parts"][class*="228_section"]{ background:#FFFFFF !important; padding:8px 0 72px !important; }
[class*="_post_list"]{ display:grid !important; grid-template-columns:1fr !important; gap:20px !important; }
@media (min-width:576px){ [class*="_post_list"]{ grid-template-columns:repeat(2,minmax(0,1fr)) !important; } }
@media (min-width:992px){ [class*="228_post_list"]{ grid-template-columns:repeat(3,minmax(0,1fr)) !important; } }
/* CueZillaの既定は カード・サイドバー・チップに max-width:28〜48% を付けてくる（幅が1/3に潰れる） */
[class*="_post_wrap"], [class*="_post_category"], [class*="_sidebar"], [class*="_tag"]{ max-width:none !important; }
[class*="228_post_wrap"]{ display:flex !important; flex-direction:column !important; background:#FFFFFF !important; border:1px solid #CFE3F3 !important; border-radius:0 !important; overflow:hidden !important; text-decoration:none !important; color:#14181D !important; }
[class*="228_post_wrap"]:hover{ border-color:#009DF7 !important; color:#0072BC !important; }
[class*="228_post_img"]{ height:200px !important; background:#E2F0FC !important; overflow:hidden !important; }
[class*="228_post_img"] img{ width:100% !important; height:100% !important; object-fit:cover !important; display:block !important; }
[class*="228_post_status"]{ display:flex !important; align-items:center !important; gap:10px !important; padding:14px 18px 0 !important; }
[class*="228_post_date"]{ font-size:13px !important; color:#3D454E !important; letter-spacing:.06em !important; }
[class*="228_post_category"]{ display:inline-block !important; padding:3px 11px !important; background:#FFFFFF !important; border:1px solid #0072BC !important; color:#0072BC !important; border-radius:0 !important; font-size:12px !important; font-weight:500 !important; line-height:1.7 !important; }
[class*="228_post_title-excerpt"]{ padding:8px 18px 20px !important; }
[class*="228_post_title"]{ margin:0 !important; font-family:'Zen Kaku Gothic New',sans-serif !important; font-weight:700 !important; font-size:17px !important; line-height:1.7 !important; }
[class*="228_post_excerpt"]{ display:none !important; }
[class*="228_wrap"]{ max-width:1240px !important; margin:0 auto !important; padding:0 20px !important; }
[class*="228_pagenation"]{ display:flex !important; flex-wrap:wrap !important; align-items:center !important; justify-content:center !important; gap:8px !important; margin:36px 0 0 !important; padding:0 !important; list-style:none !important; }
[class*="228_pagenation"] .pagination_prev, [class*="228_pagenation"] .pagination_next,
[class*="228_pagenation"] .page-item, [class*="228_pagenation"] .pagination_num{ display:flex !important; align-items:center !important; justify-content:center !important; min-width:48px !important; min-height:48px !important; padding:0 14px !important; border:1px solid #CFE3F3 !important; border-radius:0 !important; font-size:14px !important; color:#0072BC !important; background:#FFFFFF !important; }
[class*="228_pagenation"] .pagination_num.current{ background:#0072BC !important; border-color:#0072BC !important; color:#FFFFFF !important; font-weight:700 !important; }
/* 一覧の上にCueZillaが自動で出す大見出しは、下層ヘッダーの見出しと二重になるので消す */
[class*="parts"][class*="228_section"] > h2{ display:none !important; }
/* UA既定の左padding（list-style を消した ul が右にずれる） */
[class*="228_"] ul[style*="list-style"], [class*="228_"] ul.list-unstyled{ padding-left:0 !important; }

/* ------------------------------------------------------------
   3. 施工実績・ブログの詳細ページ
   ------------------------------------------------------------ */
[class*="parts-blog-ex-single-wrap"], [class*="parts-blog-single-wrap"]{ max-width:900px !important; margin:0 auto !important; padding:48px 20px 72px !important; }
[class*="parts-blog-ex-single-wrap"] img, [class*="parts-blog-single-wrap"] img{ max-width:100% !important; height:auto !important; }

/* ------------------------------------------------------------
   4. 送信完了（/form/complete/…）と 404（/not-found-page）
      CueZillaが描く固定ページ。受領デザインに存在しないため最小限だけ整える。
      固定ヘッダーぶんは body の padding-top で確保済み（R-18）。
   ------------------------------------------------------------ */
.thanks, .notfound, .not-found{ max-width:840px !important; margin:0 auto !important; padding:72px 20px 96px !important; text-align:center !important; }
.thanks h1, .thanks h2, .notfound h1, .not-found h1{ font-family:'Zen Kaku Gothic New',sans-serif !important; font-weight:900 !important; color:#14181D !important; }
.thanks a, .notfound a, .not-found a{ color:#0072BC !important; }

/* ------------------------------------------------------------
   5. タップ領域の下限（R-19 軸②）
      CMSが描くページ送り・カテゴリ・タグは既定が小さいことがある。
   ------------------------------------------------------------ */
[class*="_pagenation"] a, [class*="_pagenation"] span,
[class*="_sidebar"] li a{ min-height:44px !important; }