/* default settings */
@import url("https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=PT+Sans:ital,wght@0,400;0,700;1,400;1,700&display=swap");
.page-top .wrapper {
  position: relative;
}
@media (min-width: 751px) {
  .page-top .wrapper {
    max-width: 75.5rem;
  }
}
.page-top .kv {
  width: 100%;
  height: 40rem;
  background-color: #D9D9D9;
}
@media (max-width: 750px) {
  .page-top .kv {
    height: 31.25rem;
  }
}
.page-top .kv .wrapper {
  position: relative;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media (min-width: 751px) {
  .page-top .kv .wrapper {
    max-width: 75.5rem;
  }
}
.page-top .kv-text {
  margin-top: 2.25rem;
  padding-left: 0.25rem;
  font-size: 2.25rem;
  line-height: 4.375rem;
  font-weight: bold;
  color: #262626;
}
.page-top .kv-text p {
  letter-spacing: 0.03em;
}
@media (max-width: 750px) {
  .page-top .kv-text {
    margin-top: 2.1875rem;
    margin-left: -0.0625rem;
    font-size: 1.3125rem;
    line-height: 2.375rem;
    padding-left: 0;
  }
}
.page-top .kv-logo {
  margin-bottom: 1.5rem;
  width: 100%;
}
@media (max-width: 750px) {
  .page-top .kv-logo {
    margin-bottom: 0.9375rem;
    width: 20.875rem;
    max-width: unset;
  }
}

.business {
  background: #FF8700;
  color: #fff;
  padding: 3.125rem 0 3.5625rem;
}
@media (max-width: 750px) {
  .business {
    padding: 2.0625rem 0 2.875rem;
  }
}
.business .kv-child_title {
  margin: 0 0 2.5rem 0;
}
@media (min-width: 751px) {
  .business .kv-child_title {
    padding-right: 5rem;
  }
}
@media (max-width: 750px) {
  .business .kv-child_title {
    margin-bottom: 2.875rem;
    padding-right: 2.9375rem;
  }
}
.business .kv-child_title::before {
  margin-bottom: 0;
  background: url("/common/img/kv-child_arrow_white.png") no-repeat left center/auto 100%;
}
@media (max-width: 750px) {
  .business .kv-child_title::before {
    background-size: auto 1.25rem;
    background-position: right 57%;
  }
}
.business .solution_list {
  padding-top: 0;
  padding-bottom: 2.875rem;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}
@media (min-width: 751px) {
  .business .solution_list {
    gap: 1.875rem 4.1875rem;
  }
}
@media (max-width: 750px) {
  .business .solution_list {
    padding-bottom: 0;
    gap: 1.25rem 0;
  }
}
.business .solution_item {
  width: 21.5625rem;
  border-radius: 1.25rem;
  background-color: #FFFEFE;
  padding-bottom: 1.25rem;
}
@media (max-width: 750px) {
  .business .solution_item {
    width: 20rem;
    border-radius: 0.625rem;
  }
}
.business .solution_item .thumb {
  border-radius: 1.25rem 1.25rem 0 0;
  height: 16.875rem;
}
@media (max-width: 750px) {
  .business .solution_item .thumb {
    height: 12.1875rem;
    border-radius: 0.625rem 0.625rem 0 0;
  }
}
@media (max-width: 750px) {
  .business .solution_item {
    height: unset;
  }
  .business .solution_item .desc p {
    min-height: 2.625rem;
  }
}
.business .solution_item .desc {
  padding: 0.875rem 1.25rem 2.1875rem 1.375rem;
  background-color: #FFFEFE;
}
@media (max-width: 750px) {
  .business .solution_item .desc {
    padding: 0 1rem 1.8125rem 1.5rem;
  }
}
.business .solution_item .desc .ttl {
  margin-bottom: 0.125rem;
}
@media (max-width: 750px) {
  .business .solution_item .desc .ttl {
    margin-bottom: -0.25rem;
  }
}
.business .wrapper {
  position: relative;
}
@media (min-width: 751px) {
  .business .wrapper {
    padding-right: 0;
    max-width: 75.5rem;
  }
}
.business .btn-viewmore {
  top: -0.375rem;
  right: 1.1875rem;
}
@media (max-width: 750px) {
  .business .btn-viewmore {
    top: -0.6875rem;
    right: 1.8125rem;
  }
}

.btn-viewmore {
  position: absolute;
  top: -0.375rem;
  right: 1.1875rem;
  width: 4.25rem;
  height: 4.25rem;
  overflow: hidden;
  border-radius: 100%;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.btn-viewmore span {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  font-size: 0.875rem;
  letter-spacing: 0.02em;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: bold;
  color: #1F3A60;
  white-space: nowrap;
  display: inline-block;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
@media (max-width: 750px) {
  .btn-viewmore span {
    font-size: 0.875rem;
  }
}
.btn-viewmore.white {
  border: 1px solid #fff;
  background-color: transparent;
}
.btn-viewmore.white span {
  color: #fff;
}
@media (min-width: 751px) and (hover: hover) {
  .btn-viewmore.white:hover {
    background-color: #fff;
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
  }
  .btn-viewmore.white:hover span {
    color: #FF8700;
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
  }
}
.btn-viewmore.orange {
  border: 1px solid #FF8700;
}
.btn-viewmore.orange span {
  color: #FF8700;
}
@media (min-width: 751px) and (hover: hover) {
  .btn-viewmore.orange:hover {
    background-color: #FF8700;
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
  }
  .btn-viewmore.orange:hover span {
    color: #fff;
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
  }
}

.news {
  padding: 3.625rem 0 4.4375rem 0;
}
@media (max-width: 750px) {
  .news {
    padding: 2.625rem 0 2.5rem 0;
  }
}
.news .kv-child_title {
  margin: 0 0 3.375rem 0;
}
@media (max-width: 750px) {
  .news .kv-child_title {
    margin-bottom: 1.375rem;
    padding-right: 2.9375rem;
  }
}
.news .kv-child_title:before {
  margin-bottom: -0.25rem;
}
@media (max-width: 750px) {
  .news .kv-child_title:before {
    margin-bottom: 0;
  }
}
.news .btn-cus {
  margin: 2.5rem 0 0 0;
}
@media (max-width: 750px) {
  .news .btn-cus {
    margin: 2.1875rem auto 0 auto;
  }
}
.news .btn-viewmore {
  top: 0.5625rem;
  right: 1rem;
}
@media (max-width: 750px) {
  .news .btn-viewmore {
    top: -0.6875rem;
    right: 1.8125rem;
  }
}
.news .news-list {
  max-width: 65rem;
}
@media (max-width: 750px) {
  .news .news-item-label {
    letter-spacing: 0;
  }
}

.recruitment {
  background: #FF8700;
  color: #fff;
  padding: 3.4375rem 0 4.1875rem;
}
@media (max-width: 750px) {
  .recruitment {
    padding: 2.6875rem 0 3.25rem;
  }
}
.recruitment .wrapper {
  position: relative;
  max-width: 75rem;
}
.recruitment .photo {
  width: 39.6875rem;
}
@media (min-width: 751px) {
  .recruitment .photo {
    position: absolute;
    top: 1.0625rem;
    left: 1.0625rem;
  }
}
@media (max-width: 750px) {
  .recruitment .photo {
    width: 20.9375rem;
    margin: 0 auto;
  }
}
.recruitment .photo img {
  border-radius: 1.25rem;
}
@media (max-width: 750px) {
  .recruitment .photo img {
    border-radius: 0.625rem;
  }
}
.recruitment .text {
  width: 29.375rem;
  margin: 0 0 0 auto;
}
@media (max-width: 750px) {
  .recruitment .text {
    width: 100%;
    margin: 0 0 2rem 0;
  }
}
.recruitment .kv-child_title {
  margin: 0 0 1.75rem 0;
}
@media (min-width: 751px) {
  .recruitment .kv-child_title {
    padding-right: 5rem;
  }
}
@media (max-width: 750px) {
  .recruitment .kv-child_title {
    margin-bottom: 2.375rem;
    padding-right: 2.9375rem;
  }
}
.recruitment .kv-child_title::before {
  margin-left: 0.375rem;
  margin-bottom: -0.25rem;
  background: url("/common/img/kv-child_arrow_white.png") no-repeat left center/auto 100%;
}
@media (max-width: 750px) {
  .recruitment .kv-child_title::before {
    margin-left: 0;
    margin-bottom: 0;
    background-size: auto 1.25rem;
    background-position: right 57%;
  }
}
.recruitment .txt {
  font-weight: 700;
}
@media (min-width: 751px) {
  .recruitment .txt {
    margin-left: -0.1875rem;
  }
}
@media (max-width: 750px) {
  .recruitment .txt {
    padding-right: 0.5625rem;
  }
}
.recruitment .btn-cus {
  margin: 16.5625rem 15.75rem 0 auto;
}
.recruitment .btn-cus a {
  color: #FF8700;
  border-radius: 1.875rem;
}
@media (max-width: 750px) {
  .recruitment .btn-cus {
    margin: 2.125rem 0 0 0;
    padding-top: 0.1875rem;
  }
  .recruitment .btn-cus:after {
    width: 2.5rem;
    height: 2.5rem;
    background-size: auto 1.0625rem;
  }
}
.recruitment .btn-viewmore {
  top: 0;
  right: 0.9375rem;
}
@media (max-width: 750px) {
  .recruitment .btn-viewmore {
    top: -0.5rem;
    right: 1.9375rem;
  }
}

.contact {
  margin-top: 2.125rem;
}
@media (max-width: 750px) {
  .contact {
    margin-top: 0;
    padding-bottom: 3.0625rem;
  }
}