/* --------------------
 Service
-------------------- */
.com-page-title {
    background-image: url(../images/pages/service/service-page-title-bg.webp);
}

@media (min-width: 992px) {
    .com-page-title {
        margin: 0 0 180px;
    }
}

.main {
    margin: 0 0 120px;
}

@media (min-width: 768px) {
    .main {
        margin: 0 0 200px;
    }
}

.overview {
    margin: 0 0 120px;
}

@media (min-width: 768px) {
    .overview {
        margin: 0 0 100px;
    }
}

.overview__main {
    align-items: center;
    display: flex;
    flex-flow: row wrap;
    gap: 40px 30px;
    margin: 0 auto 60px;
    max-width: calc(var(--container-width) + var(--c-pad)*2);
    padding: 0 var(--c-pad);
    width: 100%;
}

@media (min-width: 768px) {
    .overview__main {
        margin: 0 auto 100px;
    }
}

@media (min-width: 992px) {
    .overview__main {
        gap: 0 50px;
    }
}

.overview__main__contents {
    flex: 0 0 100%;
}

@media (min-width: 768px) {
    .overview__main__contents {
        flex: 0 0 calc(50% - 50px);
    }
}

.overview__main__contents__title {
    background: linear-gradient(to right, var(--color-vermilion) 0%, var(--color-yellow) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    font-size: var(--fs26);
    font-weight: 700;
    line-height: 1.46;
    margin: 0 0 20px;
}

@media (min-width: 768px) {
    .overview__main__contents__title {
        font-size: var(--fs27);
        margin: 0 0 24px;
    }
}

@media (min-width: 992px) {
    .overview__main__contents__title {
        font-size: var(--fs30);
    }
}

.overview__main__contents__content p {
    font-size: var(--fs14);
    line-height: 1.55;
    margin: 0;
}

@media (min-width: 768px) {
    .overview__main__contents__content p {
        font-size: var(--fs16);
    }
}

@media (min-width: 992px) {
    .overview__main__contents__content p {
        font-size: var(--fs18);
    }
}

.overview__main__fig {
    flex: 0 0 100%;
}

@media (min-width: 768px) {
    .overview__main__fig {
        flex: 0 0 50%;
    }
}

.overview__gallery .splide__slide {
    width: 320px;
}

@media (min-width: 768px) {
    .overview__gallery .splide__slide {
        width: 360px;
    }
}

@media (min-width: 992px) {
    .overview__gallery .splide__slide {
        width: 480px;
    }
}

.overview__gallery .splide__slide img {
    width: 100%;
}

.harness {
    margin: 0 auto 120px;
    max-width: calc(var(--container-width) + var(--c-pad)*2);
    padding: 0 var(--c-pad);
}

@media (min-width: 768px) {
    .harness {
        margin: 0 auto 150px;
    }
}

.harness__main {
    align-items: center;
    display: flex;
    flex-flow: row wrap;
    gap: 40px 30px;
    margin: 0 0 30px;
    width: 100%;
}

@media (min-width: 992px) {
    .harness__main {
        gap: 0 50px;
        margin: 0 0 60px;
    }
}

.harness__main__contents {
    flex: 0 0 100%;
}

@media (min-width: 768px) {
    .harness__main__contents {
        flex: 0 0 calc(50% - 30px);
    }
}

@media (min-width: 992px) {
    .harness__main__contents {
        flex: 0 0 calc(50% - 50px);
    }
}

.harness__main__contents__title {
    margin: 0 0 40px;
}

.harness__main__contents__title__en {
    color: var(--color-vermilion);
    font-size: var(--fs18);
    font-weight: 700;
    line-height: 1.2;
    margin: 0 0 16px;
}

@media (min-width: 768px) {
    .harness__main__contents__title__en {
        font-size: var(--fs20);
        margin: 0 0 24px;
    }
}

@media (min-width: 992px) {
    .harness__main__contents__title__en {
        font-size: var(--fs23);
    }
}

.harness__main__contents__title__ja {
    color: var(--color-rich-black);
    font-size: var(--fs32);
    font-weight: 700;
    line-height: 1.2;
    margin: 0;
}

@media (min-width: 768px) {
    .harness__main__contents__title__ja {
        font-size: var(--fs36);
    }
}

@media (min-width: 992px) {
    .harness__main__contents__title__ja {
        font-size: var(--fs40);
    }
}

.harness__main__contents__content p {
    font-size: var(--fs14);
    line-height: 1.55;
    margin: 0;
}

@media (min-width: 768px) {
    .harness__main__contents__content p {
        font-size: var(--fs16);
    }
}

@media (min-width: 992px) {
    .harness__main__contents__content p {
        font-size: var(--fs18);
    }
}

.harness__main__fig {
    flex: 0 0 100%;
    text-align: center;
}

@media (min-width: 768px) {
    .harness__main__fig {
        flex: 0 0 50%;
    }
}

@media (max-width: 767px) {
    .harness__main__fig img {
        width: 100%;
    }
}

.harness__gallery {
    align-items: flex-start;
    display: flex;
    flex-flow: row wrap;
    gap: 0 var(--c-pad);
    justify-content: center;
}

@media (min-width: 768px) {
    .harness__gallery {
        gap: 0 30px;
    }
}

@media (min-width: 992px) {
    .harness__gallery {
        gap: 0 60px;
    }
}

.harness__gallery__item {
    flex: 0 0 calc(33.33333% - var(--c-pad)*0.66667);
}

@media (min-width: 768px) {
    .harness__gallery__item {
        flex: 0 0 calc(33.33333% - 20px);
    }
}

@media (min-width: 992px) {
    .harness__gallery__item {
        flex: 0 0 calc(33.33333% - 40px);
    }
}

.harness__gallery__item:nth-child(2) {
    padding: 10px 0 0;
}

@media (min-width: 768px) {
    .harness__gallery__item:nth-child(2) {
        padding: 60px 0 0;
    }
}

.harness__gallery__item:nth-child(3) {
    padding: 20px 0 0;
}

@media (min-width: 768px) {
    .harness__gallery__item:nth-child(3) {
        padding: 120px 0 0;
    }
}

@media (max-width: 767px) {
    .harness__gallery__item img {
        width: 100%;
    }
}

.board {
    margin: 0 auto 120px;
    max-width: calc(var(--container-width) + var(--c-pad)*2);
    padding: 0 var(--c-pad);
    width: 100%;
}

@media (min-width: 768px) {
    .board {
        margin: 0 auto 150px;
    }
}

.board__main {
    align-items: center;
    display: flex;
    flex-flow: row-reverse wrap;
    gap: 40px 30px;
    margin: 0 0 30px;
    width: 100%;
}

@media (min-width: 992px) {
    .board__main {
        gap: 0 50px;
        margin: 0 0 60px;
    }
}

.board__main__contents {
    flex: 0 0 100%;
}

@media (min-width: 768px) {
    .board__main__contents {
        flex: 0 0 calc(50% - 30px);
    }
}

@media (min-width: 992px) {
    .board__main__contents {
        flex: 0 0 calc(50% - 50px);
    }
}

.board__main__contents__title {
    margin: 0 0 40px;
}

.board__main__contents__title__en {
    color: var(--color-vermilion);
    font-size: var(--fs18);
    font-weight: 700;
    line-height: 1.2;
    margin: 0 0 16px;
}

@media (min-width: 768px) {
    .board__main__contents__title__en {
        font-size: var(--fs20);
        margin: 0 0 24px;
    }
}

@media (min-width: 992px) {
    .board__main__contents__title__en {
        font-size: var(--fs23);
    }
}

.board__main__contents__title__en:has(wbr) {
    overflow-wrap: anywhere;
    word-break: keep-all;
}

.board__main__contents__title__ja {
    color: var(--color-rich-black);
    font-size: var(--fs32);
    font-weight: 700;
    line-height: 1.2;
    margin: 0;
}

@media (min-width: 768px) {
    .board__main__contents__title__ja {
        font-size: var(--fs36);
    }
}

@media (min-width: 992px) {
    .board__main__contents__title__ja {
        font-size: var(--fs40);
    }
}

.board__main__contents__content p {
    font-size: var(--fs14);
    line-height: 1.55;
    margin: 0;
}

@media (min-width: 768px) {
    .board__main__contents__content p {
        font-size: var(--fs16);
    }
}

@media (min-width: 992px) {
    .board__main__contents__content p {
        font-size: var(--fs18);
    }
}

.board__main__fig {
    flex: 0 0 100%;
    text-align: center;
}

@media (min-width: 768px) {
    .board__main__fig {
        flex: 0 0 50%;
    }
}

@media (max-width: 767px) {
    .board__main__fig img {
        width: 100%;
    }
}

.board__gallery {
    align-items: flex-start;
    display: flex;
    flex-flow: row wrap;
    gap: 0 var(--c-pad);
    justify-content: center;
}

@media (min-width: 768px) {
    .board__gallery {
        gap: 0 30px;
    }
}

@media (min-width: 992px) {
    .board__gallery {
        gap: 0 60px;
    }
}

.board__gallery__item {
    flex: 0 0 calc(33.33333% - var(--c-pad)*0.66667);
}

@media (min-width: 768px) {
    .board__gallery__item {
        flex: 0 0 calc(33.33333% - 20px);
    }
}

@media (min-width: 992px) {
    .board__gallery__item {
        flex: 0 0 calc(33.33333% - 40px);
    }
}

.board__gallery__item:nth-child(1) {
    padding: 20px 0 0;
}

@media (min-width: 768px) {
    .board__gallery__item:nth-child(1) {
        padding: 120px 0 0;
    }
}

@media (min-width: 992px) {
    .board__gallery__item:nth-child(1) {
        padding: 180px 0 0;
    }
}

.board__gallery__item:nth-child(2) {
    padding: 10px 0 0;
}

@media (min-width: 768px) {
    .board__gallery__item:nth-child(2) {
        padding: 60px 0 0;
    }
}

@media (min-width: 992px) {
    .board__gallery__item:nth-child(2) {
        padding: 90px 0 0;
    }
}

@media (max-width: 767px) {
    .board__gallery__item img {
        width: 100%;
    }
}

.freq {
    align-items: center;
    display: flex;
    flex-flow: row wrap;
    gap: 40px 30px;
    margin: 0 auto 120px;
    max-width: calc(var(--container-width) + var(--c-pad)*2);
    padding: 0 var(--c-pad);
    width: 100%;
}

@media (min-width: 768px) {
    .freq {
        margin: 0 auto 150px;
    }
}

@media (min-width: 992px) {
    .freq {
        gap: 0 50px;
    }
}

.freq__contents {
    flex: 0 0 100%;
}

@media (min-width: 768px) {
    .freq__contents {
        flex: 0 0 calc(50% - 30px);
    }
}

@media (min-width: 992px) {
    .freq__contents {
        flex: 0 0 calc(50% - 50px);
    }
}

.freq__contents__title {
    margin: 0 0 40px;
}

.freq__contents__title__en {
    color: var(--color-vermilion);
    font-size: var(--fs18);
    font-weight: 700;
    line-height: 1.2;
    margin: 0 0 16px;
}

@media (min-width: 768px) {
    .freq__contents__title__en {
        font-size: var(--fs20);
        margin: 0 0 24px;
    }
}

@media (min-width: 992px) {
    .freq__contents__title__en {
        font-size: var(--fs23);
    }
}

.freq__contents__title__ja {
    color: var(--color-rich-black);
    font-size: var(--fs32);
    font-weight: 700;
    line-height: 1.2;
    margin: 0;
}

@media (min-width: 768px) {
    .freq__contents__title__ja {
        font-size: var(--fs36);
    }
}

@media (min-width: 992px) {
    .freq__contents__title__ja {
        font-size: var(--fs40);
    }
}

.freq__contents__content p {
    font-size: var(--fs14);
    line-height: 1.55;
    margin: 0;
}

@media (min-width: 768px) {
    .freq__contents__content p {
        font-size: var(--fs16);
    }
}

@media (min-width: 992px) {
    .freq__contents__content p {
        font-size: var(--fs18);
    }
}

.freq__fig {
    flex: 0 0 100%;
    text-align: center;
}

@media (min-width: 768px) {
    .freq__fig {
        flex: 0 0 50%;
    }
}

@media (max-width: 767px) {
    .freq__fig img {
        width: 100%;
    }
}

.onesite {
    align-items: center;
    display: flex;
    flex-flow: row-reverse wrap;
    gap: 40px 30px;
    margin: 0 auto 120px;
    max-width: calc(var(--container-width) + var(--c-pad)*2);
    padding: 0 var(--c-pad);
    width: 100%;
}

@media (min-width: 768px) {
    .onesite {
        margin: 0 auto 150px;
    }
}

@media (min-width: 992px) {
    .onesite {
        gap: 0 50px;
    }
}

.onesite__contents {
    flex: 0 0 100%;
}

@media (min-width: 768px) {
    .onesite__contents {
        flex: 0 0 calc(50% - 30px);
    }
}

@media (min-width: 992px) {
    .onesite__contents {
        flex: 0 0 calc(50% - 50px);
    }
}

.onesite__contents__title {
    margin: 0 0 40px;
}

.onesite__contents__title__en {
    color: var(--color-vermilion);
    font-size: var(--fs18);
    font-weight: 700;
    line-height: 1.2;
    margin: 0 0 16px;
}

@media (min-width: 768px) {
    .onesite__contents__title__en {
        font-size: var(--fs20);
        margin: 0 0 24px;
    }
}

@media (min-width: 992px) {
    .onesite__contents__title__en {
        font-size: var(--fs23);
    }
}

.onesite__contents__title__ja {
    color: var(--color-rich-black);
    font-size: var(--fs32);
    font-weight: 700;
    line-height: 1.2;
    margin: 0;
}

@media (min-width: 768px) {
    .onesite__contents__title__ja {
        font-size: var(--fs36);
    }
}

@media (min-width: 992px) {
    .onesite__contents__title__ja {
        font-size: var(--fs40);
    }
}

.onesite__contents__content p {
    font-size: var(--fs14);
    line-height: 1.55;
    margin: 0;
}

@media (min-width: 768px) {
    .onesite__contents__content p {
        font-size: var(--fs16);
    }
}

@media (min-width: 992px) {
    .onesite__contents__content p {
        font-size: var(--fs18);
    }
}

.onesite__fig {
    flex: 0 0 100%;
    text-align: center;
}

@media (min-width: 768px) {
    .onesite__fig {
        flex: 0 0 50%;
    }
}

@media (max-width: 767px) {
    .onesite__fig img {
        width: 100%;
    }
}

.inspection {
    align-items: center;
    display: flex;
    flex-flow: row wrap;
    gap: 40px 30px;
    margin: 0 auto;
    max-width: calc(var(--container-width) + var(--c-pad)*2);
    padding: 0 var(--c-pad);
    width: 100%;
}

@media (min-width: 992px) {
    .inspection {
        gap: 0 50px;
    }
}

.inspection__contents {
    flex: 0 0 100%;
}

@media (min-width: 768px) {
    .inspection__contents {
        flex: 0 0 calc(50% - 30px);
    }
}

@media (min-width: 992px) {
    .inspection__contents {
        flex: 0 0 calc(50% - 50px);
    }
}

.inspection__contents__title {
    margin: 0 0 40px;
}

.inspection__contents__title__en {
    color: var(--color-vermilion);
    font-size: var(--fs18);
    font-weight: 700;
    line-height: 1.2;
    margin: 0 0 16px;
}

@media (min-width: 768px) {
    .inspection__contents__title__en {
        font-size: var(--fs20);
        margin: 0 0 24px;
    }
}

@media (min-width: 992px) {
    .inspection__contents__title__en {
        font-size: var(--fs23);
    }
}

.inspection__contents__title__ja {
    color: var(--color-rich-black);
    font-size: var(--fs32);
    font-weight: 700;
    line-height: 1.2;
    margin: 0;
}

@media (min-width: 768px) {
    .inspection__contents__title__ja {
        font-size: var(--fs36);
    }
}

@media (min-width: 992px) {
    .inspection__contents__title__ja {
        font-size: var(--fs40);
    }
}

.inspection__contents__content p {
    font-size: var(--fs14);
    line-height: 1.55;
    margin: 0;
}

@media (min-width: 768px) {
    .inspection__contents__content p {
        font-size: var(--fs16);
    }
}

@media (min-width: 992px) {
    .inspection__contents__content p {
        font-size: var(--fs18);
    }
}

.inspection__fig {
    flex: 0 0 100%;
    text-align: center;
}

@media (min-width: 768px) {
    .inspection__fig {
        flex: 0 0 50%;
    }
}

@media (max-width: 767px) {
    .inspection__fig img {
        width: 100%;
    }
}