@charset "utf-8";

/**
FOOTER
**/
#footer {
    .footer_contact {
        background-color:var(--color_main);
        padding:50px 0;
        position:relative;
        overflow:clip;
        .fimg {
            display:block;
            position:absolute;
            &.fimg1 {
                right:calc(50vw + 300px);
                top:50px;
                max-width:240px;
            }
            &.fimg2 {
                left:calc(50vw + 300px);
                top:50px;
                max-width:240px;
            }
        }
        .footer_contact_inner {
            width:calc(100% - 60px);
            max-width:1200px;
            margin:0 auto;
            h2 {
                font-size:3.2rem;
                color:#FFFFFF;
                text-align:center;
                line-height:1.5;
                margin-bottom:.5em;
            }
            p {
                color:#FFFFFF;
                font-size:1.8rem;
                font-weight:600;
                text-align:center;
                line-height:1.6;
                margin-bottom:1.2em;
            }
            .btn {
                font-size:1.8rem;
                font-weight:600;
                color:#FFFFFF;
                display:grid;
                grid-template-columns:auto 1.2em;
                align-items:center;
                justify-content:center;
                grid-column-gap:.33em;
                border:2px solid #FFFFFF;
                height:2.6em;
                border-radius:1.5em;
                max-width:18em;
                margin:0 auto 1.5em;
            }
            .contents_inner {
                display:grid;
                grid-template-columns:repeat(2,1fr);
                grid-column-gap:10px;
                max-width:800px;
                margin:0 auto;
                a {
                    background-color:#FFFFFF;
                    padding:30px;
                    display:grid;
                    font-size:2.4rem;
                    font-weight:600;
                    grid-template-columns:1.2em auto;
                    align-items:center;
                    justify-content:center;
                    grid-column-gap:.5em;
                    &.mail {
                        border-radius:1.5em 0 0 1.5em;
                    }
                    &.tel {
                        border-radius:0 1.5em 1.5em 0;
                        grid-column-gap:1em;
                    }
                    dl {
                        font-size:2.0rem;
                        text-align:center;
                        dt {
                            margin-bottom:.33em;
                        }
                        dd {
                            font-size:1.8em;
                            span {
                                display:block;
                                font-size:.36em;
                                padding-top:.66em;
                                margin-left:1em;
                            }
                        }
                    }
                }
            }
        }
    }
    .footer {
        padding:60px 0;
        .footer_inner {
            width:calc(100% - 60px);
            max-width:1200px;
            margin:0 auto;
            border:1px solid var(--color_main);
            border-radius:30px;
            padding:50px 50px 30px;
            .footer_info {
                display:grid;
                grid-template-columns:80px 1fr;
                grid-column-gap:30px;
                margin-bottom:50px;
                .logo {
                    img {
                        display:block;
                        max-width:80px;
                    }
                }
                .menu-fmenu-container {
                    .menu {
                        display:flex;
                        font-size:1.4rem;
                        grid-column-gap:3em;
                        justify-content:flex-end;
                        padding-top:.66em;
                        .sub-menu {
                            padding-top: 1.33em;
                            display:grid;
                            grid-row-gap:1em;
                            li {
                                &::before {
                                    content:'ー';
                                    margin-right:.33em;
                                }
                            }
                        }
                        .menu-item-has-children {
                            margin-right:-5em;
                        }
                    }
                }
            }
            .footer_bottom {
                display:grid;
                grid-template-columns:repeat(2,auto);
                align-items:center;
                justify-content:space-between;
                .menu-fmenu2-container {
                    .menu {
                        display:grid;
                        font-size:1.3rem;
                        grid-template-columns:repeat(2,1fr);
                        li {
                            &:first-child {
                                margin-right:1em;
                                padding-right:1em;
                                border-right:1px solid #cccccc;
                            }
                        }
                    }
                }
                .copyright {
                    font-size:1.2rem;
                    letter-spacing:.05em;
                }
            }
        }
    }
}


