section.pageTitle {
  position: relative;
  padding: 3.75rem 1rem;
  color: #ffffff;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  section.pageTitle {
    padding: 3.75rem 0;
  }
}
section.pageTitle .pageTitle__inner {
  position: relative;
}
@media screen and (max-width: 767px) {
  section.pageTitle .pageTitle__inner .h1.corporate_common .h1__content {
    font-size: 2rem;
  }
}
@media screen and (min-width: 768px) {
  section.pageTitle .pageTitle__inner .h1.corporate_common .h1__hr {
    background-color: #ffffff;
  }
}
section.pageTitle .pageTitle__inner .pageTitle__autoplay {
  position: absolute;
  right: 0;
  bottom: -2.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.25rem;
  height: 1.25rem;
}
section.pageTitle .pageTitle__inner .pageTitle__autoplay .pageTitle__autoplayPauseIcon,
section.pageTitle .pageTitle__inner .pageTitle__autoplay .pageTitle__autoplayPlayIcon {
  position: absolute;
  color: #d8dce0;
  width: 0.875rem;
  height: 1rem;
}
section.pageTitle .pageTitle__inner .pageTitle__autoplay .pageTitle__autoplayPlayIcon {
  display: none;
}
section.pageTitle .pageTitle__inner .pageTitle__autoplay.paused .pageTitle__autoplayPlayIcon {
  display: initial;
}
section.pageTitle .pageTitle__inner .pageTitle__autoplay.paused .pageTitle__autoplayPauseIcon {
  display: none;
}
section.pageTitle .pageTitle__slider {
  position: absolute;
  inset: 0;
  background-color: #000000;
}
section.pageTitle .pageTitle__slider .pageTitle__sliderItem {
  position: absolute;
  inset: 0;
  opacity: 0;
  visibility: hidden;
  transition:
    opacity 2s cubic-bezier(0.4, 0, 0.2, 1),
    visibility 2s cubic-bezier(0.4, 0, 0.2, 1);
}
section.pageTitle .pageTitle__slider .pageTitle__sliderItem img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
section.pageTitle .pageTitle__slider .pageTitle__sliderItem.active {
  opacity: 1;
  visibility: visible;
}

section.anchors {
  margin-top: 3.75rem;
}
@media screen and (min-width: 768px) {
  section.anchors {
    margin: 4.375rem auto 0;
  }
}
section.anchors .anchors__inner {
  width: 100%;
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.25rem;
  padding: 0 1.25rem;
}
@media screen and (min-width: 768px) {
  section.anchors .anchors__inner {
    margin: 5rem auto 0;
    grid-template-columns: repeat(3, 1fr);
    gap: 2.25rem;
    max-width: 61.25rem;
    padding: 0;
  }
}
section.anchors .anchors__item {
  height: 6.25rem;
  display: flex;
  align-items: center;
  border: 1px solid #9ea3a6;
  border-radius: 0.25rem;
  padding: 1.25rem;
  gap: 1rem;
  transition:
    background-color 0.2s ease-in-out,
    border-color 0.2s ease-in-out;
}
@media screen and (min-width: 768px) {
  section.anchors .anchors__item {
    border-radius: 0.25rem;
    height: 11.9375rem;
    flex-direction: column;
    justify-content: center;
    padding: 0;
    gap: 0;
  }
  section.anchors .anchors__item:hover {
    background-color: #d8dce0;
    border-color: #d8dce0;
  }
}
section.anchors .anchors__item .anchors__itemIcon svg {
  display: block;
  flex-shrink: 0;
  width: 5rem;
  height: 3.75rem;
}
@media screen and (min-width: 768px) {
  section.anchors .anchors__item.anchors__item--01 .anchors__itemIcon svg {
    width: 5.8125rem;
    height: 4.6875rem;
  }
}
@media screen and (min-width: 768px) {
  section.anchors .anchors__item.anchors__item--02 .anchors__itemIcon svg {
    width: 5.625rem;
    height: 4.6875rem;
  }
}
@media screen and (min-width: 768px) {
  section.anchors .anchors__item.anchors__item--03 .anchors__itemIcon svg {
    width: 3.125rem;
    height: 4.6875rem;
  }
}
section.anchors .anchors__item .anchors__itemTitle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  width: 100%;
}
@media screen and (min-width: 768px) {
  section.anchors .anchors__item .anchors__itemTitle {
    margin-top: 1.75rem;
    justify-content: center;
  }
}
section.anchors .anchors__item .anchors__itemTitle span {
  font-weight: 500;
  font-size: 1.125rem;
  line-height: 1.4;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  section.anchors .anchors__item .anchors__itemTitle span {
    line-height: 1;
    letter-spacing: 0.08em;
  }
}
section.anchors .anchors__item .anchors__itemTitle svg {
  width: 1.5rem;
  height: 1.5rem;
  display: block;
  flex-shrink: 0;
}

