/* Layout Inner */
.layout-inner {
  padding-block: clamp(48rem, calc(100 / var(--container) * 100vw), 100rem);
}

/* Subpage Layout */

.subpage-layout {
  display: grid;
  grid-template-columns: 300rem minmax(0, 1fr);
  align-items: stretch;
  width: 100%;
}

.subpage-content {
  min-width: 0;
  width: 100%;
}
/* Local Navigation */

.local-nav {
  --local-nav-edge: max(
    var(--container-edge-offset),
    calc((100vw - (var(--container-wide) * 1rem)) / 2)
  );

  position: relative;
  z-index: 2;
  min-width: 0;
  height: 100%;
  background: #fff;
  border-right: 1px solid #dde3e9;
}

.local-nav__list,
.local-nav__group,
.local-nav__parent--link,
.local-nav__child {
  width: 100%;
}

.local-nav__item {
  border-bottom: 1px solid #e3e7eb;
}

.local-nav__parent {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20rem;
  width: 100%;
  min-height: 78rem;
  padding-top: 18rem;
  padding-right: 32rem;
  padding-bottom: 18rem;
  padding-left: var(--local-nav-edge);
  list-style: none;
  cursor: pointer;
  font-size: var(--font-size-18);
  font-weight: 500;
  line-height: 1.45;
  color: #1c252d;
  background: #fff;
}

.local-nav__parent::-webkit-details-marker {
  display: none;
}

.local-nav__parent.is-current {
  font-weight: 700;
  color: var(--primary);
}

.local-nav__arrow {
  flex-shrink: 0;
  width: 9rem;
  height: 9rem;
  margin-right: 3rem;
  border: solid currentColor;
  border-width: 0 1px 1px 0;
  transform: rotate(45deg) translate(-2rem, -2rem);
}

.local-nav__group[open] .local-nav__arrow {
  transform: rotate(225deg) translate(-1rem, -1rem);
}

.local-nav__children {
  padding-block: 8rem;
  background: #f6f8fb;
  border-top: 1px solid #e3e7eb;
}

.local-nav__link {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 64rem;
  padding: 14rem 24rem;
  padding-left: var(--local-nav-edge);
  font-size: var(--font-size-20);
  font-weight: 400;
  line-height: 1.5;
  color: #68737d;
  background: #fff;
}
.local-nav__text {
  position: relative;
  z-index: 1;
}

.local-nav__link.is-current {
  font-weight: 700;
  color: var(--primary);
  background: #eef4ff;
}

.local-nav__link.is-current::before {
  position: absolute;
  inset: 0 auto 0 0;
  width: 3rem;
  background: var(--primary);
  content: "";
}

/* Page Hero */

.page-hero {
  position: relative;
  min-width: 0;
  min-height: 500rem;
  overflow: hidden;
  isolation: isolate;
  background: #f7faff;
}

.page-hero::before {
  position: absolute;
  inset: 0;
  z-index: -1;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  content: "";
}

/* Page Hero Backgrounds */

.page-hero--general-about-greetings::before,
.page-hero--general-en-about-greetings::before,
.page-hero--general-agreement-privacy-policy::before,
.page-hero--general-achievements-report::before {
  background-image: url("/assets/images/pages/background/wave-1.jpg");
}

.page-hero--general-about-institute::before,
.page-hero--general-en-about-institute::before,
.page-hero--general-agreement-privacy-agreement::before,
.page-hero--agreement-privacy_agreement::before {
  background-image: url("/assets/images/pages/background/wave-2.jpg");
}

.page-hero--general-about-history::before,
.page-hero--general-en-about-history::before,
.page-hero--general-achievements-tech-note::before,
.page-hero--general-management-information-advance-information::before {
  background-image: url("/assets/images/pages/background/wave-3.jpg");
}

.page-hero--general-about-vision::before,
.page-hero--general-en-about-vision::before,
.page-hero--general-achievements-intellectual::before,
.page-hero--general-management-information-result-report::before {
  background-image: url("/assets/images/pages/background/wave-4.jpg");
}

.page-hero--general-about-organization::before,
.page-hero--general-en-about-organization::before,
.page-hero--general-achievements-presentation::before {
  background-image: url("/assets/images/pages/background/wave-5.jpg");
}

.page-hero--general-about-international::before,
.page-hero--general-en-about-international::before,
.page-hero--general-news-pr-material::before,
.page-hero--general-management-information-guide::before {
  background-image: url("/assets/images/pages/background/wave-6.jpg");
}

.page-hero--general-about-direction::before,
.page-hero--general-en-about-direction::before,
.page-hero--general-news-pr-news-organizations::before {
  background-image: url("/assets/images/pages/background/wave-7.jpg");
}

.page-hero--general-rnd-research::before,
.page-hero--general-news-pr-careers::before {
  background-image: url("/assets/images/pages/background/wave-8.jpg");
}

.page-hero--general-rnd-kim::before,
.page-hero--general-news-pr-announcements::before,
.page-hero--general-management-information-management::before {
  background-image: url("/assets/images/pages/background/wave-9.jpg");
}
.page-hero--general-achievements-thesis::before,
.page-hero--general-news-pr-news::before,
.page-hero--general-management-information-ethical::before {
  background-image: url("/assets/images/pages/background/wave-10.jpg");
}

/* Hero Content */
.page-hero__content {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 100%;
  min-height: 500rem;
  padding: 80rem clamp(50rem, calc(110 / var(--container) * 100vw), 110rem);
}

.page-hero__eyebrow {
  display: flex;
  align-items: center;
  gap: 14rem;
  margin-bottom: 20rem;
  font-size: var(--font-size-16);
  font-weight: 700;
  line-height: 1.4;
  color: var(--primary);
}

.page-hero__eyebrow::before {
  display: block;
  flex-shrink: 0;
  width: 32rem;
  height: 2rem;
  background: var(--primary);
  content: "";
}

.page-hero__title {
  max-width: 720rem;
  font-size: var(--font-size-50);
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: -0.045em;
  color: #101820;
}

.page-hero__description {
  max-width: 580rem;
  margin-top: 28rem;
  font-size: var(--font-size-20);
  font-weight: 400;
  line-height: 1.75;
  letter-spacing: -0.025em;
  color: #596671;
}

/* Subpage Interaction */

@media (any-hover: hover) {
  .local-nav__parent:hover {
    color: var(--primary);
    background: #f7faff;
  }

  .local-nav__link:hover {
    color: var(--primary);
    background: #f5f8fd;
  }
  .local-nav__link.is-current:hover {
    background: #eef4ff;
  }
}

@media (prefers-reduced-motion: no-preference) {
  .local-nav__parent,
  .local-nav__link,
  .local-nav__arrow {
    transition:
      color 0.2s ease,
      background-color 0.2s ease;
  }

  .page-hero::before {
    animation: page-hero-bg 1.2s both;
  }

  .page-hero__content {
    animation: page-hero-content 0.7s 0.1s both;
  }
}

@keyframes page-hero-bg {
  from {
    scale: 1.02;
  }

  to {
    scale: 1;
  }
}

@keyframes page-hero-content {
  from {
    translate: 0 20rem;
    opacity: 0;
  }

  to {
    translate: 0;
    opacity: 1;
  }
}

/* Subpage Tablet */

@media (width < 1280px) {
  .subpage-layout {
    grid-template-columns: 240rem minmax(0, 1fr);
  }

  .local-nav__parent {
    min-height: 66rem;
    padding-top: 14rem;
    padding-right: 24rem;
    padding-bottom: 14rem;
    padding-left: var(--local-nav-edge);
  }

  .local-nav__link {
    padding-top: 12rem;
    padding-right: 20rem;
    padding-bottom: 12rem;
    padding-left: calc(var(--local-nav-edge) + 18rem);
  }

  .page-hero,
  .page-hero__content {
    min-height: 420rem;
  }

  .page-hero__content {
    width: 100%;
    padding-inline: 56rem;
  }
}

/* Subpage Mobile */

@media (width < 768px) {
  .subpage-layout {
    grid-template-columns: 1fr;
  }

  .local-nav {
    display: none;
  }

  .page-hero,
  .page-hero__content {
    min-height: 360rem;
  }

  .page-hero__content {
    width: 100%;
    justify-content: center;
    padding: 42rem 20rem;
  }

  .page-hero__eyebrow {
    gap: 10rem;
    margin-bottom: 12rem;
    font-size: var(--font-size-14);
  }

  .page-hero__eyebrow::before {
    width: 22rem;
  }

  .page-hero__title {
    font-size: var(--font-size-35);
  }

  .page-hero__description {
    margin-top: 18rem;
    font-size: var(--font-size-16);
  }
}

/* Shared Subpage Components */

.subpage-section-heading,
.former-directors__heading,
.institute-functions__heading,
.cooperation-list__heading {
  position: relative;
  margin-bottom: 44rem;
  padding-left: 14rem;
  font-size: var(--font-size-28);
  font-weight: 700;
  line-height: 1.4;
  color: #061c42;
}

.subpage-section-heading::before,
.former-directors__heading::before,
.institute-functions__heading::before,
.cooperation-list__heading::before {
  position: absolute;
  top: 0.2em;
  bottom: 0.2em;
  left: 0;
  width: 3rem;
  background: var(--primary);
  content: "";
}

.former-directors__item,
.institute-functions__item,
.core-values__item,
.strategy-system__item,
.research-program__item {
  display: flex;
  min-width: 0;
}

.former-directors__list,
.core-values__list,
.strategy-system__list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  align-items: stretch;
  gap: 24rem;
}

.core-values,
.strategy-system,
.organization-detail,
.organization-contact,
.cooperation-list {
  margin-top: 100rem;
}

.director,
.institute-functions,
.history,
.organization,
.cooperation,
.location-guide,
.privacy-policy,
.privacy-agreement,
.research-program {
  width: 100%;
}

.director-card__career-list,
.organization-detail__list,
.privacy-agreement__legal-body {
  display: grid;
  gap: 8rem;
}

.function-card__icon img,
.institute-basis__icon img,
.vision-summary__icon img,
.value-card__icon img,
.privacy-process__image {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
}

.greetings-visual__background-image,
.history-event__image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.history__content,
.history-event__content,
.vision-summary__content,
.location-building__content,
.location-building__item {
  min-width: 0;
}

/* Director */

.director__heading {
  position: relative;
  padding-bottom: 18rem;
  font-size: var(--font-size-35);
  font-weight: 700;
  line-height: 1.3;
  color: #111;
}

.director__heading::after {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 36rem;
  height: 3rem;
  background: var(--primary);
  content: "";
}

/* Director Tabs */

