.company-policy {
  position: relative;
  overflow: hidden;
  padding: 50px 0 min(14vw, 168px);
}
@media only screen and (max-width: 767px) {
  .company-policy {
    padding: 50px 0 26.667vw;
  }
}
.company-policy::before {
  position: absolute;
  display: inline-block;
  content: "";
  top: 0;
  left: 50%;
  width: calc(100% + min(32vw, 384px));
  height: min(328.417vw, 3941px);
  background-image: url("/assets/img/company/company_philosophy-background_pc.svg");
  background-position: left top;
  background-size: cover;
  background-repeat: no-repeat;
  transform: translate(-50%, 0);
  z-index: -5;
}
@media only screen and (max-width: 767px) {
  .company-policy::before {
    left: 0;
    width: 140.256vw;
    height: 1316.923vw;
    background-image: url("/assets/img/company/company_philosophy-background_sp.svg");
    transform: translate(0, 0);
  }
}
.company-policy__hgroup-main {
  display: grid;
  align-items: start;
  grid-template-columns: auto 1fr;
  gap: min(2.417vw, 29px);
}
@media only screen and (max-width: 767px) {
  .company-policy__hgroup-main {
    gap: 7.436vw;
  }
}
.company-policy__hgroup-main h2 {
  color: var(--dark_blue-gray);
  font-family: var(--family-en);
  font-size: min(2.5vw, 30px);
  font-weight: var(--weight-bold);
  line-height: 1;
}
@media only screen and (max-width: 767px) {
  .company-policy__hgroup-main h2 {
    font-size: 7.692vw;
  }
}
.company-policy__hgroup-main p {
  position: relative;
  margin-top: min(0.333vw, 4px);
  color: var(--dark_blue-gray);
  font-family: var(--family-jp);
  font-size: min(1.5vw, 18px);
  font-weight: var(--weight-medium);
  line-height: 1.7;
}
@media only screen and (max-width: 767px) {
  .company-policy__hgroup-main p {
    margin-top: 1.026vw;
    font-size: 4.615vw;
  }
}
.company-policy__hgroup-main p::before {
  position: absolute;
  display: inline-block;
  content: "";
  top: 50%;
  left: max(-1.083vw, -13px);
  width: min(0.417vw, 5px);
  height: min(0.083vw, 1px);
  background-color: var(--dark_blue-gray);
  transform: translate(0 -50%);
}
@media only screen and (max-width: 767px) {
  .company-policy__hgroup-main p::before {
    left: -3.333vw;
    width: 1.282vw;
    height: 0.256vw;
  }
}
.company-policy__hgroup-sub {
  display: grid;
  align-items: center;
  grid-template-columns: auto 1fr;
  gap: min(3.583vw, 43px);
}
@media only screen and (max-width: 767px) {
  .company-policy__hgroup-sub {
    grid-template-columns: 1fr;
    gap: 4.103vw;
  }
}
.company-policy__hgroup-sub h2 {
  position: relative;
  padding-left: min(2.667vw, 32px);
  color: var(--dark_green_primary);
  font-family: var(--family-jp);
  font-size: min(4vw, 48px);
  font-weight: var(--weight-bold);
  line-height: 1;
}
@media only screen and (max-width: 767px) {
  .company-policy__hgroup-sub h2 {
    padding-left: 8.205vw;
    font-size: 9.231vw;
  }
}
.company-policy__hgroup-sub h2::before {
  position: absolute;
  display: inline-block;
  content: "";
  margin-top: min(0.333vw, 4px);
  top: 50%;
  left: 0;
  width: min(1vw, 12px);
  height: min(1.167vw, 14px);
  background-image: url("/assets/img/common/icon/icon-hex_dark_green_primary.png");
  background-position: center;
  background-repeat: no-repeat;
  background-size: min(1vw, 12px) min(1.167vw, 14px);
  transform: translate(0, -50%);
}
@media only screen and (max-width: 767px) {
  .company-policy__hgroup-sub h2::before {
    margin-top: 1.026vw;
    width: 3.077vw;
    height: 3.59vw;
    background-size: 3.077vw 3.59vw;
  }
}
.company-policy__hgroup-sub p {
  position: relative;
  margin-top: min(0.333vw, 4px);
  color: var(--dark_green_primary);
  font-family: var(--family-jp);
  font-size: min(1.5vw, 18px);
  font-weight: var(--weight-medium);
  line-height: 1.7;
}
@media only screen and (max-width: 767px) {
  .company-policy__hgroup-sub p {
    margin-top: 0;
    padding-left: 3.077vw;
    font-size: 4.615vw;
  }
}
.company-policy__hgroup-sub p::before {
  position: absolute;
  display: inline-block;
  content: "";
  top: 50%;
  left: max(-1.417vw, -17px);
  width: min(0.417vw, 5px);
  height: min(0.083vw, 1px);
  background-color: var(--dark_green_primary);
  transform: translate(0 -50%);
}
@media only screen and (max-width: 767px) {
  .company-policy__hgroup-sub p::before {
    left: 0;
    width: 1.282vw;
    height: 0.256vw;
  }
}
.company-policy__lead {
  margin: min(2.5vw, 30px) 0;
  color: var(--gray_text);
  font-family: "YakuHanJP", var(--family-jp);
  font-size: min(2.571vw, 36px);
  font-weight: var(--weight-bold);
  line-height: 1.7;
  letter-spacing: 0.04em;
}
@media only screen and (max-width: 767px) {
  .company-policy__lead {
    margin: 7.692vw 0 2.051vw;
    font-size: 6.667vw;
  }
}
.company-policy__lead .primary {
  color: var(--dark_green_primary);
}
.company-policy__description {
  font-size: min(1.333vw, 16px);
  font-weight: var(--weight-regular);
  line-height: 2.2;
}
@media only screen and (max-width: 767px) {
  .company-policy__description {
    font-size: 4.103vw;
  }
}