section.civil {
  background-color: #f5f6f7;
  padding: 3.75rem 1rem 0.625rem;
  margin-top: 3.75rem;
}
@media screen and (min-width: 768px) {
  section.civil {
    padding: 5rem 0 0.625rem;
    margin-top: 5rem;
  }
}
section.civil .civil__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.125rem;
  margin-top: 2.4375rem;
}
@media screen and (min-width: 768px) {
  section.civil .civil__grid {
    grid-template-columns: repeat(4, 1fr);
    column-gap: 2.25rem;
    row-gap: 1.25rem;
    margin-top: 2.5rem;
  }
}
@media screen and (max-width: 767px) {
  section.civil .civil__grid .s_button_icon.corporate_common span:first-child {
    display: none;
  }
}

section.trackRecord {
  margin-top: 3.75rem;
  padding: 0 1rem;
}
@media screen and (min-width: 768px) {
  section.trackRecord {
    padding: 0;
  }
}
section.trackRecord .trackRecord__profile {
  margin-top: 2.5rem;
}
section.trackRecord .h2 {
  margin-top: 5rem;
}
section.trackRecord .trackRecord__content {
  margin-top: 2.5rem;
}
section.trackRecord .trackRecord__content .trackRecord__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  column-gap: 1.25rem;
  row-gap: 1.6875rem;
}
@media screen and (min-width: 768px) {
  section.trackRecord .trackRecord__content .trackRecord__grid {
    grid-template-columns: repeat(4, 1fr);
    gap: 2.25rem;
  }
}
section.trackRecord .trackRecord__content .trackRecord__grid .trackRecord__item {
  display: flex;
  flex-direction: column;
  height: 100%;
}
section.trackRecord .trackRecord__content .trackRecord__grid .trackRecord__item .card.corporate_common .card__thumb {
  aspect-ratio: 1/1;
}
section.trackRecord
  .trackRecord__content
  .trackRecord__grid
  .trackRecord__item
  .card.corporate_common
  .card__titleContent {
  font-weight: 700;
}
section.trackRecord .trackRecord__content .trackRecord__grid .trackRecord__item .trackRecord__itemLeading {
  margin-top: auto;
  padding-top: 0.75rem;
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.2;
  letter-spacing: 0.05em;
  color: #595757;
}
section.trackRecord .trackRecord__button {
  margin-top: 3.5rem;
  display: flex;
  justify-content: center;
}
@media screen and (min-width: 768px) {
  section.trackRecord .trackRecord__button {
    margin-top: 4rem;
  }
}

