@charset "utf-8";


/***非表示***/



.tech_no
 {
  display: none !important;
}


/* =========================PC=========================================== */
@media screen and (min-width: 768px) {


/* ============================
   下層ページ キーイメージ
   ============================ */

.lower_hero {
  position: relative;
  width: 100%;
  height: 500px;
  background: url("../img/lower_key02b.jpg") center center / cover no-repeat;
  display: flex;
  align-items: center;
}

.lower_hero#equ1 {
  background: url("../img/lower_key03b.jpg") center center / cover no-repeat;
 
}

.lower_hero#equ2 {
  background: url("../img/lower_key04b.jpg") center center / cover no-repeat;
 
}


.lower_hero#tec {
  background: url("../img/lower_key05c.jpg") center center / cover no-repeat;
 
}

.lower_hero#works {
  background: url("../img/lower_key06.jpg") center center / cover no-repeat;
 
}



.lower_hero#gre {
  background: url("../img/lower_key07b.jpg") center center / cover no-repeat;
 
}




.lower_hero-inner {
  position: relative;
  z-index: 1;
  max-width: 1200px;
  margin: 0;
  padding: 30px 0px 0px 0px;
  margin-left: clamp(20px, 6vw, 120px); /* ← ここで左寄せ量を調整 */
  color: #fff;
}

/* 英語タイトル */
.lower_hero-en {
  font-size: 2.5rem;
  font-weight: 700;
  margin-bottom: 10px;
    text-shadow:
    0 0 2px rgba(0,0,0,0.35),
    0 0 6px rgba(0,0,0,0.25),
    0 0 12px rgba(0,0,0,0.15);
}

/* 日本語タイトル */
.lower_hero-ja {
  font-size: 1.0rem;
  letter-spacing: 0.1em;
    text-shadow:
    0 0 2px rgba(0,0,0,0.35),
    0 0 6px rgba(0,0,0,0.25),
    0 0 12px rgba(0,0,0,0.15);
}

/* =========================
  Company（会社概要）
========================= */
.lower_03_company{
  padding: 0 0 4rem;
}

.lower_03_company .company_mv{
  width: 100%;
  text-align: center;
  padding: 2rem 0;
}

.lower_03_company .company_mv img{
  display: inline-block;
  max-width: 1000px;
  width: 100%;
  height: auto;
}


.lower_03_company .company_inner{
  max-width: 1100px;
  margin: 0 auto;
  padding: 2.5rem 1.25rem 0;
}

.lower_03_company .company_header{
  margin-bottom: 2rem;
}



.lower_03_company .company_title{
  display: flex;
  align-items: center;       /* ← 縦中央を保証 */
  gap: 0.6rem;               /* 三角と文字の間 */
  font-size: 1.7rem;
  line-height: 1.25;
  font-weight: 800;
  color: #1b1b1b;
  letter-spacing: 0.02em;
  padding-bottom: 1rem;
  border-bottom: 0.2rem solid rgba(11, 79, 163, 0.22);
}

.lower_03_company .company_title::before{
  content: "";
  width: 0;
  height: 0;
  border-top: 0.4em solid transparent;
  border-bottom: 0.4em solid transparent;
  border-left: 0.6em solid #f39800; /* オレンジ */
  flex-shrink: 0;
}


.lower_03_company .company_lead{
  font-size: 1rem;
  line-height: 1.9;
  margin: 0;
  padding-top:15px;
}

.lower_03_company .company_block{
  margin-top: 2.5rem;
}

.lower_03_company .company_h3{
  font-size: 1.25rem;
  line-height: 1.4;
  margin-bottom: 1rem;
  padding-left: 0.75rem;
  border-left: 0.25rem solid #0a2f6f; /* サイトのメイン色に合わせて変更OK */
}

.lower_03_company .company_text{
  font-size: 1rem;
  line-height: 1.9;
  margin: 0;
}

.lower_03_company .company_points,
.lower_03_company .company_list{
  margin: 1rem 0 0;
  padding-left: 1.25rem;
}

.lower_03_company .company_points li,
.lower_03_company .company_list li{
  font-size: 1rem;
  line-height: 1.9;
  margin: 0.4rem 0;
}

.lower_03_company .company_table_wrap{
  margin-top: 1rem;
  overflow-x: auto;
}

.lower_03_company .company_table{
  width: 100%;
  border-collapse: collapse;
  min-width: 640px; /* 横スクロール回避用。不要なら削除 */
}

.lower_03_company .company_table th,
.lower_03_company .company_table td{
  border: 1px solid rgba(0,0,0,0.12);
  padding: 0.9rem 1rem;
  font-size: 1rem;
  line-height: 1.7;
  vertical-align: top;
}

.lower_03_company .company_table th{
  width: 26%;
  background: rgba(0,0,0,0.04);
  /*font-weight: 600;*/
}

.company_history th{
  width: 30%;
  white-space: nowrap;
}


.lower_03_company .company_map{
  width: 100%;
  margin-top: 1rem;
}

.lower_03_company .company_map iframe{
  display: block;
  width: 100%;
  height: 28rem;   /* PC想定 */
  border: 0;
}


/* 事業許可一覧だけ th を広くする */
.company_table.company_license th{
  width: 55%;
  text-align:left;
}

.company_table.company_license td{
  width: 45%;
  text-align:left;
}

/* 技術資格一覧：2カラム化 */
.company_table.company_qualification tbody{
  display: grid;
  grid-template-columns: 1fr 1fr; /* 左右50% */
  column-gap: 2rem;
}

/* 各行をブロック扱いに */
.company_table.company_qualification tr{
  display: block;
}

/* th の見た目はそのまま */
.company_table.company_qualification th{
  background: #fff;
  font-weight: 400;
  text-align: left;
  padding: 0.4rem 0.8rem;
  line-height: 1.7;
}

.company_table_wrap {
  position: relative;
}

/* 会社写真 */
.company_photo {
  position: absolute;
  top: 10px;
  right: 10px;
  width: 250px;          /* 好みで調整 */
  aspect-ratio: 4 / 4;
  border-radius: 0.4rem;
  /*overflow: hidden;*/
  box-shadow: 0 0.8rem 2rem rgba(0,0,0,0.08);
  z-index:9999;
}

.company_photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
    border: 1px solid rgba(0, 0, 0, 0.12);
    padding:1px;
      border-radius: 0.4rem;
}

/* 表が写真に被らないように余白を確保 */
.company_table {
  padding-right: 24rem; /* ↑の width + α */
}

/* =========================
資材置場リンク（控えめ表示）
========================= */

.shizaiokiba {
  margin-top: 2.5rem;
  padding: 1.2rem 1.6rem;
  background: #f4f6f8;
  border: 1px solid #e1e4e8;
  border-radius: 0.4rem;
}

.shizaiokiba ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.shizaiokiba li {
  font-size: 0.9rem;
  line-height: 1.6;
}

.shizaiokiba li + li {
  margin-top: 0.6rem;
}

.shizaiokiba a {
  color: #5a6575;
  text-decoration: none;
  transition: color 0.2s ease;
}

.shizaiokiba a:hover {
  color: #1d3f73; /* サイト基調色に寄せる */
  text-decoration: underline;
}





/* =========================
  Recruit（採用情報）
========================= */
.lower_04_recruit{
  padding: 3rem 0;
}

.lower_04_recruit .recruit_inner{
  max-width: 1000px;
  margin: 0 auto;
  padding: 0 1.25rem;
}



.lower_04_recruit .recruit_title{
  display: flex;
  align-items: center;       /* ← 縦中央を保証 */
  gap: 0.6rem;               /* 三角と文字の間 */
  font-size: 1.7rem;
  line-height: 1.25;
  font-weight: 800;
  color: #1b1b1b;
  letter-spacing: 0.02em;
  padding-bottom: 1rem;
  border-bottom: 0.2rem solid rgba(11, 79, 163, 0.22);
}

.lower_04_recruit .recruit_title::before{
  content: "";
  width: 0;
  height: 0;
  border-top: 0.4em solid transparent;
  border-bottom: 0.4em solid transparent;
  border-left: 0.6em solid #f39800; /* オレンジ */
  flex-shrink: 0;
}


.lower_04_recruit .recruit_table{
  width: 100%;
  border-collapse: collapse;
}

.lower_04_recruit .recruit_table th,
.lower_04_recruit .recruit_table td{
  padding: 1.2rem 0;
  border-bottom: 1px solid #ddd;
  vertical-align: top;
  font-size: 1rem;
  line-height: 1.8;
}

.lower_04_recruit .recruit_table th{
  width: 20%;
  font-weight: 600;
  white-space: nowrap;
}

.lower_04_recruit .recruit_note{
  margin-top: 2rem;
  font-size: 0.95rem;
  font-weight: 600;
  text-align: center;
}

  /* =========================
  技術紹介
========================= */


.tech_media_add {
  margin: 20px auto;          /* 上下20px・左右中央 */
  max-width: 620px;
}

.tech_media_add img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 1.2rem;      /* 角丸 */
}



/* =========================================
  lower_01_technology_intro（スクショ寄せ版）
========================================= */

.lower_01_technology_intro{
  /* ===== 調整ツマミ ===== */
  --bg-h: 370px;       /* 背景（三角）の高さ：ここ上げると“白”が減る */
  --blue-w: 74%;       /* ブルーの横幅：広げると先端が右へ伸びる */
  --blue: #006ab1;
  --gray: #eef2f4;

  --blue-top: 12%;     /* ブルー左上の開始位置（上げる＝数値小さく） */
  --blue-tip: 50%;     /* ブルー先端の高さ（上げる＝数値小さく） */

  --gray-top: 32%;     /* グレー右上の高さ（上げる＝数値小さく＝角度が急になる） */

  position: relative;
  background: #fff;
  overflow: hidden;
  isolation: isolate;

  /* ★白い部分を詰める（ここが効く） */
  padding: 0.5rem 0 var(--bg-h);
}

/* 中央寄せコンテンツ */
.lower_01_technology_intro .tech_intro_inner{
  position: relative;
  z-index: 3;
  max-width: 1000px;
  margin: 0 auto;
  padding: 2.0rem 1.25rem;
  text-align: center;
}