.company-policy_mission {
  position: relative;
  display: grid;
  height: min(32.083vw, 462px);
  margin-bottom: min(11.389vw, 164px);
}
@media only screen and (max-width: 767px) {
  .company-policy_mission {
    margin-bottom: 26.667vw;
    padding-bottom: 80.513vw;
    height: auto;
  }
}
.company-policy_mission .company-policy__lead {
  letter-spacing: 0.1em;
}
.company-policy_mission__outer {
  display: grid;
  justify-items: center;
}
.company-policy_mission__inner {
  position: relative;
  display: grid;
  align-items: center;
  width: min(77.361vw, 1114px);
}
@media only screen and (max-width: 767px) {
  .company-policy_mission__inner {
    width: 87.692vw;
  }
}
.company-policy_mission__inner::after {
  position: absolute;
  display: inline-block;
  content: "";
  top: 0;
  left: calc(50% + min(6.736vw, 97px));
  width: min(43.889vw, 632px);
  height: min(32.083vw, 462px);
  background-image: url("/assets/img/company/company_philosophy-mission_pc.png");
  background-position: center;
  background-size: min(43.889vw, 632px) min(32.083vw, 462px);
  background-repeat: no-repeat;
}
@media only screen and (max-width: 767px) {
  .company-policy_mission__inner::after {
    top: 105.897vw;
    left: calc(50% - 43.846vw);
    width: 93.846vw;
    height: 70.256vw;
    background-image: url("/assets/img/company/company_philosophy-mission_sp.png");
    background-size: 93.846vw 70.256vw;
  }
}
.company-policy_mission__content {
  display: grid;
  align-items: center;
  grid-template-columns: min(35.972vw, 518px) 1fr;
  gap: min(7.083vw, 102px);
  margin-top: min(1.667vw, 20px);
}
@media only screen and (max-width: 767px) {
  .company-policy_mission__content {
    margin-top: 0;
    grid-template-columns: 1fr;
    gap: 0;
  }
}

