@charset "UTF-8";
/* ========================================
  @media screen and (min-width: 768px), print
======================================== */
@media screen and (min-width: 768px),print {
/* mv
-------------------------------------*/
.mv {
    position: relative;
    margin: 62px 0 83px;
    z-index: 5;
}
.mv::before {
    position: absolute;
    content: "";
    width: 86.458333%;
    height: 473px;
    border-radius: 0px 180px 180px 0px;
    background: #eef0e7;
    top: 0;
    left: 0;
    pointer-events: none;
}
.mv .inner {
    width: min(95%, 1600px);
    margin-inline: auto;
    display: grid;
    grid-template-columns: 46.1% 52%;
    padding: 54px 0 0;
    gap: 31px;
    position: relative;
}
.mv .txt-box {
 padding-left: 185px;
}
.mv .enttl {
    font-size: 140px;
    letter-spacing: 0.05em;
    line-height: 1;
    color: #3b8461;
    margin-bottom: 20px;
}
.mv h2 {
    font-weight: 500;
    font-size: 28px;
    letter-spacing: 0.05em;
    line-height: 1.321428;
    margin-bottom: 56px;
    padding-left: 14px;
}
.mv .txt {
    font-weight: 500;
    font-size: 16px;
    letter-spacing: 0.05em;
    line-height: 2;
    padding-left: 14px;
}
.mv .photo {
    position: relative;
    top: -84px;
}

/* step
-------------------------------------*/
.step {
    background: linear-gradient(#faf8f4 0%, #faf8f4 95%, #fff 100%);
    margin-top: -240px;
    position: relative;
    z-index: 0;
}
.step .inner {
    width: min(95%, 1100px);
    margin-inline: auto;
    padding: 309px 0 119px;
}
.step .ttl-box {
    position: relative;
}
.step .ttl-box::before {
    position: absolute;
    background: url(../images/flow/step-ttl-bg.png)no-repeat;
    background-size: contain;
    content: "";
    width: 724px;
    height: 606px;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
}
.step .ttl-box::after {
    position: absolute;
    content: "";
    background: url(../images/flow/bird.png)no-repeat;
    background-size: contain;
    top: 65px;
    left: 46px;
    width: 126px;
    height: 142px;
}
.step .ttl-box h2 {
    font-weight: 500;
    font-size: 28px;
    letter-spacing: 0.05em;
    line-height: 1.9285714;
    text-align: center;
    margin-bottom: 40px;
    position: relative;
}
.step .ttl-box h2 .span01 {
    display: block;
}
.step .ttl-box h2 .span02 {
    background: #FFFFFF;
    padding: 7px 0px;
}
.step .ttl-box h3 {
    font-weight: 500;
    font-size: 16px;
    letter-spacing: 0.05em;
    line-height: 2;
    text-align: center;
    margin-bottom: 75px;
    position: relative;
}
.step .list {
    display: grid;
    gap: 80px;
}
.step .list li{
    display: grid;
    grid-template-columns: 58.2% 1fr;
    gap: 22px;
    background: #FFFFFF;
    padding: 0 0 22px 27px;
    height: 350px;
    position: relative;
}
.step .list li:nth-child(odd) {
    border-top: 8px solid #3B8461
}
.step .list li:nth-child(even) {
    border-top: 8px solid #4D9482
}
.step .list li .ttl-wrap {
    display: grid;
    grid-template-columns: 121px 1fr;
    gap: 21px;
    align-items: center;
    position: relative;
    margin-bottom: 36px;
}
.step .list li .ttl-wrap::after {
    content: "";
    position: absolute;
    left: 20px;
    bottom: 0;
    width: 96.4%;
    border-bottom: 1px dashed #1D1D1F;
    pointer-events: none;
}
.step .list li .num {
    position: relative;
    top: -5px;
}
.step .list li h3 {
    font-weight: 500;
    font-size: 22px;
    letter-spacing: 0.05em;
    line-height: 1.72727;
    color: #3b8461;
    margin: 0;
    text-align: left;
    display: flex;
    gap: 36px;
    align-items: center;
}
.step .list li h3 span{
    font-weight: 500;
    font-size: 16px;
    letter-spacing: 0.05em;
    line-height: 2;
    color: #4d9482;
    position: relative;
}
.step .list li h3 span::before{
    position: absolute;
    content: "";
    background: #4D9482;
    width: 20px;
    height: 1px;
    top: 50%;
    left: -28px;
    transform: translateY(-50%);
}
.step .list li .txt {
    font-size: 16px;
    letter-spacing: 0.05em;
    line-height: 2;
    padding-left: 19px;
    margin-bottom: 12px;
}
.step .list li .txt .bold {
    font-weight: 500;
}
.step .list li .txt .line {
    box-shadow: inset 0 -3px 0 rgba(255, 208, 16, 0.4);
}
.step .list li .txt:nth-last-of-type(1) {
    margin-bottom: 0;
}
.step .list li .photo {
    padding: 20px 0 0;
}

/* list01 */
.step .list .list01::before {
    position: absolute;
    content: "";
    background: url(../images/flow/tree.png)no-repeat;
    background-size: contain;
    top: -100px;
    right: 26px;
    width: 85px;
    height: 137px;
}
.step .list .list01::after {
    position: absolute;
    content: "";
    background: url(../images/flow/list-line01.png)no-repeat;
    background-size: contain;
    top: -147px;
    left: -149px;
    width: 179px;
    height: 299px;
}
/* list02 */
.step .list .list02 {
    gap: 13px;
}
.step .list .list02::before {
    position: absolute;
    content: "";
    background: url(../images/flow/step-deco01.png)no-repeat;
    background-size: contain;
    bottom: -262px;
    right: -382px;
    width: 462px;
    height: 449px;
}
.step .list .list02::after {
    position: absolute;
    content: "";
    background: url(../images/flow/list-line02.png)no-repeat;
    background-size: contain;
    top: -147px;
    right: -149px;
    width: 153px;
    height: 311px;
}
/* list03 */
.step .list .list03::before {
    position: absolute;
    content: "";
    background: url(../images/flow/list-line03.png)no-repeat;
    background-size: contain;
    top: -131px;
    left: -148px;
    width: 150px;
    height: 267px;
}
/* list04 */
.step .list .list04 {
    gap: 11px;
}
.step .list .list04::before {
    position: absolute;
    content: "";
    background: url(../images/flow/list-line04.png)no-repeat;
    background-size: contain;
    top: -151px;
    right: -147px;
    width: 152px;
    height: 297px;
    z-index: -1;
}
/* list05 */
.step .list .list05::before {
    position: absolute;
    content: "";
    background: url(../images/flow/list-line05.png)no-repeat;
    background-size: contain;
    top: -128px;
    left: -147px;
    width: 149px;
    height: 304px;
}
.step .list .list05::after {
    position: absolute;
    content: "";
    background: url(../images/flow/step-deco02.png)no-repeat;
    background-size: contain;
    top: -441px;
    left: -462px;
    width: 508px;
    height: 528px;
}
/* list06 */
.step .list .list06 {
    gap: 0;
    grid-template-columns: 59.8% 1fr;
}
.step .list .list06 .photo {
    padding: 15px 0 0;
    position: relative;
    left: -4px;
}
.step .list .list06::before {
    position: absolute;
    content: "";
    background: url(../images/flow/list-line06.png)no-repeat;
    background-size: contain;
    top: -164px;
    right: -141px;
    width: 145px;
    height: 256px;
    z-index: -1;
}
.step .list .list06::after {
    position: absolute;
    content: "";
    background: url(../images/flow/step-deco03.png)no-repeat;
    background-size: contain;
    top: -144px;
    right: -31px;
    width: 96px;
    height: 241px;
}
/* list06 */
.step .list .list07 .photo {
    padding: 15px 0;
}
.step .list .list07::before {
    position: absolute;
    content: "";
    background: url(../images/flow/list-line07.png)no-repeat;
    background-size: contain;
    top: -125px;
    left: -155px;
    width: 157px;
    height: 301px;
}

/* bnr-box
-------------------------------------*/
.bnr-box {
    position: relative;
    background: #F6F6F6;
    margin-bottom: -121px;
}
.bnr-box .inner {
    width: min(95%, 1100px);
    margin-inline: auto;
    position: relative;
    padding: 155px 0 280px;
}
.bnr-box .inner::before {
    background: url(../images/flow/bnr-box-deco.png)no-repeat;
    background-size: contain;
    width: 815px;
    height: 530px;
    top: -115px;
    left: 59px;
    position: absolute;
    content: "";
}
.bnr-box h2 {
    font-weight: 500;
    font-size: 38px;
    letter-spacing: 0.05em;
    text-align: center;
    margin-bottom: 14px;
    padding-left: 22px;
    position: relative;
}
.bnr-box h3 {
    font-weight: 500;
    font-size: 20px;
    letter-spacing: 0.05em;
    margin-bottom: 57px;
    text-align: center;
    position: relative;
}
.bnr-box .list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 40px;
    position: relative;
} 
.bnr-box .list li img {
    margin-bottom: 11px;
}
.bnr-box .list li .txt {
    font-size: 14px;
    letter-spacing: 0.05em;
    line-height: 1.7142857;
    text-align: center;
}



}

