.mb0{margin-bottom: 0!important;}
.mb1per{margin-bottom: 1%!important;}
.mb2per{margin-bottom: 2%!important;}
.mb3per{margin-bottom: 3%!important;}
.mb4per{margin-bottom: 4%!important;}
.mb5per{margin-bottom: 5%!important;}
.mt0{margin-top: 0!important;}
.mt1per{margin-top: 1%!important;}
.mt2per{margin-top: 2%!important;}
.mt3per{margin-top: 3%!important;}
.mt4per{margin-top: 4%!important;}
.mt5per{margin-top: 5%!important;}
.mt10per{margin-top: 10%!important;}
.jc-c{justify-content: center}
.jc-sb{justify-content:space-between}
.ai-c{align-items: center}
.fs-s{font-size: 90%}
.fs-ss{font-size: 80%}
.ta-r{text-align: right}
.list-dot,.list-note{
    padding: 0;
}
.list-dot li,.list-note li{
    padding-left: 1em;
    text-indent: -1em;
}
.wh{color: white!important}
.blue{color: #007A96!important}
.ta-c{text-align: center!important;}
.flex{display: flex;}
.flex-w20{width: 20%}
.flex-w30{width: 30%}
.flex-w35{width: 35%}
.flex-w40{width: 40%}
.flex-w48{width: 48%}
.flex-w45{width: 45%}
.flex-w49{width: 49%}
.flex-w50{width: 50%}
.flex-w60{width: 60%}
.flex-w70{width: 70%}
.flex-w80{width: 80%}
.ml-3{margin-left: 3%}
.ml-4{margin-left: 4%}
.ml-5{margin-left: 5%}
.fs-50{font-size: 50px!important;}
.fs-40{font-size: 40px!important;}
.fs-36{font-size: 36px!important;}
.fs-32{font-size: 32px!important;}
.fs-30{font-size: 30px!important;}
.fs-28{font-size: 28px!important;}
.fs-26{font-size: 26px!important;}
.fs-24{font-size: 24px!important;}
.fs-22{font-size: 22px!important;}
.fs-20{font-size: 20px!important;}
.fs-18{font-size: 18px!important;}
.fs-16{font-size: 16px!important;}
.fs-14{font-size: 14px!important;}
.fs-13{font-size: 13px!important;}
.fs-12{font-size: 12px!important;}

@media screen and (max-width: 1200px) {
    .fs-50{
        font-size: calc(1.5rem + ((1vw - 3.75px) * 3.1515))!important;
        min-height: 0vw;
    }
    .fs-40{
        font-size: calc(1.375rem + ((1vw - 3.75px) * 2.1818))!important;
        min-height: 0vw;
    }
    .fs-36{
        font-size: calc(1.25rem + ((1vw - 3.75px) * 1.9394))!important;
        min-height: 0vw;
    }
    .fs-32{
        font-size: calc(1.1875rem + ((1vw - 3.75px) * 1.5758))!important;
        min-height: 0vw;
    }
    .fs-30{
        font-size: calc(1.15625rem + ((1vw - 3.75px) * 1.3939))!important;
        min-height: 0vw;
    }
    .fs-28{
        font-size: calc(1.125rem + ((1vw - 3.75px) * 1.2121))!important;
        min-height: 0vw;
    }
    .fs-26{
        font-size: calc(1.09375rem + ((1vw - 3.75px) * 1.0303))!important;
        min-height: 0vw;
    }
    .fs-24{
        font-size: calc(1.0625rem + ((1vw - 3.75px) * 0.8485))!important;
        min-height: 0vw;
    }
    .fs-22{
        font-size: calc(1.03125rem + ((1vw - 3.75px) * 0.6667))!important;
        min-height: 0vw;
    }
    .fs-20{
        font-size: calc(1rem + ((1vw - 3.75px) * 0.4848))!important; 
        min-height: 0vw;
    }
    .fs-18{
        font-size: calc(1rem + ((1vw - 3.75px) * 0.2424))!important;
        min-height: 0vw;
    }
    .fs-16{
        font-size: calc(0.9375rem + ((1vw - 3.75px) * 0.1212))!important;
        min-height: 0vw;
    }
    .fs-14{
         font-size: calc(0.8125rem + ((1vw - 3.75px) * 0.1212))!important;
        min-height: 0vw;
    }
    .fs-13{
        font-size: calc(0.78125rem + ((1vw - 3.75px) * 0.0606))!important;
        min-height: 0vw;
    }
}
@media only screen and (max-width: 599px) {
    .flex{
        flex-direction: column;
    }
    .flex-w20,.flex-w30,.flex-w35,.flex-w40,.flex-w48,.flex-w45,.flex-w49,.flex-w50,.flex-w60,.flex-w70,.flex-w80{width: 100%;padding: 0;}
} 

.bg-bluecutprime01{
    background: url(../images/bluecutprime-img-01.jpg)no-repeat top;
    background-size: cover;
    height: 380px;
    display: flex;
    align-items: center;
}
.bg-bluecutprime01 h2{
    padding-left: 5%;
    padding-bottom: 2em
}
.bg-bluecutprime02{
    background: url(../images/bluecutprime-img-02.jpg)no-repeat top;
    background-size: cover;
    height: 380px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    padding-right: 7%
}
.bg-bluecutprime01 > div{
    padding-bottom: 20px;
}
.bluecutprime-img-2-2 img{
    max-width: 162px !important;
}
.bg-grade{
    background: linear-gradient(-90deg, rgba(0,63,95,1) 0%, rgba(47,184,195,1) 60%, rgba(0,137,161,1) 100%);
    color: white;
    padding: 10px 20px;
}
.bg-grade h2,.bg-grade h3,.bg-grade h4{
    margin: .5em 0
}
.blc02{
    line-height: 1.6;
    padding: 40px 0 20px
}
.blc02 p,
.blc02-2 p{
    text-align: center !important;
    margin: 0 auto !important
}
.blc02-2{
   line-height: 1.6;
    text-align: center;
    padding: 20px 0 20px 
}
.blc02-2 div{
    margin: 0 auto 10px;
    max-width: 220px;
     text-align: center;
}
.blc02 p,.blc02-2 p{
    margin: 0;
     text-align: center;
    font-weight: bold
}

.blc03 .img{
    width: 400px;
}
.blc03 .txt{
    width: calc(100% - 300px);
}
.bg-gray{
    background: #DDD;
}
.list-check li{
    position: relative;
    margin: 1em 0;
    line-height: 1.6;
    padding-left: 60px;
}
.list-check li::before{
    content: "";
    background: url(../images/bluecutprime-icon.png)no-repeat top;
    background-size: cover;
    position: absolute;
    top:50%;
    transform: translateY(-50%);
    left: 0;
    width: 36px;
    height: 43px;
    
}
.blc04{
    flex-direction: row-reverse;
}
.blc04 .img{
    width: 350px;
}
.blc04 .txt{
    width: calc(100% - 330px);
    padding-left: 5%;
}
.bluecutprime-img-05{
    width: 154px;
}
.blc05-1{
    padding: 0 10px;
}
.blc05-3{
    padding: 20px;
    padding-right: 0;
}
.bluecutprime-img-06 img{ max-width: 225px;}
.bluecutprime-img-07 img{ max-width: 245px;}
.bluecutprime-img-08{padding-top:10px;text-align: center;}
.bluecutprime-img-08 img{ max-width: 134px !important;}
.bluecutprime-img-09 img{max-width: 52px;}
.bluecutprime-img-10 img{max-width: 230px;}


.bg-lightblue{
    background: #D3EBEF;
    padding: 15px 20px;
}
.bg-lightblue h4{
    margin: .5em 0
}
.bg-lightblue span{
    background: #007A96;
    padding: 0em .6em .2em;
    text-align: center;
    color: white!important;
    margin-right: .5em
}

.before-after{
    justify-content:space-between;
}
.before-after .before img,
.before-after .after img{
    width: 320px;
}
.before-after .arrow{
    width: 262px;
    align-self: center;
}
.feature{
    background: linear-gradient(-90deg, rgba(0,63,95,1) 0%,  rgba(47,184,195,1) 100%);
}
.feature .img{
    max-width: 395px
}
.feature .txt{
    padding-left: 5%;
}
.feature .icon img{
    max-width: 64px !important;
}


.bg-gray2{
    background: #EEEEEF;
}
.bg-gray2-inner{
    padding:4% 5% 5%;
}
.note {
    font-size: 13px;
}

h3.ttl-bar{
    position: relative;
    padding-left: .6em;
    margin: 0.4em 0 0.6em;
    color: #444444;
}

h3.ttl-bar::before{
    content:"";
    width: 3px;
    height: 80%;
    background:#3E3A39;
    position: absolute;
    top:50%;
    transform: translateY(-50%);
    left: 0;
}
.img-bluelight img{
    width: 477px;
}

.bg-grade2{
    background: linear-gradient(-90deg, rgba(67,29,134,1) 0%, rgba(0,149,218,1) 100%);
    padding: .5em 1em;
}
.bdr-bottom{
    padding-bottom: 3%;
    margin-bottom: 3%;
    border-bottom: solid 1px #999;
}
.bluecutprime-img-26{text-align: center}
.bluecutprime-img-26 img{max-width: 125px;}
.bluecutprime-img-31{padding-right: 5%}
.bluecutprime-img-31 img{max-width: 133px;}
.bluecutprime-img-32{padding-left: 5%}
.bluecutprime-img-32 img{max-width: 297px;}
.bluecutprime-img-33{padding-right: 5%}
.bluecutprime-img-33 img{max-width: 572px;}

.bluecutprime-img-34{padding-right: 5%}
.bluecutprime-img-34 img{max-width: 273px;}
.bluecutprime-img-35{padding-left: 5%}
.bluecutprime-img-35 img{max-width: 154px;}
.bluecutprime-img-36{padding-right: 5%}
.bluecutprime-img-36 img{max-width: 587px;}
.bluecutprime-img-37{padding-left: 5%}
.bluecutprime-img-37 img{max-width: 424px;}

.green{color:#009A5E!important}


.box-blue{
    border: solid 2px #00829D;
    background: white;
}
.box-blue h3{
    background: #00829D;
    padding: 10px 20px;
    margin-top: 0;
    margin-bottom: 0;
}
.box-blue .contents{
    padding: 2%;
}
ul{
    padding-left: 0;
}
ul.fs-14 li,ul.fs-16 li{
    padding-left: 1em;
    text-indent: -1em
}


.flex-list3{
    margin-bottom: 4%;
}
@media screen and (max-width: 1400px) {
    .bluecutprime-img-33 img,.bluecutprime-img-36 img{max-width: 450px;}
}


.br-min1100,.br-min600{display: block}
.img-sp{display: none;}
@media screen and (max-width: 1100px) {
    .tab img{
        width: 100%;
        height: auto;
    }
    .img-sp{display: block;}
    .bg-bluecutprime01,.bg-bluecutprime02{
        background: none;
        height: auto;
        display: block;
    }
    .bg-bluecutprime01{
        background: #F1F2F2;
        text-align: center;
    }
    .bg-bluecutprime01 h2{
        padding: 0 0 6%;
    }
    .bg-bluecutprime02{
        padding-right:0;
        background: #007896;
    }
    .bg-bluecutprime02 .txt{
        padding: 2% 4% 4%;
        display: flex;
        align-items: center;
        justify-content: space-between;
    }

   .blc02-2 div{
       width: 50vw;
        max-width: 160px;
    }
    .br-min1100{display: none}
    .blc03.flex,.blc04.flex{
        flex-direction:column;
    }
    .blc03 .img,.blc04 .img{
        width: 100%;
    }
    .blc03 .txt,.blc04 .txt{
        width: 100%;
        padding: 4%;
    }
    .blc04 .txt{
       text-align: center;
    }
    .list-check li{
        padding-left: 40px
    }
    .list-check li::before{
        width: 24px;
        height: 28px;
        background-size: cover;

    }
    .txt-spL{
        text-align: left;
    }
    .bluecutprime-img-05{
        margin-right: 3%
    }
    .blc05.flex{
       flex-direction:column;  
    }
    .bluecutprime-img-06{
        text-align: center
    }
    .blc05-2{
        text-align: center;
    }
    .bluecutprime-img-07{
        margin-bottom: 3%;
    }
    .blc05-3{
        width: 100%;
        justify-content: space-between;
    }
    .bluecutprime-img-07 img{
        max-width: 300px;
    }
    .bluecutprime-img-09
    .bluecutprime-img-09 img{
        max-width: 112px;
    }
    .before-after.flex,.feature.flex{
        flex-direction:column;
    }
    .before-after .flex-w35,.before-after .flex-w30{
        width: 100%;
    }
    .before-after .arrow{
        max-width: 360px;
        margin-bottom: 3%;
    }
    .feature .img,.feature .txt{
        width: 100%;
        text-align: center;
    }
    .feature .img{
       max-width: 100%;
    }
    .feature .txt{
        padding: 4%
    }
    .flex.flex-list2{
        flex-direction: column;
    }
    .flex-list2 .flex-w48{
        width: 100%;
        margin-bottom: 4%
    }
    .subpage .branches .inner.detail h3.ttl-bar{
        margin-bottom: 3%;
    }
    .flex-list3{
        flex-wrap:wrap;
        justify-content: space-between;
        align-items: flex-start;
        margin-bottom: 5%;
    }
    .bluecutprime-img-31,.bluecutprime-img-34{
        width: 100%;
        text-align: center;
        margin-bottom: 5%
    }
    .bluecutprime-img-34{
        margin-top: 4%;
    }
    .flex-list3 > div:nth-child(2),.flex-list3 > div:nth-child(3){
        width: 48%;
    }
    .contents.flex{
        flex-direction: column;
    }
    .contents h4{
        margin-bottom: .5em
    }
    .box-blue .contents{
        padding: 4%;
    }
    .box-blue .flex-w80{
        width: 100%
    }
}
@media screen and (max-width: 599px) {
    .br-min600{display: none;}
    .blc02 div{
        max-width: 28px;
    }
    .list-check li::before{
        top:8px;
        transform: translateY(0)
    }
    .bluecutprime-img-09 img{
        max-width: 50px;
    }
    .bluecutprime-img-09{
        margin-bottom: 25px;
    }
    .blc05-3{
        padding: 30px 20px 10px;
    }
    .before-after .arrow{
        max-width: 300px;
    }
    .bg-lightblue {
        padding: 10px 15px;
        line-height: 1.8;
    }
    .flex-list3 > div:nth-child(2),.flex-list3 > div:nth-child(3){
        width: 100%;
    }
    .flex-list3 > div:nth-child(3){
        margin-top: 20px;
        text-align: center;
    }
    .bluecutprime-img-32,.bluecutprime-img-35{
        padding-left: 0;
    }
}
.bold {
    font-weight: bold;
}
div.section.c-migration h4{
    margin: 0;
}
div.section.c-migration ul {
    padding-left: 0;
}
.tab{
    font-size: 17px;
}