.bl-title-area {
  background: #595757;
  color: #fff;
  overflow: clip;
}
.bl-title-area__inner {
  margin: auto;
  display: flex;
  align-items: center;
  position: relative;
  z-index: 0;
}
.bl-title-area__title {
  font-weight: 700;
}
.bl-title-area__title :is(.en, .ja) {
  display: block;
}
.bl-title-area__title .ja {
  font-size: 3.125rem;
  --font-size: 50;
  line-height: 1;
  letter-spacing: 0.07em;
}
.bl-title-area__title .en {
  margin-top: 0.7em;
  font-size: 1.25rem;
  --font-size: 20;
  line-height: 1;
  letter-spacing: 0.04em;
}
.bl-title-area__logo {
  color: #504E4E;
  position: absolute;
  z-index: -1;
}
@media print, screen and (min-width: 768.1px) {
  .bl-title-area {
    margin-bottom: 100px;
  }
  .bl-title-area__inner {
    max-width: 1366px;
    height: 230px;
  }
  .bl-title-area__title {
    padding-left: 13.17715959%;
  }
  .bl-title-area__logo {
    font-size: 500px;
    right: -8px;
    top: -110px;
  }
}
@media screen and (max-width: 768px) {
  .bl-title-area {
    margin-bottom: 10.6666666667vw;
  }
  .bl-title-area__inner {
    padding-left: 6.6666666667vw;
    height: 26.6666666667vw;
  }
  .bl-title-area__title .ja {
    font-size: 6.6666666667vw;
  }
  .bl-title-area__title .en {
    font-size: 2.6666666667vw;
  }
  .bl-title-area__logo {
    font-size: 56vw;
    right: -0.9333333333vw;
    top: -12vw;
  }
}

.bl-message {
  margin: auto;
}
.bl-message__description {
  margin: auto;
  font-size: 15px;
  margin-block: var(--leading-trim);
  line-height: 2.3333333333;
  text-align: justify;
  white-space: pre-line;
}
.bl-message__author {
  margin: auto;
  display: flex;
  align-items: center;
  justify-content: flex-end;
}
.bl-message__author .role {
  font-size: 0.9375rem;
  --font-size: 15;
}
.bl-message__author .name {
  margin-left: 1em;
  font-size: 1.875rem;
  --font-size: 30;
  line-height: 1;
  letter-spacing: 0.07em;
}
@media print, screen and (min-width: 768.1px) {
  .bl-message {
    width: 100%;
    max-width: 1366px;
  }
  .bl-message__image {
    margin-top: 40px;
  }
  .bl-message__description, .bl-message__author {
    padding-inline: 10px;
    max-width: 870px;
  }
  .bl-message__description {
    padding-top: 60px;
  }
  .bl-message__author {
    margin-top: 60px;
  }
}
@media screen and (max-width: 768px) {
  .bl-message__image {
    margin-top: 10.4vw;
  }
  .bl-message__description, .bl-message__author {
    width: 86.6666666667vw;
  }
  .bl-message__description {
    margin-top: 10.6666666667vw;
    font-size: 4vw;
  }
  .bl-message__author {
    margin-top: 10.4vw;
  }
  .bl-message__author .role {
    font-size: 4vw;
  }
  .bl-message__author .name {
    font-size: 5.3333333333vw;
  }
}

.bl-our-works {
  margin: auto;
  position: relative;
  z-index: 0;
}
.bl-our-works::after {
  content: "";
  display: block;
  width: 100vw;
  height: 100%;
  background: #F2F2F2;
  position: absolute;
  z-index: -1;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
}
.bl-our-works__description {
  white-space: pre-line;
}
.bl-our-works__illust {
  margin: auto;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
@media print, screen and (min-width: 768.1px) {
  .bl-our-works {
    margin-top: 120px;
    padding: 182px 10px 120px;
    width: 870px;
    max-width: 100%;
  }
  .bl-our-works__illust {
    margin-top: 60px;
  }
}
@media screen and (max-width: 768px) {
  .bl-our-works {
    margin-top: 21.3333333333vw;
    padding: 22vw 0 21.3333333333vw;
  }
  .bl-our-works__description {
    margin-inline: auto;
    padding-top: 10.1333333333vw;
    width: 86.6666666667vw;
  }
  .bl-our-works__illust {
    padding-top: 8vw;
    width: 69.3333333333vw;
  }
}

.bl-company-profile {
  margin: auto;
}
.bl-company-profile__list {
  display: flex;
  flex-wrap: wrap;
}
.bl-company-profile__type {
  border: solid 1px #03863E;
  border-width: 1px 0 0 0;
  width: var(--type-width);
  font-weight: 700;
}
.bl-company-profile__data {
  border: solid 1px #CCCBCB;
  border-width: 1px 0 0 0;
  width: calc(100% - var(--type-width));
}
.bl-company-profile__data .inner {
  white-space: pre-line;
}
.bl-company-profile__data .map {
  border: solid 1px transparent;
  color: #fff;
  background: #B3B3B3;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: color 0.25s, background-color 0.25s, border-color 0.25s;
}
.bl-company-profile__type:last-of-type, .bl-company-profile__data:last-of-type {
  border-bottom-width: 1px;
}
@media (hover: hover) {
  .bl-company-profile__data .map:hover {
    border-color: #B3B3B3;
    color: #B3B3B3;
    background-color: #fff;
  }
}
@media print, screen and (min-width: 768.1px) {
  .bl-company-profile {
    --type-width: 29.4117647059%;
    margin-top: 172px;
    width: 100%;
    max-width: 850px;
  }
  .bl-company-profile__list {
    margin-top: 58px;
    font-size: 0.9375rem;
    --font-size: 15;
    line-height: 1.8666666667;
  }
  .bl-company-profile__type, .bl-company-profile__data {
    padding: 30px 0;
  }
  .bl-company-profile__data {
    padding-left: 30px;
  }
  .bl-company-profile__data .map {
    margin-left: 14px;
    width: 100px;
    height: 20px;
    font-size: 12px;
  }
}
@media screen and (max-width: 768px) {
  .bl-company-profile {
    --type-width: 27.6923076923%;
    margin-top: 21.3333333333vw;
    width: 86.6666666667vw;
  }
  .bl-company-profile__list {
    margin-top: 10.4vw;
    font-size: 1.875rem;
    --font-size: 30;
    line-height: 1.6666666667;
    font-size: 4vw;
  }
  .bl-company-profile__type, .bl-company-profile__data {
    padding: 6.6666666667vw 0;
    display: flex;
    align-items: center;
  }
  .bl-company-profile__type {
    font-feature-settings: "palt";
  }
  .bl-company-profile__data {
    padding-left: 6.6666666667vw;
  }
  .bl-company-profile__data .map {
    display: grid;
    margin-block: 1vw;
    width: 32vw;
    height: 6.6666666667vw;
    font-size: 4vw;
  }
}
/*# sourceMappingURL=page-company.css.map */