@charset "utf-8";

/*==================================================
[sp]lead
================================================== */
.lead {
    margin-bottom: 17.066666666666667vw;
}

.lead h2 {
    margin-bottom: 10.666666666666667vw;
    color: var(--color-primary);
    font-family: var(--font-family-jp);
    font-size: 7.466666666666667vw;
    font-style: normal;
    font-weight: 400;
    line-height: 150%;
}

.lead .text {
    margin-bottom: 10.666666666666667vw;
    color: var(--color-black);
    font-family: var(--font-family-jp);
    font-size: 4.266666666666667vw;
    font-style: normal;
    font-weight: 400;
    line-height: 180%;
}

.lead figure {
    width: 100%;
    border-radius: 4.266666666666667vw;
    overflow: hidden;
}

.lead figure img {
    width: 100%;
    height: auto;
}

/*==================================================
[sp]environment
================================================== */
.environment h3 {
    margin-bottom: 15.466666666666667vw;
    color: var(--color-black);
    font-family: var(--font-family-jp);
    font-size: 6.4vw;
    font-style: normal;
    font-weight: 400;
    line-height: 150%;
    position: relative;
}

.environment h3::before {
    content: "";
    background-color: var(--color-lighter-gray);
    position: absolute;
    bottom: -4.8vw;
    left: 0;
    width: 89.333333333333333vw;
    height: 0.533333333333333vw;
}

.environment h3::after {
    content: "";
    background-color: var(--color-primary);
    position: absolute;
    bottom: -4.8vw;
    left: 0;
    width: 26.666666666666667vw;
    height: 0.533333333333333vw;
}

.environment_list li {
    margin-bottom: 10.666666666666667vw;
}

.environment_list li:last-child {
    margin-bottom: none;
}

.environment_list figure {
    margin-bottom: 4.266666666666667vw;
    width: 100%;
    border-radius: 4.266666666666667vw;
    overflow: hidden;
}

.environment_list figure img {
    width: 100%;
    height: auto;
}

.environment_list h4 {
    margin-bottom: 2.133333333333333vw;
    color: var(--color-black);
    font-family: var(--font-family-jp);
    font-size: 4.266666666666667vw;
    font-style: normal;
    font-weight: 700;
    line-height: 180%;
}

.environment_list p {
    color: var(--color-black);
    font-family: var(--font-family-jp);
    font-size: 4.266666666666667vw;
    font-style: normal;
    font-weight: 400;
    line-height: 180%;
}

/*==================================================
[sp]certification
================================================== */
.certification {
    margin-bottom: 21.333333333333333vw;
}

.certification h2 {
    margin-bottom: 10.666666666666667vw;
    color: var(--color-primary);
    font-family: var(--font-family-jp);
    font-size: 7.466666666666667vw;
    font-style: normal;
    font-weight: 400;
    line-height: 150%;
}

.certification .text {
    margin-bottom: 8.533333333333333vw;
    color: var(--color-black);
    font-family: var(--font-family-jp);
    font-size: 4.266666666666667vw;
    font-style: normal;
    font-weight: 400;
    line-height: 180%;
}

.certification .btn_link {
    text-align: center;
}

.certification .btn_link a {
    margin: 0;
    padding: 0 8.533333333333333vw;
    width: auto;
    height: 17.066666666666667vw;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 8.533333333333333vw;
    font-family: var(--font-family-jp);
    font-size: 4.266666666666667vw;
    font-weight: 400;
    border: 0.266666666666667vw solid var(--color-light-gray);

}

.certification .btn_link.external a {
    position: relative;
    padding: 0 20.266666666666667vw 0 8.533333333333333vw;
}

.certification .btn_link.external a::after {
    content: '';
    width: 5.333333333333333vw;
    height: 5.333333333333333vw;
    background-color: var(--color-primary);
    -webkit-mask: var(--icon-external);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    -webkit-mask-size: 100% 100%;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center;
    position: absolute;
    top: calc(50% - 2.666666666666667vw);
    right: 8.533333333333333vw;
    pointer-events: none;
}

/*==================================================
[sp]scope
================================================== */
.scope {
    margin-bottom: 21.333333333333333vw;
}

.scope h2 {
    margin-bottom: 10.666666666666667vw;
    color: var(--color-primary);
    font-family: var(--font-family-jp);
    font-size: 7.466666666666667vw;
    font-style: normal;
    font-weight: 400;
    line-height: 150%;
}

.data_table {
    margin-bottom: 9.066666666666667vw;
}

.data_table th {
    color: var(--color-black);
    font-family: var(--font-family-jp);
    font-size: 4.266666666666667vw;
    font-style: normal;
    font-weight: 700;
    line-height: 180%;
    display: block;
    text-align: left;
    padding: 6.4vw 0 2.133333333333333vw;
    border-top: 0.266666666666667vw solid var(--color-light-gray);
}

