@charset "utf-8";
/* CSS Document */

/*〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓*/
/*背景*/
/*〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓*/

.bg-meat {
  background-repeat: no-repeat;
  background-image: url(../img/common/bg-meet-01.webp);
  background-size: 99.5rem auto;
  background-position: top 28.2rem right -17.4rem;
  @media screen and (max-width: 480px) {
    background-size: 54.9rem auto;
  }
}
body.strength {
  #contents_wrap {
    &.bg-meat {
      background-position: top 28.2rem right -17.4rem;
      @media screen and (max-width: 480px) {
        background-size: 54.9rem auto;
        background-position: top 0 right -9rem;
      }
    }
  }
}
body.home {
  #contents_wrap {
    &.bg-meat {
      background-position: top 60rem right -17.4rem;
      @media screen and (max-width: 480px) {
        background-position: top 92rem right -9rem;
      }
    }
  }
}
/*〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓*/
/*基本構造*/
/*〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓*/
.ui {
  &:where(h1, h2, h3, h4) {
    color: var(--color-base);
    font-weight: 700;
    word-break: keep-all;
    text-align: left;
  }
  &:where(h1) {
    font-size: 5.3rem;
    line-height: 1.2;
    word-break: normal;
    @media screen and (max-width: 1024px) {
      font-size: 3.8rem;
    }
    @media screen and (max-width: 768px) {
      font-size: 2.4rem;
    }
  }
  &:where(h2) {
    font-size: 3.4rem;
    line-height: 1.735;
    /* letter-spacing: -0.06em; */
    @media screen and (max-width: 768px) {
      font-size: 2rem;
      line-height: 1.95;
      letter-spacing: 0.02em;
    }
  }
  &:where(h3) {
    font-size: 2.2rem;
    line-height: 1.55;
    letter-spacing: 0.07em;

    @media screen and (max-width: 768px) {
      font-size: 1.8rem;
    }
  }
  &:where(h4) {
    font-size: 1.7rem;
    line-height: 2;
    letter-spacing: 0.1em;

    @media screen and (max-width: 768px) {
      font-size: 1.6rem;
    }
  }
  /* 本文 */
  &:where(p) {
    font-size: 1.6rem;
    line-height: 2;
    font-weight: 500;
    @media screen and (max-width: 768px) {
      font-size: 1.5rem;
      line-height: 1.85;
    }
  }
  /* 基本のテーブル */
  &:where(table) {
    width: 100%;
    font-size: 1.8rem;
    line-height: 1.7;
    text-align: left;
    @media screen and (max-width: 480px) {
      font-size: 1.4rem;
      line-height: 1.5;
    }
    tr {
      td,
      th {
        box-sizing: border-box;
        padding: 1em 1em 1em 0;
        border-bottom: 1px solid rgba(220, 220, 220, 0.9);
        padding-right: 1em;
        vertical-align: top;
        @media screen and (max-width: 480px) {
          padding: 0.75em 1em 0.75em 0;
        }
        &:last-child {
          padding-right: 0;
        }
      }
      th {
        word-break: keep-all;
      }
    }
    thead {
      tr {
        th {
          font-weight: 600;
          border-bottom: 1px solid #000;
        }
      }
    }
    &.tiny {
      font-size: 1.6rem;
      line-height: 1.8;
      @media screen and (max-width: 480px) {
        font-size: 1.2rem;
        line-height: 1.5;
      }
      tr {
        td,
        th {
          box-sizing: border-box;
          padding: 0.625em 0.5em;
          @media screen and (max-width: 480px) {
            padding: 0.5em 1em 0.5em 0;
            &:last-child {
              padding-right: 0;
            }
          }
        }
      }
    }
  }
}
/*--------------------*/
/* 基本のwrap */
:where(.base_wrap) {
  padding-left: 2.6rem;
  padding-right: 2.6rem;
  max-width: 1152px;
  margin-left: auto;
  margin-right: auto;
  @media screen and (max-width: 480px) {
    padding-left: 3rem;
    padding-right: 3rem;
  }
  :where(.right) {
    margin-left: auto;
    margin-right: 0;
  }
}
/* wrapの横幅 */
.maxw-base {
  max-width: 799px;
}
/*--------------------*/
/* 角丸 */

:where(.radius) {
  overflow: hidden;
  &:where(.r70) {
    border-radius: min(5.8vw, 7rem);
    @media screen and (max-width: 480px) {
      border-radius: 5rem;
    }
  }
  &:where(.r58) {
    border-radius: min(4.8vw, 5.8rem);
    @media screen and (max-width: 480px) {
      border-radius: 3.6rem;
    }
  }
  &:where(.r24) {
    border-radius: 2.4rem;
    @media screen and (max-width: 480px) {
      border-radius: 1.6rem;
    }
  }
  &:where(.r12) {
    border-radius: 1.2rem;
    @media screen and (max-width: 480px) {
      border-radius: 0.6rem;
    }
  }
  &:where(.r08) {
    border-radius: 0.8rem;
    @media screen and (max-width: 480px) {
      border-radius: 0.4rem;
    }
  }
  &:where(.r04) {
    border-radius: 0.4rem;
    @media screen and (max-width: 480px) {
      border-radius: 0.2rem;
    }
  }
}

/*--------------------*/
/* タイトル */

/* 英語と日本語のタイトル */
:where(.title_wrap-en_ja) {
  display: flex;
  flex-direction: column;
  gap: 0.6rem;

  .en {
    display: block;
    font-size: 1.3rem;
    letter-spacing: 0.115em;
    font-weight: 700;
    text-transform: uppercase;
    @media screen and (max-width: 768px) {
      font-size: 1.1rem;
    }
  }
}

/* ページタイトル */
.page_title_copy_wrap {
  display: flex;
  justify-content: space-between;
  gap: 2.6rem;
  padding-bottom: 6.5rem;
  min-height: 19.3rem;
  @media screen and (max-width: 1024px) {
    flex-direction: column;
    justify-content: flex-start;
    min-height: 0;
    margin-bottom: 2.6rem;
  }
  @media screen and (max-width: 480px) {
    padding-bottom: 0;
    margin-bottom: 4.8rem;
  }
  .page_title {
    &.title_wrap-en_ja {
      gap: 1.9rem;
    }
  }
  .leadcopy {
    padding-top: 3rem;
    max-width: 44.5rem;
    flex-shrink: 0;
    width: 39%;
    @media screen and (max-width: 1024px) {
      max-width: 100%;
      width: 100%;
      padding-top: 0;
    }
  }
}
/* セクションタイトル */
.section_title_copy_wrap {
  padding-top: 5.8rem;
  margin-bottom: 9.6rem;
  @media screen and (max-width: 480px) {
    padding-top: 3.2rem;
    margin-bottom: 4.8rem;
  }
  &.mb-narrow {
    margin-bottom: 4.6rem;
    @media screen and (max-width: 480px) {
      margin-bottom: 3rem;
    }
  }
  &.mb-narrow-62 {
    margin-bottom: 6.2rem;
    @media screen and (max-width: 480px) {
      margin-bottom: 4rem;
    }
  }
  .section_title {
    &.title_wrap-en_ja {
      gap: 2.5rem;
      @media screen and (max-width: 480px) {
        gap: 1.9rem;
      }
    }
    h2 {
      font-size: 4.5rem;
      line-height: 1.52;
      @media screen and (max-width: 1024px) {
        font-size: 3.2rem;
      }
      @media screen and (max-width: 480px) {
        font-size: 2rem;
      }
    }
    & + .copy {
      margin-top: 3.5rem;
      max-width: 564px;
      @media screen and (max-width: 480px) {
        margin-top: 2.8rem;
      }
      &.lage {
        margin-top: 1rem;
        font-size: 2.8rem;
        max-width: 100%;
        font-weight: 700;
        @media screen and (max-width: 480px) {
          font-size: 1.6rem;
        }
      }
    }
  }
}
/* その他タイトル */
.title-bar {
  text-align: center;
  position: relative;
  span {
    display: block;
    position: relative;
    z-index: 2;
    background-color: var(--color-green);
    color: #fff;
    border-radius: 9999px;
    padding: 0.25em 1em 0.34em;

    small {
      font-size: 1.6rem;
      font-weight: 500;
      letter-spacing: normal;

      display: inline-block;
      padding-left: 1em;
      @media screen and (max-width: 480px) {
        font-size: 1.4rem;
        padding: 0;
        line-height: 1.2;
        display: block;
      }
    }
  }

  &.has-illust {
    &::after {
      content: "";
      display: block;
      position: absolute;
      z-index: 1;
      max-width: 16.3rem;
      width: 40%;
      aspect-ratio: 2/1;
      background-image: url(../img/common/title-illust-01.webp);
      background-repeat: no-repeat;
      background-position: top center;
      background-size: cover;
      top: 25%;
      left: 50%;
      transform: translate(-50%, -100%);
    }
  }
}

/*--------------------*/
/* ポイントリスト */
.point_list {
  counter-reset: count-point;
  .point_box {
    background-color: var(--color-pagebackground);
    border: 1px solid var(--color-base);
    padding: 6rem;
    margin-top: 2rem;
    position: relative;
    counter-increment: count-point;
    &::before {
      content: counter(count-point, decimal-leading-zero) "";
      display: block;
      position: absolute;
      left: 6rem;
      top: 6rem;
      font-size: 5.5rem;
      font-weight: 600;
      letter-spacing: 0.05em;
      font-family: "Barlow", sans-serif;
    }
    @media screen and (max-width: 480px) {
      padding: 3rem 2rem;
      &::before {
        left: 2rem;
        top: 3rem;
        font-size: 4.8rem;
      }
    }

    &:first-child {
      margin-top: 0;
    }
    .img_wrap {
      margin: 0 0 0 auto;
      max-width: 24rem;
      width: 60%;
      &.two-img {
        display: flex;
        gap: 0.9rem;
        max-width: 63.5rem;
        width: 95%;
        transform: translate(4rem, 0.5rem);
        @media screen and (max-width: 768px) {
          flex-direction: column;
          transform: none;
          width: 70%;
        }
        div {
          max-width: 31.3rem;
          @media screen and (max-width: 768px) {
            max-width: 100%;
          }
        }
      }
    }
    .text_wrap {
      h3 {
        margin-top: 3.4rem;
        @media screen and (max-width: 480px) {
          margin-top: 2.4rem;
        }
      }
      p {
        margin-top: 4rem;
        @media screen and (max-width: 480px) {
          margin-top: 2.4rem;
        }
      }
    }
    .button_wrap {
      margin-top: 4rem;
      @media screen and (max-width: 480px) {
        margin-top: 2.4rem;
      }
      &.rigth {
        text-align: right;
      }
    }
  }
}