/* 文字（最低限） */
.lower_01_technology_intro .tech_intro_title{
  font-size: 2.1rem;
  line-height: 1.5;
  margin: 0 0 1.6rem;
    font-weight: 800;
}
.lower_01_technology_intro .tech_intro_en{
  font-size: 1.1rem;
  font-weight: 600;
  color: #006ab1;
  margin: 0 0 2.0rem;
  letter-spacing: 0.08em;
}
.lower_01_technology_intro .tech_intro_text{
  font-size: 1rem;
  line-height: 2;
  max-width: 820px;
  margin: 0 auto;
}

/* 右グレー（下地）：左下Bから斜めに上がる */
.lower_01_technology_intro::after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:100%;
  height:var(--bg-h);
  background:var(--gray);
  z-index:0;
  pointer-events:none;

  clip-path: polygon(
    0 100%,                 /* B */
    100% var(--gray-top),   /* 右上 */
    100% 100%               /* 右下 */
  );
}

/* 左ブルー（前面） */
.lower_01_technology_intro::before{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:var(--blue-w);
  height:var(--bg-h);
  background:var(--blue);
  z-index:1;
  pointer-events:none;

  clip-path: polygon(
    0 var(--blue-top),
    0 100%,
    100% var(--blue-tip)
  );
}

/* 巨大テキスト（位置はそのまま。背景より前） */
.lower_01_technology_intro .tech_bgtext{
  position:absolute;
  left:50%;
  bottom: 120px;              /* スクショ寄せ：少し上 */
  transform:translateX(-50%);
  font-size: clamp(3rem, 7vw, 9rem);
  font-weight: 900;
  color: rgba(255,255,255,0.5);
  -webkit-text-stroke: 1px rgba(0,106,177,0.5);
  letter-spacing: -0.08em;
  white-space: nowrap;
  pointer-events: none;
  z-index: 2;
  font-family: "hiragino-kaku-gothic-pron", sans-serif;
  max-width: 100%;
  overflow: hidden;
}


/* =========================
   lower_01_technology_showcase
   ========================= */

.lower_01_technology_showcase{
  padding: 0rem 0 5rem 0;
  background: #eef2f4;
}

.lower_01_technology_showcase .inner{
  width: min(1100px, calc(100% - 3rem));
  margin: 0 auto;
}

/* 1ブロック */
.lower_01_technology_showcase .tech_item{
 
}

.lower_01_technology_showcase .tech_item + .tech_item{

}

/* 交互レイアウト */
.lower_01_technology_showcase .tech_item.is-left{
  grid-template-columns: 0.9fr 1.1fr;
}

.lower_01_technology_showcase .tech_item.is-left .tech_media{
  order: 2;
}
.lower_01_technology_showcase .tech_item.is-left .tech_body{
  order: 1;
}

/* 画像 */
.lower_01_technology_showcase .tech_media{
  border-radius: 1.2rem;
  overflow: hidden;
  background: #ddd;
}

.lower_01_technology_showcase .tech_media img{
  width: 100%;
  height: 100%;
  display: block;
  aspect-ratio: 16 / 10;
  object-fit: cover;
}

/* テキスト側 */
.lower_01_technology_showcase .tech_body{
  position: relative;
  padding: 1.2rem 0;
}

.lower_01_technology_showcase .tech_no{
  font-size: 3.2rem;
  line-height: 1;
  font-weight: 800;
  color: #0b4fa3;
  letter-spacing: 0.02em;
}

.lower_01_technology_showcase .tech_title{
  margin-top: 0.8rem;
  font-size: 1.35rem;
  line-height: 1.5;
  font-weight: 700;
  color: #1b1b1b;
}

.lower_01_technology_showcase .tech_text{
  margin-top: 1rem;
  font-size: 1rem;
  line-height: 1.9;
  color: #333;
  max-width: 36rem;
}

/* タイトル下のライン（任意） */
.lower_01_technology_showcase .tech_title{
  padding-bottom: 0.9rem;
  border-bottom: 1px solid rgba(0,0,0,0.12);
}

/* =========================================
   Technology Showcase（02 / 03 並び）
========================================= */

.lower_01_technology_showcase .inner {
  display: flex;
  justify-content: space-between;
  gap: 4rem;
}

.lower_01_technology_showcase .tech_item {
  width: 50%;
}

/* 左右を明示的に固定 */
.lower_01_technology_showcase .tech_item.is-right {
  order: 2; /* 左 */
}

.lower_01_technology_showcase .tech_item.is-left {
  order: 1; /* 右 */
}

/* 画像のはみ出し防止 */
.lower_01_technology_showcase .tech_media img {
  width: 100%;
  height: auto;
  display: block;
}






/* =========================
   産業施設の事業例（プラント清掃）
   ========================= */

.lower_01_technology_plant{
  padding: 1rem 0;
  /*background: #eef2f4;*/
}

.lower_01_technology_plant .inner{
  width: min(1100px, calc(100% - 3rem));
  margin: 0 auto;
}

/* 見出し */
.plant_head{
  margin-bottom: 2rem;
}


.plant_title{
  display: flex;
  align-items: center;       /* ← 縦中央を保証 */
  gap: 0.6rem;               /* 三角と文字の間 */
  font-size: 1.7rem;
  line-height: 1.25;
  font-weight: 800;
  color: #1b1b1b;
  letter-spacing: 0.02em;
  padding-bottom: 1rem;
  border-bottom: 0.2rem solid rgba(11, 79, 163, 0.22);
}

.plant_title::before{
  content: "";
  width: 0;
  height: 0;
  border-top: 0.4em solid transparent;
  border-bottom: 0.4em solid transparent;
  border-left: 0.6em solid #f39800; /* オレンジ */
  flex-shrink: 0;
}



.plant_lead{
  margin-top: 1.2rem;
  font-size: 1rem;
  line-height: 1.9;
  color: #333;
  max-width: 46rem;
}

/* メイン画像 */
.plant_hero{
  margin: 2rem 0 2.5rem;
  background: #ddd;
  border-radius: 1.2rem;
  overflow: hidden;
  box-shadow: 0 0.8rem 2rem rgba(0,0,0,0.06);
}

