.arrow img {
    width: 10px;
}

.base-image img,
.product-image img {
    width: 130px;
}

.sequence {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}

.sequence img {
    display: block;
    object-fit: contain;
}

.sequence figcaption {
    margin-top: 8px;
    font-size: 0.9rem;
    text-align: center;
}

.steps-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    /* 2×2 */
    gap: 20px;
    padding-left: 1.5em;
    max-width: 800px;
    margin: 0 auto;
}

.steps-grid img {
    display: block;
    height: 200px;
    margin: 10px auto;
}

.steps-grid h2 {
    font-size: 1.2rem;
    margin: 0 0 10px;
}

.steps-grid li::marker {
    /* h2 と合わせる */
    font-size: 1.2rem;
    font-weight: bold;
}

.reference {
    text-align: right;
    font-size: 0.8rem;
    color: #666;
    margin-top: 5px;
}