/* ========================================
@media screen and (min-width:768px) and (max-width:1700px) 
======================================== */
@media screen and (min-width:768px) and (max-width:1700px) {
/* mv
-------------------------------------*/
.mv {
    margin: 3.647vw 0 4.882vw;
}
.mv::before {
    height: 27.824vw;
    border-radius: 0px 10.588vw 10.588vw 0px;
}
.mv .inner {
    grid-template-columns: 48% 52%;
    padding: 3.176vw 0 0;
    gap: 1.824vw;
}
.mv .txt-box {
    padding-left: 10.882vw;
}
.mv .enttl {
    font-size: 8.235vw;
    margin-bottom: 1.176vw;
}
.mv h2 {
    font-size: 1.647vw;
    margin-bottom: 3.294vw;
    padding-left: 0.824vw;
}
.mv .txt {
    font-size: clamp(0.625rem, 0.316rem + 0.64vw, 1rem);
    padding-left: 0.824vw;
}
.mv .photo {
    top: -4.941vw;
}
.mv .photo img {
    width: 100%;
    height: auto;
}
}

/* ========================================
@media screen and (min-width:768px) and (max-width:1919px) 
======================================== */
@media screen and (min-width:768px) and (max-width:1919px) {
    .step .list .list02::before {
        position: absolute;
        content: "";
        background: url(../images/flow/step-deco01.png)no-repeat;
        background-size: contain;
        bottom: -13.653vw;
        right: -19.906vw;
        width: 24.075vw;
        height: 23.398vw;
    }
    .step .list .list05::after {
        position: absolute;
        content: "";
        background: url(../images/flow/step-deco02.png)no-repeat;
        background-size: contain;
        top: -22.981vw;
        left: -24.075vw;
        width: 26.472vw;
        height: 27.514vw;
    }
}