.plant_hero img{
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

/* 事業内容 */
.plant_menu{
  background: rgba(255,255,255,0.85);
  border: 0.1rem solid rgba(0,0,0,0.08);
  border-radius: 1.2rem;
  padding: 1.8rem 2rem;
    border: 0.1rem solid rgba(0,0,0,0.3); /* 薄いグレー寄り */
}

.plant_menu_title{
  font-size: 1rem;
  font-weight: 800;
  color: #1b1b1b;
  letter-spacing: 0.02em;
  margin-bottom: 1rem;
}

.plant_menu_cols{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.6rem 3rem;
}

.plant_list{
  list-style: none;
  padding: 0;
  margin: 0;
}

.plant_list li{
  position: relative;
  padding-left: 1.4rem;
  font-size: 1rem;
  line-height: 1.8;
  color: #222;
}

.plant_list li + li{
  margin-top: 0.6rem;
}

.plant_list li::before{
  content: "";
  position: absolute;
  left: 0;
  top: 0.8em;
  width: 0.55rem;
  height: 0.55rem;
  border-radius: 50%;
  background: #111;
  transform: translateY(-50%);
}

/* 事例グリッド */
.plant_cases{
  margin-top: 3rem;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2.2rem;
}

.plant_case{
  background: rgba(255,255,255,0.9);
  border: 0.1rem solid rgba(0,0,0,0.08);
  border-radius: 1.2rem;
  overflow: hidden;
  box-shadow: 0 0.8rem 2rem rgba(0,0,0,0.05);
}

.plant_case_img{
  margin: 0;
  background: #ddd;
}

.plant_case_img img{
  width: 100%;
  height: 100%;
  display: block;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

.plant_case_body{
  padding: 1.2rem 1.3rem 1.4rem;
}

.plant_case_title{
  font-size: 1.05rem;
  line-height: 1.5;
  font-weight: 800;
  color: #1b1b1b;
  letter-spacing: 0.02em;
  padding-bottom: 0.8rem;
  border-bottom: 0.1rem solid rgba(0,0,0,0.10);
}

.plant_case_text{
  margin-top: 0.8rem;
  font-size: 0.95rem;
  line-height: 1.85;
  color: #333;
}



/* =========================
   lower_02_vehicle_* 共通
   ========================= */

.lower_02_vehicle_owned,
.lower_02_vehicle_units,
.lower_02_vehicle_equipment{
  padding: 5rem 0;
  background: #eef2f4;
}

.lower_02_vehicle_owned .inner,
.lower_02_vehicle_units .inner,
.lower_02_vehicle_equipment .inner{
  width: min(1100px, calc(100% - 3rem));
  margin: 0 auto;
}

/* 見出し */
.lower_02_head{
  margin-bottom: 2.2rem;
}

.lower_02_title{
  display: flex;
  align-items: center;       /* ← 縦中央を保証 */
  gap: 0.6rem;               /* 三角と文字の間 */
  font-size: 1.7rem;
  line-height: 1.25;
  font-weight: 800;
  color: #1b1b1b;
  letter-spacing: 0.02em;
  padding-bottom: 1rem;
  border-bottom: 0.2rem solid rgba(11, 79, 163, 0.22);
}

.lower_02_title::before{
  content: "";
  width: 0;
  height: 0;
  border-top: 0.4em solid transparent;
  border-bottom: 0.4em solid transparent;
  border-left: 0.6em solid #f39800; /* オレンジ */
  flex-shrink: 0;
}


/* =========================
   保有特殊車両
   ========================= */

.vehicle_blocks{
  display: grid;
  gap: 2.4rem;
}

.vehicle_block{
  background: rgba(255,255,255,0.9);
  border: 0.1rem solid rgba(0,0,0,0.08);
  border-radius: 1.2rem;
  padding: 2rem;
  box-shadow: 0 0.8rem 2rem rgba(0,0,0,0.05);
}

.vehicle_block_grid{
 
 
 
}

.vehicle_kicker{
  margin: 0 0 0.6rem;
  font-size: 0.95rem;
  font-weight: 700;
  color: #0b4fa3;
  letter-spacing: 0.02em;
}

.vehicle_name{
  margin: 0;
  font-size: 1.45rem;
  line-height: 1.4;
  font-weight: 800;
  color: #1b1b1b;
}

/* スペック */
.vehicle_specs{
  margin: 1.2rem 0 1.1rem;
  padding: 1.1rem 1.2rem;
  background: rgba(11,79,163,0.06);
  border-radius: 0.9rem;
}

.vehicle_specs > div{
  display: grid;
  grid-template-columns: 10rem 1fr;
  gap: 0.8rem;
  align-items: baseline;
}

.vehicle_specs > div + div{
  margin-top: 0.6rem;
}

.vehicle_specs dt{
  font-size: 0.95rem;
  font-weight: 800;
  color: #1b1b1b;
}

.vehicle_specs dd{
  margin: 0;
  font-size: 0.95rem;
  color: #333;
}

/* 特長 */
.vehicle_desc_title{
  margin: 0 0 0.6rem;
  display: inline-block;
  font-size: 0.9rem;
  font-weight: 800;
  color: #000;
  background: #f39800;
  padding: 0.35rem 0.6rem;
  border-radius: 0.4rem;
}

.vehicle_desc p{
  margin: 0;
  font-size: 0.95rem;
  line-height: 1.9;
  color: #333;
}

/* 画像 */
.vehicle_main{
  margin: 0;
  border-radius: 1rem;
  overflow: hidden;
  background: #ddd;
}


.vehicle_main img{
  width: 100%;
  display: block;
 /* aspect-ratio: 16 / 9;*/
  object-fit: cover;
}

#tate img{
 aspect-ratio: auto !important;

}



.vehicle_thumbs{
  margin-top: 0.9rem;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0.6rem;
}

.vehicle_thumbs img{
  width: 100%;
  display: block;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: 0.6rem;
  background: #ddd;
}

/* =========================
   関連ユニット
   ========================= */

.unit_blocks{
  display: flex;
  gap: 4rem;
}

.unit_block{
  background: rgba(255,255,255,0.9);
  border: 0.1rem solid rgba(0,0,0,0.08);
  border-radius: 1.2rem;
  padding: 1.8rem;
  box-shadow: 0 0.8rem 2rem rgba(0,0,0,0.05);
  
  height: 960px;
}

.unit_grid{
 
}

.unit_kicker{
  margin: 0 0 0.5rem;
  font-size: 0.95rem;
  font-weight: 700;
  color: #0b4fa3;
}

.unit_name{
  margin: 0 0 1rem;
  font-size: 1.35rem;
  font-weight: 800;
  color: #1b1b1b;
}

.unit_desc_title{
  margin: 0 0 0.6rem;
  display: inline-block;
  font-size: 0.9rem;
  font-weight: 800;
  color: #fff;
  background: #0b4fa3;
  padding: 0.35rem 0.6rem;
  border-radius: 0.4rem;
}

.unit_desc p{
  margin: 0;
  font-size: 0.95rem;
  line-height: 1.9;
  color: #333;
}

.unit_img{
  margin: 0;
  border-radius: 1rem;
  overflow: hidden;
  height: 450px;
}

.unit_img img{
  width: 100%;
  display: block;
  object-fit: cover;
}

/* =========================
   設備機器
   ========================= */

.equip_grid{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.6rem;
}

.equip_card{
  background: rgba(255,255,255,0.92);
  border: 0.1rem solid rgba(0,0,0,0.08);
  border-radius: 1.2rem;
  overflow: hidden;
  box-shadow: 0 0.8rem 2rem rgba(0,0,0,0.05);
}

.equip_img{
  margin: 0;
  background: #ddd;
}

.equip_img img{
  width: 100%;
  display: block;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

.equip_body{
  padding: 1.1rem 1.2rem 1.3rem;
}

.equip_name{
  margin: 0;
  font-size: 1.05rem;
  font-weight: 800;
  color: #1b1b1b;
  padding-bottom: 0.8rem;
  border-bottom: 0.1rem solid rgba(0,0,0,0.10);
}

.equip_meta{
  margin: 0.9rem 0 0;
  padding-left: 1.1rem;
  color: #333;
  font-size: 0.95rem;
  line-height: 1.8;
}

/* 設備機器：区切り */
.lower_02_vehicle_equipment .equip_divider{
  margin: 2.2rem 0 1.6rem;
}

.lower_02_vehicle_equipment .equip_divider_line{
  height: 0.1rem;
  background: rgba(0,0,0,0.12);
}

.lower_02_vehicle_equipment .equip_divider_title{
  margin: 0.9rem 0 0;
  font-size: 1rem;
  font-weight: 800;
  color: #1b1b1b;
  letter-spacing: 0.02em;
}


/* =========================
   車両ページ：ページ内リンク
   ========================= */

.lower_02_vehicle_nav{
  padding: 3.5rem 0 2.5rem;
  background: #eef2f4;
}

.lower_02_vehicle_nav .inner{
  width: min(1100px, calc(100% - 3rem));
  margin: 0 auto;
}

/* ナビ全体 */
.vehicle_nav{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2.2rem;
}

/* ボタン */
.vehicle_nav_item{
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;

  padding: 1.4rem 1rem 1.4rem 2.4rem; /* ← 左に三角分余白 */
  font-size: 1.05rem;
  font-weight: 700;
  letter-spacing: 0.02em;

  color: #1b1b1b;
  background: #fff;
  border: 2px solid #f39800;
  border-radius: 0.6rem;
  text-decoration: none;

  transition: background 0.25s ease, color 0.25s ease;
}

/* 左の小さな右向き三角（黒） */
.vehicle_nav_item::before{
  content: "";
  position: absolute;
  left: 1rem;
  top: 50%;
  transform: translateY(-50%);

  width: 0;
  height: 0;
  border-top: 0.35em solid transparent;
  border-bottom: 0.35em solid transparent;
  border-left: 0.5em solid #000;
}

/* hover */
.vehicle_nav_item:hover{
  background: #f39800;
  color: #fff;
}

/* hover時も三角は黒のまま */
.vehicle_nav_item:hover::before{
  border-left-color: #000;
}

.vehicle_nav_item:visited{
  color: #000;
}


/* =========================
   問い合わせ
   ========================= */

.lower_05_contact{
  padding: 6rem 0;
  background: #fff;
}

.lower_05_contact .inner{
  width: min(980px, calc(100% - 3rem));
  margin: 0 auto;
}

/* 見出しブロック */
.lower_05_contact .contact_phone,
.lower_05_contact .contact_mail{
  text-align: center;
}

.lower_05_contact .contact_phone{
  padding-bottom: 5rem;
}

.lower_05_contact .contact_bar{
  width: 3.2rem;
  height: 0.25rem;
  background: #0082d6;
  margin: 0 auto 1.6rem;
}

.lower_05_contact .contact_en{
  font-size: 2rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  color: #1b1b1b;
  margin: 0;
}

.lower_05_contact .contact_jp{
  margin: 0.8rem 0 2rem;
  font-size: 1rem;
  color: #1b1b1b;
}

.lower_05_contact .contact_tel{
  margin: 0;
  font-size: 2.5rem;
  font-weight: 700;
  letter-spacing: 0.06em;
}

.lower_05_contact .contact_tel a{
  color: #f39800;
  text-decoration: none;
}

/* フォーム枠 */
.lower_05_contact .contact_form_wrap{
  margin-top: 2.4rem;
  text-align: left;
}


.lower_05_contact .cf7_form{
  width: min(780px, 100%);
  margin: 0 auto;
}

.lower_05_contact .cf7_row{
  display: grid;
  grid-template-columns: 10.5rem 1fr;
  gap: 1.6rem;
  align-items: start;
  padding: 1.2rem 0;
  border-bottom: 0.1rem solid rgba(0,0,0,0.08);
}

.lower_05_contact .cf7_label{
  font-size: 0.95rem;
  font-weight: 600;
  color: #1b1b1b;
  padding-top: 0.6rem;
  white-space: nowrap;
}

.lower_05_contact .cf7_field{
  width: 100%;
}

.lower_05_contact .cf7_two{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.8rem;
}

.lower_05_contact .cf7_input,
.lower_05_contact .cf7_select,
.lower_05_contact .cf7_textarea{
  width: 100%;
  box-sizing: border-box;
  border: 0.1rem solid rgba(0,0,0,0.35);
  border-radius: 0.2rem;
  padding: 0.65rem 0.75rem;
  font-size: 1rem;
  color: #1b1b1b;
  background: #fff;
  outline: none;
}

.lower_05_contact .cf7_textarea{
  min-height: 10rem;
  resize: vertical;
}

.lower_05_contact .cf7_input:focus,
.lower_05_contact .cf7_select:focus,
.lower_05_contact .cf7_textarea:focus{
  border-color: rgba(243,152,0,0.9);
  box-shadow: 0 0 0 0.2rem rgba(243,152,0,0.15);
}

/* 郵便番号 */
.lower_05_contact .cf7_zip{
  display: grid;
  grid-template-columns: 14rem 1fr;
  gap: 0.8rem;
  align-items: center;
}

.lower_05_contact .cf7_zip_btn{
  height: 2.7rem;
  border: 0.1rem solid rgba(0,0,0,0.35);
  background: #fff;
  border-radius: 0.2rem;
  font-size: 0.95rem;
  cursor: pointer;
  white-space: nowrap;
}

.lower_05_contact .cf7_zip_btn:hover{
  border-color: rgba(243,152,0,0.9);
}

/* 住所 */
.lower_05_contact .cf7_addr{
  display: grid;
  gap: 0.6rem;
}

.lower_05_contact .cf7_addr_row{
  display: grid;
  grid-template-columns: 7rem 1fr;
  gap: 0.8rem;
  align-items: center;
}

.lower_05_contact .cf7_addr_cap{
  font-size: 0.9rem;
  color: #333;
  white-space: nowrap;
}

/* 個人情報 */
.lower_05_contact .cf7_privacy{
  margin-top: 2.2rem;
  text-align: center;
}

.lower_05_contact .cf7_privacy_title{
  margin: 0 0 1rem;
  font-size: 0.95rem;
  font-weight: 700;
  color: #1b1b1b;
}

.lower_05_contact .cf7_privacy_text{
  margin: 0 auto;
  font-size: 0.95rem;
  line-height: 1.9;
  color: #1b1b1b;
  max-width: 46rem;
}

.lower_05_contact .cf7_accept{
  margin-top: 1.2rem;
  font-size: 1rem;
  text-align: center;
}

/* 注意文 */
.lower_05_contact .cf7_note{
  margin: 2rem auto 0;
  text-align: center;
  font-size: 0.9rem;
  line-height: 1.8;
  color: #1b1b1b;
}

/* 送信ボタン */
.lower_05_contact .cf7_submit{
  margin-top: 2.6rem;
  text-align: center;
}

.lower_05_contact .cf7_submit_btn{
  display: inline-block;
  width: min(360px, 100%);
  padding: 1.1rem 1rem;
  font-size: 1.1rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  color: #000;
  background: #f39800;
  border: none;
  border-radius: 0;
  cursor: pointer;
}

.lower_05_contact .cf7_submit_btn:hover{
  filter: brightness(0.95);
}

/* CF7 デフォルトのエラー表示を整える */
.lower_05_contact .wpcf7-not-valid-tip{
  font-size: 0.9rem;
  margin-top: 0.4rem;
}

.lower_05_contact .wpcf7-response-output{
  margin: 1.6rem auto 0;
  max-width: 46rem;
  font-size: 0.95rem;
}

/* プライバシーポリシーリンク：下線表示 */
.cf7_privacy_text a{
  color: inherit;              /* 文字色は本文と同じ */
  text-decoration: underline;  /* 下線を出す */
  text-underline-offset: 0.15em;
}

.cf7_privacy_text a:hover{
  text-decoration: none;       /* ホバー時は下線を消す（任意） */
}


/* =========================
  個人情報
   ========================= */



.lower_06_privacy{
  padding: 5rem 0;
  background: #fff;
}

.lower_06_privacy .inner{
  width: min(900px, calc(100% - 3rem));
  margin: 0 auto;
}

.lower_06_head{
  margin-bottom: 2.4rem;
}

.lower_06_title{
  display: flex;
  align-items: center;       /* ← 縦中央を保証 */
  gap: 0.6rem;               /* 三角と文字の間 */
  font-size: 1.7rem;
  line-height: 1.25;
  font-weight: 800;
  color: #1b1b1b;
  letter-spacing: 0.02em;
  padding-bottom: 1rem;
  border-bottom: 0.2rem solid rgba(11, 79, 163, 0.22);
}

.lower_06_title::before{
  content: "";
  width: 0;
  height: 0;
  border-top: 0.4em solid transparent;
  border-bottom: 0.4em solid transparent;
  border-left: 0.6em solid #f39800; /* オレンジ */
  flex-shrink: 0;
}

.privacy_body p{
  margin: 0 0 1.6rem;
  line-height: 1.9;
  color: #333;
}

.privacy_body h3{
  margin: 2.6rem 0 0.8rem;
  font-size: 1.2rem;
  font-weight: 800;
  color: #1b1b1b;
}


/* =========================
施工実績
========================= */

.lower_07_works {
  padding: 5rem 0;
  background: #eef2f4;
}

/* 施工実績 1件 */
.works_item {
  margin-bottom: 4rem;
}

.works_item_inner {
  width: min(74rem, 92%);
  margin: 0 auto;
  padding: 2rem;
  background: #f9f9fa;              /* 白より少しグレー */
  border: 1px solid #d6d8dd;        /* グレー系ボーダー */
  border-radius: 0.6rem;
}

/* 工事名称 */
.works_title {
  font-size: 1.4rem;
  font-weight: 700;
  margin: 0 0 1rem;
  letter-spacing: 0.02em;
  color: #1d2b46;
}

/* グラデーションライン */
.works_title_line {
  width: 26rem;
  max-width: 100%;
  height: 0.35rem;
  background: linear-gradient(
    90deg,
    #1d3f73 0%,
    #2f5fa8 40%,
    rgba(47, 95, 168, 0) 100%
  );
  margin-bottom: 2.6rem;
}

/* 写真エリア */
.works_photos {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.6rem;
  margin-bottom: 2.4rem;
}

.works_photo {
  margin: 0;
  border-radius: 0.4rem;
  overflow: hidden;
  aspect-ratio: 1 / 1;
  background: linear-gradient(
    135deg,
    #e1e3e8 0%,
    #cfd3da 100%
  ); /* 写真未設定時のグラデーション */
}

.works_photo img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

/* 使用機材 */
.works_tools_head {
  font-size: 1.05rem;
  font-weight: 700;
  margin-bottom: 0.8rem;
  color: #222;
}

.works_tools_list {
  margin: 0;
  padding-left: 1.2rem;
  list-style: disc;
  font-size: 0.95rem;
  line-height: 1.8;
  column-count: 2;
  column-gap: 3rem;
  color: #333;
}

.works_tools_list li {
  break-inside: avoid;
}

/* 親 */
.works_item_inner {
  display: flex;
  justify-content: space-between;
  gap: 4rem; /* 左右の間隔 */
}

/* 左右カラム */
.works_left,
.works_right {
  flex: 1;
}

/* 右側（写真）が潰れないように */
.works_right {
  max-width: 48%;
}


/* 写真が1枚のみの場合 */
.works_photos #one_img {
  grid-column: 1 / -1;
}

/* 2枚表示時の基本比率（横長トリム） */
.works_photo{
  aspect-ratio: 16 / 16; /* ←好みで 16/9, 4/3, 3/2 などに変更可 */
}

/* 1枚表示（幅が2倍になるので比率も2倍＝高さを揃える） */
.works_photos #one_img{
  grid-column: 1 / -1;
  aspect-ratio: 32 / 16; /* 16/10 の2倍。16/9なら 32/9 にする */
}

