@charset "UTF-8";
/* **************************************************

Name: fsdx_202610.css

Description: /-/media/ind/carbon_neutral/css/fsdx.css の追加調整

Create: 2026.10.01
Update:

Copyright Hitachi Systems, Ltd.

***************************************************** */

/* custom property */
:root {
    /* color */
    --color-default: #222222;
    --color-text: #0c0c0c;

    --color-primary: #cc0000;
    --color-primary-rgb: 204,0,0;
    --color-secondary2: #f4f4f4;

    --color-gray2: #d9d9d9;
    --color-gray3: #b3b3b3;
    --color-gray4: #737373;
}


.p-page .p-linkbtn__box_item.p-linkbtn__box_item-arrange > object > a {
    background: var(--color-primary);

    &:hover {
        background: var(--color-default);
    }
}

.p-page .p-wrapper #merit-listbox {
    color: var(--color-text);
}

.p-page .p-wrapper #merit01 h3::before {
    background-image: url(/-/media/ind/carbon_neutral/image/solution/fsdx/pict01_black.svg);
}

.p-page .p-wrapper #merit02 h3::before {
    background-image: url(/-/media/ind/carbon_neutral/image/solution/fsdx/pict02_black.svg);
}

.p-page .p-wrapper #merit03 h3::before {
    background-image: url(/-/media/ind/carbon_neutral/image/solution/fsdx/pict03_black.svg);
}

.p-page .p-wrapper #merit04 h3::before {
    background-image: url(/-/media/ind/carbon_neutral/image/solution/fsdx/pict04_black.svg);
}

.p-page .p-bgc__gry01 {
    background: var(--color-secondary2);
}


.p-page .p-wrapper #task-main .task-solve .title {
    border-bottom: 3px solid var(--color-primary);
}

.p-page .p-wrapper #task-main .task-solve .text strong {
    color: var(--color-primary);
}

.p-page .p-solution__frame {
    border: 1px solid var(--color-primary);
    background: var(--color-secondary2);
}

#wp-download .bg-light-gray {
    background-color: var(--color-secondary2) !important;
}

#wp-download .guide-series .guide-series-btn {
    border: solid 2px var(--color-primary) !important;
    color: var(--color-primary) !important;

    &:hover {
        border: solid 2px var(--color-text) !important;
        color: var(--color-text) !important;
    }
}

@media (max-width: 767px) {
    #wp-download .guide-series li {
        padding: 20px !important;
    }

    #wp-download .guide-series .guide-series-btn {
        font-size: 0.875rem !important;
    }
}

/*サービスの仕組み*/
.p-page .p-wrapper #serveices-main-box {
    position: relative;
    border-bottom: 4px solid var(--color-default);
    width: 100%;
    margin: 0 auto calc(1.5rem + 23px);

    &::after,
    &::before {
        content: '';
        width: 4px;
        height: 50px;
        display: block;
        position: absolute;
        bottom: 0;
        background: var(--color-default);
    }

    &::after {
        left: 0;
    }

    &::before {
        right: 0;
    }
}

.p-page .p-wrapper #serveices-main {
    flex-wrap: wrap;
    background: none;
    gap: 1.5rem 0;
    flex-direction: row;
    margin-bottom: 1.5rem;
    padding: 0;

    &::after {
        display: none;
    }

    .serveices-arrow {
        width: calc((100% - 280px * 4) / 3);
        min-width: 30px;
        display: flex;
        align-items: center;
        justify-content: center;

        &::before {
            content: "";
            position: absolute;
            display: block;
            width: 0;
            height: 0;
            border-width: 25px 0 25px 34px;
            border-style: solid;
            border-color: transparent transparent transparent var(--color-gray3);
        }
    }

    .serveices-content {
        width: 17.5rem;
        height: auto;
        min-height: 17.5rem;
        flex: none;
        background: #fff;
        border: 4px solid var(--color-primary);
        box-sizing: border-box;
        padding: 82px 1rem 1rem;
        background-repeat: no-repeat;
        background-size: 50px 50px;
        background-position: center 22px;
        align-content: normal;
        margin: 0;

        &.new {
            position: relative;

            &::after {
                content: 'new';
                width: 70px;
                height: 70px;
                position: absolute;
                background: url(/-/media/ind/carbon_neutral/image/solution/fsdx/icon_new.png) center no-repeat;
                background-size: 100% auto;
                top: -10px;
                left: 0;
                text-indent: -1000px;
                overflow: hidden;
            }
        }
    }

    .serveices-title {
        color: var(--color-primary);
    }

    .serveices-text {
        font-size: 0.875rem;
        margin: .5rem 0 0;
        color: var(--color-text);
    }

    #serveices01 {
       background-image: url(/-/media/ind/carbon_neutral/image/solution/fsdx/serveices01_icon.png); 
    }

    #serveices02 {
       background-image: url(/-/media/ind/carbon_neutral/image/solution/fsdx/serveices02_icon.png); 
    }

    #serveices03 {
       background-image: url(/-/media/ind/carbon_neutral/image/solution/fsdx/serveices03_icon.png); 
    }

    #serveices04 {
       background-image: url(/-/media/ind/carbon_neutral/image/solution/fsdx/serveices04_icon.png); 
    }
}