/* ========================================
@media screen and (min-width:768px) and (max-width:1640px) 
======================================== */
@media screen and (min-width:768px) and (max-width:1640px) {
/* step
-------------------------------------*/
.step {
    margin-top: -14.634vw;
}
.step .inner {
    padding: 18.841vw 0 7.256vw;
    width: 67.073vw;
}
.step .ttl-box::before {
    width: 44.146vw;
    height: 36.951vw;
}
.step .ttl-box::after {
    top: 3.963vw;
    left: 0.805vw;
    width: 7.683vw;
    height: 8.659vw;
}
.step .ttl-box h2 {
    font-size: clamp(1.5rem, 1.28rem + 0.46vw, 1.75rem);
    margin-bottom: 2.439vw;
}
.step .ttl-box h2 .span02 {
    padding: 0.427vw 0px;
}
.step .ttl-box h3 {
    font-size: clamp(0.75rem, 0.53rem + 0.46vw, 1rem);
    margin-bottom: 4.573vw;
}
.step .list {
    gap: 4.878vw;
}
.step .list li{
    grid-template-columns: 58.2% 1fr;
    gap: 1.341vw;
    padding: 0 0 1.341vw 1.646vw;
    height: 23.341vw;
}
.step .list li:nth-child(odd) {
    border-top: 0.488vw solid #3B8461
}
.step .list li:nth-child(even) {
    border-top: 0.488vw solid #4D9482
}
.step .list li .ttl-wrap {
    grid-template-columns: 7.378vw 1fr;
    gap: 1.28vw;
    margin-bottom: 2.195vw;
}
.step .list li .ttl-wrap::after {
    left: 1.22vw;
}
.step .list li .num {
    top: -0.305vw;
}
.step .list li .num img {
    width: 100%;
    height: auto;
}
.step .list li h3 {
    font-size: clamp(1rem, 0.67rem + 0.69vw, 1.375rem);
    gap: 2.195vw;
}
.step .list li h3 span{
    font-size: clamp(0.625rem, 0.295rem + 0.69vw, 1rem);
}
.step .list li h3 span::before{
    width: 1.22vw;
    height: 0.061vw;
    left: -1.707vw;
}
.step .list li .txt {
    font-size: clamp(0.625rem, 0.295rem + 0.69vw, 1rem);
    padding-left: 1.159vw;
    margin-bottom: 0.732vw;
}
.step .list li .photo {
    padding: 1.22vw 0 0;
}
.step .list li .photo img {
    width: 100%;
    height: auto;
}

/* list01 */
.step .list .list01::before {
    top: -6.098vw;
    right: 1.585vw;
    width: 5.183vw;
    height: 8.354vw;
}
.step .list .list01::after {
    top: -8.963vw;
    left: -9.085vw;
    width: 10.915vw;
    height: 18.232vw;
}
/* list02 */
.step .list .list02 {
    gap: 0.793vw;
}
.step .list .list02::before {
    bottom: -15.976vw;
    right: -23.293vw;
    width: 28.171vw;
    height: 27.378vw;
}
.step .list .list02::after {
    top: -8.963vw;
    right: -9.085vw;
    width: 9.329vw;
    height: 18.963vw;
}
/* list03 */
.step .list .list03::before {
    top: -7.988vw;
    left: -9.024vw;
    width: 9.146vw;
    height: 16.28vw;
}
/* list04 */
.step .list .list04 {
    gap: 0.671vw;
}
.step .list .list04::before {
    top: -9.207vw;
    right: -8.963vw;
    width: 9.268vw;
    height: 18.11vw;
}
/* list05 */
.step .list .list05::before {
    top: -7.805vw;
    left: -8.963vw;
    width: 9.085vw;
    height: 18.537vw;
}
.step .list .list05::after {
    top: -26.89vw;
    left: -28.171vw;
    width: 30.976vw;
    height: 32.195vw;
}
/* list06 */
.step .list .list06 {
    grid-template-columns: 59.8% 1fr;
}
.step .list .list06 .photo {
    padding: 0.915vw 0 0;
    left: -0.244vw;
}
.step .list .list06::before {
    top: -10vw;
    right: -8.598vw;
    width: 8.841vw;
    height: 15.61vw;
}
.step .list .list06::after {
    top: -8.78vw;
    right: -1.89vw;
    width: 5.854vw;
    height: 14.695vw;
}
/* list06 */
.step .list .list07 .photo {
    padding: 0.915vw 0;
}
.step .list .list07::before {
    top: -7.622vw;
    left: -9.451vw;
    width: 9.573vw;
    height: 18.354vw;
}
}