/*--------------------*/
/* コラムリスト */

.article_list {
  margin-top: 6.4rem;
  margin-bottom: 6.4rem;
  @media screen and (max-width: 480px) {
    margin-top: 4.8rem;
    margin-bottom: 4.8rem;
  }
  /*--------------------*/
  /* 記事 */
  div.article_box {
    max-width: 799px;
    position: relative;
    &.has-border {
      padding: 5rem 0;
      @media screen and (max-width: 480px) {
        padding: 3rem 0;
        &:last-of-type {
          padding-bottom: 0;
        }
      }
      &::before,
      &::after {
        content: "";
        display: block;
        position: absolute;
        height: 1px;
        right: 0;
        width: 100%;
        max-width: 799px;
      }
      &::before {
        top: 0;
        background-color: rgba(28, 29, 31, 0.2);
      }
      &::after {
        top: 1px;
        background: #f00;
        background: linear-gradient(
          90deg,
          rgba(255, 0, 0, 1) 0%,
          rgba(255, 0, 0, 1) 2.4rem,
          transparent 2.4rem,
          transparent 100%
        );
      }
    }
    /* 文字 */
    .text_wrap {
      & > p.ui {
        margin: 2em 0;
        @media screen and (max-width: 480px) {
          margin: 1em 0;
        }
        &:last-of-type {
          margin-bottom: 0;
        }
        &:first-child {
          margin-top: 0;
        }
      }
      & > h4.ui {
        margin-top: 0.4rem;
        + p {
          margin-top: 1em;
        }
      }
    }
    /* 画像付き */
    &.has-img {
      display: flex;
      align-items: flex-start;
      gap: min(3.66vw, 4.4rem);
      @media screen and (max-width: 480px) {
        flex-direction: column;
        gap: 2.4rem;
      }
      .img_wrap {
        max-width: 30.7rem;
        width: 38.5%;
        flex-shrink: 0;
        @media screen and (max-width: 480px) {
          max-width: 100%;
          width: 100%;
        }
        /* フェードイン */
        &.fade_rollimg {
          transform: scale(105%) rotate(-9deg);
          filter: blur(10px) grayscale(80%);
          opacity: 0;

          transition:
            transform 0.8s cubic-bezier(0.25, 0.1, 0.25, 1),
            filter 1s,
            opacity 1.2s;
          transform-origin: center center;
          img {
            transform: scale(125%) rotate(9deg);
            transition: transform 0.8s cubic-bezier(0.25, 0.1, 0.25, 1);
            transform-origin: center center;
          }
          @media screen and (max-width: 480px) {
            transform: scale(103%) rotate(-3deg);
            img {
              transform: scale(115%) rotate(3deg);
            }
          }
          &.fade_in {
            transform: scale(100%) rotate(0) translate(0, 0);
            opacity: 1;
            filter: blur(0) grayscale(0);
            img {
              transform: scale(100%) rotate(0);
            }
          }
        }
      }
      &.vertical {
        gap: min(4.49vw, 5.4rem);
        @media screen and (max-width: 480px) {
          gap: 2.4rem;
        }
        .img_wrap {
          max-width: 30rem;
          width: 37.6%;
          @media screen and (max-width: 480px) {
            width: 100%;
            max-width: 28rem;
            margin: auto;
          }
        }
      }
    }
  }
  /* 画像大 */
  &.large {
    div.article_box {
      max-width: 973px;
      /* 画像付き */
      &.has-img {
        gap: 2.6rem;
        .img_wrap {
          max-width: 50.1rem;
          width: 51.5%;
          @media screen and (max-width: 480px) {
            max-width: 100%;
            width: 100%;
          }
        }
      }
    }
  }
  /* 画像大 */
  &.middle {
    div.article_box {
      max-width: 914px;
      /* 画像付き */
      &.has-img {
        gap: 2.6rem;
        .img_wrap {
          max-width: 44.2rem;
          width: 48.5%;
          @media screen and (max-width: 480px) {
            max-width: 100%;
            width: 100%;
          }
        }
      }
    }
  }
}

/* イラスト付きフロー図 */

.illustflow {
  /*   max-width: 1204px; */
  box-sizing: border-box;
  /*   width: 100%; */
  margin: auto;
  position: relative;
  display: flex;
  padding: 0 min(2.1595vw, 2.6rem);
  justify-content: center;
  gap: min(1.6612vw, 2rem);
  @media screen and (max-width: 480px) {
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    padding: 0 3rem;
    gap: 6rem;
  }
  .step {
    position: relative;
    padding-top: min(2.91vw, 3.5rem);
    flex-shrink: 0;
    box-sizing: border-box;
    h4 {
      position: absolute;
      max-width: min(3.821vw, 4.6rem);
      top: 0;
      left: 50%;
      transform: translateX(-50%);
      z-index: 20;
      @media screen and (max-width: 480px) {
        max-width: 100%;
        width: 3.6rem;
      }
    }
    .img_wrap {
      z-index: 1;
      @media screen and (max-width: 480px) {
        width: 24rem;
        margin: auto;
      }
    }
    .img_absolute {
      position: absolute;
      z-index: 10;
    }

    .arrow {
      position: absolute;
      z-index: 15;
      @media screen and (max-width: 768px) {
        display: none;
      }
      &.arrow-01,
      &.arrow-04 {
        max-width: 5.3rem;
        width: 4.41vw;
        top: min(10.96vw, 13.2rem);
        left: 0;
      }
      &.arrow-04 {
        left: auto;
        right: max(-6.89vw, -8.3rem);
      }
      &.arrow-02 {
        max-width: 10.5rem;
        width: 8.721vw;
        top: 0;
        right: max(-3.74vw, -4.5rem);
      }
      &.arrow-03 {
        max-width: 18.4rem;
        width: 15.29vw;
        top: min(19.601vw, 23.6rem);
        left: min(0.996vw, -1.2rem);
      }
    }
    p {
      width: 100%;
      max-width: 27.3rem;
      box-sizing: border-box;
      font-size: 1.6rem;
      line-height: 1.3125;
      border-left: 3px solid var(--color-base);
      margin: 1.2rem auto 0;
      padding-left: 1em;
      padding-bottom: 0.25em;
      @media screen and (max-width: 768px) {
        width: 90%;
        font-size: 1.2rem;
      }
      @media screen and (max-width: 480px) {
        width: 100%;
        font-size: 1.6rem;
      }
    }
    &.step-01 {
      max-width: 26.4rem;
      width: 21.927vw;
      .overlay {
        max-width: 27.1rem;
        width: 22.51vw;
        top: min(12.46vw, 15rem);
        left: -0.1rem;
        @media screen and (max-width: 480px) {
          display: none;
        }
      }
    }
    &.step-02 {
      max-width: 17.4rem;
      width: 14.4519vw;
      @media screen and (max-width: 768px) {
        width: 18vw;
      }
      @media screen and (max-width: 480px) {
        height: 13.8rem;
      }
      h4 {
        top: min(6.15vw, 7.4rem);
        @media screen and (max-width: 480px) {
          top: 1.1rem;
        }
      }
      .img-01 {
        max-width: 7.4rem;
        width: 6.15vw;
        transform: rotate(-1.73deg);
        top: 0;
        left: min(3.49vw, 4.2rem);
        @media screen and (max-width: 768px) {
          left: 50%;
          transform: rotate(-1.73deg) translateX(40%);
          width: 8vw;
          top: min(0.84vw, 1rem);
        }
        @media screen and (max-width: 480px) {
          width: 18.95vw;
          top: -3.8rem;
        }
      }
      .img-02 {
        max-width: 2.7rem;
        width: 2.25vw;
        transform: rotate(-29.4deg);
        top: min(0.75vw, 0.9rem);
        left: 0;
        @media screen and (max-width: 768px) {
          width: 3vw;
          transform: rotate(-29.4deg);
          top: min(6.65vw, 8rem);
          left: min(0.75vw, 0.9rem);
        }
        @media screen and (max-width: 480px) {
          width: 6.94vw;
          left: 5.2rem;
          top: 2.4rem;
        }
      }
      .img-03 {
        max-width: 8.5rem;
        width: 7.06vw;
        top: min(4.15vw, 5rem);
        left: min(10.38vw, 12.5rem);
        @media screen and (max-width: 768px) {
          top: min(16vw, 14rem);
          left: auto;
          right: 0;
          width: 9vw;
        }
        @media screen and (max-width: 480px) {
          width: 8.5rem;
          right: 2rem;
          top: 7.4rem;
        }
      }
    }
    &.step-03 {
      max-width: 27.7rem;
      width: 23.007vw;
      margin-right: min(7.64vw, 9.2rem);
      @media screen and (max-width: 768px) {
        margin-right: 0;
      }
      h4 {
        top: min(1.08vw, 1.3rem);
      }
    }
    &.step-04 {
      max-width: 28rem;
      width: 23.2559vw;
      h4 {
        top: min(1.08vw, 1.3rem);
      }
    }
    @media screen and (max-width: 480px) {
      max-width: 100% !important;
      width: 27.4rem !important;
      padding-top: 4.5rem !important;
    }
  }
}

