@charset "UTF-8";
@font-face {
  font-family: "NotoSansJP";
  font-style: normal;
  font-weight: 400;
  src: url("../fonts/NotoSansJP-Regular.woff") format("woff");
  font-display: swap;
}
@font-face {
  font-family: "NotoSansJP";
  font-style: normal;
  font-weight: 500;
  src: url("../fonts/NotoSansJP-Medium.woff") format("woff");
  font-display: swap;
}
@font-face {
  font-family: "NotoSansJP";
  font-style: normal;
  font-weight: 600;
  src: url("../fonts/NotoSansJP-Bold.woff") format("woff");
  font-display: swap;
}
@font-face {
  font-family: "NotoSansJP";
  font-style: normal;
  font-weight: 900;
  src: url("../fonts/NotoSansJP-Black.woff") format("woff");
  font-display: swap;
}
@font-face {
  font-family: "NotoSerifJP";
  font-style: normal;
  font-weight: 400;
  src: url("../fonts/NotoSerifJP-Regular.woff") format("woff");
  font-display: swap;
}
@font-face {
  font-family: "NotoSerifJP";
  font-style: normal;
  font-weight: 500;
  src: url("../fonts/NotoSerifJP-Medium.woff") format("woff");
  font-display: swap;
}
@font-face {
  font-family: "NotoSerifJP";
  font-style: normal;
  font-weight: 600;
  src: url("../fonts/NotoSerifJP-Bold.woff") format("woff");
  font-display: swap;
}
@font-face {
  font-family: "NotoSerifJP";
  font-style: normal;
  font-weight: 900;
  src: url("../fonts/NotoSerifJP-Black.woff") format("woff");
  font-display: swap;
}
body {
  font-size: 16px;
  font-weight: 500;
  font-family: "NotoSansJP", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "游ゴシック", YuGothic, "Yu Gothic", "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;
}
@media screen and (max-width: 1050px) {
  body {
    font-size: 1.5188556567vw;
  }
}
@media screen and (max-width: 768px) {
  body {
    font-size: 3.7333333333vw;
  }
}

.sec__inner {
  width: 1000px;
  margin: 0 auto;
}
@media screen and (max-width: 1050px) {
  .sec__inner {
    width: 94.9284785436vw;
  }
}
@media screen and (max-width: 768px) {
  .sec__inner {
    width: calc(100% - 10.6666666667vw);
  }
}

img {
  height: auto;
  display: block;
}

.mincho {
  font-family: "NotoSerifJP", "游明朝", YuMincho, "Yu Mincho", "ヒラギノ明朝 ProN W3", "HiraMinProN-W3", "ＭＳ 明朝", serif;
}

@media screen and (max-width: 768px) {
  .pc {
    display: none;
  }
}

.sp {
  display: none;
}
@media screen and (max-width: 768px) {
  .sp {
    display: block;
  }
}

header {
  position: fixed;
  top: 0;
  z-index: 9999;
  width: 100%;
}

.header__inner {
  padding: 16px 40px 0;
}
@media screen and (max-width: 1050px) {
  .header__inner {
    padding: 1.5188556567vw 3.7971391417vw 0;
  }
}
@media screen and (max-width: 768px) {
  .header__inner {
    padding: 4.2666666667vw 5.3333333333vw 0;
  }
}

