.c-card-price__item-btn__head:before {
  content: "";
  display: inline-block;
  border-radius: 50%;
  border: 0.4rem solid #fff;
  width: 0.4rem;
  height: 0.4rem;
}

.p-service {
  position: relative;
  padding-top: 7.2rem;
}
@media (min-width: 768px) {
  .p-service {
    padding-top: 13.6rem;
  }
}
.p-service::before {
  content: "OUR SERVICE";
  color: #fff;
  font-size: 8rem;
  font-family: var(--font-en);
  writing-mode: vertical-rl;
  text-orientation: mixed;
  line-height: 1;
  letter-spacing: 0.05em;
  pointer-events: none;
  position: absolute;
  top: 86.6666666667vw;
  left: 0;
  white-space: nowrap;
  z-index: 3;
}
@media (min-width: 768px) {
  .p-service::before {
    top: 0;
    font-size: 12rem;
  }
}
.p-service__wrap {
  position: relative;
  z-index: 3;
}
.p-service__wrap::after {
  content: "";
  background: url("../images/home/img_earth.svg") no-repeat center/contain;
  width: 37rem;
  height: 15.1rem;
  pointer-events: none;
  position: absolute;
  top: 4.8rem;
  right: -45.6%;
  z-index: -1;
}
@media (min-width: 768px) {
  .p-service__wrap::after {
    width: 88rem;
    height: 36.5rem;
    top: 0;
    right: -37.1428571429%;
  }
}
.p-service__txt {
  margin-top: 4rem;
}
@media (min-width: 768px) {
  .p-service__txt {
    margin-top: 4rem;
  }
}
.p-service__txt p + p {
  margin-top: 3.2rem;
}
.p-service .c-boxCheck {
  margin-top: 7.2rem;
}
@media (max-width: 767px) {
  .p-service .c-boxCheck .c-txtCheck__desc {
    line-height: 1.7333333333;
  }
}
.p-service__slider {
  margin-top: 7.2rem;
}
@media (min-width: 768px) {
  .p-service__slider {
    margin-top: 12.4rem;
  }
}
.p-service__slider .swiper-wrapper {
  pointer-events: none;
  transition-timing-function: linear;
}
.p-service__slider .swiper-slide {
  width: 21.3rem;
  aspect-ratio: 213/160;
}
@media (min-width: 768px) {
  .p-service__slider .swiper-slide {
    width: 44rem;
    aspect-ratio: 440/320;
  }
}
.p-service__slider .swiper-slide img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.p-service__name {
  margin-top: 6.4rem;
}
@media (min-width: 768px) {
  .p-service__name {
    margin-top: 12.5rem;
  }
}
.p-service__name-item {
  display: grid;
  gap: 4rem;
}
@media (min-width: 768px) {
  .p-service__name-item {
    align-items: stretch;
    grid-template-areas: "title image" "desc image";
    gap: 0 6.4rem;
  }
}
.p-service__name-item:not(:last-child) {
  margin-bottom: 7.2rem;
}
@media (min-width: 768px) {
  .p-service__name-item:not(:last-child) {
    margin-bottom: 8.8rem;
  }
}
@media (min-width: 768px) {
  .p-service__name .c-title-dot {
    grid-area: title;
    align-self: end;
    margin-block: -1.1rem 3.6rem;
  }
}
@media (min-width: 768px) {
  .p-service__name-media {
    width: 32rem;
    grid-area: image;
  }
}
.p-service__name-media img {
  width: 100;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
@media (min-width: 768px) {
  .p-service__name-desc {
    align-self: start;
    grid-area: desc;
  }
}
@media (min-width: 768px) {
  .p-service__name .c-title-dot {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }
  .p-service__name-media {
    -ms-grid-row: 1;
    -ms-grid-row-span: 3;
    -ms-grid-column: 3;
  }
  .p-service__name-desc {
    -ms-grid-row: 3;
    -ms-grid-column: 1;
  }
}
.p-service__btn {
  margin-top: 4rem;
}
@media (min-width: 768px) {
  .p-service__btn {
    margin-top: 12rem;
  }
}

.p-brand {
  background-color: #E8EBE8;
  margin-top: 7.2rem;
}
@media (min-width: 768px) {
  .p-brand {
    margin-top: 12rem;
  }
}
.p-brand__wrap {
  padding-block: 6.4rem;
}
@media (min-width: 768px) {
  .p-brand__wrap {
    padding-block: 12rem;
  }
}
.p-brand .hline01 {
  margin-bottom: 4rem;
}
@media (min-width: 768px) {
  .p-brand .hline01 {
    margin-bottom: 5.6rem;
  }
}
.p-brand__list {
  margin-top: 7.2rem;
}
@media (min-width: 768px) {
  .p-brand__list {
    margin-top: 7.3rem;
  }
}
.p-brand__item:not(:last-child) {
  margin-bottom: 7.2rem;
}
@media (min-width: 768px) {
  .p-brand__item:not(:last-child) {
    margin-bottom: 8.4rem;
  }
}
.p-brand__item-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-top: 3.2rem;
}
@media (min-width: 768px) {
  .p-brand__item-list {
    gap: 0.4rem;
    margin-top: 4.8rem;
  }
}
.p-brand__item-list li {
  background-color: #fff;
  letter-spacing: 0.08em;
  font-size: 1.4rem;
  line-height: 1.5714285714;
  width: calc(50% - 0.25rem);
  height: 6.4rem;
  padding-block: 1rem;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
}
@media (min-width: 768px) {
  .p-brand__item-list li {
    width: 20%;
    max-width: 19.6rem;
  }
}

