/* ===== add.css ===== */
/* === add.css 貼り付け ここから === */
/* 株式会社One'z サイト共通 動的セクション用スタイル
   ・Cuezilla の実在クラスを狙い、HTMLは作り直さず見た目のみ差し替える
   ・固有IDサフィックスに依存しないよう [class*="..."] を併用
   ・theme_default.css に勝つよう必要箇所に !important
   ・カラー：メイン #1f7ec2 / 濃紺 #16548c / 淡青 #eaf4fb（サイト本体トンマナ）

   収録：① TOP 新着情報帯（parts52系） ② TOP 記事カード（parts131415_blog系）
        ③ 施工実績（parts228系） ④ ブログ（parts222系）
        ⑤ お問い合わせ（parts210系＋parts213系） ⑥ 応募フォーム（parts219系）
*/

:root{
  --oz-main:#1f7ec2;
  --oz-deep:#16548c;
  --oz-ink:#33434d;
  --oz-line:#e2ecf3;
  --oz-pale:#eaf4fb;
}

/* ============================================================
   ① TOP 新着情報帯 ＝ design-parts-52 系（横1行帯型）
   ============================================================ */
[class*="design-parts-52"].bg-color,
section[class*="design-parts-52"]{
  background:#191b49 !important;   /* 元パーツ #dddddd を上書き */
}
[class*="design-parts-52"] .container{
  max-width:1200px;margin-inline:auto;padding-inline:24px;
}
[class*="design-parts-52"] .content{
  display:flex;flex-direction:column;align-items:stretch;gap:0;
}
/* NEWS ラベル：見本(3_DESIGNER修正後/index.html)に合わせ箱なし＝帯の紺#191b49に馴染ませる（旧: 黒#111111の箱は見本と相違） */
[class*="design-parts-52"] .banner-area{
  background:transparent !important;color:#fff !important;
  display:flex;align-items:center;justify-content:center;
  font-weight:700;letter-spacing:.12em;margin:0;
  padding:14px 20px;min-height:60px;
}
[class*="design-parts-52"] ul{list-style:none;margin:0;padding:0;}
[class*="design-parts-52"] li{border-bottom:1px solid rgba(255,255,255,.14);}
[class*="design-parts-52"] li:last-child{border-bottom:0;}
[class*="design-parts-52"] li > a{
  display:flex;flex-direction:column;gap:4px;
  min-height:60px;justify-content:center;
  padding:14px 20px;text-decoration:none;color:#fff !important; /* !important必須: 紺帯上でCueZillaテーマの暗色(#33434d)に負けて読めなくなるため */
}
[class*="design-parts-52"] .parts-52-textarea{display:flex;flex-direction:column;gap:4px;}
[class*="design-parts-52"] .date{color:rgba(255,255,255,.72) !important;font-weight:600;font-size:.85rem;letter-spacing:.04em;} /* !important必須: テーマ暗色対策 */
[class*="design-parts-52"] .d-inline-block{color:#fff !important;font-size:.95rem;line-height:1.5;} /* !important必須: テーマ暗色対策 */

/* PC（≥992px）：NEWSラベル左・記事右の横1行 */
@media (min-width:992px){
  [class*="design-parts-52"] .content{
    flex-direction:row;align-items:center;   /* stretch にしない＝ラベルが行数分に伸びない */
  }
  [class*="design-parts-52"] .banner-area{
    flex:0 0 180px;height:60px;min-height:60px;
  }
  [class*="design-parts-52"] ul{flex:1 1 auto;}
  [class*="design-parts-52"] li > a{
    flex-direction:row;align-items:center;gap:28px;min-height:60px;padding:0 24px;
  }
  [class*="design-parts-52"] .parts-52-textarea{flex-direction:row;align-items:center;gap:28px;}
  [class*="design-parts-52"] .date{flex:0 0 auto;}
}

/* ============================================================
   ② TOP 記事カード ＝ parts131415_blog 系（3列カードグリッド／ブログ）
   ============================================================ */
section[class*="parts131415_blog"].bg-img,
section[class*="parts131415_blog"]{
  /* 元サイト固有の背景画像URLを上書き＝ブランドの青ベタに */
  background:linear-gradient(180deg,#1f7ec2 0%,#1b72b2 100%) !important;
  padding:72px 0 96px;
}
[class*="parts131415_blog"] .container-lg{
  max-width:1200px;margin-inline:auto;padding-inline:24px;
}
[class*="parts131415_blog"] .parts131415_blog_title_wrap{
  margin-bottom:32px;
}
[class*="parts131415_blog"] .parts131415_blog_title_wrap h2{
  color:#fff !important;   /* 青地に白 */
  font-family:"Noto Sans JP",sans-serif;font-weight:800;
  font-size:clamp(1.8rem,3vw,2.6rem);letter-spacing:.04em;margin:0;
}
[class*="parts131415_blog"] .parts131415_blog_title_wrap p{
  color:rgba(255,255,255,.85);margin:6px 0 0;font-size:.95rem;
}
/* グリッド：CMS 出力の row-cols-*（PC3列/タブ2列/SP1列）に合わせる。
   Bootstrap 非依存でも同挙動になるよう grid を明示する。 */
[class*="parts131415_blog"] .row{
  --bs-gutter-x:1.5rem;--bs-gutter-y:1.5rem;
  display:grid;grid-template-columns:1fr;gap:24px;
}
@media (min-width:576px){[class*="parts131415_blog"] .row{grid-template-columns:1fr 1fr;}}
@media (min-width:992px){[class*="parts131415_blog"] .row{grid-template-columns:1fr 1fr 1fr;}}
[class*="parts131415_blog"] .col{min-width:0;}
/* KEEP: カード潰れ解除。Bootstrapの .row-cols-lg-3>*{width:33.33%} が add.css のグリッド化した .row のトラック(1fr)内で再び33%に縮み、カラムが128pxに潰れる。width:autoでトラック幅に従わせる。消すとカードが縦棒に潰れる */
[class*="parts131415_blog"] .row > .col{width:auto !important;}
/* /KEEP */
[class*="parts131415_blog"] .card{
  background:#fff !important;border:0 !important;border-radius:6px !important;
  overflow:hidden;height:100%;box-shadow:0 10px 30px rgba(0,0,0,.10);
}
[class*="parts131415_blog"] .card-body{
  display:flex;flex-direction:column;padding:22px 22px 24px;gap:12px;
}
/* カード内表示順は実パーツ準拠（h5.card-title → p.card-text → 写真）＝並べ替えない */
[class*="parts131415_blog"] .card-title{
  order:1;color:var(--oz-main) !important;font-size:.8rem;font-weight:700 !important;
  letter-spacing:.06em;text-align:center;margin:0;
  padding:6px 12px;border:1px solid #cfe3f4;border-radius:999px;align-self:center;
}
[class*="parts131415_blog"] .card-body > a{
  order:2;display:flex;flex-direction:column;gap:14px;text-decoration:none;
}
[class*="parts131415_blog"] .card-text{
  color:var(--oz-ink) !important;font-weight:700 !important;
  font-size:1rem;line-height:1.6;margin:0;
}
[class*="parts131415_blog"] .parts131415_blog_thumbnail{
  width:100%;height:240px;overflow:hidden;border-radius:4px;background:#eef2f5;
}
[class*="parts131415_blog"] .parts131415_blog_thumbnail img{
  width:100%;height:100%;object-fit:cover;display:block;
}
@media (max-width:991px){
  [class*="parts131415_blog"] .parts131415_blog_thumbnail{height:215px;}
}
@media (max-width:575px){
  [class*="parts131415_blog"] .parts131415_blog_thumbnail{height:205px;}
}

/* ============================================================
   ③ 施工実績ページ ＝ parts228 系（一覧〜ページネーション）
   グリッド：PC3列／タブ2列／SP1列。下はすぐフッター。
   ============================================================ */
.parts228_section{background:#fff !important;padding:70px 0 96px !important;}
.parts228_wrap{max-width:1200px !important;margin-inline:auto !important;padding-inline:24px !important;}
.parts228_main{width:100% !important;}
.parts228_post_list{display:grid !important;grid-template-columns:1fr !important;gap:32px 26px !important;list-style:none !important;margin:0 !important;padding:0 !important;}
@media (min-width:576px){.parts228_post_list{grid-template-columns:1fr 1fr !important;}}
@media (min-width:992px){.parts228_post_list{grid-template-columns:1fr 1fr 1fr !important;}}
.parts228_post_wrap{min-width:0 !important;background:#fff !important;border:1px solid var(--oz-line) !important;border-radius:12px !important;overflow:hidden !important;display:flex !important;flex-direction:column !important;}
.parts228_post_img{margin:0 !important;height:230px !important;overflow:hidden !important;background:#eef2f5 !important;}
.parts228_post_img a{display:block !important;width:100% !important;height:100% !important;}
.parts228_post_img img{width:100% !important;height:100% !important;object-fit:cover !important;display:block !important;}
.parts228_post_status{display:flex !important;align-items:center !important;gap:12px !important;padding:18px 20px 0 !important;margin:0 !important;}
.parts228_post_date{color:var(--oz-main) !important;font-weight:600 !important;font-size:.84rem !important;letter-spacing:.04em !important;}
.parts228_post_title-excerpt{padding:10px 20px 0 !important;margin:0 !important;flex:1 1 auto !important;}
.parts228_post_title{color:var(--oz-deep) !important;font-weight:700 !important;font-size:1.05rem !important;line-height:1.6 !important;margin:0 !important;}
.parts228_post_title a{color:var(--oz-deep) !important;text-decoration:none !important;}
/* 抜粋は既定でコメントアウト。CMS側で抜粋を有効化した場合に効く */
.parts228_post_excerpt{color:#5a6b75 !important;font-size:.92rem !important;margin:10px 0 0 !important;}
.parts-blog-ex-tag_wrap{display:flex !important;flex-wrap:wrap !important;gap:8px !important;padding:16px 20px 20px !important;margin:0 !important;list-style:none !important;}
.parts-blog-ex_tag{background:var(--oz-pale) !important;color:var(--oz-main) !important;border-radius:999px !important;padding:5px 14px !important;font-size:.78rem !important;font-weight:700 !important;text-decoration:none !important;}
.parts228_pagenation{display:flex !important;flex-wrap:wrap !important;justify-content:center !important;align-items:center !important;gap:8px !important;list-style:none !important;margin:52px 0 0 !important;padding:0 !important;}
.parts228_pagenation a,.parts228_pagenation span{display:inline-flex !important;align-items:center !important;justify-content:center !important;min-width:44px !important;min-height:44px !important;padding:0 12px !important;border:1px solid #cfe3f4 !important;border-radius:6px !important;color:var(--oz-main) !important;font-weight:700 !important;font-size:.9rem !important;text-decoration:none !important;background:#fff !important;}
.parts228_pagenation .pagination_num.current a,.parts228_pagenation .pagination_num.current span{background:var(--oz-main) !important;color:#fff !important;border-color:var(--oz-main) !important;}

/* ============================================================
   ③-2 ブログカテゴリページ ＝ parts225 系（一覧〜ページネーション／サイドバー無し）
   theme既定は .parts225_wrap が max-width:768px・グリッド2列固定で、幅もサムネも
   他ページと不揃いになる（.parts225_main に width:100% を足しても wrap が頭打ちで無効）。
   → wrap の幅とグリッドを parts228 と同じ整形に揃える。
   ============================================================ */
.parts225_section{background:#fff !important;padding:70px 0 96px !important;}
.parts225_wrap{max-width:1200px !important;margin-inline:auto !important;padding-inline:24px !important;width:auto !important;}
.parts225_main{min-width:0 !important;} /* width:100%は外す（ユーザー判断：外した方がサムネが全見えになるため） */
.parts225_post_list{display:grid !important;grid-template-columns:1fr !important;gap:32px 26px !important;list-style:none !important;margin:0 !important;padding:0 !important;}
@media (min-width:576px){.parts225_post_list{grid-template-columns:1fr 1fr !important;}}
@media (min-width:992px){.parts225_post_list{grid-template-columns:1fr 1fr 1fr !important;}}
.parts225_post_wrap{min-width:0 !important;background:#fff !important;border:1px solid var(--oz-line) !important;border-radius:12px !important;overflow:hidden !important;display:flex !important;flex-direction:column !important;}
.parts225_post_img{margin:0 !important;height:230px !important;overflow:hidden !important;background:#eef2f5 !important;}
.parts225_post_img a{display:block !important;width:100% !important;height:100% !important;}
.parts225_post_img img{width:100% !important;height:100% !important;object-fit:cover !important;display:block !important;}
.parts225_post_status{display:flex !important;align-items:center !important;gap:12px !important;padding:18px 20px 0 !important;margin:0 !important;}
.parts225_post_date{color:var(--oz-main) !important;font-weight:600 !important;font-size:.84rem !important;letter-spacing:.04em !important;}
.parts225_post_category{color:#5a6b75 !important;font-size:.78rem !important;font-weight:700 !important;border:1px solid #cfe3f4 !important;border-radius:999px !important;padding:3px 12px !important;}
.parts225_post_title-excerpt{padding:10px 20px 22px !important;margin:0 !important;flex:1 1 auto !important;}
.parts225_post_title{color:var(--oz-deep) !important;font-weight:700 !important;font-size:1.05rem !important;line-height:1.6 !important;margin:0 !important;}
.parts225_pagenation{display:flex !important;flex-wrap:wrap !important;justify-content:center !important;align-items:center !important;gap:8px !important;list-style:none !important;margin:48px 0 0 !important;padding:0 !important;}
.parts225_pagenation a,.parts225_pagenation span{display:inline-flex !important;align-items:center !important;justify-content:center !important;min-width:44px !important;min-height:44px !important;padding:0 12px !important;border:1px solid #cfe3f4 !important;border-radius:6px !important;color:var(--oz-main) !important;font-weight:700 !important;font-size:.9rem !important;text-decoration:none !important;background:#fff !important;}
.parts225_pagenation .pagination_num.current a,.parts225_pagenation .pagination_num.current span{background:var(--oz-main) !important;color:#fff !important;border-color:var(--oz-main) !important;}

/* ============================================================
   ④ ブログページ ＝ parts222 系（一覧〜ページネーション＋サイドバー）
   一覧グリッド：PC2列／タブ2列／SP1列。PCは右サイドバー固定幅。
   ★サイドバーの色はテーマ任せ（構造スタイルのみ／固定色を当てない）
   ============================================================ */
.parts222_section{padding:70px 0 96px !important;}
.parts222_section > h2{max-width:1200px !important;margin:0 auto 34px !important;padding-inline:24px !important;font-family:"Noto Serif JP",serif !important;font-weight:600 !important;font-size:clamp(1.7rem,3.6vw,2.3rem) !important;letter-spacing:.06em !important;}
.parts222_wrap{max-width:1200px !important;margin-inline:auto !important;padding-inline:24px !important;display:grid !important;grid-template-columns:1fr !important;gap:48px 40px !important;align-items:start !important;}
@media (min-width:992px){.parts222_wrap{grid-template-columns:minmax(0,1fr) 300px !important;}}
.parts222_main{min-width:0 !important;}
.parts222_post_list{display:grid !important;grid-template-columns:1fr !important;gap:28px 26px !important;list-style:none !important;margin:0 !important;padding:0 !important;}
@media (min-width:576px){.parts222_post_list{grid-template-columns:1fr 1fr !important;}}
.parts222_post_wrap{min-width:0 !important;display:flex !important;flex-direction:column !important;border:1px solid var(--oz-line) !important;border-radius:12px !important;overflow:hidden !important;text-decoration:none !important;background:#fff !important;}
.parts222_post_img{margin:0 !important;height:220px !important;overflow:hidden !important;background:#eef2f5 !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:12px !important;padding:18px 20px 0 !important;margin:0 !important;}
.parts222_post_date{color:var(--oz-main) !important;font-weight:600 !important;font-size:.84rem !important;letter-spacing:.04em !important;}
.parts222_post_category{color:#5a6b75 !important;font-size:.78rem !important;font-weight:700 !important;border:1px solid #cfe3f4 !important;border-radius:999px !important;padding:3px 12px !important;}
.parts222_post_title-excerpt{padding:10px 20px 22px !important;margin:0 !important;flex:1 1 auto !important;}
.parts222_post_title{color:var(--oz-deep) !important;font-weight:700 !important;font-size:1.05rem !important;line-height:1.6 !important;margin:0 !important;}
.parts222_pagenation{display:flex !important;flex-wrap:wrap !important;justify-content:center !important;align-items:center !important;gap:8px !important;list-style:none !important;margin:48px 0 0 !important;padding:0 !important;}
.parts222_pagenation a,.parts222_pagenation span{display:inline-flex !important;align-items:center !important;justify-content:center !important;min-width:44px !important;min-height:44px !important;padding:0 12px !important;border:1px solid #cfe3f4 !important;border-radius:6px !important;color:var(--oz-main) !important;font-weight:700 !important;font-size:.9rem !important;text-decoration:none !important;background:#fff !important;}
.parts222_pagenation .pagination_num.current a,.parts222_pagenation .pagination_num.current span{background:var(--oz-main) !important;color:#fff !important;border-color:var(--oz-main) !important;}
/* サイドバー：構造のみ（色は currentColor＝テーマ任せ） */
.parts222_sidebar{min-width:0 !important;display:flex !important;flex-direction:column !important;gap:32px !important;}
.parts222_sidebar_wrap > h3{margin:0 0 4px !important;padding:12px 16px !important;font-size:.95rem !important;font-weight:700 !important;letter-spacing:.06em !important;border-bottom:2px solid currentColor !important;}
.parts222_sidebar_wrap > ul{list-style:none !important;margin:0 !important;padding:0 !important;}
.parts222_sidebar_wrap li{border-bottom:1px solid var(--oz-line) !important;}
.parts222_sidebar_wrap li a{display:flex !important;flex-direction:column !important;gap:4px !important;padding:14px 16px !important;text-decoration:none !important;min-height:44px !important;justify-content:center !important;}
.parts222_sidebar_date{font-size:.8rem !important;font-weight:600 !important;letter-spacing:.04em !important;}
.parts222_sidebar_post_title{margin:0 !important;font-size:.92rem !important;line-height:1.6 !important;}
.parts222_sidebar_wrap.category_post_count li a{flex-direction:row !important;align-items:center !important;justify-content:space-between !important;gap:12px !important;}
.parts222_sidebar_post_category{margin:0 !important;font-size:.92rem !important;}
.parts222_sidebar_post_category_count{flex:0 0 auto !important;min-width:30px !important;text-align:center !important;border:1px solid currentColor !important;border-radius:4px !important;font-size:.76rem !important;font-weight:700 !important;padding:1px 6px !important;}

/* ============================================================
   ⑤ お問い合わせページ ＝ parts210 系（導入文）＋ parts213 系（フォーム）
   ============================================================ */
.parts210_section_content{background:#fff !important;padding:64px 0 8px !important;}
.parts210_content_wrap{max-width:860px !important;margin-inline:auto !important;padding-inline:24px !important;}
.parts210_content{color:#455662 !important;font-size:1.02rem !important;line-height:1.9 !important;margin:0 !important;}

/* フォーム共通の囲み（お問い合わせ・応募 とも section.contact_section） */
.contact_section{background:#fff !important;padding:48px 0 96px !important;}

/* --- parts213（お問い合わせ）：装飾枠を足さないフラットデザイン --- */
.parts213_section_form{max-width:860px !important;margin-inline:auto !important;padding-inline:24px !important;}
.parts213_form_wrap{background:transparent !important;border:0 !important;border-radius:0 !important;box-shadow:none !important;padding:0 !important;}
.parts213_form_wrap dl{display:block !important;margin:0 0 26px !important;}
.parts213_form_wrap dt{display:flex !important;align-items:baseline !important;gap:10px !important;flex-wrap:wrap !important;margin:0 0 8px !important;color:var(--oz-deep) !important;font-weight:700 !important;font-size:.95rem !important;}
.parts213_form_wrap dd{margin:0 !important;}
.parts213_form_wrap .required{background:transparent !important;padding:0 !important;color:#c0392b !important;font-size:.76rem !important;font-weight:700 !important;}
.parts213_form_wrap .attention{display:block !important;color:#c0392b !important;font-size:.78rem !important;font-weight:400 !important;line-height:1.7 !important;margin-top:2px !important;}
.parts213_form_wrap input[type="text"],
.parts213_form_wrap input[type="email"],
.parts213_form_wrap input[type="tel"],
.parts213_form_wrap textarea{width:100% !important;font-family:inherit !important;font-size:1rem !important;color:var(--oz-ink) !important;background:#fff !important;border:1px solid #cfd9e1 !important;border-radius:0 !important;padding:12px 14px !important;min-height:48px !important;}
.parts213_form_wrap textarea{min-height:180px !important;line-height:1.8 !important;resize:vertical !important;}
.parts213_form_wrap input::placeholder,.parts213_form_wrap textarea::placeholder{color:#a9b7c2 !important;}
.parts213_form_wrap dd label{display:inline-flex !important;align-items:center !important;gap:8px !important;margin:0 20px 8px 0 !important;font-size:.95rem !important;min-height:44px !important;}
.parts213_form_wrap dd label input[type="checkbox"]{width:18px !important;height:18px !important;}
.parts213_form_wrap .error{color:#c0392b !important;font-size:.82rem !important;margin:6px 0 0 !important;}

/* ============================================================
   ⑥ 採用 応募フォーム ＝ parts219 系（履歴書・職務経歴書の添付欄あり）
   ============================================================ */
.parts219_section_form{max-width:860px !important;margin-inline:auto !important;padding-inline:24px !important;}
.parts219_form_wrap{background:transparent !important;border:0 !important;border-radius:0 !important;box-shadow:none !important;padding:0 !important;}
.parts219_form_wrap dl{display:block !important;margin:0 0 26px !important;}
.parts219_form_wrap dt{display:flex !important;align-items:baseline !important;gap:10px !important;flex-wrap:wrap !important;margin:0 0 8px !important;color:var(--oz-deep) !important;font-weight:700 !important;font-size:.95rem !important;}
.parts219_form_wrap dd{margin:0 !important;}
.parts219_form_wrap .required{background:transparent !important;padding:0 !important;color:#c0392b !important;font-size:.76rem !important;font-weight:700 !important;}
.parts219_form_wrap .attention{display:block !important;color:#c0392b !important;font-size:.78rem !important;font-weight:400 !important;line-height:1.7 !important;margin-top:2px !important;}
.parts219_form_wrap input[type="text"],
.parts219_form_wrap input[type="email"],
.parts219_form_wrap input[type="tel"],
.parts219_form_wrap textarea{width:100% !important;font-family:inherit !important;font-size:1rem !important;color:var(--oz-ink) !important;background:#fff !important;border:1px solid #cfd9e1 !important;border-radius:0 !important;padding:12px 14px !important;min-height:48px !important;}
.parts219_form_wrap textarea{min-height:170px !important;line-height:1.8 !important;resize:vertical !important;}
.parts219_form_wrap input::placeholder,.parts219_form_wrap textarea::placeholder{color:#a9b7c2 !important;}
.parts219_form_wrap input[type="file"]{font-family:inherit !important;font-size:.95rem !important;color:var(--oz-ink) !important;background:#fff !important;border:1px solid #cfd9e1 !important;border-radius:0 !important;padding:12px 14px !important;width:100% !important;min-height:48px !important;}
.parts219_form_wrap dl.form_address dd{display:flex !important;align-items:center !important;gap:10px !important;flex-wrap:wrap !important;font-size:1rem !important;}
.parts219_form_wrap dl.form_address dd input.zip{width:160px !important;flex:0 0 auto !important;margin:0 !important;}
.parts219_form_wrap dl.form_address dd input[name="address"]{flex:1 1 260px !important;margin:0 !important;}
@media (max-width:600px){.parts219_form_wrap dl.form_address dd{display:block !important;}.parts219_form_wrap dl.form_address dd input.zip{width:100% !important;margin:0 0 10px 0 !important;}.parts219_form_wrap dl.form_address dd input[name="address"]{width:100% !important;margin:0 !important;}}
.parts219_form_wrap .error{color:#c0392b !important;font-size:.82rem !important;margin:6px 0 0 !important;}

/* --- 送信ボタン（parts213 / parts219 共通・控えめな見た目） --- */
.contact_submit{margin:36px 0 0 !important;text-align:center !important;width:100% !important;}
.contact_submit input[type="submit"]{font-family:inherit !important;font-size:1rem !important;font-weight:700 !important;color:var(--oz-deep) !important;background:#fff !important;border:1px solid var(--oz-deep) !important;border-radius:0 !important;padding:14px 56px !important;min-height:48px !important;cursor:pointer !important;width:auto !important;display:inline-block !important;}
.contact_submit input[type="submit"]:hover{background:#f2f7fb !important;}
/* === add.css 貼り付け ここまで === */


/* ===== base.css ===== */
/* === base.css：One'z 共通の土台（リセット・ユーティリティ・アニメ・レスポンシブ・ヘッダー/フッター用クラス）
   ※ 動的パーツ装飾は add.css（parts系）に分離。ここには parts 系を含めない。 === */

*{box-sizing:border-box;}
body{margin:0;font-family:"Noto Sans JP",sans-serif;color:#33434d;background:#fff;-webkit-font-smoothing:antialiased;line-height:1.8;}
img{display:block;max-width:100%;}
a{color:#1f7ec2;text-decoration:none;}
a:hover{color:#16548c;}
h1,h2,h3,h4,h5{margin:0;font-weight:500;}
ul{margin:0;}
.mincho{font-family:"Noto Serif JP",serif;}

/* 汎用ラッパー・見出し小物 */
.tkz-wrap{max-width:1200px;margin-inline:auto;padding-inline:24px;}
.tkz-eyebrow{font-size:.8rem;letter-spacing:.22em;color:#2a86c6;font-weight:700;}
.oz-wrap{max-width:1000px;margin-inline:auto;padding-inline:24px;}
span.line-chunk{display:inline-block;overflow-wrap:anywhere;word-break:normal;}

/* インライン装飾ボタンのホバー浮き（Claude Design style-hover 相当の代替） */
a[style*="180, 216"],a[style*="1.5px solid"]{transition:transform .22s cubic-bezier(.2,.7,.3,1),box-shadow .22s ease;}
a[style*="180, 216"]:hover,a[style*="1.5px solid"]:hover{transform:translateY(-4px);box-shadow:0 12px 24px rgba(22,84,140,.22);}

/* ===== キーフレーム ===== */
@keyframes oz-rise{0%{transform:translateY(0) scale(1);opacity:0;}15%{opacity:.42;}70%{opacity:.3;}100%{transform:translateY(-160px) scale(1.15);opacity:0;}}
@keyframes oz-pop{0%{transform:scale(.35);opacity:0;}45%{transform:scale(1.45);opacity:1;}70%{transform:scale(.92);}85%{transform:scale(1.08);}100%{transform:scale(1);opacity:1;}}
@keyframes oz-char{from{opacity:0;transform:translateY(14px);}to{opacity:1;transform:translateY(0);}}
@keyframes oz-driftA{0%,100%{transform:translate(0,0);}50%{transform:translate(38px,-10px);}}
@keyframes oz-driftB{0%,100%{transform:translate(0,0);}50%{transform:translate(-44px,12px);}}
@keyframes oz-bob{0%,100%{transform:translateY(0);}50%{transform:translateY(-10px);}}
@keyframes oz-wipex{from{transform:scaleX(0);}to{transform:scaleX(1);}}
@keyframes oz-wipein{from{opacity:0;transform:translateY(6px);}to{opacity:1;transform:none;}}

/* 文字送り（.oz-c は JS が生成＝JS不動時は素の文字が見える＝安全） */
[data-oz-chars] .oz-c{display:inline-block;opacity:0;}
[data-oz-chars].oz-play .oz-c{animation:oz-char .5s cubic-bezier(.2,.7,.3,1) forwards;}
@media (prefers-reduced-motion:reduce){[data-oz-chars] .oz-c{opacity:1;animation:none;}}

/* ワイプ表示：★JS不動でも必ず見えるよう、既定は表示。.js（BODY内JSが付与）時のみ隠して演出 */
[data-oz-wipe]{position:relative;overflow:hidden;}
[data-oz-wipe]::before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#1f7ec2,#39b4d8);transform:scaleX(1);transform-origin:left center;}
[data-oz-wipe]>*{position:relative;opacity:1;}
.js [data-oz-wipe]:not(.oz-on)::before{transform:scaleX(0);}
.js [data-oz-wipe]:not(.oz-on)>*{opacity:0;}
.js [data-oz-wipe].oz-on::before{animation:oz-wipex .62s cubic-bezier(.65,0,.25,1) forwards;animation-delay:var(--ozd,0s);}
.js [data-oz-wipe].oz-on>*{animation:oz-wipein .45s ease forwards;animation-delay:calc(var(--ozd,0s) + .5s);}
@media (prefers-reduced-motion:reduce){[data-oz-wipe]::before{transform:scaleX(1);}[data-oz-wipe]>*{opacity:1;}}

/* ===== ヘッダー（oz-hd-*）＝デスクトップnav / ハンバーガー切替・ホバーサブメニュー ===== */
.oz-hd-desktop{display:none;flex-wrap:nowrap;}
.oz-hd-hamb{display:inline-flex;}
@media (min-width:1180px){ .oz-hd-desktop{display:flex;} .oz-hd-hamb{display:none;} }
.oz-hd-desktop a,.oz-hd-desktop div{white-space:nowrap;}
.oz-hassub{position:relative;}
.oz-sub{display:none;position:absolute;left:50%;top:100%;transform:translateX(-50%);padding-top:10px;z-index:60;}
.oz-hassub:hover .oz-sub,.oz-hassub:focus-within .oz-sub{display:block;}
.oz-sub a:hover{background:#eaf4fb;color:#1f7ec2;}

/* ===== フッター ===== */
.oz-ft-grid{grid-template-columns:1fr;}
@media (min-width:900px){ .oz-ft-grid{grid-template-columns:.9fr 2.3fr;} }

/* ===== 募集概要（job）テーブル行 ===== */
.oz-row{grid-template-columns:1fr;}
@media (min-width:720px){ .oz-row{grid-template-columns:200px 1fr;} }
.oz-thead{display:none;}
@media (min-width:720px){ .oz-thead{display:grid;grid-template-columns:200px 1fr;} }

/* ===== TOP レスポンシブ（tkz-*） ===== */
.tkz-hero{grid-template-columns:1fr;}
.tkz-contact{grid-template-columns:1fr;}
.tkz-recruit{grid-template-columns:1fr;}
.tkz-footer{grid-template-columns:1fr;}
@media (min-width:980px){ .tkz-hero{grid-template-columns:1fr 1.05fr;} }
@media (max-width:979px){
  .tkz-hero{min-height:0 !important;grid-template-rows:auto auto;gap:22px !important;padding-top:86px !important;padding-bottom:40px !important;align-items:start;}
  .tkz-hero-grid{order:1;height:auto !important;min-height:0 !important;grid-template-rows:auto auto auto !important;}
  .tkz-hero-grid>div[data-tile]{aspect-ratio:16/10;}
  .tkz-hero-grid>div[data-tile="el"]{aspect-ratio:21/9;}
  .tkz-hero-grid>div[data-tile="so"]{aspect-ratio:auto;height:100%;}
  .tkz-hero-copy{order:2;max-width:none !important;margin-left:0 !important;}
  .tkz-hero-copy h1{font-size:clamp(1.6rem,6.4vw,2.3rem) !important;margin-bottom:16px !important;}
  .tkz-hero-copy p:first-child{margin-bottom:12px !important;}
  .tkz-hero-copy>p:nth-of-type(2){font-size:.92rem !important;}
  .tkz-hero-copy a{margin-top:16px !important;padding:14px 34px !important;}
  .tkz-hero-grid{margin-right:0 !important;}
}
@media (max-width:640px){
  .tkz-hero{padding-top:78px !important;}
  .tkz-hero-grid{grid-template-columns:repeat(2,1fr) !important;grid-template-areas:'el el' 'so ac' 'cu ev' !important;gap:10px !important;}
  .tkz-hero-grid>div[data-tile="el"]{aspect-ratio:16/9;}
  .tkz-hero-grid>div[data-tile="so"]{aspect-ratio:16/10;height:auto;}
  .tkz-hero-grid span{font-size:.72rem !important;left:10px !important;bottom:8px !important;}
}
@media (max-width:860px){ .oz-vwatermark{display:none !important;} }
@media (min-width:860px){ .tkz-contact{grid-template-columns:1.25fr .9fr;} }
.tkz-contact>*{min-width:0;}
@media (max-width:640px){ .tkz-contact h2 span{white-space:normal !important;} }
@media (max-width:640px){ .tkz-contact a[href^="tel:"]{white-space:nowrap;font-size:clamp(1.15rem,6.4vw,1.6rem) !important;} }
@media (min-width:820px){ .tkz-recruit{grid-template-columns:.8fr 1.5fr;} }
@media (min-width:900px){ .tkz-footer{grid-template-columns:.9fr 2.3fr;} }


/* ===== 各固定ページ helmet 由来のページ固有クラス（union・dedup済み） ===== */
.oz-hist{grid-template-columns:1fr;}
@media (min-width:560px){ .oz-hist{grid-template-columns:140px 1fr;} }
.oz-values{grid-template-columns:1fr;}
@media (min-width:720px){ .oz-values{grid-template-columns:repeat(2,minmax(0,1fr));} }
.oz-valcard{grid-template-columns:1fr;}
@media (min-width:480px){ .oz-valcard{grid-template-columns:auto 1fr;align-items:start;} }
.oz-msg{grid-template-columns:1fr;}
.oz-msg{grid-template-columns:1fr;gap:22px !important;}
.oz-msg>div:last-child{text-align:right;}
.oz-name{grid-template-columns:1fr;}
@media (min-width:760px){ .oz-name{grid-template-columns:240px 1fr;gap:48px;} }
.oz-who{grid-template-columns:1fr;}
@media (min-width:860px){
    .oz-who{grid-template-columns:.72fr 1.28fr;}
    .oz-who-img{aspect-ratio:auto !important;flex:1 1 auto;min-height:420px;}
  }
.oz-who-card{grid-template-columns:1fr;}
@media (min-width:860px){ .oz-who-card{grid-template-columns:1.05fr .95fr;} }
.oz-num{flex:0 0 100%;}
@media (min-width:760px){ .oz-num{flex:0 0 calc((100% - 36px) / 3);} }
.oz-2col{grid-template-columns:1fr;}
@media (min-width:880px){ .oz-2col{grid-template-columns:1fr 1fr;} }
.oz-wide{max-width:1200px;margin-inline:auto;padding-inline:24px;}
.oz-air{grid-template-columns:1fr;}
@media (min-width:900px){ .oz-air{grid-template-columns:1.05fr .95fr;align-items:center;} }
.oz-fire{grid-template-columns:1fr;}
@media (min-width:900px){ .oz-fire{grid-template-columns:.95fr 1.05fr;} }
.oz-firelist{grid-template-columns:1fr;}
@media (min-width:720px){ .oz-firelist{grid-template-columns:repeat(2,minmax(0,1fr));} }
.oz-civil{grid-template-columns:1fr;}
@media (min-width:860px){ .oz-civil{grid-template-columns:1fr 1fr;} }
.oz-waterpics{grid-template-columns:1fr;}
@media (min-width:640px){ .oz-waterpics{grid-template-columns:repeat(3,minmax(0,1fr));} }
.oz-plumbviews{grid-template-columns:1fr;}
@media (min-width:820px){ .oz-plumbviews{grid-template-columns:repeat(3,minmax(0,1fr));} }
.oz-plumbfacil{grid-template-columns:repeat(2,minmax(0,1fr));}
@media (min-width:420px){ .oz-plumbfacil{grid-template-columns:repeat(4,minmax(0,1fr));} }
.oz-plumb{grid-template-columns:1fr;}
@media (min-width:900px){ .oz-plumb{grid-template-columns:.95fr 1.05fr;align-items:center;} }
.oz-fire2>:first-child{order:2;}
.oz-fire2>:last-child{order:1;}
@media (min-width:900px){ .oz-fire2>:first-child{order:1;} .oz-fire2>:last-child{order:2;} }
.oz-airfacil{grid-template-columns:repeat(2,minmax(0,1fr));}
@media (min-width:520px){ .oz-airfacil{grid-template-columns:repeat(4,minmax(0,1fr));} }
.oz-role{grid-template-columns:1fr;}
@media (min-width:880px){ .oz-role{grid-template-columns:1.1fr .9fr;align-items:center;} }
.oz-role4{grid-template-columns:1fr;}
@media (min-width:560px){ .oz-role4{grid-template-columns:repeat(2,minmax(0,1fr));} }
@media (min-width:960px){ .oz-role4{grid-template-columns:repeat(4,minmax(0,1fr));} }
@media (min-width:640px){ .oz-wrap,.oz-wide{--cols:3;} }
.oz-fieldbtns{display:flex !important;flex-wrap:wrap;justify-content:center;}
.oz-fieldbtns>a{flex:0 0 100%;}
@media (min-width:640px){ .oz-fieldbtns>a{flex:0 0 calc((100% - 28px) / 3);} }
.oz-facil{grid-template-columns:1fr;}
@media (min-width:760px){ .oz-facil{grid-template-columns:210px 1fr;} }
.oz-index{grid-template-columns:repeat(2,minmax(0,1fr));}
@media (min-width:760px){ .oz-index{grid-template-columns:repeat(4,minmax(0,1fr));} }
.oz-exp{grid-template-columns:1fr;}
@media (min-width:820px){ .oz-exp{grid-template-columns:.85fr 1.15fr;} }
.oz-flow{grid-template-columns:1fr;}
.oz-flowarrow{display:none;}
@media (min-width:900px){
    .oz-flow{grid-template-columns:repeat(4,minmax(0,1fr));gap:0;}
    .oz-flowarrow{display:flex;}
  }
.oz-safety{grid-template-columns:1fr;}
@media (min-width:860px){ .oz-safety{grid-template-columns:.8fr 1.2fr;} }
.oz-quality{grid-template-columns:1fr;}
@media (min-width:820px){ .oz-quality{grid-template-columns:repeat(3,minmax(0,1fr));} }
.oz-net{grid-template-columns:1fr;}
@media (min-width:820px){ .oz-net{grid-template-columns:1fr 1fr;} }
.oz-workdata{grid-template-columns:1fr;}
@media (min-width:640px){ .oz-workdata{grid-template-columns:repeat(3,minmax(0,1fr));} }
.oz-worry{grid-template-columns:1fr;}
@media (min-width:820px){ .oz-worry{grid-template-columns:repeat(3,minmax(0,1fr));} }
.oz-herophotos{grid-template-columns:1fr;grid-template-areas:'a' 'b' 'c';}
@media (min-width:720px){ .oz-herophotos{grid-template-columns:1.6fr 1fr;grid-template-areas:'a b' 'a c';} }
.oz-trainphoto{display:none;}
@media (min-width:900px){ .oz-trainphoto{display:block;} }
.oz-wsphoto{grid-template-columns:1fr;}
@media (min-width:860px){ .oz-wsphoto{grid-template-columns:1.15fr .85fr;} }
.oz-schedphotos{grid-template-columns:1fr;}
@media (min-width:640px){ .oz-schedphotos{grid-template-columns:repeat(3,minmax(0,1fr));} }
.oz-skills{grid-template-columns:1fr;}
@media (min-width:780px){ .oz-skills{grid-template-columns:repeat(2,minmax(0,1fr));} }
.oz-training{grid-template-columns:1fr;}
.oz-trainarrow{display:none;}
@media (min-width:900px){
    .oz-training{grid-template-columns:repeat(3,minmax(0,1fr));gap:0;}
    .oz-trainarrow{display:flex;}
  }
.oz-ourwork{grid-template-columns:1fr;}
@media (min-width:880px){ .oz-ourwork{grid-template-columns:1.05fr .95fr;gap:48px;} }
.oz-workscenes{grid-template-columns:1fr;}
@media (min-width:600px){ .oz-workscenes{grid-template-columns:repeat(3,minmax(0,1fr));} }
.oz-videos{grid-template-columns:1fr;}
@media (min-width:820px){ .oz-videos{grid-template-columns:1fr 1fr;} }
.oz-gal{grid-template-columns:1fr;}
@media (min-width:640px){ .oz-gal{grid-template-columns:repeat(2,1fr);} }
.parts228_section{background:#fff !important;padding:70px 0 96px !important;}
.parts228_wrap{max-width:1200px !important;margin-inline:auto !important;padding-inline:24px !important;}
.parts228_main{width:100% !important;}
.parts228_post_list{display:grid !important;grid-template-columns:1fr !important;gap:32px 26px !important;list-style:none !important;margin:0 !important;padding:0 !important;}
@media (min-width:576px){.parts228_post_list{grid-template-columns:1fr 1fr !important;}}
@media (min-width:992px){.parts228_post_list{grid-template-columns:1fr 1fr 1fr !important;}}
.parts228_post_wrap{min-width:0 !important;background:#fff !important;border:1px solid #e2ecf3 !important;border-radius:12px !important;overflow:hidden !important;display:flex !important;flex-direction:column !important;}
.parts228_post_img{margin:0 !important;height:230px !important;overflow:hidden !important;background:#eef2f5 !important;}
.parts228_post_img a{display:block !important;width:100% !important;height:100% !important;}
.parts228_post_img img{width:100% !important;height:100% !important;object-fit:cover !important;display:block !important;}
.parts228_post_status{display:flex !important;align-items:center !important;gap:12px !important;padding:18px 20px 0 !important;margin:0 !important;}
.parts228_post_date{color:#1f7ec2 !important;font-weight:600 !important;font-size:.84rem !important;letter-spacing:.04em !important;}
.parts228_post_title-excerpt{padding:10px 20px 0 !important;margin:0 !important;flex:1 1 auto !important;}
.parts228_post_title{color:#16548c !important;font-weight:700 !important;font-size:1.05rem !important;line-height:1.6 !important;margin:0 !important;}
.parts228_post_title a{color:#16548c !important;text-decoration:none !important;}
.parts228_post_excerpt{color:#5a6b75 !important;font-size:.92rem !important;margin:10px 0 0 !important;}
.parts-blog-ex-tag_wrap{display:flex !important;flex-wrap:wrap !important;gap:8px !important;padding:16px 20px 20px !important;margin:0 !important;list-style:none !important;}
.parts-blog-ex_tag{background:#eaf4fb !important;color:#1f7ec2 !important;border-radius:999px !important;padding:5px 14px !important;font-size:.78rem !important;font-weight:700 !important;text-decoration:none !important;}
.parts228_pagenation{display:flex !important;flex-wrap:wrap !important;justify-content:center !important;align-items:center !important;gap:8px !important;list-style:none !important;margin:52px 0 0 !important;padding:0 !important;}
.parts228_pagenation a,.parts228_pagenation span{display:inline-flex !important;align-items:center !important;justify-content:center !important;min-width:44px !important;min-height:44px !important;padding:0 12px !important;border:1px solid #cfe3f4 !important;border-radius:6px !important;color:#1f7ec2 !important;font-weight:700 !important;font-size:.9rem !important;text-decoration:none !important;background:#fff !important;}
.parts228_pagenation .pagination_num.current a,.parts228_pagenation .pagination_num.current span{background:#1f7ec2 !important;color:#fff !important;border-color:#1f7ec2 !important;}
.parts222_section{padding:0 0 88px !important;}
.parts222_section > h2{max-width:1200px !important;margin:0 auto 34px !important;padding-inline:24px !important;font-family:"Noto Serif JP",serif !important;font-weight:600 !important;font-size:clamp(1.7rem,3.6vw,2.3rem) !important;letter-spacing:.06em !important;}
.parts222_wrap{max-width:1200px !important;margin-inline:auto !important;padding-inline:24px !important;display:grid !important;grid-template-columns:1fr !important;gap:48px 40px !important;align-items:start !important;}
@media (min-width:992px){.parts222_wrap{grid-template-columns:minmax(0,1fr) 300px !important;}}
.parts222_main{min-width:0 !important;}
.parts222_post_list{display:grid !important;grid-template-columns:1fr !important;gap:28px 26px !important;list-style:none !important;margin:0 !important;padding:0 !important;}
@media (min-width:576px){.parts222_post_list{grid-template-columns:1fr 1fr !important;}}
.parts222_post_wrap{min-width:0 !important;display:flex !important;flex-direction:column !important;border:1px solid #e2ecf3 !important;border-radius:12px !important;overflow:hidden !important;text-decoration:none !important;background:#fff !important;}
.parts222_post_img{margin:0 !important;aspect-ratio:16 / 10 !important;height:auto !important;overflow:hidden !important;background:#eef2f5 !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:12px !important;padding:18px 20px 0 !important;margin:0 !important;}
.parts222_post_date{color:#1f7ec2 !important;font-weight:600 !important;font-size:.84rem !important;letter-spacing:.04em !important;}
.parts222_post_category{color:#5a6b75 !important;font-size:.78rem !important;font-weight:700 !important;border:1px solid #cfe3f4 !important;border-radius:999px !important;padding:3px 12px !important;}
.parts222_post_title-excerpt{padding:10px 20px 22px !important;margin:0 !important;flex:1 1 auto !important;}
.parts222_post_title{color:#16548c !important;font-weight:700 !important;font-size:1.05rem !important;line-height:1.6 !important;margin:0 !important;}
.parts222_pagenation{display:flex !important;flex-wrap:wrap !important;justify-content:center !important;align-items:center !important;gap:8px !important;list-style:none !important;margin:48px 0 0 !important;padding:0 !important;}
.parts222_pagenation a,.parts222_pagenation span{display:inline-flex !important;align-items:center !important;justify-content:center !important;min-width:44px !important;min-height:44px !important;padding:0 12px !important;border:1px solid #cfe3f4 !important;border-radius:6px !important;color:#1f7ec2 !important;font-weight:700 !important;font-size:.9rem !important;text-decoration:none !important;background:#fff !important;}
.parts222_pagenation .pagination_num.current a,.parts222_pagenation .pagination_num.current span{background:#1f7ec2 !important;color:#fff !important;border-color:#1f7ec2 !important;}
.parts222_sidebar{min-width:0 !important;display:flex !important;flex-direction:column !important;gap:32px !important;}
.parts222_sidebar_wrap > h3{margin:0 0 4px !important;padding:12px 16px !important;font-size:.95rem !important;font-weight:700 !important;letter-spacing:.06em !important;border-bottom:2px solid currentColor !important;}
.parts222_sidebar_wrap > ul{list-style:none !important;margin:0 !important;padding:0 !important;}
.parts222_sidebar_wrap li{border-bottom:1px solid #e2ecf3 !important;}
.parts222_sidebar_wrap li a{display:flex !important;flex-direction:column !important;gap:4px !important;padding:14px 16px !important;text-decoration:none !important;min-height:44px !important;justify-content:center !important;}
.parts222_sidebar_date{font-size:.8rem !important;font-weight:600 !important;letter-spacing:.04em !important;}
.parts222_sidebar_post_title{margin:0 !important;font-size:.92rem !important;line-height:1.6 !important;}
.parts222_sidebar_wrap.category_post_count li a{flex-direction:row !important;align-items:center !important;justify-content:space-between !important;gap:12px !important;}
.parts222_sidebar_post_category{margin:0 !important;font-size:.92rem !important;}
.parts222_sidebar_post_category_count{flex:0 0 auto !important;min-width:30px !important;text-align:center !important;border:1px solid currentColor !important;border-radius:4px !important;font-size:.76rem !important;font-weight:700 !important;padding:1px 6px !important;}
.parts210_section_content{background:#fff !important;padding:64px 0 8px !important;}
.parts210_content_wrap{max-width:860px !important;margin-inline:auto !important;padding-inline:24px !important;}
.parts210_content{color:#455662 !important;font-size:1.02rem !important;line-height:1.9 !important;margin:0 !important;}
.contact_section{background:#fff !important;padding:48px 0 96px !important;}
.parts213_section_form{max-width:860px !important;margin-inline:auto !important;padding-inline:24px !important;}
.parts213_form_wrap{background:transparent !important;border:0 !important;border-radius:0 !important;box-shadow:none !important;padding:0 !important;}
.parts213_form_wrap dl{display:block !important;margin:0 0 26px !important;}
.parts213_form_wrap dt{display:flex !important;align-items:baseline !important;gap:10px !important;flex-wrap:wrap !important;margin:0 0 8px !important;color:#16548c !important;font-weight:700 !important;font-size:.95rem !important;}
.parts213_form_wrap dd{margin:0 !important;}
.parts213_form_wrap .required{background:transparent !important;padding:0 !important;color:#c0392b !important;font-size:.76rem !important;font-weight:700 !important;}
.parts213_form_wrap .attention{display:block !important;color:#c0392b !important;font-size:.78rem !important;font-weight:400 !important;line-height:1.7 !important;margin-top:2px !important;}
.parts213_form_wrap input[type="text"],.parts213_form_wrap input[type="email"],.parts213_form_wrap input[type="tel"],.parts213_form_wrap textarea{width:100% !important;font-family:inherit !important;font-size:1rem !important;color:#33434d !important;background:#fff !important;border:1px solid #cfd9e1 !important;border-radius:0 !important;padding:12px 14px !important;min-height:48px !important;}
.parts213_form_wrap textarea{min-height:180px !important;line-height:1.8 !important;resize:vertical !important;}
.parts213_form_wrap input::placeholder,.parts213_form_wrap textarea::placeholder{color:#a9b7c2 !important;}
.parts213_form_wrap dd label{display:inline-flex !important;align-items:center !important;gap:8px !important;margin:0 20px 8px 0 !important;font-size:.95rem !important;min-height:44px !important;}
.parts213_form_wrap dd label input[type="checkbox"]{width:18px !important;height:18px !important;}
.parts213_form_wrap .error{color:#c0392b !important;font-size:.82rem !important;margin:6px 0 0 !important;}
.contact_submit{margin:36px 0 0 !important;text-align:center !important;width:100% !important;}
.contact_submit input[type="submit"]{font-family:inherit !important;font-size:1rem !important;font-weight:700 !important;color:#16548c !important;background:#fff !important;border:1px solid #16548c !important;border-radius:0 !important;padding:14px 56px !important;min-height:48px !important;cursor:pointer !important;width:auto !important;display:inline-block !important;}
.contact_submit input[type="submit"]:hover{background:#f2f7fb !important;}
.contact_section{background:#fff !important;padding:8px 0 96px !important;}
.parts219_section_form{max-width:860px !important;margin-inline:auto !important;padding-inline:24px !important;}
.parts219_form_wrap{background:transparent !important;border:0 !important;border-radius:0 !important;box-shadow:none !important;padding:0 !important;}
.parts219_form_wrap dl{display:block !important;margin:0 0 26px !important;}
.parts219_form_wrap dt{display:flex !important;align-items:baseline !important;gap:10px !important;flex-wrap:wrap !important;margin:0 0 8px !important;color:#16548c !important;font-weight:700 !important;font-size:.95rem !important;}
.parts219_form_wrap dd{margin:0 !important;}
.parts219_form_wrap .required{background:transparent !important;padding:0 !important;color:#c0392b !important;font-size:.76rem !important;font-weight:700 !important;}
.parts219_form_wrap .attention{display:block !important;color:#c0392b !important;font-size:.78rem !important;font-weight:400 !important;line-height:1.7 !important;margin-top:2px !important;}
.parts219_form_wrap input[type="text"],.parts219_form_wrap input[type="email"],.parts219_form_wrap input[type="tel"],.parts219_form_wrap textarea{width:100% !important;font-family:inherit !important;font-size:1rem !important;color:#33434d !important;background:#fff !important;border:1px solid #cfd9e1 !important;border-radius:0 !important;padding:12px 14px !important;min-height:48px !important;}
.parts219_form_wrap textarea{min-height:170px !important;line-height:1.8 !important;resize:vertical !important;}
.parts219_form_wrap input::placeholder,.parts219_form_wrap textarea::placeholder{color:#a9b7c2 !important;}
.parts219_form_wrap input[type="file"]{font-family:inherit !important;font-size:.95rem !important;color:#33434d !important;background:#fff !important;border:1px solid #cfd9e1 !important;border-radius:0 !important;padding:12px 14px !important;width:100% !important;min-height:48px !important;}
.parts219_form_wrap dl.form_address dd{display:flex !important;align-items:center !important;gap:10px !important;flex-wrap:wrap !important;font-size:1rem !important;}
.parts219_form_wrap dl.form_address dd input.zip{width:160px !important;flex:0 0 auto !important;margin:0 !important;}
.parts219_form_wrap dl.form_address dd input[name="address"]{flex:1 1 260px !important;margin:0 !important;}
@media (max-width:600px){.parts219_form_wrap dl.form_address dd{display:block !important;}.parts219_form_wrap dl.form_address dd input.zip{width:100% !important;margin:0 0 10px 0 !important;}.parts219_form_wrap dl.form_address dd input[name="address"]{width:100% !important;margin:0 !important;}}
.parts219_form_wrap .error{color:#c0392b !important;font-size:.82rem !important;margin:6px 0 0 !important;}
@media (min-width:640px){ .oz-row{grid-template-columns:150px 1fr;} }

/* CueZilla システム自動パンくず（parts231）を非表示＝各ページに独自パンくず埋め込み済み・二重表示防止（R-10a） */
.parts231_breadcrumb.p-breadcrumb,
.parts231_breadcrumb{ display:none !important; }

/* ===== parts228（施工実績一覧）＝CueZilla実テンプレのDOMに合わせた補正（テンプレ実測）=====
   実テンプレ: .parts228_post_status の中に 日付 ＋ .parts228_post_title-excerpt（title＋tag）が入れ子。
   ダミー前提の flex横並びを縦積みへ・二重paddingを解消。ページネーションは <span class=..._prev/next/num><a> の入れ子。 */
.parts228_post_wrap{max-width:none !important;width:auto !important;}  /* ★テーマの max-width:% でカードが極狭になる不具合を解除（R-28）*/
.parts228_post_wrap > a{display:block !important;width:100% !important;text-decoration:none !important;}
.parts228_post_status{display:block !important;padding:16px 18px 18px !important;}
.parts228_post_date{display:block !important;margin:0 0 8px !important;}
.parts228_post_title-excerpt{display:block !important;padding:0 !important;}
.parts-blog-ex-tag_wrap{padding:12px 0 0 !important;}
/* ページネーション：ラッパーspanは箱にしない。リンクa と 現在ページspan だけ箱に */
.parts228_pagenation .pagination_prev,.parts228_pagenation .pagination_next,.parts228_pagenation .pagination_num{display:inline-flex !important;align-items:center !important;min-width:0 !important;min-height:0 !important;padding:0 !important;border:0 !important;background:transparent !important;}
.parts228_pagenation .pagination_prev>a,.parts228_pagenation .pagination_next>a,.parts228_pagenation .pagination_num>a,.parts228_pagenation .pagination_num.current{display:inline-flex !important;align-items:center !important;justify-content:center !important;min-width:44px !important;min-height:44px !important;padding:0 12px !important;border:1px solid #cfe3f4 !important;border-radius:6px !important;color:#1f7ec2 !important;font-weight:700 !important;font-size:.9rem !important;text-decoration:none !important;background:#fff !important;}
.parts228_pagenation .pagination_num.current{background:#1f7ec2 !important;color:#fff !important;border-color:#1f7ec2 !important;}

/* ===== parts222（ブログ一覧＋サイドバー）＝CueZilla実テンプレ実測に合わせた補正 =====
   ・サイドバー見出し等が色指定無しで白継承→不可視だったので明示色（works/blog参考）
   ・カードはテーマの max-width:% 解除＋status縦積み（parts228と同型・投稿追加時の保険） */
.parts222_sidebar{max-width:none !important;width:auto !important;}  /* ★テーマの max-width:% でサイドバーが極狭になる不具合を解除 */
.parts222_sidebar_wrap > h3{color:#16548c !important;background:transparent !important;border-bottom:2px solid #16548c !important;padding:0 0 10px !important;margin:0 0 6px !important;}  /* 見出し：青下線あり（最近の投稿 参考準拠）・テーマ青ベタ背景は除去 */
.parts222_sidebar_date{color:#1f7ec2 !important;}
.parts222_sidebar_post_title{color:#33434d !important;}
.parts222_sidebar_post_category{color:#33434d !important;}
.parts222_sidebar_post_category_count{color:#1f7ec2 !important;background:transparent !important;border:1px solid #1f7ec2 !important;}  /* テーマのグレー背景を除去 */
.parts222_post_wrap{max-width:none !important;width:auto !important;}
.parts222_post_status{display:block !important;padding:16px 20px 0 !important;}
.parts222_post_date{display:block !important;margin:0 0 6px !important;}
.parts222_post_title-excerpt{display:block !important;padding:12px 20px 20px !important;}
.parts222_sidebar_wrap li{border-top:0 !important;border-left:0 !important;border-right:0 !important;border-bottom:1px solid #e2ecf3 !important;}  /* テーマの左右/上ボーダー除去＝横区切り線のみ（デザイン準拠） */

/* ===== ブログ詳細（parts166）「最近の投稿」＝別クラス recent_post_* を参考デザインへ =====
   実テンプレ: 見出しが白文字＋青ベタ箱／日付グレー → 見出し#16548c＋青下線・背景なし／日付#1f7ec2／区切り線 */
.recent_post_title{color:#16548c !important;background:transparent !important;border-bottom:2px solid #16548c !important;padding:0 0 10px !important;margin:0 0 8px !important;}
.recent_posts_wrap ul{list-style:none !important;margin:0 !important;padding:0 !important;}
.recent_posts_wrap li{border-bottom:1px solid #e2ecf3 !important;}
.recent_posts_wrap li a{display:block !important;padding:14px 2px !important;text-decoration:none !important;}
.recent_post_date{color:#1f7ec2 !important;display:block !important;font-size:.84rem !important;font-weight:600 !important;margin-bottom:4px !important;letter-spacing:.04em !important;}
.recent_posts_wrap li h3{color:#33434d !important;font-size:.95rem !important;font-weight:700 !important;line-height:1.6 !important;margin:0 !important;}

/* ===== parts225（ブログ カテゴリ一覧）＝ /blog/(parts222) と同じカード見た目に。テーマ max-width:% 解除 ===== */
.parts225_post_list{display:grid !important;grid-template-columns:1fr !important;gap:28px 26px !important;list-style:none !important;margin:0 !important;padding:0 !important;}
@media (min-width:576px){.parts225_post_list{grid-template-columns:1fr 1fr !important;}}
.parts225_post_wrap{max-width:none !important;width:auto !important;min-width:0 !important;display:flex !important;flex-direction:column !important;border:1px solid #e2ecf3 !important;border-radius:12px !important;overflow:hidden !important;background:#fff !important;}
.parts225_post_wrap > a{display:flex !important;flex-direction:column !important;flex:1 1 auto !important;text-decoration:none !important;}
.parts225_post_img{margin:0 !important;aspect-ratio:16/10 !important;overflow:hidden !important;background:#eef2f5 !important;}
.parts225_post_img img{width:100% !important;height:100% !important;object-fit:cover !important;display:block !important;}
.parts225_post_status{display:flex !important;align-items:center !important;justify-content:flex-start !important;flex-wrap:wrap !important;gap:12px !important;padding:18px 20px 0 !important;margin:0 !important;}  /* テーマの space-between を解除＝日付の直後にカテゴリ */
.parts225_post_date{color:#1f7ec2 !important;font-weight:600 !important;font-size:.84rem !important;letter-spacing:.04em !important;}
.parts225_post_category{color:#5a6b75 !important;font-size:.78rem !important;font-weight:700 !important;border:1px solid #cfe3f4 !important;border-radius:999px !important;padding:3px 12px !important;}
.parts225_post_title-excerpt{padding:10px 20px 22px !important;margin:0 !important;flex:1 1 auto !important;}
.parts225_post_title{color:#16548c !important;font-weight:700 !important;font-size:1.05rem !important;line-height:1.6 !important;margin:0 !important;}

/* ===== カード高さ揃え（全一覧共通）＝行内のカードを最も高いものに合わせる ===== */
.parts222_post_list,.parts225_post_list,.parts228_post_list{align-items:stretch !important;}
.parts222_post_wrap,.parts225_post_wrap,.parts228_post_wrap{height:100% !important;}
.parts222_post_wrap > a,.parts225_post_wrap > a,.parts228_post_wrap > a{flex:1 1 auto !important;display:flex !important;flex-direction:column !important;}
.parts222_post_title-excerpt,.parts225_post_title-excerpt,.parts228_post_title-excerpt{flex:1 1 auto !important;}

/* ===== サイドバー（parts222）：タブレット幅で 最近の投稿｜カテゴリ を横2カラム＋最後の項目の横線を除去 ===== */
.parts222_sidebar_wrap{max-width:none !important;}
.parts222_sidebar_wrap li:last-child{border-bottom:0 !important;}
@media (min-width:640px) and (max-width:991px){
  .parts222_sidebar{flex-direction:row !important;gap:32px !important;align-items:flex-start !important;}
  .parts222_sidebar_wrap{flex:1 1 0 !important;min-width:0 !important;}
}

/* ===== ページャー2重線対策（parts222／ブログ一覧・カテゴリ共通）＝施工実績(parts228)と同一処理 ===== */
/* ラッパー(span/li/page-item/pagination_*)は枠なし。実クリックの a と 現在ページだけ枠＝2重線解消 */
.parts222_pagenation .pagination_prev,.parts222_pagenation .pagination_next,.parts222_pagenation .pagination_num,.parts222_pagenation .page-item,.parts222_pagenation li,.parts222_pagenation > span{display:inline-flex !important;align-items:center !important;min-width:0 !important;min-height:0 !important;padding:0 !important;margin:0 !important;border:0 !important;background:transparent !important;}
.parts222_pagenation a,.parts222_pagenation .page-link,.parts222_pagenation .pagination_num.current,.parts222_pagenation .page-item.active{display:inline-flex !important;align-items:center !important;justify-content:center !important;min-width:44px !important;min-height:44px !important;padding:0 12px !important;border:1px solid #cfe3f4 !important;border-radius:6px !important;color:#1f7ec2 !important;font-weight:700 !important;font-size:.9rem !important;text-decoration:none !important;background:#fff !important;}
.parts222_pagenation .pagination_num.current,.parts222_pagenation .page-item.active,.parts222_pagenation .page-item.active .page-link{background:#1f7ec2 !important;color:#fff !important;border-color:#1f7ec2 !important;}
.sns_button_wrap,.signature_wrap.f_meiryo{
        display: none!important;
}