@charset "utf-8";

#req_support {
    .wrap {
        padding-top:60px;
        padding-bottom:90px;
        .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;
                    }
                }
            }
            p {
                font-size:2.4rem;
                text-align:center;
                font-weight:600;
                line-height:1.66;
            }
        }
    }
}

#about {
    .wrap {
        padding-bottom:90px;
        .contents {
            h2 {
                color:var(--color_main);
                font-weight:600;
                text-align:center;
                justify-content:center;
                margin-bottom:.66em;
                font-size:3.2rem;
                &::before {
                    content:none;
                }
            }
            & > p {
                margin-bottom:2em;
                text-align:center;
                font-size:1.8rem;
            }
            .contents_inner {
                background-color:var(--color_main);
                border-radius:20px;
                padding:30px;
                max-width:900px;
                margin:0 auto 50px;
                display:grid;
                justify-content:center;
                p {
                    font-size:1.8rem;
                    color:#FFFFFF;
                    font-weight:600;
                    span {
                        font:inherit;
                        color:#FFFF00;
                    }
                    strong {
                        font-size:1.33em;
                        color:#FFFF00;
                    }
                }
            }
            .contents_inner2 {
                max-width:900px;
                margin:0 auto;
                border:5px solid #FF6600;
                border-radius:20px;
                padding:40px 30px 30px;
                position:relative;
                display:grid;
                justify-content:center;
                h3 {
                    font-size:2.4rem;
                    padding:.5em 1em;
                    color:#ff6600;
                    background-color:#FFFFFF;
                    position:absolute;
                    z-index:1;
                    top:0;
                    left:50%;
                    transform:translate(-50%,-50%);
                    white-space:nowrap;
                }
                ul {
                    font-size:2.0rem;
                    display:grid;
                    grid-row-gap:.5em;
                    li {
                        font-weight:600;
                        display:grid;
                        grid-template-columns:1.5em 1fr;
                        line-height:1.5;
                        align-items:center;
                        grid-column-gap:.5em;
                    }
                }
            }
        }
    }
}