.data_table td {
    color: var(--color-black);
    font-family: var(--font-family-jp);
    font-size: 4.266666666666667vw;
    font-style: normal;
    font-weight: 400;
    line-height: 180%;
    display: block;
    padding: 0 0 6.4vw;
}

.data_table tr:last-child td {
    border-bottom: 0.266666666666667vw solid var(--color-light-gray);
}

.scope .note {
    margin: 0 0 4.266666666666667vw;
    color: var(--color-black);
    font-family: var(--font-family-jp);
    font-size: 4.266666666666667vw;
    font-style: normal;
    font-weight: 400;
    line-height: 180%;
}

.scope .item_list {
    margin-left: 1.5em;
    list-style: disc;
    color: var(--color-black);
    font-family: var(--font-family-jp);
    font-size: 4.266666666666667vw;
    font-style: normal;
    font-weight: 400;
    line-height: 180%;
}

.scope .storage_item {
    width: auto;
    margin-bottom: 4.266666666666667vw;
}

.scope .storage_item:last-child {
    margin-bottom: none;
}

.scope .storage_item dt {
    color: var(--color-black);
    font-family: var(--font-family-jp);
    font-size: 4.266666666666667vw;
    font-style: normal;
    font-weight: 400;
    line-height: 180%;
}

.scope .storage_item dd {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 0 4.266666666666667vw;
}

.scope .storage_item dd p {
    display: inline-block;
    width: auto;
    color: var(--color-black);
    font-family: var(--font-family-jp);
    font-size: 4.266666666666667vw;
    font-style: normal;
    font-weight: 400;
    line-height: 180%;
}

/*==================================================
[sp]drainage
================================================== */
.drainage h3 {
    margin-bottom: 15.466666666666667vw;
    color: var(--color-black);
    font-family: var(--font-family-jp);
    font-size: 6.4vw;
    font-style: normal;
    font-weight: 400;
    line-height: 150%;
    position: relative;
}

.drainage h3::before {
    content: "";
    background-color: var(--color-lighter-gray);
    position: absolute;
    bottom: -4.8vw;
    left: 0;
    width: 89.333333333333333vw;
    height: 0.533333333333333vw;
}

.drainage h3::after {
    content: "";
    background-color: var(--color-primary);
    position: absolute;
    bottom: -4.8vw;
    left: 0;
    width: 26.666666666666667vw;
    height: 0.533333333333333vw;
}

.drainage_list li {
    margin-bottom: 10.666666666666667vw;
}

.drainage_list li:last-child {
    margin-bottom: none;
}

.drainage_list figure {
    margin-bottom: 4.266666666666667vw;
    width: 100%;
}

.drainage_list figure img {
    margin-bottom: 4.266666666666667vw;
    width: 100%;
    height: auto;
    border-radius: 4.266666666666667vw;
    overflow: hidden;
}

.drainage_list figure figcaption {
    color: var(--color-black);
    font-family: var(--font-family-jp);
    font-size: 4.266666666666667vw;
    font-style: normal;
    font-weight: 700;
    line-height: 180%;
}

/*==================================================
        PC
    ================================================== */
