@charset "UTF-8";

@media screen and (max-width: 768px) {
    .sec-topics-main p {
        margin: 50rem 0;
        font-size: 18rem;
    }
    .sec-business__elem a:hover .sec-business__elem-num span, .sec-business__elem a:hover .sec-business__elem-ttl p, .sec-business__elem a:hover .sec-business__elem-ttl span {
        color: #FFF;
    }
    .logo-slide {
        margin-bottom: 0;
    }
    .logo-marquee img {
        width: 270vw;
        margin: 5px 0;
    }
    .logo01 {
        width: 33px!important;
    }

    .logo02 {
        width: 53px!important;
    }

    .logo05 {
        width: 160px!important;
    }

    .logo06 {
        width: 66px!important;
    }

    .logo08 {
        width: 66px!important;
    }

    .logo09 {
        width: 80px!important;
    }

    .logo10 {
        width: 80px!important;
    }

    .logo15 {
        width: 146px!important;
    }

    .logo19 {
        width: 140px!important;
    }

    .logo20 {
        width: 76px!important;
    }

    .logo21 {
        width: 133px!important;
    }

    .logo22 {
        width: 133px!important;
    }

    .logo24 {
        width: 140px!important;
    }

    .logo25 {
        width: 100px!important;
    }
    .privacy-policy-container.main-container {
        margin-top: 100rem;
    }
    .privacy-policy-container.main-container::before {
        top: 130rem;
        width: 200rem;
        height: 200rem;
    }
    .privacy-header h1 {
        font-size: 45rem;
    }
    .privacy-contact-container {
        padding: 5%;
    }
    .privacy-icon-wrapper img {
        min-width: 40rem;
    }
    .privacy-header1 {
        padding-bottom: 20rem;
        margin-bottom: 20rem;
        margin-top: 40rem;
    }
    .privacy-section-number, .privacy-section-title {
        font-size: 20rem;
    }
    .privacy-dates,
    .privacy-main-text,
    .privacy-section-list li,
    .privacy-text,
    .privacy-list-title,
    .privacy-list-text,
    .privacy-sublist,
    .privacy-list-number,
    .privacy-sublist-item,
    .second-privacy-text,
    .privacy-con p {
        font-size: 16rem;
    }
    .sec-contact-main::before {
        top: -20rem;
        width: 200rem;
        height: 200rem;
    }
    .sec-contact-main::before {
        top: -35rem;
        width: 100rem;
        height: 100rem;
    }
    .business_bg {
        background-image: url(../img/business_bg_sp.webp);
        background-repeat: repeat;
        background-position: top center;
        background-size: contain;
    }
    .parallax-img__wrap .parallax-img {
        height: 100%;
    }
    /* .business-fv-container {
        padding-bottom: 0;
    } */
    .business-fv-main-txt {
        width: 100%;
    }
    .business-fv-main-img {
        width: 100%;
        margin-bottom: 0;
    }
    .business-fv .business-num {
        margin-bottom: 0;
    }

    .business-reason {
        padding-top: 50rem;
    }
    .business-reason-box {
        padding: 50rem 24em;
    }
    .business-reason-item-img {
        margin-bottom: 40px;
    }
    .business-reason-bottom-ttl {
        margin-bottom: 80rem;
    }
    .business-flow-block:first-child {
        margin-top: 80rem;
    }
    .point-div picture {
        position: relative;
    }
    .point-div picture::before {
        position: absolute;
        content: "";
        bottom: -45rem;
        left: 0;
        right: 0;
        margin: auto;
        width: 100%;
        height: 1px;
        border-bottom: 1px dashed #333;
    }
    .business-service-item-txt {
        overflow-x: scroll;
        scrollbar-width: thin;
        scrollbar-color: #FFF #FFF
    }
    /* Chrome, Edge, Safari 用 */
    .business-service-item-txt::-webkit-scrollbar {
        height: 8px; /* 横スクロールバーの高さ */
    }

    .business-service-item-txt::-webkit-scrollbar-track {
        background: #FFF; /* トラックの色 */
        border-radius: 4px;
    }

    .business-service-item-txt::-webkit-scrollbar-thumb {
        background-color: #FFF; /* スクロールバーのつまみ色 */
        border-radius: 4px;
        border: 2px solid #FFF; /* 余白で見た目を調整 */
    }
    .business-service01 picture {
        display: block;
        width: 1230px;
    }
    .business-service03 img {
        width: 100%;
        margin-bottom: 30px;
    }
    .section-steps .step {
        flex-direction: column;
    }
    .section-steps .step h1 {
        width: 100%;
        margin-bottom: 20rem;
        padding-bottom: 20rem;
        border-bottom: 1px solid #B8BBC9;
    }
    .section-steps .step > div {
        width: 100%;
        padding-left: 0;
        margin-left: 0;
        border-left: 0;
    }
    .business-fv-main {
        gap: 40px;
    }
    .business-service-item-main {
        width: calc(100% - 24rem);
        padding: 30rem 12rem 30rem;
        margin-top: 30rem;
    }
    .business-service-item-main-sub-ttl p {
        font-size: 32rem;
        line-height: 1.4;
    }
    .business-service-item-main-grid {
        grid-template-columns: repeat(1, 1fr);
    }
    .business-service-item-main-box-ttl {
        margin-bottom: 50rem;
    }
    .business-service-item-main-box {
        padding: 24rem 12rem;
    }
    .business-service-item-main-box > p {
        margin-top: 30rem;
    }
    .business-service-item-main-box > p {
        padding: 30rem 12rem;
        font-size: 16rem;
    }
    .business-service-item-main-box-img {
        width: 75%;
    }
    .business-service-item-main-grid._m-top {
        width: 90%;
        margin-left: auto;
        margin-right: auto;
    }
    .business-service-item-main-grid-item-ttl p {
        font-weight: bold;
    }
    .business-service-item-main-img-content {
        padding-bottom: 30rem;
    }
    .business-service-item-main-grid5 {
        flex-wrap: initial;
        width: 100%;
        overflow-x: scroll;
        justify-content: space-between;
        max-width: initial;
    }
    .business-service-item-main-grid5-item {
        width: 100%;
    }
    .business-service-item-main-grid5 {
        display: block; /* グリッド表示解除 */
    }
    .swiper > div {
        gap: 30px;
    }
    .swiper-slide {
        width: 100%;
    }
    .section-steps {
        padding: 50rem 0;
    }
    .business-service-item-main-grid5 .swiper-wrapper {
        flex-wrap: nowrap;
        justify-content: initial;
    }
    .business-service-item-main-grid5 {
        overflow-x: scroll;
        scrollbar-width: thin;
        scrollbar-color: #12803B #12803B;
        padding-bottom: 30rem;
    }
    .privacy-con .privacy-con-text-green {
        width: 60%;
    }
    .privacy-contact-details {
        flex-direction: column;
        align-items: baseline;
    }
    .privacy-contact-details, .privacy-contact-card {
        width: 100%;
    }
    .privacy-section-number {
        font-size: 28px;
    }
    .second-privacy-section-title {
        font-size: 24px;
    }
    .privacy-con .privacy-con-text-green {
        width: 30%;
    }
    .privacy-header1 {
        display: flex;
        align-items: baseline;
    }
    .privacy-contact-card {
        justify-content: flex-start;
    }
    .privacy-con p {
        width: 70%;
    }

    .business-service-item-main-ttl {
        margin-top: 30rem;
        margin-bottom: 60rem;
    }

    .business-service-item-main-ttl p {
        font-size: 30rem;
        line-height: 1.4;
    }
    .business-service-item-main-txt p {
        text-align: left;
        font-size: 19rem;
    }
    .business-service-item-main-flex {
        flex-direction: column;
        margin-bottom: 50rem;
        gap: 50rem;
    }
    .business-service-item-main-flex-list p {
        font-size: 19rem;
        padding-left: 25rem;
    }
    .business-service-item-main-flex-list ul li {
        width: 15px;
        height: 15px;
    }
    .business-service-item-main-flex-list ul::after {
        top: -5%;
        height: 110%;
    }
    .business-service-item-main-txt {
        margin: 30rem 0;
    }
}