.director-tabs {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-bottom: 100rem;
  border: 1px solid #dce2e8;
}
.director-tabs--5 {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.director-tabs__button {
  position: relative;
  min-height: 62rem;
  padding: 12rem 20rem;
  background: #fff;
  font-size: var(--font-size-18);
  font-weight: 600;
  line-height: 1.4;
  color: #333;
  text-align: center;
}

.director-tabs__button + .director-tabs__button {
  border-left: 1px solid #dce2e8;
}

.director-tabs__button::after {
  position: absolute;
  right: 0;
  bottom: -1px;
  left: 0;
  height: 3rem;
  background: transparent;
  content: "";
}

.director-tabs__button.is-current {
  font-weight: 700;
  color: var(--primary);
}

.director-tabs__button.is-current::after {
  background: var(--primary);
}

.director-tabs__panel {
  width: 100%;
}

/* Greetings Visual */

.greetings-visual {
  margin-top: 44rem;
  position: relative;
  min-height: 390rem;
  overflow: hidden;
  isolation: isolate;
}

.greetings-visual__background {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.greetings-visual__container {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(300rem, 0.9fr) minmax(0, 1.6fr);
  min-height: 390rem;
}

.greetings-visual__portrait {
  position: relative;
  align-self: stretch;
}

.greetings-visual__portrait-image {
  position: absolute;
  right: 20rem;
  bottom: 0;
  display: block;
  width: min(100%, 390rem);
  max-height: 100%;
  object-fit: contain;
  object-position: bottom center;
}

.greetings-visual__content {
  align-self: center;
  padding: 50rem 0 50rem 30rem;
}

.greetings-visual__title {
  font-size: var(--font-size-35);
  font-weight: 700;
  line-height: 1.45;
  letter-spacing: -0.04em;
  color: #111;
}

.greetings-visual__title strong {
  font-weight: inherit;
  color: var(--primary);
}

.greetings-visual__line {
  display: block;
  width: 34rem;
  height: 3rem;
  margin-top: 28rem;
  background: var(--primary);
}

.greetings-visual__description {
  margin-top: 24rem;
  font-size: var(--font-size-18);
  line-height: 1.7;
  letter-spacing: -0.025em;
  color: #333;
}

/* Greetings Message */

.greetings-message {
  padding-top: 100rem;
}

.greetings-message__body {
  font-size: var(--font-size-16);
  line-height: 1.8;
  letter-spacing: -0.02em;
  color: #333;
}

.greetings-message__body p + p {
  margin-top: 20rem;
}

.greetings-signature {
  display: flex;
  align-items: baseline;
  justify-content: flex-end;
  gap: 20rem;
  margin-top: 42rem;
}

.greetings-signature__position {
  font-size: var(--font-size-16);
  font-weight: 500;
  color: #333;
}

.greetings-signature__name {
  font-size: var(--font-size-24);
  font-weight: 700;
  letter-spacing: 0.1em;
  color: #111;
}

/* Former Directors */

.former-directors {
  margin-top: 44rem;
}

/* Director Card */

.director-card {
  position: relative;
  display: flex;
  flex-direction: column;
  width: 100%;
  min-width: 0;
  padding: 24rem;
  border: 1px solid #ddd;
  background: #fff;
}

.director-card__generation {
  align-self: flex-start;
  padding: 5rem 14rem;
  background: var(--primary);
  border-radius: 999rem;
  font-size: var(--font-size-13);
  font-weight: 700;
  line-height: 1;
  color: #fff;
}

.director-card__photo {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  height: 190rem;
  margin-top: 10rem;
}

.director-card__image {
  display: block;
  width: min(100%, 180rem);
  max-height: 100%;
  object-fit: contain;
  object-position: bottom center;
}

.director-card__info {
  margin-top: 18rem;
  text-align: center;
}

.director-card__name {
  font-size: var(--font-size-22);
  font-weight: 700;
  line-height: 1.4;
  color: #111;
}

.director-card__period {
  margin-top: 8rem;
  font-size: var(--font-size-15);
  font-weight: 500;
  color: #555;
}

.director-card__career {
  margin-top: 28rem;
  padding-top: 20rem;
  border-top: 1px solid #ddd;
}

.director-card__career-title {
  display: block;
  margin-bottom: 12rem;
  font-size: var(--font-size-18);
  font-weight: 700;
  color: #222;
}

.director-card__career-list li {
  position: relative;
  padding-left: 12rem;
  font-size: var(--font-size-16);
  line-height: 1.55;
  color: #555;
}

.director-card__career-list li::before {
  position: absolute;
  top: 0.75em;
  left: 0;
  width: 3rem;
  aspect-ratio: 1;
  background: #777;
  border-radius: 50%;
  content: "";
}

/* Former Directors Notice */

.former-directors__notice {
  display: grid;
  gap: 8rem;
  margin-top: 40rem;
  padding: 20rem 24rem;
  background: #f4f7fc;
  border-radius: 8rem;
  font-size: var(--font-size-16);
  line-height: 1.5;
  color: #5a6c82;
}

/* Director Interaction */

@media (any-hover: hover) {
  .director-tabs__button:hover {
    color: var(--primary);
    background: #f8faff;
  }
}

@media (prefers-reduced-motion: no-preference) {
  .director-tabs__button {
    transition:
      color 0.2s ease,
      background-color 0.2s ease;
  }
}

/* Director Tablet */

@media (width < 1280px) {
  .greetings-visual__container {
    grid-template-columns: minmax(250rem, 0.8fr) minmax(0, 1.5fr);
  }

  .greetings-visual__portrait-image {
    right: 10rem;
    width: min(100%, 320rem);
  }
}

/* Director Mobile */

@media (width < 768px) {
  .director-tabs {
    margin-bottom: 44rem;
  }

  .director-tabs__button {
    min-height: 52rem;
    padding: 10rem 12rem;
    font-size: var(--font-size-16);
  }

  .greetings-visual {
    min-height: auto;
  }

  .greetings-visual__container {
    grid-template-columns: 1fr;
    min-height: 0;
  }

  .greetings-visual__content {
    grid-row: 1;
    padding: 24rem;
  }

  .greetings-visual__title {
    font-size: var(--font-size-28);
  }

  .greetings-visual__portrait {
    grid-row: 2;
    height: 260rem;
  }

  .greetings-visual__portrait-image {
    right: auto;
    left: 50%;
    width: min(90%, 280rem);
    transform: translateX(-50%);
  }

  .greetings-message {
    padding-block: 36rem 10rem;
  }

  .greetings-signature {
    gap: 12rem;
    margin-top: 30rem;
  }

  .former-directors__list {
    gap: 16rem;
  }

  .director-card {
    padding: 20rem;
  }

  .director-card__photo {
    height: 170rem;
  }

  .former-directors__notice {
    margin-top: 28rem;
    padding: 18rem;
  }
}

/* Main Functions */

.institute-functions__list {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  align-items: stretch;
  gap: 14rem;
}

/* Function Card */

.function-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  min-width: 0;
  min-height: 250rem;
  padding: 24rem;
  border: 1px solid #ddd;
  border-radius: 8rem;
  background: #fff;
  text-align: center;
}

.function-card__icon {
  display: grid;
  place-items: center;
  width: 44rem;
  height: 44rem;
  margin-bottom: 24rem;
}

.function-card__title {
  font-size: var(--font-size-20);
  font-weight: 700;
  line-height: 1.45;
  letter-spacing: -0.025em;
  color: var(--primary);
}

.function-card__description {
  margin-top: 14rem;
  font-size: var(--font-size-16);
  font-weight: 400;
  line-height: 1.65;
  letter-spacing: -0.015em;
  color: #4f5963;
}

/* Establishment Basis */

.institute-basis {
  display: grid;
  grid-template-columns:
    minmax(170rem, auto)
    minmax(260rem, 0.8fr)
    minmax(0, 1.5fr);
  align-items: stretch;
  margin-top: 44rem;
  overflow: hidden;
  border: 1px solid #ddd;
  border-radius: 8rem;
  background: #fff;
}

.institute-basis__heading {
  display: flex;
  align-items: center;
  gap: 14rem;
  padding: 20rem 24rem;
}

.institute-basis__icon {
  display: grid;
  place-items: center;
  flex-shrink: 0;
  width: 52rem;
  aspect-ratio: 1;
}

.institute-basis__title {
  font-size: var(--font-size-20);
  font-weight: 700;
  line-height: 1.4;
  white-space: nowrap;
  color: var(--primary);
}

.institute-basis__law,
.institute-basis__description {
  display: flex;
  align-items: center;
  min-width: 0;
  padding: 32rem;
  border-left: 1px solid #e2e7ec;
}

.institute-basis__law {
  font-size: var(--font-size-16);
  font-weight: 500;
  line-height: 1.6;
  color: #333;
}

.institute-basis__description {
  font-size: var(--font-size-16);
  font-weight: 400;
  line-height: 1.65;
  color: #333;
}

/* Main Functions Interaction */

@media (any-hover: hover) {
  .function-card:hover {
    border-color: #aac4eb;
  }
}

@media (prefers-reduced-motion: no-preference) {
  .function-card {
    transition: border-color 0.2s ease;
  }
}

/* Main Functions Tablet */

@media (width < 1280px) {
  .institute-basis {
    grid-template-columns: minmax(170rem, auto) minmax(0, 1fr);
  }

  .institute-basis__description {
    grid-column: 1 / -1;
    border-top: 1px solid #e2e7ec;
    border-left: 0;
  }
}

/* Main Functions Mobile */

@media (width < 768px) {
  .institute-functions__heading {
    margin-bottom: 14rem;
    font-size: var(--font-size-20);
  }

  .institute-functions__list {
    gap: 12rem;
  }

  .function-card {
    display: grid;
    grid-template-columns: 52rem minmax(0, 1fr);
    grid-template-areas:
      "icon title"
      "icon description";
    align-items: center;
    min-height: 0;
    padding: 18rem;
    text-align: left;
  }

  .function-card__icon {
    grid-area: icon;
    width: 42rem;
    height: 42rem;
    margin: 0;
  }

  .function-card__title {
    grid-area: title;
  }

  .function-card__description {
    grid-area: description;
    margin-top: 5rem;
  }

  .institute-basis {
    grid-template-columns: 1fr;
    margin-top: 18rem;
  }

  .institute-basis__heading {
    padding: 18rem 20rem;
  }

  .institute-basis__icon {
    width: 44rem;
  }

  .institute-basis__law,
  .institute-basis__description {
    padding: 16rem 20rem;
    border-top: 1px solid #e2e7ec;
    border-left: 0;
  }

  .institute-basis__description {
    grid-column: auto;
  }
}

/* History */

.history__layout {
  display: grid;
  grid-template-columns: 130rem minmax(0, 1fr);
  align-items: start;
  gap: 54rem;
}

/* Decade Navigation */

.history-decade-nav {
  position: sticky;
  top: 24rem;
}

.history-decade-nav__list {
  overflow: hidden;
  padding: 8rem;
  border: 1px solid #ddd;
  border-radius: 8rem;
  background: #fff;
}

.history-decade-nav__item + .history-decade-nav__item {
  margin-top: 4rem;
}

.history-decade-nav__link {
  display: grid;
  place-items: center;
  min-height: 52rem;
  padding: 10rem 12rem;
  border-radius: 6rem;
  font-size: var(--font-size-16);
  font-weight: 500;
  line-height: 1;
  color: #66717c;
}

.history-decade-nav__link.is-current {
  background: #104ba3;
  font-weight: 700;
  color: #fff;
}

.history-decade-nav__link.is-disabled {
  opacity: 0.45;
  cursor: default;
}

/* Timeline */

.history-decade {
  scroll-margin-top: 30rem;
}

.history-decade + .history-decade {
  margin-top: 10rem;
}

.history-timeline {
  position: relative;
}

.history-timeline::before {
  position: absolute;
  top: -12rem;
  bottom: 0;
  left: 9rem;
  width: 1px;
  background: #b8c6d8;
  content: "";
}

/* Timeline Event */

.history-event {
  position: relative;
  display: grid;
  grid-template-columns: 20rem minmax(0, 1fr) 600rem;
  gap: 24rem;
  min-width: 0;
  padding-bottom: 32rem;
}

.history-event + .history-event {
  padding-top: 32rem;
  border-top: 1px solid #edf0f3;
}

.history-event__marker {
  position: relative;
  z-index: 1;
  align-self: start;
  width: 14rem;
  aspect-ratio: 1;
  margin-top: 7rem;
  margin-left: 3rem;
  background: #fff;
  border: 3rem solid #155cdd;
  border-radius: 50%;
}

.history-event__date {
  display: block;
  margin-bottom: 10rem;
  font-size: var(--font-size-16);
  font-weight: 700;
  line-height: 1.4;
  color: #155cdd;
}

.history-event__title {
  font-size: var(--font-size-24);
  font-weight: 700;
  line-height: 1.55;
  letter-spacing: -0.025em;
  color: #171d24;
}

.history-event__description {
  margin-top: 10rem;
  font-size: var(--font-size-16);
  font-weight: 400;
  line-height: 1.65;
  color: #333;
}

.history-event__media {
  align-self: start;
  overflow: hidden;
  width: 100%;
  height: 200rem;
  border-radius: 6rem;
}

/* Compact History Event */

.history-event--compact {
  grid-template-columns: 20rem 110rem minmax(0, 1fr);
  align-items: start;
  gap: 24rem;
  padding-block: 14rem;
  border-top: 0;
}

.history-event--compact + .history-event--compact {
  padding-top: 14rem;
  border-top: 0;
}

.history-event--compact .history-event__marker {
  width: 7rem;
  margin-top: 8rem;
  margin-left: 6rem;
  background: #6d7c91;
  border: 0;
}

.history-event--compact .history-event__date {
  margin: 0;
  font-size: var(--font-size-14);
  font-weight: 500;
  color: #4e5b69;
}

.history-event__summary {
  font-size: var(--font-size-16);
  font-weight: 500;
  line-height: 1.6;
  color: #333;
}

/* More */

.history-event--extra,
.history-decade--extra {
  display: none;
}

.history.is-expanded .history-event--extra {
  display: grid;
}

.history.is-expanded .history-decade--extra {
  display: block;
}

.history-more-wrap {
  display: flex;
  justify-content: center;
  margin-top: 24rem;
}

.history-more {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 14rem;
  min-width: 120rem;
  height: 44rem;
  padding-inline: 22rem;
  border: 1px solid #d3dbe4;
  border-radius: 999rem;
  font-size: var(--font-size-14);
  font-weight: 500;
  color: #55616d;
  background: #fff;
}

.history-more__arrow {
  width: 8rem;
  height: 8rem;
  border: solid currentColor;
  border-width: 0 1px 1px 0;
  transform: rotate(45deg) translate(-2rem, -2rem);
}

.history.is-expanded .history-more__arrow {
  transform: rotate(225deg) translate(-1rem, -1rem);
}

/* History Interaction */

@media (any-hover: hover) {
  .history-decade-nav__link:not(.is-disabled):hover {
    color: var(--primary);
    background: #f1f6fd;
  }

  .history-decade-nav__link.is-current:hover {
    color: #fff;
    background: #104ba3;
  }

  .history-more:hover {
    color: var(--primary);
    border-color: #9cbbea;
  }
}

@media (prefers-reduced-motion: no-preference) {
  .history-decade-nav__link,
  .history-more,
  .history-more__arrow {
    transition: 0.2s ease;
  }
}

/* History Tablet */

@media (width < 1280px) {
  .history__layout {
    grid-template-columns: 110rem minmax(0, 1fr);
    gap: 34rem;
  }

  .history-event {
    grid-template-columns: 20rem minmax(0, 1fr) 360rem;
    gap: 18rem;
  }

  .history-event__media {
    height: 160rem;
  }
}

/* History Mobile */

@media (width < 768px) {
  .history__layout {
    grid-template-columns: 1fr;
    gap: 24rem;
  }

  .history-decade-nav {
    position: static;
    overflow-x: auto;
    scrollbar-width: none;
  }

  .history-decade-nav::-webkit-scrollbar {
    display: none;
  }

  .history-decade-nav__list {
    display: flex;
    width: max-content;
    min-width: 100%;
    padding: 6rem;
  }

  .history-decade-nav__item + .history-decade-nav__item {
    margin-top: 0;
  }

  .history-decade-nav__link {
    min-width: 86rem;
    min-height: 42rem;
    padding: 8rem 14rem;
  }

  .history-event {
    grid-template-columns: 18rem minmax(0, 1fr);
    gap: 14rem;
    padding-bottom: 26rem;
  }

  .history-event + .history-event {
    padding-top: 26rem;
  }

  .history-event__media {
    grid-column: 2;
    width: min(100%, 320rem);
    height: 150rem;
    margin-top: 8rem;
  }

  .history-event--compact {
    grid-template-columns: 18rem minmax(0, 1fr);
    gap: 14rem;
  }

  .history-event--compact .history-event__date {
    grid-column: 2;
  }

  .history-event__summary {
    grid-column: 2;
    margin-top: 4rem;
  }
}

/* Vision System */

.vision-system {
  position: relative;
  width: 100%;
  overflow: hidden;
}

/* Mission / Vision */

.vision-summary {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  overflow: hidden;
  border: 1px solid #ddd;
  border-radius: 8rem;
  background: #fff;
}

.vision-summary__item {
  display: grid;
  grid-template-columns: 88rem minmax(0, 1fr);
  align-items: center;
  gap: 44rem;
  min-width: 0;
  padding: 32rem 38rem;
}

.vision-summary__item + .vision-summary__item {
  border-left: 1px solid #e2e7ec;
}

.vision-summary__icon {
  display: grid;
  place-items: center;
  width: 88rem;
  aspect-ratio: 1;
}

.vision-summary__meta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8rem;
  margin-bottom: 14rem;
  font-size: var(--font-size-14);
  line-height: 1.4;
}

