@charset "utf-8";

#link_wcs, #link_wes {
    .wrap {
        padding-top:60px;
        .contents {
            border:3px solid var(--color_main);
            border-radius:20px;
            padding:30px;
            h2 {                
                font-size:2.4rem;
                font-weight:500;
                justify-items:center;
                grid-template-columns:1fr;
                line-height:1;
                grid-row-gap:.33em;
                margin-bottom:.66em;
                &::before {
                    content:none;
                }
                .sub {
                    font-family: "M PLUS 1p", sans-serif;
                    margin-bottom:.5em;
                }
                .tit {
                    color:var(--color_sub);
                    font-size:2em;
                    font-weight:600;
                    span {
                        font-size :1.33em;
                    }
                }
                .txt {
                    color:var(--color_sub);
                    font-size:.8em;
                    letter-spacing:.05em;
                }
            }
            p {
                font-size:2.4rem;
                text-align:center;
                font-weight:600;
                line-height:1.66;
            }
        }
    }
}

#about {
    .wrap {
        .contents {
            .contents_inner {
                display:grid;
                grid-template-columns:70% 1fr;
                grid-column-gap:5%;
                .detail {
                    p {
                        &.body {
                            font-weight:600;
                            font-size:1.2em;
                            color:var(--color_sub);
                            margin-bottom:.5em;
                        }
                    }
                }
            }
            h2 {
                margin-bottom:1em;
            }
        }
    }
}