.works_photo img { object-fit: cover; }


/* =========================
  お知らせ一覧（lower_08）
========================= */

.lower_08_info{
  padding: 4rem 0;
}

.lower_08_info_inner{
  max-width: 1000px;
  margin: 0 auto;
  padding: 0 1.25rem;
}

/* 1件 */
.info_item{
  display: grid;
  grid-template-columns: 10rem 1fr;
  column-gap: 3rem;
  padding: 2.5rem 0;
  border-bottom: 1px dotted rgba(0,0,0,0.25);
}

.info_item:first-child{
  border-top: 1px dotted rgba(0,0,0,0.25);
}

/* 日付ブロック */
.info_datebox{
  padding-top: 0.2rem;
}

.info_date{
  display: inline-block;
  font-size: 0.95rem;
  font-weight: 700;
  color: #111;
  letter-spacing: 0.03em;
}

.info_date_line{
  display: block;
  width: 4.5rem;
  height: 0.15rem;
  background: #111;
  margin-top: 0.6rem;
}

/* 本文側 */
.info_body{
  position: relative;
}

.info_title{
  font-size: 1.1rem;
  font-weight: 700;
  color: #111;
  margin: 0 0 0.9rem;
}

.info_text{
  font-size: 0.95rem;
  line-height: 1.9;
  color: #222;
  margin: 0;
  max-width: 40rem;
}

/* 右下ボタン */
.info_btnwrap{
  display: flex;
  justify-content: flex-end;
  margin-top: 1.25rem;
}

.info_btn{
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;

  height: 2.6rem;
  min-width: 9.5rem;
  padding: 0 2.2rem 0 1.4rem; /* 右の三角分だけ余白多め */

  background: #000;
  color: #fff;
  font-size: 0.9rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-decoration: none;
  line-height: 1;

  transition: opacity 0.2s ease;
}

/* 右側を尖らせる（三角） */
.info_btn::after{
  content: "";
  position: absolute;
  top: 0;
  right: -1.3rem;
  width: 0;
  height: 0;
  border-top: 1.3rem solid transparent;
  border-bottom: 1.3rem solid transparent;
  border-left: 1.3rem solid #666;
}

.info_btn:hover{
  opacity: 0.85;
}


/* =========================================
   保有特殊車両：左右2カラム
========================================= */

/* 親（緑枠） */
.lower_02_vehicle_owned .vehicle_blocks {
  display: flex;
  gap: 4rem;
}

/* 左右レーン（青枠） */
.lower_02_vehicle_owned_left,
.lower_02_vehicle_owned_right {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 4rem; /* article間 */
}

/* vehicle_block（高さ統一） */
.vehicle_block {
  height: 750px;
  display: flex;
  flex-direction: column;
}

/* 中身レイアウト */
.vehicle_block_grid {
  display: flex;
  flex-direction: column;
  height: 100%;
}

/* テキスト量差を吸収 */
.vehicle_info {
  display: flex;
  flex-direction: column;
  flex: 1;
}

.vehicle_media {
padding-top:10px;
}

.unit_material_list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.6rem 2rem;
  padding-left: 1.2rem;
}




/* ご挨拶：署名ブロック */
.greeting_txt00 {
  margin-left: auto;   /* 右寄せの基本 */
  width: fit-content;  /* 中身幅にする（対応ブラウザOK） */
  text-align: center;  /* 中のテキストは中央 */
}

.greeting_txt01,
.greeting_txt02 {
 
}

/* 役職 */
.greeting_txt01 {
  font-size: 1.0rem;
  margin-top: 4.0rem;
  margin-bottom: 0.4rem;
  letter-spacing: 0.05em;
  color: #333;
}

/* 氏名 */
.greeting_txt02 {
  font-size: 1.5rem;
  font-family: "游明朝", "Yu Mincho", "Hiragino Mincho ProN",
               "Hiragino Mincho Pro", "MS P明朝", serif;
  font-weight: 900;
  letter-spacing: 0.08em;
  color: #111;
}





/**********close*******************/
}




/* =========================
  Responsive
========================= */

@media screen and (max-width: 1023px) {
  .works_photos {
    grid-template-columns: repeat(2, 1fr);
  }
}





/* =========================スマホ=========================================== */
@media screen and (max-width: 767px) {


.unit_material_list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.3rem 2rem;
   font-size: 0.9rem;
}

/* ご挨拶：署名ブロック */
.greeting_txt00 {
  margin-left: auto;   /* 右寄せの基本 */
  width: fit-content;  /* 中身幅にする（対応ブラウザOK） */
  text-align: center;  /* 中のテキストは中央 */
}

/* ご挨拶：署名ブロック */
.greeting_txt01,
.greeting_txt02 {
 
}

/* 役職 */
.greeting_txt01 {
  font-size: 0.9rem;
  margin-top: 4.0rem;
  margin-bottom: 0.4rem;
  letter-spacing: 0.05em;
  color: #333;
}

/* 氏名 */
.greeting_txt02 {
  font-size: 1.2rem;
  font-family: "游明朝", "Yu Mincho", "Hiragino Mincho ProN",
               "Hiragino Mincho Pro", "MS P明朝", serif;
  font-weight: 900;
  letter-spacing: 0.08em;
  color: #111;
}



