@charset "UTF-8";
.paragraph {
  font-size: clamp(0.75rem, 0.65rem + 0.5vw, 1.25rem);
  font-weight: 500;
  line-height: 1.75;
  color: #333;
}

.company-main-visual {
  position: relative;
  max-width: 100%;
  height: clamp(18.75rem, 18.125rem + 3.125vw, 21.875rem);
  --_img-src: url("/image/company/company__eyecatch.png");
  --_img2x-src: url("/image/company/company__eyecatch@2x.png");
  background-image: var(--_img-src);
  background-image: -webkit-image-set(var(--_img-src) 1x, var(--_img2x-src) 2x);
  background-image: image-set(var(--_img-src) 1x, var(--_img2x-src) 2x);
  background-position: center;
  background-size: cover;
}
.company-main-visual::after {
  position: absolute;
  right: 0;
  bottom: -1px;
  left: 0;
  display: block;
  width: 100%;
  margin: auto;
  background-image: url("..//image/company/bg_company-main-visual-semi-circle.png");
  background-size: cover;
  content: "";
  aspect-ratio: 1920/60;
}
.company-main-visual .container-inner {
  display: flex;
  padding-top: clamp(1.375rem, 1.163rem + 0.906vw, 2.25rem);
  justify-content: center;
  align-items: center;
}
.company-main-visual .section__heading::after {
  transform: translateY(calc(-1 * clamp(0.188rem, 0.157rem + 0.129vw, 0.313rem)));
}
.company-main-visual .section__title-en {
  color: #fff;
  letter-spacing: 0.02em;
  font-size: 1rem;
  line-height: 1.45;
  font-family: var(--roboto-font-family);
  transform: translateY(calc(-1 * clamp(0.188rem, 0.157rem + 0.129vw, 0.313rem)));
}
@media (width > 768px) {
  .company-main-visual .section__title-en {
    font-size: 1.5rem;
  }
}
.company-main-visual .section__title-ja {
  color: #fff;
  line-height: 1.325;
  font-size: 1.75rem;
  letter-spacing: 0.02em;
}
@media (width > 768px) {
  .company-main-visual .section__title-ja {
    font-size: clamp(2.875rem, 2.2916666667rem + 1.2152777778vw, 3.75rem);
  }
}

.eyecatch {
  --_img-src: url("/image/company/company__eyecatch.png");
  --_img2x-src: url("/image/company/company__eyecatch@2x.png");
  --_eyecatch-fgcol: #fff;
}

section#nav-area.section .container-inner {
  max-width: 1300px;
  padding-top: 50px;
  padding-bottom: 80px;
}
@media (width > 768px) {
  section#nav-area.section .container-inner {
    padding-top: 100px;
  }
}
section#nav-area.section .btn-area {
  margin-inline: auto;
  width: fit-content;
  display: grid;
  grid-auto-columns: max-content;
  justify-content: center;
  gap: 25px;
}
@media (width > 1400px) {
  section#nav-area.section .btn-area {
    grid-template-columns: repeat(4, minmax(max-content, 1fr));
    column-gap: 35px;
  }
}
section#nav-area.section .btn-area .btn {
  width: 300px;
  font-size: 0.875rem;
  --_shadow-col: var(--accent-col);
  display: inline-grid;
  grid-template-columns: 1fr auto;
  column-gap: 1.7em;
  align-items: center;
  align-content: center;
  padding-inline: 1.85em;
  padding-block: 1.05em;
  margin-right: 0.25em;
  margin-bottom: 0.25em;
  box-shadow: 0.25em 0.25em 0 0 var(--_shadow-col);
  background-color: #333;
  color: #fff;
  font-weight: 500;
  line-height: 1.45;
  column-gap: 0;
}
section#nav-area.section .btn-area .btn:focus, section#nav-area.section .btn-area .btn:hover {
  --_shadow-col: #333;
  background-color: var(--accent-col);
}
section#nav-area.section .btn-area .btn::after {
  content: "";
  width: 0.75em;
  aspect-ratio: 1;
  background: url("/image/chevron_down.svg") no-repeat center right/contain;
}
@media (width > 768px) {
  section#nav-area.section .btn-area .btn {
    font-size: 1.25rem;
  }
}