.p-page .p-wrapper #serveices-main-foot {
    text-align: center;
    margin: 23px auto -23px;
    color: var(--color-text);
    font-size: 1.125rem;
    font-weight: bold;
    line-height: 1.5;
    border: 2px solid var(--color-default);
    width: fit-content;
    max-width: 70%;
    padding: .6rem 1.5rem;
    border-radius: .25rem;
    background: #fff;
}


@media (max-width: 1304px) {
    .p-page .p-wrapper #serveices-main {
        width: 80%;
        min-width: 730px;

        .serveices-arrow {
            width: 50px;

            &::before {
                border-width: 20px 0 20px 24px;
            }
        }

        .serveices-content:nth-of-type(2) {
            margin-right: calc(100% - 280px * 2 - 50px);
        }

        .serveices-arrow:nth-of-type(2) {
            margin-left: calc(100% - 280px * 2 - 100px);
        }
    }
}

@media (max-width: 767px) {
    .p-page .p-wrapper #serveices-main-box {
        margin-bottom: calc(1.5rem + 40px);

        &::after,
        &::before {
            height: 100px;
        }
    }

    .p-page .p-wrapper #serveices-main {
        width: 280px;
        min-width: auto;

        .serveices-content {
            margin: 0 !important;
        }

        .serveices-arrow {
            margin: 0 !important;
            width: 100%;

            &::before {
                position: static;
                transform: rotate(90deg);
            }
        }
    }

    .p-page .p-wrapper #serveices-main-foot {
        margin: 23px auto -40px;
    }
}

#serveices-main-arrow {
    position: relative;
    padding: 30px 0 0;
    z-index: 1;

    &::after,
    &::before {
        content: '';
        display: block;
        width: 0;
        height: 0;
        border-width: 50px 70px 0 70px;
        border-style: solid;
    }

    &::before {
        border-color: var(--color-gray3) transparent transparent transparent;
        margin: 0 auto 1.5rem;
    }

    &::after {
        border-color: var(--color-gray2) transparent transparent transparent;
        position: absolute;
        top: 0;
        left: calc(50% - 70px);
        z-index: -1;
    }
}


