@charset "utf-8";

.intro .inner {
    padding: 80px 0;
    display: flex;
    flex-direction: column;
    gap: 16px;
    align-items: center;
}

.intro .tit-ja {
    font-family: var(--sans);
    font-weight: 500;
    font-size: clamp(1.25rem, 1.189rem + 0.26vw, 1.5rem);
    line-height: calc(32/24);
    text-align: center;
    color: #c90601;
}

.intro .desc p {
    text-align: center;
}

.merit {
    background-color: #FCF9F9;
}

.merit .inner {
    padding: 40px 0 62px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 120px;
}

.merit .inner .sec-body {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 3%;
}

.merit .inner .img {
    max-width: 141px;
    width: 100%;
    aspect-ratio: 1/1;
    position: absolute;
    top: -25%;
    left: 0;
    right: 0;
    margin: auto;
}

.merit .inner .item {
    border-radius: 5px;
    background: #fff;
    border: 2px solid #c3c3c3;
    position: relative;
}

.merit .inner .item .w90 {
    padding: 82px 0 22px;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.merit .inner .item .num {
    font-weight: 500;
    font-size: clamp(1.25rem, 1.189rem + 0.26vw, 1.5rem);
    text-align: center;
    color: #c90601;
    margin-bottom: 16px;
}

.merit .inner .item .item-tit {
    font-family: var(--sub);
    font-weight: 900;
    font-size: clamp(1.125rem, 1.034rem + 0.39vw, 1.5rem);
    text-align: center;
    color: #000;
    margin-bottom: 20px;
}

.merit .inner .item .desc p {
    font-size: clamp(0.875rem, 0.845rem + 0.13vw, 1rem);
}

.example .inner {
    padding: 80px 0 120px;
    display: flex;
    flex-direction: column;
    gap: 48px;
}

.example .tit-ja {
    font-family: var(--sub);
    font-weight: 700;
    font-size: clamp(1.25rem, 1.189rem + 0.26vw, 1.5rem);
    text-align: left;
    color: #c10500;
}

.example .sec-body {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
}

.example .sec-body .item .w90 {
    display: flex;
    align-items: center;
    gap: 4%;
}

.example .sec-body .item .w90 .img {
    max-width: 90px;
    width: 100%;
    aspect-ratio: 1/1;
}

.example .sec-body .item:nth-child(-n+3) .w90 {
    padding-bottom: 37px;
}

.example .sec-body .item:nth-child(n+4) .w90 {
    padding-top: 37px;

}

.example .sec-body .item:nth-child(n+4)::after,
.example .sec-body .item:nth-child(3n)::before {
    content: none;
}



.example .sec-body .item .w90 .sec-text {
    display: flex;
    flex-direction: column;
    gap: 13px;
}

.example .sec-body .item .w90 .sec-text .item-tit {
    font-weight: 500;
    font-size: clamp(1.125rem, 1.095rem + 0.13vw, 1.25rem);
    color: #000;
}

.example .sec-body .item .w90 .sec-text .desc p {
    font-weight: 500;
    font-size: clamp(0.875rem, 0.845rem + 0.13vw, 1rem);
    line-height: calc(24/16);
    color: #000;
}

.example .sec-body .item {
    position: relative;
}

.example .sec-body .item::before {
    content: "";
    height: 80%;
    width: 1px;
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    background-color: #707070;
}

.example .sec-body .item::after {
    content: "";
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    position: absolute;
    background-color: #707070;
    width: 80%;
    height: 1px;
}

.flow .inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 64px;
    width: 80%;
    padding-bottom: 160px;
}

.flow .sec-body {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 44px;
}

.flow .sec-body .item {
    background: #fff;
    border: 1px solid #c90601;
    display: flex;
    align-items: stretch;
    gap: 45px;
    padding: 23px 0;
    position: relative;
}

.flow .sec-body .item::after {
    content: "";
    position: absolute;
    top: calc(100% + 16px);
    left: 0;
    right: 0;
    margin: auto;
    background: url(/system_panel/uploads/images/20260818191757656174.svg) no-repeat center/contain;
    width: 23px;
    height: 11px;
}

.flow .sec-body .item:last-child::after {
    content: none;
}