.company-policy_vision {
  position: relative;
  display: grid;
  height: min(32.083vw, 462px);
  margin-bottom: min(11.389vw, 164px);
}
@media only screen and (max-width: 767px) {
  .company-policy_vision {
    margin-bottom: 26.667vw;
    padding-bottom: 80.513vw;
    height: auto;
  }
}
.company-policy_vision .company-policy__lead {
  letter-spacing: 0.1em;
}
.company-policy_vision__outer {
  display: grid;
  justify-items: center;
}
.company-policy_vision__inner {
  position: relative;
  display: grid;
  align-items: center;
  width: min(77.361vw, 1114px);
}
@media only screen and (max-width: 767px) {
  .company-policy_vision__inner {
    width: 87.692vw;
  }
}
.company-policy_vision__inner::after {
  position: absolute;
  display: inline-block;
  content: "";
  top: 0;
  right: calc(50% + min(7.708vw, 111px));
  width: min(43.889vw, 632px);
  height: min(32.083vw, 462px);
  background-image: url("/assets/img/company/company_philosophy-vision_pc.png");
  background-position: center;
  background-size: min(43.889vw, 632px) min(32.083vw, 462px);
  background-repeat: no-repeat;
}
@media only screen and (max-width: 767px) {
  .company-policy_vision__inner::after {
    top: 108.205vw;
    right: calc(50% - 43.846vw);
    width: 93.846vw;
    height: 70.256vw;
    background-image: url("/assets/img/company/company_philosophy-vision_sp.png");
    background-size: 93.846vw 70.256vw;
  }
}
.company-policy_vision__content {
  display: grid;
  align-items: center;
  grid-template-columns: min(31.111vw, 448px) min(39.167vw, 564px);
  gap: min(7.083vw, 102px);
  margin-top: min(1.333vw, 16px);
}
@media only screen and (max-width: 767px) {
  .company-policy_vision__content {
    margin-top: 0;
    grid-template-columns: 1fr;
    gap: 0;
  }
}
.company-policy_vision__main {
  grid-column: 2;
}

.company-policy_value {
  position: relative;
  margin-bottom: min(14vw, 168px);
}
@media only screen and (max-width: 767px) {
  .company-policy_value {
    margin-bottom: 26.667vw;
  }
}
.company-policy_value .company-policy__lead {
  letter-spacing: 0.04em;
}
.company-policy_value__outer {
  display: grid;
  justify-items: center;
}
.company-policy_value__inner {
  width: min(77.361vw, 1114px);
}
@media only screen and (max-width: 767px) {
  .company-policy_value__inner {
    width: 87.692vw;
  }
}
.company-policy_value__content {
  display: grid;
  align-items: center;
  grid-template-columns: min(32.5vw, 468px) min(39.167vw, 564px);
  gap: min(5.694vw, 82px);
}
@media only screen and (max-width: 767px) {
  .company-policy_value__content {
    grid-template-columns: 1fr;
    gap: 0;
  }
}
.company-policy_value__list {
  display: grid;
  grid-auto-flow: row;
  gap: min(2vw, 24px);
}
@media only screen and (max-width: 767px) {
  .company-policy_value__list {
    gap: 6.154vw;
    margin-top: 10.256vw;
  }
}
.company-policy_value__item {
  display: grid;
  grid-auto-flow: row;
  gap: min(0.667vw, 8px);
  line-height: 1.7;
}
@media only screen and (max-width: 767px) {
  .company-policy_value__item {
    gap: 2.051vw;
  }
}
.company-policy_value__item dt {
  font-size: min(1.667vw, 20px);
  font-weight: var(--weight-bold);
}
@media only screen and (max-width: 767px) {
  .company-policy_value__item dt {
    font-size: 5.128vw;
  }
}
.company-policy_value__item dd {
  font-size: min(1.333vw, 16px);
  font-weight: var(--weight-regular);
}
@media only screen and (max-width: 767px) {
  .company-policy_value__item dd {
    font-size: 4.103vw;
  }
}