.p-price {
  padding-block: 6.4rem;
}
@media (min-width: 768px) {
  .p-price {
    padding-block: 12rem;
  }
}
.p-price .hline01 {
  margin-bottom: 4rem;
}
@media (min-width: 768px) {
  .p-price .hline01 {
    margin-bottom: 5.6rem;
  }
}
.p-price .hline01__ttl::before {
  left: -3rem;
}

.c-card-price__list {
  margin-top: 7.2rem;
}
@media (min-width: 768px) {
  .c-card-price__list {
    margin-top: 10rem;
  }
}
.c-card-price__item {
  display: flex;
  gap: 4rem;
  flex-direction: column;
}
@media (min-width: 768px) {
  .c-card-price__item {
    flex-direction: row;
    align-items: center;
    gap: 8.8rem;
  }
}
.c-card-price__item:not(:last-child) {
  margin-bottom: 7.2rem;
}
@media (min-width: 768px) {
  .c-card-price__item:not(:last-child) {
    margin-bottom: 10rem;
  }
}
@media (min-width: 768px) {
  .c-card-price__item-media {
    width: 41.6rem;
    flex-shrink: 0;
  }
}
@media (max-width: 767px) {
  .c-card-price__item-media {
    margin-inline: -2.5rem;
  }
}
.c-card-price__item-ttl {
  font-weight: normal;
  display: inline-flex;
  align-items: flex-start;
  flex-direction: column;
  gap: 1.5rem;
}
.c-card-price__item-ttl .jp {
  background: #000000;
  background: linear-gradient(90deg, rgb(12, 6, 6) 0%, rgb(0, 0, 0) 100%);
  color: #fff;
  font-size: 1.4rem;
  font-family: var(--font-ttl);
}
@media (min-width: 768px) {
  .c-card-price__item-ttl .jp {
    font-size: 1.8rem;
  }
}
.c-card-price__item-ttl .en {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  font-size: 2.5rem;
  font-family: var(--font-en);
}
@media (min-width: 768px) {
  .c-card-price__item-ttl .en {
    font-size: 4rem;
    line-height: 1;
  }
}
@media (max-width: 767px) {
  .c-card-price__item-ttl .en {
    gap: 1.3rem;
  }
}
.c-card-price__item-ttl .en span {
  background: #000000;
  background: linear-gradient(90deg, rgb(12, 6, 6) 0%, rgb(0, 0, 0) 100%);
  color: #fff;
}
@media (min-width: 768px) {
  .c-card-price__item-ttl .en span {
    padding-block: 0 0.6rem;
  }
}
.c-card-price__item .c-txt {
  margin-top: 4rem;
}
@media (min-width: 768px) {
  .c-card-price__item .c-txt {
    margin-top: 4.8rem;
  }
}
.c-card-price__item-btn {
  display: flex;
  flex-direction: column;
  gap: 3.2rem;
  margin-top: 4rem;
}
@media (min-width: 768px) {
  .c-card-price__item-btn {
    flex-direction: row;
    margin-top: 4.7rem;
  }
}
.c-card-price__item-btn__head {
  position: relative;
  letter-spacing: 0.08em;
  min-width: 16.3rem;
}
@media (min-width: 768px) {
  .c-card-price__item-btn__head {
    font-size: 1.8rem;
  }
}
.c-card-price__item-btn__head:before {
  margin-right: 1.8rem;
  border-color: var(--color-secondary);
  margin-top: 0.6rem;
}
@media (min-width: 768px) {
  .c-card-price__item-btn__head:before {
    margin-right: 1.5rem;
  }
}
.c-card-price__item-btn__link {
  flex: 1;
}
.c-card-price__item-btn .btn-pdf {
  min-width: auto;
  width: 100%;
  padding: 0 0 1.6rem 3rem;
}
@media (min-width: 768px) {
  .c-card-price__item-btn .btn-pdf {
    padding-left: 5.4rem;
  }
}
.c-card-price__item-btn .btn-pdf + .btn-pdf {
  margin-top: 1.6rem;
}
@media (min-width: 768px) {
  .c-card-price__item-btn .btn-pdf + .btn-pdf {
    margin-top: 2.4rem;
  }
}
.c-card-price__item-btn .btn-pdf::before {
  display: none;
  width: 0;
  height: 0;
  border: none;
}
.c-card-price__item-btn .btn-pdf .ic_pdf {
  left: 0;
  right: auto;
}
@media (min-width: 768px) {
  .c-card-price__item-btn .btn-pdf .ic_pdf {
    left: 1.8rem;
  }
}
@media (max-width: 767px) {
  .c-card-price__item.--maintenance .c-card-price__item-media {
    margin-inline: 0;
  }
}