.company-top-message {
  margin-top: clamp(3.563rem, 3.087rem + 2.375vw, 5.938rem);
}
.company-top-message .container-inner {
  padding-bottom: 0;
}
.company-top-message .container-inner .content {
  position: relative;
}
.company-top-message__text {
  display: flex;
  flex-direction: column;
  max-width: 1200px;
  margin-top: clamp(3.563rem, 2.986rem + 2.46vw, 5.938rem);
  gap: clamp(1.375rem, 1.163rem + 0.906vw, 2.25rem);
  margin-inline: auto;
  height: 760px;
}
.company-top-message__sign {
  position: absolute;
  bottom: 0;
  right: 0;
  display: flex;
  gap: 20px;
  max-width: 1200px;
  justify-content: flex-end;
  align-items: center;
  margin-inline: auto;
}
.company-top-message__sign figure {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  transform: translateY(clamp(2.5rem, 1.7415048544rem + 3.2362459547vw, 5.625rem));
}
.company-top-message__sign figure img {
  order: 2;
}
.company-top-message__sign figure figcaption {
  font-size: clamp(0.75rem, 0.65rem + 0.5vw, 1.25rem);
  font-weight: 500;
  line-height: 1.75;
  color: #333;
  order: 1;
}

.company-philosophy {
  position: relative;
  margin-top: 0;
  padding-bottom: clamp(4.844rem, 3.668rem + 5.016vw, 9.688rem);
  background-image: url("..//image/company/bg_company-philosophy.jpg");
  background-position: center;
  background-size: cover;
}
.company-philosophy::before {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  display: block;
  width: clamp(3.656rem, 2.769rem + 3.786vw, 7.313rem);
  margin: auto;
  background-image: url("..//image/company/bg_triangle--white.png");
  background-size: cover;
  content: "";
  aspect-ratio: 117/49;
}
.company-philosophy::after {
  position: absolute;
  right: 0;
  bottom: calc(-1 * clamp(1.531rem, 1.16rem + 1.586vw, 3.063rem));
  left: 0;
  display: block;
  width: clamp(3.656rem, 2.769rem + 3.786vw, 7.313rem);
  margin: auto;
  background-image: url("..//image/company/bg_triangle--gray.png");
  background-size: cover;
  content: "";
  aspect-ratio: 117/49;
}
.company-philosophy .section__heading {
  margin-top: clamp(4.063rem, 3.41rem + 2.783vw, 6.75rem);
}
.company-philosophy__text {
  display: flex;
  flex-direction: column;
  max-width: 1420px;
  height: clamp(600px, 582.3943661972px + 4.6948356808vw, 650px);
  margin-top: calc(-1 * clamp(4.188rem, 3.505rem + 2.913vw, 7rem));
  background-color: #fff;
  margin-inline: auto;
  padding: clamp(80px, 58.8732394366px + 5.6338028169vw, 140px) clamp(30px, 22.9577464789px + 1.8779342723vw, 50px) clamp(80px, 65.9154929577px + 3.7558685446vw, 120px);
  margin-inline: auto;
  width: min(100%, 1200px);
  gap: clamp(1.875rem, 1.5448943662rem + 1.4084507042vw, 2.8125rem);
  color: #000;
  /* 先頭のキャッチ */
  /* 最終段の強調 */
}
.company-philosophy__text p {
  font-weight: 500;
  font-size: clamp(0.875rem, 0.7429577465rem + 0.5633802817vw, 1.25rem);
  line-height: 1.75;
}
.company-philosophy__text p > strong {
  font-size: clamp(1.125rem, 0.9929577465rem + 0.5633802817vw, 1.5rem);
}
.company-philosophy__text .catch {
  font-weight: 700;
  font-size: clamp(1.25rem, 0.8098591549rem + 1.8779342723vw, 2.5rem);
  line-height: 1.4;
}
.company-philosophy__text strong {
  font-weight: 700;
}