/*--------------------*/
/* 安全・安心への取り組み */
.safty_torikumi_wrap {
  margin-top: 18rem;
  .safty_title_copy_wrap {
    text-align: center;
    margin-bottom: 4rem;
    @media screen and (max-width: 480px) {
      text-align: left;
      margin-bottom: 2.6rem;
    }
    h2 {
      text-align: center;
      @media screen and (max-width: 480px) {
        text-align: left;
      }
    }
    p {
      margin-top: 1.6rem;
    }
  }
  .safty_torikumi {
    display: flex;
    justify-content: space-between;
    @media screen and (max-width: 768px) {
      flex-direction: column;
      justify-content: flex-start;
      gap: 3rem;
    }
    .box {
      max-width: 55.3rem;
      width: 48.1%;
      background-color: #fff;
      box-sizing: border-box;
      border-radius: 0.8rem;
      @media screen and (max-width: 768px) {
        width: 100%;
        max-width: 480px;
        border: 1px solid #e5e7eb;
        border-radius: 1.2rem;
        margin: auto;
      }
      .text_wrap {
        padding: 3.2rem 5.2rem 4.8rem;
        @media screen and (max-width: 768px) {
          padding: 2.8rem 2.4rem 2.4rem;
        }
        h3 {
          margin-bottom: 2.6rem;
          @media screen and (max-width: 480px) {
            margin-bottom: 1.8rem;
          }
        }
        p {
          max-width: 40.9rem;
          font-size: 1.7rem;
          line-height: 1.82;
          font-weight: 500;
          margin-bottom: 3.2rem;
          @media screen and (max-width: 480px) {
            font-size: 1.5rem;
            margin-bottom: 2rem;
          }
        }
      }
      .button_wrap {
        text-align: right;
      }
    }
  }
}

/*--------------------*/
/* タブ付きの囲み */

.tab_box {
  .tab {
    display: inline-block;
    background-color: #d9d9d9;
    border-radius: 2rem 2rem 0 0;
    padding: 0.64em 1em;
    min-width: 7em;
    text-align: left;
    transform: translateY(0.14em);
    width: auto;
    @media screen and (max-width: 480px) {
      font-size: 1.6rem;
      padding: 0.4em 1em;
      border-radius: 1.6rem 1.6rem 0 0;
    }
  }
  .tab_item {
    background-color: #d9d9d9;
    padding: 1.3rem;
    border-radius: 0 2rem 2rem 2rem;
    @media screen and (max-width: 480px) {
      padding: 0.8rem;
      border-radius: 0 1.6rem 1.6rem 1.6rem;
    }
    & > .inner {
      border-radius: 1.9rem;
      overflow: hidden;
      aspect-ratio: 711/483;
      @media screen and (max-width: 480px) {
        border-radius: 1.5rem;
      }
    }
  }

  & + h3 {
    margin-top: 3.2rem;
    @media screen and (max-width: 480px) {
      margin-top: 2.6rem;
    }

    & + p {
      margin-top: 2em;
      @media screen and (max-width: 480px) {
        margin-top: 1em;
      }
    }
  }
  & + p {
    margin-top: 2em;
    @media screen and (max-width: 480px) {
      margin-top: 1em;
    }
  }
}
/*--------------------*/
/* ボタンの囲み */
.button_list_wrap {
  display: flex;
  margin: 6.4rem auto;
  @media screen and (max-width: 480px) {
    margin: 4.8rem auto;
  }
  &.center {
    justify-content: center;
  }
  &.right {
    justify-content: flex-end;
  }
  &.vertical_row {
    align-items: flex-start;
    flex-direction: column;
    gap: 1.6rem;
  }
}
/*--------------------*/
/* テキストの囲み */
.kakomi-01 {
  border: 1px solid var(--color-base);
  padding: 2rem 5rem;
  box-sizing: border-box;
  @media screen and (max-width: 480px) {
    padding: 2em 2em;
  }
  &.tiny {
    padding: 2rem 3rem;
    @media screen and (max-width: 480px) {
      padding: 2em 2em;
    }
  }
}
.kakomi-02 {
  border: 1px solid var(--color-base);
  padding: 2rem 2.4rem;
  box-sizing: border-box;
  position: relative;
  overflow: visible;
  &.green {
    border-color: var(--color-green-hover);
  }
  h4 {
    font-size: 1.6rem;
    color: #fff;
    padding: 0.5em 1em;
    background-color: var(--color-green-hover);
    display: inline-block;
    font-weight: 500;
    position: absolute;
    top: 0;
    left: 2.4rem;
    transform: translateY(-50%);
  }
  @media screen and (max-width: 480px) {
    padding: 2em 2em;
  }
}
.kakomi-03 {
  background-color: #fff;
  border-radius: min(2.7vw, 3.2rem);
  @media screen and (max-width: 480px) {
  }
  h3.title-bar {
    transform: translateY(-50%);
    width: 78%;
    margin: 5.6rem auto 0;
    @media screen and (max-width: 480px) {
      margin: 4rem auto 0;
      width: 86%;
    }
    &.has-illust {
      margin: 16.8rem auto 0;
      @media screen and (max-width: 480px) {
        margin-top: 10rem;
      }
    }
    &:has(small) {
      @media screen and (max-width: 480px) {
        margin-bottom: -0.85rem;
        margin-top: 4.85rem;
      }
    }
  }
  /* リストベース */
  .kakomi-list {
    padding: 0 4rem 3.6rem;
    @media screen and (max-width: 480px) {
      padding: 0 2rem 2rem;
    }
    li {
      border-bottom: 2px dotted #767676;
      padding: 2rem 0 1.8rem;
      @media screen and (max-width: 480px) {
        padding: 1.8rem 0;
        &:first-of-type {
          padding-top: 0;
        }
      }
      &:last-child {
        border-bottom: none;
      }
      p {
        line-height: 1.8;
      }
      h4 {
        color: var(--color-green);
        font-size: 2rem;
        line-height: 1.8;
        padding-left: 1.375em;
        @media screen and (max-width: 480px) {
          font-size: 1.6rem;
        }
        &::before {
          content: "⚫︎";
          display: inline-block;
          text-indent: -1.375em;
        }
        & + p {
          margin-top: 0.75em;
          @media screen and (max-width: 480px) {
            margin-top: 0.5em;
          }
        }
      }
      & > a {
        display: block;
        padding-right: 5rem;
        position: relative;
        &::after {
          content: "";
          display: block;
          position: absolute;
          right: 1.8rem;
          top: 50%;
          transform: translateY(-50%) rotate(90deg);
          width: 1.7rem;
          aspect-ratio: 1/1;
          background-image: url(../img/common/icon-yajirushi-green.svg);
          background-repeat: no-repeat;
          background-position: center center;
          background-size: contain;
        }
      }
    }
    /* リスト大 */
    &.lage {
      li {
        padding: 4.4rem 3.6rem;
        &:first-of-type {
          padding-top: 1rem;
        }
        @media screen and (max-width: 480px) {
          padding: 2.4rem 0rem;
          &:first-of-type {
            padding-top: 0rem;
          }
        }
      }
      h4 {
        & + p {
          margin-top: 1.75em;
          @media screen and (max-width: 480px) {
            margin-top: 1em;
          }
        }
      }
    }
    /* ボーダーなし */
    &.no-border {
      padding: 1.8rem 6.6rem 2.4rem;
      @media screen and (max-width: 480px) {
        padding: 1rem 2rem;
      }
      li {
        border: none;
        padding: 1.4rem 0m;
        @media screen and (max-width: 480px) {
          padding: 1rem 0;
        }
      }
    }
    /* 画像付き */
    &.has-img {
      li {
        padding: 3.2rem 1.3rem;
        display: flex;
        align-items: center;
        gap: min(3.8%, 2.6rem);

        &:first-of-type {
          padding-top: 0;
        }
        @media screen and (max-width: 480px) {
          flex-direction: column;
          gap: 2.4rem;
          padding: 3rem 0 2.4rem;
          &:first-child {
            padding-top: 1rem;
          }
        }
        .img_wrap {
          max-width: 19.7rem;
          width: 28.5%;
          flex-shrink: 0;
          @media screen and (max-width: 480px) {
            max-width: 100%;
            width: 80%;
          }
        }
        .text_wrap {
          width: 67.7%;
          @media screen and (max-width: 480px) {
            width: 100%;
          }
        }
      }
    }
  }
  /* テーブル */
  ul.table {
    display: flex;
    flex-wrap: wrap;
    padding: 0 3.6rem 3.6rem;
    @media screen and (max-width: 768px) {
      padding: 0 2rem 3rem;
    }
    li {
      font-size: 2rem;
      line-height: 1.6;
      padding: 0.8em 0.4em;
      flex-shrink: 0;
      text-align: center;
      box-sizing: border-box;
      border-bottom: 1px solid #c1c1c1;
      border-right: 1px solid #c1c1c1;
      @media screen and (max-width: 480px) {
        font-size: 1.4rem;
      }
    }
    &.row-01 {
      li {
        width: 100%;
        border-right: none;
        text-align: left;
        padding-left: 1em;
        padding-right: 1em;
        &:last-child {
          border-bottom: none;
        }
        @media screen and (max-width: 768px) {
          padding-left: 0.4em;
          padding-right: 0.4em;
        }
      }
    }
    &.row-03 {
      li {
        width: 33.3%;
        &:nth-child(n + 7) {
          border-bottom: none;
        }
        @media screen and (max-width: 768px) {
          width: 50%;
        }
        @media screen and (min-width: 769px) {
          &:nth-child(3n) {
            border-right: none;
          }
        }
        @media screen and (max-width: 768px) {
          &:nth-child(2n) {
            border-right: none;
          }
          &:nth-child(n + 9) {
            display: none;
          }
        }
      }
    }
    &.row-05 {
      li {
        width: 20%;
        &:nth-child(n + 16) {
          border-bottom: none;
        }
        @media screen and (max-width: 768px) {
          width: 33.3%;
        }
        @media screen and (min-width: 769px) {
          &:nth-child(5n) {
            border-right: none;
          }
        }
        @media screen and (max-width: 768px) {
          &:nth-child(3n) {
            border-right: none;
          }
          &:nth-child(n + 19) {
            display: none;
          }
        }
      }
    }
  }
}
/*--------------------*/
/* カードリスト */
ul.card_list {
  display: flex;
  justify-content: space-between;
  gap: 2%;
  @media screen and (max-width: 480px) {
    flex-direction: column;
    gap: 3rem;
  }
  li {
    width: 32%;
    max-width: 25rem;
    @media screen and (max-width: 480px) {
      width: 100%;
      max-width: 100%;
    }
    .img_wrap {
      margin-bottom: 2.4rem;
      @media screen and (max-width: 480px) {
        width: 80%;
        max-width: 100%;
        margin: 0 auto 2.4rem;
      }
    }
    .text_wrap {
      h3 {
        margin-bottom: 0.7rem;
      }
      h4 {
        font-size: 1.6rem;
        line-height: 1.5625;
        margin: 1.9rem 0 1.2rem;
      }
      p {
        line-height: 1.5625;
      }
    }
  }
}
/*--------------------*/
/* ボーダーリスト */
ul.border_list {
  li {
    border-top: 2px dotted #2fc07b;
    display: flex;
    gap: 3rem;
    align-items: flex-start;
    padding: 2rem 0;
    @media screen and (max-width: 480px) {
      padding: 1.4rem 0;
      flex-direction: column;
      gap: 1.4rem;
    }
    h4 {
      color: #3aae78;
      background-color: #fff;
      text-align: center;
      min-width: 22.8rem;
      border-radius: 1.05em;
      font-size: 1.7rem;
      line-height: 1.5;
      padding: 0.3em 1em;
      box-sizing: border-box;
      @media screen and (max-width: 480px) {
        font-size: 1.5rem;
        width: 100%;
      }
    }
    p {
      font-size: 1.7rem;
      line-height: 1.75;
      padding-top: 0.118em;
      @media screen and (max-width: 480px) {
        font-size: 1.5rem;
        padding: 0;
      }
    }
  }
}

