header {
    padding-bottom: 210px;
}

.top_contents .slider ul li .slider_contents p.header_txt{
    font-size: 200%;
    font-weight: 900;
    color: #333333;
    text-align: left;
    margin-bottom: 4vw;
}
.top_contents .slider .cover_slide ul.slider_top2 li img{
    margin-left: 0;
    margin-right: 0;
}
.top_contents .slider .cover_slide ul.slider_top2 li img.img_stl{
    margin-bottom: 3vw;
    width: 375px;
    max-width: 70%;
}
.top_contents .slider .cover_slide ul.slider_top2 li img.img_stl2{
    width: 410px;
    max-width: 76%;
}

p.content{
    margin-bottom: 70px;
}

.jinsoku_teinei{
    position: relative;
    background: #E8E8E8;
    padding-top: 180px;
    margin-bottom: 0;
    padding-bottom: 0;
}
.jinsoku_teinei:before {
    content: "";
    position: absolute;
    width: 100%;
    height: 220px;
    background: url(../images/common/mark02.png) no-repeat top center;
    background-size: contain;
    top: -110px;
    left: 0;
    right: 0;
    margin: auto;
}
.jinsoku_teinei h2{
    text-align: center;
    font-size: 160%;
    font-weight: 700;
    font-family: 'M PLUS 1p', sans-serif;
    color: #113142;
    margin-bottom: 50px;
    line-height: 1.8;
}

.jinsoku_teinei .flex_box{
    max-width: 52%;
    width: 90%;
    margin: 0 auto;
    margin-bottom: 40px;
    justify-content: space-between;
}
.jinsoku_teinei .flex_box > div{
    width: 29%;
}
.jinsoku_teinei .btn_stl{
    max-width: 270px;
    width: 60%;
    display: block;
    margin: 0 auto;
}

.why_us{
    background-image: url(../images/scaffold/bg.jpg);
    background-repeat: no-repeat,no-repeat;
    background-size: cover,cover;
    padding-top: 140px;
    padding-bottom: 80px;
}
.why_us h2{
    margin-bottom: 80px;
}
.why_us p.content{
    margin-bottom: 80px;
}
.why_us .flex_box{
    max-width: 75%;
    width: 1360px;
    margin: 0 auto;
    margin-bottom: 35px;
    justify-content: space-between;
}
.why_us .flex_box > div{
    width: 23.6%;
    margin-bottom: 70px;
}
.our_services{
    padding-top: 200px;
    margin-bottom: 0;
}
.our_services .contents-box_full{
    margin-bottom: 0;
    padding-bottom: 0;
}
.our_services h2{
    margin-bottom: 120px;
}
.our_services ul li .flex_box div{
    width: 50%;
}
.our_services ul li .flex_box div img{
    vertical-align: bottom;
}
.our_services ul li.img_r .flex_box .item_img{
    order: 2;
}
.our_services ul li .flex_box .item_txt{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}
.our_services ul li .flex_box .item_txt h3{
    font-family: 'Kosugi Maru', sans-serif;
    font-size: 140%;
    font-weight: bold;
    letter-spacing: .05em;
    margin-bottom: 2.5em;
    color: #113142;
}
.our_services ul li .flex_box .item_txt p{
    width: 60%;
}
.our_services ul li:first-child .flex_box .item_txt h3{
    text-align: center;
    margin-bottom: 1.5em;
}
.our_services ul li:first-child .flex_box .item_txt h3 span{
    display: block;
    font-size: 90%;
    padding-top: 10px;
}

.order{
    background: #E8E8E8;
    padding-top: 160px;
    padding-bottom: 70px;
    margin-bottom: 0;
}
.order h2{
    margin-bottom: 80px;
}
.order .contents-box > p{
    text-align: center;
}
.order .flow{
    max-width: 42%;
    width: 750px;
    margin: 0 auto;
    padding-top: 160px;
}
.order .flow h3{
    font-family: 'Kosugi Maru', sans-serif;
    text-align: center;
    background: #fff;
    padding: .8em 0;
    margin-bottom: 50px;
    font-size: 116%;
    font-weight: bold;
    letter-spacing: .05em;
    color: #113142;
    position: relative;
}
.order .flow h3:before{
    content: "";
    position: absolute;
    width: 100%;
    height: 3em;
    background: url(../images/scaffold/img10.png) left bottom no-repeat;
    background-size: contain;
    left: -.4em;
    top: -1.5em;
}
.order .flow .cont02 h3:before{
    background: url(../images/scaffold/img11.png) left bottom no-repeat;
    background-size: contain;
}
.order .flow .cont03 h3:before{
    background: url(../images/scaffold/img12.png) left bottom no-repeat;
    background-size: contain;
}
.order .flow .cont04 h3:before{
    background: url(../images/scaffold/img13.png) left bottom no-repeat;
    background-size: contain;
}
.order .flow .cont05 h3:before{
    background: url(../images/scaffold/img14.png) left bottom no-repeat;
    background-size: contain;
}
.order .flow p{
    width: 80%;
    margin: 0 auto;
    margin-bottom: 4em;
}

.kyoka{
    padding-top: 80px;
    margin-bottom: 60px;
}
.kyoka ul{
    max-width: 90%;
    width: 1080px;
    margin: 0 auto;
}

