@charset "UTF-8";
body {
  font-family: "Noto Sans JP", "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

.w100 {
  width: 100%;
}

.c-mainttl .mainttl-main .mainttl-ttl {
  text-align: center;
}
@media screen and (max-width: 640px) {
  .c-mainttl .mainttl-main .mainttl-ttl {
    text-align: left;
  }
}

._idx {
  padding-block: 80px 150px;
  overflow: hidden;
}
@media screen and (max-width: 640px) {
  ._idx {
    padding-block: 18.75%;
  }
}
@media screen and (max-width: 640px) {
  ._idx .inner_jiin {
    padding-inline: 0;
  }
}
._idx .cra-lead {
  margin-bottom: 40px;
  font-size: 183.3333333333%;
  font-weight: 400;
  line-height: 2;
}
@media screen and (max-width: 640px) {
  ._idx .cra-lead {
    margin-bottom: 10.9375%;
    padding-inline: 6.25%;
    font-size: 100%;
  }
}
._idx .cra-box {
  margin-bottom: 80px;
}
@media screen and (max-width: 640px) {
  ._idx .cra-box {
    margin-bottom: 15.625%;
  }
}
._idx .cra-box:last-child {
  margin-bottom: 0;
}
._idx .cra-box .cra-heading {
  position: relative;
  margin-bottom: 40px;
  padding-bottom: 10px;
  font-size: 300%;
  font-weight: 500;
}
@media screen and (max-width: 640px) {
  ._idx .cra-box .cra-heading {
    margin-bottom: 6.25%;
    padding-inline: 6.25%;
    font-size: 128.5714285714%;
  }
}
._idx .cra-box .cra-heading::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: calc(100vw - (100vw - 1120px) / 2 - 20px);
  height: 1px;
  background-color: #333333;
}
@media screen and (max-width: 640px) {
  ._idx .cra-box .cra-heading::after {
    left: 50%;
    width: 87.5%;
    transform: translateX(-50%);
  }
}
._idx .cra-box .cra-fig {
  display: flex;
  gap: 30px 3.7037037037%;
  margin-bottom: 20px;
}
@media screen and (max-width: 640px) {
  ._idx .cra-box .cra-fig {
    flex-direction: column;
    width: 87.5%;
    margin: 0 auto 6.25%;
  }
}
._idx .cra-box .cra-fig li {
  width: 48.1481481481%;
}
@media screen and (max-width: 640px) {
  ._idx .cra-box .cra-fig li {
    width: 100%;
  }
}
._idx .cra-box .cra-txt {
  margin-bottom: 20px;
  font-size: 133.3333333333%;
  font-weight: 400;
  text-align: right;
}
@media screen and (max-width: 640px) {
  ._idx .cra-box .cra-txt {
    margin-bottom: 7.8125%;
    padding-inline: 6.25%;
    font-size: 85.7142857143%;
    text-align: left;
  }
}
._idx .cra-box .cra-item {
  padding: 40px 60px;
  background-color: #e6e6e6;
}
@media screen and (max-width: 640px) {
  ._idx .cra-box .cra-item {
    padding-inline: 7.8125% 10.9375% 0;
  }
}
._idx .cra-box .cra-item .cra-item-top {
  position: relative;
  display: flex;
  justify-content: center;
}
@media screen and (max-width: 640px) {
  ._idx .cra-box .cra-item .cra-item-top {
    flex-direction: column;
    align-items: center;
  }
}
._idx .cra-box .cra-item .cra-item-top figure {
  position: absolute;
  top: 0;
  width: 43.75%;
}
@media screen and (max-width: 640px) {
  ._idx .cra-box .cra-item .cra-item-top figure {
    position: static;
    width: 100%;
    margin-bottom: 8.3333333333%;
  }
}
._idx .cra-box .cra-item .cra-item-top figure.cra-figure01 {
  left: 0;
}
._idx .cra-box .cra-item .cra-item-top figure.cra-figure02 {
  right: 0;
}
._idx .cra-box .cra-item .cra-item-top .cra-subheading {
  font-size: 300%;
  font-weight: 400;
  -o-writing-mode: vertical-rl;
  writing-mode: vertical-rl;
  line-height: 2;
}
@media screen and (max-width: 640px) {
  ._idx .cra-box .cra-item .cra-item-top .cra-subheading {
    margin-bottom: 8.3333333333%;
    font-size: 128.5714285714%;
  }
}
._idx .cra-box .cra-item figcaption {
  margin-top: 20px;
  font-size: 133.3333333333%;
}
@media screen and (max-width: 640px) {
  ._idx .cra-box .cra-item figcaption {
    margin-top: 4.1666666667%;
    font-size: 85.7142857143%;
    text-align: left;
  }
}
._idx .cra-box .cra-item .cra-item-txt {
  margin-top: 140px;
  font-size: 133.3333333333%;
  text-align: center;
}
@media screen and (max-width: 640px) {
  ._idx .cra-box .cra-item .cra-item-txt {
    margin-top: 0;
    font-size: 85.7142857143%;
    text-align: left;
  }
}
._idx ._box02 .cra-item {
  padding-bottom: 320px;
}
@media screen and (max-width: 640px) {
  ._idx ._box02 .cra-item {
    padding-bottom: 0;
  }
}/*# sourceMappingURL=craftsmanship.css.map */