@charset "UTF-8";
/*
  エスプロ
-----------------------------------------------*/
.service-02 {}

/* タイトル画像の配置を上書き */
/*.l-head_img img {
  object-position: left center;
}*/

/*----------------
  sec-01 スマートな購買管理システム
*/
.sec-01 {
  background-color: var(--c-main-green);
  color: #fff;
  padding: 60px 0 40px;
  position: relative;
}

/* 斜めの黒グラデーション */
._bg-triangle {
  position: relative;
  /*inset: 0;*/
}
._bg-triangle::before {
  content: "";
  position: absolute;
  inset: 0;
  mix-blend-mode: multiply;
  background-image: linear-gradient(-36deg, rgba(0, 0, 0, 0.1) 46%, rgba(0, 0, 0, 0) 46%);
}

/* 2カラム */
.sec01__inner {
  display: flex;
  flex-direction: column;
  gap: 40px 5%;
  margin: 60px auto 0;
}
.sec01__inner ._pic {}
.sec01__inner ._pic .caption {
  font-size: calc(13rem / 16);
  display: block;
  margin-top: 1em;
  text-align: center;
}

/* 見出し */
.sec01__inner ._hedding-01 {
  font-size: clamp( 1.25rem, calc( 1.13rem + 0.48vw ), 1.5rem );/* 20px - 24px */
  font-weight: 600;
  margin-bottom: 0.8em;
  font-feature-settings: "palt";
  letter-spacing: 0.05em;
}
/* 見出し小さめ */
.sec01__inner ._hedding-02 {
  font-size: clamp( 1.125rem, calc( 1.06rem + 0.24vw ), 1.25rem );/* 18px - 20px */
  font-weight: 600;
  margin: 1.5em 0 0.8em;
  font-feature-settings: "palt";
  letter-spacing: 0.05em;
}

.sec01__inner .normal-txt {
  font-feature-settings: "palt";
  letter-spacing: 0.05em;
}

@media screen and (min-width: 768px) {
  .sec-01 {
    padding: 100px 0 80px;
  }
  .sec01__inner {
    flex-direction: row;
    margin: 90px auto 0;
  }
  .sec01__inner ._pic {
    width: calc(100% * (520 / 1200));
  }
  .sec01__inner ._pic .caption {
    font-size: calc(14rem / 16);
  }
  .sec01__inner ._main {
    flex: 1;
  }
}


/*----------------
  sec-02　特徴
*/
.sec-02 {
  /*background-color: var(--c-main-green);*/
  padding: 60px 0 40px;
}

/* 見出し */
.sec-02 ._hedding-02 {
  font-size: clamp( 1.125rem, calc( 0.95rem + 0.72vw ), 1.5rem );/* 18px - 24px */
  margin: 80px 0 1em;
}
/* 3列タイル */
.sec02__grid {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 30px calc(100% * (30 / 1200));
  margin-top: 40px;
}
.sec02__grid ._item {
  background-color: #fff;
  border-radius: 10px;
  padding: 20px;
}
/* 写真 */
.sec02__grid ._item ._pic {
  margin-bottom: 20px;
}
/* 説明文 */
.sec02__grid ._item ._main .normal-txt {
  font-feature-settings: "palt";
  letter-spacing: 0.05em;
}

@media (min-width: 768px) {
  .sec-02 {
    padding: 100px 0 80px;
  }
  .sec02__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 1024px) {
  .sec02__grid {
    grid-template-columns: repeat(3, 1fr);
    margin-top: 80px;
  }
}

/*----------------
  sec-03 ご利用の流れ
*/
.sec-03 {
  background-color: var(--c-main-green);
  color: #fff;
  padding: 60px 0 40px;
}
.sec-03 ._main-pic {
  margin: 40px 0;
}
.sec-03 .flow-ttl {
  font-size: clamp( 1.25rem, calc( 1.13rem + 0.48vw ), 1.5rem ); /*20px - 24px*/
  font-weight: 600;
  margin: 0 0 1em;
  text-align: center;
}
/* 3カラム */
.sec-03 .flow-grid {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 16px calc(100% * (40 / 1200));
  margin: 30px 0;
}
.sec-03 .flow-grid ._item {
  border-bottom: 1px solid rgba(255,255,255,0.5);
  padding: 0 0 20px;
}
.sec-03 .flow-grid ._num {
  display: block;
  font-size: calc(22rem / 16);
  font-weight: 600;
}
.sec-03 .flow-grid .normal-txt {
  font-feature-settings: "palt";
  letter-spacing: 0.05em;
}

@media (min-width: 768px) {
  .sec-03 {
    padding: 100px 0 60px;
  }
  .sec-03 ._main-pic {
    margin: 80px 0 30px;
  }
  .sec-03 .flow-grid {
    grid-template-columns: repeat(3, 1fr);
    margin: 40px 0;
  }
  .sec-03 .flow-grid ._item {
    border-bottom: none;
    border-left: 1px solid rgba(255,255,255,0.5);
    padding: 0 0 0 30px;
  }
  .sec-03 .flow-grid ._num {
    font-size: calc(24rem / 16);
  }
}

/*----------------
  sec-0 紹介動画
*/
.sec-04 {
  padding: 60px 0 40px;
}
/* 2カラム */
.sec04__inner {
  display: flex;
  flex-direction: column;
  gap: 40px 5%;
  margin: 60px auto;
}
.sec04__inner ._pic {
  line-height: 0;
}