@media screen and (min-width: 1024px) {

      .top_contents .slider ul li .slider_contents p.header_txt{
        font-size: calc(2.5rem + ((1vw - 19.2px) * 1.7857));
        min-height: 0vw;
    }
}
@media screen and (min-width: 1600px) {
    .our_services ul li .flex_box .item_txt{
        padding-right: calc(calc(100% - 1600px) / 2);
    }
    .our_services ul li.img_r .flex_box .item_txt{
        padding-right: 0;
        padding-left: calc(calc(100% - 1600px) / 2);
    }
}
@media screen and (max-width: 1360px) {
    .why_us .flex_box {
        max-width: 95%;
    }
    .our_services ul li .flex_box .item_txt h3{
        margin-bottom: .5em;
    }
    .our_services ul li:first-child .flex_box .item_txt h3{
        margin-bottom: .5em;
    }
    .our_services ul li .flex_box .item_txt p {
        width: 80%;
    }
    .order .flow {
        max-width: 80%;
    }
}
@media screen and (max-width: 1200px) {
    .our_services ul li .flex_box .item_txt p {
        width: 90%;
        font-size: 90%;
    }
    .our_services ul li .flex_box .item_txt h3{
        font-size: 110%;
    }
}
@media screen and (max-width: 1023px) {
    .top_contents .slider ul li .slider_contents p.header_txt{
        font-size: calc(1.625rem + ((1vw - 10.23px) * 2.3622));
        min-height: 0vw;
    }
    .jinsoku_teinei h2{
        font-size: 130%;
    }
    .order h2{
        font-size: 360%;
    }
    .jinsoku_teinei:before{
        height: 140px;
        top: -70px;
    }
}
@media screen and (max-width: 768px) {
    header {
        padding-bottom: 5em;
    }
    .jinsoku_teinei{
        padding-top: 6em;
    }
    .jinsoku_teinei h2{
        font-size: 110%;
        margin-bottom: 2em;
    }
    .jinsoku_teinei .flex_box{
        max-width: 100%;
        width: 100%;
    }
    p.content {
        margin-bottom: 2em;
    }
    .why_us{
        background-image: url(../images/sp/bg03.png);
        background-repeat: no-repeat,no-repeat;
        background-size: cover,cover;
        padding-top: 2em;
        padding-bottom: 2em;
        margin-bottom: 0;
    }
    .why_us h2{
        margin-bottom: 1em;
    }
    .why_us p.content{
        margin-bottom: 3em;
    }
    .why_us .flex_box{
        width: 100%;
        max-width: 100%;
    }
    .why_us .flex_box > div{
        width: 48%;
        margin-bottom: 1em;
    }
    .our_services{
        padding-top: 2.5em;
        margin-bottom: 2em;
    }
    .our_services h2 {
        margin-bottom: 1.5em;
    }
    .our_services ul li .flex_box{
        flex-direction: column;
    }
    .our_services ul li .flex_box div{
        width: 100%;
    }
    .our_services ul li.img_r .flex_box .item_img{
        order: 1;
    }
    .our_services ul li .flex_box .item_txt{
        order: 2;
        padding-top: 2em;
        margin-bottom: 2.5em;
    }
    .our_services ul li .flex_box .item_txt h3{
        font-size: 100%;
        margin-bottom: 1.3em;
    }
    .our_services ul li .flex_box .item_txt p{
        font-size: 100%;
    }
    .order{
        padding-top: 2em;
        padding-bottom: 1em;
    }
    .order h2{
        font-size: 200%;
        margin-bottom: .7em;
    }
    .order .flow{
        padding-top: 4em;
        max-width: 95%;
    }
    .order .flow h3{
        font-size: 100%;
        padding: .7em 0;
        margin-bottom: 2em;
    }
    .order .flow h3:before{
        height: 2.5em;
        top: -1.3em;
    }
    .order .flow p {
        width: 100%;
        margin-bottom: 4em;
    }
    .kyoka{
        padding-top: 1em;
        margin-bottom: 0;
    }
    .kyoka ul{
        font-size: 82%;
    }
}

@media screen and (max-width: 480px) {
    .jinsoku_teinei {
        padding-top: 4.5em;
    }
    .jinsoku_teinei h2 {
        font-size: 104%;
    }
    .jinsoku_teinei:before{
        height: 115px;
        top: -58px;
    }
    .order .flow h3:before {
        height: 2.5em;
        top: -1.3em;
    }
    .jinsoku_teinei p.content {
        margin-bottom: 0.5em;
    }
    .why_us p.content {
        margin-bottom: 2em;
    }
    .why_us .flex_box > div {
        margin-bottom: 0.5em;
    }
    .order .contents-box > p{
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
    }
    .order .contents-box > p span{
        text-align: left;
        display: block;
    }
    .kyoka ul{
        max-width: 100%;
    }
}
@media screen and (max-width: 375px) {
    .order .flow h3:before {
        height: 2.3em;
    }
}
@media screen and (max-width: 320px) {
    .jinsoku_teinei h2 {
        font-size: 98%;
    }
    .kyoka ul {
        font-size: 72%;
    }
}