.header__logo {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.header__logo a img {
  width: 33px;
}
@media screen and (max-width: 1050px) {
  .header__logo a img {
    width: 3.1326397919vw;
  }
}
@media screen and (max-width: 768px) {
  .header__logo a img {
    width: 6.6666666667vw;
  }
}

.footer__copy {
  font-size: 14px;
  font-weight: 400;
  text-align: center;
  padding: 0 0 40px;
}
@media screen and (max-width: 1050px) {
  .footer__copy {
    font-size: 1.3289986996vw;
    padding: 0 0 3.7971391417vw;
  }
}
@media screen and (max-width: 768px) {
  .footer__copy {
    font-size: 3.2vw;
    padding: 0 0 6.4vw;
  }
}

.title__basic {
  font-size: 80px;
  font-weight: 400;
  line-height: 100px;
  display: flex;
  flex-direction: column;
  gap: 21px 0;
}
@media screen and (max-width: 1050px) {
  .title__basic {
    font-size: 7.5942782835vw;
    line-height: 9.4928478544vw;
    gap: 1.9934980494vw 0;
  }
}
@media screen and (max-width: 768px) {
  .title__basic {
    font-size: 10.6666666667vw;
    line-height: 13.3333333333vw;
    gap: 4.8vw 0;
  }
}

.title__basic--ja {
  font-size: 25px;
}
@media screen and (max-width: 1050px) {
  .title__basic--ja {
    font-size: 2.3732119636vw;
  }
}
@media screen and (max-width: 768px) {
  .title__basic--ja {
    font-size: 5.3333333333vw;
  }
}

.kv {
  position: relative;
}

.kv__img {
  width: 100%;
  height: 800px;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 1050px) {
  .kv__img {
    height: 75.9427828349vw;
  }
}
@media screen and (max-width: 768px) {
  .kv__img {
    height: 100vh;
  }
}

.kv__logo {
  position: absolute;
  inset: 0;
  top: -100px;
  margin: auto;
  width: 473px;
}
@media screen and (max-width: 1050px) {
  .kv__logo {
    top: -9.4928478544vw;
    width: 44.9011703511vw;
  }
}
@media screen and (max-width: 768px) {
  .kv__logo {
    top: -18.6666666667vw;
    width: 61.3333333333vw;
  }
}

.kv__scroll {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 80px;
  padding: 0 0 96px;
  margin: auto;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
}
@media screen and (max-width: 1050px) {
  .kv__scroll {
    bottom: 7.5942782835vw;
    padding: 0 0 9.1131339402vw;
  }
}
@media screen and (max-width: 768px) {
  .kv__scroll {
    bottom: 16vw;
    padding: 0 0 17.6vw;
  }
}
.kv__scroll::after {
  content: "";
  width: 1px;
  height: 80px;
  background: #fff;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
}
@media screen and (max-width: 1050px) {
  .kv__scroll::after {
    height: 7.5942782835vw;
  }
}
@media screen and (max-width: 768px) {
  .kv__scroll::after {
    height: 13.3333333333vw;
  }
}
.kv__scroll p {
  font-size: 16px;
  font-weight: 400;
  color: #fff;
}
@media screen and (max-width: 1050px) {
  .kv__scroll p {
    font-size: 1.5188556567vw;
  }
}
@media screen and (max-width: 768px) {
  .kv__scroll p {
    font-size: 3.7333333333vw;
  }
}

#main .section {
  padding: 120px 0 0;
  position: relative;
}
@media screen and (max-width: 1050px) {
  #main .section {
    padding: 11.3914174252vw 0 0;
  }
}
@media screen and (max-width: 768px) {
  #main .section {
    padding: 16vw 0 0;
  }
}
#main .section::after {
  content: "";
  width: 100%;
  height: 1px;
  background: #000;
  position: absolute;
  top: 420px;
}
@media screen and (max-width: 1050px) {
  #main .section::after {
    top: 39.8699609883vw;
  }
}
@media screen and (max-width: 768px) {
  #main .section::after {
    top: 56.2666666667vw;
  }
}

.main__text {
  font-size: 16px;
  line-height: 40px;
  width: 560px;
}
@media screen and (max-width: 1050px) {
  .main__text {
    font-size: 1.5188556567vw;
    line-height: 3.7971391417vw;
    width: 53.1599479844vw;
  }
}
@media screen and (max-width: 768px) {
  .main__text {
    font-size: 3.2vw;
    line-height: 6.4vw;
    width: 72vw;
  }
}

.main__border {
  width: 845px;
  display: flex;
  flex-direction: column;
  gap: 93px 0;
}
@media screen and (max-width: 1050px) {
  .main__border {
    width: 80.2145643693vw;
    gap: 8.8283485046vw 0;
  }
}
@media screen and (max-width: 768px) {
  .main__border {
    width: 80vw;
    gap: 16vw 0;
  }
}
.main__border.--right {
  border-right: 1px solid #000;
}
.main__border.--left {
  text-align: right;
  align-items: flex-end;
  border-left: 1px solid #000;
  margin: 0 0 0 auto;
}