#services {
    .wrap {
        .contents {
            h2 {
                &:has( + .menu) {
                    color:var(--color_main);
                    font-weight:600;
                    text-align:center;
                    justify-content:center;
                    margin-bottom:1em;
                    font-size:3.2rem;
                    &::before {
                        content:none;
                    }
                }
            }
            .menu {
                max-width:1000px;
                margin:0 auto 90px;
                display:grid;
                grid-template-columns:repeat(3,1fr);
                align-items:center;
                grid-column-gap:2%;
                li {
                    a {
                        display:grid;
                        grid-row-gap:30px;
                        border:1px solid var(--color_main);
                        border-radius:10px 10px 30px 10px;
                        box-shadow:0 3px 6px rgba(0,0,0,.15);
                        padding:30px 20px 20px;
                        position:relative;
                        & > img {
                            width:30%;
                            aspect-ratio:1;
                            object-fit:contain;
                            margin:0 auto;
                        }
                        h3 {
                            font-size:2.4rem;
                            color:var(--color_sub);
                            padding-right:1em;
                            img {
                                display:block;
                                width:40px;
                                transform:rotate(90deg);
                                position:absolute;
                                right:10px;
                                bottom:10px;
                            }
                        }
                    }
                }
            }
            .support {
                background-color:var(--color_sub);
                border-radius:10px;
                padding:15px;
                display:grid;
                grid-row-gap:15px;
                margin-bottom:90px;
                & > li {
                    background-color:#FFFFFF;
                    border-radius:10px 10px 20px 10px;
                    box-shadow:0 3px 6px rgba(0,0,0,.15);
                    padding:30px;
                    display:grid;
                    grid-template-columns:80px 1fr;
                    align-items:center;
                    grid-column-gap:5%;
                    dl {
                        dt {
                            font-size:2.4rem;
                            font-weight:600;
                            color:var(--color_sub);
                            line-height:1.5;
                            margin-bottom:.5em;
                        }
                        dd {
                            ul {
                                display:grid;
                                grid-row-gap:.5em;
                                li {
                                    font-size:1.7rem;
                                    line-height:1.5;
                                    text-indent:-1em;
                                    padding-left:1em;
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
.contact_btns {
    display:grid;
    grid-template-columns:repeat(2,1fr);
    grid-column-gap:10px;
    font-size:2.0rem;
    max-width:500px;
    margin:0 auto;
    li {
        a {
            display:grid;
            grid-template-columns:1em auto;
            align-items:center;
            justify-content:center;
            grid-column-gap:.5em;
            height:3em;
            color:#FFFFFF;
            border-radius:1.5em;
            span {
                font-family: "M PLUS 1p", sans-serif;
            }
        }
        &.contact {
            a {
                background: #41C3AF;
                background: linear-gradient(90deg, rgba(65, 195, 175, 1) 0%, rgba(2, 162, 132, 1) 100%);
            }
        }
        &.request {
            a {
                background: #FF9900;
                background: linear-gradient(90deg,rgba(255, 153, 0, 1) 0%, rgba(255, 118, 0, 1) 100%);
            }
        }
    }
}

@media screen and (max-width:1200px){

}

@media screen and (max-width:1024px){

    #req_support {
        .wrap {
            padding-bottom:60px;
            .contents {
                h2 {
                    .tit {
                        font-size:1.6em;
                    }
                }
                p {
                    font-size:1.8rem;
                }
            }
        }
    }
    
    #about {
        .wrap {
            .contents {
                & > p {
                    text-align:left;
                }
            }
        }
    }
    
}

@media screen and (max-width:768px){
    
    #req_support {
        .wrap {
            padding-top:20px;
            padding-bottom:45px;
            .contents {
                padding:20px;
                h2 {                
                    font-size:min(5vw,2.0rem);
                    .tit {
                        line-height:1.2;
                        text-align:center;
                    }
                }
                p {
                    font-size:min(4vw,1.8rem);
                }
            }
        }
    }

    #about {
        .wrap {
            padding-bottom:60px;
            .contents {
                h2 {
                    margin-bottom:.5em;
                    font-size:2.6rem;
                }
                & > p {
                    font-size:1.5rem;
                }
                .contents_inner {
                    border-radius:15px;
                    padding:20px;
                    margin-bottom:30px;
                    p {
                        font-size:1.5rem;
                    }
                }
                .contents_inner2 {
                    border:3px solid #FF6600;
                    border-radius:10px;
                    padding:30px 20px 20px;
                    h3 {
                        font-size:min(5vw,1.8rem);
                        padding:.5em;
                    }
                    ul {
                        font-size:1.5rem;
                    }
                }
            }
        }
    }
    
    #services {
        .wrap {
            .contents {
                h2 {
                    &:has( + .menu) {
                        font-size:2.6rem;
                    }
                }
                .menu {
                    max-width:500px;
                    margin:0 auto 60px;
                    grid-template-columns:1fr;
                    grid-row-gap:10px;
                    li {
                        a {
                            padding:15px 20px;
                            grid-template-columns:50px 1fr;
                            align-items:center;
                            grid-column-gap:10%;
                            & > img {
                                width:100%;
                            }
                            h3 {
                                font-size:2.2rem;
                                img {
                                    width:30px;
                                }
                            }
                        }
                    }
                }
                .support {
                    border-radius:8px;
                    padding:10px;
                    grid-row-gap:10px;
                    margin-bottom:60px;
                    & > li {
                        padding:15px;
                        display:grid;
                        grid-template-columns:50px 1fr;
                        justify-items:center;
                        align-items:center;
                        grid-row-gap:20px;
                        dl {
                            display:contents;
                            dt {
                                font-size:2.0rem;
                                margin-bottom:.0;
                                justify-self:start;
                            }
                            dd {
                                grid-area:2/1/3/3;
                                ul {
                                    li {
                                        font-size:1.5rem;
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
    .contact_btns {
        font-size:1.6rem;
    }
    
}