.vision-summary__label {
  font-weight: 700;
  color: #174b91;
}

.vision-summary__name {
  font-weight: 600;
  color: #68737d;
}

.vision-summary__divider {
  width: 1px;
  height: 12rem;
  background: #d4dbe2;
}

.vision-summary__question {
  color: #8b949d;
}

.vision-summary__title {
  font-size: var(--font-size-22);
  font-weight: 700;
  line-height: 1.55;
  letter-spacing: -0.03em;
  color: #17202a;
}
.core-values__details {
  margin-top: 64rem;
}

@media (width < 768px) {
  .core-values__details {
    margin-top: 44rem;
  }
}
/* Section Line Heading */

.section-line-heading {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12rem;
  margin-bottom: 24rem;
}

.section-line-heading__line {
  flex: 1;
  height: 1px;
  background: #dce3ea;
}

.section-line-heading__title {
  flex-shrink: 0;
  font-size: var(--font-size-24);
  font-weight: 700;
  color: #174b91;
}

.section-line-heading__name {
  flex-shrink: 0;
  font-size: var(--font-size-16);
  font-weight: 600;
  color: #333;
}

.section-line-heading__divider {
  flex-shrink: 0;
  width: 1px;
  height: 13rem;
  background: #d7dde3;
}

.section-line-heading__description {
  flex-shrink: 0;
  font-size: var(--font-size-16);
  color: #333;
}

/* Core Values */

/* Value Card */

.value-card {
  --value-accent: #174b91;
  display: flex;
  flex-direction: column;
  width: 100%;
  min-width: 0;
  overflow: hidden;
  border: 1px solid #ddd;
  border-radius: 10rem;
  background: #fff;
}

.value-card--blue {
  --value-accent: #1658c7;
}

.value-card--cyan {
  --value-accent: #1685aa;
}

.value-card--purple {
  --value-accent: #6542bf;
}

.value-card--green {
  --value-accent: #4d8b38;
}

.value-card__body {
  display: grid;
  grid-template-columns: 66rem minmax(0, 1fr);
  align-items: center;
  gap: 18rem;
  flex: 1;
  padding: 24rem 22rem;
}

.value-card__icon {
  display: grid;
  place-items: center;
  width: 66rem;
  aspect-ratio: 1;
}

.value-card__title {
  font-size: var(--font-size-20);
  font-weight: 700;
  line-height: 1.4;
  color: var(--value-accent);
}

.value-card__description {
  margin-top: 8rem;
  font-size: var(--font-size-16);
  line-height: 1.6;
  color: #333;
}

.value-card__link {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12rem;
  min-height: 48rem;
  border-top: 1px solid #ddd;
  font-size: var(--font-size-14);
  font-weight: 500;
  color: #333;
}

.value-card__link img {
  display: block;
  width: 18rem;
  height: 18rem;
  object-fit: contain;
}

/* Strategic System */

/* Strategy Card */

.strategy-card {
  --strategy-accent: #174b91;

  display: flex;
  flex-direction: column;
  width: 100%;
  min-width: 0;
  overflow: hidden;
  border: 1px solid #dce3ea;
  border-radius: 10rem;
  background: #fff;
}

.strategy-card--blue {
  --strategy-accent: #1658c7;
}

.strategy-card--cyan {
  --strategy-accent: #1685aa;
}

.strategy-card--purple {
  --strategy-accent: #6542bf;
}

.strategy-card--green {
  --strategy-accent: #4d8b38;
}

.strategy-card__header {
  display: grid;
  grid-template-columns: 42rem minmax(0, 1fr);
  align-items: start;
  gap: 14rem;
  padding: 24rem 20rem 18rem;
}

.strategy-card__number {
  display: grid;
  place-items: center;
  width: 42rem;
  aspect-ratio: 1;
  border-radius: 50%;
  background: var(--strategy-accent);
  font-size: var(--font-size-14);
  font-weight: 700;
  color: #fff;
}

.strategy-card__title {
  font-size: var(--font-size-20);
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: -0.025em;
  color: var(--strategy-accent);
}

.strategy-card__direction {
  padding: 0 20rem 20rem;
}

.strategy-card__label {
  display: block;
  margin-bottom: 8rem;
  font-size: var(--font-size-16);
  font-weight: 700;
  color: #333;
}

.strategy-card__direction p {
  font-size: var(--font-size-16);
  line-height: 1.65;
  color: #333;
}

.strategy-card__tasks {
  margin-top: auto;
  border-top: 1px solid #e1e6eb;
}

.strategy-card__tasks li {
  display: grid;
  grid-template-columns: 42rem minmax(0, 1fr);
  gap: 10rem;
  padding: 13rem 16rem;
  font-size: var(--font-size-13);
  line-height: 1.55;
}

.strategy-card__tasks li + li {
  border-top: 1px solid #e7ebef;
}

.strategy-card__tasks strong {
  color: var(--strategy-accent);
}

.strategy-card__tasks span {
  color: #515c67;
}

/* Decoration */

.vision-system__decoration {
  margin-top: 10rem;
  pointer-events: none;
}

.vision-system__decoration img {
  display: block;
  width: 100%;
  height: auto;
}

/* Vision System Interaction */

@media (any-hover: hover) {
  .value-card__link:hover {
    color: var(--value-accent);
    background: #f8fafc;
  }
}

@media (prefers-reduced-motion: no-preference) {
  .value-card__link {
    transition:
      color 0.2s ease,
      background-color 0.2s ease;
  }
}

/* Vision System Tablet */

@media (width < 1280px) {
  .vision-summary__item {
    grid-template-columns: 70rem minmax(0, 1fr);
    padding: 26rem;
  }

  .vision-summary__icon {
    width: 70rem;
  }
}