.flow .sec-body .item .num {
    width: 96px;
    font-weight: 500;
    font-size: clamp(1.625rem, 1.352rem + 1.17vw, 2.75rem);
    color: #fff;
    clip-path: polygon(0 0, 100% 0, 50% 100%, 0% 100%);
    background: #c90601;
    padding-left: 16px;
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
}

.flow .sec-body .item .img {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-left: 12%;
}

.flow .sec-body .item .sec-text {
    margin: auto 0;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.flow .sec-body .item .sec-text .item-tit {
    font-weight: 500;
    font-size: clamp(1rem, 0.939rem + 0.26vw, 1.25rem);
    color: #000;
}

.flow .sec-body .item .sec-text .desc P {
    font-weight: 400;
    font-size: clamp(0.875rem, 0.845rem + 0.13vw, 1rem);
    line-height: calc(28/16);
    color: #000;
}

.test .inner {
    display: flex;
    flex-direction: column;
    gap: 64px;
    align-items: center;
    padding-bottom: 120px;
}

.test .sec-body {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 120px;
}

.test .products {
    display: flex;
    flex-direction: column;
    gap: 40px;
}

.test .item-tit {
    font-weight: 600;
    font-size: clamp(1rem, 0.818rem + 0.78vw, 1.75rem);
    color: #000;
    padding-bottom: 16px;
    position: relative;
}

.test .item-tit::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    background-image: linear-gradient(90deg, rgba(201, 6, 1, 1) 93px, rgba(0, 0, 0, 1) 93px);
    width: 100%;
    height: 2px;
}

.test .box {
    width: 90%;
    margin: 0 auto;
    border-radius: 9px;
    background: transparent;
    border: 1px solid #c90601;
}

.test .box .w90 {
    padding: 20px 0;
    display: flex;
    gap: 5%;
    align-items: flex-start;
    justify-content: space-between;
}

.test .box .w90 .sec-text {
    display: flex;
    flex-direction: column;
    gap: 40px;
    flex: 1;
}

.test .box .w90 .sec-text .title {
    display: flex;
    align-items: center;
    gap: 10px;

}

.test .box .w90 .sec-text .title .tit-ja {
    font-weight: 500;
    font-size: clamp(1rem, 0.879rem + 0.52vw, 1.5rem);
    color: #000;
}

.test .box .w90 .sec-img {
    max-width: 333px;
    width: 31%;
}

.test .detail-list {
    display: flex;
    flex-direction: column;

    gap: 24px;
}

.test .group {
    display: grid;
    grid-template-columns: 40% 1fr;
    align-items: flex-start;
}

.test .group .dt {
    font-weight: 500;
    font-size: clamp(0.875rem, 0.845rem + 0.13vw, 1rem);
    color: #000;
    position: relative;
    display: flex;
    align-items: center;
    gap: 16px;
}

.test .group .dt::before {
    content: "⚫︎";
    font-weight: 600;
    font-size: clamp(0.75rem, 0.689rem + 0.26vw, 1rem);
    display: inline-block;
    color: #c90601;
}

.test .group .dt::after {
    content: ":";
    position: absolute;
    right: 20%;
    font-weight: 500;
    font-size: clamp(0.875rem, 0.845rem + 0.13vw, 1rem);
    color: #000;
}

.products-d .list {
    display: grid;
    gap: 3%;
    grid-template-columns: repeat(auto-fit, minmax(0, 1fr));
}

.products-d .list .title {
    display: flex;
    align-items: center;
    gap: 4px;
}

.products-d .list .title .tit-ja {
    font-weight: 500;
    font-size: clamp(1rem, 0.939rem + 0.26vw, 1.25rem);
    color: #000;
}

