@charset "UTF-8";
:root {
  /* color */
  --color-white: #ffffff;
  --color-text: #4f4f4f;
  --color-text-blue: #005587;
  --color-bg-light: #eefaff;
  --color-bg-dark: #eaf1f8;
  --color-blue-light: #0bbbef;
  --color-blue-main: #035788;
  --color-blue-medium: #046b9d;
  --color-blue-dark: #032a57;
  --color-green-light: #5083a1;
  --color-orange: #ff8617;
  --color-line: #d9d9d9;
  --color-border: #cfd8e3;
  /* font */
  --font-sans: YuGothic, "Yu Gothic", "游ゴシック体", "游ゴシック", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  --font-en: Arial, "Helvetica Neue", Helvetica, sans-serif;
}

.p-company {
  color: var(--color-text);
  font-family: var(--font-sans);
  background: linear-gradient(180deg, var(--color-bg-light) 0%, var(--color-white) 100%);
}

.p-company-section {
  padding-top: 80rem;
}

.c-lower-fv + .p-company-section {
  padding-top: 123rem;
}

.p-company-section__table {
  margin-top: 36rem;
}

.p-company-section__table--narrow {
  margin-top: 28rem;
}

.p-company .c-table__data a {
  color: var(--color-blue-main);
  text-decoration: underline;
}

.p-company-group {
  margin-top: 28rem;
}

.p-company-group__row {
  display: grid;
  grid-template-columns: 120rem 1fr;
  -moz-column-gap: 28rem;
       column-gap: 28rem;
  padding: 24rem 0;
  border-bottom: 1rem solid var(--color-line);
}

.p-company-group__row:first-child {
  border-top: 1rem solid var(--color-line);
}

.p-company-group__head {
  color: var(--color-text);
  font-size: 14rem;
  font-weight: 700;
  line-height: 1.6;
}

.p-company-group__data {
  color: var(--color-text);
  font-size: 14rem;
  line-height: 1.9;
}

.p-company-chart {
  margin-top: 136rem;
  padding: 120rem 0;
  background: linear-gradient(236deg, var(--color-blue-medium) 0%, var(--color-blue-dark) 100%);
}

.p-company-chart__image {
  margin-top: 42rem;
}

.p-company-chart__image img {
  display: block;
  width: 100%;
  height: auto;
}

.p-company-products {
  padding-top: 123rem;
  background-color: var(--color-white);
}

.p-company-products__cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  -moz-column-gap: 31rem;
       column-gap: 31rem;
  margin-top: 44rem;
}

.p-company-products__card {
  display: block;
  color: inherit;
  text-decoration: none;
}

.p-company-products__image img {
  display: block;
  width: 100%;
  height: auto;
}

.p-company-products__name {
  margin-top: 16rem;
  color: var(--color-blue-main);
  font-size: 24rem;
  font-weight: 700;
  line-height: 1.3;
}

.p-company-products__label {
  margin-top: 4rem;
  color: var(--color-gray-dark);
  font-size: 16rem;
  font-weight: 500;
  line-height: 1.5;
}

.p-company-products__button {
  display: flex;
  justify-content: center;
  margin-top: 42rem;
}

.p-company__sns {
  padding-top: 120rem;
  padding-bottom: 120rem;
  background-color: var(--color-white);
}

.p-company .c-table__data a {
  color: var(--color-blue-main);
  text-decoration: underline;
  text-underline-offset: 3rem;
  transition: opacity 0.3s ease;
}

@media only screen and (min-width: 1272px) and (hover: hover) and (pointer: fine) {
  .p-company .c-table__data a:hover {
    opacity: 0.7;
  }
}
@media only screen and (min-width: 1272px) {
  .p-company-products__card:hover .p-company-products__name {
    opacity: 0.8;
  }
}
@media only screen and (max-width: 1271px) {
  .p-company-section {
    padding-top: 64rem;
  }
  .c-lower-fv + .p-company-section {
    padding-top: 88rem;
  }
  .p-company-section__table {
    margin-top: 32rem;
  }
  .p-company-group__row {
    grid-template-columns: 110rem 1fr;
    -moz-column-gap: 20rem;
         column-gap: 20rem;
  }
  .p-company-chart {
    margin-top: 104rem;
    padding-top: 88rem;
    padding-bottom: 88rem;
  }
  .p-company-products {
    padding-top: 88rem;
  }
  .p-company-products__cards {
    -moz-column-gap: 20rem;
         column-gap: 20rem;
  }
  .p-company-products__name {
    font-size: 20rem;
  }
  .p-company-products__label {
    font-size: 14rem;
  }
  .p-company__sns {
    padding-top: 88rem;
    padding-bottom: 88rem;
  }
}
@media only screen and (max-width: 767px) {
  .p-company-section {
    padding-top: 48rem;
  }
  .c-lower-fv + .p-company-section {
    padding-top: 56rem;
  }
  .p-company-section__table {
    margin-top: 28rem;
  }
  .p-company-section__table--narrow {
    margin-top: 24rem;
  }
  .p-company-group {
    margin-top: 20rem;
  }
  .p-company-group__row {
    grid-template-columns: 1fr;
    row-gap: 8rem;
    padding: 16rem 0;
  }
  .p-company-group__head,
  .p-company-group__data {
    font-size: 13rem;
  }
  .p-company-chart {
    margin-top: 72rem;
    padding-top: 64rem;
    padding-bottom: 64rem;
  }
  .p-company-chart__image {
    margin-top: 28rem;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
  }
  .p-company-chart__image img {
    width: 720rem;
    max-width: none;
  }
  .p-company-products {
    padding-top: 64rem;
  }
  .p-company-products__cards {
    grid-template-columns: 1fr;
    row-gap: 32rem;
    margin-top: 32rem;
  }
  .p-company-products__name {
    font-size: 20rem;
  }
  .p-company-products__label {
    font-size: 14rem;
  }
  .p-company-products__button {
    margin-top: 32rem;
  }
  .p-company__sns {
    padding-top: 64rem;
    padding-bottom: 64rem;
  }
}