.p-company-title .c-section-header__title {
  font-size: var(--size-48);
  font-weight: 900;
  line-height: var(--size-64);
}

.p-greeting-comment {
  font-size: var(--size-18);
  line-height: var(--size-32);
}

.p-greeting-comment p + p {
  margin-top: 1em;
}

.p-company-view {
  display: flex;
  gap: var(--gap);
  padding: var(--size-32);
  background-color: rgb(from var(--txt-primary) r g b / 8%);
}

.p-company-view__secound {
  flex: 1 0 30%;
  padding-left: var(--gap);
  border-left: 1px solid var(--bd-common);
}

.p-company-mind__head,
.p-company-mind__title {
  margin-bottom: var(--size-16);
}

.p-company-mind__title {
  color: var(--txt-primary);
  font-size: var(--size-18);
  font-weight: 700;
  line-height: var(--size-32);
}

.p-company-mind__name {
  display: flex;
  flex-direction: column;
  font-size: var(--size-24);
  font-weight: 700;
  line-height: var(--size-36);
  gap: 0;
}

.p-company-mind__name > :first-child {
  order: 1;
}

.p-company-mind__name > :nth-child(2) {
  order: 3;
}

.p-company-mind__name > [lang="en"] {
  font-size: var(--size-40);
  font-weight: 700;
  line-height: var(--size-56);
}

.p-company-mind__read {
  font-size: var(--size-18);
  line-height: var(--size-32);
}

.p-company-guidelines__title {
  margin-bottom: var(--size-20);
  font-size: var(--size-32);
  line-height: var(--size-44);
}

.p-company-guidelines__list {
  display: grid;
  font-size: var(--size-20);
  line-height: 1.4;
  counter-set: guide;
  gap: var(--size-8);
}

.p-company-guidelines__list > li {
  display: grid;
  grid-template-columns: 1em auto;
  grid-template-rows: subgrid;
  counter-increment: guide;
  gap: var(--size-4);
}

.p-company-guidelines__list > li::before {
  content: counter(guide) ".";
}

.p-access-map__iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: none;
  aspect-ratio: 7 / 5;
}

.p-access-map__info {
  margin-top: var(--size-24);
}

.p-access-map__note {
  margin-bottom: 1em;
  padding: 0.8em 1.25em;
  border: 1px solid var(--clr-error);
  color: var(--clr-error);
  font-size: var(--size-16);
  font-weight: 800;
  line-height: 1.6;
}

.p-access-map__note > strong {
  font-weight: inherit;
}

.p-address {
  display: flex;
  gap: var(--gap);
  align-items: flex-start;
}

.p-address__title {
  flex: 1 0 auto;
  max-width: -moz-fit-content;
  max-width: fit-content;
  font-size: var(--size-20);
  font-weight: 700;
  line-height: var(--size-32);
}

.p-address__data {
  flex: 0 1 auto;
}

.p-address__station {
  padding-left: 1.5em;
  list-style: disc;
}

.p-address__comment,
.p-address__station > li {
  font-size: var(--size-18);
  line-height: var(--size-32);
}

.p-address__comment {
  margin-top: var(--size-4);
  color: var(--txt-primary);
  font-weight: 700;
}

.p-company-system {
  display: flex;
  gap: var(--gap);
}

.p-company-system__inner {
  flex: 0 0 auto;
  flex-basis: var(--col-6);
}

.p-company-system__title {
  margin-bottom: var(--size-24);
  font-size: var(--size-24);
  font-weight: 700;
  line-height: var(--size-36);
}

.p-company-members {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--size-24);
}

.p-company-members__post {
  font-size: var(--size-18);
  font-weight: 700;
  line-height: var(--size-32);
}

.p-company-members__name {
  color: var(--txt-primary);
  font-size: var(--size-32);
  font-weight: 700;
  line-height: var(--size-44);
}

.p-company-history {
  position: relative;
}

.p-company-history::before {
  content: "";
  display: block;
  position: absolute;
  top: var(--size-16);
  bottom: var(--size-16);
  left: min(150px, 10.4vw);
  width: var(--size-4);
  background-color: var(--bg-tertiary);
}

.p-company-history__data {
  display: flex;
  position: relative;
  z-index: 2;
  align-items: flex-start;
  padding-block: var(--size-16);
}