/* Vision System Mobile */

@media (width < 768px) {
  .vision-summary {
    grid-template-columns: 1fr;
  }

  .vision-summary__item {
    grid-template-columns: 56rem minmax(0, 1fr);
    gap: 16rem;
    padding: 22rem 18rem;
  }

  .vision-summary__item + .vision-summary__item {
    border-top: 1px solid #e2e7ec;
    border-left: 0;
  }

  .vision-summary__icon {
    width: 56rem;
  }

  .vision-summary__title {
    font-size: var(--font-size-18);
  }

  .section-line-heading {
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: 8rem;
  }

  .section-line-heading__line {
    display: none;
  }

  .section-line-heading__description {
    flex-basis: 100%;
  }

  .core-values {
    margin-top: 34rem;
  }

  .value-card__body {
    grid-template-columns: 56rem minmax(0, 1fr);
    padding: 20rem;
  }

  .value-card__icon {
    width: 56rem;
  }

  .strategy-system {
    margin-top: 38rem;
  }

  .strategy-card__header {
    padding: 20rem 18rem 16rem;
  }

  .strategy-card__direction {
    padding: 0 18rem 18rem;
  }
}

/* Organization */

/* Section Heading */

/* Organization Chart */

.organization-chart__body {
  padding: 0 8rem;
}

.organization-chart__top {
  position: relative;
  display: grid;
  justify-items: center;
}

.organization-node {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
  min-height: 48rem;
  padding: 10rem 18rem;
  border-radius: 6rem;
  font-size: var(--font-size-16);
  font-weight: 700;
  text-align: center;
}

.organization-node--board {
  width: min(240rem, 100%);
  color: #fff;
  background: #2f7bd4;
}

.organization-chart__vertical-line {
  width: 1px;
  height: 48rem;
  background: #8fa3bb;
}

.organization-chart__management {
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, 190rem);
  align-items: center;
  justify-content: center;
  gap: 100rem;
}

.organization-chart__management::before {
  position: absolute;
  top: 50%;
  right: 90rem;
  left: 90rem;
  z-index: -1;
  height: 1px;
  background: #8fa3bb;
  content: "";
}

.organization-node--primary {
  color: #fff;
  background: #063ba7;
}

.organization-node--side {
  color: #174b91;
  background: #fff;
  border: 2px solid #4b85d5;
}
html[lang="en"] .organization-node--side {
  font-size: var(--font-size-15);
}

/* Organization Departments */

.organization-chart__departments {
  position: relative;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  align-items: start;
  gap: 44rem;
  margin-top: 28rem;
}

.organization-chart__departments::before {
  position: absolute;
  top: -28rem;
  right: 120rem;
  left: 120rem;
  height: 1px;
  background: #8fa3bb;
  content: "";
}

.organization-department {
  position: relative;
  min-width: 0;
}

.organization-department::before {
  position: absolute;
  top: -28rem;
  left: 50%;
  width: 1px;
  height: 28rem;
  background: #8fa3bb;
  content: "";
}

.organization-node--department {
  min-height: 46rem;
  color: #fff;
  background: #0844aa;
}

.organization-department__teams {
  display: grid;
  gap: 10rem;
  margin-top: 14rem;
}

.organization-team {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 42rem;
  padding: 9rem 12rem;
  border: 1px solid #bdc8d4;
  border-radius: 6rem;
  background: #fff;
  font-size: var(--font-size-14);
  font-weight: 500;
  line-height: 1.35;
  text-align: center;
  color: #4d5965;
}

button.organization-team {
  cursor: pointer;
}

.organization-team.is-current {
  color: #174b91;
  border-color: #6f9edc;
  background: #f1f6ff;
  font-weight: 700;
}

/* Department Detail */

.organization-detail__card {
  display: grid;
  grid-template-columns: 230rem minmax(0, 1fr);
  overflow: hidden;
  border: 1px solid #d8e0e8;
  border-radius: 8rem;
}

.organization-detail__name {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 94rem;
  padding: 20rem;
  background: #f3f7fd;
  font-size: var(--font-size-22);
  font-weight: 700;
  color: #174b91;
}

.organization-detail__content {
  display: flex;
  align-items: center;
  min-width: 0;
  padding: 20rem 34rem;
}

.organization-detail__list li {
  position: relative;
  padding-left: 14rem;
  font-size: var(--font-size-18);
  line-height: 1.6;
  color: #303a44;
}

.organization-detail__list li::before {
  position: absolute;
  top: 0.75em;
  left: 0;
  width: 4rem;
  aspect-ratio: 1;
  background: #263441;
  border-radius: 50%;
  content: "";
}

.organization-table a,
.privacy-table a {
  color: inherit;
}

/* Contact */

.organization-table-wrap {
  width: 100%;
  overflow-x: auto;
  border: 1px solid #dce3ea;
  border-radius: 6rem;
}

.organization-table {
  width: 100%;
  min-width: 720rem;
  border-collapse: collapse;
  table-layout: fixed;
  font-size: var(--font-size-16);
  text-align: center;
  color: #333;
}

.organization-table th,
.organization-table td {
  padding: 12rem 18rem;
  border-right: 1px solid #dce3ea;
  border-bottom: 1px solid #dce3ea;
  line-height: 1.45;
}

.organization-table th:last-child,
.organization-table td:last-child {
  border-right: 0;
}

.organization-table tbody tr:last-child td {
  border-bottom: 0;
}

.organization-table th {
  background: #f3f6f9;
  font-weight: 700;
  color: #26313c;
}

.organization-table th:nth-child(1) {
  width: 20%;
}

.organization-table th:nth-child(2) {
  width: 55%;
}

.organization-table th:nth-child(3) {
  width: 25%;
}

.organization-table td:nth-child(1) {
  font-weight: 600;
}

.organization-table td:nth-child(2) {
  text-align: center;
}

.organization-contact__notice {
  display: flex;
  align-items: center;
  gap: 10rem;
  margin-top: 24rem;
  font-size: var(--font-size-16);
  line-height: 1.5;
  color: #333;
}

.organization-contact__notice-icon {
  display: grid;
  place-items: center;
  flex-shrink: 0;
  width: 20rem;
  aspect-ratio: 1;
  border: 1px solid #8faad0;
  border-radius: 50%;
  font-size: 12rem;
  font-weight: 700;
  font-style: normal;
  color: #3971bd;
}

/* Organization Interaction */

@media (any-hover: hover) {
  button.organization-team:hover {
    color: var(--primary);
    border-color: #6f9edc;
    background: #f6f9fe;
  }

  .organization-table a:hover {
    color: var(--primary);
    text-decoration: underline;
  }
}

@media (prefers-reduced-motion: no-preference) {
  .organization-team {
    transition:
      color 0.2s ease,
      background-color 0.2s ease,
      border-color 0.2s ease;
  }
}

/* Organization Tablet */

@media (width < 1280px) {
  .organization-chart__management {
    grid-template-columns: repeat(3, minmax(150rem, 190rem));
    gap: 50rem;
  }

  .organization-chart__departments {
    gap: 18rem;
  }

  .organization-node {
    font-size: var(--font-size-14);
  }

  .organization-detail__card {
    grid-template-columns: 190rem minmax(0, 1fr);
  }
}

/* Organization Mobile */

@media (width < 768px) {
  .organization-chart__body {
    padding: 0;
    overflow-x: auto;
    scrollbar-width: thin;
  }

  .organization-chart__top {
    min-width: 820rem;
  }

  .organization-chart__departments {
    min-width: 820rem;
    gap: 18rem;
  }

  .organization-detail {
    margin-top: 40rem;
  }

  .organization-detail__card {
    grid-template-columns: 1fr;
  }

  .organization-detail__name {
    justify-content: flex-start;
    min-height: 60rem;
    padding: 16rem 20rem;
  }

  .organization-detail__content {
    padding: 18rem 20rem;
  }

  .organization-contact {
    margin-top: 28rem;
  }

  .organization-table th,
  .organization-table td {
    padding: 10rem 14rem;
  }
}

.cooperation-map__image,
.transport-card__icon img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

/* Cooperation */

/* Region Filter */

.cooperation-tabs {
  display: flex;
  align-items: stretch;
  gap: 16rem;
  margin-bottom: 24rem;
}

.cooperation-tabs__button {
  min-width: 120rem;
  min-height: 48rem;
  padding: 10rem 20rem;
  border: 1px solid #ddd;
  border-radius: 8rem;
  background: #fff;
  font-size: var(--font-size-16);
  font-weight: 600;
  color: #333;
  cursor: pointer;
}

.cooperation-tabs__button.is-current {
  border-color: var(--primary);
  background: var(--primary);
  font-weight: 700;
  color: #fff;
}

/* Map */

.cooperation-map {
  position: relative;
  min-height: 500rem;
  overflow: hidden;
  border: 1px solid #e0e6ed;
  border-radius: 10rem;
  background: #f8fbff;
}

.cooperation-map__media {
  position: absolute;
  inset: 24rem 310rem 24rem 20rem;
}

/* Map Marker */

.cooperation-marker {
  position: absolute;
  z-index: 1;
  display: grid;
  justify-items: center;
  gap: 5rem;
  padding: 0;
  border: 0;
  background: transparent;
  transform: translate(-50%, -50%);
  color: #1555bd;
  cursor: pointer;
}

.cooperation-marker--europe {
  top: 31%;
  left: 42%;
}

.cooperation-marker--asia {
  top: 39%;
  right: 34%;
}

.cooperation-marker--america {
  top: 44%;
  right: 78%;
}

.cooperation-marker--global {
  top: 74%;
  right: 37%;
}

.cooperation-marker__count {
  display: grid;
  place-items: center;
  width: 38rem;
  aspect-ratio: 1;
  border-radius: 50%;
  background: #0750c7;
  font-size: var(--font-size-16);
  font-weight: 700;
  color: #fff;
}

.cooperation-marker__label {
  font-size: var(--font-size-13);
  font-weight: 700;
  white-space: nowrap;
}

.cooperation-marker.is-muted {
  opacity: 0.35;
}

.cooperation-marker.is-current .cooperation-marker__count {
  outline: 3rem solid rgb(21 92 221 / 18%);
  outline-offset: 3rem;
}

/* Region Summary */

.cooperation-summary {
  position: absolute;
  top: 6%;
  right: 10rem;
  z-index: 2;
  width: min(290rem, calc(100% - 40rem));
  overflow: hidden;
  border: 1px solid #ced8e4;
  border-radius: 8rem;
  background: #fff;
  box-shadow: 0 8rem 24rem rgb(19 48 89 / 12%);
}

.cooperation-summary__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 56rem;
  padding: 12rem 20rem;
  background: #0645ac;
  color: #fff;
}

.cooperation-summary__header strong {
  font-size: var(--font-size-24);
}

.cooperation-summary__header span {
  font-size: var(--font-size-16);
  font-weight: 600;
}

.cooperation-summary__list {
  display: grid;
  gap: 15rem;
  padding: 20rem;
}

.cooperation-summary__item {
  display: grid;
  grid-template-columns: 38rem minmax(0, 1fr);
  align-items: center;
  gap: 12rem;
  min-width: 0;
}

.cooperation-summary__logo {
  display: block;
  width: 38rem;
  height: 32rem;
  object-fit: contain;
}

