#sub_contents {
    padding-top: 13.8vw;
}

.ttl.services {
    width: 69%;
    max-width: 494px;
    margin: 12.3vw auto 7.5vw;
}

.ttl_category {
    margin: 0 0 18vw;
    font-size: min(5vw, 37px);
    font-weight: 600;
    text-align: center;
    position: relative;
    letter-spacing: 8px;
}

.ttl_category:before {
    content: "";
    width: 10%;
    max-width: 64px;
    height: 5px;
    background-color: #000000;
    position: absolute;
    bottom: -55%;
    left: 50%;
    transform: translateX(-50%);
}

section.service {
    width: 100%;
    margin: 0;
    padding: 0 0;
    position: relative;
    z-index: 1;
}

.box_inner_service1 {
    width: 100%;
    height: calc(100vw * (975 / 720));
    margin: 0px 0 6vw;
    padding: 0;
    background-image: url(../img/top/inner_bg_service1.jpg);
    background-size: 96.5%;
    background-position: left bottom;
    background-repeat: no-repeat;
}


.wrap_service1 {
    width: 100%;
    margin: 0;
    padding: 0;
    display: flex;
    justify-content: space-between;
}

.left_service1 {
    width: 27%;
    max-width: 190px;
    margin: 0;
    padding: 6vw 0 0;
    text-align: center;
}

.left_service1 img {
    width: 31%;
    max-width: 58px;
}

.right_service1 {
    width: calc(100% - 26%);
    height: 96.4vw;
    margin: 0;
    padding: 0;
    background-image: url(../img/top/bg_right_service1.png);
    background-size: contain;
    background-position: right top;
    background-repeat: no-repeat;
    z-index: -1;
    position: relative;
}


.right_service1:before {
    content: "";
    width: 35%;
    height: 100%;
    max-height: 270px;
    background-image: url(../img/top/bg_righttop_service1.png);
    background-size: contain;
    background-repeat: no-repeat;
    position: absolute;
    top: -28.6%;
    right: 0;
}


.right_inner_service1 {
    margin: 0 auto;
    padding: 16.2vw 7vw 0 6.3vw;
}


.right_ttl_service1 {
    margin: 0px 0 30px;
    font-size: min(5.3vw, 38px);
    font-weight: 600;
    line-height: 1.3;
}

.right_txt_service1 {
    margin: 0 0 2.5vw;
    font-size: min(4vw, 28px);
}

.txt_under {
    width: 90%;
    margin: 0 auto;
    font-size: min(4vw, 28px);
}

.wrap_package {
    width: 90%;
    margin: 10vw auto 0;
}

.wrap_package.process2 {
    margin: 15% auto 0;
}

.wrap_package.process3 {
    margin: 14% auto 0;
}

.mds2 {
    background-color: #780038;
    font-size: min(5vw, 32px);
    color: #fff;
    font-weight: bold;
    text-align: center;
    line-height: 1.35;
    padding: 0.55em 0;
    margin: 0 0 6.4vw 0;
    height: 18vw;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
}

.txt_normal {
    margin: 0 auto 1.5em;
    font-size: min(4vw, 28px);
}

.wrap_package .img {
    width: 100%;
    margin: 0 auto;
    max-width: 630px;
}

.wrap_package .img img {
    width: 100%;
}

.wrap_package .img.mb15{
	margin-bottom: 15px;
}
.mds3 {
    font-size: min(5vw, 32px);
    font-weight: bold;
    text-align: center;
    padding: 0.5em 0;
    margin: 7.5vw 0 2.9vw 0;
    border-top: solid 2px #000;
    border-bottom: solid 2px #000;
}

.wrap_package .imgbox {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
}

.wrap_package .imgbox .img {
    width: calc(50% - 7.5px);
}

.box_sample {
    background-color: #780038;
    padding: 4.2vw 4.6vw;
    margin: 9.3% 0 0 0;
}

.box_sample .top_flex {
    display: flex;
    gap: 4%;
}

.box_sample .top_flex .img2 {
    width: 45%;
    max-width: 239px;
}

.box_sample .top_flex .img2 img {
    width: 100%;
}

.box_sample .top_flex .mdstxt {
    width: 53%;
    font-weight: bold;
    color: #fff;
    font-size: min(5.4vw, 42px);
    line-height: 1.4;
}

.box_sample p {
    font-size: min(4vw, 28px);
    color: #fff;
    margin: 3.2vw 0 0 0;
}