/*〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓*/
/*当社の強み*/
/*〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓*/

/*--------------------*/
/* 当社の強み */
body.strength {
  /* 悩み解決 */
  .page_section-01 {
    margin-bottom: 14.6rem;
    .nayami {
      margin-bottom: 4.4rem;
      @media screen and (max-width: 480px) {
        margin-bottom: 10rem;
      }
      ul {
        display: flex;
        gap: 1.6rem;
        justify-content: center;
        @media screen and (max-width: 480px) {
          gap: 8%;
        }
        li {
          display: flex;
          justify-content: center;
          align-items: center;
          background-color: var(--color-green-hover);
          border-radius: 1rem;
          box-sizing: border-box;
          padding: 0.5em 1em 0.6em;
          max-width: 31.6rem;
          width: 32%;
          font-size: 2.2rem;
          font-weight: 700;
          color: #fff;
          letter-spacing: 0.07em;
          line-height: 1.4;
          word-break: keep-all;
          text-align: center;
          @media screen and (max-width: 768px) {
            font-size: 1.8rem;
          }
          @media screen and (max-width: 480px) {
            padding: 1em 0.5em 1em;
            font-size: 2rem;
            height: 9em;
            writing-mode: vertical-rl;
            align-items: center;
            text-align: start;
            justify-content: flex-start;
            width: 26%;
          }
        }
      }
      p {
        font-size: 3.4rem;
        font-weight: 700;
        text-align: center;
        letter-spacing: -0.05em;
        line-height: 1.75;
        margin-top: 0.4em;
        @media screen and (max-width: 480px) {
          margin-top: 1em;
          font-size: 2.4rem;
          word-break: keep-all;
        }
      }
    }
  }
  /* 強みリスト */
  section.strengths_wrap {
    margin-top: 11rem;
    padding-top: 4rem;
    @media screen and (max-width: 768px) {
      margin-top: 6rem;
      padding-top: 2rem;
    }
    .title_wrap {
      margin-bottom: 7.2rem;
      @media screen and (max-width: 768px) {
        margin-bottom: 4rem;
      }
      h2 {
        font-size: 12.3rem;
        font-weight: 600;
        line-height: 0.8;
        text-transform: uppercase;
        @media screen and (max-width: 768px) {
          font-size: 5.4rem;
        }
      }
      p {
        margin-top: 0.375em;
        font-size: 4rem;
        line-height: 1.5;
        @media screen and (max-width: 768px) {
          font-size: 1.8rem;
        }
      }
    }
    ul.strengths_list {
      border-top: 1px solid var(--color-base);
      li.strengths_box {
        max-width: 1034px;
        margin: 0 0 0 auto;
        border-bottom: 1px solid var(--color-base);
        a {
          display: flex;
          justify-content: space-between;
          padding: 10rem 4.6rem 5.2rem 0.4rem;
          color: var(--color-base);
          gap: 2rem;
          position: relative;
          @media screen and (max-width: 768px) {
            flex-direction: column;
            padding: 3rem 0rem 4rem 0rem;
          }
          .box_title_wrap {
            position: relative;
            z-index: 10;
            .en {
              text-transform: uppercase;
              font-size: 1.3rem;
              letter-spacing: 0.11em;
              font-weight: 600;
              margin-bottom: 0.8rem;
              display: block;
              text-align: left;
              @media screen and (max-width: 768px) {
                font-size: 1rem;
              }
            }
            h3 {
              display: flex;
              gap: 1.9rem;
              @media screen and (max-width: 768px) {
                gap: 1.2rem;
              }
              .ja {
                font-size: 2.6rem;
                line-height: 1.5;
                word-break: keep-all;
                text-align: left;
                vertical-align: 0.5em;
                margin-top: -0.1em;
                @media screen and (max-width: 768px) {
                  font-size: 2rem;
                  margin-top: -0.05em;
                }
              }
              .number {
                font-size: 3.4rem;
                font-weight: 600;
                width: 1em;
                @media screen and (max-width: 768px) {
                  font-size: 2.8rem;
                }
              }
            }
          }
          .box_text_wrap {
            position: relative;
            z-index: 10;
            max-width: 517px;
            width: 50%;
            flex-shrink: 0;
            padding-top: 2rem;
            @media screen and (max-width: 768px) {
              width: 100%;
              margin: 0 0 0 auto;
            }
            p {
              min-height: 12.8rem;
              @media screen and (max-width: 768px) {
                min-height: auto;
              }
            }
            .button_wrap {
              text-align: right;
              @media screen and (max-width: 768px) {
                margin-top: 2rem;
              }
            }
          }
          /* ホバーで出てくる画像 */
          /* フェードイン */
          @media screen and (min-width: 769px) {
            .fade_rollimg-img {
              transform: scale(105%) rotate(0);
              filter: blur(10px) grayscale(80%);
              opacity: 0;
              position: absolute;
              top: 4rem;
              left: 5.7rem;
              z-index: 5;
              width: 35.1rem;
              aspect-ratio: 351/256;
              border-radius: 8.8rem;
              overflow: hidden;
              transition:
                transform 0.8s cubic-bezier(0.25, 0.1, 0.25, 1),
                filter 1s,
                opacity 1.2s;
              transform-origin: center center;
              img {
                transform: scale(125%) rotate(9deg);
                transition: transform 0.8s cubic-bezier(0.25, 0.1, 0.25, 1);
                transform-origin: center center;
              }
              @media screen and (max-width: 480px) {
                transform: scale(103%) rotate(-3deg);
                img {
                  transform: scale(115%) rotate(3deg);
                }
              }
            }
            &:hover {
              .fade_rollimg-img {
                transform: scale(100%) rotate(-10deg);
                opacity: 1;
                filter: blur(0) grayscale(0);
                img {
                  transform: scale(110%) rotate(10deg);
                }
              }
            }
          }
          @media screen and (max-width: 768px) {
            .fade_rollimg-img {
              width: 80%;
              max-width: 48rem;
              border-radius: 2.8rem;
              overflow: hidden;
              aspect-ratio: 16/9;
              margin: auto auto 2rem;
              img {
                object-fit: cover;
                width: 100%;
                height: 100%;
              }
            }
          }
        }
      }
    }
  }
}
/*--------------------*/
/* 生産能力と品質安定性 */
body.productivity {
  .wide_img_wrap {
    width: 100%;
    height: 48rem;
    @media screen and (max-width: 1024px) {
      height: 40vw;
    }
    @media screen and (max-width: 480px) {
      height: 20rem;
    }
  }
  .page_section-02 {
    .tab_box {
      margin-top: 9.6rem;
      @media screen and (max-width: 480px) {
        margin-top: 4.8rem;
      }
      &:first-of-type {
        margin-top: 0;
      }
    }
  }
}
/*--------------------*/
/* 徹底した品質管理体制 */
body.quality {
  .page_section-02 {
    margin-bottom: 12rem;
    @media screen and (max-width: 480px) {
      margin-bottom: 6rem;
    }
  }
  .page_section-03 {
    .article_list {
      .article_box {
        .kakomi-01 {
          margin-top: 8rem;
          @media screen and (max-width: 480px) {
            margin-top: 3.2rem;
          }
        }
      }
    }
  }
  .page_section-04 {
    .hinshitsu_list {
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between;
      margin-bottom: 0.5rem;
      @media screen and (max-width: 480px) {
        flex-direction: column;
        flex-wrap: nowrap;
        margin-bottom: 1.6rem;
      }
      .item {
        background-color: var(--color-green-hover);
        border-radius: 1rem;
        box-sizing: border-box;
        max-width: 38rem;
        width: 48%;
        font-size: 2.2rem;
        line-height: 1.5;
        color: #fff;
        padding: 1em 1em;
        min-height: 10.8rem;
        margin-bottom: 4.5rem;
        display: flex;
        justify-content: center;
        align-items: center;
        text-align: center;
        @media screen and (max-width: 480px) {
          font-size: 1.8rem;
          max-width: 100%;
          width: 100%;
          min-height: 4.2rem;
          margin-bottom: 1.6rem;
        }
      }
    }
  }
}
/*--------------------*/
/* 地元ブランド牛の価値を商品へ */
body.brand {
  .page_section-01 {
    .article_box {
      .text_wrap {
        .kakomi-02 {
          margin-top: 5.2rem;
          margin-bottom: 5.2rem;
          @media screen and (max-width: 480px) {
            margin-bottom: 2rem;
          }
        }
      }
    }
  }
  .page_section-02 {
    .article_box {
      .text_wrap {
        h4 {
          font-size: 1.6rem;
          font-weight: 700;
          line-height: 2;
          margin: 4.2rem 0 0.5rem;
          @media screen and (max-width: 480px) {
            margin-top: 3.2rem;
          }
        }
      }
    }
  }

  .copy_img_wrap {
    padding: 8rem 2.6rem;
    box-sizing: border-box;
    background-image: url(../img/strength/brand/brand-img-05.webp);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
    max-height: 60rem;
    height: 50vw;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    gap: 2em;
    color: #fff;
    font-size: 2rem;
    line-height: 2;
    font-weight: 500;
    text-align: center;
    @media screen and (max-width: 1024px) {
      font-size: 1.6rem;
      height: auto;
    }
    @media screen and (max-width: 768px) {
      line-height: 1.75;
      text-align: left;
      padding: 6rem 3rem;
      br {
        display: none;
      }
    }
  }
}