.p-work {
  background-color: #fff;
  padding-block: 5.6rem 7.2rem;
}
@media (min-width: 768px) {
  .p-work {
    padding-block: 10rem 30rem;
  }
}
@media (min-width: 768px) {
  .p-work__head {
    display: flex;
    gap: 1rem;
    align-items: center;
  }
}
@media (min-width: 768px) {
  .p-work__head .btn-more {
    margin-top: 1.5rem;
    margin-left: auto;
  }
}
@media (max-width: 767px) {
  .p-work__head .btn-more {
    display: none;
  }
}
.p-work__head .hline01__ttl::before {
  left: -2rem;
  top: -2rem;
}
.p-work .hline01 {
  display: flex;
  align-items: center;
  flex-direction: column-reverse;
  margin-bottom: 4rem;
}
@media (min-width: 768px) {
  .p-work .hline01 {
    flex-direction: row;
    align-items: center;
    gap: 3.2rem;
    margin-bottom: 0;
  }
}
@media (min-width: 768px) {
  .p-work .hline01__sub {
    margin-top: 1.5rem;
  }
}
@media (max-width: 767px) {
  .p-work__slider {
    overflow: visible;
  }
  .p-work__slider .swiper-pagination {
    position: relative;
    height: 1px;
    margin-top: 5.7rem;
  }
  .p-work__slider .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
    background: var(--color-secondary);
  }
}
@media (min-width: 768px) {
  .p-work__list {
    display: flex;
    gap: 7rem;
    margin-top: 7.2rem;
  }
  .p-work__list .card-work {
    flex: 0 0 calc(33.33% - 4.7rem);
    max-width: calc(33.33% - 4.7rem);
  }
}
.p-work__btn {
  text-align: right;
}
@media (min-width: 768px) {
  .p-work__btn {
    display: none;
  }
}
@media (max-width: 767px) {
  .p-work__btn {
    margin-top: 3.2rem;
  }
}
.p-work .card-work {
  width: 29.5rem;
}
.p-work .card-work__ttl {
  line-height: 1.75;
}

