.company-top {
  width: 100%;
  position: relative;
  background-color: #fff;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  text-align: left;
  font-size: 9.6vw;
  color: #1a1c21;
  font-family: 'Noto Sans JP';
}

.main {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 3.125vw 0vw 0vw;
  z-index: 0;
}

.company-top-frame {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  color: #fff;
  font-family: Inter;
}

.company-top-img-parent {
  align-self: stretch;
  height: 60.625vw;
  position: relative;
  overflow: hidden;
  flex-shrink: 0;
}

.company-top-img {
  position: absolute;
  /* top: -18.969vw; */
  top: 0vw;
  width: 100%;
  height: 100%;
  object-fit: cover;
  flex-shrink: 0;
}

.top-image-mask {
  position: absolute;
  top: 0vw;
  left: 0vw;
  background-color: #1a1c21;
  width: 100.531vw;
  height: 75.625vw;
  opacity: 0.2;
  flex-shrink: 0;
}

.about-us {
  position: absolute;
  top: 27.635vw;
  left: 4.25vw;
  font-weight: 600;
  flex-shrink: 0;
  font-size: 19vw;
}

.top-message-wrapper {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 0vw 2.5vw;
  margin-top: -4vw;
  left: 4vw;
  position: relative;
  font-size: 1.667vw;
  font-family: 'Noto Sans JP';
}

.top-message-parent {
  border-radius: 3.233vw;
  background: linear-gradient(267.36deg, #a0d8ec, #0288d1 28.04%, #004fc5);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 2.042vw 4.084vw;
}

.top-message {
  position: relative;
  letter-spacing: 0.05vw;
  line-height: 150%;
  font-weight: 900;
  font-size: 8.5vw;
}

.breadcrumbs-parent,
.text-link,
.current-wrapper {
  display: contents;
}

.breadcrumbs-wrapper {
  align-self: stretch;
  background-color: #fff;
  overflow: hidden;
  display: flex;
  align-items: center;
  padding: 2.50vw 6.00vw;
  margin-top: 4vw;
  margin-bottom: 10vw;
  gap: 12px;
  font-size: 3.021vw;
}

.breadcrumbs-top {
  position: relative;
  cursor: pointer;
}

.icnext12pxnon-flame-icon {
  width: 0.313vw;
  position: relative;
  max-height: 100%;
}

.breadcrumbs-current {
  position: relative;
  color: #6b7075;
  font-size: 3.021vw;
}

.main-inner {
  align-self: stretch;
  background-color: #fff;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 4.167vw 1.25vw;
  margin: 4.167vw 1.25vw;
  font-size: 4.042vw;
}

.frame-group {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 32px;
  max-width: 100%;
}

.child-parent {
  align-self: stretch;
  border-radius: 0.833vw;
  background-color: #fff;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  cursor: pointer;
}

.child-parent>a {
  display: block;
  width: 90vw;
  margin: 0 auto;
}

.child,
.child2 {
  display: block;
  align-self: stretch;
  width: 85vw;
  margin: 0 auto;
  position: relative;
  border-radius: 4.833vw;
  overflow: hidden;
  flex-shrink: 0;
  object-fit: cover;

}

.inner,
.inner2 {
  align-self: stretch;
  border-radius: 0vw 0vw 0.833vw 0.833vw;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 1.25vw 0.833vw;
}

.frame-container,
.frame-container2 {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  margin: 4vw 0 8vw 5vw;
  gap: 16px;
}

.card-container,
.card-container2 {
  align-self: stretch;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}

.card-title {
  position: relative;
  font-size: 5vw;
}

.frame-item {
  height: 8.938vw;
  width: 16.042vw;
  margin-right: 2vw;
}

.card-content {
  align-self: stretch;
  position: relative;
  font-size: 3.8vw;
  line-height: 180%;
  margin-right: 7vw;
}

.child-parent2 {
  align-self: stretch;
  border-radius: 0.833vw;
  background-color: #fff;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  cursor: pointer;
  font-size: 0.781vw;
  padding-bottom: 6vw;
}

.small-span {
  font-size: 3vw;
}

.span {
  font-size: 5vw;
}

.card-frames {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  margin: 0 4vw;
  margin-bottom: 8vw;
  gap: 32px;
}

.card-frame {
  align-self: stretch;
  background-color: #fff;
  border-bottom: 0.052vw solid #e3e3e3;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  padding: 0vw 0.833vw;
  cursor: pointer;
}

.card-frame .card-container{
  padding-bottom: 3vw;
}

.card-frame .card-container .frame-item {
  position: relative;
  left: 5vw;
}

.card-container-parent {
  align-self: stretch;
  border-radius: 0.833vw;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 1.667vw 0vw;
}

.card-container-wrapper {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.child-parent2 .child,
.child-parent2 .child2 {
  margin-left: 5vw;
}


#header {
  height: 10vw;
}