/*〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓*/
/*お問い合わせ*/
/*〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓*/

#contactform {
  .tel_fax_wrap {
    padding: 4.7rem 6rem 6.7rem;
    margin-bottom: 7rem;
    @media screen and (max-width: 480px) {
      padding: 3.2rem 2rem;
    }
    h3 {
      margin-bottom: 4rem;
      @media screen and (max-width: 480px) {
        margin-bottom: 2.8rem;
      }
    }
    p {
      min-height: 12em;
      margin-bottom: 3rem;
      @media screen and (max-width: 480px) {
        margin-bottom: 2.8rem;
      }
    }
    ul.tel_fax {
      display: flex;
      flex-wrap: wrap;
      font-size: 3.6rem;
      font-weight: 600;
      letter-spacing: 0.028em;
      gap: 1em;
      @media screen and (max-width: 768px) {
        font-size: 2rem;
        .tel {
          font-size: 1.5em;
          a {
            color: var(--color-base);
          }
        }
      }
    }
  }
}
/*〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓*/
/*商品・加工ラインナップ*/
/*〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓*/
body.lineup {
  h3.ui + .article_list {
    margin-top: 2rem;
    margin-bottom: 0;
    @media screen and (max-width: 480px) {
      margin-bottom: 4rem;
    }
  }
  h3.ui.title-bar {
    margin-bottom: 2rem;
    @media screen and (max-width: 480px) {
      margin-bottom: 0;
    }
    & + .kakomi-03 {
      margin-bottom: 10rem;
      @media screen and (max-width: 480px) {
        margin-bottom: 6rem;
      }
      ul {
        padding: 4.2rem 6rem;
        display: flex;
        flex-wrap: wrap;
        font-size: 1.7rem;
        line-height: 1.8;
        gap: 1em 2em;
        @media screen and (max-width: 480px) {
          padding: 2rem;
          font-size: 1.6rem;
          flex-direction: column;
          gap: 0.6em;
        }
        li {
          padding-left: 1.375em;
          &::before {
            content: "⚫︎";
            display: inline-block;
            text-indent: -1.375em;
            color: var(--color-green);
          }
        }
      }
    }
  }
  section.page_section-01 {
    margin-bottom: 4.2rem;
    .kakomi-03:last-of-type {
      margin-bottom: 17.6rem;
      @media screen and (max-width: 480px) {
        margin-bottom: 8rem;
      }
    }
    ul.card_list {
      margin-top: 2.2rem;
    }
  }
  section.page_section-02 {
    .button_list_wrap {
      margin: 4rem 0 0;
      @media screen and (max-width: 480px) {
        align-items: center;
      }
      a.button-base {
        span.text {
          min-width: 11em;
        }
      }
    }
  }
  section.page_section-03 {
    margin-bottom: 14rem;
    .section_title_copy_wrap {
      margin-bottom: 5.6rem;
      @media screen and (max-width: 480px) {
        margin-bottom: 3rem;
      }
    }
  }
}

/*〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓*/
/*会社概要*/
/*〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓*/
/*--------------------*/
/* 工場設備 */
body.factory {
  .page_section-01 {
    margin-bottom: 11rem;
    @media screen and (max-width: 480px) {
      margin-bottom: 4rem;
    }
    .tab_box {
      margin-top: 0;
      & ~ .tab_box {
        margin-top: 8rem;
        @media screen and (max-width: 480px) {
          margin-top: 4rem;
        }
      }
      & + h3 {
        & + p {
          margin-bottom: 6.8rem;
        }
      }
    }
    h3.margintop {
      margin-top: 8rem;
      margin-bottom: 4.8rem;
      @media screen and (max-width: 480px) {
        margin-top: 4rem;
        margin-bottom: 2rem;
      }
    }
    table.ui {
      th {
        width: 40%;
        @media screen and (max-width: 480px) {
          width: 38%;
        }
      }
    }
  }
  .page_section-02,
  .page_section-03 {
    .section_title_copy_wrap {
      margin-bottom: 4.2rem;
      @media screen and (max-width: 480px) {
        margin-bottom: 2rem;
      }
    }
    .article_list {
      margin-top: 0;
    }
  }
}
/*--------------------*/
/* 経営理念 */
body.philosophy {
  .page_section-02 {
    .section_title_copy_wrap {
      .section_title {
        & + p {
          font-size: 2.7rem;
          @media screen and (max-width: 480px) {
            font-size: 2rem;
          }
        }
      }
    }
  }
  .page_section-03 {
    .section_title_copy_wrap {
      margin-bottom: 2.6rem;
      @media screen and (max-width: 480px) {
        margin-bottom: 2rem;
      }
    }
    .article_list {
      margin-top: 0;
    }
  }
}
/*--------------------*/
/* 会社概要 */
body.access {
  section {
    margin-bottom: 10rem;
    @media screen and (max-width: 480px) {
      margin-bottom: 6rem;
    }

    /* Googleマップ */
    .google_map_wrap {
      width: 100%;
      height: 47.2rem;
      @media screen and (max-width: 480px) {
        height: 40rem;
      }
      iframe {
        width: 100%;
        height: 100%;
        @media screen and (max-width: 480px) {
          body.access .google_map_wrap {
            height: 100vw;
          }
        }
      }
    }
    .kakomi-03 {
      margin-top: 2.8rem;
      margin-bottom: 13rem;
      @media screen and (max-width: 480px) {
        margin-top: 2rem;
        margin-bottom: 6rem;
      }
      .kakomi-list {
        &.lage {
          padding-bottom: 0;
          li {
            &:first-of-type {
              padding-top: 4.4rem;
            }
            @media screen and (max-width: 480px) {
              &:first-of-type {
                padding-top: 2.4rem;
              }
            }
            p.ui {
              margin: 1em auto 0;
            }
          }
        }
      }
    }
    .border_list {
      margin-top: 1.8rem;
      @media screen and (max-width: 480px) {
        margin-top: 1.4rem;
      }
    }
  }
}
/*--------------------*/
/* 沿革 */
body.history {
  .page_section-01 {
    .kakomi-03 {
      padding: 2.4rem 4rem;
      @media screen and (max-width: 480px) {
        padding: 1rem 2rem;
      }
      table.ui {
        tr {
          th {
            width: 25%;
            min-width: 10em;
          }
          &:last-child {
            th,
            td {
              border-bottom: none;
            }
          }
        }
      }
      @media screen and (max-width: 480px) {
        table.ui {
          display: block;
          tr {
            display: block;
            th {
              width: 100%;
              padding: 1em 0 0.25em;
              display: block;
              border-bottom: none;
            }
            td {
              padding: 0.25em 0 1em;
              display: block;
            }
          }
        }
      }
    }
    .history_img {
      margin-top: 4.8rem;
      @media screen and (max-width: 480px) {
        margin-top: 2rem;
      }
    }
  }
}
/*--------------------*/
/* 代表メッセージ */
body.message {
  .page_section-01 {
    .massage_wrap {
      .img_wrap {
        margin: 8rem 0 5rem;
        @media screen and (max-width: 480px) {
          margin: 4rem 0 2rem;
        }
        &:first-of-type {
          margin-top: 0;
        }
      }
      h2 {
        font-size: 4.5rem;
        line-height: 1.53;
        word-break: keep-all;
        text-align: left;
        margin: 8rem 0 4.2rem;
        @media screen and (max-width: 768px) {
          font-size: 3.2rem;
        }
        @media screen and (max-width: 480px) {
          font-size: 2.4rem;
          margin: 4rem 0 2rem;
        }
      }
      p {
        span.underline {
          background: #a4e374;
          background: linear-gradient(
            0deg,
            rgba(164, 227, 116, 1) 0%,
            rgba(164, 227, 116, 1) 40%,
            rgba(255, 255, 255, 0) 40%,
            rgba(255, 255, 255, 0) 100%
          );
        }
      }
      p.sign {
        font-size: 2.2rem;
        line-height: 1.5;
        margin-top: 2em;
        @media screen and (max-width: 480px) {
          font-size: 1.8rem;
        }
      }
    }
  }
}
/*--------------------*/
/* SDGS */
body.sdgs {
  .page_section-01 {
    .sdgs_item {
      margin: 3.2rem 0;
      &:first-of-type {
        margin-top: 5.2rem;
      }
      .title_wrap {
        padding: 3.8rem 5.2rem 0;
        display: flex;
        align-items: center;
        gap: 3.8rem;
        @media screen and (max-width: 480px) {
          padding: 2rem 2rem 0;
          gap: 1.6rem;
        }
        .icon {
          width: 13.2rem;
          @media screen and (max-width: 480px) {
            width: 6.2rem;
          }
        }
        h2 {
          font-size: 3rem;
          line-height: 1.5;
          color: var(--color-green);
          @media screen and (max-width: 480px) {
            font-size: 1.8rem;
          }
        }
      }
    }
  }
}
/*〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓*/
/*職種別サービス*/
/*〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓*/