.box_inner_service1.process {
    height: calc(100vw * (1055 / 720));
    background-image: url(../img/top/inner_bg_service2.jpg);
    background-position: right 97%;
    background-size: 96%;
    margin: 25vw 0 0vw;
}

.box_inner_service1.process .right_service1 {
    height: 112.4vw;
    background-image: url(../img/top/bg_right_service2.png);
    width: calc(100% - 23%);
}

.box_inner_service1.process .right_service1:before {
    content: none;
}

.box_inner_service1.process .right_service1 .right_inner_service1 {
    padding: 12.2vw 3.6vw 0 7vw;
}

.right_ttl_service2 {
    margin: 0 0 4vw;
    font-size: min(5.3vw, 38px);
    font-weight: 600;
    line-height: 1.3;
}

.box_inner_service1.process .left_service1 {
    padding: 13vw 0 0;
}

.wrap_package.process {
    margin: 8vw auto 0;
}

.mds4 {
    font-size: min(5vw, 32px);
    font-weight: bold;
    text-align: center;
    margin: 7.9vw 0 3.3vw 0;
}

.box_kakou {
    border: 1px solid #000;
    padding: 2.2vw 2vw;
    margin: 0 auto 5vw 0;
    max-width: 630px;
}

.box_kakou ul {
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 5%;
}

.box_kakou li {
    width: 60%;
    margin: 0;
    padding: 0;
    list-style: none;
    font-size: min(3.9vw, 28px);

}

.box_kakou li:nth-child(odd) {
    width: 35%;
}

.txt_normal.bot {
    margin-top: 7.1vw;
}

.txt_normal.bot2 {
    margin-top: 6.3%;
}

/* --------------- top/works --------------- */
section.works {
    width: 100%;
    margin: 19vw 0 0 0;
    padding: 8.8vw 0 13vw;
    background-color: #EEECE8;
    position: relative;
}

section.works:before {
    content: "";
    width: 50%;
    max-width: 258px;
    height: 50px;
    background-image: url(../img/top/ttl_works.svg);
    background-size: 100%;
    background-repeat: no-repeat;
    position: absolute;
    z-index: 0;
    top: -3.5%;
    left: 50%;
    transform: translateX(-50%);
}

.ttl_category2.works {
    margin: 1.2vw 0 14.5vw;
    font-size: min(5vw, 37px);
    font-weight: 600;
    letter-spacing: 6px;
    text-align: center;
    position: relative;
}

.ttl_category2.works:before {
    content: "";
    width: 10%;
    max-width: 64px;
    height: 5px;
    background-color: #000000;
    position: absolute;
    bottom: -48%;
    left: 50%;
    transform: translateX(-50%);
}

.box_works1 {
    width: 85%;
    max-width: 606px;
    margin: 0 auto;
}

.slider {
    width: 100%;
    margin: 0 0 9vw;
    overflow: hidden;
    position: relative;
}

.slides {
    margin: 0 0 4vw;
    display: flex;
    transition: transform 0.5s ease-in-out;
}

.slides img {
    width: 100%;
    flex-shrink: 0;
}

.dots {
    text-align: center;
    margin-top: 10px;
}

.dot {
    display: inline-block;
    width: 12px;
    height: 12px;
    background-color: #ccc;
    border-radius: 50%;
    margin: 0 5px;
    cursor: pointer;
}

.dot.active {
    background-color: #333;
}

.link_reasons {
    margin: 0 auto;
    font-size: min(4vw, 24px);
    text-align: center;
}

.link_reasons a {
    color: #000000;
    text-decoration: none;
    display: inline-block;
    position: relative;
}

.link_reasons a::before {
    content: "";
    width: 26.8%;
    max-width: 50px;
    height: 100%;
    background-image: url(../img/top/icon_arrow.svg);
    background-size: 100%;
    background-repeat: no-repeat;
    position: absolute;
    right: -2vw;
    top: 30%;
}

.link_reasons a span.roboto {
    padding: 0 8.5vw 0 0;
}




































section.contact {
    padding: 10.4vw 0 14vw;
}


