@charset "utf-8";

.p-service {
  .c-heading {
    margin: auto;
    max-width: 1110px;
  }
}

.p-service__body {
  margin: 42px auto 0;
  max-width: 1040px;
}

.p-service__main-text {
  font-weight: 700;
  font-size: 30px;
  line-height: calc(48 / 30);
  letter-spacing: 0.03em;

  @media (width < 768px) {
    font-size: 21px;
  }
}

.p-service__text {
  margin-top: 36px;
  color: #000;
}

.p-service__nav {
  margin: 100px auto 0;
  display: flex;
  justify-content: space-between;
  gap: 20px;
  position: relative;
  z-index: 2;

  @media (width < 768px) {
    margin: 60px auto 0;
    flex-direction: column;
    align-items: center;
  }
}

.p-service-link {
  flex: 1 1 auto;
  max-width: 558px;
  background: var(--color-white);
  border: 1px solid #000;
  box-shadow: 7px 7px 14px rgba(#727272, 30%);
  border-radius: 10px;
  padding: 50px 50px 60px;
  display: flex;
  align-items: center;
  gap: 12px;
  justify-content: space-between;

  @media (width < 1120px) {
    padding: 20px 20px 30px;
  }

  @media (width < 768px) {
    width: 100%;
  }

  .c-box-heading__en {
    @media (width < 768px) {
      gap: 12px;
    }
  }

  .c-box-heading__en::before {
    @media (width < 768px) {
      width: 22px;
    }
  }

  .c-box-heading__ja {
    @media (width < 1120px) {
      font-size: 20px;
    }

    @media (width < 768px) {
      margin-left: 30px;
    }
  }
}

.p-service-link__arrow {
  flex-shrink: 0;
  width: 56px;
  aspect-ratio: 1;
  border-radius: 50%;
  background: var(--color-red) url('https://officewata.net/system_panel/uploads/images/arrow-white.svg') no-repeat center center / 24%;
  border: 1px solid var(--color-red);
  transform: rotate(90deg);
  transition: all 0.3s ease-out;

  @media (width < 768px) {
    width: 45px;
  }
}

.p-service-link:hover {
  .p-service-link__arrow {
    background: var(--color-white) url('https://officewata.net/system_panel/uploads/images/arrow-red.svg') no-repeat center center / 24%;
  }
}

.p-service-detail {
  padding: 140px 0;

  @media (width < 768px) {
    padding: 100px 0;
  }

  .l-inner {
    position: relative;
    z-index: 1;
  }

  .c-heading {
    margin: auto;
    max-width: 1110px;

    @media (width < 768px) {
      gap: 10px;
    }
  }

  .c-heading__en {
    @media (width < 768px) {
      font-size: 36px;
      gap: 8px;
    }
  }
}

.p-service-detail__head {
  margin: 55px auto 0;
  max-width: 1040px;
}

.p-service-detail__head-main {
  font-weight: 700;
  font-size: 30px;
  line-height: calc(48 / 30);
  letter-spacing: 0.03em;

  @media (width < 768px) {
    font-size: 22px;
  }
}

.p-service-detail__head-text {
  margin-top: 36px;
}

.p-service-detail__list {
  margin-top: 60px;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 75px clamp(20px, calc(50vw / 13.66), 50px);

  @media (width < 768px) {
    display: flex;
    flex-direction: column;
    align-items: center;
  }
}

.p-service-detail__item {
  width: 100%;
  max-width: 558px;
}

.p-service-detail__img {
  width: 100%;
  aspect-ratio: 558/434;
  border-radius: 10px;
  border: 1px solid #000;
  object-fit: cover;
}

.p-service-detail__item-body {
  margin-top: 33px;

  @media (width < 768px) {
    margin-top: 22px;
  }
}

.p-service-detail__item-cat {
  width: fit-content;
  min-width: 167px;
  text-align: center;
  padding: 7px 6px;
  background: var(--color-white);
  border: 1px solid #000;
  border-radius: 5px;
  color: var(--color-red);
  line-height: 1;
  letter-spacing: 0.03em;
}

.p-service-detail__item-title {
  margin-top: 18px;
  font-weight: 700;
  font-size: 22px;
  font-size: clamp(18px, calc(22vw / 12.06), 22px);
  line-height: 1.6;
  letter-spacing: 0.03em;

  div {
    display: inline-block;
    margin-right: -0.3em;
  }
}

.p-service-detail__item-text {
  margin-top: 18px;

  @media (width < 1024px) {
    font-size: 13px;
  }
}

.p-service-detail__item-flex {
  margin-top: 36px;
  display: flex;
  gap: 20px;

  @media (width < 768px) {
    margin-top: 20px;
  }
}

.p-service-detail__dl,
.p-service-detail__movie {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  padding: 13px 30px;
  border: 1px solid #000;
  border-radius: 10px;
  background: var(--color-white);

  @media (width < 1120px) {
    padding: 10px 12px;
  }

  p {
    color: var(--color-base);
    font-size: 16px;
    font-weight: 700;
    letter-spacing: 0.03em;
    transition: all 0.3s ease-out;

    @media (width < 1120px) {
      font-size: clamp(12px, calc(16vw / 11.2), 16px);
    }
  }
}

.p-service-detail__dl {
  min-width: 54%;
  flex-shrink: 0;
}

.p-service-detail__dl::after {
  content: '';
  flex-shrink: 0;
  width: 38px;
  aspect-ratio: 1;
  border-radius: 50%;
  border: 1px solid var(--color-red);
  transition: all 0.3s ease-out;
  background: var(--color-red) url('https://officewata.net/system_panel/uploads/images/dl-icon.svg') no-repeat center center / 50%;
}

.p-service-detail__movie {
  flex: 1 1 auto;
  transition: all 0.3s ease-out;
}

.p-service-detail__dl:hover::after {
  background: var(--color-white) url('https://officewata.net/system_panel/uploads/images/dl-icon-red.svg') no-repeat center center / 50%;
}

.p-service-detail__movie:hover {
  background: var(--color-red);

  p {
    color: var(--color-white);
  }
}

.p-government {
  margin-top: -64px;
  background: var(--color-d-red);
  position: relative;

  color: var(--color-white);

  .c-heading__en {
    color: var(--color-white);
  }

  .c-heading__ja {
    color: var(--color-white);
  }
}

.p-government::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0.3;
  background: url('https://officewata.net/system_panel/uploads/images/bg-noise.png') repeat top left / 624px;
}

.p-companies {
  overflow: hidden;

  .c-heading__en {
    @media (width < 768px) {
      white-space: nowrap;
    }
  }

  .p-service-detail__head-text {
    color: var(--color-d-blue);
  }
}
