html.js:not(.out-of-firstview) .bl-header {
  --color: #fff !important;
  background-color: transparent;
}
html.js.scroll-down:not(.menu-open) .bl-header {
  transform: translateY(-100%);
}
html.js.scroll-top .bl-header {
  transform: translateY(0);
}

body {
  padding-top: 0;
}

.bl-main {
  min-height: 100vh;
}

.bl-eyecatch {
  position: relative;
  z-index: 0;
  color: transparent;
}
.bl-eyecatch__catchcopy {
  position: absolute;
  z-index: 1;
  inset: 0;
  margin: auto;
  display: grid;
  place-items: center;
}
.bl-eyecatch__image {
  position: relative;
  z-index: 0;
}
.bl-eyecatch__image img {
  width: 100%;
}
.bl-eyecatch__image::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: rgba(26, 26, 26, 0.3);
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
}
.bl-eyecatch__scroll {
  position: absolute;
  z-index: 2;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.bl-eyecatch__scroll .text {
  color: #fff;
  font-weight: 700;
  font-size: 0.625rem;
  --font-size: 10;
  line-height: 1;
  letter-spacing: 0.05em;
  text-indent: 0.05em;
}
.bl-eyecatch__scroll .bar {
  display: block;
  width: 1px;
  height: var(--bar-height);
  background: #eee;
  position: relative;
  z-index: 0;
}
.bl-eyecatch__scroll .bar::after {
  content: "";
  width: 100%;
  height: 14.2857142857%;
  min-height: 5px;
  background: #646464;
  position: absolute;
  top: 0;
  left: 0;
  transform: translateY(0);
  -webkit-animation: scrollbar-animation 1.8s cubic-bezier(0.215, 0.61, 0.355, 1) infinite;
          animation: scrollbar-animation 1.8s cubic-bezier(0.215, 0.61, 0.355, 1) infinite;
}
@-webkit-keyframes scrollbar-animation {
  0% {
    transform: translateY(0);
  }
  100% {
    transform: translateY(calc(var(--bar-height) * 6 / 7));
  }
}
@keyframes scrollbar-animation {
  0% {
    transform: translateY(0);
  }
  100% {
    transform: translateY(calc(var(--bar-height) * 6 / 7));
  }
}
@media print, screen and (min-width: 768.1px) {
  .bl-eyecatch__scroll .text {
    margin-bottom: 15px;
  }
  .bl-eyecatch__scroll .bar {
    --bar-height: 70px;
  }
}
@media screen and (max-width: 768px) {
  .bl-eyecatch__catchcopy {
    width: 69.0666666667vw;
  }
  .bl-eyecatch__scroll {
    --bar-height: 18.6666666667vw;
  }
  .bl-eyecatch__scroll .text {
    font-size: 3.2vw;
    margin-bottom: 4vw;
  }
}

.bl-company {
  margin: auto;
  overflow: hidden;
  position: relative;
  z-index: 0;
}
.bl-company__content {
  background: #F2F2F2;
  display: grid;
  place-items: center;
  position: relative;
  z-index: 0;
  overflow: clip;
}
.bl-company__content-inner {
  margin: auto;
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative;
  z-index: 1;
}
.bl-company__title {
  font-weight: 700;
  font-size: 37px;
  margin-block: var(--leading-trim);
  line-height: 1.4864864865;
  letter-spacing: 0.03em;
}
.bl-company__logo {
  color: #E6E6E6;
  position: absolute;
  z-index: 0;
}
.bl-company__image {
  position: relative;
  z-index: -1;
}
@media print, screen and (min-width: 768.1px) {
  .bl-company {
    margin-top: 87px;
    max-width: 1366px;
  }
  .bl-company__content {
    width: 44.8755490483%;
    height: 570px;
  }
  .bl-company__content-inner {
    width: 81.5660685155%;
  }
  .bl-company__button {
    margin-top: 50px;
  }
  .bl-company__logo {
    font-size: 350px;
    top: -27px;
    right: -32px;
  }
  .bl-company__image {
    margin-top: -443px;
    float: right;
  }
}
@media screen and (max-width: 768px) {
  .bl-company__content {
    padding: 21.0666666667vw 6.6666666667vw;
    width: 93.3333333333vw;
  }
  .bl-company__button {
    margin-top: 10vw;
    width: 100%;
  }
  .bl-company__logo {
    font-size: 70vw;
    top: -5.3333333333vw;
    right: -6vw;
  }
  .bl-company__image {
    margin-top: -7.3333333333vw;
    padding-left: 6.6666666667vw;
    width: 100%;
  }
  .bl-company__image img {
    width: 100%;
  }
}

.bl-business {
  margin: auto;
}
.bl-business__col {
  display: grid;
  place-items: center;
  position: relative;
}
.bl-business__col-title {
  font-weight: 700;
  color: #fff;
  font-size: 1.875rem;
  --font-size: 30;
  line-height: 1;
  letter-spacing: 0.11em;
  text-indent: 0.11em;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  position: absolute;
  z-index: 1;
  inset: 0;
  margin: auto;
}
.bl-business__col-title small {
  margin-top: 0.5em;
  display: block;
  font-size: 0.667em;
}
.bl-business__image img {
  width: 100%;
  transform: scale(1);
  transition: transform 0.25s;
}
.bl-business__rows {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.bl-business__row {
  position: relative;
  z-index: 0;
}
.bl-business__row-content {
  position: absolute;
  z-index: 1;
  inset: 0;
  margin: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
@media (hover: hover) {
  .bl-business__col {
    overflow: clip;
  }
  .bl-business__col:hover .bl-business__image img {
    transform: scale(1.1);
  }
}
@media print, screen and (min-width: 768.1px) {
  .bl-business {
    margin-top: 168px;
    width: 1366px;
    max-width: 100%;
  }
  .bl-business__cols {
    margin-top: 50px;
    display: flex;
    justify-content: space-between;
  }
  .bl-business__col {
    width: 50%;
  }
  .bl-business__rows {
    margin-top: 86px;
    gap: 30px;
  }
}
@media screen and (max-width: 768px) {
  .bl-business {
    margin-top: 40vw;
  }
  .bl-business__cols {
    margin-top: 6.4vw;
    width: 100%;
  }
  .bl-business__col-title {
    font-size: 6.6666666667vw;
  }
  .bl-business__rows {
    margin: 10.6666666667vw auto 0;
    gap: 5.3333333333vw;
    width: 86.6666666667vw;
  }
}

.bl-business-makken__title {
  text-align: center;
}
.bl-business-makken__title .small {
  display: block;
  margin-bottom: 1em;
  font-size: 1.125rem;
  --font-size: 18;
  line-height: 1;
  letter-spacing: 0.03em;
  text-indent: 0.03em;
}
.bl-business-makken__buttons {
  display: flex;
}
@media print, screen and (min-width: 768.1px) {
  .bl-business-makken__content {
    padding-left: 120px;
    left: auto;
    width: 639px;
    background-image: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, rgba(253, 253, 252, 0.07) 6.94%, rgba(247, 247, 244, 0.39) 38.69%, rgb(245, 245, 242) 100%);
  }
  .bl-business-makken__buttons {
    margin-top: 31px;
    justify-content: center;
    gap: 20px;
  }
  .bl-business-makken__button .icomoon {
    margin-left: 7px;
    font-size: 15px;
  }
}
@media screen and (max-width: 768px) {
  .bl-business-makken {
    padding: 10.6666666667vw 6.6666666667vw;
    width: 100%;
    background: #F5F5F2;
    display: flex;
    flex-direction: column;
  }
  .bl-business-makken__content {
    order: 2;
    width: 100%;
    position: relative;
  }
  .bl-business-makken__title {
    margin-top: 10.6666666667vw;
    width: 100%;
  }
  .bl-business-makken__title .small {
    font-size: 4vw;
  }
  .bl-business-makken__title .main {
    width: 100%;
  }
  .bl-business-makken__buttons {
    margin-top: 10.4vw;
    width: 100%;
    flex-direction: column;
    gap: 2.6666666667vw;
  }
  .bl-business-makken__button .icomoon {
    margin-left: 2.5333333333vw;
    font-size: 3.6vw;
  }
}

.bl-business-repair {
  color: #fff;
}
.bl-business-repair__title {
  font-weight: 700;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.bl-business-repair__title :is(.place, .main) {
  display: block;
}
.bl-business-repair__title .place {
  border: solid 1px #fff;
  font-size: 1.125rem;
  --font-size: 18;
  line-height: 1;
  letter-spacing: 0.03em;
  text-indent: 0.03em;
  display: grid;
  place-items: center;
}
.bl-business-repair__title .main {
  margin-top: 0.42em;
  font-size: 3.125rem;
  --font-size: 50;
  line-height: 1;
  letter-spacing: 0.1em;
  text-indent: 0.1em;
}
.bl-business-repair__description {
  padding-top: 2.6666666667em;
}
@media print, screen and (min-width: 768.1px) {
  .bl-business-repair__title .place {
    padding: 7px 0 9px;
    width: 180px;
  }
}
@media screen and (max-width: 768px) {
  .bl-business-repair__title .place {
    font-size: 4vw;
    width: 43.3333333333vw;
    height: 6.6666666667vw;
  }
  .bl-business-repair__title .main {
    font-size: 8.6666666667vw;
  }
  .bl-business-repair__description {
    padding-top: 10.6666666667vw;
    text-align: center;
  }
}

body .bl-projects__button {
  margin: auto;
}
@media print, screen and (min-width: 768.1px) {
  body .bl-projects {
    margin-top: 167px;
  }
  body .bl-projects__button {
    margin-top: 66px;
  }
}
@media screen and (max-width: 768px) {
  body .bl-projects {
    margin-top: 40.4vw;
  }
  body .bl-projects__button {
    margin-top: 10vw;
    width: 86.6666666667vw;
  }
}

.bl-helmet {
  margin: auto;
}
.bl-helmet__image img {
  width: 100%;
}
@media print, screen and (min-width: 768.1px) {
  .bl-helmet {
    margin-top: 100px;
    width: 100%;
    max-width: 1366px;
  }
}
@media screen and (max-width: 768px) {
  .bl-helmet {
    margin-top: 21.3333333333vw;
  }
}
/*# sourceMappingURL=page-index.css.map */