@charset "utf-8";


/* =================================
price
================================== */
.price {
    margin-top: 129px;
}

.price .sub {
    font-size: 1.6rem;
    font-weight: 500;
    letter-spacing: 0.16rem;
}

.center {
    text-align: center;
}

.price__container {
    margin: 70px auto 0;
    padding: 80px 0;
    background-color: #F8F8F8;
    width: 63%;
    max-width: 914px;
    text-align: center;
}

.price__container h3 {
    font-size: 2.4rem;
    line-height: 1.5;
    letter-spacing: 0, 12rem;
}

.price__item {
    margin: 60px 12%;

}

.item__txt {
    font-size: 1.6rem;
    line-height: 1.5;
    letter-spacing: 0.08rem;
    padding-bottom: 18px;
    border-bottom: 1px solid rgba(34, 34, 34, 1);
    text-align: left;
}

.item__price {
    display: flex;
    margin-top: 12px;
    font-size: 1.6rem;
    line-height: 1.5;
    letter-spacing: 0.08rem;
    background-color: #fff;
    padding: 24px 43px;
    text-align: left;
    justify-content: space-between;
}

.item__txt:nth-of-type(2) {
    margin-top: 80px;
}

.item__price--sub {
    font-size: 1.2rem;
    margin-top: 8px;
}


/* SP 768px */
@media screen and (max-width:768px) {
    .price {
        margin-top: 49px;
        padding: 0 5%;
    }

    .price .sub {
    font-size: 1.2rem;
}


    .price__container {
        margin-top: 80px;
        width: 100%;
        padding-top: 56px;
        padding-bottom: 56px;
    }

    .price__container h3 {
        font-size: 1.8rem;
        line-height: 1.5;
        letter-spacing: 0.18rem;
    }

    .price__item {
        margin: 60px 7% 0px;
    }

    .item__price {
        padding: 24px 7%;
    }
}

/* price 768px */

/* =================================
flow
================================== */

.flow {
    margin-top: 149px;
}

.flow h2 {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 38px;
    font-size: 2.4rem;
}

.flow h2::before,
.flow h2::after {
    content: '';
    width: 96px;
    height: 1px;
    background: #222;
}

.flow ol {
    width: 63%;
    list-style: none;
    padding: 0;
    margin: 64px auto 0;
    max-width: 914px;
}

.flow ol li {
    display: flex;
    align-items: center;
    gap: 57px;
    padding: 34px 10%;
    margin-bottom: 28px;
    border-radius: 8px;
    border: 1px solid #DDD;
}

.flow ol li:last-child {
    margin-bottom: 0;
}

.flow ol li img {
    width: 80px;
    height: auto;
    flex-shrink: 0;
}

.flow__text h3 {
    font-size: 2.4rem;
}

.flow__text p {
    font-size: 1.6rem;
    color: rgba(73, 75, 77, 0.80);
    margin-top: 0.8rem;
    line-height: 2;
    letter-spacing: 0.06rem;
}



/* sp 768px */

@media screen and (max-width:768px) {
    .flow h2 {
        font-size: 2rem;
        letter-spacing: 0.02rem;
        gap: 20px;
    }

    .flow h2::before,
    .flow h2::after {
        width: 36px;
    }

    .flow ol {
        width: auto;
    }

    .flow ol li {
        gap: 40px;
        padding: 20px;
        margin: 0 5% 20px;
    }

    .flow ol li img {
        width: 58px;
    }

    .flow__text h3 {
        font-size: 1.4rem;
    }

    .flow__text p {
        font-size: 1.2rem;
    }

}

/* flow 768px */

/* =================================
works
================================== */

.works {
    margin: 208px 2% 0;
}

.works h2 {
    font-size: 2.4rem;
}

.mySwiper-works {
    width: 100%;
}

.mySwiper-works .swiper-slide {
    display: flex;
    justify-content: center;
    align-items: center;
}

.mySwiper-works .swiper-slide img {
    width: 100%;
    height: auto;
    max-width: 400px;
    object-fit: cover;
    margin-top: 91px;
}

.mySwiper-works .swiper-slide img {
    transform: none !important;
    transition: none !important;
}

.btn {
    margin-top: 16px;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 22px;
}

.btn__img {
    width: 39px;
    height: 39px;
}

.btn__img img {
    width: 100%;
}

.works__btn {
    display: flex;
    align-items: center
}

.works__btn p {
    text-align: center;
    font-size: 1.8rem;
    letter-spacing: 0.09rem;
}



/* sp 768px */

@media screen and (max-width:768px) {
    .works {
        margin: 120px 0 0;
    }

    .works .title {
        margin-left: 5%;
    }

    .works h2 {
        font-size: 2rem;
    }

    .works__btn p {
        font-size: 1.6rem;
    }

    .mySwiper-works .swiper-slide img {
        max-width: 263px;
        object-fit: cover;
        margin-top: 56px;
    }
}

/* works 768px */