.company-corporate-profile {
  margin-top: clamp(3.125rem, 0.85rem + 9.709vw, 12.5rem);
}
.company-corporate-profile__text {
  max-width: 1000px;
  margin-top: 55px;
  margin-inline: auto;
}
.company-corporate-profile__text .link {
  color: #006cb4;
  /*text-decoration: underline;*/
  display: flex;
  font-family: "Roboto", sans-serif;
  font-size: clamp(0.75rem, 0.629rem + 0.518vw, 1.25rem);
  font-weight: bold;
  color: #006cb4;
  align-items: center;
}
.company-corporate-profile__text .link svg {
  width: clamp(0.619rem, 0.519rem + 0.427vw, 1.031rem);
  height: clamp(0.619rem, 0.519rem + 0.427vw, 1.031rem);
}
.company-corporate-profile__text .officer-list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.company-corporate-profile__text .officer-list > li {
  display: grid;
  grid-template-columns: minmax(10em, auto) 1fr;
  /* 役職 / 氏名 */
  column-gap: 1em;
  align-items: baseline;
  border-bottom: 0;
  padding-block: 0.25em;
}
.company-corporate-profile__text .secondhand-business-list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.company-corporate-profile__text .secondhand-business-list > li {
  display: grid;
  grid-template-columns: minmax(10em, auto) 1fr;
  /* 項目 / 値 */
  column-gap: 1em;
  align-items: center;
  border-bottom: 0;
  padding-block: 0.25em;
}
@media (max-width: 768px) {
  .company-corporate-profile__text .secondhand-business-list > li {
    grid-template-columns: minmax(10em, auto) 1fr;
  }
}
.company-corporate-profile__text ul li {
  display: flex;
  border-bottom: solid 1px #707070;
  padding-block: clamp(0.637rem, 0.534rem + 0.44vw, 1.063rem);
}
.company-corporate-profile__label {
  width: 18%;
  min-width: 70px;
}
.company-corporate-profile__value {
  width: 82%;
}

.company-map {
  margin-top: clamp(2.569rem, 2.153rem + 1.773vw, 4.281rem);
}
.company-map__map {
  max-width: 1000px;
  aspect-ratio: 1000/549;
  margin-inline: auto;
}
.company-map__map iframe {
  width: 100%;
  height: 100%;
  border: none;
}