.p-flow__bnr {
  margin-inline: -2.5rem;
  margin-bottom: -2.4rem;
}
@media (min-width: 768px) {
  .p-flow__bnr {
    max-width: 104rem;
    margin: -14.3rem -11.9444444444% -9rem auto;
  }
}
.p-flow .hline01 .hline01__ttl {
  background: transparent;
  color: #fff;
  font-size: 3.5rem;
  mix-blend-mode: difference;
  -webkit-text-fill-color: unset;
  margin-inline: 0;
}
@media (min-width: 768px) {
  .p-flow .hline01 .hline01__ttl {
    font-size: 12rem;
  }
}
.p-flow .hline01 .hline01__ttl::before {
  display: none;
}
.p-flow .hline01 .hline01__sub {
  font-size: 1.5rem;
}
@media (min-width: 768px) {
  .p-flow .hline01 .hline01__sub {
    font-size: 3rem;
  }
}
.p-flow__list {
  counter-reset: item;
  margin-top: 4rem;
}
@media (min-width: 768px) {
  .p-flow__list {
    margin-top: 8rem;
  }
}
.p-flow__item {
  counter-increment: item;
  display: flex;
  align-items: stretch;
}
@media (min-width: 768px) {
  .p-flow__item {
    gap: 6rem;
    padding-bottom: 5rem;
  }
}
@media (max-width: 767px) {
  .p-flow__item {
    margin-bottom: 6.4rem;
  }
}
.p-flow__item:last-child .p-flow__item-num::after {
  display: none;
}
.p-flow__item-num {
  position: relative;
}
@media (max-width: 767px) {
  .p-flow__item-num {
    display: none;
  }
}
.p-flow__item-num::before {
  content: counter(item, decimal-leading-zero);
  aspect-ratio: 1;
  border: 1px solid var(--color-primary);
  border-radius: 50%;
  color: var(--color-primary);
  font-family: var(--font-en);
  flex-shrink: 0;
  display: inline-flex;
  justify-content: center;
  align-items: center;
}
@media (min-width: 768px) {
  .p-flow__item-num::before {
    width: 12rem;
    font-size: 4rem;
  }
}
.p-flow__item-num::after {
  content: "";
  background: url("../images/common/vertical_row_dot.svg") repeat-y center/2px 6px;
  width: 0.2rem;
  position: absolute;
  top: 14.4rem;
  bottom: -2rem;
  left: 50%;
  transform: translateX(-50%);
}
@media (min-width: 768px) {
  .p-flow__item-content {
    padding-top: 3.2rem;
  }
}
.p-flow__item-ttl {
  color: var(--color-primary);
  font-size: 2.2rem;
  font-family: var(--font-ttl);
  font-weight: normal;
  letter-spacing: 0.08em;
}
@media (min-width: 768px) {
  .p-flow__item-ttl {
    font-size: 2.8rem;
    line-height: 2.32;
  }
}
@media (max-width: 767px) {
  .p-flow__item-ttl::before {
    content: counter(item, decimal-leading-zero);
    aspect-ratio: 1;
    border: 1px solid var(--color-primary);
    border-radius: 50%;
    color: var(--color-primary);
    font-size: 2rem;
    font-family: var(--font-en);
    flex-shrink: 0;
    width: 6rem;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    margin-right: 1.6rem;
  }
}
.p-flow__item-desc {
  margin-top: 3.2rem;
}
@media (min-width: 768px) {
  .p-flow__item-desc {
    margin-top: 2rem;
  }
}
.p-flow__item-btn {
  margin-top: 3.2rem;
}
@media (min-width: 768px) {
  .p-flow__item-btn {
    margin-top: 4.5rem;
  }
}
.p-flow__item-detail {
  background-color: #fff;
  border-radius: 0.8rem;
  display: flex;
  gap: 3.2rem;
  flex-wrap: wrap;
  padding: 4rem 3.15rem;
  margin-top: 4rem;
}
@media (min-width: 768px) {
  .p-flow__item-detail {
    flex-direction: row-reverse;
    gap: 5.6rem;
    padding: 4.8rem;
    margin-top: 4rem;
  }
}
.p-flow__item-detail-content {
  flex: 1;
}
.p-flow__item-detail-content .c-txtCheck {
  font-size: 1.5rem;
}
.p-flow__item-detail-content .c-txtCheck:not(:last-child) {
  margin-bottom: 0.8rem;
}
.p-flow__item-detail-content .c-txtCheck::before {
  width: 1.6rem;
  height: 1.4rem;
}
.p-flow__item-detail .hline04 {
  margin-bottom: 3.2rem;
}
@media (min-width: 768px) {
  .p-flow__item-detail .hline04 {
    margin-bottom: 2rem;
  }
}
.p-flow__item-detail-media {
  aspect-ratio: 235/160;
}
@media (min-width: 768px) {
  .p-flow__item-detail-media {
    aspect-ratio: 270/166;
    width: 27rem;
    flex-shrink: 0;
  }
}
.p-flow__item-detail-media img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.p-flow__item-payment {
  background-color: #fff;
  border-radius: 0.8rem;
  display: flex;
  flex-direction: column;
  gap: 3.5rem;
  flex-wrap: wrap;
  padding: 4rem 3rem;
  margin-top: 4rem;
}
@media (min-width: 768px) {
  .p-flow__item-payment {
    flex-direction: row;
    gap: 5.6rem;
    padding: 3.5rem 5.6rem 4rem;
  }
}
.p-flow__item-payment-item {
  flex: 1;
}
.p-flow__item-payment .hline04 {
  margin-bottom: 2rem;
}
.p-flow__item-payment-list {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2rem;
}
.p-flow__item-payment-list.--no-gap {
  gap: 0;
}
.p-flow__item-payment-list.--no-gap li:nth-child(3), .p-flow__item-payment-list.--no-gap li:nth-child(4) {
  margin-left: 1rem;
}
@media (min-width: 768px) {
  .p-flow .c-card-price__list {
    margin-top: 7.2rem;
  }
}
/*# sourceMappingURL=maps/body.css.map */