section.archTech {
  background-color: #f5f6f7;
  padding: 4.375rem 1rem 0;
}
@media screen and (min-width: 768px) {
  section.archTech {
    padding: 4.375rem 0 0;
  }
}
section.archTech .archTech__grid {
  margin-top: 1.875rem;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  column-gap: 1.125rem;
}
@media screen and (min-width: 768px) {
  section.archTech .archTech__grid {
    column-gap: 2.25rem;
    grid-template-columns: repeat(4, 1fr);
  }
}
section.archTech .archTech__grid .collapse_panel.corporate_common.collapse_panel--template .collapse_panel__inner {
  margin: 0.625rem 0;
}
section.archTech .archTech__grid .archTech__gridTrigger {
  padding: 0.625rem 0;
}
section.archTech .archTech__grid .archTech__gridPanel {
  grid-column: span 2;
  order: var(--sp-order);
}
@media screen and (min-width: 768px) {
  section.archTech .archTech__grid .archTech__gridPanel {
    grid-column: span 4;
    order: var(--pc-order);
  }
}
section.archTech .archTech__grid .archTech__movieGrid {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  column-gap: 0.875rem;
  row-gap: 1.25rem;
  padding-bottom: 1.5rem;
}
@media screen and (min-width: 768px) {
  section.archTech .archTech__grid .archTech__movieGrid {
    grid-template-columns: repeat(4, 1fr);
    gap: 2.25rem;
    padding-bottom: 2.125rem;
  }
}

.newsite .archTechModal {
  padding: 0 1rem;
  color: #ffffff;
  display: flex;
  flex-direction: column;
}
@media screen and (min-width: 768px) {
  .newsite .archTechModal {
    padding: 2.5rem 6.875rem;
  }
}
.newsite .archTechModal[aria-hidden='true'] {
  display: none;
}
.newsite .archTechModal .archTechModal__title {
  font-weight: 500;
  font-size: 1.25rem;
  line-height: 1.4;
  letter-spacing: 0.08em;
  order: 10;
}
.newsite .archTechModal .archTechModal__video {
  width: 100%;
  max-width: 68.75rem;
  aspect-ratio: 16/9;
  margin-top: 2rem;
  order: 20;
}
.newsite .archTechModal .archTechModal__video iframe {
  width: 100%;
  height: 100%;
}
.newsite .archTechModal .archTechModal__text {
  margin-top: 2rem;
  font-weight: 500;
  font-size: 1.125rem;
  line-height: 1.4;
  letter-spacing: 0.05em;
  border-bottom: 1px solid #9ea3a6;
  border-top: 1px solid #9ea3a6;
  padding: 1.5rem 0.5rem;
  order: 15;
}
@media screen and (min-width: 768px) {
  .newsite .archTechModal .archTechModal__text {
    order: 30;
    line-height: 1.85;
    letter-spacing: 0.08em;
    margin-top: 2.5rem;
    border-top: none;
    padding: 0 0 2rem;
  }
}
.newsite .archTechModal .archTechModal__caption {
  margin-top: 1.25rem;
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.85;
  letter-spacing: 0.08em;
  order: 40;
}
@media screen and (min-width: 768px) {
  .newsite .archTechModal .archTechModal__caption {
    margin-top: 2.5rem;
  }
}
.newsite .archTechModal blockquote {
  order: 50;
  margin-top: 2rem;
  border: 1px solid #9ea3a6;
  padding: 1.5rem 0.75rem;
}
@media screen and (min-width: 768px) {
  .newsite .archTechModal blockquote {
    margin-top: 3rem;
    padding: 2rem;
  }
}
.newsite .archTechModal blockquote dl {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
@media screen and (min-width: 768px) {
  .newsite .archTechModal blockquote dl {
    display: grid;
    grid-template-columns: max-content 1fr;
    column-gap: 2.5rem;
    row-gap: 1.25rem;
  }
}
.newsite .archTechModal blockquote dl dt {
  font-weight: 500;
  font-size: 1.125rem;
  line-height: 1.4;
  letter-spacing: 0.08em;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .newsite .archTechModal blockquote dl dt {
    text-align: left;
  }
}
.newsite .archTechModal blockquote dl dt:not(:first-child) {
  margin-top: 1.25rem;
}
@media screen and (min-width: 768px) {
  .newsite .archTechModal blockquote dl dt:not(:first-child) {
    margin-top: 0;
  }
}
.newsite .archTechModal blockquote dl dd {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 1.25rem;
}
@media screen and (min-width: 768px) {
  .newsite .archTechModal blockquote dl dd {
    justify-content: flex-start;
  }
}
.newsite .archTechModal blockquote dl dd .tag.corporate_common {
  color: #ffffff;
}

.newsite * {
  scroll-margin-top: -5px;
}