.company-policy_dna {
  position: relative;
  padding: min(8.667vw, 104px) 0;
  margin-bottom: min(14vw, 168px);
}
@media only screen and (max-width: 767px) {
  .company-policy_dna {
    padding: 16.41vw 0;
    margin-bottom: 16.41vw;
  }
}
.company-policy_dna::before {
  position: absolute;
  display: inline-block;
  padding: 0 0 0 min(7.553vw, 100px);
  content: "";
  top: 0;
  right: 0;
  width: calc(50% + min(98.187vw, 1300px) / 2);
  height: min(77.75vw, 933px);
  border-radius: min(2vw, 24px) 0 0 min(2vw, 24px);
  background-color: var(--white);
  z-index: -1;
}
@media only screen and (max-width: 767px) {
  .company-policy_dna::before {
    padding: 0 0 0 6.154vw;
    width: calc(50% + 43.846vw);
    height: 290.513vw;
    border-radius: 6.154vw 0 0 6.154vw;
  }
}
.company-policy_dna__outer {
  display: grid;
  justify-items: center;
}
@media only screen and (max-width: 767px) {
  .company-policy_dna__outer {
    margin-left: 6.154vw;
  }
}
.company-policy_dna__inner {
  width: min(91.667vw, 1100px);
}
@media only screen and (max-width: 767px) {
  .company-policy_dna__inner {
    width: 81.538vw;
  }
}
.company-policy_dna .company-policy__hgroup-sub h2 {
  font-family: var(--family-en);
}
.company-policy_dna__description {
  margin: min(1.333vw, 16px) 0 min(3.333vw, 40px);
  color: var(--gray_text);
  font-size: min(1.333vw, 16px);
  font-weight: var(--weight-regular);
  line-height: 2.2;
}
@media only screen and (max-width: 767px) {
  .company-policy_dna__description {
    margin: 6.154vw 0 10.256vw;
    font-size: 4.103vw;
  }
}
.company-policy_dna__philosophy {
  margin-bottom: min(5.333vw, 64px);
}
@media only screen and (max-width: 767px) {
  .company-policy_dna__philosophy {
    margin-bottom: 16.41vw;
  }
}
.company-policy_dna__philosophy p {
  padding: min(2vw, 24px) min(5.583vw, 67px);
  margin-top: min(3.333vw, 40px);
  font-family: "YakuHanJP", var(--family-jp);
  font-size: min(2.417vw, 29px);
  font-weight: var(--weight-bold);
  line-height: 1.7;
  border-radius: min(1.333vw, 16px);
  background-color: var(--light_green_1);
}
@media only screen and (max-width: 767px) {
  .company-policy_dna__philosophy p {
    padding: 6.154vw;
    margin-top: 10.256vw;
    font-size: 5.128vw;
    border-radius: 4.103vw;
  }
}
.company-policy_dna__philosophy p .kerning-1 {
  letter-spacing: 0.04em;
}
.company-policy_dna__creed dl {
  display: grid;
  align-items: center;
  justify-items: center;
  grid-template-columns: 1fr 1fr;
  gap: min(1.333vw, 16px);
  margin-top: min(3.333vw, 40px);
}
@media only screen and (max-width: 767px) {
  .company-policy_dna__creed dl {
    grid-template-columns: 1fr;
    gap: 4.103vw;
    margin-top: 10.256vw;
  }
}
.company-policy_dna__creed dl div {
  display: grid;
  justify-items: center;
  gap: min(1vw, 12px);
  padding: min(2vw, 24px) 0;
  width: min(45.167vw, 542px);
  border-radius: min(1.333vw, 16px);
  background-color: var(--light_green_1);
}
@media only screen and (max-width: 767px) {
  .company-policy_dna__creed dl div {
    gap: 3.077vw;
    padding: 6.154vw;
    width: 100%;
    border-radius: 4.103vw;
  }
}
.company-policy_dna__creed dl dt {
  font-size: min(2.667vw, 32px);
  font-weight: var(--weight-bold);
  line-height: 1.7;
  letter-spacing: 0.08em;
}
@media only screen and (max-width: 767px) {
  .company-policy_dna__creed dl dt {
    font-size: 6.154vw;
  }
}
.company-policy_dna__creed dl dd {
  font-size: min(1.5vw, 18px);
  font-weight: var(--weight-regular);
  line-height: 1.7;
}
@media only screen and (max-width: 767px) {
  .company-policy_dna__creed dl dd {
    font-size: 4.103vw;
  }
}