/* ============================
   下層ページ キーイメージ
   ============================ */

.lower_hero {
  position: relative;
  width: 100%;
  height: 400px;
  background: url("../img/lower_key02b.jpg") center center / cover no-repeat;
  display: flex;
  align-items: center;
}

.lower_hero#equ1 {
  background: url("../img/lower_key03b.jpg") center center / cover no-repeat;
 
}
.lower_hero#equ2 {
  background: url("../img/lower_key04b.jpg") center center / cover no-repeat;
 
}

.lower_hero#tec {
  background: url("../img/lower_key05c.jpg") center center / cover no-repeat;
 
}

.lower_hero#works {
  background: url("../img/lower_key06.jpg") center center / cover no-repeat;
 
}

.lower_hero#gre {
  background: url("../img/lower_key07b.jpg") center center / cover no-repeat;
 
}



.lower_hero-inner {
  position: relative;
  z-index: 1;
  max-width: 1200px;
  margin: 0;
  padding: 30px 0px 0px 0px;
  margin-left: clamp(20px, 6vw, 120px); /* ← ここで左寄せ量を調整 */
  color: #fff;
}

/* 英語タイトル */
.lower_hero-en {
  font-size: 2.0rem;
  font-weight: 700;
  margin-bottom: 10px;
    text-shadow:
    0 0 2px rgba(0,0,0,0.35),
    0 0 6px rgba(0,0,0,0.25),
    0 0 12px rgba(0,0,0,0.15);
}

/* 日本語タイトル */
.lower_hero-ja {
  font-size: 0.8rem;
  letter-spacing: 0.1em;
    text-shadow:
    0 0 2px rgba(0,0,0,0.35),
    0 0 6px rgba(0,0,0,0.25),
    0 0 12px rgba(0,0,0,0.15);
}




  /* =========================
  技術紹介
========================= */

/* =========================================
  lower_01_technology_intro（スクショ寄せ版）
========================================= */

.lower_01_technology_intro{

}


/* 中央寄せコンテンツ */
.lower_01_technology_intro .tech_intro_inner{
  position: relative;
  z-index: 3;
  max-width: 1000px;
  margin: 0 auto;
  padding: 1.25rem;
  text-align: center;
}

/* 文字（最低限） */
.lower_01_technology_intro .tech_intro_title{
  font-size: 2.1rem;
  line-height: 1.5;
  margin: 0 0 1.6rem;
    font-weight: 800;
}
.lower_01_technology_intro .tech_intro_en{
  font-size: 1.1rem;
  font-weight: 600;
  color: #006ab1;
  margin: 0 0 2.0rem;
  letter-spacing: 0.08em;
}



    
    
.lower_01_technology_intro .tech_intro_text{
  font-size: 1rem;
  line-height: 2;
  max-width: 820px;
  margin: 0 auto;
}

/* 右グレー（下地）：左下Bから斜めに上がる */
.lower_01_technology_intro::after{
display:none;
}

/* 左ブルー（前面） */
.lower_01_technology_intro::before{
display:none;
}

/* 巨大テキスト（位置はそのまま。背景より前） */
.lower_01_technology_intro .tech_bgtext{
  position:absolute;
  left:50%;
  bottom: 120px;              /* スクショ寄せ：少し上 */
  transform:translateX(-50%);
  font-size: clamp(1.5rem, 7vw, 9rem);
  font-weight: 900;
  color: rgba(255,255,255,0.5);
  -webkit-text-stroke: 1px rgba(0,106,177,0.5);
  letter-spacing: -0.08em;
  white-space: nowrap;
  pointer-events: none;
  z-index: 2;
  font-family: "hiragino-kaku-gothic-pron", sans-serif;
  max-width: 100%;
  overflow: hidden;
}


/* =========================
   lower_01_technology_showcase
   ========================= */

.lower_01_technology_showcase{
  padding: 5rem 0;
  background: #eef2f4;
}

.lower_01_technology_showcase .inner{
  width: min(1100px, calc(100% - 3rem));
  margin: 0 auto;
}

/* 1ブロック */
.lower_01_technology_showcase .tech_item{
  display: block;
  grid-template-columns: 1.1fr 0.9fr;
  gap: 2.5rem;
  align-items: center;
}

.lower_01_technology_showcase .tech_item + .tech_item{
  margin-top: 5rem;
}

/* 交互レイアウト */
.lower_01_technology_showcase .tech_item.is-left{
  grid-template-columns: 0.9fr 1.1fr;
}

.lower_01_technology_showcase .tech_item.is-left .tech_media{
  order: 2;
}
.lower_01_technology_showcase .tech_item.is-left .tech_body{
  order: 1;
}

/* 画像 */
.lower_01_technology_showcase .tech_media{
  border-radius: 1.2rem;
  overflow: hidden;
  background: #ddd;
}

.lower_01_technology_showcase .tech_media img{
  width: 100%;
  height: 100%;
  display: block;
  aspect-ratio: 16 / 10;
  object-fit: cover;
}

/* テキスト側 */
.lower_01_technology_showcase .tech_body{
  position: relative;
  padding: 1.2rem 0;
}

.lower_01_technology_showcase .tech_no{
  font-size: 3.2rem;
  line-height: 1;
  font-weight: 800;
  color: #0b4fa3;
  letter-spacing: 0.02em;
}

.lower_01_technology_showcase .tech_title{
  margin-top: 0.8rem;
  font-size: 1.35rem;
  line-height: 1.5;
  font-weight: 700;
  color: #1b1b1b;
}

.lower_01_technology_showcase .tech_text{
  margin-top: 1rem;
  font-size: 1rem;
  line-height: 1.9;
  color: #333;
  max-width: 36rem;
}

/* タイトル下のライン（任意） */
.lower_01_technology_showcase .tech_title{
  padding-bottom: 0.9rem;
  border-bottom: 1px solid rgba(0,0,0,0.12);
}


/* =========================
   産業施設の事業例（プラント清掃）
   ========================= */

.lower_01_technology_plant{
  padding: 5rem 0;
  background: #eef2f4;
}

.lower_01_technology_plant .inner{
  width: min(1100px, calc(100% - 3rem));
  margin: 0 auto;
}

/* 見出し */
.plant_head{
  margin-bottom: 2rem;
}


.plant_title{
  display: flex;
  align-items: center;       /* ← 縦中央を保証 */
  gap: 0.6rem;               /* 三角と文字の間 */
  font-size: 1.7rem;
  line-height: 1.25;
  font-weight: 800;
  color: #1b1b1b;
  letter-spacing: 0.02em;
  padding-bottom: 1rem;
  border-bottom: 0.2rem solid rgba(11, 79, 163, 0.22);
}

.plant_title::before{
  content: "";
  width: 0;
  height: 0;
  border-top: 0.4em solid transparent;
  border-bottom: 0.4em solid transparent;
  border-left: 0.6em solid #f39800; /* オレンジ */
  flex-shrink: 0;
}



.plant_lead{
  margin-top: 1.2rem;
  font-size: 1rem;
  line-height: 1.9;
  color: #333;
  max-width: 46rem;
}

/* メイン画像 */
.plant_hero{
  margin: 2rem 0 2.5rem;
  background: #ddd;
  border-radius: 1.2rem;
  overflow: hidden;
  box-shadow: 0 0.8rem 2rem rgba(0,0,0,0.06);
}