/* ========================================
@media screen and (min-width:768px) and (max-width:1140px) 
======================================== */
@media screen and (min-width:768px) and (max-width:1140px) {
/* bnr-box
-------------------------------------*/
.bnr-box {
    margin-bottom: -10.614vw;
}
.bnr-box .inner {
    padding: 13.596vw 0 24.561vw;
}
.bnr-box .inner::before {
    width: 45.351vw;
    height: 43.86vw;
    top: 0.07vw;
    left: 19.982vw;
}
.bnr-box h2 {
    margin-bottom: 1.228vw;
    padding-left: 1.93vw;
}
.bnr-box h3 {
    margin-bottom: 5vw;
}
.bnr-box .list {
    gap: 3.509vw;
} 
.bnr-box .list li img {
    margin-bottom: 0.965vw;
    width: 100%;
    height: auto;
}
.bnr-box .list li .txt {
    font-size: clamp(0.688rem, 0.3rem + 0.81vw, 0.875rem);
}

}

/* ========================================
@media screen and (max-width: 767px)
======================================== */
@media screen and (max-width: 767px) {
/* mv
-------------------------------------*/
.mv {
    position: relative;
    margin: 16vw 0 7vw;
    z-index: 2;
}
.mv::before {
    position: absolute;
    content: "";
    width: 94.69vw;
    height: 84.54vw;
    border-radius: 0px 19.32vw 19.32vw 0px;
    background: #eef0e7;
    top: 0;
    left: 0;
    pointer-events: none;
}
.mv .inner {
    width: 94.20vw;
    margin-inline: auto;
    display: grid;
    padding: 2vw 0 0;
    position: relative;
}
.mv .txt-box {
    order: 2;
    width: 82.13vw;
    margin-inline: auto;
    margin-top: -3vw;
    position: relative;
}
.mv .enttl {
    font-size:9.179vw;
    letter-spacing: 0.05em;
    line-height: 1;
    color: #3b8461;
    margin-bottom: 1vw;
    position:relative; z-index: 10;
}
.mv h2 {
    font-weight: 500;
    font-size:3.382vw;
    letter-spacing: 0.05em;
    line-height: 1.357142;
    margin-bottom: 5.5vw;
}
.mv .txt {
    font-weight: 500;
    font-size:3.382vw;
    letter-spacing: 0.05em;
    line-height: 1.857142;
    margin-bottom: 3.5vw;
}
.mv .txt:nth-last-of-type(1) {
    margin-bottom: 0;
}
.mv .photo {
    position: relative;
    top: -8.4vw;
    order: 1;
    margin-left: auto;
    margin-bottom: -8.4vw;
}
.mv .photo img {
    width: 72.46vw;
}

/* step
-------------------------------------*/
.step {
    background: linear-gradient(#faf8f4 0%, #faf8f4 95%, #fff 100%);
    margin-top: -82vw;
    position: relative;
    z-index: 0;
}
.step::before {
    position: absolute;
    content: "";
    background: url(../images/flow/list-line_sp.png)no-repeat;
    background-size: contain;
    width: 100vw;
    height: 100%;
    top: 109vw;
    left: 0;
    pointer-events: none;
}
.step .inner {
    width: 89.37vw;
    margin-inline: auto;
    padding: 101.7vw 0 20vw;
    position: relative;
}
.step .ttl-box {
    position: relative;
}
.step .ttl-box::before {
    position: absolute;
    background: url(../images/flow/step-ttl-bg_sp.png)no-repeat;
    background-size: contain;
    content: "";
    width: 136.71vw;
    height: 108.94vw;
    top: -44vw;
    left: 50%;
    transform: translateX(-50%);
}
.step .ttl-box::after {
    position: absolute;
    content: "";
    background: url(../images/flow/bird.png)no-repeat;
    background-size: contain;
    top: -11vw;
    left: 2vw;
    width: 15.22vw;
    height: 17.15vw;
}
.step .ttl-box h2 {
    font-weight: 500;
    font-size:5.314vw;
    letter-spacing: 0.05em;
    line-height: 1.95;
    text-align: center;
    margin-bottom: 9vw;
    position: relative;
}
.step .ttl-box h2 .span01 {
    display: block;
}
.step .ttl-box h2 .span02 {
    background: #FFFFFF;
    padding: 0.4vw 0px;
    position: relative;
    left: 2vw;
    font-feature-settings: "palt";
}
.step .ttl-box h3 {
    font-weight: 500;
    font-size:3.382vw;
    letter-spacing: 0.05em;
    line-height: 1.857142;
    text-align: center;
    margin-bottom: 12.5vw;
    position: relative;
}
.step .list {
    display: grid;
    gap: 9.45vw;
    position: relative;
}
.step::after {
    position: absolute;
    content: "";
    background: url(../images/flow/step-deco01_sp.png)no-repeat;
    background-size: contain;
    top: 283vw;
    right: 0;
    width: 27.05vw;
    height: 56.52vw;
    z-index: -1;
}
.step .list li{
    display: grid;
    background: #FFFFFF;
    position: relative;
    gap: 5.7vw;
    padding-bottom: 8.544vw;
}
.step .list li:nth-child(odd) {
    border-top: 1.45vw solid #3B8461
}
.step .list li:nth-child(even) {
    border-top: 1.45vw solid #4D9482
}
.step .list li .ttl-wrap {
    display: grid;
    grid-template-columns: 21.74vw 1fr;
    gap: 0;
    align-items: center;
    position: relative;
    margin-bottom: 6.5vw;
}
.step .list li .ttl-wrap::after {
    content: "";
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: -1vw;
    width: 82.13vw;
    border-bottom: 0.2vw dashed #1D1D1F;
    pointer-events: none;
}
.step .list li .num {
    position: relative;
    top: -0.5vw;
}
.step .list li h3 {
    font-weight: 500;
    font-size:4.348vw;
    letter-spacing: 0.05em;
    line-height: 1.5555;
    color: #3b8461;
    margin: 0;
    text-align: left;
    display: grid;
    gap: 0;
}
.step .list li h3 span{
    font-weight: 500;
    font-size:3.382vw;
    letter-spacing: 0.05em;
    line-height: 2;
    color: #4d9482;
    position: relative;
    text-align: right;
    display: block;
    top: -0.5vw;
}
.step .list li h3 span::before{
    position: absolute;
    content: "";
    background: #4D9482;
    width: 3.86vw;
    height: 0.2vw;
    top: 50%;
    left: 18vw;
    transform: translateY(-50%);
}
.step .list li .txt {
    font-size:3.382vw;
    letter-spacing: 0.05em;
    line-height: 2;
    margin-bottom: 2.5vw;
    width: 82.13vw;
    margin-inline: auto;
}
.step .list li .txt .bold {
    font-weight: 500;
}
.step .list li .txt .line {
    box-shadow: inset 0 -3px 0 rgba(255, 208, 16, 0.4);
}
.step .list li .txt:nth-last-of-type(1) {
    margin-bottom: 0;
}
.step .list li .photo {
   width: 82.13vw;
   margin-inline: auto;
}

/* list01 */
.step .list .list01::before {
    position: absolute;
    content: "";
    background: url(../images/flow/tree.png)no-repeat;
    background-size: contain;
    top: -10vw;
    right: 2vw;
    width: 12.80vw;
    height: 20.53vw;
}

/* list02 */
.step .list .list02 .ttl-wrap {
    margin-bottom: 10vw;
}
.step .list .list02 .ttl-wrap h3{
    width: 51.21vw;
    position: relative;
    top: 3.5vw;
}
.step .list .list02  .ttl-wrap::after {
    bottom: -5vw;
}
.step .list .list02::after {
    position: absolute;
    content: "";
    background: url(../images/flow/step-deco04_sp.png)no-repeat;
    background-size: contain;
    bottom: 13.5vw;
    right: 8.5vw;
    width: 15.10vw;
    height: 9.90vw;
}


/* list03 */
.step .list .list03 {
    gap: 3.5vw;
}
.step .list .list03 .ttl-wrap {
    margin-bottom: 10vw;
}
.step .list .list03 .ttl-wrap h3{
    width: 51.21vw;
    position: relative;
    top: 3.5vw;
}
.step .list .list03  .ttl-wrap::after {
    bottom: -5vw;
}
.step .list .list03::after {
    position: absolute;
    content: "";
    background: url(../images/flow/step-deco02.png)no-repeat;
    background-size: contain;
    bottom: -67vw;
    left: -33vw;
    width: 118.36vw;
    height: 114.73vw;
    z-index: -1;
}

/* list04 */
.step .list .list04 {
    gap: 4.95vw;
}

/* list05 */
.step .list .list05 {
    gap: 4.95vw;
}
.step .list .list05::after {
    position: absolute;
    content: "";
    background: url(../images/flow/step-deco03_sp.png)no-repeat;
    background-size: contain;
    bottom: 8.5vw;
    right: 2vw;
    width: 22.95vw;
    height: 13.16vw;
}

/* list06 */
.step .list .list06 {
    gap: 3.8vw;
}
.step .list .list06 .ttl-wrap {
    margin-bottom: 6vw;
}
.step .list .list06::after {
    position: absolute;
    content: "";
    background: url(../images/flow/step-deco05_sp.png)no-repeat;
    background-size: contain;
    bottom: 54.5vw;
    right: 5.5vw;
    width: 15.22vw;
    height: 14.73vw;
}


/* list07 */
.step .list .list07 {
    gap: 3.8vw;
}
.step .list .list07 .photo {
    position: relative;
    left: 3vw;
}
.step .list .list07 img {
    width: 79.47vw;
}

/* bnr-box
-------------------------------------*/
.bnr-box {
    position: relative;
    background: #F6F6F6;
    margin-bottom: -12vw;
}
.bnr-box .inner {
    width: 82.13vw;
    margin-inline: auto;
    position: relative;
    padding: 16.2vw 0 36vw;
}
.bnr-box .inner::before {
    background: url(../images/flow/bnr-box-deco_sp.png)no-repeat;
    background-size: contain;
    width: 67.63vw;
    height: 53.62vw;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    position: absolute;
    content: "";
}
.bnr-box h2 {
    font-weight: 500;
    font-size:7.005vw;
    letter-spacing: 0.05em;
    text-align: center;
    margin-bottom: 2vw;
    padding-left: 5vw;
    position: relative;
}
.bnr-box h3 {
    font-weight: 500;
    font-size:3.865vw;
    letter-spacing: 0.05em;
    margin-bottom: 6vw;
    text-align: center;
    line-height: 2;
    position: relative;
}
.bnr-box .list {
    display: grid;
    grid-template-columns: repeat(1, minmax(0, 1fr));
    gap: 6.45vw;
    text-align: center;
} 
.bnr-box .list li img {
    margin-bottom: 3.2vw;
}
.bnr-box .list li .txt {
    font-size:3.382vw;
    letter-spacing: 0.05em;
    line-height: 1.7142857;
    text-align: center;
}


}