.main__img {
  margin: 30px auto 0;
}
@media screen and (max-width: 1050px) {
  .main__img {
    margin: 2.8478543563vw auto 0;
  }
}
@media screen and (max-width: 768px) {
  .main__img {
    margin: 8vw auto 0;
  }
}
.main__img img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 540px;
}
@media screen and (max-width: 1050px) {
  .main__img img {
    height: 51.2613784135vw;
  }
}
@media screen and (max-width: 768px) {
  .main__img img {
    height: 36vw;
  }
}

#service {
  position: relative;
}
#service::after {
  content: "";
  width: 100%;
  height: 1px;
  background: #000;
  position: absolute;
  top: 381px;
  left: 0;
  z-index: -1;
}
@media screen and (max-width: 1050px) {
  #service::after {
    top: 36.1677503251vw;
  }
}
@media screen and (max-width: 768px) {
  #service::after {
    top: 57.8666666667vw;
  }
}
#service .section {
  padding: 123px 0 0;
}
@media screen and (max-width: 1050px) {
  #service .section {
    padding: 11.6762028609vw 0 0;
  }
}
@media screen and (max-width: 768px) {
  #service .section {
    padding: 16vw 0 0;
  }
}
#service .title__basic {
  margin: 0 0 25px;
}
@media screen and (max-width: 1050px) {
  #service .title__basic {
    margin: 0 0 2.3732119636vw;
  }
}
@media screen and (max-width: 768px) {
  #service .title__basic {
    margin: 0 0 4.2666666667vw;
  }
}

.service__list {
  position: relative;
  overflow: scroll;
  padding: 0 0 20px;
}
@media screen and (max-width: 1050px) {
  .service__list {
    padding: 0 0 1.8985695709vw;
  }
}
@media screen and (max-width: 768px) {
  .service__list {
    padding: 0 0 4.2666666667vw;
  }
}
.service__list ul {
  display: flex;
  gap: 0 20px;
  justify-content: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: 0 80px 0 0;
}
@media screen and (max-width: 1050px) {
  .service__list ul {
    gap: 0 1.8985695709vw;
    padding: 0 7.5942782835vw 0 0;
  }
}
@media screen and (max-width: 768px) {
  .service__list ul {
    gap: 0 6.4vw;
    padding: 0 5.3333333333vw 0 0;
  }
}
.service__list ul li {
  width: 260px;
}
@media screen and (max-width: 1050px) {
  .service__list ul li {
    width: 24.6814044213vw;
  }
}
@media screen and (max-width: 768px) {
  .service__list ul li {
    width: 48vw;
  }
}
.service__list ul li img {
  width: 100%;
}

.service__title {
  font-size: 23px;
  margin: 24px auto 16px;
}
@media screen and (max-width: 1050px) {
  .service__title {
    font-size: 2.1833550065vw;
    margin: 2.278283485vw auto 1.5188556567vw;
  }
}
@media screen and (max-width: 768px) {
  .service__title {
    font-size: 4.8vw;
    margin: 4.2666666667vw auto 2.1333333333vw;
  }
}

.service__text {
  font-size: 14px;
  font-weight: 400;
  line-height: 25px;
}
@media screen and (max-width: 1050px) {
  .service__text {
    font-size: 1.3289986996vw;
    line-height: 2.3732119636vw;
  }
}
@media screen and (max-width: 768px) {
  .service__text {
    font-size: 3.2vw;
    line-height: 5.8666666667vw;
  }
}

#works .section {
  padding: 168px 0 0;
}
@media screen and (max-width: 1050px) {
  #works .section {
    padding: 15.9479843953vw 0 0;
  }
}
@media screen and (max-width: 768px) {
  #works .section {
    padding: 16vw 0 0;
  }
}
#works .title__basic {
  margin: 0 0 25px;
}
@media screen and (max-width: 1050px) {
  #works .title__basic {
    margin: 0 0 2.3732119636vw;
  }
}
@media screen and (max-width: 768px) {
  #works .title__basic {
    margin: 0 0 4.2666666667vw;
  }
}

