.p-warning-ttl-wrapper{
  text-align: center;
}
.post_content .p-warning-ttl{
  position: relative;
  display: inline-block;
}
.post_content .p-warning-ttl.is-style-section_ttl::before{
  content: "" !important;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: -55px;
  width: 50px;
  height: 50px;
  background-image: url('../../uploads/2026/07/icon_warning-1.webp');
  background-size: contain;
  background-repeat: no-repeat;
  z-index: 11;
  background-color: transparent !important;
}

.post_content .p-subttl-line{
  position: relative;
  color: #009E50 !important;
  font-weight: bold !important;
}
.post_content .p-subttl-line::before{
  content: "" !important;
  width: 1.2em;
  height: 1px;
  background-color: #009E50 !important;
  top: 50%;
  transform: translateY(-50%);
  left: -1.5em !important;
  position: absolute;
}
.post_content .p-subttl-line::after{
  content: "" !important;
  width: 1.2em;
  height: 1px;
  background-color: #009E50 !important;
  top: 50%;
  transform: translateY(-50%);
  right: -1.5em !important;
  position: absolute;
}
/* 横ラインあしらいタイトル */
.post_content .p-left-line-ttl{
  position: relative;
  padding: .5em 1em !important;
}
.post_content .p-left-line-ttl::before{
  width: 5px !important;
  height: 2em !important;
  content: "" !important;
  background: #84CF4D !important;
  position: absolute;
  left: 0 !important;
}
.post_content .p-method-ttl{
  background-color: #009E50 !important;
  color: #fff !important;
  padding: .5em !important;
  border-bottom: 2px solid #fff !important;
}

.p-method-img{
  position: relative;
  z-index: 2;
}
.p-method-img::before{
  position: absolute;
  width: 100% !important;
  height: 100% !important;
  content: "" !important;
  background-color: #84CF4D !important;
  right: -8px;
  bottom: -8px !important;
  z-index: -1 !important;
}
/* =============================================
マテリアルセクション
============================================= */
.p-material-card {
  background: #fff !important;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.06);
  border: none !important;
  border-radius: 20px;
}
.post_content .p-material-ttl{
  background-color: #009E50 !important;
  color: #fff !important;
  padding: 5px !important;
}

.post_content .p-material-price{

}

/* =============================================
おすすめセクション
============================================= */
.post_content .p-recommend-ttl{
  padding: .2em .5em !important;
  border-top: 3px solid #009E50 !important;
  border-bottom: 3px solid #009E50 !important;
}

/* =============================================
流れセクション
============================================= */
.p-flow-wrapper {
  counter-reset: flow-counter;
}
.p-flow-item .swell-block-columns__inner{
  padding: 2em !important;
  background-color: #F4F1EE;
  border-radius: 20px;
  position: relative;
}
.p-flow-item .swell-block-columns__inner::after {
  content: "";
  position: absolute;
  bottom: -1.5em;
  left: 50%;
  transform: translateX(-50%);
  border-style: solid;
  border-width: 15px 15px 0 15px;
  border-color: #009E50 transparent transparent transparent;
  
  z-index: 2;
}
.p-flow-item:last-child .swell-block-columns__inner::after{
  display: none;
}

.post_content .p-flow-ttl {
  position: relative;
  padding-left: 2.5em !important;
  display: flex;
  align-items: center;
  min-height: 1.5em;
  z-index: 1;
  padding-bottom: .1em;
  border-bottom: #84CF4D 2px solid !important;
}

.p-flow-ttl::before {
  counter-increment: flow-counter;
  content: counter(flow-counter, decimal-leading-zero) !important;

  position: absolute;
  left: -0.1em !important;
  bottom: -8px !important;

  font-family: 'ProzaLibreLocal', sans-serif;
  font-weight: 800;
  font-size: 3rem;
  color: rgba(0, 158, 80, 1);
  line-height: 1;
  z-index: -1 !important;
  pointer-events: none;
  background-color: transparent !important;
  height: auto !important;
}


/* =============================================
こだわりセクション
============================================= */
.p-commitment-outer{
  counter-reset: commitment-count;
}
.p-commitment-wrapper figure img{
  border-radius: 12px !important;
}
.p-commitment-body {
  position: relative;
  background: #fff;
  padding: 2em !important;
  border-radius: 12px;
  box-shadow: 0 15px 40px rgba(0,0,0,0.08);
  z-index: 2;
}
.p-commitment-body::before {
  counter-increment: commitment-count;
  content: counter(commitment-count, decimal-leading-zero);
  position: absolute;
  top: -20px;
  right: 20px;
  font-family: 'ProzaLibreLocal', sans-serif;
  font-size: 6rem;
  font-weight: 800;
  color: rgba(0, 158, 80, 0.3);
  line-height: 1;
  z-index: -1;
}
.p-commitment-badge {
  display: inline-block;
  background-color: #009E50 !important;
  color: #fff !important;
  font-weight: bold;
  padding: 4px 16px !important;
  border-radius: 50px !important;
}
.post_content .p-commitment-ttl {
  font-weight: bold;
  border: none !important;
}
/* =============================================
ステップセクション
============================================= */
.p-step-list{
  gap: .2em 1em !important;
}

.is-style-big>.swell-block-step__item>.swell-block-step__number{
  margin-bottom: 0 !important;
}
.is-style-big>.swell-block-step__item>.swell-block-step__number .__label{
  font-size: 18px !important;
}
.is-style-big>.swell-block-step__item>.swell-block-step__number:after{
  font-size: 40px !important;
}
.is-style-big .swell-block-step__title{
  background-color: #009E50;
  padding: 5px 0 !important;
  color: #fff !important;
}