.cooperation-summary__item > div {
  display: grid;
  gap: 2rem;
  min-width: 0;
}

.cooperation-summary__item strong {
  overflow: hidden;
  font-size: var(--font-size-14);
  font-weight: 700;
  line-height: 1.4;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: #333;
}

.cooperation-summary__item span {
  font-size: var(--font-size-12);
  color: #7b8691;
}

.cooperation-summary__more {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8rem;
  width: 100%;
  min-height: 48rem;
  padding: 10rem 16rem;
  border: 0;
  border-top: 1px solid #ddd;
  background: #fff;
  font-size: var(--font-size-16);
  font-weight: 600;
  color: var(--primary);
  cursor: pointer;
}

/* Institution List */

.cooperation-list__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20rem;
  margin-bottom: 18rem;
}

.cooperation-list__total {
  font-size: var(--font-size-14);
  color: #89939d;
}

.cooperation-list__total strong {
  color: #39444f;
}

/* Cooperation Group */

.cooperation-group {
  overflow: hidden;
  scroll-margin-top: 30rem;
  border: 1px solid #e0e6ec;
  border-radius: 8rem;
  background: #fff;
}

.cooperation-group + .cooperation-group {
  margin-top: 44rem;
}

.cooperation-group[hidden] {
  display: none;
}

.cooperation-group__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20rem;
  min-height: 48rem;
  padding: 16rem;
  background: #f8faff;
  border-bottom: 1px solid #e4e9ee;
}

.cooperation-group__heading {
  font-size: var(--font-size-20);
  font-weight: 700;
  color: #26313c;
}

.cooperation-group__heading span {
  position: relative;
  margin-left: 12rem;
  padding-left: 13rem;
}

.cooperation-group__heading span::before {
  position: absolute;
  top: 50%;
  left: 0;
  width: 1px;
  height: 12rem;
  background: #cbd3dc;
  transform: translateY(-50%);
  content: "";
}

.cooperation-group__more {
  display: inline-flex;
  align-items: center;
  gap: 6rem;
  padding: 0;
  border: 0;
  background: transparent;
  font-size: var(--font-size-16);
  font-weight: 600;
  color: #1555bd;
  cursor: pointer;
}

.cooperation-group__list {
  padding-block: 16rem;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260rem, 1fr));
}

/* Institution Card */

.cooperation-group__item {
  min-width: 0;
  border-right: 1px solid #e8edf1;
}

/* .cooperation-group__item:last-child {
  border-right: 0;
} */

.institution-card {
  display: grid;
  grid-template-columns: 54rem minmax(0, 1fr);
  align-items: center;
  gap: 12rem;
  width: 100%;
  min-height: 92rem;
  padding: 16rem;
  background: #fff;
}

.institution-card__logo {
  display: block;
  width: 54rem;
  height: 48rem;
  object-fit: contain;
}

.institution-card__content {
  display: grid;
  gap: 4rem;
  min-width: 0;
}

.institution-card__name {
  overflow: hidden;
  font-size: var(--font-size-13);
  font-weight: 700;
  line-height: 1.35;
  color: #26313c;
}

.institution-card__country {
  font-size: var(--font-size-12);
  color: #85909a;
}

/* Notice */

.cooperation-notice {
  display: flex;
  align-items: center;
  gap: 10rem;
  margin-top: 24rem;
  padding: 16rem 18rem;
  border-radius: 7rem;
  background: #f3f7ff;
  font-size: var(--font-size-13);
  color: #66778e;
}

.cooperation-notice__icon {
  display: grid;
  place-items: center;
  flex-shrink: 0;
  width: 20rem;
  aspect-ratio: 1;
  border: 1px solid #8da9d3;
  border-radius: 50%;
  font-size: 11rem;
  font-weight: 700;
  color: #3771c6;
}

/* Cooperation Interaction */

@media (any-hover: hover) {
  .cooperation-tabs__button:hover:not(.is-current) {
    color: var(--primary);
    border-color: #9bb7df;
  }

  a.institution-card:hover {
    background: #f7faff;
  }

  .cooperation-summary__more:hover,
  .cooperation-group__more:hover {
    text-decoration: underline;
  }

  .cooperation-marker:hover:not(.is-muted) .cooperation-marker__count {
    background: var(--primary);
  }
}

@media (prefers-reduced-motion: no-preference) {
  .cooperation-tabs__button,
  .institution-card,
  .cooperation-marker,
  .cooperation-marker__count {
    transition:
      color 0.2s ease,
      border-color 0.2s ease,
      background-color 0.2s ease,
      opacity 0.2s ease;
  }
}

/* Cooperation Tablet */

@media (width < 1280px) {
  .cooperation-map {
    min-height: 390rem;
  }

  .cooperation-map__media {
    right: 270rem;
  }

  .cooperation-summary {
    width: 250rem;
  }

  .cooperation-group__item {
    border-bottom: 1px solid #e8edf1;
  }
}

/* Cooperation Mobile */

@media (width < 768px) {
  .cooperation-tabs {
    overflow-x: auto;
    gap: 8rem;
    padding-bottom: 4rem;
    scrollbar-width: none;
  }

  .cooperation-tabs::-webkit-scrollbar {
    display: none;
  }

  .cooperation-tabs__button {
    flex: 0 0 auto;
    min-width: 94rem;
    min-height: 44rem;
    padding-inline: 14rem;
  }

  .cooperation-map {
    min-height: 500rem;
  }

  .cooperation-map__media {
    inset: 10rem 10rem 205rem;
  }

  .cooperation-summary {
    top: auto;
    right: 14rem;
    bottom: 14rem;
    left: 14rem;
    width: auto;
  }

  .cooperation-summary__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10rem 16rem;
  }

  .cooperation-marker--europe {
    top: 20%;
    left: 20%;
  }

  .cooperation-marker--asia {
    top: 27%;
    left: 44%;
  }

  .cooperation-marker--america {
    top: 25%;
    left: 72%;
  }

  .cooperation-marker--global {
    top: 43%;
    left: 50%;
  }

  .cooperation-list {
    margin-top: 28rem;
  }

  .cooperation-list__header {
    align-items: flex-start;
    flex-direction: column;
    gap: 5rem;
  }

  .institution-card {
    grid-template-columns: 44rem minmax(0, 1fr);
    min-height: 84rem;
    padding: 13rem;
  }

  .institution-card__logo {
    width: 44rem;
    height: 40rem;
  }
}

@media (width < 480px) {
  .cooperation-summary__list {
    grid-template-columns: 1fr;
  }

  .cooperation-group__item {
    border-right: 0;
  }
}

/* Location Guide */

/* Kakao Map */

.location-map {
  width: 100%;
  overflow: hidden;
  border: 1px solid #dce3ea;
  border-radius: 10rem;
  background: #f5f7fa;
}

.location-map__embed {
  width: 100%;
  max-width: 100%;
}

.location-map .root_daum_roughmap {
  width: 100% !important;
  max-width: 100%;
}
.wrap_controllers.hide {
  display: none;
}
.section.section_address.lst {
  display: none;
}
/* Transportation */

.location-transport {
  display: grid;
  gap: 44rem;
  margin-top: 100rem;
}

/* Transport Card */

.transport-card {
  display: grid;
  grid-template-columns: 300rem minmax(0, 1fr);
  min-width: 0;
  overflow: hidden;
  border: 1px solid #ddd;
  border-radius: 8rem;
  background: #fff;
}

.transport-card__header {
  display: flex;
  align-items: center;
  gap: 16rem;
  min-width: 0;
  padding: 24rem;
  border-right: 1px solid #e1e6eb;
}

.transport-card__icon {
  display: grid;
  place-items: center;
  flex-shrink: 0;
  width: 56rem;
  aspect-ratio: 1;
}

.transport-card__title {
  font-size: var(--font-size-20);
  font-weight: 700;
  line-height: 1.4;
  color: var(--primary);
}

.transport-card__content {
  display: flex;
  align-items: center;
  min-width: 0;
  padding: 22rem 30rem;
}

/* Transport List */

.transport-list {
  display: grid;
  gap: 16rem;
  width: 100%;
}

.transport-list__item {
  display: grid;
  grid-template-columns: 190rem minmax(0, 1fr);
  gap: 20rem;
  min-width: 0;
}

.transport-list dt {
  font-size: var(--font-size-16);
  font-weight: 700;
  line-height: 1.55;
  color: #333;
}

.transport-list dd {
  min-width: 0;
  font-size: var(--font-size-16);
  font-weight: 400;
  line-height: 1.55;
  color: #333;
}

/* Building Photos */

.location-building {
  display: grid;
  grid-template-columns: 240rem minmax(0, 1fr);
  gap: 30rem;
  margin-top: 44rem;
  padding: 26rem 30rem;
  border: 1px solid #dce3ea;
  border-radius: 10rem;
  background: #fff;
}

.location-building__header {
  align-self: start;
}

.location-building__title {
  font-size: var(--font-size-20);
  font-weight: 700;
  line-height: 1.4;
  color: #155cdd;
}

.location-building__optional {
  display: block;
  margin-top: 4rem;
  font-size: var(--font-size-18);
  font-weight: 500;
  color: #75808a;
}

.location-building__images {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18rem;
}

.location-building__image {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}

.location-building__notice {
  margin-top: 16rem;
  font-size: var(--font-size-16);
  line-height: 1.5;
  color: #7a8590;
}

/* Location Guide Tablet */

@media (width < 1280px) {
  .location-map__embed {
    min-height: 320px;
  }

  .transport-card {
    grid-template-columns: 200rem minmax(0, 1fr);
  }

  .transport-card__header {
    padding: 20rem;
  }

  .transport-card__content {
    padding: 20rem 24rem;
  }

  .transport-list__item {
    grid-template-columns: 150rem minmax(0, 1fr);
  }

  .location-building {
    grid-template-columns: 150rem minmax(0, 1fr);
  }
}

/* Location Guide Mobile */

@media (width < 768px) {
  .location-map__embed {
    min-height: 280px;
  }

  .transport-card {
    grid-template-columns: 1fr;
  }

  .transport-card__header {
    min-height: 72rem;
    padding: 14rem 18rem;
    border-right: 0;
    border-bottom: 1px solid #e1e6eb;
  }

  .transport-card__icon {
    width: 44rem;
  }

  .transport-card__title {
    font-size: var(--font-size-16);
  }

  .transport-card__content {
    padding: 18rem;
  }

  .transport-list {
    gap: 12rem;
  }

  .transport-list__item {
    grid-template-columns: 1fr;
    gap: 3rem;
  }

  .location-building {
    grid-template-columns: 1fr;
    gap: 18rem;
    padding: 20rem;
  }

  .location-building__header {
    display: flex;
    align-items: baseline;
    gap: 8rem;
  }

  .location-building__optional {
    margin-top: 0;
  }

  .location-building__images {
    gap: 12rem;
  }
}

/* Privacy Policy */

.agreement-tabs {
  margin-bottom: 64rem;
}

/* Privacy Intro */

.privacy-policy__intro {
  margin-bottom: 52rem;
  font-size: var(--font-size-18);
  font-weight: 400;
  line-height: 1.9;
  letter-spacing: -0.02em;
  color: #222;
}

.privacy-toc__icon,
.privacy-article__icon {
  display: block;
  flex: 0 0 auto;
  width: 28rem;
  height: 28rem;
  object-fit: contain;
}

/* Privacy Table of Contents */