.fixbtn {
    display:grid;
    grid-template-columns:repeat(2,1fr);
    font-size:min(4.2vw,1.6rem);
    position:fixed;
    width:100%;
    z-index:10;
    left:0;
    bottom:0;
    box-shadow:0 -2px 6px rgba(0,0,0,.15);
    li {
        a {
            display:grid;
            grid-template-columns:1em auto;
            align-items:center;
            justify-content:center;
            grid-column-gap:.5em;
            height:40px;
            color:#FFFFFF;
            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 (hover:hover) {


    #footer {
        .footer_contact {
            .footer_contact_inner {
                .btn {
                    transition:.3s;
                    img {
                        transition:.3s;
                    }
                    &:hover {
                        opacity:1;
                        background-color:#FFFFFF;
                        color:var(--color_main);
                        img {
                            filter: brightness(0) saturate(100%) invert(53%) sepia(97%) saturate(1961%) hue-rotate(134deg) brightness(95%) contrast(87%);
                        }
                    }
                }
                .contents_inner {
                    a {
                        transition:.3s;
                        &:hover {
                            opacity:1;
                            background-color:#00FFE0;
                        }
                    }
                }
            }
        }
        .footer {
            .footer_inner {
                .footer_info {
                    .menu-fmenu-container {
                        .menu {
                            a {
                                &:hover {
                                    opacity:1;
                                    color:var(--color_main);
                                }
                            }
                        }
                    }
                }
                .footer_bottom {
                    .menu-fmenu2-container {
                        .menu {
                            a {
                                &:hover {
                                    opacity:1;
                                    color:var(--color_main);
                                }
                            }
                        }
                    }
                }
            }
        }
    }
    
}

@media screen and (max-width:1200px) {

}

@media screen and (max-width:1024px) {

    /**
    FOOTER
    **/
    #footer {
        .footer_contact {
            .fimg {
                &.fimg1 {
                    right:calc(50vw + 240px);
                }
                &.fimg2 {
                    left:calc(50vw + 240px);
                }
            }
            .footer_contact_inner {
                width:calc(100% - 50px);
                .contents_inner {
                    a {
                        font-size:2.2rem;
                        dl {
                            font-size:1.8rem;
                            text-align:center;
                            dd {
                                font-size:1.8em;
                            }
                        }
                    }
                }
            }
        }
        .footer {
            .footer_inner {
                width:calc(100% - 50px);
                padding:50px 30px 30px;
                .footer_info {
                    .menu-fmenu-container {
                        .menu {
                            font-size:1.4rem;
                            grid-column-gap:1.6em;
                        }
                    }
                }
            }
        }
    }
    
}

@media screen and (max-width:768px) {

    /**
    FOOTER
    **/
    #footer {
        .footer_contact {
            padding:30px 0;
            .fimg {
                display:none;
            }
            .footer_contact_inner {
                width:calc(100% - 40px);
                h2 {
                    font-size:min(5.8vw,2.4rem);
                }
                p {
                    font-size:min(3.8vw,1.6rem);
                }
                .btn {
                    font-size:min(4.8vw,1.8rem);
                }
                .contents_inner {
                    grid-template-columns:1fr;
                    grid-row-gap:5px;
                    max-width:400px;
                    a {
                        padding:min(6vw,30px);
                        font-size:min(5.4vw,2.4rem);
                        &.mail {
                            border-radius:1em 1em 0 0;
                        }
                        &.tel {
                            border-radius:0 0 1em 1em;
                            grid-column-gap:1em;
                        }
                        dl {
                            font-size:min(4.8vw,2.0rem);
                        }
                    }
                }
            }
        }
        .footer {
            padding:20px 0 60px;
            .footer_inner {
                width:calc(100% - 40px);
                padding:30px;
                .footer_info {
                    grid-template-columns:1fr;
                    grid-row-gap:30px;
                    margin-bottom:30px;
                    .menu-fmenu-container {
                        .menu {
                            flex-wrap:wrap;
                            justify-content:flex-start;
                            padding-top:0;
                            grid-row-gap:2em;
                            font-size:min(3.4vw,1.3rem);
                        }
                    }
                }
                .footer_bottom {
                    grid-template-columns:1fr;
                    grid-row-gap:40px;
                    justify-items:center;
                    .menu-fmenu2-container {
                        .menu {
                            font-size:min(3.4vw,1.3rem);
                            grid-template-columns:repeat(2,auto);
                        }
                    }
                    .copyright {
                        font-size:min(3.0vw,1.1rem);
                        text-align:center;
                    }
                }
            }
        }
    }

}