.p-company-history__date {
  display: flex;
  align-items: center;
  width: var(--size-160);
  color: var(--txt-primary);
  font-size: var(--size-18);
  font-weight: 700;
  line-height: var(--size-32);
  word-break: keep-all;
  white-space: nowrap;
}

.p-company-history__date::after {
  content: "";
  display: block;
  width: 100%;
  height: 0;
  border-bottom: 2px dashed var(--bd-secondary);
  translate: var(--size-8) 0;
}

.p-company-history__event {
  display: flex;
  width: 100%;
  font-size: var(--size-18);
  line-height: var(--size-32);
  gap: var(--size-8);
}

.p-company-history__event::before {
  content: "";
  display: block;
  width: var(--size-32);
  height: var(--size-32);
  aspect-ratio: 1 / 1;
  background: radial-gradient(circle at 50%, var(--bg-secondary), var(--bg-secondary) 35%, var(--bg-tertiary) 40%, var(--bg-tertiary) 70%, transparent 70%, transparent 100%);
}

.p-company-organizational {
  --cell-height: var(--size-48);

  display: grid;
  position: relative;
  grid-template-columns: 1fr 1fr auto;
  width: 100%;
  padding: var(--size-32);
  background-color: var(--bg-base);
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  gap: var(--base-gap);
}

.p-company-organizational::before {
  content: "";
  display: block;
  position: absolute;
  top: calc(var(--size-32) + var(--cell-height) / 2);
  right: var(--size-40);
  left: var(--size-40);
  height: var(--size-4);
  background-color: var(--bg-tertiary);
}

.p-company-organizational > img {
  width: 100%;
  height: auto;
}

.p-company-organizational__list {
  display: flex;
  position: relative;
  flex-direction: column;
  gap: var(--size-12);
}

.p-company-organizational__list--high {
  z-index: 2;
}

.p-company-organizational__list--high .p-company-organizational__item {
  background-color: var(--bg-secondary);
  color: var(--txt-invert);
}

.p-company-organizational__list--common {
  z-index: 1;
}

.p-company-organizational__list--common::before {
  content: "";
  display: block;
  position: absolute;
  top: calc(var(--cell-height) / 2);
  left: calc(var(--base-gap) / 2 * -1);
  width: var(--size-4);
  height: calc(100% - var(--cell-height));
  background-color: var(--bg-tertiary);
}

.p-company-organizational__list--common .p-company-organizational__item {
  position: relative;
}

.p-company-organizational__list--common .p-company-organizational__item::before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  right: 100%;
  width: calc(var(--base-gap) / 2);
  height: var(--size-4);
  transform: translateY(-50%);
  background-color: var(--bg-tertiary);
}

.p-company-organizational__list--common .p-company-organizational__item:first-child::before {
  display: none;
}

.p-company-organizational__item {
  display: flex;
  position: relative;
  align-items: center;
  min-height: var(--cell-height);
  padding: var(--size-4) var(--size-16);
  border-radius: var(--size-4);
  background-color: var(--bg-tertiary);
  color: var(--txt-primary);
  font-size: var(--size-18);
  font-weight: 700;
}

@media screen and (min-width: 1025px) {
  .l-company-main .c-page-section__inner {
    display: grid;
    grid-auto-columns: var(--col-7) auto;
    gap: 0 var(--gap);
    grid-template: "title philosophy" "comment philosophy";
  }

  .l-company-main .c-section-header {
    grid-area: title;
  }

  .l-company-main .p-greeting-comment {
    grid-area: comment;
  }

  .l-company-main .p-company-view {
    grid-area: philosophy;
  }

  .p-company-organizational {
    --base-gap: var(--size-32);
    --cell-height: var(--size-48);
  }
}