.privacy-toc {
  margin-bottom: 72rem;
}

.privacy-toc__heading {
  margin-bottom: 28rem;
  font-size: var(--font-size-22);
  font-weight: 700;
  line-height: 1.4;
  color: #171d24;
}

.privacy-toc__list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18rem 70rem;
}

.privacy-toc__link {
  display: flex;
  align-items: center;
  gap: 14rem;
  min-width: 0;
  font-size: var(--font-size-16);
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: -0.02em;
  color: #222;
}

/* Privacy Article */

.privacy-article {
  scroll-margin-top: 40rem;
}

.privacy-article + .privacy-article {
  margin-top: 68rem;
}

.privacy-article__heading {
  display: flex;
  align-items: center;
  gap: 14rem;
  margin-bottom: 18rem;
  font-size: var(--font-size-22);
  font-weight: 700;
  line-height: 1.45;
  letter-spacing: -0.025em;
  color: #131a21;
}

.privacy-article__body {
  font-size: var(--font-size-16);
  font-weight: 400;
  line-height: 1.9;
  letter-spacing: -0.015em;
  color: #222;
}

.privacy-article__body > * + * {
  margin-top: 14rem;
}

.privacy-article__subheading {
  margin-top: 20rem;
  font-size: var(--font-size-16);
  font-weight: 700;
  line-height: 1.6;
  color: #161b21;
}

/* Privacy Lists */

.privacy-list {
  display: grid;
  gap: 7rem;
  padding-left: 20rem;
}

.privacy-list li {
  position: relative;
  padding-left: 14rem;
}

.privacy-list li::before {
  position: absolute;
  top: 0.9em;
  left: 0;
  width: 3rem;
  aspect-ratio: 1;
  background: currentColor;
  border-radius: 50%;
  content: "";
}

.privacy-number-list {
  display: grid;
  gap: 6rem;
  padding-left: 40rem;
  list-style: decimal;
}

.privacy-notice {
  margin-top: 12rem;
}

/* Privacy Tables */

.privacy-table-wrap {
  width: 100%;
  overflow-x: auto;
  margin-block: 18rem;
}

.privacy-table {
  width: 100%;
  min-width: 760rem;
  border-collapse: collapse;
  table-layout: fixed;
  font-size: var(--font-size-16);
  line-height: 1.55;
  text-align: center;
  color: #222;
}

.privacy-table th,
.privacy-table td {
  padding: 14rem 16rem;
  border: 1px solid #d7dce1;
  vertical-align: middle;
}

.privacy-table th {
  background: #f7f7f7;
  font-weight: 700;
  color: #181d22;
}

.privacy-table td,
.privacy-agreement__process td {
  background: #fff;
}

/* Privacy Button */

.privacy-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12rem;
  min-height: 44rem;
  padding: 12rem 20rem;
  border-radius: 999rem;
  background: #438fd8;
  font-size: var(--font-size-16);
  font-weight: 600;
  line-height: 1.4;
  color: #fff;
}

.privacy-button__arrow {
  width: 8rem;
  height: 8rem;
  border: solid currentColor;
  border-width: 1px 1px 0 0;
  transform: rotate(45deg);
}

/* Privacy Downloads */

.privacy-download-list,
.privacy-history {
  display: grid;
  gap: 6rem;
  padding-left: 24rem;
}

.privacy-download {
  display: inline-flex;
  align-items: center;
  gap: 8rem;
  width: fit-content;
  font-weight: 600;
  color: #18212a;
}

.privacy-download__icon {
  flex-shrink: 0;
  font-size: 20rem;
  font-weight: 400;
  line-height: 1;
  color: #1455a0;
}

/* Privacy Process */

.privacy-process {
  width: 100%;
  margin-top: 28rem;
  overflow: hidden;
  border: 1px solid #d7dce1;
  background: #fff;
}

.privacy-process__caption {
  padding: 12rem 20rem;
  border-bottom: 1px solid #d7dce1;
  background: #f7f7f7;
  font-size: var(--font-size-16);
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
  color: #171d24;
}

.privacy-process--rights {
  margin-top: 24rem;
}

/* Privacy Interaction */

@media (any-hover: hover) {
  .privacy-toc__link:hover,
  .privacy-download:hover,
  .privacy-table a:hover {
    color: var(--primary);
  }

  .privacy-button:hover {
    background: var(--primary);
  }
}

@media (prefers-reduced-motion: no-preference) {
  .privacy-toc__link,
  .privacy-download,
  .privacy-button,
  .privacy-table a {
    transition:
      color 0.2s ease,
      background-color 0.2s ease;
  }
}

/* Privacy Tablet */

@media (width < 1280px) {
  .privacy-toc__list {
    gap: 16rem 36rem;
  }

  .privacy-article + .privacy-article {
    margin-top: 56rem;
  }
}

/* Privacy Mobile */

@media (width < 768px) {
  .agreement-tabs {
    margin-bottom: 36rem;
  }

  .privacy-policy__intro {
    margin-bottom: 36rem;
    font-size: var(--font-size-16);
    line-height: 1.75;
  }

  .privacy-toc {
    margin-bottom: 48rem;
  }

  .privacy-toc__heading {
    margin-bottom: 20rem;
  }

  .privacy-toc__list {
    gap: 12rem;
  }

  .privacy-toc__link {
    align-items: flex-start;
    gap: 10rem;
    font-size: var(--font-size-14);
  }

  .privacy-toc__icon {
    width: 24rem;
    height: 24rem;
  }

  .privacy-article + .privacy-article {
    margin-top: 44rem;
  }

  .privacy-article__heading {
    align-items: flex-start;
    gap: 10rem;
    margin-bottom: 14rem;
    font-size: var(--font-size-20);
  }

  .privacy-article__icon {
    width: 24rem;
    height: 24rem;
    margin-top: 2rem;
  }

  .privacy-article__body {
    font-size: var(--font-size-14);
    line-height: 1.8;
  }

  .privacy-number-list {
    padding-left: 28rem;
  }

  .privacy-table {
    min-width: 680rem;
    font-size: var(--font-size-14);
  }

  .privacy-table th,
  .privacy-table td {
    padding: 11rem 12rem;
  }

  .privacy-button {
    width: 100%;
    min-height: 46rem;
  }

  .privacy-download-list,
  .privacy-history {
    padding-left: 12rem;
  }

  .privacy-process {
    overflow-x: auto;
  }

  .privacy-process__image {
    min-width: 680rem;
  }

  .privacy-process__caption {
    text-align: left;
  }
}

/* Privacy Agreement */

.privacy-agreement__content {
  font-size: var(--font-size-16);
  font-weight: 400;
  line-height: 1.85;
  letter-spacing: -0.015em;
  color: #20252b;
}

/* Privacy Agreement Section */

.privacy-agreement__section + .privacy-agreement__section {
  margin-top: 52rem;
}

.privacy-agreement__heading {
  margin-bottom: 10rem;
  font-size: var(--font-size-20);
  font-weight: 600;
  line-height: 1.5;
  color: #171c22;
}

.privacy-agreement__section p + p {
  margin-top: 12rem;
}

.privacy-agreement__block + .privacy-agreement__block {
  margin-top: 14rem;
}

/* Privacy Agreement Lists */

.privacy-agreement__number-list {
  display: grid;
  gap: 6rem;
  margin-top: 8rem;
  padding-left: 38rem;
  list-style: decimal;
}

.privacy-agreement__sub-number-list {
  display: grid;
  gap: 5rem;
  margin-top: 7rem;
  padding-left: 38rem;
  list-style: decimal;
}

.privacy-agreement__bullet-list {
  display: grid;
  gap: 5rem;
  margin-top: 6rem;
  padding-left: 20rem;
}

.privacy-agreement__bullet-list > li {
  position: relative;
  padding-left: 12rem;
}

.privacy-agreement__bullet-list > li::before {
  position: absolute;
  top: 0;
  left: 0;
  content: "•";
}

.privacy-agreement__subtext {
  display: block;
  margin-top: 2rem;
}

/* Privacy Agreement Process */

.privacy-agreement__process-wrap {
  width: 100%;
  margin-top: 4rem;
  overflow-x: auto;
}

.privacy-agreement__process {
  width: 100%;
  min-width: 780rem;
  border-collapse: collapse;
  table-layout: fixed;
  font-size: var(--font-size-15);
  line-height: 1.6;
  color: #20252b;
}

.privacy-agreement__process-col--step {
  width: 25%;
}

.privacy-agreement__process-col--owner {
  width: 25%;
}

.privacy-agreement__process th,
.privacy-agreement__process td {
  padding: 13rem 10rem;
  border: 1px solid #d9dde2;
  text-align: left;
  vertical-align: middle;
}

.privacy-agreement__process th {
  padding-block: 8rem;
  background: #f7f7f7;
  font-weight: 500;
  text-align: center;
  color: #171c22;
}

.privacy-agreement__process td ul {
  display: grid;
  gap: 3rem;
}

.privacy-agreement__process td ul li::before {
  margin-right: 5rem;
  content: "-";
}

.privacy-agreement__process-arrow td {
  height: 30rem;
  padding: 0;
  border: 0;
  background: transparent;
}

.privacy-agreement__process-arrow td:first-child {
  padding-left: 50rem;
  font-size: 20rem;
  font-weight: 700;
  line-height: 1;
}

/* Privacy Agreement Legal */

.privacy-agreement__legal {
  position: relative;
  margin-top: 84rem;
  padding: 48rem 28rem 24rem;
  border: 1px solid #d9dde2;
}

.privacy-agreement__legal-title {
  position: absolute;
  top: 0;
  left: 50%;
  display: grid;
  place-items: center;
  width: min(50%, 560rem);
  min-height: 42rem;
  padding-inline: 20rem;
  border: 1px solid #d9dde2;
  background: #fff;
  font-size: var(--font-size-18);
  font-weight: 500;
  line-height: 1.4;
  text-align: center;
  color: #20252b;
  transform: translate(-50%, -50%);
}

/* Privacy Agreement Tablet */

@media (width < 1280px) {
  .privacy-agreement__section + .privacy-agreement__section {
    margin-top: 44rem;
  }

  .privacy-agreement__legal {
    margin-top: 68rem;
  }
}

/* Privacy Agreement Mobile */

@media (width < 768px) {
  .privacy-agreement__content {
    font-size: var(--font-size-14);
    line-height: 1.75;
  }

  .privacy-agreement__section + .privacy-agreement__section {
    margin-top: 36rem;
  }

  .privacy-agreement__heading {
    font-size: var(--font-size-18);
  }

  .privacy-agreement__number-list,
  .privacy-agreement__sub-number-list {
    padding-left: 28rem;
  }

  .privacy-agreement__process-wrap {
    margin-inline: -4rem;
    padding-inline: 4rem;
  }

  .privacy-agreement__process {
    min-width: 720rem;
    font-size: var(--font-size-14);
  }

  .privacy-agreement__process th,
  .privacy-agreement__process td {
    padding: 10rem;
  }

  .privacy-agreement__legal {
    margin-top: 58rem;
    padding: 42rem 18rem 20rem;
  }

  .privacy-agreement__legal-title {
    width: calc(100% - 36rem);
    min-height: 40rem;
    font-size: var(--font-size-16);
  }
}

/* Research Program */

.research-program__list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: stretch;
  gap: 24rem;
  margin-top: 44rem;
}

/* Research Card */