/* オプションサービス */
#option-serveices {
    margin: 100px 0 150px;
    border: 2px solid var(--color-default);
    border-radius: .5rem;
    padding: 1.5rem 1rem 0;
    background: #fff;

    #option-serveices-title {
        text-align: center;
        font-size: 1.375rem;
        font-weight: bold;
        display: flex;
        align-items: center;
        justify-content: center;
        margin: 0 0 .5rem;

        .new {
            width: 52px;
            height: 52px;
            margin-right: 1rem;
        }

        > span {
            font-weight: inherit;
            text-align: left;
        }
    }

    #option-serveices-lead {
        font-size: 1rem;
        font-weight: 500;
        margin: 0 0 2rem;
    }

    #option-serveices-list {
        display: flex;
        gap: 50px 48px;
        margin: 0 0 0m;

        > li {
            border: 2px solid var(--color-primary);
            border-radius: 0.375rem;
            flex: 1;
            padding: 1rem;
            position: relative;

            &:not(:first-child)::before {
                content: '';
                display: block;
                width: 0;
                height: 0;
                position: absolute;
                border-width: 18px 0 18px 24px;
                border-color: transparent transparent transparent var(--color-primary);
                border-style: solid;
                right: calc(100% + 48px / 2);
                top: 50%;
                transform: translate(45% , -50%);
            }
        }

        .o-s-list-title {
            font-size: 1.125rem;
            font-weight: bold;
            text-align: center;
            margin: 0 0 1rem;
            color: var(--color-primary);

            .num {
                background: var(--color-primary);
                color: var(--color-primary-contrast);
                font-size: 1rem;
                font-weight: bold;
                border-radius: 50%;
                width: 1.875rem;
                height: 1.875rem;
                align-content: center;
                text-align: center;
                display: inline-block;
                margin: 0 .5rem 0 0;
                vertical-align: middle;
            }
        }

        .o-s-list-img {
            margin: 0 0 1.5rem;

            img {
                width: 100%;
            }
        } 

        .o-s-list-txt {
            font-size: 0.875rem;
            font-weight: normal;
            font-weight: 500;
        }

        .o-s-list-label {
            margin: 1rem 0 0;
            display: flex;
            flex-wrap: wrap;
            gap: 0.25rem;

            > li {
                width: fit-content;
                /* border: 1px solid var(--color-gray2); */
                border-radius: 0.25rem;
                font-size: 0.75rem;
                font-weight: normal;
                color: #fff;
                background-color: var(--color-default);
                padding: .25rem .5rem;
            }
        }
    }

    #option-serveices-foot {
        text-align: center;
        margin: 0 auto;
        color: var(--color-text);
        font-size: 1.25rem;
        font-weight: bold;
        line-height: 1.5;
        border: 2px solid var(--color-default);
        width: fit-content;
        max-width: 70%;
        padding: .625rem 1.5rem;
        border-radius: .5rem;
        background: #fff;
        transform: translateY(50%);
    }
}

@media (max-width: 767px) {
    #option-serveices {
        #option-serveices-list {
            flex-wrap: wrap;

        > li {
            width: 100%;
            flex: auto;

                &:not(:first-child)::before {
                    top: auto;
                    bottom: calc(100% + 25px);
                    right: 50%;
                    transform: rotate(90deg) translate(65%, -50%);
                }
            }
        }

        #option-serveices-foot {
            margin-top: -20px;
        }
    }
}



/* オプション */
#usage {

    .usage-heading {
        font-size: 1.5rem;
        font-weight: bold;
        line-height: 1.5;
        color: var(--color-primary);
        position: relative;
        z-index: 1;

        &::after {
            display: block;
            position: absolute;
            content: '';
            width: 100%;
            height: 3px;
            background-color: var(--color-primary);
            left: 0;
            right: 0;
            top: calc(50% - 1px);
            z-index: -1;
        }

        > span {
            width: fit-content;
            max-width: 70vw;
            margin: 0 auto;
            padding: 0 48px;
            line-height: normal !important;
            font-weight: inherit;
            background-color: var(--color-secondary2);
            display: inline-block;
            display: flex;
            gap: 1rem;
            align-items: center;

            > span {
                flex: 1;
                font-weight: inherit;
            }
        }

        .icon_new {
            width: 52px;
            height: 52px;
            display: block;
        }
    }
}

@media (max-width: 767px) {
    #usage {
        .usage-heading {
            &::after {
                display: none;
            }

            > span {
                padding: 0;
                max-width: none;
            }
        }
    }
}


/* 強み */
.p-page .p-wrapper #features .features-main {
    gap: 1.5rem 1.5625rem;
}

.p-page .p-wrapper #features .features-content {
    border: 1px solid var(--color-gray2);
    padding: .5rem;
    box-sizing: border-box;
    border-radius: .5rem;
    background: #fff;
}

.p-page .p-wrapper #features .features-img {
    border-radius: .5rem;
    overflow: hidden;
    width: 100%;
    height: auto;
    aspect-ratio: 607 / 180;
}

.p-page .p-wrapper #features .features-img img {
    border-radius: 0;
    object-fit: cover;
    width: 100%;
    height: 100%;
}

.p-page .p-wrapper #features .features-text {
    background: none;
    padding: 1.5rem .5rem 1rem 90px;
    position: relative;

    .title {
        text-align: left;

        .txt {
            font-weight: inherit;
        }
    }

    .features-icon {
        position: absolute;
        width: 70px;
        height: 70px;
        left: .5rem;
        top: 1rem;
    }
}

@media (max-width: 767px) {
    .p-page .p-wrapper #features .features-text {
        padding-left: .5rem;

        .title {
            display: flex;
            align-items: center;
            gap: .5rem;

            .txt {
                flex: 1;
            }
        }

        .features-icon {
            position: static;
            width: 40px;
            height: 40px;
            display: inline;
        }
    }
}