/* 見出し */
.sec04__inner ._hedding-01 {
  font-size: clamp( 1.125rem, calc( 0.95rem + 0.72vw ), 1.5rem );/* 18px - 24px */
  font-weight: 600;
  margin-bottom: 1em;
  font-feature-settings: "palt";
  letter-spacing: 0.05em;
}
@media (min-width: 768px) {
  .sec-04 {
    padding: 100px 0 60px;
  }
  .sec04__inner {
    flex-direction: row;
    align-items: center;
    margin: 80px auto;
  }
  .sec04__inner ._pic {
    width: calc(100% * (600 / 1200));
  }
  .sec04__inner ._main {
    flex: 1;
  }
}

/*----------------
  sec-05 導入事例
*/
.sec-05 {
  background-color: var(--c-main-green);
  color: #fff;
  padding: 60px 0 40px;
}
.sec-05 .lead-01 {
  font-size: calc(15rem / 16);
  text-align: center;
  margin: 40px auto 0;
}
/* 導入事例 */
.sec-05 .case-studie {
  color: var(--c-base-text);
  margin: 40px auto;
}
/* PC 2カラム */
.sec-05 .case-studie .case__inner {
  background-color: #fff;
  border-radius: 20px;
  padding: 30px 24px;
  display: flex;
  flex-direction: column;
  gap: 20px 0;
  margin-bottom: 40px;
}
.case-studie .case__inner .case__item {
  display: flex;
  align-items: center;
  gap: 16px;
}
/* 装飾数字 */
.case-studie .case__inner .case__item ._num {
  color: rgba(0,93,102,0.2);
  font-weight: 600;
  font-size: calc(30rem / 16);
  text-align: center;
  line-height: 1;
  white-space: nowrap;
}
.case-studie .case__inner .case__item ._mark {
  width: 86px;
}
.case-studie .case__inner .case__item ._name {
  font-size: clamp( 1.25rem, calc( 1.13rem + 0.48vw ), 1.5rem );/* 20px - 24px */
  font-weight: 600;
}
.case-studie .case__inner .case__item ._name ._small {
  font-size: calc(15rem / 16);
  font-weight: normal;
  display: block;
}
.case-studie .case__inner .case__cont {
  border-top: 1px solid #ddd;
  padding: 20px 0;
}
.case-studie .case__inner .case__cont ._hedding-01 {
  color: var(--c-main-green);
  font-size: clamp( 1.25rem, calc( 1.13rem + 0.48vw ), 1.5rem );/* 20px - 24px */
  font-weight: 700;
  margin-bottom: 0.5em;
}

/* 番号付きリスト */
.case-studie .case__inner .case__cont .point-list {
  counter-reset: point-counter;
}
.case-studie .case__inner .case__cont .point-list li {
  counter-increment: point-counter; /* 番号を1つずつ進める */
  position: relative;
  padding-left: 1.5em;
  margin-bottom: 0.5em;
  line-height: 1.6;
  font-size: calc(15rem / 16);
  font-weight: 600;
  font-feature-settings: "palt";
  letter-spacing: 0.05em;
}
/* 「1：」の部分（擬似要素で生成） */
.case-studie .case__inner .case__cont .point-list li::before {
  content: counter(point-counter) "：";
  position: absolute;
  left: 0;
  top: 0;
}

@media (min-width: 768px) {
  .sec-05 {
    padding: 100px 0 60px;
  }
  .sec-05 .lead-01 {
    font-size: calc(16rem / 16);
    margin: 80px auto 0;
  }
  /* PC 2カラム */
  .sec-05 .case-studie .case__inner {
    flex-direction: row;
    align-items: center;
    padding: 40px 0;
  }
  .case-studie .case__inner .case__item {
    display: flex;
    flex-direction: column;
    gap: 24px;
    width: 240px;
    flex-shrink: 0;
  }
  /* 装飾数字 */
  .case-studie .case__inner .case__item ._num {
    font-size: calc(80rem / 16);
  }
  .case-studie .case__inner .case__item ._mark {
    width: 110px;
  }
  .case-studie .case__inner .case__item ._name {
    text-align: center;
  }
  .case-studie .case__inner .case__item ._name ._small {
    font-size: calc(16rem / 16);
  }
  .case-studie .case__inner .case__cont {
    border-top: none;
    border-left: 1px solid #ddd;
    flex: 1;
    padding: 0 40px;
  }
  .case-studie .case__inner .case__cont .point-list li {
    font-size: calc(16rem / 16);
  }
}

/*----------------
  sec-06 資料請求
*/
.sec-06 {
  background-color: var(--c-main-dark-green);
  color: #fff;
  padding: 70px 0 50px;
}
.sec-06 .request-wrap {
  display: flex;
  align-items: center;
  flex-direction: column;
  gap: 30px 5%;
  margin: 60px auto;
}
.sec-06 .request-wrap ._pic {
  background-color: rgba(255,255,255,0.2);
  /*border-radius: 10px;*/
  display: flex;
  justify-content: center;
  padding: 15px;
  width: 100%;
}
.sec-06 .request-wrap ._pic img {
  max-width: 190px;
  box-shadow: 3px 2px 8px rgba(0,0,0,0.4);
}
.sec-06 .request-wrap ._main {
  flex: 1;
}

/* ボタン */
.sec-06 .btn-wrap {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  gap: 20px;
  max-width: max-content;
  margin: 30px auto 0;
}

@media (min-width: 768px) {
  .sec-06  {
    padding: 90px 0 50px;
  }
  .sec-06 .request-wrap ._pic {
    width: calc(100% * (360 / 1200));
  }
  .sec-06 .request-wrap {
    flex-direction: row;
    margin: 80px auto;
  }
  .sec-06  .btn-wrap {
    flex-direction: row;
    margin: 30px 0 0;
  }
}