.cover-section img {
    height: 40%;
}

.cover-text .title {
    text-align: left;
}

.cover-text h1 {
    text-align: left;
    font-size: 1.8rem;
}

#spec-top2 {
    background-color: #fffaf0;
}

.spec-top-title h2 {
    font-size: 2.6rem;
    font-weight: 600;
    letter-spacing: 2px;
}

.cover-text {
    top: 60%;
}

.spec-top-title {
    padding-bottom: 20px;
}

.inner2 {
    width: 80%;
    max-width: 800px;
    margin: 0 auto;
}

.spec-top-title {
    padding: 0;
    padding-top: 30px;
}

.warranty-main-text h1[data-icon]::before {
    content: "";
    display: inline-block;
    width: 60px;
    height: 60px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

h1[data-icon="ykzi_icon01"]::before {
    background-image: url("/img/yakuzai/ykzi_icon01.png");
}

h1[data-icon="shiroari_icon01"]::before {
    background-image: url("/img/shiroari/shiroari_icon01.png");
}

h1[data-icon="shiroari_icon02"]::before {
    background-image: url("/img/shiroari/shiroari_icon02.png");
}

h1[data-icon="bs_icon01"]::before {
    background-image: url("/img/bougi/bs_icon01.png");
}

h1[data-icon="bs_icon02"]::before {
    background-image: url("/img/bougi/bs_icon02.png");
}

h1[data-icon="bs_icon03"]::before {
    background-image: url("/img/bougi/bs_icon03.png");
}


.bg-beige {
    background-color: #fffaf0;
}

.bg-lightgeen {
    background-color: #22a173;
}

.warranty-main {
    display: flex;
    gap: 70px;
    padding-bottom: 60px;
    max-width: 1100px;
    align-items: center;
}

.warranty-original {
    max-width: 1200px;
    margin: 0 auto;
}

.warranty-main-text h1 {
    font-family: Noto Sans JP;
    font-size: 2.8rem;
    font-weight: 700;
    width: 100%;
    line-height: 1.5;
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 20px;
}

.spec-top-title {
    margin-bottom: 30px;
}

.card-list {
    grid-template-columns: repeat(4, 1fr);
}


.warranty-main.is-reverse {
    flex-direction: row-reverse;
    margin-left: auto;
}

.ykzi-company {
    font-size: 2rem;
    font-family: Noto Serif JP;
    font-weight: 700;
    line-height: 1.5;
    margin-top: 20px;
    letter-spacing: 1;
}

.ykzi-company-ctgry {
    margin-bottom: 0;
    margin-top: auto;
}

.warranty-main-text {
    margin-top: 20px;

}

.warranty-main-img {
    width: 100%;
}



.spec-content .green {
    font-size: 2rem;
    letter-spacing: 0;
}

.warranty-card {
    display: block;
}

.aw-card-blk {
    background-color: #e6f5f0;
    border: solid #22a173;
    margin-top: 30px;
}

.aw-card-item p {
    font-size: 2rem;
}

.spec-text {
    padding: 20px 30px;
}

.column-tag {
    color: white;
    text-align: center;
    padding: 2px 5px;
    display: inline;
    background-color: #22a173;
    font-size: 1.2rem;
    margin: 0;
}

.pickup-card-text .text {
    font-size: 1.4rem;

}


.reveal {
    opacity: 0;
    transform: translateY(22px);
    transition: opacity 1s ease, transform 1s ease
}

.reveal.in {
    opacity: 1;
    transform: none
}

.blk {
    padding: 72px 0
}



.flowgrid {
    list-style: none;
    padding: 0;
    margin: 0;
}

.flowgrid li.step {
    display: flex;
    align-items: center;
    gap: 40px
}

.flowgrid .ill {
    flex: none;
    width: 200px;
    height: 200px;
    object-fit: contain
}

.flowgrid .content {
    flex: 1;
    min-width: 0
}

.flowgrid .row {
    display: flex;
    align-items: center;
    gap: 18px
}

.flowgrid .num {
    flex: none;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: #22a173;
    color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center
}

.flowgrid .num i {
    font-style: normal;
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 2.8rem;
    font-weight: 600;
    line-height: 1;
    transform: translateY(-2px)
}

.flowgrid .ttl {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 2.2rem;
    font-weight: 500;
    color: #000000;
    line-height: 1.4
}

.flowgrid .desc {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 16pt;
    font-weight: 400;
    color: #000000;
    line-height: 1.8;
    margin-top: 12px;
    padding-left: 60px
}

/* separator with downward pointer (between steps) */
.flowgrid li.sep {
    display: block;
    position: relative;
    width: 100%;
    height: 0;
    margin: 15px auto;
    border-bottom: 1pt solid #bebebe
}

.flowgrid li.sep::before {
    position: absolute;
    top: 100%;
    left: 50%;
    content: "";
    height: 0;
    width: 0;
    border: 12px solid transparent;
    border-top-color: #bebebe;
    margin-left: -12px
}

.flowgrid li.sep::after {
    position: absolute;
    top: 100%;
    left: 50%;
    content: "";
    height: 0;
    width: 0;
    border: 11px solid transparent;
    border-top-color: #ffffff;
    margin-left: -11px
}

/* plain line (no pointer): top of step1, bottom of step6 */
.flowgrid li.line {
    display: block;
    width: 100%;
    height: 0;
    border-bottom: 1pt solid #bebebe
}

.flowgrid li.line.top {
    margin: 0 auto 15px
}

.flowgrid li.line.bottom {
    margin: 15px auto 0
}

@media(max-width:820px) {
    .flowgrid li.step {
        flex-direction: column;
        align-items: center;
        gap: 18px
    }

    .flowgrid .content {
        width: 100%
    }

    .flowgrid .ttl {
        font-size: 1.9rem
    }

    .flowgrid .desc {
        font-size: 1.4rem;
        padding-left: 0;
        margin-top: 14px
    }

    .flowgrid li.sep {
        margin: 11px auto
    }

    .flowgrid li.line.top {
        margin: 0 auto 11px
    }

    .flowgrid li.line.bottom {
        margin: 11px auto 0
    }

    .warranty-main-img img {
        width: 100%;
    }

}


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

    .warranty-main {
        flex-direction: column;
        gap: 50px;
    }

    .warranty-main {
        padding: 0;
    }

    .warranty-main-text {
        width: 85%;
        margin: 0 auto;
    }

    .warranty-main.is-reverse {
        flex-direction: column;
        margin-top: 50px;
    }



    .ykzi-company-ctgry {
        position: inherit;
        font-size: 2rem;
        line-height: 1.5px;
    }

    .cover-text .title p {
        text-align: left;
        letter-spacing: 1.5;
    }

    .cover-text {
        top: 75%
    }

    .is-grid {
        display: block
    }

    .container li {
        margin-bottom: 30px;
    }

    .cover-section2 img {
        height: 100%;
    }


}

@media screen and (max-width: 625px) {
    .spec-text {
        padding: 20px 20px;
    }

    .spec-content .green {
        font-size: 1.8rem;
    }

    .yakuzai-table li {
        column-gap: 15px;
    }

    .aw-card-item p {
        font-size: 1.8rem;
    }

    .aw-card-blk {
        padding: 20px;
    }

    .spec-top-title h2 {
        font-size: 2rem;
    }

    .spec-top-title p {
        text-align: justify;
    }

    .spec-top-title h1 {
        margin-top: 10px;
    }

    .warranty-main-text h1 {
        font-size: 2rem;
        letter-spacing: 1px;
    }

    .cover-section img {
        height: 70%;
    }

    .inner2 {
        width: 90%;
        max-width: 600px;
    }

    .inner {
        width: 90%;
        max-width: 600px;
    }

    .cover-text h2 {
        font-size: 2.4rem;
    }

    .card-list {
        display: block;
    }

    .card-list li a {
        margin: 20px 0;
        text-align: center;
    }
}