.elementor-32 .elementor-element.elementor-element-0f0d150{--display:flex;--min-height:308px;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;}.elementor-32 .elementor-element.elementor-element-0f0d150:not(.elementor-motion-effects-element-type-background), .elementor-32 .elementor-element.elementor-element-0f0d150 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://07.web-demo.info/wp-content/uploads/2025/11/p_obi.webp");background-position:center center;background-repeat:no-repeat;background-size:cover;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-32 .elementor-element.elementor-element-523ad9b{text-align:center;}.elementor-32 .elementor-element.elementor-element-523ad9b .elementor-heading-title{font-family:"Noto Serif JP", Sans-serif;font-size:38px;font-weight:600;color:var( --e-global-color-accent );}.elementor-32 .elementor-element.elementor-element-9d3fa21{--display:flex;}.elementor-32 .elementor-element.elementor-element-bf4fd42{padding:90px 0px 90px 0px;}:root{--page-title-display:none;}@media(max-width:767px){.elementor-32 .elementor-element.elementor-element-0f0d150{--min-height:150px;}.elementor-32 .elementor-element.elementor-element-523ad9b .elementor-heading-title{font-size:22px;}.elementor-32 .elementor-element.elementor-element-9d3fa21{--padding-top:0px;--padding-bottom:0px;--padding-left:20px;--padding-right:20px;}.elementor-32 .elementor-element.elementor-element-bf4fd42{padding:55px 0px 55px 0px;}}/* Start custom CSS for html, class: .elementor-element-bf4fd42 *//* =========================
   工事の流れ レイアウト（PC）
   ========================= */



/* タイトル */
.flow__title {
  font-size: 26px;
  font-weight: 700;
  text-align: center;
  margin-bottom: 45px;
}

/* リスト */
.flow__list {
  list-style: none;
  margin: 0;
  padding: 0;
}

/* ステップ1行分 */
.flow__item {
  position: relative;
  display: flex;
  align-items: center;
  margin-bottom: 30px;
}

/* 円（左） */
.flow__icon {
  position: relative;
  flex: 0 0 180px;          /* 直径180pxで固定 */
  width: 180px;
  height: 180px;
  border-radius: 50%;
  border: 3px solid #296326; /* 指定の緑 */
  background-color: #fff;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  margin-right: 0;          /* ここは0にして、重なりは右側で調整 */
  z-index: 1;
}


/* STEP 表記とラベル */
.flow__step {
  font-size: 22px;
  font-weight: 800;
  margin: 0 0 4px;
  color: #296326;
}

.flow__label {
  font-size: 20px;
  font-weight: 600;
  line-height: 1.3;
  margin: 0;
  color: #000;
}

/* 矢印SVG（円の真下） */
.flow__arrow {
  position: absolute;
  left: 50%;
  top: 100%;
  transform: translateX(-50%);
  margin-top: 0px;
  width: 21px;
  height: auto;
}

/* 最後のSTEPは矢印非表示 */
.flow__item:last-child .flow__arrow {
  display: none;
}

/* 右カプセル（幅 1013px / 高さ 146px 固定） */
.flow__content {
  flex: 0 0 1013px;
  width: 1013px;
  height: 146px;              /* 高さ固定 */
  box-sizing: border-box;
  background-color: #EDEADD;
  border-radius: 20px;

  /* 上下中央寄せのためのflex設定 */
  display: flex;
  align-items: center;         /* ← 縦方向センター */
  justify-content: flex-start; /* 横は左詰め */

  padding: 0 60px;             /* ← 上下は0、左右だけ余白 */
  margin-left: -33px;          /* 円にかぶせる量 */
}

.flow__content p {
  margin: 0;
  font-size: 18px;
  line-height: 30px;
}

/* フッターテキスト */
.flow__footer {
  margin-top: 40px;
  text-align: center;
  font-size: 18px;
  line-height:30px;
}

/* =========================
   スマホ以下は自由レイアウト
   ========================= */

@media (max-width: 767px) {
  

  .flow__title {
    font-size: 20px;
    margin-bottom: 30px;
  }

  .flow__item {
    flex-direction: column;
    align-items: center;
    margin-bottom: 15px;
  }
  
  .flow__item:last-child .flow__arrow {
display: inline-block;
}

  .flow__icon {
    width: 180px;
    height: 180px;
    flex-basis: 180px;
  }
  
  /* STEP 表記とラベル */
.flow__step {
  font-size: 22px;
  font-weight: 800;
  margin: 0 0 4px;
  color: #296326;
}

.flow__label {
  font-size: 20px;
  font-weight: 600;
  line-height: 1.3;
  margin: 0;
  color: #000;
}

  .flow__content { height: auto;  
    flex: 1 1 auto;
    max-width: 100%;
    margin-left: 0;
    margin-top:25px ;
    width: 100%;
    border-radius: 20px;
    padding: 18px;
  }
  
  

  .flow__content p {
    font-size: 15px;
  }

  .flow__footer {
    font-size: 15px;
      line-height:25px;

  }
}/* End custom CSS */