.plant_hero img{
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

/* 事業内容 */
.plant_menu{
  background: rgba(255,255,255,0.85);
  border: 0.1rem solid rgba(0,0,0,0.08);
  border-radius: 1.2rem;
  padding: 1.8rem 2rem;
}

.plant_menu_title{
  font-size: 1rem;
  font-weight: 800;
  color: #1b1b1b;
  letter-spacing: 0.02em;
  margin-bottom: 1rem;
}

.plant_menu_cols{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.6rem 3rem;
}

.plant_list{
  list-style: none;
  padding: 0;
  margin: 0;
}

.plant_list li{
  position: relative;
  padding-left: 1.4rem;
  font-size: 1rem;
  line-height: 1.8;
  color: #222;
}

.plant_list li + li{
  margin-top: 0.6rem;
}

.plant_list li::before{
  content: "";
  position: absolute;
  left: 0;
  top: 0.8em;
  width: 0.55rem;
  height: 0.55rem;
  border-radius: 50%;
  background: #111;
  transform: translateY(-50%);
}

/* 事例グリッド */
.plant_cases{
  margin-top: 3rem;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2.2rem;
}

.plant_case{
  background: rgba(255,255,255,0.9);
  border: 0.1rem solid rgba(0,0,0,0.08);
  border-radius: 1.2rem;
  overflow: hidden;
  box-shadow: 0 0.8rem 2rem rgba(0,0,0,0.05);
}

.plant_case_img{
  margin: 0;
  background: #ddd;
}

.plant_case_img img{
  width: 100%;
  height: 100%;
  display: block;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

.plant_case_body{
  padding: 1.2rem 1.3rem 1.4rem;
}

.plant_case_title{
  font-size: 1.05rem;
  line-height: 1.5;
  font-weight: 800;
  color: #1b1b1b;
  letter-spacing: 0.02em;
  padding-bottom: 0.8rem;
  border-bottom: 0.1rem solid rgba(0,0,0,0.10);
}

.plant_case_text{
  margin-top: 0.8rem;
  font-size: 0.95rem;
  line-height: 1.85;
  color: #333;
}



/* =========================
   lower_02_vehicle_* 共通
   ========================= */

.lower_02_vehicle_owned,
.lower_02_vehicle_units,
.lower_02_vehicle_equipment{
  padding: 5rem 0;
  background: #eef2f4;
}

.lower_02_vehicle_owned .inner,
.lower_02_vehicle_units .inner,
.lower_02_vehicle_equipment .inner{
  width: min(1100px, calc(100% - 3rem));
  margin: 0 auto;
}

/* 見出し */
.lower_02_head{
  margin-bottom: 2.2rem;
  padding-left:10px;
}

.lower_02_title{
  display: flex;
  align-items: center;       /* ← 縦中央を保証 */
  gap: 0.6rem;               /* 三角と文字の間 */
  font-size: 1.7rem;
  line-height: 1.25;
  font-weight: 800;
  color: #1b1b1b;
  letter-spacing: 0.02em;
  padding-bottom: 1rem;
  border-bottom: 0.2rem solid rgba(11, 79, 163, 0.22);
}

.lower_02_title::before{
  content: "";
  width: 0;
  height: 0;
  border-top: 0.4em solid transparent;
  border-bottom: 0.4em solid transparent;
  border-left: 0.6em solid #f39800; /* オレンジ */
  flex-shrink: 0;
}



/* =========================
  Company（会社概要）
========================= */

  .lower_03_company{
    padding: 0 0 3rem;
  }

  .lower_03_company .company_mv img{
    height: 14rem; /* スマホは浅めで見切りよく */
  }

  .lower_03_company .company_inner{
    padding: 1.75rem 1rem 0;
  }

  .lower_03_company .company_title{
    font-size: 1.6rem;
    margin-bottom: 0.75rem;
  }

  .lower_03_company .company_h3{
    font-size: 1.15rem;
  }

  .lower_03_company .company_table{

  }

  .lower_03_company .company_map iframe{
    height: 18rem;
  }
  .company_table.company_qualification tbody{
    grid-template-columns: 1fr;
  }
  /* =========================
  技術紹介
========================= */
  
.tech_media_add {
  margin: 20px auto;          /* 上下20px・左右中央 */
  max-width: 100%;
}

.tech_media_add img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 1.2rem;      /* 角丸 */
}

  .lower_01_technology_intro{

  }
  .lower_01_technology_intro .tech_intro_title{ font-size: 1.6rem; }
  .lower_01_technology_intro .tech_bgtext{ display:none; }



  .lower_01_technology_showcase{
    padding: 3.5rem 0;
  }

  .lower_01_technology_showcase .inner{
    width: calc(100% - 2rem);
  }

  .lower_01_technology_showcase .tech_item{
    grid-template-columns: 1fr;
    gap: 1.2rem;
  }

  .lower_01_technology_showcase .tech_item.is-left .tech_media,
  .lower_01_technology_showcase .tech_item.is-left .tech_body{
    order: initial;
  }

  .lower_01_technology_showcase .tech_item + .tech_item{
    margin-top: 3.2rem;
  }

  .lower_01_technology_showcase .tech_no{
    font-size: 2.6rem;
  }

  .lower_01_technology_showcase .tech_title{
    font-size: 1.2rem;
    padding-bottom: 0.8rem;
  }

  .lower_01_technology_showcase .tech_text{
    font-size: 0.95rem;
    line-height: 1.85;
    max-width: none;
  }
  
    .lower_01_technology_plant{
    padding: 2rem 0 0 0;
  }

  .lower_01_technology_plant .inner{
    width: calc(100% - 2rem);
  }

  .plant_title{
    font-size: 1.6rem;
  }

  .plant_hero{
    margin: 1.6rem 0 2rem;
    border-radius: 1rem;
  }

  .plant_menu{
    padding: 1.4rem 1.2rem;
  }

  .plant_menu_cols{
    grid-template-columns: 1fr;
    gap: 1rem;
  }

  .plant_cases{
    grid-template-columns: 1fr;
    gap: 1.4rem;
  }
  
  
    /* =========================
  保有車両
========================= */
  
    .lower_02_vehicle_owned,
  .lower_02_vehicle_units,
  .lower_02_vehicle_equipment{
    padding: 3.6rem 0;
  }

  .lower_02_vehicle_owned .inner,
  .lower_02_vehicle_units .inner,
  .lower_02_vehicle_equipment .inner{
    width: 100%;
  }

  .lower_02_title{
    font-size: 1.6rem;
  }

  .vehicle_block{
    padding: 1.3rem;
  }

  .vehicle_block_grid{
    grid-template-columns: 1fr;
    gap: 1.2rem;
  }

  .vehicle_specs > div{
    grid-template-columns: 8.5rem 1fr;
  }

  .vehicle_thumbs{
    grid-template-columns: repeat(3, 1fr);
  }

  .unit_grid{
    grid-template-columns: 1fr;
    gap: 1.1rem;
  }

  .equip_grid{
    grid-template-columns: 1fr;
    gap: 1.2rem;
  }



/* =========================
   問い合わせ
   ========================= */
  .lower_05_contact{
    padding: 4.2rem 0;
  }

  .lower_05_contact .inner{
    width: calc(100% - 2rem);
  }

  .lower_05_contact .contact_tel{
    font-size: 2.4rem;
  }

  .lower_05_contact .cf7_row{
    grid-template-columns: 1fr;
    gap: 0.7rem;
  }

  .lower_05_contact .cf7_label{
    padding-top: 0;
  }

  .lower_05_contact .cf7_zip{
    grid-template-columns: 1fr;
  }

  .lower_05_contact .cf7_addr_row{
    grid-template-columns: 1fr;
    gap: 0.4rem;
  }

/* =========================
   車両
   ========================= */

  .lower_02_vehicle_nav{
    padding: 2.4rem 0 2rem;
  }

  .lower_02_vehicle_nav .inner{
    width: calc(100% - 2rem);
  }

  .vehicle_nav{
    grid-template-columns: 1fr;
    gap: 1.2rem;
  }

  .vehicle_nav_item{
    font-size: 1rem;
    padding: 1.2rem 1rem 1.2rem 2.2rem;
  }

  .vehicle_nav_item::before{
    left: 0.9rem;
  }

/* =========================
   施工実績
   ========================= */



  .works_item_inner {
    padding: 2rem 1.6rem 2.4rem;
  }

  .works_title {
    font-size: 1.25rem;
  }

  .works_title_line {
    height: 0.3rem;
    margin-bottom: 2rem;
  }

  .works_photos {
    gap: 1.2rem;
    margin-bottom: 2rem;
  }

  .works_tools_list {
    column-count: 1;
  }
  



/* =========================
   保有特殊車両
   ========================= */

.vehicle_blocks{
  display: grid;
  gap: 2.4rem;
}

.vehicle_block{
  background: rgba(255,255,255,0.9);
  border: 0.1rem solid rgba(0,0,0,0.08);
  border-radius: 1.2rem;
  box-shadow: 0 0.8rem 2rem rgba(0,0,0,0.05);
  margin-bottom:10px;
}

.vehicle_block_grid{
  display: block;
  grid-template-columns: 1fr 1.05fr;
  gap: 2.2rem;
  align-items: start;
}

.vehicle_kicker{
  margin: 0 0 0.6rem;
  font-size: 0.95rem;
  font-weight: 700;
  color: #0b4fa3;
  letter-spacing: 0.02em;
}

.vehicle_name{
  margin: 0;
  font-size: 1.45rem;
  line-height: 1.4;
  font-weight: 800;
  color: #1b1b1b;
}

/* スペック */
.vehicle_specs{
  margin: 1.2rem 0 1.1rem;
  padding: 1.1rem 1.2rem;
  background: rgba(11,79,163,0.06);
  border-radius: 0.9rem;
}

.vehicle_specs > div{
  display: grid;
  grid-template-columns: 10rem 1fr;
  gap: 0.8rem;
  align-items: baseline;
}

.vehicle_specs > div + div{
  margin-top: 0.6rem;
}

.vehicle_specs dt{
  font-size: 0.95rem;
  font-weight: 800;
  color: #1b1b1b;
}

.vehicle_specs dd{
  margin: 0;
  font-size: 0.95rem;
  color: #333;
}

/* 特長 */
.vehicle_desc_title{
  margin: 0 0 0.6rem;
  display: inline-block;
  font-size: 0.9rem;
  font-weight: 800;
  color: #000;
  background: #f39800;
  padding: 0.35rem 0.6rem;
  border-radius: 0.4rem;
}

.vehicle_desc p{
  margin: 0;
  font-size: 0.95rem;
  line-height: 1.9;
  color: #333;
}

/* 画像 */
.vehicle_main{
  margin: 0;
  border-radius: 1rem;
  overflow: hidden;
  background: #ddd;
}


.vehicle_main img{
  width: 100%;
  display: block;
  /*aspect-ratio: 16 / 9;*/
  object-fit: cover;
}

#tate img{
 aspect-ratio: auto !important;

}



.vehicle_thumbs{
  margin-top: 0.9rem;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0.6rem;
}

.vehicle_thumbs img{
  width: 100%;
  display: block;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: 0.6rem;
  background: #ddd;
}

/* =========================
   関連ユニット
   ========================= */

.unit_blocks{
  display: grid;
  gap: 1.8rem;
}

.unit_block{
  background: rgba(255,255,255,0.9);
  border: 0.1rem solid rgba(0,0,0,0.08);
  border-radius: 1.2rem;
  padding: 1.8rem;
  box-shadow: 0 0.8rem 2rem rgba(0,0,0,0.05);
}

.unit_grid{
  display: block;
  grid-template-columns: 1fr 0.9fr;
  gap: 2rem;
  align-items: center;
}

.unit_kicker{
  margin: 0 0 0.5rem;
  font-size: 0.95rem;
  font-weight: 700;
  color: #0b4fa3;
}

.unit_name{
  margin: 0 0 1rem;
  font-size: 1.35rem;
  font-weight: 800;
  color: #1b1b1b;
}

.unit_desc_title{
  margin: 0 0 0.6rem;
  display: inline-block;
  font-size: 0.9rem;
  font-weight: 800;
  color: #fff;
  background: #0b4fa3;
  padding: 0.35rem 0.6rem;
  border-radius: 0.4rem;
}

.unit_desc p{
  margin: 0;
  font-size: 0.95rem;
  line-height: 1.9;
  color: #333;
}

.unit_img{
  margin: 0;
  border-radius: 1rem;
  overflow: hidden;

}

.unit_img img{
  width: 100%;
  display: block;
  /*aspect-ratio: 4 / 3;*/
  object-fit: cover;
}

/* =========================
   設備機器
   ========================= */

.equip_grid{
  display: block;
  grid-template-columns: 1fr 1fr;
  gap: 1.6rem;
}

.equip_card{
  background: rgba(255,255,255,0.92);
  border: 0.1rem solid rgba(0,0,0,0.08);
  border-radius: 1.2rem;
  overflow: hidden;
  box-shadow: 0 0.8rem 2rem rgba(0,0,0,0.05);
}

.equip_img{
  margin: 0;
  background: #ddd;
}