.products-d .list .item {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.faq .inner {
    display: flex;
    flex-direction: column;
    gap: 40px;
    padding-bottom: 160px;
}

.faq .sec-body {
    display: flex;
    flex-direction: column;
    gap: 96px;
}

.faq .sec-body .item {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.faq .faq-tit {
    display: flex;
    align-items: center;
    gap: 20px;
}

.faq .faq-tit .icon {
    max-width: clamp(1.75rem, 1.538rem + 0.91vw, 2.625rem);
    width: 100%;
    aspect-ratio: 1/1;
    border-radius: 99px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 500;
    font-size: clamp(0.938rem, 0.831rem + 0.45vw, 1.375rem);
}

.faq .faq-tit.q-ttl {
    padding-bottom: 26px;
    border-bottom: 1px solid #aaa;
}

.faq .faq-tit.q-ttl .icon {
    color: #FFF;
    background: #c10500;
}

.faq .faq-tit.a-ttl .icon {
    color: #c10600;
    background: #fff;
    border: 1px solid #c90601;
}

.faq .faq-tit.a-ttl {
    align-items: flex-start;
}

.faq .q-title {
    font-weight: 500;
    font-size: clamp(1rem, 0.939rem + 0.26vw, 1.25rem);
    line-height: calc(24/16);
    color: #000;
}

.faq .desc p {
    font-weight: 400;
    font-size: clamp(0.875rem, 0.845rem + 0.13vw, 1rem);
    line-height: calc(28/16);
    color: #000;
}

.about-test {
    padding-bottom: 160px;
}

@media (max-width: 1280px) {
    .merit .inner .item .desc p br {
        display: none;
    }

    .example .sec-body {
        grid-template-columns: repeat(2, 1fr);
    }

    .example .sec-body .item:nth-child(2n)::before {
        content: none;
    }

    .example .sec-body .item:nth-child(odd)::before {
        content: "";
    }

    .example .sec-body .item:nth-child(2n):after {
        content: "";
    }

    .example .sec-body .item:nth-child(6):after {
        content: none;
    }

    .example .sec-body .item .w90 {
        padding: 24px 0;
    }

    .flow .inner {
        width: 90%;
    }

    .test .box {
        width: 100%;
    }

    .test .box .w90 .sec-img {
        width: 28%;
    }

    .products-d .list {
        grid-template-columns: repeat(2, 1fr);
        width: 80%;
        margin: 0 auto;
    }
}


@media (max-width: 1023px) {


    .features-list .inner,
    .flow .inner,
    .faq .inner {
        padding-bottom: 80px;
    }

    .faq .sec-body {
        gap: 40px;
    }

    .merit .inner .sec-body {
        grid-template-columns: 1fr;
        gap: 80px;
    }

    .flow .sec-body .item {
        padding-right: 3%;

    }

    .flow .sec-body .item .num {
        width: 80px;
    }

    .test .box .w90 {
        flex-direction: column;
        gap: 20px;
        align-items: center;
    }

    .test .box .w90 .sec-text {
        width: 100%;
    }

    .test .box .w90 .sec-img {
        max-width: 60%;
        width: 100%;
    }

    .test .sec-body {
        gap: 80px;
    }


}

@media (max-width: 767px) {


    .faq .faq-tit.q-ttl {
        padding-bottom: 16px;
    }

    .faq .faq-tit {
        gap: 18px;
    }

    .flow .sec-body .item .stepnum {
        max-width: 46px;
        width: 100%;
    }

    .merit .inner .img {
        max-width: 90px;

    }

    .merit .inner .img {
        top: -17%;
    }

    .merit .inner .item .w90 {
        padding: 60px 0 32px;
    }

    .example .sec-body {
        grid-template-columns: 1fr;
    }

    .example .sec-body .item::before {
        content: none !important;
    }

    .example .sec-body .item::after {
        content: "" !important;
        width: 100%;
    }

    .example .sec-body .item .w90 {
        padding: 17px 0 !important;
    }

    .example .inner {
        padding: 40px 0 80px;
    }

    .flow .sec-body .item {
        padding: 0;
        display: grid;
        grid-template-areas: "num img"
            "desc desc";
        grid-template-columns: auto 1fr;
        gap: 20px 0;
        padding-bottom: 20px;
    }

    .flow .sec-body .item .num {
        position: relative;
        grid-area: num;
    }

    .flow .sec-body .item .img {
        grid-area: img;
        margin: 0 auto;
    }

    .flow .sec-body .item .sec-text {
        grid-area: desc;
        width: 90%;
        margin: 0 auto;
    }

    .test .box .w90 .sec-text .title img {
        width: 27px;
    }

    .products-d .list {
        grid-template-columns: 1fr;
    }

    .test .box .w90 .sec-img {
        max-width: 80%;
    }

    .merit .inner {
        gap: 85px;
    }
}