@media screen and (min-width: 769px) and (max-width: 1024px) {
  .l-company-main .p-company-view {
    margin-top: var(--size-32);
  }

  .p-company-title .c-section-header__title {
    font-size: var(--size-40);
    line-height: var(--size-56);
  }

  .p-company-view {
    padding: var(--size-24);
  }

  .p-company-view__secound {
    display: flex;
    flex: 1 0 40%;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-end;
  }

  .p-company-mind {
    display: grid;
    grid-template: "a b";
    gap: var(--gap);
  }

  .p-company-mind__head {
    grid-area: a;
  }

  .p-company-mind__read {
    grid-area: b;
  }

  .p-company-system__inner {
    flex-basis: var(--col-3);
  }

  .p-company-history::before {
    top: var(--size-16);
    bottom: var(--size-16);
    left: min(114px, 11.1vw);
    width: var(--size-4);
  }

  .p-company-organizational {
    --base-gap: var(--size-20);
    --cell-height: var(--size-40);
  }

  .p-company-organizational__item {
    font-size: var(--size-16);
  }
}

@media screen and (max-width: 768px) {
  .p-company-title .c-section-header__title {
    font-size: var(--size-32);
    line-height: var(--size-44);
  }

  .p-company-view {
    display: block;
    margin-top: var(--size-24);
    padding: var(--size-24) var(--size-20);
  }

  .p-company-view__secound {
    margin-top: var(--size-24);
    padding-top: var(--size-24);
    padding-left: 0;
    border-top: 1px solid var(--bd-common);
    border-left: 0;
  }

  .p-address {
    display: block;
  }

  .p-address__data {
    margin-top: var(--size-8);
  }

  .p-company-system {
    display: block;
  }

  .p-company-system__inner + .p-company-system__inner {
    margin-top: var(--size-24);
  }

  .p-company-members {
    grid-template-columns: repeat(2, 1fr);
  }

  .p-company-history::before {
    top: var(--size-16);
    bottom: var(--size-16);
    left: clamp(102px, 27.2vw, 122px);
    width: var(--size-4);
  }

  .p-company-history__data {
    padding-block: var(--size-12);
  }

  .p-company-organizational {
    --base-gap: 3.2vw;
    --cell-height: 8.5vw;

    padding: 5.3vw;
  }

  .p-company-organizational::before {
    top: calc(5.3vw + var(--cell-height) / 2);
    right: 6.4vw;
    left: 6.4vw;
    height: 0.5vw;
  }

  .p-company-organizational__list--common::before {
    width: 0.5vw;
  }

  .p-company-organizational__list--common .p-company-organizational__item::before {
    height: 0.5vw;
  }

  .p-company-organizational__item {
    padding: 1vw 2.1vw;
    font-size: 2.6vw;
  }
}

@media screen and (max-width: 1024px) {
  .p-greeting-comment {
    font-size: var(--size-16);
    line-height: var(--size-28);
  }

  .p-company-mind__head,
  .p-company-mind__title {
    margin-bottom: var(--size-12);
  }

  .p-company-mind__name {
    flex-wrap: wrap;
    font-size: var(--size-24);
    line-height: var(--size-36);
    gap: 0 var(--size-16);
  }

  .p-company-mind__name > :first-child {
    width: 100%;
  }

  .p-company-mind__read {
    font-size: var(--size-16);
    line-height: var(--size-28);
  }

  .p-company-guidelines__title {
    margin-bottom: var(--size-18);
    font-size: var(--size-28);
    line-height: var(--size-40);
  }

  .p-company-guidelines__list {
    font-size: var(--size-18);
  }

  .p-access-map__note {
    font-size: var(--size-14);
  }

  .p-address__title {
    font-size: var(--size-18);
    line-height: var(--size-32);
  }

  .p-address__comment,
  .p-address__station > li {
    font-size: var(--size-16);
    line-height: var(--size-28);
  }

  .p-company-system__title {
    margin-bottom: var(--size-20);
    font-size: var(--size-20);
    line-height: var(--size-32);
  }

  .p-company-members {
    gap: var(--size-16);
  }

  .p-company-members__post {
    font-size: var(--size-16);
    line-height: var(--size-28);
  }

  .p-company-members__name {
    font-size: var(--size-24);
    line-height: var(--size-36);
  }

  .p-company-history__date {
    width: var(--size-120);
  }

  .p-company-history__date,
  .p-company-history__event {
    font-size: var(--size-16);
    line-height: var(--size-28);
  }

  .p-company-history__event::before {
    width: var(--size-28);
    height: var(--size-28);
  }

  .p-company-organizational__list {
    gap: var(--base-gap);
  }
}

@media screen and (min-width: 1441px) {
  .p-company-history::before {
    left: clamp(149px, 7.7vw, 171px);
  }
}