/* タクソノミー別事例リスト */
.entry_list_taxonomy_wrap {
  margin-top: 7rem;
  @media screen and (max-width: 480px) {
    margin-top: 0;
  }
  h2 {
    text-align: center;
  }

  .entry_list_taxonomy {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    position: relative;

    &::after {
      content: "";
      display: block;
      max-width: 32.6rem;
      width: 28.3%;
      position: relative;
    }
    @media screen and (max-width: 480px) {
      flex-direction: column;
      gap: 2rem;
      align-items: center;
      &::after {
        display: none;
      }
    }
    .taxonomy_item {
      max-width: 32.6rem;
      width: 30%;
      @media screen and (max-width: 480px) {
        max-width: 90%;
        width: 90%;
      }
      a {
        display: block;
        color: var(--color-base);
        .thumb {
          aspect-ratio: 326/245;
          border: 1px solid #e8e8ea;
          position: relative;
        }
        .text_wrap {
          position: relative;
          background-color: #f2f2f2;
          border-radius: 0.5rem;
          padding: 2.9rem 1.5rem 1.5rem;
          min-height: 15.8rem;
          max-width: 30rem;
          width: 92.5%;
          box-sizing: border-box;
          margin-top: -0.9rem;

          &::after {
            content: "";
            display: block;
            position: absolute;
            width: 3.6rem;
            aspect-ratio: 1/1;
            border-radius: 9999px;
            background-color: #fff;
            background-image: url(../img/common/icon-yajirushi-long-base.svg);
            background-repeat: no-repeat;
            background-position: center center;
            background-size: 1.2rem auto;
            right: min(4.7%, 1.4rem);
            bottom: 4.4rem;
          }
          @media screen and (max-width: 480px) {
            padding: 1.6rem 1.2rem 1.2rem;
            min-height: auto;
            &::after {
              right: 1.2rem;
              bottom: 1.2rem;
            }
          }
          .title {
            font-size: 1.6rem;
            line-height: 1.5;
            font-weight: 500;
            margin-bottom: 0.8rem;
            min-height: 3em;
            @media screen and (max-width: 480px) {
              font-size: 1.4rem;
              min-height: auto;
              margin-bottom: 1.2rem;
            }
          }
          ul.tag {
            max-width: 22rem;
            width: 74%;
            text-align: left;

            li {
              display: inline-block;

              color: #a4a5a9;
              font-size: 1.4rem;
              line-height: 1.5;
            }
          }
        }
      }
    }
  }
}
body.food-manufacturer,
body.restaurant,
body.school,
body.buyer {
  .page_section-01 {
    .kakomi-03 {
      margin-bottom: 3.2rem;
    }
  }
}
body.restaurant {
  .page_section-01 {
    .kakomi-02 {
      display: inline-block;
      margin-top: 3.6rem;
      @media screen and (max-width: 480px) {
        display: block;
        margin-top: 2rem;
      }
    }
  }
}
body.consumer {
  .page_section-01 {
    .point_list {
      .point_box {
        & + .section_title_copy_wrap {
          margin-top: 12rem;
          @media screen and (max-width: 480px) {
            margin-top: 4rem;
          }
        }
        .address {
          border-top: 1px solid var(--color-base);
          margin-top: 3rem;
          padding-top: 3rem;
          @media screen and (max-width: 480px) {
            margin-top: 2rem;
            padding-top: 2rem;
          }
        }
        .button_wrap {
          .button_list_wrap {
            margin: 0;
          }
        }
      }
    }
  }
}

/*〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓*/
/*安全・安心への取り組み*/
/*〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓*/

/*--------------------*/
/* 製品がお客様に届くまで */

body.process {
  .procss_illust_wrap {
    margin: 6.6rem auto auto;
    max-width: 1152px;
    @media screen and (max-width: 480px) {
      margin-top: 4rem;
    }
  }
  /* 動画 */
  .video_wrap {
    position: relative; /* アイコンを重ねるため必須 */
    margin: auto;
    cursor: pointer;
    border-radius: 1.8rem;
    overflow: hidden;
    video {
      width: 100%;
      height: auto;
    }

    .play-icon {
      position: absolute;
      width: 100%;
      height: 100%;
      top: 0;
      left: 0;
      background-color: rgba(0, 0, 0, 0.2);
      opacity: 0; /* 初期は非表示 */
      pointer-events: none; /* アイコンはクリックを通す */
      transition: opacity 0.3s ease;

      img {
        width: min(20%, 9.6rem);
        aspect-ratio: 1/1;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        opacity: 0.9;
      }
    }

    /* 停止時・終了時に表示 */
    &.paused .play-icon {
      opacity: 1;
      pointer-events: auto;
    }
  }

  .page_section-02 {
    .tab_box {
      .tab {
        @media screen and (max-width: 480px) {
          font-size: 1.5rem;
        }
      }
      & + h3.ui {
        word-break: break-all;
        margin-bottom: 4.2rem;
      }
    }
    .process_point {
      padding: 3.4rem 3.4rem 3.2rem;
      margin: 1.6rem 0;
      @media screen and (max-width: 480px) {
        padding: 3rem 2rem;
      }
      h4 {
        font-size: 1.6rem;
        line-height: 1.5;
        margin-bottom: 0.75em;
        overflow: hidden;
        span {
          display: inline-block;
          position: relative;
        }
        span.en {
          margin-right: 1em;
          letter-spacing: 0.06em;
        }
        span.ja {
          padding-right: 0.5em;
          &::after {
            content: "";
            display: block;
            position: absolute;
            width: 100vw;
            height: 1px;
            background-color: var(--color-base);
            right: 0;
            top: 50%;
            transform: translate(100%, 0);
          }
        }
      }
    }
    .coment_wrap {
      display: flex;
      margin: 4.2rem 0 6.2rem;
      gap: 2.3rem;
      position: relative;
      @media screen and (max-width: 480px) {
        display: block;
        padding-top: 5rem;
        margin: 1rem 0 6rem;
      }
      .img_wrap {
        max-width: 14.1rem;
        width: 18%;
        flex-shrink: 0;
        @media screen and (max-width: 480px) {
          width: 10rem;
          z-index: 10;
          position: absolute;
          top: 0;
          right: 3rem;
        }
      }
      .fukidashi {
        padding: 2.4rem 3rem;
        background-color: var(--color-green);
        color: #fff;
        position: relative;
        overflow: visible;
        z-index: 5;
        @media screen and (max-width: 480px) {
          padding: 3rem 2rem;
        }
        h5 {
          font-size: 1.6rem;
          line-height: 1.5;
          margin-bottom: 0.75em;
        }
        &::before {
          content: "";
          display: block;
          position: absolute;
          clip-path: polygon(0 50%, 100% 0, 100% 100%);
          background-color: var(--color-green);
          width: 1.4rem;
          height: 1.6rem;
          top: 3.2rem;
          left: 0;
          transform: translate(-96%, 0);
        }
        @media screen and (max-width: 480px) {
          &::before {
            display: none;
          }
        }
      }
    }
  }
}
/*--------------------*/
/* 品質管理の仕組み */