.company-company-history {
  position: relative;
  margin-top: clamp(5.938rem, 4.496rem + 6.149vw, 11.875rem);
  padding-top: clamp(3.563rem, 2.698rem + 3.689vw, 7.125rem);
  padding-bottom: clamp(5.469rem, 4.141rem + 5.663vw, 10.938rem);
  background-color: #f2f2f2;
  --_angle: 108.6339521375deg;
  --_stripe-col: rgb(from #999 r g b/0.27);
  background-image: repeating-linear-gradient(var(--_angle), var(--_stripe-col) 0 1px, transparent 0 20px);
}
.company-company-history::before {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  display: block;
  width: clamp(3.656rem, 2.769rem + 3.786vw, 7.313rem);
  margin: auto;
  background-image: url("..//image/company/bg_triangle--white.png");
  background-size: cover;
  content: "";
  aspect-ratio: 117/49;
}
.company-company-history::after {
  position: absolute;
  right: 0;
  bottom: calc(-1 * clamp(1.531rem, 1.16rem + 1.586vw, 3.063rem));
  left: 0;
  display: block;
  width: clamp(3.656rem, 2.769rem + 3.786vw, 7.313rem);
  margin: auto;
  background-image: url("..//image/company/bg_triangle--gray.png");
  background-size: cover;
  content: "";
  aspect-ratio: 117/49;
}
.company-company-history__content {
  max-width: 800px;
  margin-top: calc(-1 * clamp(0.719rem, 0.544rem + 0.744vw, 1.438rem));
  margin-inline: auto;
}
.company-company-history__item {
  display: flex;
  padding-left: clamp(1.5rem, 1.136rem + 1.553vw, 3rem);
  justify-content: space-between;
  align-items: center;
  gap: clamp(0.938rem, -0.488rem + 6.084vw, 6.813rem);
  min-height: clamp(9.375rem, 7.4029126214rem + 8.4142394822vw, 17.5rem);
}
.company-company-history__year {
  position: relative;
  font-family: "Roboto", sans-serif;
  font-size: clamp(3.75rem, 3.143rem + 2.589vw, 6.25rem);
  font-weight: bold;
  color: #333;
}
.company-company-history__mark {
  position: absolute;
  top: 0;
  bottom: 0;
  left: calc(-1 * clamp(1.5rem, 1.136rem + 1.553vw, 3rem));
  display: inline-block;
  width: clamp(0.625rem, 0.473rem + 0.647vw, 1.25rem);
  height: clamp(0.625rem, 0.473rem + 0.647vw, 1.25rem);
  margin: auto;
  border-radius: 50%;
  background: linear-gradient(#f00 0%, #ff8341 100%);
}
.company-company-history__line {
  position: absolute;
  z-index: 0;
  width: 2px;
  height: 0;
  background-color: #707070;
  inset: 50% auto auto 50%;
  translate: -50% clamp(0.313rem, 0.237rem + 0.324vw, 0.625rem);
}
.company-company-history__description {
  margin-top: calc(-1 * clamp(0.5rem, 0.379rem + 0.518vw, 1rem));
  padding-left: clamp(0.188rem, 0.142rem + 0.194vw, 0.375rem);
  font-size: clamp(0.75rem, 0.629rem + 0.518vw, 1.25rem);
  font-weight: 500;
  line-height: 1.75;
  color: #333;
}
.company-company-history__img {
  flex-shrink: 0;
}
.company-company-history__img img {
  width: clamp(3.75rem, 0.109rem + 15.534vw, 18.75rem);
  aspect-ratio: 300/300;
}

.company-quality {
  margin-top: clamp(6.219rem, 4.709rem + 6.44vw, 12.438rem);
}
.company-quality__content {
  display: flex;
  flex-direction: column;
  max-width: 1000px;
  margin-inline: auto;
  align-items: center;
}
.company-quality__content div:not(.company-quality__fei-environment-policy) {
  width: 100%;
}
.company-quality__content div:not(.company-quality__fei-environment-policy) h3 {
  position: relative;
  font-size: clamp(1.5rem, 1.257rem + 1.036vw, 2.5rem);
  font-weight: bold;
  line-height: 1.375;
  color: #333;
}
.company-quality__content div:not(.company-quality__fei-environment-policy) h3::before {
  position: absolute;
  top: 0;
  bottom: 0;
  left: calc(-1 * clamp(1.063rem, 0.896rem + 0.712vw, 1.75rem));
  display: block;
  width: clamp(0.375rem, 0.314rem + 0.259vw, 0.625rem);
  height: clamp(1.5rem, 1.257rem + 1.036vw, 2.5rem);
  margin: auto;
  background-color: #006CB4;
  content: "";
  transform: translateY(clamp(0.063rem, 0.047rem + 0.065vw, 0.125rem));
}
.company-quality__content div:not(.company-quality__fei-environment-policy) .paragraph {
  margin-top: clamp(0.969rem, 0.734rem + 1.003vw, 1.938rem);
  font-size: clamp(0.75rem, 0.629rem + 0.518vw, 1.25rem);
  font-weight: 500;
  line-height: 1.75;
  color: #333;
  line-height: -0.005em;
}
@media (max-width: 1280px) {
  .company-quality__content div:not(.company-quality__fei-environment-policy) .paragraph .pc {
    display: none;
  }
}
.company-quality__content div:not(.company-quality__fei-environment-policy) .list {
  margin-top: clamp(0.969rem, 0.734rem + 1.003vw, 1.938rem);
}
.company-quality__content div:not(.company-quality__fei-environment-policy) .list li::before {
  content: "・";
  margin-right: 0.5em;
  font-weight: bold;
  color: #333;
}
.company-quality__content div:not(.company-quality__fei-environment-policy) a {
  display: flex;
  margin-top: clamp(0.594rem, 0.45rem + 0.615vw, 1.188rem);
  font-family: "Roboto", sans-serif;
  font-size: clamp(0.75rem, 0.629rem + 0.518vw, 1.25rem);
  font-weight: bold;
  line-height: 2.5;
  color: #006cb4;
  align-items: center;
}
.company-quality__content div:not(.company-quality__fei-environment-policy) a svg {
  width: clamp(0.619rem, 0.519rem + 0.427vw, 1.031rem);
  height: clamp(0.619rem, 0.519rem + 0.427vw, 1.031rem);
}
.company-quality__quality-policy {
  margin-top: clamp(2.313rem, 1.751rem + 2.395vw, 4.625rem);
}
.company-quality__quality-policy .btn-area {
  margin-top: 20px;
  margin-inline: auto;
  width: fit-content;
}
@media (width > 768px) {
  .company-quality__quality-policy .btn-area {
    margin-top: 20px;
  }
}
.company-quality__quality-policy .btn-area .btn {
  font-size: 0.875rem;
  width: clamp(18.75rem, 9.5708224543rem + 39.1644908616vw, 28.125rem);
  display: inline-grid;
  grid-template-columns: 1fr auto 1fr;
  column-gap: 0.4em;
  align-items: center;
  align-content: center;
  border-radius: calc(infinity * 1px);
  padding-inline: 0.7em;
  padding-block: 0.85em;
  font-weight: 700;
  line-height: 1;
  color: #fff;
  background-size: 200% 100%;
  background-position: 100% 0;
  background-color: var(--accent-col);
  background-image: linear-gradient(90deg, transparent, var(--accent-col-alt), transparent);
  transition-duration: 0.3s;
  transition-property: background-position;
}
.company-quality__quality-policy .btn-area .btn:focus, .company-quality__quality-policy .btn-area .btn:hover {
  background-position: 0;
}
.company-quality__quality-policy .btn-area .btn::before, .company-quality__quality-policy .btn-area .btn::after {
  content: "";
}
.company-quality__quality-policy .btn-area .btn::after {
  justify-self: end;
  width: 0.75em;
  aspect-ratio: 1;
  background: url("/image/chevron_right.svg") no-repeat center right/contain;
}
@media (width > 768px) {
  .company-quality__quality-policy .btn-area .btn {
    font-size: 1.25rem;
    width: 450px;
  }
}

.company-sustainability {
  margin-top: clamp(6.219rem, 4.709rem + 6.44vw, 12.438rem);
  margin-bottom: clamp(7.406rem, 5.609rem + 7.67vw, 14.813rem);
}
.company-sustainability__content {
  display: flex;
  flex-direction: column;
  max-width: 1000px;
  margin-inline: auto;
  align-items: center;
}
.company-sustainability__content div:not(.company-sustainability__fei-environment-policy) {
  width: 100%;
}
.company-sustainability__content div:not(.company-sustainability__fei-environment-policy) h3 {
  position: relative;
  font-size: clamp(1.5rem, 1.257rem + 1.036vw, 2.5rem);
  font-weight: bold;
  line-height: 1.375;
  color: #333;
}
.company-sustainability__content div:not(.company-sustainability__fei-environment-policy) h3::before {
  position: absolute;
  top: 0;
  bottom: 0;
  left: calc(-1 * clamp(1.063rem, 0.896rem + 0.712vw, 1.75rem));
  display: block;
  width: clamp(0.375rem, 0.314rem + 0.259vw, 0.625rem);
  height: clamp(1.5rem, 1.257rem + 1.036vw, 2.5rem);
  margin: auto;
  background-color: #006CB4;
  content: "";
  transform: translateY(clamp(0.063rem, 0.047rem + 0.065vw, 0.125rem));
}
.company-sustainability__content div:not(.company-sustainability__fei-environment-policy) .paragraph {
  margin-top: clamp(0.969rem, 0.734rem + 1.003vw, 1.938rem);
  font-size: clamp(0.75rem, 0.629rem + 0.518vw, 1.25rem);
  font-weight: 500;
  line-height: 1.75;
  color: #333;
  line-height: -0.005em;
}
@media (max-width: 1280px) {
  .company-sustainability__content div:not(.company-sustainability__fei-environment-policy) .paragraph .pc {
    display: none;
  }
}
.company-sustainability__content div:not(.company-sustainability__fei-environment-policy) .list {
  margin-top: clamp(0.969rem, 0.734rem + 1.003vw, 1.938rem);
}
.company-sustainability__content div:not(.company-sustainability__fei-environment-policy) .list li::before {
  content: "・";
  margin-right: 0.5em;
  font-weight: bold;
  color: #333;
}
.company-sustainability__content div:not(.company-sustainability__fei-environment-policy) a {
  display: flex;
  margin-top: clamp(0.594rem, 0.45rem + 0.615vw, 1.188rem);
  font-family: "Roboto", sans-serif;
  font-size: clamp(0.75rem, 0.629rem + 0.518vw, 1.25rem);
  font-weight: bold;
  line-height: 2.5;
  color: #006cb4;
  align-items: center;
}
.company-sustainability__content div:not(.company-sustainability__fei-environment-policy) a svg {
  width: clamp(0.619rem, 0.519rem + 0.427vw, 1.031rem);
  height: clamp(0.619rem, 0.519rem + 0.427vw, 1.031rem);
}
.company-sustainability__sustainability-policy {
  margin-top: clamp(2.313rem, 1.751rem + 2.395vw, 4.625rem);
}
.company-sustainability__sustainability-policy .btn-area {
  margin-top: 20px;
  margin-inline: auto;
  width: fit-content;
}
@media (width > 768px) {
  .company-sustainability__sustainability-policy .btn-area {
    margin-top: 20px;
  }
}
.company-sustainability__sustainability-policy .btn-area .btn {
  font-size: 0.875rem;
  width: clamp(18.75rem, 9.5708224543rem + 39.1644908616vw, 28.125rem);
  display: inline-grid;
  grid-template-columns: 1fr auto 1fr;
  column-gap: 0.4em;
  align-items: center;
  align-content: center;
  border-radius: calc(infinity * 1px);
  padding-inline: 0.7em;
  padding-block: 0.85em;
  font-weight: 700;
  line-height: 1;
  color: #fff;
  background-size: 200% 100%;
  background-position: 100% 0;
  background-color: var(--accent-col);
  background-image: linear-gradient(90deg, transparent, var(--accent-col-alt), transparent);
  transition-duration: 0.3s;
  transition-property: background-position;
}
.company-sustainability__sustainability-policy .btn-area .btn:focus, .company-sustainability__sustainability-policy .btn-area .btn:hover {
  background-position: 0;
}
.company-sustainability__sustainability-policy .btn-area .btn::before, .company-sustainability__sustainability-policy .btn-area .btn::after {
  content: "";
}
.company-sustainability__sustainability-policy .btn-area .btn::after {
  justify-self: end;
  width: 0.75em;
  aspect-ratio: 1;
  background: url("/image/chevron_right.svg") no-repeat center right/contain;
}
@media (width > 768px) {
  .company-sustainability__sustainability-policy .btn-area .btn {
    font-size: 1.25rem;
    width: 450px;
  }
}
.company-sustainability__csr-policy {
  margin-top: clamp(3.313rem, 2.508rem + 3.43vw, 6.625rem);
}
.company-sustainability__environment-policy {
  margin-top: clamp(3.344rem, 2.532rem + 3.463vw, 6.688rem);
}
.company-sustainability__fei-environment-policy {
  width: 1420px;
  max-width: 95vw;
  margin-top: clamp(3.344rem, 2.532rem + 3.463vw, 6.688rem);
  padding-top: clamp(1.719rem, 1.302rem + 1.78vw, 3.438rem);
  padding-bottom: clamp(1.813rem, 1.373rem + 1.877vw, 3.625rem);
  background-color: #F2F2F2;
  padding-inline: clamp(0.625rem, -0.892rem + 6.472vw, 6.875rem);
}
.company-sustainability__fei-environment-policy h3 {
  font-size: clamp(1.5rem, 1.257rem + 1.036vw, 2.5rem);
  font-weight: bold;
  line-height: 2;
  color: #006cb4;
  text-align: center;
}
.company-sustainability__fei-environment-policy h4 {
  margin-top: 35px;
  font-size: clamp(0.75rem, 0.629rem + 0.518vw, 1.25rem);
  font-weight: 500;
  line-height: 1.75;
  color: #333;
}
.company-sustainability__fei-environment-policy h4:nth-child(2) {
  margin-top: clamp(1.781rem, 1.349rem + 1.845vw, 3.563rem);
}
.company-sustainability__fei-environment-policy p:not(.signature) {
  margin-top: clamp(1.125rem, 0.852rem + 1.165vw, 2.25rem);
  padding-left: clamp(1.25rem, 0.947rem + 1.294vw, 2.5rem);
  font-size: clamp(0.75rem, 0.629rem + 0.518vw, 1.25rem);
  font-weight: 500;
  line-height: 1.75;
  color: #333;
}
.company-sustainability__fei-environment-policy ol {
  margin-top: clamp(1.094rem, 0.828rem + 1.133vw, 2.188rem);
  margin-bottom: clamp(4.219rem, 3.195rem + 4.369vw, 8.438rem);
  margin-left: clamp(1.25rem, 0.947rem + 1.294vw, 2.5rem);
  counter-reset: number;
}
.company-sustainability__fei-environment-policy ol > li {
  position: relative;
  padding-left: clamp(1.188rem, 0.899rem + 1.23vw, 2.375rem);
  font-size: clamp(0.75rem, 0.629rem + 0.518vw, 1.25rem);
  font-weight: 500;
  line-height: 1.75;
  color: #333;
  counter-increment: number;
}
.company-sustainability__fei-environment-policy ol > li::before {
  position: absolute;
  top: 0;
  left: 0;
  color: #333;
  content: counter(number) ".";
}
.company-sustainability__fei-environment-policy ol > li ul li {
  position: relative;
  padding-left: clamp(0.844rem, 0.639rem + 0.874vw, 1.688rem);
  font-size: clamp(0.75rem, 0.629rem + 0.518vw, 1.25rem);
  font-weight: 500;
  line-height: 1.75;
  color: #333;
}
.company-sustainability__fei-environment-policy ol > li ul li::before {
  position: absolute;
  top: 0;
  left: 0;
  font-weight: bold;
  color: #333;
  content: "― ";
}
.company-sustainability__fei-environment-policy .signature {
  font-size: clamp(0.625rem, 0.519rem + 0.453vw, 1.063rem);
  font-weight: 500;
  line-height: 1.7647058824;
  color: #333;
  text-align: right;
}
.company-sustainability__environment-certification {
  margin-top: clamp(3.344rem, 2.532rem + 3.463vw, 6.688rem);
}
.company-sustainability__environment-certification .btn-area {
  margin-top: 20px;
  margin-inline: auto;
  width: fit-content;
}
@media (width > 768px) {
  .company-sustainability__environment-certification .btn-area {
    margin-top: 20px;
  }
}
.company-sustainability__environment-certification .btn-area .btn {
  font-size: 0.875rem;
  width: clamp(12.5rem, 2.7088772846rem + 41.7754569191vw, 22.5rem);
  display: inline-grid;
  grid-template-columns: 1fr auto 1fr;
  column-gap: 0.4em;
  align-items: center;
  align-content: center;
  border-radius: calc(infinity * 1px);
  padding-inline: 0.7em;
  padding-block: 0.85em;
  font-weight: 700;
  line-height: 1;
  color: #fff;
  background-size: 200% 100%;
  background-position: 100% 0;
  background-color: var(--accent-col);
  background-image: linear-gradient(90deg, transparent, var(--accent-col-alt), transparent);
  transition-duration: 0.3s;
  transition-property: background-position;
}
.company-sustainability__environment-certification .btn-area .btn:focus, .company-sustainability__environment-certification .btn-area .btn:hover {
  background-position: 0;
}
.company-sustainability__environment-certification .btn-area .btn::before, .company-sustainability__environment-certification .btn-area .btn::after {
  content: "";
}
.company-sustainability__environment-certification .btn-area .btn::after {
  justify-self: end;
  width: 0.75em;
  aspect-ratio: 1;
  background: url("/image/chevron_right.svg") no-repeat center right/contain;
}
@media (width > 768px) {
  .company-sustainability__environment-certification .btn-area .btn {
    font-size: 1.25rem;
    width: 360px;
  }
}