@media (min-width: 768px) {

    /*==================================================
    [pc]lead
    ================================================== */
    .lead {
        margin-bottom: 56px;
    }

    .lead h2 {
        margin-bottom: 40px;
        font-size: 36px;
    }


    .lead_content {
        display: flex;
        justify-content: space-between;
        gap: 40px;
    }

    .lead .text {
        margin: 0;
        width: 520px;
        font-size: 16px;
    }

    .lead figure {
        width: 400px;
        border-radius: 16px;
        overflow: hidden;
    }

    /*==================================================
    [pc]environment
    ================================================== */
    .environment {
        margin-bottom: 64px;
    }

    .environment h3 {
        margin-bottom: 64px;
        font-size: 24px;
    }

    .environment h3::before {
        content: "";
        background-color: var(--color-lighter-gray);
        position: absolute;
        bottom: -22px;
        left: 0;
        width: 960px;
        height: 2px;
    }

    .environment h3::after {
        content: "";
        background-color: var(--color-primary);
        position: absolute;
        bottom: -22px;
        left: 0;
        width: 120px;
        height: 2px;
    }

    .environment_list {
        display: flex;
        justify-content: space-between;
    }

    .environment_list li {
        margin: 0;
        width: 216px;
    }

    .environment_list li:last-child {
        margin-bottom: none;
    }

    .environment_list figure {
        margin-bottom: 20px;
        width: 216px;
        border-radius: 8px;
        overflow: hidden;
    }

    .environment_list figure img {
        width: 100%;
        height: auto;
    }

    .environment_list h4 {
        margin-bottom: 8px;
        font-size: 16px;
    }

    .environment_list p {
        font-size: 16px;
    }

    /*==================================================
    [pc]certification
    ================================================== */
    .certification {
        margin-bottom: 80px;
    }

    .certification h2 {
        margin-bottom: 40px;
        font-size: 36px;
    }

    .certification .text {
        margin-bottom: 32px;
        font-size: 16px;
    }

    .certification .btn_link {
        text-align: center;
    }

    .certification .btn_link a {
        margin: 0;
        padding: 0 32px;
        width: auto;
        height: 64px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        border-radius: 32px;
        font-family: var(--font-family-jp);
        font-size: 16px;
        font-weight: 400;
        border: 1px solid var(--color-light-gray);

    }

    .certification .btn_link.external a {
        position: relative;
        padding: 0 76px 0 32px;
    }

    .certification .btn_link.external a:hover {
        color: var(--color-primary);
    }

    .certification .btn_link.external a::after {
        content: '';
        width: 20px;
        height: 20px;
        background-color: var(--color-primary);
        -webkit-mask: var(--icon-external);
        background-repeat: no-repeat;
        background-position: center;
        background-size: contain;
        -webkit-mask-size: 100% 100%;
        -webkit-mask-repeat: no-repeat;
        -webkit-mask-position: center;
        position: absolute;
        top: calc(50% - 10px);
        right: 32px;
        pointer-events: none;
    }

    /*==================================================
    [pc]scope
    ================================================== */
    .scope {
        margin-bottom: 56px;
    }

    .scope h2 {
        margin-bottom: 40px;
        font-size: 36px;
    }

    .data_table {
        margin-bottom: 40px;
        border-collapse: collapse;
        width: 100%;
        display: table;
    }

    .data_table th {
        color: var(--color-black);
        font-family: var(--font-family-jp);
        font-size: 16px;
        font-style: normal;
        font-weight: 700;
        line-height: 180%;
        display: table-cell;
        text-align: left;
        padding: 24px 40px 24px 0;
        border-top: 1px solid var(--color-light-gray);
        white-space: nowrap;
    }

    .data_table th.align_top {
        vertical-align: top;
    }

    .data_table td {
        border-top: 1px solid var(--color-light-gray);
        color: var(--color-black);
        font-family: var(--font-family-jp);
        font-size: 16px;
        font-style: normal;
        font-weight: 400;
        line-height: 180%;
        display: table-cell;
        padding: 24px 0;
    }

    .data_table tr:last-child th,
    .data_table tr:last-child td {
        border-bottom: 1px solid var(--color-light-gray);
    }

    .scope .note {
        margin: 0 0 16px;
        font-size: 16px;
    }

    .scope .item_list {
        margin-left: 1.5em;
        font-size: 16px;
    }

    .scope .storage_item {
        width: auto;
        margin-bottom: 0;
        display: flex;
        flex-wrap: wrap;
    }

    .scope .storage_item:last-child {
        margin-bottom: none;
    }

    .scope .storage_item dt {
        margin-bottom: 8px;
        font-size: 16px;
        width: 100px;
    }

    .scope .storage_item:last-child dt {
        margin-bottom: none;
    }


    .scope .storage_item dd {
        width: calc(100% - 100px);
        display: flex;
        flex-wrap: wrap;
        justify-content: flex-start;
        gap: 0 32px;
        margin: 0 0 8px 100px;
    }

    .scope .storage_item:last-child dd {
        margin: 0 0 0 100px;
    }

    .scope .storage_item dd:nth-child(2) {
        margin: 0;

    }

    .scope .storage_item dd p {
        font-size: 16px;
    }

    /*==================================================
    [pc]drainage
    ================================================== */
    .drainage h3 {
        margin-bottom: 64px;
        font-size: 24px;
    }

    .drainage h3::before {
        content: "";
        background-color: var(--color-lighter-gray);
        position: absolute;
        bottom: -22px;
        left: 0;
        width: 960px;
        height: 2px;
    }

    .drainage h3::after {
        content: "";
        background-color: var(--color-primary);
        position: absolute;
        bottom: -22px;
        left: 0;
        width: 120px;
        height: 2px;
    }

    .drainage_list {
        display: flex;
        gap: 32px;
    }

    .drainage_list li {
        margin: 0;
    }

    .drainage_list li:last-child {
        margin-bottom: none;
    }

    .drainage_list figure {
        margin-bottom: 0;
        width: 216px;
    }

    .drainage_list figure img {
        margin-bottom: 16px;
        width: 100%;
        height: auto;
        border-radius: 8px;
        overflow: hidden;
    }

    .drainage_list figure figcaption {

        font-size: 16px;
    }


}