.works__list {
  overflow: scroll;
}
.works__list ul {
  display: flex;
  gap: 0 20px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: 0 80px 0 0;
}
@media screen and (max-width: 1050px) {
  .works__list ul {
    gap: 0 1.8985695709vw;
    padding: 0 7.5942782835vw 0 0;
  }
}
@media screen and (max-width: 768px) {
  .works__list ul {
    gap: 0 6.4vw;
    padding: 0 5.3333333333vw 0 0;
  }
}
.works__list ul li {
  width: 360px;
}
@media screen and (max-width: 1050px) {
  .works__list ul li {
    width: 34.1742522757vw;
  }
}
@media screen and (max-width: 768px) {
  .works__list ul li {
    width: 58.6666666667vw;
  }
}
.works__list ul li img {
  width: 100%;
}

#company .section {
  padding: 160px 0 100px;
}
@media screen and (max-width: 1050px) {
  #company .section {
    padding: 15.188556567vw 0 9.4928478544vw;
  }
}
@media screen and (max-width: 768px) {
  #company .section {
    padding: 16vw 0;
  }
}
#company .title__basic {
  margin: 0 auto 30px;
}
@media screen and (max-width: 1050px) {
  #company .title__basic {
    margin: 0 auto 2.8478543563vw;
  }
}
@media screen and (max-width: 768px) {
  #company .title__basic {
    margin: 0 auto 4.2666666667vw;
  }
}

.company__table table {
  width: 100%;
}
.company__table table tbody {
  display: flex;
  flex-direction: column;
}
.company__table table tbody tr {
  display: flex;
  gap: 0 15px;
}
@media screen and (max-width: 1050px) {
  .company__table table tbody tr {
    gap: 0 1.4239271782vw;
  }
}
@media screen and (max-width: 768px) {
  .company__table table tbody tr {
    gap: 0 2.6666666667vw;
  }
}
.company__table table tbody tr:first-of-type th,
.company__table table tbody tr:first-of-type td {
  border-top: 1px solid #000;
}
.company__table table tbody tr th {
  font-size: 14px;
  font-weight: 400;
  width: 223px;
  min-width: 223px;
  padding: 27px 10px;
  text-align: left;
  border-bottom: 1px solid #000;
}
@media screen and (max-width: 1050px) {
  .company__table table tbody tr th {
    font-size: 1.3289986996vw;
    width: 21.1690507152vw;
    min-width: 21.1690507152vw;
    padding: 2.5630689207vw 0.9492847854vw;
  }
}
@media screen and (max-width: 768px) {
  .company__table table tbody tr th {
    font-size: 3.2vw;
    width: 21.3333333333vw;
    min-width: 21.3333333333vw;
    padding: 4.2666666667vw 2.1333333333vw;
  }
}
.company__table table tbody tr td {
  font-size: 14px;
  font-weight: 400;
  padding: 27px 20px;
  flex-grow: 1;
  border-bottom: 1px solid #000;
}
@media screen and (max-width: 1050px) {
  .company__table table tbody tr td {
    font-size: 1.3289986996vw;
    padding: 2.5630689207vw 1.8985695709vw;
  }
}
@media screen and (max-width: 768px) {
  .company__table table tbody tr td {
    font-size: 3.2vw;
    line-height: 4.8vw;
    padding: 4.2666666667vw 2.1333333333vw;
  }
}
@media screen and (max-width: 768px) {
  .company__table table tbody tr td .dots {
    display: flex;
    flex-direction: column;
    gap: 2.1333333333vw 0;
  }
}
.company__table table tbody tr td .dots li {
  line-height: 25px;
  position: relative;
}
@media screen and (max-width: 1050px) {
  .company__table table tbody tr td .dots li {
    line-height: 2.3732119636vw;
  }
}
@media screen and (max-width: 768px) {
  .company__table table tbody tr td .dots li {
    line-height: 4.8vw;
    display: flex;
  }
}
.company__table table tbody tr td .dots li::before {
  content: "・";
}
@media screen and (max-width: 768px) {
  .company__table table tbody tr td .dots li::before {
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
    position: relative;
    top: 1.0666666667vw;
  }
}
/*# sourceMappingURL=common.css.map */