@media (min-width: 721px) and (max-width: 990px) {

    #sub_contents {
        padding-top: 99px;
    }

    .ttl.services {
        margin: 89px auto 54px;
    }

    .ttl_category {
        margin: 0 0 130px;
        font-size: 36px;
    }

    .box_inner_service1 {
        margin: 0px auto 49px;
        height: 975px;
        max-width: 720px;
    }

    .box_inner_service1.process {
        height: 1055px;
        margin: 180px auto 0;
        max-width: 720px;
    }

    .left_service1 {
        padding: 43px 0 0;
    }

    .right_service1 {
        height: 694px;
    }

    .right_inner_service1 {
        padding: 116px 50px 0 45px;
    }

    .right_ttl_service1 {
        font-size: 38px;
    }

    .right_txt_service1 {
        margin: 0 0 18px;
        font-size: 28px;
    }

    .txt_under {
        font-size: 28px;
    }

    .wrap_package {
        margin: 72px auto 0;
    }

    .mds2 {
        font-size: 32px;
        margin: 0 0 46px 0;
        height: 130px;
    }

    .txt_normal {
        font-size: 28px;
    }

    .mds3 {
        font-size: 32px;
        margin: 54px 0 21px 0;
    }

    .box_sample {
        padding: 30px 33px;
    }

    .box_sample .top_flex .mdstxt {
        font-size: 39px;
    }

    .box_sample p {
        font-size: 28px;
        margin: 23px 0 0 0;
    }

    .box_inner_service1.process .right_service1 {
        height: 810px;
    }

    .box_inner_service1.process .left_service1 {
        padding: 94px 0 0;
    }

    .box_inner_service1.process .right_service1 .right_inner_service1 {
        padding: 87px 26px 50px;
    }

    .right_ttl_service2 {
        margin: 0 0 29px;
        font-size: 38px;
    }

    .wrap_package.process {
        margin: 58px auto 0;
    }

    .mds4 {
        font-size: 32px;
        margin: 57px 0 24px 0;
    }

    .box_kakou {
        margin: 0 auto 36px;
        padding: 16px 14px;

    }

    .box_kakou li {
        font-size: 28px;
    }

    .txt_normal.bot {
        margin-top: 51px;
    }






    .link_service a {
        font-size: 24px;
    }

    section.works {
        padding: 63px 0 94px;
    }

    .slider {
        margin: 0 0 65px;
    }

    .slides {
        margin: 0 0 29px;
    }




}

/*PC時　スマホ固定化*/

@media (min-width: 991px) {

    #sub_contents {
        padding-top: 1px;
    }

    .ttl.services {
        margin: 66px auto 40px;
    }

    .ttl_category {
        margin: 0 0 96px;
        font-size: 27px;
    }

    .box_inner_service1 {
        height: 723px;
        margin: 0px 0 32px;
    }

    .left_service1 {
        padding: 32px 0 0;
    }

    .right_service1 {
        height: 516px;
    }

    .right_inner_service1 {
        padding: 85px 38px 0 32px;
    }

    .right_ttl_service1 {
        font-size: 28px;
    }

    .right_txt_service1 {
        margin: 0 0 13px;
        font-size: 21px;
    }

    .txt_under {
        font-size: 21px;
    }

    .wrap_package {
        margin: 54px auto 0;
    }

    .mds2 {
        font-size: 27px;
        margin: 0 0 34px 0;
        height: 96px;
    }

    .txt_normal {
        font-size: 21px;
    }

    .mds3 {
        font-size: 27px;
        margin: 40px 0 16px 0;
    }

    .box_sample {
        padding: 22px 24px;
    }

    .box_sample .top_flex .mdstxt {
        font-size: 29px;
    }

    .box_sample p {
        font-size: 21px;
        margin: 17px 0 0 0;
    }

    .box_inner_service1.process {
        height: 784px;
        margin: 134px 0 0vw;
    }

    .box_inner_service1.process .right_service1 {
        height: 600px;
    }

    .box_inner_service1.process .left_service1 {
        padding: 69px 0 0;
    }


    .box_inner_service1.process .right_service1 .right_inner_service1 {
        padding: 65px 19px 0 37px;
    }

    .right_ttl_service2 {
        margin: 0 0 21px;
        font-size: 28px;
    }

    .wrap_package.process {
        margin: 43px auto 0;
    }

    .mds4 {
        font-size: 27px;
        margin: 42px 0 18px 0;
    }

    .box_kakou {
        margin: 0 auto 27px;
        padding: 12px 11px;
    }

    .box_kakou li {
        font-size: 21px;
    }

    .txt_normal.bot {
        margin-top: 38px;
    }












    /* --------------- works --------------- */
    section.works {
        padding: 47px 0 69px;
        margin: 102px 0 0 0;
    }

    .slider {
        margin: 0 0 48px;
    }

    .slides {
        margin: 0 0 21px;
    }

    .ttl_category2.works {
        margin: 0 0 77px;
        font-size: 27px;
    }

    .link_reasons a span.roboto {
        padding: 0 46px 0 0;
    }

    section.contact {
        padding: 68px 0 117px;
    }

}