.equip_img img{
  width: 100%;
  display: block;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

.equip_body{
  padding: 1.1rem 1.2rem 1.3rem;
}

.equip_name{
  margin: 0;
  font-size: 1.05rem;
  font-weight: 800;
  color: #1b1b1b;
  padding-bottom: 0.8rem;
  border-bottom: 0.1rem solid rgba(0,0,0,0.10);
}

.equip_meta{
  margin: 0.9rem 0 0;
  padding-left: 1.1rem;
  color: #333;
  font-size: 0.95rem;
  line-height: 1.8;
}

/* 設備機器：区切り */
.lower_02_vehicle_equipment .equip_divider{
  margin: 2.2rem 0 1.6rem;
}

.lower_02_vehicle_equipment .equip_divider_line{
  height: 0.1rem;
  background: rgba(0,0,0,0.12);
}

.lower_02_vehicle_equipment .equip_divider_title{
  margin: 0.9rem 0 0;
  font-size: 1rem;
  font-weight: 800;
  color: #1b1b1b;
  letter-spacing: 0.02em;
}


/* =========================
   車両ページ：ページ内リンク
   ========================= */

.lower_02_vehicle_nav{
  padding: 3.5rem 0 2.5rem;
  background: #eef2f4;
}

.lower_02_vehicle_nav .inner{
  width: min(1100px, calc(100% - 3rem));
  margin: 0 auto;
}

/* ナビ全体 */
.vehicle_nav{
  display: block;
  grid-template-columns: repeat(3, 1fr);
  gap: 2.2rem;
}

/* ボタン */
.vehicle_nav_item{
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.5rem 1rem 0.5rem 2.4rem; /* ← 左に三角分余白 */
  font-size: 1.2rem;
  font-weight: 700;
  letter-spacing: 0.02em;

  color: #1b1b1b;
  background: #fff;
  border: 2px solid #f39800;
  border-radius: 0.6rem;
  text-decoration: none;
  transition: background 0.25s ease, color 0.25s ease;
  margin-bottom:15px;
}

/* 左の小さな右向き三角（黒） */
.vehicle_nav_item::before{
  content: "";
  position: absolute;
  left: 1rem;
  top: 50%;
  transform: translateY(-50%);

  width: 0;
  height: 0;
  border-top: 0.35em solid transparent;
  border-bottom: 0.35em solid transparent;
  border-left: 0.5em solid #000;
}

/* hover */
.vehicle_nav_item:hover{
  background: #f39800;
  color: #fff;
}

/* hover時も三角は黒のまま */
.vehicle_nav_item:hover::before{
  border-left-color: #000;
}

.vehicle_nav_item:visited{
  color: #000;
}

.vehicle_media,
.unit_img 
 {
padding-top:15px;
}

.equip_card {
margin-bottom:10px;
}


/* =========================
  Company（会社概要）
========================= */
.lower_03_company{
  padding: 0 0 4rem;
}

.lower_03_company .company_mv{
  width: 100%;
  text-align: center;
  padding: 2rem 0;
}

.lower_03_company .company_mv img{
  display: inline-block;
  max-width: 1000px;
  width: 100%;
  height: auto;
}


.lower_03_company .company_inner{
  max-width: 1100px;
  margin: 0 auto;
  padding: 2.5rem 1.25rem 0;
}

.lower_03_company .company_header{
  margin-bottom: 2rem;
}



.lower_03_company .company_title{
  display: flex;
  align-items: center;       /* ← 縦中央を保証 */
  gap: 0.6rem;               /* 三角と文字の間 */
  font-size: 1.7rem;
  line-height: 1.25;
  font-weight: 800;
  color: #1b1b1b;
  letter-spacing: 0.02em;
  padding-bottom: 1rem;
  border-bottom: 0.2rem solid rgba(11, 79, 163, 0.22);
}

.lower_03_company .company_title::before{
  content: "";
  width: 0;
  height: 0;
  border-top: 0.4em solid transparent;
  border-bottom: 0.4em solid transparent;
  border-left: 0.6em solid #f39800; /* オレンジ */
  flex-shrink: 0;
}


.lower_03_company .company_lead{
  font-size: 1rem;
  line-height: 1.9;
  margin: 0;
  padding-top:15px;
}

.lower_03_company .company_block{
  margin-top: 2.5rem;
}

.lower_03_company .company_h3{
  font-size: 1.25rem;
  line-height: 1.4;
  margin-bottom: 1rem;
  padding-left: 0.75rem;
  border-left: 0.25rem solid #0a2f6f; /* サイトのメイン色に合わせて変更OK */
}

.lower_03_company .company_text{
  font-size: 1rem;
  line-height: 1.9;
  margin: 0;
}

.lower_03_company .company_points,
.lower_03_company .company_list{
  margin: 1rem 0 0;
  padding-left: 1.25rem;
}

.lower_03_company .company_points li,
.lower_03_company .company_list li{
  font-size: 1rem;
  line-height: 1.9;
  margin: 0.4rem 0;
}

.lower_03_company .company_table_wrap{
  margin-top: 1rem;
 
}

.lower_03_company .company_table{
  width: 100%;
  border-collapse: collapse;

}

.lower_03_company .company_table th,
.lower_03_company .company_table td{
  border: 1px solid rgba(0,0,0,0.12);
  padding: 0.9rem 1rem;
  font-size: 1rem;
  line-height: 1.7;
  vertical-align: top;
    display:block;
}

.lower_03_company .company_table th{
  width: 100%;
  background: rgba(0,0,0,0.04);
  /*font-weight: 600;*/
  display:block;
  text-align:left;
}

.company_history th{
  width: 100%;
  white-space: nowrap;
  display:block;
}


.lower_03_company .company_map{
  width: 100%;
  margin-top: 1rem;
}

.lower_03_company .company_map iframe{
  display: block;
  width: 100%;
  height: 28rem;   /* PC想定 */
  border: 0;
}


/* 事業許可一覧だけ th を広くする */
.company_table.company_license th{
	display:block;
  text-align:left;
  width:100%;
}

.company_table.company_license td{
  	display:block;
  text-align:left;
  width:100%;
}

/* 技術資格一覧：2カラム化 */
.company_table.company_qualification tbody{

  column-gap: 2rem;
}

/* 各行をブロック扱いに */
.company_table.company_qualification tr{
  display: block;
  margin-bottom:10px;
}

/* th の見た目はそのまま */
.company_table.company_qualification th{
  background: #fff;
  font-weight: 400;
  text-align: left;
  padding: 0.4rem 0.8rem;
  line-height: 1.7;
}

/* =========================
資材置場リンク（控えめ表示）
========================= */

.shizaiokiba {
  margin-top: 2.5rem;
  padding: 1.2rem 1.6rem;
  background: #f4f6f8;
  border: 1px solid #e1e4e8;
  border-radius: 0.4rem;
}

.shizaiokiba ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.shizaiokiba li {
  font-size: 0.9rem;
  line-height: 1.6;
}

.shizaiokiba li + li {
  margin-top: 0.6rem;
}

.shizaiokiba a {
  color: #5a6575;
  text-decoration: none;
  transition: color 0.2s ease;
}

.shizaiokiba a:hover {
  color: #1d3f73; /* サイト基調色に寄せる */
  text-decoration: underline;
}



/* =========================
  Recruit（採用情報）
========================= */
.lower_04_recruit{
  padding: 3rem 0;
}

.lower_04_recruit .recruit_inner{
  max-width: 1000px;
  margin: 0 auto;
  padding: 0 1.25rem;
}



.lower_04_recruit .recruit_title{
  display: flex;
  align-items: center;       /* ← 縦中央を保証 */
  gap: 0.6rem;               /* 三角と文字の間 */
  font-size: 1.7rem;
  line-height: 1.25;
  font-weight: 800;
  color: #1b1b1b;
  letter-spacing: 0.02em;
  padding-bottom: 1rem;
  border-bottom: 0.2rem solid rgba(11, 79, 163, 0.22);
}

.lower_04_recruit .recruit_title::before{
  content: "";
  width: 0;
  height: 0;
  border-top: 0.4em solid transparent;
  border-bottom: 0.4em solid transparent;
  border-left: 0.6em solid #f39800; /* オレンジ */
  flex-shrink: 0;
}


.lower_04_recruit .recruit_table{
  width: 100%;
  border-collapse: collapse;
}

.lower_04_recruit .recruit_table th,
.lower_04_recruit .recruit_table td{
  padding: 1.2rem 0;
  border-bottom: 1px solid #ddd;
  vertical-align: top;
  font-size: 1rem;
  line-height: 1.8;
   display:block;
}

.lower_04_recruit .recruit_table th{
  width: 100%;
  font-weight: 600;
  white-space: nowrap;
  text-align:left;
 
}

.lower_04_recruit .recruit_note{
  margin-top: 2rem;
  font-size: 0.95rem;
  font-weight: 600;
  text-align: center;
}

/* =========================
   問い合わせ
   ========================= */

.lower_05_contact{
  padding: 6rem 0;
  background: #fff;
}

.lower_05_contact .inner{
  width: min(980px, calc(100% - 3rem));
  margin: 0 auto;
}

/* 見出しブロック */
.lower_05_contact .contact_phone,
.lower_05_contact .contact_mail{
  text-align: center;
}

.lower_05_contact .contact_phone{
  padding-bottom: 5rem;
}

.lower_05_contact .contact_bar{
  width: 3.2rem;
  height: 0.25rem;
  background: #0082d6;
  margin: 0 auto 1.6rem;
}

.lower_05_contact .contact_en{
  font-size: 1.2rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  color: #1b1b1b;
  margin: 0;
}

.lower_05_contact .contact_jp{
  margin: 0.8rem 0 2rem;
  font-size: 1rem;
  color: #1b1b1b;
}

.lower_05_contact .contact_tel{
  margin: 0;
  font-size: 1.5rem;
  font-weight: 700;
  letter-spacing: 0.06em;
}

.lower_05_contact .contact_tel a{
  color: #f39800;
  text-decoration: none;
}

/* フォーム枠 */
.lower_05_contact .contact_form_wrap{
  margin-top: 2.4rem;
  text-align: left;
}


.lower_05_contact .cf7_form{
  width: min(780px, 100%);
  margin: 0 auto;
}

.lower_05_contact .cf7_row{
  grid-template-columns: 10.5rem 1fr;
  gap: 1.6rem;
  align-items: start;
  padding: 1.2rem 0;
  border-bottom: 0.1rem solid rgba(0,0,0,0.08);
}

.lower_05_contact .cf7_label{
  font-size: 0.95rem;
  font-weight: 600;
  color: #1b1b1b;
  padding-top: 0.6rem;
  padding-bottom: 0.3rem;
  white-space: nowrap;
}

.lower_05_contact .cf7_field{
  width: 100%;
}

.lower_05_contact .cf7_two{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.8rem;
}

.lower_05_contact .cf7_input,
.lower_05_contact .cf7_select,
.lower_05_contact .cf7_textarea{
  width: 100%;
  box-sizing: border-box;
  border: 0.1rem solid rgba(0,0,0,0.35);
  border-radius: 0.2rem;
  padding: 0.65rem 0.75rem;
  font-size: 1rem;
  color: #1b1b1b;
  background: #fff;
  outline: none;
}

.lower_05_contact .cf7_textarea{
  min-height: 10rem;
  resize: vertical;
}

.lower_05_contact .cf7_input:focus,
.lower_05_contact .cf7_select:focus,
.lower_05_contact .cf7_textarea:focus{
  border-color: rgba(243,152,0,0.9);
  box-shadow: 0 0 0 0.2rem rgba(243,152,0,0.15);
}

/* 郵便番号 */
.lower_05_contact .cf7_zip{
  display: grid;
  grid-template-columns: 14rem 1fr;
  gap: 0.8rem;
  align-items: center;
}

.lower_05_contact .cf7_zip_btn{
  height: 2.7rem;
  border: 0.1rem solid rgba(0,0,0,0.35);
  background: #fff;
  border-radius: 0.2rem;
  font-size: 0.95rem;
  cursor: pointer;
  white-space: nowrap;
}

.lower_05_contact .cf7_zip_btn:hover{
  border-color: rgba(243,152,0,0.9);
}

/* 住所 */
.lower_05_contact .cf7_addr{
  display: grid;
  gap: 0.6rem;
}

.lower_05_contact .cf7_addr_row{

  grid-template-columns: 7rem 1fr;
  gap: 0.8rem;
  align-items: center;
}

.lower_05_contact .cf7_addr_cap{
  font-size: 0.9rem;
  color: #333;
  white-space: nowrap;
}

/* 個人情報 */
.lower_05_contact .cf7_privacy{
  margin-top: 2.2rem;
  text-align: center;
}

.lower_05_contact .cf7_privacy_title{
  margin: 0 0 1rem;
  font-size: 0.95rem;
  font-weight: 700;
  color: #1b1b1b;
}

.lower_05_contact .cf7_privacy_text{
  margin: 0 auto;
  font-size: 0.95rem;
  line-height: 1.9;
  color: #1b1b1b;
  max-width: 46rem;
}

.lower_05_contact .cf7_accept{
  margin-top: 1.2rem;
  font-size: 1rem;
  text-align: center;
}

/* 注意文 */
.lower_05_contact .cf7_note{
  margin: 2rem auto 0;
  text-align: center;
  font-size: 0.9rem;
  line-height: 1.8;
  color: #1b1b1b;
}

/* 送信ボタン */
.lower_05_contact .cf7_submit{
  margin-top: 2.6rem;
  text-align: center;
}

.lower_05_contact .cf7_submit_btn{
  display: inline-block;
  width: min(360px, 100%);
  padding: 1.1rem 1rem;
  font-size: 1.1rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  color: #000;
  background: #f39800;
  border: none;
  border-radius: 0;
  cursor: pointer;
}

.lower_05_contact .cf7_submit_btn:hover{
  filter: brightness(0.95);
}

/* CF7 デフォルトのエラー表示を整える */
.lower_05_contact .wpcf7-not-valid-tip{
  font-size: 0.9rem;
  margin-top: 0.4rem;
}

.lower_05_contact .wpcf7-response-output{
  margin: 1.6rem auto 0;
  max-width: 46rem;
  font-size: 0.95rem;
}

/* プライバシーポリシーリンク：下線表示 */
.cf7_privacy_text a{
  color: inherit;              /* 文字色は本文と同じ */
  text-decoration: underline;  /* 下線を出す */
  text-underline-offset: 0.15em;
}

.cf7_privacy_text a:hover{
  text-decoration: none;       /* ホバー時は下線を消す（任意） */
}


/* =========================
  個人情報
   ========================= */



.lower_06_privacy{
  padding: 5rem 0;
  background: #fff;
}

.lower_06_privacy .inner{
  width: min(900px, calc(100% - 3rem));
  margin: 0 auto;
}

.lower_06_head{
  margin-bottom: 2.4rem;
}

.lower_06_title{
  display: flex;
  align-items: center;       /* ← 縦中央を保証 */
  gap: 0.6rem;               /* 三角と文字の間 */
  font-size: 1.7rem;
  line-height: 1.25;
  font-weight: 800;
  color: #1b1b1b;
  letter-spacing: 0.02em;
  padding-bottom: 1rem;
  border-bottom: 0.2rem solid rgba(11, 79, 163, 0.22);
}

.lower_06_title::before{
  content: "";
  width: 0;
  height: 0;
  border-top: 0.4em solid transparent;
  border-bottom: 0.4em solid transparent;
  border-left: 0.6em solid #f39800; /* オレンジ */
  flex-shrink: 0;
}

.privacy_body p{
  margin: 0 0 1.6rem;
  line-height: 1.9;
  color: #333;
}

.privacy_body h3{
  margin: 2.6rem 0 0.8rem;
  font-size: 1.2rem;
  font-weight: 800;
  color: #1b1b1b;
}

/* =========================
施工実績
========================= */

.lower_07_works {
  padding: 5rem 0;
  background: #eef2f4;
}

/* 施工実績 1件 */
.works_item {
  margin-bottom: 1rem;
}

.works_item_inner {
  width:100%;
  margin: 0 auto;
  padding: 1rem 0.5rem;
  background: #f9f9fa;              /* 白より少しグレー */
  border: 1px solid #d6d8dd;        /* グレー系ボーダー */
  border-radius: 0.6rem;
}

/* 工事名称 */
.works_title {
  font-size: 1.0rem;
  font-weight: 700;
  margin: 0 0 1rem;
  letter-spacing: 0.02em;
  color: #1d2b46;
}

/* グラデーションライン */
.works_title_line {
  width: 26rem;
  max-width: 100%;
  height: 0.35rem;
  background: linear-gradient(
    90deg,
    #1d3f73 0%,
    #2f5fa8 40%,
    rgba(47, 95, 168, 0) 100%
  );
  margin-bottom: 2.6rem;
}

/* 写真エリア */
.works_photos {
  display: block;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.6rem;
  margin-bottom: 2.4rem;
}

.works_photo {
  margin-bottom: 10px;
  border-radius: 0.4rem;
  overflow: hidden;
  aspect-ratio: 1 / 1;
  background: linear-gradient(
    135deg,
    #e1e3e8 0%,
    #cfd3da 100%
  ); /* 写真未設定時のグラデーション */
}

.works_photo img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

/* 使用機材 */
.works_tools_head {
  font-size: 1.05rem;
  font-weight: 700;
  margin-bottom: 0.8rem;
  color: #222;
}

.works_tools_list {
  margin: 0;
  padding-left: 1.2rem;
  list-style: disc;
  font-size: 0.95rem;
  line-height: 1.8;
  column-gap: 3rem;
  color: #333;
}

.works_tools_list li {
  break-inside: avoid;
}

  .works_tools {
  padding-bottom:1rem;
  }


/* =========================
お知らせ一覧
========================= */

.lower_08_info{
  padding: 4rem 0;
}

.lower_08_info_inner{
  max-width: 1000px;
  margin: 0 auto;
  padding: 0 1.25rem;
}

/* 1件 */
.info_item{
  display: grid;
  grid-template-columns: 10rem 1fr;
  column-gap: 3rem;
  padding: 2.5rem 0;
  border-bottom: 1px dotted rgba(0,0,0,0.25);
}

.info_item:first-child{
  border-top: 1px dotted rgba(0,0,0,0.25);
}

/* 日付ブロック */
.info_datebox{
  padding-top: 0.2rem;
}

.info_date{
  display: inline-block;
  font-size: 0.95rem;
  font-weight: 700;
  color: #111;
  letter-spacing: 0.03em;
}

.info_date_line{
  display: block;
  width: 4.5rem;
  height: 0.15rem;
  background: #111;
  margin-top: 0.6rem;
}

/* 本文側 */
.info_body{
  position: relative;
}

.info_title{
  font-size: 1.1rem;
  font-weight: 700;
  color: #111;
  margin: 0 0 0.9rem;
}

.info_text{
  font-size: 0.95rem;
  line-height: 1.9;
  color: #222;
  margin: 0;
  max-width: 40rem;
}

/* 右下ボタン */
.info_btnwrap{
  display: flex;
  justify-content: flex-end;
  margin-top: 1.25rem;
}

.info_btn{
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;

  height: 2.6rem;
  min-width: 9.5rem;
  padding: 0 2.2rem 0 1.4rem; /* 右の三角分だけ余白多め */

  background: #000;
  color: #fff;
  font-size: 0.9rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-decoration: none;
  line-height: 1;

  transition: opacity 0.2s ease;
}

/* 右側を尖らせる（三角） */
.info_btn::after{
  content: "";
  position: absolute;
  top: 0;
  right: -1.3rem;
  width: 0;
  height: 0;
  border-top: 1.3rem solid transparent;
  border-bottom: 1.3rem solid transparent;
  border-left: 1.3rem solid #666;
}

.info_btn:hover{
  opacity: 0.85;
}

  .lower_08_info{
    padding: 3rem 0;
  }

  .info_item{
    grid-template-columns: 1fr;
    row-gap: 1rem;
    column-gap: 0;
    padding: 2rem 0;
  }

  .info_date_line{
    width: 5rem;
  }

  .info_text{
    max-width: none;
  }

  .info_btnwrap {
    justify-content: flex-end;
  }



.company_photo {
    position: static;
    width: 100%;
    margin-bottom: 1.6rem;
  }

  .company_table {
    padding-right: 0;
  }

/**********close*******************/
}



/* タブレット縦向き（iPad含む）でスマホヘッダーに切り替え */
@media screen and (max-width: 1023px) and (orientation: portrait) {
    .unit_block {
        height: 900px;
    }
}

/* スマホのみ */
@media screen and (max-width: 767px) {
  .unit_block {
    height: auto;
  }
}




