@charset "UTF-8";

/*************************************
  ご購入の流れ
**************************************/

.flow_container{
    width: 95%;
    max-width: 767px;
    margin: 2em auto;
    counter-reset: step;
}
.flow_block{
    position: relative;
    display: flex;
    align-items: top;
    gap: 2em;
    width: 100%;
    background-color: lemonchiffon;
    border: 2px solid orange;
    border-radius: 8px;
    margin-bottom: 2em;
    padding: 1em;
    box-sizing: border-box;
}
.flow_block img{
    width: 100%;
    height: 100%;
    max-width: 80px;
    max-height: 80px;
}
.flow_block .caption{
    font-size: 1.1em;
    font-weight: bold;
    color: maroon;
    margin-bottom: 0.2em;
}
.flow_block .caption:before {
    counter-increment: step;
    content: "STEP " counter(step);
    display: inline-block;
    padding: 3px 6px;
    background-color: maroon;
    border-radius: 5px;
    color: white;
    font-size: 1em;
    line-height: 1em;
    margin-right: 0.3em;
}
.flow_block .text{
    margin-bottom: 0.5em;
}
.arrows{
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-around;
    gap: 2em;
    align-items: flex-start;
    position: absolute;
    bottom: 0.5em;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    max-width: 480px;
}
.arrows a{
    position: relative;
    text-decoration: none;
    text-align: center;
    vertical-align: bottom;
    font-size: 0.9em;
    font-weight: bold;
    color: steelblue;
}
.arrows a:before,
.arrows a:after{
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    content: "";
    display: block;
    background-color: steelblue;
}
.arrows a:before{
    bottom: -24px;
    width: 20px;
    aspect-ratio: 1 / 1;
}
.arrows a:after{
    bottom: -40px;
    width: 40px;
    aspect-ratio: 1 / calc(1 / 3 * tan(60deg));
    clip-path: polygon(0 0, 100% 0, 50% 100%); 
}

.flow_block:last-child .arrows{
    display: none;
}

@media (max-width:480px) {
    .flow_block{
        flex-direction: column;
        width: 95%;
        align-items: center;
        gap: 1em;
        padding: 0.5em;
        box-sizing: border-box;
        margin: auto 10px 2em 10px;
    }
    .flow_block img{
        max-width: 120px;
        max-height: 120px;
    }
    .flow_block .content{
        width: 100%;
    }
    .flow_block .caption{
        text-align: center;
    }
    .flow_block .caption:before{
        display: block;
        width: fit-content;
        margin: auto;
    }
}