@charset "UTF-8";
html, body, div, span, h1, h2, h3, h4, h5, h6, p,
blockquote, pre, a, abbr, address, code, em, img, ins,
small, strong, sub, sup, dl, dt, dd, ol, ul, li,
fieldset, form, label, legend, table, caption,
tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, menu, nav, output, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font: inherit;
  vertical-align: baseline;
  box-sizing: border-box;
}

article, aside, details, figcaption, figure,
footer, header, menu, nav, section {
  display: block;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

li {
  list-style-type: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

button {
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  appearance: none;
}

html {
  font-family: "Gothic A1", sans-serif;
  font-size: 62.5%;
}

.company-profile {
  padding: clamp(9rem, 11vw, 16rem) 0 clamp(12rem, 15vw, 21rem);
  background-color: #FFFFFF;
}

.company-overview {
  display: grid;
  grid-template-columns: minmax(20rem, 0.55fr) minmax(0, 1fr);
  gap: clamp(6rem, 10vw, 15rem);
  align-items: start;
}
.company-overview > h2 {
  color: #051B27;
  font-size: clamp(2.8rem, 3vw, 4rem);
  font-weight: 700;
  line-height: 1.4;
}

.company-overview-list {
  margin: 0;
}

.company-overview-row {
  display: grid;
  grid-template-columns: 14rem minmax(0, 1fr);
  gap: 2.8rem;
  min-height: 8rem;
  padding: 2.8rem 0;
  border-bottom: 1px solid #D8E0E8;
  color: #051B27;
  font-size: 1.4rem;
  line-height: 1.9;
  letter-spacing: 0.03em;
}
.company-overview-row:first-child {
  padding-top: 0;
}
.company-overview-row dt {
  font-weight: 700;
}
.company-overview-row dd {
  margin: 0;
}
.company-overview-row ul {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
}
.company-overview-row li::before {
  margin-right: 0.6rem;
  content: "・";
}

.company-history {
  display: grid;
  grid-template-columns: minmax(20rem, 0.55fr) minmax(0, 1fr);
  gap: clamp(6rem, 10vw, 15rem);
  margin-top: clamp(9rem, 12vw, 16rem);
  padding: clamp(5rem, 6vw, 8rem);
  color: #FFFFFF;
  background-color: #0B42DB;
  background-image: linear-gradient(90deg, #0B42DB 0%, #0933A8 100%);
  border-radius: 1.6rem;
  scroll-margin-top: 10rem;
}
.company-history > h2 {
  font-size: clamp(2.8rem, 3vw, 4rem);
  font-weight: 700;
}

.company-history-list li {
  display: grid;
  grid-template-columns: 10rem minmax(0, 1fr);
  gap: 2rem;
  padding: 2.4rem 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.55);
  font-size: 1.4rem;
  line-height: 1.7;
  letter-spacing: 0.03em;
}
.company-history-list li:first-child {
  padding-top: 0;
}

.company-profile-entry {
  margin-top: 8rem;
}

@media (max-width: 960px) {
  .company-overview,
  .company-history {
    grid-template-columns: 1fr;
    gap: 4rem;
  }
  .company-history {
    padding: 4rem 2.4rem;
  }
}
@media (max-width: 480px) {
  .company-overview-row {
    grid-template-columns: 1fr;
    gap: 0.8rem;
    padding: 2.4rem 0;
  }
  .company-history-list li {
    grid-template-columns: 7rem minmax(0, 1fr);
  }
}