#change {
    .wrap {
        .contents {
            .contents_inner {
                display:grid;
                grid-template-columns:repeat(2,1fr);
                grid-column-gap:50px;
                .item_wrap {
                    position:relative;
                    height:100%;
                    display:grid;
                    grid-template-rows:auto 1fr;
                    & > img {
                        display:block;
                        width:30px;
                        position:absolute;
                        right:-40px;
                        top:60%;
                        transform:translateY(-50%);
                    }
                    h3 {
                        font-size:2.6rem;
                        text-align:center;
                        font-weight:500;
                        margin-bottom:1em;
                        font-family: "Jost", "M PLUS 1p", sans-serif;
                        letter-spacing:.05em;
                    }
                    .item_inner {
                        display:grid;
                        grid-template-columns:repeat(2,1fr);
                        grid-column-gap:10px;
                    }
                    .item {
                        background-color:#EFEFEF;
                        padding:10px;
                        border-radius:15px;
                        display:grid;
                        grid-template-rows:auto 1fr;
                        h4 {
                            font-size:1.8rem;
                            line-height:1.5;
                            text-align:center;
                            margin:.33em 0 .5em;
                        }
                        dl {
                            background-color:#FFFFFF;
                            border-radius:10px;
                            padding:1em;
                            dt {
                                color:#666666;
                                font-size:1.8rem;
                                font-weight:600;
                                line-height:1.5;
                                text-align:center;
                                margin-bottom:.5em;
                            }
                            dd {
                                font-size:1.4rem;
                                line-height:1.66;
                                text-indent:-1em;
                                padding-left:1em;
                                &:not(:last-child) {
                                    margin-block:.5em;
                                }
                            }
                        }
                    }
                    &:last-child {
                        h3 {
                            color:var(--color_sub);
                        }
                        .item {
                            background-color:var(--color_main);
                            h4 {
                                color:#FFFFFF;
                            }
                            dl {
                                dt {
                                    color:var(--color_sub);
                                }
                                dd {
                                    font-size:1.6rem;
                                    display:grid;
                                    grid-template-columns:2em 1fr;
                                    text-indent:unset;
                                    padding-left:0;
                                    grid-column-gap:.5em;
                                    align-items:center;
                                    font-weight:600;
                                    &:not(:last-child) {
                                        margin-block:1em;
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}

#installation {
    .wrap {
        .contents {
            p {
                font-weight:600;
                margin-bottom:1em;
            }
        }
    }
}

#flow {
    .wrap {
        .contents {
            .contents_inner {
                background-color:#F5F5F5;
                max-width:900px;
                margin:0 auto;
                border-radius:20px;
                padding:50px;
                box-shadow:0 3px 6px rgba(0,0,0,.15);
                display:grid;
                grid-template-columns:repeat(3,1fr);
                grid-gap:30px 20px;
                li {
                    background-color:#FFFFFF;
                    border-radius:10px;
                    box-shadow:0 3px 6px rgba(0,0,0,.15);
                    padding:10px 10px 15px;
                    position:relative;
                    .num {
                        font-size:2.4rem;
                        font-weight:600;
                        background-color:var(--color_main);
                        color:#FFFFFF;
                        width:2em;
                        height:2em;
                        display:grid;
                        align-items:center;
                        justify-content:center;
                        border-radius:1em .1em; 
                        position:absolute;
                        z-index:1;
                        top:-.25em;
                        left:-.25em;
                    }
                    img {
                        display:block;
                        border-radius:6px;
                    }
                    h3 {
                        font-size:1.8rem;
                        line-height:1.5;
                        padding:1em  0 .5em;
                    }
                    p {
                        font-size:1.4rem;
                        line-height:1.5;
                    }
                    &:not(:last-child) {
                        &::after {
                            content:'';
                            display:block;
                            width:25px;
                            height:25px;
                            background:url(../img/common/arrow_right_green.svg) no-repeat center center/contain;
                            position:absolute;
                            right:-20px;
                            top:50%;
                            transform:translateY(-50%);
                        }
                    }
                }
            }
        }
    }
}

#merit {
    .wrap {
        .contents {
            .contents_inner {
                background-color:rgba(15,172,153,.15);
                border-radius:20px;
                padding:50px;
                dl {
                    dt {
                        font-size:2.4rem;
                        font-weight:600;
                        line-height:1.5;
                        display:grid;
                        grid-template-columns:40px 1fr;
                        grid-column-gap:10px;
                        margin-bottom:1em;
                    }
                    dd {
                        background-color:#FFFFFF;
                        line-height:1.8;
                        font-size:1.8rem;
                        padding:1em 2em;
                        margin-left:50px;
                        box-shadow:0 3px 6px rgba(0,0,0,.15);
                        position:relative;
                        &::before {
                            content:'';
                            width:10px;
                            height:10px;
                            background-color:var(--color_main);
                            position:absolute;
                            top:2px;
                            left:2px;
                            clip-path:polygon(0 0,100% 0, 0 100%);
                        }
                        &:not(:last-child) {
                            margin-bottom:2.5em;
                        }
                    }
                }
            }
        }
    }
}


#main {
    &:has(section#link_wes) {

         #link_wes {
            .wrap {
                .contents {
                    border-color: var(--color_sub6);
                    h2 {
                        .tit {
                            color:var(--color_sub6);
                        }
                        .txt {
                            color:var(--color_sub6);
                        }
                    }
                }
            }
        }
        
        #about {
            .wrap {
                .contents {
                    .contents_inner {
                        .detail {
                            p {
                                &.body {
                                    color:var(--color_sub6);
                                }
                            }
                            ul {
                                font-size:1.5rem;
                                padding:.5em 1em;
                                border-radius:1em;
                                margin-top:1em;
                                background-color:#FAFAFA;
                                li {
                                    line-height:2;
                                    text-indent:-1em;
                                    padding-left:1em;
                                }
                            }
                        }
                    }
                }
            }
        }
        
        #change {
            .wrap {
                .contents {
                    .contents_inner {
                        .item_wrap {
                            &:last-child {
                                .item {
                                    background-color:var(--color_sub6);
                                    dl {
                                        dt {
                                            color:var(--color_sub6);
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
        
        #merit {
            .wrap {
                .contents {
                    .contents_inner {
                        background-color:rgba(0,176,108,.15);
                    }
                }
            }
        }
        
    }
}

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

}

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

    #link_wcs, #link_wes {
        .wrap {
            padding-top:30px;
        }
    }
    
    #change {
        .wrap {
            .contents {
                .contents_inner {
                    grid-column-gap:30px;
                    .item_wrap {
                        & > img {
                            width:20px;
                            right:-25px;
                        }
                        h3 {
                            font-size:2.2rem;
                        }
                        .item {
                            h4 {
                                font-size:1.6rem;
                            }
                            dl {
                                dt {
                                    font-size:1.6rem;
                                }
                            }
                        }
                        &:last-child {
                            .item {
                                dl {
                                    dd {
                                        font-size:1.5rem;
                                        grid-template-columns:1.5em 1fr;
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
    
    #flow {
        .wrap {
            .contents {
                .contents_inner {
                    padding:30px;
                    li {
                        .num {
                            font-size:2.0rem;
                        }
                        h3 {
                            font-size:1.6rem;
                        }
                    }
                }
            }
        }
    }
    
    #merit {
        .wrap {
            .contents {
                .contents_inner {
                    padding:30px;
                    dl {
                        dt {
                            font-size:2.0rem;
                        }
                        dd {
                            font-size:1.6rem;
                        }
                    }
                }
            }
        }
    }
    
}

@media screen and (max-width:768px){
    
    #link_wcs, #link_wes {
        .wrap {
            padding-top:20px;
            .contents {
                padding:20px 0;
                h2 {
                    font-size:min(5vw,2.0rem);
                }
                p {
                    font-size:min(5vw,2.0rem);
                }
            }
        }
    }
    
    #about {
        .wrap {
            .contents {
                .contents_inner {
                    grid-template-columns:1fr;
                    grid-row-gap:20px;
                }
            }
        }
    }
    
    #change {
        .wrap {
            .contents {
                .contents_inner {
                    grid-template-columns:1fr;
                    grid-row-gap:40px;
                    .item_wrap {
                        position:relative;
                        height:100%;
                        display:grid;
                        grid-template-rows:auto 1fr;
                        & > img {
                            display:block;
                            width:20px;
                            position:absolute;
                            right:auto;
                            top:auto;
                            left:50%;
                            bottom:-30px;
                            transform:translateX(-50%) rotate(90deg);
                        }
                        h3 {
                            font-size:2.0rem;
                            padding-top:.5em;
                        }
                        .item_inner {
                            grid-template-columns:1fr;
                            grid-row-gap:5px;
                        }
                        .item {
                            dl {
                                padding:.66em;
                                dd {
                                    font-size:1.3rem;
                                }
                            }
                        }
                    }
                }
            }
        }
    }
    
    #flow {
        .wrap {
            .contents {
                .contents_inner {
                    border-radius:15px;
                    padding:10px;
                    grid-template-columns:1fr;
                    grid-row-gap:20px;
                    li {
                        display:grid;
                        grid-template-columns:33% 1fr;
                        grid-column-gap:5%;
                        align-items:center;
                        img {
                            display:block;
                            border-radius:6px;
                            grid-area:1/1/3/2;
                            height:100%;
                            object-fit:cover;
                        }
                        h3 {
                            padding:0;
                            margin-bottom:.33em;
                        }
                        p {
                            font-size:1.3rem;
                        }
                        &:not(:last-child) {
                            &::after {
                                width:20px;
                                height:20px;
                                right:auto;
                                left:50%;
                                top:auto;
                                bottom:-15px;
                                transform:translateX(-50%) rotate(90deg);
                                z-index:1;
                            }
                        }
                    }
                }
            }
        }
    }
    
    #merit {
        .wrap {
            .contents {
                .contents_inner {
                    border-radius:15px;
                    padding:20px;
                    dl {
                        dt {
                            font-size:1.6rem;
                            grid-template-columns:1.3em 1fr;
                            margin-bottom:.66em;
                        }
                        dd {
                            font-size:1.4rem;
                            padding:1em 1.5em;
                            margin-left:0;
                            &:not(:last-child) {
                                margin-bottom:2em;
                            }
                        }
                    }
                }
            }
        }
    }
    
    
    #main {
        &:has(section#link_wes) {
            
            #about {
                .wrap {
                    .contents {
                        .contents_inner {
                            .detail {
                                ul {
                                    font-size:1.3rem;
                                    li {
                                        line-height:1.6;
                                    }
                                }
                            }
                        }
                    }
                }
            }
            
        }
    }
    
}