.p-outline {
  position: relative;
}
@media (max-width: 767px) {
  .p-outline .c-page-header__inner {
    gap: 10.93vw;
  }
}

.p-outline-layout {
  width: 100%;
  max-width: clamp(58.125rem, 35.98rem + 46.13vw, 77.5rem);
  margin-inline: auto;
}
@media (max-width: clamp(58.125rem, 35.98rem + 46.13vw, 77.5rem)) {
  .p-outline-layout {
    padding-inline: clamp(0.9375rem, 0.58rem + 0.74vw, 1.25rem);
  }
}
@media (max-width: 767px) {
  .p-outline-layout {
    padding-inline: 6.4vw;
  }
}
.p-outline-layout {
  display: flex;
  gap: clamp(2.34375rem, 1.45rem + 1.86vw, 3.125rem);
  align-items: flex-start;
  justify-content: space-between;
  padding-block: clamp(3.5625rem, 2.21rem + 2.83vw, 4.75rem) clamp(7.125rem, 4.41rem + 5.65vw, 9.5rem);
}
@media (max-width: 767px) {
  .p-outline-layout {
    display: block;
    gap: 0;
    padding-block: 0 40.53vw;
  }
}
.p-outline-layout__main {
  display: flex;
  flex-direction: column;
  gap: clamp(4.125rem, 2.55rem + 3.27vw, 5.5rem);
  width: 100%;
  max-width: clamp(39.65625rem, 24.55rem + 31.47vw, 52.875rem);
}
@media (max-width: 767px) {
  .p-outline-layout__main {
    gap: 21.33vw;
    max-width: none;
  }
}
.p-outline-layout__aside {
  position: sticky;
  top: clamp(3.75rem, 2.32rem + 2.98vw, 5rem);
  width: clamp(8.0625rem, 4.99rem + 6.4vw, 10.75rem);
}
@media (max-width: 767px) {
  .p-outline-layout__aside {
    display: none;
  }
}

