@charset "UTF-8";
/* =====================================
	flow
===================================== */

.visual{
    width: 100%;
    height: min(29.165vw, 350px);
    background: url("../img/common/visual01.jpg") center;
    background-size: cover;
}

.visual .inner{
    width: 100%;
    max-width: 1200px;
    height: min(29.165vw, 350px);
    margin: 0 auto;
    position: relative;
}

.visual h1{
    position: absolute;
    top: min(12.25vw, 147px);
    left: 10%;
    z-index: 10;
    filter: drop-shadow(5px 5px 50px rgba(0,0,0,1));
    font-size: min(3.361875vw, 5.379rem);
    color: #fff;
    font-weight: bold;
    line-height: 1;
}

.visual h1 small{
    font-size: min(1.5vw, 2.4rem);
    font-weight: normal;
    display: block;
    margin-top: 10px;
}

.lead{
    width: 100%;
    padding: 0 0 60px;
    line-height: 2;
    text-align: left;
}
.lead .read{
    font-size: 1.6rem;
    line-height: 1.8;
}
h2.useful-information {
    width: 100%;
    background: #202020;
    font-weight: bold;
    padding: 4px 10px;
    margin-bottom: 30px;
    font-size: 20px;
    line-height: 44px;
    text-align: left;
    color: #fff;
}
.step{
    width: 100%;
    padding: 40px 0 60px;
}

.step ul{
    width: 100%;
    max-width: 990px;
    margin: 0 auto;
}

.step ul li{
    width: 100%;
    max-width: 990px;
    margin: 0 auto;
    padding-bottom: 0;
    position: relative;
}
.step ul li.ttl{
    text-align: center;
    margin-bottom: 0;
}
.step ul li.ttl h2{
    text-align: center;
    font-size: 2.8rem;
}
.step ul li.ttl h2 span{
    font-size: 3.6rem;
    color: #D0000E;
}
.step ul li .ttl-no-wrap{
    display: inline-block;
        border-bottom: 3px solid #01417E;
}
.step ul li .ttl-no{
    font-size: 5rem;
    font-weight: bold;
    color: #01417E;
    display: flex;
    align-items: center;

    line-height: 1.2;
    justify-content: center;
}
.step ul li .ttl-no span.sub{
    font-size: 2rem;
    color: #799BBB;
}
.step ul li .flexbox{
    width: 100%;
    max-width: 1152px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}

.step ul li .flexbox .imgArea{
    width: 35%;
}

.step ul li .flexbox .imgArea img{
    width: 100%;
}

.step ul li .flexbox .txtArea{
    width: 57.96875%;
    margin-right: 3.125%;
    font-size: 1.5rem;
    line-height: 1.5;
}
.step ul li .flexbox .txtArea > p.sfpattern{
    font-size: 1.3rem;
    line-height: 1.5;
    padding: 1rem;
    background: #CCDBE9;
    border-radius: 5px;
    margin-top:10px;
}

.step ul li .flexbox .txtArea strong{
    font-weight: bold;
    color: #d0000d;
}

/*.step ul li:nth-child(even) .flexbox{
    flex-direction: row-reverse;
}*/

/*.step ul li:nth-child(even) .flexbox .txtArea{
    margin: 0 0 0 3.125%;
}*/
.step ul li:last-child .flexbox .txtArea{
    width: 100%;
}
p.tieupPublish{
    font-size: 20px;
    font-weight: bold;
    color:#D0000E;
    text-align: center;
}
p.coment{
    width: 100%;
    font-size: 1.8rem!important;
    line-height: 1.5!important;
    border: 3px solid #0055A5!important;
    text-align: center!important;
    margin-top: 30px;
    padding: 15px 0;
}
.step ul li h2 img{
    margin-bottom: 25px;
}

.step ul li > img{
    width: 79.192%;
    margin: 0 0 30px 14.343%;
}
.step ul li.flow-ar > img{
    width: 42px;
    margin: 15px auto 15px;
}

.step ul li > p{
    width: 79.192%;
    margin: 0 0 0 14.343%;
    font-size: 1.6rem;
    line-height: 1.8;
}

.step ul li .point{
    width: 79.192%;
    margin: 50px 0 0 14.343%;
    font-size: 1.6rem;
    line-height: 1.875;
    padding: 41px 30px 32px;
    border: 1px solid #dfdfdf;
    position: relative;
}

.step ul li .point::after{
    content: "";
    position: absolute;
    top: -20px;
    left: 50%;
    transform: translateX(-50%);
    background: url("../img/flow/point01.png") no-repeat;
    background-size: contain;
    width: 126px;
    height: 44px;
}

.step ul li:last-child .point::after{
    display: none;
}

.step > p{
    font-size: 1.6rem;
    line-height: 1.8;
    text-align: left;
    margin-bottom: 130px;
}



@media screen and (max-width:768px){

.visual{
    height: 66.67vw;
    background: url("../img/common/sp/visual01.jpg") center;
    background-size: cover;
}

.visual .inner{
    height: 66.67vw;
}

.visual h1{
    position: inherit;
    top: auto;
    left: auto;
    font-size: 9.30533vw;
    line-height: 1.2678;
    text-align: center;
    padding-top: 23.867vw;
}

.visual h1 small{
    font-size: 4.152vw;
    margin-top: 1.2vw;
}

.lead{
    font-size: 4vw;
    line-height: 2;
    padding: 11.33vw 0 10.67vw;
}

.step{
    padding: 13.33vw 0 14vw;
    width: 100%;
}

.step ul li .flexbox{
    flex-direction: column;
    align-items: center;
}
.step ul li{
    padding-bottom: 3.6vw;
}
.step ul li .flexbox .txtArea {
    width: 100%;
    margin-right: 3.125%;
    font-size: 1.5rem;
    line-height: 1.5;
}
.step ul li:nth-child(even) .flexbox .txtArea {
    margin: 0;
}
.step ul li .flexbox .imgArea {
    width: 75%;
    margin-bottom: 15px;
}

.step ul li::before{
    display: none;
}

.step ul li > img{
    width: 100%;
    margin: 0 0 3.33vw;
}

.step ul li > p{
    width: 100%;
    margin: 0;
    font-size: 4vw;
}
.step > p{
    font-size: 4vw;
    margin-bottom: 14.67vw;
}
p.coment {
    width: 100%;
    font-size: 1.5rem !important;
    line-height: 1.3 !important;
    border: 3px solid #0055A5 !important;
    text-align: left!important;
    margin-top: 30px;
    padding: 15px;
}

}