body.quality-control {
  .page_section-01 {
    margin-bottom: 12rem;
    .kakomi-03 {
      .leadcopy {
        padding: 0 4rem;
        text-align: center;
        @media screen and (max-width: 480px) {
          text-align: left;
          padding: 0 2rem;
          margin-bottom: 1.5em;
        }
      }
    }

    .gyomu_wrap {
      h3.komidashi {
        margin-top: 10rem;
        margin-bottom: 2rem;
        small {
          font-size: 0.875em;
          margin-left: 1em;
        }
        @media screen and (max-width: 480px) {
          margin-top: 6rem;
        }
      }
      h3.title-bar {
        margin: 2rem auto;
      }
      .border_list {
        margin-bottom: 6.6rem;
        h4 {
          word-break: keep-all;
        }
      }

      .hosyoka_img_text_wrap {
        display: flex;
        margin-bottom: 15rem;
        gap: 4.7rem;
        align-items: flex-start;
        @media screen and (max-width: 480px) {
          display: block;
          margin-bottom: 6rem;
          &::after {
            content: "";
            clear: both;
          }
        }
        .img_wrap {
          max-width: 32.6rem;
          width: 41%;
          flex-shrink: 0;
          @media screen and (max-width: 480px) {
            float: right;
            width: 45%;
            margin: 0 0 1rem 2.8rem;
          }
        }
      }

      .article_list.iso {
        .article_box {
          padding-left: 3.6rem;
          @media screen and (max-width: 480px) {
            padding-left: 0;
          }
          .img_wrap {
            max-width: 27.6rem;
            box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
            @media screen and (max-width: 480px) {
              width: 50%;
              align-self: center;
            }
          }
        }
      }
    }
  }
  .page_section-02 {
    .kensa_wrap {
      .kensa {
        position: relative;
        margin-bottom: 8.6rem;

        &::before {
          content: "";
          display: block;
          position: absolute;
          box-sizing: border-box;
          top: 0;
          width: 86%;
          height: 100%;
          border: 5px solid #f0f0df;
          left: 50%;
          transform: translateX(-50%);
          border-radius: 1.6rem;
        }
        @media screen and (max-width: 768px) {
          &::before {
            width: 100%;
            height: 100%;
            border: 3px solid #f0f0df;
            left: 0;
            transform: none;
            border-radius: 1.2rem;
          }
        }
        @media screen and (max-width: 480px) {
          margin-bottom: 4rem;
        }
        h3 {
          font-size: 2.8rem;
          padding: 0.3em 0 0.4em;
          background-color: #fff;
          width: 45%;
          margin: 0 auto 1.3rem;
          text-align: center;
          transform: translateY(-50%);
          position: relative;
          z-index: 10;
          @media screen and (max-width: 768px) {
            font-size: 2rem;
            width: 80%;
          }
        }
        .naiyo_wrap {
          display: flex;
          justify-content: center;
          padding-bottom: 5.4rem;
          position: relative;
          z-index: 10;
          @media screen and (max-width: 768px) {
            flex-direction: column;
            padding-bottom: 3rem;
          }
          .naiyo {
            padding: 2.2rem 1.6rem;
            box-sizing: border-box;
            h4 {
              font-size: 1.9rem;
              line-height: 1.75;
              text-align: center;
              word-break: keep-all;
              margin-bottom: 0.8em;
            }
            .list {
              display: flex;
              flex-direction: column;
              gap: 0.6rem;
              align-items: center;
              li {
                span {
                  font-size: 1.7rem;
                  font-weight: 700;
                  color: #fff;
                  line-height: 1.3;
                  padding: 0.4em 1em 0.5em 1em;
                  display: inline-block;
                  border-radius: 999px;
                }
              }
            }
          }
        }
        &.syanai {
          .naiyo_wrap {
            gap: 1.2rem;
            align-items: flex-start;
            @media screen and (max-width: 768px) {
              align-items: center;
              gap: 1.6rem;
            }
            .naiyo {
              width: 26.6rem;
              @media screen and (max-width: 768px) {
                width: 84%;
              }
              &.biseibutsu_yanai {
                background-color: #ffefc6;
                h4 {
                  color: #ee9120;
                }
                .biseibutsu_yanai_list {
                  span {
                    background-color: #ee9120;
                  }
                }
              }
              &.rikagaku {
                background-color: #f0f0df;
                h4 {
                  color: #c79a54;
                }
                .rikagaku_list {
                  span {
                    background: #c79a54;
                  }
                }
              }
            }
          }
        }
        &.gaibu {
          .naiyo_wrap {
            gap: 3.4rem;
            @media screen and (max-width: 768px) {
              gap: 1.6rem;
              align-items: center;
            }
            .naiyo {
              width: 24.3rem;
              @media screen and (max-width: 768px) {
                width: 84%;
              }
              &.biseibutsu {
                background-color: #e2f0ff;
                h4 {
                  color: #2984d9;
                }
                .biseibutsu_list {
                  span {
                    background: #2984d9;
                  }
                }
              }
              &.eiyo {
                background-color: #def8e4;
                h4 {
                  color: #2fc07b;
                }
                .eiyo_list {
                  span {
                    background: #2fc07b;
                  }
                }
              }
              &.zanryu {
                background-color: #ffe9e1;
                h4 {
                  color: #ff6464;
                }
                .zanryu_list {
                  span {
                    background: #ff6464;
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}
/*--------------------*/
/* 業種別サービス紹介 */

.service_pagelink_list {
  display: flex;
  flex-direction: column;
  gap: 3.4rem;
  .service_item {
    a.item {
      color: var(--color-base);
      display: block;
      background-color: #fff;
      overflow: hidden;
      position: relative;
      box-sizing: border-box;
      .img_wrap {
        position: absolute;
        z-index: 1;
        right: 0;
        top: 0;
        overflow: hidden;
      }
      h3.title {
        position: absolute;
        z-index: 10;
        display: flex;
        .number {
          color: #81b758;
          letter-spacing: 0.1em;
        }
        .title_text {
          span {
            display: inline-block;
            background-color: #fff;
            line-height: 1.3;
          }
        }
      }
      p.ui,
      .button_wrap {
        position: relative;
        z-index: 10;
      }
      .button_wrap {
        text-align: right;
      }
    }
  }
}
/*--------------------*/
/* ECサイト・市場のご紹介 */
a.ec_link_wrap {
  display: flex;
  justify-content: space-between;
  color: var(--color-base);
  &:hover {
    opacity: 0.8;
  }
  @media screen and (max-width: 768px) {
    flex-direction: column-reverse;
  }
  .img_wrap {
    overflow: hidden;
  }
  .text_wrap {
    position: relative;
    .button_wrap {
      position: absolute;
      @media screen and (max-width: 768px) {
        position: static;
      }
    }
  }
}

body.service {
  .service_pagelink_list {
    margin-top: 14rem;
    gap: 3.4rem;
    @media screen and (max-width: 480px) {
      margin-top: 0;
      gap: 1.6rem;
    }
    .service_item {
      a.item {
        border-radius: 2.8rem;
        padding: 39.3rem 6rem 4rem;
        @media screen and (max-width: 768px) {
          min-height: auto;
          padding: 17rem 2.4rem 3rem;
        }
        .img_wrap {
          width: 72%;
          right: 0;
          top: 0;
          border-radius: 0 2.8rem 2.8rem 0;
          @media screen and (max-width: 768px) {
            max-height: 15rem;
          }
        }
        h3.title {
          top: 6.6rem;
          @media screen and (max-width: 768px) {
            top: 3.2rem;
          }
          .number {
            font-size: 1.7rem;
            line-height: 5.07rem;
            @media screen and (max-width: 768px) {
              line-height: 3rem;
            }
          }
          .title_text {
            span {
              font-size: 3.9rem;
              margin-bottom: 0.1em;
              padding: 0 0.5em 0.1em 0.75em;
              @media screen and (max-width: 768px) {
                font-size: 2rem;
              }
            }
          }
        }
        .button_wrap {
          margin-top: 3.2rem;
          @media screen and (max-width: 768px) {
            margin-top: 1.6rem;
            .nopadding {
              padding-left: 0;
              letter-spacing: -0.05em;
            }
          }
        }
      }
    }
  }
  .ec_link_wrap {
    margin-top: 9rem;
    gap: 3rem;
    @media screen and (max-width: 768px) {
      margin-top: 4rem;
    }
    .img_wrap {
      max-width: 55.6rem;
      min-height: 30rem;
      width: 48.5%;
      border-radius: 2.8rem;
      @media screen and (max-width: 768px) {
        width: 100%;
        max-width: 100%;
        min-height: auto;
        max-height: 24rem;
      }
    }
    .text_wrap {
      max-width: 30rem;
      padding-top: 4.6rem;
      @media screen and (max-width: 768px) {
        padding-top: 0;
        max-width: 100%;
      }
      h3 {
        font-size: 2.4rem;
        line-height: 1.3;
        margin-bottom: 2.1rem;
        @media screen and (max-width: 480px) {
          font-size: 1.8rem;
        }
      }
      .button_wrap {
        bottom: 2.2rem;
        @media screen and (max-width: 768px) {
          margin-top: 2rem;
        }
      }
    }
  }
}
/*〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓*/
/*フロントページ*/
/*〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓*/
body.home {
  /* 共通 */

  .front_section_title_copy_wrap {
    text-align: center;
    margin-bottom: 4rem;
    @media screen and (max-width: 480px) {
      text-align: left;
      margin-bottom: 2.6rem;
    }
    h2 {
      text-align: center;
      @media screen and (max-width: 480px) {
        text-align: left;
      }
    }
    p {
      margin-top: 1.6rem;
    }
  }

  /* ボタン */
  .button_list_wrap {
    @media screen and (max-width: 480px) {
      li {
        width: 100%;
      }
    }
  }
  /* 新着情報 */
  .front_news_list_wrap {
    @media screen and (max-width: 480px) {
      &.base_wrap {
        padding: 0;
      }
    }
    .front_section_title_copy_wrap {
      @media screen and (min-width: 769px) {
        .title_wrap-en_ja {
          text-align: left;
          flex-direction: row-reverse;
          align-items: center;
          justify-content: flex-end;
          gap: 6.7rem;
        }
      }
      @media screen and (max-width: 480px) {
        padding: 0 3rem;
      }
    }
    margin-top: 16rem;
    @media screen and (max-width: 480px) {
      margin-top: 7.2rem;
      margin-bottom: 1.6rem;
    }
    /* 一覧へボタン */
    .button_wrap.pc {
      @media screen and (max-width: 768px) {
        display: none;
      }
    }
    .button_wrap.sp {
      display: none;
      @media screen and (max-width: 768px) {
        display: block;
        margin-top: 2.3rem;
      }
    }
    /* 一覧部分 */
    .front_news_list {
      display: flex;
      justify-content: space-between;
      gap: min(3%, 2.6rem);
      @media screen and (max-width: 480px) {
        display: block;
      }
      /* メニュー */
      .news_list_tab_wrap {
        padding-top: 3.2rem;
        max-width: 20rem;
        width: 17.5%;
        flex-shrink: 0;
        position: relative;
        @media screen and (max-width: 480px) {
          padding-top: 0;
          width: auto;
          max-width: 100%;
        }

        .sticky_wrap {
          @media screen and (min-width: 1201px) {
            position: sticky;
            top: 8.7rem;
          }
          @media screen and (min-width: 481px) {
            position: sticky;
            top: 10.6rem;
          }
          .news_tab_list {
            margin-bottom: 7rem;
            @media screen and (max-width: 480px) {
              display: flex;
              overflow-x: scroll;
              scrollbar-width: none;
              -ms-overflow-style: none;
              &::-webkit-scrollbar {
                display: none;
              }
              word-break: keep-all;
              padding: 0.5rem 3rem;
              gap: 0.8rem;
              margin-bottom: 2.6rem;
            }
            li {
              margin-bottom: 0.5rem;
              a {
                font-size: 1.4rem;
                line-height: 1.5;
                padding: 0.6em 1em 0.5em;
                border-radius: 999px;
                display: inline-block;
                @media screen and (max-width: 480px) {
                  background-color: rgba(130, 130, 130, 0.1);
                  color: var(--color-green);
                }
                &.is-active {
                  background-color: var(--color-green);
                  color: #fff;
                }
              }
            }
          }
        }
      }
      /* 一覧 */
      .news_tab_panel_wrap {
        width: 79.5%;
        @media screen and (max-width: 480px) {
          width: 100%;
          padding: 0 3rem;
          box-sizing: border-box;
        }
        .news_tab_panel {
          display: none;
          opacity: 0;
          animation: tabpanel_anime 0.3s ease-in;
          &.is-active {
            display: block;
            opacity: 1;
          }
          ul {
            li.news_item {
              border-bottom: 1px solid #dbdad1;
              @media screen and (max-width: 480px) {
                border-top: 1px solid #dbdad1;
                border-bottom: none;
              }
              a.permalink {
                display: block;
                padding: 3.2rem 11rem 3.2rem 0;
                display: flex;
                align-items: flex-start;
                gap: 3rem;
                position: relative;
                &::after {
                  content: "";
                  display: block;
                  position: absolute;
                  right: 3.7rem;
                  top: 50%;
                  transform: translateY(-50%);
                  width: 1.5rem;
                  aspect-ratio: 15 /16;
                  background-image: url(../img/common/icon-yajirushi-base.svg);
                  background-repeat: no-repeat;
                  background-size: contain;
                }
                &:hover {
                  &::after {
                    content: "";
                    background-image: url(../img/common/icon-yajirushi-green.svg);
                  }
                }
                @media screen and (max-width: 480px) {
                  padding: 1.6rem 0 1.6rem 1.6rem;
                  gap: 1.6rem;
                  &::after {
                    display: none;
                  }
                }
                .thumb {
                  width: 20.5rem;
                  aspect-ratio: 205/118;
                  border-radius: 0.4rem;
                  overflow: hidden;
                  flex-shrink: 0;
                  @media screen and (max-width: 480px) {
                    width: 8rem;
                    aspect-ratio: 1/1;
                    border-radius: 0.8rem;
                  }
                }
                .entry_data_wrap {
                  display: flex;
                  gap: 3rem;
                  @media screen and (max-width: 480px) {
                    display: block;
                  }
                  .post_data {
                    width: 12rem;
                    @media screen and (max-width: 480px) {
                      display: flex;
                      gap: 1rem;
                      align-items: center;
                      margin-bottom: 1.8rem;
                    }
                    .postdate {
                      font-size: 1.4rem;
                      font-weight: 600;
                      @media screen and (max-width: 480px) {
                        font-size: 1.2rem;
                      }
                    }
                    ul.tax {
                      margin-top: 1rem;
                      @media screen and (max-width: 480px) {
                        margin-top: 0;
                      }
                      li {
                        font-size: 1.3rem;
                        display: inline-block;
                        background-color: #dfdfdf;
                        color: #9d9d9d;
                        line-height: 1.5;
                        padding: 0.2em 0.5em;
                        border-radius: 0.4rem;
                        text-align: center;
                        &.important {
                          background-color: #fee2e2;
                          color: #dc2626;
                        }
                        @media screen and (max-width: 480px) {
                          word-break: keep-all;
                          font-size: 1rem;
                        }
                      }
                    }
                  }
                  h3.title {
                    font-size: 1.6rem;
                    line-height: 1.625;
                    font-weight: 500;
                    @media screen and (max-width: 480px) {
                      font-size: 1.4rem;
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
  }
  /* サービス */
  .service_pagelink_list {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 3rem min(2%, 2.6rem);
    margin-top: 5.8rem;
    @media screen and (max-width: 480px) {
      flex-direction: column;
      gap: 2rem;
    }
    .service_item {
      max-width: 56.3rem;
      width: 49%;
      @media screen and (max-width: 480px) {
        width: 100%;
      }
      a.item {
        border-radius: 2.8rem;
        padding: min(23.1vw, 27.8rem) 2.9rem 3.6rem;
        height: 100%;
        @media screen and (max-width: 768px) {
          padding: 17.2rem 2.4rem 3rem;
        }

        .img_wrap {
          width: 72%;
          right: 0;
          top: 0;
          border-radius: 0 2.8rem 2.8rem 0;
          @media screen and (max-width: 768px) {
            height: 15.9rem;
            border-radius: 0 2.8rem 0 0;
          }
        }
        h3.title {
          top: 4.6rem;
          @media screen and (max-width: 768px) {
            top: 3.2rem;
          }
          .number {
            font-size: 1.7rem;
            line-height: 5.07rem;
            @media screen and (max-width: 768px) {
              line-height: 3rem;
            }
          }
          .title_text {
            span {
              font-size: min(2.83vw, 3.4rem);
              margin-bottom: 0.1em;
              padding: 0 0.5em 0.1em 0.75em;
              letter-spacing: 0.04em;
              small {
                font-size: 0.735em;
              }
              @media screen and (max-width: 768px) {
                font-size: 2.2rem;
              }
            }
          }
        }
        ul {
          li {
            font-size: 1.5rem;
            width: 500;
            line-height: 1.5;
            margin: 1.2rem 0;
            @media screen and (max-width: 480px) {
              font-size: 1.3rem;
              margin: 1rem 0;
            }
            &::before {
              content: "⚫︎";
              color: #81b758;
              display: inline-block;
              margin-right: 0.5em;
            }
          }
        }
        .button_wrap {
          margin-top: 3.2rem;
          @media screen and (max-width: 768px) {
            margin-top: 1.6rem;
            .button-text {
              font-size: 1.3rem;
            }
          }
        }
      }
    }
  }
  .ec_link_wrap {
    margin-top: 11.7rem;
    gap: 3rem;
    @media screen and (max-width: 768px) {
      margin-top: 6rem;
    }
    @media screen and (max-width: 480px) {
      display: block;
      background-image: url(../img/top/top-img-08.webp?ver2);
      background-size: cover;
      border-radius: 2.8rem;
      padding: 3rem 2.2rem 1.7rem;
    }
    .img_wrap {
      max-width: 55.6rem;
      min-height: 30rem;
      width: 48.5%;
      border-radius: 2.8rem;
      @media screen and (max-width: 768px) {
        width: 100%;
        max-width: 100%;
        min-height: auto;
        max-height: 24rem;
      }
      @media screen and (max-width: 480px) {
        display: none;
      }
    }
    .text_wrap {
      max-width: 30rem;
      padding-top: 4.6rem;
      @media screen and (max-width: 768px) {
        padding-top: 0;
        max-width: 100%;
        span.black {
          display: inline-block;
          background-color: var(--color-base);
          color: #fff;
          padding: 0.1em 0.5em;
        }
      }
      h3 {
        font-size: 2.4rem;
        line-height: 1.3;
        margin-bottom: 2.1rem;
        @media screen and (max-width: 480px) {
          font-size: 1.8rem;
          margin-bottom: 6.6rem;
        }
      }
      .button_wrap {
        position: static;
        margin-top: 7.8rem;
        @media screen and (max-width: 768px) {
          text-align: right;
          margin-top: 0;
        }
        @media screen and (max-width: 480px) {
          text-align: right;
          margin-top: 0;
          .button-text {
            font-size: 1.1rem;
          }
        }
      }
    }
  }

  /* イメージ画像 */
  .meet_img_wrap {
    margin: 16.5rem 0 14rem;
    display: block;
    height: 39rem;
    @media screen and (max-width: 480px) {
      height: 37.8rem;
      margin: 7.3rem 0 6.6rem;
    }
  }
  /* 安全・安心への取り組み */
  .safty_torikumi_wrap {
    @media screen and (max-width: 480px) {
      margin: 6.6rem 0 6.6rem;
    }
  }

  /* ラインナップ */
  .lineup_wrap {
    margin-top: 12.8rem;
    margin-bottom: 11rem;
    margin-right: auto;
    margin-left: auto;
    max-width: 1152px;
    padding: 0 2.6rem;
    @media screen and (max-width: 768px) {
      padding: 0;
    }
    .front_section_title_copy_wrap {
      margin-bottom: 8.7rem;
      @media screen and (max-width: 768px) {
        padding: 0 3rem;
        margin-bottom: 6.6rem;
      }
    }

    .lineup_list_wrap {
      width: 100%;
      .splide__list {
        display: flex;
        .linup_item {
          box-sizing: border-box;
          max-width: 32.4rem;
          .permalink {
            display: block;
            height: 100%;
            text-decoration: none;
            color: var(--color-base);
            position: relative;
            padding-top: 4rem;
            .img_wrap {
              display: block;
              position: relative;
            }
            h3 {
              position: absolute;
              top: 0;
              left: 0;
              z-index: 10;
              span.black {
                display: inline-block;
                background-color: var(--color-base);
                color: #fff;
                font-size: 2.3rem;
                line-height: 1.5;
                padding: 0 0.3em;
                margin-bottom: 0.1em;
              }
              span.en {
                font-size: 1.2rem;
                font-weight: 600;
                letter-spacing: 0.11em;
              }
            }
            h4 {
              margin: 1.6rem 0 1.2rem;
              font-size: 2.2rem;
              letter-spacing: 0.04em;
            }
            .button_wrap {
              margin-top: 1.9rem;
              text-align: right;
            }
          }
        }
      }
    }

    @media screen and (min-width: 769px) {
      .lineup_list_wrap .splide__track {
        overflow: visible;
      }

      .lineup_list_wrap .splide__list {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: min(7.7%, 8.8rem);
        transform: none !important;
      }

      .lineup_list_wrap .linup_item {
        width: auto !important;
        margin: 0;
      }
      .lineup_list_wrap .splide__pagination {
        display: none;
      }
    }

    @media screen and (max-width: 768px) {
      .lineup_list_wrap {
        overflow: hidden;
        padding-bottom: 4rem;
      }

      .lineup_list_wrap .splide__track {
        overflow: visible;
      }

      .lineup_list_wrap .splide__list {
        display: flex;
      }

      .lineup_list_wrap .linup_item {
        width: 27rem;
        flex: 0 0 auto;
      }

      .lineup_list_wrap .splide__pagination {
        display: flex;
        justify-content: center;
        gap: 0.8rem;
        .splide__pagination__page.is-active {
          background-color: var(--color-green);
        }
      }
    }
  }
  /* 課題解決 */
  .benefit_wrap {
    .front_section_title_copy_wrap {
      margin-bottom: 6.2rem;
    }
    p.copy {
      margin-top: 4.8rem;
      max-width: 56.4rem;
    }
  }
  /* フィロソフィー */
  .philosophy_wrap {
    display: flex;
    justify-content: space-between;
    margin-top: 15.2rem;
    margin-bottom: 19.2rem;
    gap: 3rem;
    @media screen and (max-width: 768px) {
      display: block;
    }
    @media screen and (max-width: 480px) {
      margin-top: 6.1rem;
      margin-bottom: 8.4rem;
    }
    .title_wrap {
      @media screen and (max-width: 768px) {
        margin-bottom: 8rem;
      }
      @media screen and (max-width: 480px) {
        margin-bottom: 3.2rem;
      }
      .en {
        font-size: 1.3rem;
        font-weight: 700;
        letter-spacing: 0.11em;
        text-transform: uppercase;
      }
      h2 {
        font-size: 2.9rem;
        line-height: 2.03;
        letter-spacing: 0.13em;
        margin-top: 0.96em;
        @media screen and (max-width: 480px) {
          font-size: 2.2rem;
          margin-top: 1.13em;
        }
        span {
          text-indent: -0.5em;
          display: inline-block;
        }
      }
    }
    .copy_wrap {
      width: 46.3%;
      font-size: 1.6rem;
      line-height: 2.31;
      letter-spacing: 0.1875em;
      @media screen and (max-width: 768px) {
        width: 100%;
      }
      @media screen and (max-width: 480px) {
        font-size: 1.5rem;
        letter-spacing: 0.067em;
      }
    }
  }
}
@keyframes tabpanel_anime {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

/*〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓*/
/*サイトマップ*/
/*〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓*/

body.sitemap {
  .sitemap_wrap {
    .sitemap_menu_wrap {
      font-size: 1.6rem;
      line-height: 2;
      .sitemap_menu {
        display: flex;
        flex-wrap: wrap;
        gap: 5%;

        @media screen and (max-width: 480px) {
          display: block;
        }
        li.menu-item {
          width: 30%;
          margin-bottom: 3em;
          @media screen and (max-width: 768px) {
            width: 47.5%;
          }
          @media screen and (max-width: 480px) {
            width: 100%;
          }
          h5 {
            font-size: 1.25em;
            line-height: 1.5;
            margin-bottom: 0.75em;
          }
        }
      }
      .sub_menu {
        display: flex;
        gap: 2em;
        @media screen and (max-width: 480px) {
          display: block;
        }
      }
    }
  }
}