.company-policy_name-dna {
  position: relative;
  padding: min(8.667vw, 104px) 0 min(6vw, 72px);
}
@media only screen and (max-width: 767px) {
  .company-policy_name-dna {
    padding: 16.41vw 0 58.462vw;
    margin-bottom: 0;
  }
}
.company-policy_name-dna::before {
  position: absolute;
  display: inline-block;
  padding: 0 min(7.553vw, 100px) 0 0;
  content: "";
  top: 0;
  left: 0;
  width: calc(50% + min(98.187vw, 1300px) / 2);
  height: min(53.167vw, 638px);
  border-radius: 0 min(2vw, 24px) min(2vw, 24px) 0;
  background-color: var(--white);
  z-index: -1;
}
@media only screen and (max-width: 767px) {
  .company-policy_name-dna::before {
    width: calc(50% + 43.846vw);
    height: 248.718vw;
    border-radius: 0 6.154vw 6.154vw 0;
  }
}
.company-policy_name-dna__decoration {
  position: absolute;
  display: inline-block;
  content: "";
  top: 0;
  left: 0;
  width: calc(50% + min(98.187vw, 1300px) / 2);
  height: min(53.167vw, 638px);
}
@media only screen and (max-width: 767px) {
  .company-policy_name-dna__decoration {
    width: calc(50% + 43.846vw);
    height: 248.718vw;
  }
}
.company-policy_name-dna__decoration::after {
  position: absolute;
  display: inline-block;
  content: "";
  bottom: max(-4.094vw, -56px);
  right: min(2.924vw, 40px);
  width: min(94.152vw, 1288px);
  height: min(7.675vw, 105px);
  background-image: url("/assets/img/company/hybrid-innovation-project_pc.svg");
  background-position: center;
  background-size: min(94.152vw, 1288px) min(7.675vw, 105px);
  background-repeat: no-repeat;
}
@media only screen and (max-width: 767px) {
  .company-policy_name-dna__decoration::after {
    bottom: -30.769vw;
    right: 0;
    width: 87.692vw;
    height: 62.051vw;
    background-image: url("/assets/img/company/hybrid-innovation-project_sp.svg");
    background-size: 87.692vw 62.051vw;
  }
}
.company-policy_name-dna__outer {
  display: grid;
  justify-items: center;
  margin-bottom: min(5.333vw, 64px);
}
@media only screen and (max-width: 767px) {
  .company-policy_name-dna__outer {
    margin-right: 6.154vw;
    margin-bottom: 10.256vw;
  }
}
.company-policy_name-dna__inner {
  width: min(91.667vw, 1100px);
}
@media only screen and (max-width: 767px) {
  .company-policy_name-dna__inner {
    width: 81.538vw;
  }
}
.company-policy_name-dna__description {
  margin: min(1.333vw, 16px) 0 min(5.333vw, 64px);
  color: var(--gray_text);
  font-size: min(1.333vw, 16px);
  font-weight: var(--weight-regular);
  line-height: 2.2;
}
@media only screen and (max-width: 767px) {
  .company-policy_name-dna__description {
    margin: 4.103vw 0 10.256vw;
    font-size: 4.103vw;
  }
}
.company-policy_name-dna__figure {
  display: block;
  width: min(91.667vw, 1100px);
  height: min(20vw, 240px);
}
@media only screen and (max-width: 767px) {
  .company-policy_name-dna__figure {
    justify-self: center;
    width: 81.538vw;
    height: 122.308vw;
    padding-left: 6.154vw;
  }
}
.company-policy_name-dna__figure img {
  display: block;
  width: 100%;
}/*# sourceMappingURL=company_policy.css.map */