.p-company-info {
  display: flex;
  flex-direction: column;
  gap: clamp(1.171875rem, 0.73rem + 0.93vw, 1.5625rem);
}
@media (max-width: 767px) {
  .p-company-info {
    gap: 6.67vw;
  }
}
.p-company-info__table {
  display: flex;
  flex-direction: column;
}
.p-company-info__row {
  display: flex;
  gap: clamp(5.25rem, 3.25rem + 4.17vw, 7rem);
  align-items: flex-start;
  padding: clamp(1.5rem, 0.93rem + 1.19vw, 2rem) 0 clamp(1.5rem, 0.93rem + 1.19vw, 2rem) clamp(1.125rem, 0.7rem + 0.89vw, 1.5rem);
  font-family: var(--font-primary);
  font-size: clamp(0.75rem, 0.46rem + 0.6vw, 1rem);
  font-weight: 500;
  line-height: 1.5;
  color: #333;
  letter-spacing: 0.08em;
  border-top: 1px solid var(--color-blue-1, #2f74b5);
}
@media (max-width: 767px) {
  .p-company-info__row {
    flex-direction: column;
    gap: 6.4vw;
    padding: 5.33vw 0 5.33vw 4.27vw;
    font-size: 4.27vw;
  }
}
.p-company-info__row:last-child {
  border-bottom: 1px solid var(--color-blue-1, #2f74b5);
}
.p-company-info__label {
  flex: 0 0 clamp(4.875rem, 3.02rem + 3.87vw, 6.5rem);
  width: clamp(4.875rem, 3.02rem + 3.87vw, 6.5rem);
}
@media (max-width: 767px) {
  .p-company-info__label {
    flex: 0;
    width: auto;
  }
}
.p-company-info__value {
  flex: 1 1 auto;
  min-width: 0;
}
.p-company-info__value-text {
  line-height: 1.5;
  white-space: pre-line;
}
.p-company-info__value-link {
  color: #333;
  text-decoration: underline;
}
@media (any-hover: hover) {
  .p-company-info__value-link:hover {
    opacity: 0.7;
    transition: all 0.3s;
  }
}

.p-company-access {
  display: flex;
  flex-direction: column;
  gap: clamp(1.125rem, 0.7rem + 0.89vw, 1.5rem);
}
@media (max-width: 767px) {
  .p-company-access {
    gap: 6.4vw;
  }
}
.p-company-access__list {
  display: flex;
  flex-direction: column;
  gap: clamp(1.125rem, 0.7rem + 0.89vw, 1.5rem);
}
@media (max-width: 767px) {
  .p-company-access__list {
    gap: 6.4vw;
  }
}
.p-company-access__office {
  display: flex;
  flex-direction: column;
  gap: clamp(1.125rem, 0.7rem + 0.89vw, 1.5rem);
}
@media (max-width: 767px) {
  .p-company-access__office {
    gap: 6.4vw;
  }
}
.p-company-access__office-name {
  font-family: var(--font-primary);
  font-size: clamp(1.5rem, 0.93rem + 1.19vw, 2rem);
  font-weight: 500;
  line-height: 1.5;
  color: var(--color-blue-1, #2f74b5);
  letter-spacing: 0.08em;
}
@media (max-width: 767px) {
  .p-company-access__office-name {
    font-size: 8.53vw;
  }
}
.p-company-access__info {
  display: flex;
  flex-direction: column;
  gap: clamp(0.375rem, 0.23rem + 0.3vw, 0.5rem);
  font-family: var(--font-primary);
  font-size: clamp(0.75rem, 0.46rem + 0.6vw, 1rem);
  font-weight: 500;
  line-height: 1.5;
  color: #333;
  letter-spacing: 0.08em;
}
@media (max-width: 767px) {
  .p-company-access__info {
    gap: 2.13vw;
    font-size: 4.27vw;
  }
}
.p-company-access__info-row {
  display: flex;
  gap: clamp(0.375rem, 0.23rem + 0.3vw, 0.5rem);
  align-items: flex-start;
}
@media (max-width: 767px) {
  .p-company-access__info-row {
    gap: 2.13vw;
  }
}
.p-company-access__info-label {
  flex: 0 0 clamp(4.875rem, 3.02rem + 3.87vw, 6.5rem);
  width: clamp(4.875rem, 3.02rem + 3.87vw, 6.5rem);
}
@media (max-width: 767px) {
  .p-company-access__info-label {
    flex: 0 0 27.73vw;
    width: 27.73vw;
  }
}
.p-company-access__info-value {
  flex: 1 1 auto;
  white-space: pre-line;
}
.p-company-access__map {
  width: 100%;
  aspect-ratio: 836/598;
  overflow: hidden;
}
.p-company-access__map-iframe {
  width: 100%;
  height: 100%;
  border: 0;
}

.p-company-history {
  display: flex;
  flex-direction: column;
  gap: clamp(1.125rem, 0.7rem + 0.89vw, 1.5rem);
}
@media (max-width: 767px) {
  .p-company-history {
    gap: 6.4vw;
  }
}
.p-company-history__timeline {
  position: relative;
  padding-left: clamp(2.671875rem, 1.65rem + 2.12vw, 3.5625rem);
}
.p-company-history__timeline::before {
  position: absolute;
  top: clamp(0.5625rem, 0.35rem + 0.45vw, 0.75rem);
  bottom: clamp(0.5625rem, 0.35rem + 0.45vw, 0.75rem);
  left: clamp(0.328125rem, 0.2rem + 0.26vw, 0.4375rem);
  width: 1px;
  content: "";
  background-color: var(--color-blue-1, #2f74b5);
}
@media (max-width: 767px) {
  .p-company-history__timeline::before {
    top: 11.73vw;
    bottom: 8.53vw;
    left: 1.07vw;
  }
}
@media (max-width: 767px) {
  .p-company-history__timeline {
    padding-left: 5.6vw;
  }
}
.p-company-history__item {
  position: relative;
  display: grid;
  grid-template-columns: clamp(2.8125rem, 1.74rem + 2.23vw, 3.75rem) clamp(1.875rem, 1.16rem + 1.49vw, 2.5rem) 1fr;
  gap: 0 clamp(1.875rem, 1.16rem + 1.49vw, 2.5rem);
  font-family: var(--font-primary);
  font-size: clamp(0.75rem, 0.46rem + 0.6vw, 1rem);
  font-weight: 500;
  line-height: 1.5;
  color: #333;
  letter-spacing: 0.08em;
}
.p-company-history__item::before {
  position: absolute;
  top: clamp(0.375rem, 0.23rem + 0.3vw, 0.5rem);
  left: clamp(-3.3125rem, -1.54rem + -1.97vw, -2.484375rem);
  width: clamp(0.375rem, 0.23rem + 0.3vw, 0.5rem);
  height: clamp(0.375rem, 0.23rem + 0.3vw, 0.5rem);
  content: "";
  background-color: var(--color-blue-1, #2f74b5);
  border-radius: 50%;
}
@media (max-width: 767px) {
  .p-company-history__item::before {
    top: 10.67vw;
    left: -5.6vw;
    width: 2.13vw;
    height: 2.13vw;
  }
}
.p-company-history__item + .p-company-history__item {
  margin-top: clamp(2.25rem, 1.39rem + 1.79vw, 3rem);
}
@media (max-width: 767px) {
  .p-company-history__item + .p-company-history__item {
    margin-top: 19.2vw;
  }
}
@media (max-width: 767px) {
  .p-company-history__item + .p-company-history__item--continued {
    margin-top: 2.13vw;
  }
}
.p-company-history__item--continued {
  margin-top: clamp(2.25rem, 1.39rem + 1.79vw, 3rem);
}
@media (max-width: 767px) {
  .p-company-history__item--continued {
    margin-top: 2.13vw;
  }
}
@media (max-width: 767px) {
  .p-company-history__item--continued::before {
    top: 2.13vw;
  }
}
@media (max-width: 767px) {
  .p-company-history__item {
    grid-template-columns: 10.67vw 1fr;
    gap: 2.13vw;
    font-size: 4.27vw;
  }
}
@media (max-width: 767px) {
  .p-company-history__year {
    grid-column: 1/-1;
  }
  .p-company-history__year:empty {
    display: none;
  }
}
.p-company-history__month {
  text-align: center;
}
@media (max-width: 767px) {
  .p-company-history__month {
    text-align: left;
  }
}
@media (max-width: 767px) {
  .p-company-history__event {
    width: 73.07vw;
  }
}

.p-company-org-chart {
  display: flex;
  flex-direction: column;
  gap: clamp(1.125rem, 0.7rem + 0.89vw, 1.5rem);
}
@media (max-width: 767px) {
  .p-company-org-chart {
    gap: 5.33vw;
  }
}
.p-company-org-chart__chart {
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.p-company-org-chart__image {
  max-width: 100%;
  height: auto;
}
@media (max-width: 767px) {
  .p-company-org-chart__image {
    min-width: 74.67vw;
  }
}
.p-company-org-chart__placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: clamp(18.75rem, 11.61rem + 14.88vw, 25rem);
  font-size: clamp(0.65625rem, 0.41rem + 0.52vw, 0.875rem);
  color: #999;
  background-color: #f5f9fc;
  border: 1px solid #e0e8f0;
}
@media (max-width: 767px) {
  .p-company-org-chart__placeholder {
    min-height: 80vw;
    font-size: 3.2vw;
  }
}