@layer page {
  .p-circles {
    --my-left-color: #E3FBFF;
    --my-right-color: #E0FFE8;
  }
  .company-symbol-wrap {
    position: relative;
  }
  .company-symbol {
    width: 11.8125rem;
    aspect-ratio: 152.05/156.01;
    position: absolute;
    right: 4.375rem;
    top: -8.75rem;
  }
  @media screen and (max-width: 767px) {
    .company-symbol {
      right: 0;
      top: -16vw;
      width: 26.6666666667vw;
    }
  }
  .company-block1 {
    margin-top: 6.875rem;
    padding-bottom: 12.1875rem;
  }
  @media screen and (max-width: 767px) {
    .company-block1 {
      margin-top: 10.6666666667vw;
      padding-bottom: 17.3333333333vw;
    }
  }
  .company-block2 {
    padding-bottom: 11.25rem;
  }
  @media screen and (max-width: 767px) {
    .company-block2 {
      padding-bottom: 17.3333333333vw;
    }
  }
  .company-greeting {
    border-radius: var(--rad);
    background: #fff;
    padding: 6.875rem 4.375rem;
  }
  @media screen and (max-width: 767px) {
    .company-greeting {
      padding: 10.6666666667vw 5.3333333333vw;
    }
  }
  .company-greeting__row {
    margin-top: 5.625rem;
  }
  @media screen and (min-width: 768px) {
    .company-greeting__row {
      display: grid;
      grid-template-columns: 1fr 27.5rem;
      font-size: 1.125rem;
      gap: 4.6875rem;
    }
  }
  @media screen and (max-width: 767px) {
    .company-greeting__row {
      margin-top: var(--sp-sec-body-mt);
    }
  }
  @media screen and (min-width: 768px) {
    .company-greeting__text {
      line-height: 2.3333333333;
    }
  }
  .company-greeting__text + .company-greeting__text {
    margin-top: 2em;
  }
  @media screen and (max-width: 767px) {
    .company-greeting__text + .company-greeting__text {
      margin-top: 1em;
    }
  }
  @media screen and (max-width: 767px) {
    .company-greeting__img-wrap {
      margin-top: 5.3333333333vw;
    }
  }
  .company-greeting__img-wrap img {
    border-radius: var(--rad);
  }
  .company-greeting__img-wrap figcaption {
    margin-top: 0.625rem;
    text-align: center;
  }
  @media screen and (max-width: 767px) {
    .company-greeting__img-wrap figcaption {
      margin-top: 0;
    }
  }
  .company-value {
    margin-top: 10rem;
    text-align: center;
  }
  @media screen and (max-width: 767px) {
    .company-value {
      margin-top: 26.6666666667vw;
    }
  }
  .company-value__ttl img {
    width: 22.3125rem;
  }
  @media screen and (max-width: 767px) {
    .company-value__ttl img {
      width: 53.3333333333vw;
    }
  }
  .company-value__lead {
    margin-top: 3.125rem;
    font-size: 1.875rem;
    font-weight: 600;
  }
  @media screen and (max-width: 767px) {
    .company-value__lead {
      font-size: 4.8vw;
    }
  }
  .company-value__sec {
    margin-top: 6.875rem;
  }
  @media screen and (max-width: 767px) {
    .company-value__sec {
      margin-top: 13.3333333333vw;
    }
  }
  .company-value__sttl {
    font-size: 1.875rem;
    font-weight: 600;
  }
  @media screen and (max-width: 767px) {
    .company-value__sttl {
      font-size: 4.8vw;
    }
  }
  .company-value__text {
    margin-top: 3.125rem;
  }
  @media screen and (min-width: 768px) {
    .company-value__text {
      line-height: 2.3333333333;
      font-size: 1.125rem;
    }
  }
  @media screen and (max-width: 767px) {
    .company-value__text {
      margin-top: 5.3333333333vw;
    }
  }
  @media screen and (min-width: 768px) {
    .company-value-items {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      align-items: flex-start;
      gap: 1.4375rem;
      margin-top: 2.8125rem;
    }
  }
  @media screen and (max-width: 767px) {
    .company-value-items {
      display: flex;
      flex-direction: column;
      gap: 5.3333333333vw;
      margin-top: 5.3333333333vw;
    }
  }
  .company-value-item {
    border-radius: var(--rad);
    background: #fff;
    box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.05);
    padding: 3.125rem 1.875rem 3.75rem 1.875rem;
  }
  @media screen and (min-width: 768px) {
    .company-value-item {
      text-align: center;
    }
  }
  @media screen and (max-width: 767px) {
    .company-value-item {
      display: grid;
      grid-template-columns: 17.3333333333vw 1fr;
      padding: 6.6666666667vw 5.3333333333vw;
      gap: 2.6666666667vw 4vw;
    }
  }
  .company-value-item__symbol {
    position: absolute;
    left: 50%;
    top: 0;
    transform: translateX(-50%);
    width: calc(var(--my-width) / 16 * 1rem);
  }
  @media screen and (max-width: 767px) {
    .company-value-item__symbol {
      width: calc(var(--my-width) / 750 * 100vw);
    }
  }
  .company-value-item__symbol.is-2 {
    transform: translateX(-55%);
  }
  .company-value-item__char {
    position: relative;
  }
  .company-value-item__char img {
    width: 11.1875rem;
  }
  .company-value-item__ttl {
    font-size: 2.125rem;
    font-weight: bold;
    line-height: 1.2941176471;
  }
  @media screen and (min-width: 768px) {
    .company-value-item__ttl {
      margin-top: 1rem;
      margin-bottom: 2.875rem;
    }
  }
  @media screen and (max-width: 767px) {
    .company-value-item__ttl {
      font-size: 5.8666666667vw;
      text-align: left;
    }
  }
  .company-value-item__text {
    letter-spacing: -0.01em;
    line-height: 1.8125;
    color: var(--sub);
  }
  @media screen and (min-width: 768px) {
    .company-value-item__text {
      text-align: center;
    }
  }
  @media screen and (max-width: 767px) {
    .company-value-item__text {
      font-size: 3.4666666667vw;
      grid-column: 1/3;
      text-align: left;
    }
    .company-value-item__text br {
      display: none;
    }
  }
  .company-policy,
  .company-philosophy,
  .company-download,
  .company-profile,
  .company-history {
    padding-top: 11.25rem;
  }
  @media screen and (max-width: 767px) {
    .company-policy,
    .company-philosophy,
    .company-download,
    .company-profile,
    .company-history {
      padding-top: 22.6666666667vw;
    }
  }
  .company-download__body,
  .company-profile__body,
  .company-history__body {
    margin-top: 3.125rem;
  }
  @media screen and (max-width: 767px) {
    .company-download__body,
    .company-profile__body,
    .company-history__body {
      margin-top: 9.3333333333vw;
    }
  }
  .company-policy__body,
  .company-philosophy__body {
    margin-top: 3.125rem;
  }
  @media screen and (max-width: 767px) {
    .company-policy__body,
    .company-philosophy__body {
      margin-top: 4vw;
    }
  }
  .company-m-text {
    font-weight: 400;
  }
  @media screen and (min-width: 768px) {
    .company-m-text {
      font-size: 1.375rem;
      margin-left: 1em;
    }
  }
  .company-info {
    border-top: 1px solid var(--gray);
    width: 100%;
  }
  .company-info__item + .company-info__item {
    margin-top: 2.5rem;
  }
  @media screen and (max-width: 767px) {
    .company-info__item + .company-info__item {
      margin-top: 1.5em;
    }
  }
  .company-info tr {
    border-bottom: 1px solid var(--gray);
  }
  @media screen and (max-width: 767px) {
    .company-info tr {
      display: flex;
      flex-direction: column;
    }
  }
  .company-info th, .company-info td {
    padding-top: 2.5rem;
    padding-bottom: 2.5rem;
    vertical-align: top;
    line-height: 1.7;
  }
  @media screen and (max-width: 767px) {
    .company-info th, .company-info td {
      display: block;
      padding-left: 2.1333333333vw;
      padding-right: 2.1333333333vw;
    }
  }
  .company-info th {
    text-align: left;
  }
  @media screen and (min-width: 768px) {
    .company-info th {
      padding-left: 1.875rem;
      font-weight: normal;
      width: 10rem;
    }
  }
  @media screen and (max-width: 767px) {
    .company-info th {
      padding-top: 5.3333333333vw;
      padding-bottom: 0;
    }
  }
  @media screen and (min-width: 768px) {
    .company-info td {
      font-size: 1.125rem;
    }
  }
  @media screen and (max-width: 767px) {
    .company-info td {
      padding-top: 2.6666666667vw;
      padding-bottom: 5.3333333333vw;
    }
  }
  .company-info td a {
    position: relative;
    text-decoration: underline;
  }
  .company-info td a[target=_blank]::after {
    content: "";
    position: relative;
    top: 0.125rem;
    display: inline-block;
    aspect-ratio: 1/1;
    background: url("../../../img/icon/blank.svg") 0 0/contain no-repeat;
    width: 1rem;
    margin-right: 0.25rem;
    margin-left: 0.5rem;
    vertical-align: baseline;
  }
  @media (hover: hover) {
    .company-info td a:hover {
      text-decoration: none;
    }
  }
  .company-info ul li + li {
    margin-top: 0.5em;
  }
  @media screen and (max-width: 767px) {
    .company-profile {
      padding-top: 17.3333333333vw;
    }
  }
  .company-download__note {
    margin: 3.125rem 1.875rem 0 1.875rem;
    font-size: 0.875rem;
  }
  @media screen and (max-width: 767px) {
    .company-download__note {
      margin: 3.2vw 0 0 0;
      font-size: 2.9333333333vw;
    }
  }
  .company-download__note p {
    text-indent: -1.2em;
    margin-left: 1.2em;
  }
  .company-download-items {
    border-top: 1px solid var(--gray);
  }
  .company-download-item {
    border-bottom: 1px solid var(--gray);
  }
  .company-download-item__row {
    position: relative;
    display: grid;
    align-items: center;
    grid-template-columns: 7.875rem 1fr 11.25rem;
    padding: 1.875rem 0;
  }
  @media screen and (max-width: 767px) {
    .company-download-item__row {
      padding: 4vw 0;
      grid-template-columns: 13.3333333333vw 1fr;
      gap: 2.1333333333vw;
      align-items: flex-start;
    }
  }
  .company-download-item__row::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    display: block;
    width: 0%;
    height: 2px;
    background: linear-gradient(var(--hover-color2) 0%, var(--hover-color1) 100%);
    transition: width 0.4s;
  }
  @media (hover: hover) {
    .company-download-item__row:hover::after {
      width: 100%;
    }
    .company-download-item__row:hover .company-download-item__icon {
      scale: 1.1;
      border-color: transparent;
    }
    .company-download-item__row:hover svg {
      fill: var(--hover-color1);
    }
  }
  .company-download-item__type {
    display: flex;
    justify-content: center;
  }
  @media screen and (max-width: 767px) {
    .company-download-item__type {
      grid-row: 1/3;
    }
  }
  .company-download-item__pdf {
    width: 3.125rem;
    height: 1.875rem;
    border-radius: 0.3125rem;
    background: #FF0000;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  @media screen and (max-width: 767px) {
    .company-download-item__pdf {
      transform: translateY(0.8vw);
      width: 10.1333333333vw;
      height: 6.1333333333vw;
      font-size: 2.9333333333vw;
    }
  }
  .company-download-item__ttl {
    font-size: 1.125rem;
    margin-bottom: 0.25rem;
    font-weight: 500;
  }
  .company-download-item__text {
    font-size: 0.875rem;
  }
  .company-download-item__icon {
    border: 1px solid var(--gray);
  }
  .company-download-item__icon svg {
    rotate: 90deg;
  }
  .company-download-item__meta {
    display: flex;
    gap: 1.25rem;
    font-size: 0.875rem;
  }
  @media screen and (max-width: 767px) {
    .company-download-item__meta {
      justify-content: flex-end;
      gap: 1.8666666667vw;
    }
  }
}