@charset "utf-8";

/**
FOOTER
**/
#footer {
    .footer_contact {
        max-width:1440px;
        margin:0 auto;
        .footer_contact_inner {
            overflow:hidden;
            border-radius:3em 3em 0 0;
            display:grid;
            grid-template-columns:repeat(2,1fr);
            font-size:3.0rem;
            .item {
                display:grid;
                grid-template-columns:150px 8em 1em;
                align-items:center;
                justify-content:center;
                grid-column-gap:1em;
                padding:80px 30px;;
                .img {
                    aspect-ratio:1;
                    background-color:#FFFFFF;
                    border-radius:1em;
                    img {
                        transform:scale(.66);
                    }
                }
                h2 {
                    color:#FFFFFF;
                    display:grid;
                    grid-row-gap:.33em;
                    margin-bottom:.66em;
                    span {
                        font-size:2.4rem;
                    }
                }
                p {
                    font-size:1.5rem;
                    color:#FFFFFF;
                    line-height:1.5;
                }
                &.recruit {
                    background-color:#F388A6;
                }
                &.contact {
                    background-color:#7ABB3F;
                }
            }
        }
    }
    .footer {
        max-width:1440px;
        margin:0 auto;
        background-color:#FFFFFF;
        padding-bottom:50px;
        .footer_inner {
            width:calc(100% - 60px);
            margin:0 auto;
            max-width:1200px;
            padding:80px 0;
            display:grid;
            grid-template-columns:380px auto;
			justify-content:space-between;
			align-items:start;
            grid-row-gap:30px;
			background:url(../img/common/angel_4.png) no-repeat right bottom/120px auto;
            dl {
                font-size:1.6rem;
                display:grid;
                grid-row-gap:1em;
                dt {
                    width:180px;
                    margin-bottom:1em;
                }
                dd {
                    line-height:1.5;
                    
                }
            }
            .menu-fmenu-container {
                .menu {
                    display:flex;
					flex-wrap:wrap;
                    gap:2em;
                    justify-content:flex-end;
                    font-size:1.7rem;
                    & > li {
                        & > a {
                            font-weight:500;
                            display:grid;
                            grid-template-columns:repeat(2,auto);
                            align-items:center;
                            justify-content:start;
                            grid-column-gap:.33em;
                            &::before {
                                content:'';
                                width:.5em;
                                height:.5em;
                                background-color:#7ABB3F;
                                border-radius:50%;
                            }
                        }
                        .sub-menu {
                            font-size:1.6rem;
                            padding-top:1em;
                            display:grid;
                            grid-row-gap:.66em;
                            li {
                                a {
                                    line-height:1.5;
                                    display:grid;
                                    grid-template-columns:repeat(2,auto);
                                    align-items:start;
                                    justify-content:start;
                                    grid-column-gap:.5em;
                                    &::before {
									content:'';
									width:.33em;
									height:.33em;
									border-right:1px solid #000000;
									border-bottom:1px solid #000000;
									transform:translateY(.66em) rotate(-45deg);
									transition:.3s;
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
        .copyright {
            font-size:1.2rem;
            line-height:1.3;
            text-align:center;
        }
    }
}


@media (hover:hover) {
}

@media screen and (max-width:1200px) {

	#footer {
	    .footer_contact {
	        .footer_contact_inner {
	            .item {
	                grid-template-columns:130px 7em 1em;
	            }
	        }
	    }
	    .footer {
	        .footer_inner {
	            grid-template-columns:360px auto;
	            dl {
	                font-size:1.5rem;
	            }
	            .menu-fmenu-container {
	                .menu {
	                    font-size:1.5rem;
						grid-gap:1.5em;
						li {
							.sub-menu {
								font-size:1.2rem;
							}
						}
	                }
	            }
	        }
	    }
	}
	
}

@media screen and (max-width:1024px) {

	#footer {
	    .footer_contact {
	        .footer_contact_inner {
				font-size:2.4rem;
	            .item {
					padding:60px 20px;
	                grid-template-columns:80px 8.5em 1em;
					grid-column-gap:.66em;
					h2 {
						span {
							font-size:2.0rem;
						}
					}
					.img {
						border-radius:.66em;
					}
					p {
						font-size:1.4rem;
					}
	            }
	        }
	    }
	    .footer {
	        .footer_inner {
	            grid-template-columns:330px auto;
	            dl {
	                font-size:1.4rem;
	            }
	        }
	    }
	}
    
}

@media screen and (max-width:768px) {

	#footer {
	    .footer_contact {
	        .footer_contact_inner {
	            border-radius:0;
	            grid-template-columns:1fr;
	            font-size:2.0rem;
	            .item {
	                grid-template-columns:70px 8em 1em;
	                grid-column-gap:1em;
	                padding:20px;
	                .img {
	                    border-radius:.66em;
	                }
	                h2 {
	                    margin-bottom:.5em;
	                    span {
	                        font-size:1.6rem;
	                    }
	                }
	                p {
	                    line-height:1.3;
	                }
	            }
	        }
	    }
	    .footer {
	        padding-bottom:30px;
	        .footer_inner {
				padding:40px 0;
	            width:calc(100% - 40px);
	            grid-template-columns:1fr;
				grid-row-gap:30px;
	            dl {
					font-size:1.3rem;
	                dt {
	                    width:160px;
	                    margin-bottom:1em;
	                }
	            }
	            .menu-fmenu-container {
	                .menu {
						display:grid;
						justify-content:start;
						grid-row-gap:1em;
	                    & > li {
	                        .sub-menu {
								font-size:1.4rem;
								padding-left:1em;
	                            grid-row-gap:.5em;
	                        }
	                    }
	                }
	            }
	        }
	        .copyright {
	            font-size:1.0rem;
	        }
	    }
	}

}