.research-program-card {
  display: flex;
  flex-direction: column;
  width: 100%;
  min-width: 0;
  overflow: hidden;
  background: #fff;
  border: 1px solid #dce3ea;
  border-radius: 12rem;
}

/* Research Card Header */

.research-program-card__header {
  display: grid;
  grid-template-columns: 72rem minmax(0, 1fr);
  align-items: center;
  gap: 18rem;
  min-height: 148rem;
  padding: 28rem;
  background: var(--primary);
  color: #fff;
}

.research-program-card__number {
  display: grid;
  justify-items: center;
  gap: 5rem;
  padding-right: 18rem;
  border-right: 1px solid rgb(255 255 255 / 35%);
}

.research-program-card__number span {
  font-size: var(--font-size-13);
  font-weight: 600;
  line-height: 1;
}

.research-program-card__number strong {
  font-size: var(--font-size-35);
  font-weight: 700;
  line-height: 1;
}

.research-program-card__title {
  font-size: var(--font-size-20);
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: -0.025em;
  color: #fff;
}

/* Research Card Body */

.research-program-card__body {
  flex: 1;
  padding: 32rem 28rem;
}

.research-program-card__strategies {
  display: grid;
  gap: 18rem;
}

.research-program-card__strategies li {
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: 8rem;
  padding-left: 14rem;
  font-size: var(--font-size-16);
  font-weight: 500;
  line-height: 1.65;
  letter-spacing: -0.015em;
  color: #303943;
}

.research-program-card__strategies li::before {
  position: absolute;
  top: 0.75em;
  left: 0;
  width: 4rem;
  aspect-ratio: 1;
  background: var(--primary);
  border-radius: 50%;
  content: "";
}

.research-program-card__strategy {
  flex-shrink: 0;
  font-weight: 700;
  white-space: nowrap;
  color: var(--primary);
}

/* Research Interaction */

@media (any-hover: hover) {
  .research-program-card:hover {
    border-color: var(--primary);
    box-shadow: 0 12rem 30rem rgb(27 63 108 / 8%);
    transform: translateY(-4rem);
  }
}

@media (prefers-reduced-motion: no-preference) {
  .research-program-card {
    transition:
      border-color 0.25s ease,
      box-shadow 0.25s ease,
      transform 0.25s ease;
  }
}

/* Shared Responsive Grids */

@media (width < 1280px) {
  .former-directors__list,
  .core-values__list,
  .strategy-system__list,
  .research-program__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .institute-functions__list,
  .cooperation-group__list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (width < 768px) {
  .former-directors__list,
  .institute-functions__list,
  .core-values__list,
  .strategy-system__list,
  .location-building__images,
  .privacy-toc__list,
  .research-program__list {
    grid-template-columns: 1fr;
  }

  .cooperation-group__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (width < 480px) {
  .cooperation-group__list {
    grid-template-columns: 1fr;
  }
}

/* Research Tablet */

@media (width < 1280px) {
  .research-program__item:last-child {
    grid-column: 1 / -1;
  }

  .research-program__item:last-child .research-program-card {
    max-width: calc(50% - 12rem);
    margin-inline: auto;
  }
}

/* Research Mobile */

@media (width < 768px) {
  .research-program__list {
    gap: 16rem;
    margin-top: 28rem;
  }

  .research-program__item:last-child {
    grid-column: auto;
  }

  .research-program__item:last-child .research-program-card {
    max-width: none;
    margin-inline: 0;
  }

  .research-program-card__header {
    grid-template-columns: 58rem minmax(0, 1fr);
    gap: 14rem;
    min-height: 0;
    padding: 22rem 20rem;
  }

  .research-program-card__number {
    padding-right: 14rem;
  }

  .research-program-card__number strong {
    font-size: var(--font-size-28);
  }

  .research-program-card__title {
    font-size: var(--font-size-18);
  }

  .research-program-card__body {
    padding: 22rem 20rem;
  }

  .research-program-card__strategies {
    gap: 14rem;
  }

  .research-program-card__strategies li {
    display: block;
    font-size: var(--font-size-14);
  }

  .research-program-card__strategy {
    margin-right: 4rem;
  }
}

/* Subpage Intro */

.subpage-intro {
  padding: 30rem 34rem;
  margin-bottom: 80rem;
  border-left: 3rem solid var(--primary);
  background: #f7faff;
  font-size: var(--font-size-18);
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: -0.02em;
  color: #000;
}

.subpage-intro p + p {
  margin-top: 6rem;
}

/* Subpage Detail List */

.subpage-detail-list {
  border-top: 1px solid #dce3ea;
  border-bottom: 1px solid #dce3ea;
}

.subpage-detail-list__item {
  display: grid;
  grid-template-columns: 120rem minmax(0, 1fr);
  align-items: center;
  gap: 44rem;
  padding: 48rem 24rem;
}

.subpage-detail-list__item + .subpage-detail-list__item {
  border-top: 1px solid #e5e9ed;
}

.subpage-detail-list__icon {
  display: grid;
  place-items: center;
  width: 76rem;
  aspect-ratio: 1;
  margin-inline: auto;
}

.subpage-detail-list__icon img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
}

.subpage-detail-list__content {
  min-width: 0;
}

.subpage-detail-list__title {
  margin-bottom: 14rem;
  font-size: var(--font-size-22);
  font-weight: 700;
  line-height: 1.45;
  letter-spacing: -0.025em;
  color: var(--primary);
}

.subpage-detail-list__description {
  font-size: var(--font-size-16);
  font-weight: 400;
  line-height: 1.85;
  letter-spacing: -0.015em;
  color: #333;
}

/* Subpage Feature */

.subpage-feature {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: center;
  gap: 64rem;
  margin-top: 100rem;
}

.subpage-feature--reverse .subpage-feature__media {
  order: 2;
}

.subpage-feature--reverse .subpage-feature__content {
  order: 1;
}

.subpage-feature__media {
  overflow: hidden;
  min-height: 440rem;
  border-radius: 8rem;
}

.subpage-feature__image {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 440rem;
  object-fit: cover;
}

.subpage-feature__content {
  min-width: 0;
}

.subpage-feature__title {
  position: relative;
  margin-bottom: 28rem;
  padding-top: 22rem;
  font-size: var(--font-size-35);
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: -0.04em;
  color: #101820;
}

.subpage-feature__title::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 38rem;
  height: 3rem;
  background: var(--primary);
  content: "";
}

.subpage-feature__title strong {
  font-weight: inherit;
  color: var(--primary);
}

.subpage-feature__description {
  font-size: var(--font-size-16);
  line-height: 1.85;
  letter-spacing: -0.015em;
  color: #333;
}

.subpage-feature__description p + p {
  margin-top: 24rem;
}

/* KIM */

.kim-development {
  margin-top: 0;
}

/* KIM Tablet */

@media (width < 1280px) {
  .subpage-detail-list__item {
    grid-template-columns: 90rem minmax(0, 1fr);
    gap: 30rem;
    padding: 38rem 20rem;
  }

  .subpage-detail-list__icon {
    width: 64rem;
  }

  .subpage-feature {
    gap: 40rem;
  }

  .subpage-feature__media,
  .subpage-feature__image {
    min-height: 360rem;
  }

  .subpage-feature__title {
    font-size: var(--font-size-28);
  }
}

/* KIM Mobile */

@media (width < 768px) {
  .subpage-intro {
    margin-bottom: 48rem;
    padding: 22rem 20rem;
    font-size: var(--font-size-16);
  }

  .subpage-detail-list__item {
    grid-template-columns: 52rem minmax(0, 1fr);
    align-items: start;
    gap: 18rem;
    padding: 28rem 0;
  }

  .subpage-detail-list__icon {
    width: 46rem;
    margin: 2rem 0 0;
  }

  .subpage-detail-list__title {
    margin-bottom: 10rem;
    font-size: var(--font-size-18);
  }

  .subpage-detail-list__description {
    font-size: var(--font-size-14);
    line-height: 1.75;
  }

  .subpage-feature,
  .subpage-feature--reverse {
    grid-template-columns: 1fr;
    gap: 26rem;
    margin-top: 64rem;
  }

  .subpage-feature--reverse .subpage-feature__media,
  .subpage-feature--reverse .subpage-feature__content {
    order: initial;
  }

  .subpage-feature__media,
  .subpage-feature__image {
    min-height: 240rem;
  }

  .subpage-feature__title {
    margin-bottom: 20rem;
    padding-top: 16rem;
    font-size: var(--font-size-24);
  }

  .subpage-feature__description {
    font-size: var(--font-size-14);
    line-height: 1.75;
  }

  .subpage-feature__description p + p {
    margin-top: 18rem;
  }
}

/* Management Guide */

.management-guide {
  width: 100%;
}

.director-tabs--3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.management-guide__section + .management-guide__section {
  margin-top: 80rem;
}

.management-guide__block + .management-guide__block {
  margin-top: 72rem;
}

.management-guide__text {
  font-size: var(--font-size-16);
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: -0.015em;
  color: #333;
}

.management-guide__text p + p {
  margin-top: 6rem;
}

.management-guide__definitions {
  display: grid;
  gap: 20rem;
}

.management-guide__comparison-table {
  min-width: 980rem;
}

.management-guide__comparison-table td:not(:first-child) {
  text-align: left;
}

.management-guide__minor-heading {
  margin-top: 40rem;
  margin-bottom: 14rem;
  font-size: var(--font-size-16);
  font-weight: 700;
  line-height: 1.5;
  color: #333;
}

.management-guide__claim-title {
  font-size: var(--font-size-28);
  font-weight: 500;
  line-height: 1.55;
  color: #18212a;
}

.management-guide__claim-title strong {
  font-weight: 700;
  color: var(--primary);
}

.management-guide__claim .privacy-button,
.management-guide__data-list .privacy-button {
  margin-top: 24rem;
}

.management-guide__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 14rem;
  margin-top: 36rem;
  margin-bottom: 36rem;
}

/* Shared Subheading */

.subpage-subheading {
  position: relative;
  margin-bottom: 14rem;
  padding-left: 12rem;
  font-size: var(--font-size-20);
  font-weight: 700;
  line-height: 1.5;
  color: var(--primary);
}

.subpage-subheading::before {
  position: absolute;
  top: 0.2em;
  bottom: 0.2em;
  left: 0;
  width: 3rem;
  background: var(--primary);
  content: "";
}

/* Management Guide Mobile */

@media (width < 768px) {
  .management-guide__section + .management-guide__section {
    margin-top: 56rem;
  }

  .management-guide__block + .management-guide__block {
    margin-top: 48rem;
  }

  .subpage-subheading {
    font-size: var(--font-size-18);
  }

  .management-guide__claim-title {
    font-size: var(--font-size-22);
  }

  .management-guide__actions {
    display: grid;
    grid-template-columns: 1fr;
    margin-top: 28rem;
    margin-bottom: 28rem;
  }

  .management-guide__actions .privacy-button {
    width: 100%;
  }
}

.subpage-figure {
  width: 100%;
  overflow: hidden;
}

.subpage-figure__image {
  display: block;
  width: 100%;
  height: auto;
}

/* Ethical Charter */

.ethical-charter {
  margin-bottom: 80rem;
}

.ethical-charter__list {
  display: grid;
  gap: 12rem;
}

.ethical-charter__item {
  display: grid;
  grid-template-columns: 64rem minmax(0, 1fr);
  align-items: center;
  gap: 18rem;
  min-height: 66rem;
  padding: 12rem 22rem;
  border: 1px solid #e5eaf0;
  border-radius: 8rem;
  background: #fff;
  font-size: var(--font-size-16);
  line-height: 1.7;
  color: #333;
}

.ethical-charter__label {
  display: grid;
  place-items: center;
  min-height: 40rem;
  border-radius: 999rem;
  background: var(--primary);
  font-weight: 700;
  color: #fff;
}

/* Subpage Document */

.ethical-documents {
  border-top: 1px solid #ddd;
  padding-top: 44rem;
}

.subpage-document {
  display: grid;
  grid-template-columns: 220rem minmax(0, 1fr);
  gap: 40rem;
  padding: 38rem 0;
  border-bottom: 1px solid #dce3ea;
}

.subpage-document__title {
  font-size: var(--font-size-24);
  font-weight: 700;
  line-height: 1.45;
  letter-spacing: -0.025em;
  color: #000;
}

.subpage-document__content {
  min-width: 0;
}

.subpage-document__description {
  font-size: var(--font-size-16);
  line-height: 1.8;
  letter-spacing: -0.015em;
  color: #333;
}

.subpage-document .privacy-button {
  min-width: 280rem;
  margin-top: 24rem;
  justify-content: space-between;
}

/* Ethical Tablet */

@media (width < 1280px) {
  .subpage-document {
    grid-template-columns: 180rem minmax(0, 1fr);
    gap: 30rem;
  }
}

/* Ethical Mobile */

@media (width < 768px) {
  .ethical-charter {
    margin-bottom: 56rem;
  }

  .ethical-charter__item {
    grid-template-columns: 52rem minmax(0, 1fr);
    gap: 12rem;
    padding: 14rem;
    font-size: var(--font-size-14);
  }

  .ethical-charter__label {
    min-height: 36rem;
    font-size: var(--font-size-13);
  }

  .subpage-document {
    grid-template-columns: 1fr;
    gap: 12rem;
    padding: 28rem 0;
  }

  .subpage-document__title {
    font-size: var(--font-size-20);
  }

  .subpage-document__title br {
    display: none;
  }

  .subpage-document__description {
    font-size: var(--font-size-14);
    line-height: 1.75;
  }

  .subpage-document .privacy-button {
    width: 100%;
    min-width: 0;
    margin-top: 18rem;
  }
}

/* Integrity Pledge */

.integrity-pledge {
  width: 100%;
}

.integrity-pledge__closing {
  display: grid;
  gap: 28rem;
  margin-top: 32rem;
  padding: 30rem;
  border-radius: 8rem;
  background: #f7faff;
  font-size: var(--font-size-16);
  line-height: 1.7;
  text-align: center;
  color: #333;
}

.integrity-pledge__closing strong {
  font-weight: 700;
  color: var(--primary);
}

@media (width < 768px) {
  .integrity-pledge__closing {
    gap: 20rem;
    margin-top: 24rem;
    padding: 22rem 18rem;
    font-size: var(--font-size-14);
  }
}

/* ESG Management */

.esg-management {
  width: 100%;
}

.esg-section-number {
  display: block;
  margin-bottom: 8rem;
  font-size: var(--font-size-14);
  font-weight: 700;
  color: var(--primary);
}

/* ESG Intro */

.esg-intro {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(260rem, 0.6fr);
  align-items: center;
  gap: 60rem;
  margin-bottom: 100rem;
}

.esg-intro .subpage-section-heading {
  margin-bottom: 26rem;
}

.esg-intro__title {
  margin-bottom: 22rem;
  font-size: var(--font-size-28);
  font-weight: 700;
  line-height: 1.45;
  letter-spacing: -0.03em;
  color: #174b91;
}

.esg-intro__description {
  font-size: var(--font-size-16);
  line-height: 1.8;
  letter-spacing: -0.015em;
  color: #333;
}

.esg-intro__description + .esg-intro__description {
  margin-top: 8rem;
}

.esg-intro__visual {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
}

.esg-intro__visual img {
  display: block;
  width: min(100%, 320rem);
  height: auto;
  object-fit: contain;
}

/* ESG Strategy */

.esg-strategy .subpage-section-heading {
  margin-bottom: 36rem;
}

/* ESG Summary */

.esg-summary {
  display: grid;
  gap: 10rem;
}

.esg-summary__row {
  display: grid;
  grid-template-columns: 120rem minmax(0, 1fr);
  align-items: center;
  min-height: 62rem;
  overflow: hidden;
  border: 1px solid #dce5ee;
  border-radius: 8rem;
  background: #f7faff;
}

.esg-summary__label {
  display: flex;
  align-items: center;
  justify-content: center;
  align-self: stretch;
  background: #188b95;
  font-size: var(--font-size-18);
  font-weight: 700;
  color: #fff;
}

.esg-summary__row p {
  padding: 16rem 26rem;
  font-size: var(--font-size-18);
  font-weight: 600;
  line-height: 1.5;
  color: #222;
}

/* ESG Vision */

.esg-vision {
  position: relative;
  display: flex;
  justify-content: center;
  margin: 36rem 0 42rem;
  padding: 30rem 40rem;
  border: 2rem solid #72abe7;
  border-radius: 8rem;
  background: #fff;
  text-align: center;
}

.esg-vision__label {
  position: absolute;
  top: 0;
  left: 50%;
  padding: 5rem 20rem;
  border-radius: 4rem;
  background: #1767bd;
  font-size: var(--font-size-14);
  font-weight: 700;
  color: #fff;
  transform: translate(-50%, -50%);
}

.esg-vision__title {
  font-size: var(--font-size-24);
  line-height: 1.45;
  color: #1767bd;
}

/* ESG Block */

.esg-block + .esg-block {
  margin-top: 42rem;
}

.esg-block__heading {
  margin-bottom: 16rem;
  font-size: var(--font-size-20);
  font-weight: 700;
  line-height: 1.4;
  color: #17212b;
}

/* ESG Columns */

.esg-columns,
.esg-indicators {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 44rem;
}

.esg-column,
.esg-indicator {
  overflow: hidden;
  border: 1px solid #dce3ea;
  border-radius: 8rem;
  background: #fff;
}

.esg-column__header,
.esg-indicator__title {
  padding: 12rem 18rem;
  font-size: var(--font-size-18);
  font-weight: 700;
  text-align: center;
  color: #fff;
}

.esg-column--environment .esg-column__header,
.esg-indicator--environment .esg-indicator__title {
  background: #38a35c;
}

.esg-column--social .esg-column__header,
.esg-indicator--social .esg-indicator__title {
  background: #3a95d4;
}

.esg-column--governance .esg-column__header,
.esg-indicator--governance .esg-indicator__title {
  background: #8056c5;
}

.esg-column__body {
  min-height: 140rem;
  padding: 28rem 22rem;
  text-align: center;
}

.esg-column__body strong {
  font-size: var(--font-size-20);
  font-weight: 700;
  color: #222;
}

.esg-column__body p {
  margin-top: 18rem;
  font-size: var(--font-size-16);
  line-height: 1.7;
  color: #555;
}

/* ESG Roadmap */

.esg-roadmap {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 44rem;
}

.esg-roadmap__item {
  position: relative;
  min-width: 0;
  border: 1px solid #dce3ea;
  border-radius: 8rem;
  background: #fff;
}

.esg-roadmap__item:not(:last-child)::after {
  position: absolute;
  top: 50%;
  right: -40rem;
  width: 36rem;
  height: 36rem;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='44' height='44' viewBox='0 0 44 44' fill='none'%3E%3Cpath d='M22 38.5C31.1127 38.5 38.5 31.1127 38.5 22C38.5 12.8873 31.1127 5.5 22 5.5C12.8873 5.5 5.5 12.8873 5.5 22C5.5 31.1127 12.8873 38.5 22 38.5Z' stroke='%2372A9D8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M15.125 22H28.875' stroke='%2372A9D8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M23.375 16.5L28.875 22L23.375 27.5' stroke='%2372A9D8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  content: "";
  transform: translateY(-50%);
}

.esg-roadmap__heading {
  padding: 16rem 18rem;
  background: #eaf5ef;
  font-size: var(--font-size-18);
  font-weight: 700;
  line-height: 1.45;
  color: #266f43;
  text-align: center;
}

.esg-roadmap__item:nth-child(2) .esg-roadmap__heading {
  background: #e8f3fa;
  color: #2475a4;
}

.esg-roadmap__item:nth-child(3) .esg-roadmap__heading {
  background: #e9f5fa;
  color: #28799b;
}

.esg-roadmap__heading span {
  display: block;
  font-size: var(--font-size-14);
  font-weight: 600;
}

.esg-roadmap .privacy-list {
  padding: 22rem;
}

/* ESG Indicators */

.esg-indicator .privacy-list {
  padding: 24rem;
  min-height: 320rem;
}

/* ESG Task */

.esg-task-list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 24rem;
}

.esg-task-list__item {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 62rem;
  padding: 14rem 18rem;
  border: 1px solid #cbddea;
  border-radius: 8rem;
  background: #fff;
  font-size: var(--font-size-16);
  font-weight: 600;
  line-height: 1.5;
  color: #25313b;
  text-align: center;
}

/* ESG Disclosure */

.esg-disclosure {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  overflow: hidden;
  border: 1px solid #dce3ea;
  border-radius: 8rem;
}

.esg-disclosure__item {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8rem;
  min-height: 64rem;
  padding: 14rem 20rem;
  background: #f8fafc;
  font-size: var(--font-size-16);
}

.esg-disclosure__item + .esg-disclosure__item {
  border-left: 1px solid #dce3ea;
}

.esg-disclosure__item strong {
  font-weight: 700;
  color: #222;
}

.esg-disclosure__item span {
  color: var(--primary);
}

.esg-strategy__note {
  margin-top: 24rem;
  font-size: var(--font-size-14);
  color: #777;
}

/* ESG Tablet */

@media (width < 1280px) {
  .esg-intro {
    grid-template-columns: minmax(0, 1fr) 240rem;
    gap: 36rem;
  }

  .esg-task-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* ESG Mobile */

@media (width < 768px) {
  .esg-intro {
    grid-template-columns: 1fr;
    gap: 28rem;
    margin-bottom: 64rem;
  }

  .esg-intro__visual {
    order: -1;
  }

  .esg-intro__visual img {
    width: min(70%, 240rem);
  }

  .esg-intro__title {
    font-size: var(--font-size-24);
  }

  .esg-summary__row {
    grid-template-columns: 80rem minmax(0, 1fr);
  }

  .esg-summary__row p {
    padding: 14rem 16rem;
    font-size: var(--font-size-15);
  }

  .esg-vision {
    margin: 32rem 0 36rem;
    padding: 26rem 20rem;
    border-radius: 20rem;
  }

  .esg-vision__title {
    font-size: var(--font-size-20);
  }

  .esg-columns,
  .esg-indicators,
  .esg-roadmap,
  .esg-task-list,
  .esg-disclosure {
    grid-template-columns: 1fr;
  }

  .esg-column__body,
  .esg-indicator .privacy-list {
    min-height: 0;
  }

  .esg-roadmap {
    gap: 16rem;
  }

  .esg-roadmap__item:not(:last-child)::after {
    display: none;
  }

  .esg-disclosure__item + .esg-disclosure__item {
    border-top: 1px solid #dce3ea;
    border-left: 0;
  }
}
